diff --git a/Assets/Spritesheets/Icons/UI/64x64.png b/Assets/Spritesheets/Icons/UI/64x64.png new file mode 100644 index 0000000..1d9468b Binary files /dev/null and b/Assets/Spritesheets/Icons/UI/64x64.png differ diff --git a/Assets/Spritesheets/Icons/UI/64x64.png.import b/Assets/Spritesheets/Icons/UI/64x64.png.import new file mode 100644 index 0000000..64e957d --- /dev/null +++ b/Assets/Spritesheets/Icons/UI/64x64.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bo1utikr0r2q1" +path="res://.godot/imported/64x64.png-129f36e07b18bd0408477af73ef87a83.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Spritesheets/Icons/UI/64x64.png" +dest_files=["res://.godot/imported/64x64.png-129f36e07b18bd0408477af73ef87a83.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Entities/Characters/Player/Scripts/States/drawing_bow_state.gd b/Entities/Characters/Player/Scripts/States/drawing_bow_state.gd index cb19bb8..25b8ade 100644 --- a/Entities/Characters/Player/Scripts/States/drawing_bow_state.gd +++ b/Entities/Characters/Player/Scripts/States/drawing_bow_state.gd @@ -3,35 +3,36 @@ extends BaseState signal PlayerBeganDrawingBow @export var strafing_speed := 35 -@export var movement_componenent: MovementComponent @export var body: CharacterBody2D -var used_item_action: String -var animation_finished := false +var _used_item_action: String +var _animation_finished := false +var _movement_componenent: MovementComponent func GetStateEnum() -> PlayerStateMachine.States: return PlayerStateMachine.States.DRAWING_BOW func Enter(extra_parameters: Dictionary) -> void: - animation_finished = false - used_item_action = extra_parameters.action_name + _animation_finished = false + _used_item_action = extra_parameters.action_name + _movement_componenent = ComponentUtils.GetMovementComponent(body) PlayerBeganDrawingBow.emit() func Update(_delta: float) -> void: - if !animation_finished: + if !_animation_finished: return - if !Input.is_action_pressed(used_item_action): + if !Input.is_action_pressed(_used_item_action): state_machine.QueueStateChange(PlayerStateMachine.States.FIRING_ARROW) return - var movement_vector := movement_componenent.movement_vector + var movement_vector := _movement_componenent.movement_vector if movement_vector != Vector2.ZERO: body.velocity = movement_vector * strafing_speed body.move_and_slide() func OnDrawingBowAnimationFinished() -> void: - animation_finished = true + _animation_finished = true diff --git a/Entities/Characters/Player/Scripts/States/idle_state.gd b/Entities/Characters/Player/Scripts/States/idle_state.gd index 533b412..4416ca7 100644 --- a/Entities/Characters/Player/Scripts/States/idle_state.gd +++ b/Entities/Characters/Player/Scripts/States/idle_state.gd @@ -1,10 +1,11 @@ extends BaseState class_name PlayerIdleState -@export var movement_component: MovementComponent - signal PlayerBecameIdle +@export var player: PlayerCharacter + +var _movement_component: MovementComponent var _sit_queued := false var _sit_queue_pos: Vector2 var _sit_queue_dir: Enums.Directions @@ -15,6 +16,10 @@ func GetStateEnum() -> PlayerStateMachine.States: func Enter(_extra_parameters: Dictionary) -> void: + _movement_component = ComponentUtils.GetMovementComponent(player) + if not _movement_component: + print_rich("[color=yellow]Warning: Player does not have a movement component...[/color]") + PlayerBecameIdle.emit() @@ -30,7 +35,7 @@ func Update(_delta: float) -> void: _sit_queued = false return - if movement_component.movement_vector != Vector2.ZERO: + if _movement_component and _movement_component.movement_vector != Vector2.ZERO: state_machine.QueueStateChange(PlayerStateMachine.States.WALKING) diff --git a/Entities/Characters/Player/Scripts/States/walking_state.gd b/Entities/Characters/Player/Scripts/States/walking_state.gd index 9b51991..8e43aad 100644 --- a/Entities/Characters/Player/Scripts/States/walking_state.gd +++ b/Entities/Characters/Player/Scripts/States/walking_state.gd @@ -3,24 +3,27 @@ extends BaseState signal StartedWalking @export var walking_speed := 100 -@export var movement_component: MovementComponent @export var direction_component: FacingDirectionComponent @export var body: CharacterBody2D +var _movement_component: MovementComponent + func GetStateEnum() -> PlayerStateMachine.States: return PlayerStateMachine.States.WALKING func Enter(_extra_parameters: Dictionary) -> void: + _movement_component = ComponentUtils.GetMovementComponent(body) StartedWalking.emit() func Update(_delta: float) -> void: - if movement_component.movement_vector == Vector2.ZERO: + var movement_vector := _movement_component.movement_vector + + if movement_vector == Vector2.ZERO: state_machine.QueueStateChange(PlayerStateMachine.States.IDLE) return - var movement_vector := movement_component.movement_vector body.velocity = movement_vector * walking_speed body.move_and_slide() diff --git a/Entities/Characters/Player/Scripts/movement_component.gd b/Entities/Characters/Player/Scripts/movement_component.gd index 267ac8c..569146e 100644 --- a/Entities/Characters/Player/Scripts/movement_component.gd +++ b/Entities/Characters/Player/Scripts/movement_component.gd @@ -3,9 +3,6 @@ class_name MovementComponent signal MovementInput(movement_vector: Vector2) -# Dynamic Exports -@export var body: CharacterBody2D - var movement_vector: Vector2 func _physics_process(_delta: float) -> void: diff --git a/Entities/Characters/Player/player.tscn b/Entities/Characters/Player/player.tscn index 68bf2cf..1450282 100644 --- a/Entities/Characters/Player/player.tscn +++ b/Entities/Characters/Player/player.tscn @@ -4,7 +4,6 @@ [ext_resource type="PackedScene" uid="uid://c2ydbmmvnfca6" path="res://Entities/Characters/Player/state_machine.tscn" id="1_lyjr2"] [ext_resource type="Script" uid="uid://dacvayqstkvws" path="res://Entities/Characters/Player/Scripts/player.gd" id="1_qqvsf"] [ext_resource type="Script" uid="uid://b0l02v61if6k8" path="res://Scripts/Components/facing_direction_component.gd" id="1_siygm"] -[ext_resource type="Script" uid="uid://dwclkwbig1uii" path="res://Entities/Characters/Player/Scripts/movement_component.gd" id="4_apx8m"] [ext_resource type="Script" uid="uid://dkmc1t43gomdb" path="res://Entities/Characters/Player/Scripts/States/idle_state.gd" id="4_dxcao"] [ext_resource type="Script" uid="uid://ckn7gmtc23b8l" path="res://Entities/Characters/Player/Scripts/States/using_item_a_state.gd" id="5_1mdwi"] [ext_resource type="Script" uid="uid://bwmmah30t3m0u" path="res://Entities/Characters/Player/Scripts/States/walking_state.gd" id="5_cscr0"] @@ -40,24 +39,19 @@ shape = SubResource("RectangleShape2D_apx8m") [node name="FacingDirectionComponent" type="Node" parent="Components" unique_id=408127032] script = ExtResource("1_siygm") -[node name="MovementComponent" type="Node" parent="Components" unique_id=1773880772 node_paths=PackedStringArray("body")] -script = ExtResource("4_apx8m") -body = NodePath("../..") - [node name="State Machine" parent="." unique_id=732559774 node_paths=PackedStringArray("states_container", "current_state") instance=ExtResource("1_lyjr2")] states_container = NodePath("States") current_state = NodePath("States/Idle State") [node name="States" type="Node" parent="State Machine" unique_id=1171587216] -[node name="Idle State" type="Node" parent="State Machine/States" unique_id=2017409248 node_paths=PackedStringArray("movement_component", "state_machine")] +[node name="Idle State" type="Node" parent="State Machine/States" unique_id=2017409248 node_paths=PackedStringArray("player", "state_machine")] script = ExtResource("4_dxcao") -movement_component = NodePath("../../../Components/MovementComponent") +player = NodePath("../../..") state_machine = NodePath("../..") -[node name="Walking State" type="Node" parent="State Machine/States" unique_id=1661048365 node_paths=PackedStringArray("movement_component", "direction_component", "body", "state_machine")] +[node name="Walking State" type="Node" parent="State Machine/States" unique_id=1661048365 node_paths=PackedStringArray("direction_component", "body", "state_machine")] script = ExtResource("5_cscr0") -movement_component = NodePath("../../../Components/MovementComponent") direction_component = NodePath("../../../Components/FacingDirectionComponent") body = NodePath("../../..") state_machine = NodePath("../..") @@ -68,9 +62,8 @@ body = NodePath("../../..") direction_component = NodePath("../../../Components/FacingDirectionComponent") state_machine = NodePath("../..") -[node name="Drawing Bow State" type="Node" parent="State Machine/States" unique_id=317681716 node_paths=PackedStringArray("movement_componenent", "body", "state_machine")] +[node name="Drawing Bow State" type="Node" parent="State Machine/States" unique_id=317681716 node_paths=PackedStringArray("body", "state_machine")] script = ExtResource("7_cscr0") -movement_componenent = NodePath("../../../Components/MovementComponent") body = NodePath("../../..") state_machine = NodePath("../..") diff --git a/Entities/Characters/Utility/Components/movement_component.tscn b/Entities/Characters/Utility/Components/movement_component.tscn new file mode 100644 index 0000000..3fad927 --- /dev/null +++ b/Entities/Characters/Utility/Components/movement_component.tscn @@ -0,0 +1,6 @@ +[gd_scene format=3 uid="uid://nbkisxm2oekn"] + +[ext_resource type="Script" uid="uid://dwclkwbig1uii" path="res://Entities/Characters/Player/Scripts/movement_component.gd" id="1_b2nib"] + +[node name="Movement Component" type="Node" unique_id=737644583] +script = ExtResource("1_b2nib") diff --git a/Global Managers/component_utils.gd b/Global Managers/component_utils.gd new file mode 100644 index 0000000..3704566 --- /dev/null +++ b/Global Managers/component_utils.gd @@ -0,0 +1,8 @@ +extends Node + +# Public Methods +func GetMovementComponent(container: Node) -> MovementComponent: + for node in container.get_children(): + if node is MovementComponent: + return node + return null diff --git a/Global Managers/component_utils.gd.uid b/Global Managers/component_utils.gd.uid new file mode 100644 index 0000000..9efb1ae --- /dev/null +++ b/Global Managers/component_utils.gd.uid @@ -0,0 +1 @@ +uid://cf5j2r4gpceng diff --git a/Global Managers/map_loader.gd b/Global Managers/map_loader.gd index c0a8e34..f3e421d 100644 --- a/Global Managers/map_loader.gd +++ b/Global Managers/map_loader.gd @@ -1,10 +1,14 @@ extends Node +const ERROR_404_MAP = preload("uid://durt8y2ovs6me") +const TITLE_SCREEN = preload("uid://be4nw563yydcr") const HOME_01 = preload("uid://laxewy7irxno") const PATH_TO_DUNGEON_01 = preload("uid://b07m0k40dh042") const SHOP = preload("uid://bwt0ijoq4qmhn") @onready var mapping := { + Enums.MapIds.ERROR_404: ERROR_404_MAP, + Enums.MapIds.TITLE_SCREEN: TITLE_SCREEN, Enums.MapIds.SHOP_01: SHOP, Enums.MapIds.PATH_TO_FOREST_DUNGEON_01: PATH_TO_DUNGEON_01, Enums.MapIds.PATH_TO_FOREST_HOME_01: HOME_01 diff --git a/Main/Scripts/gui.gd b/Main/Scripts/gui.gd index 53faa5e..fcf6f6f 100644 --- a/Main/Scripts/gui.gd +++ b/Main/Scripts/gui.gd @@ -1 +1,3 @@ extends CanvasLayer + +const MAP_UI = preload("uid://ce6ix6ca6js5f") diff --git a/Main/Scripts/main.gd b/Main/Scripts/main.gd index 830cbd1..4b54bd7 100644 --- a/Main/Scripts/main.gd +++ b/Main/Scripts/main.gd @@ -1,10 +1,26 @@ extends Node2D -#@export var initial_map: PackedScene -# -#@onready var world: Node2D = $World -# -## Called when the node enters the scene tree for the first time. -#func _ready() -> void: - #var map := initial_map.instantiate() - #world.add_child(map) +enum StartOptions { + TitleScreen, + InitialMap +} + +@export var starting_scene := StartOptions.TitleScreen + +@onready var map_transitioner: Node = $"Map Transitioner" +@onready var map_ui: Control = $"Gui/Map UI" + +# Private Methods +func _ready() -> void: + match starting_scene: + StartOptions.TitleScreen: + map_transitioner.call_deferred("InstantiateTitleScreen") + StartOptions.InitialMap: + map_transitioner.call_deferred("InstantiateInitialMap") + + +func _on_map_changed(map_id: Enums.MapIds) -> void: + if map_id != Enums.MapIds.TITLE_SCREEN: + map_ui.set_deferred("visible", true) + else: + map_ui.set_deferred("visible", false) diff --git a/Main/Scripts/map_transitioner.gd b/Main/Scripts/map_transitioner.gd index 45c8829..362f82c 100644 --- a/Main/Scripts/map_transitioner.gd +++ b/Main/Scripts/map_transitioner.gd @@ -1,22 +1,45 @@ extends Node +signal GameStarted signal MapChanged(map_id: Enums.MapIds) @export var initial_map_id: Enums.MapIds @onready var world: Node2D = $"../World" -# Private Methods -func _ready() -> void: +# Public Methods +func InstantiateTitleScreen() -> void: + var map_scene := MapLoader.GetMap(Enums.MapIds.TITLE_SCREEN) + var map := map_scene.instantiate() + world.add_child(map) + + if !map.is_node_ready(): + await map.ready + + map.connect("GameStarted", _on_title_screen_game_started_clicked) + + _connect_loading_zone_transporters() + MapChanged.emit(Enums.MapIds.TITLE_SCREEN) + + +func InstantiateInitialMap() -> void: var map_scene := MapLoader.GetMap(initial_map_id) var map := map_scene.instantiate() world.add_child(map) - await map.ready + + if !map.is_node_ready(): + await map.ready _connect_loading_zone_transporters() MapChanged.emit(initial_map_id) +# Private Methods +func _on_title_screen_game_started_clicked() -> void: + GameStarted.emit() + _on_map_transition_queued(initial_map_id, "") + + func _on_map_transition_queued(map_id: Enums.MapIds, marker_name: String) -> void: print("Map Transition Queued: %s" % [Enums.MapIds.keys()[map_id]]) var map_scene := MapLoader.GetMap(map_id) diff --git a/Main/Scripts/persistence_loader.gd b/Main/Scripts/persistence_loader.gd new file mode 100644 index 0000000..85aa647 --- /dev/null +++ b/Main/Scripts/persistence_loader.gd @@ -0,0 +1,6 @@ +extends Node + +# Public Methods +func OnGameStarted() -> void: + print("Loading from disk") + PersistenceManager.LoadFromDisk(PersistenceManager.DEFAULT_SAVE_FILE_PATH) diff --git a/Main/Scripts/persistence_loader.gd.uid b/Main/Scripts/persistence_loader.gd.uid new file mode 100644 index 0000000..16fe4ca --- /dev/null +++ b/Main/Scripts/persistence_loader.gd.uid @@ -0,0 +1 @@ +uid://bkvsdwn7swt1p diff --git a/Main/main.tscn b/Main/main.tscn index a829d4a..0bbe6b5 100644 --- a/Main/main.tscn +++ b/Main/main.tscn @@ -5,18 +5,24 @@ [ext_resource type="Script" uid="uid://c4w8hney4mesw" path="res://Main/Scripts/gui.gd" id="3_8gbba"] [ext_resource type="Script" uid="uid://dr7ljodtof1k5" path="res://Main/Scripts/map_transitioner.gd" id="3_kry3j"] [ext_resource type="Script" uid="uid://cluyhxrc3pdb" path="res://Scripts/dialogue_trigger_connector.gd" id="4_6bp64"] +[ext_resource type="Script" uid="uid://bkvsdwn7swt1p" path="res://Main/Scripts/persistence_loader.gd" id="4_ib3t1"] [ext_resource type="PackedScene" uid="uid://cxc4x4yp7l3hg" path="res://UI/dialogue_box.tscn" id="6_21xkr"] +[ext_resource type="PackedScene" uid="uid://ce6ix6ca6js5f" path="res://UI/Screens/map_ui.tscn" id="8_f6fdm"] [node name="Main" type="Node2D" unique_id=1457826519] script = ExtResource("1_jjgbg") [node name="Map Transitioner" type="Node" parent="." unique_id=1528505665] script = ExtResource("3_kry3j") +initial_map_id = 3 [node name="Dialogue Trigger Connector" type="Node" parent="." unique_id=1187622540 node_paths=PackedStringArray("dialogue_box")] script = ExtResource("4_6bp64") dialogue_box = NodePath("../Gui/Dialogue Box") +[node name="Persistence Loader" type="Node" parent="." unique_id=523510879] +script = ExtResource("4_ib3t1") + [node name="World" type="Node2D" parent="." unique_id=578440549] script = ExtResource("2_bo1nx") @@ -26,5 +32,10 @@ script = ExtResource("3_8gbba") [node name="Dialogue Box" parent="Gui" unique_id=586562815 instance=ExtResource("6_21xkr")] visible = false +[node name="Map UI" parent="Gui" unique_id=98184404 instance=ExtResource("8_f6fdm")] +visible = false + +[connection signal="GameStarted" from="Map Transitioner" to="Persistence Loader" method="OnGameStarted"] +[connection signal="MapChanged" from="Map Transitioner" to="." method="_on_map_changed"] [connection signal="MapChanged" from="Map Transitioner" to="Dialogue Trigger Connector" method="_on_map_changed"] [connection signal="DialogueTriggered" from="Dialogue Trigger Connector" to="Gui/Dialogue Box" method="OnDialogueTriggered"] diff --git a/Maps/Error/error_404_map.tscn b/Maps/Error/error_404_map.tscn new file mode 100644 index 0000000..6efbf87 --- /dev/null +++ b/Maps/Error/error_404_map.tscn @@ -0,0 +1,31 @@ +[gd_scene format=4 uid="uid://durt8y2ovs6me"] + +[ext_resource type="TileSet" uid="uid://df0lg5vkqwbbt" path="res://Resources/Tilesets/home_interior.tres" id="1_dumr0"] + +[node name="Error 404 Map" type="Node2D" unique_id=437227722] + +[node name="Tilemap" type="Node2D" parent="." unique_id=757691205] + +[node name="Floor" type="TileMapLayer" parent="Tilemap" unique_id=1325493977] +tile_map_data = PackedByteArray("AAAAAAAAAQAAAAAAAAAAAAEAAQAAAAEAAAABAAAAAQABAAAAAAABAAEAAQABAAEAAAAAAAIAAQAAAAAAAAAAAAMAAQAAAAEAAAABAAIAAQABAAAAAAABAAMAAQABAAEAAAAAAAQAAQAAAAAAAAAAAAUAAQAAAAEAAAABAAQAAQABAAAAAAABAAUAAQABAAEAAAAAAAYAAQAAAAAAAAAAAAcAAQAAAAEAAAABAAYAAQABAAAAAAABAAcAAQABAAEAAAAAAAgAAQAAAAAAAAAAAAkAAQAAAAEAAAABAAgAAQABAAAAAAABAAkAAQABAAEAAAAAAAoAAQAAAAAAAAAAAAsAAQAAAAEAAAABAAoAAQABAAAAAAABAAsAAQABAAEAAAAAAAwAAQAAAAAAAAAAAA0AAQAAAAEAAAABAAwAAQABAAAAAAABAA0AAQABAAEAAAAAAA4AAQAAAAAAAAAAAA8AAQAAAAEAAAABAA4AAQABAAAAAAABAA8AAQABAAEAAAAAABAAAQAAAAAAAAAAABEAAQAAAAEAAAABABAAAQABAAAAAAABABEAAQABAAEAAAACAAAAAQAAAAAAAAACAAEAAQAAAAEAAAADAAAAAQABAAAAAAADAAEAAQABAAEAAAACAAIAAQAAAAAAAAACAAMAAQAAAAEAAAADAAIAAQABAAAAAAADAAMAAQABAAEAAAACAAQAAQAAAAAAAAACAAUAAQAAAAEAAAADAAQAAQABAAAAAAADAAUAAQABAAEAAAACAAYAAQAAAAAAAAACAAcAAQAAAAEAAAADAAYAAQABAAAAAAADAAcAAQABAAEAAAACAAgAAQAAAAAAAAACAAkAAQAAAAEAAAADAAgAAQABAAAAAAADAAkAAQABAAEAAAACAAoAAQAAAAAAAAACAAsAAQAAAAEAAAADAAoAAQABAAAAAAADAAsAAQABAAEAAAACAAwAAQAAAAAAAAACAA0AAQAAAAEAAAADAAwAAQABAAAAAAADAA0AAQABAAEAAAACAA4AAQAAAAAAAAACAA8AAQAAAAEAAAADAA4AAQABAAAAAAADAA8AAQABAAEAAAACABAAAQAAAAAAAAACABEAAQAAAAEAAAADABAAAQABAAAAAAADABEAAQABAAEAAAAEAAAAAQAAAAAAAAAEAAEAAQAAAAEAAAAFAAAAAQABAAAAAAAFAAEAAQABAAEAAAAEAAIAAQAAAAAAAAAEAAMAAQAAAAEAAAAFAAIAAQABAAAAAAAFAAMAAQABAAEAAAAEAAQAAQAAAAAAAAAEAAUAAQAAAAEAAAAFAAQAAQABAAAAAAAFAAUAAQABAAEAAAAEAAYAAQAAAAAAAAAEAAcAAQAAAAEAAAAFAAYAAQABAAAAAAAFAAcAAQABAAEAAAAEAAgAAQAAAAAAAAAEAAkAAQAAAAEAAAAFAAgAAQABAAAAAAAFAAkAAQABAAEAAAAEAAoAAQAAAAAAAAAEAAsAAQAAAAEAAAAFAAoAAQABAAAAAAAFAAsAAQABAAEAAAAEAAwAAQAAAAAAAAAEAA0AAQAAAAEAAAAFAAwAAQABAAAAAAAFAA0AAQABAAEAAAAEAA4AAQAAAAAAAAAEAA8AAQAAAAEAAAAFAA4AAQABAAAAAAAFAA8AAQABAAEAAAAEABAAAQAAAAAAAAAEABEAAQAAAAEAAAAFABAAAQABAAAAAAAFABEAAQABAAEAAAAGAAAAAQAAAAAAAAAGAAEAAQAAAAEAAAAHAAAAAQABAAAAAAAHAAEAAQABAAEAAAAGAAIAAQAAAAAAAAAGAAMAAQAAAAEAAAAHAAIAAQABAAAAAAAHAAMAAQABAAEAAAAGAAQAAQAAAAAAAAAGAAUAAQAAAAEAAAAHAAQAAQABAAAAAAAHAAUAAQABAAEAAAAGAAYAAQAAAAAAAAAGAAcAAQAAAAEAAAAHAAYAAQABAAAAAAAHAAcAAQABAAEAAAAGAAgAAQAAAAAAAAAGAAkAAQAAAAEAAAAHAAgAAQABAAAAAAAHAAkAAQABAAEAAAAGAAoAAQAAAAAAAAAGAAsAAQAAAAEAAAAHAAoAAQABAAAAAAAHAAsAAQABAAEAAAAGAAwAAQAAAAAAAAAGAA0AAQAAAAEAAAAHAAwAAQABAAAAAAAHAA0AAQABAAEAAAAGAA4AAQAAAAAAAAAGAA8AAQAAAAEAAAAHAA4AAQABAAAAAAAHAA8AAQABAAEAAAAGABAAAQAAAAAAAAAGABEAAQAAAAEAAAAHABAAAQABAAAAAAAHABEAAQABAAEAAAAIAAAAAQAAAAAAAAAIAAEAAQAAAAEAAAAJAAAAAQABAAAAAAAJAAEAAQABAAEAAAAIAAIAAQAAAAAAAAAIAAMAAQAAAAEAAAAJAAIAAQABAAAAAAAJAAMAAQABAAEAAAAIAAQAAQAAAAAAAAAIAAUAAQAAAAEAAAAJAAQAAQABAAAAAAAJAAUAAQABAAEAAAAIAAYAAQAAAAAAAAAIAAcAAQAAAAEAAAAJAAYAAQABAAAAAAAJAAcAAQABAAEAAAAIAAgAAQAAAAAAAAAIAAkAAQAAAAEAAAAJAAgAAQABAAAAAAAJAAkAAQABAAEAAAAIAAoAAQAAAAAAAAAIAAsAAQAAAAEAAAAJAAoAAQABAAAAAAAJAAsAAQABAAEAAAAIAAwAAQAAAAAAAAAIAA0AAQAAAAEAAAAJAAwAAQABAAAAAAAJAA0AAQABAAEAAAAIAA4AAQAAAAAAAAAIAA8AAQAAAAEAAAAJAA4AAQABAAAAAAAJAA8AAQABAAEAAAAIABAAAQAAAAAAAAAIABEAAQAAAAEAAAAJABAAAQABAAAAAAAJABEAAQABAAEAAAAKAAAAAQAAAAAAAAAKAAEAAQAAAAEAAAALAAAAAQABAAAAAAALAAEAAQABAAEAAAAKAAIAAQAAAAAAAAAKAAMAAQAAAAEAAAALAAIAAQABAAAAAAALAAMAAQABAAEAAAAKAAQAAQAAAAAAAAAKAAUAAQAAAAEAAAALAAQAAQABAAAAAAALAAUAAQABAAEAAAAKAAYAAQAAAAAAAAAKAAcAAQAAAAEAAAALAAYAAQABAAAAAAALAAcAAQABAAEAAAAKAAgAAQAAAAAAAAAKAAkAAQAAAAEAAAALAAgAAQABAAAAAAALAAkAAQABAAEAAAAKAAoAAQAAAAAAAAAKAAsAAQAAAAEAAAALAAoAAQABAAAAAAALAAsAAQABAAEAAAAKAAwAAQAAAAAAAAAKAA0AAQAAAAEAAAALAAwAAQABAAAAAAALAA0AAQABAAEAAAAKAA4AAQAAAAAAAAAKAA8AAQAAAAEAAAALAA4AAQABAAAAAAALAA8AAQABAAEAAAAKABAAAQAAAAAAAAAKABEAAQAAAAEAAAALABAAAQABAAAAAAALABEAAQABAAEAAAAMAAAAAQAAAAAAAAAMAAEAAQAAAAEAAAANAAAAAQABAAAAAAANAAEAAQABAAEAAAAMAAIAAQAAAAAAAAAMAAMAAQAAAAEAAAANAAIAAQABAAAAAAANAAMAAQABAAEAAAAMAAQAAQAAAAAAAAAMAAUAAQAAAAEAAAANAAQAAQABAAAAAAANAAUAAQABAAEAAAAMAAYAAQAAAAAAAAAMAAcAAQAAAAEAAAANAAYAAQABAAAAAAANAAcAAQABAAEAAAAMAAgAAQAAAAAAAAAMAAkAAQAAAAEAAAANAAgAAQABAAAAAAANAAkAAQABAAEAAAAMAAoAAQAAAAAAAAAMAAsAAQAAAAEAAAANAAoAAQABAAAAAAANAAsAAQABAAEAAAAMAAwAAQAAAAAAAAAMAA0AAQAAAAEAAAANAAwAAQABAAAAAAANAA0AAQABAAEAAAAMAA4AAQAAAAAAAAAMAA8AAQAAAAEAAAANAA4AAQABAAAAAAANAA8AAQABAAEAAAAMABAAAQAAAAAAAAAMABEAAQAAAAEAAAANABAAAQABAAAAAAANABEAAQABAAEAAAAOAAAAAQAAAAAAAAAOAAEAAQAAAAEAAAAPAAAAAQABAAAAAAAPAAEAAQABAAEAAAAOAAIAAQAAAAAAAAAOAAMAAQAAAAEAAAAPAAIAAQABAAAAAAAPAAMAAQABAAEAAAAOAAQAAQAAAAAAAAAOAAUAAQAAAAEAAAAPAAQAAQABAAAAAAAPAAUAAQABAAEAAAAOAAYAAQAAAAAAAAAOAAcAAQAAAAEAAAAPAAYAAQABAAAAAAAPAAcAAQABAAEAAAAOAAgAAQAAAAAAAAAOAAkAAQAAAAEAAAAPAAgAAQABAAAAAAAPAAkAAQABAAEAAAAOAAoAAQAAAAAAAAAOAAsAAQAAAAEAAAAPAAoAAQABAAAAAAAPAAsAAQABAAEAAAAOAAwAAQAAAAAAAAAOAA0AAQAAAAEAAAAPAAwAAQABAAAAAAAPAA0AAQABAAEAAAAOAA4AAQAAAAAAAAAOAA8AAQAAAAEAAAAPAA4AAQABAAAAAAAPAA8AAQABAAEAAAAOABAAAQAAAAAAAAAOABEAAQAAAAEAAAAPABAAAQABAAAAAAAPABEAAQABAAEAAAAQAAAAAQAAAAAAAAAQAAEAAQAAAAEAAAARAAAAAQABAAAAAAARAAEAAQABAAEAAAAQAAIAAQAAAAAAAAAQAAMAAQAAAAEAAAARAAIAAQABAAAAAAARAAMAAQABAAEAAAAQAAQAAQAAAAAAAAAQAAUAAQAAAAEAAAARAAQAAQABAAAAAAARAAUAAQABAAEAAAAQAAYAAQAAAAAAAAAQAAcAAQAAAAEAAAARAAYAAQABAAAAAAARAAcAAQABAAEAAAAQAAgAAQAAAAAAAAAQAAkAAQAAAAEAAAARAAgAAQABAAAAAAARAAkAAQABAAEAAAAQAAoAAQAAAAAAAAAQAAsAAQAAAAEAAAARAAoAAQABAAAAAAARAAsAAQABAAEAAAAQAAwAAQAAAAAAAAAQAA0AAQAAAAEAAAARAAwAAQABAAAAAAARAA0AAQABAAEAAAAQAA4AAQAAAAAAAAAQAA8AAQAAAAEAAAARAA4AAQABAAAAAAARAA8AAQABAAEAAAAQABAAAQAAAAAAAAAQABEAAQAAAAEAAAARABAAAQABAAAAAAARABEAAQABAAEAAAASAAAAAQAAAAAAAAASAAEAAQAAAAEAAAATAAAAAQABAAAAAAATAAEAAQABAAEAAAASAAIAAQAAAAAAAAASAAMAAQAAAAEAAAATAAIAAQABAAAAAAATAAMAAQABAAEAAAASAAQAAQAAAAAAAAASAAUAAQAAAAEAAAATAAQAAQABAAAAAAATAAUAAQABAAEAAAASAAYAAQAAAAAAAAASAAcAAQAAAAEAAAATAAYAAQABAAAAAAATAAcAAQABAAEAAAASAAgAAQAAAAAAAAASAAkAAQAAAAEAAAATAAgAAQABAAAAAAATAAkAAQABAAEAAAASAAoAAQAAAAAAAAASAAsAAQAAAAEAAAATAAoAAQABAAAAAAATAAsAAQABAAEAAAASAAwAAQAAAAAAAAASAA0AAQAAAAEAAAATAAwAAQABAAAAAAATAA0AAQABAAEAAAASAA4AAQAAAAAAAAASAA8AAQAAAAEAAAATAA4AAQABAAAAAAATAA8AAQABAAEAAAASABAAAQAAAAAAAAASABEAAQAAAAEAAAATABAAAQABAAAAAAATABEAAQABAAEAAAAUAAAAAQAAAAAAAAAUAAEAAQAAAAEAAAAVAAAAAQABAAAAAAAVAAEAAQABAAEAAAAUAAIAAQAAAAAAAAAUAAMAAQAAAAEAAAAVAAIAAQABAAAAAAAVAAMAAQABAAEAAAAUAAQAAQAAAAAAAAAUAAUAAQAAAAEAAAAVAAQAAQABAAAAAAAVAAUAAQABAAEAAAAUAAYAAQAAAAAAAAAUAAcAAQAAAAEAAAAVAAYAAQABAAAAAAAVAAcAAQABAAEAAAAUAAgAAQAAAAAAAAAUAAkAAQAAAAEAAAAVAAgAAQABAAAAAAAVAAkAAQABAAEAAAAUAAoAAQAAAAAAAAAUAAsAAQAAAAEAAAAVAAoAAQABAAAAAAAVAAsAAQABAAEAAAAUAAwAAQAAAAAAAAAUAA0AAQAAAAEAAAAVAAwAAQABAAAAAAAVAA0AAQABAAEAAAAUAA4AAQAAAAAAAAAUAA8AAQAAAAEAAAAVAA4AAQABAAAAAAAVAA8AAQABAAEAAAAUABAAAQAAAAAAAAAUABEAAQAAAAEAAAAVABAAAQABAAAAAAAVABEAAQABAAEAAAAWAAAAAQAAAAAAAAAWAAEAAQAAAAEAAAAXAAAAAQABAAAAAAAXAAEAAQABAAEAAAAWAAIAAQAAAAAAAAAWAAMAAQAAAAEAAAAXAAIAAQABAAAAAAAXAAMAAQABAAEAAAAWAAQAAQAAAAAAAAAWAAUAAQAAAAEAAAAXAAQAAQABAAAAAAAXAAUAAQABAAEAAAAWAAYAAQAAAAAAAAAWAAcAAQAAAAEAAAAXAAYAAQABAAAAAAAXAAcAAQABAAEAAAAWAAgAAQAAAAAAAAAWAAkAAQAAAAEAAAAXAAgAAQABAAAAAAAXAAkAAQABAAEAAAAWAAoAAQAAAAAAAAAWAAsAAQAAAAEAAAAXAAoAAQABAAAAAAAXAAsAAQABAAEAAAAWAAwAAQAAAAAAAAAWAA0AAQAAAAEAAAAXAAwAAQABAAAAAAAXAA0AAQABAAEAAAAWAA4AAQAAAAAAAAAWAA8AAQAAAAEAAAAXAA4AAQABAAAAAAAXAA8AAQABAAEAAAAWABAAAQAAAAAAAAAWABEAAQAAAAEAAAAXABAAAQABAAAAAAAXABEAAQABAAEAAAAYAAAAAQAAAAAAAAAYAAEAAQAAAAEAAAAZAAAAAQABAAAAAAAZAAEAAQABAAEAAAAYAAIAAQAAAAAAAAAYAAMAAQAAAAEAAAAZAAIAAQABAAAAAAAZAAMAAQABAAEAAAAYAAQAAQAAAAAAAAAYAAUAAQAAAAEAAAAZAAQAAQABAAAAAAAZAAUAAQABAAEAAAAYAAYAAQAAAAAAAAAYAAcAAQAAAAEAAAAZAAYAAQABAAAAAAAZAAcAAQABAAEAAAAYAAgAAQAAAAAAAAAYAAkAAQAAAAEAAAAZAAgAAQABAAAAAAAZAAkAAQABAAEAAAAYAAoAAQAAAAAAAAAYAAsAAQAAAAEAAAAZAAoAAQABAAAAAAAZAAsAAQABAAEAAAAYAAwAAQAAAAAAAAAYAA0AAQAAAAEAAAAZAAwAAQABAAAAAAAZAA0AAQABAAEAAAAYAA4AAQAAAAAAAAAYAA8AAQAAAAEAAAAZAA4AAQABAAAAAAAZAA8AAQABAAEAAAAYABAAAQAAAAAAAAAYABEAAQAAAAEAAAAZABAAAQABAAAAAAAZABEAAQABAAEAAAAaAAAAAQAAAAAAAAAaAAEAAQAAAAEAAAAbAAAAAQABAAAAAAAbAAEAAQABAAEAAAAaAAIAAQAAAAAAAAAaAAMAAQAAAAEAAAAbAAIAAQABAAAAAAAbAAMAAQABAAEAAAAaAAQAAQAAAAAAAAAaAAUAAQAAAAEAAAAbAAQAAQABAAAAAAAbAAUAAQABAAEAAAAaAAYAAQAAAAAAAAAaAAcAAQAAAAEAAAAbAAYAAQABAAAAAAAbAAcAAQABAAEAAAAaAAgAAQAAAAAAAAAaAAkAAQAAAAEAAAAbAAgAAQABAAAAAAAbAAkAAQABAAEAAAAaAAoAAQAAAAAAAAAaAAsAAQAAAAEAAAAbAAoAAQABAAAAAAAbAAsAAQABAAEAAAAaAAwAAQAAAAAAAAAaAA0AAQAAAAEAAAAbAAwAAQABAAAAAAAbAA0AAQABAAEAAAAaAA4AAQAAAAAAAAAaAA8AAQAAAAEAAAAbAA4AAQABAAAAAAAbAA8AAQABAAEAAAAaABAAAQAAAAAAAAAaABEAAQAAAAEAAAAbABAAAQABAAAAAAAbABEAAQABAAEAAAAcAAAAAQAAAAAAAAAcAAEAAQAAAAEAAAAdAAAAAQABAAAAAAAdAAEAAQABAAEAAAAcAAIAAQAAAAAAAAAcAAMAAQAAAAEAAAAdAAIAAQABAAAAAAAdAAMAAQABAAEAAAAcAAQAAQAAAAAAAAAcAAUAAQAAAAEAAAAdAAQAAQABAAAAAAAdAAUAAQABAAEAAAAcAAYAAQAAAAAAAAAcAAcAAQAAAAEAAAAdAAYAAQABAAAAAAAdAAcAAQABAAEAAAAcAAgAAQAAAAAAAAAcAAkAAQAAAAEAAAAdAAgAAQABAAAAAAAdAAkAAQABAAEAAAAcAAoAAQAAAAAAAAAcAAsAAQAAAAEAAAAdAAoAAQABAAAAAAAdAAsAAQABAAEAAAAcAAwAAQAAAAAAAAAcAA0AAQAAAAEAAAAdAAwAAQABAAAAAAAdAA0AAQABAAEAAAAcAA4AAQAAAAAAAAAcAA8AAQAAAAEAAAAdAA4AAQABAAAAAAAdAA8AAQABAAEAAAAcABAAAQAAAAAAAAAcABEAAQAAAAEAAAAdABAAAQABAAAAAAAdABEAAQABAAEAAAAeAAAAAQAAAAAAAAAeAAEAAQAAAAEAAAAfAAAAAQABAAAAAAAfAAEAAQABAAEAAAAeAAIAAQAAAAAAAAAeAAMAAQAAAAEAAAAfAAIAAQABAAAAAAAfAAMAAQABAAEAAAAeAAQAAQAAAAAAAAAeAAUAAQAAAAEAAAAfAAQAAQABAAAAAAAfAAUAAQABAAEAAAAeAAYAAQAAAAAAAAAeAAcAAQAAAAEAAAAfAAYAAQABAAAAAAAfAAcAAQABAAEAAAAeAAgAAQAAAAAAAAAeAAkAAQAAAAEAAAAfAAgAAQABAAAAAAAfAAkAAQABAAEAAAAeAAoAAQAAAAAAAAAeAAsAAQAAAAEAAAAfAAoAAQABAAAAAAAfAAsAAQABAAEAAAAeAAwAAQAAAAAAAAAeAA0AAQAAAAEAAAAfAAwAAQABAAAAAAAfAA0AAQABAAEAAAAeAA4AAQAAAAAAAAAeAA8AAQAAAAEAAAAfAA4AAQABAAAAAAAfAA8AAQABAAEAAAAeABAAAQAAAAAAAAAeABEAAQAAAAEAAAAfABAAAQABAAAAAAAfABEAAQABAAEAAAAgAAAAAQAAAAAAAAAgAAEAAQAAAAEAAAAhAAAAAQABAAAAAAAhAAEAAQABAAEAAAAgAAIAAQAAAAAAAAAgAAMAAQAAAAEAAAAhAAIAAQABAAAAAAAhAAMAAQABAAEAAAAgAAQAAQAAAAAAAAAgAAUAAQAAAAEAAAAhAAQAAQABAAAAAAAhAAUAAQABAAEAAAAgAAYAAQAAAAAAAAAgAAcAAQAAAAEAAAAhAAYAAQABAAAAAAAhAAcAAQABAAEAAAAgAAgAAQAAAAAAAAAgAAkAAQAAAAEAAAAhAAgAAQABAAAAAAAhAAkAAQABAAEAAAAgAAoAAQAAAAAAAAAgAAsAAQAAAAEAAAAhAAoAAQABAAAAAAAhAAsAAQABAAEAAAAgAAwAAQAAAAAAAAAgAA0AAQAAAAEAAAAhAAwAAQABAAAAAAAhAA0AAQABAAEAAAAgAA4AAQAAAAAAAAAgAA8AAQAAAAEAAAAhAA4AAQABAAAAAAAhAA8AAQABAAEAAAAgABAAAQAAAAAAAAAgABEAAQAAAAEAAAAhABAAAQABAAAAAAAhABEAAQABAAEAAAAiAAAAAQAAAAAAAAAiAAEAAQAAAAEAAAAiAAIAAQAAAAAAAAAiAAMAAQAAAAEAAAAiAAQAAQAAAAAAAAAiAAUAAQAAAAEAAAAiAAYAAQAAAAAAAAAiAAcAAQAAAAEAAAAiAAgAAQAAAAAAAAAiAAkAAQAAAAEAAAAiAAoAAQAAAAAAAAAiAAsAAQAAAAEAAAAiAAwAAQAAAAAAAAAiAA0AAQAAAAEAAAAiAA4AAQAAAAAAAAAiAA8AAQAAAAEAAAAiABAAAQAAAAAAAAAiABEAAQAAAAEAAAA=") +tile_set = ExtResource("1_dumr0") + +[node name="Camera2D" type="Camera2D" parent="." unique_id=821609825] +position = Vector2(251, 140) +zoom = Vector2(4, 4) + +[node name="UI" type="CanvasLayer" parent="." unique_id=1085921691] + +[node name="Label" type="Label" parent="UI" unique_id=1234335666] +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -20.0 +offset_top = -11.5 +offset_right = 20.0 +offset_bottom = 11.5 +grow_horizontal = 2 +grow_vertical = 2 +text = "ERROR: No map set for loading zone" diff --git a/Maps/Forest Dungeon Entrance/Interiors/home_01.tscn b/Maps/Forest Dungeon Entrance/Interiors/home_01.tscn index d03e369..5307a90 100644 --- a/Maps/Forest Dungeon Entrance/Interiors/home_01.tscn +++ b/Maps/Forest Dungeon Entrance/Interiors/home_01.tscn @@ -11,6 +11,7 @@ [ext_resource type="PackedScene" uid="uid://b60nr4wfvijpf" path="res://Entities/Map Objects/Dialogue/dialogue_trigger.tscn" id="5_msu6a"] [ext_resource type="Texture2D" uid="uid://bm5ewxv51potl" path="res://Assets/Spritesheets/NPCs/Miner_Mike.png" id="6_x3y8m"] [ext_resource type="Texture2D" uid="uid://bqvnkdyhfa1yq" path="res://Maps/Forest Dungeon Entrance/Interiors/Home_01_Overlay_01.png" id="11_6xfm6"] +[ext_resource type="PackedScene" uid="uid://nbkisxm2oekn" path="res://Entities/Characters/Utility/Components/movement_component.tscn" id="11_fqvwb"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_7kg22"] size = Vector2(32, 8) @@ -125,6 +126,7 @@ position = Vector2(80, 188) shape = SubResource("RectangleShape2D_7kg22") [node name="Loading Zone Transporter" parent="Loading Zones/Collision Loading Zone" unique_id=1690817663 instance=ExtResource("3_7kg22")] +destination_map_id = 2 destination_marker_name = "Home 01 Entrance" [node name="Spawn Markers" type="Node2D" parent="." unique_id=1756787676] @@ -160,6 +162,8 @@ zoom = Vector2(3, 3) [node name="Player" parent="." unique_id=1502234578 instance=ExtResource("2_lky26")] position = Vector2(108, 139) +[node name="Movement Component" parent="Player" unique_id=737644583 instance=ExtResource("11_fqvwb")] + [node name="Overlay" type="Sprite2D" parent="." unique_id=455840170] position = Vector2(124, 217) scale = Vector2(0.25, 0.25) diff --git a/Maps/Forest Dungeon Entrance/path_to_dungeon_01.tscn b/Maps/Forest Dungeon Entrance/path_to_dungeon_01.tscn index 7b14875..736ddfd 100644 --- a/Maps/Forest Dungeon Entrance/path_to_dungeon_01.tscn +++ b/Maps/Forest Dungeon Entrance/path_to_dungeon_01.tscn @@ -28,6 +28,7 @@ [ext_resource type="PackedScene" uid="uid://cla2d3gii8qda" path="res://Entities/Map Objects/Loading Zone/interactive_loading_zone.tscn" id="20_c5vrl"] [ext_resource type="PackedScene" uid="uid://b60nr4wfvijpf" path="res://Entities/Map Objects/Dialogue/dialogue_trigger.tscn" id="20_x6da4"] [ext_resource type="PackedScene" uid="uid://c7rjjlamkqhnw" path="res://Debug/Utility Objects/under_construction_block.tscn" id="26_4lnhp"] +[ext_resource type="PackedScene" uid="uid://nbkisxm2oekn" path="res://Entities/Characters/Utility/Components/movement_component.tscn" id="28_mf3dv"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_lwurn"] size = Vector2(768, 494) @@ -341,7 +342,7 @@ position = Vector2(-1, -0.5) shape = SubResource("RectangleShape2D_xrhbk") [node name="Loading Zone Transporter" parent="Loading Zones/Shop Door" unique_id=1690817663 instance=ExtResource("19_c5vrl")] -destination_map_id = 1 +destination_map_id = 3 destination_marker_name = "Entrance" [node name="Spawn Markers" type="Node2D" parent="." unique_id=1420428815] @@ -352,6 +353,8 @@ position = Vector2(278, 474) [node name="Player" parent="." unique_id=1502234578 instance=ExtResource("4_4igim")] position = Vector2(656, 498) +[node name="Movement Component" parent="Player" unique_id=737644583 instance=ExtResource("28_mf3dv")] + [node name="Camera2D" type="Camera2D" parent="Player" unique_id=1115720225] position = Vector2(0, 1) zoom = Vector2(3, 3) diff --git a/Maps/Live Menus/Scripts/title_screen.gd b/Maps/Live Menus/Scripts/title_screen.gd new file mode 100644 index 0000000..c3e94f4 --- /dev/null +++ b/Maps/Live Menus/Scripts/title_screen.gd @@ -0,0 +1,7 @@ +extends Node2D + +signal GameStarted + +# Private Methods +func _on_start_game_button_pressed() -> void: + GameStarted.emit() diff --git a/Maps/Live Menus/Scripts/title_screen.gd.uid b/Maps/Live Menus/Scripts/title_screen.gd.uid new file mode 100644 index 0000000..af87aaf --- /dev/null +++ b/Maps/Live Menus/Scripts/title_screen.gd.uid @@ -0,0 +1 @@ +uid://qv5i4xr6pldc diff --git a/Maps/Live Menus/title_screen.tscn b/Maps/Live Menus/title_screen.tscn new file mode 100644 index 0000000..931930c --- /dev/null +++ b/Maps/Live Menus/title_screen.tscn @@ -0,0 +1,95 @@ +[gd_scene format=4 uid="uid://be4nw563yydcr"] + +[ext_resource type="Script" uid="uid://qv5i4xr6pldc" path="res://Maps/Live Menus/Scripts/title_screen.gd" id="1_q1wq0"] +[ext_resource type="TileSet" uid="uid://cds2lapr3niap" path="res://Resources/Tilesets/forest_exterior.tres" id="1_x5wur"] +[ext_resource type="PackedScene" uid="uid://bjufxlsrlcuas" path="res://Entities/Buildings/home_01.tscn" id="2_x4fat"] +[ext_resource type="PackedScene" uid="uid://6athlweutl2g" path="res://Entities/Characters/Player/player.tscn" id="3_kqssl"] +[ext_resource type="PackedScene" uid="uid://be6xfndyj4ckx" path="res://Entities/Map Objects/Trees/tree_02.tscn" id="4_gs8fo"] +[ext_resource type="PackedScene" uid="uid://bcx1d8kvp7o0h" path="res://Entities/Map Objects/Trees/tree_03.tscn" id="5_hgldw"] + +[node name="TitleScreen" type="Node2D" unique_id=791312405] +y_sort_enabled = true +script = ExtResource("1_q1wq0") + +[node name="Tilemap" type="Node2D" parent="." unique_id=1369546312] +y_sort_enabled = true + +[node name="Ground" type="TileMapLayer" parent="Tilemap" unique_id=2038158968] +tile_map_data = PackedByteArray("AAAAAAAAAgAAAAAAAAAAAAEAAgAAAAAAAAAAAAIAAgAAAAAAAAAAAAMAAgAAAAAAAAAAAAQAAgAAAAAAAAAAAAUAAgAAAAAAAAAAAAYAAgAAAAAAAAAAAAcAAgAAAAAAAAAAAAgAAgAAAAAAAAAAAAkAAgAAAAAAAAAAAAoAAgAAAAAAAAAAAAsAAgAAAAAAAAAAAAwAAgAAAAAAAAAAAA0AAgAAAAAAAAAAAA4AAgAAAAAAAAAAAA8AAgAAAAAAAAAAABAAAgAAAAAAAAAAABEAAgAAAAAAAAAAABIAAgAAAAAAAAAAABMAAgAAAAAAAAAAABQAAgAAAAAAAAAAABUAAgAAAAAAAAAAABYAAgAAAAAAAAAAABcAAgAAAAAAAAAAABgAAgAAAAAAAAAAABkAAgAAAAAAAAAAABoAAgAAAAAAAAAAABsAAgAAAAAAAAAAABwAAgAAAAAAAAAAAB0AAgAAAAAAAAAAAB4AAgAAAAAAAAAAAB8AAgAAAAAAAAAAACAAAgAAAAAAAAAAACEAAgAAAAAAAAAAACIAAgAAAAAAAAAAACMAAgAAAAAAAAAAACQAAgAAAAAAAAAAACUAAgAAAAAAAAAAACYAAgAAAAAAAAAAACcAAgAAAAAAAAAAACgAAgAAAAAAAAAAACkAAgAAAAAAAAABAAAAAgAAAAAAAAABAAEAAgAAAAAAAAABAAIAAgAAAAAAAAABAAMAAgAAAAAAAAABAAQAAgAAAAAAAAABAAUAAgAAAAAAAAABAAYAAgAAAAAAAAABAAcAAgAAAAAAAAABAAgAAgAAAAAAAAABAAkAAgAAAAAAAAABAAoAAgAAAAAAAAABAAsAAgAAAAAAAAABAAwAAgAAAAAAAAABAA0AAgAAAAAAAAABAA4AAgAAAAAAAAABAA8AAgAAAAAAAAABABAAAgAAAAAAAAABABEAAgAAAAAAAAABABIAAgAAAAAAAAABABMAAgAAAAAAAAABABQAAgAAAAAAAAABABUAAgAAAAAAAAABABYAAgAAAAAAAAABABcAAgAAAAAAAAABABgAAgAAAAAAAAABABkAAgAAAAAAAAABABoAAgAAAAAAAAABABsAAgAAAAAAAAABABwAAgAAAAAAAAABAB0AAgAAAAAAAAABAB4AAgAAAAAAAAABAB8AAgAAAAAAAAABACAAAgAAAAAAAAABACEAAgAAAAAAAAABACIAAgAAAAAAAAABACMAAgAAAAAAAAABACQAAgAAAAAAAAABACUAAgAAAAAAAAABACYAAgAAAAAAAAABACcAAgAAAAAAAAABACgAAgAAAAAAAAABACkAAgAAAAAAAAACAAAAAgAAAAAAAAACAAEAAgAAAAAAAAACAAIAAgAAAAAAAAACAAMAAgAAAAAAAAACAAQAAgAAAAAAAAACAAUAAgAAAAAAAAACAAYAAgAAAAAAAAACAAcAAgAAAAAAAAACAAgAAgAAAAAAAAACAAkAAgAAAAAAAAACAAoAAgAAAAAAAAACAAsAAgAAAAAAAAACAAwAAgAAAAAAAAACAA0AAgAAAAAAAAACAA4AAgAAAAAAAAACAA8AAgAAAAAAAAACABAAAgAAAAAAAAACABEAAgAAAAAAAAACABIAAgAAAAAAAAACABMAAgAAAAAAAAACABQAAgAAAAAAAAACABUAAgAAAAAAAAACABYAAgAAAAAAAAACABcAAgAAAAAAAAACABgAAgAAAAAAAAACABkAAgAAAAAAAAACABoAAgAAAAAAAAACABsAAgAAAAAAAAACABwAAgAAAAAAAAACAB0AAgAAAAAAAAACAB4AAgAAAAAAAAACAB8AAgAAAAAAAAACACAAAgAAAAAAAAACACEAAgAAAAAAAAACACIAAgAAAAAAAAACACMAAgAAAAAAAAACACQAAgAAAAAAAAACACUAAgAAAAAAAAACACYAAgAAAAAAAAACACcAAgAAAAAAAAACACgAAgAAAAAAAAACACkAAgAAAAAAAAADAAAAAgAAAAAAAAADAAEAAgAAAAAAAAADAAIAAgAAAAAAAAADAAMAAgAAAAAAAAADAAQAAgAAAAAAAAADAAUAAgAAAAAAAAADAAYAAgAAAAAAAAADAAcAAgAAAAAAAAADAAgAAgAAAAAAAAADAAkAAgAAAAAAAAADAAoAAgAAAAAAAAADAAsAAgAAAAAAAAADAAwAAgAAAAAAAAADAA0AAgAAAAAAAAADAA4AAgAAAAAAAAADAA8AAgAAAAAAAAADABAAAgAAAAAAAAADABEAAgAAAAAAAAADABIAAgAAAAAAAAADABMAAgAAAAAAAAADABQAAgAAAAAAAAADABUAAgAAAAAAAAADABYAAgAAAAAAAAADABcAAgAAAAAAAAADABgAAgAAAAAAAAADABkAAgAAAAAAAAADABoAAgAAAAAAAAADABsAAgAAAAAAAAADABwAAgAAAAAAAAADAB0AAgAAAAAAAAADAB4AAgAAAAAAAAADAB8AAgAAAAAAAAADACAAAgAAAAAAAAADACEAAgAAAAAAAAADACIAAgAAAAAAAAADACMAAgAAAAAAAAADACQAAgAAAAAAAAADACUAAgAAAAAAAAADACYAAgAAAAAAAAADACcAAgAAAAAAAAADACgAAgAAAAAAAAADACkAAgAAAAAAAAAEAAAAAgAAAAAAAAAEAAEAAgAAAAAAAAAEAAIAAgAAAAAAAAAEAAMAAgAAAAAAAAAEAAQAAgAAAAAAAAAEAAUAAgAAAAAAAAAEAAYAAgAAAAAAAAAEAAcAAgAAAAAAAAAEAAgAAgAAAAAAAAAEAAkAAgAAAAAAAAAEAAoAAgAAAAAAAAAEAAsAAgAAAAAAAAAEAAwAAgAAAAAAAAAEAA0AAgAAAAAAAAAEAA4AAgAAAAAAAAAEAA8AAgAAAAAAAAAEABAAAgAAAAAAAAAEABEAAgAAAAAAAAAEABIAAgAAAAAAAAAEABMAAgAAAAAAAAAEABQAAgAAAAAAAAAEABUAAgAAAAAAAAAEABYAAgAAAAAAAAAEABcAAgAAAAAAAAAEABgAAgAAAAAAAAAEABkAAgAAAAAAAAAEABoAAgAAAAAAAAAEABsAAgAAAAAAAAAEABwAAgAAAAAAAAAEAB0AAgAAAAAAAAAEAB4AAgAAAAAAAAAEAB8AAgAAAAAAAAAEACAAAgAAAAAAAAAEACEAAgAAAAAAAAAEACIAAgAAAAAAAAAEACMAAgAAAAAAAAAEACQAAgAAAAAAAAAEACUAAgAAAAAAAAAEACYAAgAAAAAAAAAEACcAAgAAAAAAAAAEACgAAgAAAAAAAAAEACkAAgAAAAAAAAAFAAAAAgAAAAAAAAAFAAEAAgAAAAAAAAAFAAIAAgAAAAAAAAAFAAMAAgAAAAAAAAAFAAQAAgAAAAAAAAAFAAUAAgAAAAAAAAAFAAYAAgAAAAAAAAAFAAcAAgAAAAAAAAAFAAgAAgAAAAAAAAAFAAkAAgAAAAAAAAAFAAoAAgAAAAAAAAAFAAsAAgAAAAAAAAAFAAwAAgAAAAAAAAAFAA0AAgAAAAAAAAAFAA4AAgAAAAAAAAAFAA8AAgAAAAAAAAAFABAAAgAAAAAAAAAFABEAAgAAAAAAAAAFABIAAgAAAAAAAAAFABMAAgAAAAAAAAAFABQAAgAAAAAAAAAFABUAAgAAAAAAAAAFABYAAgAAAAAAAAAFABcAAgAAAAAAAAAFABgAAgAAAAAAAAAFABkAAgAAAAAAAAAFABoAAgAAAAAAAAAFABsAAgAAAAAAAAAFABwAAgAAAAAAAAAFAB0AAgAAAAAAAAAFAB4AAgAAAAAAAAAFAB8AAgAAAAAAAAAFACAAAgAAAAAAAAAFACEAAgAAAAAAAAAFACIAAgAAAAAAAAAFACMAAgAAAAAAAAAFACQAAgAAAAAAAAAFACUAAgAAAAAAAAAFACYAAgAAAAAAAAAFACcAAgAAAAAAAAAFACgAAgAAAAAAAAAFACkAAgAAAAAAAAAGAAAAAgAAAAAAAAAGAAEAAgAAAAAAAAAGAAIAAgAAAAAAAAAGAAMAAgAAAAAAAAAGAAQAAgAAAAAAAAAGAAUAAgAAAAAAAAAGAAYAAgAAAAAAAAAGAAcAAgAAAAAAAAAGAAgAAgAAAAAAAAAGAAkAAgAAAAAAAAAGAAoAAgAAAAAAAAAGAAsAAgAAAAAAAAAGAAwAAgAAAAAAAAAGAA0AAgAAAAAAAAAGAA4AAgAAAAAAAAAGAA8AAgAAAAAAAAAGABAAAgAAAAAAAAAGABEAAgAAAAAAAAAGABIAAgAAAAAAAAAGABMAAgAAAAAAAAAGABQAAgAAAAAAAAAGABUAAgAAAAAAAAAGABYAAgAAAAAAAAAGABcAAgAAAAAAAAAGABgAAgAAAAAAAAAGABkAAgAAAAAAAAAGABoAAgAAAAAAAAAGABsAAgAAAAAAAAAGABwAAgAAAAAAAAAGAB0AAgAAAAAAAAAGAB4AAgAAAAAAAAAGAB8AAgAAAAAAAAAGACAAAgAAAAAAAAAGACEAAgAAAAAAAAAGACIAAgAAAAAAAAAGACMAAgAAAAAAAAAGACQAAgAAAAAAAAAGACUAAgAAAAAAAAAGACYAAgAAAAAAAAAGACcAAgAAAAAAAAAGACgAAgAAAAAAAAAGACkAAgAAAAAAAAAHAAAAAgAAAAAAAAAHAAEAAgAAAAAAAAAHAAIAAgAAAAAAAAAHAAMAAgAAAAAAAAAHAAQAAgAAAAAAAAAHAAUAAgAAAAAAAAAHAAYAAgAAAAAAAAAHAAcAAgAAAAAAAAAHAAgAAgAAAAAAAAAHAAkAAgAAAAAAAAAHAAoAAgAAAAAAAAAHAAsAAgAAAAAAAAAHAAwAAgAAAAAAAAAHAA0AAgAAAAAAAAAHAA4AAgAAAAAAAAAHAA8AAgAAAAAAAAAHABAAAgAAAAAAAAAHABEAAgAAAAAAAAAHABIAAgAAAAAAAAAHABMAAgAAAAAAAAAHABQAAgAAAAAAAAAHABUAAgAAAAAAAAAHABYAAgAAAAAAAAAHABcAAgAAAAAAAAAHABgAAgAAAAAAAAAHABkAAgAAAAAAAAAHABoAAgAAAAAAAAAHABsAAgAAAAAAAAAHABwAAgAAAAAAAAAHAB0AAgAAAAAAAAAHAB4AAgAAAAAAAAAHAB8AAgAAAAAAAAAHACAAAgAAAAAAAAAHACEAAgAAAAAAAAAHACIAAgAAAAAAAAAHACMAAgAAAAAAAAAHACQAAgAAAAAAAAAHACUAAgAAAAAAAAAHACYAAgAAAAAAAAAHACcAAgAAAAAAAAAHACgAAgAAAAAAAAAHACkAAgAAAAAAAAAIAAAAAgAAAAAAAAAIAAEAAgAAAAAAAAAIAAIAAgAAAAAAAAAIAAMAAgAAAAAAAAAIAAQAAgAAAAAAAAAIAAUAAgAAAAAAAAAIAAYAAgAAAAAAAAAIAAcAAgAAAAAAAAAIAAgAAgAAAAAAAAAIAAkAAgAAAAAAAAAIAAoAAgAAAAAAAAAIAAsAAgAAAAAAAAAIAAwAAgAAAAAAAAAIAA0AAgAAAAAAAAAIAA4AAgAAAAAAAAAIAA8AAgAAAAAAAAAIABAAAgAAAAAAAAAIABEAAgAAAAAAAAAIABIAAgAAAAAAAAAIABMAAgAAAAAAAAAIABQAAgAAAAAAAAAIABUAAgAAAAAAAAAIABYAAgAAAAAAAAAIABcAAgAAAAAAAAAIABgAAgAAAAAAAAAIABkAAgAAAAAAAAAIABoAAgAAAAAAAAAIABsAAgAAAAAAAAAIABwAAgAAAAAAAAAIAB0AAgAAAAAAAAAIAB4AAgAAAAAAAAAIAB8AAgAAAAAAAAAIACAAAgAAAAAAAAAIACEAAgAAAAAAAAAIACIAAgAAAAAAAAAIACMAAgAAAAAAAAAIACQAAgAAAAAAAAAIACUAAgAAAAAAAAAIACYAAgAAAAAAAAAIACcAAgAAAAAAAAAIACgAAgAAAAAAAAAIACkAAgAAAAAAAAAJAAAAAgAAAAAAAAAJAAEAAgAAAAAAAAAJAAIAAgAAAAAAAAAJAAMAAgAAAAAAAAAJAAQAAgAAAAAAAAAJAAUAAgAAAAAAAAAJAAYAAgAAAAAAAAAJAAcAAgAAAAAAAAAJAAgAAgAAAAAAAAAJAAkAAgAAAAAAAAAJAAoAAgAAAAAAAAAJAAsAAgAAAAAAAAAJAAwAAgAAAAAAAAAJAA0AAgAAAAAAAAAJAA4AAgAAAAAAAAAJAA8AAgAAAAAAAAAJABAAAgAAAAAAAAAJABEAAgAAAAAAAAAJABIAAgAAAAAAAAAJABMAAgAAAAAAAAAJABQAAgAAAAAAAAAJABUAAgAAAAAAAAAJABYAAgAAAAAAAAAJABcAAgAAAAAAAAAJABgAAgAAAAAAAAAJABkAAgAAAAAAAAAJABoAAgAAAAAAAAAJABsAAgAAAAAAAAAJABwAAgAAAAAAAAAJAB0AAgAAAAAAAAAJAB4AAgAAAAAAAAAJAB8AAgAAAAAAAAAJACAAAgAAAAAAAAAJACEAAgAAAAAAAAAJACIAAgAAAAAAAAAJACMAAgAAAAAAAAAJACQAAgAAAAAAAAAJACUAAgAAAAAAAAAJACYAAgAAAAAAAAAJACcAAgAAAAAAAAAJACgAAgAAAAAAAAAJACkAAgAAAAAAAAAKAAAAAgAAAAAAAAAKAAEAAgAAAAAAAAAKAAIAAgAAAAAAAAAKAAMAAgAAAAAAAAAKAAQAAgAAAAAAAAAKAAUAAgAAAAAAAAAKAAYAAgAAAAAAAAAKAAcAAgAAAAAAAAAKAAgAAgAAAAAAAAAKAAkAAgAAAAAAAAAKAAoAAgAAAAAAAAAKAAsAAgAAAAAAAAAKAAwAAgAAAAAAAAAKAA0AAgAAAAAAAAAKAA4AAgAAAAAAAAAKAA8AAgAAAAAAAAAKABAAAgAAAAAAAAAKABEAAgAAAAAAAAAKABIAAgAAAAAAAAAKABMAAgAAAAAAAAAKABQAAgAAAAAAAAAKABUAAgAAAAAAAAAKABYAAgAAAAAAAAAKABcAAgAAAAAAAAAKABgAAgAAAAAAAAAKABkAAgAAAAAAAAAKABoAAgAAAAAAAAAKABsAAgAAAAAAAAAKABwAAgAAAAAAAAAKAB0AAgAAAAAAAAAKAB4AAgAAAAAAAAAKAB8AAgAAAAAAAAAKACAAAgAAAAAAAAAKACEAAgAAAAAAAAAKACIAAgAAAAAAAAAKACMAAgAAAAAAAAAKACQAAgAAAAAAAAAKACUAAgAAAAAAAAAKACYAAgAAAAAAAAAKACcAAgAAAAAAAAAKACgAAgAAAAAAAAAKACkAAgAAAAAAAAALAAAAAgAAAAAAAAALAAEAAgAAAAAAAAALAAIAAgAAAAAAAAALAAMAAgAAAAAAAAALAAQAAgAAAAAAAAALAAUAAgAAAAAAAAALAAYAAgAAAAAAAAALAAcAAgAAAAAAAAALAAgAAgAAAAAAAAALAAkAAgAAAAAAAAALAAoAAgAAAAAAAAALAAsAAgAAAAAAAAALAAwAAgAAAAAAAAALAA0AAgAAAAAAAAALAA4AAgAAAAAAAAALAA8AAgAAAAAAAAALABAAAgAAAAAAAAALABEAAgAAAAAAAAALABIAAgAAAAAAAAALABMAAgAAAAAAAAALABQAAgAAAAAAAAALABUAAgAAAAAAAAALABYAAgAAAAAAAAALABcAAgAAAAAAAAALABgAAgAAAAAAAAALABkAAgAAAAAAAAALABoAAgAAAAAAAAALABsAAgAAAAAAAAALABwAAgAAAAAAAAALAB0AAgAAAAAAAAALAB4AAgAAAAAAAAALAB8AAgAAAAAAAAALACAAAgAAAAAAAAALACEAAgAAAAAAAAALACIAAgAAAAAAAAALACMAAgAAAAAAAAALACQAAgAAAAAAAAALACUAAgAAAAAAAAALACYAAgAAAAAAAAALACcAAgAAAAAAAAALACgAAgAAAAAAAAALACkAAgAAAAAAAAAMAAAAAgAAAAAAAAAMAAEAAgAAAAAAAAAMAAIAAgAAAAAAAAAMAAMAAgAAAAAAAAAMAAQAAgAAAAAAAAAMAAUAAgAAAAAAAAAMAAYAAgAAAAAAAAAMAAcAAgAAAAAAAAAMAAgAAgAAAAAAAAAMAAkAAgAAAAAAAAAMAAoAAgAAAAAAAAAMAAsAAgAAAAAAAAAMAAwAAgAAAAAAAAAMAA0AAgAAAAAAAAAMAA4AAgAAAAAAAAAMAA8AAgAAAAAAAAAMABAAAgAAAAAAAAAMABEAAgAAAAAAAAAMABIAAgAAAAAAAAAMABMAAgAAAAAAAAAMABQAAgAAAAAAAAAMABUAAgAAAAAAAAAMABYAAgAAAAAAAAAMABcAAgAAAAAAAAAMABgAAgAAAAAAAAAMABkAAgAAAAAAAAAMABoAAgAAAAAAAAAMABsAAgAAAAAAAAAMABwAAgAAAAAAAAAMAB0AAgAAAAAAAAAMAB4AAgAAAAAAAAAMAB8AAgAAAAAAAAAMACAAAgAAAAAAAAAMACEAAgAAAAAAAAAMACIAAgAAAAAAAAAMACMAAgAAAAAAAAAMACQAAgAAAAAAAAAMACUAAgAAAAAAAAAMACYAAgAAAAAAAAAMACcAAgAAAAAAAAAMACgAAgAAAAAAAAAMACkAAgAAAAAAAAANAAAAAgAAAAAAAAANAAEAAgAAAAAAAAANAAIAAgAAAAAAAAANAAMAAgAAAAAAAAANAAQAAgAAAAAAAAANAAUAAgAAAAAAAAANAAYAAgAAAAAAAAANAAcAAgAAAAAAAAANAAgAAgAAAAAAAAANAAkAAgAAAAAAAAANAAoAAgAAAAAAAAANAAsAAgAAAAAAAAANAAwAAgAAAAAAAAANAA0AAgAAAAAAAAANAA4AAgAAAAAAAAANAA8AAgAAAAAAAAANABAAAgAAAAAAAAANABEAAgAAAAAAAAANABIAAgAAAAAAAAANABMAAgAAAAAAAAANABQAAgAAAAAAAAANABUAAgAAAAAAAAANABYAAgAAAAAAAAANABcAAgAAAAAAAAANABgAAgAAAAAAAAANABkAAgAAAAAAAAANABoAAgAAAAAAAAANABsAAgAAAAAAAAANABwAAgAAAAAAAAANAB0AAgAAAAAAAAANAB4AAgAAAAAAAAANAB8AAgAAAAAAAAANACAAAgAAAAAAAAANACEAAgAAAAAAAAANACIAAgAAAAAAAAANACMAAgAAAAAAAAANACQAAgAAAAAAAAANACUAAgAAAAAAAAANACYAAgAAAAAAAAANACcAAgAAAAAAAAANACgAAgAAAAAAAAANACkAAgAAAAAAAAAOAAAAAgAAAAAAAAAOAAEAAgAAAAAAAAAOAAIAAgAAAAAAAAAOAAMAAgAAAAAAAAAOAAQAAgAAAAAAAAAOAAUAAgAAAAAAAAAOAAYAAgAAAAAAAAAOAAcAAgAAAAAAAAAOAAgAAgAAAAAAAAAOAAkAAgAAAAAAAAAOAAoAAgAAAAAAAAAOAAsAAgAAAAAAAAAOAAwAAgAAAAAAAAAOAA0AAgAAAAAAAAAOAA4AAgAAAAAAAAAOAA8AAgAAAAAAAAAOABAAAgAAAAAAAAAOABEAAgAAAAAAAAAOABIAAgAAAAAAAAAOABMAAgAAAAAAAAAOABQAAgAAAAAAAAAOABUAAgAAAAAAAAAOABYAAgAAAAAAAAAOABcAAgAAAAAAAAAOABgAAgAAAAAAAAAOABkAAgAAAAAAAAAOABoAAgAAAAAAAAAOABsAAgAAAAAAAAAOABwAAgAAAAAAAAAOAB0AAgAAAAAAAAAOAB4AAgAAAAAAAAAOAB8AAgAAAAAAAAAOACAAAgAAAAAAAAAOACEAAgAAAAAAAAAOACIAAgAAAAAAAAAOACMAAgAAAAAAAAAOACQAAgAAAAAAAAAOACUAAgAAAAAAAAAOACYAAgAAAAAAAAAOACcAAgAAAAAAAAAOACgAAgAAAAAAAAAOACkAAgAAAAAAAAAPAAAAAgAAAAAAAAAPAAEAAgAAAAAAAAAPAAIAAgAAAAAAAAAPAAMAAgAAAAAAAAAPAAQAAgAAAAAAAAAPAAUAAgAAAAAAAAAPAAYAAgAAAAAAAAAPAAcAAgAAAAAAAAAPAAgAAgAAAAAAAAAPAAkAAgAAAAAAAAAPAAoAAgAAAAAAAAAPAAsAAgAAAAAAAAAPAAwAAgAAAAAAAAAPAA0AAgAAAAAAAAAPAA4AAgAAAAAAAAAPAA8AAgAAAAAAAAAPABAAAgAAAAAAAAAPABEAAgAAAAAAAAAPABIAAgAAAAAAAAAPABMAAgAAAAAAAAAPABQAAgAAAAAAAAAPABUAAgAAAAAAAAAPABYAAgAAAAAAAAAPABcAAgAAAAAAAAAPABgAAgAAAAAAAAAPABkAAgAAAAAAAAAPABoAAgAAAAAAAAAPABsAAgAAAAAAAAAPABwAAgAAAAAAAAAPAB0AAgAAAAAAAAAPAB4AAgAAAAAAAAAPAB8AAgAAAAAAAAAPACAAAgAAAAAAAAAPACEAAgAAAAAAAAAPACIAAgAAAAAAAAAPACMAAgAAAAAAAAAPACQAAgAAAAAAAAAPACUAAgAAAAAAAAAPACYAAgAAAAAAAAAPACcAAgAAAAAAAAAPACgAAgAAAAAAAAAPACkAAgAAAAAAAAAQAAAAAgAAAAAAAAAQAAEAAgAAAAAAAAAQAAIAAgAAAAAAAAAQAAMAAgAAAAAAAAAQAAQAAgAAAAAAAAAQAAUAAgAAAAAAAAAQAAYAAgAAAAAAAAAQAAcAAgAAAAAAAAAQAAgAAgAAAAAAAAAQAAkAAgAAAAAAAAAQAAoAAgAAAAAAAAAQAAsAAgAAAAAAAAAQAAwAAgAAAAAAAAAQAA0AAgAAAAAAAAAQAA4AAgAAAAAAAAAQAA8AAgAAAAAAAAAQABAAAgAAAAAAAAAQABEAAgAAAAAAAAAQABIAAgAAAAAAAAAQABMAAgAAAAAAAAAQABQAAgAAAAAAAAAQABUAAgAAAAAAAAAQABYAAgAAAAAAAAAQABcAAgAAAAAAAAAQABgAAgAAAAAAAAAQABkAAgAAAAAAAAAQABoAAgAAAAAAAAAQABsAAgAAAAAAAAAQABwAAgAAAAAAAAAQAB0AAgAAAAAAAAAQAB4AAgAAAAAAAAAQAB8AAgAAAAAAAAAQACAAAgAAAAAAAAAQACEAAgAAAAAAAAAQACIAAgAAAAAAAAAQACMAAgAAAAAAAAAQACQAAgAAAAAAAAAQACUAAgAAAAAAAAAQACYAAgAAAAAAAAAQACcAAgAAAAAAAAAQACgAAgAAAAAAAAAQACkAAgAAAAAAAAARAAAAAgAAAAAAAAARAAEAAgAAAAAAAAARAAIAAgAAAAAAAAARAAMAAgAAAAAAAAARAAQAAgAAAAAAAAARAAUAAgAAAAAAAAARAAYAAgAAAAAAAAARAAcAAgAAAAAAAAARAAgAAgAAAAAAAAARAAkAAgAAAAAAAAARAAoAAgAAAAAAAAARAAsAAgAAAAAAAAARAAwAAgAAAAAAAAARAA0AAgAAAAAAAAARAA4AAgAAAAAAAAARAA8AAgAAAAAAAAARABAAAgAAAAAAAAARABEAAgAAAAAAAAARABIAAgAAAAAAAAARABMAAgAAAAAAAAARABQAAgAAAAAAAAARABUAAgAAAAAAAAARABYAAgAAAAAAAAARABcAAgAAAAAAAAARABgAAgAAAAAAAAARABkAAgAAAAAAAAARABoAAgAAAAAAAAARABsAAgAAAAAAAAARABwAAgAAAAAAAAARAB0AAgAAAAAAAAARAB4AAgAAAAAAAAARAB8AAgAAAAAAAAARACAAAgAAAAAAAAARACEAAgAAAAAAAAARACIAAgAAAAAAAAARACMAAgAAAAAAAAARACQAAgAAAAAAAAARACUAAgAAAAAAAAARACYAAgAAAAAAAAARACcAAgAAAAAAAAARACgAAgAAAAAAAAARACkAAgAAAAAAAAASAAAAAgAAAAAAAAASAAEAAgAAAAAAAAASAAIAAgAAAAAAAAASAAMAAgAAAAAAAAASAAQAAgAAAAAAAAASAAUAAgAAAAAAAAASAAYAAgAAAAAAAAASAAcAAgAAAAAAAAASAAgAAgAAAAAAAAASAAkAAgAAAAAAAAASAAoAAgAAAAAAAAASAAsAAgAAAAAAAAASAAwAAgAAAAAAAAASAA0AAgAAAAAAAAASAA4AAgAAAAAAAAASAA8AAgAAAAAAAAASABAAAgAAAAAAAAASABEAAgAAAAAAAAASABIAAgAAAAAAAAASABMAAgAAAAAAAAASABQAAgAAAAAAAAASABUAAgAAAAAAAAASABYAAgAAAAAAAAASABcAAgAAAAAAAAASABgAAgAAAAAAAAASABkAAgAAAAAAAAASABoAAgAAAAAAAAASABsAAgAAAAAAAAASABwAAgAAAAAAAAASAB0AAgAAAAAAAAASAB4AAgAAAAAAAAASAB8AAgAAAAAAAAASACAAAgAAAAAAAAASACEAAgAAAAAAAAASACIAAgAAAAAAAAASACMAAgAAAAAAAAASACQAAgAAAAAAAAASACUAAgAAAAAAAAASACYAAgAAAAAAAAASACcAAgAAAAAAAAASACgAAgAAAAAAAAASACkAAgAAAAAAAAATAAAAAgAAAAAAAAATAAEAAgAAAAAAAAATAAIAAgAAAAAAAAATAAMAAgAAAAAAAAATAAQAAgAAAAAAAAATAAUAAgAAAAAAAAATAAYAAgAAAAAAAAATAAcAAgAAAAAAAAATAAgAAgAAAAAAAAATAAkAAgAAAAAAAAATAAoAAgAAAAAAAAATAAsAAgAAAAAAAAATAAwAAgAAAAAAAAATAA0AAgAAAAAAAAATAA4AAgAAAAAAAAATAA8AAgAAAAAAAAATABAAAgAAAAAAAAATABEAAgAAAAAAAAATABIAAgAAAAAAAAATABMAAgAAAAAAAAATABQAAgAAAAAAAAATABUAAgAAAAAAAAATABYAAgAAAAAAAAATABcAAgAAAAAAAAATABgAAgAAAAAAAAATABkAAgAAAAAAAAATABoAAgAAAAAAAAATABsAAgAAAAAAAAATABwAAgAAAAAAAAATAB0AAgAAAAAAAAATAB4AAgAAAAAAAAATAB8AAgAAAAAAAAATACAAAgAAAAAAAAATACEAAgAAAAAAAAATACIAAgAAAAAAAAATACMAAgAAAAAAAAATACQAAgAAAAAAAAATACUAAgAAAAAAAAATACYAAgAAAAAAAAATACcAAgAAAAAAAAATACgAAgAAAAAAAAATACkAAgAAAAAAAAAUAAAAAgAAAAAAAAAUAAEAAgAAAAAAAAAUAAIAAgAAAAAAAAAUAAMAAgAAAAAAAAAUAAQAAgAAAAAAAAAUAAUAAgAAAAAAAAAUAAYAAgAAAAAAAAAUAAcAAgAAAAAAAAAUAAgAAgAAAAAAAAAUAAkAAgAAAAAAAAAUAAoAAgAAAAAAAAAUAAsAAgAAAAAAAAAUAAwAAgAAAAAAAAAUAA0AAgAAAAAAAAAUAA4AAgAAAAAAAAAUAA8AAgAAAAAAAAAUABAAAgAAAAAAAAAUABEAAgAAAAAAAAAUABIAAgAAAAAAAAAUABMAAgAAAAAAAAAUABQAAgAAAAAAAAAUABUAAgAAAAAAAAAUABYAAgAAAAAAAAAUABcAAgAAAAAAAAAUABgAAgAAAAAAAAAUABkAAgAAAAAAAAAUABoAAgAAAAAAAAAUABsAAgAAAAAAAAAUABwAAgAAAAAAAAAUAB0AAgAAAAAAAAAUAB4AAgAAAAAAAAAUAB8AAgAAAAAAAAAUACAAAgAAAAAAAAAUACEAAgAAAAAAAAAUACIAAgAAAAAAAAAUACMAAgAAAAAAAAAUACQAAgAAAAAAAAAUACUAAgAAAAAAAAAUACYAAgAAAAAAAAAUACcAAgAAAAAAAAAUACgAAgAAAAAAAAAUACkAAgAAAAAAAAAVAAAAAgAAAAAAAAAVAAEAAgAAAAAAAAAVAAIAAgAAAAAAAAAVAAMAAgAAAAAAAAAVAAQAAgAAAAAAAAAVAAUAAgAAAAAAAAAVAAYAAgAAAAAAAAAVAAcAAgAAAAAAAAAVAAgAAgAAAAAAAAAVAAkAAgAAAAAAAAAVAAoAAgAAAAAAAAAVAAsAAgAAAAAAAAAVAAwAAgAAAAAAAAAVAA0AAgAAAAAAAAAVAA4AAgAAAAAAAAAVAA8AAgAAAAAAAAAVABAAAgAAAAAAAAAVABEAAgAAAAAAAAAVABIAAgAAAAAAAAAVABMAAgAAAAAAAAAVABQAAgAAAAAAAAAVABUAAgAAAAAAAAAVABYAAgAAAAAAAAAVABcAAgAAAAAAAAAVABgAAgAAAAAAAAAVABkAAgAAAAAAAAAVABoAAgAAAAAAAAAVABsAAgAAAAAAAAAVABwAAgAAAAAAAAAVAB0AAgAAAAAAAAAVAB4AAgAAAAAAAAAVAB8AAgAAAAAAAAAVACAAAgAAAAAAAAAVACEAAgAAAAAAAAAVACIAAgAAAAAAAAAVACMAAgAAAAAAAAAVACQAAgAAAAAAAAAVACUAAgAAAAAAAAAVACYAAgAAAAAAAAAVACcAAgAAAAAAAAAVACgAAgAAAAAAAAAVACkAAgAAAAAAAAAWAAAAAgAAAAAAAAAWAAEAAgAAAAAAAAAWAAIAAgAAAAAAAAAWAAMAAgAAAAAAAAAWAAQAAgAAAAAAAAAWAAUAAgAAAAAAAAAWAAYAAgAAAAAAAAAWAAcAAgAAAAAAAAAWAAgAAgAAAAAAAAAWAAkAAgAAAAAAAAAWAAoAAgAAAAAAAAAWAAsAAgAAAAAAAAAWAAwAAgAAAAAAAAAWAA0AAgAAAAAAAAAWAA4AAgAAAAAAAAAWAA8AAgAAAAAAAAAWABAAAgAAAAAAAAAWABEAAgAAAAAAAAAWABIAAgAAAAAAAAAWABMAAgAAAAAAAAAWABQAAgAAAAAAAAAWABUAAgAAAAAAAAAWABYAAgAAAAAAAAAWABcAAgAAAAAAAAAWABgAAgAAAAAAAAAWABkAAgAAAAAAAAAWABoAAgAAAAAAAAAWABsAAgAAAAAAAAAWABwAAgAAAAAAAAAWAB0AAgAAAAAAAAAWAB4AAgAAAAAAAAAWAB8AAgAAAAAAAAAWACAAAgAAAAAAAAAWACEAAgAAAAAAAAAWACIAAgAAAAAAAAAWACMAAgAAAAAAAAAWACQAAgAAAAAAAAAWACUAAgAAAAAAAAAWACYAAgAAAAAAAAAWACcAAgAAAAAAAAAWACgAAgAAAAAAAAAWACkAAgAAAAAAAAAXAAAAAgAAAAAAAAAXAAEAAgAAAAAAAAAXAAIAAgAAAAAAAAAXAAMAAgAAAAAAAAAXAAQAAgAAAAAAAAAXAAUAAgAAAAAAAAAXAAYAAgAAAAAAAAAXAAcAAgAAAAAAAAAXAAgAAgAAAAAAAAAXAAkAAgAAAAAAAAAXAAoAAgAAAAAAAAAXAAsAAgAAAAAAAAAXAAwAAgAAAAAAAAAXAA0AAgAAAAAAAAAXAA4AAgAAAAAAAAAXAA8AAgAAAAAAAAAXABAAAgAAAAAAAAAXABEAAgAAAAAAAAAXABIAAgAAAAAAAAAXABMAAgAAAAAAAAAXABQAAgAAAAAAAAAXABUAAgAAAAAAAAAXABYAAgAAAAAAAAAXABcAAgAAAAAAAAAXABgAAgAAAAAAAAAXABkAAgAAAAAAAAAXABoAAgAAAAAAAAAXABsAAgAAAAAAAAAXABwAAgAAAAAAAAAXAB0AAgAAAAAAAAAXAB4AAgAAAAAAAAAXAB8AAgAAAAAAAAAXACAAAgAAAAAAAAAXACEAAgAAAAAAAAAXACIAAgAAAAAAAAAXACMAAgAAAAAAAAAXACQAAgAAAAAAAAAXACUAAgAAAAAAAAAXACYAAgAAAAAAAAAXACcAAgAAAAAAAAAXACgAAgAAAAAAAAAXACkAAgAAAAAAAAAYAAAAAgAAAAAAAAAYAAEAAgAAAAAAAAAYAAIAAgAAAAAAAAAYAAMAAgAAAAAAAAAYAAQAAgAAAAAAAAAYAAUAAgAAAAAAAAAYAAYAAgAAAAAAAAAYAAcAAgAAAAAAAAAYAAgAAgAAAAAAAAAYAAkAAgAAAAAAAAAYAAoAAgAAAAAAAAAYAAsAAgAAAAAAAAAYAAwAAgAAAAAAAAAYAA0AAgAAAAAAAAAYAA4AAgAAAAAAAAAYAA8AAgAAAAAAAAAYABAAAgAAAAAAAAAYABEAAgAAAAAAAAAYABIAAgAAAAAAAAAYABMAAgAAAAAAAAAYABQAAgAAAAAAAAAYABUAAgAAAAAAAAAYABYAAgAAAAAAAAAYABcAAgAAAAAAAAAYABgAAgAAAAAAAAAYABkAAgAAAAAAAAAYABoAAgAAAAAAAAAYABsAAgAAAAAAAAAYABwAAgAAAAAAAAAYAB0AAgAAAAAAAAAYAB4AAgAAAAAAAAAYAB8AAgAAAAAAAAAYACAAAgAAAAAAAAAYACEAAgAAAAAAAAAYACIAAgAAAAAAAAAYACMAAgAAAAAAAAAYACQAAgAAAAAAAAAYACUAAgAAAAAAAAAYACYAAgAAAAAAAAAYACcAAgAAAAAAAAAYACgAAgAAAAAAAAAYACkAAgAAAAAAAAAZAAAAAgAAAAAAAAAZAAEAAgAAAAAAAAAZAAIAAgAAAAAAAAAZAAMAAgAAAAAAAAAZAAQAAgAAAAAAAAAZAAUAAgAAAAAAAAAZAAYAAgAAAAAAAAAZAAcAAgAAAAAAAAAZAAgAAgAAAAAAAAAZAAkAAgAAAAAAAAAZAAoAAgAAAAAAAAAZAAsAAgAAAAAAAAAZAAwAAgAAAAAAAAAZAA0AAgAAAAAAAAAZAA4AAgAAAAAAAAAZAA8AAgAAAAAAAAAZABAAAgAAAAAAAAAZABEAAgAAAAAAAAAZABIAAgAAAAAAAAAZABMAAgAAAAAAAAAZABQAAgAAAAAAAAAZABUAAgAAAAAAAAAZABYAAgAAAAAAAAAZABcAAgAAAAAAAAAZABgAAgAAAAAAAAAZABkAAgAAAAAAAAAZABoAAgAAAAAAAAAZABsAAgAAAAAAAAAZABwAAgAAAAAAAAAZAB0AAgAAAAAAAAAZAB4AAgAAAAAAAAAZAB8AAgAAAAAAAAAZACAAAgAAAAAAAAAZACEAAgAAAAAAAAAZACIAAgAAAAAAAAAZACMAAgAAAAAAAAAZACQAAgAAAAAAAAAZACUAAgAAAAAAAAAZACYAAgAAAAAAAAAZACcAAgAAAAAAAAAZACgAAgAAAAAAAAAZACkAAgAAAAAAAAAaAAAAAgAAAAAAAAAaAAEAAgAAAAAAAAAaAAIAAgAAAAAAAAAaAAMAAgAAAAAAAAAaAAQAAgAAAAAAAAAaAAUAAgAAAAAAAAAaAAYAAgAAAAAAAAAaAAcAAgAAAAAAAAAaAAgAAgAAAAAAAAAaAAkAAgAAAAAAAAAaAAoAAgAAAAAAAAAaAAsAAgAAAAAAAAAaAAwAAgAAAAAAAAAaAA0AAgAAAAAAAAAaAA4AAgAAAAAAAAAaAA8AAgAAAAAAAAAaABAAAgAAAAAAAAAaABEAAgAAAAAAAAAaABIAAgAAAAAAAAAaABMAAgAAAAAAAAAaABQAAgAAAAAAAAAaABUAAgAAAAAAAAAaABYAAgAAAAAAAAAaABcAAgAAAAAAAAAaABgAAgAAAAAAAAAaABkAAgAAAAAAAAAaABoAAgAAAAAAAAAaABsAAgAAAAAAAAAaABwAAgAAAAAAAAAaAB0AAgAAAAAAAAAaAB4AAgAAAAAAAAAaAB8AAgAAAAAAAAAaACAAAgAAAAAAAAAaACEAAgAAAAAAAAAaACIAAgAAAAAAAAAaACMAAgAAAAAAAAAaACQAAgAAAAAAAAAaACUAAgAAAAAAAAAaACYAAgAAAAAAAAAaACcAAgAAAAAAAAAaACgAAgAAAAAAAAAaACkAAgAAAAAAAAAbAAAAAgAAAAAAAAAbAAEAAgAAAAAAAAAbAAIAAgAAAAAAAAAbAAMAAgAAAAAAAAAbAAQAAgAAAAAAAAAbAAUAAgAAAAAAAAAbAAYAAgAAAAAAAAAbAAcAAgAAAAAAAAAbAAgAAgAAAAAAAAAbAAkAAgAAAAAAAAAbAAoAAgAAAAAAAAAbAAsAAgAAAAAAAAAbAAwAAgAAAAAAAAAbAA0AAgAAAAAAAAAbAA4AAgAAAAAAAAAbAA8AAgAAAAAAAAAbABAAAgAAAAAAAAAbABEAAgAAAAAAAAAbABIACAAAAAAAAAAbABMACAAAAAEAAAAbABQACAAAAAEAAAAbABUACAAAAAIAAAAbABYAAQAAAAUAAAAbABcAAQAAAAYAAAAbABgAAQAAAAcAAAAbABkAAgAAAAAAAAAbABoAAgAAAAAAAAAbABsAAgAAAAAAAAAbABwAAgAAAAAAAAAbAB0AAgAAAAAAAAAbAB4AAgAAAAAAAAAbAB8AAgAAAAAAAAAbACAAAgAAAAAAAAAbACEAAgAAAAAAAAAbACIAAgAAAAAAAAAbACMAAgAAAAAAAAAbACQAAgAAAAAAAAAbACUAAgAAAAAAAAAbACYAAgAAAAAAAAAbACcAAgAAAAAAAAAbACgAAgAAAAAAAAAbACkAAgAAAAAAAAAcAAAAAgAAAAAAAAAcAAEAAgAAAAAAAAAcAAIAAgAAAAAAAAAcAAMAAgAAAAAAAAAcAAQAAgAAAAAAAAAcAAUAAgAAAAAAAAAcAAYAAgAAAAAAAAAcAAcAAgAAAAAAAAAcAAgAAgAAAAAAAAAcAAkAAgAAAAAAAAAcAAoAAgAAAAAAAAAcAAsAAgAAAAAAAAAcAAwAAgAAAAAAAAAcAA0AAgAAAAAAAAAcAA4AAgAAAAAAAAAcAA8AAgAAAAAAAAAcABAAAgAAAAAAAAAcABEAAgAAAAAAAAAcABIACAABAAAAAAAcABMACAABAAEAAAAcABQACAABAAEAAAAcABUACAABAAIAAAAcABYAAQABAAUAAAAcABcAAQABAAYAAAAcABgAAQABAAcAAAAcABkAAgAAAAAAAAAcABoAAgAAAAAAAAAcABsAAgAAAAAAAAAcABwAAgAAAAAAAAAcAB0AAgAAAAAAAAAcAB4AAgAAAAAAAAAcAB8AAgAAAAAAAAAcACAAAgAAAAAAAAAcACEAAgAAAAAAAAAcACIAAgAAAAAAAAAcACMAAgAAAAAAAAAcACQAAgAAAAAAAAAcACUAAgAAAAAAAAAcACYAAgAAAAAAAAAcACcAAgAAAAAAAAAcACgAAgAAAAAAAAAcACkAAgAAAAAAAAAdAAAAAgAAAAAAAAAdAAEAAgAAAAAAAAAdAAIAAgAAAAAAAAAdAAMAAgAAAAAAAAAdAAQAAgAAAAAAAAAdAAUAAgAAAAAAAAAdAAYAAgAAAAAAAAAdAAcAAgAAAAAAAAAdAAgAAgAAAAAAAAAdAAkAAgAAAAAAAAAdAAoAAgAAAAAAAAAdAAsAAgAAAAAAAAAdAAwAAgAAAAAAAAAdAA0AAgAAAAAAAAAdAA4AAgAAAAAAAAAdAA8AAgAAAAAAAAAdABAAAgAAAAAAAAAdABEAAgAAAAAAAAAdABIACAABAAAAAAAdABMACAABAAEAAAAdABQACAABAAEAAAAdABUACAABAAIAAAAdABYAAQABAAUAAAAdABcAAQABAAYAAAAdABgAAQABAAcAAAAdABkAAgAAAAAAAAAdABoAAgAAAAAAAAAdABsAAgAAAAAAAAAdABwAAgAAAAAAAAAdAB0AAgAAAAAAAAAdAB4AAgAAAAAAAAAdAB8AAgAAAAAAAAAdACAAAgAAAAAAAAAdACEAAgAAAAAAAAAdACIAAgAAAAAAAAAdACMAAgAAAAAAAAAdACQAAgAAAAAAAAAdACUAAgAAAAAAAAAdACYAAgAAAAAAAAAdACcAAgAAAAAAAAAdACgAAgAAAAAAAAAdACkAAgAAAAAAAAAeAAAAAgAAAAAAAAAeAAEAAgAAAAAAAAAeAAIAAgAAAAAAAAAeAAMAAgAAAAAAAAAeAAQAAgAAAAAAAAAeAAUAAgAAAAAAAAAeAAYAAgAAAAAAAAAeAAcAAgAAAAAAAAAeAAgAAgAAAAAAAAAeAAkAAgAAAAAAAAAeAAoAAgAAAAAAAAAeAAsAAgAAAAAAAAAeAAwAAgAAAAAAAAAeAA0AAgAAAAAAAAAeAA4AAgAAAAAAAAAeAA8AAgAAAAAAAAAeABAAAgAAAAAAAAAeABEAAgAAAAAAAAAeABIACAABAAAAAAAeABMACAABAAEAAAAeABQACAABAAEAAAAeABUACAABAAIAAAAeABYAAQABAAUAAAAeABcAAQABAAYAAAAeABgAAQABAAcAAAAeABkAAgAAAAAAAAAeABoAAgAAAAAAAAAeABsAAgAAAAAAAAAeABwAAgAAAAAAAAAeAB0AAgAAAAAAAAAeAB4AAgAAAAAAAAAeAB8AAgAAAAAAAAAeACAAAgAAAAAAAAAeACEAAgAAAAAAAAAeACIAAgAAAAAAAAAeACMAAgAAAAAAAAAeACQAAgAAAAAAAAAeACUAAgAAAAAAAAAeACYAAgAAAAAAAAAeACcAAgAAAAAAAAAeACgAAgAAAAAAAAAeACkAAgAAAAAAAAAfAAAAAgAAAAAAAAAfAAEAAgAAAAAAAAAfAAIAAgAAAAAAAAAfAAMAAgAAAAAAAAAfAAQAAgAAAAAAAAAfAAUAAgAAAAAAAAAfAAYAAgAAAAAAAAAfAAcAAgAAAAAAAAAfAAgAAgAAAAAAAAAfAAkAAgAAAAAAAAAfAAoAAgAAAAAAAAAfAAsAAgAAAAAAAAAfAAwAAgAAAAAAAAAfAA0AAgAAAAAAAAAfAA4AAgAAAAAAAAAfAA8AAgAAAAAAAAAfABAAAgAAAAAAAAAfABEAAgAAAAAAAAAfABIACAABAAAAAAAfABMACAABAAEAAAAfABQACAABAAEAAAAfABUACAABAAIAAAAfABYAAQABAAUAAAAfABcAAQABAAYAAAAfABgAAQABAAcAAAAfABkAAgAAAAAAAAAfABoAAgAAAAAAAAAfABsAAgAAAAAAAAAfABwAAgAAAAAAAAAfAB0AAgAAAAAAAAAfAB4AAgAAAAAAAAAfAB8AAgAAAAAAAAAfACAAAgAAAAAAAAAfACEAAgAAAAAAAAAfACIAAgAAAAAAAAAfACMAAgAAAAAAAAAfACQAAgAAAAAAAAAfACUAAgAAAAAAAAAfACYAAgAAAAAAAAAfACcAAgAAAAAAAAAfACgAAgAAAAAAAAAfACkAAgAAAAAAAAAgAAAAAgAAAAAAAAAgAAEAAgAAAAAAAAAgAAIAAgAAAAAAAAAgAAMAAgAAAAAAAAAgAAQAAgAAAAAAAAAgAAUAAgAAAAAAAAAgAAYAAgAAAAAAAAAgAAcAAgAAAAAAAAAgAAgAAgAAAAAAAAAgAAkAAgAAAAAAAAAgAAoAAgAAAAAAAAAgAAsAAgAAAAAAAAAgAAwAAgAAAAAAAAAgAA0AAgAAAAAAAAAgAA4AAgAAAAAAAAAgAA8AAgAAAAAAAAAgABAAAgAAAAAAAAAgABEAAgAAAAAAAAAgABIACAABAAAAAAAgABMACAABAAEAAAAgABQACAABAAEAAAAgABUACAABAAIAAAAgABYAAQABAAUAAAAgABcAAQABAAYAAAAgABgAAQABAAcAAAAgABkAAgAAAAAAAAAgABoAAgAAAAAAAAAgABsAAgAAAAAAAAAgABwAAgAAAAAAAAAgAB0AAgAAAAAAAAAgAB4AAgAAAAAAAAAgAB8AAgAAAAAAAAAgACAAAgAAAAAAAAAgACEAAgAAAAAAAAAgACIAAgAAAAAAAAAgACMAAgAAAAAAAAAgACQAAgAAAAAAAAAgACUAAgAAAAAAAAAgACYAAgAAAAAAAAAgACcAAgAAAAAAAAAgACgAAgAAAAAAAAAgACkAAgAAAAAAAAAhAAAAAgAAAAAAAAAhAAEAAgAAAAAAAAAhAAIAAgAAAAAAAAAhAAMAAgAAAAAAAAAhAAQAAgAAAAAAAAAhAAUAAgAAAAAAAAAhAAYAAgAAAAAAAAAhAAcAAgAAAAAAAAAhAAgAAgAAAAAAAAAhAAkAAgAAAAAAAAAhAAoAAgAAAAAAAAAhAAsAAgAAAAAAAAAhAAwAAgAAAAAAAAAhAA0AAgAAAAAAAAAhAA4AAgAAAAAAAAAhAA8AAgAAAAAAAAAhABAAAgAAAAAAAAAhABEAAgAAAAAAAAAhABIACAABAAAAAAAhABMACAABAAEAAAAhABQACAAAAAMAAAAhABUACAACAAIAAAAhABYAAQABAAUAAAAhABcAAQABAAYAAAAhABgAAQABAAcAAAAhABkAAgAAAAAAAAAhABoAAgAAAAAAAAAhABsAAgAAAAAAAAAhABwAAgAAAAAAAAAhAB0AAgAAAAAAAAAhAB4AAgAAAAAAAAAhAB8AAgAAAAAAAAAhACAAAgAAAAAAAAAhACEAAgAAAAAAAAAhACIAAgAAAAAAAAAhACMAAgAAAAAAAAAhACQAAgAAAAAAAAAhACUAAgAAAAAAAAAhACYAAgAAAAAAAAAhACcAAgAAAAAAAAAhACgAAgAAAAAAAAAhACkAAgAAAAAAAAAiAAAAAgAAAAAAAAAiAAEAAgAAAAAAAAAiAAIAAgAAAAAAAAAiAAMAAgAAAAAAAAAiAAQAAgAAAAAAAAAiAAUAAgAAAAAAAAAiAAYAAgAAAAAAAAAiAAcAAgAAAAAAAAAiAAgAAgAAAAAAAAAiAAkAAgAAAAAAAAAiAAoAAgAAAAAAAAAiAAsAAgAAAAAAAAAiAAwAAgAAAAAAAAAiAA0AAgAAAAAAAAAiAA4AAgAAAAAAAAAiAA8AAgAAAAAAAAAiABAAAgAAAAAAAAAiABEAAgAAAAAAAAAiABIACAACAAAAAAAiABMACAACAAEAAAAiABQACAACAAIAAAAiABUAAgAAAAAAAAAiABYAAQABAAUAAAAiABcAAQABAAYAAAAiABgAAQABAAcAAAAiABkAAgAAAAAAAAAiABoAAgAAAAAAAAAiABsAAgAAAAAAAAAiABwAAgAAAAAAAAAiAB0AAgAAAAAAAAAiAB4AAgAAAAAAAAAiAB8AAgAAAAAAAAAiACAAAgAAAAAAAAAiACEAAgAAAAAAAAAiACIAAgAAAAAAAAAiACMAAgAAAAAAAAAiACQAAgAAAAAAAAAiACUAAgAAAAAAAAAiACYAAgAAAAAAAAAiACcAAgAAAAAAAAAiACgAAgAAAAAAAAAiACkAAgAAAAAAAAAjAAAAAgAAAAAAAAAjAAEAAgAAAAAAAAAjAAIAAgAAAAAAAAAjAAMAAgAAAAAAAAAjAAQAAgAAAAAAAAAjAAUAAgAAAAAAAAAjAAYAAgAAAAAAAAAjAAcAAgAAAAAAAAAjAAgAAgAAAAAAAAAjAAkAAgAAAAAAAAAjAAoAAgAAAAAAAAAjAAsAAgAAAAAAAAAjAAwAAgAAAAAAAAAjAA0AAgAAAAAAAAAjAA4AAgAAAAAAAAAjAA8AAgAAAAAAAAAjABAAAgAAAAAAAAAjABEAAgAAAAAAAAAjABIAAgAAAAAAAAAjABMAAgAAAAAAAAAjABQAAgAAAAAAAAAjABUAAgAAAAAAAAAjABYAAQABAAUAAAAjABcAAQABAAYAAAAjABgAAQABAAcAAAAjABkAAgAAAAAAAAAjABoAAgAAAAAAAAAjABsAAgAAAAAAAAAjABwAAgAAAAAAAAAjAB0AAgAAAAAAAAAjAB4AAgAAAAAAAAAjAB8AAgAAAAAAAAAjACAAAgAAAAAAAAAjACEAAgAAAAAAAAAjACIAAgAAAAAAAAAjACMAAgAAAAAAAAAjACQAAgAAAAAAAAAjACUAAgAAAAAAAAAjACYAAgAAAAAAAAAjACcAAgAAAAAAAAAjACgAAgAAAAAAAAAjACkAAgAAAAAAAAAkAAAAAgAAAAAAAAAkAAEAAgAAAAAAAAAkAAIAAgAAAAAAAAAkAAMAAgAAAAAAAAAkAAQAAgAAAAAAAAAkAAUAAgAAAAAAAAAkAAYAAgAAAAAAAAAkAAcAAgAAAAAAAAAkAAgAAgAAAAAAAAAkAAkAAgAAAAAAAAAkAAoAAgAAAAAAAAAkAAsAAgAAAAAAAAAkAAwAAgAAAAAAAAAkAA0AAgAAAAAAAAAkAA4AAgAAAAAAAAAkAA8AAgAAAAAAAAAkABAAAgAAAAAAAAAkABEAAgAAAAAAAAAkABIAAgAAAAAAAAAkABMAAgAAAAAAAAAkABQAAgAAAAAAAAAkABUAAgAAAAAAAAAkABYAAQABAAUAAAAkABcAAQABAAYAAAAkABgAAQABAAcAAAAkABkAAgAAAAAAAAAkABoAAgAAAAAAAAAkABsAAgAAAAAAAAAkABwAAgAAAAAAAAAkAB0AAgAAAAAAAAAkAB4AAgAAAAAAAAAkAB8AAgAAAAAAAAAkACAAAgAAAAAAAAAkACEAAgAAAAAAAAAkACIAAgAAAAAAAAAkACMAAgAAAAAAAAAkACQAAgAAAAAAAAAkACUAAgAAAAAAAAAkACYAAgAAAAAAAAAkACcAAgAAAAAAAAAkACgAAgAAAAAAAAAkACkAAgAAAAAAAAAlAAAAAgAAAAAAAAAlAAEAAgAAAAAAAAAlAAIAAgAAAAAAAAAlAAMAAgAAAAAAAAAlAAQAAgAAAAAAAAAlAAUAAgAAAAAAAAAlAAYAAgAAAAAAAAAlAAcAAgAAAAAAAAAlAAgAAgAAAAAAAAAlAAkAAgAAAAAAAAAlAAoAAgAAAAAAAAAlAAsAAgAAAAAAAAAlAAwAAgAAAAAAAAAlAA0AAgAAAAAAAAAlAA4AAgAAAAAAAAAlAA8AAgAAAAAAAAAlABAAAgAAAAAAAAAlABEAAgAAAAAAAAAlABIAAgAAAAAAAAAlABMAAgAAAAAAAAAlABQAAgAAAAAAAAAlABUAAgAAAAAAAAAlABYAAQABAAUAAAAlABcAAQABAAYAAAAlABgAAQABAAcAAAAlABkAAgAAAAAAAAAlABoAAgAAAAAAAAAlABsAAgAAAAAAAAAlABwAAgAAAAAAAAAlAB0AAgAAAAAAAAAlAB4AAgAAAAAAAAAlAB8AAgAAAAAAAAAlACAAAgAAAAAAAAAlACEAAgAAAAAAAAAlACIAAgAAAAAAAAAlACMAAgAAAAAAAAAlACQAAgAAAAAAAAAlACUAAgAAAAAAAAAlACYAAgAAAAAAAAAlACcAAgAAAAAAAAAlACgAAgAAAAAAAAAlACkAAgAAAAAAAAAmAAAAAgAAAAAAAAAmAAEAAgAAAAAAAAAmAAIAAgAAAAAAAAAmAAMAAgAAAAAAAAAmAAQAAgAAAAAAAAAmAAUAAgAAAAAAAAAmAAYAAgAAAAAAAAAmAAcAAgAAAAAAAAAmAAgAAgAAAAAAAAAmAAkAAgAAAAAAAAAmAAoAAgAAAAAAAAAmAAsAAgAAAAAAAAAmAAwAAgAAAAAAAAAmAA0AAgAAAAAAAAAmAA4AAgAAAAAAAAAmAA8AAgAAAAAAAAAmABAAAgAAAAAAAAAmABEAAgAAAAAAAAAmABIAAgAAAAAAAAAmABMAAgAAAAAAAAAmABQAAgAAAAAAAAAmABUAAgAAAAAAAAAmABYAAQABAAUAAAAmABcAAQABAAYAAAAmABgAAQABAAcAAAAmABkAAgAAAAAAAAAmABoAAgAAAAAAAAAmABsAAgAAAAAAAAAmABwAAgAAAAAAAAAmAB0AAgAAAAAAAAAmAB4AAgAAAAAAAAAmAB8AAgAAAAAAAAAmACAAAgAAAAAAAAAmACEAAgAAAAAAAAAmACIAAgAAAAAAAAAmACMAAgAAAAAAAAAmACQAAgAAAAAAAAAmACUAAgAAAAAAAAAmACYAAgAAAAAAAAAmACcAAgAAAAAAAAAmACgAAgAAAAAAAAAmACkAAgAAAAAAAAAnAAAAAgAAAAAAAAAnAAEAAgAAAAAAAAAnAAIAAgAAAAAAAAAnAAMAAgAAAAAAAAAnAAQAAgAAAAAAAAAnAAUAAgAAAAAAAAAnAAYAAgAAAAAAAAAnAAcAAgAAAAAAAAAnAAgAAgAAAAAAAAAnAAkAAgAAAAAAAAAnAAoAAgAAAAAAAAAnAAsAAgAAAAAAAAAnAAwAAgAAAAAAAAAnAA0AAgAAAAAAAAAnAA4AAgAAAAAAAAAnAA8AAgAAAAAAAAAnABAAAgAAAAAAAAAnABEAAgAAAAAAAAAnABIAAgAAAAAAAAAnABMAAgAAAAAAAAAnABQAAgAAAAAAAAAnABUAAgAAAAAAAAAnABYAAQABAAUAAAAnABcAAQABAAYAAAAnABgAAQABAAcAAAAnABkAAgAAAAAAAAAnABoAAgAAAAAAAAAnABsAAgAAAAAAAAAnABwAAgAAAAAAAAAnAB0AAgAAAAAAAAAnAB4AAgAAAAAAAAAnAB8AAgAAAAAAAAAnACAAAgAAAAAAAAAnACEAAgAAAAAAAAAnACIAAgAAAAAAAAAnACMAAgAAAAAAAAAnACQAAgAAAAAAAAAnACUAAgAAAAAAAAAnACYAAgAAAAAAAAAnACcAAgAAAAAAAAAnACgAAgAAAAAAAAAnACkAAgAAAAAAAAAoAAAAAgAAAAAAAAAoAAEAAgAAAAAAAAAoAAIAAgAAAAAAAAAoAAMAAgAAAAAAAAAoAAQAAgAAAAAAAAAoAAUAAgAAAAAAAAAoAAYAAgAAAAAAAAAoAAcAAgAAAAAAAAAoAAgAAgAAAAAAAAAoAAkAAgAAAAAAAAAoAAoAAgAAAAAAAAAoAAsAAgAAAAAAAAAoAAwAAgAAAAAAAAAoAA0AAgAAAAAAAAAoAA4AAgAAAAAAAAAoAA8AAgAAAAAAAAAoABAAAgAAAAAAAAAoABEAAgAAAAAAAAAoABIAAgAAAAAAAAAoABMAAgAAAAAAAAAoABQAAgAAAAAAAAAoABUAAgAAAAAAAAAoABYAAQABAAUAAAAoABcAAQABAAYAAAAoABgAAQABAAcAAAAoABkAAgAAAAAAAAAoABoAAgAAAAAAAAAoABsAAgAAAAAAAAAoABwAAgAAAAAAAAAoAB0AAgAAAAAAAAAoAB4AAgAAAAAAAAAoAB8AAgAAAAAAAAAoACAAAgAAAAAAAAAoACEAAgAAAAAAAAAoACIAAgAAAAAAAAAoACMAAgAAAAAAAAAoACQAAgAAAAAAAAAoACUAAgAAAAAAAAAoACYAAgAAAAAAAAAoACcAAgAAAAAAAAAoACgAAgAAAAAAAAAoACkAAgAAAAAAAAApAAAAAgAAAAAAAAApAAEAAgAAAAAAAAApAAIAAgAAAAAAAAApAAMAAgAAAAAAAAApAAQAAgAAAAAAAAApAAUAAgAAAAAAAAApAAYAAgAAAAAAAAApAAcAAgAAAAAAAAApAAgAAgAAAAAAAAApAAkAAgAAAAAAAAApAAoAAgAAAAAAAAApAAsAAgAAAAAAAAApAAwAAgAAAAAAAAApAA0AAgAAAAAAAAApAA4AAgAAAAAAAAApAA8AAgAAAAAAAAApABAAAgAAAAAAAAApABEAAgAAAAAAAAApABIAAgAAAAAAAAApABMAAgAAAAAAAAApABQAAgAAAAAAAAApABUAAQAAAAUAAAApABYAAQABAAkAAAApABcAAQABAAYAAAApABgAAQABAAcAAAApABkAAgAAAAAAAAApABoAAgAAAAAAAAApABsAAgAAAAAAAAApABwAAgAAAAAAAAApAB0AAgAAAAAAAAApAB4AAgAAAAAAAAApAB8AAgAAAAAAAAApACAAAgAAAAAAAAApACEAAgAAAAAAAAApACIAAgAAAAAAAAApACMAAgAAAAAAAAApACQAAgAAAAAAAAApACUAAgAAAAAAAAApACYAAgAAAAAAAAApACcAAgAAAAAAAAApACgAAgAAAAAAAAApACkAAgAAAAAAAAAqAAAAAgAAAAAAAAAqAAEAAgAAAAAAAAAqAAIAAgAAAAAAAAAqAAMAAgAAAAAAAAAqAAQAAgAAAAAAAAAqAAUAAgAAAAAAAAAqAAYAAgAAAAAAAAAqAAcAAgAAAAAAAAAqAAgAAgAAAAAAAAAqAAkAAgAAAAAAAAAqAAoAAgAAAAAAAAAqAAsAAgAAAAAAAAAqAAwAAgAAAAAAAAAqAA0AAgAAAAAAAAAqAA4AAgAAAAAAAAAqAA8AAgAAAAAAAAAqABAAAgAAAAAAAAAqABEAAgAAAAAAAAAqABIAAgAAAAAAAAAqABMAAgAAAAAAAAAqABQAAgAAAAAAAAAqABUAAQABAAUAAAAqABYAAQABAAYAAAAqABcAAQABAAYAAAAqABgAAQABAAcAAAAqABkAAgAAAAAAAAAqABoAAgAAAAAAAAAqABsAAgAAAAAAAAAqABwAAgAAAAAAAAAqAB0AAgAAAAAAAAAqAB4AAgAAAAAAAAAqAB8AAgAAAAAAAAAqACAAAgAAAAAAAAAqACEAAgAAAAAAAAAqACIAAgAAAAAAAAAqACMAAgAAAAAAAAAqACQAAgAAAAAAAAAqACUAAgAAAAAAAAAqACYAAgAAAAAAAAAqACcAAgAAAAAAAAAqACgAAgAAAAAAAAAqACkAAgAAAAAAAAArAAAAAgAAAAAAAAArAAEAAgAAAAAAAAArAAIAAgAAAAAAAAArAAMAAgAAAAAAAAArAAQAAgAAAAAAAAArAAUAAgAAAAAAAAArAAYAAgAAAAAAAAArAAcAAgAAAAAAAAArAAgAAgAAAAAAAAArAAkAAgAAAAAAAAArAAoAAgAAAAAAAAArAAsAAgAAAAAAAAArAAwAAgAAAAAAAAArAA0AAgAAAAAAAAArAA4AAgAAAAAAAAArAA8AAgAAAAAAAAArABAAAgAAAAAAAAArABEAAgAAAAAAAAArABIAAgAAAAAAAAArABMAAgAAAAAAAAArABQAAgAAAAAAAAArABUAAQACAAUAAAArABYAAQACAAYAAAArABcAAQACAAYAAAArABgAAQACAAcAAAArABkAAgAAAAAAAAArABoAAgAAAAAAAAArABsAAgAAAAAAAAArABwAAgAAAAAAAAArAB0AAgAAAAAAAAArAB4AAgAAAAAAAAArAB8AAgAAAAAAAAArACAAAgAAAAAAAAArACEAAgAAAAAAAAArACIAAgAAAAAAAAArACMAAgAAAAAAAAArACQAAgAAAAAAAAArACUAAgAAAAAAAAArACYAAgAAAAAAAAArACcAAgAAAAAAAAArACgAAgAAAAAAAAArACkAAgAAAAAAAAAsAAAAAgAAAAAAAAAsAAEAAgAAAAAAAAAsAAIAAgAAAAAAAAAsAAMAAgAAAAAAAAAsAAQAAgAAAAAAAAAsAAUAAgAAAAAAAAAsAAYAAgAAAAAAAAAsAAcAAgAAAAAAAAAsAAgAAgAAAAAAAAAsAAkAAgAAAAAAAAAsAAoAAgAAAAAAAAAsAAsAAgAAAAAAAAAsAAwAAgAAAAAAAAAsAA0AAgAAAAAAAAAsAA4AAgAAAAAAAAAsAA8AAgAAAAAAAAAsABAAAgAAAAAAAAAsABEAAgAAAAAAAAAsABIAAgAAAAAAAAAsABMAAgAAAAAAAAAsABQAAgAAAAAAAAAsABUAAgAAAAAAAAAsABYAAgAAAAAAAAAsABcAAgAAAAAAAAAsABgAAgAAAAAAAAAsABkAAgAAAAAAAAAsABoAAgAAAAAAAAAsABsAAgAAAAAAAAAsABwAAgAAAAAAAAAsAB0AAgAAAAAAAAAsAB4AAgAAAAAAAAAsAB8AAgAAAAAAAAAsACAAAgAAAAAAAAAsACEAAgAAAAAAAAAsACIAAgAAAAAAAAAsACMAAgAAAAAAAAAsACQAAgAAAAAAAAAsACUAAgAAAAAAAAAsACYAAgAAAAAAAAAsACcAAgAAAAAAAAAsACgAAgAAAAAAAAAsACkAAgAAAAAAAAAtAAAAAgAAAAAAAAAtAAEAAgAAAAAAAAAtAAIAAgAAAAAAAAAtAAMAAgAAAAAAAAAtAAQAAgAAAAAAAAAtAAUAAgAAAAAAAAAtAAYAAgAAAAAAAAAtAAcAAgAAAAAAAAAtAAgAAgAAAAAAAAAtAAkAAgAAAAAAAAAtAAoAAgAAAAAAAAAtAAsAAgAAAAAAAAAtAAwAAgAAAAAAAAAtAA0AAgAAAAAAAAAtAA4AAgAAAAAAAAAtAA8AAgAAAAAAAAAtABAAAgAAAAAAAAAtABEAAgAAAAAAAAAtABIAAgAAAAAAAAAtABMAAgAAAAAAAAAtABQAAgAAAAAAAAAtABUAAgAAAAAAAAAtABYAAgAAAAAAAAAtABcAAgAAAAAAAAAtABgAAgAAAAAAAAAtABkAAgAAAAAAAAAtABoAAgAAAAAAAAAtABsAAgAAAAAAAAAtABwAAgAAAAAAAAAtAB0AAgAAAAAAAAAtAB4AAgAAAAAAAAAtAB8AAgAAAAAAAAAtACAAAgAAAAAAAAAtACEAAgAAAAAAAAAtACIAAgAAAAAAAAAtACMAAgAAAAAAAAAtACQAAgAAAAAAAAAtACUAAgAAAAAAAAAtACYAAgAAAAAAAAAtACcAAgAAAAAAAAAtACgAAgAAAAAAAAAtACkAAgAAAAAAAAAuAAAAAgAAAAAAAAAuAAEAAgAAAAAAAAAuAAIAAgAAAAAAAAAuAAMAAgAAAAAAAAAuAAQAAgAAAAAAAAAuAAUAAgAAAAAAAAAuAAYAAgAAAAAAAAAuAAcAAgAAAAAAAAAuAAgAAgAAAAAAAAAuAAkAAgAAAAAAAAAuAAoAAgAAAAAAAAAuAAsAAgAAAAAAAAAuAAwAAgAAAAAAAAAuAA0AAgAAAAAAAAAuAA4AAgAAAAAAAAAuAA8AAgAAAAAAAAAuABAAAgAAAAAAAAAuABEAAgAAAAAAAAAuABIAAgAAAAAAAAAuABMAAgAAAAAAAAAuABQAAgAAAAAAAAAuABUAAgAAAAAAAAAuABYAAgAAAAAAAAAuABcAAgAAAAAAAAAuABgAAgAAAAAAAAAuABkAAgAAAAAAAAAuABoAAgAAAAAAAAAuABsAAgAAAAAAAAAuABwAAgAAAAAAAAAuAB0AAgAAAAAAAAAuAB4AAgAAAAAAAAAuAB8AAgAAAAAAAAAuACAAAgAAAAAAAAAuACEAAgAAAAAAAAAuACIAAgAAAAAAAAAuACMAAgAAAAAAAAAuACQAAgAAAAAAAAAuACUAAgAAAAAAAAAuACYAAgAAAAAAAAAuACcAAgAAAAAAAAAuACgAAgAAAAAAAAAuACkAAgAAAAAAAAAvAAAAAgAAAAAAAAAvAAEAAgAAAAAAAAAvAAIAAgAAAAAAAAAvAAMAAgAAAAAAAAAvAAQAAgAAAAAAAAAvAAUAAgAAAAAAAAAvAAYAAgAAAAAAAAAvAAcAAgAAAAAAAAAvAAgAAgAAAAAAAAAvAAkAAgAAAAAAAAAvAAoAAgAAAAAAAAAvAAsAAgAAAAAAAAAvAAwAAgAAAAAAAAAvAA0AAgAAAAAAAAAvAA4AAgAAAAAAAAAvAA8AAgAAAAAAAAAvABAAAgAAAAAAAAAvABEAAgAAAAAAAAAvABIAAgAAAAAAAAAvABMAAgAAAAAAAAAvABQAAgAAAAAAAAAvABUAAgAAAAAAAAAvABYAAgAAAAAAAAAvABcAAgAAAAAAAAAvABgAAgAAAAAAAAAvABkAAgAAAAAAAAAvABoAAgAAAAAAAAAvABsAAgAAAAAAAAAvABwAAgAAAAAAAAAvAB0AAgAAAAAAAAAvAB4AAgAAAAAAAAAvAB8AAgAAAAAAAAAvACAAAgAAAAAAAAAvACEAAgAAAAAAAAAvACIAAgAAAAAAAAAvACMAAgAAAAAAAAAvACQAAgAAAAAAAAAvACUAAgAAAAAAAAAvACYAAgAAAAAAAAAvACcAAgAAAAAAAAAvACgAAgAAAAAAAAAvACkAAgAAAAAAAAAwAAAAAgAAAAAAAAAwAAEAAgAAAAAAAAAwAAIAAgAAAAAAAAAwAAMAAgAAAAAAAAAwAAQAAgAAAAAAAAAwAAUAAgAAAAAAAAAwAAYAAgAAAAAAAAAwAAcAAgAAAAAAAAAwAAgAAgAAAAAAAAAwAAkAAgAAAAAAAAAwAAoAAgAAAAAAAAAwAAsAAgAAAAAAAAAwAAwAAgAAAAAAAAAwAA0AAgAAAAAAAAAwAA4AAgAAAAAAAAAwAA8AAgAAAAAAAAAwABAAAgAAAAAAAAAwABEAAgAAAAAAAAAwABIAAgAAAAAAAAAwABMAAgAAAAAAAAAwABQAAgAAAAAAAAAwABUAAgAAAAAAAAAwABYAAgAAAAAAAAAwABcAAgAAAAAAAAAwABgAAgAAAAAAAAAwABkAAgAAAAAAAAAwABoAAgAAAAAAAAAwABsAAgAAAAAAAAAwABwAAgAAAAAAAAAwAB0AAgAAAAAAAAAwAB4AAgAAAAAAAAAwAB8AAgAAAAAAAAAwACAAAgAAAAAAAAAwACEAAgAAAAAAAAAwACIAAgAAAAAAAAAwACMAAgAAAAAAAAAwACQAAgAAAAAAAAAwACUAAgAAAAAAAAAwACYAAgAAAAAAAAAwACcAAgAAAAAAAAAwACgAAgAAAAAAAAAwACkAAgAAAAAAAAAxAAAAAgAAAAAAAAAxAAEAAgAAAAAAAAAxAAIAAgAAAAAAAAAxAAMAAgAAAAAAAAAxAAQAAgAAAAAAAAAxAAUAAgAAAAAAAAAxAAYAAgAAAAAAAAAxAAcAAgAAAAAAAAAxAAgAAgAAAAAAAAAxAAkAAgAAAAAAAAAxAAoAAgAAAAAAAAAxAAsAAgAAAAAAAAAxAAwAAgAAAAAAAAAxAA0AAgAAAAAAAAAxAA4AAgAAAAAAAAAxAA8AAgAAAAAAAAAxABAAAgAAAAAAAAAxABEAAgAAAAAAAAAxABIAAgAAAAAAAAAxABMAAgAAAAAAAAAxABQAAgAAAAAAAAAxABUAAgAAAAAAAAAxABYAAgAAAAAAAAAxABcAAgAAAAAAAAAxABgAAgAAAAAAAAAxABkAAgAAAAAAAAAxABoAAgAAAAAAAAAxABsAAgAAAAAAAAAxABwAAgAAAAAAAAAxAB0AAgAAAAAAAAAxAB4AAgAAAAAAAAAxAB8AAgAAAAAAAAAxACAAAgAAAAAAAAAxACEAAgAAAAAAAAAxACIAAgAAAAAAAAAxACMAAgAAAAAAAAAxACQAAgAAAAAAAAAxACUAAgAAAAAAAAAxACYAAgAAAAAAAAAxACcAAgAAAAAAAAAxACgAAgAAAAAAAAAxACkAAgAAAAAAAAAyAAAAAgAAAAAAAAAyAAEAAgAAAAAAAAAyAAIAAgAAAAAAAAAyAAMAAgAAAAAAAAAyAAQAAgAAAAAAAAAyAAUAAgAAAAAAAAAyAAYAAgAAAAAAAAAyAAcAAgAAAAAAAAAyAAgAAgAAAAAAAAAyAAkAAgAAAAAAAAAyAAoAAgAAAAAAAAAyAAsAAgAAAAAAAAAyAAwAAgAAAAAAAAAyAA0AAgAAAAAAAAAyAA4AAgAAAAAAAAAyAA8AAgAAAAAAAAAyABAAAgAAAAAAAAAyABEAAgAAAAAAAAAyABIAAgAAAAAAAAAyABMAAgAAAAAAAAAyABQAAgAAAAAAAAAyABUAAgAAAAAAAAAyABYAAgAAAAAAAAAyABcAAgAAAAAAAAAyABgAAgAAAAAAAAAyABkAAgAAAAAAAAAyABoAAgAAAAAAAAAyABsAAgAAAAAAAAAyABwAAgAAAAAAAAAyAB0AAgAAAAAAAAAyAB4AAgAAAAAAAAAyAB8AAgAAAAAAAAAyACAAAgAAAAAAAAAyACEAAgAAAAAAAAAyACIAAgAAAAAAAAAyACMAAgAAAAAAAAAyACQAAgAAAAAAAAAyACUAAgAAAAAAAAAyACYAAgAAAAAAAAAyACcAAgAAAAAAAAAyACgAAgAAAAAAAAAyACkAAgAAAAAAAAAzAAAAAgAAAAAAAAAzAAEAAgAAAAAAAAAzAAIAAgAAAAAAAAAzAAMAAgAAAAAAAAAzAAQAAgAAAAAAAAAzAAUAAgAAAAAAAAAzAAYAAgAAAAAAAAAzAAcAAgAAAAAAAAAzAAgAAgAAAAAAAAAzAAkAAgAAAAAAAAAzAAoAAgAAAAAAAAAzAAsAAgAAAAAAAAAzAAwAAgAAAAAAAAAzAA0AAgAAAAAAAAAzAA4AAgAAAAAAAAAzAA8AAgAAAAAAAAAzABAAAgAAAAAAAAAzABEAAgAAAAAAAAAzABIAAgAAAAAAAAAzABMAAgAAAAAAAAAzABQAAgAAAAAAAAAzABUAAgAAAAAAAAAzABYAAgAAAAAAAAAzABcAAgAAAAAAAAAzABgAAgAAAAAAAAAzABkAAgAAAAAAAAAzABoAAgAAAAAAAAAzABsAAgAAAAAAAAAzABwAAgAAAAAAAAAzAB0AAgAAAAAAAAAzAB4AAgAAAAAAAAAzAB8AAgAAAAAAAAAzACAAAgAAAAAAAAAzACEAAgAAAAAAAAAzACIAAgAAAAAAAAAzACMAAgAAAAAAAAAzACQAAgAAAAAAAAAzACUAAgAAAAAAAAAzACYAAgAAAAAAAAAzACcAAgAAAAAAAAAzACgAAgAAAAAAAAAzACkAAgAAAAAAAAA0AAAAAgAAAAAAAAA0AAEAAgAAAAAAAAA0AAIAAgAAAAAAAAA0AAMAAgAAAAAAAAA0AAQAAgAAAAAAAAA0AAUAAgAAAAAAAAA0AAYAAgAAAAAAAAA0AAcAAgAAAAAAAAA0AAgAAgAAAAAAAAA0AAkAAgAAAAAAAAA0AAoAAgAAAAAAAAA0AAsAAgAAAAAAAAA0AAwAAgAAAAAAAAA0AA0AAgAAAAAAAAA0AA4AAgAAAAAAAAA0AA8AAgAAAAAAAAA0ABAAAgAAAAAAAAA0ABEAAgAAAAAAAAA0ABIAAgAAAAAAAAA0ABMAAgAAAAAAAAA0ABQAAgAAAAAAAAA0ABUAAgAAAAAAAAA0ABYAAgAAAAAAAAA0ABcAAgAAAAAAAAA0ABgAAgAAAAAAAAA0ABkAAgAAAAAAAAA0ABoAAgAAAAAAAAA0ABsAAgAAAAAAAAA0ABwAAgAAAAAAAAA0AB0AAgAAAAAAAAA0AB4AAgAAAAAAAAA0AB8AAgAAAAAAAAA0ACAAAgAAAAAAAAA0ACEAAgAAAAAAAAA0ACIAAgAAAAAAAAA0ACMAAgAAAAAAAAA0ACQAAgAAAAAAAAA0ACUAAgAAAAAAAAA0ACYAAgAAAAAAAAA0ACcAAgAAAAAAAAA0ACgAAgAAAAAAAAA0ACkAAgAAAAAAAAA1AAAAAgAAAAAAAAA1AAEAAgAAAAAAAAA1AAIAAgAAAAAAAAA1AAMAAgAAAAAAAAA1AAQAAgAAAAAAAAA1AAUAAgAAAAAAAAA1AAYAAgAAAAAAAAA1AAcAAgAAAAAAAAA1AAgAAgAAAAAAAAA1AAkAAgAAAAAAAAA1AAoAAgAAAAAAAAA1AAsAAgAAAAAAAAA1AAwAAgAAAAAAAAA1AA0AAgAAAAAAAAA1AA4AAgAAAAAAAAA1AA8AAgAAAAAAAAA1ABAAAgAAAAAAAAA1ABEAAgAAAAAAAAA1ABIAAgAAAAAAAAA1ABMAAgAAAAAAAAA1ABQAAgAAAAAAAAA1ABUAAgAAAAAAAAA1ABYAAgAAAAAAAAA1ABcAAgAAAAAAAAA1ABgAAgAAAAAAAAA1ABkAAgAAAAAAAAA1ABoAAgAAAAAAAAA1ABsAAgAAAAAAAAA1ABwAAgAAAAAAAAA1AB0AAgAAAAAAAAA1AB4AAgAAAAAAAAA1AB8AAgAAAAAAAAA1ACAAAgAAAAAAAAA1ACEAAgAAAAAAAAA1ACIAAgAAAAAAAAA1ACMAAgAAAAAAAAA1ACQAAgAAAAAAAAA1ACUAAgAAAAAAAAA1ACYAAgAAAAAAAAA1ACcAAgAAAAAAAAA1ACgAAgAAAAAAAAA1ACkAAgAAAAAAAAA2AAAAAgAAAAAAAAA2AAEAAgAAAAAAAAA2AAIAAgAAAAAAAAA2AAMAAgAAAAAAAAA2AAQAAgAAAAAAAAA2AAUAAgAAAAAAAAA2AAYAAgAAAAAAAAA2AAcAAgAAAAAAAAA2AAgAAgAAAAAAAAA2AAkAAgAAAAAAAAA2AAoAAgAAAAAAAAA2AAsAAgAAAAAAAAA2AAwAAgAAAAAAAAA2AA0AAgAAAAAAAAA2AA4AAgAAAAAAAAA2AA8AAgAAAAAAAAA2ABAAAgAAAAAAAAA2ABEAAgAAAAAAAAA2ABIAAgAAAAAAAAA2ABMAAgAAAAAAAAA2ABQAAgAAAAAAAAA2ABUAAgAAAAAAAAA2ABYAAgAAAAAAAAA2ABcAAgAAAAAAAAA2ABgAAgAAAAAAAAA2ABkAAgAAAAAAAAA2ABoAAgAAAAAAAAA2ABsAAgAAAAAAAAA2ABwAAgAAAAAAAAA2AB0AAgAAAAAAAAA2AB4AAgAAAAAAAAA2AB8AAgAAAAAAAAA2ACAAAgAAAAAAAAA2ACEAAgAAAAAAAAA2ACIAAgAAAAAAAAA2ACMAAgAAAAAAAAA2ACQAAgAAAAAAAAA2ACUAAgAAAAAAAAA2ACYAAgAAAAAAAAA2ACcAAgAAAAAAAAA2ACgAAgAAAAAAAAA2ACkAAgAAAAAAAAA3AAAAAgAAAAAAAAA3AAEAAgAAAAAAAAA3AAIAAgAAAAAAAAA3AAMAAgAAAAAAAAA3AAQAAgAAAAAAAAA3AAUAAgAAAAAAAAA3AAYAAgAAAAAAAAA3AAcAAgAAAAAAAAA3AAgAAgAAAAAAAAA3AAkAAgAAAAAAAAA3AAoAAgAAAAAAAAA3AAsAAgAAAAAAAAA3AAwAAgAAAAAAAAA3AA0AAgAAAAAAAAA3AA4AAgAAAAAAAAA3AA8AAgAAAAAAAAA3ABAAAgAAAAAAAAA3ABEAAgAAAAAAAAA3ABIAAgAAAAAAAAA3ABMAAgAAAAAAAAA3ABQAAgAAAAAAAAA3ABUAAgAAAAAAAAA3ABYAAgAAAAAAAAA3ABcAAgAAAAAAAAA3ABgAAgAAAAAAAAA3ABkAAgAAAAAAAAA3ABoAAgAAAAAAAAA3ABsAAgAAAAAAAAA3ABwAAgAAAAAAAAA3AB0AAgAAAAAAAAA3AB4AAgAAAAAAAAA3AB8AAgAAAAAAAAA3ACAAAgAAAAAAAAA3ACEAAgAAAAAAAAA3ACIAAgAAAAAAAAA3ACMAAgAAAAAAAAA3ACQAAgAAAAAAAAA3ACUAAgAAAAAAAAA3ACYAAgAAAAAAAAA3ACcAAgAAAAAAAAA3ACgAAgAAAAAAAAA3ACkAAgAAAAAAAAA4AAAAAgAAAAAAAAA4AAEAAgAAAAAAAAA4AAIAAgAAAAAAAAA4AAMAAgAAAAAAAAA4AAQAAgAAAAAAAAA4AAUAAgAAAAAAAAA4AAYAAgAAAAAAAAA4AAcAAgAAAAAAAAA4AAgAAgAAAAAAAAA4AAkAAgAAAAAAAAA4AAoAAgAAAAAAAAA4AAsAAgAAAAAAAAA4AAwAAgAAAAAAAAA4AA0AAgAAAAAAAAA4AA4AAgAAAAAAAAA4AA8AAgAAAAAAAAA4ABAAAgAAAAAAAAA4ABEAAgAAAAAAAAA4ABIAAgAAAAAAAAA4ABMAAgAAAAAAAAA4ABQAAgAAAAAAAAA4ABUAAgAAAAAAAAA4ABYAAgAAAAAAAAA4ABcAAgAAAAAAAAA4ABgAAgAAAAAAAAA4ABkAAgAAAAAAAAA4ABoAAgAAAAAAAAA4ABsAAgAAAAAAAAA4ABwAAgAAAAAAAAA4AB0AAgAAAAAAAAA4AB4AAgAAAAAAAAA4AB8AAgAAAAAAAAA4ACAAAgAAAAAAAAA4ACEAAgAAAAAAAAA4ACIAAgAAAAAAAAA4ACMAAgAAAAAAAAA4ACQAAgAAAAAAAAA4ACUAAgAAAAAAAAA4ACYAAgAAAAAAAAA4ACcAAgAAAAAAAAA4ACgAAgAAAAAAAAA4ACkAAgAAAAAAAAA5AAAAAgAAAAAAAAA5AAEAAgAAAAAAAAA5AAIAAgAAAAAAAAA5AAMAAgAAAAAAAAA5AAQAAgAAAAAAAAA5AAUAAgAAAAAAAAA5AAYAAgAAAAAAAAA5AAcAAgAAAAAAAAA5AAgAAgAAAAAAAAA5AAkAAgAAAAAAAAA5AAoAAgAAAAAAAAA5AAsAAgAAAAAAAAA5AAwAAgAAAAAAAAA5AA0AAgAAAAAAAAA5AA4AAgAAAAAAAAA5AA8AAgAAAAAAAAA5ABAAAgAAAAAAAAA5ABEAAgAAAAAAAAA5ABIAAgAAAAAAAAA5ABMAAgAAAAAAAAA5ABQAAgAAAAAAAAA5ABUAAgAAAAAAAAA5ABYAAgAAAAAAAAA5ABcAAgAAAAAAAAA5ABgAAgAAAAAAAAA5ABkAAgAAAAAAAAA5ABoAAgAAAAAAAAA5ABsAAgAAAAAAAAA5ABwAAgAAAAAAAAA5AB0AAgAAAAAAAAA5AB4AAgAAAAAAAAA5AB8AAgAAAAAAAAA5ACAAAgAAAAAAAAA5ACEAAgAAAAAAAAA5ACIAAgAAAAAAAAA5ACMAAgAAAAAAAAA5ACQAAgAAAAAAAAA5ACUAAgAAAAAAAAA5ACYAAgAAAAAAAAA5ACcAAgAAAAAAAAA5ACgAAgAAAAAAAAA5ACkAAgAAAAAAAAA6AAAAAgAAAAAAAAA6AAEAAgAAAAAAAAA6AAIAAgAAAAAAAAA6AAMAAgAAAAAAAAA6AAQAAgAAAAAAAAA6AAUAAgAAAAAAAAA6AAYAAgAAAAAAAAA6AAcAAgAAAAAAAAA6AAgAAgAAAAAAAAA6AAkAAgAAAAAAAAA6AAoAAgAAAAAAAAA6AAsAAgAAAAAAAAA6AAwAAgAAAAAAAAA6AA0AAgAAAAAAAAA6AA4AAgAAAAAAAAA6AA8AAgAAAAAAAAA6ABAAAgAAAAAAAAA6ABEAAgAAAAAAAAA6ABIAAgAAAAAAAAA6ABMAAgAAAAAAAAA6ABQAAgAAAAAAAAA6ABUAAgAAAAAAAAA6ABYAAgAAAAAAAAA6ABcAAgAAAAAAAAA6ABgAAgAAAAAAAAA6ABkAAgAAAAAAAAA6ABoAAgAAAAAAAAA6ABsAAgAAAAAAAAA6ABwAAgAAAAAAAAA6AB0AAgAAAAAAAAA6AB4AAgAAAAAAAAA6AB8AAgAAAAAAAAA6ACAAAgAAAAAAAAA6ACEAAgAAAAAAAAA6ACIAAgAAAAAAAAA6ACMAAgAAAAAAAAA6ACQAAgAAAAAAAAA6ACUAAgAAAAAAAAA6ACYAAgAAAAAAAAA6ACcAAgAAAAAAAAA6ACgAAgAAAAAAAAA6ACkAAgAAAAAAAAA7AAAAAgAAAAAAAAA7AAEAAgAAAAAAAAA7AAIAAgAAAAAAAAA7AAMAAgAAAAAAAAA7AAQAAgAAAAAAAAA7AAUAAgAAAAAAAAA7AAYAAgAAAAAAAAA7AAcAAgAAAAAAAAA7AAgAAgAAAAAAAAA7AAkAAgAAAAAAAAA7AAoAAgAAAAAAAAA7AAsAAgAAAAAAAAA7AAwAAgAAAAAAAAA7AA0AAgAAAAAAAAA7AA4AAgAAAAAAAAA7AA8AAgAAAAAAAAA7ABAAAgAAAAAAAAA7ABEAAgAAAAAAAAA7ABIAAgAAAAAAAAA7ABMAAgAAAAAAAAA7ABQAAgAAAAAAAAA7ABUAAgAAAAAAAAA7ABYAAgAAAAAAAAA7ABcAAgAAAAAAAAA7ABgAAgAAAAAAAAA7ABkAAgAAAAAAAAA7ABoAAgAAAAAAAAA7ABsAAgAAAAAAAAA7ABwAAgAAAAAAAAA7AB0AAgAAAAAAAAA7AB4AAgAAAAAAAAA7AB8AAgAAAAAAAAA7ACAAAgAAAAAAAAA7ACEAAgAAAAAAAAA7ACIAAgAAAAAAAAA7ACMAAgAAAAAAAAA7ACQAAgAAAAAAAAA7ACUAAgAAAAAAAAA7ACYAAgAAAAAAAAA7ACcAAgAAAAAAAAA7ACgAAgAAAAAAAAA7ACkAAgAAAAAAAAA8AAAAAgAAAAAAAAA8AAEAAgAAAAAAAAA8AAIAAgAAAAAAAAA8AAMAAgAAAAAAAAA8AAQAAgAAAAAAAAA8AAUAAgAAAAAAAAA8AAYAAgAAAAAAAAA8AAcAAgAAAAAAAAA8AAgAAgAAAAAAAAA8AAkAAgAAAAAAAAA8AAoAAgAAAAAAAAA8AAsAAgAAAAAAAAA8AAwAAgAAAAAAAAA8AA0AAgAAAAAAAAA8AA4AAgAAAAAAAAA8AA8AAgAAAAAAAAA8ABAAAgAAAAAAAAA8ABEAAgAAAAAAAAA8ABIAAgAAAAAAAAA8ABMAAgAAAAAAAAA8ABQAAgAAAAAAAAA8ABUAAgAAAAAAAAA8ABYAAgAAAAAAAAA8ABcAAgAAAAAAAAA8ABgAAgAAAAAAAAA8ABkAAgAAAAAAAAA8ABoAAgAAAAAAAAA8ABsAAgAAAAAAAAA8ABwAAgAAAAAAAAA8AB0AAgAAAAAAAAA8AB4AAgAAAAAAAAA8AB8AAgAAAAAAAAA8ACAAAgAAAAAAAAA8ACEAAgAAAAAAAAA8ACIAAgAAAAAAAAA8ACMAAgAAAAAAAAA8ACQAAgAAAAAAAAA8ACUAAgAAAAAAAAA8ACYAAgAAAAAAAAA8ACcAAgAAAAAAAAA8ACgAAgAAAAAAAAA8ACkAAgAAAAAAAAA9AAAAAgAAAAAAAAA9AAEAAgAAAAAAAAA9AAIAAgAAAAAAAAA9AAMAAgAAAAAAAAA9AAQAAgAAAAAAAAA9AAUAAgAAAAAAAAA9AAYAAgAAAAAAAAA9AAcAAgAAAAAAAAA9AAgAAgAAAAAAAAA9AAkAAgAAAAAAAAA9AAoAAgAAAAAAAAA9AAsAAgAAAAAAAAA9AAwAAgAAAAAAAAA9AA0AAgAAAAAAAAA9AA4AAgAAAAAAAAA9AA8AAgAAAAAAAAA9ABAAAgAAAAAAAAA9ABEAAgAAAAAAAAA9ABIAAgAAAAAAAAA9ABMAAgAAAAAAAAA9ABQAAgAAAAAAAAA9ABUAAgAAAAAAAAA9ABYAAgAAAAAAAAA9ABcAAgAAAAAAAAA9ABgAAgAAAAAAAAA9ABkAAgAAAAAAAAA9ABoAAgAAAAAAAAA9ABsAAgAAAAAAAAA9ABwAAgAAAAAAAAA9AB0AAgAAAAAAAAA9AB4AAgAAAAAAAAA9AB8AAgAAAAAAAAA9ACAAAgAAAAAAAAA9ACEAAgAAAAAAAAA9ACIAAgAAAAAAAAA9ACMAAgAAAAAAAAA9ACQAAgAAAAAAAAA9ACUAAgAAAAAAAAA9ACYAAgAAAAAAAAA9ACcAAgAAAAAAAAA9ACgAAgAAAAAAAAA9ACkAAgAAAAAAAAA+AAAAAgAAAAAAAAA+AAEAAgAAAAAAAAA+AAIAAgAAAAAAAAA+AAMAAgAAAAAAAAA+AAQAAgAAAAAAAAA+AAUAAgAAAAAAAAA+AAYAAgAAAAAAAAA+AAcAAgAAAAAAAAA+AAgAAgAAAAAAAAA+AAkAAgAAAAAAAAA+AAoAAgAAAAAAAAA+AAsAAgAAAAAAAAA+AAwAAgAAAAAAAAA+AA0AAgAAAAAAAAA+AA4AAgAAAAAAAAA+AA8AAgAAAAAAAAA+ABAAAgAAAAAAAAA+ABEAAgAAAAAAAAA+ABIAAgAAAAAAAAA+ABMAAgAAAAAAAAA+ABQAAgAAAAAAAAA+ABUAAgAAAAAAAAA+ABYAAgAAAAAAAAA+ABcAAgAAAAAAAAA+ABgAAgAAAAAAAAA+ABkAAgAAAAAAAAA+ABoAAgAAAAAAAAA+ABsAAgAAAAAAAAA+ABwAAgAAAAAAAAA+AB0AAgAAAAAAAAA+AB4AAgAAAAAAAAA+AB8AAgAAAAAAAAA+ACAAAgAAAAAAAAA+ACEAAgAAAAAAAAA+ACIAAgAAAAAAAAA+ACMAAgAAAAAAAAA+ACQAAgAAAAAAAAA+ACUAAgAAAAAAAAA+ACYAAgAAAAAAAAA+ACcAAgAAAAAAAAA+ACgAAgAAAAAAAAA+ACkAAgAAAAAAAAA/AAAAAgAAAAAAAAA/AAEAAgAAAAAAAAA/AAIAAgAAAAAAAAA/AAMAAgAAAAAAAAA/AAQAAgAAAAAAAAA/AAUAAgAAAAAAAAA/AAYAAgAAAAAAAAA/AAcAAgAAAAAAAAA/AAgAAgAAAAAAAAA/AAkAAgAAAAAAAAA/AAoAAgAAAAAAAAA/AAsAAgAAAAAAAAA/AAwAAgAAAAAAAAA/AA0AAgAAAAAAAAA/AA4AAgAAAAAAAAA/AA8AAgAAAAAAAAA/ABAAAgAAAAAAAAA/ABEAAgAAAAAAAAA/ABIAAgAAAAAAAAA/ABMAAgAAAAAAAAA/ABQAAgAAAAAAAAA/ABUAAgAAAAAAAAA/ABYAAgAAAAAAAAA/ABcAAgAAAAAAAAA/ABgAAgAAAAAAAAA/ABkAAgAAAAAAAAA/ABoAAgAAAAAAAAA/ABsAAgAAAAAAAAA/ABwAAgAAAAAAAAA/AB0AAgAAAAAAAAA/AB4AAgAAAAAAAAA/AB8AAgAAAAAAAAA/ACAAAgAAAAAAAAA/ACEAAgAAAAAAAAA/ACIAAgAAAAAAAAA/ACMAAgAAAAAAAAA/ACQAAgAAAAAAAAA/ACUAAgAAAAAAAAA/ACYAAgAAAAAAAAA/ACcAAgAAAAAAAAA/ACgAAgAAAAAAAAA/ACkAAgAAAAAAAABAAAAAAgAAAAAAAABAAAEAAgAAAAAAAABAAAIAAgAAAAAAAABAAAMAAgAAAAAAAABAAAQAAgAAAAAAAABAAAUAAgAAAAAAAABAAAYAAgAAAAAAAABAAAcAAgAAAAAAAABAAAgAAgAAAAAAAABAAAkAAgAAAAAAAABAAAoAAgAAAAAAAABAAAsAAgAAAAAAAABAAAwAAgAAAAAAAABAAA0AAgAAAAAAAABAAA4AAgAAAAAAAABAAA8AAgAAAAAAAABAABAAAgAAAAAAAABAABEAAgAAAAAAAABAABIAAgAAAAAAAABAABMAAgAAAAAAAABAABQAAgAAAAAAAABAABUAAgAAAAAAAABAABYAAgAAAAAAAABAABcAAgAAAAAAAABAABgAAgAAAAAAAABAABkAAgAAAAAAAABAABoAAgAAAAAAAABAABsAAgAAAAAAAABAABwAAgAAAAAAAABAAB0AAgAAAAAAAABAAB4AAgAAAAAAAABAAB8AAgAAAAAAAABAACAAAgAAAAAAAABAACEAAgAAAAAAAABAACIAAgAAAAAAAABAACMAAgAAAAAAAABAACQAAgAAAAAAAABAACUAAgAAAAAAAABAACYAAgAAAAAAAABAACcAAgAAAAAAAABAACgAAgAAAAAAAABAACkAAgAAAAAAAABBAAAAAgAAAAAAAABBAAEAAgAAAAAAAABBAAIAAgAAAAAAAABBAAMAAgAAAAAAAABBAAQAAgAAAAAAAABBAAUAAgAAAAAAAABBAAYAAgAAAAAAAABBAAcAAgAAAAAAAABBAAgAAgAAAAAAAABBAAkAAgAAAAAAAABBAAoAAgAAAAAAAABBAAsAAgAAAAAAAABBAAwAAgAAAAAAAABBAA0AAgAAAAAAAABBAA4AAgAAAAAAAABBAA8AAgAAAAAAAABBABAAAgAAAAAAAABBABEAAgAAAAAAAABBABIAAgAAAAAAAABBABMAAgAAAAAAAABBABQAAgAAAAAAAABBABUAAgAAAAAAAABBABYAAgAAAAAAAABBABcAAgAAAAAAAABBABgAAgAAAAAAAABBABkAAgAAAAAAAABBABoAAgAAAAAAAABBABsAAgAAAAAAAABBABwAAgAAAAAAAABBAB0AAgAAAAAAAABBAB4AAgAAAAAAAABBAB8AAgAAAAAAAABBACAAAgAAAAAAAABBACEAAgAAAAAAAABBACIAAgAAAAAAAABBACMAAgAAAAAAAABBACQAAgAAAAAAAABBACUAAgAAAAAAAABBACYAAgAAAAAAAABBACcAAgAAAAAAAABBACgAAgAAAAAAAABBACkAAgAAAAAAAABCAAAAAgAAAAAAAABCAAEAAgAAAAAAAABCAAIAAgAAAAAAAABCAAMAAgAAAAAAAABCAAQAAgAAAAAAAABCAAUAAgAAAAAAAABCAAYAAgAAAAAAAABCAAcAAgAAAAAAAABCAAgAAgAAAAAAAABCAAkAAgAAAAAAAABCAAoAAgAAAAAAAABCAAsAAgAAAAAAAABCAAwAAgAAAAAAAABCAA0AAgAAAAAAAABCAA4AAgAAAAAAAABCAA8AAgAAAAAAAABCABAAAgAAAAAAAABCABEAAgAAAAAAAABCABIAAgAAAAAAAABCABMAAgAAAAAAAABCABQAAgAAAAAAAABCABUAAgAAAAAAAABCABYAAgAAAAAAAABCABcAAgAAAAAAAABCABgAAgAAAAAAAABCABkAAgAAAAAAAABCABoAAgAAAAAAAABCABsAAgAAAAAAAABCABwAAgAAAAAAAABCAB0AAgAAAAAAAABCAB4AAgAAAAAAAABCAB8AAgAAAAAAAABCACAAAgAAAAAAAABCACEAAgAAAAAAAABCACIAAgAAAAAAAABCACMAAgAAAAAAAABCACQAAgAAAAAAAABCACUAAgAAAAAAAABCACYAAgAAAAAAAABCACcAAgAAAAAAAABCACgAAgAAAAAAAABCACkAAgAAAAAAAABDAAAAAgAAAAAAAABDAAEAAgAAAAAAAABDAAIAAgAAAAAAAABDAAMAAgAAAAAAAABDAAQAAgAAAAAAAABDAAUAAgAAAAAAAABDAAYAAgAAAAAAAABDAAcAAgAAAAAAAABDAAgAAgAAAAAAAABDAAkAAgAAAAAAAABDAAoAAgAAAAAAAABDAAsAAgAAAAAAAABDAAwAAgAAAAAAAABDAA0AAgAAAAAAAABDAA4AAgAAAAAAAABDAA8AAgAAAAAAAABDABAAAgAAAAAAAABDABEAAgAAAAAAAABDABIAAgAAAAAAAABDABMAAgAAAAAAAABDABQAAgAAAAAAAABDABUAAgAAAAAAAABDABYAAgAAAAAAAABDABcAAgAAAAAAAABDABgAAgAAAAAAAABDABkAAgAAAAAAAABDABoAAgAAAAAAAABDABsAAgAAAAAAAABDABwAAgAAAAAAAABDAB0AAgAAAAAAAABDAB4AAgAAAAAAAABDAB8AAgAAAAAAAABDACAAAgAAAAAAAABDACEAAgAAAAAAAABDACIAAgAAAAAAAABDACMAAgAAAAAAAABDACQAAgAAAAAAAABDACUAAgAAAAAAAABDACYAAgAAAAAAAABDACcAAgAAAAAAAABDACgAAgAAAAAAAABDACkAAgAAAAAAAABEAAAAAgAAAAAAAABEAAEAAgAAAAAAAABEAAIAAgAAAAAAAABEAAMAAgAAAAAAAABEAAQAAgAAAAAAAABEAAUAAgAAAAAAAABEAAYAAgAAAAAAAABEAAcAAgAAAAAAAABEAAgAAgAAAAAAAABEAAkAAgAAAAAAAABEAAoAAgAAAAAAAABEAAsAAgAAAAAAAABEAAwAAgAAAAAAAABEAA0AAgAAAAAAAABEAA4AAgAAAAAAAABEAA8AAgAAAAAAAABEABAAAgAAAAAAAABEABEAAgAAAAAAAABEABIAAgAAAAAAAABEABMAAgAAAAAAAABEABQAAgAAAAAAAABEABUAAgAAAAAAAABEABYAAgAAAAAAAABEABcAAgAAAAAAAABEABgAAgAAAAAAAABEABkAAgAAAAAAAABEABoAAgAAAAAAAABEABsAAgAAAAAAAABEABwAAgAAAAAAAABEAB0AAgAAAAAAAABEAB4AAgAAAAAAAABEAB8AAgAAAAAAAABEACAAAgAAAAAAAABEACEAAgAAAAAAAABEACIAAgAAAAAAAABEACMAAgAAAAAAAABEACQAAgAAAAAAAABEACUAAgAAAAAAAABEACYAAgAAAAAAAABEACcAAgAAAAAAAABEACgAAgAAAAAAAABEACkAAgAAAAAAAABFAAAAAgAAAAAAAABFAAEAAgAAAAAAAABFAAIAAgAAAAAAAABFAAMAAgAAAAAAAABFAAQAAgAAAAAAAABFAAUAAgAAAAAAAABFAAYAAgAAAAAAAABFAAcAAgAAAAAAAABFAAgAAgAAAAAAAABFAAkAAgAAAAAAAABFAAoAAgAAAAAAAABFAAsAAgAAAAAAAABFAAwAAgAAAAAAAABFAA0AAgAAAAAAAABFAA4AAgAAAAAAAABFAA8AAgAAAAAAAABFABAAAgAAAAAAAABFABEAAgAAAAAAAABFABIAAgAAAAAAAABFABMAAgAAAAAAAABFABQAAgAAAAAAAABFABUAAgAAAAAAAABFABYAAgAAAAAAAABFABcAAgAAAAAAAABFABgAAgAAAAAAAABFABkAAgAAAAAAAABFABoAAgAAAAAAAABFABsAAgAAAAAAAABFABwAAgAAAAAAAABFAB0AAgAAAAAAAABFAB4AAgAAAAAAAABFAB8AAgAAAAAAAABFACAAAgAAAAAAAABFACEAAgAAAAAAAABFACIAAgAAAAAAAABFACMAAgAAAAAAAABFACQAAgAAAAAAAABFACUAAgAAAAAAAABFACYAAgAAAAAAAABFACcAAgAAAAAAAABFACgAAgAAAAAAAABFACkAAgAAAAAAAABGAAAAAgAAAAAAAABGAAEAAgAAAAAAAABGAAIAAgAAAAAAAABGAAMAAgAAAAAAAABGAAQAAgAAAAAAAABGAAUAAgAAAAAAAABGAAYAAgAAAAAAAABGAAcAAgAAAAAAAABGAAgAAgAAAAAAAABGAAkAAgAAAAAAAABGAAoAAgAAAAAAAABGAAsAAgAAAAAAAABGAAwAAgAAAAAAAABGAA0AAgAAAAAAAABGAA4AAgAAAAAAAABGAA8AAgAAAAAAAABGABAAAgAAAAAAAABGABEAAgAAAAAAAABGABIAAgAAAAAAAABGABMAAgAAAAAAAABGABQAAgAAAAAAAABGABUAAgAAAAAAAABGABYAAgAAAAAAAABGABcAAgAAAAAAAABGABgAAgAAAAAAAABGABkAAgAAAAAAAABGABoAAgAAAAAAAABGABsAAgAAAAAAAABGABwAAgAAAAAAAABGAB0AAgAAAAAAAABGAB4AAgAAAAAAAABGAB8AAgAAAAAAAABGACAAAgAAAAAAAABGACEAAgAAAAAAAABGACIAAgAAAAAAAABGACMAAgAAAAAAAABGACQAAgAAAAAAAABGACUAAgAAAAAAAABGACYAAgAAAAAAAABGACcAAgAAAAAAAABGACgAAgAAAAAAAABGACkAAgAAAAAAAABHAAAAAgAAAAAAAABHAAEAAgAAAAAAAABHAAIAAgAAAAAAAABHAAMAAgAAAAAAAABHAAQAAgAAAAAAAABHAAUAAgAAAAAAAABHAAYAAgAAAAAAAABHAAcAAgAAAAAAAABHAAgAAgAAAAAAAABHAAkAAgAAAAAAAABHAAoAAgAAAAAAAABHAAsAAgAAAAAAAABHAAwAAgAAAAAAAABHAA0AAgAAAAAAAABHAA4AAgAAAAAAAABHAA8AAgAAAAAAAABHABAAAgAAAAAAAABHABEAAgAAAAAAAABHABIAAgAAAAAAAABHABMAAgAAAAAAAABHABQAAgAAAAAAAABHABUAAgAAAAAAAABHABYAAgAAAAAAAABHABcAAgAAAAAAAABHABgAAgAAAAAAAABHABkAAgAAAAAAAABHABoAAgAAAAAAAABHABsAAgAAAAAAAABHABwAAgAAAAAAAABHAB0AAgAAAAAAAABHAB4AAgAAAAAAAABHAB8AAgAAAAAAAABHACAAAgAAAAAAAABHACEAAgAAAAAAAABHACIAAgAAAAAAAABHACMAAgAAAAAAAABHACQAAgAAAAAAAABHACUAAgAAAAAAAABHACYAAgAAAAAAAABHACcAAgAAAAAAAABHACgAAgAAAAAAAABHACkAAgAAAAAAAABIAAAAAgAAAAAAAABIAAEAAgAAAAAAAABIAAIAAgAAAAAAAABIAAMAAgAAAAAAAABIAAQAAgAAAAAAAABIAAUAAgAAAAAAAABIAAYAAgAAAAAAAABIAAcAAgAAAAAAAABIAAgAAgAAAAAAAABIAAkAAgAAAAAAAABIAAoAAgAAAAAAAABIAAsAAgAAAAAAAABIAAwAAgAAAAAAAABIAA0AAgAAAAAAAABIAA4AAgAAAAAAAABIAA8AAgAAAAAAAABIABAAAgAAAAAAAABIABEAAgAAAAAAAABIABIAAgAAAAAAAABIABMAAgAAAAAAAABIABQAAgAAAAAAAABIABUAAgAAAAAAAABIABYAAgAAAAAAAABIABcAAgAAAAAAAABIABgAAgAAAAAAAABIABkAAgAAAAAAAABIABoAAgAAAAAAAABIABsAAgAAAAAAAABIABwAAgAAAAAAAABIAB0AAgAAAAAAAABIAB4AAgAAAAAAAABIAB8AAgAAAAAAAABIACAAAgAAAAAAAABIACEAAgAAAAAAAABIACIAAgAAAAAAAABIACMAAgAAAAAAAABIACQAAgAAAAAAAABIACUAAgAAAAAAAABIACYAAgAAAAAAAABIACcAAgAAAAAAAABIACgAAgAAAAAAAABIACkAAgAAAAAAAAA=") +tile_set = ExtResource("1_x5wur") + +[node name="Decor" type="TileMapLayer" parent="Tilemap" unique_id=868582598] +tile_map_data = PackedByteArray("AAAtABYAKgAAAAMAAAAeABEAKgAQAAMAAAAjABkAKgAQAAMAAAAmABMAMwAGAAAAAAAaABkAMwAGAAEAAAAwABcAMwAYAAAAAAAaAA0AKgAIAAMAAAAYABkAKgAQAAMAAAA=") +tile_set = ExtResource("1_x5wur") + +[node name="Cliffs2" type="TileMapLayer" parent="Tilemap" unique_id=510615461] +y_sort_enabled = true +tile_map_data = PackedByteArray("AAAZAA4AAQAJAAIAAAAZAA8AAQAJAAMAAAAZABAAAQAJAAQAAAAvAA4AAQAJAAIAAAAvAA8AAQAJAAMAAAAvABAAAQAJAAQAAAA=") +tile_set = ExtResource("1_x5wur") + +[node name="Cliffs" type="TileMapLayer" parent="Tilemap" unique_id=508850024] +y_sort_enabled = true +tile_map_data = PackedByteArray("AAAZAA4AAQADAAAAAAAZAA8AAQAKAAEAAAAZABAAAQAKAAEAAAAaAA4AAQAJAAIAAAAaAA8AAQAJAAMAAAAaABAAAQAJAAQAAAAbAA4AAQAJAAIAAAAbAA8AAQAJAAMAAAAbABAAAQAJAAQAAAAcAA4AAQAJAAIAAAAcAA8AAQAJAAMAAAAcABAAAQAJAAQAAAAdAA4AAQAJAAIAAAAdAA8AAQAJAAMAAAAdABAAAQAJAAQAAAAeAA4AAQAJAAIAAAAeAA8AAQAJAAMAAAAeABAAAQAJAAQAAAAfAA4AAQAJAAIAAAAfAA8AAQAJAAMAAAAfABAAAQAJAAQAAAAgAA4AAQAJAAIAAAAgAA8AAQAJAAMAAAAgABAAAQAJAAQAAAAhAA4AAQAJAAIAAAAhAA8AAQAJAAMAAAAhABAAAQAJAAQAAAAiAA4AAQAJAAIAAAAiAA8AAQAJAAMAAAAiABAAAQAJAAQAAAAjAA4AAQAJAAIAAAAjAA8AAQAJAAMAAAAjABAAAQAJAAQAAAAkAA4AAQAJAAIAAAAkAA8AAQAJAAMAAAAkABAAAQAJAAQAAAAlAA4AAQAJAAIAAAAlAA8AAQAJAAMAAAAlABAAAQAJAAQAAAAmAA4AAQAJAAIAAAAmAA8AAQAJAAMAAAAmABAAAQAJAAQAAAAnAA4AAQAJAAIAAAAnAA8AAQAJAAMAAAAnABAAAQAJAAQAAAAoAA4AAQAJAAIAAAAoAA8AAQAJAAMAAAAoABAAAQAJAAQAAAApAA4AAQAJAAIAAAApAA8AAQAJAAMAAAApABAAAQAJAAQAAAAqAA4AAQAJAAIAAAAqAA8AAQAJAAMAAAAqABAAAQAJAAQAAAArAA4AAQAJAAIAAAArAA8AAQAJAAMAAAArABAAAQAJAAQAAAAsAA4AAQAJAAIAAAAsAA8AAQAJAAMAAAAsABAAAQAJAAQAAAAtAA4AAQAJAAIAAAAtAA8AAQAJAAMAAAAtABAAAQAJAAQAAAAuAA4AAQAJAAIAAAAuAA8AAQAJAAMAAAAuABAAAQAJAAQAAAAvAA4AAQAFAAAAAAAvAA8AAQAIAAEAAAAvABAAAQAIAAEAAAAZABEAAQAKAAEAAAAZABIAAQAKAAEAAAAZABMAAQAKAAEAAAAZABQAAQAKAAEAAAAZABUAAQAKAAEAAAAZABYAAQAKAAEAAAAZABcAAQAKAAEAAAAZABgAAQAKAAEAAAAZABkAAQAKAAEAAAAZABoAAQADAAIAAAAvABEAAQAIAAEAAAAvABIAAQAIAAEAAAAvABMAAQAIAAEAAAAvABQAAQAIAAEAAAAvABUAAQAIAAEAAAAvABYAAQAIAAEAAAAvABcAAQAIAAEAAAAvABgAAQAIAAEAAAAvABkAAQAIAAEAAAAaABoAAQAJAAAAAAAbABoAAQAJAAAAAAAcABoAAQAJAAAAAAAdABoAAQAJAAAAAAAeABoAAQAJAAAAAAAfABoAAQAJAAAAAAAgABoAAQAJAAAAAAAhABoAAQAJAAAAAAAiABoAAQAJAAAAAAAjABoAAQAJAAAAAAAkABoAAQAJAAAAAAAlABoAAQAJAAAAAAAmABoAAQAJAAAAAAAnABoAAQAJAAAAAAAoABoAAQAJAAAAAAApABoAAQAJAAAAAAAqABoAAQAJAAAAAAArABoAAQAJAAAAAAAsABoAAQAJAAAAAAAtABoAAQAJAAAAAAAuABoAAQAJAAAAAAAvABoAAQAFAAIAAAA=") +tile_set = ExtResource("1_x5wur") + +[node name="Camera2D" type="Camera2D" parent="Tilemap" unique_id=978142977] +z_index = 1 +position = Vector2(584, 327) +zoom = Vector2(3, 3) + +[node name="Entities" type="Node2D" parent="." unique_id=660269895] +y_sort_enabled = true + +[node name="Map Objects" type="Node2D" parent="Entities" unique_id=326270024] +y_sort_enabled = true + +[node name="Home 01" parent="Entities/Map Objects" unique_id=2084767105 instance=ExtResource("2_x4fat")] +position = Vector2(688, 284) + +[node name="Trees" type="Node2D" parent="Entities/Map Objects" unique_id=91659992] +y_sort_enabled = true + +[node name="Tree 02 - 1" parent="Entities/Map Objects/Trees" unique_id=2046930104 instance=ExtResource("4_gs8fo")] +position = Vector2(604, 269) + +[node name="Tree 02 - 2" parent="Entities/Map Objects/Trees" unique_id=622066090 instance=ExtResource("4_gs8fo")] +position = Vector2(448, 391) + +[node name="Tree 03 - 1" parent="Entities/Map Objects/Trees" unique_id=787973607 instance=ExtResource("5_hgldw")] +position = Vector2(773, 425) + +[node name="Tree 03 - 2" parent="Entities/Map Objects/Trees" unique_id=1648360632 instance=ExtResource("5_hgldw")] +position = Vector2(427, 307) + +[node name="Player" parent="." unique_id=1502234578 instance=ExtResource("3_kqssl")] +position = Vector2(470, 358) + +[node name="UI" type="CanvasLayer" parent="." unique_id=2020053057] + +[node name="VBoxContainer" type="VBoxContainer" parent="UI" unique_id=1168155429] +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -210.0 +offset_top = -51.0 +offset_right = 214.0 +offset_bottom = 51.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Title" type="Label" parent="UI/VBoxContainer" unique_id=185112554] +layout_mode = 2 +theme_override_font_sizes/font_size = 48 +text = "Archipelago Game" + +[node name="Start Game Button" type="Button" parent="UI/VBoxContainer" unique_id=614695398] +layout_mode = 2 +text = "Start Game" + +[node name="Exit Game" type="Button" parent="UI/VBoxContainer" unique_id=1350643674] +layout_mode = 2 +text = "Exit to Desktop" + +[connection signal="pressed" from="UI/VBoxContainer/Start Game Button" to="." method="_on_start_game_button_pressed"] diff --git a/Persistence/Connectors/Scripts/chest_persistence_connector.gd b/Persistence/Connectors/Scripts/chest_persistence_connector.gd index ff306d7..d3fceb3 100644 --- a/Persistence/Connectors/Scripts/chest_persistence_connector.gd +++ b/Persistence/Connectors/Scripts/chest_persistence_connector.gd @@ -18,4 +18,3 @@ func _ready() -> void: func _on_chest_opened(chest: BaseChest) -> void: var node_path := chest.get_path() PersistenceManager.UpdateData(node_path, true) - PersistenceManager.SaveToDisk() diff --git a/Persistence/Connectors/Scripts/gate_persistence_connector.gd b/Persistence/Connectors/Scripts/gate_persistence_connector.gd index 3769aed..0e3faa5 100644 --- a/Persistence/Connectors/Scripts/gate_persistence_connector.gd +++ b/Persistence/Connectors/Scripts/gate_persistence_connector.gd @@ -37,4 +37,3 @@ func _handle_spike_gate(node_path: NodePath) -> bool: func _on_spike_gate_opened(node: Node) -> void: var path := node.get_path() PersistenceManager.UpdateData(path, true) - PersistenceManager.SaveToDisk() diff --git a/Persistence/persistence_manager.gd b/Persistence/persistence_manager.gd index 5421910..3ab961b 100644 --- a/Persistence/persistence_manager.gd +++ b/Persistence/persistence_manager.gd @@ -1,16 +1,28 @@ extends Node -var _save_dictionary: Dictionary[NodePath, Variant] = {} +const DEFAULT_SAVE_FILE_PATH = "user://savegame.save" + +var _save_file_path: String +var _save_dictionary: Dictionary = {} # Public Methods -func UpdateData(node_path: NodePath, value: Variant) -> void: - _save_dictionary[node_path] = value +func UpdateData(key: String, value: Variant) -> void: + _save_dictionary[key] = value -func GetData(node_path: NodePath) -> Variant: - if not _save_dictionary.has(node_path): +func UpdateNode(node_path: NodePath, value: Variant) -> void: + UpdateData(str(node_path), value) + + +func GetData(key: String) -> Variant: + if not _save_dictionary.has(key): return null - return _save_dictionary[node_path] + return _save_dictionary[key] + + +func GetNode(node_path: NodePath) -> Variant: + var key := str(node_path) + return GetData(key) func HasData(node_path: NodePath) -> bool: @@ -18,17 +30,29 @@ func HasData(node_path: NodePath) -> bool: func SaveToDisk() -> void: - var save_file := FileAccess.open("user://savegame.save", FileAccess.WRITE) + if !_save_file_path: + return + + var save_file := FileAccess.open(_save_file_path, FileAccess.WRITE) var json := JSON.stringify(_save_dictionary) save_file.store_line(json) -func LoadFromDisk() -> void: - if not FileAccess.file_exists("user://savegame.save"): +func LoadFromDisk(save_file_path: String) -> void: + _save_file_path = save_file_path + + if not FileAccess.file_exists(save_file_path): + print_rich("[color=yellow]Save file at path %s does not exist, creating new save file...[/color]" % save_file_path) return - var save_file = FileAccess.open("user://savegame.save", FileAccess.READ) + + var save_file := FileAccess.open(save_file_path, FileAccess.READ) print("Loading save file from path: %s" % save_file.get_path_absolute()) + + if save_file.get_position() >= save_file.get_length(): + print("Save file was empty...") + return + var line := save_file.get_line() var json = JSON.new() var parse_result := json.parse(line) @@ -36,16 +60,7 @@ func LoadFromDisk() -> void: print("Parsing result when loading file: [%s] in %s at line %d" % [json.get_error_message(), line, json.get_error_line()]) return + print("JSON data parsed: [%d]" % typeof(json.data)) + var data_dict: Dictionary = json.data - var node_dict: Dictionary[NodePath, Variant] - for key in data_dict: - var value: Variant = data_dict[key] - var node_path := NodePath(key) - node_dict[node_path] = value - - _save_dictionary = node_dict - - -# Private Methods -func _ready() -> void: - LoadFromDisk() + _save_dictionary = data_dict diff --git a/Resources/Tilesets/forest_exterior.tres b/Resources/Tilesets/forest_exterior.tres index cc67069..458a789 100644 --- a/Resources/Tilesets/forest_exterior.tres +++ b/Resources/Tilesets/forest_exterior.tres @@ -782,6 +782,72 @@ texture = ExtResource("8_8d5h8") 1:1/animation_frame_6/duration = 0.3 1:1/animation_frame_7/duration = 0.3 1:1/0 = 0 +0:3/animation_columns = 8 +0:3/animation_separation = Vector2i(2, 0) +0:3/animation_frame_0/duration = 0.3 +0:3/animation_frame_1/duration = 0.3 +0:3/animation_frame_2/duration = 0.3 +0:3/animation_frame_3/duration = 0.3 +0:3/animation_frame_4/duration = 0.3 +0:3/animation_frame_5/duration = 0.3 +0:3/animation_frame_6/duration = 0.3 +0:3/animation_frame_7/duration = 0.3 +0:3/0 = 0 +0:4/animation_columns = 8 +0:4/animation_separation = Vector2i(2, 0) +0:4/animation_frame_0/duration = 0.3 +0:4/animation_frame_1/duration = 0.3 +0:4/animation_frame_2/duration = 0.3 +0:4/animation_frame_3/duration = 0.3 +0:4/animation_frame_4/duration = 0.3 +0:4/animation_frame_5/duration = 0.3 +0:4/animation_frame_6/duration = 0.3 +0:4/animation_frame_7/duration = 0.3 +0:4/0 = 0 +1:4/animation_columns = 8 +1:4/animation_separation = Vector2i(2, 0) +1:4/animation_frame_0/duration = 0.3 +1:4/animation_frame_1/duration = 0.3 +1:4/animation_frame_2/duration = 0.3 +1:4/animation_frame_3/duration = 0.3 +1:4/animation_frame_4/duration = 0.3 +1:4/animation_frame_5/duration = 0.3 +1:4/animation_frame_6/duration = 0.3 +1:4/animation_frame_7/duration = 0.3 +1:4/0 = 0 +1:3/animation_columns = 8 +1:3/animation_separation = Vector2i(2, 0) +1:3/animation_frame_0/duration = 0.3 +1:3/animation_frame_1/duration = 0.3 +1:3/animation_frame_2/duration = 0.3 +1:3/animation_frame_3/duration = 0.3 +1:3/animation_frame_4/duration = 0.3 +1:3/animation_frame_5/duration = 0.3 +1:3/animation_frame_6/duration = 0.3 +1:3/animation_frame_7/duration = 0.3 +1:3/0 = 0 +2:3/animation_columns = 8 +2:3/animation_separation = Vector2i(2, 0) +2:3/animation_frame_0/duration = 0.3 +2:3/animation_frame_1/duration = 0.3 +2:3/animation_frame_2/duration = 0.3 +2:3/animation_frame_3/duration = 0.3 +2:3/animation_frame_4/duration = 0.3 +2:3/animation_frame_5/duration = 0.3 +2:3/animation_frame_6/duration = 0.3 +2:3/animation_frame_7/duration = 0.3 +2:3/0 = 0 +2:4/animation_columns = 8 +2:4/animation_separation = Vector2i(2, 0) +2:4/animation_frame_0/duration = 0.3 +2:4/animation_frame_1/duration = 0.3 +2:4/animation_frame_2/duration = 0.3 +2:4/animation_frame_3/duration = 0.3 +2:4/animation_frame_4/duration = 0.3 +2:4/animation_frame_5/duration = 0.3 +2:4/animation_frame_6/duration = 0.3 +2:4/animation_frame_7/duration = 0.3 +2:4/0 = 0 [resource] physics_layer_0/collision_layer = 1 diff --git a/Scripts/enums.gd b/Scripts/enums.gd index 6d4891c..ce4b9fd 100644 --- a/Scripts/enums.gd +++ b/Scripts/enums.gd @@ -17,6 +17,8 @@ enum Items { } enum MapIds { + ERROR_404, + TITLE_SCREEN, PATH_TO_FOREST_DUNGEON_01, PATH_TO_FOREST_HOME_01, SHOP_01 diff --git a/UI/Screens/Scripts/map_ui.gd b/UI/Screens/Scripts/map_ui.gd new file mode 100644 index 0000000..65f5b51 --- /dev/null +++ b/UI/Screens/Scripts/map_ui.gd @@ -0,0 +1,5 @@ +extends Control + +# Private Methods +func _on_save_button_pressed() -> void: + PersistenceManager.SaveToDisk() diff --git a/UI/Screens/Scripts/map_ui.gd.uid b/UI/Screens/Scripts/map_ui.gd.uid new file mode 100644 index 0000000..cc900b3 --- /dev/null +++ b/UI/Screens/Scripts/map_ui.gd.uid @@ -0,0 +1 @@ +uid://dudh233xe7s0b diff --git a/UI/Screens/map_ui.tscn b/UI/Screens/map_ui.tscn new file mode 100644 index 0000000..9f0aea9 --- /dev/null +++ b/UI/Screens/map_ui.tscn @@ -0,0 +1,33 @@ +[gd_scene format=3 uid="uid://ce6ix6ca6js5f"] + +[ext_resource type="Texture2D" uid="uid://bo1utikr0r2q1" path="res://Assets/Spritesheets/Icons/UI/64x64.png" id="1_j6kbw"] +[ext_resource type="Script" uid="uid://dudh233xe7s0b" path="res://UI/Screens/Scripts/map_ui.gd" id="1_xiqit"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_xiqit"] +atlas = ExtResource("1_j6kbw") +region = Rect2(576, 0, 64, 64) + +[node name="Map UI" type="Control" unique_id=98184404] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_xiqit") + +[node name="Save Button" type="Button" parent="." unique_id=241739999] +layout_mode = 1 +anchors_preset = 3 +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -112.0 +offset_top = -72.0 +grow_horizontal = 0 +grow_vertical = 0 +text = "Save" +icon = SubResource("AtlasTexture_xiqit") + +[connection signal="pressed" from="Save Button" to="." method="_on_save_button_pressed"] diff --git a/project.godot b/project.godot index b71a6a5..b7ac3ba 100644 --- a/project.godot +++ b/project.godot @@ -11,7 +11,7 @@ config_version=5 [application] config/name="Archipelago Game" -config/version="beta-1.4" +config/version="beta-1.5" run/main_scene="uid://dqgxg3i307lvr" config/features=PackedStringArray("4.6", "Forward Plus") config/icon="uid://ckbsqf4p5xu44" @@ -24,6 +24,7 @@ GroupUtils="*uid://bk7o4drbfh24p" MapLoader="*uid://c4jogxtdi3m13" InputManager="*uid://dnbg1dpjcq6vk" PersistenceManager="*uid://dl2kg1qu0ymi7" +ComponentUtils="*uid://cf5j2r4gpceng" [dotnet]