diff --git a/Scenes/Actors/fsm_player.tscn b/Scenes/Actors/fsm_player.tscn new file mode 100644 index 00000000..d9632b07 --- /dev/null +++ b/Scenes/Actors/fsm_player.tscn @@ -0,0 +1,47 @@ +[gd_scene load_steps=10 format=3 uid="uid://c4pr2707hbeph"] + +[ext_resource type="Script" uid="uid://bw2hakslndaxm" path="res://Scripts/Components/FSM/PlayerStateMachine.cs" id="1_mpmil"] +[ext_resource type="Script" uid="uid://chwqogny2v8t1" path="res://Scripts/Components/FSM/Player/Init.cs" id="2_i6wc8"] +[ext_resource type="Script" uid="uid://bl0o35xt8wxtg" path="res://Scripts/Components/FSM/Player/Active.cs" id="3_3tuio"] +[ext_resource type="SpriteFrames" uid="uid://bc7mghjx75qip" path="res://Resources/Sprites/player.tres" id="4_s0ir4"] +[ext_resource type="Script" uid="uid://b4nixnxhj5qhw" path="res://Scripts/Components/Actors/PlayerWeaponProvider.cs" id="5_gp3hw"] +[ext_resource type="PackedScene" uid="uid://crry0rgk7a8sm" path="res://Scenes/Weapons/BaseWeapon.tscn" id="6_8dcio"] +[ext_resource type="Script" uid="uid://bo5sgbv1t8ril" path="res://Scripts/Components/Actors/PlayerAnimationProvider.cs" id="7_pmkfo"] +[ext_resource type="Script" uid="uid://dq338w2lw5phl" path="res://Scripts/Components/Actors/KeyboardInputProvider.cs" id="8_i6wc8"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_b3hxm"] + +[node name="FSMPlayer" type="CharacterBody2D"] +collision_layer = 2 +collision_mask = 97 +platform_wall_layers = 97 +script = ExtResource("1_mpmil") +InitialState = 1 + +[node name="Init" type="Node2D" parent="."] +script = ExtResource("2_i6wc8") + +[node name="Active" type="Node2D" parent="." node_paths=PackedStringArray("_weaponProvider", "_animationProvider", "_inputProvider")] +script = ExtResource("3_3tuio") +_weaponProvider = NodePath("../WeaponProvider") +_animationProvider = NodePath("../AnimationProvider") +_inputProvider = NodePath("../InputProvider") +State = 1 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_b3hxm") + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +sprite_frames = ExtResource("4_s0ir4") +animation = &"idle" + +[node name="WeaponProvider" type="Node2D" parent="."] +script = ExtResource("5_gp3hw") +WeaponTemplate = ExtResource("6_8dcio") + +[node name="AnimationProvider" type="Node2D" parent="." node_paths=PackedStringArray("_animatedSprite")] +script = ExtResource("7_pmkfo") +_animatedSprite = NodePath("../AnimatedSprite2D") + +[node name="InputProvider" type="Node2D" parent="."] +script = ExtResource("8_i6wc8") diff --git a/Scenes/Maps/PlayerFSMTest.tscn b/Scenes/Maps/PlayerFSMTest.tscn index a3942bb3..d0ff54d4 100644 --- a/Scenes/Maps/PlayerFSMTest.tscn +++ b/Scenes/Maps/PlayerFSMTest.tscn @@ -1,21 +1,15 @@ -[gd_scene load_steps=23 format=4 uid="uid://dqyfnby0t7gu1"] +[gd_scene load_steps=16 format=4 uid="uid://dqyfnby0t7gu1"] [ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_c3v4x"] [ext_resource type="PackedScene" uid="uid://bghghp5ep4w2j" path="res://Scenes/player.tscn" id="2_w1v1g"] [ext_resource type="Resource" uid="uid://cs3ihltcn2166" path="res://Resources/Items/IcicleGun.tres" id="3_6314l"] -[ext_resource type="PackedScene" uid="uid://crry0rgk7a8sm" path="res://Scenes/Weapons/BaseWeapon.tscn" id="3_b3hxm"] [ext_resource type="Script" uid="uid://mja0rk7n2kln" path="res://Scripts/Resources/MapStartDataResource.cs" id="4_u1i8n"] [ext_resource type="Resource" uid="uid://dhbltvgsa3g88" path="res://Resources/Items/Spider_Bomb_Pickup.tres" id="4_yyg8m"] [ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_6314l"] -[ext_resource type="Script" uid="uid://epnwjptvks3t" path="res://Scripts/Resources/LootItem.cs" id="5_mljl7"] [ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_yyg8m"] -[ext_resource type="Script" uid="uid://bw2hakslndaxm" path="res://Scripts/Components/FSM/PlayerStateMachine.cs" id="8_b3hxm"] +[ext_resource type="PackedScene" uid="uid://c4pr2707hbeph" path="res://Scenes/Actors/fsm_player.tscn" id="8_c3v4x"] [ext_resource type="Script" uid="uid://cfya7sndh7vy2" path="res://Scenes/CameraController.gd" id="9_dj0ui"] -[ext_resource type="Script" uid="uid://bl0o35xt8wxtg" path="res://Scripts/Components/FSM/Player/Active.cs" id="9_u1i8n"] -[ext_resource type="SpriteFrames" uid="uid://bc7mghjx75qip" path="res://Resources/Sprites/player.tres" id="9_w1v1g"] -[ext_resource type="Script" uid="uid://chwqogny2v8t1" path="res://Scripts/Components/FSM/Player/Init.cs" id="9_yyg8m"] [ext_resource type="Script" uid="uid://c5nxsq3tyxcx6" path="res://Scripts/InventoryManager.cs" id="10_qmakk"] -[ext_resource type="Script" uid="uid://b4nixnxhj5qhw" path="res://Scripts/Components/Actors/PlayerWeaponProvider.cs" id="11_6314l"] [ext_resource type="PackedScene" uid="uid://dkwi1hu1bixoe" path="res://Scenes/HUD/HUD.tscn" id="11_hmqao"] [ext_resource type="Script" uid="uid://bdshph801ac2i" path="res://Scenes/CameraTarget.gd" id="12_8to53"] [ext_resource type="Script" uid="uid://cnkipcolyj61w" path="res://Scripts/AlarmManager.cs" id="13_8fnge"] @@ -24,9 +18,7 @@ [sub_resource type="Resource" id="Resource_6wo78"] script = ExtResource("4_u1i8n") EggIndex = 0 -StartingEquipment = Array[ExtResource("5_mljl7")]([]) - -[sub_resource type="CircleShape2D" id="CircleShape2D_b3hxm"] +StartingEquipment = [] [node name="GameScene" type="Node2D"] process_mode = 3 @@ -42,14 +34,14 @@ MapStartData = SubResource("Resource_6wo78") process_mode = 1 [node name="Floor" type="TileMapLayer" parent="Tilemaps" node_paths=PackedStringArray("_solidLayer")] -tile_map_data = PackedByteArray("AAAEABAAAAAEAAIAAAAEABEAAAAEAAIAAAAEABIAAAAEAAIAAAAEABMAAAAEAAIAAAAEABQAAAAEAAIAAAAEABUAAAAEAAIAAAAEABYAAAAEAAIAAAAFABAAAAAEAAIAAAAFABEAAAAEAAIAAAAFABIAAAAEAAIAAAAFABMAAAAEAAIAAAAFABQAAAAEAAIAAAAFABUAAAAEAAIAAAAFABYAAAAEAAIAAAAGABAAAAAEAAIAAAAGABEAAAAEAAIAAAAGABIAAAAEAAIAAAAGABMAAAAEAAIAAAAGABQAAAAEAAIAAAAGABUAAAAEAAIAAAAGABYAAAAEAAIAAAAHABAAAAAEAAIAAAAHABEAAAAEAAIAAAAHABIAAAAEAAIAAAAHABMAAAAEAAIAAAAHABQAAAAEAAIAAAAHABUAAAAEAAIAAAAHABYAAAAEAAIAAAAIABAAAAAEAAIAAAAIABEAAAAEAAIAAAAIABIAAAAEAAIAAAAIABMAAAAEAAIAAAAIABQAAAAEAAIAAAAIABUAAAAEAAIAAAAIABYAAAAEAAIAAAAJABAAAAAEAAIAAAAJABEAAAAEAAIAAAAJABIAAAAEAAIAAAAJABMAAAAEAAIAAAAJABQAAAAEAAIAAAAJABUAAAAEAAIAAAAJABYAAAAEAAIAAAAKABAAAAAEAAIAAAAKABEAAAAEAAIAAAAKABIAAAAEAAIAAAAKABMAAAAEAAIAAAAKABQAAAAEAAIAAAAKABUAAAAEAAIAAAAKABYAAAAEAAIAAAADABAAAAAEAAIAAAADABEAAAAEAAIAAAADABIAAAAEAAIAAAADABMAAAAEAAIAAAADABQAAAAEAAIAAAADABUAAAAEAAIAAAADABYAAAAEAAIAAAADABcAAAAEAAIAAAADABgAAAAEAAIAAAAEABcAAAAEAAIAAAAEABgAAAAEAAIAAAAFABcAAAAEAAIAAAAFABgAAAAEAAIAAAAGABcAAAAEAAIAAAAGABgAAAAEAAIAAAAHABcAAAAEAAIAAAAHABgAAAAEAAIAAAAIABcAAAAEAAIAAAAIABgAAAAEAAIAAAAJABcAAAAEAAIAAAAJABgAAAAEAAIAAAAKABcAAAAEAAIAAAAKABgAAAAEAAIAAAALABAAAAAEAAIAAAALABEAAAAEAAIAAAALABIAAAAEAAIAAAALABMAAAAEAAIAAAALABQAAAAEAAIAAAALABUAAAAEAAIAAAALABYAAAAEAAIAAAALABcAAAAEAAIAAAALABgAAAAEAAIAAAA=") +tile_map_data = PackedByteArray("AAAEABAAAAAEAAIAAAAEABEAAAAEAAIAAAAEABIAAAAEAAIAAAAEABMAAAAEAAIAAAAEABQAAAAEAAIAAAAEABUAAAAEAAIAAAAEABYAAAAEAAIAAAAFABAAAAAEAAIAAAAFABEAAAAEAAIAAAAFABIAAAAEAAIAAAAFABMAAAAEAAIAAAAFABQAAAAEAAIAAAAFABUAAAAEAAIAAAAFABYAAAAEAAIAAAAGABAAAAAEAAIAAAAGABEAAAAEAAIAAAAGABIAAAAEAAIAAAAGABMAAAAEAAIAAAAGABQAAAAEAAIAAAAGABUAAAAEAAIAAAAGABYAAAAEAAIAAAAHABAAAAAEAAIAAAAHABEAAAAEAAIAAAAHABIAAAAEAAIAAAAHABMAAAAEAAIAAAAHABQAAAAEAAIAAAAHABUAAAAEAAIAAAAHABYAAAAEAAIAAAAIABAAAAAEAAIAAAAIABEAAAAEAAIAAAAIABIAAAAEAAIAAAAIABMAAAAEAAIAAAAIABQAAAAEAAIAAAAIABUAAAAEAAIAAAAIABYAAAAEAAIAAAAJABAAAAAEAAIAAAAJABEAAAAEAAIAAAAJABIAAAAEAAIAAAAJABMAAAAEAAIAAAAJABQAAAAEAAIAAAAJABUAAAAEAAIAAAAJABYAAAAEAAIAAAAKABAAAAAEAAIAAAAKABEAAAAEAAIAAAAKABIAAAAEAAIAAAAKABMAAAAEAAIAAAAKABQAAAAEAAIAAAAKABUAAAAEAAIAAAAKABYAAAAEAAIAAAADABAAAAAEAAIAAAADABEAAAAEAAIAAAADABIAAAAEAAIAAAADABMAAAAEAAIAAAADABQAAAAEAAIAAAADABUAAAAEAAIAAAADABYAAAAEAAIAAAADABcAAAAEAAIAAAADABgAAAAEAAIAAAAEABcAAAAEAAIAAAAEABgAAAAEAAIAAAAFABcAAAAEAAIAAAAFABgAAAAEAAIAAAAGABcAAAAEAAIAAAAGABgAAAAEAAIAAAAHABcAAAAEAAIAAAAHABgAAAAEAAIAAAAIABcAAAAEAAIAAAAIABgAAAAEAAIAAAAJABcAAAAEAAIAAAAJABgAAAAEAAIAAAAKABcAAAAEAAIAAAAKABgAAAAEAAIAAAALABAAAAAEAAIAAAALABEAAAAEAAIAAAALABIAAAAEAAIAAAALABMAAAAEAAIAAAALABQAAAAEAAIAAAALABUAAAAEAAIAAAALABYAAAAEAAIAAAALABcAAAAEAAIAAAALABgAAAAEAAIAAAAMABQAAAAFAAAAAAANABQAAAAFAAAAAAAOABQAAAAFAAAAAAAPABQAAAAFAAAAAAAQABQAAAAFAAAAAAARABQAAAAFAAAAAAARABUAAAAFAAAAAAASABUAAAAFAAAAAAATABUAAAAFAAAAAAATABQAAAAFAAAAAAAUABQAAAAFAAAAAAASABQAAAAFAAAAAAAQABUAAAAFAAAAAAAPABUAAAAFAAAAAAAOABUAAAAFAAAAAAANABUAAAAFAAAAAAAMABUAAAAFAAAAAAAUABUAAAAFAAAAAAATABMAAAAFAAAAAAATABIAAAAFAAAAAAATABEAAAAFAAAAAAATABAAAAAFAAAAAAATAA8AAAAFAAAAAAASAA8AAAAFAAAAAAASAA4AAAAFAAAAAAASABMAAAAFAAAAAAASABIAAAAFAAAAAAASABEAAAAFAAAAAAASABAAAAAFAAAAAAASAA0AAAAFAAAAAAATAA0AAAAFAAAAAAATAA4AAAAFAAAAAAAUAA4AAAAFAAAAAAAUAA8AAAAFAAAAAAAUABAAAAAFAAAAAAAUABEAAAAFAAAAAAAUABIAAAAFAAAAAAAUABMAAAAFAAAAAAAUAA0AAAAFAAAAAAAVABAAAAAMAAMAAAAWABAAAAAMAAMAAAAXABAAAAAMAAMAAAAYABAAAAAMAAMAAAAZABAAAAAMAAMAAAAaABAAAAAMAAMAAAAbABAAAAAMAAMAAAAcABAAAAAMAAMAAAAdABAAAAAMAAMAAAAeABAAAAAMAAMAAAA=") tile_set = ExtResource("5_6314l") script = ExtResource("6_yyg8m") _solidLayer = NodePath("../Solid") metadata/_edit_lock_ = true [node name="Solid" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]] -tile_map_data = PackedByteArray("AAACAA0AAAAAAAsAAAADAA0AAAABAAQAAAAEAA0AAAABAAQAAAAFAA0AAAABAAQAAAAGAA0AAAABAAQAAAAHAA0AAAABAAQAAAAIAA0AAAABAAQAAAAJAA0AAAABAAQAAAAKAA0AAAABAAQAAAALAA0AAAABAAQAAAAMAA0AAAABAAsAAAAMAA4AAAAAAAQAAAAMAA8AAAAAAAQAAAAMABAAAAAAAAQAAAAMABEAAAAAAAQAAAAMABMAAAAAAAQAAAAMABIAAAAAAAQAAAAMABQAAAAAAAQAAAAMABUAAAAAAAQAAAAMABYAAAAAAAQAAAAMABcAAAAAAAQAAAAMABgAAAAAAAQAAAAMABkAAAABAAwAAAALABkAAAABAAQAAAAKABkAAAABAAQAAAAJABkAAAABAAQAAAAIABkAAAABAAQAAAAHABkAAAABAAQAAAAGABkAAAABAAQAAAAFABkAAAABAAQAAAAEABkAAAABAAQAAAADABkAAAABAAQAAAACABkAAAAAAAwAAAACABgAAAAAAAQAAAACABYAAAAAAAQAAAACABcAAAAAAAQAAAACABUAAAAAAAQAAAACABQAAAAAAAQAAAACABIAAAAAAAQAAAACABMAAAAAAAQAAAACABEAAAAAAAQAAAACABAAAAAAAAQAAAACAA8AAAAAAAQAAAACAA4AAAAAAAQAAAADAA4AAAABAAEAAAADAA8AAAABAAEAAAAEAA4AAAABAAEAAAAEAA8AAAABAAEAAAAFAA4AAAABAAEAAAAFAA8AAAABAAEAAAAGAA4AAAABAAEAAAAGAA8AAAABAAEAAAAHAA4AAAABAAEAAAAHAA8AAAABAAEAAAAIAA4AAAABAAEAAAAIAA8AAAABAAEAAAAJAA4AAAABAAEAAAAJAA8AAAABAAEAAAAKAA4AAAABAAEAAAAKAA8AAAABAAEAAAALAA4AAAABAAEAAAALAA8AAAABAAEAAAA=") +tile_map_data = PackedByteArray("AAACAA0AAAAAAAgAAAADAA0AAAABAAcAAAAEAA0AAAABAAcAAAAFAA0AAAABAAcAAAAGAA0AAAABAAcAAAAHAA0AAAABAAcAAAAIAA0AAAABAAcAAAAJAA0AAAABAAcAAAAKAA0AAAABAAcAAAALAA0AAAABAAgAAAAMAA0AAAACAAgAAAAMAA4AAAAAAAYAAAAMAA8AAAAAAAYAAAAMABAAAAAAAAYAAAAMABEAAAAAAAcAAAAMABYAAAAAAAUAAAAMABcAAAAAAAYAAAAMABgAAAAAAAYAAAAMABkAAAABAAkAAAALABkAAAABAAUAAAAKABkAAAABAAUAAAAJABkAAAABAAUAAAAIABkAAAABAAUAAAAHABkAAAABAAUAAAAGABkAAAABAAUAAAAFABkAAAABAAUAAAAEABkAAAABAAUAAAADABkAAAABAAUAAAACABkAAAAAAAkAAAACABgAAAACAAYAAAACABYAAAACAAYAAAACABcAAAACAAYAAAACABUAAAACAAYAAAACABQAAAACAAYAAAACABIAAAACAAYAAAACABMAAAACAAYAAAACABEAAAACAAYAAAACABAAAAACAAYAAAACAA8AAAACAAYAAAACAA4AAAACAAYAAAADAA4AAAANAAAAAAADAA8AAAANAAEAAAAEAA4AAAANAAAAAAAEAA8AAAANAAEAAAAFAA4AAAANAAAAAAAFAA8AAAANAAEAAAAGAA4AAAANAAAAAAAGAA8AAAANAAEAAAAHAA4AAAANAAAAAAAHAA8AAAANAAEAAAAIAA4AAAANAAAAAAAIAA8AAAANAAEAAAAJAA4AAAANAAAAAAAJAA8AAAANAAEAAAAKAA4AAAANAAAAAAAKAA8AAAANAAEAAAALAA4AAAANAAAAAAALAA8AAAANAAEAAAANABEAAAABAAcAAAAOABEAAAABAAcAAAAPABEAAAABAAcAAAAQABEAAAABAAcAAAANABYAAAABAAUAAAAOABYAAAABAAUAAAAPABYAAAABAAUAAAAQABYAAAABAAUAAAARABYAAAABAAUAAAARABEAAAACAAcAAAARABAAAAACAAYAAAARAA8AAAACAAYAAAARAA4AAAACAAYAAAARAA0AAAACAAYAAAASABYAAAABAAUAAAATABYAAAABAAUAAAAUABYAAAABAAUAAAAVABUAAAAAAAYAAAAVABYAAAABAAkAAAAVABIAAAAAAAYAAAAVABEAAAAAAAUAAAAVAA4AAAAAAAcAAAAVAA0AAAAAAAYAAAAVABQAAAAAAAYAAAAVABMAAAAAAAYAAAAMABIAAAAMAAAAAAAMABMAAAAMAAEAAAANABIAAAALAAIAAAANABMAAAALAAMAAAAOABIAAAAMAAAAAAAOABMAAAAMAAEAAAAPABIAAAAMAAAAAAAPABMAAAAMAAEAAAAQABIAAAALAAIAAAAQABMAAAALAAMAAAARABIAAAAMAAAAAAARABMAAAAMAAEAAAAaABsAAAACAAgAAAAaABoAAAACAAgAAAAaABkAAAACAAgAAAAaABgAAAACAAgAAAAaABcAAAACAAgAAAAaABYAAAACAAgAAAAZABsAAAACAAgAAAAZABoAAAACAAgAAAAZABkAAAACAAgAAAAZABgAAAACAAgAAAAZABcAAAACAAgAAAAZABYAAAACAAgAAAAYABsAAAACAAgAAAAYABoAAAACAAgAAAAYABkAAAACAAgAAAAYABgAAAACAAgAAAAYABcAAAACAAgAAAAYABYAAAACAAgAAAAXABsAAAACAAgAAAAXABoAAAACAAgAAAAXABkAAAACAAgAAAAXABgAAAACAAgAAAAXABcAAAACAAgAAAAXABYAAAACAAgAAAAWABsAAAACAAgAAAAWABoAAAACAAgAAAAWABkAAAACAAgAAAAWABgAAAACAAgAAAAWABcAAAACAAgAAAAWABYAAAACAAgAAAAVABsAAAACAAgAAAAVABoAAAACAAgAAAAVABkAAAACAAgAAAAVABgAAAACAAgAAAAVABcAAAACAAgAAAAUABsAAAACAAgAAAAUABoAAAACAAgAAAAUABkAAAACAAgAAAAUABgAAAACAAgAAAAUABcAAAACAAgAAAATABsAAAACAAgAAAATABoAAAACAAgAAAATABkAAAACAAgAAAATABgAAAACAAgAAAATABcAAAACAAgAAAASABsAAAACAAgAAAASABoAAAACAAgAAAASABkAAAACAAgAAAASABgAAAACAAgAAAASABcAAAACAAgAAAARABsAAAACAAgAAAARABoAAAACAAgAAAARABkAAAACAAgAAAARABgAAAACAAgAAAARABcAAAACAAgAAAAQABsAAAACAAgAAAAQABoAAAACAAgAAAAQABkAAAACAAgAAAAQABgAAAACAAgAAAAQABcAAAACAAgAAAAPABsAAAACAAgAAAAPABoAAAACAAgAAAAPABkAAAACAAgAAAAPABgAAAACAAgAAAAPABcAAAACAAgAAAAOABsAAAACAAgAAAAOABoAAAACAAgAAAAOABkAAAACAAgAAAAOABgAAAACAAgAAAAOABcAAAACAAgAAAANABsAAAACAAgAAAANABoAAAACAAgAAAANABkAAAACAAgAAAANABgAAAACAAgAAAANABcAAAACAAgAAAAMABsAAAACAAgAAAAMABoAAAACAAgAAAAaACIAAAACAAgAAAAaACEAAAACAAgAAAAaACAAAAACAAgAAAAaAB8AAAACAAgAAAAaAB4AAAACAAgAAAAaAB0AAAACAAgAAAAaABwAAAACAAgAAAAZACIAAAACAAgAAAAZACEAAAACAAgAAAAZACAAAAACAAgAAAAZAB8AAAACAAgAAAAZAB4AAAACAAgAAAAZAB0AAAACAAgAAAAZABwAAAACAAgAAAAYACIAAAACAAgAAAAYACEAAAACAAgAAAAYACAAAAACAAgAAAAYAB8AAAACAAgAAAAYAB4AAAACAAgAAAAYAB0AAAACAAgAAAAYABwAAAACAAgAAAAXACIAAAACAAgAAAAXACEAAAACAAgAAAAXACAAAAACAAgAAAAXAB8AAAACAAgAAAAXAB4AAAACAAgAAAAXAB0AAAACAAgAAAAXABwAAAACAAgAAAAWACIAAAACAAgAAAAWACEAAAACAAgAAAAWACAAAAACAAgAAAAWAB8AAAACAAgAAAAWAB4AAAACAAgAAAAWAB0AAAACAAgAAAAWABwAAAACAAgAAAAVACIAAAACAAgAAAAVACEAAAACAAgAAAAVACAAAAACAAgAAAAVAB8AAAACAAgAAAAVAB4AAAACAAgAAAAVAB0AAAACAAgAAAAVABwAAAACAAgAAAAUACIAAAACAAgAAAAUACEAAAACAAgAAAAUACAAAAACAAgAAAAUAB8AAAACAAgAAAAUAB4AAAACAAgAAAAUAB0AAAACAAgAAAAUABwAAAACAAgAAAATACIAAAACAAgAAAATACEAAAACAAgAAAATACAAAAACAAgAAAATAB8AAAACAAgAAAATAB4AAAACAAgAAAATAB0AAAACAAgAAAATABwAAAACAAgAAAASACIAAAACAAgAAAASACEAAAACAAgAAAASACAAAAACAAgAAAASAB8AAAACAAgAAAASAB4AAAACAAgAAAASAB0AAAACAAgAAAASABwAAAACAAgAAAARACIAAAACAAgAAAARACEAAAACAAgAAAARACAAAAACAAgAAAARAB8AAAACAAgAAAARAB4AAAACAAgAAAARAB0AAAACAAgAAAARABwAAAACAAgAAAAQACIAAAACAAgAAAAQACEAAAACAAgAAAAQACAAAAACAAgAAAAQAB8AAAACAAgAAAAQAB4AAAACAAgAAAAQAB0AAAACAAgAAAAQABwAAAACAAgAAAAPACIAAAACAAgAAAAPACEAAAACAAgAAAAPACAAAAACAAgAAAAPAB8AAAACAAgAAAAPAB4AAAACAAgAAAAPAB0AAAACAAgAAAAPABwAAAACAAgAAAAOACIAAAACAAgAAAAOACEAAAACAAgAAAAOACAAAAACAAgAAAAOAB8AAAACAAgAAAAOAB4AAAACAAgAAAAOAB0AAAACAAgAAAAOABwAAAACAAgAAAANACIAAAACAAgAAAANACEAAAACAAgAAAANACAAAAACAAgAAAANAB8AAAACAAgAAAANAB4AAAACAAgAAAANAB0AAAACAAgAAAANABwAAAACAAgAAAAMACIAAAACAAgAAAAMACEAAAACAAgAAAAMACAAAAACAAgAAAAMAB8AAAACAAgAAAAMAB4AAAACAAgAAAAMAB0AAAACAAgAAAAMABwAAAACAAgAAAALACIAAAACAAgAAAALACEAAAACAAgAAAALACAAAAACAAgAAAALAB8AAAACAAgAAAALAB4AAAACAAgAAAALAB0AAAACAAgAAAALABwAAAACAAgAAAALABsAAAACAAgAAAAKACIAAAACAAgAAAAKACEAAAACAAgAAAAKACAAAAACAAgAAAAKAB8AAAACAAgAAAAKAB4AAAACAAgAAAAKAB0AAAACAAgAAAAKABwAAAACAAgAAAAKABsAAAACAAgAAAAJACIAAAACAAgAAAAJACEAAAACAAgAAAAJACAAAAACAAgAAAAJAB8AAAACAAgAAAAJAB4AAAACAAgAAAAJAB0AAAACAAgAAAAJABwAAAACAAgAAAAJABsAAAACAAgAAAAIACIAAAACAAgAAAAIACEAAAACAAgAAAAIACAAAAACAAgAAAAIAB8AAAACAAgAAAAIAB4AAAACAAgAAAAIAB0AAAACAAgAAAAIABwAAAACAAgAAAAIABsAAAACAAgAAAAHACIAAAACAAgAAAAHACEAAAACAAgAAAAHACAAAAACAAgAAAAHAB8AAAACAAgAAAAHAB4AAAACAAgAAAAHAB0AAAACAAgAAAAHABwAAAACAAgAAAAHABsAAAACAAgAAAAGACIAAAACAAgAAAAGACEAAAACAAgAAAAGACAAAAACAAgAAAAGAB8AAAACAAgAAAAGAB4AAAACAAgAAAAGAB0AAAACAAgAAAAGABwAAAACAAgAAAAGABsAAAACAAgAAAAFACIAAAACAAgAAAAFACEAAAACAAgAAAAFACAAAAACAAgAAAAFAB8AAAACAAgAAAAFAB4AAAACAAgAAAAFAB0AAAACAAgAAAAFABwAAAACAAgAAAAFABsAAAACAAgAAAAEACIAAAACAAgAAAAEACEAAAACAAgAAAAEACAAAAACAAgAAAAEAB8AAAACAAgAAAAEAB4AAAACAAgAAAAEAB0AAAACAAgAAAAEABwAAAACAAgAAAAEABsAAAACAAgAAAADACIAAAACAAgAAAADACEAAAACAAgAAAADACAAAAACAAgAAAADAB8AAAACAAgAAAADAB4AAAACAAgAAAADAB0AAAACAAgAAAADABwAAAACAAgAAAADABsAAAACAAgAAAACACIAAAACAAgAAAACACEAAAACAAgAAAACACAAAAACAAgAAAACAB8AAAACAAgAAAACAB4AAAACAAgAAAACAB0AAAACAAgAAAACABwAAAACAAgAAAACABsAAAACAAgAAAABACIAAAACAAgAAAABACEAAAACAAgAAAABACAAAAACAAgAAAABAB8AAAACAAgAAAABAB4AAAACAAgAAAABAB0AAAACAAgAAAABABwAAAACAAgAAAABABsAAAACAAgAAAALABoAAAACAAgAAAAKABoAAAACAAgAAAAJABoAAAACAAgAAAAIABoAAAACAAgAAAAHABoAAAACAAgAAAAGABoAAAACAAgAAAAFABoAAAACAAgAAAAEABoAAAACAAgAAAADABoAAAACAAgAAAACABoAAAACAAgAAAABABoAAAACAAgAAAABABkAAAACAAgAAAAAACEAAAACAAgAAAAAACAAAAACAAgAAAAAAB8AAAACAAgAAAAAAB4AAAACAAgAAAAAAB0AAAACAAgAAAAAABwAAAACAAgAAAAAABsAAAACAAgAAAAAABoAAAACAAgAAAAAABkAAAACAAgAAAABABgAAAACAAgAAAABABcAAAACAAgAAAABABYAAAACAAgAAAABABUAAAACAAgAAAABABQAAAACAAgAAAABABMAAAACAAgAAAABABIAAAACAAgAAAABABEAAAACAAgAAAABABAAAAACAAgAAAABAA8AAAACAAgAAAABAA4AAAACAAgAAAABAA0AAAACAAgAAAABAAwAAAACAAgAAAABAAsAAAACAAgAAAABAAoAAAACAAgAAAABAAkAAAACAAgAAAABAAgAAAACAAgAAAABAAcAAAACAAgAAAAAACIAAAACAAgAAAAAABgAAAACAAgAAAAAABcAAAACAAgAAAAAABYAAAACAAgAAAAAABUAAAACAAgAAAAAABQAAAACAAgAAAAAABMAAAACAAgAAAAAABIAAAACAAgAAAAAABEAAAACAAgAAAAAABAAAAACAAgAAAAAAA8AAAACAAgAAAAAAA4AAAACAAgAAAAAAA0AAAACAAgAAAAAAAwAAAACAAgAAAAAAAsAAAACAAgAAAAAAAoAAAACAAgAAAAAAAkAAAACAAgAAAAAAAgAAAACAAgAAAAAAAcAAAACAAgAAAD//yIAAAACAAgAAAD//yEAAAACAAgAAAD//yAAAAACAAgAAAD//x8AAAACAAgAAAD//x4AAAACAAgAAAD//x0AAAACAAgAAAD//xwAAAACAAgAAAD//xsAAAACAAgAAAD//xoAAAACAAgAAAD//xkAAAACAAgAAAD//xgAAAACAAgAAAD//xcAAAACAAgAAAD//xYAAAACAAgAAAD//xUAAAACAAgAAAD//xQAAAACAAgAAAD//xMAAAACAAgAAAD//xIAAAACAAgAAAD//xEAAAACAAgAAAD//xAAAAACAAgAAAD//w8AAAACAAgAAAD//w4AAAACAAgAAAD//w0AAAACAAgAAAD//wwAAAACAAgAAAD//wsAAAACAAgAAAD//woAAAACAAgAAAD//wkAAAACAAgAAAD//wgAAAACAAgAAAD//wcAAAACAAgAAAD+/yIAAAACAAgAAAD+/yEAAAACAAgAAAD+/yAAAAACAAgAAAD+/x8AAAACAAgAAAD+/x4AAAACAAgAAAD+/x0AAAACAAgAAAD+/xwAAAACAAgAAAD+/xsAAAACAAgAAAD+/xoAAAACAAgAAAD+/xkAAAACAAgAAAD+/xgAAAACAAgAAAD+/xcAAAACAAgAAAD+/xYAAAACAAgAAAD+/xUAAAACAAgAAAD+/xQAAAACAAgAAAD+/xMAAAACAAgAAAD+/xIAAAACAAgAAAD+/xEAAAACAAgAAAD+/xAAAAACAAgAAAD+/w8AAAACAAgAAAD+/w4AAAACAAgAAAD+/w0AAAACAAgAAAD+/wwAAAACAAgAAAD+/wsAAAACAAgAAAD+/woAAAACAAgAAAD+/wkAAAACAAgAAAD+/wgAAAACAAgAAAD+/wcAAAACAAgAAAD9/yIAAAACAAgAAAD9/yEAAAACAAgAAAD9/yAAAAACAAgAAAD9/x8AAAACAAgAAAD9/x4AAAACAAgAAAD9/x0AAAACAAgAAAD9/xwAAAACAAgAAAD9/xsAAAACAAgAAAD9/xoAAAACAAgAAAD9/xkAAAACAAgAAAD9/xgAAAACAAgAAAD9/xcAAAACAAgAAAD9/xYAAAACAAgAAAD9/xUAAAACAAgAAAD9/xQAAAACAAgAAAD9/xMAAAACAAgAAAD9/xIAAAACAAgAAAD9/xEAAAACAAgAAAD9/xAAAAACAAgAAAD9/w8AAAACAAgAAAD9/w4AAAACAAgAAAD9/w0AAAACAAgAAAD9/wwAAAACAAgAAAD9/wsAAAACAAgAAAD9/woAAAACAAgAAAD9/wkAAAACAAgAAAD9/wgAAAACAAgAAAD9/wcAAAACAAgAAAD8/yIAAAACAAgAAAD8/yEAAAACAAgAAAD8/yAAAAACAAgAAAD8/x8AAAACAAgAAAD8/x4AAAACAAgAAAD8/x0AAAACAAgAAAD8/xwAAAACAAgAAAD8/xsAAAACAAgAAAD8/xoAAAACAAgAAAD8/xkAAAACAAgAAAD8/xgAAAACAAgAAAD8/xcAAAACAAgAAAD8/xYAAAACAAgAAAD8/xUAAAACAAgAAAD8/xQAAAACAAgAAAD8/xMAAAACAAgAAAD8/xIAAAACAAgAAAD8/xEAAAACAAgAAAD8/xAAAAACAAgAAAD8/w8AAAACAAgAAAD8/w4AAAACAAgAAAD8/w0AAAACAAgAAAD8/wwAAAACAAgAAAD8/wsAAAACAAgAAAD8/woAAAACAAgAAAD8/wkAAAACAAgAAAD8/wgAAAACAAgAAAD8/wcAAAACAAgAAAD7/yIAAAACAAgAAAD7/yEAAAACAAgAAAD7/yAAAAACAAgAAAD7/x8AAAACAAgAAAD7/x4AAAACAAgAAAD7/x0AAAACAAgAAAD7/xwAAAACAAgAAAD7/xsAAAACAAgAAAD7/xoAAAACAAgAAAD7/xkAAAACAAgAAAD7/xgAAAACAAgAAAD7/xcAAAACAAgAAAD7/xYAAAACAAgAAAD7/xUAAAACAAgAAAD7/xQAAAACAAgAAAD7/xMAAAACAAgAAAD7/xIAAAACAAgAAAD7/xEAAAACAAgAAAD7/xAAAAACAAgAAAD7/w8AAAACAAgAAAD7/w4AAAACAAgAAAD7/w0AAAACAAgAAAD7/wwAAAACAAgAAAD7/wsAAAACAAgAAAD7/woAAAACAAgAAAD7/wkAAAACAAgAAAD7/wgAAAACAAgAAAD7/wcAAAACAAgAAAD6/yIAAAACAAgAAAD6/yEAAAACAAgAAAD6/yAAAAACAAgAAAD6/x8AAAACAAgAAAD6/x4AAAACAAgAAAD6/x0AAAACAAgAAAD6/xwAAAACAAgAAAD6/xsAAAACAAgAAAD6/xoAAAACAAgAAAD6/xkAAAACAAgAAAD6/xgAAAACAAgAAAD6/xcAAAACAAgAAAD6/xYAAAACAAgAAAD6/xUAAAACAAgAAAD6/xQAAAACAAgAAAD6/xMAAAACAAgAAAD6/xIAAAACAAgAAAD6/xEAAAACAAgAAAD6/xAAAAACAAgAAAD6/w8AAAACAAgAAAD6/w4AAAACAAgAAAD6/w0AAAACAAgAAAD6/wwAAAACAAgAAAD6/wsAAAACAAgAAAD6/woAAAACAAgAAAD6/wkAAAACAAgAAAD6/wgAAAACAAgAAAD6/wcAAAACAAgAAAD5/yIAAAACAAgAAAD5/yEAAAACAAgAAAD5/yAAAAACAAgAAAD5/x8AAAACAAgAAAD5/x4AAAACAAgAAAD5/x0AAAACAAgAAAD5/xwAAAACAAgAAAD5/xsAAAACAAgAAAD5/xoAAAACAAgAAAD5/xkAAAACAAgAAAD5/xgAAAACAAgAAAD5/xcAAAACAAgAAAD5/xYAAAACAAgAAAD5/xUAAAACAAgAAAD5/xQAAAACAAgAAAD5/xMAAAACAAgAAAD5/xIAAAACAAgAAAD5/xEAAAACAAgAAAD5/xAAAAACAAgAAAD5/w8AAAACAAgAAAD5/w4AAAACAAgAAAD5/w0AAAACAAgAAAD5/wwAAAACAAgAAAD5/wsAAAACAAgAAAD5/woAAAACAAgAAAD5/wkAAAACAAgAAAD5/wgAAAACAAgAAAD5/wcAAAACAAgAAAAQAA0AAAACAAgAAAAQAAwAAAACAAgAAAAQAAsAAAACAAgAAAAQAAoAAAACAAgAAAAQAAkAAAACAAgAAAAQAAgAAAACAAgAAAAQAAcAAAACAAgAAAAQAAYAAAACAAgAAAAQAAUAAAACAAgAAAAQAAQAAAACAAgAAAAQAAMAAAACAAgAAAAPAA0AAAACAAgAAAAPAAwAAAACAAgAAAAPAAsAAAACAAgAAAAPAAoAAAACAAgAAAAPAAkAAAACAAgAAAAPAAgAAAACAAgAAAAPAAcAAAACAAgAAAAPAAYAAAACAAgAAAAPAAUAAAACAAgAAAAPAAQAAAACAAgAAAAPAAMAAAACAAgAAAAOAA0AAAACAAgAAAAOAAwAAAACAAgAAAAOAAsAAAACAAgAAAAOAAoAAAACAAgAAAAOAAkAAAACAAgAAAAOAAgAAAACAAgAAAAOAAcAAAACAAgAAAAOAAYAAAACAAgAAAAOAAUAAAACAAgAAAAOAAQAAAACAAgAAAAOAAMAAAACAAgAAAANAA0AAAACAAgAAAANAAwAAAACAAgAAAANAAsAAAACAAgAAAANAAoAAAACAAgAAAANAAkAAAACAAgAAAANAAgAAAACAAgAAAANAAcAAAACAAgAAAANAAYAAAACAAgAAAANAAUAAAACAAgAAAANAAQAAAACAAgAAAANAAMAAAACAAgAAAAMAAwAAAACAAgAAAAMAAsAAAACAAgAAAAMAAoAAAACAAgAAAAMAAkAAAACAAgAAAAMAAgAAAACAAgAAAAMAAcAAAACAAgAAAAMAAYAAAACAAgAAAAMAAUAAAACAAgAAAAMAAQAAAACAAgAAAAMAAMAAAACAAgAAAALAAwAAAACAAgAAAALAAsAAAACAAgAAAALAAoAAAACAAgAAAALAAkAAAACAAgAAAALAAgAAAACAAgAAAALAAcAAAACAAgAAAALAAYAAAACAAgAAAALAAUAAAACAAgAAAALAAQAAAACAAgAAAALAAMAAAACAAgAAAAKAAwAAAACAAgAAAAKAAsAAAACAAgAAAAKAAoAAAACAAgAAAAKAAkAAAACAAgAAAAKAAgAAAACAAgAAAAKAAcAAAACAAgAAAAKAAYAAAACAAgAAAAKAAUAAAACAAgAAAAKAAQAAAACAAgAAAAKAAMAAAACAAgAAAAJAAwAAAACAAgAAAAJAAsAAAACAAgAAAAJAAoAAAACAAgAAAAJAAkAAAACAAgAAAAJAAgAAAACAAgAAAAJAAcAAAACAAgAAAAJAAYAAAACAAgAAAAJAAUAAAACAAgAAAAJAAQAAAACAAgAAAAJAAMAAAACAAgAAAAIAAwAAAACAAgAAAAIAAsAAAACAAgAAAAIAAoAAAACAAgAAAAIAAkAAAACAAgAAAAIAAgAAAACAAgAAAAIAAcAAAACAAgAAAAIAAYAAAACAAgAAAAIAAUAAAACAAgAAAAIAAQAAAACAAgAAAAIAAMAAAACAAgAAAAHAAwAAAACAAgAAAAHAAsAAAACAAgAAAAHAAoAAAACAAgAAAAHAAkAAAACAAgAAAAHAAgAAAACAAgAAAAHAAcAAAACAAgAAAAHAAYAAAACAAgAAAAHAAUAAAACAAgAAAAHAAQAAAACAAgAAAAHAAMAAAACAAgAAAAGAAwAAAACAAgAAAAGAAsAAAACAAgAAAAGAAoAAAACAAgAAAAGAAkAAAACAAgAAAAGAAgAAAACAAgAAAAGAAcAAAACAAgAAAAGAAYAAAACAAgAAAAGAAUAAAACAAgAAAAGAAQAAAACAAgAAAAGAAMAAAACAAgAAAAFAAwAAAACAAgAAAAFAAsAAAACAAgAAAAFAAoAAAACAAgAAAAFAAkAAAACAAgAAAAFAAgAAAACAAgAAAAFAAcAAAACAAgAAAAFAAYAAAACAAgAAAAFAAUAAAACAAgAAAAFAAQAAAACAAgAAAAFAAMAAAACAAgAAAAEAAwAAAACAAgAAAAEAAsAAAACAAgAAAAEAAoAAAACAAgAAAAEAAkAAAACAAgAAAAEAAgAAAACAAgAAAAEAAcAAAACAAgAAAAEAAYAAAACAAgAAAAEAAUAAAACAAgAAAAEAAQAAAACAAgAAAAEAAMAAAACAAgAAAADAAwAAAACAAgAAAADAAsAAAACAAgAAAADAAoAAAACAAgAAAADAAkAAAACAAgAAAADAAgAAAACAAgAAAADAAcAAAACAAgAAAADAAYAAAACAAgAAAADAAUAAAACAAgAAAADAAQAAAACAAgAAAADAAMAAAACAAgAAAACAAwAAAACAAgAAAACAAsAAAACAAgAAAACAAoAAAACAAgAAAACAAkAAAACAAgAAAACAAgAAAACAAgAAAACAAcAAAACAAgAAAACAAYAAAACAAgAAAACAAUAAAACAAgAAAACAAQAAAACAAgAAAACAAMAAAACAAgAAAAQABAAAAACAAgAAAAQAA8AAAACAAgAAAAQAA4AAAACAAgAAAAPABAAAAACAAgAAAAPAA8AAAACAAgAAAAPAA4AAAACAAgAAAAOABAAAAACAAgAAAAOAA8AAAACAAgAAAAOAA4AAAACAAgAAAANABAAAAACAAgAAAANAA8AAAACAAgAAAANAA4AAAACAAgAAAAhABsAAAACAAgAAAAhABoAAAACAAgAAAAhABkAAAACAAgAAAAhABgAAAACAAgAAAAhABcAAAACAAgAAAAhABYAAAACAAgAAAAhABUAAAACAAgAAAAhABQAAAACAAgAAAAhABMAAAACAAgAAAAhABIAAAACAAgAAAAhABEAAAACAAgAAAAhABAAAAACAAgAAAAhAA8AAAACAAgAAAAhAA4AAAACAAgAAAAhAA0AAAACAAgAAAAhAAwAAAACAAgAAAAhAAsAAAACAAgAAAAhAAoAAAACAAgAAAAhAAkAAAACAAgAAAAhAAgAAAACAAgAAAAhAAcAAAACAAgAAAAhAAYAAAACAAgAAAAgABsAAAACAAgAAAAgABoAAAACAAgAAAAgABkAAAACAAgAAAAgABgAAAACAAgAAAAgABcAAAACAAgAAAAgABYAAAACAAgAAAAgABUAAAACAAgAAAAgABQAAAACAAgAAAAgABMAAAACAAgAAAAgABIAAAACAAgAAAAgABEAAAACAAgAAAAgABAAAAACAAgAAAAgAA8AAAACAAgAAAAgAA4AAAACAAgAAAAgAA0AAAACAAgAAAAgAAwAAAACAAgAAAAgAAsAAAACAAgAAAAgAAoAAAACAAgAAAAgAAkAAAACAAgAAAAgAAgAAAACAAgAAAAgAAcAAAACAAgAAAAgAAYAAAACAAgAAAAfABsAAAACAAgAAAAfABoAAAACAAgAAAAfABkAAAACAAgAAAAfABgAAAACAAgAAAAfABcAAAACAAgAAAAfABYAAAACAAgAAAAfABUAAAACAAgAAAAfABQAAAACAAgAAAAfABMAAAACAAgAAAAfABIAAAACAAgAAAAfABEAAAABAAkAAAAfABAAAAAAAAYAAAAfAA8AAAAAAAYAAAAfAA4AAAABAAgAAAAfAA0AAAACAAgAAAAfAAwAAAACAAgAAAAfAAsAAAACAAgAAAAfAAoAAAACAAgAAAAfAAkAAAACAAgAAAAfAAgAAAACAAgAAAAfAAcAAAACAAgAAAAfAAYAAAABAAkAAAAeABsAAAACAAgAAAAeABoAAAACAAgAAAAeABkAAAACAAgAAAAeABgAAAACAAgAAAAeABcAAAACAAgAAAAeABYAAAACAAgAAAAeABUAAAACAAgAAAAeABQAAAACAAgAAAAeABMAAAACAAgAAAAeABIAAAACAAgAAAAeABEAAAABAAUAAAAeAA4AAAABAAcAAAAeAA0AAAACAAgAAAAeAAwAAAACAAgAAAAeAAsAAAACAAgAAAAeAAoAAAACAAgAAAAeAAkAAAACAAgAAAAeAAgAAAACAAgAAAAeAAcAAAACAAgAAAAeAAYAAAABAAUAAAAdABsAAAACAAgAAAAdABoAAAACAAgAAAAdABkAAAACAAgAAAAdABgAAAACAAgAAAAdABcAAAACAAgAAAAdABYAAAACAAgAAAAdABUAAAACAAgAAAAdABQAAAACAAgAAAAdABMAAAACAAgAAAAdABIAAAACAAgAAAAdABEAAAABAAUAAAAdAA4AAAABAAcAAAAdAA0AAAACAAgAAAAdAAwAAAACAAgAAAAdAAsAAAACAAgAAAAdAAoAAAACAAgAAAAdAAkAAAACAAgAAAAdAAgAAAACAAgAAAAdAAcAAAACAAgAAAAdAAYAAAABAAUAAAAcABsAAAACAAgAAAAcABoAAAACAAgAAAAcABkAAAACAAgAAAAcABgAAAACAAgAAAAcABcAAAACAAgAAAAcABYAAAACAAgAAAAcABUAAAACAAgAAAAcABQAAAACAAgAAAAcABMAAAACAAgAAAAcABIAAAACAAgAAAAcABEAAAABAAUAAAAcAA4AAAABAAcAAAAcAA0AAAACAAgAAAAcAAwAAAACAAgAAAAcAAsAAAACAAgAAAAcAAoAAAACAAgAAAAcAAkAAAACAAgAAAAcAAgAAAACAAgAAAAcAAcAAAACAAgAAAAcAAYAAAABAAUAAAAbABsAAAACAAgAAAAbABoAAAACAAgAAAAbABkAAAACAAgAAAAbABgAAAACAAgAAAAbABcAAAACAAgAAAAbABYAAAACAAgAAAAbABUAAAACAAgAAAAbABQAAAACAAgAAAAbABMAAAACAAgAAAAbABIAAAACAAgAAAAbABEAAAABAAUAAAAbAA4AAAABAAcAAAAbAA0AAAACAAgAAAAbAAwAAAACAAgAAAAbAAsAAAACAAgAAAAbAAoAAAACAAgAAAAbAAkAAAACAAgAAAAbAAgAAAACAAgAAAAbAAcAAAACAAgAAAAbAAYAAAABAAUAAAAaABUAAAACAAgAAAAaABQAAAACAAgAAAAaABMAAAACAAgAAAAaABIAAAACAAgAAAAaABEAAAABAAUAAAAaAA4AAAABAAcAAAAaAA0AAAACAAgAAAAaAAwAAAACAAgAAAAaAAsAAAACAAgAAAAaAAoAAAACAAgAAAAaAAkAAAACAAgAAAAaAAgAAAACAAgAAAAaAAcAAAACAAgAAAAaAAYAAAABAAUAAAAZABUAAAACAAgAAAAZABQAAAACAAgAAAAZABMAAAACAAgAAAAZABIAAAACAAgAAAAZABEAAAABAAUAAAAZAA4AAAABAAcAAAAZAA0AAAACAAgAAAAZAAwAAAACAAgAAAAZAAsAAAACAAgAAAAZAAoAAAACAAgAAAAZAAkAAAACAAgAAAAZAAgAAAACAAgAAAAZAAcAAAACAAgAAAAZAAYAAAABAAUAAAAYABUAAAACAAgAAAAYABQAAAACAAgAAAAYABMAAAACAAgAAAAYABIAAAACAAgAAAAYABEAAAABAAUAAAAYAA4AAAABAAcAAAAYAA0AAAACAAgAAAAYAAwAAAACAAgAAAAYAAsAAAACAAgAAAAYAAoAAAACAAgAAAAYAAkAAAACAAgAAAAYAAgAAAACAAgAAAAYAAcAAAACAAgAAAAYAAYAAAABAAUAAAAXABUAAAACAAgAAAAXABQAAAACAAgAAAAXABMAAAACAAgAAAAXABIAAAACAAgAAAAXABEAAAABAAUAAAAXAA4AAAABAAcAAAAXAA0AAAACAAgAAAAXAAwAAAACAAgAAAAXAAsAAAACAAgAAAAXAAoAAAACAAgAAAAXAAkAAAACAAgAAAAXAAgAAAACAAgAAAAXAAcAAAACAAgAAAAXAAYAAAABAAUAAAAWABUAAAACAAgAAAAWABQAAAACAAgAAAAWABMAAAACAAgAAAAWABIAAAACAAgAAAAWABEAAAABAAUAAAAWAA4AAAABAAcAAAAWAA0AAAACAAgAAAAWAAwAAAACAAgAAAAWAAsAAAACAAgAAAAWAAoAAAACAAgAAAAWAAkAAAACAAgAAAAWAAgAAAACAAgAAAAWAAcAAAACAAgAAAAWAAYAAAABAAUAAAAVAAwAAAAAAAYAAAAVAAsAAAAAAAYAAAAVAAoAAAAAAAYAAAAVAAkAAAAAAAYAAAAVAAgAAAAAAAYAAAAVAAcAAAAAAAYAAAAVAAYAAAAAAAUAAAARAAwAAAACAAYAAAARAAsAAAACAAYAAAARAAoAAAACAAYAAAARAAkAAAACAAYAAAARAAgAAAACAAYAAAARAAcAAAACAAYAAAARAAYAAAACAAYAAAARAAUAAAACAAYAAAARAAQAAAACAAYAAAARAAMAAAACAAYAAAARAAIAAAAAAAgAAAAQAAIAAAACAAgAAAAPAAIAAAACAAgAAAAOAAIAAAACAAgAAAABAAYAAAACAAgAAAABAAUAAAACAAgAAAABAAQAAAACAAgAAAABAAMAAAACAAgAAAAAAAYAAAACAAgAAAAAAAUAAAACAAgAAAAAAAQAAAACAAgAAAAAAAMAAAACAAgAAAD//wYAAAACAAgAAAD//wUAAAACAAgAAAD//wQAAAACAAgAAAD//wMAAAACAAgAAAD+/wYAAAACAAgAAAD+/wUAAAACAAgAAAD+/wQAAAACAAgAAAD+/wMAAAACAAgAAAD9/wYAAAACAAgAAAD9/wUAAAACAAgAAAD9/wQAAAACAAgAAAD9/wMAAAACAAgAAAD8/wYAAAACAAgAAAD8/wUAAAACAAgAAAD8/wQAAAACAAgAAAD8/wMAAAACAAgAAAD7/wYAAAACAAgAAAD7/wUAAAACAAgAAAD7/wQAAAACAAgAAAD7/wMAAAACAAgAAAD6/wYAAAACAAgAAAD6/wUAAAACAAgAAAD6/wQAAAACAAgAAAD6/wMAAAACAAgAAAD5/wYAAAACAAgAAAD5/wUAAAACAAgAAAD5/wQAAAACAAgAAAD5/wMAAAACAAgAAAD4/wsAAAACAAgAAAD4/woAAAACAAgAAAD4/wkAAAACAAgAAAD4/wgAAAACAAgAAAD4/wcAAAACAAgAAAD4/wYAAAACAAgAAAD4/wUAAAACAAgAAAD4/wQAAAACAAgAAAD4/wMAAAACAAgAAAD3/wsAAAACAAgAAAD3/woAAAACAAgAAAD3/wkAAAACAAgAAAD3/wgAAAACAAgAAAD3/wcAAAACAAgAAAD3/wYAAAACAAgAAAD3/wUAAAACAAgAAAD3/wQAAAACAAgAAAD3/wMAAAACAAgAAAD2/wsAAAACAAgAAAD2/woAAAACAAgAAAD2/wkAAAACAAgAAAD2/wgAAAACAAgAAAD2/wcAAAACAAgAAAD2/wYAAAACAAgAAAD2/wUAAAACAAgAAAD2/wQAAAACAAgAAAD2/wMAAAACAAgAAAD1/wsAAAACAAgAAAD1/woAAAACAAgAAAD1/wkAAAACAAgAAAD1/wgAAAACAAgAAAD1/wcAAAACAAgAAAD1/wYAAAACAAgAAAD1/wUAAAACAAgAAAD1/wQAAAACAAgAAAD1/wMAAAACAAgAAAAUAAIAAAACAAcAAAAUAAEAAAACAAYAAAAUAAAAAAACAAYAAAAUAP//AAACAAUAAAATAAIAAAABAAcAAAATAAEAAAACAAgAAAATAAAAAAACAAgAAAATAP//AAABAAUAAAASAAIAAAABAAcAAAASAAEAAAACAAgAAAASAAAAAAACAAgAAAASAP//AAABAAUAAAARAAEAAAACAAgAAAARAAAAAAACAAgAAAARAP//AAABAAUAAAAQAAEAAAACAAgAAAAQAAAAAAACAAgAAAAQAP//AAABAAUAAAAPAAEAAAACAAgAAAAPAAAAAAACAAgAAAAPAP//AAABAAUAAAAOAAEAAAACAAgAAAAOAAAAAAACAAgAAAAOAP//AAABAAUAAAANAAIAAAACAAgAAAANAAEAAAACAAgAAAANAAAAAAACAAgAAAANAP//AAABAAUAAAAMAAIAAAACAAgAAAAMAAEAAAACAAgAAAAMAAAAAAACAAgAAAAMAP//AAABAAUAAAALAAIAAAACAAgAAAALAAEAAAACAAgAAAALAAAAAAACAAgAAAALAP//AAABAAUAAAAKAAIAAAACAAgAAAAKAAEAAAACAAgAAAAKAAAAAAACAAgAAAAKAP//AAABAAUAAAAJAAIAAAACAAgAAAAJAAEAAAACAAgAAAAJAAAAAAACAAgAAAAJAP//AAABAAUAAAAIAAIAAAACAAgAAAAIAAEAAAACAAgAAAAIAAAAAAACAAgAAAAIAP//AAABAAUAAAAHAAIAAAACAAgAAAAHAAEAAAACAAgAAAAHAAAAAAACAAgAAAAHAP//AAABAAUAAAAGAAIAAAACAAgAAAAGAAEAAAACAAgAAAAGAAAAAAACAAgAAAAGAP//AAABAAUAAAAFAAIAAAACAAgAAAAFAAEAAAACAAgAAAAFAAAAAAACAAgAAAAFAP//AAABAAUAAAAEAAIAAAACAAgAAAAEAAEAAAACAAgAAAAEAAAAAAACAAgAAAAEAP//AAABAAUAAAADAAIAAAACAAgAAAADAAEAAAACAAgAAAADAAAAAAACAAgAAAADAP//AAABAAUAAAACAAIAAAACAAgAAAACAAEAAAACAAgAAAACAAAAAAACAAgAAAACAP//AAABAAUAAAABAAIAAAACAAgAAAABAAEAAAACAAgAAAABAAAAAAACAAgAAAABAP//AAABAAUAAAAAAAIAAAACAAgAAAAAAAEAAAACAAgAAAAAAAAAAAACAAgAAAAAAP//AAABAAUAAAD//wIAAAACAAgAAAD//wEAAAACAAgAAAD//wAAAAACAAgAAAD/////AAABAAUAAAD+/wIAAAACAAgAAAD+/wEAAAACAAgAAAD+/wAAAAACAAgAAAD+////AAABAAUAAAD9/wIAAAACAAgAAAD9/wEAAAACAAgAAAD9/wAAAAACAAgAAAD9////AAABAAUAAAD8/wIAAAACAAgAAAD8/wEAAAACAAgAAAD8/wAAAAACAAgAAAD8////AAABAAUAAAD7/wIAAAACAAgAAAD7/wEAAAACAAgAAAD7/wAAAAACAAgAAAD7////AAABAAUAAAD6/wIAAAACAAgAAAD6/wEAAAACAAgAAAD6/wAAAAACAAgAAAD6////AAABAAUAAAD5/wIAAAACAAgAAAD5/wEAAAACAAgAAAD5/wAAAAACAAgAAAD5////AAABAAUAAAD4/wIAAAACAAgAAAD4/wEAAAACAAgAAAD4/wAAAAACAAgAAAD4////AAABAAUAAAD3/wIAAAACAAgAAAD3/wEAAAACAAgAAAD3/wAAAAACAAgAAAD3////AAABAAUAAAD2/wIAAAACAAgAAAD2/wEAAAACAAgAAAD2/wAAAAACAAgAAAD2////AAABAAUAAAD1/wIAAAACAAgAAAD1/wEAAAACAAgAAAD1/wAAAAACAAgAAAD1////AAABAAUAAAD0/wgAAAACAAgAAAD0/wcAAAABAAkAAAD0/wYAAAAAAAYAAAD0/wUAAAAAAAYAAAD0/wQAAAAAAAYAAAD0/wMAAAAAAAYAAAD0/wIAAAAAAAYAAAD0/wEAAAAAAAYAAAD0/wAAAAAAAAYAAAD0////AAAAAAUAAAD9/yMAAAACAAgAAAD8/yMAAAACAAgAAAD7/yMAAAACAAgAAAD6/yMAAAACAAgAAAD5/yMAAAACAAgAAAD4/yMAAAACAAgAAAD4/yIAAAACAAgAAAD4/yEAAAACAAgAAAD4/yAAAAACAAgAAAD4/x8AAAACAAgAAAD4/x4AAAACAAgAAAD4/x0AAAACAAgAAAD4/xwAAAACAAgAAAD4/xsAAAACAAgAAAD4/xoAAAACAAgAAAD4/xkAAAACAAgAAAD4/xgAAAACAAgAAAD4/xcAAAACAAgAAAD4/xYAAAACAAgAAAD4/xUAAAACAAgAAAD4/xQAAAACAAgAAAD4/xMAAAACAAgAAAD4/xIAAAACAAgAAAD4/xEAAAACAAgAAAD4/xAAAAACAAgAAAD4/w8AAAACAAgAAAD4/w4AAAACAAgAAAD4/w0AAAACAAgAAAD4/wwAAAACAAgAAAD3/yMAAAABAAgAAAD3/yIAAAACAAgAAAD3/yEAAAACAAgAAAD3/yAAAAACAAgAAAD3/x8AAAACAAgAAAD3/x4AAAACAAgAAAD3/x0AAAACAAgAAAD3/xwAAAACAAgAAAD3/xsAAAACAAgAAAD3/xoAAAACAAgAAAD3/xkAAAACAAgAAAD3/xgAAAACAAgAAAD3/xcAAAACAAgAAAD3/xYAAAACAAgAAAD3/xUAAAACAAgAAAD3/xQAAAACAAgAAAD3/xMAAAACAAgAAAD3/xIAAAACAAgAAAD3/xEAAAACAAgAAAD3/xAAAAACAAgAAAD3/w8AAAACAAgAAAD3/w4AAAACAAgAAAD3/w0AAAACAAgAAAD3/wwAAAACAAgAAAD2/yMAAAABAAcAAAD2/yIAAAACAAgAAAD2/yEAAAACAAgAAAD2/yAAAAACAAgAAAD2/x8AAAACAAgAAAD2/x4AAAACAAgAAAD2/x0AAAACAAgAAAD2/xwAAAACAAgAAAD2/xsAAAACAAgAAAD2/xoAAAACAAgAAAD2/xkAAAACAAgAAAD2/xgAAAACAAgAAAD2/xcAAAACAAgAAAD2/xYAAAACAAgAAAD2/xUAAAACAAgAAAD2/xQAAAACAAgAAAD2/xMAAAACAAgAAAD2/xIAAAACAAgAAAD2/xEAAAACAAgAAAD2/xAAAAACAAgAAAD2/w8AAAACAAgAAAD2/w4AAAACAAgAAAD2/w0AAAACAAgAAAD2/wwAAAACAAgAAAD1/yMAAAABAAcAAAD1/yIAAAACAAgAAAD1/yEAAAACAAgAAAD1/yAAAAACAAgAAAD1/x8AAAACAAgAAAD1/x4AAAACAAgAAAD1/x0AAAACAAgAAAD1/xwAAAACAAgAAAD1/xsAAAACAAgAAAD1/xoAAAACAAgAAAD1/xkAAAACAAgAAAD1/xgAAAACAAgAAAD1/xcAAAACAAgAAAD1/xYAAAACAAgAAAD1/xUAAAACAAgAAAD1/xQAAAACAAgAAAD1/xMAAAACAAgAAAD1/xIAAAACAAgAAAD1/xEAAAACAAgAAAD1/xAAAAACAAgAAAD1/w8AAAACAAgAAAD1/w4AAAACAAgAAAD1/w0AAAACAAgAAAD1/wwAAAACAAgAAAD0/yMAAAABAAcAAAD0/yIAAAACAAgAAAD0/yEAAAACAAgAAAD0/yAAAAACAAgAAAD0/x8AAAACAAgAAAD0/x4AAAACAAgAAAD0/x0AAAACAAgAAAD0/xwAAAACAAgAAAD0/xsAAAACAAgAAAD0/xoAAAACAAgAAAD0/xkAAAACAAgAAAD0/xgAAAACAAgAAAD0/xcAAAACAAgAAAD0/xYAAAACAAgAAAD0/xUAAAACAAgAAAD0/xQAAAACAAgAAAD0/xMAAAACAAgAAAD0/xIAAAACAAgAAAD0/xEAAAACAAgAAAD0/xAAAAACAAgAAAD0/w8AAAACAAgAAAD0/w4AAAACAAgAAAD0/w0AAAACAAgAAAD0/wwAAAACAAgAAAD0/wsAAAACAAgAAAD0/woAAAACAAgAAAD0/wkAAAACAAgAAADz/yMAAAAAAAcAAADz/yIAAAAAAAYAAADz/yEAAAAAAAYAAADz/yAAAAAAAAYAAADz/x8AAAAAAAYAAADz/x4AAAAAAAYAAADz/x0AAAAAAAYAAADz/xwAAAAAAAYAAADz/xsAAAAAAAYAAADz/xoAAAAAAAYAAADz/xkAAAAAAAYAAADz/xgAAAAAAAYAAADz/xcAAAAAAAYAAADz/xYAAAAAAAYAAADz/xUAAAAAAAYAAADz/xQAAAAAAAYAAADz/xMAAAAAAAYAAADz/xIAAAAAAAYAAADz/xEAAAAAAAYAAADz/xAAAAAAAAYAAADz/w8AAAAAAAYAAADz/w4AAAAAAAYAAADz/w0AAAAAAAYAAADz/wwAAAAAAAYAAADz/wsAAAAAAAYAAADz/woAAAAAAAYAAADz/wkAAAAAAAYAAADz/wgAAAAAAAYAAADz/wcAAAAAAAUAAAAdACkAAAACAAcAAAAdACgAAAAAAAgAAAAdACcAAAACAAgAAAAdACYAAAACAAgAAAAdACUAAAACAAgAAAAdACQAAAACAAgAAAAdACMAAAACAAgAAAAdACIAAAACAAgAAAAdACEAAAACAAgAAAAdACAAAAACAAgAAAAdAB8AAAACAAgAAAAdAB4AAAACAAgAAAAdAB0AAAACAAgAAAAcACkAAAABAAcAAAAcACgAAAACAAgAAAAcACcAAAACAAgAAAAcACYAAAACAAgAAAAcACUAAAACAAgAAAAcACQAAAACAAgAAAAcACMAAAACAAgAAAAcACIAAAACAAgAAAAcACEAAAACAAgAAAAcACAAAAACAAgAAAAcAB8AAAACAAgAAAAcAB4AAAACAAgAAAAcAB0AAAACAAgAAAAbACkAAAABAAcAAAAbACgAAAACAAgAAAAbACcAAAACAAgAAAAbACYAAAACAAgAAAAbACUAAAACAAgAAAAbACQAAAACAAgAAAAbACMAAAACAAgAAAAbACIAAAACAAgAAAAbACEAAAACAAgAAAAbACAAAAACAAgAAAAbAB8AAAACAAgAAAAbAB4AAAACAAgAAAAbAB0AAAACAAgAAAAaACkAAAABAAcAAAAaACgAAAACAAgAAAAaACcAAAACAAgAAAAaACYAAAACAAgAAAAaACUAAAACAAgAAAAaACQAAAACAAgAAAAaACMAAAACAAgAAAAZACkAAAABAAcAAAAZACgAAAACAAgAAAAZACcAAAACAAgAAAAZACYAAAACAAgAAAAZACUAAAACAAgAAAAZACQAAAACAAgAAAAZACMAAAACAAgAAAAYACkAAAABAAcAAAAYACgAAAACAAgAAAAYACcAAAACAAgAAAAYACYAAAACAAgAAAAYACUAAAACAAgAAAAYACQAAAACAAgAAAAYACMAAAACAAgAAAAXACkAAAABAAcAAAAXACgAAAACAAgAAAAXACcAAAACAAgAAAAXACYAAAACAAgAAAAXACUAAAACAAgAAAAXACQAAAACAAgAAAAXACMAAAACAAgAAAAWACkAAAABAAcAAAAWACgAAAACAAgAAAAWACcAAAACAAgAAAAWACYAAAACAAgAAAAWACUAAAACAAgAAAAWACQAAAACAAgAAAAWACMAAAACAAgAAAAVACkAAAABAAcAAAAVACgAAAACAAgAAAAVACcAAAACAAgAAAAVACYAAAACAAgAAAAVACUAAAACAAgAAAAVACQAAAACAAgAAAAVACMAAAACAAgAAAAUACkAAAABAAcAAAAUACgAAAACAAgAAAAUACcAAAACAAgAAAAUACYAAAACAAgAAAAUACUAAAACAAgAAAAUACQAAAACAAgAAAAUACMAAAACAAgAAAATACkAAAABAAcAAAATACgAAAACAAgAAAATACcAAAACAAgAAAATACYAAAACAAgAAAATACUAAAACAAgAAAATACQAAAACAAgAAAATACMAAAACAAgAAAASACkAAAABAAcAAAASACgAAAACAAgAAAASACcAAAACAAgAAAASACYAAAACAAgAAAASACUAAAACAAgAAAASACQAAAACAAgAAAASACMAAAACAAgAAAARACkAAAABAAcAAAARACgAAAACAAgAAAARACcAAAACAAgAAAARACYAAAACAAgAAAARACUAAAACAAgAAAARACQAAAACAAgAAAARACMAAAACAAgAAAAQACkAAAABAAcAAAAQACgAAAACAAgAAAAQACcAAAACAAgAAAAQACYAAAACAAgAAAAQACUAAAACAAgAAAAQACQAAAACAAgAAAAQACMAAAACAAgAAAAPACkAAAABAAcAAAAPACgAAAACAAgAAAAPACcAAAACAAgAAAAPACYAAAACAAgAAAAPACUAAAACAAgAAAAPACQAAAACAAgAAAAPACMAAAACAAgAAAAOACkAAAABAAcAAAAOACgAAAACAAgAAAAOACcAAAACAAgAAAAOACYAAAACAAgAAAAOACUAAAACAAgAAAAOACQAAAACAAgAAAAOACMAAAACAAgAAAANACkAAAABAAcAAAANACgAAAACAAgAAAANACcAAAACAAgAAAANACYAAAACAAgAAAANACUAAAACAAgAAAANACQAAAACAAgAAAANACMAAAACAAgAAAAMACkAAAABAAcAAAAMACgAAAACAAgAAAAMACcAAAACAAgAAAAMACYAAAACAAgAAAAMACUAAAACAAgAAAAMACQAAAACAAgAAAAMACMAAAACAAgAAAALACkAAAABAAcAAAALACgAAAACAAgAAAALACcAAAACAAgAAAALACYAAAACAAgAAAALACUAAAACAAgAAAALACQAAAACAAgAAAALACMAAAACAAgAAAAKACkAAAABAAcAAAAKACgAAAACAAgAAAAKACcAAAACAAgAAAAKACYAAAACAAgAAAAKACUAAAACAAgAAAAKACQAAAACAAgAAAAKACMAAAACAAgAAAAJACkAAAABAAcAAAAJACgAAAACAAgAAAAJACcAAAACAAgAAAAJACYAAAACAAgAAAAJACUAAAACAAgAAAAJACQAAAACAAgAAAAJACMAAAACAAgAAAAIACkAAAABAAcAAAAIACgAAAACAAgAAAAIACcAAAACAAgAAAAIACYAAAACAAgAAAAIACUAAAACAAgAAAAIACQAAAACAAgAAAAIACMAAAACAAgAAAAHACkAAAABAAcAAAAHACgAAAACAAgAAAAHACcAAAACAAgAAAAHACYAAAACAAgAAAAHACUAAAACAAgAAAAHACQAAAACAAgAAAAHACMAAAACAAgAAAAGACkAAAABAAcAAAAGACgAAAACAAgAAAAGACcAAAACAAgAAAAGACYAAAACAAgAAAAGACUAAAACAAgAAAAGACQAAAACAAgAAAAGACMAAAACAAgAAAAFACkAAAABAAcAAAAFACgAAAACAAgAAAAFACcAAAACAAgAAAAFACYAAAACAAgAAAAFACUAAAACAAgAAAAFACQAAAACAAgAAAAFACMAAAACAAgAAAAEACkAAAABAAcAAAAEACgAAAACAAgAAAAEACcAAAACAAgAAAAEACYAAAACAAgAAAAEACUAAAACAAgAAAAEACQAAAACAAgAAAAEACMAAAACAAgAAAADACkAAAABAAcAAAADACgAAAACAAgAAAADACcAAAACAAgAAAADACYAAAACAAgAAAADACUAAAACAAgAAAADACQAAAACAAgAAAADACMAAAACAAgAAAACACkAAAABAAcAAAACACgAAAACAAgAAAACACcAAAACAAgAAAACACYAAAACAAgAAAACACUAAAACAAgAAAACACQAAAACAAgAAAACACMAAAACAAgAAAABACkAAAABAAcAAAABACgAAAACAAgAAAABACcAAAACAAgAAAABACYAAAACAAgAAAABACUAAAACAAgAAAABACQAAAACAAgAAAABACMAAAACAAgAAAAAACkAAAABAAcAAAAAACgAAAACAAgAAAAAACcAAAACAAgAAAAAACYAAAACAAgAAAAAACUAAAACAAgAAAAAACQAAAACAAgAAAAAACMAAAACAAgAAAD//ykAAAABAAcAAAD//ygAAAACAAgAAAD//ycAAAACAAgAAAD//yYAAAACAAgAAAD//yUAAAACAAgAAAD//yQAAAACAAgAAAD//yMAAAACAAgAAAD+/ykAAAABAAcAAAD+/ygAAAACAAgAAAD+/ycAAAACAAgAAAD+/yYAAAACAAgAAAD+/yUAAAACAAgAAAD+/yQAAAACAAgAAAD+/yMAAAACAAgAAAD9/ykAAAABAAcAAAD9/ygAAAACAAgAAAD9/ycAAAACAAgAAAD9/yYAAAACAAgAAAD9/yUAAAACAAgAAAD9/yQAAAACAAgAAAD8/ykAAAABAAcAAAD8/ygAAAACAAgAAAD8/ycAAAACAAgAAAD8/yYAAAACAAgAAAD8/yUAAAACAAgAAAD8/yQAAAACAAgAAAD7/ykAAAABAAcAAAD7/ygAAAACAAgAAAD7/ycAAAACAAgAAAD7/yYAAAACAAgAAAD7/yUAAAACAAgAAAD7/yQAAAACAAgAAAD6/ykAAAABAAcAAAD6/ygAAAACAAgAAAD6/ycAAAACAAgAAAD6/yYAAAACAAgAAAD6/yUAAAACAAgAAAD6/yQAAAACAAgAAAD5/ykAAAABAAcAAAD5/ygAAAACAAgAAAD5/ycAAAACAAgAAAD5/yYAAAACAAgAAAD5/yUAAAACAAgAAAD5/yQAAAACAAgAAAD4/ykAAAABAAcAAAD4/ygAAAACAAgAAAD4/ycAAAACAAgAAAD4/yYAAAACAAgAAAD4/yUAAAACAAgAAAD4/yQAAAACAAgAAAD3/ykAAAAAAAcAAAD3/ygAAAAAAAYAAAD3/ycAAAAAAAYAAAD3/yYAAAAAAAYAAAD3/yUAAAAAAAYAAAD3/yQAAAAAAAYAAAAnACgAAAACAAcAAAAnACcAAAACAAYAAAAnACYAAAACAAYAAAAnACUAAAACAAYAAAAnACQAAAACAAYAAAAnACMAAAACAAYAAAAnACIAAAACAAYAAAAnACEAAAACAAYAAAAnACAAAAACAAYAAAAnAB8AAAACAAYAAAAnAB4AAAACAAYAAAAnAB0AAAACAAYAAAAnABwAAAACAAYAAAAnABsAAAACAAYAAAAnABoAAAACAAYAAAAnABkAAAACAAYAAAAnABgAAAACAAYAAAAnABcAAAAAAAgAAAAnABYAAAACAAgAAAAnABUAAAACAAgAAAAmACgAAAABAAcAAAAmACcAAAACAAgAAAAmACYAAAACAAgAAAAmACUAAAACAAgAAAAmACQAAAACAAgAAAAmACMAAAACAAgAAAAmACIAAAACAAgAAAAmACEAAAACAAgAAAAmACAAAAACAAgAAAAmAB8AAAACAAgAAAAmAB4AAAACAAgAAAAmAB0AAAACAAgAAAAmABwAAAACAAgAAAAmABsAAAACAAgAAAAmABoAAAACAAgAAAAmABkAAAACAAgAAAAmABgAAAACAAgAAAAmABcAAAACAAgAAAAmABYAAAACAAgAAAAmABUAAAACAAgAAAAlACgAAAABAAcAAAAlACcAAAACAAgAAAAlACYAAAACAAgAAAAlACUAAAACAAgAAAAlACQAAAACAAgAAAAlACMAAAACAAgAAAAlACIAAAACAAgAAAAlACEAAAACAAgAAAAlACAAAAACAAgAAAAlAB8AAAACAAgAAAAlAB4AAAACAAgAAAAlAB0AAAACAAgAAAAlABwAAAACAAgAAAAlABsAAAACAAgAAAAlABoAAAACAAgAAAAlABkAAAACAAgAAAAlABgAAAACAAgAAAAlABcAAAACAAgAAAAlABYAAAACAAgAAAAlABUAAAACAAgAAAAkACgAAAABAAcAAAAkACcAAAACAAgAAAAkACYAAAACAAgAAAAkACUAAAACAAgAAAAkACQAAAACAAgAAAAkACMAAAACAAgAAAAkACIAAAACAAgAAAAkACEAAAACAAgAAAAkACAAAAACAAgAAAAkAB8AAAACAAgAAAAkAB4AAAACAAgAAAAkAB0AAAACAAgAAAAkABwAAAACAAgAAAAkABsAAAACAAgAAAAkABoAAAACAAgAAAAkABkAAAACAAgAAAAkABgAAAACAAgAAAAkABcAAAACAAgAAAAkABYAAAACAAgAAAAkABUAAAACAAgAAAAjACgAAAABAAcAAAAjACcAAAACAAgAAAAjACYAAAACAAgAAAAjACUAAAACAAgAAAAjACQAAAACAAgAAAAjACMAAAACAAgAAAAjACIAAAACAAgAAAAjACEAAAACAAgAAAAjACAAAAACAAgAAAAjAB8AAAACAAgAAAAjAB4AAAACAAgAAAAjAB0AAAACAAgAAAAjABwAAAACAAgAAAAjABsAAAACAAgAAAAjABoAAAACAAgAAAAjABkAAAACAAgAAAAjABgAAAACAAgAAAAjABcAAAACAAgAAAAjABYAAAACAAgAAAAjABUAAAACAAgAAAAiACgAAAABAAcAAAAiACcAAAACAAgAAAAiACYAAAACAAgAAAAiACUAAAACAAgAAAAiACQAAAACAAgAAAAiACMAAAACAAgAAAAiACIAAAACAAgAAAAiACEAAAACAAgAAAAiACAAAAACAAgAAAAiAB8AAAACAAgAAAAiAB4AAAACAAgAAAAiAB0AAAACAAgAAAAiABwAAAACAAgAAAAiABsAAAACAAgAAAAiABoAAAACAAgAAAAiABkAAAACAAgAAAAiABgAAAACAAgAAAAiABcAAAACAAgAAAAiABYAAAACAAgAAAAiABUAAAACAAgAAAAhACgAAAABAAcAAAAhACcAAAACAAgAAAAhACYAAAACAAgAAAAhACUAAAACAAgAAAAhACQAAAACAAgAAAAhACMAAAACAAgAAAAhACIAAAACAAgAAAAhACEAAAACAAgAAAAhACAAAAACAAgAAAAhAB8AAAACAAgAAAAhAB4AAAACAAgAAAAhAB0AAAACAAgAAAAhABwAAAACAAgAAAAgACgAAAABAAcAAAAgACcAAAACAAgAAAAgACYAAAACAAgAAAAgACUAAAACAAgAAAAgACQAAAACAAgAAAAgACMAAAACAAgAAAAgACIAAAACAAgAAAAgACEAAAACAAgAAAAgACAAAAACAAgAAAAgAB8AAAACAAgAAAAgAB4AAAACAAgAAAAgAB0AAAACAAgAAAAgABwAAAACAAgAAAAfACgAAAABAAcAAAAfACcAAAACAAgAAAAfACYAAAACAAgAAAAfACUAAAACAAgAAAAfACQAAAACAAgAAAAfACMAAAACAAgAAAAfACIAAAACAAgAAAAfACEAAAACAAgAAAAfACAAAAACAAgAAAAfAB8AAAACAAgAAAAfAB4AAAACAAgAAAAfAB0AAAACAAgAAAAfABwAAAACAAgAAAAeACgAAAABAAcAAAAeACcAAAACAAgAAAAeACYAAAACAAgAAAAeACUAAAACAAgAAAAeACQAAAACAAgAAAAeACMAAAACAAgAAAAeACIAAAACAAgAAAAeACEAAAACAAgAAAAeACAAAAACAAgAAAAeAB8AAAACAAgAAAAeAB4AAAACAAgAAAAeAB0AAAACAAgAAAAeABwAAAACAAgAAAAdABwAAAACAAgAAAAcABwAAAACAAgAAAAbABwAAAACAAgAAAArABcAAAACAAcAAAArABYAAAACAAYAAAArABUAAAACAAYAAAArABQAAAACAAYAAAArABMAAAACAAYAAAArABIAAAACAAYAAAArABEAAAACAAYAAAArABAAAAACAAYAAAArAA8AAAACAAYAAAArAA4AAAACAAYAAAArAA0AAAACAAYAAAArAAwAAAACAAYAAAArAAsAAAACAAYAAAArAAoAAAACAAYAAAArAAkAAAACAAYAAAArAAgAAAACAAYAAAArAAcAAAACAAYAAAArAAYAAAACAAYAAAArAAUAAAACAAYAAAArAAQAAAACAAUAAAAqABcAAAABAAcAAAAqABYAAAACAAgAAAAqABUAAAACAAgAAAAqABQAAAACAAgAAAAqABMAAAACAAgAAAAqABIAAAACAAgAAAAqABEAAAACAAgAAAAqABAAAAACAAgAAAAqAA8AAAACAAgAAAAqAA4AAAACAAgAAAAqAA0AAAACAAgAAAAqAAwAAAACAAgAAAAqAAsAAAACAAgAAAAqAAoAAAACAAgAAAAqAAkAAAACAAgAAAAqAAgAAAACAAgAAAAqAAcAAAACAAgAAAAqAAYAAAACAAgAAAAqAAUAAAACAAgAAAAqAAQAAAABAAUAAAApABcAAAABAAcAAAApABYAAAACAAgAAAApABUAAAACAAgAAAApABQAAAACAAgAAAApABMAAAACAAgAAAApABIAAAACAAgAAAApABEAAAACAAgAAAApABAAAAACAAgAAAApAA8AAAACAAgAAAApAA4AAAACAAgAAAApAA0AAAACAAgAAAApAAwAAAACAAgAAAApAAsAAAACAAgAAAApAAoAAAACAAgAAAApAAkAAAACAAgAAAApAAgAAAACAAgAAAApAAcAAAACAAgAAAApAAYAAAACAAgAAAApAAUAAAACAAgAAAApAAQAAAABAAUAAAAoABcAAAABAAcAAAAoABYAAAACAAgAAAAoABUAAAACAAgAAAAoABQAAAACAAgAAAAoABMAAAACAAgAAAAoABIAAAACAAgAAAAoABEAAAACAAgAAAAoABAAAAACAAgAAAAoAA8AAAACAAgAAAAoAA4AAAACAAgAAAAoAA0AAAACAAgAAAAoAAwAAAACAAgAAAAoAAsAAAACAAgAAAAoAAoAAAACAAgAAAAoAAkAAAACAAgAAAAoAAgAAAACAAgAAAAoAAcAAAACAAgAAAAoAAYAAAACAAgAAAAoAAUAAAACAAgAAAAoAAQAAAABAAUAAAAnABQAAAACAAgAAAAnABMAAAACAAgAAAAnABIAAAACAAgAAAAnABEAAAACAAgAAAAnABAAAAACAAgAAAAnAA8AAAACAAgAAAAnAA4AAAACAAgAAAAnAA0AAAACAAgAAAAnAAwAAAACAAgAAAAnAAsAAAACAAgAAAAnAAoAAAACAAgAAAAnAAkAAAACAAgAAAAnAAgAAAACAAgAAAAnAAcAAAACAAgAAAAnAAYAAAACAAgAAAAnAAUAAAACAAgAAAAnAAQAAAABAAUAAAAmABQAAAACAAgAAAAmABMAAAACAAgAAAAmABIAAAACAAgAAAAmABEAAAACAAgAAAAmABAAAAACAAgAAAAmAA8AAAACAAgAAAAmAA4AAAACAAgAAAAmAA0AAAACAAgAAAAmAAwAAAACAAgAAAAmAAsAAAACAAgAAAAmAAoAAAACAAgAAAAmAAkAAAACAAgAAAAmAAgAAAACAAgAAAAmAAcAAAACAAgAAAAmAAYAAAACAAgAAAAmAAUAAAACAAgAAAAmAAQAAAABAAUAAAAlABQAAAACAAgAAAAlABMAAAACAAgAAAAlABIAAAACAAgAAAAlABEAAAACAAgAAAAlABAAAAACAAgAAAAlAA8AAAACAAgAAAAlAA4AAAACAAgAAAAlAA0AAAACAAgAAAAlAAwAAAACAAgAAAAlAAsAAAACAAgAAAAlAAoAAAACAAgAAAAlAAkAAAACAAgAAAAlAAgAAAACAAgAAAAlAAcAAAACAAgAAAAlAAYAAAACAAgAAAAlAAUAAAACAAgAAAAlAAQAAAABAAUAAAAkABQAAAACAAgAAAAkABMAAAACAAgAAAAkABIAAAACAAgAAAAkABEAAAACAAgAAAAkABAAAAACAAgAAAAkAA8AAAACAAgAAAAkAA4AAAACAAgAAAAkAA0AAAACAAgAAAAkAAwAAAACAAgAAAAkAAsAAAACAAgAAAAkAAoAAAACAAgAAAAkAAkAAAACAAgAAAAkAAgAAAACAAgAAAAkAAcAAAACAAgAAAAkAAYAAAACAAgAAAAkAAUAAAACAAgAAAAkAAQAAAABAAUAAAAjABQAAAACAAgAAAAjABMAAAACAAgAAAAjABIAAAACAAgAAAAjABEAAAACAAgAAAAjABAAAAACAAgAAAAjAA8AAAACAAgAAAAjAA4AAAACAAgAAAAjAA0AAAACAAgAAAAjAAwAAAACAAgAAAAjAAsAAAACAAgAAAAjAAoAAAACAAgAAAAjAAkAAAACAAgAAAAjAAgAAAACAAgAAAAjAAcAAAACAAgAAAAjAAYAAAACAAgAAAAjAAUAAAACAAgAAAAjAAQAAAABAAUAAAAiABQAAAACAAgAAAAiABMAAAACAAgAAAAiABIAAAACAAgAAAAiABEAAAACAAgAAAAiABAAAAACAAgAAAAiAA8AAAACAAgAAAAiAA4AAAACAAgAAAAiAA0AAAACAAgAAAAiAAwAAAACAAgAAAAiAAsAAAACAAgAAAAiAAoAAAACAAgAAAAiAAkAAAACAAgAAAAiAAgAAAACAAgAAAAiAAcAAAACAAgAAAAiAAYAAAACAAgAAAAiAAUAAAACAAgAAAAiAAQAAAABAAUAAAAhAAUAAAACAAgAAAAhAAQAAAABAAUAAAAgAAUAAAACAAgAAAAgAAQAAAABAAUAAAAfAAUAAAAAAAYAAAAfAAQAAAAAAAUAAAAVAA8AAAAMAAIAAAAWAA8AAAAMAAIAAAAXAA8AAAAMAAIAAAAYAA8AAAAMAAIAAAAZAA8AAAAMAAIAAAAaAA8AAAAMAAIAAAAbAA8AAAAMAAIAAAAcAA8AAAAMAAIAAAAdAA8AAAAMAAIAAAAeAA8AAAAMAAIAAAA=") tile_set = ExtResource("5_6314l") metadata/_edit_lock_ = true @@ -60,28 +52,8 @@ metadata/_edit_lock_ = true [node name="Actors" type="Node2D" parent="Tilemaps"] metadata/_edit_lock_ = true -[node name="FSMPlayer" type="CharacterBody2D" parent="Tilemaps/Actors"] +[node name="FSMPlayer" parent="Tilemaps/Actors" instance=ExtResource("8_c3v4x")] position = Vector2(76, 295) -script = ExtResource("8_b3hxm") -InitialState = 1 - -[node name="Init" type="Node2D" parent="Tilemaps/Actors/FSMPlayer"] -script = ExtResource("9_yyg8m") - -[node name="Active" type="Node2D" parent="Tilemaps/Actors/FSMPlayer"] -script = ExtResource("9_u1i8n") -State = 1 - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Tilemaps/Actors/FSMPlayer"] -shape = SubResource("CircleShape2D_b3hxm") - -[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="Tilemaps/Actors/FSMPlayer"] -sprite_frames = ExtResource("9_w1v1g") -animation = &"idle" - -[node name="WeaponProvider" type="Node2D" parent="Tilemaps/Actors/FSMPlayer"] -script = ExtResource("11_6314l") -WeaponTemplate = ExtResource("3_b3hxm") [node name="CameraController" type="Camera2D" parent="."] process_mode = 1 diff --git a/Scripts/Components/Actors/InputProvider.cs b/Scripts/Components/Actors/InputProvider.cs index 36f23284..a84faef6 100644 --- a/Scripts/Components/Actors/InputProvider.cs +++ b/Scripts/Components/Actors/InputProvider.cs @@ -9,4 +9,10 @@ public abstract partial class InputProvider : Node2D public abstract bool GetActionJustPressed(string action); public abstract bool GetActionPressed(string action); + + public abstract bool GetShootPressed(); + public abstract bool GetUseJustPressed(); + public abstract bool GetStrafePressed(); + public abstract bool GetWeaponNextJustPressed(); + public abstract bool GetWeaponPreviousJustPressed(); } \ No newline at end of file diff --git a/Scripts/Components/Actors/KeyboardInputProvider.cs b/Scripts/Components/Actors/KeyboardInputProvider.cs index 8a5ba8f4..931c24ec 100644 --- a/Scripts/Components/Actors/KeyboardInputProvider.cs +++ b/Scripts/Components/Actors/KeyboardInputProvider.cs @@ -4,9 +4,36 @@ namespace Cirno.Scripts.Components.Actors; public partial class KeyboardInputProvider : InputProvider { + [ExportCategory("Movement")] + [Export] + public string LeftAxisName { get; private set; } = "left"; + [Export] + public string RightAxisName { get; private set; } = "right"; + [Export] + public string UpAxisName { get; private set; } = "up"; + [Export] + public string DownAxisName { get; private set; } = "down"; + + [ExportCategory("Aiming")] + [Export] + public string LeftAimName { get; private set; } = "aim_left"; + [Export] + public string RightAimName { get; private set; } = "aim_right"; + [Export] + public string UpAimName { get; private set; } = "aim_up"; + [Export] + public string DownAimName { get; private set; } = "aim_down"; + + [ExportCategory("Action Names")] + [Export] private string _shootActionName = "shoot"; + [Export] private string _useActionName = "Use"; + [Export] private string _strafeActionName = "strafe"; + [Export] private string _nextWeaponActionName = "next_weapon"; + [Export] private string _previousWeaponActionName = "previous_weapon"; + public override Vector2 GetMovementInput() { - return Input.GetVector("left", "right", "up", "down"); + return Input.GetVector(LeftAxisName, RightAxisName, UpAxisName, DownAxisName); } public override Vector2 GetAimInput() @@ -17,8 +44,8 @@ public partial class KeyboardInputProvider : InputProvider private Vector2 GetRightStickInput() { return new Vector2( - Input.GetAxis("aim_left","aim_right"), - Input.GetAxis("aim_up", "aim_down") + Input.GetAxis(LeftAimName,RightAimName), + Input.GetAxis(UpAimName, DownAimName) ); } @@ -31,4 +58,30 @@ public partial class KeyboardInputProvider : InputProvider { return Input.IsActionPressed(action); } + + public override bool GetShootPressed() + { + return GetActionPressed(_shootActionName); + } + + public override bool GetUseJustPressed() + { + return GetActionJustPressed(_useActionName); + } + + public override bool GetStrafePressed() + { + return GetActionPressed(_strafeActionName); + } + + public override bool GetWeaponNextJustPressed() + { + return GetActionJustPressed(_nextWeaponActionName); + } + + public override bool GetWeaponPreviousJustPressed() + { + return GetActionJustPressed(_previousWeaponActionName); + } + } \ No newline at end of file diff --git a/Scripts/Components/Actors/PlayerAnimationProvider.cs b/Scripts/Components/Actors/PlayerAnimationProvider.cs new file mode 100644 index 00000000..34c3e1b0 --- /dev/null +++ b/Scripts/Components/Actors/PlayerAnimationProvider.cs @@ -0,0 +1,48 @@ +using Godot; + +public partial class PlayerAnimationProvider : Node2D +{ + [Export] + public AnimatedSprite2D _animatedSprite {get; private set;} + + [ExportCategory("Animation Names")] + [Export] + public string WalkRightAnimationName {get; private set;} = "walk_right"; + + [Export] + public string WalkLeftAnimationName {get; private set;} = "walk_left"; + [Export] + public string WalkDownAnimationName {get; private set;} = "walk_down"; + [Export] + public string WalkUpAnimationName {get; private set;} = "walk_up"; + + public void SetAnimation(Vector2 velocity) + { + if (velocity.X == 0 && velocity.Y == 0) + { + _animatedSprite.SpeedScale = 0; + } + else + { + _animatedSprite.SpeedScale = 1; + } + + if (velocity.X > 0) + { + _animatedSprite.Play(WalkRightAnimationName); + } + else if (velocity.X < 0) + { + _animatedSprite.Play(WalkLeftAnimationName); + } + else if (velocity.Y > 0) + { + _animatedSprite.Play(WalkDownAnimationName); + } + else if (velocity.Y < 0) + { + _animatedSprite.Play(WalkUpAnimationName); + } + } + +} \ No newline at end of file diff --git a/Scripts/Components/Actors/PlayerAnimationProvider.cs.uid b/Scripts/Components/Actors/PlayerAnimationProvider.cs.uid new file mode 100644 index 00000000..159d4995 --- /dev/null +++ b/Scripts/Components/Actors/PlayerAnimationProvider.cs.uid @@ -0,0 +1 @@ +uid://bo5sgbv1t8ril diff --git a/Scripts/Components/FSM/Player/Active.cs b/Scripts/Components/FSM/Player/Active.cs index 7f468c22..6efac96d 100644 --- a/Scripts/Components/FSM/Player/Active.cs +++ b/Scripts/Components/FSM/Player/Active.cs @@ -8,17 +8,15 @@ public partial class Active : PlayerFSMState { private Vector2 _movementDirection { get; set; } private Vector2 _facingDirection { get; set; } - [Export] public Sprite2D HitboxSprite { get; set; } - [ExportGroup("Action Names")] - [Export] private string _shootActionName = "shoot"; - [Export] private string _useActionName = "Use"; - [Export] private string _strafeActionName = "strafe"; - [Export] private string _nextWeaponActionName = "next_weapon"; - [Export] private string _previousWeaponActionName = "previous_weapon"; - + [Export] private PlayerWeaponProvider _weaponProvider; + [Export] + private PlayerAnimationProvider _animationProvider; + + [Export] + private InputProvider _inputProvider; private bool _isStrafing { get; set; } @@ -34,7 +32,8 @@ public partial class Active : PlayerFSMState { base.Init(stateMachine); - _weaponProvider = stateMachine.GetNode("WeaponProvider"); + //_weaponProvider = stateMachine.GetNode("WeaponProvider"); + //_animationProvider = stateMachine.GetNode("AnimationProvider"); _weaponProvider.Init(stateMachine); } @@ -48,7 +47,7 @@ public partial class Active : PlayerFSMState public override void ExitState() { - + _animationProvider.SetAnimation(Vector2.Zero); } public override void PhysicsProcessState(double delta) @@ -60,10 +59,10 @@ public partial class Active : PlayerFSMState public override void ProcessState(double delta) { - SetAnimation(); + - _movementDirection = GetInput(); - _isStrafing = Input.IsActionPressed(_strafeActionName); + _movementDirection = _inputProvider.GetMovementInput(); + _isStrafing = _inputProvider.GetStrafePressed(); // Toggle visibility of the hitbox sprite based on strafing if (HitboxSprite != null) @@ -71,7 +70,7 @@ public partial class Active : PlayerFSMState HitboxSprite.Visible = _isStrafing; } - var rightStickInput = GetRightStickInput(); + var rightStickInput = _inputProvider.GetAimInput(); // Update Facing Direction if (!_isStrafing) @@ -86,72 +85,20 @@ public partial class Active : PlayerFSMState } } + _animationProvider.SetAnimation(_stateMachine.Velocity); + HandleShoot(); // FindInteractable(); - // if (Input.IsActionJustPressed(_nextWeaponActionName)) - // { - // NextWeapon(); - // } - - // if (Input.IsActionJustPressed(_previousWeaponActionName)) - // { - // PreviousWeapon(); - // } - // _crosshair.Position = CalculateCrosshairPosition(); } - private void SetAnimation() - { - - // if (Velocity.X == 0 && Velocity.Y == 0) - // { - // _animatedSprite.SpeedScale = 0; - // } - // else - // { - // _animatedSprite.SpeedScale = 1; - // } - - // if (Velocity.X > 0) - // { - // _animatedSprite.Play("walk_right"); - // } - // else if (Velocity.X < 0) - // { - // _animatedSprite.Play("walk_left"); - // } - // else if (Velocity.Y > 0) - // { - // _animatedSprite.Play("walk_down"); - // } - // else if (Velocity.Y < 0) - // { - // _animatedSprite.Play("walk_up"); - // } - - - } - private void HandleShoot() { - if (!Input.IsActionPressed(_shootActionName)) return; + if (!_inputProvider.GetShootPressed()) return; _weaponProvider.Shoot(this._facingDirection); } - public Vector2 GetInput() - { - return Input.GetVector("left", "right", "up", "down"); - } - - private Vector2 GetRightStickInput() - { - return new Vector2( - Input.GetAxis("aim_left", "aim_right"), - Input.GetAxis("aim_up", "aim_down") - ); - } }