From c5b5ca1a869747fb47171064dcf6f2122d079e6b Mon Sep 17 00:00:00 2001
From: ECWireless
Date: Mon, 22 Jul 2024 17:21:10 -0600
Subject: [PATCH 1/8] Add draft 2 of monsters
---
packages/contracts/monsters.json | 485 +++++++++++--------------------
1 file changed, 175 insertions(+), 310 deletions(-)
diff --git a/packages/contracts/monsters.json b/packages/contracts/monsters.json
index 5549e1675..31663ea2e 100644
--- a/packages/contracts/monsters.json
+++ b/packages/contracts/monsters.json
@@ -1,453 +1,318 @@
{
"monsters": [
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/1_cave_rat.json",
- "name": "Cave Rat",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/1_giant_rat.json",
+ "name": "Giant Rat",
"stats": {
- "agility": 1,
+ "agility": 8,
"armor": 1,
"class": 0,
- "experience": 300,
+ "experience": 35,
"hitPoints": 10,
- "intelligence": 1,
+ "intelligence": 4,
"inventory": [1],
"level": 1,
- "strength": 1
+ "strength": 10
}
},
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/2_green_slime.json",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/2_green_slime.json",
"name": "Green Slime",
"stats": {
- "agility": 1,
+ "agility": 2,
"armor": 1,
- "class": 1,
- "experience": 300,
- "hitPoints": 10,
- "intelligence": 1,
+ "class": 2,
+ "experience": 30,
+ "hitPoints": 8,
+ "intelligence": 8,
"inventory": [1],
"level": 1,
- "strength": 1
+ "strength": 2
}
},
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/3_kobold_scout.json",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/3_kobold_scout.json",
"name": "Kobold Scout",
"stats": {
- "agility": 1,
+ "agility": 11,
"armor": 1,
- "class": 2,
- "experience": 300,
- "hitPoints": 10,
- "intelligence": 1,
+ "class": 1,
+ "experience": 60,
+ "hitPoints": 6,
+ "intelligence": 6,
"inventory": [1],
- "level": 1,
- "strength": 1
+ "level": 2,
+ "strength": 8
}
},
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/4_gray_ooze.json",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/4_gray_ooze.json",
"name": "Gray Ooze",
"stats": {
- "agility": 1,
- "armor": 2,
+ "agility": 4,
+ "armor": 1,
"class": 2,
- "experience": 300,
- "hitPoints": 4,
- "intelligence": 5,
+ "experience": 55,
+ "hitPoints": 9,
+ "intelligence": 8,
"inventory": [1],
"level": 2,
- "strength": 7
+ "strength": 2
}
},
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/5_cave_goblin.json",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/5_cave_goblin.json",
"name": "Cave Goblin",
"stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 300,
- "hitPoints": 4,
- "intelligence": 5,
- "inventory": [1],
- "level": 2,
- "strength": 7
- }
- },
- {
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/6_orc_grunt.json",
- "name": "Orc Grunt",
- "stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 300,
- "hitPoints": 4,
- "intelligence": 5,
- "inventory": [1],
- "level": 2,
- "strength": 7
- }
- },
- {
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/7_giant_spider.json",
- "name": "Giant Spider",
- "stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 300,
- "hitPoints": 4,
- "intelligence": 5,
- "inventory": [1],
- "level": 3,
- "strength": 7
- }
- },
- {
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/8_cave_bear.json",
- "name": "Cave Bear",
- "stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 300,
- "hitPoints": 4,
- "intelligence": 5,
+ "agility": 6,
+ "armor": 1,
+ "class": 0,
+ "experience": 90,
+ "hitPoints": 12,
+ "intelligence": 6,
"inventory": [1],
"level": 3,
- "strength": 7
+ "strength": 13
}
},
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/9_mountain_org.json",
- "name": "Mountain Orc",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/6_giant_bat.json",
+ "name": "Giant Bat",
"stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
+ "agility": 12,
+ "armor": 1,
+ "class": 1,
+ "experience": 85,
+ "hitPoints": 10,
+ "intelligence": 6,
"inventory": [1],
"level": 3,
- "strength": 7
+ "strength": 8
}
},
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/10_troll.json",
- "name": "Troll",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/7_skeleton.json",
+ "name": "Skeleton",
"stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
- "inventory": [1],
- "level": 4,
- "strength": 7
- }
- },
- {
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/11_cave_harpy.json",
- "name": "Cave Harpy",
- "stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
+ "agility": 8,
+ "armor": 1,
+ "class": 0,
+ "experience": 135,
+ "hitPoints": 14,
+ "intelligence": 7,
"inventory": [1],
"level": 4,
- "strength": 7
+ "strength": 15
}
},
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/12_fledgling_roc.json",
- "name": "Fledgling Roc",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/8_giant_spider.json",
+ "name": "Giant Spider",
"stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
+ "agility": 13,
+ "armor": 1,
+ "class": 1,
+ "experience": 155,
+ "hitPoints": 12,
+ "intelligence": 7,
"inventory": [1],
"level": 4,
- "strength": 7
+ "strength": 12
}
},
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/13_hillside_wyvern.json",
- "name": "Hillside Wyvern",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/9_fire_beetle.json",
+ "name": "Fire Beetle",
"stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
- "inventory": [1],
- "level": 5,
- "strength": 7
- }
- },
- {
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/14_cliff_gargoyle.json",
- "name": "Cliff Gargoyle",
- "stats": {
- "agility": 1,
- "armor": 2,
+ "agility": 10,
+ "armor": 1,
"class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
+ "experience": 205,
+ "hitPoints": 14,
+ "intelligence": 12,
"inventory": [1],
"level": 5,
- "strength": 7
+ "strength": 14
}
},
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/15_juvenile_yeti.json",
- "name": "Juvenile Yeti",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/10_orc_grunt.json",
+ "name": "Orc Grunt",
"stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
+ "agility": 9,
+ "armor": 1,
+ "class": 0,
+ "experience": 215,
+ "hitPoints": 18,
+ "intelligence": 10,
"inventory": [1],
"level": 5,
- "strength": 7
+ "strength": 18
}
},
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/16_orc_warband_leader.json",
- "name": "Orc Warband Leader",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/11_cave_wraith.json",
+ "name": "Cave Wraith",
"stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
- "inventory": [1],
- "level": 6,
- "strength": 7
- }
- },
- {
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/17_mature_roc.json",
- "name": "Mature Roc",
- "stats": {
- "agility": 1,
- "armor": 2,
+ "agility": 15,
+ "armor": 1,
"class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
+ "experience": 310,
+ "hitPoints": 17,
+ "intelligence": 18,
"inventory": [1],
"level": 6,
- "strength": 7
+ "strength": 16
}
},
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/18_mountain_troll.json",
- "name": "Mountain Troll",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/12_giant_centipede.json",
+ "name": "Giant Centipede",
"stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
+ "agility": 16,
+ "armor": 1,
+ "class": 1,
+ "experience": 300,
+ "hitPoints": 15,
+ "intelligence": 13,
"inventory": [1],
"level": 6,
- "strength": 7
- }
- },
- {
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/19_alpha_yeti.json",
- "name": "Alpha Yeti",
- "stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
- "inventory": [1],
- "level": 7,
- "strength": 7
+ "strength": 18
}
},
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/20_wyvern_alpha.json",
- "name": "Wyvern Alpha",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/13_cave_bear.json",
+ "name": "Cave Bear",
"stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
+ "agility": 18,
+ "armor": 1,
+ "class": 0,
+ "experience": 460,
+ "hitPoints": 21,
+ "intelligence": 14,
"inventory": [1],
"level": 7,
- "strength": 7
+ "strength": 22
}
},
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/21_forest_sprite.json",
- "name": "Forest Sprite",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/14_specter.json",
+ "name": "Specter",
"stats": {
- "agility": 1,
- "armor": 2,
+ "agility": 16,
+ "armor": 1,
"class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
+ "experience": 440,
+ "hitPoints": 18,
+ "intelligence": 21,
"inventory": [1],
"level": 7,
- "strength": 7
+ "strength": 16
}
},
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/22_mystic_wolf.json",
- "name": "Mystic Wolf",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/15_giant_worm.json",
+ "name": "Giant Worm",
"stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
- "inventory": [1],
- "level": 8,
- "strength": 7
- }
- },
- {
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/23_enchanted_treant.json",
- "name": "Enchanted Treant",
- "stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
+ "agility": 22,
+ "armor": 1,
+ "class": 1,
+ "experience": 610,
+ "hitPoints": 18,
+ "intelligence": 14,
"inventory": [1],
"level": 8,
- "strength": 7
+ "strength": 20
}
},
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/24_faerie_dragon.json",
- "name": "Faerie Dragon",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/16_troll.json",
+ "name": "Troll",
"stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
+ "agility": 17,
+ "armor": 1,
+ "class": 0,
+ "experience": 625,
+ "hitPoints": 24,
+ "intelligence": 18,
"inventory": [1],
"level": 8,
- "strength": 7
- }
- },
- {
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/25_grove_guardian.json",
- "name": "Grove Guardian",
- "stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
- "inventory": [1],
- "level": 9,
- "strength": 7
+ "strength": 25
}
},
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/26_mystic_stag.json",
- "name": "Mystic Stag",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/17_magma_mephit.json",
+ "name": "Magma Mephit",
"stats": {
- "agility": 1,
- "armor": 2,
+ "agility": 20,
+ "armor": 1,
"class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
+ "experience": 880,
+ "hitPoints": 24,
+ "intelligence": 25,
"inventory": [1],
"level": 9,
- "strength": 7
+ "strength": 22
}
},
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/27_sylvan_witch.json",
- "name": "Sylvan Witch",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/18_spirit_naga.json",
+ "name": "Spirit Naga",
"stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
+ "agility": 25,
+ "armor": 1,
+ "class": 1,
+ "experience": 900,
+ "hitPoints": 22,
+ "intelligence": 22,
"inventory": [1],
"level": 9,
- "strength": 7
+ "strength": 22
}
},
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/28_forest_troll.json",
- "name": "Forest Troll",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/19_werewolf.json",
+ "name": "Werewolf",
"stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
+ "agility": 35,
+ "armor": 1,
+ "class": 1,
+ "experience": 3600,
+ "hitPoints": 28,
+ "intelligence": 25,
"inventory": [1],
"level": 10,
- "strength": 7
+ "strength": 26
}
},
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/29_mystic_serpent.json",
- "name": "Mystic Serpent",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/20_umber_hulk.json",
+ "name": "Umber Hulk",
"stats": {
- "agility": 1,
- "armor": 2,
- "class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
+ "agility": 26,
+ "armor": 1,
+ "class": 0,
+ "experience": 4000,
+ "hitPoints": 34,
+ "intelligence": 27,
"inventory": [1],
"level": 10,
- "strength": 7
+ "strength": 34
}
},
{
- "metadataUri": "ipfs://QmUFN7ZVLAgLk3UwYh7LTjwXabuXNFj8GpGzdpzf47kut9/30_ancient_treant.json",
- "name": "Ancient Treant",
+ "metadataUri": "ipfs://QmRgpt3s57xQqrmS42PDAnt6BvxnoEdsmX1zF3qGpKGysp/21_shadow_dragon.json",
+ "name": "Shadow Dragon",
"stats": {
- "agility": 1,
- "armor": 2,
+ "agility": 32,
+ "armor": 1,
"class": 2,
- "experience": 3,
- "hitPoints": 4,
- "intelligence": 5,
+ "experience": 4000,
+ "hitPoints": 32,
+ "intelligence": 36,
"inventory": [1],
"level": 10,
- "strength": 7
+ "strength": 30
}
}
]
From a78fb6a7e952635ecf47f72b02ecca0590f79204 Mon Sep 17 00:00:00 2001
From: ECWireless
Date: Mon, 22 Jul 2024 19:49:07 -0600
Subject: [PATCH 2/8] Allow characters without waking up on leaderboard
---
packages/client/src/pages/Character.tsx | 2 +-
packages/client/src/pages/Leaderboard.tsx | 10 +++++++---
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/packages/client/src/pages/Character.tsx b/packages/client/src/pages/Character.tsx
index 0d57ec299..46b1c5c13 100644
--- a/packages/client/src/pages/Character.tsx
+++ b/packages/client/src/pages/Character.tsx
@@ -122,7 +122,7 @@ export const CharacterPage = (): JSX.Element => {
);
const goldBalance =
- getComponentValueStrict(GoldBalances, ownerEntity)?.value ?? BigInt(0);
+ getComponentValue(GoldBalances, ownerEntity)?.value ?? BigInt(0);
const metadataURI = getComponentValueStrict(
CharactersTokenURI,
tokenIdEntity,
diff --git a/packages/client/src/pages/Leaderboard.tsx b/packages/client/src/pages/Leaderboard.tsx
index 43d695fcd..418b11cd5 100644
--- a/packages/client/src/pages/Leaderboard.tsx
+++ b/packages/client/src/pages/Leaderboard.tsx
@@ -13,7 +13,12 @@ import {
VStack,
} from '@chakra-ui/react';
import { useEntityQuery } from '@latticexyz/react';
-import { Entity, getComponentValueStrict, Has } from '@latticexyz/recs';
+import {
+ Entity,
+ getComponentValue,
+ getComponentValueStrict,
+ Has,
+} from '@latticexyz/recs';
import { encodeEntity } from '@latticexyz/store-sync/recs';
import FuzzySearch from 'fuzzy-search';
import { useCallback, useEffect, useMemo, useState } from 'react';
@@ -81,8 +86,7 @@ export const Leaderboard = (): JSX.Element => {
);
const goldBalance =
- getComponentValueStrict(GoldBalances, ownerEntity)?.value ??
- BigInt(0);
+ getComponentValue(GoldBalances, ownerEntity)?.value ?? BigInt(0);
const metadataURI = getComponentValueStrict(
CharactersTokenURI,
tokenIdEntity,
From f3b7bcd12589fc1282e220756b5353b08a8c6450 Mon Sep 17 00:00:00 2001
From: ECWireless
Date: Tue, 23 Jul 2024 06:10:48 -0600
Subject: [PATCH 3/8] Tweak how monsters are generated
---
.../out/MapSystem.sol/MapSystem.json | 2 +-
packages/contracts/src/systems/MapSystem.sol | 28 ++++++++++++++++++-
packages/contracts/worlds.json | 8 +++---
3 files changed, 32 insertions(+), 6 deletions(-)
diff --git a/packages/contracts/out/MapSystem.sol/MapSystem.json b/packages/contracts/out/MapSystem.sol/MapSystem.json
index e9b877f51..9070c72ca 100644
--- a/packages/contracts/out/MapSystem.sol/MapSystem.json
+++ b/packages/contracts/out/MapSystem.sol/MapSystem.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50614150806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea26469706673582212200cb76c178be32ea6d894242431dd54468ffa01cd6d42b48f2cbc4171b37eb77464736f6c63430008180033","sourceMap":"412:4148:216:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3486,"length":20},{"start":3673,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea26469706673582212200cb76c178be32ea6d894242431dd54468ffa01cd6d42b48f2cbc4171b37eb77464736f6c63430008180033","sourceMap":"412:4148:216:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:123;;;;;;:::i;:::-;;:::i;:::-;;;516:14:229;;509:22;491:41;;479:2;464:18;2331:198:123;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:229;;;689:74;;677:2;662:18;1262:113:123;543:226:229;1755:239:216;;;;;;:::i;:::-;;:::i;1616:110:123:-;;;-1:-1:-1;;3800:14:123;3796:25;3783:39;1413:25:229;;1401:2;1386:18;1616:110:123;1267:177:229;1580:169:216;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1174:400::-;;;;;;:::i;:::-;;:::i;:::-;;481:687;;;;;;:::i;:::-;;:::i;1942:98:123:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1755:239:216:-;1836:18;1867:8;1877;1889:22;1902:8;1889:12;:22::i;:::-;1866:45;;;;1930:1;1925:6;;:1;:6;;;:16;;;;;1940:1;1935:6;;:1;:6;;;1925:16;1921:67;;;1973:4;1957:20;;1921:67;1856:138;;1755:239;;;;;:::o;1580:169::-;1652:35;1706:36;1737:1;1740;1706:30;:36::i;:::-;1699:43;1580:169;-1:-1:-1;;;1580:169:216:o;1174:400::-;1224:13;1240:29;1260:8;1240:19;:29::i;:::-;1224:45;;1303:5;-1:-1:-1;;;;;1287:21:216;:12;:10;:12::i;:::-;-1:-1:-1;;;;;1287:21:216;;1279:70;;;;-1:-1:-1;;;1279:70:216;;2807:2:229;1279:70:216;;;2789:21:229;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:6;2936:18;;;2929:34;2980:19;;1279:70:216;;;;;;;;;1369:28;1388:8;1369:18;:28::i;:::-;1368:29;1360:67;;;;-1:-1:-1;;;1360:67:216;;3212:2:229;1360:67:216;;;3194:21:229;3251:2;3231:18;;;3224:30;3290:27;3270:18;;;3263:55;3335:18;;1360:67:216;3010:349:229;1360:67:216;1438:28;1451:8;1461:1;1464;1438:12;:28::i;:::-;1476:34;1495:8;1505:4;1476:18;:34::i;:::-;1520:47;1552:1;1555;1558:8;1520:31;:47::i;:::-;1214:360;1174:400;:::o;481:687::-;550:13;566:29;586:8;566:19;:29::i;:::-;550:45;;629:5;-1:-1:-1;;;;;613:21:216;:12;:10;:12::i;:::-;-1:-1:-1;;;;;613:21:216;;605:69;;;;-1:-1:-1;;;605:69:216;;3566:2:229;605:69:216;;;3548:21:229;3605:2;3585:18;;;3578:30;3644:34;3624:18;;;3617:62;3715:5;3695:18;;;3688:33;3738:19;;605:69:216;3364:399:229;605:69:216;693:28;712:8;693:18;:28::i;:::-;685:62;;;;-1:-1:-1;;;685:62:216;;3970:2:229;685:62:216;;;3952:21:229;4009:2;3989:18;;;3982:30;4048:23;4028:18;;;4021:51;4089:18;;685:62:216;3768:345:229;685:62:216;759:15;776;795:22;808:8;795:12;:22::i;:::-;758:59;;;;828:13;843:12;859:15;:13;:15::i;:::-;827:47;;;;897:5;893:9;;:1;:9;;;885:37;;;;-1:-1:-1;;;885:37:216;;4320:2:229;885:37:216;;;4302:21:229;4359:2;4339:18;;;4332:30;4398:17;4378:18;;;4371:45;4433:18;;885:37:216;4118:339:229;885:37:216;944:6;940:10;;:1;:10;;;932:38;;;;-1:-1:-1;;;932:38:216;;4664:2:229;932:38:216;;;4646:21:229;4703:2;4683:18;;;4676:30;4742:17;4722:18;;;4715:45;4777:18;;932:38:216;4462:339:229;932:38:216;988:43;1006:8;1016;1026:1;1029;988:17;:43::i;:::-;:48;;1035:1;988:48;980:91;;;;-1:-1:-1;;;980:91:216;;5008:2:229;980:91:216;;;4990:21:229;5047:2;5027:18;;;5020:30;5086:32;5066:18;;;5059:60;5136:18;;980:91:216;4806:354:229;980:91:216;1081:47;1093:8;1103;1113;1123:1;1126;1081:11;:47::i;:::-;1138:23;1156:1;1159;1138:17;:23::i;:::-;540:628;;;;;481:687;;;:::o;1942:98:123:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;4891:393:190:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:190;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;2642:387:181:-;2768:16;;;2782:1;2768:16;;;2706:25;2768:16;;;;;2706:25;2739:26;;2768:16;2782:1;2768:16;;;;;;;;;;-1:-1:-1;2768:16:181;2739:45;;2821:1;2813:10;;2805:19;;2790:9;2800:1;2790:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;2861:1;2853:10;;2845:19;;2830:9;2840:1;2830:12;;;;;;;;:::i;:::-;;;;;;;;;;:34;2871:18;2892:51;1083:66;2930:9;2871:18;2892:27;:51::i;:::-;2871:72;;2957:66;:44;2978:5;2985:1;2988:5;:12;2957:20;:44::i;:::-;:64;:66::i;:::-;2949:75;2642:387;-1:-1:-1;;;;;2642:387:181:o;4071:290:178:-;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:178;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:178:o;2592:291:192:-;2702:16;;;2716:1;2702:16;;;;;;;;;2653:12;;;;2702:16;;;;;;;;;;;;-1:-1:-1;2702:16:192;2673:45;;2739:8;2724:9;2734:1;2724:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2754:13;2770:64;1063:66;2807:9;2754:13;1192:66;2770:26;:64::i;:::-;2754:80;;2848:29;2869:5;2856:20;;7000:5;6914:97;2848:29;2840:38;2592:291;-1:-1:-1;;;;2592:291:192:o;5796:354:190:-;7947:22;;;16149:3:229;16145:16;;;16054:66;16141:25;;;7947:22:190;;;;16129:38:229;;;;16200:16;;;;16196:25;16183:11;;;16176:46;7947:22:190;;;;;;;;;6023:1;16238:11:229;;;6009:16:190;;;;;;;;;7947:22;;-1:-1:-1;;5948:25:190;;-1:-1:-1;;6023:1:190;6009:16;;;7947:22;6009:16;;;;;-1:-1:-1;6009:16:190;5980:45;;6046:6;6031:9;6041:1;6031:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6059:86;1065:66;6091:9;6102:11;6115:15;6132:12;6059:21;:86::i;:::-;5854:296;;;;5796:354;;;:::o;3908:246:192:-;4004:16;;;4018:1;4004:16;;;;;;;;;3975:26;;4004:16;;;;;;;;;;;-1:-1:-1;4004:16:192;3975:45;;4041:8;4026:9;4036:1;4026:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4056:93;1063:66;1047:83;;4093:9;4104:1;4125:7;4107:27;;;;;;5694:14:229;5687:22;5682:3;5678:32;5666:45;;5736:1;5727:11;;5543:201;4107:27:192;;;;-1:-1:-1;;4107:27:192;;;;;;;;;1192:66;4056:26;:93::i;:::-;3969:185;3908:246;;:::o;9497:296:181:-;9601:16;;;9615:1;9601:16;;;;;;;;9572:26;;9601:16;;;;;;;;;;-1:-1:-1;9601:16:181;9572:45;;9654:1;9646:10;;9638:19;;9623:9;9633:1;9623:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9694:1;9686:10;;9678:19;;9663:9;9673:1;9663:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9704:84;1083:66;1067:83;;9745:9;9756:1;9777:8;9759:28;;;;;;5878:19:229;;5922:2;5913:12;;5749:182;9759:28:181;;;;;;;;;;;;;9704:30;:84::i;:::-;9566:227;9497:296;;;:::o;4657:361:184:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;4782:168;;;;;;4963:50;4970:11;4983:15;5000:12;4963:6;:50::i;:::-;4956:57;;;;;;;;4657:361;;:::o;2939:279:216:-;3041:6;3059:13;3083:3;3075:11;;:5;:11;;;:39;;3103:11;3109:5;3103:3;:11;:::i;:::-;3075:39;;;3089:11;3097:3;3089:5;:11;:::i;:::-;3059:55;;3124:13;3148:3;3140:11;;:5;:11;;;:39;;3168:11;3174:5;3168:3;:11;:::i;:::-;3140:39;;;3154:11;3162:3;3154:5;:11;:::i;:::-;3124:55;-1:-1:-1;3196:15:216;3124:55;3196:6;:15;:::i;:::-;3189:22;2939:279;-1:-1:-1;;;;;;;2939:279:216:o;3721:837::-;3833:25;3861:41;3883:8;3893;3861:21;:41::i;:::-;3833:69;;3912:24;3951:9;3946:438;3966:8;:15;3962:1;:19;3946:438;;;4017:8;4002;4011:1;4002:11;;;;;;;;:::i;:::-;;;;;;;:23;3998:327;;4067:4;4045:26;;4089:15;4107:8;4134:1;4116:8;:15;:19;;;;:::i;:::-;4107:29;;;;;;;;:::i;:::-;;;;;;;4089:47;;4154:65;4188:8;4198;4208:1;4211:7;4154:33;:65::i;:::-;4237:50;4268:8;4278;4237:30;:50::i;:::-;4305:5;;;3998:327;4356:3;;;;:::i;:::-;;;;3946:438;;;;4401:19;4393:63;;;;-1:-1:-1;;;4393:63:216;;7009:2:229;4393:63:216;;;6991:21:229;7048:2;7028:18;;;7021:30;7087:33;7067:18;;;7060:61;7138:18;;4393:63:216;6807:355:229;4393:63:216;4466:28;4479:8;4489:1;4492;4466:12;:28::i;:::-;4504:47;4536:1;4539;4542:8;4504:31;:47::i;2000:933::-;2066:24;2101:30;2120:1;2123;2126;2101:30;;2129:1;2101:30;;:18;:30::i;:::-;2093:39;;2066:66;;2146:16;2166:1;2146:21;2142:58;;2183:7;2000:933;;:::o;2142:58::-;2210:34;2247:39;2269:16;2247:21;:39::i;:::-;2210:76;;2331:1;2304:17;:24;:28;2296:80;;;;-1:-1:-1;;;2296:80:216;;7369:2:229;2296:80:216;;;7351:21:229;7408:2;7388:18;;;7381:30;7447:34;7427:18;;;7420:62;7518:9;7498:18;;;7491:37;7545:19;;2296:80:216;7167:403:229;2296:80:216;2387:19;2471:13;2488:5;2471:22;2467:176;;2515:9;:20;2536;2555:1;2536:15;:20;:::i;:::-;2515:42;;;;;;;;;;;;;1413:25:229;;1401:2;1386:18;;1267:177;2515:42:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2515:42:216;;;;;;;;;;;;:::i;:::-;2509:48;;2467:176;;;2594:38;;;;;2615:16;2594:38;;;1413:25:229;2594:9:216;;:20;;1386:18:229;;2594:38:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2594:38:216;;;;;;;;;;;;:::i;:::-;2588:44;;2467:176;2658:9;2653:274;2696:1;2674:3;2691:1;2678:3;:10;:14;;;;:::i;:::-;2674:19;;;;;;;;:::i;:::-;;;;;;;:23;;;;:::i;:::-;2669:29;;:1;:29;2653:274;;;2719:197;2816:17;2851;:24;2842:3;2846:1;2842:6;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;:::i;:::-;2816:61;;;;;;;;:::i;:::-;;;;;;;2879:1;2882;2754:148;;;;;;;;;11408:25:229;;;11452:6;11494:15;;;11489:2;11474:18;;11467:43;11546:15;11541:2;11526:18;;11519:43;11396:2;11381:18;;11210:358;2754:148:216;;;;-1:-1:-1;;2754:148:216;;;;;;;;;;;;;;;;;;;;2719:17;:197::i;:::-;-1:-1:-1;2700:3:216;;2653:274;;;;2056:877;;;2000:933;;:::o;4048:97:123:-;4089:7;4111:29;:27;:29::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;7036:160:190:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7131:8:190;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:190;-1:-1:-1;;;;7036:160:190:o;18598:431:46:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:46;-1:-1:-1;;;;;18805:30:46;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:46;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:46;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;45284:220:56:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;17775:457:46:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:46;-1:-1:-1;;;;;12556:30:46;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:46;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12552:240;12499:297;12345:451;;;;:::o;12135:423:181:-;12257:16;;;12271:1;12257:16;;;;;;;;12228:26;;12257:16;;;;;;;;;;-1:-1:-1;12257:16:181;12228:45;;12310:1;12302:10;;12294:19;;12279:9;12289:1;12279:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12350:1;12342:10;;12334:19;;12319:9;12329:1;12319:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12378:21;12420:8;12402:28;;;;;;5878:19:229;;5922:2;5913:12;;5749:182;12402:28:181;;;;;;;;;;;;;12378:52;;12438:109;1083:66;1067:83;;12478:9;12489:1;12499:6;12508:2;12499:11;12520:8;:15;12538:8;12438:29;:109::i;10896:252::-;10981:16;;;10995:1;10981:16;;;;;;;;10952:26;;10981:16;;;;;;;;;;-1:-1:-1;10981:16:181;10952:45;;11034:1;11026:10;;11018:19;;11003:9;11013:1;11003:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11074:1;11066:10;;11058:19;;11043:9;11053:1;11043:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11084:59;1083:66;1067:83;;11126:9;11137:1;11140:2;11084:31;:59::i;3301:179:216:-;3400:6;3432:40;3437:16;3446:2;3450;3437:8;:16::i;:::-;3455;3464:2;3468;3455:8;:16::i;:::-;3432:4;:40::i;2600:342:187:-;2717:16;;;2731:1;2717:16;;;;;;;;;2657:23;;2688:26;;2717:16;;;;;;;;;;;;-1:-1:-1;2717:16:187;2688:45;;2770:5;2754:23;;2739:9;2749:1;2739:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2784:18;2805:51;1071:66;2843:9;2784:18;2805:27;:51::i;:::-;2784:72;;2870:66;:44;2891:5;2898:1;2901:5;:12;2870:20;:44::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;18938:98:229;18911:18;;3713:52:107;18794:248:229;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;1836:227:46:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2681:1129:58:-;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;36171:541:45:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:45;29171:49;29023:106;29202:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:45;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;8207:601:46:-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:46;-1:-1:-1;;;;;8464:30:46;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;:::-;8460:344;;;8627:170;;;;;-1:-1:-1;;;;;8627:39:46;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:46;-1:-1:-1;;;;;13402:30:46;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;13398:252::-;13547:96;;;;;-1:-1:-1;;;;;13547:41:46;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;3486:117:216:-;3549:7;3579:1;3575;:5;:21;;3591:5;3595:1;3591;:5;:::i;:::-;3575:21;;;3583:5;3587:1;3583;:5;:::i;3609:106::-;3668:7;3699:1;3694;:6;;:14;;3707:1;3694:14;;;-1:-1:-1;3703:1:216;;3609:106;-1:-1:-1;3609:106:216:o;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;50806:191:45:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;8945:812:44;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:45:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;44254:4001;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;5878:19:229;;5922:2;5913:12;;5749:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;25497:12:229;25536:15;;;45340:92:45;;;25518:34:229;25588:15;;;25568:18;;;25561:43;25640:15;;25620:18;;;25613:43;25460:18;;45340:92:45;25291:371:229;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;25840:25:229;;;25913:12;25901:25;;25881:18;;;25874:53;25813:18;;45581:74:45;25667:266:229;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:45;30643:49;30495:106;30674:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:45;30607:86;-1:-1:-1;30731:333:45;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;53371:230:45;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;51249:282::-;51494:30;;;;;;28153:19:229;;;28188:12;;;28181:28;;;51337:7:45;;28225:12:229;;51494:30:45;27964:279:229;3658:342:50;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;1413:25:229;;;1386:18;;7664:67:24;1267:177:229;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7963:242:133:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;5878:19:229;;5922:2;5913:12;;5749:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;1286:66;5230:24;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40103:220:56;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;30154:66:229;30142:79;;2092:30:124;;;30130:92:229;2092:30:124;;30238:12:229;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;7448:223:139:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6914:97:192;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;7000:5:192;6914:97;14:332:229;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:159;841:20;;901:6;890:18;;880:29;;870:57;;923:1;920;913:12;938:324;1013:6;1021;1029;1082:2;1070:9;1061:7;1057:23;1053:32;1050:52;;;1098:1;1095;1088:12;1050:52;1134:9;1121:23;1111:33;;1163:37;1196:2;1185:9;1181:18;1163:37;:::i;:::-;1153:47;;1219:37;1252:2;1241:9;1237:18;1219:37;:::i;:::-;1209:47;;938:324;;;;;:::o;1449:256::-;1515:6;1523;1576:2;1564:9;1555:7;1551:23;1547:32;1544:52;;;1592:1;1589;1582:12;1544:52;1615:28;1633:9;1615:28;:::i;:::-;1605:38;;1662:37;1695:2;1684:9;1680:18;1662:37;:::i;:::-;1652:47;;1449:256;;;;;:::o;1710:439::-;1763:3;1801:5;1795:12;1828:6;1823:3;1816:19;1854:4;1883;1878:3;1874:14;1867:21;;1922:4;1915:5;1911:16;1945:1;1955:169;1969:6;1966:1;1963:13;1955:169;;;2030:13;;2018:26;;2064:12;;;;2099:15;;;;1991:1;1984:9;1955:169;;;-1:-1:-1;2140:3:229;;1710:439;-1:-1:-1;;;;;1710:439:229:o;2154:261::-;2333:2;2322:9;2315:21;2296:4;2353:56;2405:2;2394:9;2390:18;2382:6;2353:56;:::i;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:229;;2420:180;-1:-1:-1;2420:180:229:o;5165:184::-;-1:-1:-1;;;5214:1:229;5207:88;5314:4;5311:1;5304:15;5338:4;5335:1;5328:15;5354:184;-1:-1:-1;;;5403:1:229;5396:88;5503:4;5500:1;5493:15;5527:4;5524:1;5517:15;5936:184;-1:-1:-1;;;5985:1:229;5978:88;6085:4;6082:1;6075:15;6109:4;6106:1;6099:15;6125:171;6193:6;6232:10;;;6220;;;6216:27;;6255:12;;;6252:38;;;6270:18;;:::i;:::-;6252:38;6125:171;;;;:::o;6301:168::-;6368:6;6394:10;;;6406;;;6390:27;;6429:11;;;6426:37;;;6443:18;;:::i;6474:128::-;6541:9;;;6562:11;;;6559:37;;;6576:18;;:::i;6607:195::-;6646:3;-1:-1:-1;;6670:5:229;6667:77;6664:103;;6747:18;;:::i;:::-;-1:-1:-1;6794:1:229;6783:13;;6607:195::o;7575:476::-;7664:1;7701:5;7664:1;7715:330;7736:7;7726:8;7723:21;7715:330;;;7855:4;-1:-1:-1;;7783:77:229;7777:4;7774:87;7771:113;;;7864:18;;:::i;:::-;7914:7;7904:8;7900:22;7897:55;;;7934:16;;;;7897:55;8013:22;;;;7973:15;;;;7715:330;;;7719:3;7575:476;;;;;:::o;8056:866::-;8105:5;8135:8;8125:80;;-1:-1:-1;8176:1:229;8190:5;;8125:80;8224:4;8214:76;;-1:-1:-1;8261:1:229;8275:5;;8214:76;8306:4;8324:1;8319:59;;;;8392:1;8387:130;;;;8299:218;;8319:59;8349:1;8340:10;;8363:5;;;8387:130;8424:3;8414:8;8411:17;8408:43;;;8431:18;;:::i;:::-;-1:-1:-1;;8487:1:229;8473:16;;8502:5;;8299:218;;8601:2;8591:8;8588:16;8582:3;8576:4;8573:13;8569:36;8563:2;8553:8;8550:16;8545:2;8539:4;8536:12;8532:35;8529:77;8526:159;;;-1:-1:-1;8638:19:229;;;8670:5;;8526:159;8717:34;8742:8;8736:4;8717:34;:::i;:::-;8847:6;-1:-1:-1;;8775:79:229;8766:7;8763:92;8760:118;;;8858:18;;:::i;:::-;8896:20;;8056:866;-1:-1:-1;;;8056:866:229:o;8927:140::-;8985:5;9014:47;9055:4;9045:8;9041:19;9035:4;9014:47;:::i;9262:334::-;9333:2;9327:9;9389:2;9379:13;;-1:-1:-1;;9375:86:229;9363:99;;9492:18;9477:34;;9513:22;;;9474:62;9471:88;;;9539:18;;:::i;:::-;9575:2;9568:22;9262:334;;-1:-1:-1;9262:334:229:o;9601:1110::-;9695:6;9726:2;9769;9757:9;9748:7;9744:23;9740:32;9737:52;;;9785:1;9782;9775:12;9737:52;9818:9;9812:16;9847:18;9888:2;9880:6;9877:14;9874:34;;;9904:1;9901;9894:12;9874:34;9942:6;9931:9;9927:22;9917:32;;9987:7;9980:4;9976:2;9972:13;9968:27;9958:55;;10009:1;10006;9999:12;9958:55;10038:2;10032:9;10060:2;10056;10053:10;10050:36;;;10066:18;;:::i;:::-;10112:2;10109:1;10105:10;10095:20;;10135:28;10159:2;10155;10151:11;10135:28;:::i;:::-;10197:15;;;10267:11;;;10263:20;;;10228:12;;;;10295:19;;;10292:39;;;10327:1;10324;10317:12;10292:39;10351:11;;;;10371:310;10387:6;10382:3;10379:15;10371:310;;;10460:3;10454:10;10441:23;;10508:10;10501:5;10497:22;10490:5;10487:33;10477:131;;10562:1;10591:2;10587;10580:14;10477:131;10621:18;;;10404:12;;;;10659;;;;10371:310;;;10700:5;9601:1110;-1:-1:-1;;;;;;;;9601:1110:229:o;10716:184::-;-1:-1:-1;;;10765:1:229;10758:88;10865:4;10862:1;10855:15;10889:4;10886:1;10879:15;10905:183;10936:1;10962:10;10999:2;10996:1;10992:10;11021:3;11011:37;;11028:18;;:::i;:::-;11066:10;;11062:20;;;;;10905:183;-1:-1:-1;;10905:183:229:o;11093:112::-;11125:1;11151;11141:35;;11156:18;;:::i;:::-;-1:-1:-1;11190:9:229;;11093:112::o;11573:468::-;11873:6;11862:9;11855:25;11916:2;11911;11900:9;11896:18;11889:30;11836:4;11936:56;11988:2;11977:9;11973:18;11965:6;11936:56;:::i;:::-;11928:64;;12028:6;12023:2;12012:9;12008:18;12001:34;11573:468;;;;;;:::o;12046:250::-;12131:1;12141:113;12155:6;12152:1;12149:13;12141:113;;;12231:11;;;12225:18;12212:11;;;12205:39;12177:2;12170:10;12141:113;;;-1:-1:-1;;12288:1:229;12270:16;;12263:27;12046:250::o;12301:568::-;12354:5;12407:3;12400:4;12392:6;12388:17;12384:27;12374:55;;12425:1;12422;12415:12;12374:55;12454:6;12448:13;12480:18;12476:2;12473:26;12470:52;;;12502:18;;:::i;:::-;12546:114;12654:4;-1:-1:-1;;12578:4:229;12574:2;12570:13;12566:86;12562:97;12546:114;:::i;:::-;12685:2;12676:7;12669:19;12731:3;12724:4;12719:2;12711:6;12707:15;12703:26;12700:35;12697:55;;;12748:1;12745;12738:12;12697:55;12761:77;12835:2;12828:4;12819:7;12815:18;12808:4;12800:6;12796:17;12761:77;:::i;12874:655::-;13016:6;13024;13032;13085:2;13073:9;13064:7;13060:23;13056:32;13053:52;;;13101:1;13098;13091:12;13053:52;13134:9;13128:16;13163:18;13204:2;13196:6;13193:14;13190:34;;;13220:1;13217;13210:12;13190:34;13243:60;13295:7;13286:6;13275:9;13271:22;13243:60;:::i;:::-;13233:70;;13343:2;13332:9;13328:18;13322:25;13312:35;;13393:2;13382:9;13378:18;13372:25;13356:41;;13422:2;13412:8;13409:16;13406:36;;;13438:1;13435;13428:12;13406:36;;13461:62;13515:7;13504:8;13493:9;13489:24;13461:62;:::i;:::-;13451:72;;;12874:655;;;;;:::o;13534:442::-;13797:6;13786:9;13779:25;13840:2;13835;13824:9;13820:18;13813:30;13760:4;13860:56;13912:2;13901:9;13897:18;13889:6;13860:56;:::i;:::-;13852:64;;13964:4;13956:6;13952:17;13947:2;13936:9;13932:18;13925:45;13534:442;;;;;;:::o;13981:335::-;14060:6;14113:2;14101:9;14092:7;14088:23;14084:32;14081:52;;;14129:1;14126;14119:12;14081:52;14162:9;14156:16;14195:18;14187:6;14184:30;14181:50;;;14227:1;14224;14217:12;14181:50;14250:60;14302:7;14293:6;14282:9;14278:22;14250:60;:::i;14321:329::-;14362:3;14400:5;14394:12;14427:6;14422:3;14415:19;14443:76;14512:6;14505:4;14500:3;14496:14;14489:4;14482:5;14478:16;14443:76;:::i;:::-;14564:2;14552:15;-1:-1:-1;;14548:88:229;14539:98;;;;14639:4;14535:109;;14321:329;-1:-1:-1;;14321:329:229:o;14655:359::-;14858:2;14847:9;14840:21;14821:4;14878:44;14918:2;14907:9;14903:18;14895:6;14878:44;:::i;:::-;14953:2;14938:18;;14931:34;;;;-1:-1:-1;14996:2:229;14981:18;14974:34;14870:52;14655:359;-1:-1:-1;14655:359:229:o;15019:125::-;15084:9;;;15105:10;;;15102:36;;;15118:18;;:::i;15149:548::-;15473:6;15462:9;15455:25;15516:3;15511:2;15500:9;15496:18;15489:31;15436:4;15537:57;15589:3;15578:9;15574:19;15566:6;15537:57;:::i;:::-;15642:4;15630:17;;;;15625:2;15610:18;;15603:45;-1:-1:-1;15679:2:229;15664:18;15657:34;15529:65;15149:548;-1:-1:-1;;15149:548:229:o;15702:184::-;15772:6;15825:2;15813:9;15804:7;15800:23;15796:32;15793:52;;;15841:1;15838;15831:12;15793:52;-1:-1:-1;15864:16:229;;15702:184;-1:-1:-1;15702:184:229:o;16260:794::-;16655:6;16644:9;16637:25;16698:3;16693:2;16682:9;16678:18;16671:31;16618:4;16725:57;16777:3;16766:9;16762:19;16754:6;16725:57;:::i;:::-;16830:9;16822:6;16818:22;16813:2;16802:9;16798:18;16791:50;16864:32;16889:6;16881;16864:32;:::i;:::-;16850:46;;16932:6;16927:2;16916:9;16912:18;16905:34;16988:9;16980:6;16976:22;16970:3;16959:9;16955:19;16948:51;17016:32;17041:6;17033;17016:32;:::i;17059:709::-;17429:6;17418:9;17411:25;17472:3;17467:2;17456:9;17452:18;17445:31;17392:4;17499:57;17551:3;17540:9;17536:19;17528:6;17499:57;:::i;:::-;17604:4;17596:6;17592:17;17587:2;17576:9;17572:18;17565:45;17658:9;17650:6;17646:22;17641:2;17630:9;17626:18;17619:50;17686:32;17711:6;17703;17686:32;:::i;:::-;17678:40;;;17755:6;17749:3;17738:9;17734:19;17727:35;17059:709;;;;;;;;:::o;17773:604::-;18082:6;18071:9;18064:25;18125:3;18120:2;18109:9;18105:18;18098:31;18045:4;18152:57;18204:3;18193:9;18189:19;18181:6;18152:57;:::i;:::-;18257:4;18249:6;18245:17;18240:2;18229:9;18225:18;18218:45;18311:9;18303:6;18299:22;18294:2;18283:9;18279:18;18272:50;18339:32;18364:6;18356;18339:32;:::i;18382:407::-;18465:5;18505;18499:12;18547:4;18540:5;18536:16;18530:23;18572:66;18664:2;18660;18656:11;18647:20;;18690:1;18682:6;18679:13;18676:107;;;18770:2;18764;18754:6;18751:1;18747:14;18744:1;18740:22;18736:31;18732:2;18728:40;18724:49;18715:58;;18676:107;;;;18382:407;;;:::o;19047:175::-;19084:3;19128:4;19121:5;19117:16;19157:4;19148:7;19145:17;19142:43;;19165:18;;:::i;:::-;19214:1;19201:15;;19047:175;-1:-1:-1;;19047:175:229:o;19227:793::-;19588:6;19577:9;19570:25;19631:3;19626:2;19615:9;19611:18;19604:31;19551:4;19658:57;19710:3;19699:9;19695:19;19687:6;19658:57;:::i;:::-;19763:4;19751:17;;19746:2;19731:18;;19724:45;19788:12;19836:15;;;19831:2;19816:18;;19809:43;19889:15;;19883:3;19868:19;;19861:44;19942:22;;;19936:3;19921:19;;19914:51;19982:32;19946:6;19999;19982:32;:::i;:::-;19974:40;19227:793;-1:-1:-1;;;;;;;;;19227:793:229:o;20545:320::-;20752:6;20741:9;20734:25;20795:2;20790;20779:9;20775:18;20768:30;20715:4;20815:44;20855:2;20844:9;20840:18;20832:6;20815:44;:::i;20870:168::-;20943:9;;;20974;;20991:15;;;20985:22;;20971:37;20961:71;;21012:18;;:::i;21043:640::-;21294:6;21289:3;21282:19;21264:3;21320:2;21353;21348:3;21344:12;21385:6;21379:13;21450:2;21442:6;21438:15;21471:1;21481:175;21495:6;21492:1;21489:13;21481:175;;;21558:13;;21544:28;;21594:14;;;;21631:15;;;;21517:1;21510:9;21481:175;;;-1:-1:-1;21672:5:229;;21043:640;-1:-1:-1;;;;;;;21043:640:229:o;21688:690::-;22023:3;22012:9;22005:22;21986:4;22050:57;22102:3;22091:9;22087:19;22079:6;22050:57;:::i;:::-;22155:9;22147:6;22143:22;22138:2;22127:9;22123:18;22116:50;22189:32;22214:6;22206;22189:32;:::i;:::-;22175:46;;22257:6;22252:2;22241:9;22237:18;22230:34;22312:9;22304:6;22300:22;22295:2;22284:9;22280:18;22273:50;22340:32;22365:6;22357;22340:32;:::i;22383:899::-;22839:6;22828:9;22821:25;22882:3;22877:2;22866:9;22862:18;22855:31;22802:4;22909:57;22961:3;22950:9;22946:19;22938:6;22909:57;:::i;:::-;23014:9;23006:6;23002:22;22997:2;22986:9;22982:18;22975:50;23048:32;23073:6;23065;23048:32;:::i;:::-;23034:46;;23116:6;23111:2;23100:9;23096:18;23089:34;23172:9;23164:6;23160:22;23154:3;23143:9;23139:19;23132:51;23200:32;23225:6;23217;23200:32;:::i;:::-;23192:40;;;23269:6;23263:3;23252:9;23248:19;23241:35;22383:899;;;;;;;;;:::o;23287:511::-;23538:2;23527:9;23520:21;23501:4;23564:56;23616:2;23605:9;23601:18;23593:6;23564:56;:::i;:::-;23668:14;23660:6;23656:27;23651:2;23640:9;23636:18;23629:55;23732:9;23724:6;23720:22;23715:2;23704:9;23700:18;23693:50;23760:32;23785:6;23777;23760:32;:::i;:::-;23752:40;23287:511;-1:-1:-1;;;;;;23287:511:229:o;23803:616::-;24114:6;24103:9;24096:25;24157:3;24152:2;24141:9;24137:18;24130:31;24077:4;24184:57;24236:3;24225:9;24221:19;24213:6;24184:57;:::i;:::-;24289:14;24281:6;24277:27;24272:2;24261:9;24257:18;24250:55;24353:9;24345:6;24341:22;24336:2;24325:9;24321:18;24314:50;24381:32;24406:6;24398;24381:32;:::i;24643:464::-;24890:66;24882:6;24878:79;24867:9;24860:98;24994:6;24989:2;24978:9;24974:18;24967:34;25037:2;25032;25021:9;25017:18;25010:30;24841:4;25057:44;25097:2;25086:9;25082:18;25074:6;25057:44;:::i;25112:174::-;25179:12;25211:10;;;25223;;;25207:27;;25246:11;;;25243:37;;;25260:18;;:::i;25938:901::-;26363:6;26352:9;26345:25;26406:3;26401:2;26390:9;26386:18;26379:31;26326:4;26433:57;26485:3;26474:9;26470:19;26462:6;26433:57;:::i;:::-;26538:4;26526:17;;26521:2;26506:18;;26499:45;26563:12;26611:15;;;26606:2;26591:18;;26584:43;26664:15;;26658:3;26643:19;;26636:44;26711:3;26696:19;;26689:35;;;26761:22;;;26755:3;26740:19;;26733:51;26801:32;26765:6;26818;26801:32;:::i;:::-;26793:40;25938:901;-1:-1:-1;;;;;;;;;;25938:901:229:o;26844:788::-;27209:3;27198:9;27191:22;27172:4;27236:57;27288:3;27277:9;27273:19;27265:6;27236:57;:::i;:::-;27341:4;27333:6;27329:17;27324:2;27313:9;27309:18;27302:45;27395:14;27387:6;27383:27;27378:2;27367:9;27363:18;27356:55;27459:12;27451:6;27447:25;27442:2;27431:9;27427:18;27420:53;27510:6;27504:3;27493:9;27489:19;27482:35;27566:9;27558:6;27554:22;27548:3;27537:9;27533:19;27526:51;27594:32;27619:6;27611;27594:32;:::i;28248:925::-;28697:66;28689:6;28685:79;28680:3;28673:92;28655:3;28784;28816:2;28812:1;28807:3;28803:11;28796:23;28848:6;28842:13;28864:74;28931:6;28927:1;28922:3;28918:11;28911:4;28903:6;28899:17;28864:74;:::i;:::-;28966:6;28961:3;28957:16;28947:26;;29001:2;28997:1;28993:2;28989:10;28982:22;29035:6;29029:13;29013:29;;29051:75;29117:8;29113:1;29109:2;29105:10;29098:4;29090:6;29086:17;29051:75;:::i;:::-;29146:17;29165:1;29142:25;;28248:925;-1:-1:-1;;;;;28248:925:229:o;29178:339::-;29355:2;29344:9;29337:21;29318:4;29375:44;29415:2;29404:9;29400:18;29392:6;29375:44;:::i;:::-;29367:52;;-1:-1:-1;;;;;29459:6:229;29455:55;29450:2;29439:9;29435:18;29428:83;29178:339;;;;;:::o;29709:287::-;29838:3;29876:6;29870:13;29892:66;29951:6;29946:3;29939:4;29931:6;29927:17;29892:66;:::i;:::-;29974:16;;;;;29709:287;-1:-1:-1;;29709:287:229:o;30261:530::-;30446:3;30484:6;30478:13;30500:66;30559:6;30554:3;30547:4;30539:6;30535:17;30500:66;:::i;:::-;30635:2;30631:15;;;;30648:66;30627:88;30588:16;;;;30613:103;;;30743:2;30732:14;;30725:30;;;;30782:2;30771:14;;30261:530;-1:-1:-1;;30261:530:229:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3454,"length":20},{"start":3641,"length":20}]}}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getEntitiesAtPosition(uint16,uint16)":"69e10c7b","isAtPosition(bytes32,uint16,uint16)":"3fbf0c5a","move(bytes32,uint16,uint16)":"953717d1","spawn(bytes32)":"911c37ae","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0x4dbbe2a11e729ce5ed6569600e0e7237f5fa5e2476f6c049581e2b18830c93b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d056287fefd267378a9a3f20ed25e28db2fa34604729f047e22c2ab016ac2c6a\",\"dweb:/ipfs/QmSunLJDjxsUMJaudJefjgeHHurT4KKsgrhNBSsEaU5jgm\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x8b522a844626b33d69ae186dd26f2f7bfd921bf92ed7ed0cee2b8c349d9b64f9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://647f99949a4584cf4b528415ffea01ad243147548455fe5a8373b042b6af3087\",\"dweb:/ipfs/QmYsgXQDTwrqg7YSJkKtiNZzf63f4jdA4xfni5gb9ap5K5\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9\",\"dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732\",\"dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"move"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"spawn"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/MapSystem.sol":"MapSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0x4dbbe2a11e729ce5ed6569600e0e7237f5fa5e2476f6c049581e2b18830c93b2","urls":["bzz-raw://d056287fefd267378a9a3f20ed25e28db2fa34604729f047e22c2ab016ac2c6a","dweb:/ipfs/QmSunLJDjxsUMJaudJefjgeHHurT4KKsgrhNBSsEaU5jgm"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d","urls":["bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f","dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235","urls":["bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782","dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x8b522a844626b33d69ae186dd26f2f7bfd921bf92ed7ed0cee2b8c349d9b64f9","urls":["bzz-raw://647f99949a4584cf4b528415ffea01ad243147548455fe5a8373b042b6af3087","dweb:/ipfs/QmYsgXQDTwrqg7YSJkKtiNZzf63f4jdA4xfni5gb9ap5K5"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828","urls":["bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9","dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de","urls":["bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5","dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/MapSystem.sol":{"keccak256":"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8","urls":["bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732","dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz"],"license":"MIT"}},"version":1},"id":216}
\ No newline at end of file
+{"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5061439e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b366004613807565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461385b565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613897565b610236565b6040516100ac9190613906565b61012e610129366004613919565b610249565b005b61012e61013e36600461385b565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee6110d0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061061857610618613948565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e040200020200000000000000000000000000000000000000000000000000006110da565b9250925092506106828383836111aa565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf613948565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f6613948565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836111cd565b90506107456107408260008451611294565b611322565b95945050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061078757610787613948565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611333565b60601c949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061082457610824613948565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611333565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b166022830152825160048184030181526001602484018181526064850190955290936000936060938593916044019080368337019050509050868160008151811061091757610917613948565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866113f0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e613948565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006114a1565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a52613948565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a79613948565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b604051602081830303815290604052611517565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e040200020200000000000000000000000000000000000000000000000000006110da565b925092509250610b4d8383836111aa565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613974565b610b84565b610b848487613974565b905060008361ffff168661ffff1611610ba657610ba18685613974565b610bb0565b610bb08487613974565b9050610bbc8183613996565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf5613948565b602002602001015103610c4d576001915060008360018551610c1791906139b1565b81518110610c2757610c27613948565b60200260200101519050610c3d888884846115c9565b610c478888611694565b50610c5f565b80610c57816139c4565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611734565b61ffff16905080600003610ced57505050565b6000806005831015610d055750600190506006610d0d565b5060069050600b5b600060ff83165b8260ff16811015610d3c57610d2881611752565b610d3290836139de565b9150600101610d14565b5060008167ffffffffffffffff811115610d5857610d58613932565b604051908082528060200260200182016040528015610d81578160200160208202803683370190505b509050600060ff85165b8460ff16811015610e05576000610da1826117d2565b905060005b8151811015610dfb57818181518110610dc157610dc1613948565b6020026020010151858581518110610ddb57610ddb613948565b602090810291909101015283610df0816139c4565b945050600101610da6565b5050600101610d8b565b506000825111610e7d5760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610f175773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610ead600842613ad5565b6040518263ffffffff1660e01b8152600401610ecb91815260200190565b600060405180830381865af4158015610ee8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f109190810190613b15565b9050610faa565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610f7f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fa79190810190613b15565b90505b60005b60068260018451610fbe91906139b1565b81518110610fce57610fce613948565b6020026020010151610fe09190613be7565b63ffffffff168110156110c4576110bb84855184848151811061100557611005613948565b602002602001015163ffffffff1661101d9190613c0a565b8151811061102d5761102d613948565b60200260200101518b8b60405160240161105e9392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc424800000000000000000000000000000000000000000000000000000000179052611859565b50600101610fad565b50505050505050505050565b60006101ee611907565b60606000606060006110ea611907565b9050306001600160a01b0382160361111357611107878787611946565b935093509350506111a1565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061115c908a908a908a90600401613c1e565b600060405180830381865afa158015611179573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111079190810190613ccf565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006111d9611907565b9050306001600160a01b038216036111fe576111f6858585611a4e565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061124790889088908890600401613d3c565b600060405180830381865afa158015611264573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111f69190810190613d68565b509392505050565b6000818311806112a45750835182115b156112e1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613dc9565b602084016112ef84826139de565b905060006112fd85856139b1565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006102428360206000611a88565b60008061133e611907565b9050306001600160a01b038216036113645761135c86868686611b03565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906113af908990899089908990600401613dee565b602060405180830381865afa1580156113cc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135c9190613e1d565b60006113fa611907565b9050306001600160a01b0382160361141e576114198686868686611b30565b611499565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061146b9089908990899089908990600401613e36565b600060405180830381600087803b15801561148557600080fd5b505af11580156110c4573d6000803e3d6000fd5b505050505050565b60006114ab611907565b9050306001600160a01b038216036114ca576114198686868686611b46565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061146b9089908990899089908990600401613e7b565b6000611521611907565b9050306001600160a01b038216036115445761153f85858585611b5b565b6115c2565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f32629061158f908890889088908890600401613ec2565b600060405180830381600087803b1580156115a957600080fd5b505af11580156115bd573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b8160008151811061160557611605613948565b6020026020010181815250508361ffff1660001b8160018151811061162c5761162c613948565b60200260200101818152505060008260405160200161164d91815260200190565b60405160208183030381529060405290506114997f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611b96565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106116d0576116d0613948565b6020026020010181815250508161ffff1660001b816001815181106116f7576116f7613948565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611c4f565b60006107456117438685611cc2565b61174d8685611cc2565b611ce4565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061178e5761178e613948565b602090810291909101015260006117c67f746255440000000000000000000000004d6f627342794c6576656c00000000008383611cfb565b60209004949350505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b8160008151811061180f5761180f613948565b602090810291909101015260006118477f746255440000000000000000000000004d6f627342794c6576656c000000000083836111cd565b90506108886107408260008451611294565b606060008061186f61186a85613ef6565b611dad565b91509150816000801b036118d5576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611e70565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611941573391505090565b919050565b606060006060600061195785611f4b565b9050611964878783611f6e565b9350600061197186611fa7565b90508015611a43576119838888611fe4565b935066ffffffffffffff841667ffffffffffffffff8111156119a7576119a7613932565b6040519080825280601f01601f1916602001820160405280156119d1576020820181803683370190505b5092506020830160005b828160ff161015611a405760006119f38b8b84611ff7565b90506000611a10888460ff166028026038011c64ffffffffff1690565b9050611a1f8260008387612077565b611a2981856139de565b935050508080611a3890613f46565b9150506119db565b50505b505093509350939050565b6060610888611a5e858585611ff7565b6000611a8385611a6e8989611fe4565b9060ff166028026038011c64ffffffffff1690565b612143565b60606000611a968560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611abc57611abc613bd1565b04905060405193506020840160208202810160405281855260005b82811015611af7578451871c825293870193602090910190600101611ad7565b50505050509392505050565b6000610745611b128686612166565b60ff858116601b0360080285901c16611b2b85876121bc565b6121ed565b6115c28585858585611b418b61223e565b6122c3565b6115c28585611b5584876121bc565b856125fc565b6000611b678585611fe4565b90506000611b84828560ff166028026038011c64ffffffffff1690565b90506114998686868460008888612897565b6000611ba0611907565b9050306001600160a01b03821603611bc557611bc0878787878787612cd1565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611c14908a908a908a908a908a908a90600401613f65565b600060405180830381600087803b158015611c2e57600080fd5b505af1158015611c42573d6000803e3d6000fd5b5050505050505050505050565b6000611c59611907565b9050306001600160a01b03821603611c775761153f85858585612ce9565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a049061158f908890889088908890600401613dee565b6000818311611cda57611cd583836139b1565b610242565b61024282846139b1565b600081831015611cf45781610242565b5090919050565b600080611d06611907565b9050306001600160a01b03821603611d23576111f6858585612d42565b6040517fdbbf0e210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063dbbf0e2190611d6c90889088908890600401613d3c565b602060405180830381865afa158015611d89573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f69190613e1d565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611e0657611e06613948565b602090810291909101015260008080611e5f7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006110da565b925092509250610682838383612d52565b60606000611e7c6110d0565b90506001600160a01b0381163003611ebd576000611ea4611e9b6105ac565b60008787612d5e565b9350905080611eb657611eb683612e99565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611f049087908790600401613fbb565b6000604051808303816000875af1158015611f23573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613d68565b60006008611f5b600260206139b1565b611f659190613fd4565b9190911c919050565b606081600003611f8d5750604080516020810190915260008152610242565b6000611f998585612166565b905061074581600085612143565b60006008600180611fba600260206139b1565b611fc491906139b1565b611fce91906139b1565b611fd89190613fd4565b8260ff911c1692915050565b6000610242611ff38484612ea1565b5490565b6000838360405160200161200c929190613feb565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156120fe57602083106120a15760208304840193506020838161209d5761209d613bd1565b0692505b82156120fe5760208390036000818410156120c45750600019600884021c6120ce565b50600019600882021c5b8554600886021b8184511682198216178452508184116120ef575050610ad6565b50600194909401939182900391015b5b602082106121205783548152600190930192601f19909101906020016120ff565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261128c85858584612077565b6000828260405160200161217b929190613feb565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561128c576121e360ff601b83900360080287901c16836139de565b91506001016121c1565b6000602082106122135760208204840193506020828161220f5761220f613bd1565b0691505b508254600882021b60208290038084111561128c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161228d57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de6122ba7f746273746f72650000000000000000005461626c65730000000000000000000084612ef7565b602060006121ed565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361234f57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516123429493929190614027565b60405180910390a2611499565b600061235a87612f13565b905060005b815181101561243357600082828151811061237c5761237c613948565b602002602001015190506123a86001826affffffffffffffffffffff1916612f9c90919063ffffffff16565b1561242a576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906123f7908c908c908c908c908c908c90600401614066565b600060405180830381600087803b15801561241157600080fd5b505af1158015612425573d6000803e3d6000fd5b505050505b5060010161235f565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161246a9493929190614027565b60405180910390a2600061247e8888612166565b90506000602087019050612496826000895184612fba565b60006124a185611fa7565b11156125255760006124b38a8a612ea1565b878155905060208601915060008060005b6124cd88611fa7565b8160ff161015612520576124e28d8d83611ff7565b92506124fd8a8260ff166028026038011c64ffffffffff1690565b915061250c8360008488612fba565b61251682866139de565b94506001016124c4565b505050505b60005b83518110156110c457600084828151811061254557612545613948565b602002602001015190506125716002826affffffffffffffffffffff1916612f9c90919063ffffffff16565b156125f3576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906125c0908e908e908e908e908e908e90600401614066565b600060405180830381600087803b1580156125da57600080fd5b505af11580156125ee573d6000803e3d6000fd5b505050505b50600101612528565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361268657837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051612679939291906140bf565b60405180910390a2610ad6565b60006126928585612166565b9050600061269f86612f13565b905060005b81518110156127745760008282815181106126c1576126c1613948565b602002602001015190506126ed6004826affffffffffffffffffffff1916612f9c90919063ffffffff16565b1561276b576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612738908b908b908b908b906004016140fc565b600060405180830381600087803b15801561275257600080fd5b505af1158015612766573d6000803e3d6000fd5b505050505b506001016126a4565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516127a9939291906140bf565b60405180910390a26127c4828565ffffffffffff1685613079565b60005b815181101561094f5760008282815181106127e4576127e4613948565b602002602001015190506128106008826affffffffffffffffffffff1916612f9c90919063ffffffff16565b1561288e576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061285b908b908b908b908b906004016140fc565b600060405180830381600087803b15801561287557600080fd5b505af1158015612889573d6000803e3d6000fd5b505050505b506001016127c7565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612957577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161291591815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401614135565b6000612972828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361298b91906139b1565b61299591906139de565b90508082141580156129b75750816129ad8688614176565b64ffffffffff1614155b15612a07576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff161115612a58576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612a6584898461308f565b90506000612a728b612f13565b905060005b8151811015612b3d576000828281518110612a9457612a94613948565b60200260200101519050612ac06010826affffffffffffffffffffff1916612f9c90919063ffffffff16565b15612b3457606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612b019796959493929190614194565b600060405180830381600087803b158015612b1b57600080fd5b505af1158015612b2f573d6000803e3d6000fd5b505050505b50600101612a77565b5064ffffffffff881660005b8a60ff168160ff161015612b7c57612b70878260ff166028026038011c64ffffffffff1690565b90910190600101612b49565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051612bb7969594939291906141f2565b60405180910390a250828414612bd8576000612bd38c8c612ea1565b839055505b6000612be58c8c8c611ff7565b9050612bf9818a64ffffffffff1689613079565b5060005b8151811015612cc3576000828281518110612c1a57612c1a613948565b60200260200101519050612c466020826affffffffffffffffffffff1916612f9c90919063ffffffff16565b15612cba57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612c879796959493929190614194565b600060405180830381600087803b158015612ca157600080fd5b505af1158015612cb5573d6000803e3d6000fd5b505050505b50600101612bfd565b505050505050505050505050565b611499868686868686612ce48d8d611fe4565b612897565b6000612cf58585611fe4565b90506000612d12828560ff166028026038011c64ffffffffff1690565b9050611499868686612d2b8764ffffffffff87166139b1565b604080516000815260208101909152889088612897565b600061088882611a6e8686611fe4565b6000806111c18561315d565b60006060600080612d6e86613172565b90925090506001600160a01b038216612dbf5785612d8b87613216565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613fbb565b80612dce57612dce8689613353565b8615612e3a577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612e228261339f565b9050612e3782612e328b846139de565b613430565b50505b6000612e468760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612e7e57612e79888884886134e4565b612e8a565b612e8a8888848861355c565b90999098509650505050505050565b805160208201fd5b60008282604051602001612eb6929190613feb565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b604080516020810184905290810182905260009060600161217b565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612f4d57612f4d613948565b60209081029190910101526000612f857f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611a4e565b9050610888612f978260008451611294565b6135bd565b60008160ff1682612fad8560581c90565b1660ff1614905092915050565b82156130345760208310612fe457602083048401935060208381612fe057612fe0613bd1565b0692505b82156130345760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613025575050610ad6565b50600194909401939182900391015b5b602082106130565780518455600190930192601f1990910190602001613035565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a118383835161308a8560200190565b612fba565b600064ffffffffff8211156130d3576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613105578085038201915061310d565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106131ac576131ac613948565b6020908102919091010152600080806132057f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611946565b9250925092506106828383836135ce565b606081601081901b6000613229836135da565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156132845761327f7fffffffffffffffffffffffffffff00000000000000000000000000000000000084166135f1565b6132bb565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156132f1576132ec836135f1565b613328565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161333a93929190614241565b6040516020818303038152906040529350505050919050565b61335d8282613695565b6103615761336a82613216565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df9291906142cf565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106133d8576133d8613948565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611b03565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061346657613466613948565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b826000856040516020016134af91815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000611b46565b60006060836001600160a01b031660006134ff8589896136f3565b60405161350c91906142fa565b60006040518083038185875af1925050503d8060008114613549576040519150601f19603f3d011682016040523d82523d6000602084013e61354e565b606091505b509097909650945050505050565b60006060836001600160a01b03166135758488886136f3565b60405161358291906142fa565b600060405180830381855af49150503d8060008114613549576040519150601f19603f3d011682016040523d82523d6000602084013e61354e565b606060006102428360156000611a88565b6000806111c185613722565b60006135e8607060106139de565b9190911b919050565b606060005b6010811015613656577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613656576001016135f6565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006136e37f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff000000000000000000000000000000008516178361373e565b806102425750610242838361373e565b606083838360405160200161370a93929190614316565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c61316b565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061377757613777613948565b602002602001018181525050826001600160a01b031660001b816001815181106137a3576137a3613948565b602090810291909101015260006137fb7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611b03565b90506107458160f81c90565b60006020828403121561381957600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff8116811461194157600080fd5b60008060006060848603121561387057600080fd5b8335925061388060208501613849565b915061388e60408501613849565b90509250925092565b600080604083850312156138aa57600080fd5b6138b383613849565b91506138c160208401613849565b90509250929050565b60008151808452602080850194506020840160005b838110156138fb578151875295820195908201906001016138df565b509495945050505050565b60208152600061024260208301846138ca565b60006020828403121561392b57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561398f5761398f61395e565b5092915050565b61ffff81811683821601908082111561398f5761398f61395e565b818103818111156101de576101de61395e565b600060001982036139d7576139d761395e565b5060010190565b808201808211156101de576101de61395e565b600181815b80851115613a2c578160001904821115613a1257613a1261395e565b80851615613a1f57918102915b93841c93908002906139f6565b509250929050565b600082613a43575060016101de565b81613a50575060006101de565b8160018114613a665760028114613a7057613a8c565b60019150506101de565b60ff841115613a8157613a8161395e565b50506001821b6101de565b5060208310610133831016604e8410600b8410161715613aaf575081810a6101de565b613ab983836139f1565b8060001904821115613acd57613acd61395e565b029392505050565b600061024260ff841683613a34565b604051601f8201601f1916810167ffffffffffffffff81118282101715613b0d57613b0d613932565b604052919050565b60006020808385031215613b2857600080fd5b825167ffffffffffffffff80821115613b4057600080fd5b818501915085601f830112613b5457600080fd5b815181811115613b6657613b66613932565b8060051b9150613b77848301613ae4565b8181529183018401918481019088841115613b9157600080fd5b938501935b83851015613bc5578451925063ffffffff83168314613bb55760008081fd5b8282529385019390850190613b96565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff80841680613bfe57613bfe613bd1565b92169190910692915050565b600082613c1957613c19613bd1565b500690565b838152606060208201526000613c3760608301856138ca565b9050826040830152949350505050565b60005b83811015613c62578181015183820152602001613c4a565b50506000910152565b600082601f830112613c7c57600080fd5b815167ffffffffffffffff811115613c9657613c96613932565b613ca96020601f19601f84011601613ae4565b818152846020838601011115613cbe57600080fd5b610888826020830160208701613c47565b600080600060608486031215613ce457600080fd5b835167ffffffffffffffff80821115613cfc57600080fd5b613d0887838801613c6b565b9450602086015193506040860151915080821115613d2557600080fd5b50613d3286828701613c6b565b9150509250925092565b838152606060208201526000613d5560608301856138ca565b905060ff83166040830152949350505050565b600060208284031215613d7a57600080fd5b815167ffffffffffffffff811115613d9157600080fd5b61088884828501613c6b565b60008151808452613db5816020860160208601613c47565b601f01601f19169290920160200192915050565b606081526000613ddc6060830186613d9d565b60208301949094525060400152919050565b848152608060208201526000613e0760808301866138ca565b60ff949094166040830152506060015292915050565b600060208284031215613e2f57600080fd5b5051919050565b85815260a060208201526000613e4f60a08301876138ca565b8281036040840152613e618187613d9d565b90508460608401528281036080840152613bc58185613d9d565b85815260a060208201526000613e9460a08301876138ca565b60ff861660408401528281036060840152613eaf8186613d9d565b9150508260808301529695505050505050565b848152608060208201526000613edb60808301866138ca565b60ff851660408401528281036060840152610bbc8185613d9d565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613f3e5780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613f5c57613f5c61395e565b60010192915050565b86815260c060208201526000613f7e60c08301886138ca565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613fae8185613d9d565b9998505050505050505050565b8281526040602082015260006108886040830184613d9d565b80820281158282048414176101de576101de61395e565b8281526000602080830184516020860160005b8281101561401a57815184529284019290840190600101613ffe565b5091979650505050505050565b60808152600061403a60808301876138ca565b828103602084015261404c8187613d9d565b90508460408401528281036060840152610bbc8185613d9d565b86815260c06020820152600061407f60c08301886138ca565b82810360408401526140918188613d9d565b905085606084015282810360808401526140ab8186613d9d565b9150508260a0830152979650505050505050565b6060815260006140d260608301866138ca565b65ffffffffffff8516602084015282810360408401526140f28185613d9d565b9695505050505050565b84815260806020820152600061411560808301866138ca565b65ffffffffffff851660408401528281036060840152610bbc8185613d9d565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613d9d565b64ffffffffff81811683821601908082111561398f5761398f61395e565b87815260e0602082015260006141ad60e08301896138ca565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526141e48185613d9d565b9a9950505050505050505050565b60c08152600061420560c08301896138ca565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613fae8185613d9d565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516142a2816003860160208901613c47565b8084019050816003820152845191506142c2826004830160208801613c47565b0160040195945050505050565b6040815260006142e26040830185613d9d565b90506001600160a01b03831660208301529392505050565b6000825161430c818460208701613c47565b9190910192915050565b60008451614328818460208901613c47565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea264697066735822122084aab28c8e3f23e5079fa2a312ea45ffb570c7a3c928f3dca443ecbdf8e3849d64736f6c63430008180033","sourceMap":"412:4839:105:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3754,"length":20},{"start":3941,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b366004613807565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461385b565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613897565b610236565b6040516100ac9190613906565b61012e610129366004613919565b610249565b005b61012e61013e36600461385b565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee6110d0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061061857610618613948565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e040200020200000000000000000000000000000000000000000000000000006110da565b9250925092506106828383836111aa565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf613948565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f6613948565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836111cd565b90506107456107408260008451611294565b611322565b95945050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061078757610787613948565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611333565b60601c949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061082457610824613948565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611333565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b166022830152825160048184030181526001602484018181526064850190955290936000936060938593916044019080368337019050509050868160008151811061091757610917613948565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866113f0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e613948565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006114a1565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a52613948565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a79613948565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b604051602081830303815290604052611517565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e040200020200000000000000000000000000000000000000000000000000006110da565b925092509250610b4d8383836111aa565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613974565b610b84565b610b848487613974565b905060008361ffff168661ffff1611610ba657610ba18685613974565b610bb0565b610bb08487613974565b9050610bbc8183613996565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf5613948565b602002602001015103610c4d576001915060008360018551610c1791906139b1565b81518110610c2757610c27613948565b60200260200101519050610c3d888884846115c9565b610c478888611694565b50610c5f565b80610c57816139c4565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611734565b61ffff16905080600003610ced57505050565b6000806005831015610d055750600190506006610d0d565b5060069050600b5b600060ff83165b8260ff16811015610d3c57610d2881611752565b610d3290836139de565b9150600101610d14565b5060008167ffffffffffffffff811115610d5857610d58613932565b604051908082528060200260200182016040528015610d81578160200160208202803683370190505b509050600060ff85165b8460ff16811015610e05576000610da1826117d2565b905060005b8151811015610dfb57818181518110610dc157610dc1613948565b6020026020010151858581518110610ddb57610ddb613948565b602090810291909101015283610df0816139c4565b945050600101610da6565b5050600101610d8b565b506000825111610e7d5760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610f175773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610ead600842613ad5565b6040518263ffffffff1660e01b8152600401610ecb91815260200190565b600060405180830381865af4158015610ee8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f109190810190613b15565b9050610faa565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610f7f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fa79190810190613b15565b90505b60005b60068260018451610fbe91906139b1565b81518110610fce57610fce613948565b6020026020010151610fe09190613be7565b63ffffffff168110156110c4576110bb84855184848151811061100557611005613948565b602002602001015163ffffffff1661101d9190613c0a565b8151811061102d5761102d613948565b60200260200101518b8b60405160240161105e9392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc424800000000000000000000000000000000000000000000000000000000179052611859565b50600101610fad565b50505050505050505050565b60006101ee611907565b60606000606060006110ea611907565b9050306001600160a01b0382160361111357611107878787611946565b935093509350506111a1565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061115c908a908a908a90600401613c1e565b600060405180830381865afa158015611179573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111079190810190613ccf565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006111d9611907565b9050306001600160a01b038216036111fe576111f6858585611a4e565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061124790889088908890600401613d3c565b600060405180830381865afa158015611264573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111f69190810190613d68565b509392505050565b6000818311806112a45750835182115b156112e1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613dc9565b602084016112ef84826139de565b905060006112fd85856139b1565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006102428360206000611a88565b60008061133e611907565b9050306001600160a01b038216036113645761135c86868686611b03565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906113af908990899089908990600401613dee565b602060405180830381865afa1580156113cc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135c9190613e1d565b60006113fa611907565b9050306001600160a01b0382160361141e576114198686868686611b30565b611499565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061146b9089908990899089908990600401613e36565b600060405180830381600087803b15801561148557600080fd5b505af11580156110c4573d6000803e3d6000fd5b505050505050565b60006114ab611907565b9050306001600160a01b038216036114ca576114198686868686611b46565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061146b9089908990899089908990600401613e7b565b6000611521611907565b9050306001600160a01b038216036115445761153f85858585611b5b565b6115c2565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f32629061158f908890889088908890600401613ec2565b600060405180830381600087803b1580156115a957600080fd5b505af11580156115bd573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b8160008151811061160557611605613948565b6020026020010181815250508361ffff1660001b8160018151811061162c5761162c613948565b60200260200101818152505060008260405160200161164d91815260200190565b60405160208183030381529060405290506114997f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611b96565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106116d0576116d0613948565b6020026020010181815250508161ffff1660001b816001815181106116f7576116f7613948565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611c4f565b60006107456117438685611cc2565b61174d8685611cc2565b611ce4565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061178e5761178e613948565b602090810291909101015260006117c67f746255440000000000000000000000004d6f627342794c6576656c00000000008383611cfb565b60209004949350505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b8160008151811061180f5761180f613948565b602090810291909101015260006118477f746255440000000000000000000000004d6f627342794c6576656c000000000083836111cd565b90506108886107408260008451611294565b606060008061186f61186a85613ef6565b611dad565b91509150816000801b036118d5576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611e70565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611941573391505090565b919050565b606060006060600061195785611f4b565b9050611964878783611f6e565b9350600061197186611fa7565b90508015611a43576119838888611fe4565b935066ffffffffffffff841667ffffffffffffffff8111156119a7576119a7613932565b6040519080825280601f01601f1916602001820160405280156119d1576020820181803683370190505b5092506020830160005b828160ff161015611a405760006119f38b8b84611ff7565b90506000611a10888460ff166028026038011c64ffffffffff1690565b9050611a1f8260008387612077565b611a2981856139de565b935050508080611a3890613f46565b9150506119db565b50505b505093509350939050565b6060610888611a5e858585611ff7565b6000611a8385611a6e8989611fe4565b9060ff166028026038011c64ffffffffff1690565b612143565b60606000611a968560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611abc57611abc613bd1565b04905060405193506020840160208202810160405281855260005b82811015611af7578451871c825293870193602090910190600101611ad7565b50505050509392505050565b6000610745611b128686612166565b60ff858116601b0360080285901c16611b2b85876121bc565b6121ed565b6115c28585858585611b418b61223e565b6122c3565b6115c28585611b5584876121bc565b856125fc565b6000611b678585611fe4565b90506000611b84828560ff166028026038011c64ffffffffff1690565b90506114998686868460008888612897565b6000611ba0611907565b9050306001600160a01b03821603611bc557611bc0878787878787612cd1565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611c14908a908a908a908a908a908a90600401613f65565b600060405180830381600087803b158015611c2e57600080fd5b505af1158015611c42573d6000803e3d6000fd5b5050505050505050505050565b6000611c59611907565b9050306001600160a01b03821603611c775761153f85858585612ce9565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a049061158f908890889088908890600401613dee565b6000818311611cda57611cd583836139b1565b610242565b61024282846139b1565b600081831015611cf45781610242565b5090919050565b600080611d06611907565b9050306001600160a01b03821603611d23576111f6858585612d42565b6040517fdbbf0e210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063dbbf0e2190611d6c90889088908890600401613d3c565b602060405180830381865afa158015611d89573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f69190613e1d565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611e0657611e06613948565b602090810291909101015260008080611e5f7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006110da565b925092509250610682838383612d52565b60606000611e7c6110d0565b90506001600160a01b0381163003611ebd576000611ea4611e9b6105ac565b60008787612d5e565b9350905080611eb657611eb683612e99565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611f049087908790600401613fbb565b6000604051808303816000875af1158015611f23573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613d68565b60006008611f5b600260206139b1565b611f659190613fd4565b9190911c919050565b606081600003611f8d5750604080516020810190915260008152610242565b6000611f998585612166565b905061074581600085612143565b60006008600180611fba600260206139b1565b611fc491906139b1565b611fce91906139b1565b611fd89190613fd4565b8260ff911c1692915050565b6000610242611ff38484612ea1565b5490565b6000838360405160200161200c929190613feb565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156120fe57602083106120a15760208304840193506020838161209d5761209d613bd1565b0692505b82156120fe5760208390036000818410156120c45750600019600884021c6120ce565b50600019600882021c5b8554600886021b8184511682198216178452508184116120ef575050610ad6565b50600194909401939182900391015b5b602082106121205783548152600190930192601f19909101906020016120ff565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261128c85858584612077565b6000828260405160200161217b929190613feb565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561128c576121e360ff601b83900360080287901c16836139de565b91506001016121c1565b6000602082106122135760208204840193506020828161220f5761220f613bd1565b0691505b508254600882021b60208290038084111561128c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161228d57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de6122ba7f746273746f72650000000000000000005461626c65730000000000000000000084612ef7565b602060006121ed565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361234f57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516123429493929190614027565b60405180910390a2611499565b600061235a87612f13565b905060005b815181101561243357600082828151811061237c5761237c613948565b602002602001015190506123a86001826affffffffffffffffffffff1916612f9c90919063ffffffff16565b1561242a576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906123f7908c908c908c908c908c908c90600401614066565b600060405180830381600087803b15801561241157600080fd5b505af1158015612425573d6000803e3d6000fd5b505050505b5060010161235f565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161246a9493929190614027565b60405180910390a2600061247e8888612166565b90506000602087019050612496826000895184612fba565b60006124a185611fa7565b11156125255760006124b38a8a612ea1565b878155905060208601915060008060005b6124cd88611fa7565b8160ff161015612520576124e28d8d83611ff7565b92506124fd8a8260ff166028026038011c64ffffffffff1690565b915061250c8360008488612fba565b61251682866139de565b94506001016124c4565b505050505b60005b83518110156110c457600084828151811061254557612545613948565b602002602001015190506125716002826affffffffffffffffffffff1916612f9c90919063ffffffff16565b156125f3576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906125c0908e908e908e908e908e908e90600401614066565b600060405180830381600087803b1580156125da57600080fd5b505af11580156125ee573d6000803e3d6000fd5b505050505b50600101612528565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361268657837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051612679939291906140bf565b60405180910390a2610ad6565b60006126928585612166565b9050600061269f86612f13565b905060005b81518110156127745760008282815181106126c1576126c1613948565b602002602001015190506126ed6004826affffffffffffffffffffff1916612f9c90919063ffffffff16565b1561276b576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612738908b908b908b908b906004016140fc565b600060405180830381600087803b15801561275257600080fd5b505af1158015612766573d6000803e3d6000fd5b505050505b506001016126a4565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516127a9939291906140bf565b60405180910390a26127c4828565ffffffffffff1685613079565b60005b815181101561094f5760008282815181106127e4576127e4613948565b602002602001015190506128106008826affffffffffffffffffffff1916612f9c90919063ffffffff16565b1561288e576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061285b908b908b908b908b906004016140fc565b600060405180830381600087803b15801561287557600080fd5b505af1158015612889573d6000803e3d6000fd5b505050505b506001016127c7565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612957577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161291591815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401614135565b6000612972828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361298b91906139b1565b61299591906139de565b90508082141580156129b75750816129ad8688614176565b64ffffffffff1614155b15612a07576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff161115612a58576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612a6584898461308f565b90506000612a728b612f13565b905060005b8151811015612b3d576000828281518110612a9457612a94613948565b60200260200101519050612ac06010826affffffffffffffffffffff1916612f9c90919063ffffffff16565b15612b3457606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612b019796959493929190614194565b600060405180830381600087803b158015612b1b57600080fd5b505af1158015612b2f573d6000803e3d6000fd5b505050505b50600101612a77565b5064ffffffffff881660005b8a60ff168160ff161015612b7c57612b70878260ff166028026038011c64ffffffffff1690565b90910190600101612b49565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051612bb7969594939291906141f2565b60405180910390a250828414612bd8576000612bd38c8c612ea1565b839055505b6000612be58c8c8c611ff7565b9050612bf9818a64ffffffffff1689613079565b5060005b8151811015612cc3576000828281518110612c1a57612c1a613948565b60200260200101519050612c466020826affffffffffffffffffffff1916612f9c90919063ffffffff16565b15612cba57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612c879796959493929190614194565b600060405180830381600087803b158015612ca157600080fd5b505af1158015612cb5573d6000803e3d6000fd5b505050505b50600101612bfd565b505050505050505050505050565b611499868686868686612ce48d8d611fe4565b612897565b6000612cf58585611fe4565b90506000612d12828560ff166028026038011c64ffffffffff1690565b9050611499868686612d2b8764ffffffffff87166139b1565b604080516000815260208101909152889088612897565b600061088882611a6e8686611fe4565b6000806111c18561315d565b60006060600080612d6e86613172565b90925090506001600160a01b038216612dbf5785612d8b87613216565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613fbb565b80612dce57612dce8689613353565b8615612e3a577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612e228261339f565b9050612e3782612e328b846139de565b613430565b50505b6000612e468760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612e7e57612e79888884886134e4565b612e8a565b612e8a8888848861355c565b90999098509650505050505050565b805160208201fd5b60008282604051602001612eb6929190613feb565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b604080516020810184905290810182905260009060600161217b565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612f4d57612f4d613948565b60209081029190910101526000612f857f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611a4e565b9050610888612f978260008451611294565b6135bd565b60008160ff1682612fad8560581c90565b1660ff1614905092915050565b82156130345760208310612fe457602083048401935060208381612fe057612fe0613bd1565b0692505b82156130345760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613025575050610ad6565b50600194909401939182900391015b5b602082106130565780518455600190930192601f1990910190602001613035565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a118383835161308a8560200190565b612fba565b600064ffffffffff8211156130d3576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613105578085038201915061310d565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106131ac576131ac613948565b6020908102919091010152600080806132057f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611946565b9250925092506106828383836135ce565b606081601081901b6000613229836135da565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156132845761327f7fffffffffffffffffffffffffffff00000000000000000000000000000000000084166135f1565b6132bb565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156132f1576132ec836135f1565b613328565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161333a93929190614241565b6040516020818303038152906040529350505050919050565b61335d8282613695565b6103615761336a82613216565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df9291906142cf565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106133d8576133d8613948565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611b03565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061346657613466613948565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b826000856040516020016134af91815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000611b46565b60006060836001600160a01b031660006134ff8589896136f3565b60405161350c91906142fa565b60006040518083038185875af1925050503d8060008114613549576040519150601f19603f3d011682016040523d82523d6000602084013e61354e565b606091505b509097909650945050505050565b60006060836001600160a01b03166135758488886136f3565b60405161358291906142fa565b600060405180830381855af49150503d8060008114613549576040519150601f19603f3d011682016040523d82523d6000602084013e61354e565b606060006102428360156000611a88565b6000806111c185613722565b60006135e8607060106139de565b9190911b919050565b606060005b6010811015613656577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613656576001016135f6565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006136e37f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff000000000000000000000000000000008516178361373e565b806102425750610242838361373e565b606083838360405160200161370a93929190614316565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c61316b565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061377757613777613948565b602002602001018181525050826001600160a01b031660001b816001815181106137a3576137a3613948565b602090810291909101015260006137fb7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611b03565b90506107458160f81c90565b60006020828403121561381957600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff8116811461194157600080fd5b60008060006060848603121561387057600080fd5b8335925061388060208501613849565b915061388e60408501613849565b90509250925092565b600080604083850312156138aa57600080fd5b6138b383613849565b91506138c160208401613849565b90509250929050565b60008151808452602080850194506020840160005b838110156138fb578151875295820195908201906001016138df565b509495945050505050565b60208152600061024260208301846138ca565b60006020828403121561392b57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561398f5761398f61395e565b5092915050565b61ffff81811683821601908082111561398f5761398f61395e565b818103818111156101de576101de61395e565b600060001982036139d7576139d761395e565b5060010190565b808201808211156101de576101de61395e565b600181815b80851115613a2c578160001904821115613a1257613a1261395e565b80851615613a1f57918102915b93841c93908002906139f6565b509250929050565b600082613a43575060016101de565b81613a50575060006101de565b8160018114613a665760028114613a7057613a8c565b60019150506101de565b60ff841115613a8157613a8161395e565b50506001821b6101de565b5060208310610133831016604e8410600b8410161715613aaf575081810a6101de565b613ab983836139f1565b8060001904821115613acd57613acd61395e565b029392505050565b600061024260ff841683613a34565b604051601f8201601f1916810167ffffffffffffffff81118282101715613b0d57613b0d613932565b604052919050565b60006020808385031215613b2857600080fd5b825167ffffffffffffffff80821115613b4057600080fd5b818501915085601f830112613b5457600080fd5b815181811115613b6657613b66613932565b8060051b9150613b77848301613ae4565b8181529183018401918481019088841115613b9157600080fd5b938501935b83851015613bc5578451925063ffffffff83168314613bb55760008081fd5b8282529385019390850190613b96565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff80841680613bfe57613bfe613bd1565b92169190910692915050565b600082613c1957613c19613bd1565b500690565b838152606060208201526000613c3760608301856138ca565b9050826040830152949350505050565b60005b83811015613c62578181015183820152602001613c4a565b50506000910152565b600082601f830112613c7c57600080fd5b815167ffffffffffffffff811115613c9657613c96613932565b613ca96020601f19601f84011601613ae4565b818152846020838601011115613cbe57600080fd5b610888826020830160208701613c47565b600080600060608486031215613ce457600080fd5b835167ffffffffffffffff80821115613cfc57600080fd5b613d0887838801613c6b565b9450602086015193506040860151915080821115613d2557600080fd5b50613d3286828701613c6b565b9150509250925092565b838152606060208201526000613d5560608301856138ca565b905060ff83166040830152949350505050565b600060208284031215613d7a57600080fd5b815167ffffffffffffffff811115613d9157600080fd5b61088884828501613c6b565b60008151808452613db5816020860160208601613c47565b601f01601f19169290920160200192915050565b606081526000613ddc6060830186613d9d565b60208301949094525060400152919050565b848152608060208201526000613e0760808301866138ca565b60ff949094166040830152506060015292915050565b600060208284031215613e2f57600080fd5b5051919050565b85815260a060208201526000613e4f60a08301876138ca565b8281036040840152613e618187613d9d565b90508460608401528281036080840152613bc58185613d9d565b85815260a060208201526000613e9460a08301876138ca565b60ff861660408401528281036060840152613eaf8186613d9d565b9150508260808301529695505050505050565b848152608060208201526000613edb60808301866138ca565b60ff851660408401528281036060840152610bbc8185613d9d565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613f3e5780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613f5c57613f5c61395e565b60010192915050565b86815260c060208201526000613f7e60c08301886138ca565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613fae8185613d9d565b9998505050505050505050565b8281526040602082015260006108886040830184613d9d565b80820281158282048414176101de576101de61395e565b8281526000602080830184516020860160005b8281101561401a57815184529284019290840190600101613ffe565b5091979650505050505050565b60808152600061403a60808301876138ca565b828103602084015261404c8187613d9d565b90508460408401528281036060840152610bbc8185613d9d565b86815260c06020820152600061407f60c08301886138ca565b82810360408401526140918188613d9d565b905085606084015282810360808401526140ab8186613d9d565b9150508260a0830152979650505050505050565b6060815260006140d260608301866138ca565b65ffffffffffff8516602084015282810360408401526140f28185613d9d565b9695505050505050565b84815260806020820152600061411560808301866138ca565b65ffffffffffff851660408401528281036060840152610bbc8185613d9d565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613d9d565b64ffffffffff81811683821601908082111561398f5761398f61395e565b87815260e0602082015260006141ad60e08301896138ca565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526141e48185613d9d565b9a9950505050505050505050565b60c08152600061420560c08301896138ca565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613fae8185613d9d565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516142a2816003860160208901613c47565b8084019050816003820152845191506142c2826004830160208801613c47565b0160040195945050505050565b6040815260006142e26040830185613d9d565b90506001600160a01b03831660208301529392505050565b6000825161430c818460208701613c47565b9190910192915050565b60008451614328818460208901613c47565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea264697066735822122084aab28c8e3f23e5079fa2a312ea45ffb570c7a3c928f3dca443ecbdf8e3849d64736f6c63430008180033","sourceMap":"412:4839:105:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:50;;;;;;:::i;:::-;;:::i;:::-;;;516:14:106;;509:22;491:41;;479:2;464:18;2331:198:50;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:106;;;689:74;;677:2;662:18;1262:113:50;543:226:106;1755:239:105;;;;;;:::i;:::-;;:::i;1616:110:50:-;;;-1:-1:-1;;3800:14:50;3796:25;3783:39;1413:25:106;;1401:2;1386:18;1616:110:50;1267:177:106;1580:169:105;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1174:400::-;;;;;;:::i;:::-;;:::i;:::-;;481:687;;;;;;:::i;:::-;;:::i;1942:98:50:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:50;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:50:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1755:239:105:-;1836:18;1867:8;1877;1889:22;1902:8;1889:12;:22::i;:::-;1866:45;;;;1930:1;1925:6;;:1;:6;;;:16;;;;;1940:1;1935:6;;:1;:6;;;1925:16;1921:67;;;1973:4;1957:20;;1921:67;1856:138;;1755:239;;;;;:::o;1580:169::-;1652:35;1706:36;1737:1;1740;1706:30;:36::i;:::-;1699:43;1580:169;-1:-1:-1;;;1580:169:105:o;1174:400::-;1224:13;1240:29;1260:8;1240:19;:29::i;:::-;1224:45;;1303:5;-1:-1:-1;;;;;1287:21:105;:12;:10;:12::i;:::-;-1:-1:-1;;;;;1287:21:105;;1279:70;;;;-1:-1:-1;;;1279:70:105;;2807:2:106;1279:70:105;;;2789:21:106;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:6;2936:18;;;2929:34;2980:19;;1279:70:105;;;;;;;;;1369:28;1388:8;1369:18;:28::i;:::-;1368:29;1360:67;;;;-1:-1:-1;;;1360:67:105;;3212:2:106;1360:67:105;;;3194:21:106;3251:2;3231:18;;;3224:30;3290:27;3270:18;;;3263:55;3335:18;;1360:67:105;3010:349:106;1360:67:105;1438:28;1451:8;1461:1;1464;1438:12;:28::i;:::-;1476:34;1495:8;1505:4;1476:18;:34::i;:::-;1520:47;1552:1;1555;1558:8;1520:31;:47::i;:::-;1214:360;1174:400;:::o;481:687::-;550:13;566:29;586:8;566:19;:29::i;:::-;550:45;;629:5;-1:-1:-1;;;;;613:21:105;:12;:10;:12::i;:::-;-1:-1:-1;;;;;613:21:105;;605:69;;;;-1:-1:-1;;;605:69:105;;3566:2:106;605:69:105;;;3548:21:106;3605:2;3585:18;;;3578:30;3644:34;3624:18;;;3617:62;3715:5;3695:18;;;3688:33;3738:19;;605:69:105;3364:399:106;605:69:105;693:28;712:8;693:18;:28::i;:::-;685:62;;;;-1:-1:-1;;;685:62:105;;3970:2:106;685:62:105;;;3952:21:106;4009:2;3989:18;;;3982:30;4048:23;4028:18;;;4021:51;4089:18;;685:62:105;3768:345:106;685:62:105;759:15;776;795:22;808:8;795:12;:22::i;:::-;758:59;;;;828:13;843:12;859:15;:13;:15::i;:::-;827:47;;;;897:5;893:9;;:1;:9;;;885:37;;;;-1:-1:-1;;;885:37:105;;4320:2:106;885:37:105;;;4302:21:106;4359:2;4339:18;;;4332:30;4398:17;4378:18;;;4371:45;4433:18;;885:37:105;4118:339:106;885:37:105;944:6;940:10;;:1;:10;;;932:38;;;;-1:-1:-1;;;932:38:105;;4664:2:106;932:38:105;;;4646:21:106;4703:2;4683:18;;;4676:30;4742:17;4722:18;;;4715:45;4777:18;;932:38:105;4462:339:106;932:38:105;988:43;1006:8;1016;1026:1;1029;988:17;:43::i;:::-;:48;;1035:1;988:48;980:91;;;;-1:-1:-1;;;980:91:105;;5008:2:106;980:91:105;;;4990:21:106;5047:2;5027:18;;;5020:30;5086:32;5066:18;;;5059:60;5136:18;;980:91:105;4806:354:106;980:91:105;1081:47;1093:8;1103;1113;1123:1;1126;1081:11;:47::i;:::-;1138:23;1156:1;1159;1138:17;:23::i;:::-;540:628;;;;;481:687;;;:::o;1942:98:50:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:50;3325:45;2992:383;:::o;4891:393:87:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:87;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;2642:387:78:-;2768:16;;;2782:1;2768:16;;;2706:25;2768:16;;;;;2706:25;2739:26;;2768:16;2782:1;2768:16;;;;;;;;;;-1:-1:-1;2768:16:78;2739:45;;2821:1;2813:10;;2805:19;;2790:9;2800:1;2790:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;2861:1;2853:10;;2845:19;;2830:9;2840:1;2830:12;;;;;;;;:::i;:::-;;;;;;;;;;:34;2871:18;2892:51;1083:66;2930:9;2871:18;2892:27;:51::i;:::-;2871:72;;2957:66;:44;2978:5;2985:1;2988:5;:12;2957:20;:44::i;:::-;:64;:66::i;:::-;2949:75;2642:387;-1:-1:-1;;;;;2642:387:78:o;4071:290:75:-;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:75;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:75:o;2592:291:89:-;2702:16;;;2716:1;2702:16;;;;;;;;;2653:12;;;;2702:16;;;;;;;;;;;;-1:-1:-1;2702:16:89;2673:45;;2739:8;2724:9;2734:1;2724:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2754:13;2770:64;1063:66;2807:9;2754:13;1192:66;2770:26;:64::i;:::-;2754:80;;2848:29;2869:5;2856:20;;7000:5;6914:97;2848:29;2840:38;2592:291;-1:-1:-1;;;;2592:291:89:o;5796:354:87:-;7947:22;;;16143:3:106;16139:16;;;16048:66;16135:25;;;7947:22:87;;;;16123:38:106;;;;16194:16;;;;16190:25;16177:11;;;16170:46;7947:22:87;;;;;;;;;6023:1;16232:11:106;;;6009:16:87;;;;;;;;;7947:22;;-1:-1:-1;;5948:25:87;;-1:-1:-1;;6023:1:87;6009:16;;;7947:22;6009:16;;;;;-1:-1:-1;6009:16:87;5980:45;;6046:6;6031:9;6041:1;6031:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6059:86;1065:66;6091:9;6102:11;6115:15;6132:12;6059:21;:86::i;:::-;5854:296;;;;5796:354;;;:::o;3908:246:89:-;4004:16;;;4018:1;4004:16;;;;;;;;;3975:26;;4004:16;;;;;;;;;;;-1:-1:-1;4004:16:89;3975:45;;4041:8;4026:9;4036:1;4026:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4056:93;1063:66;1047:83;;4093:9;4104:1;4125:7;4107:27;;;;;;5694:14:106;5687:22;5682:3;5678:32;5666:45;;5736:1;5727:11;;5543:201;4107:27:89;;;;-1:-1:-1;;4107:27:89;;;;;;;;;1192:66;4056:26;:93::i;:::-;3969:185;3908:246;;:::o;9497:296:78:-;9601:16;;;9615:1;9601:16;;;;;;;;9572:26;;9601:16;;;;;;;;;;-1:-1:-1;9601:16:78;9572:45;;9654:1;9646:10;;9638:19;;9623:9;9633:1;9623:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9694:1;9686:10;;9678:19;;9663:9;9673:1;9663:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9704:84;1083:66;1067:83;;9745:9;9756:1;9777:8;9759:28;;;;;;5878:19:106;;5922:2;5913:12;;5749:182;9759:28:78;;;;;;;;;;;;;9704:30;:84::i;:::-;9566:227;9497:296;;;:::o;4657:361:81:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;4782:168;;;;;;4963:50;4970:11;4983:15;5000:12;4963:6;:50::i;:::-;4956:57;;;;;;;;4657:361;;:::o;3630:279:105:-;3732:6;3750:13;3774:3;3766:11;;:5;:11;;;:39;;3794:11;3800:5;3794:3;:11;:::i;:::-;3766:39;;;3780:11;3788:3;3780:5;:11;:::i;:::-;3750:55;;3815:13;3839:3;3831:11;;:5;:11;;;:39;;3859:11;3865:5;3859:3;:11;:::i;:::-;3831:39;;;3845:11;3853:3;3845:5;:11;:::i;:::-;3815:55;-1:-1:-1;3887:15:105;3815:55;3887:6;:15;:::i;:::-;3880:22;3630:279;-1:-1:-1;;;;;;;3630:279:105:o;4412:837::-;4524:25;4552:41;4574:8;4584;4552:21;:41::i;:::-;4524:69;;4603:24;4642:9;4637:438;4657:8;:15;4653:1;:19;4637:438;;;4708:8;4693;4702:1;4693:11;;;;;;;;:::i;:::-;;;;;;;:23;4689:327;;4758:4;4736:26;;4780:15;4798:8;4825:1;4807:8;:15;:19;;;;:::i;:::-;4798:29;;;;;;;;:::i;:::-;;;;;;;4780:47;;4845:65;4879:8;4889;4899:1;4902:7;4845:33;:65::i;:::-;4928:50;4959:8;4969;4928:30;:50::i;:::-;4996:5;;;4689:327;5047:3;;;;:::i;:::-;;;;4637:438;;;;5092:19;5084:63;;;;-1:-1:-1;;;5084:63:105;;7009:2:106;5084:63:105;;;6991:21:106;7048:2;7028:18;;;7021:30;7087:33;7067:18;;;7060:61;7138:18;;5084:63:105;6807:355:106;5084:63:105;5157:28;5170:8;5180:1;5183;5157:12;:28::i;:::-;5195:47;5227:1;5230;5233:8;5195:31;:47::i;2000:1624::-;2066:24;2101:30;2120:1;2123;2126;2101:30;;2129:1;2101:30;;:18;:30::i;:::-;2093:39;;2066:66;;2146:16;2166:1;2146:21;2142:58;;2183:7;2000:1624;;:::o;2142:58::-;2210:16;2240:14;2292:1;2273:16;:20;2269:163;;;-1:-1:-1;2322:1:105;;-1:-1:-1;2348:1:105;2269:163;;;-1:-1:-1;2393:1:105;;-1:-1:-1;2419:2:105;2269:163;2442:17;2478:22;;;2473:113;2506:8;2502:12;;:1;:12;2473:113;;;2548:27;2573:1;2548:24;:27::i;:::-;2535:40;;;;:::i;:::-;;-1:-1:-1;2516:3:105;;2473:113;;;;2596:34;2647:9;2633:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2633:24:105;-1:-1:-1;2596:61:105;-1:-1:-1;2667:13:105;2700:22;;;2695:274;2728:8;2724:12;;:1;:12;2695:274;;;2757:23;2783:24;2805:1;2783:21;:24::i;:::-;2757:50;;2826:9;2821:138;2845:6;:13;2841:1;:17;2821:138;;;2910:6;2917:1;2910:9;;;;;;;;:::i;:::-;;;;;;;2883:17;2901:5;2883:24;;;;;;;;:::i;:::-;;;;;;;;;;:36;2937:7;;;;:::i;:::-;;-1:-1:-1;;2860:3:105;;2821:138;;;-1:-1:-1;;2738:3:105;;2695:274;;;;3022:1;2995:17;:24;:28;2987:80;;;;-1:-1:-1;;;2987:80:105;;7499:2:106;2987:80:105;;;7481:21:106;7538:2;7518:18;;;7511:30;7577:34;7557:18;;;7550:62;7648:9;7628:18;;;7621:37;7675:19;;2987:80:105;7297:403:106;2987:80:105;3078:19;3162:13;3179:5;3162:22;3158:176;;3206:9;:20;3227;3246:1;3227:15;:20;:::i;:::-;3206:42;;;;;;;;;;;;;1413:25:106;;1401:2;1386:18;;1267:177;3206:42:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3206:42:105;;;;;;;;;;;;:::i;:::-;3200:48;;3158:176;;;3285:38;;;;;3306:16;3285:38;;;1413:25:106;3285:9:105;;:20;;1386:18:106;;3285:38:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3285:38:105;;;;;;;;;;;;:::i;:::-;3279:44;;3158:176;3349:9;3344:274;3387:1;3365:3;3382:1;3369:3;:10;:14;;;;:::i;:::-;3365:19;;;;;;;;:::i;:::-;;;;;;;:23;;;;:::i;:::-;3360:29;;:1;:29;3344:274;;;3410:197;3507:17;3542;:24;3533:3;3537:1;3533:6;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;:::i;:::-;3507:61;;;;;;;;:::i;:::-;;;;;;;3570:1;3573;3445:148;;;;;;;;;11538:25:106;;;11582:6;11624:15;;;11619:2;11604:18;;11597:43;11676:15;11671:2;11656:18;;11649:43;11526:2;11511:18;;11340:358;3445:148:105;;;;-1:-1:-1;;3445:148:105;;;;;;;;;;;;;;;;;;;;3410:17;:197::i;:::-;-1:-1:-1;3391:3:105;;3344:274;;;;2056:1568;;;;;;;2000:1624;;:::o;4048:97:50:-;4089:7;4111:29;:27;:29::i;15347:431:24:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:24;-1:-1:-1;;;;;15578:30:24;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:24;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:24;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;7036:160:87:-;3788:4:1;3774:27;;3768:34;3774:27;;;3768:34;7131:8:87;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:87;-1:-1:-1;;;;7036:160:87:o;18598:431:24:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:24;-1:-1:-1;;;;;18805:30:24;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:24;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:24;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:21:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:21;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:21:o;45284:220:34:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;17775:457:24:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:24;-1:-1:-1;;;;;17998:30:24;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:24;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:24;-1:-1:-1;;;;;6696:30:24;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:24;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6692:242;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:24;-1:-1:-1;;;;;10984:30:24;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:24;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:24;-1:-1:-1;;;;;12556:30:24;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:24;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12552:240;12499:297;12345:451;;;;:::o;12135:423:78:-;12257:16;;;12271:1;12257:16;;;;;;;;12228:26;;12257:16;;;;;;;;;;-1:-1:-1;12257:16:78;12228:45;;12310:1;12302:10;;12294:19;;12279:9;12289:1;12279:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12350:1;12342:10;;12334:19;;12319:9;12329:1;12319:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12378:21;12420:8;12402:28;;;;;;5878:19:106;;5922:2;5913:12;;5749:182;12402:28:78;;;;;;;;;;;;;12378:52;;12438:109;1083:66;1067:83;;12478:9;12489:1;12499:6;12508:2;12499:11;12520:8;:15;12538:8;12438:29;:109::i;10896:252::-;10981:16;;;10995:1;10981:16;;;;;;;;10952:26;;10981:16;;;;;;;;;;-1:-1:-1;10981:16:78;10952:45;;11034:1;11026:10;;11018:19;;11003:9;11013:1;11003:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11074:1;11066:10;;11058:19;;11043:9;11053:1;11043:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11084:59;1083:66;1067:83;;11126:9;11137:1;11140:2;11084:31;:59::i;3992:179:105:-;4091:6;4123:40;4128:16;4137:2;4141;4128:8;:16::i;:::-;4146;4155:2;4159;4146:8;:16::i;:::-;4123:4;:40::i;5306:308:84:-;5410:16;;;5424:1;5410:16;;;;;;;;;5366:7;;;;5410:16;;;;;;;;;;;;-1:-1:-1;5410:16:84;5381:45;;5463:5;5447:23;;5432:9;5442:1;5432:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;5477:19;5499:57;1071:66;5543:9;5477:19;5499:33;:57::i;:::-;5601:2;5587:16;;;;-1:-1:-1;;;;5306:308:84:o;2600:342::-;2717:16;;;2731:1;2717:16;;;;;;;;;2657:23;;2688:26;;2717:16;;;;;;;;;;;;-1:-1:-1;2717:16:84;2688:45;;2770:5;2754:23;;2739:9;2749:1;2739:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2784:18;2805:51;1071:66;2843:9;2784:18;2805:27;:51::i;:::-;2784:72;;2870:66;:44;2891:5;2898:1;2901:5;:12;2870:20;:44::i;3318:662:38:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;18927:98:106;18900:18;;3713:52:38;18783:248:106;3668:97:38;1759:4:1;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:38;3900:8;3936;3883:4;:92::i;1836:227:24:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:24;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:24:o;32759:1315:23:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:23;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:2;;;33532:33:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:23;-1:-1:-1;33518:47:23;-1:-1:-1;894:4:18;884:15;;33573:21:23;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:23;33808:25;:14;33831:1;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:23;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:23;37440:12;:257::i;2681:1129:36:-;2801:22;2831:21;2855;:11;2997:3:21;2975:25;;2901:104;2855:21:36;2831:45;-1:-1:-1;692:17:21;3238:38;;2882:20:36;3044:11;3238:38:21;3044:11:36;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;36171:541:23:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:3;:27;579:1:30;4322:44:3;4288:79;;;4275:93;36635:63:23;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:23;29171:49;29023:106;29202:17;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:23;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;8207:601:24:-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:24;-1:-1:-1;;;;;8464:30:24;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;:::-;8460:344;;;8627:170;;;;;-1:-1:-1;;;;;8627:39:24;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:24;-1:-1:-1;;;;;13402:30:24;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;13398:252::-;13547:96;;;;;-1:-1:-1;;;;;13547:41:24;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;4177:117:105:-;4240:7;4270:1;4266;:5;:21;;4282:5;4286:1;4282;:5;:::i;:::-;4266:21;;;4274:5;4278:1;4274;:5;:::i;4300:106::-;4359:7;4390:1;4385;:6;;:14;;4398:1;4385:14;;;-1:-1:-1;4394:1:105;;4300:106;-1:-1:-1;4300:106:105:o;21091:444:24:-;21233:7;21248:21;21272:17;:15;:17::i;:::-;21248:41;-1:-1:-1;21324:4:24;-1:-1:-1;;;;;21299:30:24;;;21295:236;;21346:69;21378:7;21387:8;21397:17;21346:31;:69::i;21295:236::-;21443:81;;;;;-1:-1:-1;;;;;21443:43:24;;;;;:81;;21487:7;;21496:8;;21506:17;;21443:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5805:471:60:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:60;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:38:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:38;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:38;-1:-1:-1;2409:177:38;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:38;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:38;;;;;;;;;;;;:::i;4598:171:3:-;4672:7;579:1:30;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:3;;;;;4598:171;-1:-1:-1;4598:171:3:o;48823:360:23:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:23;;;;;;;;;-1:-1:-1;48986:9:23;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:3:-;5451:7;579:1:30;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:3;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:3:o;53939:303:23:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:22;;4605:137;52742:274:23;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:22:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:22;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:22;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:22;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:22;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;8389:20:22;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:22;;;;:::o;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:22;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;50806:191:23:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:23;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:23:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:3;4323:19;:27;;;579:1:30;4322:44:3;4288:79;;;4275:93;52003:32:23;;:::i;:::-;;-1:-1:-1;51990:3:23;;51958:84;;8945:812:22;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:22;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:23:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:29;;4015:652:23;-1:-1:-1;4015:652:23:o;4314:111::-;4469:185;4515:85;1213:66:29;4591:7:23;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:32;13976:4:23;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:4;;;;;14021:47:23;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:23;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:23;894:4:18;884:15;;14520:54:23;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:22;;;14915:102:23;-1:-1:-1;894:4:18;884:15;;15191:47:23;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:23;:14;15615:1;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:23;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:23;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:32;16125:4:23;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:4;;;;;16169:46:23;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:23;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:32;17798:4:23;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:4;;;;;17851:54:23;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:23;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:32;18455:4:23;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:4;;;;;18507:53:23;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:23;;18365:326;;44254:4001;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;5878:19:106;;5922:2;5913:12;;5749:182;44775:25:23;;;;-1:-1:-1;;44775:25:23;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:23;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:23;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;25664:12:106;25703:15;;;45340:92:23;;;25685:34:106;25755:15;;;25735:18;;;25728:43;25807:15;;25787:18;;;25780:43;25627:18;;45340:92:23;25458:371:106;45221:218:23;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;26007:25:106;;;26080:12;26068:25;;26048:18;;;26041:53;25980:18;;45581:74:23;25834:266:106;45522:140:23;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:32;46104:4:23;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:4;;;;-1:-1:-1;;;;;46158:55:23;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:23;;46014:486;;;-1:-1:-1;46558:32:23;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:23;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:22;;;-1:-1:-1;47216:248:23;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:32;47858:4:23;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:4;;;;-1:-1:-1;;;;;47911:54:23;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:23;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:23;30643:49;30495:106;30674:17;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:23;30607:86;-1:-1:-1;30731:333:23;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;39909:262::-;40051:7;40073:93;40148:17;40073:66;40121:7;40130:8;40073:47;:66::i;8363:236:60:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:49:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:49;-1:-1:-1;;;;;;2067:27:49;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:51;2955:46;;696:18:69;2954:74:51;2432:22:49;2515:26;2954:74:51;2515:13:49;:26::i;:::-;2490:51;-1:-1:-1;2549:50:49;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:19;2637:44:51;;2539:148;2681:23:49;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:49;-1:-1:-1;;;;;;;1761:1386:49:o;348:217:67:-;551:6;545:13;538:4;530:6;526:17;519:40;53371:230:23;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:23;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:23:o;51249:282::-;51494:30;;;;;;28315:19:106;;;28350:12;;;28343:28;;;51337:7:23;;28387:12:106;;51494:30:23;28127:278:106;3658:342:28;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:28;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:4:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:22:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:30;804:25:31;;782:48;2208:18:22;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:22;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:22;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;3761:21:22;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:22;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::18;884:15;;758:151;1098:24:22;1055:5;:68::i;7468:1525:2:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;1413:25:106;;;1386:18;;7664:67:2;1267:177:106;7618:120:2;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:2;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:2;;;;;:::o;7963:242:60:-;3788:4:1;3774:27;;3768:34;3774:27;;;3768:34;8028:19:60;;8173:26;8147:53;;7963:242;;;:::o;5928:433:64:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:64;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:51:-;3550:13;3620:10;451:5:19;2637:44:51;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:51;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:39:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:59:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:59;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:59;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;5878:19:106;;5922:2;5913:12;;5749:182;5279:27:59;;;;-1:-1:-1;;5279:27:59;;;;;;;;;1286:66;5230:24;:91::i;5594:317:50:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:50;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:50;;;;-1:-1:-1;5594:317:50;-1:-1:-1;;;;;5594:317:50:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:50;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40103:220:34;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7829:207:64:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:51:-;3228:7;3292:26;438:6;451:5:19;3292:26:51;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:51:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:1;3257:13;;3253:24;2007:42:51;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;30316:66:106;30304:79;;2092:30:51;;;30292:92:106;2092:30:51;;30400:12:106;;;;2092:30:51;;;875:21:1;;;2092:30:51;2142:39;760:164:1;955:327:39;1036:4;1178:56;696:18:69;578:36:51;2955:46;;2954:74;1227:6:39;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:50:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;7448:223:64:-;3788:4:1;3774:27;;3768:34;3774:27;;;3768:34;7564:35:64;;;;;;7513:14;;7631:33;;7623:42;6914:97:89;4006:378:62;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:62;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:62;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;7000:5:89;6914:97;14:332:106;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:159;841:20;;901:6;890:18;;880:29;;870:57;;923:1;920;913:12;938:324;1013:6;1021;1029;1082:2;1070:9;1061:7;1057:23;1053:32;1050:52;;;1098:1;1095;1088:12;1050:52;1134:9;1121:23;1111:33;;1163:37;1196:2;1185:9;1181:18;1163:37;:::i;:::-;1153:47;;1219:37;1252:2;1241:9;1237:18;1219:37;:::i;:::-;1209:47;;938:324;;;;;:::o;1449:256::-;1515:6;1523;1576:2;1564:9;1555:7;1551:23;1547:32;1544:52;;;1592:1;1589;1582:12;1544:52;1615:28;1633:9;1615:28;:::i;:::-;1605:38;;1662:37;1695:2;1684:9;1680:18;1662:37;:::i;:::-;1652:47;;1449:256;;;;;:::o;1710:439::-;1763:3;1801:5;1795:12;1828:6;1823:3;1816:19;1854:4;1883;1878:3;1874:14;1867:21;;1922:4;1915:5;1911:16;1945:1;1955:169;1969:6;1966:1;1963:13;1955:169;;;2030:13;;2018:26;;2064:12;;;;2099:15;;;;1991:1;1984:9;1955:169;;;-1:-1:-1;2140:3:106;;1710:439;-1:-1:-1;;;;;1710:439:106:o;2154:261::-;2333:2;2322:9;2315:21;2296:4;2353:56;2405:2;2394:9;2390:18;2382:6;2353:56;:::i;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:106;;2420:180;-1:-1:-1;2420:180:106:o;5165:184::-;-1:-1:-1;;;5214:1:106;5207:88;5314:4;5311:1;5304:15;5338:4;5335:1;5328:15;5354:184;-1:-1:-1;;;5403:1:106;5396:88;5503:4;5500:1;5493:15;5527:4;5524:1;5517:15;5936:184;-1:-1:-1;;;5985:1:106;5978:88;6085:4;6082:1;6075:15;6109:4;6106:1;6099:15;6125:171;6193:6;6232:10;;;6220;;;6216:27;;6255:12;;;6252:38;;;6270:18;;:::i;:::-;6252:38;6125:171;;;;:::o;6301:168::-;6368:6;6394:10;;;6406;;;6390:27;;6429:11;;;6426:37;;;6443:18;;:::i;6474:128::-;6541:9;;;6562:11;;;6559:37;;;6576:18;;:::i;6607:195::-;6646:3;-1:-1:-1;;6670:5:106;6667:77;6664:103;;6747:18;;:::i;:::-;-1:-1:-1;6794:1:106;6783:13;;6607:195::o;7167:125::-;7232:9;;;7253:10;;;7250:36;;;7266:18;;:::i;7705:476::-;7794:1;7831:5;7794:1;7845:330;7866:7;7856:8;7853:21;7845:330;;;7985:4;-1:-1:-1;;7913:77:106;7907:4;7904:87;7901:113;;;7994:18;;:::i;:::-;8044:7;8034:8;8030:22;8027:55;;;8064:16;;;;8027:55;8143:22;;;;8103:15;;;;7845:330;;;7849:3;7705:476;;;;;:::o;8186:866::-;8235:5;8265:8;8255:80;;-1:-1:-1;8306:1:106;8320:5;;8255:80;8354:4;8344:76;;-1:-1:-1;8391:1:106;8405:5;;8344:76;8436:4;8454:1;8449:59;;;;8522:1;8517:130;;;;8429:218;;8449:59;8479:1;8470:10;;8493:5;;;8517:130;8554:3;8544:8;8541:17;8538:43;;;8561:18;;:::i;:::-;-1:-1:-1;;8617:1:106;8603:16;;8632:5;;8429:218;;8731:2;8721:8;8718:16;8712:3;8706:4;8703:13;8699:36;8693:2;8683:8;8680:16;8675:2;8669:4;8666:12;8662:35;8659:77;8656:159;;;-1:-1:-1;8768:19:106;;;8800:5;;8656:159;8847:34;8872:8;8866:4;8847:34;:::i;:::-;8977:6;-1:-1:-1;;8905:79:106;8896:7;8893:92;8890:118;;;8988:18;;:::i;:::-;9026:20;;8186:866;-1:-1:-1;;;8186:866:106:o;9057:140::-;9115:5;9144:47;9185:4;9175:8;9171:19;9165:4;9144:47;:::i;9392:334::-;9463:2;9457:9;9519:2;9509:13;;-1:-1:-1;;9505:86:106;9493:99;;9622:18;9607:34;;9643:22;;;9604:62;9601:88;;;9669:18;;:::i;:::-;9705:2;9698:22;9392:334;;-1:-1:-1;9392:334:106:o;9731:1110::-;9825:6;9856:2;9899;9887:9;9878:7;9874:23;9870:32;9867:52;;;9915:1;9912;9905:12;9867:52;9948:9;9942:16;9977:18;10018:2;10010:6;10007:14;10004:34;;;10034:1;10031;10024:12;10004:34;10072:6;10061:9;10057:22;10047:32;;10117:7;10110:4;10106:2;10102:13;10098:27;10088:55;;10139:1;10136;10129:12;10088:55;10168:2;10162:9;10190:2;10186;10183:10;10180:36;;;10196:18;;:::i;:::-;10242:2;10239:1;10235:10;10225:20;;10265:28;10289:2;10285;10281:11;10265:28;:::i;:::-;10327:15;;;10397:11;;;10393:20;;;10358:12;;;;10425:19;;;10422:39;;;10457:1;10454;10447:12;10422:39;10481:11;;;;10501:310;10517:6;10512:3;10509:15;10501:310;;;10590:3;10584:10;10571:23;;10638:10;10631:5;10627:22;10620:5;10617:33;10607:131;;10692:1;10721:2;10717;10710:14;10607:131;10751:18;;;10534:12;;;;10789;;;;10501:310;;;10830:5;9731:1110;-1:-1:-1;;;;;;;;9731:1110:106:o;10846:184::-;-1:-1:-1;;;10895:1:106;10888:88;10995:4;10992:1;10985:15;11019:4;11016:1;11009:15;11035:183;11066:1;11092:10;11129:2;11126:1;11122:10;11151:3;11141:37;;11158:18;;:::i;:::-;11196:10;;11192:20;;;;;11035:183;-1:-1:-1;;11035:183:106:o;11223:112::-;11255:1;11281;11271:35;;11286:18;;:::i;:::-;-1:-1:-1;11320:9:106;;11223:112::o;11703:466::-;12001:6;11990:9;11983:25;12044:2;12039;12028:9;12024:18;12017:30;11964:4;12064:56;12116:2;12105:9;12101:18;12093:6;12064:56;:::i;:::-;12056:64;;12156:6;12151:2;12140:9;12136:18;12129:34;11703:466;;;;;;:::o;12174:250::-;12259:1;12269:113;12283:6;12280:1;12277:13;12269:113;;;12359:11;;;12353:18;12340:11;;;12333:39;12305:2;12298:10;12269:113;;;-1:-1:-1;;12416:1:106;12398:16;;12391:27;12174:250::o;12429:568::-;12482:5;12535:3;12528:4;12520:6;12516:17;12512:27;12502:55;;12553:1;12550;12543:12;12502:55;12582:6;12576:13;12608:18;12604:2;12601:26;12598:52;;;12630:18;;:::i;:::-;12674:114;12782:4;-1:-1:-1;;12706:4:106;12702:2;12698:13;12694:86;12690:97;12674:114;:::i;:::-;12813:2;12804:7;12797:19;12859:3;12852:4;12847:2;12839:6;12835:15;12831:26;12828:35;12825:55;;;12876:1;12873;12866:12;12825:55;12889:77;12963:2;12956:4;12947:7;12943:18;12936:4;12928:6;12924:17;12889:77;:::i;13002:654::-;13143:6;13151;13159;13212:2;13200:9;13191:7;13187:23;13183:32;13180:52;;;13228:1;13225;13218:12;13180:52;13261:9;13255:16;13290:18;13331:2;13323:6;13320:14;13317:34;;;13347:1;13344;13337:12;13317:34;13370:60;13422:7;13413:6;13402:9;13398:22;13370:60;:::i;:::-;13360:70;;13470:2;13459:9;13455:18;13449:25;13439:35;;13520:2;13509:9;13505:18;13499:25;13483:41;;13549:2;13539:8;13536:16;13533:36;;;13565:1;13562;13555:12;13533:36;;13588:62;13642:7;13631:8;13620:9;13616:24;13588:62;:::i;:::-;13578:72;;;13002:654;;;;;:::o;13661:441::-;13923:6;13912:9;13905:25;13966:2;13961;13950:9;13946:18;13939:30;13886:4;13986:56;14038:2;14027:9;14023:18;14015:6;13986:56;:::i;:::-;13978:64;;14090:4;14082:6;14078:17;14073:2;14062:9;14058:18;14051:45;13661:441;;;;;;:::o;14107:335::-;14186:6;14239:2;14227:9;14218:7;14214:23;14210:32;14207:52;;;14255:1;14252;14245:12;14207:52;14288:9;14282:16;14321:18;14313:6;14310:30;14307:50;;;14353:1;14350;14343:12;14307:50;14376:60;14428:7;14419:6;14408:9;14404:22;14376:60;:::i;14447:329::-;14488:3;14526:5;14520:12;14553:6;14548:3;14541:19;14569:76;14638:6;14631:4;14626:3;14622:14;14615:4;14608:5;14604:16;14569:76;:::i;:::-;14690:2;14678:15;-1:-1:-1;;14674:88:106;14665:98;;;;14765:4;14661:109;;14447:329;-1:-1:-1;;14447:329:106:o;14781:359::-;14984:2;14973:9;14966:21;14947:4;15004:44;15044:2;15033:9;15029:18;15021:6;15004:44;:::i;:::-;15079:2;15064:18;;15057:34;;;;-1:-1:-1;15122:2:106;15107:18;15100:34;14996:52;14781:359;-1:-1:-1;14781:359:106:o;15145:546::-;15467:6;15456:9;15449:25;15510:3;15505:2;15494:9;15490:18;15483:31;15430:4;15531:57;15583:3;15572:9;15568:19;15560:6;15531:57;:::i;:::-;15636:4;15624:17;;;;15619:2;15604:18;;15597:45;-1:-1:-1;15673:2:106;15658:18;15651:34;15523:65;15145:546;-1:-1:-1;;15145:546:106:o;15696:184::-;15766:6;15819:2;15807:9;15798:7;15794:23;15790:32;15787:52;;;15835:1;15832;15825:12;15787:52;-1:-1:-1;15858:16:106;;15696:184;-1:-1:-1;15696:184:106:o;16254:792::-;16647:6;16636:9;16629:25;16690:3;16685:2;16674:9;16670:18;16663:31;16610:4;16717:57;16769:3;16758:9;16754:19;16746:6;16717:57;:::i;:::-;16822:9;16814:6;16810:22;16805:2;16794:9;16790:18;16783:50;16856:32;16881:6;16873;16856:32;:::i;:::-;16842:46;;16924:6;16919:2;16908:9;16904:18;16897:34;16980:9;16972:6;16968:22;16962:3;16951:9;16947:19;16940:51;17008:32;17033:6;17025;17008:32;:::i;17051:707::-;17419:6;17408:9;17401:25;17462:3;17457:2;17446:9;17442:18;17435:31;17382:4;17489:57;17541:3;17530:9;17526:19;17518:6;17489:57;:::i;:::-;17594:4;17586:6;17582:17;17577:2;17566:9;17562:18;17555:45;17648:9;17640:6;17636:22;17631:2;17620:9;17616:18;17609:50;17676:32;17701:6;17693;17676:32;:::i;:::-;17668:40;;;17745:6;17739:3;17728:9;17724:19;17717:35;17051:707;;;;;;;;:::o;17763:603::-;18071:6;18060:9;18053:25;18114:3;18109:2;18098:9;18094:18;18087:31;18034:4;18141:57;18193:3;18182:9;18178:19;18170:6;18141:57;:::i;:::-;18246:4;18238:6;18234:17;18229:2;18218:9;18214:18;18207:45;18300:9;18292:6;18288:22;18283:2;18272:9;18268:18;18261:50;18328:32;18353:6;18345;18328:32;:::i;18371:407::-;18454:5;18494;18488:12;18536:4;18529:5;18525:16;18519:23;18561:66;18653:2;18649;18645:11;18636:20;;18679:1;18671:6;18668:13;18665:107;;;18759:2;18753;18743:6;18740:1;18736:14;18733:1;18729:22;18725:31;18721:2;18717:40;18713:49;18704:58;;18665:107;;;;18371:407;;;:::o;19036:175::-;19073:3;19117:4;19110:5;19106:16;19146:4;19137:7;19134:17;19131:43;;19154:18;;:::i;:::-;19203:1;19190:15;;19036:175;-1:-1:-1;;19036:175:106:o;19216:792::-;19576:6;19565:9;19558:25;19619:3;19614:2;19603:9;19599:18;19592:31;19539:4;19646:57;19698:3;19687:9;19683:19;19675:6;19646:57;:::i;:::-;19751:4;19739:17;;19734:2;19719:18;;19712:45;19776:12;19824:15;;;19819:2;19804:18;;19797:43;19877:15;;19871:3;19856:19;;19849:44;19930:22;;;19924:3;19909:19;;19902:51;19970:32;19934:6;19987;19970:32;:::i;:::-;19962:40;19216:792;-1:-1:-1;;;;;;;;;19216:792:106:o;20721:319::-;20927:6;20916:9;20909:25;20970:2;20965;20954:9;20950:18;20943:30;20890:4;20990:44;21030:2;21019:9;21015:18;21007:6;20990:44;:::i;21045:168::-;21118:9;;;21149;;21166:15;;;21160:22;;21146:37;21136:71;;21187:18;;:::i;21218:639::-;21468:6;21463:3;21456:19;21438:3;21494:2;21527;21522:3;21518:12;21559:6;21553:13;21624:2;21616:6;21612:15;21645:1;21655:175;21669:6;21666:1;21663:13;21655:175;;;21732:13;;21718:28;;21768:14;;;;21805:15;;;;21691:1;21684:9;21655:175;;;-1:-1:-1;21846:5:106;;21218:639;-1:-1:-1;;;;;;;21218:639:106:o;21862:689::-;22196:3;22185:9;22178:22;22159:4;22223:57;22275:3;22264:9;22260:19;22252:6;22223:57;:::i;:::-;22328:9;22320:6;22316:22;22311:2;22300:9;22296:18;22289:50;22362:32;22387:6;22379;22362:32;:::i;:::-;22348:46;;22430:6;22425:2;22414:9;22410:18;22403:34;22485:9;22477:6;22473:22;22468:2;22457:9;22453:18;22446:50;22513:32;22538:6;22530;22513:32;:::i;22556:896::-;23009:6;22998:9;22991:25;23052:3;23047:2;23036:9;23032:18;23025:31;22972:4;23079:57;23131:3;23120:9;23116:19;23108:6;23079:57;:::i;:::-;23184:9;23176:6;23172:22;23167:2;23156:9;23152:18;23145:50;23218:32;23243:6;23235;23218:32;:::i;:::-;23204:46;;23286:6;23281:2;23270:9;23266:18;23259:34;23342:9;23334:6;23330:22;23324:3;23313:9;23309:19;23302:51;23370:32;23395:6;23387;23370:32;:::i;:::-;23362:40;;;23439:6;23433:3;23422:9;23418:19;23411:35;22556:896;;;;;;;;;:::o;23457:511::-;23708:2;23697:9;23690:21;23671:4;23734:56;23786:2;23775:9;23771:18;23763:6;23734:56;:::i;:::-;23838:14;23830:6;23826:27;23821:2;23810:9;23806:18;23799:55;23902:9;23894:6;23890:22;23885:2;23874:9;23870:18;23863:50;23930:32;23955:6;23947;23930:32;:::i;:::-;23922:40;23457:511;-1:-1:-1;;;;;;23457:511:106:o;23973:615::-;24283:6;24272:9;24265:25;24326:3;24321:2;24310:9;24306:18;24299:31;24246:4;24353:57;24405:3;24394:9;24390:19;24382:6;24353:57;:::i;:::-;24458:14;24450:6;24446:27;24441:2;24430:9;24426:18;24419:55;24522:9;24514:6;24510:22;24505:2;24494:9;24490:18;24483:50;24550:32;24575:6;24567;24550:32;:::i;24811:463::-;25057:66;25049:6;25045:79;25034:9;25027:98;25161:6;25156:2;25145:9;25141:18;25134:34;25204:2;25199;25188:9;25184:18;25177:30;25008:4;25224:44;25264:2;25253:9;25249:18;25241:6;25224:44;:::i;25279:174::-;25346:12;25378:10;;;25390;;;25374:27;;25413:11;;;25410:37;;;25427:18;;:::i;26105:899::-;26528:6;26517:9;26510:25;26571:3;26566:2;26555:9;26551:18;26544:31;26491:4;26598:57;26650:3;26639:9;26635:19;26627:6;26598:57;:::i;:::-;26703:4;26691:17;;26686:2;26671:18;;26664:45;26728:12;26776:15;;;26771:2;26756:18;;26749:43;26829:15;;26823:3;26808:19;;26801:44;26876:3;26861:19;;26854:35;;;26926:22;;;26920:3;26905:19;;26898:51;26966:32;26930:6;26983;26966:32;:::i;:::-;26958:40;26105:899;-1:-1:-1;;;;;;;;;;26105:899:106:o;27009:787::-;27373:3;27362:9;27355:22;27336:4;27400:57;27452:3;27441:9;27437:19;27429:6;27400:57;:::i;:::-;27505:4;27497:6;27493:17;27488:2;27477:9;27473:18;27466:45;27559:14;27551:6;27547:27;27542:2;27531:9;27527:18;27520:55;27623:12;27615:6;27611:25;27606:2;27595:9;27591:18;27584:53;27674:6;27668:3;27657:9;27653:19;27646:35;27730:9;27722:6;27718:22;27712:3;27701:9;27697:19;27690:51;27758:32;27783:6;27775;27758:32;:::i;28410:925::-;28859:66;28851:6;28847:79;28842:3;28835:92;28817:3;28946;28978:2;28974:1;28969:3;28965:11;28958:23;29010:6;29004:13;29026:74;29093:6;29089:1;29084:3;29080:11;29073:4;29065:6;29061:17;29026:74;:::i;:::-;29128:6;29123:3;29119:16;29109:26;;29163:2;29159:1;29155:2;29151:10;29144:22;29197:6;29191:13;29175:29;;29213:75;29279:8;29275:1;29271:2;29267:10;29260:4;29252:6;29248:17;29213:75;:::i;:::-;29308:17;29327:1;29304:25;;28410:925;-1:-1:-1;;;;;28410:925:106:o;29340:339::-;29517:2;29506:9;29499:21;29480:4;29537:44;29577:2;29566:9;29562:18;29554:6;29537:44;:::i;:::-;29529:52;;-1:-1:-1;;;;;29621:6:106;29617:55;29612:2;29601:9;29597:18;29590:83;29340:339;;;;;:::o;29871:287::-;30000:3;30038:6;30032:13;30054:66;30113:6;30108:3;30101:4;30093:6;30089:17;30054:66;:::i;:::-;30136:16;;;;;29871:287;-1:-1:-1;;29871:287:106:o;30423:530::-;30608:3;30646:6;30640:13;30662:66;30721:6;30716:3;30709:4;30701:6;30697:17;30662:66;:::i;:::-;30797:2;30793:15;;;;30810:66;30789:88;30750:16;;;;30775:103;;;30905:2;30894:14;;30887:30;;;;30944:2;30933:14;;30423:530;-1:-1:-1;;30423:530:106:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3722,"length":20},{"start":3909,"length":20}]}}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getEntitiesAtPosition(uint16,uint16)":"69e10c7b","isAtPosition(bytes32,uint16,uint16)":"3fbf0c5a","move(bytes32,uint16,uint16)":"953717d1","spawn(bytes32)":"911c37ae","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0x4dbbe2a11e729ce5ed6569600e0e7237f5fa5e2476f6c049581e2b18830c93b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d056287fefd267378a9a3f20ed25e28db2fa34604729f047e22c2ab016ac2c6a\",\"dweb:/ipfs/QmSunLJDjxsUMJaudJefjgeHHurT4KKsgrhNBSsEaU5jgm\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x8b522a844626b33d69ae186dd26f2f7bfd921bf92ed7ed0cee2b8c349d9b64f9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://647f99949a4584cf4b528415ffea01ad243147548455fe5a8373b042b6af3087\",\"dweb:/ipfs/QmYsgXQDTwrqg7YSJkKtiNZzf63f4jdA4xfni5gb9ap5K5\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9\",\"dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0x672044e8b9e270f5562322c786a77ceeb71d47c8975b525fc082fe27084cc556\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccc3ae6c08d96886fcf246f3081b9eaa0ca79a015095adaf93d5a1887c61ee60\",\"dweb:/ipfs/QmQtik3ZH6tkCY2oyL6MWZjUDyRrDrFnWAAsLb7Ks6JRft\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"move"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"spawn"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/MapSystem.sol":"MapSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0x4dbbe2a11e729ce5ed6569600e0e7237f5fa5e2476f6c049581e2b18830c93b2","urls":["bzz-raw://d056287fefd267378a9a3f20ed25e28db2fa34604729f047e22c2ab016ac2c6a","dweb:/ipfs/QmSunLJDjxsUMJaudJefjgeHHurT4KKsgrhNBSsEaU5jgm"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d","urls":["bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f","dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235","urls":["bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782","dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x8b522a844626b33d69ae186dd26f2f7bfd921bf92ed7ed0cee2b8c349d9b64f9","urls":["bzz-raw://647f99949a4584cf4b528415ffea01ad243147548455fe5a8373b042b6af3087","dweb:/ipfs/QmYsgXQDTwrqg7YSJkKtiNZzf63f4jdA4xfni5gb9ap5K5"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828","urls":["bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9","dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de","urls":["bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5","dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/MapSystem.sol":{"keccak256":"0x672044e8b9e270f5562322c786a77ceeb71d47c8975b525fc082fe27084cc556","urls":["bzz-raw://ccc3ae6c08d96886fcf246f3081b9eaa0ca79a015095adaf93d5a1887c61ee60","dweb:/ipfs/QmQtik3ZH6tkCY2oyL6MWZjUDyRrDrFnWAAsLb7Ks6JRft"],"license":"MIT"}},"version":1},"id":105}
\ No newline at end of file
diff --git a/packages/contracts/src/systems/MapSystem.sol b/packages/contracts/src/systems/MapSystem.sol
index 100db1f11..ab6b1c32e 100644
--- a/packages/contracts/src/systems/MapSystem.sol
+++ b/packages/contracts/src/systems/MapSystem.sol
@@ -54,7 +54,33 @@ contract MapSystem is System {
return;
}
- uint256[] memory availableMonsters = MobsByLevel.getMobIds(distanceFromHome);
+ uint8 startLevel = 0;
+ uint8 endLevel = 0;
+
+ if (distanceFromHome < 5) {
+ startLevel = 1;
+ endLevel = 6;
+ } else {
+ startLevel = 6;
+ endLevel = 11;
+ }
+
+ uint256 numOfMobs = 0;
+ for (uint256 i = startLevel; i < endLevel; i++) {
+ numOfMobs += MobsByLevel.lengthMobIds(i);
+ }
+
+ uint256[] memory availableMonsters = new uint256[](numOfMobs);
+ uint256 index = 0;
+
+ for (uint256 i = startLevel; i < endLevel; i++) {
+ uint256[] memory mobIds = MobsByLevel.getMobIds(i);
+ for (uint256 j = 0; j < mobIds.length; j++) {
+ availableMonsters[index] = mobIds[j];
+ index++;
+ }
+ }
+
require(availableMonsters.length > 0, "No monsters available for this distance");
uint32[] memory rng;
diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json
index 96b29ba53..7d07e1970 100644
--- a/packages/contracts/worlds.json
+++ b/packages/contracts/worlds.json
@@ -1,9 +1,9 @@
{
"31337": {
- "address": "0x7a0b5c8e50f753f800bc5021b1c2f5f5b0d7aa40"
+ "address": "0xa646ad2dc858bf316e10f38b9aed2b0ff7c23505"
},
"84532": {
- "address": "0x1fe1068d8a46e899946743bf25730da6dc61ff8b",
- "blockNumber": 12786394
+ "address": "0x12858302105dcdb6131a1add11389419390596a3",
+ "blockNumber": 12983760
}
-}
+}
\ No newline at end of file
From db5f17de19826b2fdebd1d384b615f260c42b95c Mon Sep 17 00:00:00 2001
From: ECWireless
Date: Tue, 23 Jul 2024 17:51:18 -0600
Subject: [PATCH 4/8] Add better design for TileDetailsPanel in battle
---
.../client/src/components/ActionsPanel.tsx | 37 ++---
.../src/components/TileDetailsPanel.tsx | 135 +++++++++++-------
.../client/src/contexts/CharacterContext.tsx | 8 +-
.../client/src/contexts/CombatContext.tsx | 8 +-
.../src/contexts/MapNavigationContext.tsx | 26 +++-
packages/client/src/pages/Character.tsx | 11 +-
packages/client/src/utils/types.ts | 2 +
7 files changed, 142 insertions(+), 85 deletions(-)
diff --git a/packages/client/src/components/ActionsPanel.tsx b/packages/client/src/components/ActionsPanel.tsx
index 805fe1555..3ad5c8a72 100644
--- a/packages/client/src/components/ActionsPanel.tsx
+++ b/packages/client/src/components/ActionsPanel.tsx
@@ -1,4 +1,4 @@
-import { Button, HStack, Stack, Text, VStack } from '@chakra-ui/react';
+import { Button, HStack, Stack, Text } from '@chakra-ui/react';
import { Has, HasValue, runQuery } from '@latticexyz/recs';
import { useCallback, useMemo, useState } from 'react';
import { Link } from 'react-router-dom';
@@ -9,7 +9,6 @@ import { useMapNavigation } from '../contexts/MapNavigationContext';
import { useMUD } from '../contexts/MUDContext';
import { useToast } from '../hooks/useToast';
import { ActionType } from '../utils/types';
-import { HealthBar } from './HealthBar';
// enum ActionEvents {
// Attack = 'attack',
@@ -61,7 +60,7 @@ export const ActionsPanel = (): JSX.Element => {
systemCalls: { endTurn },
} = useMUD();
const { character, equippedItems, refreshCharacter } = useCharacter();
- const { currentBattle, monster } = useCombat();
+ const { currentBattle, monsterOponent } = useCombat();
const { isSpawned } = useMapNavigation();
const [isAttacking, setIsAttacking] = useState(false);
@@ -71,12 +70,12 @@ export const ActionsPanel = (): JSX.Element => {
return 'You must spawn on the map to start battling.';
}
- if (currentBattle && monster) {
- return `You are currently in a battle with a ${monster.name}.`;
+ if (currentBattle && monsterOponent) {
+ return `You are currently in battle with a ${monsterOponent.name}.`;
}
return 'To initiate a battle, move into a new tile and click on a monster.';
- }, [currentBattle, isSpawned, monster]);
+ }, [currentBattle, isSpawned, monsterOponent]);
const onAttack = useCallback(
async (itemId: string) => {
@@ -95,7 +94,7 @@ export const ActionsPanel = (): JSX.Element => {
throw new Error('Battle not found.');
}
- if (!monster) {
+ if (!monsterOponent) {
throw new Error('Monster not found.');
}
@@ -113,7 +112,7 @@ export const ActionsPanel = (): JSX.Element => {
const { error, success } = await endTurn(
currentBattle.encounterId,
character.characterId,
- monster.monsterId,
+ monsterOponent.monsterId,
basicAttackId,
itemId,
currentBattle.currentTurn,
@@ -136,7 +135,7 @@ export const ActionsPanel = (): JSX.Element => {
currentBattle,
delegatorAddress,
endTurn,
- monster,
+ monsterOponent,
refreshCharacter,
renderError,
],
@@ -146,15 +145,7 @@ export const ActionsPanel = (): JSX.Element => {
{actionText}
- {currentBattle && equippedItems && monster && (
-
- )}
- {currentBattle && equippedItems && monster && (
+ {currentBattle && equippedItems && monsterOponent && (
{equippedItems.length === 0 && (
@@ -184,16 +175,6 @@ export const ActionsPanel = (): JSX.Element => {
))}
)}
- {currentBattle && equippedItems && monster && (
-
- MONSTER STATS:
-
- Attack: {monster.agility}
- Defense: {monster.intelligence}
- Level: {monster.level}
-
-
- )}
{/*
{BATTLE_EVENTS.map((event, i) => (
diff --git a/packages/client/src/components/TileDetailsPanel.tsx b/packages/client/src/components/TileDetailsPanel.tsx
index d6bd521aa..e275b5eb3 100644
--- a/packages/client/src/components/TileDetailsPanel.tsx
+++ b/packages/client/src/components/TileDetailsPanel.tsx
@@ -21,6 +21,7 @@ import { useMapNavigation } from '../contexts/MapNavigationContext';
import { useMUD } from '../contexts/MUDContext';
import { useToast } from '../hooks/useToast';
import { type Character, EncounterType, type Monster } from '../utils/types';
+import { HealthBar } from './HealthBar';
const ROW_HEIGHT = { base: 5, md: 8, lg: 10 };
@@ -33,7 +34,7 @@ export const TileDetailsPanel = (): JSX.Element => {
} = useMUD();
const { character } = useCharacter();
const { isRefreshing, monsters, otherPlayers } = useMapNavigation();
- const { currentBattle } = useCombat();
+ const { currentBattle, monsterOponent } = useCombat();
const [isInitiating, setIsInitiating] = useState(false);
@@ -78,6 +79,71 @@ export const TileDetailsPanel = (): JSX.Element => {
);
}
+ if (character && currentBattle && monsterOponent) {
+ return (
+
+
+
+
+ {monsterOponent.name.slice(0, -3)}
+
+ {monsterOponent.name.slice(-3)}
+
+
+
+
+
+
+ {character.name}
+
+
+
+
+
+
+
+
+ Agility: {monsterOponent.agility}
+
+ Intelligence: {monsterOponent.intelligence}
+
+ Strength: {monsterOponent.strength}
+
+
+
+
+
+ Agility: {character.agility}
+ Intelligence: {character.intelligence}
+ Strength: {character.strength}
+
+
+
+
+ );
+ }
+
+ if (isInitiating) {
+ return (
+
+
+
+ Initiating battle!
+
+
+
+
+ );
+ }
+
return (
@@ -147,40 +213,6 @@ export const TileDetailsPanel = (): JSX.Element => {
)}
- {isInitiating && (
-
-
-
- Initiating battle!
-
-
-
-
- )}
- {currentBattle && (
-
-
-
- Battle in progress!
-
-
-
-
- )}
);
};
@@ -198,43 +230,48 @@ const MonsterRow = ({
monster: Monster;
onClick: () => void;
}) => {
- const { level, name } = monster;
-
- const isFighting = false;
+ const { inBattle, level, name } = monster;
return (
{name}
-
- Level {level}
-
+ {!inBattle && (
+
+ Level {level}
+
+ )}
+ {inBattle && (
+
+ (In battle...)
+
+ )}
);
};
diff --git a/packages/client/src/contexts/CharacterContext.tsx b/packages/client/src/contexts/CharacterContext.tsx
index 2d2f5d02a..093d2b545 100644
--- a/packages/client/src/contexts/CharacterContext.tsx
+++ b/packages/client/src/contexts/CharacterContext.tsx
@@ -13,7 +13,7 @@ import {
useEffect,
useState,
} from 'react';
-import { formatEther, hexToString } from 'viem';
+import { formatEther, hexToString, zeroHash } from 'viem';
import { useToast } from '../hooks/useToast';
import { fetchMetadataFromUri, uriToHttp } from '../utils/helpers';
@@ -56,6 +56,7 @@ export const CharacterProvider = ({
ItemsOwners,
ItemsTokenURI,
GoldBalances,
+ MatchEntity,
Stats,
},
delegatorAddress,
@@ -88,6 +89,9 @@ export const CharacterProvider = ({
const goldBalance =
getComponentValue(GoldBalances, ownerEntity)?.value ?? BigInt(0);
+ const encounterId = getComponentValue(MatchEntity, entity)?.encounterId;
+ const inBattle = !!encounterId && encounterId !== zeroHash;
+
return {
agility: characterStats?.agility.toString() ?? '0',
baseHp: characterStats?.baseHp.toString() ?? '0',
@@ -96,6 +100,7 @@ export const CharacterProvider = ({
entityClass: characterStats?.class ?? 0,
experience: characterStats?.experience.toString() ?? '0',
goldBalance: formatEther(goldBalance).toString(),
+ inBattle,
intelligence: characterStats?.intelligence.toString() ?? '0',
level: characterStats?.level.toString() ?? '0',
locked: characterData.locked,
@@ -132,6 +137,7 @@ export const CharacterProvider = ({
CharactersTokenURI,
delegatorAddress,
GoldBalances,
+ MatchEntity,
publicClient,
Stats,
worldContract,
diff --git a/packages/client/src/contexts/CombatContext.tsx b/packages/client/src/contexts/CombatContext.tsx
index 3663112b8..76853cca1 100644
--- a/packages/client/src/contexts/CombatContext.tsx
+++ b/packages/client/src/contexts/CombatContext.tsx
@@ -9,12 +9,12 @@ import { useMUD } from './MUDContext';
type CombatContextType = {
currentBattle: CombatDetails | null;
- monster: Monster | null;
+ monsterOponent: Monster | null;
};
const CombatContext = createContext({
currentBattle: null,
- monster: null,
+ monsterOponent: null,
});
export type NavigationProviderProps = {
@@ -59,7 +59,7 @@ export const CombatProvider = ({
encounter?.defenders.includes(character.characterId)),
)[0] ?? null;
- const monster = useMemo(() => {
+ const monsterOponent = useMemo(() => {
if (!currentBattle) return null;
return (
@@ -73,7 +73,7 @@ export const CombatProvider = ({
{children}
diff --git a/packages/client/src/contexts/MapNavigationContext.tsx b/packages/client/src/contexts/MapNavigationContext.tsx
index 0ce50b33e..ca171037d 100644
--- a/packages/client/src/contexts/MapNavigationContext.tsx
+++ b/packages/client/src/contexts/MapNavigationContext.tsx
@@ -1,6 +1,7 @@
import { useComponentValue, useEntityQuery } from '@latticexyz/react';
import {
Entity,
+ getComponentValue,
getComponentValueStrict,
Has,
HasValue,
@@ -16,7 +17,13 @@ import {
useState,
} from 'react';
import { useLocation } from 'react-router-dom';
-import { bytesToHex, formatEther, hexToBytes, hexToString } from 'viem';
+import {
+ bytesToHex,
+ formatEther,
+ hexToBytes,
+ hexToString,
+ zeroHash,
+} from 'viem';
import { useToast } from '../hooks/useToast';
import { GAME_BOARD_PATH } from '../Routes';
@@ -61,6 +68,7 @@ export const MapNavigationProvider = ({
Characters,
CharactersTokenURI,
GoldBalances,
+ MatchEntity,
Mobs,
Position,
Spawned,
@@ -147,6 +155,12 @@ export const MapNavigationProvider = ({
uriToHttp(`ipfs://${metadataURI}`)[0],
);
+ const encounterId = getComponentValue(
+ MatchEntity,
+ entity,
+ )?.encounterId;
+ const inBattle = !!encounterId && encounterId !== zeroHash;
+
return {
...fetachedMetadata,
agility: characterStats.agility.toString(),
@@ -155,6 +169,7 @@ export const MapNavigationProvider = ({
entityClass: characterStats.class,
experience: characterStats.experience.toString(),
goldBalance: formatEther(goldBalance as bigint).toString(),
+ inBattle,
intelligence: characterStats.intelligence.toString(),
level: characterStats.level.toString(),
locked: characterData.locked,
@@ -178,6 +193,7 @@ export const MapNavigationProvider = ({
CharactersTokenURI,
delegatorAddress,
GoldBalances,
+ MatchEntity,
publicClient,
renderError,
Stats,
@@ -205,6 +221,11 @@ export const MapNavigationProvider = ({
encodeEntity({ mobId: 'uint256' }, { mobId: BigInt(mobId) }),
);
const monsterStats = getComponentValueStrict(Stats, monsterId);
+ const encounterId = getComponentValue(
+ MatchEntity,
+ monsterId,
+ )?.encounterId;
+ const inBattle = !!encounterId && encounterId !== zeroHash;
const { mobMetadata: metadataURI } = mobData;
@@ -218,6 +239,7 @@ export const MapNavigationProvider = ({
currentHp: monsterStats.currentHp.toString(),
entityClass: monsterStats.class,
experience: monsterStats.experience.toString(),
+ inBattle,
intelligence: monsterStats.intelligence.toString(),
level: monsterStats.level.toString(),
mobId,
@@ -233,7 +255,7 @@ export const MapNavigationProvider = ({
renderError('Failed to fetch monsters.', e);
}
},
- [Mobs, renderError, Stats],
+ [MatchEntity, Mobs, renderError, Stats],
);
useEffect(() => {
diff --git a/packages/client/src/pages/Character.tsx b/packages/client/src/pages/Character.tsx
index 46b1c5c13..f1a552ec2 100644
--- a/packages/client/src/pages/Character.tsx
+++ b/packages/client/src/pages/Character.tsx
@@ -32,7 +32,7 @@ import { useCallback, useEffect, useMemo, useState } from 'react';
import { FaHatWizard } from 'react-icons/fa';
import { GiAxeSword, GiRogue } from 'react-icons/gi';
import { useNavigate, useParams } from 'react-router-dom';
-import { formatEther, hexToString } from 'viem';
+import { formatEther, hexToString, zeroHash } from 'viem';
import { EditCharacterModal } from '../components/EditCharacterModal';
import { ItemCard } from '../components/ItemCard';
@@ -71,6 +71,7 @@ export const CharacterPage = (): JSX.Element => {
ItemsOwners,
ItemsTokenURI,
Levels,
+ MatchEntity,
Stats,
},
isSynced,
@@ -132,6 +133,12 @@ export const CharacterPage = (): JSX.Element => {
uriToHttp(`ipfs://${metadataURI}`)[0],
);
+ const encounterId = getComponentValue(
+ MatchEntity,
+ characterId as Entity,
+ )?.encounterId;
+ const inBattle = !!encounterId && encounterId !== zeroHash;
+
const _character = {
...fetachedMetadata,
agility: characterStats.agility.toString(),
@@ -141,6 +148,7 @@ export const CharacterPage = (): JSX.Element => {
currentHp: characterStats.currentHp.toString(),
experience: characterStats.experience.toString(),
goldBalance: formatEther(goldBalance as bigint).toString(),
+ inBattle,
intelligence: characterStats.intelligence.toString(),
level: characterStats.level.toString(),
locked: characterData.locked,
@@ -165,6 +173,7 @@ export const CharacterPage = (): JSX.Element => {
Characters,
CharactersTokenURI,
GoldBalances,
+ MatchEntity,
renderError,
Stats,
publicClient,
diff --git a/packages/client/src/utils/types.ts b/packages/client/src/utils/types.ts
index 6826adb77..9cf0cb521 100644
--- a/packages/client/src/utils/types.ts
+++ b/packages/client/src/utils/types.ts
@@ -32,6 +32,7 @@ export type Character = CharacterData & EntityStats & Metadata;
export type CharacterData = {
characterId: Entity;
goldBalance: string;
+ inBattle: boolean;
locked: boolean;
owner: string;
tokenId: string;
@@ -67,6 +68,7 @@ export type Metadata = {
export type Monster = Metadata &
EntityStats & {
+ inBattle: boolean;
mobId: string;
monsterId: Entity;
};
From e96cd5f12e4eeb81429662d68cceb01eb075db47 Mon Sep 17 00:00:00 2001
From: ECWireless
Date: Tue, 23 Jul 2024 18:11:08 -0600
Subject: [PATCH 5/8] Make battling in TileDetailsPanel mobile-friendly
---
packages/client/src/components/HealthBar.tsx | 12 ++--
.../src/components/TileDetailsPanel.tsx | 59 +++++++++++++------
2 files changed, 50 insertions(+), 21 deletions(-)
diff --git a/packages/client/src/components/HealthBar.tsx b/packages/client/src/components/HealthBar.tsx
index 2ea18c7a5..202b6003b 100644
--- a/packages/client/src/components/HealthBar.tsx
+++ b/packages/client/src/components/HealthBar.tsx
@@ -14,13 +14,17 @@ export const HealthBar = ({
return (
-
+
HP
@@ -28,7 +32,7 @@ export const HealthBar = ({
-
+
{currentHp} / {baseHp}
diff --git a/packages/client/src/components/TileDetailsPanel.tsx b/packages/client/src/components/TileDetailsPanel.tsx
index e275b5eb3..6c642630c 100644
--- a/packages/client/src/components/TileDetailsPanel.tsx
+++ b/packages/client/src/components/TileDetailsPanel.tsx
@@ -6,6 +6,7 @@ import {
GridItem,
HStack,
Spinner,
+ Stack,
Text,
useBreakpointValue,
VStack,
@@ -27,6 +28,7 @@ const ROW_HEIGHT = { base: 5, md: 8, lg: 10 };
export const TileDetailsPanel = (): JSX.Element => {
const { renderError, renderSuccess } = useToast();
+ const isDesktop = useBreakpointValue({ base: false, lg: true });
const {
delegatorAddress,
@@ -84,46 +86,69 @@ export const TileDetailsPanel = (): JSX.Element => {
-
- {monsterOponent.name.slice(0, -3)}
+
+ {isDesktop
+ ? monsterOponent.name.slice(0, -3)
+ : monsterOponent.name}
- {monsterOponent.name.slice(-3)}
+ {isDesktop && (
+ {monsterOponent.name.slice(-3)}
+ )}
-
-
+
+
-
-
+
+
{character.name}
-
-
+
+
-
+
- Agility: {monsterOponent.agility}
-
+
+ Agility: {monsterOponent.agility}
+
+
Intelligence: {monsterOponent.intelligence}
- Strength: {monsterOponent.strength}
+
+ Strength: {monsterOponent.strength}
+
-
+
- Agility: {character.agility}
- Intelligence: {character.intelligence}
- Strength: {character.strength}
+
+ Agility: {character.agility}
+
+
+ Intelligence: {character.intelligence}
+
+
+ Strength: {character.strength}
+
From f42f58ed1d9daeeafbf2cd99551bbf9257cd56e6 Mon Sep 17 00:00:00 2001
From: ECWireless
Date: Tue, 23 Jul 2024 19:53:58 -0600
Subject: [PATCH 6/8] Add missing CombatSystem ABI
---
packages/contracts/out/CombatSystem.sol/CombatSystem.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/contracts/out/CombatSystem.sol/CombatSystem.json b/packages/contracts/out/CombatSystem.sol/CombatSystem.json
index 2afa68846..d3c177d0f 100644
--- a/packages/contracts/out/CombatSystem.sol/CombatSystem.json
+++ b/packages/contracts/out/CombatSystem.sol/CombatSystem.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"_calculateMagicAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"endTurn","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"executeCombat","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getEncounter","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_encounterData","type":"tuple","internalType":"struct CombatEncounterData","components":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"},{"name":"currentTurn","type":"uint256","internalType":"uint256"},{"name":"maxTurns","type":"uint256","internalType":"uint256"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"}]}],"stateMutability":"view"},{"type":"function","name":"isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"participants","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isParticipant","inputs":[{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isValidPvE","inputs":[{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isValidPvE","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50615cf780620000216000396000f3fe6080604052600436106100c75760003560e01c8063aaa417b711610074578063c6ca743c1161004e578063c6ca743c146101fe578063e1af802c1461021e578063fc88ff631461023357600080fd5b8063aaa417b7146101b2578063b2467894146101d2578063bfea0b85146101f257600080fd5b806345ec9354116100a557806345ec93541461014e5780634dda27e81461017057806398d239b11461019d57600080fd5b806301ffc9a7146100cc578063119df25f14610101578063154510201461012e575b600080fd5b3480156100d857600080fd5b506100ec6100e73660046149da565b610253565b60405190151581526020015b60405180910390f35b34801561010d57600080fd5b506101166102ec565b6040516001600160a01b0390911681526020016100f8565b34801561013a57600080fd5b506100ec610149366004614b9c565b6102fb565b34801561015a57600080fd5b5036601f1901355b6040519081526020016100f8565b34801561017c57600080fd5b5061019061018b366004614c21565b6105d5565b6040516100f89190614ca0565b6101b06101ab366004614da6565b61061f565b005b3480156101be57600080fd5b506101626101cd366004614df6565b6107e9565b3480156101de57600080fd5b506100ec6101ed366004614e7b565b610ac3565b3480156101b057600080fd5b34801561020a57600080fd5b506100ec610219366004614ecb565b610b99565b34801561022a57600080fd5b50610116610c53565b34801561023f57600080fd5b506101b061024e366004614da6565b610c5d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806102e657507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006102f6610e67565b905090565b600160005b855181101561046057610311610c53565b6001600160a01b031663fa1becc487838151811061033157610331614eed565b60200260200101516040518263ffffffff1660e01b815260040161035791815260200190565b602060405180830381865afa158015610374573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103989190614f03565b6103a55760009150610460565b6103ad610c53565b6001600160a01b031663f48a39728783815181106103cd576103cd614eed565b602002602001015186866040518463ffffffff1660e01b815260040161040a9392919092835261ffff918216602084015216604082015260600190565b602060405180830381865afa158015610427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044b9190614f03565b6104585760009150610460565b600101610300565b5080156105cd5760005b84518110156105cb5761047b610c53565b6001600160a01b031663fa1becc486838151811061049b5761049b614eed565b60200260200101516040518263ffffffff1660e01b81526004016104c191815260200190565b602060405180830381865afa1580156104de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105029190614f03565b1561051057600091506105cb565b610518610c53565b6001600160a01b031663f48a397286838151811061053857610538614eed565b602002602001015186866040518463ffffffff1660e01b81526004016105759392919092835261ffff918216602084015216604082015260600190565b602060405180830381865afa158015610592573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b69190614f03565b6105c357600091506105cb565b60010161046a565b505b949350505050565b6106166040805160e0810190915280600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b6102e682610e99565b600061062a84610e99565b9050806020015160001415801561064357506040810151155b6106945760405162461bcd60e51b815260206004820181905260248201527f434f4d4241542053595354454d3a20494e56414c494420454e434f554e54455260448201526064015b60405180910390fd5b80608001518160600151106106eb5760405162461bcd60e51b815260206004820181905260248201527f434f4d4241542053595354454d3a204558504952454420454e434f554e544552604482015260640161068b565b6106f36102ec565b6001600160a01b0316610704610c53565b6001600160a01b0316634f10aabc856040518263ffffffff1660e01b815260040161073191815260200190565b602060405180830381865afa15801561074e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107729190614f25565b6001600160a01b031614801561078d575061078d8385610b99565b6107d95760405162461bcd60e51b815260206004820152601c60248201527f434f4d4241542053595354454d3a204e4f4e2d434f4d424154414e5400000000604482015260640161068b565b6107e38483610f84565b50505050565b60006107fc6107f66102ec565b84610ac3565b6108485760405162461bcd60e51b815260206004820152601d60248201527f434f4d4241542053595354454d3a20494e56414c49442053454e444552000000604482015260640161068b565b60008061086e8560008151811061086157610861614eed565b602002602001015161101e565b9150915085600181111561088457610884614c3a565b60010361096c57610897858584846102fb565b6108e35760405162461bcd60e51b815260206004820152601a60248201527f434f4d4241542053595354454d3a20494e56414c494420505645000000000000604482015260640161068b565b60405142906108fc908890889088908590602001614f42565b60405160208183030381529060405280519060200120935060006040518060e0016040528089600181111561093357610933614c3a565b81526020018381526020016000815260200160008152602001600f815260200187815260200188815250905061096985826110cf565b50505b85600181111561097e5761097e614c3a565b5060005b8451811015610a29576000801b6109b18683815181106109a4576109a4614eed565b6020026020010151611190565b146109fe5760405162461bcd60e51b815260206004820152601e60248201527f434f4d4241542053595354454d3a20454e54495459204f434355504945440000604482015260640161068b565b610a21858281518110610a1357610a13614eed565b602002602001015185611221565b600101610982565b5060005b8551811015610ab9576000801b610a4f8783815181106109a4576109a4614eed565b14610a9c5760405162461bcd60e51b815260206004820152601e60248201527f434f4d4241542053595354454d3a20454e54495459204f434355504945440000604482015260640161068b565b610ab1868281518110610a1357610a13614eed565b600101610a2d565b5050509392505050565b6000805b8251811015610b9257610ad8610c53565b6001600160a01b0316634f10aabc848381518110610af857610af8614eed565b60200260200101516040518263ffffffff1660e01b8152600401610b1e91815260200190565b602060405180830381865afa158015610b3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5f9190614f25565b6001600160a01b0316846001600160a01b031603610b805760019150610b92565b80610b8a81614f9c565b915050610ac7565b5092915050565b600080610ba583610e99565b905060005b8160c0015151811015610bf6578160c001518181518110610bcd57610bcd614eed565b60200260200101518503610be45760019250610bf6565b80610bee81614f9c565b915050610baa565b5081610b925760005b8160a0015151811015610c4b578160a001518181518110610c2257610c22614eed565b60200260200101518503610c395760019250610c4b565b80610c4381614f9c565b915050610bff565b505092915050565b60006102f66112d5565b610c6e30610c696102ec565b6112df565b6000610c7983610e99565b905060005b8251811015610d71576000838281518110610c9b57610c9b614eed565b602090810291909101810151604080516101a08101825281830151815260608084015182860152835192820192909252928201519083015260006080830181905260a0830181905260c0830181905260e083018190526101008301819052610120830181905261014083015243610160830152426101808301529150610d2181886112f5565b905080610140015115610d3d57610d3d816060015160016114d6565b80610120015115610d5757610d57816040015160016114d6565b610d67868560600151858461155a565b5050600101610c7e565b5060008060005b8360a0015151811015610dc657610dab8460a001518281518110610d9e57610d9e614eed565b6020026020010151611671565b15610dbe5782610dba81614f9c565b9350505b600101610d78565b5060005b8360c0015151811015610e0b57610df08460c001518281518110610d9e57610d9e614eed565b15610e035781610dff81614f9c565b9250505b600101610dca565b508260c0015151811480610e2357508260a001515182145b80610e35575082608001518360600151145b15610e4b57610e44858761170f565b5050610e5f565b60608301805190610e5b82614f9c565b9052505b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610e965750335b90565b610eda6040805160e0810190915280600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f1057610f10614eed565b602090810291909101015260008080610f697f74625544000000000000000000000000436f6d626174456e636f756e74657200857e81050201202020200000000000000000000000000000000000000000000000611a30565b925092509250610f7a838383611b00565b9695505050505050565b6110198260018484604051602001610f9d929190614fb6565b60408051601f1981840301815290829052610fbc939291602401615086565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a400000000000000000000000000000000000000000000000000000000179052611bad565b505050565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061105857611058614eed565b6020908102919091010152600080806110b17f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000611a30565b9250925092506110c2838383611c5b565b9550955050505050915091565b60006110f282600001518360200151846040015185606001518660800151611c7e565b905060006111088360a001518460c00151611cb3565b9050600061111e8460a001518560c00151611cde565b6040805160018082528183019092529192506000919060208083019080368337019050509050858160008151811061115857611158614eed565b6020908102919091010152610e5f7f74625544000000000000000000000000436f6d626174456e636f756e7465720082868686611d1a565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106111c9576111c9614eed565b602090810291909101015260006105cd7f746255440000000000000000000000004d61746368456e74697479000000000083837e41030020200100000000000000000000000000000000000000000000000000611dcf565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061125757611257614eed565b6020026020010181815250506110197f746255440000000000000000000000004d61746368456e74697479000000000060001b826000856040516020016112a091815260200190565b60408051601f198184030181529190527e41030020200100000000000000000000000000000000000000000000000000611e8c565b60006102f6611f02565b6112f16112eb83611f41565b82611fde565b5050565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101829052610180810191909152600061136d846000015161202a565b90508060200151516000036113c45760405162461bcd60e51b815260206004820152601560248201527f616374696f6e20646f6573206e6f742065786973740000000000000000000000604482015260640161068b565b805160038111156113d7576113d7614c3a565b60ff1660010361148657600081602001518060200190518101906113fb919061511d565b905061141681866040015187606001518860200151886120df565b151560c0880152158015608088015260e0870191909152611480576000620186a08660e0015161144691906151c8565b611453876060015161251e565b61145d9190615212565b9050600081136114705760016101408701525b61147e8660600151826125b0565b505b506114ce565b60405162461bcd60e51b815260206004820152601a60248201527f616374696f6e2074797065206e6f74207265636f676e697a6564000000000000604482015260640161068b565b509192915050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061150c5761150c614eed565b6020026020010181815250506110197f746255440000000000000000000000004d61746368456e74697479000000000060001b826002856040516020016112a091151560f81b815260010190565b60006115aa826000015183602001518460400151856060015186608001518760a001518860c001518960e001518a61010001518b61012001518c61014001518d61016001518e6101800151612664565b6040805160038082526080820190925291925060009160609183919060208201848036833701905050905087816000815181106115e9576115e9614eed565b6020026020010181815250508660001b8160018151811061160c5761160c614eed565b6020026020010181815250508560001b8160028151811061162f5761162f614eed565b60209081029190910101526116677f6f745544000000000000000000000000416374696f6e4f7574636f6d6500000082868686611d1a565b5050505050505050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106116aa576116aa614eed565b602090810291909101015260006117037f746255440000000000000000000000004d61746368456e7469747900000000008360027e41030020200100000000000000000000000000000000000000000000000000611dcf565b90506105cd8160f81c90565b600080600061171d85610e99565b905046617a69036117335743604082015261173a565b4260408201525b600080611745614984565b60005b8460c00151518110156117b25761177b8560c00151828151811061176e5761176e614eed565b60200260200101516126b1565b91508160e001518461178d9190615232565b935060008260a0015113156117aa57826117a681614f9c565b9350505b600101611748565b506000805b8560a001515181101561186c578560a0015181815181106117da576117da614eed565b602002602001015191506117ed82611671565b15611864576117fb82612759565b6118059089615232565b97506118158360e001518a6127eb565b61181f9088615232565b965061182c826000611221565b61186489838860c001518960c00151518d6118479190615245565b8151811061185757611857614eed565b6020026020010151612808565b6001016117b7565b506000805b8660c0015151811015611a18578660c00151818151811061189457611894614eed565b602002602001015191506118a6610c53565b6001600160a01b031663fa1becc4836040518263ffffffff1660e01b81526004016118d391815260200190565b602060405180830381865afa1580156118f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119149190614f03565b15611a0557611922826126b1565b935060008460a0015113156119fb5787156119c75761193f610c53565b6001600160a01b031663fda0ce5083611958888c615259565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526024820152604401600060405180830381600087803b1580156119ae57600080fd5b505af11580156119c2573d6000803e3d6000fd5b505050505b6000891180156119d75750600085115b156119fb576119e6858a615259565b8460c0018181516119f79190615232565b9052505b611a0582856129a7565b611a10826000611221565b600101611871565b50611a238a876110cf565b5050505050509250929050565b6060600060606000611a40611f02565b9050306001600160a01b03821603611a6957611a5d878787612a50565b93509350935050611af7565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611ab2908a908a908a9060040161526d565b600060405180830381865afa158015611acf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a5d91908101906152fa565b93509350939050565b611b416040805160e0810190915280600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b611b4a84612b58565b6080860181905260608601829052604086018390526020860184905285856001811115611b7957611b79614c3a565b6001811115611b8a57611b8a614c3a565b8152505050505050611b9c8383612ba8565b60c083015260a08201529392505050565b6060600080611bc3611bbe8561535d565b612bf7565b91509150816000801b03611c29576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff0000000000000000000000000000000000000000000000000000000060003516600482015260240161068b565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526105cd8285612cba565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b60608585858585604051602001611c999594939291906153a9565b604051602081830303815290604052905095945050505050565b6000611cd783516020028351602002606081901b603883901b838301171792915050565b9392505050565b6060611ce983612d95565b611cf283612d95565b604051602001611d039291906153e4565b604051602081830303815290604052905092915050565b6000611d24611f02565b9050306001600160a01b03821603611d4857611d438686868686612da5565b610e5f565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611d959089908990899089908990600401615413565b600060405180830381600087803b158015611daf57600080fd5b505af1158015611dc3573d6000803e3d6000fd5b50505050505050505050565b600080611dda611f02565b9050306001600160a01b03821603611e0057611df886868686612dc2565b9150506105cd565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611e4b908990899089908990600401615464565b602060405180830381865afa158015611e68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df89190615493565b6000611e96611f02565b9050306001600160a01b03821603611eb557611d438686868686612df8565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611d9590899089908990899089906004016154ac565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611f3c573391505090565b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110611f8657611f86614eed565b602090810291909101015260006105cd7f7462776f726c6400000000000000000053797374656d5265676973747279000083837e20010020000000000000000000000000000000000000000000000000000000611dcf565b611fe88282612e0d565b6112f157611ff582612e6b565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161068b9291906154f3565b60408051808201909152600081526060602082015260408051600180825281830190925260009160208083019080368337019050509050828160008151811061207557612075614eed565b6020908102919091010152600080806120ce7f74625544000000000000000000000000416374696f6e73000000000000000000857e01010101000000000000000000000000000000000000000000000000000000611a30565b925092509250610f7a838383612fa8565b6000806000806120ed610c53565b6001600160a01b03166354f1f2db896040518263ffffffff1660e01b815260040161211a91815260200190565b61010060405180830381865afa158015612138573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215c919061551e565b90506000612168610c53565b6001600160a01b03166354f1f2db896040518263ffffffff1660e01b815260040161219591815260200190565b61010060405180830381865afa1580156121b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121d7919061551e565b905060006121e3610c53565b6001600160a01b031663810c1dc1896040518263ffffffff1660e01b815260040161221091815260200190565b600060405180830381865afa15801561222d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612255919081019061558d565b905060008260a001511315612503576040517f4dddf8370000000000000000000000000000000000000000000000000000000081526004810188905260009073__$227e4555c1f608352b26068e438454dd8b$__90634dddf83790602401600060405180830381865af41580156122d0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122f89190810190615644565b905061234f8160008151811061231057612310614eed565b602002602001015167ffffffffffffffff168260018151811061233557612335614eed565b602002602001015167ffffffffffffffff168e8787613005565b909650945085156124b657620186a060008d6020015185606001516123749190615212565b13612380576001612394565b8c6020015184606001516123949190615212565b61239e91906156dd565b8451620186a0906123b190600290615259565b8460a001518560800151856002815181106123ce576123ce614eed565b602002602001015167ffffffffffffffff166123ea9190615245565b11156124295784608001518460028151811061240857612408614eed565b602002602001015167ffffffffffffffff166124249190615245565b61242f565b8460a001515b8f5161243b91906156f4565b61244591906156f4565b61244f9190615714565b6124599190615212565b965084156124b15761249f6040518060400160405280600581526020017f4352495421000000000000000000000000000000000000000000000000000000815250613098565b6124aa600288615714565b9650600194505b6124fd565b6124f46040518060400160405280600581526020017f4d49535321000000000000000000000000000000000000000000000000000000815250613098565b60009650600095505b50612510565b6000955060009450600093505b505050955095509592505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061255757612557614eed565b602090810291909101015260006105cd7f74625544000000000000000000000000537461747300000000000000000000008360057ee1080020200120202020200000000000000000000000000000000000000000611dcf565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106125e6576125e6614eed565b6020026020010181815250506110197f746255440000000000000000000000005374617473000000000000000000000060001b8260058560405160200161262f91815260200190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611e8c565b60608d8d8d8d8d8d8d8d8d8d8d8d8d60405160200161268f9d9c9b9a99989796959493929190615760565b60405160208183030381529060405290509d9c50505050505050505050505050565b6126b9614984565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106126ef576126ef614eed565b6020908102919091010152600080806127487f7462554400000000000000000000000053746174730000000000000000000000857ee1080020200120202020200000000000000000000000000000000000000000611a30565b925092509250610f7a83838361310c565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061279257612792614eed565b602090810291909101015260006105cd7f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611dcf565b60006127fe8366038d7ea4c680006156dd565b611cd79083615245565b6000612812610c53565b6001600160a01b03166353d64640846040518263ffffffff1660e01b815260040161283f91815260200190565b602060405180830381865afa15801561285c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128809190615493565b9050600061288d82613184565b8060200190518101906128a09190615851565b905060005b8160c0015151811015610e5f5760006128da8360c0015183815181106128cd576128cd614eed565b60200260200101516131f9565b9050806128ea620186a089615245565b111561299e576128f8610c53565b6001600160a01b031663cd9caca2868560c00151858151811061291d5761291d614eed565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526004810192909252602482015260016044820152606401600060405180830381600087803b15801561298557600080fd5b505af1158015612999573d6000803e3d6000fd5b505050505b506001016128a5565b60006129d9826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161328e565b604080516001808252818301909252919250600091606091839190602080830190803683370190505090508581600081518110612a1857612a18614eed565b6020908102919091010152610e5f7f746255440000000000000000000000005374617473000000000000000000000082868686611d1a565b6060600060606000612a61856132cc565b9050612a6e8787836132ef565b93506000612a7b86613328565b90508015612b4d57612a8d8888613365565b935066ffffffffffffff841667ffffffffffffffff811115612ab157612ab1614a1c565b6040519080825280601f01601f191660200182016040528015612adb576020820181803683370190505b5092506020830160005b828160ff161015612b4a576000612afd8b8b84613378565b90506000612b1a888460ff166028026038011c64ffffffffff1690565b9050612b2982600083876133f8565b612b338185615232565b935050508080612b4290615919565b915050612ae5565b50505b505093509350939050565b6000806000806000612b6e866000016020015190565b60f81c6001811115612b8257612b82614c3a565b602187015160418801516061890151608190990151929991989097509550909350915050565b6060806000603885901c64ffffffffff16612bcc612bc78684846134c4565b613552565b935090508064ffffffffff606087901c1601612bec612bc78684846134c4565b925050509250929050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110612c5057612c50614eed565b602090810291909101015260008080612ca97f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000611a30565b9250925092506110c2838383613563565b60606000612cc66112d5565b90506001600160a01b0381163003612d07576000612cee612ce5610e67565b6000878761356f565b9350905080612d0057612d00836136aa565b50506102e6565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890612d4e9087908790600401615938565b6000604051808303816000875af1158015612d6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105cd9190810190615951565b606081611cd781602060006136b2565b612dbb8585858585612db68b613712565b613797565b5050505050565b6000612def612dd18686613ad0565b60ff858116601b0360080285901c16612dea8587613b26565b613b5f565b95945050505050565b612dbb8585612e078487613b26565b85613bb0565b6000612e5b7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613e54565b80611cd75750611cd78383613e54565b606081601081901b6000612e7e83613f1d565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ed957612ed47fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613f34565b612f10565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000831615612f4657612f4183613f34565b612f7d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612f8f93929190615986565b6040516020818303038152906040529350505050919050565b604080518082019091526000815260606020820152612fc684613fd8565b81906003811115612fd957612fd9614c3a565b90816003811115612fec57612fec614c3a565b905250612ff98383613ff4565b60208201529392505050565b60008080620249f06130196103e88a615245565b61302b87602001518960400151614017565b6130359190615232565b61303f91906156dd565b90506000620186a085602001516103e88a61305a9190615245565b6130649190615232565b61306e91906156dd565b90508082119350831561308c5760026130878284615259565b101592505b50509550959350505050565b613109816040516024016130ac9190615a14565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052614044565b50565b613114614984565b61311d8461404d565b60e0890181905260c0890182905260a08901839052608089018490526060890185905288602081016040820188600281111561315b5761315b614c3a565b600281111561316c5761316c614c3a565b90529790975250505093909252509195945050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b816000815181106131c1576131c1614eed565b602090810291909101015260006105cd7f746255440000000000000000000000004d6f627300000000000000000000000083836140bb565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061323557613235614eed565b602090810291909101015260006105cd7f746255440000000000000000000000004974656d7300000000000000000000008360017e21020101200000000000000000000000000000000000000000000000000000611dcf565b606088888888888888886040516020016132af989796959493929190615a27565b604051602081830303815290604052905098975050505050505050565b600060086132dc60026020615a6c565b6132e691906156dd565b9190911c919050565b60608160000361330e5750604080516020810190915260008152611cd7565b600061331a8585613ad0565b9050612def8160008561417a565b6000600860018061333b60026020615a6c565b6133459190615a6c565b61334f9190615a6c565b61335991906156dd565b8260ff911c1692915050565b6000611cd7613374848461419d565b5490565b6000838360405160200161338d929190615a7f565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561347f57602083106134225760208304840193506020838161341e5761341e6151b2565b0692505b821561347f5760208390036000818410156134455750600019600884021c61344f565b50600019600882021c5b8554600886021b8184511682198216178452508184116134705750506107e3565b50600194909401939182900391015b5b602082106134a15783548152600190930192601f1990910190602001613480565b81156107e3576000600019600884021c8251865482191691161782525050505050565b6000818311806134d45750835182115b15613511578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161068b93929190615abb565b6020840161351f8482615232565b9050600061352d8585615a6c565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611cd783602060006141f3565b600080611c7285614262565b6000606060008061357f86614277565b90925090506001600160a01b0382166135d0578561359c87612e6b565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161068b929190615938565b806135df576135df868961431b565b861561364b577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061363382614325565b9050613648826136438b84615232565b6143b6565b50505b60006136578760101b90565b7fffffffffffffffffffffffffffff000000000000000000000000000000000000161461368f5761368a8888848861446a565b61369b565b61369b888884886144e2565b90999098509650505050505050565b805160208201fd5b825160609060006136c385836156dd565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015613706578051871b835291870191600191909101906020016136e5565b50505050509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161376157507e60030220202000000000000000000000000000000000000000000000000000919050565b6102e661378e7f746273746f72650000000000000000005461626c65730000000000000000000084614543565b60206000613b5f565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361382357857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516138169493929190615ae0565b60405180910390a2610e5f565b600061382e8761455f565b905060005b815181101561390757600082828151811061385057613850614eed565b6020026020010151905061387c6001826affffffffffffffffffffff19166145e890919063ffffffff16565b156138fe576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906138cb908c908c908c908c908c908c90600401615b2a565b600060405180830381600087803b1580156138e557600080fd5b505af11580156138f9573d6000803e3d6000fd5b505050505b50600101613833565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161393e9493929190615ae0565b60405180910390a260006139528888613ad0565b9050600060208701905061396a826000895184614606565b600061397585613328565b11156139f95760006139878a8a61419d565b878155905060208601915060008060005b6139a188613328565b8160ff1610156139f4576139b68d8d83613378565b92506139d18a8260ff166028026038011c64ffffffffff1690565b91506139e08360008488614606565b6139ea8286615232565b9450600101613998565b505050505b60005b8351811015611dc3576000848281518110613a1957613a19614eed565b60200260200101519050613a456002826affffffffffffffffffffff19166145e890919063ffffffff16565b15613ac7576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90613a94908e908e908e908e908e908e90600401615b2a565b600060405180830381600087803b158015613aae57600080fd5b505af1158015613ac2573d6000803e3d6000fd5b505050505b506001016139fc565b60008282604051602001613ae5929190615a7f565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015613b5757613b4d60ff601b83900360080287901c1683615232565b9150600101613b2b565b509392505050565b600060208210613b8557602082048401935060208281613b8157613b816151b2565b0691505b508254600882021b602082900380841115613b57576001850154600882021c82179150509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff0000000000000000000000000000000000000000000000000000000000001603613c3a57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051613c2d93929190615b83565b60405180910390a26107e3565b6000613c468585613ad0565b90506000613c538661455f565b905060005b8151811015613d28576000828281518110613c7557613c75614eed565b60200260200101519050613ca16004826affffffffffffffffffffff19166145e890919063ffffffff16565b15613d1f576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90613cec908b908b908b908b90600401615bb6565b600060405180830381600087803b158015613d0657600080fd5b505af1158015613d1a573d6000803e3d6000fd5b505050505b50600101613c58565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051613d5d93929190615b83565b60405180910390a2613d78828565ffffffffffff16856146c5565b60005b8151811015613e4b576000828281518110613d9857613d98614eed565b60200260200101519050613dc46008826affffffffffffffffffffff19166145e890919063ffffffff16565b15613e42576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190613e0f908b908b908b908b90600401615bb6565b600060405180830381600087803b158015613e2957600080fd5b505af1158015613e3d573d6000803e3d6000fd5b505050505b50600101613d7b565b50505050505050565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613e8d57613e8d614eed565b602002602001018181525050826001600160a01b031660001b81600181518110613eb957613eb9614eed565b60209081029190910101526000613f117f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611dcf565b9050612def8160f81c90565b6000613f2b60706010615232565b9190911b919050565b606060005b6010811015613f99577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613f9957600101613f39565b604080517fffffffffffffffffffffffffffffffff000000000000000000000000000000008516602082015281516030909101909152818152806105cd565b602081015160009060f81c60038111156102e6576102e6614c3a565b60606000603884901c64ffffffffff16612def6140128584846134c4565b6146db565b60008082126140315761402a8284615232565b90506102e6565b61403a82615bef565b61402a9084615a6c565b6131098161475b565b600080600080600080600080614067896000016020015190565b60408a015160608b0151919950975060f81c600281111561408a5761408a614c3a565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b606060006140c7611f02565b9050306001600160a01b038216036140ec576140e485858561477c565b915050611cd7565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061413590889088908890600401615c27565b600060405180830381865afa158015614152573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526140e49190810190615951565b60405160208101601f19603f8484010116604052828252613b57858585846133f8565b600082826040516020016141b2929190615a7f565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b606060006142018560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281614227576142276151b2565b04905060405193506020840160208202810160405281855260005b82811015613706578451871c825293870193602090910190600101614242565b602081015160408201516000905b9050915091565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106142b1576142b1614eed565b60209081029190910101526000808061430a7f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000612a50565b9250925092506110c28383836147b6565b611fe882826147c2565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061435e5761435e614eed565b602090810291909101015260006105cd7f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000612dc2565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106143ec576143ec614eed565b6020026020010181815250506110197f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161443591815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000612df8565b60006060836001600160a01b03166000614485858989614820565b6040516144929190615c53565b60006040518083038185875af1925050503d80600081146144cf576040519150601f19603f3d011682016040523d82523d6000602084013e6144d4565b606091505b509097909650945050505050565b60006060836001600160a01b03166144fb848888614820565b6040516145089190615c53565b600060405180830381855af49150503d80600081146144cf576040519150601f19603f3d011682016040523d82523d6000602084013e6144d4565b6040805160208101849052908101829052600090606001613ae5565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061459957614599614eed565b602090810291909101015260006145d17f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361477c565b90506105cd6145e382600084516134c4565b61484f565b60008160ff16826145f98560581c90565b1660ff1614905092915050565b821561468057602083106146305760208304840193506020838161462c5761462c6151b2565b0692505b82156146805760208390036000600019600885021c1990506008850281811c91508351811c90508119875416828216178755508184116146715750506107e3565b50600194909401939182900391015b5b602082106146a25780518455600190930192601f1990910190602001614681565b81156107e3576000600019600884021c8554835182191691161785555050505050565b611019838383516146d68560200190565b614606565b606060006146e98360801c90565b90506fffffffffffffffffffffffffffffffff83168067ffffffffffffffff81111561471757614717614a1c565b6040519080825280601f01601f191660200182016040528015614741576020820181803683370190505b50925060208301614753838284614860565b505050919050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60606105cd61478c858585613378565b60006147b18561479c8989613365565b9060ff166028026038011c64ffffffffff1690565b61417a565b600080611c72856148ab565b60006148107f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836148c7565b80611cd75750611cd783836148c7565b606083838360405160200161483793929190615c6f565b60405160208183030381529060405290509392505050565b60606000611cd783601560006141f3565b5b60208110614880578251825260209283019290910190601f1901614861565b8060000361488d57505050565b6000600019600883021c905080835116811985511617835250505050565b6020810151603482015160609190911c9060009060f81c614270565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061490057614900614eed565b602002602001018181525050826001600160a01b031660001b8160018151811061492c5761492c614eed565b60209081029190910101526000613f117f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000612dc2565b6040518061010001604052806000815260200160008152602001600060028111156149b1576149b1614c3a565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000602082840312156149ec57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611cd757600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff81118282101715614a5557614a55614a1c565b60405290565b60405160a0810167ffffffffffffffff81118282101715614a5557614a55614a1c565b604051610100810167ffffffffffffffff81118282101715614a5557614a55614a1c565b604051610120810167ffffffffffffffff81118282101715614a5557614a55614a1c565b604051601f8201601f1916810167ffffffffffffffff81118282101715614aef57614aef614a1c565b604052919050565b600067ffffffffffffffff821115614b1157614b11614a1c565b5060051b60200190565b600082601f830112614b2c57600080fd5b81356020614b41614b3c83614af7565b614ac6565b8083825260208201915060208460051b870101935086841115614b6357600080fd5b602086015b84811015614b7f5780358352918301918301614b68565b509695505050505050565b803561ffff81168114611f3c57600080fd5b60008060008060808587031215614bb257600080fd5b843567ffffffffffffffff80821115614bca57600080fd5b614bd688838901614b1b565b95506020870135915080821115614bec57600080fd5b50614bf987828801614b1b565b935050614c0860408601614b8a565b9150614c1660608601614b8a565b905092959194509250565b600060208284031215614c3357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60028110614c6057614c60614c3a565b9052565b60008151808452602080850194506020840160005b83811015614c9557815187529582019590820190600101614c79565b509495945050505050565b60208152614cb2602082018351614c50565b602082015160408201526040820151606082015260608201516080820152608082015160a0820152600060a083015160e060c0840152614cf6610100840182614c64565b905060c0840151601f198483030160e0850152612def8282614c64565b600082601f830112614d2457600080fd5b81356020614d34614b3c83614af7565b82815260079290921b84018101918181019086841115614d5357600080fd5b8286015b84811015614b7f5760808189031215614d705760008081fd5b614d78614a32565b8135815284820135858201526040808301359082015260608083013590820152835291830191608001614d57565b600080600060608486031215614dbb57600080fd5b8335925060208401359150604084013567ffffffffffffffff811115614de057600080fd5b614dec86828701614d13565b9150509250925092565b600080600060608486031215614e0b57600080fd5b833560028110614e1a57600080fd5b9250602084013567ffffffffffffffff80821115614e3757600080fd5b614e4387838801614b1b565b93506040860135915080821115614e5957600080fd5b50614dec86828701614b1b565b6001600160a01b038116811461310957600080fd5b60008060408385031215614e8e57600080fd5b8235614e9981614e66565b9150602083013567ffffffffffffffff811115614eb557600080fd5b614ec185828601614b1b565b9150509250929050565b60008060408385031215614ede57600080fd5b50508035926020909101359150565b634e487b7160e01b600052603260045260246000fd5b600060208284031215614f1557600080fd5b81518015158114611cd757600080fd5b600060208284031215614f3757600080fd5b8151611cd781614e66565b614f4c8186614c50565b608060208201526000614f626080830186614c64565b8281036040840152614f748186614c64565b91505082606083015295945050505050565b634e487b7160e01b600052601160045260246000fd5b60006000198203614faf57614faf614f86565b5060010190565b60006040808301858452602060406020860152818651808452606093506060870191506020880160005b8281101561501757815180518552858101518686015287810151888601528601518685015260809093019290840190600101614fe0565b50919998505050505050505050565b6003811061310957613109614c3a565b60005b83811015615051578181015183820152602001615039565b50506000910152565b60008151808452615072816020860160208601615036565b601f01601f19169290920160200192915050565b83815261509283615026565b826020820152606060408201526000612def606083018461505a565b600082601f8301126150bf57600080fd5b815160206150cf614b3c83614af7565b8083825260208201915060208460051b8701019350868411156150f157600080fd5b602086015b84811015614b7f57805160ff811681146151105760008081fd5b83529183019183016150f6565b60006020828403121561512f57600080fd5b815167ffffffffffffffff8082111561514757600080fd5b9083019060a0828603121561515b57600080fd5b615163614a5b565b8251815260208301516020820152604083015160408201526060830151606082015260808301518281111561519757600080fd5b6151a3878286016150ae565b60808301525095945050505050565b634e487b7160e01b600052601260045260246000fd5b6000826151d7576151d76151b2565b60001983147f80000000000000000000000000000000000000000000000000000000000000008314161561520d5761520d614f86565b500590565b8181036000831280158383131683831282161715610b9257610b92614f86565b808201808211156102e6576102e6614f86565b600082615254576152546151b2565b500690565b600082615268576152686151b2565b500490565b8381526060602082015260006152866060830185614c64565b9050826040830152949350505050565b600082601f8301126152a757600080fd5b815167ffffffffffffffff8111156152c1576152c1614a1c565b6152d46020601f19601f84011601614ac6565b8181528460208386010111156152e957600080fd5b6105cd826020830160208701615036565b60008060006060848603121561530f57600080fd5b835167ffffffffffffffff8082111561532757600080fd5b61533387838801615296565b945060208601519350604086015191508082111561535057600080fd5b50614dec86828701615296565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156147535760049290920360031b82901b161692915050565b6000600287106153bb576153bb614c3a565b5060f89590951b8552600185019390935260218401919091526041830152606182015260810190565b600083516153f6818460208801615036565b83519083019061540a818360208801615036565b01949350505050565b85815260a06020820152600061542c60a0830187614c64565b828103604084015261543e818761505a565b90508460608401528281036080840152615458818561505a565b98975050505050505050565b84815260806020820152600061547d6080830186614c64565b60ff949094166040830152506060015292915050565b6000602082840312156154a557600080fd5b5051919050565b85815260a0602082015260006154c560a0830187614c64565b60ff8616604084015282810360608401526154e0818661505a565b9150508260808301529695505050505050565b604081526000615506604083018561505a565b90506001600160a01b03831660208301529392505050565b6000610100828403121561553157600080fd5b615539614a7e565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201528091505092915050565b60006020828403121561559f57600080fd5b815167ffffffffffffffff808211156155b757600080fd5b9083019061010082860312156155cc57600080fd5b6155d4614a7e565b825181526020830151828111156155ea57600080fd5b6155f6878286016150ae565b60208301525060408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e082015280935050505092915050565b6000602080838503121561565757600080fd5b825167ffffffffffffffff8082111561566f57600080fd5b818501915085601f83011261568357600080fd5b8151615691614b3c82614af7565b81815260059190911b830184019084810190888311156156b057600080fd5b938501935b8285101561545857845184811681146156ce5760008081fd5b825293850193908501906156b5565b80820281158282048414176102e6576102e6614f86565b8082018281126000831280158216821582161715610c4b57610c4b614f86565b808202600082127f80000000000000000000000000000000000000000000000000000000000000008414161561574c5761574c614f86565b81810583148215176102e6576102e6614f86565b8d81528c60208201528b60408201528a606082015289151560f81b608082015288151560f81b608182015261579c6082820189151560f81b9052565b8660838201528560a38201526157b960c3820186151560f81b9052565b92151560f81b60c484015260c583019190915260e5820152610105019a9950505050505050505050565b805160038110611f3c57600080fd5b600082601f83011261580357600080fd5b81516020615813614b3c83614af7565b8083825260208201915060208460051b87010193508684111561583557600080fd5b602086015b84811015614b7f578051835291830191830161583a565b60006020828403121561586357600080fd5b815167ffffffffffffffff8082111561587b57600080fd5b90830190610120828603121561589057600080fd5b615898614aa2565b82518152602083015160208201526158b2604084016157e3565b6040820152606083015160608201526080830151608082015260a083015160a082015260c0830151828111156158e757600080fd5b6158f3878286016157f2565b60c08301525060e083810151908201526101009283015192810192909252509392505050565b600060ff821660ff810361592f5761592f614f86565b60010192915050565b8281526040602082015260006105cd604083018461505a565b60006020828403121561596357600080fd5b815167ffffffffffffffff81111561597a57600080fd5b6105cd84828501615296565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516159e7816003860160208901615036565b808401905081600382015284519150615a07826004830160208801615036565b0160040195945050505050565b602081526000611cd7602083018461505a565b888152876020820152615a3987615026565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b818103818111156102e6576102e6614f86565b8281526000602080830184516020860160005b82811015615aae57815184529284019290840190600101615a92565b5091979650505050505050565b606081526000615ace606083018661505a565b60208301949094525060400152919050565b608081526000615af36080830187614c64565b8281036020840152615b05818761505a565b90508460408401528281036060840152615b1f818561505a565b979650505050505050565b86815260c060208201526000615b4360c0830188614c64565b8281036040840152615b55818861505a565b90508560608401528281036080840152615b6f818661505a565b9150508260a0830152979650505050505050565b606081526000615b966060830186614c64565b65ffffffffffff851660208401528281036040840152610f7a818561505a565b848152608060208201526000615bcf6080830186614c64565b65ffffffffffff851660408401528281036060840152615b1f818561505a565b60007f80000000000000000000000000000000000000000000000000000000000000008203615c2057615c20614f86565b5060000390565b838152606060208201526000615c406060830185614c64565b905060ff83166040830152949350505050565b60008251615c65818460208701615036565b9190910192915050565b60008451615c81818460208901615036565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220430b9ad49aa9c313df5fdd64a42a278d32d8a5f00d94ff80e2078f308e6e6c3a64736f6c63430008180033","sourceMap":"1281:16028:182:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":8887,"length":20}]}}},"deployedBytecode":{"object":"0x6080604052600436106100c75760003560e01c8063aaa417b711610074578063c6ca743c1161004e578063c6ca743c146101fe578063e1af802c1461021e578063fc88ff631461023357600080fd5b8063aaa417b7146101b2578063b2467894146101d2578063bfea0b85146101f257600080fd5b806345ec9354116100a557806345ec93541461014e5780634dda27e81461017057806398d239b11461019d57600080fd5b806301ffc9a7146100cc578063119df25f14610101578063154510201461012e575b600080fd5b3480156100d857600080fd5b506100ec6100e73660046149da565b610253565b60405190151581526020015b60405180910390f35b34801561010d57600080fd5b506101166102ec565b6040516001600160a01b0390911681526020016100f8565b34801561013a57600080fd5b506100ec610149366004614b9c565b6102fb565b34801561015a57600080fd5b5036601f1901355b6040519081526020016100f8565b34801561017c57600080fd5b5061019061018b366004614c21565b6105d5565b6040516100f89190614ca0565b6101b06101ab366004614da6565b61061f565b005b3480156101be57600080fd5b506101626101cd366004614df6565b6107e9565b3480156101de57600080fd5b506100ec6101ed366004614e7b565b610ac3565b3480156101b057600080fd5b34801561020a57600080fd5b506100ec610219366004614ecb565b610b99565b34801561022a57600080fd5b50610116610c53565b34801561023f57600080fd5b506101b061024e366004614da6565b610c5d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806102e657507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006102f6610e67565b905090565b600160005b855181101561046057610311610c53565b6001600160a01b031663fa1becc487838151811061033157610331614eed565b60200260200101516040518263ffffffff1660e01b815260040161035791815260200190565b602060405180830381865afa158015610374573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103989190614f03565b6103a55760009150610460565b6103ad610c53565b6001600160a01b031663f48a39728783815181106103cd576103cd614eed565b602002602001015186866040518463ffffffff1660e01b815260040161040a9392919092835261ffff918216602084015216604082015260600190565b602060405180830381865afa158015610427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044b9190614f03565b6104585760009150610460565b600101610300565b5080156105cd5760005b84518110156105cb5761047b610c53565b6001600160a01b031663fa1becc486838151811061049b5761049b614eed565b60200260200101516040518263ffffffff1660e01b81526004016104c191815260200190565b602060405180830381865afa1580156104de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105029190614f03565b1561051057600091506105cb565b610518610c53565b6001600160a01b031663f48a397286838151811061053857610538614eed565b602002602001015186866040518463ffffffff1660e01b81526004016105759392919092835261ffff918216602084015216604082015260600190565b602060405180830381865afa158015610592573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b69190614f03565b6105c357600091506105cb565b60010161046a565b505b949350505050565b6106166040805160e0810190915280600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b6102e682610e99565b600061062a84610e99565b9050806020015160001415801561064357506040810151155b6106945760405162461bcd60e51b815260206004820181905260248201527f434f4d4241542053595354454d3a20494e56414c494420454e434f554e54455260448201526064015b60405180910390fd5b80608001518160600151106106eb5760405162461bcd60e51b815260206004820181905260248201527f434f4d4241542053595354454d3a204558504952454420454e434f554e544552604482015260640161068b565b6106f36102ec565b6001600160a01b0316610704610c53565b6001600160a01b0316634f10aabc856040518263ffffffff1660e01b815260040161073191815260200190565b602060405180830381865afa15801561074e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107729190614f25565b6001600160a01b031614801561078d575061078d8385610b99565b6107d95760405162461bcd60e51b815260206004820152601c60248201527f434f4d4241542053595354454d3a204e4f4e2d434f4d424154414e5400000000604482015260640161068b565b6107e38483610f84565b50505050565b60006107fc6107f66102ec565b84610ac3565b6108485760405162461bcd60e51b815260206004820152601d60248201527f434f4d4241542053595354454d3a20494e56414c49442053454e444552000000604482015260640161068b565b60008061086e8560008151811061086157610861614eed565b602002602001015161101e565b9150915085600181111561088457610884614c3a565b60010361096c57610897858584846102fb565b6108e35760405162461bcd60e51b815260206004820152601a60248201527f434f4d4241542053595354454d3a20494e56414c494420505645000000000000604482015260640161068b565b60405142906108fc908890889088908590602001614f42565b60405160208183030381529060405280519060200120935060006040518060e0016040528089600181111561093357610933614c3a565b81526020018381526020016000815260200160008152602001600f815260200187815260200188815250905061096985826110cf565b50505b85600181111561097e5761097e614c3a565b5060005b8451811015610a29576000801b6109b18683815181106109a4576109a4614eed565b6020026020010151611190565b146109fe5760405162461bcd60e51b815260206004820152601e60248201527f434f4d4241542053595354454d3a20454e54495459204f434355504945440000604482015260640161068b565b610a21858281518110610a1357610a13614eed565b602002602001015185611221565b600101610982565b5060005b8551811015610ab9576000801b610a4f8783815181106109a4576109a4614eed565b14610a9c5760405162461bcd60e51b815260206004820152601e60248201527f434f4d4241542053595354454d3a20454e54495459204f434355504945440000604482015260640161068b565b610ab1868281518110610a1357610a13614eed565b600101610a2d565b5050509392505050565b6000805b8251811015610b9257610ad8610c53565b6001600160a01b0316634f10aabc848381518110610af857610af8614eed565b60200260200101516040518263ffffffff1660e01b8152600401610b1e91815260200190565b602060405180830381865afa158015610b3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5f9190614f25565b6001600160a01b0316846001600160a01b031603610b805760019150610b92565b80610b8a81614f9c565b915050610ac7565b5092915050565b600080610ba583610e99565b905060005b8160c0015151811015610bf6578160c001518181518110610bcd57610bcd614eed565b60200260200101518503610be45760019250610bf6565b80610bee81614f9c565b915050610baa565b5081610b925760005b8160a0015151811015610c4b578160a001518181518110610c2257610c22614eed565b60200260200101518503610c395760019250610c4b565b80610c4381614f9c565b915050610bff565b505092915050565b60006102f66112d5565b610c6e30610c696102ec565b6112df565b6000610c7983610e99565b905060005b8251811015610d71576000838281518110610c9b57610c9b614eed565b602090810291909101810151604080516101a08101825281830151815260608084015182860152835192820192909252928201519083015260006080830181905260a0830181905260c0830181905260e083018190526101008301819052610120830181905261014083015243610160830152426101808301529150610d2181886112f5565b905080610140015115610d3d57610d3d816060015160016114d6565b80610120015115610d5757610d57816040015160016114d6565b610d67868560600151858461155a565b5050600101610c7e565b5060008060005b8360a0015151811015610dc657610dab8460a001518281518110610d9e57610d9e614eed565b6020026020010151611671565b15610dbe5782610dba81614f9c565b9350505b600101610d78565b5060005b8360c0015151811015610e0b57610df08460c001518281518110610d9e57610d9e614eed565b15610e035781610dff81614f9c565b9250505b600101610dca565b508260c0015151811480610e2357508260a001515182145b80610e35575082608001518360600151145b15610e4b57610e44858761170f565b5050610e5f565b60608301805190610e5b82614f9c565b9052505b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610e965750335b90565b610eda6040805160e0810190915280600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f1057610f10614eed565b602090810291909101015260008080610f697f74625544000000000000000000000000436f6d626174456e636f756e74657200857e81050201202020200000000000000000000000000000000000000000000000611a30565b925092509250610f7a838383611b00565b9695505050505050565b6110198260018484604051602001610f9d929190614fb6565b60408051601f1981840301815290829052610fbc939291602401615086565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a400000000000000000000000000000000000000000000000000000000179052611bad565b505050565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061105857611058614eed565b6020908102919091010152600080806110b17f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000611a30565b9250925092506110c2838383611c5b565b9550955050505050915091565b60006110f282600001518360200151846040015185606001518660800151611c7e565b905060006111088360a001518460c00151611cb3565b9050600061111e8460a001518560c00151611cde565b6040805160018082528183019092529192506000919060208083019080368337019050509050858160008151811061115857611158614eed565b6020908102919091010152610e5f7f74625544000000000000000000000000436f6d626174456e636f756e7465720082868686611d1a565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106111c9576111c9614eed565b602090810291909101015260006105cd7f746255440000000000000000000000004d61746368456e74697479000000000083837e41030020200100000000000000000000000000000000000000000000000000611dcf565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061125757611257614eed565b6020026020010181815250506110197f746255440000000000000000000000004d61746368456e74697479000000000060001b826000856040516020016112a091815260200190565b60408051601f198184030181529190527e41030020200100000000000000000000000000000000000000000000000000611e8c565b60006102f6611f02565b6112f16112eb83611f41565b82611fde565b5050565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101829052610180810191909152600061136d846000015161202a565b90508060200151516000036113c45760405162461bcd60e51b815260206004820152601560248201527f616374696f6e20646f6573206e6f742065786973740000000000000000000000604482015260640161068b565b805160038111156113d7576113d7614c3a565b60ff1660010361148657600081602001518060200190518101906113fb919061511d565b905061141681866040015187606001518860200151886120df565b151560c0880152158015608088015260e0870191909152611480576000620186a08660e0015161144691906151c8565b611453876060015161251e565b61145d9190615212565b9050600081136114705760016101408701525b61147e8660600151826125b0565b505b506114ce565b60405162461bcd60e51b815260206004820152601a60248201527f616374696f6e2074797065206e6f74207265636f676e697a6564000000000000604482015260640161068b565b509192915050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061150c5761150c614eed565b6020026020010181815250506110197f746255440000000000000000000000004d61746368456e74697479000000000060001b826002856040516020016112a091151560f81b815260010190565b60006115aa826000015183602001518460400151856060015186608001518760a001518860c001518960e001518a61010001518b61012001518c61014001518d61016001518e6101800151612664565b6040805160038082526080820190925291925060009160609183919060208201848036833701905050905087816000815181106115e9576115e9614eed565b6020026020010181815250508660001b8160018151811061160c5761160c614eed565b6020026020010181815250508560001b8160028151811061162f5761162f614eed565b60209081029190910101526116677f6f745544000000000000000000000000416374696f6e4f7574636f6d6500000082868686611d1a565b5050505050505050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106116aa576116aa614eed565b602090810291909101015260006117037f746255440000000000000000000000004d61746368456e7469747900000000008360027e41030020200100000000000000000000000000000000000000000000000000611dcf565b90506105cd8160f81c90565b600080600061171d85610e99565b905046617a69036117335743604082015261173a565b4260408201525b600080611745614984565b60005b8460c00151518110156117b25761177b8560c00151828151811061176e5761176e614eed565b60200260200101516126b1565b91508160e001518461178d9190615232565b935060008260a0015113156117aa57826117a681614f9c565b9350505b600101611748565b506000805b8560a001515181101561186c578560a0015181815181106117da576117da614eed565b602002602001015191506117ed82611671565b15611864576117fb82612759565b6118059089615232565b97506118158360e001518a6127eb565b61181f9088615232565b965061182c826000611221565b61186489838860c001518960c00151518d6118479190615245565b8151811061185757611857614eed565b6020026020010151612808565b6001016117b7565b506000805b8660c0015151811015611a18578660c00151818151811061189457611894614eed565b602002602001015191506118a6610c53565b6001600160a01b031663fa1becc4836040518263ffffffff1660e01b81526004016118d391815260200190565b602060405180830381865afa1580156118f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119149190614f03565b15611a0557611922826126b1565b935060008460a0015113156119fb5787156119c75761193f610c53565b6001600160a01b031663fda0ce5083611958888c615259565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526024820152604401600060405180830381600087803b1580156119ae57600080fd5b505af11580156119c2573d6000803e3d6000fd5b505050505b6000891180156119d75750600085115b156119fb576119e6858a615259565b8460c0018181516119f79190615232565b9052505b611a0582856129a7565b611a10826000611221565b600101611871565b50611a238a876110cf565b5050505050509250929050565b6060600060606000611a40611f02565b9050306001600160a01b03821603611a6957611a5d878787612a50565b93509350935050611af7565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611ab2908a908a908a9060040161526d565b600060405180830381865afa158015611acf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a5d91908101906152fa565b93509350939050565b611b416040805160e0810190915280600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b611b4a84612b58565b6080860181905260608601829052604086018390526020860184905285856001811115611b7957611b79614c3a565b6001811115611b8a57611b8a614c3a565b8152505050505050611b9c8383612ba8565b60c083015260a08201529392505050565b6060600080611bc3611bbe8561535d565b612bf7565b91509150816000801b03611c29576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff0000000000000000000000000000000000000000000000000000000060003516600482015260240161068b565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526105cd8285612cba565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b60608585858585604051602001611c999594939291906153a9565b604051602081830303815290604052905095945050505050565b6000611cd783516020028351602002606081901b603883901b838301171792915050565b9392505050565b6060611ce983612d95565b611cf283612d95565b604051602001611d039291906153e4565b604051602081830303815290604052905092915050565b6000611d24611f02565b9050306001600160a01b03821603611d4857611d438686868686612da5565b610e5f565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611d959089908990899089908990600401615413565b600060405180830381600087803b158015611daf57600080fd5b505af1158015611dc3573d6000803e3d6000fd5b50505050505050505050565b600080611dda611f02565b9050306001600160a01b03821603611e0057611df886868686612dc2565b9150506105cd565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611e4b908990899089908990600401615464565b602060405180830381865afa158015611e68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df89190615493565b6000611e96611f02565b9050306001600160a01b03821603611eb557611d438686868686612df8565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611d9590899089908990899089906004016154ac565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611f3c573391505090565b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110611f8657611f86614eed565b602090810291909101015260006105cd7f7462776f726c6400000000000000000053797374656d5265676973747279000083837e20010020000000000000000000000000000000000000000000000000000000611dcf565b611fe88282612e0d565b6112f157611ff582612e6b565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161068b9291906154f3565b60408051808201909152600081526060602082015260408051600180825281830190925260009160208083019080368337019050509050828160008151811061207557612075614eed565b6020908102919091010152600080806120ce7f74625544000000000000000000000000416374696f6e73000000000000000000857e01010101000000000000000000000000000000000000000000000000000000611a30565b925092509250610f7a838383612fa8565b6000806000806120ed610c53565b6001600160a01b03166354f1f2db896040518263ffffffff1660e01b815260040161211a91815260200190565b61010060405180830381865afa158015612138573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215c919061551e565b90506000612168610c53565b6001600160a01b03166354f1f2db896040518263ffffffff1660e01b815260040161219591815260200190565b61010060405180830381865afa1580156121b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121d7919061551e565b905060006121e3610c53565b6001600160a01b031663810c1dc1896040518263ffffffff1660e01b815260040161221091815260200190565b600060405180830381865afa15801561222d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612255919081019061558d565b905060008260a001511315612503576040517f4dddf8370000000000000000000000000000000000000000000000000000000081526004810188905260009073__$227e4555c1f608352b26068e438454dd8b$__90634dddf83790602401600060405180830381865af41580156122d0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122f89190810190615644565b905061234f8160008151811061231057612310614eed565b602002602001015167ffffffffffffffff168260018151811061233557612335614eed565b602002602001015167ffffffffffffffff168e8787613005565b909650945085156124b657620186a060008d6020015185606001516123749190615212565b13612380576001612394565b8c6020015184606001516123949190615212565b61239e91906156dd565b8451620186a0906123b190600290615259565b8460a001518560800151856002815181106123ce576123ce614eed565b602002602001015167ffffffffffffffff166123ea9190615245565b11156124295784608001518460028151811061240857612408614eed565b602002602001015167ffffffffffffffff166124249190615245565b61242f565b8460a001515b8f5161243b91906156f4565b61244591906156f4565b61244f9190615714565b6124599190615212565b965084156124b15761249f6040518060400160405280600581526020017f4352495421000000000000000000000000000000000000000000000000000000815250613098565b6124aa600288615714565b9650600194505b6124fd565b6124f46040518060400160405280600581526020017f4d49535321000000000000000000000000000000000000000000000000000000815250613098565b60009650600095505b50612510565b6000955060009450600093505b505050955095509592505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061255757612557614eed565b602090810291909101015260006105cd7f74625544000000000000000000000000537461747300000000000000000000008360057ee1080020200120202020200000000000000000000000000000000000000000611dcf565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106125e6576125e6614eed565b6020026020010181815250506110197f746255440000000000000000000000005374617473000000000000000000000060001b8260058560405160200161262f91815260200190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611e8c565b60608d8d8d8d8d8d8d8d8d8d8d8d8d60405160200161268f9d9c9b9a99989796959493929190615760565b60405160208183030381529060405290509d9c50505050505050505050505050565b6126b9614984565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106126ef576126ef614eed565b6020908102919091010152600080806127487f7462554400000000000000000000000053746174730000000000000000000000857ee1080020200120202020200000000000000000000000000000000000000000611a30565b925092509250610f7a83838361310c565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061279257612792614eed565b602090810291909101015260006105cd7f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611dcf565b60006127fe8366038d7ea4c680006156dd565b611cd79083615245565b6000612812610c53565b6001600160a01b03166353d64640846040518263ffffffff1660e01b815260040161283f91815260200190565b602060405180830381865afa15801561285c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128809190615493565b9050600061288d82613184565b8060200190518101906128a09190615851565b905060005b8160c0015151811015610e5f5760006128da8360c0015183815181106128cd576128cd614eed565b60200260200101516131f9565b9050806128ea620186a089615245565b111561299e576128f8610c53565b6001600160a01b031663cd9caca2868560c00151858151811061291d5761291d614eed565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526004810192909252602482015260016044820152606401600060405180830381600087803b15801561298557600080fd5b505af1158015612999573d6000803e3d6000fd5b505050505b506001016128a5565b60006129d9826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161328e565b604080516001808252818301909252919250600091606091839190602080830190803683370190505090508581600081518110612a1857612a18614eed565b6020908102919091010152610e5f7f746255440000000000000000000000005374617473000000000000000000000082868686611d1a565b6060600060606000612a61856132cc565b9050612a6e8787836132ef565b93506000612a7b86613328565b90508015612b4d57612a8d8888613365565b935066ffffffffffffff841667ffffffffffffffff811115612ab157612ab1614a1c565b6040519080825280601f01601f191660200182016040528015612adb576020820181803683370190505b5092506020830160005b828160ff161015612b4a576000612afd8b8b84613378565b90506000612b1a888460ff166028026038011c64ffffffffff1690565b9050612b2982600083876133f8565b612b338185615232565b935050508080612b4290615919565b915050612ae5565b50505b505093509350939050565b6000806000806000612b6e866000016020015190565b60f81c6001811115612b8257612b82614c3a565b602187015160418801516061890151608190990151929991989097509550909350915050565b6060806000603885901c64ffffffffff16612bcc612bc78684846134c4565b613552565b935090508064ffffffffff606087901c1601612bec612bc78684846134c4565b925050509250929050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110612c5057612c50614eed565b602090810291909101015260008080612ca97f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000611a30565b9250925092506110c2838383613563565b60606000612cc66112d5565b90506001600160a01b0381163003612d07576000612cee612ce5610e67565b6000878761356f565b9350905080612d0057612d00836136aa565b50506102e6565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890612d4e9087908790600401615938565b6000604051808303816000875af1158015612d6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105cd9190810190615951565b606081611cd781602060006136b2565b612dbb8585858585612db68b613712565b613797565b5050505050565b6000612def612dd18686613ad0565b60ff858116601b0360080285901c16612dea8587613b26565b613b5f565b95945050505050565b612dbb8585612e078487613b26565b85613bb0565b6000612e5b7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613e54565b80611cd75750611cd78383613e54565b606081601081901b6000612e7e83613f1d565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ed957612ed47fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613f34565b612f10565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000831615612f4657612f4183613f34565b612f7d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612f8f93929190615986565b6040516020818303038152906040529350505050919050565b604080518082019091526000815260606020820152612fc684613fd8565b81906003811115612fd957612fd9614c3a565b90816003811115612fec57612fec614c3a565b905250612ff98383613ff4565b60208201529392505050565b60008080620249f06130196103e88a615245565b61302b87602001518960400151614017565b6130359190615232565b61303f91906156dd565b90506000620186a085602001516103e88a61305a9190615245565b6130649190615232565b61306e91906156dd565b90508082119350831561308c5760026130878284615259565b101592505b50509550959350505050565b613109816040516024016130ac9190615a14565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052614044565b50565b613114614984565b61311d8461404d565b60e0890181905260c0890182905260a08901839052608089018490526060890185905288602081016040820188600281111561315b5761315b614c3a565b600281111561316c5761316c614c3a565b90529790975250505093909252509195945050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b816000815181106131c1576131c1614eed565b602090810291909101015260006105cd7f746255440000000000000000000000004d6f627300000000000000000000000083836140bb565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061323557613235614eed565b602090810291909101015260006105cd7f746255440000000000000000000000004974656d7300000000000000000000008360017e21020101200000000000000000000000000000000000000000000000000000611dcf565b606088888888888888886040516020016132af989796959493929190615a27565b604051602081830303815290604052905098975050505050505050565b600060086132dc60026020615a6c565b6132e691906156dd565b9190911c919050565b60608160000361330e5750604080516020810190915260008152611cd7565b600061331a8585613ad0565b9050612def8160008561417a565b6000600860018061333b60026020615a6c565b6133459190615a6c565b61334f9190615a6c565b61335991906156dd565b8260ff911c1692915050565b6000611cd7613374848461419d565b5490565b6000838360405160200161338d929190615a7f565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561347f57602083106134225760208304840193506020838161341e5761341e6151b2565b0692505b821561347f5760208390036000818410156134455750600019600884021c61344f565b50600019600882021c5b8554600886021b8184511682198216178452508184116134705750506107e3565b50600194909401939182900391015b5b602082106134a15783548152600190930192601f1990910190602001613480565b81156107e3576000600019600884021c8251865482191691161782525050505050565b6000818311806134d45750835182115b15613511578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161068b93929190615abb565b6020840161351f8482615232565b9050600061352d8585615a6c565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611cd783602060006141f3565b600080611c7285614262565b6000606060008061357f86614277565b90925090506001600160a01b0382166135d0578561359c87612e6b565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161068b929190615938565b806135df576135df868961431b565b861561364b577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061363382614325565b9050613648826136438b84615232565b6143b6565b50505b60006136578760101b90565b7fffffffffffffffffffffffffffff000000000000000000000000000000000000161461368f5761368a8888848861446a565b61369b565b61369b888884886144e2565b90999098509650505050505050565b805160208201fd5b825160609060006136c385836156dd565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015613706578051871b835291870191600191909101906020016136e5565b50505050509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161376157507e60030220202000000000000000000000000000000000000000000000000000919050565b6102e661378e7f746273746f72650000000000000000005461626c65730000000000000000000084614543565b60206000613b5f565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361382357857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516138169493929190615ae0565b60405180910390a2610e5f565b600061382e8761455f565b905060005b815181101561390757600082828151811061385057613850614eed565b6020026020010151905061387c6001826affffffffffffffffffffff19166145e890919063ffffffff16565b156138fe576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906138cb908c908c908c908c908c908c90600401615b2a565b600060405180830381600087803b1580156138e557600080fd5b505af11580156138f9573d6000803e3d6000fd5b505050505b50600101613833565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161393e9493929190615ae0565b60405180910390a260006139528888613ad0565b9050600060208701905061396a826000895184614606565b600061397585613328565b11156139f95760006139878a8a61419d565b878155905060208601915060008060005b6139a188613328565b8160ff1610156139f4576139b68d8d83613378565b92506139d18a8260ff166028026038011c64ffffffffff1690565b91506139e08360008488614606565b6139ea8286615232565b9450600101613998565b505050505b60005b8351811015611dc3576000848281518110613a1957613a19614eed565b60200260200101519050613a456002826affffffffffffffffffffff19166145e890919063ffffffff16565b15613ac7576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90613a94908e908e908e908e908e908e90600401615b2a565b600060405180830381600087803b158015613aae57600080fd5b505af1158015613ac2573d6000803e3d6000fd5b505050505b506001016139fc565b60008282604051602001613ae5929190615a7f565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015613b5757613b4d60ff601b83900360080287901c1683615232565b9150600101613b2b565b509392505050565b600060208210613b8557602082048401935060208281613b8157613b816151b2565b0691505b508254600882021b602082900380841115613b57576001850154600882021c82179150509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff0000000000000000000000000000000000000000000000000000000000001603613c3a57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051613c2d93929190615b83565b60405180910390a26107e3565b6000613c468585613ad0565b90506000613c538661455f565b905060005b8151811015613d28576000828281518110613c7557613c75614eed565b60200260200101519050613ca16004826affffffffffffffffffffff19166145e890919063ffffffff16565b15613d1f576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90613cec908b908b908b908b90600401615bb6565b600060405180830381600087803b158015613d0657600080fd5b505af1158015613d1a573d6000803e3d6000fd5b505050505b50600101613c58565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051613d5d93929190615b83565b60405180910390a2613d78828565ffffffffffff16856146c5565b60005b8151811015613e4b576000828281518110613d9857613d98614eed565b60200260200101519050613dc46008826affffffffffffffffffffff19166145e890919063ffffffff16565b15613e42576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190613e0f908b908b908b908b90600401615bb6565b600060405180830381600087803b158015613e2957600080fd5b505af1158015613e3d573d6000803e3d6000fd5b505050505b50600101613d7b565b50505050505050565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613e8d57613e8d614eed565b602002602001018181525050826001600160a01b031660001b81600181518110613eb957613eb9614eed565b60209081029190910101526000613f117f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611dcf565b9050612def8160f81c90565b6000613f2b60706010615232565b9190911b919050565b606060005b6010811015613f99577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613f9957600101613f39565b604080517fffffffffffffffffffffffffffffffff000000000000000000000000000000008516602082015281516030909101909152818152806105cd565b602081015160009060f81c60038111156102e6576102e6614c3a565b60606000603884901c64ffffffffff16612def6140128584846134c4565b6146db565b60008082126140315761402a8284615232565b90506102e6565b61403a82615bef565b61402a9084615a6c565b6131098161475b565b600080600080600080600080614067896000016020015190565b60408a015160608b0151919950975060f81c600281111561408a5761408a614c3a565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b606060006140c7611f02565b9050306001600160a01b038216036140ec576140e485858561477c565b915050611cd7565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061413590889088908890600401615c27565b600060405180830381865afa158015614152573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526140e49190810190615951565b60405160208101601f19603f8484010116604052828252613b57858585846133f8565b600082826040516020016141b2929190615a7f565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b606060006142018560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281614227576142276151b2565b04905060405193506020840160208202810160405281855260005b82811015613706578451871c825293870193602090910190600101614242565b602081015160408201516000905b9050915091565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106142b1576142b1614eed565b60209081029190910101526000808061430a7f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000612a50565b9250925092506110c28383836147b6565b611fe882826147c2565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061435e5761435e614eed565b602090810291909101015260006105cd7f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000612dc2565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106143ec576143ec614eed565b6020026020010181815250506110197f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161443591815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000612df8565b60006060836001600160a01b03166000614485858989614820565b6040516144929190615c53565b60006040518083038185875af1925050503d80600081146144cf576040519150601f19603f3d011682016040523d82523d6000602084013e6144d4565b606091505b509097909650945050505050565b60006060836001600160a01b03166144fb848888614820565b6040516145089190615c53565b600060405180830381855af49150503d80600081146144cf576040519150601f19603f3d011682016040523d82523d6000602084013e6144d4565b6040805160208101849052908101829052600090606001613ae5565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061459957614599614eed565b602090810291909101015260006145d17f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361477c565b90506105cd6145e382600084516134c4565b61484f565b60008160ff16826145f98560581c90565b1660ff1614905092915050565b821561468057602083106146305760208304840193506020838161462c5761462c6151b2565b0692505b82156146805760208390036000600019600885021c1990506008850281811c91508351811c90508119875416828216178755508184116146715750506107e3565b50600194909401939182900391015b5b602082106146a25780518455600190930192601f1990910190602001614681565b81156107e3576000600019600884021c8554835182191691161785555050505050565b611019838383516146d68560200190565b614606565b606060006146e98360801c90565b90506fffffffffffffffffffffffffffffffff83168067ffffffffffffffff81111561471757614717614a1c565b6040519080825280601f01601f191660200182016040528015614741576020820181803683370190505b50925060208301614753838284614860565b505050919050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60606105cd61478c858585613378565b60006147b18561479c8989613365565b9060ff166028026038011c64ffffffffff1690565b61417a565b600080611c72856148ab565b60006148107f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836148c7565b80611cd75750611cd783836148c7565b606083838360405160200161483793929190615c6f565b60405160208183030381529060405290509392505050565b60606000611cd783601560006141f3565b5b60208110614880578251825260209283019290910190601f1901614861565b8060000361488d57505050565b6000600019600883021c905080835116811985511617835250505050565b6020810151603482015160609190911c9060009060f81c614270565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061490057614900614eed565b602002602001018181525050826001600160a01b031660001b8160018151811061492c5761492c614eed565b60209081029190910101526000613f117f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000612dc2565b6040518061010001604052806000815260200160008152602001600060028111156149b1576149b1614c3a565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000602082840312156149ec57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611cd757600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff81118282101715614a5557614a55614a1c565b60405290565b60405160a0810167ffffffffffffffff81118282101715614a5557614a55614a1c565b604051610100810167ffffffffffffffff81118282101715614a5557614a55614a1c565b604051610120810167ffffffffffffffff81118282101715614a5557614a55614a1c565b604051601f8201601f1916810167ffffffffffffffff81118282101715614aef57614aef614a1c565b604052919050565b600067ffffffffffffffff821115614b1157614b11614a1c565b5060051b60200190565b600082601f830112614b2c57600080fd5b81356020614b41614b3c83614af7565b614ac6565b8083825260208201915060208460051b870101935086841115614b6357600080fd5b602086015b84811015614b7f5780358352918301918301614b68565b509695505050505050565b803561ffff81168114611f3c57600080fd5b60008060008060808587031215614bb257600080fd5b843567ffffffffffffffff80821115614bca57600080fd5b614bd688838901614b1b565b95506020870135915080821115614bec57600080fd5b50614bf987828801614b1b565b935050614c0860408601614b8a565b9150614c1660608601614b8a565b905092959194509250565b600060208284031215614c3357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60028110614c6057614c60614c3a565b9052565b60008151808452602080850194506020840160005b83811015614c9557815187529582019590820190600101614c79565b509495945050505050565b60208152614cb2602082018351614c50565b602082015160408201526040820151606082015260608201516080820152608082015160a0820152600060a083015160e060c0840152614cf6610100840182614c64565b905060c0840151601f198483030160e0850152612def8282614c64565b600082601f830112614d2457600080fd5b81356020614d34614b3c83614af7565b82815260079290921b84018101918181019086841115614d5357600080fd5b8286015b84811015614b7f5760808189031215614d705760008081fd5b614d78614a32565b8135815284820135858201526040808301359082015260608083013590820152835291830191608001614d57565b600080600060608486031215614dbb57600080fd5b8335925060208401359150604084013567ffffffffffffffff811115614de057600080fd5b614dec86828701614d13565b9150509250925092565b600080600060608486031215614e0b57600080fd5b833560028110614e1a57600080fd5b9250602084013567ffffffffffffffff80821115614e3757600080fd5b614e4387838801614b1b565b93506040860135915080821115614e5957600080fd5b50614dec86828701614b1b565b6001600160a01b038116811461310957600080fd5b60008060408385031215614e8e57600080fd5b8235614e9981614e66565b9150602083013567ffffffffffffffff811115614eb557600080fd5b614ec185828601614b1b565b9150509250929050565b60008060408385031215614ede57600080fd5b50508035926020909101359150565b634e487b7160e01b600052603260045260246000fd5b600060208284031215614f1557600080fd5b81518015158114611cd757600080fd5b600060208284031215614f3757600080fd5b8151611cd781614e66565b614f4c8186614c50565b608060208201526000614f626080830186614c64565b8281036040840152614f748186614c64565b91505082606083015295945050505050565b634e487b7160e01b600052601160045260246000fd5b60006000198203614faf57614faf614f86565b5060010190565b60006040808301858452602060406020860152818651808452606093506060870191506020880160005b8281101561501757815180518552858101518686015287810151888601528601518685015260809093019290840190600101614fe0565b50919998505050505050505050565b6003811061310957613109614c3a565b60005b83811015615051578181015183820152602001615039565b50506000910152565b60008151808452615072816020860160208601615036565b601f01601f19169290920160200192915050565b83815261509283615026565b826020820152606060408201526000612def606083018461505a565b600082601f8301126150bf57600080fd5b815160206150cf614b3c83614af7565b8083825260208201915060208460051b8701019350868411156150f157600080fd5b602086015b84811015614b7f57805160ff811681146151105760008081fd5b83529183019183016150f6565b60006020828403121561512f57600080fd5b815167ffffffffffffffff8082111561514757600080fd5b9083019060a0828603121561515b57600080fd5b615163614a5b565b8251815260208301516020820152604083015160408201526060830151606082015260808301518281111561519757600080fd5b6151a3878286016150ae565b60808301525095945050505050565b634e487b7160e01b600052601260045260246000fd5b6000826151d7576151d76151b2565b60001983147f80000000000000000000000000000000000000000000000000000000000000008314161561520d5761520d614f86565b500590565b8181036000831280158383131683831282161715610b9257610b92614f86565b808201808211156102e6576102e6614f86565b600082615254576152546151b2565b500690565b600082615268576152686151b2565b500490565b8381526060602082015260006152866060830185614c64565b9050826040830152949350505050565b600082601f8301126152a757600080fd5b815167ffffffffffffffff8111156152c1576152c1614a1c565b6152d46020601f19601f84011601614ac6565b8181528460208386010111156152e957600080fd5b6105cd826020830160208701615036565b60008060006060848603121561530f57600080fd5b835167ffffffffffffffff8082111561532757600080fd5b61533387838801615296565b945060208601519350604086015191508082111561535057600080fd5b50614dec86828701615296565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156147535760049290920360031b82901b161692915050565b6000600287106153bb576153bb614c3a565b5060f89590951b8552600185019390935260218401919091526041830152606182015260810190565b600083516153f6818460208801615036565b83519083019061540a818360208801615036565b01949350505050565b85815260a06020820152600061542c60a0830187614c64565b828103604084015261543e818761505a565b90508460608401528281036080840152615458818561505a565b98975050505050505050565b84815260806020820152600061547d6080830186614c64565b60ff949094166040830152506060015292915050565b6000602082840312156154a557600080fd5b5051919050565b85815260a0602082015260006154c560a0830187614c64565b60ff8616604084015282810360608401526154e0818661505a565b9150508260808301529695505050505050565b604081526000615506604083018561505a565b90506001600160a01b03831660208301529392505050565b6000610100828403121561553157600080fd5b615539614a7e565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201528091505092915050565b60006020828403121561559f57600080fd5b815167ffffffffffffffff808211156155b757600080fd5b9083019061010082860312156155cc57600080fd5b6155d4614a7e565b825181526020830151828111156155ea57600080fd5b6155f6878286016150ae565b60208301525060408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e082015280935050505092915050565b6000602080838503121561565757600080fd5b825167ffffffffffffffff8082111561566f57600080fd5b818501915085601f83011261568357600080fd5b8151615691614b3c82614af7565b81815260059190911b830184019084810190888311156156b057600080fd5b938501935b8285101561545857845184811681146156ce5760008081fd5b825293850193908501906156b5565b80820281158282048414176102e6576102e6614f86565b8082018281126000831280158216821582161715610c4b57610c4b614f86565b808202600082127f80000000000000000000000000000000000000000000000000000000000000008414161561574c5761574c614f86565b81810583148215176102e6576102e6614f86565b8d81528c60208201528b60408201528a606082015289151560f81b608082015288151560f81b608182015261579c6082820189151560f81b9052565b8660838201528560a38201526157b960c3820186151560f81b9052565b92151560f81b60c484015260c583019190915260e5820152610105019a9950505050505050505050565b805160038110611f3c57600080fd5b600082601f83011261580357600080fd5b81516020615813614b3c83614af7565b8083825260208201915060208460051b87010193508684111561583557600080fd5b602086015b84811015614b7f578051835291830191830161583a565b60006020828403121561586357600080fd5b815167ffffffffffffffff8082111561587b57600080fd5b90830190610120828603121561589057600080fd5b615898614aa2565b82518152602083015160208201526158b2604084016157e3565b6040820152606083015160608201526080830151608082015260a083015160a082015260c0830151828111156158e757600080fd5b6158f3878286016157f2565b60c08301525060e083810151908201526101009283015192810192909252509392505050565b600060ff821660ff810361592f5761592f614f86565b60010192915050565b8281526040602082015260006105cd604083018461505a565b60006020828403121561596357600080fd5b815167ffffffffffffffff81111561597a57600080fd5b6105cd84828501615296565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516159e7816003860160208901615036565b808401905081600382015284519150615a07826004830160208801615036565b0160040195945050505050565b602081526000611cd7602083018461505a565b888152876020820152615a3987615026565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b818103818111156102e6576102e6614f86565b8281526000602080830184516020860160005b82811015615aae57815184529284019290840190600101615a92565b5091979650505050505050565b606081526000615ace606083018661505a565b60208301949094525060400152919050565b608081526000615af36080830187614c64565b8281036020840152615b05818761505a565b90508460408401528281036060840152615b1f818561505a565b979650505050505050565b86815260c060208201526000615b4360c0830188614c64565b8281036040840152615b55818861505a565b90508560608401528281036080840152615b6f818661505a565b9150508260a0830152979650505050505050565b606081526000615b966060830186614c64565b65ffffffffffff851660208401528281036040840152610f7a818561505a565b848152608060208201526000615bcf6080830186614c64565b65ffffffffffff851660408401528281036060840152615b1f818561505a565b60007f80000000000000000000000000000000000000000000000000000000000000008203615c2057615c20614f86565b5060000390565b838152606060208201526000615c406060830185614c64565b905060ff83166040830152949350505050565b60008251615c65818460208701615036565b9190910192915050565b60008451615c81818460208901615036565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220430b9ad49aa9c313df5fdd64a42a278d32d8a5f00d94ff80e2078f308e6e6c3a64736f6c63430008180033","sourceMap":"1281:16028:182:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:98;;;;;;;;;;-1:-1:-1;2331:198:98;;;;;:::i;:::-;;:::i;:::-;;;516:14:192;;509:22;491:41;;479:2;464:18;2331:198:98;;;;;;;;1262:113;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:192;;;689:74;;677:2;662:18;1262:113:98;543:226:192;3032:1020:182;;;;;;;;;;-1:-1:-1;3032:1020:182;;;;;:::i;:::-;;:::i;1616:110:98:-;;;;;;;;;;-1:-1:-1;3800:14:98;-1:-1:-1;;3796:25:98;3783:39;1616:110;;;4251:25:192;;;4239:2;4224:18;1616:110:98;4105:177:192;12413:163:182;;;;;;;;;;-1:-1:-1;12413:163:182;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4226:630::-;;;;;;:::i;:::-;;:::i;:::-;;1487:1539;;;;;;;;;;-1:-1:-1;1487:1539:182;;;;;:::i;:::-;;:::i;5653:391::-;;;;;;;;;;-1:-1:-1;5653:391:182;;;;;:::i;:::-;;:::i;13522:42::-;;;;;;;;;4862:785;;;;;;;;;;-1:-1:-1;4862:785:182;;;;;:::i;:::-;;:::i;1942:98:98:-;;;;;;;;;;;;;:::i;6050:2386:182:-;;;;;;;;;;-1:-1:-1;6050:2386:182;;;;;:::i;:::-;;:::i;2331:198:98:-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:98;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:98:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;3032:1020:182:-;3219:4;3173:16;3233:350;3253:9;:16;3249:1;:20;3233:350;;;3302:8;:6;:8::i;:::-;-1:-1:-1;;;;;3295:39:182;;3335:9;3345:1;3335:12;;;;;;;;:::i;:::-;;;;;;;3295:53;;;;;;;;;;;;;4251:25:192;;4239:2;4224:18;;4105:177;3295:53:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3290:135;;3382:5;3368:19;;3405:5;;3290:135;3450:8;:6;:8::i;:::-;-1:-1:-1;;;;;3443:33:182;;3477:9;3487:1;3477:12;;;;;;;;:::i;:::-;;;;;;;3491:1;3494;3443:53;;;;;;;;;;;;;;;;10900:25:192;;;10944:6;10986:15;;;10981:2;10966:18;;10959:43;11038:15;11033:2;11018:18;;11011:43;10888:2;10873:18;;10702:358;3443:53:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3438:135;;3530:5;3516:19;;3553:5;;3438:135;3271:3;;3233:350;;;;3596:11;3592:426;;;3628:9;3623:385;3643:9;:16;3639:1;:20;3623:385;;;3695:8;:6;:8::i;:::-;-1:-1:-1;;;;;3688:39:182;;3728:9;3738:1;3728:12;;;;;;;;:::i;:::-;;;;;;;3688:53;;;;;;;;;;;;;4251:25:192;;4239:2;4224:18;;4105:177;3688:53:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3684:146;;;3779:5;3765:19;;3806:5;;3684:146;3859:8;:6;:8::i;:::-;-1:-1:-1;;;;;3852:33:182;;3886:9;3896:1;3886:12;;;;;;;;:::i;:::-;;;;;;;3900:1;3903;3852:53;;;;;;;;;;;;;;;;10900:25:192;;;10944:6;10986:15;;;10981:2;10966:18;;10959:43;11038:15;11033:2;11018:18;;11011:43;10888:2;10873:18;;10702:358;3852:53:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3847:147;;3943:5;3929:19;;3970:5;;3847:147;3661:3;;3623:385;;;;3592:426;3032:1020;;;;;;:::o;12413:163::-;12477:41;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12477:41:182;12537:32;12557:11;12537:19;:32::i;4226:630::-;4332:40;4375:32;4395:11;4375:19;:32::i;:::-;4332:75;;4425:13;:19;;;4448:1;4425:24;;:50;;;;-1:-1:-1;4453:17:182;;;;:22;4425:50;4417:95;;;;-1:-1:-1;;;4417:95:182;;11267:2:192;4417:95:182;;;11249:21:192;;;11286:18;;;11279:30;11345:34;11325:18;;;11318:62;11397:18;;4417:95:182;;;;;;;;;4558:13;:22;;;4530:13;:25;;;:50;4522:95;;;;-1:-1:-1;;;4522:95:182;;11628:2:192;4522:95:182;;;11610:21:192;;;11647:18;;;11640:30;11706:34;11686:18;;;11679:62;11758:18;;4522:95:182;11426:356:192;4522:95:182;4698:12;:10;:12::i;:::-;-1:-1:-1;;;;;4648:62:182;4655:8;:6;:8::i;:::-;-1:-1:-1;;;;;4648:36:182;;4685:8;4648:46;;;;;;;;;;;;;4251:25:192;;4239:2;4224:18;;4105:177;4648:46:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;4648:62:182;;:102;;;;;4714:36;4728:8;4738:11;4714:13;:36::i;:::-;4627:177;;;;-1:-1:-1;;;4627:177:182;;12245:2:192;4627:177:182;;;12227:21:192;12284:2;12264:18;;;12257:30;12323;12303:18;;;12296:58;12371:18;;4627:177:182;12043:352:192;4627:177:182;4814:35;4828:11;4841:7;4814:13;:35::i;:::-;4322:534;4226:630;;;:::o;1487:1539::-;1625:19;1668:38;1682:12;:10;:12::i;:::-;1696:9;1668:13;:38::i;:::-;1660:80;;;;-1:-1:-1;;;1660:80:182;;12602:2:192;1660:80:182;;;12584:21:192;12641:2;12621:18;;;12614:30;12680:31;12660:18;;;12653:59;12729:18;;1660:80:182;12400:353:192;1660:80:182;1751:8;1761;1773:26;1786:9;1796:1;1786:12;;;;;;;;:::i;:::-;;;;;;;1773;:26::i;:::-;1750:49;;;;1822:13;1814:22;;;;;;;;:::i;:::-;1840:1;1814:27;1810:686;;1865:38;1876:9;1887;1898:1;1901;1865:10;:38::i;:::-;1857:77;;;;-1:-1:-1;;;1857:77:182;;12960:2:192;1857:77:182;;;12942:21:192;12999:2;12979:18;;;12972:30;13038:28;13018:18;;;13011:56;13084:18;;1857:77:182;12758:350:192;1857:77:182;2021:58;;1968:15;;2021:58;;2032:13;;2047:9;;2058;;1968:15;;2021:58;;;:::i;:::-;;;;;;;;;;;;;2011:69;;;;;;1997:83;;2094:37;2134:292;;;;;;;;2187:13;2134:292;;;;;;;;:::i;:::-;;;;;2225:9;2134:292;;;;2257:1;2134:292;;;;2289:1;2134:292;;;;403:2:0;2134:292:182;;;;2364:9;2134:292;;;;2402:9;2134:292;;;2094:332;;2441:44;2461:11;2474:10;2441:19;:44::i;:::-;1843:653;;1810:686;2515:13;2509:20;;;;;;;;:::i;:::-;:25;2552:9;2547:232;2567:9;:16;2563:1;:20;2547:232;;;2664:1;2656:10;;2612:40;2639:9;2649:1;2639:12;;;;;;;;:::i;:::-;;;;;;;2612:26;:40::i;:::-;:54;2604:97;;;;-1:-1:-1;;;2604:97:182;;14476:2:192;2604:97:182;;;14458:21:192;14515:2;14495:18;;;14488:30;14554:32;14534:18;;;14527:60;14604:18;;2604:97:182;14274:354:192;2604:97:182;2715:53;2742:9;2752:1;2742:12;;;;;;;;:::i;:::-;;;;;;;2756:11;2715:26;:53::i;:::-;2585:3;;2547:232;;;;2793:9;2788:232;2808:9;:16;2804:1;:20;2788:232;;;2905:1;2897:10;;2853:40;2880:9;2890:1;2880:12;;;;;;;;:::i;2853:40::-;:54;2845:97;;;;-1:-1:-1;;;2845:97:182;;14476:2:192;2845:97:182;;;14458:21:192;14515:2;14495:18;;;14488:30;14554:32;14534:18;;;14527:60;14604:18;;2845:97:182;14274:354:192;2845:97:182;2956:53;2983:9;2993:1;2983:12;;;;;;;;:::i;2956:53::-;2826:3;;2788:232;;;;1650:1376;;1487:1539;;;;;:::o;5653:391::-;5745:19;5781:9;5776:262;5796:12;:19;5792:1;:23;5776:262;;;5854:8;:6;:8::i;:::-;-1:-1:-1;;;;;5847:36:182;;5884:12;5897:1;5884:15;;;;;;;;:::i;:::-;;;;;;;5847:53;;;;;;;;;;;;;4251:25:192;;4239:2;4224:18;;4105:177;5847:53:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5836:64:182;:7;-1:-1:-1;;;;;5836:64:182;;5832:147;;5937:4;5920:21;;5959:5;;5832:147;6010:3;;;;:::i;:::-;;;;5776:262;;;;5653:391;;;;:::o;4862:785::-;4945:19;4976:40;5019:32;5039:11;5019:19;:32::i;:::-;4976:75;;5066:9;5061:247;5081:13;:23;;;:30;5077:1;:34;5061:247;;;5144:13;:23;;;5168:1;5144:26;;;;;;;;:::i;:::-;;;;;;;5132:8;:38;5128:121;;5207:4;5190:21;;5229:5;;5128:121;5280:3;;;;:::i;:::-;;;;5061:247;;;;5322:14;5317:324;;5357:9;5352:279;5372:13;:23;;;:30;5368:1;:34;5352:279;;;5439:13;:23;;;5463:1;5439:26;;;;;;;;:::i;:::-;;;;;;;5427:8;:38;5423:133;;5506:4;5489:21;;5532:5;;5423:133;5595:3;;;;:::i;:::-;;;;5352:279;;;;4966:681;4862:785;;;;:::o;1942:98:98:-;1981:7;2003:32;:30;:32::i;6050:2386:182:-;6229:43;6252:4;6259:12;:10;:12::i;:::-;6229:14;:43::i;:::-;6312:40;6355:32;6375:11;6355:19;:32::i;:::-;6312:75;;6403:9;6398:1274;6418:7;:14;6414:1;:18;6398:1274;;;6453:27;6483:7;6491:1;6483:10;;;;;;;;:::i;:::-;;;;;;;;;;;;6553:578;;;;;;;;6599:22;;;;6553:578;;6649:22;;;;;6553:578;;;;6701:30;;6553:578;;;;;;;6761:30;;;;6553:578;;;;6508:42;6553:578;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7060:12;6553:578;;;;7101:15;6553:578;;;;6483:10;-1:-1:-1;7196:47:182;6553:578;7230:12;7196:14;:47::i;:::-;7176:67;;7261:17;:30;;;7257:124;;;7311:55;7331:17;:28;;;7361:4;7311:19;:55::i;:::-;7398:17;:30;;;7394:124;;;7448:55;7468:17;:28;;;7498:4;7448:19;:55::i;:::-;7582:79;7600:11;7613:13;:25;;;7640:1;7643:17;7582;:79::i;:::-;-1:-1:-1;;6434:3:182;;6398:1274;;;;7682:27;7719;7761:9;7756:156;7776:13;:23;;;:30;7772:1;:34;7756:156;;;7831:47;7851:13;:23;;;7875:1;7851:26;;;;;;;;:::i;:::-;;;;;;;7831:19;:47::i;:::-;7827:74;;;7880:21;;;;:::i;:::-;;;;7827:74;7808:3;;7756:156;;;;7926:9;7921:156;7941:13;:23;;;:30;7937:1;:34;7921:156;;;7996:47;8016:13;:23;;;8040:1;8016:26;;;;;;;;:::i;7996:47::-;7992:74;;;8045:21;;;;:::i;:::-;;;;7992:74;7973:3;;7921:156;;;;8126:13;:23;;;:30;8103:19;:53;:126;;;;8199:13;:23;;;:30;8176:19;:53;8103:126;:197;;;;8278:13;:22;;;8249:13;:25;;;:51;8103:197;8086:344;;;8325:36;8335:11;8348:12;8325:9;:36::i;:::-;;;8086:344;;;8392:25;;;:27;;;;;;:::i;:::-;;;-1:-1:-1;8086:344:182;6148:2288;;;6050:2386;;;:::o;2992:383:98:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:98;3325:45;2992:383;:::o;19860:418:149:-;19917:33;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19917:33:149;19987:16;;;20001:1;19987:16;;;;;;;;;19958:26;;19987:16;;;;;;;;;;;-1:-1:-1;19987:16:149;19958:45;;20024:11;20009:9;20019:1;20009:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;20043:24;;;20130:80;1334:66;20175:9;1463:66;20130:21;:80::i;:::-;20042:168;;;;;;20223:50;20230:11;20243:15;20260:12;20223:6;:50::i;:::-;20216:57;19860:418;-1:-1:-1;;;;;;19860:418:149:o;8442:241:182:-;8530:146;8596:11;8609:21;8643:11;8656:7;8632:32;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;8632:32:182;;;;;;;;;;8561:105;;;;;;;:::i;:::-;;;;-1:-1:-1;;8561:105:182;;;;;;;;;;;;;;;;;;;;8530:17;:146::i;:::-;;8442:241;;:::o;4891:393:161:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:161;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;22274:598:149:-;22358:24;22385:133;22405:6;:20;;;22433:6;:12;;;22453:6;:10;;;22471:6;:18;;;22497:6;:15;;;22385:12;:133::i;:::-;22358:160;;22525:30;22558:49;22572:6;:16;;;22590:6;:16;;;22558:13;:49::i;:::-;22525:82;;22613:25;22641:49;22655:6;:16;;;22673:6;:16;;;22641:13;:49::i;:::-;22726:16;;;22740:1;22726:16;;;;;;;;;22613:77;;-1:-1:-1;22697:26:149;;22726:16;;;;;;;;;;;;-1:-1:-1;22726:16:149;22697:45;;22763:11;22748:9;22758:1;22748:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;22781:86;1334:66;22813:9;22824:11;22837:15;22854:12;22781:21;:86::i;2779:297:156:-;2905:16;;;2919:1;2905:16;;;;;;;;;2849:19;;;;2905:16;;;;;;;;;;;;-1:-1:-1;2905:16:156;2876:45;;2942:13;2927:9;2937:1;2927:12;;;;;;;;:::i;:::-;;;;;;;;;;:28;2962:13;2978:64;1157:66;3015:9;2962:13;1286:66;2978:26;:64::i;3464:271::-;3576:16;;;3590:1;3576:16;;;;;;;;;3547:26;;3576:16;;;;;;;;;;;-1:-1:-1;3576:16:156;3547:45;;3613:13;3598:9;3608:1;3598:12;;;;;;;;:::i;:::-;;;;;;:28;;;;;3633:97;1157:66;1141:83;;3670:9;3681:1;3702:11;3684:31;;;;;;17294:19:192;;17338:2;17329:12;;17165:182;3684:31:156;;;;-1:-1:-1;;3684:31:156;;;;;;;;;1286:66;3633:26;:97::i;4048::98:-;4089:7;4111:29;:27;:29::i;2631:154:184:-;2707:75;2738:35;2757:15;2738:18;:35::i;:::-;2775:6;2707:30;:75::i;:::-;2631:154;;:::o;8689:1499:182:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8880:29:182;8912:39;8924:17;:26;;;8912:11;:39::i;:::-;8880:71;;8969:10;:22;;;:29;9002:1;8969:34;8961:68;;;;-1:-1:-1;;;8961:68:182;;17554:2:192;8961:68:182;;;17536:21:192;17593:2;17573:18;;;17566:30;17632:23;17612:18;;;17605:51;17673:18;;8961:68:182;17352:345:192;8961:68:182;9096:21;;9090:28;;;;;;;;:::i;:::-;:33;;9122:1;9090:33;9086:1061;;9171:38;9223:10;:22;;;9212:57;;;;;;;;;;;;:::i;:::-;9171:98;;9415:233;9457:11;9486:17;:28;;;9532:17;:28;;;9578:17;:26;;;9622:12;9415:24;:233::i;:::-;9315:333;;9377:22;;;9315:333;;;;9354:21;;;9315:333;9316:36;;;9315:333;;;;9698:372;;9743:16;531:7:0;9840:17:182;:36;;;:62;;;;:::i;:::-;9762:48;9781:17;:28;;;9762:18;:48::i;:::-;:141;;;;:::i;:::-;9743:160;;9938:1;9925:9;:14;9921:57;;9974:4;9941:30;;;:37;9921:57;9996:59;10015:17;:28;;;10045:9;9996:18;:59::i;:::-;9725:345;9698:372;9125:955;9086:1061;;;10100:36;;-1:-1:-1;;;10100:36:182;;20299:2:192;10100:36:182;;;20281:21:192;20338:2;20318:18;;;20311:30;20377:28;20357:18;;;20350:56;20423:18;;10100:36:182;20097:350:192;9086:1061:182;-1:-1:-1;10164:17:182;;8689:1499;-1:-1:-1;;8689:1499:182:o;6105:247:156:-;6200:16;;;6214:1;6200:16;;;;;;;;;6171:26;;6200:16;;;;;;;;;;;-1:-1:-1;6200:16:156;6171:45;;6237:13;6222:9;6232:1;6222:12;;;;;;;;:::i;:::-;;;;;;:28;;;;;6257:90;1157:66;1141:83;;6294:9;6305:1;6326:4;6308:24;;;;;;20709:14:192;20702:22;20697:3;20693:32;20681:45;;20751:1;20742:11;;20558:201;17615:863:144;17760:24;17787:340;17807:6;:15;;;17830:6;:15;;;17853:6;:17;;;17878:6;:17;;;17903:6;:10;;;17921:6;:11;;;17940:6;:11;;;17959:6;:25;;;17992:6;:25;;;18025:6;:19;;;18052:6;:19;;;18079:6;:18;;;18105:6;:16;;;17787:12;:340::i;:::-;18231:16;;;18245:1;18231:16;;;;;;;;;17760:367;;-1:-1:-1;18134:30:144;;18170:25;;18134:30;;18231:16;;;;18170:25;;18231:16;;;;;-1:-1:-1;18231:16:144;18202:45;;18268:11;18253:9;18263:1;18253:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;18316:11;18300:29;;18285:9;18295:1;18285:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;18366:12;18350:30;;18335:9;18345:1;18335:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;18387:86;1380:66;18419:9;18430:11;18443:15;18460:12;18387:21;:86::i;:::-;17754:724;;;;17615:863;;;;:::o;5438:295:156:-;5547:16;;;5561:1;5547:16;;;;;;;;;5501:9;;;;5547:16;;;;;;;;;;;;-1:-1:-1;5547:16:156;5518:45;;5584:13;5569:9;5579:1;5569:12;;;;;;;;:::i;:::-;;;;;;;;;;:28;5604:13;5620:64;1157:66;5657:9;5668:1;1286:66;5620:26;:64::i;:::-;5604:80;;5698:29;5719:5;5706:20;;12543:5;12457:97;13570:2789:182;13666:17;13685:18;13719:40;13762:32;13782:11;13762:19;:32::i;:::-;13719:75;;13809:13;13826:5;13809:22;13805:151;;13867:12;13847:17;;;:32;13805:151;;;13930:15;13910:17;;;:35;13805:151;14012:32;14054:23;14088:26;;:::i;:::-;14130:9;14125:280;14145:13;:23;;;:30;14141:1;:34;14125:280;;;14208:37;14218:13;:23;;;14242:1;14218:26;;;;;;;;:::i;:::-;;;;;;;14208:9;:37::i;:::-;14196:49;;14287:9;:15;;;14259:43;;;;;:::i;:::-;;;14342:1;14320:9;:19;;;:23;14316:79;;;14363:17;;;;:::i;:::-;;;;14316:79;14177:3;;14125:280;;;;14603:20;14638:9;14633:579;14653:13;:23;;;:30;14649:1;:34;14633:579;;;14719:13;:23;;;14743:1;14719:26;;;;;;;;:::i;:::-;;;;;;;14704:41;;14763:33;14783:12;14763:19;:33::i;:::-;14759:443;;;14829:33;14849:12;14829:19;:33::i;:::-;14816:46;;;;:::i;:::-;;;14894:49;14913:9;:15;;;14930:12;14894:18;:49::i;:::-;14880:63;;;;:::i;:::-;;-1:-1:-1;14961:52:182;14988:12;15010:1;14961:26;:52::i;:::-;15031:156;15071:12;15085;15099:13;:23;;;15138:13;:23;;;:30;15123:12;:45;;;;:::i;:::-;15099:70;;;;;;;;:::i;:::-;;;;;;;15031:18;:156::i;:::-;14685:3;;14633:579;;;;15457:20;15492:9;15487:809;15507:13;:23;;;:30;15503:1;:34;15487:809;;;15573:13;:23;;;15597:1;15573:26;;;;;;;;:::i;:::-;;;;;;;15558:41;;15624:8;:6;:8::i;:::-;-1:-1:-1;;;;;15617:39:182;;15657:12;15617:53;;;;;;;;;;;;;4251:25:192;;4239:2;4224:18;;4105:177;15617:53:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15613:607;;;15702:23;15712:12;15702:9;:23::i;:::-;15690:35;;15776:1;15747:9;:19;;;:31;15743:411;;;15806:23;;15802:153;;15864:8;:6;:8::i;:::-;-1:-1:-1;;;;;15857:29:182;;15887:12;15902:28;15915:15;15902:10;:28;:::i;:::-;15857:75;;;;;;;;;;;;;21310:25:192;;;;21351:18;;;21344:34;21283:18;;15857:75:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15802:153;16000:1;15980:9;:22;:54;;;;;16032:1;16006:15;:28;15980:54;15976:160;;;16086:27;16098:15;16086:9;:27;:::i;:::-;16062:9;:20;;:51;;;;;;;:::i;:::-;;;-1:-1:-1;15976:160:182;16171:34;16181:12;16195:9;16171;:34::i;:::-;16233:52;16260:12;16282:1;16233:26;:52::i;:::-;15539:3;;15487:809;;;;16305:47;16325:11;16338:13;16305:19;:47::i;:::-;13709:2650;;;;;;13570:2789;;;;;:::o;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;25028:389:149:-;25168:33;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25168:33:149;25297:25;25310:11;25297:12;:25::i;:::-;25278:15;;;25209:113;;;25258:18;;;25209:113;;;25246:10;;;25209:113;;;25232:12;;;25209:113;;;25210:6;25209:113;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;25368:44;25382:15;25399:12;25368:13;:44::i;:::-;25348:16;;;25329:83;25330:16;;;25329:83;25330:6;25028:389;-1:-1:-1;;;25028:389:149:o;3318:662:83:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;23672:98:192;23645:18;;3713:52:83;23528:248:192;3668:97:83;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:83;3900:8;3936;3883:4;:92::i;7036:160:161:-;2756:4:23;2742:27;;2736:34;2742:27;;;2736:34;7131:8:161;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:161;-1:-1:-1;;;;7036:160:161:o;26096:263:149:-;26261:12;26305:13;26320:5;26327:3;26332:11;26345:8;26288:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;26281:73;;26096:263;;;;;;;:::o;26550:354::-;26664:30;26825:68;26848:9;:16;26867:2;26848:21;26871:9;:16;26890:2;26871:21;2776:23:24;2761:39;;;975:16;2694:39;;;2662:5;;;2675:59;2742;2518:351;;;;;26825:68:149;26807:86;26550:354;-1:-1:-1;;;26550:354:149:o;27069:216::-;27171:12;27215:31;27235:9;27215:18;:31::i;:::-;27248;27268:9;27248:18;:31::i;:::-;27198:82;;;;;;;;;:::i;:::-;;;;;;;;;;;;;27191:89;;27069:216;;;;:::o;6458:480:46:-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6639:299;6458:480;;;;;:::o;17775:457::-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;1836:227::-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;3430:314:113:-;3538:16;;;3552:1;3538:16;;;;;;;;;3482:19;;;;3538:16;;;;;;;;;;;;-1:-1:-1;3538:16:113;3509:45;;3599:6;-1:-1:-1;;;;;3583:24:113;3575:33;;3560:9;3570:1;3560:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;3615:13;3631:64;1169:66;3668:9;3615:13;1298:66;3631:26;:64::i;1698:281:82:-;1860:29;1870:10;1882:6;1860:9;:29::i;:::-;1855:120;;1938:21;:10;:19;:21::i;:::-;1961:6;1906:62;;;;;;;;;;;;:::i;9017:404:145:-;-1:-1:-1;;;;;;;;;;;;;;;;;9133:16:145;;;9147:1;9133:16;;;;;;;;;9104:26;;9133:16;;;;;;;;;;;-1:-1:-1;9133:16:145;9104:45;;9170:8;9155:9;9165:1;9155:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;9186:24;;;9273:80;1201:66;9318:9;1330:66;9273:21;:80::i;:::-;9185:168;;;;;;9366:50;9373:11;9386:15;9403:12;9366:6;:50::i;10194:2213:182:-;10417:13;10432:8;10442:9;10487:35;10532:8;:6;:8::i;:::-;-1:-1:-1;;;;;10525:42:182;;10568:10;10525:54;;;;;;;;;;;;;4251:25:192;;4239:2;4224:18;;4105:177;10525:54:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10487:92;;10612:35;10657:8;:6;:8::i;:::-;-1:-1:-1;;;;;10650:42:182;;10693:10;10650:54;;;;;;;;;;;;;4251:25:192;;4239:2;4224:18;;4105:177;10650:54:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10612:92;;10742:25;10777:8;:6;:8::i;:::-;-1:-1:-1;;;;;10770:35:182;;10806:8;10770:45;;;;;;;;;;;;;4251:25:192;;4239:2;4224:18;;4105:177;10770:45:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10770:45:182;;;;;;;;;;;;:::i;:::-;10742:73;;10851:1;10830:8;:18;;;:22;10826:1575;;;10895:34;;;;;;;;4251:25:192;;;10868:24:182;;10895:9;;:20;;4224:18:192;;10895:34:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10895:34:182;;;;;;;;;;;;:::i;:::-;10868:61;;10957:139;11015:8;11024:1;11015:11;;;;;;;;:::i;:::-;;;;;;;11007:20;;11037:8;11046:1;11037:11;;;;;;;;:::i;:::-;;;;;;;11029:20;;11051:11;11064:8;11074;10957:32;:139::i;:::-;10943:153;;-1:-1:-1;10943:153:182;-1:-1:-1;11111:1188:182;;;;487:7:0;11766:1:182;11735:11;:28;;;11709:8;:22;;;11702:61;;;;:::i;:::-;:65;:215;;11915:1;11702:215;;;11843:11;:28;;;11817:8;:22;;;11810:61;;;;:::i;:::-;11672:290;;;;:::i;:::-;11521:25;;531:7:0;;11521:29:182;;11549:1;;11521:29;:::i;:::-;11332:6;:16;;;11312:6;:16;;;11297:8;11306:1;11297:11;;;;;;;;:::i;:::-;;;;;;;11289:20;;:39;;;;:::i;:::-;:59;;:192;;11465:6;:16;;;11450:8;11459:1;11450:11;;;;;;;;:::i;:::-;;;;;;;11442:20;;:39;;;;:::i;:::-;11289:192;;;11387:6;:16;;;11289:192;11195:23;;:316;;;;:::i;:::-;:356;;;;:::i;:::-;11169:430;;;;:::i;:::-;11147:837;;;;:::i;:::-;11138:846;;12006:4;12002:166;;;12034:21;;;;;;;;;;;;;;;;;;:12;:21::i;:::-;12086:30;573:1:0;12086:6:182;:30;:::i;:::-;12077:39;;12145:4;12138:11;;12002:166;11111:1188;;;12206:21;;;;;;;;;;;;;;;;;;:12;:21::i;:::-;12254:1;12245:10;;12279:5;12273:11;;11111:1188;10854:1455;10826:1575;;;12338:1;12329:10;;12359:5;12353:11;;12385:5;12378:12;;10826:1575;10453:1954;;;10194:2213;;;;;;;;;:::o;9380:299:165:-;9496:16;;;9510:1;9496:16;;;;;;;;;9443;;;;9496;;;;;;;;;;;;-1:-1:-1;9496:16:165;9467:45;;9533:8;9518:9;9528:1;9518:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;9548:13;9564:64;1303:66;9601:9;9612:1;1432:66;9564:26;:64::i;10065:254::-;10167:16;;;10181:1;10167:16;;;;;;;;;10138:26;;10167:16;;;;;;;;;;;-1:-1:-1;10167:16:165;10138:45;;10204:8;10189:9;10199:1;10189:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;10219:95;1303:66;1287:83;;10256:9;10267:1;10288:9;10270:29;;;;;;17294:19:192;;17338:2;17329:12;;17165:182;10270:29:165;;;;-1:-1:-1;;10270:29:165;;;;;;;;;1432:66;10219:26;:95::i;22361:660:144:-;22702:12;22761:8;22779;22797:10;22817;22837:3;22850:4;22864;22878:18;22906;22934:12;22956;22978:11;22999:9;22735:281;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;22722:294;;22361:660;;;;;;;;;;;;;;;:::o;13158:402:165:-;13212:23;;:::i;:::-;13272:16;;;13286:1;13272:16;;;;;;;;;13243:26;;13272:16;;;;;;;;;;;-1:-1:-1;13272:16:165;13243:45;;13309:8;13294:9;13304:1;13294:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;13325:24;;;13412:80;1303:66;13457:9;1432:66;13412:21;:80::i;:::-;13324:168;;;;;;13505:50;13512:11;13525:15;13542:12;13505:6;:50::i;10661:294::-;10780:16;;;10794:1;10780:16;;;;;;;;;10725:18;;;;10780:16;;;;;;;;;;;;-1:-1:-1;10780:16:165;10751:45;;10817:8;10802:9;10812:1;10802:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;10832:13;10848:64;1303:66;10885:9;10896:1;1432:66;10848:26;:64::i;16365:354:182:-;16456:18;16686:25;16703:8;633:4:0;16686:25:182;:::i;:::-;16670:42;;:12;:42;:::i;16725:582::-;16833:13;16856:8;:6;:8::i;:::-;-1:-1:-1;;;;;16849:29:182;;16879:8;16849:39;;;;;;;;;;;;;4251:25:192;;4239:2;4224:18;;4105:177;16849:39:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16833:55;;16898:32;16944:23;16961:5;16944:16;:23::i;:::-;16933:51;;;;;;;;;;;;:::i;:::-;16898:86;;16999:9;16994:307;17014:12;:22;;;:29;17010:1;:33;16994:307;;;17064:18;17085:46;17105:12;:22;;;17128:1;17105:25;;;;;;;;:::i;:::-;;;;;;;17085:19;:46::i;:::-;17064:67;-1:-1:-1;17064:67:182;17149:22;17164:7;17149:12;:22;:::i;:::-;:35;17145:146;;;17211:8;:6;:8::i;:::-;-1:-1:-1;;;;;17204:29:182;;17234:11;17247:12;:22;;;17270:1;17247:25;;;;;;;;:::i;:::-;;;;;;;;;;;17204:72;;;;;;;;;;;;;34692:25:192;;;;34733:18;;;34726:34;17274:1:182;34776:18:192;;;34769:34;34665:18;;17204:72:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17145:146;-1:-1:-1;17045:3:182;;16994:307;;15526:545:165;15597:24;15624:200;15644:6;:15;;;15667:6;:14;;;15689:6;:12;;;15709:6;:19;;;15736:6;:13;;;15757:6;:16;;;15781:6;:17;;;15806:6;:12;;;15624;:200::i;:::-;15928:16;;;15942:1;15928:16;;;;;;;;;15597:227;;-1:-1:-1;15831:30:165;;15867:25;;15831:30;;15928:16;;;;;;;;;;;;-1:-1:-1;15928:16:165;15899:45;;15965:8;15950:9;15960:1;15950:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;15980:86;1303:66;16012:9;16023:11;16036:15;16053:12;15980:21;:86::i;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;23661:475:149:-;23746:27;23775:13;23790:11;23803:19;23824:16;23886:25;23902:5;23909:1;2742:27:23;2756:4;2742:27;2736:34;;2612:168;23886:25:149;23880:32;;23866:47;;;;;;;;:::i;:::-;2742:27:23;;;2736:34;2742:27;;;2736:34;2742:27;;;2736:34;2742:27;;;;2736:34;23850:63:149;;2736:34:23;;;;-1:-1:-1;2736:34:23;-1:-1:-1;2736:34:23;;-1:-1:-1;23661:475:149;-1:-1:-1;;23661:475:149:o;24239:522::-;24349:26;;24411:14;975:16:24;7017:70;;;6995:94;;24525:63:149;:41;24546:5;24411:14;6995:94:24;24525:20:149;:41::i;:::-;:61;:63::i;:::-;24512:77;-1:-1:-1;24605:4:149;-1:-1:-1;24605:4:149;6995:94:24;7059:27;7017:70;;;6995:94;24633:34:149;24692:63;:41;24713:5;24720:6;24633:34;24692:20;:41::i;:63::-;24679:77;;24405:356;;24239:522;;;;;:::o;5805:471:108:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:108;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:83:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:83;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:83;-1:-1:-1;2409:177:83;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:83;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:83;;;;;;;;;;;;:::i;44950:222:57:-;45014:12;45104:6;45128:39;45104:6;45161:2;45165:1;45128:17;:39::i;12066:286:45:-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;:::-;12066:286;;;;;:::o;36171:541::-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;:::-;36452:255;36171:541;-1:-1:-1;;;;;36171:541:45:o;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;1109:325:82:-;1190:4;1332:55;696:18:119;578:36:99;2955:46;;2954:74;1380:6:82;1332:18;:55::i;:::-;:97;;;;1391:38;1410:10;1422:6;1391:18;:38::i;3486:592:99:-;3550:13;3620:10;451:5:41;2637:44:99;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:99;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;12940:299:145:-;-1:-1:-1;;;;;;;;;;;;;;;;;13135:25:145;13148:11;13135:12;:25::i;:::-;13114:6;;13113:47;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;13190:44:145;13204:15;13221:12;13190:13;:44::i;:::-;13168:18;;;13167:67;13168:6;12940:299;-1:-1:-1;;;12940:299:145:o;12582:934:182:-;12848:16;;;442:7:0;13127:17:182;13140:4;13127:10;:17;:::i;:::-;13056:67;13065:8;:24;;;13091:11;:31;;;13056:8;:67::i;:::-;:89;;;;:::i;:::-;13042:133;;;;:::i;:::-;13020:155;;13279:20;487:7:0;13326:8:182;:24;;;13318:4;13304:11;:18;;;;:::i;:::-;13303:47;;;;:::i;:::-;13302:68;;;;:::i;:::-;13279:91;;13408:12;13394:11;:26;13380:40;;13434:11;13430:80;;;13498:1;13468:26;13482:12;13468:11;:26;:::i;:::-;:31;;13461:38;;13430:80;12877:639;;12582:934;;;;;;;;:::o;6598:121:139:-;6653:59;6708:2;6669:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6669:42:139;;;;;;;;;;;;;;;;;;;;6653:15;:59::i;:::-;6598:121;:::o;17711:363:165:-;17822:23;;:::i;:::-;18044:25;18057:11;18044:12;:25::i;:::-;18023:12;;;17853:216;;;17998:17;;;17853:216;;;17974:16;;;17853:216;;;17953:13;;;17853:216;;;17926:19;;;17853:216;;;17861:6;17884:14;;;17906:12;;;17853:216;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;17853:216:165;;;;-1:-1:-1;17711:363:165;;;-1:-1:-1;;;;;17711:363:165:o;4118:288:157:-;4235:16;;;4249:1;4235:16;;;;;;;;;4177:21;;4206:26;;4235:16;;;;;;;;;;;;-1:-1:-1;4235:16:157;4206:45;;4288:5;4272:23;;4257:9;4267:1;4257:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;4302:18;4323:51;1202:66;4361:9;4302:18;4323:27;:51::i;4150:308:153:-;4267:16;;;4281:1;4267:16;;;;;;;;;4212:18;;;;4267:16;;;;;;;;;;;;-1:-1:-1;4267:16:153;4238:45;;4320:6;4304:24;;4289:9;4299:1;4289:12;;;;;;;;:::i;:::-;;;;;;;;;;:39;4335:13;4351:64;1205:66;4388:9;4399:1;1334:66;4351:26;:64::i;18741:348:165:-;18963:12;19007:8;19017:7;19026:5;19033:12;19047:6;19055:9;19066:10;19078:5;18990:94;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;18983:101;;18741:348;;;;;;;;;;:::o;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;45284:220:56:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;8363:236:108:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:97:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:97;-1:-1:-1;;;;;;2067:27:97;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:99;2955:46;;696:18:119;2954:74:99;2432:22:97;2515:26;2954:74:99;2515:13:97;:26::i;:::-;2490:51;-1:-1:-1;2549:50:97;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:99;;2539:148;2681:23:97;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:97;-1:-1:-1;;;;;;;1761:1386:97:o;348:217:117:-;551:6;545:13;538:4;530:6;526:17;519:40;830:1343:58;1002:12;;955:17;;980:19;1043:26;1058:11;1002:12;1043:26;:::i;:::-;1020:49;;1441:4;1435:11;;-1:-1:-1;1484:4:58;1474:15;;-1:-1:-1;;1358:16:58;1531:32;;;1358:16;1354:32;1503:4;1496:69;1607:12;1601:4;1594:26;1651:1;1721:4;1714:5;1710:16;1628:535;1741:11;1738:1;1735:18;1628:535;;;2134:19;;2113:41;;2091:64;;2007:31;;;;1828:1;1821:9;;;;;1920:4;1902:23;1628:535;;;1632:102;;;1222:947;;830:1343;;;;;:::o;4015:652:45:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;50806:191;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;;-1:-1:-1;52054:6:45;51823:242;-1:-1:-1;;;51823:242:45:o;8945:812:44:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;17013:1682:45:-;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;;;17128:1567;;17013:1682;;;;:::o;3586:379:111:-;3709:16;;;3723:1;3709:16;;;;;;;;3661:11;;;;3709:16;3723:1;3709:16;;;;;;;;;;-1:-1:-1;3709:16:111;3680:45;;3764:10;3731:9;3741:1;3731:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;3820:6;-1:-1:-1;;;;;3804:24:111;3796:33;;3781:9;3791:1;3781:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;3836:13;3852:64;1169:66;3889:9;3836:13;1298:66;3852:26;:64::i;:::-;3836:80;;3930:29;3951:5;3938:20;;12543:5:156;12457:97;3165:160:99;3228:7;3292:26;438:6;451:5:41;3292:26:99;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:99:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:23;3257:13;;3253:24;2007:42:99;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;41973:66:192;41961:79;;2092:30:99;;;41949:92:192;2092:30:99;;42057:12:192;;;;2092:30:99;;;875:21:23;;;2092:30:99;2142:39;760:164:23;12092:156:145;2756:4:23;2742:27;;2736:34;12157:21:145;;12210:32;;12199:44;;;;;;;;:::i;12351:322::-;12461:24;12493:14;975:16:24;7017:70;;;6995:94;;12615:51:145;:41;12636:5;12493:14;6995:94:24;12615:20:145;:41::i;:::-;:49;:51::i;1035:205:181:-;1094:12;1128:1;1122:2;:7;1118:116;;1152:16;1165:2;1152;:16;:::i;:::-;1145:23;;;;1118:116;1219:3;1220:2;1219:3;:::i;:::-;1206:17;;:2;:17;:::i;868:133:139:-;939:55;986:7;965:19;939:55::i;16807:746:165:-;16899:16;16923:15;16946:13;16967:20;16995:14;17017:16;17041:18;17067:13;17115:26;17132:5;17139:1;2742:27:23;2756:4;2742:27;2736:34;;2612:168;17115:26:165;2742:27:23;;;2736:34;2742:27;;;2736:34;17107:35:165;;-1:-1:-1;2736:34:23;-1:-1:-1;17221:33:165;;17213:42;;;;;;;;:::i;:::-;2742:27:23;;;2736:34;2742:27;;;2736:34;2742:27;;;2736:34;2742:27;;;2736:34;2742:27;;;;2736:34;16807:746:165;;;;17205:50;;2736:34:23;;;;-1:-1:-1;2736:34:23;-1:-1:-1;2736:34:23;;-1:-1:-1;2736:34:23;-1:-1:-1;16807:746:165;-1:-1:-1;;16807:746:165:o;18598:431:46:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:46;-1:-1:-1;;;;;18805:30:46;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:46;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:46;;;;;;;;;;;;:::i;5042:669:44:-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;1358:16:58;5546:26:44;;;1358:16:58;1354:32;5518:4:44;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;53371:230:45:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;2681:1129:58:-;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;7963:242:108;2756:4:23;2742:27;;2736:34;2742:27;;;2736:34;8028:19:108;;8173:26;8147:53;;7963:242;;;:::o;5928:433:114:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:114;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;1546:281:84:-;1708:29;1718:10;1730:6;1708:9;:29::i;3758:308:107:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:107;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:107;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;17294:19:192;;17338:2;17329:12;;17165:182;5279:27:107;;;;-1:-1:-1;;5279:27:107;;;;;;;;;1286:66;5230:24;:91::i;5594:317:98:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:98;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:98;;;;-1:-1:-1;5594:317:98;-1:-1:-1;;;;;5594:317:98:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:98;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;51249:282:45;51494:30;;;;;;43412:19:192;;;43447:12;;;43440:28;;;51337:7:45;;43484:12:192;;51494:30:45;43223:279:192;3658:342:50;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;3545:418:43:-;3597:17;3622:19;3644:13;3652:4;2997:3;2975:25;;2901:104;3644:13;3622:35;-1:-1:-1;692:17:43;3238:38;;;3767:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3767:18:43;-1:-1:-1;3760:25:43;-1:-1:-1;3854:4:43;3844:15;;3914:44;3926:11;3844:15;3950:7;3914:11;:44::i;:::-;3616:347;;;3545:418;;;:::o;1007:380:139:-;1105:14;;591:42;1278:2;1265:16;;1081:21;;1105:14;1265:16;591:42;1314:5;1303:68;1294:77;;1231:150;;1007:380;:::o;37180:522:45:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;7829:207:114:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;955:327:84:-;1036:4;1178:56;696:18:119;578:36:99;2955:46;;2954:74;1227:6:84;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:98:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;40103:220:56:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;1229:823:40:-;1346:324;1363:2;1353:6;:12;1346:324;;1453:18;;1435:37;;1604:2;1616:17;;;;1591:15;;;;-1:-1:-1;;1643:12:40;1346:324;;;1679:6;1689:1;1679:11;1675:24;;1229:823;;;:::o;1675:24::-;1738:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;1738:32:40;;2019:4;2007:9;2001:16;1997:27;1942:4;1938:9;1924:11;1918:18;1914:34;1867:167;1848:9;1832:210;1824:224;1229:823;;;:::o;7448:223:114:-;2756:4:23;2742:27;;2736:34;2742:27;;;2736:34;7564:35:114;;;;;;7513:14;;7631:33;;7623:42;12457:97:156;4006:378:111;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:111;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:111;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:332:192:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:184;-1:-1:-1;;;823:1:192;816:88;923:4;920:1;913:15;947:4;944:1;937:15;963:253;1035:2;1029:9;1077:4;1065:17;;1112:18;1097:34;;1133:22;;;1094:62;1091:88;;;1159:18;;:::i;:::-;1195:2;1188:22;963:253;:::o;1221:::-;1293:2;1287:9;1335:4;1323:17;;1370:18;1355:34;;1391:22;;;1352:62;1349:88;;;1417:18;;:::i;1479:252::-;1551:2;1545:9;1593:3;1581:16;;1627:18;1612:34;;1648:22;;;1609:62;1606:88;;;1674:18;;:::i;1736:255::-;1808:2;1802:9;1850:6;1838:19;;1887:18;1872:34;;1908:22;;;1869:62;1866:88;;;1934:18;;:::i;1996:334::-;2067:2;2061:9;2123:2;2113:13;;-1:-1:-1;;2109:86:192;2097:99;;2226:18;2211:34;;2247:22;;;2208:62;2205:88;;;2273:18;;:::i;:::-;2309:2;2302:22;1996:334;;-1:-1:-1;1996:334:192:o;2335:183::-;2395:4;2428:18;2420:6;2417:30;2414:56;;;2450:18;;:::i;:::-;-1:-1:-1;2495:1:192;2491:14;2507:4;2487:25;;2335:183::o;2523:668::-;2577:5;2630:3;2623:4;2615:6;2611:17;2607:27;2597:55;;2648:1;2645;2638:12;2597:55;2684:6;2671:20;2710:4;2734:60;2750:43;2790:2;2750:43;:::i;:::-;2734:60;:::i;:::-;2816:3;2840:2;2835:3;2828:15;2868:4;2863:3;2859:14;2852:21;;2925:4;2919:2;2916:1;2912:10;2904:6;2900:23;2896:34;2882:48;;2953:3;2945:6;2942:15;2939:35;;;2970:1;2967;2960:12;2939:35;3006:4;2998:6;2994:17;3020:142;3036:6;3031:3;3028:15;3020:142;;;3102:17;;3090:30;;3140:12;;;;3053;;3020:142;;;-1:-1:-1;3180:5:192;2523:668;-1:-1:-1;;;;;;2523:668:192:o;3196:159::-;3263:20;;3323:6;3312:18;;3302:29;;3292:57;;3345:1;3342;3335:12;3360:740;3494:6;3502;3510;3518;3571:3;3559:9;3550:7;3546:23;3542:33;3539:53;;;3588:1;3585;3578:12;3539:53;3628:9;3615:23;3657:18;3698:2;3690:6;3687:14;3684:34;;;3714:1;3711;3704:12;3684:34;3737:61;3790:7;3781:6;3770:9;3766:22;3737:61;:::i;:::-;3727:71;;3851:2;3840:9;3836:18;3823:32;3807:48;;3880:2;3870:8;3867:16;3864:36;;;3896:1;3893;3886:12;3864:36;;3919:63;3974:7;3963:8;3952:9;3948:24;3919:63;:::i;:::-;3909:73;;;4001:37;4034:2;4023:9;4019:18;4001:37;:::i;:::-;3991:47;;4057:37;4090:2;4079:9;4075:18;4057:37;:::i;:::-;4047:47;;3360:740;;;;;;;:::o;4287:180::-;4346:6;4399:2;4387:9;4378:7;4374:23;4370:32;4367:52;;;4415:1;4412;4405:12;4367:52;-1:-1:-1;4438:23:192;;4287:180;-1:-1:-1;4287:180:192:o;4472:184::-;-1:-1:-1;;;4521:1:192;4514:88;4621:4;4618:1;4611:15;4645:4;4642:1;4635:15;4661:144;4746:1;4739:5;4736:12;4726:46;;4752:18;;:::i;:::-;4781;;4661:144::o;4810:439::-;4863:3;4901:5;4895:12;4928:6;4923:3;4916:19;4954:4;4983;4978:3;4974:14;4967:21;;5022:4;5015:5;5011:16;5045:1;5055:169;5069:6;5066:1;5063:13;5055:169;;;5130:13;;5118:26;;5164:12;;;;5199:15;;;;5091:1;5084:9;5055:169;;;-1:-1:-1;5240:3:192;;4810:439;-1:-1:-1;;;;;4810:439:192:o;5254:963::-;5459:2;5448:9;5441:21;5471:64;5531:2;5520:9;5516:18;5507:6;5501:13;5471:64;:::i;:::-;5589:2;5581:6;5577:15;5571:22;5566:2;5555:9;5551:18;5544:50;5648:2;5640:6;5636:15;5630:22;5625:2;5614:9;5610:18;5603:50;5708:2;5700:6;5696:15;5690:22;5684:3;5673:9;5669:19;5662:51;5768:3;5760:6;5756:16;5750:23;5744:3;5733:9;5729:19;5722:52;5422:4;5821:3;5813:6;5809:16;5803:23;5863:4;5857:3;5846:9;5842:19;5835:33;5891:63;5949:3;5938:9;5934:19;5920:12;5891:63;:::i;:::-;5877:77;;6003:3;5995:6;5991:16;5985:23;-1:-1:-1;;6062:9:192;6054:6;6050:22;6046:95;6039:4;6028:9;6024:20;6017:125;6159:52;6204:6;6188:14;6159:52;:::i;6222:1117::-;6282:5;6335:3;6328:4;6320:6;6316:17;6312:27;6302:55;;6353:1;6350;6343:12;6302:55;6389:6;6376:20;6415:4;6439:60;6455:43;6495:2;6455:43;:::i;6439:60::-;6533:15;;;6619:1;6615:10;;;;6603:23;;6599:32;;;6564:12;;;;6643:15;;;6640:35;;;6671:1;6668;6661:12;6640:35;6707:2;6699:6;6695:15;6719:591;6735:6;6730:3;6727:15;6719:591;;;6813:4;6807:3;6802;6798:13;6794:24;6791:114;;;6859:1;6888:2;6884;6877:14;6791:114;6931:22;;:::i;:::-;6980:17;;6966:32;;7047:12;;;7034:26;7018:14;;;7011:50;7084:2;7135:12;;;7122:26;7106:14;;;7099:50;7172:2;7223:12;;;7210:26;7194:14;;;7187:50;7250:18;;7288:12;;;;6761:4;6752:14;6719:591;;7344:516;7472:6;7480;7488;7541:2;7529:9;7520:7;7516:23;7512:32;7509:52;;;7557:1;7554;7547:12;7509:52;7593:9;7580:23;7570:33;;7650:2;7639:9;7635:18;7622:32;7612:42;;7705:2;7694:9;7690:18;7677:32;7732:18;7724:6;7721:30;7718:50;;;7764:1;7761;7754:12;7718:50;7787:67;7846:7;7837:6;7826:9;7822:22;7787:67;:::i;:::-;7777:77;;;7344:516;;;;;:::o;7865:758::-;8011:6;8019;8027;8080:2;8068:9;8059:7;8055:23;8051:32;8048:52;;;8096:1;8093;8086:12;8048:52;8135:9;8122:23;8174:1;8167:5;8164:12;8154:40;;8190:1;8187;8180:12;8154:40;8213:5;-1:-1:-1;8269:2:192;8254:18;;8241:32;8292:18;8322:14;;;8319:34;;;8349:1;8346;8339:12;8319:34;8372:61;8425:7;8416:6;8405:9;8401:22;8372:61;:::i;:::-;8362:71;;8486:2;8475:9;8471:18;8458:32;8442:48;;8515:2;8505:8;8502:16;8499:36;;;8531:1;8528;8521:12;8499:36;;8554:63;8609:7;8598:8;8587:9;8583:24;8554:63;:::i;8810:154::-;-1:-1:-1;;;;;8889:5:192;8885:54;8878:5;8875:65;8865:93;;8954:1;8951;8944:12;8969:483;9062:6;9070;9123:2;9111:9;9102:7;9098:23;9094:32;9091:52;;;9139:1;9136;9129:12;9091:52;9178:9;9165:23;9197:31;9222:5;9197:31;:::i;:::-;9247:5;-1:-1:-1;9303:2:192;9288:18;;9275:32;9330:18;9319:30;;9316:50;;;9362:1;9359;9352:12;9316:50;9385:61;9438:7;9429:6;9418:9;9414:22;9385:61;:::i;:::-;9375:71;;;8969:483;;;;;:::o;9457:248::-;9525:6;9533;9586:2;9574:9;9565:7;9561:23;9557:32;9554:52;;;9602:1;9599;9592:12;9554:52;-1:-1:-1;;9625:23:192;;;9695:2;9680:18;;;9667:32;;-1:-1:-1;9457:248:192:o;10231:184::-;-1:-1:-1;;;10280:1:192;10273:88;10380:4;10377:1;10370:15;10404:4;10401:1;10394:15;10420:277;10487:6;10540:2;10528:9;10519:7;10515:23;10511:32;10508:52;;;10556:1;10553;10546:12;10508:52;10588:9;10582:16;10641:5;10634:13;10627:21;10620:5;10617:32;10607:60;;10663:1;10660;10653:12;11787:251;11857:6;11910:2;11898:9;11889:7;11885:23;11881:32;11878:52;;;11926:1;11923;11916:12;11878:52;11958:9;11952:16;11977:31;12002:5;11977:31;:::i;13578:691::-;13890:48;13928:9;13920:6;13890:48;:::i;:::-;13974:3;13969:2;13958:9;13954:18;13947:31;13871:4;14001:78;14074:3;14063:9;14059:19;14051:6;14001:78;:::i;:::-;14127:9;14119:6;14115:22;14110:2;14099:9;14095:18;14088:50;14155:65;14213:6;14205;14155:65;:::i;:::-;14147:73;;;14256:6;14251:2;14240:9;14236:18;14229:34;13578:691;;;;;;;:::o;14633:184::-;-1:-1:-1;;;14682:1:192;14675:88;14782:4;14779:1;14772:15;14806:4;14803:1;14796:15;14822:195;14861:3;-1:-1:-1;;14885:5:192;14882:77;14879:103;;14962:18;;:::i;:::-;-1:-1:-1;15009:1:192;14998:13;;14822:195::o;15022:990::-;15244:4;15273:2;15313;15302:9;15298:18;15343:6;15332:9;15325:25;15369:2;15407;15402;15391:9;15387:18;15380:30;15430:6;15465;15459:13;15496:6;15488;15481:22;15522:2;15512:12;;15555:2;15544:9;15540:18;15533:25;;15593:2;15585:6;15581:15;15614:1;15624:362;15638:6;15635:1;15632:13;15624:362;;;15697:13;;15735:9;;15723:22;;15785:11;;;15779:18;15765:12;;;15758:40;15838:11;;;15832:18;15818:12;;;15811:40;15891:11;;15885:18;15871:12;;;15864:40;15933:4;15924:14;;;;15961:15;;;;15660:1;15653:9;15624:362;;;-1:-1:-1;16003:3:192;;15022:990;-1:-1:-1;;;;;;;;;15022:990:192:o;16017:119::-;16104:1;16097:5;16094:12;16084:46;;16110:18;;:::i;16141:250::-;16226:1;16236:113;16250:6;16247:1;16244:13;16236:113;;;16326:11;;;16320:18;16307:11;;;16300:39;16272:2;16265:10;16236:113;;;-1:-1:-1;;16383:1:192;16365:16;;16358:27;16141:250::o;16396:329::-;16437:3;16475:5;16469:12;16502:6;16497:3;16490:19;16518:76;16587:6;16580:4;16575:3;16571:14;16564:4;16557:5;16553:16;16518:76;:::i;:::-;16639:2;16627:15;-1:-1:-1;;16623:88:192;16614:98;;;;16714:4;16610:109;;16396:329;-1:-1:-1;;16396:329:192:o;16730:430::-;16951:6;16940:9;16933:25;16967:44;17004:6;16967:44;:::i;:::-;17047:6;17042:2;17031:9;17027:18;17020:34;17090:2;17085;17074:9;17070:18;17063:30;16914:4;17110:44;17150:2;17139:9;17135:18;17127:6;17110:44;:::i;17702:832::-;17765:5;17818:3;17811:4;17803:6;17799:17;17795:27;17785:55;;17836:1;17833;17826:12;17785:55;17865:6;17859:13;17891:4;17915:60;17931:43;17971:2;17931:43;:::i;17915:60::-;17997:3;18021:2;18016:3;18009:15;18049:4;18044:3;18040:14;18033:21;;18106:4;18100:2;18097:1;18093:10;18085:6;18081:23;18077:34;18063:48;;18134:3;18126:6;18123:15;18120:35;;;18151:1;18148;18141:12;18120:35;18187:4;18179:6;18175:17;18201:304;18217:6;18212:3;18209:15;18201:304;;;18290:3;18284:10;18338:4;18331:5;18327:16;18320:5;18317:27;18307:125;;18386:1;18415:2;18411;18404:14;18307:125;18445:18;;18483:12;;;;18234;;18201:304;;18539:846;18648:6;18701:2;18689:9;18680:7;18676:23;18672:32;18669:52;;;18717:1;18714;18707:12;18669:52;18750:9;18744:16;18779:18;18820:2;18812:6;18809:14;18806:34;;;18836:1;18833;18826:12;18806:34;18859:22;;;;18915:4;18897:16;;;18893:27;18890:47;;;18933:1;18930;18923:12;18890:47;18959:22;;:::i;:::-;19010:2;19004:9;18997:5;18990:24;19060:2;19056;19052:11;19046:18;19041:2;19034:5;19030:14;19023:42;19111:2;19107;19103:11;19097:18;19092:2;19085:5;19081:14;19074:42;19162:2;19158;19154:11;19148:18;19143:2;19136:5;19132:14;19125:42;19206:3;19202:2;19198:12;19192:19;19236:2;19226:8;19223:16;19220:36;;;19252:1;19249;19242:12;19220:36;19289:65;19346:7;19335:8;19331:2;19327:17;19289:65;:::i;:::-;19283:3;19272:15;;19265:90;-1:-1:-1;19276:5:192;18539:846;-1:-1:-1;;;;;18539:846:192:o;19390:184::-;-1:-1:-1;;;19439:1:192;19432:88;19539:4;19536:1;19529:15;19563:4;19560:1;19553:15;19579:308;19618:1;19644;19634:35;;19649:18;;:::i;:::-;-1:-1:-1;;19763:1:192;19760:73;19691:66;19688:1;19685:73;19681:153;19678:179;;;19837:18;;:::i;:::-;-1:-1:-1;19871:10:192;;19579:308::o;19892:200::-;19958:9;;;19931:4;19986:9;;20014:10;;20026:12;;;20010:29;20049:12;;;20041:21;;20007:56;20004:82;;;20066:18;;:::i;20764:125::-;20829:9;;;20850:10;;;20847:36;;;20863:18;;:::i;20894:112::-;20926:1;20952;20942:35;;20957:18;;:::i;:::-;-1:-1:-1;20991:9:192;;20894:112::o;21011:120::-;21051:1;21077;21067:35;;21082:18;;:::i;:::-;-1:-1:-1;21116:9:192;;21011:120::o;21389:489::-;21689:6;21678:9;21671:25;21732:2;21727;21716:9;21712:18;21705:30;21652:4;21752:77;21825:2;21814:9;21810:18;21802:6;21752:77;:::i;:::-;21744:85;;21865:6;21860:2;21849:9;21845:18;21838:34;21389:489;;;;;;:::o;21883:568::-;21936:5;21989:3;21982:4;21974:6;21970:17;21966:27;21956:55;;22007:1;22004;21997:12;21956:55;22036:6;22030:13;22062:18;22058:2;22055:26;22052:52;;;22084:18;;:::i;:::-;22128:114;22236:4;-1:-1:-1;;22160:4:192;22156:2;22152:13;22148:86;22144:97;22128:114;:::i;:::-;22267:2;22258:7;22251:19;22313:3;22306:4;22301:2;22293:6;22289:15;22285:26;22282:35;22279:55;;;22330:1;22327;22320:12;22279:55;22343:77;22417:2;22410:4;22401:7;22397:18;22390:4;22382:6;22378:17;22343:77;:::i;22456:655::-;22598:6;22606;22614;22667:2;22655:9;22646:7;22642:23;22638:32;22635:52;;;22683:1;22680;22673:12;22635:52;22716:9;22710:16;22745:18;22786:2;22778:6;22775:14;22772:34;;;22802:1;22799;22792:12;22772:34;22825:60;22877:7;22868:6;22857:9;22853:22;22825:60;:::i;:::-;22815:70;;22925:2;22914:9;22910:18;22904:25;22894:35;;22975:2;22964:9;22960:18;22954:25;22938:41;;23004:2;22994:8;22991:16;22988:36;;;23020:1;23017;23010:12;22988:36;;23043:62;23097:7;23086:8;23075:9;23071:24;23043:62;:::i;23116:407::-;23199:5;23239;23233:12;23281:4;23274:5;23270:16;23264:23;23306:66;23398:2;23394;23390:11;23381:20;;23424:1;23416:6;23413:13;23410:107;;;23485:1;23481:14;;;;23478:1;23474:22;23470:31;;;23462:40;23458:49;;23116:407;-1:-1:-1;;23116:407:192:o;23781:525::-;24021:3;24060:1;24052:6;24049:13;24039:47;;24066:18;;:::i;:::-;-1:-1:-1;24111:3:192;24107:16;;;;24095:29;;24149:1;24140:11;;24133:27;;;;24185:2;24176:12;;24169:28;;;;24222:2;24213:12;;24206:28;24259:2;24250:12;;24243:28;24296:3;24287:13;;23781:525::o;24311:492::-;24486:3;24524:6;24518:13;24540:66;24599:6;24594:3;24587:4;24579:6;24575:17;24540:66;:::i;:::-;24669:13;;24628:16;;;;24691:70;24669:13;24628:16;24738:4;24726:17;;24691:70;:::i;:::-;24777:20;;24311:492;-1:-1:-1;;;;24311:492:192:o;24808:815::-;25203:6;25192:9;25185:25;25246:3;25241:2;25230:9;25226:18;25219:31;25166:4;25273:78;25346:3;25335:9;25331:19;25323:6;25273:78;:::i;:::-;25399:9;25391:6;25387:22;25382:2;25371:9;25367:18;25360:50;25433:32;25458:6;25450;25433:32;:::i;:::-;25419:46;;25501:6;25496:2;25485:9;25481:18;25474:34;25557:9;25549:6;25545:22;25539:3;25528:9;25524:19;25517:51;25585:32;25610:6;25602;25585:32;:::i;:::-;25577:40;24808:815;-1:-1:-1;;;;;;;;24808:815:192:o;25628:569::-;25952:6;25941:9;25934:25;25995:3;25990:2;25979:9;25975:18;25968:31;25915:4;26016:78;26089:3;26078:9;26074:19;26066:6;26016:78;:::i;:::-;26142:4;26130:17;;;;26125:2;26110:18;;26103:45;-1:-1:-1;26179:2:192;26164:18;26157:34;26008:86;25628:569;-1:-1:-1;;25628:569:192:o;26202:184::-;26272:6;26325:2;26313:9;26304:7;26300:23;26296:32;26293:52;;;26341:1;26338;26331:12;26293:52;-1:-1:-1;26364:16:192;;26202:184;-1:-1:-1;26202:184:192:o;26391:730::-;26761:6;26750:9;26743:25;26804:3;26799:2;26788:9;26784:18;26777:31;26724:4;26831:78;26904:3;26893:9;26889:19;26881:6;26831:78;:::i;:::-;26957:4;26949:6;26945:17;26940:2;26929:9;26925:18;26918:45;27011:9;27003:6;26999:22;26994:2;26983:9;26979:18;26972:50;27039:32;27064:6;27056;27039:32;:::i;:::-;27031:40;;;27108:6;27102:3;27091:9;27087:19;27080:35;26391:730;;;;;;;;:::o;27126:339::-;27303:2;27292:9;27285:21;27266:4;27323:44;27363:2;27352:9;27348:18;27340:6;27323:44;:::i;:::-;27315:52;;-1:-1:-1;;;;;27407:6:192;27403:55;27398:2;27387:9;27383:18;27376:83;27126:339;;;;;:::o;27470:711::-;27579:6;27632:3;27620:9;27611:7;27607:23;27603:33;27600:53;;;27649:1;27646;27639:12;27600:53;27675:22;;:::i;:::-;27726:9;27720:16;27713:5;27706:31;27790:2;27779:9;27775:18;27769:25;27764:2;27757:5;27753:14;27746:49;27848:2;27837:9;27833:18;27827:25;27822:2;27815:5;27811:14;27804:49;27906:2;27895:9;27891:18;27885:25;27880:2;27873:5;27869:14;27862:49;27965:3;27954:9;27950:19;27944:26;27938:3;27931:5;27927:15;27920:51;28025:3;28014:9;28010:19;28004:26;27998:3;27991:5;27987:15;27980:51;28085:3;28074:9;28070:19;28064:26;28058:3;28051:5;28047:15;28040:51;28145:3;28134:9;28130:19;28124:26;28118:3;28111:5;28107:15;28100:51;28170:5;28160:15;;;27470:711;;;;:::o;28186:999::-;28287:6;28340:2;28328:9;28319:7;28315:23;28311:32;28308:52;;;28356:1;28353;28346:12;28308:52;28389:9;28383:16;28418:18;28459:2;28451:6;28448:14;28445:34;;;28475:1;28472;28465:12;28445:34;28498:22;;;;28554:6;28536:16;;;28532:29;28529:49;;;28574:1;28571;28564:12;28529:49;28600:22;;:::i;:::-;28651:2;28645:9;28638:5;28631:24;28694:2;28690;28686:11;28680:18;28723:2;28713:8;28710:16;28707:36;;;28739:1;28736;28729:12;28707:36;28775:65;28832:7;28821:8;28817:2;28813:17;28775:65;:::i;:::-;28770:2;28763:5;28759:14;28752:89;;28887:2;28883;28879:11;28873:18;28868:2;28861:5;28857:14;28850:42;28938:2;28934;28930:11;28924:18;28919:2;28912:5;28908:14;28901:42;28990:3;28986:2;28982:12;28976:19;28970:3;28963:5;28959:15;28952:44;29043:3;29039:2;29035:12;29029:19;29023:3;29016:5;29012:15;29005:44;29096:3;29092:2;29088:12;29082:19;29076:3;29069:5;29065:15;29058:44;29149:3;29145:2;29141:12;29135:19;29129:3;29122:5;29118:15;29111:44;29174:5;29164:15;;;;;28186:999;;;;:::o;29380:1068::-;29474:6;29505:2;29548;29536:9;29527:7;29523:23;29519:32;29516:52;;;29564:1;29561;29554:12;29516:52;29597:9;29591:16;29626:18;29667:2;29659:6;29656:14;29653:34;;;29683:1;29680;29673:12;29653:34;29721:6;29710:9;29706:22;29696:32;;29766:7;29759:4;29755:2;29751:13;29747:27;29737:55;;29788:1;29785;29778:12;29737:55;29817:2;29811:9;29840:60;29856:43;29896:2;29856:43;:::i;29840:60::-;29934:15;;;30016:1;30012:10;;;;30004:19;;30000:28;;;29965:12;;;;30040:19;;;30037:39;;;30072:1;30069;30062:12;30037:39;30096:11;;;;30116:302;30132:6;30127:3;30124:15;30116:302;;;30205:3;30199:10;30253:2;30246:5;30242:14;30235:5;30232:25;30222:123;;30299:1;30328:2;30324;30317:14;30222:123;30358:18;;30149:12;;;;30396;;;;30116:302;;30453:168;30526:9;;;30557;;30574:15;;;30568:22;;30554:37;30544:71;;30595:18;;:::i;30626:216::-;30690:9;;;30718:11;;;30665:3;30748:9;;30776:10;;30772:19;;30801:10;;30793:19;;30769:44;30766:70;;;30816:18;;:::i;30847:292::-;30919:9;;;30886:7;30944:9;;30961:66;30955:73;;30940:89;30937:115;;;31032:18;;:::i;:::-;31105:1;31096:7;31091:16;31088:1;31085:23;31081:1;31074:9;31071:38;31061:72;;31113:18;;:::i;31329:1023::-;31775:6;31770:3;31763:19;31812:6;31807:2;31802:3;31798:12;31791:28;31849:6;31844:2;31839:3;31835:12;31828:28;31886:6;31881:2;31876:3;31872:12;31865:28;31947:6;31940:14;31933:22;31928:3;31924:32;31918:3;31913;31909:13;31902:55;32011:6;32004:14;31997:22;31992:3;31988:32;31982:3;31977;31973:13;31966:55;32030:38;32063:3;32058;32054:13;32046:6;20531:13;20524:21;20519:3;20515:31;20503:44;;20452:101;32030:38;32099:6;32093:3;32088;32084:13;32077:29;32137:6;32131:3;32126;32122:13;32115:29;32153:38;32186:3;32181;32177:13;32169:6;20531:13;20524:21;20519:3;20515:31;20503:44;;20452:101;32153:38;20531:13;;20524:21;20519:3;20515:31;32234:3;32225:13;;20503:44;32264:3;32255:13;;32248:30;;;;32303:3;32294:13;;32287:30;32342:3;32333:13;;;-1:-1:-1;;;;;;;;;;31329:1023:192:o;32546:152::-;32630:13;;32672:1;32662:12;;32652:40;;32688:1;32685;32678:12;32703:665;32768:5;32821:3;32814:4;32806:6;32802:17;32798:27;32788:55;;32839:1;32836;32829:12;32788:55;32868:6;32862:13;32894:4;32918:60;32934:43;32974:2;32934:43;:::i;32918:60::-;33000:3;33024:2;33019:3;33012:15;33052:4;33047:3;33043:14;33036:21;;33109:4;33103:2;33100:1;33096:10;33088:6;33084:23;33080:34;33066:48;;33137:3;33129:6;33126:15;33123:35;;;33154:1;33151;33144:12;33123:35;33190:4;33182:6;33178:17;33204:135;33220:6;33215:3;33212:15;33204:135;;;33286:10;;33274:23;;33317:12;;;;33237;;33204:135;;33373:1104;33475:6;33528:2;33516:9;33507:7;33503:23;33499:32;33496:52;;;33544:1;33541;33534:12;33496:52;33577:9;33571:16;33606:18;33647:2;33639:6;33636:14;33633:34;;;33663:1;33660;33653:12;33633:34;33686:22;;;;33742:6;33724:16;;;33720:29;33717:49;;;33762:1;33759;33752:12;33717:49;33788:22;;:::i;:::-;33839:2;33833:9;33826:5;33819:24;33889:2;33885;33881:11;33875:18;33870:2;33863:5;33859:14;33852:42;33926:47;33969:2;33965;33961:11;33926:47;:::i;:::-;33921:2;33914:5;33910:14;33903:71;34020:2;34016;34012:11;34006:18;34001:2;33994:5;33990:14;33983:42;34072:3;34068:2;34064:12;34058:19;34052:3;34045:5;34041:15;34034:44;34125:3;34121:2;34117:12;34111:19;34105:3;34098:5;34094:15;34087:44;34170:3;34166:2;34162:12;34156:19;34200:2;34190:8;34187:16;34184:36;;;34216:1;34213;34206:12;34184:36;34253:67;34312:7;34301:8;34297:2;34293:17;34253:67;:::i;:::-;34247:3;34236:15;;34229:92;-1:-1:-1;34368:3:192;34360:12;;;34354:19;34337:15;;;34330:44;34393:3;34434:11;;;34428:18;34412:14;;;34405:42;;;;-1:-1:-1;34240:5:192;33373:1104;-1:-1:-1;;;33373:1104:192:o;34814:175::-;34851:3;34895:4;34888:5;34884:16;34924:4;34915:7;34912:17;34909:43;;34932:18;;:::i;:::-;34981:1;34968:15;;34814:175;-1:-1:-1;;34814:175:192:o;34994:320::-;35201:6;35190:9;35183:25;35244:2;35239;35228:9;35224:18;35217:30;35164:4;35264:44;35304:2;35293:9;35289:18;35281:6;35264:44;:::i;35319:335::-;35398:6;35451:2;35439:9;35430:7;35426:23;35422:32;35419:52;;;35467:1;35464;35457:12;35419:52;35500:9;35494:16;35533:18;35525:6;35522:30;35519:50;;;35565:1;35562;35555:12;35519:50;35588:60;35640:7;35631:6;35620:9;35616:22;35588:60;:::i;35659:925::-;36108:66;36100:6;36096:79;36091:3;36084:92;36066:3;36195;36227:2;36223:1;36218:3;36214:11;36207:23;36259:6;36253:13;36275:74;36342:6;36338:1;36333:3;36329:11;36322:4;36314:6;36310:17;36275:74;:::i;:::-;36377:6;36372:3;36368:16;36358:26;;36412:2;36408:1;36404:2;36400:10;36393:22;36446:6;36440:13;36424:29;;36462:75;36528:8;36524:1;36520:2;36516:10;36509:4;36501:6;36497:17;36462:75;:::i;:::-;36557:17;36576:1;36553:25;;35659:925;-1:-1:-1;;;;;35659:925:192:o;36589:219::-;36738:2;36727:9;36720:21;36701:4;36758:44;36798:2;36787:9;36783:18;36775:6;36758:44;:::i;36813:713::-;37159:6;37154:3;37147:19;37196:6;37191:2;37186:3;37182:12;37175:28;37212:44;37249:6;37212:44;:::i;:::-;37290:3;37286:16;;;;37281:2;37272:12;;37265:38;37328:2;37319:12;;37312:28;;;;37365:2;37356:12;;37349:28;;;;37402:3;37393:13;;37386:29;37440:3;37431:13;;37424:29;37478:3;37469:13;;37462:29;37516:3;37507:13;;36813:713;-1:-1:-1;;36813:713:192:o;37531:128::-;37598:9;;;37619:11;;;37616:37;;;37633:18;;:::i;37664:640::-;37915:6;37910:3;37903:19;37885:3;37941:2;37974;37969:3;37965:12;38006:6;38000:13;38071:2;38063:6;38059:15;38092:1;38102:175;38116:6;38113:1;38110:13;38102:175;;;38179:13;;38165:28;;38215:14;;;;38252:15;;;;38138:1;38131:9;38102:175;;;-1:-1:-1;38293:5:192;;37664:640;-1:-1:-1;;;;;;;37664:640:192:o;38309:359::-;38512:2;38501:9;38494:21;38475:4;38532:44;38572:2;38561:9;38557:18;38549:6;38532:44;:::i;:::-;38607:2;38592:18;;38585:34;;;;-1:-1:-1;38650:2:192;38635:18;38628:34;38524:52;38309:359;-1:-1:-1;38309:359:192:o;39000:711::-;39335:3;39324:9;39317:22;39298:4;39362:78;39435:3;39424:9;39420:19;39412:6;39362:78;:::i;:::-;39488:9;39480:6;39476:22;39471:2;39460:9;39456:18;39449:50;39522:32;39547:6;39539;39522:32;:::i;:::-;39508:46;;39590:6;39585:2;39574:9;39570:18;39563:34;39645:9;39637:6;39633:22;39628:2;39617:9;39613:18;39606:50;39673:32;39698:6;39690;39673:32;:::i;:::-;39665:40;39000:711;-1:-1:-1;;;;;;;39000:711:192:o;39716:920::-;40172:6;40161:9;40154:25;40215:3;40210:2;40199:9;40195:18;40188:31;40135:4;40242:78;40315:3;40304:9;40300:19;40292:6;40242:78;:::i;:::-;40368:9;40360:6;40356:22;40351:2;40340:9;40336:18;40329:50;40402:32;40427:6;40419;40402:32;:::i;:::-;40388:46;;40470:6;40465:2;40454:9;40450:18;40443:34;40526:9;40518:6;40514:22;40508:3;40497:9;40493:19;40486:51;40554:32;40579:6;40571;40554:32;:::i;:::-;40546:40;;;40623:6;40617:3;40606:9;40602:19;40595:35;39716:920;;;;;;;;;:::o;40641:532::-;40892:2;40881:9;40874:21;40855:4;40918:77;40991:2;40980:9;40976:18;40968:6;40918:77;:::i;:::-;41043:14;41035:6;41031:27;41026:2;41015:9;41011:18;41004:55;41107:9;41099:6;41095:22;41090:2;41079:9;41075:18;41068:50;41135:32;41160:6;41152;41135:32;:::i;41178:637::-;41489:6;41478:9;41471:25;41532:3;41527:2;41516:9;41512:18;41505:31;41452:4;41559:78;41632:3;41621:9;41617:19;41609:6;41559:78;:::i;:::-;41685:14;41677:6;41673:27;41668:2;41657:9;41653:18;41646:55;41749:9;41741:6;41737:22;41732:2;41721:9;41717:18;41710:50;41777:32;41802:6;41794;41777:32;:::i;42080:191::-;42115:3;42146:66;42139:5;42136:77;42133:103;;42216:18;;:::i;:::-;-1:-1:-1;42256:1:192;42252:13;;42080:191::o;42276:463::-;42539:6;42528:9;42521:25;42582:2;42577;42566:9;42562:18;42555:30;42502:4;42602:77;42675:2;42664:9;42660:18;42652:6;42602:77;:::i;:::-;42594:85;;42727:4;42719:6;42715:17;42710:2;42699:9;42695:18;42688:45;42276:463;;;;;;:::o;42931:287::-;43060:3;43098:6;43092:13;43114:66;43173:6;43168:3;43161:4;43153:6;43149:17;43114:66;:::i;:::-;43196:16;;;;;42931:287;-1:-1:-1;;42931:287:192:o;43507:530::-;43692:3;43730:6;43724:13;43746:66;43805:6;43800:3;43793:4;43785:6;43781:17;43746:66;:::i;:::-;43881:2;43877:15;;;;43894:66;43873:88;43834:16;;;;43859:103;;;43989:2;43978:14;;43971:30;;;;44028:2;44017:14;;43507:530;-1:-1:-1;;43507:530:192:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":8854,"length":20}]}}},"methodIdentifiers":{"_calculateMagicAttack()":"bfea0b85","_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","createMatch(uint8,bytes32[],bytes32[])":"aaa417b7","endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"98d239b1","executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"fc88ff63","getEncounter(bytes32)":"4dda27e8","isParticipant(address,bytes32[])":"b2467894","isParticipant(bytes32,bytes32)":"c6ca743c","isValidPvE(bytes32[],bytes32[],uint16,uint16)":"15451020","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"endTurn\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"getEncounter\",\"outputs\":[{\"components\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTurn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTurns\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CombatEncounterData\",\"name\":\"_encounterData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"participants\",\"type\":\"bytes32[]\"}],\"name\":\"isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isValidPvE\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isValidPvE\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])\":{\"params\":{\"actions\":\": for a pve encounter player actions are calculated first and the mobs.\",\"encounterId\":\"the bytes32 id of the encounter\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/systems/CombatSystem.sol\":\"CombatSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"constants.sol\":{\"keccak256\":\"0xea645b3f1e153c1d76fe3ed1c15a22129928d78711f9eb6476ddc123460f25ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e57cd5c8ca30c40156f7379c556ea7ca3394da3da286056cf9554e7c1567b14\",\"dweb:/ipfs/QmSdQyCEp65JnngKxz4d6QRzdDcMqB3g2Aw5J9vuEMgEW1\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0xc993a3f15c56e4b3e83c33b41a17dcff501b025e1e338645b62203cf26d2011f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5229574e32c8131647fe4826eeee2f9305074496a5546e70dc6da9fcf1aea4c\",\"dweb:/ipfs/QmadU9mmUdvJMmwkJJwh83XyebzGG3BvqDvAASQ2T4Chjh\"]},\"src/codegen/tables/ActionOutcome.sol\":{\"keccak256\":\"0x3191cc4da6f6a0146b54ac4b6022f402981cda101a577c4b8f49d3dc4c9ca956\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc6ace9a0b33a4a1df297c712c0b37171c8e3946e0fd2bf0ea0483ab4d28147a\",\"dweb:/ipfs/QmPaVdRSLQt1xmbRbqeKWitcRXeTXGA3yuxJgPbgdh1WQ4\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0x0daf45149c3403e88b492878aa7622c604687314a844023f4f2ebdb53213b17b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://074403d43b76610a90629582f3d7680f713719e0b0a5ac8563838f694d717d39\",\"dweb:/ipfs/QmVy5jEg33ZNWPTSEEYXYUafsghAdnDivCBGmdUKd7BDMb\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/CombatOutcome.sol\":{\"keccak256\":\"0xeb791c773448819c7377ce52c0226a936dec6d65450a832a91fc947b5922f0fd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6594f35264d88ef26048ed33de7ee17d9553b0eca23b1ae439fb1f72f6d19078\",\"dweb:/ipfs/QmVr6mm3WmXdz9JLbDgdsK3LS6ypW4DaJrMGpxEQaBWVUZ\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0xaabe20cc4e4d6c5a55658f59ed5094f37ef0a4a795d41db3a147926d4f7bbe7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c1690adf4c6629b794f8861239dd572a03cfb9c8688b51a4b52a54006efa6b5\",\"dweb:/ipfs/QmUDGdfRxruvzrcqn1qcEqZKfyJYzXLqtarV59EwNdHmp7\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0x4dbbe2a11e729ce5ed6569600e0e7237f5fa5e2476f6c049581e2b18830c93b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d056287fefd267378a9a3f20ed25e28db2fa34604729f047e22c2ab016ac2c6a\",\"dweb:/ipfs/QmSunLJDjxsUMJaudJefjgeHHurT4KKsgrhNBSsEaU5jgm\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/IAdminSystem.sol\":{\"keccak256\":\"0xc7af156c71acd0d6cdab577dd76c0a4a7c56115d7bd22069ad8ad183d1a230e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b167cfcac5a58cef4d3f018bbca81afcf7cc7a8d4f75537f4516f508a67f435b\",\"dweb:/ipfs/QmQEcFt4N5qBRRaCYDzAx9UwDuqPycSXBqQLGyZdVHFNzQ\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x49ef649aa37c2f64fa032400e803aa2d6b6d94d8de47f024cf63479c217a1373\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c84ead4b32146eb7088cb0f3fa45f31de057cb252693efd92982698dc87a4f78\",\"dweb:/ipfs/QmVMhUEXVmVMZJVJLoP6vh9pB6RYq9YmrRC4jdJWujcqnd\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0xece65bdfbb9f41aa91c926f2625a5afb62162c19a2be83749b02c04755b7143e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de01bf77ca9c93a694d87dbb64370d5bd5770da42e461a40e55d640675fe777f\",\"dweb:/ipfs/QmbANbeftTp3YQizGFoYtXwozQHL4ouyoVEu5W1Z14wsQh\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xf40b0f25e8d4ba6552f4b1a3f2b86c17e2e7c1be7317bfbc15f7e24100bfa14d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f0bd4c7e76b1d3397f85a76382218f4922681c046c5e62dcf606f3ea8884bc0\",\"dweb:/ipfs/QmcaSbhHrGAn9TPsroSHAEijriQmKWvA16ffSJuTw3AzN2\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9\",\"dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x8f0c0461ad016b4d4f502d10fe5fa2a650836a4a76c883b2e55e714158194859\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2254a9f2f35ede55ef418440874945422b5e5f526724deb0bd397cabdf512f6c\",\"dweb:/ipfs/QmZrfF7SgNu2S9rgdNbKFpNsFZMJLTp9GyZpqwvVwQCNr9\"]},\"src/interfaces/IRngSystem.sol\":{\"keccak256\":\"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02\",\"dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/libraries/Math.sol\":{\"keccak256\":\"0x7aba32d8d0d2b81758afb4f211afccbf3e85ce62defad5ac1fd8fd26c8fd5ab5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fb636fcaf2f6f692bf32cadc2f8089a28367676d7b6f3423a5d0593a23e8200a\",\"dweb:/ipfs/QmNQnrjDfwhM4jMzC9tFxHszohkZPGeFhiEendg7qi2crW\"]},\"src/systems/CombatSystem.sol\":{\"keccak256\":\"0xc16df9bf16d0a1916a559835ad26e86cc2687fbdbc1bb070b0bcfd824a022a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://034d0b4a2c8b002847d034514d63bfcd919d9c2d9117c083aa3b1f060772d248\",\"dweb:/ipfs/QmNzXVVqDcj65UG21jrPTaiYq1XFUu3RMoRGYGu4YciNDs\"]},\"src/utils.sol\":{\"keccak256\":\"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57\",\"dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"_calculateMagicAttack"},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"createMatch","outputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"payable","type":"function","name":"endTurn"},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"executeCombat"},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getEncounter","outputs":[{"internalType":"struct CombatEncounterData","name":"_encounterData","type":"tuple","components":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"},{"internalType":"uint256","name":"currentTurn","type":"uint256"},{"internalType":"uint256","name":"maxTurns","type":"uint256"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"}]}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32[]","name":"participants","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isValidPvE","outputs":[{"internalType":"bool","name":"_isValidPvE","type":"bool"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])":{"params":{"actions":": for a pve encounter player actions are calculated first and the mobs.","encounterId":"the bytes32 id of the encounter"}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/CombatSystem.sol":"CombatSystem"},"evmVersion":"paris","libraries":{}},"sources":{"constants.sol":{"keccak256":"0xea645b3f1e153c1d76fe3ed1c15a22129928d78711f9eb6476ddc123460f25ed","urls":["bzz-raw://0e57cd5c8ca30c40156f7379c556ea7ca3394da3da286056cf9554e7c1567b14","dweb:/ipfs/QmSdQyCEp65JnngKxz4d6QRzdDcMqB3g2Aw5J9vuEMgEW1"],"license":"MIT"},"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0xc993a3f15c56e4b3e83c33b41a17dcff501b025e1e338645b62203cf26d2011f","urls":["bzz-raw://d5229574e32c8131647fe4826eeee2f9305074496a5546e70dc6da9fcf1aea4c","dweb:/ipfs/QmadU9mmUdvJMmwkJJwh83XyebzGG3BvqDvAASQ2T4Chjh"],"license":"MIT"},"src/codegen/tables/ActionOutcome.sol":{"keccak256":"0x3191cc4da6f6a0146b54ac4b6022f402981cda101a577c4b8f49d3dc4c9ca956","urls":["bzz-raw://cc6ace9a0b33a4a1df297c712c0b37171c8e3946e0fd2bf0ea0483ab4d28147a","dweb:/ipfs/QmPaVdRSLQt1xmbRbqeKWitcRXeTXGA3yuxJgPbgdh1WQ4"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0x0daf45149c3403e88b492878aa7622c604687314a844023f4f2ebdb53213b17b","urls":["bzz-raw://074403d43b76610a90629582f3d7680f713719e0b0a5ac8563838f694d717d39","dweb:/ipfs/QmVy5jEg33ZNWPTSEEYXYUafsghAdnDivCBGmdUKd7BDMb"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/CombatOutcome.sol":{"keccak256":"0xeb791c773448819c7377ce52c0226a936dec6d65450a832a91fc947b5922f0fd","urls":["bzz-raw://6594f35264d88ef26048ed33de7ee17d9553b0eca23b1ae439fb1f72f6d19078","dweb:/ipfs/QmVr6mm3WmXdz9JLbDgdsK3LS6ypW4DaJrMGpxEQaBWVUZ"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0xaabe20cc4e4d6c5a55658f59ed5094f37ef0a4a795d41db3a147926d4f7bbe7e","urls":["bzz-raw://0c1690adf4c6629b794f8861239dd572a03cfb9c8688b51a4b52a54006efa6b5","dweb:/ipfs/QmUDGdfRxruvzrcqn1qcEqZKfyJYzXLqtarV59EwNdHmp7"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0x4dbbe2a11e729ce5ed6569600e0e7237f5fa5e2476f6c049581e2b18830c93b2","urls":["bzz-raw://d056287fefd267378a9a3f20ed25e28db2fa34604729f047e22c2ab016ac2c6a","dweb:/ipfs/QmSunLJDjxsUMJaudJefjgeHHurT4KKsgrhNBSsEaU5jgm"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/IAdminSystem.sol":{"keccak256":"0xc7af156c71acd0d6cdab577dd76c0a4a7c56115d7bd22069ad8ad183d1a230e6","urls":["bzz-raw://b167cfcac5a58cef4d3f018bbca81afcf7cc7a8d4f75537f4516f508a67f435b","dweb:/ipfs/QmQEcFt4N5qBRRaCYDzAx9UwDuqPycSXBqQLGyZdVHFNzQ"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x49ef649aa37c2f64fa032400e803aa2d6b6d94d8de47f024cf63479c217a1373","urls":["bzz-raw://c84ead4b32146eb7088cb0f3fa45f31de057cb252693efd92982698dc87a4f78","dweb:/ipfs/QmVMhUEXVmVMZJVJLoP6vh9pB6RYq9YmrRC4jdJWujcqnd"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0xece65bdfbb9f41aa91c926f2625a5afb62162c19a2be83749b02c04755b7143e","urls":["bzz-raw://de01bf77ca9c93a694d87dbb64370d5bd5770da42e461a40e55d640675fe777f","dweb:/ipfs/QmbANbeftTp3YQizGFoYtXwozQHL4ouyoVEu5W1Z14wsQh"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xf40b0f25e8d4ba6552f4b1a3f2b86c17e2e7c1be7317bfbc15f7e24100bfa14d","urls":["bzz-raw://0f0bd4c7e76b1d3397f85a76382218f4922681c046c5e62dcf606f3ea8884bc0","dweb:/ipfs/QmcaSbhHrGAn9TPsroSHAEijriQmKWvA16ffSJuTw3AzN2"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828","urls":["bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9","dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x8f0c0461ad016b4d4f502d10fe5fa2a650836a4a76c883b2e55e714158194859","urls":["bzz-raw://2254a9f2f35ede55ef418440874945422b5e5f526724deb0bd397cabdf512f6c","dweb:/ipfs/QmZrfF7SgNu2S9rgdNbKFpNsFZMJLTp9GyZpqwvVwQCNr9"],"license":"MIT"},"src/interfaces/IRngSystem.sol":{"keccak256":"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0","urls":["bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02","dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de","urls":["bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5","dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/libraries/Math.sol":{"keccak256":"0x7aba32d8d0d2b81758afb4f211afccbf3e85ce62defad5ac1fd8fd26c8fd5ab5","urls":["bzz-raw://fb636fcaf2f6f692bf32cadc2f8089a28367676d7b6f3423a5d0593a23e8200a","dweb:/ipfs/QmNQnrjDfwhM4jMzC9tFxHszohkZPGeFhiEendg7qi2crW"],"license":"GPL-3.0"},"src/systems/CombatSystem.sol":{"keccak256":"0xc16df9bf16d0a1916a559835ad26e86cc2687fbdbc1bb070b0bcfd824a022a2b","urls":["bzz-raw://034d0b4a2c8b002847d034514d63bfcd919d9c2d9117c083aa3b1f060772d248","dweb:/ipfs/QmNzXVVqDcj65UG21jrPTaiYq1XFUu3RMoRGYGu4YciNDs"],"license":"MIT"},"src/utils.sol":{"keccak256":"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc","urls":["bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57","dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q"],"license":"MIT"}},"version":1},"id":182}
\ No newline at end of file
+{"abi":[{"type":"function","name":"_calculateMagicAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"endTurn","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"executeCombat","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getEncounter","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_encounterData","type":"tuple","internalType":"struct CombatEncounterData","components":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"},{"name":"currentTurn","type":"uint256","internalType":"uint256"},{"name":"maxTurns","type":"uint256","internalType":"uint256"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"}]}],"stateMutability":"view"},{"type":"function","name":"isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"participants","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isParticipant","inputs":[{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isValidPvE","inputs":[{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isValidPvE","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50615cf780620000216000396000f3fe6080604052600436106100c75760003560e01c8063aaa417b711610074578063c6ca743c1161004e578063c6ca743c146101fe578063e1af802c1461021e578063fc88ff631461023357600080fd5b8063aaa417b7146101b2578063b2467894146101d2578063bfea0b85146101f257600080fd5b806345ec9354116100a557806345ec93541461014e5780634dda27e81461017057806398d239b11461019d57600080fd5b806301ffc9a7146100cc578063119df25f14610101578063154510201461012e575b600080fd5b3480156100d857600080fd5b506100ec6100e73660046149da565b610253565b60405190151581526020015b60405180910390f35b34801561010d57600080fd5b506101166102ec565b6040516001600160a01b0390911681526020016100f8565b34801561013a57600080fd5b506100ec610149366004614b9c565b6102fb565b34801561015a57600080fd5b5036601f1901355b6040519081526020016100f8565b34801561017c57600080fd5b5061019061018b366004614c21565b6105d5565b6040516100f89190614ca0565b6101b06101ab366004614da6565b61061f565b005b3480156101be57600080fd5b506101626101cd366004614df6565b6107e9565b3480156101de57600080fd5b506100ec6101ed366004614e7b565b610ac3565b3480156101b057600080fd5b34801561020a57600080fd5b506100ec610219366004614ecb565b610b99565b34801561022a57600080fd5b50610116610c53565b34801561023f57600080fd5b506101b061024e366004614da6565b610c5d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806102e657507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006102f6610e67565b905090565b600160005b855181101561046057610311610c53565b6001600160a01b031663fa1becc487838151811061033157610331614eed565b60200260200101516040518263ffffffff1660e01b815260040161035791815260200190565b602060405180830381865afa158015610374573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103989190614f03565b6103a55760009150610460565b6103ad610c53565b6001600160a01b031663f48a39728783815181106103cd576103cd614eed565b602002602001015186866040518463ffffffff1660e01b815260040161040a9392919092835261ffff918216602084015216604082015260600190565b602060405180830381865afa158015610427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044b9190614f03565b6104585760009150610460565b600101610300565b5080156105cd5760005b84518110156105cb5761047b610c53565b6001600160a01b031663fa1becc486838151811061049b5761049b614eed565b60200260200101516040518263ffffffff1660e01b81526004016104c191815260200190565b602060405180830381865afa1580156104de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105029190614f03565b1561051057600091506105cb565b610518610c53565b6001600160a01b031663f48a397286838151811061053857610538614eed565b602002602001015186866040518463ffffffff1660e01b81526004016105759392919092835261ffff918216602084015216604082015260600190565b602060405180830381865afa158015610592573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b69190614f03565b6105c357600091506105cb565b60010161046a565b505b949350505050565b6106166040805160e0810190915280600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b6102e682610e99565b600061062a84610e99565b9050806020015160001415801561064357506040810151155b6106945760405162461bcd60e51b815260206004820181905260248201527f434f4d4241542053595354454d3a20494e56414c494420454e434f554e54455260448201526064015b60405180910390fd5b80608001518160600151106106eb5760405162461bcd60e51b815260206004820181905260248201527f434f4d4241542053595354454d3a204558504952454420454e434f554e544552604482015260640161068b565b6106f36102ec565b6001600160a01b0316610704610c53565b6001600160a01b0316634f10aabc856040518263ffffffff1660e01b815260040161073191815260200190565b602060405180830381865afa15801561074e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107729190614f25565b6001600160a01b031614801561078d575061078d8385610b99565b6107d95760405162461bcd60e51b815260206004820152601c60248201527f434f4d4241542053595354454d3a204e4f4e2d434f4d424154414e5400000000604482015260640161068b565b6107e38483610f84565b50505050565b60006107fc6107f66102ec565b84610ac3565b6108485760405162461bcd60e51b815260206004820152601d60248201527f434f4d4241542053595354454d3a20494e56414c49442053454e444552000000604482015260640161068b565b60008061086e8560008151811061086157610861614eed565b602002602001015161101e565b9150915085600181111561088457610884614c3a565b60010361096c57610897858584846102fb565b6108e35760405162461bcd60e51b815260206004820152601a60248201527f434f4d4241542053595354454d3a20494e56414c494420505645000000000000604482015260640161068b565b60405142906108fc908890889088908590602001614f42565b60405160208183030381529060405280519060200120935060006040518060e0016040528089600181111561093357610933614c3a565b81526020018381526020016000815260200160008152602001600f815260200187815260200188815250905061096985826110cf565b50505b85600181111561097e5761097e614c3a565b5060005b8451811015610a29576000801b6109b18683815181106109a4576109a4614eed565b6020026020010151611190565b146109fe5760405162461bcd60e51b815260206004820152601e60248201527f434f4d4241542053595354454d3a20454e54495459204f434355504945440000604482015260640161068b565b610a21858281518110610a1357610a13614eed565b602002602001015185611221565b600101610982565b5060005b8551811015610ab9576000801b610a4f8783815181106109a4576109a4614eed565b14610a9c5760405162461bcd60e51b815260206004820152601e60248201527f434f4d4241542053595354454d3a20454e54495459204f434355504945440000604482015260640161068b565b610ab1868281518110610a1357610a13614eed565b600101610a2d565b5050509392505050565b6000805b8251811015610b9257610ad8610c53565b6001600160a01b0316634f10aabc848381518110610af857610af8614eed565b60200260200101516040518263ffffffff1660e01b8152600401610b1e91815260200190565b602060405180830381865afa158015610b3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5f9190614f25565b6001600160a01b0316846001600160a01b031603610b805760019150610b92565b80610b8a81614f9c565b915050610ac7565b5092915050565b600080610ba583610e99565b905060005b8160c0015151811015610bf6578160c001518181518110610bcd57610bcd614eed565b60200260200101518503610be45760019250610bf6565b80610bee81614f9c565b915050610baa565b5081610b925760005b8160a0015151811015610c4b578160a001518181518110610c2257610c22614eed565b60200260200101518503610c395760019250610c4b565b80610c4381614f9c565b915050610bff565b505092915050565b60006102f66112d5565b610c6e30610c696102ec565b6112df565b6000610c7983610e99565b905060005b8251811015610d71576000838281518110610c9b57610c9b614eed565b602090810291909101810151604080516101a08101825281830151815260608084015182860152835192820192909252928201519083015260006080830181905260a0830181905260c0830181905260e083018190526101008301819052610120830181905261014083015243610160830152426101808301529150610d2181886112f5565b905080610140015115610d3d57610d3d816060015160016114d6565b80610120015115610d5757610d57816040015160016114d6565b610d67868560600151858461155a565b5050600101610c7e565b5060008060005b8360a0015151811015610dc657610dab8460a001518281518110610d9e57610d9e614eed565b6020026020010151611671565b15610dbe5782610dba81614f9c565b9350505b600101610d78565b5060005b8360c0015151811015610e0b57610df08460c001518281518110610d9e57610d9e614eed565b15610e035781610dff81614f9c565b9250505b600101610dca565b508260c0015151811480610e2357508260a001515182145b80610e35575082608001518360600151145b15610e4b57610e44858761170f565b5050610e5f565b60608301805190610e5b82614f9c565b9052505b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610e965750335b90565b610eda6040805160e0810190915280600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f1057610f10614eed565b602090810291909101015260008080610f697f74625544000000000000000000000000436f6d626174456e636f756e74657200857e81050201202020200000000000000000000000000000000000000000000000611a30565b925092509250610f7a838383611b00565b9695505050505050565b6110198260018484604051602001610f9d929190614fb6565b60408051601f1981840301815290829052610fbc939291602401615086565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a400000000000000000000000000000000000000000000000000000000179052611bad565b505050565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061105857611058614eed565b6020908102919091010152600080806110b17f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000611a30565b9250925092506110c2838383611c5b565b9550955050505050915091565b60006110f282600001518360200151846040015185606001518660800151611c7e565b905060006111088360a001518460c00151611cb3565b9050600061111e8460a001518560c00151611cde565b6040805160018082528183019092529192506000919060208083019080368337019050509050858160008151811061115857611158614eed565b6020908102919091010152610e5f7f74625544000000000000000000000000436f6d626174456e636f756e7465720082868686611d1a565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106111c9576111c9614eed565b602090810291909101015260006105cd7f746255440000000000000000000000004d61746368456e74697479000000000083837e41030020200100000000000000000000000000000000000000000000000000611dcf565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061125757611257614eed565b6020026020010181815250506110197f746255440000000000000000000000004d61746368456e74697479000000000060001b826000856040516020016112a091815260200190565b60408051601f198184030181529190527e41030020200100000000000000000000000000000000000000000000000000611e8c565b60006102f6611f02565b6112f16112eb83611f41565b82611fde565b5050565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101829052610180810191909152600061136d846000015161202a565b90508060200151516000036113c45760405162461bcd60e51b815260206004820152601560248201527f616374696f6e20646f6573206e6f742065786973740000000000000000000000604482015260640161068b565b805160038111156113d7576113d7614c3a565b60ff1660010361148657600081602001518060200190518101906113fb919061511d565b905061141681866040015187606001518860200151886120df565b151560c0880152158015608088015260e0870191909152611480576000620186a08660e0015161144691906151c8565b611453876060015161251e565b61145d9190615212565b9050600081136114705760016101408701525b61147e8660600151826125b0565b505b506114ce565b60405162461bcd60e51b815260206004820152601a60248201527f616374696f6e2074797065206e6f74207265636f676e697a6564000000000000604482015260640161068b565b509192915050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061150c5761150c614eed565b6020026020010181815250506110197f746255440000000000000000000000004d61746368456e74697479000000000060001b826002856040516020016112a091151560f81b815260010190565b60006115aa826000015183602001518460400151856060015186608001518760a001518860c001518960e001518a61010001518b61012001518c61014001518d61016001518e6101800151612664565b6040805160038082526080820190925291925060009160609183919060208201848036833701905050905087816000815181106115e9576115e9614eed565b6020026020010181815250508660001b8160018151811061160c5761160c614eed565b6020026020010181815250508560001b8160028151811061162f5761162f614eed565b60209081029190910101526116677f6f745544000000000000000000000000416374696f6e4f7574636f6d6500000082868686611d1a565b5050505050505050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106116aa576116aa614eed565b602090810291909101015260006117037f746255440000000000000000000000004d61746368456e7469747900000000008360027e41030020200100000000000000000000000000000000000000000000000000611dcf565b90506105cd8160f81c90565b600080600061171d85610e99565b905046617a69036117335743604082015261173a565b4260408201525b600080611745614984565b60005b8460c00151518110156117b25761177b8560c00151828151811061176e5761176e614eed565b60200260200101516126b1565b91508160e001518461178d9190615232565b935060008260a0015113156117aa57826117a681614f9c565b9350505b600101611748565b506000805b8560a001515181101561186c578560a0015181815181106117da576117da614eed565b602002602001015191506117ed82611671565b15611864576117fb82612759565b6118059089615232565b97506118158360e001518a6127eb565b61181f9088615232565b965061182c826000611221565b61186489838860c001518960c00151518d6118479190615245565b8151811061185757611857614eed565b6020026020010151612808565b6001016117b7565b506000805b8660c0015151811015611a18578660c00151818151811061189457611894614eed565b602002602001015191506118a6610c53565b6001600160a01b031663fa1becc4836040518263ffffffff1660e01b81526004016118d391815260200190565b602060405180830381865afa1580156118f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119149190614f03565b15611a0557611922826126b1565b935060008460a0015113156119fb5787156119c75761193f610c53565b6001600160a01b031663fda0ce5083611958888c615259565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526024820152604401600060405180830381600087803b1580156119ae57600080fd5b505af11580156119c2573d6000803e3d6000fd5b505050505b6000891180156119d75750600085115b156119fb576119e6858a615259565b8460c0018181516119f79190615232565b9052505b611a0582856129a7565b611a10826000611221565b600101611871565b50611a238a876110cf565b5050505050509250929050565b6060600060606000611a40611f02565b9050306001600160a01b03821603611a6957611a5d878787612a50565b93509350935050611af7565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611ab2908a908a908a9060040161526d565b600060405180830381865afa158015611acf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a5d91908101906152fa565b93509350939050565b611b416040805160e0810190915280600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b611b4a84612b58565b6080860181905260608601829052604086018390526020860184905285856001811115611b7957611b79614c3a565b6001811115611b8a57611b8a614c3a565b8152505050505050611b9c8383612ba8565b60c083015260a08201529392505050565b6060600080611bc3611bbe8561535d565b612bf7565b91509150816000801b03611c29576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff0000000000000000000000000000000000000000000000000000000060003516600482015260240161068b565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526105cd8285612cba565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b60608585858585604051602001611c999594939291906153a9565b604051602081830303815290604052905095945050505050565b6000611cd783516020028351602002606081901b603883901b838301171792915050565b9392505050565b6060611ce983612d95565b611cf283612d95565b604051602001611d039291906153e4565b604051602081830303815290604052905092915050565b6000611d24611f02565b9050306001600160a01b03821603611d4857611d438686868686612da5565b610e5f565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611d959089908990899089908990600401615413565b600060405180830381600087803b158015611daf57600080fd5b505af1158015611dc3573d6000803e3d6000fd5b50505050505050505050565b600080611dda611f02565b9050306001600160a01b03821603611e0057611df886868686612dc2565b9150506105cd565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611e4b908990899089908990600401615464565b602060405180830381865afa158015611e68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df89190615493565b6000611e96611f02565b9050306001600160a01b03821603611eb557611d438686868686612df8565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611d9590899089908990899089906004016154ac565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611f3c573391505090565b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110611f8657611f86614eed565b602090810291909101015260006105cd7f7462776f726c6400000000000000000053797374656d5265676973747279000083837e20010020000000000000000000000000000000000000000000000000000000611dcf565b611fe88282612e0d565b6112f157611ff582612e6b565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161068b9291906154f3565b60408051808201909152600081526060602082015260408051600180825281830190925260009160208083019080368337019050509050828160008151811061207557612075614eed565b6020908102919091010152600080806120ce7f74625544000000000000000000000000416374696f6e73000000000000000000857e01010101000000000000000000000000000000000000000000000000000000611a30565b925092509250610f7a838383612fa8565b6000806000806120ed610c53565b6001600160a01b03166354f1f2db896040518263ffffffff1660e01b815260040161211a91815260200190565b61010060405180830381865afa158015612138573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215c919061551e565b90506000612168610c53565b6001600160a01b03166354f1f2db896040518263ffffffff1660e01b815260040161219591815260200190565b61010060405180830381865afa1580156121b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121d7919061551e565b905060006121e3610c53565b6001600160a01b031663810c1dc1896040518263ffffffff1660e01b815260040161221091815260200190565b600060405180830381865afa15801561222d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612255919081019061558d565b905060008260a001511315612503576040517f4dddf8370000000000000000000000000000000000000000000000000000000081526004810188905260009073__$227e4555c1f608352b26068e438454dd8b$__90634dddf83790602401600060405180830381865af41580156122d0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122f89190810190615644565b905061234f8160008151811061231057612310614eed565b602002602001015167ffffffffffffffff168260018151811061233557612335614eed565b602002602001015167ffffffffffffffff168e8787613005565b909650945085156124b657620186a060008d6020015185606001516123749190615212565b13612380576001612394565b8c6020015184606001516123949190615212565b61239e91906156dd565b8451620186a0906123b190600290615259565b8460a001518560800151856002815181106123ce576123ce614eed565b602002602001015167ffffffffffffffff166123ea9190615245565b11156124295784608001518460028151811061240857612408614eed565b602002602001015167ffffffffffffffff166124249190615245565b61242f565b8460a001515b8f5161243b91906156f4565b61244591906156f4565b61244f9190615714565b6124599190615212565b965084156124b15761249f6040518060400160405280600581526020017f4352495421000000000000000000000000000000000000000000000000000000815250613098565b6124aa600288615714565b9650600194505b6124fd565b6124f46040518060400160405280600581526020017f4d49535321000000000000000000000000000000000000000000000000000000815250613098565b60009650600095505b50612510565b6000955060009450600093505b505050955095509592505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061255757612557614eed565b602090810291909101015260006105cd7f74625544000000000000000000000000537461747300000000000000000000008360057ee1080020200120202020200000000000000000000000000000000000000000611dcf565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106125e6576125e6614eed565b6020026020010181815250506110197f746255440000000000000000000000005374617473000000000000000000000060001b8260058560405160200161262f91815260200190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611e8c565b60608d8d8d8d8d8d8d8d8d8d8d8d8d60405160200161268f9d9c9b9a99989796959493929190615760565b60405160208183030381529060405290509d9c50505050505050505050505050565b6126b9614984565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106126ef576126ef614eed565b6020908102919091010152600080806127487f7462554400000000000000000000000053746174730000000000000000000000857ee1080020200120202020200000000000000000000000000000000000000000611a30565b925092509250610f7a83838361310c565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061279257612792614eed565b602090810291909101015260006105cd7f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611dcf565b60006127fe8366038d7ea4c680006156dd565b611cd79083615245565b6000612812610c53565b6001600160a01b03166353d64640846040518263ffffffff1660e01b815260040161283f91815260200190565b602060405180830381865afa15801561285c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128809190615493565b9050600061288d82613184565b8060200190518101906128a09190615851565b905060005b8160c0015151811015610e5f5760006128da8360c0015183815181106128cd576128cd614eed565b60200260200101516131f9565b9050806128ea620186a089615245565b111561299e576128f8610c53565b6001600160a01b031663cd9caca2868560c00151858151811061291d5761291d614eed565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526004810192909252602482015260016044820152606401600060405180830381600087803b15801561298557600080fd5b505af1158015612999573d6000803e3d6000fd5b505050505b506001016128a5565b60006129d9826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161328e565b604080516001808252818301909252919250600091606091839190602080830190803683370190505090508581600081518110612a1857612a18614eed565b6020908102919091010152610e5f7f746255440000000000000000000000005374617473000000000000000000000082868686611d1a565b6060600060606000612a61856132cc565b9050612a6e8787836132ef565b93506000612a7b86613328565b90508015612b4d57612a8d8888613365565b935066ffffffffffffff841667ffffffffffffffff811115612ab157612ab1614a1c565b6040519080825280601f01601f191660200182016040528015612adb576020820181803683370190505b5092506020830160005b828160ff161015612b4a576000612afd8b8b84613378565b90506000612b1a888460ff166028026038011c64ffffffffff1690565b9050612b2982600083876133f8565b612b338185615232565b935050508080612b4290615919565b915050612ae5565b50505b505093509350939050565b6000806000806000612b6e866000016020015190565b60f81c6001811115612b8257612b82614c3a565b602187015160418801516061890151608190990151929991989097509550909350915050565b6060806000603885901c64ffffffffff16612bcc612bc78684846134c4565b613552565b935090508064ffffffffff606087901c1601612bec612bc78684846134c4565b925050509250929050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110612c5057612c50614eed565b602090810291909101015260008080612ca97f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000611a30565b9250925092506110c2838383613563565b60606000612cc66112d5565b90506001600160a01b0381163003612d07576000612cee612ce5610e67565b6000878761356f565b9350905080612d0057612d00836136aa565b50506102e6565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890612d4e9087908790600401615938565b6000604051808303816000875af1158015612d6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105cd9190810190615951565b606081611cd781602060006136b2565b612dbb8585858585612db68b613712565b613797565b5050505050565b6000612def612dd18686613ad0565b60ff858116601b0360080285901c16612dea8587613b26565b613b5f565b95945050505050565b612dbb8585612e078487613b26565b85613bb0565b6000612e5b7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613e54565b80611cd75750611cd78383613e54565b606081601081901b6000612e7e83613f1d565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ed957612ed47fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613f34565b612f10565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000831615612f4657612f4183613f34565b612f7d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612f8f93929190615986565b6040516020818303038152906040529350505050919050565b604080518082019091526000815260606020820152612fc684613fd8565b81906003811115612fd957612fd9614c3a565b90816003811115612fec57612fec614c3a565b905250612ff98383613ff4565b60208201529392505050565b60008080620249f06130196103e88a615245565b61302b87602001518960400151614017565b6130359190615232565b61303f91906156dd565b90506000620186a085602001516103e88a61305a9190615245565b6130649190615232565b61306e91906156dd565b90508082119350831561308c5760026130878284615259565b101592505b50509550959350505050565b613109816040516024016130ac9190615a14565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052614044565b50565b613114614984565b61311d8461404d565b60e0890181905260c0890182905260a08901839052608089018490526060890185905288602081016040820188600281111561315b5761315b614c3a565b600281111561316c5761316c614c3a565b90529790975250505093909252509195945050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b816000815181106131c1576131c1614eed565b602090810291909101015260006105cd7f746255440000000000000000000000004d6f627300000000000000000000000083836140bb565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061323557613235614eed565b602090810291909101015260006105cd7f746255440000000000000000000000004974656d7300000000000000000000008360017e21020101200000000000000000000000000000000000000000000000000000611dcf565b606088888888888888886040516020016132af989796959493929190615a27565b604051602081830303815290604052905098975050505050505050565b600060086132dc60026020615a6c565b6132e691906156dd565b9190911c919050565b60608160000361330e5750604080516020810190915260008152611cd7565b600061331a8585613ad0565b9050612def8160008561417a565b6000600860018061333b60026020615a6c565b6133459190615a6c565b61334f9190615a6c565b61335991906156dd565b8260ff911c1692915050565b6000611cd7613374848461419d565b5490565b6000838360405160200161338d929190615a7f565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561347f57602083106134225760208304840193506020838161341e5761341e6151b2565b0692505b821561347f5760208390036000818410156134455750600019600884021c61344f565b50600019600882021c5b8554600886021b8184511682198216178452508184116134705750506107e3565b50600194909401939182900391015b5b602082106134a15783548152600190930192601f1990910190602001613480565b81156107e3576000600019600884021c8251865482191691161782525050505050565b6000818311806134d45750835182115b15613511578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161068b93929190615abb565b6020840161351f8482615232565b9050600061352d8585615a6c565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611cd783602060006141f3565b600080611c7285614262565b6000606060008061357f86614277565b90925090506001600160a01b0382166135d0578561359c87612e6b565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161068b929190615938565b806135df576135df868961431b565b861561364b577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061363382614325565b9050613648826136438b84615232565b6143b6565b50505b60006136578760101b90565b7fffffffffffffffffffffffffffff000000000000000000000000000000000000161461368f5761368a8888848861446a565b61369b565b61369b888884886144e2565b90999098509650505050505050565b805160208201fd5b825160609060006136c385836156dd565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015613706578051871b835291870191600191909101906020016136e5565b50505050509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161376157507e60030220202000000000000000000000000000000000000000000000000000919050565b6102e661378e7f746273746f72650000000000000000005461626c65730000000000000000000084614543565b60206000613b5f565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361382357857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516138169493929190615ae0565b60405180910390a2610e5f565b600061382e8761455f565b905060005b815181101561390757600082828151811061385057613850614eed565b6020026020010151905061387c6001826affffffffffffffffffffff19166145e890919063ffffffff16565b156138fe576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906138cb908c908c908c908c908c908c90600401615b2a565b600060405180830381600087803b1580156138e557600080fd5b505af11580156138f9573d6000803e3d6000fd5b505050505b50600101613833565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161393e9493929190615ae0565b60405180910390a260006139528888613ad0565b9050600060208701905061396a826000895184614606565b600061397585613328565b11156139f95760006139878a8a61419d565b878155905060208601915060008060005b6139a188613328565b8160ff1610156139f4576139b68d8d83613378565b92506139d18a8260ff166028026038011c64ffffffffff1690565b91506139e08360008488614606565b6139ea8286615232565b9450600101613998565b505050505b60005b8351811015611dc3576000848281518110613a1957613a19614eed565b60200260200101519050613a456002826affffffffffffffffffffff19166145e890919063ffffffff16565b15613ac7576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90613a94908e908e908e908e908e908e90600401615b2a565b600060405180830381600087803b158015613aae57600080fd5b505af1158015613ac2573d6000803e3d6000fd5b505050505b506001016139fc565b60008282604051602001613ae5929190615a7f565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015613b5757613b4d60ff601b83900360080287901c1683615232565b9150600101613b2b565b509392505050565b600060208210613b8557602082048401935060208281613b8157613b816151b2565b0691505b508254600882021b602082900380841115613b57576001850154600882021c82179150509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff0000000000000000000000000000000000000000000000000000000000001603613c3a57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051613c2d93929190615b83565b60405180910390a26107e3565b6000613c468585613ad0565b90506000613c538661455f565b905060005b8151811015613d28576000828281518110613c7557613c75614eed565b60200260200101519050613ca16004826affffffffffffffffffffff19166145e890919063ffffffff16565b15613d1f576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90613cec908b908b908b908b90600401615bb6565b600060405180830381600087803b158015613d0657600080fd5b505af1158015613d1a573d6000803e3d6000fd5b505050505b50600101613c58565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051613d5d93929190615b83565b60405180910390a2613d78828565ffffffffffff16856146c5565b60005b8151811015613e4b576000828281518110613d9857613d98614eed565b60200260200101519050613dc46008826affffffffffffffffffffff19166145e890919063ffffffff16565b15613e42576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190613e0f908b908b908b908b90600401615bb6565b600060405180830381600087803b158015613e2957600080fd5b505af1158015613e3d573d6000803e3d6000fd5b505050505b50600101613d7b565b50505050505050565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613e8d57613e8d614eed565b602002602001018181525050826001600160a01b031660001b81600181518110613eb957613eb9614eed565b60209081029190910101526000613f117f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611dcf565b9050612def8160f81c90565b6000613f2b60706010615232565b9190911b919050565b606060005b6010811015613f99577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613f9957600101613f39565b604080517fffffffffffffffffffffffffffffffff000000000000000000000000000000008516602082015281516030909101909152818152806105cd565b602081015160009060f81c60038111156102e6576102e6614c3a565b60606000603884901c64ffffffffff16612def6140128584846134c4565b6146db565b60008082126140315761402a8284615232565b90506102e6565b61403a82615bef565b61402a9084615a6c565b6131098161475b565b600080600080600080600080614067896000016020015190565b60408a015160608b0151919950975060f81c600281111561408a5761408a614c3a565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b606060006140c7611f02565b9050306001600160a01b038216036140ec576140e485858561477c565b915050611cd7565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061413590889088908890600401615c27565b600060405180830381865afa158015614152573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526140e49190810190615951565b60405160208101601f19603f8484010116604052828252613b57858585846133f8565b600082826040516020016141b2929190615a7f565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b606060006142018560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281614227576142276151b2565b04905060405193506020840160208202810160405281855260005b82811015613706578451871c825293870193602090910190600101614242565b602081015160408201516000905b9050915091565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106142b1576142b1614eed565b60209081029190910101526000808061430a7f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000612a50565b9250925092506110c28383836147b6565b611fe882826147c2565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061435e5761435e614eed565b602090810291909101015260006105cd7f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000612dc2565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106143ec576143ec614eed565b6020026020010181815250506110197f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161443591815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000612df8565b60006060836001600160a01b03166000614485858989614820565b6040516144929190615c53565b60006040518083038185875af1925050503d80600081146144cf576040519150601f19603f3d011682016040523d82523d6000602084013e6144d4565b606091505b509097909650945050505050565b60006060836001600160a01b03166144fb848888614820565b6040516145089190615c53565b600060405180830381855af49150503d80600081146144cf576040519150601f19603f3d011682016040523d82523d6000602084013e6144d4565b6040805160208101849052908101829052600090606001613ae5565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061459957614599614eed565b602090810291909101015260006145d17f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361477c565b90506105cd6145e382600084516134c4565b61484f565b60008160ff16826145f98560581c90565b1660ff1614905092915050565b821561468057602083106146305760208304840193506020838161462c5761462c6151b2565b0692505b82156146805760208390036000600019600885021c1990506008850281811c91508351811c90508119875416828216178755508184116146715750506107e3565b50600194909401939182900391015b5b602082106146a25780518455600190930192601f1990910190602001614681565b81156107e3576000600019600884021c8554835182191691161785555050505050565b611019838383516146d68560200190565b614606565b606060006146e98360801c90565b90506fffffffffffffffffffffffffffffffff83168067ffffffffffffffff81111561471757614717614a1c565b6040519080825280601f01601f191660200182016040528015614741576020820181803683370190505b50925060208301614753838284614860565b505050919050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60606105cd61478c858585613378565b60006147b18561479c8989613365565b9060ff166028026038011c64ffffffffff1690565b61417a565b600080611c72856148ab565b60006148107f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836148c7565b80611cd75750611cd783836148c7565b606083838360405160200161483793929190615c6f565b60405160208183030381529060405290509392505050565b60606000611cd783601560006141f3565b5b60208110614880578251825260209283019290910190601f1901614861565b8060000361488d57505050565b6000600019600883021c905080835116811985511617835250505050565b6020810151603482015160609190911c9060009060f81c614270565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061490057614900614eed565b602002602001018181525050826001600160a01b031660001b8160018151811061492c5761492c614eed565b60209081029190910101526000613f117f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000612dc2565b6040518061010001604052806000815260200160008152602001600060028111156149b1576149b1614c3a565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000602082840312156149ec57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611cd757600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff81118282101715614a5557614a55614a1c565b60405290565b60405160a0810167ffffffffffffffff81118282101715614a5557614a55614a1c565b604051610100810167ffffffffffffffff81118282101715614a5557614a55614a1c565b604051610120810167ffffffffffffffff81118282101715614a5557614a55614a1c565b604051601f8201601f1916810167ffffffffffffffff81118282101715614aef57614aef614a1c565b604052919050565b600067ffffffffffffffff821115614b1157614b11614a1c565b5060051b60200190565b600082601f830112614b2c57600080fd5b81356020614b41614b3c83614af7565b614ac6565b8083825260208201915060208460051b870101935086841115614b6357600080fd5b602086015b84811015614b7f5780358352918301918301614b68565b509695505050505050565b803561ffff81168114611f3c57600080fd5b60008060008060808587031215614bb257600080fd5b843567ffffffffffffffff80821115614bca57600080fd5b614bd688838901614b1b565b95506020870135915080821115614bec57600080fd5b50614bf987828801614b1b565b935050614c0860408601614b8a565b9150614c1660608601614b8a565b905092959194509250565b600060208284031215614c3357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60028110614c6057614c60614c3a565b9052565b60008151808452602080850194506020840160005b83811015614c9557815187529582019590820190600101614c79565b509495945050505050565b60208152614cb2602082018351614c50565b602082015160408201526040820151606082015260608201516080820152608082015160a0820152600060a083015160e060c0840152614cf6610100840182614c64565b905060c0840151601f198483030160e0850152612def8282614c64565b600082601f830112614d2457600080fd5b81356020614d34614b3c83614af7565b82815260079290921b84018101918181019086841115614d5357600080fd5b8286015b84811015614b7f5760808189031215614d705760008081fd5b614d78614a32565b8135815284820135858201526040808301359082015260608083013590820152835291830191608001614d57565b600080600060608486031215614dbb57600080fd5b8335925060208401359150604084013567ffffffffffffffff811115614de057600080fd5b614dec86828701614d13565b9150509250925092565b600080600060608486031215614e0b57600080fd5b833560028110614e1a57600080fd5b9250602084013567ffffffffffffffff80821115614e3757600080fd5b614e4387838801614b1b565b93506040860135915080821115614e5957600080fd5b50614dec86828701614b1b565b6001600160a01b038116811461310957600080fd5b60008060408385031215614e8e57600080fd5b8235614e9981614e66565b9150602083013567ffffffffffffffff811115614eb557600080fd5b614ec185828601614b1b565b9150509250929050565b60008060408385031215614ede57600080fd5b50508035926020909101359150565b634e487b7160e01b600052603260045260246000fd5b600060208284031215614f1557600080fd5b81518015158114611cd757600080fd5b600060208284031215614f3757600080fd5b8151611cd781614e66565b614f4c8186614c50565b608060208201526000614f626080830186614c64565b8281036040840152614f748186614c64565b91505082606083015295945050505050565b634e487b7160e01b600052601160045260246000fd5b60006000198203614faf57614faf614f86565b5060010190565b60006040808301858452602060406020860152818651808452606093506060870191506020880160005b8281101561501757815180518552858101518686015287810151888601528601518685015260809093019290840190600101614fe0565b50919998505050505050505050565b6003811061310957613109614c3a565b60005b83811015615051578181015183820152602001615039565b50506000910152565b60008151808452615072816020860160208601615036565b601f01601f19169290920160200192915050565b83815261509283615026565b826020820152606060408201526000612def606083018461505a565b600082601f8301126150bf57600080fd5b815160206150cf614b3c83614af7565b8083825260208201915060208460051b8701019350868411156150f157600080fd5b602086015b84811015614b7f57805160ff811681146151105760008081fd5b83529183019183016150f6565b60006020828403121561512f57600080fd5b815167ffffffffffffffff8082111561514757600080fd5b9083019060a0828603121561515b57600080fd5b615163614a5b565b8251815260208301516020820152604083015160408201526060830151606082015260808301518281111561519757600080fd5b6151a3878286016150ae565b60808301525095945050505050565b634e487b7160e01b600052601260045260246000fd5b6000826151d7576151d76151b2565b60001983147f80000000000000000000000000000000000000000000000000000000000000008314161561520d5761520d614f86565b500590565b8181036000831280158383131683831282161715610b9257610b92614f86565b808201808211156102e6576102e6614f86565b600082615254576152546151b2565b500690565b600082615268576152686151b2565b500490565b8381526060602082015260006152866060830185614c64565b9050826040830152949350505050565b600082601f8301126152a757600080fd5b815167ffffffffffffffff8111156152c1576152c1614a1c565b6152d46020601f19601f84011601614ac6565b8181528460208386010111156152e957600080fd5b6105cd826020830160208701615036565b60008060006060848603121561530f57600080fd5b835167ffffffffffffffff8082111561532757600080fd5b61533387838801615296565b945060208601519350604086015191508082111561535057600080fd5b50614dec86828701615296565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156147535760049290920360031b82901b161692915050565b6000600287106153bb576153bb614c3a565b5060f89590951b8552600185019390935260218401919091526041830152606182015260810190565b600083516153f6818460208801615036565b83519083019061540a818360208801615036565b01949350505050565b85815260a06020820152600061542c60a0830187614c64565b828103604084015261543e818761505a565b90508460608401528281036080840152615458818561505a565b98975050505050505050565b84815260806020820152600061547d6080830186614c64565b60ff949094166040830152506060015292915050565b6000602082840312156154a557600080fd5b5051919050565b85815260a0602082015260006154c560a0830187614c64565b60ff8616604084015282810360608401526154e0818661505a565b9150508260808301529695505050505050565b604081526000615506604083018561505a565b90506001600160a01b03831660208301529392505050565b6000610100828403121561553157600080fd5b615539614a7e565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201528091505092915050565b60006020828403121561559f57600080fd5b815167ffffffffffffffff808211156155b757600080fd5b9083019061010082860312156155cc57600080fd5b6155d4614a7e565b825181526020830151828111156155ea57600080fd5b6155f6878286016150ae565b60208301525060408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e082015280935050505092915050565b6000602080838503121561565757600080fd5b825167ffffffffffffffff8082111561566f57600080fd5b818501915085601f83011261568357600080fd5b8151615691614b3c82614af7565b81815260059190911b830184019084810190888311156156b057600080fd5b938501935b8285101561545857845184811681146156ce5760008081fd5b825293850193908501906156b5565b80820281158282048414176102e6576102e6614f86565b8082018281126000831280158216821582161715610c4b57610c4b614f86565b808202600082127f80000000000000000000000000000000000000000000000000000000000000008414161561574c5761574c614f86565b81810583148215176102e6576102e6614f86565b8d81528c60208201528b60408201528a606082015289151560f81b608082015288151560f81b608182015261579c6082820189151560f81b9052565b8660838201528560a38201526157b960c3820186151560f81b9052565b92151560f81b60c484015260c583019190915260e5820152610105019a9950505050505050505050565b805160038110611f3c57600080fd5b600082601f83011261580357600080fd5b81516020615813614b3c83614af7565b8083825260208201915060208460051b87010193508684111561583557600080fd5b602086015b84811015614b7f578051835291830191830161583a565b60006020828403121561586357600080fd5b815167ffffffffffffffff8082111561587b57600080fd5b90830190610120828603121561589057600080fd5b615898614aa2565b82518152602083015160208201526158b2604084016157e3565b6040820152606083015160608201526080830151608082015260a083015160a082015260c0830151828111156158e757600080fd5b6158f3878286016157f2565b60c08301525060e083810151908201526101009283015192810192909252509392505050565b600060ff821660ff810361592f5761592f614f86565b60010192915050565b8281526040602082015260006105cd604083018461505a565b60006020828403121561596357600080fd5b815167ffffffffffffffff81111561597a57600080fd5b6105cd84828501615296565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516159e7816003860160208901615036565b808401905081600382015284519150615a07826004830160208801615036565b0160040195945050505050565b602081526000611cd7602083018461505a565b888152876020820152615a3987615026565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b818103818111156102e6576102e6614f86565b8281526000602080830184516020860160005b82811015615aae57815184529284019290840190600101615a92565b5091979650505050505050565b606081526000615ace606083018661505a565b60208301949094525060400152919050565b608081526000615af36080830187614c64565b8281036020840152615b05818761505a565b90508460408401528281036060840152615b1f818561505a565b979650505050505050565b86815260c060208201526000615b4360c0830188614c64565b8281036040840152615b55818861505a565b90508560608401528281036080840152615b6f818661505a565b9150508260a0830152979650505050505050565b606081526000615b966060830186614c64565b65ffffffffffff851660208401528281036040840152610f7a818561505a565b848152608060208201526000615bcf6080830186614c64565b65ffffffffffff851660408401528281036060840152615b1f818561505a565b60007f80000000000000000000000000000000000000000000000000000000000000008203615c2057615c20614f86565b5060000390565b838152606060208201526000615c406060830185614c64565b905060ff83166040830152949350505050565b60008251615c65818460208701615036565b9190910192915050565b60008451615c81818460208901615036565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220430b9ad49aa9c313df5fdd64a42a278d32d8a5f00d94ff80e2078f308e6e6c3a64736f6c63430008180033","sourceMap":"1281:16028:216:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":8887,"length":20}]}}},"deployedBytecode":{"object":"0x6080604052600436106100c75760003560e01c8063aaa417b711610074578063c6ca743c1161004e578063c6ca743c146101fe578063e1af802c1461021e578063fc88ff631461023357600080fd5b8063aaa417b7146101b2578063b2467894146101d2578063bfea0b85146101f257600080fd5b806345ec9354116100a557806345ec93541461014e5780634dda27e81461017057806398d239b11461019d57600080fd5b806301ffc9a7146100cc578063119df25f14610101578063154510201461012e575b600080fd5b3480156100d857600080fd5b506100ec6100e73660046149da565b610253565b60405190151581526020015b60405180910390f35b34801561010d57600080fd5b506101166102ec565b6040516001600160a01b0390911681526020016100f8565b34801561013a57600080fd5b506100ec610149366004614b9c565b6102fb565b34801561015a57600080fd5b5036601f1901355b6040519081526020016100f8565b34801561017c57600080fd5b5061019061018b366004614c21565b6105d5565b6040516100f89190614ca0565b6101b06101ab366004614da6565b61061f565b005b3480156101be57600080fd5b506101626101cd366004614df6565b6107e9565b3480156101de57600080fd5b506100ec6101ed366004614e7b565b610ac3565b3480156101b057600080fd5b34801561020a57600080fd5b506100ec610219366004614ecb565b610b99565b34801561022a57600080fd5b50610116610c53565b34801561023f57600080fd5b506101b061024e366004614da6565b610c5d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806102e657507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006102f6610e67565b905090565b600160005b855181101561046057610311610c53565b6001600160a01b031663fa1becc487838151811061033157610331614eed565b60200260200101516040518263ffffffff1660e01b815260040161035791815260200190565b602060405180830381865afa158015610374573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103989190614f03565b6103a55760009150610460565b6103ad610c53565b6001600160a01b031663f48a39728783815181106103cd576103cd614eed565b602002602001015186866040518463ffffffff1660e01b815260040161040a9392919092835261ffff918216602084015216604082015260600190565b602060405180830381865afa158015610427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044b9190614f03565b6104585760009150610460565b600101610300565b5080156105cd5760005b84518110156105cb5761047b610c53565b6001600160a01b031663fa1becc486838151811061049b5761049b614eed565b60200260200101516040518263ffffffff1660e01b81526004016104c191815260200190565b602060405180830381865afa1580156104de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105029190614f03565b1561051057600091506105cb565b610518610c53565b6001600160a01b031663f48a397286838151811061053857610538614eed565b602002602001015186866040518463ffffffff1660e01b81526004016105759392919092835261ffff918216602084015216604082015260600190565b602060405180830381865afa158015610592573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b69190614f03565b6105c357600091506105cb565b60010161046a565b505b949350505050565b6106166040805160e0810190915280600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b6102e682610e99565b600061062a84610e99565b9050806020015160001415801561064357506040810151155b6106945760405162461bcd60e51b815260206004820181905260248201527f434f4d4241542053595354454d3a20494e56414c494420454e434f554e54455260448201526064015b60405180910390fd5b80608001518160600151106106eb5760405162461bcd60e51b815260206004820181905260248201527f434f4d4241542053595354454d3a204558504952454420454e434f554e544552604482015260640161068b565b6106f36102ec565b6001600160a01b0316610704610c53565b6001600160a01b0316634f10aabc856040518263ffffffff1660e01b815260040161073191815260200190565b602060405180830381865afa15801561074e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107729190614f25565b6001600160a01b031614801561078d575061078d8385610b99565b6107d95760405162461bcd60e51b815260206004820152601c60248201527f434f4d4241542053595354454d3a204e4f4e2d434f4d424154414e5400000000604482015260640161068b565b6107e38483610f84565b50505050565b60006107fc6107f66102ec565b84610ac3565b6108485760405162461bcd60e51b815260206004820152601d60248201527f434f4d4241542053595354454d3a20494e56414c49442053454e444552000000604482015260640161068b565b60008061086e8560008151811061086157610861614eed565b602002602001015161101e565b9150915085600181111561088457610884614c3a565b60010361096c57610897858584846102fb565b6108e35760405162461bcd60e51b815260206004820152601a60248201527f434f4d4241542053595354454d3a20494e56414c494420505645000000000000604482015260640161068b565b60405142906108fc908890889088908590602001614f42565b60405160208183030381529060405280519060200120935060006040518060e0016040528089600181111561093357610933614c3a565b81526020018381526020016000815260200160008152602001600f815260200187815260200188815250905061096985826110cf565b50505b85600181111561097e5761097e614c3a565b5060005b8451811015610a29576000801b6109b18683815181106109a4576109a4614eed565b6020026020010151611190565b146109fe5760405162461bcd60e51b815260206004820152601e60248201527f434f4d4241542053595354454d3a20454e54495459204f434355504945440000604482015260640161068b565b610a21858281518110610a1357610a13614eed565b602002602001015185611221565b600101610982565b5060005b8551811015610ab9576000801b610a4f8783815181106109a4576109a4614eed565b14610a9c5760405162461bcd60e51b815260206004820152601e60248201527f434f4d4241542053595354454d3a20454e54495459204f434355504945440000604482015260640161068b565b610ab1868281518110610a1357610a13614eed565b600101610a2d565b5050509392505050565b6000805b8251811015610b9257610ad8610c53565b6001600160a01b0316634f10aabc848381518110610af857610af8614eed565b60200260200101516040518263ffffffff1660e01b8152600401610b1e91815260200190565b602060405180830381865afa158015610b3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5f9190614f25565b6001600160a01b0316846001600160a01b031603610b805760019150610b92565b80610b8a81614f9c565b915050610ac7565b5092915050565b600080610ba583610e99565b905060005b8160c0015151811015610bf6578160c001518181518110610bcd57610bcd614eed565b60200260200101518503610be45760019250610bf6565b80610bee81614f9c565b915050610baa565b5081610b925760005b8160a0015151811015610c4b578160a001518181518110610c2257610c22614eed565b60200260200101518503610c395760019250610c4b565b80610c4381614f9c565b915050610bff565b505092915050565b60006102f66112d5565b610c6e30610c696102ec565b6112df565b6000610c7983610e99565b905060005b8251811015610d71576000838281518110610c9b57610c9b614eed565b602090810291909101810151604080516101a08101825281830151815260608084015182860152835192820192909252928201519083015260006080830181905260a0830181905260c0830181905260e083018190526101008301819052610120830181905261014083015243610160830152426101808301529150610d2181886112f5565b905080610140015115610d3d57610d3d816060015160016114d6565b80610120015115610d5757610d57816040015160016114d6565b610d67868560600151858461155a565b5050600101610c7e565b5060008060005b8360a0015151811015610dc657610dab8460a001518281518110610d9e57610d9e614eed565b6020026020010151611671565b15610dbe5782610dba81614f9c565b9350505b600101610d78565b5060005b8360c0015151811015610e0b57610df08460c001518281518110610d9e57610d9e614eed565b15610e035781610dff81614f9c565b9250505b600101610dca565b508260c0015151811480610e2357508260a001515182145b80610e35575082608001518360600151145b15610e4b57610e44858761170f565b5050610e5f565b60608301805190610e5b82614f9c565b9052505b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610e965750335b90565b610eda6040805160e0810190915280600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f1057610f10614eed565b602090810291909101015260008080610f697f74625544000000000000000000000000436f6d626174456e636f756e74657200857e81050201202020200000000000000000000000000000000000000000000000611a30565b925092509250610f7a838383611b00565b9695505050505050565b6110198260018484604051602001610f9d929190614fb6565b60408051601f1981840301815290829052610fbc939291602401615086565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a400000000000000000000000000000000000000000000000000000000179052611bad565b505050565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061105857611058614eed565b6020908102919091010152600080806110b17f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000611a30565b9250925092506110c2838383611c5b565b9550955050505050915091565b60006110f282600001518360200151846040015185606001518660800151611c7e565b905060006111088360a001518460c00151611cb3565b9050600061111e8460a001518560c00151611cde565b6040805160018082528183019092529192506000919060208083019080368337019050509050858160008151811061115857611158614eed565b6020908102919091010152610e5f7f74625544000000000000000000000000436f6d626174456e636f756e7465720082868686611d1a565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106111c9576111c9614eed565b602090810291909101015260006105cd7f746255440000000000000000000000004d61746368456e74697479000000000083837e41030020200100000000000000000000000000000000000000000000000000611dcf565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061125757611257614eed565b6020026020010181815250506110197f746255440000000000000000000000004d61746368456e74697479000000000060001b826000856040516020016112a091815260200190565b60408051601f198184030181529190527e41030020200100000000000000000000000000000000000000000000000000611e8c565b60006102f6611f02565b6112f16112eb83611f41565b82611fde565b5050565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101829052610180810191909152600061136d846000015161202a565b90508060200151516000036113c45760405162461bcd60e51b815260206004820152601560248201527f616374696f6e20646f6573206e6f742065786973740000000000000000000000604482015260640161068b565b805160038111156113d7576113d7614c3a565b60ff1660010361148657600081602001518060200190518101906113fb919061511d565b905061141681866040015187606001518860200151886120df565b151560c0880152158015608088015260e0870191909152611480576000620186a08660e0015161144691906151c8565b611453876060015161251e565b61145d9190615212565b9050600081136114705760016101408701525b61147e8660600151826125b0565b505b506114ce565b60405162461bcd60e51b815260206004820152601a60248201527f616374696f6e2074797065206e6f74207265636f676e697a6564000000000000604482015260640161068b565b509192915050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061150c5761150c614eed565b6020026020010181815250506110197f746255440000000000000000000000004d61746368456e74697479000000000060001b826002856040516020016112a091151560f81b815260010190565b60006115aa826000015183602001518460400151856060015186608001518760a001518860c001518960e001518a61010001518b61012001518c61014001518d61016001518e6101800151612664565b6040805160038082526080820190925291925060009160609183919060208201848036833701905050905087816000815181106115e9576115e9614eed565b6020026020010181815250508660001b8160018151811061160c5761160c614eed565b6020026020010181815250508560001b8160028151811061162f5761162f614eed565b60209081029190910101526116677f6f745544000000000000000000000000416374696f6e4f7574636f6d6500000082868686611d1a565b5050505050505050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106116aa576116aa614eed565b602090810291909101015260006117037f746255440000000000000000000000004d61746368456e7469747900000000008360027e41030020200100000000000000000000000000000000000000000000000000611dcf565b90506105cd8160f81c90565b600080600061171d85610e99565b905046617a69036117335743604082015261173a565b4260408201525b600080611745614984565b60005b8460c00151518110156117b25761177b8560c00151828151811061176e5761176e614eed565b60200260200101516126b1565b91508160e001518461178d9190615232565b935060008260a0015113156117aa57826117a681614f9c565b9350505b600101611748565b506000805b8560a001515181101561186c578560a0015181815181106117da576117da614eed565b602002602001015191506117ed82611671565b15611864576117fb82612759565b6118059089615232565b97506118158360e001518a6127eb565b61181f9088615232565b965061182c826000611221565b61186489838860c001518960c00151518d6118479190615245565b8151811061185757611857614eed565b6020026020010151612808565b6001016117b7565b506000805b8660c0015151811015611a18578660c00151818151811061189457611894614eed565b602002602001015191506118a6610c53565b6001600160a01b031663fa1becc4836040518263ffffffff1660e01b81526004016118d391815260200190565b602060405180830381865afa1580156118f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119149190614f03565b15611a0557611922826126b1565b935060008460a0015113156119fb5787156119c75761193f610c53565b6001600160a01b031663fda0ce5083611958888c615259565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526024820152604401600060405180830381600087803b1580156119ae57600080fd5b505af11580156119c2573d6000803e3d6000fd5b505050505b6000891180156119d75750600085115b156119fb576119e6858a615259565b8460c0018181516119f79190615232565b9052505b611a0582856129a7565b611a10826000611221565b600101611871565b50611a238a876110cf565b5050505050509250929050565b6060600060606000611a40611f02565b9050306001600160a01b03821603611a6957611a5d878787612a50565b93509350935050611af7565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611ab2908a908a908a9060040161526d565b600060405180830381865afa158015611acf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a5d91908101906152fa565b93509350939050565b611b416040805160e0810190915280600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b611b4a84612b58565b6080860181905260608601829052604086018390526020860184905285856001811115611b7957611b79614c3a565b6001811115611b8a57611b8a614c3a565b8152505050505050611b9c8383612ba8565b60c083015260a08201529392505050565b6060600080611bc3611bbe8561535d565b612bf7565b91509150816000801b03611c29576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff0000000000000000000000000000000000000000000000000000000060003516600482015260240161068b565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526105cd8285612cba565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b60608585858585604051602001611c999594939291906153a9565b604051602081830303815290604052905095945050505050565b6000611cd783516020028351602002606081901b603883901b838301171792915050565b9392505050565b6060611ce983612d95565b611cf283612d95565b604051602001611d039291906153e4565b604051602081830303815290604052905092915050565b6000611d24611f02565b9050306001600160a01b03821603611d4857611d438686868686612da5565b610e5f565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611d959089908990899089908990600401615413565b600060405180830381600087803b158015611daf57600080fd5b505af1158015611dc3573d6000803e3d6000fd5b50505050505050505050565b600080611dda611f02565b9050306001600160a01b03821603611e0057611df886868686612dc2565b9150506105cd565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611e4b908990899089908990600401615464565b602060405180830381865afa158015611e68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df89190615493565b6000611e96611f02565b9050306001600160a01b03821603611eb557611d438686868686612df8565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611d9590899089908990899089906004016154ac565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611f3c573391505090565b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110611f8657611f86614eed565b602090810291909101015260006105cd7f7462776f726c6400000000000000000053797374656d5265676973747279000083837e20010020000000000000000000000000000000000000000000000000000000611dcf565b611fe88282612e0d565b6112f157611ff582612e6b565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161068b9291906154f3565b60408051808201909152600081526060602082015260408051600180825281830190925260009160208083019080368337019050509050828160008151811061207557612075614eed565b6020908102919091010152600080806120ce7f74625544000000000000000000000000416374696f6e73000000000000000000857e01010101000000000000000000000000000000000000000000000000000000611a30565b925092509250610f7a838383612fa8565b6000806000806120ed610c53565b6001600160a01b03166354f1f2db896040518263ffffffff1660e01b815260040161211a91815260200190565b61010060405180830381865afa158015612138573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215c919061551e565b90506000612168610c53565b6001600160a01b03166354f1f2db896040518263ffffffff1660e01b815260040161219591815260200190565b61010060405180830381865afa1580156121b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121d7919061551e565b905060006121e3610c53565b6001600160a01b031663810c1dc1896040518263ffffffff1660e01b815260040161221091815260200190565b600060405180830381865afa15801561222d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612255919081019061558d565b905060008260a001511315612503576040517f4dddf8370000000000000000000000000000000000000000000000000000000081526004810188905260009073__$227e4555c1f608352b26068e438454dd8b$__90634dddf83790602401600060405180830381865af41580156122d0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122f89190810190615644565b905061234f8160008151811061231057612310614eed565b602002602001015167ffffffffffffffff168260018151811061233557612335614eed565b602002602001015167ffffffffffffffff168e8787613005565b909650945085156124b657620186a060008d6020015185606001516123749190615212565b13612380576001612394565b8c6020015184606001516123949190615212565b61239e91906156dd565b8451620186a0906123b190600290615259565b8460a001518560800151856002815181106123ce576123ce614eed565b602002602001015167ffffffffffffffff166123ea9190615245565b11156124295784608001518460028151811061240857612408614eed565b602002602001015167ffffffffffffffff166124249190615245565b61242f565b8460a001515b8f5161243b91906156f4565b61244591906156f4565b61244f9190615714565b6124599190615212565b965084156124b15761249f6040518060400160405280600581526020017f4352495421000000000000000000000000000000000000000000000000000000815250613098565b6124aa600288615714565b9650600194505b6124fd565b6124f46040518060400160405280600581526020017f4d49535321000000000000000000000000000000000000000000000000000000815250613098565b60009650600095505b50612510565b6000955060009450600093505b505050955095509592505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061255757612557614eed565b602090810291909101015260006105cd7f74625544000000000000000000000000537461747300000000000000000000008360057ee1080020200120202020200000000000000000000000000000000000000000611dcf565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106125e6576125e6614eed565b6020026020010181815250506110197f746255440000000000000000000000005374617473000000000000000000000060001b8260058560405160200161262f91815260200190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611e8c565b60608d8d8d8d8d8d8d8d8d8d8d8d8d60405160200161268f9d9c9b9a99989796959493929190615760565b60405160208183030381529060405290509d9c50505050505050505050505050565b6126b9614984565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106126ef576126ef614eed565b6020908102919091010152600080806127487f7462554400000000000000000000000053746174730000000000000000000000857ee1080020200120202020200000000000000000000000000000000000000000611a30565b925092509250610f7a83838361310c565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061279257612792614eed565b602090810291909101015260006105cd7f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611dcf565b60006127fe8366038d7ea4c680006156dd565b611cd79083615245565b6000612812610c53565b6001600160a01b03166353d64640846040518263ffffffff1660e01b815260040161283f91815260200190565b602060405180830381865afa15801561285c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128809190615493565b9050600061288d82613184565b8060200190518101906128a09190615851565b905060005b8160c0015151811015610e5f5760006128da8360c0015183815181106128cd576128cd614eed565b60200260200101516131f9565b9050806128ea620186a089615245565b111561299e576128f8610c53565b6001600160a01b031663cd9caca2868560c00151858151811061291d5761291d614eed565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526004810192909252602482015260016044820152606401600060405180830381600087803b15801561298557600080fd5b505af1158015612999573d6000803e3d6000fd5b505050505b506001016128a5565b60006129d9826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161328e565b604080516001808252818301909252919250600091606091839190602080830190803683370190505090508581600081518110612a1857612a18614eed565b6020908102919091010152610e5f7f746255440000000000000000000000005374617473000000000000000000000082868686611d1a565b6060600060606000612a61856132cc565b9050612a6e8787836132ef565b93506000612a7b86613328565b90508015612b4d57612a8d8888613365565b935066ffffffffffffff841667ffffffffffffffff811115612ab157612ab1614a1c565b6040519080825280601f01601f191660200182016040528015612adb576020820181803683370190505b5092506020830160005b828160ff161015612b4a576000612afd8b8b84613378565b90506000612b1a888460ff166028026038011c64ffffffffff1690565b9050612b2982600083876133f8565b612b338185615232565b935050508080612b4290615919565b915050612ae5565b50505b505093509350939050565b6000806000806000612b6e866000016020015190565b60f81c6001811115612b8257612b82614c3a565b602187015160418801516061890151608190990151929991989097509550909350915050565b6060806000603885901c64ffffffffff16612bcc612bc78684846134c4565b613552565b935090508064ffffffffff606087901c1601612bec612bc78684846134c4565b925050509250929050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110612c5057612c50614eed565b602090810291909101015260008080612ca97f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000611a30565b9250925092506110c2838383613563565b60606000612cc66112d5565b90506001600160a01b0381163003612d07576000612cee612ce5610e67565b6000878761356f565b9350905080612d0057612d00836136aa565b50506102e6565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890612d4e9087908790600401615938565b6000604051808303816000875af1158015612d6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105cd9190810190615951565b606081611cd781602060006136b2565b612dbb8585858585612db68b613712565b613797565b5050505050565b6000612def612dd18686613ad0565b60ff858116601b0360080285901c16612dea8587613b26565b613b5f565b95945050505050565b612dbb8585612e078487613b26565b85613bb0565b6000612e5b7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613e54565b80611cd75750611cd78383613e54565b606081601081901b6000612e7e83613f1d565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ed957612ed47fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613f34565b612f10565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000831615612f4657612f4183613f34565b612f7d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612f8f93929190615986565b6040516020818303038152906040529350505050919050565b604080518082019091526000815260606020820152612fc684613fd8565b81906003811115612fd957612fd9614c3a565b90816003811115612fec57612fec614c3a565b905250612ff98383613ff4565b60208201529392505050565b60008080620249f06130196103e88a615245565b61302b87602001518960400151614017565b6130359190615232565b61303f91906156dd565b90506000620186a085602001516103e88a61305a9190615245565b6130649190615232565b61306e91906156dd565b90508082119350831561308c5760026130878284615259565b101592505b50509550959350505050565b613109816040516024016130ac9190615a14565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052614044565b50565b613114614984565b61311d8461404d565b60e0890181905260c0890182905260a08901839052608089018490526060890185905288602081016040820188600281111561315b5761315b614c3a565b600281111561316c5761316c614c3a565b90529790975250505093909252509195945050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b816000815181106131c1576131c1614eed565b602090810291909101015260006105cd7f746255440000000000000000000000004d6f627300000000000000000000000083836140bb565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061323557613235614eed565b602090810291909101015260006105cd7f746255440000000000000000000000004974656d7300000000000000000000008360017e21020101200000000000000000000000000000000000000000000000000000611dcf565b606088888888888888886040516020016132af989796959493929190615a27565b604051602081830303815290604052905098975050505050505050565b600060086132dc60026020615a6c565b6132e691906156dd565b9190911c919050565b60608160000361330e5750604080516020810190915260008152611cd7565b600061331a8585613ad0565b9050612def8160008561417a565b6000600860018061333b60026020615a6c565b6133459190615a6c565b61334f9190615a6c565b61335991906156dd565b8260ff911c1692915050565b6000611cd7613374848461419d565b5490565b6000838360405160200161338d929190615a7f565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561347f57602083106134225760208304840193506020838161341e5761341e6151b2565b0692505b821561347f5760208390036000818410156134455750600019600884021c61344f565b50600019600882021c5b8554600886021b8184511682198216178452508184116134705750506107e3565b50600194909401939182900391015b5b602082106134a15783548152600190930192601f1990910190602001613480565b81156107e3576000600019600884021c8251865482191691161782525050505050565b6000818311806134d45750835182115b15613511578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161068b93929190615abb565b6020840161351f8482615232565b9050600061352d8585615a6c565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611cd783602060006141f3565b600080611c7285614262565b6000606060008061357f86614277565b90925090506001600160a01b0382166135d0578561359c87612e6b565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161068b929190615938565b806135df576135df868961431b565b861561364b577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061363382614325565b9050613648826136438b84615232565b6143b6565b50505b60006136578760101b90565b7fffffffffffffffffffffffffffff000000000000000000000000000000000000161461368f5761368a8888848861446a565b61369b565b61369b888884886144e2565b90999098509650505050505050565b805160208201fd5b825160609060006136c385836156dd565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015613706578051871b835291870191600191909101906020016136e5565b50505050509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161376157507e60030220202000000000000000000000000000000000000000000000000000919050565b6102e661378e7f746273746f72650000000000000000005461626c65730000000000000000000084614543565b60206000613b5f565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361382357857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516138169493929190615ae0565b60405180910390a2610e5f565b600061382e8761455f565b905060005b815181101561390757600082828151811061385057613850614eed565b6020026020010151905061387c6001826affffffffffffffffffffff19166145e890919063ffffffff16565b156138fe576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906138cb908c908c908c908c908c908c90600401615b2a565b600060405180830381600087803b1580156138e557600080fd5b505af11580156138f9573d6000803e3d6000fd5b505050505b50600101613833565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161393e9493929190615ae0565b60405180910390a260006139528888613ad0565b9050600060208701905061396a826000895184614606565b600061397585613328565b11156139f95760006139878a8a61419d565b878155905060208601915060008060005b6139a188613328565b8160ff1610156139f4576139b68d8d83613378565b92506139d18a8260ff166028026038011c64ffffffffff1690565b91506139e08360008488614606565b6139ea8286615232565b9450600101613998565b505050505b60005b8351811015611dc3576000848281518110613a1957613a19614eed565b60200260200101519050613a456002826affffffffffffffffffffff19166145e890919063ffffffff16565b15613ac7576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90613a94908e908e908e908e908e908e90600401615b2a565b600060405180830381600087803b158015613aae57600080fd5b505af1158015613ac2573d6000803e3d6000fd5b505050505b506001016139fc565b60008282604051602001613ae5929190615a7f565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015613b5757613b4d60ff601b83900360080287901c1683615232565b9150600101613b2b565b509392505050565b600060208210613b8557602082048401935060208281613b8157613b816151b2565b0691505b508254600882021b602082900380841115613b57576001850154600882021c82179150509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff0000000000000000000000000000000000000000000000000000000000001603613c3a57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051613c2d93929190615b83565b60405180910390a26107e3565b6000613c468585613ad0565b90506000613c538661455f565b905060005b8151811015613d28576000828281518110613c7557613c75614eed565b60200260200101519050613ca16004826affffffffffffffffffffff19166145e890919063ffffffff16565b15613d1f576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90613cec908b908b908b908b90600401615bb6565b600060405180830381600087803b158015613d0657600080fd5b505af1158015613d1a573d6000803e3d6000fd5b505050505b50600101613c58565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051613d5d93929190615b83565b60405180910390a2613d78828565ffffffffffff16856146c5565b60005b8151811015613e4b576000828281518110613d9857613d98614eed565b60200260200101519050613dc46008826affffffffffffffffffffff19166145e890919063ffffffff16565b15613e42576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190613e0f908b908b908b908b90600401615bb6565b600060405180830381600087803b158015613e2957600080fd5b505af1158015613e3d573d6000803e3d6000fd5b505050505b50600101613d7b565b50505050505050565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613e8d57613e8d614eed565b602002602001018181525050826001600160a01b031660001b81600181518110613eb957613eb9614eed565b60209081029190910101526000613f117f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611dcf565b9050612def8160f81c90565b6000613f2b60706010615232565b9190911b919050565b606060005b6010811015613f99577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613f9957600101613f39565b604080517fffffffffffffffffffffffffffffffff000000000000000000000000000000008516602082015281516030909101909152818152806105cd565b602081015160009060f81c60038111156102e6576102e6614c3a565b60606000603884901c64ffffffffff16612def6140128584846134c4565b6146db565b60008082126140315761402a8284615232565b90506102e6565b61403a82615bef565b61402a9084615a6c565b6131098161475b565b600080600080600080600080614067896000016020015190565b60408a015160608b0151919950975060f81c600281111561408a5761408a614c3a565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b606060006140c7611f02565b9050306001600160a01b038216036140ec576140e485858561477c565b915050611cd7565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061413590889088908890600401615c27565b600060405180830381865afa158015614152573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526140e49190810190615951565b60405160208101601f19603f8484010116604052828252613b57858585846133f8565b600082826040516020016141b2929190615a7f565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b606060006142018560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281614227576142276151b2565b04905060405193506020840160208202810160405281855260005b82811015613706578451871c825293870193602090910190600101614242565b602081015160408201516000905b9050915091565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106142b1576142b1614eed565b60209081029190910101526000808061430a7f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000612a50565b9250925092506110c28383836147b6565b611fe882826147c2565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061435e5761435e614eed565b602090810291909101015260006105cd7f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000612dc2565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106143ec576143ec614eed565b6020026020010181815250506110197f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161443591815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000612df8565b60006060836001600160a01b03166000614485858989614820565b6040516144929190615c53565b60006040518083038185875af1925050503d80600081146144cf576040519150601f19603f3d011682016040523d82523d6000602084013e6144d4565b606091505b509097909650945050505050565b60006060836001600160a01b03166144fb848888614820565b6040516145089190615c53565b600060405180830381855af49150503d80600081146144cf576040519150601f19603f3d011682016040523d82523d6000602084013e6144d4565b6040805160208101849052908101829052600090606001613ae5565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061459957614599614eed565b602090810291909101015260006145d17f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361477c565b90506105cd6145e382600084516134c4565b61484f565b60008160ff16826145f98560581c90565b1660ff1614905092915050565b821561468057602083106146305760208304840193506020838161462c5761462c6151b2565b0692505b82156146805760208390036000600019600885021c1990506008850281811c91508351811c90508119875416828216178755508184116146715750506107e3565b50600194909401939182900391015b5b602082106146a25780518455600190930192601f1990910190602001614681565b81156107e3576000600019600884021c8554835182191691161785555050505050565b611019838383516146d68560200190565b614606565b606060006146e98360801c90565b90506fffffffffffffffffffffffffffffffff83168067ffffffffffffffff81111561471757614717614a1c565b6040519080825280601f01601f191660200182016040528015614741576020820181803683370190505b50925060208301614753838284614860565b505050919050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60606105cd61478c858585613378565b60006147b18561479c8989613365565b9060ff166028026038011c64ffffffffff1690565b61417a565b600080611c72856148ab565b60006148107f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836148c7565b80611cd75750611cd783836148c7565b606083838360405160200161483793929190615c6f565b60405160208183030381529060405290509392505050565b60606000611cd783601560006141f3565b5b60208110614880578251825260209283019290910190601f1901614861565b8060000361488d57505050565b6000600019600883021c905080835116811985511617835250505050565b6020810151603482015160609190911c9060009060f81c614270565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061490057614900614eed565b602002602001018181525050826001600160a01b031660001b8160018151811061492c5761492c614eed565b60209081029190910101526000613f117f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000612dc2565b6040518061010001604052806000815260200160008152602001600060028111156149b1576149b1614c3a565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000602082840312156149ec57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611cd757600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff81118282101715614a5557614a55614a1c565b60405290565b60405160a0810167ffffffffffffffff81118282101715614a5557614a55614a1c565b604051610100810167ffffffffffffffff81118282101715614a5557614a55614a1c565b604051610120810167ffffffffffffffff81118282101715614a5557614a55614a1c565b604051601f8201601f1916810167ffffffffffffffff81118282101715614aef57614aef614a1c565b604052919050565b600067ffffffffffffffff821115614b1157614b11614a1c565b5060051b60200190565b600082601f830112614b2c57600080fd5b81356020614b41614b3c83614af7565b614ac6565b8083825260208201915060208460051b870101935086841115614b6357600080fd5b602086015b84811015614b7f5780358352918301918301614b68565b509695505050505050565b803561ffff81168114611f3c57600080fd5b60008060008060808587031215614bb257600080fd5b843567ffffffffffffffff80821115614bca57600080fd5b614bd688838901614b1b565b95506020870135915080821115614bec57600080fd5b50614bf987828801614b1b565b935050614c0860408601614b8a565b9150614c1660608601614b8a565b905092959194509250565b600060208284031215614c3357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60028110614c6057614c60614c3a565b9052565b60008151808452602080850194506020840160005b83811015614c9557815187529582019590820190600101614c79565b509495945050505050565b60208152614cb2602082018351614c50565b602082015160408201526040820151606082015260608201516080820152608082015160a0820152600060a083015160e060c0840152614cf6610100840182614c64565b905060c0840151601f198483030160e0850152612def8282614c64565b600082601f830112614d2457600080fd5b81356020614d34614b3c83614af7565b82815260079290921b84018101918181019086841115614d5357600080fd5b8286015b84811015614b7f5760808189031215614d705760008081fd5b614d78614a32565b8135815284820135858201526040808301359082015260608083013590820152835291830191608001614d57565b600080600060608486031215614dbb57600080fd5b8335925060208401359150604084013567ffffffffffffffff811115614de057600080fd5b614dec86828701614d13565b9150509250925092565b600080600060608486031215614e0b57600080fd5b833560028110614e1a57600080fd5b9250602084013567ffffffffffffffff80821115614e3757600080fd5b614e4387838801614b1b565b93506040860135915080821115614e5957600080fd5b50614dec86828701614b1b565b6001600160a01b038116811461310957600080fd5b60008060408385031215614e8e57600080fd5b8235614e9981614e66565b9150602083013567ffffffffffffffff811115614eb557600080fd5b614ec185828601614b1b565b9150509250929050565b60008060408385031215614ede57600080fd5b50508035926020909101359150565b634e487b7160e01b600052603260045260246000fd5b600060208284031215614f1557600080fd5b81518015158114611cd757600080fd5b600060208284031215614f3757600080fd5b8151611cd781614e66565b614f4c8186614c50565b608060208201526000614f626080830186614c64565b8281036040840152614f748186614c64565b91505082606083015295945050505050565b634e487b7160e01b600052601160045260246000fd5b60006000198203614faf57614faf614f86565b5060010190565b60006040808301858452602060406020860152818651808452606093506060870191506020880160005b8281101561501757815180518552858101518686015287810151888601528601518685015260809093019290840190600101614fe0565b50919998505050505050505050565b6003811061310957613109614c3a565b60005b83811015615051578181015183820152602001615039565b50506000910152565b60008151808452615072816020860160208601615036565b601f01601f19169290920160200192915050565b83815261509283615026565b826020820152606060408201526000612def606083018461505a565b600082601f8301126150bf57600080fd5b815160206150cf614b3c83614af7565b8083825260208201915060208460051b8701019350868411156150f157600080fd5b602086015b84811015614b7f57805160ff811681146151105760008081fd5b83529183019183016150f6565b60006020828403121561512f57600080fd5b815167ffffffffffffffff8082111561514757600080fd5b9083019060a0828603121561515b57600080fd5b615163614a5b565b8251815260208301516020820152604083015160408201526060830151606082015260808301518281111561519757600080fd5b6151a3878286016150ae565b60808301525095945050505050565b634e487b7160e01b600052601260045260246000fd5b6000826151d7576151d76151b2565b60001983147f80000000000000000000000000000000000000000000000000000000000000008314161561520d5761520d614f86565b500590565b8181036000831280158383131683831282161715610b9257610b92614f86565b808201808211156102e6576102e6614f86565b600082615254576152546151b2565b500690565b600082615268576152686151b2565b500490565b8381526060602082015260006152866060830185614c64565b9050826040830152949350505050565b600082601f8301126152a757600080fd5b815167ffffffffffffffff8111156152c1576152c1614a1c565b6152d46020601f19601f84011601614ac6565b8181528460208386010111156152e957600080fd5b6105cd826020830160208701615036565b60008060006060848603121561530f57600080fd5b835167ffffffffffffffff8082111561532757600080fd5b61533387838801615296565b945060208601519350604086015191508082111561535057600080fd5b50614dec86828701615296565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156147535760049290920360031b82901b161692915050565b6000600287106153bb576153bb614c3a565b5060f89590951b8552600185019390935260218401919091526041830152606182015260810190565b600083516153f6818460208801615036565b83519083019061540a818360208801615036565b01949350505050565b85815260a06020820152600061542c60a0830187614c64565b828103604084015261543e818761505a565b90508460608401528281036080840152615458818561505a565b98975050505050505050565b84815260806020820152600061547d6080830186614c64565b60ff949094166040830152506060015292915050565b6000602082840312156154a557600080fd5b5051919050565b85815260a0602082015260006154c560a0830187614c64565b60ff8616604084015282810360608401526154e0818661505a565b9150508260808301529695505050505050565b604081526000615506604083018561505a565b90506001600160a01b03831660208301529392505050565b6000610100828403121561553157600080fd5b615539614a7e565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201528091505092915050565b60006020828403121561559f57600080fd5b815167ffffffffffffffff808211156155b757600080fd5b9083019061010082860312156155cc57600080fd5b6155d4614a7e565b825181526020830151828111156155ea57600080fd5b6155f6878286016150ae565b60208301525060408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e082015280935050505092915050565b6000602080838503121561565757600080fd5b825167ffffffffffffffff8082111561566f57600080fd5b818501915085601f83011261568357600080fd5b8151615691614b3c82614af7565b81815260059190911b830184019084810190888311156156b057600080fd5b938501935b8285101561545857845184811681146156ce5760008081fd5b825293850193908501906156b5565b80820281158282048414176102e6576102e6614f86565b8082018281126000831280158216821582161715610c4b57610c4b614f86565b808202600082127f80000000000000000000000000000000000000000000000000000000000000008414161561574c5761574c614f86565b81810583148215176102e6576102e6614f86565b8d81528c60208201528b60408201528a606082015289151560f81b608082015288151560f81b608182015261579c6082820189151560f81b9052565b8660838201528560a38201526157b960c3820186151560f81b9052565b92151560f81b60c484015260c583019190915260e5820152610105019a9950505050505050505050565b805160038110611f3c57600080fd5b600082601f83011261580357600080fd5b81516020615813614b3c83614af7565b8083825260208201915060208460051b87010193508684111561583557600080fd5b602086015b84811015614b7f578051835291830191830161583a565b60006020828403121561586357600080fd5b815167ffffffffffffffff8082111561587b57600080fd5b90830190610120828603121561589057600080fd5b615898614aa2565b82518152602083015160208201526158b2604084016157e3565b6040820152606083015160608201526080830151608082015260a083015160a082015260c0830151828111156158e757600080fd5b6158f3878286016157f2565b60c08301525060e083810151908201526101009283015192810192909252509392505050565b600060ff821660ff810361592f5761592f614f86565b60010192915050565b8281526040602082015260006105cd604083018461505a565b60006020828403121561596357600080fd5b815167ffffffffffffffff81111561597a57600080fd5b6105cd84828501615296565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516159e7816003860160208901615036565b808401905081600382015284519150615a07826004830160208801615036565b0160040195945050505050565b602081526000611cd7602083018461505a565b888152876020820152615a3987615026565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b818103818111156102e6576102e6614f86565b8281526000602080830184516020860160005b82811015615aae57815184529284019290840190600101615a92565b5091979650505050505050565b606081526000615ace606083018661505a565b60208301949094525060400152919050565b608081526000615af36080830187614c64565b8281036020840152615b05818761505a565b90508460408401528281036060840152615b1f818561505a565b979650505050505050565b86815260c060208201526000615b4360c0830188614c64565b8281036040840152615b55818861505a565b90508560608401528281036080840152615b6f818661505a565b9150508260a0830152979650505050505050565b606081526000615b966060830186614c64565b65ffffffffffff851660208401528281036040840152610f7a818561505a565b848152608060208201526000615bcf6080830186614c64565b65ffffffffffff851660408401528281036060840152615b1f818561505a565b60007f80000000000000000000000000000000000000000000000000000000000000008203615c2057615c20614f86565b5060000390565b838152606060208201526000615c406060830185614c64565b905060ff83166040830152949350505050565b60008251615c65818460208701615036565b9190910192915050565b60008451615c81818460208901615036565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220430b9ad49aa9c313df5fdd64a42a278d32d8a5f00d94ff80e2078f308e6e6c3a64736f6c63430008180033","sourceMap":"1281:16028:216:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:123;;;;;;;;;;-1:-1:-1;2331:198:123;;;;;:::i;:::-;;:::i;:::-;;;516:14:233;;509:22;491:41;;479:2;464:18;2331:198:123;;;;;;;;1262:113;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:233;;;689:74;;677:2;662:18;1262:113:123;543:226:233;3032:1020:216;;;;;;;;;;-1:-1:-1;3032:1020:216;;;;;:::i;:::-;;:::i;1616:110:123:-;;;;;;;;;;-1:-1:-1;3800:14:123;-1:-1:-1;;3796:25:123;3783:39;1616:110;;;4251:25:233;;;4239:2;4224:18;1616:110:123;4105:177:233;12413:163:216;;;;;;;;;;-1:-1:-1;12413:163:216;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4226:630::-;;;;;;:::i;:::-;;:::i;:::-;;1487:1539;;;;;;;;;;-1:-1:-1;1487:1539:216;;;;;:::i;:::-;;:::i;5653:391::-;;;;;;;;;;-1:-1:-1;5653:391:216;;;;;:::i;:::-;;:::i;13522:42::-;;;;;;;;;4862:785;;;;;;;;;;-1:-1:-1;4862:785:216;;;;;:::i;:::-;;:::i;1942:98:123:-;;;;;;;;;;;;;:::i;6050:2386:216:-;;;;;;;;;;-1:-1:-1;6050:2386:216;;;;;:::i;:::-;;:::i;2331:198:123:-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;3032:1020:216:-;3219:4;3173:16;3233:350;3253:9;:16;3249:1;:20;3233:350;;;3302:8;:6;:8::i;:::-;-1:-1:-1;;;;;3295:39:216;;3335:9;3345:1;3335:12;;;;;;;;:::i;:::-;;;;;;;3295:53;;;;;;;;;;;;;4251:25:233;;4239:2;4224:18;;4105:177;3295:53:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3290:135;;3382:5;3368:19;;3405:5;;3290:135;3450:8;:6;:8::i;:::-;-1:-1:-1;;;;;3443:33:216;;3477:9;3487:1;3477:12;;;;;;;;:::i;:::-;;;;;;;3491:1;3494;3443:53;;;;;;;;;;;;;;;;10903:25:233;;;10947:6;10989:15;;;10984:2;10969:18;;10962:43;11041:15;11036:2;11021:18;;11014:43;10891:2;10876:18;;10705:358;3443:53:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3438:135;;3530:5;3516:19;;3553:5;;3438:135;3271:3;;3233:350;;;;3596:11;3592:426;;;3628:9;3623:385;3643:9;:16;3639:1;:20;3623:385;;;3695:8;:6;:8::i;:::-;-1:-1:-1;;;;;3688:39:216;;3728:9;3738:1;3728:12;;;;;;;;:::i;:::-;;;;;;;3688:53;;;;;;;;;;;;;4251:25:233;;4239:2;4224:18;;4105:177;3688:53:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3684:146;;;3779:5;3765:19;;3806:5;;3684:146;3859:8;:6;:8::i;:::-;-1:-1:-1;;;;;3852:33:216;;3886:9;3896:1;3886:12;;;;;;;;:::i;:::-;;;;;;;3900:1;3903;3852:53;;;;;;;;;;;;;;;;10903:25:233;;;10947:6;10989:15;;;10984:2;10969:18;;10962:43;11041:15;11036:2;11021:18;;11014:43;10891:2;10876:18;;10705:358;3852:53:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3847:147;;3943:5;3929:19;;3970:5;;3847:147;3661:3;;3623:385;;;;3592:426;3032:1020;;;;;;:::o;12413:163::-;12477:41;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12477:41:216;12537:32;12557:11;12537:19;:32::i;4226:630::-;4332:40;4375:32;4395:11;4375:19;:32::i;:::-;4332:75;;4425:13;:19;;;4448:1;4425:24;;:50;;;;-1:-1:-1;4453:17:216;;;;:22;4425:50;4417:95;;;;-1:-1:-1;;;4417:95:216;;11270:2:233;4417:95:216;;;11252:21:233;;;11289:18;;;11282:30;11348:34;11328:18;;;11321:62;11400:18;;4417:95:216;;;;;;;;;4558:13;:22;;;4530:13;:25;;;:50;4522:95;;;;-1:-1:-1;;;4522:95:216;;11631:2:233;4522:95:216;;;11613:21:233;;;11650:18;;;11643:30;11709:34;11689:18;;;11682:62;11761:18;;4522:95:216;11429:356:233;4522:95:216;4698:12;:10;:12::i;:::-;-1:-1:-1;;;;;4648:62:216;4655:8;:6;:8::i;:::-;-1:-1:-1;;;;;4648:36:216;;4685:8;4648:46;;;;;;;;;;;;;4251:25:233;;4239:2;4224:18;;4105:177;4648:46:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;4648:62:216;;:102;;;;;4714:36;4728:8;4738:11;4714:13;:36::i;:::-;4627:177;;;;-1:-1:-1;;;4627:177:216;;12248:2:233;4627:177:216;;;12230:21:233;12287:2;12267:18;;;12260:30;12326;12306:18;;;12299:58;12374:18;;4627:177:216;12046:352:233;4627:177:216;4814:35;4828:11;4841:7;4814:13;:35::i;:::-;4322:534;4226:630;;;:::o;1487:1539::-;1625:19;1668:38;1682:12;:10;:12::i;:::-;1696:9;1668:13;:38::i;:::-;1660:80;;;;-1:-1:-1;;;1660:80:216;;12605:2:233;1660:80:216;;;12587:21:233;12644:2;12624:18;;;12617:30;12683:31;12663:18;;;12656:59;12732:18;;1660:80:216;12403:353:233;1660:80:216;1751:8;1761;1773:26;1786:9;1796:1;1786:12;;;;;;;;:::i;:::-;;;;;;;1773;:26::i;:::-;1750:49;;;;1822:13;1814:22;;;;;;;;:::i;:::-;1840:1;1814:27;1810:686;;1865:38;1876:9;1887;1898:1;1901;1865:10;:38::i;:::-;1857:77;;;;-1:-1:-1;;;1857:77:216;;12963:2:233;1857:77:216;;;12945:21:233;13002:2;12982:18;;;12975:30;13041:28;13021:18;;;13014:56;13087:18;;1857:77:216;12761:350:233;1857:77:216;2021:58;;1968:15;;2021:58;;2032:13;;2047:9;;2058;;1968:15;;2021:58;;;:::i;:::-;;;;;;;;;;;;;2011:69;;;;;;1997:83;;2094:37;2134:292;;;;;;;;2187:13;2134:292;;;;;;;;:::i;:::-;;;;;2225:9;2134:292;;;;2257:1;2134:292;;;;2289:1;2134:292;;;;403:2:0;2134:292:216;;;;2364:9;2134:292;;;;2402:9;2134:292;;;2094:332;;2441:44;2461:11;2474:10;2441:19;:44::i;:::-;1843:653;;1810:686;2515:13;2509:20;;;;;;;;:::i;:::-;:25;2552:9;2547:232;2567:9;:16;2563:1;:20;2547:232;;;2664:1;2656:10;;2612:40;2639:9;2649:1;2639:12;;;;;;;;:::i;:::-;;;;;;;2612:26;:40::i;:::-;:54;2604:97;;;;-1:-1:-1;;;2604:97:216;;14480:2:233;2604:97:216;;;14462:21:233;14519:2;14499:18;;;14492:30;14558:32;14538:18;;;14531:60;14608:18;;2604:97:216;14278:354:233;2604:97:216;2715:53;2742:9;2752:1;2742:12;;;;;;;;:::i;:::-;;;;;;;2756:11;2715:26;:53::i;:::-;2585:3;;2547:232;;;;2793:9;2788:232;2808:9;:16;2804:1;:20;2788:232;;;2905:1;2897:10;;2853:40;2880:9;2890:1;2880:12;;;;;;;;:::i;2853:40::-;:54;2845:97;;;;-1:-1:-1;;;2845:97:216;;14480:2:233;2845:97:216;;;14462:21:233;14519:2;14499:18;;;14492:30;14558:32;14538:18;;;14531:60;14608:18;;2845:97:216;14278:354:233;2845:97:216;2956:53;2983:9;2993:1;2983:12;;;;;;;;:::i;2956:53::-;2826:3;;2788:232;;;;1650:1376;;1487:1539;;;;;:::o;5653:391::-;5745:19;5781:9;5776:262;5796:12;:19;5792:1;:23;5776:262;;;5854:8;:6;:8::i;:::-;-1:-1:-1;;;;;5847:36:216;;5884:12;5897:1;5884:15;;;;;;;;:::i;:::-;;;;;;;5847:53;;;;;;;;;;;;;4251:25:233;;4239:2;4224:18;;4105:177;5847:53:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5836:64:216;:7;-1:-1:-1;;;;;5836:64:216;;5832:147;;5937:4;5920:21;;5959:5;;5832:147;6010:3;;;;:::i;:::-;;;;5776:262;;;;5653:391;;;;:::o;4862:785::-;4945:19;4976:40;5019:32;5039:11;5019:19;:32::i;:::-;4976:75;;5066:9;5061:247;5081:13;:23;;;:30;5077:1;:34;5061:247;;;5144:13;:23;;;5168:1;5144:26;;;;;;;;:::i;:::-;;;;;;;5132:8;:38;5128:121;;5207:4;5190:21;;5229:5;;5128:121;5280:3;;;;:::i;:::-;;;;5061:247;;;;5322:14;5317:324;;5357:9;5352:279;5372:13;:23;;;:30;5368:1;:34;5352:279;;;5439:13;:23;;;5463:1;5439:26;;;;;;;;:::i;:::-;;;;;;;5427:8;:38;5423:133;;5506:4;5489:21;;5532:5;;5423:133;5595:3;;;;:::i;:::-;;;;5352:279;;;;4966:681;4862:785;;;;:::o;1942:98:123:-;1981:7;2003:32;:30;:32::i;6050:2386:216:-;6229:43;6252:4;6259:12;:10;:12::i;:::-;6229:14;:43::i;:::-;6312:40;6355:32;6375:11;6355:19;:32::i;:::-;6312:75;;6403:9;6398:1274;6418:7;:14;6414:1;:18;6398:1274;;;6453:27;6483:7;6491:1;6483:10;;;;;;;;:::i;:::-;;;;;;;;;;;;6553:578;;;;;;;;6599:22;;;;6553:578;;6649:22;;;;;6553:578;;;;6701:30;;6553:578;;;;;;;6761:30;;;;6553:578;;;;6508:42;6553:578;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7060:12;6553:578;;;;7101:15;6553:578;;;;6483:10;-1:-1:-1;7196:47:216;6553:578;7230:12;7196:14;:47::i;:::-;7176:67;;7261:17;:30;;;7257:124;;;7311:55;7331:17;:28;;;7361:4;7311:19;:55::i;:::-;7398:17;:30;;;7394:124;;;7448:55;7468:17;:28;;;7498:4;7448:19;:55::i;:::-;7582:79;7600:11;7613:13;:25;;;7640:1;7643:17;7582;:79::i;:::-;-1:-1:-1;;6434:3:216;;6398:1274;;;;7682:27;7719;7761:9;7756:156;7776:13;:23;;;:30;7772:1;:34;7756:156;;;7831:47;7851:13;:23;;;7875:1;7851:26;;;;;;;;:::i;:::-;;;;;;;7831:19;:47::i;:::-;7827:74;;;7880:21;;;;:::i;:::-;;;;7827:74;7808:3;;7756:156;;;;7926:9;7921:156;7941:13;:23;;;:30;7937:1;:34;7921:156;;;7996:47;8016:13;:23;;;8040:1;8016:26;;;;;;;;:::i;7996:47::-;7992:74;;;8045:21;;;;:::i;:::-;;;;7992:74;7973:3;;7921:156;;;;8126:13;:23;;;:30;8103:19;:53;:126;;;;8199:13;:23;;;:30;8176:19;:53;8103:126;:197;;;;8278:13;:22;;;8249:13;:25;;;:51;8103:197;8086:344;;;8325:36;8335:11;8348:12;8325:9;:36::i;:::-;;;8086:344;;;8392:25;;;:27;;;;;;:::i;:::-;;;-1:-1:-1;8086:344:216;6148:2288;;;6050:2386;;;:::o;2992:383:123:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;19860:418:180:-;19917:33;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19917:33:180;19987:16;;;20001:1;19987:16;;;;;;;;;19958:26;;19987:16;;;;;;;;;;;-1:-1:-1;19987:16:180;19958:45;;20024:11;20009:9;20019:1;20009:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;20043:24;;;20130:80;1334:66;20175:9;1463:66;20130:21;:80::i;:::-;20042:168;;;;;;20223:50;20230:11;20243:15;20260:12;20223:6;:50::i;:::-;20216:57;19860:418;-1:-1:-1;;;;;;19860:418:180:o;8442:241:216:-;8530:146;8596:11;8609:21;8643:11;8656:7;8632:32;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;8632:32:216;;;;;;;;;;8561:105;;;;;;;:::i;:::-;;;;-1:-1:-1;;8561:105:216;;;;;;;;;;;;;;;;;;;;8530:17;:146::i;:::-;;8442:241;;:::o;4891:393:192:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:192;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;22274:598:180:-;22358:24;22385:133;22405:6;:20;;;22433:6;:12;;;22453:6;:10;;;22471:6;:18;;;22497:6;:15;;;22385:12;:133::i;:::-;22358:160;;22525:30;22558:49;22572:6;:16;;;22590:6;:16;;;22558:13;:49::i;:::-;22525:82;;22613:25;22641:49;22655:6;:16;;;22673:6;:16;;;22641:13;:49::i;:::-;22726:16;;;22740:1;22726:16;;;;;;;;;22613:77;;-1:-1:-1;22697:26:180;;22726:16;;;;;;;;;;;;-1:-1:-1;22726:16:180;22697:45;;22763:11;22748:9;22758:1;22748:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;22781:86;1334:66;22813:9;22824:11;22837:15;22854:12;22781:21;:86::i;2779:297:187:-;2905:16;;;2919:1;2905:16;;;;;;;;;2849:19;;;;2905:16;;;;;;;;;;;;-1:-1:-1;2905:16:187;2876:45;;2942:13;2927:9;2937:1;2927:12;;;;;;;;:::i;:::-;;;;;;;;;;:28;2962:13;2978:64;1157:66;3015:9;2962:13;1286:66;2978:26;:64::i;3464:271::-;3576:16;;;3590:1;3576:16;;;;;;;;;3547:26;;3576:16;;;;;;;;;;;-1:-1:-1;3576:16:187;3547:45;;3613:13;3598:9;3608:1;3598:12;;;;;;;;:::i;:::-;;;;;;:28;;;;;3633:97;1157:66;1141:83;;3670:9;3681:1;3702:11;3684:31;;;;;;17299:19:233;;17343:2;17334:12;;17170:182;3684:31:187;;;;-1:-1:-1;;3684:31:187;;;;;;;;;1286:66;3633:26;:97::i;4048::123:-;4089:7;4111:29;:27;:29::i;2631:154:224:-;2707:75;2738:35;2757:15;2738:18;:35::i;:::-;2775:6;2707:30;:75::i;:::-;2631:154;;:::o;8689:1499:216:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8880:29:216;8912:39;8924:17;:26;;;8912:11;:39::i;:::-;8880:71;;8969:10;:22;;;:29;9002:1;8969:34;8961:68;;;;-1:-1:-1;;;8961:68:216;;17559:2:233;8961:68:216;;;17541:21:233;17598:2;17578:18;;;17571:30;17637:23;17617:18;;;17610:51;17678:18;;8961:68:216;17357:345:233;8961:68:216;9096:21;;9090:28;;;;;;;;:::i;:::-;:33;;9122:1;9090:33;9086:1061;;9171:38;9223:10;:22;;;9212:57;;;;;;;;;;;;:::i;:::-;9171:98;;9415:233;9457:11;9486:17;:28;;;9532:17;:28;;;9578:17;:26;;;9622:12;9415:24;:233::i;:::-;9315:333;;9377:22;;;9315:333;;;;9354:21;;;9315:333;9316:36;;;9315:333;;;;9698:372;;9743:16;531:7:0;9840:17:216;:36;;;:62;;;;:::i;:::-;9762:48;9781:17;:28;;;9762:18;:48::i;:::-;:141;;;;:::i;:::-;9743:160;;9938:1;9925:9;:14;9921:57;;9974:4;9941:30;;;:37;9921:57;9996:59;10015:17;:28;;;10045:9;9996:18;:59::i;:::-;9725:345;9698:372;9125:955;9086:1061;;;10100:36;;-1:-1:-1;;;10100:36:216;;20304:2:233;10100:36:216;;;20286:21:233;20343:2;20323:18;;;20316:30;20382:28;20362:18;;;20355:56;20428:18;;10100:36:216;20102:350:233;9086:1061:216;-1:-1:-1;10164:17:216;;8689:1499;-1:-1:-1;;8689:1499:216:o;6105:247:187:-;6200:16;;;6214:1;6200:16;;;;;;;;;6171:26;;6200:16;;;;;;;;;;;-1:-1:-1;6200:16:187;6171:45;;6237:13;6222:9;6232:1;6222:12;;;;;;;;:::i;:::-;;;;;;:28;;;;;6257:90;1157:66;1141:83;;6294:9;6305:1;6326:4;6308:24;;;;;;20714:14:233;20707:22;20702:3;20698:32;20686:45;;20756:1;20747:11;;20563:201;17615:863:175;17760:24;17787:340;17807:6;:15;;;17830:6;:15;;;17853:6;:17;;;17878:6;:17;;;17903:6;:10;;;17921:6;:11;;;17940:6;:11;;;17959:6;:25;;;17992:6;:25;;;18025:6;:19;;;18052:6;:19;;;18079:6;:18;;;18105:6;:16;;;17787:12;:340::i;:::-;18231:16;;;18245:1;18231:16;;;;;;;;;17760:367;;-1:-1:-1;18134:30:175;;18170:25;;18134:30;;18231:16;;;;18170:25;;18231:16;;;;;-1:-1:-1;18231:16:175;18202:45;;18268:11;18253:9;18263:1;18253:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;18316:11;18300:29;;18285:9;18295:1;18285:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;18366:12;18350:30;;18335:9;18345:1;18335:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;18387:86;1380:66;18419:9;18430:11;18443:15;18460:12;18387:21;:86::i;:::-;17754:724;;;;17615:863;;;;:::o;5438:295:187:-;5547:16;;;5561:1;5547:16;;;;;;;;;5501:9;;;;5547:16;;;;;;;;;;;;-1:-1:-1;5547:16:187;5518:45;;5584:13;5569:9;5579:1;5569:12;;;;;;;;:::i;:::-;;;;;;;;;;:28;5604:13;5620:64;1157:66;5657:9;5668:1;1286:66;5620:26;:64::i;:::-;5604:80;;5698:29;5719:5;5706:20;;12543:5;12457:97;13570:2789:216;13666:17;13685:18;13719:40;13762:32;13782:11;13762:19;:32::i;:::-;13719:75;;13809:13;13826:5;13809:22;13805:151;;13867:12;13847:17;;;:32;13805:151;;;13930:15;13910:17;;;:35;13805:151;14012:32;14054:23;14088:26;;:::i;:::-;14130:9;14125:280;14145:13;:23;;;:30;14141:1;:34;14125:280;;;14208:37;14218:13;:23;;;14242:1;14218:26;;;;;;;;:::i;:::-;;;;;;;14208:9;:37::i;:::-;14196:49;;14287:9;:15;;;14259:43;;;;;:::i;:::-;;;14342:1;14320:9;:19;;;:23;14316:79;;;14363:17;;;;:::i;:::-;;;;14316:79;14177:3;;14125:280;;;;14603:20;14638:9;14633:579;14653:13;:23;;;:30;14649:1;:34;14633:579;;;14719:13;:23;;;14743:1;14719:26;;;;;;;;:::i;:::-;;;;;;;14704:41;;14763:33;14783:12;14763:19;:33::i;:::-;14759:443;;;14829:33;14849:12;14829:19;:33::i;:::-;14816:46;;;;:::i;:::-;;;14894:49;14913:9;:15;;;14930:12;14894:18;:49::i;:::-;14880:63;;;;:::i;:::-;;-1:-1:-1;14961:52:216;14988:12;15010:1;14961:26;:52::i;:::-;15031:156;15071:12;15085;15099:13;:23;;;15138:13;:23;;;:30;15123:12;:45;;;;:::i;:::-;15099:70;;;;;;;;:::i;:::-;;;;;;;15031:18;:156::i;:::-;14685:3;;14633:579;;;;15457:20;15492:9;15487:809;15507:13;:23;;;:30;15503:1;:34;15487:809;;;15573:13;:23;;;15597:1;15573:26;;;;;;;;:::i;:::-;;;;;;;15558:41;;15624:8;:6;:8::i;:::-;-1:-1:-1;;;;;15617:39:216;;15657:12;15617:53;;;;;;;;;;;;;4251:25:233;;4239:2;4224:18;;4105:177;15617:53:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15613:607;;;15702:23;15712:12;15702:9;:23::i;:::-;15690:35;;15776:1;15747:9;:19;;;:31;15743:411;;;15806:23;;15802:153;;15864:8;:6;:8::i;:::-;-1:-1:-1;;;;;15857:29:216;;15887:12;15902:28;15915:15;15902:10;:28;:::i;:::-;15857:75;;;;;;;;;;;;;21315:25:233;;;;21356:18;;;21349:34;21288:18;;15857:75:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15802:153;16000:1;15980:9;:22;:54;;;;;16032:1;16006:15;:28;15980:54;15976:160;;;16086:27;16098:15;16086:9;:27;:::i;:::-;16062:9;:20;;:51;;;;;;;:::i;:::-;;;-1:-1:-1;15976:160:216;16171:34;16181:12;16195:9;16171;:34::i;:::-;16233:52;16260:12;16282:1;16233:26;:52::i;:::-;15539:3;;15487:809;;;;16305:47;16325:11;16338:13;16305:19;:47::i;:::-;13709:2650;;;;;;13570:2789;;;;;:::o;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;25028:389:180:-;25168:33;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25168:33:180;25297:25;25310:11;25297:12;:25::i;:::-;25278:15;;;25209:113;;;25258:18;;;25209:113;;;25246:10;;;25209:113;;;25232:12;;;25209:113;;;25210:6;25209:113;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;25368:44;25382:15;25399:12;25368:13;:44::i;:::-;25348:16;;;25329:83;25330:16;;;25329:83;25330:6;25028:389;-1:-1:-1;;;25028:389:180:o;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;23677:98:233;23650:18;;3713:52:107;23533:248:233;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;7036:160:192:-;2756:4:23;2742:27;;2736:34;2742:27;;;2736:34;7131:8:192;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:192;-1:-1:-1;;;;7036:160:192:o;26096:263:180:-;26261:12;26305:13;26320:5;26327:3;26332:11;26345:8;26288:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;26281:73;;26096:263;;;;;;;:::o;26550:354::-;26664:30;26825:68;26848:9;:16;26867:2;26848:21;26871:9;:16;26890:2;26871:21;2776:23:24;2761:39;;;975:16;2694:39;;;2662:5;;;2675:59;2742;2518:351;;;;;26825:68:180;26807:86;26550:354;-1:-1:-1;;;26550:354:180:o;27069:216::-;27171:12;27215:31;27235:9;27215:18;:31::i;:::-;27248;27268:9;27248:18;:31::i;:::-;27198:82;;;;;;;;;:::i;:::-;;;;;;;;;;;;;27191:89;;27069:216;;;;:::o;6458:480:46:-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6639:299;6458:480;;;;;:::o;17775:457::-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;1836:227::-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;3430:314:138:-;3538:16;;;3552:1;3538:16;;;;;;;;;3482:19;;;;3538:16;;;;;;;;;;;;-1:-1:-1;3538:16:138;3509:45;;3599:6;-1:-1:-1;;;;;3583:24:138;3575:33;;3560:9;3570:1;3560:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;3615:13;3631:64;1169:66;3668:9;3615:13;1298:66;3631:26;:64::i;1698:281:106:-;1860:29;1870:10;1882:6;1860:9;:29::i;:::-;1855:120;;1938:21;:10;:19;:21::i;:::-;1961:6;1906:62;;;;;;;;;;;;:::i;9017:404:176:-;-1:-1:-1;;;;;;;;;;;;;;;;;9133:16:176;;;9147:1;9133:16;;;;;;;;;9104:26;;9133:16;;;;;;;;;;;-1:-1:-1;9133:16:176;9104:45;;9170:8;9155:9;9165:1;9155:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;9186:24;;;9273:80;1201:66;9318:9;1330:66;9273:21;:80::i;:::-;9185:168;;;;;;9366:50;9373:11;9386:15;9403:12;9366:6;:50::i;10194:2213:216:-;10417:13;10432:8;10442:9;10487:35;10532:8;:6;:8::i;:::-;-1:-1:-1;;;;;10525:42:216;;10568:10;10525:54;;;;;;;;;;;;;4251:25:233;;4239:2;4224:18;;4105:177;10525:54:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10487:92;;10612:35;10657:8;:6;:8::i;:::-;-1:-1:-1;;;;;10650:42:216;;10693:10;10650:54;;;;;;;;;;;;;4251:25:233;;4239:2;4224:18;;4105:177;10650:54:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10612:92;;10742:25;10777:8;:6;:8::i;:::-;-1:-1:-1;;;;;10770:35:216;;10806:8;10770:45;;;;;;;;;;;;;4251:25:233;;4239:2;4224:18;;4105:177;10770:45:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10770:45:216;;;;;;;;;;;;:::i;:::-;10742:73;;10851:1;10830:8;:18;;;:22;10826:1575;;;10895:34;;;;;;;;4251:25:233;;;10868:24:216;;10895:9;;:20;;4224:18:233;;10895:34:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10895:34:216;;;;;;;;;;;;:::i;:::-;10868:61;;10957:139;11015:8;11024:1;11015:11;;;;;;;;:::i;:::-;;;;;;;11007:20;;11037:8;11046:1;11037:11;;;;;;;;:::i;:::-;;;;;;;11029:20;;11051:11;11064:8;11074;10957:32;:139::i;:::-;10943:153;;-1:-1:-1;10943:153:216;-1:-1:-1;11111:1188:216;;;;487:7:0;11766:1:216;11735:11;:28;;;11709:8;:22;;;11702:61;;;;:::i;:::-;:65;:215;;11915:1;11702:215;;;11843:11;:28;;;11817:8;:22;;;11810:61;;;;:::i;:::-;11672:290;;;;:::i;:::-;11521:25;;531:7:0;;11521:29:216;;11549:1;;11521:29;:::i;:::-;11332:6;:16;;;11312:6;:16;;;11297:8;11306:1;11297:11;;;;;;;;:::i;:::-;;;;;;;11289:20;;:39;;;;:::i;:::-;:59;;:192;;11465:6;:16;;;11450:8;11459:1;11450:11;;;;;;;;:::i;:::-;;;;;;;11442:20;;:39;;;;:::i;:::-;11289:192;;;11387:6;:16;;;11289:192;11195:23;;:316;;;;:::i;:::-;:356;;;;:::i;:::-;11169:430;;;;:::i;:::-;11147:837;;;;:::i;:::-;11138:846;;12006:4;12002:166;;;12034:21;;;;;;;;;;;;;;;;;;:12;:21::i;:::-;12086:30;573:1:0;12086:6:216;:30;:::i;:::-;12077:39;;12145:4;12138:11;;12002:166;11111:1188;;;12206:21;;;;;;;;;;;;;;;;;;:12;:21::i;:::-;12254:1;12245:10;;12279:5;12273:11;;11111:1188;10854:1455;10826:1575;;;12338:1;12329:10;;12359:5;12353:11;;12385:5;12378:12;;10826:1575;10453:1954;;;10194:2213;;;;;;;;;:::o;9380:299:196:-;9496:16;;;9510:1;9496:16;;;;;;;;;9443;;;;9496;;;;;;;;;;;;-1:-1:-1;9496:16:196;9467:45;;9533:8;9518:9;9528:1;9518:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;9548:13;9564:64;1303:66;9601:9;9612:1;1432:66;9564:26;:64::i;10065:254::-;10167:16;;;10181:1;10167:16;;;;;;;;;10138:26;;10167:16;;;;;;;;;;;-1:-1:-1;10167:16:196;10138:45;;10204:8;10189:9;10199:1;10189:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;10219:95;1303:66;1287:83;;10256:9;10267:1;10288:9;10270:29;;;;;;17299:19:233;;17343:2;17334:12;;17170:182;10270:29:196;;;;-1:-1:-1;;10270:29:196;;;;;;;;;1432:66;10219:26;:95::i;22361:660:175:-;22702:12;22761:8;22779;22797:10;22817;22837:3;22850:4;22864;22878:18;22906;22934:12;22956;22978:11;22999:9;22735:281;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;22722:294;;22361:660;;;;;;;;;;;;;;;:::o;13158:402:196:-;13212:23;;:::i;:::-;13272:16;;;13286:1;13272:16;;;;;;;;;13243:26;;13272:16;;;;;;;;;;;-1:-1:-1;13272:16:196;13243:45;;13309:8;13294:9;13304:1;13294:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;13325:24;;;13412:80;1303:66;13457:9;1432:66;13412:21;:80::i;:::-;13324:168;;;;;;13505:50;13512:11;13525:15;13542:12;13505:6;:50::i;10661:294::-;10780:16;;;10794:1;10780:16;;;;;;;;;10725:18;;;;10780:16;;;;;;;;;;;;-1:-1:-1;10780:16:196;10751:45;;10817:8;10802:9;10812:1;10802:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;10832:13;10848:64;1303:66;10885:9;10896:1;1432:66;10848:26;:64::i;16365:354:216:-;16456:18;16686:25;16703:8;633:4:0;16686:25:216;:::i;:::-;16670:42;;:12;:42;:::i;16725:582::-;16833:13;16856:8;:6;:8::i;:::-;-1:-1:-1;;;;;16849:29:216;;16879:8;16849:39;;;;;;;;;;;;;4251:25:233;;4239:2;4224:18;;4105:177;16849:39:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16833:55;;16898:32;16944:23;16961:5;16944:16;:23::i;:::-;16933:51;;;;;;;;;;;;:::i;:::-;16898:86;;16999:9;16994:307;17014:12;:22;;;:29;17010:1;:33;16994:307;;;17064:18;17085:46;17105:12;:22;;;17128:1;17105:25;;;;;;;;:::i;:::-;;;;;;;17085:19;:46::i;:::-;17064:67;-1:-1:-1;17064:67:216;17149:22;17164:7;17149:12;:22;:::i;:::-;:35;17145:146;;;17211:8;:6;:8::i;:::-;-1:-1:-1;;;;;17204:29:216;;17234:11;17247:12;:22;;;17270:1;17247:25;;;;;;;;:::i;:::-;;;;;;;;;;;17204:72;;;;;;;;;;;;;34698:25:233;;;;34739:18;;;34732:34;17274:1:216;34782:18:233;;;34775:34;34671:18;;17204:72:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17145:146;-1:-1:-1;17045:3:216;;16994:307;;15526:545:196;15597:24;15624:200;15644:6;:15;;;15667:6;:14;;;15689:6;:12;;;15709:6;:19;;;15736:6;:13;;;15757:6;:16;;;15781:6;:17;;;15806:6;:12;;;15624;:200::i;:::-;15928:16;;;15942:1;15928:16;;;;;;;;;15597:227;;-1:-1:-1;15831:30:196;;15867:25;;15831:30;;15928:16;;;;;;;;;;;;-1:-1:-1;15928:16:196;15899:45;;15965:8;15950:9;15960:1;15950:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;15980:86;1303:66;16012:9;16023:11;16036:15;16053:12;15980:21;:86::i;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;23661:475:180:-;23746:27;23775:13;23790:11;23803:19;23824:16;23886:25;23902:5;23909:1;2742:27:23;2756:4;2742:27;2736:34;;2612:168;23886:25:180;23880:32;;23866:47;;;;;;;;:::i;:::-;2742:27:23;;;2736:34;2742:27;;;2736:34;2742:27;;;2736:34;2742:27;;;;2736:34;23850:63:180;;2736:34:23;;;;-1:-1:-1;2736:34:23;-1:-1:-1;2736:34:23;;-1:-1:-1;23661:475:180;-1:-1:-1;;23661:475:180:o;24239:522::-;24349:26;;24411:14;975:16:24;7017:70;;;6995:94;;24525:63:180;:41;24546:5;24411:14;6995:94:24;24525:20:180;:41::i;:::-;:61;:63::i;:::-;24512:77;-1:-1:-1;24605:4:180;-1:-1:-1;24605:4:180;6995:94:24;7059:27;7017:70;;;6995:94;24633:34:180;24692:63;:41;24713:5;24720:6;24633:34;24692:20;:41::i;:63::-;24679:77;;24405:356;;24239:522;;;;;:::o;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;44950:222:57:-;45014:12;45104:6;45128:39;45104:6;45161:2;45165:1;45128:17;:39::i;12066:286:45:-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;:::-;12066:286;;;;;:::o;36171:541::-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;:::-;36452:255;36171:541;-1:-1:-1;;;;;36171:541:45:o;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;1109:325:106:-;1190:4;1332:55;696:18:144;578:36:124;2955:46;;2954:74;1380:6:106;1332:18;:55::i;:::-;:97;;;;1391:38;1410:10;1422:6;1391:18;:38::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;12940:299:176:-;-1:-1:-1;;;;;;;;;;;;;;;;;13135:25:176;13148:11;13135:12;:25::i;:::-;13114:6;;13113:47;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;13190:44:176;13204:15;13221:12;13190:13;:44::i;:::-;13168:18;;;13167:67;13168:6;12940:299;-1:-1:-1;;;12940:299:176:o;12582:934:216:-;12848:16;;;442:7:0;13127:17:216;13140:4;13127:10;:17;:::i;:::-;13056:67;13065:8;:24;;;13091:11;:31;;;13056:8;:67::i;:::-;:89;;;;:::i;:::-;13042:133;;;;:::i;:::-;13020:155;;13279:20;487:7:0;13326:8:216;:24;;;13318:4;13304:11;:18;;;;:::i;:::-;13303:47;;;;:::i;:::-;13302:68;;;;:::i;:::-;13279:91;;13408:12;13394:11;:26;13380:40;;13434:11;13430:80;;;13498:1;13468:26;13482:12;13468:11;:26;:::i;:::-;:31;;13461:38;;13430:80;12877:639;;12582:934;;;;;;;;:::o;6598:121:166:-;6653:59;6708:2;6669:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6669:42:166;;;;;;;;;;;;;;;;;;;;6653:15;:59::i;:::-;6598:121;:::o;17711:363:196:-;17822:23;;:::i;:::-;18044:25;18057:11;18044:12;:25::i;:::-;18023:12;;;17853:216;;;17998:17;;;17853:216;;;17974:16;;;17853:216;;;17953:13;;;17853:216;;;17926:19;;;17853:216;;;17861:6;17884:14;;;17906:12;;;17853:216;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;17853:216:196;;;;-1:-1:-1;17711:363:196;;;-1:-1:-1;;;;;17711:363:196:o;4118:288:188:-;4235:16;;;4249:1;4235:16;;;;;;;;;4177:21;;4206:26;;4235:16;;;;;;;;;;;;-1:-1:-1;4235:16:188;4206:45;;4288:5;4272:23;;4257:9;4267:1;4257:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;4302:18;4323:51;1202:66;4361:9;4302:18;4323:27;:51::i;4150:308:184:-;4267:16;;;4281:1;4267:16;;;;;;;;;4212:18;;;;4267:16;;;;;;;;;;;;-1:-1:-1;4267:16:184;4238:45;;4320:6;4304:24;;4289:9;4299:1;4289:12;;;;;;;;:::i;:::-;;;;;;;;;;:39;4335:13;4351:64;1205:66;4388:9;4399:1;1334:66;4351:26;:64::i;18741:348:196:-;18963:12;19007:8;19017:7;19026:5;19033:12;19047:6;19055:9;19066:10;19078:5;18990:94;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;18983:101;;18741:348;;;;;;;;;;:::o;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;45284:220:56:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;830:1343:58;1002:12;;955:17;;980:19;1043:26;1058:11;1002:12;1043:26;:::i;:::-;1020:49;;1441:4;1435:11;;-1:-1:-1;1484:4:58;1474:15;;-1:-1:-1;;1358:16:58;1531:32;;;1358:16;1354:32;1503:4;1496:69;1607:12;1601:4;1594:26;1651:1;1721:4;1714:5;1710:16;1628:535;1741:11;1738:1;1735:18;1628:535;;;2134:19;;2113:41;;2091:64;;2007:31;;;;1828:1;1821:9;;;;;1920:4;1902:23;1628:535;;;1632:102;;;1222:947;;830:1343;;;;;:::o;4015:652:45:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;50806:191;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;;-1:-1:-1;52054:6:45;51823:242;-1:-1:-1;;;51823:242:45:o;8945:812:44:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;17013:1682:45:-;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;;;17128:1567;;17013:1682;;;;:::o;3586:379:136:-;3709:16;;;3723:1;3709:16;;;;;;;;3661:11;;;;3709:16;3723:1;3709:16;;;;;;;;;;-1:-1:-1;3709:16:136;3680:45;;3764:10;3731:9;3741:1;3731:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;3820:6;-1:-1:-1;;;;;3804:24:136;3796:33;;3781:9;3791:1;3781:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;3836:13;3852:64;1169:66;3889:9;3836:13;1298:66;3852:26;:64::i;:::-;3836:80;;3930:29;3951:5;3938:20;;12543:5:187;12457:97;3165:160:124;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;41980:66:233;41968:79;;2092:30:124;;;41956:92:233;2092:30:124;;42064:12:233;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;12092:156:176;2756:4:23;2742:27;;2736:34;12157:21:176;;12210:32;;12199:44;;;;;;;;:::i;12351:322::-;12461:24;12493:14;975:16:24;7017:70;;;6995:94;;12615:51:176;:41;12636:5;12493:14;6995:94:24;12615:20:176;:41::i;:::-;:49;:51::i;1035:205:212:-;1094:12;1128:1;1122:2;:7;1118:116;;1152:16;1165:2;1152;:16;:::i;:::-;1145:23;;;;1118:116;1219:3;1220:2;1219:3;:::i;:::-;1206:17;;:2;:17;:::i;868:133:166:-;939:55;986:7;965:19;939:55::i;16807:746:196:-;16899:16;16923:15;16946:13;16967:20;16995:14;17017:16;17041:18;17067:13;17115:26;17132:5;17139:1;2742:27:23;2756:4;2742:27;2736:34;;2612:168;17115:26:196;2742:27:23;;;2736:34;2742:27;;;2736:34;17107:35:196;;-1:-1:-1;2736:34:23;-1:-1:-1;17221:33:196;;17213:42;;;;;;;;:::i;:::-;2742:27:23;;;2736:34;2742:27;;;2736:34;2742:27;;;2736:34;2742:27;;;2736:34;2742:27;;;;2736:34;16807:746:196;;;;17205:50;;2736:34:23;;;;-1:-1:-1;2736:34:23;-1:-1:-1;2736:34:23;;-1:-1:-1;2736:34:23;-1:-1:-1;16807:746:196;-1:-1:-1;;16807:746:196:o;18598:431:46:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:46;-1:-1:-1;;;;;18805:30:46;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:46;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:46;;;;;;;;;;;;:::i;5042:669:44:-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;1358:16:58;5546:26:44;;;1358:16:58;1354:32;5518:4:44;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;53371:230:45:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;2681:1129:58:-;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;7963:242:133;2756:4:23;2742:27;;2736:34;2742:27;;;2736:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;17299:19:233;;17343:2;17334:12;;17170:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;1286:66;5230:24;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;51249:282:45;51494:30;;;;;;43419:19:233;;;43454:12;;;43447:28;;;51337:7:45;;43491:12:233;;51494:30:45;43230:279:233;3658:342:50;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;3545:418:43:-;3597:17;3622:19;3644:13;3652:4;2997:3;2975:25;;2901:104;3644:13;3622:35;-1:-1:-1;692:17:43;3238:38;;;3767:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3767:18:43;-1:-1:-1;3760:25:43;-1:-1:-1;3854:4:43;3844:15;;3914:44;3926:11;3844:15;3950:7;3914:11;:44::i;:::-;3616:347;;;3545:418;;;:::o;1007:380:166:-;1105:14;;591:42;1278:2;1265:16;;1081:21;;1105:14;1265:16;591:42;1314:5;1303:68;1294:77;;1231:150;;1007:380;:::o;37180:522:45:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;955:327:108:-;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;40103:220:56:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;1229:823:40:-;1346:324;1363:2;1353:6;:12;1346:324;;1453:18;;1435:37;;1604:2;1616:17;;;;1591:15;;;;-1:-1:-1;;1643:12:40;1346:324;;;1679:6;1689:1;1679:11;1675:24;;1229:823;;;:::o;1675:24::-;1738:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;1738:32:40;;2019:4;2007:9;2001:16;1997:27;1942:4;1938:9;1924:11;1918:18;1914:34;1867:167;1848:9;1832:210;1824:224;1229:823;;;:::o;7448:223:139:-;2756:4:23;2742:27;;2736:34;2742:27;;;2736:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;12457:97:187;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:332:233:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:184;-1:-1:-1;;;823:1:233;816:88;923:4;920:1;913:15;947:4;944:1;937:15;963:253;1035:2;1029:9;1077:4;1065:17;;1112:18;1097:34;;1133:22;;;1094:62;1091:88;;;1159:18;;:::i;:::-;1195:2;1188:22;963:253;:::o;1221:::-;1293:2;1287:9;1335:4;1323:17;;1370:18;1355:34;;1391:22;;;1352:62;1349:88;;;1417:18;;:::i;1479:252::-;1551:2;1545:9;1593:3;1581:16;;1627:18;1612:34;;1648:22;;;1609:62;1606:88;;;1674:18;;:::i;1736:255::-;1808:2;1802:9;1850:6;1838:19;;1887:18;1872:34;;1908:22;;;1869:62;1866:88;;;1934:18;;:::i;1996:334::-;2067:2;2061:9;2123:2;2113:13;;-1:-1:-1;;2109:86:233;2097:99;;2226:18;2211:34;;2247:22;;;2208:62;2205:88;;;2273:18;;:::i;:::-;2309:2;2302:22;1996:334;;-1:-1:-1;1996:334:233:o;2335:183::-;2395:4;2428:18;2420:6;2417:30;2414:56;;;2450:18;;:::i;:::-;-1:-1:-1;2495:1:233;2491:14;2507:4;2487:25;;2335:183::o;2523:668::-;2577:5;2630:3;2623:4;2615:6;2611:17;2607:27;2597:55;;2648:1;2645;2638:12;2597:55;2684:6;2671:20;2710:4;2734:60;2750:43;2790:2;2750:43;:::i;:::-;2734:60;:::i;:::-;2816:3;2840:2;2835:3;2828:15;2868:4;2863:3;2859:14;2852:21;;2925:4;2919:2;2916:1;2912:10;2904:6;2900:23;2896:34;2882:48;;2953:3;2945:6;2942:15;2939:35;;;2970:1;2967;2960:12;2939:35;3006:4;2998:6;2994:17;3020:142;3036:6;3031:3;3028:15;3020:142;;;3102:17;;3090:30;;3140:12;;;;3053;;3020:142;;;-1:-1:-1;3180:5:233;2523:668;-1:-1:-1;;;;;;2523:668:233:o;3196:159::-;3263:20;;3323:6;3312:18;;3302:29;;3292:57;;3345:1;3342;3335:12;3360:740;3494:6;3502;3510;3518;3571:3;3559:9;3550:7;3546:23;3542:33;3539:53;;;3588:1;3585;3578:12;3539:53;3628:9;3615:23;3657:18;3698:2;3690:6;3687:14;3684:34;;;3714:1;3711;3704:12;3684:34;3737:61;3790:7;3781:6;3770:9;3766:22;3737:61;:::i;:::-;3727:71;;3851:2;3840:9;3836:18;3823:32;3807:48;;3880:2;3870:8;3867:16;3864:36;;;3896:1;3893;3886:12;3864:36;;3919:63;3974:7;3963:8;3952:9;3948:24;3919:63;:::i;:::-;3909:73;;;4001:37;4034:2;4023:9;4019:18;4001:37;:::i;:::-;3991:47;;4057:37;4090:2;4079:9;4075:18;4057:37;:::i;:::-;4047:47;;3360:740;;;;;;;:::o;4287:180::-;4346:6;4399:2;4387:9;4378:7;4374:23;4370:32;4367:52;;;4415:1;4412;4405:12;4367:52;-1:-1:-1;4438:23:233;;4287:180;-1:-1:-1;4287:180:233:o;4472:184::-;-1:-1:-1;;;4521:1:233;4514:88;4621:4;4618:1;4611:15;4645:4;4642:1;4635:15;4661:144;4746:1;4739:5;4736:12;4726:46;;4752:18;;:::i;:::-;4781;;4661:144::o;4810:439::-;4863:3;4901:5;4895:12;4928:6;4923:3;4916:19;4954:4;4983;4978:3;4974:14;4967:21;;5022:4;5015:5;5011:16;5045:1;5055:169;5069:6;5066:1;5063:13;5055:169;;;5130:13;;5118:26;;5164:12;;;;5199:15;;;;5091:1;5084:9;5055:169;;;-1:-1:-1;5240:3:233;;4810:439;-1:-1:-1;;;;;4810:439:233:o;5254:965::-;5461:2;5450:9;5443:21;5473:64;5533:2;5522:9;5518:18;5509:6;5503:13;5473:64;:::i;:::-;5591:2;5583:6;5579:15;5573:22;5568:2;5557:9;5553:18;5546:50;5650:2;5642:6;5638:15;5632:22;5627:2;5616:9;5612:18;5605:50;5710:2;5702:6;5698:15;5692:22;5686:3;5675:9;5671:19;5664:51;5770:3;5762:6;5758:16;5752:23;5746:3;5735:9;5731:19;5724:52;5424:4;5823:3;5815:6;5811:16;5805:23;5865:4;5859:3;5848:9;5844:19;5837:33;5893:63;5951:3;5940:9;5936:19;5922:12;5893:63;:::i;:::-;5879:77;;6005:3;5997:6;5993:16;5987:23;-1:-1:-1;;6064:9:233;6056:6;6052:22;6048:95;6041:4;6030:9;6026:20;6019:125;6161:52;6206:6;6190:14;6161:52;:::i;6224:1117::-;6284:5;6337:3;6330:4;6322:6;6318:17;6314:27;6304:55;;6355:1;6352;6345:12;6304:55;6391:6;6378:20;6417:4;6441:60;6457:43;6497:2;6457:43;:::i;6441:60::-;6535:15;;;6621:1;6617:10;;;;6605:23;;6601:32;;;6566:12;;;;6645:15;;;6642:35;;;6673:1;6670;6663:12;6642:35;6709:2;6701:6;6697:15;6721:591;6737:6;6732:3;6729:15;6721:591;;;6815:4;6809:3;6804;6800:13;6796:24;6793:114;;;6861:1;6890:2;6886;6879:14;6793:114;6933:22;;:::i;:::-;6982:17;;6968:32;;7049:12;;;7036:26;7020:14;;;7013:50;7086:2;7137:12;;;7124:26;7108:14;;;7101:50;7174:2;7225:12;;;7212:26;7196:14;;;7189:50;7252:18;;7290:12;;;;6763:4;6754:14;6721:591;;7346:516;7474:6;7482;7490;7543:2;7531:9;7522:7;7518:23;7514:32;7511:52;;;7559:1;7556;7549:12;7511:52;7595:9;7582:23;7572:33;;7652:2;7641:9;7637:18;7624:32;7614:42;;7707:2;7696:9;7692:18;7679:32;7734:18;7726:6;7723:30;7720:50;;;7766:1;7763;7756:12;7720:50;7789:67;7848:7;7839:6;7828:9;7824:22;7789:67;:::i;:::-;7779:77;;;7346:516;;;;;:::o;7867:759::-;8014:6;8022;8030;8083:2;8071:9;8062:7;8058:23;8054:32;8051:52;;;8099:1;8096;8089:12;8051:52;8138:9;8125:23;8177:1;8170:5;8167:12;8157:40;;8193:1;8190;8183:12;8157:40;8216:5;-1:-1:-1;8272:2:233;8257:18;;8244:32;8295:18;8325:14;;;8322:34;;;8352:1;8349;8342:12;8322:34;8375:61;8428:7;8419:6;8408:9;8404:22;8375:61;:::i;:::-;8365:71;;8489:2;8478:9;8474:18;8461:32;8445:48;;8518:2;8508:8;8505:16;8502:36;;;8534:1;8531;8524:12;8502:36;;8557:63;8612:7;8601:8;8590:9;8586:24;8557:63;:::i;8813:154::-;-1:-1:-1;;;;;8892:5:233;8888:54;8881:5;8878:65;8868:93;;8957:1;8954;8947:12;8972:483;9065:6;9073;9126:2;9114:9;9105:7;9101:23;9097:32;9094:52;;;9142:1;9139;9132:12;9094:52;9181:9;9168:23;9200:31;9225:5;9200:31;:::i;:::-;9250:5;-1:-1:-1;9306:2:233;9291:18;;9278:32;9333:18;9322:30;;9319:50;;;9365:1;9362;9355:12;9319:50;9388:61;9441:7;9432:6;9421:9;9417:22;9388:61;:::i;:::-;9378:71;;;8972:483;;;;;:::o;9460:248::-;9528:6;9536;9589:2;9577:9;9568:7;9564:23;9560:32;9557:52;;;9605:1;9602;9595:12;9557:52;-1:-1:-1;;9628:23:233;;;9698:2;9683:18;;;9670:32;;-1:-1:-1;9460:248:233:o;10234:184::-;-1:-1:-1;;;10283:1:233;10276:88;10383:4;10380:1;10373:15;10407:4;10404:1;10397:15;10423:277;10490:6;10543:2;10531:9;10522:7;10518:23;10514:32;10511:52;;;10559:1;10556;10549:12;10511:52;10591:9;10585:16;10644:5;10637:13;10630:21;10623:5;10620:32;10610:60;;10666:1;10663;10656:12;11790:251;11860:6;11913:2;11901:9;11892:7;11888:23;11884:32;11881:52;;;11929:1;11926;11919:12;11881:52;11961:9;11955:16;11980:31;12005:5;11980:31;:::i;13581:692::-;13894:48;13932:9;13924:6;13894:48;:::i;:::-;13978:3;13973:2;13962:9;13958:18;13951:31;13875:4;14005:78;14078:3;14067:9;14063:19;14055:6;14005:78;:::i;:::-;14131:9;14123:6;14119:22;14114:2;14103:9;14099:18;14092:50;14159:65;14217:6;14209;14159:65;:::i;:::-;14151:73;;;14260:6;14255:2;14244:9;14240:18;14233:34;13581:692;;;;;;;:::o;14637:184::-;-1:-1:-1;;;14686:1:233;14679:88;14786:4;14783:1;14776:15;14810:4;14807:1;14800:15;14826:195;14865:3;-1:-1:-1;;14889:5:233;14886:77;14883:103;;14966:18;;:::i;:::-;-1:-1:-1;15013:1:233;15002:13;;14826:195::o;15026:990::-;15248:4;15277:2;15317;15306:9;15302:18;15347:6;15336:9;15329:25;15373:2;15411;15406;15395:9;15391:18;15384:30;15434:6;15469;15463:13;15500:6;15492;15485:22;15526:2;15516:12;;15559:2;15548:9;15544:18;15537:25;;15597:2;15589:6;15585:15;15618:1;15628:362;15642:6;15639:1;15636:13;15628:362;;;15701:13;;15739:9;;15727:22;;15789:11;;;15783:18;15769:12;;;15762:40;15842:11;;;15836:18;15822:12;;;15815:40;15895:11;;15889:18;15875:12;;;15868:40;15937:4;15928:14;;;;15965:15;;;;15664:1;15657:9;15628:362;;;-1:-1:-1;16007:3:233;;15026:990;-1:-1:-1;;;;;;;;;15026:990:233:o;16021:119::-;16108:1;16101:5;16098:12;16088:46;;16114:18;;:::i;16145:250::-;16230:1;16240:113;16254:6;16251:1;16248:13;16240:113;;;16330:11;;;16324:18;16311:11;;;16304:39;16276:2;16269:10;16240:113;;;-1:-1:-1;;16387:1:233;16369:16;;16362:27;16145:250::o;16400:329::-;16441:3;16479:5;16473:12;16506:6;16501:3;16494:19;16522:76;16591:6;16584:4;16579:3;16575:14;16568:4;16561:5;16557:16;16522:76;:::i;:::-;16643:2;16631:15;-1:-1:-1;;16627:88:233;16618:98;;;;16718:4;16614:109;;16400:329;-1:-1:-1;;16400:329:233:o;16734:431::-;16956:6;16945:9;16938:25;16972:44;17009:6;16972:44;:::i;:::-;17052:6;17047:2;17036:9;17032:18;17025:34;17095:2;17090;17079:9;17075:18;17068:30;16919:4;17115:44;17155:2;17144:9;17140:18;17132:6;17115:44;:::i;17707:832::-;17770:5;17823:3;17816:4;17808:6;17804:17;17800:27;17790:55;;17841:1;17838;17831:12;17790:55;17870:6;17864:13;17896:4;17920:60;17936:43;17976:2;17936:43;:::i;17920:60::-;18002:3;18026:2;18021:3;18014:15;18054:4;18049:3;18045:14;18038:21;;18111:4;18105:2;18102:1;18098:10;18090:6;18086:23;18082:34;18068:48;;18139:3;18131:6;18128:15;18125:35;;;18156:1;18153;18146:12;18125:35;18192:4;18184:6;18180:17;18206:304;18222:6;18217:3;18214:15;18206:304;;;18295:3;18289:10;18343:4;18336:5;18332:16;18325:5;18322:27;18312:125;;18391:1;18420:2;18416;18409:14;18312:125;18450:18;;18488:12;;;;18239;;18206:304;;18544:846;18653:6;18706:2;18694:9;18685:7;18681:23;18677:32;18674:52;;;18722:1;18719;18712:12;18674:52;18755:9;18749:16;18784:18;18825:2;18817:6;18814:14;18811:34;;;18841:1;18838;18831:12;18811:34;18864:22;;;;18920:4;18902:16;;;18898:27;18895:47;;;18938:1;18935;18928:12;18895:47;18964:22;;:::i;:::-;19015:2;19009:9;19002:5;18995:24;19065:2;19061;19057:11;19051:18;19046:2;19039:5;19035:14;19028:42;19116:2;19112;19108:11;19102:18;19097:2;19090:5;19086:14;19079:42;19167:2;19163;19159:11;19153:18;19148:2;19141:5;19137:14;19130:42;19211:3;19207:2;19203:12;19197:19;19241:2;19231:8;19228:16;19225:36;;;19257:1;19254;19247:12;19225:36;19294:65;19351:7;19340:8;19336:2;19332:17;19294:65;:::i;:::-;19288:3;19277:15;;19270:90;-1:-1:-1;19281:5:233;18544:846;-1:-1:-1;;;;;18544:846:233:o;19395:184::-;-1:-1:-1;;;19444:1:233;19437:88;19544:4;19541:1;19534:15;19568:4;19565:1;19558:15;19584:308;19623:1;19649;19639:35;;19654:18;;:::i;:::-;-1:-1:-1;;19768:1:233;19765:73;19696:66;19693:1;19690:73;19686:153;19683:179;;;19842:18;;:::i;:::-;-1:-1:-1;19876:10:233;;19584:308::o;19897:200::-;19963:9;;;19936:4;19991:9;;20019:10;;20031:12;;;20015:29;20054:12;;;20046:21;;20012:56;20009:82;;;20071:18;;:::i;20769:125::-;20834:9;;;20855:10;;;20852:36;;;20868:18;;:::i;20899:112::-;20931:1;20957;20947:35;;20962:18;;:::i;:::-;-1:-1:-1;20996:9:233;;20899:112::o;21016:120::-;21056:1;21082;21072:35;;21087:18;;:::i;:::-;-1:-1:-1;21121:9:233;;21016:120::o;21394:489::-;21694:6;21683:9;21676:25;21737:2;21732;21721:9;21717:18;21710:30;21657:4;21757:77;21830:2;21819:9;21815:18;21807:6;21757:77;:::i;:::-;21749:85;;21870:6;21865:2;21854:9;21850:18;21843:34;21394:489;;;;;;:::o;21888:568::-;21941:5;21994:3;21987:4;21979:6;21975:17;21971:27;21961:55;;22012:1;22009;22002:12;21961:55;22041:6;22035:13;22067:18;22063:2;22060:26;22057:52;;;22089:18;;:::i;:::-;22133:114;22241:4;-1:-1:-1;;22165:4:233;22161:2;22157:13;22153:86;22149:97;22133:114;:::i;:::-;22272:2;22263:7;22256:19;22318:3;22311:4;22306:2;22298:6;22294:15;22290:26;22287:35;22284:55;;;22335:1;22332;22325:12;22284:55;22348:77;22422:2;22415:4;22406:7;22402:18;22395:4;22387:6;22383:17;22348:77;:::i;22461:655::-;22603:6;22611;22619;22672:2;22660:9;22651:7;22647:23;22643:32;22640:52;;;22688:1;22685;22678:12;22640:52;22721:9;22715:16;22750:18;22791:2;22783:6;22780:14;22777:34;;;22807:1;22804;22797:12;22777:34;22830:60;22882:7;22873:6;22862:9;22858:22;22830:60;:::i;:::-;22820:70;;22930:2;22919:9;22915:18;22909:25;22899:35;;22980:2;22969:9;22965:18;22959:25;22943:41;;23009:2;22999:8;22996:16;22993:36;;;23025:1;23022;23015:12;22993:36;;23048:62;23102:7;23091:8;23080:9;23076:24;23048:62;:::i;23121:407::-;23204:5;23244;23238:12;23286:4;23279:5;23275:16;23269:23;23311:66;23403:2;23399;23395:11;23386:20;;23429:1;23421:6;23418:13;23415:107;;;23490:1;23486:14;;;;23483:1;23479:22;23475:31;;;23467:40;23463:49;;23121:407;-1:-1:-1;;23121:407:233:o;23786:526::-;24027:3;24066:1;24058:6;24055:13;24045:47;;24072:18;;:::i;:::-;-1:-1:-1;24117:3:233;24113:16;;;;24101:29;;24155:1;24146:11;;24139:27;;;;24191:2;24182:12;;24175:28;;;;24228:2;24219:12;;24212:28;24265:2;24256:12;;24249:28;24302:3;24293:13;;23786:526::o;24317:492::-;24492:3;24530:6;24524:13;24546:66;24605:6;24600:3;24593:4;24585:6;24581:17;24546:66;:::i;:::-;24675:13;;24634:16;;;;24697:70;24675:13;24634:16;24744:4;24732:17;;24697:70;:::i;:::-;24783:20;;24317:492;-1:-1:-1;;;;24317:492:233:o;24814:815::-;25209:6;25198:9;25191:25;25252:3;25247:2;25236:9;25232:18;25225:31;25172:4;25279:78;25352:3;25341:9;25337:19;25329:6;25279:78;:::i;:::-;25405:9;25397:6;25393:22;25388:2;25377:9;25373:18;25366:50;25439:32;25464:6;25456;25439:32;:::i;:::-;25425:46;;25507:6;25502:2;25491:9;25487:18;25480:34;25563:9;25555:6;25551:22;25545:3;25534:9;25530:19;25523:51;25591:32;25616:6;25608;25591:32;:::i;:::-;25583:40;24814:815;-1:-1:-1;;;;;;;;24814:815:233:o;25634:569::-;25958:6;25947:9;25940:25;26001:3;25996:2;25985:9;25981:18;25974:31;25921:4;26022:78;26095:3;26084:9;26080:19;26072:6;26022:78;:::i;:::-;26148:4;26136:17;;;;26131:2;26116:18;;26109:45;-1:-1:-1;26185:2:233;26170:18;26163:34;26014:86;25634:569;-1:-1:-1;;25634:569:233:o;26208:184::-;26278:6;26331:2;26319:9;26310:7;26306:23;26302:32;26299:52;;;26347:1;26344;26337:12;26299:52;-1:-1:-1;26370:16:233;;26208:184;-1:-1:-1;26208:184:233:o;26397:730::-;26767:6;26756:9;26749:25;26810:3;26805:2;26794:9;26790:18;26783:31;26730:4;26837:78;26910:3;26899:9;26895:19;26887:6;26837:78;:::i;:::-;26963:4;26955:6;26951:17;26946:2;26935:9;26931:18;26924:45;27017:9;27009:6;27005:22;27000:2;26989:9;26985:18;26978:50;27045:32;27070:6;27062;27045:32;:::i;:::-;27037:40;;;27114:6;27108:3;27097:9;27093:19;27086:35;26397:730;;;;;;;;:::o;27132:339::-;27309:2;27298:9;27291:21;27272:4;27329:44;27369:2;27358:9;27354:18;27346:6;27329:44;:::i;:::-;27321:52;;-1:-1:-1;;;;;27413:6:233;27409:55;27404:2;27393:9;27389:18;27382:83;27132:339;;;;;:::o;27476:711::-;27585:6;27638:3;27626:9;27617:7;27613:23;27609:33;27606:53;;;27655:1;27652;27645:12;27606:53;27681:22;;:::i;:::-;27732:9;27726:16;27719:5;27712:31;27796:2;27785:9;27781:18;27775:25;27770:2;27763:5;27759:14;27752:49;27854:2;27843:9;27839:18;27833:25;27828:2;27821:5;27817:14;27810:49;27912:2;27901:9;27897:18;27891:25;27886:2;27879:5;27875:14;27868:49;27971:3;27960:9;27956:19;27950:26;27944:3;27937:5;27933:15;27926:51;28031:3;28020:9;28016:19;28010:26;28004:3;27997:5;27993:15;27986:51;28091:3;28080:9;28076:19;28070:26;28064:3;28057:5;28053:15;28046:51;28151:3;28140:9;28136:19;28130:26;28124:3;28117:5;28113:15;28106:51;28176:5;28166:15;;;27476:711;;;;:::o;28192:999::-;28293:6;28346:2;28334:9;28325:7;28321:23;28317:32;28314:52;;;28362:1;28359;28352:12;28314:52;28395:9;28389:16;28424:18;28465:2;28457:6;28454:14;28451:34;;;28481:1;28478;28471:12;28451:34;28504:22;;;;28560:6;28542:16;;;28538:29;28535:49;;;28580:1;28577;28570:12;28535:49;28606:22;;:::i;:::-;28657:2;28651:9;28644:5;28637:24;28700:2;28696;28692:11;28686:18;28729:2;28719:8;28716:16;28713:36;;;28745:1;28742;28735:12;28713:36;28781:65;28838:7;28827:8;28823:2;28819:17;28781:65;:::i;:::-;28776:2;28769:5;28765:14;28758:89;;28893:2;28889;28885:11;28879:18;28874:2;28867:5;28863:14;28856:42;28944:2;28940;28936:11;28930:18;28925:2;28918:5;28914:14;28907:42;28996:3;28992:2;28988:12;28982:19;28976:3;28969:5;28965:15;28958:44;29049:3;29045:2;29041:12;29035:19;29029:3;29022:5;29018:15;29011:44;29102:3;29098:2;29094:12;29088:19;29082:3;29075:5;29071:15;29064:44;29155:3;29151:2;29147:12;29141:19;29135:3;29128:5;29124:15;29117:44;29180:5;29170:15;;;;;28192:999;;;;:::o;29386:1068::-;29480:6;29511:2;29554;29542:9;29533:7;29529:23;29525:32;29522:52;;;29570:1;29567;29560:12;29522:52;29603:9;29597:16;29632:18;29673:2;29665:6;29662:14;29659:34;;;29689:1;29686;29679:12;29659:34;29727:6;29716:9;29712:22;29702:32;;29772:7;29765:4;29761:2;29757:13;29753:27;29743:55;;29794:1;29791;29784:12;29743:55;29823:2;29817:9;29846:60;29862:43;29902:2;29862:43;:::i;29846:60::-;29940:15;;;30022:1;30018:10;;;;30010:19;;30006:28;;;29971:12;;;;30046:19;;;30043:39;;;30078:1;30075;30068:12;30043:39;30102:11;;;;30122:302;30138:6;30133:3;30130:15;30122:302;;;30211:3;30205:10;30259:2;30252:5;30248:14;30241:5;30238:25;30228:123;;30305:1;30334:2;30330;30323:14;30228:123;30364:18;;30155:12;;;;30402;;;;30122:302;;30459:168;30532:9;;;30563;;30580:15;;;30574:22;;30560:37;30550:71;;30601:18;;:::i;30632:216::-;30696:9;;;30724:11;;;30671:3;30754:9;;30782:10;;30778:19;;30807:10;;30799:19;;30775:44;30772:70;;;30822:18;;:::i;30853:292::-;30925:9;;;30892:7;30950:9;;30967:66;30961:73;;30946:89;30943:115;;;31038:18;;:::i;:::-;31111:1;31102:7;31097:16;31094:1;31091:23;31087:1;31080:9;31077:38;31067:72;;31119:18;;:::i;31335:1023::-;31781:6;31776:3;31769:19;31818:6;31813:2;31808:3;31804:12;31797:28;31855:6;31850:2;31845:3;31841:12;31834:28;31892:6;31887:2;31882:3;31878:12;31871:28;31953:6;31946:14;31939:22;31934:3;31930:32;31924:3;31919;31915:13;31908:55;32017:6;32010:14;32003:22;31998:3;31994:32;31988:3;31983;31979:13;31972:55;32036:38;32069:3;32064;32060:13;32052:6;20536:13;20529:21;20524:3;20520:31;20508:44;;20457:101;32036:38;32105:6;32099:3;32094;32090:13;32083:29;32143:6;32137:3;32132;32128:13;32121:29;32159:38;32192:3;32187;32183:13;32175:6;20536:13;20529:21;20524:3;20520:31;20508:44;;20457:101;32159:38;20536:13;;20529:21;20524:3;20520:31;32240:3;32231:13;;20508:44;32270:3;32261:13;;32254:30;;;;32309:3;32300:13;;32293:30;32348:3;32339:13;;;-1:-1:-1;;;;;;;;;;31335:1023:233:o;32552:152::-;32636:13;;32678:1;32668:12;;32658:40;;32694:1;32691;32684:12;32709:665;32774:5;32827:3;32820:4;32812:6;32808:17;32804:27;32794:55;;32845:1;32842;32835:12;32794:55;32874:6;32868:13;32900:4;32924:60;32940:43;32980:2;32940:43;:::i;32924:60::-;33006:3;33030:2;33025:3;33018:15;33058:4;33053:3;33049:14;33042:21;;33115:4;33109:2;33106:1;33102:10;33094:6;33090:23;33086:34;33072:48;;33143:3;33135:6;33132:15;33129:35;;;33160:1;33157;33150:12;33129:35;33196:4;33188:6;33184:17;33210:135;33226:6;33221:3;33218:15;33210:135;;;33292:10;;33280:23;;33323:12;;;;33243;;33210:135;;33379:1104;33481:6;33534:2;33522:9;33513:7;33509:23;33505:32;33502:52;;;33550:1;33547;33540:12;33502:52;33583:9;33577:16;33612:18;33653:2;33645:6;33642:14;33639:34;;;33669:1;33666;33659:12;33639:34;33692:22;;;;33748:6;33730:16;;;33726:29;33723:49;;;33768:1;33765;33758:12;33723:49;33794:22;;:::i;:::-;33845:2;33839:9;33832:5;33825:24;33895:2;33891;33887:11;33881:18;33876:2;33869:5;33865:14;33858:42;33932:47;33975:2;33971;33967:11;33932:47;:::i;:::-;33927:2;33920:5;33916:14;33909:71;34026:2;34022;34018:11;34012:18;34007:2;34000:5;33996:14;33989:42;34078:3;34074:2;34070:12;34064:19;34058:3;34051:5;34047:15;34040:44;34131:3;34127:2;34123:12;34117:19;34111:3;34104:5;34100:15;34093:44;34176:3;34172:2;34168:12;34162:19;34206:2;34196:8;34193:16;34190:36;;;34222:1;34219;34212:12;34190:36;34259:67;34318:7;34307:8;34303:2;34299:17;34259:67;:::i;:::-;34253:3;34242:15;;34235:92;-1:-1:-1;34374:3:233;34366:12;;;34360:19;34343:15;;;34336:44;34399:3;34440:11;;;34434:18;34418:14;;;34411:42;;;;-1:-1:-1;34246:5:233;33379:1104;-1:-1:-1;;;33379:1104:233:o;34820:175::-;34857:3;34901:4;34894:5;34890:16;34930:4;34921:7;34918:17;34915:43;;34938:18;;:::i;:::-;34987:1;34974:15;;34820:175;-1:-1:-1;;34820:175:233:o;35000:320::-;35207:6;35196:9;35189:25;35250:2;35245;35234:9;35230:18;35223:30;35170:4;35270:44;35310:2;35299:9;35295:18;35287:6;35270:44;:::i;35325:335::-;35404:6;35457:2;35445:9;35436:7;35432:23;35428:32;35425:52;;;35473:1;35470;35463:12;35425:52;35506:9;35500:16;35539:18;35531:6;35528:30;35525:50;;;35571:1;35568;35561:12;35525:50;35594:60;35646:7;35637:6;35626:9;35622:22;35594:60;:::i;35665:925::-;36114:66;36106:6;36102:79;36097:3;36090:92;36072:3;36201;36233:2;36229:1;36224:3;36220:11;36213:23;36265:6;36259:13;36281:74;36348:6;36344:1;36339:3;36335:11;36328:4;36320:6;36316:17;36281:74;:::i;:::-;36383:6;36378:3;36374:16;36364:26;;36418:2;36414:1;36410:2;36406:10;36399:22;36452:6;36446:13;36430:29;;36468:75;36534:8;36530:1;36526:2;36522:10;36515:4;36507:6;36503:17;36468:75;:::i;:::-;36563:17;36582:1;36559:25;;35665:925;-1:-1:-1;;;;;35665:925:233:o;36595:219::-;36744:2;36733:9;36726:21;36707:4;36764:44;36804:2;36793:9;36789:18;36781:6;36764:44;:::i;36819:714::-;37166:6;37161:3;37154:19;37203:6;37198:2;37193:3;37189:12;37182:28;37219:44;37256:6;37219:44;:::i;:::-;37297:3;37293:16;;;;37288:2;37279:12;;37272:38;37335:2;37326:12;;37319:28;;;;37372:2;37363:12;;37356:28;;;;37409:3;37400:13;;37393:29;37447:3;37438:13;;37431:29;37485:3;37476:13;;37469:29;37523:3;37514:13;;36819:714;-1:-1:-1;;36819:714:233:o;37538:128::-;37605:9;;;37626:11;;;37623:37;;;37640:18;;:::i;37671:640::-;37922:6;37917:3;37910:19;37892:3;37948:2;37981;37976:3;37972:12;38013:6;38007:13;38078:2;38070:6;38066:15;38099:1;38109:175;38123:6;38120:1;38117:13;38109:175;;;38186:13;;38172:28;;38222:14;;;;38259:15;;;;38145:1;38138:9;38109:175;;;-1:-1:-1;38300:5:233;;37671:640;-1:-1:-1;;;;;;;37671:640:233:o;38316:359::-;38519:2;38508:9;38501:21;38482:4;38539:44;38579:2;38568:9;38564:18;38556:6;38539:44;:::i;:::-;38614:2;38599:18;;38592:34;;;;-1:-1:-1;38657:2:233;38642:18;38635:34;38531:52;38316:359;-1:-1:-1;38316:359:233:o;39007:711::-;39342:3;39331:9;39324:22;39305:4;39369:78;39442:3;39431:9;39427:19;39419:6;39369:78;:::i;:::-;39495:9;39487:6;39483:22;39478:2;39467:9;39463:18;39456:50;39529:32;39554:6;39546;39529:32;:::i;:::-;39515:46;;39597:6;39592:2;39581:9;39577:18;39570:34;39652:9;39644:6;39640:22;39635:2;39624:9;39620:18;39613:50;39680:32;39705:6;39697;39680:32;:::i;:::-;39672:40;39007:711;-1:-1:-1;;;;;;;39007:711:233:o;39723:920::-;40179:6;40168:9;40161:25;40222:3;40217:2;40206:9;40202:18;40195:31;40142:4;40249:78;40322:3;40311:9;40307:19;40299:6;40249:78;:::i;:::-;40375:9;40367:6;40363:22;40358:2;40347:9;40343:18;40336:50;40409:32;40434:6;40426;40409:32;:::i;:::-;40395:46;;40477:6;40472:2;40461:9;40457:18;40450:34;40533:9;40525:6;40521:22;40515:3;40504:9;40500:19;40493:51;40561:32;40586:6;40578;40561:32;:::i;:::-;40553:40;;;40630:6;40624:3;40613:9;40609:19;40602:35;39723:920;;;;;;;;;:::o;40648:532::-;40899:2;40888:9;40881:21;40862:4;40925:77;40998:2;40987:9;40983:18;40975:6;40925:77;:::i;:::-;41050:14;41042:6;41038:27;41033:2;41022:9;41018:18;41011:55;41114:9;41106:6;41102:22;41097:2;41086:9;41082:18;41075:50;41142:32;41167:6;41159;41142:32;:::i;41185:637::-;41496:6;41485:9;41478:25;41539:3;41534:2;41523:9;41519:18;41512:31;41459:4;41566:78;41639:3;41628:9;41624:19;41616:6;41566:78;:::i;:::-;41692:14;41684:6;41680:27;41675:2;41664:9;41660:18;41653:55;41756:9;41748:6;41744:22;41739:2;41728:9;41724:18;41717:50;41784:32;41809:6;41801;41784:32;:::i;42087:191::-;42122:3;42153:66;42146:5;42143:77;42140:103;;42223:18;;:::i;:::-;-1:-1:-1;42263:1:233;42259:13;;42087:191::o;42283:463::-;42546:6;42535:9;42528:25;42589:2;42584;42573:9;42569:18;42562:30;42509:4;42609:77;42682:2;42671:9;42667:18;42659:6;42609:77;:::i;:::-;42601:85;;42734:4;42726:6;42722:17;42717:2;42706:9;42702:18;42695:45;42283:463;;;;;;:::o;42938:287::-;43067:3;43105:6;43099:13;43121:66;43180:6;43175:3;43168:4;43160:6;43156:17;43121:66;:::i;:::-;43203:16;;;;;42938:287;-1:-1:-1;;42938:287:233:o;43514:530::-;43699:3;43737:6;43731:13;43753:66;43812:6;43807:3;43800:4;43792:6;43788:17;43753:66;:::i;:::-;43888:2;43884:15;;;;43901:66;43880:88;43841:16;;;;43866:103;;;43996:2;43985:14;;43978:30;;;;44035:2;44024:14;;43514:530;-1:-1:-1;;43514:530:233:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":8854,"length":20}]}}},"methodIdentifiers":{"_calculateMagicAttack()":"bfea0b85","_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","createMatch(uint8,bytes32[],bytes32[])":"aaa417b7","endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"98d239b1","executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"fc88ff63","getEncounter(bytes32)":"4dda27e8","isParticipant(address,bytes32[])":"b2467894","isParticipant(bytes32,bytes32)":"c6ca743c","isValidPvE(bytes32[],bytes32[],uint16,uint16)":"15451020","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"endTurn\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"getEncounter\",\"outputs\":[{\"components\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTurn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTurns\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CombatEncounterData\",\"name\":\"_encounterData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"participants\",\"type\":\"bytes32[]\"}],\"name\":\"isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isValidPvE\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isValidPvE\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])\":{\"params\":{\"actions\":\": for a pve encounter player actions are calculated first and the mobs.\",\"encounterId\":\"the bytes32 id of the encounter\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/systems/CombatSystem.sol\":\"CombatSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"constants.sol\":{\"keccak256\":\"0xea645b3f1e153c1d76fe3ed1c15a22129928d78711f9eb6476ddc123460f25ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e57cd5c8ca30c40156f7379c556ea7ca3394da3da286056cf9554e7c1567b14\",\"dweb:/ipfs/QmSdQyCEp65JnngKxz4d6QRzdDcMqB3g2Aw5J9vuEMgEW1\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0xc993a3f15c56e4b3e83c33b41a17dcff501b025e1e338645b62203cf26d2011f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5229574e32c8131647fe4826eeee2f9305074496a5546e70dc6da9fcf1aea4c\",\"dweb:/ipfs/QmadU9mmUdvJMmwkJJwh83XyebzGG3BvqDvAASQ2T4Chjh\"]},\"src/codegen/tables/ActionOutcome.sol\":{\"keccak256\":\"0x3191cc4da6f6a0146b54ac4b6022f402981cda101a577c4b8f49d3dc4c9ca956\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc6ace9a0b33a4a1df297c712c0b37171c8e3946e0fd2bf0ea0483ab4d28147a\",\"dweb:/ipfs/QmPaVdRSLQt1xmbRbqeKWitcRXeTXGA3yuxJgPbgdh1WQ4\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0x0daf45149c3403e88b492878aa7622c604687314a844023f4f2ebdb53213b17b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://074403d43b76610a90629582f3d7680f713719e0b0a5ac8563838f694d717d39\",\"dweb:/ipfs/QmVy5jEg33ZNWPTSEEYXYUafsghAdnDivCBGmdUKd7BDMb\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/CombatOutcome.sol\":{\"keccak256\":\"0xeb791c773448819c7377ce52c0226a936dec6d65450a832a91fc947b5922f0fd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6594f35264d88ef26048ed33de7ee17d9553b0eca23b1ae439fb1f72f6d19078\",\"dweb:/ipfs/QmVr6mm3WmXdz9JLbDgdsK3LS6ypW4DaJrMGpxEQaBWVUZ\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0xaabe20cc4e4d6c5a55658f59ed5094f37ef0a4a795d41db3a147926d4f7bbe7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c1690adf4c6629b794f8861239dd572a03cfb9c8688b51a4b52a54006efa6b5\",\"dweb:/ipfs/QmUDGdfRxruvzrcqn1qcEqZKfyJYzXLqtarV59EwNdHmp7\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0x4dbbe2a11e729ce5ed6569600e0e7237f5fa5e2476f6c049581e2b18830c93b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d056287fefd267378a9a3f20ed25e28db2fa34604729f047e22c2ab016ac2c6a\",\"dweb:/ipfs/QmSunLJDjxsUMJaudJefjgeHHurT4KKsgrhNBSsEaU5jgm\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/IAdminSystem.sol\":{\"keccak256\":\"0xc7af156c71acd0d6cdab577dd76c0a4a7c56115d7bd22069ad8ad183d1a230e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b167cfcac5a58cef4d3f018bbca81afcf7cc7a8d4f75537f4516f508a67f435b\",\"dweb:/ipfs/QmQEcFt4N5qBRRaCYDzAx9UwDuqPycSXBqQLGyZdVHFNzQ\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x49ef649aa37c2f64fa032400e803aa2d6b6d94d8de47f024cf63479c217a1373\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c84ead4b32146eb7088cb0f3fa45f31de057cb252693efd92982698dc87a4f78\",\"dweb:/ipfs/QmVMhUEXVmVMZJVJLoP6vh9pB6RYq9YmrRC4jdJWujcqnd\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0xece65bdfbb9f41aa91c926f2625a5afb62162c19a2be83749b02c04755b7143e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de01bf77ca9c93a694d87dbb64370d5bd5770da42e461a40e55d640675fe777f\",\"dweb:/ipfs/QmbANbeftTp3YQizGFoYtXwozQHL4ouyoVEu5W1Z14wsQh\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xf40b0f25e8d4ba6552f4b1a3f2b86c17e2e7c1be7317bfbc15f7e24100bfa14d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f0bd4c7e76b1d3397f85a76382218f4922681c046c5e62dcf606f3ea8884bc0\",\"dweb:/ipfs/QmcaSbhHrGAn9TPsroSHAEijriQmKWvA16ffSJuTw3AzN2\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9\",\"dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x8f0c0461ad016b4d4f502d10fe5fa2a650836a4a76c883b2e55e714158194859\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2254a9f2f35ede55ef418440874945422b5e5f526724deb0bd397cabdf512f6c\",\"dweb:/ipfs/QmZrfF7SgNu2S9rgdNbKFpNsFZMJLTp9GyZpqwvVwQCNr9\"]},\"src/interfaces/IRngSystem.sol\":{\"keccak256\":\"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02\",\"dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/libraries/Math.sol\":{\"keccak256\":\"0x7aba32d8d0d2b81758afb4f211afccbf3e85ce62defad5ac1fd8fd26c8fd5ab5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fb636fcaf2f6f692bf32cadc2f8089a28367676d7b6f3423a5d0593a23e8200a\",\"dweb:/ipfs/QmNQnrjDfwhM4jMzC9tFxHszohkZPGeFhiEendg7qi2crW\"]},\"src/systems/CombatSystem.sol\":{\"keccak256\":\"0xc16df9bf16d0a1916a559835ad26e86cc2687fbdbc1bb070b0bcfd824a022a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://034d0b4a2c8b002847d034514d63bfcd919d9c2d9117c083aa3b1f060772d248\",\"dweb:/ipfs/QmNzXVVqDcj65UG21jrPTaiYq1XFUu3RMoRGYGu4YciNDs\"]},\"src/utils.sol\":{\"keccak256\":\"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57\",\"dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"_calculateMagicAttack"},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"createMatch","outputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"payable","type":"function","name":"endTurn"},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"executeCombat"},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getEncounter","outputs":[{"internalType":"struct CombatEncounterData","name":"_encounterData","type":"tuple","components":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"},{"internalType":"uint256","name":"currentTurn","type":"uint256"},{"internalType":"uint256","name":"maxTurns","type":"uint256"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"}]}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32[]","name":"participants","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isValidPvE","outputs":[{"internalType":"bool","name":"_isValidPvE","type":"bool"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])":{"params":{"actions":": for a pve encounter player actions are calculated first and the mobs.","encounterId":"the bytes32 id of the encounter"}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/CombatSystem.sol":"CombatSystem"},"evmVersion":"paris","libraries":{}},"sources":{"constants.sol":{"keccak256":"0xea645b3f1e153c1d76fe3ed1c15a22129928d78711f9eb6476ddc123460f25ed","urls":["bzz-raw://0e57cd5c8ca30c40156f7379c556ea7ca3394da3da286056cf9554e7c1567b14","dweb:/ipfs/QmSdQyCEp65JnngKxz4d6QRzdDcMqB3g2Aw5J9vuEMgEW1"],"license":"MIT"},"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0xc993a3f15c56e4b3e83c33b41a17dcff501b025e1e338645b62203cf26d2011f","urls":["bzz-raw://d5229574e32c8131647fe4826eeee2f9305074496a5546e70dc6da9fcf1aea4c","dweb:/ipfs/QmadU9mmUdvJMmwkJJwh83XyebzGG3BvqDvAASQ2T4Chjh"],"license":"MIT"},"src/codegen/tables/ActionOutcome.sol":{"keccak256":"0x3191cc4da6f6a0146b54ac4b6022f402981cda101a577c4b8f49d3dc4c9ca956","urls":["bzz-raw://cc6ace9a0b33a4a1df297c712c0b37171c8e3946e0fd2bf0ea0483ab4d28147a","dweb:/ipfs/QmPaVdRSLQt1xmbRbqeKWitcRXeTXGA3yuxJgPbgdh1WQ4"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0x0daf45149c3403e88b492878aa7622c604687314a844023f4f2ebdb53213b17b","urls":["bzz-raw://074403d43b76610a90629582f3d7680f713719e0b0a5ac8563838f694d717d39","dweb:/ipfs/QmVy5jEg33ZNWPTSEEYXYUafsghAdnDivCBGmdUKd7BDMb"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/CombatOutcome.sol":{"keccak256":"0xeb791c773448819c7377ce52c0226a936dec6d65450a832a91fc947b5922f0fd","urls":["bzz-raw://6594f35264d88ef26048ed33de7ee17d9553b0eca23b1ae439fb1f72f6d19078","dweb:/ipfs/QmVr6mm3WmXdz9JLbDgdsK3LS6ypW4DaJrMGpxEQaBWVUZ"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0xaabe20cc4e4d6c5a55658f59ed5094f37ef0a4a795d41db3a147926d4f7bbe7e","urls":["bzz-raw://0c1690adf4c6629b794f8861239dd572a03cfb9c8688b51a4b52a54006efa6b5","dweb:/ipfs/QmUDGdfRxruvzrcqn1qcEqZKfyJYzXLqtarV59EwNdHmp7"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0x4dbbe2a11e729ce5ed6569600e0e7237f5fa5e2476f6c049581e2b18830c93b2","urls":["bzz-raw://d056287fefd267378a9a3f20ed25e28db2fa34604729f047e22c2ab016ac2c6a","dweb:/ipfs/QmSunLJDjxsUMJaudJefjgeHHurT4KKsgrhNBSsEaU5jgm"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/IAdminSystem.sol":{"keccak256":"0xc7af156c71acd0d6cdab577dd76c0a4a7c56115d7bd22069ad8ad183d1a230e6","urls":["bzz-raw://b167cfcac5a58cef4d3f018bbca81afcf7cc7a8d4f75537f4516f508a67f435b","dweb:/ipfs/QmQEcFt4N5qBRRaCYDzAx9UwDuqPycSXBqQLGyZdVHFNzQ"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x49ef649aa37c2f64fa032400e803aa2d6b6d94d8de47f024cf63479c217a1373","urls":["bzz-raw://c84ead4b32146eb7088cb0f3fa45f31de057cb252693efd92982698dc87a4f78","dweb:/ipfs/QmVMhUEXVmVMZJVJLoP6vh9pB6RYq9YmrRC4jdJWujcqnd"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0xece65bdfbb9f41aa91c926f2625a5afb62162c19a2be83749b02c04755b7143e","urls":["bzz-raw://de01bf77ca9c93a694d87dbb64370d5bd5770da42e461a40e55d640675fe777f","dweb:/ipfs/QmbANbeftTp3YQizGFoYtXwozQHL4ouyoVEu5W1Z14wsQh"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xf40b0f25e8d4ba6552f4b1a3f2b86c17e2e7c1be7317bfbc15f7e24100bfa14d","urls":["bzz-raw://0f0bd4c7e76b1d3397f85a76382218f4922681c046c5e62dcf606f3ea8884bc0","dweb:/ipfs/QmcaSbhHrGAn9TPsroSHAEijriQmKWvA16ffSJuTw3AzN2"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828","urls":["bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9","dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x8f0c0461ad016b4d4f502d10fe5fa2a650836a4a76c883b2e55e714158194859","urls":["bzz-raw://2254a9f2f35ede55ef418440874945422b5e5f526724deb0bd397cabdf512f6c","dweb:/ipfs/QmZrfF7SgNu2S9rgdNbKFpNsFZMJLTp9GyZpqwvVwQCNr9"],"license":"MIT"},"src/interfaces/IRngSystem.sol":{"keccak256":"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0","urls":["bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02","dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de","urls":["bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5","dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/libraries/Math.sol":{"keccak256":"0x7aba32d8d0d2b81758afb4f211afccbf3e85ce62defad5ac1fd8fd26c8fd5ab5","urls":["bzz-raw://fb636fcaf2f6f692bf32cadc2f8089a28367676d7b6f3423a5d0593a23e8200a","dweb:/ipfs/QmNQnrjDfwhM4jMzC9tFxHszohkZPGeFhiEendg7qi2crW"],"license":"GPL-3.0"},"src/systems/CombatSystem.sol":{"keccak256":"0xc16df9bf16d0a1916a559835ad26e86cc2687fbdbc1bb070b0bcfd824a022a2b","urls":["bzz-raw://034d0b4a2c8b002847d034514d63bfcd919d9c2d9117c083aa3b1f060772d248","dweb:/ipfs/QmNzXVVqDcj65UG21jrPTaiYq1XFUu3RMoRGYGu4YciNDs"],"license":"MIT"},"src/utils.sol":{"keccak256":"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc","urls":["bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57","dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q"],"license":"MIT"}},"version":1},"id":216}
\ No newline at end of file
From 2d4ecff20216056d933602c97ab3bad80130dfc5 Mon Sep 17 00:00:00 2001
From: ECWireless
Date: Thu, 25 Jul 2024 08:16:33 -0600
Subject: [PATCH 7/8] Add HealthBar animation
---
packages/client/src/components/HealthBar.tsx | 7 ++++++-
packages/client/src/components/StatsPanel.tsx | 6 ++++--
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/packages/client/src/components/HealthBar.tsx b/packages/client/src/components/HealthBar.tsx
index 202b6003b..8904c5b45 100644
--- a/packages/client/src/components/HealthBar.tsx
+++ b/packages/client/src/components/HealthBar.tsx
@@ -29,7 +29,12 @@ export const HealthBar = ({
HP
-
+
diff --git a/packages/client/src/components/StatsPanel.tsx b/packages/client/src/components/StatsPanel.tsx
index fbc9455d7..0511b4cf8 100644
--- a/packages/client/src/components/StatsPanel.tsx
+++ b/packages/client/src/components/StatsPanel.tsx
@@ -16,7 +16,7 @@ import { encodeEntity } from '@latticexyz/store-sync/recs';
import { useMemo } from 'react';
import { GiRogue } from 'react-icons/gi';
import { IoIosArrowForward } from 'react-icons/io';
-import { useNavigate } from 'react-router-dom';
+import { Link as RouterLink, useNavigate } from 'react-router-dom';
import { useCharacter } from '../contexts/CharacterContext';
import { useMUD } from '../contexts/MUDContext';
@@ -193,6 +193,7 @@ export const StatsPanel = (): JSX.Element => {
<>
{
Auction House
Date: Fri, 26 Jul 2024 07:48:22 -0600
Subject: [PATCH 8/8] Improve ActionsPanel action text
---
.../client/src/components/ActionsPanel.tsx | 26 ++++++++++++++-----
1 file changed, 20 insertions(+), 6 deletions(-)
diff --git a/packages/client/src/components/ActionsPanel.tsx b/packages/client/src/components/ActionsPanel.tsx
index 3ad5c8a72..cd3ef49b2 100644
--- a/packages/client/src/components/ActionsPanel.tsx
+++ b/packages/client/src/components/ActionsPanel.tsx
@@ -60,22 +60,34 @@ export const ActionsPanel = (): JSX.Element => {
systemCalls: { endTurn },
} = useMUD();
const { character, equippedItems, refreshCharacter } = useCharacter();
+ const { isSpawned, monsters, position } = useMapNavigation();
const { currentBattle, monsterOponent } = useCombat();
- const { isSpawned } = useMapNavigation();
const [isAttacking, setIsAttacking] = useState(false);
const actionText = useMemo(() => {
- if (!isSpawned) {
- return 'You must spawn on the map to start battling.';
+ if (!(isSpawned && position)) {
+ return 'In order to begin battling, you must spawn your character.';
+ }
+
+ if (position.x === 0 && position.y === 0) {
+ return 'You are currently in the starting tile. Move to a new tile to find monsters to battle.';
+ }
+
+ if ((position.x !== 0 || position.y !== 0) && monsters.length === 0) {
+ return 'Looks like there are no monsters in this tile. Move to a new tile to find monsters to battle.';
+ }
+
+ if ((position.x !== 0 || position.y !== 0) && monsters.length > 0) {
+ return 'To initiate a battle, click on a monster.';
}
if (currentBattle && monsterOponent) {
return `You are currently in battle with a ${monsterOponent.name}.`;
}
- return 'To initiate a battle, move into a new tile and click on a monster.';
- }, [currentBattle, isSpawned, monsterOponent]);
+ return '';
+ }, [currentBattle, isSpawned, monsterOponent, monsters, position]);
const onAttack = useCallback(
async (itemId: string) => {
@@ -144,7 +156,9 @@ export const ActionsPanel = (): JSX.Element => {
return (
- {actionText}
+ {!currentBattle && (
+ {actionText}
+ )}
{currentBattle && equippedItems && monsterOponent && (
{equippedItems.length === 0 && (