diff --git a/game/player/Body.gd b/game/player/Body.gd index f906323..301cc3f 100644 --- a/game/player/Body.gd +++ b/game/player/Body.gd @@ -394,8 +394,9 @@ func on_c_controlled_changed(val): add_child(camera) camera.current = true - var uiscn : PackedScene = ResourceLoader.load("res://ui/player_ui/player_ui.tscn") - var ui = uiscn.instance() + #var uiscn : PackedScene = ResourceLoader.load("res://ui/player_ui/player_ui.tscn") + #var ui = uiscn.instance() + var ui = DataManager.request_instance(DataManager.PLAYER_UI_INSTANCE) add_child(ui) # set_process_input(true) diff --git a/game/project.godot b/game/project.godot index 312a02d..c8128a4 100644 --- a/game/project.godot +++ b/game/project.godot @@ -209,6 +209,8 @@ window/stretch/mode="2d" window/stretch/aspect="expand" mouse_cursor/sensitivity=0.9 window/size/viewport_scale=100 +window/size/ui_scale=1.2 +window/size/ui_scale_touch=1.0 [ess] diff --git a/game/ui/about/About.tscn b/game/ui/about/About.tscn index 35ac75e..32f6647 100644 --- a/game/ui/about/About.tscn +++ b/game/ui/about/About.tscn @@ -260,4 +260,5 @@ margin_top = 439.0 margin_right = 728.0 margin_bottom = 465.57 text = "Close" + [connection signal="pressed" from="PanelContainer/VBoxContainer/Close" to="." method="hide"] diff --git a/game/ui/actionbars/ActionBarEntry.gd b/game/ui/actionbars/ActionBarEntry.gd index acb8ef4..e3b10c2 100644 --- a/game/ui/actionbars/ActionBarEntry.gd +++ b/game/ui/actionbars/ActionBarEntry.gd @@ -53,6 +53,8 @@ func _ready() -> void: keybind_text = get_node(keybind_text_path) as Label button.connect("pressed", self, "_on_button_pressed") + + ProfileManager.connect("keybinds_changed", self, "on_keybinds_changed") func _exit_tree(): if icon_rect.texture != null: @@ -116,8 +118,29 @@ func set_button_entry(action_bar_button_entry: ActionBarButtonEntry, p_player: E if not InputMap.has_action(action_name): InputMap.add_action(action_name) + on_keybinds_changed() + + iea.action = action_name + iea.pressed = true + var sc : ShortCut = ShortCut.new() + sc.shortcut = iea + shortcut = sc + + setup_icon() + refresh_known() + +func on_keybinds_changed(): + var action_name : String = "actionbar_" + str(button_entry.action_bar_id) + "_" + str(button_entry.slot_id) + + keybind_text.text = "" + + if not InputMap.has_action(action_name): + return + var action_list : Array = InputMap.get_action_list(action_name) + keybind_text.text = "" + for action in action_list: if action is InputEventKey: var s : String = "" @@ -141,14 +164,6 @@ func set_button_entry(action_bar_button_entry: ActionBarButtonEntry, p_player: E keybind_text.text = s - iea.action = action_name - iea.pressed = true - var sc : ShortCut = ShortCut.new() - sc.shortcut = iea - shortcut = sc - - setup_icon() - func setup_icon() -> void: if (button_entry.type == ActionBarButtonEntry.ACTION_BAR_BUTTON_ENTRY_TYPE_NONE): if icon_rect.texture != null: @@ -276,6 +291,27 @@ func drop_data(pos, esd) -> void: setup_icon() + refresh_known() + +func refresh_known(): + if !player: + set_known(true) + return + + if (button_entry.type == ActionBarButtonEntry.ACTION_BAR_BUTTON_ENTRY_TYPE_NONE): + set_known(true) + elif (button_entry.type == ActionBarButtonEntry.ACTION_BAR_BUTTON_ENTRY_TYPE_SPELL): + var spell = ESS.resource_db.get_spell_path(button_entry.item_path) + + set_known(player.spell_hasc(spell)) + elif (button_entry.type == ActionBarButtonEntry.ACTION_BAR_BUTTON_ENTRY_TYPE_ITEM): + set_known(true) + +func set_known(val : bool): + if val: + icon_rect.modulate = Color(1, 1, 1, 1) + else: + icon_rect.modulate = Color(0.5, 0.5, 0.5, 1) func set_player(p_player: Entity) -> void: if not player == null: @@ -287,6 +323,9 @@ func set_player(p_player: Entity) -> void: player.disconnect("cgcd_started", self, "_cgcd_started") player.disconnect("cgcd_finished", self, "_cgcd_finished") + player.disconnect("cspell_added", self, "_cspell_added") + player.disconnect("cspell_removed", self, "_cspell_removed") + player = null player = p_player @@ -304,7 +343,17 @@ func set_player(p_player: Entity) -> void: player.connect("cgcd_started", self, "_cgcd_started") player.connect("cgcd_finished", self, "_cgcd_finished") + + player.connect("cspell_added", self, "_cspell_added") + player.connect("cspell_removed", self, "_cspell_removed") + +func _cspell_added(entity: Entity, spell: Spell): + if button_entry.type == ActionBarButtonEntry.ACTION_BAR_BUTTON_ENTRY_TYPE_SPELL && button_entry.item_path == spell.resource_path: + set_known(true) +func _cspell_removed(entity: Entity, spell: Spell): + if button_entry.type == ActionBarButtonEntry.ACTION_BAR_BUTTON_ENTRY_TYPE_SPELL && button_entry.item_path == spell.resource_path: + set_known(false) func _ccooldown_added(id : int, value : float) -> void: if id == spell_id: @@ -327,7 +376,7 @@ func _ccategory_cooldown_removed(id : int, value : float) -> void: categ_cd = 0 -func _cgcd_started(value :float) -> void: +func _cgcd_started(e : Entity, value :float) -> void: if not has_gcd: return @@ -335,5 +384,5 @@ func _cgcd_started(value :float) -> void: show_cooldown_timer(value) set_process(true) -func _cgcd_finished() -> void: +func _cgcd_finished(val) -> void: gcd = 0 diff --git a/game/ui/actionbars/Actionbars.gd b/game/ui/actionbars/Actionbars.gd index f7fc4c0..2e0c96d 100644 --- a/game/ui/actionbars/Actionbars.gd +++ b/game/ui/actionbars/Actionbars.gd @@ -50,8 +50,6 @@ func _centity_data_changed(cls: EntityData) -> void: _abp = _player.get_action_bar_profile() - _abp.connect("changed", self, "on_changed") - for i in range(_abp.get_action_bar_count()): var abe = _abp.get_action_bar(i) var s = actionbar_scene.instance() @@ -62,8 +60,6 @@ func _centity_data_changed(cls: EntityData) -> void: s.owner = self -func on_changed(): - ProfileManager.save() func clear_actionbars() -> void: var children = get_children() diff --git a/game/ui/actionbars/Actionbars.tscn b/game/ui/actionbars/Actionbars.tscn new file mode 100644 index 0000000..af3f2b7 --- /dev/null +++ b/game/ui/actionbars/Actionbars.tscn @@ -0,0 +1,18 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://ui/actionbars/Actionbars.gd" type="Script" id=1] +[ext_resource path="res://ui/actionbars/ActionBar.tscn" type="PackedScene" id=2] + +[node name="Actionbars" type="HBoxContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_constants/separation = 0 +alignment = 2 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} +actionbar_scene = ExtResource( 2 ) diff --git a/game/ui/actionbars/game_module.tres b/game/ui/actionbars/game_module.tres new file mode 100644 index 0000000..a301a86 --- /dev/null +++ b/game/ui/actionbars/game_module.tres @@ -0,0 +1,10 @@ +[gd_resource type="Resource" load_steps=3 format=2] + +[ext_resource path="res://scripts/game_modules/ui_gui_child_module.gd" type="Script" id=1] +[ext_resource path="res://ui/actionbars/Actionbars.tscn" type="PackedScene" id=2] + +[resource] +script = ExtResource( 1 ) +enabled = true +scene = ExtResource( 2 ) +hide = false diff --git a/game/ui/auraframe/AuraFrame.gd b/game/ui/auraframe/AuraFrame.gd index 55101f8..a0391f7 100644 --- a/game/ui/auraframe/AuraFrame.gd +++ b/game/ui/auraframe/AuraFrame.gd @@ -1,4 +1,4 @@ -extends MarginContainer +extends Control # Copyright (c) 2019-2020 Péter Magyar # diff --git a/game/ui/auraframe/AuraFrame.tscn b/game/ui/auraframe/AuraFrame.tscn index e7682d5..3290e0a 100644 --- a/game/ui/auraframe/AuraFrame.tscn +++ b/game/ui/auraframe/AuraFrame.tscn @@ -3,38 +3,41 @@ [ext_resource path="res://ui/auraframe/AuraFrame.gd" type="Script" id=1] [ext_resource path="res://ui/auraframe/AuraEntry.tscn" type="PackedScene" id=2] -[node name="AuraFrame" type="MarginContainer"] -anchor_left = 1.0 +[node name="AuraFrame" type="Control"] anchor_right = 1.0 -margin_left = -376.0 -margin_right = -1.0 -margin_bottom = 160.0 +anchor_bottom = 1.0 mouse_filter = 2 script = ExtResource( 1 ) __meta__ = { "_edit_use_anchors_": false } aura_entry_scene = ExtResource( 2 ) -buff_container_path = NodePath("VBoxContainer/Buffs") -debuff_container_path = NodePath("VBoxContainer/Debuffs") +buff_container_path = NodePath("MarginContainer/VBoxContainer/Buffs") +debuff_container_path = NodePath("MarginContainer/VBoxContainer/Debuffs") -[node name="VBoxContainer" type="VBoxContainer" parent="."] -margin_right = 375.0 -margin_bottom = 160.0 +[node name="MarginContainer" type="MarginContainer" parent="."] +anchor_left = 1.0 +anchor_right = 1.0 +margin_left = -335.0 +margin_bottom = 157.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"] +margin_right = 335.0 +margin_bottom = 157.0 mouse_filter = 2 -[node name="Buffs" type="GridContainer" parent="VBoxContainer"] -margin_right = 375.0 +[node name="Buffs" type="GridContainer" parent="MarginContainer/VBoxContainer"] +margin_right = 335.0 margin_bottom = 76.0 mouse_filter = 2 size_flags_horizontal = 3 size_flags_vertical = 3 columns = 9 -[node name="Debuffs" type="GridContainer" parent="VBoxContainer"] -margin_top = 84.0 -margin_right = 375.0 -margin_bottom = 160.0 +[node name="Debuffs" type="GridContainer" parent="MarginContainer/VBoxContainer"] +margin_top = 80.0 +margin_right = 335.0 +margin_bottom = 157.0 mouse_filter = 2 size_flags_horizontal = 3 size_flags_vertical = 3 diff --git a/game/ui/auraframe/game_module.tres b/game/ui/auraframe/game_module.tres new file mode 100644 index 0000000..bf19038 --- /dev/null +++ b/game/ui/auraframe/game_module.tres @@ -0,0 +1,10 @@ +[gd_resource type="Resource" load_steps=3 format=2] + +[ext_resource path="res://scripts/game_modules/ui_gui_child_module.gd" type="Script" id=1] +[ext_resource path="res://ui/auraframe/AuraFrame.tscn" type="PackedScene" id=2] + +[resource] +script = ExtResource( 1 ) +enabled = true +scene = ExtResource( 2 ) +hide = false diff --git a/game/ui/autoload/SettingsManager.gd b/game/ui/autoload/SettingsManager.gd index d0b8eaf..665f517 100644 --- a/game/ui/autoload/SettingsManager.gd +++ b/game/ui/autoload/SettingsManager.gd @@ -30,6 +30,9 @@ var loaded : bool = false var _config_file : ConfigFile = ConfigFile.new() var _settings : Dictionary = { "rendering" : { + "window_size" : OS.window_size, + "window_position" : OS.window_position, + "viewport_scale" : ProjectSettings.get("display/window/size/viewport_scale"), "thread_model" : ProjectSettings.get("rendering/threads/thread_model"), "borderless" : ProjectSettings.get("display/window/size/borderless"), @@ -41,6 +44,8 @@ var _settings : Dictionary = { }, "ui" : { "touchscreen_mode" : OS.has_touchscreen_ui_hint(), + "ui_scale" : ProjectSettings.get("display/window/size/ui_scale"), + "ui_scale_touch" : ProjectSettings.get("display/window/size/ui_scale_touch"), }, "debug" : { "debug_info" : false @@ -65,7 +70,30 @@ func _ready(): InputMap.action_erase_event(action, a) InputMap.action_add_event(action, nie) + set_stretch() + setup_window() + +func _exit_tree(): + if OS.window_fullscreen: + return + var wp : Vector2 = OS.window_position + var ws : Vector2 = OS.window_size + + var wpr = get_value("rendering", "window_position") + var wsr = get_value("rendering", "window_size") + + if int(wp.x) != int(wpr.x) || \ + int(wp.y) != int(wpr.y) || \ + int(ws.x) != int(wsr.x) || \ + int(ws.y) != int(wsr.y): + + #don't use set_value() here, as the app is quitting + _settings["rendering"]["window_size"] = ws + _settings["rendering"]["window_position"] = wp + + save_settings() + func set_value(section, key, value) -> void: _settings[section][key] = value @@ -117,6 +145,9 @@ func set_rendering_fullscreen(value : bool) -> void: ProjectSettings.set("display/window/size/fullscreen", value) OS.window_fullscreen = value + if !value: + setup_window() + func set_rendering_always_on_top(value : bool) -> void: ProjectSettings.set("display/window/size/always_on_top", value) OS.set_window_always_on_top(value) @@ -140,4 +171,57 @@ func set_rendering_vsync_via_compositor(value : bool) -> void: ProjectSettings.set("display/window/vsync/vsync_via_compositor", value) OS.vsync_via_compositor = value + +func set_ui_touchscreen_mode(value : bool) -> void: + set_stretch() + +func set_ui_ui_scale(value : float) -> void: + ProjectSettings.set("rendering/window/size/ui_scale", value) + set_stretch() +func set_ui_ui_scale_touch(value : float) -> void: + ProjectSettings.set("rendering/window/size/ui_scale_touch", value) + set_stretch() + +func set_stretch(): + if !loaded: + return + + var stretch_mode : String = ProjectSettings.get("display/window/stretch/mode") + var stretch_aspect : String = ProjectSettings.get("display/window/stretch/aspect") + var stretch_size : Vector2 = Vector2(ProjectSettings.get("display/window/size/width"), ProjectSettings.get("display/window/size/height")) + var stretch_shrink : float = ProjectSettings.get("display/window/stretch/shrink") + + var uiscale : float = 1 + + if !get_value("ui", "touchscreen_mode"): + uiscale = get_value("ui", "ui_scale") + else: + uiscale = get_value("ui", "ui_scale_touch") + + stretch_size *= uiscale + + var sml_sm = SceneTree.STRETCH_MODE_DISABLED; + if (stretch_mode == "2d"): + sml_sm = SceneTree.STRETCH_MODE_2D; + elif (stretch_mode == "viewport"): + sml_sm = SceneTree.STRETCH_MODE_VIEWPORT; + + var sml_aspect = SceneTree.STRETCH_ASPECT_IGNORE; + if (stretch_aspect == "keep"): + sml_aspect = SceneTree.STRETCH_ASPECT_KEEP; + elif (stretch_aspect == "keep_width"): + sml_aspect = SceneTree.STRETCH_ASPECT_KEEP_WIDTH; + elif (stretch_aspect == "keep_height"): + sml_aspect = SceneTree.STRETCH_ASPECT_KEEP_HEIGHT; + elif (stretch_aspect == "expand"): + sml_aspect = SceneTree.STRETCH_ASPECT_EXPAND; + + get_tree().set_screen_stretch(sml_sm, sml_aspect, stretch_size, stretch_shrink) + +func setup_window(): + if OS.window_fullscreen: + return + + OS.window_position = get_value("rendering", "window_position") + OS.window_size = get_value("rendering", "window_size") diff --git a/game/ui/bags/Bag.tscn b/game/ui/bags/Bag.tscn index 692b664..08de2b7 100644 --- a/game/ui/bags/Bag.tscn +++ b/game/ui/bags/Bag.tscn @@ -6,255 +6,260 @@ [ext_resource path="res://ui/bags/EquipmentSlot.tscn" type="PackedScene" id=4] [ext_resource path="res://ui/bags/ItemTooltip.tscn" type="PackedScene" id=5] -[node name="Inventory" type="PanelContainer"] +[node name="Inventory" type="Control"] anchor_right = 1.0 anchor_bottom = 1.0 +mouse_filter = 2 theme = ExtResource( 1 ) script = ExtResource( 2 ) __meta__ = { "_edit_use_anchors_": false } inventory_item_scene = ExtResource( 3 ) -inventory_item_container_path = NodePath("VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer/ScrollContainer/GridContainer") -item_tooltip_path = NodePath("TooltipContainer/ItemTooltip") -inventory_slots = [ NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer/Head"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2/Neck"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2/Shoulder"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3/Chest"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2/Hands"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4/Belt"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer5/Legs"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer5/Feet"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3/Ring1"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3/Ring2"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4/Trinket1"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4/Trinket2"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6/PanelContainer/HBoxContainer/MainHand"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6/PanelContainer/HBoxContainer/OffHand") ] +inventory_item_container_path = NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer/ScrollContainer/GridContainer") +item_tooltip_path = NodePath("ItemTooltip") +inventory_slots = [ NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer/Head"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2/Neck"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2/Shoulder"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3/Chest"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2/Hands"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4/Belt"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer5/Legs"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer5/Feet"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3/Ring1"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3/Ring2"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4/Trinket1"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4/Trinket2"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6/PanelContainer/HBoxContainer/MainHand"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6/PanelContainer/HBoxContainer/OffHand") ] -[node name="VBoxContainer" type="VBoxContainer" parent="."] +[node name="PanelContainer" type="PanelContainer" parent="."] +margin_left = 103.0 +margin_top = 37.0 +margin_right = 692.0 +margin_bottom = 527.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"] margin_left = 4.0 margin_top = 4.0 -margin_right = 1020.0 -margin_bottom = 596.0 +margin_right = 585.0 +margin_bottom = 486.0 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] -margin_right = 1016.0 +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer"] +margin_right = 581.0 margin_bottom = 26.0 -[node name="BagName" type="Label" parent="VBoxContainer/HBoxContainer"] +[node name="BagName" type="Label" parent="PanelContainer/VBoxContainer/HBoxContainer"] margin_top = 5.0 -margin_right = 982.0 +margin_right = 547.0 margin_bottom = 20.0 size_flags_horizontal = 3 size_flags_vertical = 6 text = "Inventory" align = 1 -[node name="CloseButton" type="Button" parent="VBoxContainer/HBoxContainer"] -margin_left = 986.0 -margin_right = 1016.0 -margin_bottom = 26.269 +[node name="CloseButton" type="Button" parent="PanelContainer/VBoxContainer/HBoxContainer"] +margin_left = 551.0 +margin_right = 581.0 +margin_bottom = 26.5702 rect_min_size = Vector2( 30, 20 ) text = "X" -[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer"] +[node name="HBoxContainer3" type="HBoxContainer" parent="PanelContainer/VBoxContainer"] margin_top = 34.0 -margin_right = 1016.0 -margin_bottom = 592.0 +margin_right = 581.0 +margin_bottom = 482.0 size_flags_horizontal = 3 size_flags_vertical = 3 alignment = 1 -[node name="PanelContainer" type="PanelContainer" parent="VBoxContainer/HBoxContainer3"] +[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3"] margin_right = 227.96 -margin_bottom = 558.0 +margin_bottom = 448.0 rect_min_size = Vector2( 227.96, 0 ) -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer"] +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer"] margin_left = 4.0 margin_top = 4.0 margin_right = 223.96 -margin_bottom = 554.0 +margin_bottom = 444.0 size_flags_horizontal = 3 size_flags_vertical = 3 custom_constants/separation = 10 alignment = 1 -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] -margin_top = 96.0 +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] +margin_top = 41.0 margin_right = 219.0 -margin_bottom = 146.0 +margin_bottom = 91.0 size_flags_horizontal = 3 alignment = 1 -[node name="Head" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer" instance=ExtResource( 4 )] +[node name="Head" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer" instance=ExtResource( 4 )] -[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] -margin_top = 156.0 +[node name="HBoxContainer2" type="HBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] +margin_top = 101.0 margin_right = 219.0 -margin_bottom = 206.0 +margin_bottom = 151.0 size_flags_horizontal = 3 alignment = 1 -[node name="Shoulder" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2" instance=ExtResource( 4 )] +[node name="Shoulder" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2" instance=ExtResource( 4 )] margin_left = 30.0 margin_right = 80.0 text = "sh" equip_slot = 2 -[node name="Neck" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2" instance=ExtResource( 4 )] +[node name="Neck" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2" instance=ExtResource( 4 )] text = "Neck" equip_slot = 1 -[node name="Hands" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2" instance=ExtResource( 4 )] +[node name="Hands" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2" instance=ExtResource( 4 )] margin_left = 138.0 margin_right = 188.0 text = "Hands" equip_slot = 4 -[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] -margin_top = 216.0 +[node name="HBoxContainer3" type="HBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] +margin_top = 161.0 margin_right = 219.0 -margin_bottom = 266.0 +margin_bottom = 211.0 size_flags_horizontal = 3 alignment = 1 -[node name="Ring1" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3" instance=ExtResource( 4 )] +[node name="Ring1" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3" instance=ExtResource( 4 )] margin_left = 30.0 margin_right = 80.0 text = "Ring" equip_slot = 8 texture_path = NodePath("../Ring1/MarginContainer/TextureRect") -[node name="Chest" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3" instance=ExtResource( 4 )] +[node name="Chest" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3" instance=ExtResource( 4 )] text = "Chest" equip_slot = 3 -[node name="Ring2" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3" instance=ExtResource( 4 )] +[node name="Ring2" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3" instance=ExtResource( 4 )] margin_left = 138.0 margin_right = 188.0 text = "Ring" equip_slot = 9 -[node name="HBoxContainer4" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] -margin_top = 276.0 +[node name="HBoxContainer4" type="HBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] +margin_top = 221.0 margin_right = 219.0 -margin_bottom = 326.0 +margin_bottom = 271.0 size_flags_horizontal = 3 alignment = 1 -[node name="Trinket1" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4" instance=ExtResource( 4 )] +[node name="Trinket1" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4" instance=ExtResource( 4 )] margin_left = 30.0 margin_right = 80.0 text = "Tr" equip_slot = 10 -[node name="Belt" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4" instance=ExtResource( 4 )] +[node name="Belt" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4" instance=ExtResource( 4 )] text = "Belt" equip_slot = 5 -[node name="Trinket2" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4" instance=ExtResource( 4 )] +[node name="Trinket2" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4" instance=ExtResource( 4 )] margin_left = 138.0 margin_right = 188.0 text = "Tr" equip_slot = 11 -[node name="HBoxContainer5" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] -margin_top = 336.0 +[node name="HBoxContainer5" type="HBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] +margin_top = 281.0 margin_right = 219.0 -margin_bottom = 386.0 +margin_bottom = 331.0 size_flags_horizontal = 3 alignment = 1 -[node name="Legs" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer5" instance=ExtResource( 4 )] +[node name="Legs" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer5" instance=ExtResource( 4 )] margin_left = 57.0 margin_right = 107.0 text = "Legs" equip_slot = 6 -[node name="Feet" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer5" instance=ExtResource( 4 )] +[node name="Feet" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer5" instance=ExtResource( 4 )] margin_left = 111.0 margin_right = 161.0 text = "Feet" equip_slot = 7 -[node name="HBoxContainer6" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] -margin_top = 396.0 +[node name="HBoxContainer6" type="HBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] +margin_top = 341.0 margin_right = 219.0 -margin_bottom = 454.0 +margin_bottom = 399.0 size_flags_horizontal = 3 alignment = 1 -[node name="PanelContainer" type="PanelContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6"] +[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6"] margin_left = 53.0 margin_right = 165.0 margin_bottom = 58.0 size_flags_horizontal = 0 size_flags_vertical = 0 -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6/PanelContainer"] +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6/PanelContainer"] margin_left = 4.0 margin_top = 4.0 margin_right = 108.0 margin_bottom = 54.0 -[node name="MainHand" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6/PanelContainer/HBoxContainer" instance=ExtResource( 4 )] +[node name="MainHand" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6/PanelContainer/HBoxContainer" instance=ExtResource( 4 )] margin_left = 0.0 margin_right = 50.0 text = "MH" equip_slot = 12 -[node name="OffHand" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6/PanelContainer/HBoxContainer" instance=ExtResource( 4 )] +[node name="OffHand" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6/PanelContainer/HBoxContainer" instance=ExtResource( 4 )] margin_left = 54.0 margin_right = 104.0 text = "OH" equip_slot = 13 -texture_path = NodePath("../OffHand/MarginContainer/TextureRect") -[node name="PanelContainer2" type="PanelContainer" parent="VBoxContainer/HBoxContainer3"] +[node name="PanelContainer2" type="PanelContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3"] margin_left = 231.0 -margin_right = 1016.0 -margin_bottom = 558.0 +margin_right = 581.0 +margin_bottom = 448.0 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer2"] +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer2"] margin_left = 4.0 margin_top = 4.0 -margin_right = 781.0 -margin_bottom = 554.0 +margin_right = 346.0 +margin_bottom = 444.0 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer"] -margin_right = 777.0 -margin_bottom = 516.0 +[node name="ScrollContainer" type="ScrollContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer"] +margin_right = 342.0 +margin_bottom = 406.0 size_flags_horizontal = 3 size_flags_vertical = 3 scroll_horizontal_enabled = false -[node name="GridContainer" type="GridContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer/ScrollContainer"] +[node name="GridContainer" type="GridContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer/ScrollContainer"] size_flags_horizontal = 2 size_flags_vertical = 2 custom_constants/vseparation = 5 custom_constants/hseparation = 5 columns = 6 -[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer"] -margin_top = 524.0 -margin_right = 777.0 -margin_bottom = 550.0 +[node name="HBoxContainer2" type="HBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer"] +margin_top = 414.0 +margin_right = 342.0 +margin_bottom = 440.0 -[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer/HBoxContainer2"] +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer/HBoxContainer2"] margin_top = 5.0 -margin_right = 743.0 +margin_right = 308.0 margin_bottom = 20.0 size_flags_horizontal = 3 text = "190 " align = 2 -[node name="ResizeButton" type="Button" parent="VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer/HBoxContainer2"] -margin_left = 747.0 -margin_right = 777.0 -margin_bottom = 26.269 +[node name="ResizeButton" type="Button" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer/HBoxContainer2"] +margin_left = 312.0 +margin_right = 342.0 +margin_bottom = 26.5702 rect_min_size = Vector2( 30, 20 ) -[node name="TooltipContainer" type="Control" parent="."] +[node name="ItemTooltip" parent="." instance=ExtResource( 5 )] +toplevel = false margin_left = 4.0 margin_top = 4.0 -margin_right = 1020.0 -margin_bottom = 596.0 -mouse_filter = 2 +margin_right = 299.0 +margin_bottom = 227.0 -[node name="ItemTooltip" parent="TooltipContainer" instance=ExtResource( 5 )] -[connection signal="pressed" from="VBoxContainer/HBoxContainer/CloseButton" to="." method="hide"] +[connection signal="pressed" from="PanelContainer/VBoxContainer/HBoxContainer/CloseButton" to="." method="hide"] diff --git a/game/ui/bags/BagEntry.gd b/game/ui/bags/BagEntry.gd index 7179fe6..e502bbe 100644 --- a/game/ui/bags/BagEntry.gd +++ b/game/ui/bags/BagEntry.gd @@ -190,7 +190,7 @@ func drop_data(pos, esd) -> void: player.item_crequest_swap(slot_id, esd.get_meta("slot_id")) setup_icon() elif esd.type == ESDragAndDrop.ES_DRAG_AND_DROP_TYPE_EQUIPPED_ITEM: - player.equip_crequest(ESS.resource_db.get_item_template_path(esd.item_path).id, slot_id) + player.equip_crequest(ESS.resource_db.get_item_template_path(esd.item_path).equip_slot, slot_id) setup_icon() func set_slot_id(pslot_id : int) -> void: @@ -231,7 +231,7 @@ func _ccooldown_removed(id : int, value : float) -> void: if id == spell_id: cd = 0 -func _cgcd_started(value :float) -> void: +func _cgcd_started(entity: Entity, value :float) -> void: if not has_gcd: return @@ -239,7 +239,7 @@ func _cgcd_started(value :float) -> void: show_cooldown_timer(value) set_process(true) -func _cgcd_finished() -> void: +func _cgcd_finished(entity) -> void: gcd = 0 func _on_button_pressed() -> void: diff --git a/game/ui/windows/base/BaseWindow.tscn b/game/ui/bags/BaseWindow.tscn similarity index 100% rename from game/ui/windows/base/BaseWindow.tscn rename to game/ui/bags/BaseWindow.tscn diff --git a/game/ui/bags/EquipmentSlot.gd b/game/ui/bags/EquipmentSlot.gd index c360fd7..3112fa0 100644 --- a/game/ui/bags/EquipmentSlot.gd +++ b/game/ui/bags/EquipmentSlot.gd @@ -50,6 +50,8 @@ func set_player(player: Entity) -> void: _player.connect("equip_con_success", self, "equip_con_success") + equip_con_success(player, equip_slot, player.equip_getc_slot(equip_slot), null, 0) + func drop_data(position, data): if _player == null: return @@ -98,7 +100,7 @@ func equip_con_success(entity: Entity, pequip_slot: int, item: ItemInstance, old return _item_instance = item - + if item == null: _texture.texture = null return diff --git a/game/ui/bags/InventoryGUI.gd b/game/ui/bags/InventoryGUI.gd index cd0ab23..9d2df43 100644 --- a/game/ui/bags/InventoryGUI.gd +++ b/game/ui/bags/InventoryGUI.gd @@ -1,4 +1,4 @@ -extends PanelContainer +extends Control # Copyright (c) 2019-2020 Péter Magyar # @@ -20,6 +20,8 @@ extends PanelContainer # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +var opener_button : BaseButton + export(PackedScene) var inventory_item_scene : PackedScene export(NodePath) var inventory_item_container_path : NodePath export(NodePath) var item_tooltip_path : NodePath @@ -46,6 +48,7 @@ func _ready() -> void: func set_player(p_player: Entity) -> void: if _player != null: _player.disconnect("cbag_changed", self, "cbag_changed") + _player.disconnect("equip_con_success", self, "equip_con_success") for ie in _inventory_item_container.get_children(): ie.queue_free() @@ -53,6 +56,7 @@ func set_player(p_player: Entity) -> void: _player = p_player _player.connect("cbag_changed", self, "cbag_changed") + _player.connect("equip_con_success", self, "equip_con_success") cbag_changed(_player, _player.cbag) @@ -121,13 +125,25 @@ func item_removed(bag: Bag, item: ItemInstance, slot_id: int) -> void: func item_swapped(bag: Bag, item1_slot : int, item2_slot: int) -> void: refresh_bags() - -func on_visibility_changed() -> void: + +func equip_con_success(entity, equip_slot, item, old_item, bag_slot) -> void: refresh_bags() +func on_visibility_changed(): + refresh_bags() + + if opener_button: + if visible && !opener_button.pressed: + opener_button.pressed = true + return + + if !visible && opener_button.pressed: + opener_button.pressed = false -func _on_BagButton_toggled(button_pressed): +func _on_button_toggled(button_pressed): if button_pressed: - show() + if !visible: + show() else: - hide() + if visible: + hide() diff --git a/game/ui/windows/InventoryWindow.tscn b/game/ui/bags/InventoryWindow.tscn similarity index 96% rename from game/ui/windows/InventoryWindow.tscn rename to game/ui/bags/InventoryWindow.tscn index 69e3f87..7b090e4 100644 --- a/game/ui/windows/InventoryWindow.tscn +++ b/game/ui/bags/InventoryWindow.tscn @@ -1,7 +1,9 @@ [gd_scene load_steps=3 format=2] -[ext_resource path="res://ui/windows/inventory/ItemEntry.tscn" type="PackedScene" id=1] -[ext_resource path="res://ui/windows/base/BaseWindow.tscn" type="PackedScene" id=2] +[ext_resource path="res://ui/bags/ItemEntry.tscn" type="PackedScene" id=1] +[ext_resource path="res://ui/bags/BaseWindow.tscn" type="PackedScene" id=2] + + [node name="InventoryWindow" type="Control"] margin_right = 888.0 diff --git a/game/ui/windows/inventory/ItemEntry.tscn b/game/ui/bags/ItemEntry.tscn similarity index 100% rename from game/ui/windows/inventory/ItemEntry.tscn rename to game/ui/bags/ItemEntry.tscn diff --git a/game/ui/bags/game_module.tres b/game/ui/bags/game_module.tres new file mode 100644 index 0000000..3c5777c --- /dev/null +++ b/game/ui/bags/game_module.tres @@ -0,0 +1,13 @@ +[gd_resource type="Resource" load_steps=4 format=2] + +[ext_resource path="res://ui/theme/bag_icon.tres" type="Texture" id=1] +[ext_resource path="res://scripts/game_modules/ui_window_module.gd" type="Script" id=2] +[ext_resource path="res://ui/bags/Bag.tscn" type="PackedScene" id=3] + +[resource] +script = ExtResource( 2 ) +enabled = true +scene = ExtResource( 3 ) +opener_button_texture = ExtResource( 1 ) +index = 3 +add_button = true diff --git a/game/ui/buttons/Buttons.gd b/game/ui/buttons/Buttons.gd index ca211ce..f69ae56 100644 --- a/game/ui/buttons/Buttons.gd +++ b/game/ui/buttons/Buttons.gd @@ -20,6 +20,8 @@ extends Control # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +export (PackedScene) var image_button : PackedScene + export (NodePath) var spell_book_path export (NodePath) var spell_book_button_path var spell_book @@ -34,6 +36,26 @@ func _ready(): lock_button = get_node(lock_button_path) lock_button.connect("pressed", self, "_lock_button_click") +func add_image_button(texture : Texture, index : int = -1) -> Button: + var button : Button = image_button.instance() as Button + + button.set_meta("button_index", index) + + button.get_child(0).texture = texture + + add_child(button) + + for ch in get_children(): + var button_index : int = get_child_count() + + if ch.has_meta("button_index"): + button_index = ch.get_meta("button_index") + + if button_index != -1: + move_child(ch, button_index) + + return button + func set_player(p_player): player = p_player diff --git a/game/ui/buttons/ImageButton.tscn b/game/ui/buttons/ImageButton.tscn new file mode 100644 index 0000000..30a2305 --- /dev/null +++ b/game/ui/buttons/ImageButton.tscn @@ -0,0 +1,26 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://ui/theme/character_icon.tres" type="Texture" id=1] + +[node name="ImageButton" type="Button"] +margin_right = 25.0 +margin_bottom = 40.0 +rect_min_size = Vector2( 25, 30 ) +hint_tooltip = "Inventory" +focus_mode = 0 +toggle_mode = true +enabled_focus_mode = 0 +keep_pressed_outside = true +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextureRect" type="TextureRect" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +texture = ExtResource( 1 ) +expand = true +stretch_mode = 6 +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/game/ui/castbar/game_module.tres b/game/ui/castbar/game_module.tres new file mode 100644 index 0000000..2d4c9e7 --- /dev/null +++ b/game/ui/castbar/game_module.tres @@ -0,0 +1,10 @@ +[gd_resource type="Resource" load_steps=3 format=2] + +[ext_resource path="res://scripts/game_modules/ui_gui_child_module.gd" type="Script" id=1] +[ext_resource path="res://ui/castbar/Castbar.tscn" type="PackedScene" id=2] + +[resource] +script = ExtResource( 1 ) +enabled = true +scene = ExtResource( 2 ) +hide = true diff --git a/game/ui/character/CharacterWindow.gd b/game/ui/character/CharacterWindow.gd new file mode 100644 index 0000000..b6f6d9d --- /dev/null +++ b/game/ui/character/CharacterWindow.gd @@ -0,0 +1,33 @@ +extends Control + +#export(NodePath) var opener_button_path : NodePath +var opener_button : BaseButton + +export(NodePath) var container_path : NodePath +var container : Node + +var _player : Entity + +func _ready(): +# opener_button = get_node_or_null(opener_button_path) as BaseButton + container = get_node(container_path) + +func set_player(p_player: Entity) -> void: + _player = p_player + + for c in container.get_children(): + if c.has_method("set_player"): + c.set_player(_player) + +func _on_button_toggled(button_pressed): + if button_pressed: + show() + else: + hide() + + +func _on_Button_pressed(): + if opener_button: + opener_button.pressed = false + + hide() diff --git a/game/ui/character/CharacterWindow.tscn b/game/ui/character/CharacterWindow.tscn new file mode 100644 index 0000000..25abd6d --- /dev/null +++ b/game/ui/character/CharacterWindow.tscn @@ -0,0 +1,385 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] +[ext_resource path="res://ui/character/CharacterWindow.gd" type="Script" id=2] +[ext_resource path="res://ui/character/SingleStatRow.tscn" type="PackedScene" id=3] + +[node name="CharacterWindow" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +theme = ExtResource( 1 ) +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} +container_path = NodePath("Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer") + +[node name="Panel" type="PanelContainer" parent="."] +margin_left = 52.0 +margin_top = 54.0 +margin_right = 288.0 +margin_bottom = 421.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="Panel"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 232.0 +margin_bottom = 363.0 + +[node name="HBoxContainer" type="HBoxContainer" parent="Panel/VBoxContainer"] +margin_right = 228.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 0, 30 ) + +[node name="Label" type="Label" parent="Panel/VBoxContainer/HBoxContainer"] +margin_top = 7.0 +margin_right = 194.0 +margin_bottom = 22.0 +size_flags_horizontal = 3 +text = "Character" + +[node name="Button" type="Button" parent="Panel/VBoxContainer/HBoxContainer"] +margin_left = 198.0 +margin_right = 228.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 30, 30 ) +text = "X" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBoxContainer2" type="HBoxContainer" parent="Panel/VBoxContainer"] +margin_top = 38.0 +margin_right = 228.0 +margin_bottom = 359.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="ScrollContainer" type="ScrollContainer" parent="Panel/VBoxContainer/HBoxContainer2"] +margin_right = 228.0 +margin_bottom = 321.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="MarginContainer" type="MarginContainer" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer"] +margin_right = 218.0 +margin_bottom = 1066.0 +size_flags_horizontal = 3 +custom_constants/margin_right = 8 +custom_constants/margin_left = 6 + +[node name="VBoxContainer" type="VBoxContainer" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer"] +margin_left = 6.0 +margin_right = 210.0 +margin_bottom = 1066.0 +size_flags_horizontal = 3 + +[node name="Agility" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_right = 204.0 +stat_name = "Agility" + +[node name="Strength" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 23.0 +margin_right = 204.0 +margin_bottom = 38.0 +stat_name = "Strength" + +[node name="Stamina" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 46.0 +margin_right = 204.0 +margin_bottom = 61.0 +stat_name = "Stamina" + +[node name="Intellect" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 69.0 +margin_right = 204.0 +margin_bottom = 84.0 +stat_name = "Intellect" + +[node name="Spirit" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 92.0 +margin_right = 204.0 +margin_bottom = 107.0 +stat_name = "Spirit" + +[node name="Separator" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"] +margin_top = 115.0 +margin_right = 204.0 +margin_bottom = 119.0 +rect_min_size = Vector2( 0, 4 ) + +[node name="Health" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 127.0 +margin_right = 204.0 +margin_bottom = 142.0 +stat_name = "Health" + +[node name="Mana" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 150.0 +margin_right = 204.0 +margin_bottom = 165.0 +stat_name = "Mana" + +[node name="Speed" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 173.0 +margin_right = 204.0 +margin_bottom = 188.0 +stat_name = "Speed" + +[node name="Haste" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 196.0 +margin_right = 204.0 +margin_bottom = 211.0 +stat_name = "Haste" + +[node name="HasteRating" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 219.0 +margin_right = 204.0 +margin_bottom = 234.0 +stat_name = "Haste Rating" + +[node name="Separator2" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"] +margin_top = 242.0 +margin_right = 204.0 +margin_bottom = 246.0 +rect_min_size = Vector2( 0, 4 ) + +[node name="Resilience" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 254.0 +margin_right = 204.0 +margin_bottom = 269.0 +stat_name = "Resilience" + +[node name="Armor" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 277.0 +margin_right = 204.0 +margin_bottom = 292.0 +stat_name = "Armor" + +[node name="Separator4" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"] +margin_top = 300.0 +margin_right = 204.0 +margin_bottom = 304.0 +rect_min_size = Vector2( 0, 4 ) + +[node name="AttackPower" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 312.0 +margin_right = 204.0 +margin_bottom = 327.0 +stat_name = "Attack Power" + +[node name="SpellPower" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 335.0 +margin_right = 204.0 +margin_bottom = 350.0 +stat_name = "Spell Power" + +[node name="MeleeCrit" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 358.0 +margin_right = 204.0 +margin_bottom = 373.0 +stat_name = "Melee Crit" + +[node name="MeleeCritBonus" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 381.0 +margin_right = 204.0 +margin_bottom = 396.0 +stat_name = "Melee Crit Bonus" + +[node name="SpellCrit" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 404.0 +margin_right = 204.0 +margin_bottom = 419.0 +stat_name = "Spell Crit" + +[node name="SpellCritBonus" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 427.0 +margin_right = 204.0 +margin_bottom = 442.0 +stat_name = "Spell Crit Bonus" + +[node name="Separator3" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"] +margin_top = 450.0 +margin_right = 204.0 +margin_bottom = 454.0 +rect_min_size = Vector2( 0, 4 ) + +[node name="Block" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 462.0 +margin_right = 204.0 +margin_bottom = 477.0 +stat_name = "Block" + +[node name="Parry" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 485.0 +margin_right = 204.0 +margin_bottom = 500.0 +stat_name = "Parry" + +[node name="DamageReduction" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 508.0 +margin_right = 204.0 +margin_bottom = 523.0 +stat_name = "Damage Reduction" + +[node name="MeleeDamageReduction" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 531.0 +margin_right = 204.0 +margin_bottom = 546.0 +stat_name = "Melee Damage Reduction" + +[node name="SpellDamageReduction" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 554.0 +margin_right = 204.0 +margin_bottom = 569.0 +stat_name = "Spell Damage Reduction" + +[node name="Separator5" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"] +margin_top = 577.0 +margin_right = 204.0 +margin_bottom = 581.0 +rect_min_size = Vector2( 0, 4 ) + +[node name="DamageTaken" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 589.0 +margin_right = 204.0 +margin_bottom = 604.0 +stat_name = "Damage Taken" + +[node name="HealTaken" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 612.0 +margin_right = 204.0 +margin_bottom = 627.0 +stat_name = "Heal Taken" + +[node name="Separator6" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"] +margin_top = 635.0 +margin_right = 204.0 +margin_bottom = 639.0 +rect_min_size = Vector2( 0, 4 ) + +[node name="MeleeDamage" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 647.0 +margin_right = 204.0 +margin_bottom = 662.0 +stat_name = "Melee Damage" + +[node name="SpellDamage" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 670.0 +margin_right = 204.0 +margin_bottom = 685.0 +stat_name = "Spell Damage" + +[node name="Separator7" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"] +margin_top = 693.0 +margin_right = 204.0 +margin_bottom = 697.0 +rect_min_size = Vector2( 0, 4 ) + +[node name="HolyResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 705.0 +margin_right = 204.0 +margin_bottom = 720.0 +stat_name = "Holy Resist" + +[node name="ShadowResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 728.0 +margin_right = 204.0 +margin_bottom = 743.0 +stat_name = "Shadow Resist" + +[node name="NatureResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 751.0 +margin_right = 204.0 +margin_bottom = 766.0 +stat_name = "Nature Resist" + +[node name="FireResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 774.0 +margin_right = 204.0 +margin_bottom = 789.0 +stat_name = "Fire Resist" + +[node name="FrostResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 797.0 +margin_right = 204.0 +margin_bottom = 812.0 +stat_name = "Frost Resist" + +[node name="LightningResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 820.0 +margin_right = 204.0 +margin_bottom = 835.0 +stat_name = "Lightning Resist" + +[node name="ChaosResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 843.0 +margin_right = 204.0 +margin_bottom = 858.0 +stat_name = "Chaos Resist" + +[node name="SilenceResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 866.0 +margin_right = 204.0 +margin_bottom = 881.0 +stat_name = "Silence Resist" + +[node name="FearResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 889.0 +margin_right = 204.0 +margin_bottom = 904.0 +stat_name = "Fear Resist" + +[node name="StunResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 912.0 +margin_right = 204.0 +margin_bottom = 927.0 +stat_name = "Stun Resist" + +[node name="Separator8" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"] +margin_top = 935.0 +margin_right = 204.0 +margin_bottom = 939.0 +rect_min_size = Vector2( 0, 4 ) + +[node name="Energy" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 947.0 +margin_right = 204.0 +margin_bottom = 962.0 +stat_name = "Energy" + +[node name="Rage" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 970.0 +margin_right = 204.0 +margin_bottom = 985.0 +stat_name = "Rage" + +[node name="XPRate" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 993.0 +margin_right = 204.0 +margin_bottom = 1008.0 +stat_name = "XP Rate" + +[node name="Separator9" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"] +margin_top = 1016.0 +margin_right = 204.0 +margin_bottom = 1020.0 +rect_min_size = Vector2( 0, 4 ) + +[node name="WeaponDamageMin" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 1028.0 +margin_right = 204.0 +margin_bottom = 1043.0 +stat_name = "Weapon Damage Min" + +[node name="WeaponDamageMax" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 1051.0 +margin_right = 204.0 +margin_bottom = 1066.0 +stat_name = "Weapon Damage Max" + +[connection signal="pressed" from="Panel/VBoxContainer/HBoxContainer/Button" to="." method="_on_Button_pressed"] diff --git a/game/ui/character/SingleStatRow.gd b/game/ui/character/SingleStatRow.gd new file mode 100644 index 0000000..053938d --- /dev/null +++ b/game/ui/character/SingleStatRow.gd @@ -0,0 +1,38 @@ +extends HBoxContainer + +export(String) var stat_name : String +var stat_id : int + +onready var stat_name_label : Label = $StatName as Label +onready var stat_value_label : Label = $Stat as Label + +var _player : Entity + +func _ready(): + stat_id = ESS.stat_get_id(stat_name) + + stat_name_label.text = stat_name + + connect("visibility_changed", self, "on_visibility_changed") + +func on_visibility_changed(): + if _player: + stat_value_label.text = str(_player.stat_getc_current(stat_id)) + " " + else: + stat_value_label.text = str(0) + " " + +func set_player(p_player: Entity) -> void: + _player = p_player + + on_visibility_changed() + +""" +Agility,Strength,Stamina,Intellect,Spirit, +Health,Mana,Speed,Global Cooldown,Haste,Haste Rating, +Resilience,Armor,Attack Power,Spell Power,Melee Crit, +Melee Crit Bonus,Spell Crit,Spell Crit Bonus,Block,Parry,Damage Reduction, +Melee Damage Reduction,Spell Damage Reduction,Damage Taken,Heal Taken, +Melee Damage,Spell Damage,Holy Resist,Shadow Resist,Nature Resist, +Fire Resist,Frost Resist,Lightning Resist,Chaos Resist,Silence Resist,Fear Resist, +Stun Resist,Energy,Rage,XP Rate,Weapon Damage Min,Weapon Damage Max +""" diff --git a/game/ui/character/SingleStatRow.tscn b/game/ui/character/SingleStatRow.tscn new file mode 100644 index 0000000..af3ffed --- /dev/null +++ b/game/ui/character/SingleStatRow.tscn @@ -0,0 +1,27 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://ui/character/SingleStatRow.gd" type="Script" id=1] + +[node name="SingleStatRow" type="HBoxContainer"] +margin_right = 1016.0 +margin_bottom = 15.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="StatName" type="Label" parent="."] +margin_right = 506.0 +margin_bottom = 14.0 +size_flags_horizontal = 3 +size_flags_vertical = 6 +valign = 1 + +[node name="Stat" type="Label" parent="."] +margin_left = 510.0 +margin_right = 1016.0 +margin_bottom = 14.0 +size_flags_horizontal = 3 +size_flags_vertical = 6 +align = 2 +valign = 1 diff --git a/game/ui/character/game_module.tres b/game/ui/character/game_module.tres new file mode 100644 index 0000000..3efffa8 --- /dev/null +++ b/game/ui/character/game_module.tres @@ -0,0 +1,13 @@ +[gd_resource type="Resource" load_steps=4 format=2] + +[ext_resource path="res://scripts/game_modules/ui_window_module.gd" type="Script" id=1] +[ext_resource path="res://ui/character/CharacterWindow.tscn" type="PackedScene" id=2] +[ext_resource path="res://ui/theme/character_icon.tres" type="Texture" id=3] + +[resource] +script = ExtResource( 1 ) +enabled = true +scene = ExtResource( 2 ) +opener_button_texture = ExtResource( 3 ) +index = 0 +add_button = true diff --git a/game/ui/windows/CraftItemDescription.gd b/game/ui/crafting/CraftItemDescription.gd similarity index 100% rename from game/ui/windows/CraftItemDescription.gd rename to game/ui/crafting/CraftItemDescription.gd diff --git a/game/ui/windows/CraftingWindow.gd b/game/ui/crafting/CraftingWindow.gd similarity index 91% rename from game/ui/windows/CraftingWindow.gd rename to game/ui/crafting/CraftingWindow.gd index c9e4e04..0080c41 100644 --- a/game/ui/windows/CraftingWindow.gd +++ b/game/ui/crafting/CraftingWindow.gd @@ -1,4 +1,4 @@ -extends PanelContainer +extends Control # Copyright (c) 2019-2020 Péter Magyar # @@ -20,6 +20,8 @@ extends PanelContainer # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +var opener_button : BaseButton + export(PackedScene) var item_entry_scene : PackedScene export(PackedScene) var recipe_selector_scene : PackedScene @@ -48,6 +50,8 @@ var _materials_container_main_on : Node var _materials_container_main_off : Node func _ready(): + connect("visibility_changed", self, "on_visibility_changed") + _item_container = get_node(item_container_path) _tools_container = get_node(tools_container_path) _materials_container = get_node(materials_container_path) @@ -140,8 +144,19 @@ func select_recipe(recipe : CraftRecipe) -> void: ie.set_item(_player, ih) -func _on_CraftingButton_toggled(button_pressed): +func on_visibility_changed(): + if opener_button: + if visible && !opener_button.pressed: + opener_button.pressed = true + return + + if !visible && opener_button.pressed: + opener_button.pressed = false + +func _on_button_toggled(button_pressed): if button_pressed: - show() + if !visible: + show() else: - hide() + if visible: + hide() diff --git a/game/ui/crafting/CraftingWindow.tscn b/game/ui/crafting/CraftingWindow.tscn new file mode 100644 index 0000000..e8d411b --- /dev/null +++ b/game/ui/crafting/CraftingWindow.tscn @@ -0,0 +1,319 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] +[ext_resource path="res://ui/crafting/CraftingWindow.gd" type="Script" id=2] +[ext_resource path="res://ui/crafting/RecipeSelector.tscn" type="PackedScene" id=3] +[ext_resource path="res://ui/crafting/ItemEntry.tscn" type="PackedScene" id=4] +[ext_resource path="res://ui/crafting/CraftItemDescription.gd" type="Script" id=5] + +[sub_resource type="ButtonGroup" id=1] + +[node name="CraftingWindow" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +theme = ExtResource( 1 ) +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} +item_entry_scene = ExtResource( 4 ) +recipe_selector_scene = ExtResource( 3 ) +item_container_path = NodePath("PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription") +tools_container_path = NodePath("PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/ToolsContainer") +materials_container_path = NodePath("PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/MaterialContainer") +recipe_selector_container_path = NodePath("PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2/Recipes/VBoxContainer") +recipe_selector_main_on = NodePath("PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2/Recipes") +recipe_selector_main_off = NodePath("PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2/CenterContainer2") +materials_container_main_on = NodePath("PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry") +materials_container_main_off = NodePath("PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CenterContainer") + +[node name="PanelContainer" type="PanelContainer" parent="."] +margin_left = 43.0 +margin_top = 36.0 +margin_right = 995.0 +margin_bottom = 577.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 948.0 +margin_bottom = 537.0 + +[node name="Header" type="HBoxContainer" parent="PanelContainer/VBoxContainer"] +margin_right = 944.0 +margin_bottom = 30.0 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/Header"] +margin_top = 7.0 +margin_right = 900.0 +margin_bottom = 22.0 +size_flags_horizontal = 3 +text = "Crafting" + +[node name="Button" type="Button" parent="PanelContainer/VBoxContainer/Header"] +margin_left = 904.0 +margin_right = 944.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 40, 30 ) +text = "X" + +[node name="Categories" type="HBoxContainer" parent="PanelContainer/VBoxContainer"] +margin_top = 38.0 +margin_right = 944.0 +margin_bottom = 64.0 + +[node name="HBoxContainer2" type="HBoxContainer" parent="PanelContainer/VBoxContainer/Categories"] +margin_right = 944.0 +margin_bottom = 26.0 +rect_min_size = Vector2( 0, 20 ) +size_flags_horizontal = 3 +size_flags_vertical = 3 +alignment = 1 + +[node name="Alchemy" type="Button" parent="PanelContainer/VBoxContainer/Categories/HBoxContainer2"] +margin_left = 162.0 +margin_right = 262.0 +margin_bottom = 26.5702 +rect_min_size = Vector2( 100, 0 ) +toggle_mode = true +pressed = true +group = SubResource( 1 ) +text = "Alchemy" + +[node name="Smithing" type="Button" parent="PanelContainer/VBoxContainer/Categories/HBoxContainer2"] +margin_left = 266.0 +margin_right = 366.0 +margin_bottom = 26.5702 +rect_min_size = Vector2( 100, 0 ) +toggle_mode = true +group = SubResource( 1 ) +text = "Smithing" + +[node name="Enchanting" type="Button" parent="PanelContainer/VBoxContainer/Categories/HBoxContainer2"] +margin_left = 370.0 +margin_right = 470.0 +margin_bottom = 26.5702 +rect_min_size = Vector2( 100, 0 ) +toggle_mode = true +group = SubResource( 1 ) +text = "Enchantig" + +[node name="Engineering" type="Button" parent="PanelContainer/VBoxContainer/Categories/HBoxContainer2"] +margin_left = 474.0 +margin_right = 574.0 +margin_bottom = 26.5702 +rect_min_size = Vector2( 100, 0 ) +toggle_mode = true +group = SubResource( 1 ) +text = "Engineering" + +[node name="Tailoring" type="Button" parent="PanelContainer/VBoxContainer/Categories/HBoxContainer2"] +margin_left = 578.0 +margin_right = 678.0 +margin_bottom = 26.5702 +rect_min_size = Vector2( 100, 0 ) +toggle_mode = true +group = SubResource( 1 ) +text = "Tailoring" + +[node name="Other" type="Button" parent="PanelContainer/VBoxContainer/Categories/HBoxContainer2"] +margin_left = 682.0 +margin_right = 782.0 +margin_bottom = 26.5702 +rect_min_size = Vector2( 100, 0 ) +toggle_mode = true +group = SubResource( 1 ) +text = "Other" + +[node name="VBoxContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer"] +margin_top = 72.0 +margin_right = 944.0 +margin_bottom = 533.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/VBoxContainer"] +margin_right = 944.0 +margin_bottom = 461.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer"] +margin_right = 626.0 +margin_bottom = 461.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="CraftEntry" type="VBoxContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer"] +visible = false +margin_left = 4.0 +margin_top = 4.0 +margin_right = 718.0 +margin_bottom = 516.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +size_flags_stretch_ratio = 0.6 +custom_constants/separation = 10 + +[node name="ScrollContainer" type="ScrollContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry"] +margin_right = 714.0 +margin_bottom = 472.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +scroll_horizontal_enabled = false + +[node name="VBoxContainer2" type="VBoxContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer"] +margin_right = 714.0 +margin_bottom = 122.0 +size_flags_horizontal = 3 + +[node name="CraftItemDescription" type="HBoxContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2"] +margin_right = 714.0 +margin_bottom = 60.0 +alignment = 1 +script = ExtResource( 5 ) +icon_path = NodePath("VBoxContainer/PanelContainer/TextureRect") +name_label_path = NodePath("PanelContainer2/VBoxContainer/Label") +description_label_path = NodePath("PanelContainer2/VBoxContainer/RichTextLabel") + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription"] +margin_left = 175.0 +margin_right = 235.0 +margin_bottom = 60.0 + +[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription/VBoxContainer"] +margin_right = 60.0 +margin_bottom = 60.0 +rect_min_size = Vector2( 60, 60 ) + +[node name="TextureRect" type="TextureRect" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription/VBoxContainer/PanelContainer"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 56.0 +margin_bottom = 56.0 +expand = true + +[node name="PanelContainer2" type="PanelContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription"] +margin_left = 239.0 +margin_right = 539.0 +margin_bottom = 60.0 +rect_min_size = Vector2( 300, 0 ) + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription/PanelContainer2"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 296.0 +margin_bottom = 56.0 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription/PanelContainer2/VBoxContainer"] +margin_right = 292.0 +margin_bottom = 15.0 + +[node name="RichTextLabel" type="RichTextLabel" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription/PanelContainer2/VBoxContainer"] +margin_top = 23.0 +margin_right = 292.0 +margin_bottom = 52.0 +size_flags_vertical = 3 +text = " +" +scroll_active = false + +[node name="Label2" type="Label" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2"] +margin_top = 68.0 +margin_right = 714.0 +margin_bottom = 83.0 +text = "Tools" + +[node name="ToolsContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2"] +margin_top = 91.0 +margin_right = 714.0 +margin_bottom = 91.0 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2"] +margin_top = 99.0 +margin_right = 714.0 +margin_bottom = 114.0 +text = "Materials" + +[node name="MaterialContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2"] +margin_top = 122.0 +margin_right = 714.0 +margin_bottom = 122.0 + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry"] +margin_top = 482.0 +margin_right = 714.0 +margin_bottom = 512.0 +alignment = 1 + +[node name="CraftButton" type="Button" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/HBoxContainer"] +margin_left = 307.0 +margin_right = 407.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 100, 30 ) +text = "Craft" + +[node name="CenterContainer" type="CenterContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 622.0 +margin_bottom = 457.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CenterContainer"] +margin_left = 264.0 +margin_top = 219.0 +margin_right = 354.0 +margin_bottom = 234.0 +text = "Select a recipe" +align = 1 +valign = 1 + +[node name="PanelContainer2" type="PanelContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer"] +margin_left = 630.0 +margin_right = 944.0 +margin_bottom = 461.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +size_flags_stretch_ratio = 0.5 + +[node name="Recipes" type="ScrollContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2"] +visible = false +margin_left = 4.0 +margin_top = 4.0 +margin_right = 286.0 +margin_bottom = 516.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2/Recipes"] +margin_right = 282.0 +size_flags_horizontal = 3 + +[node name="CenterContainer2" type="CenterContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 310.0 +margin_bottom = 457.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2/CenterContainer2"] +margin_left = 123.0 +margin_top = 219.0 +margin_right = 183.0 +margin_bottom = 234.0 +text = "No recipes" +align = 1 +valign = 1 + +[connection signal="pressed" from="PanelContainer/VBoxContainer/Header/Button" to="." method="hide"] +[connection signal="pressed" from="PanelContainer/VBoxContainer/Categories/HBoxContainer2/Alchemy" to="." method="set_category" binds= [ 1 ]] +[connection signal="pressed" from="PanelContainer/VBoxContainer/Categories/HBoxContainer2/Smithing" to="." method="set_category" binds= [ 2 ]] +[connection signal="pressed" from="PanelContainer/VBoxContainer/Categories/HBoxContainer2/Enchanting" to="." method="set_category" binds= [ 4 ]] +[connection signal="pressed" from="PanelContainer/VBoxContainer/Categories/HBoxContainer2/Engineering" to="." method="set_category" binds= [ 5 ]] +[connection signal="pressed" from="PanelContainer/VBoxContainer/Categories/HBoxContainer2/Tailoring" to="." method="set_category" binds= [ 3 ]] +[connection signal="pressed" from="PanelContainer/VBoxContainer/Categories/HBoxContainer2/Other" to="." method="set_category" binds= [ 0 ]] +[connection signal="pressed" from="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/HBoxContainer/CraftButton" to="." method="request_craft"] diff --git a/game/ui/crafting/game_module.tres b/game/ui/crafting/game_module.tres new file mode 100644 index 0000000..71af8a5 --- /dev/null +++ b/game/ui/crafting/game_module.tres @@ -0,0 +1,13 @@ +[gd_resource type="Resource" load_steps=4 format=2] + +[ext_resource path="res://ui/theme/crafting_icon.tres" type="Texture" id=1] +[ext_resource path="res://scripts/game_modules/ui_window_module.gd" type="Script" id=2] +[ext_resource path="res://ui/crafting/CraftingWindow.tscn" type="PackedScene" id=3] + +[resource] +script = ExtResource( 2 ) +enabled = true +scene = ExtResource( 3 ) +opener_button_texture = ExtResource( 1 ) +index = 4 +add_button = true diff --git a/game/ui/debug/SpawnPointSimpleUI.tscn b/game/ui/debug/SpawnPointSimpleUI.tscn new file mode 100644 index 0000000..96e3eba --- /dev/null +++ b/game/ui/debug/SpawnPointSimpleUI.tscn @@ -0,0 +1,102 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] +[ext_resource path="res://scripts/networking/SpawnPoint.gd" type="Script" id=2] + + + +[node name="SpawnPoint" type="Spatial"] +script = ExtResource( 2 ) +multi_player = true +gui_path = NodePath("PanelContainer") +host_button_path = NodePath("PanelContainer/VBoxContainer/host") +address_line_edit_path = NodePath("PanelContainer/VBoxContainer/VBoxContainer/address") +port_line_edit_path = NodePath("PanelContainer/VBoxContainer/VBoxContainer/port") +connect_button_path = NodePath("PanelContainer/VBoxContainer/VBoxContainer/connect") +naturalist_button_path = NodePath("PanelContainer/VBoxContainer/select naturalist") +terrarin_path = NodePath("..") + +[node name="PanelContainer" type="PanelContainer" parent="."] +visible = false +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -126.0 +margin_top = -169.5 +margin_right = 126.0 +margin_bottom = 169.5 +theme = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 248.0 +margin_bottom = 335.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_constants/separation = 35 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer"] +margin_right = 244.0 +margin_bottom = 140.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +size_flags_stretch_ratio = 4.0 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/VBoxContainer"] +margin_right = 244.0 +margin_bottom = 15.0 +text = "Ip:" + +[node name="address" type="LineEdit" parent="PanelContainer/VBoxContainer/VBoxContainer"] +margin_top = 23.0 +margin_right = 244.0 +margin_bottom = 47.3413 +placeholder_text = "127.0.0.1" + +[node name="Label2" type="Label" parent="PanelContainer/VBoxContainer/VBoxContainer"] +margin_top = 55.0 +margin_right = 244.0 +margin_bottom = 70.0 +text = "Port:" + +[node name="port" type="LineEdit" parent="PanelContainer/VBoxContainer/VBoxContainer"] +margin_top = 78.0 +margin_right = 244.0 +margin_bottom = 102.341 +placeholder_text = "23223" + +[node name="connect" type="Button" parent="PanelContainer/VBoxContainer/VBoxContainer"] +margin_top = 110.0 +margin_right = 244.0 +margin_bottom = 140.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +text = "Connect" + +[node name="host" type="Button" parent="PanelContainer/VBoxContainer"] +margin_top = 175.0 +margin_right = 244.0 +margin_bottom = 210.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +text = "Host" + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer"] +margin_top = 245.0 +margin_right = 244.0 +margin_bottom = 260.0 +size_flags_vertical = 1 +text = "Class: (Just select for offline play):" + +[node name="select naturalist" type="Button" parent="PanelContainer/VBoxContainer"] +margin_top = 295.0 +margin_right = 244.0 +margin_bottom = 331.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +text = "Naturalist" diff --git a/game/ui/debug/debuginfo_font.tres b/game/ui/debug/debuginfo_font.tres index c2b720d..e07ee08 100644 --- a/game/ui/debug/debuginfo_font.tres +++ b/game/ui/debug/debuginfo_font.tres @@ -2,7 +2,6 @@ [ext_resource path="res://fonts/VT323-Regular.ttf" type="DynamicFontData" id=1] - [resource] size = 11 font_data = ExtResource( 1 ) diff --git a/game/ui/icons/icon_add.png b/game/ui/icons/icon_add.png new file mode 100644 index 0000000..fafc154 Binary files /dev/null and b/game/ui/icons/icon_add.png differ diff --git a/game/ui/icons/icon_add.png.import b/game/ui/icons/icon_add.png.import new file mode 100644 index 0000000..4a08d74 --- /dev/null +++ b/game/ui/icons/icon_add.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon_add.png-617e288ed3bf67d2ba76ab9f47fbf4f0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/icons/icon_add.png" +dest_files=[ "res://.import/icon_add.png-617e288ed3bf67d2ba76ab9f47fbf4f0.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=1 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/game/ui/icons/icon_edit.png b/game/ui/icons/icon_edit.png new file mode 100644 index 0000000..37a0c83 Binary files /dev/null and b/game/ui/icons/icon_edit.png differ diff --git a/game/ui/icons/icon_edit.png.import b/game/ui/icons/icon_edit.png.import new file mode 100644 index 0000000..723958e --- /dev/null +++ b/game/ui/icons/icon_edit.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon_edit.png-4e4d30376f2cfaefd3d39b2dce70ee57.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/icons/icon_edit.png" +dest_files=[ "res://.import/icon_edit.png-4e4d30376f2cfaefd3d39b2dce70ee57.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=1 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/game/ui/icons/icon_joy_axis.png b/game/ui/icons/icon_joy_axis.png new file mode 100644 index 0000000..f788feb Binary files /dev/null and b/game/ui/icons/icon_joy_axis.png differ diff --git a/game/ui/icons/icon_joy_axis.png.import b/game/ui/icons/icon_joy_axis.png.import new file mode 100644 index 0000000..e483682 --- /dev/null +++ b/game/ui/icons/icon_joy_axis.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon_joy_axis.png-d24cf014cc6938689bf543968d165c5a.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/icons/icon_joy_axis.png" +dest_files=[ "res://.import/icon_joy_axis.png-d24cf014cc6938689bf543968d165c5a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=1 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/game/ui/icons/icon_joy_button.png b/game/ui/icons/icon_joy_button.png new file mode 100644 index 0000000..752dc61 Binary files /dev/null and b/game/ui/icons/icon_joy_button.png differ diff --git a/game/ui/icons/icon_joy_button.png.import b/game/ui/icons/icon_joy_button.png.import new file mode 100644 index 0000000..a3c5873 --- /dev/null +++ b/game/ui/icons/icon_joy_button.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon_joy_button.png-393039a547dbf39d452b3aafcee9f20c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/icons/icon_joy_button.png" +dest_files=[ "res://.import/icon_joy_button.png-393039a547dbf39d452b3aafcee9f20c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=1 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/game/ui/icons/icon_keyboard.png b/game/ui/icons/icon_keyboard.png new file mode 100644 index 0000000..cd939c3 Binary files /dev/null and b/game/ui/icons/icon_keyboard.png differ diff --git a/game/ui/icons/icon_keyboard.png.import b/game/ui/icons/icon_keyboard.png.import new file mode 100644 index 0000000..4419622 --- /dev/null +++ b/game/ui/icons/icon_keyboard.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon_keyboard.png-58b4ebdc3868706f0d2ebc63fcba3a74.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/icons/icon_keyboard.png" +dest_files=[ "res://.import/icon_keyboard.png-58b4ebdc3868706f0d2ebc63fcba3a74.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=1 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/game/ui/icons/icon_mouse.png b/game/ui/icons/icon_mouse.png new file mode 100644 index 0000000..eebefdc Binary files /dev/null and b/game/ui/icons/icon_mouse.png differ diff --git a/game/ui/icons/icon_mouse.png.import b/game/ui/icons/icon_mouse.png.import new file mode 100644 index 0000000..4d1b8c0 --- /dev/null +++ b/game/ui/icons/icon_mouse.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon_mouse.png-5bef59a63732b271e4a97478075d6992.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/icons/icon_mouse.png" +dest_files=[ "res://.import/icon_mouse.png-5bef59a63732b271e4a97478075d6992.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=1 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/game/ui/icons/icon_remove.png b/game/ui/icons/icon_remove.png new file mode 100644 index 0000000..5df461d Binary files /dev/null and b/game/ui/icons/icon_remove.png differ diff --git a/game/ui/icons/icon_remove.png.import b/game/ui/icons/icon_remove.png.import new file mode 100644 index 0000000..cd70e3f --- /dev/null +++ b/game/ui/icons/icon_remove.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon_remove.png-05b3a725226167bddcdc3b55463863b5.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/icons/icon_remove.png" +dest_files=[ "res://.import/icon_remove.png-05b3a725226167bddcdc3b55463863b5.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=1 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/game/ui/ingame_menu/IngameMenu.tscn b/game/ui/ingame_menu/IngameMenu.tscn index 9406723..6795fe6 100644 --- a/game/ui/ingame_menu/IngameMenu.tscn +++ b/game/ui/ingame_menu/IngameMenu.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=6 format=2] [ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] [ext_resource path="res://ui/options/Options.tscn" type="PackedScene" id=2] [ext_resource path="res://ui/ingame_menu/ExitButton.gd" type="Script" id=3] [ext_resource path="res://ui/keybinds/Keybinds.tscn" type="PackedScene" id=4] +[ext_resource path="res://ui/interface/InterfaceOptions.tscn" type="PackedScene" id=5] [node name="IngameMenu" type="Control"] anchor_right = 1.0 @@ -31,7 +32,7 @@ __meta__ = { margin_left = 4.0 margin_top = 4.0 margin_right = 151.0 -margin_bottom = 132.0 +margin_bottom = 166.0 [node name="Resume" type="Button" parent="Menu/VBoxContainer"] margin_right = 147.0 @@ -44,16 +45,25 @@ margin_right = 147.0 margin_bottom = 60.5702 text = "Keybinds" -[node name="Options" type="Button" parent="Menu/VBoxContainer"] +[node name="Interface" type="Button" parent="Menu/VBoxContainer"] margin_top = 68.0 margin_right = 147.0 margin_bottom = 94.5702 -text = "Options" +text = "Interface" +__meta__ = { +"_edit_use_anchors_": false +} -[node name="Exit" type="Button" parent="Menu/VBoxContainer"] +[node name="Options" type="Button" parent="Menu/VBoxContainer"] margin_top = 102.0 margin_right = 147.0 margin_bottom = 128.57 +text = "Options" + +[node name="Exit" type="Button" parent="Menu/VBoxContainer"] +margin_top = 136.0 +margin_right = 147.0 +margin_bottom = 162.57 text = "Exit" script = ExtResource( 3 ) @@ -78,6 +88,19 @@ margin_left = -426.0 margin_top = -270.0 margin_right = 426.0 margin_bottom = 270.0 + +[node name="InterfaceOptions" parent="." instance=ExtResource( 5 )] +visible = false +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -331.0 +margin_top = -224.5 +margin_right = 331.0 +margin_bottom = 224.5 + [connection signal="pressed" from="Menu/VBoxContainer/Resume" to="." method="hide"] [connection signal="pressed" from="Menu/VBoxContainer/Keybinds" to="KeybindWindow" method="show"] +[connection signal="pressed" from="Menu/VBoxContainer/Interface" to="InterfaceOptions" method="show"] [connection signal="pressed" from="Menu/VBoxContainer/Options" to="Options" method="show"] diff --git a/game/ui/interface/InterfaceOptions.gd b/game/ui/interface/InterfaceOptions.gd new file mode 100644 index 0000000..1ecf6d1 --- /dev/null +++ b/game/ui/interface/InterfaceOptions.gd @@ -0,0 +1,6 @@ +extends PanelContainer + +export(NodePath) var actionbar_set_default_button_path : NodePath + +func set_player(p_player: Entity) -> void: + get_node(actionbar_set_default_button_path).set_player(p_player) diff --git a/game/ui/interface/InterfaceOptions.tscn b/game/ui/interface/InterfaceOptions.tscn new file mode 100644 index 0000000..e4a20f3 --- /dev/null +++ b/game/ui/interface/InterfaceOptions.tscn @@ -0,0 +1,52 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://ui/interface/SetActionbarAsDefault.gd" type="Script" id=1] +[ext_resource path="res://ui/interface/InterfaceOptions.gd" type="Script" id=2] + +[node name="InterfaceOptions" type="PanelContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} +actionbar_set_default_button_path = NodePath("VBoxContainer2/VBoxContainer/SetActionbarAsDefault") + +[node name="VBoxContainer2" type="VBoxContainer" parent="."] +margin_left = 7.0 +margin_top = 7.0 +margin_right = 1017.0 +margin_bottom = 593.0 + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer2"] +margin_right = 1010.0 +margin_bottom = 30.0 +size_flags_horizontal = 3 + +[node name="Label" type="Label" parent="VBoxContainer2/HBoxContainer"] +margin_top = 8.0 +margin_right = 966.0 +margin_bottom = 22.0 +size_flags_horizontal = 3 +text = "Interface options" + +[node name="Button" type="Button" parent="VBoxContainer2/HBoxContainer"] +margin_left = 970.0 +margin_right = 1010.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 40, 30 ) +text = "X" + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer2"] +margin_top = 34.0 +margin_right = 1010.0 +margin_bottom = 586.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="SetActionbarAsDefault" type="Button" parent="VBoxContainer2/VBoxContainer"] +margin_right = 1010.0 +margin_bottom = 20.0 +text = "Set current actionbar setup as default" +script = ExtResource( 1 ) +[connection signal="pressed" from="VBoxContainer2/HBoxContainer/Button" to="." method="hide"] diff --git a/game/ui/interface/SetActionbarAsDefault.gd b/game/ui/interface/SetActionbarAsDefault.gd new file mode 100644 index 0000000..c2cdd07 --- /dev/null +++ b/game/ui/interface/SetActionbarAsDefault.gd @@ -0,0 +1,16 @@ +extends Button + +var _player : Entity + +func set_player(p_player: Entity) -> void: + _player = p_player + +func _pressed(): + if _player && is_instance_valid(_player): + var abp : ActionBarProfile = _player.get_action_bar_profile() + + var cp : ClassProfile = ProfileManager.getc_player_profile().get_class_profile(_player.gets_entity_data().get_path()) + + cp.get_default_action_bar_profile().from_actionbar_profile(abp) + + ProfileManager.save() diff --git a/game/ui/keybinds/Keybinds.gd b/game/ui/keybinds/Keybinds.gd index 9d63e78..bcc3db4 100644 --- a/game/ui/keybinds/Keybinds.gd +++ b/game/ui/keybinds/Keybinds.gd @@ -24,6 +24,24 @@ export(PackedScene) var keybind_category_scene : PackedScene export(NodePath) var content_container_path : NodePath +var _player : Entity + +func set_player(player : Entity): + if _player: + _player.disconnect("centity_data_changed", self, "on_data_changed") + + _player = player + + on_data_changed(_player.getc_entity_data()) + + _player.connect("centity_data_changed", self, "on_data_changed") + + +func on_data_changed(data): + if data: + ProfileManager.on_keybinds_changed(data.get_path()) + InputMap.load_from_globals() + # Note for the reader: # @@ -127,3 +145,12 @@ func a_ready(): # Do not start processing input until a button is pressed set_process_input(false) + +func close(): + InputMap.load_from_globals() + + if _player: + ProfileManager.on_keybinds_changed(_player.getc_entity_data().get_path()) + + hide() + diff --git a/game/ui/keybinds/Keybinds.tscn b/game/ui/keybinds/Keybinds.tscn index e6ba833..c5046e3 100644 --- a/game/ui/keybinds/Keybinds.tscn +++ b/game/ui/keybinds/Keybinds.tscn @@ -1,8 +1,15 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=11 format=2] [ext_resource path="res://ui/keybinds/Keybinds.gd" type="Script" id=1] [ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=2] [ext_resource path="res://ui/keybinds/KeybindCategory.tscn" type="PackedScene" id=3] +[ext_resource path="res://ui/icons/icon_mouse.png" type="Texture" id=4] +[ext_resource path="res://ui/icons/icon_keyboard.png" type="Texture" id=5] +[ext_resource path="res://ui/icons/icon_joy_button.png" type="Texture" id=6] +[ext_resource path="res://ui/icons/icon_remove.png" type="Texture" id=7] +[ext_resource path="res://ui/icons/icon_add.png" type="Texture" id=8] +[ext_resource path="res://ui/icons/icon_edit.png" type="Texture" id=9] +[ext_resource path="res://ui/icons/icon_joy_axis.png" type="Texture" id=10] [node name="KeybindWindow" type="PanelContainer"] anchor_right = 1.0 @@ -13,7 +20,6 @@ __meta__ = { "_edit_use_anchors_": false } keybind_category_scene = ExtResource( 3 ) -content_container_path = NodePath("VBoxContainer/ScrollContainer/Content") [node name="VBoxContainer" type="VBoxContainer" parent="."] margin_left = 4.0 @@ -27,7 +33,7 @@ margin_bottom = 30.0 [node name="Label" type="Label" parent="VBoxContainer/HBoxContainer"] margin_top = 7.0 -margin_right = 968.0 +margin_right = 972.0 margin_bottom = 22.0 size_flags_horizontal = 3 text = "Keybinds" @@ -39,17 +45,19 @@ margin_bottom = 30.0 rect_min_size = Vector2( 40, 30 ) text = "X" -[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer"] +[node name="InputMapEditor" type="InputMapEditor" parent="VBoxContainer"] margin_top = 38.0 margin_right = 1016.0 margin_bottom = 554.0 size_flags_horizontal = 3 size_flags_vertical = 3 -scroll_horizontal_enabled = false - -[node name="Content" type="VBoxContainer" parent="VBoxContainer/ScrollContainer"] -margin_right = 1016.0 -size_flags_horizontal = 3 +add_texture = ExtResource( 8 ) +remove_texture = ExtResource( 7 ) +edit_texture = ExtResource( 9 ) +keyboard_texture = ExtResource( 5 ) +joybutton_texture = ExtResource( 6 ) +joyaxis_texture = ExtResource( 10 ) +mouse_texture = ExtResource( 4 ) [node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer"] margin_top = 562.0 @@ -58,8 +66,8 @@ margin_bottom = 592.0 alignment = 2 [node name="Button" type="Button" parent="VBoxContainer/HBoxContainer2"] -margin_left = 848.0 -margin_right = 928.0 +margin_left = 852.0 +margin_right = 932.0 margin_bottom = 30.0 rect_min_size = Vector2( 80, 30 ) text = "Cancel" @@ -71,3 +79,6 @@ margin_bottom = 30.0 rect_min_size = Vector2( 80, 30 ) text = "OK" [connection signal="pressed" from="VBoxContainer/HBoxContainer/Button" to="." method="hide"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer2/Button" to="." method="hide"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer2/Button2" to="." method="close"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer2/Button2" to="VBoxContainer/InputMapEditor" method="queue_save"] diff --git a/game/ui/loot_window/LootEntry.gd b/game/ui/loot_window/LootEntry.gd index 0a80b0d..28df181 100644 --- a/game/ui/loot_window/LootEntry.gd +++ b/game/ui/loot_window/LootEntry.gd @@ -35,7 +35,7 @@ func _ready(): label = get_node(label_path) as RichTextLabel if icon == null or label == null: - print("LootEntry is not setup correctly!") + Logger.error("LootEntry is not setup correctly!") func on_click(): player.loot_crequest(index) diff --git a/game/ui/loot_window/LootWindow.gd b/game/ui/loot_window/LootWindow.gd index 51d5634..7f525c2 100644 --- a/game/ui/loot_window/LootWindow.gd +++ b/game/ui/loot_window/LootWindow.gd @@ -29,12 +29,14 @@ var player : Entity var target_bag : Bag func _ready(): + get_node("../../../").loot_window = self + container = get_node(container_path) connect("visibility_changed", self, "on_visibility_changed") if entry_scene == null: - print("LootWindow: entry_scene is null") + Logger.error("LootWindow: entry_scene is null") func refresh(): for child in container.get_children(): @@ -57,7 +59,11 @@ func refresh(): func set_player(p_player : Entity) -> void: player = p_player player.connect("ctarget_bag_changed", self, "ctarget_bag_changed") - player.connect("onc_open_loot_winow_request", self, "onc_open_loot_winow_request") + player.connect("onc_open_winow_request", self, "onc_open_loot_winow_request") + +func on_player_moved(): + if visible: + hide() func on_visibility_changed(): if visible: @@ -66,7 +72,7 @@ func on_visibility_changed(): if target_bag != null: target_bag.disconnect("item_removed", self, "on_item_removed") target_bag = null - + func on_item_removed(bag: Bag, item: ItemInstance, slot_id: int) -> void: refresh() @@ -82,5 +88,11 @@ func ctarget_bag_changed(entity: Entity, bag: Bag) -> void: target_bag.connect("item_removed", self, "on_item_removed") -func onc_open_loot_winow_request() -> void: +func onc_open_loot_winow_request(window_id) -> void: + if window_id != EntityEnums.ENTITY_WINDOW_LOOT: + return + show() + + if player.has_signal("player_moved") && !player.is_connected("player_moved", self, "on_player_moved"): + player.connect("player_moved", self, "on_player_moved", [], CONNECT_ONESHOT) diff --git a/game/ui/loot_window/LootWindow.tscn b/game/ui/loot_window/LootWindow.tscn index 5aa5eb5..18807e4 100644 --- a/game/ui/loot_window/LootWindow.tscn +++ b/game/ui/loot_window/LootWindow.tscn @@ -4,7 +4,7 @@ [ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=2] [ext_resource path="res://ui/loot_window/LootEntry.tscn" type="PackedScene" id=3] -[node name="LootWindow" type="PanelContainer"] +[node name="LootWindow" type="Control"] anchor_right = 1.0 anchor_bottom = 1.0 mouse_filter = 2 @@ -14,37 +14,43 @@ __meta__ = { "_edit_use_anchors_": false } entry_scene = ExtResource( 3 ) -container_path = NodePath("VBoxContainer/ScrollContainer/container") +container_path = NodePath("PanelContainer/VBoxContainer/ScrollContainer/container") -[node name="VBoxContainer" type="VBoxContainer" parent="."] +[node name="PanelContainer" type="PanelContainer" parent="."] +margin_left = 82.0 +margin_top = 83.0 +margin_right = 299.0 +margin_bottom = 359.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"] margin_left = 4.0 margin_top = 4.0 -margin_right = 1020.0 -margin_bottom = 596.0 +margin_right = 213.0 +margin_bottom = 272.0 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="Label" type="Label" parent="VBoxContainer"] -margin_right = 1016.0 +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer"] +margin_right = 209.0 margin_bottom = 15.0 text = "Loot" align = 1 valign = 1 -[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer"] +[node name="ScrollContainer" type="ScrollContainer" parent="PanelContainer/VBoxContainer"] margin_top = 23.0 -margin_right = 1016.0 -margin_bottom = 558.0 +margin_right = 209.0 +margin_bottom = 234.0 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="container" type="VBoxContainer" parent="VBoxContainer/ScrollContainer"] -margin_right = 1016.0 +[node name="container" type="VBoxContainer" parent="PanelContainer/VBoxContainer/ScrollContainer"] +margin_right = 209.0 size_flags_horizontal = 3 -[node name="Button" type="Button" parent="VBoxContainer"] -margin_top = 566.0 -margin_right = 1016.0 -margin_bottom = 592.269 +[node name="Button" type="Button" parent="PanelContainer/VBoxContainer"] +margin_top = 242.0 +margin_right = 209.0 +margin_bottom = 268.57 text = "close" -[connection signal="pressed" from="VBoxContainer/Button" to="." method="hide"] +[connection signal="pressed" from="PanelContainer/VBoxContainer/Button" to="." method="hide"] diff --git a/game/ui/loot_window/game_module.tres b/game/ui/loot_window/game_module.tres new file mode 100644 index 0000000..8a640a3 --- /dev/null +++ b/game/ui/loot_window/game_module.tres @@ -0,0 +1,11 @@ +[gd_resource type="Resource" load_steps=3 format=2] + +[ext_resource path="res://scripts/game_modules/ui_window_module.gd" type="Script" id=2] +[ext_resource path="res://ui/loot_window/LootWindow.tscn" type="PackedScene" id=3] + +[resource] +script = ExtResource( 2 ) +enabled = true +scene = ExtResource( 3 ) +index = -1 +add_button = false diff --git a/game/ui/options/Options.tscn b/game/ui/options/Options.tscn index 6fa33e5..2316be6 100644 --- a/game/ui/options/Options.tscn +++ b/game/ui/options/Options.tscn @@ -68,10 +68,8 @@ margin_bottom = 70.0 property_category = "rendering" property_name = "viewport_scale" property_label = "Viewport Scale" -min_value = 20 -max_value = 100 -step = 5 -prefix = "" +min_value = 20.0 +step = 5.0 suffix = "%" [node name="Borderless" parent="PanelContainer/VBoxContainer/TabContainer/Video" instance=ExtResource( 4 )] @@ -141,6 +139,28 @@ property_category = "ui" property_name = "touchscreen_mode" property_label = "Touchscreen Mode" +[node name="OptionsSpinboxRow" parent="PanelContainer/VBoxContainer/TabContainer/Interface" instance=ExtResource( 8 )] +margin_top = 58.0 +margin_bottom = 82.0 +property_category = "ui" +property_name = "ui_scale" +property_label = "UI Scale" +min_value = 0.2 +max_value = 2.4 +step = 0.01 +rounded = false + +[node name="OptionsSpinboxRow2" parent="PanelContainer/VBoxContainer/TabContainer/Interface" instance=ExtResource( 8 )] +margin_top = 90.0 +margin_bottom = 114.0 +property_category = "ui" +property_name = "ui_scale_touch" +property_label = "UI Scale Touch" +min_value = 0.2 +max_value = 2.4 +step = 0.01 +rounded = false + [node name="Debug" type="VBoxContainer" parent="PanelContainer/VBoxContainer/TabContainer"] visible = false anchor_right = 1.0 @@ -152,18 +172,17 @@ margin_bottom = -4.0 size_flags_horizontal = 3 [node name="DebugInfo" type="CheckBox" parent="PanelContainer/VBoxContainer/TabContainer/Debug"] -margin_top = 32.0 margin_right = 527.0 -margin_bottom = 58.5702 +margin_bottom = 26.269 text = "Show Debug info" script = ExtResource( 5 ) property_category = "debug" property_name = "debug_info" [node name="RemoveProfile" type="Button" parent="PanelContainer/VBoxContainer/TabContainer/Debug"] -margin_top = 66.0 +margin_top = 34.0 margin_right = 527.0 -margin_bottom = 92.5702 +margin_bottom = 60.269 size_flags_horizontal = 3 text = "Remove Profile" script = ExtResource( 2 ) @@ -173,4 +192,5 @@ margin_top = 439.0 margin_right = 535.0 margin_bottom = 465.57 text = "Close" + [connection signal="pressed" from="PanelContainer/VBoxContainer/Close" to="." method="hide"] diff --git a/game/ui/options/OptionsSpinboxRow.gd b/game/ui/options/OptionsSpinboxRow.gd index 1eac69d..ac26d37 100644 --- a/game/ui/options/OptionsSpinboxRow.gd +++ b/game/ui/options/OptionsSpinboxRow.gd @@ -26,9 +26,10 @@ export(String) var property_name : String export(String) var property_label : String -export(int) var min_value : int = 0 -export(int) var max_value : int = 100 -export(int) var step : int = 1 +export(float) var min_value : float = 0 +export(float) var max_value : float = 100 +export(float) var step : float = 1 +export(bool) var rounded : bool = true export(String) var prefix : String = "" export(String) var suffix : String = "" @@ -47,6 +48,8 @@ func _ready(): _sb.prefix = prefix _sb.suffix = suffix + _sb.rounded = rounded + if Engine.editor_hint: return diff --git a/game/ui/options/OptionsSpinboxRow.tscn b/game/ui/options/OptionsSpinboxRow.tscn index 6767464..dbe44e5 100644 --- a/game/ui/options/OptionsSpinboxRow.tscn +++ b/game/ui/options/OptionsSpinboxRow.tscn @@ -11,7 +11,15 @@ script = ExtResource( 1 ) __meta__ = { "_edit_use_anchors_": false } -step = 0 +property_category = "" +property_name = "" +property_label = "" +min_value = 0.0 +max_value = 100.0 +step = 0.0 +rounded = true +prefix = "" +suffix = "" [node name="Label" type="Label" parent="."] margin_top = 5.0 @@ -25,5 +33,6 @@ margin_right = 527.0 margin_bottom = 24.0 size_flags_horizontal = 3 size_flags_vertical = 3 +step = 0.0 rounded = true align = 1 diff --git a/game/ui/player_ui/player_ui.gd b/game/ui/player_ui/player_ui.gd index 1d2c524..2752891 100644 --- a/game/ui/player_ui/player_ui.gd +++ b/game/ui/player_ui/player_ui.gd @@ -20,11 +20,38 @@ extends CanvasLayer # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -export(NodePath) var loot_window_path : NodePath +export (String) var player_path : String = "../.." + + +export(NodePath) var gui_base_path : NodePath +export(NodePath) var buttons_path : NodePath +export(NodePath) var windows_path : NodePath + +var gui_base : Node +var buttons : Node +var windows : Node + var loot_window : Control func _ready(): - loot_window = get_node(loot_window_path) as Control + initialize() + + if player_path != null: + var player = get_node(player_path) + + for c in windows.get_children(): + if c.has_method("set_player"): + c.set_player(player) + + for c in gui_base.get_children(): + if c.has_method("set_player"): + c.set_player(player) + +func initialize(): + gui_base = get_node(gui_base_path) + buttons = get_node(buttons_path) + windows = get_node(windows_path) + func _on_Player_onc_open_loot_winow_request() -> void: if loot_window != null: diff --git a/game/ui/player_ui/player_ui.tscn b/game/ui/player_ui/player_ui.tscn index 3736236..a3ca5d6 100644 --- a/game/ui/player_ui/player_ui.tscn +++ b/game/ui/player_ui/player_ui.tscn @@ -1,35 +1,20 @@ -[gd_scene load_steps=26 format=2] +[gd_scene load_steps=10 format=2] [ext_resource path="res://player/GUI.gd" type="Script" id=1] [ext_resource path="res://ui/ingame_menu/IngameMenu.tscn" type="PackedScene" id=2] -[ext_resource path="res://player/Unitframes.gd" type="Script" id=3] -[ext_resource path="res://ui/errorframe/ErrorFrame.tscn" type="PackedScene" id=4] -[ext_resource path="res://ui/auraframe/AuraFrame.tscn" type="PackedScene" id=5] -[ext_resource path="res://ui/game_over_window/GameOverWindow.tscn" type="PackedScene" id=6] -[ext_resource path="res://ui/actionbars/Actionbars.gd" type="Script" id=8] +[ext_resource path="res://ui/theme/menu_icon.tres" type="Texture" id=6] [ext_resource path="res://ui/buttons/Buttons.gd" type="Script" id=9] [ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=10] -[ext_resource path="res://ui/windows/TalentWindow.tscn" type="PackedScene" id=11] -[ext_resource path="res://ui/unitframes/TargetUnitframe.tscn" type="PackedScene" id=12] -[ext_resource path="res://ui/actionbars/ActionBar.tscn" type="PackedScene" id=14] -[ext_resource path="res://ui/bags/Bag.tscn" type="PackedScene" id=15] -[ext_resource path="res://ui/castbar/Castbar.tscn" type="PackedScene" id=16] -[ext_resource path="res://ui/windows/SpellBookWindow.tscn" type="PackedScene" id=17] -[ext_resource path="res://ui/minimap/MiniMap.tscn" type="PackedScene" id=18] -[ext_resource path="res://ui/loot_window/LootWindow.tscn" type="PackedScene" id=19] -[ext_resource path="res://ui/windows/CraftingWindow.tscn" type="PackedScene" id=20] -[ext_resource path="res://ui/unitframes/UnitframeBase.tscn" type="PackedScene" id=21] -[ext_resource path="res://ui/theme/spellbook_icon.tres" type="Texture" id=23] -[ext_resource path="res://ui/theme/bag_icon.tres" type="Texture" id=24] [ext_resource path="res://ui/theme/locked_icon.tres" type="Texture" id=25] [ext_resource path="res://ui/theme/unlocked_icon.tres" type="Texture" id=26] [ext_resource path="res://ui/player_ui/player_ui.gd" type="Script" id=28] -[ext_resource path="res://ui/windows/CharacterWindow.tscn" type="PackedScene" id=29] +[ext_resource path="res://ui/buttons/ImageButton.tscn" type="PackedScene" id=30] [node name="GUILayer" type="CanvasLayer"] -layer = 5 script = ExtResource( 28 ) -loot_window_path = NodePath("GUI/Windows/LootWindow") +gui_base_path = NodePath("GUI") +buttons_path = NodePath("GUI/Buttons") +windows_path = NodePath("GUI/Windows") [node name="GUI" type="Control" parent="."] anchor_right = 1.0 @@ -40,144 +25,35 @@ script = ExtResource( 1 ) __meta__ = { "_edit_lock_": true } -child_controls = [ NodePath("Unitframes"), NodePath("Actionbars"), NodePath("Windows/SpellBookWindow"), NodePath("Buttons"), NodePath("Castbar"), NodePath("AuraFrame"), NodePath("Windows/Inventory"), NodePath("Windows/LootWindow"), NodePath("Windows/TalentWindow"), NodePath("Windows/CraftingWindow"), NodePath("Windows/GameOverWindow") ] -[node name="Buttons" type="Control" parent="GUI"] -anchor_left = 0.5 +[node name="Buttons" type="HBoxContainer" parent="GUI"] anchor_top = 1.0 -anchor_right = 0.5 anchor_bottom = 1.0 -margin_left = -202.0 -margin_top = -45.0 -margin_right = 140.0 +margin_top = -40.0 +margin_right = 342.0 +rect_min_size = Vector2( 0, 40 ) mouse_filter = 2 +custom_constants/separation = 0 script = ExtResource( 9 ) __meta__ = { "_edit_group_": true, "_edit_use_anchors_": false } -spell_book_path = NodePath("../Windows/SpellBookWindow") -spell_book_button_path = NodePath("HBoxContainer/SpellBookButton") -lock_button_path = NodePath("HBoxContainer/LockButton") +image_button = ExtResource( 30 ) +lock_button_path = NodePath("LockButton") -[node name="HBoxContainer" type="HBoxContainer" parent="GUI/Buttons"] +[node name="LockButton" type="Button" parent="GUI/Buttons"] +margin_right = 25.0 +margin_bottom = 40.0 +rect_min_size = Vector2( 25, 30 ) +focus_mode = 0 +toggle_mode = true +enabled_focus_mode = 0 +keep_pressed_outside = true + +[node name="locked" type="TextureRect" parent="GUI/Buttons/LockButton"] anchor_right = 1.0 anchor_bottom = 1.0 -mouse_filter = 2 -custom_constants/separation = 0 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="CharacterButton" type="Button" parent="GUI/Buttons/HBoxContainer"] -margin_right = 45.0 -margin_bottom = 45.0 -rect_min_size = Vector2( 45, 45 ) -hint_tooltip = "Inventory" -focus_mode = 0 -toggle_mode = true -enabled_focus_mode = 0 -keep_pressed_outside = true -text = "Char" - -[node name="SpellBookButton" type="Button" parent="GUI/Buttons/HBoxContainer"] -margin_left = 45.0 -margin_right = 90.0 -margin_bottom = 45.0 -rect_min_size = Vector2( 45, 45 ) -hint_tooltip = "SpellBook" -focus_mode = 0 -toggle_mode = true -enabled_focus_mode = 0 -keep_pressed_outside = true - -[node name="TextureRect" type="TextureRect" parent="GUI/Buttons/HBoxContainer/SpellBookButton"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -15.0 -margin_top = -15.0 -margin_right = 15.0 -margin_bottom = 15.0 -texture = ExtResource( 23 ) -expand = true -stretch_mode = 6 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="BagButton" type="Button" parent="GUI/Buttons/HBoxContainer"] -margin_left = 90.0 -margin_right = 135.0 -margin_bottom = 45.0 -rect_min_size = Vector2( 45, 45 ) -hint_tooltip = "Inventory" -focus_mode = 0 -toggle_mode = true -enabled_focus_mode = 0 -keep_pressed_outside = true - -[node name="TextureRect2" type="TextureRect" parent="GUI/Buttons/HBoxContainer/BagButton"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -15.0 -margin_top = -15.0 -margin_right = 15.0 -margin_bottom = 15.0 -texture = ExtResource( 24 ) -expand = true -stretch_mode = 6 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="TalentButton" type="Button" parent="GUI/Buttons/HBoxContainer"] -margin_left = 135.0 -margin_right = 181.626 -margin_bottom = 45.0 -rect_min_size = Vector2( 45, 45 ) -hint_tooltip = "Inventory" -focus_mode = 0 -toggle_mode = true -enabled_focus_mode = 0 -keep_pressed_outside = true -text = "Talent" - -[node name="CraftingButton" type="Button" parent="GUI/Buttons/HBoxContainer"] -visible = false -margin_left = 181.0 -margin_right = 226.0 -margin_bottom = 45.0 -rect_min_size = Vector2( 45, 45 ) -hint_tooltip = "Inventory" -focus_mode = 0 -toggle_mode = true -enabled_focus_mode = 0 -keep_pressed_outside = true -text = "Craft" - -[node name="LockButton" type="Button" parent="GUI/Buttons/HBoxContainer"] -margin_left = 181.0 -margin_right = 226.0 -margin_bottom = 45.0 -rect_min_size = Vector2( 45, 45 ) -focus_mode = 0 -toggle_mode = true -enabled_focus_mode = 0 -keep_pressed_outside = true - -[node name="locked" type="TextureRect" parent="GUI/Buttons/HBoxContainer/LockButton"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -15.0 -margin_top = -15.0 -margin_right = 15.0 -margin_bottom = 15.0 texture = ExtResource( 25 ) expand = true stretch_mode = 6 @@ -185,16 +61,10 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="unlocked" type="TextureRect" parent="GUI/Buttons/HBoxContainer/LockButton"] +[node name="unlocked" type="TextureRect" parent="GUI/Buttons/LockButton"] visible = false -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -15.0 -margin_top = -15.0 -margin_right = 15.0 -margin_bottom = 15.0 +anchor_right = 1.0 +anchor_bottom = 1.0 texture = ExtResource( 26 ) expand = true stretch_mode = 6 @@ -202,127 +72,31 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Menu" type="Button" parent="GUI/Buttons/HBoxContainer"] -margin_left = 226.0 -margin_right = 271.0 -margin_bottom = 45.0 -rect_min_size = Vector2( 45, 45 ) +[node name="Menu" type="Button" parent="GUI/Buttons"] +margin_left = 25.0 +margin_right = 50.0 +margin_bottom = 40.0 +rect_min_size = Vector2( 25, 30 ) focus_mode = 0 enabled_focus_mode = 0 keep_pressed_outside = true -text = "Menu" -[node name="Actionbars" type="HBoxContainer" parent="GUI"] +[node name="TextureRect3" type="TextureRect" parent="GUI/Buttons/Menu"] anchor_right = 1.0 anchor_bottom = 1.0 -mouse_filter = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -custom_constants/separation = 0 -alignment = 2 -script = ExtResource( 8 ) +texture = ExtResource( 6 ) +expand = true +stretch_mode = 6 __meta__ = { "_edit_use_anchors_": false } -actionbar_scene = ExtResource( 14 ) [node name="Windows" type="CanvasLayer" parent="GUI"] -layer = 6 - -[node name="CharacterWindow" parent="GUI/Windows" instance=ExtResource( 29 )] -visible = false -anchor_right = 0.0 -anchor_bottom = 0.0 -margin_left = 66.0 -margin_top = 44.0 -margin_right = 681.0 -margin_bottom = 474.0 - -[node name="SpellBookWindow" parent="GUI/Windows" instance=ExtResource( 17 )] -visible = false -margin_left = 60.0 -margin_top = 50.0 -margin_right = 561.0 - -[node name="TalentWindow" parent="GUI/Windows" instance=ExtResource( 11 )] -visible = false -anchor_right = 0.0 -anchor_bottom = 0.0 -margin_left = 62.0 -margin_top = 54.0 -margin_right = 656.0 -margin_bottom = 513.0 - -[node name="CraftingWindow" parent="GUI/Windows" instance=ExtResource( 20 )] -visible = false -margin_left = 31.0 -margin_top = 23.0 -margin_right = -345.0 -margin_bottom = -67.0 - -[node name="Inventory" parent="GUI/Windows" instance=ExtResource( 15 )] -visible = false -margin_left = 56.0 -margin_top = 69.0 -margin_right = -422.0 -margin_bottom = -109.0 -inventory_item_container_path = NodePath("../Inventory/VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer/ScrollContainer/GridContainer") - -[node name="LootWindow" parent="GUI/Windows" instance=ExtResource( 19 )] -visible = false -anchor_right = 0.0 -anchor_bottom = 0.0 -margin_left = 39.0 -margin_top = 85.0 -margin_right = 242.0 -margin_bottom = 315.0 - -[node name="GameOverWindow" parent="GUI/Windows" instance=ExtResource( 6 )] -visible = false - -[node name="Unitframes" type="Control" parent="GUI"] -anchor_right = 1.0 -anchor_bottom = 1.0 -margin_left = 1.0 -margin_right = 1.0 -mouse_filter = 2 -script = ExtResource( 3 ) -__meta__ = { -"_edit_lock_": true -} -player_unit_frame_path = NodePath("PlayerUnitFrame") -target_unit_frame_path = NodePath("TargetUnitframe") - -[node name="PlayerUnitFrame" parent="GUI/Unitframes" instance=ExtResource( 21 )] -margin_right = 151.0 - -[node name="TargetUnitframe" parent="GUI/Unitframes" instance=ExtResource( 12 )] -visible = false - -[node name="MiniMap" parent="GUI" instance=ExtResource( 18 )] -visible = false - -[node name="AuraFrame" parent="GUI" instance=ExtResource( 5 )] -margin_left = -331.0 -margin_bottom = 123.0 - -[node name="Castbar" parent="GUI" instance=ExtResource( 16 )] -visible = false - -[node name="ErrorFrame" parent="GUI" instance=ExtResource( 4 )] -anchor_left = 0.5 -anchor_right = 0.5 -margin_left = -191.728 -margin_top = 140.333 -margin_right = 180.272 -margin_bottom = 288.333 -mouse_filter = 2 +layer = 2 [node name="IngameMenu" parent="GUI" instance=ExtResource( 2 )] visible = false -[connection signal="toggled" from="GUI/Buttons/HBoxContainer/CharacterButton" to="GUI/Windows/CharacterWindow" method="_on_CharacterButton_toggled"] -[connection signal="toggled" from="GUI/Buttons/HBoxContainer/SpellBookButton" to="GUI/Windows/SpellBookWindow" method="_on_SpellBookButton_toggled"] -[connection signal="toggled" from="GUI/Buttons/HBoxContainer/BagButton" to="GUI/Windows/Inventory" method="_on_BagButton_toggled"] -[connection signal="toggled" from="GUI/Buttons/HBoxContainer/TalentButton" to="GUI/Windows/TalentWindow" method="_on_TalentButton_toggled"] -[connection signal="toggled" from="GUI/Buttons/HBoxContainer/CraftingButton" to="GUI/Windows/CraftingWindow" method="_on_CraftingButton_toggled"] -[connection signal="pressed" from="GUI/Buttons/HBoxContainer/Menu" to="GUI/IngameMenu" method="show"] + +[connection signal="pressed" from="GUI/Buttons/Menu" to="GUI/IngameMenu" method="show"] + +[editable path="GUI/IngameMenu"] diff --git a/game/ui/windows/SpellBookWindow.gd b/game/ui/spellbook/SpellBookWindow.gd similarity index 89% rename from game/ui/windows/SpellBookWindow.gd rename to game/ui/spellbook/SpellBookWindow.gd index 6081437..4988b5e 100644 --- a/game/ui/windows/SpellBookWindow.gd +++ b/game/ui/spellbook/SpellBookWindow.gd @@ -20,6 +20,8 @@ extends Control # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +var opener_button : BaseButton + export(NodePath) var spell_entry_container_path : NodePath export(NodePath) var prev_button_path : NodePath export(NodePath) var next_button_path : NodePath @@ -45,6 +47,8 @@ var _character_class : EntityClassData var _spells : Array func _ready() -> void: + connect("visibility_changed", self, "on_visibility_changed") + _spell_entries.clear() _spell_entry_container = get_node(spell_entry_container_path) @@ -58,6 +62,9 @@ func _ready() -> void: _prev_button.connect("pressed", self, "dec_page") _next_button.connect("pressed", self, "inc_page") + + if ESS.use_spell_points: + _spell_points_label.text = "" connect("visibility_changed", self, "_visibility_changed") @@ -129,7 +136,8 @@ func refresh_all() -> void: if _page > _max_pages: _page = _max_pages - _spell_points_label.text = "Free spell points: " + str(_player.getc_free_spell_points()) + if ESS.use_spell_points: + _spell_points_label.text = "Free spell points: " + str(_player.getc_free_spell_points()) refresh_entries() @@ -191,9 +199,19 @@ class CustomSpellSorter: return true +func on_visibility_changed(): + if opener_button: + if visible && !opener_button.pressed: + opener_button.pressed = true + return + + if !visible && opener_button.pressed: + opener_button.pressed = false -func _on_SpellBookButton_toggled(button_pressed): +func _on_button_toggled(button_pressed): if button_pressed: - show() + if !visible: + show() else: - hide() + if visible: + hide() diff --git a/game/ui/spellbook/SpellBookWindow.tscn b/game/ui/spellbook/SpellBookWindow.tscn new file mode 100644 index 0000000..2f081fb --- /dev/null +++ b/game/ui/spellbook/SpellBookWindow.tscn @@ -0,0 +1,178 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] +[ext_resource path="res://ui/spellbook/SpellBookWindow.gd" type="Script" id=2] +[ext_resource path="res://ui/spellbook/SpellContainer.tscn" type="PackedScene" id=3] + +[node name="SpellBookWindow" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +theme = ExtResource( 1 ) +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} +spell_entry_container_path = NodePath("PanelContainer/PagedContent/GridContainer") +prev_button_path = NodePath("PanelContainer/PagedContent/Controls/HBoxContainer/Button2") +next_button_path = NodePath("PanelContainer/PagedContent/Controls/HBoxContainer/Button") +spell_points_label_path = NodePath("PanelContainer/PagedContent/Controls/HBoxContainer/SpellPoints") +show_not_learned = false + +[node name="PanelContainer" type="PanelContainer" parent="."] +margin_left = 79.0 +margin_top = 65.0 +margin_right = 535.0 +margin_bottom = 483.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PagedContent" type="VBoxContainer" parent="PanelContainer"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 452.0 +margin_bottom = 414.0 + +[node name="Header" type="HBoxContainer" parent="PanelContainer/PagedContent"] +margin_right = 448.0 +margin_bottom = 30.0 + +[node name="Label" type="Label" parent="PanelContainer/PagedContent/Header"] +margin_top = 7.0 +margin_right = 54.0 +margin_bottom = 22.0 +text = "Spellbook" + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/PagedContent/Header"] +margin_left = 58.0 +margin_right = 404.0 +margin_bottom = 30.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +alignment = 1 + +[node name="Button" type="Button" parent="PanelContainer/PagedContent/Header/HBoxContainer"] +margin_left = 123.0 +margin_right = 223.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 100, 0 ) +text = "Nature" + +[node name="Button" type="Button" parent="PanelContainer/PagedContent/Header"] +margin_left = 408.0 +margin_right = 448.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 40, 30 ) +text = "X" + +[node name="GridContainer" type="GridContainer" parent="PanelContainer/PagedContent"] +margin_top = 38.0 +margin_right = 448.0 +margin_bottom = 372.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +columns = 2 + +[node name="SpellContainer" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 3 )] +margin_left = 0.0 +margin_top = 0.0 +margin_right = 222.0 +margin_bottom = 63.0 + +[node name="SpellContainer2" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 3 )] +margin_left = 226.0 +margin_top = 0.0 +margin_right = 448.0 +margin_bottom = 63.0 + +[node name="SpellContainer3" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 3 )] +margin_left = 0.0 +margin_top = 67.0 +margin_right = 222.0 +margin_bottom = 130.0 + +[node name="SpellContainer4" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 3 )] +margin_left = 226.0 +margin_top = 67.0 +margin_right = 448.0 +margin_bottom = 130.0 + +[node name="SpellContainer5" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 3 )] +margin_left = 0.0 +margin_top = 134.0 +margin_right = 222.0 +margin_bottom = 197.0 + +[node name="SpellContainer6" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 3 )] +margin_left = 226.0 +margin_top = 134.0 +margin_right = 448.0 +margin_bottom = 197.0 + +[node name="SpellContainer7" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 3 )] +margin_left = 0.0 +margin_top = 201.0 +margin_right = 222.0 +margin_bottom = 264.0 + +[node name="SpellContainer8" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 3 )] +margin_left = 226.0 +margin_top = 201.0 +margin_right = 448.0 +margin_bottom = 264.0 + +[node name="SpellContainer9" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 3 )] +margin_left = 0.0 +margin_top = 268.0 +margin_right = 222.0 +margin_bottom = 331.0 + +[node name="SpellContainer10" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 3 )] +margin_left = 226.0 +margin_top = 268.0 +margin_right = 448.0 +margin_bottom = 331.0 + +[node name="Controls" type="MarginContainer" parent="PanelContainer/PagedContent"] +margin_top = 380.0 +margin_right = 448.0 +margin_bottom = 410.0 +custom_constants/margin_right = 2 +custom_constants/margin_top = 2 +custom_constants/margin_left = 2 +custom_constants/margin_bottom = 2 + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/PagedContent/Controls"] +margin_left = 2.0 +margin_top = 2.0 +margin_right = 446.0 +margin_bottom = 28.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Button2" type="Button" parent="PanelContainer/PagedContent/Controls/HBoxContainer"] +margin_right = 145.0 +margin_bottom = 26.5702 +size_flags_horizontal = 3 +size_flags_vertical = 3 +text = "< Previous page" + +[node name="SpellPoints" type="Label" parent="PanelContainer/PagedContent/Controls/HBoxContainer"] +margin_left = 149.0 +margin_top = 5.0 +margin_right = 294.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 +align = 1 +valign = 1 + +[node name="Button" type="Button" parent="PanelContainer/PagedContent/Controls/HBoxContainer"] +margin_left = 298.0 +margin_right = 444.0 +margin_bottom = 26.5702 +size_flags_horizontal = 3 +size_flags_vertical = 3 +text = "Next page >" + +[connection signal="pressed" from="PanelContainer/PagedContent/Header/Button" to="." method="hide"] diff --git a/game/ui/windows/SpellContainer.gd b/game/ui/spellbook/SpellContainer.gd similarity index 78% rename from game/ui/windows/SpellContainer.gd rename to game/ui/spellbook/SpellContainer.gd index 02596af..5f6dfec 100644 --- a/game/ui/windows/SpellContainer.gd +++ b/game/ui/spellbook/SpellContainer.gd @@ -106,28 +106,45 @@ func spell_button_pressed() -> void: _popup.popup(Rect2(pos, _popup.rect_size)) func update_spell_indicators(): - if _spell_known: -# get_node(known_label_path).show() -# get_node(learn_button_path).hide() - - modulate = known_color + if ESS.use_spell_points: + if _spell_known: + get_node(known_label_path).show() + get_node(learn_button_path).hide() + + modulate = known_color + else: + if _spell != null: + if _spell.training_required_spell: + if not _player.spell_hasc(_spell.training_required_spell): + + if ESS.use_spell_points: + get_node(known_label_path).hide() + get_node(learn_button_path).show() + + modulate = unlearnable_color + + return + + if ESS.use_spell_points: + get_node(known_label_path).hide() + get_node(learn_button_path).show() + + modulate = not_known_color else: - if _spell != null: - if _spell.training_required_spell: - if not _player.spell_hasc(_spell.training_required_spell): - -# get_node(known_label_path).hide() -# get_node(learn_button_path).show() - - modulate = unlearnable_color - - return - -# get_node(known_label_path).hide() -# get_node(learn_button_path).show() - - modulate = not_known_color - - modulate = not_known_color + get_node(known_label_path).hide() + get_node(learn_button_path).hide() + + if _spell_known: + modulate = known_color + else: + if _spell != null: + if _spell.training_required_spell: + if not _player.spell_hasc(_spell.training_required_spell): + + modulate = unlearnable_color + + return + + modulate = not_known_color diff --git a/game/ui/windows/SpellContainer.tscn b/game/ui/spellbook/SpellContainer.tscn similarity index 90% rename from game/ui/windows/SpellContainer.tscn rename to game/ui/spellbook/SpellContainer.tscn index 1a8516d..3dda6b0 100644 --- a/game/ui/windows/SpellContainer.tscn +++ b/game/ui/spellbook/SpellContainer.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=5 format=2] -[ext_resource path="res://ui/windows/SpellDragAndDropSpellBook.gd" type="Script" id=1] -[ext_resource path="res://ui/windows/SpellContainer.gd" type="Script" id=2] -[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=3] -[ext_resource path="res://ui/spellbook/SpellEntryPopup.gd" type="Script" id=5] +[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] +[ext_resource path="res://ui/spellbook/SpellDragAndDropSpellBook.gd" type="Script" id=2] +[ext_resource path="res://ui/spellbook/SpellContainer.gd" type="Script" id=3] +[ext_resource path="res://ui/spellbook/SpellEntryPopup.gd" type="Script" id=4] [node name="SpellContainer" type="Control"] margin_left = 290.0 @@ -12,8 +12,8 @@ margin_right = 576.0 margin_bottom = 370.0 size_flags_horizontal = 3 size_flags_vertical = 3 -theme = ExtResource( 3 ) -script = ExtResource( 2 ) +theme = ExtResource( 1 ) +script = ExtResource( 3 ) __meta__ = { "_edit_use_anchors_": false } @@ -42,7 +42,7 @@ margin_bottom = 60.0 margin_right = 55.0 margin_bottom = 56.0 rect_min_size = Vector2( 55, 55 ) -script = ExtResource( 1 ) +script = ExtResource( 2 ) [node name="CenterContainer" type="MarginContainer" parent="PanelContainer/HBoxContainer/Button"] margin_left = 4.0 @@ -77,7 +77,7 @@ margin_left = 64.0 margin_top = 4.0 margin_right = 360.0 margin_bottom = 207.0 -script = ExtResource( 5 ) +script = ExtResource( 4 ) __meta__ = { "_edit_use_anchors_": false } @@ -108,7 +108,7 @@ size_flags_horizontal = 3 [node name="Button" type="Button" parent="SpellEntryPopup/VBoxContainer/HBoxContainer"] margin_left = 258.0 margin_right = 288.0 -margin_bottom = 26.269 +margin_bottom = 26.5702 rect_min_size = Vector2( 30, 0 ) text = "X" @@ -118,29 +118,29 @@ margin_right = 288.0 margin_bottom = 38.0 [node name="PanelContainer" type="PanelContainer" parent="SpellEntryPopup/VBoxContainer"] -visible = false margin_top = 46.0 margin_right = 288.0 -margin_bottom = 66.0 +margin_bottom = 69.0 rect_min_size = Vector2( 0, 20 ) [node name="KnownLabel" type="Label" parent="SpellEntryPopup/VBoxContainer/PanelContainer"] -margin_top = 2.0 -margin_right = 288.0 -margin_bottom = 17.0 +margin_left = 4.0 +margin_top = 4.0 +margin_right = 284.0 +margin_bottom = 19.0 text = "Known" align = 1 valign = 1 [node name="LearnButton" type="Button" parent="SpellEntryPopup/VBoxContainer"] visible = false -margin_top = 46.0 +margin_top = 77.0 margin_right = 288.0 -margin_bottom = 72.269 +margin_bottom = 103.57 text = "Learn" [node name="RichTextLabel" type="RichTextLabel" parent="SpellEntryPopup/VBoxContainer"] -margin_top = 46.0 +margin_top = 77.0 margin_right = 288.0 margin_bottom = 195.0 size_flags_horizontal = 3 diff --git a/game/ui/windows/SpellDragAndDropSpellBook.gd b/game/ui/spellbook/SpellDragAndDropSpellBook.gd similarity index 100% rename from game/ui/windows/SpellDragAndDropSpellBook.gd rename to game/ui/spellbook/SpellDragAndDropSpellBook.gd diff --git a/game/ui/spellbook/game_module.tres b/game/ui/spellbook/game_module.tres new file mode 100644 index 0000000..9080b7e --- /dev/null +++ b/game/ui/spellbook/game_module.tres @@ -0,0 +1,13 @@ +[gd_resource type="Resource" load_steps=4 format=2] + +[ext_resource path="res://ui/theme/spellbook_icon.tres" type="Texture" id=1] +[ext_resource path="res://ui/spellbook/SpellBookWindow.tscn" type="PackedScene" id=2] +[ext_resource path="res://scripts/game_modules/ui_window_module.gd" type="Script" id=3] + +[resource] +script = ExtResource( 3 ) +enabled = true +scene = ExtResource( 2 ) +opener_button_texture = ExtResource( 1 ) +index = 1 +add_button = true diff --git a/game/ui/talents/TalentEntry.gd b/game/ui/talents/TalentEntry.gd index e581886..5d2cab0 100644 --- a/game/ui/talents/TalentEntry.gd +++ b/game/ui/talents/TalentEntry.gd @@ -56,18 +56,23 @@ func _ready() -> void: _rank_label = get_node(rank_label_path) as Label _upgrade_button = get_node(upgrade_button_path) as Button -func set_player(player : Entity, spec : CharacterSpec, spec_index : int, row : int) -> void: +func set_player(player : Entity, spec : CharacterSpec, spec_index : int, row : int, pculomn : int) -> void: if _player != null: - _player.disconnect("ctalent_learned", self, "ctalent_learned") - _player.disconnect("ctalent_reset", self, "ctalent_reset") + _player.disconnect("cclass_talent_learned", self, "ctalent_learned") + _player.disconnect("ccharacter_talent_learned", self, "ctalent_learned") + _player.disconnect("cclass_talent_reset", self, "ctalent_reset") + _player.disconnect("ccharacter_talent_reset", self, "ctalent_reset") _row = row _spec = spec _player = player _spec_index = spec_index + culomn = pculomn - _player.connect("ctalent_learned", self, "ctalent_learned") - _player.connect("ctalent_reset", self, "ctalent_reset") + _player.connect("cclass_talent_learned", self, "ctalent_learned") + _player.connect("ccharacter_talent_learned", self, "ctalent_learned") + _player.connect("cclass_talent_reset", self, "ctalent_reset") + _player.connect("ccharacter_talent_reset", self, "ctalent_reset") refresh() @@ -86,7 +91,7 @@ func refresh() -> void: if a == null: break - if _player.talent_hasc(a.id): + if _player.class_talent_hasc(a.id): known_rank_count += 1 rank_count += 1 @@ -114,7 +119,7 @@ func open_popup() -> void: _popup.popup(Rect2(p, _popup.rect_size)) func upgrade(): - _player.talent_crequest_learn(_spec_index, _row, culomn) + _player.class_talent_crequest_learn(_spec_index, _row, culomn) func ctalent_learned(entity: Entity, talent_id: int) -> void: refresh() diff --git a/game/ui/talents/TalentRow.gd b/game/ui/talents/TalentRow.gd index bbefca5..27741c2 100644 --- a/game/ui/talents/TalentRow.gd +++ b/game/ui/talents/TalentRow.gd @@ -20,6 +20,10 @@ extends HBoxContainer # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +export(PackedScene) var entry_scene : PackedScene + func set_player(player : Entity, spec : CharacterSpec, spec_index: int, row : int) -> void: - for ch in get_children(): - ch.set_player(player, spec, spec_index, row) + for i in range(spec.get_num_columns(row)): + var ch : Node = entry_scene.instance() + add_child(ch) + ch.set_player(player, spec, spec_index, row, i) diff --git a/game/ui/talents/TalentRow.tscn b/game/ui/talents/TalentRow.tscn index b556fa0..4376857 100644 --- a/game/ui/talents/TalentRow.tscn +++ b/game/ui/talents/TalentRow.tscn @@ -14,31 +14,4 @@ script = ExtResource( 3 ) __meta__ = { "_edit_use_anchors_": false } - -[node name="TalentEntry" parent="." instance=ExtResource( 1 )] -margin_right = 198.0 -margin_bottom = 600.0 - -[node name="TalentEntry2" parent="." instance=ExtResource( 1 )] -margin_left = 206.0 -margin_right = 404.0 -margin_bottom = 600.0 -culomn = 1 - -[node name="TalentEntry3" parent="." instance=ExtResource( 1 )] -margin_left = 412.0 -margin_right = 610.0 -margin_bottom = 600.0 -culomn = 2 - -[node name="TalentEntry4" parent="." instance=ExtResource( 1 )] -margin_left = 618.0 -margin_right = 816.0 -margin_bottom = 600.0 -culomn = 3 - -[node name="TalentEntry5" parent="." instance=ExtResource( 1 )] -margin_left = 824.0 -margin_right = 1024.0 -margin_bottom = 600.0 -culomn = 4 +entry_scene = ExtResource( 1 ) diff --git a/game/ui/windows/TalentWindow.gd b/game/ui/talents/TalentWindow.gd similarity index 87% rename from game/ui/windows/TalentWindow.gd rename to game/ui/talents/TalentWindow.gd index 9b09c99..f6963ee 100644 --- a/game/ui/windows/TalentWindow.gd +++ b/game/ui/talents/TalentWindow.gd @@ -1,4 +1,4 @@ -extends PanelContainer +extends Control # Copyright (c) 2019-2020 Péter Magyar # @@ -20,6 +20,8 @@ extends PanelContainer # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +var opener_button : BaseButton + export(PackedScene) var spec_scene : PackedScene export(PackedScene) var spec_switcher_scene : PackedScene export(NodePath) var spec_container_path : NodePath @@ -32,6 +34,8 @@ var _data : EntityData var _player : Entity func _ready(): + connect("visibility_changed", self, "on_visibility_changed") + _spec_container = get_node(spec_container_path) _spec_switcher_container = get_node(spec_switcher_path) @@ -96,10 +100,19 @@ func centity_data_changed(data: EntityData) -> void: s.set_spec(_player, spec, i) +func on_visibility_changed(): + if opener_button: + if visible && !opener_button.pressed: + opener_button.pressed = true + return + + if !visible && opener_button.pressed: + opener_button.pressed = false - -func _on_TalentButton_toggled(button_pressed): +func _on_button_toggled(button_pressed): if button_pressed: - show() + if !visible: + show() else: - hide() + if visible: + hide() diff --git a/game/ui/talents/TalentWindow.tscn b/game/ui/talents/TalentWindow.tscn new file mode 100644 index 0000000..44b83f6 --- /dev/null +++ b/game/ui/talents/TalentWindow.tscn @@ -0,0 +1,117 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] +[ext_resource path="res://ui/talents/Spec.tscn" type="PackedScene" id=2] +[ext_resource path="res://ui/talents/TalentWindow.gd" type="Script" id=3] +[ext_resource path="res://ui/talents/talent_switcher_button.tscn" type="PackedScene" id=4] + +[node name="TalentWindow" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +theme = ExtResource( 1 ) +script = ExtResource( 3 ) +spec_scene = ExtResource( 2 ) +spec_switcher_scene = ExtResource( 4 ) +spec_container_path = NodePath("PanelContainer/VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer/TabContainer2") +spec_switcher_path = NodePath("PanelContainer/VBoxContainer/Header/SpecSwitcher") + +[node name="PanelContainer" type="PanelContainer" parent="."] +margin_left = 68.0 +margin_top = 87.0 +margin_right = 643.0 +margin_bottom = 525.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 571.0 +margin_bottom = 434.0 + +[node name="Header" type="HBoxContainer" parent="PanelContainer/VBoxContainer"] +margin_right = 567.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 0, 30 ) +alignment = 1 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/Header"] +margin_top = 7.0 +margin_right = 42.0 +margin_bottom = 22.0 +text = "Talents" + +[node name="SpecSwitcher" type="HBoxContainer" parent="PanelContainer/VBoxContainer/Header"] +margin_left = 46.0 +margin_right = 523.0 +margin_bottom = 30.0 +size_flags_horizontal = 3 +alignment = 1 + +[node name="Button" type="Button" parent="PanelContainer/VBoxContainer/Header"] +margin_left = 527.0 +margin_right = 567.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 40, 30 ) +text = "X" + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer"] +margin_top = 38.0 +margin_right = 567.0 +margin_bottom = 430.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/HBoxContainer"] +margin_right = 185.0 +margin_bottom = 392.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +size_flags_stretch_ratio = 0.49 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer/PanelContainer"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 181.0 +margin_bottom = 388.0 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/HBoxContainer/PanelContainer/VBoxContainer"] +margin_right = 177.0 +margin_bottom = 15.0 +text = "Body" + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer/PanelContainer/VBoxContainer"] +margin_top = 23.0 +margin_right = 177.0 +margin_bottom = 384.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="PanelContainer2" type="PanelContainer" parent="PanelContainer/VBoxContainer/HBoxContainer"] +margin_left = 189.0 +margin_right = 567.0 +margin_bottom = 392.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer/PanelContainer2"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 374.0 +margin_bottom = 388.0 + +[node name="Label2" type="Label" parent="PanelContainer/VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer"] +visible = false +margin_right = 672.0 +margin_bottom = 15.0 +text = "Class" + +[node name="TabContainer2" type="TabContainer" parent="PanelContainer/VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer"] +margin_right = 370.0 +margin_bottom = 384.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[connection signal="pressed" from="PanelContainer/VBoxContainer/Header/Button" to="." method="hide"] diff --git a/game/ui/talents/game_module.tres b/game/ui/talents/game_module.tres new file mode 100644 index 0000000..c343d87 --- /dev/null +++ b/game/ui/talents/game_module.tres @@ -0,0 +1,13 @@ +[gd_resource type="Resource" load_steps=4 format=2] + +[ext_resource path="res://ui/theme/talent_icon.tres" type="Texture" id=1] +[ext_resource path="res://scripts/game_modules/ui_window_module.gd" type="Script" id=2] +[ext_resource path="res://ui/talents/TalentWindow.tscn" type="PackedScene" id=3] + +[resource] +script = ExtResource( 2 ) +enabled = true +scene = ExtResource( 3 ) +opener_button_texture = ExtResource( 1 ) +index = 2 +add_button = true diff --git a/game/ui/theme/GameUI.png b/game/ui/theme/GameUI.png index 21f456f..abb3e2c 100644 Binary files a/game/ui/theme/GameUI.png and b/game/ui/theme/GameUI.png differ diff --git a/game/ui/theme/actionbar_dynamicfont.tres b/game/ui/theme/actionbar_dynamicfont.tres index cfd8048..52051c6 100644 --- a/game/ui/theme/actionbar_dynamicfont.tres +++ b/game/ui/theme/actionbar_dynamicfont.tres @@ -2,7 +2,6 @@ [ext_resource path="res://fonts/VT323-Regular.ttf" type="DynamicFontData" id=1] - [resource] size = 21 font_data = ExtResource( 1 ) diff --git a/game/ui/theme/bag_icon.tres b/game/ui/theme/bag_icon.tres index 5d21af3..42b353e 100644 --- a/game/ui/theme/bag_icon.tres +++ b/game/ui/theme/bag_icon.tres @@ -4,4 +4,4 @@ [resource] atlas = ExtResource( 1 ) -region = Rect2( 2, 101, 12, 14 ) +region = Rect2( 0, 108, 20, 20 ) diff --git a/game/ui/theme/button_bg_stylebox.tres b/game/ui/theme/button_bg_stylebox.tres index 627733b..73888ec 100644 --- a/game/ui/theme/button_bg_stylebox.tres +++ b/game/ui/theme/button_bg_stylebox.tres @@ -5,8 +5,8 @@ [resource] texture = ExtResource( 1 ) region_rect = Rect2( 0, 0, 13, 14 ) -margin_left = 5.0562 -margin_right = 5.57024 +margin_left = 5.0 +margin_right = 5.0 margin_top = 6.0 margin_bottom = 5.57024 axis_stretch_horizontal = 2 diff --git a/game/ui/theme/character_icon.tres b/game/ui/theme/character_icon.tres new file mode 100644 index 0000000..02b0539 --- /dev/null +++ b/game/ui/theme/character_icon.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=2] + +[ext_resource path="res://ui/theme/GameUI.png" type="Texture" id=1] + +[resource] +atlas = ExtResource( 1 ) +region = Rect2( 105, 89, 20, 20 ) diff --git a/game/ui/theme/crafting_icon.tres b/game/ui/theme/crafting_icon.tres new file mode 100644 index 0000000..a9ee07e --- /dev/null +++ b/game/ui/theme/crafting_icon.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=2] + +[ext_resource path="res://ui/theme/GameUI.png" type="Texture" id=1] + +[resource] +atlas = ExtResource( 1 ) +region = Rect2( 105, 108, 20, 20 ) diff --git a/game/ui/theme/locked_icon.tres b/game/ui/theme/locked_icon.tres index 8b8a490..1d04f23 100644 --- a/game/ui/theme/locked_icon.tres +++ b/game/ui/theme/locked_icon.tres @@ -4,4 +4,4 @@ [resource] atlas = ExtResource( 1 ) -region = Rect2( 31, 101, 12, 14 ) +region = Rect2( 34, 108, 20, 20 ) diff --git a/game/ui/theme/menu_icon.tres b/game/ui/theme/menu_icon.tres new file mode 100644 index 0000000..1f439c8 --- /dev/null +++ b/game/ui/theme/menu_icon.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=2] + +[ext_resource path="res://ui/theme/GameUI.png" type="Texture" id=1] + +[resource] +atlas = ExtResource( 1 ) +region = Rect2( 68, 108, 20, 20 ) diff --git a/game/ui/theme/spellbook_icon.tres b/game/ui/theme/spellbook_icon.tres index 8311c95..cfacdf0 100644 --- a/game/ui/theme/spellbook_icon.tres +++ b/game/ui/theme/spellbook_icon.tres @@ -4,4 +4,4 @@ [resource] atlas = ExtResource( 1 ) -region = Rect2( 16, 101, 12, 14 ) +region = Rect2( 17, 108, 20, 20 ) diff --git a/game/ui/theme/talent_icon.tres b/game/ui/theme/talent_icon.tres new file mode 100644 index 0000000..2d7f204 --- /dev/null +++ b/game/ui/theme/talent_icon.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=2] + +[ext_resource path="res://ui/theme/GameUI.png" type="Texture" id=1] + +[resource] +atlas = ExtResource( 1 ) +region = Rect2( 86, 108, 20, 20 ) diff --git a/game/ui/theme/ui_theme.tres b/game/ui/theme/ui_theme.tres index 5a97dde..9f435b9 100644 --- a/game/ui/theme/ui_theme.tres +++ b/game/ui/theme/ui_theme.tres @@ -25,7 +25,7 @@ [ext_resource path="res://ui/theme/tab_button_bg_stylebox.tres" type="StyleBox" id=23] [ext_resource path="res://scripts/ui/AdaptiveTheme.gd" type="Script" id=24] -[sub_resource type="Image" id=10] +[sub_resource type="Image" id=1] data = { "data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 16, 255, 255, 255, 97, 255, 255, 255, 135, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 114, 191, 191, 191, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 15, 255, 255, 255, 139, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 123, 191, 191, 191, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 96, 255, 255, 255, 150, 255, 255, 255, 105, 255, 255, 255, 15, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 191, 191, 191, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 123, 191, 191, 191, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 134, 255, 255, 255, 150, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 123, 191, 191, 191, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 122, 191, 191, 191, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 122, 191, 191, 191, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 121, 191, 191, 191, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 121, 191, 191, 191, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 121, 191, 191, 191, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 120, 191, 191, 191, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 120, 191, 191, 191, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 120, 191, 191, 191, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 119, 191, 191, 191, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 119, 191, 191, 191, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 134, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 119, 191, 191, 191, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 97, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 118, 191, 191, 191, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 16, 255, 255, 255, 139, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 111, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 16, 255, 255, 255, 97, 255, 255, 255, 135, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 191, 191, 191, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 134, 255, 255, 255, 150, 255, 255, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 16, 255, 255, 255, 150, 255, 255, 255, 134, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 97, 255, 255, 255, 150, 255, 255, 255, 105, 255, 255, 255, 15, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 255, 255, 255, 15, 255, 255, 255, 105, 255, 255, 255, 150, 255, 255, 255, 97, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 16, 255, 255, 255, 139, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 139, 191, 191, 191, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 16, 255, 255, 255, 97, 255, 255, 255, 135, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 135, 255, 255, 255, 97, 191, 191, 191, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "format": "RGBA8", @@ -37,10 +37,10 @@ data = { [sub_resource type="ImageTexture" id=2] flags = 0 flags = 0 -image = SubResource( 10 ) +image = SubResource( 1 ) size = Vector2( 64, 64 ) -[sub_resource type="Image" id=11] +[sub_resource type="Image" id=3] data = { "data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 46, 46, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 68, 68, 27, 255, 91, 91, 165, 255, 93, 93, 229, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 195, 191, 68, 68, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 69, 69, 26, 255, 93, 93, 236, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 210, 191, 68, 68, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 164, 255, 93, 93, 255, 255, 92, 92, 178, 255, 88, 88, 26, 128, 46, 46, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 191, 70, 70, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 209, 191, 68, 68, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 228, 255, 93, 93, 255, 255, 90, 90, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 209, 191, 69, 69, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 208, 191, 68, 68, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 208, 191, 68, 68, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 207, 191, 67, 67, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 206, 191, 68, 68, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 206, 191, 69, 69, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 205, 191, 68, 68, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 205, 191, 68, 68, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 204, 191, 68, 68, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 204, 191, 68, 68, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 203, 191, 68, 68, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 228, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 202, 191, 67, 67, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 165, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 202, 191, 67, 67, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 46, 46, 27, 255, 93, 93, 236, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 190, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 191, 68, 68, 27, 255, 91, 91, 165, 255, 93, 93, 229, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 46, 46, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 191, 70, 70, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 128, 46, 46, 0, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 191, 68, 68, 7, 255, 92, 92, 151, 255, 92, 92, 151, 191, 68, 68, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 68, 68, 7, 255, 92, 92, 151, 255, 92, 92, 151, 191, 68, 68, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 255, 88, 88, 7, 255, 92, 92, 180, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 180, 191, 65, 65, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 65, 65, 7, 255, 92, 92, 180, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 180, 191, 65, 65, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 255, 91, 91, 180, 255, 93, 93, 255, 255, 93, 93, 233, 255, 93, 93, 233, 255, 93, 93, 255, 255, 91, 91, 180, 191, 66, 66, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 66, 66, 7, 255, 91, 91, 180, 255, 93, 93, 255, 255, 93, 93, 233, 255, 93, 93, 233, 255, 93, 93, 255, 255, 91, 91, 180, 191, 66, 66, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 69, 69, 7, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 87, 87, 43, 255, 78, 78, 44, 255, 93, 93, 233, 255, 93, 93, 255, 255, 91, 91, 179, 191, 66, 66, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 66, 66, 7, 255, 91, 91, 179, 255, 93, 93, 255, 255, 93, 93, 233, 255, 78, 78, 44, 255, 78, 78, 44, 255, 93, 93, 233, 255, 93, 93, 255, 255, 91, 91, 179, 191, 66, 66, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 68, 68, 7, 255, 92, 92, 181, 255, 93, 93, 255, 255, 92, 92, 217, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 234, 255, 70, 70, 44, 64, 19, 19, 0, 64, 16, 16, 0, 255, 70, 70, 44, 255, 93, 93, 234, 255, 93, 93, 255, 255, 92, 92, 178, 191, 65, 65, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 65, 65, 6, 255, 92, 92, 178, 255, 93, 93, 255, 255, 93, 93, 234, 255, 70, 70, 44, 64, 16, 16, 0, 64, 16, 16, 0, 255, 70, 70, 44, 255, 93, 93, 234, 255, 93, 93, 255, 255, 92, 92, 178, 191, 65, 65, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 66, 66, 7, 255, 91, 91, 180, 255, 93, 93, 255, 255, 93, 93, 233, 255, 87, 87, 43, 64, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 93, 93, 219, 255, 93, 93, 232, 255, 71, 71, 45, 128, 37, 37, 0, 191, 69, 69, 9, 191, 68, 68, 8, 128, 37, 37, 0, 255, 71, 71, 45, 255, 93, 93, 234, 255, 93, 93, 255, 255, 91, 91, 177, 191, 64, 64, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 64, 64, 6, 255, 91, 91, 178, 255, 93, 93, 255, 255, 93, 93, 234, 255, 71, 71, 45, 128, 37, 37, 0, 191, 69, 69, 8, 191, 69, 69, 8, 128, 37, 37, 0, 255, 71, 71, 45, 255, 93, 93, 234, 255, 93, 93, 255, 255, 91, 91, 177, 191, 64, 64, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 66, 66, 7, 255, 91, 91, 179, 255, 93, 93, 255, 255, 93, 93, 234, 255, 70, 70, 44, 64, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 69, 69, 11, 191, 68, 68, 11, 128, 26, 26, 0, 255, 87, 87, 43, 255, 93, 93, 230, 255, 93, 93, 230, 255, 87, 87, 42, 128, 25, 25, 0, 255, 61, 61, 45, 255, 93, 93, 234, 255, 93, 93, 255, 255, 91, 91, 176, 191, 66, 66, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 66, 66, 6, 255, 91, 91, 176, 255, 93, 93, 255, 255, 93, 93, 234, 255, 61, 61, 45, 128, 25, 25, 0, 255, 87, 87, 43, 255, 93, 93, 230, 255, 93, 93, 230, 255, 87, 87, 42, 128, 25, 25, 0, 255, 61, 61, 45, 255, 93, 93, 234, 255, 93, 93, 255, 255, 91, 91, 176, 191, 66, 66, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 64, 64, 6, 255, 91, 91, 178, 255, 93, 93, 255, 255, 93, 93, 234, 255, 71, 71, 45, 64, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 255, 23, 23, 42, 255, 93, 93, 232, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 232, 255, 23, 23, 42, 128, 13, 13, 0, 255, 61, 61, 46, 255, 93, 93, 235, 255, 93, 93, 255, 255, 92, 92, 176, 191, 69, 69, 6, 0, 0, 0, 0, 0, 0, 0, 0, 191, 69, 69, 6, 255, 92, 92, 176, 255, 93, 93, 255, 255, 93, 93, 235, 255, 61, 61, 46, 128, 13, 13, 0, 255, 23, 23, 42, 255, 93, 93, 232, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 232, 255, 23, 23, 42, 128, 13, 13, 0, 255, 61, 61, 46, 255, 93, 93, 235, 255, 93, 93, 255, 255, 92, 92, 176, 191, 69, 69, 6, 0, 0, 0, 0, 0, 0, 0, 0, 191, 64, 64, 6, 255, 91, 91, 178, 255, 93, 93, 255, 255, 93, 93, 234, 255, 66, 66, 45, 128, 37, 37, 0, 191, 68, 68, 10, 191, 69, 69, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 255, 23, 23, 41, 255, 93, 93, 232, 255, 93, 93, 255, 255, 92, 92, 182, 255, 92, 92, 182, 255, 93, 93, 255, 255, 93, 93, 232, 255, 23, 23, 41, 128, 13, 13, 0, 255, 74, 74, 47, 255, 93, 93, 235, 255, 93, 93, 255, 255, 92, 92, 175, 191, 68, 68, 6, 191, 68, 68, 6, 255, 92, 92, 175, 255, 93, 93, 255, 255, 93, 93, 235, 255, 74, 74, 47, 128, 13, 13, 0, 255, 23, 23, 41, 255, 93, 93, 232, 255, 93, 93, 255, 255, 92, 92, 182, 255, 92, 92, 182, 255, 93, 93, 255, 255, 93, 93, 232, 255, 23, 23, 41, 128, 13, 13, 0, 255, 74, 74, 47, 255, 93, 93, 235, 255, 93, 93, 255, 255, 92, 92, 175, 191, 68, 68, 6, 191, 65, 65, 6, 255, 91, 91, 177, 255, 93, 93, 255, 255, 93, 93, 235, 255, 61, 61, 46, 128, 23, 23, 0, 255, 87, 87, 43, 255, 93, 93, 231, 255, 92, 92, 219, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 255, 23, 23, 41, 255, 93, 93, 231, 255, 93, 93, 255, 255, 90, 90, 183, 191, 66, 66, 7, 191, 66, 66, 7, 255, 90, 90, 183, 255, 93, 93, 255, 255, 93, 93, 231, 255, 23, 23, 41, 128, 21, 21, 0, 255, 87, 87, 47, 255, 93, 93, 236, 255, 93, 93, 255, 255, 91, 91, 174, 255, 91, 91, 174, 255, 93, 93, 255, 255, 93, 93, 236, 255, 87, 87, 47, 128, 21, 21, 0, 255, 23, 23, 41, 255, 93, 93, 231, 255, 93, 93, 255, 255, 90, 90, 183, 191, 66, 66, 7, 191, 66, 66, 7, 255, 90, 90, 183, 255, 93, 93, 255, 255, 93, 93, 231, 255, 23, 23, 41, 128, 21, 21, 0, 255, 87, 87, 47, 255, 93, 93, 236, 255, 93, 93, 255, 255, 91, 91, 174, 255, 92, 92, 176, 255, 93, 93, 255, 255, 93, 93, 235, 255, 61, 61, 46, 128, 13, 13, 0, 255, 23, 23, 42, 255, 93, 93, 232, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 93, 93, 216, 255, 93, 93, 255, 255, 91, 91, 184, 191, 64, 64, 8, 0, 0, 0, 0, 0, 0, 0, 0, 191, 64, 64, 8, 255, 91, 91, 184, 255, 93, 93, 255, 255, 93, 93, 231, 255, 23, 23, 40, 128, 21, 21, 0, 255, 87, 87, 48, 255, 93, 93, 236, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 236, 255, 87, 87, 48, 128, 21, 21, 0, 255, 23, 23, 40, 255, 93, 93, 231, 255, 93, 93, 255, 255, 91, 91, 184, 191, 64, 64, 8, 0, 0, 0, 0, 0, 0, 0, 0, 191, 64, 64, 8, 255, 91, 91, 184, 255, 93, 93, 255, 255, 93, 93, 231, 255, 23, 23, 40, 128, 21, 21, 0, 255, 87, 87, 48, 255, 93, 93, 236, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 236, 255, 87, 87, 47, 128, 17, 17, 0, 255, 23, 23, 41, 255, 93, 93, 232, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 191, 65, 65, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 64, 64, 8, 255, 92, 92, 184, 255, 93, 93, 255, 255, 93, 93, 231, 255, 23, 23, 39, 128, 20, 20, 0, 255, 77, 77, 48, 255, 93, 93, 233, 255, 93, 93, 233, 255, 77, 77, 48, 128, 20, 20, 0, 255, 23, 23, 40, 255, 93, 93, 231, 255, 93, 93, 255, 255, 92, 92, 184, 191, 64, 64, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 64, 64, 8, 255, 92, 92, 184, 255, 93, 93, 255, 255, 93, 93, 231, 255, 23, 23, 39, 128, 20, 20, 0, 255, 77, 77, 48, 255, 93, 93, 233, 255, 93, 93, 233, 255, 87, 87, 48, 128, 21, 21, 0, 255, 23, 23, 41, 255, 93, 93, 231, 255, 93, 93, 255, 255, 92, 92, 182, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 66, 66, 8, 255, 92, 92, 185, 255, 93, 93, 255, 255, 93, 93, 230, 191, 69, 69, 39, 64, 18, 18, 0, 191, 66, 66, 9, 191, 66, 66, 9, 64, 18, 18, 0, 191, 69, 69, 39, 255, 93, 93, 230, 255, 93, 93, 255, 255, 92, 92, 185, 191, 66, 66, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 66, 66, 8, 255, 92, 92, 185, 255, 93, 93, 255, 255, 93, 93, 230, 191, 69, 69, 39, 64, 18, 18, 0, 191, 66, 66, 9, 191, 66, 66, 9, 128, 21, 21, 0, 255, 23, 23, 40, 255, 93, 93, 231, 255, 93, 93, 255, 255, 90, 90, 183, 255, 89, 89, 7, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 69, 69, 8, 255, 92, 92, 186, 255, 93, 93, 255, 255, 93, 93, 230, 191, 68, 68, 38, 0, 0, 0, 0, 0, 0, 0, 0, 191, 68, 68, 38, 255, 93, 93, 230, 255, 93, 93, 255, 255, 92, 92, 186, 191, 69, 69, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 69, 69, 8, 255, 92, 92, 186, 255, 93, 93, 255, 255, 93, 93, 230, 191, 68, 68, 38, 0, 0, 0, 0, 64, 0, 0, 0, 255, 23, 23, 40, 255, 93, 93, 231, 255, 93, 93, 255, 255, 91, 91, 184, 191, 64, 64, 8, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 67, 67, 9, 255, 91, 91, 186, 255, 93, 93, 255, 255, 93, 93, 229, 191, 68, 68, 38, 191, 69, 69, 38, 255, 93, 93, 229, 255, 93, 93, 255, 255, 91, 91, 186, 191, 67, 67, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 67, 67, 9, 255, 91, 91, 186, 255, 93, 93, 255, 255, 93, 93, 229, 191, 68, 68, 38, 191, 69, 69, 39, 255, 93, 93, 230, 255, 93, 93, 255, 255, 92, 92, 184, 191, 64, 64, 8, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 68, 68, 9, 255, 92, 92, 187, 255, 93, 93, 255, 255, 93, 93, 229, 255, 93, 93, 229, 255, 93, 93, 255, 255, 92, 92, 187, 191, 68, 68, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 68, 68, 9, 255, 92, 92, 187, 255, 93, 93, 255, 255, 93, 93, 229, 255, 93, 93, 230, 255, 93, 93, 255, 255, 92, 92, 185, 191, 66, 66, 8, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 69, 69, 9, 255, 92, 92, 188, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 188, 191, 69, 69, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 69, 69, 9, 255, 92, 92, 188, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 186, 191, 69, 69, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 66, 66, 10, 255, 92, 92, 154, 255, 92, 92, 154, 191, 66, 66, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 66, 66, 10, 255, 92, 92, 154, 255, 92, 92, 153, 191, 68, 68, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 228, 255, 93, 93, 255, 255, 90, 90, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 90, 90, 26, 255, 93, 93, 255, 255, 92, 92, 228, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 165, 255, 93, 93, 255, 255, 92, 92, 178, 255, 88, 88, 26, 128, 46, 46, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 46, 46, 0, 255, 88, 88, 26, 255, 92, 92, 178, 255, 93, 93, 255, 255, 92, 92, 165, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 46, 46, 27, 255, 93, 93, 236, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 236, 255, 46, 46, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 191, 68, 68, 27, 255, 91, 91, 165, 255, 93, 93, 229, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 229, 255, 91, 91, 165, 191, 68, 68, 27, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 46, 46, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 46, 46, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "format": "RGBA8", @@ -52,10 +52,10 @@ data = { [sub_resource type="ImageTexture" id=4] flags = 0 flags = 0 -image = SubResource( 11 ) +image = SubResource( 3 ) size = Vector2( 64, 64 ) -[sub_resource type="Image" id=12] +[sub_resource type="Image" id=5] data = { "data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 46, 46, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 68, 68, 27, 255, 91, 91, 165, 255, 93, 93, 229, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 195, 191, 68, 68, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 69, 69, 26, 255, 93, 93, 236, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 210, 191, 69, 69, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 164, 255, 93, 93, 255, 255, 90, 90, 179, 255, 87, 87, 26, 128, 46, 46, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 191, 70, 70, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 209, 191, 68, 68, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 228, 255, 93, 93, 255, 255, 89, 89, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 209, 191, 69, 69, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 208, 191, 68, 68, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 208, 191, 68, 68, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 207, 191, 68, 68, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 206, 191, 68, 68, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 206, 191, 69, 69, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 205, 191, 68, 68, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 205, 191, 68, 68, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 204, 191, 68, 68, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 203, 191, 68, 68, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 203, 191, 68, 68, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 228, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 202, 191, 67, 67, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 165, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 202, 191, 67, 67, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 46, 46, 27, 255, 93, 93, 236, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 189, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 191, 68, 68, 27, 255, 91, 91, 165, 255, 93, 93, 229, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 46, 46, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 191, 70, 70, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 255, 92, 92, 184, 255, 92, 92, 200, 191, 67, 67, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 68, 68, 15, 255, 92, 92, 191, 255, 91, 91, 183, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 255, 92, 92, 184, 255, 92, 92, 200, 191, 67, 67, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 68, 68, 15, 255, 92, 92, 191, 255, 91, 91, 183, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 197, 255, 93, 93, 255, 255, 92, 92, 188, 191, 66, 66, 6, 0, 0, 0, 0, 191, 66, 66, 6, 255, 92, 92, 188, 255, 93, 93, 255, 255, 92, 92, 197, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 197, 255, 93, 93, 255, 255, 92, 92, 188, 191, 66, 66, 6, 0, 0, 0, 0, 191, 66, 66, 6, 255, 92, 92, 188, 255, 93, 93, 255, 255, 92, 92, 197, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 69, 69, 30, 255, 93, 93, 229, 255, 93, 93, 255, 255, 91, 91, 161, 255, 85, 85, 2, 255, 91, 91, 161, 255, 93, 93, 255, 255, 93, 93, 229, 191, 69, 69, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 69, 69, 30, 255, 93, 93, 229, 255, 93, 93, 255, 255, 91, 91, 161, 255, 85, 85, 2, 255, 91, 91, 161, 255, 93, 93, 255, 255, 93, 93, 229, 191, 69, 69, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 21, 21, 0, 255, 89, 89, 48, 255, 93, 93, 242, 255, 93, 93, 255, 255, 92, 92, 201, 255, 93, 93, 255, 255, 93, 93, 242, 255, 89, 89, 48, 64, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 21, 21, 0, 255, 89, 89, 48, 255, 93, 93, 242, 255, 93, 93, 255, 255, 92, 92, 201, 255, 93, 93, 255, 255, 93, 93, 242, 255, 89, 89, 48, 64, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 23, 23, 0, 255, 90, 90, 72, 255, 93, 93, 251, 255, 93, 93, 255, 255, 93, 93, 251, 255, 90, 90, 72, 64, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 23, 23, 0, 255, 90, 90, 72, 255, 93, 93, 251, 255, 93, 93, 255, 255, 93, 93, 251, 255, 90, 90, 72, 64, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 22, 22, 0, 255, 90, 90, 71, 255, 93, 93, 250, 255, 93, 93, 255, 255, 93, 93, 250, 255, 90, 90, 71, 64, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 22, 22, 0, 255, 90, 90, 71, 255, 93, 93, 250, 255, 93, 93, 255, 255, 93, 93, 250, 255, 90, 90, 71, 64, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 21, 21, 0, 255, 87, 87, 47, 255, 93, 93, 242, 255, 93, 93, 255, 255, 92, 92, 203, 255, 93, 93, 255, 255, 93, 93, 242, 255, 87, 87, 47, 64, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 21, 21, 0, 255, 87, 87, 47, 255, 93, 93, 242, 255, 93, 93, 255, 255, 92, 92, 203, 255, 93, 93, 255, 255, 93, 93, 242, 255, 87, 87, 47, 64, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 68, 68, 29, 255, 93, 93, 228, 255, 93, 93, 255, 255, 92, 92, 162, 255, 87, 87, 2, 255, 92, 92, 162, 255, 93, 93, 255, 255, 93, 93, 228, 191, 68, 68, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 68, 68, 29, 255, 93, 93, 228, 255, 93, 93, 255, 255, 92, 92, 162, 255, 87, 87, 2, 255, 92, 92, 162, 255, 93, 93, 255, 255, 93, 93, 228, 191, 68, 68, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 196, 255, 93, 93, 255, 255, 91, 91, 189, 191, 67, 67, 6, 0, 0, 0, 0, 191, 66, 66, 6, 255, 91, 91, 189, 255, 93, 93, 255, 255, 92, 92, 196, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 196, 255, 93, 93, 255, 255, 91, 91, 189, 191, 67, 67, 6, 0, 0, 0, 0, 191, 66, 66, 6, 255, 91, 91, 189, 255, 93, 93, 255, 255, 92, 92, 196, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 255, 92, 92, 180, 255, 92, 92, 194, 191, 67, 67, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 67, 67, 16, 255, 92, 92, 194, 255, 92, 92, 180, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 255, 92, 92, 180, 255, 92, 92, 194, 191, 67, 67, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 67, 67, 16, 255, 92, 92, 194, 255, 92, 92, 180, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 255, 92, 92, 179, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 179, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 255, 91, 91, 179, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 91, 91, 179, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 47, 47, 0, 128, 47, 47, 0, 191, 70, 70, 0, 255, 93, 93, 255, 255, 93, 93, 255, 191, 70, 70, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 191, 70, 70, 0, 255, 93, 93, 255, 255, 93, 93, 255, 191, 70, 70, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 93, 93, 241, 255, 93, 93, 255, 255, 90, 90, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 90, 90, 23, 255, 93, 93, 255, 255, 93, 93, 241, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 189, 255, 93, 93, 255, 255, 92, 92, 115, 64, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 23, 23, 0, 255, 92, 92, 115, 255, 93, 93, 255, 255, 92, 92, 189, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 21, 21, 0, 255, 89, 89, 60, 255, 93, 93, 253, 255, 93, 93, 248, 255, 91, 91, 115, 255, 91, 91, 25, 255, 91, 91, 25, 255, 91, 91, 115, 255, 93, 93, 248, 255, 93, 93, 253, 255, 89, 89, 60, 64, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 23, 23, 0, 255, 92, 92, 120, 255, 93, 93, 253, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 253, 255, 92, 92, 120, 64, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 23, 23, 0, 255, 57, 57, 60, 255, 92, 92, 190, 255, 93, 93, 242, 255, 93, 93, 242, 255, 92, 92, 190, 255, 57, 57, 60, 64, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 128, 46, 46, 0, 128, 46, 46, 0, 128, 46, 46, 0, 128, 46, 46, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 228, 255, 93, 93, 255, 255, 90, 90, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 91, 91, 27, 255, 93, 93, 255, 255, 92, 92, 228, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 165, 255, 93, 93, 255, 255, 92, 92, 178, 255, 88, 88, 26, 128, 46, 46, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 46, 46, 0, 255, 91, 91, 26, 255, 92, 92, 178, 255, 93, 93, 255, 255, 92, 92, 165, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 46, 46, 27, 255, 93, 93, 236, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 236, 255, 46, 46, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 191, 68, 68, 27, 255, 91, 91, 165, 255, 93, 93, 229, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 229, 255, 91, 91, 165, 191, 68, 68, 27, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 46, 46, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 46, 46, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "format": "RGBA8", @@ -67,10 +67,10 @@ data = { [sub_resource type="ImageTexture" id=6] flags = 0 flags = 0 -image = SubResource( 12 ) +image = SubResource( 5 ) size = Vector2( 64, 64 ) -[sub_resource type="Image" id=13] +[sub_resource type="Image" id=7] data = { "data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 111, 111, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 98, 98, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 166, 166, 28, 222, 222, 222, 166, 224, 224, 224, 229, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 238, 210, 210, 210, 137, 150, 150, 150, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 111, 111, 28, 224, 224, 224, 236, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 220, 220, 220, 145, 108, 108, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 110, 110, 0, 222, 222, 222, 165, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 251, 220, 220, 220, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 111, 111, 0, 223, 223, 223, 228, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 223, 223, 223, 181, 111, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 222, 222, 222, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 223, 223, 223, 189, 111, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 222, 222, 222, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 223, 223, 223, 189, 167, 167, 167, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 111, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 229, 222, 222, 222, 166, 166, 166, 166, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 236, 111, 111, 111, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 222, 222, 222, 165, 110, 110, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 223, 223, 223, 228, 111, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 223, 223, 223, 228, 111, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 111, 111, 0, 223, 223, 223, 164, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 222, 222, 222, 165, 110, 110, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 111, 111, 35, 224, 224, 224, 233, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 236, 111, 111, 111, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 0, 212, 212, 212, 35, 222, 222, 222, 167, 224, 224, 224, 234, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 229, 222, 222, 222, 166, 166, 166, 166, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 110, 110, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 111, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "format": "RGBA8", @@ -82,7 +82,7 @@ data = { [sub_resource type="ImageTexture" id=8] flags = 0 flags = 0 -image = SubResource( 13 ) +image = SubResource( 7 ) size = Vector2( 64, 64 ) [sub_resource type="StyleBoxTexture" id=9] diff --git a/game/ui/theme/unlocked_icon.tres b/game/ui/theme/unlocked_icon.tres index 439f356..f89a110 100644 --- a/game/ui/theme/unlocked_icon.tres +++ b/game/ui/theme/unlocked_icon.tres @@ -4,4 +4,4 @@ [resource] atlas = ExtResource( 1 ) -region = Rect2( 45, 101, 12, 14 ) +region = Rect2( 50, 108, 20, 20 ) diff --git a/game/ui/trainer/TrainerWindow.gd b/game/ui/trainer/TrainerWindow.gd new file mode 100644 index 0000000..7b8bf55 --- /dev/null +++ b/game/ui/trainer/TrainerWindow.gd @@ -0,0 +1,227 @@ +extends Control + +# Copyright (c) 2019-2020 Péter Magyar +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +export(NodePath) var spell_entry_container_path : NodePath +export(NodePath) var learn_button_path : NodePath +export(NodePath) var cost_label_path : NodePath + +export(NodePath) var spell_icon_path : NodePath +export(NodePath) var spell_name_label_path : NodePath +export(NodePath) var spell_description_label_path : NodePath +export(NodePath) var spell_requirements_label_path : NodePath + +var _spell_entry_container : Node +var _spell_entries : Array + +var _learn_button : Button +var _cost_label : Label + +var _spell_icon : TextureRect +var _spell_name_label : Label +var _spell_description_label : Label +var _spell_requirements_label : Label + +var _player : Entity + +var _entity_data : EntityData +var _character_class : EntityClassData + +var _spells : Array + +var _spell_button_group : ButtonGroup + +func _ready() -> void: + _spell_button_group = ButtonGroup.new() + + _spell_entry_container = get_node(spell_entry_container_path) + + _spell_icon = get_node(spell_icon_path) as TextureRect + _spell_name_label = get_node(spell_name_label_path) as Label + _spell_description_label = get_node(spell_description_label_path) as Label + _spell_requirements_label = get_node(spell_requirements_label_path) as Label + + _learn_button = get_node(learn_button_path) + _cost_label = get_node(cost_label_path) + + _learn_button.connect("pressed", self, "learn") + + connect("visibility_changed", self, "_visibility_changed") + +func learn() -> void: + if _character_class == null: + return + + if _player == null: + return + + var b : Button = _spell_button_group.get_pressed_button() + + if b: + var spell : Spell = b.get_meta("spell") + + _player.spell_learn_requestc(spell.id) + + refresh_entries() + +func refresh_entries() -> void: + if _character_class == null or _player == null: + return + + for c in _spell_entry_container.get_children(): + c.queue_free() + + _spell_entries.clear() + + for s in _spells: + var spell : Spell = s + + if !spell: + continue + + if _player.spell_hasc(spell): + continue + + var b : Button = Button.new() + + b.text = spell.text_name + " (rank " + str(spell.rank) + ")" + b.set_meta("spell", spell) + b.group = _spell_button_group + b.toggle_mode = true + b.connect("pressed", self, "_button_pressed") + + _spell_entries.append(b) + _spell_entry_container.add_child(b) + + if _spell_entries.size() > 0: + _spell_entries[0].pressed = true + _button_pressed() + +func refresh_all() -> void: + if _player == null: + return + + if _character_class == null: + return + + refresh_entries() + + +func _visibility_changed() -> void: + if visible: + refresh_all() + +func set_player(p_player: Entity) -> void: + if _player != null: + _player.disconnect("centity_data_changed", self, "centity_data_changed") + _player.disconnect("onc_open_winow_request", self, "onc_open_winow_request") + + _player = p_player + + _player.connect("centity_data_changed", self, "centity_data_changed") + _player.connect("onc_open_winow_request", self, "onc_open_winow_request") + + if _player != null: + centity_data_changed(_player.centity_data) + else: + centity_data_changed(null) + +func centity_data_changed(data: EntityData): + _spells.clear() + + _entity_data = null + _character_class = null + + if data == null: + return + + _entity_data = _player.centity_data + _character_class = _entity_data.entity_class_data + + if _character_class == null: + return + + for i in range(_character_class.get_num_spells()): + _spells.append(_character_class.get_spell(i)) + + _spells.sort_custom(CustomSpellSorter, "sort") + + refresh_all() + +func _button_pressed(): + var b : Button = _spell_button_group.get_pressed_button() + + if b && b.has_meta("spell"): + var spell : Spell = b.get_meta("spell") + + _spell_icon.texture = spell.icon + _spell_name_label.text = spell.text_name + _spell_description_label.text = spell.text_description + + var req_str = "Required: " + + if spell.training_required_spell: + req_str += spell.training_required_spell.text_name + " (rank " + str(spell.training_required_spell.rank) + ") " + + if spell.level > 0: + req_str += "level " + str(spell.level) + + _spell_requirements_label.text = req_str + + _cost_label.text = str(spell.get_training_cost()) + + else: + _spell_icon.texture = null + _spell_name_label.text = "" + _spell_description_label.text = "" + _spell_requirements_label.text = "" + + _cost_label.text = "0" + + + +class CustomSpellSorter: + static func sort(a, b): + if a.level < b.level: + return true + elif a.level > b.level: + return false + else: + var res = a.text_name.casecmp_to(b.text_name) + + if res == 0: + if a.rank < b.rank: + return true + return false + elif res == 1: + return false + + return true + + +func onc_open_winow_request(window_id : int) -> void: + if window_id != EntityEnums.ENTITY_WINDOW_TRAINER: + return + + show() + +# if player.has_signal("player_moved") && !player.is_connected("player_moved", self, "on_player_moved"): +# player.connect("player_moved", self, "on_player_moved", [], CONNECT_ONESHOT) diff --git a/game/ui/trainer/TrainerWindow.tscn b/game/ui/trainer/TrainerWindow.tscn new file mode 100644 index 0000000..a92599b --- /dev/null +++ b/game/ui/trainer/TrainerWindow.tscn @@ -0,0 +1,157 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://ui/trainer/TrainerWindow.gd" type="Script" id=1] +[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=2] + +[node name="TrainerWindow" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme = ExtResource( 2 ) +script = ExtResource( 1 ) +spell_entry_container_path = NodePath("PanelContainer/VBoxContainer/PanelContainer3/ScrollContainer/Spells") +learn_button_path = NodePath("PanelContainer/VBoxContainer/HBoxContainer/Train") +cost_label_path = NodePath("PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer2/Price") +spell_icon_path = NodePath("PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer/VBoxContainer/Icon") +spell_name_label_path = NodePath("PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer/VBoxContainer2/Name") +spell_description_label_path = NodePath("PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer/VBoxContainer2/Description") +spell_requirements_label_path = NodePath("PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer/VBoxContainer2/Requirements") + +[node name="PanelContainer" type="PanelContainer" parent="."] +margin_left = 49.0 +margin_top = 40.0 +margin_right = 436.0 +margin_bottom = 498.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 383.0 +margin_bottom = 454.0 + +[node name="HBoxContainer2" type="HBoxContainer" parent="PanelContainer/VBoxContainer"] +margin_right = 379.0 +margin_bottom = 26.0 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/HBoxContainer2"] +margin_top = 5.0 +margin_right = 345.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 +text = "Trainer" + +[node name="Button" type="Button" parent="PanelContainer/VBoxContainer/HBoxContainer2"] +margin_left = 349.0 +margin_right = 379.0 +margin_bottom = 26.5702 +rect_min_size = Vector2( 30, 0 ) +text = "X" + +[node name="PanelContainer3" type="PanelContainer" parent="PanelContainer/VBoxContainer"] +margin_top = 34.0 +margin_right = 379.0 +margin_bottom = 221.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="ScrollContainer" type="ScrollContainer" parent="PanelContainer/VBoxContainer/PanelContainer3"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 375.0 +margin_bottom = 183.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +scroll_horizontal_enabled = false + +[node name="Spells" type="VBoxContainer" parent="PanelContainer/VBoxContainer/PanelContainer3/ScrollContainer"] +margin_right = 371.0 +size_flags_horizontal = 3 +custom_constants/separation = 2 + +[node name="PanelContainer2" type="PanelContainer" parent="PanelContainer/VBoxContainer"] +margin_top = 229.0 +margin_right = 379.0 +margin_bottom = 416.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/PanelContainer2"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 375.0 +margin_bottom = 183.0 + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer"] +margin_right = 371.0 +margin_bottom = 156.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer"] +margin_right = 60.0 +margin_bottom = 156.0 + +[node name="Icon" type="TextureRect" parent="PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer/VBoxContainer"] +margin_right = 60.0 +margin_bottom = 60.0 +rect_min_size = Vector2( 60, 60 ) +expand = true + +[node name="VBoxContainer2" type="VBoxContainer" parent="PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer"] +margin_left = 64.0 +margin_right = 371.0 +margin_bottom = 156.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Name" type="Label" parent="PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer/VBoxContainer2"] +margin_right = 307.0 +margin_bottom = 15.0 +size_flags_horizontal = 3 +size_flags_vertical = 5 + +[node name="Requirements" type="Label" parent="PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer/VBoxContainer2"] +margin_top = 23.0 +margin_right = 307.0 +margin_bottom = 38.0 +size_flags_horizontal = 3 +size_flags_vertical = 5 + +[node name="Description" type="Label" parent="PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer/VBoxContainer2"] +margin_top = 46.0 +margin_right = 307.0 +margin_bottom = 156.0 +size_flags_horizontal = 3 +size_flags_vertical = 7 +autowrap = true + +[node name="HBoxContainer2" type="HBoxContainer" parent="PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer"] +margin_top = 164.0 +margin_right = 371.0 +margin_bottom = 179.0 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer2"] +margin_right = 36.0 +margin_bottom = 15.0 +text = "Costs " + +[node name="Price" type="Label" parent="PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer2"] +margin_left = 40.0 +margin_right = 40.0 +margin_bottom = 15.0 + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer"] +margin_top = 424.0 +margin_right = 379.0 +margin_bottom = 450.0 +alignment = 2 + +[node name="Train" type="Button" parent="PanelContainer/VBoxContainer/HBoxContainer"] +margin_left = 279.0 +margin_right = 379.0 +margin_bottom = 26.5702 +rect_min_size = Vector2( 100, 0 ) +text = "Learn" +[connection signal="pressed" from="PanelContainer/VBoxContainer/HBoxContainer2/Button" to="." method="hide"] diff --git a/game/ui/trainer/game_module.tres b/game/ui/trainer/game_module.tres new file mode 100644 index 0000000..816bec2 --- /dev/null +++ b/game/ui/trainer/game_module.tres @@ -0,0 +1,11 @@ +[gd_resource type="Resource" load_steps=3 format=2] + +[ext_resource path="res://ui/trainer/TrainerWindow.tscn" type="PackedScene" id=1] +[ext_resource path="res://scripts/game_modules/ui_window_module.gd" type="Script" id=2] + +[resource] +script = ExtResource( 2 ) +enabled = true +scene = ExtResource( 1 ) +index = -1 +add_button = false diff --git a/game/ui/vendor_window/ItemContainer.gd b/game/ui/vendor_window/ItemContainer.gd new file mode 100644 index 0000000..cacb70f --- /dev/null +++ b/game/ui/vendor_window/ItemContainer.gd @@ -0,0 +1,89 @@ +extends Control + +# Copyright (c) 2019-2020 Péter Magyar +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +export(NodePath) var icon_path : NodePath +export(NodePath) var name_label_path : NodePath +#export(NodePath) var description_label_path : NodePath +export(NodePath) var quantity_spinbox_path : NodePath +export(NodePath) var learn_button_path : NodePath +export(NodePath) var spell_button_path : NodePath +export(NodePath) var popup_path : NodePath + +export(Color) var known_color : Color = Color.white +export(Color) var not_known_color : Color = Color.gray +export(Color) var unlearnable_color : Color = Color.gray + +var _icon : TextureRect +var _name_label : Label +#var _description_label : RichTextLabel +var _item_button : Button +var _popup : Popup +var _quantity_spinbox : SpinBox + +var _vendor_item_data_entry : VendorItemDataEntry +var _player : Entity +var _index : int + +func _ready() -> void: + _icon = get_node(icon_path) as TextureRect + _name_label = get_node(name_label_path) as Label +# _description_label = get_node(description_label_path) as RichTextLabel + _item_button = get_node(spell_button_path) as Button + _popup = get_node(popup_path) as Popup + _quantity_spinbox = get_node(quantity_spinbox_path) as SpinBox + +func set_vendor_item(p_player : Entity, p_vide: VendorItemDataEntry, index : int) -> void: + _vendor_item_data_entry = p_vide + _player = p_player + _index = index + +# _icon.set_spell(_spell) + _item_button.set_item(_vendor_item_data_entry) + _popup.set_item(_vendor_item_data_entry) + + if _vendor_item_data_entry != null && _vendor_item_data_entry.item != null: + + _icon.texture = _vendor_item_data_entry.item.icon + _name_label.text = _vendor_item_data_entry.item.text_name + else: + _icon.texture = null + + _name_label.text = "....." + + update_spell_indicators() + +func spell_button_pressed() -> void: + var pos : Vector2 = _item_button.rect_global_position + pos.x += _item_button.rect_size.x + + _popup.popup(Rect2(pos, _popup.rect_size)) + +func buy(): + if !_player: + return + + var count : int = _quantity_spinbox.value + + _player.vendor_item_sbuy(_index, count) + +func update_spell_indicators(): + pass diff --git a/game/ui/vendor_window/ItemContainer.tscn b/game/ui/vendor_window/ItemContainer.tscn new file mode 100644 index 0000000..8308cf2 --- /dev/null +++ b/game/ui/vendor_window/ItemContainer.tscn @@ -0,0 +1,165 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] +[ext_resource path="res://ui/vendor_window/VendorEntryPopup.gd" type="Script" id=2] +[ext_resource path="res://ui/vendor_window/ItemDragAndDropVendor.gd" type="Script" id=3] +[ext_resource path="res://ui/vendor_window/ItemContainer.gd" type="Script" id=4] + +[node name="ItemContainer" type="Control"] +margin_left = 290.0 +margin_top = 306.0 +margin_right = 576.0 +margin_bottom = 370.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme = ExtResource( 1 ) +script = ExtResource( 4 ) +__meta__ = { +"_edit_use_anchors_": false +} +icon_path = NodePath("PanelContainer/HBoxContainer/Button/CenterContainer/Icon") +name_label_path = NodePath("PanelContainer/HBoxContainer/Name") +quantity_spinbox_path = NodePath("EntryPopup/VBoxContainer/Container/VBoxContainer/HBoxContainer/SpinBox") +learn_button_path = NodePath("EntryPopup/VBoxContainer/HBoxContainer/Button") +spell_button_path = NodePath("../ItemContainer/PanelContainer/HBoxContainer/Button") +popup_path = NodePath("EntryPopup") +not_known_color = Color( 0.596078, 0.596078, 0.596078, 1 ) +unlearnable_color = Color( 0.772549, 0.192157, 0.192157, 1 ) + +[node name="PanelContainer" type="PanelContainer" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 282.0 +margin_bottom = 60.0 + +[node name="Button" type="Button" parent="PanelContainer/HBoxContainer"] +margin_right = 55.0 +margin_bottom = 56.0 +rect_min_size = Vector2( 55, 55 ) +script = ExtResource( 3 ) + +[node name="CenterContainer" type="MarginContainer" parent="PanelContainer/HBoxContainer/Button"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 51.0 +margin_bottom = 51.0 +mouse_filter = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Icon" type="TextureRect" parent="PanelContainer/HBoxContainer/Button/CenterContainer"] +margin_right = 47.0 +margin_bottom = 47.0 +mouse_filter = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +expand = true + +[node name="Name" type="Label" parent="PanelContainer/HBoxContainer"] +margin_left = 59.0 +margin_top = 20.0 +margin_right = 278.0 +margin_bottom = 35.0 +size_flags_horizontal = 3 +text = "......" + +[node name="EntryPopup" type="PopupPanel" parent="."] +margin_left = 64.0 +margin_top = 4.0 +margin_right = 360.0 +margin_bottom = 207.0 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} +label_path = NodePath("VBoxContainer/HBoxContainer/Label") +desc_label_path = NodePath("VBoxContainer/Container/VBoxContainer/RichTextLabel") +quantity_spinbox_path = NodePath("VBoxContainer/Container/VBoxContainer/HBoxContainer/SpinBox") + +[node name="VBoxContainer" type="VBoxContainer" parent="EntryPopup"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 4.0 +margin_right = -4.0 +margin_bottom = -4.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBoxContainer" type="HBoxContainer" parent="EntryPopup/VBoxContainer"] +margin_right = 288.0 +margin_bottom = 26.0 + +[node name="Label" type="Label" parent="EntryPopup/VBoxContainer/HBoxContainer"] +margin_top = 5.0 +margin_right = 254.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 + +[node name="Button" type="Button" parent="EntryPopup/VBoxContainer/HBoxContainer"] +margin_left = 258.0 +margin_right = 288.0 +margin_bottom = 26.5702 +rect_min_size = Vector2( 30, 0 ) +text = "X" + +[node name="HSeparator2" type="HSeparator" parent="EntryPopup/VBoxContainer"] +margin_top = 34.0 +margin_right = 288.0 +margin_bottom = 38.0 + +[node name="Container" type="VBoxContainer" parent="EntryPopup/VBoxContainer"] +margin_top = 46.0 +margin_right = 288.0 +margin_bottom = 195.0 +rect_min_size = Vector2( 0, 20 ) +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="VBoxContainer" type="VBoxContainer" parent="EntryPopup/VBoxContainer/Container"] +margin_right = 288.0 +margin_bottom = 149.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="HBoxContainer" type="HBoxContainer" parent="EntryPopup/VBoxContainer/Container/VBoxContainer"] +margin_right = 288.0 +margin_bottom = 26.0 + +[node name="SpinBox" type="SpinBox" parent="EntryPopup/VBoxContainer/Container/VBoxContainer/HBoxContainer"] +margin_right = 169.47 +margin_bottom = 26.0 +min_value = 1.0 +value = 1.0 +rounded = true +align = 1 + +[node name="LearnButton" type="Button" parent="EntryPopup/VBoxContainer/Container/VBoxContainer/HBoxContainer"] +margin_left = 173.0 +margin_right = 288.0 +margin_bottom = 26.5702 +size_flags_horizontal = 3 +text = "Buy" + +[node name="RichTextLabel" type="RichTextLabel" parent="EntryPopup/VBoxContainer/Container/VBoxContainer"] +margin_top = 34.0 +margin_right = 288.0 +margin_bottom = 149.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +[connection signal="pressed" from="PanelContainer/HBoxContainer/Button" to="." method="spell_button_pressed"] +[connection signal="pressed" from="EntryPopup/VBoxContainer/HBoxContainer/Button" to="EntryPopup" method="hide"] +[connection signal="pressed" from="EntryPopup/VBoxContainer/Container/VBoxContainer/HBoxContainer/LearnButton" to="." method="buy"] diff --git a/game/ui/windows/VBoxContainer.gd b/game/ui/vendor_window/ItemDragAndDropVendor.gd similarity index 70% rename from game/ui/windows/VBoxContainer.gd rename to game/ui/vendor_window/ItemDragAndDropVendor.gd index 9c90862..37e5fd0 100644 --- a/game/ui/windows/VBoxContainer.gd +++ b/game/ui/vendor_window/ItemDragAndDropVendor.gd @@ -1,4 +1,4 @@ -extends VBoxContainer +extends Button # Copyright (c) 2019-2020 Péter Magyar # @@ -20,14 +20,26 @@ extends VBoxContainer # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -# Declare member variables here. Examples: -# var a = 2 -# var b = "text" +var item : VendorItemDataEntry -# Called when the node enters the scene tree for the first time. -func _ready(): - pass # Replace with function body. +func set_item(p_item): + item = p_item + +func get_drag_data(pos): + if item == null || item.item: + return null + + var tr = TextureRect.new() + tr.texture = item.item.icon + tr.expand = true + +# tr.rect_size = rect_size + tr.rect_size = Vector2(45, 45) + set_drag_preview(tr) -# Called every frame. 'delta' is the elapsed time since the previous frame. -#func _process(delta): -# pass + var esd = ESDragAndDrop.new() + + esd.type = ESDragAndDrop.ES_DRAG_AND_DROP_TYPE_ITEM + esd.item_path = item.item.resource_path + + return esd diff --git a/game/ui/vendor_window/VendorEntryPopup.gd b/game/ui/vendor_window/VendorEntryPopup.gd new file mode 100644 index 0000000..6e3d64e --- /dev/null +++ b/game/ui/vendor_window/VendorEntryPopup.gd @@ -0,0 +1,54 @@ +extends PopupPanel + +# Copyright (c) 2019-2020 Péter Magyar +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +export(NodePath) var label_path : NodePath +export(NodePath) var desc_label_path : NodePath +export(NodePath) var quantity_spinbox_path : NodePath + +var _label : Label +var _desc_label : RichTextLabel +var _quantity_spinbox : SpinBox + +var _item : ItemTemplate +var _item_data_entry : VendorItemDataEntry + +func _ready(): + _label = get_node(label_path) as Label + _desc_label = get_node(desc_label_path) as RichTextLabel + _quantity_spinbox = get_node(quantity_spinbox_path) as SpinBox + +func set_item(item_data_entry : VendorItemDataEntry) -> void: + _item_data_entry = item_data_entry + + if _item_data_entry == null: + return + + _item = _item_data_entry.item + + if _item == null: + return + + _label.text = _item.text_name + _desc_label.text = _item.get_description() + _quantity_spinbox.max_value = _item.stack_size + _quantity_spinbox.value = 1 + diff --git a/game/ui/vendor_window/VendorWindow.gd b/game/ui/vendor_window/VendorWindow.gd new file mode 100644 index 0000000..0fec5ca --- /dev/null +++ b/game/ui/vendor_window/VendorWindow.gd @@ -0,0 +1,161 @@ +extends Control + +# Copyright (c) 2019-2020 Péter Magyar +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +export(NodePath) var opener_button_path : NodePath +var opener_button : BaseButton + +export(NodePath) var spell_entry_container_path : NodePath +export(NodePath) var prev_button_path : NodePath +export(NodePath) var next_button_path : NodePath + +export(bool) var show_not_learned : bool = true +export(bool) var show_not_learnable : bool = false + +var _spell_entry_container : Node +var _item_entries : Array + +var _prev_button : Button +var _next_button : Button + +var _player : Entity + +var _page : int = 0 +var _max_pages : int = 0 + +var _vendor_item_data : VendorItemData + +func _ready() -> void: + opener_button = get_node_or_null(opener_button_path) as BaseButton + + _item_entries.clear() + + _spell_entry_container = get_node(spell_entry_container_path) + + for i in range(_spell_entry_container.get_child_count()): + _item_entries.append(_spell_entry_container.get_child(i)) + + _prev_button = get_node(prev_button_path) + _next_button = get_node(next_button_path) + + _prev_button.connect("pressed", self, "dec_page") + _next_button.connect("pressed", self, "inc_page") + + connect("visibility_changed", self, "_visibility_changed") + +func inc_page() -> void: + if _vendor_item_data == null: + return + + _page += 1 + + if _page > _max_pages: + _page = _max_pages + + refresh_entries() + +func dec_page() -> void: + if _vendor_item_data == null: + return + + _page -= 1 + + if _page < 0: + _page = 0 + + refresh_entries() + +func refresh_entries() -> void: + if _player == null || _vendor_item_data == null: + return + + var i : int = 0 + var n : int = 0 +# for n in range(len(_item_entries)): + while n < len(_item_entries): + var spindex : int = i + (_page * len(_item_entries)) + + if spindex >= _vendor_item_data.get_num_vendor_datas(): + _item_entries[n].set_vendor_item(_player, null, 0) + i += 1 + n += 1 + continue + + var vide : VendorItemDataEntry = _vendor_item_data.get_vendor_data(spindex) + + if !vide: + continue + + _item_entries[n].set_vendor_item(_player, vide, spindex) + i += 1 + n += 1 + + +func refresh_all() -> void: + if _player == null: + return + + if _vendor_item_data == null: + return + + _max_pages = int(_vendor_item_data.get_num_vendor_datas() / len(_item_entries)) + + if _page > _max_pages: + _page = _max_pages + + refresh_entries() + + +func _visibility_changed() -> void: + if visible: + if !_player: + return + + var t : Entity = _player.ctarget + + if !t: + return + + _vendor_item_data = t.getc_entity_data().entity_class_data.get_vendor_item_data() + + _page = 0 + refresh_all() + + + +func set_player(p_player: Entity) -> void: + if _player != null: + _player.disconnect("onc_open_winow_request", self, "onc_open_winow_request") + + _player = p_player + + _player.connect("onc_open_winow_request", self, "onc_open_winow_request") + + + +func onc_open_winow_request(window_id : int) -> void: + if window_id != EntityEnums.ENTITY_WINDOW_VENDOR: + return + + show() + +# if player.has_signal("player_moved") && !player.is_connected("player_moved", self, "on_player_moved"): +# player.connect("player_moved", self, "on_player_moved", [], CONNECT_ONESHOT) diff --git a/game/ui/vendor_window/VendorWindow.tscn b/game/ui/vendor_window/VendorWindow.tscn new file mode 100644 index 0000000..887493c --- /dev/null +++ b/game/ui/vendor_window/VendorWindow.tscn @@ -0,0 +1,175 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://ui/vendor_window/ItemContainer.tscn" type="PackedScene" id=1] +[ext_resource path="res://ui/vendor_window/VendorWindow.gd" type="Script" id=4] +[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=5] + +[node name="VendorWindow" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +theme = ExtResource( 5 ) +script = ExtResource( 4 ) +__meta__ = { +"_edit_use_anchors_": false +} +spell_entry_container_path = NodePath("PanelContainer/PagedContent/GridContainer") +prev_button_path = NodePath("PanelContainer/PagedContent/Controls/HBoxContainer/Button2") +next_button_path = NodePath("PanelContainer/PagedContent/Controls/HBoxContainer/Button") +show_not_learned = false + +[node name="PanelContainer" type="PanelContainer" parent="."] +margin_left = 64.0 +margin_top = 39.0 +margin_right = 580.0 +margin_bottom = 507.0 + +[node name="PagedContent" type="VBoxContainer" parent="PanelContainer"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 512.0 +margin_bottom = 464.0 + +[node name="Header" type="HBoxContainer" parent="PanelContainer/PagedContent"] +margin_right = 508.0 +margin_bottom = 30.0 + +[node name="Label" type="Label" parent="PanelContainer/PagedContent/Header"] +margin_top = 7.0 +margin_right = 36.0 +margin_bottom = 22.0 +text = "Vendor" + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/PagedContent/Header"] +margin_left = 40.0 +margin_right = 464.0 +margin_bottom = 30.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +alignment = 1 + +[node name="Button" type="Button" parent="PanelContainer/PagedContent/Header"] +margin_left = 468.0 +margin_right = 508.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 40, 30 ) +text = "X" + +[node name="GridContainer" type="GridContainer" parent="PanelContainer/PagedContent"] +margin_top = 38.0 +margin_right = 508.0 +margin_bottom = 422.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +columns = 2 + +[node name="ItemContainer" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 0.0 +margin_top = 0.0 +margin_right = 252.0 +margin_bottom = 60.0 + +[node name="ItemContainer2" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 256.0 +margin_top = 0.0 +margin_right = 508.0 +margin_bottom = 60.0 + +[node name="ItemContainer3" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 0.0 +margin_top = 64.0 +margin_right = 252.0 +margin_bottom = 124.0 + +[node name="ItemContainer4" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 256.0 +margin_top = 64.0 +margin_right = 508.0 +margin_bottom = 124.0 + +[node name="ItemContainer5" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 0.0 +margin_top = 128.0 +margin_right = 252.0 +margin_bottom = 188.0 + +[node name="ItemContainer6" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 256.0 +margin_top = 128.0 +margin_right = 508.0 +margin_bottom = 188.0 + +[node name="ItemContainer7" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 0.0 +margin_top = 192.0 +margin_right = 252.0 +margin_bottom = 252.0 + +[node name="ItemContainer8" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 256.0 +margin_top = 192.0 +margin_right = 508.0 +margin_bottom = 252.0 + +[node name="ItemContainer9" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 0.0 +margin_top = 256.0 +margin_right = 252.0 +margin_bottom = 316.0 + +[node name="ItemContainer10" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 256.0 +margin_top = 256.0 +margin_right = 508.0 +margin_bottom = 316.0 + +[node name="ItemContainer11" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 0.0 +margin_top = 320.0 +margin_right = 252.0 +margin_bottom = 380.0 + +[node name="ItemContainer12" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 256.0 +margin_top = 320.0 +margin_right = 508.0 +margin_bottom = 380.0 + +[node name="Controls" type="MarginContainer" parent="PanelContainer/PagedContent"] +margin_top = 430.0 +margin_right = 508.0 +margin_bottom = 460.0 +custom_constants/margin_right = 2 +custom_constants/margin_top = 2 +custom_constants/margin_left = 2 +custom_constants/margin_bottom = 2 + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/PagedContent/Controls"] +margin_left = 2.0 +margin_top = 2.0 +margin_right = 506.0 +margin_bottom = 28.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Button2" type="Button" parent="PanelContainer/PagedContent/Controls/HBoxContainer"] +margin_right = 165.0 +margin_bottom = 26.5702 +size_flags_horizontal = 3 +size_flags_vertical = 3 +text = "< Previous page" + +[node name="Spacer" type="Control" parent="PanelContainer/PagedContent/Controls/HBoxContainer"] +margin_left = 169.0 +margin_right = 334.0 +margin_bottom = 26.0 +size_flags_horizontal = 3 + +[node name="Button" type="Button" parent="PanelContainer/PagedContent/Controls/HBoxContainer"] +margin_left = 338.0 +margin_right = 504.0 +margin_bottom = 26.5702 +size_flags_horizontal = 3 +size_flags_vertical = 3 +text = "Next page >" +[connection signal="pressed" from="PanelContainer/PagedContent/Header/Button" to="." method="hide"] diff --git a/game/ui/vendor_window/game_module.tres b/game/ui/vendor_window/game_module.tres new file mode 100644 index 0000000..df5688e --- /dev/null +++ b/game/ui/vendor_window/game_module.tres @@ -0,0 +1,11 @@ +[gd_resource type="Resource" load_steps=3 format=2] + +[ext_resource path="res://ui/vendor_window/VendorWindow.tscn" type="PackedScene" id=1] +[ext_resource path="res://scripts/game_modules/ui_window_module.gd" type="Script" id=2] + +[resource] +script = ExtResource( 2 ) +enabled = true +scene = ExtResource( 1 ) +index = -1 +add_button = false diff --git a/game/ui/windows/CharacterWindow.gd b/game/ui/windows/CharacterWindow.gd deleted file mode 100644 index 0dcca18..0000000 --- a/game/ui/windows/CharacterWindow.gd +++ /dev/null @@ -1,27 +0,0 @@ -extends PanelContainer - - -# Declare member variables here. Examples: -# var a = 2 -# var b = "text" - - -# Called when the node enters the scene tree for the first time. -func _ready(): - pass # Replace with function body. - - -# Called every frame. 'delta' is the elapsed time since the previous frame. -#func _process(delta): -# pass - - -func _on_CharacterButton_toggled(button_pressed): - if button_pressed: - show() - else: - hide() - - -func _on_Button_pressed(): - hide() diff --git a/game/ui/windows/CharacterWindow.tscn b/game/ui/windows/CharacterWindow.tscn deleted file mode 100644 index 5f0f88b..0000000 --- a/game/ui/windows/CharacterWindow.tscn +++ /dev/null @@ -1,75 +0,0 @@ -[gd_scene load_steps=3 format=2] - -[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] -[ext_resource path="res://ui/windows/CharacterWindow.gd" type="Script" id=2] - -[node name="CharacterWindow" type="PanelContainer"] -anchor_right = 1.0 -anchor_bottom = 1.0 -theme = ExtResource( 1 ) -script = ExtResource( 2 ) -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="VBoxContainer" type="VBoxContainer" parent="."] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 1020.0 -margin_bottom = 596.0 - -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] -margin_right = 1016.0 -margin_bottom = 30.0 -rect_min_size = Vector2( 0, 30 ) - -[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer"] -margin_top = 7.0 -margin_right = 982.0 -margin_bottom = 22.0 -size_flags_horizontal = 3 -text = "Character" - -[node name="Button" type="Button" parent="VBoxContainer/HBoxContainer"] -margin_left = 986.0 -margin_right = 1016.0 -margin_bottom = 30.0 -rect_min_size = Vector2( 30, 30 ) -text = "X" -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer"] -margin_top = 38.0 -margin_right = 1016.0 -margin_bottom = 592.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="PanelContainer" type="PanelContainer" parent="VBoxContainer/HBoxContainer2"] -margin_right = 387.0 -margin_bottom = 554.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -size_flags_stretch_ratio = 0.62 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer2/PanelContainer"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 383.0 -margin_bottom = 550.0 - -[node name="PanelContainer2" type="PanelContainer" parent="VBoxContainer/HBoxContainer2"] -margin_left = 391.0 -margin_right = 1016.0 -margin_bottom = 554.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer2/PanelContainer2"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 621.0 -margin_bottom = 550.0 -[connection signal="pressed" from="VBoxContainer/HBoxContainer/Button" to="." method="_on_Button_pressed"] diff --git a/game/ui/windows/CraftingWindow.tscn b/game/ui/windows/CraftingWindow.tscn deleted file mode 100644 index dc883e3..0000000 --- a/game/ui/windows/CraftingWindow.tscn +++ /dev/null @@ -1,311 +0,0 @@ -[gd_scene load_steps=7 format=2] - -[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] -[ext_resource path="res://ui/windows/CraftingWindow.gd" type="Script" id=2] -[ext_resource path="res://ui/crafting/RecipeSelector.tscn" type="PackedScene" id=3] -[ext_resource path="res://ui/crafting/ItemEntry.tscn" type="PackedScene" id=4] -[ext_resource path="res://ui/windows/CraftItemDescription.gd" type="Script" id=5] - -[sub_resource type="ButtonGroup" id=1] - -[node name="CraftingWindow" type="PanelContainer"] -anchor_right = 1.0 -anchor_bottom = 1.0 -theme = ExtResource( 1 ) -script = ExtResource( 2 ) -__meta__ = { -"_edit_use_anchors_": false -} -item_entry_scene = ExtResource( 4 ) -recipe_selector_scene = ExtResource( 3 ) -item_container_path = NodePath("VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription") -tools_container_path = NodePath("VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/ToolsContainer") -materials_container_path = NodePath("VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/MaterialContainer") -recipe_selector_container_path = NodePath("VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2/Recipes/VBoxContainer") -recipe_selector_main_on = NodePath("VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2/Recipes") -recipe_selector_main_off = NodePath("VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2/CenterContainer2") -materials_container_main_on = NodePath("VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry") -materials_container_main_off = NodePath("VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CenterContainer") - -[node name="VBoxContainer" type="VBoxContainer" parent="."] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 1020.0 -margin_bottom = 596.0 - -[node name="Header" type="HBoxContainer" parent="VBoxContainer"] -margin_right = 1016.0 -margin_bottom = 30.0 - -[node name="Label" type="Label" parent="VBoxContainer/Header"] -margin_top = 7.0 -margin_right = 972.0 -margin_bottom = 22.0 -size_flags_horizontal = 3 -text = "Crafting" - -[node name="Button" type="Button" parent="VBoxContainer/Header"] -margin_left = 976.0 -margin_right = 1016.0 -margin_bottom = 30.0 -rect_min_size = Vector2( 40, 30 ) -text = "X" - -[node name="Categories" type="HBoxContainer" parent="VBoxContainer"] -margin_top = 38.0 -margin_right = 1016.0 -margin_bottom = 64.0 - -[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/Categories"] -margin_right = 1016.0 -margin_bottom = 26.0 -rect_min_size = Vector2( 0, 20 ) -size_flags_horizontal = 3 -size_flags_vertical = 3 -alignment = 1 - -[node name="Alchemy" type="Button" parent="VBoxContainer/Categories/HBoxContainer2"] -margin_left = 198.0 -margin_right = 298.0 -margin_bottom = 26.269 -rect_min_size = Vector2( 100, 0 ) -toggle_mode = true -pressed = true -group = SubResource( 1 ) -text = "Alchemy" - -[node name="Smithing" type="Button" parent="VBoxContainer/Categories/HBoxContainer2"] -margin_left = 302.0 -margin_right = 402.0 -margin_bottom = 26.269 -rect_min_size = Vector2( 100, 0 ) -toggle_mode = true -group = SubResource( 1 ) -text = "Smithing" - -[node name="Enchanting" type="Button" parent="VBoxContainer/Categories/HBoxContainer2"] -margin_left = 406.0 -margin_right = 506.0 -margin_bottom = 26.269 -rect_min_size = Vector2( 100, 0 ) -toggle_mode = true -group = SubResource( 1 ) -text = "Enchantig" - -[node name="Engineering" type="Button" parent="VBoxContainer/Categories/HBoxContainer2"] -margin_left = 510.0 -margin_right = 610.0 -margin_bottom = 26.269 -rect_min_size = Vector2( 100, 0 ) -toggle_mode = true -group = SubResource( 1 ) -text = "Engineering" - -[node name="Tailoring" type="Button" parent="VBoxContainer/Categories/HBoxContainer2"] -margin_left = 614.0 -margin_right = 714.0 -margin_bottom = 26.269 -rect_min_size = Vector2( 100, 0 ) -toggle_mode = true -group = SubResource( 1 ) -text = "Tailoring" - -[node name="Other" type="Button" parent="VBoxContainer/Categories/HBoxContainer2"] -margin_left = 718.0 -margin_right = 818.0 -margin_bottom = 26.269 -rect_min_size = Vector2( 100, 0 ) -toggle_mode = true -group = SubResource( 1 ) -text = "Other" - -[node name="VBoxContainer" type="MarginContainer" parent="VBoxContainer"] -margin_top = 72.0 -margin_right = 1016.0 -margin_bottom = 592.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/VBoxContainer"] -margin_right = 1016.0 -margin_bottom = 520.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="PanelContainer" type="PanelContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer"] -margin_right = 674.0 -margin_bottom = 520.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="CraftEntry" type="VBoxContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer"] -visible = false -margin_left = 4.0 -margin_top = 4.0 -margin_right = 718.0 -margin_bottom = 516.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -size_flags_stretch_ratio = 0.6 -custom_constants/separation = 10 - -[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry"] -margin_right = 714.0 -margin_bottom = 472.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -scroll_horizontal_enabled = false - -[node name="VBoxContainer2" type="VBoxContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer"] -margin_right = 714.0 -margin_bottom = 122.0 -size_flags_horizontal = 3 - -[node name="CraftItemDescription" type="HBoxContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2"] -margin_right = 714.0 -margin_bottom = 60.0 -alignment = 1 -script = ExtResource( 5 ) -icon_path = NodePath("VBoxContainer/PanelContainer/TextureRect") -name_label_path = NodePath("PanelContainer2/VBoxContainer/Label") -description_label_path = NodePath("PanelContainer2/VBoxContainer/RichTextLabel") - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription"] -margin_left = 175.0 -margin_right = 235.0 -margin_bottom = 60.0 - -[node name="PanelContainer" type="PanelContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription/VBoxContainer"] -margin_right = 60.0 -margin_bottom = 60.0 -rect_min_size = Vector2( 60, 60 ) - -[node name="TextureRect" type="TextureRect" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription/VBoxContainer/PanelContainer"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 56.0 -margin_bottom = 56.0 -expand = true - -[node name="PanelContainer2" type="PanelContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription"] -margin_left = 239.0 -margin_right = 539.0 -margin_bottom = 60.0 -rect_min_size = Vector2( 300, 0 ) - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription/PanelContainer2"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 296.0 -margin_bottom = 56.0 - -[node name="Label" type="Label" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription/PanelContainer2/VBoxContainer"] -margin_right = 292.0 -margin_bottom = 15.0 - -[node name="RichTextLabel" type="RichTextLabel" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription/PanelContainer2/VBoxContainer"] -margin_top = 23.0 -margin_right = 292.0 -margin_bottom = 52.0 -size_flags_vertical = 3 -text = " -" -scroll_active = false - -[node name="Label2" type="Label" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2"] -margin_top = 68.0 -margin_right = 714.0 -margin_bottom = 83.0 -text = "Tools" - -[node name="ToolsContainer" type="VBoxContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2"] -margin_top = 91.0 -margin_right = 714.0 -margin_bottom = 91.0 - -[node name="Label" type="Label" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2"] -margin_top = 99.0 -margin_right = 714.0 -margin_bottom = 114.0 -text = "Materials" - -[node name="MaterialContainer" type="VBoxContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2"] -margin_top = 122.0 -margin_right = 714.0 -margin_bottom = 122.0 - -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry"] -margin_top = 482.0 -margin_right = 714.0 -margin_bottom = 512.0 -alignment = 1 - -[node name="CraftButton" type="Button" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/HBoxContainer"] -margin_left = 307.0 -margin_right = 407.0 -margin_bottom = 30.0 -rect_min_size = Vector2( 100, 30 ) -text = "Craft" - -[node name="CenterContainer" type="CenterContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 670.0 -margin_bottom = 516.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="Label" type="Label" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CenterContainer"] -margin_left = 288.0 -margin_top = 248.0 -margin_right = 378.0 -margin_bottom = 263.0 -text = "Select a recipe" -align = 1 -valign = 1 - -[node name="PanelContainer2" type="PanelContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer"] -margin_left = 678.0 -margin_right = 1016.0 -margin_bottom = 520.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -size_flags_stretch_ratio = 0.5 - -[node name="Recipes" type="ScrollContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2"] -visible = false -margin_left = 4.0 -margin_top = 4.0 -margin_right = 286.0 -margin_bottom = 516.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2/Recipes"] -margin_right = 282.0 -size_flags_horizontal = 3 - -[node name="CenterContainer2" type="CenterContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 334.0 -margin_bottom = 516.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="Label" type="Label" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2/CenterContainer2"] -margin_left = 135.0 -margin_top = 248.0 -margin_right = 195.0 -margin_bottom = 263.0 -text = "No recipes" -align = 1 -valign = 1 -[connection signal="pressed" from="VBoxContainer/Header/Button" to="." method="hide"] -[connection signal="pressed" from="VBoxContainer/Categories/HBoxContainer2/Alchemy" to="." method="set_category" binds= [ 1 ]] -[connection signal="pressed" from="VBoxContainer/Categories/HBoxContainer2/Smithing" to="." method="set_category" binds= [ 2 ]] -[connection signal="pressed" from="VBoxContainer/Categories/HBoxContainer2/Enchanting" to="." method="set_category" binds= [ 4 ]] -[connection signal="pressed" from="VBoxContainer/Categories/HBoxContainer2/Engineering" to="." method="set_category" binds= [ 5 ]] -[connection signal="pressed" from="VBoxContainer/Categories/HBoxContainer2/Tailoring" to="." method="set_category" binds= [ 3 ]] -[connection signal="pressed" from="VBoxContainer/Categories/HBoxContainer2/Other" to="." method="set_category" binds= [ 0 ]] -[connection signal="pressed" from="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/HBoxContainer/CraftButton" to="." method="request_craft"] diff --git a/game/ui/windows/SpellBookWindow.tscn b/game/ui/windows/SpellBookWindow.tscn deleted file mode 100644 index 6e05545..0000000 --- a/game/ui/windows/SpellBookWindow.tscn +++ /dev/null @@ -1,179 +0,0 @@ -[gd_scene load_steps=4 format=2] - -[ext_resource path="res://ui/windows/SpellContainer.tscn" type="PackedScene" id=1] -[ext_resource path="res://ui/windows/SpellBookWindow.gd" type="Script" id=4] -[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=5] - -[node name="SpellBookWindow" type="PanelContainer"] -margin_right = 884.0 -margin_bottom = 510.0 -theme = ExtResource( 5 ) -script = ExtResource( 4 ) -__meta__ = { -"_edit_use_anchors_": false -} -spell_entry_container_path = NodePath("PagedContent/GridContainer") -prev_button_path = NodePath("PagedContent/Controls/HBoxContainer/Button2") -next_button_path = NodePath("PagedContent/Controls/HBoxContainer/Button") -spell_points_label_path = NodePath("PagedContent/Controls/HBoxContainer/SpellPoints") - -[node name="PagedContent" type="VBoxContainer" parent="."] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 880.0 -margin_bottom = 506.0 - -[node name="Header" type="HBoxContainer" parent="PagedContent"] -margin_right = 876.0 -margin_bottom = 30.0 - -[node name="Label" type="Label" parent="PagedContent/Header"] -margin_top = 7.0 -margin_right = 54.0 -margin_bottom = 22.0 -text = "Spellbook" - -[node name="HBoxContainer" type="HBoxContainer" parent="PagedContent/Header"] -margin_left = 58.0 -margin_right = 832.0 -margin_bottom = 30.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -alignment = 1 - -[node name="Button" type="Button" parent="PagedContent/Header/HBoxContainer"] -margin_left = 337.0 -margin_right = 437.0 -margin_bottom = 30.0 -rect_min_size = Vector2( 100, 0 ) -text = "Nature" - -[node name="Button" type="Button" parent="PagedContent/Header"] -margin_left = 836.0 -margin_right = 876.0 -margin_bottom = 30.0 -rect_min_size = Vector2( 40, 30 ) -text = "X" - -[node name="GridContainer" type="GridContainer" parent="PagedContent"] -margin_top = 38.0 -margin_right = 876.0 -margin_bottom = 464.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -columns = 2 - -[node name="SpellContainer" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 0.0 -margin_top = 0.0 -margin_right = 436.0 -margin_bottom = 67.0 - -[node name="SpellContainer2" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 440.0 -margin_top = 0.0 -margin_right = 876.0 -margin_bottom = 67.0 - -[node name="SpellContainer3" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 0.0 -margin_top = 71.0 -margin_right = 436.0 -margin_bottom = 138.0 - -[node name="SpellContainer4" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 440.0 -margin_top = 71.0 -margin_right = 876.0 -margin_bottom = 138.0 - -[node name="SpellContainer5" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 0.0 -margin_top = 142.0 -margin_right = 436.0 -margin_bottom = 209.0 - -[node name="SpellContainer6" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 440.0 -margin_top = 142.0 -margin_right = 876.0 -margin_bottom = 209.0 - -[node name="SpellContainer7" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 0.0 -margin_top = 213.0 -margin_right = 436.0 -margin_bottom = 280.0 - -[node name="SpellContainer8" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 440.0 -margin_top = 213.0 -margin_right = 876.0 -margin_bottom = 280.0 - -[node name="SpellContainer9" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 0.0 -margin_top = 284.0 -margin_right = 436.0 -margin_bottom = 351.0 - -[node name="SpellContainer10" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 440.0 -margin_top = 284.0 -margin_right = 876.0 -margin_bottom = 351.0 - -[node name="SpellContainer11" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 0.0 -margin_top = 355.0 -margin_right = 436.0 -margin_bottom = 422.0 - -[node name="SpellContainer12" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 440.0 -margin_top = 355.0 -margin_right = 876.0 -margin_bottom = 422.0 - -[node name="Controls" type="MarginContainer" parent="PagedContent"] -margin_top = 472.0 -margin_right = 876.0 -margin_bottom = 502.0 -custom_constants/margin_right = 2 -custom_constants/margin_top = 2 -custom_constants/margin_left = 2 -custom_constants/margin_bottom = 2 - -[node name="HBoxContainer" type="HBoxContainer" parent="PagedContent/Controls"] -margin_left = 2.0 -margin_top = 2.0 -margin_right = 874.0 -margin_bottom = 28.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="Button2" type="Button" parent="PagedContent/Controls/HBoxContainer"] -margin_right = 434.0 -margin_bottom = 26.5702 -size_flags_horizontal = 3 -size_flags_vertical = 3 -text = "< Previous page" - -[node name="SpellPoints" type="Label" parent="PagedContent/Controls/HBoxContainer"] -visible = false -margin_left = 292.0 -margin_top = 5.0 -margin_right = 580.0 -margin_bottom = 20.0 -size_flags_horizontal = 3 -align = 1 -valign = 1 - -[node name="Button" type="Button" parent="PagedContent/Controls/HBoxContainer"] -margin_left = 438.0 -margin_right = 872.0 -margin_bottom = 26.5702 -size_flags_horizontal = 3 -size_flags_vertical = 3 -text = "Next page >" -[connection signal="pressed" from="PagedContent/Header/Button" to="." method="hide"] diff --git a/game/ui/windows/TalentWindow.tscn b/game/ui/windows/TalentWindow.tscn deleted file mode 100644 index d094fb3..0000000 --- a/game/ui/windows/TalentWindow.tscn +++ /dev/null @@ -1,112 +0,0 @@ -[gd_scene load_steps=5 format=2] - -[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] -[ext_resource path="res://ui/talents/Spec.tscn" type="PackedScene" id=2] -[ext_resource path="res://ui/windows/TalentWindow.gd" type="Script" id=3] -[ext_resource path="res://ui/talents/talent_switcher_button.tscn" type="PackedScene" id=4] - -[node name="TalentWindow" type="PanelContainer"] -anchor_right = 1.0 -anchor_bottom = 1.0 -theme = ExtResource( 1 ) -script = ExtResource( 3 ) -__meta__ = { -"_edit_use_anchors_": false -} -spec_scene = ExtResource( 2 ) -spec_switcher_scene = ExtResource( 4 ) -spec_container_path = NodePath("VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer/TabContainer2") -spec_switcher_path = NodePath("VBoxContainer/Header/SpecSwitcher") - -[node name="VBoxContainer" type="VBoxContainer" parent="."] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 1020.0 -margin_bottom = 596.0 - -[node name="Header" type="HBoxContainer" parent="VBoxContainer"] -margin_right = 1016.0 -margin_bottom = 30.0 -rect_min_size = Vector2( 0, 30 ) -alignment = 1 - -[node name="Label" type="Label" parent="VBoxContainer/Header"] -margin_top = 7.0 -margin_right = 42.0 -margin_bottom = 22.0 -text = "Talents" - -[node name="SpecSwitcher" type="HBoxContainer" parent="VBoxContainer/Header"] -margin_left = 46.0 -margin_right = 972.0 -margin_bottom = 30.0 -size_flags_horizontal = 3 -alignment = 1 - -[node name="Button" type="Button" parent="VBoxContainer/Header"] -margin_left = 976.0 -margin_right = 1016.0 -margin_bottom = 30.0 -rect_min_size = Vector2( 40, 30 ) -text = "X" - -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] -margin_top = 38.0 -margin_right = 1016.0 -margin_bottom = 592.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="PanelContainer" type="PanelContainer" parent="VBoxContainer/HBoxContainer"] -margin_right = 332.0 -margin_bottom = 554.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -size_flags_stretch_ratio = 0.49 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/PanelContainer"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 328.0 -margin_bottom = 550.0 - -[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/PanelContainer/VBoxContainer"] -margin_right = 324.0 -margin_bottom = 15.0 -text = "Body" - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/PanelContainer/VBoxContainer"] -margin_top = 23.0 -margin_right = 324.0 -margin_bottom = 546.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="PanelContainer2" type="PanelContainer" parent="VBoxContainer/HBoxContainer"] -margin_left = 336.0 -margin_right = 1016.0 -margin_bottom = 554.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/PanelContainer2"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 676.0 -margin_bottom = 550.0 - -[node name="Label2" type="Label" parent="VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer"] -margin_right = 672.0 -margin_bottom = 15.0 -text = "Astral" - -[node name="TabContainer2" type="TabContainer" parent="VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer"] -margin_top = 23.0 -margin_right = 672.0 -margin_bottom = 546.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -__meta__ = { -"_edit_use_anchors_": false -} -[connection signal="pressed" from="VBoxContainer/Header/Button" to="." method="hide"] diff --git a/game/ui/windows/TrainerWindow.gd b/game/ui/windows/TrainerWindow.gd deleted file mode 100644 index 434f2ad..0000000 --- a/game/ui/windows/TrainerWindow.gd +++ /dev/null @@ -1,23 +0,0 @@ -extends PanelContainer - - -# Declare member variables here. Examples: -# var a = 2 -# var b = "text" - - -# Called when the node enters the scene tree for the first time. -func _ready(): - pass # Replace with function body. - - -# Called every frame. 'delta' is the elapsed time since the previous frame. -#func _process(delta): -# pass - - -func _on_Trainer_toggled(button_pressed): - if button_pressed: - show() - else: - hide() diff --git a/game/ui/windows/TrainerWindow.tscn b/game/ui/windows/TrainerWindow.tscn deleted file mode 100644 index 19ec3b9..0000000 --- a/game/ui/windows/TrainerWindow.tscn +++ /dev/null @@ -1,184 +0,0 @@ -[gd_scene load_steps=3 format=2] - -[ext_resource path="res://ui/windows/TrainerWindow.gd" type="Script" id=1] -[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=2] - -[node name="TrainerWindow" type="PanelContainer"] -anchor_right = 1.0 -anchor_bottom = 1.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -theme = ExtResource( 2 ) -script = ExtResource( 1 ) -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="VBoxContainer" type="VBoxContainer" parent="."] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 1020.0 -margin_bottom = 596.0 - -[node name="PanelContainer" type="PanelContainer" parent="VBoxContainer"] -margin_right = 1016.0 -margin_bottom = 34.0 - -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/PanelContainer"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 1012.0 -margin_bottom = 30.0 - -[node name="Label" type="Label" parent="VBoxContainer/PanelContainer/HBoxContainer"] -margin_top = 5.0 -margin_right = 974.0 -margin_bottom = 20.0 -size_flags_horizontal = 3 -text = "Trainer" - -[node name="Button" type="Button" parent="VBoxContainer/PanelContainer/HBoxContainer"] -margin_left = 978.0 -margin_right = 1008.0 -margin_bottom = 26.269 -rect_min_size = Vector2( 30, 0 ) -text = "X" - -[node name="PanelContainer3" type="PanelContainer" parent="VBoxContainer"] -margin_top = 42.0 -margin_right = 1016.0 -margin_bottom = 296.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer/PanelContainer3"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 1012.0 -margin_bottom = 250.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -scroll_horizontal_enabled = false - -[node name="Spells" type="VBoxContainer" parent="VBoxContainer/PanelContainer3/ScrollContainer"] -margin_right = 998.0 -margin_bottom = 306.0 -size_flags_horizontal = 3 -custom_constants/separation = 2 - -[node name="Button" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_right = 998.0 -margin_bottom = 26.269 - -[node name="Button2" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_top = 28.0 -margin_right = 998.0 -margin_bottom = 54.269 - -[node name="Button3" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_top = 56.0 -margin_right = 998.0 -margin_bottom = 82.269 - -[node name="Button4" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_top = 84.0 -margin_right = 998.0 -margin_bottom = 110.269 - -[node name="Button5" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_top = 112.0 -margin_right = 998.0 -margin_bottom = 138.269 - -[node name="Button6" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_top = 140.0 -margin_right = 998.0 -margin_bottom = 166.269 - -[node name="Button7" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_top = 168.0 -margin_right = 998.0 -margin_bottom = 194.269 - -[node name="Button8" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_top = 196.0 -margin_right = 998.0 -margin_bottom = 222.269 - -[node name="Button9" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_top = 224.0 -margin_right = 998.0 -margin_bottom = 250.269 - -[node name="Button10" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_top = 252.0 -margin_right = 998.0 -margin_bottom = 278.269 - -[node name="Button11" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_top = 280.0 -margin_right = 998.0 -margin_bottom = 306.269 - -[node name="PanelContainer2" type="PanelContainer" parent="VBoxContainer"] -margin_top = 304.0 -margin_right = 1016.0 -margin_bottom = 558.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/PanelContainer2"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 1012.0 -margin_bottom = 250.0 - -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/PanelContainer2/VBoxContainer"] -margin_right = 1008.0 -margin_bottom = 223.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer"] -margin_right = 60.0 -margin_bottom = 223.0 - -[node name="Icon" type="TextureRect" parent="VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer/VBoxContainer"] -margin_right = 60.0 -margin_bottom = 60.0 -rect_min_size = Vector2( 60, 60 ) - -[node name="Description" type="Label" parent="VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer"] -margin_left = 64.0 -margin_right = 1008.0 -margin_bottom = 223.0 -size_flags_horizontal = 3 -size_flags_vertical = 7 - -[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/PanelContainer2/VBoxContainer"] -margin_top = 231.0 -margin_right = 1008.0 -margin_bottom = 246.0 - -[node name="Label" type="Label" parent="VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer2"] -margin_right = 36.0 -margin_bottom = 15.0 -text = "Costs " - -[node name="Price" type="Label" parent="VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer2"] -margin_left = 40.0 -margin_right = 40.0 -margin_bottom = 15.0 - -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] -margin_top = 566.0 -margin_right = 1016.0 -margin_bottom = 592.0 -alignment = 2 - -[node name="Train" type="Button" parent="VBoxContainer/HBoxContainer"] -margin_left = 916.0 -margin_right = 1016.0 -margin_bottom = 26.269 -rect_min_size = Vector2( 100, 0 ) -text = "Learn" diff --git a/game/ui/windows/base/PagedContentContainer.tscn b/game/ui/windows/base/PagedContentContainer.tscn deleted file mode 100644 index b7ce2a6..0000000 --- a/game/ui/windows/base/PagedContentContainer.tscn +++ /dev/null @@ -1,56 +0,0 @@ -[gd_scene format=2] - -[node name="PagedContent" type="VSplitContainer"] -margin_right = 523.0 -margin_bottom = 400.0 -dragger_visibility = 2 - -[node name="Content" type="MarginContainer" parent="."] -margin_right = 523.0 -margin_bottom = 376.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -custom_constants/margin_right = 2 -custom_constants/margin_top = 2 -custom_constants/margin_left = 2 -custom_constants/margin_bottom = 2 - -[node name="Controls" type="MarginContainer" parent="."] -margin_top = 376.0 -margin_right = 523.0 -margin_bottom = 400.0 -custom_constants/margin_right = 2 -custom_constants/margin_top = 2 -custom_constants/margin_left = 2 -custom_constants/margin_bottom = 2 - -[node name="HBoxContainer" type="HBoxContainer" parent="Controls"] -margin_left = 2.0 -margin_top = 2.0 -margin_right = 521.0 -margin_bottom = 22.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="Button2" type="Button" parent="Controls/HBoxContainer"] -margin_right = 154.0 -margin_bottom = 20.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -text = "< Previous page" - -[node name="MarginContainer" type="MarginContainer" parent="Controls/HBoxContainer"] -margin_left = 158.0 -margin_right = 359.0 -margin_bottom = 20.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -size_flags_stretch_ratio = 1.3 - -[node name="Button" type="Button" parent="Controls/HBoxContainer"] -margin_left = 363.0 -margin_right = 519.0 -margin_bottom = 20.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -text = "Next page >" diff --git a/game/ui/windows/base/ScrollContainer.tscn b/game/ui/windows/base/ScrollContainer.tscn deleted file mode 100644 index f5ef79a..0000000 --- a/game/ui/windows/base/ScrollContainer.tscn +++ /dev/null @@ -1,22 +0,0 @@ -[gd_scene format=2] - -[node name="ScrollContainer" type="HSplitContainer"] -editor/display_folded = true -margin_right = 523.0 -margin_bottom = 403.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -collapsed = true -dragger_visibility = 2 - -[node name="ScrollContainer" type="ScrollContainer" parent="."] -margin_right = 511.0 -margin_bottom = 403.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="VScrollBar" type="VScrollBar" parent="."] -margin_left = 511.0 -margin_right = 523.0 -margin_bottom = 403.0 -