diff --git a/addons/dialogue_manager/DialogueManager.cs b/addons/dialogue_manager/DialogueManager.cs new file mode 100644 index 0000000..1fae5f9 --- /dev/null +++ b/addons/dialogue_manager/DialogueManager.cs @@ -0,0 +1,391 @@ +using Godot; +using Godot.Collections; +using System; +using System.Reflection; +using System.Threading.Tasks; + +#nullable enable + +namespace DialogueManagerRuntime +{ + public enum TranslationSource + { + None, + Guess, + CSV, + PO + } + + public partial class DialogueManager : Node + { + public delegate void PassedTitleEventHandler(string title); + public delegate void GotDialogueEventHandler(DialogueLine dialogueLine); + public delegate void MutatedEventHandler(Dictionary mutation); + public delegate void DialogueEndedEventHandler(Resource dialogueResource); + + public static PassedTitleEventHandler? PassedTitle; + public static GotDialogueEventHandler? GotDialogue; + public static MutatedEventHandler? Mutated; + public static DialogueEndedEventHandler? DialogueEnded; + + [Signal] public delegate void ResolvedEventHandler(Variant value); + + private static GodotObject? instance; + public static GodotObject Instance + { + get + { + if (instance == null) + { + instance = Engine.GetSingleton("DialogueManager"); + } + return instance; + } + } + + + public static Godot.Collections.Array GameStates + { + get => (Godot.Collections.Array)Instance.Get("game_states"); + set => Instance.Set("game_states", value); + } + + + public static bool IncludeSingletons + { + get => (bool)Instance.Get("include_singletons"); + set => Instance.Set("include_singletons", value); + } + + + public static bool IncludeClasses + { + get => (bool)Instance.Get("include_classes"); + set => Instance.Set("include_classes", value); + } + + + public static TranslationSource TranslationSource + { + get => (TranslationSource)(int)Instance.Get("translation_source"); + set => Instance.Set("translation_source", (int)value); + } + + + public static Func GetCurrentScene + { + set => Instance.Set("get_current_scene", Callable.From(value)); + } + + + public void Prepare() + { + Instance.Connect("passed_title", Callable.From((string title) => PassedTitle?.Invoke(title))); + Instance.Connect("got_dialogue", Callable.From((RefCounted line) => GotDialogue?.Invoke(new DialogueLine(line)))); + Instance.Connect("mutated", Callable.From((Dictionary mutation) => Mutated?.Invoke(mutation))); + Instance.Connect("dialogue_ended", Callable.From((Resource dialogueResource) => DialogueEnded?.Invoke(dialogueResource))); + } + + + public static async Task GetSingleton() + { + if (instance != null) return instance; + + var tree = Engine.GetMainLoop(); + int x = 0; + + // Try and find the singleton for a few seconds + while (!Engine.HasSingleton("DialogueManager") && x < 300) + { + await tree.ToSignal(tree, SceneTree.SignalName.ProcessFrame); + x++; + } + + // If it times out something is wrong + if (x >= 300) + { + throw new Exception("The DialogueManager singleton is missing."); + } + + instance = Engine.GetSingleton("DialogueManager"); + return instance; + } + + public static async Task GetNextDialogueLine(Resource dialogueResource, string key = "", Array? extraGameStates = null) + { + Instance.Call("_bridge_get_next_dialogue_line", dialogueResource, key, extraGameStates ?? new Array()); + var result = await Instance.ToSignal(Instance, "bridge_get_next_dialogue_line_completed"); + + if ((RefCounted)result[0] == null) return null; + + return new DialogueLine((RefCounted)result[0]); + } + + + public static CanvasLayer ShowExampleDialogueBalloon(Resource dialogueResource, string key = "", Array? extraGameStates = null) + { + return (CanvasLayer)Instance.Call("show_example_dialogue_balloon", dialogueResource, key, extraGameStates ?? new Array()); + } + + + public static Node ShowDialogueBalloonScene(string balloonScene, Resource dialogueResource, string key = "", Array? extraGameStates = null) + { + return (Node)Instance.Call("show_dialogue_balloon_scene", balloonScene, dialogueResource, key, extraGameStates ?? new Array()); + } + + public static Node ShowDialogueBalloonScene(PackedScene balloonScene, Resource dialogueResource, string key = "", Array? extraGameStates = null) + { + return (Node)Instance.Call("show_dialogue_balloon_scene", balloonScene, dialogueResource, key, extraGameStates ?? new Array()); + } + + public static Node ShowDialogueBalloonScene(Node balloonScene, Resource dialogueResource, string key = "", Array? extraGameStates = null) + { + return (Node)Instance.Call("show_dialogue_balloon_scene", balloonScene, dialogueResource, key, extraGameStates ?? new Array()); + } + + + public static Node ShowDialogueBalloon(Resource dialogueResource, string key = "", Array? extraGameStates = null) + { + return (Node)Instance.Call("show_dialogue_balloon", dialogueResource, key, extraGameStates ?? new Array()); + } + + + public static async void Mutate(Dictionary mutation, Array? extraGameStates = null, bool isInlineMutation = false) + { + Instance.Call("_bridge_mutate", mutation, extraGameStates ?? new Array(), isInlineMutation); + await Instance.ToSignal(Instance, "bridge_mutated"); + } + + + public bool ThingHasMethod(GodotObject thing, string method) + { + MethodInfo? info = thing.GetType().GetMethod(method, BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public); + return info != null; + } + + + public async void ResolveThingMethod(GodotObject thing, string method, Array args) + { + MethodInfo? info = thing.GetType().GetMethod(method, BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public); + + if (info == null) return; + +#nullable disable + // Convert the method args to something reflection can handle + ParameterInfo[] argTypes = info.GetParameters(); + object[] _args = new object[argTypes.Length]; + for (int i = 0; i < argTypes.Length; i++) + { + if (i < args.Count && args[i].Obj != null) + { + _args[i] = Convert.ChangeType(args[i].Obj, argTypes[i].ParameterType); + } + else if (argTypes[i].DefaultValue != null) + { + _args[i] = argTypes[i].DefaultValue; + } + } + + if (info.ReturnType == typeof(Task)) + { + await (Task)info.Invoke(thing, _args); + EmitSignal(SignalName.Resolved, null); + } + else + { + var value = (Variant)info.Invoke(thing, _args); + EmitSignal(SignalName.Resolved, value); + } + } +#nullable enable + } + + + public partial class DialogueLine : RefCounted + { + private string type = "dialogue"; + public string Type + { + get => type; + set => type = value; + } + + private string next_id = ""; + public string NextId + { + get => next_id; + set => next_id = value; + } + + private string character = ""; + public string Character + { + get => character; + set => character = value; + } + + private string text = ""; + public string Text + { + get => text; + set => text = value; + } + + private string translation_key = ""; + public string TranslationKey + { + get => translation_key; + set => translation_key = value; + } + + private Array responses = new Array(); + public Array Responses + { + get => responses; + } + + private string? time = null; + public string? Time + { + get => time; + } + + private Dictionary pauses = new Dictionary(); + public Dictionary Pauses + { + get => pauses; + } + + private Dictionary speeds = new Dictionary(); + public Dictionary Speeds + { + get => speeds; + } + + private Array inline_mutations = new Array(); + public Array InlineMutations + { + get => inline_mutations; + } + + private Array extra_game_states = new Array(); + + private Array tags = new Array(); + public Array Tags + { + get => tags; + } + + public DialogueLine(RefCounted data) + { + type = (string)data.Get("type"); + next_id = (string)data.Get("next_id"); + character = (string)data.Get("character"); + text = (string)data.Get("text"); + translation_key = (string)data.Get("translation_key"); + pauses = (Dictionary)data.Get("pauses"); + speeds = (Dictionary)data.Get("speeds"); + inline_mutations = (Array)data.Get("inline_mutations"); + time = (string)data.Get("time"); + tags = (Array)data.Get("tags"); + + foreach (var response in (Array)data.Get("responses")) + { + responses.Add(new DialogueResponse(response)); + } + } + + + public string GetTagValue(string tagName) + { + string wrapped = $"{tagName}="; + foreach (var tag in tags) + { + if (tag.StartsWith(wrapped)) + { + return tag.Substring(wrapped.Length); + } + } + return ""; + } + + public override string ToString() + { + switch (type) + { + case "dialogue": + return $""; + case "mutation": + return ""; + default: + return ""; + } + } + } + + + public partial class DialogueResponse : RefCounted + { + private string next_id = ""; + public string NextId + { + get => next_id; + set => next_id = value; + } + + private bool is_allowed = true; + public bool IsAllowed + { + get => is_allowed; + set => is_allowed = value; + } + + private string text = ""; + public string Text + { + get => text; + set => text = value; + } + + private string translation_key = ""; + public string TranslationKey + { + get => translation_key; + set => translation_key = value; + } + + private Array tags = new Array(); + public Array Tags + { + get => tags; + } + + public DialogueResponse(RefCounted data) + { + next_id = (string)data.Get("next_id"); + is_allowed = (bool)data.Get("is_allowed"); + text = (string)data.Get("text"); + translation_key = (string)data.Get("translation_key"); + tags = (Array)data.Get("tags"); + } + + public string GetTagValue(string tagName) + { + string wrapped = $"{tagName}="; + foreach (var tag in tags) + { + if (tag.StartsWith(wrapped)) + { + return tag.Substring(wrapped.Length); + } + } + return ""; + } + + public override string ToString() + { + return $" + + + + + + + + + diff --git a/addons/dialogue_manager/assets/icon.svg.import b/addons/dialogue_manager/assets/icon.svg.import new file mode 100644 index 0000000..3b6fd5e --- /dev/null +++ b/addons/dialogue_manager/assets/icon.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3lr2uas6ax8v" +path="res://.godot/imported/icon.svg-17eb5d3e2a3cfbe59852220758c5b7bd.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogue_manager/assets/icon.svg" +dest_files=["res://.godot/imported/icon.svg-17eb5d3e2a3cfbe59852220758c5b7bd.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/dialogue_manager/assets/responses_menu.svg b/addons/dialogue_manager/assets/responses_menu.svg new file mode 100644 index 0000000..4e4089d --- /dev/null +++ b/addons/dialogue_manager/assets/responses_menu.svg @@ -0,0 +1,52 @@ + + + + + + + + + + diff --git a/addons/dialogue_manager/assets/responses_menu.svg.import b/addons/dialogue_manager/assets/responses_menu.svg.import new file mode 100644 index 0000000..83355fc --- /dev/null +++ b/addons/dialogue_manager/assets/responses_menu.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://drjfciwitjm83" +path="res://.godot/imported/responses_menu.svg-87cf63ca685d53616205049572f4eb8f.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogue_manager/assets/responses_menu.svg" +dest_files=["res://.godot/imported/responses_menu.svg-87cf63ca685d53616205049572f4eb8f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/addons/dialogue_manager/assets/update.svg b/addons/dialogue_manager/assets/update.svg new file mode 100644 index 0000000..a5b80ee --- /dev/null +++ b/addons/dialogue_manager/assets/update.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + diff --git a/addons/dialogue_manager/assets/update.svg.import b/addons/dialogue_manager/assets/update.svg.import new file mode 100644 index 0000000..2d8171a --- /dev/null +++ b/addons/dialogue_manager/assets/update.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3baj6rygkb3f" +path="res://.godot/imported/update.svg-f1628866ed4eb2e13e3b81f75443687e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/dialogue_manager/assets/update.svg" +dest_files=["res://.godot/imported/update.svg-f1628866ed4eb2e13e3b81f75443687e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/dialogue_manager/components/code_edit.gd b/addons/dialogue_manager/components/code_edit.gd new file mode 100644 index 0000000..e57c1af --- /dev/null +++ b/addons/dialogue_manager/components/code_edit.gd @@ -0,0 +1,425 @@ +@tool +extends CodeEdit + + +signal active_title_change(title: String) +signal error_clicked(line_number: int) +signal external_file_requested(path: String, title: String) + + +const DialogueSyntaxHighlighter = preload("./code_edit_syntax_highlighter.gd") + + +# A link back to the owner MainView +var main_view + +# Theme overrides for syntax highlighting, etc +var theme_overrides: Dictionary: + set(value): + theme_overrides = value + + syntax_highlighter = DialogueSyntaxHighlighter.new() + + # General UI + add_theme_color_override("font_color", theme_overrides.text_color) + add_theme_color_override("background_color", theme_overrides.background_color) + add_theme_color_override("current_line_color", theme_overrides.current_line_color) + add_theme_font_override("font", get_theme_font("source", "EditorFonts")) + add_theme_font_size_override("font_size", theme_overrides.font_size * theme_overrides.scale) + font_size = round(theme_overrides.font_size) + get: + return theme_overrides + +# Any parse errors +var errors: Array: + set(next_errors): + errors = next_errors + for i in range(0, get_line_count()): + var is_error: bool = false + for error in errors: + if error.line_number == i: + is_error = true + mark_line_as_error(i, is_error) + _on_code_edit_caret_changed() + get: + return errors + +# The last selection (if there was one) so we can remember it for refocusing +var last_selected_text: String + +var font_size: int: + set(value): + font_size = value + add_theme_font_size_override("font_size", font_size * theme_overrides.scale) + get: + return font_size + +var WEIGHTED_RANDOM_PREFIX: RegEx = RegEx.create_from_string("^\\%[\\d.]+\\s") + + +func _ready() -> void: + # Add error gutter + add_gutter(0) + set_gutter_type(0, TextEdit.GUTTER_TYPE_ICON) + + # Add comment delimiter + if not has_comment_delimiter("#"): + add_comment_delimiter("#", "", true) + + syntax_highlighter = DialogueSyntaxHighlighter.new() + + +func _gui_input(event: InputEvent) -> void: + if event is InputEventKey and event.is_pressed(): + match event.as_text(): + "Ctrl+Equal", "Command+Equal": + self.font_size += 1 + get_viewport().set_input_as_handled() + "Ctrl+Minus", "Command+Minus": + self.font_size -= 1 + get_viewport().set_input_as_handled() + "Ctrl+0", "Command+0": + self.font_size = theme_overrides.font_size + get_viewport().set_input_as_handled() + "Ctrl+K", "Command+K": + toggle_comment() + get_viewport().set_input_as_handled() + "Alt+Up": + move_line(-1) + get_viewport().set_input_as_handled() + "Alt+Down": + move_line(1) + get_viewport().set_input_as_handled() + + elif event is InputEventMouse: + match event.as_text(): + "Ctrl+Mouse Wheel Up", "Command+Mouse Wheel Up": + self.font_size += 1 + get_viewport().set_input_as_handled() + "Ctrl+Mouse Wheel Down", "Command+Mouse Wheel Down": + self.font_size -= 1 + get_viewport().set_input_as_handled() + + +func _can_drop_data(at_position: Vector2, data) -> bool: + if typeof(data) != TYPE_DICTIONARY: return false + if data.type != "files": return false + + var files: PackedStringArray = Array(data.files).filter(func(f): return f.get_extension() == "dialogue") + return files.size() > 0 + + +func _drop_data(at_position: Vector2, data) -> void: + var replace_regex: RegEx = RegEx.create_from_string("[^a-zA-Z_0-9]+") + + var files: PackedStringArray = Array(data.files).filter(func(f): return f.get_extension() == "dialogue") + for file in files: + # Don't import the file into itself + if file == main_view.current_file_path: continue + + var path = file.replace("res://", "").replace(".dialogue", "") + # Find the first non-import line in the file to add our import + var lines = text.split("\n") + for i in range(0, lines.size()): + if not lines[i].begins_with("import "): + insert_line_at(i, "import \"%s\" as %s\n" % [file, replace_regex.sub(path, "_", true)]) + set_caret_line(i) + break + + +func _request_code_completion(force: bool) -> void: + var cursor: Vector2 = get_cursor() + var current_line: String = get_line(cursor.y) + + if ("=> " in current_line or "=>< " in current_line) and (cursor.x > current_line.find("=>")): + var prompt: String = current_line.split("=>")[1] + if prompt.begins_with("< "): + prompt = prompt.substr(2) + else: + prompt = prompt.substr(1) + + if "=> " in current_line: + if matches_prompt(prompt, "end"): + add_code_completion_option(CodeEdit.KIND_CLASS, "END", "END".substr(prompt.length()), theme_overrides.text_color, get_theme_icon("Stop", "EditorIcons")) + if matches_prompt(prompt, "end!"): + add_code_completion_option(CodeEdit.KIND_CLASS, "END!", "END!".substr(prompt.length()), theme_overrides.text_color, get_theme_icon("Stop", "EditorIcons")) + + # Get all titles, including those in imports + var parser: DialogueManagerParser = DialogueManagerParser.new() + parser.prepare(text, main_view.current_file_path, false) + for title in parser.titles: + if "/" in title: + var bits = title.split("/") + if matches_prompt(prompt, bits[0]) or matches_prompt(prompt, bits[1]): + add_code_completion_option(CodeEdit.KIND_CLASS, title, title.substr(prompt.length()), theme_overrides.text_color, get_theme_icon("CombineLines", "EditorIcons")) + elif matches_prompt(prompt, title): + add_code_completion_option(CodeEdit.KIND_CLASS, title, title.substr(prompt.length()), theme_overrides.text_color, get_theme_icon("ArrowRight", "EditorIcons")) + update_code_completion_options(true) + parser.free() + return + + var name_so_far: String = WEIGHTED_RANDOM_PREFIX.sub(current_line.strip_edges(), "") + if name_so_far != "" and name_so_far[0].to_upper() == name_so_far[0]: + # Only show names starting with that character + var names: PackedStringArray = get_character_names(name_so_far) + if names.size() > 0: + for name in names: + add_code_completion_option(CodeEdit.KIND_CLASS, name + ": ", name.substr(name_so_far.length()) + ": ", theme_overrides.text_color, get_theme_icon("Sprite2D", "EditorIcons")) + update_code_completion_options(true) + else: + cancel_code_completion() + + +func _filter_code_completion_candidates(candidates: Array) -> Array: + # Not sure why but if this method isn't overridden then all completions are wrapped in quotes. + return candidates + + +func _confirm_code_completion(replace: bool) -> void: + var completion = get_code_completion_option(get_code_completion_selected_index()) + begin_complex_operation() + # Delete any part of the text that we've already typed + for i in range(0, completion.display_text.length() - completion.insert_text.length()): + backspace() + # Insert the whole match + insert_text_at_caret(completion.display_text) + end_complex_operation() + + # Close the autocomplete menu on the next tick + call_deferred("cancel_code_completion") + + +### Helpers + + +# Get the current caret as a Vector2 +func get_cursor() -> Vector2: + return Vector2(get_caret_column(), get_caret_line()) + + +# Set the caret from a Vector2 +func set_cursor(from_cursor: Vector2) -> void: + set_caret_line(from_cursor.y) + set_caret_column(from_cursor.x) + + +# Check if a prompt is the start of a string without actually being that string +func matches_prompt(prompt: String, matcher: String) -> bool: + return prompt.length() < matcher.length() and matcher.to_lower().begins_with(prompt.to_lower()) + + +## Get a list of titles from the current text +func get_titles() -> PackedStringArray: + var titles = PackedStringArray([]) + var lines = text.split("\n") + for line in lines: + if line.begins_with("~ "): + titles.append(line.substr(2).strip_edges()) + return titles + + +## Work out what the next title above the current line is +func check_active_title() -> void: + var line_number = get_caret_line() + var lines = text.split("\n") + # Look at each line above this one to find the next title line + for i in range(line_number, -1, -1): + if lines[i].begins_with("~ "): + active_title_change.emit(lines[i].replace("~ ", "")) + return + + active_title_change.emit("") + + +# Move the caret line to match a given title +func go_to_title(title: String) -> void: + var lines = text.split("\n") + for i in range(0, lines.size()): + if lines[i].strip_edges() == "~ " + title: + set_caret_line(i) + center_viewport_to_caret() + + +func get_character_names(beginning_with: String) -> PackedStringArray: + var names: PackedStringArray = [] + var lines = text.split("\n") + for line in lines: + if ": " in line: + var name: String = WEIGHTED_RANDOM_PREFIX.sub(line.split(": ")[0].strip_edges(), "") + if not name in names and matches_prompt(beginning_with, name): + names.append(name) + return names + + +# Mark a line as an error or not +func mark_line_as_error(line_number: int, is_error: bool) -> void: + if is_error: + set_line_background_color(line_number, theme_overrides.error_line_color) + set_line_gutter_icon(line_number, 0, get_theme_icon("StatusError", "EditorIcons")) + else: + set_line_background_color(line_number, theme_overrides.background_color) + set_line_gutter_icon(line_number, 0, null) + + +# Insert or wrap some bbcode at the caret/selection +func insert_bbcode(open_tag: String, close_tag: String = "") -> void: + if close_tag == "": + insert_text_at_caret(open_tag) + grab_focus() + else: + var selected_text = get_selected_text() + insert_text_at_caret("%s%s%s" % [open_tag, selected_text, close_tag]) + grab_focus() + set_caret_column(get_caret_column() - close_tag.length()) + +# Insert text at current caret position +# Move Caret down 1 line if not => END +func insert_text(text: String) -> void: + if text != "=> END": + insert_text_at_caret(text+"\n") + set_caret_line(get_caret_line()+1) + else: + insert_text_at_caret(text) + grab_focus() + + +# Toggle the selected lines as comments +func toggle_comment() -> void: + begin_complex_operation() + + var comment_delimiter: String = delimiter_comments[0] + var is_first_line: bool = true + var will_comment: bool = true + var selections: Array = [] + var line_offsets: Dictionary = {} + + for caret_index in range(0, get_caret_count()): + var from_line: int = get_caret_line(caret_index) + var from_column: int = get_caret_column(caret_index) + var to_line: int = get_caret_line(caret_index) + var to_column: int = get_caret_column(caret_index) + + if has_selection(caret_index): + from_line = get_selection_from_line(caret_index) + to_line = get_selection_to_line(caret_index) + from_column = get_selection_from_column(caret_index) + to_column = get_selection_to_column(caret_index) + + selections.append({ + from_line = from_line, + from_column = from_column, + to_line = to_line, + to_column = to_column + }) + + for line_number in range(from_line, to_line + 1): + if line_offsets.has(line_number): continue + + var line_text: String = get_line(line_number) + + # The first line determines if we are commenting or uncommentingg + if is_first_line: + is_first_line = false + will_comment = not line_text.strip_edges().begins_with(comment_delimiter) + + # Only comment/uncomment if the current line needs to + if will_comment: + set_line(line_number, comment_delimiter + line_text) + line_offsets[line_number] = 1 + elif line_text.begins_with(comment_delimiter): + set_line(line_number, line_text.substr(comment_delimiter.length())) + line_offsets[line_number] = -1 + else: + line_offsets[line_number] = 0 + + for caret_index in range(0, get_caret_count()): + var selection: Dictionary = selections[caret_index] + select( + selection.from_line, + selection.from_column + line_offsets[selection.from_line], + selection.to_line, + selection.to_column + line_offsets[selection.to_line], + caret_index + ) + set_caret_column(selection.from_column + line_offsets[selection.from_line], false, caret_index) + + end_complex_operation() + + text_set.emit() + text_changed.emit() + + +# Move the selected lines up or down +func move_line(offset: int) -> void: + offset = clamp(offset, -1, 1) + + var cursor = get_cursor() + var reselect: bool = false + var from: int = cursor.y + var to: int = cursor.y + if has_selection(): + reselect = true + from = get_selection_from_line() + to = get_selection_to_line() + + var lines := text.split("\n") + + # We can't move the lines out of bounds + if from + offset < 0 or to + offset >= lines.size(): return + + var target_from_index = from - 1 if offset == -1 else to + 1 + var target_to_index = to if offset == -1 else from + var line_to_move = lines[target_from_index] + lines.remove_at(target_from_index) + lines.insert(target_to_index, line_to_move) + + text = "\n".join(lines) + + cursor.y += offset + from += offset + to += offset + if reselect: + select(from, 0, to, get_line_width(to)) + set_cursor(cursor) + text_changed.emit() + + +### Signals + + +func _on_code_edit_symbol_validate(symbol: String) -> void: + if symbol.begins_with("res://") and symbol.ends_with(".dialogue"): + set_symbol_lookup_word_as_valid(true) + return + + for title in get_titles(): + if symbol == title: + set_symbol_lookup_word_as_valid(true) + return + set_symbol_lookup_word_as_valid(false) + + +func _on_code_edit_symbol_lookup(symbol: String, line: int, column: int) -> void: + if symbol.begins_with("res://") and symbol.ends_with(".dialogue"): + external_file_requested.emit(symbol, "") + else: + go_to_title(symbol) + + +func _on_code_edit_text_changed() -> void: + request_code_completion(true) + + +func _on_code_edit_text_set() -> void: + queue_redraw() + + +func _on_code_edit_caret_changed() -> void: + check_active_title() + last_selected_text = get_selected_text() + + +func _on_code_edit_gutter_clicked(line: int, gutter: int) -> void: + var line_errors = errors.filter(func(error): return error.line_number == line) + if line_errors.size() > 0: + error_clicked.emit(line) diff --git a/addons/dialogue_manager/components/code_edit.tscn b/addons/dialogue_manager/components/code_edit.tscn new file mode 100644 index 0000000..a974ea3 --- /dev/null +++ b/addons/dialogue_manager/components/code_edit.tscn @@ -0,0 +1,56 @@ +[gd_scene load_steps=4 format=3 uid="uid://civ6shmka5e8u"] + +[ext_resource type="Script" path="res://addons/dialogue_manager/components/code_edit_syntax_highlighter.gd" id="1_58cfo"] +[ext_resource type="Script" path="res://addons/dialogue_manager/components/code_edit.gd" id="1_g324i"] + +[sub_resource type="SyntaxHighlighter" id="SyntaxHighlighter_cobxx"] +script = ExtResource("1_58cfo") + +[node name="CodeEdit" type="CodeEdit"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +text = "~ title_thing + +if this = \"that\" or 'this' +Nathan: Something +- Then [if test.thing() == 2.0] => somewhere +- Other => END! + +~ somewhere + +set has_something = true +=> END" +highlight_all_occurrences = true +highlight_current_line = true +draw_tabs = true +syntax_highlighter = SubResource("SyntaxHighlighter_cobxx") +scroll_past_end_of_file = true +minimap_draw = true +symbol_lookup_on_click = true +line_folding = true +gutters_draw_line_numbers = true +gutters_draw_fold_gutter = true +delimiter_strings = Array[String](["\" \""]) +delimiter_comments = Array[String](["#"]) +code_completion_enabled = true +code_completion_prefixes = Array[String]([">", "<"]) +indent_automatic = true +auto_brace_completion_enabled = true +auto_brace_completion_highlight_matching = true +auto_brace_completion_pairs = { +"\"": "\"", +"(": ")", +"[": "]", +"{": "}" +} +script = ExtResource("1_g324i") + +[connection signal="caret_changed" from="." to="." method="_on_code_edit_caret_changed"] +[connection signal="gutter_clicked" from="." to="." method="_on_code_edit_gutter_clicked"] +[connection signal="symbol_lookup" from="." to="." method="_on_code_edit_symbol_lookup"] +[connection signal="symbol_validate" from="." to="." method="_on_code_edit_symbol_validate"] +[connection signal="text_changed" from="." to="." method="_on_code_edit_text_changed"] +[connection signal="text_set" from="." to="." method="_on_code_edit_text_set"] diff --git a/addons/dialogue_manager/components/code_edit_syntax_highlighter.gd b/addons/dialogue_manager/components/code_edit_syntax_highlighter.gd new file mode 100644 index 0000000..4f5b44c --- /dev/null +++ b/addons/dialogue_manager/components/code_edit_syntax_highlighter.gd @@ -0,0 +1,379 @@ +@tool +extends SyntaxHighlighter + + +enum ExpressionType {DO, SET, IF} + + +var dialogue_manager_parser: DialogueManagerParser = DialogueManagerParser.new() + +var regex_titles: RegEx = RegEx.create_from_string("^\\s*(?~\\s+[^\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\-\\=\\+\\{\\}\\[\\]\\;\\:\\\"\\'\\,\\.\\<\\>\\?\\/\\s]+)") +var regex_comments: RegEx = RegEx.create_from_string("(?:(?>\"(?:\\\\\"|[^\"\\n])*\")[^\"\\n]*?\\s*(?<comment>#[^\\n]*)$|^[^\"#\\n]*?\\s*(?<comment2>#[^\\n]*))") +var regex_mutation: RegEx = RegEx.create_from_string("^\\s*(do|set) (?<mutation>.*)") +var regex_condition: RegEx = RegEx.create_from_string("^\\s*(if|elif|while|else if) (?<condition>.*)") +var regex_wcondition: RegEx = RegEx.create_from_string("\\[if (?<condition>((?:[^\\[\\]]*)|(?:\\[(?1)\\]))*?)\\]") +var regex_wendif: RegEx = RegEx.create_from_string("\\[(\\/if|else)\\]") +var regex_rgroup: RegEx = RegEx.create_from_string("\\[\\[(?<options>.*?)\\]\\]") +var regex_endconditions: RegEx = RegEx.create_from_string("^\\s*(endif|else):?\\s*$") +var regex_tags: RegEx = RegEx.create_from_string("\\[(?<tag>(?!(?:ID:.*)|if)[a-zA-Z_][a-zA-Z0-9_]*)(?:[= ](?<val>[^\\[\\]]+))?\\](?:(?<text>(?!\\[\\/\\k<tag>\\]).*?)?(?<end>\\[\\/\\k<tag>\\]))?") +var regex_dialogue: RegEx = RegEx.create_from_string("^\\s*(?:(?<random>\\%[\\d.]* )|(?<response>- ))?(?:(?<character>[^#:]*): )?(?<dialogue>.*)$") +var regex_goto: RegEx = RegEx.create_from_string("=><? (?:(?<file>[^\\/]+)\\/)?(?<title>[^\\/]*)") +var regex_string: RegEx = RegEx.create_from_string("^(?<delimiter>[\"'])(?<content>(?:\\\\{2})*|(?:.*?[^\\\\](?:\\\\{2})*))\\1$") +var regex_escape: RegEx = RegEx.create_from_string("\\\\.") +var regex_number: RegEx = RegEx.create_from_string("^-?(?:(?:0x(?:[0-9A-Fa-f]{2})+)|(?:0b[01]+)|(?:\\d+(?:(?:[\\.]\\d*)?(?:e\\d+)?)|(?:_\\d+)+)?)$") +var regex_array: RegEx = RegEx.create_from_string("\\[((?>[^\\[\\]]+|(?R))*)\\]") +var regex_dict: RegEx = RegEx.create_from_string("^\\{((?>[^\\{\\}]+|(?R))*)\\}$") +var regex_kvdict: RegEx = RegEx.create_from_string("^\\s*(?<left>.*?)\\s*(?<colon>:)\\s*(?<right>.*)$") +var regex_commas: RegEx = RegEx.create_from_string("([^,]+)(?:\\s*,\\s*)?") +var regex_assignment: RegEx = RegEx.create_from_string("^\\s*(?<var>[a-zA-Z_][a-zA-Z_0-9]*)(?:(?<attr>(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)+)|(?:\\[(?<key>[^\\]]+)\\]))?\\s*(?<op>(?:\\/|\\*|-|\\+)?=)\\s*(?<val>.*)$") +var regex_varname: RegEx = RegEx.create_from_string("^\\s*(?!true|false|and|or|not|in)(?<var>[a-zA-Z_][a-zA-Z_0-9]*)(?:(?<attr>(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)+)|(?:\\[(?<key>[^\\]]+)\\]))?\\s*$") +var regex_bool: RegEx = RegEx.create_from_string("^\\s*(true|false)\\s*$") +var regex_function: RegEx = RegEx.create_from_string("^\\s*([a-zA-Z_][a-zA-Z_0-9]*\\s*)\\(") +var regex_comparison: RegEx = RegEx.create_from_string("^(?<left>.*?)\\s*(?<op>==|>=|<=|<|>|!=)\\s*(?<right>.*)$") +var regex_blogical: RegEx = RegEx.create_from_string("^(?<left>.*?)\\s+(?<op>and|or|in)\\s+(?<right>.*)$") +var regex_ulogical: RegEx = RegEx.create_from_string("^\\s*(?<op>not)\\s+(?<right>.*)$") +var regex_paren: RegEx = RegEx.create_from_string("\\((?<paren>((?:[^\\(\\)]*)|(?:\\((?1)\\)))*?)\\)") + +var cache: Dictionary = {} + + +func _notification(what: int) -> void: + if what == NOTIFICATION_PREDELETE: + dialogue_manager_parser.free() + + +func _clear_highlighting_cache() -> void: + cache = {} + + +## Returns the syntax coloring for a dialogue file line +func _get_line_syntax_highlighting(line: int) -> Dictionary: + var colors: Dictionary = {} + var text_edit: TextEdit = get_text_edit() + var text: String = text_edit.get_line(line) + + # Prevents an error from popping up while developing + if not is_instance_valid(text_edit) or text_edit.theme_overrides.is_empty(): + return colors + + # Disable this, as well as the line at the bottom of this function to remove the cache. + if text in cache: + return cache[text] + + # Comments, we have to remove them at this point so the rest of the processing is easier + # Counts both end-of-line and single-line comments + # Comments are not allowed within dialogue lines or response lines, so we ask the parser what it thinks the current line is + if not (dialogue_manager_parser.is_dialogue_line(text) or dialogue_manager_parser.is_response_line(text)) or dialogue_manager_parser.is_line_empty(text) or dialogue_manager_parser.is_import_line(text): + var comment_matches: Array[RegExMatch] = regex_comments.search_all(text) + for comment_match in comment_matches: + for i in ["comment", "comment2"]: + if i in comment_match.names: + colors[comment_match.get_start(i)] = {"color": text_edit.theme_overrides.comments_color} + text = text.substr(0, comment_match.get_start(i)) + + # Dialogues. + var dialogue_matches: Array[RegExMatch] = regex_dialogue.search_all(text) + for dialogue_match in dialogue_matches: + if "random" in dialogue_match.names: + colors[dialogue_match.get_start("random")] = {"color": text_edit.theme_overrides.symbols_color} + colors[dialogue_match.get_end("random")] = {"color": text_edit.theme_overrides.text_color} + if "response" in dialogue_match.names: + colors[dialogue_match.get_start("response")] = {"color": text_edit.theme_overrides.symbols_color} + colors[dialogue_match.get_end("response")] = {"color": text_edit.theme_overrides.text_color} + if "character" in dialogue_match.names: + colors[dialogue_match.get_start("character")] = {"color": text_edit.theme_overrides.members_color} + colors[dialogue_match.get_end("character")] = {"color": text_edit.theme_overrides.text_color} + colors.merge(_get_dialogue_syntax_highlighting(dialogue_match.get_start("dialogue"), dialogue_match.get_string("dialogue")), true) + + # Title lines. + if dialogue_manager_parser.is_title_line(text): + var title_matches: Array[RegExMatch] = regex_titles.search_all(text) + for title_match in title_matches: + colors[title_match.get_start("title")] = {"color": text_edit.theme_overrides.titles_color} + + # Import lines. + var import_matches: Array[RegExMatch] = dialogue_manager_parser.IMPORT_REGEX.search_all(text) + for import_match in import_matches: + colors[import_match.get_start(0)] = {"color": text_edit.theme_overrides.conditions_color} + colors[import_match.get_start("path") - 1] = {"color": text_edit.theme_overrides.strings_color} + colors[import_match.get_end("path") + 1] = {"color": text_edit.theme_overrides.conditions_color} + colors[import_match.get_start("prefix")] = {"color": text_edit.theme_overrides.members_color} + colors[import_match.get_end("prefix")] = {"color": text_edit.theme_overrides.conditions_color} + + # Using clauses + var using_matches: Array[RegExMatch] = dialogue_manager_parser.USING_REGEX.search_all(text) + for using_match in using_matches: + colors[using_match.get_start(0)] = {"color": text_edit.theme_overrides.conditions_color} + colors[using_match.get_start("state") - 1] = {"color": text_edit.theme_overrides.text_color} + + # Condition keywords and expressions. + var condition_matches: Array[RegExMatch] = regex_condition.search_all(text) + for condition_match in condition_matches: + colors[condition_match.get_start(0)] = {"color": text_edit.theme_overrides.conditions_color} + colors[condition_match.get_end(1)] = {"color": text_edit.theme_overrides.text_color} + colors.merge(_get_expression_syntax_highlighting(condition_match.get_start("condition"), ExpressionType.IF, condition_match.get_string("condition")), true) + # endif/else + var endcondition_matches: Array[RegExMatch] = regex_endconditions.search_all(text) + for endcondition_match in endcondition_matches: + colors[endcondition_match.get_start(1)] = {"color": text_edit.theme_overrides.conditions_color} + colors[endcondition_match.get_end(1)] = {"color": text_edit.theme_overrides.symbols_color} + + # Mutations. + var mutation_matches: Array[RegExMatch] = regex_mutation.search_all(text) + for mutation_match in mutation_matches: + colors[mutation_match.get_start(0)] = {"color": text_edit.theme_overrides.mutations_color} + colors.merge(_get_expression_syntax_highlighting(mutation_match.get_start("mutation"), ExpressionType.DO if mutation_match.strings[1] == "do" else ExpressionType.SET, mutation_match.get_string("mutation")), true) + + # CodeEdit seems to have issues if the Dictionary keys weren't added in order? + var new_colors: Dictionary = {} + var ordered_keys: Array = colors.keys() + ordered_keys.sort() + for index in ordered_keys: + new_colors[index] = colors[index] + + cache[text] = new_colors + return new_colors + + +## Returns the syntax highlighting for a dialogue line +func _get_dialogue_syntax_highlighting(start_index: int, text: String) -> Dictionary: + var text_edit: TextEdit = get_text_edit() + var colors: Dictionary = {} + + # #tag style tags + var hashtag_matches: Array[RegExMatch] = dialogue_manager_parser.TAGS_REGEX.search_all(text) + for hashtag_match in hashtag_matches: + colors[start_index + hashtag_match.get_start(0)] = { "color": text_edit.theme_overrides.comments_color } + colors[start_index + hashtag_match.get_end(0)] = { "color": text_edit.theme_overrides.text_color } + + # Global tags, like bbcode. + var tag_matches: Array[RegExMatch] = regex_tags.search_all(text) + for tag_match in tag_matches: + colors[start_index + tag_match.get_start(0)] = {"color": text_edit.theme_overrides.symbols_color} + if "val" in tag_match.names: + colors.merge(_get_literal_syntax_highlighting(start_index + tag_match.get_start("val"), tag_match.get_string("val")), true) + colors[start_index + tag_match.get_end("val")] = {"color": text_edit.theme_overrides.symbols_color} + # Showing the text color straight in the editor for better ease-of-use + if tag_match.get_string("tag") == "color": + colors[start_index + tag_match.get_start("val")] = {"color": Color.from_string(tag_match.get_string("val"), text_edit.theme_overrides.text_color)} + if "text" in tag_match.names: + colors[start_index + tag_match.get_start("text")] = {"color": text_edit.theme_overrides.text_color} + # Text can still contain tags if several effects are applied ([center][b]Something[/b][/center], so recursing + colors.merge(_get_dialogue_syntax_highlighting(start_index + tag_match.get_start("text"), tag_match.get_string("text")), true) + colors[start_index + tag_match.get_end("text")] = {"color": text_edit.theme_overrides.symbols_color} + if "end" in tag_match.names: + colors[start_index + tag_match.get_start("end")] = {"color": text_edit.theme_overrides.symbols_color} + colors[start_index + tag_match.get_end("end")] = {"color": text_edit.theme_overrides.text_color} + colors[start_index + tag_match.get_end(0)] = {"color": text_edit.theme_overrides.text_color} + + # ID tag. + var translation_matches: Array[RegExMatch] = dialogue_manager_parser.TRANSLATION_REGEX.search_all(text) + for translation_match in translation_matches: + colors[start_index + translation_match.get_start(0)] = {"color": text_edit.theme_overrides.comments_color} + colors[start_index + translation_match.get_end(0)] = {"color": text_edit.theme_overrides.text_color} + + # Replacements. + var replacement_matches: Array[RegExMatch] = dialogue_manager_parser.REPLACEMENTS_REGEX.search_all(text) + for replacement_match in replacement_matches: + colors[start_index + replacement_match.get_start(0)] = {"color": text_edit.theme_overrides.symbols_color} + colors[start_index + replacement_match.get_start(1)] = {"color": text_edit.theme_overrides.text_color} + colors.merge(_get_literal_syntax_highlighting(start_index + replacement_match.get_start(1), replacement_match.strings[1]), true) + colors[start_index + replacement_match.get_end(1)] = {"color": text_edit.theme_overrides.symbols_color} + colors[start_index + replacement_match.get_end(0)] = {"color": text_edit.theme_overrides.text_color} + + # Jump at the end of a response. + var goto_matches: Array[RegExMatch] = regex_goto.search_all(text) + for goto_match in goto_matches: + colors[start_index + goto_match.get_start(0)] = {"color": text_edit.theme_overrides.jumps_color} + if "file" in goto_match.names: + colors[start_index + goto_match.get_start("file")] = {"color": text_edit.theme_overrides.members_color} + colors[start_index + goto_match.get_end("file")] = {"color": text_edit.theme_overrides.symbols_color} + colors[start_index + goto_match.get_start("title")] = {"color": text_edit.theme_overrides.titles_color} + colors[start_index + goto_match.get_end("title")] = {"color": text_edit.theme_overrides.jumps_color} + colors[start_index + goto_match.get_end(0)] = {"color": text_edit.theme_overrides.text_color} + + # Wrapped condition. + var wcondition_matches: Array[RegExMatch] = regex_wcondition.search_all(text) + for wcondition_match in wcondition_matches: + colors[start_index + wcondition_match.get_start(0)] = {"color": text_edit.theme_overrides.symbols_color} + colors[start_index + wcondition_match.get_start(0) + 1] = {"color": text_edit.theme_overrides.conditions_color} + colors[start_index + wcondition_match.get_start(0) + 3] = {"color": text_edit.theme_overrides.text_color} + colors.merge(_get_literal_syntax_highlighting(start_index + wcondition_match.get_start("condition"), wcondition_match.get_string("condition")), true) + colors[start_index + wcondition_match.get_end("condition")] = {"color": text_edit.theme_overrides.symbols_color} + colors[start_index + wcondition_match.get_end(0)] = {"color": text_edit.theme_overrides.text_color} + # [/if] tag for color matching with the opening tag + var wendif_matches: Array[RegExMatch] = regex_wendif.search_all(text) + for wendif_match in wendif_matches: + colors[start_index + wendif_match.get_start(0)] = {"color": text_edit.theme_overrides.symbols_color} + colors[start_index + wendif_match.get_start(1)] = {"color": text_edit.theme_overrides.conditions_color} + colors[start_index + wendif_match.get_end(1)] = {"color": text_edit.theme_overrides.symbols_color} + colors[start_index + wendif_match.get_end(0)] = {"color": text_edit.theme_overrides.text_color} + + # Random groups + var rgroup_matches: Array[RegExMatch] = regex_rgroup.search_all(text) + for rgroup_match in rgroup_matches: + colors[start_index + rgroup_match.get_start(0)] = {"color": text_edit.theme_overrides.symbols_color} + colors[start_index + rgroup_match.get_start("options")] = {"color": text_edit.theme_overrides.text_color} + var separator_matches: Array[RegExMatch] = RegEx.create_from_string("\\|").search_all(rgroup_match.get_string("options")) + for separator_match in separator_matches: + colors[start_index + rgroup_match.get_start("options") + separator_match.get_start(0)] = {"color": text_edit.theme_overrides.symbols_color} + colors[start_index + rgroup_match.get_start("options") + separator_match.get_end(0)] = {"color": text_edit.theme_overrides.text_color} + colors[start_index + rgroup_match.get_end("options")] = {"color": text_edit.theme_overrides.symbols_color} + colors[start_index + rgroup_match.get_end(0)] = {"color": text_edit.theme_overrides.text_color} + + return colors + + +## Returns the syntax highlighting for an expression (mutation set/do, or condition) +func _get_expression_syntax_highlighting(start_index: int, type: ExpressionType, text: String) -> Dictionary: + var text_edit: TextEdit = get_text_edit() + var colors: Dictionary = {} + + if type == ExpressionType.SET: + var assignment_matches: Array[RegExMatch] = regex_assignment.search_all(text) + for assignment_match in assignment_matches: + colors[start_index + assignment_match.get_start("var")] = {"color": text_edit.theme_overrides.text_color} + if "attr" in assignment_match.names: + colors[start_index + assignment_match.get_start("attr")] = {"color": text_edit.theme_overrides.members_color} + colors[start_index + assignment_match.get_end("attr")] = {"color": text_edit.theme_overrides.text_color} + if "key" in assignment_match.names: + # Braces are outside of the key, so coloring them symbols_color + colors[start_index + assignment_match.get_start("key") - 1] = {"color": text_edit.theme_overrides.symbols_color} + colors.merge(_get_literal_syntax_highlighting(start_index + assignment_match.get_start("key"), assignment_match.get_string("key")), true) + colors[start_index + assignment_match.get_end("key")] = {"color": text_edit.theme_overrides.symbols_color} + colors[start_index + assignment_match.get_end("key") + 1] = {"color": text_edit.theme_overrides.text_color} + + colors[start_index + assignment_match.get_start("op")] = {"color": text_edit.theme_overrides.symbols_color} + colors[start_index + assignment_match.get_end("op")] = {"color": text_edit.theme_overrides.text_color} + + colors.merge(_get_literal_syntax_highlighting(start_index + assignment_match.get_start("val"), assignment_match.get_string("val")), true) + else: + colors.merge(_get_literal_syntax_highlighting(start_index, text), true) + + return colors + + +## Returns the syntax highlighting for a literal. +## For this purpose, "literal" refers to a regular code line that could be used to get a value out of: +## - function calls +## - real literals (bool, string, int, float, etc.) +## - logical operators (>, <, >=, or, and, not, etc.) +func _get_literal_syntax_highlighting(start_index: int, text: String) -> Dictionary: + var text_edit: TextEdit = get_text_edit() + var colors: Dictionary = {} + + # Removing spaces at start/end of the literal + var text_length: int = text.length() + text = text.lstrip(" ") + start_index += text_length - text.length() + text = text.rstrip(" ") + + # Parenthesis expression. + var paren_matches: Array[RegExMatch] = regex_paren.search_all(text) + for paren_match in paren_matches: + colors[start_index + paren_match.get_start(0)] = {"color": text_edit.theme_overrides.symbols_color} + colors[start_index + paren_match.get_start(0) + 1] = {"color": text_edit.theme_overrides.text_color} + colors.merge(_get_literal_syntax_highlighting(start_index + paren_match.get_start("paren"), paren_match.get_string("paren")), true) + colors[start_index + paren_match.get_end(0) - 1] = {"color": text_edit.theme_overrides.symbols_color} + + # Strings. + var string_matches: Array[RegExMatch] = regex_string.search_all(text) + for string_match in string_matches: + colors[start_index + string_match.get_start(0)] = {"color": text_edit.theme_overrides.strings_color} + if "content" in string_match.names: + var escape_matches: Array[RegExMatch] = regex_escape.search_all(string_match.get_string("content")) + for escape_match in escape_matches: + colors[start_index + string_match.get_start("content") + escape_match.get_start(0)] = {"color": text_edit.theme_overrides.symbols_color} + colors[start_index + string_match.get_start("content") + escape_match.get_end(0)] = {"color": text_edit.theme_overrides.strings_color} + + # Numbers. + var number_matches: Array[RegExMatch] = regex_number.search_all(text) + for number_match in number_matches: + colors[start_index + number_match.get_start(0)] = {"color": text_edit.theme_overrides.numbers_color} + + # Arrays. + var array_matches: Array[RegExMatch] = regex_array.search_all(text) + for array_match in array_matches: + colors[start_index + array_match.get_start(0)] = {"color": text_edit.theme_overrides.symbols_color} + colors.merge(_get_list_syntax_highlighting(start_index + array_match.get_start(1), array_match.strings[1]), true) + colors[start_index + array_match.get_end(1)] = {"color": text_edit.theme_overrides.symbols_color} + + # Dictionaries. + var dict_matches: Array[RegExMatch] = regex_dict.search_all(text) + for dict_match in dict_matches: + colors[start_index + dict_match.get_start(0)] = {"color": text_edit.theme_overrides.symbols_color} + colors.merge(_get_list_syntax_highlighting(start_index + dict_match.get_start(1), dict_match.strings[1]), true) + colors[start_index + dict_match.get_end(1)] = {"color": text_edit.theme_overrides.symbols_color} + + # Dictionary key: value pairs + var kvdict_matches: Array[RegExMatch] = regex_kvdict.search_all(text) + for kvdict_match in kvdict_matches: + colors.merge(_get_literal_syntax_highlighting(start_index + kvdict_match.get_start("left"), kvdict_match.get_string("left")), true) + colors[start_index + kvdict_match.get_start("colon")] = {"color": text_edit.theme_overrides.symbols_color} + colors[start_index + kvdict_match.get_end("colon")] = {"color": text_edit.theme_overrides.text_color} + colors.merge(_get_literal_syntax_highlighting(start_index + kvdict_match.get_start("right"), kvdict_match.get_string("right")), true) + + # Booleans. + var bool_matches: Array[RegExMatch] = regex_bool.search_all(text) + for bool_match in bool_matches: + colors[start_index + bool_match.get_start(0)] = {"color": text_edit.theme_overrides.conditions_color} + + # Functions. + var function_matches: Array[RegExMatch] = regex_function.search_all(text) + for function_match in function_matches: + var last_brace_index: int = text.rfind(")") + colors[start_index + function_match.get_start(1)] = {"color": text_edit.theme_overrides.mutations_color} + colors[start_index + function_match.get_end(1)] = {"color": text_edit.theme_overrides.symbols_color} + colors.merge(_get_list_syntax_highlighting(start_index + function_match.get_end(0), text.substr(function_match.get_end(0), last_brace_index - function_match.get_end(0))), true) + colors[start_index + last_brace_index] = {"color": text_edit.theme_overrides.symbols_color} + + # Variables. + var varname_matches: Array[RegExMatch] = regex_varname.search_all(text) + for varname_match in varname_matches: + colors[start_index + varname_match.get_start("var")] = {"color": text_edit.theme_overrides.text_color} + if "attr" in varname_match.names: + colors[start_index + varname_match.get_start("attr")] = {"color": text_edit.theme_overrides.members_color} + colors[start_index + varname_match.get_end("attr")] = {"color": text_edit.theme_overrides.text_color} + if "key" in varname_match.names: + # Braces are outside of the key, so coloring them symbols_color + colors[start_index + varname_match.get_start("key") - 1] = {"color": text_edit.theme_overrides.symbols_color} + colors.merge(_get_literal_syntax_highlighting(start_index + varname_match.get_start("key"), varname_match.get_string("key")), true) + colors[start_index + varname_match.get_end("key")] = {"color": text_edit.theme_overrides.symbols_color} + + # Comparison operators. + var comparison_matches: Array[RegExMatch] = regex_comparison.search_all(text) + for comparison_match in comparison_matches: + colors.merge(_get_literal_syntax_highlighting(start_index + comparison_match.get_start("left"), comparison_match.get_string("left")), true) + colors[start_index + comparison_match.get_start("op")] = {"color": text_edit.theme_overrides.symbols_color} + colors[start_index + comparison_match.get_end("op")] = {"color": text_edit.theme_overrides.text_color} + colors.merge(_get_literal_syntax_highlighting(start_index + comparison_match.get_start("right"), comparison_match.get_string("right")), true) + + # Logical binary operators. + var blogical_matches: Array[RegExMatch] = regex_blogical.search_all(text) + for blogical_match in blogical_matches: + colors.merge(_get_literal_syntax_highlighting(start_index + blogical_match.get_start("left"), blogical_match.get_string("left")), true) + colors[start_index + blogical_match.get_start("op")] = {"color": text_edit.theme_overrides.conditions_color} + colors[start_index + blogical_match.get_end("op")] = {"color": text_edit.theme_overrides.text_color} + colors.merge(_get_literal_syntax_highlighting(start_index + blogical_match.get_start("right"), blogical_match.get_string("right")), true) + + # Logical unary operators. + var ulogical_matches: Array[RegExMatch] = regex_ulogical.search_all(text) + for ulogical_match in ulogical_matches: + colors[start_index + ulogical_match.get_start("op")] = {"color": text_edit.theme_overrides.conditions_color} + colors[start_index + ulogical_match.get_end("op")] = {"color": text_edit.theme_overrides.text_color} + colors.merge(_get_literal_syntax_highlighting(start_index + ulogical_match.get_start("right"), ulogical_match.get_string("right")), true) + + return colors + + +## Returns the syntax coloring for a list of literals separated by commas +func _get_list_syntax_highlighting(start_index: int, text: String) -> Dictionary: + var text_edit: TextEdit = get_text_edit() + var colors: Dictionary = {} + + # Comma-separated list of literals (for arrays and function arguments) + var element_matches: Array[RegExMatch] = regex_commas.search_all(text) + for element_match in element_matches: + colors.merge(_get_literal_syntax_highlighting(start_index + element_match.get_start(1), element_match.strings[1]), true) + + return colors diff --git a/addons/dialogue_manager/components/dialogue_cache.gd b/addons/dialogue_manager/components/dialogue_cache.gd new file mode 100644 index 0000000..5304d4b --- /dev/null +++ b/addons/dialogue_manager/components/dialogue_cache.gd @@ -0,0 +1,160 @@ +extends Node + + +const DialogueConstants = preload("../constants.gd") +const DialogueSettings = preload("../settings.gd") +const DialogueManagerParseResult = preload("./parse_result.gd") + + +# Keeps track of errors and dependencies. +# { +# <dialogue file path> = { +# path = <dialogue file path>, +# dependencies = [<dialogue file path>, <dialogue file path>], +# errors = [<error>, <error>] +# } +# } +var _cache: Dictionary = {} + +var _update_dependency_timer: Timer = Timer.new() +var _update_dependency_paths: PackedStringArray = [] + + +func _ready() -> void: + add_child(_update_dependency_timer) + _update_dependency_timer.timeout.connect(_on_update_dependency_timeout) + + _build_cache() + + +func reimport_files(files: PackedStringArray = []) -> void: + if files.is_empty(): files = get_files() + + var file_system: EditorFileSystem = Engine.get_meta("DialogueManagerPlugin") \ + .get_editor_interface() \ + .get_resource_filesystem() + + # NOTE: Godot 4.2rc1 has an issue with reimporting more than one + # file at a time so we do them one by one + for file in files: + file_system.reimport_files([file]) + await get_tree().create_timer(0.2) + + +## Add a dialogue file to the cache. +func add_file(path: String, parse_results: DialogueManagerParseResult = null) -> void: + _cache[path] = { + path = path, + dependencies = [], + errors = [] + } + + if parse_results != null: + _cache[path].dependencies = Array(parse_results.imported_paths).filter(func(d): return d != path) + _cache[path].parsed_at = Time.get_ticks_msec() + + # If this is a fresh cache entry then we need to check for dependencies + if parse_results == null and not _update_dependency_paths.has(path): + queue_updating_dependencies(path) + + +## Get the file paths in the cache. +func get_files() -> PackedStringArray: + return _cache.keys() + + +## Remember any errors in a dialogue file. +func add_errors_to_file(path: String, errors: Array[Dictionary]) -> void: + if _cache.has(path): + _cache[path].errors = errors + else: + _cache[path] = { + path = path, + resource_path = "", + dependencies = [], + errors = errors + } + + +## Get a list of files that have errors in them. +func get_files_with_errors() -> Array[Dictionary]: + var files_with_errors: Array[Dictionary] = [] + for dialogue_file in _cache.values(): + if dialogue_file and dialogue_file.errors.size() > 0: + files_with_errors.append(dialogue_file) + return files_with_errors + + +## Queue a file to have it's dependencies checked +func queue_updating_dependencies(of_path: String) -> void: + _update_dependency_timer.stop() + if not _update_dependency_paths.has(of_path): + _update_dependency_paths.append(of_path) + _update_dependency_timer.start(0.5) + + +## Update any references to a file path that has moved +func move_file_path(from_path: String, to_path: String) -> void: + if not _cache.has(from_path): return + + if to_path != "": + _cache[to_path] = _cache[from_path].duplicate() + _cache.erase(from_path) + + +## Get any dialogue files that import a given path. +func get_files_with_dependency(imported_path: String) -> Array: + return _cache.values().filter(func(d): return d.dependencies.has(imported_path)) + + +## Get any paths that are dependent on a given path +func get_dependent_paths_for_reimport(on_path: String) -> PackedStringArray: + return get_files_with_dependency(on_path) \ + .filter(func(d): return Time.get_ticks_msec() - d.get("parsed_at", 0) > 3000) \ + .map(func(d): return d.path) + + +# Build the initial cache for dialogue files. +func _build_cache() -> void: + var current_files: PackedStringArray = _get_dialogue_files_in_filesystem() + for file in current_files: + add_file(file) + + +# Recursively find any dialogue files in a directory +func _get_dialogue_files_in_filesystem(path: String = "res://") -> PackedStringArray: + var files: PackedStringArray = [] + + if DirAccess.dir_exists_absolute(path): + var dir = DirAccess.open(path) + dir.list_dir_begin() + var file_name = dir.get_next() + while file_name != "": + var file_path: String = (path + "/" + file_name).simplify_path() + if dir.current_is_dir(): + if not file_name in [".godot", ".tmp"]: + files.append_array(_get_dialogue_files_in_filesystem(file_path)) + elif file_name.get_extension() == "dialogue": + files.append(file_path) + file_name = dir.get_next() + + return files + + +### Signals + + +func _on_update_dependency_timeout() -> void: + _update_dependency_timer.stop() + var import_regex: RegEx = RegEx.create_from_string("import \"(?<path>.*?)\"") + var file: FileAccess + var found_imports: Array[RegExMatch] + for path in _update_dependency_paths: + # Open the file and check for any "import" lines + file = FileAccess.open(path, FileAccess.READ) + found_imports = import_regex.search_all(file.get_as_text()) + var dependencies: PackedStringArray = [] + for found in found_imports: + dependencies.append(found.strings[found.names.path]) + _cache[path].dependencies = dependencies + _update_dependency_paths.clear() diff --git a/addons/dialogue_manager/components/download_update_panel.gd b/addons/dialogue_manager/components/download_update_panel.gd new file mode 100644 index 0000000..ddaa534 --- /dev/null +++ b/addons/dialogue_manager/components/download_update_panel.gd @@ -0,0 +1,84 @@ +@tool +extends Control + + +signal failed() +signal updated(updated_to_version: String) + + +const DialogueConstants = preload("../constants.gd") + +const TEMP_FILE_NAME = "user://temp.zip" + + +@onready var logo: TextureRect = %Logo +@onready var label: Label = $VBox/Label +@onready var http_request: HTTPRequest = $HTTPRequest +@onready var download_button: Button = %DownloadButton + +var next_version_release: Dictionary: + set(value): + next_version_release = value + label.text = DialogueConstants.translate("update.is_available_for_download") % value.tag_name.substr(1) + get: + return next_version_release + + +func _ready() -> void: + $VBox/Center/DownloadButton.text = DialogueConstants.translate("update.download_update") + $VBox/Center2/NotesButton.text = DialogueConstants.translate("update.release_notes") + + +### Signals + + +func _on_download_button_pressed() -> void: + # Safeguard the actual dialogue manager repo from accidentally updating itself + if FileAccess.file_exists("res://examples/test_scenes/test_scene.gd"): + prints("You can't update the addon from within itself.") + failed.emit() + return + + http_request.request(next_version_release.zipball_url) + download_button.disabled = true + download_button.text = DialogueConstants.translate("update.downloading") + + +func _on_http_request_request_completed(result: int, response_code: int, headers: PackedStringArray, body: PackedByteArray) -> void: + if result != HTTPRequest.RESULT_SUCCESS: + failed.emit() + return + + # Save the downloaded zip + var zip_file: FileAccess = FileAccess.open(TEMP_FILE_NAME, FileAccess.WRITE) + zip_file.store_buffer(body) + zip_file.close() + + OS.move_to_trash(ProjectSettings.globalize_path("res://addons/dialogue_manager")) + + var zip_reader: ZIPReader = ZIPReader.new() + zip_reader.open(TEMP_FILE_NAME) + var files: PackedStringArray = zip_reader.get_files() + + var base_path = files[1] + # Remove archive folder + files.remove_at(0) + # Remove assets folder + files.remove_at(0) + + for path in files: + var new_file_path: String = path.replace(base_path, "") + if path.ends_with("/"): + DirAccess.make_dir_recursive_absolute("res://addons/%s" % new_file_path) + else: + var file: FileAccess = FileAccess.open("res://addons/%s" % new_file_path, FileAccess.WRITE) + file.store_buffer(zip_reader.read_file(path)) + + zip_reader.close() + DirAccess.remove_absolute(TEMP_FILE_NAME) + + updated.emit(next_version_release.tag_name.substr(1)) + + +func _on_notes_button_pressed() -> void: + OS.shell_open(next_version_release.html_url) diff --git a/addons/dialogue_manager/components/download_update_panel.tscn b/addons/dialogue_manager/components/download_update_panel.tscn new file mode 100644 index 0000000..92750f7 --- /dev/null +++ b/addons/dialogue_manager/components/download_update_panel.tscn @@ -0,0 +1,60 @@ +[gd_scene load_steps=3 format=3 uid="uid://qdxrxv3c3hxk"] + +[ext_resource type="Script" path="res://addons/dialogue_manager/components/download_update_panel.gd" id="1_4tm1k"] +[ext_resource type="Texture2D" uid="uid://d3baj6rygkb3f" path="res://addons/dialogue_manager/assets/update.svg" id="2_4o2m6"] + +[node name="DownloadUpdatePanel" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_4tm1k") + +[node name="HTTPRequest" type="HTTPRequest" parent="."] + +[node name="VBox" type="VBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -1.0 +offset_top = 9.0 +offset_right = -1.0 +offset_bottom = 9.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/separation = 10 + +[node name="Logo" type="TextureRect" parent="VBox"] +unique_name_in_owner = true +clip_contents = true +custom_minimum_size = Vector2(300, 80) +layout_mode = 2 +texture = ExtResource("2_4o2m6") +stretch_mode = 5 + +[node name="Label" type="Label" parent="VBox"] +layout_mode = 2 +text = "v1.2.3 is available for download." +horizontal_alignment = 1 + +[node name="Center" type="CenterContainer" parent="VBox"] +layout_mode = 2 + +[node name="DownloadButton" type="Button" parent="VBox/Center"] +unique_name_in_owner = true +layout_mode = 2 +text = "Download and install update" + +[node name="Center2" type="CenterContainer" parent="VBox"] +layout_mode = 2 + +[node name="NotesButton" type="LinkButton" parent="VBox/Center2"] +layout_mode = 2 +text = "Read release notes..." + +[connection signal="request_completed" from="HTTPRequest" to="." method="_on_http_request_request_completed"] +[connection signal="pressed" from="VBox/Center/DownloadButton" to="." method="_on_download_button_pressed"] +[connection signal="pressed" from="VBox/Center2/NotesButton" to="." method="_on_notes_button_pressed"] diff --git a/addons/dialogue_manager/components/errors_panel.gd b/addons/dialogue_manager/components/errors_panel.gd new file mode 100644 index 0000000..fab0c11 --- /dev/null +++ b/addons/dialogue_manager/components/errors_panel.gd @@ -0,0 +1,85 @@ +@tool +extends HBoxContainer + + +signal error_pressed(line_number) + + +const DialogueConstants = preload("../constants.gd") + + +@onready var error_button: Button = $ErrorButton +@onready var next_button: Button = $NextButton +@onready var count_label: Label = $CountLabel +@onready var previous_button: Button = $PreviousButton + +## The index of the current error being shown +var error_index: int = 0: + set(next_error_index): + error_index = wrap(next_error_index, 0, errors.size()) + show_error() + get: + return error_index + +## The list of all errors +var errors: Array = []: + set(next_errors): + errors = next_errors + self.error_index = 0 + get: + return errors + + +func _ready() -> void: + apply_theme() + hide() + + +## Set up colors and icons +func apply_theme() -> void: + error_button.add_theme_color_override("font_color", get_theme_color("error_color", "Editor")) + error_button.add_theme_color_override("font_hover_color", get_theme_color("error_color", "Editor")) + error_button.icon = get_theme_icon("StatusError", "EditorIcons") + previous_button.icon = get_theme_icon("ArrowLeft", "EditorIcons") + next_button.icon = get_theme_icon("ArrowRight", "EditorIcons") + + +## Move the error index to match a given line +func show_error_for_line_number(line_number: int) -> void: + for i in range(0, errors.size()): + if errors[i].line_number == line_number: + self.error_index = i + + +## Show the current error +func show_error() -> void: + if errors.size() == 0: + hide() + else: + show() + count_label.text = DialogueConstants.translate("n_of_n").format({ index = error_index + 1, total = errors.size() }) + var error = errors[error_index] + error_button.text = DialogueConstants.translate("errors.line_and_message").format({ line = error.line_number + 1, column = error.column_number, message = DialogueConstants.get_error_message(error.error) }) + if error.has("external_error"): + error_button.text += " " + DialogueConstants.get_error_message(error.external_error) + + +### Signals + + +func _on_errors_panel_theme_changed() -> void: + apply_theme() + + +func _on_error_button_pressed() -> void: + emit_signal("error_pressed", errors[error_index].line_number, errors[error_index].column_number) + + +func _on_previous_button_pressed() -> void: + self.error_index -= 1 + _on_error_button_pressed() + + +func _on_next_button_pressed() -> void: + self.error_index += 1 + _on_error_button_pressed() diff --git a/addons/dialogue_manager/components/errors_panel.tscn b/addons/dialogue_manager/components/errors_panel.tscn new file mode 100644 index 0000000..956552b --- /dev/null +++ b/addons/dialogue_manager/components/errors_panel.tscn @@ -0,0 +1,56 @@ +[gd_scene load_steps=4 format=3 uid="uid://cs8pwrxr5vxix"] + +[ext_resource type="Script" path="res://addons/dialogue_manager/components/errors_panel.gd" id="1_nfm3c"] + +[sub_resource type="Image" id="Image_wy5pj"] +data = { +"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 93, 93, 131, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 131, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 131, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 231, 255, 93, 93, 55, 255, 97, 97, 58, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 231, 255, 94, 94, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 93, 93, 41, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 97, 97, 42, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 98, 98, 47, 255, 97, 97, 42, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 235, 255, 93, 93, 233, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 94, 94, 46, 255, 93, 93, 236, 255, 93, 93, 233, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), +"format": "RGBA8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id="ImageTexture_s6fxl"] +image = SubResource("Image_wy5pj") + +[node name="ErrorsPanel" type="HBoxContainer"] +visible = false +offset_right = 1024.0 +offset_bottom = 600.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_nfm3c") +metadata/_edit_layout_mode = 1 + +[node name="ErrorButton" type="Button" parent="."] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_colors/font_color = Color(0, 0, 0, 1) +theme_override_colors/font_hover_color = Color(0, 0, 0, 1) +theme_override_constants/h_separation = 3 +icon = SubResource("ImageTexture_s6fxl") +flat = true +alignment = 0 +text_overrun_behavior = 4 + +[node name="Spacer" type="Control" parent="."] +custom_minimum_size = Vector2(40, 0) +layout_mode = 2 + +[node name="PreviousButton" type="Button" parent="."] +layout_mode = 2 +icon = SubResource("ImageTexture_s6fxl") +flat = true + +[node name="CountLabel" type="Label" parent="."] +layout_mode = 2 + +[node name="NextButton" type="Button" parent="."] +layout_mode = 2 +icon = SubResource("ImageTexture_s6fxl") +flat = true + +[connection signal="pressed" from="ErrorButton" to="." method="_on_error_button_pressed"] +[connection signal="pressed" from="PreviousButton" to="." method="_on_previous_button_pressed"] +[connection signal="pressed" from="NextButton" to="." method="_on_next_button_pressed"] diff --git a/addons/dialogue_manager/components/files_list.gd b/addons/dialogue_manager/components/files_list.gd new file mode 100644 index 0000000..f5d16b8 --- /dev/null +++ b/addons/dialogue_manager/components/files_list.gd @@ -0,0 +1,144 @@ +@tool +extends VBoxContainer + + +signal file_selected(file_path: String) +signal file_popup_menu_requested(at_position: Vector2) +signal file_double_clicked(file_path: String) +signal file_middle_clicked(file_path: String) + + +const DialogueConstants = preload("../constants.gd") + +const MODIFIED_SUFFIX = "(*)" + + +@export var icon: Texture2D + +@onready var filter_edit: LineEdit = $FilterEdit +@onready var list: ItemList = $List + +var file_map: Dictionary = {} + +var current_file_path: String = "" + +var files: PackedStringArray = []: + set(next_files): + files = next_files + files.sort() + update_file_map() + apply_filter() + get: + return files + +var unsaved_files: Array[String] = [] + +var filter: String: + set(next_filter): + filter = next_filter + apply_filter() + get: + return filter + + +func _ready() -> void: + apply_theme() + + filter_edit.placeholder_text = DialogueConstants.translate("files_list.filter") + + +func select_file(file: String) -> void: + list.deselect_all() + for i in range(0, list.get_item_count()): + var item_text = list.get_item_text(i).replace(MODIFIED_SUFFIX, "") + if item_text == get_nice_file(file, item_text.count("/") + 1): + list.select(i) + + +func mark_file_as_unsaved(file: String, is_unsaved: bool) -> void: + if not file in unsaved_files and is_unsaved: + unsaved_files.append(file) + elif file in unsaved_files and not is_unsaved: + unsaved_files.erase(file) + apply_filter() + + +func update_file_map() -> void: + file_map = {} + for file in files: + var nice_file: String = get_nice_file(file) + + # See if a value with just the file name is already in the map + for key in file_map.keys(): + if file_map[key] == nice_file: + var bit_count = nice_file.count("/") + 2 + + var existing_nice_file = get_nice_file(key, bit_count) + nice_file = get_nice_file(file, bit_count) + + while nice_file == existing_nice_file: + bit_count += 1 + existing_nice_file = get_nice_file(key, bit_count) + nice_file = get_nice_file(file, bit_count) + + file_map[key] = existing_nice_file + + file_map[file] = nice_file + + +func get_nice_file(file_path: String, path_bit_count: int = 1) -> String: + var bits = file_path.replace("res://", "").replace(".dialogue", "").split("/") + bits = bits.slice(-path_bit_count) + return "/".join(bits) + + +func apply_filter() -> void: + list.clear() + for file in file_map.keys(): + if filter == "" or filter.to_lower() in file.to_lower(): + var nice_file = file_map[file] + if file in unsaved_files: + nice_file += MODIFIED_SUFFIX + var new_id := list.add_item(nice_file) + list.set_item_icon(new_id, icon) + + select_file(current_file_path) + + +func apply_theme() -> void: + if is_instance_valid(filter_edit): + filter_edit.right_icon = get_theme_icon("Search", "EditorIcons") + + +### Signals + + +func _on_theme_changed() -> void: + apply_theme() + + +func _on_filter_edit_text_changed(new_text: String) -> void: + self.filter = new_text + + +func _on_list_item_clicked(index: int, at_position: Vector2, mouse_button_index: int) -> void: + if mouse_button_index == MOUSE_BUTTON_LEFT: + var item_text = list.get_item_text(index).replace(MODIFIED_SUFFIX, "") + var file = file_map.find_key(item_text) + select_file(file) + file_selected.emit(file) + + if mouse_button_index == MOUSE_BUTTON_RIGHT: + file_popup_menu_requested.emit(at_position) + + if mouse_button_index == MOUSE_BUTTON_MIDDLE: + var item_text = list.get_item_text(index).replace(MODIFIED_SUFFIX, "") + var file = file_map.find_key(item_text) + file_middle_clicked.emit(file) + + +func _on_list_item_activated(index: int) -> void: + var item_text = list.get_item_text(index).replace(MODIFIED_SUFFIX, "") + var file = file_map.find_key(item_text) + select_file(file) + file_double_clicked.emit(file) diff --git a/addons/dialogue_manager/components/files_list.tscn b/addons/dialogue_manager/components/files_list.tscn new file mode 100644 index 0000000..12bee0b --- /dev/null +++ b/addons/dialogue_manager/components/files_list.tscn @@ -0,0 +1,40 @@ +[gd_scene load_steps=5 format=3 uid="uid://dnufpcdrreva3"] + +[ext_resource type="Script" path="res://addons/dialogue_manager/components/files_list.gd" id="1_cytii"] +[ext_resource type="Texture2D" uid="uid://d3lr2uas6ax8v" path="res://addons/dialogue_manager/assets/icon.svg" id="2_3ijx1"] + +[sub_resource type="Image" id="Image_h3jns"] +data = { +"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 231, 255, 94, 94, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 231, 255, 94, 94, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 93, 93, 41, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 44, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 44, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 235, 255, 94, 94, 234, 255, 95, 95, 43, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 235, 255, 94, 94, 234, 255, 95, 95, 43, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), +"format": "RGBA8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id="ImageTexture_44sbr"] +image = SubResource("Image_h3jns") + +[node name="FilesList" type="VBoxContainer"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_cytii") +icon = ExtResource("2_3ijx1") + +[node name="FilterEdit" type="LineEdit" parent="."] +layout_mode = 2 +placeholder_text = "Filter files" +clear_button_enabled = true +right_icon = SubResource("ImageTexture_44sbr") + +[node name="List" type="ItemList" parent="."] +layout_mode = 2 +size_flags_vertical = 3 + +[connection signal="theme_changed" from="." to="." method="_on_theme_changed"] +[connection signal="text_changed" from="FilterEdit" to="." method="_on_filter_edit_text_changed"] +[connection signal="item_activated" from="List" to="." method="_on_list_item_activated"] +[connection signal="item_clicked" from="List" to="." method="_on_list_item_clicked"] diff --git a/addons/dialogue_manager/components/parse_result.gd b/addons/dialogue_manager/components/parse_result.gd new file mode 100644 index 0000000..d467cb9 --- /dev/null +++ b/addons/dialogue_manager/components/parse_result.gd @@ -0,0 +1,10 @@ +class_name DialogueManagerParseResult extends RefCounted + +var imported_paths: PackedStringArray = [] +var using_states: PackedStringArray = [] +var titles: Dictionary = {} +var character_names: PackedStringArray = [] +var first_title: String = "" +var lines: Dictionary = {} +var errors: Array[Dictionary] = [] +var raw_text: String = "" diff --git a/addons/dialogue_manager/components/parser.gd b/addons/dialogue_manager/components/parser.gd new file mode 100644 index 0000000..f5bf888 --- /dev/null +++ b/addons/dialogue_manager/components/parser.gd @@ -0,0 +1,1763 @@ +@tool + +class_name DialogueManagerParser extends Object + + +const DialogueConstants = preload("../constants.gd") +const DialogueSettings = preload("../settings.gd") +const ResolvedLineData = preload("./resolved_line_data.gd") +const ResolvedTagData = preload("./resolved_tag_data.gd") +const DialogueManagerParseResult = preload("./parse_result.gd") + + +var IMPORT_REGEX: RegEx = RegEx.create_from_string("import \"(?<path>[^\"]+)\" as (?<prefix>[^\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\-\\=\\+\\{\\}\\[\\]\\;\\:\\\"\\'\\,\\.\\<\\>\\?\\/\\s]+)") +var USING_REGEX: RegEx = RegEx.create_from_string("using (?<state>.*)") +var VALID_TITLE_REGEX: RegEx = RegEx.create_from_string("^[^\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\-\\=\\+\\{\\}\\[\\]\\;\\:\\\"\\'\\,\\.\\<\\>\\?\\/\\s]+$") +var BEGINS_WITH_NUMBER_REGEX: RegEx = RegEx.create_from_string("^\\d") +var TRANSLATION_REGEX: RegEx = RegEx.create_from_string("\\[ID:(?<tr>.*?)\\]") +var TAGS_REGEX: RegEx = RegEx.create_from_string("\\[#(?<tags>.*?)\\]") +var MUTATION_REGEX: RegEx = RegEx.create_from_string("(do|set) (?<mutation>.*)") +var CONDITION_REGEX: RegEx = RegEx.create_from_string("(if|elif|while|else if) (?<condition>.*)") +var WRAPPED_CONDITION_REGEX: RegEx = RegEx.create_from_string("\\[if (?<condition>.*)\\]") +var REPLACEMENTS_REGEX: RegEx = RegEx.create_from_string("{{(.*?)}}") +var GOTO_REGEX: RegEx = RegEx.create_from_string("=><? (?<jump_to_title>.*)") +var INDENT_REGEX: RegEx = RegEx.create_from_string("^\\t+") +var INLINE_RANDOM_REGEX: RegEx = RegEx.create_from_string("\\[\\[(?<options>.*?)\\]\\]") +var INLINE_CONDITIONALS_REGEX: RegEx = RegEx.create_from_string("\\[if (?<condition>.+?)\\](?<body>.*?)\\[\\/if\\]") + +var TOKEN_DEFINITIONS: Dictionary = { + DialogueConstants.TOKEN_FUNCTION: RegEx.create_from_string("^[a-zA-Z_][a-zA-Z_0-9]*\\("), + DialogueConstants.TOKEN_DICTIONARY_REFERENCE: RegEx.create_from_string("^[a-zA-Z_][a-zA-Z_0-9]*\\["), + DialogueConstants.TOKEN_PARENS_OPEN: RegEx.create_from_string("^\\("), + DialogueConstants.TOKEN_PARENS_CLOSE: RegEx.create_from_string("^\\)"), + DialogueConstants.TOKEN_BRACKET_OPEN: RegEx.create_from_string("^\\["), + DialogueConstants.TOKEN_BRACKET_CLOSE: RegEx.create_from_string("^\\]"), + DialogueConstants.TOKEN_BRACE_OPEN: RegEx.create_from_string("^\\{"), + DialogueConstants.TOKEN_BRACE_CLOSE: RegEx.create_from_string("^\\}"), + DialogueConstants.TOKEN_COLON: RegEx.create_from_string("^:"), + DialogueConstants.TOKEN_COMPARISON: RegEx.create_from_string("^(==|<=|>=|<|>|!=|in )"), + DialogueConstants.TOKEN_ASSIGNMENT: RegEx.create_from_string("^(\\+=|\\-=|\\*=|/=|=)"), + DialogueConstants.TOKEN_NUMBER: RegEx.create_from_string("^\\-?\\d+(\\.\\d+)?"), + DialogueConstants.TOKEN_OPERATOR: RegEx.create_from_string("^(\\+|\\-|\\*|/|%)"), + DialogueConstants.TOKEN_COMMA: RegEx.create_from_string("^,"), + DialogueConstants.TOKEN_DOT: RegEx.create_from_string("^\\."), + DialogueConstants.TOKEN_STRING: RegEx.create_from_string("^(\".*?\"|\'.*?\')"), + DialogueConstants.TOKEN_NOT: RegEx.create_from_string("^(not( |$)|!)"), + DialogueConstants.TOKEN_AND_OR: RegEx.create_from_string("^(and|or)( |$)"), + DialogueConstants.TOKEN_VARIABLE: RegEx.create_from_string("^[a-zA-Z_][a-zA-Z_0-9]*"), + DialogueConstants.TOKEN_COMMENT: RegEx.create_from_string("^#.*"), + DialogueConstants.TOKEN_CONDITION: RegEx.create_from_string("^(if|elif|else)"), + DialogueConstants.TOKEN_BOOL: RegEx.create_from_string("^(true|false)") +} + +var WEIGHTED_RANDOM_SIBLINGS_REGEX: RegEx = RegEx.create_from_string("^\\%(?<weight>[\\d.]+)? ") + +var raw_lines: PackedStringArray = [] +var parent_stack: Array[String] = [] + +var parsed_lines: Dictionary = {} +var imported_paths: PackedStringArray = [] +var using_states: PackedStringArray = [] +var titles: Dictionary = {} +var character_names: PackedStringArray = [] +var first_title: String = "" +var errors: Array[Dictionary] = [] +var raw_text: String = "" + +var _imported_line_map: Dictionary = {} +var _imported_line_count: int = 0 + +var while_loopbacks: Array[String] = [] + + +## Parse some raw dialogue text. Returns a dictionary containing parse results +static func parse_string(string: String, path: String) -> DialogueManagerParseResult: + var parser: DialogueManagerParser = DialogueManagerParser.new() + var error: Error = parser.parse(string, path) + var data: DialogueManagerParseResult = parser.get_data() + parser.free() + + if error == OK: + return data + else: + return null + + +## Extract bbcode and other markers from a string +static func extract_markers_from_string(string: String) -> ResolvedLineData: + var parser: DialogueManagerParser = DialogueManagerParser.new() + var markers: ResolvedLineData = parser.extract_markers(string) + parser.free() + + return markers + + +## Parse some raw dialogue text. Returns a dictionary containing parse results +func parse(text: String, path: String) -> Error: + prepare(text, path) + raw_text = text + + # Parse all of the content + var known_translations = {} + + # Get list of known autoloads + var autoload_names: PackedStringArray = get_autoload_names() + + # Keep track of the last doc comment + var doc_comments: Array[String] = [] + + # Then parse all lines + for id in range(0, raw_lines.size()): + var raw_line: String = raw_lines[id] + + var line: Dictionary = { + id = str(id), + next_id = DialogueConstants.ID_NULL + } + + # Work out if we are inside a conditional or option or if we just + # indented back out of one + var indent_size: int = get_indent(raw_line) + if indent_size < parent_stack.size() and not is_line_empty(raw_line): + for _tab in range(0, parent_stack.size() - indent_size): + parent_stack.pop_back() + + # If we are indented then this line should know about its parent + if parent_stack.size() > 0: + line["parent_id"] = parent_stack.back() + + # Trim any indentation (now that we've calculated it) so we can check + # the begining of each line for its type + raw_line = raw_line.strip_edges(true, false) + + # Grab translations + var translation_key: String = extract_translation(raw_line) + if translation_key != "": + line["translation_key"] = translation_key + raw_line = raw_line.replace("[ID:%s]" % translation_key, "") + + # Check for each kind of line + + # Start shortcuts + if raw_line.begins_with("using "): + var using_match: RegExMatch = USING_REGEX.search(raw_line) + if "state" in using_match.names: + var using_state: String = using_match.strings[using_match.names.state] + if not using_state in autoload_names: + add_error(id, 0, DialogueConstants.ERR_UNKNOWN_USING) + elif not using_state in using_states: + using_states.append(using_state) + continue + + # Response + elif is_response_line(raw_line): + # Add any doc notes + line["notes"] = "\n".join(doc_comments) + doc_comments = [] + + parent_stack.append(str(id)) + line["type"] = DialogueConstants.TYPE_RESPONSE + + # Extract any #tags + var tag_data: ResolvedTagData = extract_tags(raw_line) + line["tags"] = tag_data.tags + raw_line = tag_data.line_without_tags + + if " [if " in raw_line: + line["condition"] = extract_condition(raw_line, true, indent_size) + if " =>" in raw_line: + line["next_id"] = extract_goto(raw_line) + if " =><" in raw_line: + # Because of when the return point needs to be known at runtime we need to split + # this line into two (otherwise the return point would be dependent on the balloon) + var goto_line: Dictionary = { + type = DialogueConstants.TYPE_GOTO, + next_id = extract_goto(raw_line), + next_id_after = find_next_line_after_responses(id), + is_snippet = true + } + parsed_lines[str(id) + ".1"] = goto_line + line["next_id"] = str(id) + ".1" + + # Make sure the added goto line can actually go to somewhere + if goto_line.next_id in [DialogueConstants.ID_ERROR, DialogueConstants.ID_ERROR_INVALID_TITLE, DialogueConstants.ID_ERROR_TITLE_HAS_NO_BODY]: + line["next_id"] = goto_line.next_id + + line["character"] = "" + line["character_replacements"] = [] as Array[Dictionary] + line["text"] = extract_response_prompt(raw_line) + + var previous_response_id = find_previous_response_id(id) + if parsed_lines.has(previous_response_id): + var previous_response = parsed_lines[previous_response_id] + # Add this response to the list on the first response so that it is the + # authority on what is in the list of responses + previous_response["responses"] = previous_response["responses"] + PackedStringArray([str(id)]) + else: + # No previous response so this is the first in the list + line["responses"] = PackedStringArray([str(id)]) + + line["next_id_after"] = find_next_line_after_responses(id) + + # If this response has no body then the next id is the next id after + if not line.has("next_id") or line.next_id == DialogueConstants.ID_NULL: + var next_nonempty_line_id = get_next_nonempty_line_id(id) + if next_nonempty_line_id != DialogueConstants.ID_NULL: + if get_indent(raw_lines[next_nonempty_line_id.to_int()]) <= indent_size: + line["next_id"] = line.next_id_after + else: + line["next_id"] = next_nonempty_line_id + + line["text_replacements"] = extract_dialogue_replacements(line.get("text"), indent_size + 2) + for replacement in line.text_replacements: + if replacement.has("error"): + add_error(id, replacement.index, replacement.error) + + # If this response has a character name in it then it will automatically be + # injected as a line of dialogue if the player selects it + var response_text: String = line.text.replace("\\:", "!ESCAPED_COLON!") + if ": " in response_text: + if DialogueSettings.get_setting("create_lines_for_responses_with_characters", true): + var first_child: Dictionary = { + type = DialogueConstants.TYPE_DIALOGUE, + next_id = line.next_id, + next_id_after = line.next_id_after, + text_replacements = line.text_replacements, + tags = line.tags, + translation_key = line.get("translation_key") + } + parse_response_character_and_text(id, response_text, first_child, indent_size, parsed_lines) + line["character"] = first_child.character + line["character_replacements"] = first_child.character_replacements + line["text"] = first_child.text + line["translation_key"] = first_child.translation_key + parsed_lines[str(id) + ".2"] = first_child + line["next_id"] = str(id) + ".2" + else: + parse_response_character_and_text(id, response_text, line, indent_size, parsed_lines) + else: + line["text"] = response_text.replace("!ESCAPED_COLON!", ":") + + # Title + elif is_title_line(raw_line): + line["type"] = DialogueConstants.TYPE_TITLE + if not raw_lines[id].begins_with("~"): + add_error(id, indent_size + 2, DialogueConstants.ERR_NESTED_TITLE) + else: + line["text"] = extract_title(raw_line) + # Titles can't have numbers as the first letter (unless they are external titles which get replaced with hashes) + if id >= _imported_line_count and BEGINS_WITH_NUMBER_REGEX.search(line.text): + add_error(id, 2, DialogueConstants.ERR_TITLE_BEGINS_WITH_NUMBER) + # Only import titles are allowed to have "/" in them + var valid_title = VALID_TITLE_REGEX.search(raw_line.replace("/", "").substr(2).strip_edges()) + if not valid_title: + add_error(id, 2, DialogueConstants.ERR_TITLE_INVALID_CHARACTERS) + + # Condition + elif is_condition_line(raw_line, false): + parent_stack.append(str(id)) + line["type"] = DialogueConstants.TYPE_CONDITION + line["condition"] = extract_condition(raw_line, false, indent_size) + line["next_id_after"] = find_next_line_after_conditions(id) + var next_sibling_id = find_next_condition_sibling(id) + line["next_conditional_id"] = next_sibling_id if is_valid_id(next_sibling_id) else line.next_id_after + + elif is_condition_line(raw_line, true): + parent_stack.append(str(id)) + line["type"] = DialogueConstants.TYPE_CONDITION + line["next_id_after"] = find_next_line_after_conditions(id) + line["next_conditional_id"] = line["next_id_after"] + + elif is_while_condition_line(raw_line): + parent_stack.append(str(id)) + line["type"] = DialogueConstants.TYPE_CONDITION + line["condition"] = extract_condition(raw_line, false, indent_size) + line["next_id_after"] = find_next_line_after_conditions(id) + while_loopbacks.append(find_last_line_within_conditions(id)) + line["next_conditional_id"] = line["next_id_after"] + + # Mutation + elif is_mutation_line(raw_line): + line["type"] = DialogueConstants.TYPE_MUTATION + line["mutation"] = extract_mutation(raw_line) + + # Goto + elif is_goto_line(raw_line): + line["type"] = DialogueConstants.TYPE_GOTO + + if raw_line.begins_with("%"): + apply_weighted_random(id, raw_line, indent_size, line) + + line["next_id"] = extract_goto(raw_line) + if is_goto_snippet_line(raw_line): + line["is_snippet"] = true + line["next_id_after"] = get_line_after_line(id, indent_size, line) + else: + line["is_snippet"] = false + + # Nested dialogue + elif is_nested_dialogue_line(raw_line, parsed_lines, raw_lines, indent_size): + var parent_line: Dictionary = parsed_lines.values().back() + var parent_indent_size: int = get_indent(raw_lines[parent_line.id.to_int()]) + var should_update_translation_key: bool = parent_line.translation_key == parent_line.text + var suffix: String = raw_line.strip_edges(true, false) + if suffix == "": + suffix = " " + parent_line["text"] += "\n" + suffix + parent_line["text_replacements"] = extract_dialogue_replacements(parent_line.text, parent_line.character.length() + 2 + parent_indent_size) + for replacement in parent_line.text_replacements: + if replacement.has("error"): + add_error(id, replacement.index, replacement.error) + + if should_update_translation_key: + parent_line["translation_key"] = parent_line.text + + parent_line["next_id"] = get_line_after_line(id, parent_indent_size, parent_line) + + # Ignore this line when checking for indent errors + remove_error(parent_line.id.to_int(), DialogueConstants.ERR_INVALID_INDENTATION) + + var next_line = raw_lines[parent_line.next_id.to_int()] + if not is_dialogue_line(next_line) and get_indent(next_line) >= indent_size: + add_error(parent_line.next_id.to_int(), indent_size, DialogueConstants.ERR_INVALID_INDENTATION) + + continue + + elif raw_line.strip_edges().begins_with("##"): + doc_comments.append(raw_line.replace("##", "").strip_edges()) + continue + + elif is_line_empty(raw_line) or is_import_line(raw_line): + continue + + # Regular dialogue + else: + # Remove escape character + if raw_line.begins_with("\\using"): raw_line = raw_line.substr(1) + if raw_line.begins_with("\\if"): raw_line = raw_line.substr(1) + if raw_line.begins_with("\\elif"): raw_line = raw_line.substr(1) + if raw_line.begins_with("\\else"): raw_line = raw_line.substr(1) + if raw_line.begins_with("\\while"): raw_line = raw_line.substr(1) + if raw_line.begins_with("\\-"): raw_line = raw_line.substr(1) + if raw_line.begins_with("\\~"): raw_line = raw_line.substr(1) + if raw_line.begins_with("\\=>"): raw_line = raw_line.substr(1) + + # Add any doc notes + line["notes"] = "\n".join(doc_comments) + doc_comments = [] + + # Work out any weighted random siblings + if raw_line.begins_with("%"): + apply_weighted_random(id, raw_line, indent_size, line) + raw_line = WEIGHTED_RANDOM_SIBLINGS_REGEX.sub(raw_line, "") + + line["type"] = DialogueConstants.TYPE_DIALOGUE + + # Extract any tags before we process the line + var tag_data: ResolvedTagData = extract_tags(raw_line) + line["tags"] = tag_data.tags + raw_line = tag_data.line_without_tags + + var l = raw_line.replace("\\:", "!ESCAPED_COLON!") + if ": " in l: + var bits = Array(l.strip_edges().split(": ")) + line["character"] = bits.pop_front().strip_edges() + if not line["character"] in character_names: + character_names.append(line["character"]) + # You can use variables in the character's name + line["character_replacements"] = extract_dialogue_replacements(line.character, indent_size) + for replacement in line.character_replacements: + if replacement.has("error"): + add_error(id, replacement.index, replacement.error) + line["text"] = ": ".join(bits).replace("!ESCAPED_COLON!", ":") + else: + line["character"] = "" + line["character_replacements"] = [] as Array[Dictionary] + line["text"] = l.replace("!ESCAPED_COLON!", ":") + + line["text_replacements"] = extract_dialogue_replacements(line.text, line.character.length() + 2 + indent_size) + for replacement in line.text_replacements: + if replacement.has("error"): + add_error(id, replacement.index, replacement.error) + + # Unescape any newlines + line["text"] = line.text.replace("\\n", "\n").strip_edges() + + # Work out where to go after this line + if line.next_id == DialogueConstants.ID_NULL: + line["next_id"] = get_line_after_line(id, indent_size, line) + + # Check for duplicate translation keys + if line.type in [DialogueConstants.TYPE_DIALOGUE, DialogueConstants.TYPE_RESPONSE]: + if line.has("translation_key"): + if known_translations.has(line.translation_key) and known_translations.get(line.translation_key) != line.text: + add_error(id, indent_size, DialogueConstants.ERR_DUPLICATE_ID) + else: + known_translations[line.translation_key] = line.text + else: + # Default translations key + if DialogueSettings.get_setting("missing_translations_are_errors", false): + add_error(id, indent_size, DialogueConstants.ERR_MISSING_ID) + else: + line["translation_key"] = line.text + + ## Error checking + + # Can't find goto + var jump_index: int = raw_line.find("=>") + match line.next_id: + DialogueConstants.ID_ERROR: + add_error(id, jump_index, DialogueConstants.ERR_UNKNOWN_TITLE) + DialogueConstants.ID_ERROR_INVALID_TITLE: + add_error(id, jump_index, DialogueConstants.ERR_INVALID_TITLE_REFERENCE) + DialogueConstants.ID_ERROR_TITLE_HAS_NO_BODY: + add_error(id, jump_index, DialogueConstants.ERR_TITLE_REFERENCE_HAS_NO_CONTENT) + + # Line after condition isn't indented once to the right + if line.type == DialogueConstants.TYPE_CONDITION: + if is_valid_id(line.next_id): + var next_line: String = raw_lines[line.next_id.to_int()] + var next_indent: int = get_indent(next_line) + if next_indent != indent_size + 1: + add_error(line.next_id.to_int(), next_indent, DialogueConstants.ERR_INVALID_INDENTATION) + else: + add_error(id, indent_size, DialogueConstants.ERR_INVALID_CONDITION_INDENTATION) + + # Line after normal line is indented to the right + elif line.type in [ + DialogueConstants.TYPE_TITLE, + DialogueConstants.TYPE_DIALOGUE, + DialogueConstants.TYPE_MUTATION, + DialogueConstants.TYPE_GOTO + ] and is_valid_id(line.next_id): + var next_line = raw_lines[line.next_id.to_int()] + if next_line != null and get_indent(next_line) > indent_size: + add_error(id, indent_size, DialogueConstants.ERR_INVALID_INDENTATION) + + # Parsing condition failed + if line.has("condition") and line.condition.has("error"): + add_error(id, line.condition.index, line.condition.error) + + # Parsing mutation failed + elif line.has("mutation") and line.mutation.has("error"): + add_error(id, line.mutation.index, line.mutation.error) + + # Line failed to parse at all + if line.get("type") == DialogueConstants.TYPE_UNKNOWN: + add_error(id, 0, DialogueConstants.ERR_UNKNOWN_LINE_SYNTAX) + + # If there are no titles then use the first actual line + if first_title == "" and not is_import_line(raw_line): + first_title = str(id) + + # If this line is the last line of a while loop, edit the id of its next line + if str(id) in while_loopbacks: + if is_goto_snippet_line(raw_line): + line["next_id_after"] = line["parent_id"] + elif is_condition_line(raw_line, true) or is_while_condition_line(raw_line): + line["next_conditional_id"] = line["parent_id"] + line["next_id_after"] = line["parent_id"] + elif is_goto_line(raw_line) or is_title_line(raw_line): + pass + else: + line["next_id"] = line["parent_id"] + + # Done! + parsed_lines[str(id)] = line + + if errors.size() > 0: + return ERR_PARSE_ERROR + + return OK + + +func get_data() -> DialogueManagerParseResult: + var data: DialogueManagerParseResult = DialogueManagerParseResult.new() + data.imported_paths = imported_paths + data.using_states = using_states + data.titles = titles + data.character_names = character_names + data.first_title = first_title + data.lines = parsed_lines + data.errors = errors + data.raw_text = raw_text + return data + + +## Get the last parse errors +func get_errors() -> Array[Dictionary]: + return errors + + +## Prepare the parser by collecting all lines and titles +func prepare(text: String, path: String, include_imported_titles_hashes: bool = true) -> void: + using_states = [] + errors = [] + imported_paths = [] + _imported_line_map = {} + while_loopbacks = [] + titles = {} + character_names = [] + first_title = "" + raw_lines = text.split("\n") + + # Work out imports + var known_imports: Dictionary = {} + + # Include the base file path so that we can get around circular dependencies + known_imports[path.hash()] = "." + + var imported_titles: Dictionary = {} + for id in range(0, raw_lines.size()): + var line = raw_lines[id] + if is_import_line(line): + var import_data = extract_import_path_and_name(line) + var import_hash: int = import_data.path.hash() + if import_data.size() > 0: + # Keep track of titles so we can add imported ones later + if str(import_hash) in imported_titles.keys(): + add_error(id, 0, DialogueConstants.ERR_FILE_ALREADY_IMPORTED) + if import_data.prefix in imported_titles.values(): + add_error(id, 0, DialogueConstants.ERR_DUPLICATE_IMPORT_NAME) + imported_titles[str(import_hash)] = import_data.prefix + + # Import the file content + if not known_imports.has(import_hash): + var error: Error = import_content(import_data.path, import_data.prefix, _imported_line_map, known_imports) + if error != OK: + add_error(id, 0, error) + + # Make a map so we can refer compiled lines to where they were imported from + if not _imported_line_map.has(import_hash): + _imported_line_map[import_hash] = { + hash = import_hash, + imported_on_line_number = id, + from_line = 0, + to_line = 0 + } + + var imported_content: String = "" + var cummulative_line_number: int = 0 + for item in _imported_line_map.values(): + item["from_line"] = cummulative_line_number + if known_imports.has(item.hash): + cummulative_line_number += known_imports[item.hash].split("\n").size() + item["to_line"] = cummulative_line_number + if known_imports.has(item.hash): + imported_content += known_imports[item.hash] + "\n" + + _imported_line_count = cummulative_line_number + 1 + + # Join it with the actual content + raw_lines = (imported_content + "\n" + text).split("\n") + + # Find all titles first + for id in range(0, raw_lines.size()): + if raw_lines[id].begins_with("~ "): + var title: String = extract_title(raw_lines[id]) + if title == "": + add_error(id, 2, DialogueConstants.ERR_EMPTY_TITLE) + elif titles.has(title): + add_error(id, 2, DialogueConstants.ERR_DUPLICATE_TITLE) + else: + var next_nonempty_line_id: String = get_next_nonempty_line_id(id) + if next_nonempty_line_id != DialogueConstants.ID_NULL: + titles[title] = next_nonempty_line_id + if "/" in title: + if include_imported_titles_hashes == false: + titles.erase(title) + var bits: PackedStringArray = title.split("/") + if imported_titles.has(bits[0]): + title = imported_titles[bits[0]] + "/" + bits[1] + titles[title] = next_nonempty_line_id + elif first_title == "": + first_title = next_nonempty_line_id + else: + titles[title] = DialogueConstants.ID_ERROR_TITLE_HAS_NO_BODY + + +func add_error(line_number: int, column_number: int, error: int) -> void: + # See if the error was in an imported file + for item in _imported_line_map.values(): + if line_number < item.to_line: + errors.append({ + line_number = item.imported_on_line_number, + column_number = 0, + error = DialogueConstants.ERR_ERRORS_IN_IMPORTED_FILE, + external_error = error, + external_line_number = line_number + }) + return + + # Otherwise, it's in this file + errors.append({ + line_number = line_number - _imported_line_count, + column_number = column_number, + error = error + }) + + +func remove_error(line_number: int, error: int) -> void: + for i in range(errors.size() - 1, -1, -1): + var err = errors[i] + var is_native_error = err.line_number == line_number - _imported_line_count and err.error == error + var is_external_error = err.get("external_line_number") == line_number and err.get("external_error") == error + if is_native_error or is_external_error: + errors.remove_at(i) + return + + +func is_import_line(line: String) -> bool: + return line.begins_with("import ") and " as " in line + + +func is_title_line(line: String) -> bool: + return line.strip_edges(true, false).begins_with("~ ") + + +func is_condition_line(line: String, include_else: bool = true) -> bool: + line = line.strip_edges(true, false) + if line.begins_with("if ") or line.begins_with("elif ") or line.begins_with("else if"): return true + if include_else and line.begins_with("else"): return true + return false + +func is_while_condition_line(line: String) -> bool: + line = line.strip_edges(true, false) + if line.begins_with("while "): return true + return false + + +func is_mutation_line(line: String) -> bool: + line = line.strip_edges(true, false) + return line.begins_with("do ") or line.begins_with("set ") + + +func is_goto_line(line: String) -> bool: + line = line.strip_edges(true, false) + line = WEIGHTED_RANDOM_SIBLINGS_REGEX.sub(line, "") + return line.begins_with("=> ") or line.begins_with("=>< ") + + +func is_goto_snippet_line(line: String) -> bool: + line = WEIGHTED_RANDOM_SIBLINGS_REGEX.sub(line.strip_edges(), "") + return line.begins_with("=>< ") + + +func is_nested_dialogue_line(raw_line: String, parsed_lines: Dictionary, raw_lines: PackedStringArray, indent_size: int) -> bool: + if parsed_lines.values().is_empty(): return false + if raw_line.strip_edges().begins_with("#"): return false + + var parent_line: Dictionary = parsed_lines.values().back() + if parent_line.type != DialogueConstants.TYPE_DIALOGUE: return false + if get_indent(raw_lines[parent_line.id.to_int()]) >= indent_size: return false + return true + + +func is_dialogue_line(line: String) -> bool: + if line == null: return false + if is_response_line(line): return false + if is_title_line(line): return false + if is_condition_line(line, true): return false + if is_mutation_line(line): return false + if is_goto_line(line): return false + return true + + +func is_response_line(line: String) -> bool: + return line.strip_edges(true, false).begins_with("- ") + + +func is_valid_id(id: String) -> bool: + return false if id in [DialogueConstants.ID_NULL, DialogueConstants.ID_ERROR, DialogueConstants.ID_END_CONVERSATION] else true + + +func is_line_empty(line: String) -> bool: + line = line.strip_edges() + + if line == "": return true + if line == "endif": return true + if line.begins_with("#"): return true + + return false + + +func get_line_after_line(id: int, indent_size: int, line: Dictionary) -> String: + # Unless the next line is an outdent we can assume it comes next + var next_nonempty_line_id = get_next_nonempty_line_id(id) + if next_nonempty_line_id != DialogueConstants.ID_NULL \ + and indent_size <= get_indent(raw_lines[next_nonempty_line_id.to_int()]): + # The next line is a title so we need the next nonempty line after that + if is_title_line(raw_lines[next_nonempty_line_id.to_int()]): + return get_next_nonempty_line_id(next_nonempty_line_id.to_int()) + # Otherwise it's a normal line + else: + return next_nonempty_line_id + # Otherwise, we grab the ID from the parents next ID after children + elif line.has("parent_id") and parsed_lines.has(line.parent_id): + return parsed_lines[line.parent_id].next_id_after + + else: + return DialogueConstants.ID_NULL + + +func get_indent(line: String) -> int: + var tabs: RegExMatch = INDENT_REGEX.search(line) + if tabs: + return tabs.get_string().length() + else: + return 0 + + +func get_next_nonempty_line_id(line_number: int) -> String: + for i in range(line_number + 1, raw_lines.size()): + if not is_line_empty(raw_lines[i]): + return str(i) + return DialogueConstants.ID_NULL + + +func find_previous_response_id(line_number: int) -> String: + var line = raw_lines[line_number] + var indent_size = get_indent(line) + + # Look back up the list to find the previous response + var last_found_response_id: String = str(line_number) + + for i in range(line_number - 1, -1, -1): + line = raw_lines[i] + + if is_line_empty(line): continue + + # If its a response at the same indent level then its a match + elif get_indent(line) == indent_size: + if line.strip_edges().begins_with("- "): + last_found_response_id = str(i) + else: + return last_found_response_id + + # Return itself if nothing was found + return last_found_response_id + + +func apply_weighted_random(id: int, raw_line: String, indent_size: int, line: Dictionary) -> void: + var weight: float = 1 + var found = WEIGHTED_RANDOM_SIBLINGS_REGEX.search(raw_line) + if found and found.names.has("weight"): + weight = found.strings[found.names.weight].to_float() + + # Look back up the list to find the first weighted random line in this group + var original_random_line: Dictionary = {} + for i in range(id, 0, -1): + # Ignore doc comment lines + if raw_lines[i].strip_edges().begins_with("##"): + continue + # Lines that aren't prefixed with the random token are a dead end + if not raw_lines[i].strip_edges().begins_with("%") or get_indent(raw_lines[i]) != indent_size: + break + # Make sure we group random dialogue and random lines separately + elif WEIGHTED_RANDOM_SIBLINGS_REGEX.sub(raw_line.strip_edges(), "").begins_with("=") != WEIGHTED_RANDOM_SIBLINGS_REGEX.sub(raw_lines[i].strip_edges(), "").begins_with("="): + break + # Otherwise we've found the origin + elif parsed_lines.has(str(i)) and parsed_lines[str(i)].has("siblings"): + original_random_line = parsed_lines[str(i)] + break + + # Attach it to the original random line and work out where to go after the line + if original_random_line.size() > 0: + original_random_line["siblings"] += [{ weight = weight, id = str(id) }] + if original_random_line.type != DialogueConstants.TYPE_GOTO: + # Update the next line for all siblings (not goto lines, though, they manager their + # own next ID) + original_random_line["next_id"] = get_line_after_line(id, indent_size, line) + for sibling in original_random_line["siblings"]: + if sibling.id in parsed_lines: + parsed_lines[sibling.id]["next_id"] = original_random_line["next_id"] + line["next_id"] = original_random_line.next_id + # Or set up this line as the original + else: + line["siblings"] = [{ weight = weight, id = str(id) }] + line["next_id"] = get_line_after_line(id, indent_size, line) + + if line.next_id == DialogueConstants.ID_NULL: + line["next_id"] = DialogueConstants.ID_END + + +func find_next_condition_sibling(line_number: int) -> String: + var line = raw_lines[line_number] + var expected_indent = get_indent(line) + + # Look down the list and find an elif or else at the same indent level + for i in range(line_number + 1, raw_lines.size()): + line = raw_lines[i] + if is_line_empty(line): continue + + var l = line.strip_edges() + if l.begins_with("~ "): + return DialogueConstants.ID_END_CONVERSATION + + elif get_indent(line) < expected_indent: + return DialogueConstants.ID_NULL + + elif get_indent(line) == expected_indent: + # Found an if, which begins a different block + if l.begins_with("if"): + return DialogueConstants.ID_NULL + + # Found what we're looking for + elif (l.begins_with("elif ") or l.begins_with("else")): + return str(i) + + return DialogueConstants.ID_NULL + + +func find_next_line_after_conditions(line_number: int) -> String: + var line = raw_lines[line_number] + var expected_indent = get_indent(line) + + # Look down the list for the first non condition line at the same or less indent level + for i in range(line_number + 1, raw_lines.size()): + line = raw_lines[i] + + if is_line_empty(line): continue + + var line_indent = get_indent(line) + line = line.strip_edges() + + if is_title_line(line): + return get_next_nonempty_line_id(i) + + elif line_indent > expected_indent: + continue + + elif line_indent == expected_indent: + if line.begins_with("elif ") or line.begins_with("else"): + continue + else: + return str(i) + + elif line_indent < expected_indent: + # We have to check the parent of this block + for p in range(line_number - 1, -1, -1): + line = raw_lines[p] + + if is_line_empty(line): continue + + line_indent = get_indent(line) + if line_indent < expected_indent: + return parsed_lines[str(p)].get("next_id_after", DialogueConstants.ID_NULL) + + return DialogueConstants.ID_END_CONVERSATION + +func find_last_line_within_conditions(line_number: int) -> String: + var line = raw_lines[line_number] + var expected_indent = get_indent(line) + + var candidate = DialogueConstants.ID_NULL + + # Look down the list for the last line that has an indent level 1 more than this line + # Ending the search when you find a line the same or less indent level + for i in range(line_number + 1, raw_lines.size()): + line = raw_lines[i] + + if is_line_empty(line): continue + + var line_indent = get_indent(line) + line = line.strip_edges() + + if line_indent > expected_indent + 1: + continue + elif line_indent == (expected_indent + 1): + candidate = i + else: + break + + return str(candidate) + +func find_next_line_after_responses(line_number: int) -> String: + var line = raw_lines[line_number] + var expected_indent = get_indent(line) + + # Find the first line after this one that has a smaller indent that isn't another option + # If we hit the eof then we give up + for i in range(line_number + 1, raw_lines.size()): + line = raw_lines[i] + + if is_line_empty(line): continue + + var indent = get_indent(line) + + line = line.strip_edges() + + # We hit a title so the next line is a new start + if is_title_line(line): + return get_next_nonempty_line_id(i) + + # Another option + elif line.begins_with("- "): + if indent == expected_indent: + # ...at the same level so we continue + continue + elif indent < expected_indent: + # ...outdented so check the previous parent + var previous_parent = parent_stack[parent_stack.size() - 2] + if parsed_lines.has(str(previous_parent)): + return parsed_lines[str(previous_parent)].next_id_after + else: + return DialogueConstants.ID_NULL + + # We're at the end of a conditional so jump back up to see what's after it + elif line.begins_with("elif ") or line.begins_with("else"): + for p in range(line_number - 1, -1, -1): + line = raw_lines[p] + + if is_line_empty(line): continue + + var line_indent = get_indent(line) + if line_indent < expected_indent: + return parsed_lines[str(p)].next_id_after + + # Otherwise check the indent for an outdent + else: + line_number = i + line = raw_lines[line_number] + if get_indent(line) <= expected_indent: + return str(line_number) + + # EOF so must be end of conversation + return DialogueConstants.ID_END_CONVERSATION + + +## Get the names of any autoloads in the project +func get_autoload_names() -> PackedStringArray: + var autoloads: PackedStringArray = [] + + var project = ConfigFile.new() + project.load("res://project.godot") + if project.has_section("autoload"): + return Array(project.get_section_keys("autoload")).filter(func(key): return key != "DialogueManager") + + return autoloads + + +## Import content from another dialogue file or return an ERR +func import_content(path: String, prefix: String, imported_line_map: Dictionary, known_imports: Dictionary) -> Error: + if FileAccess.file_exists(path): + var file = FileAccess.open(path, FileAccess.READ) + var content: PackedStringArray = file.get_as_text().split("\n") + + var imported_titles: Dictionary = {} + + for index in range(0, content.size()): + var line = content[index] + if is_import_line(line): + var import = extract_import_path_and_name(line) + if import.size() > 0: + if not known_imports.has(import.path.hash()): + # Add an empty record into the keys just so we don't end up with cyclic dependencies + known_imports[import.path.hash()] = "" + if import_content(import.path, import.prefix, imported_line_map, known_imports) != OK: + return ERR_LINK_FAILED + + if not imported_line_map.has(import.path.hash()): + # Make a map so we can refer compiled lines to where they were imported from + imported_line_map[import.path.hash()] = { + hash = import.path.hash(), + imported_on_line_number = index, + from_line = 0, + to_line = 0 + } + + imported_titles[import.prefix] = import.path.hash() + + var origin_hash: int = -1 + for hash_value in known_imports.keys(): + if known_imports[hash_value] == ".": + origin_hash = hash_value + + # Replace any titles or jump points with references to the files they point to (event if they point to their own file) + for i in range(0, content.size()): + var line = content[i] + if is_title_line(line): + var title = extract_title(line) + if "/" in line: + var bits = title.split("/") + content[i] = "~ %s/%s" % [imported_titles[bits[0]], bits[1]] + else: + content[i] = "~ %s/%s" % [str(path.hash()), title] + + elif "=>< " in line: + var jump: String = line.substr(line.find("=>< ") + "=>< ".length()).strip_edges() + if "/" in jump: + var bits: PackedStringArray = jump.split("/") + var title_hash: int = imported_titles[bits[0]] + if title_hash == origin_hash: + content[i] = "%s=>< %s" % [line.split("=>< ")[0], bits[1]] + else: + content[i] = "%s=>< %s/%s" % [line.split("=>< ")[0], title_hash, bits[1]] + + elif not jump in ["END", "END!"]: + content[i] = "%s=>< %s/%s" % [line.split("=>< ")[0], str(path.hash()), jump] + + elif "=> " in line: + var jump: String = line.substr(line.find("=> ") + "=> ".length()).strip_edges() + if "/" in jump: + var bits: PackedStringArray = jump.split("/") + var title_hash: int = imported_titles[bits[0]] + if title_hash == origin_hash: + content[i] = "%s=> %s" % [line.split("=> ")[0], bits[1]] + else: + content[i] = "%s=> %s/%s" % [line.split("=> ")[0], title_hash, bits[1]] + + elif not jump in ["END", "END!"]: + content[i] = "%s=> %s/%s" % [line.split("=> ")[0], str(path.hash()), jump] + + imported_paths.append(path) + known_imports[path.hash()] = "\n".join(content) + "\n=> END\n" + return OK + else: + return ERR_FILE_NOT_FOUND + + +func extract_import_path_and_name(line: String) -> Dictionary: + var found: RegExMatch = IMPORT_REGEX.search(line) + if found: + return { + path = found.strings[found.names.path], + prefix = found.strings[found.names.prefix] + } + else: + return {} + + +func extract_title(line: String) -> String: + return line.substr(2).strip_edges() + + +func extract_translation(line: String) -> String: + # Find a static translation key, eg. [ID:something] + var found: RegExMatch = TRANSLATION_REGEX.search(line) + if found: + return found.strings[found.names.tr] + else: + return "" + + +func extract_response_prompt(line: String) -> String: + # Find just the text prompt from a response, ignoring any conditions or gotos + line = line.substr(2) + if " [if " in line: + line = line.substr(0, line.find(" [if ")) + if " =>" in line: + line = line.substr(0, line.find(" =>")) + + # Without the translation key if there is one + var translation_key: String = extract_translation(line) + if translation_key: + line = line.replace("[ID:%s]" % translation_key, "") + + return line.replace("\\n", "\n").strip_edges() + + +func parse_response_character_and_text(id: int, text: String, line: Dictionary, indent_size: int, parsed_lines: Dictionary) -> void: + var bits = Array(text.strip_edges().split(": ")) + line["character"] = bits.pop_front().strip_edges() + line["character_replacements"] = extract_dialogue_replacements(line.character, line.character.length() + 2 + indent_size) + for replacement in line.character_replacements: + if replacement.has("error"): + add_error(id, replacement.index, replacement.error) + + if not line["character"] in character_names: + character_names.append(line["character"]) + + line["text"] = ": ".join(bits).replace("!ESCAPED_COLON!", ":").strip_edges() + + if line.get("translation_key", null) == null: + line["translation_key"] = line.text + + +func extract_mutation(line: String) -> Dictionary: + var found: RegExMatch = MUTATION_REGEX.search(line) + + if not found: + return { + index = 0, + error = DialogueConstants.ERR_INCOMPLETE_EXPRESSION + } + + if found.names.has("mutation"): + var expression: Array = tokenise(found.strings[found.names.mutation], DialogueConstants.TYPE_MUTATION, found.get_start("mutation")) + if expression.size() == 0: + return { + index = found.get_start("mutation"), + error = DialogueConstants.ERR_INCOMPLETE_EXPRESSION + } + elif expression[0].type == DialogueConstants.TYPE_ERROR: + return { + index = expression[0].index, + error = expression[0].value + } + else: + return { + expression = expression + } + + else: + return { + index = found.get_start(), + error = DialogueConstants.ERR_INCOMPLETE_EXPRESSION + } + + +func extract_condition(raw_line: String, is_wrapped: bool, index: int) -> Dictionary: + var condition: Dictionary = {} + + var regex: RegEx = WRAPPED_CONDITION_REGEX if is_wrapped else CONDITION_REGEX + var found: RegExMatch = regex.search(raw_line) + + if found == null: + return { + index = 0, + error = DialogueConstants.ERR_INCOMPLETE_EXPRESSION + } + + var raw_condition: String = found.strings[found.names.condition] + var expression: Array = tokenise(raw_condition, DialogueConstants.TYPE_CONDITION, index + found.get_start("condition")) + + if expression.size() == 0: + return { + index = index + found.get_start("condition"), + error = DialogueConstants.ERR_INCOMPLETE_EXPRESSION + } + elif expression[0].type == DialogueConstants.TYPE_ERROR: + return { + index = expression[0].index, + error = expression[0].value + } + else: + return { + expression = expression + } + + +func extract_dialogue_replacements(text: String, index: int) -> Array[Dictionary]: + var founds: Array[RegExMatch] = REPLACEMENTS_REGEX.search_all(text) + + if founds == null or founds.size() == 0: + return [] + + var replacements: Array[Dictionary] = [] + for found in founds: + var replacement: Dictionary = {} + var value_in_text: String = found.strings[1] + var expression: Array = tokenise(value_in_text, DialogueConstants.TYPE_DIALOGUE, index + found.get_start(1)) + if expression.size() == 0: + replacement = { + index = index + found.get_start(1), + error = DialogueConstants.ERR_INCOMPLETE_EXPRESSION + } + elif expression[0].type == DialogueConstants.TYPE_ERROR: + replacement = { + index = expression[0].index, + error = expression[0].value + } + else: + replacement = { + value_in_text = "{{%s}}" % value_in_text, + expression = expression + } + replacements.append(replacement) + + return replacements + + +func extract_goto(line: String) -> String: + var found: RegExMatch = GOTO_REGEX.search(line) + + if found == null: return DialogueConstants.ID_ERROR + + var title: String = found.strings[found.names.jump_to_title].strip_edges() + + if " " in title or title == "": + return DialogueConstants.ID_ERROR_INVALID_TITLE + + # "=> END!" means end the conversation + if title == "END!": + return DialogueConstants.ID_END_CONVERSATION + # "=> END" means end the current title (and go back to the previous one if there is one + # in the stack) + elif title == "END": + return DialogueConstants.ID_END + + elif titles.has(title): + return titles.get(title) + else: + return DialogueConstants.ID_ERROR + + +func extract_tags(line: String) -> ResolvedTagData: + var resolved_tags: PackedStringArray = [] + var tag_matches: Array[RegExMatch] = TAGS_REGEX.search_all(line) + for tag_match in tag_matches: + line = line.replace(tag_match.get_string(), "") + var tags = tag_match.get_string().replace("[#", "").replace("]", "").replace(", ", ",").split(",") + for tag in tags: + tag = tag.replace("#", "") + if not tag in resolved_tags: + resolved_tags.append(tag) + + return ResolvedTagData.new({ + tags = resolved_tags, + line_without_tags = line + }) + + +func extract_markers(line: String) -> ResolvedLineData: + var text: String = line + var pauses: Dictionary = {} + var speeds: Dictionary = {} + var mutations: Array[Array] = [] + var bbcodes: Array = [] + var time: String = "" + + # Remove any escaped brackets (ie. "\[") + var escaped_open_brackets: PackedInt32Array = [] + var escaped_close_brackets: PackedInt32Array = [] + for i in range(0, text.length() - 1): + if text.substr(i, 2) == "\\[": + text = text.substr(0, i) + "!" + text.substr(i + 2) + escaped_open_brackets.append(i) + elif text.substr(i, 2) == "\\]": + text = text.substr(0, i) + "!" + text.substr(i + 2) + escaped_close_brackets.append(i) + + # Extract all of the BB codes so that we know the actual text (we could do this easier with + # a RichTextLabel but then we'd need to await idle_frame which is annoying) + var bbcode_positions = find_bbcode_positions_in_string(text) + var accumulaive_length_offset = 0 + for position in bbcode_positions: + # Ignore our own markers + if position.code in ["wait", "speed", "/speed", "do", "set", "next", "if", "else", "/if"]: + continue + + bbcodes.append({ + bbcode = position.bbcode, + start = position.start, + offset_start = position.start - accumulaive_length_offset + }) + accumulaive_length_offset += position.bbcode.length() + + for bb in bbcodes: + text = text.substr(0, bb.offset_start) + text.substr(bb.offset_start + bb.bbcode.length()) + + # Now find any dialogue markers + var next_bbcode_position = find_bbcode_positions_in_string(text, false) + var limit = 0 + while next_bbcode_position.size() > 0 and limit < 1000: + limit += 1 + + var bbcode = next_bbcode_position[0] + + var index = bbcode.start + var code = bbcode.code + var raw_args = bbcode.raw_args + var args = {} + if code in ["do", "set"]: + args["value"] = extract_mutation("%s %s" % [code, raw_args]) + else: + # Could be something like: + # "=1.0" + # " rate=20 level=10" + if raw_args and raw_args[0] == "=": + raw_args = "value" + raw_args + for pair in raw_args.strip_edges().split(" "): + if "=" in pair: + var bits = pair.split("=") + args[bits[0]] = bits[1] + + match code: + "wait": + if pauses.has(index): + pauses[index] += args.get("value").to_float() + else: + pauses[index] = args.get("value").to_float() + "speed": + speeds[index] = args.get("value").to_float() + "/speed": + speeds[index] = 1.0 + "do", "set": + mutations.append([index, args.get("value")]) + "next": + time = args.get("value") if args.has("value") else "0" + + # Find any BB codes that are after this index and remove the length from their start + var length = bbcode.bbcode.length() + for bb in bbcodes: + if bb.offset_start > bbcode.start: + bb.offset_start -= length + bb.start -= length + + # Find any escaped brackets after this that need moving + for i in range(0, escaped_open_brackets.size()): + if escaped_open_brackets[i] > bbcode.start: + escaped_open_brackets[i] -= length + for i in range(0, escaped_close_brackets.size()): + if escaped_close_brackets[i] > bbcode.start: + escaped_close_brackets[i] -= length + + text = text.substr(0, index) + text.substr(index + length) + next_bbcode_position = find_bbcode_positions_in_string(text, false) + + # Put the BB Codes back in + for bb in bbcodes: + text = text.insert(bb.start, bb.bbcode) + + # Put the escaped brackets back in + for index in escaped_open_brackets: + text = text.left(index) + "[" + text.right(text.length() - index - 1) + for index in escaped_close_brackets: + text = text.left(index) + "]" + text.right(text.length() - index - 1) + + return ResolvedLineData.new({ + text = text, + pauses = pauses, + speeds = speeds, + mutations = mutations, + time = time + }) + + +func find_bbcode_positions_in_string(string: String, find_all: bool = true) -> Array[Dictionary]: + if not "[" in string: return [] + + var positions: Array[Dictionary] = [] + + var open_brace_count: int = 0 + var start: int = 0 + var bbcode: String = "" + var code: String = "" + var is_finished_code: bool = false + for i in range(0, string.length()): + if string[i] == "[": + if open_brace_count == 0: + start = i + bbcode = "" + code = "" + is_finished_code = false + open_brace_count += 1 + + else: + if not is_finished_code and (string[i].to_upper() != string[i] or string[i] == "/"): + code += string[i] + else: + is_finished_code = true + + if open_brace_count > 0: + bbcode += string[i] + + if string[i] == "]": + open_brace_count -= 1 + if open_brace_count == 0 and not code in ["if", "else", "/if"]: + positions.append({ + bbcode = bbcode, + code = code, + start = start, + raw_args = bbcode.substr(code.length() + 1, bbcode.length() - code.length() - 2).strip_edges() + }) + + if not find_all: + return positions + + return positions + + +func tokenise(text: String, line_type: String, index: int) -> Array: + var tokens: Array[Dictionary] = [] + var limit: int = 0 + while text.strip_edges() != "" and limit < 1000: + limit += 1 + var found = find_match(text) + if found.size() > 0: + tokens.append({ + index = index, + type = found.type, + value = found.value + }) + index += found.value.length() + text = found.remaining_text + elif text.begins_with(" "): + index += 1 + text = text.substr(1) + else: + return build_token_tree_error(DialogueConstants.ERR_INVALID_EXPRESSION, index) + + return build_token_tree(tokens, line_type, "")[0] + + +func build_token_tree_error(error: int, index: int) -> Array: + return [{ type = DialogueConstants.TOKEN_ERROR, value = error, index = index }] + + +func build_token_tree(tokens: Array[Dictionary], line_type: String, expected_close_token: String) -> Array: + var tree: Array[Dictionary] = [] + var limit = 0 + while tokens.size() > 0 and limit < 1000: + limit += 1 + var token = tokens.pop_front() + + var error = check_next_token(token, tokens, line_type) + if error != OK: + return [build_token_tree_error(error, token.index), tokens] + + match token.type: + DialogueConstants.TOKEN_FUNCTION: + var sub_tree = build_token_tree(tokens, line_type, DialogueConstants.TOKEN_PARENS_CLOSE) + + if sub_tree[0].size() > 0 and sub_tree[0][0].type == DialogueConstants.TOKEN_ERROR: + return [build_token_tree_error(sub_tree[0][0].value, token.index), tokens] + + tree.append({ + type = DialogueConstants.TOKEN_FUNCTION, + # Consume the trailing "(" + function = token.value.substr(0, token.value.length() - 1), + value = tokens_to_list(sub_tree[0]) + }) + tokens = sub_tree[1] + + DialogueConstants.TOKEN_DICTIONARY_REFERENCE: + var sub_tree = build_token_tree(tokens, line_type, DialogueConstants.TOKEN_BRACKET_CLOSE) + + if sub_tree[0].size() > 0 and sub_tree[0][0].type == DialogueConstants.TOKEN_ERROR: + return [build_token_tree_error(sub_tree[0][0].value, token.index), tokens] + + var args = tokens_to_list(sub_tree[0]) + if args.size() != 1: + return [build_token_tree_error(DialogueConstants.ERR_INVALID_INDEX, token.index), tokens] + + tree.append({ + type = DialogueConstants.TOKEN_DICTIONARY_REFERENCE, + # Consume the trailing "[" + variable = token.value.substr(0, token.value.length() - 1), + value = args[0] + }) + tokens = sub_tree[1] + + DialogueConstants.TOKEN_BRACE_OPEN: + var sub_tree = build_token_tree(tokens, line_type, DialogueConstants.TOKEN_BRACE_CLOSE) + + if sub_tree[0].size() > 0 and sub_tree[0][0].type == DialogueConstants.TOKEN_ERROR: + return [build_token_tree_error(sub_tree[0][0].value, token.index), tokens] + + tree.append({ + type = DialogueConstants.TOKEN_DICTIONARY, + value = tokens_to_dictionary(sub_tree[0]) + }) + + tokens = sub_tree[1] + + DialogueConstants.TOKEN_BRACKET_OPEN: + var sub_tree = build_token_tree(tokens, line_type, DialogueConstants.TOKEN_BRACKET_CLOSE) + + if sub_tree[0].size() > 0 and sub_tree[0][0].type == DialogueConstants.TOKEN_ERROR: + return [build_token_tree_error(sub_tree[0][0].value, token.index), tokens] + + var type = DialogueConstants.TOKEN_ARRAY + var value = tokens_to_list(sub_tree[0]) + + # See if this is referencing a nested dictionary value + if tree.size() > 0: + var previous_token = tree[tree.size() - 1] + if previous_token.type in [DialogueConstants.TOKEN_DICTIONARY_REFERENCE, DialogueConstants.TOKEN_DICTIONARY_NESTED_REFERENCE]: + type = DialogueConstants.TOKEN_DICTIONARY_NESTED_REFERENCE + value = value[0] + + tree.append({ + type = type, + value = value + }) + tokens = sub_tree[1] + + DialogueConstants.TOKEN_PARENS_OPEN: + var sub_tree = build_token_tree(tokens, line_type, DialogueConstants.TOKEN_PARENS_CLOSE) + + if sub_tree[0][0].type == DialogueConstants.TOKEN_ERROR: + return [build_token_tree_error(sub_tree[0][0].value, token.index), tokens] + + tree.append({ + type = DialogueConstants.TOKEN_GROUP, + value = sub_tree[0] + }) + tokens = sub_tree[1] + + DialogueConstants.TOKEN_PARENS_CLOSE, \ + DialogueConstants.TOKEN_BRACE_CLOSE, \ + DialogueConstants.TOKEN_BRACKET_CLOSE: + if token.type != expected_close_token: + return [build_token_tree_error(DialogueConstants.ERR_UNEXPECTED_CLOSING_BRACKET, token.index), tokens] + + return [tree, tokens] + + DialogueConstants.TOKEN_NOT: + # Double nots negate each other + if tokens.size() > 0 and tokens.front().type == DialogueConstants.TOKEN_NOT: + tokens.pop_front() + else: + tree.append({ + type = token.type + }) + + DialogueConstants.TOKEN_COMMA, \ + DialogueConstants.TOKEN_COLON, \ + DialogueConstants.TOKEN_DOT: + tree.append({ + type = token.type + }) + + DialogueConstants.TOKEN_COMPARISON, \ + DialogueConstants.TOKEN_ASSIGNMENT, \ + DialogueConstants.TOKEN_OPERATOR, \ + DialogueConstants.TOKEN_AND_OR, \ + DialogueConstants.TOKEN_VARIABLE: \ + tree.append({ + type = token.type, + value = token.value.strip_edges() + }) + + DialogueConstants.TOKEN_STRING: + tree.append({ + type = token.type, + value = token.value.substr(1, token.value.length() - 2) + }) + + DialogueConstants.TOKEN_CONDITION: + return [build_token_tree_error(DialogueConstants.ERR_UNEXPECTED_CONDITION, token.index), token] + + DialogueConstants.TOKEN_BOOL: + tree.append({ + type = token.type, + value = token.value.to_lower() == "true" + }) + + DialogueConstants.TOKEN_NUMBER: + var value = token.value.to_float() if "." in token.value else token.value.to_int() + # If previous token is a number and this one is a negative number then + # inject a minus operator token in between them. + if tree.size() > 0 and token.value.begins_with("-") and tree[tree.size() - 1].type == DialogueConstants.TOKEN_NUMBER: + tree.append(({ + type = DialogueConstants.TOKEN_OPERATOR, + value = "-" + })) + tree.append({ + type = token.type, + value = -1 * value + }) + else: + tree.append({ + type = token.type, + value = value + }) + + if expected_close_token != "": + return [build_token_tree_error(DialogueConstants.ERR_MISSING_CLOSING_BRACKET, tokens[0].index), tokens] + + return [tree, tokens] + + +func check_next_token(token: Dictionary, next_tokens: Array[Dictionary], line_type: String) -> Error: + var next_token: Dictionary = { type = null } + if next_tokens.size() > 0: + next_token = next_tokens.front() + + # Guard for assigning in a condition + if token.type == DialogueConstants.TOKEN_ASSIGNMENT and line_type == DialogueConstants.TYPE_CONDITION: + return DialogueConstants.ERR_UNEXPECTED_ASSIGNMENT + + # Special case for a negative number after this one + if token.type == DialogueConstants.TOKEN_NUMBER and next_token.type == DialogueConstants.TOKEN_NUMBER and next_token.value.begins_with("-"): + return OK + + var expected_token_types = [] + var unexpected_token_types = [] + match token.type: + DialogueConstants.TOKEN_FUNCTION, \ + DialogueConstants.TOKEN_PARENS_OPEN: + unexpected_token_types = [ + null, + DialogueConstants.TOKEN_COMMA, + DialogueConstants.TOKEN_COLON, + DialogueConstants.TOKEN_COMPARISON, + DialogueConstants.TOKEN_ASSIGNMENT, + DialogueConstants.TOKEN_OPERATOR, + DialogueConstants.TOKEN_AND_OR, + DialogueConstants.TOKEN_DOT + ] + + DialogueConstants.TOKEN_BRACKET_CLOSE: + unexpected_token_types = [ + DialogueConstants.TOKEN_NOT, + DialogueConstants.TOKEN_BOOL, + DialogueConstants.TOKEN_STRING, + DialogueConstants.TOKEN_NUMBER, + DialogueConstants.TOKEN_VARIABLE + ] + + DialogueConstants.TOKEN_BRACE_OPEN: + expected_token_types = [ + DialogueConstants.TOKEN_STRING, + DialogueConstants.TOKEN_NUMBER, + DialogueConstants.TOKEN_BRACE_CLOSE + ] + + DialogueConstants.TOKEN_PARENS_CLOSE, \ + DialogueConstants.TOKEN_BRACE_CLOSE: + unexpected_token_types = [ + DialogueConstants.TOKEN_NOT, + DialogueConstants.TOKEN_ASSIGNMENT, + DialogueConstants.TOKEN_BOOL, + DialogueConstants.TOKEN_STRING, + DialogueConstants.TOKEN_NUMBER, + DialogueConstants.TOKEN_VARIABLE + ] + + DialogueConstants.TOKEN_COMPARISON, \ + DialogueConstants.TOKEN_OPERATOR, \ + DialogueConstants.TOKEN_COMMA, \ + DialogueConstants.TOKEN_DOT, \ + DialogueConstants.TOKEN_NOT, \ + DialogueConstants.TOKEN_AND_OR, \ + DialogueConstants.TOKEN_DICTIONARY_REFERENCE: + unexpected_token_types = [ + null, + DialogueConstants.TOKEN_COMMA, + DialogueConstants.TOKEN_COLON, + DialogueConstants.TOKEN_COMPARISON, + DialogueConstants.TOKEN_ASSIGNMENT, + DialogueConstants.TOKEN_OPERATOR, + DialogueConstants.TOKEN_AND_OR, + DialogueConstants.TOKEN_PARENS_CLOSE, + DialogueConstants.TOKEN_BRACE_CLOSE, + DialogueConstants.TOKEN_BRACKET_CLOSE, + DialogueConstants.TOKEN_DOT + ] + + DialogueConstants.TOKEN_COLON: + unexpected_token_types = [ + DialogueConstants.TOKEN_COMMA, + DialogueConstants.TOKEN_COLON, + DialogueConstants.TOKEN_COMPARISON, + DialogueConstants.TOKEN_ASSIGNMENT, + DialogueConstants.TOKEN_OPERATOR, + DialogueConstants.TOKEN_AND_OR, + DialogueConstants.TOKEN_PARENS_CLOSE, + DialogueConstants.TOKEN_BRACE_CLOSE, + DialogueConstants.TOKEN_BRACKET_CLOSE, + DialogueConstants.TOKEN_DOT + ] + + DialogueConstants.TOKEN_BOOL, \ + DialogueConstants.TOKEN_STRING, \ + DialogueConstants.TOKEN_NUMBER: + unexpected_token_types = [ + DialogueConstants.TOKEN_NOT, + DialogueConstants.TOKEN_ASSIGNMENT, + DialogueConstants.TOKEN_BOOL, + DialogueConstants.TOKEN_STRING, + DialogueConstants.TOKEN_NUMBER, + DialogueConstants.TOKEN_VARIABLE, + DialogueConstants.TOKEN_FUNCTION, + DialogueConstants.TOKEN_PARENS_OPEN, + DialogueConstants.TOKEN_BRACE_OPEN, + DialogueConstants.TOKEN_BRACKET_OPEN + ] + + DialogueConstants.TOKEN_VARIABLE: + unexpected_token_types = [ + DialogueConstants.TOKEN_NOT, + DialogueConstants.TOKEN_BOOL, + DialogueConstants.TOKEN_STRING, + DialogueConstants.TOKEN_NUMBER, + DialogueConstants.TOKEN_VARIABLE, + DialogueConstants.TOKEN_FUNCTION, + DialogueConstants.TOKEN_PARENS_OPEN, + DialogueConstants.TOKEN_BRACE_OPEN, + DialogueConstants.TOKEN_BRACKET_OPEN + ] + + if (expected_token_types.size() > 0 and not next_token.type in expected_token_types or unexpected_token_types.size() > 0 and next_token.type in unexpected_token_types): + match next_token.type: + null: + return DialogueConstants.ERR_UNEXPECTED_END_OF_EXPRESSION + + DialogueConstants.TOKEN_FUNCTION: + return DialogueConstants.ERR_UNEXPECTED_FUNCTION + + DialogueConstants.TOKEN_PARENS_OPEN, \ + DialogueConstants.TOKEN_PARENS_CLOSE: + return DialogueConstants.ERR_UNEXPECTED_BRACKET + + DialogueConstants.TOKEN_COMPARISON, \ + DialogueConstants.TOKEN_ASSIGNMENT, \ + DialogueConstants.TOKEN_OPERATOR, \ + DialogueConstants.TOKEN_NOT, \ + DialogueConstants.TOKEN_AND_OR: + return DialogueConstants.ERR_UNEXPECTED_OPERATOR + + DialogueConstants.TOKEN_COMMA: + return DialogueConstants.ERR_UNEXPECTED_COMMA + DialogueConstants.TOKEN_COLON: + return DialogueConstants.ERR_UNEXPECTED_COLON + DialogueConstants.TOKEN_DOT: + return DialogueConstants.ERR_UNEXPECTED_DOT + + DialogueConstants.TOKEN_BOOL: + return DialogueConstants.ERR_UNEXPECTED_BOOLEAN + DialogueConstants.TOKEN_STRING: + return DialogueConstants.ERR_UNEXPECTED_STRING + DialogueConstants.TOKEN_NUMBER: + return DialogueConstants.ERR_UNEXPECTED_NUMBER + DialogueConstants.TOKEN_VARIABLE: + return DialogueConstants.ERR_UNEXPECTED_VARIABLE + + return DialogueConstants.ERR_INVALID_EXPRESSION + + return OK + + +func tokens_to_list(tokens: Array[Dictionary]) -> Array[Array]: + var list: Array[Array] = [] + var current_item: Array[Dictionary] = [] + for token in tokens: + if token.type == DialogueConstants.TOKEN_COMMA: + list.append(current_item) + current_item = [] + else: + current_item.append(token) + + if current_item.size() > 0: + list.append(current_item) + + return list + + +func tokens_to_dictionary(tokens: Array[Dictionary]) -> Dictionary: + var dictionary = {} + for i in range(0, tokens.size()): + if tokens[i].type == DialogueConstants.TOKEN_COLON: + if tokens.size() == i + 2: + dictionary[tokens[i-1]] = tokens[i+1] + else: + dictionary[tokens[i-1]] = { type = DialogueConstants.TOKEN_GROUP, value = tokens.slice(i+1) } + + return dictionary + + +func find_match(input: String) -> Dictionary: + for key in TOKEN_DEFINITIONS.keys(): + var regex = TOKEN_DEFINITIONS.get(key) + var found = regex.search(input) + if found: + return { + type = key, + remaining_text = input.substr(found.strings[0].length()), + value = found.strings[0] + } + + return {} diff --git a/addons/dialogue_manager/components/resolved_line_data.gd b/addons/dialogue_manager/components/resolved_line_data.gd new file mode 100644 index 0000000..1073586 --- /dev/null +++ b/addons/dialogue_manager/components/resolved_line_data.gd @@ -0,0 +1,15 @@ +extends RefCounted + +var text: String = "" +var pauses: Dictionary = {} +var speeds: Dictionary = {} +var mutations: Array[Array] = [] +var time: String = "" + + +func _init(data: Dictionary) -> void: + text = data.text + pauses = data.pauses + speeds = data.speeds + mutations = data.mutations + time = data.time diff --git a/addons/dialogue_manager/components/resolved_tag_data.gd b/addons/dialogue_manager/components/resolved_tag_data.gd new file mode 100644 index 0000000..728cc42 --- /dev/null +++ b/addons/dialogue_manager/components/resolved_tag_data.gd @@ -0,0 +1,10 @@ +extends RefCounted + + +var tags: PackedStringArray = [] +var line_without_tags: String = "" + + +func _init(data: Dictionary) -> void: + tags = data.tags + line_without_tags = data.line_without_tags diff --git a/addons/dialogue_manager/components/search_and_replace.gd b/addons/dialogue_manager/components/search_and_replace.gd new file mode 100644 index 0000000..e61e3ca --- /dev/null +++ b/addons/dialogue_manager/components/search_and_replace.gd @@ -0,0 +1,209 @@ +@tool +extends VBoxContainer + + +signal open_requested() +signal close_requested() + + +const DialogueConstants = preload("../constants.gd") + + +@onready var input: LineEdit = $Search/Input +@onready var result_label: Label = $Search/ResultLabel +@onready var previous_button: Button = $Search/PreviousButton +@onready var next_button: Button = $Search/NextButton +@onready var match_case_button: CheckBox = $Search/MatchCaseCheckBox +@onready var replace_check_button: CheckButton = $Search/ReplaceCheckButton +@onready var replace_panel: HBoxContainer = $Replace +@onready var replace_input: LineEdit = $Replace/Input +@onready var replace_button: Button = $Replace/ReplaceButton +@onready var replace_all_button: Button = $Replace/ReplaceAllButton + +# The code edit we will be affecting (for some reason exporting this didn't work) +var code_edit: CodeEdit: + set(next_code_edit): + code_edit = next_code_edit + code_edit.gui_input.connect(_on_text_edit_gui_input) + code_edit.text_changed.connect(_on_text_edit_text_changed) + get: + return code_edit + +var results: Array = [] +var result_index: int = -1: + set(next_result_index): + result_index = next_result_index + if results.size() > 0: + var r = results[result_index] + code_edit.set_caret_line(r[0]) + code_edit.select(r[0], r[1], r[0], r[1] + r[2]) + else: + result_index = -1 + if is_instance_valid(code_edit): + code_edit.deselect() + + result_label.text = DialogueConstants.translate("n_of_n").format({ index = result_index + 1, total = results.size() }) + get: + return result_index + + +func _ready() -> void: + apply_theme() + + previous_button.tooltip_text = DialogueConstants.translate("search.previous") + next_button.tooltip_text = DialogueConstants.translate("search.next") + match_case_button.text = DialogueConstants.translate("search.match_case") + $Search/ReplaceCheckButton.text = DialogueConstants.translate("search.toggle_replace") + replace_button.text = DialogueConstants.translate("search.replace") + replace_all_button.text = DialogueConstants.translate("search.replace_all") + $Replace/ReplaceLabel.text = DialogueConstants.translate("search.replace_with") + + self.result_index = -1 + + replace_panel.hide() + replace_button.disabled = true + replace_all_button.disabled = true + + hide() + + +func focus_line_edit() -> void: + input.grab_focus() + input.select_all() + + +func apply_theme() -> void: + if is_instance_valid(previous_button): + previous_button.icon = get_theme_icon("ArrowLeft", "EditorIcons") + if is_instance_valid(next_button): + next_button.icon = get_theme_icon("ArrowRight", "EditorIcons") + + +# Find text in the code +func search(text: String = "", default_result_index: int = 0) -> void: + results.clear() + + if text == "": + text = input.text + + var lines = code_edit.text.split("\n") + for line_number in range(0, lines.size()): + var line = lines[line_number] + + var column = find_in_line(line, text, 0) + while column > -1: + results.append([line_number, column, text.length()]) + column = find_in_line(line, text, column + 1) + + if results.size() > 0: + replace_button.disabled = false + replace_all_button.disabled = false + else: + replace_button.disabled = true + replace_all_button.disabled = true + + self.result_index = clamp(default_result_index, 0, results.size() - 1) + + +# Find text in a string and match case if requested +func find_in_line(line: String, text: String, from_index: int = 0) -> int: + if match_case_button.button_pressed: + return line.find(text, from_index) + else: + return line.findn(text, from_index) + + +### Signals + + +func _on_text_edit_gui_input(event: InputEvent) -> void: + if event is InputEventKey and event.is_pressed(): + match event.as_text(): + "Ctrl+F", "Command+F": + open_requested.emit() + "Ctrl+Shift+R", "Command+Shift+R": + replace_check_button.set_pressed(true) + open_requested.emit() + + +func _on_text_edit_text_changed() -> void: + results.clear() + + +func _on_search_and_replace_theme_changed() -> void: + apply_theme() + + +func _on_input_text_changed(new_text: String) -> void: + search(new_text) + + +func _on_previous_button_pressed() -> void: + self.result_index = wrapi(result_index - 1, 0, results.size()) + + +func _on_next_button_pressed() -> void: + self.result_index = wrapi(result_index + 1, 0, results.size()) + + +func _on_search_and_replace_visibility_changed() -> void: + if is_instance_valid(input): + if visible: + input.grab_focus() + var selection = code_edit.get_selected_text() + if input.text == "" and selection != "": + input.text = selection + search(selection) + else: + search() + else: + input.text = "" + + +func _on_input_gui_input(event: InputEvent) -> void: + if event is InputEventKey and event.is_pressed(): + match event.as_text(): + "Enter": + search(input.text) + "Escape": + emit_signal("close_requested") + + +func _on_replace_button_pressed() -> void: + if result_index == -1: return + + # Replace the selection at result index + var r: Array = results[result_index] + var lines: PackedStringArray = code_edit.text.split("\n") + var line: String = lines[r[0]] + line = line.substr(0, r[1]) + replace_input.text + line.substr(r[1] + r[2]) + lines[r[0]] = line + code_edit.text = "\n".join(lines) + search(input.text, result_index) + code_edit.text_changed.emit() + + +func _on_replace_all_button_pressed() -> void: + if match_case_button.button_pressed: + code_edit.text = code_edit.text.replace(input.text, replace_input.text) + else: + code_edit.text = code_edit.text.replacen(input.text, replace_input.text) + search() + code_edit.text_changed.emit() + + +func _on_replace_check_button_toggled(button_pressed: bool) -> void: + replace_panel.visible = button_pressed + if button_pressed: + replace_input.grab_focus() + + +func _on_input_focus_entered() -> void: + if results.size() == 0: + search() + else: + self.result_index = result_index + + +func _on_match_case_check_box_toggled(button_pressed: bool) -> void: + search() diff --git a/addons/dialogue_manager/components/search_and_replace.tscn b/addons/dialogue_manager/components/search_and_replace.tscn new file mode 100644 index 0000000..2e26c56 --- /dev/null +++ b/addons/dialogue_manager/components/search_and_replace.tscn @@ -0,0 +1,86 @@ +[gd_scene load_steps=2 format=3 uid="uid://gr8nakpbrhby"] + +[ext_resource type="Script" path="res://addons/dialogue_manager/components/search_and_replace.gd" id="1_8oj1f"] + +[node name="SearchAndReplace" type="VBoxContainer"] +visible = false +anchors_preset = 10 +anchor_right = 1.0 +offset_bottom = 31.0 +grow_horizontal = 2 +size_flags_horizontal = 3 +script = ExtResource("1_8oj1f") + +[node name="Search" type="HBoxContainer" parent="."] +layout_mode = 2 + +[node name="Input" type="LineEdit" parent="Search"] +layout_mode = 2 +size_flags_horizontal = 3 +metadata/_edit_use_custom_anchors = true + +[node name="MatchCaseCheckBox" type="CheckBox" parent="Search"] +layout_mode = 2 +text = "Match case" + +[node name="VSeparator" type="VSeparator" parent="Search"] +layout_mode = 2 + +[node name="PreviousButton" type="Button" parent="Search"] +layout_mode = 2 +tooltip_text = "Previous" +flat = true + +[node name="ResultLabel" type="Label" parent="Search"] +layout_mode = 2 +text = "0 of 0" + +[node name="NextButton" type="Button" parent="Search"] +layout_mode = 2 +tooltip_text = "Next" +flat = true + +[node name="VSeparator2" type="VSeparator" parent="Search"] +layout_mode = 2 + +[node name="ReplaceCheckButton" type="CheckButton" parent="Search"] +layout_mode = 2 +text = "Replace" + +[node name="Replace" type="HBoxContainer" parent="."] +visible = false +layout_mode = 2 + +[node name="ReplaceLabel" type="Label" parent="Replace"] +layout_mode = 2 +text = "Replace with:" + +[node name="Input" type="LineEdit" parent="Replace"] +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="ReplaceButton" type="Button" parent="Replace"] +layout_mode = 2 +disabled = true +text = "Replace" +flat = true + +[node name="ReplaceAllButton" type="Button" parent="Replace"] +layout_mode = 2 +disabled = true +text = "Replace all" +flat = true + +[connection signal="theme_changed" from="." to="." method="_on_search_and_replace_theme_changed"] +[connection signal="visibility_changed" from="." to="." method="_on_search_and_replace_visibility_changed"] +[connection signal="focus_entered" from="Search/Input" to="." method="_on_input_focus_entered"] +[connection signal="gui_input" from="Search/Input" to="." method="_on_input_gui_input"] +[connection signal="text_changed" from="Search/Input" to="." method="_on_input_text_changed"] +[connection signal="toggled" from="Search/MatchCaseCheckBox" to="." method="_on_match_case_check_box_toggled"] +[connection signal="pressed" from="Search/PreviousButton" to="." method="_on_previous_button_pressed"] +[connection signal="pressed" from="Search/NextButton" to="." method="_on_next_button_pressed"] +[connection signal="toggled" from="Search/ReplaceCheckButton" to="." method="_on_replace_check_button_toggled"] +[connection signal="focus_entered" from="Replace/Input" to="." method="_on_input_focus_entered"] +[connection signal="gui_input" from="Replace/Input" to="." method="_on_input_gui_input"] +[connection signal="pressed" from="Replace/ReplaceButton" to="." method="_on_replace_button_pressed"] +[connection signal="pressed" from="Replace/ReplaceAllButton" to="." method="_on_replace_all_button_pressed"] diff --git a/addons/dialogue_manager/components/title_list.gd b/addons/dialogue_manager/components/title_list.gd new file mode 100644 index 0000000..673e460 --- /dev/null +++ b/addons/dialogue_manager/components/title_list.gd @@ -0,0 +1,67 @@ +@tool +extends VBoxContainer + +signal title_selected(title: String) + + +const DialogueConstants = preload("../constants.gd") + + +@onready var filter_edit: LineEdit = $FilterEdit +@onready var list: ItemList = $List + +var titles: PackedStringArray: + set(next_titles): + titles = next_titles + apply_filter() + get: + return titles + +var filter: String: + set(next_filter): + filter = next_filter + apply_filter() + get: + return filter + + +func _ready() -> void: + apply_theme() + + filter_edit.placeholder_text = DialogueConstants.translate("titles_list.filter") + + +func select_title(title: String) -> void: + list.deselect_all() + for i in range(0, list.get_item_count()): + if list.get_item_text(i) == title.strip_edges(): + list.select(i) + + +func apply_filter() -> void: + list.clear() + for title in titles: + if filter == "" or filter.to_lower() in title.to_lower(): + list.add_item(title.strip_edges()) + + +func apply_theme() -> void: + if is_instance_valid(filter_edit): + filter_edit.right_icon = get_theme_icon("Search", "EditorIcons") + + +### Signals + + +func _on_theme_changed() -> void: + apply_theme() + + +func _on_filter_edit_text_changed(new_text: String) -> void: + self.filter = new_text + + +func _on_list_item_clicked(index: int, at_position: Vector2, mouse_button_index: int) -> void: + if mouse_button_index == MOUSE_BUTTON_LEFT: + var title = list.get_item_text(index) + title_selected.emit(title) diff --git a/addons/dialogue_manager/components/title_list.tscn b/addons/dialogue_manager/components/title_list.tscn new file mode 100644 index 0000000..3e5c9a0 --- /dev/null +++ b/addons/dialogue_manager/components/title_list.tscn @@ -0,0 +1,45 @@ +[gd_scene load_steps=4 format=3 uid="uid://ctns6ouwwd68i"] + +[ext_resource type="Script" path="res://addons/dialogue_manager/components/title_list.gd" id="1_5qqmd"] + +[sub_resource type="Image" id="Image_o5dqs"] +data = { +"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 93, 93, 131, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 131, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 131, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 231, 255, 93, 93, 55, 255, 97, 97, 58, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 231, 255, 94, 94, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 93, 93, 41, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 97, 97, 42, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 98, 98, 47, 255, 97, 97, 42, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 235, 255, 93, 93, 233, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 94, 94, 46, 255, 93, 93, 236, 255, 93, 93, 233, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), +"format": "RGBA8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id="ImageTexture_ekmpw"] +image = SubResource("Image_o5dqs") + +[node name="TitleList" type="VBoxContainer"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +script = ExtResource("1_5qqmd") + +[node name="FilterEdit" type="LineEdit" parent="."] +layout_mode = 2 +offset_right = 1152.0 +offset_bottom = 31.0 +placeholder_text = "Filter titles" +clear_button_enabled = true +right_icon = SubResource("ImageTexture_ekmpw") + +[node name="List" type="ItemList" parent="."] +layout_mode = 2 +offset_top = 35.0 +offset_right = 1152.0 +offset_bottom = 648.0 +size_flags_vertical = 3 +allow_reselect = true + +[connection signal="theme_changed" from="." to="." method="_on_theme_changed"] +[connection signal="text_changed" from="FilterEdit" to="." method="_on_filter_edit_text_changed"] +[connection signal="item_clicked" from="List" to="." method="_on_list_item_clicked"] diff --git a/addons/dialogue_manager/components/update_button.gd b/addons/dialogue_manager/components/update_button.gd new file mode 100644 index 0000000..9230fc8 --- /dev/null +++ b/addons/dialogue_manager/components/update_button.gd @@ -0,0 +1,124 @@ +@tool +extends Button + +const DialogueConstants = preload("../constants.gd") + +const REMOTE_RELEASES_URL = "https://api.github.com/repos/nathanhoad/godot_dialogue_manager/releases" + + +@onready var http_request: HTTPRequest = $HTTPRequest +@onready var download_dialog: AcceptDialog = $DownloadDialog +@onready var download_update_panel = $DownloadDialog/DownloadUpdatePanel +@onready var needs_reload_dialog: AcceptDialog = $NeedsReloadDialog +@onready var update_failed_dialog: AcceptDialog = $UpdateFailedDialog +@onready var timer: Timer = $Timer + +# The main editor plugin +var editor_plugin: EditorPlugin + +var needs_reload: bool = false + +# A lambda that gets called just before refreshing the plugin. Return false to stop the reload. +var on_before_refresh: Callable = func(): return true + + +func _ready() -> void: + hide() + apply_theme() + + # Check for updates on GitHub + check_for_update() + + # Check again every few hours + timer.start(60 * 60 * 12) + + +# Convert a version number to an actually comparable number +func version_to_number(version: String) -> int: + var bits = version.split(".") + return bits[0].to_int() * 1000000 + bits[1].to_int() * 1000 + bits[2].to_int() + + +func apply_theme() -> void: + var color: Color = get_theme_color("success_color", "Editor") + + if needs_reload: + color = get_theme_color("error_color", "Editor") + icon = get_theme_icon("Reload", "EditorIcons") + add_theme_color_override("icon_normal_color", color) + add_theme_color_override("icon_focus_color", color) + add_theme_color_override("icon_hover_color", color) + + add_theme_color_override("font_color", color) + add_theme_color_override("font_focus_color", color) + add_theme_color_override("font_hover_color", color) + + +func check_for_update() -> void: + http_request.request(REMOTE_RELEASES_URL) + + +### Signals + + +func _on_http_request_request_completed(result: int, response_code: int, headers: PackedStringArray, body: PackedByteArray) -> void: + if result != HTTPRequest.RESULT_SUCCESS: return + + var current_version: String = editor_plugin.get_version() + + # Work out the next version from the releases information on GitHub + var response = JSON.parse_string(body.get_string_from_utf8()) + if typeof(response) != TYPE_ARRAY: return + + # GitHub releases are in order of creation, not order of version + var versions = (response as Array).filter(func(release): + var version: String = release.tag_name.substr(1) + return version_to_number(version) > version_to_number(current_version) + ) + if versions.size() > 0: + download_update_panel.next_version_release = versions[0] + text = DialogueConstants.translate("update.available").format({ version = versions[0].tag_name.substr(1) }) + show() + + +func _on_update_button_pressed() -> void: + if needs_reload: + var will_refresh = on_before_refresh.call() + if will_refresh: + editor_plugin.get_editor_interface().restart_editor(true) + else: + var scale: float = editor_plugin.get_editor_interface().get_editor_scale() + download_dialog.min_size = Vector2(300, 250) * scale + download_dialog.popup_centered() + + +func _on_download_dialog_close_requested() -> void: + download_dialog.hide() + + +func _on_download_update_panel_updated(updated_to_version: String) -> void: + download_dialog.hide() + + needs_reload_dialog.dialog_text = DialogueConstants.translate("update.needs_reload") + needs_reload_dialog.ok_button_text = DialogueConstants.translate("update.reload_ok_button") + needs_reload_dialog.cancel_button_text = DialogueConstants.translate("update.reload_cancel_button") + needs_reload_dialog.popup_centered() + + needs_reload = true + text = DialogueConstants.translate("update.reload_project") + apply_theme() + + +func _on_download_update_panel_failed() -> void: + download_dialog.hide() + update_failed_dialog.dialog_text = DialogueConstants.translate("update.failed") + update_failed_dialog.popup_centered() + + +func _on_needs_reload_dialog_confirmed() -> void: + editor_plugin.get_editor_interface().restart_editor(true) + + +func _on_timer_timeout() -> void: + if not needs_reload: + check_for_update() diff --git a/addons/dialogue_manager/components/update_button.tscn b/addons/dialogue_manager/components/update_button.tscn new file mode 100644 index 0000000..533a94e --- /dev/null +++ b/addons/dialogue_manager/components/update_button.tscn @@ -0,0 +1,42 @@ +[gd_scene load_steps=3 format=3 uid="uid://co8yl23idiwbi"] + +[ext_resource type="Script" path="res://addons/dialogue_manager/components/update_button.gd" id="1_d2tpb"] +[ext_resource type="PackedScene" uid="uid://qdxrxv3c3hxk" path="res://addons/dialogue_manager/components/download_update_panel.tscn" id="2_iwm7r"] + +[node name="UpdateButton" type="Button"] +visible = false +offset_right = 8.0 +offset_bottom = 8.0 +theme_override_colors/font_color = Color(0, 0, 0, 1) +theme_override_colors/font_hover_color = Color(0, 0, 0, 1) +theme_override_colors/font_focus_color = Color(0, 0, 0, 1) +text = "v2.9.0 available" +flat = true +script = ExtResource("1_d2tpb") + +[node name="HTTPRequest" type="HTTPRequest" parent="."] + +[node name="DownloadDialog" type="AcceptDialog" parent="."] +title = "Download update" +size = Vector2i(400, 300) +unresizable = true +min_size = Vector2i(300, 250) +ok_button_text = "Close" + +[node name="DownloadUpdatePanel" parent="DownloadDialog" instance=ExtResource("2_iwm7r")] + +[node name="UpdateFailedDialog" type="AcceptDialog" parent="."] +dialog_text = "You have been updated to version 2.4.3" + +[node name="NeedsReloadDialog" type="ConfirmationDialog" parent="."] + +[node name="Timer" type="Timer" parent="."] +wait_time = 14400.0 + +[connection signal="pressed" from="." to="." method="_on_update_button_pressed"] +[connection signal="request_completed" from="HTTPRequest" to="." method="_on_http_request_request_completed"] +[connection signal="close_requested" from="DownloadDialog" to="." method="_on_download_dialog_close_requested"] +[connection signal="failed" from="DownloadDialog/DownloadUpdatePanel" to="." method="_on_download_update_panel_failed"] +[connection signal="updated" from="DownloadDialog/DownloadUpdatePanel" to="." method="_on_download_update_panel_updated"] +[connection signal="confirmed" from="NeedsReloadDialog" to="." method="_on_needs_reload_dialog_confirmed"] +[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"] diff --git a/addons/dialogue_manager/constants.gd b/addons/dialogue_manager/constants.gd new file mode 100644 index 0000000..0a0ba92 --- /dev/null +++ b/addons/dialogue_manager/constants.gd @@ -0,0 +1,187 @@ +extends Node + + +const USER_CONFIG_PATH = "user://dialogue_manager_user_config.json" +const CACHE_PATH = "user://dialogue_manager_cache.json" + +# Token types + +const TOKEN_FUNCTION = "function" +const TOKEN_DICTIONARY_REFERENCE = "dictionary_reference" +const TOKEN_DICTIONARY_NESTED_REFERENCE = "dictionary_nested_reference" +const TOKEN_GROUP = "group" +const TOKEN_ARRAY = "array" +const TOKEN_DICTIONARY = "dictionary" +const TOKEN_PARENS_OPEN = "parens_open" +const TOKEN_PARENS_CLOSE = "parens_close" +const TOKEN_BRACKET_OPEN = "bracket_open" +const TOKEN_BRACKET_CLOSE = "bracket_close" +const TOKEN_BRACE_OPEN = "brace_open" +const TOKEN_BRACE_CLOSE = "brace_close" +const TOKEN_COLON = "colon" +const TOKEN_COMPARISON = "comparison" +const TOKEN_ASSIGNMENT = "assignment" +const TOKEN_OPERATOR = "operator" +const TOKEN_COMMA = "comma" +const TOKEN_DOT = "dot" +const TOKEN_CONDITION = "condition" +const TOKEN_BOOL = "bool" +const TOKEN_NOT = "not" +const TOKEN_AND_OR = "and_or" +const TOKEN_STRING = "string" +const TOKEN_NUMBER = "number" +const TOKEN_VARIABLE = "variable" +const TOKEN_COMMENT = "comment" + +const TOKEN_ERROR = "error" + +# Line types + +const TYPE_UNKNOWN = "unknown" +const TYPE_RESPONSE = "response" +const TYPE_TITLE = "title" +const TYPE_CONDITION = "condition" +const TYPE_MUTATION = "mutation" +const TYPE_GOTO = "goto" +const TYPE_DIALOGUE = "dialogue" +const TYPE_ERROR = "error" + +const TYPE_ELSE = "else" + +# Line IDs + +const ID_NULL = "" +const ID_ERROR = "error" +const ID_ERROR_INVALID_TITLE = "invalid title" +const ID_ERROR_TITLE_HAS_NO_BODY = "title has no body" +const ID_END = "end" +const ID_END_CONVERSATION = "end!" + +# Errors + +const ERR_ERRORS_IN_IMPORTED_FILE = 100 +const ERR_FILE_ALREADY_IMPORTED = 101 +const ERR_DUPLICATE_IMPORT_NAME = 102 +const ERR_EMPTY_TITLE = 103 +const ERR_DUPLICATE_TITLE = 104 +const ERR_NESTED_TITLE = 105 +const ERR_TITLE_INVALID_CHARACTERS = 106 +const ERR_UNKNOWN_TITLE = 107 +const ERR_INVALID_TITLE_REFERENCE = 108 +const ERR_TITLE_REFERENCE_HAS_NO_CONTENT = 109 +const ERR_INVALID_EXPRESSION = 110 +const ERR_UNEXPECTED_CONDITION = 111 +const ERR_DUPLICATE_ID = 112 +const ERR_MISSING_ID = 113 +const ERR_INVALID_INDENTATION = 114 +const ERR_INVALID_CONDITION_INDENTATION = 115 +const ERR_INCOMPLETE_EXPRESSION = 116 +const ERR_INVALID_EXPRESSION_FOR_VALUE = 117 +const ERR_UNKNOWN_LINE_SYNTAX = 118 +const ERR_TITLE_BEGINS_WITH_NUMBER = 119 +const ERR_UNEXPECTED_END_OF_EXPRESSION = 120 +const ERR_UNEXPECTED_FUNCTION = 121 +const ERR_UNEXPECTED_BRACKET = 122 +const ERR_UNEXPECTED_CLOSING_BRACKET = 123 +const ERR_MISSING_CLOSING_BRACKET = 124 +const ERR_UNEXPECTED_OPERATOR = 125 +const ERR_UNEXPECTED_COMMA = 126 +const ERR_UNEXPECTED_COLON = 127 +const ERR_UNEXPECTED_DOT = 128 +const ERR_UNEXPECTED_BOOLEAN = 129 +const ERR_UNEXPECTED_STRING = 130 +const ERR_UNEXPECTED_NUMBER = 131 +const ERR_UNEXPECTED_VARIABLE = 132 +const ERR_INVALID_INDEX = 133 +const ERR_UNEXPECTED_ASSIGNMENT = 134 +const ERR_UNKNOWN_USING = 135 + + +## Get the error message +static func get_error_message(error: int) -> String: + match error: + ERR_ERRORS_IN_IMPORTED_FILE: + return translate("errors.import_errors") + ERR_FILE_ALREADY_IMPORTED: + return translate("errors.already_imported") + ERR_DUPLICATE_IMPORT_NAME: + return translate("errors.duplicate_import") + ERR_EMPTY_TITLE: + return translate("errors.empty_title") + ERR_DUPLICATE_TITLE: + return translate("errors.duplicate_title") + ERR_NESTED_TITLE: + return translate("errors.nested_title") + ERR_TITLE_INVALID_CHARACTERS: + return translate("errors.invalid_title_string") + ERR_TITLE_BEGINS_WITH_NUMBER: + return translate("errors.invalid_title_number") + ERR_UNKNOWN_TITLE: + return translate("errors.unknown_title") + ERR_INVALID_TITLE_REFERENCE: + return translate("errors.jump_to_invalid_title") + ERR_TITLE_REFERENCE_HAS_NO_CONTENT: + return translate("errors.title_has_no_content") + ERR_INVALID_EXPRESSION: + return translate("errors.invalid_expression") + ERR_UNEXPECTED_CONDITION: + return translate("errors.unexpected_condition") + ERR_DUPLICATE_ID: + return translate("errors.duplicate_id") + ERR_MISSING_ID: + return translate("errors.missing_id") + ERR_INVALID_INDENTATION: + return translate("errors.invalid_indentation") + ERR_INVALID_CONDITION_INDENTATION: + return translate("errors.condition_has_no_content") + ERR_INCOMPLETE_EXPRESSION: + return translate("errors.incomplete_expression") + ERR_INVALID_EXPRESSION_FOR_VALUE: + return translate("errors.invalid_expression_for_value") + ERR_FILE_NOT_FOUND: + return translate("errors.file_not_found") + ERR_UNEXPECTED_END_OF_EXPRESSION: + return translate("errors.unexpected_end_of_expression") + ERR_UNEXPECTED_FUNCTION: + return translate("errors.unexpected_function") + ERR_UNEXPECTED_BRACKET: + return translate("errors.unexpected_bracket") + ERR_UNEXPECTED_CLOSING_BRACKET: + return translate("errors.unexpected_closing_bracket") + ERR_MISSING_CLOSING_BRACKET: + return translate("errors.missing_closing_bracket") + ERR_UNEXPECTED_OPERATOR: + return translate("errors.unexpected_operator") + ERR_UNEXPECTED_COMMA: + return translate("errors.unexpected_comma") + ERR_UNEXPECTED_COLON: + return translate("errors.unexpected_colon") + ERR_UNEXPECTED_DOT: + return translate("errors.unexpected_dot") + ERR_UNEXPECTED_BOOLEAN: + return translate("errors.unexpected_boolean") + ERR_UNEXPECTED_STRING: + return translate("errors.unexpected_string") + ERR_UNEXPECTED_NUMBER: + return translate("errors.unexpected_number") + ERR_UNEXPECTED_VARIABLE: + return translate("errors.unexpected_variable") + ERR_INVALID_INDEX: + return translate("errors.invalid_index") + ERR_UNEXPECTED_ASSIGNMENT: + return translate("errors.unexpected_assignment") + ERR_UNKNOWN_USING: + return translate("errors.unknown_using") + + return translate("errors.unknown") + + +static func translate(string: String) -> String: + var base_path = DialogueResource.new().get_script().resource_path.get_base_dir() + + var language: String = TranslationServer.get_tool_locale() + var translations_path: String = "%s/l10n/%s.po" % [base_path, language] + var fallback_translations_path: String = "%s/l10n/%s.po" % [base_path, TranslationServer.get_tool_locale().substr(0, 2)] + var en_translations_path: String = "%s/l10n/en.po" % base_path + var translations: Translation = load(translations_path if FileAccess.file_exists(translations_path) else (fallback_translations_path if FileAccess.file_exists(fallback_translations_path) else en_translations_path)) + return translations.get_message(string) diff --git a/addons/dialogue_manager/dialogue_label.gd b/addons/dialogue_manager/dialogue_label.gd new file mode 100644 index 0000000..1cb4ade --- /dev/null +++ b/addons/dialogue_manager/dialogue_label.gd @@ -0,0 +1,215 @@ +@icon("./assets/icon.svg") + +@tool + +## A RichTextLabel specifically for use with [b]Dialogue Manager[/b] dialogue. +class_name DialogueLabel extends RichTextLabel + + +## Emitted for each letter typed out. +signal spoke(letter: String, letter_index: int, speed: float) + +## Emitted when typing paused for a `[wait]` +signal paused_typing(duration: float) + +## Emitted when the player skips the typing of dialogue. +signal skipped_typing() + +## Emitted when typing finishes. +signal finished_typing() + + +# The action to press to skip typing. +@export var skip_action: StringName = &"ui_cancel" + +## The speed with which the text types out. +@export var seconds_per_step: float = 0.02 + +## Automatically have a brief pause when these characters are encountered. +@export var pause_at_characters: String = ".?!" + +## Don't auto pause if the charcter after the pause is one of these. +@export var skip_pause_at_character_if_followed_by: String = ")\"" + +## Don't auto pause after these abbreviations (only if "." is in `pause_at_characters`).[br] +## Abbreviations are limitted to 5 characters in length [br] +## Does not support multi-period abbreviations (ex. "p.m.") +@export var skip_pause_at_abbreviations: PackedStringArray = ["Mr", "Mrs", "Ms", "Dr", "etc", "eg", "ex"] + +## The amount of time to pause when exposing a character present in pause_at_characters. +@export var seconds_per_pause_step: float = 0.3 + + +## The current line of dialogue. +var dialogue_line: + set(next_dialogue_line): + dialogue_line = next_dialogue_line + custom_minimum_size = Vector2.ZERO + text = dialogue_line.text + get: + return dialogue_line + +## Whether the label is currently typing itself out. +var is_typing: bool = false: + set(value): + if is_typing != value and value == false: + finished_typing.emit() + is_typing = value + get: + return is_typing + +var _last_wait_index: int = -1 +var _last_mutation_index: int = -1 +var _waiting_seconds: float = 0 + + +func _process(delta: float) -> void: + if self.is_typing: + # Type out text + if visible_ratio < 1: + # See if we are waiting + if _waiting_seconds > 0: + _waiting_seconds = _waiting_seconds - delta + # If we are no longer waiting then keep typing + if _waiting_seconds <= 0: + _type_next(delta, _waiting_seconds) + else: + # Make sure any mutations at the end of the line get run + _mutate_inline_mutations(get_total_character_count()) + self.is_typing = false + + +func _unhandled_input(event: InputEvent) -> void: + # Note: this will no longer be reached if using Dialogue Manager > 2.32.2. To make skip handling + # simpler (so all of mouse/keyboard/joypad are together) it is now the responsibility of the + # dialogue balloon. + if self.is_typing and visible_ratio < 1 and InputMap.has_action(skip_action) and event.is_action_pressed(skip_action): + get_viewport().set_input_as_handled() + skip_typing() + + +## Start typing out the text +func type_out() -> void: + text = dialogue_line.text + visible_characters = 0 + visible_ratio = 0 + _waiting_seconds = 0 + _last_wait_index = -1 + _last_mutation_index = -1 + + self.is_typing = true + + # Allow typing listeners a chance to connect + await get_tree().process_frame + + if get_total_character_count() == 0: + self.is_typing = false + elif seconds_per_step == 0: + _mutate_remaining_mutations() + visible_characters = get_total_character_count() + self.is_typing = false + + +## Stop typing out the text and jump right to the end +func skip_typing() -> void: + _mutate_remaining_mutations() + visible_characters = get_total_character_count() + self.is_typing = false + skipped_typing.emit() + + +# Type out the next character(s) +func _type_next(delta: float, seconds_needed: float) -> void: + if visible_characters == get_total_character_count(): + return + + if _last_mutation_index != visible_characters: + _last_mutation_index = visible_characters + _mutate_inline_mutations(visible_characters) + + var additional_waiting_seconds: float = _get_pause(visible_characters) + + # Pause on characters like "." + if _should_auto_pause(): + additional_waiting_seconds += seconds_per_pause_step + + # Pause at literal [wait] directives + if _last_wait_index != visible_characters and additional_waiting_seconds > 0: + _last_wait_index = visible_characters + _waiting_seconds += additional_waiting_seconds + paused_typing.emit(_get_pause(visible_characters)) + else: + visible_characters += 1 + if visible_characters <= get_total_character_count(): + spoke.emit(get_parsed_text()[visible_characters - 1], visible_characters - 1, _get_speed(visible_characters)) + # See if there's time to type out some more in this frame + seconds_needed += seconds_per_step * (1.0 / _get_speed(visible_characters)) + if seconds_needed > delta: + _waiting_seconds += seconds_needed + else: + _type_next(delta, seconds_needed) + + +# Get the pause for the current typing position if there is one +func _get_pause(at_index: int) -> float: + return dialogue_line.pauses.get(at_index, 0) + + +# Get the speed for the current typing position +func _get_speed(at_index: int) -> float: + var speed: float = 1 + for index in dialogue_line.speeds: + if index > at_index: + return speed + speed = dialogue_line.speeds[index] + return speed + + +# Run any inline mutations that haven't been run yet +func _mutate_remaining_mutations() -> void: + for i in range(visible_characters, get_total_character_count() + 1): + _mutate_inline_mutations(i) + + +# Run any mutations at the current typing position +func _mutate_inline_mutations(index: int) -> void: + for inline_mutation in dialogue_line.inline_mutations: + # inline mutations are an array of arrays in the form of [character index, resolvable function] + if inline_mutation[0] > index: + return + if inline_mutation[0] == index: + # The DialogueManager can't be referenced directly here so we need to get it by its path + Engine.get_singleton("DialogueManager").mutate(inline_mutation[1], dialogue_line.extra_game_states, true) + + +# Determine if the current autopause character at the cursor should qualify to pause typing. +func _should_auto_pause() -> bool: + if visible_characters == 0: return false + + var parsed_text: String = get_parsed_text() + + # Ignore pause characters if they are next to a non-pause character + if parsed_text[visible_characters] in skip_pause_at_character_if_followed_by.split(): + return false + + # Ignore "." if it's between two numbers + if visible_characters > 3 and parsed_text[visible_characters - 1] == ".": + var possible_number: String = parsed_text.substr(visible_characters - 2, 3) + if str(float(possible_number)) == possible_number: + return false + + # Ignore "." if it's used in an abbreviation + # Note: does NOT support multi-period abbreviations (ex. p.m.) + if "." in pause_at_characters and parsed_text[visible_characters - 1] == ".": + for abbreviation in skip_pause_at_abbreviations: + if visible_characters >= abbreviation.length(): + var previous_characters: String = parsed_text.substr(visible_characters - abbreviation.length() - 1, abbreviation.length()) + if previous_characters == abbreviation: + return false + + # Ignore two non-"." characters next to each other + var other_pause_characters: PackedStringArray = pause_at_characters.replace(".", "").split() + if visible_characters > 1 and parsed_text[visible_characters - 1] in other_pause_characters and parsed_text[visible_characters] in other_pause_characters: + return false + + return parsed_text[visible_characters - 1] in pause_at_characters.split() diff --git a/addons/dialogue_manager/dialogue_label.tscn b/addons/dialogue_manager/dialogue_label.tscn new file mode 100644 index 0000000..df48b64 --- /dev/null +++ b/addons/dialogue_manager/dialogue_label.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=2 format=3 uid="uid://ckvgyvclnwggo"] + +[ext_resource type="Script" path="res://addons/dialogue_manager/dialogue_label.gd" id="1_cital"] + +[node name="DialogueLabel" type="RichTextLabel"] +anchors_preset = 10 +anchor_right = 1.0 +grow_horizontal = 2 +mouse_filter = 1 +bbcode_enabled = true +fit_content = true +scroll_active = false +shortcut_keys_enabled = false +meta_underlined = false +hint_underlined = false +deselect_on_focus_loss_enabled = false +visible_characters_behavior = 1 +script = ExtResource("1_cital") +skip_pause_at_abbreviations = PackedStringArray("Mr", "Mrs", "Ms", "Dr", "etc", "eg", "ex") diff --git a/addons/dialogue_manager/dialogue_line.gd b/addons/dialogue_manager/dialogue_line.gd new file mode 100644 index 0000000..a9bf84a --- /dev/null +++ b/addons/dialogue_manager/dialogue_line.gd @@ -0,0 +1,98 @@ +## A line of dialogue returned from [code]DialogueManager[/code]. +class_name DialogueLine extends RefCounted + + +const _DialogueConstants = preload("./constants.gd") + + +## The ID of this line +var id: String + +## The internal type of this dialogue object. One of [code]TYPE_DIALOGUE[/code] or [code]TYPE_MUTATION[/code] +var type: String = _DialogueConstants.TYPE_DIALOGUE + +## The next line ID after this line. +var next_id: String = "" + +## The character name that is saying this line. +var character: String = "" + +## A dictionary of variable replacements fo the character name. Generally for internal use only. +var character_replacements: Array[Dictionary] = [] + +## The dialogue being spoken. +var text: String = "" + +## A dictionary of replacements for the text. Generally for internal use only. +var text_replacements: Array[Dictionary] = [] + +## The key to use for translating this line. +var translation_key: String = "" + +## A map for when and for how long to pause while typing out the dialogue text. +var pauses: Dictionary = {} + +## A map for speed changes when typing out the dialogue text. +var speeds: Dictionary = {} + +## A map of any mutations to run while typing out the dialogue text. +var inline_mutations: Array[Array] = [] + +## A list of responses attached to this line of dialogue. +var responses: Array[DialogueResponse] = [] + +## A list of any extra game states to check when resolving variables and mutations. +var extra_game_states: Array = [] + +## How long to show this line before advancing to the next. Either a float (of seconds), [code]"auto"[/code], or [code]null[/code]. +var time: String = "" + +## Any #tags that were included in the line +var tags: PackedStringArray = [] + +## The mutation details if this is a mutation line (where [code]type == TYPE_MUTATION[/code]). +var mutation: Dictionary = {} + +## The conditions to check before including this line in the flow of dialogue. If failed the line will be skipped over. +var conditions: Dictionary = {} + + +func _init(data: Dictionary = {}) -> void: + if data.size() > 0: + id = data.id + next_id = data.next_id + type = data.type + extra_game_states = data.get("extra_game_states", []) + + match type: + _DialogueConstants.TYPE_DIALOGUE: + character = data.character + character_replacements = data.get("character_replacements", [] as Array[Dictionary]) + text = data.text + text_replacements = data.get("text_replacements", [] as Array[Dictionary]) + translation_key = data.get("translation_key", data.text) + pauses = data.get("pauses", {}) + speeds = data.get("speeds", {}) + inline_mutations = data.get("inline_mutations", [] as Array[Array]) + time = data.get("time", "") + tags = data.get("tags", []) + + _DialogueConstants.TYPE_MUTATION: + mutation = data.mutation + + +func _to_string() -> String: + match type: + _DialogueConstants.TYPE_DIALOGUE: + return "<DialogueLine character=\"%s\" text=\"%s\">" % [character, text] + _DialogueConstants.TYPE_MUTATION: + return "<DialogueLine mutation>" + return "" + + +func get_tag_value(tag_name: String) -> String: + var wrapped := "%s=" % tag_name + for t in tags: + if t.begins_with(wrapped): + return t.replace(wrapped, "").strip_edges() + return "" diff --git a/addons/dialogue_manager/dialogue_manager.gd b/addons/dialogue_manager/dialogue_manager.gd new file mode 100644 index 0000000..d1b6f55 --- /dev/null +++ b/addons/dialogue_manager/dialogue_manager.gd @@ -0,0 +1,1207 @@ +extends Node + + +const DialogueConstants = preload("./constants.gd") +const Builtins = preload("./utilities/builtins.gd") +const DialogueSettings = preload("./settings.gd") +const DialogueResource = preload("./dialogue_resource.gd") +const DialogueLine = preload("./dialogue_line.gd") +const DialogueResponse = preload("./dialogue_response.gd") +const DialogueManagerParser = preload("./components/parser.gd") +const DialogueManagerParseResult = preload("./components/parse_result.gd") +const ResolvedLineData = preload("./components/resolved_line_data.gd") + + +## Emitted when a title is encountered while traversing dialogue, usually when jumping from a +## goto line +signal passed_title(title: String) + +## Emitted when a line of dialogue is encountered. +signal got_dialogue(line: DialogueLine) + +## Emitted when a mutation is encountered. +signal mutated(mutation: Dictionary) + +## Emitted when some dialogue has reached the end. +signal dialogue_ended(resource: DialogueResource) + +## Used internally. +signal bridge_get_next_dialogue_line_completed(line: DialogueLine) + +## Used inernally +signal bridge_mutated() + + +enum MutationBehaviour { + Wait, + DoNotWait, + Skip +} + +enum TranslationSource { + None, + Guess, + CSV, + PO +} + + +## The list of globals that dialogue can query +var game_states: Array = [] + +## Allow dialogue to call singletons +var include_singletons: bool = true + +## Allow dialogue to call static methods/properties on classes +var include_classes: bool = true + +## Manage translation behaviour +var translation_source: TranslationSource = TranslationSource.Guess + +## Used to resolve the current scene. Override if your game manages the current scene itself. +var get_current_scene: Callable = func(): + var current_scene: Node = get_tree().current_scene + if current_scene == null: + current_scene = get_tree().root.get_child(get_tree().root.get_child_count() - 1) + return current_scene + +var _node_properties: Array = [] + + +func _ready() -> void: + # Cache the known Node2D properties + _node_properties = ["Script Variables"] + var temp_node: Node2D = Node2D.new() + for property in temp_node.get_property_list(): + _node_properties.append(property.name) + temp_node.free() + + # Add any autoloads to a generic state so we can refer to them by name + var autoloads: Dictionary = {} + for child in get_tree().root.get_children(): + # Ignore the dialogue manager + if child.name == StringName("DialogueManager"): continue + # Ignore the current main scene + if get_tree().current_scene and child.name == get_tree().current_scene.name: continue + # Add the node to our known autoloads + autoloads[child.name] = child + game_states = [autoloads] + + # Add any other state shortcuts from settings + for node_name in DialogueSettings.get_setting("states", []): + var state: Node = get_node_or_null("/root/" + node_name) + if state: + game_states.append(state) + + # Make the dialogue manager available as a singleton + if Engine.has_singleton("DialogueManager"): + Engine.unregister_singleton("DialogueManager") + Engine.register_singleton("DialogueManager", self) + + # Connect up the C# signals if need be + if DialogueSettings.has_dotnet_solution(): + _get_dotnet_dialogue_manager().Prepare() + + +## Step through lines and run any mutations until we either hit some dialogue or the end of the conversation +func get_next_dialogue_line(resource: DialogueResource, key: String = "", extra_game_states: Array = [], mutation_behaviour: MutationBehaviour = MutationBehaviour.Wait) -> DialogueLine: + # You have to provide a valid dialogue resource + if resource == null: + assert(false, DialogueConstants.translate("runtime.no_resource")) + if resource.lines.size() == 0: + assert(false, DialogueConstants.translate("runtime.no_content").format({ file_path = resource.resource_path })) + + # Inject any "using" states into the game_states + for state_name in resource.using_states: + var autoload = get_tree().root.get_node_or_null(state_name) + if autoload == null: + printerr(DialogueConstants.translate("runtime.unknown_autoload").format({ autoload = state_name })) + else: + extra_game_states = [autoload] + extra_game_states + + # Get the line data + var dialogue: DialogueLine = await get_line(resource, key, extra_game_states) + + # If our dialogue is nothing then we hit the end + if not is_valid(dialogue): + dialogue_ended.emit(resource) + return null + + # Run the mutation if it is one + if dialogue.type == DialogueConstants.TYPE_MUTATION: + var actual_next_id: String = dialogue.next_id.split(",")[0] + match mutation_behaviour: + MutationBehaviour.Wait: + await mutate(dialogue.mutation, extra_game_states) + MutationBehaviour.DoNotWait: + mutate(dialogue.mutation, extra_game_states) + MutationBehaviour.Skip: + pass + if actual_next_id in [DialogueConstants.ID_END_CONVERSATION, DialogueConstants.ID_NULL, null]: + # End the conversation + dialogue_ended.emit(resource) + return null + else: + return await get_next_dialogue_line(resource, dialogue.next_id, extra_game_states, mutation_behaviour) + else: + got_dialogue.emit(dialogue) + return dialogue + + +func get_resolved_line_data(data: Dictionary, extra_game_states: Array = []) -> ResolvedLineData: + var text: String = translate(data) + + # Resolve variables + for replacement in data.text_replacements: + var value = await resolve(replacement.expression.duplicate(true), extra_game_states) + var index: int = text.find(replacement.value_in_text) + text = text.substr(0, index) + str(value) + text.substr(index + replacement.value_in_text.length()) + + var parser: DialogueManagerParser = DialogueManagerParser.new() + + # Resolve random groups + for found in parser.INLINE_RANDOM_REGEX.search_all(text): + var options = found.get_string("options").split("|") + text = text.replace("[[%s]]" % found.get_string("options"), options[randi_range(0, options.size() - 1)]) + + # Do a pass on the markers to find any conditionals + var markers: ResolvedLineData = parser.extract_markers(text) + + # Resolve any conditionals and update marker positions as needed + var resolved_text: String = markers.text + var conditionals: Array[RegExMatch] = parser.INLINE_CONDITIONALS_REGEX.search_all(resolved_text) + var replacements: Array = [] + for conditional in conditionals: + var condition_raw: String = conditional.strings[conditional.names.condition] + var body: String = conditional.strings[conditional.names.body] + var body_else: String = "" + if "[else]" in body: + var bits = body.split("[else]") + body = bits[0] + body_else = bits[1] + var condition: Dictionary = parser.extract_condition("if " + condition_raw, false, 0) + # If the condition fails then use the else of "" + if not await check_condition({ condition = condition }, extra_game_states): + body = body_else + replacements.append({ + start = conditional.get_start(), + end = conditional.get_end(), + string = conditional.get_string(), + body = body + }) + + for i in range(replacements.size() -1, -1, -1): + var r: Dictionary = replacements[i] + resolved_text = resolved_text.substr(0, r.start) + r.body + resolved_text.substr(r.end, 9999) + # Move any other markers now that the text has changed + var offset: int = r.end - r.start - r.body.length() + for key in ["pauses", "speeds", "time"]: + if markers.get(key) == null: continue + var marker = markers.get(key) + var next_marker: Dictionary = {} + for index in marker: + if index < r.start: + next_marker[index] = marker[index] + elif index > r.start: + next_marker[index - offset] = marker[index] + markers.set(key, next_marker) + var mutations: Array[Array] = markers.mutations + var next_mutations: Array[Array] = [] + for mutation in mutations: + var index = mutation[0] + if index < r.start: + next_mutations.append(mutation) + elif index > r.start: + next_mutations.append([index - offset, mutation[1]]) + markers.mutations = next_mutations + + markers.text = resolved_text + + parser.free() + + return markers + + +## Replace any variables, etc in the character name +func get_resolved_character(data: Dictionary, extra_game_states: Array = []) -> String: + var character: String = data.get("character", "") + + # Resolve variables + for replacement in data.get("character_replacements", []): + var value = await resolve(replacement.expression.duplicate(true), extra_game_states) + var index: int = character.find(replacement.value_in_text) + character = character.substr(0, index) + str(value) + character.substr(index + replacement.value_in_text.length()) + + # Resolve random groups + var random_regex: RegEx = RegEx.new() + random_regex.compile("\\[\\[(?<options>.*?)\\]\\]") + for found in random_regex.search_all(character): + var options = found.get_string("options").split("|") + character = character.replace("[[%s]]" % found.get_string("options"), options[randi_range(0, options.size() - 1)]) + + return character + + +## Generate a dialogue resource on the fly from some text +func create_resource_from_text(text: String) -> Resource: + var parser: DialogueManagerParser = DialogueManagerParser.new() + parser.parse(text, "") + var results: DialogueManagerParseResult = parser.get_data() + var errors: Array[Dictionary] = parser.get_errors() + parser.free() + + if errors.size() > 0: + printerr(DialogueConstants.translate("runtime.errors").format({ count = errors.size() })) + for error in errors: + printerr(DialogueConstants.translate("runtime.error_detail").format({ + line = error.line_number + 1, + message = DialogueConstants.get_error_message(error.error) + })) + assert(false, DialogueConstants.translate("runtime.errors_see_details").format({ count = errors.size() })) + + var resource: DialogueResource = DialogueResource.new() + resource.using_states = results.using_states + resource.titles = results.titles + resource.first_title = results.first_title + resource.character_names = results.character_names + resource.lines = results.lines + resource.raw_text = text + + return resource + + +## Show the example balloon +func show_example_dialogue_balloon(resource: DialogueResource, title: String = "", extra_game_states: Array = []) -> CanvasLayer: + var balloon: Node = load(_get_example_balloon_path()).instantiate() + get_current_scene.call().add_child(balloon) + balloon.start(resource, title, extra_game_states) + + return balloon + + +## Show the configured dialogue balloon +func show_dialogue_balloon(resource: DialogueResource, title: String = "", extra_game_states: Array = []) -> Node: + var balloon_path: String = DialogueSettings.get_setting("balloon_path", _get_example_balloon_path()) + if not ResourceLoader.exists(balloon_path): + balloon_path = _get_example_balloon_path() + return show_dialogue_balloon_scene(balloon_path, resource, title, extra_game_states) + + +## Show a given balloon scene +func show_dialogue_balloon_scene(balloon_scene, resource: DialogueResource, title: String = "", extra_game_states: Array = []) -> Node: + if balloon_scene is String: + balloon_scene = load(balloon_scene) + if balloon_scene is PackedScene: + balloon_scene = balloon_scene.instantiate() + + var balloon: Node = balloon_scene + get_current_scene.call().add_child(balloon) + if balloon.has_method("start"): + balloon.start(resource, title, extra_game_states) + elif balloon.has_method("Start"): + balloon.Start(resource, title, extra_game_states) + else: + assert(false, DialogueConstants.translate("runtime.dialogue_balloon_missing_start_method")) + return balloon + + +# Get the path to the example balloon +func _get_example_balloon_path() -> String: + var is_small_window: bool = ProjectSettings.get_setting("display/window/size/viewport_width") < 400 + var balloon_path: String = "/example_balloon/small_example_balloon.tscn" if is_small_window else "/example_balloon/example_balloon.tscn" + return get_script().resource_path.get_base_dir() + balloon_path + + +### Dotnet bridge + + +func _get_dotnet_dialogue_manager() -> Node: + return load(get_script().resource_path.get_base_dir() + "/DialogueManager.cs").new() + + +func _bridge_get_next_dialogue_line(resource: DialogueResource, key: String, extra_game_states: Array = []) -> void: + # dotnet needs at least one await tick of the signal gets called too quickly + await get_tree().process_frame + + var line = await get_next_dialogue_line(resource, key, extra_game_states) + bridge_get_next_dialogue_line_completed.emit(line) + + +func _bridge_mutate(mutation: Dictionary, extra_game_states: Array, is_inline_mutation: bool = false) -> void: + await mutate(mutation, extra_game_states, is_inline_mutation) + bridge_mutated.emit() + + +### Helpers + + +# Get a line by its ID +func get_line(resource: DialogueResource, key: String, extra_game_states: Array) -> DialogueLine: + key = key.strip_edges() + + # See if we were given a stack instead of just the one key + var stack: Array = key.split("|") + key = stack.pop_front() + var id_trail: String = "" if stack.size() == 0 else "|" + "|".join(stack) + + # Key is blank so just use the first title + if key == null or key == "": + key = resource.first_title + + # See if we just ended the conversation + if key in [DialogueConstants.ID_END, DialogueConstants.ID_NULL, null]: + if stack.size() > 0: + return await get_line(resource, "|".join(stack), extra_game_states) + else: + return null + elif key == DialogueConstants.ID_END_CONVERSATION: + return null + + # See if it is a title + if key.begins_with("~ "): + key = key.substr(2) + if resource.titles.has(key): + key = resource.titles.get(key) + + if key in resource.titles.values(): + passed_title.emit(resource.titles.find_key(key)) + + if not resource.lines.has(key): + assert(false, DialogueConstants.translate("errors.key_not_found").format({ key = key })) + + var data: Dictionary = resource.lines.get(key) + + # Check for weighted random lines + if data.has("siblings"): + var target_weight: float = randf_range(0, data.siblings.reduce(func(total, sibling): return total + sibling.weight, 0)) + var cummulative_weight: float = 0 + for sibling in data.siblings: + if target_weight < cummulative_weight + sibling.weight: + data = resource.lines.get(sibling.id) + break + else: + cummulative_weight += sibling.weight + + # Check condtiions + if data.type == DialogueConstants.TYPE_CONDITION: + # "else" will have no actual condition + if await check_condition(data, extra_game_states): + return await get_line(resource, data.next_id + id_trail, extra_game_states) + else: + return await get_line(resource, data.next_conditional_id + id_trail, extra_game_states) + + # Evaluate jumps + elif data.type == DialogueConstants.TYPE_GOTO: + if data.is_snippet: + id_trail = "|" + data.next_id_after + id_trail + return await get_line(resource, data.next_id + id_trail, extra_game_states) + + elif data.type == DialogueConstants.TYPE_DIALOGUE: + if not data.has("id"): + data.id = key + + # Set up a line object + var line: DialogueLine = await create_dialogue_line(data, extra_game_states) + + # If the jump point somehow has no content then just end + if not line: return null + + # If we are the first of a list of responses then get the other ones + if data.type == DialogueConstants.TYPE_RESPONSE: + line.responses = await get_responses(data.responses, resource, id_trail, extra_game_states) + return line + + # Inject the next node's responses if they have any + if resource.lines.has(line.next_id): + var next_line: Dictionary = resource.lines.get(line.next_id) + if next_line != null and next_line.type == DialogueConstants.TYPE_RESPONSE: + line.responses = await get_responses(next_line.responses, resource, id_trail, extra_game_states) + + line.next_id = "|".join(stack) if line.next_id == DialogueConstants.ID_NULL else line.next_id + id_trail + return line + + +# Show a message or crash with error +func show_error_for_missing_state_value(message: String, will_show: bool = true) -> void: + if not will_show: return + + if DialogueSettings.get_setting("ignore_missing_state_values", false): + push_error(message) + elif will_show: + # If you're here then you're missing a method or property in your game state. The error + # message down in the debugger will give you some more information. + assert(false, message) + + +# Translate a string +func translate(data: Dictionary) -> String: + if translation_source == TranslationSource.None: + return data.text + + if data.translation_key == "" or data.translation_key == data.text: + return tr(data.text) + else: + # Line IDs work slightly differently depending on whether the translation came from a + # CSV or a PO file. CSVs use the line ID (or the line itself) as the translatable string + # whereas POs use the ID as context and the line itself as the translatable string. + match translation_source: + TranslationSource.PO: + return tr(data.text, StringName(data.translation_key)) + + TranslationSource.CSV: + return tr(data.translation_key) + + TranslationSource.Guess: + var translation_files: Array = ProjectSettings.get_setting("internationalization/locale/translations") + if translation_files.filter(func(f: String): return f.get_extension() == "po").size() > 0: + # Assume PO + return tr(data.text, StringName(data.translation_key)) + else: + # Assume CSV + return tr(data.translation_key) + + return tr(data.translation_key) + + +# Create a line of dialogue +func create_dialogue_line(data: Dictionary, extra_game_states: Array) -> DialogueLine: + match data.type: + DialogueConstants.TYPE_DIALOGUE: + var resolved_data: ResolvedLineData = await get_resolved_line_data(data, extra_game_states) + return DialogueLine.new({ + id = data.get("id", ""), + type = DialogueConstants.TYPE_DIALOGUE, + next_id = data.next_id, + character = await get_resolved_character(data, extra_game_states), + character_replacements = data.character_replacements, + text = resolved_data.text, + text_replacements = data.text_replacements, + translation_key = data.translation_key, + pauses = resolved_data.pauses, + speeds = resolved_data.speeds, + inline_mutations = resolved_data.mutations, + time = resolved_data.time, + tags = data.get("tags", []), + extra_game_states = extra_game_states + }) + + DialogueConstants.TYPE_RESPONSE: + return DialogueLine.new({ + id = data.get("id", ""), + type = DialogueConstants.TYPE_RESPONSE, + next_id = data.next_id, + tags = data.get("tags", []), + extra_game_states = extra_game_states + }) + + DialogueConstants.TYPE_MUTATION: + return DialogueLine.new({ + id = data.get("id", ""), + type = DialogueConstants.TYPE_MUTATION, + next_id = data.next_id, + mutation = data.mutation, + extra_game_states = extra_game_states + }) + + return null + + +# Create a response +func create_response(data: Dictionary, extra_game_states: Array) -> DialogueResponse: + var resolved_data: ResolvedLineData = await get_resolved_line_data(data, extra_game_states) + return DialogueResponse.new({ + id = data.get("id", ""), + type = DialogueConstants.TYPE_RESPONSE, + next_id = data.next_id, + is_allowed = await check_condition(data, extra_game_states), + character = await get_resolved_character(data, extra_game_states), + character_replacements = data.get("character_replacements", [] as Array[Dictionary]), + text = resolved_data.text, + text_replacements = data.text_replacements, + tags = data.get("tags", []), + translation_key = data.translation_key + }) + + +# Get the current game states +func get_game_states(extra_game_states: Array) -> Array: + var current_scene: Node = get_current_scene.call() + var unique_states: Array = [] + for state in extra_game_states + [current_scene] + game_states: + if state != null and not unique_states.has(state): + unique_states.append(state) + return unique_states + + +# Check if a condition is met +func check_condition(data: Dictionary, extra_game_states: Array) -> bool: + if data.get("condition", null) == null: return true + if data.condition.size() == 0: return true + + return await resolve(data.condition.expression.duplicate(true), extra_game_states) + + +# Make a change to game state or run a method +func mutate(mutation: Dictionary, extra_game_states: Array, is_inline_mutation: bool = false) -> void: + var expression: Array[Dictionary] = mutation.expression + + # Handle built in mutations + if expression[0].type == DialogueConstants.TOKEN_FUNCTION and expression[0].function in ["wait", "debug"]: + var args: Array = await resolve_each(expression[0].value, extra_game_states) + match expression[0].function: + "wait": + mutated.emit(mutation) + await get_tree().create_timer(float(args[0])).timeout + return + + "debug": + prints("Debug:", args) + await get_tree().process_frame + + # Or pass through to the resolver + else: + if not mutation_contains_assignment(mutation.expression) and not is_inline_mutation: + mutated.emit(mutation) + + await resolve(mutation.expression.duplicate(true), extra_game_states) + return + + # Wait one frame to give the dialogue handler a chance to yield + await get_tree().process_frame + + +func mutation_contains_assignment(mutation: Array) -> bool: + for token in mutation: + if token.type == DialogueConstants.TOKEN_ASSIGNMENT: + return true + return false + + +func resolve_each(array: Array, extra_game_states: Array) -> Array: + var results: Array = [] + for item in array: + results.append(await resolve(item.duplicate(true), extra_game_states)) + return results + + +# Replace an array of line IDs with their response prompts +func get_responses(ids: Array, resource: DialogueResource, id_trail: String, extra_game_states: Array) -> Array[DialogueResponse]: + var responses: Array[DialogueResponse] = [] + for id in ids: + var data: Dictionary = resource.lines.get(id) + if DialogueSettings.get_setting("include_all_responses", false) or await check_condition(data, extra_game_states): + var response: DialogueResponse = await create_response(data, extra_game_states) + response.next_id += id_trail + responses.append(response) + + return responses + + +# Get a value on the current scene or game state +func get_state_value(property: String, extra_game_states: Array): + # Special case for static primitive calls + if property == "Color": + return Color() + elif property == "Vector2": + return Vector2.ZERO + elif property == "Vector3": + return Vector3.ZERO + elif property == "Vector4": + return Vector4.ZERO + elif property == "Quaternian": + return Quaternion() + + var expression = Expression.new() + if expression.parse(property) != OK: + assert(false, DialogueConstants.translate("runtime.invalid_expression").format({ expression = property, error = expression.get_error_text() })) + + for state in get_game_states(extra_game_states): + if typeof(state) == TYPE_DICTIONARY: + if state.has(property): + return state.get(property) + else: + var result = expression.execute([], state, false) + if not expression.has_execute_failed(): + return result + + if include_singletons and Engine.has_singleton(property): + return Engine.get_singleton(property) + + if include_classes: + for class_data in ProjectSettings.get_global_class_list(): + if class_data.get("class") == property: + return load(class_data.path).new() + + show_error_for_missing_state_value(DialogueConstants.translate("runtime.property_not_found").format({ property = property, states = str(get_game_states(extra_game_states)) })) + + +# Set a value on the current scene or game state +func set_state_value(property: String, value, extra_game_states: Array) -> void: + for state in get_game_states(extra_game_states): + if typeof(state) == TYPE_DICTIONARY: + if state.has(property): + state[property] = value + return + elif thing_has_property(state, property): + state.set(property, value) + return + + if property.to_snake_case() != property: + show_error_for_missing_state_value(DialogueConstants.translate("runtime.property_not_found_missing_export").format({ property = property, states = str(get_game_states(extra_game_states)) })) + else: + show_error_for_missing_state_value(DialogueConstants.translate("runtime.property_not_found").format({ property = property, states = str(get_game_states(extra_game_states)) })) + + +# Collapse any expressions +func resolve(tokens: Array, extra_game_states: Array): + # Handle groups first + for token in tokens: + if token.type == DialogueConstants.TOKEN_GROUP: + token["type"] = "value" + token["value"] = await resolve(token.value, extra_game_states) + + # Then variables/methods + var i: int = 0 + var limit: int = 0 + while i < tokens.size() and limit < 1000: + limit += 1 + var token: Dictionary = tokens[i] + + if token.type == DialogueConstants.TOKEN_FUNCTION: + var function_name: String = token.function + var args = await resolve_each(token.value, extra_game_states) + if tokens[i - 1].type == DialogueConstants.TOKEN_DOT: + # If we are calling a deeper function then we need to collapse the + # value into the thing we are calling the function on + var caller: Dictionary = tokens[i - 2] + if Builtins.is_supported(caller.value): + caller["type"] = "value" + caller["value"] = Builtins.resolve_method(caller.value, function_name, args) + tokens.remove_at(i) + tokens.remove_at(i-1) + i -= 2 + elif thing_has_method(caller.value, function_name, args): + caller["type"] = "value" + caller["value"] = await resolve_thing_method(caller.value, function_name, args) + tokens.remove_at(i) + tokens.remove_at(i-1) + i -= 2 + else: + show_error_for_missing_state_value(DialogueConstants.translate("runtime.method_not_callable").format({ method = function_name, object = str(caller.value) })) + else: + var found: bool = false + match function_name: + "str": + token["type"] = "value" + token["value"] = str(args[0]) + found = true + "Vector2": + token["type"] = "value" + token["value"] = Vector2(args[0], args[1]) + found = true + "Vector2i": + token["type"] = "value" + token["value"] = Vector2i(args[0], args[1]) + found = true + "Vector3": + token["type"] = "value" + token["value"] = Vector3(args[0], args[1], args[2]) + found = true + "Vector3i": + token["type"] = "value" + token["value"] = Vector3i(args[0], args[1], args[2]) + found = true + "Vector4": + token["type"] = "value" + token["value"] = Vector4(args[0], args[1], args[2], args[3]) + found = true + "Vector4i": + token["type"] = "value" + token["value"] = Vector4i(args[0], args[1], args[2], args[3]) + found = true + "Quaternion": + token["type"] = "value" + token["value"] = Quaternion(args[0], args[1], args[2], args[3]) + found = true + "Color": + token["type"] = "value" + match args.size(): + 0: + token["value"] = Color() + 1: + token["value"] = Color(args[0]) + 2: + token["value"] = Color(args[0], args[1]) + 3: + token["value"] = Color(args[0], args[1], args[2]) + 4: + token["value"] = Color(args[0], args[1], args[2], args[3]) + found = true + "load": + token["type"] = "value" + token["value"] = load(args[0]) + found = true + "emit": + token["type"] = "value" + token["value"] = resolve_signal(args, extra_game_states) + found = true + _: + for state in get_game_states(extra_game_states): + if Builtins.is_supported(state): + token["type"] = "value" + token["value"] = Builtins.resolve_method(state, function_name, args) + found = true + elif thing_has_method(state, function_name, args): + token["type"] = "value" + token["value"] = await resolve_thing_method(state, function_name, args) + found = true + + if found: + break + + show_error_for_missing_state_value(DialogueConstants.translate("runtime.method_not_found").format({ + method = args[0] if function_name in ["call", "call_deferred"] else function_name, + states = str(get_game_states(extra_game_states)) + }), not found) + + elif token.type == DialogueConstants.TOKEN_DICTIONARY_REFERENCE: + var value + if i > 0 and tokens[i - 1].type == DialogueConstants.TOKEN_DOT: + # If we are deep referencing then we need to get the parent object. + # `parent.value` is the actual object and `token.variable` is the name of + # the property within it. + value = tokens[i - 2].value[token.variable] + # Clean up the previous tokens + token.erase("variable") + tokens.remove_at(i - 1) + tokens.remove_at(i - 2) + i -= 2 + else: + # Otherwise we can just get this variable as a normal state reference + value = get_state_value(token.variable, extra_game_states) + + var index = await resolve(token.value, extra_game_states) + if typeof(value) == TYPE_DICTIONARY: + if tokens.size() > i + 1 and tokens[i + 1].type == DialogueConstants.TOKEN_ASSIGNMENT: + # If the next token is an assignment then we need to leave this as a reference + # so that it can be resolved once everything ahead of it has been resolved + token["type"] = "dictionary" + token["value"] = value + token["key"] = index + else: + if value.has(index): + token["type"] = "value" + token["value"] = value[index] + else: + show_error_for_missing_state_value(DialogueConstants.translate("runtime.key_not_found").format({ key = str(index), dictionary = token.variable })) + elif typeof(value) == TYPE_ARRAY: + if tokens.size() > i + 1 and tokens[i + 1].type == DialogueConstants.TOKEN_ASSIGNMENT: + # If the next token is an assignment then we need to leave this as a reference + # so that it can be resolved once everything ahead of it has been resolved + token["type"] = "array" + token["value"] = value + token["key"] = index + else: + if index >= 0 and index < value.size(): + token["type"] = "value" + token["value"] = value[index] + else: + show_error_for_missing_state_value(DialogueConstants.translate("runtime.array_index_out_of_bounds").format({ index = index, array = token.variable })) + + elif token.type == DialogueConstants.TOKEN_DICTIONARY_NESTED_REFERENCE: + var dictionary: Dictionary = tokens[i - 1] + var index = await resolve(token.value, extra_game_states) + var value = dictionary.value + if typeof(value) == TYPE_DICTIONARY: + if tokens.size() > i + 1 and tokens[i + 1].type == DialogueConstants.TOKEN_ASSIGNMENT: + # If the next token is an assignment then we need to leave this as a reference + # so that it can be resolved once everything ahead of it has been resolved + dictionary["type"] = "dictionary" + dictionary["key"] = index + dictionary["value"] = value + tokens.remove_at(i) + i -= 1 + else: + if dictionary.value.has(index): + dictionary["value"] = value.get(index) + tokens.remove_at(i) + i -= 1 + else: + show_error_for_missing_state_value(DialogueConstants.translate("runtime.key_not_found").format({ key = str(index), dictionary = value })) + elif typeof(value) == TYPE_ARRAY: + if tokens.size() > i + 1 and tokens[i + 1].type == DialogueConstants.TOKEN_ASSIGNMENT: + # If the next token is an assignment then we need to leave this as a reference + # so that it can be resolved once everything ahead of it has been resolved + dictionary["type"] = "array" + dictionary["value"] = value + dictionary["key"] = index + tokens.remove_at(i) + i -= 1 + else: + if index >= 0 and index < value.size(): + dictionary["value"] = value[index] + tokens.remove_at(i) + i -= 1 + else: + show_error_for_missing_state_value(DialogueConstants.translate("runtime.array_index_out_of_bounds").format({ index = index, array = value })) + + elif token.type == DialogueConstants.TOKEN_ARRAY: + token["type"] = "value" + token["value"] = await resolve_each(token.value, extra_game_states) + + elif token.type == DialogueConstants.TOKEN_DICTIONARY: + token["type"] = "value" + var dictionary = {} + for key in token.value.keys(): + var resolved_key = await resolve([key], extra_game_states) + var preresolved_value = token.value.get(key) + if typeof(preresolved_value) != TYPE_ARRAY: + preresolved_value = [preresolved_value] + var resolved_value = await resolve(preresolved_value, extra_game_states) + dictionary[resolved_key] = resolved_value + token["value"] = dictionary + + elif token.type == DialogueConstants.TOKEN_VARIABLE or token.type == DialogueConstants.TOKEN_NUMBER: + if str(token.value) == "null": + token["type"] = "value" + token["value"] = null + elif tokens[i - 1].type == DialogueConstants.TOKEN_DOT: + var caller: Dictionary = tokens[i - 2] + var property = token.value + if tokens.size() > i + 1 and tokens[i + 1].type == DialogueConstants.TOKEN_ASSIGNMENT: + # If the next token is an assignment then we need to leave this as a reference + # so that it can be resolved once everything ahead of it has been resolved + caller["type"] = "property" + caller["property"] = property + else: + # If we are requesting a deeper property then we need to collapse the + # value into the thing we are referencing from + caller["type"] = "value" + if Builtins.is_supported(caller.value): + caller["value"] = Builtins.resolve_property(caller.value, property) + else: + caller["value"] = caller.value.get(property) + tokens.remove_at(i) + tokens.remove_at(i-1) + i -= 2 + elif tokens.size() > i + 1 and tokens[i + 1].type == DialogueConstants.TOKEN_ASSIGNMENT: + # It's a normal variable but we will be assigning to it so don't resolve + # it until everything after it has been resolved + token["type"] = "variable" + else: + token["type"] = "value" + token["value"] = get_state_value(str(token.value), extra_game_states) + + i += 1 + + # Then multiply and divide + i = 0 + limit = 0 + while i < tokens.size() and limit < 1000: + limit += 1 + var token: Dictionary = tokens[i] + if token.type == DialogueConstants.TOKEN_OPERATOR and token.value in ["*", "/", "%"]: + token["type"] = "value" + token["value"] = apply_operation(token.value, tokens[i-1].value, tokens[i+1].value) + tokens.remove_at(i+1) + tokens.remove_at(i-1) + i -= 1 + i += 1 + + if limit >= 1000: + assert(false, DialogueConstants.translate("runtime.something_went_wrong")) + + # Then addition and subtraction + i = 0 + limit = 0 + while i < tokens.size() and limit < 1000: + limit += 1 + var token: Dictionary = tokens[i] + if token.type == DialogueConstants.TOKEN_OPERATOR and token.value in ["+", "-"]: + token["type"] = "value" + token["value"] = apply_operation(token.value, tokens[i-1].value, tokens[i+1].value) + tokens.remove_at(i+1) + tokens.remove_at(i-1) + i -= 1 + i += 1 + + if limit >= 1000: + assert(false, DialogueConstants.translate("runtime.something_went_wrong")) + + # Then negations + i = 0 + limit = 0 + while i < tokens.size() and limit < 1000: + limit += 1 + var token: Dictionary = tokens[i] + if token.type == DialogueConstants.TOKEN_NOT: + token["type"] = "value" + token["value"] = not tokens[i+1].value + tokens.remove_at(i+1) + i -= 1 + i += 1 + + if limit >= 1000: + assert(false, DialogueConstants.translate("runtime.something_went_wrong")) + + # Then comparisons + i = 0 + limit = 0 + while i < tokens.size() and limit < 1000: + limit += 1 + var token: Dictionary = tokens[i] + if token.type == DialogueConstants.TOKEN_COMPARISON: + token["type"] = "value" + token["value"] = compare(token.value, tokens[i-1].value, tokens[i+1].value) + tokens.remove_at(i+1) + tokens.remove_at(i-1) + i -= 1 + i += 1 + + if limit >= 1000: + assert(false, DialogueConstants.translate("runtime.something_went_wrong")) + + # Then and/or + i = 0 + limit = 0 + while i < tokens.size() and limit < 1000: + limit += 1 + var token: Dictionary = tokens[i] + if token.type == DialogueConstants.TOKEN_AND_OR: + token["type"] = "value" + token["value"] = apply_operation(token.value, tokens[i-1].value, tokens[i+1].value) + tokens.remove_at(i+1) + tokens.remove_at(i-1) + i -= 1 + i += 1 + + if limit >= 1000: + assert(false, DialogueConstants.translate("runtime.something_went_wrong")) + + # Lastly, resolve any assignments + i = 0 + limit = 0 + while i < tokens.size() and limit < 1000: + limit += 1 + var token: Dictionary = tokens[i] + if token.type == DialogueConstants.TOKEN_ASSIGNMENT: + var lhs: Dictionary = tokens[i - 1] + var value + + match lhs.type: + "variable": + value = apply_operation(token.value, get_state_value(lhs.value, extra_game_states), tokens[i+1].value) + set_state_value(lhs.value, value, extra_game_states) + "property": + value = apply_operation(token.value, lhs.value.get(lhs.property), tokens[i+1].value) + if typeof(lhs.value) == TYPE_DICTIONARY: + lhs.value[lhs.property] = value + else: + lhs.value.set(lhs.property, value) + "dictionary": + value = apply_operation(token.value, lhs.value.get(lhs.key, null), tokens[i+1].value) + lhs.value[lhs.key] = value + "array": + show_error_for_missing_state_value( + DialogueConstants.translate("runtime.array_index_out_of_bounds").format({ index = lhs.key, array = lhs.value }), + lhs.key >= lhs.value.size() + ) + value = apply_operation(token.value, lhs.value[lhs.key], tokens[i+1].value) + lhs.value[lhs.key] = value + _: + show_error_for_missing_state_value(DialogueConstants.translate("runtime.left_hand_size_cannot_be_assigned_to")) + + token["type"] = "value" + token["value"] = value + tokens.remove_at(i+1) + tokens.remove_at(i-1) + i -= 1 + i += 1 + + if limit >= 1000: + assert(false, DialogueConstants.translate("runtime.something_went_wrong")) + + return tokens[0].value + + +func compare(operator: String, first_value, second_value) -> bool: + match operator: + "in": + if first_value == null or second_value == null: + return false + else: + return first_value in second_value + "<": + if first_value == null: + return true + elif second_value == null: + return false + else: + return first_value < second_value + ">": + if first_value == null: + return false + elif second_value == null: + return true + else: + return first_value > second_value + "<=": + if first_value == null: + return true + elif second_value == null: + return false + else: + return first_value <= second_value + ">=": + if first_value == null: + return false + elif second_value == null: + return true + else: + return first_value >= second_value + "==": + if first_value == null: + if typeof(second_value) == TYPE_BOOL: + return second_value == false + else: + return false + else: + return first_value == second_value + "!=": + if first_value == null: + if typeof(second_value) == TYPE_BOOL: + return second_value == true + else: + return false + else: + return first_value != second_value + + return false + + +func apply_operation(operator: String, first_value, second_value): + match operator: + "=": + return second_value + "+", "+=": + return first_value + second_value + "-", "-=": + return first_value - second_value + "/", "/=": + return first_value / second_value + "*", "*=": + return first_value * second_value + "%": + return first_value % second_value + "and": + return first_value and second_value + "or": + return first_value or second_value + + assert(false, DialogueConstants.translate("runtime.unknown_operator")) + + +# Check if a dialogue line contains meaningful information +func is_valid(line: DialogueLine) -> bool: + if line == null: + return false + if line.type == DialogueConstants.TYPE_MUTATION and line.mutation == null: + return false + if line.type == DialogueConstants.TYPE_RESPONSE and line.responses.size() == 0: + return false + return true + + +func thing_has_method(thing, method: String, args: Array) -> bool: + if method in ["call", "call_deferred"]: + return thing.has_method(args[0]) + + if thing.has_method(method): + return true + + if method.to_snake_case() != method and DialogueSettings.has_dotnet_solution(): + # If we get this far then the method might be a C# method with a Task return type + return _get_dotnet_dialogue_manager().ThingHasMethod(thing, method) + + return false + + +# Check if a given property exists +func thing_has_property(thing: Object, property: String) -> bool: + if thing == null: + return false + + for p in thing.get_property_list(): + if _node_properties.has(p.name): + # Ignore any properties on the base Node + continue + if p.name == property: + return true + + return false + + +func resolve_signal(args: Array, extra_game_states: Array): + if args[0] is Signal: + args[0] = args[0].get_name() + + for state in get_game_states(extra_game_states): + if typeof(state) == TYPE_DICTIONARY: + continue + elif state.has_signal(args[0]): + match args.size(): + 1: + state.emit_signal(args[0]) + 2: + state.emit_signal(args[0], args[1]) + 3: + state.emit_signal(args[0], args[1], args[2]) + 4: + state.emit_signal(args[0], args[1], args[2], args[3]) + 5: + state.emit_signal(args[0], args[1], args[2], args[3], args[4]) + 6: + state.emit_signal(args[0], args[1], args[2], args[3], args[4], args[5]) + 7: + state.emit_signal(args[0], args[1], args[2], args[3], args[4], args[5], args[6]) + 8: + state.emit_signal(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]) + return + + # The signal hasn't been found anywhere + show_error_for_missing_state_value(DialogueConstants.translate("runtime.signal_not_found").format({ signal_name = args[0], states = str(get_game_states(extra_game_states)) })) + + +func resolve_thing_method(thing, method: String, args: Array): + if thing.has_method(method): + # Try to convert any literals to the right type + var method_args = thing.get_method_list().filter(func(m): return method == m.name)[0].args + if method_args.size() < args.size(): + assert(false, DialogueConstants.translate("runtime.expected_n_got_n_args").format({ expected = method_args.size(), method = method, received = args.size()})) + for i in range(0, args.size()): + var m: Dictionary = method_args[i] + var to_type:int = typeof(args[i]) + if m.type == TYPE_ARRAY: + match m.hint_string: + "String": + to_type = TYPE_PACKED_STRING_ARRAY + "int": + to_type = TYPE_PACKED_INT64_ARRAY + "float": + to_type = TYPE_PACKED_FLOAT64_ARRAY + "Vector2": + to_type = TYPE_PACKED_VECTOR2_ARRAY + "Vector3": + to_type = TYPE_PACKED_VECTOR3_ARRAY + _: + if m.hint_string != "": + assert(false, DialogueConstants.translate("runtime.unsupported_array_type").format({ type = m.hint_string})) + if typeof(args[i]) != to_type: + args[i] = convert(args[i], to_type) + + return await thing.callv(method, args) + + # If we get here then it's probably a C# method with a Task return type + var dotnet_dialogue_manager = _get_dotnet_dialogue_manager() + dotnet_dialogue_manager.ResolveThingMethod(thing, method, args) + return await dotnet_dialogue_manager.Resolved diff --git a/addons/dialogue_manager/dialogue_reponses_menu.gd b/addons/dialogue_manager/dialogue_reponses_menu.gd new file mode 100644 index 0000000..ebecb87 --- /dev/null +++ b/addons/dialogue_manager/dialogue_reponses_menu.gd @@ -0,0 +1,128 @@ +@icon("./assets/responses_menu.svg") + +## A VBoxContainer for dialogue responses provided by [b]Dialogue Manager[/b]. +class_name DialogueResponsesMenu extends VBoxContainer + + +## Emitted when a response is selected. +signal response_selected(response) + + +## Optionally specify a control to duplicate for each response +@export var response_template: Control + +# The list of dialogue responses. +var responses: Array = []: + set(value): + responses = value + + # Remove any current items + for item in get_children(): + if item == response_template: continue + + remove_child(item) + item.queue_free() + + # Add new items + if responses.size() > 0: + for response in responses: + var item: Control + if is_instance_valid(response_template): + item = response_template.duplicate(DUPLICATE_GROUPS | DUPLICATE_SCRIPTS | DUPLICATE_SIGNALS) + item.show() + else: + item = Button.new() + item.name = "Response%d" % get_child_count() + if not response.is_allowed: + item.name = String(item.name) + "Disallowed" + item.disabled = true + + # If the item has a response property then use that + if "response" in item: + item.response = response + # Otherwise assume we can just set the text + else: + item.text = response.text + + item.set_meta("response", response) + + add_child(item) + + _configure_focus() + + +func _ready() -> void: + visibility_changed.connect(func(): + if visible and get_menu_items().size() > 0: + get_menu_items()[0].grab_focus() + ) + + if is_instance_valid(response_template): + response_template.hide() + + +# This is deprecated. +func set_responses(next_responses: Array) -> void: + self.responses = next_responses + + +# Prepare the menu for keyboard and mouse navigation. +func _configure_focus() -> void: + var items = get_menu_items() + for i in items.size(): + var item: Control = items[i] + + item.focus_mode = Control.FOCUS_ALL + + item.focus_neighbor_left = item.get_path() + item.focus_neighbor_right = item.get_path() + + if i == 0: + item.focus_neighbor_top = item.get_path() + item.focus_previous = item.get_path() + else: + item.focus_neighbor_top = items[i - 1].get_path() + item.focus_previous = items[i - 1].get_path() + + if i == items.size() - 1: + item.focus_neighbor_bottom = item.get_path() + item.focus_next = item.get_path() + else: + item.focus_neighbor_bottom = items[i + 1].get_path() + item.focus_next = items[i + 1].get_path() + + item.mouse_entered.connect(_on_response_mouse_entered.bind(item)) + item.gui_input.connect(_on_response_gui_input.bind(item, item.get_meta("response"))) + + items[0].grab_focus() + + +## Get the selectable items in the menu. +func get_menu_items() -> Array: + var items: Array = [] + for child in get_children(): + if not child.visible: continue + if "Disallowed" in child.name: continue + items.append(child) + + return items + + +### Signals + + +func _on_response_mouse_entered(item: Control) -> void: + if "Disallowed" in item.name: return + + item.grab_focus() + + +func _on_response_gui_input(event: InputEvent, item: Control, response) -> void: + if "Disallowed" in item.name: return + + get_viewport().set_input_as_handled() + + if event is InputEventMouseButton and event.is_pressed() and event.button_index == MOUSE_BUTTON_LEFT: + response_selected.emit(response) + elif event.is_action_pressed("ui_accept") and item in get_menu_items(): + response_selected.emit(response) diff --git a/addons/dialogue_manager/dialogue_resource.gd b/addons/dialogue_manager/dialogue_resource.gd new file mode 100644 index 0000000..a406560 --- /dev/null +++ b/addons/dialogue_manager/dialogue_resource.gd @@ -0,0 +1,42 @@ +@tool +@icon("./assets/icon.svg") + +## A collection of dialogue lines for use with [code]DialogueManager[/code]. +class_name DialogueResource extends Resource + + +const _DialogueManager = preload("./dialogue_manager.gd") + +## A list of state shortcuts +@export var using_states: PackedStringArray = [] + +## A map of titles and the lines they point to. +@export var titles: Dictionary = {} + +## A list of character names. +@export var character_names: PackedStringArray = [] + +## The first title in the file. +@export var first_title: String = "" + +## A map of the encoded lines of dialogue. +@export var lines: Dictionary = {} + +## raw version of the text +@export var raw_text: String + + +## Get the next printable line of dialogue, starting from a referenced line ([code]title[/code] can +## be a title string or a stringified line number). Runs any mutations along the way and then returns +## the first dialogue line encountered. +func get_next_dialogue_line(title: String, extra_game_states: Array = [], mutation_behaviour: _DialogueManager.MutationBehaviour = _DialogueManager.MutationBehaviour.Wait) -> DialogueLine: + return await Engine.get_singleton("DialogueManager").get_next_dialogue_line(self, title, extra_game_states, mutation_behaviour) + + +## Get the list of any titles found in the file. +func get_titles() -> PackedStringArray: + return titles.keys() + + +func _to_string() -> String: + return "<DialogueResource titles=\"%s\">" % [",".join(titles.keys())] diff --git a/addons/dialogue_manager/dialogue_response.gd b/addons/dialogue_manager/dialogue_response.gd new file mode 100644 index 0000000..92cec24 --- /dev/null +++ b/addons/dialogue_manager/dialogue_response.gd @@ -0,0 +1,62 @@ +## A response to a line of dialogue, usualy attached to a [code]DialogueLine[/code]. +class_name DialogueResponse extends RefCounted + + +const _DialogueConstants = preload("./constants.gd") + + +## The ID of this response +var id: String + +## The internal type of this dialogue object, always set to [code]TYPE_RESPONSE[/code]. +var type: String = _DialogueConstants.TYPE_RESPONSE + +## The next line ID to use if this response is selected by the player. +var next_id: String = "" + +## [code]true[/code] if the condition of this line was met. +var is_allowed: bool = true + +## A character (depending on the "characters in responses" behaviour setting). +var character: String = "" + +## A dictionary of varialbe replaces for the character name. Generally for internal use only. +var character_replacements: Array[Dictionary] = [] + +## The prompt for this response. +var text: String = "" + +## A dictionary of variable replaces for the text. Generally for internal use only. +var text_replacements: Array[Dictionary] = [] + +## Any #tags +var tags: PackedStringArray = [] + +## The key to use for translating the text. +var translation_key: String = "" + + +func _init(data: Dictionary = {}) -> void: + if data.size() > 0: + id = data.id + type = data.type + next_id = data.next_id + is_allowed = data.is_allowed + character = data.character + character_replacements = data.character_replacements + text = data.text + text_replacements = data.text_replacements + tags = data.tags + translation_key = data.translation_key + + +func _to_string() -> String: + return "<DialogueResponse text=\"%s\">" % text + + +func get_tag_value(tag_name: String) -> String: + var wrapped := "%s=" % tag_name + for t in tags: + if t.begins_with(wrapped): + return t.replace(wrapped, "").strip_edges() + return "" diff --git a/addons/dialogue_manager/editor_translation_parser_plugin.gd b/addons/dialogue_manager/editor_translation_parser_plugin.gd new file mode 100644 index 0000000..9d404e2 --- /dev/null +++ b/addons/dialogue_manager/editor_translation_parser_plugin.gd @@ -0,0 +1,43 @@ +extends EditorTranslationParserPlugin + + +const DialogueConstants = preload("./constants.gd") +const DialogueSettings = preload("./settings.gd") +const DialogueManagerParseResult = preload("./components/parse_result.gd") + + +func _parse_file(path: String, msgids: Array, msgids_context_plural: Array) -> void: + var file: FileAccess = FileAccess.open(path, FileAccess.READ) + var text: String = file.get_as_text() + + var data: DialogueManagerParseResult = DialogueManagerParser.parse_string(text, path) + var known_keys: PackedStringArray = PackedStringArray([]) + + # Add all character names if settings ask for it + if DialogueSettings.get_setting("export_characters_in_translation", true): + var character_names: PackedStringArray = data.character_names + for character_name in character_names: + if character_name in known_keys: continue + + known_keys.append(character_name) + + msgids_context_plural.append([character_name.replace('"', '\\"'), "dialogue", ""]) + + # Add all dialogue lines and responses + var dialogue: Dictionary = data.lines + for key in dialogue.keys(): + var line: Dictionary = dialogue.get(key) + + if not line.type in [DialogueConstants.TYPE_DIALOGUE, DialogueConstants.TYPE_RESPONSE]: continue + if line.translation_key in known_keys: continue + + known_keys.append(line.translation_key) + + if line.translation_key == "" or line.translation_key == line.text: + msgids_context_plural.append([line.text.replace('"', '\\"'), "", ""]) + else: + msgids_context_plural.append([line.text.replace('"', '\\"'), line.translation_key.replace('"', '\\"'), ""]) + + +func _get_recognized_extensions() -> PackedStringArray: + return ["dialogue"] diff --git a/addons/dialogue_manager/example_balloon/ExampleBalloon.cs b/addons/dialogue_manager/example_balloon/ExampleBalloon.cs new file mode 100644 index 0000000..8a89cba --- /dev/null +++ b/addons/dialogue_manager/example_balloon/ExampleBalloon.cs @@ -0,0 +1,200 @@ +using Godot; +using Godot.Collections; + +namespace DialogueManagerRuntime +{ + public partial class ExampleBalloon : CanvasLayer + { + const string NEXT_ACTION = "ui_accept"; + const string SKIP_ACTION = "ui_cancel"; + + + Control balloon; + RichTextLabel characterLabel; + RichTextLabel dialogueLabel; + VBoxContainer responsesMenu; + + Resource resource; + Array<Variant> temporaryGameStates = new Array<Variant>(); + bool isWaitingForInput = false; + bool willHideBalloon = false; + + DialogueLine dialogueLine; + DialogueLine DialogueLine + { + get => dialogueLine; + set + { + isWaitingForInput = false; + balloon.FocusMode = Control.FocusModeEnum.All; + balloon.GrabFocus(); + + if (value == null) + { + QueueFree(); + return; + } + + dialogueLine = value; + UpdateDialogue(); + } + } + + + public override void _Ready() + { + balloon = GetNode<Control>("%Balloon"); + characterLabel = GetNode<RichTextLabel>("%CharacterLabel"); + dialogueLabel = GetNode<RichTextLabel>("%DialogueLabel"); + responsesMenu = GetNode<VBoxContainer>("%ResponsesMenu"); + + balloon.Hide(); + + balloon.GuiInput += (@event) => + { + if ((bool)dialogueLabel.Get("is_typing")) + { + bool mouseWasClicked = @event is InputEventMouseButton && (@event as InputEventMouseButton).ButtonIndex == MouseButton.Left && @event.IsPressed(); + bool skipButtonWasPressed = @event.IsActionPressed(SKIP_ACTION); + if (mouseWasClicked || skipButtonWasPressed) + { + GetViewport().SetInputAsHandled(); + dialogueLabel.Call("skip_typing"); + return; + } + } + + if (!isWaitingForInput) return; + if (dialogueLine.Responses.Count > 0) return; + + GetViewport().SetInputAsHandled(); + + if (@event is InputEventMouseButton && @event.IsPressed() && (@event as InputEventMouseButton).ButtonIndex == MouseButton.Left) + { + Next(dialogueLine.NextId); + } + else if (@event.IsActionPressed(NEXT_ACTION) && GetViewport().GuiGetFocusOwner() == balloon) + { + Next(dialogueLine.NextId); + } + }; + + responsesMenu.Connect("response_selected", Callable.From((DialogueResponse response) => + { + Next(response.NextId); + })); + + DialogueManager.Mutated += OnMutated; + } + + + public override void _ExitTree() + { + DialogueManager.Mutated -= OnMutated; + } + + + public override void _UnhandledInput(InputEvent @event) + { + // Only the balloon is allowed to handle input while it's showing + GetViewport().SetInputAsHandled(); + } + + + public async void Start(Resource dialogueResource, string title, Array<Variant> extraGameStates = null) + { + temporaryGameStates = extraGameStates ?? new Array<Variant>(); + isWaitingForInput = false; + resource = dialogueResource; + + DialogueLine = await DialogueManager.GetNextDialogueLine(resource, title, temporaryGameStates); + } + + + public async void Next(string nextId) + { + DialogueLine = await DialogueManager.GetNextDialogueLine(resource, nextId, temporaryGameStates); + } + + + #region Helpers + + + private async void UpdateDialogue() + { + if (!IsNodeReady()) + { + await ToSignal(this, SignalName.Ready); + } + + // Set up the character name + characterLabel.Visible = !string.IsNullOrEmpty(dialogueLine.Character); + characterLabel.Text = Tr(dialogueLine.Character, "dialogue"); + + // Set up the dialogue + dialogueLabel.Hide(); + dialogueLabel.Set("dialogue_line", dialogueLine); + + // Set up the responses + responsesMenu.Hide(); + responsesMenu.Set("responses", dialogueLine.Responses); + + // Type out the text + balloon.Show(); + willHideBalloon = false; + dialogueLabel.Show(); + if (!string.IsNullOrEmpty(dialogueLine.Text)) + { + dialogueLabel.Call("type_out"); + await ToSignal(dialogueLabel, "finished_typing"); + } + + // Wait for input + if (dialogueLine.Responses.Count > 0) + { + balloon.FocusMode = Control.FocusModeEnum.None; + responsesMenu.Show(); + } + else if (!string.IsNullOrEmpty(dialogueLine.Time)) + { + float time = 0f; + if (!float.TryParse(dialogueLine.Time, out time)) + { + time = dialogueLine.Text.Length * 0.02f; + } + await ToSignal(GetTree().CreateTimer(time), "timeout"); + Next(dialogueLine.NextId); + } + else + { + isWaitingForInput = true; + balloon.FocusMode = Control.FocusModeEnum.All; + balloon.GrabFocus(); + } + } + + + #endregion + + + #region signals + + + private void OnMutated(Dictionary _mutation) + { + isWaitingForInput = false; + willHideBalloon = true; + GetTree().CreateTimer(0.1f).Timeout += () => + { + if (willHideBalloon) + { + willHideBalloon = false; + balloon.Hide(); + } + }; + } + + + #endregion + } +} \ No newline at end of file diff --git a/addons/dialogue_manager/example_balloon/example_balloon.gd b/addons/dialogue_manager/example_balloon/example_balloon.gd new file mode 100644 index 0000000..b22d1e0 --- /dev/null +++ b/addons/dialogue_manager/example_balloon/example_balloon.gd @@ -0,0 +1,138 @@ +extends CanvasLayer + +## The action to use for advancing the dialogue +const NEXT_ACTION = &"ui_accept" + +## The action to use to skip typing the dialogue +const SKIP_ACTION = &"ui_cancel" + + +@onready var balloon: Control = %Balloon +@onready var character_label: RichTextLabel = %CharacterLabel +@onready var dialogue_label: DialogueLabel = %DialogueLabel +@onready var responses_menu: DialogueResponsesMenu = %ResponsesMenu + +## The dialogue resource +var resource: DialogueResource + +## Temporary game states +var temporary_game_states: Array = [] + +## See if we are waiting for the player +var is_waiting_for_input: bool = false + +## See if we are running a long mutation and should hide the balloon +var will_hide_balloon: bool = false + +## The current line +var dialogue_line: DialogueLine: + set(next_dialogue_line): + is_waiting_for_input = false + balloon.focus_mode = Control.FOCUS_ALL + balloon.grab_focus() + + # The dialogue has finished so close the balloon + if not next_dialogue_line: + queue_free() + return + + # If the node isn't ready yet then none of the labels will be ready yet either + if not is_node_ready(): + await ready + + dialogue_line = next_dialogue_line + + character_label.visible = not dialogue_line.character.is_empty() + character_label.text = tr(dialogue_line.character, "dialogue") + + dialogue_label.hide() + dialogue_label.dialogue_line = dialogue_line + + responses_menu.hide() + responses_menu.set_responses(dialogue_line.responses) + + # Show our balloon + balloon.show() + will_hide_balloon = false + + dialogue_label.show() + if not dialogue_line.text.is_empty(): + dialogue_label.type_out() + await dialogue_label.finished_typing + + # Wait for input + if dialogue_line.responses.size() > 0: + balloon.focus_mode = Control.FOCUS_NONE + responses_menu.show() + elif dialogue_line.time != "": + var time = dialogue_line.text.length() * 0.02 if dialogue_line.time == "auto" else dialogue_line.time.to_float() + await get_tree().create_timer(time).timeout + next(dialogue_line.next_id) + else: + is_waiting_for_input = true + balloon.focus_mode = Control.FOCUS_ALL + balloon.grab_focus() + get: + return dialogue_line + + +func _ready() -> void: + balloon.hide() + Engine.get_singleton("DialogueManager").mutated.connect(_on_mutated) + + +func _unhandled_input(_event: InputEvent) -> void: + # Only the balloon is allowed to handle input while it's showing + get_viewport().set_input_as_handled() + + +## Start some dialogue +func start(dialogue_resource: DialogueResource, title: String, extra_game_states: Array = []) -> void: + temporary_game_states = [self] + extra_game_states + is_waiting_for_input = false + resource = dialogue_resource + self.dialogue_line = await resource.get_next_dialogue_line(title, temporary_game_states) + + +## Go to the next line +func next(next_id: String) -> void: + self.dialogue_line = await resource.get_next_dialogue_line(next_id, temporary_game_states) + + +### Signals + + +func _on_mutated(_mutation: Dictionary) -> void: + is_waiting_for_input = false + will_hide_balloon = true + get_tree().create_timer(0.1).timeout.connect(func(): + if will_hide_balloon: + will_hide_balloon = false + balloon.hide() + ) + + +func _on_balloon_gui_input(event: InputEvent) -> void: + # See if we need to skip typing of the dialogue + if dialogue_label.is_typing: + var mouse_was_clicked: bool = event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and event.is_pressed() + var skip_button_was_pressed: bool = event.is_action_pressed(SKIP_ACTION) + if mouse_was_clicked or skip_button_was_pressed: + get_viewport().set_input_as_handled() + dialogue_label.skip_typing() + return + + if not is_waiting_for_input: return + if dialogue_line.responses.size() > 0: return + + # When there are no response options the balloon itself is the clickable thing + get_viewport().set_input_as_handled() + + if event is InputEventMouseButton and event.is_pressed() and event.button_index == MOUSE_BUTTON_LEFT: + next(dialogue_line.next_id) + elif event.is_action_pressed(NEXT_ACTION) and get_viewport().gui_get_focus_owner() == balloon: + next(dialogue_line.next_id) + + +func _on_responses_menu_response_selected(response: DialogueResponse) -> void: + next(response.next_id) diff --git a/addons/dialogue_manager/example_balloon/example_balloon.tscn b/addons/dialogue_manager/example_balloon/example_balloon.tscn new file mode 100644 index 0000000..081e380 --- /dev/null +++ b/addons/dialogue_manager/example_balloon/example_balloon.tscn @@ -0,0 +1,161 @@ +[gd_scene load_steps=10 format=3 uid="uid://73jm5qjy52vq"] + +[ext_resource type="Script" path="res://addons/dialogue_manager/example_balloon/example_balloon.gd" id="1_36de5"] +[ext_resource type="PackedScene" uid="uid://ckvgyvclnwggo" path="res://addons/dialogue_manager/dialogue_label.tscn" id="2_a8ve6"] +[ext_resource type="Script" path="res://addons/dialogue_manager/dialogue_reponses_menu.gd" id="3_72ixx"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_spyqn"] +bg_color = Color(0, 0, 0, 1) +border_width_left = 3 +border_width_top = 3 +border_width_right = 3 +border_width_bottom = 3 +border_color = Color(0.329412, 0.329412, 0.329412, 1) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ri4m3"] +bg_color = Color(0.121569, 0.121569, 0.121569, 1) +border_width_left = 3 +border_width_top = 3 +border_width_right = 3 +border_width_bottom = 3 +border_color = Color(1, 1, 1, 1) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_e0njw"] +bg_color = Color(0, 0, 0, 1) +border_width_left = 3 +border_width_top = 3 +border_width_right = 3 +border_width_bottom = 3 +border_color = Color(0.6, 0.6, 0.6, 1) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_uy0d5"] +bg_color = Color(0, 0, 0, 1) +border_width_left = 3 +border_width_top = 3 +border_width_right = 3 +border_width_bottom = 3 +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 + +[sub_resource type="Theme" id="Theme_qq3yp"] +default_font_size = 20 +Button/styles/disabled = SubResource("StyleBoxFlat_spyqn") +Button/styles/focus = SubResource("StyleBoxFlat_ri4m3") +Button/styles/hover = SubResource("StyleBoxFlat_e0njw") +Button/styles/normal = SubResource("StyleBoxFlat_e0njw") +MarginContainer/constants/margin_bottom = 15 +MarginContainer/constants/margin_left = 30 +MarginContainer/constants/margin_right = 30 +MarginContainer/constants/margin_top = 15 +Panel/styles/panel = SubResource("StyleBoxFlat_uy0d5") + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_xk0rb"] +bg_color = Color(0, 0, 0, 0.737255) + +[node name="ExampleBalloon" type="CanvasLayer"] +layer = 100 +follow_viewport_enabled = true +script = ExtResource("1_36de5") + +[node name="Balloon" type="Control" parent="."] +unique_name_in_owner = true +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +pivot_offset = Vector2(576, 0) +theme = SubResource("Theme_qq3yp") + +[node name="Panel" type="Panel" parent="Balloon"] +modulate = Color(0, 0.905882, 0.905882, 1) +self_modulate = Color(0.411765, 0.701961, 0.843137, 1) +clip_children = 2 +layout_mode = 1 +anchors_preset = 12 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 200.0 +offset_top = -156.0 +offset_right = -159.0 +offset_bottom = -31.0 +grow_horizontal = 2 +grow_vertical = 0 +mouse_filter = 1 +theme_override_styles/panel = SubResource("StyleBoxFlat_xk0rb") + +[node name="Dialogue" type="MarginContainer" parent="Balloon/Panel"] +layout_mode = 1 +anchors_preset = -1 +anchor_right = 0.929 +anchor_bottom = 0.73 +offset_left = -26.0 +offset_top = -10.0 +offset_right = -36.75 +offset_bottom = 45.49 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="VBoxContainer" type="VBoxContainer" parent="Balloon/Panel/Dialogue"] +layout_mode = 2 + +[node name="CharacterLabel" type="RichTextLabel" parent="Balloon/Panel/Dialogue/VBoxContainer"] +unique_name_in_owner = true +modulate = Color(1, 1, 1, 0.776471) +layout_mode = 2 +mouse_filter = 1 +bbcode_enabled = true +text = "Character" +fit_content = true +scroll_active = false + +[node name="DialogueLabel" parent="Balloon/Panel/Dialogue/VBoxContainer" instance=ExtResource("2_a8ve6")] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 3 +text = "Dialogue..." + +[node name="Responses" type="MarginContainer" parent="Balloon"] +layout_mode = 1 +anchors_preset = 7 +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +offset_left = -147.0 +offset_top = -558.0 +offset_right = 494.0 +offset_bottom = -154.0 +grow_horizontal = 2 +grow_vertical = 0 + +[node name="ResponsesMenu" type="VBoxContainer" parent="Balloon/Responses" node_paths=PackedStringArray("response_template")] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 8 +theme_override_constants/separation = 2 +script = ExtResource("3_72ixx") +response_template = NodePath("ResponseExample") + +[node name="ResponseExample" type="Button" parent="Balloon/Responses/ResponsesMenu"] +layout_mode = 2 +text = "Response example" + +[connection signal="gui_input" from="Balloon" to="." method="_on_balloon_gui_input"] +[connection signal="response_selected" from="Balloon/Responses/ResponsesMenu" to="." method="_on_responses_menu_response_selected"] diff --git a/addons/dialogue_manager/example_balloon/small_example_balloon.tscn b/addons/dialogue_manager/example_balloon/small_example_balloon.tscn new file mode 100644 index 0000000..493e79a --- /dev/null +++ b/addons/dialogue_manager/example_balloon/small_example_balloon.tscn @@ -0,0 +1,172 @@ +[gd_scene load_steps=10 format=3 uid="uid://13s5spsk34qu"] + +[ext_resource type="Script" path="res://addons/dialogue_manager/example_balloon/example_balloon.gd" id="1_s2gbs"] +[ext_resource type="PackedScene" uid="uid://ckvgyvclnwggo" path="res://addons/dialogue_manager/dialogue_label.tscn" id="2_hfvdi"] +[ext_resource type="Script" path="res://addons/dialogue_manager/dialogue_reponses_menu.gd" id="3_1j1j0"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_235ry"] +content_margin_left = 6.0 +content_margin_top = 3.0 +content_margin_right = 6.0 +content_margin_bottom = 3.0 +bg_color = Color(0.0666667, 0.0666667, 0.0666667, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color(0.345098, 0.345098, 0.345098, 1) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ufjut"] +content_margin_left = 6.0 +content_margin_top = 3.0 +content_margin_right = 6.0 +content_margin_bottom = 3.0 +bg_color = Color(0.227451, 0.227451, 0.227451, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color(1, 1, 1, 1) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_fcbqo"] +content_margin_left = 6.0 +content_margin_top = 3.0 +content_margin_right = 6.0 +content_margin_bottom = 3.0 +bg_color = Color(0.0666667, 0.0666667, 0.0666667, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_t6i7a"] +content_margin_left = 6.0 +content_margin_top = 3.0 +content_margin_right = 6.0 +content_margin_bottom = 3.0 +bg_color = Color(0.0666667, 0.0666667, 0.0666667, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_uy0d5"] +bg_color = Color(0, 0, 0, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[sub_resource type="Theme" id="Theme_qq3yp"] +default_font_size = 8 +Button/styles/disabled = SubResource("StyleBoxFlat_235ry") +Button/styles/focus = SubResource("StyleBoxFlat_ufjut") +Button/styles/hover = SubResource("StyleBoxFlat_fcbqo") +Button/styles/normal = SubResource("StyleBoxFlat_t6i7a") +MarginContainer/constants/margin_bottom = 4 +MarginContainer/constants/margin_left = 8 +MarginContainer/constants/margin_right = 8 +MarginContainer/constants/margin_top = 4 +Panel/styles/panel = SubResource("StyleBoxFlat_uy0d5") + +[node name="ExampleBalloon2" type="CanvasLayer"] +layer = 100 +script = ExtResource("1_s2gbs") + +[node name="Balloon" type="Control" parent="."] +unique_name_in_owner = true +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = SubResource("Theme_qq3yp") + +[node name="Panel" type="Panel" parent="Balloon"] +layout_mode = 1 +anchors_preset = 12 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 3.0 +offset_top = -62.0 +offset_right = -4.0 +offset_bottom = -4.0 +grow_horizontal = 2 +grow_vertical = 0 + +[node name="Dialogue" type="MarginContainer" parent="Balloon/Panel"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="VBoxContainer" type="VBoxContainer" parent="Balloon/Panel/Dialogue"] +layout_mode = 2 + +[node name="CharacterLabel" type="RichTextLabel" parent="Balloon/Panel/Dialogue/VBoxContainer"] +unique_name_in_owner = true +modulate = Color(1, 1, 1, 0.501961) +layout_mode = 2 +mouse_filter = 1 +bbcode_enabled = true +text = "Character" +fit_content = true +scroll_active = false + +[node name="DialogueLabel" parent="Balloon/Panel/Dialogue/VBoxContainer" instance=ExtResource("2_hfvdi")] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 3 +text = "Dialogue..." + +[node name="Responses" type="MarginContainer" parent="Balloon"] +layout_mode = 1 +anchors_preset = 7 +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +offset_left = -124.0 +offset_top = -218.0 +offset_right = 125.0 +offset_bottom = -50.0 +grow_horizontal = 2 +grow_vertical = 0 + +[node name="ResponsesMenu" type="VBoxContainer" parent="Balloon/Responses"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 8 +theme_override_constants/separation = 2 +script = ExtResource("3_1j1j0") + +[node name="ResponseExample" type="Button" parent="Balloon/Responses/ResponsesMenu"] +layout_mode = 2 +text = "Response Example" + +[connection signal="gui_input" from="Balloon" to="." method="_on_balloon_gui_input"] +[connection signal="response_selected" from="Balloon/Responses/ResponsesMenu" to="." method="_on_responses_menu_response_selected"] diff --git a/addons/dialogue_manager/import_plugin.gd b/addons/dialogue_manager/import_plugin.gd new file mode 100644 index 0000000..3f0af15 --- /dev/null +++ b/addons/dialogue_manager/import_plugin.gd @@ -0,0 +1,113 @@ +@tool +extends EditorImportPlugin + + +signal compiled_resource(resource: Resource) + + +const DialogueResource = preload("./dialogue_resource.gd") +const DialogueManagerParseResult = preload("./components/parse_result.gd") + +const compiler_version = 11 + + +func _get_importer_name() -> String: + # NOTE: A change to this forces a re-import of all dialogue + return "dialogue_manager_compiler_%s" % compiler_version + + +func _get_visible_name() -> String: + return "Dialogue" + + +func _get_import_order() -> int: + return -1000 + + +func _get_priority() -> float: + return 1000.0 + + +func _get_resource_type(): + return "Resource" + + +func _get_recognized_extensions() -> PackedStringArray: + return PackedStringArray(["dialogue"]) + + +func _get_save_extension(): + return "tres" + + +func _get_preset_count() -> int: + return 0 + + +func _get_preset_name(preset_index: int) -> String: + return "Unknown" + + +func _get_import_options(path: String, preset_index: int) -> Array: + # When the options array is empty there is a misleading error on export + # that actually means nothing so let's just have an invisible option. + return [{ + name = "defaults", + default_value = true + }] + + +func _get_option_visibility(path: String, option_name: StringName, options: Dictionary) -> bool: + return false + + +func _import(source_file: String, save_path: String, options: Dictionary, platform_variants: Array[String], gen_files: Array[String]) -> Error: + var cache = Engine.get_meta("DialogueCache") + + # Get the raw file contents + if not FileAccess.file_exists(source_file): return ERR_FILE_NOT_FOUND + + var file: FileAccess = FileAccess.open(source_file, FileAccess.READ) + var raw_text: String = file.get_as_text() + + # Parse the text + var parser: DialogueManagerParser = DialogueManagerParser.new() + var err: Error = parser.parse(raw_text, source_file) + var data: DialogueManagerParseResult = parser.get_data() + var errors: Array[Dictionary] = parser.get_errors() + parser.free() + + if err != OK: + printerr("%d errors found in %s" % [errors.size(), source_file]) + cache.add_errors_to_file(source_file, errors) + return err + + # Get the current addon version + var config: ConfigFile = ConfigFile.new() + config.load("res://addons/dialogue_manager/plugin.cfg") + var version: String = config.get_value("plugin", "version") + + # Save the results to a resource + var resource: DialogueResource = DialogueResource.new() + resource.set_meta("dialogue_manager_version", version) + + resource.using_states = data.using_states + resource.titles = data.titles + resource.first_title = data.first_title + resource.character_names = data.character_names + resource.lines = data.lines + resource.raw_text = data.raw_text + + # Clear errors and possibly trigger any cascade recompiles + cache.add_file(source_file, data) + + err = ResourceSaver.save(resource, "%s.%s" % [save_path, _get_save_extension()]) + + compiled_resource.emit(resource) + + # Recompile any dependencies + var dependent_paths: PackedStringArray = cache.get_dependent_paths_for_reimport(source_file) + for path in dependent_paths: + append_import_external_resource(path) + + return err diff --git a/addons/dialogue_manager/l10n/en.po b/addons/dialogue_manager/l10n/en.po new file mode 100644 index 0000000..145d1e9 --- /dev/null +++ b/addons/dialogue_manager/l10n/en.po @@ -0,0 +1,457 @@ +msgid "" +msgstr "" +"Project-Id-Version: Dialogue Manager\n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.2.2\n" + +msgid "start_a_new_file" +msgstr "Start a new file" + +msgid "open_a_file" +msgstr "Open a file" + +msgid "open.open" +msgstr "Open..." + +msgid "open.no_recent_files" +msgstr "No recent files" + +msgid "open.clear_recent_files" +msgstr "Clear recent files" + +msgid "save_all_files" +msgstr "Save all files" + +msgid "test_dialogue" +msgstr "Test dialogue" + +msgid "search_for_text" +msgstr "Search for text" + +msgid "insert" +msgstr "Insert" + +msgid "translations" +msgstr "Translations" + +msgid "settings" +msgstr "Settings" + +msgid "show_support" +msgstr "Support Dialogue Manager" + +msgid "docs" +msgstr "Docs" + +msgid "insert.wave_bbcode" +msgstr "Wave BBCode" + +msgid "insert.shake_bbcode" +msgstr "Shake BBCode" + +msgid "insert.typing_pause" +msgstr "Typing pause" + +msgid "insert.typing_speed_change" +msgstr "Typing speed change" + +msgid "insert.auto_advance" +msgstr "Auto advance" + +msgid "insert.templates" +msgstr "Templates" + +msgid "insert.title" +msgstr "Title" + +msgid "insert.dialogue" +msgstr "Dialogue" + +msgid "insert.response" +msgstr "Response" + +msgid "insert.random_lines" +msgstr "Random lines" + +msgid "insert.random_text" +msgstr "Random text" + +msgid "insert.actions" +msgstr "Actions" + +msgid "insert.jump" +msgstr "Jump to title" + +msgid "insert.end_dialogue" +msgstr "End dialogue" + +msgid "generate_line_ids" +msgstr "Generate line IDs" + +msgid "save_characters_to_csv" +msgstr "Save character names to CSV..." + +msgid "save_to_csv" +msgstr "Save lines to CSV..." + +msgid "import_from_csv" +msgstr "Import line changes from CSV..." + +msgid "confirm_close" +msgstr "Save changes to '{path}'?" + +msgid "confirm_close.save" +msgstr "Save changes" + +msgid "confirm_close.discard" +msgstr "Discard" + +msgid "buffer.save" +msgstr "Save" + +msgid "buffer.save_as" +msgstr "Save as..." + +msgid "buffer.close" +msgstr "Close" + +msgid "buffer.close_all" +msgstr "Close all" + +msgid "buffer.close_other_files" +msgstr "Close other files" + +msgid "buffer.copy_file_path" +msgstr "Copy file path" + +msgid "buffer.show_in_filesystem" +msgstr "Show in FileSystem" + +msgid "settings.invalid_test_scene" +msgstr "\"{path}\" does not extend BaseDialogueTestScene." + +msgid "settings.revert_to_default_test_scene" +msgstr "Revert to default test scene" + +msgid "settings.default_balloon_hint" +msgstr "Custom balloon to use when calling \"DialogueManager.show_balloon()\"" + +msgid "settings.revert_to_default_balloon" +msgstr "Revert to default balloon" + +msgid "settings.default_balloon_path" +msgstr "<example balloon>" + +msgid "settings.autoload" +msgstr "Autoload" + +msgid "settings.path" +msgstr "Path" + +msgid "settings.new_template" +msgstr "New dialogue files will start with template text" + +msgid "settings.missing_keys" +msgstr "Treat missing translation keys as errors" + +msgid "settings.missing_keys_hint" +msgstr "If you are using static translation keys then having this enabled will help you find any lines that you haven't added a key to yet." + +msgid "settings.characters_translations" +msgstr "Export character names in translation files" + +msgid "settings.wrap_long_lines" +msgstr "Wrap long lines" + +msgid "settings.include_failed_responses" +msgstr "Include responses with failed conditions" + +msgid "settings.ignore_missing_state_values" +msgstr "Skip over missing state value errors (not recommended)" + +msgid "settings.custom_test_scene" +msgstr "Custom test scene (must extend BaseDialogueTestScene)" + +msgid "settings.default_csv_locale" +msgstr "Default CSV Locale" + +msgid "settings.states_shortcuts" +msgstr "State Shortcuts" + +msgid "settings.states_message" +msgstr "If an autoload is enabled here you can refer to its properties and methods without having to use its name." + +msgid "settings.states_hint" +msgstr "ie. Instead of \"SomeState.some_property\" you could just use \"some_property\"" + +msgid "settings.recompile_warning" +msgstr "Changing these settings will force a recompile of all dialogue. Only change them if you know what you are doing." + +msgid "settings.create_lines_for_responses_with_characters" +msgstr "Create child dialogue line for responses with character names in them" + +msgid "settings.open_in_external_editor" +msgstr "Open dialogue files in external editor" + +msgid "settings.external_editor_warning" +msgstr "Note: Syntax highlighting and detailed error checking are not supported in external editors." + +msgid "settings.include_characters_in_translations" +msgstr "Include character names in translation exports" + +msgid "settings.include_notes_in_translations" +msgstr "Include notes (## comments) in translation exports" + +msgid "n_of_n" +msgstr "{index} of {total}" + +msgid "search.previous" +msgstr "Previous" + +msgid "search.next" +msgstr "Next" + +msgid "search.match_case" +msgstr "Match case" + +msgid "search.toggle_replace" +msgstr "Replace" + +msgid "search.replace_with" +msgstr "Replace with:" + +msgid "search.replace" +msgstr "Replace" + +msgid "search.replace_all" +msgstr "Replace all" + +msgid "files_list.filter" +msgstr "Filter files" + +msgid "titles_list.filter" +msgstr "Filter titles" + +msgid "errors.key_not_found" +msgstr "Key \"{key}\" not found." + +msgid "errors.line_and_message" +msgstr "Error at {line}, {column}: {message}" + +msgid "errors_in_script" +msgstr "You have errors in your script. Fix them and then try again." + +msgid "errors_with_build" +msgstr "You need to fix dialogue errors before you can run your game." + +msgid "errors.import_errors" +msgstr "There are errors in this imported file." + +msgid "errors.already_imported" +msgstr "File already imported." + +msgid "errors.duplicate_import" +msgstr "Duplicate import name." + +msgid "errors.unknown_using" +msgstr "Unknown autoload in using statement." + +msgid "errors.empty_title" +msgstr "Titles cannot be empty." + +msgid "errors.duplicate_title" +msgstr "There is already a title with that name." + +msgid "errors.nested_title" +msgstr "Titles cannot be indented." + +msgid "errors.invalid_title_string" +msgstr "Titles can only contain alphanumeric characters and numbers." + +msgid "errors.invalid_title_number" +msgstr "Titles cannot begin with a number." + +msgid "errors.unknown_title" +msgstr "Unknown title." + +msgid "errors.jump_to_invalid_title" +msgstr "This jump is pointing to an invalid title." + +msgid "errors.title_has_no_content" +msgstr "That title has no content. Maybe change this to a \"=> END\"." + +msgid "errors.invalid_expression" +msgstr "Expression is invalid." + +msgid "errors.unexpected_condition" +msgstr "Unexpected condition." + +msgid "errors.duplicate_id" +msgstr "This ID is already on another line." + +msgid "errors.missing_id" +msgstr "This line is missing an ID." + +msgid "errors.invalid_indentation" +msgstr "Invalid indentation." + +msgid "errors.condition_has_no_content" +msgstr "A condition line needs an indented line below it." + +msgid "errors.incomplete_expression" +msgstr "Incomplete expression." + +msgid "errors.invalid_expression_for_value" +msgstr "Invalid expression for value." + +msgid "errors.file_not_found" +msgstr "File not found." + +msgid "errors.unexpected_end_of_expression" +msgstr "Unexpected end of expression." + +msgid "errors.unexpected_function" +msgstr "Unexpected function." + +msgid "errors.unexpected_bracket" +msgstr "Unexpected bracket." + +msgid "errors.unexpected_closing_bracket" +msgstr "Unexpected closing bracket." + +msgid "errors.missing_closing_bracket" +msgstr "Missing closing bracket." + +msgid "errors.unexpected_operator" +msgstr "Unexpected operator." + +msgid "errors.unexpected_comma" +msgstr "Unexpected comma." + +msgid "errors.unexpected_colon" +msgstr "Unexpected colon." + +msgid "errors.unexpected_dot" +msgstr "Unexpected dot." + +msgid "errors.unexpected_boolean" +msgstr "Unexpected boolean." + +msgid "errors.unexpected_string" +msgstr "Unexpected string." + +msgid "errors.unexpected_number" +msgstr "Unexpected number." + +msgid "errors.unexpected_variable" +msgstr "Unexpected variable." + +msgid "errors.invalid_index" +msgstr "Invalid index." + +msgid "errors.unexpected_assignment" +msgstr "Unexpected assignment." + +msgid "errors.unknown" +msgstr "Unknown syntax." + +msgid "update.available" +msgstr "v{version} available" + +msgid "update.is_available_for_download" +msgstr "Version %s is available for download!" + +msgid "update.downloading" +msgstr "Downloading..." + +msgid "update.download_update" +msgstr "Download update" + +msgid "update.needs_reload" +msgstr "The project needs to be reloaded to install the update." + +msgid "update.reload_ok_button" +msgstr "Reload project" + +msgid "update.reload_cancel_button" +msgstr "Do it later" + +msgid "update.reload_project" +msgstr "Reload project" + +msgid "update.release_notes" +msgstr "Read release notes" + +msgid "update.success" +msgstr "Dialogue Manager is now v{version}." + +msgid "update.failed" +msgstr "There was a problem downloading the update." + +msgid "runtime.no_resource" +msgstr "No dialogue resource provided." + +msgid "runtime.no_content" +msgstr "\"{file_path}\" has no content." + +msgid "runtime.errors" +msgstr "You have {count} errors in your dialogue text." + +msgid "runtime.error_detail" +msgstr "Line {line}: {message}" + +msgid "runtime.errors_see_details" +msgstr "You have {count} errors in your dialogue text. See Output for details." + +msgid "runtime.invalid_expression" +msgstr "\"{expression}\" is not a valid expression: {error}" + +msgid "runtime.array_index_out_of_bounds" +msgstr "Index {index} out of bounds of array \"{array}\"." + +msgid "runtime.left_hand_size_cannot_be_assigned_to" +msgstr "Left hand side of expression cannot be assigned to." + +msgid "runtime.key_not_found" +msgstr "Key \"{key}\" not found in dictionary \"{dictionary}\"" + +msgid "runtime.property_not_found" +msgstr "\"{property}\" is not a property on any game states ({states})." + +msgid "runtime.property_not_found_missing_export" +msgstr "\"{property}\" is not a property on any game states ({states}). You might need to add an [Export] decorator." + +msgid "runtime.method_not_found" +msgstr "\"{method}\" is not a method on any game states ({states})" + +msgid "runtime.signal_not_found" +msgstr "\"{signal_name}\" is not a signal on any game states ({states})" + +msgid "runtime.method_not_callable" +msgstr "\"{method}\" is not a callable method on \"{object}\"" + +msgid "runtime.unknown_operator" +msgstr "Unknown operator." + +msgid "runtime.unknown_autoload" +msgstr "\"{autoload}\" doesn't appear to be a valid autoload." + +msgid "runtime.something_went_wrong" +msgstr "Something went wrong." + +msgid "runtime.expected_n_got_n_args" +msgstr "\"{method}\" was called with {received} arguments but it only has {expected}." + +msgid "runtime.unsupported_array_type" +msgstr "Array[{type}] isn't supported in mutations. Use Array as a type instead." + +msgid "runtime.dialogue_balloon_missing_start_method" +msgstr "Your dialogue balloon is missing a \"start\" or \"Start\" method." \ No newline at end of file diff --git a/addons/dialogue_manager/l10n/translations.pot b/addons/dialogue_manager/l10n/translations.pot new file mode 100644 index 0000000..79d8af3 --- /dev/null +++ b/addons/dialogue_manager/l10n/translations.pot @@ -0,0 +1,447 @@ +msgid "" +msgstr "" +"Project-Id-Version: Dialogue Manager\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" + +msgid "start_a_new_file" +msgstr "" + +msgid "open_a_file" +msgstr "" + +msgid "open.open" +msgstr "" + +msgid "open.no_recent_files" +msgstr "" + +msgid "open.clear_recent_files" +msgstr "" + +msgid "save_all_files" +msgstr "" + +msgid "test_dialogue" +msgstr "" + +msgid "search_for_text" +msgstr "" + +msgid "insert" +msgstr "" + +msgid "translations" +msgstr "" + +msgid "settings" +msgstr "" + +msgid "show_support" +msgstr "" + +msgid "docs" +msgstr "" + +msgid "insert.wave_bbcode" +msgstr "" + +msgid "insert.shake_bbcode" +msgstr "" + +msgid "insert.typing_pause" +msgstr "" + +msgid "insert.typing_speed_change" +msgstr "" + +msgid "insert.auto_advance" +msgstr "" + +msgid "insert.templates" +msgstr "" + +msgid "insert.title" +msgstr "" + +msgid "insert.dialogue" +msgstr "" + +msgid "insert.response" +msgstr "" + +msgid "insert.random_lines" +msgstr "" + +msgid "insert.random_text" +msgstr "" + +msgid "insert.actions" +msgstr "" + +msgid "insert.jump" +msgstr "" + +msgid "insert.end_dialogue" +msgstr "" + +msgid "generate_line_ids" +msgstr "" + +msgid "save_to_csv" +msgstr "" + +msgid "import_from_csv" +msgstr "" + +msgid "confirm_close" +msgstr "" + +msgid "confirm_close.save" +msgstr "" + +msgid "confirm_close.discard" +msgstr "" + +msgid "buffer.save" +msgstr "" + +msgid "buffer.save_as" +msgstr "" + +msgid "buffer.close" +msgstr "" + +msgid "buffer.close_all" +msgstr "" + +msgid "buffer.close_other_files" +msgstr "" + +msgid "buffer.copy_file_path" +msgstr "" + +msgid "buffer.show_in_filesystem" +msgstr "" + +msgid "settings.invalid_test_scene" +msgstr "" + +msgid "settings.revert_to_default_test_scene" +msgstr "" + +msgid "settings.default_balloon_hint" +msgstr "" + +msgid "settings.revert_to_default_balloon" +msgstr "" + +msgid "settings.default_balloon_path" +msgstr "" + +msgid "settings.autoload" +msgstr "" + +msgid "settings.path" +msgstr "" + +msgid "settings.new_template" +msgstr "" + +msgid "settings.missing_keys" +msgstr "" + +msgid "settings.missing_keys_hint" +msgstr "" + +msgid "settings.characters_translations" +msgstr "" + +msgid "settings.wrap_long_lines" +msgstr "" + +msgid "settings.include_failed_responses" +msgstr "" + +msgid "settings.ignore_missing_state_values" +msgstr "" + +msgid "settings.custom_test_scene" +msgstr "" + +msgid "settings.default_csv_locale" +msgstr "" + +msgid "settings.states_shortcuts" +msgstr "" + +msgid "settings.states_message" +msgstr "" + +msgid "settings.states_hint" +msgstr "" + +msgid "settings.recompile_warning" +msgstr "" + +msgid "settings.create_lines_for_responses_with_characters" +msgstr "" + +msgid "settings.open_in_external_editor" +msgstr "" + +msgid "settings.external_editor_warning" +msgstr "" + +msgid "settings.include_characters_in_translations" +msgstr "" + +msgid "settings.include_notes_in_translations" +msgstr "" + +msgid "n_of_n" +msgstr "" + +msgid "search.previous" +msgstr "" + +msgid "search.next" +msgstr "" + +msgid "search.match_case" +msgstr "" + +msgid "search.toggle_replace" +msgstr "" + +msgid "search.replace_with" +msgstr "" + +msgid "search.replace" +msgstr "" + +msgid "search.replace_all" +msgstr "" + +msgid "files_list.filter" +msgstr "" + +msgid "titles_list.filter" +msgstr "" + +msgid "errors.key_not_found" +msgstr "" + +msgid "errors.line_and_message" +msgstr "" + +msgid "errors_in_script" +msgstr "" + +msgid "errors_with_build" +msgstr "" + +msgid "errors.import_errors" +msgstr "" + +msgid "errors.already_imported" +msgstr "" + +msgid "errors.duplicate_import" +msgstr "" + +msgid "errors.unknown_using" +msgstr "" + +msgid "errors.empty_title" +msgstr "" + +msgid "errors.duplicate_title" +msgstr "" + +msgid "errors.nested_title" +msgstr "" + +msgid "errors.invalid_title_string" +msgstr "" + +msgid "errors.invalid_title_number" +msgstr "" + +msgid "errors.unknown_title" +msgstr "" + +msgid "errors.jump_to_invalid_title" +msgstr "" + +msgid "errors.title_has_no_content" +msgstr "" + +msgid "errors.invalid_expression" +msgstr "" + +msgid "errors.unexpected_condition" +msgstr "" + +msgid "errors.duplicate_id" +msgstr "" + +msgid "errors.missing_id" +msgstr "" + +msgid "errors.invalid_indentation" +msgstr "" + +msgid "errors.condition_has_no_content" +msgstr "" + +msgid "errors.incomplete_expression" +msgstr "" + +msgid "errors.invalid_expression_for_value" +msgstr "" + +msgid "errors.file_not_found" +msgstr "" + +msgid "errors.unexpected_end_of_expression" +msgstr "" + +msgid "errors.unexpected_function" +msgstr "" + +msgid "errors.unexpected_bracket" +msgstr "" + +msgid "errors.unexpected_closing_bracket" +msgstr "" + +msgid "errors.missing_closing_bracket" +msgstr "" + +msgid "errors.unexpected_operator" +msgstr "" + +msgid "errors.unexpected_comma" +msgstr "" + +msgid "errors.unexpected_colon" +msgstr "" + +msgid "errors.unexpected_dot" +msgstr "" + +msgid "errors.unexpected_boolean" +msgstr "" + +msgid "errors.unexpected_string" +msgstr "" + +msgid "errors.unexpected_number" +msgstr "" + +msgid "errors.unexpected_variable" +msgstr "" + +msgid "errors.invalid_index" +msgstr "" + +msgid "errors.unexpected_assignment" +msgstr "" + +msgid "errors.unknown" +msgstr "" + +msgid "update.available" +msgstr "" + +msgid "update.is_available_for_download" +msgstr "" + +msgid "update.downloading" +msgstr "" + +msgid "update.download_update" +msgstr "" + +msgid "update.needs_reload" +msgstr "" + +msgid "update.reload_ok_button" +msgstr "" + +msgid "update.reload_cancel_button" +msgstr "" + +msgid "update.reload_project" +msgstr "" + +msgid "update.release_notes" +msgstr "" + +msgid "update.success" +msgstr "" + +msgid "update.failed" +msgstr "" + +msgid "runtime.no_resource" +msgstr "" + +msgid "runtime.no_content" +msgstr "" + +msgid "runtime.errors" +msgstr "" + +msgid "runtime.error_detail" +msgstr "" + +msgid "runtime.errors_see_details" +msgstr "" + +msgid "runtime.invalid_expression" +msgstr "" + +msgid "runtime.array_index_out_of_bounds" +msgstr "" + +msgid "runtime.left_hand_size_cannot_be_assigned_to" +msgstr "" + +msgid "runtime.key_not_found" +msgstr "" + +msgid "runtime.property_not_found" +msgstr "" + +msgid "runtime.property_not_found_missing_export" +msgstr "" + +msgid "runtime.method_not_found" +msgstr "" + +msgid "runtime.signal_not_found" +msgstr "" + +msgid "runtime.method_not_callable" +msgstr "" + +msgid "runtime.unknown_operator" +msgstr "" + +msgid "runtime.unknown_autoload" +msgstr "" + +msgid "runtime.something_went_wrong" +msgstr "" + +msgid "runtime.expected_n_got_n_args" +msgstr "" + +msgid "runtime.unsupported_array_type" +msgstr "" + +msgid "runtime.dialogue_balloon_missing_start_method" +msgstr "" \ No newline at end of file diff --git a/addons/dialogue_manager/l10n/zh.po b/addons/dialogue_manager/l10n/zh.po new file mode 100644 index 0000000..b7f032f --- /dev/null +++ b/addons/dialogue_manager/l10n/zh.po @@ -0,0 +1,408 @@ +msgid "" +msgstr "" +"Project-Id-Version: Dialogue Manager\n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: penghao123456、憨憨羊の宇航鸽鸽\n" +"Language: zh\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.4\n" + +msgid "start_a_new_file" +msgstr "创建新文件" + +msgid "open_a_file" +msgstr "打开已有文件" + +msgid "open.open" +msgstr "打开……" + +msgid "open.no_recent_files" +msgstr "无历史记录" + +msgid "open.clear_recent_files" +msgstr "清空历史记录" + +msgid "save_all_files" +msgstr "保存所有文件" + +msgid "test_dialogue" +msgstr "测试对话" + +msgid "search_for_text" +msgstr "查找……" + +msgid "insert" +msgstr "插入" + +msgid "translations" +msgstr "翻译" + +msgid "settings" +msgstr "设置" + +msgid "show_support" +msgstr "支持 Dialogue Manager" + +msgid "docs" +msgstr "文档" + +msgid "insert.wave_bbcode" +msgstr "BBCode [lb]wave[rb]" + +msgid "insert.shake_bbcode" +msgstr "BBCode [lb]wave[rb]" + +msgid "insert.typing_pause" +msgstr "输入间隔" + +msgid "insert.typing_speed_change" +msgstr "输入速度变更" + +msgid "insert.auto_advance" +msgstr "自动切行" + +msgid "insert.templates" +msgstr "模板" + +msgid "insert.title" +msgstr "标题" + +msgid "insert.dialogue" +msgstr "对话" + +msgid "insert.response" +msgstr "回复选项" + +msgid "insert.random_lines" +msgstr "随机行" + +msgid "insert.random_text" +msgstr "随机文本" + +msgid "insert.actions" +msgstr "操作" + +msgid "insert.jump" +msgstr "标题间跳转" + +msgid "insert.end_dialogue" +msgstr "结束对话" + +msgid "generate_line_ids" +msgstr "生成行 ID" + +msgid "save_to_csv" +msgstr "生成 CSV" + +msgid "import_from_csv" +msgstr "从 CSV 导入" + +msgid "confirm_close" +msgstr "是否要保存到“{path}”?" + +msgid "confirm_close.save" +msgstr "保存" + +msgid "confirm_close.discard" +msgstr "不保存" + +msgid "buffer.save" +msgstr "保存" + +msgid "buffer.save_as" +msgstr "另存为……" + +msgid "buffer.close" +msgstr "关闭" + +msgid "buffer.close_all" +msgstr "全部关闭" + +msgid "buffer.close_other_files" +msgstr "关闭其他文件" + +msgid "buffer.copy_file_path" +msgstr "复制文件路径" + +msgid "buffer.show_in_filesystem" +msgstr "在 Godot 侧边栏中显示" + +msgid "settings.revert_to_default_test_scene" +msgstr "重置测试场景设定" + +msgid "settings.autoload" +msgstr "Autoload" + +msgid "settings.path" +msgstr "路径" + +msgid "settings.new_template" +msgstr "新建文件时自动插入模板" + +msgid "settings.missing_keys" +msgstr "将翻译键缺失视为错误" + +msgid "settings.missing_keys_hint" +msgstr "如果你使用静态键,这将会帮助你寻找未添加至翻译文件的键。" + +msgid "settings.characters_translations" +msgstr "在翻译文件中导出角色名。" + +msgid "settings.wrap_long_lines" +msgstr "自动折行" + +msgid "settings.include_failed_responses" +msgstr "在判断条件失败时仍显示回复选项" + +msgid "settings.ignore_missing_state_values" +msgstr "忽略全局变量缺失错误(不建议)" + +msgid "settings.custom_test_scene" +msgstr "自定义测试场景(必须继承自BaseDialogueTestScene)" + +msgid "settings.default_csv_locale" +msgstr "默认 CSV 区域格式" + +msgid "settings.states_shortcuts" +msgstr "全局变量映射" + +msgid "settings.states_message" +msgstr "当一个 Autoload 在这里被勾选,他的所有成员会被映射为全局变量。" + +msgid "settings.states_hint" +msgstr "比如,当你开启对于“Foo”的映射时,你可以将“Foo.bar”简写成“bar”。" + +msgid "n_of_n" +msgstr "第{index}个,共{total}个" + +msgid "search.previous" +msgstr "查找上一个" + +msgid "search.next" +msgstr "查找下一个" + +msgid "search.match_case" +msgstr "大小写敏感" + +msgid "search.toggle_replace" +msgstr "替换" + +msgid "search.replace_with" +msgstr "替换为" + +msgid "search.replace" +msgstr "替换" + +msgid "search.replace_all" +msgstr "全部替换" + +msgid "files_list.filter" +msgstr "查找文件" + +msgid "titles_list.filter" +msgstr "查找标题" + +msgid "errors.key_not_found" +msgstr "键“{key}”未找到" + +msgid "errors.line_and_message" +msgstr "第{line}行第{colume}列发生错误:{message}" + +msgid "errors_in_script" +msgstr "你的脚本中存在错误。请修复错误,然后重试。" + +msgid "errors_with_build" +msgstr "请先解决 Dialogue 中的错误。" + +msgid "errors.import_errors" +msgstr "被导入的文件存在问题。" + +msgid "errors.already_imported" +msgstr "文件已被导入。" + +msgid "errors.duplicate_import" +msgstr "导入名不能重复。" + +msgid "errors.empty_title" +msgstr "标题名不能为空。" + +msgid "errors.duplicate_title" +msgstr "标题名不能重复。" + +msgid "errors.nested_title" +msgstr "标题不能嵌套。" + +msgid "errors.invalid_title_string" +msgstr "标题名无效。" + +msgid "errors.invalid_title_number" +msgstr "标题不能以数字开始。" + +msgid "errors.unknown_title" +msgstr "标题未定义。" + +msgid "errors.jump_to_invalid_title" +msgstr "标题名无效。" + +msgid "errors.title_has_no_content" +msgstr "目标标题为空。请替换为“=> END”。" + +msgid "errors.invalid_expression" +msgstr "表达式无效。" + +msgid "errors.unexpected_condition" +msgstr "未知条件。" + +msgid "errors.duplicate_id" +msgstr "ID 重复。" + +msgid "errors.missing_id" +msgstr "ID 不存在。" + +msgid "errors.invalid_indentation" +msgstr "缩进无效。" + +msgid "errors.condition_has_no_content" +msgstr "条件下方不能为空。" + +msgid "errors.incomplete_expression" +msgstr "不完整的表达式。" + +msgid "errors.invalid_expression_for_value" +msgstr "无效的赋值表达式。" + +msgid "errors.file_not_found" +msgstr "文件不存在。" + +msgid "errors.unexpected_end_of_expression" +msgstr "表达式 end 不应存在。" + +msgid "errors.unexpected_function" +msgstr "函数不应存在。" + +msgid "errors.unexpected_bracket" +msgstr "方括号不应存在。" + +msgid "errors.unexpected_closing_bracket" +msgstr "方括号不应存在。" + +msgid "errors.missing_closing_bracket" +msgstr "闭方括号不存在。" + +msgid "errors.unexpected_operator" +msgstr "操作符不应存在。" + +msgid "errors.unexpected_comma" +msgstr "逗号不应存在。" + +msgid "errors.unexpected_colon" +msgstr "冒号不应存在。" + +msgid "errors.unexpected_dot" +msgstr "句号不应存在。" + +msgid "errors.unexpected_boolean" +msgstr "布尔值不应存在。" + +msgid "errors.unexpected_string" +msgstr "字符串不应存在。" + +msgid "errors.unexpected_number" +msgstr "数字不应存在。" + +msgid "errors.unexpected_variable" +msgstr "标识符不应存在。" + +msgid "errors.invalid_index" +msgstr "索引无效。" + +msgid "errors.unexpected_assignment" +msgstr "不应在条件判断中使用 = ,应使用 == 。" + +msgid "errors.unknown" +msgstr "语法错误。" + +msgid "update.available" +msgstr "v{version} 更新可用。" + +msgid "update.is_available_for_download" +msgstr "v%s 已经可以下载。" + +msgid "update.downloading" +msgstr "正在下载更新……" + +msgid "update.download_update" +msgstr "下载" + +msgid "update.needs_reload" +msgstr "需要重新加载项目以应用更新。" + +msgid "update.reload_ok_button" +msgstr "重新加载" + +msgid "update.reload_cancel_button" +msgstr "暂不重新加载" + +msgid "update.reload_project" +msgstr "重新加载" + +msgid "update.release_notes" +msgstr "查看发行注记" + +msgid "update.success" +msgstr "v{version} 已成功安装并应用。" + +msgid "update.failed" +msgstr "更新失败。" + +msgid "runtime.no_resource" +msgstr "找不到资源。" + +msgid "runtime.no_content" +msgstr "资源“{file_path}”为空。" + +msgid "runtime.errors" +msgstr "文件中存在{errrors}个错误。" + +msgid "runtime.error_detail" +msgstr "第{index}行:{message}" + +msgid "runtime.errors_see_details" +msgstr "文件中存在{errrors}个错误。请查看调试输出。" + +msgid "runtime.invalid_expression" +msgstr "表达式“{expression}”无效:{error}" + +msgid "runtime.array_index_out_of_bounds" +msgstr "数组索引“{index}”越界。(数组名:“{array}”)" + +msgid "runtime.left_hand_size_cannot_be_assigned_to" +msgstr "表达式左侧的变量无法被赋值。" + +msgid "runtime.key_not_found" +msgstr "键“{key}”在字典“{dictionary}”中不存在。" + +msgid "runtime.property_not_found" +msgstr "“{property}”不存在。(全局变量:{states})" + +msgid "runtime.property_not_found_missing_export" +msgstr "“{property}”不存在。(全局变量:{states})你可能需要添加一个修饰词 [Export]。" + +msgid "runtime.method_not_found" +msgstr "“{method}”不存在。(全局变量:{states})" + +msgid "runtime.signal_not_found" +msgstr "“{sighal_name}”不存在。(全局变量:{states})" + +msgid "runtime.method_not_callable" +msgstr "{method}不是对象“{object}”上的函数。" + +msgid "runtime.unknown_operator" +msgstr "未知操作符。" + +msgid "runtime.something_went_wrong" +msgstr "有什么出错了。" diff --git a/addons/dialogue_manager/l10n/zh_TW.po b/addons/dialogue_manager/l10n/zh_TW.po new file mode 100644 index 0000000..3bcf153 --- /dev/null +++ b/addons/dialogue_manager/l10n/zh_TW.po @@ -0,0 +1,408 @@ +msgid "" +msgstr "" +"Project-Id-Version: Dialogue Manager\n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: 憨憨羊の宇航鴿鴿\n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.4\n" + +msgid "start_a_new_file" +msgstr "創建新檔案" + +msgid "open_a_file" +msgstr "開啟已有檔案" + +msgid "open.open" +msgstr "開啟……" + +msgid "open.no_recent_files" +msgstr "無歷史記錄" + +msgid "open.clear_recent_files" +msgstr "清空歷史記錄" + +msgid "save_all_files" +msgstr "儲存所有檔案" + +msgid "test_dialogue" +msgstr "測試對話" + +msgid "search_for_text" +msgstr "搜尋……" + +msgid "insert" +msgstr "插入" + +msgid "translations" +msgstr "翻譯" + +msgid "settings" +msgstr "設定" + +msgid "show_support" +msgstr "支援 Dialogue Manager" + +msgid "docs" +msgstr "文檔" + +msgid "insert.wave_bbcode" +msgstr "BBCode [lb]wave[rb]" + +msgid "insert.shake_bbcode" +msgstr "BBCode [lb]wave[rb]" + +msgid "insert.typing_pause" +msgstr "輸入間隔" + +msgid "insert.typing_speed_change" +msgstr "輸入速度變更" + +msgid "insert.auto_advance" +msgstr "自動切行" + +msgid "insert.templates" +msgstr "模板" + +msgid "insert.title" +msgstr "標題" + +msgid "insert.dialogue" +msgstr "對話" + +msgid "insert.response" +msgstr "回覆選項" + +msgid "insert.random_lines" +msgstr "隨機行" + +msgid "insert.random_text" +msgstr "隨機文本" + +msgid "insert.actions" +msgstr "操作" + +msgid "insert.jump" +msgstr "標題間跳轉" + +msgid "insert.end_dialogue" +msgstr "結束對話" + +msgid "generate_line_ids" +msgstr "生成行 ID" + +msgid "save_to_csv" +msgstr "生成 CSV" + +msgid "import_from_csv" +msgstr "從 CSV 匯入" + +msgid "confirm_close" +msgstr "是否要儲存到“{path}”?" + +msgid "confirm_close.save" +msgstr "儲存" + +msgid "confirm_close.discard" +msgstr "不儲存" + +msgid "buffer.save" +msgstr "儲存" + +msgid "buffer.save_as" +msgstr "儲存爲……" + +msgid "buffer.close" +msgstr "關閉" + +msgid "buffer.close_all" +msgstr "全部關閉" + +msgid "buffer.close_other_files" +msgstr "關閉其他檔案" + +msgid "buffer.copy_file_path" +msgstr "複製檔案位置" + +msgid "buffer.show_in_filesystem" +msgstr "在 Godot 側邊欄中顯示" + +msgid "settings.revert_to_default_test_scene" +msgstr "重置測試場景設定" + +msgid "settings.autoload" +msgstr "Autoload" + +msgid "settings.path" +msgstr "路徑" + +msgid "settings.new_template" +msgstr "新建檔案時自動插入模板" + +msgid "settings.missing_keys" +msgstr "將翻譯鍵缺失視爲錯誤" + +msgid "settings.missing_keys_hint" +msgstr "如果你使用靜態鍵,這將會幫助你尋找未添加至翻譯檔案的鍵。" + +msgid "settings.wrap_long_lines" +msgstr "自動折行" + +msgid "settings.characters_translations" +msgstr "在翻譯檔案中匯出角色名。" + +msgid "settings.include_failed_responses" +msgstr "在判斷條件失敗時仍顯示回復選項" + +msgid "settings.ignore_missing_state_values" +msgstr "忽略全局變量缺失錯誤(不建議)" + +msgid "settings.custom_test_scene" +msgstr "自訂測試場景(必須繼承自BaseDialogueTestScene)" + +msgid "settings.default_csv_locale" +msgstr "預設 CSV 區域格式" + +msgid "settings.states_shortcuts" +msgstr "全局變量映射" + +msgid "settings.states_message" +msgstr "當一個 Autoload 在這裏被勾選,他的所有成員會被映射爲全局變量。" + +msgid "settings.states_hint" +msgstr "比如,當你開啓對於“Foo”的映射時,你可以將“Foo.bar”簡寫成“bar”。" + +msgid "n_of_n" +msgstr "第{index}個,共{total}個" + +msgid "search.previous" +msgstr "搜尋上一個" + +msgid "search.next" +msgstr "搜尋下一個" + +msgid "search.match_case" +msgstr "大小寫敏感" + +msgid "search.toggle_replace" +msgstr "替換" + +msgid "search.replace_with" +msgstr "替換爲" + +msgid "search.replace" +msgstr "替換" + +msgid "search.replace_all" +msgstr "全部替換" + +msgid "files_list.filter" +msgstr "搜尋檔案" + +msgid "titles_list.filter" +msgstr "搜尋標題" + +msgid "errors.key_not_found" +msgstr "鍵“{key}”未找到" + +msgid "errors.line_and_message" +msgstr "第{line}行第{colume}列發生錯誤:{message}" + +msgid "errors_in_script" +msgstr "你的腳本中存在錯誤。請修復錯誤,然後重試。" + +msgid "errors_with_build" +msgstr "請先解決 Dialogue 中的錯誤。" + +msgid "errors.import_errors" +msgstr "被匯入的檔案存在問題。" + +msgid "errors.already_imported" +msgstr "檔案已被匯入。" + +msgid "errors.duplicate_import" +msgstr "匯入名不能重複。" + +msgid "errors.empty_title" +msgstr "標題名不能爲空。" + +msgid "errors.duplicate_title" +msgstr "標題名不能重複。" + +msgid "errors.nested_title" +msgstr "標題不能嵌套。" + +msgid "errors.invalid_title_string" +msgstr "標題名無效。" + +msgid "errors.invalid_title_number" +msgstr "標題不能以數字開始。" + +msgid "errors.unknown_title" +msgstr "標題未定義。" + +msgid "errors.jump_to_invalid_title" +msgstr "標題名無效。" + +msgid "errors.title_has_no_content" +msgstr "目標標題爲空。請替換爲“=> END”。" + +msgid "errors.invalid_expression" +msgstr "表達式無效。" + +msgid "errors.unexpected_condition" +msgstr "未知條件。" + +msgid "errors.duplicate_id" +msgstr "ID 重複。" + +msgid "errors.missing_id" +msgstr "ID 不存在。" + +msgid "errors.invalid_indentation" +msgstr "縮進無效。" + +msgid "errors.condition_has_no_content" +msgstr "條件下方不能爲空。" + +msgid "errors.incomplete_expression" +msgstr "不完整的表達式。" + +msgid "errors.invalid_expression_for_value" +msgstr "無效的賦值表達式。" + +msgid "errors.file_not_found" +msgstr "檔案不存在。" + +msgid "errors.unexpected_end_of_expression" +msgstr "表達式 end 不應存在。" + +msgid "errors.unexpected_function" +msgstr "函數不應存在。" + +msgid "errors.unexpected_bracket" +msgstr "方括號不應存在。" + +msgid "errors.unexpected_closing_bracket" +msgstr "方括號不應存在。" + +msgid "errors.missing_closing_bracket" +msgstr "閉方括號不存在。" + +msgid "errors.unexpected_operator" +msgstr "操作符不應存在。" + +msgid "errors.unexpected_comma" +msgstr "逗號不應存在。" + +msgid "errors.unexpected_colon" +msgstr "冒號不應存在。" + +msgid "errors.unexpected_dot" +msgstr "句號不應存在。" + +msgid "errors.unexpected_boolean" +msgstr "布爾值不應存在。" + +msgid "errors.unexpected_string" +msgstr "字符串不應存在。" + +msgid "errors.unexpected_number" +msgstr "數字不應存在。" + +msgid "errors.unexpected_variable" +msgstr "標識符不應存在。" + +msgid "errors.invalid_index" +msgstr "索引無效。" + +msgid "errors.unexpected_assignment" +msgstr "不應在條件判斷中使用 = ,應使用 == 。" + +msgid "errors.unknown" +msgstr "語法錯誤。" + +msgid "update.available" +msgstr "v{version} 更新可用。" + +msgid "update.is_available_for_download" +msgstr "v%s 已經可以下載。" + +msgid "update.downloading" +msgstr "正在下載更新……" + +msgid "update.download_update" +msgstr "下載" + +msgid "update.needs_reload" +msgstr "需要重新加載項目以套用更新。" + +msgid "update.reload_ok_button" +msgstr "重新加載" + +msgid "update.reload_cancel_button" +msgstr "暫不重新加載" + +msgid "update.reload_project" +msgstr "重新加載" + +msgid "update.release_notes" +msgstr "查看發行註記" + +msgid "update.success" +msgstr "v{version} 已成功安裝並套用。" + +msgid "update.failed" +msgstr "更新失敗。" + +msgid "runtime.no_resource" +msgstr "找不到資源。" + +msgid "runtime.no_content" +msgstr "資源“{file_path}”爲空。" + +msgid "runtime.errors" +msgstr "檔案中存在{errrors}個錯誤。" + +msgid "runtime.error_detail" +msgstr "第{index}行:{message}" + +msgid "runtime.errors_see_details" +msgstr "檔案中存在{errrors}個錯誤。請查看調試輸出。" + +msgid "runtime.invalid_expression" +msgstr "表達式“{expression}”無效:{error}" + +msgid "runtime.array_index_out_of_bounds" +msgstr "數組索引“{index}”越界。(數組名:“{array}”)" + +msgid "runtime.left_hand_size_cannot_be_assigned_to" +msgstr "表達式左側的變量無法被賦值。" + +msgid "runtime.key_not_found" +msgstr "鍵“{key}”在字典“{dictionary}”中不存在。" + +msgid "runtime.property_not_found" +msgstr "“{property}”不存在。(全局變量:{states})" + +msgid "runtime.method_not_found" +msgstr "“{method}”不存在。(全局變量:{states})" + +msgid "runtime.signal_not_found" +msgstr "“{sighal_name}”不存在。(全局變量:{states})" + +msgid "runtime.property_not_found_missing_export" +msgstr "“{property}”不存在。(全局變量:{states})你可能需要添加一個修飾詞 [Export]。" + +msgid "runtime.method_not_callable" +msgstr "{method}不是對象“{object}”上的函數。" + +msgid "runtime.unknown_operator" +msgstr "未知操作符。" + +msgid "runtime.something_went_wrong" +msgstr "有什麼出錯了。" diff --git a/addons/dialogue_manager/plugin.cfg b/addons/dialogue_manager/plugin.cfg new file mode 100644 index 0000000..1d24ec4 --- /dev/null +++ b/addons/dialogue_manager/plugin.cfg @@ -0,0 +1,7 @@ +[plugin] + +name="Dialogue Manager" +description="A simple but powerful branching dialogue system" +author="Nathan Hoad" +version="2.34.1" +script="plugin.gd" diff --git a/addons/dialogue_manager/plugin.gd b/addons/dialogue_manager/plugin.gd new file mode 100644 index 0000000..063b8eb --- /dev/null +++ b/addons/dialogue_manager/plugin.gd @@ -0,0 +1,263 @@ +@tool +extends EditorPlugin + + +const DialogueConstants = preload("./constants.gd") +const DialogueImportPlugin = preload("./import_plugin.gd") +const DialogueTranslationParserPlugin = preload("./editor_translation_parser_plugin.gd") +const DialogueSettings = preload("./settings.gd") +const DialogueCache = preload("./components/dialogue_cache.gd") +const MainView = preload("./views/main_view.tscn") + + +var import_plugin: DialogueImportPlugin +var translation_parser_plugin: DialogueTranslationParserPlugin +var main_view +var dialogue_cache: DialogueCache + + +func _enter_tree() -> void: + add_autoload_singleton("DialogueManager", get_plugin_path() + "/dialogue_manager.gd") + + if Engine.is_editor_hint(): + Engine.set_meta("DialogueManagerPlugin", self) + + DialogueSettings.prepare() + + import_plugin = DialogueImportPlugin.new() + add_import_plugin(import_plugin) + + translation_parser_plugin = DialogueTranslationParserPlugin.new() + add_translation_parser_plugin(translation_parser_plugin) + + main_view = MainView.instantiate() + main_view.editor_plugin = self + get_editor_interface().get_editor_main_screen().add_child(main_view) + _make_visible(false) + + dialogue_cache = DialogueCache.new() + main_view.add_child(dialogue_cache) + Engine.set_meta("DialogueCache", dialogue_cache) + + _update_localization() + + get_editor_interface().get_file_system_dock().files_moved.connect(_on_files_moved) + get_editor_interface().get_file_system_dock().file_removed.connect(_on_file_removed) + + add_tool_menu_item("Create copy of dialogue example balloon...", _copy_dialogue_balloon) + + +func _exit_tree() -> void: + remove_autoload_singleton("DialogueManager") + + remove_import_plugin(import_plugin) + import_plugin = null + + remove_translation_parser_plugin(translation_parser_plugin) + translation_parser_plugin = null + + if is_instance_valid(main_view): + main_view.queue_free() + + Engine.remove_meta("DialogueManagerPlugin") + Engine.remove_meta("DialogueCache") + + get_editor_interface().get_file_system_dock().files_moved.disconnect(_on_files_moved) + get_editor_interface().get_file_system_dock().file_removed.disconnect(_on_file_removed) + + remove_tool_menu_item("Create copy of dialogue example balloon...") + + +func _has_main_screen() -> bool: + return true + + +func _make_visible(next_visible: bool) -> void: + if is_instance_valid(main_view): + main_view.visible = next_visible + + +func _get_plugin_name() -> String: + return "Dialogue" + + +func _get_plugin_icon() -> Texture2D: + return load(get_plugin_path() + "/assets/icon.svg") + + +func _handles(object) -> bool: + var editor_settings: EditorSettings = get_editor_interface().get_editor_settings() + var external_editor: String = editor_settings.get_setting("text_editor/external/exec_path") + var use_external_editor: bool = editor_settings.get_setting("text_editor/external/use_external_editor") and external_editor != "" + if object is DialogueResource and use_external_editor and DialogueSettings.get_user_value("open_in_external_editor", false): + var project_path: String = ProjectSettings.globalize_path("res://") + var file_path: String = ProjectSettings.globalize_path(object.resource_path) + OS.create_process(external_editor, [project_path, file_path]) + return false + + return object is DialogueResource + + +func _edit(object) -> void: + if is_instance_valid(main_view) and is_instance_valid(object): + main_view.open_resource(object) + + +func _apply_changes() -> void: + if is_instance_valid(main_view): + main_view.apply_changes() + _update_localization() + + +func _build() -> bool: + # If this is the dotnet Godot then we need to check if the solution file exists + if ProjectSettings.has_setting("dotnet/project/solution_directory"): + var directory: String = ProjectSettings.get("dotnet/project/solution_directory") + var file_name: String = ProjectSettings.get("dotnet/project/assembly_name") + var has_dotnet_solution: bool = FileAccess.file_exists("res://%s/%s.sln" % [directory, file_name]) + DialogueSettings.set_user_value("has_dotnet_solution", has_dotnet_solution) + + # Ignore errors in other files if we are just running the test scene + if DialogueSettings.get_user_value("is_running_test_scene", true): return true + + if dialogue_cache != null: + var files_with_errors = dialogue_cache.get_files_with_errors() + if files_with_errors.size() > 0: + for dialogue_file in files_with_errors: + push_error("You have %d error(s) in %s" % [dialogue_file.errors.size(), dialogue_file.path]) + get_editor_interface().edit_resource(load(files_with_errors[0].path)) + main_view.show_build_error_dialog() + return false + + return true + + +## Get the current version +func get_version() -> String: + var config: ConfigFile = ConfigFile.new() + config.load(get_plugin_path() + "/plugin.cfg") + return config.get_value("plugin", "version") + + +## Get the current path of the plugin +func get_plugin_path() -> String: + return get_script().resource_path.get_base_dir() + + +## Update references to a moved file +func update_import_paths(from_path: String, to_path: String) -> void: + dialogue_cache.move_file_path(from_path, to_path) + + # Reopen the file if it's already open + if main_view.current_file_path == from_path: + if to_path == "": + main_view.close_file(from_path) + else: + main_view.current_file_path = "" + main_view.open_file(to_path) + + # Update any other files that import the moved file + var dependents = dialogue_cache.get_files_with_dependency(from_path) + for dependent in dependents: + dependent.dependencies.remove_at(dependent.dependencies.find(from_path)) + dependent.dependencies.append(to_path) + + # Update the live buffer + if main_view.current_file_path == dependent.path: + main_view.code_edit.text = main_view.code_edit.text.replace(from_path, to_path) + main_view.pristine_text = main_view.code_edit.text + + # Open the file and update the path + var file: FileAccess = FileAccess.open(dependent.path, FileAccess.READ) + var text = file.get_as_text().replace(from_path, to_path) + file.close() + + file = FileAccess.open(dependent.path, FileAccess.WRITE) + file.store_string(text) + file.close() + + +func _update_localization() -> void: + var dialogue_files = dialogue_cache.get_files() + + # Add any new files to POT generation + var files_for_pot: PackedStringArray = ProjectSettings.get_setting("internationalization/locale/translations_pot_files", []) + var files_for_pot_changed: bool = false + for path in dialogue_files: + if not files_for_pot.has(path): + files_for_pot.append(path) + files_for_pot_changed = true + + # Remove any POT references that don't exist any more + for i in range(files_for_pot.size() - 1, -1, -1): + var file_for_pot: String = files_for_pot[i] + if file_for_pot.get_extension() == "dialogue" and not dialogue_files.has(file_for_pot): + files_for_pot.remove_at(i) + files_for_pot_changed = true + + # Update project settings if POT changed + if files_for_pot_changed: + ProjectSettings.set_setting("internationalization/locale/translations_pot_files", files_for_pot) + ProjectSettings.save() + + +### Callbacks + + +func _copy_dialogue_balloon() -> void: + var scale: float = get_editor_interface().get_editor_scale() + var directory_dialog: FileDialog = FileDialog.new() + var label: Label = Label.new() + label.text = "Dialogue balloon files will be copied into chosen directory." + directory_dialog.get_vbox().add_child(label) + directory_dialog.file_mode = FileDialog.FILE_MODE_OPEN_DIR + directory_dialog.min_size = Vector2(600, 500) * scale + directory_dialog.dir_selected.connect(func(path): + var plugin_path: String = get_plugin_path() + + var is_dotnet: bool = DialogueSettings.has_dotnet_solution() + var balloon_path: String = path + ("/Balloon.tscn" if is_dotnet else "/balloon.tscn") + var balloon_script_path: String = path + ("/DialogueBalloon.cs" if is_dotnet else "/balloon.gd") + + # Copy the balloon scene file and change the script reference + var is_small_window: bool = ProjectSettings.get_setting("display/window/size/viewport_width") < 400 + var example_balloon_file_name: String = "small_example_balloon.tscn" if is_small_window else "example_balloon.tscn" + var example_balloon_script_file_name: String = "ExampleBalloon.cs" if is_dotnet else "example_balloon.gd" + var file: FileAccess = FileAccess.open(plugin_path + "/example_balloon/" + example_balloon_file_name, FileAccess.READ) + var file_contents: String = file.get_as_text().replace(plugin_path + "/example_balloon/example_balloon.gd", balloon_script_path) + file = FileAccess.open(balloon_path, FileAccess.WRITE) + file.store_string(file_contents) + file.close() + + # Copy the script file + file = FileAccess.open(plugin_path + "/example_balloon/" + example_balloon_script_file_name, FileAccess.READ) + file_contents = file.get_as_text() + if is_dotnet: + file_contents = file_contents.replace("class ExampleBalloon", "class DialogueBalloon") + file = FileAccess.open(balloon_script_path, FileAccess.WRITE) + file.store_string(file_contents) + file.close() + + get_editor_interface().get_resource_filesystem().scan() + get_editor_interface().get_file_system_dock().call_deferred("navigate_to_path", balloon_path) + + DialogueSettings.set_setting("balloon_path", balloon_path) + + directory_dialog.queue_free() + ) + get_editor_interface().get_base_control().add_child(directory_dialog) + directory_dialog.popup_centered() + + +### Signals + + +func _on_files_moved(old_file: String, new_file: String) -> void: + update_import_paths(old_file, new_file) + DialogueSettings.move_recent_file(old_file, new_file) + + +func _on_file_removed(file: String) -> void: + update_import_paths(file, "") + if is_instance_valid(main_view): + main_view.close_file(file) diff --git a/addons/dialogue_manager/settings.gd b/addons/dialogue_manager/settings.gd new file mode 100644 index 0000000..74d1c57 --- /dev/null +++ b/addons/dialogue_manager/settings.gd @@ -0,0 +1,181 @@ +@tool +extends Node + + +const DialogueConstants = preload("./constants.gd") + + +### Editor config + +const DEFAULT_SETTINGS = { + states = [], + missing_translations_are_errors = false, + export_characters_in_translation = true, + wrap_lines = false, + new_with_template = true, + include_all_responses = false, + ignore_missing_state_values = false, + custom_test_scene_path = preload("./test_scene.tscn").resource_path, + default_csv_locale = "en", + balloon_path = "", + create_lines_for_responses_with_characters = true, + include_character_in_translation_exports = false, + include_notes_in_translation_exports = false +} + + +static func prepare() -> void: + # Migrate previous keys + for key in [ + "states", + "missing_translations_are_errors", + "export_characters_in_translation", + "wrap_lines", + "new_with_template", + "include_all_responses", + "custom_test_scene_path" + ]: + if ProjectSettings.has_setting("dialogue_manager/%s" % key): + var value = ProjectSettings.get_setting("dialogue_manager/%s" % key) + ProjectSettings.set_setting("dialogue_manager/%s" % key, null) + set_setting(key, value) + + # Set up initial settings + for setting in DEFAULT_SETTINGS: + var setting_name: String = "dialogue_manager/general/%s" % setting + if not ProjectSettings.has_setting(setting_name): + set_setting(setting, DEFAULT_SETTINGS[setting]) + ProjectSettings.set_initial_value(setting_name, DEFAULT_SETTINGS[setting]) + if setting.ends_with("_path"): + ProjectSettings.add_property_info({ + "name": setting_name, + "type": TYPE_STRING, + "hint": PROPERTY_HINT_FILE, + }) + + ProjectSettings.save() + + +static func set_setting(key: String, value) -> void: + ProjectSettings.set_setting("dialogue_manager/general/%s" % key, value) + ProjectSettings.set_initial_value("dialogue_manager/general/%s" % key, DEFAULT_SETTINGS[key]) + ProjectSettings.save() + + +static func get_setting(key: String, default): + if ProjectSettings.has_setting("dialogue_manager/general/%s" % key): + return ProjectSettings.get_setting("dialogue_manager/general/%s" % key) + else: + return default + + +static func get_settings(only_keys: PackedStringArray = []) -> Dictionary: + var settings: Dictionary = {} + for key in DEFAULT_SETTINGS.keys(): + if only_keys.is_empty() or key in only_keys: + settings[key] = get_setting(key, DEFAULT_SETTINGS[key]) + return settings + + +### User config + + +static func get_user_config() -> Dictionary: + var user_config: Dictionary = { + just_refreshed = null, + recent_files = [], + carets = {}, + run_title = "", + run_resource_path = "", + is_running_test_scene = false, + has_dotnet_solution = false, + open_in_external_editor = false + } + + if FileAccess.file_exists(DialogueConstants.USER_CONFIG_PATH): + var file: FileAccess = FileAccess.open(DialogueConstants.USER_CONFIG_PATH, FileAccess.READ) + user_config.merge(JSON.parse_string(file.get_as_text()), true) + + return user_config + + +static func save_user_config(user_config: Dictionary) -> void: + var file: FileAccess = FileAccess.open(DialogueConstants.USER_CONFIG_PATH, FileAccess.WRITE) + file.store_string(JSON.stringify(user_config)) + + +static func set_user_value(key: String, value) -> void: + var user_config: Dictionary = get_user_config() + user_config[key] = value + save_user_config(user_config) + + +static func get_user_value(key: String, default = null): + return get_user_config().get(key, default) + + +static func add_recent_file(path: String) -> void: + var recent_files: Array = get_user_value("recent_files", []) + if path in recent_files: + recent_files.erase(path) + recent_files.insert(0, path) + set_user_value("recent_files", recent_files) + + +static func move_recent_file(from_path: String, to_path: String) -> void: + var recent_files: Array = get_user_value("recent_files", []) + for i in range(0, recent_files.size()): + if recent_files[i] == from_path: + recent_files[i] = to_path + set_user_value("recent_files", recent_files) + + +static func remove_recent_file(path: String) -> void: + var recent_files: Array = get_user_value("recent_files", []) + if path in recent_files: + recent_files.erase(path) + set_user_value("recent_files", recent_files) + + +static func get_recent_files() -> Array: + return get_user_value("recent_files", []) + + +static func clear_recent_files() -> void: + set_user_value("recent_files", []) + set_user_value("carets", {}) + + +static func set_caret(path: String, cursor: Vector2) -> void: + var carets: Dictionary = get_user_value("carets", {}) + carets[path] = { + x = cursor.x, + y = cursor.y + } + set_user_value("carets", carets) + + +static func get_caret(path: String) -> Vector2: + var carets = get_user_value("carets", {}) + if carets.has(path): + var caret = carets.get(path) + return Vector2(caret.x, caret.y) + else: + return Vector2.ZERO + + +static func has_dotnet_solution() -> bool: + if get_user_value("has_dotnet_solution", false): return true + + if ProjectSettings.has_setting("dotnet/project/solution_directory"): + var directory: String = ProjectSettings.get("dotnet/project/solution_directory") + var file_name: String = ProjectSettings.get("dotnet/project/assembly_name") + var has_dotnet_solution: bool = FileAccess.file_exists("res://%s/%s.sln" % [directory, file_name]) + set_user_value("has_dotnet_solution", has_dotnet_solution) + return has_dotnet_solution + else: + var plugin_path: String = new().get_script().resource_path.get_base_dir() + if not ResourceLoader.exists(plugin_path + "/DialogueManager.cs"): return false + if load(plugin_path + "/DialogueManager.cs") == null: return false + + return true diff --git a/addons/dialogue_manager/test_scene.gd b/addons/dialogue_manager/test_scene.gd new file mode 100644 index 0000000..5fc073e --- /dev/null +++ b/addons/dialogue_manager/test_scene.gd @@ -0,0 +1,31 @@ +class_name BaseDialogueTestScene extends Node2D + + +const DialogueSettings = preload("./settings.gd") + + +@onready var title: String = DialogueSettings.get_user_value("run_title") +@onready var resource: DialogueResource = load(DialogueSettings.get_user_value("run_resource_path")) + + +func _ready(): + var screen_index: int = DisplayServer.get_primary_screen() + DisplayServer.window_set_position(Vector2(DisplayServer.screen_get_position(screen_index)) + (DisplayServer.screen_get_size(screen_index) - DisplayServer.window_get_size()) * 0.5) + DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED) + + # Normally you can just call DialogueManager directly but doing so before the plugin has been + # enabled in settings will throw a compiler error here so I'm using get_singleton instead. + var dialogue_manager = Engine.get_singleton("DialogueManager") + dialogue_manager.dialogue_ended.connect(_on_dialogue_ended) + dialogue_manager.show_dialogue_balloon(resource, title) + + +func _enter_tree() -> void: + DialogueSettings.set_user_value("is_running_test_scene", false) + + +### Signals + + +func _on_dialogue_ended(_resource: DialogueResource): + get_tree().quit() diff --git a/addons/dialogue_manager/test_scene.tscn b/addons/dialogue_manager/test_scene.tscn new file mode 100644 index 0000000..f2bbd8d --- /dev/null +++ b/addons/dialogue_manager/test_scene.tscn @@ -0,0 +1,7 @@ +[gd_scene load_steps=2 format=3] + +[ext_resource type="Script" path="res://addons/dialogue_manager/test_scene.gd" id="1_yupoh"] + + +[node name="TestScene" type="Node2D"] +script = ExtResource("1_yupoh") diff --git a/addons/dialogue_manager/utilities/builtins.gd b/addons/dialogue_manager/utilities/builtins.gd new file mode 100644 index 0000000..8c1f960 --- /dev/null +++ b/addons/dialogue_manager/utilities/builtins.gd @@ -0,0 +1,458 @@ +extends Object + + +const DialogueConstants = preload("../constants.gd") + +const SUPPORTED_BUILTIN_TYPES = [ + TYPE_ARRAY, + TYPE_VECTOR2, + TYPE_VECTOR3, + TYPE_VECTOR4, + TYPE_DICTIONARY, + TYPE_QUATERNION, + TYPE_COLOR, + TYPE_SIGNAL +] + + +static func is_supported(thing) -> bool: + return typeof(thing) in SUPPORTED_BUILTIN_TYPES + + +static func resolve_property(builtin, property: String): + match typeof(builtin): + TYPE_ARRAY, TYPE_DICTIONARY, TYPE_QUATERNION: + return builtin[property] + + # Some types have constants that we need to manually resolve + + TYPE_VECTOR2: + return resolve_vector2_property(builtin, property) + TYPE_VECTOR3: + return resolve_vector3_property(builtin, property) + TYPE_VECTOR4: + return resolve_vector4_property(builtin, property) + TYPE_COLOR: + return resolve_color_property(builtin, property) + + +static func resolve_method(thing, method_name: String, args: Array): + # Resolve static methods manually + match typeof(thing): + TYPE_VECTOR2: + match method_name: + "from_angle": + return Vector2.from_angle(args[0]) + + TYPE_COLOR: + match method_name: + "from_hsv": + return Color.from_hsv(args[0], args[1], args[2]) if args.size() == 3 else Color.from_hsv(args[0], args[1], args[2], args[3]) + "from_ok_hsl": + return Color.from_ok_hsl(args[0], args[1], args[2]) if args.size() == 3 else Color.from_ok_hsl(args[0], args[1], args[2], args[3]) + "from_rgbe9995": + return Color.from_rgbe9995(args[0]) + "from_string": + return Color.from_string(args[0], args[1]) + + TYPE_QUATERNION: + match method_name: + "from_euler": + return Quaternion.from_euler(args[0]) + + # Anything else can be evaulatated automatically + var references: Array = ["thing"] + for i in range(0, args.size()): + references.append("arg%d" % i) + var expression = Expression.new() + if expression.parse("thing.%s(%s)" % [method_name, ",".join(references.slice(1))], references) != OK: + assert(false, expression.get_error_text()) + var result = expression.execute([thing] + args, null, false) + if expression.has_execute_failed(): + assert(false, expression.get_error_text()) + + return result + + +static func resolve_color_property(color: Color, property: String): + match property: + "ALICE_BLUE": + return Color.ALICE_BLUE + "ANTIQUE_WHITE": + return Color.ANTIQUE_WHITE + "AQUA": + return Color.AQUA + "AQUAMARINE": + return Color.AQUAMARINE + "AZURE": + return Color.AZURE + "BEIGE": + return Color.BEIGE + "BISQUE": + return Color.BISQUE + "BLACK": + return Color.BLACK + "BLANCHED_ALMOND": + return Color.BLANCHED_ALMOND + "BLUE": + return Color.BLUE + "BLUE_VIOLET": + return Color.BLUE_VIOLET + "BROWN": + return Color.BROWN + "BURLYWOOD": + return Color.BURLYWOOD + "CADET_BLUE": + return Color.CADET_BLUE + "CHARTREUSE": + return Color.CHARTREUSE + "CHOCOLATE": + return Color.CHOCOLATE + "CORAL": + return Color.CORAL + "CORNFLOWER_BLUE": + return Color.CORNFLOWER_BLUE + "CORNSILK": + return Color.CORNSILK + "CRIMSON": + return Color.CRIMSON + "CYAN": + return Color.CYAN + "DARK_BLUE": + return Color.DARK_BLUE + "DARK_CYAN": + return Color.DARK_CYAN + "DARK_GOLDENROD": + return Color.DARK_GOLDENROD + "DARK_GRAY": + return Color.DARK_GRAY + "DARK_GREEN": + return Color.DARK_GREEN + "DARK_KHAKI": + return Color.DARK_KHAKI + "DARK_MAGENTA": + return Color.DARK_MAGENTA + "DARK_OLIVE_GREEN": + return Color.DARK_OLIVE_GREEN + "DARK_ORANGE": + return Color.DARK_ORANGE + "DARK_ORCHID": + return Color.DARK_ORCHID + "DARK_RED": + return Color.DARK_RED + "DARK_SALMON": + return Color.DARK_SALMON + "DARK_SEA_GREEN": + return Color.DARK_SEA_GREEN + "DARK_SLATE_BLUE": + return Color.DARK_SLATE_BLUE + "DARK_SLATE_GRAY": + return Color.DARK_SLATE_GRAY + "DARK_TURQUOISE": + return Color.DARK_TURQUOISE + "DARK_VIOLET": + return Color.DARK_VIOLET + "DEEP_PINK": + return Color.DEEP_PINK + "DEEP_SKY_BLUE": + return Color.DEEP_SKY_BLUE + "DIM_GRAY": + return Color.DIM_GRAY + "DODGER_BLUE": + return Color.DODGER_BLUE + "FIREBRICK": + return Color.FIREBRICK + "FLORAL_WHITE": + return Color.FLORAL_WHITE + "FOREST_GREEN": + return Color.FOREST_GREEN + "FUCHSIA": + return Color.FUCHSIA + "GAINSBORO": + return Color.GAINSBORO + "GHOST_WHITE": + return Color.GHOST_WHITE + "GOLD": + return Color.GOLD + "GOLDENROD": + return Color.GOLDENROD + "GRAY": + return Color.GRAY + "GREEN": + return Color.GREEN + "GREEN_YELLOW": + return Color.GREEN_YELLOW + "HONEYDEW": + return Color.HONEYDEW + "HOT_PINK": + return Color.HOT_PINK + "INDIAN_RED": + return Color.INDIAN_RED + "INDIGO": + return Color.INDIGO + "IVORY": + return Color.IVORY + "KHAKI": + return Color.KHAKI + "LAVENDER": + return Color.LAVENDER + "LAVENDER_BLUSH": + return Color.LAVENDER_BLUSH + "LAWN_GREEN": + return Color.LAWN_GREEN + "LEMON_CHIFFON": + return Color.LEMON_CHIFFON + "LIGHT_BLUE": + return Color.LIGHT_BLUE + "LIGHT_CORAL": + return Color.LIGHT_CORAL + "LIGHT_CYAN": + return Color.LIGHT_CYAN + "LIGHT_GOLDENROD": + return Color.LIGHT_GOLDENROD + "LIGHT_GRAY": + return Color.LIGHT_GRAY + "LIGHT_GREEN": + return Color.LIGHT_GREEN + "LIGHT_PINK": + return Color.LIGHT_PINK + "LIGHT_SALMON": + return Color.LIGHT_SALMON + "LIGHT_SEA_GREEN": + return Color.LIGHT_SEA_GREEN + "LIGHT_SKY_BLUE": + return Color.LIGHT_SKY_BLUE + "LIGHT_SLATE_GRAY": + return Color.LIGHT_SLATE_GRAY + "LIGHT_STEEL_BLUE": + return Color.LIGHT_STEEL_BLUE + "LIGHT_YELLOW": + return Color.LIGHT_YELLOW + "LIME": + return Color.LIME + "LIME_GREEN": + return Color.LIME_GREEN + "LINEN": + return Color.LINEN + "MAGENTA": + return Color.MAGENTA + "MAROON": + return Color.MAROON + "MEDIUM_AQUAMARINE": + return Color.MEDIUM_AQUAMARINE + "MEDIUM_BLUE": + return Color.MEDIUM_BLUE + "MEDIUM_ORCHID": + return Color.MEDIUM_ORCHID + "MEDIUM_PURPLE": + return Color.MEDIUM_PURPLE + "MEDIUM_SEA_GREEN": + return Color.MEDIUM_SEA_GREEN + "MEDIUM_SLATE_BLUE": + return Color.MEDIUM_SLATE_BLUE + "MEDIUM_SPRING_GREEN": + return Color.MEDIUM_SPRING_GREEN + "MEDIUM_TURQUOISE": + return Color.MEDIUM_TURQUOISE + "MEDIUM_VIOLET_RED": + return Color.MEDIUM_VIOLET_RED + "MIDNIGHT_BLUE": + return Color.MIDNIGHT_BLUE + "MINT_CREAM": + return Color.MINT_CREAM + "MISTY_ROSE": + return Color.MISTY_ROSE + "MOCCASIN": + return Color.MOCCASIN + "NAVAJO_WHITE": + return Color.NAVAJO_WHITE + "NAVY_BLUE": + return Color.NAVY_BLUE + "OLD_LACE": + return Color.OLD_LACE + "OLIVE": + return Color.OLIVE + "OLIVE_DRAB": + return Color.OLIVE_DRAB + "ORANGE": + return Color.ORANGE + "ORANGE_RED": + return Color.ORANGE_RED + "ORCHID": + return Color.ORCHID + "PALE_GOLDENROD": + return Color.PALE_GOLDENROD + "PALE_GREEN": + return Color.PALE_GREEN + "PALE_TURQUOISE": + return Color.PALE_TURQUOISE + "PALE_VIOLET_RED": + return Color.PALE_VIOLET_RED + "PAPAYA_WHIP": + return Color.PAPAYA_WHIP + "PEACH_PUFF": + return Color.PEACH_PUFF + "PERU": + return Color.PERU + "PINK": + return Color.PINK + "PLUM": + return Color.PLUM + "POWDER_BLUE": + return Color.POWDER_BLUE + "PURPLE": + return Color.PURPLE + "REBECCA_PURPLE": + return Color.REBECCA_PURPLE + "RED": + return Color.RED + "ROSY_BROWN": + return Color.ROSY_BROWN + "ROYAL_BLUE": + return Color.ROYAL_BLUE + "SADDLE_BROWN": + return Color.SADDLE_BROWN + "SALMON": + return Color.SALMON + "SANDY_BROWN": + return Color.SANDY_BROWN + "SEA_GREEN": + return Color.SEA_GREEN + "SEASHELL": + return Color.SEASHELL + "SIENNA": + return Color.SIENNA + "SILVER": + return Color.SILVER + "SKY_BLUE": + return Color.SKY_BLUE + "SLATE_BLUE": + return Color.SLATE_BLUE + "SLATE_GRAY": + return Color.SLATE_GRAY + "SNOW": + return Color.SNOW + "SPRING_GREEN": + return Color.SPRING_GREEN + "STEEL_BLUE": + return Color.STEEL_BLUE + "TAN": + return Color.TAN + "TEAL": + return Color.TEAL + "THISTLE": + return Color.THISTLE + "TOMATO": + return Color.TOMATO + "TRANSPARENT": + return Color.TRANSPARENT + "TURQUOISE": + return Color.TURQUOISE + "VIOLET": + return Color.VIOLET + "WEB_GRAY": + return Color.WEB_GRAY + "WEB_GREEN": + return Color.WEB_GREEN + "WEB_MAROON": + return Color.WEB_MAROON + "WEB_PURPLE": + return Color.WEB_PURPLE + "WHEAT": + return Color.WHEAT + "WHITE": + return Color.WHITE + "WHITE_SMOKE": + return Color.WHITE_SMOKE + "YELLOW": + return Color.YELLOW + "YELLOW_GREEN": + return Color.YELLOW_GREEN + + return color[property] + + +static func resolve_vector2_property(vector: Vector2, property: String): + match property: + "AXIS_X": + return Vector2.AXIS_X + "AXIS_Y": + return Vector2.AXIS_Y + "ZERO": + return Vector2.ZERO + "ONE": + return Vector2.ONE + "INF": + return Vector2.INF + "LEFT": + return Vector2.LEFT + "RIGHT": + return Vector2.RIGHT + "UP": + return Vector2.UP + "DOWN": + return Vector2.DOWN + + return vector[property] + + +static func resolve_vector3_property(vector: Vector3, property: String): + match property: + "AXIS_X": + return Vector3.AXIS_X + "AXIS_Y": + return Vector3.AXIS_Y + "AXIS_Z": + return Vector3.AXIS_Z + "ZERO": + return Vector3.ZERO + "ONE": + return Vector3.ONE + "INF": + return Vector3.INF + "LEFT": + return Vector3.LEFT + "RIGHT": + return Vector3.RIGHT + "UP": + return Vector3.UP + "DOWN": + return Vector3.DOWN + "FORWARD": + return Vector3.FORWARD + "BACK": + return Vector3.BACK + "MODEL_LEFT": + return Vector3.MODEL_LEFT + "MODEL_RIGHT": + return Vector3.MODEL_RIGHT + "MODEL_TOP": + return Vector3.MODEL_TOP + "MODEL_BOTTOM": + return Vector3.MODEL_BOTTOM + "MODEL_FRONT": + return Vector3.MODEL_FRONT + "MODEL_REAR": + return Vector3.MODEL_REAR + + return vector[property] + + +static func resolve_vector4_property(vector: Vector4, property: String): + match property: + "AXIS_X": + return Vector4.AXIS_X + "AXIS_Y": + return Vector4.AXIS_Y + "AXIS_Z": + return Vector4.AXIS_Z + "AXIS_W": + return Vector4.AXIS_W + "ZERO": + return Vector4.ZERO + "ONE": + return Vector4.ONE + "INF": + return Vector4.INF + + return vector[property] diff --git a/addons/dialogue_manager/views/main_view.gd b/addons/dialogue_manager/views/main_view.gd new file mode 100644 index 0000000..fb85b06 --- /dev/null +++ b/addons/dialogue_manager/views/main_view.gd @@ -0,0 +1,1062 @@ +@tool +extends Control + + +const DialogueConstants = preload("../constants.gd") +const DialogueSettings = preload("../settings.gd") + +const OPEN_OPEN = 100 +const OPEN_CLEAR = 101 + +const TRANSLATIONS_GENERATE_LINE_IDS = 100 +const TRANSLATIONS_SAVE_CHARACTERS_TO_CSV = 201 +const TRANSLATIONS_SAVE_TO_CSV = 202 +const TRANSLATIONS_IMPORT_FROM_CSV = 203 + +const ITEM_SAVE = 100 +const ITEM_SAVE_AS = 101 +const ITEM_CLOSE = 102 +const ITEM_CLOSE_ALL = 103 +const ITEM_CLOSE_OTHERS = 104 +const ITEM_COPY_PATH = 200 +const ITEM_SHOW_IN_FILESYSTEM = 201 + +enum TranslationSource { + CharacterNames, + Lines +} + + +@onready var parse_timer := $ParseTimer + +# Dialogs +@onready var new_dialog: FileDialog = $NewDialog +@onready var save_dialog: FileDialog = $SaveDialog +@onready var open_dialog: FileDialog = $OpenDialog +@onready var export_dialog: FileDialog = $ExportDialog +@onready var import_dialog: FileDialog = $ImportDialog +@onready var errors_dialog: AcceptDialog = $ErrorsDialog +@onready var settings_dialog: AcceptDialog = $SettingsDialog +@onready var settings_view := $SettingsDialog/SettingsView +@onready var build_error_dialog: AcceptDialog = $BuildErrorDialog +@onready var close_confirmation_dialog: ConfirmationDialog = $CloseConfirmationDialog +@onready var updated_dialog: AcceptDialog = $UpdatedDialog + +# Toolbar +@onready var new_button: Button = %NewButton +@onready var open_button: MenuButton = %OpenButton +@onready var save_all_button: Button = %SaveAllButton +@onready var test_button: Button = %TestButton +@onready var search_button: Button = %SearchButton +@onready var insert_button: MenuButton = %InsertButton +@onready var translations_button: MenuButton = %TranslationsButton +@onready var settings_button: Button = %SettingsButton +@onready var support_button: Button = %SupportButton +@onready var docs_button: Button = %DocsButton +@onready var version_label: Label = %VersionLabel +@onready var update_button: Button = %UpdateButton + +@onready var search_and_replace := %SearchAndReplace + +# Code editor +@onready var content: HSplitContainer = %Content +@onready var files_list := %FilesList +@onready var files_popup_menu: PopupMenu = %FilesPopupMenu +@onready var title_list := %TitleList +@onready var code_edit := %CodeEdit +@onready var errors_panel := %ErrorsPanel + +# The Dialogue Manager plugin +var editor_plugin: EditorPlugin + +# The currently open file +var current_file_path: String = "": + set(next_current_file_path): + current_file_path = next_current_file_path + files_list.current_file_path = current_file_path + if current_file_path == "": + save_all_button.disabled = true + test_button.disabled = true + search_button.disabled = true + insert_button.disabled = true + translations_button.disabled = true + content.dragger_visibility = SplitContainer.DRAGGER_HIDDEN + files_list.hide() + title_list.hide() + code_edit.hide() + errors_panel.hide() + else: + test_button.disabled = false + search_button.disabled = false + insert_button.disabled = false + translations_button.disabled = false + content.dragger_visibility = SplitContainer.DRAGGER_VISIBLE + files_list.show() + title_list.show() + code_edit.show() + + code_edit.text = open_buffers[current_file_path].text + code_edit.errors = [] + code_edit.clear_undo_history() + code_edit.set_cursor(DialogueSettings.get_caret(current_file_path)) + code_edit.grab_focus() + + _on_code_edit_text_changed() + + errors_panel.errors = [] + code_edit.errors = [] + get: + return current_file_path + +# A reference to the currently open files and their last saved text +var open_buffers: Dictionary = {} + +# Which thing are we exporting translations for? +var translation_source: TranslationSource = TranslationSource.Lines + + +func _ready() -> void: + apply_theme() + + # Start with nothing open + self.current_file_path = "" + + # Set up the update checker + version_label.text = "v%s" % editor_plugin.get_version() + update_button.editor_plugin = editor_plugin + update_button.on_before_refresh = func on_before_refresh(): + # Save everything + DialogueSettings.set_user_value("just_refreshed", { + current_file_path = current_file_path, + open_buffers = open_buffers + }) + return true + + # Did we just load from an addon version refresh? + var just_refreshed = DialogueSettings.get_user_value("just_refreshed", null) + if just_refreshed != null: + DialogueSettings.set_user_value("just_refreshed", null) + call_deferred("load_from_version_refresh", just_refreshed) + + # Hook up the search toolbar + search_and_replace.code_edit = code_edit + + # Connect menu buttons + insert_button.get_popup().id_pressed.connect(_on_insert_button_menu_id_pressed) + translations_button.get_popup().id_pressed.connect(_on_translations_button_menu_id_pressed) + + code_edit.main_view = self + code_edit.wrap_mode = TextEdit.LINE_WRAPPING_BOUNDARY if DialogueSettings.get_setting("wrap_lines", false) else TextEdit.LINE_WRAPPING_NONE + var editor_settings: EditorSettings = editor_plugin.get_editor_interface().get_editor_settings() + editor_settings.settings_changed.connect(_on_editor_settings_changed) + _on_editor_settings_changed() + + save_all_button.disabled = true + + close_confirmation_dialog.ok_button_text = DialogueConstants.translate("confirm_close.save") + close_confirmation_dialog.add_button(DialogueConstants.translate("confirm_close.discard"), true, "discard") + + settings_view.editor_plugin = editor_plugin + + errors_dialog.dialog_text = DialogueConstants.translate("errors_in_script") + + +func _unhandled_input(event: InputEvent) -> void: + if not visible: return + + if event is InputEventKey and event.is_pressed(): + match event.as_text(): + "Ctrl+Alt+S", "Command+Alt+S": + get_viewport().set_input_as_handled() + save_file(current_file_path) + "Ctrl+W", "Command+W": + get_viewport().set_input_as_handled() + close_file(current_file_path) + "Ctrl+F5", "Command+F5": + get_viewport().set_input_as_handled() + _on_test_button_pressed() + + +func apply_changes() -> void: + save_files() + + +# Load back to the previous buffer regardless of if it was actually saved +func load_from_version_refresh(just_refreshed: Dictionary) -> void: + if just_refreshed.has("current_file_content"): + # We just loaded from a version before multiple buffers + var file: FileAccess = FileAccess.open(just_refreshed.current_file_path, FileAccess.READ) + var file_text: String = file.get_as_text() + open_buffers[just_refreshed.current_file_path] = { + pristine_text = file_text, + text = just_refreshed.current_file_content + } + else: + open_buffers = just_refreshed.open_buffers + + if just_refreshed.current_file_path != "": + editor_plugin.get_editor_interface().edit_resource(load(just_refreshed.current_file_path)) + else: + editor_plugin.get_editor_interface().set_main_screen_editor("Dialogue") + + updated_dialog.dialog_text = DialogueConstants.translate("update.success").format({ version = update_button.get_version() }) + updated_dialog.popup_centered() + + +func new_file(path: String, content: String = "") -> void: + if open_buffers.has(path): + remove_file_from_open_buffers(path) + + var file: FileAccess = FileAccess.open(path, FileAccess.WRITE) + if content == "": + if DialogueSettings.get_setting("new_with_template", true): + file.store_string("\n".join([ + "~ this_is_a_node_title", + "", + "Nathan: [[Hi|Hello|Howdy]], this is some dialogue.", + "Nathan: Here are some choices.", + "- First one", + "\tNathan: You picked the first one.", + "- Second one", + "\tNathan: You picked the second one.", + "- Start again => this_is_a_node_title", + "- End the conversation => END", + "Nathan: For more information see the online documentation.", + "", + "=> END" + ])) + else: + file.store_string(content) + + editor_plugin.get_editor_interface().get_resource_filesystem().scan() + + +# Open a dialogue resource for editing +func open_resource(resource: DialogueResource) -> void: + open_file(resource.resource_path) + + +func open_file(path: String) -> void: + if not open_buffers.has(path): + var file: FileAccess = FileAccess.open(path, FileAccess.READ) + var text = file.get_as_text() + + open_buffers[path] = { + cursor = Vector2.ZERO, + text = text, + pristine_text = text + } + + DialogueSettings.add_recent_file(path) + build_open_menu() + + files_list.files = open_buffers.keys() + files_list.select_file(path) + + self.current_file_path = path + + +func show_file_in_filesystem(path: String) -> void: + var file_system_dock: FileSystemDock = Engine.get_meta("DialogueManagerPlugin") \ + .get_editor_interface() \ + .get_file_system_dock() + + file_system_dock.navigate_to_path(path) + + +# Save any open files +func save_files() -> void: + save_all_button.disabled = true + + var saved_files: PackedStringArray = [] + for path in open_buffers: + if open_buffers[path].text != open_buffers[path].pristine_text: + saved_files.append(path) + save_file(path, false) + + if saved_files.size() > 0: + Engine.get_meta("DialogueCache").reimport_files(saved_files) + + +# Save a file +func save_file(path: String, rescan_file_system: bool = true) -> void: + var buffer = open_buffers[path] + + files_list.mark_file_as_unsaved(path, false) + save_all_button.disabled = files_list.unsaved_files.size() == 0 + + # Don't bother saving if there is nothing to save + if buffer.text == buffer.pristine_text: + return + + buffer.pristine_text = buffer.text + + # Save the current text + var file: FileAccess = FileAccess.open(path, FileAccess.WRITE) + file.store_string(buffer.text) + file.close() + + if rescan_file_system: + Engine.get_meta("DialogueManagerPlugin") \ + .get_editor_interface() \ + .get_resource_filesystem()\ + .scan() + + +func close_file(file: String) -> void: + if not file in open_buffers.keys(): return + + var buffer = open_buffers[file] + + if buffer.text == buffer.pristine_text: + remove_file_from_open_buffers(file) + else: + close_confirmation_dialog.dialog_text = DialogueConstants.translate("confirm_close").format({ path = file.get_file() }) + close_confirmation_dialog.popup_centered() + + +func remove_file_from_open_buffers(file: String) -> void: + if not file in open_buffers.keys(): return + + var current_index = open_buffers.keys().find(file) + + open_buffers.erase(file) + if open_buffers.size() == 0: + self.current_file_path = "" + else: + current_index = clamp(current_index, 0, open_buffers.size() - 1) + self.current_file_path = open_buffers.keys()[current_index] + files_list.files = open_buffers.keys() + + +# Apply theme colors and icons to the UI +func apply_theme() -> void: + if is_instance_valid(editor_plugin) and is_instance_valid(code_edit): + var scale: float = editor_plugin.get_editor_interface().get_editor_scale() + var editor_settings = editor_plugin.get_editor_interface().get_editor_settings() + code_edit.theme_overrides = { + scale = scale, + + background_color = editor_settings.get_setting("text_editor/theme/highlighting/background_color"), + current_line_color = editor_settings.get_setting("text_editor/theme/highlighting/current_line_color"), + error_line_color = editor_settings.get_setting("text_editor/theme/highlighting/mark_color"), + + titles_color = editor_settings.get_setting("text_editor/theme/highlighting/control_flow_keyword_color"), + text_color = editor_settings.get_setting("text_editor/theme/highlighting/text_color"), + conditions_color = editor_settings.get_setting("text_editor/theme/highlighting/keyword_color"), + mutations_color = editor_settings.get_setting("text_editor/theme/highlighting/function_color"), + members_color = editor_settings.get_setting("text_editor/theme/highlighting/member_variable_color"), + strings_color = editor_settings.get_setting("text_editor/theme/highlighting/string_color"), + numbers_color = editor_settings.get_setting("text_editor/theme/highlighting/number_color"), + symbols_color = editor_settings.get_setting("text_editor/theme/highlighting/symbol_color"), + comments_color = editor_settings.get_setting("text_editor/theme/highlighting/comment_color"), + jumps_color = Color(editor_settings.get_setting("text_editor/theme/highlighting/control_flow_keyword_color"), 0.7), + + font_size = editor_settings.get_setting("interface/editor/code_font_size") + } + + new_button.icon = get_theme_icon("New", "EditorIcons") + new_button.tooltip_text = DialogueConstants.translate("start_a_new_file") + + open_button.icon = get_theme_icon("Load", "EditorIcons") + open_button.tooltip_text = DialogueConstants.translate("open_a_file") + + save_all_button.icon = get_theme_icon("Save", "EditorIcons") + save_all_button.tooltip_text = DialogueConstants.translate("start_all_files") + + test_button.icon = get_theme_icon("PlayScene", "EditorIcons") + test_button.tooltip_text = DialogueConstants.translate("test_dialogue") + + search_button.icon = get_theme_icon("Search", "EditorIcons") + search_button.tooltip_text = DialogueConstants.translate("search_for_text") + + insert_button.icon = get_theme_icon("RichTextEffect", "EditorIcons") + insert_button.text = DialogueConstants.translate("insert") + + translations_button.icon = get_theme_icon("Translation", "EditorIcons") + translations_button.text = DialogueConstants.translate("translations") + + settings_button.icon = get_theme_icon("Tools", "EditorIcons") + settings_button.tooltip_text = DialogueConstants.translate("settings") + + support_button.icon = get_theme_icon("Heart", "EditorIcons") + support_button.tooltip_text = DialogueConstants.translate("show_support") + + docs_button.icon = get_theme_icon("Help", "EditorIcons") + docs_button.text = DialogueConstants.translate("docs") + + update_button.apply_theme() + + # Set up the effect menu + var popup: PopupMenu = insert_button.get_popup() + popup.clear() + popup.add_icon_item(get_theme_icon("RichTextEffect", "EditorIcons"), DialogueConstants.translate("insert.wave_bbcode"), 0) + popup.add_icon_item(get_theme_icon("RichTextEffect", "EditorIcons"), DialogueConstants.translate("insert.shake_bbcode"), 1) + popup.add_separator() + popup.add_icon_item(get_theme_icon("Time", "EditorIcons"), DialogueConstants.translate("insert.typing_pause"), 3) + popup.add_icon_item(get_theme_icon("ViewportSpeed", "EditorIcons"), DialogueConstants.translate("insert.typing_speed_change"), 4) + popup.add_icon_item(get_theme_icon("DebugNext", "EditorIcons"), DialogueConstants.translate("insert.auto_advance"), 5) + popup.add_separator(DialogueConstants.translate("insert.templates")) + popup.add_icon_item(get_theme_icon("RichTextEffect", "EditorIcons"), DialogueConstants.translate("insert.title"), 6) + popup.add_icon_item(get_theme_icon("RichTextEffect", "EditorIcons"), DialogueConstants.translate("insert.dialogue"), 7) + popup.add_icon_item(get_theme_icon("RichTextEffect", "EditorIcons"), DialogueConstants.translate("insert.response"), 8) + popup.add_icon_item(get_theme_icon("RichTextEffect", "EditorIcons"), DialogueConstants.translate("insert.random_lines"), 9) + popup.add_icon_item(get_theme_icon("RichTextEffect", "EditorIcons"), DialogueConstants.translate("insert.random_text"), 10) + popup.add_separator(DialogueConstants.translate("insert.actions")) + popup.add_icon_item(get_theme_icon("RichTextEffect", "EditorIcons"), DialogueConstants.translate("insert.jump"), 11) + popup.add_icon_item(get_theme_icon("RichTextEffect", "EditorIcons"), DialogueConstants.translate("insert.end_dialogue"), 12) + + # Set up the translations menu + popup = translations_button.get_popup() + popup.clear() + popup.add_icon_item(get_theme_icon("Translation", "EditorIcons"), DialogueConstants.translate("generate_line_ids"), TRANSLATIONS_GENERATE_LINE_IDS) + popup.add_separator() + popup.add_icon_item(get_theme_icon("FileList", "EditorIcons"), DialogueConstants.translate("save_characters_to_csv"), TRANSLATIONS_SAVE_CHARACTERS_TO_CSV) + popup.add_icon_item(get_theme_icon("FileList", "EditorIcons"), DialogueConstants.translate("save_to_csv"), TRANSLATIONS_SAVE_TO_CSV) + popup.add_icon_item(get_theme_icon("AssetLib", "EditorIcons"), DialogueConstants.translate("import_from_csv"), TRANSLATIONS_IMPORT_FROM_CSV) + + # Dialog sizes + new_dialog.min_size = Vector2(600, 500) * scale + save_dialog.min_size = Vector2(600, 500) * scale + open_dialog.min_size = Vector2(600, 500) * scale + export_dialog.min_size = Vector2(600, 500) * scale + export_dialog.min_size = Vector2(600, 500) * scale + settings_dialog.min_size = Vector2(1000, 600) * scale + settings_dialog.max_size = Vector2(1000, 600) * scale + + +### Helpers + + +# Refresh the open menu with the latest files +func build_open_menu() -> void: + var menu = open_button.get_popup() + menu.clear() + menu.add_icon_item(get_theme_icon("Load", "EditorIcons"), DialogueConstants.translate("open.open"), OPEN_OPEN) + menu.add_separator() + + var recent_files = DialogueSettings.get_recent_files() + if recent_files.size() == 0: + menu.add_item(DialogueConstants.translate("open.no_recent_files")) + menu.set_item_disabled(2, true) + else: + for path in recent_files: + if FileAccess.file_exists(path): + menu.add_icon_item(get_theme_icon("File", "EditorIcons"), path) + + menu.add_separator() + menu.add_item(DialogueConstants.translate("open.clear_recent_files"), OPEN_CLEAR) + if menu.id_pressed.is_connected(_on_open_menu_id_pressed): + menu.id_pressed.disconnect(_on_open_menu_id_pressed) + menu.id_pressed.connect(_on_open_menu_id_pressed) + + +# Get the last place a CSV, etc was exported +func get_last_export_path(extension: String) -> String: + var filename = current_file_path.get_file().replace(".dialogue", "." + extension) + return DialogueSettings.get_user_value("last_export_path", current_file_path.get_base_dir()) + "/" + filename + + +# Check the current text for errors +func parse() -> void: + # Skip if nothing to parse + if current_file_path == "": return + + var parser = DialogueManagerParser.new() + var errors: Array[Dictionary] = [] + if parser.parse(code_edit.text, current_file_path) != OK: + errors = parser.get_errors() + code_edit.errors = errors + errors_panel.errors = errors + parser.free() + + +func show_build_error_dialog() -> void: + build_error_dialog.dialog_text = DialogueConstants.translate("errors_with_build") + build_error_dialog.popup_centered() + + +# Generate translation line IDs for any line that doesn't already have one +func generate_translations_keys() -> void: + randomize() + seed(Time.get_unix_time_from_system()) + + var parser = DialogueManagerParser.new() + + var cursor: Vector2 = code_edit.get_cursor() + var lines: PackedStringArray = code_edit.text.split("\n") + + var key_regex = RegEx.new() + key_regex.compile("\\[ID:(?<key>.*?)\\]") + + # Make list of known keys + var known_keys = {} + for i in range(0, lines.size()): + var line = lines[i] + var found = key_regex.search(line) + if found: + var text = "" + var l = line.replace(found.strings[0], "").strip_edges().strip_edges() + if l.begins_with("- "): + text = parser.extract_response_prompt(l) + elif ":" in l: + text = l.split(":")[1] + else: + text = l + known_keys[found.strings[found.names.get("key")]] = text + + # Add in any that are missing + for i in lines.size(): + var line = lines[i] + var l = line.strip_edges() + + if parser.is_line_empty(l): continue + if parser.is_condition_line(l, true): continue + if parser.is_title_line(l): continue + if parser.is_mutation_line(l): continue + if parser.is_goto_line(l): continue + if parser.is_import_line(l): continue + + if "[ID:" in line: continue + + var key = "t" + str(randi() % 1000000).sha1_text().substr(0, 10) + while key in known_keys: + key = "t" + str(randi() % 1000000).sha1_text().substr(0, 10) + + var text = "" + if l.begins_with("- "): + text = parser.extract_response_prompt(l) + else: + text = l.substr(l.find(":") + 1) + + lines[i] = line.replace(text, text + " [ID:%s]" % key) + known_keys[key] = text + + code_edit.text = "\n".join(lines) + code_edit.set_cursor(cursor) + _on_code_edit_text_changed() + + parser.free() + + +# Add a translation file to the project settings +func add_path_to_project_translations(path: String) -> void: + var translations: PackedStringArray = ProjectSettings.get_setting("internationalization/locale/translations") + if not path in translations: + translations.append(path) + ProjectSettings.save() + + +# Export dialogue and responses to CSV +func export_translations_to_csv(path: String) -> void: + var default_locale: String = DialogueSettings.get_setting("default_csv_locale", "en") + + var file: FileAccess + + # If the file exists, open it first and work out which keys are already in it + var existing_csv: Dictionary = {} + var column_count: int = 2 + var default_locale_column: int = 1 + var character_column: int = -1 + var notes_column: int = -1 + if FileAccess.file_exists(path): + file = FileAccess.open(path, FileAccess.READ) + var is_first_line = true + var line: Array + while !file.eof_reached(): + line = file.get_csv_line() + if is_first_line: + is_first_line = false + column_count = line.size() + for i in range(1, line.size()): + if line[i] == default_locale: + default_locale_column = i + elif line[i] == "_character": + character_column = i + elif line[i] == "_notes": + notes_column = i + + # Make sure the line isn't empty before adding it + if line.size() > 0 and line[0].strip_edges() != "": + existing_csv[line[0]] = line + + # The character column wasn't found in the existing file but the setting is turned on + if character_column == -1 and DialogueSettings.get_setting("include_character_in_translation_exports", false): + character_column = column_count + column_count += 1 + existing_csv["keys"].append("_character") + + # The notes column wasn't found in the existing file but the setting is turned on + if notes_column == -1 and DialogueSettings.get_setting("include_notes_in_translation_exports", false): + notes_column = column_count + column_count += 1 + existing_csv["keys"].append("_notes") + + # Start a new file + file = FileAccess.open(path, FileAccess.WRITE) + + if not FileAccess.file_exists(path): + var headings: PackedStringArray = ["keys", default_locale] + if DialogueSettings.get_setting("include_character_in_translation_exports", false): + character_column = headings.size() + headings.append("_character") + if DialogueSettings.get_setting("include_notes_in_translation_exports", false): + notes_column = headings.size() + headings.append("_notes") + file.store_csv_line(headings) + + # Write our translations to file + var known_keys: PackedStringArray = [] + + var dialogue: Dictionary = DialogueManagerParser.parse_string(code_edit.text, current_file_path).lines + + # Make a list of stuff that needs to go into the file + var lines_to_save = [] + for key in dialogue.keys(): + var line: Dictionary = dialogue.get(key) + + if not line.type in [DialogueConstants.TYPE_DIALOGUE, DialogueConstants.TYPE_RESPONSE]: continue + if line.translation_key in known_keys: continue + + known_keys.append(line.translation_key) + + var line_to_save: PackedStringArray = [] + if existing_csv.has(line.translation_key): + line_to_save = existing_csv.get(line.translation_key) + line_to_save.resize(column_count) + existing_csv.erase(line.translation_key) + else: + line_to_save.resize(column_count) + line_to_save[0] = line.translation_key + + line_to_save[default_locale_column] = line.text + if character_column > -1: + line_to_save[character_column] = "(response)" if line.type == DialogueConstants.TYPE_RESPONSE else line.character + if notes_column > -1: + line_to_save[notes_column] = line.notes + + lines_to_save.append(line_to_save) + + # Store lines in the file, starting with anything that already exists that hasn't been touched + for line in existing_csv.values(): + file.store_csv_line(line) + for line in lines_to_save: + file.store_csv_line(line) + + file.close() + + editor_plugin.get_editor_interface().get_resource_filesystem().scan() + editor_plugin.get_editor_interface().get_file_system_dock().call_deferred("navigate_to_path", path) + + # Add it to the project l10n settings if it's not already there + var language_code: RegExMatch = RegEx.create_from_string("^[a-z]{2,3}").search(default_locale) + var translation_path: String = path.replace(".csv", ".%s.translation" % language_code.get_string()) + call_deferred("add_path_to_project_translations", translation_path) + + +func export_character_names_to_csv(path: String) -> void: + var file: FileAccess + + # If the file exists, open it first and work out which keys are already in it + var existing_csv = {} + var commas = [] + if FileAccess.file_exists(path): + file = FileAccess.open(path, FileAccess.READ) + var is_first_line = true + var line: Array + while !file.eof_reached(): + line = file.get_csv_line() + if is_first_line: + is_first_line = false + for i in range(2, line.size()): + commas.append("") + # Make sure the line isn't empty before adding it + if line.size() > 0 and line[0].strip_edges() != "": + existing_csv[line[0]] = line + + # Start a new file + file = FileAccess.open(path, FileAccess.WRITE) + + if not file.file_exists(path): + file.store_csv_line(["keys", DialogueSettings.get_setting("default_csv_locale", "en")]) + + # Write our translations to file + var known_keys: PackedStringArray = [] + + var character_names: PackedStringArray = DialogueManagerParser.parse_string(code_edit.text, current_file_path).character_names + + # Make a list of stuff that needs to go into the file + var lines_to_save = [] + for character_name in character_names: + if character_name in known_keys: continue + + known_keys.append(character_name) + + if existing_csv.has(character_name): + var existing_line = existing_csv.get(character_name) + existing_line[1] = character_name + lines_to_save.append(existing_line) + existing_csv.erase(character_name) + else: + lines_to_save.append(PackedStringArray([character_name, character_name] + commas)) + + # Store lines in the file, starting with anything that already exists that hasn't been touched + for line in existing_csv.values(): + file.store_csv_line(line) + for line in lines_to_save: + file.store_csv_line(line) + + file.close() + + editor_plugin.get_editor_interface().get_resource_filesystem().scan() + editor_plugin.get_editor_interface().get_file_system_dock().call_deferred("navigate_to_path", path) + + # Add it to the project l10n settings if it's not already there + var translation_path: String = path.replace(".csv", ".en.translation") + call_deferred("add_path_to_project_translations", translation_path) + + +# Import changes back from an exported CSV by matching translation keys +func import_translations_from_csv(path: String) -> void: + var cursor: Vector2 = code_edit.get_cursor() + + if not FileAccess.file_exists(path): return + + # Open the CSV file and build a dictionary of the known keys + var keys: Dictionary = {} + var file: FileAccess = FileAccess.open(path, FileAccess.READ) + var csv_line: Array + while !file.eof_reached(): + csv_line = file.get_csv_line() + if csv_line.size() > 1: + keys[csv_line[0]] = csv_line[1] + + var parser: DialogueManagerParser = DialogueManagerParser.new() + + # Now look over each line in the dialogue and replace the content for matched keys + var lines: PackedStringArray = code_edit.text.split("\n") + var start_index: int = 0 + var end_index: int = 0 + for i in range(0, lines.size()): + var line: String = lines[i] + var translation_key: String = parser.extract_translation(line) + if keys.has(translation_key): + if parser.is_dialogue_line(line): + start_index = 0 + # See if we need to skip over a character name + line = line.replace("\\:", "!ESCAPED_COLON!") + if ": " in line: + start_index = line.find(": ") + 2 + lines[i] = (line.substr(0, start_index) + keys.get(translation_key) + " [ID:" + translation_key + "]").replace("!ESCAPED_COLON!", ":") + + elif parser.is_response_line(line): + start_index = line.find("- ") + 2 + # See if we need to skip over a character name + line = line.replace("\\:", "!ESCAPED_COLON!") + if ": " in line: + start_index = line.find(": ") + 2 + end_index = line.length() + if " =>" in line: + end_index = line.find(" =>") + if " [if " in line: + end_index = line.find(" [if ") + lines[i] = (line.substr(0, start_index) + keys.get(translation_key) + " [ID:" + translation_key + "]" + line.substr(end_index)).replace("!ESCAPED_COLON!", ":") + + code_edit.text = "\n".join(lines) + code_edit.set_cursor(cursor) + + parser.free() + + +func show_search_form(is_enabled: bool) -> void: + if code_edit.last_selected_text: + search_and_replace.input.text = code_edit.last_selected_text + + search_and_replace.visible = is_enabled + search_button.set_pressed_no_signal(is_enabled) + search_and_replace.focus_line_edit() + + +### Signals + + +func _on_editor_settings_changed() -> void: + var editor_settings: EditorSettings = editor_plugin.get_editor_interface().get_editor_settings() + code_edit.minimap_draw = editor_settings.get_setting("text_editor/appearance/minimap/show_minimap") + code_edit.minimap_width = editor_settings.get_setting("text_editor/appearance/minimap/minimap_width") + code_edit.scroll_smooth = editor_settings.get_setting("text_editor/behavior/navigation/smooth_scrolling") + + +func _on_open_menu_id_pressed(id: int) -> void: + match id: + OPEN_OPEN: + open_dialog.popup_centered() + OPEN_CLEAR: + DialogueSettings.clear_recent_files() + build_open_menu() + _: + var menu = open_button.get_popup() + var item = menu.get_item_text(menu.get_item_index(id)) + open_file(item) + + +func _on_files_list_file_selected(file_path: String) -> void: + self.current_file_path = file_path + + +func _on_insert_button_menu_id_pressed(id: int) -> void: + match id: + 0: + code_edit.insert_bbcode("[wave amp=25 freq=5]", "[/wave]") + 1: + code_edit.insert_bbcode("[shake rate=20 level=10]", "[/shake]") + 3: + code_edit.insert_bbcode("[wait=1]") + 4: + code_edit.insert_bbcode("[speed=0.2]") + 5: + code_edit.insert_bbcode("[next=auto]") + 6: + code_edit.insert_text("~ title") + 7: + code_edit.insert_text("Nathan: This is Some Dialogue") + 8: + code_edit.insert_text("Nathan: Choose a Response...\n- Option 1\n\tNathan: You chose option 1\n- Option 2\n\tNathan: You chose option 2") + 9: + code_edit.insert_text("% Nathan: This is random line 1.\n% Nathan: This is random line 2.\n%1 Nathan: This is weighted random line 3.") + 10: + code_edit.insert_text("Nathan: [[Hi|Hello|Howdy]]") + 11: + code_edit.insert_text("=> title") + 12: + code_edit.insert_text("=> END") + + +func _on_translations_button_menu_id_pressed(id: int) -> void: + match id: + TRANSLATIONS_GENERATE_LINE_IDS: + generate_translations_keys() + + TRANSLATIONS_SAVE_CHARACTERS_TO_CSV: + translation_source = TranslationSource.CharacterNames + export_dialog.filters = PackedStringArray(["*.csv ; Translation CSV"]) + export_dialog.current_path = get_last_export_path("csv") + export_dialog.popup_centered() + + TRANSLATIONS_SAVE_TO_CSV: + translation_source = TranslationSource.Lines + export_dialog.filters = PackedStringArray(["*.csv ; Translation CSV"]) + export_dialog.current_path = get_last_export_path("csv") + export_dialog.popup_centered() + + TRANSLATIONS_IMPORT_FROM_CSV: + import_dialog.current_path = get_last_export_path("csv") + import_dialog.popup_centered() + + +func _on_export_dialog_file_selected(path: String) -> void: + DialogueSettings.set_user_value("last_export_path", path.get_base_dir()) + match path.get_extension(): + "csv": + match translation_source: + TranslationSource.CharacterNames: + export_character_names_to_csv(path) + TranslationSource.Lines: + export_translations_to_csv(path) + + +func _on_import_dialog_file_selected(path: String) -> void: + DialogueSettings.set_user_value("last_export_path", path.get_base_dir()) + import_translations_from_csv(path) + + +func _on_main_view_theme_changed(): + apply_theme() + + +func _on_main_view_visibility_changed() -> void: + if visible and is_instance_valid(code_edit): + code_edit.grab_focus() + + +func _on_new_button_pressed() -> void: + new_dialog.current_file = "" + new_dialog.popup_centered() + + +func _on_new_dialog_file_selected(path: String) -> void: + new_file(path) + open_file(path) + + +func _on_save_dialog_file_selected(path: String) -> void: + new_file(path, code_edit.text) + open_file(path) + + +func _on_open_button_about_to_popup() -> void: + build_open_menu() + + +func _on_open_dialog_file_selected(path: String) -> void: + open_file(path) + + +func _on_save_all_button_pressed() -> void: + save_files() + + +func _on_code_edit_text_changed() -> void: + title_list.titles = code_edit.get_titles() + + var buffer = open_buffers[current_file_path] + buffer.text = code_edit.text + + files_list.mark_file_as_unsaved(current_file_path, buffer.text != buffer.pristine_text) + save_all_button.disabled = open_buffers.values().filter(func(d): return d.text != d.pristine_text).size() == 0 + + parse_timer.start(1) + + +func _on_code_edit_active_title_change(title: String) -> void: + title_list.select_title(title) + DialogueSettings.set_user_value("run_title", title) + + +func _on_code_edit_caret_changed() -> void: + DialogueSettings.set_caret(current_file_path, code_edit.get_cursor()) + + +func _on_code_edit_error_clicked(line_number: int) -> void: + errors_panel.show_error_for_line_number(line_number) + + +func _on_title_list_title_selected(title: String) -> void: + code_edit.go_to_title(title) + code_edit.grab_focus() + + +func _on_parse_timer_timeout() -> void: + parse_timer.stop() + parse() + + +func _on_errors_panel_error_pressed(line_number: int, column_number: int) -> void: + code_edit.set_caret_line(line_number) + code_edit.set_caret_column(column_number) + code_edit.grab_focus() + + +func _on_search_button_toggled(button_pressed: bool) -> void: + show_search_form(button_pressed) + + +func _on_search_and_replace_open_requested() -> void: + show_search_form(true) + + +func _on_search_and_replace_close_requested() -> void: + search_button.set_pressed_no_signal(false) + search_and_replace.visible = false + code_edit.grab_focus() + + +func _on_settings_button_pressed() -> void: + settings_view.prepare() + settings_dialog.popup_centered() + + +func _on_settings_view_script_button_pressed(path: String) -> void: + settings_dialog.hide() + editor_plugin.get_editor_interface().edit_resource(load(path)) + + +func _on_test_button_pressed() -> void: + save_file(current_file_path) + + if errors_panel.errors.size() > 0: + errors_dialog.popup_centered() + return + + DialogueSettings.set_user_value("is_running_test_scene", true) + DialogueSettings.set_user_value("run_resource_path", current_file_path) + var test_scene_path: String = DialogueSettings.get_setting("custom_test_scene_path", "res://addons/dialogue_manager/test_scene.tscn") + editor_plugin.get_editor_interface().play_custom_scene(test_scene_path) + + +func _on_settings_dialog_confirmed() -> void: + settings_view.apply_settings_changes() + parse() + code_edit.wrap_mode = TextEdit.LINE_WRAPPING_BOUNDARY if DialogueSettings.get_setting("wrap_lines", false) else TextEdit.LINE_WRAPPING_NONE + code_edit.grab_focus() + + +func _on_support_button_pressed() -> void: + OS.shell_open("https://patreon.com/nathanhoad") + + +func _on_docs_button_pressed() -> void: + OS.shell_open("https://github.com/nathanhoad/godot_dialogue_manager") + + +func _on_files_list_file_popup_menu_requested(at_position: Vector2) -> void: + files_popup_menu.position = Vector2(get_viewport().position) + files_list.global_position + at_position + files_popup_menu.popup() + + +func _on_files_list_file_middle_clicked(path: String): + close_file(path) + + +func _on_files_popup_menu_about_to_popup() -> void: + files_popup_menu.clear() + + files_popup_menu.add_item(DialogueConstants.translate("buffer.save"), ITEM_SAVE, KEY_MASK_CTRL | KEY_MASK_ALT | KEY_S) + files_popup_menu.add_item(DialogueConstants.translate("buffer.save_as"), ITEM_SAVE_AS) + files_popup_menu.add_item(DialogueConstants.translate("buffer.close"), ITEM_CLOSE, KEY_MASK_CTRL | KEY_W) + files_popup_menu.add_item(DialogueConstants.translate("buffer.close_all"), ITEM_CLOSE_ALL) + files_popup_menu.add_item(DialogueConstants.translate("buffer.close_other_files"), ITEM_CLOSE_OTHERS) + files_popup_menu.add_separator() + files_popup_menu.add_item(DialogueConstants.translate("buffer.copy_file_path"), ITEM_COPY_PATH) + files_popup_menu.add_item(DialogueConstants.translate("buffer.show_in_filesystem"), ITEM_SHOW_IN_FILESYSTEM) + + +func _on_files_popup_menu_id_pressed(id: int) -> void: + match id: + ITEM_SAVE: + save_file(current_file_path) + ITEM_SAVE_AS: + save_dialog.popup_centered() + ITEM_CLOSE: + close_file(current_file_path) + ITEM_CLOSE_ALL: + for path in open_buffers.keys(): + close_file(path) + ITEM_CLOSE_OTHERS: + for path in open_buffers.keys(): + if path != current_file_path: + close_file(path) + + ITEM_COPY_PATH: + DisplayServer.clipboard_set(current_file_path) + ITEM_SHOW_IN_FILESYSTEM: + show_file_in_filesystem(current_file_path) + + +func _on_code_edit_external_file_requested(path: String, title: String) -> void: + open_file(path) + if title != "": + code_edit.go_to_title(title) + else: + code_edit.set_caret_line(0) + + +func _on_close_confirmation_dialog_confirmed() -> void: + save_file(current_file_path) + remove_file_from_open_buffers(current_file_path) + + +func _on_close_confirmation_dialog_custom_action(action: StringName) -> void: + if action == "discard": + remove_file_from_open_buffers(current_file_path) + close_confirmation_dialog.hide() diff --git a/addons/dialogue_manager/views/main_view.tscn b/addons/dialogue_manager/views/main_view.tscn new file mode 100644 index 0000000..d56ca5a --- /dev/null +++ b/addons/dialogue_manager/views/main_view.tscn @@ -0,0 +1,309 @@ +[gd_scene load_steps=13 format=3 uid="uid://cbuf1q3xsse3q"] + +[ext_resource type="Script" path="res://addons/dialogue_manager/views/main_view.gd" id="1_h6qfq"] +[ext_resource type="PackedScene" uid="uid://civ6shmka5e8u" path="res://addons/dialogue_manager/components/code_edit.tscn" id="2_f73fm"] +[ext_resource type="PackedScene" uid="uid://dnufpcdrreva3" path="res://addons/dialogue_manager/components/files_list.tscn" id="2_npj2k"] +[ext_resource type="PackedScene" uid="uid://ctns6ouwwd68i" path="res://addons/dialogue_manager/components/title_list.tscn" id="2_onb4i"] +[ext_resource type="PackedScene" uid="uid://co8yl23idiwbi" path="res://addons/dialogue_manager/components/update_button.tscn" id="2_ph3vs"] +[ext_resource type="PackedScene" uid="uid://gr8nakpbrhby" path="res://addons/dialogue_manager/components/search_and_replace.tscn" id="6_ylh0t"] +[ext_resource type="PackedScene" uid="uid://cs8pwrxr5vxix" path="res://addons/dialogue_manager/components/errors_panel.tscn" id="7_5cvl4"] +[ext_resource type="Script" path="res://addons/dialogue_manager/components/code_edit_syntax_highlighter.gd" id="7_necsa"] +[ext_resource type="PackedScene" uid="uid://cpg4lg1r3ff6m" path="res://addons/dialogue_manager/views/settings_view.tscn" id="9_8bf36"] + +[sub_resource type="Image" id="Image_r1pjv"] +data = { +"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 93, 93, 131, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 131, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 131, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 231, 255, 93, 93, 55, 255, 97, 97, 58, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 231, 255, 94, 94, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 93, 93, 41, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 97, 97, 42, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 98, 98, 47, 255, 97, 97, 42, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 235, 255, 93, 93, 233, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 94, 94, 46, 255, 93, 93, 236, 255, 93, 93, 233, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 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, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), +"format": "RGBA8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id="ImageTexture_fguub"] +image = SubResource("Image_r1pjv") + +[sub_resource type="SyntaxHighlighter" id="SyntaxHighlighter_015mr"] +script = ExtResource("7_necsa") + +[node name="MainView" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +script = ExtResource("1_h6qfq") + +[node name="ParseTimer" type="Timer" parent="."] + +[node name="Margin" type="MarginContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_vertical = 3 +theme_override_constants/margin_left = 5 +theme_override_constants/margin_right = 5 +theme_override_constants/margin_bottom = 5 +metadata/_edit_layout_mode = 1 + +[node name="Content" type="HSplitContainer" parent="Margin"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 3 +dragger_visibility = 1 + +[node name="SidePanel" type="VBoxContainer" parent="Margin/Content"] +custom_minimum_size = Vector2(150, 0) +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="Toolbar" type="HBoxContainer" parent="Margin/Content/SidePanel"] +layout_mode = 2 + +[node name="NewButton" type="Button" parent="Margin/Content/SidePanel/Toolbar"] +unique_name_in_owner = true +layout_mode = 2 +tooltip_text = "Start a new file" +flat = true + +[node name="OpenButton" type="MenuButton" parent="Margin/Content/SidePanel/Toolbar"] +unique_name_in_owner = true +layout_mode = 2 +tooltip_text = "Open a file" + +[node name="SaveAllButton" type="Button" parent="Margin/Content/SidePanel/Toolbar"] +unique_name_in_owner = true +layout_mode = 2 +disabled = true +flat = true + +[node name="Bookmarks" type="VSplitContainer" parent="Margin/Content/SidePanel"] +layout_mode = 2 +size_flags_vertical = 3 + +[node name="FilesList" parent="Margin/Content/SidePanel/Bookmarks" instance=ExtResource("2_npj2k")] +unique_name_in_owner = true +visible = false +layout_mode = 2 +size_flags_vertical = 3 + +[node name="FilesPopupMenu" type="PopupMenu" parent="Margin/Content/SidePanel/Bookmarks/FilesList"] +unique_name_in_owner = true + +[node name="TitleList" parent="Margin/Content/SidePanel/Bookmarks" instance=ExtResource("2_onb4i")] +unique_name_in_owner = true +visible = false +layout_mode = 2 + +[node name="CodePanel" type="VBoxContainer" parent="Margin/Content"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_stretch_ratio = 4.0 + +[node name="Toolbar" type="HBoxContainer" parent="Margin/Content/CodePanel"] +layout_mode = 2 + +[node name="InsertButton" type="MenuButton" parent="Margin/Content/CodePanel/Toolbar"] +unique_name_in_owner = true +layout_mode = 2 +disabled = true +text = "Insert" + +[node name="TranslationsButton" type="MenuButton" parent="Margin/Content/CodePanel/Toolbar"] +unique_name_in_owner = true +layout_mode = 2 +disabled = true +text = "Translations" +item_count = 6 +popup/item_0/text = "Generate line IDs" +popup/item_0/icon = SubResource("ImageTexture_fguub") +popup/item_0/id = 0 +popup/item_1/text = "" +popup/item_1/id = -1 +popup/item_1/separator = true +popup/item_2/text = "Save to CSV..." +popup/item_2/icon = SubResource("ImageTexture_fguub") +popup/item_2/id = 2 +popup/item_3/text = "Import changes from CSV..." +popup/item_3/icon = SubResource("ImageTexture_fguub") +popup/item_3/id = 3 +popup/item_4/text = "" +popup/item_4/id = -1 +popup/item_4/separator = true +popup/item_5/text = "Save to PO..." +popup/item_5/icon = SubResource("ImageTexture_fguub") +popup/item_5/id = 5 + +[node name="Separator" type="VSeparator" parent="Margin/Content/CodePanel/Toolbar"] +layout_mode = 2 + +[node name="SearchButton" type="Button" parent="Margin/Content/CodePanel/Toolbar"] +unique_name_in_owner = true +layout_mode = 2 +tooltip_text = "Search for text" +disabled = true +toggle_mode = true +flat = true + +[node name="TestButton" type="Button" parent="Margin/Content/CodePanel/Toolbar"] +unique_name_in_owner = true +layout_mode = 2 +tooltip_text = "Test dialogue" +disabled = true +flat = true + +[node name="Separator3" type="VSeparator" parent="Margin/Content/CodePanel/Toolbar"] +layout_mode = 2 + +[node name="SettingsButton" type="Button" parent="Margin/Content/CodePanel/Toolbar"] +unique_name_in_owner = true +layout_mode = 2 +tooltip_text = "Settings" +flat = true + +[node name="Spacer2" type="Control" parent="Margin/Content/CodePanel/Toolbar"] +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="SupportButton" type="Button" parent="Margin/Content/CodePanel/Toolbar"] +unique_name_in_owner = true +layout_mode = 2 +flat = true + +[node name="Separator4" type="VSeparator" parent="Margin/Content/CodePanel/Toolbar"] +layout_mode = 2 + +[node name="DocsButton" type="Button" parent="Margin/Content/CodePanel/Toolbar"] +unique_name_in_owner = true +layout_mode = 2 +text = "Docs" +flat = true + +[node name="VersionLabel" type="Label" parent="Margin/Content/CodePanel/Toolbar"] +unique_name_in_owner = true +modulate = Color(1, 1, 1, 0.490196) +layout_mode = 2 +text = "v2.19.0" +vertical_alignment = 1 + +[node name="UpdateButton" parent="Margin/Content/CodePanel/Toolbar" instance=ExtResource("2_ph3vs")] +unique_name_in_owner = true +layout_mode = 2 + +[node name="SearchAndReplace" parent="Margin/Content/CodePanel" instance=ExtResource("6_ylh0t")] +unique_name_in_owner = true +layout_mode = 2 + +[node name="CodeEdit" parent="Margin/Content/CodePanel" instance=ExtResource("2_f73fm")] +unique_name_in_owner = true +visible = false +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_colors/bookmark_color = Color(1, 0.333333, 0.333333, 1) +text = "" +syntax_highlighter = SubResource("SyntaxHighlighter_015mr") + +[node name="ErrorsPanel" parent="Margin/Content/CodePanel" instance=ExtResource("7_5cvl4")] +unique_name_in_owner = true +layout_mode = 2 + +[node name="NewDialog" type="FileDialog" parent="."] +size = Vector2i(600, 500) +min_size = Vector2i(600, 500) +dialog_hide_on_ok = true +filters = PackedStringArray("*.dialogue ; Dialogue") + +[node name="SaveDialog" type="FileDialog" parent="."] +size = Vector2i(600, 500) +min_size = Vector2i(600, 500) +dialog_hide_on_ok = true +filters = PackedStringArray("*.dialogue ; Dialogue") + +[node name="OpenDialog" type="FileDialog" parent="."] +title = "Open a File" +size = Vector2i(600, 500) +min_size = Vector2i(600, 500) +ok_button_text = "Open" +dialog_hide_on_ok = true +file_mode = 0 +filters = PackedStringArray("*.dialogue ; Dialogue") + +[node name="ExportDialog" type="FileDialog" parent="."] +size = Vector2i(600, 500) +min_size = Vector2i(600, 500) + +[node name="ImportDialog" type="FileDialog" parent="."] +size = Vector2i(600, 500) +min_size = Vector2i(600, 500) +filters = PackedStringArray("*.csv ; Translation CSV") + +[node name="ErrorsDialog" type="AcceptDialog" parent="."] +title = "Error" +dialog_text = "You have errors in your script. Fix them and then try again." + +[node name="SettingsDialog" type="AcceptDialog" parent="."] +title = "Settings" +size = Vector2i(834, 600) +unresizable = true +min_size = Vector2i(600, 600) +ok_button_text = "Done" + +[node name="SettingsView" parent="SettingsDialog" instance=ExtResource("9_8bf36")] +offset_left = 8.0 +offset_top = 8.0 +offset_right = -8.0 +offset_bottom = -49.0 + +[node name="BuildErrorDialog" type="AcceptDialog" parent="."] +title = "Errors" +dialog_text = "You need to fix dialogue errors before you can run your game." + +[node name="CloseConfirmationDialog" type="ConfirmationDialog" parent="."] +title = "Unsaved changes" +ok_button_text = "Save changes" + +[node name="UpdatedDialog" type="AcceptDialog" parent="."] +title = "Updated" +size = Vector2i(191, 100) +dialog_text = "You're now up to date!" + +[connection signal="theme_changed" from="." to="." method="_on_main_view_theme_changed"] +[connection signal="visibility_changed" from="." to="." method="_on_main_view_visibility_changed"] +[connection signal="timeout" from="ParseTimer" to="." method="_on_parse_timer_timeout"] +[connection signal="pressed" from="Margin/Content/SidePanel/Toolbar/NewButton" to="." method="_on_new_button_pressed"] +[connection signal="about_to_popup" from="Margin/Content/SidePanel/Toolbar/OpenButton" to="." method="_on_open_button_about_to_popup"] +[connection signal="pressed" from="Margin/Content/SidePanel/Toolbar/SaveAllButton" to="." method="_on_save_all_button_pressed"] +[connection signal="file_middle_clicked" from="Margin/Content/SidePanel/Bookmarks/FilesList" to="." method="_on_files_list_file_middle_clicked"] +[connection signal="file_popup_menu_requested" from="Margin/Content/SidePanel/Bookmarks/FilesList" to="." method="_on_files_list_file_popup_menu_requested"] +[connection signal="file_selected" from="Margin/Content/SidePanel/Bookmarks/FilesList" to="." method="_on_files_list_file_selected"] +[connection signal="about_to_popup" from="Margin/Content/SidePanel/Bookmarks/FilesList/FilesPopupMenu" to="." method="_on_files_popup_menu_about_to_popup"] +[connection signal="id_pressed" from="Margin/Content/SidePanel/Bookmarks/FilesList/FilesPopupMenu" to="." method="_on_files_popup_menu_id_pressed"] +[connection signal="title_selected" from="Margin/Content/SidePanel/Bookmarks/TitleList" to="." method="_on_title_list_title_selected"] +[connection signal="toggled" from="Margin/Content/CodePanel/Toolbar/SearchButton" to="." method="_on_search_button_toggled"] +[connection signal="pressed" from="Margin/Content/CodePanel/Toolbar/TestButton" to="." method="_on_test_button_pressed"] +[connection signal="pressed" from="Margin/Content/CodePanel/Toolbar/SettingsButton" to="." method="_on_settings_button_pressed"] +[connection signal="pressed" from="Margin/Content/CodePanel/Toolbar/SupportButton" to="." method="_on_support_button_pressed"] +[connection signal="pressed" from="Margin/Content/CodePanel/Toolbar/DocsButton" to="." method="_on_docs_button_pressed"] +[connection signal="close_requested" from="Margin/Content/CodePanel/SearchAndReplace" to="." method="_on_search_and_replace_close_requested"] +[connection signal="open_requested" from="Margin/Content/CodePanel/SearchAndReplace" to="." method="_on_search_and_replace_open_requested"] +[connection signal="active_title_change" from="Margin/Content/CodePanel/CodeEdit" to="." method="_on_code_edit_active_title_change"] +[connection signal="caret_changed" from="Margin/Content/CodePanel/CodeEdit" to="." method="_on_code_edit_caret_changed"] +[connection signal="error_clicked" from="Margin/Content/CodePanel/CodeEdit" to="." method="_on_code_edit_error_clicked"] +[connection signal="external_file_requested" from="Margin/Content/CodePanel/CodeEdit" to="." method="_on_code_edit_external_file_requested"] +[connection signal="text_changed" from="Margin/Content/CodePanel/CodeEdit" to="." method="_on_code_edit_text_changed"] +[connection signal="error_pressed" from="Margin/Content/CodePanel/ErrorsPanel" to="." method="_on_errors_panel_error_pressed"] +[connection signal="file_selected" from="NewDialog" to="." method="_on_new_dialog_file_selected"] +[connection signal="file_selected" from="SaveDialog" to="." method="_on_save_dialog_file_selected"] +[connection signal="file_selected" from="OpenDialog" to="." method="_on_open_dialog_file_selected"] +[connection signal="file_selected" from="ExportDialog" to="." method="_on_export_dialog_file_selected"] +[connection signal="file_selected" from="ImportDialog" to="." method="_on_import_dialog_file_selected"] +[connection signal="confirmed" from="SettingsDialog" to="." method="_on_settings_dialog_confirmed"] +[connection signal="script_button_pressed" from="SettingsDialog/SettingsView" to="." method="_on_settings_view_script_button_pressed"] +[connection signal="confirmed" from="CloseConfirmationDialog" to="." method="_on_close_confirmation_dialog_confirmed"] +[connection signal="custom_action" from="CloseConfirmationDialog" to="." method="_on_close_confirmation_dialog_custom_action"] diff --git a/addons/dialogue_manager/views/settings_view.gd b/addons/dialogue_manager/views/settings_view.gd new file mode 100644 index 0000000..955f362 --- /dev/null +++ b/addons/dialogue_manager/views/settings_view.gd @@ -0,0 +1,271 @@ +@tool +extends TabContainer + + +signal script_button_pressed(path: String) + + +const DialogueConstants = preload("../constants.gd") +const DialogueSettings = preload("../settings.gd") + + +enum PathTarget { + CustomTestScene, + Balloon +} + + +# Editor +@onready var new_template_button: CheckBox = $Editor/NewTemplateButton +@onready var characters_translations_button: CheckBox = $Editor/CharactersTranslationsButton +@onready var wrap_lines_button: Button = $Editor/WrapLinesButton +@onready var default_csv_locale: LineEdit = $Editor/DefaultCSVLocale + +# Runtime +@onready var include_all_responses_button: CheckBox = $Runtime/IncludeAllResponsesButton +@onready var ignore_missing_state_values: CheckBox = $Runtime/IgnoreMissingStateValues +@onready var balloon_path_input: LineEdit = $Runtime/CustomBalloon/BalloonPath +@onready var revert_balloon_button: Button = $Runtime/CustomBalloon/RevertBalloonPath +@onready var load_balloon_button: Button = $Runtime/CustomBalloon/LoadBalloonPath +@onready var states_title: Label = $Runtime/StatesTitle +@onready var globals_list: Tree = $Runtime/GlobalsList + +# Advanced +@onready var include_characters_in_translations: CheckBox = $Advanced/IncludeCharactersInTranslations +@onready var include_notes_in_translations: CheckBox = $Advanced/IncludeNotesInTranslations +@onready var open_in_external_editor_button: CheckBox = $Advanced/OpenInExternalEditorButton +@onready var test_scene_path_input: LineEdit = $Advanced/CustomTestScene/TestScenePath +@onready var revert_test_scene_button: Button = $Advanced/CustomTestScene/RevertTestScene +@onready var load_test_scene_button: Button = $Advanced/CustomTestScene/LoadTestScene +@onready var custom_test_scene_file_dialog: FileDialog = $CustomTestSceneFileDialog +@onready var create_lines_for_response_characters: CheckBox = $Advanced/CreateLinesForResponseCharacters +@onready var missing_translations_button: CheckBox = $Advanced/MissingTranslationsButton + +var editor_plugin: EditorPlugin +var all_globals: Dictionary = {} +var enabled_globals: Array = [] +var path_target: PathTarget = PathTarget.CustomTestScene + +var _default_test_scene_path: String = preload("../test_scene.tscn").resource_path + +var _recompile_if_changed_settings: Dictionary + + +func _ready() -> void: + new_template_button.text = DialogueConstants.translate("settings.new_template") + $Editor/MissingTranslationsHint.text = DialogueConstants.translate("settings.missing_keys_hint") + characters_translations_button.text = DialogueConstants.translate("settings.characters_translations") + wrap_lines_button.text = DialogueConstants.translate("settings.wrap_long_lines") + $Editor/DefaultCSVLocaleLabel.text = DialogueConstants.translate("settings.default_csv_locale") + + include_all_responses_button.text = DialogueConstants.translate("settings.include_failed_responses") + ignore_missing_state_values.text = DialogueConstants.translate("settings.ignore_missing_state_values") + $Runtime/CustomBalloonLabel.text = DialogueConstants.translate("settings.default_balloon_hint") + states_title.text = DialogueConstants.translate("settings.states_shortcuts") + $Runtime/StatesMessage.text = DialogueConstants.translate("settings.states_message") + $Runtime/StatesHint.text = DialogueConstants.translate("settings.states_hint") + + include_characters_in_translations.text = DialogueConstants.translate("settings.include_characters_in_translations") + include_notes_in_translations.text = DialogueConstants.translate("settings.include_notes_in_translations") + open_in_external_editor_button.text = DialogueConstants.translate("settings.open_in_external_editor") + $Advanced/ExternalWarning.text = DialogueConstants.translate("settings.external_editor_warning") + $Advanced/CustomTestSceneLabel.text = DialogueConstants.translate("settings.custom_test_scene") + $Advanced/RecompileWarning.text = DialogueConstants.translate("settings.recompile_warning") + missing_translations_button.text = DialogueConstants.translate("settings.missing_keys") + create_lines_for_response_characters.text = DialogueConstants.translate("settings.create_lines_for_responses_with_characters") + + +func prepare() -> void: + _recompile_if_changed_settings = _get_settings_that_require_recompilation() + + test_scene_path_input.placeholder_text = DialogueSettings.get_setting("custom_test_scene_path", _default_test_scene_path) + revert_test_scene_button.visible = test_scene_path_input.placeholder_text != _default_test_scene_path + revert_test_scene_button.icon = get_theme_icon("RotateLeft", "EditorIcons") + revert_test_scene_button.tooltip_text = DialogueConstants.translate("settings.revert_to_default_test_scene") + load_test_scene_button.icon = get_theme_icon("Load", "EditorIcons") + + var balloon_path: String = DialogueSettings.get_setting("balloon_path", "") + if not FileAccess.file_exists(balloon_path): + DialogueSettings.set_setting("balloon_path", "") + balloon_path = "" + balloon_path_input.placeholder_text = balloon_path if balloon_path != "" else DialogueConstants.translate("settings.default_balloon_path") + revert_balloon_button.visible = balloon_path != "" + revert_balloon_button.icon = get_theme_icon("RotateLeft", "EditorIcons") + revert_balloon_button.tooltip_text = DialogueConstants.translate("settings.revert_to_default_balloon") + load_balloon_button.icon = get_theme_icon("Load", "EditorIcons") + + var scale: float = editor_plugin.get_editor_interface().get_editor_scale() + custom_test_scene_file_dialog.min_size = Vector2(600, 500) * scale + + states_title.add_theme_font_override("font", get_theme_font("bold", "EditorFonts")) + + characters_translations_button.set_pressed_no_signal(DialogueSettings.get_setting("export_characters_in_translation", true)) + wrap_lines_button.set_pressed_no_signal(DialogueSettings.get_setting("wrap_lines", false)) + include_all_responses_button.set_pressed_no_signal(DialogueSettings.get_setting("include_all_responses", false)) + ignore_missing_state_values.set_pressed_no_signal(DialogueSettings.get_setting("ignore_missing_state_values", false)) + new_template_button.set_pressed_no_signal(DialogueSettings.get_setting("new_with_template", true)) + default_csv_locale.text = DialogueSettings.get_setting("default_csv_locale", "en") + + missing_translations_button.set_pressed_no_signal(DialogueSettings.get_setting("missing_translations_are_errors", false)) + create_lines_for_response_characters.set_pressed_no_signal(DialogueSettings.get_setting("create_lines_for_responses_with_characters", true)) + + include_characters_in_translations.set_pressed_no_signal(DialogueSettings.get_setting("include_character_in_translation_exports", false)) + include_notes_in_translations.set_pressed_no_signal(DialogueSettings.get_setting("include_notes_in_translation_exports", false)) + open_in_external_editor_button.set_pressed_no_signal(DialogueSettings.get_user_value("open_in_external_editor", false)) + + var editor_settings: EditorSettings = editor_plugin.get_editor_interface().get_editor_settings() + var external_editor: String = editor_settings.get_setting("text_editor/external/exec_path") + var use_external_editor: bool = editor_settings.get_setting("text_editor/external/use_external_editor") and external_editor != "" + if not use_external_editor: + open_in_external_editor_button.hide() + $Advanced/ExternalWarning.hide() + $Advanced/HSeparator.hide() + + var project = ConfigFile.new() + var err = project.load("res://project.godot") + assert(err == OK, "Could not find the project file") + + all_globals.clear() + if project.has_section("autoload"): + for key in project.get_section_keys("autoload"): + if key != "DialogueManager": + all_globals[key] = project.get_value("autoload", key) + + enabled_globals = DialogueSettings.get_setting("states", []).duplicate() + globals_list.clear() + var root = globals_list.create_item() + for name in all_globals.keys(): + var item: TreeItem = globals_list.create_item(root) + item.set_cell_mode(0, TreeItem.CELL_MODE_CHECK) + item.set_checked(0, name in enabled_globals) + item.set_text(0, name) + item.add_button(1, get_theme_icon("Edit", "EditorIcons")) + item.set_text(2, all_globals.get(name, "").replace("*res://", "res://")) + + globals_list.set_column_expand(0, false) + globals_list.set_column_custom_minimum_width(0, 250) + globals_list.set_column_expand(1, false) + globals_list.set_column_custom_minimum_width(1, 40) + globals_list.set_column_titles_visible(true) + globals_list.set_column_title(0, DialogueConstants.translate("settings.autoload")) + globals_list.set_column_title(1, "") + globals_list.set_column_title(2, DialogueConstants.translate("settings.path")) + + +func apply_settings_changes() -> void: + if _recompile_if_changed_settings != _get_settings_that_require_recompilation(): + Engine.get_meta("DialogueCache").reimport_files() + + +func _get_settings_that_require_recompilation() -> Dictionary: + return DialogueSettings.get_settings([ + "missing_translations_are_errors", + "create_lines_for_responses_with_characters" + ]) + + +### Signals + + +func _on_missing_translations_button_toggled(toggled_on: bool) -> void: + DialogueSettings.set_setting("missing_translations_are_errors", toggled_on) + + +func _on_characters_translations_button_toggled(toggled_on: bool) -> void: + DialogueSettings.set_setting("export_characters_in_translation", toggled_on) + + +func _on_wrap_lines_button_toggled(toggled_on: bool) -> void: + DialogueSettings.set_setting("wrap_lines", toggled_on) + + +func _on_include_all_responses_button_toggled(toggled_on: bool) -> void: + DialogueSettings.set_setting("include_all_responses", toggled_on) + + +func _on_globals_list_item_selected() -> void: + var item = globals_list.get_selected() + var is_checked = not item.is_checked(0) + item.set_checked(0, is_checked) + + if is_checked: + enabled_globals.append(item.get_text(0)) + else: + enabled_globals.erase(item.get_text(0)) + + DialogueSettings.set_setting("states", enabled_globals) + + +func _on_globals_list_button_clicked(item: TreeItem, column: int, id: int, mouse_button_index: int) -> void: + emit_signal("script_button_pressed", item.get_text(2)) + + +func _on_sample_template_toggled(toggled_on): + DialogueSettings.set_setting("new_with_template", toggled_on) + + +func _on_revert_test_scene_pressed() -> void: + DialogueSettings.set_setting("custom_test_scene_path", _default_test_scene_path) + test_scene_path_input.placeholder_text = _default_test_scene_path + revert_test_scene_button.visible = test_scene_path_input.placeholder_text != _default_test_scene_path + + +func _on_load_test_scene_pressed() -> void: + path_target = PathTarget.CustomTestScene + custom_test_scene_file_dialog.popup_centered() + + +func _on_custom_test_scene_file_dialog_file_selected(path: String) -> void: + match path_target: + PathTarget.CustomTestScene: + # Check that the test scene is a subclass of BaseDialogueTestScene + var test_scene: PackedScene = load(path) + if test_scene and test_scene.instantiate() is BaseDialogueTestScene: + DialogueSettings.set_setting("custom_test_scene_path", path) + test_scene_path_input.placeholder_text = path + revert_test_scene_button.visible = test_scene_path_input.placeholder_text != _default_test_scene_path + else: + var accept: AcceptDialog = AcceptDialog.new() + accept.dialog_text = DialogueConstants.translate("settings.invalid_test_scene").format({ path = path }) + add_child(accept) + accept.popup_centered.call_deferred() + + PathTarget.Balloon: + DialogueSettings.set_setting("balloon_path", path) + balloon_path_input.placeholder_text = path + revert_balloon_button.visible = balloon_path_input.placeholder_text != "" + + +func _on_ignore_missing_state_values_toggled(toggled_on: bool) -> void: + DialogueSettings.set_setting("ignore_missing_state_values", toggled_on) + + +func _on_default_csv_locale_text_changed(new_text: String) -> void: + DialogueSettings.set_setting("default_csv_locale", new_text) + + +func _on_revert_balloon_path_pressed() -> void: + DialogueSettings.set_setting("balloon_path", "") + balloon_path_input.placeholder_text = DialogueConstants.translate("settings.default_balloon_path") + revert_balloon_button.visible = DialogueSettings.get_setting("balloon_path", "") != "" + + +func _on_load_balloon_path_pressed() -> void: + path_target = PathTarget.Balloon + custom_test_scene_file_dialog.popup_centered() + + +func _on_create_lines_for_response_characters_toggled(toggled_on: bool) -> void: + DialogueSettings.set_setting("create_lines_for_responses_with_characters", toggled_on) + + +func _on_open_in_external_editor_button_toggled(toggled_on: bool) -> void: + DialogueSettings.set_user_value("open_in_external_editor", toggled_on) + + +func _on_include_characters_in_translations_toggled(toggled_on: bool) -> void: + DialogueSettings.set_setting("include_character_in_translation_exports", toggled_on) + + +func _on_include_notes_in_translations_toggled(toggled_on: bool) -> void: + DialogueSettings.set_setting("include_notes_in_translation_exports", toggled_on) diff --git a/addons/dialogue_manager/views/settings_view.tscn b/addons/dialogue_manager/views/settings_view.tscn new file mode 100644 index 0000000..a0e923a --- /dev/null +++ b/addons/dialogue_manager/views/settings_view.tscn @@ -0,0 +1,212 @@ +[gd_scene load_steps=3 format=3 uid="uid://cpg4lg1r3ff6m"] + +[ext_resource type="Script" path="res://addons/dialogue_manager/views/settings_view.gd" id="1_06uxa"] + +[sub_resource type="Theme" id="Theme_3a8rc"] +HSeparator/constants/separation = 20 + +[node name="SettingsView" type="TabContainer"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_right = -206.0 +offset_bottom = -345.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme = SubResource("Theme_3a8rc") +script = ExtResource("1_06uxa") + +[node name="Editor" type="VBoxContainer" parent="."] +layout_mode = 2 + +[node name="NewTemplateButton" type="CheckBox" parent="Editor"] +layout_mode = 2 +button_pressed = true +text = "New dialogue files will start with template text" + +[node name="MissingTranslationsHint" type="Label" parent="Editor"] +modulate = Color(1, 1, 1, 0.501961) +custom_minimum_size = Vector2(10, 0) +layout_mode = 2 +text = "If you are using static translation keys then having this enabled will help you find any lines that you haven't added a key to yet." +autowrap_mode = 3 + +[node name="CharactersTranslationsButton" type="CheckBox" parent="Editor"] +layout_mode = 2 +button_pressed = true +text = "Export character names in translation files" + +[node name="WrapLinesButton" type="CheckBox" parent="Editor"] +layout_mode = 2 +button_pressed = true +text = "Wrap long lines" + +[node name="HSeparator" type="HSeparator" parent="Editor"] +layout_mode = 2 + +[node name="DefaultCSVLocaleLabel" type="Label" parent="Editor"] +layout_mode = 2 +text = "Default CSV Locale" + +[node name="DefaultCSVLocale" type="LineEdit" parent="Editor"] +layout_mode = 2 + +[node name="Runtime" type="VBoxContainer" parent="."] +visible = false +layout_mode = 2 + +[node name="IncludeAllResponsesButton" type="CheckBox" parent="Runtime"] +layout_mode = 2 +text = "Include responses with failed conditions" + +[node name="IgnoreMissingStateValues" type="CheckBox" parent="Runtime"] +layout_mode = 2 +text = "Skip over missing state value errors (not recommended)" + +[node name="HSeparator" type="HSeparator" parent="Runtime"] +layout_mode = 2 + +[node name="CustomBalloonLabel" type="Label" parent="Runtime"] +layout_mode = 2 +text = "Custom balloon to use when calling \"DialogueManager.show_balloon()\"" + +[node name="CustomBalloon" type="HBoxContainer" parent="Runtime"] +layout_mode = 2 + +[node name="BalloonPath" type="LineEdit" parent="Runtime/CustomBalloon"] +layout_mode = 2 +size_flags_horizontal = 3 +focus_mode = 0 +editable = false +shortcut_keys_enabled = false +middle_mouse_paste_enabled = false + +[node name="RevertBalloonPath" type="Button" parent="Runtime/CustomBalloon"] +visible = false +layout_mode = 2 +tooltip_text = "Revert to default test scene" +flat = true + +[node name="LoadBalloonPath" type="Button" parent="Runtime/CustomBalloon"] +layout_mode = 2 + +[node name="HSeparator2" type="HSeparator" parent="Runtime"] +layout_mode = 2 + +[node name="StatesTitle" type="Label" parent="Runtime"] +layout_mode = 2 +text = "State Shortcuts" + +[node name="StatesMessage" type="Label" parent="Runtime"] +layout_mode = 2 +text = "If an autoload is enabled here you can refer to its properties and methods without having to use its name." + +[node name="StatesHint" type="Label" parent="Runtime"] +modulate = Color(1, 1, 1, 0.501961) +custom_minimum_size = Vector2(10, 0) +layout_mode = 2 +text = "ie. Instead of \"SomeState.some_property\" you could just use \"some_property\"" +autowrap_mode = 3 + +[node name="GlobalsList" type="Tree" parent="Runtime"] +layout_mode = 2 +size_flags_vertical = 3 +columns = 3 +column_titles_visible = true +allow_reselect = true +hide_folding = true +hide_root = true +select_mode = 1 + +[node name="Advanced" type="VBoxContainer" parent="."] +visible = false +layout_mode = 2 + +[node name="IncludeCharactersInTranslations" type="CheckBox" parent="Advanced"] +layout_mode = 2 +text = "Include character names in translation exports" + +[node name="IncludeNotesInTranslations" type="CheckBox" parent="Advanced"] +layout_mode = 2 +text = "Include notes (## comments) in translation exports" + +[node name="HSeparator" type="HSeparator" parent="Advanced"] +layout_mode = 2 + +[node name="OpenInExternalEditorButton" type="CheckBox" parent="Advanced"] +layout_mode = 2 +text = "Open dialogue files in external editor" + +[node name="ExternalWarning" type="Label" parent="Advanced"] +layout_mode = 2 +text = "Note: Syntax highlighting and detailed error checking are not supported in external editors." + +[node name="HSeparator3" type="HSeparator" parent="Advanced"] +layout_mode = 2 + +[node name="CustomTestSceneLabel" type="Label" parent="Advanced"] +layout_mode = 2 +text = "Custom test scene (must extend BaseDialogueTestScene)" + +[node name="CustomTestScene" type="HBoxContainer" parent="Advanced"] +layout_mode = 2 + +[node name="TestScenePath" type="LineEdit" parent="Advanced/CustomTestScene"] +layout_mode = 2 +size_flags_horizontal = 3 +focus_mode = 0 +placeholder_text = "res://addons/dialogue_manager/test_scene.tscn" +editable = false +shortcut_keys_enabled = false +middle_mouse_paste_enabled = false + +[node name="RevertTestScene" type="Button" parent="Advanced/CustomTestScene"] +visible = false +layout_mode = 2 +tooltip_text = "Revert to default test scene" +flat = true + +[node name="LoadTestScene" type="Button" parent="Advanced/CustomTestScene"] +layout_mode = 2 + +[node name="HSeparator2" type="HSeparator" parent="Advanced"] +layout_mode = 2 + +[node name="RecompileWarning" type="Label" parent="Advanced"] +layout_mode = 2 +text = "Changing these settings will force a recompile of all dialogue. Only change them if you know what you are doing." + +[node name="MissingTranslationsButton" type="CheckBox" parent="Advanced"] +layout_mode = 2 +text = "Treat missing translation keys as errors" + +[node name="CreateLinesForResponseCharacters" type="CheckBox" parent="Advanced"] +layout_mode = 2 +text = "Create child dialogue line for responses with character names in them" + +[node name="CustomTestSceneFileDialog" type="FileDialog" parent="."] +title = "Open a File" +ok_button_text = "Open" +file_mode = 0 +filters = PackedStringArray("*.tscn ; Scene") + +[connection signal="toggled" from="Editor/NewTemplateButton" to="." method="_on_sample_template_toggled"] +[connection signal="toggled" from="Editor/CharactersTranslationsButton" to="." method="_on_characters_translations_button_toggled"] +[connection signal="toggled" from="Editor/WrapLinesButton" to="." method="_on_wrap_lines_button_toggled"] +[connection signal="text_changed" from="Editor/DefaultCSVLocale" to="." method="_on_default_csv_locale_text_changed"] +[connection signal="toggled" from="Runtime/IncludeAllResponsesButton" to="." method="_on_include_all_responses_button_toggled"] +[connection signal="toggled" from="Runtime/IgnoreMissingStateValues" to="." method="_on_ignore_missing_state_values_toggled"] +[connection signal="pressed" from="Runtime/CustomBalloon/RevertBalloonPath" to="." method="_on_revert_balloon_path_pressed"] +[connection signal="pressed" from="Runtime/CustomBalloon/LoadBalloonPath" to="." method="_on_load_balloon_path_pressed"] +[connection signal="button_clicked" from="Runtime/GlobalsList" to="." method="_on_globals_list_button_clicked"] +[connection signal="item_selected" from="Runtime/GlobalsList" to="." method="_on_globals_list_item_selected"] +[connection signal="toggled" from="Advanced/IncludeCharactersInTranslations" to="." method="_on_include_characters_in_translations_toggled"] +[connection signal="toggled" from="Advanced/IncludeNotesInTranslations" to="." method="_on_include_notes_in_translations_toggled"] +[connection signal="toggled" from="Advanced/OpenInExternalEditorButton" to="." method="_on_open_in_external_editor_button_toggled"] +[connection signal="pressed" from="Advanced/CustomTestScene/RevertTestScene" to="." method="_on_revert_test_scene_pressed"] +[connection signal="pressed" from="Advanced/CustomTestScene/LoadTestScene" to="." method="_on_load_test_scene_pressed"] +[connection signal="toggled" from="Advanced/MissingTranslationsButton" to="." method="_on_missing_translations_button_toggled"] +[connection signal="toggled" from="Advanced/CreateLinesForResponseCharacters" to="." method="_on_create_lines_for_response_characters_toggled"] +[connection signal="file_selected" from="CustomTestSceneFileDialog" to="." method="_on_custom_test_scene_file_dialog_file_selected"] diff --git a/addons/godot-xr-tools/functions/function_pointer.gd b/addons/godot-xr-tools/functions/function_pointer.gd index 536eb09..8197b07 100644 --- a/addons/godot-xr-tools/functions/function_pointer.gd +++ b/addons/godot-xr-tools/functions/function_pointer.gd @@ -33,10 +33,10 @@ enum LaserLength { ## Default pointer collision mask of 21:pointable and 23:ui-objects -const DEFAULT_MASK := 0b0000_0000_0101_0000_0000_0000_0000_0000 +const DEFAULT_MASK := 0b11 << 30 ## Default pointer collision mask of 23:ui-objects -const SUPPRESS_MASK := 0b0000_0000_0100_0000_0000_0000_0000_0000 +const SUPPRESS_MASK := 0b11 << 30 @export_group("General") @@ -122,6 +122,10 @@ var _controller : XRController3D # The currently active controller var _active_controller : XRController3D +var is_grabbing = false + +var initial_offset = Vector3() + ## Add support for is_xr_class on XRTools classes func is_xr_class(name : String) -> bool: @@ -251,6 +255,13 @@ func _process(_delta): # Update last values last_target = new_target last_collided_at = new_at + + # %1% + if is_grabbing and target: + # target.global_transform.origin = _active_controller.global_transform.origin + # var transform_offset = _active_controller.global_transform.xform(offset) + # var target_position = transformed_offset + target.global_transform = _active_controller.global_transform * initial_offset # Set pointer enabled property @@ -417,17 +428,21 @@ func _update_pointer() -> void: func _button_pressed() -> void: if $RayCast.is_colliding(): # Report pressed + # %2% target = $RayCast.get_collider() last_collided_at = $RayCast.get_collision_point() - XRToolsPointerEvent.pressed(self, target, last_collided_at) + # XRToolsPointerEvent.pressed(self, target, last_collided_at) + is_grabbing = true + initial_offset = _active_controller.global_transform.affine_inverse() * target.global_transform # Pointer-activation button released handler func _button_released() -> void: if target: # Report release - XRToolsPointerEvent.released(self, target, last_collided_at) + # XRToolsPointerEvent.released(self, target, last_collided_at) target = null + is_grabbing = false last_collided_at = Vector3(0, 0, 0) diff --git a/addons/godot-xr-tools/hands/collision_hand.gd b/addons/godot-xr-tools/hands/collision_hand.gd index 594b276..d6356fa 100644 --- a/addons/godot-xr-tools/hands/collision_hand.gd +++ b/addons/godot-xr-tools/hands/collision_hand.gd @@ -78,7 +78,7 @@ func _ready(): # Do not initialise if in the editor if Engine.is_editor_hint(): return - + # Disconnect from parent transform as we move to it in the physics step, # and boost the physics priority above any grab-drivers or hands. top_level = true diff --git a/addons/xr-simulator/XRSimulator.gd b/addons/xr-simulator/XRSimulator.gd new file mode 100644 index 0000000..4c71105 --- /dev/null +++ b/addons/xr-simulator/XRSimulator.gd @@ -0,0 +1,250 @@ +extends Node + +enum ControllerSelectionMode {Hold, Toggle} + +@export var enabled: bool +@export var disable_xr_in_editor: bool = true +@export var controller_selection_mode: ControllerSelectionMode = ControllerSelectionMode.Hold +@export var device_x_sensitivity: float = 1 +@export var device_y_sensitivity: float = 1 +@export var scroll_sensitivity: float = 1 +@export var is_camera_height_limited: bool = true +@export var min_camera_height: float = 0.5 +@export var max_camera_height: float = 2.0 + +var camera: XRCamera3D +var left_controller: XRController3D +var right_controller: XRController3D +var left_tracker: XRPositionalTracker +var right_tracker: XRPositionalTracker + +var toggle_left_controller = false +var toggle_right_controller = false +var toggle_shift = false + +var key_map = { + KEY_1: "by_button", + KEY_2: "ax_button", + KEY_3: "by_touch", + KEY_4: "ax_touch", + KEY_5: "trigger_touch", + KEY_6: "grip_touch", + KEY_7: "secondary_click", + KEY_8: "secondary_touch", + KEY_9: "", + KEY_0: "", + KEY_MINUS: "primary_click", + KEY_EQUAL: "primary_touch", + KEY_BACKSPACE: "", + KEY_ENTER: "menu_button" +} + +@onready var viewport: Viewport = get_viewport() + +func _on_node_added(node: Node): + if node is XRCamera3D: + camera = node + elif node is XRController3D: + var pose = node.pose + if node.tracker == "left_hand": + left_controller = node + left_tracker.set_pose(pose, node.transform, Vector3.ZERO, Vector3.ZERO, XRPose.XR_TRACKING_CONFIDENCE_HIGH) + XRServer.add_tracker(left_tracker) + elif node.tracker == "right_hand": + right_controller = node + right_tracker.set_pose(pose, node.transform, Vector3.ZERO, Vector3.ZERO, XRPose.XR_TRACKING_CONFIDENCE_HIGH) + XRServer.add_tracker(right_tracker) + +func _search_first_xr_nodes(node: Node): + for child in node.get_children(): + _search_first_xr_nodes(child) + _on_node_added(child) + +func _ready(): + if not enabled or not OS.has_feature("editor"): + enabled = false + return + + var left_hand = XRServer.get_tracker("left_hand") + if left_hand == null: + left_tracker = XRPositionalTracker.new() + left_tracker.type = XRServer.TRACKER_CONTROLLER + left_tracker.hand = XRPositionalTracker.TRACKER_HAND_LEFT + left_tracker.name = "left_hand" + else: + left_tracker = left_hand + + var right_hand = XRServer.get_tracker("right_hand") + if right_hand == null: + right_tracker = XRPositionalTracker.new() + right_tracker.type = XRServer.TRACKER_CONTROLLER + right_tracker.hand = XRPositionalTracker.TRACKER_HAND_RIGHT + right_tracker.name = "right_hand" + else: + right_tracker = right_hand + + get_tree().node_added.connect(_on_node_added) + _search_first_xr_nodes(get_tree().root) + Input.mouse_mode = Input.MOUSE_MODE_CAPTURED + +func _process(_delta): + if enabled and disable_xr_in_editor and OS.has_feature("editor") and viewport.use_xr: + viewport.use_xr = false + +func _input(event): + if not enabled or not OS.has_feature("editor"): + return + if not left_tracker or not right_tracker or not camera: + return + if Input.is_key_pressed(KEY_ESCAPE): + Input.mouse_mode = Input.MOUSE_MODE_VISIBLE + elif Input.mouse_mode != Input.MOUSE_MODE_CAPTURED and event is InputEventMouseButton: + Input.mouse_mode = Input.MOUSE_MODE_CAPTURED + + if Input.mouse_mode != Input.MOUSE_MODE_CAPTURED: + return + + simulate_joysticks() + var is_any_controller_selected = false + if event is InputEventMouseMotion: + if Input.is_physical_key_pressed(KEY_Q) or toggle_left_controller: + is_any_controller_selected = true + if Input.is_key_pressed(KEY_SHIFT): + rotate_device(event, left_controller) + else: + move_controller(event, left_controller) + if Input.is_physical_key_pressed(KEY_E) or toggle_right_controller: + is_any_controller_selected = true + if Input.is_key_pressed(KEY_SHIFT): + rotate_device(event, right_controller) + else: + move_controller(event, right_controller) + if not is_any_controller_selected: + rotate_device(event, camera) + elif event is InputEventMouseButton: + if Input.is_physical_key_pressed(KEY_Q) or toggle_left_controller: + is_any_controller_selected = true + attract_controller(event, left_controller) + simulate_trigger(event, left_controller) + simulate_grip(event, left_controller) + if Input.is_physical_key_pressed(KEY_E) or toggle_right_controller: + is_any_controller_selected = true + attract_controller(event, right_controller) + simulate_trigger(event, right_controller) + simulate_grip(event, right_controller) + if not is_any_controller_selected: + camera_height(event) + elif event is InputEventKey: + if controller_selection_mode == ControllerSelectionMode.Toggle and event.pressed: + if event.keycode == KEY_Q: + toggle_left_controller = !toggle_left_controller + elif event.keycode == KEY_E: + toggle_right_controller = !toggle_right_controller + + if Input.is_physical_key_pressed(KEY_Q) or toggle_left_controller: + simulate_buttons(event, left_controller) + if Input.is_physical_key_pressed(KEY_E) or toggle_right_controller: + simulate_buttons(event, right_controller) + +func camera_height(event: InputEventMouseButton): + var direction = -1 + + if not event.pressed: + return + + if event.button_index == MOUSE_BUTTON_WHEEL_UP: + direction = 1 + elif event.button_index != MOUSE_BUTTON_WHEEL_DOWN: + return + + var pos = camera.transform.origin + var camera_y = pos.y + (scroll_sensitivity * direction)/20 + if (camera_y >= max_camera_height or camera_y <= min_camera_height) and is_camera_height_limited: + camera_y = pos.y + camera.transform.origin = Vector3(pos.x, camera_y , pos.z) + +func simulate_joysticks(): + var vec_left = vector_key_mapping(KEY_D, KEY_A, KEY_W, KEY_S) + left_tracker.set_input("primary", vec_left) + + var vec_right = vector_key_mapping(KEY_RIGHT, KEY_LEFT, KEY_UP, KEY_DOWN) + + right_tracker.set_input("primary", vec_right) + +func simulate_trigger(event: InputEventMouseButton, controller: XRController3D): + if event.button_index == MOUSE_BUTTON_LEFT: + if controller.tracker == "left_hand": + left_tracker.set_input("trigger", float(event.pressed)) + left_tracker.set_input("trigger_click", event.pressed) + else: + right_tracker.set_input("trigger", float(event.pressed)) + right_tracker.set_input("trigger_click", event.pressed) + +func simulate_grip(event: InputEventMouseButton, controller: XRController3D): + if event.button_index == MOUSE_BUTTON_RIGHT: + if controller.tracker == "left_hand": + left_tracker.set_input("grip", float(event.pressed)) + left_tracker.set_input("grip_click", event.pressed) + else: + right_tracker.set_input("grip", float(event.pressed)) + right_tracker.set_input("grip_click", event.pressed) + +func simulate_buttons(event: InputEventKey, controller: XRController3D): + if key_map.has(event.keycode): + var button = key_map[event.keycode] + if controller.tracker == "left_hand": + left_tracker.set_input(button, event.pressed) + else: + right_tracker.set_input(button, event.pressed) + +func move_controller(event: InputEventMouseMotion, controller: XRController3D): + if not camera: + return + var movement = Vector3() + movement += camera.global_transform.basis.x * event.relative.x * device_x_sensitivity/1000 + movement += camera.global_transform.basis.y * event.relative.y * -device_y_sensitivity/1000 + controller.global_translate(movement) + +func attract_controller(event: InputEventMouseButton, controller: XRController3D): + if not camera: + return + var direction = -1 + + if not event.pressed: + return + + if event.button_index == MOUSE_BUTTON_WHEEL_UP: + direction = 1 + elif event.button_index != MOUSE_BUTTON_WHEEL_DOWN: + return + + var distance_vector = controller.global_transform.origin - camera.global_transform.origin + var forward = distance_vector.normalized() * direction + var movement = distance_vector + forward * (scroll_sensitivity/20) + if distance_vector.length() > 0.1 and movement.length() > 0.1: + controller.global_translate(forward * (scroll_sensitivity/20)) + +func rotate_device(event: InputEventMouseMotion, device: Node3D): + var motion = event.relative + device.rotate_y(motion.x * -device_x_sensitivity/1000) + device.rotate(device.transform.basis.x, motion.y * -device_y_sensitivity/1000) + +func vector_key_mapping(key_positive_x: int, key_negative_x: int, key_positive_y: int, key_negative_y: int): + var x = 0 + var y = 0 + if Input.is_physical_key_pressed (key_positive_y): + y = 1 + elif Input.is_physical_key_pressed (key_negative_y): + y = -1 + + if Input.is_physical_key_pressed (key_positive_x): + x = 1 + elif Input.is_physical_key_pressed (key_negative_x): + x = -1 + + var vec = Vector2(x, y) + + if vec: + vec = vec.normalized() + + return vec diff --git a/addons/xr-simulator/XRSimulator.tscn b/addons/xr-simulator/XRSimulator.tscn new file mode 100644 index 0000000..00befb0 --- /dev/null +++ b/addons/xr-simulator/XRSimulator.tscn @@ -0,0 +1,7 @@ +[gd_scene load_steps=2 format=3 uid="uid://ctltchlf2j2r4"] + +[ext_resource type="Script" path="res://addons/xr-simulator/XRSimulator.gd" id="1_uljju"] + +[node name="XRSimulator" type="Node"] +script = ExtResource("1_uljju") +enabled = true diff --git a/game/audio/sound/deeper step.wav b/game/audio/sound/deeper step.wav new file mode 100644 index 0000000..d4cecc5 Binary files /dev/null and b/game/audio/sound/deeper step.wav differ diff --git a/game/audio/sound/deeper step.wav.import b/game/audio/sound/deeper step.wav.import new file mode 100644 index 0000000..4f58f60 --- /dev/null +++ b/game/audio/sound/deeper step.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://b70nrvb1cai41" +path="res://.godot/imported/deeper step.wav-f2cc61e4b4bcec5ae7a30da6f9cc3bf3.sample" + +[deps] + +source_file="res://game/audio/sound/deeper step.wav" +dest_files=["res://.godot/imported/deeper step.wav-f2cc61e4b4bcec5ae7a30da6f9cc3bf3.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/game/audio/sound/door sound.mp3 b/game/audio/sound/door sound.mp3 new file mode 100644 index 0000000..25fb169 Binary files /dev/null and b/game/audio/sound/door sound.mp3 differ diff --git a/game/audio/sound/door sound.mp3.import b/game/audio/sound/door sound.mp3.import new file mode 100644 index 0000000..96086b5 --- /dev/null +++ b/game/audio/sound/door sound.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://dbpo42heq6cfq" +path="res://.godot/imported/door sound.mp3-fdd57878ab95283a7872a5046eb52e98.mp3str" + +[deps] + +source_file="res://game/audio/sound/door sound.mp3" +dest_files=["res://.godot/imported/door sound.mp3-fdd57878ab95283a7872a5046eb52e98.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/game/audio/sound/metallic hum.mp3 b/game/audio/sound/metallic hum.mp3 new file mode 100644 index 0000000..f679778 Binary files /dev/null and b/game/audio/sound/metallic hum.mp3 differ diff --git a/game/audio/sound/metallic hum.mp3.import b/game/audio/sound/metallic hum.mp3.import new file mode 100644 index 0000000..ca5f07a --- /dev/null +++ b/game/audio/sound/metallic hum.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://dmjpb0i32mq70" +path="res://.godot/imported/metallic hum.mp3-04b972c337a4fbfb985b761925196b35.mp3str" + +[deps] + +source_file="res://game/audio/sound/metallic hum.mp3" +dest_files=["res://.godot/imported/metallic hum.mp3-04b972c337a4fbfb985b761925196b35.mp3str"] + +[params] + +loop=true +loop_offset=50.0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/game/corridors/hall_Doors/hall_door_switch.gd b/game/corridors/hall_Doors/hall_door_switch.gd new file mode 100644 index 0000000..185638e --- /dev/null +++ b/game/corridors/hall_Doors/hall_door_switch.gd @@ -0,0 +1,20 @@ +extends Node3D + +var sliderObject +var leftDoorAnim +var rightDoorAnim +var doorOpened = false + +# Called when the node enters the scene tree for the first time. +func _ready(): + sliderObject = get_node("SliderSmooth/SliderOrigin/XRToolsInteractableSlider") + leftDoorAnim = get_node("DoorLeft/AnimationPlayerLeft") + rightDoorAnim = get_node("DoorRight/AnimationPlayerRight") + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(_delta): + if sliderObject.slider_position == sliderObject.slider_limit_min && leftDoorAnim.is_playing() != true && doorOpened == false: + leftDoorAnim.play("LeftDoorOpen") + rightDoorAnim.play("RightDoorOpen") + doorOpened = true diff --git a/game/corridors/hall_Doors/hall_door.tscn b/game/corridors/hall_Doors/hall_door_switch.tscn similarity index 53% rename from game/corridors/hall_Doors/hall_door.tscn rename to game/corridors/hall_Doors/hall_door_switch.tscn index 7511e37..a1b04ed 100644 --- a/game/corridors/hall_Doors/hall_door.tscn +++ b/game/corridors/hall_Doors/hall_door_switch.tscn @@ -1,46 +1,63 @@ -[gd_scene load_steps=28 format=3 uid="uid://cw7o7val5eqha"] - -[ext_resource type="PackedScene" uid="uid://dis04ooxoona" path="res://game/corridors/hall_Doors/Hall - DoorBody - Texture.gltf" id="1_4wjuf"] -[ext_resource type="Material" uid="uid://copf0iiqkauf4" path="res://game/corridors/hall_Doors/Corridor_Door.tres" id="2_dmewy"] -[ext_resource type="Material" uid="uid://d077ewkp6yct4" path="res://game/corridors/hall_Doors/Door.tres" id="3_sfcvc"] -[ext_resource type="Texture2D" uid="uid://bjn7eu6iun2q5" path="res://game/corridors/hall_Doors/Doors - Albedo.png" id="4_aeflm"] -[ext_resource type="Texture2D" uid="uid://ddydop0ayye8l" path="res://game/corridors/hall_Doors/Doors - Normal.png" id="5_tn185"] - -[sub_resource type="BoxShape3D" id="BoxShape3D_r278o"] +[gd_scene load_steps=61 format=3 uid="uid://cw7o7val5eqha"] + +[ext_resource type="PackedScene" uid="uid://dis04ooxoona" path="res://game/corridors/hall_Doors/Hall - DoorBody - Texture.gltf" id="1_cu6by"] +[ext_resource type="Script" path="res://game/corridors/hall_Doors/hall_door_switch.gd" id="2_6f56y"] +[ext_resource type="Material" uid="uid://copf0iiqkauf4" path="res://game/corridors/hall_Doors/Corridor_Door.tres" id="2_nbjjk"] +[ext_resource type="Material" uid="uid://d077ewkp6yct4" path="res://game/corridors/hall_Doors/Door.tres" id="3_07uo1"] +[ext_resource type="Texture2D" uid="uid://bjn7eu6iun2q5" path="res://game/corridors/hall_Doors/Doors - Albedo.png" id="4_68b4w"] +[ext_resource type="Texture2D" uid="uid://ddydop0ayye8l" path="res://game/corridors/hall_Doors/Doors - Normal.png" id="5_huskj"] +[ext_resource type="Material" uid="uid://bmkt6kjshgpa2" path="res://game/interactables/switch/SwitchBody.tres" id="7_ojh8n"] +[ext_resource type="Texture2D" uid="uid://dvw8qjquqn1nn" path="res://game/interactables/switch/switchBase - Albedo.png" id="8_5vrau"] +[ext_resource type="Texture2D" uid="uid://c7qru7m4bigro" path="res://game/interactables/switch/switchBase - Emmission.png" id="9_dyr81"] +[ext_resource type="Texture2D" uid="uid://dvmretpbidh2c" path="res://game/interactables/switch/switchBase - Normal.png" id="10_uihcf"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_slider.gd" id="11_vr8ds"] +[ext_resource type="Material" uid="uid://d1r28kkot7tj6" path="res://game/interactables/switch/SwitchHandle.tres" id="12_bpglw"] +[ext_resource type="Texture2D" uid="uid://bk18s7bsc2b6g" path="res://game/interactables/switch/switchHandle - Albedo.png" id="13_hojkp"] +[ext_resource type="Texture2D" uid="uid://q8jjkcq0ahxj" path="res://game/interactables/switch/switchHandle - Emmission.png" id="14_lv5jj"] +[ext_resource type="Texture2D" uid="uid://mle1lwv4i8rg" path="res://game/interactables/switch/switchHandle - Normal.png" id="15_87u0b"] +[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="16_orqqc"] +[ext_resource type="Animation" uid="uid://db62hs5s4n2b3" path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.res" id="17_tmbkl"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="18_ckc72"] +[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="19_2cif2"] +[ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="20_n6bud"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="21_o6jr7"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_redirect.gd" id="22_0sl46"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_jn6hd"] size = Vector3(2.10962, 0.0603027, 2.508) -[sub_resource type="BoxShape3D" id="BoxShape3D_2ljdi"] +[sub_resource type="BoxShape3D" id="BoxShape3D_ytohg"] size = Vector3(2.10657, 0.0603027, 2.49702) -[sub_resource type="BoxShape3D" id="BoxShape3D_j26ic"] +[sub_resource type="BoxShape3D" id="BoxShape3D_v2krq"] size = Vector3(2.1084, 0.0603027, 1.51093) -[sub_resource type="BoxShape3D" id="BoxShape3D_hdfka"] +[sub_resource type="BoxShape3D" id="BoxShape3D_hnj36"] size = Vector3(2.1084, 0.0603027, 1.50861) -[sub_resource type="BoxShape3D" id="BoxShape3D_asgfl"] +[sub_resource type="BoxShape3D" id="BoxShape3D_c6q6a"] size = Vector3(2.10937, 0.0603027, 0.630562) -[sub_resource type="BoxShape3D" id="BoxShape3D_7o3kq"] +[sub_resource type="BoxShape3D" id="BoxShape3D_ko22k"] size = Vector3(2.10705, 0.0603027, 0.644722) -[sub_resource type="BoxShape3D" id="BoxShape3D_bos66"] +[sub_resource type="BoxShape3D" id="BoxShape3D_awmtm"] size = Vector3(2.1051, 0.0603027, 0.625231) -[sub_resource type="BoxShape3D" id="BoxShape3D_734lp"] +[sub_resource type="BoxShape3D" id="BoxShape3D_ced0x"] size = Vector3(2.10461, 0.0603027, 0.631599) -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_o8i55"] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_urc5l"] resource_name = "Material.003" cull_mode = 2 -albedo_texture = ExtResource("4_aeflm") +albedo_texture = ExtResource("4_68b4w") metallic = 1.0 metallic_texture_channel = 2 roughness_texture_channel = 1 normal_enabled = true -normal_texture = ExtResource("5_tn185") +normal_texture = ExtResource("5_huskj") -[sub_resource type="ArrayMesh" id="ArrayMesh_a10ta"] +[sub_resource type="ArrayMesh" id="ArrayMesh_0sca0"] _surfaces = [{ "aabb": AABB(-1.1, -1.00026, -1.5, 0.2, 2.00052, 1.78654), "format": 34896613377, @@ -55,7 +72,7 @@ _surfaces = [{ }] blend_shape_mode = 0 -[sub_resource type="ArrayMesh" id="ArrayMesh_8dta4"] +[sub_resource type="ArrayMesh" id="ArrayMesh_kjueo"] resource_name = "Hall - DoorLeft - Texture_Plane_002" _surfaces = [{ "aabb": AABB(-1.1, -1.00026, -1.5, 0.2, 2.00052, 1.78654), @@ -64,7 +81,7 @@ _surfaces = [{ "index_count": 1086, "index_data": PackedByteArray(99, 1, 24, 0, 22, 0, 99, 1, 96, 1, 24, 0, 2, 0, 32, 0, 17, 0, 2, 0, 14, 0, 32, 0, 101, 1, 33, 0, 92, 1, 33, 0, 55, 0, 57, 0, 33, 0, 101, 1, 55, 0, 108, 1, 130, 1, 135, 1, 108, 1, 111, 1, 130, 1, 12, 0, 140, 1, 151, 1, 12, 0, 1, 0, 140, 1, 104, 1, 119, 1, 112, 1, 104, 1, 106, 1, 119, 1, 97, 1, 30, 0, 25, 0, 97, 1, 90, 1, 30, 0, 103, 1, 113, 1, 61, 0, 103, 1, 105, 1, 113, 1, 59, 0, 41, 0, 35, 0, 59, 0, 66, 0, 41, 0, 89, 1, 18, 0, 16, 0, 89, 1, 94, 1, 18, 0, 70, 0, 82, 0, 67, 0, 70, 0, 85, 0, 82, 0, 76, 0, 88, 0, 73, 0, 76, 0, 91, 0, 88, 0, 73, 0, 94, 0, 103, 0, 73, 0, 88, 0, 94, 0, 79, 0, 91, 0, 76, 0, 79, 0, 97, 0, 91, 0, 67, 0, 97, 0, 79, 0, 67, 0, 82, 0, 97, 0, 101, 0, 101, 1, 92, 1, 101, 1, 126, 0, 123, 0, 101, 1, 101, 0, 126, 0, 104, 1, 143, 0, 106, 1, 104, 1, 136, 0, 143, 0, 80, 0, 163, 0, 69, 0, 80, 0, 174, 0, 163, 0, 100, 0, 70, 0, 106, 0, 100, 0, 85, 0, 70, 0, 152, 0, 87, 1, 110, 1, 87, 1, 150, 0, 96, 0, 87, 1, 152, 0, 150, 0, 154, 0, 109, 0, 103, 0, 112, 0, 131, 0, 106, 0, 145, 0, 109, 0, 154, 0, 112, 0, 138, 0, 131, 0, 145, 0, 112, 0, 109, 0, 112, 0, 145, 0, 138, 0, 91, 1, 83, 0, 88, 1, 91, 1, 99, 0, 83, 0, 95, 1, 102, 0, 93, 1, 95, 1, 87, 0, 102, 0, 107, 1, 160, 0, 109, 1, 107, 1, 144, 0, 160, 0, 94, 0, 154, 0, 103, 0, 94, 0, 148, 0, 154, 0, 108, 1, 153, 0, 111, 1, 108, 1, 159, 0, 153, 0, 89, 1, 86, 0, 94, 1, 89, 1, 84, 0, 86, 0, 103, 1, 137, 0, 105, 1, 103, 1, 130, 0, 137, 0, 99, 1, 92, 0, 96, 1, 99, 1, 90, 0, 92, 0, 86, 1, 89, 0, 98, 1, 86, 1, 95, 0, 89, 0, 124, 0, 106, 0, 131, 0, 124, 0, 100, 0, 106, 0, 97, 1, 98, 0, 90, 1, 97, 1, 93, 0, 98, 0, 71, 0, 177, 0, 107, 0, 71, 0, 165, 0, 177, 0, 108, 0, 186, 0, 113, 0, 108, 0, 178, 0, 186, 0, 68, 0, 166, 0, 72, 0, 68, 0, 162, 0, 166, 0, 110, 0, 183, 0, 104, 0, 110, 0, 180, 0, 183, 0, 74, 0, 172, 0, 78, 0, 74, 0, 168, 0, 172, 0, 77, 0, 175, 0, 81, 0, 77, 0, 171, 0, 175, 0, 105, 0, 169, 0, 75, 0, 105, 0, 184, 0, 169, 0, 114, 0, 181, 0, 111, 0, 114, 0, 187, 0, 181, 0, 121, 0, 132, 0, 127, 0, 121, 0, 125, 0, 132, 0, 140, 0, 128, 0, 133, 0, 140, 0, 135, 0, 128, 0, 134, 0, 146, 0, 141, 0, 134, 0, 139, 0, 146, 0, 149, 0, 157, 0, 155, 0, 149, 0, 151, 0, 157, 0, 142, 0, 156, 0, 158, 0, 142, 0, 147, 0, 156, 0, 100, 1, 129, 0, 102, 1, 100, 1, 122, 0, 129, 0, 35, 1, 228, 0, 60, 1, 35, 1, 210, 0, 228, 0, 78, 1, 217, 0, 40, 1, 78, 1, 223, 0, 217, 0, 49, 1, 208, 0, 57, 1, 49, 1, 213, 0, 208, 0, 62, 1, 164, 0, 30, 1, 62, 1, 176, 0, 164, 0, 30, 1, 164, 0, 161, 0, 82, 1, 220, 0, 68, 1, 82, 1, 226, 0, 220, 0, 72, 1, 179, 0, 69, 1, 72, 1, 182, 0, 179, 0, 67, 1, 222, 0, 77, 1, 67, 1, 219, 0, 222, 0, 44, 1, 167, 0, 41, 1, 44, 1, 170, 0, 167, 0, 30, 1, 173, 0, 51, 1, 30, 1, 161, 0, 173, 0, 39, 1, 214, 0, 50, 1, 39, 1, 216, 0, 214, 0, 83, 1, 176, 0, 62, 1, 83, 1, 185, 0, 176, 0, 61, 1, 225, 0, 81, 1, 61, 1, 229, 0, 225, 0, 51, 1, 170, 0, 44, 1, 51, 1, 173, 0, 170, 0, 41, 1, 182, 0, 72, 1, 41, 1, 167, 0, 182, 0, 69, 1, 185, 0, 83, 1, 69, 1, 179, 0, 185, 0, 191, 0, 206, 0, 188, 0, 191, 0, 209, 0, 206, 0, 188, 0, 212, 0, 118, 0, 188, 0, 206, 0, 212, 0, 118, 0, 215, 0, 115, 0, 118, 0, 212, 0, 215, 0, 197, 0, 218, 0, 194, 0, 197, 0, 221, 0, 218, 0, 194, 0, 224, 0, 200, 0, 194, 0, 218, 0, 224, 0, 200, 0, 227, 0, 203, 0, 200, 0, 224, 0, 227, 0, 115, 0, 221, 0, 197, 0, 115, 0, 215, 0, 221, 0, 203, 0, 209, 0, 191, 0, 203, 0, 227, 0, 209, 0, 120, 0, 235, 0, 189, 0, 120, 0, 250, 0, 235, 0, 230, 0, 23, 1, 241, 0, 23, 1, 2, 1, 16, 1, 2, 1, 251, 0, 13, 1, 251, 0, 230, 0, 244, 0, 230, 0, 2, 1, 23, 1, 2, 1, 230, 0, 251, 0, 196, 0, 12, 1, 199, 0, 196, 0, 8, 1, 12, 1, 193, 0, 29, 1, 205, 0, 193, 0, 240, 0, 29, 1, 198, 0, 0, 1, 116, 0, 198, 0, 11, 1, 0, 1, 117, 0, 249, 0, 119, 0, 117, 0, 1, 1, 249, 0, 204, 0, 22, 1, 202, 0, 204, 0, 28, 1, 22, 1, 201, 0, 7, 1, 195, 0, 201, 0, 21, 1, 7, 1, 233, 0, 242, 0, 237, 0, 233, 0, 231, 0, 242, 0, 247, 0, 232, 0, 234, 0, 247, 0, 245, 0, 232, 0, 255, 0, 246, 0, 248, 0, 255, 0, 253, 0, 246, 0, 5, 1, 14, 1, 9, 1, 5, 1, 3, 1, 14, 1, 4, 1, 20, 1, 18, 1, 4, 1, 6, 1, 20, 1, 17, 1, 26, 1, 24, 1, 17, 1, 19, 1, 26, 1, 10, 1, 252, 0, 254, 0, 10, 1, 15, 1, 252, 0, 238, 0, 25, 1, 27, 1, 238, 0, 243, 0, 25, 1, 190, 0, 239, 0, 192, 0, 190, 0, 236, 0, 239, 0, 43, 1, 47, 1, 45, 1, 43, 1, 38, 1, 47, 1, 46, 1, 55, 1, 53, 1, 46, 1, 48, 1, 55, 1, 52, 1, 33, 1, 31, 1, 52, 1, 54, 1, 33, 1, 71, 1, 75, 1, 73, 1, 71, 1, 66, 1, 75, 1, 65, 1, 84, 1, 79, 1, 65, 1, 70, 1, 84, 1, 80, 1, 64, 1, 59, 1, 80, 1, 85, 1, 64, 1, 74, 1, 37, 1, 42, 1, 74, 1, 76, 1, 37, 1, 32, 1, 58, 1, 63, 1, 32, 1, 34, 1, 58, 1, 56, 1, 211, 0, 36, 1, 56, 1, 207, 0, 211, 0, 95, 1, 34, 0, 19, 0, 95, 1, 93, 1, 34, 0, 91, 1, 15, 0, 31, 0, 91, 1, 88, 1, 15, 0, 44, 0, 134, 1, 38, 0, 44, 0, 125, 1, 134, 1, 66, 0, 47, 0, 41, 0, 47, 0, 125, 1, 44, 0, 118, 1, 47, 0, 66, 0, 125, 1, 47, 0, 118, 1, 87, 1, 129, 1, 110, 1, 129, 1, 28, 0, 126, 1, 129, 1, 87, 1, 28, 0, 35, 0, 5, 0, 20, 0, 35, 0, 41, 0, 5, 0, 5, 0, 17, 0, 20, 0, 5, 0, 2, 0, 17, 0, 3, 0, 154, 1, 142, 1, 3, 0, 39, 0, 154, 1, 86, 1, 21, 0, 27, 0, 86, 1, 98, 1, 21, 0, 11, 0, 23, 0, 26, 0, 11, 0, 8, 0, 23, 0, 8, 0, 29, 0, 23, 0, 8, 0, 38, 0, 29, 0, 14, 0, 26, 0, 32, 0, 14, 0, 11, 0, 26, 0, 107, 1, 136, 1, 120, 1, 107, 1, 109, 1, 136, 1, 29, 0, 134, 1, 128, 1, 29, 0, 38, 0, 134, 1, 40, 0, 163, 1, 155, 1, 40, 0, 45, 0, 163, 1, 0, 0, 143, 1, 139, 1, 0, 0, 4, 0, 143, 1, 42, 0, 160, 1, 157, 1, 42, 0, 36, 0, 160, 1, 6, 0, 149, 1, 145, 1, 6, 0, 10, 0, 149, 1, 9, 0, 152, 1, 148, 1, 9, 0, 13, 0, 152, 1, 37, 0, 146, 1, 161, 1, 37, 0, 7, 0, 146, 1, 46, 0, 158, 1, 164, 1, 46, 0, 43, 0, 158, 1, 56, 0, 65, 0, 58, 0, 56, 0, 63, 0, 65, 0, 116, 1, 62, 0, 114, 1, 116, 1, 64, 0, 62, 0, 115, 1, 124, 1, 117, 1, 115, 1, 122, 1, 124, 1, 127, 1, 138, 1, 131, 1, 127, 1, 133, 1, 138, 1, 121, 1, 132, 1, 123, 1, 121, 1, 137, 1, 132, 1, 100, 1, 60, 0, 54, 0, 100, 1, 102, 1, 60, 0, 11, 2, 205, 1, 187, 1, 11, 2, 36, 2, 205, 1, 54, 2, 194, 1, 200, 1, 54, 2, 16, 2, 194, 1, 25, 2, 185, 1, 190, 1, 25, 2, 33, 2, 185, 1, 42, 2, 144, 1, 156, 1, 42, 2, 10, 2, 144, 1, 10, 2, 141, 1, 144, 1, 58, 2, 197, 1, 203, 1, 58, 2, 44, 2, 197, 1, 52, 2, 159, 1, 162, 1, 52, 2, 49, 2, 159, 1, 43, 2, 199, 1, 196, 1, 43, 2, 53, 2, 199, 1, 24, 2, 147, 1, 150, 1, 24, 2, 21, 2, 147, 1, 10, 2, 153, 1, 141, 1, 10, 2, 31, 2, 153, 1, 15, 2, 191, 1, 193, 1, 15, 2, 26, 2, 191, 1, 63, 2, 156, 1, 165, 1, 63, 2, 42, 2, 156, 1, 37, 2, 202, 1, 206, 1, 37, 2, 57, 2, 202, 1, 31, 2, 150, 1, 153, 1, 31, 2, 24, 2, 150, 1, 21, 2, 162, 1, 147, 1, 21, 2, 52, 2, 162, 1, 49, 2, 165, 1, 159, 1, 49, 2, 63, 2, 165, 1, 171, 1, 186, 1, 189, 1, 171, 1, 168, 1, 186, 1, 168, 1, 192, 1, 186, 1, 168, 1, 53, 0, 192, 1, 53, 0, 195, 1, 192, 1, 53, 0, 50, 0, 195, 1, 177, 1, 198, 1, 201, 1, 177, 1, 174, 1, 198, 1, 174, 1, 204, 1, 198, 1, 174, 1, 180, 1, 204, 1, 180, 1, 207, 1, 204, 1, 180, 1, 183, 1, 207, 1, 50, 0, 201, 1, 195, 1, 50, 0, 177, 1, 201, 1, 183, 1, 189, 1, 207, 1, 183, 1, 171, 1, 189, 1, 52, 0, 211, 1, 226, 1, 52, 0, 166, 1, 211, 1, 3, 2, 210, 1, 221, 1, 210, 1, 231, 1, 224, 1, 231, 1, 238, 1, 249, 1, 238, 1, 3, 2, 252, 1, 3, 2, 231, 1, 210, 1, 231, 1, 3, 2, 238, 1, 173, 1, 244, 1, 240, 1, 173, 1, 176, 1, 244, 1, 170, 1, 5, 2, 216, 1, 170, 1, 182, 1, 5, 2, 175, 1, 232, 1, 243, 1, 175, 1, 48, 0, 232, 1, 49, 0, 225, 1, 233, 1, 49, 0, 51, 0, 225, 1, 181, 1, 254, 1, 4, 2, 181, 1, 179, 1, 254, 1, 178, 1, 239, 1, 253, 1, 178, 1, 172, 1, 239, 1, 214, 1, 220, 1, 209, 1, 214, 1, 218, 1, 220, 1, 228, 1, 208, 1, 223, 1, 228, 1, 213, 1, 208, 1, 234, 1, 222, 1, 229, 1, 234, 1, 227, 1, 222, 1, 242, 1, 248, 1, 237, 1, 242, 1, 246, 1, 248, 1, 236, 1, 255, 1, 241, 1, 236, 1, 250, 1, 255, 1, 251, 1, 7, 2, 0, 2, 251, 1, 2, 2, 7, 2, 245, 1, 230, 1, 247, 1, 245, 1, 235, 1, 230, 1, 217, 1, 1, 2, 219, 1, 217, 1, 6, 2, 1, 2, 167, 1, 215, 1, 212, 1, 167, 1, 169, 1, 215, 1, 19, 2, 28, 2, 17, 2, 19, 2, 23, 2, 28, 2, 22, 2, 34, 2, 27, 2, 22, 2, 29, 2, 34, 2, 30, 2, 14, 2, 35, 2, 30, 2, 9, 2, 14, 2, 47, 2, 56, 2, 45, 2, 47, 2, 51, 2, 56, 2, 46, 2, 62, 2, 48, 2, 46, 2, 60, 2, 62, 2, 59, 2, 40, 2, 61, 2, 59, 2, 38, 2, 40, 2, 50, 2, 18, 2, 55, 2, 50, 2, 20, 2, 18, 2, 8, 2, 39, 2, 13, 2, 8, 2, 41, 2, 39, 2, 32, 2, 188, 1, 184, 1, 32, 2, 12, 2, 188, 1), "lods": [0.24826, PackedByteArray(73, 2, 24, 0, 66, 2, 73, 2, 96, 1, 24, 0, 73, 2, 92, 0, 96, 1, 150, 0, 73, 2, 66, 2, 150, 0, 66, 2, 27, 0, 129, 1, 150, 0, 27, 0, 129, 1, 27, 0, 126, 1, 150, 0, 129, 1, 110, 1, 152, 0, 150, 0, 110, 1, 2, 0, 32, 0, 17, 0, 2, 0, 14, 0, 32, 0, 5, 0, 2, 0, 17, 0, 14, 0, 26, 0, 32, 0, 5, 0, 17, 0, 69, 2, 14, 0, 11, 0, 26, 0, 11, 0, 23, 0, 26, 0, 11, 0, 8, 0, 23, 0, 8, 0, 29, 0, 23, 0, 8, 0, 38, 0, 29, 0, 69, 2, 41, 0, 5, 0, 69, 2, 70, 2, 41, 0, 56, 0, 70, 2, 69, 2, 70, 2, 47, 0, 41, 0, 103, 2, 47, 0, 70, 2, 104, 2, 47, 0, 103, 2, 47, 0, 104, 2, 44, 0, 44, 0, 105, 2, 38, 0, 29, 0, 38, 0, 105, 2, 44, 0, 104, 2, 105, 2, 104, 2, 137, 1, 105, 2, 105, 2, 137, 1, 131, 1, 101, 1, 57, 0, 126, 0, 57, 0, 101, 1, 55, 0, 101, 1, 126, 0, 123, 0, 89, 1, 126, 0, 57, 0, 89, 1, 84, 0, 126, 0, 89, 1, 57, 0, 16, 0, 135, 1, 111, 1, 130, 1, 135, 1, 153, 0, 111, 1, 135, 1, 159, 0, 153, 0, 107, 1, 159, 0, 135, 1, 107, 1, 144, 0, 159, 0, 107, 1, 135, 1, 120, 1, 65, 2, 140, 1, 107, 2, 65, 2, 1, 0, 140, 1, 9, 0, 65, 2, 107, 2, 9, 0, 107, 2, 148, 1, 104, 1, 119, 1, 112, 1, 104, 1, 106, 1, 119, 1, 104, 1, 143, 0, 106, 1, 104, 1, 136, 0, 143, 0, 97, 1, 67, 2, 25, 0, 97, 1, 74, 2, 67, 2, 97, 1, 93, 0, 74, 2, 67, 2, 74, 2, 83, 0, 67, 2, 83, 0, 88, 1, 67, 2, 88, 1, 15, 0, 129, 0, 113, 1, 60, 0, 129, 0, 105, 1, 113, 1, 129, 0, 137, 0, 105, 1, 100, 1, 129, 0, 60, 0, 100, 1, 122, 0, 129, 0, 100, 1, 60, 0, 54, 0, 70, 0, 82, 0, 67, 0, 67, 0, 82, 0, 97, 0, 67, 0, 97, 0, 79, 0, 79, 0, 97, 0, 91, 0, 79, 0, 91, 0, 76, 0, 76, 0, 91, 0, 88, 0, 76, 0, 88, 0, 73, 0, 70, 0, 76, 2, 82, 0, 76, 2, 70, 0, 106, 0, 112, 0, 76, 2, 106, 0, 112, 0, 77, 2, 76, 2, 112, 0, 78, 2, 77, 2, 121, 0, 76, 2, 127, 0, 134, 0, 127, 0, 124, 0, 78, 2, 112, 0, 109, 0, 78, 2, 109, 0, 148, 0, 73, 0, 88, 0, 148, 0, 78, 2, 148, 0, 157, 0, 148, 0, 151, 0, 157, 0, 73, 0, 148, 0, 103, 0, 148, 0, 109, 0, 103, 0, 72, 2, 163, 0, 69, 0, 72, 2, 80, 2, 163, 0, 77, 0, 80, 2, 72, 2, 77, 0, 171, 0, 80, 2, 71, 0, 177, 0, 107, 0, 71, 0, 165, 0, 177, 0, 68, 0, 165, 0, 71, 0, 68, 0, 162, 0, 165, 0, 108, 0, 186, 0, 113, 0, 108, 0, 178, 0, 186, 0, 110, 0, 183, 0, 104, 0, 110, 0, 180, 0, 183, 0, 71, 2, 172, 0, 78, 0, 71, 2, 79, 2, 172, 0, 105, 0, 79, 2, 71, 2, 105, 0, 184, 0, 79, 2, 114, 0, 181, 0, 111, 0, 114, 0, 187, 0, 181, 0, 35, 1, 228, 0, 60, 1, 35, 1, 210, 0, 228, 0, 101, 2, 217, 0, 94, 2, 101, 2, 223, 0, 217, 0, 74, 1, 101, 2, 94, 2, 74, 1, 94, 2, 42, 1, 95, 2, 82, 2, 97, 2, 95, 2, 83, 2, 82, 2, 39, 1, 216, 0, 83, 2, 39, 1, 83, 2, 96, 2, 98, 2, 82, 2, 211, 0, 98, 2, 211, 0, 36, 1, 99, 2, 164, 0, 93, 2, 93, 2, 164, 0, 161, 0, 99, 2, 176, 0, 164, 0, 93, 2, 161, 0, 173, 0, 102, 2, 176, 0, 99, 2, 93, 2, 173, 0, 51, 1, 102, 2, 185, 0, 176, 0, 51, 1, 173, 0, 170, 0, 100, 2, 185, 0, 102, 2, 51, 1, 170, 0, 44, 1, 100, 2, 179, 0, 185, 0, 44, 1, 170, 0, 167, 0, 72, 1, 179, 0, 100, 2, 100, 2, 75, 1, 72, 1, 72, 1, 182, 0, 179, 0, 41, 1, 182, 0, 72, 1, 41, 1, 167, 0, 182, 0, 44, 1, 167, 0, 41, 1, 41, 1, 38, 1, 44, 1, 82, 1, 220, 0, 68, 1, 82, 1, 226, 0, 220, 0, 67, 1, 222, 0, 77, 1, 67, 1, 219, 0, 222, 0, 61, 1, 225, 0, 81, 1, 61, 1, 229, 0, 225, 0, 191, 0, 206, 0, 188, 0, 188, 0, 206, 0, 212, 0, 191, 0, 209, 0, 206, 0, 188, 0, 212, 0, 118, 0, 203, 0, 209, 0, 191, 0, 118, 0, 212, 0, 215, 0, 203, 0, 227, 0, 209, 0, 118, 0, 215, 0, 115, 0, 200, 0, 227, 0, 203, 0, 115, 0, 215, 0, 221, 0, 200, 0, 224, 0, 227, 0, 115, 0, 221, 0, 197, 0, 194, 0, 224, 0, 200, 0, 197, 0, 221, 0, 218, 0, 194, 0, 218, 0, 224, 0, 197, 0, 218, 0, 194, 0, 120, 0, 235, 0, 81, 2, 120, 0, 250, 0, 235, 0, 81, 2, 235, 0, 239, 0, 81, 2, 239, 0, 192, 0, 84, 2, 92, 2, 85, 2, 84, 2, 89, 2, 92, 2, 92, 2, 89, 2, 91, 2, 89, 2, 84, 2, 13, 1, 89, 2, 13, 1, 9, 1, 13, 1, 84, 2, 86, 2, 88, 2, 13, 1, 86, 2, 196, 0, 12, 1, 199, 0, 196, 0, 8, 1, 12, 1, 193, 0, 29, 1, 205, 0, 193, 0, 240, 0, 29, 1, 198, 0, 87, 2, 75, 2, 198, 0, 90, 2, 87, 2, 90, 2, 15, 1, 87, 2, 75, 2, 1, 1, 249, 0, 75, 2, 249, 0, 119, 0, 204, 0, 22, 1, 202, 0, 204, 0, 28, 1, 22, 1, 201, 0, 7, 1, 195, 0, 201, 0, 21, 1, 7, 1, 3, 0, 154, 1, 142, 1, 3, 0, 39, 0, 154, 1, 0, 0, 3, 0, 142, 1, 0, 0, 142, 1, 139, 1, 40, 0, 163, 1, 155, 1, 40, 0, 45, 0, 163, 1, 42, 0, 160, 1, 157, 1, 42, 0, 36, 0, 160, 1, 64, 2, 149, 1, 106, 2, 64, 2, 10, 0, 149, 1, 37, 0, 64, 2, 106, 2, 37, 0, 106, 2, 161, 1, 46, 0, 158, 1, 164, 1, 46, 0, 43, 0, 158, 1, 11, 2, 205, 1, 187, 1, 11, 2, 36, 2, 205, 1, 131, 2, 194, 1, 200, 1, 131, 2, 123, 2, 194, 1, 50, 2, 123, 2, 131, 2, 50, 2, 20, 2, 123, 2, 125, 2, 109, 2, 111, 2, 125, 2, 12, 2, 110, 2, 15, 2, 126, 2, 111, 2, 15, 2, 111, 2, 193, 1, 128, 2, 144, 1, 156, 1, 132, 2, 128, 2, 156, 1, 128, 2, 122, 2, 144, 1, 132, 2, 156, 1, 165, 1, 122, 2, 141, 1, 144, 1, 129, 2, 132, 2, 165, 1, 122, 2, 153, 1, 141, 1, 129, 2, 165, 1, 159, 1, 122, 2, 127, 2, 153, 1, 127, 2, 150, 1, 153, 1, 130, 2, 129, 2, 159, 1, 129, 2, 130, 2, 56, 2, 130, 2, 159, 1, 162, 1, 124, 2, 130, 2, 162, 1, 127, 2, 147, 1, 150, 1, 124, 2, 162, 1, 147, 1, 127, 2, 124, 2, 147, 1, 124, 2, 127, 2, 17, 2, 58, 2, 197, 1, 203, 1, 58, 2, 44, 2, 197, 1, 43, 2, 199, 1, 196, 1, 43, 2, 53, 2, 199, 1, 37, 2, 202, 1, 206, 1, 37, 2, 57, 2, 202, 1, 171, 1, 186, 1, 189, 1, 171, 1, 168, 1, 186, 1, 183, 1, 171, 1, 189, 1, 168, 1, 192, 1, 186, 1, 183, 1, 189, 1, 207, 1, 168, 1, 53, 0, 192, 1, 180, 1, 183, 1, 207, 1, 53, 0, 195, 1, 192, 1, 180, 1, 207, 1, 204, 1, 53, 0, 50, 0, 195, 1, 174, 1, 180, 1, 204, 1, 50, 0, 201, 1, 195, 1, 174, 1, 204, 1, 198, 1, 50, 0, 177, 1, 201, 1, 177, 1, 174, 1, 198, 1, 177, 1, 198, 1, 201, 1, 52, 0, 211, 1, 226, 1, 52, 0, 108, 2, 211, 1, 108, 2, 215, 1, 211, 1, 108, 2, 169, 1, 215, 1, 121, 2, 112, 2, 113, 2, 121, 2, 115, 2, 112, 2, 112, 2, 115, 2, 114, 2, 115, 2, 121, 2, 118, 2, 118, 2, 121, 2, 120, 2, 118, 2, 119, 2, 115, 2, 173, 1, 244, 1, 240, 1, 173, 1, 176, 1, 244, 1, 170, 1, 5, 2, 216, 1, 170, 1, 182, 1, 5, 2, 175, 1, 116, 2, 243, 1, 175, 1, 68, 2, 116, 2, 68, 2, 51, 0, 225, 1, 68, 2, 225, 1, 117, 2, 181, 1, 254, 1, 4, 2, 181, 1, 179, 1, 254, 1, 178, 1, 239, 1, 253, 1, 178, 1, 172, 1, 239, 1, 22, 2, 188, 1, 184, 1)], -"material": SubResource("StandardMaterial3D_o8i55"), +"material": SubResource("StandardMaterial3D_urc5l"), "name": "Material.003", "primitive": 3, "uv_scale": Vector4(0, 0, 0, 0), @@ -72,31 +89,47 @@ _surfaces = [{ "vertex_data": PackedByteArray(0, 0, 135, 11, 202, 50, 0, 0, 0, 0, 135, 11, 202, 50, 0, 0, 0, 0, 135, 11, 202, 50, 255, 191, 0, 0, 18, 10, 186, 54, 0, 0, 0, 0, 18, 10, 186, 54, 0, 0, 0, 0, 18, 10, 186, 54, 255, 191, 0, 0, 236, 245, 107, 52, 255, 255, 0, 0, 236, 245, 107, 52, 255, 255, 0, 0, 236, 245, 107, 52, 255, 191, 0, 0, 38, 209, 62, 11, 0, 0, 0, 0, 38, 209, 62, 11, 255, 255, 0, 0, 38, 209, 62, 11, 255, 191, 0, 0, 216, 46, 62, 11, 0, 0, 0, 0, 216, 46, 62, 11, 0, 0, 0, 0, 216, 46, 62, 11, 255, 191, 0, 0, 4, 3, 107, 44, 255, 255, 0, 0, 4, 3, 107, 44, 255, 255, 0, 0, 4, 3, 107, 44, 255, 191, 0, 0, 8, 0, 125, 52, 255, 255, 0, 0, 8, 0, 125, 52, 255, 255, 0, 0, 8, 0, 125, 52, 255, 191, 0, 0, 246, 255, 195, 47, 0, 0, 0, 0, 246, 255, 195, 47, 0, 0, 0, 0, 246, 255, 195, 47, 255, 191, 0, 0, 79, 213, 0, 0, 0, 0, 0, 0, 79, 213, 0, 0, 255, 255, 0, 0, 79, 213, 0, 0, 255, 191, 0, 0, 247, 255, 69, 189, 0, 0, 0, 0, 247, 255, 69, 189, 0, 0, 0, 0, 247, 255, 69, 189, 255, 191, 0, 0, 176, 42, 0, 0, 255, 255, 0, 0, 176, 42, 0, 0, 255, 255, 0, 0, 176, 42, 0, 0, 255, 191, 0, 0, 2, 0, 242, 211, 255, 255, 0, 0, 2, 0, 242, 211, 255, 255, 0, 0, 2, 0, 242, 211, 255, 191, 0, 0, 177, 245, 31, 189, 255, 255, 0, 0, 177, 245, 31, 189, 255, 255, 0, 0, 177, 245, 31, 189, 255, 191, 0, 0, 77, 10, 23, 212, 0, 0, 0, 0, 77, 10, 23, 212, 255, 255, 0, 0, 77, 10, 23, 212, 255, 191, 0, 0, 170, 164, 140, 159, 255, 255, 0, 0, 170, 164, 140, 159, 255, 255, 0, 0, 170, 164, 140, 159, 255, 191, 0, 0, 84, 91, 170, 241, 255, 255, 0, 0, 84, 91, 170, 241, 255, 255, 0, 0, 84, 91, 170, 241, 255, 191, 148, 69, 223, 207, 5, 70, 0, 0, 148, 69, 223, 207, 5, 70, 0, 0, 148, 69, 223, 207, 5, 70, 255, 191, 148, 69, 102, 193, 209, 53, 0, 0, 148, 69, 102, 193, 209, 53, 255, 255, 148, 69, 102, 193, 209, 53, 255, 191, 204, 12, 0, 0, 251, 225, 0, 0, 204, 12, 0, 0, 251, 225, 255, 255, 204, 12, 0, 0, 251, 225, 128, 223, 0, 0, 0, 0, 131, 224, 255, 255, 0, 0, 0, 0, 131, 224, 128, 223, 0, 0, 0, 0, 131, 224, 255, 191, 204, 12, 77, 10, 107, 226, 0, 0, 204, 12, 77, 10, 107, 226, 0, 0, 204, 12, 77, 10, 107, 226, 178, 223, 204, 12, 77, 10, 107, 226, 128, 223, 0, 0, 77, 10, 243, 224, 178, 223, 0, 0, 77, 10, 243, 224, 128, 223, 0, 0, 77, 10, 243, 224, 255, 191, 255, 255, 135, 11, 202, 50, 0, 0, 255, 255, 135, 11, 202, 50, 0, 0, 255, 255, 135, 11, 202, 50, 0, 0, 255, 255, 18, 10, 186, 54, 0, 0, 255, 255, 18, 10, 186, 54, 0, 0, 255, 255, 18, 10, 186, 54, 0, 0, 255, 255, 236, 245, 107, 52, 0, 0, 255, 255, 236, 245, 107, 52, 255, 255, 255, 255, 236, 245, 107, 52, 255, 255, 255, 255, 38, 209, 62, 11, 0, 0, 255, 255, 38, 209, 62, 11, 0, 0, 255, 255, 38, 209, 62, 11, 255, 255, 255, 255, 216, 46, 62, 11, 0, 0, 255, 255, 216, 46, 62, 11, 0, 0, 255, 255, 216, 46, 62, 11, 0, 0, 255, 255, 4, 3, 107, 44, 0, 0, 255, 255, 4, 3, 107, 44, 255, 255, 255, 255, 4, 3, 107, 44, 255, 255, 255, 255, 8, 0, 125, 52, 0, 0, 255, 255, 8, 0, 125, 52, 255, 255, 255, 255, 8, 0, 125, 52, 255, 255, 255, 255, 246, 255, 195, 47, 0, 0, 255, 255, 246, 255, 195, 47, 0, 0, 255, 255, 246, 255, 195, 47, 0, 0, 255, 255, 79, 213, 0, 0, 0, 0, 255, 255, 79, 213, 0, 0, 0, 0, 255, 255, 79, 213, 0, 0, 255, 255, 255, 255, 247, 255, 69, 189, 0, 0, 255, 255, 247, 255, 69, 189, 0, 0, 255, 255, 247, 255, 69, 189, 0, 0, 255, 255, 176, 42, 0, 0, 0, 0, 255, 255, 176, 42, 0, 0, 255, 255, 255, 255, 176, 42, 0, 0, 255, 255, 255, 255, 2, 0, 242, 211, 0, 0, 255, 255, 2, 0, 242, 211, 255, 255, 255, 255, 2, 0, 242, 211, 255, 255, 255, 255, 177, 245, 31, 189, 0, 0, 255, 255, 177, 245, 31, 189, 255, 255, 255, 255, 177, 245, 31, 189, 255, 255, 255, 255, 77, 10, 23, 212, 0, 0, 255, 255, 77, 10, 23, 212, 0, 0, 255, 255, 77, 10, 23, 212, 255, 255, 255, 255, 170, 164, 140, 159, 0, 0, 255, 255, 170, 164, 140, 159, 255, 255, 255, 255, 170, 164, 140, 159, 255, 255, 255, 255, 84, 91, 170, 241, 0, 0, 255, 255, 84, 91, 170, 241, 255, 255, 255, 255, 84, 91, 170, 241, 255, 255, 106, 186, 223, 207, 5, 70, 0, 0, 106, 186, 223, 207, 5, 70, 235, 63, 106, 186, 223, 207, 5, 70, 255, 95, 106, 186, 102, 193, 209, 53, 0, 0, 106, 186, 102, 193, 209, 53, 255, 95, 106, 186, 102, 193, 209, 53, 255, 255, 50, 243, 0, 0, 251, 225, 254, 0, 50, 243, 0, 0, 251, 225, 0, 0, 50, 243, 0, 0, 251, 225, 255, 255, 255, 255, 0, 0, 131, 224, 0, 0, 255, 255, 0, 0, 131, 224, 254, 0, 255, 255, 0, 0, 131, 224, 255, 255, 50, 243, 77, 10, 107, 226, 254, 0, 50, 243, 77, 10, 107, 226, 102, 8, 50, 243, 77, 10, 107, 226, 0, 0, 50, 243, 77, 10, 107, 226, 0, 0, 255, 255, 77, 10, 243, 224, 0, 0, 255, 255, 77, 10, 243, 224, 254, 0, 255, 255, 77, 10, 243, 224, 102, 8, 50, 243, 84, 91, 255, 255, 230, 18, 50, 243, 84, 91, 255, 255, 101, 8, 50, 243, 84, 91, 255, 255, 0, 0, 50, 243, 84, 91, 255, 255, 0, 0, 255, 255, 245, 90, 99, 254, 0, 0, 255, 255, 245, 90, 99, 254, 230, 18, 255, 255, 245, 90, 99, 254, 101, 8, 50, 243, 170, 164, 225, 173, 230, 18, 50, 243, 170, 164, 225, 173, 101, 8, 50, 243, 170, 164, 225, 173, 0, 0, 50, 243, 170, 164, 225, 173, 0, 0, 255, 255, 74, 164, 69, 172, 0, 0, 255, 255, 74, 164, 69, 172, 230, 18, 255, 255, 74, 164, 69, 172, 101, 8, 255, 255, 254, 255, 108, 202, 0, 0, 255, 255, 254, 255, 108, 202, 255, 0, 255, 255, 254, 255, 108, 202, 0, 0, 50, 243, 255, 255, 228, 203, 255, 0, 50, 243, 255, 255, 228, 203, 0, 0, 50, 243, 255, 255, 228, 203, 0, 0, 255, 255, 177, 245, 252, 201, 0, 0, 255, 255, 177, 245, 252, 201, 255, 0, 255, 255, 177, 245, 252, 201, 102, 8, 50, 243, 177, 245, 116, 203, 255, 0, 50, 243, 177, 245, 116, 203, 102, 8, 50, 243, 177, 245, 116, 203, 0, 0, 50, 243, 177, 245, 116, 203, 0, 0, 91, 239, 135, 11, 202, 50, 0, 0, 91, 239, 135, 11, 202, 50, 0, 0, 91, 239, 135, 11, 202, 50, 0, 0, 91, 239, 18, 10, 186, 54, 0, 0, 91, 239, 18, 10, 186, 54, 0, 0, 91, 239, 18, 10, 186, 54, 0, 0, 91, 239, 236, 245, 107, 52, 0, 0, 91, 239, 236, 245, 107, 52, 255, 255, 91, 239, 236, 245, 107, 52, 255, 255, 91, 239, 38, 209, 62, 11, 0, 0, 91, 239, 38, 209, 62, 11, 0, 0, 91, 239, 38, 209, 62, 11, 255, 255, 91, 239, 216, 46, 62, 11, 0, 0, 91, 239, 216, 46, 62, 11, 0, 0, 91, 239, 216, 46, 62, 11, 0, 0, 91, 239, 77, 10, 23, 212, 0, 0, 91, 239, 77, 10, 23, 212, 0, 0, 91, 239, 77, 10, 23, 212, 255, 255, 91, 239, 170, 164, 140, 159, 0, 0, 91, 239, 170, 164, 140, 159, 255, 255, 91, 239, 170, 164, 140, 159, 255, 255, 91, 239, 177, 245, 31, 189, 0, 0, 91, 239, 177, 245, 31, 189, 255, 255, 91, 239, 177, 245, 31, 189, 255, 255, 91, 239, 84, 91, 170, 241, 0, 0, 91, 239, 84, 91, 170, 241, 255, 255, 91, 239, 84, 91, 170, 241, 255, 255, 106, 186, 99, 62, 209, 53, 0, 0, 106, 186, 99, 62, 209, 53, 255, 255, 106, 186, 99, 62, 209, 53, 255, 255, 106, 186, 125, 47, 232, 69, 0, 0, 106, 186, 125, 47, 232, 69, 255, 255, 106, 186, 125, 47, 232, 69, 255, 255, 106, 186, 69, 154, 249, 110, 0, 0, 106, 186, 69, 154, 249, 110, 0, 0, 106, 186, 69, 154, 249, 110, 0, 0, 106, 186, 197, 207, 128, 130, 0, 0, 106, 186, 197, 207, 128, 130, 235, 63, 106, 186, 197, 207, 128, 130, 0, 0, 106, 186, 240, 80, 23, 193, 0, 0, 106, 186, 240, 80, 23, 193, 0, 0, 106, 186, 240, 80, 23, 193, 0, 0, 106, 186, 51, 48, 36, 181, 0, 0, 106, 186, 51, 48, 36, 181, 0, 0, 106, 186, 51, 48, 36, 181, 255, 255, 106, 186, 117, 54, 209, 31, 0, 0, 106, 186, 117, 54, 209, 31, 0, 0, 106, 186, 117, 54, 209, 31, 0, 0, 106, 186, 199, 27, 159, 60, 0, 0, 106, 186, 199, 27, 159, 60, 0, 0, 106, 186, 199, 27, 159, 60, 0, 0, 106, 186, 137, 201, 209, 31, 0, 0, 106, 186, 137, 201, 209, 31, 0, 0, 106, 186, 137, 201, 209, 31, 0, 0, 106, 186, 136, 227, 237, 60, 0, 0, 106, 186, 136, 227, 237, 60, 0, 0, 106, 186, 136, 227, 237, 60, 235, 191, 106, 186, 164, 159, 19, 136, 0, 0, 106, 186, 164, 159, 19, 136, 255, 255, 106, 186, 164, 159, 19, 136, 255, 255, 106, 186, 93, 227, 203, 160, 0, 0, 106, 186, 93, 227, 203, 160, 255, 255, 106, 186, 93, 227, 203, 160, 235, 191, 106, 186, 79, 86, 49, 218, 0, 0, 106, 186, 79, 86, 49, 218, 255, 255, 106, 186, 79, 86, 49, 218, 255, 255, 106, 186, 168, 28, 38, 197, 0, 0, 106, 186, 168, 28, 38, 197, 0, 0, 106, 186, 168, 28, 38, 197, 255, 255, 161, 226, 4, 63, 144, 55, 0, 0, 161, 226, 4, 63, 144, 55, 114, 9, 161, 226, 4, 63, 144, 55, 0, 0, 6, 211, 99, 62, 209, 53, 114, 9, 6, 211, 99, 62, 209, 53, 0, 0, 6, 211, 99, 62, 209, 53, 255, 255, 6, 211, 99, 62, 209, 53, 255, 255, 6, 211, 125, 47, 232, 69, 114, 9, 6, 211, 125, 47, 232, 69, 104, 22, 6, 211, 125, 47, 232, 69, 255, 255, 6, 211, 125, 47, 232, 69, 255, 255, 161, 226, 13, 49, 164, 70, 0, 0, 161, 226, 13, 49, 164, 70, 114, 9, 161, 226, 13, 49, 164, 70, 104, 22, 161, 226, 193, 192, 144, 55, 0, 0, 161, 226, 193, 192, 144, 55, 0, 0, 161, 226, 193, 192, 144, 55, 183, 9, 6, 211, 102, 193, 209, 53, 0, 0, 6, 211, 102, 193, 209, 53, 183, 9, 6, 211, 102, 193, 209, 53, 255, 95, 6, 211, 102, 193, 209, 53, 255, 255, 161, 226, 79, 206, 190, 70, 0, 0, 161, 226, 79, 206, 190, 70, 247, 57, 161, 226, 79, 206, 190, 70, 184, 9, 6, 211, 223, 207, 5, 70, 247, 57, 6, 211, 223, 207, 5, 70, 184, 9, 6, 211, 223, 207, 5, 70, 235, 63, 6, 211, 223, 207, 5, 70, 255, 95, 161, 226, 216, 153, 251, 108, 0, 0, 161, 226, 216, 153, 251, 108, 68, 8, 161, 226, 216, 153, 251, 108, 230, 18, 6, 211, 69, 154, 249, 110, 68, 8, 6, 211, 69, 154, 249, 110, 230, 18, 6, 211, 69, 154, 249, 110, 0, 0, 6, 211, 69, 154, 249, 110, 0, 0, 6, 211, 197, 207, 128, 130, 68, 8, 6, 211, 197, 207, 128, 130, 247, 57, 6, 211, 197, 207, 128, 130, 235, 63, 6, 211, 197, 207, 128, 130, 0, 0, 161, 226, 54, 206, 24, 128, 0, 0, 161, 226, 54, 206, 24, 128, 68, 8, 161, 226, 54, 206, 24, 128, 247, 57, 161, 226, 131, 80, 25, 191, 0, 0, 161, 226, 131, 80, 25, 191, 68, 8, 161, 226, 131, 80, 25, 191, 230, 18, 6, 211, 240, 80, 23, 193, 68, 8, 6, 211, 240, 80, 23, 193, 230, 18, 6, 211, 240, 80, 23, 193, 0, 0, 6, 211, 240, 80, 23, 193, 0, 0, 161, 226, 193, 49, 223, 179, 0, 0, 161, 226, 193, 49, 223, 179, 68, 8, 161, 226, 193, 49, 223, 179, 104, 22, 6, 211, 51, 48, 36, 181, 68, 8, 6, 211, 51, 48, 36, 181, 104, 22, 6, 211, 51, 48, 36, 181, 0, 0, 6, 211, 51, 48, 36, 181, 255, 255, 91, 239, 87, 26, 238, 59, 0, 0, 91, 239, 87, 26, 238, 59, 125, 18, 91, 239, 87, 26, 238, 59, 58, 22, 255, 224, 199, 27, 159, 60, 125, 18, 255, 224, 199, 27, 159, 60, 58, 22, 255, 224, 199, 27, 159, 60, 0, 0, 255, 224, 199, 27, 159, 60, 0, 0, 255, 224, 136, 227, 237, 60, 239, 197, 255, 224, 136, 227, 237, 60, 232, 18, 255, 224, 136, 227, 237, 60, 0, 0, 255, 224, 136, 227, 237, 60, 235, 191, 91, 239, 248, 228, 67, 60, 0, 0, 91, 239, 248, 228, 67, 60, 239, 197, 91, 239, 248, 228, 67, 60, 232, 18, 91, 239, 34, 202, 54, 30, 0, 0, 91, 239, 34, 202, 54, 30, 233, 18, 91, 239, 34, 202, 54, 30, 248, 31, 255, 224, 137, 201, 209, 31, 233, 18, 255, 224, 137, 201, 209, 31, 248, 31, 255, 224, 137, 201, 209, 31, 0, 0, 255, 224, 137, 201, 209, 31, 0, 0, 91, 239, 221, 53, 54, 30, 0, 0, 91, 239, 221, 53, 54, 30, 125, 18, 91, 239, 221, 53, 54, 30, 248, 31, 255, 224, 117, 54, 209, 31, 125, 18, 255, 224, 117, 54, 209, 31, 248, 31, 255, 224, 117, 54, 209, 31, 0, 0, 255, 224, 117, 54, 209, 31, 0, 0, 255, 224, 168, 28, 38, 197, 59, 22, 255, 224, 168, 28, 38, 197, 138, 3, 255, 224, 168, 28, 38, 197, 0, 0, 255, 224, 168, 28, 38, 197, 255, 255, 91, 239, 57, 27, 80, 198, 0, 0, 91, 239, 57, 27, 80, 198, 59, 22, 91, 239, 57, 27, 80, 198, 138, 3, 255, 224, 164, 159, 19, 136, 183, 9, 255, 224, 164, 159, 19, 136, 139, 3, 255, 224, 164, 159, 19, 136, 255, 255, 255, 224, 164, 159, 19, 136, 255, 255, 91, 239, 8, 160, 232, 137, 0, 0, 91, 239, 8, 160, 232, 137, 183, 9, 91, 239, 8, 160, 232, 137, 139, 3, 91, 239, 204, 228, 1, 163, 0, 0, 91, 239, 204, 228, 1, 163, 138, 3, 91, 239, 204, 228, 1, 163, 239, 197, 255, 224, 93, 227, 203, 160, 138, 3, 255, 224, 93, 227, 203, 160, 239, 197, 255, 224, 93, 227, 203, 160, 255, 255, 255, 224, 93, 227, 203, 160, 235, 191, 255, 224, 79, 86, 49, 218, 184, 9, 255, 224, 79, 86, 49, 218, 140, 3, 255, 224, 79, 86, 49, 218, 255, 255, 255, 224, 79, 86, 49, 218, 255, 255, 91, 239, 179, 86, 6, 220, 0, 0, 91, 239, 179, 86, 6, 220, 184, 9, 91, 239, 179, 86, 6, 220, 140, 3, 255, 127, 247, 255, 69, 189, 0, 0, 255, 127, 247, 255, 69, 189, 0, 0, 255, 127, 4, 3, 107, 44, 255, 255, 255, 127, 4, 3, 107, 44, 255, 255, 255, 127, 176, 42, 0, 0, 255, 255, 255, 127, 176, 42, 0, 0, 255, 255, 255, 127, 2, 0, 242, 211, 255, 255, 255, 127, 2, 0, 242, 211, 255, 255, 255, 127, 8, 0, 125, 52, 255, 255, 255, 127, 8, 0, 125, 52, 255, 255, 255, 127, 79, 213, 0, 0, 0, 0, 255, 127, 79, 213, 0, 0, 255, 255, 255, 127, 246, 255, 195, 47, 0, 0, 255, 127, 246, 255, 195, 47, 0, 0, 255, 127, 0, 0, 251, 225, 0, 0, 255, 127, 0, 0, 251, 225, 255, 255, 255, 127, 77, 10, 107, 226, 0, 0, 255, 127, 77, 10, 107, 226, 0, 0, 255, 127, 84, 91, 255, 255, 0, 0, 255, 127, 84, 91, 255, 255, 0, 0, 255, 127, 170, 164, 225, 173, 0, 0, 255, 127, 170, 164, 225, 173, 0, 0, 255, 127, 177, 245, 116, 203, 0, 0, 255, 127, 177, 245, 116, 203, 0, 0, 255, 127, 255, 255, 228, 203, 0, 0, 255, 127, 255, 255, 228, 203, 0, 0, 204, 12, 84, 91, 255, 255, 0, 0, 204, 12, 84, 91, 255, 255, 0, 0, 204, 12, 84, 91, 255, 255, 178, 223, 204, 12, 84, 91, 255, 255, 129, 218, 0, 0, 245, 90, 99, 254, 178, 223, 0, 0, 245, 90, 99, 254, 129, 218, 0, 0, 245, 90, 99, 254, 255, 191, 204, 12, 170, 164, 225, 173, 0, 0, 204, 12, 170, 164, 225, 173, 0, 0, 204, 12, 170, 164, 225, 173, 178, 223, 204, 12, 170, 164, 225, 173, 129, 218, 0, 0, 74, 164, 69, 172, 178, 223, 0, 0, 74, 164, 69, 172, 129, 218, 0, 0, 74, 164, 69, 172, 255, 191, 0, 0, 254, 255, 108, 202, 0, 0, 0, 0, 254, 255, 108, 202, 129, 223, 0, 0, 254, 255, 108, 202, 255, 191, 204, 12, 255, 255, 228, 203, 0, 0, 204, 12, 255, 255, 228, 203, 0, 0, 204, 12, 255, 255, 228, 203, 129, 223, 0, 0, 177, 245, 252, 201, 178, 223, 0, 0, 177, 245, 252, 201, 128, 223, 0, 0, 177, 245, 252, 201, 255, 191, 204, 12, 177, 245, 116, 203, 0, 0, 204, 12, 177, 245, 116, 203, 0, 0, 204, 12, 177, 245, 116, 203, 178, 223, 204, 12, 177, 245, 116, 203, 128, 223, 163, 16, 135, 11, 202, 50, 0, 0, 163, 16, 135, 11, 202, 50, 0, 0, 163, 16, 135, 11, 202, 50, 255, 191, 163, 16, 18, 10, 186, 54, 0, 0, 163, 16, 18, 10, 186, 54, 0, 0, 163, 16, 18, 10, 186, 54, 255, 191, 163, 16, 236, 245, 107, 52, 255, 255, 163, 16, 236, 245, 107, 52, 255, 255, 163, 16, 236, 245, 107, 52, 255, 191, 163, 16, 38, 209, 62, 11, 0, 0, 163, 16, 38, 209, 62, 11, 255, 255, 163, 16, 38, 209, 62, 11, 255, 191, 163, 16, 216, 46, 62, 11, 0, 0, 163, 16, 216, 46, 62, 11, 0, 0, 163, 16, 216, 46, 62, 11, 255, 191, 163, 16, 77, 10, 23, 212, 0, 0, 163, 16, 77, 10, 23, 212, 255, 255, 163, 16, 77, 10, 23, 212, 255, 191, 163, 16, 170, 164, 140, 159, 255, 255, 163, 16, 170, 164, 140, 159, 255, 255, 163, 16, 170, 164, 140, 159, 255, 191, 163, 16, 177, 245, 31, 189, 255, 255, 163, 16, 177, 245, 31, 189, 255, 255, 163, 16, 177, 245, 31, 189, 255, 191, 163, 16, 84, 91, 170, 241, 255, 255, 163, 16, 84, 91, 170, 241, 255, 255, 163, 16, 84, 91, 170, 241, 255, 191, 148, 69, 99, 62, 209, 53, 255, 255, 148, 69, 99, 62, 209, 53, 255, 255, 148, 69, 99, 62, 209, 53, 255, 191, 148, 69, 125, 47, 232, 69, 255, 255, 148, 69, 125, 47, 232, 69, 255, 255, 148, 69, 125, 47, 232, 69, 255, 191, 148, 69, 69, 154, 249, 110, 0, 0, 148, 69, 69, 154, 249, 110, 0, 0, 148, 69, 69, 154, 249, 110, 255, 191, 148, 69, 197, 207, 128, 130, 0, 0, 148, 69, 197, 207, 128, 130, 0, 0, 148, 69, 197, 207, 128, 130, 255, 191, 148, 69, 240, 80, 23, 193, 0, 0, 148, 69, 240, 80, 23, 193, 0, 0, 148, 69, 240, 80, 23, 193, 255, 191, 148, 69, 51, 48, 36, 181, 0, 0, 148, 69, 51, 48, 36, 181, 255, 255, 148, 69, 51, 48, 36, 181, 255, 191, 148, 69, 117, 54, 209, 31, 0, 0, 148, 69, 117, 54, 209, 31, 0, 0, 148, 69, 117, 54, 209, 31, 255, 191, 148, 69, 199, 27, 159, 60, 0, 0, 148, 69, 199, 27, 159, 60, 0, 0, 148, 69, 199, 27, 159, 60, 255, 191, 148, 69, 137, 201, 209, 31, 0, 0, 148, 69, 137, 201, 209, 31, 0, 0, 148, 69, 137, 201, 209, 31, 255, 191, 148, 69, 136, 227, 237, 60, 0, 0, 148, 69, 136, 227, 237, 60, 255, 255, 148, 69, 136, 227, 237, 60, 255, 191, 148, 69, 164, 159, 19, 136, 255, 255, 148, 69, 164, 159, 19, 136, 255, 255, 148, 69, 164, 159, 19, 136, 255, 191, 148, 69, 93, 227, 203, 160, 255, 255, 148, 69, 93, 227, 203, 160, 255, 255, 148, 69, 93, 227, 203, 160, 255, 191, 148, 69, 79, 86, 49, 218, 255, 255, 148, 69, 79, 86, 49, 218, 255, 255, 148, 69, 79, 86, 49, 218, 255, 191, 148, 69, 168, 28, 38, 197, 0, 0, 148, 69, 168, 28, 38, 197, 255, 255, 148, 69, 168, 28, 38, 197, 255, 191, 93, 29, 4, 63, 144, 55, 255, 159, 93, 29, 4, 63, 144, 55, 126, 171, 93, 29, 4, 63, 144, 55, 255, 191, 248, 44, 99, 62, 209, 53, 255, 255, 248, 44, 99, 62, 209, 53, 255, 255, 248, 44, 99, 62, 209, 53, 255, 159, 248, 44, 99, 62, 209, 53, 126, 171, 248, 44, 125, 47, 232, 69, 255, 255, 248, 44, 125, 47, 232, 69, 255, 255, 248, 44, 125, 47, 232, 69, 61, 198, 248, 44, 125, 47, 232, 69, 126, 171, 93, 29, 13, 49, 164, 70, 61, 198, 93, 29, 13, 49, 164, 70, 126, 171, 93, 29, 13, 49, 164, 70, 255, 191, 93, 29, 193, 192, 144, 55, 251, 171, 93, 29, 193, 192, 144, 55, 255, 159, 93, 29, 193, 192, 144, 55, 255, 191, 248, 44, 102, 193, 209, 53, 0, 0, 248, 44, 102, 193, 209, 53, 255, 255, 248, 44, 102, 193, 209, 53, 251, 171, 248, 44, 102, 193, 209, 53, 255, 159, 93, 29, 79, 206, 190, 70, 251, 171, 93, 29, 79, 206, 190, 70, 80, 22, 93, 29, 79, 206, 190, 70, 255, 191, 248, 44, 223, 207, 5, 70, 0, 0, 248, 44, 223, 207, 5, 70, 0, 0, 248, 44, 223, 207, 5, 70, 251, 171, 248, 44, 223, 207, 5, 70, 80, 22, 93, 29, 216, 153, 251, 108, 129, 218, 93, 29, 216, 153, 251, 108, 46, 223, 93, 29, 216, 153, 251, 108, 255, 191, 248, 44, 69, 154, 249, 110, 0, 0, 248, 44, 69, 154, 249, 110, 0, 0, 248, 44, 69, 154, 249, 110, 129, 218, 248, 44, 69, 154, 249, 110, 46, 223, 248, 44, 197, 207, 128, 130, 0, 0, 248, 44, 197, 207, 128, 130, 0, 0, 248, 44, 197, 207, 128, 130, 80, 22, 248, 44, 197, 207, 128, 130, 46, 223, 93, 29, 54, 206, 24, 128, 80, 22, 93, 29, 54, 206, 24, 128, 46, 223, 93, 29, 54, 206, 24, 128, 255, 191, 93, 29, 131, 80, 25, 191, 129, 218, 93, 29, 131, 80, 25, 191, 46, 223, 93, 29, 131, 80, 25, 191, 255, 191, 248, 44, 240, 80, 23, 193, 0, 0, 248, 44, 240, 80, 23, 193, 0, 0, 248, 44, 240, 80, 23, 193, 129, 218, 248, 44, 240, 80, 23, 193, 46, 223, 93, 29, 193, 49, 223, 179, 61, 198, 93, 29, 193, 49, 223, 179, 46, 223, 93, 29, 193, 49, 223, 179, 255, 191, 248, 44, 51, 48, 36, 181, 0, 0, 248, 44, 51, 48, 36, 181, 255, 255, 248, 44, 51, 48, 36, 181, 61, 198, 248, 44, 51, 48, 36, 181, 46, 223, 163, 16, 87, 26, 238, 59, 185, 197, 163, 16, 87, 26, 238, 59, 169, 218, 163, 16, 87, 26, 238, 59, 255, 191, 255, 30, 199, 27, 159, 60, 0, 0, 255, 30, 199, 27, 159, 60, 0, 0, 255, 30, 199, 27, 159, 60, 185, 197, 255, 30, 199, 27, 159, 60, 169, 218, 255, 30, 136, 227, 237, 60, 0, 0, 255, 30, 136, 227, 237, 60, 255, 255, 255, 30, 136, 227, 237, 60, 133, 218, 255, 30, 136, 227, 237, 60, 169, 233, 163, 16, 248, 228, 67, 60, 133, 218, 163, 16, 248, 228, 67, 60, 169, 233, 163, 16, 248, 228, 67, 60, 255, 191, 163, 16, 34, 202, 54, 30, 248, 31, 163, 16, 34, 202, 54, 30, 133, 218, 163, 16, 34, 202, 54, 30, 255, 191, 255, 30, 137, 201, 209, 31, 0, 0, 255, 30, 137, 201, 209, 31, 0, 0, 255, 30, 137, 201, 209, 31, 248, 31, 255, 30, 137, 201, 209, 31, 133, 218, 163, 16, 221, 53, 54, 30, 248, 31, 163, 16, 221, 53, 54, 30, 169, 218, 163, 16, 221, 53, 54, 30, 255, 191, 255, 30, 117, 54, 209, 31, 0, 0, 255, 30, 117, 54, 209, 31, 0, 0, 255, 30, 117, 54, 209, 31, 248, 31, 255, 30, 117, 54, 209, 31, 169, 218, 255, 30, 168, 28, 38, 197, 0, 0, 255, 30, 168, 28, 38, 197, 255, 255, 255, 30, 168, 28, 38, 197, 36, 162, 255, 30, 168, 28, 38, 197, 185, 197, 163, 16, 57, 27, 80, 198, 36, 162, 163, 16, 57, 27, 80, 198, 185, 197, 163, 16, 57, 27, 80, 198, 255, 191, 255, 30, 164, 159, 19, 136, 255, 255, 255, 30, 164, 159, 19, 136, 255, 255, 255, 30, 164, 159, 19, 136, 40, 162, 255, 30, 164, 159, 19, 136, 250, 171, 163, 16, 8, 160, 232, 137, 40, 162, 163, 16, 8, 160, 232, 137, 250, 171, 163, 16, 8, 160, 232, 137, 255, 191, 163, 16, 204, 228, 1, 163, 169, 233, 163, 16, 204, 228, 1, 163, 40, 162, 163, 16, 204, 228, 1, 163, 255, 191, 255, 30, 93, 227, 203, 160, 255, 255, 255, 30, 93, 227, 203, 160, 255, 255, 255, 30, 93, 227, 203, 160, 169, 233, 255, 30, 93, 227, 203, 160, 40, 162, 255, 30, 79, 86, 49, 218, 255, 255, 255, 30, 79, 86, 49, 218, 255, 255, 255, 30, 79, 86, 49, 218, 36, 162, 255, 30, 79, 86, 49, 218, 250, 171, 163, 16, 179, 86, 6, 220, 36, 162, 163, 16, 179, 86, 6, 220, 250, 171, 163, 16, 179, 86, 6, 220, 255, 191, 0, 0, 236, 245, 107, 52, 255, 255, 0, 0, 216, 46, 62, 11, 0, 0, 0, 0, 246, 255, 195, 47, 0, 0, 0, 0, 176, 42, 0, 0, 255, 255, 148, 69, 223, 207, 5, 70, 0, 0, 0, 0, 0, 0, 131, 224, 161, 210, 204, 12, 77, 10, 107, 226, 207, 211, 255, 255, 236, 245, 107, 52, 255, 255, 255, 255, 216, 46, 62, 11, 0, 0, 255, 255, 246, 255, 195, 47, 0, 0, 255, 255, 176, 42, 0, 0, 255, 255, 106, 186, 223, 207, 5, 70, 144, 85, 255, 255, 0, 0, 131, 224, 0, 0, 50, 243, 84, 91, 255, 255, 27, 27, 50, 243, 170, 164, 225, 173, 86, 26, 91, 239, 236, 245, 107, 52, 255, 255, 91, 239, 216, 46, 62, 11, 0, 0, 106, 186, 99, 62, 209, 53, 255, 255, 106, 186, 117, 54, 209, 31, 195, 1, 106, 186, 137, 201, 209, 31, 30, 1, 6, 211, 99, 62, 209, 53, 0, 0, 6, 211, 125, 47, 232, 69, 0, 0, 6, 211, 102, 193, 209, 53, 0, 0, 6, 211, 223, 207, 5, 70, 241, 57, 6, 211, 223, 207, 5, 70, 0, 0, 6, 211, 69, 154, 249, 110, 218, 29, 6, 211, 197, 207, 128, 130, 242, 57, 6, 211, 240, 80, 23, 193, 224, 34, 6, 211, 51, 48, 36, 181, 255, 34, 255, 224, 199, 27, 159, 60, 208, 31, 255, 224, 136, 227, 237, 60, 236, 197, 91, 239, 34, 202, 54, 30, 133, 24, 91, 239, 34, 202, 54, 30, 246, 27, 91, 239, 221, 53, 54, 30, 241, 25, 91, 239, 221, 53, 54, 30, 17, 19, 255, 224, 168, 28, 38, 197, 181, 3, 255, 224, 164, 159, 19, 136, 0, 0, 255, 224, 93, 227, 203, 160, 233, 197, 255, 224, 79, 86, 49, 218, 0, 0, 204, 12, 84, 91, 255, 255, 89, 210, 204, 12, 170, 164, 225, 173, 216, 210, 0, 0, 254, 255, 108, 202, 159, 211, 163, 16, 236, 245, 107, 52, 255, 255, 163, 16, 216, 46, 62, 11, 0, 0, 148, 69, 99, 62, 209, 53, 255, 255, 148, 69, 117, 54, 209, 31, 0, 0, 148, 69, 199, 27, 159, 60, 61, 0, 148, 69, 137, 201, 209, 31, 76, 0, 248, 44, 99, 62, 209, 53, 104, 175, 248, 44, 125, 47, 232, 69, 116, 192, 248, 44, 102, 193, 209, 53, 75, 175, 93, 29, 79, 206, 190, 70, 216, 179, 93, 29, 79, 206, 190, 70, 80, 22, 93, 29, 79, 206, 190, 70, 166, 28, 248, 44, 69, 154, 249, 110, 72, 204, 248, 44, 197, 207, 128, 130, 83, 206, 248, 44, 240, 80, 23, 193, 124, 204, 248, 44, 51, 48, 36, 181, 52, 192, 255, 30, 199, 27, 159, 60, 219, 191, 255, 30, 136, 227, 237, 60, 255, 255, 163, 16, 248, 228, 67, 60, 8, 207, 163, 16, 34, 202, 54, 30, 137, 22, 163, 16, 34, 202, 54, 30, 91, 23, 163, 16, 34, 202, 54, 30, 89, 206, 255, 30, 168, 28, 38, 197, 229, 175, 255, 30, 164, 159, 19, 136, 51, 172, 163, 16, 204, 228, 1, 163, 158, 173, 255, 30, 93, 227, 203, 160, 255, 255, 255, 30, 79, 86, 49, 218, 215, 174, 68, 179, 255, 255, 124, 165, 255, 255, 255, 127, 0, 0, 255, 127, 12, 64, 68, 179, 255, 255, 255, 127, 0, 0, 255, 127, 129, 218, 255, 127, 239, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 129, 218, 255, 127, 0, 0, 124, 165, 255, 255, 255, 127, 255, 255, 255, 127, 0, 0, 255, 127, 124, 165, 255, 127, 68, 179, 255, 127, 0, 0, 255, 127, 68, 179, 255, 127, 253, 191, 255, 127, 0, 0, 255, 127, 255, 63, 255, 127, 130, 90, 255, 127, 0, 0, 255, 127, 130, 90, 255, 127, 255, 127, 255, 127, 0, 0, 255, 127, 255, 63, 255, 127, 17, 64, 255, 127, 0, 0, 255, 127, 255, 127, 255, 127, 124, 165, 255, 127, 0, 0, 255, 127, 250, 191, 255, 127, 253, 191, 255, 127, 0, 0, 255, 127, 115, 110, 255, 127, 239, 191, 255, 127, 0, 0, 255, 127, 12, 64, 255, 127, 115, 110, 255, 127, 0, 0, 255, 127, 115, 110, 255, 127, 124, 165, 255, 127, 0, 0, 255, 127, 115, 110, 255, 127, 124, 165, 255, 127, 0, 0, 239, 191, 255, 255, 255, 127, 130, 90, 255, 127, 0, 0, 255, 127, 130, 90, 255, 127, 255, 127, 255, 127, 0, 0, 255, 127, 155, 253, 255, 127, 250, 191, 93, 130, 179, 0, 4, 192, 0, 0, 93, 130, 179, 0, 255, 127, 0, 0, 255, 127, 155, 253, 255, 127, 115, 238, 160, 145, 57, 5, 93, 130, 179, 0, 160, 145, 57, 5, 93, 130, 179, 0, 255, 127, 0, 0, 255, 63, 255, 127, 68, 179, 255, 255, 124, 165, 255, 255, 255, 63, 255, 127, 255, 127, 12, 64, 68, 179, 255, 255, 255, 63, 255, 127, 255, 127, 129, 218, 255, 127, 239, 191, 255, 63, 255, 127, 255, 127, 255, 255, 255, 127, 129, 218, 255, 63, 255, 127, 124, 165, 255, 255, 255, 127, 255, 255, 255, 63, 255, 127, 255, 127, 124, 165, 255, 127, 68, 179, 255, 63, 255, 127, 255, 127, 68, 179, 255, 127, 253, 191, 255, 63, 255, 127, 255, 127, 255, 63, 255, 127, 130, 90, 255, 63, 255, 127, 255, 127, 130, 90, 255, 127, 255, 127, 255, 63, 255, 127, 255, 127, 255, 63, 255, 127, 17, 64, 255, 63, 255, 127, 255, 127, 255, 127, 255, 127, 124, 165, 255, 63, 255, 127, 255, 127, 250, 191, 255, 127, 253, 191, 255, 63, 255, 127, 255, 127, 115, 110, 255, 127, 239, 191, 255, 63, 255, 127, 255, 127, 12, 64, 255, 127, 115, 110, 255, 63, 255, 127, 255, 127, 115, 110, 255, 127, 124, 165, 255, 63, 255, 127, 255, 127, 115, 110, 255, 127, 124, 165, 255, 63, 255, 127, 0, 0, 255, 127, 0, 0, 255, 127, 255, 63, 255, 127, 0, 0, 255, 127, 255, 127, 255, 127, 127, 255, 179, 89, 255, 127, 155, 253, 255, 127, 250, 191, 255, 63, 255, 127, 127, 255, 179, 89, 255, 127, 250, 191, 126, 255, 179, 89, 222, 251, 34, 87, 255, 127, 155, 253, 255, 127, 115, 238, 255, 63, 255, 127, 126, 255, 179, 89, 223, 251, 34, 87, 184, 50, 71, 117, 221, 251, 33, 87, 124, 165, 255, 255, 255, 127, 115, 238, 255, 63, 255, 127, 184, 50, 71, 117, 221, 251, 33, 87, 184, 50, 71, 117, 221, 251, 33, 87, 124, 165, 255, 255, 255, 127, 115, 238, 255, 63, 255, 127, 184, 50, 71, 117, 221, 251, 33, 87, 255, 63, 255, 127, 126, 255, 178, 89, 255, 127, 17, 64, 126, 255, 178, 89, 255, 127, 17, 64, 255, 127, 155, 253, 255, 63, 255, 127, 125, 255, 178, 89, 222, 251, 34, 87, 125, 255, 178, 89, 222, 251, 34, 87, 255, 127, 155, 253, 255, 127, 115, 238, 255, 63, 255, 127, 68, 179, 255, 255, 124, 165, 255, 255, 255, 63, 255, 127, 255, 127, 12, 64, 68, 179, 255, 255, 255, 63, 255, 127, 255, 127, 129, 218, 255, 127, 239, 191, 255, 63, 255, 127, 255, 127, 255, 255, 255, 127, 129, 218, 255, 63, 255, 127, 124, 165, 255, 255, 255, 127, 255, 255, 255, 63, 255, 127, 255, 127, 12, 64, 255, 127, 115, 110, 255, 63, 255, 127, 255, 127, 115, 110, 255, 127, 124, 165, 255, 63, 255, 127, 255, 127, 115, 110, 255, 127, 239, 191, 255, 63, 255, 127, 255, 127, 115, 110, 255, 127, 124, 165, 255, 63, 255, 127, 255, 127, 255, 127, 255, 127, 205, 164, 255, 63, 255, 127, 255, 127, 205, 164, 255, 127, 58, 192, 255, 63, 255, 127, 124, 165, 255, 255, 255, 127, 115, 238, 255, 63, 255, 127, 0, 0, 255, 127, 255, 127, 115, 238, 255, 63, 255, 127, 124, 165, 255, 255, 255, 127, 115, 238, 255, 63, 255, 127, 255, 127, 115, 238, 255, 127, 58, 192, 255, 63, 255, 127, 205, 164, 255, 255, 255, 127, 255, 255, 255, 63, 255, 127, 255, 127, 58, 64, 205, 164, 255, 255, 255, 63, 255, 127, 255, 127, 255, 255, 255, 127, 129, 218, 255, 63, 255, 127, 255, 127, 129, 218, 255, 255, 255, 127, 255, 63, 255, 127, 255, 127, 115, 110, 255, 127, 124, 165, 255, 63, 255, 127, 255, 127, 115, 110, 255, 255, 255, 127, 255, 63, 255, 127, 255, 127, 115, 110, 255, 127, 124, 165, 255, 63, 255, 127, 255, 127, 58, 64, 255, 127, 115, 110, 255, 63, 255, 127, 19, 237, 243, 36, 209, 255, 143, 218, 19, 237, 243, 36, 255, 255, 129, 218, 255, 127, 255, 127, 255, 127, 205, 164, 19, 237, 243, 36, 25, 234, 62, 53, 255, 127, 205, 164, 255, 127, 58, 192, 255, 63, 255, 127, 19, 237, 243, 36, 25, 234, 62, 53, 255, 63, 255, 127, 169, 90, 134, 128, 228, 90, 202, 108, 130, 90, 255, 127, 228, 90, 202, 108, 0, 0, 255, 127, 255, 127, 255, 127, 255, 63, 255, 127, 249, 57, 0, 157, 228, 90, 202, 108, 249, 57, 0, 157, 228, 90, 202, 108, 0, 0, 255, 127, 0, 0, 255, 127, 255, 63, 255, 127, 222, 251, 174, 86, 184, 50, 71, 117, 222, 251, 174, 86, 184, 50, 71, 117, 124, 165, 255, 255, 255, 127, 115, 238, 223, 251, 174, 86, 249, 57, 0, 157, 0, 0, 255, 127, 255, 127, 115, 238, 255, 63, 255, 127, 223, 251, 174, 86, 249, 57, 0, 157, 255, 63, 255, 127, 222, 251, 174, 86, 184, 50, 71, 117, 222, 251, 174, 86, 184, 50, 71, 117, 124, 165, 255, 255, 255, 127, 115, 238, 255, 63, 255, 127, 223, 251, 174, 86, 25, 234, 62, 53, 223, 251, 174, 86, 25, 234, 62, 53, 255, 127, 115, 238, 255, 127, 58, 192, 255, 63, 255, 127, 88, 50, 144, 117, 50, 75, 252, 105, 88, 50, 144, 117, 50, 75, 252, 105, 255, 127, 58, 64, 205, 164, 255, 255, 3, 227, 255, 185, 70, 245, 74, 77, 255, 127, 129, 218, 255, 255, 255, 127, 255, 63, 255, 127, 3, 227, 255, 185, 70, 245, 74, 77, 255, 63, 255, 127, 71, 245, 74, 77, 255, 127, 254, 255, 71, 245, 74, 77, 255, 127, 254, 255, 255, 127, 255, 255, 255, 127, 129, 218, 255, 63, 255, 127, 89, 50, 144, 117, 255, 127, 254, 255, 89, 50, 144, 117, 255, 127, 254, 255, 205, 164, 255, 255, 255, 127, 255, 255, 49, 75, 252, 105, 91, 92, 196, 118, 255, 127, 58, 64, 255, 127, 115, 110, 255, 63, 255, 127, 49, 75, 252, 105, 91, 92, 196, 118, 200, 236, 25, 37, 88, 92, 198, 118, 255, 127, 115, 110, 255, 127, 124, 165, 255, 63, 255, 127, 200, 236, 25, 37, 88, 92, 198, 118, 255, 63, 255, 127, 88, 92, 198, 118, 3, 227, 255, 185, 88, 92, 198, 118, 3, 227, 255, 185, 255, 127, 115, 110, 255, 255, 255, 127, 200, 236, 25, 37, 91, 92, 197, 118, 255, 127, 115, 110, 255, 127, 124, 165, 255, 63, 255, 127, 200, 236, 25, 37, 91, 92, 197, 118, 255, 127, 255, 63, 255, 127, 17, 64, 255, 127, 124, 165, 255, 127, 68, 179, 255, 127, 255, 127, 255, 127, 124, 165, 255, 127, 250, 191, 255, 127, 253, 191, 255, 127, 68, 179, 255, 127, 253, 191, 255, 127, 130, 90, 255, 127, 255, 127, 255, 127, 255, 63, 255, 127, 130, 90, 255, 127, 155, 253, 255, 127, 250, 191, 255, 127, 155, 253, 255, 127, 115, 238, 124, 165, 255, 255, 255, 127, 115, 238, 124, 165, 255, 255, 255, 127, 115, 238, 255, 127, 155, 253, 255, 127, 115, 238, 255, 127, 17, 64, 255, 127, 155, 253, 124, 165, 255, 255, 255, 127, 115, 238, 161, 145, 59, 5, 96, 115, 0, 37, 161, 145, 59, 5, 96, 115, 0, 37, 255, 127, 0, 0, 124, 165, 255, 255, 255, 127, 115, 238, 160, 145, 59, 5, 96, 115, 0, 37, 160, 145, 59, 5, 96, 115, 0, 37, 255, 127, 0, 0, 17, 192, 255, 255, 95, 130, 180, 0, 255, 127, 0, 0, 17, 192, 255, 255, 255, 127, 155, 253, 95, 130, 180, 0, 160, 145, 57, 5, 95, 130, 180, 0, 255, 127, 0, 0, 255, 127, 155, 253, 255, 127, 115, 238, 160, 145, 57, 5, 95, 130, 180, 0, 68, 179, 255, 255, 124, 165, 255, 255, 255, 127, 0, 0, 255, 127, 12, 64, 68, 179, 255, 255, 255, 127, 0, 0, 255, 127, 129, 218, 255, 127, 239, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 129, 218, 255, 127, 0, 0, 124, 165, 255, 255, 255, 127, 255, 255, 255, 127, 0, 0, 255, 127, 12, 64, 255, 127, 115, 110, 255, 127, 0, 0, 255, 127, 115, 110, 255, 127, 124, 165, 255, 127, 0, 0, 255, 127, 115, 110, 255, 127, 239, 191, 255, 127, 0, 0, 255, 127, 115, 110, 255, 127, 124, 165, 255, 127, 0, 0, 255, 127, 255, 127, 255, 127, 205, 164, 255, 127, 0, 0, 255, 127, 205, 164, 255, 127, 58, 192, 255, 127, 0, 0, 124, 165, 255, 255, 255, 127, 115, 238, 255, 127, 0, 0, 239, 191, 255, 255, 255, 127, 115, 238, 255, 127, 0, 0, 124, 165, 255, 255, 255, 127, 115, 238, 255, 127, 0, 0, 255, 127, 115, 238, 255, 127, 58, 192, 255, 127, 0, 0, 205, 164, 255, 255, 255, 127, 255, 255, 255, 127, 0, 0, 255, 127, 58, 64, 205, 164, 255, 255, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 129, 218, 255, 127, 0, 0, 255, 127, 129, 218, 255, 127, 239, 191, 255, 127, 0, 0, 255, 127, 115, 110, 255, 127, 124, 165, 255, 127, 0, 0, 255, 127, 115, 110, 255, 127, 239, 191, 255, 127, 0, 0, 255, 127, 115, 110, 255, 127, 124, 165, 255, 127, 0, 0, 255, 127, 58, 64, 255, 127, 115, 110, 255, 127, 0, 0, 255, 127, 0, 0, 218, 183, 239, 36, 255, 127, 0, 0, 255, 127, 255, 127, 255, 127, 205, 164, 255, 127, 0, 0, 218, 183, 239, 36, 255, 127, 205, 164, 255, 127, 58, 192, 224, 185, 214, 28, 218, 183, 239, 36, 224, 185, 214, 28, 218, 183, 239, 36, 255, 127, 0, 0, 228, 90, 80, 56, 255, 127, 0, 0, 255, 127, 0, 0, 255, 127, 130, 90, 255, 127, 255, 127, 228, 90, 80, 56, 255, 127, 0, 0, 228, 90, 80, 56, 248, 149, 243, 74, 255, 127, 0, 0, 239, 191, 255, 255, 255, 127, 130, 90, 228, 90, 80, 56, 248, 149, 243, 74, 96, 115, 0, 37, 130, 145, 66, 5, 255, 127, 0, 0, 124, 165, 255, 255, 255, 127, 115, 238, 96, 115, 0, 37, 130, 145, 66, 5, 239, 191, 255, 255, 255, 127, 115, 238, 248, 149, 243, 74, 129, 145, 65, 5, 248, 149, 243, 74, 129, 145, 65, 5, 255, 127, 0, 0, 96, 115, 0, 37, 130, 145, 66, 5, 255, 127, 0, 0, 124, 165, 255, 255, 255, 127, 115, 238, 96, 115, 0, 37, 130, 145, 66, 5, 224, 185, 214, 28, 129, 145, 65, 5, 255, 127, 0, 0, 255, 127, 115, 238, 255, 127, 58, 192, 224, 185, 214, 28, 129, 145, 65, 5, 218, 98, 20, 58, 173, 115, 75, 36, 255, 127, 0, 0, 255, 127, 58, 64, 205, 164, 255, 255, 218, 98, 21, 58, 173, 115, 75, 36, 255, 127, 129, 218, 255, 127, 239, 191, 2, 165, 158, 12, 254, 52, 241, 21, 2, 165, 158, 12, 254, 52, 241, 21, 255, 127, 0, 0, 255, 127, 0, 0, 2, 165, 157, 12, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 129, 218, 255, 127, 0, 0, 2, 165, 157, 12, 255, 127, 0, 0, 172, 115, 76, 36, 255, 127, 0, 0, 205, 164, 255, 255, 255, 127, 255, 255, 255, 127, 0, 0, 172, 115, 76, 36, 255, 127, 58, 64, 255, 127, 115, 110, 205, 103, 142, 34, 218, 98, 20, 58, 205, 103, 142, 34, 218, 98, 20, 58, 255, 127, 0, 0, 255, 127, 115, 110, 255, 127, 124, 165, 211, 103, 139, 34, 82, 184, 29, 37, 211, 103, 139, 34, 82, 184, 29, 37, 255, 127, 0, 0, 254, 52, 241, 21, 210, 103, 139, 34, 255, 127, 0, 0, 255, 127, 115, 110, 255, 127, 239, 191, 254, 52, 241, 21, 210, 103, 139, 34, 255, 127, 115, 110, 255, 127, 124, 165, 208, 103, 145, 34, 82, 184, 29, 37, 208, 103, 145, 34, 82, 184, 29, 37, 255, 127, 0, 0, 255, 127, 87, 209, 80, 155, 255, 255, 255, 127, 56, 72, 255, 127, 245, 152, 181, 131, 181, 3, 136, 128, 20, 0, 197, 129, 82, 0, 255, 127, 87, 209, 80, 155, 255, 255, 255, 127, 176, 83, 255, 127, 145, 142, 0, 0, 255, 127, 62, 217, 10, 44, 123, 107, 25, 224, 130, 128, 170, 255, 255, 127, 44, 200, 145, 142, 255, 255, 255, 127, 199, 154, 0, 129, 254, 254, 168, 126, 167, 254, 247, 134, 118, 254, 114, 200, 212, 239, 113, 127, 132, 240, 236, 41, 13, 139, 29, 114, 47, 196, 78, 176, 62, 223, 64, 46, 66, 144, 252, 127, 250, 255, 129, 184, 158, 218, 42, 91, 191, 197, 248, 234, 123, 178, 255, 127, 254, 255, 182, 140, 3, 212, 255, 127, 254, 255, 202, 68, 102, 243, 165, 65, 39, 125, 218, 118, 171, 224, 244, 244, 0, 170, 23, 148, 236, 250, 211, 127, 48, 1, 33, 130, 90, 0, 93, 130, 109, 0, 255, 127, 44, 200, 145, 142, 255, 255, 255, 127, 199, 154, 255, 127, 255, 255, 49, 128, 49, 0, 163, 127, 91, 0, 51, 129, 208, 0, 100, 146, 42, 9, 255, 127, 0, 0, 255, 127, 0, 0, 24, 133, 197, 92, 244, 137, 80, 95, 166, 127, 124, 1, 253, 127, 0, 0, 116, 127, 75, 2, 110, 134, 52, 3, 5, 126, 241, 3, 176, 100, 79, 27, 241, 138, 4, 3, 205, 127, 22, 2, 44, 180, 180, 13, 211, 136, 89, 2, 187, 115, 70, 18, 72, 124, 113, 5, 119, 120, 25, 11, 110, 113, 144, 14, 32, 135, 208, 4) }] blend_shape_mode = 0 -shadow_mesh = SubResource("ArrayMesh_a10ta") +shadow_mesh = SubResource("ArrayMesh_0sca0") -[sub_resource type="BoxShape3D" id="BoxShape3D_ejldb"] +[sub_resource type="BoxShape3D" id="BoxShape3D_3x1tk"] size = Vector3(0.205353, 2.0864, 1.45969) -[sub_resource type="BoxShape3D" id="BoxShape3D_u0wye"] +[sub_resource type="BoxShape3D" id="BoxShape3D_hsstx"] size = Vector3(0.205353, 1.10036, 0.579315) -[sub_resource type="BoxShape3D" id="BoxShape3D_vojf2"] +[sub_resource type="BoxShape3D" id="BoxShape3D_bjv8r"] size = Vector3(0.205353, 0.977611, 0.583603) -[sub_resource type="BoxShape3D" id="BoxShape3D_qvcmg"] +[sub_resource type="BoxShape3D" id="BoxShape3D_fqw4k"] size = Vector3(0.205353, 0.816943, 0.579315) -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jh75n"] +[sub_resource type="Animation" id="Animation_l8yxu"] +resource_name = "LeftDoorOpen" +length = 5.0 +tracks/0/type = "position_3d" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = PackedFloat32Array(0, 1, 4, 0, 0, 5, 1, 4, 0, -2) + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_kmuva"] +_data = { +"LeftDoorOpen": SubResource("Animation_l8yxu") +} + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xfb6p"] resource_name = "Material.003" cull_mode = 2 -albedo_texture = ExtResource("4_aeflm") +albedo_texture = ExtResource("4_68b4w") metallic = 1.0 metallic_texture_channel = 2 roughness_texture_channel = 1 normal_enabled = true -normal_texture = ExtResource("5_tn185") +normal_texture = ExtResource("5_huskj") -[sub_resource type="ArrayMesh" id="ArrayMesh_so5e4"] +[sub_resource type="ArrayMesh" id="ArrayMesh_wil01"] _surfaces = [{ "aabb": AABB(-1.1, -1.00026, -0.286537, 0.2, 2.00052, 1.78654), "format": 34896613377, @@ -110,7 +143,7 @@ _surfaces = [{ }] blend_shape_mode = 0 -[sub_resource type="ArrayMesh" id="ArrayMesh_0htfk"] +[sub_resource type="ArrayMesh" id="ArrayMesh_kvtko"] resource_name = "Hall - DoorRight - Texture_Plane_001" _surfaces = [{ "aabb": AABB(-1.1, -1.00026, -0.286537, 0.2, 2.00052, 1.78654), @@ -118,7 +151,7 @@ _surfaces = [{ "format": 34896613399, "index_count": 1086, "index_data": PackedByteArray(14, 0, 29, 0, 32, 0, 14, 0, 47, 0, 29, 0, 111, 1, 37, 0, 98, 1, 37, 0, 120, 1, 123, 1, 37, 0, 111, 1, 120, 1, 8, 0, 32, 0, 23, 0, 8, 0, 14, 0, 32, 0, 99, 1, 22, 0, 30, 0, 99, 1, 96, 1, 22, 0, 108, 1, 65, 0, 117, 1, 108, 1, 106, 1, 65, 0, 95, 1, 25, 0, 21, 0, 95, 1, 94, 1, 25, 0, 93, 1, 16, 0, 24, 0, 93, 1, 90, 1, 16, 0, 92, 1, 31, 0, 28, 0, 92, 1, 100, 1, 31, 0, 29, 0, 56, 0, 50, 0, 29, 0, 47, 0, 56, 0, 105, 1, 57, 0, 64, 0, 105, 1, 101, 1, 57, 0, 109, 0, 179, 0, 115, 0, 109, 0, 173, 0, 179, 0, 71, 0, 83, 0, 68, 0, 71, 0, 86, 0, 83, 0, 77, 0, 89, 0, 74, 0, 77, 0, 92, 0, 89, 0, 68, 0, 92, 0, 77, 0, 68, 0, 83, 0, 92, 0, 80, 0, 95, 0, 113, 0, 80, 0, 98, 0, 95, 0, 74, 0, 98, 0, 80, 0, 74, 0, 89, 0, 98, 0, 106, 0, 111, 1, 98, 1, 111, 1, 148, 0, 144, 0, 111, 1, 106, 0, 148, 0, 108, 1, 135, 0, 106, 1, 108, 1, 142, 0, 135, 0, 121, 0, 91, 1, 104, 1, 91, 1, 118, 0, 96, 0, 91, 1, 121, 0, 118, 0, 104, 0, 71, 0, 101, 0, 104, 0, 86, 0, 71, 0, 109, 1, 141, 0, 107, 1, 109, 1, 151, 0, 141, 0, 146, 0, 101, 0, 153, 0, 146, 0, 104, 0, 101, 0, 112, 1, 152, 0, 110, 1, 112, 1, 145, 0, 152, 0, 89, 1, 88, 0, 88, 1, 89, 1, 84, 0, 88, 0, 105, 1, 127, 0, 101, 1, 105, 1, 134, 0, 127, 0, 95, 1, 94, 0, 94, 1, 95, 1, 90, 0, 94, 0, 87, 1, 105, 0, 97, 1, 87, 1, 87, 0, 105, 0, 93, 1, 85, 0, 90, 1, 93, 1, 93, 0, 85, 0, 95, 0, 122, 0, 113, 0, 95, 0, 116, 0, 122, 0, 92, 1, 100, 0, 100, 1, 92, 1, 97, 0, 100, 0, 101, 0, 136, 0, 153, 0, 129, 0, 113, 0, 122, 0, 110, 0, 136, 0, 101, 0, 129, 0, 107, 0, 113, 0, 110, 0, 129, 0, 136, 0, 129, 0, 110, 0, 107, 0, 99, 1, 91, 0, 96, 1, 99, 1, 99, 0, 91, 0, 34, 1, 211, 0, 43, 1, 34, 1, 209, 0, 211, 0, 73, 0, 182, 0, 103, 0, 73, 0, 161, 0, 182, 0, 70, 0, 160, 0, 72, 0, 70, 0, 158, 0, 160, 0, 114, 0, 169, 0, 81, 0, 114, 0, 178, 0, 169, 0, 76, 0, 166, 0, 78, 0, 76, 0, 164, 0, 166, 0, 102, 0, 176, 0, 112, 0, 102, 0, 181, 0, 176, 0, 79, 0, 157, 0, 69, 0, 79, 0, 167, 0, 157, 0, 111, 0, 172, 0, 108, 0, 111, 0, 175, 0, 172, 0, 82, 0, 163, 0, 75, 0, 82, 0, 170, 0, 163, 0, 117, 0, 125, 0, 123, 0, 117, 0, 119, 0, 125, 0, 133, 0, 124, 0, 126, 0, 133, 0, 131, 0, 124, 0, 130, 0, 139, 0, 137, 0, 130, 0, 132, 0, 139, 0, 143, 0, 154, 0, 149, 0, 143, 0, 147, 0, 154, 0, 138, 0, 150, 0, 155, 0, 138, 0, 140, 0, 150, 0, 102, 1, 120, 0, 103, 1, 102, 1, 128, 0, 120, 0, 58, 1, 208, 0, 33, 1, 58, 1, 218, 0, 208, 0, 49, 1, 177, 0, 73, 1, 49, 1, 168, 0, 177, 0, 38, 1, 156, 0, 35, 1, 38, 1, 159, 0, 156, 0, 78, 1, 214, 0, 47, 1, 78, 1, 226, 0, 214, 0, 65, 1, 227, 0, 79, 1, 65, 1, 221, 0, 227, 0, 70, 1, 180, 0, 80, 1, 70, 1, 174, 0, 180, 0, 48, 1, 217, 0, 57, 1, 48, 1, 215, 0, 217, 0, 49, 1, 162, 0, 168, 0, 85, 1, 224, 0, 69, 1, 85, 1, 229, 0, 224, 0, 196, 0, 19, 1, 202, 0, 196, 0, 5, 1, 19, 1, 184, 0, 241, 0, 188, 0, 184, 0, 236, 0, 241, 0, 59, 1, 174, 0, 70, 1, 59, 1, 171, 0, 174, 0, 68, 1, 220, 0, 64, 1, 68, 1, 223, 0, 220, 0, 35, 1, 165, 0, 52, 1, 35, 1, 156, 0, 165, 0, 73, 1, 171, 0, 59, 1, 73, 1, 177, 0, 171, 0, 52, 1, 162, 0, 49, 1, 52, 1, 165, 0, 162, 0, 44, 1, 230, 0, 86, 1, 44, 1, 212, 0, 230, 0, 80, 1, 159, 0, 38, 1, 80, 1, 180, 0, 159, 0, 186, 0, 207, 0, 183, 0, 186, 0, 210, 0, 207, 0, 192, 0, 213, 0, 189, 0, 192, 0, 216, 0, 213, 0, 183, 0, 216, 0, 192, 0, 183, 0, 207, 0, 216, 0, 195, 0, 222, 0, 198, 0, 195, 0, 219, 0, 222, 0, 201, 0, 219, 0, 195, 0, 201, 0, 225, 0, 219, 0, 204, 0, 210, 0, 186, 0, 204, 0, 228, 0, 210, 0, 198, 0, 228, 0, 204, 0, 198, 0, 222, 0, 228, 0, 189, 0, 225, 0, 201, 0, 189, 0, 213, 0, 225, 0, 193, 0, 237, 0, 185, 0, 193, 0, 254, 0, 237, 0, 200, 0, 6, 1, 197, 0, 200, 0, 16, 1, 6, 1, 242, 0, 10, 1, 28, 1, 7, 1, 245, 0, 21, 1, 242, 0, 7, 1, 10, 1, 0, 1, 242, 0, 231, 0, 7, 1, 0, 1, 245, 0, 7, 1, 242, 0, 0, 1, 206, 0, 15, 1, 199, 0, 206, 0, 27, 1, 15, 1, 190, 0, 255, 0, 194, 0, 190, 0, 250, 0, 255, 0, 203, 0, 251, 0, 191, 0, 203, 0, 20, 1, 251, 0, 187, 0, 26, 1, 205, 0, 187, 0, 240, 0, 26, 1, 235, 0, 244, 0, 239, 0, 235, 0, 233, 0, 244, 0, 248, 0, 1, 1, 252, 0, 248, 0, 246, 0, 1, 1, 253, 0, 232, 0, 234, 0, 253, 0, 2, 1, 232, 0, 9, 1, 14, 1, 12, 1, 9, 1, 4, 1, 14, 1, 3, 1, 22, 1, 17, 1, 3, 1, 8, 1, 22, 1, 238, 0, 29, 1, 24, 1, 238, 0, 243, 0, 29, 1, 25, 1, 11, 1, 13, 1, 25, 1, 30, 1, 11, 1, 18, 1, 247, 0, 249, 0, 18, 1, 23, 1, 247, 0, 36, 1, 41, 1, 39, 1, 36, 1, 31, 1, 41, 1, 51, 1, 55, 1, 53, 1, 51, 1, 46, 1, 55, 1, 54, 1, 32, 1, 37, 1, 54, 1, 56, 1, 32, 1, 62, 1, 72, 1, 67, 1, 62, 1, 60, 1, 72, 1, 61, 1, 77, 1, 75, 1, 61, 1, 63, 1, 77, 1, 40, 1, 83, 1, 81, 1, 40, 1, 42, 1, 83, 1, 82, 1, 66, 1, 71, 1, 82, 1, 84, 1, 66, 1, 74, 1, 45, 1, 50, 1, 74, 1, 76, 1, 45, 1, 112, 1, 127, 1, 121, 1, 112, 1, 110, 1, 127, 1, 125, 1, 35, 0, 38, 0, 125, 1, 132, 1, 35, 0, 109, 1, 116, 1, 126, 1, 109, 1, 107, 1, 116, 1, 38, 0, 5, 0, 20, 0, 38, 0, 35, 0, 5, 0, 91, 1, 52, 0, 104, 1, 52, 0, 27, 0, 48, 0, 52, 0, 91, 1, 27, 0, 87, 1, 36, 0, 18, 0, 87, 1, 97, 1, 36, 0, 11, 0, 23, 0, 26, 0, 11, 0, 8, 0, 23, 0, 2, 0, 26, 0, 17, 0, 2, 0, 11, 0, 26, 0, 115, 1, 35, 0, 132, 1, 115, 1, 44, 0, 35, 0, 47, 0, 63, 0, 56, 0, 63, 0, 44, 0, 115, 1, 41, 0, 63, 0, 47, 0, 44, 0, 63, 0, 41, 0, 9, 2, 187, 1, 185, 1, 9, 2, 18, 2, 187, 1, 5, 0, 17, 0, 20, 0, 5, 0, 2, 0, 17, 0, 40, 0, 155, 1, 149, 1, 40, 0, 46, 0, 155, 1, 89, 1, 19, 0, 15, 0, 89, 1, 88, 1, 19, 0, 4, 0, 158, 1, 137, 1, 4, 0, 34, 0, 158, 1, 1, 0, 136, 1, 134, 1, 1, 0, 3, 0, 136, 1, 45, 0, 145, 1, 154, 1, 45, 0, 12, 0, 145, 1, 7, 0, 142, 1, 140, 1, 7, 0, 9, 0, 142, 1, 33, 0, 152, 1, 157, 1, 33, 0, 43, 0, 152, 1, 10, 0, 133, 1, 143, 1, 10, 0, 0, 0, 133, 1, 42, 0, 148, 1, 151, 1, 42, 0, 39, 0, 148, 1, 13, 0, 139, 1, 146, 1, 13, 0, 6, 0, 139, 1, 49, 0, 60, 0, 53, 0, 49, 0, 55, 0, 60, 0, 66, 0, 54, 0, 61, 0, 66, 0, 59, 0, 54, 0, 62, 0, 119, 1, 67, 0, 62, 0, 114, 1, 119, 1, 122, 1, 131, 1, 124, 1, 122, 1, 129, 1, 131, 1, 113, 1, 128, 1, 118, 1, 113, 1, 130, 1, 128, 1, 102, 1, 51, 0, 58, 0, 102, 1, 103, 1, 51, 0, 33, 2, 184, 1, 194, 1, 33, 2, 8, 2, 184, 1, 28, 2, 156, 1, 147, 1, 28, 2, 52, 2, 156, 1, 17, 2, 135, 1, 138, 1, 17, 2, 14, 2, 135, 1, 53, 2, 190, 1, 202, 1, 53, 2, 22, 2, 190, 1, 40, 2, 203, 1, 197, 1, 40, 2, 54, 2, 203, 1, 49, 2, 159, 1, 153, 1, 49, 2, 59, 2, 159, 1, 23, 2, 193, 1, 191, 1, 23, 2, 32, 2, 193, 1, 28, 2, 147, 1, 141, 1, 60, 2, 200, 1, 205, 1, 60, 2, 44, 2, 200, 1, 172, 1, 250, 1, 236, 1, 172, 1, 178, 1, 250, 1, 160, 1, 216, 1, 211, 1, 160, 1, 164, 1, 216, 1, 38, 2, 153, 1, 150, 1, 38, 2, 49, 2, 153, 1, 43, 2, 196, 1, 199, 1, 43, 2, 39, 2, 196, 1, 14, 2, 144, 1, 135, 1, 14, 2, 31, 2, 144, 1, 52, 2, 150, 1, 156, 1, 52, 2, 38, 2, 150, 1, 31, 2, 141, 1, 144, 1, 31, 2, 28, 2, 141, 1, 19, 2, 206, 1, 188, 1, 19, 2, 61, 2, 206, 1, 59, 2, 138, 1, 159, 1, 59, 2, 17, 2, 138, 1, 165, 1, 186, 1, 189, 1, 165, 1, 162, 1, 186, 1, 171, 1, 192, 1, 195, 1, 171, 1, 168, 1, 192, 1, 162, 1, 195, 1, 186, 1, 162, 1, 171, 1, 195, 1, 174, 1, 201, 1, 198, 1, 174, 1, 177, 1, 201, 1, 180, 1, 198, 1, 204, 1, 180, 1, 174, 1, 198, 1, 183, 1, 189, 1, 207, 1, 183, 1, 165, 1, 189, 1, 177, 1, 207, 1, 201, 1, 177, 1, 183, 1, 207, 1, 168, 1, 204, 1, 192, 1, 168, 1, 180, 1, 204, 1, 169, 1, 212, 1, 229, 1, 169, 1, 161, 1, 212, 1, 176, 1, 237, 1, 247, 1, 176, 1, 173, 1, 237, 1, 245, 1, 221, 1, 7, 2, 221, 1, 235, 1, 210, 1, 235, 1, 0, 2, 224, 1, 242, 1, 221, 1, 245, 1, 235, 1, 242, 1, 0, 2, 221, 1, 242, 1, 235, 1, 182, 1, 246, 1, 2, 2, 182, 1, 175, 1, 246, 1, 166, 1, 230, 1, 225, 1, 166, 1, 170, 1, 230, 1, 179, 1, 226, 1, 251, 1, 179, 1, 167, 1, 226, 1, 163, 1, 1, 2, 215, 1, 163, 1, 181, 1, 1, 2, 213, 1, 219, 1, 208, 1, 213, 1, 217, 1, 219, 1, 228, 1, 234, 1, 223, 1, 228, 1, 232, 1, 234, 1, 231, 1, 209, 1, 233, 1, 231, 1, 214, 1, 209, 1, 240, 1, 248, 1, 238, 1, 240, 1, 243, 1, 248, 1, 239, 1, 255, 1, 241, 1, 239, 1, 253, 1, 255, 1, 218, 1, 6, 2, 220, 1, 218, 1, 4, 2, 6, 2, 3, 2, 244, 1, 5, 2, 3, 2, 249, 1, 244, 1, 252, 1, 222, 1, 254, 1, 252, 1, 227, 1, 222, 1, 13, 2, 21, 2, 11, 2, 13, 2, 16, 2, 21, 2, 26, 2, 35, 2, 24, 2, 26, 2, 30, 2, 35, 2, 29, 2, 10, 2, 34, 2, 29, 2, 12, 2, 10, 2, 42, 2, 47, 2, 37, 2, 42, 2, 45, 2, 47, 2, 36, 2, 55, 2, 41, 2, 36, 2, 50, 2, 55, 2, 15, 2, 63, 2, 20, 2, 15, 2, 58, 2, 63, 2, 57, 2, 46, 2, 62, 2, 57, 2, 48, 2, 46, 2, 51, 2, 25, 2, 56, 2, 51, 2, 27, 2, 25, 2), -"material": SubResource("StandardMaterial3D_jh75n"), +"material": SubResource("StandardMaterial3D_xfb6p"), "name": "Material.003", "primitive": 3, "uv_scale": Vector4(0, 0, 0, 0), @@ -126,65 +159,195 @@ _surfaces = [{ "vertex_data": PackedByteArray(0, 0, 38, 209, 192, 244, 255, 255, 0, 0, 38, 209, 192, 244, 255, 255, 0, 0, 38, 209, 192, 244, 255, 255, 0, 0, 236, 245, 147, 203, 255, 255, 0, 0, 236, 245, 147, 203, 255, 255, 0, 0, 236, 245, 147, 203, 255, 255, 0, 0, 135, 11, 52, 205, 0, 0, 0, 0, 135, 11, 52, 205, 255, 255, 0, 0, 135, 11, 52, 205, 255, 255, 0, 0, 216, 46, 192, 244, 255, 255, 0, 0, 216, 46, 192, 244, 255, 255, 0, 0, 216, 46, 192, 244, 255, 255, 0, 0, 18, 10, 68, 201, 0, 0, 0, 0, 18, 10, 68, 201, 0, 0, 0, 0, 18, 10, 68, 201, 255, 255, 0, 0, 79, 213, 254, 255, 0, 0, 0, 0, 79, 213, 254, 255, 0, 0, 0, 0, 79, 213, 254, 255, 255, 255, 0, 0, 246, 255, 59, 208, 0, 0, 0, 0, 246, 255, 59, 208, 0, 0, 0, 0, 246, 255, 59, 208, 255, 255, 0, 0, 4, 3, 147, 211, 0, 0, 0, 0, 4, 3, 147, 211, 255, 255, 0, 0, 4, 3, 147, 211, 255, 255, 0, 0, 176, 42, 254, 255, 0, 0, 0, 0, 176, 42, 254, 255, 0, 0, 0, 0, 176, 42, 254, 255, 255, 255, 0, 0, 2, 0, 185, 66, 255, 255, 0, 0, 2, 0, 185, 66, 255, 255, 0, 0, 2, 0, 185, 66, 255, 255, 0, 0, 8, 0, 129, 203, 255, 255, 0, 0, 8, 0, 129, 203, 255, 255, 0, 0, 8, 0, 129, 203, 255, 255, 0, 0, 182, 245, 231, 43, 0, 0, 0, 0, 182, 245, 231, 43, 255, 255, 0, 0, 182, 245, 231, 43, 255, 255, 0, 0, 248, 255, 12, 44, 0, 0, 0, 0, 248, 255, 12, 44, 0, 0, 0, 0, 248, 255, 12, 44, 255, 255, 0, 0, 84, 91, 114, 96, 0, 0, 0, 0, 84, 91, 114, 96, 0, 0, 0, 0, 84, 91, 114, 96, 255, 255, 0, 0, 170, 164, 84, 14, 0, 0, 0, 0, 170, 164, 84, 14, 0, 0, 0, 0, 170, 164, 84, 14, 255, 255, 0, 0, 77, 10, 223, 66, 0, 0, 0, 0, 77, 10, 223, 66, 0, 0, 0, 0, 77, 10, 223, 66, 255, 255, 0, 0, 0, 0, 146, 53, 255, 255, 0, 0, 0, 0, 146, 53, 147, 255, 0, 0, 0, 0, 146, 53, 255, 255, 204, 12, 0, 0, 26, 52, 255, 255, 204, 12, 0, 0, 26, 52, 255, 255, 204, 12, 0, 0, 26, 52, 147, 255, 0, 0, 77, 10, 2, 54, 118, 252, 0, 0, 77, 10, 2, 54, 147, 255, 0, 0, 77, 10, 2, 54, 255, 255, 204, 12, 77, 10, 138, 52, 255, 255, 204, 12, 77, 10, 138, 52, 255, 255, 204, 12, 77, 10, 138, 52, 118, 252, 204, 12, 77, 10, 138, 52, 147, 255, 0, 0, 180, 91, 185, 83, 117, 252, 0, 0, 180, 91, 185, 83, 70, 246, 0, 0, 180, 91, 185, 83, 255, 255, 204, 12, 84, 91, 29, 82, 255, 255, 204, 12, 84, 91, 29, 82, 255, 255, 204, 12, 84, 91, 29, 82, 117, 252, 204, 12, 84, 91, 29, 82, 70, 246, 255, 255, 38, 209, 192, 244, 255, 63, 255, 255, 38, 209, 192, 244, 255, 255, 255, 255, 38, 209, 192, 244, 255, 255, 255, 255, 236, 245, 147, 203, 255, 63, 255, 255, 236, 245, 147, 203, 255, 255, 255, 255, 236, 245, 147, 203, 255, 255, 255, 255, 135, 11, 52, 205, 255, 63, 255, 255, 135, 11, 52, 205, 0, 0, 255, 255, 135, 11, 52, 205, 255, 255, 255, 255, 216, 46, 192, 244, 255, 63, 255, 255, 216, 46, 192, 244, 255, 255, 255, 255, 216, 46, 192, 244, 255, 255, 255, 255, 18, 10, 68, 201, 255, 63, 255, 255, 18, 10, 68, 201, 0, 0, 255, 255, 18, 10, 68, 201, 0, 0, 255, 255, 79, 213, 254, 255, 255, 63, 255, 255, 79, 213, 254, 255, 0, 0, 255, 255, 79, 213, 254, 255, 0, 0, 255, 255, 246, 255, 59, 208, 255, 63, 255, 255, 246, 255, 59, 208, 0, 0, 255, 255, 246, 255, 59, 208, 0, 0, 255, 255, 4, 3, 147, 211, 255, 63, 255, 255, 4, 3, 147, 211, 0, 0, 255, 255, 4, 3, 147, 211, 255, 255, 255, 255, 176, 42, 254, 255, 255, 63, 255, 255, 176, 42, 254, 255, 0, 0, 255, 255, 176, 42, 254, 255, 0, 0, 255, 255, 2, 0, 185, 66, 255, 63, 255, 255, 2, 0, 185, 66, 255, 255, 255, 255, 2, 0, 185, 66, 255, 255, 255, 255, 8, 0, 129, 203, 255, 63, 255, 255, 8, 0, 129, 203, 255, 255, 255, 255, 8, 0, 129, 203, 255, 255, 255, 255, 182, 245, 231, 43, 255, 63, 255, 255, 182, 245, 231, 43, 0, 0, 255, 255, 182, 245, 231, 43, 255, 255, 255, 255, 248, 255, 12, 44, 255, 63, 255, 255, 248, 255, 12, 44, 0, 0, 255, 255, 248, 255, 12, 44, 0, 0, 255, 255, 84, 91, 114, 96, 255, 63, 255, 255, 84, 91, 114, 96, 0, 0, 255, 255, 84, 91, 114, 96, 0, 0, 255, 255, 170, 164, 84, 14, 255, 63, 255, 255, 170, 164, 84, 14, 0, 0, 255, 255, 170, 164, 84, 14, 0, 0, 255, 255, 77, 10, 223, 66, 255, 63, 255, 255, 77, 10, 223, 66, 0, 0, 255, 255, 77, 10, 223, 66, 0, 0, 255, 255, 0, 0, 146, 53, 255, 63, 255, 255, 0, 0, 146, 53, 124, 95, 255, 255, 0, 0, 146, 53, 255, 255, 50, 243, 0, 0, 26, 52, 124, 95, 50, 243, 0, 0, 26, 52, 255, 255, 50, 243, 0, 0, 26, 52, 255, 255, 255, 255, 77, 10, 2, 54, 255, 63, 255, 255, 77, 10, 2, 54, 124, 95, 255, 255, 77, 10, 2, 54, 75, 94, 50, 243, 77, 10, 138, 52, 124, 95, 50, 243, 77, 10, 138, 52, 75, 94, 50, 243, 77, 10, 138, 52, 255, 255, 50, 243, 77, 10, 138, 52, 255, 255, 255, 255, 180, 91, 185, 83, 255, 63, 255, 255, 180, 91, 185, 83, 3, 84, 255, 255, 180, 91, 185, 83, 75, 94, 50, 243, 84, 91, 29, 82, 3, 84, 50, 243, 84, 91, 29, 82, 75, 94, 50, 243, 84, 91, 29, 82, 255, 255, 50, 243, 84, 91, 29, 82, 255, 255, 255, 255, 10, 165, 155, 1, 255, 63, 255, 255, 10, 165, 155, 1, 3, 84, 255, 255, 10, 165, 155, 1, 77, 94, 50, 243, 170, 164, 0, 0, 3, 84, 50, 243, 170, 164, 0, 0, 77, 94, 50, 243, 170, 164, 0, 0, 255, 255, 50, 243, 170, 164, 0, 0, 255, 255, 50, 243, 255, 255, 3, 30, 124, 95, 50, 243, 255, 255, 3, 30, 0, 0, 50, 243, 255, 255, 3, 30, 255, 255, 255, 255, 254, 255, 123, 31, 255, 63, 255, 255, 254, 255, 123, 31, 124, 95, 255, 255, 254, 255, 123, 31, 0, 0, 50, 243, 177, 245, 147, 29, 124, 95, 50, 243, 177, 245, 147, 29, 77, 94, 50, 243, 177, 245, 147, 29, 255, 255, 50, 243, 177, 245, 147, 29, 255, 255, 255, 255, 177, 245, 11, 31, 255, 63, 255, 255, 177, 245, 11, 31, 124, 95, 255, 255, 177, 245, 11, 31, 77, 94, 91, 239, 38, 209, 192, 244, 255, 63, 91, 239, 38, 209, 192, 244, 255, 255, 91, 239, 38, 209, 192, 244, 255, 255, 91, 239, 236, 245, 147, 203, 255, 63, 91, 239, 236, 245, 147, 203, 255, 255, 91, 239, 236, 245, 147, 203, 255, 255, 91, 239, 135, 11, 52, 205, 255, 63, 91, 239, 135, 11, 52, 205, 0, 0, 91, 239, 135, 11, 52, 205, 255, 255, 91, 239, 216, 46, 192, 244, 255, 63, 91, 239, 216, 46, 192, 244, 255, 255, 91, 239, 216, 46, 192, 244, 255, 255, 91, 239, 18, 10, 68, 201, 255, 63, 91, 239, 18, 10, 68, 201, 0, 0, 91, 239, 18, 10, 68, 201, 0, 0, 91, 239, 84, 91, 114, 96, 255, 63, 91, 239, 84, 91, 114, 96, 0, 0, 91, 239, 84, 91, 114, 96, 0, 0, 91, 239, 170, 164, 84, 14, 255, 63, 91, 239, 170, 164, 84, 14, 0, 0, 91, 239, 170, 164, 84, 14, 0, 0, 91, 239, 77, 10, 223, 66, 255, 63, 91, 239, 77, 10, 223, 66, 0, 0, 91, 239, 77, 10, 223, 66, 0, 0, 91, 239, 182, 245, 231, 43, 255, 63, 91, 239, 182, 245, 231, 43, 0, 0, 91, 239, 182, 245, 231, 43, 255, 255, 106, 186, 102, 193, 45, 202, 255, 63, 106, 186, 102, 193, 45, 202, 0, 0, 106, 186, 102, 193, 45, 202, 0, 0, 106, 186, 224, 207, 247, 185, 255, 63, 106, 186, 224, 207, 247, 185, 0, 0, 106, 186, 224, 207, 247, 185, 0, 0, 106, 186, 130, 47, 28, 186, 255, 63, 106, 186, 130, 47, 28, 186, 0, 0, 106, 186, 130, 47, 28, 186, 255, 255, 106, 186, 99, 62, 45, 202, 255, 63, 106, 186, 99, 62, 45, 202, 0, 0, 106, 186, 99, 62, 45, 202, 0, 0, 106, 186, 185, 101, 5, 145, 255, 63, 106, 186, 185, 101, 5, 145, 255, 255, 106, 186, 185, 101, 5, 145, 255, 255, 106, 186, 15, 175, 230, 62, 255, 63, 106, 186, 15, 175, 230, 62, 255, 255, 106, 186, 15, 175, 230, 62, 255, 255, 106, 186, 5, 48, 107, 125, 255, 63, 106, 186, 5, 48, 107, 125, 255, 255, 106, 186, 5, 48, 107, 125, 255, 255, 106, 186, 187, 207, 210, 74, 255, 63, 106, 186, 187, 207, 210, 74, 0, 0, 106, 186, 187, 207, 210, 74, 255, 255, 106, 186, 137, 201, 45, 224, 255, 63, 106, 186, 137, 201, 45, 224, 255, 255, 106, 186, 137, 201, 45, 224, 255, 255, 106, 186, 137, 227, 16, 195, 255, 63, 106, 186, 137, 227, 16, 195, 255, 255, 106, 186, 137, 227, 16, 195, 255, 255, 106, 186, 200, 27, 95, 195, 255, 63, 106, 186, 200, 27, 95, 195, 0, 0, 106, 186, 200, 27, 95, 195, 255, 255, 106, 186, 117, 54, 45, 224, 255, 63, 106, 186, 117, 54, 45, 224, 255, 255, 106, 186, 117, 54, 45, 224, 255, 255, 106, 186, 90, 96, 235, 119, 255, 63, 106, 186, 90, 96, 235, 119, 0, 0, 106, 186, 90, 96, 235, 119, 0, 0, 106, 186, 176, 169, 205, 37, 255, 63, 106, 186, 176, 169, 205, 37, 0, 0, 106, 186, 176, 169, 205, 37, 0, 0, 106, 186, 161, 28, 51, 95, 255, 63, 106, 186, 161, 28, 51, 95, 0, 0, 106, 186, 161, 28, 51, 95, 0, 0, 106, 186, 91, 227, 216, 58, 255, 63, 106, 186, 91, 227, 216, 58, 0, 0, 106, 186, 91, 227, 216, 58, 255, 255, 161, 226, 193, 192, 110, 200, 255, 63, 161, 226, 193, 192, 110, 200, 255, 31, 161, 226, 193, 192, 110, 200, 125, 37, 6, 211, 102, 193, 45, 202, 255, 31, 6, 211, 102, 193, 45, 202, 125, 37, 6, 211, 102, 193, 45, 202, 0, 0, 6, 211, 102, 193, 45, 202, 0, 0, 6, 211, 224, 207, 247, 185, 15, 58, 6, 211, 224, 207, 247, 185, 125, 37, 6, 211, 224, 207, 247, 185, 0, 0, 6, 211, 224, 207, 247, 185, 0, 0, 161, 226, 81, 206, 62, 185, 255, 63, 161, 226, 81, 206, 62, 185, 15, 58, 161, 226, 81, 206, 62, 185, 125, 37, 161, 226, 19, 49, 96, 185, 255, 63, 161, 226, 19, 49, 96, 185, 55, 37, 161, 226, 19, 49, 96, 185, 88, 58, 6, 211, 130, 47, 28, 186, 55, 37, 6, 211, 130, 47, 28, 186, 88, 58, 6, 211, 130, 47, 28, 186, 0, 0, 6, 211, 130, 47, 28, 186, 255, 255, 6, 211, 99, 62, 45, 202, 56, 37, 6, 211, 99, 62, 45, 202, 255, 31, 6, 211, 99, 62, 45, 202, 0, 0, 6, 211, 99, 62, 45, 202, 0, 0, 161, 226, 4, 63, 110, 200, 255, 63, 161, 226, 4, 63, 110, 200, 56, 37, 161, 226, 4, 63, 110, 200, 255, 31, 6, 211, 185, 101, 5, 145, 213, 93, 6, 211, 185, 101, 5, 145, 3, 84, 6, 211, 185, 101, 5, 145, 255, 255, 6, 211, 185, 101, 5, 145, 255, 255, 161, 226, 38, 102, 3, 147, 255, 63, 161, 226, 38, 102, 3, 147, 213, 93, 161, 226, 38, 102, 3, 147, 3, 84, 161, 226, 124, 175, 229, 64, 255, 63, 161, 226, 124, 175, 229, 64, 213, 93, 161, 226, 124, 175, 229, 64, 3, 84, 6, 211, 15, 175, 230, 62, 213, 93, 6, 211, 15, 175, 230, 62, 3, 84, 6, 211, 15, 175, 230, 62, 255, 255, 6, 211, 15, 175, 230, 62, 255, 255, 6, 211, 5, 48, 107, 125, 213, 93, 6, 211, 5, 48, 107, 125, 88, 58, 6, 211, 5, 48, 107, 125, 255, 255, 6, 211, 5, 48, 107, 125, 255, 255, 161, 226, 143, 49, 209, 127, 255, 63, 161, 226, 143, 49, 209, 127, 213, 93, 161, 226, 143, 49, 209, 127, 88, 58, 6, 211, 187, 207, 210, 74, 15, 58, 6, 211, 187, 207, 210, 74, 213, 93, 6, 211, 187, 207, 210, 74, 0, 0, 6, 211, 187, 207, 210, 74, 255, 255, 161, 226, 44, 206, 23, 76, 255, 63, 161, 226, 44, 206, 23, 76, 15, 58, 161, 226, 44, 206, 23, 76, 213, 93, 255, 224, 137, 201, 45, 224, 3, 84, 255, 224, 137, 201, 45, 224, 255, 255, 255, 224, 137, 201, 45, 224, 255, 255, 255, 224, 137, 201, 45, 224, 255, 255, 91, 239, 34, 202, 201, 225, 255, 63, 91, 239, 34, 202, 201, 225, 4, 84, 91, 239, 34, 202, 201, 225, 251, 255, 91, 239, 249, 228, 186, 195, 255, 63, 91, 239, 249, 228, 186, 195, 4, 84, 91, 239, 249, 228, 186, 195, 175, 233, 255, 224, 137, 227, 16, 195, 4, 84, 255, 224, 137, 227, 16, 195, 175, 233, 255, 224, 137, 227, 16, 195, 255, 255, 255, 224, 137, 227, 16, 195, 255, 255, 255, 224, 200, 27, 95, 195, 189, 57, 255, 224, 200, 27, 95, 195, 123, 84, 255, 224, 200, 27, 95, 195, 0, 0, 255, 224, 200, 27, 95, 195, 255, 255, 91, 239, 84, 26, 9, 196, 255, 63, 91, 239, 84, 26, 9, 196, 189, 57, 91, 239, 84, 26, 9, 196, 123, 84, 91, 239, 221, 53, 199, 225, 255, 63, 91, 239, 221, 53, 199, 225, 121, 84, 91, 239, 221, 53, 199, 225, 255, 255, 255, 224, 117, 54, 45, 224, 121, 84, 255, 224, 117, 54, 45, 224, 255, 255, 255, 224, 117, 54, 45, 224, 255, 255, 255, 224, 117, 54, 45, 224, 255, 255, 91, 239, 246, 95, 22, 118, 255, 63, 91, 239, 246, 95, 22, 118, 119, 37, 91, 239, 246, 95, 22, 118, 199, 32, 255, 224, 90, 96, 235, 119, 119, 37, 255, 224, 90, 96, 235, 119, 199, 32, 255, 224, 90, 96, 235, 119, 0, 0, 255, 224, 90, 96, 235, 119, 0, 0, 255, 224, 176, 169, 205, 37, 203, 32, 255, 224, 176, 169, 205, 37, 119, 37, 255, 224, 176, 169, 205, 37, 0, 0, 255, 224, 176, 169, 205, 37, 0, 0, 91, 239, 75, 169, 248, 35, 255, 63, 91, 239, 75, 169, 248, 35, 203, 32, 91, 239, 75, 169, 248, 35, 119, 37, 91, 239, 51, 27, 253, 92, 255, 63, 91, 239, 51, 27, 253, 92, 189, 57, 91, 239, 51, 27, 253, 92, 199, 32, 255, 224, 161, 28, 51, 95, 189, 57, 255, 224, 161, 28, 51, 95, 199, 32, 255, 224, 161, 28, 51, 95, 0, 0, 255, 224, 161, 28, 51, 95, 0, 0, 91, 239, 202, 228, 174, 57, 255, 63, 91, 239, 202, 228, 174, 57, 175, 233, 91, 239, 202, 228, 174, 57, 203, 32, 255, 224, 91, 227, 216, 58, 175, 233, 255, 224, 91, 227, 216, 58, 203, 32, 255, 224, 91, 227, 216, 58, 0, 0, 255, 224, 91, 227, 216, 58, 255, 255, 255, 127, 246, 255, 59, 208, 0, 0, 255, 127, 246, 255, 59, 208, 0, 0, 255, 127, 79, 213, 254, 255, 0, 0, 255, 127, 79, 213, 254, 255, 0, 0, 255, 127, 2, 0, 185, 66, 255, 255, 255, 127, 2, 0, 185, 66, 255, 255, 255, 127, 176, 42, 254, 255, 0, 0, 255, 127, 176, 42, 254, 255, 0, 0, 255, 127, 4, 3, 147, 211, 0, 0, 255, 127, 4, 3, 147, 211, 255, 255, 255, 127, 248, 255, 12, 44, 0, 0, 255, 127, 248, 255, 12, 44, 0, 0, 255, 127, 8, 0, 129, 203, 255, 255, 255, 127, 8, 0, 129, 203, 255, 255, 255, 127, 77, 10, 138, 52, 255, 255, 255, 127, 77, 10, 138, 52, 255, 255, 255, 127, 0, 0, 26, 52, 255, 255, 255, 127, 0, 0, 26, 52, 255, 255, 255, 127, 84, 91, 29, 82, 255, 255, 255, 127, 84, 91, 29, 82, 255, 255, 255, 127, 170, 164, 0, 0, 255, 255, 255, 127, 170, 164, 0, 0, 255, 255, 255, 127, 177, 245, 147, 29, 255, 255, 255, 127, 177, 245, 147, 29, 255, 255, 255, 127, 255, 255, 3, 30, 0, 0, 255, 127, 255, 255, 3, 30, 255, 255, 0, 0, 10, 165, 155, 1, 117, 252, 0, 0, 10, 165, 155, 1, 70, 246, 0, 0, 10, 165, 155, 1, 255, 255, 204, 12, 170, 164, 0, 0, 255, 255, 204, 12, 170, 164, 0, 0, 255, 255, 204, 12, 170, 164, 0, 0, 117, 252, 204, 12, 170, 164, 0, 0, 70, 246, 204, 12, 255, 255, 3, 30, 0, 0, 204, 12, 255, 255, 3, 30, 255, 255, 204, 12, 255, 255, 3, 30, 147, 255, 0, 0, 254, 255, 123, 31, 0, 0, 0, 0, 254, 255, 123, 31, 147, 255, 0, 0, 254, 255, 123, 31, 255, 255, 204, 12, 177, 245, 147, 29, 255, 255, 204, 12, 177, 245, 147, 29, 255, 255, 204, 12, 177, 245, 147, 29, 118, 252, 204, 12, 177, 245, 147, 29, 147, 255, 0, 0, 177, 245, 11, 31, 118, 252, 0, 0, 177, 245, 11, 31, 147, 255, 0, 0, 177, 245, 11, 31, 255, 255, 163, 16, 38, 209, 192, 244, 255, 255, 163, 16, 38, 209, 192, 244, 255, 255, 163, 16, 38, 209, 192, 244, 255, 255, 163, 16, 236, 245, 147, 203, 255, 255, 163, 16, 236, 245, 147, 203, 255, 255, 163, 16, 236, 245, 147, 203, 255, 255, 163, 16, 135, 11, 52, 205, 0, 0, 163, 16, 135, 11, 52, 205, 255, 255, 163, 16, 135, 11, 52, 205, 255, 255, 163, 16, 216, 46, 192, 244, 255, 255, 163, 16, 216, 46, 192, 244, 255, 255, 163, 16, 216, 46, 192, 244, 255, 255, 163, 16, 18, 10, 68, 201, 0, 0, 163, 16, 18, 10, 68, 201, 0, 0, 163, 16, 18, 10, 68, 201, 255, 255, 163, 16, 84, 91, 114, 96, 0, 0, 163, 16, 84, 91, 114, 96, 0, 0, 163, 16, 84, 91, 114, 96, 255, 255, 163, 16, 170, 164, 84, 14, 0, 0, 163, 16, 170, 164, 84, 14, 0, 0, 163, 16, 170, 164, 84, 14, 255, 255, 163, 16, 77, 10, 223, 66, 0, 0, 163, 16, 77, 10, 223, 66, 0, 0, 163, 16, 77, 10, 223, 66, 255, 255, 163, 16, 182, 245, 231, 43, 0, 0, 163, 16, 182, 245, 231, 43, 255, 255, 163, 16, 182, 245, 231, 43, 255, 255, 148, 69, 102, 193, 45, 202, 0, 0, 148, 69, 102, 193, 45, 202, 0, 0, 148, 69, 102, 193, 45, 202, 255, 255, 148, 69, 224, 207, 247, 185, 0, 0, 148, 69, 224, 207, 247, 185, 0, 0, 148, 69, 224, 207, 247, 185, 255, 255, 148, 69, 130, 47, 28, 186, 0, 0, 148, 69, 130, 47, 28, 186, 255, 255, 148, 69, 130, 47, 28, 186, 255, 255, 148, 69, 99, 62, 45, 202, 0, 0, 148, 69, 99, 62, 45, 202, 0, 0, 148, 69, 99, 62, 45, 202, 255, 255, 148, 69, 185, 101, 5, 145, 255, 255, 148, 69, 185, 101, 5, 145, 255, 255, 148, 69, 185, 101, 5, 145, 255, 255, 148, 69, 15, 175, 230, 62, 255, 255, 148, 69, 15, 175, 230, 62, 255, 255, 148, 69, 15, 175, 230, 62, 255, 255, 148, 69, 5, 48, 107, 125, 255, 255, 148, 69, 5, 48, 107, 125, 255, 255, 148, 69, 5, 48, 107, 125, 255, 255, 148, 69, 187, 207, 210, 74, 0, 0, 148, 69, 187, 207, 210, 74, 255, 255, 148, 69, 187, 207, 210, 74, 255, 255, 148, 69, 137, 201, 45, 224, 255, 255, 148, 69, 137, 201, 45, 224, 255, 255, 148, 69, 137, 201, 45, 224, 255, 255, 148, 69, 137, 227, 16, 195, 255, 255, 148, 69, 137, 227, 16, 195, 255, 255, 148, 69, 137, 227, 16, 195, 255, 255, 148, 69, 200, 27, 95, 195, 0, 0, 148, 69, 200, 27, 95, 195, 255, 255, 148, 69, 200, 27, 95, 195, 255, 255, 148, 69, 117, 54, 45, 224, 255, 255, 148, 69, 117, 54, 45, 224, 255, 255, 148, 69, 117, 54, 45, 224, 255, 255, 148, 69, 90, 96, 235, 119, 0, 0, 148, 69, 90, 96, 235, 119, 0, 0, 148, 69, 90, 96, 235, 119, 255, 255, 148, 69, 176, 169, 205, 37, 0, 0, 148, 69, 176, 169, 205, 37, 0, 0, 148, 69, 176, 169, 205, 37, 255, 255, 148, 69, 161, 28, 51, 95, 0, 0, 148, 69, 161, 28, 51, 95, 0, 0, 148, 69, 161, 28, 51, 95, 255, 255, 148, 69, 91, 227, 216, 58, 0, 0, 148, 69, 91, 227, 216, 58, 255, 255, 148, 69, 91, 227, 216, 58, 255, 255, 93, 29, 193, 192, 110, 200, 25, 237, 93, 29, 193, 192, 110, 200, 255, 31, 93, 29, 193, 192, 110, 200, 255, 255, 248, 44, 102, 193, 45, 202, 0, 0, 248, 44, 102, 193, 45, 202, 0, 0, 248, 44, 102, 193, 45, 202, 25, 237, 248, 44, 102, 193, 45, 202, 255, 31, 248, 44, 224, 207, 247, 185, 0, 0, 248, 44, 224, 207, 247, 185, 0, 0, 248, 44, 224, 207, 247, 185, 24, 237, 248, 44, 224, 207, 247, 185, 175, 233, 93, 29, 81, 206, 62, 185, 24, 237, 93, 29, 81, 206, 62, 185, 175, 233, 93, 29, 81, 206, 62, 185, 255, 255, 93, 29, 19, 49, 96, 185, 198, 233, 93, 29, 19, 49, 96, 185, 111, 237, 93, 29, 19, 49, 96, 185, 255, 255, 248, 44, 130, 47, 28, 186, 0, 0, 248, 44, 130, 47, 28, 186, 255, 255, 248, 44, 130, 47, 28, 186, 198, 233, 248, 44, 130, 47, 28, 186, 111, 237, 248, 44, 99, 62, 45, 202, 0, 0, 248, 44, 99, 62, 45, 202, 0, 0, 248, 44, 99, 62, 45, 202, 255, 31, 248, 44, 99, 62, 45, 202, 111, 237, 93, 29, 4, 63, 110, 200, 255, 31, 93, 29, 4, 63, 110, 200, 111, 237, 93, 29, 4, 63, 110, 200, 255, 255, 248, 44, 185, 101, 5, 145, 255, 255, 248, 44, 185, 101, 5, 145, 255, 255, 248, 44, 185, 101, 5, 145, 71, 246, 248, 44, 185, 101, 5, 145, 116, 252, 93, 29, 38, 102, 3, 147, 71, 246, 93, 29, 38, 102, 3, 147, 116, 252, 93, 29, 38, 102, 3, 147, 255, 255, 93, 29, 124, 175, 229, 64, 71, 246, 93, 29, 124, 175, 229, 64, 116, 252, 93, 29, 124, 175, 229, 64, 255, 255, 248, 44, 15, 175, 230, 62, 255, 255, 248, 44, 15, 175, 230, 62, 255, 255, 248, 44, 15, 175, 230, 62, 71, 246, 248, 44, 15, 175, 230, 62, 116, 252, 248, 44, 5, 48, 107, 125, 255, 255, 248, 44, 5, 48, 107, 125, 255, 255, 248, 44, 5, 48, 107, 125, 198, 233, 248, 44, 5, 48, 107, 125, 116, 252, 93, 29, 143, 49, 209, 127, 198, 233, 93, 29, 143, 49, 209, 127, 116, 252, 93, 29, 143, 49, 209, 127, 255, 255, 248, 44, 187, 207, 210, 74, 0, 0, 248, 44, 187, 207, 210, 74, 255, 255, 248, 44, 187, 207, 210, 74, 116, 252, 248, 44, 187, 207, 210, 74, 175, 233, 93, 29, 44, 206, 23, 76, 116, 252, 93, 29, 44, 206, 23, 76, 175, 233, 93, 29, 44, 206, 23, 76, 255, 255, 255, 30, 137, 201, 45, 224, 255, 255, 255, 30, 137, 201, 45, 224, 255, 255, 255, 30, 137, 201, 45, 224, 251, 255, 255, 30, 137, 201, 45, 224, 70, 246, 163, 16, 34, 202, 201, 225, 251, 255, 163, 16, 34, 202, 201, 225, 70, 246, 163, 16, 34, 202, 201, 225, 255, 255, 163, 16, 249, 228, 186, 195, 175, 233, 163, 16, 249, 228, 186, 195, 71, 246, 163, 16, 249, 228, 186, 195, 255, 255, 255, 30, 137, 227, 16, 195, 255, 255, 255, 30, 137, 227, 16, 195, 255, 255, 255, 30, 137, 227, 16, 195, 175, 233, 255, 30, 137, 227, 16, 195, 71, 246, 255, 30, 200, 27, 95, 195, 0, 0, 255, 30, 200, 27, 95, 195, 255, 255, 255, 30, 200, 27, 95, 195, 144, 246, 255, 30, 200, 27, 95, 195, 172, 233, 163, 16, 84, 26, 9, 196, 144, 246, 163, 16, 84, 26, 9, 196, 172, 233, 163, 16, 84, 26, 9, 196, 255, 255, 163, 16, 221, 53, 199, 225, 255, 255, 163, 16, 221, 53, 199, 225, 136, 246, 163, 16, 221, 53, 199, 225, 255, 255, 255, 30, 117, 54, 45, 224, 255, 255, 255, 30, 117, 54, 45, 224, 255, 255, 255, 30, 117, 54, 45, 224, 255, 255, 255, 30, 117, 54, 45, 224, 136, 246, 163, 16, 246, 95, 22, 118, 184, 247, 163, 16, 246, 95, 22, 118, 20, 237, 163, 16, 246, 95, 22, 118, 255, 255, 255, 30, 90, 96, 235, 119, 0, 0, 255, 30, 90, 96, 235, 119, 0, 0, 255, 30, 90, 96, 235, 119, 184, 247, 255, 30, 90, 96, 235, 119, 20, 237, 255, 30, 176, 169, 205, 37, 0, 0, 255, 30, 176, 169, 205, 37, 0, 0, 255, 30, 176, 169, 205, 37, 21, 237, 255, 30, 176, 169, 205, 37, 185, 247, 163, 16, 75, 169, 248, 35, 21, 237, 163, 16, 75, 169, 248, 35, 185, 247, 163, 16, 75, 169, 248, 35, 255, 255, 163, 16, 51, 27, 253, 92, 184, 247, 163, 16, 51, 27, 253, 92, 172, 233, 163, 16, 51, 27, 253, 92, 255, 255, 255, 30, 161, 28, 51, 95, 0, 0, 255, 30, 161, 28, 51, 95, 0, 0, 255, 30, 161, 28, 51, 95, 184, 247, 255, 30, 161, 28, 51, 95, 172, 233, 163, 16, 202, 228, 174, 57, 185, 247, 163, 16, 202, 228, 174, 57, 175, 233, 163, 16, 202, 228, 174, 57, 255, 255, 255, 30, 91, 227, 216, 58, 0, 0, 255, 30, 91, 227, 216, 58, 255, 255, 255, 30, 91, 227, 216, 58, 185, 247, 255, 30, 91, 227, 216, 58, 175, 233, 255, 127, 255, 127, 255, 127, 124, 165, 255, 191, 255, 127, 255, 127, 124, 165, 255, 127, 11, 192, 255, 191, 255, 127, 255, 127, 186, 76, 255, 127, 130, 90, 255, 191, 255, 127, 255, 127, 130, 90, 255, 127, 255, 127, 255, 191, 255, 127, 239, 191, 255, 255, 255, 127, 186, 76, 255, 191, 255, 127, 124, 165, 255, 255, 255, 127, 255, 255, 255, 191, 255, 127, 254, 191, 255, 255, 124, 165, 255, 255, 255, 191, 255, 127, 255, 127, 129, 218, 255, 127, 186, 204, 255, 191, 255, 127, 255, 127, 255, 255, 255, 127, 129, 218, 255, 191, 255, 127, 255, 127, 6, 192, 255, 127, 0, 192, 255, 191, 255, 127, 255, 127, 186, 204, 255, 127, 0, 192, 255, 191, 255, 127, 255, 127, 116, 238, 255, 127, 11, 192, 255, 191, 255, 127, 254, 191, 254, 255, 238, 191, 254, 255, 255, 191, 255, 127, 124, 165, 255, 255, 255, 127, 115, 238, 255, 191, 255, 127, 124, 165, 255, 255, 255, 127, 116, 238, 255, 191, 255, 127, 239, 191, 255, 255, 255, 127, 115, 238, 255, 191, 255, 127, 247, 191, 0, 0, 47, 1, 103, 218, 255, 191, 255, 127, 255, 127, 156, 125, 255, 127, 6, 192, 47, 1, 103, 218, 96, 9, 208, 220, 47, 1, 103, 218, 255, 191, 255, 127, 255, 127, 115, 110, 255, 127, 156, 125, 96, 9, 208, 220, 47, 1, 103, 218, 95, 9, 208, 220, 26, 165, 52, 147, 255, 191, 255, 127, 255, 127, 115, 110, 255, 127, 124, 165, 95, 9, 208, 220, 26, 165, 52, 147, 255, 127, 254, 255, 255, 127, 255, 127, 255, 127, 124, 165, 255, 127, 254, 255, 255, 127, 124, 165, 255, 127, 11, 192, 255, 127, 254, 255, 255, 127, 186, 76, 255, 127, 130, 90, 255, 127, 254, 255, 255, 127, 130, 90, 255, 127, 255, 127, 255, 127, 254, 255, 239, 191, 255, 255, 255, 127, 186, 76, 255, 127, 254, 255, 124, 165, 255, 255, 255, 127, 255, 255, 255, 127, 254, 255, 254, 191, 255, 255, 124, 165, 255, 255, 255, 127, 254, 255, 255, 127, 129, 218, 255, 127, 186, 204, 255, 127, 254, 255, 255, 127, 255, 255, 255, 127, 129, 218, 255, 127, 254, 255, 255, 127, 6, 192, 255, 127, 0, 192, 255, 127, 254, 255, 255, 127, 186, 204, 255, 127, 0, 192, 255, 127, 254, 255, 255, 127, 116, 238, 255, 127, 11, 192, 255, 127, 254, 255, 0, 64, 254, 255, 16, 64, 254, 255, 255, 127, 254, 255, 124, 165, 255, 255, 255, 127, 115, 238, 255, 127, 254, 255, 124, 165, 255, 255, 255, 127, 116, 238, 255, 127, 255, 255, 239, 191, 255, 255, 255, 127, 115, 238, 255, 127, 254, 255, 127, 122, 33, 252, 255, 127, 6, 192, 127, 122, 33, 252, 255, 127, 156, 125, 255, 127, 6, 192, 255, 127, 254, 255, 128, 122, 33, 252, 213, 92, 65, 231, 128, 122, 33, 252, 213, 92, 65, 231, 255, 127, 115, 110, 255, 127, 156, 125, 255, 127, 254, 255, 26, 165, 174, 199, 212, 92, 66, 231, 26, 165, 174, 199, 212, 92, 66, 231, 255, 127, 115, 110, 255, 127, 124, 165, 255, 127, 254, 255, 27, 165, 174, 199, 210, 92, 66, 231, 26, 165, 174, 199, 210, 92, 66, 231, 255, 127, 115, 110, 255, 127, 124, 165, 133, 122, 36, 252, 238, 191, 255, 255, 255, 127, 156, 125, 255, 127, 254, 255, 133, 122, 36, 252, 16, 64, 255, 255, 133, 122, 36, 252, 212, 92, 64, 231, 255, 127, 115, 110, 255, 127, 156, 125, 255, 127, 254, 255, 133, 122, 36, 252, 212, 92, 64, 231, 255, 127, 254, 255, 255, 127, 255, 127, 255, 127, 124, 165, 255, 127, 254, 255, 255, 127, 124, 165, 255, 127, 11, 192, 255, 127, 254, 255, 255, 127, 186, 76, 255, 127, 130, 90, 255, 127, 254, 255, 255, 127, 130, 90, 255, 127, 255, 127, 255, 127, 254, 255, 239, 191, 255, 255, 255, 127, 186, 76, 255, 127, 254, 255, 124, 165, 255, 255, 255, 127, 115, 238, 255, 127, 254, 255, 124, 165, 255, 255, 255, 127, 116, 238, 255, 127, 254, 255, 239, 191, 255, 255, 255, 127, 115, 238, 255, 127, 254, 255, 255, 127, 116, 238, 255, 127, 11, 192, 255, 127, 254, 255, 124, 165, 255, 255, 255, 127, 255, 255, 255, 127, 254, 255, 255, 127, 12, 64, 124, 165, 255, 255, 255, 127, 254, 255, 255, 127, 48, 219, 255, 127, 177, 191, 255, 127, 254, 255, 255, 127, 255, 255, 255, 127, 48, 219, 255, 127, 255, 255, 255, 127, 115, 110, 255, 127, 124, 165, 255, 127, 254, 255, 255, 127, 116, 110, 255, 127, 124, 165, 255, 127, 254, 255, 255, 127, 115, 110, 255, 127, 177, 191, 255, 127, 254, 255, 255, 127, 12, 64, 255, 127, 116, 110, 255, 127, 254, 255, 255, 127, 255, 127, 255, 127, 124, 165, 255, 127, 254, 255, 255, 127, 124, 165, 255, 127, 11, 192, 255, 127, 255, 255, 177, 191, 255, 255, 255, 127, 49, 91, 255, 127, 254, 255, 255, 127, 49, 91, 255, 127, 255, 127, 255, 127, 254, 255, 124, 165, 255, 255, 255, 127, 115, 238, 255, 127, 254, 255, 124, 165, 255, 255, 255, 127, 116, 238, 255, 127, 254, 255, 177, 191, 255, 255, 255, 127, 115, 238, 255, 127, 254, 255, 255, 127, 116, 238, 255, 127, 11, 192, 255, 127, 254, 255, 255, 127, 254, 255, 254, 90, 95, 243, 255, 127, 254, 255, 254, 90, 95, 243, 124, 165, 255, 255, 255, 127, 255, 255, 251, 69, 247, 226, 254, 90, 95, 243, 255, 127, 12, 64, 124, 165, 255, 255, 255, 127, 254, 255, 251, 69, 247, 226, 254, 90, 95, 243, 255, 127, 254, 255, 80, 140, 164, 219, 53, 157, 218, 197, 80, 140, 164, 219, 53, 157, 218, 197, 255, 127, 48, 219, 255, 127, 177, 191, 80, 140, 164, 219, 255, 127, 254, 255, 255, 127, 255, 255, 255, 127, 48, 219, 255, 127, 255, 255, 80, 140, 164, 219, 255, 127, 254, 255, 121, 93, 214, 231, 26, 165, 174, 199, 255, 127, 115, 110, 255, 127, 124, 165, 255, 127, 255, 255, 121, 93, 214, 231, 26, 165, 174, 199, 255, 127, 254, 255, 121, 93, 214, 231, 26, 165, 174, 199, 121, 93, 214, 231, 26, 165, 174, 199, 255, 127, 116, 110, 255, 127, 124, 165, 121, 93, 214, 231, 53, 157, 218, 197, 255, 127, 115, 110, 255, 127, 177, 191, 255, 127, 255, 255, 121, 93, 214, 231, 53, 157, 218, 197, 251, 69, 247, 226, 121, 93, 213, 231, 255, 127, 12, 64, 255, 127, 116, 110, 255, 127, 254, 255, 251, 69, 247, 226, 121, 93, 213, 231, 28, 165, 171, 199, 255, 255, 137, 218, 255, 127, 255, 127, 255, 127, 124, 165, 255, 127, 254, 255, 28, 165, 171, 199, 230, 255, 109, 37, 255, 127, 255, 255, 29, 165, 171, 199, 9, 106, 10, 181, 29, 165, 171, 199, 9, 106, 10, 181, 255, 127, 124, 165, 255, 127, 11, 192, 86, 70, 77, 227, 51, 72, 22, 219, 177, 191, 255, 255, 255, 127, 49, 91, 255, 127, 254, 255, 86, 70, 77, 227, 51, 72, 22, 219, 255, 127, 254, 255, 49, 72, 34, 219, 138, 90, 255, 127, 49, 72, 33, 219, 138, 90, 255, 127, 255, 127, 49, 91, 255, 127, 255, 127, 255, 127, 254, 255, 252, 90, 97, 243, 65, 133, 121, 238, 252, 90, 97, 243, 65, 133, 121, 238, 124, 165, 255, 255, 255, 127, 115, 238, 64, 133, 123, 238, 251, 90, 96, 243, 124, 165, 255, 255, 255, 127, 116, 238, 255, 127, 254, 255, 64, 133, 123, 238, 251, 90, 96, 243, 255, 127, 254, 255, 86, 70, 77, 227, 64, 133, 122, 238, 86, 70, 77, 227, 64, 133, 122, 238, 177, 191, 255, 255, 255, 127, 115, 238, 255, 127, 254, 255, 8, 106, 10, 181, 65, 133, 123, 238, 8, 106, 10, 181, 65, 133, 123, 238, 255, 127, 116, 238, 255, 127, 11, 192, 254, 191, 255, 255, 124, 165, 255, 255, 124, 165, 255, 255, 255, 127, 255, 255, 255, 127, 6, 192, 255, 127, 0, 192, 255, 127, 255, 255, 255, 127, 129, 218, 255, 127, 129, 218, 255, 127, 186, 204, 254, 191, 255, 255, 16, 64, 255, 255, 255, 127, 186, 204, 255, 127, 0, 192, 255, 127, 115, 110, 255, 127, 156, 125, 255, 127, 156, 125, 255, 127, 6, 192, 255, 127, 115, 110, 255, 127, 124, 165, 255, 127, 115, 110, 255, 127, 124, 165, 255, 127, 115, 110, 255, 127, 156, 125, 16, 64, 255, 255, 255, 127, 156, 125, 95, 9, 209, 220, 26, 165, 52, 147, 255, 191, 255, 127, 255, 127, 115, 110, 255, 127, 124, 165, 95, 9, 209, 220, 26, 165, 52, 147, 238, 191, 254, 255, 255, 127, 156, 125, 46, 1, 102, 218, 238, 191, 254, 255, 46, 1, 102, 218, 255, 191, 255, 127, 255, 127, 115, 110, 255, 127, 156, 125, 96, 9, 210, 220, 46, 1, 102, 218, 96, 9, 210, 220, 46, 1, 102, 218, 255, 191, 255, 127, 255, 127, 255, 127, 255, 127, 124, 165, 255, 191, 255, 127, 255, 127, 124, 165, 255, 127, 11, 192, 255, 191, 255, 127, 255, 127, 186, 76, 255, 127, 130, 90, 255, 191, 255, 127, 255, 127, 130, 90, 255, 127, 255, 127, 255, 191, 255, 127, 239, 191, 255, 255, 255, 127, 186, 76, 255, 191, 255, 127, 124, 165, 255, 255, 255, 127, 115, 238, 255, 191, 255, 127, 124, 165, 255, 255, 255, 127, 116, 238, 255, 191, 255, 127, 239, 191, 255, 255, 255, 127, 115, 238, 255, 191, 255, 127, 255, 127, 116, 238, 255, 127, 11, 192, 255, 191, 255, 127, 124, 165, 255, 255, 255, 127, 255, 255, 255, 191, 255, 127, 255, 127, 12, 64, 124, 165, 255, 255, 255, 191, 255, 127, 255, 127, 48, 219, 255, 127, 177, 191, 255, 191, 255, 127, 255, 127, 255, 255, 255, 127, 48, 219, 255, 191, 255, 127, 255, 127, 115, 110, 255, 127, 124, 165, 255, 191, 255, 127, 255, 127, 116, 110, 255, 127, 124, 165, 255, 191, 255, 127, 255, 127, 115, 110, 255, 127, 177, 191, 255, 191, 255, 127, 255, 127, 12, 64, 255, 127, 116, 110, 255, 191, 255, 127, 255, 127, 255, 127, 255, 127, 124, 165, 255, 191, 255, 127, 255, 127, 124, 165, 255, 127, 11, 192, 255, 191, 255, 127, 177, 191, 255, 255, 255, 127, 49, 91, 255, 191, 255, 127, 255, 127, 49, 91, 255, 127, 255, 127, 255, 191, 255, 127, 124, 165, 255, 255, 255, 127, 115, 238, 255, 191, 255, 127, 124, 165, 255, 255, 255, 127, 116, 238, 255, 191, 255, 127, 177, 191, 255, 255, 255, 127, 115, 238, 255, 191, 255, 127, 255, 127, 116, 238, 255, 127, 11, 192, 255, 191, 255, 127, 184, 10, 184, 178, 255, 127, 0, 0, 255, 191, 255, 127, 124, 165, 255, 255, 255, 127, 255, 255, 184, 10, 184, 178, 255, 127, 0, 0, 255, 127, 12, 64, 124, 165, 255, 255, 184, 10, 183, 178, 249, 21, 5, 203, 184, 10, 183, 178, 249, 21, 5, 203, 255, 191, 255, 127, 185, 180, 11, 150, 186, 205, 113, 138, 255, 191, 255, 127, 255, 127, 48, 219, 255, 127, 177, 191, 185, 180, 11, 150, 186, 205, 113, 138, 255, 127, 255, 255, 255, 127, 48, 219, 255, 127, 0, 0, 186, 205, 113, 138, 255, 127, 0, 0, 186, 205, 113, 138, 255, 191, 255, 127, 255, 127, 115, 110, 255, 127, 124, 165, 26, 165, 52, 147, 55, 9, 85, 220, 26, 165, 52, 147, 55, 9, 85, 220, 255, 191, 255, 127, 26, 165, 52, 147, 55, 9, 85, 220, 255, 191, 255, 127, 255, 127, 116, 110, 255, 127, 124, 165, 26, 165, 52, 147, 55, 9, 85, 220, 255, 127, 115, 110, 255, 127, 177, 191, 185, 180, 11, 150, 55, 9, 85, 220, 185, 180, 11, 150, 55, 9, 85, 220, 255, 191, 255, 127, 255, 127, 12, 64, 255, 127, 116, 110, 55, 9, 85, 220, 249, 21, 5, 203, 55, 9, 85, 220, 249, 21, 5, 203, 255, 191, 255, 127, 255, 127, 255, 127, 255, 127, 124, 165, 116, 165, 255, 127, 25, 165, 53, 147, 116, 165, 255, 127, 25, 165, 53, 147, 255, 191, 255, 127, 11, 53, 246, 21, 25, 165, 54, 147, 255, 191, 255, 127, 255, 127, 124, 165, 255, 127, 11, 192, 11, 53, 246, 21, 25, 165, 54, 147, 177, 191, 255, 255, 255, 127, 49, 91, 231, 18, 3, 219, 197, 21, 161, 202, 231, 18, 3, 219, 197, 21, 161, 202, 255, 191, 255, 127, 116, 165, 255, 127, 227, 18, 0, 219, 255, 191, 255, 127, 255, 127, 49, 91, 255, 127, 255, 127, 116, 165, 255, 127, 227, 18, 0, 219, 181, 214, 31, 132, 183, 10, 179, 178, 255, 191, 255, 127, 124, 165, 255, 255, 255, 127, 115, 238, 181, 214, 31, 132, 183, 10, 179, 178, 124, 165, 255, 255, 255, 127, 116, 238, 184, 10, 180, 178, 178, 214, 31, 132, 184, 10, 180, 178, 178, 214, 31, 132, 255, 191, 255, 127, 181, 214, 31, 132, 197, 21, 161, 202, 255, 191, 255, 127, 177, 191, 255, 255, 255, 127, 115, 238, 181, 214, 31, 132, 197, 21, 161, 202, 177, 214, 31, 132, 11, 53, 246, 21, 255, 191, 255, 127, 255, 127, 116, 238, 255, 127, 11, 192, 177, 214, 31, 132, 11, 53, 246, 21) }] blend_shape_mode = 0 -shadow_mesh = SubResource("ArrayMesh_so5e4") +shadow_mesh = SubResource("ArrayMesh_wil01") -[sub_resource type="BoxShape3D" id="BoxShape3D_jetsn"] +[sub_resource type="BoxShape3D" id="BoxShape3D_m2pgt"] size = Vector3(0.205353, 2.0864, 1.45969) -[sub_resource type="BoxShape3D" id="BoxShape3D_qogjv"] +[sub_resource type="BoxShape3D" id="BoxShape3D_6spu2"] size = Vector3(0.205353, 1.06533, 0.579315) -[sub_resource type="BoxShape3D" id="BoxShape3D_j6v6e"] +[sub_resource type="BoxShape3D" id="BoxShape3D_t3w31"] size = Vector3(0.205353, 0.977611, 0.583603) -[sub_resource type="BoxShape3D" id="BoxShape3D_1xyrr"] +[sub_resource type="BoxShape3D" id="BoxShape3D_tjkkx"] size = Vector3(0.205353, 0.816943, 0.579315) -[node name="Hall - DoorBody - Texture" instance=ExtResource("1_4wjuf")] +[sub_resource type="Animation" id="Animation_psc5j"] +resource_name = "RightDoorOpen" +length = 5.0 +tracks/0/type = "position_3d" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = PackedFloat32Array(0, 1, 4, 0, 0, 5, 1, 4, 0, 2) + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_3a1iu"] +_data = { +"RightDoorOpen": SubResource("Animation_psc5j") +} + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vmp8a"] +resource_name = "Material.001" +cull_mode = 2 +albedo_texture = ExtResource("8_5vrau") +metallic = 1.0 +metallic_texture_channel = 2 +roughness_texture_channel = 1 +emission_enabled = true +emission_texture = ExtResource("9_dyr81") +normal_enabled = true +normal_texture = ExtResource("10_uihcf") + +[sub_resource type="ArrayMesh" id="ArrayMesh_4qjo7"] +_surfaces = [{ +"aabb": AABB(-2, -2, -1, 2.6, 4, 2.00001), +"format": 34896613377, +"index_count": 804, +"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 5, 0, 13, 0, 7, 0, 5, 0, 19, 0, 13, 0, 11, 0, 5, 0, 7, 0, 5, 0, 25, 0, 8, 0, 24, 0, 5, 0, 11, 0, 5, 0, 24, 0, 25, 0, 51, 0, 73, 0, 48, 0, 51, 0, 74, 0, 73, 0, 6, 0, 16, 0, 4, 0, 6, 0, 14, 0, 16, 0, 2, 0, 12, 0, 3, 0, 2, 0, 15, 0, 12, 0, 2, 0, 17, 0, 15, 0, 2, 0, 0, 0, 17, 0, 4, 0, 19, 0, 5, 0, 4, 0, 16, 0, 19, 0, 7, 0, 14, 0, 6, 0, 7, 0, 13, 0, 14, 0, 17, 0, 1, 0, 18, 0, 17, 0, 0, 0, 1, 0, 13, 0, 15, 0, 14, 0, 13, 0, 12, 0, 15, 0, 17, 0, 14, 0, 15, 0, 17, 0, 16, 0, 14, 0, 12, 0, 19, 0, 18, 0, 12, 0, 13, 0, 19, 0, 18, 0, 16, 0, 17, 0, 18, 0, 19, 0, 16, 0, 12, 0, 1, 0, 3, 0, 12, 0, 18, 0, 1, 0, 10, 0, 7, 0, 6, 0, 7, 0, 26, 0, 11, 0, 27, 0, 7, 0, 10, 0, 7, 0, 27, 0, 26, 0, 8, 0, 4, 0, 5, 0, 4, 0, 21, 0, 9, 0, 20, 0, 4, 0, 8, 0, 4, 0, 20, 0, 21, 0, 9, 0, 6, 0, 4, 0, 6, 0, 23, 0, 10, 0, 22, 0, 6, 0, 9, 0, 6, 0, 22, 0, 23, 0, 41, 0, 67, 0, 42, 0, 41, 0, 64, 0, 67, 0, 52, 0, 76, 0, 53, 0, 52, 0, 77, 0, 76, 0, 47, 0, 69, 0, 44, 0, 47, 0, 70, 0, 69, 0, 24, 0, 35, 0, 25, 0, 24, 0, 34, 0, 35, 0, 48, 0, 72, 0, 49, 0, 48, 0, 73, 0, 72, 0, 28, 0, 38, 0, 30, 0, 28, 0, 36, 0, 38, 0, 43, 0, 65, 0, 40, 0, 43, 0, 66, 0, 65, 0, 30, 0, 34, 0, 24, 0, 30, 0, 38, 0, 34, 0, 33, 0, 37, 0, 36, 0, 33, 0, 32, 0, 37, 0, 36, 0, 39, 0, 38, 0, 36, 0, 37, 0, 39, 0, 38, 0, 35, 0, 34, 0, 38, 0, 39, 0, 35, 0, 22, 0, 33, 0, 23, 0, 22, 0, 32, 0, 33, 0, 23, 0, 36, 0, 28, 0, 23, 0, 33, 0, 36, 0, 25, 0, 39, 0, 31, 0, 25, 0, 35, 0, 39, 0, 31, 0, 37, 0, 29, 0, 31, 0, 39, 0, 37, 0, 29, 0, 32, 0, 22, 0, 29, 0, 37, 0, 32, 0, 31, 0, 41, 0, 25, 0, 31, 0, 40, 0, 41, 0, 25, 0, 42, 0, 8, 0, 25, 0, 41, 0, 42, 0, 8, 0, 43, 0, 20, 0, 8, 0, 42, 0, 43, 0, 20, 0, 40, 0, 31, 0, 20, 0, 43, 0, 40, 0, 22, 0, 45, 0, 29, 0, 22, 0, 44, 0, 45, 0, 29, 0, 46, 0, 21, 0, 29, 0, 45, 0, 46, 0, 21, 0, 47, 0, 9, 0, 21, 0, 46, 0, 47, 0, 9, 0, 44, 0, 22, 0, 9, 0, 47, 0, 44, 0, 29, 0, 49, 0, 31, 0, 29, 0, 48, 0, 49, 0, 31, 0, 50, 0, 20, 0, 31, 0, 49, 0, 50, 0, 20, 0, 51, 0, 21, 0, 20, 0, 50, 0, 51, 0, 21, 0, 48, 0, 29, 0, 21, 0, 51, 0, 48, 0, 10, 0, 53, 0, 27, 0, 10, 0, 52, 0, 53, 0, 27, 0, 54, 0, 28, 0, 27, 0, 53, 0, 54, 0, 28, 0, 55, 0, 23, 0, 28, 0, 54, 0, 55, 0, 23, 0, 52, 0, 10, 0, 23, 0, 55, 0, 52, 0, 27, 0, 57, 0, 26, 0, 27, 0, 56, 0, 57, 0, 26, 0, 58, 0, 30, 0, 26, 0, 57, 0, 58, 0, 30, 0, 59, 0, 28, 0, 30, 0, 58, 0, 59, 0, 28, 0, 56, 0, 27, 0, 28, 0, 59, 0, 56, 0, 26, 0, 61, 0, 11, 0, 26, 0, 60, 0, 61, 0, 11, 0, 62, 0, 24, 0, 11, 0, 61, 0, 62, 0, 24, 0, 63, 0, 30, 0, 24, 0, 62, 0, 63, 0, 30, 0, 60, 0, 26, 0, 30, 0, 63, 0, 60, 0, 101, 0, 127, 0, 102, 0, 101, 0, 124, 0, 127, 0, 94, 0, 118, 0, 95, 0, 94, 0, 119, 0, 118, 0, 107, 0, 129, 0, 104, 0, 107, 0, 130, 0, 129, 0, 97, 0, 123, 0, 98, 0, 97, 0, 120, 0, 123, 0, 90, 0, 114, 0, 91, 0, 90, 0, 115, 0, 114, 0, 108, 0, 132, 0, 109, 0, 108, 0, 133, 0, 132, 0, 56, 0, 80, 0, 57, 0, 56, 0, 81, 0, 80, 0, 45, 0, 71, 0, 46, 0, 45, 0, 68, 0, 71, 0, 55, 0, 77, 0, 52, 0, 55, 0, 78, 0, 77, 0, 60, 0, 84, 0, 61, 0, 60, 0, 85, 0, 84, 0, 42, 0, 66, 0, 43, 0, 42, 0, 67, 0, 66, 0, 49, 0, 75, 0, 50, 0, 49, 0, 72, 0, 75, 0, 59, 0, 81, 0, 56, 0, 59, 0, 82, 0, 81, 0, 46, 0, 70, 0, 47, 0, 46, 0, 71, 0, 70, 0, 53, 0, 79, 0, 54, 0, 53, 0, 76, 0, 79, 0, 63, 0, 85, 0, 60, 0, 63, 0, 86, 0, 85, 0, 50, 0, 74, 0, 51, 0, 50, 0, 75, 0, 74, 0, 57, 0, 83, 0, 58, 0, 57, 0, 80, 0, 83, 0, 54, 0, 78, 0, 55, 0, 54, 0, 79, 0, 78, 0, 61, 0, 87, 0, 62, 0, 61, 0, 84, 0, 87, 0, 58, 0, 82, 0, 59, 0, 58, 0, 83, 0, 82, 0, 62, 0, 86, 0, 63, 0, 62, 0, 87, 0, 86, 0, 40, 0, 64, 0, 41, 0, 40, 0, 65, 0, 64, 0, 44, 0, 68, 0, 45, 0, 44, 0, 69, 0, 68, 0, 65, 0, 89, 0, 64, 0, 65, 0, 88, 0, 89, 0, 64, 0, 90, 0, 67, 0, 64, 0, 89, 0, 90, 0, 67, 0, 91, 0, 66, 0, 67, 0, 90, 0, 91, 0, 66, 0, 88, 0, 65, 0, 66, 0, 91, 0, 88, 0, 69, 0, 93, 0, 68, 0, 69, 0, 92, 0, 93, 0, 68, 0, 94, 0, 71, 0, 68, 0, 93, 0, 94, 0, 71, 0, 95, 0, 70, 0, 71, 0, 94, 0, 95, 0, 70, 0, 92, 0, 69, 0, 70, 0, 95, 0, 92, 0, 73, 0, 97, 0, 72, 0, 73, 0, 96, 0, 97, 0, 72, 0, 98, 0, 75, 0, 72, 0, 97, 0, 98, 0, 75, 0, 99, 0, 74, 0, 75, 0, 98, 0, 99, 0, 74, 0, 96, 0, 73, 0, 74, 0, 99, 0, 96, 0, 77, 0, 101, 0, 76, 0, 77, 0, 100, 0, 101, 0, 76, 0, 102, 0, 79, 0, 76, 0, 101, 0, 102, 0, 79, 0, 103, 0, 78, 0, 79, 0, 102, 0, 103, 0, 78, 0, 100, 0, 77, 0, 78, 0, 103, 0, 100, 0, 81, 0, 105, 0, 80, 0, 81, 0, 104, 0, 105, 0, 80, 0, 106, 0, 83, 0, 80, 0, 105, 0, 106, 0, 83, 0, 107, 0, 82, 0, 83, 0, 106, 0, 107, 0, 82, 0, 104, 0, 81, 0, 82, 0, 107, 0, 104, 0, 85, 0, 109, 0, 84, 0, 85, 0, 108, 0, 109, 0, 84, 0, 110, 0, 87, 0, 84, 0, 109, 0, 110, 0, 87, 0, 111, 0, 86, 0, 87, 0, 110, 0, 111, 0, 86, 0, 108, 0, 85, 0, 86, 0, 111, 0, 108, 0, 113, 0, 115, 0, 112, 0, 113, 0, 114, 0, 115, 0, 117, 0, 119, 0, 116, 0, 117, 0, 118, 0, 119, 0, 121, 0, 123, 0, 120, 0, 121, 0, 122, 0, 123, 0, 125, 0, 127, 0, 124, 0, 125, 0, 126, 0, 127, 0, 129, 0, 131, 0, 128, 0, 129, 0, 130, 0, 131, 0, 133, 0, 135, 0, 132, 0, 133, 0, 134, 0, 135, 0, 111, 0, 133, 0, 108, 0, 111, 0, 134, 0, 133, 0, 98, 0, 122, 0, 99, 0, 98, 0, 123, 0, 122, 0, 105, 0, 131, 0, 106, 0, 105, 0, 128, 0, 131, 0, 102, 0, 126, 0, 103, 0, 102, 0, 127, 0, 126, 0, 109, 0, 135, 0, 110, 0, 109, 0, 132, 0, 135, 0, 106, 0, 130, 0, 107, 0, 106, 0, 131, 0, 130, 0, 110, 0, 134, 0, 111, 0, 110, 0, 135, 0, 134, 0, 88, 0, 112, 0, 89, 0, 88, 0, 113, 0, 112, 0, 92, 0, 116, 0, 93, 0, 92, 0, 117, 0, 116, 0, 91, 0, 113, 0, 88, 0, 91, 0, 114, 0, 113, 0, 96, 0, 120, 0, 97, 0, 96, 0, 121, 0, 120, 0, 95, 0, 117, 0, 92, 0, 95, 0, 118, 0, 117, 0, 100, 0, 124, 0, 101, 0, 100, 0, 125, 0, 124, 0, 89, 0, 115, 0, 90, 0, 89, 0, 112, 0, 115, 0, 99, 0, 121, 0, 96, 0, 99, 0, 122, 0, 121, 0, 104, 0, 128, 0, 105, 0, 104, 0, 129, 0, 128, 0, 93, 0, 119, 0, 94, 0, 93, 0, 116, 0, 119, 0, 103, 0, 125, 0, 100, 0, 103, 0, 126, 0, 125, 0), +"name": "Material.001", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 136, +"vertex_data": PackedByteArray(0, 0, 0, 0, 254, 255, 0, 0, 0, 0, 255, 255, 254, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 255, 255, 124, 19, 84, 220, 0, 0, 255, 255, 130, 236, 84, 220, 0, 0, 255, 255, 124, 19, 169, 35, 0, 0, 255, 255, 130, 236, 169, 35, 0, 0, 234, 230, 130, 236, 84, 220, 0, 0, 234, 230, 124, 19, 84, 220, 0, 0, 234, 230, 124, 19, 169, 35, 0, 0, 234, 230, 130, 236, 169, 35, 0, 0, 227, 246, 255, 255, 0, 0, 0, 0, 255, 255, 19, 250, 215, 11, 0, 0, 255, 255, 235, 5, 215, 11, 0, 0, 227, 246, 0, 0, 0, 0, 0, 0, 255, 255, 235, 5, 39, 244, 0, 0, 227, 246, 0, 0, 254, 255, 0, 0, 227, 246, 255, 255, 254, 255, 0, 0, 255, 255, 19, 250, 39, 244, 0, 0, 234, 230, 200, 186, 84, 220, 0, 0, 234, 230, 54, 69, 84, 220, 0, 0, 234, 230, 124, 19, 198, 158, 0, 0, 234, 230, 124, 19, 56, 97, 0, 0, 234, 230, 130, 236, 56, 97, 0, 0, 234, 230, 130, 236, 198, 158, 0, 0, 234, 230, 200, 186, 169, 35, 0, 0, 234, 230, 54, 69, 169, 35, 0, 0, 234, 230, 54, 69, 56, 97, 0, 0, 234, 230, 54, 69, 198, 158, 0, 0, 234, 230, 200, 186, 56, 97, 0, 0, 234, 230, 200, 186, 198, 158, 0, 0, 17, 221, 124, 19, 198, 158, 0, 0, 17, 221, 124, 19, 56, 97, 0, 0, 17, 221, 130, 236, 56, 97, 0, 0, 17, 221, 130, 236, 198, 158, 0, 0, 17, 221, 54, 69, 56, 97, 0, 0, 17, 221, 54, 69, 198, 158, 0, 0, 17, 221, 200, 186, 56, 97, 0, 0, 17, 221, 200, 186, 198, 158, 0, 0, 234, 230, 204, 191, 206, 168, 0, 0, 234, 230, 126, 231, 206, 168, 0, 0, 234, 230, 126, 231, 77, 210, 0, 0, 234, 230, 204, 191, 77, 210, 0, 0, 234, 230, 128, 24, 206, 168, 0, 0, 234, 230, 50, 64, 206, 168, 0, 0, 234, 230, 50, 64, 77, 210, 0, 0, 234, 230, 128, 24, 77, 210, 0, 0, 234, 230, 58, 74, 206, 168, 0, 0, 234, 230, 196, 181, 206, 168, 0, 0, 234, 230, 196, 181, 77, 210, 0, 0, 234, 230, 58, 74, 77, 210, 0, 0, 234, 230, 128, 24, 177, 45, 0, 0, 234, 230, 50, 64, 177, 45, 0, 0, 234, 230, 50, 64, 48, 87, 0, 0, 234, 230, 128, 24, 48, 87, 0, 0, 234, 230, 58, 74, 177, 45, 0, 0, 234, 230, 196, 181, 177, 45, 0, 0, 234, 230, 196, 181, 48, 87, 0, 0, 234, 230, 58, 74, 48, 87, 0, 0, 234, 230, 204, 191, 177, 45, 0, 0, 234, 230, 126, 231, 177, 45, 0, 0, 234, 230, 126, 231, 48, 87, 0, 0, 234, 230, 204, 191, 48, 87, 0, 0, 49, 226, 126, 231, 206, 168, 0, 0, 49, 226, 204, 191, 206, 168, 0, 0, 49, 226, 204, 191, 77, 210, 0, 0, 49, 226, 126, 231, 77, 210, 0, 0, 49, 226, 50, 64, 206, 168, 0, 0, 49, 226, 128, 24, 206, 168, 0, 0, 49, 226, 128, 24, 77, 210, 0, 0, 49, 226, 50, 64, 77, 210, 0, 0, 49, 226, 196, 181, 206, 168, 0, 0, 49, 226, 58, 74, 206, 168, 0, 0, 49, 226, 58, 74, 77, 210, 0, 0, 49, 226, 196, 181, 77, 210, 0, 0, 49, 226, 50, 64, 177, 45, 0, 0, 49, 226, 128, 24, 177, 45, 0, 0, 49, 226, 128, 24, 48, 87, 0, 0, 49, 226, 50, 64, 48, 87, 0, 0, 49, 226, 196, 181, 177, 45, 0, 0, 49, 226, 58, 74, 177, 45, 0, 0, 49, 226, 58, 74, 48, 87, 0, 0, 49, 226, 196, 181, 48, 87, 0, 0, 49, 226, 126, 231, 177, 45, 0, 0, 49, 226, 204, 191, 177, 45, 0, 0, 49, 226, 204, 191, 48, 87, 0, 0, 49, 226, 126, 231, 48, 87, 0, 0, 49, 226, 78, 196, 208, 177, 0, 0, 49, 226, 253, 226, 208, 177, 0, 0, 49, 226, 253, 226, 74, 201, 0, 0, 49, 226, 78, 196, 74, 201, 0, 0, 49, 226, 1, 29, 208, 177, 0, 0, 49, 226, 176, 59, 208, 177, 0, 0, 49, 226, 176, 59, 74, 201, 0, 0, 49, 226, 1, 29, 74, 201, 0, 0, 49, 226, 187, 78, 208, 177, 0, 0, 49, 226, 67, 177, 208, 177, 0, 0, 49, 226, 67, 177, 74, 201, 0, 0, 49, 226, 187, 78, 74, 201, 0, 0, 49, 226, 1, 29, 180, 54, 0, 0, 49, 226, 176, 59, 180, 54, 0, 0, 49, 226, 176, 59, 45, 78, 0, 0, 49, 226, 1, 29, 45, 78, 0, 0, 49, 226, 187, 78, 180, 54, 0, 0, 49, 226, 67, 177, 180, 54, 0, 0, 49, 226, 67, 177, 45, 78, 0, 0, 49, 226, 187, 78, 45, 78, 0, 0, 49, 226, 78, 196, 180, 54, 0, 0, 49, 226, 253, 226, 180, 54, 0, 0, 49, 226, 253, 226, 45, 78, 0, 0, 49, 226, 78, 196, 45, 78, 0, 0, 38, 229, 253, 226, 208, 177, 0, 0, 38, 229, 78, 196, 208, 177, 0, 0, 38, 229, 78, 196, 74, 201, 0, 0, 38, 229, 253, 226, 74, 201, 0, 0, 38, 229, 176, 59, 208, 177, 0, 0, 38, 229, 1, 29, 208, 177, 0, 0, 38, 229, 1, 29, 74, 201, 0, 0, 38, 229, 176, 59, 74, 201, 0, 0, 38, 229, 67, 177, 208, 177, 0, 0, 38, 229, 187, 78, 208, 177, 0, 0, 38, 229, 187, 78, 74, 201, 0, 0, 38, 229, 67, 177, 74, 201, 0, 0, 38, 229, 176, 59, 180, 54, 0, 0, 38, 229, 1, 29, 180, 54, 0, 0, 38, 229, 1, 29, 45, 78, 0, 0, 38, 229, 176, 59, 45, 78, 0, 0, 38, 229, 67, 177, 180, 54, 0, 0, 38, 229, 187, 78, 180, 54, 0, 0, 38, 229, 187, 78, 45, 78, 0, 0, 38, 229, 67, 177, 45, 78, 0, 0, 38, 229, 253, 226, 180, 54, 0, 0, 38, 229, 78, 196, 180, 54, 0, 0, 38, 229, 78, 196, 45, 78, 0, 0, 38, 229, 253, 226, 45, 78, 0, 0) +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_hq5q4"] +resource_name = "switchBase - Textures_Cube_001" +_surfaces = [{ +"aabb": AABB(-2, -2, -1, 2.6, 4, 2.00001), +"attribute_data": PackedByteArray(194, 61, 142, 9, 74, 162, 20, 133, 58, 165, 198, 51, 194, 61, 36, 130, 178, 64, 140, 54, 74, 162, 134, 254, 120, 1, 142, 9, 105, 80, 20, 133, 132, 225, 198, 51, 120, 1, 36, 130, 105, 80, 134, 254, 253, 124, 140, 54, 6, 89, 156, 51, 175, 218, 194, 139, 175, 218, 194, 139, 229, 240, 77, 152, 100, 75, 156, 51, 175, 218, 18, 245, 175, 218, 18, 245, 229, 240, 134, 254, 6, 89, 30, 8, 225, 173, 194, 139, 225, 173, 194, 139, 71, 230, 77, 152, 100, 75, 30, 8, 225, 173, 18, 245, 225, 173, 18, 245, 71, 230, 134, 254, 182, 67, 156, 51, 220, 159, 36, 130, 147, 248, 134, 254, 88, 81, 156, 51, 220, 159, 234, 27, 147, 248, 77, 152, 88, 81, 30, 8, 237, 127, 234, 27, 245, 237, 77, 152, 182, 67, 30, 8, 237, 127, 36, 130, 245, 237, 134, 254, 71, 4, 134, 254, 71, 4, 134, 254, 253, 124, 36, 130, 58, 165, 134, 254, 120, 1, 183, 251, 25, 168, 167, 251, 25, 168, 167, 251, 25, 168, 167, 251, 120, 1, 227, 135, 25, 168, 45, 133, 25, 168, 45, 133, 25, 168, 45, 133, 71, 4, 20, 133, 71, 4, 20, 133, 58, 165, 77, 130, 132, 225, 93, 127, 89, 83, 227, 135, 119, 224, 45, 133, 119, 224, 45, 133, 119, 224, 45, 133, 40, 86, 20, 133, 40, 86, 20, 133, 58, 165, 93, 127, 87, 227, 77, 130, 178, 64, 36, 130, 40, 86, 134, 254, 40, 86, 134, 254, 87, 227, 134, 254, 89, 83, 183, 251, 119, 224, 167, 251, 119, 224, 167, 251, 119, 224, 167, 251, 220, 159, 183, 106, 147, 248, 26, 231, 220, 159, 86, 51, 147, 248, 185, 175, 88, 81, 29, 37, 88, 81, 29, 37, 92, 145, 234, 27, 228, 245, 35, 25, 88, 81, 158, 22, 88, 81, 158, 22, 108, 142, 234, 27, 131, 251, 77, 152, 182, 67, 158, 22, 182, 67, 158, 22, 108, 142, 36, 130, 131, 251, 134, 254, 182, 67, 29, 37, 182, 67, 29, 37, 92, 145, 36, 130, 228, 245, 93, 127, 237, 127, 183, 106, 245, 237, 26, 231, 237, 127, 86, 51, 245, 237, 185, 175, 108, 142, 86, 51, 131, 251, 185, 175, 92, 145, 86, 51, 228, 245, 143, 48, 108, 142, 183, 106, 131, 251, 26, 231, 92, 145, 183, 106, 228, 245, 241, 103, 84, 78, 29, 37, 244, 242, 35, 25, 232, 248, 35, 25, 84, 78, 158, 22, 117, 228, 35, 25, 134, 254, 77, 152, 178, 64, 158, 22, 117, 228, 93, 127, 134, 254, 134, 254, 178, 64, 29, 37, 244, 242, 93, 127, 232, 248, 93, 127, 117, 228, 143, 48, 117, 228, 143, 48, 134, 254, 185, 175, 244, 242, 143, 48, 244, 242, 143, 48, 232, 248, 143, 48, 117, 228, 241, 103, 117, 228, 241, 103, 134, 254, 26, 231, 244, 242, 241, 103, 244, 242, 241, 103, 232, 248, 241, 103, 185, 147, 20, 109, 185, 147, 20, 109, 185, 147, 20, 109, 185, 147, 199, 127, 185, 147, 199, 127, 185, 147, 199, 127, 127, 157, 199, 127, 127, 157, 199, 127, 127, 157, 199, 127, 127, 157, 20, 109, 127, 157, 20, 109, 127, 157, 20, 109, 185, 147, 70, 30, 185, 147, 70, 30, 185, 147, 70, 30, 185, 147, 249, 48, 185, 147, 249, 48, 185, 147, 249, 48, 127, 157, 249, 48, 127, 157, 249, 48, 127, 157, 249, 48, 127, 157, 70, 30, 127, 157, 70, 30, 127, 157, 70, 30, 185, 147, 179, 53, 185, 147, 179, 53, 185, 147, 179, 53, 185, 147, 91, 104, 185, 147, 91, 104, 185, 147, 91, 104, 127, 157, 91, 104, 127, 157, 91, 104, 127, 157, 91, 104, 127, 157, 179, 53, 127, 157, 179, 53, 127, 157, 179, 53, 74, 130, 70, 30, 74, 130, 70, 30, 74, 130, 70, 30, 74, 130, 249, 48, 74, 130, 249, 48, 74, 130, 249, 48, 16, 140, 249, 48, 16, 140, 249, 48, 16, 140, 249, 48, 16, 140, 70, 30, 16, 140, 70, 30, 16, 140, 70, 30, 74, 130, 179, 53, 74, 130, 179, 53, 74, 130, 179, 53, 74, 130, 91, 104, 74, 130, 91, 104, 74, 130, 91, 104, 16, 140, 91, 104, 16, 140, 91, 104, 16, 140, 91, 104, 16, 140, 179, 53, 16, 140, 179, 53, 16, 140, 179, 53, 74, 130, 20, 109, 74, 130, 20, 109, 74, 130, 20, 109, 74, 130, 199, 127, 74, 130, 199, 127, 74, 130, 199, 127, 16, 140, 199, 127, 16, 140, 199, 127, 16, 140, 199, 127, 16, 140, 20, 109, 16, 140, 20, 109, 16, 140, 20, 109, 185, 147, 199, 127, 185, 147, 199, 127, 185, 147, 199, 127, 185, 147, 199, 127, 185, 147, 20, 109, 185, 147, 20, 109, 185, 147, 20, 109, 185, 147, 20, 109, 127, 157, 20, 109, 127, 157, 20, 109, 127, 157, 20, 109, 127, 157, 20, 109, 127, 157, 199, 127, 127, 157, 199, 127, 127, 157, 199, 127, 127, 157, 199, 127, 185, 147, 249, 48, 185, 147, 249, 48, 185, 147, 249, 48, 185, 147, 249, 48, 185, 147, 70, 30, 185, 147, 70, 30, 185, 147, 70, 30, 185, 147, 70, 30, 127, 157, 70, 30, 127, 157, 70, 30, 127, 157, 70, 30, 127, 157, 70, 30, 127, 157, 249, 48, 127, 157, 249, 48, 127, 157, 249, 48, 127, 157, 249, 48, 185, 147, 91, 104, 185, 147, 91, 104, 185, 147, 91, 104, 185, 147, 91, 104, 185, 147, 179, 53, 185, 147, 179, 53, 185, 147, 179, 53, 185, 147, 179, 53, 127, 157, 179, 53, 127, 157, 179, 53, 127, 157, 179, 53, 127, 157, 179, 53, 127, 157, 91, 104, 127, 157, 91, 104, 127, 157, 91, 104, 127, 157, 91, 104, 74, 130, 249, 48, 74, 130, 249, 48, 74, 130, 249, 48, 74, 130, 249, 48, 74, 130, 70, 30, 74, 130, 70, 30, 74, 130, 70, 30, 74, 130, 70, 30, 16, 140, 70, 30, 16, 140, 70, 30, 16, 140, 70, 30, 16, 140, 70, 30, 16, 140, 249, 48, 16, 140, 249, 48, 16, 140, 249, 48, 16, 140, 249, 48, 74, 130, 91, 104, 74, 130, 91, 104, 74, 130, 91, 104, 74, 130, 91, 104, 74, 130, 179, 53, 74, 130, 179, 53, 74, 130, 179, 53, 74, 130, 179, 53, 16, 140, 179, 53, 16, 140, 179, 53, 16, 140, 179, 53, 16, 140, 179, 53, 16, 140, 91, 104, 16, 140, 91, 104, 16, 140, 91, 104, 16, 140, 91, 104, 74, 130, 199, 127, 74, 130, 199, 127, 74, 130, 199, 127, 74, 130, 199, 127, 74, 130, 20, 109, 74, 130, 20, 109, 74, 130, 20, 109, 74, 130, 20, 109, 16, 140, 20, 109, 16, 140, 20, 109, 16, 140, 20, 109, 16, 140, 20, 109, 16, 140, 199, 127, 16, 140, 199, 127, 16, 140, 199, 127, 16, 140, 199, 127, 217, 149, 51, 111, 217, 149, 51, 111, 217, 149, 51, 111, 217, 149, 51, 111, 217, 149, 167, 125, 217, 149, 167, 125, 217, 149, 167, 125, 217, 149, 167, 125, 96, 155, 167, 125, 96, 155, 167, 125, 96, 155, 167, 125, 96, 155, 167, 125, 96, 155, 51, 111, 96, 155, 51, 111, 96, 155, 51, 111, 96, 155, 51, 111, 217, 149, 102, 32, 217, 149, 102, 32, 217, 149, 102, 32, 217, 149, 102, 32, 217, 149, 218, 46, 217, 149, 218, 46, 217, 149, 218, 46, 217, 149, 218, 46, 96, 155, 218, 46, 96, 155, 218, 46, 96, 155, 218, 46, 96, 155, 218, 46, 96, 155, 102, 32, 96, 155, 102, 32, 96, 155, 102, 32, 96, 155, 102, 32, 217, 149, 210, 55, 217, 149, 210, 55, 217, 149, 210, 55, 217, 149, 210, 55, 217, 149, 59, 102, 217, 149, 59, 102, 217, 149, 59, 102, 217, 149, 59, 102, 96, 155, 59, 102, 96, 155, 59, 102, 96, 155, 59, 102, 96, 155, 59, 102, 96, 155, 210, 55, 96, 155, 210, 55, 96, 155, 210, 55, 96, 155, 210, 55, 105, 132, 102, 32, 105, 132, 102, 32, 105, 132, 102, 32, 105, 132, 102, 32, 105, 132, 218, 46, 105, 132, 218, 46, 105, 132, 218, 46, 105, 132, 218, 46, 240, 137, 218, 46, 240, 137, 218, 46, 240, 137, 218, 46, 240, 137, 218, 46, 240, 137, 102, 32, 240, 137, 102, 32, 240, 137, 102, 32, 240, 137, 102, 32, 105, 132, 210, 55, 105, 132, 210, 55, 105, 132, 210, 55, 105, 132, 210, 55, 105, 132, 59, 102, 105, 132, 59, 102, 105, 132, 59, 102, 105, 132, 59, 102, 240, 137, 59, 102, 240, 137, 59, 102, 240, 137, 59, 102, 240, 137, 59, 102, 240, 137, 210, 55, 240, 137, 210, 55, 240, 137, 210, 55, 240, 137, 210, 55, 105, 132, 51, 111, 105, 132, 51, 111, 105, 132, 51, 111, 105, 132, 51, 111, 105, 132, 167, 125, 105, 132, 167, 125, 105, 132, 167, 125, 105, 132, 167, 125, 240, 137, 167, 125, 240, 137, 167, 125, 240, 137, 167, 125, 240, 137, 167, 125, 240, 137, 51, 111, 240, 137, 51, 111, 240, 137, 51, 111, 240, 137, 51, 111, 217, 149, 167, 125, 217, 149, 167, 125, 217, 149, 167, 125, 217, 149, 51, 111, 217, 149, 51, 111, 217, 149, 51, 111, 96, 155, 51, 111, 96, 155, 51, 111, 96, 155, 51, 111, 96, 155, 167, 125, 96, 155, 167, 125, 96, 155, 167, 125, 217, 149, 218, 46, 217, 149, 218, 46, 217, 149, 218, 46, 217, 149, 102, 32, 217, 149, 102, 32, 217, 149, 102, 32, 96, 155, 102, 32, 96, 155, 102, 32, 96, 155, 102, 32, 96, 155, 218, 46, 96, 155, 218, 46, 96, 155, 218, 46, 217, 149, 59, 102, 217, 149, 59, 102, 217, 149, 59, 102, 217, 149, 210, 55, 217, 149, 210, 55, 217, 149, 210, 55, 96, 155, 210, 55, 96, 155, 210, 55, 96, 155, 210, 55, 96, 155, 59, 102, 96, 155, 59, 102, 96, 155, 59, 102, 105, 132, 218, 46, 105, 132, 218, 46, 105, 132, 218, 46, 105, 132, 102, 32, 105, 132, 102, 32, 105, 132, 102, 32, 240, 137, 102, 32, 240, 137, 102, 32, 240, 137, 102, 32, 240, 137, 218, 46, 240, 137, 218, 46, 240, 137, 218, 46, 105, 132, 59, 102, 105, 132, 59, 102, 105, 132, 59, 102, 105, 132, 210, 55, 105, 132, 210, 55, 105, 132, 210, 55, 240, 137, 210, 55, 240, 137, 210, 55, 240, 137, 210, 55, 240, 137, 59, 102, 240, 137, 59, 102, 240, 137, 59, 102, 105, 132, 167, 125, 105, 132, 167, 125, 105, 132, 167, 125, 105, 132, 51, 111, 105, 132, 51, 111, 105, 132, 51, 111, 240, 137, 51, 111, 240, 137, 51, 111, 240, 137, 51, 111, 240, 137, 167, 125, 240, 137, 167, 125, 240, 137, 167, 125), +"format": 34896613399, +"index_count": 804, +"index_data": PackedByteArray(0, 0, 9, 0, 3, 0, 0, 0, 6, 0, 9, 0, 18, 0, 46, 0, 25, 0, 18, 0, 71, 0, 46, 0, 37, 0, 16, 0, 24, 0, 16, 0, 88, 0, 28, 0, 84, 0, 16, 0, 37, 0, 16, 0, 84, 0, 88, 0, 162, 0, 237, 0, 153, 0, 162, 0, 241, 0, 237, 0, 21, 0, 59, 0, 14, 0, 21, 0, 50, 0, 59, 0, 7, 0, 40, 0, 10, 0, 7, 0, 52, 0, 40, 0, 8, 0, 62, 0, 55, 0, 8, 0, 2, 0, 62, 0, 13, 0, 70, 0, 17, 0, 13, 0, 58, 0, 70, 0, 26, 0, 51, 0, 22, 0, 26, 0, 47, 0, 51, 0, 60, 0, 5, 0, 65, 0, 60, 0, 1, 0, 5, 0, 44, 0, 53, 0, 48, 0, 44, 0, 41, 0, 53, 0, 63, 0, 49, 0, 54, 0, 63, 0, 57, 0, 49, 0, 43, 0, 69, 0, 67, 0, 43, 0, 45, 0, 69, 0, 66, 0, 56, 0, 61, 0, 66, 0, 68, 0, 56, 0, 42, 0, 4, 0, 11, 0, 42, 0, 64, 0, 4, 0, 36, 0, 27, 0, 23, 0, 27, 0, 93, 0, 39, 0, 95, 0, 27, 0, 36, 0, 27, 0, 95, 0, 93, 0, 30, 0, 15, 0, 19, 0, 15, 0, 75, 0, 33, 0, 73, 0, 15, 0, 30, 0, 15, 0, 73, 0, 75, 0, 31, 0, 20, 0, 12, 0, 20, 0, 80, 0, 34, 0, 76, 0, 20, 0, 31, 0, 20, 0, 76, 0, 80, 0, 131, 0, 212, 0, 134, 0, 131, 0, 200, 0, 212, 0, 164, 0, 249, 0, 168, 0, 164, 0, 252, 0, 249, 0, 150, 0, 221, 0, 141, 0, 150, 0, 225, 0, 221, 0, 85, 0, 113, 0, 89, 0, 85, 0, 110, 0, 113, 0, 152, 0, 233, 0, 156, 0, 152, 0, 236, 0, 233, 0, 97, 0, 124, 0, 101, 0, 97, 0, 118, 0, 124, 0, 138, 0, 205, 0, 129, 0, 138, 0, 209, 0, 205, 0, 101, 0, 112, 0, 87, 0, 101, 0, 124, 0, 112, 0, 108, 0, 120, 0, 117, 0, 108, 0, 105, 0, 120, 0, 116, 0, 125, 0, 122, 0, 116, 0, 119, 0, 125, 0, 123, 0, 114, 0, 111, 0, 123, 0, 126, 0, 114, 0, 77, 0, 107, 0, 81, 0, 77, 0, 104, 0, 107, 0, 83, 0, 118, 0, 97, 0, 83, 0, 109, 0, 118, 0, 91, 0, 127, 0, 103, 0, 91, 0, 115, 0, 127, 0, 103, 0, 121, 0, 99, 0, 103, 0, 127, 0, 121, 0, 99, 0, 106, 0, 79, 0, 99, 0, 121, 0, 106, 0, 102, 0, 133, 0, 90, 0, 102, 0, 130, 0, 133, 0, 90, 0, 136, 0, 29, 0, 90, 0, 133, 0, 136, 0, 29, 0, 139, 0, 72, 0, 29, 0, 136, 0, 139, 0, 72, 0, 130, 0, 102, 0, 72, 0, 139, 0, 130, 0, 78, 0, 145, 0, 98, 0, 78, 0, 142, 0, 145, 0, 98, 0, 148, 0, 74, 0, 98, 0, 145, 0, 148, 0, 74, 0, 151, 0, 32, 0, 74, 0, 148, 0, 151, 0, 32, 0, 142, 0, 78, 0, 32, 0, 151, 0, 142, 0, 98, 0, 157, 0, 102, 0, 98, 0, 154, 0, 157, 0, 102, 0, 160, 0, 72, 0, 102, 0, 157, 0, 160, 0, 72, 0, 163, 0, 74, 0, 72, 0, 160, 0, 163, 0, 74, 0, 154, 0, 98, 0, 74, 0, 163, 0, 154, 0, 35, 0, 169, 0, 94, 0, 35, 0, 166, 0, 169, 0, 94, 0, 172, 0, 96, 0, 94, 0, 169, 0, 172, 0, 96, 0, 175, 0, 82, 0, 96, 0, 172, 0, 175, 0, 82, 0, 166, 0, 35, 0, 82, 0, 175, 0, 166, 0, 94, 0, 181, 0, 92, 0, 94, 0, 178, 0, 181, 0, 92, 0, 184, 0, 100, 0, 92, 0, 181, 0, 184, 0, 100, 0, 187, 0, 96, 0, 100, 0, 184, 0, 187, 0, 96, 0, 178, 0, 94, 0, 96, 0, 187, 0, 178, 0, 92, 0, 193, 0, 38, 0, 92, 0, 190, 0, 193, 0, 38, 0, 196, 0, 86, 0, 38, 0, 193, 0, 196, 0, 86, 0, 199, 0, 100, 0, 86, 0, 196, 0, 199, 0, 100, 0, 190, 0, 92, 0, 100, 0, 199, 0, 190, 0, 93, 1, 182, 1, 97, 1, 93, 1, 173, 1, 182, 1, 64, 1, 155, 1, 69, 1, 64, 1, 157, 1, 155, 1, 116, 1, 187, 1, 104, 1, 116, 1, 190, 1, 187, 1, 77, 1, 170, 1, 81, 1, 77, 1, 161, 1, 170, 1, 48, 1, 143, 1, 53, 1, 48, 1, 145, 1, 143, 1, 121, 1, 196, 1, 124, 1, 121, 1, 200, 1, 196, 1, 176, 0, 9, 1, 180, 0, 176, 0, 12, 1, 9, 1, 143, 0, 228, 0, 146, 0, 143, 0, 216, 0, 228, 0, 174, 0, 253, 0, 165, 0, 174, 0, 1, 1, 253, 0, 188, 0, 25, 1, 192, 0, 188, 0, 28, 1, 25, 1, 135, 0, 208, 0, 137, 0, 135, 0, 213, 0, 208, 0, 155, 0, 244, 0, 158, 0, 155, 0, 232, 0, 244, 0, 186, 0, 13, 1, 177, 0, 186, 0, 17, 1, 13, 1, 147, 0, 224, 0, 149, 0, 147, 0, 229, 0, 224, 0, 167, 0, 4, 1, 170, 0, 167, 0, 248, 0, 4, 1, 198, 0, 29, 1, 189, 0, 198, 0, 33, 1, 29, 1, 159, 0, 240, 0, 161, 0, 159, 0, 245, 0, 240, 0, 179, 0, 20, 1, 182, 0, 179, 0, 8, 1, 20, 1, 171, 0, 0, 1, 173, 0, 171, 0, 5, 1, 0, 1, 191, 0, 36, 1, 194, 0, 191, 0, 24, 1, 36, 1, 183, 0, 16, 1, 185, 0, 183, 0, 21, 1, 16, 1, 195, 0, 32, 1, 197, 0, 195, 0, 37, 1, 32, 1, 128, 0, 201, 0, 132, 0, 128, 0, 204, 0, 201, 0, 140, 0, 217, 0, 144, 0, 140, 0, 220, 0, 217, 0, 206, 0, 46, 1, 202, 0, 206, 0, 42, 1, 46, 1, 203, 0, 51, 1, 215, 0, 203, 0, 47, 1, 51, 1, 214, 0, 54, 1, 210, 0, 214, 0, 50, 1, 54, 1, 211, 0, 43, 1, 207, 0, 211, 0, 55, 1, 43, 1, 222, 0, 62, 1, 218, 0, 222, 0, 58, 1, 62, 1, 219, 0, 67, 1, 231, 0, 219, 0, 63, 1, 67, 1, 230, 0, 70, 1, 226, 0, 230, 0, 66, 1, 70, 1, 227, 0, 59, 1, 223, 0, 227, 0, 71, 1, 59, 1, 238, 0, 78, 1, 234, 0, 238, 0, 74, 1, 78, 1, 235, 0, 82, 1, 246, 0, 235, 0, 79, 1, 82, 1, 247, 0, 87, 1, 243, 0, 247, 0, 83, 1, 87, 1, 242, 0, 75, 1, 239, 0, 242, 0, 86, 1, 75, 1, 254, 0, 94, 1, 250, 0, 254, 0, 90, 1, 94, 1, 251, 0, 99, 1, 7, 1, 251, 0, 95, 1, 99, 1, 6, 1, 102, 1, 2, 1, 6, 1, 98, 1, 102, 1, 3, 1, 91, 1, 255, 0, 3, 1, 103, 1, 91, 1, 14, 1, 110, 1, 10, 1, 14, 1, 106, 1, 110, 1, 11, 1, 114, 1, 22, 1, 11, 1, 111, 1, 114, 1, 23, 1, 119, 1, 19, 1, 23, 1, 115, 1, 119, 1, 18, 1, 107, 1, 15, 1, 18, 1, 118, 1, 107, 1, 30, 1, 126, 1, 26, 1, 30, 1, 122, 1, 126, 1, 27, 1, 131, 1, 39, 1, 27, 1, 127, 1, 131, 1, 38, 1, 134, 1, 34, 1, 38, 1, 130, 1, 134, 1, 35, 1, 123, 1, 31, 1, 35, 1, 135, 1, 123, 1, 141, 1, 147, 1, 138, 1, 141, 1, 144, 1, 147, 1, 153, 1, 159, 1, 150, 1, 153, 1, 156, 1, 159, 1, 165, 1, 171, 1, 162, 1, 165, 1, 168, 1, 171, 1, 177, 1, 183, 1, 174, 1, 177, 1, 180, 1, 183, 1, 189, 1, 195, 1, 186, 1, 189, 1, 192, 1, 195, 1, 201, 1, 207, 1, 198, 1, 201, 1, 204, 1, 207, 1, 132, 1, 199, 1, 120, 1, 132, 1, 202, 1, 199, 1, 80, 1, 167, 1, 85, 1, 80, 1, 169, 1, 167, 1, 109, 1, 194, 1, 113, 1, 109, 1, 185, 1, 194, 1, 96, 1, 179, 1, 101, 1, 96, 1, 181, 1, 179, 1, 125, 1, 206, 1, 129, 1, 125, 1, 197, 1, 206, 1, 112, 1, 191, 1, 117, 1, 112, 1, 193, 1, 191, 1, 128, 1, 203, 1, 133, 1, 128, 1, 205, 1, 203, 1, 41, 1, 136, 1, 44, 1, 41, 1, 140, 1, 136, 1, 57, 1, 148, 1, 60, 1, 57, 1, 152, 1, 148, 1, 52, 1, 139, 1, 40, 1, 52, 1, 142, 1, 139, 1, 73, 1, 160, 1, 76, 1, 73, 1, 164, 1, 160, 1, 68, 1, 151, 1, 56, 1, 68, 1, 154, 1, 151, 1, 89, 1, 172, 1, 92, 1, 89, 1, 176, 1, 172, 1, 45, 1, 146, 1, 49, 1, 45, 1, 137, 1, 146, 1, 84, 1, 163, 1, 72, 1, 84, 1, 166, 1, 163, 1, 105, 1, 184, 1, 108, 1, 105, 1, 188, 1, 184, 1, 61, 1, 158, 1, 65, 1, 61, 1, 149, 1, 158, 1, 100, 1, 175, 1, 88, 1, 100, 1, 178, 1, 175, 1), +"material": SubResource("StandardMaterial3D_vmp8a"), +"name": "Material.001", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 464, +"vertex_data": PackedByteArray(0, 0, 0, 0, 254, 255, 255, 63, 0, 0, 0, 0, 254, 255, 255, 255, 0, 0, 0, 0, 254, 255, 170, 42, 0, 0, 255, 255, 254, 255, 255, 63, 0, 0, 255, 255, 254, 255, 84, 213, 0, 0, 255, 255, 254, 255, 255, 255, 0, 0, 0, 0, 0, 0, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 42, 0, 0, 255, 255, 0, 0, 255, 63, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 84, 213, 255, 255, 124, 19, 84, 220, 255, 191, 255, 255, 124, 19, 84, 220, 255, 255, 255, 255, 124, 19, 84, 220, 255, 255, 255, 255, 124, 19, 84, 220, 0, 0, 255, 255, 130, 236, 84, 220, 255, 63, 255, 255, 130, 236, 84, 220, 255, 255, 255, 255, 130, 236, 84, 220, 255, 255, 255, 255, 130, 236, 84, 220, 0, 0, 255, 255, 124, 19, 169, 35, 255, 191, 255, 255, 124, 19, 169, 35, 255, 255, 255, 255, 124, 19, 169, 35, 255, 255, 255, 255, 124, 19, 169, 35, 255, 255, 255, 255, 130, 236, 169, 35, 255, 63, 255, 255, 130, 236, 169, 35, 255, 255, 255, 255, 130, 236, 169, 35, 255, 255, 255, 255, 130, 236, 169, 35, 255, 255, 234, 230, 130, 236, 84, 220, 255, 63, 234, 230, 130, 236, 84, 220, 255, 255, 234, 230, 130, 236, 84, 220, 0, 0, 234, 230, 124, 19, 84, 220, 255, 191, 234, 230, 124, 19, 84, 220, 255, 255, 234, 230, 124, 19, 84, 220, 0, 0, 234, 230, 124, 19, 169, 35, 255, 191, 234, 230, 124, 19, 169, 35, 255, 255, 234, 230, 124, 19, 169, 35, 255, 255, 234, 230, 130, 236, 169, 35, 255, 63, 234, 230, 130, 236, 169, 35, 255, 255, 234, 230, 130, 236, 169, 35, 255, 255, 227, 246, 255, 255, 0, 0, 0, 0, 227, 246, 255, 255, 0, 0, 255, 31, 227, 246, 255, 255, 0, 0, 84, 213, 227, 246, 255, 255, 0, 0, 170, 233, 255, 255, 19, 250, 215, 11, 255, 31, 255, 255, 19, 250, 215, 11, 170, 233, 255, 255, 19, 250, 215, 11, 255, 255, 255, 255, 19, 250, 215, 11, 255, 255, 255, 255, 235, 5, 215, 11, 255, 31, 255, 255, 235, 5, 215, 11, 170, 233, 255, 255, 235, 5, 215, 11, 255, 255, 255, 255, 235, 5, 215, 11, 255, 255, 227, 246, 0, 0, 0, 0, 0, 0, 227, 246, 0, 0, 0, 0, 255, 31, 227, 246, 0, 0, 0, 0, 170, 233, 227, 246, 0, 0, 0, 0, 170, 42, 255, 255, 235, 5, 39, 244, 255, 255, 255, 255, 235, 5, 39, 244, 170, 233, 255, 255, 235, 5, 39, 244, 255, 255, 255, 255, 235, 5, 39, 244, 255, 255, 227, 246, 0, 0, 254, 255, 255, 255, 227, 246, 0, 0, 254, 255, 255, 255, 227, 246, 0, 0, 254, 255, 170, 42, 227, 246, 0, 0, 254, 255, 170, 233, 227, 246, 255, 255, 254, 255, 84, 213, 227, 246, 255, 255, 254, 255, 255, 255, 227, 246, 255, 255, 254, 255, 255, 255, 227, 246, 255, 255, 254, 255, 170, 233, 255, 255, 19, 250, 39, 244, 255, 255, 255, 255, 19, 250, 39, 244, 170, 233, 255, 255, 19, 250, 39, 244, 255, 255, 255, 255, 19, 250, 39, 244, 255, 255, 234, 230, 200, 186, 84, 220, 255, 255, 234, 230, 200, 186, 84, 220, 0, 0, 234, 230, 54, 69, 84, 220, 255, 255, 234, 230, 54, 69, 84, 220, 0, 0, 234, 230, 124, 19, 198, 158, 255, 191, 234, 230, 124, 19, 198, 158, 255, 191, 234, 230, 124, 19, 198, 158, 255, 255, 234, 230, 124, 19, 198, 158, 0, 0, 234, 230, 124, 19, 56, 97, 255, 191, 234, 230, 124, 19, 56, 97, 255, 191, 234, 230, 124, 19, 56, 97, 255, 255, 234, 230, 124, 19, 56, 97, 255, 255, 234, 230, 130, 236, 56, 97, 255, 63, 234, 230, 130, 236, 56, 97, 255, 63, 234, 230, 130, 236, 56, 97, 255, 255, 234, 230, 130, 236, 56, 97, 255, 255, 234, 230, 130, 236, 198, 158, 255, 63, 234, 230, 130, 236, 198, 158, 255, 63, 234, 230, 130, 236, 198, 158, 255, 255, 234, 230, 130, 236, 198, 158, 0, 0, 234, 230, 200, 186, 169, 35, 255, 255, 234, 230, 200, 186, 169, 35, 255, 255, 234, 230, 54, 69, 169, 35, 255, 255, 234, 230, 54, 69, 169, 35, 255, 255, 234, 230, 54, 69, 56, 97, 255, 255, 234, 230, 54, 69, 56, 97, 255, 255, 234, 230, 54, 69, 198, 158, 255, 255, 234, 230, 54, 69, 198, 158, 0, 0, 234, 230, 200, 186, 56, 97, 255, 255, 234, 230, 200, 186, 56, 97, 255, 255, 234, 230, 200, 186, 198, 158, 255, 255, 234, 230, 200, 186, 198, 158, 0, 0, 17, 221, 124, 19, 198, 158, 255, 191, 17, 221, 124, 19, 198, 158, 255, 255, 17, 221, 124, 19, 198, 158, 0, 0, 17, 221, 124, 19, 56, 97, 255, 191, 17, 221, 124, 19, 56, 97, 255, 255, 17, 221, 124, 19, 56, 97, 255, 255, 17, 221, 130, 236, 56, 97, 255, 63, 17, 221, 130, 236, 56, 97, 255, 255, 17, 221, 130, 236, 56, 97, 255, 255, 17, 221, 130, 236, 198, 158, 255, 63, 17, 221, 130, 236, 198, 158, 255, 255, 17, 221, 130, 236, 198, 158, 0, 0, 17, 221, 54, 69, 56, 97, 255, 255, 17, 221, 54, 69, 56, 97, 255, 255, 17, 221, 54, 69, 56, 97, 255, 255, 17, 221, 54, 69, 198, 158, 255, 255, 17, 221, 54, 69, 198, 158, 255, 255, 17, 221, 54, 69, 198, 158, 0, 0, 17, 221, 200, 186, 56, 97, 255, 255, 17, 221, 200, 186, 56, 97, 255, 255, 17, 221, 200, 186, 56, 97, 255, 255, 17, 221, 200, 186, 198, 158, 255, 255, 17, 221, 200, 186, 198, 158, 255, 255, 17, 221, 200, 186, 198, 158, 0, 0, 234, 230, 204, 191, 206, 168, 254, 127, 234, 230, 204, 191, 206, 168, 255, 191, 234, 230, 204, 191, 206, 168, 255, 255, 234, 230, 126, 231, 206, 168, 255, 191, 234, 230, 126, 231, 206, 168, 254, 127, 234, 230, 126, 231, 206, 168, 255, 255, 234, 230, 126, 231, 77, 210, 255, 191, 234, 230, 126, 231, 77, 210, 255, 255, 234, 230, 126, 231, 77, 210, 255, 255, 234, 230, 204, 191, 77, 210, 255, 255, 234, 230, 204, 191, 77, 210, 255, 191, 234, 230, 204, 191, 77, 210, 255, 255, 234, 230, 128, 24, 206, 168, 254, 127, 234, 230, 128, 24, 206, 168, 255, 191, 234, 230, 128, 24, 206, 168, 255, 255, 234, 230, 50, 64, 206, 168, 255, 191, 234, 230, 50, 64, 206, 168, 254, 127, 234, 230, 50, 64, 206, 168, 255, 255, 234, 230, 50, 64, 77, 210, 255, 191, 234, 230, 50, 64, 77, 210, 255, 255, 234, 230, 50, 64, 77, 210, 255, 255, 234, 230, 128, 24, 77, 210, 255, 255, 234, 230, 128, 24, 77, 210, 255, 191, 234, 230, 128, 24, 77, 210, 255, 255, 234, 230, 58, 74, 206, 168, 254, 127, 234, 230, 58, 74, 206, 168, 255, 191, 234, 230, 58, 74, 206, 168, 255, 255, 234, 230, 196, 181, 206, 168, 255, 191, 234, 230, 196, 181, 206, 168, 254, 127, 234, 230, 196, 181, 206, 168, 255, 255, 234, 230, 196, 181, 77, 210, 255, 191, 234, 230, 196, 181, 77, 210, 255, 255, 234, 230, 196, 181, 77, 210, 255, 255, 234, 230, 58, 74, 77, 210, 255, 255, 234, 230, 58, 74, 77, 210, 255, 191, 234, 230, 58, 74, 77, 210, 255, 255, 234, 230, 128, 24, 177, 45, 254, 127, 234, 230, 128, 24, 177, 45, 255, 191, 234, 230, 128, 24, 177, 45, 255, 255, 234, 230, 50, 64, 177, 45, 255, 191, 234, 230, 50, 64, 177, 45, 254, 127, 234, 230, 50, 64, 177, 45, 255, 255, 234, 230, 50, 64, 48, 87, 255, 191, 234, 230, 50, 64, 48, 87, 255, 255, 234, 230, 50, 64, 48, 87, 255, 255, 234, 230, 128, 24, 48, 87, 255, 255, 234, 230, 128, 24, 48, 87, 255, 191, 234, 230, 128, 24, 48, 87, 255, 255, 234, 230, 58, 74, 177, 45, 254, 127, 234, 230, 58, 74, 177, 45, 255, 191, 234, 230, 58, 74, 177, 45, 255, 255, 234, 230, 196, 181, 177, 45, 255, 191, 234, 230, 196, 181, 177, 45, 254, 127, 234, 230, 196, 181, 177, 45, 255, 255, 234, 230, 196, 181, 48, 87, 255, 191, 234, 230, 196, 181, 48, 87, 255, 255, 234, 230, 196, 181, 48, 87, 255, 255, 234, 230, 58, 74, 48, 87, 255, 255, 234, 230, 58, 74, 48, 87, 255, 191, 234, 230, 58, 74, 48, 87, 255, 255, 234, 230, 204, 191, 177, 45, 254, 127, 234, 230, 204, 191, 177, 45, 255, 191, 234, 230, 204, 191, 177, 45, 255, 255, 234, 230, 126, 231, 177, 45, 255, 191, 234, 230, 126, 231, 177, 45, 254, 127, 234, 230, 126, 231, 177, 45, 255, 255, 234, 230, 126, 231, 48, 87, 255, 191, 234, 230, 126, 231, 48, 87, 255, 255, 234, 230, 126, 231, 48, 87, 255, 255, 234, 230, 204, 191, 48, 87, 255, 255, 234, 230, 204, 191, 48, 87, 255, 191, 234, 230, 204, 191, 48, 87, 255, 255, 49, 226, 126, 231, 206, 168, 255, 191, 49, 226, 126, 231, 206, 168, 254, 127, 49, 226, 126, 231, 206, 168, 255, 255, 49, 226, 126, 231, 206, 168, 255, 255, 49, 226, 204, 191, 206, 168, 254, 127, 49, 226, 204, 191, 206, 168, 255, 191, 49, 226, 204, 191, 206, 168, 255, 255, 49, 226, 204, 191, 206, 168, 255, 255, 49, 226, 204, 191, 77, 210, 255, 255, 49, 226, 204, 191, 77, 210, 255, 191, 49, 226, 204, 191, 77, 210, 255, 255, 49, 226, 204, 191, 77, 210, 255, 255, 49, 226, 126, 231, 77, 210, 255, 191, 49, 226, 126, 231, 77, 210, 255, 255, 49, 226, 126, 231, 77, 210, 255, 255, 49, 226, 126, 231, 77, 210, 255, 255, 49, 226, 50, 64, 206, 168, 255, 191, 49, 226, 50, 64, 206, 168, 254, 127, 49, 226, 50, 64, 206, 168, 255, 255, 49, 226, 50, 64, 206, 168, 255, 255, 49, 226, 128, 24, 206, 168, 254, 127, 49, 226, 128, 24, 206, 168, 255, 191, 49, 226, 128, 24, 206, 168, 255, 255, 49, 226, 128, 24, 206, 168, 255, 255, 49, 226, 128, 24, 77, 210, 255, 255, 49, 226, 128, 24, 77, 210, 255, 191, 49, 226, 128, 24, 77, 210, 255, 255, 49, 226, 128, 24, 77, 210, 255, 255, 49, 226, 50, 64, 77, 210, 255, 191, 49, 226, 50, 64, 77, 210, 255, 255, 49, 226, 50, 64, 77, 210, 255, 255, 49, 226, 50, 64, 77, 210, 255, 255, 49, 226, 196, 181, 206, 168, 255, 191, 49, 226, 196, 181, 206, 168, 254, 127, 49, 226, 196, 181, 206, 168, 255, 255, 49, 226, 196, 181, 206, 168, 255, 255, 49, 226, 58, 74, 206, 168, 254, 127, 49, 226, 58, 74, 206, 168, 255, 191, 49, 226, 58, 74, 206, 168, 255, 255, 49, 226, 58, 74, 206, 168, 255, 255, 49, 226, 58, 74, 77, 210, 255, 255, 49, 226, 58, 74, 77, 210, 255, 191, 49, 226, 58, 74, 77, 210, 255, 255, 49, 226, 58, 74, 77, 210, 255, 255, 49, 226, 196, 181, 77, 210, 255, 191, 49, 226, 196, 181, 77, 210, 255, 255, 49, 226, 196, 181, 77, 210, 255, 255, 49, 226, 196, 181, 77, 210, 255, 255, 49, 226, 50, 64, 177, 45, 255, 191, 49, 226, 50, 64, 177, 45, 254, 127, 49, 226, 50, 64, 177, 45, 255, 255, 49, 226, 50, 64, 177, 45, 255, 255, 49, 226, 128, 24, 177, 45, 254, 127, 49, 226, 128, 24, 177, 45, 255, 191, 49, 226, 128, 24, 177, 45, 255, 255, 49, 226, 128, 24, 177, 45, 255, 255, 49, 226, 128, 24, 48, 87, 255, 255, 49, 226, 128, 24, 48, 87, 255, 191, 49, 226, 128, 24, 48, 87, 255, 255, 49, 226, 128, 24, 48, 87, 255, 255, 49, 226, 50, 64, 48, 87, 255, 191, 49, 226, 50, 64, 48, 87, 255, 255, 49, 226, 50, 64, 48, 87, 255, 255, 49, 226, 50, 64, 48, 87, 255, 255, 49, 226, 196, 181, 177, 45, 255, 191, 49, 226, 196, 181, 177, 45, 254, 127, 49, 226, 196, 181, 177, 45, 255, 255, 49, 226, 196, 181, 177, 45, 255, 255, 49, 226, 58, 74, 177, 45, 254, 127, 49, 226, 58, 74, 177, 45, 255, 191, 49, 226, 58, 74, 177, 45, 255, 255, 49, 226, 58, 74, 177, 45, 255, 255, 49, 226, 58, 74, 48, 87, 255, 255, 49, 226, 58, 74, 48, 87, 255, 191, 49, 226, 58, 74, 48, 87, 255, 255, 49, 226, 58, 74, 48, 87, 255, 255, 49, 226, 196, 181, 48, 87, 255, 191, 49, 226, 196, 181, 48, 87, 255, 255, 49, 226, 196, 181, 48, 87, 255, 255, 49, 226, 196, 181, 48, 87, 255, 255, 49, 226, 126, 231, 177, 45, 255, 191, 49, 226, 126, 231, 177, 45, 254, 127, 49, 226, 126, 231, 177, 45, 255, 255, 49, 226, 126, 231, 177, 45, 255, 255, 49, 226, 204, 191, 177, 45, 254, 127, 49, 226, 204, 191, 177, 45, 255, 191, 49, 226, 204, 191, 177, 45, 255, 255, 49, 226, 204, 191, 177, 45, 255, 255, 49, 226, 204, 191, 48, 87, 255, 255, 49, 226, 204, 191, 48, 87, 255, 191, 49, 226, 204, 191, 48, 87, 255, 255, 49, 226, 204, 191, 48, 87, 255, 255, 49, 226, 126, 231, 48, 87, 255, 191, 49, 226, 126, 231, 48, 87, 255, 255, 49, 226, 126, 231, 48, 87, 255, 255, 49, 226, 126, 231, 48, 87, 255, 255, 49, 226, 78, 196, 208, 177, 255, 191, 49, 226, 78, 196, 208, 177, 255, 255, 49, 226, 78, 196, 208, 177, 255, 255, 49, 226, 78, 196, 208, 177, 255, 255, 49, 226, 253, 226, 208, 177, 255, 255, 49, 226, 253, 226, 208, 177, 255, 191, 49, 226, 253, 226, 208, 177, 255, 255, 49, 226, 253, 226, 208, 177, 255, 255, 49, 226, 253, 226, 74, 201, 254, 127, 49, 226, 253, 226, 74, 201, 255, 191, 49, 226, 253, 226, 74, 201, 255, 255, 49, 226, 253, 226, 74, 201, 255, 255, 49, 226, 78, 196, 74, 201, 255, 191, 49, 226, 78, 196, 74, 201, 254, 127, 49, 226, 78, 196, 74, 201, 255, 255, 49, 226, 78, 196, 74, 201, 255, 255, 49, 226, 1, 29, 208, 177, 255, 191, 49, 226, 1, 29, 208, 177, 255, 255, 49, 226, 1, 29, 208, 177, 255, 255, 49, 226, 1, 29, 208, 177, 255, 255, 49, 226, 176, 59, 208, 177, 255, 255, 49, 226, 176, 59, 208, 177, 255, 191, 49, 226, 176, 59, 208, 177, 255, 255, 49, 226, 176, 59, 208, 177, 255, 255, 49, 226, 176, 59, 74, 201, 254, 127, 49, 226, 176, 59, 74, 201, 255, 191, 49, 226, 176, 59, 74, 201, 255, 255, 49, 226, 176, 59, 74, 201, 255, 255, 49, 226, 1, 29, 74, 201, 255, 191, 49, 226, 1, 29, 74, 201, 254, 127, 49, 226, 1, 29, 74, 201, 255, 255, 49, 226, 1, 29, 74, 201, 255, 255, 49, 226, 187, 78, 208, 177, 255, 191, 49, 226, 187, 78, 208, 177, 255, 255, 49, 226, 187, 78, 208, 177, 255, 255, 49, 226, 187, 78, 208, 177, 255, 255, 49, 226, 67, 177, 208, 177, 255, 255, 49, 226, 67, 177, 208, 177, 255, 191, 49, 226, 67, 177, 208, 177, 255, 255, 49, 226, 67, 177, 208, 177, 255, 255, 49, 226, 67, 177, 74, 201, 254, 127, 49, 226, 67, 177, 74, 201, 255, 191, 49, 226, 67, 177, 74, 201, 255, 255, 49, 226, 67, 177, 74, 201, 255, 255, 49, 226, 187, 78, 74, 201, 255, 191, 49, 226, 187, 78, 74, 201, 254, 127, 49, 226, 187, 78, 74, 201, 255, 255, 49, 226, 187, 78, 74, 201, 255, 255, 49, 226, 1, 29, 180, 54, 255, 191, 49, 226, 1, 29, 180, 54, 255, 255, 49, 226, 1, 29, 180, 54, 255, 255, 49, 226, 1, 29, 180, 54, 255, 255, 49, 226, 176, 59, 180, 54, 255, 255, 49, 226, 176, 59, 180, 54, 255, 191, 49, 226, 176, 59, 180, 54, 255, 255, 49, 226, 176, 59, 180, 54, 255, 255, 49, 226, 176, 59, 45, 78, 254, 127, 49, 226, 176, 59, 45, 78, 255, 191, 49, 226, 176, 59, 45, 78, 255, 255, 49, 226, 176, 59, 45, 78, 255, 255, 49, 226, 1, 29, 45, 78, 255, 191, 49, 226, 1, 29, 45, 78, 254, 127, 49, 226, 1, 29, 45, 78, 255, 255, 49, 226, 1, 29, 45, 78, 255, 255, 49, 226, 187, 78, 180, 54, 255, 191, 49, 226, 187, 78, 180, 54, 255, 255, 49, 226, 187, 78, 180, 54, 255, 255, 49, 226, 187, 78, 180, 54, 255, 255, 49, 226, 67, 177, 180, 54, 255, 255, 49, 226, 67, 177, 180, 54, 255, 191, 49, 226, 67, 177, 180, 54, 255, 255, 49, 226, 67, 177, 180, 54, 255, 255, 49, 226, 67, 177, 45, 78, 254, 127, 49, 226, 67, 177, 45, 78, 255, 191, 49, 226, 67, 177, 45, 78, 255, 255, 49, 226, 67, 177, 45, 78, 255, 255, 49, 226, 187, 78, 45, 78, 255, 191, 49, 226, 187, 78, 45, 78, 254, 127, 49, 226, 187, 78, 45, 78, 255, 255, 49, 226, 187, 78, 45, 78, 255, 255, 49, 226, 78, 196, 180, 54, 255, 191, 49, 226, 78, 196, 180, 54, 255, 255, 49, 226, 78, 196, 180, 54, 255, 255, 49, 226, 78, 196, 180, 54, 255, 255, 49, 226, 253, 226, 180, 54, 255, 255, 49, 226, 253, 226, 180, 54, 255, 191, 49, 226, 253, 226, 180, 54, 255, 255, 49, 226, 253, 226, 180, 54, 255, 255, 49, 226, 253, 226, 45, 78, 254, 127, 49, 226, 253, 226, 45, 78, 255, 191, 49, 226, 253, 226, 45, 78, 255, 255, 49, 226, 253, 226, 45, 78, 255, 255, 49, 226, 78, 196, 45, 78, 255, 191, 49, 226, 78, 196, 45, 78, 254, 127, 49, 226, 78, 196, 45, 78, 255, 255, 49, 226, 78, 196, 45, 78, 255, 255, 38, 229, 253, 226, 208, 177, 255, 255, 38, 229, 253, 226, 208, 177, 255, 191, 38, 229, 253, 226, 208, 177, 255, 255, 38, 229, 78, 196, 208, 177, 255, 191, 38, 229, 78, 196, 208, 177, 255, 255, 38, 229, 78, 196, 208, 177, 255, 255, 38, 229, 78, 196, 74, 201, 255, 191, 38, 229, 78, 196, 74, 201, 254, 127, 38, 229, 78, 196, 74, 201, 255, 255, 38, 229, 253, 226, 74, 201, 254, 127, 38, 229, 253, 226, 74, 201, 255, 191, 38, 229, 253, 226, 74, 201, 255, 255, 38, 229, 176, 59, 208, 177, 255, 255, 38, 229, 176, 59, 208, 177, 255, 191, 38, 229, 176, 59, 208, 177, 255, 255, 38, 229, 1, 29, 208, 177, 255, 191, 38, 229, 1, 29, 208, 177, 255, 255, 38, 229, 1, 29, 208, 177, 255, 255, 38, 229, 1, 29, 74, 201, 255, 191, 38, 229, 1, 29, 74, 201, 254, 127, 38, 229, 1, 29, 74, 201, 255, 255, 38, 229, 176, 59, 74, 201, 254, 127, 38, 229, 176, 59, 74, 201, 255, 191, 38, 229, 176, 59, 74, 201, 255, 255, 38, 229, 67, 177, 208, 177, 255, 255, 38, 229, 67, 177, 208, 177, 255, 191, 38, 229, 67, 177, 208, 177, 255, 255, 38, 229, 187, 78, 208, 177, 255, 191, 38, 229, 187, 78, 208, 177, 255, 255, 38, 229, 187, 78, 208, 177, 255, 255, 38, 229, 187, 78, 74, 201, 255, 191, 38, 229, 187, 78, 74, 201, 254, 127, 38, 229, 187, 78, 74, 201, 255, 255, 38, 229, 67, 177, 74, 201, 254, 127, 38, 229, 67, 177, 74, 201, 255, 191, 38, 229, 67, 177, 74, 201, 255, 255, 38, 229, 176, 59, 180, 54, 255, 255, 38, 229, 176, 59, 180, 54, 255, 191, 38, 229, 176, 59, 180, 54, 255, 255, 38, 229, 1, 29, 180, 54, 255, 191, 38, 229, 1, 29, 180, 54, 255, 255, 38, 229, 1, 29, 180, 54, 255, 255, 38, 229, 1, 29, 45, 78, 255, 191, 38, 229, 1, 29, 45, 78, 254, 127, 38, 229, 1, 29, 45, 78, 255, 255, 38, 229, 176, 59, 45, 78, 254, 127, 38, 229, 176, 59, 45, 78, 255, 191, 38, 229, 176, 59, 45, 78, 255, 255, 38, 229, 67, 177, 180, 54, 255, 255, 38, 229, 67, 177, 180, 54, 255, 191, 38, 229, 67, 177, 180, 54, 255, 255, 38, 229, 187, 78, 180, 54, 255, 191, 38, 229, 187, 78, 180, 54, 255, 255, 38, 229, 187, 78, 180, 54, 255, 255, 38, 229, 187, 78, 45, 78, 255, 191, 38, 229, 187, 78, 45, 78, 254, 127, 38, 229, 187, 78, 45, 78, 255, 255, 38, 229, 67, 177, 45, 78, 254, 127, 38, 229, 67, 177, 45, 78, 255, 191, 38, 229, 67, 177, 45, 78, 255, 255, 38, 229, 253, 226, 180, 54, 255, 255, 38, 229, 253, 226, 180, 54, 255, 191, 38, 229, 253, 226, 180, 54, 255, 255, 38, 229, 78, 196, 180, 54, 255, 191, 38, 229, 78, 196, 180, 54, 255, 255, 38, 229, 78, 196, 180, 54, 255, 255, 38, 229, 78, 196, 45, 78, 255, 191, 38, 229, 78, 196, 45, 78, 254, 127, 38, 229, 78, 196, 45, 78, 255, 255, 38, 229, 253, 226, 45, 78, 254, 127, 38, 229, 253, 226, 45, 78, 255, 191, 38, 229, 253, 226, 45, 78, 255, 255, 255, 127, 255, 255, 255, 127, 255, 127, 84, 85, 84, 85, 255, 127, 255, 255, 84, 213, 170, 42, 255, 127, 255, 127, 255, 127, 254, 255, 255, 127, 255, 255, 84, 85, 84, 85, 255, 127, 255, 255, 255, 127, 255, 255, 84, 213, 170, 42, 254, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 254, 255, 0, 0, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 254, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 0, 0, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 0, 0, 255, 127, 255, 191, 255, 127, 255, 127, 254, 255, 254, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 254, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 0, 0, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 255, 127, 255, 255, 255, 127, 0, 0, 84, 213, 170, 42, 4, 181, 245, 149, 255, 127, 0, 0, 4, 181, 245, 149, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 0, 0, 246, 21, 250, 202, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 127, 0, 0, 246, 21, 250, 202, 84, 85, 84, 85, 124, 165, 255, 127, 246, 21, 250, 202, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 124, 165, 255, 127, 84, 85, 84, 85, 246, 21, 250, 202, 84, 213, 170, 42, 255, 127, 255, 127, 124, 165, 255, 127, 4, 181, 245, 149, 124, 165, 255, 127, 4, 181, 245, 149, 255, 191, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 254, 255, 255, 191, 255, 127, 255, 127, 254, 255, 254, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 254, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 0, 0, 255, 127, 0, 0, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 0, 0, 255, 127, 0, 0, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 127, 255, 127, 255, 191, 255, 127, 255, 255, 255, 255, 255, 191, 255, 127, 255, 127, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 127, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 0, 0, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 0, 0, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 0, 0, 255, 191, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 0, 0, 255, 191, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127) +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_4qjo7") + +[sub_resource type="BoxShape3D" id="BoxShape3D_iggvr"] +size = Vector3(0.311478, 0.620804, 0.404236) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_02h6g"] +resource_name = "Material.006" +cull_mode = 2 +albedo_texture = ExtResource("13_hojkp") +metallic = 1.0 +metallic_texture_channel = 2 +roughness_texture_channel = 1 +emission_enabled = true +emission_texture = ExtResource("14_lv5jj") +normal_enabled = true +normal_texture = ExtResource("15_87u0b") + +[sub_resource type="ArrayMesh" id="ArrayMesh_4gkg7"] +_surfaces = [{ +"aabb": AABB(0.245259, -1.69553, -0.721371, 1.18422, 0.576978, 1.44275), +"format": 34896613377, +"index_count": 1116, +"index_data": PackedByteArray(4, 0, 139, 0, 1, 0, 4, 0, 137, 0, 139, 0, 7, 0, 146, 0, 145, 0, 7, 0, 6, 0, 146, 0, 9, 0, 11, 0, 8, 0, 9, 0, 10, 0, 11, 0, 4, 0, 10, 0, 9, 0, 4, 0, 6, 0, 10, 0, 7, 0, 8, 0, 11, 0, 7, 0, 3, 0, 8, 0, 11, 0, 6, 0, 7, 0, 11, 0, 10, 0, 6, 0, 8, 0, 4, 0, 9, 0, 8, 0, 3, 0, 4, 0, 7, 0, 133, 0, 2, 0, 7, 0, 145, 0, 133, 0, 144, 0, 155, 0, 143, 0, 144, 0, 152, 0, 155, 0, 4, 0, 142, 0, 137, 0, 4, 0, 3, 0, 142, 0, 138, 0, 149, 0, 141, 0, 138, 0, 150, 0, 149, 0, 139, 0, 5, 0, 1, 0, 5, 0, 141, 0, 140, 0, 141, 0, 139, 0, 138, 0, 5, 0, 139, 0, 141, 0, 0, 0, 142, 0, 3, 0, 0, 0, 134, 0, 142, 0, 5, 0, 146, 0, 6, 0, 5, 0, 140, 0, 146, 0, 151, 0, 132, 0, 148, 0, 151, 0, 135, 0, 132, 0, 12, 0, 15, 0, 14, 0, 12, 0, 13, 0, 15, 0, 15, 0, 20, 0, 14, 0, 17, 0, 20, 0, 19, 0, 20, 0, 16, 0, 14, 0, 20, 0, 17, 0, 16, 0, 21, 0, 24, 0, 22, 0, 21, 0, 23, 0, 24, 0, 18, 0, 17, 0, 19, 0, 24, 0, 23, 0, 29, 0, 26, 0, 28, 0, 29, 0, 29, 0, 23, 0, 25, 0, 29, 0, 25, 0, 26, 0, 27, 0, 28, 0, 26, 0, 20, 0, 28, 0, 19, 0, 20, 0, 29, 0, 28, 0, 17, 0, 25, 0, 16, 0, 17, 0, 26, 0, 25, 0, 14, 0, 21, 0, 12, 0, 14, 0, 23, 0, 21, 0, 16, 0, 23, 0, 14, 0, 16, 0, 25, 0, 23, 0, 18, 0, 26, 0, 17, 0, 18, 0, 27, 0, 26, 0, 13, 0, 24, 0, 15, 0, 13, 0, 22, 0, 24, 0, 12, 0, 22, 0, 13, 0, 12, 0, 21, 0, 22, 0, 19, 0, 27, 0, 18, 0, 19, 0, 28, 0, 27, 0, 15, 0, 29, 0, 20, 0, 15, 0, 24, 0, 29, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 33, 0, 32, 0, 38, 0, 35, 0, 37, 0, 38, 0, 38, 0, 32, 0, 34, 0, 38, 0, 34, 0, 35, 0, 39, 0, 42, 0, 41, 0, 39, 0, 40, 0, 42, 0, 36, 0, 37, 0, 35, 0, 42, 0, 47, 0, 41, 0, 44, 0, 47, 0, 46, 0, 47, 0, 43, 0, 41, 0, 47, 0, 44, 0, 43, 0, 45, 0, 44, 0, 46, 0, 38, 0, 46, 0, 47, 0, 38, 0, 37, 0, 46, 0, 35, 0, 43, 0, 44, 0, 35, 0, 34, 0, 43, 0, 32, 0, 39, 0, 41, 0, 32, 0, 30, 0, 39, 0, 34, 0, 41, 0, 43, 0, 34, 0, 32, 0, 41, 0, 36, 0, 44, 0, 45, 0, 36, 0, 35, 0, 44, 0, 31, 0, 42, 0, 40, 0, 31, 0, 33, 0, 42, 0, 30, 0, 40, 0, 39, 0, 30, 0, 31, 0, 40, 0, 37, 0, 45, 0, 46, 0, 37, 0, 36, 0, 45, 0, 33, 0, 47, 0, 42, 0, 33, 0, 38, 0, 47, 0, 60, 0, 81, 0, 61, 0, 60, 0, 72, 0, 81, 0, 61, 0, 86, 0, 49, 0, 61, 0, 81, 0, 86, 0, 49, 0, 91, 0, 54, 0, 49, 0, 86, 0, 91, 0, 54, 0, 96, 0, 53, 0, 54, 0, 91, 0, 96, 0, 53, 0, 101, 0, 52, 0, 53, 0, 96, 0, 101, 0, 52, 0, 106, 0, 51, 0, 52, 0, 101, 0, 106, 0, 51, 0, 111, 0, 50, 0, 51, 0, 106, 0, 111, 0, 50, 0, 116, 0, 48, 0, 50, 0, 111, 0, 116, 0, 48, 0, 121, 0, 57, 0, 48, 0, 116, 0, 121, 0, 57, 0, 126, 0, 58, 0, 57, 0, 121, 0, 126, 0, 58, 0, 131, 0, 59, 0, 58, 0, 126, 0, 131, 0, 59, 0, 72, 0, 60, 0, 59, 0, 131, 0, 72, 0, 72, 0, 80, 0, 81, 0, 72, 0, 73, 0, 80, 0, 73, 0, 79, 0, 80, 0, 73, 0, 74, 0, 79, 0, 74, 0, 78, 0, 79, 0, 74, 0, 75, 0, 78, 0, 75, 0, 77, 0, 78, 0, 75, 0, 76, 0, 77, 0, 76, 0, 71, 0, 77, 0, 76, 0, 70, 0, 71, 0, 81, 0, 85, 0, 86, 0, 81, 0, 80, 0, 85, 0, 80, 0, 84, 0, 85, 0, 80, 0, 79, 0, 84, 0, 79, 0, 83, 0, 84, 0, 79, 0, 78, 0, 83, 0, 78, 0, 82, 0, 83, 0, 78, 0, 77, 0, 82, 0, 77, 0, 55, 0, 82, 0, 77, 0, 71, 0, 55, 0, 86, 0, 90, 0, 91, 0, 86, 0, 85, 0, 90, 0, 85, 0, 89, 0, 90, 0, 85, 0, 84, 0, 89, 0, 84, 0, 88, 0, 89, 0, 84, 0, 83, 0, 88, 0, 83, 0, 87, 0, 88, 0, 83, 0, 82, 0, 87, 0, 82, 0, 66, 0, 87, 0, 82, 0, 55, 0, 66, 0, 91, 0, 95, 0, 96, 0, 91, 0, 90, 0, 95, 0, 90, 0, 94, 0, 95, 0, 90, 0, 89, 0, 94, 0, 89, 0, 93, 0, 94, 0, 89, 0, 88, 0, 93, 0, 88, 0, 92, 0, 93, 0, 88, 0, 87, 0, 92, 0, 87, 0, 65, 0, 92, 0, 87, 0, 66, 0, 65, 0, 96, 0, 100, 0, 101, 0, 96, 0, 95, 0, 100, 0, 95, 0, 99, 0, 100, 0, 95, 0, 94, 0, 99, 0, 94, 0, 98, 0, 99, 0, 94, 0, 93, 0, 98, 0, 93, 0, 97, 0, 98, 0, 93, 0, 92, 0, 97, 0, 92, 0, 64, 0, 97, 0, 92, 0, 65, 0, 64, 0, 101, 0, 105, 0, 106, 0, 101, 0, 100, 0, 105, 0, 100, 0, 104, 0, 105, 0, 100, 0, 99, 0, 104, 0, 99, 0, 103, 0, 104, 0, 99, 0, 98, 0, 103, 0, 98, 0, 102, 0, 103, 0, 98, 0, 97, 0, 102, 0, 97, 0, 63, 0, 102, 0, 97, 0, 64, 0, 63, 0, 106, 0, 110, 0, 111, 0, 106, 0, 105, 0, 110, 0, 105, 0, 109, 0, 110, 0, 105, 0, 104, 0, 109, 0, 104, 0, 108, 0, 109, 0, 104, 0, 103, 0, 108, 0, 103, 0, 107, 0, 108, 0, 103, 0, 102, 0, 107, 0, 102, 0, 62, 0, 107, 0, 102, 0, 63, 0, 62, 0, 111, 0, 115, 0, 116, 0, 111, 0, 110, 0, 115, 0, 110, 0, 114, 0, 115, 0, 110, 0, 109, 0, 114, 0, 109, 0, 113, 0, 114, 0, 109, 0, 108, 0, 113, 0, 108, 0, 112, 0, 113, 0, 108, 0, 107, 0, 112, 0, 107, 0, 56, 0, 112, 0, 107, 0, 62, 0, 56, 0, 116, 0, 120, 0, 121, 0, 116, 0, 115, 0, 120, 0, 115, 0, 119, 0, 120, 0, 115, 0, 114, 0, 119, 0, 114, 0, 118, 0, 119, 0, 114, 0, 113, 0, 118, 0, 113, 0, 117, 0, 118, 0, 113, 0, 112, 0, 117, 0, 112, 0, 67, 0, 117, 0, 112, 0, 56, 0, 67, 0, 121, 0, 125, 0, 126, 0, 121, 0, 120, 0, 125, 0, 120, 0, 124, 0, 125, 0, 120, 0, 119, 0, 124, 0, 119, 0, 123, 0, 124, 0, 119, 0, 118, 0, 123, 0, 118, 0, 122, 0, 123, 0, 118, 0, 117, 0, 122, 0, 117, 0, 68, 0, 122, 0, 117, 0, 67, 0, 68, 0, 126, 0, 130, 0, 131, 0, 126, 0, 125, 0, 130, 0, 125, 0, 129, 0, 130, 0, 125, 0, 124, 0, 129, 0, 124, 0, 128, 0, 129, 0, 124, 0, 123, 0, 128, 0, 123, 0, 127, 0, 128, 0, 123, 0, 122, 0, 127, 0, 122, 0, 69, 0, 127, 0, 122, 0, 68, 0, 69, 0, 131, 0, 73, 0, 72, 0, 131, 0, 130, 0, 73, 0, 130, 0, 74, 0, 73, 0, 130, 0, 129, 0, 74, 0, 129, 0, 75, 0, 74, 0, 129, 0, 128, 0, 75, 0, 128, 0, 76, 0, 75, 0, 128, 0, 127, 0, 76, 0, 127, 0, 70, 0, 76, 0, 127, 0, 69, 0, 70, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 33, 0, 32, 0, 38, 0, 35, 0, 37, 0, 38, 0, 38, 0, 32, 0, 34, 0, 38, 0, 34, 0, 35, 0, 39, 0, 42, 0, 41, 0, 39, 0, 40, 0, 42, 0, 36, 0, 37, 0, 35, 0, 42, 0, 47, 0, 41, 0, 44, 0, 47, 0, 46, 0, 47, 0, 43, 0, 41, 0, 47, 0, 44, 0, 43, 0, 45, 0, 44, 0, 46, 0, 38, 0, 46, 0, 47, 0, 38, 0, 37, 0, 46, 0, 35, 0, 43, 0, 44, 0, 35, 0, 34, 0, 43, 0, 32, 0, 39, 0, 41, 0, 32, 0, 30, 0, 39, 0, 34, 0, 41, 0, 43, 0, 34, 0, 32, 0, 41, 0, 36, 0, 44, 0, 45, 0, 36, 0, 35, 0, 44, 0, 31, 0, 42, 0, 40, 0, 31, 0, 33, 0, 42, 0, 30, 0, 40, 0, 39, 0, 30, 0, 31, 0, 40, 0, 37, 0, 45, 0, 46, 0, 37, 0, 36, 0, 45, 0, 33, 0, 47, 0, 42, 0, 33, 0, 38, 0, 47, 0, 137, 0, 138, 0, 139, 0, 137, 0, 150, 0, 138, 0, 134, 0, 151, 0, 142, 0, 134, 0, 135, 0, 151, 0, 145, 0, 132, 0, 133, 0, 145, 0, 148, 0, 132, 0, 140, 0, 149, 0, 146, 0, 140, 0, 141, 0, 149, 0, 146, 0, 148, 0, 145, 0, 146, 0, 149, 0, 148, 0, 150, 0, 142, 0, 151, 0, 150, 0, 137, 0, 142, 0, 133, 0, 0, 0, 2, 0, 0, 0, 135, 0, 134, 0, 135, 0, 133, 0, 132, 0, 0, 0, 133, 0, 135, 0, 164, 0, 181, 0, 165, 0, 164, 0, 180, 0, 181, 0, 159, 0, 172, 0, 156, 0, 159, 0, 174, 0, 172, 0, 160, 0, 177, 0, 161, 0, 160, 0, 176, 0, 177, 0, 156, 0, 173, 0, 157, 0, 156, 0, 172, 0, 173, 0, 154, 0, 152, 0, 153, 0, 154, 0, 155, 0, 152, 0, 147, 0, 152, 0, 144, 0, 147, 0, 153, 0, 152, 0, 136, 0, 153, 0, 147, 0, 136, 0, 154, 0, 153, 0, 143, 0, 154, 0, 136, 0, 143, 0, 155, 0, 154, 0, 144, 0, 157, 0, 147, 0, 144, 0, 156, 0, 157, 0, 147, 0, 158, 0, 149, 0, 147, 0, 157, 0, 158, 0, 149, 0, 159, 0, 148, 0, 149, 0, 158, 0, 159, 0, 148, 0, 156, 0, 144, 0, 148, 0, 159, 0, 156, 0, 136, 0, 161, 0, 143, 0, 136, 0, 160, 0, 161, 0, 143, 0, 162, 0, 151, 0, 143, 0, 161, 0, 162, 0, 151, 0, 163, 0, 150, 0, 151, 0, 162, 0, 163, 0, 150, 0, 160, 0, 136, 0, 150, 0, 163, 0, 160, 0, 143, 0, 165, 0, 144, 0, 143, 0, 164, 0, 165, 0, 144, 0, 166, 0, 148, 0, 144, 0, 165, 0, 166, 0, 148, 0, 167, 0, 151, 0, 148, 0, 166, 0, 167, 0, 151, 0, 164, 0, 143, 0, 151, 0, 167, 0, 164, 0, 147, 0, 169, 0, 136, 0, 147, 0, 168, 0, 169, 0, 136, 0, 170, 0, 150, 0, 136, 0, 169, 0, 170, 0, 150, 0, 171, 0, 149, 0, 150, 0, 170, 0, 171, 0, 149, 0, 168, 0, 147, 0, 149, 0, 171, 0, 168, 0, 172, 0, 175, 0, 173, 0, 172, 0, 174, 0, 175, 0, 176, 0, 179, 0, 177, 0, 176, 0, 178, 0, 179, 0, 180, 0, 183, 0, 181, 0, 180, 0, 182, 0, 183, 0, 184, 0, 187, 0, 185, 0, 184, 0, 186, 0, 187, 0, 163, 0, 176, 0, 160, 0, 163, 0, 178, 0, 176, 0, 168, 0, 185, 0, 169, 0, 168, 0, 184, 0, 185, 0, 157, 0, 175, 0, 158, 0, 157, 0, 173, 0, 175, 0, 167, 0, 180, 0, 164, 0, 167, 0, 182, 0, 180, 0, 161, 0, 179, 0, 162, 0, 161, 0, 177, 0, 179, 0, 171, 0, 184, 0, 168, 0, 171, 0, 186, 0, 184, 0, 158, 0, 174, 0, 159, 0, 158, 0, 175, 0, 174, 0, 165, 0, 183, 0, 166, 0, 165, 0, 181, 0, 183, 0, 162, 0, 178, 0, 163, 0, 162, 0, 179, 0, 178, 0, 169, 0, 187, 0, 170, 0, 169, 0, 185, 0, 187, 0, 166, 0, 182, 0, 167, 0, 166, 0, 183, 0, 182, 0, 170, 0, 186, 0, 171, 0, 170, 0, 187, 0, 186, 0, 4, 0, 5, 0, 6, 0, 4, 0, 1, 0, 5, 0, 0, 0, 7, 0, 2, 0, 0, 0, 3, 0, 7, 0), +"lods": [0.111648, PackedByteArray(4, 0, 139, 0, 1, 0, 8, 0, 4, 0, 9, 0, 8, 0, 3, 0, 4, 0, 4, 0, 3, 0, 134, 0, 4, 0, 134, 0, 139, 0, 0, 0, 134, 0, 3, 0, 150, 0, 139, 0, 134, 0, 139, 0, 150, 0, 138, 0, 150, 0, 134, 0, 151, 0, 134, 0, 135, 0, 151, 0, 7, 0, 6, 0, 133, 0, 11, 0, 6, 0, 7, 0, 11, 0, 10, 0, 6, 0, 7, 0, 133, 0, 2, 0, 5, 0, 133, 0, 6, 0, 5, 0, 140, 0, 133, 0, 140, 0, 149, 0, 133, 0, 140, 0, 141, 0, 149, 0, 133, 0, 149, 0, 148, 0, 133, 0, 148, 0, 132, 0, 9, 0, 11, 0, 8, 0, 9, 0, 10, 0, 11, 0, 4, 0, 10, 0, 9, 0, 4, 0, 6, 0, 10, 0, 7, 0, 8, 0, 11, 0, 7, 0, 3, 0, 8, 0, 144, 0, 155, 0, 143, 0, 144, 0, 152, 0, 155, 0, 138, 0, 149, 0, 141, 0, 138, 0, 150, 0, 149, 0, 150, 0, 171, 0, 149, 0, 149, 0, 171, 0, 168, 0, 150, 0, 170, 0, 171, 0, 149, 0, 168, 0, 147, 0, 147, 0, 168, 0, 169, 0, 147, 0, 158, 0, 149, 0, 149, 0, 158, 0, 159, 0, 147, 0, 157, 0, 158, 0, 149, 0, 159, 0, 148, 0, 147, 0, 169, 0, 136, 0, 136, 0, 169, 0, 170, 0, 136, 0, 170, 0, 150, 0, 144, 0, 157, 0, 147, 0, 148, 0, 159, 0, 156, 0, 144, 0, 156, 0, 157, 0, 148, 0, 156, 0, 144, 0, 150, 0, 160, 0, 136, 0, 136, 0, 160, 0, 161, 0, 150, 0, 163, 0, 160, 0, 136, 0, 161, 0, 143, 0, 151, 0, 163, 0, 150, 0, 151, 0, 162, 0, 163, 0, 143, 0, 161, 0, 162, 0, 143, 0, 162, 0, 151, 0, 151, 0, 132, 0, 148, 0, 151, 0, 135, 0, 132, 0, 151, 0, 164, 0, 143, 0, 143, 0, 164, 0, 165, 0, 143, 0, 165, 0, 144, 0, 151, 0, 167, 0, 164, 0, 148, 0, 167, 0, 151, 0, 144, 0, 165, 0, 166, 0, 148, 0, 166, 0, 167, 0, 144, 0, 166, 0, 148, 0, 139, 0, 5, 0, 1, 0, 5, 0, 139, 0, 141, 0, 141, 0, 139, 0, 138, 0, 5, 0, 141, 0, 140, 0, 12, 0, 15, 0, 16, 0, 12, 0, 13, 0, 15, 0, 15, 0, 17, 0, 16, 0, 17, 0, 15, 0, 19, 0, 18, 0, 17, 0, 19, 0, 21, 0, 29, 0, 22, 0, 21, 0, 23, 0, 29, 0, 29, 0, 23, 0, 26, 0, 26, 0, 28, 0, 29, 0, 27, 0, 28, 0, 26, 0, 15, 0, 28, 0, 19, 0, 15, 0, 29, 0, 28, 0, 13, 0, 29, 0, 15, 0, 13, 0, 22, 0, 29, 0, 17, 0, 23, 0, 16, 0, 17, 0, 26, 0, 23, 0, 16, 0, 23, 0, 21, 0, 16, 0, 21, 0, 12, 0, 18, 0, 26, 0, 17, 0, 18, 0, 27, 0, 26, 0, 19, 0, 27, 0, 18, 0, 19, 0, 28, 0, 27, 0, 12, 0, 22, 0, 13, 0, 12, 0, 21, 0, 22, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 33, 0, 32, 0, 38, 0, 38, 0, 32, 0, 34, 0, 38, 0, 34, 0, 35, 0, 35, 0, 37, 0, 38, 0, 36, 0, 37, 0, 35, 0, 39, 0, 42, 0, 41, 0, 39, 0, 40, 0, 42, 0, 42, 0, 47, 0, 41, 0, 47, 0, 43, 0, 41, 0, 47, 0, 44, 0, 43, 0, 44, 0, 47, 0, 46, 0, 45, 0, 44, 0, 46, 0, 38, 0, 46, 0, 47, 0, 38, 0, 37, 0, 46, 0, 33, 0, 38, 0, 47, 0, 33, 0, 47, 0, 42, 0, 31, 0, 33, 0, 42, 0, 31, 0, 42, 0, 40, 0, 35, 0, 43, 0, 44, 0, 35, 0, 34, 0, 43, 0, 34, 0, 41, 0, 43, 0, 34, 0, 32, 0, 41, 0, 32, 0, 39, 0, 41, 0, 32, 0, 30, 0, 39, 0, 36, 0, 44, 0, 45, 0, 36, 0, 35, 0, 44, 0, 37, 0, 36, 0, 45, 0, 37, 0, 45, 0, 46, 0, 30, 0, 40, 0, 39, 0, 30, 0, 31, 0, 40, 0, 60, 0, 76, 0, 61, 0, 76, 0, 71, 0, 61, 0, 76, 0, 70, 0, 71, 0, 61, 0, 71, 0, 55, 0, 61, 0, 55, 0, 49, 0, 49, 0, 55, 0, 54, 0, 55, 0, 66, 0, 54, 0, 54, 0, 66, 0, 92, 0, 66, 0, 65, 0, 92, 0, 54, 0, 92, 0, 53, 0, 53, 0, 92, 0, 52, 0, 92, 0, 64, 0, 52, 0, 92, 0, 65, 0, 64, 0, 52, 0, 64, 0, 107, 0, 64, 0, 63, 0, 107, 0, 107, 0, 63, 0, 62, 0, 52, 0, 107, 0, 51, 0, 51, 0, 107, 0, 50, 0, 50, 0, 107, 0, 48, 0, 107, 0, 56, 0, 48, 0, 107, 0, 62, 0, 56, 0, 48, 0, 56, 0, 122, 0, 48, 0, 122, 0, 57, 0, 56, 0, 67, 0, 122, 0, 67, 0, 68, 0, 122, 0, 57, 0, 122, 0, 58, 0, 58, 0, 122, 0, 59, 0, 122, 0, 69, 0, 59, 0, 122, 0, 68, 0, 69, 0, 59, 0, 69, 0, 76, 0, 69, 0, 70, 0, 76, 0, 59, 0, 76, 0, 60, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 33, 0, 32, 0, 38, 0, 38, 0, 32, 0, 34, 0, 38, 0, 34, 0, 35, 0, 35, 0, 37, 0, 38, 0, 36, 0, 37, 0, 35, 0, 39, 0, 42, 0, 41, 0, 39, 0, 40, 0, 42, 0, 42, 0, 47, 0, 41, 0, 47, 0, 43, 0, 41, 0, 47, 0, 44, 0, 43, 0, 44, 0, 47, 0, 46, 0, 45, 0, 44, 0, 46, 0, 38, 0, 46, 0, 47, 0, 38, 0, 37, 0, 46, 0, 33, 0, 38, 0, 47, 0, 33, 0, 47, 0, 42, 0, 31, 0, 33, 0, 42, 0, 31, 0, 42, 0, 40, 0, 35, 0, 43, 0, 44, 0, 35, 0, 34, 0, 43, 0, 34, 0, 41, 0, 43, 0, 34, 0, 32, 0, 41, 0, 32, 0, 39, 0, 41, 0, 32, 0, 30, 0, 39, 0, 36, 0, 44, 0, 45, 0, 36, 0, 35, 0, 44, 0, 37, 0, 36, 0, 45, 0, 37, 0, 45, 0, 46, 0, 30, 0, 40, 0, 39, 0, 30, 0, 31, 0, 40, 0, 133, 0, 0, 0, 2, 0, 0, 0, 133, 0, 135, 0, 135, 0, 133, 0, 132, 0, 0, 0, 135, 0, 134, 0, 164, 0, 181, 0, 165, 0, 165, 0, 181, 0, 183, 0, 165, 0, 183, 0, 166, 0, 159, 0, 173, 0, 156, 0, 159, 0, 174, 0, 173, 0, 160, 0, 177, 0, 161, 0, 161, 0, 177, 0, 179, 0, 161, 0, 179, 0, 162, 0, 156, 0, 173, 0, 157, 0, 157, 0, 173, 0, 175, 0, 157, 0, 175, 0, 158, 0, 154, 0, 152, 0, 153, 0, 154, 0, 155, 0, 152, 0, 147, 0, 152, 0, 144, 0, 147, 0, 153, 0, 152, 0, 136, 0, 153, 0, 147, 0, 136, 0, 154, 0, 153, 0, 143, 0, 154, 0, 136, 0, 143, 0, 155, 0, 154, 0, 173, 0, 174, 0, 175, 0, 177, 0, 178, 0, 179, 0, 181, 0, 182, 0, 183, 0, 185, 0, 186, 0, 187, 0, 163, 0, 177, 0, 160, 0, 163, 0, 178, 0, 177, 0, 168, 0, 185, 0, 169, 0, 169, 0, 185, 0, 187, 0, 169, 0, 187, 0, 170, 0, 167, 0, 181, 0, 164, 0, 167, 0, 182, 0, 181, 0, 171, 0, 185, 0, 168, 0, 171, 0, 186, 0, 185, 0, 158, 0, 174, 0, 159, 0, 158, 0, 175, 0, 174, 0, 162, 0, 178, 0, 163, 0, 162, 0, 179, 0, 178, 0, 166, 0, 182, 0, 167, 0, 166, 0, 183, 0, 182, 0, 170, 0, 186, 0, 171, 0, 170, 0, 187, 0, 186, 0, 4, 0, 5, 0, 6, 0, 4, 0, 1, 0, 5, 0, 0, 0, 7, 0, 2, 0, 0, 0, 3, 0, 7, 0)], +"name": "Material.006", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 188, +"vertex_data": PackedByteArray(158, 21, 0, 0, 254, 255, 0, 0, 158, 21, 0, 0, 0, 0, 0, 0, 158, 21, 255, 255, 254, 255, 0, 0, 158, 21, 0, 0, 169, 170, 0, 0, 158, 21, 0, 0, 84, 85, 0, 0, 158, 21, 255, 255, 0, 0, 0, 0, 158, 21, 255, 255, 84, 85, 0, 0, 158, 21, 255, 255, 169, 170, 0, 0, 0, 0, 0, 0, 169, 170, 0, 0, 0, 0, 0, 0, 84, 85, 0, 0, 0, 0, 255, 255, 84, 85, 0, 0, 0, 0, 255, 255, 169, 170, 0, 0, 88, 57, 207, 34, 184, 218, 0, 0, 88, 57, 47, 221, 184, 218, 0, 0, 85, 230, 78, 75, 184, 218, 0, 0, 85, 230, 168, 180, 184, 218, 0, 0, 49, 243, 115, 82, 184, 218, 0, 0, 144, 252, 176, 101, 184, 218, 0, 0, 255, 255, 248, 127, 184, 218, 0, 0, 144, 252, 63, 154, 184, 218, 0, 0, 49, 243, 124, 173, 184, 218, 0, 0, 88, 57, 207, 34, 203, 203, 0, 0, 88, 57, 47, 221, 203, 203, 0, 0, 85, 230, 78, 75, 203, 203, 0, 0, 85, 230, 168, 180, 203, 203, 0, 0, 49, 243, 115, 82, 203, 203, 0, 0, 144, 252, 176, 101, 203, 203, 0, 0, 255, 255, 248, 127, 203, 203, 0, 0, 144, 252, 63, 154, 203, 203, 0, 0, 49, 243, 124, 173, 203, 203, 0, 0, 88, 57, 207, 34, 70, 37, 0, 0, 88, 57, 47, 221, 70, 37, 0, 0, 85, 230, 78, 75, 70, 37, 0, 0, 85, 230, 168, 180, 70, 37, 0, 0, 49, 243, 115, 82, 70, 37, 0, 0, 144, 252, 176, 101, 70, 37, 0, 0, 255, 255, 248, 127, 70, 37, 0, 0, 144, 252, 63, 154, 70, 37, 0, 0, 49, 243, 124, 173, 70, 37, 0, 0, 88, 57, 207, 34, 51, 52, 0, 0, 88, 57, 47, 221, 51, 52, 0, 0, 85, 230, 78, 75, 51, 52, 0, 0, 85, 230, 168, 180, 51, 52, 0, 0, 49, 243, 115, 82, 51, 52, 0, 0, 144, 252, 176, 101, 51, 52, 0, 0, 255, 255, 248, 127, 51, 52, 0, 0, 144, 252, 63, 154, 51, 52, 0, 0, 49, 243, 124, 173, 51, 52, 0, 0, 88, 230, 150, 87, 81, 208, 0, 0, 88, 230, 95, 168, 81, 208, 0, 0, 50, 240, 17, 93, 81, 208, 0, 0, 98, 247, 209, 107, 81, 208, 0, 0, 3, 250, 248, 127, 81, 208, 0, 0, 98, 247, 30, 148, 81, 208, 0, 0, 50, 240, 223, 162, 81, 208, 0, 0, 88, 230, 95, 168, 173, 47, 0, 0, 88, 230, 150, 87, 173, 47, 0, 0, 127, 220, 17, 93, 81, 208, 0, 0, 79, 213, 209, 107, 81, 208, 0, 0, 173, 210, 248, 127, 81, 208, 0, 0, 79, 213, 30, 148, 81, 208, 0, 0, 127, 220, 223, 162, 81, 208, 0, 0, 50, 240, 17, 93, 173, 47, 0, 0, 98, 247, 209, 107, 173, 47, 0, 0, 3, 250, 248, 127, 173, 47, 0, 0, 98, 247, 30, 148, 173, 47, 0, 0, 50, 240, 223, 162, 173, 47, 0, 0, 127, 220, 17, 93, 173, 47, 0, 0, 79, 213, 209, 107, 173, 47, 0, 0, 173, 210, 248, 127, 173, 47, 0, 0, 79, 213, 30, 148, 173, 47, 0, 0, 127, 220, 223, 162, 173, 47, 0, 0, 34, 211, 177, 150, 175, 179, 0, 0, 211, 209, 61, 152, 72, 153, 0, 0, 100, 209, 193, 152, 255, 127, 0, 0, 211, 209, 61, 152, 182, 102, 0, 0, 34, 211, 177, 150, 79, 76, 0, 0, 61, 219, 84, 167, 79, 76, 0, 0, 123, 218, 1, 170, 182, 102, 0, 0, 59, 218, 230, 170, 255, 127, 0, 0, 123, 218, 1, 170, 72, 153, 0, 0, 61, 219, 84, 167, 175, 179, 0, 0, 88, 230, 137, 173, 79, 76, 0, 0, 88, 230, 162, 176, 182, 102, 0, 0, 88, 230, 170, 177, 255, 127, 0, 0, 88, 230, 162, 176, 72, 153, 0, 0, 88, 230, 137, 173, 175, 179, 0, 0, 116, 241, 84, 167, 79, 76, 0, 0, 54, 242, 1, 170, 182, 102, 0, 0, 118, 242, 230, 170, 255, 127, 0, 0, 54, 242, 1, 170, 72, 153, 0, 0, 116, 241, 84, 167, 175, 179, 0, 0, 143, 249, 177, 150, 79, 76, 0, 0, 222, 250, 61, 152, 182, 102, 0, 0, 77, 251, 193, 152, 255, 127, 0, 0, 222, 250, 61, 152, 72, 153, 0, 0, 143, 249, 177, 150, 175, 179, 0, 0, 135, 252, 248, 127, 79, 76, 0, 0, 9, 254, 248, 127, 182, 102, 0, 0, 137, 254, 247, 127, 255, 127, 0, 0, 9, 254, 248, 127, 72, 153, 0, 0, 135, 252, 248, 127, 175, 179, 0, 0, 143, 249, 62, 105, 79, 76, 0, 0, 222, 250, 178, 103, 182, 102, 0, 0, 77, 251, 46, 103, 255, 127, 0, 0, 222, 250, 178, 103, 72, 153, 0, 0, 143, 249, 62, 105, 175, 179, 0, 0, 116, 241, 155, 88, 79, 76, 0, 0, 54, 242, 238, 85, 182, 102, 0, 0, 118, 242, 9, 85, 255, 127, 0, 0, 54, 242, 238, 85, 72, 153, 0, 0, 116, 241, 155, 88, 175, 179, 0, 0, 88, 230, 109, 82, 79, 76, 0, 0, 88, 230, 84, 79, 182, 102, 0, 0, 88, 230, 76, 78, 255, 127, 0, 0, 88, 230, 84, 79, 72, 153, 0, 0, 88, 230, 109, 82, 175, 179, 0, 0, 61, 219, 155, 88, 79, 76, 0, 0, 123, 218, 238, 85, 182, 102, 0, 0, 59, 218, 9, 85, 255, 127, 0, 0, 123, 218, 238, 85, 72, 153, 0, 0, 61, 219, 155, 88, 175, 179, 0, 0, 34, 211, 62, 105, 79, 76, 0, 0, 211, 209, 178, 103, 182, 102, 0, 0, 100, 209, 46, 103, 255, 127, 0, 0, 211, 209, 178, 103, 72, 153, 0, 0, 34, 211, 62, 105, 175, 179, 0, 0, 42, 208, 248, 127, 79, 76, 0, 0, 168, 206, 248, 127, 182, 102, 0, 0, 39, 206, 247, 127, 255, 127, 0, 0, 168, 206, 247, 127, 72, 153, 0, 0, 42, 208, 248, 127, 175, 179, 0, 0, 38, 59, 124, 236, 254, 255, 0, 0, 164, 49, 255, 255, 254, 255, 0, 0, 164, 49, 0, 0, 254, 255, 0, 0, 38, 59, 130, 19, 254, 255, 0, 0, 38, 59, 110, 61, 24, 102, 0, 0, 164, 49, 0, 0, 84, 85, 0, 0, 38, 59, 130, 19, 0, 0, 0, 0, 164, 49, 0, 0, 0, 0, 0, 0, 164, 49, 255, 255, 0, 0, 0, 0, 38, 59, 124, 236, 0, 0, 0, 0, 164, 49, 0, 0, 169, 170, 0, 0, 38, 59, 110, 61, 230, 153, 0, 0, 38, 59, 144, 194, 230, 153, 0, 0, 164, 49, 255, 255, 169, 170, 0, 0, 164, 49, 255, 255, 84, 85, 0, 0, 38, 59, 144, 194, 24, 102, 0, 0, 38, 59, 124, 236, 169, 170, 0, 0, 38, 59, 124, 236, 84, 85, 0, 0, 38, 59, 130, 19, 84, 85, 0, 0, 38, 59, 130, 19, 169, 170, 0, 0, 142, 52, 144, 194, 230, 153, 0, 0, 142, 52, 144, 194, 24, 102, 0, 0, 142, 52, 110, 61, 24, 102, 0, 0, 142, 52, 110, 61, 230, 153, 0, 0, 38, 59, 189, 202, 139, 152, 0, 0, 38, 59, 189, 202, 115, 103, 0, 0, 38, 59, 79, 228, 57, 93, 0, 0, 38, 59, 79, 228, 197, 162, 0, 0, 38, 59, 65, 53, 115, 103, 0, 0, 38, 59, 65, 53, 139, 152, 0, 0, 38, 59, 175, 27, 197, 162, 0, 0, 38, 59, 175, 27, 57, 93, 0, 0, 38, 59, 209, 64, 43, 157, 0, 0, 38, 59, 45, 191, 43, 157, 0, 0, 38, 59, 191, 216, 100, 167, 0, 0, 38, 59, 63, 39, 100, 167, 0, 0, 38, 59, 45, 191, 211, 98, 0, 0, 38, 59, 209, 64, 211, 98, 0, 0, 38, 59, 63, 39, 153, 88, 0, 0, 38, 59, 191, 216, 153, 88, 0, 0, 12, 56, 189, 202, 139, 152, 0, 0, 12, 56, 189, 202, 115, 103, 0, 0, 12, 56, 79, 228, 197, 162, 0, 0, 12, 56, 79, 228, 57, 93, 0, 0, 12, 56, 65, 53, 115, 103, 0, 0, 12, 56, 65, 53, 139, 152, 0, 0, 12, 56, 175, 27, 57, 93, 0, 0, 12, 56, 175, 27, 197, 162, 0, 0, 12, 56, 209, 64, 43, 157, 0, 0, 12, 56, 45, 191, 43, 157, 0, 0, 12, 56, 63, 39, 100, 167, 0, 0, 12, 56, 191, 216, 100, 167, 0, 0, 12, 56, 45, 191, 211, 98, 0, 0, 12, 56, 209, 64, 211, 98, 0, 0, 12, 56, 191, 216, 153, 88, 0, 0, 12, 56, 63, 39, 153, 88, 0, 0) +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_7e5qf"] +resource_name = "switchHandle - Texture_Cube_002" +_surfaces = [{ +"aabb": AABB(0.245259, -1.69553, -0.721371, 1.18422, 0.576978, 1.44275), +"attribute_data": PackedByteArray(221, 99, 119, 127, 217, 150, 62, 51, 68, 231, 249, 25, 221, 99, 252, 253, 58, 120, 62, 51, 17, 174, 46, 34, 217, 71, 119, 127, 217, 150, 125, 63, 68, 231, 146, 76, 221, 99, 164, 169, 221, 99, 164, 169, 164, 140, 62, 51, 92, 194, 37, 24, 221, 99, 208, 211, 221, 99, 208, 211, 111, 130, 62, 51, 73, 235, 249, 25, 217, 71, 252, 253, 58, 120, 125, 63, 17, 174, 199, 84, 217, 71, 208, 211, 217, 71, 208, 211, 111, 130, 125, 63, 73, 235, 146, 76, 217, 71, 164, 169, 217, 71, 164, 169, 164, 140, 125, 63, 92, 194, 189, 74, 162, 108, 164, 169, 211, 154, 46, 34, 33, 203, 37, 24, 162, 108, 208, 211, 167, 112, 46, 34, 14, 244, 249, 25, 158, 80, 208, 211, 167, 112, 199, 84, 14, 244, 146, 76, 158, 80, 164, 169, 211, 154, 199, 84, 33, 203, 189, 74, 2, 2, 221, 42, 45, 32, 2, 2, 145, 185, 199, 84, 45, 32, 216, 38, 216, 38, 221, 42, 252, 216, 176, 173, 3, 10, 10, 113, 145, 185, 160, 13, 214, 30, 10, 113, 252, 216, 215, 244, 108, 11, 65, 118, 145, 185, 86, 8, 58, 15, 14, 122, 179, 43, 70, 28, 145, 185, 123, 4, 107, 20, 115, 123, 179, 43, 143, 33, 157, 25, 14, 122, 179, 43, 216, 38, 252, 216, 252, 253, 107, 29, 65, 118, 252, 216, 33, 250, 204, 24, 2, 2, 129, 153, 204, 88, 22, 178, 199, 84, 204, 24, 216, 38, 88, 190, 204, 88, 118, 224, 176, 173, 131, 161, 249, 158, 22, 178, 160, 13, 85, 182, 249, 158, 118, 224, 215, 244, 236, 162, 48, 164, 22, 178, 86, 8, 50, 36, 70, 28, 185, 166, 253, 167, 22, 178, 123, 4, 50, 36, 143, 33, 235, 171, 97, 169, 50, 36, 216, 38, 29, 177, 253, 167, 118, 224, 252, 253, 234, 180, 48, 164, 118, 224, 33, 250, 2, 2, 2, 2, 167, 112, 102, 173, 165, 252, 206, 82, 2, 2, 216, 38, 125, 149, 102, 173, 37, 241, 206, 82, 168, 120, 147, 243, 165, 252, 245, 153, 122, 141, 147, 243, 37, 241, 245, 153, 17, 122, 202, 248, 165, 252, 62, 159, 62, 59, 70, 28, 222, 125, 152, 252, 165, 252, 25, 163, 62, 59, 143, 33, 16, 131, 252, 253, 62, 59, 216, 38, 66, 136, 152, 252, 37, 241, 25, 163, 15, 140, 202, 248, 37, 241, 62, 159, 98, 9, 2, 2, 167, 112, 204, 88, 42, 245, 206, 82, 98, 9, 216, 38, 125, 149, 204, 88, 170, 233, 206, 82, 168, 120, 249, 158, 42, 245, 245, 153, 122, 141, 249, 158, 170, 233, 245, 153, 17, 122, 48, 164, 42, 245, 62, 159, 191, 66, 70, 28, 222, 125, 253, 167, 42, 245, 25, 163, 191, 66, 143, 33, 16, 131, 97, 169, 191, 66, 216, 38, 66, 136, 253, 167, 170, 233, 25, 163, 15, 140, 48, 164, 170, 233, 62, 159, 105, 202, 210, 78, 170, 203, 30, 167, 59, 96, 115, 123, 44, 198, 225, 78, 36, 93, 115, 123, 234, 88, 115, 123, 177, 84, 115, 123, 26, 196, 30, 167, 74, 199, 30, 167, 170, 203, 252, 253, 154, 203, 10, 163, 166, 206, 194, 78, 188, 217, 151, 80, 195, 220, 157, 80, 230, 224, 166, 80, 58, 211, 30, 167, 8, 229, 174, 80, 9, 208, 30, 167, 59, 96, 60, 39, 92, 199, 25, 163, 36, 93, 60, 39, 234, 88, 60, 39, 177, 84, 60, 39, 26, 196, 252, 253, 74, 199, 252, 253, 215, 207, 251, 162, 238, 210, 240, 162, 23, 220, 8, 163, 58, 224, 17, 163, 58, 211, 252, 253, 92, 228, 25, 163, 9, 208, 252, 253, 49, 212, 154, 182, 113, 229, 96, 95, 197, 212, 225, 196, 166, 229, 236, 108, 247, 212, 141, 210, 166, 229, 230, 121, 197, 212, 58, 224, 112, 229, 223, 134, 49, 212, 128, 238, 2, 229, 106, 148, 152, 208, 128, 238, 238, 208, 58, 224, 10, 209, 141, 210, 238, 208, 225, 196, 152, 208, 154, 182, 170, 203, 128, 238, 170, 203, 58, 224, 170, 203, 141, 210, 170, 203, 225, 196, 170, 203, 154, 182, 187, 198, 128, 238, 102, 198, 58, 224, 73, 198, 141, 210, 102, 198, 225, 196, 187, 198, 154, 182, 38, 84, 63, 54, 34, 195, 128, 238, 211, 83, 22, 68, 142, 194, 58, 224, 184, 83, 87, 81, 92, 194, 141, 210, 211, 83, 153, 94, 142, 194, 225, 196, 38, 84, 112, 108, 34, 195, 154, 182, 234, 88, 63, 54, 234, 88, 22, 68, 234, 88, 87, 81, 234, 88, 153, 94, 234, 88, 112, 108, 174, 93, 63, 54, 30, 195, 37, 148, 1, 94, 22, 68, 92, 194, 80, 134, 28, 94, 87, 81, 1, 94, 153, 94, 174, 93, 112, 108, 43, 97, 63, 54, 155, 198, 24, 148, 186, 97, 22, 68, 22, 198, 66, 134, 234, 97, 87, 81, 202, 197, 1, 121, 186, 97, 153, 94, 182, 197, 190, 107, 43, 97, 112, 108, 215, 197, 230, 93, 99, 203, 7, 148, 49, 203, 48, 134, 1, 203, 238, 120, 209, 202, 172, 107, 159, 202, 212, 93, 43, 208, 246, 147, 76, 208, 29, 134, 56, 208, 219, 120, 236, 207, 154, 107, 11, 216, 208, 108, 103, 207, 195, 93, 179, 216, 70, 95, 168, 211, 233, 147, 175, 219, 86, 148, 6, 212, 16, 134, 122, 219, 202, 134, 6, 212, 205, 120, 122, 219, 209, 121, 166, 211, 140, 107, 176, 219, 216, 108, 29, 220, 77, 95, 88, 224, 96, 148, 117, 224, 212, 134, 144, 224, 219, 121, 171, 224, 226, 108, 199, 224, 86, 95, 103, 13, 2, 2, 221, 42, 221, 42, 251, 239, 252, 253, 103, 13, 216, 38, 179, 79, 221, 42, 246, 235, 176, 173, 222, 50, 10, 113, 251, 239, 213, 182, 176, 71, 10, 113, 246, 235, 215, 244, 71, 52, 65, 118, 251, 239, 140, 177, 184, 47, 70, 28, 21, 56, 14, 122, 251, 239, 177, 173, 184, 47, 143, 33, 70, 61, 115, 123, 184, 47, 216, 38, 120, 66, 14, 122, 246, 235, 252, 253, 69, 70, 65, 118, 246, 235, 33, 250, 200, 20, 2, 2, 129, 153, 102, 173, 117, 247, 252, 253, 200, 20, 216, 38, 88, 190, 102, 173, 123, 228, 176, 173, 131, 161, 147, 243, 117, 247, 213, 182, 85, 182, 147, 243, 123, 228, 215, 244, 236, 162, 202, 248, 117, 247, 140, 177, 57, 55, 70, 28, 185, 166, 152, 252, 117, 247, 177, 173, 57, 55, 143, 33, 235, 171, 252, 253, 57, 55, 216, 38, 29, 177, 152, 252, 123, 228, 252, 253, 234, 180, 202, 248, 123, 228, 33, 250, 221, 5, 252, 253, 160, 56, 119, 127, 11, 216, 183, 72, 123, 60, 119, 127, 123, 60, 119, 127, 230, 219, 146, 76, 126, 88, 119, 127, 126, 88, 119, 127, 230, 219, 249, 25, 191, 48, 252, 253, 163, 84, 119, 127, 11, 216, 212, 29, 118, 40, 237, 177, 118, 40, 237, 177, 118, 40, 237, 177, 126, 88, 208, 211, 126, 88, 208, 211, 126, 88, 208, 211, 126, 88, 208, 211, 191, 48, 119, 127, 163, 84, 252, 253, 216, 158, 9, 38, 126, 88, 252, 253, 126, 88, 252, 253, 179, 162, 46, 34, 123, 60, 252, 253, 123, 60, 252, 253, 179, 162, 199, 84, 221, 5, 119, 127, 160, 56, 252, 253, 216, 158, 236, 80, 126, 88, 164, 169, 126, 88, 164, 169, 126, 88, 164, 169, 126, 88, 164, 169, 118, 40, 135, 203, 118, 40, 135, 203, 118, 40, 135, 203, 38, 14, 135, 203, 38, 14, 135, 203, 38, 14, 135, 203, 123, 60, 164, 169, 123, 60, 164, 169, 123, 60, 164, 169, 123, 60, 164, 169, 123, 60, 208, 211, 123, 60, 208, 211, 123, 60, 208, 211, 123, 60, 208, 211, 38, 14, 237, 177, 38, 14, 237, 177, 38, 14, 237, 177, 221, 5, 208, 211, 221, 5, 208, 211, 160, 56, 164, 169, 160, 56, 164, 169, 221, 5, 164, 169, 221, 5, 164, 169, 160, 56, 208, 211, 160, 56, 208, 211, 191, 48, 164, 169, 191, 48, 164, 169, 163, 84, 208, 211, 163, 84, 208, 211, 191, 48, 208, 211, 191, 48, 208, 211, 163, 84, 164, 169, 163, 84, 164, 169, 38, 14, 135, 203, 38, 14, 135, 203, 38, 14, 135, 203, 38, 14, 237, 177, 38, 14, 237, 177, 38, 14, 237, 177, 118, 40, 237, 177, 118, 40, 237, 177, 118, 40, 237, 177, 118, 40, 135, 203, 118, 40, 135, 203, 118, 40, 135, 203, 136, 12, 220, 202, 136, 12, 220, 202, 136, 12, 152, 178, 136, 12, 152, 178, 123, 7, 138, 173, 123, 7, 138, 173, 123, 7, 138, 173, 123, 7, 233, 207, 123, 7, 233, 207, 123, 7, 233, 207, 20, 42, 152, 178, 20, 42, 152, 178, 20, 42, 220, 202, 20, 42, 220, 202, 34, 47, 233, 207, 34, 47, 233, 207, 34, 47, 233, 207, 34, 47, 138, 173, 34, 47, 138, 173, 34, 47, 138, 173, 203, 39, 37, 205, 203, 39, 37, 205, 209, 14, 37, 205, 209, 14, 37, 205, 196, 9, 50, 210, 196, 9, 50, 210, 196, 9, 50, 210, 217, 44, 50, 210, 217, 44, 50, 210, 217, 44, 50, 210, 209, 14, 79, 176, 209, 14, 79, 176, 203, 39, 79, 176, 203, 39, 79, 176, 217, 44, 65, 171, 217, 44, 65, 171, 217, 44, 65, 171, 196, 9, 65, 171, 196, 9, 65, 171, 196, 9, 65, 171, 136, 12, 220, 202, 136, 12, 220, 202, 136, 12, 152, 178, 136, 12, 152, 178, 123, 7, 233, 207, 123, 7, 233, 207, 123, 7, 233, 207, 123, 7, 138, 173, 123, 7, 138, 173, 123, 7, 138, 173, 20, 42, 152, 178, 20, 42, 152, 178, 20, 42, 220, 202, 20, 42, 220, 202, 34, 47, 138, 173, 34, 47, 138, 173, 34, 47, 138, 173, 34, 47, 233, 207, 34, 47, 233, 207, 34, 47, 233, 207, 203, 39, 37, 205, 203, 39, 37, 205, 209, 14, 37, 205, 209, 14, 37, 205, 217, 44, 50, 210, 217, 44, 50, 210, 217, 44, 50, 210, 196, 9, 50, 210, 196, 9, 50, 210, 196, 9, 50, 210, 209, 14, 79, 176, 209, 14, 79, 176, 203, 39, 79, 176, 203, 39, 79, 176, 196, 9, 65, 171, 196, 9, 65, 171, 196, 9, 65, 171, 217, 44, 65, 171, 217, 44, 65, 171, 217, 44, 65, 171, 145, 185, 123, 4, 22, 178, 123, 4, 118, 224, 252, 253, 154, 203, 10, 163, 36, 93, 60, 39, 234, 88, 60, 39, 215, 207, 251, 162, 43, 97, 63, 54, 168, 211, 233, 147, 123, 60, 119, 127, 126, 88, 119, 127, 126, 88, 252, 253, 123, 60, 252, 253, 136, 12, 220, 202, 123, 7, 233, 207, 123, 7, 233, 207, 20, 42, 152, 178, 34, 47, 233, 207, 34, 47, 138, 173, 203, 39, 37, 205, 196, 9, 50, 210, 217, 44, 50, 210, 217, 44, 50, 210, 209, 14, 79, 176, 217, 44, 65, 171, 196, 9, 65, 171, 196, 9, 65, 171, 136, 12, 152, 178, 136, 12, 152, 178, 123, 7, 233, 207, 20, 42, 220, 202, 20, 42, 220, 202, 34, 47, 138, 173, 34, 47, 233, 207, 209, 14, 37, 205, 209, 14, 37, 205, 217, 44, 50, 210, 196, 9, 50, 210, 203, 39, 79, 176, 203, 39, 79, 176, 196, 9, 65, 171, 217, 44, 65, 171), +"format": 34896613399, +"index_count": 1116, +"index_data": PackedByteArray(14, 0, 53, 1, 3, 0, 14, 0, 47, 1, 53, 1, 25, 0, 77, 1, 73, 1, 25, 0, 21, 0, 77, 1, 32, 0, 38, 0, 29, 0, 32, 0, 35, 0, 38, 0, 16, 0, 36, 0, 33, 0, 16, 0, 23, 0, 36, 0, 27, 0, 30, 0, 39, 0, 27, 0, 12, 0, 30, 0, 37, 0, 21, 0, 25, 0, 37, 0, 34, 0, 21, 0, 28, 0, 13, 0, 31, 0, 28, 0, 9, 0, 13, 0, 24, 0, 34, 1, 6, 0, 24, 0, 72, 1, 34, 1, 70, 1, 108, 1, 66, 1, 70, 1, 100, 1, 108, 1, 13, 0, 62, 1, 46, 1, 13, 0, 9, 0, 62, 1, 50, 1, 87, 1, 59, 1, 50, 1, 91, 1, 87, 1, 55, 1, 19, 0, 5, 0, 19, 0, 61, 1, 58, 1, 61, 1, 55, 1, 52, 1, 19, 0, 55, 1, 61, 1, 0, 0, 63, 1, 10, 0, 0, 0, 37, 1, 63, 1, 17, 0, 76, 1, 20, 0, 17, 0, 56, 1, 76, 1, 96, 1, 31, 1, 84, 1, 96, 1, 40, 1, 31, 1, 40, 0, 48, 0, 46, 0, 40, 0, 44, 0, 48, 0, 48, 0, 60, 0, 46, 0, 52, 0, 60, 0, 57, 0, 60, 0, 50, 0, 46, 0, 60, 0, 52, 0, 50, 0, 63, 0, 70, 0, 66, 0, 63, 0, 68, 0, 70, 0, 55, 0, 52, 0, 57, 0, 70, 0, 68, 0, 82, 0, 75, 0, 80, 0, 82, 0, 82, 0, 68, 0, 72, 0, 82, 0, 72, 0, 75, 0, 78, 0, 80, 0, 75, 0, 61, 0, 81, 0, 59, 0, 61, 0, 83, 0, 81, 0, 54, 0, 73, 0, 51, 0, 54, 0, 76, 0, 73, 0, 47, 0, 64, 0, 42, 0, 47, 0, 69, 0, 64, 0, 51, 0, 69, 0, 47, 0, 51, 0, 73, 0, 69, 0, 56, 0, 74, 0, 53, 0, 56, 0, 77, 0, 74, 0, 45, 0, 71, 0, 49, 0, 45, 0, 67, 0, 71, 0, 41, 0, 65, 0, 43, 0, 41, 0, 62, 0, 65, 0, 58, 0, 77, 0, 56, 0, 58, 0, 79, 0, 77, 0, 49, 0, 83, 0, 61, 0, 49, 0, 71, 0, 83, 0, 85, 0, 92, 0, 88, 0, 85, 0, 90, 0, 92, 0, 92, 0, 90, 0, 104, 0, 97, 0, 102, 0, 104, 0, 104, 0, 90, 0, 94, 0, 104, 0, 94, 0, 97, 0, 107, 0, 114, 0, 112, 0, 107, 0, 110, 0, 114, 0, 100, 0, 102, 0, 97, 0, 114, 0, 126, 0, 112, 0, 119, 0, 126, 0, 124, 0, 126, 0, 116, 0, 112, 0, 126, 0, 119, 0, 116, 0, 122, 0, 119, 0, 124, 0, 105, 0, 125, 0, 127, 0, 105, 0, 103, 0, 125, 0, 98, 0, 117, 0, 120, 0, 98, 0, 95, 0, 117, 0, 91, 0, 108, 0, 113, 0, 91, 0, 86, 0, 108, 0, 95, 0, 113, 0, 117, 0, 95, 0, 91, 0, 113, 0, 99, 0, 118, 0, 121, 0, 99, 0, 96, 0, 118, 0, 89, 0, 115, 0, 111, 0, 89, 0, 93, 0, 115, 0, 84, 0, 109, 0, 106, 0, 84, 0, 87, 0, 109, 0, 101, 0, 121, 0, 123, 0, 101, 0, 99, 0, 121, 0, 93, 0, 127, 0, 115, 0, 93, 0, 105, 0, 127, 0, 143, 0, 174, 0, 145, 0, 143, 0, 160, 0, 174, 0, 145, 0, 179, 0, 129, 0, 145, 0, 174, 0, 179, 0, 129, 0, 184, 0, 136, 0, 129, 0, 179, 0, 184, 0, 136, 0, 194, 0, 135, 0, 136, 0, 184, 0, 194, 0, 134, 0, 199, 0, 133, 0, 134, 0, 193, 0, 199, 0, 133, 0, 206, 0, 132, 0, 133, 0, 199, 0, 206, 0, 132, 0, 215, 0, 130, 0, 132, 0, 206, 0, 215, 0, 131, 0, 221, 0, 128, 0, 131, 0, 216, 0, 221, 0, 128, 0, 227, 0, 139, 0, 128, 0, 221, 0, 227, 0, 140, 0, 237, 0, 141, 0, 140, 0, 228, 0, 237, 0, 141, 0, 242, 0, 142, 0, 141, 0, 237, 0, 242, 0, 142, 0, 161, 0, 144, 0, 142, 0, 242, 0, 161, 0, 160, 0, 173, 0, 174, 0, 160, 0, 162, 0, 173, 0, 162, 0, 172, 0, 173, 0, 162, 0, 164, 0, 172, 0, 164, 0, 171, 0, 172, 0, 164, 0, 166, 0, 171, 0, 166, 0, 170, 0, 171, 0, 166, 0, 168, 0, 170, 0, 168, 0, 159, 0, 170, 0, 168, 0, 157, 0, 159, 0, 174, 0, 178, 0, 179, 0, 174, 0, 173, 0, 178, 0, 173, 0, 177, 0, 178, 0, 173, 0, 172, 0, 177, 0, 172, 0, 176, 0, 177, 0, 172, 0, 171, 0, 176, 0, 171, 0, 175, 0, 176, 0, 171, 0, 170, 0, 175, 0, 170, 0, 137, 0, 175, 0, 170, 0, 159, 0, 137, 0, 179, 0, 183, 0, 184, 0, 179, 0, 178, 0, 183, 0, 178, 0, 182, 0, 183, 0, 178, 0, 177, 0, 182, 0, 177, 0, 181, 0, 182, 0, 177, 0, 176, 0, 181, 0, 176, 0, 180, 0, 181, 0, 176, 0, 175, 0, 180, 0, 175, 0, 152, 0, 180, 0, 175, 0, 137, 0, 152, 0, 184, 0, 192, 0, 194, 0, 184, 0, 183, 0, 192, 0, 183, 0, 190, 0, 192, 0, 183, 0, 182, 0, 190, 0, 182, 0, 188, 0, 190, 0, 182, 0, 181, 0, 188, 0, 181, 0, 186, 0, 188, 0, 181, 0, 180, 0, 186, 0, 180, 0, 151, 0, 186, 0, 180, 0, 152, 0, 151, 0, 193, 0, 198, 0, 199, 0, 193, 0, 191, 0, 198, 0, 191, 0, 197, 0, 198, 0, 191, 0, 189, 0, 197, 0, 189, 0, 196, 0, 197, 0, 189, 0, 187, 0, 196, 0, 187, 0, 195, 0, 196, 0, 187, 0, 185, 0, 195, 0, 185, 0, 149, 0, 195, 0, 185, 0, 150, 0, 149, 0, 199, 0, 205, 0, 206, 0, 199, 0, 198, 0, 205, 0, 198, 0, 204, 0, 205, 0, 198, 0, 197, 0, 204, 0, 197, 0, 202, 0, 204, 0, 197, 0, 196, 0, 202, 0, 196, 0, 200, 0, 202, 0, 196, 0, 195, 0, 200, 0, 195, 0, 148, 0, 200, 0, 195, 0, 149, 0, 148, 0, 206, 0, 213, 0, 215, 0, 206, 0, 205, 0, 213, 0, 205, 0, 211, 0, 213, 0, 205, 0, 204, 0, 211, 0, 204, 0, 209, 0, 211, 0, 204, 0, 202, 0, 209, 0, 203, 0, 208, 0, 210, 0, 203, 0, 201, 0, 208, 0, 200, 0, 146, 0, 207, 0, 200, 0, 148, 0, 146, 0, 216, 0, 220, 0, 221, 0, 216, 0, 214, 0, 220, 0, 214, 0, 219, 0, 220, 0, 214, 0, 212, 0, 219, 0, 212, 0, 218, 0, 219, 0, 212, 0, 210, 0, 218, 0, 210, 0, 217, 0, 218, 0, 210, 0, 208, 0, 217, 0, 208, 0, 138, 0, 217, 0, 208, 0, 147, 0, 138, 0, 221, 0, 225, 0, 227, 0, 221, 0, 220, 0, 225, 0, 220, 0, 224, 0, 225, 0, 220, 0, 219, 0, 224, 0, 219, 0, 223, 0, 224, 0, 219, 0, 218, 0, 223, 0, 218, 0, 222, 0, 223, 0, 218, 0, 217, 0, 222, 0, 217, 0, 153, 0, 222, 0, 217, 0, 138, 0, 153, 0, 228, 0, 236, 0, 237, 0, 228, 0, 226, 0, 236, 0, 225, 0, 233, 0, 235, 0, 225, 0, 224, 0, 233, 0, 224, 0, 231, 0, 233, 0, 224, 0, 223, 0, 231, 0, 223, 0, 229, 0, 231, 0, 223, 0, 222, 0, 229, 0, 222, 0, 154, 0, 229, 0, 222, 0, 153, 0, 154, 0, 237, 0, 241, 0, 242, 0, 237, 0, 236, 0, 241, 0, 236, 0, 240, 0, 241, 0, 236, 0, 234, 0, 240, 0, 234, 0, 239, 0, 240, 0, 234, 0, 232, 0, 239, 0, 232, 0, 238, 0, 239, 0, 232, 0, 230, 0, 238, 0, 230, 0, 156, 0, 238, 0, 230, 0, 155, 0, 156, 0, 242, 0, 163, 0, 161, 0, 242, 0, 241, 0, 163, 0, 241, 0, 165, 0, 163, 0, 241, 0, 240, 0, 165, 0, 240, 0, 167, 0, 165, 0, 240, 0, 239, 0, 167, 0, 239, 0, 169, 0, 167, 0, 239, 0, 238, 0, 169, 0, 238, 0, 158, 0, 169, 0, 238, 0, 156, 0, 158, 0, 244, 0, 251, 0, 247, 0, 244, 0, 249, 0, 251, 0, 251, 0, 249, 0, 7, 1, 0, 1, 5, 1, 7, 1, 7, 1, 249, 0, 253, 0, 7, 1, 253, 0, 0, 1, 10, 1, 17, 1, 15, 1, 10, 1, 13, 1, 17, 1, 3, 1, 5, 1, 0, 1, 17, 1, 29, 1, 15, 1, 22, 1, 29, 1, 27, 1, 29, 1, 19, 1, 15, 1, 29, 1, 22, 1, 19, 1, 25, 1, 22, 1, 27, 1, 8, 1, 28, 1, 30, 1, 8, 1, 6, 1, 28, 1, 1, 1, 20, 1, 23, 1, 1, 1, 254, 0, 20, 1, 250, 0, 11, 1, 16, 1, 250, 0, 245, 0, 11, 1, 254, 0, 16, 1, 20, 1, 254, 0, 250, 0, 16, 1, 2, 1, 21, 1, 24, 1, 2, 1, 255, 0, 21, 1, 248, 0, 18, 1, 14, 1, 248, 0, 252, 0, 18, 1, 243, 0, 12, 1, 9, 1, 243, 0, 246, 0, 12, 1, 4, 1, 24, 1, 26, 1, 4, 1, 2, 1, 24, 1, 252, 0, 30, 1, 18, 1, 252, 0, 8, 1, 30, 1, 48, 1, 51, 1, 54, 1, 48, 1, 93, 1, 51, 1, 38, 1, 97, 1, 64, 1, 38, 1, 41, 1, 97, 1, 74, 1, 32, 1, 35, 1, 74, 1, 85, 1, 32, 1, 57, 1, 89, 1, 78, 1, 57, 1, 60, 1, 89, 1, 79, 1, 86, 1, 75, 1, 79, 1, 90, 1, 86, 1, 94, 1, 65, 1, 98, 1, 94, 1, 49, 1, 65, 1, 36, 1, 2, 0, 8, 0, 2, 0, 42, 1, 39, 1, 42, 1, 36, 1, 33, 1, 2, 0, 36, 1, 42, 1, 131, 1, 173, 1, 133, 1, 131, 1, 171, 1, 173, 1, 119, 1, 151, 1, 111, 1, 119, 1, 156, 1, 151, 1, 121, 1, 163, 1, 123, 1, 121, 1, 161, 1, 163, 1, 111, 1, 153, 1, 113, 1, 111, 1, 151, 1, 153, 1, 107, 1, 101, 1, 104, 1, 107, 1, 110, 1, 101, 1, 80, 1, 99, 1, 69, 1, 80, 1, 102, 1, 99, 1, 43, 1, 103, 1, 81, 1, 43, 1, 105, 1, 103, 1, 67, 1, 106, 1, 44, 1, 67, 1, 109, 1, 106, 1, 71, 1, 114, 1, 82, 1, 71, 1, 112, 1, 114, 1, 82, 1, 117, 1, 88, 1, 82, 1, 114, 1, 117, 1, 88, 1, 120, 1, 83, 1, 88, 1, 117, 1, 120, 1, 83, 1, 112, 1, 71, 1, 83, 1, 120, 1, 112, 1, 45, 1, 124, 1, 68, 1, 45, 1, 122, 1, 124, 1, 68, 1, 127, 1, 95, 1, 68, 1, 124, 1, 127, 1, 95, 1, 130, 1, 92, 1, 95, 1, 127, 1, 130, 1, 92, 1, 122, 1, 45, 1, 92, 1, 130, 1, 122, 1, 68, 1, 134, 1, 71, 1, 68, 1, 132, 1, 134, 1, 71, 1, 137, 1, 83, 1, 71, 1, 134, 1, 137, 1, 83, 1, 140, 1, 95, 1, 83, 1, 137, 1, 140, 1, 95, 1, 132, 1, 68, 1, 95, 1, 140, 1, 132, 1, 82, 1, 144, 1, 45, 1, 82, 1, 142, 1, 144, 1, 45, 1, 147, 1, 92, 1, 45, 1, 144, 1, 147, 1, 92, 1, 150, 1, 88, 1, 92, 1, 147, 1, 150, 1, 88, 1, 142, 1, 82, 1, 88, 1, 150, 1, 142, 1, 152, 1, 160, 1, 154, 1, 152, 1, 157, 1, 160, 1, 162, 1, 170, 1, 164, 1, 162, 1, 167, 1, 170, 1, 172, 1, 180, 1, 174, 1, 172, 1, 177, 1, 180, 1, 182, 1, 190, 1, 184, 1, 182, 1, 187, 1, 190, 1, 128, 1, 161, 1, 121, 1, 128, 1, 165, 1, 161, 1, 141, 1, 183, 1, 143, 1, 141, 1, 181, 1, 183, 1, 113, 1, 159, 1, 116, 1, 113, 1, 153, 1, 159, 1, 139, 1, 171, 1, 131, 1, 139, 1, 176, 1, 171, 1, 123, 1, 168, 1, 125, 1, 123, 1, 163, 1, 168, 1, 148, 1, 181, 1, 141, 1, 148, 1, 185, 1, 181, 1, 115, 1, 155, 1, 118, 1, 115, 1, 158, 1, 155, 1, 133, 1, 178, 1, 135, 1, 133, 1, 173, 1, 178, 1, 126, 1, 166, 1, 129, 1, 126, 1, 169, 1, 166, 1, 143, 1, 189, 1, 146, 1, 143, 1, 183, 1, 189, 1, 136, 1, 175, 1, 138, 1, 136, 1, 179, 1, 175, 1, 145, 1, 186, 1, 149, 1, 145, 1, 188, 1, 186, 1, 15, 0, 18, 0, 22, 0, 15, 0, 4, 0, 18, 0, 1, 0, 26, 0, 7, 0, 1, 0, 11, 0, 26, 0), +"lods": [0.111648, PackedByteArray(13, 0, 202, 1, 3, 0, 28, 0, 13, 0, 31, 0, 28, 0, 9, 0, 13, 0, 13, 0, 9, 0, 201, 1, 13, 0, 201, 1, 202, 1, 0, 0, 201, 1, 9, 0, 93, 1, 202, 1, 201, 1, 202, 1, 93, 1, 51, 1, 93, 1, 201, 1, 97, 1, 201, 1, 41, 1, 97, 1, 24, 0, 20, 0, 200, 1, 37, 0, 20, 0, 24, 0, 37, 0, 34, 0, 20, 0, 24, 0, 200, 1, 6, 0, 17, 0, 200, 1, 20, 0, 17, 0, 203, 1, 200, 1, 203, 1, 89, 1, 200, 1, 203, 1, 60, 1, 89, 1, 200, 1, 89, 1, 85, 1, 200, 1, 85, 1, 32, 1, 32, 0, 38, 0, 29, 0, 32, 0, 35, 0, 38, 0, 16, 0, 36, 0, 33, 0, 16, 0, 23, 0, 36, 0, 27, 0, 30, 0, 39, 0, 27, 0, 12, 0, 30, 0, 70, 1, 108, 1, 66, 1, 70, 1, 100, 1, 108, 1, 50, 1, 87, 1, 59, 1, 50, 1, 91, 1, 87, 1, 91, 1, 150, 1, 87, 1, 87, 1, 150, 1, 142, 1, 91, 1, 147, 1, 150, 1, 87, 1, 142, 1, 82, 1, 82, 1, 142, 1, 144, 1, 82, 1, 117, 1, 87, 1, 87, 1, 117, 1, 120, 1, 82, 1, 114, 1, 117, 1, 87, 1, 120, 1, 83, 1, 82, 1, 144, 1, 45, 1, 45, 1, 144, 1, 147, 1, 45, 1, 147, 1, 91, 1, 71, 1, 114, 1, 82, 1, 83, 1, 120, 1, 112, 1, 71, 1, 112, 1, 114, 1, 83, 1, 112, 1, 71, 1, 91, 1, 122, 1, 45, 1, 45, 1, 122, 1, 124, 1, 91, 1, 130, 1, 122, 1, 45, 1, 124, 1, 68, 1, 95, 1, 130, 1, 91, 1, 95, 1, 127, 1, 130, 1, 68, 1, 124, 1, 127, 1, 68, 1, 127, 1, 95, 1, 95, 1, 31, 1, 83, 1, 95, 1, 40, 1, 31, 1, 95, 1, 132, 1, 68, 1, 68, 1, 132, 1, 134, 1, 68, 1, 134, 1, 71, 1, 95, 1, 140, 1, 132, 1, 83, 1, 140, 1, 95, 1, 71, 1, 134, 1, 137, 1, 83, 1, 137, 1, 140, 1, 71, 1, 137, 1, 83, 1, 55, 1, 19, 0, 5, 0, 19, 0, 55, 1, 61, 1, 61, 1, 55, 1, 52, 1, 19, 0, 61, 1, 58, 1, 40, 0, 48, 0, 50, 0, 40, 0, 44, 0, 48, 0, 48, 0, 52, 0, 50, 0, 52, 0, 48, 0, 57, 0, 55, 0, 52, 0, 57, 0, 63, 0, 82, 0, 66, 0, 63, 0, 68, 0, 82, 0, 82, 0, 68, 0, 75, 0, 75, 0, 80, 0, 82, 0, 78, 0, 80, 0, 75, 0, 49, 0, 193, 1, 59, 0, 49, 0, 83, 0, 193, 1, 45, 0, 83, 0, 49, 0, 45, 0, 67, 0, 83, 0, 191, 1, 69, 0, 51, 0, 191, 1, 192, 1, 69, 0, 51, 0, 69, 0, 64, 0, 51, 0, 64, 0, 42, 0, 56, 0, 74, 0, 53, 0, 56, 0, 77, 0, 74, 0, 58, 0, 77, 0, 56, 0, 58, 0, 79, 0, 77, 0, 41, 0, 65, 0, 43, 0, 41, 0, 62, 0, 65, 0, 85, 0, 92, 0, 88, 0, 85, 0, 90, 0, 92, 0, 92, 0, 90, 0, 104, 0, 104, 0, 90, 0, 94, 0, 104, 0, 94, 0, 97, 0, 97, 0, 102, 0, 104, 0, 100, 0, 102, 0, 97, 0, 107, 0, 114, 0, 112, 0, 107, 0, 110, 0, 114, 0, 114, 0, 126, 0, 112, 0, 126, 0, 116, 0, 112, 0, 126, 0, 119, 0, 116, 0, 119, 0, 126, 0, 124, 0, 122, 0, 119, 0, 124, 0, 105, 0, 125, 0, 127, 0, 105, 0, 103, 0, 125, 0, 93, 0, 105, 0, 127, 0, 93, 0, 127, 0, 115, 0, 89, 0, 93, 0, 115, 0, 89, 0, 115, 0, 111, 0, 98, 0, 117, 0, 120, 0, 98, 0, 95, 0, 117, 0, 95, 0, 113, 0, 117, 0, 95, 0, 91, 0, 113, 0, 91, 0, 108, 0, 113, 0, 91, 0, 86, 0, 108, 0, 99, 0, 118, 0, 121, 0, 99, 0, 96, 0, 118, 0, 101, 0, 99, 0, 121, 0, 101, 0, 121, 0, 123, 0, 84, 0, 109, 0, 106, 0, 84, 0, 87, 0, 109, 0, 143, 0, 168, 0, 145, 0, 168, 0, 159, 0, 145, 0, 168, 0, 157, 0, 159, 0, 145, 0, 159, 0, 137, 0, 145, 0, 137, 0, 129, 0, 129, 0, 137, 0, 136, 0, 137, 0, 152, 0, 136, 0, 136, 0, 152, 0, 186, 0, 152, 0, 151, 0, 186, 0, 136, 0, 186, 0, 135, 0, 134, 0, 185, 0, 133, 0, 185, 0, 196, 1, 133, 0, 185, 0, 150, 0, 196, 1, 133, 0, 196, 1, 198, 1, 196, 1, 195, 1, 198, 1, 198, 1, 195, 1, 146, 0, 133, 0, 198, 1, 132, 0, 132, 0, 198, 1, 130, 0, 131, 0, 208, 0, 128, 0, 208, 0, 138, 0, 128, 0, 208, 0, 147, 0, 138, 0, 128, 0, 138, 0, 199, 1, 128, 0, 199, 1, 139, 0, 194, 1, 197, 1, 199, 1, 197, 1, 154, 0, 199, 1, 140, 0, 230, 0, 141, 0, 141, 0, 230, 0, 142, 0, 230, 0, 156, 0, 142, 0, 230, 0, 155, 0, 156, 0, 142, 0, 156, 0, 169, 0, 156, 0, 158, 0, 169, 0, 142, 0, 169, 0, 144, 0, 244, 0, 251, 0, 247, 0, 244, 0, 249, 0, 251, 0, 251, 0, 249, 0, 7, 1, 7, 1, 249, 0, 253, 0, 7, 1, 253, 0, 0, 1, 0, 1, 5, 1, 7, 1, 3, 1, 5, 1, 0, 1, 10, 1, 17, 1, 15, 1, 10, 1, 13, 1, 17, 1, 17, 1, 29, 1, 15, 1, 29, 1, 19, 1, 15, 1, 29, 1, 22, 1, 19, 1, 22, 1, 29, 1, 27, 1, 25, 1, 22, 1, 27, 1, 8, 1, 28, 1, 30, 1, 8, 1, 6, 1, 28, 1, 252, 0, 8, 1, 30, 1, 252, 0, 30, 1, 18, 1, 248, 0, 252, 0, 18, 1, 248, 0, 18, 1, 14, 1, 1, 1, 20, 1, 23, 1, 1, 1, 254, 0, 20, 1, 254, 0, 16, 1, 20, 1, 254, 0, 250, 0, 16, 1, 250, 0, 11, 1, 16, 1, 250, 0, 245, 0, 11, 1, 2, 1, 21, 1, 24, 1, 2, 1, 255, 0, 21, 1, 4, 1, 2, 1, 24, 1, 4, 1, 24, 1, 26, 1, 243, 0, 12, 1, 9, 1, 243, 0, 246, 0, 12, 1, 36, 1, 2, 0, 8, 0, 2, 0, 36, 1, 42, 1, 42, 1, 36, 1, 33, 1, 2, 0, 42, 1, 39, 1, 131, 1, 173, 1, 133, 1, 133, 1, 173, 1, 178, 1, 133, 1, 228, 1, 211, 1, 205, 1, 218, 1, 204, 1, 206, 1, 220, 1, 219, 1, 121, 1, 163, 1, 123, 1, 123, 1, 163, 1, 168, 1, 123, 1, 224, 1, 208, 1, 111, 1, 153, 1, 113, 1, 113, 1, 153, 1, 159, 1, 113, 1, 159, 1, 116, 1, 107, 1, 101, 1, 104, 1, 107, 1, 110, 1, 101, 1, 80, 1, 99, 1, 69, 1, 80, 1, 102, 1, 99, 1, 43, 1, 103, 1, 81, 1, 43, 1, 105, 1, 103, 1, 67, 1, 106, 1, 44, 1, 67, 1, 109, 1, 106, 1, 154, 1, 157, 1, 160, 1, 164, 1, 167, 1, 170, 1, 174, 1, 177, 1, 180, 1, 184, 1, 187, 1, 190, 1, 209, 1, 221, 1, 207, 1, 128, 1, 223, 1, 222, 1, 141, 1, 183, 1, 143, 1, 143, 1, 183, 1, 189, 1, 143, 1, 232, 1, 215, 1, 212, 1, 225, 1, 210, 1, 213, 1, 227, 1, 226, 1, 216, 1, 229, 1, 214, 1, 217, 1, 231, 1, 230, 1, 115, 1, 155, 1, 118, 1, 115, 1, 158, 1, 155, 1, 126, 1, 166, 1, 129, 1, 126, 1, 169, 1, 166, 1, 136, 1, 175, 1, 138, 1, 136, 1, 179, 1, 175, 1, 145, 1, 186, 1, 149, 1, 145, 1, 188, 1, 186, 1, 15, 0, 18, 0, 22, 0, 15, 0, 4, 0, 18, 0, 1, 0, 26, 0, 7, 0, 1, 0, 11, 0, 26, 0)], +"material": SubResource("StandardMaterial3D_02h6g"), +"name": "Material.006", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 489, +"vertex_data": PackedByteArray(158, 21, 0, 0, 254, 255, 0, 0, 158, 21, 0, 0, 254, 255, 255, 63, 158, 21, 0, 0, 254, 255, 255, 255, 158, 21, 0, 0, 0, 0, 0, 0, 158, 21, 0, 0, 0, 0, 255, 63, 158, 21, 0, 0, 0, 0, 0, 0, 158, 21, 255, 255, 254, 255, 255, 255, 158, 21, 255, 255, 254, 255, 255, 63, 158, 21, 255, 255, 254, 255, 255, 255, 158, 21, 0, 0, 169, 170, 0, 0, 158, 21, 0, 0, 169, 170, 0, 0, 158, 21, 0, 0, 169, 170, 255, 63, 158, 21, 0, 0, 169, 170, 255, 255, 158, 21, 0, 0, 84, 85, 0, 0, 158, 21, 0, 0, 84, 85, 0, 0, 158, 21, 0, 0, 84, 85, 255, 63, 158, 21, 0, 0, 84, 85, 0, 0, 158, 21, 255, 255, 0, 0, 255, 255, 158, 21, 255, 255, 0, 0, 255, 63, 158, 21, 255, 255, 0, 0, 0, 0, 158, 21, 255, 255, 84, 85, 255, 255, 158, 21, 255, 255, 84, 85, 255, 255, 158, 21, 255, 255, 84, 85, 255, 63, 158, 21, 255, 255, 84, 85, 0, 0, 158, 21, 255, 255, 169, 170, 255, 255, 158, 21, 255, 255, 169, 170, 255, 255, 158, 21, 255, 255, 169, 170, 255, 63, 158, 21, 255, 255, 169, 170, 255, 255, 0, 0, 0, 0, 169, 170, 0, 0, 0, 0, 0, 0, 169, 170, 255, 63, 0, 0, 0, 0, 169, 170, 255, 255, 0, 0, 0, 0, 84, 85, 0, 0, 0, 0, 0, 0, 84, 85, 255, 63, 0, 0, 0, 0, 84, 85, 0, 0, 0, 0, 255, 255, 84, 85, 255, 255, 0, 0, 255, 255, 84, 85, 255, 63, 0, 0, 255, 255, 84, 85, 0, 0, 0, 0, 255, 255, 169, 170, 255, 255, 0, 0, 255, 255, 169, 170, 255, 63, 0, 0, 255, 255, 169, 170, 255, 255, 88, 57, 207, 34, 184, 218, 255, 191, 88, 57, 207, 34, 184, 218, 255, 63, 88, 57, 207, 34, 184, 218, 242, 39, 88, 57, 47, 221, 184, 218, 255, 63, 88, 57, 47, 221, 184, 218, 255, 191, 88, 57, 47, 221, 184, 218, 181, 210, 85, 230, 78, 75, 184, 218, 255, 191, 85, 230, 78, 75, 184, 218, 22, 38, 85, 230, 168, 180, 184, 218, 255, 191, 85, 230, 168, 180, 184, 218, 5, 209, 49, 243, 115, 82, 184, 218, 255, 191, 49, 243, 115, 82, 184, 218, 105, 29, 144, 252, 176, 101, 184, 218, 255, 191, 144, 252, 176, 101, 184, 218, 255, 240, 144, 252, 176, 101, 184, 218, 255, 14, 255, 255, 248, 127, 184, 218, 255, 191, 255, 255, 248, 127, 184, 218, 255, 255, 144, 252, 63, 154, 184, 218, 255, 191, 144, 252, 63, 154, 184, 218, 255, 240, 144, 252, 63, 154, 184, 218, 186, 194, 49, 243, 124, 173, 184, 218, 255, 191, 49, 243, 124, 173, 184, 218, 66, 202, 88, 57, 207, 34, 203, 203, 255, 63, 88, 57, 207, 34, 203, 203, 0, 0, 88, 57, 207, 34, 203, 203, 242, 39, 88, 57, 47, 221, 203, 203, 255, 63, 88, 57, 47, 221, 203, 203, 0, 0, 88, 57, 47, 221, 203, 203, 181, 210, 85, 230, 78, 75, 203, 203, 0, 0, 85, 230, 78, 75, 203, 203, 22, 38, 85, 230, 168, 180, 203, 203, 0, 0, 85, 230, 168, 180, 203, 203, 5, 209, 49, 243, 115, 82, 203, 203, 0, 0, 49, 243, 115, 82, 203, 203, 105, 29, 144, 252, 176, 101, 203, 203, 255, 240, 144, 252, 176, 101, 203, 203, 0, 0, 144, 252, 176, 101, 203, 203, 255, 14, 255, 255, 248, 127, 203, 203, 255, 255, 255, 255, 248, 127, 203, 203, 0, 0, 144, 252, 63, 154, 203, 203, 255, 240, 144, 252, 63, 154, 203, 203, 0, 0, 144, 252, 63, 154, 203, 203, 186, 194, 49, 243, 124, 173, 203, 203, 0, 0, 49, 243, 124, 173, 203, 203, 66, 202, 88, 57, 207, 34, 70, 37, 255, 63, 88, 57, 207, 34, 70, 37, 0, 0, 88, 57, 207, 34, 70, 37, 72, 45, 88, 57, 47, 221, 70, 37, 255, 63, 88, 57, 47, 221, 70, 37, 0, 0, 88, 57, 47, 221, 70, 37, 181, 210, 85, 230, 78, 75, 70, 37, 0, 0, 85, 230, 78, 75, 70, 37, 246, 46, 85, 230, 168, 180, 70, 37, 0, 0, 85, 230, 168, 180, 70, 37, 5, 209, 49, 243, 115, 82, 70, 37, 0, 0, 49, 243, 115, 82, 70, 37, 186, 53, 144, 252, 176, 101, 70, 37, 255, 240, 144, 252, 176, 101, 70, 37, 0, 0, 144, 252, 176, 101, 70, 37, 68, 61, 255, 255, 248, 127, 70, 37, 255, 255, 255, 255, 248, 127, 70, 37, 0, 0, 144, 252, 63, 154, 70, 37, 255, 240, 144, 252, 63, 154, 70, 37, 0, 0, 144, 252, 63, 154, 70, 37, 186, 194, 49, 243, 124, 173, 70, 37, 0, 0, 49, 243, 124, 173, 70, 37, 66, 202, 88, 57, 207, 34, 51, 52, 255, 63, 88, 57, 207, 34, 51, 52, 255, 191, 88, 57, 207, 34, 51, 52, 72, 45, 88, 57, 47, 221, 51, 52, 255, 63, 88, 57, 47, 221, 51, 52, 255, 191, 88, 57, 47, 221, 51, 52, 181, 210, 85, 230, 78, 75, 51, 52, 255, 191, 85, 230, 78, 75, 51, 52, 246, 46, 85, 230, 168, 180, 51, 52, 255, 191, 85, 230, 168, 180, 51, 52, 5, 209, 49, 243, 115, 82, 51, 52, 255, 191, 49, 243, 115, 82, 51, 52, 186, 53, 144, 252, 176, 101, 51, 52, 255, 240, 144, 252, 176, 101, 51, 52, 255, 191, 144, 252, 176, 101, 51, 52, 68, 61, 255, 255, 248, 127, 51, 52, 255, 255, 255, 255, 248, 127, 51, 52, 255, 191, 144, 252, 63, 154, 51, 52, 255, 240, 144, 252, 63, 154, 51, 52, 255, 191, 144, 252, 63, 154, 51, 52, 186, 194, 49, 243, 124, 173, 51, 52, 255, 191, 49, 243, 124, 173, 51, 52, 66, 202, 88, 230, 150, 87, 81, 208, 108, 0, 88, 230, 95, 168, 81, 208, 255, 255, 50, 240, 17, 93, 81, 208, 220, 239, 50, 240, 17, 93, 81, 208, 109, 15, 98, 247, 209, 107, 81, 208, 117, 225, 3, 250, 248, 127, 81, 208, 168, 211, 98, 247, 30, 148, 81, 208, 105, 200, 98, 247, 30, 148, 81, 208, 254, 225, 50, 240, 223, 162, 81, 208, 103, 240, 88, 230, 95, 168, 173, 47, 255, 255, 88, 230, 150, 87, 173, 47, 100, 0, 127, 220, 17, 93, 81, 208, 153, 14, 127, 220, 17, 93, 81, 208, 79, 16, 79, 213, 209, 107, 81, 208, 187, 30, 173, 210, 248, 127, 81, 208, 137, 44, 79, 213, 30, 148, 81, 208, 254, 225, 79, 213, 30, 148, 81, 208, 189, 55, 127, 220, 223, 162, 81, 208, 103, 240, 50, 240, 17, 93, 173, 47, 9, 242, 50, 240, 17, 93, 173, 47, 99, 15, 98, 247, 209, 107, 173, 47, 172, 227, 3, 250, 248, 127, 173, 47, 10, 215, 98, 247, 30, 148, 173, 47, 63, 204, 98, 247, 30, 148, 173, 47, 46, 227, 50, 240, 223, 162, 173, 47, 127, 241, 127, 220, 17, 93, 173, 47, 38, 14, 79, 213, 209, 107, 173, 47, 140, 28, 79, 213, 209, 107, 173, 47, 9, 28, 173, 210, 248, 127, 173, 47, 35, 41, 79, 213, 30, 148, 173, 47, 46, 227, 79, 213, 30, 148, 173, 47, 226, 51, 127, 220, 223, 162, 173, 47, 127, 241, 34, 211, 177, 150, 175, 179, 22, 226, 34, 211, 177, 150, 175, 179, 106, 55, 211, 209, 61, 152, 72, 153, 76, 226, 211, 209, 61, 152, 72, 153, 176, 54, 100, 209, 193, 152, 255, 127, 140, 226, 100, 209, 193, 152, 255, 127, 218, 53, 211, 209, 61, 152, 182, 102, 209, 226, 211, 209, 61, 152, 182, 102, 255, 52, 34, 211, 177, 150, 79, 76, 16, 227, 34, 211, 177, 150, 79, 76, 60, 52, 61, 219, 84, 167, 79, 76, 102, 241, 123, 218, 1, 170, 182, 102, 47, 241, 59, 218, 230, 170, 255, 127, 241, 240, 123, 218, 1, 170, 72, 153, 180, 240, 61, 219, 84, 167, 175, 179, 127, 240, 88, 230, 137, 173, 79, 76, 255, 255, 88, 230, 162, 176, 182, 102, 255, 255, 88, 230, 170, 177, 255, 127, 255, 255, 88, 230, 162, 176, 72, 153, 255, 255, 88, 230, 137, 173, 175, 179, 255, 255, 116, 241, 84, 167, 79, 76, 102, 241, 54, 242, 1, 170, 182, 102, 47, 241, 118, 242, 230, 170, 255, 127, 241, 240, 54, 242, 1, 170, 72, 153, 180, 240, 116, 241, 84, 167, 175, 179, 127, 240, 143, 249, 177, 150, 79, 76, 230, 203, 143, 249, 177, 150, 79, 76, 16, 227, 222, 250, 61, 152, 182, 102, 35, 203, 222, 250, 61, 152, 182, 102, 209, 226, 77, 251, 193, 152, 255, 127, 74, 202, 77, 251, 193, 152, 255, 127, 140, 226, 222, 250, 61, 152, 72, 153, 117, 201, 222, 250, 61, 152, 72, 153, 76, 226, 143, 249, 177, 150, 175, 179, 188, 200, 143, 249, 177, 150, 175, 179, 22, 226, 135, 252, 248, 127, 79, 76, 188, 214, 9, 254, 248, 127, 182, 102, 19, 214, 137, 254, 247, 127, 255, 127, 84, 213, 9, 254, 248, 127, 72, 153, 151, 212, 135, 252, 248, 127, 175, 179, 243, 211, 143, 249, 62, 105, 79, 76, 156, 227, 143, 249, 62, 105, 79, 76, 50, 29, 222, 250, 178, 103, 182, 102, 28, 227, 222, 250, 178, 103, 182, 102, 115, 29, 77, 251, 46, 103, 255, 127, 140, 226, 222, 250, 178, 103, 72, 153, 17, 226, 143, 249, 62, 105, 175, 179, 166, 225, 116, 241, 155, 88, 79, 76, 216, 241, 116, 241, 155, 88, 79, 76, 19, 15, 54, 242, 238, 85, 182, 102, 110, 241, 54, 242, 238, 85, 182, 102, 59, 15, 118, 242, 9, 85, 255, 127, 245, 240, 118, 242, 9, 85, 255, 127, 112, 15, 54, 242, 238, 85, 72, 153, 122, 240, 54, 242, 238, 85, 72, 153, 112, 15, 116, 241, 155, 88, 175, 179, 13, 240, 116, 241, 155, 88, 175, 179, 111, 15, 88, 230, 109, 82, 79, 76, 101, 0, 88, 230, 84, 79, 182, 102, 102, 0, 88, 230, 76, 78, 255, 127, 104, 0, 88, 230, 84, 79, 72, 153, 105, 0, 88, 230, 109, 82, 175, 179, 107, 0, 61, 219, 155, 88, 79, 76, 62, 14, 123, 218, 238, 85, 182, 102, 116, 14, 59, 218, 9, 85, 255, 127, 177, 14, 123, 218, 238, 85, 72, 153, 211, 14, 123, 218, 238, 85, 72, 153, 176, 15, 61, 219, 155, 88, 175, 179, 155, 14, 61, 219, 155, 88, 175, 179, 29, 16, 34, 211, 62, 105, 79, 76, 170, 28, 34, 211, 62, 105, 79, 76, 82, 28, 211, 209, 178, 103, 182, 102, 232, 28, 211, 209, 178, 103, 182, 102, 243, 28, 100, 209, 46, 103, 255, 127, 43, 29, 100, 209, 46, 103, 255, 127, 169, 29, 211, 209, 178, 103, 72, 153, 106, 29, 211, 209, 178, 103, 72, 153, 52, 30, 34, 211, 62, 105, 175, 179, 138, 30, 42, 208, 248, 127, 79, 76, 113, 41, 168, 206, 248, 127, 182, 102, 27, 42, 39, 206, 247, 127, 255, 127, 219, 42, 168, 206, 247, 127, 72, 153, 153, 43, 42, 208, 248, 127, 175, 179, 62, 44, 88, 57, 207, 34, 70, 37, 255, 63, 88, 57, 207, 34, 70, 37, 0, 0, 88, 57, 207, 34, 70, 37, 242, 39, 88, 57, 47, 221, 70, 37, 255, 63, 88, 57, 47, 221, 70, 37, 0, 0, 88, 57, 47, 221, 70, 37, 181, 210, 85, 230, 78, 75, 70, 37, 0, 0, 85, 230, 78, 75, 70, 37, 22, 38, 85, 230, 168, 180, 70, 37, 0, 0, 85, 230, 168, 180, 70, 37, 5, 209, 49, 243, 115, 82, 70, 37, 0, 0, 49, 243, 115, 82, 70, 37, 105, 29, 144, 252, 176, 101, 70, 37, 255, 240, 144, 252, 176, 101, 70, 37, 0, 0, 144, 252, 176, 101, 70, 37, 255, 14, 255, 255, 248, 127, 70, 37, 255, 255, 255, 255, 248, 127, 70, 37, 0, 0, 144, 252, 63, 154, 70, 37, 255, 240, 144, 252, 63, 154, 70, 37, 0, 0, 144, 252, 63, 154, 70, 37, 186, 194, 49, 243, 124, 173, 70, 37, 0, 0, 49, 243, 124, 173, 70, 37, 66, 202, 88, 57, 207, 34, 51, 52, 255, 63, 88, 57, 207, 34, 51, 52, 255, 191, 88, 57, 207, 34, 51, 52, 242, 39, 88, 57, 47, 221, 51, 52, 255, 63, 88, 57, 47, 221, 51, 52, 255, 191, 88, 57, 47, 221, 51, 52, 181, 210, 85, 230, 78, 75, 51, 52, 255, 191, 85, 230, 78, 75, 51, 52, 22, 38, 85, 230, 168, 180, 51, 52, 255, 191, 85, 230, 168, 180, 51, 52, 5, 209, 49, 243, 115, 82, 51, 52, 255, 191, 49, 243, 115, 82, 51, 52, 105, 29, 144, 252, 176, 101, 51, 52, 255, 240, 144, 252, 176, 101, 51, 52, 255, 191, 144, 252, 176, 101, 51, 52, 255, 14, 255, 255, 248, 127, 51, 52, 255, 255, 255, 255, 248, 127, 51, 52, 255, 191, 144, 252, 63, 154, 51, 52, 255, 240, 144, 252, 63, 154, 51, 52, 255, 191, 144, 252, 63, 154, 51, 52, 186, 194, 49, 243, 124, 173, 51, 52, 255, 191, 49, 243, 124, 173, 51, 52, 66, 202, 38, 59, 124, 236, 254, 255, 84, 213, 38, 59, 124, 236, 254, 255, 170, 233, 38, 59, 124, 236, 254, 255, 255, 255, 164, 49, 255, 255, 254, 255, 255, 255, 164, 49, 255, 255, 254, 255, 170, 233, 164, 49, 255, 255, 254, 255, 255, 255, 164, 49, 0, 0, 254, 255, 0, 0, 164, 49, 0, 0, 254, 255, 84, 22, 164, 49, 0, 0, 254, 255, 255, 255, 38, 59, 130, 19, 254, 255, 84, 213, 38, 59, 130, 19, 254, 255, 84, 22, 38, 59, 130, 19, 254, 255, 255, 255, 38, 59, 110, 61, 24, 102, 254, 127, 38, 59, 110, 61, 24, 102, 255, 191, 38, 59, 110, 61, 24, 102, 84, 213, 164, 49, 0, 0, 84, 85, 0, 0, 164, 49, 0, 0, 84, 85, 0, 0, 164, 49, 0, 0, 84, 85, 84, 22, 164, 49, 0, 0, 84, 85, 84, 22, 38, 59, 130, 19, 0, 0, 84, 213, 38, 59, 130, 19, 0, 0, 84, 22, 38, 59, 130, 19, 0, 0, 0, 0, 164, 49, 0, 0, 0, 0, 0, 0, 164, 49, 0, 0, 0, 0, 84, 22, 164, 49, 0, 0, 0, 0, 0, 0, 164, 49, 255, 255, 0, 0, 255, 255, 164, 49, 255, 255, 0, 0, 170, 233, 164, 49, 255, 255, 0, 0, 0, 0, 38, 59, 124, 236, 0, 0, 84, 213, 38, 59, 124, 236, 0, 0, 170, 233, 38, 59, 124, 236, 0, 0, 0, 0, 164, 49, 0, 0, 169, 170, 0, 0, 164, 49, 0, 0, 169, 170, 0, 0, 164, 49, 0, 0, 169, 170, 84, 22, 164, 49, 0, 0, 169, 170, 84, 22, 38, 59, 110, 61, 230, 153, 255, 255, 38, 59, 110, 61, 230, 153, 255, 191, 38, 59, 110, 61, 230, 153, 84, 213, 38, 59, 144, 194, 230, 153, 255, 191, 38, 59, 144, 194, 230, 153, 255, 255, 38, 59, 144, 194, 230, 153, 84, 213, 164, 49, 255, 255, 169, 170, 255, 255, 164, 49, 255, 255, 169, 170, 255, 255, 164, 49, 255, 255, 169, 170, 170, 233, 164, 49, 255, 255, 169, 170, 170, 233, 164, 49, 255, 255, 84, 85, 255, 255, 164, 49, 255, 255, 84, 85, 255, 255, 164, 49, 255, 255, 84, 85, 170, 233, 164, 49, 255, 255, 84, 85, 170, 233, 38, 59, 144, 194, 24, 102, 255, 191, 38, 59, 144, 194, 24, 102, 254, 127, 38, 59, 144, 194, 24, 102, 84, 213, 38, 59, 124, 236, 169, 170, 84, 213, 38, 59, 124, 236, 169, 170, 84, 213, 38, 59, 124, 236, 169, 170, 170, 233, 38, 59, 124, 236, 169, 170, 170, 233, 38, 59, 124, 236, 84, 85, 84, 213, 38, 59, 124, 236, 84, 85, 84, 213, 38, 59, 124, 236, 84, 85, 170, 233, 38, 59, 124, 236, 84, 85, 170, 233, 38, 59, 130, 19, 84, 85, 84, 213, 38, 59, 130, 19, 84, 85, 84, 213, 38, 59, 130, 19, 84, 85, 84, 22, 38, 59, 130, 19, 84, 85, 84, 22, 38, 59, 130, 19, 169, 170, 84, 213, 38, 59, 130, 19, 169, 170, 84, 213, 38, 59, 130, 19, 169, 170, 84, 22, 38, 59, 130, 19, 169, 170, 84, 22, 142, 52, 144, 194, 230, 153, 255, 191, 142, 52, 144, 194, 230, 153, 255, 255, 142, 52, 144, 194, 230, 153, 84, 213, 142, 52, 144, 194, 24, 102, 255, 191, 142, 52, 144, 194, 24, 102, 254, 127, 142, 52, 144, 194, 24, 102, 84, 213, 142, 52, 110, 61, 24, 102, 254, 127, 142, 52, 110, 61, 24, 102, 255, 191, 142, 52, 110, 61, 24, 102, 84, 213, 142, 52, 110, 61, 230, 153, 255, 255, 142, 52, 110, 61, 230, 153, 255, 191, 142, 52, 110, 61, 230, 153, 84, 213, 38, 59, 189, 202, 139, 152, 255, 207, 38, 59, 189, 202, 139, 152, 84, 213, 38, 59, 189, 202, 115, 103, 255, 79, 38, 59, 189, 202, 115, 103, 84, 213, 38, 59, 79, 228, 57, 93, 255, 191, 38, 59, 79, 228, 57, 93, 255, 95, 38, 59, 79, 228, 57, 93, 84, 213, 38, 59, 79, 228, 197, 162, 255, 191, 38, 59, 79, 228, 197, 162, 255, 223, 38, 59, 79, 228, 197, 162, 84, 213, 38, 59, 65, 53, 115, 103, 255, 79, 38, 59, 65, 53, 115, 103, 84, 213, 38, 59, 65, 53, 139, 152, 255, 207, 38, 59, 65, 53, 139, 152, 84, 213, 38, 59, 175, 27, 197, 162, 255, 223, 38, 59, 175, 27, 197, 162, 255, 191, 38, 59, 175, 27, 197, 162, 84, 213, 38, 59, 175, 27, 57, 93, 255, 95, 38, 59, 175, 27, 57, 93, 255, 191, 38, 59, 175, 27, 57, 93, 84, 213, 38, 59, 209, 64, 43, 157, 255, 111, 38, 59, 209, 64, 43, 157, 84, 213, 38, 59, 45, 191, 43, 157, 255, 111, 38, 59, 45, 191, 43, 157, 84, 213, 38, 59, 191, 216, 100, 167, 255, 95, 38, 59, 191, 216, 100, 167, 255, 255, 38, 59, 191, 216, 100, 167, 84, 213, 38, 59, 63, 39, 100, 167, 255, 255, 38, 59, 63, 39, 100, 167, 255, 95, 38, 59, 63, 39, 100, 167, 84, 213, 38, 59, 45, 191, 211, 98, 255, 239, 38, 59, 45, 191, 211, 98, 84, 213, 38, 59, 209, 64, 211, 98, 255, 239, 38, 59, 209, 64, 211, 98, 84, 213, 38, 59, 63, 39, 153, 88, 254, 127, 38, 59, 63, 39, 153, 88, 255, 223, 38, 59, 63, 39, 153, 88, 84, 213, 38, 59, 191, 216, 153, 88, 255, 223, 38, 59, 191, 216, 153, 88, 254, 127, 38, 59, 191, 216, 153, 88, 84, 213, 12, 56, 189, 202, 139, 152, 255, 207, 12, 56, 189, 202, 139, 152, 84, 213, 12, 56, 189, 202, 115, 103, 255, 79, 12, 56, 189, 202, 115, 103, 84, 213, 12, 56, 79, 228, 197, 162, 255, 191, 12, 56, 79, 228, 197, 162, 255, 223, 12, 56, 79, 228, 197, 162, 84, 213, 12, 56, 79, 228, 57, 93, 255, 191, 12, 56, 79, 228, 57, 93, 255, 95, 12, 56, 79, 228, 57, 93, 84, 213, 12, 56, 65, 53, 115, 103, 255, 79, 12, 56, 65, 53, 115, 103, 84, 213, 12, 56, 65, 53, 139, 152, 255, 207, 12, 56, 65, 53, 139, 152, 84, 213, 12, 56, 175, 27, 57, 93, 255, 95, 12, 56, 175, 27, 57, 93, 255, 191, 12, 56, 175, 27, 57, 93, 84, 213, 12, 56, 175, 27, 197, 162, 255, 223, 12, 56, 175, 27, 197, 162, 255, 191, 12, 56, 175, 27, 197, 162, 84, 213, 12, 56, 209, 64, 43, 157, 255, 111, 12, 56, 209, 64, 43, 157, 84, 213, 12, 56, 45, 191, 43, 157, 255, 111, 12, 56, 45, 191, 43, 157, 84, 213, 12, 56, 63, 39, 100, 167, 255, 255, 12, 56, 63, 39, 100, 167, 255, 95, 12, 56, 63, 39, 100, 167, 84, 213, 12, 56, 191, 216, 100, 167, 255, 95, 12, 56, 191, 216, 100, 167, 255, 255, 12, 56, 191, 216, 100, 167, 84, 213, 12, 56, 45, 191, 211, 98, 255, 239, 12, 56, 45, 191, 211, 98, 84, 213, 12, 56, 209, 64, 211, 98, 255, 239, 12, 56, 209, 64, 211, 98, 84, 213, 12, 56, 191, 216, 153, 88, 255, 223, 12, 56, 191, 216, 153, 88, 254, 127, 12, 56, 191, 216, 153, 88, 84, 213, 12, 56, 63, 39, 153, 88, 254, 127, 12, 56, 63, 39, 153, 88, 255, 223, 12, 56, 63, 39, 153, 88, 84, 213, 144, 252, 176, 101, 184, 218, 46, 26, 144, 252, 176, 101, 203, 203, 235, 26, 144, 252, 63, 154, 203, 203, 242, 198, 88, 230, 150, 87, 173, 47, 0, 0, 98, 247, 209, 107, 173, 47, 62, 226, 3, 250, 248, 127, 173, 47, 194, 213, 127, 220, 17, 93, 173, 47, 224, 14, 116, 241, 155, 88, 79, 76, 172, 241, 34, 211, 62, 105, 79, 76, 174, 29, 164, 49, 255, 255, 254, 255, 255, 255, 164, 49, 0, 0, 254, 255, 0, 0, 164, 49, 0, 0, 0, 0, 0, 0, 164, 49, 255, 255, 0, 0, 255, 255, 38, 59, 189, 202, 139, 152, 255, 191, 38, 59, 79, 228, 197, 162, 255, 191, 38, 59, 79, 228, 197, 162, 102, 209, 38, 59, 65, 53, 115, 103, 255, 63, 38, 59, 175, 27, 197, 162, 255, 255, 38, 59, 175, 27, 57, 93, 255, 63, 38, 59, 209, 64, 43, 157, 255, 63, 38, 59, 191, 216, 100, 167, 255, 63, 38, 59, 63, 39, 100, 167, 255, 63, 38, 59, 63, 39, 100, 167, 164, 111, 38, 59, 45, 191, 211, 98, 255, 191, 38, 59, 63, 39, 153, 88, 255, 191, 38, 59, 191, 216, 153, 88, 255, 191, 38, 59, 191, 216, 153, 88, 47, 237, 12, 56, 189, 202, 115, 103, 255, 63, 12, 56, 189, 202, 115, 103, 131, 51, 12, 56, 79, 228, 197, 162, 204, 208, 12, 56, 65, 53, 139, 152, 255, 191, 12, 56, 65, 53, 139, 152, 205, 179, 12, 56, 175, 27, 57, 93, 115, 79, 12, 56, 175, 27, 197, 162, 255, 255, 12, 56, 45, 191, 43, 157, 255, 63, 12, 56, 45, 191, 43, 157, 68, 117, 12, 56, 63, 39, 100, 167, 62, 110, 12, 56, 191, 216, 100, 167, 255, 63, 12, 56, 209, 64, 211, 98, 255, 191, 12, 56, 209, 64, 211, 98, 51, 244, 12, 56, 191, 216, 153, 88, 54, 241, 12, 56, 63, 39, 153, 88, 255, 191, 255, 127, 255, 63, 255, 127, 255, 255, 255, 127, 255, 127, 255, 127, 255, 63, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 127, 255, 127, 255, 63, 255, 127, 255, 63, 255, 127, 255, 255, 255, 127, 255, 127, 255, 127, 255, 63, 255, 127, 255, 63, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 254, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 127, 255, 127, 255, 63, 255, 127, 255, 255, 255, 127, 255, 127, 255, 127, 255, 63, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 255, 126, 39, 190, 211, 255, 127, 255, 255, 255, 255, 255, 255, 8, 210, 4, 41, 255, 255, 255, 255, 112, 37, 183, 210, 255, 255, 255, 255, 190, 207, 223, 39, 255, 255, 255, 255, 163, 28, 81, 206, 255, 255, 255, 255, 31, 15, 142, 199, 31, 15, 142, 199, 255, 255, 255, 255, 255, 191, 255, 127, 255, 255, 255, 255, 111, 184, 30, 143, 168, 172, 84, 22, 255, 255, 255, 255, 134, 196, 67, 34, 255, 127, 255, 255, 255, 191, 255, 191, 126, 39, 190, 211, 255, 127, 255, 255, 255, 191, 255, 191, 8, 210, 4, 41, 255, 191, 255, 191, 112, 37, 183, 210, 255, 191, 255, 191, 190, 207, 223, 39, 255, 191, 255, 191, 163, 28, 81, 206, 31, 15, 142, 199, 255, 191, 255, 191, 31, 15, 142, 199, 255, 191, 255, 127, 255, 191, 255, 191, 111, 184, 30, 143, 255, 191, 255, 191, 168, 172, 84, 22, 255, 191, 255, 191, 134, 196, 67, 34, 255, 127, 255, 255, 255, 191, 255, 191, 250, 86, 9, 82, 255, 127, 255, 255, 255, 191, 255, 191, 8, 210, 4, 41, 255, 191, 255, 191, 29, 88, 195, 79, 255, 191, 255, 191, 190, 207, 223, 39, 255, 191, 255, 191, 185, 93, 139, 68, 31, 15, 142, 199, 255, 191, 255, 191, 170, 105, 169, 44, 255, 191, 255, 127, 255, 191, 255, 191, 111, 184, 30, 143, 255, 191, 255, 191, 168, 172, 84, 22, 255, 191, 255, 191, 134, 196, 67, 34, 255, 127, 255, 255, 255, 255, 255, 255, 250, 86, 9, 82, 255, 127, 255, 255, 255, 255, 255, 255, 8, 210, 4, 41, 255, 255, 255, 255, 29, 88, 195, 79, 255, 255, 255, 255, 190, 207, 223, 39, 255, 255, 255, 255, 185, 93, 139, 68, 31, 15, 142, 199, 255, 255, 255, 255, 170, 105, 169, 44, 255, 191, 255, 127, 255, 255, 255, 255, 111, 184, 30, 143, 255, 255, 255, 255, 168, 172, 84, 22, 255, 255, 255, 255, 134, 196, 67, 34, 144, 127, 131, 66, 255, 127, 177, 189, 54, 142, 1, 73, 203, 142, 120, 73, 221, 155, 187, 79, 160, 169, 94, 86, 101, 186, 7, 95, 208, 47, 57, 28, 157, 54, 177, 14, 255, 127, 77, 194, 135, 127, 240, 61, 2, 202, 133, 240, 227, 200, 237, 241, 144, 207, 67, 228, 34, 214, 121, 214, 198, 99, 208, 175, 191, 222, 170, 197, 78, 113, 157, 182, 32, 144, 50, 70, 199, 142, 25, 69, 118, 157, 245, 76, 172, 171, 82, 84, 84, 188, 98, 92, 130, 51, 21, 29, 48, 58, 167, 15, 13, 198, 11, 240, 189, 204, 180, 226, 58, 205, 79, 226, 21, 212, 112, 212, 234, 98, 130, 179, 25, 220, 190, 195, 88, 112, 48, 186, 177, 99, 35, 176, 131, 222, 123, 197, 132, 99, 218, 176, 0, 222, 24, 197, 83, 99, 169, 177, 107, 221, 170, 196, 36, 99, 120, 178, 215, 220, 65, 196, 252, 98, 46, 179, 85, 220, 231, 195, 109, 112, 224, 185, 157, 112, 48, 185, 210, 112, 104, 184, 8, 113, 160, 183, 56, 113, 238, 182, 255, 127, 229, 193, 255, 127, 1, 193, 255, 127, 255, 191, 255, 127, 252, 190, 255, 127, 25, 190, 225, 57, 145, 15, 49, 57, 98, 15, 105, 56, 44, 15, 160, 55, 246, 14, 239, 54, 198, 14, 44, 188, 157, 92, 47, 51, 3, 29, 209, 187, 31, 93, 120, 50, 219, 28, 102, 187, 179, 93, 169, 49, 172, 28, 248, 186, 71, 94, 218, 48, 123, 28, 147, 186, 203, 94, 36, 48, 78, 28, 127, 171, 127, 84, 28, 171, 226, 84, 169, 170, 84, 85, 54, 170, 200, 85, 208, 169, 46, 86, 110, 157, 84, 77, 206, 156, 142, 76, 19, 157, 204, 77, 166, 156, 70, 77, 171, 156, 85, 78, 81, 156, 241, 78, 1, 156, 124, 79, 244, 143, 111, 70, 23, 143, 188, 69, 148, 143, 247, 70, 248, 142, 122, 70, 40, 143, 148, 71, 206, 142, 75, 71, 189, 142, 50, 72, 206, 142, 64, 72, 96, 142, 192, 72, 205, 142, 22, 73, 136, 127, 87, 62, 138, 127, 57, 63, 140, 127, 57, 64, 141, 127, 57, 65, 143, 127, 27, 66, 92, 198, 33, 240, 11, 199, 81, 240, 210, 199, 136, 240, 171, 200, 169, 240, 20, 200, 102, 241, 161, 201, 131, 240, 161, 200, 195, 241, 16, 205, 199, 226, 99, 205, 132, 226, 198, 205, 239, 226, 188, 205, 247, 226, 148, 206, 31, 227, 35, 206, 123, 227, 99, 207, 81, 227, 178, 206, 222, 227, 81, 207, 30, 228, 66, 212, 157, 212, 166, 212, 0, 213, 25, 213, 114, 213, 140, 213, 228, 213, 243, 213, 75, 214, 255, 127, 255, 255, 255, 191, 255, 191, 126, 39, 190, 211, 255, 127, 255, 255, 255, 191, 255, 191, 8, 210, 4, 41, 255, 191, 255, 191, 112, 37, 183, 210, 255, 191, 255, 191, 190, 207, 223, 39, 255, 191, 255, 191, 163, 28, 81, 206, 31, 15, 142, 199, 255, 191, 255, 191, 31, 15, 142, 199, 255, 191, 255, 127, 255, 191, 255, 191, 111, 184, 30, 143, 255, 191, 255, 191, 168, 172, 84, 22, 255, 191, 255, 191, 134, 196, 67, 34, 255, 127, 255, 255, 255, 255, 255, 255, 126, 39, 190, 211, 255, 127, 255, 255, 255, 255, 255, 255, 8, 210, 4, 41, 255, 255, 255, 255, 112, 37, 183, 210, 255, 255, 255, 255, 190, 207, 223, 39, 255, 255, 255, 255, 163, 28, 81, 206, 31, 15, 142, 199, 255, 255, 255, 255, 31, 15, 142, 199, 255, 191, 255, 127, 255, 255, 255, 255, 111, 184, 30, 143, 255, 255, 255, 255, 168, 172, 84, 22, 255, 255, 255, 255, 134, 196, 67, 34, 170, 170, 85, 85, 4, 53, 246, 21, 255, 127, 255, 127, 255, 127, 255, 191, 4, 53, 246, 21, 255, 127, 255, 127, 255, 127, 255, 63, 245, 149, 250, 74, 255, 127, 255, 127, 170, 170, 85, 85, 245, 149, 250, 74, 255, 127, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 170, 170, 85, 85, 255, 127, 255, 63, 255, 127, 255, 63, 245, 149, 250, 74, 245, 149, 250, 74, 170, 170, 84, 85, 245, 149, 250, 74, 255, 127, 254, 255, 255, 127, 255, 63, 245, 149, 250, 74, 255, 127, 254, 255, 255, 127, 255, 191, 4, 53, 246, 21, 255, 127, 255, 255, 170, 170, 84, 85, 4, 53, 246, 21, 255, 127, 254, 255, 255, 127, 255, 63, 255, 127, 255, 63, 245, 149, 250, 74, 245, 149, 250, 74, 255, 255, 255, 127, 255, 255, 255, 127, 169, 170, 84, 85, 0, 0, 255, 127, 255, 255, 255, 127, 170, 170, 85, 85, 255, 127, 255, 191, 255, 127, 255, 191, 4, 53, 246, 21, 4, 53, 246, 21, 255, 127, 255, 191, 255, 127, 255, 191, 4, 53, 246, 21, 4, 53, 246, 21, 0, 0, 255, 127, 255, 127, 255, 255, 169, 170, 84, 85, 169, 170, 84, 85, 170, 170, 84, 85, 4, 53, 246, 21, 4, 53, 246, 21, 170, 170, 84, 85, 169, 170, 84, 85, 4, 53, 246, 21, 4, 53, 246, 21, 170, 170, 84, 85, 170, 170, 85, 85, 245, 149, 250, 74, 245, 149, 250, 74, 170, 170, 84, 85, 170, 170, 85, 85, 245, 149, 250, 74, 245, 149, 250, 74, 0, 0, 255, 127, 255, 255, 255, 127, 170, 170, 85, 85, 0, 0, 255, 127, 255, 127, 255, 255, 170, 170, 85, 85, 255, 127, 255, 255, 255, 255, 255, 127, 170, 170, 85, 85, 255, 255, 255, 127, 255, 255, 255, 127, 170, 170, 84, 85, 255, 255, 255, 127, 170, 170, 85, 85, 255, 255, 255, 127, 169, 170, 84, 85, 0, 0, 255, 127, 255, 255, 255, 127, 169, 170, 84, 85, 0, 0, 255, 127, 255, 255, 255, 127, 170, 170, 85, 85, 0, 0, 255, 127, 170, 170, 85, 85, 0, 0, 255, 127, 169, 170, 84, 85, 0, 0, 255, 127, 255, 255, 255, 127, 170, 170, 85, 85, 0, 0, 255, 127, 255, 255, 255, 127, 169, 170, 84, 85, 255, 255, 255, 127, 170, 170, 85, 85, 0, 0, 255, 127, 170, 170, 84, 85, 0, 0, 255, 127, 255, 255, 255, 127, 169, 170, 84, 85, 255, 255, 255, 127, 255, 255, 255, 127, 169, 170, 84, 85, 0, 0, 255, 127, 170, 170, 85, 85, 255, 255, 255, 127, 170, 170, 85, 85, 255, 127, 255, 255, 255, 255, 255, 127, 170, 170, 85, 85, 0, 0, 255, 127, 255, 127, 255, 255, 169, 170, 84, 85, 255, 255, 255, 127, 170, 170, 85, 85, 255, 255, 255, 127, 169, 170, 84, 85, 0, 0, 255, 127, 255, 255, 255, 127, 170, 170, 85, 85, 0, 0, 255, 127, 255, 255, 255, 127, 169, 170, 84, 85, 0, 0, 255, 127, 169, 170, 84, 85, 0, 0, 255, 127, 169, 170, 84, 85, 0, 0, 255, 127, 255, 255, 255, 127, 169, 170, 84, 85, 0, 0, 255, 127, 255, 255, 255, 127, 169, 170, 84, 85, 255, 255, 255, 127, 170, 170, 85, 85, 0, 0, 255, 127, 170, 170, 84, 85, 255, 255, 255, 127, 255, 255, 255, 127, 170, 170, 85, 85, 0, 0, 255, 127, 255, 255, 255, 127, 170, 170, 85, 85, 0, 0, 255, 127, 170, 170, 84, 85, 255, 255, 255, 127, 170, 170, 84, 85, 0, 0, 255, 127, 255, 127, 255, 255, 170, 170, 84, 85, 255, 127, 255, 255, 255, 255, 255, 127, 170, 170, 84, 85, 96, 25, 175, 204, 34, 25, 148, 204, 100, 190, 48, 31, 223, 146, 48, 233, 248, 151, 239, 78, 177, 168, 3, 84, 172, 197, 117, 235, 162, 156, 229, 67, 37, 211, 78, 242, 141, 109, 113, 18, 59, 149, 60, 21, 59, 149, 60, 21, 174, 100, 81, 27, 255, 127, 0, 0, 255, 127, 0, 0, 255, 255, 255, 127, 255, 127, 0, 0, 255, 255, 255, 127, 255, 127, 0, 0, 255, 127, 0, 0, 0, 0, 255, 127, 255, 127, 0, 0, 255, 255, 255, 127, 255, 127, 0, 0, 255, 255, 255, 127, 255, 127, 0, 0, 0, 0, 255, 127, 255, 127, 0, 0, 255, 255, 255, 127, 255, 255, 255, 127, 255, 127, 0, 0, 0, 0, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 127, 0, 0, 255, 255, 255, 127, 255, 255, 255, 127, 0, 0, 255, 127, 255, 127, 0, 0, 0, 0, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127) +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_4gkg7") + +[sub_resource type="Resource" id="Resource_1opo5"] +script = ExtResource("18_ckc72") +open_pose = ExtResource("17_tmbkl") +closed_pose = ExtResource("17_tmbkl") + +[sub_resource type="Resource" id="Resource_5w8g7"] +script = ExtResource("18_ckc72") +open_pose = ExtResource("20_n6bud") +closed_pose = ExtResource("20_n6bud") + +[sub_resource type="CylinderShape3D" id="CylinderShape3D_is1yw"] +height = 0.145402 +radius = 0.018 + +[sub_resource type="BoxShape3D" id="BoxShape3D_r0s1w"] +size = Vector3(0.0628052, 0.0129852, 0.266632) + +[sub_resource type="BoxShape3D" id="BoxShape3D_6v4j5"] +size = Vector3(0.0894318, 0.0476303, 0.227242) + +[node name="Hall - DoorBody - Texture" instance=ExtResource("1_cu6by")] +script = ExtResource("2_6f56y") [node name="BlastDoor_003" parent="." index="0"] transform = Transform3D(-2, 0, -3.01992e-07, 0, 2, 0, 3.01992e-07, 0, -2, 0, 0, 0) -material_override = ExtResource("2_dmewy") +material_override = ExtResource("2_nbjjk") [node name="StaticBody3D - DoorBody" type="StaticBody3D" parent="BlastDoor_003" index="0"] transform = Transform3D(-1, 0, 1.50996e-07, 0, 1, 0, -1.50996e-07, 0, -1, 0, 0, 0) [node name="CollisionShape3D" type="CollisionShape3D" parent="BlastDoor_003/StaticBody3D - DoorBody" index="0"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0484625, 1.01951, -0.00266647) -shape = SubResource("BoxShape3D_r278o") +shape = SubResource("BoxShape3D_jn6hd") [node name="CollisionShape3D2" type="CollisionShape3D" parent="BlastDoor_003/StaticBody3D - DoorBody" index="1"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0469366, -1.01194, 0.00019455) -shape = SubResource("BoxShape3D_2ljdi") +shape = SubResource("BoxShape3D_ytohg") [node name="CollisionShape3D3" type="CollisionShape3D" parent="BlastDoor_003/StaticBody3D - DoorBody" index="2"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0.0482887, 0.00927573, 1.517) -shape = SubResource("BoxShape3D_j26ic") +shape = SubResource("BoxShape3D_v2krq") [node name="CollisionShape3D4" type="CollisionShape3D" parent="BlastDoor_003/StaticBody3D - DoorBody" index="3"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0.0482887, 0.00750571, -1.517) -shape = SubResource("BoxShape3D_hdfka") +shape = SubResource("BoxShape3D_hnj36") [node name="CollisionShape3D5" type="CollisionShape3D" parent="BlastDoor_003/StaticBody3D - DoorBody" index="4"] transform = Transform3D(1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, 0.048777, 0.851672, 1.34688) -shape = SubResource("BoxShape3D_asgfl") +shape = SubResource("BoxShape3D_c6q6a") [node name="CollisionShape3D6" type="CollisionShape3D" parent="BlastDoor_003/StaticBody3D - DoorBody" index="5"] transform = Transform3D(1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, 0.0476173, -0.840047, -1.34781) -shape = SubResource("BoxShape3D_7o3kq") +shape = SubResource("BoxShape3D_ko22k") [node name="CollisionShape3D7" type="CollisionShape3D" parent="BlastDoor_003/StaticBody3D - DoorBody" index="6"] transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.0466407, 0.849433, -1.34912) -shape = SubResource("BoxShape3D_bos66") +shape = SubResource("BoxShape3D_awmtm") [node name="CollisionShape3D8" type="CollisionShape3D" parent="BlastDoor_003/StaticBody3D - DoorBody" index="7"] transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.0463966, -0.845814, 1.34355) -shape = SubResource("BoxShape3D_734lp") +shape = SubResource("BoxShape3D_ced0x") [node name="DoorLeft" type="MeshInstance3D" parent="." index="1"] transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 4, 0, 0) -material_override = ExtResource("3_sfcvc") -mesh = SubResource("ArrayMesh_8dta4") +material_override = ExtResource("3_07uo1") +mesh = SubResource("ArrayMesh_kjueo") skeleton = NodePath("") [node name="StaticBody3D - Left" type="StaticBody3D" parent="DoorLeft" index="0"] @@ -192,24 +355,29 @@ transform = Transform3D(-1, 0, 1.50996e-07, 0, 1, 0, -1.50996e-07, 0, -1, 0, 0, [node name="CollisionShape3D" type="CollisionShape3D" parent="DoorLeft/StaticBody3D - Left" index="0"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.998673, 0.00646377, 1.01349) -shape = SubResource("BoxShape3D_ejldb") +shape = SubResource("BoxShape3D_3x1tk") [node name="CollisionShape3D2" type="CollisionShape3D" parent="DoorLeft/StaticBody3D - Left" index="1"] transform = Transform3D(1, -4.69184e-08, -7.47437e-09, 4.69184e-08, 0.950499, 0.310726, -7.47438e-09, -0.310726, 0.950499, 0.998673, 0.619024, 0.483001) -shape = SubResource("BoxShape3D_u0wye") +shape = SubResource("BoxShape3D_hsstx") [node name="CollisionShape3D4" type="CollisionShape3D" parent="DoorLeft/StaticBody3D - Left" index="2"] transform = Transform3D(1, -4.69184e-08, -7.47437e-09, 4.69184e-08, 0.950499, 0.310726, -7.47438e-09, -0.310726, 0.950499, 0.998673, -0.658757, 0.138977) -shape = SubResource("BoxShape3D_vojf2") +shape = SubResource("BoxShape3D_bjv8r") [node name="CollisionShape3D3" type="CollisionShape3D" parent="DoorLeft/StaticBody3D - Left" index="3"] transform = Transform3D(1, 1.06266e-07, -4.37237e-08, -1.06266e-07, 0.710431, -0.703767, -4.37237e-08, 0.703767, 0.710431, 0.998673, -0.200989, 0.203253) -shape = SubResource("BoxShape3D_qvcmg") +shape = SubResource("BoxShape3D_fqw4k") + +[node name="AnimationPlayerLeft" type="AnimationPlayer" parent="DoorLeft" index="1"] +libraries = { +"": SubResource("AnimationLibrary_kmuva") +} [node name="DoorRight" type="MeshInstance3D" parent="." index="2"] transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 4, 0, 0) -material_override = ExtResource("3_sfcvc") -mesh = SubResource("ArrayMesh_0htfk") +material_override = ExtResource("3_07uo1") +mesh = SubResource("ArrayMesh_kvtko") skeleton = NodePath("") [node name="StaticBody3D - Right" type="StaticBody3D" parent="DoorRight" index="0"] @@ -217,16 +385,102 @@ transform = Transform3D(-1, 0, 1.50996e-07, 0, 1, 0, -1.50996e-07, 0, -1, 0, 0, [node name="CollisionShape3D" type="CollisionShape3D" parent="DoorRight/StaticBody3D - Right" index="0"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.998672, 0.00646377, -1.01952) -shape = SubResource("BoxShape3D_jetsn") +shape = SubResource("BoxShape3D_m2pgt") [node name="CollisionShape3D2" type="CollisionShape3D" parent="DoorRight/StaticBody3D - Right" index="1"] transform = Transform3D(1, -4.69184e-08, -7.47437e-09, 4.69184e-08, 0.950499, 0.310726, -7.47438e-09, -0.310726, 0.950499, 0.998673, 0.708819, -0.157275) -shape = SubResource("BoxShape3D_qogjv") +shape = SubResource("BoxShape3D_6spu2") [node name="CollisionShape3D4" type="CollisionShape3D" parent="DoorRight/StaticBody3D - Right" index="2"] transform = Transform3D(1, -4.69184e-08, -7.47437e-09, 4.69184e-08, 0.950499, 0.310726, -7.47438e-09, -0.310726, 0.950499, 0.998673, -0.658757, -0.473921) -shape = SubResource("BoxShape3D_j6v6e") +shape = SubResource("BoxShape3D_t3w31") [node name="CollisionShape3D3" type="CollisionShape3D" parent="DoorRight/StaticBody3D - Right" index="3"] transform = Transform3D(1, 1.06266e-07, -4.37237e-08, -1.06266e-07, 0.710431, -0.703767, -4.37237e-08, 0.703767, 0.710431, 0.998673, 0.207203, -0.20876) -shape = SubResource("BoxShape3D_1xyrr") +shape = SubResource("BoxShape3D_tjkkx") + +[node name="AnimationPlayerRight" type="AnimationPlayer" parent="DoorRight" index="1"] +libraries = { +"": SubResource("AnimationLibrary_3a1iu") +} + +[node name="SliderSmooth" type="Node3D" parent="." index="3"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.08142, -0.231027, -2.74065) + +[node name="Frame" type="StaticBody3D" parent="SliderSmooth" index="0"] + +[node name="MeshInstance3D" type="MeshInstance3D" parent="SliderSmooth/Frame" index="0"] +transform = Transform3D(-6.77527e-09, 0, -0.155, 0, 0.155, 0, 0.155, 0, -6.77527e-09, 0, 0, 0.00799423) +material_override = ExtResource("7_ojh8n") +mesh = SubResource("ArrayMesh_hq5q4") +skeleton = NodePath("") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="SliderSmooth/Frame" index="1"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.000251703, 0.000114414, -0.100861) +shape = SubResource("BoxShape3D_iggvr") + +[node name="SliderOrigin" type="Node3D" parent="SliderSmooth" index="1"] +transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0) + +[node name="XRToolsInteractableSlider" type="Node3D" parent="SliderSmooth/SliderOrigin" index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, 0, 0) +script = ExtResource("11_vr8ds") +slider_limit_max = 0.4 +slider_position = 0.4 +default_position = 0.2 + +[node name="SliderBody" type="StaticBody3D" parent="SliderSmooth/SliderOrigin/XRToolsInteractableSlider" index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00387768, -1.69485e-10, 0) + +[node name="HandleMesh" type="MeshInstance3D" parent="SliderSmooth/SliderOrigin/XRToolsInteractableSlider/SliderBody" index="0"] +transform = Transform3D(1.77636e-15, 0.155, 1.35505e-08, 4.44089e-16, -1.35505e-08, 0.155, 0.155, -8.88178e-16, -1.47933e-16, 0.0145681, -6.3679e-10, 0.008) +material_override = ExtResource("12_bpglw") +mesh = SubResource("ArrayMesh_7e5qf") +skeleton = NodePath("") + +[node name="GrabPointHandLeft" parent="SliderSmooth/SliderOrigin/XRToolsInteractableSlider/SliderBody/HandleMesh" index="0" instance=ExtResource("16_orqqc")] +transform = Transform3D(-4.30508, -1.72724e-07, 4.80517, -4.80517, -2.09614e-07, -4.30508, 2.71377e-07, -6.45161, 1.12297e-08, 0.998812, -1.07093, -0.317297) +hand_pose = SubResource("Resource_1opo5") + +[node name="GrabPointHandRight" parent="SliderSmooth/SliderOrigin/XRToolsInteractableSlider/SliderBody/HandleMesh" index="1" instance=ExtResource("19_2cif2")] +transform = Transform3D(4.30508, -2.03638e-07, 4.80517, 4.80517, -2.10464e-07, -4.30508, 2.92639e-07, 6.45161, 1.12291e-08, 0.998812, -1.07093, 0.330036) +hand_pose = SubResource("Resource_5w8g7") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="SliderSmooth/SliderOrigin/XRToolsInteractableSlider/SliderBody" index="1"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.203628, 8.90086e-09, 0.210474) +shape = SubResource("CylinderShape3D_is1yw") + +[node name="CollisionShape3D2" type="CollisionShape3D" parent="SliderSmooth/SliderOrigin/XRToolsInteractableSlider/SliderBody" index="2"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.20372, 0.0725479, 0.0977268) +shape = SubResource("BoxShape3D_r0s1w") + +[node name="CollisionShape3D3" type="CollisionShape3D" parent="SliderSmooth/SliderOrigin/XRToolsInteractableSlider/SliderBody" index="3"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.204, -0.073, 0.098) +shape = SubResource("BoxShape3D_r0s1w") + +[node name="CollisionShape3D4" type="CollisionShape3D" parent="SliderSmooth/SliderOrigin/XRToolsInteractableSlider/SliderBody" index="4"] +transform = Transform3D(1, -4.37114e-08, 4.37114e-08, -4.37114e-08, -4.37114e-08, 1, -4.37114e-08, -1, -4.37114e-08, -0.203794, -0.000461581, 0.0658309) +shape = SubResource("BoxShape3D_6v4j5") + +[node name="HandleOrigin" type="Node3D" parent="SliderSmooth/SliderOrigin/XRToolsInteractableSlider" index="1"] + +[node name="XRToolsInteractableHandle" type="RigidBody3D" parent="SliderSmooth/SliderOrigin/XRToolsInteractableSlider/HandleOrigin" index="0"] +collision_layer = 262144 +collision_mask = 0 +freeze = true +script = ExtResource("21_o6jr7") +picked_up_layer = 0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="SliderSmooth/SliderOrigin/XRToolsInteractableSlider/HandleOrigin/XRToolsInteractableHandle" index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.203628, 8.90086e-09, 0.210474) +shape = SubResource("CylinderShape3D_is1yw") + +[node name="XRToolsGrabPointRedirectLeft" type="Marker3D" parent="SliderSmooth/SliderOrigin/XRToolsInteractableSlider/HandleOrigin/XRToolsInteractableHandle/CollisionShape3D" index="0" node_paths=PackedStringArray("target")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00358, 9.93204e-09, -0.00969601) +script = ExtResource("22_0sl46") +target = NodePath("../../../../SliderBody/HandleMesh/GrabPointHandLeft") + +[node name="XRToolsGrabPointRedirectRight" type="Marker3D" parent="SliderSmooth/SliderOrigin/XRToolsInteractableSlider/HandleOrigin/XRToolsInteractableHandle/CollisionShape3D" index="1" node_paths=PackedStringArray("target")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00358, 9.93204e-09, -0.00969601) +script = ExtResource("22_0sl46") +target = NodePath("../../../../SliderBody/HandleMesh/GrabPointHandRight") diff --git a/game/enemy/Enemy - Albedo.png b/game/enemy/Enemy - Albedo.png new file mode 100644 index 0000000..aedc0c5 Binary files /dev/null and b/game/enemy/Enemy - Albedo.png differ diff --git a/game/enemy/Enemy - Albedo.png.import b/game/enemy/Enemy - Albedo.png.import new file mode 100644 index 0000000..c7a9943 --- /dev/null +++ b/game/enemy/Enemy - Albedo.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://diur3po2goylf" +path.s3tc="res://.godot/imported/Enemy - Albedo.png-d9aede87706335bd75076a4108e32997.s3tc.ctex" +path.etc2="res://.godot/imported/Enemy - Albedo.png-d9aede87706335bd75076a4108e32997.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://game/enemy/Enemy - Albedo.png" +dest_files=["res://.godot/imported/Enemy - Albedo.png-d9aede87706335bd75076a4108e32997.s3tc.ctex", "res://.godot/imported/Enemy - Albedo.png-d9aede87706335bd75076a4108e32997.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/game/enemy/chaser.gd b/game/enemy/chaser.gd new file mode 100644 index 0000000..c18f345 --- /dev/null +++ b/game/enemy/chaser.gd @@ -0,0 +1,41 @@ +extends CharacterBody3D + +var player = null + +const SPEED : float = 1.75 + +@export var player_path : NodePath + +@onready var nav_agent = $NavigationAgent3D + + +func _ready(): + push_warning("player_path ::::: ", player_path) + player = get_node("../../XROrigin3D") + push_warning("player", player) + +func _process(_delta): + velocity = Vector3.ZERO + + nav_agent.set_target_position(player.global_position) + push_warning() + var next_nav_point = nav_agent.get_next_path_position() + velocity = (next_nav_point - self.global_position).normalized() * SPEED + + push_warning(next_nav_point, self.global_position, velocity) + + move_and_slide() + + turn_face(player, _delta) + +func turn_face(target, delta): + var rotation_speed = 3 + var target_pos = target.global_transform.origin + var pos = global_transform.origin + target_pos.y = pos.y + var origin_rot = rotation + look_at(target_pos, Vector3(0,1,0)) + var target_rot = rotation + var rot_length = target_rot - origin_rot + var rot_step = rot_length * rotation_speed * delta + rotation = origin_rot + rot_step diff --git a/game/enemy/chaser.tscn b/game/enemy/chaser.tscn new file mode 100644 index 0000000..ba004a2 --- /dev/null +++ b/game/enemy/chaser.tscn @@ -0,0 +1,610 @@ +[gd_scene load_steps=11 format=3 uid="uid://s7oujqx14m4y"] + +[ext_resource type="Script" path="res://game/enemy/chaser.gd" id="1_ml7oa"] +[ext_resource type="Texture2D" uid="uid://diur3po2goylf" path="res://game/enemy/Enemy - Albedo.png" id="2_cwpsi"] +[ext_resource type="Material" uid="uid://8lr2nnsuau40" path="res://game/enemy/enemyMAT.tres" id="3_n0yds"] +[ext_resource type="AnimationLibrary" uid="uid://djq5h1cmgke6m" path="res://game/enemy/enemyWalkLib.tres" id="4_ll6ha"] + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_gcafd"] +radius = 0.3 +height = 2.10501 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hi2l0"] +resource_name = "Material.001" +cull_mode = 2 +albedo_texture = ExtResource("2_cwpsi") +roughness = 0.5 +emission_enabled = true +emission_texture = ExtResource("2_cwpsi") + +[sub_resource type="ArrayMesh" id="ArrayMesh_mmmpa"] +resource_name = "enemy_Cube_001_Cubemesh" +_surfaces = [{ +"aabb": AABB(-0.003166, -0.00017495, -0.0156431, 0.0085391, 0.0451326, 0.0312862), +"attribute_data": PackedByteArray(128, 210, 200, 62, 88, 253, 65, 62, 83, 178, 16, 63, 192, 45, 159, 61, 14, 248, 104, 63, 41, 233, 37, 63, 18, 191, 130, 62, 8, 95, 152, 61, 247, 174, 33, 63, 120, 98, 253, 61, 83, 121, 187, 62, 52, 47, 23, 62, 106, 104, 15, 63, 208, 41, 40, 62, 30, 109, 20, 63, 8, 118, 44, 62, 59, 228, 190, 62, 76, 110, 132, 62, 133, 234, 74, 63, 72, 153, 205, 61, 167, 2, 46, 63, 152, 3, 253, 61, 242, 121, 69, 63, 28, 229, 0, 62, 91, 122, 40, 63, 96, 239, 254, 61, 171, 36, 66, 63, 200, 141, 18, 62, 58, 92, 123, 62, 216, 8, 196, 61, 120, 97, 195, 62, 8, 253, 132, 62, 208, 185, 27, 63, 168, 11, 248, 61, 35, 189, 120, 62, 152, 16, 3, 62, 146, 117, 192, 62, 200, 213, 104, 62, 172, 140, 190, 62, 36, 255, 83, 62, 108, 63, 5, 63, 200, 190, 52, 62, 119, 215, 93, 63, 128, 51, 1, 62, 61, 67, 192, 62, 124, 19, 99, 62, 40, 98, 1, 63, 200, 184, 50, 62, 14, 20, 80, 63, 8, 70, 165, 61, 61, 67, 192, 62, 128, 47, 69, 62, 45, 175, 8, 63, 208, 41, 40, 62, 4, 118, 97, 63, 0, 198, 243, 61, 156, 48, 129, 62, 16, 144, 31, 62, 12, 205, 197, 62, 116, 66, 72, 62, 191, 13, 17, 63, 184, 28, 143, 61, 178, 43, 189, 62, 28, 161, 31, 62, 39, 47, 18, 63, 208, 41, 40, 62, 233, 209, 180, 62, 16, 141, 167, 61, 205, 35, 23, 63, 208, 164, 180, 61, 30, 226, 103, 63, 194, 130, 31, 63, 105, 144, 146, 62, 160, 242, 175, 61, 155, 232, 251, 62, 190, 245, 137, 62, 11, 155, 33, 63, 28, 134, 31, 62, 189, 169, 20, 63, 16, 79, 70, 62, 139, 223, 20, 63, 80, 51, 20, 62, 189, 199, 185, 62, 192, 198, 245, 61, 19, 243, 244, 62, 112, 59, 84, 62, 105, 110, 81, 63, 68, 11, 0, 62, 126, 29, 184, 62, 8, 167, 229, 61, 169, 188, 21, 63, 192, 110, 241, 61, 189, 199, 185, 62, 112, 51, 181, 61, 180, 59, 24, 63, 216, 197, 205, 61, 33, 202, 247, 62, 234, 176, 130, 62, 251, 177, 37, 63, 180, 32, 36, 62, 112, 37, 75, 63, 92, 185, 39, 62, 114, 51, 244, 62, 0, 193, 108, 62, 153, 156, 78, 63, 32, 131, 21, 62, 205, 33, 145, 62, 176, 238, 223, 61, 96, 230, 3, 63, 132, 133, 139, 62, 142, 4, 146, 62, 8, 144, 1, 62, 28, 94, 8, 63, 222, 177, 136, 62, 231, 0, 5, 63, 0, 129, 78, 62, 36, 152, 94, 63, 92, 185, 39, 62, 78, 96, 186, 62, 52, 47, 23, 62, 237, 99, 1, 63, 240, 186, 78, 62, 185, 254, 1, 63, 12, 153, 107, 62, 9, 78, 5, 63, 220, 42, 104, 62, 255, 66, 7, 63, 160, 17, 124, 62, 180, 231, 2, 63, 228, 188, 127, 62, 129, 32, 12, 63, 16, 53, 97, 62, 229, 70, 9, 63, 24, 75, 65, 62, 4, 118, 97, 63, 60, 130, 27, 62, 105, 144, 146, 62, 212, 136, 25, 62, 148, 134, 14, 63, 98, 244, 132, 62, 208, 124, 26, 63, 136, 242, 165, 61, 119, 129, 18, 63, 168, 220, 68, 62, 186, 133, 22, 63, 236, 78, 23, 62, 149, 99, 18, 63, 96, 3, 98, 62, 247, 117, 24, 63, 64, 104, 246, 61, 156, 167, 14, 63, 80, 81, 117, 62, 208, 124, 26, 63, 104, 60, 209, 61, 244, 24, 213, 62, 234, 125, 219, 62, 204, 96, 4, 63, 82, 129, 71, 63, 46, 200, 10, 63, 140, 219, 120, 63, 35, 186, 99, 63, 196, 147, 117, 63, 95, 40, 224, 60, 190, 216, 7, 63, 231, 55, 252, 62, 30, 142, 238, 62, 168, 1, 39, 63, 125, 232, 46, 63, 119, 215, 93, 63, 80, 210, 131, 61, 190, 47, 174, 61, 100, 250, 37, 62, 125, 150, 23, 63, 150, 93, 68, 63, 181, 50, 25, 63, 0, 0, 128, 63, 42, 85, 102, 63, 148, 21, 99, 63, 133, 7, 173, 61, 120, 41, 13, 63, 99, 182, 100, 61, 104, 177, 140, 62, 39, 20, 46, 63, 48, 210, 31, 63, 16, 3, 213, 62, 94, 181, 202, 62, 186, 189, 8, 63, 216, 159, 80, 63, 73, 215, 204, 62, 18, 107, 169, 62, 26, 77, 6, 63, 25, 201, 94, 63, 35, 189, 120, 62, 120, 155, 119, 62, 186, 245, 202, 62, 184, 35, 140, 62, 107, 154, 7, 63, 216, 240, 108, 63, 123, 188, 248, 62, 132, 133, 139, 62, 46, 26, 50, 63, 100, 147, 52, 63, 188, 33, 93, 63, 232, 50, 245, 61, 0, 0, 0, 0, 218, 145, 210, 62, 237, 98, 2, 63, 142, 141, 176, 62, 169, 191, 62, 63, 205, 146, 56, 63, 204, 207, 13, 61, 100, 169, 253, 62, 90, 129, 249, 62, 230, 174, 221, 62, 55, 110, 49, 61, 32, 233, 171, 62, 187, 151, 63, 63, 96, 178, 37, 63, 206, 84, 72, 61, 114, 219, 198, 62, 197, 3, 138, 61, 0, 107, 245, 62, 109, 225, 137, 62, 0, 0, 128, 63, 208, 185, 27, 63, 0, 253, 114, 63, 111, 72, 91, 63, 168, 200, 97, 63, 235, 55, 139, 62, 216, 216, 109, 63, 4, 144, 26, 63, 114, 162, 97, 63, 139, 112, 179, 61, 96, 185, 254, 61, 1, 138, 145, 62, 96, 174, 93, 63, 253, 159, 23, 63, 40, 186, 82, 63, 179, 11, 142, 62, 31, 104, 49, 63, 220, 74, 23, 63, 104, 174, 39, 63, 205, 29, 37, 63, 180, 32, 36, 62, 79, 229, 56, 63, 180, 32, 36, 62, 74, 67, 73, 63, 178, 157, 23, 63, 46, 30, 206, 62, 209, 32, 13, 63, 191, 67, 5, 63, 204, 34, 40, 63, 112, 66, 33, 61, 140, 214, 33, 63, 126, 25, 252, 62, 119, 103, 17, 63, 147, 255, 201, 61, 92, 55, 33, 63, 255, 89, 63, 63, 24, 197, 50, 62, 240, 222, 97, 63, 218, 232, 20, 63, 242, 177, 187, 61, 53, 151, 23, 63, 185, 196, 201, 62, 222, 140, 250, 62, 60, 17, 8, 63, 140, 100, 55, 63, 157, 15, 15, 61, 21, 28, 22, 63, 2, 215, 253, 62, 250, 212, 5, 63, 139, 112, 179, 61, 208, 217, 98, 62, 76, 107, 131, 62, 98, 215, 62, 63, 208, 185, 27, 63, 40, 127, 51, 63, 109, 3, 23, 63, 110, 73, 254, 62, 90, 44, 69, 63, 102, 48, 222, 62, 140, 161, 204, 62, 237, 156, 58, 63, 180, 56, 11, 63, 110, 112, 250, 62, 42, 0, 198, 61, 251, 148, 75, 63, 20, 178, 235, 62, 81, 217, 60, 63, 55, 108, 251, 61, 200, 239, 73, 63, 41, 8, 94, 61, 212, 209, 45, 63, 28, 151, 249, 62, 145, 240, 29, 63, 84, 200, 181, 61, 99, 155, 64, 63, 87, 179, 238, 62, 156, 218, 49, 63, 7, 39, 226, 61, 52, 241, 62, 63, 233, 155, 180, 61, 91, 93, 46, 63, 246, 240, 93, 63, 165, 46, 9, 63, 91, 39, 22, 63, 172, 199, 25, 63, 228, 72, 71, 63, 124, 8, 10, 63, 226, 60, 20, 63, 140, 107, 12, 63, 16, 31, 72, 63, 240, 165, 248, 62, 224, 75, 209, 62, 152, 162, 44, 63, 155, 114, 9, 63, 87, 35, 11, 63, 42, 255, 202, 62, 216, 97, 28, 63, 230, 230, 7, 63, 226, 113, 25, 63, 1, 52, 22, 63, 56, 21, 241, 62, 219, 166, 68, 63, 226, 32, 209, 62, 21, 229, 202, 62, 11, 239, 66, 63, 178, 44, 12, 63, 236, 44, 234, 62, 216, 13, 219, 61, 223, 252, 82, 63, 35, 221, 231, 62, 133, 124, 68, 63, 135, 110, 6, 62, 176, 225, 81, 63, 139, 23, 83, 63, 100, 87, 202, 62, 97, 112, 25, 63, 214, 118, 203, 62, 255, 89, 63, 63, 92, 122, 172, 62, 146, 117, 192, 62, 52, 245, 82, 63, 210, 82, 13, 63, 118, 31, 200, 62, 151, 202, 251, 61, 127, 190, 101, 63, 196, 65, 226, 62, 211, 107, 87, 63, 5, 79, 33, 62, 121, 88, 100, 63, 128, 238, 79, 63, 100, 198, 163, 62, 8, 2, 20, 63, 232, 134, 142, 62, 207, 190, 34, 63, 16, 83, 98, 61, 76, 137, 72, 63, 112, 75, 84, 62, 165, 161, 206, 62, 221, 177, 116, 63, 138, 202, 14, 63, 212, 75, 140, 62, 207, 190, 34, 63, 72, 95, 168, 61, 200, 67, 31, 62, 0, 0, 128, 63, 134, 58, 228, 62, 152, 136, 115, 63, 208, 185, 27, 63, 212, 75, 140, 62, 20, 233, 46, 62, 76, 255, 126, 63, 102, 20, 23, 63, 60, 71, 140, 62, 204, 9, 82, 63, 244, 185, 90, 62, 165, 244, 228, 62, 184, 0, 228, 62, 194, 163, 29, 63, 92, 149, 48, 63, 196, 8, 109, 63, 3, 94, 118, 63, 29, 148, 176, 62, 48, 28, 8, 62, 159, 3, 39, 63, 54, 5, 34, 63, 110, 106, 232, 62, 10, 160, 208, 62, 18, 160, 230, 62, 40, 45, 172, 62, 197, 197, 153, 62, 76, 110, 132, 62, 113, 202, 228, 62, 0, 196, 157, 62, 119, 215, 93, 63, 92, 185, 39, 62, 190, 192, 228, 62, 6, 15, 15, 63, 144, 46, 50, 63, 96, 221, 56, 62, 220, 157, 85, 63, 184, 230, 18, 63, 209, 65, 223, 62, 158, 241, 253, 62, 163, 30, 218, 62, 36, 178, 59, 63, 182, 129, 27, 62, 136, 100, 72, 63, 22, 81, 79, 63, 118, 105, 219, 62, 37, 179, 226, 62, 181, 251, 29, 63, 230, 120, 221, 62, 50, 5, 47, 63, 45, 123, 2, 62, 102, 215, 45, 63, 145, 9, 84, 63, 7, 153, 8, 63, 30, 250, 14, 62, 191, 71, 61, 63, 0, 112, 80, 63, 162, 100, 242, 62, 87, 181, 212, 62, 140, 74, 66, 63, 21, 199, 33, 62, 56, 135, 79, 63, 66, 35, 76, 63, 44, 132, 205, 62, 48, 131, 209, 62, 148, 74, 84, 63, 96, 233, 72, 63, 102, 111, 169, 62, 4, 200, 216, 62, 1, 252, 115, 63, 141, 237, 77, 63, 8, 49, 87, 62, 206, 193, 131, 62, 244, 114, 104, 62, 237, 98, 2, 63, 202, 51, 107, 63, 82, 242, 122, 62, 40, 249, 81, 62, 240, 252, 2, 63, 123, 216, 115, 63, 80, 139, 97, 63, 139, 112, 127, 63, 176, 175, 117, 63, 10, 241, 40, 63, 208, 185, 27, 63, 0, 110, 58, 63, 3, 208, 108, 63, 0, 0, 128, 63, 0, 0, 128, 63, 186, 214, 38, 63, 22, 138, 20, 62, 32, 103, 83, 61, 220, 72, 41, 63, 30, 198, 60, 63, 0, 60, 82, 63, 192, 46, 195, 61, 22, 138, 20, 62, 128, 18, 198, 61, 106, 104, 171, 62, 10, 241, 128, 62, 165, 73, 85, 63, 52, 255, 8, 62, 244, 112, 154, 62, 68, 197, 128, 62, 215, 218, 91, 63, 44, 10, 27, 62, 36, 242, 189, 61, 96, 76, 243, 61, 49, 92, 221, 62, 136, 63, 26, 62, 208, 126, 116, 63, 195, 17, 116, 63, 181, 139, 53, 63, 217, 6, 118, 63, 32, 39, 60, 63, 212, 131, 34, 62, 86, 212, 124, 63, 72, 253, 113, 63, 157, 131, 55, 63, 61, 240, 117, 63, 46, 84, 62, 63, 112, 32, 36, 62, 7, 206, 57, 63, 20, 206, 114, 63, 11, 126, 107, 63, 112, 154, 62, 61, 231, 85, 13, 62, 88, 222, 238, 61, 29, 204, 62, 63, 144, 135, 110, 63, 214, 55, 100, 63, 0, 130, 50, 61, 210, 197, 230, 61, 96, 202, 224, 61, 195, 186, 209, 62, 4, 225, 26, 62, 213, 3, 198, 61, 240, 17, 97, 62, 23, 243, 163, 62, 196, 43, 41, 62, 79, 5, 116, 63, 3, 9, 78, 63, 92, 231, 167, 62, 16, 144, 31, 62, 127, 219, 119, 63, 190, 222, 77, 63, 91, 8, 18, 62, 208, 217, 98, 62, 231, 53, 102, 63, 52, 90, 62, 62, 120, 127, 252, 61, 132, 8, 88, 62, 106, 104, 171, 62, 0, 184, 66, 62, 255, 9, 98, 63, 232, 178, 56, 62, 109, 26, 39, 63, 218, 57, 89, 63, 74, 151, 126, 63, 86, 154, 76, 63, 130, 59, 44, 63, 137, 94, 86, 63, 199, 214, 107, 63, 96, 172, 63, 62, 225, 126, 192, 61, 248, 26, 66, 62, 24, 64, 224, 62, 80, 93, 160, 61, 30, 254, 114, 63, 250, 66, 88, 63, 49, 63, 23, 62, 248, 32, 68, 62, 126, 28, 101, 63, 200, 216, 25, 62, 79, 229, 56, 63, 120, 28, 166, 61, 172, 224, 123, 63, 235, 226, 86, 63, 58, 147, 246, 61, 136, 97, 55, 62, 28, 8, 209, 62, 80, 93, 160, 61, 37, 206, 42, 63, 92, 171, 97, 63, 46, 84, 62, 63, 168, 35, 160, 61, 253, 244, 127, 63, 18, 79, 86, 63, 74, 122, 48, 63, 161, 217, 93, 63, 255, 6, 109, 63, 216, 43, 28, 62, 10, 129, 132, 62, 68, 91, 78, 62, 136, 156, 114, 63, 62, 115, 50, 63, 180, 116, 157, 62, 244, 187, 112, 62, 240, 222, 97, 63, 178, 187, 136, 62, 114, 112, 29, 63, 62, 180, 67, 63, 198, 253, 127, 63, 48, 42, 49, 63, 134, 144, 243, 61, 192, 93, 125, 61, 45, 209, 37, 63, 100, 171, 67, 63, 255, 6, 109, 63, 174, 19, 143, 62, 74, 65, 143, 62, 240, 26, 100, 62, 48, 128, 0, 62, 200, 100, 177, 61, 69, 183, 166, 62, 232, 191, 103, 62, 0, 139, 104, 63, 196, 173, 138, 62, 76, 221, 197, 62, 92, 142, 39, 62, 94, 159, 109, 63, 138, 170, 99, 63, 42, 173, 111, 63, 91, 8, 38, 63, 106, 104, 171, 62, 232, 237, 239, 61, 212, 96, 34, 63, 26, 53, 35, 63, 124, 41, 112, 63, 29, 172, 27, 63, 136, 156, 114, 63, 160, 51, 105, 63, 105, 143, 87, 61, 98, 78, 128, 62, 194, 249, 180, 62, 52, 47, 23, 62, 232, 79, 111, 63, 113, 172, 103, 63, 124, 41, 112, 63, 50, 205, 32, 63, 183, 241, 199, 62, 188, 41, 53, 62, 16, 35, 108, 63, 46, 197, 37, 63, 152, 247, 176, 62, 120, 23, 207, 61, 218, 202, 107, 63, 114, 112, 29, 63, 186, 221, 75, 61, 56, 109, 118, 62, 189, 199, 185, 62, 156, 159, 18, 62, 245, 14, 15, 63, 128, 99, 15, 62, 167, 7, 173, 62, 168, 100, 192, 61, 53, 123, 108, 63, 254, 208, 32, 63, 248, 79, 31, 63, 16, 81, 83, 61, 100, 233, 71, 63, 124, 232, 66, 62, 125, 149, 204, 62, 195, 241, 120, 63, 63, 83, 31, 63, 152, 174, 167, 61, 72, 52, 241, 62, 218, 31, 120, 63, 29, 114, 27, 63, 148, 74, 120, 62, 180, 200, 22, 63, 124, 139, 119, 62, 159, 87, 88, 63, 44, 222, 72, 62, 173, 75, 221, 62, 58, 91, 120, 63, 160, 141, 80, 63, 68, 134, 69, 62, 71, 199, 117, 62, 56, 51, 74, 62, 208, 185, 27, 63, 112, 246, 78, 61, 205, 63, 70, 63, 176, 24, 53, 62, 71, 199, 117, 62, 160, 73, 98, 62, 106, 246, 200, 62, 234, 89, 124, 63, 223, 193, 27, 63, 0, 123, 165, 61, 27, 155, 253, 62, 171, 205, 123, 63, 208, 185, 27, 63, 52, 215, 89, 62, 125, 36, 21, 63, 136, 170, 88, 62, 76, 22, 95, 63, 244, 23, 58, 62, 156, 80, 224, 62, 13, 226, 123, 63, 165, 45, 82, 63, 200, 113, 55, 62, 51, 22, 77, 62, 48, 182, 208, 61, 194, 163, 109, 62, 216, 100, 77, 62, 9, 23, 70, 63, 200, 155, 44, 62, 248, 109, 104, 62, 48, 182, 208, 61, 164, 166, 109, 62, 208, 217, 98, 62, 137, 41, 201, 62, 135, 137, 126, 63, 114, 109, 224, 62, 36, 13, 126, 63, 210, 252, 81, 63, 152, 249, 46, 62, 177, 23, 106, 62, 176, 227, 95, 62, 37, 234, 1, 63, 44, 103, 127, 63, 182, 43, 24, 63, 120, 125, 70, 62, 77, 159, 1, 63, 177, 78, 125, 63, 68, 51, 27, 63, 68, 34, 77, 62, 58, 117, 1, 63, 73, 43, 126, 63, 237, 98, 2, 63, 132, 72, 126, 63, 13, 254, 22, 63, 232, 40, 71, 62, 45, 10, 27, 63, 8, 203, 72, 62, 2, 215, 21, 63, 20, 89, 75, 62, 179, 93, 97, 63, 32, 128, 52, 62, 255, 34, 88, 62, 208, 217, 98, 62, 48, 43, 24, 63, 136, 16, 55, 62, 175, 90, 97, 63, 56, 122, 44, 62, 32, 11, 97, 63, 32, 65, 49, 62, 32, 41, 22, 63, 168, 40, 71, 62, 17, 1, 23, 63, 136, 16, 55, 62, 240, 222, 97, 63, 56, 231, 48, 62, 231, 55, 76, 62, 88, 149, 221, 61, 132, 98, 71, 63, 92, 185, 39, 62, 16, 235, 77, 62, 248, 251, 229, 61, 81, 135, 101, 62, 248, 251, 229, 61, 172, 143, 103, 62, 224, 149, 221, 61, 172, 228, 203, 62, 4, 201, 127, 63, 161, 18, 103, 62, 144, 69, 90, 62, 235, 111, 105, 62, 64, 158, 93, 62, 183, 65, 1, 63, 0, 0, 128, 63, 72, 165, 88, 62, 136, 166, 92, 62, 57, 123, 87, 62, 28, 148, 96, 62, 161, 191, 96, 63, 232, 6, 42, 62, 127, 163, 109, 62, 160, 11, 26, 62, 107, 157, 224, 62, 173, 162, 127, 63, 74, 155, 106, 62, 152, 112, 24, 62, 216, 188, 106, 62, 128, 133, 28, 62, 131, 249, 75, 62, 112, 24, 28, 62, 180, 3, 82, 63, 204, 208, 40, 62, 90, 241, 77, 62, 80, 76, 30, 62, 119, 157, 77, 62, 144, 58, 26, 62, 139, 112, 179, 61, 80, 162, 222, 61, 187, 70, 67, 63, 58, 32, 25, 63, 145, 211, 115, 63, 108, 208, 119, 63, 199, 103, 50, 61, 224, 73, 139, 61, 157, 70, 54, 63, 165, 189, 121, 63, 218, 226, 126, 63, 208, 13, 117, 63, 98, 102, 95, 61, 200, 17, 146, 61, 88, 227, 56, 63, 144, 159, 121, 63, 145, 72, 27, 61, 24, 173, 252, 61, 133, 237, 59, 63, 33, 119, 117, 63, 0, 0, 0, 0, 24, 173, 252, 61, 49, 63, 23, 62, 16, 193, 216, 61, 168, 141, 66, 63, 167, 202, 111, 63, 187, 70, 67, 63, 226, 200, 39, 63, 27, 159, 233, 61, 128, 18, 198, 61, 168, 141, 66, 63, 242, 207, 32, 63, 41, 204, 71, 63, 41, 34, 27, 63, 142, 120, 118, 63, 37, 7, 124, 63, 232, 77, 69, 61, 16, 252, 168, 61, 253, 159, 127, 63, 60, 190, 121, 63, 143, 139, 106, 61, 152, 152, 174, 61, 94, 215, 59, 63, 164, 0, 125, 63, 133, 68, 26, 61, 144, 126, 212, 61, 117, 91, 62, 63, 163, 143, 121, 63, 3, 234, 205, 59, 144, 126, 212, 61, 41, 204, 71, 63, 62, 68, 39, 63, 1, 51, 71, 63, 220, 126, 33, 63, 141, 182, 74, 63, 178, 129, 28, 63, 27, 71, 120, 63, 236, 160, 126, 63, 189, 110, 81, 61, 176, 153, 188, 61, 0, 0, 128, 63, 146, 179, 124, 63, 69, 216, 112, 61, 80, 85, 193, 61, 136, 188, 61, 63, 137, 12, 127, 63, 13, 222, 23, 61, 40, 201, 186, 61, 228, 219, 63, 63, 74, 37, 124, 63, 202, 196, 45, 60, 40, 201, 186, 61, 141, 182, 74, 63, 228, 189, 38, 63, 80, 53, 74, 63, 152, 223, 33, 63, 145, 72, 27, 61, 80, 166, 234, 61, 188, 6, 77, 63, 189, 226, 29, 63, 236, 75, 122, 63, 0, 0, 128, 63, 161, 243, 90, 61, 224, 14, 205, 61, 214, 226, 127, 63, 229, 154, 126, 63, 83, 177, 113, 61, 0, 124, 208, 61, 81, 21, 63, 63, 0, 0, 128, 63, 36, 70, 15, 61, 248, 55, 168, 61, 118, 111, 133, 61, 144, 245, 212, 61, 153, 158, 64, 63, 4, 230, 125, 63, 217, 150, 129, 60, 248, 55, 168, 61, 118, 111, 133, 61, 216, 67, 251, 61, 188, 6, 77, 63, 73, 75, 37, 63, 135, 137, 70, 61, 24, 173, 252, 61, 55, 169, 76, 63, 63, 197, 33, 63, 25, 30, 59, 61, 216, 218, 219, 61, 97, 23, 125, 63, 106, 77, 127, 63, 122, 82, 102, 61, 176, 197, 206, 61, 144, 17, 208, 60, 248, 55, 168, 61, 118, 111, 133, 61, 184, 28, 232, 61, 12, 233, 48, 61, 56, 170, 243, 61, 241, 215, 76, 63, 6, 212, 31, 63, 166, 72, 126, 61, 136, 184, 210, 61, 253, 217, 63, 63, 10, 243, 126, 63, 192, 180, 104, 61, 184, 248, 251, 61, 241, 215, 76, 63, 68, 136, 35, 63, 109, 29, 92, 61, 136, 148, 230, 61, 179, 126, 115, 61, 160, 88, 231, 61, 195, 157, 75, 61, 240, 55, 225, 61, 131, 224, 137, 62, 80, 140, 28, 62, 63, 197, 21, 63, 160, 135, 154, 61, 189, 167, 138, 62, 216, 40, 164, 61, 1, 165, 33, 63, 172, 27, 15, 62, 79, 88, 18, 63, 60, 131, 54, 62, 18, 104, 192, 62, 72, 161, 229, 61, 119, 44, 78, 63, 40, 216, 230, 61, 43, 22, 39, 63, 16, 204, 17, 62, 13, 165, 70, 63, 144, 35, 29, 62, 78, 11, 74, 63, 32, 52, 11, 62, 144, 49, 135, 62, 48, 80, 2, 62, 245, 103, 135, 62, 200, 251, 209, 61, 18, 104, 192, 62, 52, 229, 19, 62, 2, 99, 1, 63, 220, 185, 64, 62, 0, 60, 82, 63, 248, 86, 203, 61, 41, 32, 5, 63, 4, 160, 65, 62, 206, 55, 94, 63, 108, 118, 20, 62, 1, 251, 8, 63, 148, 186, 52, 62, 4, 118, 97, 63, 160, 178, 10, 62, 7, 235, 19, 63, 8, 233, 169, 61, 30, 109, 104, 63, 246, 181, 34, 63, 3, 36, 18, 63, 176, 46, 30, 62, 101, 139, 20, 63, 140, 98, 57, 62, 164, 251, 13, 63, 116, 239, 69, 63, 81, 47, 248, 60, 244, 227, 143, 62, 231, 138, 42, 63, 87, 93, 39, 63, 105, 253, 17, 63, 198, 109, 124, 63, 167, 7, 101, 63, 172, 84, 108, 63, 157, 17, 101, 61, 18, 129, 10, 63, 163, 119, 110, 63, 126, 171, 101, 63, 91, 235, 111, 63, 198, 106, 35, 63, 220, 46, 16, 63, 0, 173, 81, 63, 143, 110, 16, 63, 189, 53, 96, 63, 29, 170, 17, 63, 228, 246, 111, 63, 171, 235, 80, 61, 68, 138, 249, 62, 193, 83, 200, 60, 200, 182, 204, 62, 168, 141, 66, 63, 152, 166, 48, 63, 111, 217, 161, 60, 244, 132, 173, 62, 253, 216, 56, 63, 218, 34, 45, 63, 86, 71, 14, 63, 154, 232, 39, 63, 101, 80, 141, 61, 236, 134, 33, 63, 157, 156, 129, 61, 156, 217, 22, 63, 142, 229, 17, 63, 226, 113, 53, 63, 17, 30, 17, 63, 222, 92, 252, 62, 238, 181, 224, 61, 106, 194, 74, 63, 41, 7, 15, 63, 208, 156, 25, 63, 182, 215, 14, 63, 114, 199, 11, 63, 66, 208, 145, 61, 160, 23, 46, 63, 240, 247, 203, 61, 84, 198, 63, 63, 89, 48, 17, 63, 2, 161, 237, 62, 48, 245, 243, 61, 63, 111, 82, 63, 153, 97, 19, 63, 38, 203, 201, 62, 74, 154, 15, 62, 133, 11, 101, 63, 73, 102, 17, 63, 110, 105, 141, 62, 207, 190, 34, 63, 104, 196, 140, 61, 144, 22, 39, 62, 174, 127, 127, 63, 35, 103, 25, 63, 152, 73, 140, 62, 78, 40, 68, 61, 16, 7, 129, 62, 239, 198, 178, 62, 144, 165, 15, 62, 179, 39, 41, 63, 146, 67, 32, 63, 26, 79, 108, 63, 14, 75, 35, 63, 157, 242, 184, 62, 144, 185, 2, 62, 207, 101, 18, 63, 76, 13, 4, 62, 156, 81, 31, 63, 216, 171, 136, 61, 105, 29, 25, 63, 228, 234, 119, 62, 71, 199, 117, 62, 140, 62, 86, 62, 207, 189, 27, 63, 96, 123, 134, 61, 38, 111, 24, 63, 0, 65, 89, 62, 22, 194, 90, 62, 48, 182, 208, 61, 85, 165, 109, 62, 84, 31, 88, 62, 122, 29, 97, 62, 192, 94, 97, 62, 115, 43, 24, 63, 0, 199, 62, 62, 143, 255, 22, 63, 184, 28, 63, 62, 158, 153, 24, 63, 216, 249, 71, 62, 43, 133, 24, 63, 172, 61, 76, 62, 15, 185, 89, 62, 248, 251, 229, 61, 201, 227, 89, 62, 88, 149, 221, 61, 22, 220, 95, 62, 236, 117, 91, 62, 180, 117, 96, 62, 80, 25, 95, 62, 25, 87, 92, 62, 200, 104, 29, 62, 97, 28, 92, 62, 112, 85, 25, 62, 132, 17, 211, 62, 4, 155, 67, 62, 127, 193, 10, 63, 224, 88, 176, 61, 233, 185, 213, 62, 220, 239, 136, 62, 206, 194, 34, 63, 176, 107, 180, 61, 24, 9, 173, 62, 208, 31, 26, 62, 204, 98, 234, 62, 196, 138, 42, 62, 228, 46, 10, 63, 148, 88, 18, 62, 91, 63, 173, 62, 188, 234, 129, 62, 114, 51, 244, 62, 248, 136, 136, 62, 222, 3, 68, 63, 8, 70, 165, 61, 147, 143, 157, 61, 208, 217, 98, 62, 174, 240, 222, 62, 48, 83, 51, 62, 127, 77, 10, 63, 48, 119, 237, 61, 215, 220, 217, 62, 88, 60, 69, 62, 162, 236, 9, 63, 248, 206, 200, 61, 41, 205, 222, 62, 124, 205, 138, 62, 96, 2, 39, 63, 112, 158, 170, 61, 255, 202, 234, 62, 132, 133, 139, 62, 189, 138, 44, 63, 72, 95, 168, 61, 255, 89, 63, 63, 56, 186, 195, 61, 113, 88, 210, 62, 232, 227, 122, 62, 141, 241, 29, 63, 72, 95, 168, 61, 239, 225, 210, 62, 192, 45, 104, 62, 106, 104, 171, 62, 232, 154, 89, 62, 88, 199, 241, 62, 124, 217, 102, 62, 54, 116, 171, 62, 28, 21, 104, 62, 114, 51, 244, 62, 92, 106, 116, 62, 121, 115, 232, 62, 240, 127, 119, 62, 252, 85, 232, 62, 100, 235, 105, 62, 16, 122, 222, 62, 44, 189, 102, 62, 20, 4, 223, 62, 88, 107, 120, 62, 211, 103, 231, 62, 20, 98, 78, 62, 125, 88, 175, 62, 152, 12, 71, 62, 130, 230, 243, 62, 132, 120, 84, 62, 236, 20, 211, 62, 216, 184, 78, 62, 3, 208, 8, 63, 208, 208, 159, 61, 70, 34, 172, 62, 108, 209, 34, 62, 216, 154, 237, 62, 136, 149, 49, 62, 139, 136, 226, 62, 0, 59, 55, 62, 152, 189, 220, 62, 8, 82, 73, 62, 255, 61, 8, 63, 88, 232, 202, 61, 0, 0, 0, 0, 196, 1, 20, 62, 111, 188, 171, 62, 176, 255, 82, 63, 83, 175, 107, 62, 112, 58, 123, 61, 35, 186, 99, 63, 248, 110, 79, 63, 80, 169, 18, 62, 188, 204, 0, 63, 13, 227, 238, 61, 54, 122, 133, 62, 208, 156, 81, 63, 16, 8, 116, 63, 62, 34, 166, 60, 24, 173, 252, 61, 52, 44, 166, 62, 129, 63, 92, 63, 16, 90, 167, 62, 235, 229, 107, 63, 116, 11, 93, 62, 48, 182, 208, 61, 191, 214, 165, 62, 21, 171, 122, 63, 192, 5, 93, 63, 70, 152, 74, 63, 54, 62, 103, 63, 174, 19, 143, 62, 35, 133, 242, 61, 184, 66, 160, 62, 111, 72, 91, 63, 38, 138, 108, 63, 237, 188, 237, 61, 4, 115, 196, 62, 60, 188, 7, 62, 190, 191, 241, 62, 222, 227, 164, 62, 198, 106, 51, 63, 79, 229, 56, 63, 176, 164, 149, 61, 181, 254, 38, 62, 80, 80, 26, 63, 153, 126, 9, 59, 56, 44, 77, 62, 158, 64, 160, 62, 114, 141, 67, 63, 110, 104, 26, 62, 18, 16, 15, 63, 114, 51, 244, 62, 192, 247, 247, 61, 109, 140, 33, 63, 186, 159, 163, 62, 103, 38, 152, 62, 106, 23, 7, 63, 59, 115, 7, 63, 184, 154, 245, 61, 216, 14, 70, 62, 196, 178, 69, 63, 132, 211, 178, 62, 106, 219, 4, 63, 199, 99, 38, 62, 81, 133, 71, 63, 111, 217, 53, 63, 48, 18, 170, 62, 0, 142, 45, 62, 222, 206, 38, 63, 91, 205, 58, 62, 4, 233, 58, 63, 159, 87, 28, 62, 74, 95, 60, 63, 68, 81, 56, 63, 154, 205, 147, 62, 157, 44, 5, 62, 120, 209, 43, 63, 94, 14, 63, 63, 52, 84, 101, 62, 105, 144, 146, 62, 128, 88, 246, 61, 171, 65, 36, 63, 140, 185, 91, 62, 14, 192, 46, 63, 196, 138, 26, 62, 177, 252, 153, 62, 248, 204, 146, 61, 233, 215, 246, 62, 208, 41, 40, 62, 206, 137, 37, 63, 4, 176, 137, 62, 81, 216, 157, 62, 160, 249, 20, 63, 19, 182, 167, 62, 176, 118, 187, 61, 255, 61, 8, 63, 60, 171, 37, 62, 206, 140, 158, 62, 39, 134, 36, 63, 19, 182, 167, 62, 16, 144, 31, 62, 167, 2, 46, 63, 64, 193, 165, 61, 221, 125, 246, 62, 32, 125, 211, 61, 185, 142, 33, 63, 198, 0, 177, 62, 196, 93, 149, 62, 136, 188, 253, 62, 15, 211, 6, 63, 96, 217, 197, 61, 68, 247, 76, 62, 181, 81, 77, 63, 217, 33, 174, 62, 30, 173, 250, 62, 220, 46, 52, 62, 6, 42, 79, 63, 36, 156, 50, 63, 34, 200, 185, 62, 35, 189, 120, 62, 172, 143, 223, 62, 83, 65, 245, 62, 96, 77, 37, 61, 208, 185, 27, 63, 200, 88, 213, 62, 48, 216, 141, 62, 40, 242, 220, 62, 255, 61, 8, 63, 128, 123, 37, 61, 73, 46, 95, 62, 56, 247, 95, 63, 130, 173, 66, 62, 24, 93, 98, 63, 220, 99, 45, 63, 250, 90, 223, 62, 246, 93, 137, 62, 228, 241, 156, 62, 224, 190, 34, 63, 32, 116, 80, 61, 44, 130, 35, 63, 124, 216, 11, 63, 67, 86, 143, 62, 6, 212, 155, 62, 244, 197, 34, 63, 240, 124, 159, 61, 73, 133, 97, 62, 149, 16, 124, 63, 3, 152, 162, 62, 188, 1, 158, 62, 94, 74, 237, 62, 176, 217, 145, 61, 181, 198, 80, 62, 97, 252, 124, 63, 212, 13, 228, 62, 8, 239, 146, 61, 237, 214, 46, 63, 184, 230, 10, 63, 8, 86, 53, 62, 56, 190, 246, 62, 185, 51, 187, 62, 197, 115, 78, 63, 203, 100, 72, 63, 247, 201, 117, 63, 196, 8, 109, 63, 143, 27, 78, 63, 78, 181, 150, 61, 236, 23, 124, 62, 212, 68, 223, 62, 4, 225, 26, 62, 9, 78, 85, 63, 140, 100, 127, 63, 22, 193, 31, 62, 236, 139, 228, 62, 129, 232, 185, 62, 140, 215, 88, 63, 63, 55, 36, 62, 40, 181, 191, 62, 176, 84, 191, 62, 32, 68, 106, 63, 226, 34, 39, 62, 194, 43, 177, 62, 146, 117, 192, 62, 86, 41, 113, 63, 112, 177, 114, 63, 202, 201, 164, 62, 88, 170, 75, 62, 64, 195, 23, 63, 115, 215, 186, 62, 88, 33, 49, 63, 19, 16, 67, 62, 190, 49, 8, 63, 70, 37, 181, 62, 237, 130, 65, 63, 111, 130, 95, 62, 74, 122, 68, 63, 234, 118, 166, 62, 144, 159, 5, 63, 241, 189, 43, 63, 252, 222, 166, 62, 164, 54, 81, 62, 29, 173, 38, 63, 251, 146, 181, 62, 122, 140, 34, 63, 192, 208, 83, 62, 54, 255, 55, 63, 196, 38, 170, 62, 131, 80, 18, 63, 150, 61, 49, 63, 96, 208, 98, 62, 204, 184, 45, 63, 116, 66, 144, 62, 205, 175, 102, 62, 88, 31, 75, 63, 71, 30, 160, 62, 246, 100, 254, 62, 96, 229, 40, 63, 50, 224, 180, 62, 35, 189, 120, 62, 70, 181, 92, 63, 62, 147, 157, 62, 228, 248, 217, 62, 105, 57, 36, 63, 196, 67, 216, 62, 44, 244, 113, 62, 254, 123, 124, 63, 76, 23, 154, 62, 108, 180, 156, 62, 30, 225, 40, 63, 4, 58, 11, 63, 49, 148, 83, 62, 56, 109, 205, 61, 64, 165, 102, 63, 194, 108, 154, 62, 24, 180, 32, 62, 52, 178, 91, 62, 131, 249, 75, 62, 112, 58, 123, 61, 80, 139, 97, 63, 106, 161, 68, 63, 135, 110, 98, 63, 52, 219, 149, 62, 131, 249, 75, 62, 208, 217, 98, 62, 18, 105, 67, 63, 239, 56, 109, 63, 3, 208, 108, 63, 172, 26, 68, 63, 70, 180, 29, 62, 174, 95, 136, 62, 52, 105, 79, 63, 40, 128, 102, 63, 98, 16, 24, 62, 226, 58, 158, 62, 175, 11, 87, 63, 116, 124, 100, 63, 58, 204, 39, 62, 116, 150, 169, 62, 246, 92, 114, 63, 48, 213, 164, 62, 3, 209, 243, 62, 128, 107, 23, 62, 159, 85, 94, 63, 208, 38, 31, 63, 148, 51, 100, 63, 50, 5, 11, 63, 3, 209, 243, 62, 160, 239, 238, 61, 235, 139, 76, 63, 174, 186, 50, 63, 212, 73, 102, 63, 117, 60, 34, 63, 0, 83, 78, 63, 206, 1, 50, 63, 30, 226, 103, 63, 0, 138, 33, 63, 28, 8, 209, 62, 32, 189, 17, 62, 10, 105, 81, 63, 246, 13, 52, 63, 146, 117, 192, 62, 4, 225, 26, 62, 69, 15, 88, 63, 56, 50, 55, 63, 23, 71, 117, 63, 184, 232, 132, 62, 31, 189, 105, 63, 254, 13, 10, 63, 77, 48, 112, 63, 32, 67, 135, 62, 130, 168, 91, 63, 156, 27, 67, 63, 240, 222, 97, 63, 140, 126, 212, 62, 37, 178, 47, 62, 88, 116, 171, 61, 0, 117, 51, 62, 176, 64, 66, 61, 233, 44, 95, 63, 172, 26, 68, 63, 190, 20, 98, 63, 18, 50, 216, 62, 160, 26, 111, 62, 204, 32, 182, 62, 102, 74, 79, 63, 8, 88, 83, 63, 127, 247, 114, 63, 8, 246, 255, 61, 38, 25, 105, 63, 80, 166, 209, 62, 255, 64, 109, 63, 128, 17, 4, 62, 49, 63, 23, 62, 160, 45, 89, 61, 61, 157, 75, 62, 136, 53, 181, 61, 214, 53, 70, 63, 185, 140, 79, 63, 35, 189, 120, 62, 112, 5, 172, 62, 16, 233, 75, 63, 189, 111, 80, 63, 111, 72, 91, 63, 46, 62, 57, 63, 149, 72, 98, 63, 236, 247, 228, 62, 9, 109, 193, 62, 128, 192, 138, 61, 19, 101, 83, 63, 78, 98, 76, 63, 45, 63, 116, 63, 56, 39, 38, 62, 0, 117, 51, 62, 88, 116, 171, 61, 2, 43, 99, 63, 27, 214, 60, 63, 12, 143, 105, 63, 60, 194, 225, 62, 255, 6, 109, 63, 120, 178, 43, 62, 91, 120, 30, 62, 48, 196, 170, 61, 172, 85, 71, 63, 82, 242, 70, 63, 30, 226, 103, 63, 130, 144, 60, 63, 28, 8, 209, 62, 16, 138, 102, 61, 166, 212, 77, 63, 119, 131, 72, 63, 49, 63, 23, 62, 0, 231, 53, 62, 11, 42, 98, 63, 70, 39, 163, 62, 167, 118, 54, 62, 194, 112, 166, 62, 82, 97, 112, 63, 58, 33, 172, 62, 111, 129, 112, 63, 144, 1, 128, 61, 131, 249, 75, 62, 136, 27, 64, 62, 168, 141, 66, 63, 144, 187, 100, 63, 101, 224, 64, 62, 200, 237, 143, 62, 152, 133, 74, 63, 64, 18, 98, 63, 22, 21, 105, 63, 234, 126, 166, 62, 71, 85, 51, 62, 174, 96, 155, 62, 178, 18, 119, 63, 80, 76, 94, 61, 64, 108, 217, 62, 144, 156, 28, 62, 71, 173, 80, 63, 0, 0, 128, 63, 136, 156, 114, 63, 84, 229, 91, 63, 183, 122, 206, 62, 232, 122, 34, 62, 232, 79, 111, 63, 161, 216, 94, 63, 79, 6, 215, 62, 32, 105, 48, 62, 201, 202, 207, 62, 128, 62, 49, 62, 6, 101, 34, 63, 119, 19, 16, 63, 178, 46, 38, 63, 48, 203, 80, 61, 199, 185, 141, 62, 52, 51, 147, 62, 123, 51, 38, 63, 64, 131, 166, 61, 63, 115, 174, 62, 58, 141, 148, 62, 178, 156, 236, 62, 32, 111, 210, 61, 19, 97, 227, 62, 232, 241, 212, 61, 42, 113, 53, 63, 112, 153, 15, 63, 93, 193, 158, 62, 96, 168, 147, 62, 31, 48, 43, 63, 253, 163, 15, 63, 22, 195, 117, 62, 172, 160, 73, 62, 23, 130, 32, 63, 71, 116, 19, 63, 164, 197, 41, 63, 160, 117, 84, 61, 22, 195, 117, 62, 172, 238, 49, 62, 16, 37, 138, 62, 214, 113, 140, 62, 164, 197, 41, 63, 72, 95, 168, 61, 195, 154, 186, 62, 44, 183, 140, 62, 94, 74, 237, 62, 132, 156, 7, 62, 24, 64, 224, 62, 244, 128, 9, 62, 232, 160, 59, 63, 215, 79, 19, 63, 41, 152, 161, 62, 32, 120, 140, 62, 204, 208, 44, 63, 206, 54, 19, 63, 194, 163, 109, 62, 56, 51, 74, 62, 146, 148, 32, 63, 156, 164, 21, 63, 228, 188, 111, 63, 91, 8, 38, 63, 164, 166, 109, 62, 168, 34, 53, 62, 38, 168, 137, 62, 46, 55, 136, 62, 150, 232, 104, 63, 91, 8, 38, 63, 167, 65, 161, 62, 68, 54, 136, 62, 239, 231, 44, 63, 26, 105, 21, 63, 118, 109, 191, 62, 204, 153, 133, 62, 74, 210, 21, 63, 144, 19, 70, 62, 119, 74, 191, 62, 194, 186, 137, 62, 189, 84, 236, 62, 200, 93, 20, 62, 255, 233, 190, 62, 238, 3, 136, 62, 146, 117, 192, 62, 70, 205, 135, 62, 228, 219, 235, 62, 148, 182, 24, 62, 13, 254, 22, 63, 104, 164, 69, 62, 232, 189, 225, 62, 232, 188, 22, 62, 98, 157, 62, 63, 140, 242, 20, 63, 162, 213, 21, 63, 12, 51, 52, 62, 115, 219, 62, 63, 91, 7, 23, 63, 114, 107, 62, 63, 8, 202, 21, 63, 88, 59, 226, 62, 4, 225, 26, 62, 13, 254, 22, 63, 236, 1, 51, 62, 255, 89, 63, 63, 250, 235, 21, 63, 24, 237, 33, 63, 70, 233, 22, 63, 137, 124, 111, 63, 224, 162, 39, 63, 141, 240, 110, 63, 79, 175, 40, 63, 204, 10, 105, 63, 96, 175, 40, 63, 104, 34, 140, 62, 68, 169, 133, 62, 42, 168, 104, 63, 240, 162, 39, 63, 38, 82, 106, 63, 30, 134, 66, 63, 183, 41, 190, 62, 76, 110, 132, 62, 125, 36, 21, 63, 232, 40, 71, 62, 139, 249, 105, 63, 20, 93, 67, 63, 110, 248, 109, 63, 142, 30, 67, 63, 196, 39, 21, 63, 36, 72, 53, 62, 169, 48, 62, 63, 178, 157, 23, 63, 106, 132, 110, 63, 172, 26, 68, 63, 85, 220, 160, 62, 78, 43, 133, 62, 13, 226, 103, 63, 88, 117, 50, 63, 173, 107, 104, 63, 237, 13, 50, 63, 100, 116, 104, 63, 90, 19, 51, 63, 176, 226, 44, 63, 116, 242, 22, 63, 63, 86, 112, 63, 156, 248, 50, 63, 121, 174, 111, 63, 30, 133, 51, 63, 87, 178, 111, 63, 124, 128, 50, 63, 94, 74, 237, 62, 4, 225, 26, 62, 204, 38, 88, 63, 226, 200, 39, 63, 87, 66, 99, 63, 102, 17, 14, 63, 94, 74, 237, 62, 80, 244, 224, 61, 46, 1, 76, 63, 224, 248, 46, 63, 204, 38, 88, 63, 192, 118, 28, 63, 7, 93, 78, 63, 130, 3, 46, 63, 47, 134, 86, 63, 48, 211, 26, 63, 138, 117, 82, 63, 27, 187, 48, 63, 111, 72, 91, 63, 108, 230, 52, 63, 112, 177, 114, 63, 236, 195, 10, 63, 178, 18, 119, 63, 36, 244, 139, 62, 124, 155, 106, 63, 67, 201, 12, 63, 202, 81, 112, 63, 174, 19, 143, 62, 195, 45, 83, 63, 44, 100, 38, 63, 25, 144, 101, 63, 216, 184, 18, 63, 195, 45, 83, 63, 92, 5, 29, 63, 33, 62, 80, 63, 120, 36, 42, 63, 216, 212, 81, 63, 21, 170, 27, 63, 245, 161, 83, 63, 36, 100, 44, 63, 162, 239, 90, 63, 144, 215, 47, 63, 88, 86, 114, 63, 13, 253, 15, 63, 26, 165, 107, 63, 68, 169, 17, 63, 50, 4, 80, 63, 54, 91, 37, 63, 82, 40, 103, 63, 88, 168, 21, 63, 33, 4, 80, 63, 168, 115, 29, 63, 134, 144, 243, 61, 144, 126, 187, 61, 55, 225, 78, 63, 182, 78, 28, 63, 65, 127, 81, 63, 226, 200, 39, 63, 134, 144, 243, 61, 64, 64, 158, 61, 91, 91, 84, 63, 146, 174, 41, 63, 124, 13, 193, 61, 112, 213, 110, 61, 157, 132, 90, 63, 200, 151, 44, 63, 32, 239, 113, 63, 16, 90, 19, 63, 203, 73, 108, 63, 60, 195, 20, 63, 255, 232, 187, 61, 128, 18, 198, 61, 77, 217, 77, 63, 38, 193, 35, 63, 142, 230, 104, 63, 178, 157, 23, 63, 241, 215, 228, 61, 32, 144, 196, 61, 77, 217, 77, 63, 124, 8, 30, 63, 100, 91, 230, 61, 96, 179, 188, 61, 188, 6, 77, 63, 106, 52, 29, 63, 100, 91, 230, 61, 88, 136, 167, 61, 71, 203, 193, 61, 0, 109, 139, 61, 95, 179, 112, 63, 102, 242, 21, 63, 139, 112, 179, 61, 248, 104, 170, 61, 73, 157, 108, 63, 228, 247, 22, 63, 187, 96, 208, 61, 16, 81, 197, 61, 77, 217, 77, 63, 202, 228, 32, 63, 103, 153, 229, 61, 0, 162, 192, 61, 252, 111, 77, 63, 115, 158, 29, 63, 18, 19, 212, 61, 168, 122, 153, 61, 197, 172, 183, 61, 0, 62, 184, 61, 227, 193, 106, 63, 203, 74, 23, 63, 100, 91, 230, 61, 216, 29, 178, 61, 166, 157, 186, 61, 184, 234, 154, 61, 84, 168, 110, 63, 38, 117, 22, 63, 247, 229, 204, 61, 232, 141, 179, 61, 133, 124, 208, 61, 72, 132, 166, 61, 22, 163, 206, 61, 192, 111, 188, 61, 13, 113, 204, 62, 200, 125, 75, 62, 225, 238, 12, 63, 200, 118, 151, 61, 235, 56, 34, 63, 88, 231, 216, 61, 13, 167, 180, 62, 68, 57, 33, 62, 220, 17, 182, 62, 132, 44, 131, 62, 58, 119, 71, 63, 168, 111, 185, 61, 85, 190, 39, 63, 232, 198, 212, 61, 178, 70, 45, 63, 48, 177, 210, 61, 1, 106, 66, 63, 56, 194, 226, 61, 176, 171, 201, 62, 160, 129, 104, 62, 244, 220, 202, 62, 110, 55, 129, 62, 166, 213, 28, 63, 56, 53, 208, 61, 186, 219, 181, 62, 108, 148, 101, 62, 139, 250, 180, 62, 228, 204, 86, 62, 238, 205, 183, 62, 12, 30, 70, 62, 2, 242, 205, 62, 44, 204, 66, 62, 233, 185, 13, 63, 16, 195, 167, 61, 53, 65, 180, 62, 96, 167, 24, 62, 176, 203, 12, 63, 48, 65, 29, 62, 190, 47, 46, 61, 20, 254, 28, 62, 31, 159, 176, 61, 224, 21, 137, 62, 252, 253, 46, 63, 178, 157, 23, 63, 167, 7, 101, 63, 62, 66, 89, 63, 86, 45, 233, 61, 9, 251, 6, 63, 2, 44, 202, 62, 128, 4, 37, 62, 163, 119, 110, 63, 150, 65, 97, 63, 148, 248, 92, 61, 56, 179, 253, 61, 26, 219, 155, 62, 240, 246, 92, 63, 254, 72, 153, 62, 106, 223, 108, 63, 22, 220, 151, 62, 130, 85, 125, 63, 32, 39, 92, 63, 119, 48, 86, 63, 31, 190, 204, 61, 96, 149, 243, 62, 170, 243, 168, 61, 76, 167, 197, 62, 31, 158, 165, 61, 236, 21, 166, 62, 66, 181, 61, 63, 229, 238, 27, 63, 201, 119, 153, 62, 106, 105, 50, 63, 79, 229, 56, 63, 200, 242, 238, 61, 97, 255, 5, 62, 223, 195, 29, 63, 37, 65, 248, 61, 164, 83, 19, 63, 6, 189, 55, 61, 4, 3, 88, 62, 229, 213, 145, 62, 98, 50, 65, 63, 130, 198, 0, 63, 56, 201, 246, 61, 80, 57, 54, 62, 19, 156, 70, 63, 79, 35, 157, 62, 8, 94, 13, 62, 91, 97, 46, 63, 32, 107, 237, 61, 81, 217, 160, 62, 144, 33, 167, 61, 250, 212, 1, 63, 132, 234, 38, 62, 79, 93, 25, 62, 51, 80, 41, 63, 125, 146, 43, 62, 47, 164, 59, 63, 7, 9, 1, 63, 64, 171, 204, 61, 16, 147, 64, 62, 230, 61, 78, 63, 113, 27, 133, 62, 234, 64, 222, 62, 84, 111, 1, 63, 112, 100, 37, 61, 7, 238, 80, 62, 48, 42, 97, 63, 29, 90, 140, 62, 6, 99, 156, 62, 106, 194, 34, 63, 56, 219, 131, 61, 255, 37, 89, 62, 123, 134, 124, 63, 25, 172, 232, 62, 24, 100, 146, 61, 62, 62, 129, 61, 52, 90, 126, 62, 64, 222, 203, 62, 64, 52, 51, 62, 56, 191, 129, 61, 96, 163, 108, 62, 50, 174, 12, 63, 140, 15, 3, 62, 31, 49, 38, 63, 104, 116, 135, 61, 244, 254, 231, 62, 128, 176, 211, 61, 22, 195, 117, 62, 172, 199, 61, 62, 164, 197, 41, 63, 80, 77, 137, 61, 42, 197, 230, 62, 0, 143, 8, 62, 85, 165, 109, 62, 16, 171, 63, 62, 198, 82, 108, 63, 91, 8, 38, 63, 237, 211, 21, 63, 80, 35, 61, 62, 141, 11, 231, 62, 240, 203, 25, 62, 13, 254, 22, 63, 44, 83, 60, 62, 83, 9, 231, 62, 88, 141, 21, 62, 164, 253, 107, 63, 79, 175, 40, 63, 90, 18, 108, 63, 224, 162, 39, 63, 74, 37, 108, 63, 86, 210, 66, 63, 32, 38, 21, 63, 168, 56, 62, 62, 251, 62, 108, 63, 216, 187, 67, 63, 111, 17, 108, 63, 60, 76, 51, 63, 2, 15, 108, 63, 52, 71, 50, 63, 128, 210, 200, 62, 88, 253, 65, 62, 18, 191, 130, 62, 8, 95, 152, 61, 247, 174, 33, 63, 120, 98, 253, 61, 247, 174, 33, 63, 120, 98, 253, 61, 83, 121, 187, 62, 52, 47, 23, 62, 106, 104, 15, 63, 208, 41, 40, 62, 106, 104, 15, 63, 208, 41, 40, 62, 30, 109, 20, 63, 8, 118, 44, 62, 59, 228, 190, 62, 76, 110, 132, 62, 133, 234, 74, 63, 72, 153, 205, 61, 133, 234, 74, 63, 72, 153, 205, 61, 91, 122, 40, 63, 96, 239, 254, 61, 171, 36, 66, 63, 200, 141, 18, 62, 171, 36, 66, 63, 200, 141, 18, 62, 120, 97, 195, 62, 8, 253, 132, 62, 146, 117, 192, 62, 200, 213, 104, 62, 172, 140, 190, 62, 36, 255, 83, 62, 61, 67, 192, 62, 124, 19, 99, 62, 14, 20, 80, 63, 8, 70, 165, 61, 61, 67, 192, 62, 128, 47, 69, 62, 45, 175, 8, 63, 208, 41, 40, 62, 156, 48, 129, 62, 16, 144, 31, 62, 12, 205, 197, 62, 116, 66, 72, 62, 178, 43, 189, 62, 28, 161, 31, 62, 39, 47, 18, 63, 208, 41, 40, 62, 19, 243, 244, 62, 112, 59, 84, 62, 189, 199, 185, 62, 112, 51, 181, 61, 180, 59, 24, 63, 216, 197, 205, 61, 33, 202, 247, 62, 234, 176, 130, 62, 251, 177, 37, 63, 180, 32, 36, 62, 112, 37, 75, 63, 92, 185, 39, 62, 114, 51, 244, 62, 0, 193, 108, 62, 153, 156, 78, 63, 32, 131, 21, 62, 205, 33, 145, 62, 176, 238, 223, 61, 96, 230, 3, 63, 132, 133, 139, 62, 231, 0, 5, 63, 0, 129, 78, 62, 231, 0, 5, 63, 0, 129, 78, 62, 36, 152, 94, 63, 92, 185, 39, 62, 78, 96, 186, 62, 52, 47, 23, 62, 148, 134, 14, 63, 98, 244, 132, 62, 149, 99, 18, 63, 96, 3, 98, 62, 247, 117, 24, 63, 64, 104, 246, 61, 168, 1, 39, 63, 125, 232, 46, 63, 168, 1, 39, 63, 125, 232, 46, 63, 99, 182, 100, 61, 104, 177, 140, 62, 16, 3, 213, 62, 94, 181, 202, 62, 186, 189, 8, 63, 216, 159, 80, 63, 35, 189, 120, 62, 120, 155, 119, 62, 35, 189, 120, 62, 120, 155, 119, 62, 186, 245, 202, 62, 184, 35, 140, 62, 123, 188, 248, 62, 132, 133, 139, 62, 188, 33, 93, 63, 232, 50, 245, 61, 0, 0, 0, 0, 218, 145, 210, 62, 169, 191, 62, 63, 205, 146, 56, 63, 205, 29, 37, 63, 180, 32, 36, 62, 205, 29, 37, 63, 180, 32, 36, 62, 74, 67, 73, 63, 178, 157, 23, 63, 74, 67, 73, 63, 178, 157, 23, 63, 147, 255, 201, 61, 92, 55, 33, 63, 255, 89, 63, 63, 24, 197, 50, 62, 240, 222, 97, 63, 218, 232, 20, 63, 84, 200, 181, 61, 99, 155, 64, 63, 84, 200, 181, 61, 99, 155, 64, 63, 87, 179, 238, 62, 156, 218, 49, 63, 91, 39, 22, 63, 172, 199, 25, 63, 228, 72, 71, 63, 124, 8, 10, 63, 228, 72, 71, 63, 124, 8, 10, 63, 207, 190, 34, 63, 16, 83, 98, 61, 76, 137, 72, 63, 112, 75, 84, 62, 165, 161, 206, 62, 221, 177, 116, 63, 138, 202, 14, 63, 212, 75, 140, 62, 207, 190, 34, 63, 72, 95, 168, 61, 200, 67, 31, 62, 0, 0, 128, 63, 134, 58, 228, 62, 152, 136, 115, 63, 208, 185, 27, 63, 212, 75, 140, 62, 102, 20, 23, 63, 60, 71, 140, 62, 204, 9, 82, 63, 244, 185, 90, 62, 194, 163, 29, 63, 92, 149, 48, 63, 196, 8, 109, 63, 3, 94, 118, 63, 29, 148, 176, 62, 48, 28, 8, 62, 29, 148, 176, 62, 48, 28, 8, 62, 197, 197, 153, 62, 76, 110, 132, 62, 113, 202, 228, 62, 0, 196, 157, 62, 113, 202, 228, 62, 0, 196, 157, 62, 119, 215, 93, 63, 92, 185, 39, 62, 119, 215, 93, 63, 92, 185, 39, 62, 144, 46, 50, 63, 96, 221, 56, 62, 144, 46, 50, 63, 96, 221, 56, 62, 220, 157, 85, 63, 184, 230, 18, 63, 220, 157, 85, 63, 184, 230, 18, 63, 45, 123, 2, 62, 102, 215, 45, 63, 145, 9, 84, 63, 7, 153, 8, 63, 145, 9, 84, 63, 7, 153, 8, 63, 145, 9, 84, 63, 7, 153, 8, 63, 206, 193, 131, 62, 244, 114, 104, 62, 206, 193, 131, 62, 244, 114, 104, 62, 237, 98, 2, 63, 202, 51, 107, 63, 82, 242, 122, 62, 40, 249, 81, 62, 240, 252, 2, 63, 123, 216, 115, 63, 80, 139, 97, 63, 139, 112, 127, 63, 176, 175, 117, 63, 10, 241, 40, 63, 208, 185, 27, 63, 0, 110, 58, 63, 3, 208, 108, 63, 0, 0, 128, 63, 0, 0, 128, 63, 186, 214, 38, 63, 22, 138, 20, 62, 32, 103, 83, 61, 220, 72, 41, 63, 30, 198, 60, 63, 22, 138, 20, 62, 128, 18, 198, 61, 106, 104, 171, 62, 10, 241, 128, 62, 165, 73, 85, 63, 52, 255, 8, 62, 165, 73, 85, 63, 52, 255, 8, 62, 244, 112, 154, 62, 68, 197, 128, 62, 244, 112, 154, 62, 68, 197, 128, 62, 244, 112, 154, 62, 68, 197, 128, 62, 244, 112, 154, 62, 68, 197, 128, 62, 215, 218, 91, 63, 44, 10, 27, 62, 36, 242, 189, 61, 96, 76, 243, 61, 49, 92, 221, 62, 136, 63, 26, 62, 208, 126, 116, 63, 195, 17, 116, 63, 181, 139, 53, 63, 217, 6, 118, 63, 32, 39, 60, 63, 212, 131, 34, 62, 86, 212, 124, 63, 72, 253, 113, 63, 157, 131, 55, 63, 61, 240, 117, 63, 7, 206, 57, 63, 20, 206, 114, 63, 7, 206, 57, 63, 20, 206, 114, 63, 11, 126, 107, 63, 112, 154, 62, 61, 11, 126, 107, 63, 112, 154, 62, 61, 231, 85, 13, 62, 88, 222, 238, 61, 29, 204, 62, 63, 144, 135, 110, 63, 214, 55, 100, 63, 0, 130, 50, 61, 210, 197, 230, 61, 96, 202, 224, 61, 210, 197, 230, 61, 96, 202, 224, 61, 195, 186, 209, 62, 4, 225, 26, 62, 213, 3, 198, 61, 240, 17, 97, 62, 79, 5, 116, 63, 3, 9, 78, 63, 92, 231, 167, 62, 16, 144, 31, 62, 127, 219, 119, 63, 190, 222, 77, 63, 127, 219, 119, 63, 190, 222, 77, 63, 120, 127, 252, 61, 132, 8, 88, 62, 106, 104, 171, 62, 0, 184, 66, 62, 255, 9, 98, 63, 232, 178, 56, 62, 225, 126, 192, 61, 248, 26, 66, 62, 24, 64, 224, 62, 80, 93, 160, 61, 30, 254, 114, 63, 250, 66, 88, 63, 49, 63, 23, 62, 248, 32, 68, 62, 126, 28, 101, 63, 200, 216, 25, 62, 126, 28, 101, 63, 200, 216, 25, 62, 79, 229, 56, 63, 120, 28, 166, 61, 172, 224, 123, 63, 235, 226, 86, 63, 172, 224, 123, 63, 235, 226, 86, 63, 37, 206, 42, 63, 92, 171, 97, 63, 46, 84, 62, 63, 168, 35, 160, 61, 180, 116, 157, 62, 244, 187, 112, 62, 180, 116, 157, 62, 244, 187, 112, 62, 240, 222, 97, 63, 178, 187, 136, 62, 114, 112, 29, 63, 62, 180, 67, 63, 198, 253, 127, 63, 48, 42, 49, 63, 134, 144, 243, 61, 192, 93, 125, 61, 45, 209, 37, 63, 100, 171, 67, 63, 255, 6, 109, 63, 174, 19, 143, 62, 69, 183, 166, 62, 232, 191, 103, 62, 0, 139, 104, 63, 196, 173, 138, 62, 0, 139, 104, 63, 196, 173, 138, 62, 76, 221, 197, 62, 92, 142, 39, 62, 42, 173, 111, 63, 91, 8, 38, 63, 106, 104, 171, 62, 232, 237, 239, 61, 212, 96, 34, 63, 26, 53, 35, 63, 124, 41, 112, 63, 29, 172, 27, 63, 136, 156, 114, 63, 160, 51, 105, 63, 105, 143, 87, 61, 98, 78, 128, 62, 194, 249, 180, 62, 52, 47, 23, 62, 183, 241, 199, 62, 188, 41, 53, 62, 16, 35, 108, 63, 46, 197, 37, 63, 218, 202, 107, 63, 114, 112, 29, 63, 218, 202, 107, 63, 114, 112, 29, 63, 186, 221, 75, 61, 56, 109, 118, 62, 189, 199, 185, 62, 156, 159, 18, 62, 189, 199, 185, 62, 156, 159, 18, 62, 245, 14, 15, 63, 128, 99, 15, 62, 248, 79, 31, 63, 16, 81, 83, 61, 100, 233, 71, 63, 124, 232, 66, 62, 125, 149, 204, 62, 195, 241, 120, 63, 71, 199, 117, 62, 56, 51, 74, 62, 205, 63, 70, 63, 176, 24, 53, 62, 71, 199, 117, 62, 160, 73, 98, 62, 51, 22, 77, 62, 48, 182, 208, 61, 194, 163, 109, 62, 216, 100, 77, 62, 9, 23, 70, 63, 200, 155, 44, 62, 248, 109, 104, 62, 48, 182, 208, 61, 137, 41, 201, 62, 135, 137, 126, 63, 37, 234, 1, 63, 44, 103, 127, 63, 182, 43, 24, 63, 120, 125, 70, 62, 77, 159, 1, 63, 177, 78, 125, 63, 68, 51, 27, 63, 68, 34, 77, 62, 237, 98, 2, 63, 132, 72, 126, 63, 2, 215, 21, 63, 20, 89, 75, 62, 2, 215, 21, 63, 20, 89, 75, 62, 179, 93, 97, 63, 32, 128, 52, 62, 48, 43, 24, 63, 136, 16, 55, 62, 175, 90, 97, 63, 56, 122, 44, 62, 32, 41, 22, 63, 168, 40, 71, 62, 17, 1, 23, 63, 136, 16, 55, 62, 240, 222, 97, 63, 56, 231, 48, 62, 235, 111, 105, 62, 64, 158, 93, 62, 183, 65, 1, 63, 0, 0, 128, 63, 57, 123, 87, 62, 28, 148, 96, 62, 161, 191, 96, 63, 232, 6, 42, 62, 139, 112, 179, 61, 80, 162, 222, 61, 187, 70, 67, 63, 58, 32, 25, 63, 145, 211, 115, 63, 108, 208, 119, 63, 145, 211, 115, 63, 108, 208, 119, 63, 199, 103, 50, 61, 224, 73, 139, 61, 157, 70, 54, 63, 165, 189, 121, 63, 218, 226, 126, 63, 208, 13, 117, 63, 218, 226, 126, 63, 208, 13, 117, 63, 145, 72, 27, 61, 24, 173, 252, 61, 145, 72, 27, 61, 24, 173, 252, 61, 133, 237, 59, 63, 33, 119, 117, 63, 133, 237, 59, 63, 33, 119, 117, 63, 133, 237, 59, 63, 33, 119, 117, 63, 0, 0, 0, 0, 24, 173, 252, 61, 49, 63, 23, 62, 16, 193, 216, 61, 168, 141, 66, 63, 167, 202, 111, 63, 187, 70, 67, 63, 226, 200, 39, 63, 27, 159, 233, 61, 128, 18, 198, 61, 27, 159, 233, 61, 128, 18, 198, 61, 168, 141, 66, 63, 242, 207, 32, 63, 168, 141, 66, 63, 242, 207, 32, 63, 27, 71, 120, 63, 236, 160, 126, 63, 27, 71, 120, 63, 236, 160, 126, 63, 69, 216, 112, 61, 80, 85, 193, 61, 69, 216, 112, 61, 80, 85, 193, 61, 136, 188, 61, 63, 137, 12, 127, 63, 202, 196, 45, 60, 40, 201, 186, 61, 202, 196, 45, 60, 40, 201, 186, 61, 141, 182, 74, 63, 228, 189, 38, 63, 141, 182, 74, 63, 228, 189, 38, 63, 161, 243, 90, 61, 224, 14, 205, 61, 161, 243, 90, 61, 224, 14, 205, 61, 214, 226, 127, 63, 229, 154, 126, 63, 36, 70, 15, 61, 248, 55, 168, 61, 153, 158, 64, 63, 4, 230, 125, 63, 217, 150, 129, 60, 248, 55, 168, 61, 144, 17, 208, 60, 248, 55, 168, 61, 12, 233, 48, 61, 56, 170, 243, 61, 241, 215, 76, 63, 6, 212, 31, 63, 241, 215, 76, 63, 6, 212, 31, 63, 18, 104, 192, 62, 72, 161, 229, 61, 119, 44, 78, 63, 40, 216, 230, 61, 0, 60, 82, 63, 248, 86, 203, 61, 105, 253, 17, 63, 198, 109, 124, 63, 167, 7, 101, 63, 172, 84, 108, 63, 73, 102, 17, 63, 110, 105, 141, 62, 207, 190, 34, 63, 104, 196, 140, 61, 144, 22, 39, 62, 174, 127, 127, 63, 144, 22, 39, 62, 174, 127, 127, 63, 35, 103, 25, 63, 152, 73, 140, 62, 239, 198, 178, 62, 144, 165, 15, 62, 239, 198, 178, 62, 144, 165, 15, 62, 71, 199, 117, 62, 140, 62, 86, 62, 207, 189, 27, 63, 96, 123, 134, 61, 207, 189, 27, 63, 96, 123, 134, 61, 22, 194, 90, 62, 48, 182, 208, 61, 85, 165, 109, 62, 84, 31, 88, 62, 122, 29, 97, 62, 192, 94, 97, 62, 115, 43, 24, 63, 0, 199, 62, 62, 143, 255, 22, 63, 184, 28, 63, 62, 158, 153, 24, 63, 216, 249, 71, 62, 132, 17, 211, 62, 4, 155, 67, 62, 132, 17, 211, 62, 4, 155, 67, 62, 204, 98, 234, 62, 196, 138, 42, 62, 91, 63, 173, 62, 188, 234, 129, 62, 114, 51, 244, 62, 248, 136, 136, 62, 222, 3, 68, 63, 8, 70, 165, 61, 147, 143, 157, 61, 208, 217, 98, 62, 174, 240, 222, 62, 48, 83, 51, 62, 174, 240, 222, 62, 48, 83, 51, 62, 189, 138, 44, 63, 72, 95, 168, 61, 113, 88, 210, 62, 232, 227, 122, 62, 113, 88, 210, 62, 232, 227, 122, 62, 113, 88, 210, 62, 232, 227, 122, 62, 141, 241, 29, 63, 72, 95, 168, 61, 70, 34, 172, 62, 108, 209, 34, 62, 216, 154, 237, 62, 136, 149, 49, 62, 83, 175, 107, 62, 112, 58, 123, 61, 35, 186, 99, 63, 248, 110, 79, 63, 62, 34, 166, 60, 24, 173, 252, 61, 52, 44, 166, 62, 129, 63, 92, 63, 52, 44, 166, 62, 129, 63, 92, 63, 116, 11, 93, 62, 48, 182, 208, 61, 191, 214, 165, 62, 21, 171, 122, 63, 54, 62, 103, 63, 174, 19, 143, 62, 54, 62, 103, 63, 174, 19, 143, 62, 222, 227, 164, 62, 198, 106, 51, 63, 222, 227, 164, 62, 198, 106, 51, 63, 79, 229, 56, 63, 176, 164, 149, 61, 157, 44, 5, 62, 120, 209, 43, 63, 94, 14, 63, 63, 52, 84, 101, 62, 94, 14, 63, 63, 52, 84, 101, 62, 94, 14, 63, 63, 52, 84, 101, 62, 94, 14, 63, 63, 52, 84, 101, 62, 171, 65, 36, 63, 140, 185, 91, 62, 171, 65, 36, 63, 140, 185, 91, 62, 14, 192, 46, 63, 196, 138, 26, 62, 177, 252, 153, 62, 248, 204, 146, 61, 233, 215, 246, 62, 208, 41, 40, 62, 206, 137, 37, 63, 4, 176, 137, 62, 81, 216, 157, 62, 160, 249, 20, 63, 206, 140, 158, 62, 39, 134, 36, 63, 221, 125, 246, 62, 32, 125, 211, 61, 185, 142, 33, 63, 198, 0, 177, 62, 185, 142, 33, 63, 198, 0, 177, 62, 185, 142, 33, 63, 198, 0, 177, 62, 196, 93, 149, 62, 136, 188, 253, 62, 196, 93, 149, 62, 136, 188, 253, 62, 15, 211, 6, 63, 96, 217, 197, 61, 35, 189, 120, 62, 172, 143, 223, 62, 83, 65, 245, 62, 96, 77, 37, 61, 208, 185, 27, 63, 200, 88, 213, 62, 246, 93, 137, 62, 228, 241, 156, 62, 224, 190, 34, 63, 32, 116, 80, 61, 44, 130, 35, 63, 124, 216, 11, 63, 44, 130, 35, 63, 124, 216, 11, 63, 94, 74, 237, 62, 176, 217, 145, 61, 212, 13, 228, 62, 8, 239, 146, 61, 237, 214, 46, 63, 184, 230, 10, 63, 203, 100, 72, 63, 247, 201, 117, 63, 196, 8, 109, 63, 143, 27, 78, 63, 78, 181, 150, 61, 236, 23, 124, 62, 78, 181, 150, 61, 236, 23, 124, 62, 212, 68, 223, 62, 4, 225, 26, 62, 9, 78, 85, 63, 140, 100, 127, 63, 22, 193, 31, 62, 236, 139, 228, 62, 129, 232, 185, 62, 140, 215, 88, 63, 226, 34, 39, 62, 194, 43, 177, 62, 146, 117, 192, 62, 86, 41, 113, 63, 112, 177, 114, 63, 202, 201, 164, 62, 44, 244, 113, 62, 254, 123, 124, 63, 44, 244, 113, 62, 254, 123, 124, 63, 76, 23, 154, 62, 108, 180, 156, 62, 76, 23, 154, 62, 108, 180, 156, 62, 49, 148, 83, 62, 56, 109, 205, 61, 64, 165, 102, 63, 194, 108, 154, 62, 64, 165, 102, 63, 194, 108, 154, 62, 64, 165, 102, 63, 194, 108, 154, 62, 64, 165, 102, 63, 194, 108, 154, 62, 24, 180, 32, 62, 52, 178, 91, 62, 131, 249, 75, 62, 112, 58, 123, 61, 80, 139, 97, 63, 106, 161, 68, 63, 135, 110, 98, 63, 52, 219, 149, 62, 131, 249, 75, 62, 208, 217, 98, 62, 131, 249, 75, 62, 208, 217, 98, 62, 18, 105, 67, 63, 239, 56, 109, 63, 3, 208, 108, 63, 172, 26, 68, 63, 98, 16, 24, 62, 226, 58, 158, 62, 98, 16, 24, 62, 226, 58, 158, 62, 98, 16, 24, 62, 226, 58, 158, 62, 175, 11, 87, 63, 116, 124, 100, 63, 58, 204, 39, 62, 116, 150, 169, 62, 246, 92, 114, 63, 48, 213, 164, 62, 246, 92, 114, 63, 48, 213, 164, 62, 246, 92, 114, 63, 48, 213, 164, 62, 3, 209, 243, 62, 128, 107, 23, 62, 159, 85, 94, 63, 208, 38, 31, 63, 148, 51, 100, 63, 50, 5, 11, 63, 3, 209, 243, 62, 160, 239, 238, 61, 235, 139, 76, 63, 174, 186, 50, 63, 212, 73, 102, 63, 117, 60, 34, 63, 212, 73, 102, 63, 117, 60, 34, 63, 28, 8, 209, 62, 32, 189, 17, 62, 10, 105, 81, 63, 246, 13, 52, 63, 10, 105, 81, 63, 246, 13, 52, 63, 10, 105, 81, 63, 246, 13, 52, 63, 146, 117, 192, 62, 4, 225, 26, 62, 69, 15, 88, 63, 56, 50, 55, 63, 23, 71, 117, 63, 184, 232, 132, 62, 31, 189, 105, 63, 254, 13, 10, 63, 31, 189, 105, 63, 254, 13, 10, 63, 77, 48, 112, 63, 32, 67, 135, 62, 37, 178, 47, 62, 88, 116, 171, 61, 0, 117, 51, 62, 176, 64, 66, 61, 233, 44, 95, 63, 172, 26, 68, 63, 190, 20, 98, 63, 18, 50, 216, 62, 160, 26, 111, 62, 204, 32, 182, 62, 102, 74, 79, 63, 8, 88, 83, 63, 127, 247, 114, 63, 8, 246, 255, 61, 127, 247, 114, 63, 8, 246, 255, 61, 49, 63, 23, 62, 160, 45, 89, 61, 61, 157, 75, 62, 136, 53, 181, 61, 214, 53, 70, 63, 185, 140, 79, 63, 111, 72, 91, 63, 46, 62, 57, 63, 149, 72, 98, 63, 236, 247, 228, 62, 9, 109, 193, 62, 128, 192, 138, 61, 19, 101, 83, 63, 78, 98, 76, 63, 45, 63, 116, 63, 56, 39, 38, 62, 0, 117, 51, 62, 88, 116, 171, 61, 2, 43, 99, 63, 27, 214, 60, 63, 2, 43, 99, 63, 27, 214, 60, 63, 172, 85, 71, 63, 82, 242, 70, 63, 30, 226, 103, 63, 130, 144, 60, 63, 49, 63, 23, 62, 0, 231, 53, 62, 49, 63, 23, 62, 0, 231, 53, 62, 11, 42, 98, 63, 70, 39, 163, 62, 167, 118, 54, 62, 194, 112, 166, 62, 82, 97, 112, 63, 58, 33, 172, 62, 111, 129, 112, 63, 144, 1, 128, 61, 111, 129, 112, 63, 144, 1, 128, 61, 131, 249, 75, 62, 136, 27, 64, 62, 168, 141, 66, 63, 144, 187, 100, 63, 101, 224, 64, 62, 200, 237, 143, 62, 152, 133, 74, 63, 64, 18, 98, 63, 152, 133, 74, 63, 64, 18, 98, 63, 71, 85, 51, 62, 174, 96, 155, 62, 71, 85, 51, 62, 174, 96, 155, 62, 178, 18, 119, 63, 80, 76, 94, 61, 64, 108, 217, 62, 144, 156, 28, 62, 71, 173, 80, 63, 0, 0, 128, 63, 136, 156, 114, 63, 84, 229, 91, 63, 183, 122, 206, 62, 232, 122, 34, 62, 232, 79, 111, 63, 161, 216, 94, 63, 178, 46, 38, 63, 48, 203, 80, 61, 199, 185, 141, 62, 52, 51, 147, 62, 199, 185, 141, 62, 52, 51, 147, 62, 123, 51, 38, 63, 64, 131, 166, 61, 22, 195, 117, 62, 172, 160, 73, 62, 164, 197, 41, 63, 160, 117, 84, 61, 22, 195, 117, 62, 172, 238, 49, 62, 16, 37, 138, 62, 214, 113, 140, 62, 194, 163, 109, 62, 56, 51, 74, 62, 164, 166, 109, 62, 168, 34, 53, 62, 74, 210, 21, 63, 144, 19, 70, 62, 119, 74, 191, 62, 194, 186, 137, 62, 189, 84, 236, 62, 200, 93, 20, 62, 146, 117, 192, 62, 70, 205, 135, 62, 232, 189, 225, 62, 232, 188, 22, 62, 98, 157, 62, 63, 140, 242, 20, 63, 115, 219, 62, 63, 91, 7, 23, 63, 88, 59, 226, 62, 4, 225, 26, 62, 13, 254, 22, 63, 236, 1, 51, 62, 255, 89, 63, 63, 250, 235, 21, 63, 24, 237, 33, 63, 70, 233, 22, 63, 24, 237, 33, 63, 70, 233, 22, 63, 24, 237, 33, 63, 70, 233, 22, 63, 137, 124, 111, 63, 224, 162, 39, 63, 137, 124, 111, 63, 224, 162, 39, 63, 104, 34, 140, 62, 68, 169, 133, 62, 104, 34, 140, 62, 68, 169, 133, 62, 42, 168, 104, 63, 240, 162, 39, 63, 183, 41, 190, 62, 76, 110, 132, 62, 139, 249, 105, 63, 20, 93, 67, 63, 106, 132, 110, 63, 172, 26, 68, 63, 94, 74, 237, 62, 4, 225, 26, 62, 94, 74, 237, 62, 4, 225, 26, 62, 204, 38, 88, 63, 226, 200, 39, 63, 87, 66, 99, 63, 102, 17, 14, 63, 94, 74, 237, 62, 80, 244, 224, 61, 46, 1, 76, 63, 224, 248, 46, 63, 204, 38, 88, 63, 192, 118, 28, 63, 204, 38, 88, 63, 192, 118, 28, 63, 204, 38, 88, 63, 192, 118, 28, 63, 47, 134, 86, 63, 48, 211, 26, 63, 111, 72, 91, 63, 108, 230, 52, 63, 111, 72, 91, 63, 108, 230, 52, 63, 111, 72, 91, 63, 108, 230, 52, 63, 112, 177, 114, 63, 236, 195, 10, 63, 178, 18, 119, 63, 36, 244, 139, 62, 162, 239, 90, 63, 144, 215, 47, 63, 88, 86, 114, 63, 13, 253, 15, 63, 88, 86, 114, 63, 13, 253, 15, 63, 88, 86, 114, 63, 13, 253, 15, 63, 50, 4, 80, 63, 54, 91, 37, 63, 50, 4, 80, 63, 54, 91, 37, 63, 82, 40, 103, 63, 88, 168, 21, 63, 134, 144, 243, 61, 144, 126, 187, 61, 65, 127, 81, 63, 226, 200, 39, 63, 134, 144, 243, 61, 64, 64, 158, 61, 91, 91, 84, 63, 146, 174, 41, 63, 91, 91, 84, 63, 146, 174, 41, 63, 91, 91, 84, 63, 146, 174, 41, 63, 124, 13, 193, 61, 112, 213, 110, 61, 157, 132, 90, 63, 200, 151, 44, 63, 255, 232, 187, 61, 128, 18, 198, 61, 142, 230, 104, 63, 178, 157, 23, 63, 241, 215, 228, 61, 32, 144, 196, 61, 241, 215, 228, 61, 32, 144, 196, 61, 77, 217, 77, 63, 124, 8, 30, 63, 77, 217, 77, 63, 124, 8, 30, 63, 166, 157, 186, 61, 184, 234, 154, 61, 84, 168, 110, 63, 38, 117, 22, 63, 84, 168, 110, 63, 38, 117, 22, 63, 84, 168, 110, 63, 38, 117, 22, 63, 84, 168, 110, 63, 38, 117, 22, 63, 79, 35, 157, 62, 8, 94, 13, 62, 91, 97, 46, 63, 32, 107, 237, 61, 250, 212, 1, 63, 132, 234, 38, 62, 255, 37, 89, 62, 123, 134, 124, 63, 25, 172, 232, 62, 24, 100, 146, 61, 56, 191, 129, 61, 96, 163, 108, 62, 22, 195, 117, 62, 172, 199, 61, 62, 164, 197, 41, 63, 80, 77, 137, 61, 85, 165, 109, 62, 16, 171, 63, 62, 198, 82, 108, 63, 91, 8, 38, 63, 141, 11, 231, 62, 240, 203, 25, 62, 13, 254, 22, 63, 44, 83, 60, 62, 32, 38, 21, 63, 168, 56, 62, 62), +"bone_aabbs": [AABB(-0.00294557, 0.0148587, -0.00433929, 0.00679163, 0.0137467, 0.00867858), AABB(-0.00192146, 0.023735, -0.00412506, 0.00576752, 0.0075429, 0.00825013), AABB(-0.00268807, 0.025856, -0.0056523, 0.00678927, 0.0114402, 0.0112021), AABB(-0.00303423, 0.0312779, -0.00713535, 0.00713543, 0.00820238, 0.0142707), AABB(-0.00260682, 0.0370856, -0.00198495, 0.00560647, 0.00787197, 0.00396992), AABB(-0.00260682, 0.0382648, -0.00198495, 0.00560647, 0.00669284, 0.00396992), AABB(0, 0, 0, -1, -1, -1), AABB(-0.00255216, 0.0313548, -0.00713535, 0.0048114, 0.00611582, 0.00560925), AABB(-0.00231882, 0.0290631, -0.0116788, 0.00488642, 0.00840758, 0.00787956), AABB(-0.00198606, 0.0255069, -0.0143239, 0.00641074, 0.0105272, 0.00870252), AABB(0.00243501, 0.0248854, -0.0153557, 0.00241837, 0.00230193, 0.00289647), AABB(0.00243501, 0.0246401, -0.0155874, 0.00290946, 0.00254725, 0.00312817), AABB(0.00243501, 0.024512, -0.0156431, 0.00293809, 0.00267534, 0.00318386), AABB(0.00375502, 0.024512, -0.0156431, 0.00161808, 0.00148189, 0.00125061), AABB(0, 0, 0, -1, -1, -1), AABB(-0.00255216, 0.0313548, 0.00152613, 0.0048114, 0.00611582, 0.00560924), AABB(-0.00232889, 0.0290631, 0.00305225, 0.00489649, 0.00840758, 0.00862658), AABB(-0.00081057, 0.0255069, 0.00562142, 0.00523525, 0.00889442, 0.00870252), AABB(0.00243501, 0.0248854, 0.0124593, 0.00232621, 0.00230193, 0.00249539), AABB(0.00243501, 0.0246401, 0.0124593, 0.00290946, 0.00254725, 0.00312817), AABB(0.00243501, 0.024512, 0.0124593, 0.00293809, 0.00267534, 0.00318385), AABB(0.00375502, 0.024512, 0.0143925, 0.00161808, 0.00148189, 0.0012506), AABB(0, 0, 0, -1, -1, -1), AABB(-0.003166, 0.00729296, -0.00433929, 0.00655632, 0.016442, 0.00818252), AABB(-0.003166, -0.00017495, -0.00331224, 0.00523103, 0.0129723, 0.00292091), AABB(-0.003166, -0.00017495, -0.00331224, 0.00523103, 0.00834222, 0.0029168), AABB(-0.00181421, -0.00017495, -0.00221569, 0.0058373, 0.00239577, 0.00182025), AABB(0, 0, 0, -1, -1, -1), AABB(-0.003166, 0.00729296, 3.2538e-09, 0.00655632, 0.0152706, 0.00433929), AABB(-0.003166, -0.00017495, 0.000391342, 0.00523103, 0.0154874, 0.0029209), AABB(-0.003166, -0.00017495, 0.00039544, 0.00523103, 0.00834222, 0.0029168), AABB(-0.00181421, -0.00017495, 0.00039544, 0.0058373, 0.00239577, 0.00182025)], +"format": 34359745559, +"index_count": 3084, +"index_data": PackedByteArray(191, 1, 55, 0, 68, 0, 191, 1, 201, 1, 55, 0, 202, 1, 36, 0, 53, 0, 202, 1, 193, 1, 36, 0, 209, 1, 21, 0, 27, 0, 209, 1, 207, 1, 21, 0, 197, 1, 11, 0, 9, 0, 197, 1, 200, 1, 11, 0, 51, 0, 64, 0, 48, 0, 51, 0, 61, 0, 64, 0, 65, 0, 57, 0, 66, 0, 65, 0, 62, 0, 57, 0, 198, 1, 4, 0, 12, 0, 198, 1, 194, 1, 4, 0, 61, 0, 42, 0, 60, 0, 61, 0, 51, 0, 42, 0, 205, 1, 9, 0, 24, 0, 205, 1, 197, 1, 9, 0, 69, 0, 63, 0, 75, 0, 69, 0, 56, 0, 63, 0, 199, 1, 11, 0, 200, 1, 199, 1, 13, 0, 11, 0, 201, 1, 14, 0, 202, 1, 201, 1, 17, 0, 14, 0, 204, 1, 20, 0, 206, 1, 204, 1, 23, 0, 20, 0, 62, 0, 64, 0, 61, 0, 62, 0, 63, 0, 64, 0, 54, 0, 63, 0, 56, 0, 54, 0, 64, 0, 63, 0, 61, 0, 57, 0, 62, 0, 61, 0, 60, 0, 57, 0, 54, 0, 48, 0, 64, 0, 54, 0, 37, 0, 48, 0, 73, 0, 66, 0, 71, 0, 73, 0, 65, 0, 66, 0, 65, 0, 73, 0, 75, 0, 195, 1, 26, 0, 32, 0, 195, 1, 208, 1, 26, 0, 75, 0, 62, 0, 65, 0, 75, 0, 63, 0, 62, 0, 210, 1, 30, 0, 192, 1, 210, 1, 1, 0, 30, 0, 213, 1, 71, 0, 195, 1, 213, 1, 39, 0, 71, 0, 45, 0, 76, 0, 74, 0, 45, 0, 47, 0, 76, 0, 40, 0, 74, 0, 72, 0, 40, 0, 45, 0, 74, 0, 47, 0, 70, 0, 76, 0, 47, 0, 34, 0, 70, 0, 229, 1, 83, 0, 216, 1, 229, 1, 100, 0, 83, 0, 79, 0, 220, 0, 98, 0, 79, 0, 222, 0, 220, 0, 202, 0, 124, 0, 132, 0, 202, 0, 199, 0, 124, 0, 224, 1, 87, 0, 217, 1, 224, 1, 112, 0, 87, 0, 214, 1, 118, 0, 222, 1, 214, 1, 86, 0, 118, 0, 222, 1, 115, 0, 223, 1, 222, 1, 118, 0, 115, 0, 223, 1, 112, 0, 224, 1, 223, 1, 115, 0, 112, 0, 189, 0, 92, 0, 194, 0, 189, 0, 77, 0, 92, 0, 194, 0, 94, 0, 195, 0, 194, 0, 92, 0, 94, 0, 195, 0, 97, 0, 197, 0, 195, 0, 94, 0, 97, 0, 219, 1, 105, 0, 225, 1, 219, 1, 81, 0, 105, 0, 225, 1, 102, 0, 226, 1, 225, 1, 105, 0, 102, 0, 227, 1, 100, 0, 229, 1, 227, 1, 104, 0, 100, 0, 239, 1, 143, 0, 148, 0, 239, 1, 235, 1, 143, 0, 233, 1, 120, 0, 138, 0, 233, 1, 230, 1, 120, 0, 232, 1, 126, 0, 134, 0, 232, 1, 231, 1, 126, 0, 219, 1, 134, 0, 81, 0, 219, 1, 232, 1, 134, 0, 214, 1, 138, 0, 86, 0, 214, 1, 233, 1, 138, 0, 189, 0, 132, 0, 77, 0, 189, 0, 202, 0, 132, 0, 235, 1, 165, 0, 143, 0, 235, 1, 241, 1, 165, 0, 237, 1, 139, 0, 155, 0, 237, 1, 234, 1, 139, 0, 210, 0, 145, 0, 150, 0, 210, 0, 204, 0, 145, 0, 207, 0, 141, 0, 157, 0, 207, 0, 203, 0, 141, 0, 199, 0, 159, 0, 124, 0, 199, 0, 206, 0, 159, 0, 206, 0, 157, 0, 159, 0, 206, 0, 207, 0, 157, 0, 201, 0, 152, 0, 130, 0, 201, 0, 209, 0, 152, 0, 208, 0, 150, 0, 151, 0, 208, 0, 210, 0, 150, 0, 230, 1, 153, 0, 120, 0, 230, 1, 236, 1, 153, 0, 236, 1, 155, 0, 153, 0, 236, 1, 237, 1, 155, 0, 231, 1, 146, 0, 126, 0, 231, 1, 238, 1, 146, 0, 238, 1, 148, 0, 146, 0, 238, 1, 239, 1, 148, 0, 212, 0, 171, 0, 163, 0, 212, 0, 215, 0, 171, 0, 234, 1, 161, 0, 139, 0, 234, 1, 240, 1, 161, 0, 204, 0, 167, 0, 145, 0, 204, 0, 213, 0, 167, 0, 203, 0, 163, 0, 141, 0, 203, 0, 212, 0, 163, 0, 243, 1, 183, 0, 173, 0, 243, 1, 246, 1, 183, 0, 241, 1, 173, 0, 165, 0, 241, 1, 243, 1, 173, 0, 240, 1, 169, 0, 161, 0, 240, 1, 242, 1, 169, 0, 214, 0, 176, 0, 168, 0, 214, 0, 216, 0, 176, 0, 179, 0, 65, 1, 218, 0, 179, 0, 57, 1, 65, 1, 242, 1, 177, 0, 169, 0, 242, 1, 244, 1, 177, 0, 216, 0, 188, 0, 176, 0, 216, 0, 218, 0, 188, 0, 215, 0, 180, 0, 171, 0, 215, 0, 217, 0, 180, 0, 174, 0, 217, 0, 215, 0, 174, 0, 184, 0, 217, 0, 170, 0, 218, 0, 216, 0, 170, 0, 179, 0, 218, 0, 217, 0, 58, 1, 180, 0, 217, 0, 64, 1, 58, 1, 162, 0, 216, 0, 214, 0, 162, 0, 170, 0, 216, 0, 144, 0, 212, 0, 203, 0, 144, 0, 166, 0, 212, 0, 140, 0, 214, 0, 205, 0, 140, 0, 162, 0, 214, 0, 166, 0, 215, 0, 212, 0, 166, 0, 174, 0, 215, 0, 154, 0, 211, 0, 209, 0, 154, 0, 156, 0, 211, 0, 123, 0, 209, 0, 201, 0, 123, 0, 154, 0, 209, 0, 147, 0, 207, 0, 206, 0, 147, 0, 149, 0, 207, 0, 127, 0, 206, 0, 199, 0, 127, 0, 147, 0, 206, 0, 149, 0, 203, 0, 207, 0, 149, 0, 144, 0, 203, 0, 156, 0, 205, 0, 211, 0, 156, 0, 140, 0, 205, 0, 82, 0, 202, 0, 189, 0, 82, 0, 135, 0, 202, 0, 103, 0, 197, 0, 99, 0, 103, 0, 195, 0, 197, 0, 106, 0, 195, 0, 103, 0, 106, 0, 194, 0, 195, 0, 82, 0, 194, 0, 106, 0, 82, 0, 189, 0, 194, 0, 42, 1, 80, 0, 45, 1, 42, 1, 191, 0, 80, 0, 135, 0, 199, 0, 202, 0, 135, 0, 127, 0, 199, 0, 198, 0, 233, 0, 101, 0, 198, 0, 235, 0, 233, 0, 16, 1, 246, 0, 12, 1, 16, 1, 249, 0, 246, 0, 15, 1, 238, 0, 11, 1, 15, 1, 241, 0, 238, 0, 83, 0, 225, 0, 190, 0, 83, 0, 229, 0, 225, 0, 101, 0, 230, 0, 84, 0, 101, 0, 233, 0, 230, 0, 96, 0, 234, 0, 196, 0, 96, 0, 219, 0, 234, 0, 191, 0, 223, 0, 80, 0, 191, 0, 226, 0, 223, 0, 247, 0, 133, 1, 244, 0, 247, 0, 136, 1, 133, 1, 244, 0, 131, 1, 242, 0, 244, 0, 133, 1, 131, 1, 10, 1, 250, 0, 17, 1, 10, 1, 237, 0, 250, 0, 19, 1, 240, 0, 14, 1, 19, 1, 243, 0, 240, 0, 21, 1, 242, 0, 18, 1, 21, 1, 244, 0, 242, 0, 13, 1, 245, 0, 22, 1, 13, 1, 248, 0, 245, 0, 35, 1, 8, 1, 31, 1, 35, 1, 1, 1, 8, 1, 30, 1, 5, 1, 27, 1, 30, 1, 7, 1, 5, 1, 28, 1, 255, 0, 24, 1, 28, 1, 6, 1, 255, 0, 32, 1, 3, 1, 25, 1, 32, 1, 252, 0, 3, 1, 23, 1, 252, 0, 32, 1, 23, 1, 254, 0, 252, 0, 26, 1, 1, 1, 35, 1, 26, 1, 4, 1, 1, 1, 1, 1, 22, 1, 8, 1, 1, 1, 13, 1, 22, 1, 7, 1, 18, 1, 5, 1, 7, 1, 21, 1, 18, 1, 6, 1, 15, 1, 255, 0, 6, 1, 20, 1, 15, 1, 251, 0, 16, 1, 2, 1, 251, 0, 9, 1, 16, 1, 255, 0, 11, 1, 253, 0, 255, 0, 15, 1, 11, 1, 2, 1, 12, 1, 0, 1, 2, 1, 16, 1, 12, 1, 234, 0, 34, 1, 232, 0, 234, 0, 25, 1, 34, 1, 221, 0, 32, 1, 219, 0, 221, 0, 23, 1, 32, 1, 219, 0, 25, 1, 234, 0, 219, 0, 32, 1, 25, 1, 227, 0, 24, 1, 224, 0, 227, 0, 28, 1, 24, 1, 229, 0, 27, 1, 225, 0, 229, 0, 30, 1, 27, 1, 231, 0, 29, 1, 228, 0, 231, 0, 33, 1, 29, 1, 39, 1, 44, 0, 192, 0, 39, 1, 49, 1, 44, 0, 216, 1, 193, 0, 250, 1, 216, 1, 83, 0, 193, 0, 83, 0, 40, 1, 193, 0, 83, 0, 190, 0, 40, 1, 218, 1, 37, 1, 220, 1, 218, 1, 88, 0, 37, 1, 46, 1, 50, 1, 41, 1, 46, 1, 55, 1, 50, 1, 221, 1, 55, 1, 46, 1, 221, 1, 251, 1, 55, 1, 249, 1, 52, 1, 44, 1, 249, 1, 252, 1, 52, 1, 212, 1, 45, 0, 40, 0, 212, 1, 253, 1, 45, 0, 44, 0, 49, 1, 46, 0, 46, 0, 54, 1, 33, 0, 46, 0, 49, 1, 54, 1, 211, 1, 48, 1, 2, 0, 211, 1, 251, 1, 48, 1, 255, 1, 73, 1, 61, 1, 255, 1, 2, 2, 73, 1, 64, 1, 70, 1, 58, 1, 64, 1, 76, 1, 70, 1, 184, 0, 64, 1, 217, 0, 184, 0, 60, 1, 64, 1, 218, 0, 63, 1, 188, 0, 218, 0, 65, 1, 63, 1, 247, 1, 61, 1, 185, 0, 247, 1, 255, 1, 61, 1, 245, 1, 56, 1, 178, 0, 245, 1, 254, 1, 56, 1, 68, 1, 85, 1, 77, 1, 68, 1, 80, 1, 85, 1, 254, 1, 67, 1, 56, 1, 254, 1, 1, 2, 67, 1, 65, 1, 75, 1, 63, 1, 65, 1, 77, 1, 75, 1, 57, 1, 77, 1, 65, 1, 57, 1, 68, 1, 77, 1, 60, 1, 76, 1, 64, 1, 60, 1, 72, 1, 76, 1, 84, 1, 109, 1, 83, 1, 84, 1, 117, 1, 109, 1, 89, 1, 76, 1, 72, 1, 76, 1, 91, 1, 84, 1, 76, 1, 89, 1, 91, 1, 76, 1, 83, 1, 70, 1, 76, 1, 84, 1, 83, 1, 121, 1, 100, 1, 85, 1, 100, 1, 115, 1, 99, 1, 100, 1, 121, 1, 115, 1, 0, 2, 79, 1, 66, 1, 0, 2, 4, 2, 79, 1, 5, 2, 111, 1, 86, 1, 5, 2, 13, 2, 111, 1, 80, 1, 121, 1, 85, 1, 80, 1, 105, 1, 121, 1, 85, 1, 75, 1, 77, 1, 75, 1, 100, 1, 96, 1, 75, 1, 85, 1, 100, 1, 3, 2, 104, 1, 78, 1, 3, 2, 11, 2, 104, 1, 2, 2, 90, 1, 73, 1, 2, 2, 9, 2, 90, 1, 112, 1, 91, 1, 87, 1, 91, 1, 117, 1, 84, 1, 91, 1, 112, 1, 117, 1, 87, 1, 91, 1, 92, 1, 92, 1, 91, 1, 89, 1, 96, 1, 100, 1, 103, 1, 103, 1, 100, 1, 99, 1, 6, 2, 102, 1, 98, 1, 6, 2, 7, 2, 102, 1, 8, 2, 95, 1, 101, 1, 8, 2, 9, 2, 95, 1, 14, 2, 110, 1, 12, 2, 14, 2, 119, 1, 110, 1, 116, 1, 119, 1, 118, 1, 120, 1, 123, 1, 122, 1, 10, 2, 108, 1, 107, 1, 10, 2, 11, 2, 108, 1, 119, 1, 111, 1, 110, 1, 119, 1, 116, 1, 111, 1, 12, 2, 114, 1, 113, 1, 12, 2, 13, 2, 114, 1, 123, 1, 104, 1, 106, 1, 123, 1, 120, 1, 104, 1, 107, 1, 116, 1, 118, 1, 107, 1, 108, 1, 116, 1, 113, 1, 120, 1, 122, 1, 113, 1, 114, 1, 120, 1, 14, 2, 118, 1, 119, 1, 14, 2, 15, 2, 118, 1, 10, 2, 118, 1, 15, 2, 10, 2, 107, 1, 118, 1, 125, 1, 150, 1, 139, 1, 125, 1, 140, 1, 150, 1, 139, 1, 149, 1, 137, 1, 139, 1, 150, 1, 149, 1, 241, 0, 126, 1, 238, 0, 241, 0, 129, 1, 126, 1, 249, 0, 135, 1, 246, 0, 249, 0, 138, 1, 135, 1, 236, 0, 138, 1, 249, 0, 236, 0, 124, 1, 138, 1, 242, 0, 128, 1, 239, 0, 242, 0, 131, 1, 128, 1, 148, 1, 157, 1, 146, 1, 148, 1, 159, 1, 157, 1, 147, 1, 156, 1, 145, 1, 147, 1, 158, 1, 156, 1, 130, 1, 142, 1, 127, 1, 130, 1, 144, 1, 142, 1, 133, 1, 145, 1, 131, 1, 133, 1, 147, 1, 145, 1, 134, 1, 146, 1, 132, 1, 134, 1, 148, 1, 146, 1, 129, 1, 141, 1, 126, 1, 129, 1, 143, 1, 141, 1, 167, 1, 153, 1, 155, 1, 153, 1, 179, 1, 165, 1, 153, 1, 167, 1, 179, 1, 163, 1, 161, 1, 151, 1, 161, 1, 183, 1, 176, 1, 161, 1, 163, 1, 183, 1, 143, 1, 152, 1, 141, 1, 143, 1, 154, 1, 152, 1, 150, 1, 160, 1, 149, 1, 150, 1, 161, 1, 160, 1, 140, 1, 161, 1, 150, 1, 140, 1, 151, 1, 161, 1, 144, 1, 153, 1, 142, 1, 144, 1, 155, 1, 153, 1, 190, 1, 165, 1, 179, 1, 190, 1, 177, 1, 165, 1, 189, 1, 167, 1, 184, 1, 189, 1, 188, 1, 167, 1, 171, 1, 156, 1, 158, 1, 156, 1, 185, 1, 168, 1, 156, 1, 171, 1, 185, 1, 172, 1, 157, 1, 159, 1, 157, 1, 180, 1, 169, 1, 157, 1, 172, 1, 180, 1, 166, 1, 152, 1, 154, 1, 152, 1, 178, 1, 164, 1, 152, 1, 166, 1, 178, 1, 176, 1, 160, 1, 161, 1, 160, 1, 187, 1, 174, 1, 160, 1, 176, 1, 187, 1, 186, 1, 188, 1, 189, 1, 186, 1, 175, 1, 188, 1, 173, 1, 189, 1, 181, 1, 173, 1, 186, 1, 189, 1, 181, 1, 184, 1, 170, 1, 181, 1, 189, 1, 184, 1, 182, 1, 177, 1, 190, 1, 182, 1, 162, 1, 177, 1, 175, 1, 190, 1, 188, 1, 175, 1, 182, 1, 190, 1, 188, 1, 179, 1, 167, 1, 188, 1, 190, 1, 179, 1, 106, 1, 15, 2, 123, 1, 106, 1, 10, 2, 15, 2, 122, 1, 15, 2, 14, 2, 122, 1, 123, 1, 15, 2, 110, 1, 13, 2, 12, 2, 110, 1, 111, 1, 13, 2, 106, 1, 11, 2, 10, 2, 106, 1, 104, 1, 11, 2, 122, 1, 12, 2, 113, 1, 122, 1, 14, 2, 12, 2, 94, 1, 9, 2, 8, 2, 94, 1, 90, 1, 9, 2, 88, 1, 7, 2, 6, 2, 88, 1, 93, 1, 7, 2, 74, 1, 9, 2, 2, 2, 74, 1, 95, 1, 9, 2, 81, 1, 11, 2, 3, 2, 81, 1, 108, 1, 11, 2, 97, 1, 13, 2, 5, 2, 97, 1, 114, 1, 13, 2, 69, 1, 4, 2, 0, 2, 69, 1, 82, 1, 4, 2, 59, 1, 1, 2, 254, 1, 59, 1, 71, 1, 1, 2, 182, 0, 254, 1, 245, 1, 182, 0, 59, 1, 254, 1, 187, 0, 255, 1, 247, 1, 187, 0, 62, 1, 255, 1, 62, 1, 2, 2, 255, 1, 62, 1, 74, 1, 2, 2, 35, 0, 251, 1, 211, 1, 35, 0, 55, 1, 251, 1, 6, 0, 253, 1, 212, 1, 6, 0, 53, 1, 253, 1, 192, 0, 252, 1, 249, 1, 192, 0, 44, 0, 252, 1, 38, 1, 251, 1, 221, 1, 38, 1, 48, 1, 251, 1, 80, 0, 220, 1, 45, 1, 80, 0, 218, 1, 220, 1, 90, 0, 248, 1, 43, 1, 90, 0, 215, 1, 248, 1, 172, 0, 244, 1, 242, 1, 172, 0, 181, 0, 244, 1, 164, 0, 242, 1, 240, 1, 164, 0, 172, 0, 242, 1, 167, 0, 243, 1, 241, 1, 167, 0, 175, 0, 243, 1, 175, 0, 246, 1, 243, 1, 175, 0, 186, 0, 246, 1, 142, 0, 240, 1, 234, 1, 142, 0, 164, 0, 240, 1, 151, 0, 239, 1, 238, 1, 151, 0, 150, 0, 239, 1, 128, 0, 238, 1, 231, 1, 128, 0, 151, 0, 238, 1, 160, 0, 237, 1, 236, 1, 160, 0, 158, 0, 237, 1, 125, 0, 236, 1, 230, 1, 125, 0, 160, 0, 236, 1, 158, 0, 234, 1, 237, 1, 158, 0, 142, 0, 234, 1, 145, 0, 241, 1, 235, 1, 145, 0, 167, 0, 241, 1, 78, 0, 233, 1, 214, 1, 78, 0, 133, 0, 233, 1, 89, 0, 232, 1, 219, 1, 89, 0, 131, 0, 232, 1, 131, 0, 231, 1, 232, 1, 131, 0, 128, 0, 231, 1, 133, 0, 230, 1, 233, 1, 133, 0, 125, 0, 230, 1, 150, 0, 235, 1, 239, 1, 150, 0, 145, 0, 235, 1, 109, 0, 228, 1, 107, 0, 109, 0, 226, 1, 228, 1, 110, 0, 226, 1, 109, 0, 110, 0, 225, 1, 226, 1, 89, 0, 225, 1, 110, 0, 89, 0, 219, 1, 225, 1, 95, 0, 224, 1, 98, 0, 95, 0, 223, 1, 224, 1, 93, 0, 223, 1, 95, 0, 93, 0, 222, 1, 223, 1, 78, 0, 222, 1, 93, 0, 78, 0, 214, 1, 222, 1, 98, 0, 217, 1, 79, 0, 98, 0, 224, 1, 217, 1, 108, 0, 216, 1, 91, 0, 108, 0, 229, 1, 216, 1, 7, 0, 195, 1, 32, 0, 7, 0, 213, 1, 195, 1, 34, 0, 192, 1, 70, 0, 34, 0, 210, 1, 192, 1, 71, 0, 208, 1, 195, 1, 71, 0, 66, 0, 208, 1, 60, 0, 206, 1, 57, 0, 60, 0, 204, 1, 206, 1, 55, 0, 202, 1, 53, 0, 55, 0, 201, 1, 202, 1, 50, 0, 200, 1, 52, 0, 50, 0, 199, 1, 200, 1, 59, 0, 196, 1, 203, 1, 59, 0, 41, 0, 196, 1, 49, 0, 194, 1, 198, 1, 49, 0, 38, 0, 194, 1, 43, 0, 200, 1, 197, 1, 43, 0, 52, 0, 200, 1, 67, 0, 207, 1, 209, 1, 67, 0, 58, 0, 207, 1, 14, 0, 193, 1, 202, 1, 14, 0, 3, 0, 193, 1, 28, 0, 201, 1, 191, 1, 28, 0, 17, 0, 201, 1, 121, 3, 38, 2, 130, 3, 121, 3, 50, 2, 38, 2, 132, 3, 19, 2, 123, 3, 132, 3, 37, 2, 19, 2, 135, 3, 19, 0, 134, 3, 135, 3, 25, 0, 19, 0, 126, 3, 11, 0, 129, 3, 126, 3, 9, 0, 11, 0, 33, 2, 46, 2, 43, 2, 33, 2, 31, 2, 46, 2, 47, 2, 40, 2, 44, 2, 47, 2, 49, 2, 40, 2, 127, 3, 4, 0, 123, 3, 127, 3, 12, 0, 4, 0, 43, 2, 24, 2, 33, 2, 43, 2, 42, 2, 24, 2, 133, 3, 8, 0, 125, 3, 133, 3, 22, 0, 8, 0, 50, 2, 45, 2, 38, 2, 50, 2, 55, 2, 45, 2, 127, 3, 10, 0, 12, 0, 127, 3, 128, 3, 10, 0, 130, 3, 15, 0, 18, 0, 130, 3, 131, 3, 15, 0, 133, 3, 19, 0, 22, 0, 133, 3, 134, 3, 19, 0, 44, 2, 46, 2, 45, 2, 44, 2, 43, 2, 46, 2, 36, 2, 45, 2, 46, 2, 36, 2, 38, 2, 45, 2, 43, 2, 40, 2, 42, 2, 43, 2, 44, 2, 40, 2, 36, 2, 31, 2, 18, 2, 36, 2, 46, 2, 31, 2, 54, 2, 49, 2, 47, 2, 54, 2, 53, 2, 49, 2, 47, 2, 55, 2, 54, 2, 124, 3, 25, 0, 135, 3, 124, 3, 31, 0, 25, 0, 55, 2, 44, 2, 45, 2, 55, 2, 47, 2, 44, 2, 137, 3, 30, 0, 1, 0, 137, 3, 122, 3, 30, 0, 138, 3, 52, 2, 20, 2, 138, 3, 124, 3, 52, 2, 27, 2, 55, 2, 29, 2, 27, 2, 54, 2, 55, 2, 21, 2, 54, 2, 27, 2, 21, 2, 53, 2, 54, 2, 30, 2, 51, 2, 17, 2, 30, 2, 56, 2, 51, 2, 154, 3, 62, 2, 71, 2, 154, 3, 141, 3, 62, 2, 59, 2, 170, 2, 173, 2, 59, 2, 67, 2, 170, 2, 151, 2, 75, 2, 149, 2, 151, 2, 79, 2, 75, 2, 151, 3, 88, 0, 113, 0, 151, 3, 143, 3, 88, 0, 140, 3, 116, 0, 85, 0, 140, 3, 147, 3, 116, 0, 148, 3, 114, 0, 117, 0, 148, 3, 149, 3, 114, 0, 149, 3, 111, 0, 114, 0, 149, 3, 150, 3, 111, 0, 135, 2, 65, 2, 58, 2, 135, 2, 142, 2, 65, 2, 142, 2, 66, 2, 65, 2, 142, 2, 144, 2, 66, 2, 144, 2, 68, 2, 66, 2, 144, 2, 146, 2, 68, 2, 144, 3, 74, 2, 61, 2, 144, 3, 152, 3, 74, 2, 152, 3, 73, 2, 74, 2, 152, 3, 153, 3, 73, 2, 153, 3, 71, 2, 73, 2, 153, 3, 154, 3, 71, 2, 169, 3, 85, 2, 163, 3, 169, 3, 90, 2, 85, 2, 161, 3, 119, 0, 156, 3, 161, 3, 137, 0, 119, 0, 159, 3, 77, 2, 158, 3, 159, 3, 80, 2, 77, 2, 144, 3, 80, 2, 159, 3, 144, 3, 61, 2, 80, 2, 140, 3, 136, 0, 160, 3, 140, 3, 85, 0, 136, 0, 135, 2, 79, 2, 151, 2, 135, 2, 58, 2, 79, 2, 163, 3, 111, 2, 171, 3, 163, 3, 85, 2, 111, 2, 167, 3, 81, 2, 162, 3, 167, 3, 99, 2, 81, 2, 160, 2, 88, 2, 154, 2, 160, 2, 92, 2, 88, 2, 158, 2, 83, 2, 153, 2, 158, 2, 101, 2, 83, 2, 149, 2, 104, 2, 156, 2, 149, 2, 75, 2, 104, 2, 156, 2, 101, 2, 158, 2, 156, 2, 104, 2, 101, 2, 200, 0, 94, 2, 159, 2, 200, 0, 129, 0, 94, 2, 159, 2, 92, 2, 160, 2, 159, 2, 94, 2, 92, 2, 157, 3, 97, 2, 165, 3, 157, 3, 122, 0, 97, 2, 164, 3, 98, 2, 166, 3, 164, 3, 95, 2, 98, 2, 158, 3, 89, 2, 168, 3, 158, 3, 77, 2, 89, 2, 168, 3, 90, 2, 169, 3, 168, 3, 89, 2, 90, 2, 162, 2, 118, 2, 165, 2, 162, 2, 109, 2, 118, 2, 162, 3, 107, 2, 170, 3, 162, 3, 81, 2, 107, 2, 154, 2, 114, 2, 163, 2, 154, 2, 88, 2, 114, 2, 153, 2, 109, 2, 162, 2, 153, 2, 83, 2, 109, 2, 174, 3, 128, 2, 177, 3, 174, 3, 120, 2, 128, 2, 171, 3, 120, 2, 174, 3, 171, 3, 111, 2, 120, 2, 170, 3, 116, 2, 173, 3, 170, 3, 107, 2, 116, 2, 163, 2, 122, 2, 166, 2, 163, 2, 114, 2, 122, 2, 125, 2, 2, 3, 249, 2, 125, 2, 169, 2, 2, 3, 172, 3, 123, 2, 175, 3, 172, 3, 115, 2, 123, 2, 166, 2, 133, 2, 169, 2, 166, 2, 122, 2, 133, 2, 165, 2, 126, 2, 168, 2, 165, 2, 118, 2, 126, 2, 120, 2, 167, 2, 128, 2, 120, 2, 164, 2, 167, 2, 117, 2, 169, 2, 125, 2, 117, 2, 166, 2, 169, 2, 168, 2, 251, 2, 1, 3, 168, 2, 126, 2, 251, 2, 108, 2, 166, 2, 117, 2, 108, 2, 163, 2, 166, 2, 86, 2, 162, 2, 112, 2, 86, 2, 153, 2, 162, 2, 82, 2, 163, 2, 108, 2, 82, 2, 154, 2, 163, 2, 111, 2, 164, 2, 120, 2, 111, 2, 161, 2, 164, 2, 96, 2, 160, 2, 100, 2, 96, 2, 159, 2, 160, 2, 121, 0, 159, 2, 96, 2, 121, 0, 200, 0, 159, 2, 89, 2, 157, 2, 90, 2, 89, 2, 155, 2, 157, 2, 77, 2, 155, 2, 89, 2, 77, 2, 148, 2, 155, 2, 90, 2, 152, 2, 85, 2, 90, 2, 157, 2, 152, 2, 100, 2, 154, 2, 82, 2, 100, 2, 160, 2, 154, 2, 61, 2, 150, 2, 80, 2, 61, 2, 134, 2, 150, 2, 73, 2, 145, 2, 143, 2, 73, 2, 71, 2, 145, 2, 74, 2, 143, 2, 141, 2, 74, 2, 73, 2, 143, 2, 61, 2, 141, 2, 134, 2, 61, 2, 74, 2, 141, 2, 244, 2, 60, 2, 137, 2, 244, 2, 246, 2, 60, 2, 80, 2, 148, 2, 77, 2, 80, 2, 150, 2, 148, 2, 145, 2, 181, 2, 183, 2, 145, 2, 71, 2, 181, 2, 224, 2, 197, 2, 199, 2, 224, 2, 220, 2, 197, 2, 222, 2, 186, 2, 190, 2, 222, 2, 216, 2, 186, 2, 63, 2, 177, 2, 180, 2, 63, 2, 136, 2, 177, 2, 72, 2, 180, 2, 182, 2, 72, 2, 63, 2, 180, 2, 70, 2, 184, 2, 171, 2, 70, 2, 147, 2, 184, 2, 137, 2, 174, 2, 178, 2, 137, 2, 60, 2, 174, 2, 196, 2, 69, 3, 70, 3, 196, 2, 194, 2, 69, 3, 194, 2, 67, 3, 69, 3, 194, 2, 191, 2, 67, 3, 217, 2, 198, 2, 187, 2, 217, 2, 223, 2, 198, 2, 227, 2, 190, 2, 192, 2, 227, 2, 222, 2, 190, 2, 229, 2, 191, 2, 194, 2, 229, 2, 226, 2, 191, 2, 218, 2, 193, 2, 195, 2, 218, 2, 228, 2, 193, 2, 240, 2, 214, 2, 206, 2, 240, 2, 237, 2, 214, 2, 238, 2, 213, 2, 215, 2, 238, 2, 236, 2, 213, 2, 235, 2, 202, 2, 212, 2, 235, 2, 230, 2, 202, 2, 239, 2, 209, 2, 201, 2, 239, 2, 233, 2, 209, 2, 231, 2, 201, 2, 205, 2, 231, 2, 239, 2, 201, 2, 234, 2, 208, 2, 210, 2, 234, 2, 241, 2, 208, 2, 207, 2, 229, 2, 219, 2, 207, 2, 215, 2, 229, 2, 215, 2, 226, 2, 229, 2, 215, 2, 213, 2, 226, 2, 211, 2, 221, 2, 225, 2, 211, 2, 203, 2, 221, 2, 201, 2, 223, 2, 217, 2, 201, 2, 209, 2, 223, 2, 204, 2, 216, 2, 222, 2, 204, 2, 200, 2, 216, 2, 210, 2, 220, 2, 224, 2, 210, 2, 208, 2, 220, 2, 183, 2, 240, 2, 232, 2, 183, 2, 181, 2, 240, 2, 175, 2, 239, 2, 231, 2, 175, 2, 171, 2, 239, 2, 171, 2, 233, 2, 239, 2, 171, 2, 184, 2, 233, 2, 176, 2, 230, 2, 235, 2, 176, 2, 172, 2, 230, 2, 180, 2, 236, 2, 238, 2, 180, 2, 177, 2, 236, 2, 181, 2, 237, 2, 240, 2, 181, 2, 179, 2, 237, 2, 242, 2, 27, 2, 247, 2, 242, 2, 139, 2, 27, 2, 141, 3, 138, 2, 62, 2, 141, 3, 179, 3, 138, 2, 63, 2, 243, 2, 136, 2, 63, 2, 140, 2, 243, 2, 143, 3, 37, 1, 88, 0, 143, 3, 146, 3, 37, 1, 245, 2, 247, 2, 248, 2, 245, 2, 242, 2, 247, 2, 145, 3, 248, 2, 180, 3, 145, 3, 245, 2, 248, 2, 179, 3, 51, 1, 181, 3, 179, 3, 43, 1, 51, 1, 139, 3, 28, 2, 182, 3, 139, 3, 22, 2, 28, 2, 27, 2, 29, 2, 247, 2, 29, 2, 248, 2, 247, 2, 29, 2, 16, 2, 248, 2, 136, 3, 47, 1, 180, 3, 136, 3, 0, 0, 47, 1, 184, 3, 10, 3, 187, 3, 184, 3, 254, 2, 10, 3, 1, 3, 7, 3, 13, 3, 1, 3, 251, 2, 7, 3, 129, 2, 1, 3, 253, 2, 129, 2, 168, 2, 1, 3, 169, 2, 0, 3, 2, 3, 169, 2, 133, 2, 0, 3, 178, 3, 254, 2, 184, 3, 178, 3, 130, 2, 254, 2, 176, 3, 250, 2, 183, 3, 176, 3, 124, 2, 250, 2, 4, 3, 22, 3, 16, 3, 4, 3, 14, 3, 22, 3, 183, 3, 5, 3, 186, 3, 183, 3, 250, 2, 5, 3, 2, 3, 12, 3, 14, 3, 2, 3, 0, 3, 12, 3, 249, 2, 14, 3, 4, 3, 249, 2, 2, 3, 14, 3, 253, 2, 13, 3, 9, 3, 253, 2, 1, 3, 13, 3, 21, 3, 43, 3, 53, 3, 21, 3, 19, 3, 43, 3, 13, 3, 25, 3, 9, 3, 25, 3, 21, 3, 27, 3, 25, 3, 13, 3, 21, 3, 13, 3, 19, 3, 21, 3, 13, 3, 7, 3, 19, 3, 35, 3, 57, 3, 22, 3, 57, 3, 34, 3, 51, 3, 57, 3, 35, 3, 34, 3, 185, 3, 15, 3, 188, 3, 185, 3, 3, 3, 15, 3, 190, 3, 47, 3, 197, 3, 190, 3, 24, 3, 47, 3, 16, 3, 57, 3, 39, 3, 16, 3, 22, 3, 57, 3, 12, 3, 22, 3, 14, 3, 22, 3, 32, 3, 35, 3, 22, 3, 12, 3, 32, 3, 189, 3, 40, 3, 195, 3, 189, 3, 17, 3, 40, 3, 187, 3, 26, 3, 193, 3, 187, 3, 10, 3, 26, 3, 27, 3, 46, 3, 23, 3, 46, 3, 21, 3, 53, 3, 46, 3, 27, 3, 21, 3, 23, 3, 28, 3, 27, 3, 28, 3, 25, 3, 27, 3, 32, 3, 38, 3, 35, 3, 38, 3, 34, 3, 35, 3, 190, 3, 37, 3, 192, 3, 190, 3, 33, 3, 37, 3, 191, 3, 31, 3, 193, 3, 191, 3, 36, 3, 31, 3, 199, 3, 45, 3, 56, 3, 199, 3, 196, 3, 45, 3, 54, 3, 55, 3, 56, 3, 58, 3, 59, 3, 60, 3, 194, 3, 44, 3, 195, 3, 194, 3, 42, 3, 44, 3, 56, 3, 48, 3, 54, 3, 56, 3, 45, 3, 48, 3, 196, 3, 52, 3, 198, 3, 196, 3, 49, 3, 52, 3, 60, 3, 40, 3, 58, 3, 60, 3, 41, 3, 40, 3, 42, 3, 54, 3, 44, 3, 42, 3, 55, 3, 54, 3, 49, 3, 58, 3, 52, 3, 49, 3, 59, 3, 58, 3, 199, 3, 55, 3, 200, 3, 199, 3, 56, 3, 55, 3, 194, 3, 55, 3, 42, 3, 194, 3, 200, 3, 55, 3, 63, 3, 83, 3, 76, 3, 63, 3, 73, 3, 83, 3, 73, 3, 82, 3, 83, 3, 73, 3, 71, 3, 82, 3, 188, 2, 61, 3, 64, 3, 188, 2, 185, 2, 61, 3, 199, 2, 72, 3, 74, 3, 199, 2, 197, 2, 72, 3, 187, 2, 73, 3, 63, 3, 187, 2, 198, 2, 73, 3, 191, 2, 65, 3, 67, 3, 191, 2, 189, 2, 65, 3, 81, 3, 91, 3, 93, 3, 81, 3, 80, 3, 91, 3, 80, 3, 89, 3, 91, 3, 80, 3, 78, 3, 89, 3, 68, 3, 77, 3, 79, 3, 68, 3, 66, 3, 77, 3, 69, 3, 78, 3, 80, 3, 69, 3, 67, 3, 78, 3, 70, 3, 80, 3, 81, 3, 70, 3, 69, 3, 80, 3, 66, 3, 75, 3, 77, 3, 66, 3, 62, 3, 75, 3, 86, 3, 102, 3, 88, 3, 111, 3, 86, 3, 100, 3, 102, 3, 86, 3, 111, 3, 95, 3, 98, 3, 85, 3, 98, 3, 107, 3, 114, 3, 98, 3, 95, 3, 107, 3, 77, 3, 84, 3, 86, 3, 77, 3, 75, 3, 84, 3, 83, 3, 94, 3, 95, 3, 83, 3, 82, 3, 94, 3, 76, 3, 95, 3, 85, 3, 76, 3, 83, 3, 95, 3, 79, 3, 86, 3, 88, 3, 79, 3, 77, 3, 86, 3, 120, 3, 99, 3, 108, 3, 120, 3, 110, 3, 99, 3, 119, 3, 101, 3, 118, 3, 119, 3, 115, 3, 101, 3, 87, 3, 103, 3, 90, 3, 103, 3, 101, 3, 115, 3, 103, 3, 87, 3, 101, 3, 90, 3, 104, 3, 92, 3, 104, 3, 103, 3, 112, 3, 104, 3, 90, 3, 103, 3, 84, 3, 100, 3, 86, 3, 109, 3, 84, 3, 97, 3, 100, 3, 84, 3, 109, 3, 94, 3, 107, 3, 95, 3, 117, 3, 94, 3, 105, 3, 107, 3, 94, 3, 117, 3, 116, 3, 118, 3, 106, 3, 116, 3, 119, 3, 118, 3, 104, 3, 119, 3, 116, 3, 104, 3, 112, 3, 119, 3, 112, 3, 115, 3, 119, 3, 112, 3, 103, 3, 115, 3, 113, 3, 108, 3, 96, 3, 113, 3, 120, 3, 108, 3, 106, 3, 120, 3, 113, 3, 106, 3, 118, 3, 120, 3, 118, 3, 110, 3, 120, 3, 118, 3, 101, 3, 110, 3, 41, 3, 200, 3, 194, 3, 41, 3, 60, 3, 200, 3, 59, 3, 200, 3, 60, 3, 59, 3, 199, 3, 200, 3, 45, 3, 198, 3, 48, 3, 45, 3, 196, 3, 198, 3, 41, 3, 195, 3, 40, 3, 41, 3, 194, 3, 195, 3, 59, 3, 196, 3, 199, 3, 59, 3, 49, 3, 196, 3, 29, 3, 193, 3, 26, 3, 29, 3, 191, 3, 193, 3, 24, 3, 192, 3, 30, 3, 24, 3, 190, 3, 192, 3, 11, 3, 193, 3, 31, 3, 11, 3, 187, 3, 193, 3, 20, 3, 195, 3, 44, 3, 20, 3, 189, 3, 195, 3, 33, 3, 197, 3, 50, 3, 33, 3, 190, 3, 197, 3, 6, 3, 188, 3, 18, 3, 6, 3, 185, 3, 188, 3, 252, 2, 186, 3, 8, 3, 252, 2, 183, 3, 186, 3, 127, 2, 183, 3, 252, 2, 127, 2, 176, 3, 183, 3, 132, 2, 184, 3, 255, 2, 132, 2, 178, 3, 184, 3, 255, 2, 187, 3, 11, 3, 255, 2, 184, 3, 187, 3, 16, 2, 180, 3, 248, 2, 16, 2, 136, 3, 180, 3, 6, 0, 182, 3, 53, 1, 6, 0, 139, 3, 182, 3, 138, 2, 181, 3, 26, 2, 138, 2, 179, 3, 181, 3, 36, 1, 180, 3, 47, 1, 36, 1, 145, 3, 180, 3, 60, 2, 146, 3, 143, 3, 60, 2, 246, 2, 146, 3, 90, 0, 179, 3, 141, 3, 90, 0, 43, 1, 179, 3, 118, 2, 175, 3, 126, 2, 118, 2, 172, 3, 175, 3, 110, 2, 173, 3, 119, 2, 110, 2, 170, 3, 173, 3, 113, 2, 174, 3, 121, 2, 113, 2, 171, 3, 174, 3, 121, 2, 177, 3, 131, 2, 121, 2, 174, 3, 177, 3, 84, 2, 170, 3, 110, 2, 84, 2, 162, 3, 170, 3, 93, 2, 169, 3, 91, 2, 93, 2, 168, 3, 169, 3, 128, 0, 168, 3, 93, 2, 128, 0, 158, 3, 168, 3, 105, 2, 166, 3, 102, 2, 105, 2, 164, 3, 166, 3, 76, 2, 165, 3, 106, 2, 76, 2, 157, 3, 165, 3, 103, 2, 162, 3, 84, 2, 103, 2, 167, 3, 162, 3, 87, 2, 171, 3, 113, 2, 87, 2, 163, 3, 171, 3, 57, 2, 160, 3, 78, 2, 57, 2, 140, 3, 160, 3, 89, 0, 159, 3, 131, 0, 89, 0, 144, 3, 159, 3, 131, 0, 158, 3, 128, 0, 131, 0, 159, 3, 158, 3, 79, 2, 156, 3, 75, 2, 79, 2, 161, 3, 156, 3, 91, 2, 163, 3, 87, 2, 91, 2, 169, 3, 163, 3, 109, 0, 154, 3, 153, 3, 109, 0, 107, 0, 154, 3, 110, 0, 153, 3, 152, 3, 110, 0, 109, 0, 153, 3, 89, 0, 152, 3, 144, 3, 89, 0, 110, 0, 152, 3, 66, 2, 150, 3, 149, 3, 66, 2, 68, 2, 150, 3, 65, 2, 149, 3, 148, 3, 65, 2, 66, 2, 149, 3, 57, 2, 147, 3, 140, 3, 57, 2, 64, 2, 147, 3, 69, 2, 143, 3, 151, 3, 69, 2, 60, 2, 143, 3, 108, 0, 142, 3, 155, 3, 108, 0, 91, 0, 142, 3, 5, 0, 124, 3, 138, 3, 5, 0, 31, 0, 124, 3, 17, 2, 122, 3, 137, 3, 17, 2, 51, 2, 122, 3, 52, 2, 135, 3, 48, 2, 52, 2, 124, 3, 135, 3, 41, 2, 134, 3, 133, 3, 41, 2, 39, 2, 134, 3, 38, 2, 131, 3, 130, 3, 38, 2, 36, 2, 131, 3, 32, 2, 128, 3, 127, 3, 32, 2, 34, 2, 128, 3, 41, 2, 125, 3, 23, 2, 41, 2, 133, 3, 125, 3, 32, 2, 123, 3, 19, 2, 32, 2, 127, 3, 123, 3, 25, 2, 129, 3, 35, 2, 25, 2, 126, 3, 129, 3, 48, 2, 134, 3, 39, 2, 48, 2, 135, 3, 134, 3, 16, 0, 123, 3, 4, 0, 16, 0, 132, 3, 123, 3, 29, 0, 130, 3, 18, 0, 29, 0, 121, 3, 130, 3), +"lods": [0.285234, PackedByteArray(191, 1, 234, 3, 68, 0, 222, 3, 234, 3, 191, 1, 222, 3, 17, 0, 234, 3, 234, 3, 17, 0, 14, 0, 14, 0, 202, 3, 234, 3, 234, 3, 202, 3, 36, 0, 238, 3, 21, 0, 27, 0, 192, 4, 213, 3, 210, 3, 217, 4, 210, 3, 213, 3, 193, 4, 192, 4, 210, 3, 217, 4, 214, 3, 35, 2, 193, 4, 211, 3, 219, 3, 192, 4, 233, 3, 213, 3, 231, 3, 213, 3, 233, 3, 43, 0, 233, 3, 192, 4, 232, 3, 236, 3, 229, 3, 236, 3, 232, 3, 226, 3, 235, 3, 37, 0, 229, 3, 235, 3, 229, 3, 236, 3, 240, 3, 235, 3, 236, 3, 240, 3, 236, 3, 241, 3, 241, 3, 236, 3, 225, 3, 208, 3, 241, 3, 225, 3, 225, 3, 237, 3, 221, 3, 204, 1, 20, 0, 237, 3, 204, 1, 23, 0, 20, 0, 60, 0, 204, 1, 236, 3, 57, 0, 42, 0, 60, 0, 210, 1, 30, 0, 192, 1, 210, 1, 1, 0, 30, 0, 17, 2, 30, 0, 1, 0, 34, 0, 210, 1, 192, 1, 34, 0, 192, 1, 70, 0, 47, 0, 34, 0, 70, 0, 47, 0, 70, 0, 242, 3, 206, 3, 228, 3, 242, 3, 207, 3, 122, 4, 47, 0, 207, 3, 182, 3, 122, 4, 207, 3, 139, 3, 182, 3, 139, 3, 28, 2, 182, 3, 139, 3, 22, 2, 28, 2, 91, 0, 100, 0, 243, 3, 91, 0, 254, 3, 100, 0, 91, 0, 243, 3, 193, 0, 91, 0, 193, 0, 250, 1, 243, 3, 110, 4, 193, 0, 243, 3, 22, 4, 110, 4, 244, 3, 46, 4, 22, 4, 243, 3, 50, 4, 46, 4, 50, 4, 99, 4, 46, 4, 50, 4, 102, 4, 99, 4, 102, 4, 68, 4, 99, 4, 68, 4, 94, 4, 99, 4, 68, 4, 66, 4, 94, 4, 68, 4, 176, 4, 66, 4, 68, 4, 163, 4, 176, 4, 185, 4, 176, 4, 163, 4, 66, 4, 176, 4, 156, 4, 66, 4, 156, 4, 63, 4, 194, 4, 41, 4, 98, 0, 194, 4, 43, 4, 41, 4, 98, 0, 112, 0, 194, 4, 247, 3, 112, 0, 98, 0, 118, 0, 115, 0, 112, 0, 247, 3, 118, 0, 112, 0, 247, 3, 86, 0, 118, 0, 86, 0, 247, 3, 138, 0, 247, 3, 120, 0, 138, 0, 247, 3, 9, 4, 120, 0, 247, 3, 196, 4, 9, 4, 196, 4, 177, 0, 9, 4, 247, 3, 15, 4, 196, 4, 27, 4, 246, 3, 250, 3, 246, 3, 18, 4, 14, 4, 8, 4, 18, 4, 246, 3, 8, 4, 246, 3, 28, 4, 8, 4, 28, 4, 103, 0, 103, 0, 28, 4, 251, 3, 18, 4, 125, 4, 14, 4, 18, 4, 136, 4, 125, 4, 125, 4, 136, 4, 134, 4, 138, 4, 134, 4, 136, 4, 125, 4, 134, 4, 148, 4, 125, 4, 148, 4, 133, 4, 6, 4, 253, 3, 245, 3, 198, 4, 17, 4, 6, 4, 128, 0, 6, 4, 245, 3, 35, 4, 199, 4, 6, 4, 208, 0, 186, 0, 199, 4, 3, 4, 35, 4, 7, 4, 3, 4, 245, 3, 20, 5, 3, 4, 20, 5, 240, 4, 240, 4, 20, 5, 25, 5, 240, 4, 26, 5, 183, 5, 93, 2, 183, 5, 131, 2, 245, 3, 42, 5, 20, 5, 20, 5, 43, 5, 22, 5, 245, 3, 16, 5, 42, 5, 245, 3, 113, 4, 16, 5, 245, 3, 248, 1, 113, 4, 16, 5, 113, 4, 119, 4, 17, 5, 119, 4, 185, 5, 17, 5, 185, 5, 218, 4, 42, 5, 97, 5, 100, 5, 100, 5, 97, 5, 71, 5, 46, 5, 44, 5, 100, 5, 22, 5, 44, 5, 46, 5, 46, 5, 101, 5, 91, 5, 33, 4, 36, 4, 5, 4, 10, 4, 21, 4, 209, 0, 10, 4, 13, 4, 21, 4, 13, 4, 141, 4, 21, 4, 141, 4, 143, 4, 146, 4, 141, 4, 150, 4, 143, 4, 13, 4, 150, 4, 141, 4, 124, 4, 150, 4, 13, 4, 124, 4, 127, 4, 150, 4, 127, 4, 131, 4, 150, 4, 1, 4, 37, 4, 34, 4, 2, 4, 11, 4, 38, 4, 112, 4, 195, 4, 45, 1, 195, 4, 37, 1, 45, 1, 112, 4, 23, 4, 195, 4, 195, 4, 107, 5, 37, 1, 23, 4, 47, 4, 44, 4, 23, 4, 44, 4, 195, 4, 151, 3, 195, 4, 113, 0, 69, 2, 195, 4, 151, 3, 69, 2, 229, 4, 195, 4, 229, 4, 107, 5, 195, 4, 105, 5, 107, 5, 229, 4, 105, 5, 229, 4, 15, 5, 15, 5, 229, 4, 36, 5, 15, 5, 36, 5, 41, 5, 29, 4, 53, 4, 252, 3, 30, 4, 59, 4, 53, 4, 252, 3, 54, 4, 230, 0, 252, 3, 230, 0, 84, 0, 74, 4, 71, 4, 88, 4, 74, 4, 165, 4, 71, 4, 82, 4, 74, 4, 88, 4, 74, 4, 168, 4, 165, 4, 77, 4, 75, 4, 82, 4, 77, 4, 85, 4, 75, 4, 60, 4, 168, 4, 75, 4, 60, 4, 151, 4, 169, 4, 92, 4, 62, 4, 87, 4, 81, 4, 87, 4, 78, 4, 80, 4, 92, 4, 87, 4, 92, 4, 65, 4, 62, 4, 65, 4, 153, 4, 62, 4, 65, 4, 157, 4, 153, 4, 157, 4, 183, 4, 173, 4, 172, 4, 183, 4, 164, 1, 158, 4, 172, 4, 154, 4, 48, 4, 80, 4, 45, 4, 48, 4, 100, 4, 80, 4, 100, 4, 93, 4, 80, 4, 100, 4, 20, 1, 93, 4, 248, 3, 55, 4, 26, 4, 249, 3, 39, 4, 56, 4, 42, 4, 79, 4, 39, 4, 79, 4, 252, 0, 39, 4, 39, 4, 252, 0, 83, 4, 40, 4, 83, 4, 96, 4, 40, 4, 96, 4, 58, 4, 72, 4, 161, 4, 67, 4, 72, 4, 166, 4, 162, 4, 86, 4, 61, 4, 76, 4, 95, 4, 64, 4, 91, 4, 95, 4, 243, 0, 64, 4, 89, 4, 73, 4, 69, 4, 105, 4, 89, 4, 69, 4, 105, 4, 70, 4, 103, 4, 98, 4, 90, 4, 106, 4, 98, 4, 84, 4, 90, 4, 57, 4, 104, 4, 52, 4, 57, 4, 97, 4, 104, 4, 51, 4, 101, 4, 49, 4, 51, 4, 33, 1, 101, 4, 109, 4, 227, 3, 24, 4, 109, 4, 49, 1, 227, 3, 227, 3, 49, 1, 33, 0, 25, 4, 227, 3, 202, 4, 202, 4, 227, 3, 121, 4, 46, 1, 117, 4, 111, 4, 108, 4, 117, 4, 46, 1, 108, 4, 116, 4, 117, 4, 211, 1, 116, 4, 2, 0, 211, 1, 118, 4, 116, 4, 35, 0, 118, 4, 211, 1, 201, 4, 120, 4, 114, 4, 200, 4, 137, 4, 19, 4, 200, 4, 139, 4, 137, 4, 20, 4, 139, 4, 200, 4, 211, 4, 137, 4, 139, 4, 94, 1, 137, 4, 211, 4, 211, 4, 140, 4, 144, 4, 197, 4, 123, 4, 12, 4, 197, 4, 204, 4, 123, 4, 204, 4, 67, 1, 123, 4, 16, 4, 204, 4, 197, 4, 16, 4, 59, 1, 204, 4, 59, 1, 71, 1, 205, 4, 58, 1, 83, 1, 70, 1, 203, 4, 130, 4, 126, 4, 203, 4, 207, 4, 130, 4, 128, 4, 207, 4, 203, 4, 128, 4, 82, 1, 207, 4, 208, 4, 147, 4, 86, 1, 147, 4, 208, 4, 149, 4, 97, 1, 149, 4, 208, 4, 149, 4, 206, 4, 147, 4, 132, 4, 147, 4, 206, 4, 206, 4, 149, 4, 129, 4, 209, 4, 145, 4, 142, 4, 209, 4, 210, 4, 145, 4, 135, 4, 210, 4, 209, 4, 135, 4, 93, 1, 210, 4, 152, 4, 189, 4, 170, 4, 152, 4, 151, 1, 189, 4, 163, 1, 189, 4, 151, 1, 171, 4, 179, 4, 167, 4, 171, 4, 190, 4, 179, 4, 180, 4, 190, 4, 174, 1, 174, 4, 181, 4, 155, 4, 164, 4, 177, 4, 159, 4, 186, 4, 160, 4, 178, 4, 160, 4, 186, 4, 187, 4, 160, 4, 187, 4, 184, 4, 188, 4, 175, 4, 173, 1, 181, 1, 173, 1, 175, 4, 181, 1, 175, 4, 170, 1, 188, 4, 182, 4, 175, 4, 188, 4, 162, 1, 182, 4, 239, 3, 191, 4, 203, 1, 239, 3, 41, 0, 191, 4, 230, 3, 203, 3, 212, 3, 230, 3, 38, 0, 203, 3, 16, 0, 225, 4, 203, 3, 212, 3, 204, 3, 225, 4, 225, 4, 221, 4, 212, 3, 226, 4, 220, 3, 217, 3, 226, 4, 224, 3, 220, 3, 226, 4, 217, 3, 218, 3, 205, 3, 224, 3, 226, 4, 226, 4, 218, 3, 209, 3, 226, 4, 209, 3, 215, 4, 205, 3, 226, 4, 138, 3, 138, 3, 226, 4, 20, 2, 212, 4, 227, 4, 222, 4, 222, 4, 227, 4, 216, 4, 214, 4, 227, 4, 212, 4, 223, 4, 216, 4, 33, 2, 219, 4, 214, 4, 212, 4, 106, 5, 219, 4, 212, 4, 106, 5, 103, 5, 219, 4, 103, 5, 18, 5, 220, 4, 107, 4, 106, 5, 213, 4, 107, 4, 213, 4, 115, 4, 213, 4, 201, 3, 115, 4, 223, 3, 212, 4, 224, 4, 223, 3, 224, 4, 216, 3, 224, 4, 215, 3, 216, 3, 228, 4, 29, 5, 35, 5, 228, 4, 233, 4, 29, 5, 21, 5, 231, 4, 237, 4, 21, 5, 237, 4, 252, 4, 21, 5, 252, 4, 251, 4, 21, 5, 251, 4, 1, 5, 21, 5, 234, 4, 231, 4, 234, 4, 150, 3, 231, 4, 21, 5, 23, 5, 234, 4, 21, 5, 1, 5, 27, 5, 27, 5, 1, 5, 110, 5, 232, 4, 150, 3, 111, 0, 232, 4, 111, 0, 114, 0, 232, 4, 114, 0, 117, 0, 232, 4, 137, 0, 119, 0, 232, 4, 119, 0, 238, 4, 27, 5, 109, 5, 115, 5, 27, 5, 115, 5, 133, 5, 133, 5, 115, 5, 19, 3, 2, 5, 7, 5, 109, 5, 2, 5, 4, 5, 7, 5, 119, 5, 27, 5, 134, 5, 129, 2, 28, 5, 119, 5, 119, 5, 134, 5, 121, 5, 136, 5, 121, 5, 134, 5, 121, 5, 136, 5, 23, 3, 230, 4, 116, 0, 85, 0, 230, 4, 85, 0, 136, 0, 182, 5, 249, 4, 253, 4, 182, 5, 253, 4, 5, 5, 182, 5, 5, 5, 3, 5, 103, 2, 182, 5, 3, 5, 31, 4, 4, 4, 241, 4, 239, 4, 247, 4, 181, 5, 239, 4, 122, 0, 247, 4, 239, 4, 181, 5, 106, 2, 180, 5, 248, 4, 166, 3, 180, 5, 95, 2, 248, 4, 105, 2, 180, 5, 166, 3, 105, 2, 166, 3, 102, 2, 177, 3, 167, 2, 128, 2, 254, 4, 13, 5, 9, 5, 6, 5, 0, 5, 9, 5, 250, 4, 242, 4, 254, 4, 245, 4, 242, 4, 250, 4, 255, 4, 242, 4, 13, 5, 10, 5, 13, 5, 123, 5, 9, 5, 123, 5, 129, 5, 129, 5, 123, 5, 124, 5, 127, 5, 124, 5, 123, 5, 130, 5, 124, 5, 51, 3, 255, 3, 243, 4, 246, 4, 0, 4, 32, 4, 244, 4, 66, 5, 82, 5, 63, 5, 66, 5, 74, 5, 82, 5, 66, 5, 63, 5, 153, 5, 93, 5, 73, 5, 66, 5, 94, 5, 102, 5, 73, 5, 84, 5, 51, 5, 55, 5, 84, 5, 78, 5, 51, 5, 69, 5, 78, 5, 84, 5, 87, 5, 85, 5, 55, 5, 87, 5, 56, 5, 192, 2, 45, 5, 40, 5, 98, 5, 45, 5, 14, 5, 40, 5, 45, 5, 104, 5, 14, 5, 45, 5, 19, 5, 104, 5, 98, 5, 40, 5, 96, 5, 98, 5, 96, 5, 77, 5, 98, 5, 77, 5, 86, 5, 98, 5, 86, 5, 59, 5, 59, 5, 86, 5, 191, 2, 59, 5, 191, 2, 67, 3, 59, 5, 67, 3, 165, 5, 165, 5, 67, 3, 162, 5, 191, 2, 144, 5, 67, 3, 191, 2, 54, 5, 144, 5, 235, 4, 47, 5, 30, 5, 90, 5, 30, 5, 79, 5, 90, 5, 79, 5, 70, 5, 37, 5, 32, 5, 90, 5, 79, 5, 64, 5, 52, 5, 52, 5, 64, 5, 63, 3, 31, 5, 64, 5, 79, 5, 31, 5, 92, 5, 64, 5, 33, 5, 49, 5, 92, 5, 142, 5, 64, 5, 176, 5, 142, 5, 176, 5, 160, 5, 178, 5, 170, 5, 160, 5, 236, 4, 24, 5, 48, 5, 62, 5, 58, 5, 149, 5, 80, 5, 57, 5, 61, 5, 95, 5, 67, 5, 76, 5, 95, 5, 88, 5, 67, 5, 39, 5, 34, 5, 88, 5, 38, 5, 89, 5, 95, 5, 72, 5, 60, 5, 81, 5, 72, 5, 99, 5, 60, 5, 151, 5, 60, 5, 166, 5, 75, 5, 83, 5, 225, 2, 75, 5, 68, 5, 83, 5, 184, 5, 120, 5, 122, 5, 184, 5, 11, 5, 120, 5, 12, 5, 184, 5, 122, 5, 190, 5, 122, 5, 120, 5, 190, 5, 125, 5, 122, 5, 29, 3, 190, 5, 120, 5, 111, 5, 108, 5, 187, 5, 187, 5, 108, 5, 113, 5, 111, 5, 8, 5, 108, 5, 111, 5, 187, 5, 8, 3, 4, 3, 128, 5, 16, 3, 249, 2, 128, 5, 4, 3, 249, 2, 125, 2, 39, 3, 186, 5, 116, 5, 188, 5, 186, 5, 112, 5, 116, 5, 114, 5, 186, 5, 188, 5, 114, 5, 188, 5, 117, 5, 192, 5, 118, 5, 47, 3, 118, 5, 192, 5, 191, 5, 118, 5, 191, 5, 30, 3, 192, 5, 126, 5, 191, 5, 192, 5, 33, 3, 126, 5, 33, 3, 192, 5, 50, 3, 189, 5, 17, 3, 131, 5, 131, 5, 135, 5, 189, 5, 20, 3, 189, 5, 135, 5, 135, 5, 132, 5, 137, 5, 132, 5, 138, 5, 137, 5, 137, 5, 138, 5, 198, 3, 65, 5, 155, 5, 177, 5, 65, 5, 152, 5, 156, 5, 53, 5, 139, 5, 143, 5, 53, 5, 50, 5, 140, 5, 154, 5, 164, 5, 168, 5, 150, 5, 164, 5, 154, 5, 148, 5, 145, 5, 173, 5, 148, 5, 173, 5, 88, 3, 146, 5, 158, 5, 174, 5, 174, 5, 158, 5, 97, 3, 147, 5, 141, 5, 159, 5, 179, 5, 157, 5, 94, 3, 163, 5, 161, 5, 171, 5, 175, 5, 163, 5, 171, 5, 163, 5, 175, 5, 167, 5, 175, 5, 172, 5, 169, 5)], +"material": SubResource("StandardMaterial3D_hi2l0"), +"name": "Material.001", +"primitive": 3, +"skin_data": PackedByteArray(5, 0, 4, 0, 0, 0, 0, 0, 40, 202, 214, 53, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 40, 202, 214, 53, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 40, 202, 214, 53, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 196, 254, 58, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 196, 254, 58, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 39, 226, 215, 29, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 39, 226, 215, 29, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 39, 226, 215, 29, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 108, 255, 146, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 108, 255, 146, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 137, 255, 117, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 137, 255, 117, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 90, 255, 165, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 90, 255, 165, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 147, 253, 107, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 147, 253, 107, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 147, 253, 107, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 98, 248, 156, 7, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 98, 248, 156, 7, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 35, 253, 219, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 35, 253, 219, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 35, 253, 219, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 84, 254, 170, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 84, 254, 170, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 84, 254, 170, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 185, 250, 69, 5, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 185, 250, 69, 5, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 185, 250, 69, 5, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 184, 221, 70, 34, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 184, 221, 70, 34, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 184, 221, 70, 34, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 222, 234, 32, 21, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 222, 234, 32, 21, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 125, 215, 129, 40, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 125, 215, 129, 40, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 125, 215, 129, 40, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 169, 254, 85, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 169, 254, 85, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 169, 254, 85, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 230, 203, 24, 52, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 230, 203, 24, 52, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 55, 255, 199, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 55, 255, 199, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 55, 255, 199, 0, 0, 0, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 135, 178, 142, 74, 232, 2, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 135, 178, 142, 74, 232, 2, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 229, 221, 25, 34, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 229, 221, 25, 34, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 239, 254, 15, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 239, 254, 15, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 239, 254, 15, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 49, 255, 205, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 49, 255, 205, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 19, 253, 235, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 19, 253, 235, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 254, 249, 0, 6, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 254, 249, 0, 6, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 166, 252, 88, 3, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 166, 252, 88, 3, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 13, 254, 241, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 13, 254, 241, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 101, 253, 153, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 138, 251, 116, 4, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 251, 249, 3, 6, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 14, 253, 240, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 31, 242, 223, 13, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 92, 249, 162, 6, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 92, 249, 162, 6, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 214, 238, 40, 17, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 214, 238, 40, 17, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 214, 238, 40, 17, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 110, 221, 144, 34, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 110, 221, 144, 34, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 32, 213, 222, 42, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 32, 213, 222, 42, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 202, 233, 52, 22, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 202, 233, 52, 22, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 172, 216, 82, 39, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 172, 216, 82, 39, 0, 0, 0, 0, 15, 0, 16, 0, 3, 0, 0, 0, 49, 182, 162, 69, 42, 4, 0, 0, 15, 0, 16, 0, 3, 0, 0, 0, 49, 182, 162, 69, 42, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 221, 175, 33, 80, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 221, 175, 33, 80, 0, 0, 0, 0, 15, 0, 3, 0, 16, 0, 0, 0, 32, 184, 1, 48, 220, 23, 0, 0, 15, 0, 3, 0, 16, 0, 0, 0, 32, 184, 1, 48, 220, 23, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 248, 143, 187, 111, 75, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 248, 143, 187, 111, 75, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 169, 223, 85, 32, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 169, 223, 85, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 62, 224, 192, 31, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 62, 224, 192, 31, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 115, 146, 48, 108, 91, 1, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 115, 146, 48, 108, 91, 1, 0, 0, 2, 0, 3, 0, 15, 0, 16, 0, 195, 231, 1, 12, 225, 11, 87, 0, 2, 0, 3, 0, 15, 0, 16, 0, 195, 231, 1, 12, 225, 11, 87, 0, 15, 0, 16, 0, 2, 0, 3, 0, 77, 94, 177, 80, 214, 72, 41, 8, 15, 0, 16, 0, 2, 0, 3, 0, 77, 94, 177, 80, 214, 72, 41, 8, 15, 0, 16, 0, 2, 0, 3, 0, 77, 94, 177, 80, 214, 72, 41, 8, 3, 0, 2, 0, 15, 0, 16, 0, 107, 161, 148, 47, 143, 35, 111, 11, 3, 0, 2, 0, 15, 0, 16, 0, 107, 161, 148, 47, 143, 35, 111, 11, 3, 0, 2, 0, 15, 0, 16, 0, 107, 161, 148, 47, 143, 35, 111, 11, 2, 0, 1, 0, 0, 0, 0, 0, 242, 254, 12, 1, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 242, 254, 12, 1, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 242, 254, 12, 1, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 220, 219, 34, 34, 1, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 220, 219, 34, 34, 1, 0, 0, 3, 0, 2, 0, 0, 0, 0, 0, 92, 213, 162, 42, 0, 0, 0, 0, 3, 0, 2, 0, 0, 0, 0, 0, 92, 213, 162, 42, 0, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 183, 246, 71, 9, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 113, 228, 78, 26, 63, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 131, 187, 123, 68, 0, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 131, 187, 123, 68, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 195, 130, 249, 118, 66, 6, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 195, 130, 249, 118, 66, 6, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 195, 130, 249, 118, 66, 6, 0, 0, 23, 0, 0, 0, 28, 0, 0, 0, 88, 139, 133, 90, 32, 26, 0, 0, 23, 0, 0, 0, 28, 0, 0, 0, 88, 139, 133, 90, 32, 26, 0, 0, 23, 0, 0, 0, 28, 0, 0, 0, 88, 139, 133, 90, 32, 26, 0, 0, 23, 0, 0, 0, 28, 0, 0, 0, 88, 139, 133, 90, 32, 26, 0, 0, 23, 0, 0, 0, 28, 0, 0, 0, 88, 139, 133, 90, 32, 26, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 233, 165, 21, 90, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 233, 165, 21, 90, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 180, 200, 74, 55, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 180, 200, 74, 55, 0, 0, 0, 0, 23, 0, 0, 0, 28, 0, 0, 0, 56, 111, 248, 109, 206, 34, 0, 0, 23, 0, 0, 0, 28, 0, 0, 0, 56, 111, 248, 109, 206, 34, 0, 0, 23, 0, 0, 0, 28, 0, 0, 0, 56, 111, 248, 109, 206, 34, 0, 0, 0, 0, 23, 0, 28, 0, 0, 0, 125, 204, 199, 36, 185, 14, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 248, 238, 6, 17, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 248, 238, 6, 17, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 99, 219, 155, 36, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 99, 219, 155, 36, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 60, 246, 194, 9, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 60, 246, 194, 9, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 60, 246, 194, 9, 0, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 177, 240, 77, 15, 0, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 177, 240, 77, 15, 0, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 121, 245, 133, 10, 0, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 121, 245, 133, 10, 0, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 42, 245, 212, 10, 0, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 42, 245, 212, 10, 0, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 125, 244, 129, 11, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 52, 250, 202, 5, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 52, 250, 202, 5, 0, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 205, 255, 49, 0, 0, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 205, 255, 49, 0, 0, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 213, 255, 41, 0, 0, 0, 0, 0, 28, 0, 0, 0, 23, 0, 0, 0, 159, 250, 64, 5, 30, 0, 0, 0, 28, 0, 0, 0, 23, 0, 0, 0, 159, 250, 64, 5, 30, 0, 0, 0, 28, 0, 23, 0, 0, 0, 0, 0, 107, 220, 83, 21, 63, 14, 0, 0, 28, 0, 23, 0, 0, 0, 0, 0, 107, 220, 83, 21, 63, 14, 0, 0, 28, 0, 23, 0, 0, 0, 29, 0, 203, 253, 95, 1, 115, 0, 96, 0, 28, 0, 23, 0, 0, 0, 29, 0, 203, 253, 95, 1, 115, 0, 96, 0, 28, 0, 0, 0, 29, 0, 0, 0, 38, 255, 191, 0, 25, 0, 0, 0, 28, 0, 0, 0, 29, 0, 0, 0, 38, 255, 191, 0, 25, 0, 0, 0, 28, 0, 0, 0, 23, 0, 0, 0, 224, 244, 224, 10, 62, 0, 0, 0, 28, 0, 0, 0, 23, 0, 0, 0, 224, 244, 224, 10, 62, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 102, 130, 152, 125, 0, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 102, 130, 152, 125, 0, 0, 0, 0, 29, 0, 28, 0, 0, 0, 0, 0, 52, 168, 202, 87, 0, 0, 0, 0, 29, 0, 28, 0, 0, 0, 0, 0, 52, 168, 202, 87, 0, 0, 0, 0, 29, 0, 28, 0, 0, 0, 0, 0, 96, 178, 158, 77, 0, 0, 0, 0, 29, 0, 28, 0, 0, 0, 0, 0, 96, 178, 158, 77, 0, 0, 0, 0, 29, 0, 28, 0, 0, 0, 0, 0, 127, 197, 127, 58, 0, 0, 0, 0, 29, 0, 28, 0, 0, 0, 0, 0, 127, 197, 127, 58, 0, 0, 0, 0, 29, 0, 28, 0, 30, 0, 0, 0, 147, 255, 57, 0, 50, 0, 0, 0, 29, 0, 28, 0, 30, 0, 0, 0, 147, 255, 57, 0, 50, 0, 0, 0, 29, 0, 28, 0, 30, 0, 0, 0, 78, 255, 124, 0, 52, 0, 0, 0, 29, 0, 28, 0, 30, 0, 0, 0, 78, 255, 124, 0, 52, 0, 0, 0, 29, 0, 30, 0, 28, 0, 0, 0, 218, 253, 202, 1, 89, 0, 0, 0, 29, 0, 30, 0, 28, 0, 0, 0, 218, 253, 202, 1, 89, 0, 0, 0, 29, 0, 30, 0, 28, 0, 0, 0, 103, 253, 111, 2, 39, 0, 0, 0, 29, 0, 30, 0, 28, 0, 0, 0, 103, 253, 111, 2, 39, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 12, 138, 168, 116, 73, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 12, 138, 168, 116, 73, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 12, 138, 168, 116, 73, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 173, 135, 164, 119, 172, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 173, 135, 164, 119, 172, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 173, 135, 164, 119, 172, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 186, 160, 181, 91, 143, 3, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 186, 160, 181, 91, 143, 3, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 186, 160, 181, 91, 143, 3, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 233, 161, 64, 88, 212, 5, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 233, 161, 64, 88, 212, 5, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 233, 161, 64, 88, 212, 5, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 15, 160, 239, 95, 0, 0, 0, 0, 15, 0, 16, 0, 3, 0, 0, 0, 71, 199, 0, 55, 183, 1, 0, 0, 15, 0, 16, 0, 3, 0, 0, 0, 71, 199, 0, 55, 183, 1, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 242, 110, 86, 73, 181, 71, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 242, 110, 86, 73, 181, 71, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 160, 184, 17, 68, 77, 3, 0, 0, 2, 0, 15, 0, 3, 0, 0, 0, 79, 245, 250, 5, 180, 4, 0, 0, 2, 0, 15, 0, 16, 0, 3, 0, 120, 167, 33, 40, 135, 31, 222, 16, 2, 0, 15, 0, 16, 0, 3, 0, 120, 167, 33, 40, 135, 31, 222, 16, 2, 0, 15, 0, 16, 0, 3, 0, 120, 167, 33, 40, 135, 31, 222, 16, 28, 0, 0, 0, 0, 0, 0, 0, 55, 185, 199, 70, 0, 0, 0, 0, 23, 0, 28, 0, 0, 0, 0, 0, 62, 205, 199, 34, 248, 15, 0, 0, 23, 0, 28, 0, 0, 0, 0, 0, 62, 205, 199, 34, 248, 15, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 177, 242, 77, 13, 0, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 195, 244, 59, 11, 0, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 92, 233, 162, 22, 0, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 92, 233, 162, 22, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 12, 251, 242, 4, 0, 0, 0, 0, 28, 0, 0, 0, 29, 0, 0, 0, 162, 255, 54, 0, 37, 0, 0, 0, 28, 0, 23, 0, 0, 0, 0, 0, 116, 239, 104, 10, 33, 6, 0, 0, 28, 0, 23, 0, 0, 0, 0, 0, 116, 239, 104, 10, 33, 6, 0, 0, 28, 0, 29, 0, 23, 0, 0, 0, 165, 254, 237, 0, 107, 0, 0, 0, 28, 0, 29, 0, 23, 0, 0, 0, 165, 254, 237, 0, 107, 0, 0, 0, 29, 0, 28, 0, 0, 0, 0, 0, 53, 134, 201, 121, 0, 0, 0, 0, 29, 0, 28, 0, 0, 0, 0, 0, 95, 176, 159, 79, 0, 0, 0, 0, 29, 0, 28, 0, 0, 0, 0, 0, 95, 176, 159, 79, 0, 0, 0, 0, 29, 0, 28, 0, 30, 0, 0, 0, 149, 254, 209, 0, 151, 0, 0, 0, 29, 0, 30, 0, 28, 0, 0, 0, 230, 254, 202, 0, 77, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 226, 141, 169, 112, 114, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 193, 142, 199, 109, 117, 3, 0, 0, 16, 0, 15, 0, 2, 0, 3, 0, 89, 167, 141, 61, 51, 25, 229, 1, 16, 0, 15, 0, 2, 0, 3, 0, 89, 167, 141, 61, 51, 25, 229, 1, 16, 0, 15, 0, 2, 0, 3, 0, 62, 164, 217, 88, 166, 2, 64, 0, 16, 0, 15, 0, 2, 0, 3, 0, 62, 164, 217, 88, 166, 2, 64, 0, 16, 0, 15, 0, 2, 0, 3, 0, 62, 164, 217, 88, 166, 2, 64, 0, 16, 0, 15, 0, 2, 0, 3, 0, 62, 164, 217, 88, 166, 2, 64, 0, 15, 0, 16, 0, 3, 0, 0, 0, 181, 130, 55, 125, 17, 0, 0, 0, 15, 0, 16, 0, 3, 0, 0, 0, 181, 130, 55, 125, 17, 0, 0, 0, 15, 0, 16, 0, 3, 0, 0, 0, 181, 130, 55, 125, 17, 0, 0, 0, 16, 0, 15, 0, 3, 0, 2, 0, 60, 142, 178, 102, 239, 9, 33, 1, 16, 0, 15, 0, 3, 0, 2, 0, 60, 142, 178, 102, 239, 9, 33, 1, 16, 0, 15, 0, 3, 0, 2, 0, 60, 142, 178, 102, 239, 9, 33, 1, 16, 0, 15, 0, 3, 0, 2, 0, 56, 106, 160, 67, 14, 55, 23, 27, 16, 0, 15, 0, 3, 0, 2, 0, 56, 106, 160, 67, 14, 55, 23, 27, 16, 0, 15, 0, 3, 0, 2, 0, 56, 106, 160, 67, 14, 55, 23, 27, 2, 0, 16, 0, 15, 0, 3, 0, 47, 94, 96, 89, 121, 49, 245, 22, 2, 0, 16, 0, 15, 0, 3, 0, 47, 94, 96, 89, 121, 49, 245, 22, 18, 0, 20, 0, 17, 0, 19, 0, 165, 188, 171, 50, 26, 14, 146, 2, 18, 0, 20, 0, 17, 0, 19, 0, 165, 188, 171, 50, 26, 14, 146, 2, 18, 0, 20, 0, 17, 0, 19, 0, 165, 188, 171, 50, 26, 14, 146, 2, 18, 0, 20, 0, 17, 0, 19, 0, 205, 172, 83, 41, 119, 40, 103, 1, 18, 0, 20, 0, 17, 0, 19, 0, 205, 172, 83, 41, 119, 40, 103, 1, 18, 0, 20, 0, 17, 0, 19, 0, 205, 172, 83, 41, 119, 40, 103, 1, 18, 0, 20, 0, 17, 0, 19, 0, 50, 173, 116, 49, 52, 31, 35, 2, 18, 0, 20, 0, 17, 0, 19, 0, 50, 173, 116, 49, 52, 31, 35, 2, 18, 0, 17, 0, 20, 0, 19, 0, 66, 157, 233, 78, 144, 19, 67, 0, 18, 0, 17, 0, 20, 0, 19, 0, 66, 157, 233, 78, 144, 19, 67, 0, 18, 0, 17, 0, 20, 0, 19, 0, 148, 194, 46, 31, 217, 29, 98, 0, 18, 0, 17, 0, 20, 0, 19, 0, 148, 194, 46, 31, 217, 29, 98, 0, 18, 0, 17, 0, 20, 0, 19, 0, 148, 194, 46, 31, 217, 29, 98, 0, 18, 0, 20, 0, 19, 0, 17, 0, 168, 180, 94, 55, 49, 10, 197, 9, 18, 0, 20, 0, 19, 0, 17, 0, 168, 180, 94, 55, 49, 10, 197, 9, 17, 0, 16, 0, 0, 0, 0, 0, 162, 163, 92, 92, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 162, 163, 92, 92, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 162, 163, 92, 92, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 107, 161, 147, 94, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 107, 161, 147, 94, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 39, 153, 215, 102, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 39, 153, 215, 102, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 121, 162, 133, 93, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 121, 162, 133, 93, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 121, 162, 133, 93, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 173, 152, 81, 103, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 173, 152, 81, 103, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 191, 145, 63, 110, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 191, 145, 63, 110, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 53, 238, 201, 17, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 53, 238, 201, 17, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 53, 238, 201, 17, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 54, 246, 200, 9, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 54, 246, 200, 9, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 5, 238, 249, 17, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 5, 238, 249, 17, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 31, 243, 223, 12, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 31, 243, 223, 12, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 75, 241, 179, 14, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 75, 241, 179, 14, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 75, 241, 179, 14, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 249, 243, 5, 12, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 249, 243, 5, 12, 0, 0, 0, 0, 16, 0, 15, 0, 3, 0, 0, 0, 116, 239, 45, 14, 92, 2, 0, 0, 16, 0, 15, 0, 3, 0, 0, 0, 116, 239, 45, 14, 92, 2, 0, 0, 16, 0, 15, 0, 3, 0, 17, 0, 104, 214, 255, 20, 85, 20, 65, 0, 16, 0, 15, 0, 3, 0, 17, 0, 104, 214, 255, 20, 85, 20, 65, 0, 16, 0, 15, 0, 3, 0, 0, 0, 197, 237, 75, 15, 238, 2, 0, 0, 16, 0, 15, 0, 3, 0, 0, 0, 197, 237, 75, 15, 238, 2, 0, 0, 16, 0, 15, 0, 3, 0, 0, 0, 141, 235, 181, 11, 188, 8, 0, 0, 16, 0, 15, 0, 3, 0, 0, 0, 141, 235, 181, 11, 188, 8, 0, 0, 16, 0, 15, 0, 3, 0, 0, 0, 141, 235, 181, 11, 188, 8, 0, 0, 16, 0, 15, 0, 3, 0, 17, 0, 179, 230, 114, 19, 174, 5, 42, 0, 16, 0, 3, 0, 15, 0, 17, 0, 124, 221, 15, 21, 68, 13, 47, 0, 16, 0, 3, 0, 15, 0, 17, 0, 124, 221, 15, 21, 68, 13, 47, 0, 16, 0, 3, 0, 15, 0, 17, 0, 124, 221, 15, 21, 68, 13, 47, 0, 4, 0, 5, 0, 3, 0, 0, 0, 250, 112, 128, 75, 132, 67, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 250, 112, 128, 75, 132, 67, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 250, 112, 128, 75, 132, 67, 0, 0, 3, 0, 4, 0, 5, 0, 0, 0, 203, 114, 42, 89, 9, 52, 0, 0, 3, 0, 4, 0, 5, 0, 0, 0, 203, 114, 42, 89, 9, 52, 0, 0, 3, 0, 4, 0, 5, 0, 0, 0, 203, 114, 42, 89, 9, 52, 0, 0, 3, 0, 4, 0, 5, 0, 0, 0, 203, 114, 42, 89, 9, 52, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 222, 128, 5, 95, 26, 32, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 222, 128, 5, 95, 26, 32, 0, 0, 4, 0, 3, 0, 5, 0, 0, 0, 167, 98, 242, 92, 100, 64, 0, 0, 4, 0, 3, 0, 5, 0, 0, 0, 167, 98, 242, 92, 100, 64, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 122, 156, 132, 99, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 122, 156, 132, 99, 0, 0, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 14, 141, 37, 88, 203, 26, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 14, 141, 37, 88, 203, 26, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 172, 145, 35, 103, 46, 7, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 172, 145, 35, 103, 46, 7, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 172, 145, 35, 103, 46, 7, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 88, 130, 33, 93, 132, 32, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 88, 130, 33, 93, 132, 32, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 172, 180, 205, 73, 133, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 172, 180, 205, 73, 133, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 64, 181, 208, 73, 237, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 64, 181, 208, 73, 237, 0, 0, 0, 30, 0, 31, 0, 29, 0, 0, 0, 105, 159, 104, 78, 45, 18, 0, 0, 30, 0, 31, 0, 29, 0, 0, 0, 105, 159, 104, 78, 45, 18, 0, 0, 30, 0, 31, 0, 29, 0, 0, 0, 253, 132, 49, 111, 208, 11, 0, 0, 30, 0, 31, 0, 29, 0, 0, 0, 253, 132, 49, 111, 208, 11, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 246, 187, 71, 62, 192, 5, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 148, 179, 216, 63, 146, 12, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 64, 195, 37, 59, 152, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 64, 195, 37, 59, 152, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 64, 195, 37, 59, 152, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 199, 196, 26, 58, 28, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 199, 196, 26, 58, 28, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 199, 196, 26, 58, 28, 1, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 252, 195, 206, 42, 51, 17, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 210, 183, 103, 42, 197, 29, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 225, 198, 39, 55, 246, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 225, 198, 39, 55, 246, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 225, 198, 39, 55, 246, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 188, 200, 211, 53, 110, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 188, 200, 211, 53, 110, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 188, 200, 211, 53, 110, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 32, 198, 239, 36, 238, 20, 0, 0, 30, 0, 31, 0, 29, 0, 0, 0, 255, 181, 143, 37, 112, 36, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 80, 200, 8, 53, 166, 2, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 80, 200, 8, 53, 166, 2, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 238, 200, 181, 51, 91, 3, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 37, 203, 94, 50, 122, 2, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 158, 202, 106, 51, 245, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 158, 202, 106, 51, 245, 1, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 188, 194, 23, 34, 42, 27, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 188, 194, 23, 34, 42, 27, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 213, 194, 206, 34, 91, 26, 0, 0, 30, 0, 31, 0, 29, 0, 0, 0, 166, 189, 186, 34, 158, 31, 0, 0, 30, 0, 31, 0, 29, 0, 0, 0, 237, 181, 136, 40, 137, 33, 0, 0, 30, 0, 31, 0, 29, 0, 0, 0, 237, 181, 136, 40, 137, 33, 0, 0, 30, 0, 31, 0, 29, 0, 0, 0, 30, 178, 8, 47, 215, 30, 0, 0, 30, 0, 31, 0, 29, 0, 0, 0, 38, 183, 202, 38, 14, 34, 0, 0, 20, 0, 18, 0, 19, 0, 0, 0, 196, 100, 62, 87, 252, 67, 0, 0, 20, 0, 18, 0, 19, 0, 0, 0, 196, 100, 62, 87, 252, 67, 0, 0, 20, 0, 18, 0, 19, 0, 0, 0, 196, 100, 62, 87, 252, 67, 0, 0, 20, 0, 18, 0, 19, 0, 0, 0, 63, 99, 122, 86, 69, 70, 0, 0, 20, 0, 18, 0, 19, 0, 0, 0, 63, 99, 122, 86, 69, 70, 0, 0, 20, 0, 18, 0, 19, 0, 0, 0, 63, 99, 122, 86, 69, 70, 0, 0, 19, 0, 20, 0, 18, 0, 0, 0, 151, 151, 123, 98, 235, 5, 0, 0, 19, 0, 20, 0, 18, 0, 0, 0, 151, 151, 123, 98, 235, 5, 0, 0, 18, 0, 20, 0, 19, 0, 17, 0, 119, 155, 42, 88, 116, 11, 233, 0, 18, 0, 20, 0, 19, 0, 17, 0, 119, 155, 42, 88, 116, 11, 233, 0, 18, 0, 20, 0, 19, 0, 0, 0, 115, 155, 46, 76, 92, 24, 0, 0, 18, 0, 20, 0, 19, 0, 0, 0, 115, 155, 46, 76, 92, 24, 0, 0, 18, 0, 20, 0, 19, 0, 0, 0, 115, 155, 46, 76, 92, 24, 0, 0, 18, 0, 20, 0, 19, 0, 0, 0, 115, 155, 46, 76, 92, 24, 0, 0, 19, 0, 20, 0, 18, 0, 0, 0, 229, 182, 233, 71, 48, 1, 0, 0, 19, 0, 20, 0, 18, 0, 0, 0, 229, 182, 233, 71, 48, 1, 0, 0, 20, 0, 19, 0, 0, 0, 0, 0, 193, 225, 61, 30, 0, 0, 0, 0, 20, 0, 19, 0, 0, 0, 0, 0, 193, 225, 61, 30, 0, 0, 0, 0, 20, 0, 19, 0, 0, 0, 0, 0, 146, 208, 108, 47, 0, 0, 0, 0, 20, 0, 19, 0, 0, 0, 0, 0, 146, 208, 108, 47, 0, 0, 0, 0, 20, 0, 19, 0, 0, 0, 0, 0, 117, 234, 137, 21, 0, 0, 0, 0, 20, 0, 19, 0, 0, 0, 0, 0, 117, 234, 137, 21, 0, 0, 0, 0, 20, 0, 19, 0, 0, 0, 0, 0, 166, 150, 88, 105, 0, 0, 0, 0, 20, 0, 19, 0, 0, 0, 0, 0, 166, 150, 88, 105, 0, 0, 0, 0, 20, 0, 19, 0, 0, 0, 0, 0, 86, 162, 168, 93, 0, 0, 0, 0, 20, 0, 19, 0, 0, 0, 0, 0, 86, 162, 168, 93, 0, 0, 0, 0, 20, 0, 19, 0, 0, 0, 0, 0, 171, 243, 83, 12, 0, 0, 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, 238, 177, 16, 78, 0, 0, 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, 238, 177, 16, 78, 0, 0, 0, 0, 20, 0, 21, 0, 19, 0, 0, 0, 37, 245, 196, 7, 21, 3, 0, 0, 20, 0, 21, 0, 19, 0, 0, 0, 37, 245, 196, 7, 21, 3, 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, 219, 244, 35, 11, 0, 0, 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, 219, 244, 35, 11, 0, 0, 0, 0, 20, 0, 19, 0, 0, 0, 0, 0, 101, 249, 153, 6, 0, 0, 0, 0, 20, 0, 19, 0, 0, 0, 0, 0, 101, 249, 153, 6, 0, 0, 0, 0, 20, 0, 19, 0, 0, 0, 0, 0, 211, 250, 43, 5, 0, 0, 0, 0, 20, 0, 19, 0, 0, 0, 0, 0, 211, 250, 43, 5, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 1, 189, 253, 66, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 241, 244, 13, 11, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 241, 244, 13, 11, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 241, 244, 13, 11, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 58, 207, 196, 48, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 58, 207, 196, 48, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 31, 215, 223, 40, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 31, 215, 223, 40, 0, 0, 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, 189, 251, 65, 4, 0, 0, 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, 189, 251, 65, 4, 0, 0, 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, 189, 251, 65, 4, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 41, 145, 213, 110, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 41, 145, 213, 110, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 41, 145, 213, 110, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 176, 250, 78, 5, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 176, 250, 78, 5, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 172, 237, 82, 18, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 172, 237, 82, 18, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 150, 217, 104, 38, 0, 0, 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, 168, 248, 86, 7, 0, 0, 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, 168, 248, 86, 7, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 96, 250, 158, 5, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 96, 250, 158, 5, 0, 0, 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, 198, 180, 56, 75, 0, 0, 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, 198, 180, 56, 75, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 70, 240, 184, 15, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 70, 240, 184, 15, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 113, 249, 141, 6, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 15, 196, 239, 59, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 243, 248, 11, 7, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 230, 227, 24, 28, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 230, 227, 24, 28, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 204, 254, 50, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 204, 254, 50, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 189, 227, 65, 28, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 102, 255, 152, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 102, 255, 152, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 79, 255, 175, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 79, 255, 175, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 128, 255, 126, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 13, 249, 241, 6, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 106, 253, 148, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 78, 254, 176, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 78, 254, 176, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 78, 254, 176, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 29, 253, 225, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 29, 253, 225, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 88, 250, 166, 5, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 88, 250, 166, 5, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 25, 202, 229, 53, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 25, 202, 229, 53, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 145, 212, 109, 43, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 145, 212, 109, 43, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 135, 163, 228, 84, 146, 7, 0, 0, 3, 0, 4, 0, 15, 0, 0, 0, 39, 242, 107, 8, 107, 5, 0, 0, 3, 0, 4, 0, 15, 0, 0, 0, 39, 242, 107, 8, 107, 5, 0, 0, 3, 0, 15, 0, 0, 0, 0, 0, 43, 227, 211, 28, 0, 0, 0, 0, 3, 0, 15, 0, 0, 0, 0, 0, 43, 227, 211, 28, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 239, 237, 15, 18, 0, 0, 0, 0, 4, 0, 3, 0, 5, 0, 0, 0, 67, 107, 111, 77, 76, 71, 0, 0, 4, 0, 3, 0, 5, 0, 0, 0, 67, 107, 111, 77, 76, 71, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 20, 135, 99, 115, 134, 5, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 179, 193, 75, 62, 0, 0, 0, 0, 3, 0, 15, 0, 0, 0, 0, 0, 22, 252, 232, 3, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 225, 209, 162, 36, 122, 9, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 41, 245, 213, 10, 0, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 41, 245, 213, 10, 0, 0, 0, 0, 3, 0, 2, 0, 0, 0, 0, 0, 233, 239, 21, 16, 0, 0, 0, 0, 3, 0, 2, 0, 0, 0, 0, 0, 233, 239, 21, 16, 0, 0, 0, 0, 28, 0, 0, 0, 23, 0, 0, 0, 71, 151, 61, 93, 122, 11, 0, 0, 28, 0, 0, 0, 23, 0, 0, 0, 86, 182, 168, 72, 255, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 221, 217, 33, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 227, 239, 27, 16, 0, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 85, 243, 169, 12, 0, 0, 0, 0, 28, 0, 0, 0, 23, 0, 0, 0, 97, 235, 201, 15, 212, 4, 0, 0, 28, 0, 0, 0, 23, 0, 29, 0, 125, 254, 238, 0, 91, 0, 55, 0, 28, 0, 0, 0, 0, 0, 0, 0, 99, 250, 155, 5, 0, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 213, 255, 41, 0, 0, 0, 0, 0, 29, 0, 28, 0, 0, 0, 0, 0, 176, 152, 78, 103, 0, 0, 0, 0, 29, 0, 28, 0, 0, 0, 0, 0, 188, 190, 66, 65, 0, 0, 0, 0, 29, 0, 28, 0, 30, 0, 0, 0, 140, 255, 71, 0, 42, 0, 0, 0, 29, 0, 30, 0, 28, 0, 0, 0, 95, 253, 102, 2, 56, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 62, 135, 249, 119, 199, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 62, 135, 249, 119, 199, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 154, 160, 115, 90, 240, 4, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 154, 160, 115, 90, 240, 4, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 47, 120, 92, 88, 115, 47, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 47, 120, 92, 88, 115, 47, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 47, 120, 92, 88, 115, 47, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 195, 137, 15, 94, 44, 24, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 38, 146, 107, 98, 109, 11, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 38, 146, 107, 98, 109, 11, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 93, 176, 186, 78, 230, 0, 0, 0, 30, 0, 31, 0, 29, 0, 0, 0, 48, 145, 165, 95, 41, 15, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 248, 194, 209, 59, 52, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 248, 194, 209, 59, 52, 1, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 134, 199, 200, 54, 175, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 134, 199, 200, 54, 175, 1, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 9, 202, 162, 50, 83, 3, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 165, 201, 225, 51, 120, 2, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 30, 0, 31, 0, 29, 0, 0, 0, 253, 177, 98, 48, 159, 29, 0, 0, 30, 0, 31, 0, 29, 0, 0, 0, 62, 185, 151, 37, 40, 33, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 102, 213, 152, 42, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 102, 213, 152, 42, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 42, 254, 212, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 42, 254, 212, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 33, 207, 221, 48, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 33, 207, 221, 48, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 33, 207, 221, 48, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 220, 254, 34, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 220, 254, 34, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 220, 254, 34, 1, 0, 0, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 11, 174, 96, 80, 146, 1, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 11, 174, 96, 80, 146, 1, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 11, 174, 96, 80, 146, 1, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 74, 218, 181, 37, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 74, 218, 181, 37, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 123, 254, 131, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 123, 254, 131, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 208, 254, 46, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 208, 254, 46, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 208, 254, 46, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 53, 252, 201, 3, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 53, 252, 201, 3, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 141, 248, 113, 7, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 166, 251, 88, 4, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 166, 251, 88, 4, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 99, 253, 155, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 99, 253, 155, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 74, 252, 180, 3, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 4, 250, 250, 5, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 66, 248, 188, 7, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 228, 251, 26, 4, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 130, 239, 124, 16, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 129, 248, 125, 7, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 129, 248, 125, 7, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 240, 235, 14, 20, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 240, 235, 14, 20, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 186, 222, 68, 33, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 186, 222, 68, 33, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 27, 209, 227, 46, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 56, 230, 198, 25, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 56, 230, 198, 25, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 102, 218, 152, 37, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 102, 218, 152, 37, 0, 0, 0, 0, 7, 0, 3, 0, 2, 0, 0, 0, 132, 177, 171, 75, 206, 2, 0, 0, 7, 0, 3, 0, 2, 0, 0, 0, 132, 177, 171, 75, 206, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 9, 177, 245, 78, 0, 0, 0, 0, 3, 0, 7, 0, 0, 0, 0, 0, 75, 146, 179, 109, 0, 0, 0, 0, 3, 0, 7, 0, 0, 0, 0, 0, 75, 146, 179, 109, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 68, 145, 186, 110, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 68, 145, 186, 110, 0, 0, 0, 0, 2, 0, 3, 0, 7, 0, 0, 0, 41, 209, 92, 35, 121, 11, 0, 0, 3, 0, 7, 0, 2, 0, 8, 0, 24, 96, 120, 91, 40, 52, 69, 16, 3, 0, 7, 0, 2, 0, 8, 0, 24, 96, 120, 91, 40, 52, 69, 16, 3, 0, 7, 0, 2, 0, 8, 0, 24, 96, 120, 91, 40, 52, 69, 16, 3, 0, 7, 0, 2, 0, 8, 0, 24, 96, 120, 91, 40, 52, 69, 16, 3, 0, 7, 0, 2, 0, 0, 0, 193, 186, 197, 37, 120, 31, 0, 0, 3, 0, 7, 0, 2, 0, 0, 0, 193, 186, 197, 37, 120, 31, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 148, 252, 106, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 111, 218, 143, 37, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 235, 176, 19, 79, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 235, 176, 19, 79, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 112, 195, 142, 60, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 155, 246, 99, 9, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 155, 246, 99, 9, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 107, 196, 147, 59, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 33, 249, 221, 6, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 33, 249, 221, 6, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 46, 251, 208, 4, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 46, 251, 208, 4, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 23, 251, 231, 4, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 23, 251, 231, 4, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 1, 252, 253, 3, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 1, 252, 253, 3, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 44, 248, 210, 7, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 43, 251, 211, 4, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 43, 251, 211, 4, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 200, 248, 54, 7, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 200, 248, 54, 7, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 200, 248, 54, 7, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 68, 246, 186, 9, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 68, 246, 186, 9, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 68, 246, 186, 9, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 216, 156, 38, 99, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 216, 156, 38, 99, 0, 0, 0, 0, 24, 0, 23, 0, 0, 0, 0, 0, 127, 150, 127, 105, 0, 0, 0, 0, 24, 0, 23, 0, 0, 0, 0, 0, 127, 150, 127, 105, 0, 0, 0, 0, 24, 0, 23, 0, 0, 0, 0, 0, 43, 134, 211, 121, 0, 0, 0, 0, 24, 0, 23, 0, 0, 0, 0, 0, 43, 134, 211, 121, 0, 0, 0, 0, 24, 0, 23, 0, 0, 0, 0, 0, 71, 141, 183, 114, 0, 0, 0, 0, 24, 0, 23, 0, 0, 0, 0, 0, 71, 141, 183, 114, 0, 0, 0, 0, 24, 0, 23, 0, 25, 0, 0, 0, 125, 255, 80, 0, 48, 0, 0, 0, 24, 0, 23, 0, 25, 0, 0, 0, 125, 255, 80, 0, 48, 0, 0, 0, 24, 0, 23, 0, 25, 0, 0, 0, 125, 255, 80, 0, 48, 0, 0, 0, 24, 0, 23, 0, 25, 0, 0, 0, 81, 255, 120, 0, 53, 0, 0, 0, 24, 0, 23, 0, 25, 0, 0, 0, 81, 255, 120, 0, 53, 0, 0, 0, 24, 0, 25, 0, 23, 0, 0, 0, 246, 252, 239, 1, 24, 1, 0, 0, 24, 0, 25, 0, 23, 0, 0, 0, 225, 252, 100, 2, 184, 0, 0, 0, 24, 0, 25, 0, 23, 0, 0, 0, 225, 252, 100, 2, 184, 0, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 98, 148, 198, 102, 213, 4, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 98, 148, 198, 102, 213, 4, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 98, 148, 198, 102, 213, 4, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 78, 148, 64, 103, 111, 4, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 78, 148, 64, 103, 111, 4, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 124, 171, 24, 70, 105, 14, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 124, 171, 24, 70, 105, 14, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 124, 171, 24, 70, 105, 14, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 139, 173, 0, 68, 115, 14, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 139, 173, 0, 68, 115, 14, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 139, 173, 0, 68, 115, 14, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 140, 167, 114, 88, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 140, 167, 114, 88, 0, 0, 0, 0, 7, 0, 3, 0, 8, 0, 0, 0, 254, 204, 162, 45, 93, 5, 0, 0, 7, 0, 3, 0, 8, 0, 0, 0, 254, 204, 162, 45, 93, 5, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 145, 126, 138, 83, 227, 45, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 145, 126, 138, 83, 227, 45, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 145, 126, 138, 83, 227, 45, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 44, 181, 176, 71, 34, 3, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 44, 181, 176, 71, 34, 3, 0, 0, 2, 0, 3, 0, 7, 0, 0, 0, 83, 240, 207, 9, 219, 5, 0, 0, 2, 0, 3, 0, 7, 0, 0, 0, 83, 240, 207, 9, 219, 5, 0, 0, 2, 0, 3, 0, 7, 0, 8, 0, 9, 160, 0, 46, 94, 44, 149, 5, 2, 0, 3, 0, 7, 0, 8, 0, 9, 160, 0, 46, 94, 44, 149, 5, 2, 0, 3, 0, 7, 0, 8, 0, 9, 160, 0, 46, 94, 44, 149, 5, 23, 0, 0, 0, 0, 0, 0, 0, 39, 191, 215, 64, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 39, 191, 215, 64, 0, 0, 0, 0, 0, 0, 23, 0, 1, 0, 0, 0, 80, 223, 149, 20, 25, 12, 0, 0, 0, 0, 23, 0, 1, 0, 0, 0, 80, 223, 149, 20, 25, 12, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 43, 249, 211, 6, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 43, 249, 211, 6, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 248, 246, 6, 9, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 71, 250, 183, 5, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 71, 250, 183, 5, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 106, 141, 148, 114, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 106, 141, 148, 114, 0, 0, 0, 0, 24, 0, 23, 0, 0, 0, 0, 0, 22, 140, 232, 115, 0, 0, 0, 0, 24, 0, 23, 0, 25, 0, 0, 0, 72, 254, 19, 1, 162, 0, 0, 0, 24, 0, 23, 0, 25, 0, 0, 0, 72, 254, 19, 1, 162, 0, 0, 0, 24, 0, 25, 0, 23, 0, 0, 0, 182, 254, 179, 0, 148, 0, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 224, 154, 240, 92, 45, 8, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 224, 154, 240, 92, 45, 8, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 125, 154, 39, 93, 89, 8, 0, 0, 7, 0, 8, 0, 3, 0, 2, 0, 158, 102, 147, 86, 169, 50, 36, 16, 7, 0, 8, 0, 3, 0, 2, 0, 158, 102, 147, 86, 169, 50, 36, 16, 7, 0, 8, 0, 3, 0, 2, 0, 235, 149, 101, 87, 248, 14, 181, 3, 7, 0, 8, 0, 3, 0, 2, 0, 235, 149, 101, 87, 248, 14, 181, 3, 7, 0, 8, 0, 3, 0, 2, 0, 235, 149, 101, 87, 248, 14, 181, 3, 7, 0, 8, 0, 3, 0, 2, 0, 235, 149, 101, 87, 248, 14, 181, 3, 7, 0, 8, 0, 3, 0, 2, 0, 218, 179, 206, 67, 141, 7, 200, 0, 7, 0, 8, 0, 3, 0, 2, 0, 218, 179, 206, 67, 141, 7, 200, 0, 7, 0, 8, 0, 3, 0, 2, 0, 218, 179, 206, 67, 141, 7, 200, 0, 7, 0, 3, 0, 8, 0, 2, 0, 187, 130, 89, 62, 106, 61, 127, 1, 7, 0, 3, 0, 8, 0, 2, 0, 187, 130, 89, 62, 106, 61, 127, 1, 3, 0, 7, 0, 8, 0, 2, 0, 167, 123, 47, 79, 89, 35, 205, 17, 3, 0, 7, 0, 8, 0, 2, 0, 167, 123, 47, 79, 89, 35, 205, 17, 2, 0, 7, 0, 3, 0, 8, 0, 187, 93, 241, 66, 16, 66, 66, 29, 2, 0, 7, 0, 3, 0, 8, 0, 187, 93, 241, 66, 16, 66, 66, 29, 10, 0, 9, 0, 11, 0, 12, 0, 127, 235, 177, 11, 11, 6, 194, 2, 10, 0, 9, 0, 11, 0, 12, 0, 127, 235, 177, 11, 11, 6, 194, 2, 10, 0, 9, 0, 11, 0, 12, 0, 127, 235, 177, 11, 11, 6, 194, 2, 10, 0, 9, 0, 11, 0, 12, 0, 110, 209, 5, 36, 102, 7, 36, 3, 10, 0, 9, 0, 11, 0, 12, 0, 110, 209, 5, 36, 102, 7, 36, 3, 10, 0, 9, 0, 11, 0, 12, 0, 110, 209, 5, 36, 102, 7, 36, 3, 10, 0, 9, 0, 11, 0, 12, 0, 238, 210, 50, 30, 106, 12, 115, 2, 10, 0, 9, 0, 11, 0, 12, 0, 238, 210, 50, 30, 106, 12, 115, 2, 10, 0, 9, 0, 11, 0, 12, 0, 127, 180, 83, 71, 134, 3, 165, 0, 10, 0, 9, 0, 11, 0, 12, 0, 127, 180, 83, 71, 134, 3, 165, 0, 10, 0, 9, 0, 11, 0, 12, 0, 131, 225, 141, 28, 119, 1, 118, 0, 10, 0, 9, 0, 11, 0, 12, 0, 131, 225, 141, 28, 119, 1, 118, 0, 10, 0, 9, 0, 11, 0, 12, 0, 131, 225, 141, 28, 119, 1, 118, 0, 10, 0, 11, 0, 9, 0, 12, 0, 134, 235, 221, 10, 56, 8, 98, 1, 10, 0, 11, 0, 9, 0, 12, 0, 134, 235, 221, 10, 56, 8, 98, 1, 9, 0, 8, 0, 0, 0, 0, 0, 87, 208, 167, 47, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 87, 208, 167, 47, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 95, 210, 159, 45, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 95, 210, 159, 45, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 95, 210, 159, 45, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 95, 210, 159, 45, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 163, 206, 91, 49, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 163, 206, 91, 49, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 163, 206, 91, 49, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 12, 206, 242, 49, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 12, 206, 242, 49, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 252, 212, 2, 43, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 252, 212, 2, 43, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 252, 212, 2, 43, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 180, 204, 74, 51, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 180, 204, 74, 51, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 132, 248, 122, 7, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 132, 248, 122, 7, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 143, 251, 111, 4, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 143, 251, 111, 4, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 143, 251, 111, 4, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 168, 250, 86, 5, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 168, 250, 86, 5, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 176, 249, 78, 6, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 176, 249, 78, 6, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 94, 252, 160, 3, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 94, 252, 160, 3, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 94, 252, 160, 3, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 108, 252, 146, 3, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 108, 252, 146, 3, 0, 0, 0, 0, 8, 0, 7, 0, 3, 0, 9, 0, 202, 207, 198, 31, 34, 16, 75, 0, 8, 0, 7, 0, 3, 0, 9, 0, 202, 207, 198, 31, 34, 16, 75, 0, 8, 0, 3, 0, 7, 0, 9, 0, 159, 121, 53, 69, 227, 63, 70, 1, 8, 0, 3, 0, 7, 0, 9, 0, 159, 121, 53, 69, 227, 63, 70, 1, 8, 0, 3, 0, 7, 0, 9, 0, 159, 121, 53, 69, 227, 63, 70, 1, 8, 0, 7, 0, 3, 0, 9, 0, 176, 223, 130, 27, 84, 4, 119, 0, 8, 0, 7, 0, 3, 0, 9, 0, 176, 223, 130, 27, 84, 4, 119, 0, 8, 0, 7, 0, 3, 0, 9, 0, 195, 206, 168, 28, 72, 19, 74, 1, 8, 0, 7, 0, 3, 0, 9, 0, 195, 206, 168, 28, 72, 19, 74, 1, 8, 0, 7, 0, 3, 0, 9, 0, 199, 162, 121, 54, 244, 37, 201, 0, 8, 0, 3, 0, 7, 0, 9, 0, 167, 154, 139, 57, 100, 42, 103, 1, 8, 0, 3, 0, 7, 0, 9, 0, 167, 154, 139, 57, 100, 42, 103, 1, 4, 0, 3, 0, 5, 0, 0, 0, 113, 110, 232, 78, 164, 66, 0, 0, 4, 0, 3, 0, 5, 0, 0, 0, 113, 110, 232, 78, 164, 66, 0, 0, 4, 0, 3, 0, 5, 0, 0, 0, 113, 110, 232, 78, 164, 66, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 2, 114, 184, 74, 67, 67, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 2, 114, 184, 74, 67, 67, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 123, 148, 119, 95, 12, 12, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 9, 140, 222, 98, 23, 17, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 213, 190, 112, 59, 184, 5, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 213, 190, 112, 59, 184, 5, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 108, 198, 103, 52, 42, 5, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 108, 198, 103, 52, 42, 5, 0, 0, 25, 0, 26, 0, 24, 0, 0, 0, 91, 138, 90, 110, 73, 7, 0, 0, 25, 0, 26, 0, 24, 0, 0, 0, 91, 138, 90, 110, 73, 7, 0, 0, 26, 0, 25, 0, 24, 0, 0, 0, 118, 125, 217, 124, 174, 5, 0, 0, 26, 0, 25, 0, 24, 0, 0, 0, 118, 125, 217, 124, 174, 5, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 231, 197, 26, 39, 253, 18, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 248, 189, 238, 45, 24, 20, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 220, 206, 10, 43, 24, 6, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 220, 206, 10, 43, 24, 6, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 220, 206, 10, 43, 24, 6, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 28, 212, 65, 38, 161, 5, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 28, 212, 65, 38, 161, 5, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 28, 212, 65, 38, 161, 5, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 25, 0, 26, 0, 24, 0, 0, 0, 35, 195, 234, 37, 241, 22, 0, 0, 25, 0, 26, 0, 24, 0, 0, 0, 27, 186, 126, 42, 101, 27, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 214, 210, 100, 38, 196, 6, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 214, 210, 100, 38, 196, 6, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 214, 210, 100, 38, 196, 6, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 4, 215, 155, 34, 95, 6, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 4, 215, 155, 34, 95, 6, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 4, 215, 155, 34, 95, 6, 0, 0, 25, 0, 26, 0, 24, 0, 0, 0, 110, 193, 118, 43, 26, 19, 0, 0, 25, 0, 26, 0, 24, 0, 0, 0, 64, 181, 68, 52, 122, 22, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 227, 211, 26, 36, 1, 8, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 227, 211, 26, 36, 1, 8, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 219, 211, 200, 34, 91, 9, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 150, 215, 90, 31, 14, 9, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 222, 215, 97, 32, 190, 7, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 222, 215, 97, 32, 190, 7, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 25, 0, 26, 0, 24, 0, 0, 0, 178, 189, 200, 48, 131, 17, 0, 0, 25, 0, 26, 0, 24, 0, 0, 0, 178, 189, 200, 48, 131, 17, 0, 0, 25, 0, 26, 0, 24, 0, 0, 0, 127, 189, 123, 48, 4, 18, 0, 0, 25, 0, 26, 0, 24, 0, 0, 0, 86, 183, 158, 56, 9, 16, 0, 0, 25, 0, 26, 0, 24, 0, 0, 0, 195, 178, 83, 57, 232, 19, 0, 0, 25, 0, 26, 0, 24, 0, 0, 0, 195, 178, 83, 57, 232, 19, 0, 0, 25, 0, 26, 0, 24, 0, 0, 0, 142, 173, 167, 64, 200, 17, 0, 0, 25, 0, 26, 0, 24, 0, 0, 0, 216, 180, 222, 54, 72, 20, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 21, 131, 230, 119, 2, 5, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 21, 131, 230, 119, 2, 5, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 21, 131, 230, 119, 2, 5, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 253, 176, 195, 71, 62, 7, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 253, 176, 195, 71, 62, 7, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 253, 176, 195, 71, 62, 7, 0, 0, 11, 0, 10, 0, 12, 0, 0, 0, 102, 141, 130, 107, 22, 7, 0, 0, 11, 0, 10, 0, 12, 0, 0, 0, 102, 141, 130, 107, 22, 7, 0, 0, 10, 0, 11, 0, 12, 0, 9, 0, 133, 226, 139, 24, 4, 3, 233, 1, 10, 0, 11, 0, 12, 0, 0, 0, 4, 236, 213, 18, 37, 1, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 4, 236, 213, 18, 37, 1, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 4, 236, 213, 18, 37, 1, 0, 0, 11, 0, 10, 0, 12, 0, 0, 0, 178, 233, 49, 16, 26, 6, 0, 0, 11, 0, 10, 0, 12, 0, 0, 0, 178, 233, 49, 16, 26, 6, 0, 0, 12, 0, 11, 0, 0, 0, 0, 0, 15, 215, 239, 40, 0, 0, 0, 0, 12, 0, 11, 0, 0, 0, 0, 0, 15, 215, 239, 40, 0, 0, 0, 0, 12, 0, 11, 0, 10, 0, 0, 0, 40, 158, 202, 97, 12, 0, 0, 0, 12, 0, 11, 0, 0, 0, 0, 0, 188, 188, 66, 67, 0, 0, 0, 0, 12, 0, 11, 0, 0, 0, 0, 0, 188, 188, 66, 67, 0, 0, 0, 0, 11, 0, 12, 0, 10, 0, 0, 0, 191, 204, 30, 51, 33, 0, 0, 0, 11, 0, 12, 0, 0, 0, 0, 0, 52, 220, 202, 35, 0, 0, 0, 0, 11, 0, 12, 0, 0, 0, 0, 0, 52, 220, 202, 35, 0, 0, 0, 0, 12, 0, 11, 0, 0, 0, 0, 0, 174, 236, 80, 19, 0, 0, 0, 0, 13, 0, 12, 0, 0, 0, 0, 0, 76, 152, 178, 103, 0, 0, 0, 0, 13, 0, 12, 0, 0, 0, 0, 0, 76, 152, 178, 103, 0, 0, 0, 0, 12, 0, 11, 0, 13, 0, 0, 0, 2, 249, 239, 6, 12, 0, 0, 0, 12, 0, 11, 0, 13, 0, 0, 0, 16, 252, 229, 3, 8, 0, 0, 0, 12, 0, 11, 0, 13, 0, 0, 0, 16, 252, 229, 3, 8, 0, 0, 0, 12, 0, 11, 0, 13, 0, 0, 0, 16, 252, 229, 3, 8, 0, 0, 0, 12, 0, 11, 0, 0, 0, 0, 0, 40, 240, 214, 15, 0, 0, 0, 0, 12, 0, 11, 0, 0, 0, 0, 0, 40, 240, 214, 15, 0, 0, 0, 0, 12, 0, 11, 0, 0, 0, 0, 0, 89, 242, 165, 13, 0, 0, 0, 0, 12, 0, 11, 0, 0, 0, 0, 0, 89, 242, 165, 13, 0, 0, 0, 0, 12, 0, 11, 0, 0, 0, 0, 0, 89, 242, 165, 13, 0, 0, 0, 0, 13, 0, 12, 0, 0, 0, 0, 0, 229, 159, 25, 96, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 12, 0, 13, 0, 0, 0, 0, 0, 101, 208, 153, 47, 0, 0, 0, 0, 12, 0, 13, 0, 0, 0, 0, 0, 101, 208, 153, 47, 0, 0, 0, 0, 12, 0, 13, 0, 0, 0, 0, 0, 60, 254, 194, 1, 0, 0, 0, 0, 12, 0, 13, 0, 0, 0, 0, 0, 60, 254, 194, 1, 0, 0, 0, 0, 12, 0, 11, 0, 0, 0, 0, 0, 232, 255, 22, 0, 0, 0, 0, 0, 12, 0, 13, 0, 0, 0, 0, 0, 141, 210, 113, 45, 0, 0, 0, 0, 12, 0, 13, 0, 0, 0, 0, 0, 141, 210, 113, 45, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 13, 0, 12, 0, 0, 0, 0, 0, 104, 207, 150, 48, 0, 0, 0, 0, 13, 0, 12, 0, 0, 0, 0, 0, 104, 207, 150, 48, 0, 0, 0, 0, 12, 0, 13, 0, 0, 0, 0, 0, 249, 235, 5, 20, 0, 0, 0, 0, 12, 0, 13, 0, 0, 0, 0, 0, 249, 235, 5, 20, 0, 0, 0, 0, 12, 0, 13, 0, 11, 0, 0, 0, 231, 252, 134, 2, 145, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 12, 0, 13, 0, 0, 0, 0, 0, 227, 255, 27, 0, 0, 0, 0, 0, 13, 0, 12, 0, 0, 0, 0, 0, 126, 194, 128, 61, 0, 0, 0, 0, 13, 0, 12, 0, 0, 0, 0, 0, 126, 194, 128, 61, 0, 0, 0, 0, 13, 0, 12, 0, 0, 0, 0, 0, 224, 187, 30, 68, 0, 0, 0, 0, 12, 0, 13, 0, 0, 0, 0, 0, 4, 141, 250, 114, 0, 0, 0, 0, 13, 0, 12, 0, 0, 0, 0, 0, 111, 207, 143, 48, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 255, 226, 255, 28, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 255, 226, 255, 28, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 145, 254, 109, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 239, 228, 15, 27, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 60, 255, 194, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 60, 255, 194, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 21, 255, 233, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 80, 255, 174, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 80, 255, 174, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 6, 248, 248, 7, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 0, 253, 254, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 0, 253, 254, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 255, 253, 255, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 178, 252, 76, 3, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 26, 250, 228, 5, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 42, 206, 212, 49, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 42, 206, 212, 49, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 0, 215, 254, 40, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 0, 215, 254, 40, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 247, 164, 202, 81, 61, 9, 0, 0, 3, 0, 4, 0, 7, 0, 0, 0, 112, 245, 109, 6, 32, 4, 0, 0, 3, 0, 4, 0, 7, 0, 0, 0, 112, 245, 109, 6, 32, 4, 0, 0, 3, 0, 7, 0, 0, 0, 0, 0, 168, 237, 86, 18, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 211, 217, 43, 38, 0, 0, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 220, 113, 151, 78, 138, 63, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 220, 113, 151, 78, 138, 63, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 218, 131, 100, 118, 191, 5, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 218, 131, 100, 118, 191, 5, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 70, 181, 184, 74, 0, 0, 0, 0, 3, 0, 7, 0, 0, 0, 0, 0, 53, 255, 201, 0, 0, 0, 0, 0, 3, 0, 7, 0, 0, 0, 0, 0, 53, 255, 201, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 55, 216, 199, 39, 0, 0, 0, 0, 2, 0, 1, 0, 3, 0, 0, 0, 224, 240, 225, 7, 61, 7, 0, 0, 3, 0, 2, 0, 0, 0, 0, 0, 56, 244, 198, 11, 0, 0, 0, 0, 3, 0, 2, 0, 0, 0, 0, 0, 56, 244, 198, 11, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 226, 182, 28, 73, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 226, 182, 28, 73, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 37, 183, 217, 72, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 232, 195, 22, 60, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 146, 241, 108, 14, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 146, 241, 108, 14, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 116, 249, 138, 6, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 105, 250, 149, 5, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 81, 244, 173, 11, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 81, 244, 173, 11, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 79, 249, 175, 6, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 97, 135, 157, 120, 0, 0, 0, 0, 24, 0, 23, 0, 0, 0, 0, 0, 225, 138, 29, 117, 0, 0, 0, 0, 24, 0, 23, 0, 25, 0, 0, 0, 131, 255, 81, 0, 42, 0, 0, 0, 24, 0, 23, 0, 25, 0, 0, 0, 131, 255, 81, 0, 42, 0, 0, 0, 24, 0, 25, 0, 23, 0, 0, 0, 56, 252, 147, 2, 50, 1, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 72, 149, 229, 102, 208, 3, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 72, 149, 229, 102, 208, 3, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 146, 169, 183, 71, 181, 14, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 146, 169, 183, 71, 181, 14, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 163, 130, 78, 93, 12, 32, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 25, 146, 129, 96, 100, 13, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 104, 149, 188, 101, 217, 4, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 104, 149, 188, 101, 217, 4, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 88, 192, 69, 59, 96, 4, 0, 0, 25, 0, 26, 0, 24, 0, 0, 0, 7, 129, 12, 120, 235, 6, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 126, 208, 252, 41, 131, 5, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 126, 208, 252, 41, 131, 5, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 203, 212, 202, 36, 105, 6, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 203, 212, 202, 36, 105, 6, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 226, 213, 208, 32, 75, 9, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 48, 214, 228, 33, 234, 7, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 25, 0, 26, 0, 24, 0, 0, 0, 219, 175, 177, 63, 114, 16, 0, 0, 25, 0, 26, 0, 24, 0, 0, 0, 89, 182, 31, 55, 134, 18, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 40, 202, 214, 53, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 196, 254, 58, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 196, 254, 58, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 196, 254, 58, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 39, 226, 215, 29, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 39, 226, 215, 29, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 39, 226, 215, 29, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 39, 226, 215, 29, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 108, 255, 146, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 108, 255, 146, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 108, 255, 146, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 90, 255, 165, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 90, 255, 165, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 90, 255, 165, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 147, 253, 107, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 98, 248, 156, 7, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 35, 253, 219, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 84, 254, 170, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 84, 254, 170, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 185, 250, 69, 5, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 185, 250, 69, 5, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 184, 221, 70, 34, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 184, 221, 70, 34, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 222, 234, 32, 21, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 222, 234, 32, 21, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 55, 255, 199, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 229, 221, 25, 34, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 229, 221, 25, 34, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 239, 254, 15, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 239, 254, 15, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 239, 254, 15, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 49, 255, 205, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 49, 255, 205, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 19, 253, 235, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 19, 253, 235, 2, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 166, 252, 88, 3, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 166, 252, 88, 3, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 166, 252, 88, 3, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 13, 254, 241, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 214, 238, 40, 17, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 32, 213, 222, 42, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 32, 213, 222, 42, 0, 0, 0, 0, 15, 0, 3, 0, 16, 0, 0, 0, 32, 184, 1, 48, 220, 23, 0, 0, 15, 0, 3, 0, 16, 0, 0, 0, 32, 184, 1, 48, 220, 23, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 62, 224, 192, 31, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 115, 146, 48, 108, 91, 1, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 115, 146, 48, 108, 91, 1, 0, 0, 15, 0, 16, 0, 2, 0, 3, 0, 77, 94, 177, 80, 214, 72, 41, 8, 15, 0, 16, 0, 2, 0, 3, 0, 77, 94, 177, 80, 214, 72, 41, 8, 15, 0, 16, 0, 2, 0, 3, 0, 77, 94, 177, 80, 214, 72, 41, 8, 3, 0, 2, 0, 15, 0, 16, 0, 107, 161, 148, 47, 143, 35, 111, 11, 3, 0, 2, 0, 15, 0, 16, 0, 107, 161, 148, 47, 143, 35, 111, 11, 2, 0, 1, 0, 0, 0, 0, 0, 242, 254, 12, 1, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 242, 254, 12, 1, 0, 0, 0, 0, 23, 0, 0, 0, 28, 0, 0, 0, 88, 139, 133, 90, 32, 26, 0, 0, 23, 0, 0, 0, 28, 0, 0, 0, 88, 139, 133, 90, 32, 26, 0, 0, 23, 0, 0, 0, 28, 0, 0, 0, 88, 139, 133, 90, 32, 26, 0, 0, 23, 0, 0, 0, 28, 0, 0, 0, 88, 139, 133, 90, 32, 26, 0, 0, 23, 0, 0, 0, 28, 0, 0, 0, 56, 111, 248, 109, 206, 34, 0, 0, 23, 0, 0, 0, 28, 0, 0, 0, 56, 111, 248, 109, 206, 34, 0, 0, 23, 0, 0, 0, 28, 0, 0, 0, 56, 111, 248, 109, 206, 34, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 205, 255, 49, 0, 0, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 205, 255, 49, 0, 0, 0, 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, 205, 255, 49, 0, 0, 0, 0, 0, 28, 0, 23, 0, 0, 0, 0, 0, 107, 220, 83, 21, 63, 14, 0, 0, 28, 0, 23, 0, 0, 0, 0, 0, 107, 220, 83, 21, 63, 14, 0, 0, 28, 0, 23, 0, 0, 0, 0, 0, 107, 220, 83, 21, 63, 14, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 12, 138, 168, 116, 73, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 12, 138, 168, 116, 73, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 173, 135, 164, 119, 172, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 173, 135, 164, 119, 172, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 173, 135, 164, 119, 172, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 186, 160, 181, 91, 143, 3, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 186, 160, 181, 91, 143, 3, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 186, 160, 181, 91, 143, 3, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 233, 161, 64, 88, 212, 5, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 233, 161, 64, 88, 212, 5, 0, 0, 15, 0, 16, 0, 3, 0, 0, 0, 71, 199, 0, 55, 183, 1, 0, 0, 15, 0, 16, 0, 3, 0, 0, 0, 71, 199, 0, 55, 183, 1, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 242, 110, 86, 73, 181, 71, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 242, 110, 86, 73, 181, 71, 0, 0, 2, 0, 15, 0, 16, 0, 3, 0, 120, 167, 33, 40, 135, 31, 222, 16, 2, 0, 15, 0, 16, 0, 3, 0, 120, 167, 33, 40, 135, 31, 222, 16, 2, 0, 15, 0, 16, 0, 3, 0, 120, 167, 33, 40, 135, 31, 222, 16, 2, 0, 15, 0, 16, 0, 3, 0, 120, 167, 33, 40, 135, 31, 222, 16, 2, 0, 15, 0, 16, 0, 3, 0, 120, 167, 33, 40, 135, 31, 222, 16, 23, 0, 28, 0, 0, 0, 0, 0, 62, 205, 199, 34, 248, 15, 0, 0, 23, 0, 28, 0, 0, 0, 0, 0, 62, 205, 199, 34, 248, 15, 0, 0, 23, 0, 28, 0, 0, 0, 0, 0, 62, 205, 199, 34, 248, 15, 0, 0, 23, 0, 28, 0, 0, 0, 0, 0, 62, 205, 199, 34, 248, 15, 0, 0, 28, 0, 23, 0, 0, 0, 0, 0, 116, 239, 104, 10, 33, 6, 0, 0, 28, 0, 23, 0, 0, 0, 0, 0, 116, 239, 104, 10, 33, 6, 0, 0, 28, 0, 23, 0, 0, 0, 0, 0, 116, 239, 104, 10, 33, 6, 0, 0, 28, 0, 23, 0, 0, 0, 0, 0, 116, 239, 104, 10, 33, 6, 0, 0, 16, 0, 15, 0, 2, 0, 3, 0, 89, 167, 141, 61, 51, 25, 229, 1, 16, 0, 15, 0, 2, 0, 3, 0, 89, 167, 141, 61, 51, 25, 229, 1, 16, 0, 15, 0, 2, 0, 3, 0, 89, 167, 141, 61, 51, 25, 229, 1, 16, 0, 15, 0, 2, 0, 3, 0, 62, 164, 217, 88, 166, 2, 64, 0, 16, 0, 15, 0, 2, 0, 3, 0, 62, 164, 217, 88, 166, 2, 64, 0, 16, 0, 15, 0, 2, 0, 3, 0, 62, 164, 217, 88, 166, 2, 64, 0, 16, 0, 15, 0, 2, 0, 3, 0, 62, 164, 217, 88, 166, 2, 64, 0, 15, 0, 16, 0, 3, 0, 0, 0, 181, 130, 55, 125, 17, 0, 0, 0, 15, 0, 16, 0, 3, 0, 0, 0, 181, 130, 55, 125, 17, 0, 0, 0, 15, 0, 16, 0, 3, 0, 0, 0, 181, 130, 55, 125, 17, 0, 0, 0, 16, 0, 15, 0, 3, 0, 2, 0, 60, 142, 178, 102, 239, 9, 33, 1, 16, 0, 15, 0, 3, 0, 2, 0, 60, 142, 178, 102, 239, 9, 33, 1, 16, 0, 15, 0, 3, 0, 2, 0, 56, 106, 160, 67, 14, 55, 23, 27, 16, 0, 15, 0, 3, 0, 2, 0, 56, 106, 160, 67, 14, 55, 23, 27, 16, 0, 15, 0, 3, 0, 2, 0, 56, 106, 160, 67, 14, 55, 23, 27, 16, 0, 15, 0, 3, 0, 2, 0, 56, 106, 160, 67, 14, 55, 23, 27, 2, 0, 16, 0, 15, 0, 3, 0, 47, 94, 96, 89, 121, 49, 245, 22, 2, 0, 16, 0, 15, 0, 3, 0, 47, 94, 96, 89, 121, 49, 245, 22, 2, 0, 16, 0, 15, 0, 3, 0, 47, 94, 96, 89, 121, 49, 245, 22, 2, 0, 16, 0, 15, 0, 3, 0, 47, 94, 96, 89, 121, 49, 245, 22, 2, 0, 16, 0, 15, 0, 3, 0, 47, 94, 96, 89, 121, 49, 245, 22, 18, 0, 20, 0, 17, 0, 19, 0, 165, 188, 171, 50, 26, 14, 146, 2, 18, 0, 20, 0, 17, 0, 19, 0, 165, 188, 171, 50, 26, 14, 146, 2, 18, 0, 20, 0, 17, 0, 19, 0, 165, 188, 171, 50, 26, 14, 146, 2, 18, 0, 20, 0, 17, 0, 19, 0, 205, 172, 83, 41, 119, 40, 103, 1, 18, 0, 20, 0, 17, 0, 19, 0, 205, 172, 83, 41, 119, 40, 103, 1, 18, 0, 20, 0, 17, 0, 19, 0, 205, 172, 83, 41, 119, 40, 103, 1, 18, 0, 20, 0, 17, 0, 19, 0, 50, 173, 116, 49, 52, 31, 35, 2, 18, 0, 17, 0, 20, 0, 19, 0, 66, 157, 233, 78, 144, 19, 67, 0, 18, 0, 17, 0, 20, 0, 19, 0, 66, 157, 233, 78, 144, 19, 67, 0, 18, 0, 17, 0, 20, 0, 19, 0, 66, 157, 233, 78, 144, 19, 67, 0, 18, 0, 17, 0, 20, 0, 19, 0, 66, 157, 233, 78, 144, 19, 67, 0, 18, 0, 17, 0, 20, 0, 19, 0, 148, 194, 46, 31, 217, 29, 98, 0, 18, 0, 17, 0, 20, 0, 19, 0, 148, 194, 46, 31, 217, 29, 98, 0, 18, 0, 17, 0, 20, 0, 19, 0, 148, 194, 46, 31, 217, 29, 98, 0, 18, 0, 20, 0, 19, 0, 17, 0, 168, 180, 94, 55, 49, 10, 197, 9, 18, 0, 20, 0, 19, 0, 17, 0, 168, 180, 94, 55, 49, 10, 197, 9, 18, 0, 20, 0, 19, 0, 17, 0, 168, 180, 94, 55, 49, 10, 197, 9, 17, 0, 16, 0, 0, 0, 0, 0, 162, 163, 92, 92, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 162, 163, 92, 92, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 107, 161, 147, 94, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 107, 161, 147, 94, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 107, 161, 147, 94, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 121, 162, 133, 93, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 121, 162, 133, 93, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 121, 162, 133, 93, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 53, 238, 201, 17, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 53, 238, 201, 17, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 53, 238, 201, 17, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 54, 246, 200, 9, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 54, 246, 200, 9, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 54, 246, 200, 9, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 5, 238, 249, 17, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 5, 238, 249, 17, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 5, 238, 249, 17, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 75, 241, 179, 14, 0, 0, 0, 0, 17, 0, 16, 0, 0, 0, 0, 0, 75, 241, 179, 14, 0, 0, 0, 0, 16, 0, 15, 0, 3, 0, 17, 0, 104, 214, 255, 20, 85, 20, 65, 0, 16, 0, 15, 0, 3, 0, 17, 0, 104, 214, 255, 20, 85, 20, 65, 0, 16, 0, 15, 0, 3, 0, 17, 0, 104, 214, 255, 20, 85, 20, 65, 0, 16, 0, 15, 0, 3, 0, 0, 0, 197, 237, 75, 15, 238, 2, 0, 0, 16, 0, 15, 0, 3, 0, 0, 0, 197, 237, 75, 15, 238, 2, 0, 0, 16, 0, 15, 0, 3, 0, 0, 0, 141, 235, 181, 11, 188, 8, 0, 0, 16, 0, 15, 0, 3, 0, 0, 0, 141, 235, 181, 11, 188, 8, 0, 0, 16, 0, 15, 0, 3, 0, 0, 0, 141, 235, 181, 11, 188, 8, 0, 0, 16, 0, 3, 0, 15, 0, 17, 0, 124, 221, 15, 21, 68, 13, 47, 0, 16, 0, 3, 0, 15, 0, 17, 0, 124, 221, 15, 21, 68, 13, 47, 0, 16, 0, 3, 0, 15, 0, 17, 0, 124, 221, 15, 21, 68, 13, 47, 0, 4, 0, 5, 0, 3, 0, 0, 0, 250, 112, 128, 75, 132, 67, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 250, 112, 128, 75, 132, 67, 0, 0, 3, 0, 4, 0, 5, 0, 0, 0, 203, 114, 42, 89, 9, 52, 0, 0, 3, 0, 4, 0, 5, 0, 0, 0, 203, 114, 42, 89, 9, 52, 0, 0, 3, 0, 4, 0, 5, 0, 0, 0, 203, 114, 42, 89, 9, 52, 0, 0, 3, 0, 4, 0, 5, 0, 0, 0, 203, 114, 42, 89, 9, 52, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 222, 128, 5, 95, 26, 32, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 222, 128, 5, 95, 26, 32, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 122, 156, 132, 99, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 122, 156, 132, 99, 0, 0, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 14, 141, 37, 88, 203, 26, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 14, 141, 37, 88, 203, 26, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 172, 145, 35, 103, 46, 7, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 172, 145, 35, 103, 46, 7, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 172, 145, 35, 103, 46, 7, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 172, 145, 35, 103, 46, 7, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 172, 180, 205, 73, 133, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 172, 180, 205, 73, 133, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 64, 181, 208, 73, 237, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 64, 195, 37, 59, 152, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 64, 195, 37, 59, 152, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 199, 196, 26, 58, 28, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 225, 198, 39, 55, 246, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 225, 198, 39, 55, 246, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 225, 198, 39, 55, 246, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 188, 200, 211, 53, 110, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 188, 200, 211, 53, 110, 1, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 20, 0, 18, 0, 19, 0, 0, 0, 196, 100, 62, 87, 252, 67, 0, 0, 20, 0, 18, 0, 19, 0, 0, 0, 196, 100, 62, 87, 252, 67, 0, 0, 20, 0, 18, 0, 19, 0, 0, 0, 196, 100, 62, 87, 252, 67, 0, 0, 20, 0, 18, 0, 19, 0, 0, 0, 196, 100, 62, 87, 252, 67, 0, 0, 20, 0, 18, 0, 19, 0, 0, 0, 63, 99, 122, 86, 69, 70, 0, 0, 20, 0, 18, 0, 19, 0, 0, 0, 63, 99, 122, 86, 69, 70, 0, 0, 20, 0, 18, 0, 19, 0, 0, 0, 63, 99, 122, 86, 69, 70, 0, 0, 20, 0, 18, 0, 19, 0, 0, 0, 63, 99, 122, 86, 69, 70, 0, 0, 18, 0, 20, 0, 19, 0, 17, 0, 119, 155, 42, 88, 116, 11, 233, 0, 18, 0, 20, 0, 19, 0, 17, 0, 119, 155, 42, 88, 116, 11, 233, 0, 18, 0, 20, 0, 19, 0, 17, 0, 119, 155, 42, 88, 116, 11, 233, 0, 18, 0, 20, 0, 19, 0, 17, 0, 119, 155, 42, 88, 116, 11, 233, 0, 18, 0, 20, 0, 19, 0, 17, 0, 119, 155, 42, 88, 116, 11, 233, 0, 18, 0, 20, 0, 19, 0, 0, 0, 115, 155, 46, 76, 92, 24, 0, 0, 18, 0, 20, 0, 19, 0, 0, 0, 115, 155, 46, 76, 92, 24, 0, 0, 18, 0, 20, 0, 19, 0, 0, 0, 115, 155, 46, 76, 92, 24, 0, 0, 18, 0, 20, 0, 19, 0, 0, 0, 115, 155, 46, 76, 92, 24, 0, 0, 19, 0, 20, 0, 18, 0, 0, 0, 229, 182, 233, 71, 48, 1, 0, 0, 19, 0, 20, 0, 18, 0, 0, 0, 229, 182, 233, 71, 48, 1, 0, 0, 19, 0, 20, 0, 18, 0, 0, 0, 229, 182, 233, 71, 48, 1, 0, 0, 19, 0, 20, 0, 18, 0, 0, 0, 229, 182, 233, 71, 48, 1, 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, 238, 177, 16, 78, 0, 0, 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, 238, 177, 16, 78, 0, 0, 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, 219, 244, 35, 11, 0, 0, 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, 219, 244, 35, 11, 0, 0, 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, 219, 244, 35, 11, 0, 0, 0, 0, 20, 0, 19, 0, 0, 0, 0, 0, 211, 250, 43, 5, 0, 0, 0, 0, 20, 0, 19, 0, 0, 0, 0, 0, 211, 250, 43, 5, 0, 0, 0, 0, 20, 0, 19, 0, 0, 0, 0, 0, 211, 250, 43, 5, 0, 0, 0, 0, 20, 0, 19, 0, 0, 0, 0, 0, 211, 250, 43, 5, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 58, 207, 196, 48, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 58, 207, 196, 48, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 58, 207, 196, 48, 0, 0, 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, 189, 251, 65, 4, 0, 0, 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, 189, 251, 65, 4, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 41, 145, 213, 110, 0, 0, 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, 168, 248, 86, 7, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 96, 250, 158, 5, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 96, 250, 158, 5, 0, 0, 0, 0, 21, 0, 20, 0, 0, 0, 0, 0, 96, 250, 158, 5, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 102, 255, 152, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 102, 255, 152, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 78, 254, 176, 1, 0, 0, 0, 0, 3, 0, 15, 0, 0, 0, 0, 0, 43, 227, 211, 28, 0, 0, 0, 0, 3, 0, 15, 0, 0, 0, 0, 0, 43, 227, 211, 28, 0, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 62, 135, 249, 119, 199, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 62, 135, 249, 119, 199, 0, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 154, 160, 115, 90, 240, 4, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 154, 160, 115, 90, 240, 4, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 154, 160, 115, 90, 240, 4, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 47, 120, 92, 88, 115, 47, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 47, 120, 92, 88, 115, 47, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 248, 194, 209, 59, 52, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 248, 194, 209, 59, 52, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 248, 194, 209, 59, 52, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 134, 199, 200, 54, 175, 1, 0, 0, 30, 0, 29, 0, 31, 0, 0, 0, 134, 199, 200, 54, 175, 1, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 102, 213, 152, 42, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 102, 213, 152, 42, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 33, 207, 221, 48, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 220, 254, 34, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 220, 254, 34, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 220, 254, 34, 1, 0, 0, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 11, 174, 96, 80, 146, 1, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 11, 174, 96, 80, 146, 1, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 11, 174, 96, 80, 146, 1, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 208, 254, 46, 1, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 53, 252, 201, 3, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 53, 252, 201, 3, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 53, 252, 201, 3, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 53, 252, 201, 3, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 186, 222, 68, 33, 0, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 186, 222, 68, 33, 0, 0, 0, 0, 7, 0, 3, 0, 2, 0, 0, 0, 132, 177, 171, 75, 206, 2, 0, 0, 7, 0, 3, 0, 2, 0, 0, 0, 132, 177, 171, 75, 206, 2, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 68, 145, 186, 110, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 68, 145, 186, 110, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 68, 145, 186, 110, 0, 0, 0, 0, 3, 0, 7, 0, 2, 0, 8, 0, 24, 96, 120, 91, 40, 52, 69, 16, 3, 0, 7, 0, 2, 0, 8, 0, 24, 96, 120, 91, 40, 52, 69, 16, 3, 0, 7, 0, 2, 0, 8, 0, 24, 96, 120, 91, 40, 52, 69, 16, 3, 0, 7, 0, 2, 0, 8, 0, 24, 96, 120, 91, 40, 52, 69, 16, 23, 0, 0, 0, 0, 0, 0, 0, 235, 176, 19, 79, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 235, 176, 19, 79, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 235, 176, 19, 79, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 43, 251, 211, 4, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 43, 251, 211, 4, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 43, 251, 211, 4, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 43, 251, 211, 4, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 43, 251, 211, 4, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 200, 248, 54, 7, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 200, 248, 54, 7, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 200, 248, 54, 7, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 68, 246, 186, 9, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 216, 156, 38, 99, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 216, 156, 38, 99, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 216, 156, 38, 99, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 216, 156, 38, 99, 0, 0, 0, 0, 24, 0, 23, 0, 0, 0, 0, 0, 127, 150, 127, 105, 0, 0, 0, 0, 24, 0, 23, 0, 0, 0, 0, 0, 127, 150, 127, 105, 0, 0, 0, 0, 24, 0, 23, 0, 0, 0, 0, 0, 127, 150, 127, 105, 0, 0, 0, 0, 24, 0, 23, 0, 25, 0, 0, 0, 125, 255, 80, 0, 48, 0, 0, 0, 24, 0, 23, 0, 25, 0, 0, 0, 125, 255, 80, 0, 48, 0, 0, 0, 24, 0, 23, 0, 25, 0, 0, 0, 125, 255, 80, 0, 48, 0, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 98, 148, 198, 102, 213, 4, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 98, 148, 198, 102, 213, 4, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 98, 148, 198, 102, 213, 4, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 98, 148, 198, 102, 213, 4, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 124, 171, 24, 70, 105, 14, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 139, 173, 0, 68, 115, 14, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 139, 173, 0, 68, 115, 14, 0, 0, 7, 0, 3, 0, 8, 0, 0, 0, 254, 204, 162, 45, 93, 5, 0, 0, 7, 0, 3, 0, 8, 0, 0, 0, 254, 204, 162, 45, 93, 5, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 145, 126, 138, 83, 227, 45, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 145, 126, 138, 83, 227, 45, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 145, 126, 138, 83, 227, 45, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 145, 126, 138, 83, 227, 45, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 44, 181, 176, 71, 34, 3, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 44, 181, 176, 71, 34, 3, 0, 0, 2, 0, 3, 0, 7, 0, 8, 0, 9, 160, 0, 46, 94, 44, 149, 5, 2, 0, 3, 0, 7, 0, 8, 0, 9, 160, 0, 46, 94, 44, 149, 5, 2, 0, 3, 0, 7, 0, 8, 0, 9, 160, 0, 46, 94, 44, 149, 5, 25, 0, 24, 0, 26, 0, 0, 0, 224, 154, 240, 92, 45, 8, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 224, 154, 240, 92, 45, 8, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 224, 154, 240, 92, 45, 8, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 224, 154, 240, 92, 45, 8, 0, 0, 7, 0, 8, 0, 3, 0, 2, 0, 158, 102, 147, 86, 169, 50, 36, 16, 7, 0, 8, 0, 3, 0, 2, 0, 158, 102, 147, 86, 169, 50, 36, 16, 7, 0, 8, 0, 3, 0, 2, 0, 158, 102, 147, 86, 169, 50, 36, 16, 7, 0, 8, 0, 3, 0, 2, 0, 158, 102, 147, 86, 169, 50, 36, 16, 7, 0, 8, 0, 3, 0, 2, 0, 158, 102, 147, 86, 169, 50, 36, 16, 7, 0, 8, 0, 3, 0, 2, 0, 235, 149, 101, 87, 248, 14, 181, 3, 7, 0, 8, 0, 3, 0, 2, 0, 235, 149, 101, 87, 248, 14, 181, 3, 7, 0, 8, 0, 3, 0, 2, 0, 235, 149, 101, 87, 248, 14, 181, 3, 7, 0, 8, 0, 3, 0, 2, 0, 235, 149, 101, 87, 248, 14, 181, 3, 7, 0, 8, 0, 3, 0, 2, 0, 218, 179, 206, 67, 141, 7, 200, 0, 7, 0, 8, 0, 3, 0, 2, 0, 218, 179, 206, 67, 141, 7, 200, 0, 7, 0, 8, 0, 3, 0, 2, 0, 218, 179, 206, 67, 141, 7, 200, 0, 7, 0, 8, 0, 3, 0, 2, 0, 218, 179, 206, 67, 141, 7, 200, 0, 3, 0, 7, 0, 8, 0, 2, 0, 167, 123, 47, 79, 89, 35, 205, 17, 3, 0, 7, 0, 8, 0, 2, 0, 167, 123, 47, 79, 89, 35, 205, 17, 3, 0, 7, 0, 8, 0, 2, 0, 167, 123, 47, 79, 89, 35, 205, 17, 3, 0, 7, 0, 8, 0, 2, 0, 167, 123, 47, 79, 89, 35, 205, 17, 2, 0, 7, 0, 3, 0, 8, 0, 187, 93, 241, 66, 16, 66, 66, 29, 2, 0, 7, 0, 3, 0, 8, 0, 187, 93, 241, 66, 16, 66, 66, 29, 2, 0, 7, 0, 3, 0, 8, 0, 187, 93, 241, 66, 16, 66, 66, 29, 2, 0, 7, 0, 3, 0, 8, 0, 187, 93, 241, 66, 16, 66, 66, 29, 10, 0, 9, 0, 11, 0, 12, 0, 127, 235, 177, 11, 11, 6, 194, 2, 10, 0, 9, 0, 11, 0, 12, 0, 127, 235, 177, 11, 11, 6, 194, 2, 10, 0, 9, 0, 11, 0, 12, 0, 127, 235, 177, 11, 11, 6, 194, 2, 10, 0, 9, 0, 11, 0, 12, 0, 110, 209, 5, 36, 102, 7, 36, 3, 10, 0, 9, 0, 11, 0, 12, 0, 110, 209, 5, 36, 102, 7, 36, 3, 10, 0, 9, 0, 11, 0, 12, 0, 110, 209, 5, 36, 102, 7, 36, 3, 10, 0, 9, 0, 11, 0, 12, 0, 110, 209, 5, 36, 102, 7, 36, 3, 10, 0, 9, 0, 11, 0, 12, 0, 127, 180, 83, 71, 134, 3, 165, 0, 10, 0, 9, 0, 11, 0, 12, 0, 127, 180, 83, 71, 134, 3, 165, 0, 10, 0, 9, 0, 11, 0, 12, 0, 127, 180, 83, 71, 134, 3, 165, 0, 10, 0, 9, 0, 11, 0, 12, 0, 127, 180, 83, 71, 134, 3, 165, 0, 10, 0, 9, 0, 11, 0, 12, 0, 131, 225, 141, 28, 119, 1, 118, 0, 10, 0, 9, 0, 11, 0, 12, 0, 131, 225, 141, 28, 119, 1, 118, 0, 10, 0, 9, 0, 11, 0, 12, 0, 131, 225, 141, 28, 119, 1, 118, 0, 10, 0, 11, 0, 9, 0, 12, 0, 134, 235, 221, 10, 56, 8, 98, 1, 10, 0, 11, 0, 9, 0, 12, 0, 134, 235, 221, 10, 56, 8, 98, 1, 10, 0, 11, 0, 9, 0, 12, 0, 134, 235, 221, 10, 56, 8, 98, 1, 9, 0, 8, 0, 0, 0, 0, 0, 95, 210, 159, 45, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 95, 210, 159, 45, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 95, 210, 159, 45, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 95, 210, 159, 45, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 163, 206, 91, 49, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 163, 206, 91, 49, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 163, 206, 91, 49, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 163, 206, 91, 49, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 252, 212, 2, 43, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 252, 212, 2, 43, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 252, 212, 2, 43, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 132, 248, 122, 7, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 132, 248, 122, 7, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 143, 251, 111, 4, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 143, 251, 111, 4, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 143, 251, 111, 4, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 168, 250, 86, 5, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 168, 250, 86, 5, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 168, 250, 86, 5, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 94, 252, 160, 3, 0, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 94, 252, 160, 3, 0, 0, 0, 0, 8, 0, 7, 0, 3, 0, 9, 0, 202, 207, 198, 31, 34, 16, 75, 0, 8, 0, 7, 0, 3, 0, 9, 0, 202, 207, 198, 31, 34, 16, 75, 0, 8, 0, 7, 0, 3, 0, 9, 0, 202, 207, 198, 31, 34, 16, 75, 0, 8, 0, 3, 0, 7, 0, 9, 0, 159, 121, 53, 69, 227, 63, 70, 1, 8, 0, 3, 0, 7, 0, 9, 0, 159, 121, 53, 69, 227, 63, 70, 1, 8, 0, 3, 0, 7, 0, 9, 0, 159, 121, 53, 69, 227, 63, 70, 1, 8, 0, 3, 0, 7, 0, 9, 0, 159, 121, 53, 69, 227, 63, 70, 1, 8, 0, 7, 0, 3, 0, 9, 0, 176, 223, 130, 27, 84, 4, 119, 0, 8, 0, 7, 0, 3, 0, 9, 0, 176, 223, 130, 27, 84, 4, 119, 0, 8, 0, 7, 0, 3, 0, 9, 0, 195, 206, 168, 28, 72, 19, 74, 1, 8, 0, 7, 0, 3, 0, 9, 0, 195, 206, 168, 28, 72, 19, 74, 1, 8, 0, 7, 0, 3, 0, 9, 0, 195, 206, 168, 28, 72, 19, 74, 1, 8, 0, 3, 0, 7, 0, 9, 0, 167, 154, 139, 57, 100, 42, 103, 1, 8, 0, 3, 0, 7, 0, 9, 0, 167, 154, 139, 57, 100, 42, 103, 1, 8, 0, 3, 0, 7, 0, 9, 0, 167, 154, 139, 57, 100, 42, 103, 1, 4, 0, 3, 0, 5, 0, 0, 0, 113, 110, 232, 78, 164, 66, 0, 0, 4, 0, 3, 0, 5, 0, 0, 0, 113, 110, 232, 78, 164, 66, 0, 0, 4, 0, 3, 0, 5, 0, 0, 0, 113, 110, 232, 78, 164, 66, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 2, 114, 184, 74, 67, 67, 0, 0, 4, 0, 5, 0, 3, 0, 0, 0, 2, 114, 184, 74, 67, 67, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 213, 190, 112, 59, 184, 5, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 108, 198, 103, 52, 42, 5, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 108, 198, 103, 52, 42, 5, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 108, 198, 103, 52, 42, 5, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 220, 206, 10, 43, 24, 6, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 220, 206, 10, 43, 24, 6, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 28, 212, 65, 38, 161, 5, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 28, 212, 65, 38, 161, 5, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 214, 210, 100, 38, 196, 6, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 4, 215, 155, 34, 95, 6, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 227, 211, 26, 36, 1, 8, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 227, 211, 26, 36, 1, 8, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 227, 211, 26, 36, 1, 8, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 227, 211, 26, 36, 1, 8, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 227, 211, 26, 36, 1, 8, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 222, 215, 97, 32, 190, 7, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 222, 215, 97, 32, 190, 7, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 222, 215, 97, 32, 190, 7, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 21, 131, 230, 119, 2, 5, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 21, 131, 230, 119, 2, 5, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 21, 131, 230, 119, 2, 5, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 21, 131, 230, 119, 2, 5, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 253, 176, 195, 71, 62, 7, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 253, 176, 195, 71, 62, 7, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 253, 176, 195, 71, 62, 7, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 253, 176, 195, 71, 62, 7, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 253, 176, 195, 71, 62, 7, 0, 0, 11, 0, 10, 0, 12, 0, 0, 0, 102, 141, 130, 107, 22, 7, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 4, 236, 213, 18, 37, 1, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 4, 236, 213, 18, 37, 1, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 4, 236, 213, 18, 37, 1, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 4, 236, 213, 18, 37, 1, 0, 0, 10, 0, 11, 0, 12, 0, 0, 0, 4, 236, 213, 18, 37, 1, 0, 0, 11, 0, 12, 0, 0, 0, 0, 0, 52, 220, 202, 35, 0, 0, 0, 0, 11, 0, 12, 0, 0, 0, 0, 0, 52, 220, 202, 35, 0, 0, 0, 0, 11, 0, 12, 0, 0, 0, 0, 0, 52, 220, 202, 35, 0, 0, 0, 0, 11, 0, 12, 0, 0, 0, 0, 0, 52, 220, 202, 35, 0, 0, 0, 0, 13, 0, 12, 0, 0, 0, 0, 0, 76, 152, 178, 103, 0, 0, 0, 0, 13, 0, 12, 0, 0, 0, 0, 0, 76, 152, 178, 103, 0, 0, 0, 0, 13, 0, 12, 0, 0, 0, 0, 0, 76, 152, 178, 103, 0, 0, 0, 0, 12, 0, 11, 0, 13, 0, 0, 0, 16, 252, 229, 3, 8, 0, 0, 0, 12, 0, 11, 0, 13, 0, 0, 0, 16, 252, 229, 3, 8, 0, 0, 0, 12, 0, 11, 0, 0, 0, 0, 0, 40, 240, 214, 15, 0, 0, 0, 0, 12, 0, 11, 0, 0, 0, 0, 0, 40, 240, 214, 15, 0, 0, 0, 0, 12, 0, 11, 0, 0, 0, 0, 0, 40, 240, 214, 15, 0, 0, 0, 0, 12, 0, 11, 0, 0, 0, 0, 0, 40, 240, 214, 15, 0, 0, 0, 0, 12, 0, 11, 0, 0, 0, 0, 0, 89, 242, 165, 13, 0, 0, 0, 0, 12, 0, 11, 0, 0, 0, 0, 0, 89, 242, 165, 13, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 12, 0, 13, 0, 0, 0, 0, 0, 101, 208, 153, 47, 0, 0, 0, 0, 12, 0, 13, 0, 0, 0, 0, 0, 101, 208, 153, 47, 0, 0, 0, 0, 12, 0, 13, 0, 0, 0, 0, 0, 101, 208, 153, 47, 0, 0, 0, 0, 12, 0, 13, 0, 0, 0, 0, 0, 101, 208, 153, 47, 0, 0, 0, 0, 13, 0, 12, 0, 0, 0, 0, 0, 126, 194, 128, 61, 0, 0, 0, 0, 13, 0, 12, 0, 0, 0, 0, 0, 126, 194, 128, 61, 0, 0, 0, 0, 13, 0, 12, 0, 0, 0, 0, 0, 126, 194, 128, 61, 0, 0, 0, 0, 13, 0, 12, 0, 0, 0, 0, 0, 126, 194, 128, 61, 0, 0, 0, 0, 13, 0, 12, 0, 0, 0, 0, 0, 126, 194, 128, 61, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 81, 244, 173, 11, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 81, 244, 173, 11, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 146, 169, 183, 71, 181, 14, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 146, 169, 183, 71, 181, 14, 0, 0, 5, 0, 4, 0, 3, 0, 0, 0, 104, 149, 188, 101, 217, 4, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 126, 208, 252, 41, 131, 5, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 126, 208, 252, 41, 131, 5, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 203, 212, 202, 36, 105, 6, 0, 0, 25, 0, 24, 0, 26, 0, 0, 0, 203, 212, 202, 36, 105, 6, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0), +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 1473, +"vertex_data": PackedByteArray(182, 92, 203, 186, 255, 138, 35, 61, 107, 196, 228, 49, 182, 92, 203, 186, 255, 138, 35, 61, 107, 196, 228, 49, 182, 92, 203, 186, 255, 138, 35, 61, 107, 196, 228, 49, 63, 16, 238, 186, 39, 234, 52, 61, 128, 19, 253, 49, 63, 16, 238, 186, 39, 234, 52, 61, 128, 19, 253, 49, 17, 42, 35, 59, 230, 22, 32, 61, 31, 156, 225, 49, 17, 42, 35, 59, 230, 22, 32, 61, 31, 156, 225, 49, 17, 42, 35, 59, 230, 22, 32, 61, 31, 156, 225, 49, 155, 221, 3, 59, 231, 22, 54, 61, 244, 42, 0, 50, 155, 221, 3, 59, 231, 22, 54, 61, 244, 42, 0, 50, 177, 254, 5, 58, 120, 37, 56, 61, 94, 76, 1, 50, 177, 254, 5, 58, 120, 37, 56, 61, 94, 76, 1, 50, 145, 46, 50, 186, 221, 106, 55, 61, 48, 137, 0, 50, 145, 46, 50, 186, 221, 106, 55, 61, 48, 137, 0, 50, 102, 146, 34, 187, 243, 20, 49, 61, 192, 104, 247, 49, 102, 146, 34, 187, 243, 20, 49, 61, 192, 104, 247, 49, 102, 146, 34, 187, 243, 20, 49, 61, 192, 104, 247, 49, 46, 215, 42, 187, 13, 179, 42, 61, 88, 98, 238, 49, 46, 215, 42, 187, 13, 179, 42, 61, 88, 98, 238, 49, 74, 76, 35, 59, 133, 203, 43, 61, 207, 16, 242, 49, 74, 76, 35, 59, 133, 203, 43, 61, 207, 16, 242, 49, 74, 76, 35, 59, 133, 203, 43, 61, 207, 16, 242, 49, 225, 49, 48, 59, 51, 166, 46, 61, 29, 41, 246, 49, 225, 49, 48, 59, 51, 166, 46, 61, 29, 41, 246, 49, 225, 49, 48, 59, 51, 166, 46, 61, 29, 41, 246, 49, 198, 149, 68, 59, 147, 209, 40, 61, 83, 24, 238, 49, 198, 149, 68, 59, 147, 209, 40, 61, 83, 24, 238, 49, 198, 149, 68, 59, 147, 209, 40, 61, 83, 24, 238, 49, 23, 13, 248, 186, 240, 166, 36, 61, 233, 46, 230, 49, 23, 13, 248, 186, 240, 166, 36, 61, 233, 46, 230, 49, 23, 13, 248, 186, 240, 166, 36, 61, 233, 46, 230, 49, 106, 93, 52, 59, 126, 166, 33, 61, 16, 234, 227, 49, 106, 93, 52, 59, 126, 166, 33, 61, 16, 234, 227, 49, 99, 34, 140, 186, 10, 119, 36, 61, 237, 241, 154, 58, 99, 34, 140, 186, 10, 119, 36, 61, 237, 241, 154, 58, 99, 34, 140, 186, 10, 119, 36, 61, 237, 241, 154, 58, 251, 239, 185, 186, 199, 140, 51, 61, 239, 207, 214, 58, 251, 239, 185, 186, 199, 140, 51, 61, 239, 207, 214, 58, 251, 239, 185, 186, 199, 140, 51, 61, 239, 207, 214, 58, 19, 214, 198, 58, 125, 75, 32, 61, 45, 193, 133, 58, 19, 214, 198, 58, 125, 75, 32, 61, 45, 193, 133, 58, 94, 84, 222, 58, 52, 60, 52, 61, 240, 207, 214, 58, 94, 84, 222, 58, 52, 60, 52, 61, 240, 207, 214, 58, 94, 84, 222, 58, 52, 60, 52, 61, 240, 207, 214, 58, 58, 109, 141, 57, 142, 171, 33, 61, 224, 15, 143, 58, 58, 109, 141, 57, 142, 171, 33, 61, 224, 15, 143, 58, 80, 153, 246, 185, 130, 3, 37, 61, 228, 7, 179, 58, 80, 153, 246, 185, 130, 3, 37, 61, 228, 7, 179, 58, 232, 200, 33, 186, 126, 146, 52, 61, 245, 68, 244, 58, 232, 200, 33, 186, 126, 146, 52, 61, 245, 68, 244, 58, 232, 200, 33, 186, 126, 146, 52, 61, 245, 68, 244, 58, 158, 17, 29, 58, 240, 44, 53, 61, 189, 85, 244, 58, 158, 17, 29, 58, 240, 44, 53, 61, 189, 85, 244, 58, 80, 25, 222, 186, 204, 29, 47, 61, 218, 204, 228, 58, 80, 25, 222, 186, 204, 29, 47, 61, 218, 204, 228, 58, 180, 44, 202, 186, 184, 146, 43, 61, 124, 199, 228, 58, 180, 44, 202, 186, 184, 146, 43, 61, 124, 199, 228, 58, 218, 214, 220, 58, 83, 33, 44, 61, 186, 38, 210, 58, 218, 214, 220, 58, 83, 33, 44, 61, 186, 38, 210, 58, 145, 21, 236, 58, 1, 208, 46, 61, 142, 10, 227, 58, 145, 21, 236, 58, 1, 208, 46, 61, 142, 10, 227, 58, 195, 10, 249, 57, 115, 36, 47, 61, 178, 251, 0, 59, 37, 245, 14, 58, 206, 140, 44, 61, 152, 187, 254, 58, 80, 35, 235, 185, 47, 173, 43, 61, 119, 215, 255, 58, 24, 68, 3, 186, 6, 16, 47, 61, 57, 22, 2, 59, 10, 83, 45, 58, 89, 63, 39, 61, 76, 201, 235, 58, 46, 133, 11, 59, 66, 157, 40, 61, 46, 70, 173, 58, 46, 133, 11, 59, 66, 157, 40, 61, 46, 70, 173, 58, 155, 153, 178, 186, 183, 184, 38, 61, 68, 37, 221, 58, 155, 153, 178, 186, 183, 184, 38, 61, 68, 37, 221, 58, 155, 153, 178, 186, 183, 184, 38, 61, 68, 37, 221, 58, 183, 237, 222, 58, 148, 201, 33, 61, 116, 244, 163, 58, 183, 237, 222, 58, 148, 201, 33, 61, 116, 244, 163, 58, 39, 145, 208, 57, 141, 164, 34, 61, 185, 7, 204, 58, 39, 145, 208, 57, 141, 164, 34, 61, 185, 7, 204, 58, 84, 56, 196, 185, 183, 249, 37, 61, 163, 72, 228, 58, 84, 56, 196, 185, 183, 249, 37, 61, 163, 72, 228, 58, 126, 247, 113, 186, 199, 212, 220, 60, 30, 221, 130, 59, 126, 247, 113, 186, 199, 212, 220, 60, 30, 221, 130, 59, 74, 160, 24, 187, 42, 196, 21, 61, 137, 231, 107, 59, 74, 160, 24, 187, 42, 196, 21, 61, 137, 231, 107, 59, 13, 183, 46, 59, 11, 21, 207, 60, 78, 34, 79, 59, 13, 183, 46, 59, 11, 21, 207, 60, 78, 34, 79, 59, 124, 23, 70, 58, 62, 30, 24, 61, 49, 8, 72, 59, 124, 23, 70, 58, 62, 30, 24, 61, 49, 8, 72, 59, 73, 19, 239, 186, 240, 207, 211, 60, 99, 161, 147, 49, 73, 19, 239, 186, 240, 207, 211, 60, 99, 161, 147, 49, 198, 50, 26, 187, 240, 240, 24, 61, 255, 134, 213, 49, 198, 50, 26, 187, 240, 240, 24, 61, 255, 134, 213, 49, 126, 2, 94, 59, 11, 45, 193, 60, 108, 184, 136, 49, 38, 169, 167, 58, 29, 231, 23, 61, 212, 151, 213, 49, 38, 169, 167, 58, 29, 231, 23, 61, 212, 151, 213, 49, 11, 237, 156, 186, 255, 85, 234, 60, 185, 152, 77, 59, 11, 237, 156, 186, 255, 85, 234, 60, 185, 152, 77, 59, 117, 10, 234, 186, 136, 109, 1, 61, 136, 179, 139, 59, 117, 10, 234, 186, 136, 109, 1, 61, 136, 179, 139, 59, 46, 170, 7, 187, 195, 165, 12, 61, 214, 221, 136, 59, 46, 170, 7, 187, 195, 165, 12, 61, 214, 221, 136, 59, 46, 170, 7, 187, 195, 165, 12, 61, 214, 221, 136, 59, 222, 141, 9, 59, 250, 79, 13, 61, 3, 129, 90, 59, 222, 141, 9, 59, 250, 79, 13, 61, 3, 129, 90, 59, 222, 141, 9, 59, 250, 79, 13, 61, 3, 129, 90, 59, 199, 35, 89, 59, 207, 128, 254, 60, 168, 135, 79, 59, 199, 35, 89, 59, 207, 128, 254, 60, 168, 135, 79, 59, 199, 35, 89, 59, 207, 128, 254, 60, 168, 135, 79, 59, 194, 97, 18, 59, 126, 90, 220, 60, 61, 20, 47, 59, 194, 97, 18, 59, 126, 90, 220, 60, 61, 20, 47, 59, 250, 112, 115, 59, 216, 127, 11, 61, 23, 46, 197, 49, 250, 112, 115, 59, 216, 127, 11, 61, 23, 46, 197, 49, 92, 99, 134, 59, 8, 250, 0, 61, 219, 140, 182, 49, 46, 14, 124, 59, 153, 201, 221, 60, 237, 5, 157, 49, 238, 217, 70, 187, 88, 63, 15, 61, 67, 157, 199, 49, 238, 217, 70, 187, 88, 63, 15, 61, 67, 157, 199, 49, 238, 217, 70, 187, 88, 63, 15, 61, 67, 157, 199, 49, 84, 42, 48, 187, 63, 108, 1, 61, 109, 83, 180, 49, 84, 42, 48, 187, 63, 108, 1, 61, 109, 83, 180, 49, 84, 14, 243, 186, 23, 84, 234, 60, 146, 113, 163, 49, 84, 14, 243, 186, 23, 84, 234, 60, 146, 113, 163, 49, 84, 14, 243, 186, 23, 84, 234, 60, 146, 113, 163, 49, 178, 29, 223, 186, 244, 192, 166, 60, 197, 5, 104, 49, 178, 29, 223, 186, 244, 192, 166, 60, 197, 5, 104, 49, 178, 29, 223, 186, 244, 192, 166, 60, 197, 5, 104, 49, 178, 29, 223, 186, 244, 192, 166, 60, 197, 5, 104, 49, 178, 29, 223, 186, 244, 192, 166, 60, 197, 5, 104, 49, 152, 101, 178, 186, 245, 168, 172, 60, 92, 225, 137, 59, 152, 101, 178, 186, 245, 168, 172, 60, 92, 225, 137, 59, 138, 40, 59, 59, 99, 249, 166, 60, 204, 42, 93, 59, 138, 40, 59, 59, 99, 249, 166, 60, 204, 42, 93, 59, 61, 200, 91, 59, 82, 251, 161, 60, 174, 143, 101, 49, 61, 200, 91, 59, 82, 251, 161, 60, 174, 143, 101, 49, 61, 200, 91, 59, 82, 251, 161, 60, 174, 143, 101, 49, 33, 48, 94, 59, 55, 243, 176, 60, 56, 162, 122, 49, 127, 217, 251, 186, 120, 11, 197, 60, 29, 221, 130, 59, 127, 217, 251, 186, 120, 11, 197, 60, 29, 221, 130, 59, 148, 62, 62, 59, 33, 215, 184, 60, 76, 34, 79, 59, 148, 62, 62, 59, 33, 215, 184, 60, 76, 34, 79, 59, 119, 10, 65, 187, 147, 4, 187, 60, 109, 187, 129, 49, 119, 10, 65, 187, 147, 4, 187, 60, 109, 187, 129, 49, 119, 10, 65, 187, 147, 4, 187, 60, 109, 187, 129, 49, 31, 241, 14, 187, 9, 130, 81, 60, 42, 116, 17, 58, 31, 241, 14, 187, 9, 130, 81, 60, 42, 116, 17, 58, 185, 139, 205, 186, 104, 57, 80, 60, 237, 201, 65, 59, 185, 139, 205, 186, 104, 57, 80, 60, 237, 201, 65, 59, 45, 148, 175, 58, 180, 38, 74, 60, 68, 241, 44, 59, 45, 148, 175, 58, 180, 38, 74, 60, 68, 241, 44, 59, 151, 157, 209, 58, 162, 195, 73, 60, 86, 10, 142, 58, 188, 39, 44, 59, 154, 251, 147, 60, 221, 23, 78, 59, 188, 39, 44, 59, 154, 251, 147, 60, 221, 23, 78, 59, 118, 108, 202, 58, 108, 236, 107, 60, 128, 114, 39, 59, 118, 108, 202, 58, 108, 236, 107, 60, 128, 114, 39, 59, 210, 111, 0, 59, 179, 15, 108, 60, 63, 18, 151, 58, 233, 249, 75, 59, 174, 142, 143, 60, 154, 176, 149, 58, 233, 249, 75, 59, 174, 142, 143, 60, 154, 176, 149, 58, 19, 73, 244, 186, 189, 214, 145, 60, 167, 129, 235, 57, 19, 73, 244, 186, 189, 214, 145, 60, 167, 129, 235, 57, 87, 239, 203, 186, 138, 147, 121, 60, 244, 243, 46, 58, 87, 239, 203, 186, 138, 147, 121, 60, 244, 243, 46, 58, 72, 178, 154, 186, 7, 225, 122, 60, 75, 190, 70, 59, 72, 178, 154, 186, 7, 225, 122, 60, 75, 190, 70, 59, 19, 153, 218, 186, 17, 158, 149, 60, 192, 222, 123, 59, 19, 153, 218, 186, 17, 158, 149, 60, 192, 222, 123, 59, 249, 142, 14, 187, 236, 98, 61, 60, 235, 117, 71, 58, 249, 142, 14, 187, 236, 98, 61, 60, 235, 117, 71, 58, 93, 128, 224, 186, 198, 236, 54, 60, 77, 100, 59, 59, 93, 128, 224, 186, 198, 236, 54, 60, 77, 100, 59, 59, 175, 214, 129, 58, 240, 235, 50, 60, 154, 159, 38, 59, 175, 214, 129, 58, 240, 235, 50, 60, 154, 159, 38, 59, 136, 131, 132, 58, 124, 195, 49, 60, 138, 192, 159, 58, 136, 131, 132, 58, 124, 195, 49, 60, 138, 192, 159, 58, 170, 124, 79, 187, 18, 166, 5, 60, 61, 83, 100, 58, 170, 124, 79, 187, 18, 166, 5, 60, 61, 83, 100, 58, 41, 78, 36, 187, 167, 33, 5, 60, 48, 18, 89, 59, 41, 78, 36, 187, 167, 33, 5, 60, 48, 18, 89, 59, 167, 249, 21, 58, 166, 208, 241, 59, 220, 216, 41, 59, 167, 249, 21, 58, 166, 208, 241, 59, 220, 216, 41, 59, 73, 192, 133, 57, 200, 249, 238, 59, 129, 8, 105, 58, 73, 192, 133, 57, 200, 249, 238, 59, 129, 8, 105, 58, 178, 182, 173, 186, 183, 67, 1, 59, 73, 62, 30, 58, 178, 182, 173, 186, 183, 67, 1, 59, 73, 62, 30, 58, 178, 182, 173, 186, 183, 67, 1, 59, 73, 62, 30, 58, 5, 235, 172, 186, 202, 79, 1, 59, 152, 236, 249, 58, 5, 235, 172, 186, 202, 79, 1, 59, 152, 236, 249, 58, 5, 235, 172, 186, 202, 79, 1, 59, 152, 236, 249, 58, 36, 112, 57, 58, 206, 32, 17, 59, 151, 88, 231, 58, 36, 112, 57, 58, 206, 32, 17, 59, 151, 88, 231, 58, 36, 112, 57, 58, 206, 32, 17, 59, 151, 88, 231, 58, 82, 96, 71, 58, 45, 139, 17, 59, 245, 126, 108, 58, 82, 96, 71, 58, 45, 139, 17, 59, 245, 126, 108, 58, 82, 96, 71, 58, 45, 139, 17, 59, 245, 126, 108, 58, 222, 62, 43, 58, 79, 74, 214, 60, 17, 21, 135, 59, 152, 184, 89, 186, 211, 122, 25, 61, 242, 252, 120, 59, 152, 184, 89, 186, 211, 122, 25, 61, 242, 252, 120, 59, 37, 239, 16, 58, 9, 245, 28, 61, 144, 165, 89, 58, 37, 239, 16, 58, 9, 245, 28, 61, 144, 165, 89, 58, 230, 250, 66, 58, 90, 177, 229, 60, 154, 82, 94, 59, 214, 77, 53, 58, 236, 109, 0, 61, 225, 143, 139, 59, 147, 243, 19, 58, 156, 203, 5, 61, 114, 246, 150, 59, 147, 243, 19, 58, 156, 203, 5, 61, 114, 246, 150, 59, 147, 243, 19, 58, 156, 203, 5, 61, 114, 246, 150, 59, 217, 102, 95, 58, 22, 179, 169, 60, 161, 48, 142, 59, 74, 75, 93, 58, 114, 61, 159, 60, 102, 153, 95, 49, 74, 75, 93, 58, 114, 61, 159, 60, 102, 153, 95, 49, 48, 106, 61, 57, 214, 111, 194, 60, 161, 43, 135, 59, 25, 119, 86, 185, 171, 159, 76, 60, 21, 123, 82, 59, 167, 151, 53, 185, 2, 237, 76, 60, 11, 45, 205, 57, 167, 151, 53, 185, 2, 237, 76, 60, 11, 45, 205, 57, 231, 225, 41, 58, 150, 40, 147, 60, 234, 128, 130, 59, 110, 169, 35, 56, 29, 114, 115, 60, 63, 203, 80, 59, 158, 54, 50, 58, 109, 104, 143, 60, 183, 250, 149, 57, 158, 54, 50, 58, 109, 104, 143, 60, 183, 250, 149, 57, 127, 111, 170, 56, 60, 201, 111, 60, 58, 10, 4, 58, 127, 111, 170, 56, 60, 201, 111, 60, 58, 10, 4, 58, 113, 149, 60, 186, 236, 158, 56, 60, 170, 239, 73, 59, 161, 132, 58, 186, 82, 171, 55, 60, 3, 163, 28, 58, 161, 132, 58, 186, 82, 171, 55, 60, 3, 163, 28, 58, 34, 30, 100, 186, 155, 57, 1, 60, 10, 230, 87, 59, 179, 250, 184, 186, 86, 3, 1, 60, 210, 129, 221, 57, 232, 52, 160, 185, 35, 57, 9, 59, 123, 136, 8, 59, 100, 76, 143, 185, 144, 121, 9, 59, 52, 242, 0, 58, 65, 22, 220, 186, 56, 167, 11, 61, 186, 43, 168, 59, 65, 22, 220, 186, 56, 167, 11, 61, 186, 43, 168, 59, 88, 247, 23, 187, 140, 39, 19, 61, 229, 218, 181, 59, 88, 247, 23, 187, 140, 39, 19, 61, 229, 218, 181, 59, 88, 247, 23, 187, 140, 39, 19, 61, 229, 218, 181, 59, 88, 247, 23, 187, 140, 39, 19, 61, 229, 218, 181, 59, 223, 252, 64, 186, 225, 195, 24, 61, 37, 55, 185, 59, 223, 252, 64, 186, 225, 195, 24, 61, 37, 55, 185, 59, 223, 252, 64, 186, 225, 195, 24, 61, 37, 55, 185, 59, 235, 147, 212, 58, 45, 223, 20, 61, 123, 158, 176, 59, 235, 147, 212, 58, 45, 223, 20, 61, 123, 158, 176, 59, 235, 147, 212, 58, 45, 223, 20, 61, 123, 158, 176, 59, 194, 15, 20, 59, 25, 158, 12, 61, 158, 178, 164, 59, 194, 15, 20, 59, 25, 158, 12, 61, 158, 178, 164, 59, 194, 15, 20, 59, 25, 158, 12, 61, 158, 178, 164, 59, 197, 135, 31, 58, 171, 146, 8, 61, 90, 71, 157, 59, 197, 135, 31, 58, 171, 146, 8, 61, 90, 71, 157, 59, 176, 148, 31, 59, 143, 226, 210, 60, 121, 167, 98, 60, 176, 148, 31, 59, 143, 226, 210, 60, 121, 167, 98, 60, 176, 148, 31, 59, 143, 226, 210, 60, 121, 167, 98, 60, 237, 56, 81, 59, 119, 175, 221, 60, 239, 174, 106, 60, 237, 56, 81, 59, 119, 175, 221, 60, 239, 174, 106, 60, 237, 56, 81, 59, 119, 175, 221, 60, 239, 174, 106, 60, 158, 56, 107, 59, 198, 13, 222, 60, 156, 20, 105, 60, 158, 56, 107, 59, 198, 13, 222, 60, 156, 20, 105, 60, 74, 97, 127, 59, 5, 184, 222, 60, 14, 65, 94, 60, 74, 97, 127, 59, 5, 184, 222, 60, 14, 65, 94, 60, 255, 255, 135, 59, 36, 116, 213, 60, 230, 33, 76, 60, 255, 255, 135, 59, 36, 116, 213, 60, 230, 33, 76, 60, 255, 255, 135, 59, 36, 116, 213, 60, 230, 33, 76, 60, 3, 218, 82, 59, 210, 243, 208, 60, 251, 12, 87, 60, 3, 218, 82, 59, 210, 243, 208, 60, 251, 12, 87, 60, 131, 240, 129, 185, 132, 113, 252, 60, 216, 203, 30, 60, 131, 240, 129, 185, 132, 113, 252, 60, 216, 203, 30, 60, 131, 240, 129, 185, 132, 113, 252, 60, 216, 203, 30, 60, 115, 130, 12, 56, 135, 110, 0, 61, 139, 180, 37, 60, 115, 130, 12, 56, 135, 110, 0, 61, 139, 180, 37, 60, 94, 146, 218, 58, 14, 40, 0, 61, 98, 91, 15, 60, 94, 146, 218, 58, 14, 40, 0, 61, 98, 91, 15, 60, 183, 39, 76, 58, 48, 25, 251, 60, 37, 194, 15, 60, 183, 39, 76, 58, 48, 25, 251, 60, 37, 194, 15, 60, 183, 39, 76, 58, 48, 25, 251, 60, 37, 194, 15, 60, 145, 82, 133, 58, 148, 28, 4, 61, 44, 213, 39, 60, 145, 82, 133, 58, 148, 28, 4, 61, 44, 213, 39, 60, 183, 49, 234, 58, 12, 112, 3, 61, 230, 100, 27, 60, 183, 49, 234, 58, 12, 112, 3, 61, 230, 100, 27, 60, 83, 18, 191, 57, 76, 12, 240, 60, 178, 46, 47, 60, 83, 18, 191, 57, 76, 12, 240, 60, 178, 46, 47, 60, 83, 18, 191, 57, 76, 12, 240, 60, 178, 46, 47, 60, 40, 198, 38, 59, 152, 159, 244, 60, 206, 4, 27, 60, 40, 198, 38, 59, 152, 159, 244, 60, 206, 4, 27, 60, 18, 113, 86, 58, 104, 185, 251, 60, 138, 88, 63, 60, 18, 113, 86, 58, 104, 185, 251, 60, 138, 88, 63, 60, 225, 191, 179, 58, 172, 21, 238, 60, 8, 71, 31, 60, 225, 191, 179, 58, 172, 21, 238, 60, 8, 71, 31, 60, 89, 169, 226, 58, 4, 44, 255, 60, 227, 124, 60, 60, 89, 169, 226, 58, 4, 44, 255, 60, 227, 124, 60, 60, 89, 169, 226, 58, 4, 44, 255, 60, 227, 124, 60, 60, 46, 69, 40, 59, 157, 33, 254, 60, 231, 219, 44, 60, 46, 69, 40, 59, 157, 33, 254, 60, 231, 219, 44, 60, 142, 40, 2, 187, 46, 82, 12, 61, 223, 151, 206, 59, 142, 40, 2, 187, 46, 82, 12, 61, 223, 151, 206, 59, 162, 89, 39, 58, 215, 20, 9, 61, 218, 51, 184, 59, 162, 89, 39, 58, 215, 20, 9, 61, 218, 51, 184, 59, 214, 93, 226, 185, 128, 152, 19, 61, 202, 207, 233, 59, 214, 93, 226, 185, 128, 152, 19, 61, 202, 207, 233, 59, 70, 222, 110, 58, 60, 224, 16, 61, 73, 111, 219, 59, 70, 222, 110, 58, 60, 224, 16, 61, 73, 111, 219, 59, 70, 222, 110, 58, 60, 224, 16, 61, 73, 111, 219, 59, 109, 124, 84, 186, 213, 43, 9, 61, 241, 226, 189, 59, 234, 214, 190, 58, 99, 232, 12, 61, 210, 231, 198, 59, 234, 214, 190, 58, 99, 232, 12, 61, 210, 231, 198, 59, 234, 214, 190, 58, 99, 232, 12, 61, 210, 231, 198, 59, 29, 242, 224, 186, 97, 111, 30, 61, 139, 132, 221, 49, 29, 242, 224, 186, 97, 111, 30, 61, 139, 132, 221, 49, 29, 242, 224, 186, 97, 111, 30, 61, 139, 132, 221, 49, 109, 115, 132, 185, 226, 62, 29, 61, 215, 148, 164, 58, 109, 115, 132, 185, 226, 62, 29, 61, 215, 148, 164, 58, 109, 115, 132, 185, 226, 62, 29, 61, 215, 148, 164, 58, 109, 115, 132, 185, 226, 62, 29, 61, 215, 148, 164, 58, 94, 42, 153, 58, 133, 187, 28, 61, 2, 86, 220, 49, 94, 42, 153, 58, 133, 187, 28, 61, 2, 86, 220, 49, 179, 130, 157, 186, 7, 241, 29, 61, 120, 97, 90, 58, 179, 130, 157, 186, 7, 241, 29, 61, 120, 97, 90, 58, 207, 98, 206, 186, 106, 20, 33, 61, 129, 75, 225, 49, 207, 98, 206, 186, 106, 20, 33, 61, 129, 75, 225, 49, 132, 187, 18, 186, 157, 235, 32, 61, 117, 73, 153, 58, 132, 187, 18, 186, 157, 235, 32, 61, 117, 73, 153, 58, 209, 64, 168, 58, 116, 179, 30, 61, 201, 38, 223, 49, 209, 64, 168, 58, 116, 179, 30, 61, 201, 38, 223, 49, 209, 64, 168, 58, 116, 179, 30, 61, 201, 38, 223, 49, 186, 1, 151, 186, 42, 202, 32, 61, 198, 180, 94, 58, 186, 1, 151, 186, 42, 202, 32, 61, 198, 180, 94, 58, 235, 50, 194, 186, 229, 122, 153, 58, 190, 149, 8, 58, 235, 50, 194, 186, 229, 122, 153, 58, 190, 149, 8, 58, 88, 223, 192, 186, 175, 142, 153, 58, 39, 29, 2, 59, 88, 223, 192, 186, 175, 142, 153, 58, 39, 29, 2, 59, 82, 134, 1, 59, 0, 215, 178, 58, 150, 88, 231, 58, 82, 134, 1, 59, 0, 215, 178, 58, 150, 88, 231, 58, 116, 85, 7, 59, 206, 130, 179, 58, 243, 126, 108, 58, 116, 85, 7, 59, 206, 130, 179, 58, 243, 126, 108, 58, 22, 204, 57, 57, 235, 138, 166, 58, 236, 29, 15, 59, 43, 43, 114, 57, 242, 242, 166, 58, 22, 83, 207, 57, 201, 202, 237, 186, 231, 217, 11, 58, 188, 149, 8, 58, 201, 202, 237, 186, 231, 217, 11, 58, 188, 149, 8, 58, 201, 202, 237, 186, 231, 217, 11, 58, 188, 149, 8, 58, 216, 217, 235, 186, 190, 246, 11, 58, 38, 29, 2, 59, 216, 217, 235, 186, 190, 246, 11, 58, 38, 29, 2, 59, 216, 217, 235, 186, 190, 246, 11, 58, 38, 29, 2, 59, 248, 161, 82, 59, 25, 137, 48, 58, 9, 10, 246, 58, 248, 161, 82, 59, 25, 137, 48, 58, 9, 10, 246, 58, 37, 34, 91, 59, 194, 130, 49, 58, 243, 171, 44, 58, 37, 34, 91, 59, 194, 130, 49, 58, 243, 171, 44, 58, 244, 153, 1, 58, 210, 42, 32, 58, 28, 53, 17, 59, 104, 57, 22, 58, 129, 194, 32, 58, 18, 83, 207, 57, 73, 79, 236, 186, 122, 206, 11, 57, 229, 56, 30, 58, 73, 79, 236, 186, 122, 206, 11, 57, 229, 56, 30, 58, 73, 79, 236, 186, 122, 206, 11, 57, 229, 56, 30, 58, 174, 94, 234, 186, 42, 63, 12, 57, 230, 233, 249, 58, 174, 94, 234, 186, 42, 63, 12, 57, 230, 233, 249, 58, 174, 94, 234, 186, 42, 63, 12, 57, 230, 233, 249, 58, 244, 144, 4, 58, 39, 18, 93, 57, 146, 56, 14, 59, 104, 48, 25, 58, 52, 110, 95, 57, 124, 237, 0, 58, 73, 39, 121, 59, 191, 51, 132, 55, 219, 79, 231, 58, 73, 39, 121, 59, 191, 51, 132, 55, 219, 79, 231, 58, 73, 39, 121, 59, 191, 51, 132, 55, 219, 79, 231, 58, 117, 103, 117, 59, 152, 6, 211, 57, 89, 189, 236, 58, 117, 103, 117, 59, 152, 6, 211, 57, 89, 189, 236, 58, 68, 156, 115, 59, 77, 142, 125, 57, 181, 92, 236, 58, 110, 223, 126, 59, 38, 228, 106, 57, 142, 233, 232, 58, 110, 223, 126, 59, 38, 228, 106, 57, 142, 233, 232, 58, 110, 223, 126, 59, 38, 228, 106, 57, 142, 233, 232, 58, 27, 224, 126, 59, 57, 3, 209, 57, 149, 38, 86, 58, 27, 224, 126, 59, 57, 3, 209, 57, 149, 38, 86, 58, 186, 211, 128, 59, 39, 126, 163, 55, 40, 110, 108, 58, 186, 211, 128, 59, 39, 126, 163, 55, 40, 110, 108, 58, 186, 211, 128, 59, 39, 126, 163, 55, 40, 110, 108, 58, 69, 28, 124, 59, 98, 174, 128, 57, 80, 113, 98, 58, 32, 212, 131, 59, 135, 121, 108, 57, 133, 236, 101, 58, 32, 212, 131, 59, 135, 121, 108, 57, 133, 236, 101, 58, 32, 212, 131, 59, 135, 121, 108, 57, 133, 236, 101, 58, 60, 27, 201, 186, 143, 208, 205, 184, 201, 40, 30, 58, 60, 27, 201, 186, 143, 208, 205, 184, 201, 40, 30, 58, 56, 152, 176, 186, 208, 114, 55, 185, 191, 216, 53, 58, 15, 235, 174, 186, 2, 37, 55, 185, 43, 106, 238, 58, 74, 41, 199, 186, 236, 249, 204, 184, 216, 225, 249, 58, 74, 41, 199, 186, 236, 249, 204, 184, 216, 225, 249, 58, 130, 5, 102, 59, 65, 232, 53, 185, 124, 212, 219, 58, 183, 27, 113, 59, 209, 244, 201, 184, 43, 77, 231, 58, 183, 27, 113, 59, 209, 244, 201, 184, 43, 77, 231, 58, 9, 218, 108, 59, 60, 243, 50, 185, 51, 245, 128, 58, 98, 155, 121, 59, 177, 55, 194, 184, 29, 104, 108, 58, 98, 155, 121, 59, 177, 55, 194, 184, 29, 104, 108, 58, 101, 0, 7, 58, 149, 169, 163, 184, 207, 183, 9, 59, 101, 0, 7, 58, 149, 169, 163, 184, 207, 183, 9, 59, 148, 213, 223, 57, 181, 47, 36, 185, 148, 173, 1, 59, 38, 32, 34, 58, 4, 199, 35, 185, 252, 133, 1, 59, 38, 155, 27, 58, 55, 111, 154, 184, 8, 220, 0, 58, 38, 155, 27, 58, 55, 111, 154, 184, 8, 220, 0, 58, 232, 246, 51, 58, 89, 163, 33, 185, 54, 57, 29, 58, 106, 224, 1, 58, 159, 49, 34, 185, 199, 98, 27, 58, 50, 216, 34, 59, 15, 109, 206, 60, 154, 92, 106, 60, 50, 216, 34, 59, 15, 109, 206, 60, 154, 92, 106, 60, 50, 216, 34, 59, 15, 109, 206, 60, 154, 92, 106, 60, 167, 184, 100, 59, 60, 194, 220, 60, 83, 4, 117, 60, 167, 184, 100, 59, 60, 194, 220, 60, 83, 4, 117, 60, 167, 184, 100, 59, 60, 194, 220, 60, 83, 4, 117, 60, 152, 156, 131, 59, 106, 63, 221, 60, 199, 227, 114, 60, 152, 156, 131, 59, 106, 63, 221, 60, 199, 227, 114, 60, 232, 252, 144, 59, 92, 33, 222, 60, 203, 133, 100, 60, 232, 252, 144, 59, 92, 33, 222, 60, 203, 133, 100, 60, 2, 4, 156, 59, 186, 213, 209, 60, 90, 121, 76, 60, 2, 4, 156, 59, 186, 213, 209, 60, 90, 121, 76, 60, 2, 4, 156, 59, 186, 213, 209, 60, 90, 121, 76, 60, 2, 4, 156, 59, 186, 213, 209, 60, 90, 121, 76, 60, 77, 226, 102, 59, 134, 220, 203, 60, 149, 246, 90, 60, 77, 226, 102, 59, 134, 220, 203, 60, 149, 246, 90, 60, 53, 216, 84, 59, 119, 249, 203, 60, 210, 196, 114, 60, 53, 216, 84, 59, 119, 249, 203, 60, 210, 196, 114, 60, 108, 175, 133, 59, 111, 214, 215, 60, 148, 150, 123, 60, 108, 175, 133, 59, 111, 214, 215, 60, 148, 150, 123, 60, 195, 246, 147, 59, 9, 62, 216, 60, 219, 211, 121, 60, 195, 246, 147, 59, 9, 62, 216, 60, 219, 211, 121, 60, 26, 9, 159, 59, 9, 249, 216, 60, 150, 239, 109, 60, 26, 9, 159, 59, 9, 249, 216, 60, 150, 239, 109, 60, 192, 41, 168, 59, 191, 203, 206, 60, 237, 7, 90, 60, 192, 41, 168, 59, 191, 203, 206, 60, 237, 7, 90, 60, 154, 148, 134, 59, 13, 218, 201, 60, 8, 6, 102, 60, 200, 22, 118, 59, 216, 151, 202, 60, 205, 241, 119, 60, 200, 22, 118, 59, 216, 151, 202, 60, 205, 241, 119, 60, 5, 11, 146, 59, 201, 153, 212, 60, 102, 98, 127, 60, 5, 11, 146, 59, 201, 153, 212, 60, 102, 98, 127, 60, 151, 22, 158, 59, 44, 241, 212, 60, 47, 230, 125, 60, 151, 22, 158, 59, 44, 241, 212, 60, 47, 230, 125, 60, 131, 109, 167, 59, 242, 142, 213, 60, 24, 222, 115, 60, 131, 109, 167, 59, 242, 142, 213, 60, 24, 222, 115, 60, 170, 32, 175, 59, 38, 249, 204, 60, 112, 19, 99, 60, 170, 32, 175, 59, 38, 249, 204, 60, 112, 19, 99, 60, 75, 204, 146, 59, 109, 205, 200, 60, 96, 49, 109, 60, 253, 93, 138, 59, 50, 186, 202, 60, 100, 233, 122, 60, 253, 93, 138, 59, 50, 186, 202, 60, 100, 233, 122, 60, 253, 93, 138, 59, 50, 186, 202, 60, 100, 233, 122, 60, 145, 3, 155, 59, 143, 248, 209, 60, 247, 37, 128, 60, 145, 3, 155, 59, 143, 248, 209, 60, 247, 37, 128, 60, 113, 187, 163, 59, 212, 55, 210, 60, 191, 56, 127, 60, 113, 187, 163, 59, 212, 55, 210, 60, 191, 56, 127, 60, 24, 126, 170, 59, 5, 170, 210, 60, 233, 245, 119, 60, 24, 126, 170, 59, 5, 170, 210, 60, 233, 245, 119, 60, 24, 126, 170, 59, 5, 170, 210, 60, 233, 245, 119, 60, 213, 16, 176, 59, 62, 115, 204, 60, 137, 206, 107, 60, 213, 16, 176, 59, 62, 115, 204, 60, 137, 206, 107, 60, 213, 16, 176, 59, 62, 115, 204, 60, 137, 206, 107, 60, 104, 143, 155, 59, 103, 110, 201, 60, 36, 33, 115, 60, 104, 143, 155, 59, 103, 110, 201, 60, 36, 33, 115, 60, 199, 176, 146, 59, 98, 89, 206, 60, 164, 154, 125, 60, 199, 176, 146, 59, 98, 89, 206, 60, 164, 154, 125, 60, 129, 95, 159, 59, 52, 24, 210, 60, 93, 194, 127, 60, 118, 71, 173, 59, 162, 142, 207, 60, 63, 226, 113, 60, 118, 71, 173, 59, 162, 142, 207, 60, 63, 226, 113, 60, 190, 246, 146, 59, 79, 20, 202, 60, 63, 5, 119, 60, 190, 246, 146, 59, 79, 20, 202, 60, 63, 5, 119, 60, 186, 28, 167, 59, 234, 112, 210, 60, 85, 151, 123, 60, 186, 28, 167, 59, 234, 112, 210, 60, 85, 151, 123, 60, 31, 208, 165, 59, 211, 240, 202, 60, 214, 119, 111, 60, 31, 208, 165, 59, 211, 240, 202, 60, 214, 119, 111, 60, 119, 165, 159, 59, 27, 211, 205, 60, 236, 44, 121, 60, 119, 118, 166, 59, 220, 176, 206, 60, 155, 135, 117, 60, 31, 43, 153, 59, 66, 22, 206, 60, 200, 99, 123, 60, 132, 83, 213, 186, 210, 175, 37, 61, 126, 37, 93, 58, 132, 83, 213, 186, 210, 175, 37, 61, 126, 37, 93, 58, 72, 0, 212, 186, 117, 59, 52, 61, 46, 208, 86, 58, 72, 0, 212, 186, 117, 59, 52, 61, 46, 208, 86, 58, 34, 234, 17, 59, 9, 184, 33, 61, 4, 245, 35, 58, 244, 7, 243, 58, 143, 41, 53, 61, 48, 208, 86, 58, 244, 7, 243, 58, 143, 41, 53, 61, 48, 208, 86, 58, 103, 251, 41, 186, 172, 254, 53, 61, 53, 69, 116, 58, 103, 251, 41, 186, 172, 254, 53, 61, 53, 69, 116, 58, 40, 136, 17, 58, 52, 169, 54, 61, 253, 85, 116, 58, 218, 246, 7, 187, 228, 34, 43, 61, 183, 199, 100, 58, 114, 207, 8, 187, 96, 25, 48, 61, 24, 205, 100, 58, 85, 30, 19, 59, 28, 187, 46, 61, 203, 10, 99, 58, 85, 30, 19, 59, 28, 187, 46, 61, 203, 10, 99, 58, 85, 30, 19, 59, 28, 187, 46, 61, 203, 10, 99, 58, 220, 219, 8, 59, 107, 246, 43, 61, 246, 38, 82, 58, 220, 219, 8, 59, 107, 246, 43, 61, 246, 38, 82, 58, 122, 13, 40, 59, 107, 183, 40, 61, 193, 70, 45, 58, 122, 13, 40, 59, 107, 183, 40, 61, 193, 70, 45, 58, 183, 191, 171, 186, 6, 1, 36, 61, 123, 242, 26, 58, 183, 191, 171, 186, 6, 1, 36, 61, 123, 242, 26, 58, 162, 74, 3, 59, 51, 49, 32, 61, 101, 193, 5, 58, 162, 74, 3, 59, 51, 49, 32, 61, 101, 193, 5, 58, 89, 7, 180, 186, 92, 82, 216, 60, 39, 221, 2, 59, 157, 90, 133, 58, 174, 2, 24, 61, 76, 8, 200, 58, 157, 90, 133, 58, 174, 2, 24, 61, 76, 8, 200, 58, 115, 105, 25, 187, 138, 90, 23, 61, 120, 231, 235, 58, 115, 105, 25, 187, 138, 90, 23, 61, 120, 231, 235, 58, 198, 92, 70, 59, 11, 33, 200, 60, 53, 34, 207, 58, 61, 58, 191, 186, 52, 48, 30, 61, 147, 98, 218, 57, 61, 58, 191, 186, 52, 48, 30, 61, 147, 98, 218, 57, 176, 253, 199, 186, 8, 85, 234, 60, 162, 152, 205, 58, 199, 151, 18, 187, 229, 108, 1, 61, 147, 179, 11, 59, 36, 66, 39, 187, 140, 242, 13, 61, 248, 221, 8, 59, 12, 56, 71, 59, 9, 18, 221, 60, 125, 20, 175, 58, 42, 245, 114, 59, 57, 29, 0, 61, 149, 135, 207, 58, 42, 245, 114, 59, 57, 29, 0, 61, 149, 135, 207, 58, 130, 127, 62, 59, 231, 103, 12, 61, 27, 129, 218, 58, 130, 127, 62, 59, 231, 103, 12, 61, 27, 129, 218, 58, 165, 193, 200, 186, 244, 180, 169, 60, 121, 225, 9, 59, 100, 120, 75, 59, 93, 122, 164, 60, 218, 42, 221, 58, 91, 55, 78, 59, 47, 229, 180, 60, 50, 34, 207, 58, 134, 123, 31, 187, 2, 8, 192, 60, 37, 221, 2, 59, 208, 182, 245, 186, 189, 221, 80, 60, 248, 38, 230, 58, 225, 152, 192, 58, 43, 245, 73, 60, 67, 246, 243, 58, 19, 113, 231, 186, 103, 186, 147, 60, 123, 167, 12, 59, 207, 80, 179, 186, 77, 58, 122, 60, 115, 123, 242, 58, 189, 16, 60, 59, 36, 197, 145, 60, 0, 120, 12, 59, 13, 166, 229, 58, 10, 254, 107, 60, 159, 251, 242, 58, 40, 207, 254, 186, 217, 39, 58, 60, 242, 65, 237, 58, 241, 44, 131, 58, 181, 87, 50, 60, 221, 127, 246, 58, 105, 229, 57, 187, 215, 99, 5, 60, 149, 19, 9, 59, 204, 217, 216, 57, 66, 101, 240, 59, 210, 26, 228, 58, 176, 80, 173, 186, 192, 73, 1, 59, 222, 133, 164, 58, 176, 80, 173, 186, 192, 73, 1, 59, 222, 133, 164, 58, 229, 103, 64, 58, 253, 85, 17, 59, 52, 204, 174, 58, 229, 103, 64, 58, 253, 85, 17, 59, 52, 204, 174, 58, 240, 161, 97, 58, 72, 216, 28, 61, 83, 165, 217, 57, 240, 161, 97, 58, 72, 216, 28, 61, 83, 165, 217, 57, 240, 161, 97, 58, 72, 216, 28, 61, 83, 165, 217, 57, 26, 178, 178, 186, 75, 239, 32, 61, 139, 180, 222, 57, 31, 156, 75, 58, 130, 47, 32, 61, 110, 16, 15, 58, 31, 156, 75, 58, 130, 47, 32, 61, 110, 16, 15, 58, 33, 137, 193, 186, 245, 132, 153, 58, 107, 66, 164, 58, 227, 109, 4, 59, 231, 44, 179, 58, 50, 204, 174, 58, 124, 210, 236, 186, 169, 232, 11, 58, 106, 66, 164, 58, 124, 210, 236, 186, 169, 232, 11, 58, 106, 66, 164, 58, 249, 225, 86, 59, 238, 5, 49, 58, 1, 48, 166, 58, 252, 86, 235, 186, 209, 6, 12, 57, 44, 131, 164, 58, 252, 86, 235, 186, 209, 6, 12, 57, 44, 131, 164, 58, 73, 103, 125, 59, 176, 227, 147, 55, 119, 195, 174, 58, 73, 103, 125, 59, 176, 227, 147, 55, 119, 195, 174, 58, 235, 161, 129, 59, 127, 173, 107, 57, 190, 239, 173, 58, 235, 161, 129, 59, 127, 173, 107, 57, 190, 239, 173, 58, 199, 35, 122, 59, 232, 4, 210, 57, 81, 232, 171, 58, 121, 193, 175, 186, 146, 74, 55, 185, 26, 171, 164, 58, 66, 34, 200, 186, 61, 101, 205, 184, 30, 123, 164, 58, 197, 111, 105, 59, 191, 109, 52, 185, 216, 100, 174, 58, 141, 91, 117, 59, 146, 19, 198, 184, 114, 192, 174, 58, 221, 11, 43, 58, 47, 181, 34, 185, 116, 212, 168, 58, 136, 202, 241, 57, 170, 48, 35, 185, 70, 134, 168, 58, 99, 34, 140, 186, 10, 119, 36, 61, 36, 241, 154, 186, 99, 34, 140, 186, 10, 119, 36, 61, 36, 241, 154, 186, 251, 239, 185, 186, 199, 140, 51, 61, 113, 207, 214, 186, 251, 239, 185, 186, 199, 140, 51, 61, 113, 207, 214, 186, 18, 214, 198, 58, 125, 75, 32, 61, 102, 192, 133, 186, 18, 214, 198, 58, 125, 75, 32, 61, 102, 192, 133, 186, 18, 214, 198, 58, 125, 75, 32, 61, 102, 192, 133, 186, 94, 84, 222, 58, 52, 60, 52, 61, 113, 207, 214, 186, 94, 84, 222, 58, 52, 60, 52, 61, 113, 207, 214, 186, 94, 84, 222, 58, 52, 60, 52, 61, 113, 207, 214, 186, 58, 109, 141, 57, 143, 171, 33, 61, 111, 15, 143, 186, 58, 109, 141, 57, 143, 171, 33, 61, 111, 15, 143, 186, 58, 109, 141, 57, 143, 171, 33, 61, 111, 15, 143, 186, 81, 153, 246, 185, 130, 3, 37, 61, 26, 7, 179, 186, 81, 153, 246, 185, 130, 3, 37, 61, 26, 7, 179, 186, 233, 200, 33, 186, 127, 146, 52, 61, 118, 68, 244, 186, 233, 200, 33, 186, 127, 146, 52, 61, 118, 68, 244, 186, 157, 17, 29, 58, 240, 44, 53, 61, 61, 85, 244, 186, 157, 17, 29, 58, 240, 44, 53, 61, 61, 85, 244, 186, 157, 17, 29, 58, 240, 44, 53, 61, 61, 85, 244, 186, 81, 25, 222, 186, 205, 29, 47, 61, 96, 204, 228, 186, 81, 25, 222, 186, 205, 29, 47, 61, 96, 204, 228, 186, 181, 44, 202, 186, 184, 146, 43, 61, 4, 199, 228, 186, 218, 214, 220, 58, 83, 33, 44, 61, 65, 38, 210, 186, 218, 214, 220, 58, 83, 33, 44, 61, 65, 38, 210, 186, 145, 21, 236, 58, 1, 208, 46, 61, 19, 10, 227, 186, 145, 21, 236, 58, 1, 208, 46, 61, 19, 10, 227, 186, 193, 10, 249, 57, 115, 36, 47, 61, 73, 251, 0, 187, 36, 245, 14, 58, 206, 140, 44, 61, 31, 187, 254, 186, 81, 35, 235, 185, 47, 173, 43, 61, 169, 214, 255, 186, 25, 68, 3, 186, 6, 16, 47, 61, 251, 21, 2, 187, 9, 83, 45, 58, 89, 63, 39, 61, 215, 200, 235, 186, 46, 133, 11, 59, 66, 157, 40, 61, 184, 69, 173, 186, 46, 133, 11, 59, 66, 157, 40, 61, 184, 69, 173, 186, 155, 153, 178, 186, 183, 184, 38, 61, 208, 36, 221, 186, 155, 153, 178, 186, 183, 184, 38, 61, 208, 36, 221, 186, 182, 237, 222, 58, 148, 201, 33, 61, 2, 244, 163, 186, 182, 237, 222, 58, 148, 201, 33, 61, 2, 244, 163, 186, 37, 145, 208, 57, 141, 164, 34, 61, 71, 7, 204, 186, 85, 56, 196, 185, 183, 249, 37, 61, 46, 72, 228, 186, 85, 56, 196, 185, 183, 249, 37, 61, 46, 72, 228, 186, 128, 247, 113, 186, 200, 212, 220, 60, 11, 221, 130, 187, 128, 247, 113, 186, 200, 212, 220, 60, 11, 221, 130, 187, 74, 160, 24, 187, 42, 196, 21, 61, 41, 231, 107, 187, 74, 160, 24, 187, 42, 196, 21, 61, 41, 231, 107, 187, 12, 183, 46, 59, 11, 21, 207, 60, 255, 33, 79, 187, 123, 23, 70, 58, 63, 30, 24, 61, 209, 7, 72, 187, 123, 23, 70, 58, 63, 30, 24, 61, 209, 7, 72, 187, 11, 237, 156, 186, 0, 86, 234, 60, 101, 152, 77, 187, 11, 237, 156, 186, 0, 86, 234, 60, 101, 152, 77, 187, 118, 10, 234, 186, 136, 109, 1, 61, 92, 179, 139, 187, 46, 170, 7, 187, 195, 165, 12, 61, 190, 221, 136, 187, 46, 170, 7, 187, 195, 165, 12, 61, 190, 221, 136, 187, 46, 170, 7, 187, 195, 165, 12, 61, 190, 221, 136, 187, 46, 170, 7, 187, 195, 165, 12, 61, 190, 221, 136, 187, 222, 141, 9, 59, 250, 79, 13, 61, 167, 128, 90, 187, 222, 141, 9, 59, 250, 79, 13, 61, 167, 128, 90, 187, 199, 35, 89, 59, 207, 128, 254, 60, 81, 135, 79, 187, 193, 97, 18, 59, 127, 90, 220, 60, 23, 20, 47, 187, 153, 101, 178, 186, 246, 168, 172, 60, 77, 225, 137, 187, 153, 101, 178, 186, 246, 168, 172, 60, 77, 225, 137, 187, 138, 40, 59, 59, 100, 249, 166, 60, 132, 42, 93, 187, 128, 217, 251, 186, 120, 11, 197, 60, 12, 221, 130, 187, 128, 217, 251, 186, 120, 11, 197, 60, 12, 221, 130, 187, 148, 62, 62, 59, 33, 215, 184, 60, 1, 34, 79, 187, 31, 241, 14, 187, 9, 130, 81, 60, 54, 115, 17, 186, 31, 241, 14, 187, 9, 130, 81, 60, 54, 115, 17, 186, 186, 139, 205, 186, 105, 57, 80, 60, 176, 201, 65, 187, 186, 139, 205, 186, 105, 57, 80, 60, 176, 201, 65, 187, 44, 148, 175, 58, 181, 38, 74, 60, 6, 241, 44, 187, 44, 148, 175, 58, 181, 38, 74, 60, 6, 241, 44, 187, 151, 157, 209, 58, 162, 195, 73, 60, 50, 10, 142, 186, 151, 157, 209, 58, 162, 195, 73, 60, 50, 10, 142, 186, 188, 39, 44, 59, 155, 251, 147, 60, 152, 23, 78, 187, 117, 108, 202, 58, 109, 236, 107, 60, 107, 114, 39, 187, 210, 111, 0, 59, 179, 15, 108, 60, 22, 18, 151, 186, 210, 111, 0, 59, 179, 15, 108, 60, 22, 18, 151, 186, 233, 249, 75, 59, 174, 142, 143, 60, 17, 176, 149, 186, 233, 249, 75, 59, 174, 142, 143, 60, 17, 176, 149, 186, 19, 73, 244, 186, 189, 214, 145, 60, 134, 127, 235, 185, 19, 73, 244, 186, 189, 214, 145, 60, 134, 127, 235, 185, 19, 73, 244, 186, 189, 214, 145, 60, 134, 127, 235, 185, 87, 239, 203, 186, 138, 147, 121, 60, 242, 242, 46, 186, 87, 239, 203, 186, 138, 147, 121, 60, 242, 242, 46, 186, 87, 239, 203, 186, 138, 147, 121, 60, 242, 242, 46, 186, 73, 178, 154, 186, 8, 225, 122, 60, 53, 190, 70, 187, 73, 178, 154, 186, 8, 225, 122, 60, 53, 190, 70, 187, 73, 178, 154, 186, 8, 225, 122, 60, 53, 190, 70, 187, 19, 153, 218, 186, 18, 158, 149, 60, 122, 222, 123, 187, 19, 153, 218, 186, 18, 158, 149, 60, 122, 222, 123, 187, 19, 153, 218, 186, 18, 158, 149, 60, 122, 222, 123, 187, 249, 142, 14, 187, 237, 98, 61, 60, 169, 117, 71, 186, 249, 142, 14, 187, 237, 98, 61, 60, 169, 117, 71, 186, 94, 128, 224, 186, 199, 236, 54, 60, 61, 100, 59, 187, 94, 128, 224, 186, 199, 236, 54, 60, 61, 100, 59, 187, 175, 214, 129, 58, 241, 235, 50, 60, 138, 159, 38, 187, 175, 214, 129, 58, 241, 235, 50, 60, 138, 159, 38, 187, 135, 131, 132, 58, 124, 195, 49, 60, 106, 192, 159, 186, 135, 131, 132, 58, 124, 195, 49, 60, 106, 192, 159, 186, 170, 124, 79, 187, 18, 166, 5, 60, 100, 82, 100, 186, 170, 124, 79, 187, 18, 166, 5, 60, 100, 82, 100, 186, 170, 124, 79, 187, 18, 166, 5, 60, 100, 82, 100, 186, 41, 78, 36, 187, 168, 33, 5, 60, 36, 18, 89, 187, 41, 78, 36, 187, 168, 33, 5, 60, 36, 18, 89, 187, 166, 249, 21, 58, 168, 208, 241, 59, 166, 216, 41, 187, 72, 192, 133, 57, 201, 249, 238, 59, 88, 8, 105, 186, 72, 192, 133, 57, 201, 249, 238, 59, 88, 8, 105, 186, 178, 182, 173, 186, 184, 67, 1, 59, 147, 61, 30, 186, 178, 182, 173, 186, 184, 67, 1, 59, 147, 61, 30, 186, 178, 182, 173, 186, 184, 67, 1, 59, 147, 61, 30, 186, 5, 235, 172, 186, 205, 79, 1, 59, 61, 236, 249, 186, 5, 235, 172, 186, 205, 79, 1, 59, 61, 236, 249, 186, 35, 112, 57, 58, 208, 32, 17, 59, 59, 88, 231, 186, 35, 112, 57, 58, 208, 32, 17, 59, 59, 88, 231, 186, 35, 112, 57, 58, 208, 32, 17, 59, 59, 88, 231, 186, 81, 96, 71, 58, 46, 139, 17, 59, 233, 126, 108, 186, 81, 96, 71, 58, 46, 139, 17, 59, 233, 126, 108, 186, 81, 96, 71, 58, 46, 139, 17, 59, 233, 126, 108, 186, 220, 62, 43, 58, 79, 74, 214, 60, 254, 20, 135, 187, 220, 62, 43, 58, 79, 74, 214, 60, 254, 20, 135, 187, 153, 184, 89, 186, 211, 122, 25, 61, 188, 252, 120, 187, 153, 184, 89, 186, 211, 122, 25, 61, 188, 252, 120, 187, 37, 239, 16, 58, 9, 245, 28, 61, 9, 164, 89, 186, 37, 239, 16, 58, 9, 245, 28, 61, 9, 164, 89, 186, 37, 239, 16, 58, 9, 245, 28, 61, 9, 164, 89, 186, 229, 250, 66, 58, 91, 177, 229, 60, 70, 82, 94, 187, 229, 250, 66, 58, 91, 177, 229, 60, 70, 82, 94, 187, 212, 77, 53, 58, 236, 109, 0, 61, 181, 143, 139, 187, 212, 77, 53, 58, 236, 109, 0, 61, 181, 143, 139, 187, 145, 243, 19, 58, 156, 203, 5, 61, 69, 246, 150, 187, 145, 243, 19, 58, 156, 203, 5, 61, 69, 246, 150, 187, 145, 243, 19, 58, 156, 203, 5, 61, 69, 246, 150, 187, 215, 102, 95, 58, 23, 179, 169, 60, 147, 48, 142, 187, 215, 102, 95, 58, 23, 179, 169, 60, 147, 48, 142, 187, 41, 106, 61, 57, 215, 111, 194, 60, 122, 43, 135, 187, 41, 106, 61, 57, 215, 111, 194, 60, 122, 43, 135, 187, 30, 119, 86, 185, 172, 159, 76, 60, 216, 122, 82, 187, 30, 119, 86, 185, 172, 159, 76, 60, 216, 122, 82, 187, 167, 151, 53, 185, 2, 237, 76, 60, 37, 43, 205, 185, 229, 225, 41, 58, 151, 40, 147, 60, 221, 128, 130, 187, 229, 225, 41, 58, 151, 40, 147, 60, 221, 128, 130, 187, 89, 169, 35, 56, 30, 114, 115, 60, 254, 202, 80, 187, 89, 169, 35, 56, 30, 114, 115, 60, 254, 202, 80, 187, 158, 54, 50, 58, 109, 104, 143, 60, 238, 249, 149, 185, 125, 111, 170, 56, 60, 201, 111, 60, 230, 9, 4, 186, 114, 149, 60, 186, 237, 158, 56, 60, 112, 239, 73, 187, 114, 149, 60, 186, 237, 158, 56, 60, 112, 239, 73, 187, 161, 132, 58, 186, 82, 171, 55, 60, 195, 162, 28, 186, 35, 30, 100, 186, 156, 57, 1, 60, 213, 229, 87, 187, 35, 30, 100, 186, 156, 57, 1, 60, 213, 229, 87, 187, 179, 250, 184, 186, 86, 3, 1, 60, 122, 129, 221, 185, 234, 52, 160, 185, 38, 57, 9, 59, 121, 136, 8, 187, 234, 52, 160, 185, 38, 57, 9, 59, 121, 136, 8, 187, 100, 76, 143, 185, 145, 121, 9, 59, 40, 242, 0, 186, 66, 22, 220, 186, 56, 167, 11, 61, 162, 43, 168, 187, 66, 22, 220, 186, 56, 167, 11, 61, 162, 43, 168, 187, 89, 247, 23, 187, 141, 39, 19, 61, 181, 218, 181, 187, 89, 247, 23, 187, 141, 39, 19, 61, 181, 218, 181, 187, 89, 247, 23, 187, 141, 39, 19, 61, 181, 218, 181, 187, 89, 247, 23, 187, 141, 39, 19, 61, 181, 218, 181, 187, 226, 252, 64, 186, 225, 195, 24, 61, 246, 54, 185, 187, 226, 252, 64, 186, 225, 195, 24, 61, 246, 54, 185, 187, 226, 252, 64, 186, 225, 195, 24, 61, 246, 54, 185, 187, 234, 147, 212, 58, 45, 223, 20, 61, 75, 158, 176, 187, 234, 147, 212, 58, 45, 223, 20, 61, 75, 158, 176, 187, 193, 15, 20, 59, 25, 158, 12, 61, 112, 178, 164, 187, 193, 15, 20, 59, 25, 158, 12, 61, 112, 178, 164, 187, 195, 135, 31, 58, 172, 146, 8, 61, 44, 71, 157, 187, 195, 135, 31, 58, 172, 146, 8, 61, 44, 71, 157, 187, 175, 148, 31, 59, 146, 226, 210, 60, 101, 167, 98, 188, 175, 148, 31, 59, 146, 226, 210, 60, 101, 167, 98, 188, 175, 148, 31, 59, 146, 226, 210, 60, 101, 167, 98, 188, 236, 56, 81, 59, 121, 175, 221, 60, 219, 174, 106, 188, 236, 56, 81, 59, 121, 175, 221, 60, 219, 174, 106, 188, 236, 56, 81, 59, 121, 175, 221, 60, 219, 174, 106, 188, 156, 56, 107, 59, 201, 13, 222, 60, 134, 20, 105, 188, 156, 56, 107, 59, 201, 13, 222, 60, 134, 20, 105, 188, 73, 97, 127, 59, 7, 184, 222, 60, 4, 65, 94, 188, 73, 97, 127, 59, 7, 184, 222, 60, 4, 65, 94, 188, 254, 255, 135, 59, 38, 116, 213, 60, 210, 33, 76, 188, 254, 255, 135, 59, 38, 116, 213, 60, 210, 33, 76, 188, 254, 255, 135, 59, 38, 116, 213, 60, 210, 33, 76, 188, 1, 218, 82, 59, 212, 243, 208, 60, 232, 12, 87, 188, 1, 218, 82, 59, 212, 243, 208, 60, 232, 12, 87, 188, 139, 240, 129, 185, 134, 113, 252, 60, 205, 203, 30, 188, 139, 240, 129, 185, 134, 113, 252, 60, 205, 203, 30, 188, 47, 130, 12, 56, 136, 110, 0, 61, 127, 180, 37, 188, 47, 130, 12, 56, 136, 110, 0, 61, 127, 180, 37, 188, 47, 130, 12, 56, 136, 110, 0, 61, 127, 180, 37, 188, 47, 130, 12, 56, 136, 110, 0, 61, 127, 180, 37, 188, 92, 146, 218, 58, 14, 40, 0, 61, 87, 91, 15, 188, 92, 146, 218, 58, 14, 40, 0, 61, 87, 91, 15, 188, 92, 146, 218, 58, 14, 40, 0, 61, 87, 91, 15, 188, 96, 40, 76, 58, 49, 25, 251, 60, 26, 194, 15, 188, 96, 40, 76, 58, 49, 25, 251, 60, 26, 194, 15, 188, 142, 82, 133, 58, 149, 28, 4, 61, 22, 213, 39, 188, 142, 82, 133, 58, 149, 28, 4, 61, 22, 213, 39, 188, 142, 82, 133, 58, 149, 28, 4, 61, 22, 213, 39, 188, 181, 49, 234, 58, 13, 112, 3, 61, 208, 100, 27, 188, 181, 49, 234, 58, 13, 112, 3, 61, 208, 100, 27, 188, 74, 18, 191, 57, 77, 12, 240, 60, 167, 46, 47, 188, 74, 18, 191, 57, 77, 12, 240, 60, 167, 46, 47, 188, 39, 198, 38, 59, 154, 159, 244, 60, 195, 4, 27, 188, 39, 198, 38, 59, 154, 159, 244, 60, 195, 4, 27, 188, 39, 198, 38, 59, 154, 159, 244, 60, 195, 4, 27, 188, 13, 113, 86, 58, 106, 185, 251, 60, 117, 88, 63, 188, 13, 113, 86, 58, 106, 185, 251, 60, 117, 88, 63, 188, 54, 192, 179, 58, 173, 21, 238, 60, 242, 70, 31, 188, 54, 192, 179, 58, 173, 21, 238, 60, 242, 70, 31, 188, 87, 169, 226, 58, 6, 44, 255, 60, 205, 124, 60, 188, 87, 169, 226, 58, 6, 44, 255, 60, 205, 124, 60, 188, 87, 169, 226, 58, 6, 44, 255, 60, 205, 124, 60, 188, 45, 69, 40, 59, 159, 33, 254, 60, 208, 219, 44, 188, 45, 69, 40, 59, 159, 33, 254, 60, 208, 219, 44, 188, 143, 40, 2, 187, 46, 82, 12, 61, 199, 151, 206, 187, 143, 40, 2, 187, 46, 82, 12, 61, 199, 151, 206, 187, 159, 89, 39, 58, 215, 20, 9, 61, 172, 51, 184, 187, 159, 89, 39, 58, 215, 20, 9, 61, 172, 51, 184, 187, 159, 89, 39, 58, 215, 20, 9, 61, 172, 51, 184, 187, 220, 93, 226, 185, 129, 152, 19, 61, 176, 207, 233, 187, 220, 93, 226, 185, 129, 152, 19, 61, 176, 207, 233, 187, 67, 222, 110, 58, 61, 224, 16, 61, 25, 111, 219, 187, 67, 222, 110, 58, 61, 224, 16, 61, 25, 111, 219, 187, 112, 124, 84, 186, 214, 43, 9, 61, 217, 226, 189, 187, 233, 214, 190, 58, 99, 232, 12, 61, 186, 231, 198, 187, 233, 214, 190, 58, 99, 232, 12, 61, 186, 231, 198, 187, 110, 115, 132, 185, 226, 62, 29, 61, 105, 148, 164, 186, 110, 115, 132, 185, 226, 62, 29, 61, 105, 148, 164, 186, 110, 115, 132, 185, 226, 62, 29, 61, 105, 148, 164, 186, 179, 130, 157, 186, 7, 241, 29, 61, 155, 96, 90, 186, 179, 130, 157, 186, 7, 241, 29, 61, 155, 96, 90, 186, 133, 187, 18, 186, 157, 235, 32, 61, 4, 73, 153, 186, 186, 1, 151, 186, 42, 202, 32, 61, 229, 179, 94, 186, 235, 50, 194, 186, 230, 122, 153, 58, 12, 149, 8, 186, 235, 50, 194, 186, 230, 122, 153, 58, 12, 149, 8, 186, 88, 223, 192, 186, 180, 142, 153, 58, 251, 28, 2, 187, 88, 223, 192, 186, 180, 142, 153, 58, 251, 28, 2, 187, 82, 134, 1, 59, 5, 215, 178, 58, 60, 88, 231, 186, 82, 134, 1, 59, 5, 215, 178, 58, 60, 88, 231, 186, 116, 85, 7, 59, 208, 130, 179, 58, 235, 126, 108, 186, 116, 85, 7, 59, 208, 130, 179, 58, 235, 126, 108, 186, 18, 204, 57, 57, 241, 138, 166, 58, 191, 29, 15, 187, 43, 43, 114, 57, 244, 242, 166, 58, 8, 83, 207, 185, 201, 202, 237, 186, 234, 217, 11, 58, 14, 149, 8, 186, 201, 202, 237, 186, 234, 217, 11, 58, 14, 149, 8, 186, 201, 202, 237, 186, 234, 217, 11, 58, 14, 149, 8, 186, 216, 217, 235, 186, 201, 246, 11, 58, 251, 28, 2, 187, 216, 217, 235, 186, 201, 246, 11, 58, 251, 28, 2, 187, 216, 217, 235, 186, 201, 246, 11, 58, 251, 28, 2, 187, 248, 161, 82, 59, 36, 137, 48, 58, 176, 9, 246, 186, 248, 161, 82, 59, 36, 137, 48, 58, 176, 9, 246, 186, 37, 34, 91, 59, 197, 130, 49, 58, 238, 171, 44, 186, 37, 34, 91, 59, 197, 130, 49, 58, 238, 171, 44, 186, 243, 153, 1, 58, 222, 42, 32, 58, 28, 53, 17, 187, 103, 57, 22, 58, 131, 194, 32, 58, 12, 83, 207, 185, 73, 79, 236, 186, 135, 206, 11, 57, 230, 56, 30, 186, 73, 79, 236, 186, 135, 206, 11, 57, 230, 56, 30, 186, 73, 79, 236, 186, 135, 206, 11, 57, 230, 56, 30, 186, 174, 94, 234, 186, 83, 63, 12, 57, 230, 233, 249, 186, 174, 94, 234, 186, 83, 63, 12, 57, 230, 233, 249, 186, 174, 94, 234, 186, 83, 63, 12, 57, 230, 233, 249, 186, 243, 144, 4, 58, 86, 18, 93, 57, 103, 56, 14, 187, 104, 48, 25, 58, 63, 110, 95, 57, 207, 236, 0, 186, 72, 39, 121, 59, 242, 52, 132, 55, 218, 79, 231, 186, 72, 39, 121, 59, 242, 52, 132, 55, 218, 79, 231, 186, 117, 103, 117, 59, 172, 6, 211, 57, 87, 189, 236, 186, 117, 103, 117, 59, 172, 6, 211, 57, 87, 189, 236, 186, 67, 156, 115, 59, 117, 142, 125, 57, 94, 92, 236, 186, 110, 223, 126, 59, 77, 228, 106, 57, 55, 233, 232, 186, 110, 223, 126, 59, 77, 228, 106, 57, 55, 233, 232, 186, 110, 223, 126, 59, 77, 228, 106, 57, 55, 233, 232, 186, 26, 224, 126, 59, 66, 3, 209, 57, 145, 38, 86, 186, 26, 224, 126, 59, 66, 3, 209, 57, 145, 38, 86, 186, 186, 211, 128, 59, 196, 126, 163, 55, 123, 109, 108, 186, 186, 211, 128, 59, 196, 126, 163, 55, 123, 109, 108, 186, 69, 28, 124, 59, 107, 174, 128, 57, 161, 112, 98, 186, 32, 212, 131, 59, 154, 121, 108, 57, 130, 236, 101, 186, 32, 212, 131, 59, 154, 121, 108, 57, 130, 236, 101, 186, 32, 212, 131, 59, 154, 121, 108, 57, 130, 236, 101, 186, 60, 27, 201, 186, 116, 208, 205, 184, 31, 40, 30, 186, 60, 27, 201, 186, 116, 208, 205, 184, 31, 40, 30, 186, 56, 152, 176, 186, 193, 114, 55, 185, 193, 216, 53, 186, 15, 235, 174, 186, 219, 36, 55, 185, 214, 105, 238, 186, 74, 41, 199, 186, 153, 249, 204, 184, 131, 225, 249, 186, 74, 41, 199, 186, 153, 249, 204, 184, 131, 225, 249, 186, 130, 5, 102, 59, 29, 232, 53, 185, 38, 212, 219, 186, 183, 27, 113, 59, 133, 244, 201, 184, 213, 76, 231, 186, 183, 27, 113, 59, 133, 244, 201, 184, 213, 76, 231, 186, 183, 27, 113, 59, 133, 244, 201, 184, 213, 76, 231, 186, 9, 218, 108, 59, 39, 243, 50, 185, 51, 245, 128, 186, 98, 155, 121, 59, 137, 55, 194, 184, 29, 104, 108, 186, 98, 155, 121, 59, 137, 55, 194, 184, 29, 104, 108, 186, 98, 155, 121, 59, 137, 55, 194, 184, 29, 104, 108, 186, 100, 0, 7, 58, 57, 169, 163, 184, 207, 183, 9, 187, 100, 0, 7, 58, 57, 169, 163, 184, 207, 183, 9, 187, 146, 213, 223, 57, 138, 47, 36, 185, 106, 173, 1, 187, 37, 32, 34, 58, 217, 198, 35, 185, 253, 133, 1, 187, 38, 155, 27, 58, 33, 111, 154, 184, 8, 220, 0, 186, 38, 155, 27, 58, 33, 111, 154, 184, 8, 220, 0, 186, 231, 246, 51, 58, 76, 163, 33, 185, 55, 57, 29, 186, 106, 224, 1, 58, 146, 49, 34, 185, 28, 98, 27, 186, 49, 216, 34, 59, 18, 109, 206, 60, 145, 92, 106, 188, 49, 216, 34, 59, 18, 109, 206, 60, 145, 92, 106, 188, 49, 216, 34, 59, 18, 109, 206, 60, 145, 92, 106, 188, 165, 184, 100, 59, 62, 194, 220, 60, 73, 4, 117, 188, 165, 184, 100, 59, 62, 194, 220, 60, 73, 4, 117, 188, 165, 184, 100, 59, 62, 194, 220, 60, 73, 4, 117, 188, 151, 156, 131, 59, 108, 63, 221, 60, 189, 227, 114, 188, 151, 156, 131, 59, 108, 63, 221, 60, 189, 227, 114, 188, 231, 252, 144, 59, 94, 33, 222, 60, 193, 133, 100, 188, 1, 4, 156, 59, 188, 213, 209, 60, 69, 121, 76, 188, 1, 4, 156, 59, 188, 213, 209, 60, 69, 121, 76, 188, 1, 4, 156, 59, 188, 213, 209, 60, 69, 121, 76, 188, 76, 226, 102, 59, 137, 220, 203, 60, 140, 246, 90, 188, 76, 226, 102, 59, 137, 220, 203, 60, 140, 246, 90, 188, 51, 216, 84, 59, 121, 249, 203, 60, 201, 196, 114, 188, 51, 216, 84, 59, 121, 249, 203, 60, 201, 196, 114, 188, 108, 175, 133, 59, 114, 214, 215, 60, 127, 150, 123, 188, 194, 246, 147, 59, 11, 62, 216, 60, 198, 211, 121, 188, 194, 246, 147, 59, 11, 62, 216, 60, 198, 211, 121, 188, 26, 9, 159, 59, 11, 249, 216, 60, 141, 239, 109, 188, 191, 41, 168, 59, 193, 203, 206, 60, 218, 7, 90, 188, 191, 41, 168, 59, 193, 203, 206, 60, 218, 7, 90, 188, 153, 148, 134, 59, 15, 218, 201, 60, 255, 5, 102, 188, 198, 22, 118, 59, 219, 151, 202, 60, 186, 241, 119, 188, 198, 22, 118, 59, 219, 151, 202, 60, 186, 241, 119, 188, 4, 11, 146, 59, 203, 153, 212, 60, 81, 98, 127, 188, 150, 22, 158, 59, 47, 241, 212, 60, 26, 230, 125, 188, 150, 22, 158, 59, 47, 241, 212, 60, 26, 230, 125, 188, 150, 22, 158, 59, 47, 241, 212, 60, 26, 230, 125, 188, 152, 109, 167, 59, 244, 142, 213, 60, 4, 222, 115, 188, 152, 109, 167, 59, 244, 142, 213, 60, 4, 222, 115, 188, 170, 32, 175, 59, 41, 249, 204, 60, 103, 19, 99, 188, 170, 32, 175, 59, 41, 249, 204, 60, 103, 19, 99, 188, 170, 32, 175, 59, 41, 249, 204, 60, 103, 19, 99, 188, 74, 204, 146, 59, 111, 205, 200, 60, 76, 49, 109, 188, 252, 93, 138, 59, 52, 186, 202, 60, 81, 233, 122, 188, 252, 93, 138, 59, 52, 186, 202, 60, 81, 233, 122, 188, 252, 93, 138, 59, 52, 186, 202, 60, 81, 233, 122, 188, 145, 3, 155, 59, 146, 248, 209, 60, 243, 37, 128, 188, 145, 3, 155, 59, 146, 248, 209, 60, 243, 37, 128, 188, 113, 187, 163, 59, 215, 55, 210, 60, 170, 56, 127, 188, 113, 187, 163, 59, 215, 55, 210, 60, 170, 56, 127, 188, 24, 126, 170, 59, 7, 170, 210, 60, 224, 245, 119, 188, 212, 16, 176, 59, 65, 115, 204, 60, 118, 206, 107, 188, 212, 16, 176, 59, 65, 115, 204, 60, 118, 206, 107, 188, 104, 143, 155, 59, 106, 110, 201, 60, 27, 33, 115, 188, 104, 143, 155, 59, 106, 110, 201, 60, 27, 33, 115, 188, 198, 176, 146, 59, 101, 89, 206, 60, 155, 154, 125, 188, 198, 176, 146, 59, 101, 89, 206, 60, 155, 154, 125, 188, 129, 95, 159, 59, 55, 24, 210, 60, 72, 194, 127, 188, 129, 95, 159, 59, 55, 24, 210, 60, 72, 194, 127, 188, 117, 71, 173, 59, 165, 142, 207, 60, 44, 226, 113, 188, 189, 246, 146, 59, 82, 20, 202, 60, 54, 5, 119, 188, 189, 246, 146, 59, 82, 20, 202, 60, 54, 5, 119, 188, 185, 28, 167, 59, 237, 112, 210, 60, 76, 151, 123, 188, 30, 208, 165, 59, 213, 240, 202, 60, 195, 119, 111, 188, 30, 208, 165, 59, 213, 240, 202, 60, 195, 119, 111, 188, 118, 165, 159, 59, 29, 211, 205, 60, 227, 44, 121, 188, 118, 118, 166, 59, 222, 176, 206, 60, 135, 135, 117, 188, 31, 43, 153, 59, 69, 22, 206, 60, 191, 99, 123, 188, 132, 83, 213, 186, 210, 175, 37, 61, 150, 36, 93, 186, 132, 83, 213, 186, 210, 175, 37, 61, 150, 36, 93, 186, 72, 0, 212, 186, 118, 59, 52, 61, 50, 207, 86, 186, 34, 234, 17, 59, 9, 184, 33, 61, 115, 243, 35, 186, 244, 7, 243, 58, 143, 41, 53, 61, 49, 207, 86, 186, 244, 7, 243, 58, 143, 41, 53, 61, 49, 207, 86, 186, 103, 251, 41, 186, 173, 254, 53, 61, 54, 68, 116, 186, 39, 136, 17, 58, 52, 169, 54, 61, 253, 84, 116, 186, 39, 136, 17, 58, 52, 169, 54, 61, 253, 84, 116, 186, 218, 246, 7, 187, 228, 34, 43, 61, 200, 198, 100, 186, 114, 207, 8, 187, 96, 25, 48, 61, 34, 204, 100, 186, 114, 207, 8, 187, 96, 25, 48, 61, 34, 204, 100, 186, 85, 30, 19, 59, 28, 187, 46, 61, 213, 9, 99, 186, 220, 219, 8, 59, 107, 246, 43, 61, 4, 38, 82, 186, 122, 13, 40, 59, 107, 183, 40, 61, 38, 69, 45, 186, 183, 191, 171, 186, 6, 1, 36, 61, 234, 240, 26, 186, 183, 191, 171, 186, 6, 1, 36, 61, 234, 240, 26, 186, 162, 74, 3, 59, 51, 49, 32, 61, 216, 191, 5, 186, 162, 74, 3, 59, 51, 49, 32, 61, 216, 191, 5, 186, 90, 7, 180, 186, 92, 82, 216, 60, 1, 221, 2, 187, 157, 90, 133, 58, 174, 2, 24, 61, 140, 7, 200, 186, 157, 90, 133, 58, 174, 2, 24, 61, 140, 7, 200, 186, 115, 105, 25, 187, 138, 90, 23, 61, 15, 231, 235, 186, 198, 92, 70, 59, 11, 33, 200, 60, 238, 33, 207, 186, 62, 58, 191, 186, 52, 48, 30, 61, 129, 95, 218, 185, 62, 58, 191, 186, 52, 48, 30, 61, 129, 95, 218, 185, 177, 253, 199, 186, 9, 85, 234, 60, 80, 152, 205, 186, 177, 253, 199, 186, 9, 85, 234, 60, 80, 152, 205, 186, 200, 151, 18, 187, 229, 108, 1, 61, 59, 179, 11, 187, 36, 66, 39, 187, 140, 242, 13, 61, 156, 221, 8, 187, 36, 66, 39, 187, 140, 242, 13, 61, 156, 221, 8, 187, 12, 56, 71, 59, 9, 18, 221, 60, 215, 19, 175, 186, 42, 245, 114, 59, 57, 29, 0, 61, 58, 135, 207, 186, 130, 127, 62, 59, 232, 103, 12, 61, 99, 128, 218, 186, 130, 127, 62, 59, 232, 103, 12, 61, 99, 128, 218, 186, 165, 193, 200, 186, 244, 180, 169, 60, 49, 225, 9, 187, 165, 193, 200, 186, 244, 180, 169, 60, 49, 225, 9, 187, 99, 120, 75, 59, 93, 122, 164, 60, 74, 42, 221, 186, 90, 55, 78, 59, 47, 229, 180, 60, 242, 33, 207, 186, 134, 123, 31, 187, 2, 8, 192, 60, 4, 221, 2, 187, 134, 123, 31, 187, 2, 8, 192, 60, 4, 221, 2, 187, 209, 182, 245, 186, 189, 221, 80, 60, 126, 38, 230, 186, 225, 152, 192, 58, 44, 245, 73, 60, 32, 246, 243, 186, 19, 113, 231, 186, 103, 186, 147, 60, 54, 167, 12, 187, 19, 113, 231, 186, 103, 186, 147, 60, 54, 167, 12, 187, 207, 80, 179, 186, 78, 58, 122, 60, 242, 122, 242, 186, 207, 80, 179, 186, 78, 58, 122, 60, 242, 122, 242, 186, 189, 16, 60, 59, 36, 197, 145, 60, 230, 119, 12, 187, 12, 166, 229, 58, 10, 254, 107, 60, 117, 251, 242, 186, 41, 207, 254, 186, 218, 39, 58, 60, 124, 65, 237, 186, 240, 44, 131, 58, 182, 87, 50, 60, 190, 127, 246, 186, 105, 229, 57, 187, 216, 99, 5, 60, 95, 19, 9, 187, 105, 229, 57, 187, 216, 99, 5, 60, 95, 19, 9, 187, 202, 217, 216, 57, 67, 101, 240, 59, 189, 26, 228, 186, 177, 80, 173, 186, 194, 73, 1, 59, 132, 133, 164, 186, 177, 80, 173, 186, 194, 73, 1, 59, 132, 133, 164, 186, 229, 103, 64, 58, 255, 85, 17, 59, 215, 203, 174, 186, 229, 103, 64, 58, 255, 85, 17, 59, 215, 203, 174, 186, 240, 161, 97, 58, 72, 216, 28, 61, 154, 163, 217, 185, 26, 178, 178, 186, 75, 239, 32, 61, 201, 178, 222, 185, 31, 156, 75, 58, 130, 47, 32, 61, 225, 14, 15, 186, 31, 156, 75, 58, 130, 47, 32, 61, 225, 14, 15, 186, 33, 137, 193, 186, 249, 132, 153, 58, 105, 66, 164, 186, 227, 109, 4, 59, 235, 44, 179, 58, 217, 203, 174, 186, 124, 210, 236, 186, 175, 232, 11, 58, 106, 66, 164, 186, 124, 210, 236, 186, 175, 232, 11, 58, 106, 66, 164, 186, 249, 225, 86, 59, 245, 5, 49, 58, 255, 47, 166, 186, 252, 86, 235, 186, 237, 6, 12, 57, 45, 131, 164, 186, 252, 86, 235, 186, 237, 6, 12, 57, 45, 131, 164, 186, 73, 103, 125, 59, 152, 228, 147, 55, 118, 195, 174, 186, 235, 161, 129, 59, 156, 173, 107, 57, 189, 239, 173, 186, 235, 161, 129, 59, 156, 173, 107, 57, 189, 239, 173, 186, 199, 35, 122, 59, 246, 4, 210, 57, 80, 232, 171, 186, 121, 193, 175, 186, 119, 74, 55, 185, 27, 171, 164, 186, 66, 34, 200, 186, 6, 101, 205, 184, 201, 122, 164, 186, 197, 111, 105, 59, 162, 109, 52, 185, 129, 100, 174, 186, 140, 91, 117, 59, 88, 19, 198, 184, 114, 192, 174, 186, 140, 91, 117, 59, 88, 19, 198, 184, 114, 192, 174, 186, 221, 11, 43, 58, 19, 181, 34, 185, 31, 212, 168, 186, 135, 202, 241, 57, 142, 48, 35, 185, 241, 133, 168, 186, 182, 92, 203, 186, 255, 138, 35, 61, 107, 196, 228, 49, 63, 16, 238, 186, 39, 234, 52, 61, 128, 19, 253, 49, 63, 16, 238, 186, 39, 234, 52, 61, 128, 19, 253, 49, 63, 16, 238, 186, 39, 234, 52, 61, 128, 19, 253, 49, 17, 42, 35, 59, 230, 22, 32, 61, 31, 156, 225, 49, 17, 42, 35, 59, 230, 22, 32, 61, 31, 156, 225, 49, 17, 42, 35, 59, 230, 22, 32, 61, 31, 156, 225, 49, 17, 42, 35, 59, 230, 22, 32, 61, 31, 156, 225, 49, 155, 221, 3, 59, 231, 22, 54, 61, 244, 42, 0, 50, 155, 221, 3, 59, 231, 22, 54, 61, 244, 42, 0, 50, 155, 221, 3, 59, 231, 22, 54, 61, 244, 42, 0, 50, 145, 46, 50, 186, 221, 106, 55, 61, 48, 137, 0, 50, 145, 46, 50, 186, 221, 106, 55, 61, 48, 137, 0, 50, 145, 46, 50, 186, 221, 106, 55, 61, 48, 137, 0, 50, 102, 146, 34, 187, 243, 20, 49, 61, 192, 104, 247, 49, 46, 215, 42, 187, 13, 179, 42, 61, 88, 98, 238, 49, 74, 76, 35, 59, 133, 203, 43, 61, 207, 16, 242, 49, 225, 49, 48, 59, 51, 166, 46, 61, 29, 41, 246, 49, 225, 49, 48, 59, 51, 166, 46, 61, 29, 41, 246, 49, 198, 149, 68, 59, 147, 209, 40, 61, 83, 24, 238, 49, 198, 149, 68, 59, 147, 209, 40, 61, 83, 24, 238, 49, 23, 13, 248, 186, 240, 166, 36, 61, 233, 46, 230, 49, 23, 13, 248, 186, 240, 166, 36, 61, 233, 46, 230, 49, 106, 93, 52, 59, 126, 166, 33, 61, 16, 234, 227, 49, 106, 93, 52, 59, 126, 166, 33, 61, 16, 234, 227, 49, 94, 84, 222, 58, 52, 60, 52, 61, 240, 207, 214, 58, 80, 153, 246, 185, 130, 3, 37, 61, 228, 7, 179, 58, 80, 153, 246, 185, 130, 3, 37, 61, 228, 7, 179, 58, 232, 200, 33, 186, 126, 146, 52, 61, 245, 68, 244, 58, 232, 200, 33, 186, 126, 146, 52, 61, 245, 68, 244, 58, 232, 200, 33, 186, 126, 146, 52, 61, 245, 68, 244, 58, 158, 17, 29, 58, 240, 44, 53, 61, 189, 85, 244, 58, 158, 17, 29, 58, 240, 44, 53, 61, 189, 85, 244, 58, 80, 25, 222, 186, 204, 29, 47, 61, 218, 204, 228, 58, 80, 25, 222, 186, 204, 29, 47, 61, 218, 204, 228, 58, 218, 214, 220, 58, 83, 33, 44, 61, 186, 38, 210, 58, 218, 214, 220, 58, 83, 33, 44, 61, 186, 38, 210, 58, 218, 214, 220, 58, 83, 33, 44, 61, 186, 38, 210, 58, 145, 21, 236, 58, 1, 208, 46, 61, 142, 10, 227, 58, 155, 153, 178, 186, 183, 184, 38, 61, 68, 37, 221, 58, 39, 145, 208, 57, 141, 164, 34, 61, 185, 7, 204, 58, 39, 145, 208, 57, 141, 164, 34, 61, 185, 7, 204, 58, 124, 23, 70, 58, 62, 30, 24, 61, 49, 8, 72, 59, 124, 23, 70, 58, 62, 30, 24, 61, 49, 8, 72, 59, 38, 169, 167, 58, 29, 231, 23, 61, 212, 151, 213, 49, 11, 237, 156, 186, 255, 85, 234, 60, 185, 152, 77, 59, 11, 237, 156, 186, 255, 85, 234, 60, 185, 152, 77, 59, 46, 170, 7, 187, 195, 165, 12, 61, 214, 221, 136, 59, 46, 170, 7, 187, 195, 165, 12, 61, 214, 221, 136, 59, 46, 170, 7, 187, 195, 165, 12, 61, 214, 221, 136, 59, 222, 141, 9, 59, 250, 79, 13, 61, 3, 129, 90, 59, 222, 141, 9, 59, 250, 79, 13, 61, 3, 129, 90, 59, 199, 35, 89, 59, 207, 128, 254, 60, 168, 135, 79, 59, 199, 35, 89, 59, 207, 128, 254, 60, 168, 135, 79, 59, 178, 29, 223, 186, 244, 192, 166, 60, 197, 5, 104, 49, 178, 29, 223, 186, 244, 192, 166, 60, 197, 5, 104, 49, 178, 29, 223, 186, 244, 192, 166, 60, 197, 5, 104, 49, 178, 29, 223, 186, 244, 192, 166, 60, 197, 5, 104, 49, 61, 200, 91, 59, 82, 251, 161, 60, 174, 143, 101, 49, 61, 200, 91, 59, 82, 251, 161, 60, 174, 143, 101, 49, 61, 200, 91, 59, 82, 251, 161, 60, 174, 143, 101, 49, 118, 108, 202, 58, 108, 236, 107, 60, 128, 114, 39, 59, 118, 108, 202, 58, 108, 236, 107, 60, 128, 114, 39, 59, 118, 108, 202, 58, 108, 236, 107, 60, 128, 114, 39, 59, 19, 73, 244, 186, 189, 214, 145, 60, 167, 129, 235, 57, 19, 73, 244, 186, 189, 214, 145, 60, 167, 129, 235, 57, 19, 73, 244, 186, 189, 214, 145, 60, 167, 129, 235, 57, 178, 182, 173, 186, 183, 67, 1, 59, 73, 62, 30, 58, 178, 182, 173, 186, 183, 67, 1, 59, 73, 62, 30, 58, 5, 235, 172, 186, 202, 79, 1, 59, 152, 236, 249, 58, 5, 235, 172, 186, 202, 79, 1, 59, 152, 236, 249, 58, 5, 235, 172, 186, 202, 79, 1, 59, 152, 236, 249, 58, 36, 112, 57, 58, 206, 32, 17, 59, 151, 88, 231, 58, 36, 112, 57, 58, 206, 32, 17, 59, 151, 88, 231, 58, 36, 112, 57, 58, 206, 32, 17, 59, 151, 88, 231, 58, 82, 96, 71, 58, 45, 139, 17, 59, 245, 126, 108, 58, 82, 96, 71, 58, 45, 139, 17, 59, 245, 126, 108, 58, 152, 184, 89, 186, 211, 122, 25, 61, 242, 252, 120, 59, 152, 184, 89, 186, 211, 122, 25, 61, 242, 252, 120, 59, 37, 239, 16, 58, 9, 245, 28, 61, 144, 165, 89, 58, 37, 239, 16, 58, 9, 245, 28, 61, 144, 165, 89, 58, 147, 243, 19, 58, 156, 203, 5, 61, 114, 246, 150, 59, 147, 243, 19, 58, 156, 203, 5, 61, 114, 246, 150, 59, 147, 243, 19, 58, 156, 203, 5, 61, 114, 246, 150, 59, 147, 243, 19, 58, 156, 203, 5, 61, 114, 246, 150, 59, 147, 243, 19, 58, 156, 203, 5, 61, 114, 246, 150, 59, 74, 75, 93, 58, 114, 61, 159, 60, 102, 153, 95, 49, 74, 75, 93, 58, 114, 61, 159, 60, 102, 153, 95, 49, 74, 75, 93, 58, 114, 61, 159, 60, 102, 153, 95, 49, 74, 75, 93, 58, 114, 61, 159, 60, 102, 153, 95, 49, 158, 54, 50, 58, 109, 104, 143, 60, 183, 250, 149, 57, 158, 54, 50, 58, 109, 104, 143, 60, 183, 250, 149, 57, 158, 54, 50, 58, 109, 104, 143, 60, 183, 250, 149, 57, 158, 54, 50, 58, 109, 104, 143, 60, 183, 250, 149, 57, 65, 22, 220, 186, 56, 167, 11, 61, 186, 43, 168, 59, 65, 22, 220, 186, 56, 167, 11, 61, 186, 43, 168, 59, 65, 22, 220, 186, 56, 167, 11, 61, 186, 43, 168, 59, 88, 247, 23, 187, 140, 39, 19, 61, 229, 218, 181, 59, 88, 247, 23, 187, 140, 39, 19, 61, 229, 218, 181, 59, 88, 247, 23, 187, 140, 39, 19, 61, 229, 218, 181, 59, 88, 247, 23, 187, 140, 39, 19, 61, 229, 218, 181, 59, 223, 252, 64, 186, 225, 195, 24, 61, 37, 55, 185, 59, 223, 252, 64, 186, 225, 195, 24, 61, 37, 55, 185, 59, 223, 252, 64, 186, 225, 195, 24, 61, 37, 55, 185, 59, 235, 147, 212, 58, 45, 223, 20, 61, 123, 158, 176, 59, 235, 147, 212, 58, 45, 223, 20, 61, 123, 158, 176, 59, 194, 15, 20, 59, 25, 158, 12, 61, 158, 178, 164, 59, 194, 15, 20, 59, 25, 158, 12, 61, 158, 178, 164, 59, 194, 15, 20, 59, 25, 158, 12, 61, 158, 178, 164, 59, 194, 15, 20, 59, 25, 158, 12, 61, 158, 178, 164, 59, 197, 135, 31, 58, 171, 146, 8, 61, 90, 71, 157, 59, 197, 135, 31, 58, 171, 146, 8, 61, 90, 71, 157, 59, 197, 135, 31, 58, 171, 146, 8, 61, 90, 71, 157, 59, 197, 135, 31, 58, 171, 146, 8, 61, 90, 71, 157, 59, 197, 135, 31, 58, 171, 146, 8, 61, 90, 71, 157, 59, 176, 148, 31, 59, 143, 226, 210, 60, 121, 167, 98, 60, 176, 148, 31, 59, 143, 226, 210, 60, 121, 167, 98, 60, 176, 148, 31, 59, 143, 226, 210, 60, 121, 167, 98, 60, 237, 56, 81, 59, 119, 175, 221, 60, 239, 174, 106, 60, 237, 56, 81, 59, 119, 175, 221, 60, 239, 174, 106, 60, 237, 56, 81, 59, 119, 175, 221, 60, 239, 174, 106, 60, 158, 56, 107, 59, 198, 13, 222, 60, 156, 20, 105, 60, 74, 97, 127, 59, 5, 184, 222, 60, 14, 65, 94, 60, 74, 97, 127, 59, 5, 184, 222, 60, 14, 65, 94, 60, 74, 97, 127, 59, 5, 184, 222, 60, 14, 65, 94, 60, 74, 97, 127, 59, 5, 184, 222, 60, 14, 65, 94, 60, 255, 255, 135, 59, 36, 116, 213, 60, 230, 33, 76, 60, 255, 255, 135, 59, 36, 116, 213, 60, 230, 33, 76, 60, 255, 255, 135, 59, 36, 116, 213, 60, 230, 33, 76, 60, 3, 218, 82, 59, 210, 243, 208, 60, 251, 12, 87, 60, 3, 218, 82, 59, 210, 243, 208, 60, 251, 12, 87, 60, 3, 218, 82, 59, 210, 243, 208, 60, 251, 12, 87, 60, 131, 240, 129, 185, 132, 113, 252, 60, 216, 203, 30, 60, 131, 240, 129, 185, 132, 113, 252, 60, 216, 203, 30, 60, 115, 130, 12, 56, 135, 110, 0, 61, 139, 180, 37, 60, 115, 130, 12, 56, 135, 110, 0, 61, 139, 180, 37, 60, 115, 130, 12, 56, 135, 110, 0, 61, 139, 180, 37, 60, 183, 39, 76, 58, 48, 25, 251, 60, 37, 194, 15, 60, 183, 39, 76, 58, 48, 25, 251, 60, 37, 194, 15, 60, 183, 39, 76, 58, 48, 25, 251, 60, 37, 194, 15, 60, 83, 18, 191, 57, 76, 12, 240, 60, 178, 46, 47, 60, 83, 18, 191, 57, 76, 12, 240, 60, 178, 46, 47, 60, 83, 18, 191, 57, 76, 12, 240, 60, 178, 46, 47, 60, 40, 198, 38, 59, 152, 159, 244, 60, 206, 4, 27, 60, 40, 198, 38, 59, 152, 159, 244, 60, 206, 4, 27, 60, 40, 198, 38, 59, 152, 159, 244, 60, 206, 4, 27, 60, 18, 113, 86, 58, 104, 185, 251, 60, 138, 88, 63, 60, 18, 113, 86, 58, 104, 185, 251, 60, 138, 88, 63, 60, 18, 113, 86, 58, 104, 185, 251, 60, 138, 88, 63, 60, 89, 169, 226, 58, 4, 44, 255, 60, 227, 124, 60, 60, 89, 169, 226, 58, 4, 44, 255, 60, 227, 124, 60, 60, 162, 89, 39, 58, 215, 20, 9, 61, 218, 51, 184, 59, 162, 89, 39, 58, 215, 20, 9, 61, 218, 51, 184, 59, 162, 89, 39, 58, 215, 20, 9, 61, 218, 51, 184, 59, 214, 93, 226, 185, 128, 152, 19, 61, 202, 207, 233, 59, 214, 93, 226, 185, 128, 152, 19, 61, 202, 207, 233, 59, 70, 222, 110, 58, 60, 224, 16, 61, 73, 111, 219, 59, 70, 222, 110, 58, 60, 224, 16, 61, 73, 111, 219, 59, 70, 222, 110, 58, 60, 224, 16, 61, 73, 111, 219, 59, 234, 214, 190, 58, 99, 232, 12, 61, 210, 231, 198, 59, 234, 214, 190, 58, 99, 232, 12, 61, 210, 231, 198, 59, 234, 214, 190, 58, 99, 232, 12, 61, 210, 231, 198, 59, 29, 242, 224, 186, 97, 111, 30, 61, 139, 132, 221, 49, 29, 242, 224, 186, 97, 111, 30, 61, 139, 132, 221, 49, 109, 115, 132, 185, 226, 62, 29, 61, 215, 148, 164, 58, 109, 115, 132, 185, 226, 62, 29, 61, 215, 148, 164, 58, 109, 115, 132, 185, 226, 62, 29, 61, 215, 148, 164, 58, 109, 115, 132, 185, 226, 62, 29, 61, 215, 148, 164, 58, 94, 42, 153, 58, 133, 187, 28, 61, 2, 86, 220, 49, 94, 42, 153, 58, 133, 187, 28, 61, 2, 86, 220, 49, 207, 98, 206, 186, 106, 20, 33, 61, 129, 75, 225, 49, 207, 98, 206, 186, 106, 20, 33, 61, 129, 75, 225, 49, 132, 187, 18, 186, 157, 235, 32, 61, 117, 73, 153, 58, 132, 187, 18, 186, 157, 235, 32, 61, 117, 73, 153, 58, 209, 64, 168, 58, 116, 179, 30, 61, 201, 38, 223, 49, 209, 64, 168, 58, 116, 179, 30, 61, 201, 38, 223, 49, 209, 64, 168, 58, 116, 179, 30, 61, 201, 38, 223, 49, 209, 64, 168, 58, 116, 179, 30, 61, 201, 38, 223, 49, 235, 50, 194, 186, 229, 122, 153, 58, 190, 149, 8, 58, 235, 50, 194, 186, 229, 122, 153, 58, 190, 149, 8, 58, 88, 223, 192, 186, 175, 142, 153, 58, 39, 29, 2, 59, 201, 202, 237, 186, 231, 217, 11, 58, 188, 149, 8, 58, 201, 202, 237, 186, 231, 217, 11, 58, 188, 149, 8, 58, 216, 217, 235, 186, 190, 246, 11, 58, 38, 29, 2, 59, 73, 79, 236, 186, 122, 206, 11, 57, 229, 56, 30, 58, 73, 79, 236, 186, 122, 206, 11, 57, 229, 56, 30, 58, 73, 79, 236, 186, 122, 206, 11, 57, 229, 56, 30, 58, 174, 94, 234, 186, 42, 63, 12, 57, 230, 233, 249, 58, 174, 94, 234, 186, 42, 63, 12, 57, 230, 233, 249, 58, 73, 39, 121, 59, 191, 51, 132, 55, 219, 79, 231, 58, 73, 39, 121, 59, 191, 51, 132, 55, 219, 79, 231, 58, 117, 103, 117, 59, 152, 6, 211, 57, 89, 189, 236, 58, 117, 103, 117, 59, 152, 6, 211, 57, 89, 189, 236, 58, 110, 223, 126, 59, 38, 228, 106, 57, 142, 233, 232, 58, 27, 224, 126, 59, 57, 3, 209, 57, 149, 38, 86, 58, 27, 224, 126, 59, 57, 3, 209, 57, 149, 38, 86, 58, 27, 224, 126, 59, 57, 3, 209, 57, 149, 38, 86, 58, 186, 211, 128, 59, 39, 126, 163, 55, 40, 110, 108, 58, 186, 211, 128, 59, 39, 126, 163, 55, 40, 110, 108, 58, 32, 212, 131, 59, 135, 121, 108, 57, 133, 236, 101, 58, 32, 212, 131, 59, 135, 121, 108, 57, 133, 236, 101, 58, 32, 212, 131, 59, 135, 121, 108, 57, 133, 236, 101, 58, 183, 27, 113, 59, 209, 244, 201, 184, 43, 77, 231, 58, 183, 27, 113, 59, 209, 244, 201, 184, 43, 77, 231, 58, 98, 155, 121, 59, 177, 55, 194, 184, 29, 104, 108, 58, 98, 155, 121, 59, 177, 55, 194, 184, 29, 104, 108, 58, 50, 216, 34, 59, 15, 109, 206, 60, 154, 92, 106, 60, 50, 216, 34, 59, 15, 109, 206, 60, 154, 92, 106, 60, 50, 216, 34, 59, 15, 109, 206, 60, 154, 92, 106, 60, 50, 216, 34, 59, 15, 109, 206, 60, 154, 92, 106, 60, 167, 184, 100, 59, 60, 194, 220, 60, 83, 4, 117, 60, 167, 184, 100, 59, 60, 194, 220, 60, 83, 4, 117, 60, 167, 184, 100, 59, 60, 194, 220, 60, 83, 4, 117, 60, 167, 184, 100, 59, 60, 194, 220, 60, 83, 4, 117, 60, 232, 252, 144, 59, 92, 33, 222, 60, 203, 133, 100, 60, 232, 252, 144, 59, 92, 33, 222, 60, 203, 133, 100, 60, 232, 252, 144, 59, 92, 33, 222, 60, 203, 133, 100, 60, 232, 252, 144, 59, 92, 33, 222, 60, 203, 133, 100, 60, 232, 252, 144, 59, 92, 33, 222, 60, 203, 133, 100, 60, 2, 4, 156, 59, 186, 213, 209, 60, 90, 121, 76, 60, 2, 4, 156, 59, 186, 213, 209, 60, 90, 121, 76, 60, 2, 4, 156, 59, 186, 213, 209, 60, 90, 121, 76, 60, 2, 4, 156, 59, 186, 213, 209, 60, 90, 121, 76, 60, 77, 226, 102, 59, 134, 220, 203, 60, 149, 246, 90, 60, 77, 226, 102, 59, 134, 220, 203, 60, 149, 246, 90, 60, 77, 226, 102, 59, 134, 220, 203, 60, 149, 246, 90, 60, 77, 226, 102, 59, 134, 220, 203, 60, 149, 246, 90, 60, 200, 22, 118, 59, 216, 151, 202, 60, 205, 241, 119, 60, 200, 22, 118, 59, 216, 151, 202, 60, 205, 241, 119, 60, 151, 22, 158, 59, 44, 241, 212, 60, 47, 230, 125, 60, 151, 22, 158, 59, 44, 241, 212, 60, 47, 230, 125, 60, 151, 22, 158, 59, 44, 241, 212, 60, 47, 230, 125, 60, 170, 32, 175, 59, 38, 249, 204, 60, 112, 19, 99, 60, 170, 32, 175, 59, 38, 249, 204, 60, 112, 19, 99, 60, 170, 32, 175, 59, 38, 249, 204, 60, 112, 19, 99, 60, 170, 32, 175, 59, 38, 249, 204, 60, 112, 19, 99, 60, 145, 3, 155, 59, 143, 248, 209, 60, 247, 37, 128, 60, 145, 3, 155, 59, 143, 248, 209, 60, 247, 37, 128, 60, 145, 3, 155, 59, 143, 248, 209, 60, 247, 37, 128, 60, 24, 126, 170, 59, 5, 170, 210, 60, 233, 245, 119, 60, 24, 126, 170, 59, 5, 170, 210, 60, 233, 245, 119, 60, 213, 16, 176, 59, 62, 115, 204, 60, 137, 206, 107, 60, 118, 71, 173, 59, 162, 142, 207, 60, 63, 226, 113, 60, 190, 246, 146, 59, 79, 20, 202, 60, 63, 5, 119, 60, 190, 246, 146, 59, 79, 20, 202, 60, 63, 5, 119, 60, 190, 246, 146, 59, 79, 20, 202, 60, 63, 5, 119, 60, 244, 7, 243, 58, 143, 41, 53, 61, 48, 208, 86, 58, 244, 7, 243, 58, 143, 41, 53, 61, 48, 208, 86, 58, 85, 30, 19, 59, 28, 187, 46, 61, 203, 10, 99, 58, 115, 105, 25, 187, 138, 90, 23, 61, 120, 231, 235, 58, 115, 105, 25, 187, 138, 90, 23, 61, 120, 231, 235, 58, 176, 80, 173, 186, 192, 73, 1, 59, 222, 133, 164, 58, 176, 80, 173, 186, 192, 73, 1, 59, 222, 133, 164, 58, 229, 103, 64, 58, 253, 85, 17, 59, 52, 204, 174, 58, 229, 103, 64, 58, 253, 85, 17, 59, 52, 204, 174, 58, 229, 103, 64, 58, 253, 85, 17, 59, 52, 204, 174, 58, 240, 161, 97, 58, 72, 216, 28, 61, 83, 165, 217, 57, 240, 161, 97, 58, 72, 216, 28, 61, 83, 165, 217, 57, 124, 210, 236, 186, 169, 232, 11, 58, 106, 66, 164, 58, 124, 210, 236, 186, 169, 232, 11, 58, 106, 66, 164, 58, 124, 210, 236, 186, 169, 232, 11, 58, 106, 66, 164, 58, 252, 86, 235, 186, 209, 6, 12, 57, 44, 131, 164, 58, 252, 86, 235, 186, 209, 6, 12, 57, 44, 131, 164, 58, 73, 103, 125, 59, 176, 227, 147, 55, 119, 195, 174, 58, 73, 103, 125, 59, 176, 227, 147, 55, 119, 195, 174, 58, 235, 161, 129, 59, 127, 173, 107, 57, 190, 239, 173, 58, 235, 161, 129, 59, 127, 173, 107, 57, 190, 239, 173, 58, 99, 34, 140, 186, 10, 119, 36, 61, 36, 241, 154, 186, 99, 34, 140, 186, 10, 119, 36, 61, 36, 241, 154, 186, 18, 214, 198, 58, 125, 75, 32, 61, 102, 192, 133, 186, 94, 84, 222, 58, 52, 60, 52, 61, 113, 207, 214, 186, 94, 84, 222, 58, 52, 60, 52, 61, 113, 207, 214, 186, 94, 84, 222, 58, 52, 60, 52, 61, 113, 207, 214, 186, 58, 109, 141, 57, 143, 171, 33, 61, 111, 15, 143, 186, 58, 109, 141, 57, 143, 171, 33, 61, 111, 15, 143, 186, 58, 109, 141, 57, 143, 171, 33, 61, 111, 15, 143, 186, 157, 17, 29, 58, 240, 44, 53, 61, 61, 85, 244, 186, 81, 25, 222, 186, 205, 29, 47, 61, 96, 204, 228, 186, 81, 25, 222, 186, 205, 29, 47, 61, 96, 204, 228, 186, 81, 25, 222, 186, 205, 29, 47, 61, 96, 204, 228, 186, 81, 25, 222, 186, 205, 29, 47, 61, 96, 204, 228, 186, 182, 237, 222, 58, 148, 201, 33, 61, 2, 244, 163, 186, 182, 237, 222, 58, 148, 201, 33, 61, 2, 244, 163, 186, 74, 160, 24, 187, 42, 196, 21, 61, 41, 231, 107, 187, 74, 160, 24, 187, 42, 196, 21, 61, 41, 231, 107, 187, 11, 237, 156, 186, 0, 86, 234, 60, 101, 152, 77, 187, 11, 237, 156, 186, 0, 86, 234, 60, 101, 152, 77, 187, 11, 237, 156, 186, 0, 86, 234, 60, 101, 152, 77, 187, 46, 170, 7, 187, 195, 165, 12, 61, 190, 221, 136, 187, 46, 170, 7, 187, 195, 165, 12, 61, 190, 221, 136, 187, 46, 170, 7, 187, 195, 165, 12, 61, 190, 221, 136, 187, 46, 170, 7, 187, 195, 165, 12, 61, 190, 221, 136, 187, 153, 101, 178, 186, 246, 168, 172, 60, 77, 225, 137, 187, 153, 101, 178, 186, 246, 168, 172, 60, 77, 225, 137, 187, 153, 101, 178, 186, 246, 168, 172, 60, 77, 225, 137, 187, 233, 249, 75, 59, 174, 142, 143, 60, 17, 176, 149, 186, 233, 249, 75, 59, 174, 142, 143, 60, 17, 176, 149, 186, 233, 249, 75, 59, 174, 142, 143, 60, 17, 176, 149, 186, 233, 249, 75, 59, 174, 142, 143, 60, 17, 176, 149, 186, 233, 249, 75, 59, 174, 142, 143, 60, 17, 176, 149, 186, 19, 73, 244, 186, 189, 214, 145, 60, 134, 127, 235, 185, 19, 73, 244, 186, 189, 214, 145, 60, 134, 127, 235, 185, 19, 73, 244, 186, 189, 214, 145, 60, 134, 127, 235, 185, 87, 239, 203, 186, 138, 147, 121, 60, 242, 242, 46, 186, 87, 239, 203, 186, 138, 147, 121, 60, 242, 242, 46, 186, 87, 239, 203, 186, 138, 147, 121, 60, 242, 242, 46, 186, 73, 178, 154, 186, 8, 225, 122, 60, 53, 190, 70, 187, 19, 153, 218, 186, 18, 158, 149, 60, 122, 222, 123, 187, 249, 142, 14, 187, 237, 98, 61, 60, 169, 117, 71, 186, 249, 142, 14, 187, 237, 98, 61, 60, 169, 117, 71, 186, 249, 142, 14, 187, 237, 98, 61, 60, 169, 117, 71, 186, 249, 142, 14, 187, 237, 98, 61, 60, 169, 117, 71, 186, 94, 128, 224, 186, 199, 236, 54, 60, 61, 100, 59, 187, 94, 128, 224, 186, 199, 236, 54, 60, 61, 100, 59, 187, 94, 128, 224, 186, 199, 236, 54, 60, 61, 100, 59, 187, 170, 124, 79, 187, 18, 166, 5, 60, 100, 82, 100, 186, 170, 124, 79, 187, 18, 166, 5, 60, 100, 82, 100, 186, 170, 124, 79, 187, 18, 166, 5, 60, 100, 82, 100, 186, 178, 182, 173, 186, 184, 67, 1, 59, 147, 61, 30, 186, 178, 182, 173, 186, 184, 67, 1, 59, 147, 61, 30, 186, 178, 182, 173, 186, 184, 67, 1, 59, 147, 61, 30, 186, 178, 182, 173, 186, 184, 67, 1, 59, 147, 61, 30, 186, 35, 112, 57, 58, 208, 32, 17, 59, 59, 88, 231, 186, 81, 96, 71, 58, 46, 139, 17, 59, 233, 126, 108, 186, 81, 96, 71, 58, 46, 139, 17, 59, 233, 126, 108, 186, 153, 184, 89, 186, 211, 122, 25, 61, 188, 252, 120, 187, 153, 184, 89, 186, 211, 122, 25, 61, 188, 252, 120, 187, 37, 239, 16, 58, 9, 245, 28, 61, 9, 164, 89, 186, 37, 239, 16, 58, 9, 245, 28, 61, 9, 164, 89, 186, 37, 239, 16, 58, 9, 245, 28, 61, 9, 164, 89, 186, 37, 239, 16, 58, 9, 245, 28, 61, 9, 164, 89, 186, 229, 250, 66, 58, 91, 177, 229, 60, 70, 82, 94, 187, 229, 250, 66, 58, 91, 177, 229, 60, 70, 82, 94, 187, 145, 243, 19, 58, 156, 203, 5, 61, 69, 246, 150, 187, 145, 243, 19, 58, 156, 203, 5, 61, 69, 246, 150, 187, 145, 243, 19, 58, 156, 203, 5, 61, 69, 246, 150, 187, 234, 52, 160, 185, 38, 57, 9, 59, 121, 136, 8, 187, 234, 52, 160, 185, 38, 57, 9, 59, 121, 136, 8, 187, 234, 52, 160, 185, 38, 57, 9, 59, 121, 136, 8, 187, 234, 52, 160, 185, 38, 57, 9, 59, 121, 136, 8, 187, 66, 22, 220, 186, 56, 167, 11, 61, 162, 43, 168, 187, 66, 22, 220, 186, 56, 167, 11, 61, 162, 43, 168, 187, 66, 22, 220, 186, 56, 167, 11, 61, 162, 43, 168, 187, 66, 22, 220, 186, 56, 167, 11, 61, 162, 43, 168, 187, 66, 22, 220, 186, 56, 167, 11, 61, 162, 43, 168, 187, 89, 247, 23, 187, 141, 39, 19, 61, 181, 218, 181, 187, 89, 247, 23, 187, 141, 39, 19, 61, 181, 218, 181, 187, 89, 247, 23, 187, 141, 39, 19, 61, 181, 218, 181, 187, 89, 247, 23, 187, 141, 39, 19, 61, 181, 218, 181, 187, 226, 252, 64, 186, 225, 195, 24, 61, 246, 54, 185, 187, 226, 252, 64, 186, 225, 195, 24, 61, 246, 54, 185, 187, 226, 252, 64, 186, 225, 195, 24, 61, 246, 54, 185, 187, 226, 252, 64, 186, 225, 195, 24, 61, 246, 54, 185, 187, 193, 15, 20, 59, 25, 158, 12, 61, 112, 178, 164, 187, 193, 15, 20, 59, 25, 158, 12, 61, 112, 178, 164, 187, 193, 15, 20, 59, 25, 158, 12, 61, 112, 178, 164, 187, 193, 15, 20, 59, 25, 158, 12, 61, 112, 178, 164, 187, 195, 135, 31, 58, 172, 146, 8, 61, 44, 71, 157, 187, 195, 135, 31, 58, 172, 146, 8, 61, 44, 71, 157, 187, 195, 135, 31, 58, 172, 146, 8, 61, 44, 71, 157, 187, 195, 135, 31, 58, 172, 146, 8, 61, 44, 71, 157, 187, 175, 148, 31, 59, 146, 226, 210, 60, 101, 167, 98, 188, 175, 148, 31, 59, 146, 226, 210, 60, 101, 167, 98, 188, 175, 148, 31, 59, 146, 226, 210, 60, 101, 167, 98, 188, 236, 56, 81, 59, 121, 175, 221, 60, 219, 174, 106, 188, 236, 56, 81, 59, 121, 175, 221, 60, 219, 174, 106, 188, 236, 56, 81, 59, 121, 175, 221, 60, 219, 174, 106, 188, 236, 56, 81, 59, 121, 175, 221, 60, 219, 174, 106, 188, 73, 97, 127, 59, 7, 184, 222, 60, 4, 65, 94, 188, 73, 97, 127, 59, 7, 184, 222, 60, 4, 65, 94, 188, 73, 97, 127, 59, 7, 184, 222, 60, 4, 65, 94, 188, 73, 97, 127, 59, 7, 184, 222, 60, 4, 65, 94, 188, 254, 255, 135, 59, 38, 116, 213, 60, 210, 33, 76, 188, 254, 255, 135, 59, 38, 116, 213, 60, 210, 33, 76, 188, 254, 255, 135, 59, 38, 116, 213, 60, 210, 33, 76, 188, 1, 218, 82, 59, 212, 243, 208, 60, 232, 12, 87, 188, 1, 218, 82, 59, 212, 243, 208, 60, 232, 12, 87, 188, 1, 218, 82, 59, 212, 243, 208, 60, 232, 12, 87, 188, 47, 130, 12, 56, 136, 110, 0, 61, 127, 180, 37, 188, 47, 130, 12, 56, 136, 110, 0, 61, 127, 180, 37, 188, 47, 130, 12, 56, 136, 110, 0, 61, 127, 180, 37, 188, 47, 130, 12, 56, 136, 110, 0, 61, 127, 180, 37, 188, 92, 146, 218, 58, 14, 40, 0, 61, 87, 91, 15, 188, 92, 146, 218, 58, 14, 40, 0, 61, 87, 91, 15, 188, 92, 146, 218, 58, 14, 40, 0, 61, 87, 91, 15, 188, 92, 146, 218, 58, 14, 40, 0, 61, 87, 91, 15, 188, 142, 82, 133, 58, 149, 28, 4, 61, 22, 213, 39, 188, 142, 82, 133, 58, 149, 28, 4, 61, 22, 213, 39, 188, 142, 82, 133, 58, 149, 28, 4, 61, 22, 213, 39, 188, 74, 18, 191, 57, 77, 12, 240, 60, 167, 46, 47, 188, 74, 18, 191, 57, 77, 12, 240, 60, 167, 46, 47, 188, 39, 198, 38, 59, 154, 159, 244, 60, 195, 4, 27, 188, 39, 198, 38, 59, 154, 159, 244, 60, 195, 4, 27, 188, 39, 198, 38, 59, 154, 159, 244, 60, 195, 4, 27, 188, 13, 113, 86, 58, 106, 185, 251, 60, 117, 88, 63, 188, 13, 113, 86, 58, 106, 185, 251, 60, 117, 88, 63, 188, 13, 113, 86, 58, 106, 185, 251, 60, 117, 88, 63, 188, 87, 169, 226, 58, 6, 44, 255, 60, 205, 124, 60, 188, 87, 169, 226, 58, 6, 44, 255, 60, 205, 124, 60, 188, 143, 40, 2, 187, 46, 82, 12, 61, 199, 151, 206, 187, 143, 40, 2, 187, 46, 82, 12, 61, 199, 151, 206, 187, 143, 40, 2, 187, 46, 82, 12, 61, 199, 151, 206, 187, 159, 89, 39, 58, 215, 20, 9, 61, 172, 51, 184, 187, 159, 89, 39, 58, 215, 20, 9, 61, 172, 51, 184, 187, 159, 89, 39, 58, 215, 20, 9, 61, 172, 51, 184, 187, 159, 89, 39, 58, 215, 20, 9, 61, 172, 51, 184, 187, 220, 93, 226, 185, 129, 152, 19, 61, 176, 207, 233, 187, 220, 93, 226, 185, 129, 152, 19, 61, 176, 207, 233, 187, 67, 222, 110, 58, 61, 224, 16, 61, 25, 111, 219, 187, 67, 222, 110, 58, 61, 224, 16, 61, 25, 111, 219, 187, 67, 222, 110, 58, 61, 224, 16, 61, 25, 111, 219, 187, 233, 214, 190, 58, 99, 232, 12, 61, 186, 231, 198, 187, 233, 214, 190, 58, 99, 232, 12, 61, 186, 231, 198, 187, 233, 214, 190, 58, 99, 232, 12, 61, 186, 231, 198, 187, 110, 115, 132, 185, 226, 62, 29, 61, 105, 148, 164, 186, 110, 115, 132, 185, 226, 62, 29, 61, 105, 148, 164, 186, 110, 115, 132, 185, 226, 62, 29, 61, 105, 148, 164, 186, 179, 130, 157, 186, 7, 241, 29, 61, 155, 96, 90, 186, 179, 130, 157, 186, 7, 241, 29, 61, 155, 96, 90, 186, 235, 50, 194, 186, 230, 122, 153, 58, 12, 149, 8, 186, 88, 223, 192, 186, 180, 142, 153, 58, 251, 28, 2, 187, 88, 223, 192, 186, 180, 142, 153, 58, 251, 28, 2, 187, 88, 223, 192, 186, 180, 142, 153, 58, 251, 28, 2, 187, 201, 202, 237, 186, 234, 217, 11, 58, 14, 149, 8, 186, 201, 202, 237, 186, 234, 217, 11, 58, 14, 149, 8, 186, 216, 217, 235, 186, 201, 246, 11, 58, 251, 28, 2, 187, 216, 217, 235, 186, 201, 246, 11, 58, 251, 28, 2, 187, 73, 79, 236, 186, 135, 206, 11, 57, 230, 56, 30, 186, 174, 94, 234, 186, 83, 63, 12, 57, 230, 233, 249, 186, 72, 39, 121, 59, 242, 52, 132, 55, 218, 79, 231, 186, 117, 103, 117, 59, 172, 6, 211, 57, 87, 189, 236, 186, 117, 103, 117, 59, 172, 6, 211, 57, 87, 189, 236, 186, 110, 223, 126, 59, 77, 228, 106, 57, 55, 233, 232, 186, 26, 224, 126, 59, 66, 3, 209, 57, 145, 38, 86, 186, 26, 224, 126, 59, 66, 3, 209, 57, 145, 38, 86, 186, 186, 211, 128, 59, 196, 126, 163, 55, 123, 109, 108, 186, 32, 212, 131, 59, 154, 121, 108, 57, 130, 236, 101, 186, 32, 212, 131, 59, 154, 121, 108, 57, 130, 236, 101, 186, 32, 212, 131, 59, 154, 121, 108, 57, 130, 236, 101, 186, 60, 27, 201, 186, 116, 208, 205, 184, 31, 40, 30, 186, 60, 27, 201, 186, 116, 208, 205, 184, 31, 40, 30, 186, 60, 27, 201, 186, 116, 208, 205, 184, 31, 40, 30, 186, 60, 27, 201, 186, 116, 208, 205, 184, 31, 40, 30, 186, 60, 27, 201, 186, 116, 208, 205, 184, 31, 40, 30, 186, 74, 41, 199, 186, 153, 249, 204, 184, 131, 225, 249, 186, 74, 41, 199, 186, 153, 249, 204, 184, 131, 225, 249, 186, 74, 41, 199, 186, 153, 249, 204, 184, 131, 225, 249, 186, 183, 27, 113, 59, 133, 244, 201, 184, 213, 76, 231, 186, 183, 27, 113, 59, 133, 244, 201, 184, 213, 76, 231, 186, 98, 155, 121, 59, 137, 55, 194, 184, 29, 104, 108, 186, 49, 216, 34, 59, 18, 109, 206, 60, 145, 92, 106, 188, 49, 216, 34, 59, 18, 109, 206, 60, 145, 92, 106, 188, 49, 216, 34, 59, 18, 109, 206, 60, 145, 92, 106, 188, 49, 216, 34, 59, 18, 109, 206, 60, 145, 92, 106, 188, 165, 184, 100, 59, 62, 194, 220, 60, 73, 4, 117, 188, 165, 184, 100, 59, 62, 194, 220, 60, 73, 4, 117, 188, 165, 184, 100, 59, 62, 194, 220, 60, 73, 4, 117, 188, 165, 184, 100, 59, 62, 194, 220, 60, 73, 4, 117, 188, 165, 184, 100, 59, 62, 194, 220, 60, 73, 4, 117, 188, 151, 156, 131, 59, 108, 63, 221, 60, 189, 227, 114, 188, 1, 4, 156, 59, 188, 213, 209, 60, 69, 121, 76, 188, 1, 4, 156, 59, 188, 213, 209, 60, 69, 121, 76, 188, 1, 4, 156, 59, 188, 213, 209, 60, 69, 121, 76, 188, 1, 4, 156, 59, 188, 213, 209, 60, 69, 121, 76, 188, 1, 4, 156, 59, 188, 213, 209, 60, 69, 121, 76, 188, 191, 41, 168, 59, 193, 203, 206, 60, 218, 7, 90, 188, 191, 41, 168, 59, 193, 203, 206, 60, 218, 7, 90, 188, 191, 41, 168, 59, 193, 203, 206, 60, 218, 7, 90, 188, 191, 41, 168, 59, 193, 203, 206, 60, 218, 7, 90, 188, 198, 22, 118, 59, 219, 151, 202, 60, 186, 241, 119, 188, 198, 22, 118, 59, 219, 151, 202, 60, 186, 241, 119, 188, 198, 22, 118, 59, 219, 151, 202, 60, 186, 241, 119, 188, 150, 22, 158, 59, 47, 241, 212, 60, 26, 230, 125, 188, 150, 22, 158, 59, 47, 241, 212, 60, 26, 230, 125, 188, 152, 109, 167, 59, 244, 142, 213, 60, 4, 222, 115, 188, 152, 109, 167, 59, 244, 142, 213, 60, 4, 222, 115, 188, 152, 109, 167, 59, 244, 142, 213, 60, 4, 222, 115, 188, 152, 109, 167, 59, 244, 142, 213, 60, 4, 222, 115, 188, 170, 32, 175, 59, 41, 249, 204, 60, 103, 19, 99, 188, 170, 32, 175, 59, 41, 249, 204, 60, 103, 19, 99, 188, 252, 93, 138, 59, 52, 186, 202, 60, 81, 233, 122, 188, 252, 93, 138, 59, 52, 186, 202, 60, 81, 233, 122, 188, 145, 3, 155, 59, 146, 248, 209, 60, 243, 37, 128, 188, 145, 3, 155, 59, 146, 248, 209, 60, 243, 37, 128, 188, 145, 3, 155, 59, 146, 248, 209, 60, 243, 37, 128, 188, 145, 3, 155, 59, 146, 248, 209, 60, 243, 37, 128, 188, 30, 208, 165, 59, 213, 240, 202, 60, 195, 119, 111, 188, 30, 208, 165, 59, 213, 240, 202, 60, 195, 119, 111, 188, 30, 208, 165, 59, 213, 240, 202, 60, 195, 119, 111, 188, 30, 208, 165, 59, 213, 240, 202, 60, 195, 119, 111, 188, 30, 208, 165, 59, 213, 240, 202, 60, 195, 119, 111, 188, 19, 113, 231, 186, 103, 186, 147, 60, 54, 167, 12, 187, 19, 113, 231, 186, 103, 186, 147, 60, 54, 167, 12, 187, 207, 80, 179, 186, 78, 58, 122, 60, 242, 122, 242, 186, 229, 103, 64, 58, 255, 85, 17, 59, 215, 203, 174, 186, 229, 103, 64, 58, 255, 85, 17, 59, 215, 203, 174, 186, 31, 156, 75, 58, 130, 47, 32, 61, 225, 14, 15, 186, 124, 210, 236, 186, 175, 232, 11, 58, 106, 66, 164, 186, 124, 210, 236, 186, 175, 232, 11, 58, 106, 66, 164, 186, 252, 86, 235, 186, 237, 6, 12, 57, 45, 131, 164, 186, 252, 86, 235, 186, 237, 6, 12, 57, 45, 131, 164, 186, 235, 161, 129, 59, 156, 173, 107, 57, 189, 239, 173, 186, 235, 161, 129, 59, 156, 173, 107, 57, 189, 239, 173, 186, 140, 91, 117, 59, 88, 19, 198, 184, 114, 192, 174, 186, 9, 41, 246, 86, 174, 249, 124, 129, 9, 41, 246, 86, 3, 126, 25, 194, 9, 41, 246, 86, 25, 172, 202, 147, 204, 65, 204, 193, 12, 152, 93, 203, 204, 65, 204, 193, 9, 196, 72, 224, 20, 184, 20, 56, 85, 166, 241, 206, 20, 184, 20, 56, 234, 124, 203, 190, 20, 184, 20, 56, 222, 38, 235, 152, 220, 190, 34, 193, 160, 138, 222, 186, 220, 190, 34, 193, 26, 165, 23, 174, 22, 137, 231, 246, 225, 242, 155, 187, 22, 137, 231, 246, 106, 183, 224, 189, 177, 97, 176, 225, 214, 225, 98, 207, 177, 97, 176, 225, 42, 173, 0, 199, 25, 31, 24, 159, 127, 135, 173, 203, 25, 31, 24, 159, 119, 230, 230, 251, 25, 31, 24, 159, 145, 167, 206, 241, 187, 19, 67, 108, 184, 128, 3, 190, 187, 19, 67, 108, 124, 3, 173, 255, 77, 238, 176, 145, 113, 127, 185, 193, 77, 238, 176, 145, 28, 161, 155, 135, 77, 238, 176, 145, 148, 141, 167, 149, 231, 253, 22, 130, 203, 127, 14, 198, 231, 253, 22, 130, 251, 148, 227, 128, 231, 253, 22, 130, 99, 129, 20, 150, 170, 236, 84, 147, 81, 128, 25, 191, 170, 236, 84, 147, 196, 152, 46, 137, 170, 236, 84, 147, 172, 142, 191, 150, 46, 55, 208, 72, 26, 140, 2, 184, 46, 55, 208, 72, 200, 241, 98, 133, 46, 55, 208, 72, 219, 124, 17, 194, 48, 219, 48, 91, 228, 140, 248, 207, 48, 219, 48, 91, 0, 80, 36, 144, 88, 89, 211, 88, 235, 164, 149, 209, 88, 89, 211, 88, 87, 141, 77, 221, 88, 89, 211, 88, 247, 186, 14, 139, 99, 86, 174, 165, 77, 187, 234, 186, 99, 86, 174, 165, 152, 102, 245, 156, 99, 86, 174, 165, 97, 191, 30, 215, 19, 138, 128, 53, 251, 39, 165, 140, 19, 138, 128, 53, 155, 122, 87, 214, 148, 170, 88, 163, 109, 245, 71, 226, 148, 170, 88, 163, 237, 142, 35, 155, 148, 170, 88, 163, 162, 146, 76, 155, 59, 134, 126, 83, 196, 184, 12, 216, 59, 134, 126, 83, 85, 127, 96, 232, 237, 104, 243, 81, 131, 172, 135, 210, 237, 104, 243, 81, 144, 137, 44, 224, 222, 110, 109, 175, 214, 107, 150, 159, 222, 110, 109, 175, 195, 218, 229, 212, 222, 110, 109, 175, 154, 182, 55, 175, 207, 136, 127, 180, 156, 121, 54, 158, 207, 136, 127, 180, 110, 171, 187, 166, 144, 72, 154, 134, 139, 194, 16, 195, 144, 72, 154, 134, 66, 112, 83, 135, 55, 79, 101, 117, 18, 194, 121, 198, 55, 79, 101, 117, 80, 99, 229, 131, 79, 177, 219, 120, 232, 112, 37, 134, 79, 177, 219, 120, 188, 115, 37, 129, 42, 184, 47, 125, 224, 238, 95, 158, 42, 184, 47, 125, 66, 119, 138, 133, 225, 139, 10, 128, 219, 112, 93, 136, 74, 142, 144, 117, 117, 103, 44, 136, 203, 119, 158, 118, 25, 101, 133, 136, 106, 116, 232, 130, 50, 112, 131, 136, 55, 144, 189, 112, 255, 97, 183, 136, 202, 187, 76, 128, 22, 124, 241, 131, 202, 187, 76, 128, 71, 128, 76, 128, 148, 89, 34, 96, 80, 178, 59, 206, 148, 89, 34, 96, 242, 173, 250, 128, 148, 89, 34, 96, 205, 146, 36, 223, 177, 161, 218, 92, 14, 74, 142, 139, 177, 161, 218, 92, 250, 131, 155, 231, 237, 116, 32, 82, 126, 69, 230, 133, 237, 116, 32, 82, 64, 136, 253, 227, 118, 113, 72, 92, 207, 77, 21, 134, 118, 113, 72, 92, 66, 140, 221, 230, 208, 86, 170, 149, 224, 198, 56, 201, 208, 86, 170, 149, 196, 8, 93, 220, 106, 54, 184, 164, 247, 3, 209, 140, 106, 54, 184, 164, 105, 168, 106, 229, 100, 191, 108, 138, 48, 242, 235, 154, 100, 191, 108, 138, 205, 255, 142, 226, 157, 179, 30, 187, 14, 211, 177, 157, 157, 179, 30, 187, 188, 251, 81, 242, 167, 21, 167, 149, 213, 126, 35, 189, 167, 21, 167, 149, 130, 17, 199, 129, 221, 37, 220, 165, 11, 18, 201, 131, 221, 37, 220, 165, 93, 171, 56, 238, 190, 255, 191, 127, 92, 22, 5, 128, 33, 214, 220, 169, 34, 237, 148, 132, 33, 214, 220, 169, 174, 185, 22, 145, 153, 67, 18, 117, 57, 186, 55, 187, 153, 67, 18, 117, 49, 18, 186, 153, 19, 77, 232, 110, 24, 192, 92, 185, 19, 77, 232, 110, 255, 23, 70, 154, 255, 49, 7, 107, 195, 159, 104, 172, 255, 49, 7, 107, 69, 160, 203, 175, 255, 49, 7, 107, 246, 11, 143, 142, 152, 211, 122, 146, 156, 246, 211, 142, 152, 211, 122, 146, 247, 180, 152, 140, 152, 211, 122, 146, 69, 236, 121, 142, 119, 194, 151, 124, 47, 236, 246, 152, 119, 194, 151, 124, 49, 250, 106, 227, 119, 194, 151, 124, 226, 180, 78, 139, 48, 194, 227, 133, 185, 240, 45, 154, 48, 194, 227, 133, 23, 252, 173, 227, 26, 219, 227, 164, 0, 237, 216, 131, 26, 219, 227, 164, 227, 181, 0, 143, 18, 249, 235, 134, 199, 233, 162, 128, 78, 245, 78, 117, 3, 22, 0, 129, 121, 7, 120, 135, 170, 244, 165, 255, 121, 7, 120, 135, 36, 15, 119, 128, 121, 7, 120, 135, 190, 145, 147, 252, 22, 20, 232, 107, 181, 5, 119, 255, 22, 20, 232, 107, 33, 245, 2, 129, 127, 16, 127, 111, 220, 126, 214, 195, 127, 16, 127, 111, 191, 6, 127, 255, 127, 16, 127, 111, 124, 244, 217, 128, 211, 21, 43, 106, 237, 4, 125, 255, 211, 21, 43, 106, 175, 243, 67, 129, 211, 21, 43, 106, 158, 144, 146, 151, 211, 21, 43, 106, 21, 106, 23, 245, 211, 21, 43, 106, 0, 172, 161, 136, 17, 74, 33, 122, 86, 197, 230, 189, 17, 74, 33, 122, 250, 21, 18, 157, 78, 197, 0, 125, 144, 235, 183, 151, 78, 197, 0, 125, 23, 250, 186, 228, 83, 236, 84, 108, 50, 21, 236, 129, 83, 236, 84, 108, 57, 168, 7, 248, 83, 236, 84, 108, 192, 141, 224, 229, 193, 255, 61, 128, 164, 233, 4, 128, 174, 66, 157, 135, 210, 187, 122, 195, 174, 66, 157, 135, 200, 7, 188, 157, 125, 198, 90, 133, 122, 239, 15, 152, 125, 198, 90, 133, 178, 254, 22, 229, 161, 9, 94, 118, 73, 128, 57, 190, 161, 9, 94, 118, 29, 7, 180, 255, 161, 9, 94, 118, 109, 245, 109, 128, 82, 6, 9, 186, 15, 235, 53, 150, 82, 6, 9, 186, 57, 250, 222, 229, 25, 68, 124, 133, 73, 192, 53, 193, 25, 68, 124, 133, 13, 8, 212, 158, 244, 189, 92, 114, 134, 230, 248, 149, 244, 189, 92, 114, 121, 244, 159, 228, 34, 237, 55, 68, 89, 13, 164, 150, 124, 188, 0, 111, 108, 231, 166, 149, 124, 188, 0, 111, 106, 243, 197, 228, 15, 187, 52, 112, 143, 231, 205, 150, 15, 187, 52, 112, 50, 244, 166, 227, 47, 238, 220, 70, 199, 13, 126, 149, 82, 232, 219, 72, 158, 9, 241, 146, 82, 232, 219, 72, 190, 164, 111, 204, 145, 8, 84, 67, 74, 246, 37, 154, 145, 8, 84, 67, 161, 245, 7, 154, 137, 1, 54, 187, 70, 238, 9, 153, 137, 1, 54, 187, 152, 255, 229, 226, 69, 69, 224, 118, 136, 189, 59, 188, 69, 69, 224, 118, 210, 18, 229, 154, 5, 67, 189, 117, 240, 185, 58, 187, 5, 67, 189, 117, 15, 22, 146, 152, 126, 6, 24, 184, 161, 235, 108, 149, 126, 6, 24, 184, 217, 249, 245, 230, 202, 73, 247, 139, 10, 194, 129, 194, 202, 73, 247, 139, 81, 3, 98, 161, 112, 193, 41, 113, 59, 228, 80, 147, 112, 193, 41, 113, 21, 242, 7, 231, 22, 237, 94, 63, 220, 10, 124, 153, 22, 237, 94, 63, 67, 179, 214, 196, 80, 1, 205, 174, 142, 241, 80, 148, 80, 1, 205, 174, 162, 254, 64, 233, 249, 67, 59, 127, 123, 195, 223, 191, 249, 67, 59, 127, 218, 11, 163, 158, 32, 200, 132, 120, 33, 229, 119, 147, 32, 200, 132, 120, 226, 246, 216, 231, 136, 255, 144, 67, 55, 18, 215, 153, 136, 255, 144, 67, 185, 186, 116, 190, 50, 0, 53, 189, 95, 238, 84, 154, 50, 0, 53, 189, 34, 158, 186, 248, 50, 0, 53, 189, 10, 255, 82, 158, 117, 66, 149, 122, 115, 189, 121, 189, 117, 66, 149, 122, 9, 23, 159, 153, 117, 66, 149, 122, 14, 127, 201, 250, 167, 179, 142, 153, 184, 253, 30, 225, 167, 179, 142, 153, 213, 243, 57, 158, 167, 179, 142, 153, 123, 80, 78, 181, 225, 224, 152, 208, 1, 44, 97, 142, 225, 224, 152, 208, 158, 168, 223, 206, 225, 224, 152, 208, 63, 190, 195, 183, 207, 150, 200, 144, 17, 253, 130, 206, 168, 117, 202, 218, 89, 240, 166, 207, 168, 117, 202, 218, 225, 240, 194, 205, 229, 182, 64, 156, 146, 202, 204, 246, 229, 182, 64, 156, 178, 207, 193, 152, 114, 151, 52, 132, 219, 253, 6, 205, 204, 144, 9, 114, 128, 253, 85, 202, 35, 145, 37, 98, 142, 240, 50, 207, 35, 145, 37, 98, 158, 249, 213, 204, 35, 145, 37, 98, 40, 26, 166, 67, 244, 148, 72, 126, 96, 253, 177, 203, 230, 151, 231, 23, 252, 235, 109, 212, 230, 151, 231, 23, 223, 213, 219, 201, 88, 143, 78, 132, 228, 253, 229, 200, 59, 139, 30, 121, 64, 254, 173, 198, 202, 246, 82, 14, 42, 3, 3, 183, 202, 246, 82, 14, 193, 239, 128, 192, 57, 142, 42, 108, 2, 254, 24, 201, 8, 139, 190, 113, 38, 254, 236, 198, 244, 237, 228, 9, 76, 0, 32, 186, 244, 237, 228, 9, 168, 242, 37, 191, 77, 252, 197, 13, 56, 4, 23, 183, 77, 252, 197, 13, 123, 241, 208, 191, 33, 136, 42, 125, 234, 254, 166, 196, 36, 247, 18, 8, 22, 2, 195, 186, 36, 247, 18, 8, 156, 245, 37, 191, 232, 142, 255, 120, 188, 253, 206, 200, 126, 254, 43, 252, 82, 250, 14, 191, 144, 136, 53, 126, 182, 254, 237, 196, 13, 245, 140, 249, 28, 247, 235, 190, 92, 64, 104, 71, 130, 175, 111, 167, 92, 64, 104, 71, 137, 12, 79, 129, 13, 52, 215, 149, 148, 136, 155, 163, 13, 52, 215, 149, 110, 5, 254, 145, 13, 52, 215, 149, 102, 158, 52, 230, 13, 52, 215, 149, 107, 159, 190, 223, 157, 115, 59, 203, 191, 236, 111, 203, 157, 115, 59, 203, 240, 230, 109, 215, 157, 115, 59, 203, 156, 235, 77, 199, 32, 186, 147, 174, 94, 244, 173, 242, 32, 186, 147, 174, 138, 209, 243, 152, 32, 186, 147, 174, 143, 254, 131, 146, 137, 211, 243, 103, 71, 225, 228, 242, 137, 211, 243, 103, 223, 160, 196, 241, 137, 211, 243, 103, 117, 219, 192, 132, 145, 146, 12, 39, 193, 211, 62, 203, 145, 146, 12, 39, 191, 26, 186, 73, 249, 30, 4, 99, 117, 2, 95, 254, 249, 30, 4, 99, 5, 117, 243, 212, 249, 30, 4, 99, 221, 112, 84, 219, 108, 87, 214, 166, 19, 193, 91, 213, 108, 87, 214, 166, 235, 190, 56, 223, 108, 87, 214, 166, 41, 193, 247, 212, 52, 138, 224, 209, 130, 252, 146, 179, 52, 138, 224, 209, 123, 247, 8, 217, 50, 191, 173, 194, 53, 204, 5, 155, 50, 191, 173, 194, 101, 96, 226, 207, 79, 248, 44, 36, 139, 201, 143, 204, 79, 248, 44, 36, 221, 167, 120, 159, 79, 248, 44, 36, 89, 157, 85, 239, 165, 45, 37, 32, 55, 244, 213, 223, 165, 45, 37, 32, 24, 50, 48, 193, 16, 44, 7, 70, 144, 251, 101, 139, 16, 44, 7, 70, 149, 162, 231, 159, 16, 44, 7, 70, 4, 94, 198, 209, 81, 55, 158, 139, 9, 133, 189, 146, 81, 55, 158, 139, 107, 161, 141, 218, 142, 243, 49, 68, 189, 173, 30, 203, 142, 243, 49, 68, 82, 165, 10, 217, 127, 56, 233, 7, 69, 237, 205, 214, 127, 56, 233, 7, 14, 179, 241, 169, 127, 56, 233, 7, 103, 243, 167, 209, 32, 126, 90, 193, 104, 232, 22, 187, 32, 126, 90, 193, 26, 237, 48, 210, 53, 197, 187, 172, 164, 198, 93, 149, 53, 197, 187, 172, 51, 93, 230, 209, 113, 42, 135, 88, 224, 7, 66, 128, 113, 42, 135, 88, 155, 110, 101, 213, 113, 42, 135, 88, 69, 109, 178, 214, 235, 242, 243, 55, 207, 185, 217, 201, 235, 242, 243, 55, 11, 171, 85, 220, 49, 84, 154, 156, 96, 188, 163, 212, 49, 84, 154, 156, 237, 186, 79, 215, 232, 50, 252, 20, 101, 252, 234, 211, 232, 50, 252, 20, 210, 47, 82, 187, 120, 144, 226, 186, 21, 230, 233, 177, 120, 144, 226, 186, 62, 253, 120, 209, 120, 144, 226, 186, 250, 248, 233, 212, 3, 202, 138, 175, 96, 195, 154, 148, 3, 202, 138, 175, 101, 98, 241, 210, 140, 41, 245, 113, 38, 150, 1, 155, 140, 41, 245, 113, 167, 137, 32, 221, 89, 173, 71, 21, 246, 214, 92, 199, 89, 173, 71, 21, 210, 213, 235, 198, 162, 118, 103, 181, 242, 233, 30, 190, 162, 118, 103, 181, 166, 226, 110, 212, 219, 180, 195, 164, 11, 235, 180, 237, 219, 180, 195, 164, 134, 212, 136, 154, 219, 180, 195, 164, 176, 74, 10, 207, 229, 63, 250, 42, 124, 181, 56, 169, 193, 215, 230, 106, 225, 222, 59, 244, 193, 215, 230, 106, 134, 158, 164, 243, 193, 215, 230, 106, 102, 129, 162, 223, 167, 36, 166, 164, 236, 226, 41, 250, 167, 36, 166, 164, 252, 166, 35, 238, 167, 36, 166, 164, 90, 92, 148, 147, 63, 131, 14, 183, 147, 211, 213, 232, 63, 131, 14, 183, 41, 251, 169, 188, 63, 131, 14, 183, 32, 128, 71, 156, 63, 131, 14, 183, 108, 252, 231, 197, 138, 245, 116, 138, 117, 236, 221, 128, 138, 245, 116, 138, 188, 76, 149, 252, 188, 75, 172, 162, 34, 181, 59, 215, 188, 75, 172, 162, 132, 93, 192, 154, 14, 10, 14, 138, 75, 237, 50, 255, 14, 10, 14, 138, 185, 117, 4, 133, 190, 113, 220, 115, 192, 181, 202, 221, 190, 113, 220, 115, 104, 110, 237, 129, 34, 186, 34, 58, 232, 30, 145, 146, 34, 186, 34, 58, 63, 213, 79, 230, 34, 186, 34, 58, 92, 125, 230, 190, 238, 65, 180, 123, 17, 167, 44, 215, 238, 65, 180, 123, 167, 116, 204, 128, 222, 18, 15, 204, 19, 168, 228, 237, 222, 18, 15, 204, 69, 242, 221, 224, 187, 74, 214, 146, 47, 189, 103, 198, 187, 74, 214, 146, 67, 161, 206, 241, 59, 159, 133, 179, 48, 237, 161, 166, 59, 159, 133, 179, 50, 100, 15, 173, 146, 199, 184, 223, 88, 145, 201, 211, 146, 199, 184, 223, 60, 203, 162, 181, 101, 132, 53, 146, 250, 253, 178, 195, 82, 236, 247, 247, 153, 244, 182, 190, 112, 7, 74, 192, 225, 119, 250, 240, 112, 7, 74, 192, 94, 174, 139, 242, 112, 7, 74, 192, 234, 249, 15, 227, 161, 64, 147, 137, 153, 149, 89, 241, 161, 64, 147, 137, 67, 184, 55, 196, 161, 64, 147, 137, 8, 152, 46, 238, 184, 157, 204, 170, 132, 241, 151, 168, 184, 157, 204, 170, 121, 93, 213, 170, 164, 218, 111, 223, 22, 162, 194, 214, 164, 218, 111, 223, 89, 206, 250, 183, 232, 131, 113, 132, 182, 254, 170, 194, 51, 254, 102, 6, 129, 247, 245, 190, 85, 30, 38, 55, 203, 88, 237, 180, 85, 30, 38, 55, 60, 82, 68, 234, 85, 30, 38, 55, 70, 225, 240, 153, 40, 72, 0, 98, 191, 167, 101, 202, 40, 72, 0, 98, 20, 112, 230, 230, 40, 72, 0, 98, 157, 179, 26, 178, 193, 128, 198, 111, 62, 255, 192, 192, 131, 239, 182, 3, 108, 249, 246, 190, 251, 172, 113, 92, 231, 98, 99, 212, 251, 172, 113, 92, 196, 231, 179, 224, 251, 172, 113, 92, 165, 71, 163, 153, 35, 166, 54, 167, 252, 236, 71, 163, 35, 166, 54, 167, 181, 90, 89, 174, 69, 141, 59, 117, 4, 254, 7, 200, 219, 195, 185, 134, 202, 251, 96, 155, 219, 195, 185, 134, 80, 113, 245, 149, 219, 195, 185, 134, 63, 77, 83, 186, 210, 221, 37, 212, 137, 167, 246, 207, 210, 221, 37, 212, 69, 192, 105, 180, 86, 220, 241, 50, 138, 174, 128, 185, 86, 220, 241, 50, 190, 87, 30, 155, 86, 220, 241, 50, 171, 183, 192, 205, 240, 235, 197, 8, 200, 242, 185, 190, 126, 252, 86, 178, 43, 174, 38, 189, 126, 252, 86, 178, 252, 109, 214, 129, 126, 252, 86, 178, 103, 173, 12, 188, 195, 49, 142, 28, 12, 106, 169, 168, 195, 49, 142, 28, 109, 234, 165, 168, 220, 88, 66, 13, 18, 125, 15, 178, 26, 114, 188, 37, 185, 132, 150, 204, 48, 99, 116, 74, 217, 148, 159, 213, 48, 99, 116, 74, 162, 208, 201, 181, 224, 141, 98, 38, 30, 133, 128, 205, 152, 156, 52, 76, 85, 114, 105, 217, 152, 156, 52, 76, 232, 235, 118, 215, 129, 167, 48, 16, 245, 125, 183, 178, 150, 205, 13, 33, 139, 155, 59, 173, 150, 205, 13, 33, 15, 203, 130, 202, 146, 128, 213, 78, 64, 136, 201, 228, 146, 128, 213, 78, 168, 255, 134, 192, 195, 126, 252, 31, 54, 133, 221, 206, 44, 130, 139, 32, 59, 133, 219, 206, 92, 214, 45, 3, 67, 121, 129, 151, 92, 214, 45, 3, 2, 249, 53, 191, 213, 163, 34, 3, 24, 124, 178, 175, 227, 93, 56, 0, 56, 124, 135, 175, 241, 55, 4, 91, 111, 20, 13, 135, 241, 55, 4, 91, 186, 159, 56, 179, 241, 55, 4, 91, 92, 125, 241, 214, 131, 97, 60, 175, 85, 201, 19, 228, 131, 97, 60, 175, 54, 206, 122, 211, 131, 97, 60, 175, 79, 206, 47, 210, 227, 146, 59, 199, 232, 244, 243, 223, 227, 146, 59, 199, 65, 242, 188, 174, 125, 183, 36, 208, 47, 93, 212, 206, 125, 183, 36, 208, 5, 212, 169, 159, 31, 243, 186, 43, 75, 163, 90, 235, 31, 243, 186, 43, 250, 187, 19, 211, 31, 243, 186, 43, 213, 158, 214, 158, 31, 243, 186, 43, 229, 183, 245, 175, 119, 64, 31, 23, 14, 243, 247, 225, 119, 64, 31, 23, 234, 160, 13, 170, 119, 85, 151, 81, 185, 189, 134, 189, 119, 85, 151, 81, 134, 158, 173, 206, 191, 107, 201, 157, 115, 200, 101, 221, 191, 107, 201, 157, 133, 204, 145, 217, 7, 157, 186, 180, 176, 240, 190, 226, 7, 157, 186, 180, 99, 222, 195, 168, 211, 196, 171, 179, 132, 92, 201, 211, 211, 196, 171, 179, 206, 198, 213, 150, 169, 228, 130, 62, 80, 171, 45, 216, 169, 228, 130, 62, 157, 161, 140, 180, 189, 95, 165, 6, 216, 169, 194, 181, 47, 95, 219, 77, 100, 189, 45, 197, 47, 95, 219, 77, 68, 167, 57, 206, 158, 112, 4, 151, 244, 204, 116, 217, 158, 112, 4, 151, 37, 202, 151, 219, 202, 162, 50, 169, 157, 238, 251, 226, 202, 162, 50, 169, 247, 209, 122, 163, 136, 200, 65, 171, 215, 93, 114, 213, 136, 200, 65, 171, 43, 195, 92, 148, 53, 223, 87, 68, 202, 166, 128, 213, 53, 223, 87, 68, 78, 162, 141, 190, 106, 146, 225, 7, 105, 180, 102, 190, 161, 124, 184, 70, 219, 234, 68, 196, 161, 124, 184, 70, 211, 181, 79, 211, 161, 124, 184, 70, 172, 179, 236, 211, 241, 137, 161, 114, 36, 220, 212, 211, 241, 137, 161, 114, 22, 190, 213, 223, 149, 184, 247, 123, 221, 223, 107, 229, 149, 184, 247, 123, 132, 200, 206, 146, 103, 213, 135, 139, 212, 102, 189, 218, 103, 213, 135, 139, 243, 228, 223, 243, 103, 213, 135, 139, 122, 187, 82, 139, 51, 208, 238, 88, 49, 144, 204, 215, 51, 208, 238, 88, 173, 208, 164, 241, 51, 208, 238, 88, 84, 141, 167, 213, 67, 160, 14, 59, 113, 233, 233, 218, 67, 160, 14, 59, 67, 166, 0, 211, 228, 130, 211, 91, 100, 220, 184, 205, 228, 130, 211, 91, 108, 182, 198, 218, 124, 156, 27, 116, 150, 222, 152, 218, 190, 220, 101, 119, 190, 116, 82, 221, 190, 220, 101, 119, 138, 219, 119, 244, 198, 144, 185, 59, 66, 239, 108, 206, 198, 144, 185, 59, 94, 171, 155, 211, 171, 207, 178, 132, 120, 228, 190, 238, 171, 207, 178, 132, 160, 192, 163, 140, 135, 178, 72, 68, 93, 224, 163, 229, 135, 178, 72, 68, 7, 158, 4, 213, 178, 171, 244, 88, 50, 224, 140, 224, 12, 186, 135, 95, 127, 226, 169, 231, 67, 158, 250, 85, 185, 222, 45, 217, 185, 71, 40, 89, 185, 165, 227, 197, 185, 71, 40, 89, 238, 137, 42, 215, 93, 78, 167, 178, 86, 174, 205, 192, 93, 78, 167, 178, 185, 190, 107, 220, 246, 182, 60, 100, 0, 82, 5, 138, 147, 178, 175, 176, 219, 252, 148, 151, 147, 178, 175, 176, 88, 152, 207, 164, 230, 104, 114, 204, 226, 225, 220, 210, 230, 104, 114, 204, 175, 177, 216, 186, 134, 135, 211, 215, 158, 171, 52, 179, 19, 53, 210, 114, 170, 169, 10, 195, 230, 53, 244, 144, 56, 169, 201, 195, 224, 215, 149, 127, 197, 240, 133, 145, 224, 215, 149, 127, 143, 140, 195, 129, 224, 215, 149, 127, 120, 113, 232, 150, 176, 206, 161, 134, 201, 141, 138, 133, 176, 206, 161, 134, 84, 128, 124, 136, 151, 198, 10, 139, 70, 139, 237, 137, 151, 198, 10, 139, 74, 134, 250, 138, 130, 64, 22, 97, 44, 142, 169, 214, 130, 64, 22, 97, 230, 176, 105, 141, 50, 156, 4, 68, 81, 110, 129, 211, 50, 156, 4, 68, 209, 47, 244, 141, 149, 32, 82, 143, 120, 12, 178, 137, 116, 197, 249, 166, 31, 243, 119, 143, 116, 197, 249, 166, 132, 192, 252, 148, 204, 49, 106, 161, 37, 8, 209, 139, 204, 49, 106, 161, 145, 167, 86, 237, 33, 225, 236, 131, 99, 237, 42, 140, 72, 58, 169, 156, 114, 165, 79, 229, 72, 58, 169, 156, 74, 96, 144, 148, 78, 34, 255, 113, 189, 12, 123, 137, 138, 36, 223, 110, 216, 12, 22, 137, 185, 19, 154, 127, 86, 12, 189, 136, 163, 215, 231, 121, 55, 239, 53, 143, 29, 218, 135, 131, 67, 238, 118, 143, 29, 218, 135, 131, 137, 173, 115, 135, 137, 199, 254, 160, 166, 238, 172, 144, 137, 199, 254, 160, 19, 189, 41, 147, 88, 26, 155, 116, 15, 15, 129, 134, 124, 233, 245, 123, 242, 235, 182, 135, 135, 236, 200, 129, 254, 235, 180, 135, 95, 22, 113, 130, 12, 12, 81, 137, 89, 33, 238, 139, 95, 11, 87, 139, 149, 219, 17, 107, 95, 235, 191, 133, 189, 13, 4, 124, 1, 16, 37, 132, 64, 19, 216, 129, 124, 13, 255, 135, 175, 215, 29, 110, 3, 237, 143, 137, 114, 212, 130, 107, 246, 236, 222, 137, 251, 38, 215, 143, 162, 10, 219, 140, 147, 230, 81, 103, 30, 21, 43, 130, 133, 24, 70, 129, 69, 11, 194, 138, 210, 250, 238, 111, 82, 20, 51, 133, 48, 14, 246, 123, 160, 17, 59, 132, 48, 14, 246, 123, 20, 112, 133, 253, 182, 209, 4, 177, 231, 235, 41, 132, 182, 209, 4, 177, 203, 129, 17, 194, 176, 202, 53, 140, 105, 240, 196, 148, 176, 202, 53, 140, 77, 197, 202, 246, 176, 202, 53, 140, 171, 197, 111, 143, 13, 46, 109, 132, 82, 116, 12, 132, 192, 162, 51, 81, 243, 216, 77, 219, 192, 162, 51, 81, 172, 123, 254, 221, 119, 33, 205, 160, 134, 167, 173, 240, 126, 174, 196, 204, 82, 120, 177, 190, 162, 24, 164, 151, 108, 147, 241, 233, 162, 24, 164, 151, 175, 157, 201, 244, 141, 170, 106, 208, 14, 120, 113, 190, 229, 41, 14, 87, 101, 129, 1, 192, 229, 41, 14, 87, 192, 94, 61, 227, 228, 196, 9, 79, 51, 127, 113, 202, 228, 196, 9, 79, 76, 77, 26, 157, 131, 227, 205, 141, 78, 138, 169, 143, 131, 227, 205, 141, 169, 113, 193, 187, 229, 181, 165, 194, 66, 119, 46, 189, 84, 107, 230, 20, 109, 129, 255, 191, 117, 79, 29, 49, 111, 129, 4, 192, 239, 148, 196, 23, 249, 129, 219, 193, 100, 175, 52, 54, 118, 131, 71, 198, 133, 127, 54, 0, 102, 129, 221, 191, 239, 128, 212, 0, 105, 129, 242, 191, 44, 39, 167, 38, 148, 254, 142, 220, 44, 39, 167, 38, 252, 109, 2, 165, 174, 37, 98, 214, 248, 235, 180, 222, 174, 37, 98, 214, 187, 197, 9, 225, 128, 181, 20, 10, 253, 193, 102, 183, 128, 181, 20, 10, 241, 239, 8, 201, 128, 181, 20, 10, 224, 135, 55, 170, 165, 220, 106, 213, 242, 168, 77, 207, 165, 220, 106, 213, 187, 194, 82, 184, 165, 220, 106, 213, 162, 189, 21, 196, 125, 211, 59, 6, 235, 22, 125, 213, 125, 211, 59, 6, 177, 232, 90, 206, 125, 211, 59, 6, 24, 123, 209, 152, 11, 46, 17, 23, 105, 243, 17, 218, 11, 46, 17, 23, 179, 113, 170, 161, 109, 47, 221, 238, 192, 243, 209, 206, 109, 47, 221, 238, 187, 225, 156, 208, 126, 203, 46, 247, 168, 236, 99, 193, 126, 203, 46, 247, 15, 234, 54, 194, 126, 203, 46, 247, 92, 191, 188, 207, 154, 6, 143, 200, 39, 246, 160, 223, 154, 6, 143, 200, 121, 173, 101, 241, 153, 10, 199, 48, 110, 246, 209, 221, 219, 248, 80, 49, 131, 200, 13, 195, 219, 248, 80, 49, 139, 200, 5, 195, 46, 253, 42, 56, 9, 194, 72, 196, 46, 253, 42, 56, 55, 195, 42, 195, 243, 255, 28, 244, 163, 238, 2, 195, 144, 245, 74, 14, 62, 236, 166, 194, 97, 9, 52, 8, 237, 247, 127, 200, 232, 2, 105, 244, 206, 247, 139, 201, 188, 240, 55, 16, 42, 234, 94, 194, 177, 255, 51, 196, 161, 191, 37, 196, 177, 255, 51, 196, 122, 194, 123, 193, 221, 31, 106, 38, 186, 244, 210, 222, 221, 31, 106, 38, 216, 104, 47, 163, 217, 220, 177, 33, 156, 202, 148, 188, 217, 220, 177, 33, 61, 205, 83, 200, 222, 45, 18, 11, 140, 240, 158, 211, 183, 35, 136, 14, 135, 246, 229, 207, 183, 35, 136, 14, 124, 109, 171, 155, 171, 21, 208, 214, 216, 66, 146, 202, 171, 21, 208, 214, 198, 237, 130, 220, 185, 36, 105, 182, 68, 119, 123, 205, 185, 36, 105, 182, 232, 175, 61, 235, 146, 245, 153, 192, 135, 14, 127, 153, 223, 196, 97, 204, 144, 20, 162, 132, 223, 196, 97, 204, 22, 179, 90, 176, 236, 10, 102, 60, 161, 68, 191, 189, 236, 10, 102, 60, 64, 252, 24, 226, 22, 17, 235, 50, 81, 251, 1, 223, 248, 20, 0, 78, 17, 95, 214, 203, 248, 20, 0, 78, 48, 254, 15, 239, 248, 20, 0, 78, 187, 90, 157, 247, 248, 20, 0, 78, 225, 135, 251, 150, 131, 237, 101, 172, 106, 13, 108, 140, 131, 237, 101, 172, 103, 153, 7, 156, 150, 252, 119, 66, 59, 12, 43, 155, 27, 250, 205, 189, 239, 11, 72, 154, 221, 5, 237, 53, 80, 251, 173, 221, 221, 5, 237, 53, 193, 140, 51, 255, 255, 252, 79, 69, 77, 12, 235, 153, 157, 7, 173, 194, 108, 66, 26, 193, 157, 7, 173, 194, 0, 248, 77, 226, 164, 250, 129, 185, 149, 12, 67, 152, 10, 58, 81, 134, 117, 8, 207, 230, 10, 58, 81, 134, 88, 179, 24, 196, 124, 5, 25, 196, 135, 248, 7, 225, 124, 5, 25, 196, 198, 252, 208, 159, 92, 242, 244, 61, 123, 11, 96, 155, 92, 242, 244, 61, 179, 183, 89, 196, 55, 196, 34, 109, 192, 222, 227, 142, 55, 196, 34, 109, 167, 236, 244, 233, 255, 238, 125, 60, 167, 11, 92, 155, 52, 240, 16, 59, 65, 11, 111, 156, 219, 198, 47, 110, 164, 220, 172, 141, 219, 198, 47, 110, 214, 235, 31, 235, 219, 200, 83, 104, 124, 220, 234, 137, 219, 200, 83, 104, 62, 226, 205, 237, 171, 60, 109, 119, 167, 40, 151, 145, 171, 60, 109, 119, 249, 180, 18, 188, 171, 60, 109, 119, 192, 122, 157, 247, 54, 59, 137, 129, 33, 38, 185, 148, 54, 59, 137, 129, 20, 13, 222, 229, 54, 59, 137, 129, 68, 185, 62, 193, 30, 9, 186, 58, 71, 253, 204, 159, 30, 9, 186, 58, 6, 229, 151, 154, 30, 9, 186, 58, 78, 243, 79, 227, 66, 10, 249, 60, 69, 250, 184, 157, 66, 10, 249, 60, 192, 228, 120, 153, 66, 10, 249, 60, 181, 108, 151, 253, 25, 56, 125, 134, 215, 7, 173, 231, 25, 56, 125, 134, 138, 177, 210, 195, 247, 11, 202, 201, 166, 245, 30, 224, 247, 11, 202, 201, 202, 247, 125, 159, 41, 241, 112, 65, 243, 11, 64, 153, 41, 241, 112, 65, 155, 178, 203, 197, 93, 191, 22, 109, 67, 224, 107, 145, 93, 191, 22, 109, 141, 238, 80, 231, 206, 46, 79, 129, 238, 10, 8, 235, 206, 46, 79, 129, 130, 0, 228, 150, 206, 46, 79, 129, 184, 173, 88, 192, 195, 0, 6, 60, 55, 251, 119, 223, 195, 0, 6, 60, 13, 255, 142, 161, 132, 248, 32, 72, 136, 13, 101, 151, 143, 195, 137, 127, 108, 236, 116, 153, 143, 195, 137, 127, 205, 250, 28, 227, 53, 61, 50, 128, 103, 9, 177, 227, 53, 61, 50, 128, 68, 119, 44, 130, 53, 61, 50, 128, 116, 188, 174, 192, 105, 5, 138, 61, 195, 250, 139, 225, 105, 5, 138, 61, 138, 117, 219, 142, 111, 230, 86, 204, 148, 15, 234, 153, 111, 230, 86, 204, 186, 187, 112, 184, 111, 230, 86, 204, 87, 23, 6, 151, 102, 175, 29, 159, 197, 242, 207, 228, 102, 175, 29, 159, 89, 228, 207, 234, 102, 175, 29, 159, 85, 246, 196, 159, 54, 239, 47, 233, 33, 12, 34, 173, 54, 239, 47, 233, 61, 228, 213, 190, 203, 90, 168, 245, 5, 195, 231, 201, 203, 90, 168, 245, 84, 224, 216, 199, 190, 227, 25, 201, 200, 16, 159, 150, 190, 227, 25, 201, 171, 183, 90, 186, 190, 227, 25, 201, 10, 184, 118, 187, 201, 251, 139, 232, 205, 6, 0, 177, 201, 251, 139, 232, 19, 230, 252, 192, 9, 242, 204, 16, 130, 2, 166, 181, 9, 242, 204, 16, 195, 231, 173, 195, 36, 226, 35, 17, 192, 3, 75, 205, 36, 226, 35, 17, 61, 221, 229, 203, 36, 226, 35, 17, 136, 121, 24, 147, 71, 254, 244, 20, 105, 6, 190, 178, 71, 254, 244, 20, 177, 231, 220, 193, 175, 251, 166, 240, 78, 7, 186, 180, 175, 251, 166, 240, 237, 237, 50, 193, 30, 249, 60, 11, 39, 4, 75, 184, 30, 249, 60, 11, 79, 241, 166, 193, 81, 142, 203, 118, 76, 252, 49, 201, 41, 236, 58, 14, 192, 0, 82, 183, 41, 236, 58, 14, 248, 232, 131, 196, 189, 241, 9, 11, 211, 1, 19, 185, 189, 241, 9, 11, 241, 236, 67, 196, 227, 137, 245, 109, 6, 253, 220, 198, 196, 141, 78, 124, 113, 252, 157, 200, 41, 253, 34, 8, 50, 4, 236, 185, 41, 253, 34, 8, 75, 244, 217, 193, 17, 136, 36, 119, 201, 252, 181, 197, 254, 248, 233, 14, 181, 4, 46, 182, 254, 248, 233, 14, 255, 236, 247, 193, 210, 131, 128, 129, 196, 253, 6, 195, 53, 254, 144, 8, 191, 4, 121, 185, 53, 254, 144, 8, 26, 244, 190, 193, 113, 134, 241, 138, 76, 252, 112, 197, 150, 56, 163, 63, 254, 101, 212, 200, 150, 56, 163, 63, 204, 167, 254, 166, 216, 21, 12, 180, 164, 190, 91, 240, 216, 21, 12, 180, 167, 107, 101, 208, 216, 21, 12, 180, 242, 177, 219, 240, 216, 21, 12, 180, 196, 96, 8, 159, 60, 75, 157, 243, 242, 245, 178, 203, 60, 75, 157, 243, 205, 195, 35, 206, 60, 75, 157, 243, 139, 209, 121, 204, 107, 209, 222, 197, 56, 1, 200, 145, 107, 209, 222, 197, 122, 175, 1, 173, 243, 231, 138, 83, 38, 21, 239, 140, 243, 231, 138, 83, 18, 117, 218, 154, 11, 167, 145, 18, 34, 10, 114, 170, 11, 167, 145, 18, 200, 166, 240, 186, 251, 28, 5, 97, 37, 112, 89, 216, 251, 28, 5, 97, 245, 43, 44, 250, 251, 28, 5, 97, 24, 144, 47, 163, 214, 38, 107, 215, 127, 108, 158, 217, 214, 38, 107, 215, 190, 181, 25, 225, 214, 38, 107, 215, 196, 204, 235, 223, 30, 174, 202, 245, 115, 201, 33, 197, 30, 174, 202, 245, 246, 199, 107, 197, 80, 189, 204, 192, 14, 22, 165, 245, 80, 189, 204, 192, 162, 171, 190, 170, 43, 164, 80, 120, 95, 192, 116, 231, 43, 164, 80, 120, 126, 171, 130, 140, 43, 164, 80, 120, 203, 214, 84, 224, 218, 95, 90, 82, 252, 204, 138, 182, 218, 95, 90, 82, 103, 190, 181, 198, 248, 57, 238, 83, 150, 16, 106, 242, 248, 57, 238, 83, 152, 164, 148, 170, 158, 11, 81, 183, 124, 204, 16, 239, 158, 11, 81, 183, 163, 103, 1, 149, 158, 11, 81, 183, 79, 218, 40, 237, 158, 11, 81, 183, 156, 166, 182, 11, 48, 196, 143, 115, 41, 232, 16, 148, 48, 196, 143, 115, 246, 105, 167, 141, 48, 196, 143, 115, 206, 207, 11, 237, 22, 120, 127, 71, 22, 228, 22, 196, 22, 120, 127, 71, 246, 213, 75, 200, 90, 65, 31, 254, 171, 31, 31, 160, 90, 65, 31, 254, 252, 220, 30, 201, 90, 65, 31, 254, 12, 216, 70, 202, 67, 211, 200, 186, 145, 27, 17, 129, 67, 211, 200, 186, 246, 166, 112, 168, 120, 39, 142, 85, 94, 30, 126, 250, 120, 39, 142, 85, 255, 151, 42, 164, 243, 183, 236, 114, 235, 225, 41, 229, 243, 183, 236, 114, 9, 104, 185, 136, 243, 183, 236, 114, 64, 208, 176, 232, 155, 28, 48, 212, 220, 72, 178, 161, 155, 28, 48, 212, 139, 216, 142, 225, 3, 107, 22, 77, 139, 220, 125, 187, 3, 107, 22, 77, 199, 203, 65, 198, 28, 197, 133, 239, 22, 12, 253, 166, 28, 197, 133, 239, 171, 221, 45, 193, 28, 197, 133, 239, 162, 199, 1, 200, 116, 208, 250, 181, 41, 19, 250, 245, 116, 208, 250, 181, 233, 163, 223, 166, 9, 14, 115, 86, 220, 205, 175, 249, 9, 14, 115, 86, 47, 125, 122, 153, 70, 149, 89, 45, 82, 28, 126, 138, 70, 149, 89, 45, 11, 196, 138, 205, 70, 149, 89, 45, 188, 247, 177, 216, 104, 53, 161, 246, 203, 231, 191, 202, 104, 53, 161, 246, 8, 209, 27, 208, 59, 219, 35, 203, 161, 20, 108, 146, 59, 219, 35, 203, 136, 181, 96, 183, 5, 85, 25, 64, 10, 186, 28, 180, 229, 234, 193, 87, 133, 20, 165, 139, 229, 234, 193, 87, 161, 186, 130, 253, 239, 200, 191, 252, 192, 242, 51, 194, 239, 200, 191, 252, 128, 210, 161, 203, 239, 200, 191, 252, 230, 220, 151, 200, 173, 34, 187, 203, 188, 242, 74, 228, 173, 34, 187, 203, 88, 200, 189, 229, 35, 12, 64, 14, 222, 245, 215, 204, 74, 4, 17, 62, 40, 246, 186, 226, 16, 76, 222, 146, 127, 189, 241, 199, 16, 76, 222, 146, 122, 98, 229, 144, 215, 18, 186, 202, 138, 239, 5, 226, 215, 18, 186, 202, 145, 92, 165, 147, 121, 204, 195, 224, 76, 205, 95, 182, 121, 204, 195, 224, 122, 39, 225, 140, 70, 160, 108, 184, 27, 218, 49, 246, 70, 160, 108, 184, 26, 240, 9, 165, 200, 237, 152, 251, 198, 247, 94, 193, 7, 136, 171, 147, 33, 253, 83, 198, 75, 64, 112, 135, 238, 147, 80, 241, 75, 64, 112, 135, 148, 184, 155, 196, 75, 64, 112, 135, 164, 90, 154, 139, 147, 9, 161, 192, 221, 120, 250, 239, 147, 9, 161, 192, 193, 243, 151, 228, 147, 9, 161, 192, 67, 100, 161, 150, 50, 213, 69, 226, 41, 209, 171, 184, 50, 213, 69, 226, 43, 44, 49, 144, 143, 160, 90, 165, 194, 212, 191, 237, 143, 160, 90, 165, 56, 243, 139, 167, 141, 251, 21, 252, 89, 249, 74, 193, 102, 134, 52, 126, 55, 253, 138, 196, 216, 72, 169, 97, 109, 112, 178, 230, 216, 72, 169, 97, 37, 180, 178, 177, 216, 72, 169, 97, 50, 167, 17, 203, 255, 29, 215, 55, 58, 83, 122, 233, 255, 29, 215, 55, 5, 231, 251, 153, 255, 29, 215, 55, 63, 88, 153, 181, 197, 239, 194, 0, 127, 252, 140, 193, 182, 131, 132, 111, 44, 253, 72, 195, 113, 220, 251, 44, 155, 190, 11, 204, 113, 220, 251, 44, 12, 184, 97, 235, 200, 216, 218, 217, 129, 198, 73, 182, 200, 216, 218, 217, 48, 37, 174, 145, 59, 245, 70, 13, 56, 240, 205, 192, 69, 249, 34, 188, 122, 182, 137, 189, 69, 249, 34, 188, 207, 13, 194, 152, 69, 249, 34, 188, 21, 130, 188, 246, 216, 171, 44, 162, 94, 226, 49, 235, 216, 171, 44, 162, 80, 235, 88, 160, 240, 178, 87, 92, 220, 192, 68, 229, 240, 178, 87, 92, 148, 225, 63, 228, 197, 136, 240, 107, 194, 252, 98, 198, 168, 205, 128, 131, 222, 247, 168, 150, 168, 205, 128, 131, 165, 168, 148, 249, 168, 205, 128, 131, 197, 254, 220, 151, 112, 99, 59, 78, 75, 209, 227, 181, 112, 99, 59, 78, 233, 149, 89, 215, 189, 114, 34, 39, 198, 130, 245, 205, 67, 90, 229, 13, 103, 123, 98, 179, 138, 53, 206, 28, 110, 237, 56, 168, 138, 53, 206, 28, 46, 107, 91, 170, 98, 166, 225, 13, 7, 123, 124, 178, 52, 204, 153, 28, 11, 209, 225, 201, 52, 204, 153, 28, 197, 204, 164, 229, 52, 204, 153, 28, 121, 140, 32, 166, 48, 144, 129, 39, 236, 129, 72, 205, 13, 161, 150, 77, 32, 215, 182, 217, 13, 161, 150, 77, 105, 232, 94, 218, 13, 161, 150, 77, 130, 108, 13, 214, 212, 206, 147, 0, 131, 253, 143, 193, 212, 206, 147, 0, 3, 120, 32, 155, 2, 96, 60, 1, 238, 122, 28, 177, 139, 160, 44, 2, 233, 122, 30, 177, 45, 131, 92, 86, 140, 253, 240, 194, 45, 131, 92, 86, 108, 134, 150, 232, 33, 131, 213, 35, 187, 131, 80, 208, 198, 127, 28, 34, 156, 131, 125, 208, 250, 36, 13, 72, 232, 93, 188, 210, 250, 36, 13, 72, 58, 91, 130, 217, 250, 36, 13, 72, 243, 150, 104, 159, 61, 47, 130, 225, 37, 110, 153, 217, 61, 47, 130, 225, 198, 187, 237, 218, 61, 47, 130, 225, 71, 81, 165, 205, 195, 184, 27, 237, 2, 206, 235, 193, 195, 184, 27, 237, 146, 66, 222, 208, 217, 175, 129, 200, 185, 177, 108, 173, 186, 171, 32, 115, 153, 154, 147, 130, 186, 171, 32, 115, 14, 206, 255, 228, 186, 171, 32, 115, 30, 204, 125, 229, 224, 104, 136, 63, 95, 210, 186, 190, 224, 104, 136, 63, 136, 194, 128, 196, 103, 46, 135, 42, 143, 63, 136, 209, 103, 46, 135, 42, 209, 174, 203, 161, 202, 29, 191, 235, 234, 72, 51, 213, 68, 203, 247, 226, 167, 207, 10, 186, 68, 203, 247, 226, 102, 70, 227, 216, 82, 204, 43, 187, 224, 168, 139, 167, 130, 190, 169, 100, 190, 88, 235, 148, 130, 190, 169, 100, 234, 167, 121, 236, 90, 121, 66, 32, 147, 208, 203, 194, 35, 50, 207, 32, 190, 51, 203, 208, 35, 50, 207, 32, 130, 183, 71, 165, 5, 23, 157, 240, 165, 66, 81, 214, 204, 214, 51, 221, 91, 83, 149, 223, 204, 214, 51, 221, 124, 60, 121, 221, 204, 214, 51, 221, 100, 202, 197, 182, 188, 212, 118, 183, 17, 84, 248, 229, 188, 212, 118, 183, 21, 165, 141, 166, 87, 196, 53, 95, 118, 156, 183, 230, 87, 196, 53, 95, 108, 87, 42, 156, 87, 196, 53, 95, 152, 161, 128, 232, 224, 135, 106, 18, 201, 206, 189, 196, 71, 57, 94, 3, 47, 206, 239, 238, 71, 57, 94, 3, 67, 25, 59, 213, 71, 57, 94, 3, 221, 198, 154, 175, 160, 242, 242, 9, 18, 178, 212, 233, 160, 242, 242, 9, 224, 45, 44, 221, 247, 251, 150, 56, 162, 135, 160, 254, 247, 251, 150, 56, 32, 47, 200, 234, 118, 244, 151, 170, 102, 108, 4, 248, 238, 216, 51, 80, 39, 178, 201, 237, 238, 216, 51, 80, 143, 161, 198, 222, 14, 187, 68, 32, 73, 217, 186, 230, 14, 187, 68, 32, 182, 198, 219, 200, 211, 219, 228, 2, 17, 190, 198, 237, 211, 219, 228, 2, 95, 37, 120, 219, 27, 244, 125, 28, 187, 169, 12, 234, 27, 244, 125, 28, 174, 41, 143, 225, 100, 247, 190, 92, 151, 151, 117, 208, 184, 187, 198, 16, 4, 217, 203, 233, 184, 187, 198, 16, 136, 55, 47, 80, 76, 251, 83, 176, 170, 110, 210, 250, 72, 196, 135, 50, 88, 206, 253, 231, 72, 196, 135, 50, 69, 187, 37, 213, 243, 216, 179, 43, 235, 187, 187, 238, 135, 223, 13, 58, 59, 179, 23, 242, 249, 213, 68, 30, 213, 192, 43, 237, 215, 38, 70, 56, 58, 243, 134, 237, 215, 38, 70, 56, 116, 113, 177, 171, 168, 50, 93, 206, 222, 197, 113, 224, 59, 228, 247, 54, 180, 184, 38, 195, 78, 207, 107, 205, 152, 157, 150, 200, 78, 207, 107, 205, 56, 176, 81, 188, 114, 76, 229, 232, 39, 225, 224, 206, 42, 168, 119, 248, 196, 238, 137, 189, 42, 168, 119, 248, 242, 183, 2, 200, 45, 13, 235, 74, 39, 246, 8, 236, 244, 16, 230, 181, 109, 246, 144, 235, 244, 16, 230, 181, 209, 173, 25, 242, 148, 255, 225, 87, 253, 164, 155, 196, 93, 249, 78, 177, 98, 169, 115, 196, 244, 244, 103, 185, 210, 174, 252, 195, 233, 30, 125, 63, 121, 244, 173, 237, 233, 30, 125, 63, 34, 110, 27, 172, 3, 196, 50, 28, 242, 195, 158, 189, 3, 196, 50, 28, 149, 139, 105, 170, 82, 15, 149, 160, 101, 108, 207, 191, 5, 217, 138, 186, 178, 22, 153, 134, 5, 217, 138, 186, 83, 183, 137, 145, 107, 33, 204, 177, 35, 172, 91, 237, 17, 252, 220, 158, 99, 18, 155, 139, 169, 28, 72, 186, 141, 242, 249, 236, 169, 28, 72, 186, 150, 180, 70, 237, 0, 14, 176, 93, 92, 105, 127, 193, 0, 14, 176, 93, 78, 247, 231, 245, 32, 17, 117, 91, 124, 247, 49, 246, 100, 0, 69, 108, 101, 247, 246, 246, 100, 0, 69, 108, 81, 146, 198, 254, 230, 249, 163, 87, 172, 15, 44, 144, 118, 252, 225, 165, 87, 17, 5, 143, 0, 223, 116, 184, 6, 15, 86, 139, 0, 223, 116, 184, 129, 177, 217, 142, 100, 11, 167, 101, 74, 247, 197, 248, 100, 11, 167, 101, 192, 112, 231, 249, 245, 251, 125, 105, 18, 19, 108, 136, 53, 254, 119, 147, 117, 19, 118, 135, 113, 2, 94, 150, 49, 108, 41, 190, 113, 2, 94, 150, 47, 247, 115, 246, 238, 11, 89, 161, 232, 254, 59, 244, 17, 235, 149, 91, 134, 18, 185, 137, 250, 3, 66, 114, 250, 221, 61, 132, 250, 3, 66, 114, 224, 122, 229, 253, 217, 1, 64, 147, 176, 223, 92, 134, 217, 1, 64, 147, 194, 247, 172, 247, 29, 238, 175, 87, 146, 17, 171, 140, 129, 235, 114, 84, 52, 17, 133, 141, 215, 15, 250, 166, 241, 255, 203, 242, 80, 231, 147, 102, 159, 21, 246, 130, 71, 1, 133, 152, 156, 247, 251, 244, 71, 1, 133, 152, 152, 254, 154, 139, 238, 239, 211, 122, 50, 235, 80, 132, 9, 4, 206, 113, 208, 246, 71, 251, 9, 4, 206, 113, 169, 130, 121, 136, 249, 206, 72, 174, 171, 242, 176, 133, 249, 206, 72, 174, 119, 254, 79, 254, 201, 243, 77, 181, 81, 13, 165, 147, 110, 4, 13, 174, 161, 245, 255, 235, 51, 209, 192, 34, 111, 1, 54, 220, 51, 209, 192, 34, 73, 127, 41, 160, 206, 32, 118, 161, 7, 97, 117, 147, 57, 179, 127, 209, 84, 4, 118, 130, 164, 23, 162, 152, 188, 146, 128, 233, 164, 23, 162, 152, 88, 105, 159, 142, 148, 175, 113, 213, 168, 4, 147, 130, 240, 40, 25, 86, 136, 94, 229, 226, 240, 40, 25, 86, 153, 126, 252, 191, 8, 207, 229, 68, 155, 190, 39, 234, 49, 242, 122, 156, 30, 11, 214, 134, 49, 242, 122, 156, 127, 103, 42, 248, 89, 189, 24, 202, 184, 7, 27, 131, 24, 107, 170, 20, 145, 126, 255, 191, 226, 78, 137, 48, 143, 126, 250, 191, 196, 151, 239, 20, 7, 126, 35, 190, 52, 182, 101, 47, 128, 214, 135, 225, 52, 182, 101, 47, 132, 127, 119, 186, 200, 127, 122, 0, 152, 126, 32, 192, 211, 128, 240, 0, 149, 126, 11, 192, 102, 26, 3, 79, 174, 249, 124, 129, 251, 64, 67, 168, 12, 152, 93, 203, 252, 76, 241, 184, 9, 196, 72, 224, 187, 57, 8, 209, 9, 196, 72, 224, 148, 202, 120, 49, 85, 166, 241, 206, 213, 140, 193, 62, 234, 124, 203, 190, 73, 178, 243, 51, 234, 124, 203, 190, 6, 172, 126, 76, 222, 38, 235, 152, 142, 239, 124, 177, 160, 138, 222, 186, 81, 181, 192, 199, 26, 165, 23, 174, 45, 212, 246, 160, 26, 165, 23, 174, 55, 77, 21, 216, 214, 225, 98, 207, 176, 136, 114, 227, 42, 173, 0, 199, 96, 172, 124, 250, 42, 173, 0, 199, 188, 11, 228, 164, 119, 230, 230, 251, 243, 11, 29, 89, 124, 3, 173, 255, 65, 251, 125, 171, 113, 127, 185, 193, 7, 247, 38, 165, 203, 127, 14, 198, 247, 220, 119, 151, 99, 129, 20, 150, 82, 253, 202, 89, 81, 128, 25, 191, 169, 213, 213, 128, 196, 152, 46, 137, 171, 55, 104, 98, 26, 140, 2, 184, 87, 35, 221, 68, 200, 241, 98, 133, 142, 223, 98, 69, 228, 140, 248, 207, 122, 186, 145, 102, 0, 80, 36, 144, 114, 168, 104, 148, 237, 142, 35, 155, 94, 127, 114, 95, 131, 172, 135, 210, 154, 70, 233, 89, 144, 137, 44, 224, 132, 112, 212, 160, 214, 107, 150, 159, 113, 96, 163, 184, 195, 218, 229, 212, 241, 114, 154, 197, 154, 182, 55, 175, 209, 152, 71, 157, 156, 121, 54, 158, 199, 139, 63, 195, 110, 171, 187, 166, 131, 51, 68, 131, 139, 194, 16, 195, 51, 99, 33, 139, 66, 112, 83, 135, 151, 156, 19, 124, 232, 112, 37, 134, 45, 207, 118, 131, 232, 112, 37, 134, 63, 206, 245, 134, 188, 115, 37, 129, 253, 184, 51, 145, 224, 238, 95, 158, 55, 112, 54, 101, 242, 173, 250, 128, 170, 149, 32, 90, 126, 69, 230, 133, 154, 121, 232, 77, 64, 136, 253, 227, 176, 174, 135, 180, 14, 211, 177, 157, 35, 142, 243, 210, 14, 211, 177, 157, 53, 234, 161, 157, 34, 237, 148, 132, 97, 108, 239, 120, 57, 186, 55, 187, 141, 25, 242, 126, 49, 18, 186, 153, 49, 91, 222, 83, 195, 159, 104, 172, 89, 68, 229, 83, 195, 159, 104, 172, 84, 77, 47, 108, 69, 160, 203, 175, 226, 201, 97, 131, 156, 246, 211, 142, 88, 205, 202, 147, 69, 236, 121, 142, 240, 233, 232, 129, 47, 236, 246, 152, 21, 204, 229, 151, 226, 180, 78, 139, 250, 72, 67, 97, 158, 144, 146, 151, 224, 92, 145, 63, 158, 144, 146, 151, 210, 49, 173, 48, 0, 172, 161, 136, 120, 17, 19, 71, 0, 172, 161, 136, 106, 243, 85, 89, 50, 21, 236, 129, 97, 201, 240, 85, 57, 168, 7, 248, 41, 201, 109, 63, 192, 141, 224, 229, 212, 229, 145, 117, 143, 231, 205, 150, 2, 234, 94, 56, 143, 231, 205, 150, 77, 156, 56, 124, 50, 244, 166, 227, 48, 2, 81, 102, 74, 246, 37, 154, 167, 2, 212, 5, 161, 245, 7, 154, 157, 15, 56, 64, 161, 245, 7, 154, 93, 6, 60, 177, 34, 158, 186, 248, 223, 234, 12, 249, 10, 255, 82, 158, 227, 112, 167, 127, 115, 189, 121, 189, 213, 34, 43, 133, 9, 23, 159, 153, 229, 52, 163, 143, 14, 127, 201, 250, 113, 206, 165, 144, 184, 253, 30, 225, 65, 148, 66, 134, 213, 243, 57, 158, 236, 174, 65, 171, 123, 80, 78, 181, 126, 204, 222, 214, 158, 168, 223, 206, 201, 239, 179, 226, 63, 190, 195, 183, 229, 139, 130, 208, 89, 240, 166, 207, 47, 95, 16, 191, 225, 240, 194, 205, 169, 147, 177, 147, 146, 202, 204, 246, 188, 180, 59, 127, 146, 202, 204, 246, 17, 115, 11, 74, 142, 240, 50, 207, 110, 93, 214, 107, 158, 249, 213, 204, 249, 166, 131, 127, 158, 249, 213, 204, 191, 191, 176, 111, 40, 26, 166, 67, 7, 161, 230, 80, 40, 26, 166, 67, 204, 187, 41, 70, 252, 235, 109, 212, 237, 144, 33, 47, 252, 235, 109, 212, 5, 184, 19, 41, 223, 213, 219, 201, 123, 84, 110, 10, 223, 213, 219, 201, 229, 231, 60, 56, 76, 0, 32, 186, 35, 195, 149, 41, 168, 242, 37, 191, 113, 62, 85, 24, 168, 242, 37, 191, 193, 17, 252, 44, 168, 242, 37, 191, 65, 54, 39, 76, 130, 175, 111, 167, 190, 78, 214, 34, 130, 175, 111, 167, 153, 31, 39, 123, 137, 12, 79, 129, 202, 36, 15, 121, 148, 136, 155, 163, 51, 41, 48, 145, 110, 5, 254, 145, 20, 83, 248, 182, 102, 158, 52, 230, 45, 73, 245, 155, 107, 159, 190, 223, 150, 145, 102, 200, 191, 236, 111, 203, 54, 104, 82, 198, 240, 230, 109, 215, 207, 91, 194, 166, 156, 235, 77, 199, 0, 203, 114, 152, 94, 244, 173, 242, 134, 161, 178, 184, 138, 209, 243, 152, 243, 221, 173, 130, 71, 225, 228, 242, 10, 197, 32, 89, 223, 160, 196, 241, 139, 188, 85, 97, 117, 219, 192, 132, 86, 215, 232, 141, 117, 219, 192, 132, 46, 118, 62, 61, 193, 211, 62, 203, 220, 89, 98, 61, 193, 211, 62, 203, 116, 176, 9, 63, 193, 211, 62, 203, 91, 116, 189, 21, 193, 211, 62, 203, 74, 161, 31, 70, 191, 26, 186, 73, 240, 43, 223, 70, 117, 2, 95, 254, 173, 37, 132, 76, 5, 117, 243, 212, 53, 37, 36, 125, 221, 112, 84, 219, 80, 103, 191, 183, 19, 193, 91, 213, 36, 110, 142, 182, 235, 190, 56, 223, 23, 68, 181, 149, 41, 193, 247, 212, 237, 141, 149, 202, 130, 252, 146, 179, 135, 213, 252, 205, 53, 204, 5, 155, 15, 169, 36, 192, 53, 204, 5, 155, 246, 229, 249, 188, 101, 96, 226, 207, 249, 216, 255, 172, 101, 96, 226, 207, 15, 229, 171, 16, 139, 201, 143, 204, 127, 234, 145, 209, 221, 167, 120, 159, 231, 242, 249, 199, 89, 157, 85, 239, 170, 45, 28, 7, 55, 244, 213, 223, 112, 45, 251, 49, 55, 244, 213, 223, 210, 41, 121, 59, 24, 50, 48, 193, 83, 45, 233, 56, 144, 251, 101, 139, 239, 39, 176, 103, 4, 94, 198, 209, 166, 41, 11, 101, 9, 133, 189, 146, 16, 77, 32, 154, 107, 161, 141, 218, 234, 39, 166, 108, 107, 161, 141, 218, 112, 49, 32, 23, 69, 237, 205, 214, 222, 60, 40, 36, 14, 179, 241, 169, 55, 205, 191, 30, 103, 243, 167, 209, 120, 43, 36, 68, 224, 7, 66, 128, 218, 40, 232, 70, 155, 110, 101, 213, 153, 41, 216, 110, 69, 109, 178, 214, 108, 221, 16, 16, 207, 185, 217, 201, 209, 247, 33, 187, 11, 171, 85, 220, 228, 216, 120, 51, 11, 171, 85, 220, 224, 100, 237, 171, 96, 188, 163, 212, 170, 57, 13, 140, 237, 186, 79, 215, 115, 104, 52, 175, 237, 186, 79, 215, 147, 153, 215, 190, 21, 230, 233, 177, 89, 121, 120, 190, 62, 253, 120, 209, 201, 89, 194, 17, 246, 214, 92, 199, 80, 172, 23, 43, 246, 214, 92, 199, 108, 203, 225, 42, 210, 213, 235, 198, 214, 153, 219, 183, 242, 233, 30, 190, 143, 106, 135, 175, 166, 226, 110, 212, 123, 207, 233, 142, 11, 235, 180, 237, 60, 171, 120, 174, 134, 212, 136, 154, 248, 212, 71, 159, 176, 74, 10, 207, 132, 185, 132, 70, 134, 158, 164, 243, 23, 244, 83, 146, 102, 129, 162, 223, 58, 212, 23, 63, 102, 129, 162, 223, 190, 11, 221, 171, 236, 226, 41, 250, 48, 52, 244, 144, 90, 92, 148, 147, 8, 128, 218, 135, 147, 211, 213, 232, 108, 148, 232, 186, 41, 251, 169, 188, 87, 105, 198, 163, 32, 128, 71, 156, 62, 92, 153, 174, 108, 252, 231, 197, 62, 242, 154, 156, 117, 236, 221, 128, 215, 236, 121, 124, 188, 76, 149, 252, 147, 6, 181, 95, 75, 237, 50, 255, 145, 36, 134, 122, 185, 117, 4, 133, 103, 73, 197, 143, 104, 110, 237, 129, 179, 75, 17, 110, 104, 110, 237, 129, 209, 234, 39, 70, 232, 30, 145, 146, 239, 216, 252, 105, 63, 213, 79, 230, 104, 159, 84, 84, 63, 213, 79, 230, 12, 173, 150, 59, 92, 125, 230, 190, 172, 15, 143, 184, 19, 168, 228, 237, 7, 10, 87, 238, 69, 242, 221, 224, 101, 122, 10, 140, 47, 189, 103, 198, 80, 1, 186, 167, 225, 119, 250, 240, 102, 10, 44, 25, 234, 249, 15, 227, 27, 45, 201, 123, 153, 149, 89, 241, 119, 96, 96, 12, 203, 88, 237, 180, 156, 15, 249, 82, 60, 82, 68, 234, 44, 21, 120, 25, 70, 225, 240, 153, 136, 108, 147, 45, 191, 167, 101, 202, 146, 93, 107, 117, 157, 179, 26, 178, 183, 155, 155, 118, 196, 231, 179, 224, 93, 196, 145, 106, 165, 71, 163, 153, 173, 159, 135, 149, 252, 236, 71, 163, 213, 176, 125, 176, 181, 90, 89, 174, 13, 188, 232, 127, 202, 251, 96, 155, 9, 196, 202, 204, 137, 167, 246, 207, 40, 232, 178, 186, 137, 167, 246, 207, 146, 248, 108, 220, 69, 192, 105, 180, 155, 225, 174, 67, 190, 87, 30, 155, 80, 234, 246, 41, 171, 183, 192, 205, 125, 241, 172, 174, 43, 174, 38, 189, 50, 237, 24, 83, 252, 109, 214, 129, 44, 245, 229, 55, 103, 173, 12, 188, 142, 156, 151, 50, 85, 114, 105, 217, 145, 133, 70, 111, 232, 235, 118, 215, 63, 175, 254, 32, 139, 155, 59, 173, 32, 244, 79, 13, 15, 203, 130, 202, 125, 49, 17, 80, 111, 20, 13, 135, 107, 85, 103, 65, 186, 159, 56, 179, 134, 45, 44, 127, 92, 125, 241, 214, 225, 65, 47, 113, 92, 125, 241, 214, 142, 118, 15, 170, 85, 201, 19, 228, 31, 117, 45, 193, 54, 206, 122, 211, 170, 83, 37, 151, 79, 206, 47, 210, 10, 71, 8, 132, 79, 206, 47, 210, 211, 229, 204, 191, 47, 93, 212, 206, 81, 213, 188, 176, 47, 93, 212, 206, 56, 212, 37, 208, 5, 212, 169, 159, 31, 220, 61, 208, 5, 212, 169, 159, 62, 180, 143, 187, 5, 212, 169, 159, 86, 249, 165, 183, 75, 163, 90, 235, 110, 219, 239, 13, 250, 187, 19, 211, 30, 246, 38, 206, 213, 158, 214, 158, 161, 216, 36, 37, 229, 183, 245, 175, 140, 53, 126, 29, 14, 243, 247, 225, 115, 50, 78, 66, 14, 243, 247, 225, 0, 75, 67, 46, 234, 160, 13, 170, 115, 186, 180, 14, 234, 160, 13, 170, 86, 96, 246, 94, 68, 167, 57, 206, 12, 89, 216, 131, 68, 167, 57, 206, 131, 138, 189, 167, 157, 238, 251, 226, 62, 190, 130, 109, 157, 238, 251, 226, 117, 164, 19, 186, 247, 209, 122, 163, 5, 245, 84, 76, 202, 166, 128, 213, 31, 237, 65, 167, 202, 166, 128, 213, 234, 201, 27, 38, 78, 162, 141, 190, 92, 190, 238, 68, 78, 162, 141, 190, 70, 132, 2, 161, 36, 220, 212, 211, 32, 155, 157, 89, 36, 220, 212, 211, 52, 112, 163, 110, 22, 190, 213, 223, 116, 207, 166, 164, 212, 102, 189, 218, 39, 193, 135, 168, 122, 187, 82, 139, 202, 247, 207, 147, 49, 144, 204, 215, 53, 225, 40, 156, 190, 116, 82, 221, 115, 163, 4, 85, 66, 239, 108, 206, 151, 101, 212, 60, 94, 171, 155, 211, 176, 170, 147, 39, 94, 171, 155, 211, 137, 183, 31, 153, 219, 252, 148, 151, 129, 167, 107, 184, 88, 152, 207, 164, 65, 209, 36, 150, 120, 113, 232, 150, 15, 33, 1, 138, 37, 8, 209, 139, 88, 46, 206, 161, 145, 167, 86, 237, 137, 3, 197, 144, 160, 17, 59, 132, 204, 14, 235, 155, 20, 112, 133, 253, 86, 214, 156, 139, 231, 235, 41, 132, 253, 248, 254, 170, 231, 235, 41, 132, 33, 182, 43, 198, 203, 129, 17, 194, 146, 224, 140, 120, 77, 197, 202, 246, 79, 172, 121, 107, 77, 197, 202, 246, 175, 0, 243, 117, 108, 147, 241, 233, 230, 27, 201, 154, 175, 157, 201, 244, 57, 52, 253, 146, 175, 157, 201, 244, 166, 116, 138, 14, 101, 129, 1, 192, 73, 34, 24, 106, 192, 94, 61, 227, 139, 189, 155, 70, 51, 127, 113, 202, 8, 220, 79, 91, 76, 77, 26, 157, 195, 219, 184, 113, 78, 138, 169, 143, 190, 216, 41, 159, 169, 113, 193, 187, 245, 37, 237, 23, 148, 254, 142, 220, 51, 15, 215, 69, 148, 254, 142, 220, 12, 200, 78, 6, 241, 239, 8, 201, 201, 247, 254, 187, 242, 168, 77, 207, 17, 237, 163, 233, 187, 194, 82, 184, 179, 190, 182, 231, 162, 189, 21, 196, 83, 230, 37, 32, 235, 22, 125, 213, 167, 22, 120, 10, 177, 232, 90, 206, 21, 245, 85, 228, 177, 232, 90, 206, 160, 53, 137, 236, 15, 234, 54, 194, 20, 16, 3, 15, 39, 246, 160, 223, 161, 220, 216, 247, 39, 246, 160, 223, 124, 12, 241, 73, 39, 246, 160, 223, 25, 38, 217, 205, 121, 173, 101, 241, 145, 231, 77, 55, 156, 202, 148, 188, 253, 218, 110, 9, 61, 205, 83, 200, 175, 0, 115, 102, 68, 119, 123, 205, 188, 38, 2, 195, 232, 175, 61, 235, 192, 1, 136, 152, 161, 68, 191, 189, 11, 8, 212, 52, 64, 252, 24, 226, 226, 5, 138, 97, 64, 252, 24, 226, 207, 23, 122, 82, 17, 95, 214, 203, 77, 16, 83, 52, 48, 254, 15, 239, 25, 59, 152, 46, 225, 135, 251, 150, 19, 45, 49, 31, 225, 135, 251, 150, 83, 5, 214, 230, 80, 251, 173, 221, 52, 0, 118, 171, 80, 251, 173, 221, 106, 7, 113, 82, 193, 140, 51, 255, 109, 255, 99, 104, 124, 220, 234, 137, 79, 199, 212, 89, 62, 226, 205, 237, 229, 153, 165, 113, 62, 226, 205, 237, 243, 125, 21, 80, 62, 226, 205, 237, 168, 168, 93, 76, 62, 226, 205, 237, 51, 101, 19, 115, 249, 180, 18, 188, 71, 84, 92, 104, 249, 180, 18, 188, 181, 10, 19, 114, 192, 122, 157, 247, 186, 38, 158, 126, 33, 38, 185, 148, 133, 37, 228, 131, 20, 13, 222, 229, 159, 104, 145, 119, 68, 185, 62, 193, 96, 7, 165, 15, 71, 253, 204, 159, 43, 3, 30, 18, 69, 250, 184, 157, 178, 33, 56, 136, 215, 7, 173, 231, 75, 103, 242, 130, 138, 177, 210, 195, 112, 163, 84, 117, 138, 177, 210, 195, 12, 66, 46, 131, 138, 177, 210, 195, 174, 5, 241, 22, 166, 245, 30, 224, 105, 1, 123, 163, 166, 245, 30, 224, 12, 6, 161, 171, 202, 247, 125, 159, 118, 2, 54, 157, 238, 10, 8, 235, 32, 24, 23, 139, 130, 0, 228, 150, 18, 65, 188, 130, 184, 173, 88, 192, 99, 0, 48, 111, 103, 9, 177, 227, 192, 42, 151, 145, 68, 119, 44, 130, 204, 97, 140, 137, 116, 188, 174, 192, 252, 138, 0, 155, 116, 188, 174, 192, 242, 209, 174, 202, 87, 23, 6, 151, 88, 175, 61, 176, 89, 228, 207, 234, 203, 160, 186, 140, 85, 246, 196, 159, 36, 192, 72, 219, 5, 195, 231, 201, 233, 63, 13, 224, 84, 224, 216, 199, 237, 233, 34, 180, 200, 16, 159, 150, 211, 239, 151, 53, 200, 16, 159, 150, 20, 234, 237, 222, 171, 183, 90, 186, 82, 207, 53, 202, 10, 184, 118, 187, 57, 255, 116, 189, 205, 6, 0, 177, 3, 3, 93, 7, 19, 230, 252, 192, 6, 226, 58, 29, 192, 3, 75, 205, 239, 19, 251, 19, 61, 221, 229, 203, 202, 46, 51, 14, 136, 121, 24, 147, 122, 239, 212, 61, 191, 4, 121, 185, 65, 237, 38, 151, 191, 4, 121, 185, 48, 10, 255, 236, 26, 244, 190, 193, 91, 222, 138, 221, 26, 244, 190, 193, 157, 18, 202, 88, 254, 101, 212, 200, 40, 56, 218, 64, 204, 167, 254, 166, 112, 95, 176, 71, 204, 167, 254, 166, 42, 20, 86, 88, 204, 167, 254, 166, 214, 89, 64, 34, 204, 167, 254, 166, 15, 37, 14, 200, 164, 190, 91, 240, 113, 6, 239, 160, 167, 107, 101, 208, 183, 46, 193, 203, 242, 177, 219, 240, 201, 4, 189, 95, 196, 96, 8, 159, 140, 44, 182, 216, 242, 245, 178, 203, 92, 46, 54, 211, 242, 245, 178, 203, 17, 196, 233, 228, 205, 195, 35, 206, 3, 66, 238, 227, 139, 209, 121, 204, 159, 234, 19, 175, 38, 21, 239, 140, 85, 240, 41, 29, 38, 21, 239, 140, 111, 212, 130, 56, 38, 21, 239, 140, 153, 209, 54, 201, 18, 117, 218, 154, 151, 192, 241, 41, 34, 10, 114, 170, 185, 70, 106, 34, 200, 166, 240, 186, 231, 54, 93, 20, 200, 166, 240, 186, 196, 105, 60, 16, 200, 166, 240, 186, 178, 8, 86, 89, 37, 112, 89, 216, 164, 1, 243, 91, 245, 43, 44, 250, 96, 50, 110, 88, 24, 144, 47, 163, 184, 17, 128, 191, 127, 108, 158, 217, 24, 54, 178, 229, 190, 181, 25, 225, 215, 32, 209, 210, 196, 204, 235, 223, 155, 65, 147, 248, 196, 204, 235, 223, 101, 187, 152, 159, 14, 22, 165, 245, 186, 176, 169, 155, 162, 171, 190, 170, 36, 190, 5, 211, 162, 171, 190, 170, 31, 193, 40, 169, 162, 171, 190, 170, 191, 181, 187, 140, 95, 192, 116, 231, 186, 174, 108, 145, 126, 171, 130, 140, 27, 148, 243, 102, 203, 214, 84, 224, 123, 83, 196, 76, 252, 204, 138, 182, 11, 132, 184, 68, 252, 204, 138, 182, 149, 142, 101, 92, 103, 190, 181, 198, 78, 26, 240, 204, 124, 204, 16, 239, 79, 31, 248, 210, 163, 103, 1, 149, 224, 1, 82, 86, 79, 218, 40, 237, 31, 23, 8, 88, 156, 166, 182, 11, 103, 253, 225, 137, 41, 232, 16, 148, 207, 205, 58, 146, 246, 105, 167, 141, 143, 184, 132, 100, 206, 207, 11, 237, 23, 144, 5, 88, 206, 207, 11, 237, 236, 47, 75, 233, 171, 31, 31, 160, 126, 51, 36, 238, 252, 220, 30, 201, 150, 200, 164, 235, 12, 216, 70, 202, 32, 15, 136, 86, 94, 30, 126, 250, 45, 61, 104, 83, 255, 151, 42, 164, 229, 186, 254, 148, 235, 225, 41, 229, 190, 198, 216, 143, 9, 104, 185, 136, 69, 143, 101, 93, 64, 208, 176, 232, 248, 42, 40, 228, 220, 72, 178, 161, 176, 9, 231, 181, 139, 216, 142, 225, 64, 43, 189, 227, 139, 216, 142, 225, 22, 197, 24, 221, 171, 221, 45, 193, 252, 58, 89, 244, 162, 199, 1, 200, 193, 19, 0, 189, 220, 205, 175, 249, 154, 32, 153, 203, 220, 205, 175, 249, 176, 28, 41, 87, 47, 125, 122, 153, 33, 178, 27, 45, 82, 28, 126, 138, 71, 114, 34, 40, 11, 196, 138, 205, 165, 160, 219, 87, 188, 247, 177, 216, 108, 193, 249, 86, 188, 247, 177, 216, 173, 39, 16, 221, 203, 231, 191, 202, 113, 199, 148, 243, 8, 209, 27, 208, 8, 241, 91, 174, 161, 20, 108, 146, 230, 207, 136, 216, 136, 181, 96, 183, 50, 219, 164, 163, 136, 181, 96, 183, 111, 237, 245, 87, 133, 20, 165, 139, 139, 195, 162, 56, 133, 20, 165, 139, 159, 203, 25, 92, 161, 186, 130, 253, 168, 222, 120, 249, 192, 242, 51, 194, 210, 200, 155, 210, 128, 210, 161, 203, 200, 51, 127, 227, 230, 220, 151, 200, 198, 7, 74, 212, 188, 242, 74, 228, 15, 37, 172, 186, 88, 200, 189, 229, 240, 49, 246, 148, 122, 98, 229, 144, 122, 8, 238, 186, 138, 239, 5, 226, 49, 4, 46, 46, 138, 239, 5, 226, 222, 22, 17, 175, 145, 92, 165, 147, 248, 47, 194, 126, 238, 147, 80, 241, 105, 51, 183, 143, 164, 90, 154, 139, 206, 11, 211, 81, 221, 120, 250, 239, 213, 0, 57, 197, 193, 243, 151, 228, 234, 47, 254, 112, 109, 112, 178, 230, 62, 23, 93, 70, 58, 83, 122, 233, 165, 220, 101, 56, 12, 184, 97, 235, 10, 232, 106, 230, 129, 198, 73, 182, 47, 206, 200, 202, 48, 37, 174, 145, 84, 229, 171, 28, 122, 182, 137, 189, 158, 185, 247, 177, 94, 226, 49, 235, 28, 154, 93, 135, 80, 235, 88, 160, 76, 161, 164, 97, 148, 225, 63, 228, 38, 207, 18, 144, 222, 247, 168, 150, 252, 203, 218, 95, 165, 168, 148, 249, 119, 185, 41, 113, 197, 254, 220, 151, 238, 72, 10, 107, 75, 209, 227, 181, 184, 114, 43, 113, 75, 209, 227, 181, 69, 146, 94, 82, 75, 209, 227, 181, 172, 76, 162, 76, 233, 149, 89, 215, 213, 125, 206, 13, 233, 149, 89, 215, 66, 19, 251, 50, 110, 237, 56, 168, 18, 229, 151, 7, 110, 237, 56, 168, 239, 69, 169, 38, 46, 107, 91, 170, 73, 218, 246, 30, 11, 209, 225, 201, 9, 159, 172, 20, 121, 140, 32, 166, 1, 159, 204, 40, 130, 108, 13, 214, 11, 17, 161, 193, 232, 93, 188, 210, 99, 5, 150, 84, 232, 93, 188, 210, 94, 22, 224, 60, 58, 91, 130, 217, 168, 81, 252, 41, 243, 150, 104, 159, 22, 29, 64, 206, 37, 110, 153, 217, 41, 64, 84, 240, 198, 187, 237, 218, 219, 55, 164, 245, 71, 81, 165, 205, 218, 13, 170, 220, 71, 81, 165, 205, 40, 5, 159, 61, 71, 81, 165, 205, 70, 200, 234, 245, 146, 66, 222, 208, 218, 174, 156, 145, 153, 154, 147, 130, 16, 202, 63, 120, 153, 154, 147, 130, 138, 187, 132, 156, 153, 154, 147, 130, 179, 147, 13, 88, 14, 206, 255, 228, 5, 148, 97, 100, 30, 204, 125, 229, 177, 211, 55, 118, 190, 88, 235, 148, 231, 156, 16, 73, 234, 167, 121, 236, 120, 156, 167, 87, 234, 167, 121, 236, 214, 188, 6, 74, 234, 167, 121, 236, 181, 31, 185, 25, 190, 51, 203, 208, 155, 24, 110, 51, 190, 51, 203, 208, 10, 73, 26, 18, 130, 183, 71, 165, 189, 221, 154, 207, 91, 83, 149, 223, 54, 206, 98, 213, 100, 202, 197, 182, 40, 243, 190, 173, 17, 84, 248, 229, 160, 224, 50, 136, 21, 165, 141, 166, 156, 199, 225, 207, 21, 165, 141, 166, 128, 194, 230, 163, 21, 165, 141, 166, 121, 233, 142, 98, 118, 156, 183, 230, 99, 214, 120, 112, 108, 87, 42, 156, 132, 209, 122, 27, 47, 206, 239, 238, 132, 181, 112, 0, 221, 198, 154, 175, 234, 249, 101, 189, 18, 178, 212, 233, 28, 215, 130, 31, 18, 178, 212, 233, 15, 209, 48, 249, 224, 45, 44, 221, 42, 21, 19, 21, 224, 45, 44, 221, 182, 220, 195, 60, 88, 206, 253, 231, 248, 95, 48, 35, 69, 187, 37, 213, 43, 153, 199, 66, 69, 187, 37, 213, 176, 181, 34, 16, 69, 187, 37, 213, 222, 191, 254, 69, 69, 187, 37, 213, 42, 10, 245, 123, 250, 221, 61, 132, 95, 6, 75, 88, 224, 122, 229, 253, 196, 6, 43, 145, 194, 247, 172, 247, 39, 204, 142, 156, 171, 242, 176, 133, 140, 190, 141, 191, 119, 254, 79, 254, 5, 232, 94, 48, 111, 1, 54, 220, 165, 13, 130, 124, 188, 146, 128, 233, 71, 24, 57, 158, 88, 105, 159, 142, 105, 23, 20, 92, 136, 94, 229, 226, 127, 54, 12, 72, 153, 126, 252, 191, 10, 226, 134, 165, 30, 11, 214, 134, 65, 232, 138, 82, 127, 103, 42, 248, 37, 197, 71, 68, 128, 214, 135, 225) +}] +blend_shape_mode = 0 + +[sub_resource type="Skin" id="Skin_ocrkq"] +resource_name = "Skin" +bind_count = 33 +bind/0/name = &"mixamorig_Hips" +bind/0/bone = -1 +bind/0/pose = Transform3D(-4.37114e-06, 1.62921e-05, -100, 0, 100, 1.62921e-05, 100, 7.12149e-13, -4.37114e-06, 4.188e-09, -2.33836, -0.0958092) +bind/1/name = &"mixamorig_Spine" +bind/1/bone = -1 +bind/1/pose = Transform3D(-4.36041e-06, 1.59861e-05, -100, -7.00068, 99.7547, 1.62521e-05, 99.7546, 7.00068, -3.23058e-06, 1.13333e-08, -2.60482, -0.259276) +bind/2/name = &"mixamorig_Spine1" +bind/2/bone = -1 +bind/2/pose = Transform3D(-4.36041e-06, 1.59861e-05, -100, -7.00069, 99.7547, 1.62521e-05, 99.7546, 7.00069, -3.23058e-06, 1.13333e-08, -2.9302, -0.259276) +bind/3/name = &"mixamorig_Spine2" +bind/3/bone = -1 +bind/3/pose = Transform3D(-4.36041e-06, 1.59861e-05, -100, -7.00068, 99.7547, 1.62521e-05, 99.7546, 7.00068, -3.23058e-06, 1.13333e-08, -3.30206, -0.259276) +bind/4/name = &"mixamorig_Neck" +bind/4/bone = -1 +bind/4/pose = Transform3D(-4.37114e-06, 1.62921e-05, -100, 2.23517e-06, 100, 1.62921e-05, 100, -1.49012e-06, -4.37114e-06, -7.93636e-11, -3.72944, 0.00181479) +bind/5/name = &"mixamorig_Head" +bind/5/bone = -1 +bind/5/pose = Transform3D(-4.37114e-06, 1.62921e-05, -100, 1.41794e-06, 100, 1.62921e-05, 100, -6.72885e-07, -4.37114e-06, 3.27321e-10, -3.92303, -0.00748847) +bind/6/name = &"mixamorig_HeadTop_End" +bind/6/bone = -1 +bind/6/pose = Transform3D(-4.37114e-06, 1.62921e-05, -100, 1.41794e-06, 100, 1.62921e-05, 100, -6.72885e-07, -4.37114e-06, 1.52292e-09, -4.49218, -0.034839) +bind/7/name = &"mixamorig_LeftShoulder" +bind/7/bone = -1 +bind/7/pose = Transform3D(-99.7208, -7.00615, 2.58233, -0.268269, -31.2001, -95.0078, 7.46207, -94.7495, 31.0942, 0.259447, 0.979557, 3.53335) +bind/8/name = &"mixamorig_LeftArm" +bind/8/bone = -1 +bind/8/pose = Transform3D(-94.6009, -30.7157, 10.354, 14.9251, -69.6326, -70.2035, 28.7733, -64.8679, 70.4575, 1.14367, 2.10751, 2.67845) +bind/9/name = &"mixamorig_LeftForeArm" +bind/9/bone = -1 +bind/9/pose = Transform3D(-90.6783, -42.1235, -1.75077, 34.9454, -72.7735, -59.0155, 23.5853, -54.1261, 80.71, 1.39335, 1.7502, 2.43412) +bind/10/name = &"mixamorig_LeftHand" +bind/10/bone = -1 +bind/10/pose = Transform3D(-82.9032, -54.5395, -12.3488, 50.2955, -63.0715, -59.096, 24.4421, -55.2035, 79.7193, 1.55774, 0.730113, 2.44685) +bind/11/name = &"mixamorig_LeftHandIndex1" +bind/11/bone = -1 +bind/11/pose = Transform3D(-79.7951, -58.1616, -15.8106, 52.819, -54.8431, -64.8258, 29.0327, -60.0788, 74.4825, 1.59109, 0.309305, 2.48209) +bind/12/name = &"mixamorig_LeftHandIndex2" +bind/12/bone = -1 +bind/12/pose = Transform3D(-79.7951, -58.1616, -15.8101, 52.8187, -54.8433, -64.8257, 29.0329, -60.0785, 74.4826, 1.59109, 0.249568, 2.48209) +bind/13/name = &"mixamorig_LeftHandIndex3" +bind/13/bone = -1 +bind/13/pose = Transform3D(-79.7951, -58.1615, -15.8106, 52.819, -54.8432, -64.8257, 29.0326, -60.0788, 74.4825, 1.58058, 0.170023, 2.48039) +bind/14/name = &"mixamorig_LeftHandIndex4" +bind/14/bone = -1 +bind/14/pose = Transform3D(-79.7951, -58.1616, -15.8105, 52.819, -54.8432, -64.8257, 29.0326, -60.0788, 74.4825, 1.56454, 0.136894, 2.47411) +bind/15/name = &"mixamorig_RightShoulder" +bind/15/bone = -1 +bind/15/pose = Transform3D(99.7339, 7.00578, 2.01908, 0.26825, -31.2001, 95.0078, 7.28599, -94.7495, -31.1359, -0.259439, 0.979567, 3.53335) +bind/16/name = &"mixamorig_RightArm" +bind/16/bone = -1 +bind/16/pose = Transform3D(95.4394, 28.4436, 9.07129, 14.0971, -69.7182, 70.2897, 26.3172, -65.8053, -70.5483, -1.05893, 2.10966, 2.7114) +bind/17/name = &"mixamorig_RightForeArm" +bind/17/bone = -1 +bind/17/pose = Transform3D(91.3672, 40.4788, -3.67395, 34.6542, -72.8575, 59.0836, 21.2396, -55.2562, -80.5955, -1.32269, 1.75304, 2.47116) +bind/18/name = &"mixamorig_RightHand" +bind/18/bone = -1 +bind/18/pose = Transform3D(80.733, 56.3908, -17.3855, 54.9206, -61.0264, 57.092, 21.5849, -55.6404, -80.2387, -1.5299, 0.68938, 2.47554) +bind/19/name = &"mixamorig_RightHandIndex1" +bind/19/bone = -1 +bind/19/pose = Transform3D(79.5494, 57.6732, -18.5928, 54.342, -54.3218, 64.0007, 26.8113, -61.0159, -74.5535, -1.5418, 0.309142, 2.51573) +bind/20/name = &"mixamorig_RightHandIndex2" +bind/20/bone = -1 +bind/20/pose = Transform3D(79.5493, 57.6733, -18.5933, 54.3422, -54.3215, 64.0008, 26.8112, -61.0161, -74.5533, -1.54179, 0.246883, 2.51573) +bind/21/name = &"mixamorig_RightHandIndex3" +bind/21/bone = -1 +bind/21/pose = Transform3D(79.5493, 57.6732, -18.5934, 54.3423, -54.3215, 64.0007, 26.811, -61.0162, -74.5533, -1.53507, 0.1601, 2.51519) +bind/22/name = &"mixamorig_RightHandIndex4" +bind/22/bone = -1 +bind/22/pose = Transform3D(79.5493, 57.6732, -18.5934, 54.3423, -54.3215, 64.0007, 26.811, -61.0162, -74.5533, -1.52575, 0.128611, 2.5115) +bind/23/name = &"mixamorig_LeftUpLeg" +bind/23/bone = -1 +bind/23/pose = Transform3D(0.0976089, 0.934761, 99.9956, -10.3059, -99.4631, 0.939816, 99.4647, -10.3057, -0.00126999, 0.169179, 2.18059, 0.15873) +bind/24/name = &"mixamorig_LeftLeg" +bind/24/bone = -1 +bind/24/pose = Transform3D(0.549532, 5.30312, 99.8578, -0.131638, -99.8591, 5.30383, 99.9956, -0.159729, -0.542307, 0.118589, 1.16441, 0.0406235) +bind/25/name = &"mixamorig_LeftFoot" +bind/25/bone = -1 +bind/25/pose = Transform3D(0.0856691, 5.3038, 99.8592, 78.48, -61.8878, 3.21928, 61.9704, 78.3695, -4.21582, 0.118399, 0.176371, -0.157415) +bind/26/name = &"mixamorig_LeftToeBase" +bind/26/bone = -1 +bind/26/pose = Transform3D(-14.8838, -13.7809, 97.9212, 98.8794, -2.95962, 14.6132, 0.885044, 99.0016, 14.0674, 0.152913, -0.224145, 0.0132697) +bind/27/name = &"mixamorig_LeftToe_End" +bind/27/bone = -1 +bind/27/pose = Transform3D(-14.8838, -13.7809, 97.9212, 98.8794, -2.95962, 14.6132, 0.885052, 99.0016, 14.0674, 0.152913, -0.366055, 0.0132697) +bind/28/name = &"mixamorig_RightUpLeg" +bind/28/bone = -1 +bind/28/pose = Transform3D(-0.102346, -0.933782, 99.9956, -10.8049, -99.4101, -0.939341, 99.4111, -10.8046, 0.00144392, -0.169195, 2.18011, 0.166438) +bind/29/name = &"mixamorig_RightLeg" +bind/29/bone = -1 +bind/29/pose = Transform3D(-0.576449, -5.30473, 99.8575, 0.149311, -99.859, -5.30385, 99.9949, 0.119616, 0.584166, -0.118592, 1.16453, 0.0392885) +bind/30/name = &"mixamorig_RightFoot" +bind/30/bone = -1 +bind/30/pose = Transform3D(-0.0871825, -5.30409, 99.8592, 78.0211, -62.463, -3.24917, 62.5462, 77.9116, 4.1932, -0.118399, 0.177018, -0.156518) +bind/31/name = &"mixamorig_RightToeBase" +bind/31/bone = -1 +bind/31/pose = Transform3D(15.0328, 13.6844, 97.912, 98.8561, -2.98919, -14.7603, 0.907911, 99.0141, -13.9778, -0.152719, -0.220326, 0.0131409) +bind/32/name = &"mixamorig_RightToe_End" +bind/32/bone = -1 +bind/32/pose = Transform3D(15.0328, 13.6844, 97.912, 98.8561, -2.98919, -14.7603, 0.907901, 99.0141, -13.9778, -0.152719, -0.360821, 0.0131409) + +[sub_resource type="Animation" id="Animation_62hia"] +resource_name = "Armature|mixamo_com|Layer0" +length = 2.96667 +tracks/0/type = "position_3d" +tracks/0/imported = true +tracks/0/enabled = true +tracks/0/path = NodePath("Armature/Skeleton3D:mixamorig_Hips") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = PackedFloat32Array(0, 1, 0.0127286, 0.221449, -2.23772, 0.0333333, 1, 0.0127286, 0.221449, -2.23772, 0.0666667, 1, 0.0231672, 0.205308, -2.23316, 0.1, 1, 0.0359544, 0.188407, -2.23033, 0.133333, 1, 0.0519847, 0.169891, -2.22914, 0.166667, 1, 0.0711183, 0.149787, -2.22946, 0.2, 1, 0.0916935, 0.129251, -2.23121, 0.233333, 1, 0.111095, 0.109668, -2.23398, 0.266667, 1, 0.126912, 0.0912329, -2.23679, 0.3, 1, 0.138229, 0.0734116, -2.23973, 0.333333, 1, 0.145184, 0.0560264, -2.24552, 0.366667, 1, 0.147093, 0.0389833, -2.25207, 0.4, 1, 0.143554, 0.0223875, -2.2568, 0.433333, 1, 0.134435, 0.0089999, -2.26101, 0.466667, 1, 0.121429, -0.00363635, -2.26325, 0.5, 1, 0.105909, -0.0162327, -2.26339, 0.533333, 1, 0.0883989, -0.0279826, -2.26133, 0.566667, 1, 0.0782075, -0.0367844, -2.25692, 0.6, 1, 0.070638, -0.0408441, -2.24994, 0.633333, 1, 0.064925, -0.0384821, -2.23951, 0.666667, 1, 0.0598622, -0.0291869, -2.22432, 0.7, 1, 0.0548947, -0.0154038, -2.20403, 0.733333, 1, 0.0486172, -0.0011648, -2.18048, 0.766667, 1, 0.0403664, 0.0121527, -2.15639, 0.833333, 1, 0.00347297, 0.101916, -2.12009, 0.866667, 1, -0.00971488, 0.14977, -2.12219, 0.9, 1, -0.0168453, 0.192981, -2.14145, 0.933333, 1, -0.0184074, 0.226632, -2.16798, 0.966667, 1, -0.0168368, 0.251718, -2.19401, 1, 1, -0.0143212, 0.271507, -2.21679, 1.03333, 1, -0.0120868, 0.288216, -2.23553, 1.06667, 1, -0.0110105, 0.302227, -2.24958, 1.1, 1, -0.0116945, 0.312634, -2.25851, 1.13333, 1, -0.0140495, 0.318592, -2.26287, 1.16667, 1, -0.0172481, 0.32045, -2.26446, 1.2, 1, -0.0200974, 0.319572, -2.26495, 1.23333, 1, -0.0214695, 0.317011, -2.26481, 1.26667, 1, -0.0208543, 0.312476, -2.26404, 1.3, 1, -0.018665, 0.304796, -2.26295, 1.33333, 1, -0.0157435, 0.293409, -2.26172, 1.4, 1, -0.00834638, 0.265381, -2.25625, 1.43333, 1, -0.0033415, 0.251658, -2.25085, 1.46667, 1, 0.00378669, 0.237154, -2.24379, 1.5, 1, 0.0127287, 0.221449, -2.23772, 1.53333, 1, 0.0231671, 0.205308, -2.23316, 1.56667, 1, 0.0359542, 0.188407, -2.23033, 1.6, 1, 0.0519846, 0.169891, -2.22914, 1.63333, 1, 0.0711184, 0.149787, -2.22946, 1.66667, 1, 0.0916935, 0.129251, -2.23121, 1.7, 1, 0.111095, 0.109668, -2.23398, 1.73333, 1, 0.126913, 0.0912328, -2.23679, 1.76667, 1, 0.13823, 0.0734116, -2.23973, 1.8, 1, 0.145184, 0.0560263, -2.24552, 1.83333, 1, 0.147093, 0.0389832, -2.25207, 1.86667, 1, 0.143554, 0.0223874, -2.2568, 1.9, 1, 0.134435, 0.00899967, -2.26101, 1.93333, 1, 0.121429, -0.00363618, -2.26325, 1.96667, 1, 0.105909, -0.0162327, -2.26339, 2, 1, 0.0883988, -0.0279824, -2.26133, 2.03333, 1, 0.0782074, -0.0367846, -2.25692, 2.06667, 1, 0.070638, -0.040844, -2.24994, 2.1, 1, 0.064925, -0.0384823, -2.23951, 2.13333, 1, 0.0598622, -0.029187, -2.22432, 2.16667, 1, 0.0548946, -0.0154039, -2.20403, 2.2, 1, 0.0486174, -0.00116467, -2.18048, 2.23333, 1, 0.0403664, 0.0121527, -2.15639, 2.3, 1, 0.003473, 0.101916, -2.12009, 2.33333, 1, -0.00971493, 0.14977, -2.12219, 2.36667, 1, -0.0168454, 0.192982, -2.14145, 2.4, 1, -0.0184074, 0.226632, -2.16798, 2.43333, 1, -0.0168368, 0.251719, -2.19401, 2.46667, 1, -0.0143213, 0.271507, -2.21679, 2.5, 1, -0.0120869, 0.288216, -2.23553, 2.53333, 1, -0.0110106, 0.302227, -2.24958, 2.56667, 1, -0.0116945, 0.312634, -2.25851, 2.6, 1, -0.0140496, 0.318591, -2.26287, 2.63333, 1, -0.0172481, 0.32045, -2.26446, 2.66667, 1, -0.0200973, 0.319573, -2.26495, 2.7, 1, -0.0214694, 0.317011, -2.26481, 2.73333, 1, -0.0208542, 0.312476, -2.26404, 2.76667, 1, -0.0186649, 0.304796, -2.26295, 2.8, 1, -0.0157435, 0.293409, -2.26172, 2.86667, 1, -0.00834642, 0.265381, -2.25625, 2.9, 1, -0.00334166, 0.251658, -2.25085, 2.93333, 1, 0.00378671, 0.237154, -2.24378, 2.96667, 1, 0.0127286, 0.221449, -2.23772) +tracks/1/type = "rotation_3d" +tracks/1/imported = true +tracks/1/enabled = true +tracks/1/path = NodePath("Armature/Skeleton3D:mixamorig_Hips") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = PackedFloat32Array(0, 1, -0.751974, -0.048594, 0.0410537, 0.656116, 0.0333333, 1, -0.751974, -0.048594, 0.0410537, 0.656116, 0.0666667, 1, -0.74435, -0.0540708, 0.0455687, 0.664035, 0.1, 1, -0.736636, -0.0523675, 0.0470178, 0.672618, 0.133333, 1, -0.730586, -0.0438247, 0.0432205, 0.68004, 0.166667, 1, -0.727392, -0.0314183, 0.0341296, 0.684653, 0.2, 1, -0.726317, -0.0183113, 0.0216498, 0.686774, 0.233333, 1, -0.725383, -0.00467735, 0.00680614, 0.688295, 0.266667, 1, -0.723291, 0.0122852, -0.0115804, 0.690337, 0.3, 1, -0.72014, 0.0345412, -0.0354692, 0.69206, 0.333333, 1, -0.716361, 0.059888, -0.0656715, 0.692046, 0.366667, 1, -0.71171, 0.0849622, -0.0972635, 0.6905, 0.4, 1, -0.705804, 0.10657, -0.125636, 0.688984, 0.433333, 1, -0.699338, 0.122606, -0.15169, 0.687666, 0.466667, 1, -0.693269, 0.13541, -0.175332, 0.685785, 0.5, 1, -0.68771, 0.148154, -0.197929, 0.682591, 0.533333, 1, -0.681695, 0.163194, -0.219594, 0.678556, 0.566667, 1, -0.673544, 0.182455, -0.240403, 0.674726, 0.6, 1, -0.662935, 0.206464, -0.261964, 0.670272, 0.633333, 1, -0.650583, 0.232595, -0.283518, 0.665025, 0.666667, 1, -0.636702, 0.259871, -0.304968, 0.658841, 0.733333, 1, -0.605797, 0.313845, -0.347027, 0.643493, 0.766667, 1, -0.589669, 0.338831, -0.36732, 0.634476, 0.8, 1, -0.596037, 0.341737, -0.366271, 0.627536, 0.833333, 1, -0.607605, 0.34124, -0.36215, 0.619047, 0.866667, 1, -0.619251, 0.342403, -0.35797, 0.609217, 0.9, 1, -0.626058, 0.346433, -0.355619, 0.601307, 0.933333, 1, -0.628573, 0.347334, -0.35458, 0.598772, 0.966667, 1, -0.631445, 0.340634, -0.349073, 0.602821, 1, 1, -0.639336, 0.326996, -0.333893, 0.610605, 1.03333, 1, -0.652897, 0.30925, -0.30949, 0.618309, 1.06667, 1, -0.668894, 0.288289, -0.280522, 0.625122, 1.1, 1, -0.684037, 0.262759, -0.250873, 0.632546, 1.13333, 1, -0.697522, 0.232488, -0.221045, 0.640743, 1.16667, 1, -0.710355, 0.200826, -0.190088, 0.647249, 1.2, 1, -0.723498, 0.172357, -0.158485, 0.649404, 1.23333, 1, -0.736734, 0.148355, -0.127845, 0.647202, 1.26667, 1, -0.748822, 0.125049, -0.0985003, 0.643371, 1.3, 1, -0.758413, 0.0972938, -0.0691023, 0.640756, 1.33333, 1, -0.764697, 0.0640982, -0.0392872, 0.63999, 1.36667, 1, -0.767431, 0.0300201, -0.0114427, 0.640326, 1.4, 1, -0.766867, 0.000884815, 0.0110588, 0.64171, 1.43333, 1, -0.763661, -0.0211081, 0.0262144, 0.64474, 1.46667, 1, -0.758532, -0.0374217, 0.0349856, 0.649619, 1.5, 1, -0.751974, -0.0485943, 0.0410534, 0.656116, 1.53333, 1, -0.74435, -0.0540707, 0.0455688, 0.664035, 1.56667, 1, -0.736636, -0.0523675, 0.0470179, 0.672618, 1.6, 1, -0.730586, -0.0438247, 0.0432205, 0.68004, 1.63333, 1, -0.727392, -0.0314183, 0.0341296, 0.684653, 1.66667, 1, -0.726317, -0.0183112, 0.0216498, 0.686774, 1.7, 1, -0.725383, -0.00467744, 0.00680605, 0.688295, 1.73333, 1, -0.723291, 0.0122851, -0.0115802, 0.690337, 1.76667, 1, -0.72014, 0.0345413, -0.0354692, 0.69206, 1.8, 1, -0.716361, 0.0598881, -0.0656716, 0.692046, 1.83333, 1, -0.71171, 0.0849624, -0.0972638, 0.6905, 1.86667, 1, -0.705804, 0.10657, -0.125636, 0.688984, 1.9, 1, -0.699338, 0.122606, -0.15169, 0.687666, 1.93333, 1, -0.693269, 0.13541, -0.175332, 0.685785, 1.96667, 1, -0.68771, 0.148154, -0.197929, 0.682591, 2, 1, -0.681695, 0.163194, -0.219594, 0.678556, 2.03333, 1, -0.673544, 0.182455, -0.240403, 0.674726, 2.06667, 1, -0.662935, 0.206464, -0.261964, 0.670272, 2.1, 1, -0.650583, 0.232595, -0.283519, 0.665025, 2.13333, 1, -0.636702, 0.259871, -0.304968, 0.658841, 2.2, 1, -0.605797, 0.313845, -0.347027, 0.643493, 2.23333, 1, -0.589669, 0.338831, -0.36732, 0.634476, 2.26667, 1, -0.596037, 0.341737, -0.366271, 0.627536, 2.3, 1, -0.607605, 0.341239, -0.36215, 0.619047, 2.33333, 1, -0.619251, 0.342403, -0.35797, 0.609217, 2.36667, 1, -0.626058, 0.346433, -0.355619, 0.601307, 2.4, 1, -0.628573, 0.347334, -0.35458, 0.598772, 2.43333, 1, -0.631445, 0.340634, -0.349073, 0.602821, 2.46667, 1, -0.639336, 0.326996, -0.333893, 0.610605, 2.5, 1, -0.652897, 0.30925, -0.30949, 0.618309, 2.53333, 1, -0.668894, 0.288289, -0.280522, 0.625122, 2.56667, 1, -0.684037, 0.262758, -0.250873, 0.632546, 2.6, 1, -0.697522, 0.232488, -0.221045, 0.640743, 2.63333, 1, -0.710355, 0.200826, -0.190088, 0.647249, 2.66667, 1, -0.723498, 0.172357, -0.158485, 0.649404, 2.7, 1, -0.736734, 0.148355, -0.127846, 0.647202, 2.73333, 1, -0.748822, 0.125049, -0.0985004, 0.643371, 2.76667, 1, -0.758413, 0.0972938, -0.0691023, 0.640756, 2.8, 1, -0.764697, 0.0640982, -0.0392871, 0.639989, 2.83333, 1, -0.767431, 0.0300201, -0.0114427, 0.640326, 2.86667, 1, -0.766867, 0.000884851, 0.0110589, 0.64171, 2.9, 1, -0.763661, -0.021108, 0.0262147, 0.64474, 2.93333, 1, -0.758532, -0.0374218, 0.0349857, 0.649619, 2.96667, 1, -0.751974, -0.048594, 0.0410537, 0.656116) +tracks/2/type = "rotation_3d" +tracks/2/imported = true +tracks/2/enabled = true +tracks/2/path = NodePath("Armature/Skeleton3D:mixamorig_Spine") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = PackedFloat32Array(0, 1, -0.0393287, -0.0337374, -0.00153638, 0.998655, 0.0333333, 1, -0.0393287, -0.0337374, -0.00153638, 0.998655, 0.0666667, 1, -0.0411419, -0.0332964, -0.0014947, 0.998597, 0.1, 1, -0.0427807, -0.033009, -0.0019332, 0.998537, 0.133333, 1, -0.0433734, -0.0327697, -0.00279753, 0.998517, 0.166667, 1, -0.0424015, -0.0318642, -0.00391393, 0.998585, 0.2, 1, -0.0404185, -0.0298636, -0.00506328, 0.998724, 0.233333, 1, -0.0385696, -0.0273541, -0.00629566, 0.998862, 0.266667, 1, -0.0373752, -0.0255884, -0.00796019, 0.998942, 0.3, 1, -0.0364429, -0.0256568, -0.00925464, 0.998963, 0.333333, 1, -0.0349967, -0.0279395, -0.00813809, 0.998964, 0.366667, 1, -0.0331685, -0.0304664, -0.00616402, 0.998966, 0.4, 1, -0.0315149, -0.0314414, -0.00531028, 0.998995, 0.433333, 1, -0.0300543, -0.0313199, -0.00399806, 0.99905, 0.466667, 1, -0.0282595, -0.030046, -0.00335947, 0.999143, 0.5, 1, -0.0255283, -0.0280291, -0.00324218, 0.999276, 0.533333, 1, -0.0219692, -0.025438, -0.00326698, 0.99943, 0.566667, 1, -0.0184733, -0.022438, -0.00314343, 0.999573, 0.6, 1, -0.0163932, -0.0194234, -0.00263897, 0.999673, 0.633333, 1, -0.0148569, -0.0168463, -0.00172868, 0.999746, 0.666667, 1, -0.0137013, -0.0148965, 2.14544e-05, 0.999795, 0.7, 1, -0.012729, -0.0133716, 0.00294686, 0.999825, 0.733333, 1, -0.0117254, -0.0118856, 0.00694312, 0.999837, 0.766667, 1, -0.0105092, -0.0103102, 0.0116165, 0.999824, 0.8, 1, -0.0106012, -0.00845269, 0.0187282, 0.999733, 0.833333, 1, -0.0100927, -0.0094247, 0.0223093, 0.999656, 0.866667, 1, -0.00986657, -0.0141459, 0.02196, 0.99961, 0.9, 1, -0.0111124, -0.0217196, 0.018113, 0.999538, 0.933333, 1, -0.0140709, -0.0297648, 0.0146595, 0.99935, 0.966667, 1, -0.0177512, -0.0361917, 0.0122571, 0.999112, 1, 1, -0.0208819, -0.0403351, 0.00961682, 0.998922, 1.03333, 1, -0.022964, -0.0426895, 0.00616347, 0.998805, 1.06667, 1, -0.0244762, -0.0437197, 0.00228702, 0.998741, 1.1, 1, -0.026124, -0.0434222, -0.00117699, 0.998715, 1.13333, 1, -0.0280189, -0.0419064, -0.00361325, 0.998722, 1.16667, 1, -0.0296624, -0.0399223, -0.00510533, 0.998749, 1.2, 1, -0.0305752, -0.0385973, -0.00597614, 0.998769, 1.3, 1, -0.0313719, -0.0381771, -0.00690773, 0.998755, 1.33333, 1, -0.0322469, -0.0364014, -0.00693964, 0.998793, 1.36667, 1, -0.0334279, -0.0344892, -0.00634622, 0.998826, 1.4, 1, -0.0348231, -0.0334661, -0.00527239, 0.998819, 1.43333, 1, -0.0362959, -0.0334983, -0.00393503, 0.998772, 1.46667, 1, -0.0377422, -0.0338677, -0.00225276, 0.998711, 1.5, 1, -0.0393286, -0.0337377, -0.00153606, 0.998655, 1.53333, 1, -0.0411419, -0.0332962, -0.00149491, 0.998597, 1.56667, 1, -0.0427807, -0.0330089, -0.00193329, 0.998537, 1.6, 1, -0.0433734, -0.0327697, -0.00279755, 0.998517, 1.63333, 1, -0.0424015, -0.0318642, -0.00391389, 0.998585, 1.66667, 1, -0.0404185, -0.0298636, -0.00506331, 0.998724, 1.7, 1, -0.0385696, -0.0273541, -0.00629552, 0.998862, 1.73333, 1, -0.0373752, -0.0255884, -0.00796024, 0.998942, 1.76667, 1, -0.0364429, -0.0256568, -0.00925476, 0.998963, 1.8, 1, -0.0349967, -0.0279396, -0.00813806, 0.998964, 1.83333, 1, -0.0331685, -0.0304663, -0.00616392, 0.998966, 1.86667, 1, -0.0315148, -0.0314415, -0.00531017, 0.998995, 1.9, 1, -0.0300543, -0.03132, -0.00399793, 0.99905, 1.93333, 1, -0.0282595, -0.0300464, -0.00335929, 0.999143, 1.96667, 1, -0.0255283, -0.028029, -0.0032422, 0.999276, 2, 1, -0.0219692, -0.025438, -0.00326708, 0.99943, 2.03333, 1, -0.0184733, -0.0224379, -0.00314332, 0.999573, 2.06667, 1, -0.0163932, -0.0194236, -0.00263884, 0.999673, 2.1, 1, -0.0148568, -0.0168469, -0.00172854, 0.999746, 2.13333, 1, -0.0137013, -0.0148966, 2.14938e-05, 0.999795, 2.16667, 1, -0.012729, -0.0133717, 0.00294683, 0.999825, 2.2, 1, -0.0117254, -0.0118864, 0.00694307, 0.999837, 2.23333, 1, -0.0105092, -0.0103104, 0.0116164, 0.999824, 2.26667, 1, -0.0106012, -0.00845263, 0.0187281, 0.999733, 2.3, 1, -0.0100927, -0.00942477, 0.0223094, 0.999656, 2.33333, 1, -0.00986656, -0.014146, 0.0219598, 0.99961, 2.36667, 1, -0.0111124, -0.0217194, 0.0181132, 0.999538, 2.4, 1, -0.0140709, -0.0297648, 0.0146595, 0.99935, 2.43333, 1, -0.0177512, -0.036192, 0.012257, 0.999112, 2.46667, 1, -0.0208819, -0.0403352, 0.00961671, 0.998922, 2.5, 1, -0.022964, -0.0426895, 0.00616345, 0.998805, 2.53333, 1, -0.0244763, -0.0437197, 0.00228698, 0.998741, 2.56667, 1, -0.026124, -0.0434225, -0.00117693, 0.998715, 2.6, 1, -0.0280188, -0.0419061, -0.00361333, 0.998722, 2.63333, 1, -0.0296624, -0.0399224, -0.00510527, 0.998749, 2.66667, 1, -0.0305752, -0.0385972, -0.00597607, 0.998769, 2.76667, 1, -0.0313719, -0.0381771, -0.00690778, 0.998755, 2.8, 1, -0.0322469, -0.0364014, -0.00693972, 0.998793, 2.83333, 1, -0.0334279, -0.0344892, -0.00634623, 0.998826, 2.86667, 1, -0.0348231, -0.0334661, -0.00527244, 0.998819, 2.9, 1, -0.0362959, -0.0334982, -0.00393538, 0.998772, 2.93333, 1, -0.0377422, -0.0338677, -0.00225274, 0.998711, 2.96667, 1, -0.0393287, -0.0337375, -0.00153638, 0.998655) +tracks/3/type = "rotation_3d" +tracks/3/imported = true +tracks/3/enabled = true +tracks/3/path = NodePath("Armature/Skeleton3D:mixamorig_Spine1") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = PackedFloat32Array(0, 1, -0.00779301, -0.0646553, -0.00594839, 0.99786, 0.0333333, 1, -0.00779301, -0.0646553, -0.00594839, 0.99786, 0.0666667, 1, -0.0113998, -0.063935, -0.00551269, 0.997874, 0.1, 1, -0.0146574, -0.0632742, -0.00671512, 0.997866, 0.133333, 1, -0.0158363, -0.0626027, -0.00873756, 0.997875, 0.166667, 1, -0.013903, -0.0607523, -0.010413, 0.998002, 0.2, 1, -0.00995787, -0.0569902, -0.0111388, 0.998263, 0.233333, 1, -0.00629881, -0.0524904, -0.0112601, 0.998538, 0.266667, 1, -0.00398121, -0.0496973, -0.0117488, 0.998687, 0.3, 1, -0.00210467, -0.0500925, -0.0132318, 0.998655, 0.333333, 1, 0.000687899, -0.0527733, -0.0159119, 0.99848, 0.366667, 1, 0.00428673, -0.05537, -0.0192383, 0.998271, 0.4, 1, 0.00765933, -0.0560794, -0.0226579, 0.99814, 0.433333, 1, 0.0105197, -0.0547507, -0.0258552, 0.99811, 0.466667, 1, 0.013925, -0.0522505, -0.0286027, 0.998127, 0.5, 1, 0.0190794, -0.0492278, -0.0305773, 0.998137, 0.533333, 1, 0.0247566, -0.0457341, -0.0314932, 0.99815, 0.566667, 1, 0.0290421, -0.0417546, -0.0314406, 0.998211, 0.6, 1, 0.032718, -0.0377097, -0.0307728, 0.998279, 0.633333, 1, 0.0359356, -0.034293, -0.0294985, 0.99833, 0.666667, 1, 0.0388438, -0.0316791, -0.0272797, 0.99837, 0.7, 1, 0.0416219, -0.0294106, -0.0238614, 0.998415, 0.733333, 1, 0.0444893, -0.02706, -0.019495, 0.998453, 0.766667, 1, 0.047643, -0.0245743, -0.0148127, 0.998452, 0.8, 1, 0.0474555, -0.0205556, -0.00894876, 0.998622, 0.833333, 1, 0.0484683, -0.0211636, -0.0052532, 0.998587, 0.866667, 1, 0.0488388, -0.0286203, -0.00548357, 0.998381, 0.9, 1, 0.0462941, -0.0420552, -0.00924676, 0.997999, 0.933333, 1, 0.0403061, -0.0571348, -0.0142604, 0.997451, 0.966667, 1, 0.03288, -0.06935, -0.0188453, 0.996872, 1, 1, 0.0266599, -0.0769536, -0.0229936, 0.996413, 1.03333, 1, 0.0226627, -0.0808521, -0.0269832, 0.996103, 1.06667, 1, 0.0199038, -0.0823719, -0.0300854, 0.995949, 1.1, 1, 0.0169447, -0.0818699, -0.0311208, 0.996013, 1.13333, 1, 0.0135063, -0.0794069, -0.0298787, 0.996303, 1.16667, 1, 0.0105249, -0.0760124, -0.0274739, 0.996673, 1.2, 1, 0.00892952, -0.0735413, -0.0253885, 0.996929, 1.23333, 1, 0.00859778, -0.0729398, -0.0243746, 0.997001, 1.26667, 1, 0.00850681, -0.0730138, -0.0240015, 0.997006, 1.3, 1, 0.00774368, -0.0716491, -0.0230722, 0.997133, 1.33333, 1, 0.00611526, -0.0683499, -0.0207528, 0.997427, 1.36667, 1, 0.00384477, -0.0649143, -0.0173593, 0.997732, 1.4, 1, 0.00114961, -0.0633649, -0.0138201, 0.997894, 1.43333, 1, -0.00172591, -0.0637975, -0.0106594, 0.997904, 1.46667, 1, -0.00463027, -0.0646541, -0.007902, 0.997866, 1.53333, 1, -0.0113998, -0.063935, -0.00551269, 0.997874, 1.56667, 1, -0.0146574, -0.0632742, -0.00671512, 0.997866, 1.6, 1, -0.0158363, -0.0626027, -0.00873755, 0.997875, 1.63333, 1, -0.013903, -0.0607523, -0.010413, 0.998002, 1.66667, 1, -0.00995786, -0.0569901, -0.0111388, 0.998263, 1.7, 1, -0.00629882, -0.0524904, -0.0112601, 0.998538, 1.73333, 1, -0.00398121, -0.0496973, -0.0117488, 0.998687, 1.76667, 1, -0.00210469, -0.0500925, -0.0132318, 0.998655, 1.8, 1, 0.000687901, -0.0527733, -0.0159119, 0.99848, 1.83333, 1, 0.00428673, -0.05537, -0.0192383, 0.998271, 1.86667, 1, 0.00765934, -0.0560794, -0.0226579, 0.99814, 1.9, 1, 0.0105197, -0.0547507, -0.0258552, 0.99811, 1.93333, 1, 0.013925, -0.0522506, -0.0286027, 0.998127, 1.96667, 1, 0.0190794, -0.0492277, -0.0305773, 0.998137, 2, 1, 0.0247566, -0.0457341, -0.0314932, 0.99815, 2.03333, 1, 0.0290421, -0.0417546, -0.0314406, 0.998211, 2.06667, 1, 0.0327179, -0.0377097, -0.0307728, 0.998279, 2.1, 1, 0.0359357, -0.0342928, -0.0294986, 0.99833, 2.13333, 1, 0.0388438, -0.0316791, -0.0272797, 0.99837, 2.16667, 1, 0.0416219, -0.0294106, -0.0238614, 0.998415, 2.2, 1, 0.0444894, -0.0270599, -0.019495, 0.998453, 2.23333, 1, 0.047643, -0.0245741, -0.0148127, 0.998452, 2.26667, 1, 0.0474555, -0.0205557, -0.00894876, 0.998622, 2.3, 1, 0.0484683, -0.0211635, -0.00525321, 0.998587, 2.33333, 1, 0.0488388, -0.0286204, -0.00548357, 0.998381, 2.36667, 1, 0.0462941, -0.0420552, -0.00924675, 0.997999, 2.4, 1, 0.0403061, -0.0571347, -0.0142604, 0.997451, 2.43333, 1, 0.03288, -0.0693498, -0.0188453, 0.996872, 2.46667, 1, 0.0266599, -0.0769535, -0.0229936, 0.996413, 2.5, 1, 0.0226627, -0.0808522, -0.0269832, 0.996103, 2.53333, 1, 0.0199038, -0.0823719, -0.0300854, 0.995949, 2.56667, 1, 0.0169447, -0.0818699, -0.0311208, 0.996013, 2.6, 1, 0.0135063, -0.0794068, -0.0298787, 0.996303, 2.63333, 1, 0.0105249, -0.0760124, -0.0274739, 0.996673, 2.66667, 1, 0.0089295, -0.0735413, -0.0253885, 0.996929, 2.7, 1, 0.00859778, -0.0729398, -0.0243747, 0.997001, 2.73333, 1, 0.00850684, -0.0730138, -0.0240015, 0.997006, 2.76667, 1, 0.00774367, -0.0716491, -0.0230722, 0.997133, 2.8, 1, 0.00611526, -0.0683499, -0.0207528, 0.997427, 2.83333, 1, 0.00384476, -0.0649144, -0.0173593, 0.997732, 2.86667, 1, 0.0011496, -0.0633649, -0.0138201, 0.997894, 2.9, 1, -0.00172594, -0.0637975, -0.0106594, 0.997904, 2.93333, 1, -0.00463026, -0.0646542, -0.007902, 0.997866, 2.96667, 1, -0.00779301, -0.0646553, -0.0059484, 0.99786) +tracks/4/type = "rotation_3d" +tracks/4/imported = true +tracks/4/enabled = true +tracks/4/path = NodePath("Armature/Skeleton3D:mixamorig_Spine2") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = PackedFloat32Array(0, 1, -0.00775118, -0.0646688, -0.00584502, 0.99786, 0.0333333, 1, -0.00775118, -0.0646688, -0.00584502, 0.99786, 0.0666667, 1, -0.0113562, -0.0639512, -0.00541074, 0.997874, 0.1, 1, -0.0146018, -0.0632976, -0.00661399, 0.997866, 0.133333, 1, -0.0157695, -0.0626323, -0.00863865, 0.997875, 0.166667, 1, -0.0138376, -0.0607821, -0.0103201, 0.998002, 0.2, 1, -0.00990782, -0.0570145, -0.0110558, 0.998263, 0.233333, 1, -0.00627173, -0.0525082, -0.011189, 0.998538, 0.266667, 1, -0.00397991, -0.0497105, -0.0116901, 0.998687, 0.3, 1, -0.00210894, -0.0501067, -0.0131757, 0.998655, 0.333333, 1, 0.00069386, -0.0527918, -0.0158493, 0.99848, 0.366667, 1, 0.00432563, -0.0553938, -0.0191594, 0.998271, 0.4, 1, 0.00774112, -0.056106, -0.0225631, 0.99814, 0.433333, 1, 0.0106366, -0.0547729, -0.0257582, 0.99811, 0.466667, 1, 0.0140581, -0.0522574, -0.028523, 0.998127, 0.5, 1, 0.019209, -0.0492073, -0.0305291, 0.998137, 0.533333, 1, 0.0248836, -0.0456764, -0.031481, 0.99815, 0.566667, 1, 0.0291818, -0.041654, -0.0314608, 0.99821, 0.6, 1, 0.0328759, -0.0375626, -0.0308188, 0.998278, 0.633333, 1, 0.0361135, -0.0340954, -0.0295626, 0.998328, 0.666667, 1, 0.0390402, -0.0314233, -0.0273516, 0.998369, 0.7, 1, 0.041836, -0.0290799, -0.0239298, 0.998415, 0.733333, 1, 0.0447246, -0.026635, -0.0195516, 0.998453, 0.766667, 1, 0.047903, -0.0240418, -0.0148555, 0.998452, 0.8, 1, 0.0477093, -0.0199591, -0.00896966, 0.998622, 0.833333, 1, 0.0487268, -0.0205696, -0.00527024, 0.998586, 0.866667, 1, 0.0491379, -0.0280915, -0.00552499, 0.998382, 0.9, 1, 0.0466686, -0.0416177, -0.00933265, 0.998, 0.933333, 1, 0.0407624, -0.0567813, -0.014392, 0.99745, 0.966667, 1, 0.033395, -0.0690619, -0.0190076, 0.996872, 1, 1, 0.027194, -0.0767158, -0.0231625, 0.996413, 1.03333, 1, 0.0231718, -0.0806573, -0.0271332, 0.996103, 1.06667, 1, 0.0203472, -0.0822225, -0.0301973, 0.995949, 1.1, 1, 0.0172957, -0.0817712, -0.0311858, 0.996013, 1.13333, 1, 0.0137593, -0.0793548, -0.0298988, 0.996303, 1.16667, 1, 0.0106954, -0.075994, -0.0274578, 0.996673, 1.2, 1, 0.00904896, -0.0735411, -0.0253463, 0.996929, 1.23333, 1, 0.00870118, -0.0729473, -0.0243137, 0.997001, 1.26667, 1, 0.00861002, -0.0730258, -0.0239258, 0.997006, 1.3, 1, 0.00783444, -0.0716665, -0.0229845, 0.997133, 1.33333, 1, 0.00617723, -0.068372, -0.0206579, 0.997427, 1.36667, 1, 0.00388243, -0.0649373, -0.0172622, 0.997733, 1.4, 1, 0.00118211, -0.0633859, -0.0137196, 0.997894, 1.43333, 1, -0.00168893, -0.0638154, -0.0105542, 0.997904, 1.46667, 1, -0.00458832, -0.064669, -0.00779628, 0.997866, 1.53333, 1, -0.0113562, -0.0639512, -0.00541073, 0.997874, 1.56667, 1, -0.0146018, -0.0632975, -0.00661399, 0.997866, 1.6, 1, -0.0157695, -0.0626322, -0.00863864, 0.997875, 1.63333, 1, -0.0138376, -0.060782, -0.0103201, 0.998002, 1.66667, 1, -0.00990786, -0.0570145, -0.0110558, 0.998263, 1.7, 1, -0.00627175, -0.0525082, -0.011189, 0.998538, 1.73333, 1, -0.00397992, -0.0497105, -0.0116901, 0.998687, 1.76667, 1, -0.00210894, -0.0501067, -0.0131757, 0.998655, 1.8, 1, 0.000693857, -0.0527918, -0.0158493, 0.99848, 1.83333, 1, 0.00432564, -0.0553939, -0.0191594, 0.998271, 1.86667, 1, 0.00774112, -0.056106, -0.0225631, 0.99814, 1.9, 1, 0.0106366, -0.0547729, -0.0257582, 0.99811, 1.93333, 1, 0.014058, -0.0522575, -0.0285229, 0.998127, 1.96667, 1, 0.019209, -0.0492073, -0.0305291, 0.998137, 2, 1, 0.0248836, -0.0456764, -0.031481, 0.99815, 2.03333, 1, 0.0291818, -0.0416539, -0.0314608, 0.99821, 2.06667, 1, 0.0328759, -0.0375626, -0.0308188, 0.998278, 2.1, 1, 0.0361135, -0.0340954, -0.0295626, 0.998328, 2.13333, 1, 0.0390402, -0.0314234, -0.0273516, 0.998369, 2.16667, 1, 0.0418359, -0.02908, -0.0239298, 0.998415, 2.2, 1, 0.0447246, -0.0266351, -0.0195517, 0.998453, 2.23333, 1, 0.047903, -0.0240417, -0.0148555, 0.998452, 2.26667, 1, 0.0477093, -0.0199591, -0.00896964, 0.998622, 2.3, 1, 0.0487267, -0.0205699, -0.00527021, 0.998586, 2.33333, 1, 0.0491378, -0.0280918, -0.005525, 0.998382, 2.36667, 1, 0.0466687, -0.0416175, -0.00933264, 0.998, 2.4, 1, 0.0407624, -0.0567813, -0.014392, 0.99745, 2.43333, 1, 0.033395, -0.0690619, -0.0190076, 0.996872, 2.46667, 1, 0.027194, -0.076716, -0.0231625, 0.996413, 2.5, 1, 0.0231719, -0.0806574, -0.0271332, 0.996103, 2.53333, 1, 0.0203472, -0.0822225, -0.0301973, 0.995949, 2.56667, 1, 0.0172957, -0.0817712, -0.0311858, 0.996013, 2.6, 1, 0.0137593, -0.0793548, -0.0298988, 0.996303, 2.63333, 1, 0.0106954, -0.0759939, -0.0274578, 0.996673, 2.66667, 1, 0.00904896, -0.0735411, -0.0253463, 0.996929, 2.7, 1, 0.00870117, -0.0729473, -0.0243138, 0.997001, 2.73333, 1, 0.00861004, -0.0730258, -0.0239258, 0.997006, 2.76667, 1, 0.0078344, -0.0716665, -0.0229845, 0.997133, 2.8, 1, 0.00617725, -0.068372, -0.0206579, 0.997427, 2.83333, 1, 0.00388246, -0.0649372, -0.0172622, 0.997733, 2.86667, 1, 0.00118212, -0.0633858, -0.0137196, 0.997894, 2.9, 1, -0.00168899, -0.0638154, -0.0105542, 0.997904, 2.93333, 1, -0.00458831, -0.064669, -0.00779628, 0.997866, 2.96667, 1, -0.00775115, -0.0646688, -0.00584502, 0.99786) +tracks/5/type = "rotation_3d" +tracks/5/imported = true +tracks/5/enabled = true +tracks/5/path = NodePath("Armature/Skeleton3D:mixamorig_Neck") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = PackedFloat32Array(0, 1, 0.054354, 0.00160926, 0.034379, 0.997928, 0.0333333, 1, 0.054354, 0.00160926, 0.034379, 0.997928, 0.0666667, 1, 0.0535577, 0.00132031, 0.0329282, 0.998021, 0.1, 1, 0.0529649, 0.00179568, 0.0304632, 0.99813, 0.133333, 1, 0.0524164, 0.00248896, 0.0272486, 0.99825, 0.166667, 1, 0.0524017, 0.00272723, 0.0238301, 0.998338, 0.2, 1, 0.053852, 0.00246722, 0.0204054, 0.998337, 0.233333, 1, 0.0571242, 0.00230333, 0.0167363, 0.998224, 0.266667, 1, 0.0612584, 0.00270947, 0.0129402, 0.998034, 0.3, 1, 0.0647292, 0.00341063, 0.0099428, 0.997847, 0.333333, 1, 0.0671393, 0.00369394, 0.008593, 0.9977, 0.366667, 1, 0.0696921, 0.00330945, 0.00856037, 0.997526, 0.4, 1, 0.0736861, 0.00281396, 0.00861183, 0.99724, 0.466667, 1, 0.0842244, 0.00346335, 0.00686142, 0.996417, 0.5, 1, 0.0881702, 0.00362297, 0.00633153, 0.996079, 0.533333, 1, 0.0904935, 0.00257479, 0.00697541, 0.995869, 0.566667, 1, 0.0916894, 0.00112949, 0.00788061, 0.995756, 0.6, 1, 0.0924473, 0.000217489, 0.00813929, 0.995684, 0.633333, 1, 0.0930957, -0.000303157, 0.00796225, 0.995625, 0.666667, 1, 0.0936713, 7.92507e-05, 0.00687053, 0.995579, 0.7, 1, 0.0942926, 0.00187682, 0.00438622, 0.995533, 0.733333, 1, 0.0951111, 0.00624531, -0.000603624, 0.995447, 0.766667, 1, 0.0959989, 0.0140288, -0.00893144, 0.995243, 0.8, 1, 0.0945612, 0.0168513, -0.00963798, 0.99533, 0.833333, 1, 0.0940008, 0.0174019, -0.00767629, 0.99539, 0.866667, 1, 0.0948307, 0.015196, -0.00303361, 0.995373, 0.9, 1, 0.0964446, 0.0107726, 0.00359096, 0.995274, 0.933333, 1, 0.0968811, 0.0055461, 0.0112152, 0.995217, 0.966667, 1, 0.0943494, 0.000882555, 0.0190747, 0.995356, 1, 1, 0.0889935, -0.00239549, 0.0264581, 0.995678, 1.03333, 1, 0.0826251, -0.00406923, 0.032667, 0.996037, 1.06667, 1, 0.0766675, -0.00442446, 0.0371882, 0.996353, 1.1, 1, 0.071048, -0.00397434, 0.0396995, 0.996675, 1.13333, 1, 0.0653835, -0.00311828, 0.0400447, 0.997052, 1.16667, 1, 0.0603852, -0.00199261, 0.0384128, 0.997434, 1.2, 1, 0.057242, -0.000641265, 0.0355972, 0.997725, 1.23333, 1, 0.0560639, 0.000712531, 0.0329715, 0.997882, 1.26667, 1, 0.0558514, 0.00167971, 0.0318273, 0.99793, 1.3, 1, 0.0558849, 0.00210319, 0.0324353, 0.997908, 1.33333, 1, 0.0562704, 0.00229821, 0.0338998, 0.997837, 1.36667, 1, 0.0570078, 0.00266382, 0.0350798, 0.997754, 1.43333, 1, 0.0568332, 0.00311692, 0.03541, 0.997751, 1.46667, 1, 0.0555658, 0.00245667, 0.0350679, 0.997836, 1.5, 1, 0.054354, 0.0016092, 0.034379, 0.997928, 1.53333, 1, 0.0535577, 0.00132033, 0.0329282, 0.998021, 1.56667, 1, 0.0529649, 0.00179566, 0.0304632, 0.99813, 1.6, 1, 0.0524164, 0.00248895, 0.0272486, 0.99825, 1.63333, 1, 0.0524017, 0.00272722, 0.0238301, 0.998338, 1.66667, 1, 0.053852, 0.00246725, 0.0204054, 0.998337, 1.7, 1, 0.0571242, 0.00230341, 0.0167363, 0.998224, 1.73333, 1, 0.0612584, 0.00270951, 0.0129402, 0.998034, 1.76667, 1, 0.0647292, 0.00341066, 0.00994281, 0.997847, 1.8, 1, 0.0671393, 0.00369394, 0.00859299, 0.9977, 1.83333, 1, 0.0696921, 0.00330945, 0.0085604, 0.997526, 1.86667, 1, 0.0736861, 0.00281397, 0.00861182, 0.99724, 1.93333, 1, 0.0842243, 0.00346336, 0.00686137, 0.996417, 1.96667, 1, 0.0881702, 0.00362299, 0.00633155, 0.996079, 2, 1, 0.0904935, 0.00257482, 0.00697544, 0.995869, 2.03333, 1, 0.0916894, 0.00112948, 0.00788061, 0.995756, 2.06667, 1, 0.0924473, 0.000217565, 0.00813922, 0.995684, 2.1, 1, 0.0930958, -0.00030312, 0.00796213, 0.995625, 2.13333, 1, 0.0936714, 7.92819e-05, 0.00687055, 0.995579, 2.16667, 1, 0.0942926, 0.00187679, 0.00438619, 0.995533, 2.2, 1, 0.095111, 0.00624528, -0.000603554, 0.995447, 2.23333, 1, 0.0959988, 0.0140285, -0.00893131, 0.995243, 2.26667, 1, 0.0945612, 0.0168515, -0.00963802, 0.99533, 2.3, 1, 0.0940007, 0.0174018, -0.00767626, 0.99539, 2.33333, 1, 0.0948307, 0.015196, -0.0030336, 0.995373, 2.36667, 1, 0.0964446, 0.0107725, 0.00359102, 0.995274, 2.4, 1, 0.0968812, 0.00554611, 0.0112152, 0.995217, 2.43333, 1, 0.0943494, 0.000882636, 0.0190746, 0.995356, 2.46667, 1, 0.0889935, -0.00239531, 0.026458, 0.995678, 2.5, 1, 0.0826251, -0.00406933, 0.032667, 0.996037, 2.53333, 1, 0.0766675, -0.00442442, 0.0371882, 0.996353, 2.56667, 1, 0.071048, -0.00397435, 0.0396995, 0.996675, 2.6, 1, 0.0653835, -0.00311824, 0.0400447, 0.997052, 2.63333, 1, 0.0603852, -0.00199262, 0.0384128, 0.997434, 2.66667, 1, 0.057242, -0.000641269, 0.0355972, 0.997725, 2.7, 1, 0.0560639, 0.000712532, 0.0329715, 0.997882, 2.73333, 1, 0.0558514, 0.00167971, 0.0318273, 0.99793, 2.76667, 1, 0.0558849, 0.00210321, 0.0324353, 0.997908, 2.8, 1, 0.0562704, 0.00229818, 0.0338998, 0.997837, 2.83333, 1, 0.0570078, 0.00266378, 0.0350798, 0.997754, 2.9, 1, 0.0568332, 0.00311692, 0.03541, 0.997751, 2.93333, 1, 0.0555657, 0.00245668, 0.035068, 0.997836, 2.96667, 1, 0.054354, 0.00160923, 0.034379, 0.997928) +tracks/6/type = "rotation_3d" +tracks/6/imported = true +tracks/6/enabled = true +tracks/6/path = NodePath("Armature/Skeleton3D:mixamorig_Head") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = PackedFloat32Array(0, 1, 0.0682206, 0.0365909, 0.107203, 0.991219, 0.0333333, 1, 0.0682206, 0.0365909, 0.107203, 0.991219, 0.0666667, 1, 0.0608837, 0.0338684, 0.1018, 0.992362, 0.1, 1, 0.0557072, 0.0344527, 0.0920789, 0.993595, 0.133333, 1, 0.0515766, 0.0360511, 0.0783101, 0.994941, 0.166667, 1, 0.0480385, 0.0362153, 0.0604714, 0.996355, 0.2, 1, 0.0480719, 0.0345574, 0.0404294, 0.997427, 0.233333, 1, 0.0574031, 0.0325816, 0.0228129, 0.997558, 0.266667, 1, 0.0795002, 0.0315739, 0.0126016, 0.996255, 0.3, 1, 0.110855, 0.0308212, 0.0116522, 0.99329, 0.333333, 1, 0.142366, 0.0284529, 0.0179054, 0.989243, 0.366667, 1, 0.166886, 0.023829, 0.0275894, 0.985302, 0.4, 1, 0.184774, 0.0186666, 0.0371283, 0.981902, 0.433333, 1, 0.200399, 0.01589, 0.0427924, 0.978651, 0.466667, 1, 0.214388, 0.0171255, 0.0402722, 0.975768, 0.5, 1, 0.222517, 0.0212588, 0.0267196, 0.974331, 0.533333, 1, 0.22517, 0.02533, 0.00384166, 0.973983, 0.566667, 1, 0.228251, 0.0288938, -0.0225744, 0.972912, 0.6, 1, 0.231951, 0.0311909, -0.0411614, 0.971356, 0.666667, 1, 0.243671, 0.038108, -0.0704737, 0.966543, 0.7, 1, 0.252407, 0.0468503, -0.0846778, 0.96277, 0.733333, 1, 0.267297, 0.0632879, -0.098602, 0.956465, 0.766667, 1, 0.280754, 0.0892048, -0.114982, 0.948683, 0.8, 1, 0.303431, 0.0950261, -0.101335, 0.942672, 0.833333, 1, 0.313251, 0.0951565, -0.0837934, 0.941168, 0.866667, 1, 0.316414, 0.0859533, -0.058256, 0.942921, 0.9, 1, 0.316243, 0.0684645, -0.0265304, 0.945833, 0.933333, 1, 0.309954, 0.0493086, 0.00412278, 0.949463, 0.966667, 1, 0.293157, 0.0349085, 0.0288224, 0.954992, 1, 1, 0.265341, 0.0269966, 0.0486666, 0.962547, 1.03333, 1, 0.229681, 0.0239335, 0.0668354, 0.970674, 1.06667, 1, 0.191532, 0.0237235, 0.0837975, 0.977615, 1.1, 1, 0.157518, 0.0251241, 0.0965564, 0.982463, 1.13333, 1, 0.13259, 0.0275481, 0.10149, 0.985576, 1.16667, 1, 0.117161, 0.0308371, 0.0977638, 0.987808, 1.2, 1, 0.108747, 0.0348916, 0.0886656, 0.989492, 1.23333, 1, 0.105716, 0.0392742, 0.0798667, 0.990405, 1.26667, 1, 0.107323, 0.043229, 0.0757442, 0.990392, 1.3, 1, 0.110845, 0.0462542, 0.0769337, 0.989775, 1.33333, 1, 0.111687, 0.0485447, 0.0814977, 0.989205, 1.36667, 1, 0.107132, 0.0502763, 0.0878305, 0.989081, 1.4, 1, 0.0982866, 0.0505048, 0.0953442, 0.989292, 1.43333, 1, 0.0878406, 0.047752, 0.102752, 0.98967, 1.46667, 1, 0.0775154, 0.0422125, 0.107437, 0.990286, 1.5, 1, 0.0682207, 0.0365909, 0.107203, 0.991219, 1.53333, 1, 0.0608837, 0.0338685, 0.1018, 0.992362, 1.56667, 1, 0.0557073, 0.0344528, 0.0920789, 0.993595, 1.6, 1, 0.0515766, 0.0360511, 0.0783101, 0.994941, 1.63333, 1, 0.0480385, 0.0362153, 0.0604714, 0.996355, 1.66667, 1, 0.048072, 0.0345574, 0.0404294, 0.997427, 1.7, 1, 0.0574031, 0.0325816, 0.0228131, 0.997558, 1.73333, 1, 0.0795002, 0.0315738, 0.0126017, 0.996255, 1.76667, 1, 0.110855, 0.0308212, 0.0116522, 0.99329, 1.8, 1, 0.142366, 0.0284529, 0.0179054, 0.989243, 1.83333, 1, 0.166886, 0.023829, 0.0275894, 0.985302, 1.86667, 1, 0.184775, 0.0186666, 0.0371284, 0.981902, 1.9, 1, 0.200399, 0.01589, 0.0427924, 0.978651, 1.93333, 1, 0.214388, 0.0171254, 0.0402723, 0.975768, 1.96667, 1, 0.222517, 0.0212588, 0.0267196, 0.974331, 2, 1, 0.22517, 0.02533, 0.00384184, 0.973983, 2.03333, 1, 0.228251, 0.0288937, -0.0225743, 0.972912, 2.06667, 1, 0.231951, 0.0311908, -0.0411614, 0.971356, 2.13333, 1, 0.243671, 0.038108, -0.0704734, 0.966543, 2.16667, 1, 0.252408, 0.0468503, -0.0846779, 0.96277, 2.2, 1, 0.267297, 0.0632879, -0.098602, 0.956465, 2.23333, 1, 0.280754, 0.0892048, -0.114982, 0.948683, 2.26667, 1, 0.303432, 0.0950262, -0.101335, 0.942672, 2.3, 1, 0.313251, 0.0951566, -0.0837934, 0.941168, 2.33333, 1, 0.316415, 0.0859535, -0.058256, 0.942921, 2.36667, 1, 0.316243, 0.0684645, -0.0265303, 0.945832, 2.4, 1, 0.309954, 0.0493084, 0.00412285, 0.949463, 2.43333, 1, 0.293157, 0.0349083, 0.0288224, 0.954992, 2.46667, 1, 0.265341, 0.0269966, 0.0486667, 0.962547, 2.5, 1, 0.229681, 0.0239335, 0.0668354, 0.970674, 2.53333, 1, 0.191532, 0.0237236, 0.0837975, 0.977615, 2.56667, 1, 0.157518, 0.025124, 0.0965564, 0.982463, 2.6, 1, 0.13259, 0.0275481, 0.10149, 0.985576, 2.63333, 1, 0.117161, 0.0308371, 0.0977638, 0.987808, 2.66667, 1, 0.108747, 0.0348916, 0.0886655, 0.989492, 2.7, 1, 0.105716, 0.0392743, 0.0798667, 0.990406, 2.73333, 1, 0.107323, 0.043229, 0.0757442, 0.990392, 2.76667, 1, 0.110845, 0.0462542, 0.0769337, 0.989775, 2.8, 1, 0.111687, 0.0485447, 0.0814977, 0.989205, 2.83333, 1, 0.107132, 0.0502763, 0.0878305, 0.989081, 2.86667, 1, 0.0982866, 0.0505048, 0.0953442, 0.989292, 2.9, 1, 0.0878405, 0.0477522, 0.102752, 0.98967, 2.93333, 1, 0.0775155, 0.0422126, 0.107437, 0.990286, 2.96667, 1, 0.0682206, 0.0365909, 0.107203, 0.991219) +tracks/7/type = "rotation_3d" +tracks/7/imported = true +tracks/7/enabled = true +tracks/7/path = NodePath("Armature/Skeleton3D:mixamorig_LeftShoulder") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = PackedFloat32Array(0, 1, 0.523678, 0.473685, -0.527233, 0.472662, 0.0333333, 1, 0.523678, 0.473685, -0.527233, 0.472662, 0.0666667, 1, 0.522821, 0.474335, -0.527584, 0.472567, 0.1, 1, 0.522601, 0.474289, -0.528789, 0.471508, 0.133333, 1, 0.522298, 0.474237, -0.530379, 0.470108, 0.166667, 1, 0.521032, 0.475004, -0.531886, 0.469036, 0.2, 1, 0.51929, 0.476197, -0.533198, 0.468267, 0.233333, 1, 0.518723, 0.476474, -0.534176, 0.467499, 0.266667, 1, 0.519944, 0.475421, -0.534361, 0.467003, 0.3, 1, 0.521507, 0.474275, -0.53355, 0.467352, 0.333333, 1, 0.521845, 0.474222, -0.532388, 0.468352, 0.366667, 1, 0.52135, 0.474753, -0.531804, 0.469029, 0.4, 1, 0.521459, 0.474654, -0.531853, 0.468953, 0.433333, 1, 0.522286, 0.473989, -0.531699, 0.468879, 0.466667, 1, 0.522528, 0.473963, -0.530783, 0.469674, 0.5, 1, 0.521664, 0.474973, -0.529316, 0.471266, 0.533333, 1, 0.520831, 0.476052, -0.527342, 0.473307, 0.566667, 1, 0.521105, 0.476435, -0.524027, 0.476294, 0.6, 1, 0.522214, 0.476417, -0.518779, 0.48082, 0.633333, 1, 0.523961, 0.475901, -0.513134, 0.485466, 0.666667, 1, 0.527799, 0.473138, -0.51063, 0.486648, 0.7, 1, 0.535264, 0.466395, -0.513597, 0.481858, 0.733333, 1, 0.545558, 0.456269, -0.520595, 0.472404, 0.766667, 1, 0.556404, 0.445026, -0.528336, 0.461765, 0.8, 1, 0.558488, 0.442096, -0.53323, 0.456407, 0.833333, 1, 0.558263, 0.441519, -0.536802, 0.453042, 0.866667, 1, 0.557151, 0.442399, -0.537429, 0.452809, 0.9, 1, 0.556274, 0.443874, -0.534335, 0.456093, 0.933333, 1, 0.55529, 0.446071, -0.528087, 0.462384, 1, 1, 0.548929, 0.45448, -0.513587, 0.477863, 1.03333, 1, 0.544039, 0.459405, -0.509722, 0.482858, 1.06667, 1, 0.539321, 0.463594, -0.508959, 0.484948, 1.1, 1, 0.535231, 0.466917, -0.510054, 0.48514, 1.13333, 1, 0.531956, 0.469408, -0.511884, 0.48441, 1.16667, 1, 0.529792, 0.470857, -0.514194, 0.482927, 1.2, 1, 0.528795, 0.471227, -0.516969, 0.480692, 1.23333, 1, 0.528372, 0.471113, -0.519676, 0.478343, 1.26667, 1, 0.527779, 0.471278, -0.521574, 0.476766, 1.3, 1, 0.526988, 0.471739, -0.522719, 0.475931, 1.33333, 1, 0.526545, 0.471882, -0.523972, 0.474901, 1.36667, 1, 0.526592, 0.471512, -0.525744, 0.473254, 1.4, 1, 0.526614, 0.471192, -0.527354, 0.471756, 1.43333, 1, 0.526112, 0.471496, -0.527978, 0.471313, 1.46667, 1, 0.524993, 0.472502, -0.527645, 0.471927, 1.5, 1, 0.523682, 0.47368, -0.527238, 0.472657, 1.53333, 1, 0.522821, 0.474336, -0.527583, 0.472568, 1.56667, 1, 0.522601, 0.47429, -0.528789, 0.471508, 1.6, 1, 0.522296, 0.47424, -0.530377, 0.470111, 1.63333, 1, 0.521032, 0.475004, -0.531886, 0.469035, 1.66667, 1, 0.519291, 0.476196, -0.533199, 0.468266, 1.7, 1, 0.518723, 0.476474, -0.534175, 0.4675, 1.73333, 1, 0.519945, 0.47542, -0.534362, 0.467002, 1.76667, 1, 0.521508, 0.474274, -0.533551, 0.467351, 1.8, 1, 0.521845, 0.474222, -0.532388, 0.468352, 1.83333, 1, 0.521352, 0.474752, -0.531805, 0.469027, 1.86667, 1, 0.52146, 0.474653, -0.531853, 0.468952, 1.9, 1, 0.522287, 0.473988, -0.5317, 0.468877, 1.93333, 1, 0.522529, 0.473962, -0.530783, 0.469673, 1.96667, 1, 0.521665, 0.474973, -0.529316, 0.471266, 2, 1, 0.520832, 0.476052, -0.527342, 0.473306, 2.03333, 1, 0.521105, 0.476435, -0.524027, 0.476294, 2.06667, 1, 0.52221, 0.476421, -0.518775, 0.480824, 2.1, 1, 0.523961, 0.4759, -0.513135, 0.485465, 2.13333, 1, 0.527799, 0.473138, -0.51063, 0.486648, 2.16667, 1, 0.535264, 0.466395, -0.513597, 0.481857, 2.2, 1, 0.545558, 0.456269, -0.520595, 0.472404, 2.23333, 1, 0.556404, 0.445026, -0.528336, 0.461765, 2.26667, 1, 0.558489, 0.442096, -0.533231, 0.456407, 2.3, 1, 0.558263, 0.441519, -0.536802, 0.453042, 2.33333, 1, 0.557151, 0.442399, -0.537429, 0.45281, 2.36667, 1, 0.556274, 0.443874, -0.534335, 0.456093, 2.4, 1, 0.55529, 0.44607, -0.528087, 0.462383, 2.46667, 1, 0.548929, 0.45448, -0.513587, 0.477863, 2.5, 1, 0.544039, 0.459405, -0.509722, 0.482858, 2.53333, 1, 0.539321, 0.463594, -0.508959, 0.484948, 2.56667, 1, 0.535231, 0.466917, -0.510054, 0.48514, 2.6, 1, 0.531957, 0.469407, -0.511885, 0.484409, 2.63333, 1, 0.529792, 0.470858, -0.514193, 0.482928, 2.66667, 1, 0.528795, 0.471226, -0.51697, 0.480691, 2.7, 1, 0.528372, 0.471114, -0.519675, 0.478344, 2.73333, 1, 0.527778, 0.47128, -0.521573, 0.476767, 2.8, 1, 0.526543, 0.471885, -0.52397, 0.474904, 2.83333, 1, 0.526588, 0.471518, -0.52574, 0.473259, 2.86667, 1, 0.526602, 0.471205, -0.527343, 0.471769, 2.9, 1, 0.526107, 0.471502, -0.527973, 0.471319, 2.93333, 1, 0.524995, 0.472501, -0.527646, 0.471925, 2.96667, 1, 0.523684, 0.473679, -0.527239, 0.472655) +tracks/8/type = "rotation_3d" +tracks/8/imported = true +tracks/8/enabled = true +tracks/8/path = NodePath("Armature/Skeleton3D:mixamorig_LeftArm") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = PackedFloat32Array(0, 1, 0.157752, -0.191343, 0.658845, 0.71023, 0.0333333, 1, 0.157752, -0.191343, 0.658845, 0.71023, 0.0666667, 1, 0.157241, -0.187942, 0.664693, 0.705788, 0.1, 1, 0.154048, -0.18344, 0.67063, 0.70205, 0.133333, 1, 0.150811, -0.178915, 0.677109, 0.697688, 0.166667, 1, 0.150724, -0.174303, 0.685079, 0.691062, 0.2, 1, 0.154304, -0.16885, 0.693335, 0.683349, 0.233333, 1, 0.158697, -0.162287, 0.698314, 0.678849, 0.266667, 1, 0.159561, -0.155409, 0.697132, 0.681466, 0.3, 1, 0.153826, -0.149458, 0.690564, 0.690739, 0.333333, 1, 0.14182, -0.145192, 0.682678, 0.701966, 0.366667, 1, 0.127586, -0.142756, 0.677144, 0.710506, 0.4, 1, 0.116633, -0.141932, 0.673798, 0.715715, 0.433333, 1, 0.112231, -0.142117, 0.669314, 0.720573, 0.466667, 1, 0.111657, -0.139619, 0.665971, 0.724239, 0.5, 1, 0.112053, -0.134703, 0.663119, 0.727717, 0.566667, 1, 0.114564, -0.120581, 0.661269, 0.731477, 0.6, 1, 0.123303, -0.115655, 0.661997, 0.730192, 0.633333, 1, 0.133904, -0.110714, 0.66497, 0.726379, 0.666667, 1, 0.145669, -0.105831, 0.669605, 0.720562, 0.7, 1, 0.157906, -0.101071, 0.675216, 0.713396, 0.733333, 1, 0.16993, -0.0964148, 0.681085, 0.705656, 0.766667, 1, 0.181081, -0.0917448, 0.686479, 0.69824, 0.8, 1, 0.179057, -0.0865598, 0.676673, 0.708914, 0.833333, 1, 0.17747, -0.0841753, 0.668486, 0.717318, 0.866667, 1, 0.182166, -0.0849207, 0.664324, 0.719915, 0.9, 1, 0.194799, -0.0883977, 0.663947, 0.716529, 0.933333, 1, 0.210641, -0.093537, 0.664813, 0.710567, 0.966667, 1, 0.223659, -0.0995309, 0.665891, 0.704741, 1, 1, 0.231501, -0.10633, 0.668643, 0.698582, 1.03333, 1, 0.234787, -0.114248, 0.67439, 0.690667, 1.06667, 1, 0.234256, -0.12308, 0.68226, 0.68154, 1.1, 1, 0.230022, -0.131936, 0.689781, 0.67371, 1.13333, 1, 0.222546, -0.140077, 0.694754, 0.669454, 1.23333, 1, 0.1961, -0.162275, 0.69192, 0.675617, 1.26667, 1, 0.189767, -0.169405, 0.686955, 0.680722, 1.3, 1, 0.183541, -0.175377, 0.680547, 0.687322, 1.33333, 1, 0.175889, -0.179838, 0.673038, 0.695515, 1.36667, 1, 0.167104, -0.183442, 0.665114, 0.704307, 1.4, 1, 0.159618, -0.187052, 0.658144, 0.711604, 1.43333, 1, 0.155949, -0.190453, 0.65416, 0.71518, 1.46667, 1, 0.156232, -0.192271, 0.654601, 0.714227, 1.5, 1, 0.157752, -0.191343, 0.658845, 0.71023, 1.53333, 1, 0.157241, -0.187942, 0.664693, 0.705788, 1.56667, 1, 0.154047, -0.18344, 0.67063, 0.702051, 1.6, 1, 0.150811, -0.178915, 0.677109, 0.697688, 1.63333, 1, 0.150724, -0.174303, 0.685079, 0.691062, 1.66667, 1, 0.154304, -0.168851, 0.693335, 0.683349, 1.7, 1, 0.158697, -0.162287, 0.698313, 0.678849, 1.73333, 1, 0.159561, -0.15541, 0.697132, 0.681466, 1.76667, 1, 0.153826, -0.149458, 0.690565, 0.690739, 1.8, 1, 0.141821, -0.145191, 0.682678, 0.701966, 1.83333, 1, 0.127586, -0.142756, 0.677144, 0.710506, 1.86667, 1, 0.116632, -0.141932, 0.673798, 0.715715, 1.9, 1, 0.112231, -0.142117, 0.669314, 0.720573, 1.93333, 1, 0.111658, -0.139619, 0.665972, 0.724238, 1.96667, 1, 0.112054, -0.134703, 0.663119, 0.727717, 2.03333, 1, 0.114564, -0.120581, 0.661269, 0.731477, 2.06667, 1, 0.123303, -0.115655, 0.661997, 0.730192, 2.1, 1, 0.133904, -0.110714, 0.66497, 0.726379, 2.13333, 1, 0.145669, -0.105831, 0.669606, 0.720561, 2.16667, 1, 0.157906, -0.101071, 0.675216, 0.713396, 2.2, 1, 0.16993, -0.0964145, 0.681085, 0.705656, 2.23333, 1, 0.181081, -0.0917445, 0.686479, 0.69824, 2.26667, 1, 0.179057, -0.0865593, 0.676673, 0.708914, 2.3, 1, 0.17747, -0.0841753, 0.668486, 0.717318, 2.33333, 1, 0.182166, -0.084921, 0.664324, 0.719915, 2.36667, 1, 0.194799, -0.0883975, 0.663947, 0.716529, 2.4, 1, 0.210641, -0.093537, 0.664813, 0.710567, 2.43333, 1, 0.223659, -0.0995313, 0.665891, 0.704741, 2.46667, 1, 0.231501, -0.10633, 0.668643, 0.698582, 2.5, 1, 0.234787, -0.114248, 0.67439, 0.690667, 2.53333, 1, 0.234256, -0.12308, 0.68226, 0.68154, 2.56667, 1, 0.230022, -0.131936, 0.689781, 0.67371, 2.6, 1, 0.222546, -0.140077, 0.694754, 0.669454, 2.7, 1, 0.1961, -0.162275, 0.69192, 0.675617, 2.73333, 1, 0.189767, -0.169405, 0.686955, 0.680722, 2.76667, 1, 0.183541, -0.175377, 0.680547, 0.687322, 2.8, 1, 0.175889, -0.179838, 0.673038, 0.695515, 2.83333, 1, 0.167104, -0.183442, 0.665114, 0.704307, 2.86667, 1, 0.159618, -0.187052, 0.658143, 0.711605, 2.9, 1, 0.155949, -0.190453, 0.65416, 0.71518, 2.93333, 1, 0.156232, -0.192271, 0.654602, 0.714227, 2.96667, 1, 0.157752, -0.191343, 0.658845, 0.710229) +tracks/9/type = "rotation_3d" +tracks/9/imported = true +tracks/9/enabled = true +tracks/9/path = NodePath("Armature/Skeleton3D:mixamorig_LeftForeArm") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = PackedFloat32Array(0, 1, 0.0400396, 0.0852304, 0.13717, 0.986061, 0.0333333, 1, 0.0400396, 0.0852304, 0.13717, 0.986061, 0.0666667, 1, 0.0404679, 0.0860687, 0.138637, 0.985766, 0.1, 1, 0.0423484, 0.0897491, 0.145079, 0.984431, 0.133333, 1, 0.0454691, 0.0958559, 0.15577, 0.982079, 0.2, 1, 0.0524189, 0.109452, 0.17958, 0.976229, 0.233333, 1, 0.0567805, 0.117982, 0.194522, 0.97212, 0.266667, 1, 0.0634209, 0.130964, 0.217271, 0.965204, 0.3, 1, 0.0725864, 0.148873, 0.248671, 0.954322, 0.333333, 1, 0.082758, 0.168736, 0.283518, 0.940371, 0.366667, 1, 0.0918782, 0.186534, 0.314762, 0.926115, 0.4, 1, 0.0989996, 0.200423, 0.339159, 0.913784, 0.433333, 1, 0.104578, 0.211297, 0.358271, 0.90336, 0.466667, 1, 0.109416, 0.220725, 0.374846, 0.893756, 0.5, 1, 0.113571, 0.228818, 0.389079, 0.885077, 0.533333, 1, 0.116151, 0.233842, 0.397918, 0.879482, 0.566667, 1, 0.115866, 0.233287, 0.396941, 0.880108, 0.6, 1, 0.111771, 0.225312, 0.382912, 0.888887, 0.633333, 1, 0.103934, 0.210041, 0.356062, 0.904599, 0.666667, 1, 0.0936963, 0.19008, 0.32099, 0.923069, 0.7, 1, 0.0828932, 0.169, 0.283981, 0.940172, 0.733333, 1, 0.0724707, 0.148647, 0.248274, 0.954469, 0.766667, 1, 0.0622789, 0.128732, 0.213359, 0.966451, 0.8, 1, 0.0614499, 0.127111, 0.210518, 0.967341, 0.833333, 1, 0.0599356, 0.124151, 0.205331, 0.968934, 0.866667, 1, 0.0567781, 0.117977, 0.194514, 0.972122, 0.9, 1, 0.0524989, 0.109608, 0.179853, 0.976157, 0.933333, 1, 0.0483958, 0.101582, 0.165796, 0.97972, 0.966667, 1, 0.0448192, 0.0945844, 0.153544, 0.982583, 1, 1, 0.0413794, 0.0878531, 0.14176, 0.985126, 1.03333, 1, 0.038267, 0.0817603, 0.131097, 0.987251, 1.06667, 1, 0.0362223, 0.0777575, 0.124092, 0.988556, 1.1, 1, 0.0355165, 0.0763755, 0.121674, 0.98899, 1.16667, 1, 0.0357406, 0.0768142, 0.122441, 0.988853, 1.2, 1, 0.0354647, 0.0762741, 0.121496, 0.989021, 1.23333, 1, 0.0349894, 0.0753435, 0.119868, 0.989308, 1.26667, 1, 0.034889, 0.0751472, 0.119525, 0.989368, 1.3, 1, 0.0355718, 0.076484, 0.121864, 0.988956, 1.33333, 1, 0.0369258, 0.0791349, 0.126502, 0.988115, 1.36667, 1, 0.0384745, 0.0821664, 0.131807, 0.987115, 1.4, 1, 0.039735, 0.084634, 0.136126, 0.98627, 1.43333, 1, 0.0403757, 0.0858882, 0.138321, 0.98583, 1.46667, 1, 0.0403262, 0.0857908, 0.138151, 0.985864, 1.5, 1, 0.0400396, 0.0852304, 0.13717, 0.986061, 1.53333, 1, 0.040468, 0.0860686, 0.138637, 0.985766, 1.56667, 1, 0.0423484, 0.0897491, 0.145079, 0.984431, 1.6, 1, 0.0454691, 0.0958561, 0.15577, 0.982079, 1.66667, 1, 0.0524188, 0.109452, 0.17958, 0.976229, 1.7, 1, 0.0567806, 0.117982, 0.194522, 0.97212, 1.73333, 1, 0.063421, 0.130964, 0.217271, 0.965204, 1.76667, 1, 0.0725864, 0.148873, 0.248671, 0.954322, 1.8, 1, 0.082758, 0.168736, 0.283518, 0.940371, 1.83333, 1, 0.0918784, 0.186534, 0.314762, 0.926115, 1.86667, 1, 0.0989997, 0.200422, 0.339159, 0.913784, 1.9, 1, 0.104578, 0.211297, 0.358271, 0.90336, 1.93333, 1, 0.109416, 0.220725, 0.374845, 0.893756, 1.96667, 1, 0.113571, 0.228818, 0.389079, 0.885077, 2, 1, 0.116151, 0.233842, 0.397918, 0.879482, 2.03333, 1, 0.115866, 0.233287, 0.396941, 0.880108, 2.06667, 1, 0.111771, 0.225312, 0.382912, 0.888887, 2.1, 1, 0.103934, 0.210041, 0.356062, 0.904599, 2.13333, 1, 0.0936963, 0.19008, 0.32099, 0.923069, 2.16667, 1, 0.0828932, 0.169, 0.28398, 0.940172, 2.2, 1, 0.0724709, 0.148647, 0.248275, 0.954469, 2.23333, 1, 0.062279, 0.128732, 0.213359, 0.966451, 2.26667, 1, 0.0614498, 0.127111, 0.210518, 0.967341, 2.3, 1, 0.0599357, 0.124151, 0.205331, 0.968934, 2.33333, 1, 0.0567781, 0.117977, 0.194514, 0.972122, 2.36667, 1, 0.0524985, 0.109608, 0.179853, 0.976157, 2.4, 1, 0.0483956, 0.101582, 0.165796, 0.97972, 2.43333, 1, 0.0448193, 0.0945847, 0.153544, 0.982583, 2.46667, 1, 0.0413796, 0.087853, 0.14176, 0.985126, 2.5, 1, 0.038267, 0.0817604, 0.131097, 0.987251, 2.53333, 1, 0.0362224, 0.0777574, 0.124092, 0.988556, 2.56667, 1, 0.0355162, 0.0763756, 0.121674, 0.98899, 2.63333, 1, 0.0357405, 0.0768142, 0.122441, 0.988853, 2.66667, 1, 0.0354647, 0.0762741, 0.121496, 0.989021, 2.7, 1, 0.0349897, 0.0753436, 0.119868, 0.989308, 2.73333, 1, 0.0348892, 0.0751472, 0.119525, 0.989368, 2.76667, 1, 0.0355718, 0.076484, 0.121864, 0.988956, 2.8, 1, 0.0369259, 0.079135, 0.126502, 0.988115, 2.83333, 1, 0.0384744, 0.0821665, 0.131807, 0.987115, 2.86667, 1, 0.0397349, 0.084634, 0.136126, 0.98627, 2.9, 1, 0.0403758, 0.0858882, 0.138321, 0.98583, 2.93333, 1, 0.040326, 0.0857908, 0.138151, 0.985864, 2.96667, 1, 0.0400396, 0.0852303, 0.13717, 0.986061) +tracks/10/type = "rotation_3d" +tracks/10/imported = true +tracks/10/enabled = true +tracks/10/path = NodePath("Armature/Skeleton3D:mixamorig_LeftHand") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = PackedFloat32Array(0, 1, -0.0424293, -0.0462335, -0.0059003, 0.998012, 0.0333333, 1, -0.0424293, -0.0462335, -0.0059003, 0.998012, 0.0666667, 1, -0.0446206, -0.0475028, -0.0015958, 0.997873, 0.1, 1, -0.0418128, -0.0566929, 0.00191977, 0.997514, 0.133333, 1, -0.0378235, -0.0739493, 0.00898428, 0.996504, 0.166667, 1, -0.0355417, -0.0897097, 0.0228224, 0.995072, 0.2, 1, -0.0337187, -0.0942691, 0.0379489, 0.994252, 0.233333, 1, -0.0298761, -0.0906824, 0.0392422, 0.994658, 0.266667, 1, -0.0227623, -0.0929334, 0.0139365, 0.995315, 0.3, 1, -0.0128355, -0.109426, -0.0329989, 0.993364, 0.333333, 1, -0.00297812, -0.1353, -0.0778895, 0.987734, 0.366667, 1, 0.00398015, -0.161264, -0.0983204, 0.981994, 0.4, 1, 0.00710291, -0.181474, -0.0915599, 0.979098, 0.433333, 1, 0.00568476, -0.193824, -0.0695247, 0.978553, 0.466667, 1, -2.57861e-05, -0.199105, -0.0435067, 0.979012, 0.5, 1, -0.00656031, -0.200477, -0.0196859, 0.979479, 0.533333, 1, -0.00918097, -0.200411, -0.00348056, 0.979663, 0.566667, 1, -0.00706436, -0.195813, -0.000364769, 0.980616, 0.6, 1, -0.00399349, -0.178253, -0.0116346, 0.983908, 0.633333, 1, -0.00224722, -0.143777, -0.0326043, 0.98907, 0.666667, 1, 0.00196667, -0.101725, -0.0558775, 0.99324, 0.7, 1, 0.0144446, -0.0669221, -0.0760327, 0.994752, 0.733333, 1, 0.0351278, -0.0435481, -0.0924309, 0.994146, 0.766667, 1, 0.0585988, -0.0246396, -0.107207, 0.992203, 0.8, 1, 0.0722851, -0.0156541, -0.143881, 0.986827, 0.833333, 1, 0.0793781, -0.00500855, -0.174322, 0.981471, 0.866667, 1, 0.0767315, 0.00553463, -0.190539, 0.978661, 0.9, 1, 0.0631089, 0.0153867, -0.18611, 0.980379, 0.933333, 1, 0.0422404, 0.031339, -0.16085, 0.985576, 0.966667, 1, 0.020309, 0.0606805, -0.122324, 0.990425, 1, 1, 0.00179185, 0.0949306, -0.0817842, 0.992117, 1.03333, 1, -0.011218, 0.113072, -0.0471462, 0.992404, 1.06667, 1, -0.0200371, 0.104761, -0.0196581, 0.994101, 1.1, 1, -0.0285405, 0.0804518, 0.00354729, 0.996343, 1.13333, 1, -0.0380214, 0.057534, 0.0236839, 0.997338, 1.16667, 1, -0.0461783, 0.0434777, 0.0379821, 0.997264, 1.2, 1, -0.0505562, 0.034292, 0.0424887, 0.997228, 1.23333, 1, -0.0506827, 0.023601, 0.0355128, 0.997804, 1.26667, 1, -0.047721, 0.00926887, 0.0196253, 0.998625, 1.3, 1, -0.0429839, -0.006441, 0.00125445, 0.999054, 1.33333, 1, -0.0371515, -0.0200005, -0.0129585, 0.999025, 1.36667, 1, -0.0312298, -0.0298521, -0.0200841, 0.998864, 1.4, 1, -0.0277371, -0.0371562, -0.0210016, 0.998704, 1.43333, 1, -0.0293765, -0.0430077, -0.0176879, 0.998486, 1.46667, 1, -0.0357492, -0.0462114, -0.0119116, 0.998221, 1.5, 1, -0.0424294, -0.0462334, -0.00590048, 0.998012, 1.53333, 1, -0.0446208, -0.0475027, -0.00159619, 0.997873, 1.56667, 1, -0.0418126, -0.0566929, 0.00192002, 0.997514, 1.6, 1, -0.0378236, -0.0739494, 0.00898382, 0.996504, 1.63333, 1, -0.0355415, -0.0897096, 0.0228223, 0.995072, 1.66667, 1, -0.0337187, -0.0942691, 0.037949, 0.994252, 1.7, 1, -0.0298758, -0.0906824, 0.0392422, 0.994658, 1.73333, 1, -0.0227623, -0.0929335, 0.0139368, 0.995315, 1.76667, 1, -0.0128356, -0.109426, -0.0329987, 0.993364, 1.8, 1, -0.00297804, -0.1353, -0.0778894, 0.987734, 1.83333, 1, 0.00398008, -0.161264, -0.0983203, 0.981994, 1.86667, 1, 0.00710287, -0.181474, -0.0915597, 0.979098, 1.9, 1, 0.00568482, -0.193824, -0.0695246, 0.978553, 1.93333, 1, -2.59597e-05, -0.199105, -0.0435069, 0.979012, 1.96667, 1, -0.00656041, -0.200477, -0.0196858, 0.979479, 2, 1, -0.00918099, -0.200411, -0.00348045, 0.979663, 2.03333, 1, -0.00706429, -0.195813, -0.000364798, 0.980616, 2.06667, 1, -0.00399369, -0.178254, -0.011635, 0.983908, 2.1, 1, -0.00224723, -0.143777, -0.0326042, 0.98907, 2.13333, 1, 0.00196664, -0.101725, -0.0558772, 0.99324, 2.16667, 1, 0.0144447, -0.0669221, -0.076033, 0.994752, 2.2, 1, 0.035128, -0.043548, -0.0924307, 0.994146, 2.23333, 1, 0.0585987, -0.0246396, -0.107207, 0.992203, 2.26667, 1, 0.0722853, -0.0156543, -0.143881, 0.986827, 2.3, 1, 0.0793782, -0.00500852, -0.174322, 0.981471, 2.33333, 1, 0.0767313, 0.00553481, -0.190539, 0.978661, 2.36667, 1, 0.0631089, 0.0153867, -0.18611, 0.980379, 2.4, 1, 0.0422404, 0.0313391, -0.16085, 0.985576, 2.43333, 1, 0.020309, 0.0606803, -0.122324, 0.990425, 2.46667, 1, 0.00179177, 0.0949307, -0.0817842, 0.992117, 2.5, 1, -0.011218, 0.113072, -0.0471459, 0.992404, 2.53333, 1, -0.0200372, 0.104761, -0.0196583, 0.994101, 2.56667, 1, -0.0285404, 0.0804517, 0.00354742, 0.996344, 2.6, 1, -0.0380214, 0.0575341, 0.0236837, 0.997338, 2.63333, 1, -0.0461783, 0.0434778, 0.0379822, 0.997264, 2.66667, 1, -0.0505561, 0.034292, 0.0424887, 0.997228, 2.7, 1, -0.0506828, 0.0236012, 0.0355133, 0.997804, 2.73333, 1, -0.0477213, 0.00926893, 0.019625, 0.998625, 2.76667, 1, -0.0429839, -0.00644086, 0.00125462, 0.999054, 2.8, 1, -0.0371515, -0.0200004, -0.0129584, 0.999025, 2.83333, 1, -0.0312298, -0.0298522, -0.0200841, 0.998864, 2.86667, 1, -0.027737, -0.0371563, -0.0210016, 0.998704, 2.9, 1, -0.0293767, -0.0430077, -0.0176881, 0.998486, 2.93333, 1, -0.035749, -0.0462114, -0.0119115, 0.998221, 2.96667, 1, -0.0424294, -0.0462334, -0.00590059, 0.998012) +tracks/11/type = "rotation_3d" +tracks/11/imported = true +tracks/11/enabled = true +tracks/11/path = NodePath("Armature/Skeleton3D:mixamorig_LeftHandIndex1") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/keys = PackedFloat32Array(0, 1, -0.00143395, -0.00125214, 0.000608253, 0.999998) +tracks/12/type = "rotation_3d" +tracks/12/imported = true +tracks/12/enabled = true +tracks/12/path = NodePath("Armature/Skeleton3D:mixamorig_LeftHandIndex2") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/keys = PackedFloat32Array(0, 1, -0.00841328, -0.000137076, 0.0646605, 0.997872) +tracks/13/type = "rotation_3d" +tracks/13/imported = true +tracks/13/enabled = true +tracks/13/path = NodePath("Armature/Skeleton3D:mixamorig_LeftHandIndex3") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/keys = PackedFloat32Array(0, 1, -0.0769236, 0.00698514, 0.157544, 0.984487) +tracks/14/type = "rotation_3d" +tracks/14/imported = true +tracks/14/enabled = true +tracks/14/path = NodePath("Armature/Skeleton3D:mixamorig_RightShoulder") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/keys = PackedFloat32Array(0, 1, 0.500888, -0.49598, 0.506054, 0.497016, 0.0333333, 1, 0.500888, -0.49598, 0.506054, 0.497016, 0.0666667, 1, 0.49804, -0.498065, 0.507238, 0.496586, 0.1, 1, 0.496218, -0.4998, 0.505128, 0.498812, 0.133333, 1, 0.495208, -0.501176, 0.500907, 0.502677, 0.166667, 1, 0.495055, -0.501722, 0.4977, 0.505461, 0.2, 1, 0.496782, -0.500385, 0.497533, 0.505256, 0.233333, 1, 0.501515, -0.496327, 0.500007, 0.50213, 0.266667, 1, 0.508738, -0.490058, 0.503633, 0.497375, 0.3, 1, 0.516098, -0.483494, 0.507536, 0.492223, 0.333333, 1, 0.521332, -0.478514, 0.511677, 0.487262, 0.366667, 1, 0.524096, -0.475508, 0.515876, 0.482791, 0.4, 1, 0.525992, -0.47331, 0.519392, 0.479106, 0.433333, 1, 0.528873, -0.47043, 0.521945, 0.475987, 0.466667, 1, 0.533002, -0.466374, 0.524894, 0.472113, 0.5, 1, 0.53699, -0.461806, 0.53055, 0.465718, 0.533333, 1, 0.539206, -0.45792, 0.539563, 0.45655, 0.566667, 1, 0.538738, -0.456046, 0.54941, 0.447138, 0.6, 1, 0.535806, -0.456851, 0.556606, 0.440896, 0.633333, 1, 0.532454, -0.458787, 0.560397, 0.438135, 0.666667, 1, 0.532637, -0.457771, 0.56363, 0.434816, 0.7, 1, 0.539005, -0.450675, 0.569164, 0.427104, 0.733333, 1, 0.549902, -0.438521, 0.576842, 0.415404, 0.766667, 1, 0.56154, -0.424878, 0.584802, 0.402688, 0.8, 1, 0.560106, -0.428423, 0.578251, 0.410319, 0.833333, 1, 0.559144, -0.431244, 0.572244, 0.417042, 0.866667, 1, 0.55949, -0.432089, 0.56845, 0.420874, 0.9, 1, 0.560536, -0.431407, 0.567423, 0.421566, 0.933333, 1, 0.559899, -0.4318, 0.56806, 0.421152, 0.966667, 1, 0.555573, -0.435625, 0.568807, 0.421934, 1, 1, 0.548328, -0.44235, 0.568641, 0.424629, 1.03333, 1, 0.541427, -0.449026, 0.567053, 0.428582, 1.06667, 1, 0.537658, -0.453228, 0.563969, 0.432951, 1.1, 1, 0.537399, -0.454504, 0.560107, 0.436932, 1.13333, 1, 0.539791, -0.453295, 0.556709, 0.439572, 1.16667, 1, 0.544153, -0.450097, 0.554137, 0.440729, 1.2, 1, 0.549208, -0.446331, 0.551095, 0.442102, 1.23333, 1, 0.552186, -0.444882, 0.545976, 0.446184, 1.26667, 1, 0.5503, -0.448276, 0.538788, 0.453791, 1.3, 1, 0.543042, -0.456487, 0.530821, 0.463631, 1.33333, 1, 0.532742, -0.466975, 0.52291, 0.474012, 1.36667, 1, 0.522615, -0.476889, 0.515027, 0.483939, 1.4, 1, 0.514629, -0.484609, 0.507941, 0.492246, 1.43333, 1, 0.508906, -0.489895, 0.503755, 0.497242, 1.46667, 1, 0.504542, -0.49341, 0.503701, 0.498266, 1.5, 1, 0.500887, -0.49598, 0.506054, 0.497017, 1.53333, 1, 0.498041, -0.498064, 0.507238, 0.496586, 1.56667, 1, 0.496217, -0.499801, 0.505127, 0.498813, 1.6, 1, 0.495208, -0.501176, 0.500908, 0.502676, 1.63333, 1, 0.495055, -0.501722, 0.4977, 0.505461, 1.66667, 1, 0.49679, -0.500377, 0.497541, 0.505249, 1.7, 1, 0.501514, -0.496328, 0.500007, 0.502131, 1.73333, 1, 0.508738, -0.490058, 0.503633, 0.497375, 1.76667, 1, 0.516096, -0.483497, 0.507533, 0.492226, 1.8, 1, 0.521332, -0.478513, 0.511678, 0.487262, 1.83333, 1, 0.524097, -0.475508, 0.515877, 0.48279, 1.86667, 1, 0.525992, -0.47331, 0.519392, 0.479106, 1.9, 1, 0.528868, -0.470434, 0.52194, 0.475992, 1.93333, 1, 0.533004, -0.466372, 0.524896, 0.47211, 1.96667, 1, 0.53699, -0.461807, 0.530549, 0.465719, 2, 1, 0.539209, -0.457917, 0.539566, 0.456547, 2.03333, 1, 0.538739, -0.456045, 0.54941, 0.447138, 2.06667, 1, 0.535807, -0.45685, 0.556607, 0.440895, 2.1, 1, 0.532454, -0.458788, 0.560397, 0.438135, 2.13333, 1, 0.532637, -0.457771, 0.56363, 0.434816, 2.16667, 1, 0.539005, -0.450675, 0.569164, 0.427105, 2.2, 1, 0.549903, -0.438521, 0.576842, 0.415403, 2.23333, 1, 0.56154, -0.424877, 0.584803, 0.402688, 2.26667, 1, 0.560106, -0.428423, 0.57825, 0.410319, 2.3, 1, 0.559143, -0.431245, 0.572243, 0.417043, 2.33333, 1, 0.559491, -0.432088, 0.568451, 0.420872, 2.36667, 1, 0.560535, -0.431408, 0.567423, 0.421567, 2.4, 1, 0.559899, -0.4318, 0.56806, 0.421152, 2.43333, 1, 0.555573, -0.435626, 0.568806, 0.421935, 2.46667, 1, 0.548328, -0.44235, 0.568641, 0.424629, 2.5, 1, 0.541428, -0.449026, 0.567054, 0.428581, 2.53333, 1, 0.537659, -0.453227, 0.56397, 0.432951, 2.56667, 1, 0.537399, -0.454504, 0.560107, 0.436932, 2.6, 1, 0.539791, -0.453296, 0.556709, 0.439573, 2.63333, 1, 0.54415, -0.4501, 0.554135, 0.440732, 2.66667, 1, 0.549204, -0.446336, 0.551091, 0.442107, 2.7, 1, 0.552187, -0.444881, 0.545977, 0.446183, 2.73333, 1, 0.5503, -0.448276, 0.538788, 0.453791, 2.76667, 1, 0.543042, -0.456488, 0.53082, 0.463632, 2.8, 1, 0.53274, -0.466976, 0.522908, 0.474013, 2.83333, 1, 0.522613, -0.476891, 0.515025, 0.483942, 2.86667, 1, 0.514631, -0.484608, 0.507943, 0.492245, 2.9, 1, 0.508907, -0.489894, 0.503756, 0.49724, 2.93333, 1, 0.504538, -0.493414, 0.503697, 0.498271, 2.96667, 1, 0.500886, -0.495981, 0.506053, 0.497017) +tracks/15/type = "rotation_3d" +tracks/15/imported = true +tracks/15/enabled = true +tracks/15/path = NodePath("Armature/Skeleton3D:mixamorig_RightArm") +tracks/15/interp = 1 +tracks/15/loop_wrap = true +tracks/15/keys = PackedFloat32Array(0, 1, 0.278803, 0.254599, -0.514244, 0.770066, 0.0333333, 1, 0.278803, 0.254599, -0.514244, 0.770066, 0.0666667, 1, 0.283746, 0.258598, -0.51575, 0.765909, 0.1, 1, 0.288917, 0.263821, -0.514962, 0.762719, 0.133333, 1, 0.291027, 0.269562, -0.512717, 0.76142, 0.166667, 1, 0.287084, 0.273917, -0.511351, 0.762281, 0.2, 1, 0.277368, 0.274645, -0.512177, 0.765057, 0.233333, 1, 0.265425, 0.270968, -0.514428, 0.769083, 0.266667, 1, 0.255351, 0.264477, -0.516375, 0.773437, 0.3, 1, 0.248398, 0.257719, -0.51671, 0.777747, 0.333333, 1, 0.241961, 0.251691, -0.514957, 0.782896, 0.366667, 1, 0.232321, 0.245018, -0.511336, 0.790271, 0.4, 1, 0.218112, 0.235881, -0.506592, 0.800095, 0.433333, 1, 0.200376, 0.224465, -0.502091, 0.810784, 0.5, 1, 0.156495, 0.206214, -0.500363, 0.826209, 0.533333, 1, 0.131139, 0.2054, -0.503808, 0.828729, 0.566667, 1, 0.109736, 0.209003, -0.506251, 0.829449, 0.6, 1, 0.09245, 0.211672, -0.50382, 0.832354, 0.633333, 1, 0.0768774, 0.214187, -0.499463, 0.835913, 0.666667, 1, 0.0623862, 0.216752, -0.493904, 0.839753, 0.766667, 1, 0.0197467, 0.226156, -0.477698, 0.848686, 0.8, 1, 0.022326, 0.2114, -0.477094, 0.852756, 0.833333, 1, 0.0255021, 0.198801, -0.465108, 0.862266, 0.866667, 1, 0.025619, 0.188714, -0.437979, 0.878581, 0.933333, 1, 0.0146721, 0.182852, -0.357655, 0.91566, 0.966667, 1, 0.0120149, 0.190525, -0.329246, 0.924745, 1, 1, 0.0164436, 0.204011, -0.321028, 0.924689, 1.03333, 1, 0.0278962, 0.220361, -0.331916, 0.916785, 1.06667, 1, 0.045021, 0.237791, -0.355663, 0.902736, 1.1, 1, 0.0665801, 0.255421, -0.38619, 0.883846, 1.13333, 1, 0.0900921, 0.2711, -0.419376, 0.861691, 1.16667, 1, 0.111624, 0.281372, -0.451671, 0.839263, 1.2, 1, 0.129041, 0.284184, -0.47904, 0.820432, 1.23333, 1, 0.14469, 0.280628, -0.498261, 0.807495, 1.26667, 1, 0.163107, 0.273606, -0.509039, 0.799635, 1.3, 1, 0.186064, 0.265615, -0.513818, 0.794242, 1.33333, 1, 0.21124, 0.258221, -0.515239, 0.789448, 1.36667, 1, 0.234952, 0.25271, -0.514581, 0.784947, 1.4, 1, 0.254168, 0.249998, -0.512734, 0.781027, 1.43333, 1, 0.267092, 0.24997, -0.511385, 0.7776, 1.46667, 1, 0.274269, 0.251724, -0.512046, 0.774094, 1.5, 1, 0.278803, 0.254599, -0.514244, 0.770066, 1.53333, 1, 0.283746, 0.258598, -0.51575, 0.765909, 1.56667, 1, 0.288917, 0.263821, -0.514962, 0.762719, 1.6, 1, 0.291027, 0.269562, -0.512717, 0.76142, 1.63333, 1, 0.287084, 0.273917, -0.51135, 0.762281, 1.66667, 1, 0.277368, 0.274644, -0.512177, 0.765057, 1.7, 1, 0.265425, 0.270968, -0.514428, 0.769083, 1.73333, 1, 0.255351, 0.264476, -0.516375, 0.773437, 1.76667, 1, 0.248398, 0.257719, -0.51671, 0.777747, 1.8, 1, 0.241961, 0.251691, -0.514957, 0.782896, 1.83333, 1, 0.232321, 0.245018, -0.511336, 0.790271, 1.86667, 1, 0.218112, 0.235881, -0.506592, 0.800095, 1.9, 1, 0.200376, 0.224465, -0.502091, 0.810784, 1.96667, 1, 0.156495, 0.206214, -0.500363, 0.826209, 2, 1, 0.131139, 0.2054, -0.503808, 0.828729, 2.03333, 1, 0.109736, 0.209003, -0.506251, 0.829449, 2.06667, 1, 0.09245, 0.211672, -0.50382, 0.832354, 2.1, 1, 0.0768775, 0.214187, -0.499463, 0.835913, 2.13333, 1, 0.0623861, 0.216752, -0.493904, 0.839753, 2.23333, 1, 0.0197469, 0.226156, -0.477698, 0.848686, 2.26667, 1, 0.022326, 0.2114, -0.477093, 0.852757, 2.3, 1, 0.0255021, 0.198801, -0.465108, 0.862266, 2.33333, 1, 0.0256191, 0.188714, -0.437979, 0.878581, 2.4, 1, 0.014672, 0.182852, -0.357655, 0.91566, 2.43333, 1, 0.0120149, 0.190524, -0.329247, 0.924745, 2.46667, 1, 0.0164435, 0.204011, -0.321028, 0.924689, 2.5, 1, 0.0278961, 0.220361, -0.331916, 0.916785, 2.53333, 1, 0.0450211, 0.237791, -0.355663, 0.902736, 2.56667, 1, 0.06658, 0.255421, -0.38619, 0.883846, 2.6, 1, 0.0900919, 0.2711, -0.419376, 0.861691, 2.63333, 1, 0.111624, 0.281372, -0.451672, 0.839263, 2.66667, 1, 0.129041, 0.284184, -0.479041, 0.820432, 2.7, 1, 0.14469, 0.280628, -0.498261, 0.807495, 2.73333, 1, 0.163107, 0.273606, -0.509039, 0.799635, 2.76667, 1, 0.186064, 0.265615, -0.513818, 0.794242, 2.8, 1, 0.21124, 0.258221, -0.515239, 0.789448, 2.83333, 1, 0.234952, 0.25271, -0.514581, 0.784947, 2.86667, 1, 0.254169, 0.249998, -0.512734, 0.781027, 2.9, 1, 0.267092, 0.24997, -0.511385, 0.7776, 2.93333, 1, 0.274269, 0.251724, -0.512045, 0.774094, 2.96667, 1, 0.278803, 0.254599, -0.514244, 0.770066) +tracks/16/type = "rotation_3d" +tracks/16/imported = true +tracks/16/enabled = true +tracks/16/path = NodePath("Armature/Skeleton3D:mixamorig_RightForeArm") +tracks/16/interp = 1 +tracks/16/loop_wrap = true +tracks/16/keys = PackedFloat32Array(0, 1, 0.106717, -0.236223, -0.404693, 0.876946, 0.0333333, 1, 0.106717, -0.236223, -0.404693, 0.876946, 0.0666667, 1, 0.106268, -0.235261, -0.402987, 0.878044, 0.1, 1, 0.105271, -0.23313, -0.399209, 0.880455, 0.133333, 1, 0.103439, -0.22921, -0.392262, 0.884813, 0.166667, 1, 0.100721, -0.223393, -0.381954, 0.891102, 0.2, 1, 0.0973561, -0.216191, -0.369193, 0.898599, 0.266667, 1, 0.0899958, -0.200428, -0.341281, 0.913924, 0.3, 1, 0.0866273, -0.193211, -0.328507, 0.920461, 0.333333, 1, 0.0837198, -0.18698, -0.317482, 0.92587, 0.366667, 1, 0.0833959, -0.186286, -0.316253, 0.926459, 0.4, 1, 0.0835986, -0.18672, -0.317022, 0.926091, 0.433333, 1, 0.0844735, -0.188596, -0.32034, 0.924488, 0.466667, 1, 0.0861643, -0.192219, -0.326752, 0.921337, 0.5, 1, 0.0888074, -0.197883, -0.336775, 0.916263, 0.533333, 1, 0.0925315, -0.20586, -0.350898, 0.908807, 0.566667, 1, 0.0975232, -0.216549, -0.369827, 0.898234, 0.6, 1, 0.10408, -0.230581, -0.394691, 0.8833, 0.633333, 1, 0.111768, -0.247023, -0.423844, 0.864201, 0.666667, 1, 0.120066, -0.264757, -0.455314, 0.841533, 0.733333, 1, 0.136569, -0.299975, -0.517898, 0.789396, 0.766667, 1, 0.143929, -0.315656, -0.545806, 0.76272, 0.8, 1, 0.146799, -0.321767, -0.55669, 0.751673, 0.833333, 1, 0.150389, -0.329408, -0.570306, 0.737309, 0.866667, 1, 0.154806, -0.338801, -0.587054, 0.718761, 0.9, 1, 0.15927, -0.348286, -0.603981, 0.698954, 0.933333, 1, 0.162255, -0.354625, -0.615301, 0.685069, 0.966667, 1, 0.16231, -0.354743, -0.615511, 0.684806, 1, 1, 0.158638, -0.346946, -0.601588, 0.701823, 1.03333, 1, 0.151295, -0.331336, -0.573742, 0.733585, 1.06667, 1, 0.141298, -0.310053, -0.535831, 0.77252, 1.1, 1, 0.130474, -0.286976, -0.494784, 0.809821, 1.13333, 1, 0.120679, -0.266067, -0.45764, 0.839768, 1.16667, 1, 0.112877, -0.249393, -0.42805, 0.861299, 1.2, 1, 0.107085, -0.237009, -0.406087, 0.876044, 1.23333, 1, 0.103129, -0.228546, -0.391084, 0.885542, 1.26667, 1, 0.101094, -0.224193, -0.38337, 0.89025, 1.3, 1, 0.101022, -0.224038, -0.383096, 0.890415, 1.33333, 1, 0.102424, -0.227037, -0.38841, 0.887187, 1.36667, 1, 0.10433, -0.231117, -0.395641, 0.882705, 1.4, 1, 0.105855, -0.234379, -0.401424, 0.879045, 1.43333, 1, 0.106651, -0.236081, -0.40444, 0.877109, 1.46667, 1, 0.106856, -0.23652, -0.40522, 0.876605, 1.5, 1, 0.106718, -0.236223, -0.404693, 0.876946, 1.53333, 1, 0.106267, -0.235261, -0.402987, 0.878044, 1.56667, 1, 0.105271, -0.23313, -0.399209, 0.880455, 1.6, 1, 0.103439, -0.22921, -0.392261, 0.884813, 1.63333, 1, 0.100721, -0.223393, -0.381954, 0.891102, 1.66667, 1, 0.0973562, -0.216191, -0.369193, 0.898599, 1.73333, 1, 0.0899956, -0.200428, -0.341281, 0.913924, 1.76667, 1, 0.0866271, -0.193211, -0.328507, 0.920461, 1.8, 1, 0.0837198, -0.18698, -0.317482, 0.92587, 1.83333, 1, 0.083396, -0.186286, -0.316254, 0.926459, 1.86667, 1, 0.0835983, -0.18672, -0.317022, 0.926091, 1.9, 1, 0.0844735, -0.188596, -0.32034, 0.924488, 1.93333, 1, 0.0861642, -0.192219, -0.326752, 0.921337, 1.96667, 1, 0.0888076, -0.197883, -0.336775, 0.916263, 2, 1, 0.0925316, -0.20586, -0.350898, 0.908807, 2.03333, 1, 0.0975232, -0.216549, -0.369827, 0.898234, 2.06667, 1, 0.10408, -0.230581, -0.394691, 0.8833, 2.1, 1, 0.111768, -0.247023, -0.423845, 0.864201, 2.13333, 1, 0.120066, -0.264757, -0.455314, 0.841532, 2.2, 1, 0.136569, -0.299975, -0.517898, 0.789396, 2.23333, 1, 0.143929, -0.315656, -0.545806, 0.76272, 2.26667, 1, 0.146799, -0.321767, -0.55669, 0.751673, 2.3, 1, 0.150389, -0.329408, -0.570306, 0.737309, 2.33333, 1, 0.154806, -0.338801, -0.587054, 0.718761, 2.36667, 1, 0.159269, -0.348287, -0.603981, 0.698954, 2.4, 1, 0.162254, -0.354625, -0.615301, 0.685069, 2.43333, 1, 0.16231, -0.354743, -0.615511, 0.684806, 2.46667, 1, 0.158638, -0.346946, -0.601588, 0.701823, 2.5, 1, 0.151295, -0.331336, -0.573742, 0.733585, 2.53333, 1, 0.141298, -0.310053, -0.535831, 0.77252, 2.56667, 1, 0.130474, -0.286976, -0.494784, 0.809821, 2.6, 1, 0.120679, -0.266067, -0.45764, 0.839768, 2.63333, 1, 0.112877, -0.249393, -0.428049, 0.861299, 2.66667, 1, 0.107085, -0.237009, -0.406087, 0.876044, 2.7, 1, 0.103129, -0.228546, -0.391084, 0.885542, 2.73333, 1, 0.101094, -0.224192, -0.38337, 0.89025, 2.76667, 1, 0.101022, -0.224038, -0.383096, 0.890415, 2.8, 1, 0.102424, -0.227037, -0.38841, 0.887187, 2.83333, 1, 0.10433, -0.231117, -0.395641, 0.882705, 2.86667, 1, 0.105855, -0.234379, -0.401424, 0.879045, 2.9, 1, 0.106651, -0.236081, -0.404441, 0.877109, 2.93333, 1, 0.106856, -0.23652, -0.40522, 0.876605, 2.96667, 1, 0.106718, -0.236223, -0.404693, 0.876946) +tracks/17/type = "rotation_3d" +tracks/17/imported = true +tracks/17/enabled = true +tracks/17/path = NodePath("Armature/Skeleton3D:mixamorig_RightHand") +tracks/17/interp = 1 +tracks/17/loop_wrap = true +tracks/17/keys = PackedFloat32Array(0, 1, 0.18771, 0.0154125, 0.259683, 0.94715, 0.0333333, 1, 0.18771, 0.0154125, 0.259683, 0.94715, 0.1, 1, 0.175167, 0.00521816, 0.265976, 0.947917, 0.133333, 1, 0.170008, -0.00140971, 0.266279, 0.948784, 0.166667, 1, 0.165997, -0.0096233, 0.263278, 0.950283, 0.2, 1, 0.161154, -0.0156575, 0.259564, 0.952056, 0.233333, 1, 0.153839, -0.0179741, 0.257604, 0.953756, 0.266667, 1, 0.145849, -0.0193216, 0.258061, 0.954861, 0.3, 1, 0.142622, -0.0216878, 0.261032, 0.95449, 0.333333, 1, 0.148299, -0.0228212, 0.266909, 0.95197, 0.366667, 1, 0.161101, -0.0205954, 0.276283, 0.947254, 0.4, 1, 0.174864, -0.0183142, 0.290231, 0.940666, 0.433333, 1, 0.184679, -0.021983, 0.309018, 0.932694, 0.466667, 1, 0.189855, -0.0326582, 0.328708, 0.924575, 0.5, 1, 0.191247, -0.0446986, 0.340659, 0.919444, 0.533333, 1, 0.187605, -0.0525575, 0.337713, 0.920865, 0.566667, 1, 0.176348, -0.0572349, 0.321046, 0.928738, 0.6, 1, 0.157039, -0.0641525, 0.298379, 0.939251, 0.633333, 1, 0.132764, -0.0749397, 0.273925, 0.949591, 0.666667, 1, 0.107455, -0.0846225, 0.242217, 0.960533, 0.7, 1, 0.0828974, -0.0885844, 0.195783, 0.973114, 0.733333, 1, 0.0594371, -0.0888007, 0.136494, 0.984861, 0.766667, 1, 0.0369017, -0.0907495, 0.0736436, 0.992461, 0.8, 1, 0.0220504, -0.0802626, 0.061591, 0.994625, 0.833333, 1, 0.00642831, -0.0758539, 0.0501827, 0.995835, 0.866667, 1, -0.00162286, -0.079003, 0.050038, 0.995616, 0.9, 1, 0.00110728, -0.0872561, 0.0658157, 0.994009, 0.933333, 1, 0.00908353, -0.0907469, 0.0903286, 0.991727, 0.966667, 1, 0.0129556, -0.0777604, 0.11185, 0.990593, 1, 1, 0.0079979, -0.0494518, 0.124441, 0.990962, 1.03333, 1, -0.00305348, -0.0230938, 0.131017, 0.991106, 1.06667, 1, -0.0149688, -0.0140626, 0.138974, 0.990083, 1.1, 1, -0.0251215, -0.0198819, 0.152609, 0.987767, 1.13333, 1, -0.0330987, -0.0260744, 0.169784, 0.98458, 1.16667, 1, -0.0390176, -0.022717, 0.184166, 0.981858, 1.2, 1, -0.0422362, -0.0115704, 0.190561, 0.980698, 1.23333, 1, -0.0393344, -0.000557138, 0.190174, 0.980962, 1.26667, 1, -0.024504, 0.00490093, 0.190647, 0.981341, 1.3, 1, 0.00646293, 0.0060524, 0.199395, 0.979879, 1.33333, 1, 0.0517173, 0.0083018, 0.21683, 0.974803, 1.36667, 1, 0.102211, 0.0148228, 0.236557, 0.966113, 1.4, 1, 0.146094, 0.0226743, 0.251171, 0.956585, 1.43333, 1, 0.175157, 0.0258706, 0.257665, 0.949873, 1.46667, 1, 0.187692, 0.0221979, 0.258792, 0.947262, 1.5, 1, 0.18771, 0.0154126, 0.259683, 0.94715, 1.56667, 1, 0.175167, 0.00521812, 0.265976, 0.947917, 1.6, 1, 0.170008, -0.0014096, 0.266279, 0.948784, 1.63333, 1, 0.165997, -0.00962324, 0.263278, 0.950283, 1.66667, 1, 0.161154, -0.0156576, 0.259564, 0.952056, 1.7, 1, 0.153839, -0.017974, 0.257604, 0.953756, 1.73333, 1, 0.145849, -0.0193216, 0.258061, 0.954861, 1.76667, 1, 0.142622, -0.021688, 0.261033, 0.95449, 1.8, 1, 0.148299, -0.0228211, 0.266909, 0.95197, 1.83333, 1, 0.161102, -0.0205955, 0.276283, 0.947254, 1.86667, 1, 0.174865, -0.0183142, 0.290231, 0.940666, 1.9, 1, 0.184679, -0.021983, 0.309018, 0.932694, 1.93333, 1, 0.189855, -0.0326583, 0.328708, 0.924575, 1.96667, 1, 0.191247, -0.0446987, 0.340659, 0.919444, 2, 1, 0.187605, -0.0525574, 0.337713, 0.920865, 2.03333, 1, 0.176348, -0.0572351, 0.321046, 0.928738, 2.06667, 1, 0.157039, -0.0641526, 0.298379, 0.939251, 2.1, 1, 0.132764, -0.0749399, 0.273925, 0.949591, 2.13333, 1, 0.107455, -0.0846228, 0.242217, 0.960533, 2.16667, 1, 0.0828973, -0.0885843, 0.195783, 0.973114, 2.2, 1, 0.059437, -0.0888008, 0.136494, 0.984861, 2.23333, 1, 0.0369018, -0.0907494, 0.0736436, 0.992461, 2.26667, 1, 0.0220504, -0.0802628, 0.0615911, 0.994625, 2.3, 1, 0.00642835, -0.0758539, 0.0501826, 0.995835, 2.33333, 1, -0.00162284, -0.0790028, 0.0500378, 0.995616, 2.36667, 1, 0.00110731, -0.0872561, 0.0658158, 0.994009, 2.4, 1, 0.00908356, -0.0907467, 0.0903285, 0.991728, 2.43333, 1, 0.0129556, -0.0777603, 0.11185, 0.990593, 2.46667, 1, 0.00799811, -0.0494519, 0.124441, 0.990962, 2.5, 1, -0.00305361, -0.023094, 0.131017, 0.991106, 2.53333, 1, -0.0149686, -0.0140627, 0.138974, 0.990083, 2.56667, 1, -0.0251215, -0.0198818, 0.152609, 0.987767, 2.6, 1, -0.0330989, -0.0260744, 0.169784, 0.98458, 2.63333, 1, -0.0390175, -0.022717, 0.184166, 0.981858, 2.66667, 1, -0.0422361, -0.0115701, 0.190561, 0.980698, 2.7, 1, -0.0393345, -0.000557268, 0.190174, 0.980962, 2.73333, 1, -0.0245039, 0.00490074, 0.190647, 0.981341, 2.76667, 1, 0.00646306, 0.00605244, 0.199395, 0.979879, 2.8, 1, 0.0517173, 0.00830189, 0.21683, 0.974803, 2.83333, 1, 0.102211, 0.0148228, 0.236557, 0.966113, 2.86667, 1, 0.146094, 0.0226744, 0.251171, 0.956585, 2.9, 1, 0.175157, 0.0258707, 0.257665, 0.949873, 2.93333, 1, 0.187692, 0.022198, 0.258792, 0.947262, 2.96667, 1, 0.18771, 0.0154126, 0.259683, 0.94715) +tracks/18/type = "rotation_3d" +tracks/18/imported = true +tracks/18/enabled = true +tracks/18/path = NodePath("Armature/Skeleton3D:mixamorig_RightHandIndex1") +tracks/18/interp = 1 +tracks/18/loop_wrap = true +tracks/18/keys = PackedFloat32Array(0, 1, -0.00144764, 0.00050141, -0.000565805, 0.999999) +tracks/19/type = "rotation_3d" +tracks/19/imported = true +tracks/19/enabled = true +tracks/19/path = NodePath("Armature/Skeleton3D:mixamorig_RightHandIndex2") +tracks/19/interp = 1 +tracks/19/loop_wrap = true +tracks/19/keys = PackedFloat32Array(0, 1, -0.000639173, 8.19153e-05, -0.037633, 0.999291) +tracks/20/type = "rotation_3d" +tracks/20/imported = true +tracks/20/enabled = true +tracks/20/path = NodePath("Armature/Skeleton3D:mixamorig_RightHandIndex3") +tracks/20/interp = 1 +tracks/20/loop_wrap = true +tracks/20/keys = PackedFloat32Array(0, 1, -0.0549594, -0.00376799, -0.104919, 0.992954) +tracks/21/type = "rotation_3d" +tracks/21/imported = true +tracks/21/enabled = true +tracks/21/path = NodePath("Armature/Skeleton3D:mixamorig_LeftUpLeg") +tracks/21/interp = 1 +tracks/21/loop_wrap = true +tracks/21/keys = PackedFloat32Array(0, 1, -0.101164, -0.0686143, -0.987765, 0.096842, 0.0333333, 1, -0.101164, -0.0686143, -0.987765, 0.096842, 0.1, 1, -0.100214, -0.0858831, -0.987408, 0.0872161, 0.133333, 1, -0.0993021, -0.0926517, -0.98755, 0.079371, 0.2, 1, -0.0874828, -0.0957901, -0.989356, 0.0659178, 0.233333, 1, -0.0796987, -0.0940711, -0.990432, 0.0619995, 0.266667, 1, -0.0727018, -0.0936431, -0.991128, 0.0600946, 0.3, 1, -0.0662554, -0.0948129, -0.991403, 0.0611682, 0.333333, 1, -0.059751, -0.0951255, -0.99137, 0.0675746, 0.366667, 1, -0.0544495, -0.0952359, -0.990918, 0.077764, 0.4, 1, -0.0521053, -0.0971252, -0.989854, 0.0896662, 0.433333, 1, -0.0526741, -0.0993494, -0.988077, 0.105165, 0.466667, 1, -0.0552198, -0.102118, -0.985756, 0.121689, 0.5, 1, -0.0583854, -0.105658, -0.983027, 0.138148, 0.533333, 1, -0.0618941, -0.110353, -0.980134, 0.152739, 0.566667, 1, -0.0659096, -0.116615, -0.977686, 0.161821, 0.633333, 1, -0.0723812, -0.133154, -0.973393, 0.171864, 0.666667, 1, -0.0757538, -0.144113, -0.970642, 0.17705, 0.7, 1, -0.0820386, -0.158462, -0.966549, 0.184233, 0.733333, 1, -0.0916054, -0.175277, -0.961061, 0.192999, 0.766667, 1, -0.102603, -0.191676, -0.954848, 0.202481, 0.8, 1, -0.107832, -0.176977, -0.95168, 0.22662, 0.833333, 1, -0.114205, -0.148121, -0.950224, 0.249182, 0.866667, 1, -0.121766, -0.108242, -0.951516, 0.260909, 0.9, 1, -0.122778, -0.096949, -0.953839, 0.256354, 0.933333, 1, -0.121657, -0.0946257, -0.958274, 0.240742, 0.966667, 1, -0.119408, -0.089345, -0.963761, 0.221186, 1, 1, -0.115922, -0.0813866, -0.969519, 0.199928, 1.03333, 1, -0.113782, -0.0680568, -0.974889, 0.178921, 1.06667, 1, -0.114791, -0.0540952, -0.978844, 0.160502, 1.1, 1, -0.118614, -0.0488744, -0.980891, 0.146272, 1.13333, 1, -0.123627, -0.053229, -0.981423, 0.136721, 1.16667, 1, -0.127995, -0.0606474, -0.981332, 0.130102, 1.2, 1, -0.13058, -0.0653441, -0.981487, 0.123942, 1.23333, 1, -0.131054, -0.0669766, -0.982151, 0.117127, 1.26667, 1, -0.129687, -0.0684984, -0.983034, 0.110153, 1.3, 1, -0.127363, -0.0717888, -0.983809, 0.103661, 1.33333, 1, -0.125089, -0.0760725, -0.984327, 0.0983172, 1.36667, 1, -0.122973, -0.0804147, -0.984633, 0.0943844, 1.4, 1, -0.120198, -0.075959, -0.985492, 0.0926749, 1.43333, 1, -0.114053, -0.0705851, -0.986343, 0.0955888, 1.46667, 1, -0.106972, -0.0577454, -0.987649, 0.0988548, 1.5, 1, -0.101164, -0.0686139, -0.987765, 0.0968422, 1.53333, 1, -0.099503, -0.078011, -0.987567, 0.0934043, 1.56667, 1, -0.100214, -0.0858833, -0.987408, 0.0872161, 1.6, 1, -0.099302, -0.0926529, -0.98755, 0.0793708, 1.66667, 1, -0.0874829, -0.0957889, -0.989356, 0.0659176, 1.7, 1, -0.0796986, -0.0940707, -0.990432, 0.0619997, 1.73333, 1, -0.072702, -0.0936425, -0.991128, 0.0600945, 1.76667, 1, -0.0662554, -0.0948122, -0.991403, 0.0611681, 1.8, 1, -0.059751, -0.0951262, -0.99137, 0.0675748, 1.83333, 1, -0.0544493, -0.0952362, -0.990918, 0.0777643, 1.86667, 1, -0.0521053, -0.0971254, -0.989854, 0.0896663, 1.9, 1, -0.0526739, -0.0993504, -0.988077, 0.105165, 1.93333, 1, -0.0552196, -0.102118, -0.985756, 0.121689, 1.96667, 1, -0.0583857, -0.105658, -0.983027, 0.138147, 2, 1, -0.0618946, -0.110351, -0.980134, 0.152739, 2.03333, 1, -0.0659097, -0.116614, -0.977687, 0.161822, 2.1, 1, -0.0723815, -0.133154, -0.973393, 0.171864, 2.13333, 1, -0.0757537, -0.144114, -0.970642, 0.17705, 2.16667, 1, -0.0820385, -0.158461, -0.96655, 0.184233, 2.2, 1, -0.091605, -0.175277, -0.961061, 0.192999, 2.23333, 1, -0.102603, -0.191678, -0.954847, 0.202481, 2.26667, 1, -0.107832, -0.176977, -0.95168, 0.22662, 2.3, 1, -0.114205, -0.148122, -0.950224, 0.249182, 2.33333, 1, -0.121766, -0.108242, -0.951516, 0.260909, 2.36667, 1, -0.122777, -0.096951, -0.953839, 0.256355, 2.4, 1, -0.121657, -0.0946258, -0.958274, 0.240742, 2.43333, 1, -0.119409, -0.089344, -0.963762, 0.221186, 2.46667, 1, -0.115922, -0.0813849, -0.969519, 0.199928, 2.5, 1, -0.113782, -0.0680567, -0.974889, 0.178921, 2.53333, 1, -0.114791, -0.054095, -0.978844, 0.160503, 2.56667, 1, -0.118615, -0.0488737, -0.980891, 0.146272, 2.6, 1, -0.123627, -0.0532288, -0.981423, 0.136721, 2.63333, 1, -0.127995, -0.0606474, -0.981332, 0.130102, 2.66667, 1, -0.13058, -0.0653433, -0.981487, 0.123942, 2.7, 1, -0.131054, -0.0669764, -0.982151, 0.117127, 2.73333, 1, -0.129687, -0.0684993, -0.983034, 0.110153, 2.76667, 1, -0.127363, -0.0717877, -0.983809, 0.103661, 2.8, 1, -0.125089, -0.0760718, -0.984327, 0.0983168, 2.83333, 1, -0.122973, -0.0804149, -0.984633, 0.0943845, 2.86667, 1, -0.120198, -0.0759585, -0.985492, 0.0926748, 2.9, 1, -0.114053, -0.0705851, -0.986343, 0.0955881, 2.93333, 1, -0.106972, -0.0577448, -0.987649, 0.0988547, 2.96667, 1, -0.101164, -0.0686135, -0.987765, 0.0968419) +tracks/22/type = "rotation_3d" +tracks/22/imported = true +tracks/22/enabled = true +tracks/22/path = NodePath("Armature/Skeleton3D:mixamorig_LeftLeg") +tracks/22/interp = 1 +tracks/22/loop_wrap = true +tracks/22/keys = PackedFloat32Array(0, 1, -0.298278, -0.0752569, 0.0350073, 0.950863, 0.0333333, 1, -0.298278, -0.0752569, 0.0350073, 0.950863, 0.0666667, 1, -0.30782, -0.0753071, 0.0362489, 0.947767, 0.1, 1, -0.31295, -0.0750989, 0.0366194, 0.946087, 0.133333, 1, -0.315383, -0.0750716, 0.0365669, 0.945283, 0.166667, 1, -0.31638, -0.0751478, 0.0363598, 0.944952, 0.2, 1, -0.316024, -0.0750221, 0.0359992, 0.945095, 0.233333, 1, -0.313989, -0.0749368, 0.0356114, 0.945795, 0.266667, 1, -0.311054, -0.0704592, 0.0336525, 0.947179, 0.3, 1, -0.307686, -0.0467671, 0.0245782, 0.95002, 0.333333, 1, -0.30006, -0.0160536, 0.011753, 0.953713, 0.366667, 1, -0.289762, 0.0185005, -0.00295601, 0.956915, 0.4, 1, -0.27966, 0.0523456, -0.0167614, 0.958525, 0.433333, 1, -0.268083, 0.0840195, -0.028356, 0.959306, 0.466667, 1, -0.258636, 0.0861555, -0.0301583, 0.961652, 0.5, 1, -0.250923, 0.085723, -0.0311325, 0.963701, 0.533333, 1, -0.243895, 0.0851704, -0.0321485, 0.965519, 0.566667, 1, -0.238792, 0.0845685, -0.0331509, 0.966813, 0.6, 1, -0.234528, 0.084075, -0.0337864, 0.967877, 0.633333, 1, -0.232501, 0.0837241, -0.0344272, 0.968374, 0.666667, 1, -0.234213, 0.0833157, -0.0363337, 0.967927, 0.7, 1, -0.240282, 0.0825634, -0.0407271, 0.966328, 0.733333, 1, -0.247536, 0.0813563, -0.0469902, 0.964313, 0.766667, 1, -0.250277, 0.0800845, -0.053153, 0.963391, 0.8, 1, -0.238323, 0.080076, -0.0525549, 0.966451, 0.833333, 1, -0.213747, 0.0807003, -0.0487824, 0.972327, 0.866667, 1, -0.179455, 0.0696727, -0.0393619, 0.980506, 0.9, 1, -0.202098, 0.00709127, -0.02243, 0.979083, 0.933333, 1, -0.221195, -0.0504704, -0.00339376, 0.973917, 0.966667, 1, -0.224212, -0.0637888, 0.00435598, 0.972441, 1, 1, -0.228078, -0.063277, 0.00713356, 0.971558, 1.03333, 1, -0.230613, -0.0662517, 0.00967117, 0.970739, 1.06667, 1, -0.231298, -0.0704225, 0.0121009, 0.970255, 1.1, 1, -0.236471, -0.0740338, 0.0149432, 0.968699, 1.13333, 1, -0.245881, -0.0728894, 0.0173828, 0.966399, 1.16667, 1, -0.255786, -0.0717652, 0.0199939, 0.963859, 1.2, 1, -0.264176, -0.0733913, 0.0220175, 0.961426, 1.23333, 1, -0.271289, -0.075934, 0.0222084, 0.959241, 1.26667, 1, -0.277191, -0.0787742, 0.0223165, 0.95732, 1.3, 1, -0.281681, -0.0789934, 0.0244623, 0.955938, 1.33333, 1, -0.284878, -0.0780533, 0.028666, 0.95495, 1.36667, 1, -0.28784, -0.0758147, 0.0317956, 0.954143, 1.4, 1, -0.294752, -0.0711864, 0.0321691, 0.952375, 1.43333, 1, -0.300958, -0.065101, 0.0302134, 0.950933, 1.46667, 1, -0.284235, -0.070426, 0.030246, 0.955686, 1.5, 1, -0.298277, -0.0752569, 0.035007, 0.950864, 1.53333, 1, -0.307819, -0.075307, 0.0362486, 0.947767, 1.56667, 1, -0.312951, -0.0750982, 0.0366191, 0.946087, 1.6, 1, -0.315385, -0.0750715, 0.0365673, 0.945283, 1.63333, 1, -0.31638, -0.0751482, 0.0363599, 0.944952, 1.66667, 1, -0.316021, -0.0750224, 0.0359988, 0.945096, 1.7, 1, -0.313988, -0.0749371, 0.0356115, 0.945795, 1.73333, 1, -0.311052, -0.0704594, 0.0336523, 0.94718, 1.76667, 1, -0.307684, -0.0467675, 0.0245781, 0.950021, 1.8, 1, -0.300061, -0.0160534, 0.0117529, 0.953712, 1.83333, 1, -0.289763, 0.0185006, -0.00295586, 0.956915, 1.86667, 1, -0.27966, 0.0523453, -0.0167613, 0.958525, 1.9, 1, -0.268085, 0.0840195, -0.0283562, 0.959306, 1.93333, 1, -0.258637, 0.0861551, -0.030158, 0.961652, 1.96667, 1, -0.250923, 0.0857233, -0.0311325, 0.963701, 2, 1, -0.243891, 0.0851704, -0.0321481, 0.96552, 2.03333, 1, -0.23879, 0.0845682, -0.033151, 0.966814, 2.06667, 1, -0.234527, 0.0840747, -0.0337863, 0.967878, 2.1, 1, -0.2325, 0.0837244, -0.0344272, 0.968374, 2.13333, 1, -0.234216, 0.0833158, -0.0363339, 0.967926, 2.16667, 1, -0.24028, 0.0825626, -0.0407267, 0.966328, 2.2, 1, -0.247536, 0.0813561, -0.0469902, 0.964313, 2.23333, 1, -0.250281, 0.0800849, -0.0531538, 0.96339, 2.26667, 1, -0.238323, 0.0800764, -0.052555, 0.966451, 2.3, 1, -0.21375, 0.0807007, -0.0487831, 0.972326, 2.33333, 1, -0.179455, 0.0696725, -0.0393622, 0.980506, 2.36667, 1, -0.202102, 0.00709043, -0.02243, 0.979082, 2.4, 1, -0.221196, -0.0504701, -0.00339395, 0.973917, 2.43333, 1, -0.22421, -0.0637881, 0.00435584, 0.972441, 2.46667, 1, -0.228075, -0.063277, 0.00713317, 0.971559, 2.5, 1, -0.230613, -0.0662519, 0.00967125, 0.970739, 2.53333, 1, -0.231298, -0.0704217, 0.0121008, 0.970255, 2.56667, 1, -0.236469, -0.0740338, 0.0149431, 0.968699, 2.6, 1, -0.24588, -0.0728893, 0.0173828, 0.966399, 2.63333, 1, -0.255786, -0.0717655, 0.019994, 0.963859, 2.66667, 1, -0.264174, -0.0733917, 0.0220174, 0.961426, 2.7, 1, -0.271289, -0.0759338, 0.0222082, 0.959241, 2.73333, 1, -0.277192, -0.078774, 0.0223166, 0.95732, 2.76667, 1, -0.28168, -0.0789935, 0.0244622, 0.955938, 2.8, 1, -0.284877, -0.0780537, 0.0286659, 0.954951, 2.83333, 1, -0.287841, -0.0758145, 0.0317956, 0.954143, 2.86667, 1, -0.294751, -0.0711862, 0.0321689, 0.952376, 2.9, 1, -0.300957, -0.0651015, 0.0302137, 0.950933, 2.93333, 1, -0.284234, -0.0704262, 0.0302461, 0.955686, 2.96667, 1, -0.298277, -0.0752571, 0.0350072, 0.950864) +tracks/23/type = "rotation_3d" +tracks/23/imported = true +tracks/23/enabled = true +tracks/23/path = NodePath("Armature/Skeleton3D:mixamorig_LeftFoot") +tracks/23/interp = 1 +tracks/23/loop_wrap = true +tracks/23/keys = PackedFloat32Array(0, 1, 0.518853, -0.2874, -0.044374, 0.80388, 0.0333333, 1, 0.518853, -0.2874, -0.044374, 0.80388, 0.0666667, 1, 0.528924, -0.286599, -0.0478691, 0.797377, 0.1, 1, 0.537374, -0.285407, -0.0492998, 0.792049, 0.133333, 1, 0.543485, -0.283921, -0.0483882, 0.788461, 0.166667, 1, 0.548372, -0.282302, -0.0462004, 0.785786, 0.2, 1, 0.552681, -0.280708, -0.0435904, 0.783484, 0.233333, 1, 0.555948, -0.279458, -0.0412855, 0.781742, 0.266667, 1, 0.558535, -0.278189, -0.0384416, 0.780494, 0.3, 1, 0.563153, -0.274894, -0.0302981, 0.7787, 0.333333, 1, 0.565232, -0.271121, -0.0197721, 0.778855, 0.366667, 1, 0.565195, -0.267575, -0.00888727, 0.780307, 0.4, 1, 0.564042, -0.264968, -0.000278025, 0.78208, 0.433333, 1, 0.561524, -0.263604, 0.00481327, 0.784335, 0.466667, 1, 0.557971, -0.246303, -0.00727637, 0.792433, 0.5, 1, 0.555001, -0.220888, -0.0237749, 0.801634, 0.533333, 1, 0.551004, -0.194241, -0.0414525, 0.810523, 0.566667, 1, 0.54802, -0.164744, -0.0592282, 0.81794, 0.6, 1, 0.544746, -0.132172, -0.0788507, 0.824357, 0.633333, 1, 0.542041, -0.0989112, -0.0999998, 0.828497, 0.666667, 1, 0.540002, -0.0635717, -0.122891, 0.830214, 0.7, 1, 0.537648, -0.0237956, -0.147203, 0.829879, 0.733333, 1, 0.532476, 0.0194879, -0.172341, 0.828486, 0.766667, 1, 0.521999, 0.0570503, -0.196705, 0.827992, 0.8, 1, 0.516252, 0.0674571, -0.223968, 0.823876, 0.833333, 1, 0.506436, 0.0333688, -0.234729, 0.829042, 0.866667, 1, 0.486145, -0.0425129, -0.223843, 0.843653, 0.9, 1, 0.477355, -0.0799539, -0.16339, 0.859676, 0.933333, 1, 0.460525, -0.127799, -0.102346, 0.872416, 0.966667, 1, 0.446975, -0.199735, -0.0559809, 0.870164, 1, 1, 0.448292, -0.245978, -0.0253709, 0.859003, 1.03333, 1, 0.456574, -0.264093, -0.00807797, 0.849547, 1.06667, 1, 0.463586, -0.274641, 0.00299053, 0.842408, 1.1, 1, 0.471669, -0.275072, 0.0089369, 0.837726, 1.13333, 1, 0.47914, -0.272799, 0.0125174, 0.834175, 1.16667, 1, 0.482433, -0.270702, 0.0168275, 0.832884, 1.2, 1, 0.481335, -0.267372, 0.0252456, 0.834381, 1.23333, 1, 0.477888, -0.261901, 0.0387148, 0.837575, 1.26667, 1, 0.472877, -0.255161, 0.054323, 0.841623, 1.3, 1, 0.467502, -0.249293, 0.068258, 0.845361, 1.33333, 1, 0.463938, -0.246349, 0.075289, 0.847588, 1.36667, 1, 0.465126, -0.247907, 0.0720771, 0.846761, 1.4, 1, 0.480552, -0.256199, 0.0529694, 0.837034, 1.43333, 1, 0.497032, -0.264263, 0.030202, 0.825961, 1.46667, 1, 0.508481, -0.288457, -0.0375507, 0.81045, 1.5, 1, 0.518853, -0.287399, -0.0443736, 0.803881, 1.53333, 1, 0.528923, -0.286599, -0.0478688, 0.797377, 1.56667, 1, 0.537374, -0.285407, -0.0492996, 0.792049, 1.6, 1, 0.543486, -0.283922, -0.0483885, 0.78846, 1.63333, 1, 0.548372, -0.282302, -0.0462004, 0.785786, 1.66667, 1, 0.55268, -0.280707, -0.0435897, 0.783485, 1.7, 1, 0.555947, -0.279458, -0.0412854, 0.781742, 1.73333, 1, 0.558535, -0.278189, -0.0384411, 0.780495, 1.76667, 1, 0.563152, -0.274893, -0.030298, 0.778701, 1.8, 1, 0.565233, -0.271121, -0.0197722, 0.778855, 1.83333, 1, 0.565195, -0.267575, -0.00888769, 0.780307, 1.86667, 1, 0.564042, -0.264968, -0.000278206, 0.78208, 1.9, 1, 0.561525, -0.263604, 0.00481331, 0.784334, 1.93333, 1, 0.557971, -0.246303, -0.00727644, 0.792433, 1.96667, 1, 0.555001, -0.220888, -0.0237746, 0.801634, 2, 1, 0.551002, -0.194241, -0.0414527, 0.810524, 2.03333, 1, 0.548019, -0.164744, -0.0592283, 0.81794, 2.06667, 1, 0.544746, -0.132172, -0.0788509, 0.824357, 2.1, 1, 0.542041, -0.0989112, -0.0999999, 0.828498, 2.13333, 1, 0.540003, -0.0635714, -0.122891, 0.830213, 2.16667, 1, 0.537647, -0.0237956, -0.147203, 0.82988, 2.2, 1, 0.532476, 0.0194878, -0.17234, 0.828486, 2.23333, 1, 0.522, 0.0570506, -0.196704, 0.827991, 2.26667, 1, 0.516252, 0.0674569, -0.223968, 0.823876, 2.3, 1, 0.506438, 0.0333691, -0.234729, 0.829041, 2.33333, 1, 0.486145, -0.0425129, -0.223843, 0.843653, 2.36667, 1, 0.477357, -0.0799534, -0.16339, 0.859675, 2.4, 1, 0.460526, -0.127799, -0.102347, 0.872415, 2.43333, 1, 0.446974, -0.199735, -0.0559824, 0.870164, 2.46667, 1, 0.448291, -0.245979, -0.0253736, 0.859003, 2.5, 1, 0.456574, -0.264093, -0.00808, 0.849547, 2.53333, 1, 0.463586, -0.274642, 0.00298948, 0.842408, 2.56667, 1, 0.471667, -0.27507, 0.00893961, 0.837727, 2.6, 1, 0.47914, -0.272799, 0.012518, 0.834176, 2.63333, 1, 0.482433, -0.270703, 0.0168249, 0.832883, 2.66667, 1, 0.481333, -0.267371, 0.0252475, 0.834382, 2.7, 1, 0.477888, -0.261901, 0.038714, 0.837575, 2.73333, 1, 0.472878, -0.255161, 0.0543219, 0.841623, 2.76667, 1, 0.467501, -0.249293, 0.0682584, 0.845362, 2.8, 1, 0.463937, -0.246349, 0.0752914, 0.847589, 2.83333, 1, 0.465127, -0.247907, 0.0720764, 0.846761, 2.86667, 1, 0.480552, -0.256199, 0.0529691, 0.837034, 2.9, 1, 0.497032, -0.264262, 0.0302042, 0.825962, 2.93333, 1, 0.50848, -0.288457, -0.0375506, 0.810451, 2.96667, 1, 0.518853, -0.287399, -0.0443738, 0.803881) +tracks/24/type = "rotation_3d" +tracks/24/imported = true +tracks/24/enabled = true +tracks/24/path = NodePath("Armature/Skeleton3D:mixamorig_LeftToeBase") +tracks/24/interp = 1 +tracks/24/loop_wrap = true +tracks/24/keys = PackedFloat32Array(0, 1, 0.315892, 0.115466, -0.0384723, 0.940957, 0.4, 1, 0.31488, 0.115406, -0.0385429, 0.9413, 1.2, 1, 0.315074, 0.115248, -0.0385916, 0.941253, 1.23333, 1, 0.316917, 0.115526, -0.0384015, 0.940608, 1.26667, 1, 0.322588, 0.115857, -0.0380062, 0.938653, 1.3, 1, 0.324526, 0.115969, -0.0378705, 0.937976, 1.33333, 1, 0.324933, 0.115992, -0.0378423, 0.937834, 1.36667, 1, 0.322356, 0.115843, -0.0380224, 0.938734, 1.4, 1, 0.315073, 0.114999, -0.0386827, 0.94128, 1.5, 1, 0.315892, 0.115466, -0.0384724, 0.940957, 1.86667, 1, 0.31488, 0.115406, -0.0385425, 0.9413, 2.66667, 1, 0.315074, 0.115248, -0.0385916, 0.941253, 2.7, 1, 0.316916, 0.115526, -0.0384013, 0.940608, 2.73333, 1, 0.322588, 0.115857, -0.0380064, 0.938653, 2.76667, 1, 0.324526, 0.115969, -0.0378708, 0.937976, 2.8, 1, 0.324933, 0.115992, -0.0378421, 0.937834, 2.83333, 1, 0.322356, 0.115843, -0.0380225, 0.938734, 2.86667, 1, 0.315072, 0.114999, -0.0386827, 0.94128, 2.96667, 1, 0.315892, 0.115466, -0.0384726, 0.940957) +tracks/25/type = "rotation_3d" +tracks/25/imported = true +tracks/25/enabled = true +tracks/25/path = NodePath("Armature/Skeleton3D:mixamorig_RightUpLeg") +tracks/25/interp = 1 +tracks/25/loop_wrap = true +tracks/25/keys = PackedFloat32Array(0, 1, -0.133684, -0.0370262, 0.987887, 0.0695437, 0.0333333, 1, -0.133684, -0.0370262, 0.987887, 0.0695437, 0.0666667, 1, -0.129102, -0.0307802, 0.988653, 0.0703672, 0.1, 1, -0.126276, -0.0253254, 0.988952, 0.0733982, 0.133333, 1, -0.124942, -0.0244298, 0.98889, 0.0767406, 0.166667, 1, -0.124205, -0.0312075, 0.988669, 0.0783171, 0.2, 1, -0.123168, -0.0452978, 0.988363, 0.0769234, 0.233333, 1, -0.1216, -0.0639833, 0.987888, 0.0720948, 0.266667, 1, -0.121775, -0.0856416, 0.9868, 0.0637348, 0.3, 1, -0.127831, -0.116183, 0.983599, 0.0519103, 0.333333, 1, -0.14194, -0.082793, 0.985448, 0.0434776, 0.366667, 1, -0.163229, -0.042037, 0.985086, 0.0345769, 0.4, 1, -0.182121, 0.0176842, 0.982333, 0.0392698, 0.433333, 1, -0.199543, 0.0646867, 0.976905, 0.0406849, 0.466667, 1, -0.216599, 0.106575, 0.96971, 0.0372684, 0.5, 1, -0.231883, 0.143009, 0.961521, 0.0354278, 0.533333, 1, -0.243458, 0.174587, 0.953362, 0.0367117, 0.566667, 1, -0.246905, 0.201573, 0.94677, 0.0450891, 0.6, 1, -0.24099, 0.221377, 0.943073, 0.05941, 0.633333, 1, -0.228317, 0.229383, 0.943087, 0.0764278, 0.7, 1, -0.198954, 0.222171, 0.947405, 0.116106, 0.733333, 1, -0.181989, 0.240797, 0.943156, 0.139114, 0.766667, 1, -0.163217, 0.260422, 0.938268, 0.158724, 0.8, 1, -0.168746, 0.272427, 0.935382, 0.149561, 0.833333, 1, -0.170665, 0.269353, 0.938774, 0.130481, 0.866667, 1, -0.170546, 0.249984, 0.946951, 0.108195, 0.9, 1, -0.170176, 0.220986, 0.956267, 0.0880806, 0.933333, 1, -0.168642, 0.193375, 0.964053, 0.0690528, 0.966667, 1, -0.16343, 0.170737, 0.970338, 0.050834, 1.03333, 1, -0.149416, 0.12282, 0.980749, 0.0268692, 1.06667, 1, -0.147316, 0.0964777, 0.984122, 0.0222377, 1.1, 1, -0.147197, 0.0745296, 0.986113, 0.0189636, 1.13333, 1, -0.14561, 0.0580354, 0.987518, 0.0154033, 1.16667, 1, -0.141494, 0.0431228, 0.988909, 0.0134065, 1.2, 1, -0.137076, 0.0255871, 0.990106, 0.0156888, 1.23333, 1, -0.135146, 0.00500026, 0.990552, 0.0227588, 1.26667, 1, -0.136529, -0.0153049, 0.989972, 0.0328836, 1.3, 1, -0.1401, -0.0313675, 0.988658, 0.0440842, 1.33333, 1, -0.144043, -0.0414804, 0.987182, 0.0548025, 1.36667, 1, -0.146652, -0.0461803, 0.98605, 0.0637655, 1.4, 1, -0.146649, -0.04738, 0.985578, 0.0698923, 1.43333, 1, -0.14387, -0.0459076, 0.985903, 0.0720401, 1.46667, 1, -0.13915, -0.0421881, 0.986835, 0.0708095, 1.5, 1, -0.133684, -0.0370258, 0.987887, 0.0695434, 1.53333, 1, -0.129101, -0.0307791, 0.988653, 0.0703677, 1.56667, 1, -0.126276, -0.0253254, 0.988952, 0.0733979, 1.6, 1, -0.124942, -0.0244303, 0.98889, 0.0767404, 1.63333, 1, -0.124205, -0.0312071, 0.988669, 0.0783172, 1.66667, 1, -0.123168, -0.0452974, 0.988363, 0.0769236, 1.7, 1, -0.1216, -0.0639832, 0.987888, 0.0720947, 1.73333, 1, -0.121775, -0.085642, 0.9868, 0.0637348, 1.76667, 1, -0.127831, -0.116183, 0.983599, 0.0519105, 1.8, 1, -0.14194, -0.0827968, 0.985448, 0.043477, 1.83333, 1, -0.16323, -0.0420362, 0.985086, 0.0345768, 1.86667, 1, -0.182121, 0.0176845, 0.982332, 0.0392699, 1.9, 1, -0.199543, 0.0646864, 0.976905, 0.0406847, 1.93333, 1, -0.216599, 0.106574, 0.96971, 0.0372682, 1.96667, 1, -0.231883, 0.143009, 0.961521, 0.0354278, 2, 1, -0.243458, 0.174587, 0.953362, 0.0367117, 2.03333, 1, -0.246905, 0.201574, 0.94677, 0.0450891, 2.06667, 1, -0.24099, 0.221376, 0.943073, 0.0594097, 2.1, 1, -0.228317, 0.229384, 0.943087, 0.0764279, 2.16667, 1, -0.198954, 0.22217, 0.947406, 0.116106, 2.2, 1, -0.181989, 0.240797, 0.943156, 0.139114, 2.23333, 1, -0.163217, 0.260424, 0.938268, 0.158725, 2.26667, 1, -0.168746, 0.272427, 0.935382, 0.149561, 2.3, 1, -0.170665, 0.269353, 0.938774, 0.130481, 2.33333, 1, -0.170546, 0.249984, 0.946951, 0.108196, 2.36667, 1, -0.170176, 0.220987, 0.956267, 0.0880804, 2.4, 1, -0.168642, 0.193375, 0.964053, 0.0690528, 2.43333, 1, -0.16343, 0.170738, 0.970338, 0.0508343, 2.5, 1, -0.149417, 0.122819, 0.980749, 0.0268691, 2.53333, 1, -0.147316, 0.0964777, 0.984122, 0.0222377, 2.56667, 1, -0.147197, 0.0745291, 0.986113, 0.0189634, 2.6, 1, -0.14561, 0.0580352, 0.987518, 0.0154035, 2.63333, 1, -0.141494, 0.0431237, 0.988909, 0.0134066, 2.66667, 1, -0.137076, 0.025586, 0.990106, 0.0156885, 2.7, 1, -0.135146, 0.00500063, 0.990552, 0.0227588, 2.73333, 1, -0.136529, -0.0153057, 0.989972, 0.0328834, 2.76667, 1, -0.1401, -0.0313652, 0.988658, 0.0440848, 2.8, 1, -0.144043, -0.0414809, 0.987182, 0.0548025, 2.83333, 1, -0.146652, -0.0461798, 0.98605, 0.0637656, 2.86667, 1, -0.146649, -0.0473809, 0.985578, 0.069892, 2.9, 1, -0.14387, -0.0459062, 0.985903, 0.0720408, 2.93333, 1, -0.13915, -0.0421878, 0.986835, 0.0708096, 2.96667, 1, -0.133684, -0.0370253, 0.987887, 0.069544) +tracks/26/type = "rotation_3d" +tracks/26/imported = true +tracks/26/enabled = true +tracks/26/path = NodePath("Armature/Skeleton3D:mixamorig_RightLeg") +tracks/26/interp = 1 +tracks/26/loop_wrap = true +tracks/26/keys = PackedFloat32Array(0, 1, -0.268317, -0.0767398, 0.0607903, 0.958343, 0.0333333, 1, -0.268317, -0.0767398, 0.0607903, 0.958343, 0.0666667, 1, -0.268081, -0.0778357, 0.0606191, 0.958332, 0.1, 1, -0.265062, -0.0789354, 0.06002, 0.959119, 0.133333, 1, -0.25815, -0.0793219, 0.0586766, 0.961053, 0.166667, 1, -0.245946, -0.0798974, 0.0566869, 0.96432, 0.2, 1, -0.227291, -0.080206, 0.0536695, 0.969033, 0.233333, 1, -0.201744, -0.0791687, 0.049285, 0.974989, 0.266667, 1, -0.16953, -0.075385, 0.0437842, 0.981662, 0.3, 1, -0.120405, -0.073451, 0.0386563, 0.989249, 0.333333, 1, -0.199158, -0.0720459, 0.0442364, 0.976314, 0.366667, 1, -0.282212, -0.0700682, 0.0503201, 0.955466, 0.4, 1, -0.376433, -0.0664781, 0.0548135, 0.922428, 0.433333, 1, -0.432918, -0.0526527, 0.0509136, 0.898453, 0.466667, 1, -0.48142, -0.0464105, 0.0501862, 0.873821, 0.5, 1, -0.506224, -0.0419685, 0.0489292, 0.85999, 0.533333, 1, -0.508077, -0.0409339, 0.0484012, 0.858976, 0.566667, 1, -0.489055, -0.0438373, 0.0489246, 0.869776, 0.6, 1, -0.451194, -0.040427, 0.0445095, 0.890398, 0.633333, 1, -0.397804, -0.0180148, 0.0309535, 0.916771, 0.666667, 1, -0.339427, 0.0238263, 0.0131887, 0.940238, 0.7, 1, -0.295934, 0.0615141, 0.000275022, 0.953225, 0.733333, 1, -0.299103, 0.0726976, -0.00667907, 0.951424, 0.766667, 1, -0.304111, 0.0746472, -0.0103023, 0.949652, 0.8, 1, -0.366532, 0.0702523, -0.015044, 0.927628, 0.833333, 1, -0.410551, 0.0680511, -0.0184747, 0.909107, 0.866667, 1, -0.430282, 0.0667015, -0.0197394, 0.90001, 0.9, 1, -0.425291, 0.0654713, -0.0185992, 0.902494, 0.933333, 1, -0.405152, 0.0661771, -0.0170152, 0.911693, 0.966667, 1, -0.379407, 0.0690645, -0.0157434, 0.922514, 1, 1, -0.353313, 0.0746018, -0.0149958, 0.932405, 1.03333, 1, -0.329485, 0.0797265, -0.0134725, 0.940692, 1.06667, 1, -0.309456, 0.0773526, -0.00894606, 0.94772, 1.1, 1, -0.293994, 0.052604, 0.0027718, 0.954355, 1.13333, 1, -0.282688, 0.012128, 0.0183102, 0.95896, 1.16667, 1, -0.274607, -0.0303778, 0.0332207, 0.960502, 1.2, 1, -0.269147, -0.0618374, 0.0439954, 0.960104, 1.23333, 1, -0.265972, -0.0760389, 0.0493928, 0.959707, 1.26667, 1, -0.264151, -0.0759256, 0.0507873, 0.960146, 1.3, 1, -0.262175, -0.0757085, 0.0525863, 0.960608, 1.33333, 1, -0.260267, -0.0750817, 0.0546433, 0.961061, 1.36667, 1, -0.259572, -0.075536, 0.0570476, 0.961074, 1.4, 1, -0.260495, -0.0756008, 0.0588387, 0.960711, 1.43333, 1, -0.262983, -0.0757385, 0.0599802, 0.959951, 1.46667, 1, -0.266515, -0.0760897, 0.06067, 0.958905, 1.5, 1, -0.268318, -0.0767401, 0.0607906, 0.958343, 1.53333, 1, -0.268082, -0.0778358, 0.0606196, 0.958331, 1.56667, 1, -0.265062, -0.0789355, 0.06002, 0.959119, 1.6, 1, -0.258149, -0.0793221, 0.0586765, 0.961054, 1.63333, 1, -0.245947, -0.0798973, 0.056687, 0.96432, 1.66667, 1, -0.227292, -0.0802062, 0.0536698, 0.969033, 1.7, 1, -0.201745, -0.0791685, 0.0492851, 0.974988, 1.73333, 1, -0.169529, -0.0753849, 0.043784, 0.981662, 1.76667, 1, -0.120406, -0.073451, 0.0386563, 0.989249, 1.8, 1, -0.19915, -0.0720461, 0.0442356, 0.976315, 1.83333, 1, -0.282214, -0.070068, 0.0503201, 0.955465, 1.86667, 1, -0.376433, -0.0664781, 0.0548134, 0.922428, 1.9, 1, -0.432918, -0.0526527, 0.0509135, 0.898453, 1.93333, 1, -0.481417, -0.0464106, 0.0501862, 0.873822, 1.96667, 1, -0.506224, -0.0419685, 0.0489291, 0.85999, 2, 1, -0.508077, -0.0409339, 0.0484012, 0.858976, 2.03333, 1, -0.489056, -0.0438372, 0.0489246, 0.869775, 2.06667, 1, -0.451193, -0.040427, 0.0445095, 0.890399, 2.1, 1, -0.397806, -0.0180148, 0.0309536, 0.91677, 2.13333, 1, -0.339428, 0.023826, 0.0131887, 0.940238, 2.16667, 1, -0.295934, 0.0615141, 0.000275088, 0.953226, 2.2, 1, -0.299103, 0.0726971, -0.00667882, 0.951424, 2.23333, 1, -0.304114, 0.0746468, -0.0103024, 0.949651, 2.26667, 1, -0.366532, 0.0702527, -0.0150442, 0.927628, 2.3, 1, -0.410551, 0.068051, -0.0184747, 0.909107, 2.33333, 1, -0.430283, 0.0667009, -0.0197393, 0.90001, 2.36667, 1, -0.425292, 0.0654713, -0.0185994, 0.902493, 2.4, 1, -0.405152, 0.0661771, -0.0170151, 0.911693, 2.43333, 1, -0.379409, 0.0690644, -0.0157436, 0.922514, 2.46667, 1, -0.353314, 0.0746016, -0.0149958, 0.932405, 2.5, 1, -0.329484, 0.0797267, -0.0134726, 0.940693, 2.53333, 1, -0.309456, 0.0773524, -0.0089462, 0.94772, 2.56667, 1, -0.293993, 0.052604, 0.00277176, 0.954355, 2.6, 1, -0.282688, 0.0121279, 0.0183104, 0.958961, 2.63333, 1, -0.274608, -0.0303778, 0.0332208, 0.960502, 2.66667, 1, -0.269146, -0.0618372, 0.043995, 0.960105, 2.7, 1, -0.265973, -0.0760388, 0.0493929, 0.959707, 2.73333, 1, -0.264149, -0.0759257, 0.0507869, 0.960147, 2.76667, 1, -0.26218, -0.0757086, 0.0525874, 0.960606, 2.8, 1, -0.260265, -0.0750817, 0.0546431, 0.961061, 2.83333, 1, -0.259572, -0.0755362, 0.0570478, 0.961073, 2.86667, 1, -0.260493, -0.0756007, 0.0588382, 0.960711, 2.9, 1, -0.262986, -0.0757386, 0.0599808, 0.95995, 2.93333, 1, -0.266515, -0.0760895, 0.0606701, 0.958905, 2.96667, 1, -0.26832, -0.0767399, 0.0607908, 0.958342) +tracks/27/type = "rotation_3d" +tracks/27/imported = true +tracks/27/enabled = true +tracks/27/path = NodePath("Armature/Skeleton3D:mixamorig_RightFoot") +tracks/27/interp = 1 +tracks/27/loop_wrap = true +tracks/27/keys = PackedFloat32Array(0, 1, 0.600953, -0.253602, 0.0622838, 0.755422, 0.0333333, 1, 0.600953, -0.253602, 0.0622838, 0.755422, 0.0666667, 1, 0.606431, -0.246544, 0.0632945, 0.753293, 0.1, 1, 0.611963, -0.234779, 0.0639712, 0.752521, 0.133333, 1, 0.617113, -0.218593, 0.064239, 0.753168, 0.166667, 1, 0.620982, -0.199019, 0.0637032, 0.755457, 0.233333, 1, 0.62106, -0.159456, 0.0632579, 0.764759, 0.266667, 1, 0.61747, -0.137697, 0.0619022, 0.77197, 0.3, 1, 0.607518, -0.114865, 0.0581859, 0.7838, 0.333333, 1, 0.591521, -0.103698, 0.0290403, 0.799066, 0.366667, 1, 0.543291, -0.0938516, 0.000477363, 0.834282, 0.4, 1, 0.459922, -0.0472315, 0.0604907, 0.884637, 0.433333, 1, 0.376765, -0.0153384, 0.108175, 0.919843, 0.466667, 1, 0.369263, -0.0195959, 0.096749, 0.924067, 0.5, 1, 0.379856, -0.0241091, 0.0918211, 0.920161, 0.533333, 1, 0.398304, -0.0228599, 0.0919426, 0.912348, 0.566667, 1, 0.417897, -0.00995098, 0.0942271, 0.90354, 0.6, 1, 0.435922, 0.0128711, 0.0957664, 0.894782, 0.633333, 1, 0.456958, 0.0285742, 0.0827936, 0.885166, 0.666667, 1, 0.472148, 0.0409095, 0.0773672, 0.877164, 0.7, 1, 0.487623, 0.0591844, 0.0861129, 0.866779, 0.733333, 1, 0.468482, 0.0901484, 0.101223, 0.873013, 0.766667, 1, 0.451088, 0.120139, 0.1028, 0.878361, 0.8, 1, 0.493251, 0.116956, 0.100733, 0.856083, 0.833333, 1, 0.532286, 0.105927, 0.0952554, 0.834493, 0.866667, 1, 0.562444, 0.0968442, 0.0857762, 0.816652, 0.9, 1, 0.579987, 0.0952203, 0.0729507, 0.805746, 0.933333, 1, 0.587167, 0.0977188, 0.0599976, 0.801303, 0.966667, 1, 0.588839, 0.0966299, 0.048923, 0.80096, 1, 1, 0.588679, 0.0834687, 0.0424906, 0.802922, 1.03333, 1, 0.588651, 0.0572043, 0.040939, 0.805321, 1.06667, 1, 0.589338, 0.0257624, 0.040026, 0.806483, 1.1, 1, 0.590901, 0.00630718, 0.028913, 0.806201, 1.13333, 1, 0.592414, -0.00216238, 0.0102276, 0.805566, 1.16667, 1, 0.593509, -0.00718253, -0.00865754, 0.804749, 1.2, 1, 0.595014, -0.0175109, -0.0202726, 0.803269, 1.23333, 1, 0.597568, -0.0399437, -0.0203583, 0.800564, 1.26667, 1, 0.599873, -0.0770318, -0.00909723, 0.796326, 1.3, 1, 0.599564, -0.120573, 0.00588154, 0.79117, 1.33333, 1, 0.596102, -0.167732, 0.0236203, 0.784838, 1.36667, 1, 0.591711, -0.208562, 0.0395474, 0.777699, 1.4, 1, 0.58967, -0.236895, 0.051373, 0.77041, 1.43333, 1, 0.591281, -0.25141, 0.0579034, 0.764086, 1.46667, 1, 0.595752, -0.255815, 0.0607471, 0.758913, 1.5, 1, 0.600953, -0.253603, 0.0622835, 0.755422, 1.53333, 1, 0.606432, -0.246544, 0.0632939, 0.753293, 1.56667, 1, 0.611962, -0.234779, 0.0639711, 0.752521, 1.6, 1, 0.617112, -0.218594, 0.064239, 0.753168, 1.63333, 1, 0.620982, -0.199019, 0.0637032, 0.755457, 1.7, 1, 0.62106, -0.159456, 0.0632579, 0.764759, 1.73333, 1, 0.61747, -0.137697, 0.0619026, 0.771971, 1.76667, 1, 0.607519, -0.114865, 0.0581859, 0.7838, 1.8, 1, 0.59152, -0.103697, 0.0290414, 0.799067, 1.83333, 1, 0.543291, -0.0938518, 0.000476808, 0.834282, 1.86667, 1, 0.459919, -0.0472303, 0.0604929, 0.884638, 1.9, 1, 0.376765, -0.0153382, 0.108175, 0.919843, 1.93333, 1, 0.369262, -0.0195958, 0.0967492, 0.924068, 1.96667, 1, 0.379856, -0.0241091, 0.091821, 0.920161, 2, 1, 0.398304, -0.0228599, 0.0919425, 0.912348, 2.03333, 1, 0.417897, -0.00995104, 0.0942271, 0.90354, 2.06667, 1, 0.435922, 0.0128711, 0.0957664, 0.894782, 2.1, 1, 0.456959, 0.0285739, 0.0827934, 0.885165, 2.13333, 1, 0.472148, 0.0409097, 0.0773673, 0.877164, 2.16667, 1, 0.487623, 0.0591847, 0.0861137, 0.866779, 2.2, 1, 0.468483, 0.0901483, 0.101223, 0.873013, 2.23333, 1, 0.451089, 0.120139, 0.1028, 0.87836, 2.26667, 1, 0.493251, 0.116956, 0.100733, 0.856083, 2.3, 1, 0.532286, 0.105927, 0.0952553, 0.834493, 2.33333, 1, 0.562444, 0.0968441, 0.0857761, 0.816652, 2.36667, 1, 0.579988, 0.0952204, 0.0729506, 0.805745, 2.4, 1, 0.587167, 0.0977189, 0.0599975, 0.801303, 2.43333, 1, 0.58884, 0.09663, 0.0489234, 0.80096, 2.46667, 1, 0.58868, 0.0834686, 0.0424905, 0.802922, 2.5, 1, 0.588651, 0.0572043, 0.040939, 0.805321, 2.53333, 1, 0.589338, 0.0257624, 0.0400261, 0.806483, 2.56667, 1, 0.5909, 0.00630732, 0.028913, 0.806202, 2.6, 1, 0.592414, -0.00216238, 0.0102275, 0.805566, 2.63333, 1, 0.593509, -0.00718262, -0.00865749, 0.804749, 2.66667, 1, 0.595013, -0.0175108, -0.0202723, 0.803269, 2.7, 1, 0.597568, -0.0399437, -0.0203583, 0.800564, 2.73333, 1, 0.599873, -0.0770314, -0.00909691, 0.796327, 2.76667, 1, 0.599566, -0.120574, 0.00588043, 0.791169, 2.8, 1, 0.596102, -0.167731, 0.0236206, 0.784838, 2.83333, 1, 0.591711, -0.208562, 0.0395472, 0.777699, 2.86667, 1, 0.589669, -0.236895, 0.0513735, 0.77041, 2.9, 1, 0.591282, -0.251411, 0.0579025, 0.764085, 2.93333, 1, 0.595752, -0.255815, 0.0607472, 0.758913, 2.96667, 1, 0.600954, -0.253603, 0.0622833, 0.755421) +tracks/28/type = "rotation_3d" +tracks/28/imported = true +tracks/28/enabled = true +tracks/28/path = NodePath("Armature/Skeleton3D:mixamorig_RightToeBase") +tracks/28/interp = 1 +tracks/28/loop_wrap = true +tracks/28/keys = PackedFloat32Array(0, 1, 0.31792, -0.115341, 0.0389987, 0.940267, 0.166667, 1, 0.31792, -0.115341, 0.0389987, 0.940267, 0.2, 1, 0.320907, -0.115519, 0.0387911, 0.939239, 0.233333, 1, 0.335099, -0.116349, 0.0377959, 0.934207, 0.266667, 1, 0.362376, -0.117881, 0.0358437, 0.923852, 0.3, 1, 0.393437, -0.119522, 0.0335548, 0.910931, 0.333333, 1, 0.435452, -0.121559, 0.0303424, 0.891451, 0.366667, 1, 0.527413, -0.125208, 0.0227992, 0.840023, 0.4, 1, 0.595426, -0.1615, -0.00840382, 0.786966, 0.433333, 1, 0.560624, -0.177393, -0.012861, 0.808744, 0.466667, 1, 0.482306, -0.152152, 0.0107636, 0.862621, 0.5, 1, 0.434329, -0.145193, 0.0187903, 0.888777, 0.533333, 1, 0.422601, -0.146441, 0.0192731, 0.894199, 0.566667, 1, 0.431039, -0.155168, 0.0145937, 0.888772, 0.6, 1, 0.434808, -0.165587, 0.00971783, 0.885115, 0.633333, 1, 0.414311, -0.155715, 0.0161503, 0.89657, 0.666667, 1, 0.388831, -0.119427, 0.0338345, 0.912909, 0.7, 1, 0.357097, -0.117591, 0.0362256, 0.925928, 0.733333, 1, 0.318029, -0.115347, 0.038991, 0.94023, 0.966667, 1, 0.318165, -0.115356, 0.0389814, 0.940183, 1, 1, 0.321482, -0.115553, 0.038751, 0.939039, 1.03333, 1, 0.327835, -0.115927, 0.0383071, 0.936813, 1.06667, 1, 0.332129, -0.116177, 0.0380053, 0.93528, 1.1, 1, 0.328848, -0.115986, 0.0382358, 0.936453, 1.13333, 1, 0.321288, -0.115541, 0.0387644, 0.939107, 1.16667, 1, 0.31792, -0.115341, 0.0389987, 0.940267, 1.63333, 1, 0.31792, -0.115341, 0.0389986, 0.940267, 1.66667, 1, 0.320907, -0.115519, 0.0387911, 0.939239, 1.7, 1, 0.335099, -0.116349, 0.037796, 0.934207, 1.73333, 1, 0.362376, -0.117881, 0.0358438, 0.923852, 1.76667, 1, 0.393437, -0.119522, 0.0335549, 0.910931, 1.8, 1, 0.435452, -0.121559, 0.0303423, 0.891451, 1.83333, 1, 0.527413, -0.125208, 0.0227992, 0.840023, 1.86667, 1, 0.595426, -0.161498, -0.00840246, 0.786966, 1.9, 1, 0.560623, -0.177392, -0.0128604, 0.808745, 1.93333, 1, 0.482309, -0.152156, 0.0107611, 0.862618, 1.96667, 1, 0.434328, -0.145192, 0.0187906, 0.888777, 2, 1, 0.422601, -0.14644, 0.0192735, 0.894199, 2.03333, 1, 0.431039, -0.155168, 0.0145939, 0.888772, 2.06667, 1, 0.434808, -0.165587, 0.00971757, 0.885115, 2.1, 1, 0.414311, -0.155715, 0.0161503, 0.89657, 2.13333, 1, 0.388831, -0.119427, 0.0338342, 0.912909, 2.16667, 1, 0.357097, -0.117591, 0.0362257, 0.925928, 2.2, 1, 0.318029, -0.115347, 0.0389909, 0.94023, 2.43333, 1, 0.318165, -0.115356, 0.0389815, 0.940183, 2.46667, 1, 0.321482, -0.115553, 0.0387509, 0.93904, 2.5, 1, 0.327835, -0.115926, 0.0383069, 0.936813, 2.53333, 1, 0.332129, -0.116177, 0.0380053, 0.93528, 2.56667, 1, 0.328848, -0.115986, 0.038236, 0.936453, 2.6, 1, 0.321288, -0.115541, 0.0387643, 0.939107, 2.63333, 1, 0.317919, -0.115341, 0.0389985, 0.940268, 2.96667, 1, 0.31792, -0.115341, 0.0389986, 0.940267) + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_hlkcm"] +_data = { +"Armature|mixamo_com|Layer0": SubResource("Animation_62hia") +} + +[node name="chaser" type="CharacterBody3D"] +script = ExtResource("1_ml7oa") + +[node name="NavigationAgent3D" type="NavigationAgent3D" parent="."] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.734463, 0.154153) +shape = SubResource("CapsuleShape3D_gcafd") + +[node name="Armature" type="Node3D" parent="."] +transform = Transform3D(-0.5, -4.37114e-08, 1.91069e-15, 0, -2.18557e-08, -0.5, 4.37114e-08, -0.5, 2.18557e-08, 0, -0.327758, 0) + +[node name="Skeleton3D" type="Skeleton3D" parent="Armature"] +bones/0/name = "mixamorig_Hips" +bones/0/parent = -1 +bones/0/rest = Transform3D(0, 0, 1, -1, 0, 0, 0, -1, 0, 0.0958092, 5.68434e-14, -2.33836) +bones/0/enabled = true +bones/0/position = Vector3(0.0676708, -0.0396173, -2.24452) +bones/0/rotation = Quaternion(0.656629, -0.220072, 0.273204, -0.667658) +bones/0/scale = Vector3(1, 1, 1) +bones/1/name = "mixamorig_Spine" +bones/1/parent = 0 +bones/1/rest = Transform3D(1, 3.06009e-09, 1.07244e-10, -3.06009e-09, 0.997547, 0.0700068, 1.07246e-10, -0.0700068, 0.997546, 8.53519e-10, 0.278214, -0.0195248) +bones/1/enabled = true +bones/1/position = Vector3(8.53519e-10, 0.278214, -0.0195248) +bones/1/rotation = Quaternion(-0.0155953, -0.018085, -0.00216619, 0.999713) +bones/1/scale = Vector3(1, 1, 1) +bones/2/name = "mixamorig_Spine1" +bones/2/parent = 1 +bones/2/rest = Transform3D(1, 1.9984e-15, -8.88178e-16, -1.9984e-15, 1, 8.9407e-08, 8.88179e-16, -8.9407e-08, 1, -1.59872e-14, 0.325382, -3.35276e-08) +bones/2/enabled = true +bones/2/position = Vector3(-1.59872e-14, 0.325382, -3.35276e-08) +bones/2/rotation = Quaternion(0.0343892, -0.0359353, -0.0301111, 0.998308) +bones/2/scale = Vector3(1, 1, 1) +bones/3/name = "mixamorig_Spine2" +bones/3/parent = 2 +bones/3/rest = Transform3D(1, -1.66534e-15, -8.88178e-16, 1.66534e-15, 1, -8.9407e-08, 8.88179e-16, 8.9407e-08, 1, -1.08358e-13, 0.371864, -7.4506e-09) +bones/3/enabled = true +bones/3/position = Vector3(-1.08358e-13, 0.371864, -7.4506e-09) +bones/3/rotation = Quaternion(0.0345575, -0.0357619, -0.0301664, 0.998307) +bones/3/scale = Vector3(1, 1, 1) +bones/4/name = "mixamorig_Neck" +bones/4/parent = 3 +bones/4/rest = Transform3D(1, -3.06009e-09, 1.07242e-10, 3.06009e-09, 0.997546, -0.0700068, 1.07248e-10, 0.0700068, 0.997546, 6.07223e-14, 0.418348, 3.07336e-08) +bones/4/enabled = true +bones/4/position = Vector3(6.07223e-14, 0.418348, 3.07336e-08) +bones/4/rotation = Quaternion(0.0927841, -5.29235e-05, 0.00804734, 0.995654) +bones/4/scale = Vector3(1, 1, 1) +bones/5/name = "mixamorig_Head" +bones/5/parent = 4 +bones/5/rest = Transform3D(1, 7.44688e-15, 5.87923e-17, -7.44688e-15, 1, 8.17231e-09, -5.87923e-17, -8.17231e-09, 1, -4.06672e-10, 0.193594, 0.00930322) +bones/5/enabled = true +bones/5/position = Vector3(-4.06672e-10, 0.193594, 0.00930322) +bones/5/rotation = Quaternion(0.235019, 0.0329907, -0.048779, 0.970205) +bones/5/scale = Vector3(1, 1, 1) +bones/6/name = "mixamorig_HeadTop_End" +bones/6/parent = 5 +bones/6/rest = Transform3D(1, 7.26826e-15, 1.16943e-15, -7.26827e-15, 1, 8.88178e-16, -1.16943e-15, -8.88178e-16, 1, -1.19553e-09, 0.569147, 0.0273506) +bones/6/enabled = true +bones/6/position = Vector3(-1.19553e-09, 0.569147, 0.0273506) +bones/6/rotation = Quaternion(-4.44089e-16, 5.84715e-16, -3.63413e-15, 1) +bones/6/scale = Vector3(1, 1, 1) +bones/7/name = "mixamorig_LeftShoulder" +bones/7/parent = 3 +bones/7/rest = Transform3D(-0.0258235, 0.950078, -0.310942, -7.81715e-05, -0.311048, -0.950394, -0.999667, -0.0245181, 0.00810659, 0.174712, 0.36072, -0.00454138) +bones/7/enabled = true +bones/7/position = Vector3(0.174712, 0.36072, -0.00454138) +bones/7/rotation = Quaternion(-0.523125, -0.476152, 0.515851, -0.483236) +bones/7/scale = Vector3(1, 1, 1) +bones/8/name = "mixamorig_LeftArm" +bones/8/parent = 7 +bones/8/rest = Transform3D(0.967562, -0.118178, -0.223288, -1.86264e-07, 0.883843, -0.467784, 0.252633, 0.452611, 0.855173, -6.75209e-08, 0.369782, -1.60362e-08) +bones/8/enabled = true +bones/8/position = Vector3(-6.75209e-08, 0.369782, -1.60362e-08) +bones/8/rotation = Quaternion(0.128812, -0.113091, 0.663554, 0.728226) +bones/8/scale = Vector3(1, 1, 1) +bones/9/name = "mixamorig_LeftForeArm" +bones/9/parent = 8 +bones/9/rest = Transform3D(0.985397, -0.168163, 0.0267002, 0.17027, 0.973207, -0.154517, -6.67758e-07, 0.156807, 0.987629, -2.23517e-08, 0.543074, -3.72529e-09) +bones/9/enabled = true +bones/9/position = Vector3(-2.23517e-08, 0.543074, -3.72529e-09) +bones/9/rotation = Quaternion(0.107717, 0.217415, 0.369025, 0.897189) +bones/9/scale = Vector3(1, 1, 1) +bones/10/name = "mixamorig_LeftHand" +bones/10/parent = 9 +bones/10/rest = Transform3D(0.983654, -0.180046, -0.00305764, 0.180071, 0.983512, 0.0166815, 3.78815e-06, -0.0169594, 0.999856, -4.84288e-08, 0.710805, -3.72529e-07) +bones/10/enabled = true +bones/10/position = Vector3(-4.84288e-08, 0.710805, -3.72529e-07) +bones/10/rotation = Quaternion(-0.00308716, -0.16038, -0.0225304, 0.986793) +bones/10/scale = Vector3(1, 1, 1) +bones/11/name = "mixamorig_LeftHandIndex1" +bones/11/parent = 10 +bones/11/rest = Transform3D(0.998262, -0.0587228, -0.00500072, 0.0589354, 0.994655, 0.0847856, -4.85661e-06, -0.084933, 0.996387, 5.96046e-08, 0.118245, -1.41561e-07) +bones/11/enabled = true +bones/11/position = Vector3(5.96046e-08, 0.118245, -1.41561e-07) +bones/11/rotation = Quaternion(-0.00143395, -0.00125214, 0.000608253, 0.999998) +bones/11/scale = Vector3(1, 1, 1) +bones/12/name = "mixamorig_LeftHandIndex2" +bones/12/parent = 11 +bones/12/rest = Transform3D(1, 3.76627e-06, -3.69176e-06, -3.76627e-06, 1, -1.05798e-06, 3.69176e-06, 1.05799e-06, 1, -5.96046e-08, 0.0597447, 1.41561e-07) +bones/12/enabled = true +bones/12/position = Vector3(-5.96046e-08, 0.0597447, 1.41561e-07) +bones/12/rotation = Quaternion(-0.00841328, -0.000137076, 0.0646605, 0.997872) +bones/12/scale = Vector3(1, 1, 1) +bones/13/name = "mixamorig_LeftHandIndex3" +bones/13/parent = 12 +bones/13/rest = Transform3D(1, -2.58908e-06, 3.94508e-06, 2.58908e-06, 1, 5.10706e-12, -3.94508e-06, 5.10706e-12, 1, 0.0105069, 0.0795417, 0.00170545) +bones/13/enabled = true +bones/13/position = Vector3(0.0105069, 0.0795417, 0.00170545) +bones/13/rotation = Quaternion(-0.0769236, 0.00698514, 0.157544, 0.984487) +bones/13/scale = Vector3(1, 1, 1) +bones/14/name = "mixamorig_LeftHandIndex4" +bones/14/parent = 13 +bones/14/rest = Transform3D(1, -5.96046e-08, -2.5332e-07, 5.96047e-08, 1, 7.45058e-08, 2.5332e-07, -7.45058e-08, 1, 0.0160434, 0.0331286, 0.00627363) +bones/14/enabled = true +bones/14/position = Vector3(0.0160434, 0.0331286, 0.00627363) +bones/14/rotation = Quaternion(-3.72529e-08, -1.2666e-07, 2.98023e-08, 1) +bones/14/scale = Vector3(1, 1, 1) +bones/15/name = "mixamorig_RightShoulder" +bones/15/parent = 3 +bones/15/rest = Transform3D(-0.020191, -0.950078, 0.311359, 6.54161e-05, -0.311424, -0.950271, 0.999796, -0.0191664, 0.00634998, -0.174712, 0.360651, -0.00355192) +bones/15/enabled = true +bones/15/position = Vector3(-0.174712, 0.360651, -0.00355192) +bones/15/rotation = Quaternion(0.534067, -0.457859, 0.558578, 0.439464) +bones/15/scale = Vector3(1, 1, 1) +bones/16/name = "mixamorig_RightArm" +bones/16/parent = 15 +bones/16/rest = Transform3D(0.973612, 0.105944, 0.202126, 8.19564e-08, 0.885707, -0.464244, -0.228209, 0.451994, 0.862336, 1.60653e-08, 0.369782, -1.50767e-07) +bones/16/enabled = true +bones/16/position = Vector3(1.60653e-08, 0.369782, -1.50767e-07) +bones/16/rotation = Quaternion(0.0843649, 0.212985, -0.501575, 0.834232) +bones/16/scale = Vector3(1, 1, 1) +bones/17/name = "mixamorig_RightForeArm" +bones/17/parent = 16 +bones/17/rest = Transform3D(0.983806, 0.177101, -0.0275695, -0.179234, 0.972099, -0.151326, 1.85333e-07, 0.153817, 0.988099, -2.23517e-08, 0.542408, 4.28408e-08) +bones/17/enabled = true +bones/17/position = Vector3(-2.23517e-08, 0.542408, 4.28408e-08) +bones/17/rotation = Quaternion(0.108094, -0.239167, -0.409912, 0.873549) +bones/17/scale = Vector3(1, 1, 1) +bones/18/name = "mixamorig_RightHand" +bones/18/parent = 17 +bones/18/rest = Transform3D(0.972286, 0.233791, 0.00146925, -0.233795, 0.972267, 0.00610397, -1.45152e-06, -0.00627831, 0.99998, -1.86265e-08, 0.709987, 6.70552e-08) +bones/18/enabled = true +bones/18/position = Vector3(-1.86265e-08, 0.709987, 6.70552e-08) +bones/18/rotation = Quaternion(0.144457, -0.0697674, 0.285728, 0.944788) +bones/18/scale = Vector3(1, 1, 1) +bones/19/name = "mixamorig_RightHandIndex1" +bones/19/parent = 18 +bones/19/rest = Transform3D(0.999775, 0.0211252, 0.00199718, -0.0212194, 0.995349, 0.0939666, -2.83541e-06, -0.0939878, 0.995573, 2.98023e-08, 0.112565, -1.2666e-07) +bones/19/enabled = true +bones/19/position = Vector3(2.98023e-08, 0.112565, -1.2666e-07) +bones/19/rotation = Quaternion(-0.00144765, 0.00050141, -0.000565806, 0.999999) +bones/19/scale = Vector3(1, 1, 1) +bones/20/name = "mixamorig_RightHandIndex2" +bones/20/parent = 19 +bones/20/rest = Transform3D(1, 3.93018e-06, -3.03238e-06, -3.93018e-06, 1, 1.86265e-06, 3.03239e-06, -1.86264e-06, 1, -8.9407e-08, 0.0622482, 2.5332e-07) +bones/20/enabled = true +bones/20/position = Vector3(-8.9407e-08, 0.0622482, 2.5332e-07) +bones/20/rotation = Quaternion(-0.000639173, 8.19153e-05, -0.037633, 0.999291) +bones/20/scale = Vector3(1, 1, 1) +bones/21/name = "mixamorig_RightHandIndex3" +bones/21/parent = 20 +bones/21/rest = Transform3D(1, 4.61935e-07, -1.90735e-06, -4.61937e-07, 1, -8.86619e-07, 1.90735e-06, 8.8662e-07, 1, -0.00671455, 0.0867853, 0.000543877) +bones/21/enabled = true +bones/21/position = Vector3(-0.00671455, 0.0867853, 0.000543877) +bones/21/rotation = Quaternion(-0.0549594, -0.00376799, -0.104919, 0.992954) +bones/21/scale = Vector3(1, 1, 1) +bones/22/name = "mixamorig_RightHandIndex4" +bones/22/parent = 21 +bones/22/rest = Transform3D(1, 1.86265e-08, 1.3411e-07, -1.86264e-08, 1, -1.19209e-07, -1.3411e-07, 1.19209e-07, 1, -0.0093247, 0.0314891, 0.00369336) +bones/22/enabled = true +bones/22/position = Vector3(-0.0093247, 0.0314891, 0.00369336) +bones/22/rotation = Quaternion(5.96046e-08, 6.70552e-08, -9.31323e-09, 1) +bones/22/scale = Vector3(1, 1, 1) +bones/23/name = "mixamorig_LeftUpLeg" +bones/23/parent = 0 +bones/23/rest = Transform3D(-0.999956, -0.00939832, 1.00243e-05, 0.00934724, -0.994631, -0.103065, 0.000978578, -0.103057, 0.994703, 0.189665, -0.154708, -0.0291425) +bones/23/enabled = true +bones/23/position = Vector3(0.189665, -0.154708, -0.0291425) +bones/23/rotation = Quaternion(0.0708288, 0.129185, 0.974463, -0.169457) +bones/23/scale = Vector3(1, 1, 1.00003) +bones/24/name = "mixamorig_LeftLeg" +bones/24/parent = 23 +bones/24/rest = Transform3D(0.999035, 0.043701, -0.00445659, -0.0439277, 0.993864, -0.101513, -6.99377e-06, 0.101611, 0.994824, -2.20498e-08, 1.03265, 9.31209e-09) +bones/24/enabled = true +bones/24/position = Vector3(-2.20498e-08, 1.03265, 9.31209e-09) +bones/24/rotation = Quaternion(-0.233475, 0.0838928, -0.0341193, 0.968136) +bones/24/scale = Vector3(1, 1, 1) +bones/25/name = "mixamorig_LeftFoot" +bones/25/parent = 24 +bones/25/rest = Transform3D(0.999989, 0.00364442, 0.00286992, -4.03961e-08, 0.618687, -0.785637, -0.00463878, 0.785629, 0.618681, 1.69093e-08, 0.931624, 3.52156e-09) +bones/25/enabled = true +bones/25/position = Vector3(1.69093e-08, 0.931624, 3.52156e-09) +bones/25/rotation = Quaternion(0.543448, -0.11492, -0.0898527, 0.82667) +bones/25/scale = Vector3(1, 1, 1) +bones/26/name = "mixamorig_LeftToeBase" +bones/26/parent = 25 +bones/26/rest = Transform3D(0.970396, 0.145208, 0.192991, 6.70552e-08, 0.799076, -0.60123, -0.241518, 0.583432, 0.77542, 6.54836e-11, 0.363458, -3.39933e-08) +bones/26/enabled = true +bones/26/position = Vector3(6.54836e-11, 0.363458, -3.39933e-08) +bones/26/rotation = Quaternion(0.314933, 0.115363, -0.0385562, 0.941288) +bones/26/scale = Vector3(1, 1, 1) +bones/27/name = "mixamorig_LeftToe_End" +bones/27/parent = 26 +bones/27/rest = Transform3D(1, -2.7474e-08, -5.82077e-08, 2.7474e-08, 1, 7.35745e-08, 5.82077e-08, -7.35745e-08, 1, -1.22236e-09, 0.14191, -2.56114e-08) +bones/27/enabled = true +bones/27/position = Vector3(-1.22236e-09, 0.14191, -2.56114e-08) +bones/27/rotation = Quaternion(-3.67872e-08, -2.91038e-08, 1.3737e-08, 1) +bones/27/scale = Vector3(1, 1, 1) +bones/28/name = "mixamorig_RightUpLeg" +bones/28/parent = 0 +bones/28/rest = Transform3D(-0.999956, 0.00939326, -1.15025e-05, -0.00933702, -0.994102, -0.108056, -0.00102639, -0.108047, 0.994179, -0.189665, -0.154708, -0.0259022) +bones/28/enabled = true +bones/28/position = Vector3(-0.189665, -0.154708, -0.0259022) +bones/28/rotation = Quaternion(-0.234423, 0.22555, 0.943141, 0.068253) +bones/28/scale = Vector3(1, 1, 1.00003) +bones/29/name = "mixamorig_RightLeg" +bones/29/parent = 28 +bones/29/rest = Transform3D(0.999032, -0.043714, 0.00480097, 0.0439768, 0.993037, -0.109284, 9.679e-06, 0.109389, 0.993999, -1.39516e-08, 1.0332, 1.95337e-09) +bones/29/enabled = true +bones/29/position = Vector3(-1.39516e-08, 1.0332, 1.95337e-09) +bones/29/rotation = Quaternion(-0.423689, -0.028802, 0.0374887, 0.904573) +bones/29/scale = Vector3(1, 1, 1) +bones/30/name = "mixamorig_RightFoot" +bones/30/parent = 29 +bones/30/rest = Transform3D(0.999988, -0.00381308, -0.003066, 1.11526e-07, 0.626648, -0.779302, 0.00489284, 0.779293, 0.62664, 3.42261e-08, 0.931624, -6.69388e-10) +bones/30/enabled = true +bones/30/position = Vector3(3.42261e-08, 0.931624, -6.69388e-10) +bones/30/rotation = Quaternion(0.446901, 0.0210294, 0.0890392, 0.889893) +bones/30/scale = Vector3(1, 1, 1) +bones/31/name = "mixamorig_RightToeBase" +bones/31/parent = 30 +bones/31/rest = Transform3D(0.970351, -0.146677, -0.192106, 5.21541e-08, 0.794813, -0.606855, 0.2417, 0.588862, 0.771247, -1.30458e-08, 0.36011, 1.3411e-07) +bones/31/enabled = true +bones/31/position = Vector3(-1.30458e-08, 0.36011, 1.3411e-07) +bones/31/rotation = Quaternion(0.424199, -0.160473, 0.0130599, 0.891141) +bones/31/scale = Vector3(1, 1, 1) +bones/32/name = "mixamorig_RightToe_End" +bones/32/parent = 31 +bones/32/rest = Transform3D(1, -1.15717e-07, -2.46451e-07, 1.15717e-07, 1, -6.10016e-08, 2.46451e-07, 6.10016e-08, 1, -2.43599e-08, 0.140495, 4.65661e-10) +bones/32/enabled = true +bones/32/position = Vector3(-2.43599e-08, 0.140495, 4.65661e-10) +bones/32/rotation = Quaternion(3.05008e-08, -1.23226e-07, 5.78584e-08, 1) +bones/32/scale = Vector3(1, 1, 1) + +[node name="Cube_001_Cube" type="MeshInstance3D" parent="Armature/Skeleton3D"] +mesh = SubResource("ArrayMesh_mmmpa") +skin = SubResource("Skin_ocrkq") +surface_material_override/0 = ExtResource("3_n0yds") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_hlkcm"), +"enemyWalkLib": ExtResource("4_ll6ha") +} +autoplay = "enemyWalkLib/enemy_stagger" diff --git a/game/enemy/enemy.bin b/game/enemy/enemy.bin new file mode 100644 index 0000000..262f333 Binary files /dev/null and b/game/enemy/enemy.bin differ diff --git a/game/enemy/enemy.gltf b/game/enemy/enemy.gltf new file mode 100644 index 0000000..387d3fb --- /dev/null +++ b/game/enemy/enemy.gltf @@ -0,0 +1,3254 @@ +{ + "asset" : { + "generator" : "Khronos glTF Blender I/O v3.4.50", + "version" : "2.0" + }, + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 34 + ] + } + ], + "nodes" : [ + { + "name" : "mixamorig:HeadTop_End", + "rotation" : [ + -4.440888392731482e-16, + 5.847151550004385e-16, + -3.6341326032729524e-15, + 1 + ], + "scale" : [ + 1, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -1.1955325618373536e-09, + 0.5691471099853516, + 0.027350571006536484 + ] + }, + { + "children" : [ + 0 + ], + "name" : "mixamorig:Head", + "rotation" : [ + -4.086153637672396e-09, + 2.9396146085562485e-17, + -3.723438251517289e-15, + 1 + ], + "scale" : [ + 1, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -4.066719183626333e-10, + 0.19359350204467773, + 0.009303223341703415 + ] + }, + { + "children" : [ + 1 + ], + "name" : "mixamorig:Neck", + "rotation" : [ + 0.03502489998936653, + -1.3313497634727194e-15, + 1.5309831180587707e-09, + 0.9993864893913269 + ], + "scale" : [ + 1, + 0.9999998807907104, + 0.9999998211860657 + ], + "translation" : [ + 6.072226055309216e-14, + 0.41834756731987, + 3.073362364602872e-08 + ] + }, + { + "name" : "mixamorig:LeftHandIndex4", + "rotation" : [ + -3.725290298461914e-08, + -1.2665987014770508e-07, + 2.9802322387695312e-08, + 1 + ], + "translation" : [ + 0.016043365001678467, + 0.03312857449054718, + 0.006273627281188965 + ] + }, + { + "children" : [ + 3 + ], + "name" : "mixamorig:LeftHandIndex3", + "rotation" : [ + 0, + 1.972541440409259e-06, + 1.2945384924023529e-06, + 1 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999998807907104 + ], + "translation" : [ + 0.01050691306591034, + 0.07954168319702148, + 0.001705452799797058 + ] + }, + { + "children" : [ + 4 + ], + "name" : "mixamorig:LeftHandIndex2", + "rotation" : [ + 5.289912223815918e-07, + -1.8458812292010407e-06, + -1.8831342458724976e-06, + 1 + ], + "scale" : [ + 1, + 1, + 1.0000001192092896 + ], + "translation" : [ + -5.960464477539063e-08, + 0.059744685888290405, + 1.4156103134155273e-07 + ] + }, + { + "children" : [ + 5 + ], + "name" : "mixamorig:LeftHandIndex1", + "rotation" : [ + -0.042486488819122314, + -0.001250640256330371, + 0.029453957453370094, + 0.998661994934082 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 5.960464477539063e-08, + 0.11824460327625275, + -1.4156103134155273e-07 + ] + }, + { + "children" : [ + 6 + ], + "name" : "mixamorig:LeftHand", + "rotation" : [ + -0.008445127867162228, + -0.0007685309392400086, + 0.09040268510580063, + 0.9958692193031311 + ], + "scale" : [ + 1, + 1.0000001192092896, + 0.9999999403953552 + ], + "translation" : [ + -4.842877388000488e-08, + 0.7108052372932434, + -3.725290298461914e-07 + ] + }, + { + "children" : [ + 7 + ], + "name" : "mixamorig:LeftForeArm", + "rotation" : [ + 0.07835962623357773, + 0.006720532197505236, + 0.08518262207508087, + 0.9932565689086914 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1 + ], + "translation" : [ + -2.2351741790771484e-08, + 0.5430740714073181, + -3.725290298461914e-09 + ] + }, + { + "children" : [ + 8 + ], + "name" : "mixamorig:LeftArm", + "rotation" : [ + 0.23903286457061768, + -0.12359986454248428, + 0.030691469088196754, + 0.9626237154006958 + ], + "scale" : [ + 0.9999998807907104, + 1.0000001192092896, + 0.9999999403953552 + ], + "translation" : [ + -6.752088665962219e-08, + 0.36978188157081604, + -1.603621058166027e-08 + ] + }, + { + "children" : [ + 9 + ], + "name" : "mixamorig:LeftShoulder", + "rotation" : [ + 0.5650482177734375, + 0.42031794786453247, + -0.5798659324645996, + 0.4096446931362152 + ], + "scale" : [ + 1.000000238418579, + 1.0000003576278687, + 1 + ], + "translation" : [ + 0.17471244931221008, + 0.3607202470302582, + -0.004541380796581507 + ] + }, + { + "name" : "mixamorig:RightHandIndex4", + "rotation" : [ + 5.960464477539063e-08, + 6.705522537231445e-08, + -9.313225746154785e-09, + 1 + ], + "translation" : [ + -0.009324699640274048, + 0.03148910403251648, + 0.0036933571100234985 + ] + }, + { + "children" : [ + 11 + ], + "name" : "mixamorig:RightHandIndex3", + "rotation" : [ + 4.4330954551696777e-07, + -9.536742595628311e-07, + -2.3096798429378396e-07, + 1 + ], + "scale" : [ + 1.0000001192092896, + 1, + 1 + ], + "translation" : [ + -0.006714552640914917, + 0.08678533136844635, + 0.0005438774824142456 + ] + }, + { + "children" : [ + 12 + ], + "name" : "mixamorig:RightHandIndex2", + "rotation" : [ + -9.313225177720597e-07, + -1.516193151473999e-06, + -1.9650906324386597e-06, + 1 + ], + "scale" : [ + 0.9999999403953552, + 1, + 1.0000001192092896 + ], + "translation" : [ + -8.940696716308594e-08, + 0.062248244881629944, + 2.5331974029541016e-07 + ] + }, + { + "children" : [ + 13 + ], + "name" : "mixamorig:RightHandIndex1", + "rotation" : [ + -0.0470433384180069, + 0.0005005871062166989, + -0.010598460212349892, + 0.9988365173339844 + ], + "scale" : [ + 1.000000238418579, + 1.0000001192092896, + 1.0000001192092896 + ], + "translation" : [ + 2.9802322387695312e-08, + 0.11256547272205353, + -1.2665987014770508e-07 + ] + }, + { + "children" : [ + 14 + ], + "name" : "mixamorig:RightHand", + "rotation" : [ + -0.003117259591817856, + 0.00037025194615125656, + -0.11771561205387115, + 0.9930424094200134 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -1.862645149230957e-08, + 0.7099865674972534, + 6.705522537231445e-08 + ] + }, + { + "children" : [ + 15 + ], + "name" : "mixamorig:RightForeArm", + "rotation" : [ + 0.07682543992996216, + -0.006941169034689665, + -0.08971404284238815, + 0.9929759502410889 + ], + "scale" : [ + 0.9999998211860657, + 1.000000238418579, + 0.9999998807907104 + ], + "translation" : [ + -2.2351741790771484e-08, + 0.5424076914787292, + 4.284083843231201e-08 + ] + }, + { + "children" : [ + 16 + ], + "name" : "mixamorig:RightArm", + "rotation" : [ + 0.2374708354473114, + 0.11153426021337509, + -0.027458691969513893, + 0.9645795822143555 + ], + "scale" : [ + 1, + 1, + 1.000000238418579 + ], + "translation" : [ + 1.6065314412117004e-08, + 0.3697819709777832, + -1.5076693671289831e-07 + ] + }, + { + "children" : [ + 17 + ], + "name" : "mixamorig:RightShoulder", + "rotation" : [ + 0.5667633414268494, + -0.4190516769886017, + 0.5783520936965942, + 0.41071146726608276 + ], + "scale" : [ + 0.9999998211860657, + 0.9999998807907104, + 0.9999998211860657 + ], + "translation" : [ + -0.17471244931221008, + 0.3606508672237396, + -0.003551924368366599 + ] + }, + { + "children" : [ + 2, + 10, + 18 + ], + "name" : "mixamorig:Spine2", + "rotation" : [ + 4.4703490686970326e-08, + -4.440892098500626e-16, + 8.32667691985341e-16, + 1 + ], + "scale" : [ + 1, + 0.9999998807907104, + 0.9999999403953552 + ], + "translation" : [ + -1.0835776720341528e-13, + 0.3718639016151428, + -7.450598360492222e-09 + ] + }, + { + "children" : [ + 19 + ], + "name" : "mixamorig:Spine1", + "rotation" : [ + -4.4703490686970326e-08, + -4.440892627896218e-16, + -9.992002986461673e-16, + 1 + ], + "scale" : [ + 1, + 0.9999998807907104, + 0.9999999403953552 + ], + "translation" : [ + -1.5987211554602254e-14, + 0.3253815770149231, + -3.352762689701194e-08 + ] + }, + { + "children" : [ + 20 + ], + "name" : "mixamorig:Spine", + "rotation" : [ + -0.03502488508820534, + -4.443619015195193e-16, + -1.530986559750147e-09, + 0.9993865489959717 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 8.535188111835623e-10, + 0.2782142162322998, + -0.019524790346622467 + ] + }, + { + "name" : "mixamorig:LeftToe_End", + "rotation" : [ + -3.67872416973114e-08, + -2.9103834009447382e-08, + 1.3737008863756728e-08, + 1 + ], + "scale" : [ + 0.9999999403953552, + 1, + 0.9999999403953552 + ], + "translation" : [ + -1.2223608791828156e-09, + 0.14191016554832458, + -2.561137080192566e-08 + ] + }, + { + "children" : [ + 22 + ], + "name" : "mixamorig:LeftToeBase", + "rotation" : [ + 0.3146030604839325, + 0.11538994312286377, + -0.038561951369047165, + 0.9413942098617554 + ], + "scale" : [ + 1.0000001192092896, + 1, + 1.0000001192092896 + ], + "translation" : [ + 6.548361852765083e-11, + 0.3634582459926605, + -3.3993273973464966e-08 + ] + }, + { + "children" : [ + 23 + ], + "name" : "mixamorig:LeftFoot", + "rotation" : [ + 0.4366409182548523, + 0.0020866014529019594, + -0.0010127638233825564, + 0.89963299036026 + ], + "scale" : [ + 0.9999997615814209, + 0.9999998807907104, + 0.9999997615814209 + ], + "translation" : [ + 1.6909325495362282e-08, + 0.9316235780715942, + 3.521563485264778e-09 + ] + }, + { + "children" : [ + 24 + ], + "name" : "mixamorig:LeftLeg", + "rotation" : [ + 0.05085928365588188, + -0.001114111510105431, + -0.02194087766110897, + 0.9984641671180725 + ], + "scale" : [ + 1, + 1, + 0.9999998211860657 + ], + "translation" : [ + -2.2049789549782872e-08, + 1.032650351524353, + 9.312088877777569e-09 + ] + }, + { + "children" : [ + 25 + ], + "name" : "mixamorig:LeftUpLeg", + "rotation" : [ + 0.0002474829670973122, + -0.05159906670451164, + 0.9986568689346313, + 0.0046926927752792835 + ], + "scale" : [ + 1.000000238418579, + 0.9999998807907104, + 1.000028371810913 + ], + "translation" : [ + 0.18966513872146606, + -0.15470817685127258, + -0.029142484068870544 + ] + }, + { + "name" : "mixamorig:RightToe_End", + "rotation" : [ + 3.050081076594324e-08, + -1.232256181538105e-07, + 5.78584149479866e-08, + 1 + ], + "scale" : [ + 0.9999999403953552, + 1.0000001192092896, + 1.0000001192092896 + ], + "translation" : [ + -2.435990609228611e-08, + 0.14049513638019562, + 4.656612873077393e-10 + ] + }, + { + "children" : [ + 27 + ], + "name" : "mixamorig:RightToeBase", + "rotation" : [ + 0.3179193437099457, + -0.11534100770950317, + 0.03899865224957466, + 0.9402674436569214 + ], + "scale" : [ + 0.9999998807907104, + 1.0000001192092896, + 0.9999998807907104 + ], + "translation" : [ + -1.3045792002230883e-08, + 0.36010974645614624, + 1.341104507446289e-07 + ] + }, + { + "children" : [ + 28 + ], + "name" : "mixamorig:RightFoot", + "rotation" : [ + 0.43205901980400085, + -0.0022062757052481174, + 0.0010570554295554757, + 0.9018420577049255 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998211860657, + 0.9999998211860657 + ], + "translation" : [ + 3.4226104617118835e-08, + 0.9316236972808838, + -6.693881005048752e-10 + ] + }, + { + "children" : [ + 29 + ], + "name" : "mixamorig:RightLeg", + "rotation" : [ + 0.05476360395550728, + 0.0011999141424894333, + 0.02196097932755947, + 0.9982571601867676 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -1.3951648725196719e-08, + 1.0332005023956299, + 1.9533672457328066e-09 + ] + }, + { + "children" : [ + 30 + ], + "name" : "mixamorig:RightUpLeg", + "rotation" : [ + 0.0002598573046270758, + 0.054104555398225784, + -0.9985242486000061, + 0.004689490422606468 + ], + "scale" : [ + 1.0000001192092896, + 1.0000003576278687, + 1.000034213066101 + ], + "translation" : [ + -0.18966515362262726, + -0.1547081172466278, + -0.025902174413204193 + ] + }, + { + "children" : [ + 21, + 26, + 31 + ], + "name" : "mixamorig:Hips", + "rotation" : [ + -0.5, + 0.5, + -0.5, + 0.5 + ], + "scale" : [ + 1, + 0.9999998807907104, + 1 + ], + "translation" : [ + 0.0958091989159584, + 5.684341886080802e-14, + -2.338364362716675 + ] + }, + { + "mesh" : 0, + "name" : "Cube.001_Cube", + "skin" : 0 + }, + { + "children" : [ + 33, + 32 + ], + "name" : "Armature", + "rotation" : [ + 0.70710688829422, + 0, + 0, + 0.7071066498756409 + ], + "scale" : [ + 0.009999999776482582, + 0.009999999776482582, + 0.009999999776482582 + ] + } + ], + "animations" : [ + { + "channels" : [ + { + "sampler" : 0, + "target" : { + "node" : 32, + "path" : "translation" + } + }, + { + "sampler" : 1, + "target" : { + "node" : 32, + "path" : "rotation" + } + }, + { + "sampler" : 2, + "target" : { + "node" : 32, + "path" : "scale" + } + }, + { + "sampler" : 3, + "target" : { + "node" : 21, + "path" : "translation" + } + }, + { + "sampler" : 4, + "target" : { + "node" : 21, + "path" : "rotation" + } + }, + { + "sampler" : 5, + "target" : { + "node" : 21, + "path" : "scale" + } + }, + { + "sampler" : 6, + "target" : { + "node" : 20, + "path" : "translation" + } + }, + { + "sampler" : 7, + "target" : { + "node" : 20, + "path" : "rotation" + } + }, + { + "sampler" : 8, + "target" : { + "node" : 20, + "path" : "scale" + } + }, + { + "sampler" : 9, + "target" : { + "node" : 19, + "path" : "translation" + } + }, + { + "sampler" : 10, + "target" : { + "node" : 19, + "path" : "rotation" + } + }, + { + "sampler" : 11, + "target" : { + "node" : 19, + "path" : "scale" + } + }, + { + "sampler" : 12, + "target" : { + "node" : 2, + "path" : "translation" + } + }, + { + "sampler" : 13, + "target" : { + "node" : 2, + "path" : "rotation" + } + }, + { + "sampler" : 14, + "target" : { + "node" : 2, + "path" : "scale" + } + }, + { + "sampler" : 15, + "target" : { + "node" : 1, + "path" : "translation" + } + }, + { + "sampler" : 16, + "target" : { + "node" : 1, + "path" : "rotation" + } + }, + { + "sampler" : 17, + "target" : { + "node" : 1, + "path" : "scale" + } + }, + { + "sampler" : 18, + "target" : { + "node" : 0, + "path" : "translation" + } + }, + { + "sampler" : 19, + "target" : { + "node" : 0, + "path" : "rotation" + } + }, + { + "sampler" : 20, + "target" : { + "node" : 0, + "path" : "scale" + } + }, + { + "sampler" : 21, + "target" : { + "node" : 10, + "path" : "translation" + } + }, + { + "sampler" : 22, + "target" : { + "node" : 10, + "path" : "rotation" + } + }, + { + "sampler" : 23, + "target" : { + "node" : 10, + "path" : "scale" + } + }, + { + "sampler" : 24, + "target" : { + "node" : 9, + "path" : "translation" + } + }, + { + "sampler" : 25, + "target" : { + "node" : 9, + "path" : "rotation" + } + }, + { + "sampler" : 26, + "target" : { + "node" : 9, + "path" : "scale" + } + }, + { + "sampler" : 27, + "target" : { + "node" : 8, + "path" : "translation" + } + }, + { + "sampler" : 28, + "target" : { + "node" : 8, + "path" : "rotation" + } + }, + { + "sampler" : 29, + "target" : { + "node" : 8, + "path" : "scale" + } + }, + { + "sampler" : 30, + "target" : { + "node" : 7, + "path" : "translation" + } + }, + { + "sampler" : 31, + "target" : { + "node" : 7, + "path" : "rotation" + } + }, + { + "sampler" : 32, + "target" : { + "node" : 7, + "path" : "scale" + } + }, + { + "sampler" : 33, + "target" : { + "node" : 6, + "path" : "translation" + } + }, + { + "sampler" : 34, + "target" : { + "node" : 6, + "path" : "rotation" + } + }, + { + "sampler" : 35, + "target" : { + "node" : 6, + "path" : "scale" + } + }, + { + "sampler" : 36, + "target" : { + "node" : 5, + "path" : "translation" + } + }, + { + "sampler" : 37, + "target" : { + "node" : 5, + "path" : "rotation" + } + }, + { + "sampler" : 38, + "target" : { + "node" : 5, + "path" : "scale" + } + }, + { + "sampler" : 39, + "target" : { + "node" : 4, + "path" : "translation" + } + }, + { + "sampler" : 40, + "target" : { + "node" : 4, + "path" : "rotation" + } + }, + { + "sampler" : 41, + "target" : { + "node" : 4, + "path" : "scale" + } + }, + { + "sampler" : 42, + "target" : { + "node" : 3, + "path" : "translation" + } + }, + { + "sampler" : 43, + "target" : { + "node" : 3, + "path" : "rotation" + } + }, + { + "sampler" : 44, + "target" : { + "node" : 3, + "path" : "scale" + } + }, + { + "sampler" : 45, + "target" : { + "node" : 18, + "path" : "translation" + } + }, + { + "sampler" : 46, + "target" : { + "node" : 18, + "path" : "rotation" + } + }, + { + "sampler" : 47, + "target" : { + "node" : 18, + "path" : "scale" + } + }, + { + "sampler" : 48, + "target" : { + "node" : 17, + "path" : "translation" + } + }, + { + "sampler" : 49, + "target" : { + "node" : 17, + "path" : "rotation" + } + }, + { + "sampler" : 50, + "target" : { + "node" : 17, + "path" : "scale" + } + }, + { + "sampler" : 51, + "target" : { + "node" : 16, + "path" : "translation" + } + }, + { + "sampler" : 52, + "target" : { + "node" : 16, + "path" : "rotation" + } + }, + { + "sampler" : 53, + "target" : { + "node" : 16, + "path" : "scale" + } + }, + { + "sampler" : 54, + "target" : { + "node" : 15, + "path" : "translation" + } + }, + { + "sampler" : 55, + "target" : { + "node" : 15, + "path" : "rotation" + } + }, + { + "sampler" : 56, + "target" : { + "node" : 15, + "path" : "scale" + } + }, + { + "sampler" : 57, + "target" : { + "node" : 14, + "path" : "translation" + } + }, + { + "sampler" : 58, + "target" : { + "node" : 14, + "path" : "rotation" + } + }, + { + "sampler" : 59, + "target" : { + "node" : 14, + "path" : "scale" + } + }, + { + "sampler" : 60, + "target" : { + "node" : 13, + "path" : "translation" + } + }, + { + "sampler" : 61, + "target" : { + "node" : 13, + "path" : "rotation" + } + }, + { + "sampler" : 62, + "target" : { + "node" : 13, + "path" : "scale" + } + }, + { + "sampler" : 63, + "target" : { + "node" : 12, + "path" : "translation" + } + }, + { + "sampler" : 64, + "target" : { + "node" : 12, + "path" : "rotation" + } + }, + { + "sampler" : 65, + "target" : { + "node" : 12, + "path" : "scale" + } + }, + { + "sampler" : 66, + "target" : { + "node" : 11, + "path" : "translation" + } + }, + { + "sampler" : 67, + "target" : { + "node" : 11, + "path" : "rotation" + } + }, + { + "sampler" : 68, + "target" : { + "node" : 11, + "path" : "scale" + } + }, + { + "sampler" : 69, + "target" : { + "node" : 26, + "path" : "translation" + } + }, + { + "sampler" : 70, + "target" : { + "node" : 26, + "path" : "rotation" + } + }, + { + "sampler" : 71, + "target" : { + "node" : 26, + "path" : "scale" + } + }, + { + "sampler" : 72, + "target" : { + "node" : 25, + "path" : "translation" + } + }, + { + "sampler" : 73, + "target" : { + "node" : 25, + "path" : "rotation" + } + }, + { + "sampler" : 74, + "target" : { + "node" : 25, + "path" : "scale" + } + }, + { + "sampler" : 75, + "target" : { + "node" : 24, + "path" : "translation" + } + }, + { + "sampler" : 76, + "target" : { + "node" : 24, + "path" : "rotation" + } + }, + { + "sampler" : 77, + "target" : { + "node" : 24, + "path" : "scale" + } + }, + { + "sampler" : 78, + "target" : { + "node" : 23, + "path" : "translation" + } + }, + { + "sampler" : 79, + "target" : { + "node" : 23, + "path" : "rotation" + } + }, + { + "sampler" : 80, + "target" : { + "node" : 23, + "path" : "scale" + } + }, + { + "sampler" : 81, + "target" : { + "node" : 22, + "path" : "translation" + } + }, + { + "sampler" : 82, + "target" : { + "node" : 22, + "path" : "rotation" + } + }, + { + "sampler" : 83, + "target" : { + "node" : 22, + "path" : "scale" + } + }, + { + "sampler" : 84, + "target" : { + "node" : 31, + "path" : "translation" + } + }, + { + "sampler" : 85, + "target" : { + "node" : 31, + "path" : "rotation" + } + }, + { + "sampler" : 86, + "target" : { + "node" : 31, + "path" : "scale" + } + }, + { + "sampler" : 87, + "target" : { + "node" : 30, + "path" : "translation" + } + }, + { + "sampler" : 88, + "target" : { + "node" : 30, + "path" : "rotation" + } + }, + { + "sampler" : 89, + "target" : { + "node" : 30, + "path" : "scale" + } + }, + { + "sampler" : 90, + "target" : { + "node" : 29, + "path" : "translation" + } + }, + { + "sampler" : 91, + "target" : { + "node" : 29, + "path" : "rotation" + } + }, + { + "sampler" : 92, + "target" : { + "node" : 29, + "path" : "scale" + } + }, + { + "sampler" : 93, + "target" : { + "node" : 28, + "path" : "translation" + } + }, + { + "sampler" : 94, + "target" : { + "node" : 28, + "path" : "rotation" + } + }, + { + "sampler" : 95, + "target" : { + "node" : 28, + "path" : "scale" + } + }, + { + "sampler" : 96, + "target" : { + "node" : 27, + "path" : "translation" + } + }, + { + "sampler" : 97, + "target" : { + "node" : 27, + "path" : "rotation" + } + }, + { + "sampler" : 98, + "target" : { + "node" : 27, + "path" : "scale" + } + } + ], + "name" : "Armature|mixamo.com|Layer0", + "samplers" : [ + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 8 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 9 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 10 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 11 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 12 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 13 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 14 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 15 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 16 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 17 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 18 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 19 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 20 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 21 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 22 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 23 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 24 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 25 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 26 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 27 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 28 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 29 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 30 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 31 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 32 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 33 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 34 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 35 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 36 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 37 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 38 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 39 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 40 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 41 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 42 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 43 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 44 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 45 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 46 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 47 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 48 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 49 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 50 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 51 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 52 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 53 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 54 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 55 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 56 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 57 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 58 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 59 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 60 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 61 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 62 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 63 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 64 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 65 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 66 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 67 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 68 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 69 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 70 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 71 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 72 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 73 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 74 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 75 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 76 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 77 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 78 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 79 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 80 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 81 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 82 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 83 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 84 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 85 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 86 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 87 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 88 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 89 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 90 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 91 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 92 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 93 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 94 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 95 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 96 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 97 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 98 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 99 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 100 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 101 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 102 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 103 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 104 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 105 + }, + { + "input" : 7, + "interpolation" : "LINEAR", + "output" : 106 + } + ] + } + ], + "materials" : [ + { + "doubleSided" : true, + "emissiveFactor" : [ + 1, + 1, + 1 + ], + "emissiveTexture" : { + "index" : 0 + }, + "name" : "Material.001", + "pbrMetallicRoughness" : { + "baseColorTexture" : { + "index" : 1 + }, + "metallicFactor" : 0, + "roughnessFactor" : 0.5 + } + } + ], + "meshes" : [ + { + "name" : "Cube.001_Cubemesh", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "TEXCOORD_0" : 1, + "NORMAL" : 2, + "JOINTS_0" : 3, + "WEIGHTS_0" : 4 + }, + "indices" : 5, + "material" : 0 + } + ] + } + ], + "textures" : [ + { + "sampler" : 0, + "source" : 0 + }, + { + "sampler" : 0, + "source" : 0 + } + ], + "images" : [ + { + "mimeType" : "image/png", + "name" : "Enemy - Albedo", + "uri" : "Enemy%20-%20Albedo.png" + } + ], + "skins" : [ + { + "inverseBindMatrices" : 6, + "joints" : [ + 32, + 21, + 20, + 19, + 2, + 1, + 0, + 10, + 9, + 8, + 7, + 6, + 5, + 4, + 3, + 18, + 17, + 16, + 15, + 14, + 13, + 12, + 11, + 26, + 25, + 24, + 23, + 22, + 31, + 30, + 29, + 28, + 27 + ], + "name" : "Armature" + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 969, + "max" : [ + 0.005373100284487009, + 0.04495760798454285, + 0.015643103048205376 + ], + "min" : [ + -0.0031659998930990696, + -0.0001749501097947359, + -0.01564309559762478 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 969, + "type" : "VEC2" + }, + { + "bufferView" : 2, + "componentType" : 5126, + "count" : 969, + "type" : "VEC3" + }, + { + "bufferView" : 3, + "componentType" : 5121, + "count" : 969, + "type" : "VEC4" + }, + { + "bufferView" : 4, + "componentType" : 5126, + "count" : 969, + "type" : "VEC4" + }, + { + "bufferView" : 5, + "componentType" : 5123, + "count" : 3084, + "type" : "SCALAR" + }, + { + "bufferView" : 6, + "componentType" : 5126, + "count" : 33, + "type" : "MAT4" + }, + { + "bufferView" : 7, + "componentType" : 5126, + "count" : 89, + "max" : [ + 2.966666666666667 + ], + "min" : [ + 0.03333333333333333 + ], + "type" : "SCALAR" + }, + { + "bufferView" : 8, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 9, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 10, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 11, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 12, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 13, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 14, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 15, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 16, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 17, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 18, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 19, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 20, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 21, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 22, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 23, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 24, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 25, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 26, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 27, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 28, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 29, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 30, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 31, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 32, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 33, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 34, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 35, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 36, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 37, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 38, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 39, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 40, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 41, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 42, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 43, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 44, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 45, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 46, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 47, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 48, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 49, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 50, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 51, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 52, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 53, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 54, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 55, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 56, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 57, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 58, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 59, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 60, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 61, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 62, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 63, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 64, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 65, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 66, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 67, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 68, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 69, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 70, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 71, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 72, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 73, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 74, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 75, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 76, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 77, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 78, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 79, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 80, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 81, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 82, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 83, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 84, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 85, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 86, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 87, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 88, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 89, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 90, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 91, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 92, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 93, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 94, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 95, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 96, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 97, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 98, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 99, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 100, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 101, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 102, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 103, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 104, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + }, + { + "bufferView" : 105, + "componentType" : 5126, + "count" : 89, + "type" : "VEC4" + }, + { + "bufferView" : 106, + "componentType" : 5126, + "count" : 89, + "type" : "VEC3" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 11628, + "byteOffset" : 0, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 7752, + "byteOffset" : 11628, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 11628, + "byteOffset" : 19380, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 3876, + "byteOffset" : 31008, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 15504, + "byteOffset" : 34884, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 6168, + "byteOffset" : 50388, + "target" : 34963 + }, + { + "buffer" : 0, + "byteLength" : 2112, + "byteOffset" : 56556 + }, + { + "buffer" : 0, + "byteLength" : 356, + "byteOffset" : 58668 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 59024 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 60092 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 61516 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 62584 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 63652 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 65076 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 66144 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 67212 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 68636 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 69704 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 70772 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 72196 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 73264 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 74332 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 75756 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 76824 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 77892 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 79316 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 80384 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 81452 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 82876 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 83944 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 85012 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 86436 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 87504 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 88572 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 89996 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 91064 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 92132 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 93556 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 94624 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 95692 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 97116 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 98184 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 99252 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 100676 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 101744 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 102812 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 104236 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 105304 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 106372 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 107796 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 108864 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 109932 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 111356 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 112424 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 113492 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 114916 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 115984 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 117052 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 118476 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 119544 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 120612 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 122036 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 123104 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 124172 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 125596 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 126664 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 127732 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 129156 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 130224 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 131292 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 132716 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 133784 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 134852 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 136276 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 137344 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 138412 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 139836 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 140904 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 141972 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 143396 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 144464 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 145532 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 146956 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 148024 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 149092 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 150516 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 151584 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 152652 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 154076 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 155144 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 156212 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 157636 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 158704 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 159772 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 161196 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 162264 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 163332 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 164756 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 165824 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 166892 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 168316 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 169384 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 170452 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 171876 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 172944 + }, + { + "buffer" : 0, + "byteLength" : 1424, + "byteOffset" : 174012 + }, + { + "buffer" : 0, + "byteLength" : 1068, + "byteOffset" : 175436 + } + ], + "samplers" : [ + { + "magFilter" : 9729, + "minFilter" : 9987 + } + ], + "buffers" : [ + { + "byteLength" : 176504, + "uri" : "enemy.bin" + } + ] +} diff --git a/game/enemy/enemy.gltf.import b/game/enemy/enemy.gltf.import new file mode 100644 index 0000000..41e7f9f --- /dev/null +++ b/game/enemy/enemy.gltf.import @@ -0,0 +1,1836 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://w0tn1cue5cqo" +path="res://.godot/imported/enemy.gltf-4b349e4378d93e3020c0c05bbd3fdf89.scn" + +[deps] + +source_file="res://game/enemy/enemy.gltf" +dest_files=["res://.godot/imported/enemy.gltf-4b349e4378d93e3020c0c05bbd3fdf89.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={ +"animations": { +"Armature|mixamo_com|Layer0": { +"save_to_file/enabled": true, +"save_to_file/keep_custom_tracks": true, +"save_to_file/path": "res://game/enemy/enemy_stagger.res", +"settings/loop_mode": 1, +"slice_1/end_frame": 0, +"slice_1/loop_mode": 0, +"slice_1/name": "", +"slice_1/save_to_file/enabled": false, +"slice_1/save_to_file/keep_custom_tracks": false, +"slice_1/save_to_file/path": "", +"slice_1/start_frame": 0, +"slice_10/end_frame": 0, +"slice_10/loop_mode": 0, +"slice_10/name": "", +"slice_10/save_to_file/enabled": false, +"slice_10/save_to_file/keep_custom_tracks": false, +"slice_10/save_to_file/path": "", +"slice_10/start_frame": 0, +"slice_100/end_frame": 0, +"slice_100/loop_mode": 0, +"slice_100/name": "", +"slice_100/save_to_file/enabled": false, +"slice_100/save_to_file/keep_custom_tracks": false, +"slice_100/save_to_file/path": "", +"slice_100/start_frame": 0, +"slice_101/end_frame": 0, +"slice_101/loop_mode": 0, +"slice_101/name": "", +"slice_101/save_to_file/enabled": false, +"slice_101/save_to_file/keep_custom_tracks": false, +"slice_101/save_to_file/path": "", +"slice_101/start_frame": 0, +"slice_102/end_frame": 0, +"slice_102/loop_mode": 0, +"slice_102/name": "", +"slice_102/save_to_file/enabled": false, +"slice_102/save_to_file/keep_custom_tracks": false, +"slice_102/save_to_file/path": "", +"slice_102/start_frame": 0, +"slice_103/end_frame": 0, +"slice_103/loop_mode": 0, +"slice_103/name": "", +"slice_103/save_to_file/enabled": false, +"slice_103/save_to_file/keep_custom_tracks": false, +"slice_103/save_to_file/path": "", +"slice_103/start_frame": 0, +"slice_104/end_frame": 0, +"slice_104/loop_mode": 0, +"slice_104/name": "", +"slice_104/save_to_file/enabled": false, +"slice_104/save_to_file/keep_custom_tracks": false, +"slice_104/save_to_file/path": "", +"slice_104/start_frame": 0, +"slice_105/end_frame": 0, +"slice_105/loop_mode": 0, +"slice_105/name": "", +"slice_105/save_to_file/enabled": false, +"slice_105/save_to_file/keep_custom_tracks": false, +"slice_105/save_to_file/path": "", +"slice_105/start_frame": 0, +"slice_106/end_frame": 0, +"slice_106/loop_mode": 0, +"slice_106/name": "", +"slice_106/save_to_file/enabled": false, +"slice_106/save_to_file/keep_custom_tracks": false, +"slice_106/save_to_file/path": "", +"slice_106/start_frame": 0, +"slice_107/end_frame": 0, +"slice_107/loop_mode": 0, +"slice_107/name": "", +"slice_107/save_to_file/enabled": false, +"slice_107/save_to_file/keep_custom_tracks": false, +"slice_107/save_to_file/path": "", +"slice_107/start_frame": 0, +"slice_108/end_frame": 0, +"slice_108/loop_mode": 0, +"slice_108/name": "", +"slice_108/save_to_file/enabled": false, +"slice_108/save_to_file/keep_custom_tracks": false, +"slice_108/save_to_file/path": "", +"slice_108/start_frame": 0, +"slice_109/end_frame": 0, +"slice_109/loop_mode": 0, +"slice_109/name": "", +"slice_109/save_to_file/enabled": false, +"slice_109/save_to_file/keep_custom_tracks": false, +"slice_109/save_to_file/path": "", +"slice_109/start_frame": 0, +"slice_11/end_frame": 0, +"slice_11/loop_mode": 0, +"slice_11/name": "", +"slice_11/save_to_file/enabled": false, +"slice_11/save_to_file/keep_custom_tracks": false, +"slice_11/save_to_file/path": "", +"slice_11/start_frame": 0, +"slice_110/end_frame": 0, +"slice_110/loop_mode": 0, +"slice_110/name": "", +"slice_110/save_to_file/enabled": false, +"slice_110/save_to_file/keep_custom_tracks": false, +"slice_110/save_to_file/path": "", +"slice_110/start_frame": 0, +"slice_111/end_frame": 0, +"slice_111/loop_mode": 0, +"slice_111/name": "", +"slice_111/save_to_file/enabled": false, +"slice_111/save_to_file/keep_custom_tracks": false, +"slice_111/save_to_file/path": "", +"slice_111/start_frame": 0, +"slice_112/end_frame": 0, +"slice_112/loop_mode": 0, +"slice_112/name": "", +"slice_112/save_to_file/enabled": false, +"slice_112/save_to_file/keep_custom_tracks": false, +"slice_112/save_to_file/path": "", +"slice_112/start_frame": 0, +"slice_113/end_frame": 0, +"slice_113/loop_mode": 0, +"slice_113/name": "", +"slice_113/save_to_file/enabled": false, +"slice_113/save_to_file/keep_custom_tracks": false, +"slice_113/save_to_file/path": "", +"slice_113/start_frame": 0, +"slice_114/end_frame": 0, +"slice_114/loop_mode": 0, +"slice_114/name": "", +"slice_114/save_to_file/enabled": false, +"slice_114/save_to_file/keep_custom_tracks": false, +"slice_114/save_to_file/path": "", +"slice_114/start_frame": 0, +"slice_115/end_frame": 0, +"slice_115/loop_mode": 0, +"slice_115/name": "", +"slice_115/save_to_file/enabled": false, +"slice_115/save_to_file/keep_custom_tracks": false, +"slice_115/save_to_file/path": "", +"slice_115/start_frame": 0, +"slice_116/end_frame": 0, +"slice_116/loop_mode": 0, +"slice_116/name": "", +"slice_116/save_to_file/enabled": false, +"slice_116/save_to_file/keep_custom_tracks": false, +"slice_116/save_to_file/path": "", +"slice_116/start_frame": 0, +"slice_117/end_frame": 0, +"slice_117/loop_mode": 0, +"slice_117/name": "", +"slice_117/save_to_file/enabled": false, +"slice_117/save_to_file/keep_custom_tracks": false, +"slice_117/save_to_file/path": "", +"slice_117/start_frame": 0, +"slice_118/end_frame": 0, +"slice_118/loop_mode": 0, +"slice_118/name": "", +"slice_118/save_to_file/enabled": false, +"slice_118/save_to_file/keep_custom_tracks": false, +"slice_118/save_to_file/path": "", +"slice_118/start_frame": 0, +"slice_119/end_frame": 0, +"slice_119/loop_mode": 0, +"slice_119/name": "", +"slice_119/save_to_file/enabled": false, +"slice_119/save_to_file/keep_custom_tracks": false, +"slice_119/save_to_file/path": "", +"slice_119/start_frame": 0, +"slice_12/end_frame": 0, +"slice_12/loop_mode": 0, +"slice_12/name": "", +"slice_12/save_to_file/enabled": false, +"slice_12/save_to_file/keep_custom_tracks": false, +"slice_12/save_to_file/path": "", +"slice_12/start_frame": 0, +"slice_120/end_frame": 0, +"slice_120/loop_mode": 0, +"slice_120/name": "", +"slice_120/save_to_file/enabled": false, +"slice_120/save_to_file/keep_custom_tracks": false, +"slice_120/save_to_file/path": "", +"slice_120/start_frame": 0, +"slice_121/end_frame": 0, +"slice_121/loop_mode": 0, +"slice_121/name": "", +"slice_121/save_to_file/enabled": false, +"slice_121/save_to_file/keep_custom_tracks": false, +"slice_121/save_to_file/path": "", +"slice_121/start_frame": 0, +"slice_122/end_frame": 0, +"slice_122/loop_mode": 0, +"slice_122/name": "", +"slice_122/save_to_file/enabled": false, +"slice_122/save_to_file/keep_custom_tracks": false, +"slice_122/save_to_file/path": "", +"slice_122/start_frame": 0, +"slice_123/end_frame": 0, +"slice_123/loop_mode": 0, +"slice_123/name": "", +"slice_123/save_to_file/enabled": false, +"slice_123/save_to_file/keep_custom_tracks": false, +"slice_123/save_to_file/path": "", +"slice_123/start_frame": 0, +"slice_124/end_frame": 0, +"slice_124/loop_mode": 0, +"slice_124/name": "", +"slice_124/save_to_file/enabled": false, +"slice_124/save_to_file/keep_custom_tracks": false, +"slice_124/save_to_file/path": "", +"slice_124/start_frame": 0, +"slice_125/end_frame": 0, +"slice_125/loop_mode": 0, +"slice_125/name": "", +"slice_125/save_to_file/enabled": false, +"slice_125/save_to_file/keep_custom_tracks": false, +"slice_125/save_to_file/path": "", +"slice_125/start_frame": 0, +"slice_126/end_frame": 0, +"slice_126/loop_mode": 0, +"slice_126/name": "", +"slice_126/save_to_file/enabled": false, +"slice_126/save_to_file/keep_custom_tracks": false, +"slice_126/save_to_file/path": "", +"slice_126/start_frame": 0, +"slice_127/end_frame": 0, +"slice_127/loop_mode": 0, +"slice_127/name": "", +"slice_127/save_to_file/enabled": false, +"slice_127/save_to_file/keep_custom_tracks": false, +"slice_127/save_to_file/path": "", +"slice_127/start_frame": 0, +"slice_128/end_frame": 0, +"slice_128/loop_mode": 0, +"slice_128/name": "", +"slice_128/save_to_file/enabled": false, +"slice_128/save_to_file/keep_custom_tracks": false, +"slice_128/save_to_file/path": "", +"slice_128/start_frame": 0, +"slice_129/end_frame": 0, +"slice_129/loop_mode": 0, +"slice_129/name": "", +"slice_129/save_to_file/enabled": false, +"slice_129/save_to_file/keep_custom_tracks": false, +"slice_129/save_to_file/path": "", +"slice_129/start_frame": 0, +"slice_13/end_frame": 0, +"slice_13/loop_mode": 0, +"slice_13/name": "", +"slice_13/save_to_file/enabled": false, +"slice_13/save_to_file/keep_custom_tracks": false, +"slice_13/save_to_file/path": "", +"slice_13/start_frame": 0, +"slice_130/end_frame": 0, +"slice_130/loop_mode": 0, +"slice_130/name": "", +"slice_130/save_to_file/enabled": false, +"slice_130/save_to_file/keep_custom_tracks": false, +"slice_130/save_to_file/path": "", +"slice_130/start_frame": 0, +"slice_131/end_frame": 0, +"slice_131/loop_mode": 0, +"slice_131/name": "", +"slice_131/save_to_file/enabled": false, +"slice_131/save_to_file/keep_custom_tracks": false, +"slice_131/save_to_file/path": "", +"slice_131/start_frame": 0, +"slice_132/end_frame": 0, +"slice_132/loop_mode": 0, +"slice_132/name": "", +"slice_132/save_to_file/enabled": false, +"slice_132/save_to_file/keep_custom_tracks": false, +"slice_132/save_to_file/path": "", +"slice_132/start_frame": 0, +"slice_133/end_frame": 0, +"slice_133/loop_mode": 0, +"slice_133/name": "", +"slice_133/save_to_file/enabled": false, +"slice_133/save_to_file/keep_custom_tracks": false, +"slice_133/save_to_file/path": "", +"slice_133/start_frame": 0, +"slice_134/end_frame": 0, +"slice_134/loop_mode": 0, +"slice_134/name": "", +"slice_134/save_to_file/enabled": false, +"slice_134/save_to_file/keep_custom_tracks": false, +"slice_134/save_to_file/path": "", +"slice_134/start_frame": 0, +"slice_135/end_frame": 0, +"slice_135/loop_mode": 0, +"slice_135/name": "", +"slice_135/save_to_file/enabled": false, +"slice_135/save_to_file/keep_custom_tracks": false, +"slice_135/save_to_file/path": "", +"slice_135/start_frame": 0, +"slice_136/end_frame": 0, +"slice_136/loop_mode": 0, +"slice_136/name": "", +"slice_136/save_to_file/enabled": false, +"slice_136/save_to_file/keep_custom_tracks": false, +"slice_136/save_to_file/path": "", +"slice_136/start_frame": 0, +"slice_137/end_frame": 0, +"slice_137/loop_mode": 0, +"slice_137/name": "", +"slice_137/save_to_file/enabled": false, +"slice_137/save_to_file/keep_custom_tracks": false, +"slice_137/save_to_file/path": "", +"slice_137/start_frame": 0, +"slice_138/end_frame": 0, +"slice_138/loop_mode": 0, +"slice_138/name": "", +"slice_138/save_to_file/enabled": false, +"slice_138/save_to_file/keep_custom_tracks": false, +"slice_138/save_to_file/path": "", +"slice_138/start_frame": 0, +"slice_139/end_frame": 0, +"slice_139/loop_mode": 0, +"slice_139/name": "", +"slice_139/save_to_file/enabled": false, +"slice_139/save_to_file/keep_custom_tracks": false, +"slice_139/save_to_file/path": "", +"slice_139/start_frame": 0, +"slice_14/end_frame": 0, +"slice_14/loop_mode": 0, +"slice_14/name": "", +"slice_14/save_to_file/enabled": false, +"slice_14/save_to_file/keep_custom_tracks": false, +"slice_14/save_to_file/path": "", +"slice_14/start_frame": 0, +"slice_140/end_frame": 0, +"slice_140/loop_mode": 0, +"slice_140/name": "", +"slice_140/save_to_file/enabled": false, +"slice_140/save_to_file/keep_custom_tracks": false, +"slice_140/save_to_file/path": "", +"slice_140/start_frame": 0, +"slice_141/end_frame": 0, +"slice_141/loop_mode": 0, +"slice_141/name": "", +"slice_141/save_to_file/enabled": false, +"slice_141/save_to_file/keep_custom_tracks": false, +"slice_141/save_to_file/path": "", +"slice_141/start_frame": 0, +"slice_142/end_frame": 0, +"slice_142/loop_mode": 0, +"slice_142/name": "", +"slice_142/save_to_file/enabled": false, +"slice_142/save_to_file/keep_custom_tracks": false, +"slice_142/save_to_file/path": "", +"slice_142/start_frame": 0, +"slice_143/end_frame": 0, +"slice_143/loop_mode": 0, +"slice_143/name": "", +"slice_143/save_to_file/enabled": false, +"slice_143/save_to_file/keep_custom_tracks": false, +"slice_143/save_to_file/path": "", +"slice_143/start_frame": 0, +"slice_144/end_frame": 0, +"slice_144/loop_mode": 0, +"slice_144/name": "", +"slice_144/save_to_file/enabled": false, +"slice_144/save_to_file/keep_custom_tracks": false, +"slice_144/save_to_file/path": "", +"slice_144/start_frame": 0, +"slice_145/end_frame": 0, +"slice_145/loop_mode": 0, +"slice_145/name": "", +"slice_145/save_to_file/enabled": false, +"slice_145/save_to_file/keep_custom_tracks": false, +"slice_145/save_to_file/path": "", +"slice_145/start_frame": 0, +"slice_146/end_frame": 0, +"slice_146/loop_mode": 0, +"slice_146/name": "", +"slice_146/save_to_file/enabled": false, +"slice_146/save_to_file/keep_custom_tracks": false, +"slice_146/save_to_file/path": "", +"slice_146/start_frame": 0, +"slice_147/end_frame": 0, +"slice_147/loop_mode": 0, +"slice_147/name": "", +"slice_147/save_to_file/enabled": false, +"slice_147/save_to_file/keep_custom_tracks": false, +"slice_147/save_to_file/path": "", +"slice_147/start_frame": 0, +"slice_148/end_frame": 0, +"slice_148/loop_mode": 0, +"slice_148/name": "", +"slice_148/save_to_file/enabled": false, +"slice_148/save_to_file/keep_custom_tracks": false, +"slice_148/save_to_file/path": "", +"slice_148/start_frame": 0, +"slice_149/end_frame": 0, +"slice_149/loop_mode": 0, +"slice_149/name": "", +"slice_149/save_to_file/enabled": false, +"slice_149/save_to_file/keep_custom_tracks": false, +"slice_149/save_to_file/path": "", +"slice_149/start_frame": 0, +"slice_15/end_frame": 0, +"slice_15/loop_mode": 0, +"slice_15/name": "", +"slice_15/save_to_file/enabled": false, +"slice_15/save_to_file/keep_custom_tracks": false, +"slice_15/save_to_file/path": "", +"slice_15/start_frame": 0, +"slice_150/end_frame": 0, +"slice_150/loop_mode": 0, +"slice_150/name": "", +"slice_150/save_to_file/enabled": false, +"slice_150/save_to_file/keep_custom_tracks": false, +"slice_150/save_to_file/path": "", +"slice_150/start_frame": 0, +"slice_151/end_frame": 0, +"slice_151/loop_mode": 0, +"slice_151/name": "", +"slice_151/save_to_file/enabled": false, +"slice_151/save_to_file/keep_custom_tracks": false, +"slice_151/save_to_file/path": "", +"slice_151/start_frame": 0, +"slice_152/end_frame": 0, +"slice_152/loop_mode": 0, +"slice_152/name": "", +"slice_152/save_to_file/enabled": false, +"slice_152/save_to_file/keep_custom_tracks": false, +"slice_152/save_to_file/path": "", +"slice_152/start_frame": 0, +"slice_153/end_frame": 0, +"slice_153/loop_mode": 0, +"slice_153/name": "", +"slice_153/save_to_file/enabled": false, +"slice_153/save_to_file/keep_custom_tracks": false, +"slice_153/save_to_file/path": "", +"slice_153/start_frame": 0, +"slice_154/end_frame": 0, +"slice_154/loop_mode": 0, +"slice_154/name": "", +"slice_154/save_to_file/enabled": false, +"slice_154/save_to_file/keep_custom_tracks": false, +"slice_154/save_to_file/path": "", +"slice_154/start_frame": 0, +"slice_155/end_frame": 0, +"slice_155/loop_mode": 0, +"slice_155/name": "", +"slice_155/save_to_file/enabled": false, +"slice_155/save_to_file/keep_custom_tracks": false, +"slice_155/save_to_file/path": "", +"slice_155/start_frame": 0, +"slice_156/end_frame": 0, +"slice_156/loop_mode": 0, +"slice_156/name": "", +"slice_156/save_to_file/enabled": false, +"slice_156/save_to_file/keep_custom_tracks": false, +"slice_156/save_to_file/path": "", +"slice_156/start_frame": 0, +"slice_157/end_frame": 0, +"slice_157/loop_mode": 0, +"slice_157/name": "", +"slice_157/save_to_file/enabled": false, +"slice_157/save_to_file/keep_custom_tracks": false, +"slice_157/save_to_file/path": "", +"slice_157/start_frame": 0, +"slice_158/end_frame": 0, +"slice_158/loop_mode": 0, +"slice_158/name": "", +"slice_158/save_to_file/enabled": false, +"slice_158/save_to_file/keep_custom_tracks": false, +"slice_158/save_to_file/path": "", +"slice_158/start_frame": 0, +"slice_159/end_frame": 0, +"slice_159/loop_mode": 0, +"slice_159/name": "", +"slice_159/save_to_file/enabled": false, +"slice_159/save_to_file/keep_custom_tracks": false, +"slice_159/save_to_file/path": "", +"slice_159/start_frame": 0, +"slice_16/end_frame": 0, +"slice_16/loop_mode": 0, +"slice_16/name": "", +"slice_16/save_to_file/enabled": false, +"slice_16/save_to_file/keep_custom_tracks": false, +"slice_16/save_to_file/path": "", +"slice_16/start_frame": 0, +"slice_160/end_frame": 0, +"slice_160/loop_mode": 0, +"slice_160/name": "", +"slice_160/save_to_file/enabled": false, +"slice_160/save_to_file/keep_custom_tracks": false, +"slice_160/save_to_file/path": "", +"slice_160/start_frame": 0, +"slice_161/end_frame": 0, +"slice_161/loop_mode": 0, +"slice_161/name": "", +"slice_161/save_to_file/enabled": false, +"slice_161/save_to_file/keep_custom_tracks": false, +"slice_161/save_to_file/path": "", +"slice_161/start_frame": 0, +"slice_162/end_frame": 0, +"slice_162/loop_mode": 0, +"slice_162/name": "", +"slice_162/save_to_file/enabled": false, +"slice_162/save_to_file/keep_custom_tracks": false, +"slice_162/save_to_file/path": "", +"slice_162/start_frame": 0, +"slice_163/end_frame": 0, +"slice_163/loop_mode": 0, +"slice_163/name": "", +"slice_163/save_to_file/enabled": false, +"slice_163/save_to_file/keep_custom_tracks": false, +"slice_163/save_to_file/path": "", +"slice_163/start_frame": 0, +"slice_164/end_frame": 0, +"slice_164/loop_mode": 0, +"slice_164/name": "", +"slice_164/save_to_file/enabled": false, +"slice_164/save_to_file/keep_custom_tracks": false, +"slice_164/save_to_file/path": "", +"slice_164/start_frame": 0, +"slice_165/end_frame": 0, +"slice_165/loop_mode": 0, +"slice_165/name": "", +"slice_165/save_to_file/enabled": false, +"slice_165/save_to_file/keep_custom_tracks": false, +"slice_165/save_to_file/path": "", +"slice_165/start_frame": 0, +"slice_166/end_frame": 0, +"slice_166/loop_mode": 0, +"slice_166/name": "", +"slice_166/save_to_file/enabled": false, +"slice_166/save_to_file/keep_custom_tracks": false, +"slice_166/save_to_file/path": "", +"slice_166/start_frame": 0, +"slice_167/end_frame": 0, +"slice_167/loop_mode": 0, +"slice_167/name": "", +"slice_167/save_to_file/enabled": false, +"slice_167/save_to_file/keep_custom_tracks": false, +"slice_167/save_to_file/path": "", +"slice_167/start_frame": 0, +"slice_168/end_frame": 0, +"slice_168/loop_mode": 0, +"slice_168/name": "", +"slice_168/save_to_file/enabled": false, +"slice_168/save_to_file/keep_custom_tracks": false, +"slice_168/save_to_file/path": "", +"slice_168/start_frame": 0, +"slice_169/end_frame": 0, +"slice_169/loop_mode": 0, +"slice_169/name": "", +"slice_169/save_to_file/enabled": false, +"slice_169/save_to_file/keep_custom_tracks": false, +"slice_169/save_to_file/path": "", +"slice_169/start_frame": 0, +"slice_17/end_frame": 0, +"slice_17/loop_mode": 0, +"slice_17/name": "", +"slice_17/save_to_file/enabled": false, +"slice_17/save_to_file/keep_custom_tracks": false, +"slice_17/save_to_file/path": "", +"slice_17/start_frame": 0, +"slice_170/end_frame": 0, +"slice_170/loop_mode": 0, +"slice_170/name": "", +"slice_170/save_to_file/enabled": false, +"slice_170/save_to_file/keep_custom_tracks": false, +"slice_170/save_to_file/path": "", +"slice_170/start_frame": 0, +"slice_171/end_frame": 0, +"slice_171/loop_mode": 0, +"slice_171/name": "", +"slice_171/save_to_file/enabled": false, +"slice_171/save_to_file/keep_custom_tracks": false, +"slice_171/save_to_file/path": "", +"slice_171/start_frame": 0, +"slice_172/end_frame": 0, +"slice_172/loop_mode": 0, +"slice_172/name": "", +"slice_172/save_to_file/enabled": false, +"slice_172/save_to_file/keep_custom_tracks": false, +"slice_172/save_to_file/path": "", +"slice_172/start_frame": 0, +"slice_173/end_frame": 0, +"slice_173/loop_mode": 0, +"slice_173/name": "", +"slice_173/save_to_file/enabled": false, +"slice_173/save_to_file/keep_custom_tracks": false, +"slice_173/save_to_file/path": "", +"slice_173/start_frame": 0, +"slice_174/end_frame": 0, +"slice_174/loop_mode": 0, +"slice_174/name": "", +"slice_174/save_to_file/enabled": false, +"slice_174/save_to_file/keep_custom_tracks": false, +"slice_174/save_to_file/path": "", +"slice_174/start_frame": 0, +"slice_175/end_frame": 0, +"slice_175/loop_mode": 0, +"slice_175/name": "", +"slice_175/save_to_file/enabled": false, +"slice_175/save_to_file/keep_custom_tracks": false, +"slice_175/save_to_file/path": "", +"slice_175/start_frame": 0, +"slice_176/end_frame": 0, +"slice_176/loop_mode": 0, +"slice_176/name": "", +"slice_176/save_to_file/enabled": false, +"slice_176/save_to_file/keep_custom_tracks": false, +"slice_176/save_to_file/path": "", +"slice_176/start_frame": 0, +"slice_177/end_frame": 0, +"slice_177/loop_mode": 0, +"slice_177/name": "", +"slice_177/save_to_file/enabled": false, +"slice_177/save_to_file/keep_custom_tracks": false, +"slice_177/save_to_file/path": "", +"slice_177/start_frame": 0, +"slice_178/end_frame": 0, +"slice_178/loop_mode": 0, +"slice_178/name": "", +"slice_178/save_to_file/enabled": false, +"slice_178/save_to_file/keep_custom_tracks": false, +"slice_178/save_to_file/path": "", +"slice_178/start_frame": 0, +"slice_179/end_frame": 0, +"slice_179/loop_mode": 0, +"slice_179/name": "", +"slice_179/save_to_file/enabled": false, +"slice_179/save_to_file/keep_custom_tracks": false, +"slice_179/save_to_file/path": "", +"slice_179/start_frame": 0, +"slice_18/end_frame": 0, +"slice_18/loop_mode": 0, +"slice_18/name": "", +"slice_18/save_to_file/enabled": false, +"slice_18/save_to_file/keep_custom_tracks": false, +"slice_18/save_to_file/path": "", +"slice_18/start_frame": 0, +"slice_180/end_frame": 0, +"slice_180/loop_mode": 0, +"slice_180/name": "", +"slice_180/save_to_file/enabled": false, +"slice_180/save_to_file/keep_custom_tracks": false, +"slice_180/save_to_file/path": "", +"slice_180/start_frame": 0, +"slice_181/end_frame": 0, +"slice_181/loop_mode": 0, +"slice_181/name": "", +"slice_181/save_to_file/enabled": false, +"slice_181/save_to_file/keep_custom_tracks": false, +"slice_181/save_to_file/path": "", +"slice_181/start_frame": 0, +"slice_182/end_frame": 0, +"slice_182/loop_mode": 0, +"slice_182/name": "", +"slice_182/save_to_file/enabled": false, +"slice_182/save_to_file/keep_custom_tracks": false, +"slice_182/save_to_file/path": "", +"slice_182/start_frame": 0, +"slice_183/end_frame": 0, +"slice_183/loop_mode": 0, +"slice_183/name": "", +"slice_183/save_to_file/enabled": false, +"slice_183/save_to_file/keep_custom_tracks": false, +"slice_183/save_to_file/path": "", +"slice_183/start_frame": 0, +"slice_184/end_frame": 0, +"slice_184/loop_mode": 0, +"slice_184/name": "", +"slice_184/save_to_file/enabled": false, +"slice_184/save_to_file/keep_custom_tracks": false, +"slice_184/save_to_file/path": "", +"slice_184/start_frame": 0, +"slice_185/end_frame": 0, +"slice_185/loop_mode": 0, +"slice_185/name": "", +"slice_185/save_to_file/enabled": false, +"slice_185/save_to_file/keep_custom_tracks": false, +"slice_185/save_to_file/path": "", +"slice_185/start_frame": 0, +"slice_186/end_frame": 0, +"slice_186/loop_mode": 0, +"slice_186/name": "", +"slice_186/save_to_file/enabled": false, +"slice_186/save_to_file/keep_custom_tracks": false, +"slice_186/save_to_file/path": "", +"slice_186/start_frame": 0, +"slice_187/end_frame": 0, +"slice_187/loop_mode": 0, +"slice_187/name": "", +"slice_187/save_to_file/enabled": false, +"slice_187/save_to_file/keep_custom_tracks": false, +"slice_187/save_to_file/path": "", +"slice_187/start_frame": 0, +"slice_188/end_frame": 0, +"slice_188/loop_mode": 0, +"slice_188/name": "", +"slice_188/save_to_file/enabled": false, +"slice_188/save_to_file/keep_custom_tracks": false, +"slice_188/save_to_file/path": "", +"slice_188/start_frame": 0, +"slice_189/end_frame": 0, +"slice_189/loop_mode": 0, +"slice_189/name": "", +"slice_189/save_to_file/enabled": false, +"slice_189/save_to_file/keep_custom_tracks": false, +"slice_189/save_to_file/path": "", +"slice_189/start_frame": 0, +"slice_19/end_frame": 0, +"slice_19/loop_mode": 0, +"slice_19/name": "", +"slice_19/save_to_file/enabled": false, +"slice_19/save_to_file/keep_custom_tracks": false, +"slice_19/save_to_file/path": "", +"slice_19/start_frame": 0, +"slice_190/end_frame": 0, +"slice_190/loop_mode": 0, +"slice_190/name": "", +"slice_190/save_to_file/enabled": false, +"slice_190/save_to_file/keep_custom_tracks": false, +"slice_190/save_to_file/path": "", +"slice_190/start_frame": 0, +"slice_191/end_frame": 0, +"slice_191/loop_mode": 0, +"slice_191/name": "", +"slice_191/save_to_file/enabled": false, +"slice_191/save_to_file/keep_custom_tracks": false, +"slice_191/save_to_file/path": "", +"slice_191/start_frame": 0, +"slice_192/end_frame": 0, +"slice_192/loop_mode": 0, +"slice_192/name": "", +"slice_192/save_to_file/enabled": false, +"slice_192/save_to_file/keep_custom_tracks": false, +"slice_192/save_to_file/path": "", +"slice_192/start_frame": 0, +"slice_193/end_frame": 0, +"slice_193/loop_mode": 0, +"slice_193/name": "", +"slice_193/save_to_file/enabled": false, +"slice_193/save_to_file/keep_custom_tracks": false, +"slice_193/save_to_file/path": "", +"slice_193/start_frame": 0, +"slice_194/end_frame": 0, +"slice_194/loop_mode": 0, +"slice_194/name": "", +"slice_194/save_to_file/enabled": false, +"slice_194/save_to_file/keep_custom_tracks": false, +"slice_194/save_to_file/path": "", +"slice_194/start_frame": 0, +"slice_195/end_frame": 0, +"slice_195/loop_mode": 0, +"slice_195/name": "", +"slice_195/save_to_file/enabled": false, +"slice_195/save_to_file/keep_custom_tracks": false, +"slice_195/save_to_file/path": "", +"slice_195/start_frame": 0, +"slice_196/end_frame": 0, +"slice_196/loop_mode": 0, +"slice_196/name": "", +"slice_196/save_to_file/enabled": false, +"slice_196/save_to_file/keep_custom_tracks": false, +"slice_196/save_to_file/path": "", +"slice_196/start_frame": 0, +"slice_197/end_frame": 0, +"slice_197/loop_mode": 0, +"slice_197/name": "", +"slice_197/save_to_file/enabled": false, +"slice_197/save_to_file/keep_custom_tracks": false, +"slice_197/save_to_file/path": "", +"slice_197/start_frame": 0, +"slice_198/end_frame": 0, +"slice_198/loop_mode": 0, +"slice_198/name": "", +"slice_198/save_to_file/enabled": false, +"slice_198/save_to_file/keep_custom_tracks": false, +"slice_198/save_to_file/path": "", +"slice_198/start_frame": 0, +"slice_199/end_frame": 0, +"slice_199/loop_mode": 0, +"slice_199/name": "", +"slice_199/save_to_file/enabled": false, +"slice_199/save_to_file/keep_custom_tracks": false, +"slice_199/save_to_file/path": "", +"slice_199/start_frame": 0, +"slice_2/end_frame": 0, +"slice_2/loop_mode": 0, +"slice_2/name": "", +"slice_2/save_to_file/enabled": false, +"slice_2/save_to_file/keep_custom_tracks": false, +"slice_2/save_to_file/path": "", +"slice_2/start_frame": 0, +"slice_20/end_frame": 0, +"slice_20/loop_mode": 0, +"slice_20/name": "", +"slice_20/save_to_file/enabled": false, +"slice_20/save_to_file/keep_custom_tracks": false, +"slice_20/save_to_file/path": "", +"slice_20/start_frame": 0, +"slice_200/end_frame": 0, +"slice_200/loop_mode": 0, +"slice_200/name": "", +"slice_200/save_to_file/enabled": false, +"slice_200/save_to_file/keep_custom_tracks": false, +"slice_200/save_to_file/path": "", +"slice_200/start_frame": 0, +"slice_201/end_frame": 0, +"slice_201/loop_mode": 0, +"slice_201/name": "", +"slice_201/save_to_file/enabled": false, +"slice_201/save_to_file/keep_custom_tracks": false, +"slice_201/save_to_file/path": "", +"slice_201/start_frame": 0, +"slice_202/end_frame": 0, +"slice_202/loop_mode": 0, +"slice_202/name": "", +"slice_202/save_to_file/enabled": false, +"slice_202/save_to_file/keep_custom_tracks": false, +"slice_202/save_to_file/path": "", +"slice_202/start_frame": 0, +"slice_203/end_frame": 0, +"slice_203/loop_mode": 0, +"slice_203/name": "", +"slice_203/save_to_file/enabled": false, +"slice_203/save_to_file/keep_custom_tracks": false, +"slice_203/save_to_file/path": "", +"slice_203/start_frame": 0, +"slice_204/end_frame": 0, +"slice_204/loop_mode": 0, +"slice_204/name": "", +"slice_204/save_to_file/enabled": false, +"slice_204/save_to_file/keep_custom_tracks": false, +"slice_204/save_to_file/path": "", +"slice_204/start_frame": 0, +"slice_205/end_frame": 0, +"slice_205/loop_mode": 0, +"slice_205/name": "", +"slice_205/save_to_file/enabled": false, +"slice_205/save_to_file/keep_custom_tracks": false, +"slice_205/save_to_file/path": "", +"slice_205/start_frame": 0, +"slice_206/end_frame": 0, +"slice_206/loop_mode": 0, +"slice_206/name": "", +"slice_206/save_to_file/enabled": false, +"slice_206/save_to_file/keep_custom_tracks": false, +"slice_206/save_to_file/path": "", +"slice_206/start_frame": 0, +"slice_207/end_frame": 0, +"slice_207/loop_mode": 0, +"slice_207/name": "", +"slice_207/save_to_file/enabled": false, +"slice_207/save_to_file/keep_custom_tracks": false, +"slice_207/save_to_file/path": "", +"slice_207/start_frame": 0, +"slice_208/end_frame": 0, +"slice_208/loop_mode": 0, +"slice_208/name": "", +"slice_208/save_to_file/enabled": false, +"slice_208/save_to_file/keep_custom_tracks": false, +"slice_208/save_to_file/path": "", +"slice_208/start_frame": 0, +"slice_209/end_frame": 0, +"slice_209/loop_mode": 0, +"slice_209/name": "", +"slice_209/save_to_file/enabled": false, +"slice_209/save_to_file/keep_custom_tracks": false, +"slice_209/save_to_file/path": "", +"slice_209/start_frame": 0, +"slice_21/end_frame": 0, +"slice_21/loop_mode": 0, +"slice_21/name": "", +"slice_21/save_to_file/enabled": false, +"slice_21/save_to_file/keep_custom_tracks": false, +"slice_21/save_to_file/path": "", +"slice_21/start_frame": 0, +"slice_210/end_frame": 0, +"slice_210/loop_mode": 0, +"slice_210/name": "", +"slice_210/save_to_file/enabled": false, +"slice_210/save_to_file/keep_custom_tracks": false, +"slice_210/save_to_file/path": "", +"slice_210/start_frame": 0, +"slice_211/end_frame": 0, +"slice_211/loop_mode": 0, +"slice_211/name": "", +"slice_211/save_to_file/enabled": false, +"slice_211/save_to_file/keep_custom_tracks": false, +"slice_211/save_to_file/path": "", +"slice_211/start_frame": 0, +"slice_212/end_frame": 0, +"slice_212/loop_mode": 0, +"slice_212/name": "", +"slice_212/save_to_file/enabled": false, +"slice_212/save_to_file/keep_custom_tracks": false, +"slice_212/save_to_file/path": "", +"slice_212/start_frame": 0, +"slice_213/end_frame": 0, +"slice_213/loop_mode": 0, +"slice_213/name": "", +"slice_213/save_to_file/enabled": false, +"slice_213/save_to_file/keep_custom_tracks": false, +"slice_213/save_to_file/path": "", +"slice_213/start_frame": 0, +"slice_214/end_frame": 0, +"slice_214/loop_mode": 0, +"slice_214/name": "", +"slice_214/save_to_file/enabled": false, +"slice_214/save_to_file/keep_custom_tracks": false, +"slice_214/save_to_file/path": "", +"slice_214/start_frame": 0, +"slice_215/end_frame": 0, +"slice_215/loop_mode": 0, +"slice_215/name": "", +"slice_215/save_to_file/enabled": false, +"slice_215/save_to_file/keep_custom_tracks": false, +"slice_215/save_to_file/path": "", +"slice_215/start_frame": 0, +"slice_216/end_frame": 0, +"slice_216/loop_mode": 0, +"slice_216/name": "", +"slice_216/save_to_file/enabled": false, +"slice_216/save_to_file/keep_custom_tracks": false, +"slice_216/save_to_file/path": "", +"slice_216/start_frame": 0, +"slice_217/end_frame": 0, +"slice_217/loop_mode": 0, +"slice_217/name": "", +"slice_217/save_to_file/enabled": false, +"slice_217/save_to_file/keep_custom_tracks": false, +"slice_217/save_to_file/path": "", +"slice_217/start_frame": 0, +"slice_218/end_frame": 0, +"slice_218/loop_mode": 0, +"slice_218/name": "", +"slice_218/save_to_file/enabled": false, +"slice_218/save_to_file/keep_custom_tracks": false, +"slice_218/save_to_file/path": "", +"slice_218/start_frame": 0, +"slice_219/end_frame": 0, +"slice_219/loop_mode": 0, +"slice_219/name": "", +"slice_219/save_to_file/enabled": false, +"slice_219/save_to_file/keep_custom_tracks": false, +"slice_219/save_to_file/path": "", +"slice_219/start_frame": 0, +"slice_22/end_frame": 0, +"slice_22/loop_mode": 0, +"slice_22/name": "", +"slice_22/save_to_file/enabled": false, +"slice_22/save_to_file/keep_custom_tracks": false, +"slice_22/save_to_file/path": "", +"slice_22/start_frame": 0, +"slice_220/end_frame": 0, +"slice_220/loop_mode": 0, +"slice_220/name": "", +"slice_220/save_to_file/enabled": false, +"slice_220/save_to_file/keep_custom_tracks": false, +"slice_220/save_to_file/path": "", +"slice_220/start_frame": 0, +"slice_221/end_frame": 0, +"slice_221/loop_mode": 0, +"slice_221/name": "", +"slice_221/save_to_file/enabled": false, +"slice_221/save_to_file/keep_custom_tracks": false, +"slice_221/save_to_file/path": "", +"slice_221/start_frame": 0, +"slice_222/end_frame": 0, +"slice_222/loop_mode": 0, +"slice_222/name": "", +"slice_222/save_to_file/enabled": false, +"slice_222/save_to_file/keep_custom_tracks": false, +"slice_222/save_to_file/path": "", +"slice_222/start_frame": 0, +"slice_223/end_frame": 0, +"slice_223/loop_mode": 0, +"slice_223/name": "", +"slice_223/save_to_file/enabled": false, +"slice_223/save_to_file/keep_custom_tracks": false, +"slice_223/save_to_file/path": "", +"slice_223/start_frame": 0, +"slice_224/end_frame": 0, +"slice_224/loop_mode": 0, +"slice_224/name": "", +"slice_224/save_to_file/enabled": false, +"slice_224/save_to_file/keep_custom_tracks": false, +"slice_224/save_to_file/path": "", +"slice_224/start_frame": 0, +"slice_225/end_frame": 0, +"slice_225/loop_mode": 0, +"slice_225/name": "", +"slice_225/save_to_file/enabled": false, +"slice_225/save_to_file/keep_custom_tracks": false, +"slice_225/save_to_file/path": "", +"slice_225/start_frame": 0, +"slice_226/end_frame": 0, +"slice_226/loop_mode": 0, +"slice_226/name": "", +"slice_226/save_to_file/enabled": false, +"slice_226/save_to_file/keep_custom_tracks": false, +"slice_226/save_to_file/path": "", +"slice_226/start_frame": 0, +"slice_227/end_frame": 0, +"slice_227/loop_mode": 0, +"slice_227/name": "", +"slice_227/save_to_file/enabled": false, +"slice_227/save_to_file/keep_custom_tracks": false, +"slice_227/save_to_file/path": "", +"slice_227/start_frame": 0, +"slice_228/end_frame": 0, +"slice_228/loop_mode": 0, +"slice_228/name": "", +"slice_228/save_to_file/enabled": false, +"slice_228/save_to_file/keep_custom_tracks": false, +"slice_228/save_to_file/path": "", +"slice_228/start_frame": 0, +"slice_229/end_frame": 0, +"slice_229/loop_mode": 0, +"slice_229/name": "", +"slice_229/save_to_file/enabled": false, +"slice_229/save_to_file/keep_custom_tracks": false, +"slice_229/save_to_file/path": "", +"slice_229/start_frame": 0, +"slice_23/end_frame": 0, +"slice_23/loop_mode": 0, +"slice_23/name": "", +"slice_23/save_to_file/enabled": false, +"slice_23/save_to_file/keep_custom_tracks": false, +"slice_23/save_to_file/path": "", +"slice_23/start_frame": 0, +"slice_230/end_frame": 0, +"slice_230/loop_mode": 0, +"slice_230/name": "", +"slice_230/save_to_file/enabled": false, +"slice_230/save_to_file/keep_custom_tracks": false, +"slice_230/save_to_file/path": "", +"slice_230/start_frame": 0, +"slice_231/end_frame": 0, +"slice_231/loop_mode": 0, +"slice_231/name": "", +"slice_231/save_to_file/enabled": false, +"slice_231/save_to_file/keep_custom_tracks": false, +"slice_231/save_to_file/path": "", +"slice_231/start_frame": 0, +"slice_232/end_frame": 0, +"slice_232/loop_mode": 0, +"slice_232/name": "", +"slice_232/save_to_file/enabled": false, +"slice_232/save_to_file/keep_custom_tracks": false, +"slice_232/save_to_file/path": "", +"slice_232/start_frame": 0, +"slice_233/end_frame": 0, +"slice_233/loop_mode": 0, +"slice_233/name": "", +"slice_233/save_to_file/enabled": false, +"slice_233/save_to_file/keep_custom_tracks": false, +"slice_233/save_to_file/path": "", +"slice_233/start_frame": 0, +"slice_234/end_frame": 0, +"slice_234/loop_mode": 0, +"slice_234/name": "", +"slice_234/save_to_file/enabled": false, +"slice_234/save_to_file/keep_custom_tracks": false, +"slice_234/save_to_file/path": "", +"slice_234/start_frame": 0, +"slice_235/end_frame": 0, +"slice_235/loop_mode": 0, +"slice_235/name": "", +"slice_235/save_to_file/enabled": false, +"slice_235/save_to_file/keep_custom_tracks": false, +"slice_235/save_to_file/path": "", +"slice_235/start_frame": 0, +"slice_236/end_frame": 0, +"slice_236/loop_mode": 0, +"slice_236/name": "", +"slice_236/save_to_file/enabled": false, +"slice_236/save_to_file/keep_custom_tracks": false, +"slice_236/save_to_file/path": "", +"slice_236/start_frame": 0, +"slice_237/end_frame": 0, +"slice_237/loop_mode": 0, +"slice_237/name": "", +"slice_237/save_to_file/enabled": false, +"slice_237/save_to_file/keep_custom_tracks": false, +"slice_237/save_to_file/path": "", +"slice_237/start_frame": 0, +"slice_238/end_frame": 0, +"slice_238/loop_mode": 0, +"slice_238/name": "", +"slice_238/save_to_file/enabled": false, +"slice_238/save_to_file/keep_custom_tracks": false, +"slice_238/save_to_file/path": "", +"slice_238/start_frame": 0, +"slice_239/end_frame": 0, +"slice_239/loop_mode": 0, +"slice_239/name": "", +"slice_239/save_to_file/enabled": false, +"slice_239/save_to_file/keep_custom_tracks": false, +"slice_239/save_to_file/path": "", +"slice_239/start_frame": 0, +"slice_24/end_frame": 0, +"slice_24/loop_mode": 0, +"slice_24/name": "", +"slice_24/save_to_file/enabled": false, +"slice_24/save_to_file/keep_custom_tracks": false, +"slice_24/save_to_file/path": "", +"slice_24/start_frame": 0, +"slice_240/end_frame": 0, +"slice_240/loop_mode": 0, +"slice_240/name": "", +"slice_240/save_to_file/enabled": false, +"slice_240/save_to_file/keep_custom_tracks": false, +"slice_240/save_to_file/path": "", +"slice_240/start_frame": 0, +"slice_241/end_frame": 0, +"slice_241/loop_mode": 0, +"slice_241/name": "", +"slice_241/save_to_file/enabled": false, +"slice_241/save_to_file/keep_custom_tracks": false, +"slice_241/save_to_file/path": "", +"slice_241/start_frame": 0, +"slice_242/end_frame": 0, +"slice_242/loop_mode": 0, +"slice_242/name": "", +"slice_242/save_to_file/enabled": false, +"slice_242/save_to_file/keep_custom_tracks": false, +"slice_242/save_to_file/path": "", +"slice_242/start_frame": 0, +"slice_243/end_frame": 0, +"slice_243/loop_mode": 0, +"slice_243/name": "", +"slice_243/save_to_file/enabled": false, +"slice_243/save_to_file/keep_custom_tracks": false, +"slice_243/save_to_file/path": "", +"slice_243/start_frame": 0, +"slice_244/end_frame": 0, +"slice_244/loop_mode": 0, +"slice_244/name": "", +"slice_244/save_to_file/enabled": false, +"slice_244/save_to_file/keep_custom_tracks": false, +"slice_244/save_to_file/path": "", +"slice_244/start_frame": 0, +"slice_245/end_frame": 0, +"slice_245/loop_mode": 0, +"slice_245/name": "", +"slice_245/save_to_file/enabled": false, +"slice_245/save_to_file/keep_custom_tracks": false, +"slice_245/save_to_file/path": "", +"slice_245/start_frame": 0, +"slice_246/end_frame": 0, +"slice_246/loop_mode": 0, +"slice_246/name": "", +"slice_246/save_to_file/enabled": false, +"slice_246/save_to_file/keep_custom_tracks": false, +"slice_246/save_to_file/path": "", +"slice_246/start_frame": 0, +"slice_247/end_frame": 0, +"slice_247/loop_mode": 0, +"slice_247/name": "", +"slice_247/save_to_file/enabled": false, +"slice_247/save_to_file/keep_custom_tracks": false, +"slice_247/save_to_file/path": "", +"slice_247/start_frame": 0, +"slice_248/end_frame": 0, +"slice_248/loop_mode": 0, +"slice_248/name": "", +"slice_248/save_to_file/enabled": false, +"slice_248/save_to_file/keep_custom_tracks": false, +"slice_248/save_to_file/path": "", +"slice_248/start_frame": 0, +"slice_249/end_frame": 0, +"slice_249/loop_mode": 0, +"slice_249/name": "", +"slice_249/save_to_file/enabled": false, +"slice_249/save_to_file/keep_custom_tracks": false, +"slice_249/save_to_file/path": "", +"slice_249/start_frame": 0, +"slice_25/end_frame": 0, +"slice_25/loop_mode": 0, +"slice_25/name": "", +"slice_25/save_to_file/enabled": false, +"slice_25/save_to_file/keep_custom_tracks": false, +"slice_25/save_to_file/path": "", +"slice_25/start_frame": 0, +"slice_250/end_frame": 0, +"slice_250/loop_mode": 0, +"slice_250/name": "", +"slice_250/save_to_file/enabled": false, +"slice_250/save_to_file/keep_custom_tracks": false, +"slice_250/save_to_file/path": "", +"slice_250/start_frame": 0, +"slice_251/end_frame": 0, +"slice_251/loop_mode": 0, +"slice_251/name": "", +"slice_251/save_to_file/enabled": false, +"slice_251/save_to_file/keep_custom_tracks": false, +"slice_251/save_to_file/path": "", +"slice_251/start_frame": 0, +"slice_252/end_frame": 0, +"slice_252/loop_mode": 0, +"slice_252/name": "", +"slice_252/save_to_file/enabled": false, +"slice_252/save_to_file/keep_custom_tracks": false, +"slice_252/save_to_file/path": "", +"slice_252/start_frame": 0, +"slice_253/end_frame": 0, +"slice_253/loop_mode": 0, +"slice_253/name": "", +"slice_253/save_to_file/enabled": false, +"slice_253/save_to_file/keep_custom_tracks": false, +"slice_253/save_to_file/path": "", +"slice_253/start_frame": 0, +"slice_254/end_frame": 0, +"slice_254/loop_mode": 0, +"slice_254/name": "", +"slice_254/save_to_file/enabled": false, +"slice_254/save_to_file/keep_custom_tracks": false, +"slice_254/save_to_file/path": "", +"slice_254/start_frame": 0, +"slice_255/end_frame": 0, +"slice_255/loop_mode": 0, +"slice_255/name": "", +"slice_255/save_to_file/enabled": false, +"slice_255/save_to_file/keep_custom_tracks": false, +"slice_255/save_to_file/path": "", +"slice_255/start_frame": 0, +"slice_256/end_frame": 0, +"slice_256/loop_mode": 0, +"slice_256/name": "", +"slice_256/save_to_file/enabled": false, +"slice_256/save_to_file/keep_custom_tracks": false, +"slice_256/save_to_file/path": "", +"slice_256/start_frame": 0, +"slice_26/end_frame": 0, +"slice_26/loop_mode": 0, +"slice_26/name": "", +"slice_26/save_to_file/enabled": false, +"slice_26/save_to_file/keep_custom_tracks": false, +"slice_26/save_to_file/path": "", +"slice_26/start_frame": 0, +"slice_27/end_frame": 0, +"slice_27/loop_mode": 0, +"slice_27/name": "", +"slice_27/save_to_file/enabled": false, +"slice_27/save_to_file/keep_custom_tracks": false, +"slice_27/save_to_file/path": "", +"slice_27/start_frame": 0, +"slice_28/end_frame": 0, +"slice_28/loop_mode": 0, +"slice_28/name": "", +"slice_28/save_to_file/enabled": false, +"slice_28/save_to_file/keep_custom_tracks": false, +"slice_28/save_to_file/path": "", +"slice_28/start_frame": 0, +"slice_29/end_frame": 0, +"slice_29/loop_mode": 0, +"slice_29/name": "", +"slice_29/save_to_file/enabled": false, +"slice_29/save_to_file/keep_custom_tracks": false, +"slice_29/save_to_file/path": "", +"slice_29/start_frame": 0, +"slice_3/end_frame": 0, +"slice_3/loop_mode": 0, +"slice_3/name": "", +"slice_3/save_to_file/enabled": false, +"slice_3/save_to_file/keep_custom_tracks": false, +"slice_3/save_to_file/path": "", +"slice_3/start_frame": 0, +"slice_30/end_frame": 0, +"slice_30/loop_mode": 0, +"slice_30/name": "", +"slice_30/save_to_file/enabled": false, +"slice_30/save_to_file/keep_custom_tracks": false, +"slice_30/save_to_file/path": "", +"slice_30/start_frame": 0, +"slice_31/end_frame": 0, +"slice_31/loop_mode": 0, +"slice_31/name": "", +"slice_31/save_to_file/enabled": false, +"slice_31/save_to_file/keep_custom_tracks": false, +"slice_31/save_to_file/path": "", +"slice_31/start_frame": 0, +"slice_32/end_frame": 0, +"slice_32/loop_mode": 0, +"slice_32/name": "", +"slice_32/save_to_file/enabled": false, +"slice_32/save_to_file/keep_custom_tracks": false, +"slice_32/save_to_file/path": "", +"slice_32/start_frame": 0, +"slice_33/end_frame": 0, +"slice_33/loop_mode": 0, +"slice_33/name": "", +"slice_33/save_to_file/enabled": false, +"slice_33/save_to_file/keep_custom_tracks": false, +"slice_33/save_to_file/path": "", +"slice_33/start_frame": 0, +"slice_34/end_frame": 0, +"slice_34/loop_mode": 0, +"slice_34/name": "", +"slice_34/save_to_file/enabled": false, +"slice_34/save_to_file/keep_custom_tracks": false, +"slice_34/save_to_file/path": "", +"slice_34/start_frame": 0, +"slice_35/end_frame": 0, +"slice_35/loop_mode": 0, +"slice_35/name": "", +"slice_35/save_to_file/enabled": false, +"slice_35/save_to_file/keep_custom_tracks": false, +"slice_35/save_to_file/path": "", +"slice_35/start_frame": 0, +"slice_36/end_frame": 0, +"slice_36/loop_mode": 0, +"slice_36/name": "", +"slice_36/save_to_file/enabled": false, +"slice_36/save_to_file/keep_custom_tracks": false, +"slice_36/save_to_file/path": "", +"slice_36/start_frame": 0, +"slice_37/end_frame": 0, +"slice_37/loop_mode": 0, +"slice_37/name": "", +"slice_37/save_to_file/enabled": false, +"slice_37/save_to_file/keep_custom_tracks": false, +"slice_37/save_to_file/path": "", +"slice_37/start_frame": 0, +"slice_38/end_frame": 0, +"slice_38/loop_mode": 0, +"slice_38/name": "", +"slice_38/save_to_file/enabled": false, +"slice_38/save_to_file/keep_custom_tracks": false, +"slice_38/save_to_file/path": "", +"slice_38/start_frame": 0, +"slice_39/end_frame": 0, +"slice_39/loop_mode": 0, +"slice_39/name": "", +"slice_39/save_to_file/enabled": false, +"slice_39/save_to_file/keep_custom_tracks": false, +"slice_39/save_to_file/path": "", +"slice_39/start_frame": 0, +"slice_4/end_frame": 0, +"slice_4/loop_mode": 0, +"slice_4/name": "", +"slice_4/save_to_file/enabled": false, +"slice_4/save_to_file/keep_custom_tracks": false, +"slice_4/save_to_file/path": "", +"slice_4/start_frame": 0, +"slice_40/end_frame": 0, +"slice_40/loop_mode": 0, +"slice_40/name": "", +"slice_40/save_to_file/enabled": false, +"slice_40/save_to_file/keep_custom_tracks": false, +"slice_40/save_to_file/path": "", +"slice_40/start_frame": 0, +"slice_41/end_frame": 0, +"slice_41/loop_mode": 0, +"slice_41/name": "", +"slice_41/save_to_file/enabled": false, +"slice_41/save_to_file/keep_custom_tracks": false, +"slice_41/save_to_file/path": "", +"slice_41/start_frame": 0, +"slice_42/end_frame": 0, +"slice_42/loop_mode": 0, +"slice_42/name": "", +"slice_42/save_to_file/enabled": false, +"slice_42/save_to_file/keep_custom_tracks": false, +"slice_42/save_to_file/path": "", +"slice_42/start_frame": 0, +"slice_43/end_frame": 0, +"slice_43/loop_mode": 0, +"slice_43/name": "", +"slice_43/save_to_file/enabled": false, +"slice_43/save_to_file/keep_custom_tracks": false, +"slice_43/save_to_file/path": "", +"slice_43/start_frame": 0, +"slice_44/end_frame": 0, +"slice_44/loop_mode": 0, +"slice_44/name": "", +"slice_44/save_to_file/enabled": false, +"slice_44/save_to_file/keep_custom_tracks": false, +"slice_44/save_to_file/path": "", +"slice_44/start_frame": 0, +"slice_45/end_frame": 0, +"slice_45/loop_mode": 0, +"slice_45/name": "", +"slice_45/save_to_file/enabled": false, +"slice_45/save_to_file/keep_custom_tracks": false, +"slice_45/save_to_file/path": "", +"slice_45/start_frame": 0, +"slice_46/end_frame": 0, +"slice_46/loop_mode": 0, +"slice_46/name": "", +"slice_46/save_to_file/enabled": false, +"slice_46/save_to_file/keep_custom_tracks": false, +"slice_46/save_to_file/path": "", +"slice_46/start_frame": 0, +"slice_47/end_frame": 0, +"slice_47/loop_mode": 0, +"slice_47/name": "", +"slice_47/save_to_file/enabled": false, +"slice_47/save_to_file/keep_custom_tracks": false, +"slice_47/save_to_file/path": "", +"slice_47/start_frame": 0, +"slice_48/end_frame": 0, +"slice_48/loop_mode": 0, +"slice_48/name": "", +"slice_48/save_to_file/enabled": false, +"slice_48/save_to_file/keep_custom_tracks": false, +"slice_48/save_to_file/path": "", +"slice_48/start_frame": 0, +"slice_49/end_frame": 0, +"slice_49/loop_mode": 0, +"slice_49/name": "", +"slice_49/save_to_file/enabled": false, +"slice_49/save_to_file/keep_custom_tracks": false, +"slice_49/save_to_file/path": "", +"slice_49/start_frame": 0, +"slice_5/end_frame": 0, +"slice_5/loop_mode": 0, +"slice_5/name": "", +"slice_5/save_to_file/enabled": false, +"slice_5/save_to_file/keep_custom_tracks": false, +"slice_5/save_to_file/path": "", +"slice_5/start_frame": 0, +"slice_50/end_frame": 0, +"slice_50/loop_mode": 0, +"slice_50/name": "", +"slice_50/save_to_file/enabled": false, +"slice_50/save_to_file/keep_custom_tracks": false, +"slice_50/save_to_file/path": "", +"slice_50/start_frame": 0, +"slice_51/end_frame": 0, +"slice_51/loop_mode": 0, +"slice_51/name": "", +"slice_51/save_to_file/enabled": false, +"slice_51/save_to_file/keep_custom_tracks": false, +"slice_51/save_to_file/path": "", +"slice_51/start_frame": 0, +"slice_52/end_frame": 0, +"slice_52/loop_mode": 0, +"slice_52/name": "", +"slice_52/save_to_file/enabled": false, +"slice_52/save_to_file/keep_custom_tracks": false, +"slice_52/save_to_file/path": "", +"slice_52/start_frame": 0, +"slice_53/end_frame": 0, +"slice_53/loop_mode": 0, +"slice_53/name": "", +"slice_53/save_to_file/enabled": false, +"slice_53/save_to_file/keep_custom_tracks": false, +"slice_53/save_to_file/path": "", +"slice_53/start_frame": 0, +"slice_54/end_frame": 0, +"slice_54/loop_mode": 0, +"slice_54/name": "", +"slice_54/save_to_file/enabled": false, +"slice_54/save_to_file/keep_custom_tracks": false, +"slice_54/save_to_file/path": "", +"slice_54/start_frame": 0, +"slice_55/end_frame": 0, +"slice_55/loop_mode": 0, +"slice_55/name": "", +"slice_55/save_to_file/enabled": false, +"slice_55/save_to_file/keep_custom_tracks": false, +"slice_55/save_to_file/path": "", +"slice_55/start_frame": 0, +"slice_56/end_frame": 0, +"slice_56/loop_mode": 0, +"slice_56/name": "", +"slice_56/save_to_file/enabled": false, +"slice_56/save_to_file/keep_custom_tracks": false, +"slice_56/save_to_file/path": "", +"slice_56/start_frame": 0, +"slice_57/end_frame": 0, +"slice_57/loop_mode": 0, +"slice_57/name": "", +"slice_57/save_to_file/enabled": false, +"slice_57/save_to_file/keep_custom_tracks": false, +"slice_57/save_to_file/path": "", +"slice_57/start_frame": 0, +"slice_58/end_frame": 0, +"slice_58/loop_mode": 0, +"slice_58/name": "", +"slice_58/save_to_file/enabled": false, +"slice_58/save_to_file/keep_custom_tracks": false, +"slice_58/save_to_file/path": "", +"slice_58/start_frame": 0, +"slice_59/end_frame": 0, +"slice_59/loop_mode": 0, +"slice_59/name": "", +"slice_59/save_to_file/enabled": false, +"slice_59/save_to_file/keep_custom_tracks": false, +"slice_59/save_to_file/path": "", +"slice_59/start_frame": 0, +"slice_6/end_frame": 0, +"slice_6/loop_mode": 0, +"slice_6/name": "", +"slice_6/save_to_file/enabled": false, +"slice_6/save_to_file/keep_custom_tracks": false, +"slice_6/save_to_file/path": "", +"slice_6/start_frame": 0, +"slice_60/end_frame": 0, +"slice_60/loop_mode": 0, +"slice_60/name": "", +"slice_60/save_to_file/enabled": false, +"slice_60/save_to_file/keep_custom_tracks": false, +"slice_60/save_to_file/path": "", +"slice_60/start_frame": 0, +"slice_61/end_frame": 0, +"slice_61/loop_mode": 0, +"slice_61/name": "", +"slice_61/save_to_file/enabled": false, +"slice_61/save_to_file/keep_custom_tracks": false, +"slice_61/save_to_file/path": "", +"slice_61/start_frame": 0, +"slice_62/end_frame": 0, +"slice_62/loop_mode": 0, +"slice_62/name": "", +"slice_62/save_to_file/enabled": false, +"slice_62/save_to_file/keep_custom_tracks": false, +"slice_62/save_to_file/path": "", +"slice_62/start_frame": 0, +"slice_63/end_frame": 0, +"slice_63/loop_mode": 0, +"slice_63/name": "", +"slice_63/save_to_file/enabled": false, +"slice_63/save_to_file/keep_custom_tracks": false, +"slice_63/save_to_file/path": "", +"slice_63/start_frame": 0, +"slice_64/end_frame": 0, +"slice_64/loop_mode": 0, +"slice_64/name": "", +"slice_64/save_to_file/enabled": false, +"slice_64/save_to_file/keep_custom_tracks": false, +"slice_64/save_to_file/path": "", +"slice_64/start_frame": 0, +"slice_65/end_frame": 0, +"slice_65/loop_mode": 0, +"slice_65/name": "", +"slice_65/save_to_file/enabled": false, +"slice_65/save_to_file/keep_custom_tracks": false, +"slice_65/save_to_file/path": "", +"slice_65/start_frame": 0, +"slice_66/end_frame": 0, +"slice_66/loop_mode": 0, +"slice_66/name": "", +"slice_66/save_to_file/enabled": false, +"slice_66/save_to_file/keep_custom_tracks": false, +"slice_66/save_to_file/path": "", +"slice_66/start_frame": 0, +"slice_67/end_frame": 0, +"slice_67/loop_mode": 0, +"slice_67/name": "", +"slice_67/save_to_file/enabled": false, +"slice_67/save_to_file/keep_custom_tracks": false, +"slice_67/save_to_file/path": "", +"slice_67/start_frame": 0, +"slice_68/end_frame": 0, +"slice_68/loop_mode": 0, +"slice_68/name": "", +"slice_68/save_to_file/enabled": false, +"slice_68/save_to_file/keep_custom_tracks": false, +"slice_68/save_to_file/path": "", +"slice_68/start_frame": 0, +"slice_69/end_frame": 0, +"slice_69/loop_mode": 0, +"slice_69/name": "", +"slice_69/save_to_file/enabled": false, +"slice_69/save_to_file/keep_custom_tracks": false, +"slice_69/save_to_file/path": "", +"slice_69/start_frame": 0, +"slice_7/end_frame": 0, +"slice_7/loop_mode": 0, +"slice_7/name": "", +"slice_7/save_to_file/enabled": false, +"slice_7/save_to_file/keep_custom_tracks": false, +"slice_7/save_to_file/path": "", +"slice_7/start_frame": 0, +"slice_70/end_frame": 0, +"slice_70/loop_mode": 0, +"slice_70/name": "", +"slice_70/save_to_file/enabled": false, +"slice_70/save_to_file/keep_custom_tracks": false, +"slice_70/save_to_file/path": "", +"slice_70/start_frame": 0, +"slice_71/end_frame": 0, +"slice_71/loop_mode": 0, +"slice_71/name": "", +"slice_71/save_to_file/enabled": false, +"slice_71/save_to_file/keep_custom_tracks": false, +"slice_71/save_to_file/path": "", +"slice_71/start_frame": 0, +"slice_72/end_frame": 0, +"slice_72/loop_mode": 0, +"slice_72/name": "", +"slice_72/save_to_file/enabled": false, +"slice_72/save_to_file/keep_custom_tracks": false, +"slice_72/save_to_file/path": "", +"slice_72/start_frame": 0, +"slice_73/end_frame": 0, +"slice_73/loop_mode": 0, +"slice_73/name": "", +"slice_73/save_to_file/enabled": false, +"slice_73/save_to_file/keep_custom_tracks": false, +"slice_73/save_to_file/path": "", +"slice_73/start_frame": 0, +"slice_74/end_frame": 0, +"slice_74/loop_mode": 0, +"slice_74/name": "", +"slice_74/save_to_file/enabled": false, +"slice_74/save_to_file/keep_custom_tracks": false, +"slice_74/save_to_file/path": "", +"slice_74/start_frame": 0, +"slice_75/end_frame": 0, +"slice_75/loop_mode": 0, +"slice_75/name": "", +"slice_75/save_to_file/enabled": false, +"slice_75/save_to_file/keep_custom_tracks": false, +"slice_75/save_to_file/path": "", +"slice_75/start_frame": 0, +"slice_76/end_frame": 0, +"slice_76/loop_mode": 0, +"slice_76/name": "", +"slice_76/save_to_file/enabled": false, +"slice_76/save_to_file/keep_custom_tracks": false, +"slice_76/save_to_file/path": "", +"slice_76/start_frame": 0, +"slice_77/end_frame": 0, +"slice_77/loop_mode": 0, +"slice_77/name": "", +"slice_77/save_to_file/enabled": false, +"slice_77/save_to_file/keep_custom_tracks": false, +"slice_77/save_to_file/path": "", +"slice_77/start_frame": 0, +"slice_78/end_frame": 0, +"slice_78/loop_mode": 0, +"slice_78/name": "", +"slice_78/save_to_file/enabled": false, +"slice_78/save_to_file/keep_custom_tracks": false, +"slice_78/save_to_file/path": "", +"slice_78/start_frame": 0, +"slice_79/end_frame": 0, +"slice_79/loop_mode": 0, +"slice_79/name": "", +"slice_79/save_to_file/enabled": false, +"slice_79/save_to_file/keep_custom_tracks": false, +"slice_79/save_to_file/path": "", +"slice_79/start_frame": 0, +"slice_8/end_frame": 0, +"slice_8/loop_mode": 0, +"slice_8/name": "", +"slice_8/save_to_file/enabled": false, +"slice_8/save_to_file/keep_custom_tracks": false, +"slice_8/save_to_file/path": "", +"slice_8/start_frame": 0, +"slice_80/end_frame": 0, +"slice_80/loop_mode": 0, +"slice_80/name": "", +"slice_80/save_to_file/enabled": false, +"slice_80/save_to_file/keep_custom_tracks": false, +"slice_80/save_to_file/path": "", +"slice_80/start_frame": 0, +"slice_81/end_frame": 0, +"slice_81/loop_mode": 0, +"slice_81/name": "", +"slice_81/save_to_file/enabled": false, +"slice_81/save_to_file/keep_custom_tracks": false, +"slice_81/save_to_file/path": "", +"slice_81/start_frame": 0, +"slice_82/end_frame": 0, +"slice_82/loop_mode": 0, +"slice_82/name": "", +"slice_82/save_to_file/enabled": false, +"slice_82/save_to_file/keep_custom_tracks": false, +"slice_82/save_to_file/path": "", +"slice_82/start_frame": 0, +"slice_83/end_frame": 0, +"slice_83/loop_mode": 0, +"slice_83/name": "", +"slice_83/save_to_file/enabled": false, +"slice_83/save_to_file/keep_custom_tracks": false, +"slice_83/save_to_file/path": "", +"slice_83/start_frame": 0, +"slice_84/end_frame": 0, +"slice_84/loop_mode": 0, +"slice_84/name": "", +"slice_84/save_to_file/enabled": false, +"slice_84/save_to_file/keep_custom_tracks": false, +"slice_84/save_to_file/path": "", +"slice_84/start_frame": 0, +"slice_85/end_frame": 0, +"slice_85/loop_mode": 0, +"slice_85/name": "", +"slice_85/save_to_file/enabled": false, +"slice_85/save_to_file/keep_custom_tracks": false, +"slice_85/save_to_file/path": "", +"slice_85/start_frame": 0, +"slice_86/end_frame": 0, +"slice_86/loop_mode": 0, +"slice_86/name": "", +"slice_86/save_to_file/enabled": false, +"slice_86/save_to_file/keep_custom_tracks": false, +"slice_86/save_to_file/path": "", +"slice_86/start_frame": 0, +"slice_87/end_frame": 0, +"slice_87/loop_mode": 0, +"slice_87/name": "", +"slice_87/save_to_file/enabled": false, +"slice_87/save_to_file/keep_custom_tracks": false, +"slice_87/save_to_file/path": "", +"slice_87/start_frame": 0, +"slice_88/end_frame": 0, +"slice_88/loop_mode": 0, +"slice_88/name": "", +"slice_88/save_to_file/enabled": false, +"slice_88/save_to_file/keep_custom_tracks": false, +"slice_88/save_to_file/path": "", +"slice_88/start_frame": 0, +"slice_89/end_frame": 0, +"slice_89/loop_mode": 0, +"slice_89/name": "", +"slice_89/save_to_file/enabled": false, +"slice_89/save_to_file/keep_custom_tracks": false, +"slice_89/save_to_file/path": "", +"slice_89/start_frame": 0, +"slice_9/end_frame": 0, +"slice_9/loop_mode": 0, +"slice_9/name": "", +"slice_9/save_to_file/enabled": false, +"slice_9/save_to_file/keep_custom_tracks": false, +"slice_9/save_to_file/path": "", +"slice_9/start_frame": 0, +"slice_90/end_frame": 0, +"slice_90/loop_mode": 0, +"slice_90/name": "", +"slice_90/save_to_file/enabled": false, +"slice_90/save_to_file/keep_custom_tracks": false, +"slice_90/save_to_file/path": "", +"slice_90/start_frame": 0, +"slice_91/end_frame": 0, +"slice_91/loop_mode": 0, +"slice_91/name": "", +"slice_91/save_to_file/enabled": false, +"slice_91/save_to_file/keep_custom_tracks": false, +"slice_91/save_to_file/path": "", +"slice_91/start_frame": 0, +"slice_92/end_frame": 0, +"slice_92/loop_mode": 0, +"slice_92/name": "", +"slice_92/save_to_file/enabled": false, +"slice_92/save_to_file/keep_custom_tracks": false, +"slice_92/save_to_file/path": "", +"slice_92/start_frame": 0, +"slice_93/end_frame": 0, +"slice_93/loop_mode": 0, +"slice_93/name": "", +"slice_93/save_to_file/enabled": false, +"slice_93/save_to_file/keep_custom_tracks": false, +"slice_93/save_to_file/path": "", +"slice_93/start_frame": 0, +"slice_94/end_frame": 0, +"slice_94/loop_mode": 0, +"slice_94/name": "", +"slice_94/save_to_file/enabled": false, +"slice_94/save_to_file/keep_custom_tracks": false, +"slice_94/save_to_file/path": "", +"slice_94/start_frame": 0, +"slice_95/end_frame": 0, +"slice_95/loop_mode": 0, +"slice_95/name": "", +"slice_95/save_to_file/enabled": false, +"slice_95/save_to_file/keep_custom_tracks": false, +"slice_95/save_to_file/path": "", +"slice_95/start_frame": 0, +"slice_96/end_frame": 0, +"slice_96/loop_mode": 0, +"slice_96/name": "", +"slice_96/save_to_file/enabled": false, +"slice_96/save_to_file/keep_custom_tracks": false, +"slice_96/save_to_file/path": "", +"slice_96/start_frame": 0, +"slice_97/end_frame": 0, +"slice_97/loop_mode": 0, +"slice_97/name": "", +"slice_97/save_to_file/enabled": false, +"slice_97/save_to_file/keep_custom_tracks": false, +"slice_97/save_to_file/path": "", +"slice_97/start_frame": 0, +"slice_98/end_frame": 0, +"slice_98/loop_mode": 0, +"slice_98/name": "", +"slice_98/save_to_file/enabled": false, +"slice_98/save_to_file/keep_custom_tracks": false, +"slice_98/save_to_file/path": "", +"slice_98/start_frame": 0, +"slice_99/end_frame": 0, +"slice_99/loop_mode": 0, +"slice_99/name": "", +"slice_99/save_to_file/enabled": false, +"slice_99/save_to_file/keep_custom_tracks": false, +"slice_99/save_to_file/path": "", +"slice_99/start_frame": 0, +"slices/amount": 0 +} +} +} +gltf/naming_version=1 +gltf/embedded_image_handling=1 diff --git a/game/enemy/enemyMAT.tres b/game/enemy/enemyMAT.tres new file mode 100644 index 0000000..49e7cfc --- /dev/null +++ b/game/enemy/enemyMAT.tres @@ -0,0 +1,9 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://8lr2nnsuau40"] + +[ext_resource type="Texture2D" uid="uid://diur3po2goylf" path="res://game/enemy/Enemy - Albedo.png" id="1_avjm3"] + +[resource] +albedo_texture = ExtResource("1_avjm3") +emission_enabled = true +emission_energy_multiplier = 1.82 +emission_texture = ExtResource("1_avjm3") diff --git a/game/enemy/enemyModel.tscn b/game/enemy/enemyModel.tscn new file mode 100644 index 0000000..64c5bdf --- /dev/null +++ b/game/enemy/enemyModel.tscn @@ -0,0 +1,43 @@ +[gd_scene load_steps=2 format=3 uid="uid://bhalhwyqs3jo3"] + +[ext_resource type="PackedScene" uid="uid://w0tn1cue5cqo" path="res://game/enemy/enemy.gltf" id="1_qccwu"] + +[node name="enemy" instance=ExtResource("1_qccwu")] + +[node name="Skeleton3D" parent="Armature" index="0"] +bones/0/rotation = Quaternion(0.5, -0.5, 0.5, -0.5) +bones/1/rotation = Quaternion(-0.0350249, -4.4089e-16, -1.53099e-09, 0.999386) +bones/1/scale = Vector3(1, 1, 1) +bones/4/rotation = Quaternion(0.0350249, -1.32441e-15, 1.53098e-09, 0.999386) +bones/4/scale = Vector3(1, 1, 1) +bones/7/rotation = Quaternion(-0.565048, -0.420318, 0.579866, -0.409645) +bones/8/rotation = Quaternion(0.239033, -0.1236, 0.0306915, 0.962624) +bones/8/scale = Vector3(1, 1, 1) +bones/9/rotation = Quaternion(0.0783596, 0.00672053, 0.0851826, 0.993257) +bones/9/scale = Vector3(1, 1, 1) +bones/10/rotation = Quaternion(-0.00844513, -0.000768531, 0.0904027, 0.995869) +bones/11/rotation = Quaternion(-0.0424865, -0.00125064, 0.029454, 0.998662) +bones/11/scale = Vector3(1, 1, 1) +bones/15/rotation = Quaternion(0.566763, -0.419052, 0.578352, 0.410711) +bones/15/scale = Vector3(1, 1, 1) +bones/16/rotation = Quaternion(0.237471, 0.111534, -0.0274587, 0.96458) +bones/17/rotation = Quaternion(0.0768254, -0.00694117, -0.089714, 0.992976) +bones/18/rotation = Quaternion(-0.00311726, 0.000370252, -0.117716, 0.993042) +bones/18/scale = Vector3(1, 1, 1) +bones/19/rotation = Quaternion(-0.0470433, 0.000500587, -0.0105985, 0.998837) +bones/20/rotation = Quaternion(-9.31323e-07, -1.51619e-06, -1.96509e-06, 1) +bones/21/rotation = Quaternion(4.4331e-07, -9.53674e-07, -2.30968e-07, 1) +bones/23/rotation = Quaternion(0.000247483, -0.0515991, 0.998657, 0.00469269) +bones/23/scale = Vector3(1, 1, 1.00003) +bones/24/rotation = Quaternion(0.0508593, -0.00111411, -0.0219409, 0.998464) +bones/24/scale = Vector3(1, 1, 1) +bones/25/rotation = Quaternion(0.436641, 0.0020866, -0.00101276, 0.899633) +bones/25/scale = Vector3(1, 1, 1) +bones/26/rotation = Quaternion(0.314603, 0.11539, -0.0385619, 0.941394) +bones/28/rotation = Quaternion(-0.000259857, -0.0541046, 0.998524, -0.00468949) +bones/28/scale = Vector3(1, 1, 1.00003) +bones/29/rotation = Quaternion(0.0547636, 0.00119991, 0.021961, 0.998257) +bones/29/scale = Vector3(1, 1, 1) +bones/30/rotation = Quaternion(0.432059, -0.00220628, 0.00105706, 0.901842) +bones/31/rotation = Quaternion(0.317919, -0.115341, 0.0389987, 0.940267) +bones/31/scale = Vector3(1, 1, 1) diff --git a/game/enemy/enemyWalkLib.tres b/game/enemy/enemyWalkLib.tres new file mode 100644 index 0000000..69a12a1 --- /dev/null +++ b/game/enemy/enemyWalkLib.tres @@ -0,0 +1,8 @@ +[gd_resource type="AnimationLibrary" load_steps=2 format=3 uid="uid://djq5h1cmgke6m"] + +[ext_resource type="Animation" uid="uid://bberivhslhhh0" path="res://game/enemy/enemy_stagger.res" id="1_w3577"] + +[resource] +_data = { +"enemy_stagger": ExtResource("1_w3577") +} diff --git a/game/enemy/enemy_stagger.res b/game/enemy/enemy_stagger.res new file mode 100644 index 0000000..12411a8 Binary files /dev/null and b/game/enemy/enemy_stagger.res differ diff --git a/game/interactables/switch/SwitchBody.tres b/game/interactables/switch/SwitchBody.tres new file mode 100644 index 0000000..19d8114 --- /dev/null +++ b/game/interactables/switch/SwitchBody.tres @@ -0,0 +1,21 @@ +[gd_resource type="StandardMaterial3D" load_steps=6 format=3 uid="uid://bmkt6kjshgpa2"] + +[ext_resource type="Texture2D" uid="uid://dvw8qjquqn1nn" path="res://game/interactables/switch/switchBase - Albedo.png" id="1_vh7tg"] +[ext_resource type="Texture2D" uid="uid://c7qru7m4bigro" path="res://game/interactables/switch/switchBase - Emmission.png" id="2_u4hol"] +[ext_resource type="Texture2D" uid="uid://jn8i4h1cbe2v" path="res://game/interactables/switch/switchBase - Metallic.png" id="3_p88ht"] +[ext_resource type="Texture2D" uid="uid://dvmretpbidh2c" path="res://game/interactables/switch/switchBase - Normal.png" id="4_2gk3p"] +[ext_resource type="Texture2D" uid="uid://b2bbsk45laonb" path="res://game/interactables/switch/switchBase - Roughness.png" id="5_gav25"] + +[resource] +albedo_texture = ExtResource("1_vh7tg") +metallic = 1.0 +metallic_texture = ExtResource("3_p88ht") +metallic_texture_channel = 4 +roughness_texture = ExtResource("5_gav25") +roughness_texture_channel = 4 +emission_enabled = true +emission_energy_multiplier = 2.0 +emission_texture = ExtResource("2_u4hol") +normal_enabled = true +normal_scale = 2.0 +normal_texture = ExtResource("4_2gk3p") diff --git a/game/interactables/switch/SwitchHandle.tres b/game/interactables/switch/SwitchHandle.tres new file mode 100644 index 0000000..2481d1e --- /dev/null +++ b/game/interactables/switch/SwitchHandle.tres @@ -0,0 +1,21 @@ +[gd_resource type="StandardMaterial3D" load_steps=6 format=3 uid="uid://d1r28kkot7tj6"] + +[ext_resource type="Texture2D" uid="uid://bk18s7bsc2b6g" path="res://game/interactables/switch/switchHandle - Albedo.png" id="1_1jc6s"] +[ext_resource type="Texture2D" uid="uid://q8jjkcq0ahxj" path="res://game/interactables/switch/switchHandle - Emmission.png" id="2_xw36p"] +[ext_resource type="Texture2D" uid="uid://b6q7fuhqis5qo" path="res://game/interactables/switch/switchHandle - Metallic.png" id="3_trrvd"] +[ext_resource type="Texture2D" uid="uid://mle1lwv4i8rg" path="res://game/interactables/switch/switchHandle - Normal.png" id="4_qko7t"] +[ext_resource type="Texture2D" uid="uid://7u17l0adkj6u" path="res://game/interactables/switch/switchHandle - Roughness.png" id="5_0c7sf"] + +[resource] +albedo_texture = ExtResource("1_1jc6s") +metallic = 1.0 +metallic_texture = ExtResource("3_trrvd") +metallic_texture_channel = 4 +roughness_texture = ExtResource("5_0c7sf") +roughness_texture_channel = 4 +emission_enabled = true +emission_energy_multiplier = 2.0 +emission_texture = ExtResource("2_xw36p") +normal_enabled = true +normal_scale = 0.65 +normal_texture = ExtResource("4_qko7t") diff --git a/game/interactables/switch/slider_smooth.tscn b/game/interactables/switch/slider_smooth.tscn index c04966c..3b48150 100644 --- a/game/interactables/switch/slider_smooth.tscn +++ b/game/interactables/switch/slider_smooth.tscn @@ -1,32 +1,114 @@ -[gd_scene load_steps=17 format=3 uid="uid://e02yhmvy178a"] +[gd_scene load_steps=29 format=3 uid="uid://e02yhmvy178a"] [ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_slider.gd" id="1_anw5d"] +[ext_resource type="Material" uid="uid://bmkt6kjshgpa2" path="res://game/interactables/switch/SwitchBody.tres" id="1_fu85j"] +[ext_resource type="Texture2D" uid="uid://dvw8qjquqn1nn" path="res://game/interactables/switch/switchBase - Albedo.png" id="1_ktt3k"] [ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="2_6b3ab"] +[ext_resource type="Texture2D" uid="uid://c7qru7m4bigro" path="res://game/interactables/switch/switchBase - Emmission.png" id="2_774b1"] +[ext_resource type="Texture2D" uid="uid://dvmretpbidh2c" path="res://game/interactables/switch/switchBase - Normal.png" id="3_5dy6c"] [ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="5_6b8ni"] [ext_resource type="Animation" uid="uid://db62hs5s4n2b3" path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.res" id="5_23n5x"] +[ext_resource type="Texture2D" uid="uid://bk18s7bsc2b6g" path="res://game/interactables/switch/switchHandle - Albedo.png" id="5_g1bj0"] +[ext_resource type="Material" uid="uid://d1r28kkot7tj6" path="res://game/interactables/switch/SwitchHandle.tres" id="6_3yqsx"] +[ext_resource type="Texture2D" uid="uid://q8jjkcq0ahxj" path="res://game/interactables/switch/switchHandle - Emmission.png" id="6_5e0ki"] [ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="6_cjolq"] +[ext_resource type="Texture2D" uid="uid://mle1lwv4i8rg" path="res://game/interactables/switch/switchHandle - Normal.png" id="7_1ylh2"] [ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="7_se44d"] [ext_resource type="Script" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_redirect.gd" id="8_470te"] [ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="8_ouv7a"] -[sub_resource type="BoxShape3D" id="BoxShape3D_iggvr"] -size = Vector3(0.19873, 0.598206, 0.196777) - -[sub_resource type="BoxMesh" id="BoxMesh_rxj3w"] -size = Vector3(0.2, 0.6, 0.2) - -[sub_resource type="BoxShape3D" id="BoxShape3D_cpxd2"] -size = Vector3(0.0407267, 0.0404663, 0.200228) - -[sub_resource type="BoxMesh" id="BoxMesh_g63ay"] -size = Vector3(0.04, 0.04, 0.2) - -[sub_resource type="SphereShape3D" id="SphereShape3D_kfd02"] -radius = 0.0603785 +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vmp8a"] +resource_name = "Material.001" +cull_mode = 2 +albedo_texture = ExtResource("1_ktt3k") +metallic = 1.0 +metallic_texture_channel = 2 +roughness_texture_channel = 1 +emission_enabled = true +emission_texture = ExtResource("2_774b1") +normal_enabled = true +normal_texture = ExtResource("3_5dy6c") + +[sub_resource type="ArrayMesh" id="ArrayMesh_4qjo7"] +_surfaces = [{ +"aabb": AABB(-2, -2, -1, 2.6, 4, 2.00001), +"format": 34896613377, +"index_count": 804, +"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 5, 0, 13, 0, 7, 0, 5, 0, 19, 0, 13, 0, 11, 0, 5, 0, 7, 0, 5, 0, 25, 0, 8, 0, 24, 0, 5, 0, 11, 0, 5, 0, 24, 0, 25, 0, 51, 0, 73, 0, 48, 0, 51, 0, 74, 0, 73, 0, 6, 0, 16, 0, 4, 0, 6, 0, 14, 0, 16, 0, 2, 0, 12, 0, 3, 0, 2, 0, 15, 0, 12, 0, 2, 0, 17, 0, 15, 0, 2, 0, 0, 0, 17, 0, 4, 0, 19, 0, 5, 0, 4, 0, 16, 0, 19, 0, 7, 0, 14, 0, 6, 0, 7, 0, 13, 0, 14, 0, 17, 0, 1, 0, 18, 0, 17, 0, 0, 0, 1, 0, 13, 0, 15, 0, 14, 0, 13, 0, 12, 0, 15, 0, 17, 0, 14, 0, 15, 0, 17, 0, 16, 0, 14, 0, 12, 0, 19, 0, 18, 0, 12, 0, 13, 0, 19, 0, 18, 0, 16, 0, 17, 0, 18, 0, 19, 0, 16, 0, 12, 0, 1, 0, 3, 0, 12, 0, 18, 0, 1, 0, 10, 0, 7, 0, 6, 0, 7, 0, 26, 0, 11, 0, 27, 0, 7, 0, 10, 0, 7, 0, 27, 0, 26, 0, 8, 0, 4, 0, 5, 0, 4, 0, 21, 0, 9, 0, 20, 0, 4, 0, 8, 0, 4, 0, 20, 0, 21, 0, 9, 0, 6, 0, 4, 0, 6, 0, 23, 0, 10, 0, 22, 0, 6, 0, 9, 0, 6, 0, 22, 0, 23, 0, 41, 0, 67, 0, 42, 0, 41, 0, 64, 0, 67, 0, 52, 0, 76, 0, 53, 0, 52, 0, 77, 0, 76, 0, 47, 0, 69, 0, 44, 0, 47, 0, 70, 0, 69, 0, 24, 0, 35, 0, 25, 0, 24, 0, 34, 0, 35, 0, 48, 0, 72, 0, 49, 0, 48, 0, 73, 0, 72, 0, 28, 0, 38, 0, 30, 0, 28, 0, 36, 0, 38, 0, 43, 0, 65, 0, 40, 0, 43, 0, 66, 0, 65, 0, 30, 0, 34, 0, 24, 0, 30, 0, 38, 0, 34, 0, 33, 0, 37, 0, 36, 0, 33, 0, 32, 0, 37, 0, 36, 0, 39, 0, 38, 0, 36, 0, 37, 0, 39, 0, 38, 0, 35, 0, 34, 0, 38, 0, 39, 0, 35, 0, 22, 0, 33, 0, 23, 0, 22, 0, 32, 0, 33, 0, 23, 0, 36, 0, 28, 0, 23, 0, 33, 0, 36, 0, 25, 0, 39, 0, 31, 0, 25, 0, 35, 0, 39, 0, 31, 0, 37, 0, 29, 0, 31, 0, 39, 0, 37, 0, 29, 0, 32, 0, 22, 0, 29, 0, 37, 0, 32, 0, 31, 0, 41, 0, 25, 0, 31, 0, 40, 0, 41, 0, 25, 0, 42, 0, 8, 0, 25, 0, 41, 0, 42, 0, 8, 0, 43, 0, 20, 0, 8, 0, 42, 0, 43, 0, 20, 0, 40, 0, 31, 0, 20, 0, 43, 0, 40, 0, 22, 0, 45, 0, 29, 0, 22, 0, 44, 0, 45, 0, 29, 0, 46, 0, 21, 0, 29, 0, 45, 0, 46, 0, 21, 0, 47, 0, 9, 0, 21, 0, 46, 0, 47, 0, 9, 0, 44, 0, 22, 0, 9, 0, 47, 0, 44, 0, 29, 0, 49, 0, 31, 0, 29, 0, 48, 0, 49, 0, 31, 0, 50, 0, 20, 0, 31, 0, 49, 0, 50, 0, 20, 0, 51, 0, 21, 0, 20, 0, 50, 0, 51, 0, 21, 0, 48, 0, 29, 0, 21, 0, 51, 0, 48, 0, 10, 0, 53, 0, 27, 0, 10, 0, 52, 0, 53, 0, 27, 0, 54, 0, 28, 0, 27, 0, 53, 0, 54, 0, 28, 0, 55, 0, 23, 0, 28, 0, 54, 0, 55, 0, 23, 0, 52, 0, 10, 0, 23, 0, 55, 0, 52, 0, 27, 0, 57, 0, 26, 0, 27, 0, 56, 0, 57, 0, 26, 0, 58, 0, 30, 0, 26, 0, 57, 0, 58, 0, 30, 0, 59, 0, 28, 0, 30, 0, 58, 0, 59, 0, 28, 0, 56, 0, 27, 0, 28, 0, 59, 0, 56, 0, 26, 0, 61, 0, 11, 0, 26, 0, 60, 0, 61, 0, 11, 0, 62, 0, 24, 0, 11, 0, 61, 0, 62, 0, 24, 0, 63, 0, 30, 0, 24, 0, 62, 0, 63, 0, 30, 0, 60, 0, 26, 0, 30, 0, 63, 0, 60, 0, 101, 0, 127, 0, 102, 0, 101, 0, 124, 0, 127, 0, 94, 0, 118, 0, 95, 0, 94, 0, 119, 0, 118, 0, 107, 0, 129, 0, 104, 0, 107, 0, 130, 0, 129, 0, 97, 0, 123, 0, 98, 0, 97, 0, 120, 0, 123, 0, 90, 0, 114, 0, 91, 0, 90, 0, 115, 0, 114, 0, 108, 0, 132, 0, 109, 0, 108, 0, 133, 0, 132, 0, 56, 0, 80, 0, 57, 0, 56, 0, 81, 0, 80, 0, 45, 0, 71, 0, 46, 0, 45, 0, 68, 0, 71, 0, 55, 0, 77, 0, 52, 0, 55, 0, 78, 0, 77, 0, 60, 0, 84, 0, 61, 0, 60, 0, 85, 0, 84, 0, 42, 0, 66, 0, 43, 0, 42, 0, 67, 0, 66, 0, 49, 0, 75, 0, 50, 0, 49, 0, 72, 0, 75, 0, 59, 0, 81, 0, 56, 0, 59, 0, 82, 0, 81, 0, 46, 0, 70, 0, 47, 0, 46, 0, 71, 0, 70, 0, 53, 0, 79, 0, 54, 0, 53, 0, 76, 0, 79, 0, 63, 0, 85, 0, 60, 0, 63, 0, 86, 0, 85, 0, 50, 0, 74, 0, 51, 0, 50, 0, 75, 0, 74, 0, 57, 0, 83, 0, 58, 0, 57, 0, 80, 0, 83, 0, 54, 0, 78, 0, 55, 0, 54, 0, 79, 0, 78, 0, 61, 0, 87, 0, 62, 0, 61, 0, 84, 0, 87, 0, 58, 0, 82, 0, 59, 0, 58, 0, 83, 0, 82, 0, 62, 0, 86, 0, 63, 0, 62, 0, 87, 0, 86, 0, 40, 0, 64, 0, 41, 0, 40, 0, 65, 0, 64, 0, 44, 0, 68, 0, 45, 0, 44, 0, 69, 0, 68, 0, 65, 0, 89, 0, 64, 0, 65, 0, 88, 0, 89, 0, 64, 0, 90, 0, 67, 0, 64, 0, 89, 0, 90, 0, 67, 0, 91, 0, 66, 0, 67, 0, 90, 0, 91, 0, 66, 0, 88, 0, 65, 0, 66, 0, 91, 0, 88, 0, 69, 0, 93, 0, 68, 0, 69, 0, 92, 0, 93, 0, 68, 0, 94, 0, 71, 0, 68, 0, 93, 0, 94, 0, 71, 0, 95, 0, 70, 0, 71, 0, 94, 0, 95, 0, 70, 0, 92, 0, 69, 0, 70, 0, 95, 0, 92, 0, 73, 0, 97, 0, 72, 0, 73, 0, 96, 0, 97, 0, 72, 0, 98, 0, 75, 0, 72, 0, 97, 0, 98, 0, 75, 0, 99, 0, 74, 0, 75, 0, 98, 0, 99, 0, 74, 0, 96, 0, 73, 0, 74, 0, 99, 0, 96, 0, 77, 0, 101, 0, 76, 0, 77, 0, 100, 0, 101, 0, 76, 0, 102, 0, 79, 0, 76, 0, 101, 0, 102, 0, 79, 0, 103, 0, 78, 0, 79, 0, 102, 0, 103, 0, 78, 0, 100, 0, 77, 0, 78, 0, 103, 0, 100, 0, 81, 0, 105, 0, 80, 0, 81, 0, 104, 0, 105, 0, 80, 0, 106, 0, 83, 0, 80, 0, 105, 0, 106, 0, 83, 0, 107, 0, 82, 0, 83, 0, 106, 0, 107, 0, 82, 0, 104, 0, 81, 0, 82, 0, 107, 0, 104, 0, 85, 0, 109, 0, 84, 0, 85, 0, 108, 0, 109, 0, 84, 0, 110, 0, 87, 0, 84, 0, 109, 0, 110, 0, 87, 0, 111, 0, 86, 0, 87, 0, 110, 0, 111, 0, 86, 0, 108, 0, 85, 0, 86, 0, 111, 0, 108, 0, 113, 0, 115, 0, 112, 0, 113, 0, 114, 0, 115, 0, 117, 0, 119, 0, 116, 0, 117, 0, 118, 0, 119, 0, 121, 0, 123, 0, 120, 0, 121, 0, 122, 0, 123, 0, 125, 0, 127, 0, 124, 0, 125, 0, 126, 0, 127, 0, 129, 0, 131, 0, 128, 0, 129, 0, 130, 0, 131, 0, 133, 0, 135, 0, 132, 0, 133, 0, 134, 0, 135, 0, 111, 0, 133, 0, 108, 0, 111, 0, 134, 0, 133, 0, 98, 0, 122, 0, 99, 0, 98, 0, 123, 0, 122, 0, 105, 0, 131, 0, 106, 0, 105, 0, 128, 0, 131, 0, 102, 0, 126, 0, 103, 0, 102, 0, 127, 0, 126, 0, 109, 0, 135, 0, 110, 0, 109, 0, 132, 0, 135, 0, 106, 0, 130, 0, 107, 0, 106, 0, 131, 0, 130, 0, 110, 0, 134, 0, 111, 0, 110, 0, 135, 0, 134, 0, 88, 0, 112, 0, 89, 0, 88, 0, 113, 0, 112, 0, 92, 0, 116, 0, 93, 0, 92, 0, 117, 0, 116, 0, 91, 0, 113, 0, 88, 0, 91, 0, 114, 0, 113, 0, 96, 0, 120, 0, 97, 0, 96, 0, 121, 0, 120, 0, 95, 0, 117, 0, 92, 0, 95, 0, 118, 0, 117, 0, 100, 0, 124, 0, 101, 0, 100, 0, 125, 0, 124, 0, 89, 0, 115, 0, 90, 0, 89, 0, 112, 0, 115, 0, 99, 0, 121, 0, 96, 0, 99, 0, 122, 0, 121, 0, 104, 0, 128, 0, 105, 0, 104, 0, 129, 0, 128, 0, 93, 0, 119, 0, 94, 0, 93, 0, 116, 0, 119, 0, 103, 0, 125, 0, 100, 0, 103, 0, 126, 0, 125, 0), +"name": "Material.001", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 136, +"vertex_data": PackedByteArray(0, 0, 0, 0, 254, 255, 0, 0, 0, 0, 255, 255, 254, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 255, 255, 124, 19, 84, 220, 0, 0, 255, 255, 130, 236, 84, 220, 0, 0, 255, 255, 124, 19, 169, 35, 0, 0, 255, 255, 130, 236, 169, 35, 0, 0, 234, 230, 130, 236, 84, 220, 0, 0, 234, 230, 124, 19, 84, 220, 0, 0, 234, 230, 124, 19, 169, 35, 0, 0, 234, 230, 130, 236, 169, 35, 0, 0, 227, 246, 255, 255, 0, 0, 0, 0, 255, 255, 19, 250, 215, 11, 0, 0, 255, 255, 235, 5, 215, 11, 0, 0, 227, 246, 0, 0, 0, 0, 0, 0, 255, 255, 235, 5, 39, 244, 0, 0, 227, 246, 0, 0, 254, 255, 0, 0, 227, 246, 255, 255, 254, 255, 0, 0, 255, 255, 19, 250, 39, 244, 0, 0, 234, 230, 200, 186, 84, 220, 0, 0, 234, 230, 54, 69, 84, 220, 0, 0, 234, 230, 124, 19, 198, 158, 0, 0, 234, 230, 124, 19, 56, 97, 0, 0, 234, 230, 130, 236, 56, 97, 0, 0, 234, 230, 130, 236, 198, 158, 0, 0, 234, 230, 200, 186, 169, 35, 0, 0, 234, 230, 54, 69, 169, 35, 0, 0, 234, 230, 54, 69, 56, 97, 0, 0, 234, 230, 54, 69, 198, 158, 0, 0, 234, 230, 200, 186, 56, 97, 0, 0, 234, 230, 200, 186, 198, 158, 0, 0, 17, 221, 124, 19, 198, 158, 0, 0, 17, 221, 124, 19, 56, 97, 0, 0, 17, 221, 130, 236, 56, 97, 0, 0, 17, 221, 130, 236, 198, 158, 0, 0, 17, 221, 54, 69, 56, 97, 0, 0, 17, 221, 54, 69, 198, 158, 0, 0, 17, 221, 200, 186, 56, 97, 0, 0, 17, 221, 200, 186, 198, 158, 0, 0, 234, 230, 204, 191, 206, 168, 0, 0, 234, 230, 126, 231, 206, 168, 0, 0, 234, 230, 126, 231, 77, 210, 0, 0, 234, 230, 204, 191, 77, 210, 0, 0, 234, 230, 128, 24, 206, 168, 0, 0, 234, 230, 50, 64, 206, 168, 0, 0, 234, 230, 50, 64, 77, 210, 0, 0, 234, 230, 128, 24, 77, 210, 0, 0, 234, 230, 58, 74, 206, 168, 0, 0, 234, 230, 196, 181, 206, 168, 0, 0, 234, 230, 196, 181, 77, 210, 0, 0, 234, 230, 58, 74, 77, 210, 0, 0, 234, 230, 128, 24, 177, 45, 0, 0, 234, 230, 50, 64, 177, 45, 0, 0, 234, 230, 50, 64, 48, 87, 0, 0, 234, 230, 128, 24, 48, 87, 0, 0, 234, 230, 58, 74, 177, 45, 0, 0, 234, 230, 196, 181, 177, 45, 0, 0, 234, 230, 196, 181, 48, 87, 0, 0, 234, 230, 58, 74, 48, 87, 0, 0, 234, 230, 204, 191, 177, 45, 0, 0, 234, 230, 126, 231, 177, 45, 0, 0, 234, 230, 126, 231, 48, 87, 0, 0, 234, 230, 204, 191, 48, 87, 0, 0, 49, 226, 126, 231, 206, 168, 0, 0, 49, 226, 204, 191, 206, 168, 0, 0, 49, 226, 204, 191, 77, 210, 0, 0, 49, 226, 126, 231, 77, 210, 0, 0, 49, 226, 50, 64, 206, 168, 0, 0, 49, 226, 128, 24, 206, 168, 0, 0, 49, 226, 128, 24, 77, 210, 0, 0, 49, 226, 50, 64, 77, 210, 0, 0, 49, 226, 196, 181, 206, 168, 0, 0, 49, 226, 58, 74, 206, 168, 0, 0, 49, 226, 58, 74, 77, 210, 0, 0, 49, 226, 196, 181, 77, 210, 0, 0, 49, 226, 50, 64, 177, 45, 0, 0, 49, 226, 128, 24, 177, 45, 0, 0, 49, 226, 128, 24, 48, 87, 0, 0, 49, 226, 50, 64, 48, 87, 0, 0, 49, 226, 196, 181, 177, 45, 0, 0, 49, 226, 58, 74, 177, 45, 0, 0, 49, 226, 58, 74, 48, 87, 0, 0, 49, 226, 196, 181, 48, 87, 0, 0, 49, 226, 126, 231, 177, 45, 0, 0, 49, 226, 204, 191, 177, 45, 0, 0, 49, 226, 204, 191, 48, 87, 0, 0, 49, 226, 126, 231, 48, 87, 0, 0, 49, 226, 78, 196, 208, 177, 0, 0, 49, 226, 253, 226, 208, 177, 0, 0, 49, 226, 253, 226, 74, 201, 0, 0, 49, 226, 78, 196, 74, 201, 0, 0, 49, 226, 1, 29, 208, 177, 0, 0, 49, 226, 176, 59, 208, 177, 0, 0, 49, 226, 176, 59, 74, 201, 0, 0, 49, 226, 1, 29, 74, 201, 0, 0, 49, 226, 187, 78, 208, 177, 0, 0, 49, 226, 67, 177, 208, 177, 0, 0, 49, 226, 67, 177, 74, 201, 0, 0, 49, 226, 187, 78, 74, 201, 0, 0, 49, 226, 1, 29, 180, 54, 0, 0, 49, 226, 176, 59, 180, 54, 0, 0, 49, 226, 176, 59, 45, 78, 0, 0, 49, 226, 1, 29, 45, 78, 0, 0, 49, 226, 187, 78, 180, 54, 0, 0, 49, 226, 67, 177, 180, 54, 0, 0, 49, 226, 67, 177, 45, 78, 0, 0, 49, 226, 187, 78, 45, 78, 0, 0, 49, 226, 78, 196, 180, 54, 0, 0, 49, 226, 253, 226, 180, 54, 0, 0, 49, 226, 253, 226, 45, 78, 0, 0, 49, 226, 78, 196, 45, 78, 0, 0, 38, 229, 253, 226, 208, 177, 0, 0, 38, 229, 78, 196, 208, 177, 0, 0, 38, 229, 78, 196, 74, 201, 0, 0, 38, 229, 253, 226, 74, 201, 0, 0, 38, 229, 176, 59, 208, 177, 0, 0, 38, 229, 1, 29, 208, 177, 0, 0, 38, 229, 1, 29, 74, 201, 0, 0, 38, 229, 176, 59, 74, 201, 0, 0, 38, 229, 67, 177, 208, 177, 0, 0, 38, 229, 187, 78, 208, 177, 0, 0, 38, 229, 187, 78, 74, 201, 0, 0, 38, 229, 67, 177, 74, 201, 0, 0, 38, 229, 176, 59, 180, 54, 0, 0, 38, 229, 1, 29, 180, 54, 0, 0, 38, 229, 1, 29, 45, 78, 0, 0, 38, 229, 176, 59, 45, 78, 0, 0, 38, 229, 67, 177, 180, 54, 0, 0, 38, 229, 187, 78, 180, 54, 0, 0, 38, 229, 187, 78, 45, 78, 0, 0, 38, 229, 67, 177, 45, 78, 0, 0, 38, 229, 253, 226, 180, 54, 0, 0, 38, 229, 78, 196, 180, 54, 0, 0, 38, 229, 78, 196, 45, 78, 0, 0, 38, 229, 253, 226, 45, 78, 0, 0) +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_hq5q4"] +resource_name = "switchBase - Textures_Cube_001" +_surfaces = [{ +"aabb": AABB(-2, -2, -1, 2.6, 4, 2.00001), +"attribute_data": PackedByteArray(194, 61, 142, 9, 74, 162, 20, 133, 58, 165, 198, 51, 194, 61, 36, 130, 178, 64, 140, 54, 74, 162, 134, 254, 120, 1, 142, 9, 105, 80, 20, 133, 132, 225, 198, 51, 120, 1, 36, 130, 105, 80, 134, 254, 253, 124, 140, 54, 6, 89, 156, 51, 175, 218, 194, 139, 175, 218, 194, 139, 229, 240, 77, 152, 100, 75, 156, 51, 175, 218, 18, 245, 175, 218, 18, 245, 229, 240, 134, 254, 6, 89, 30, 8, 225, 173, 194, 139, 225, 173, 194, 139, 71, 230, 77, 152, 100, 75, 30, 8, 225, 173, 18, 245, 225, 173, 18, 245, 71, 230, 134, 254, 182, 67, 156, 51, 220, 159, 36, 130, 147, 248, 134, 254, 88, 81, 156, 51, 220, 159, 234, 27, 147, 248, 77, 152, 88, 81, 30, 8, 237, 127, 234, 27, 245, 237, 77, 152, 182, 67, 30, 8, 237, 127, 36, 130, 245, 237, 134, 254, 71, 4, 134, 254, 71, 4, 134, 254, 253, 124, 36, 130, 58, 165, 134, 254, 120, 1, 183, 251, 25, 168, 167, 251, 25, 168, 167, 251, 25, 168, 167, 251, 120, 1, 227, 135, 25, 168, 45, 133, 25, 168, 45, 133, 25, 168, 45, 133, 71, 4, 20, 133, 71, 4, 20, 133, 58, 165, 77, 130, 132, 225, 93, 127, 89, 83, 227, 135, 119, 224, 45, 133, 119, 224, 45, 133, 119, 224, 45, 133, 40, 86, 20, 133, 40, 86, 20, 133, 58, 165, 93, 127, 87, 227, 77, 130, 178, 64, 36, 130, 40, 86, 134, 254, 40, 86, 134, 254, 87, 227, 134, 254, 89, 83, 183, 251, 119, 224, 167, 251, 119, 224, 167, 251, 119, 224, 167, 251, 220, 159, 183, 106, 147, 248, 26, 231, 220, 159, 86, 51, 147, 248, 185, 175, 88, 81, 29, 37, 88, 81, 29, 37, 92, 145, 234, 27, 228, 245, 35, 25, 88, 81, 158, 22, 88, 81, 158, 22, 108, 142, 234, 27, 131, 251, 77, 152, 182, 67, 158, 22, 182, 67, 158, 22, 108, 142, 36, 130, 131, 251, 134, 254, 182, 67, 29, 37, 182, 67, 29, 37, 92, 145, 36, 130, 228, 245, 93, 127, 237, 127, 183, 106, 245, 237, 26, 231, 237, 127, 86, 51, 245, 237, 185, 175, 108, 142, 86, 51, 131, 251, 185, 175, 92, 145, 86, 51, 228, 245, 143, 48, 108, 142, 183, 106, 131, 251, 26, 231, 92, 145, 183, 106, 228, 245, 241, 103, 84, 78, 29, 37, 244, 242, 35, 25, 232, 248, 35, 25, 84, 78, 158, 22, 117, 228, 35, 25, 134, 254, 77, 152, 178, 64, 158, 22, 117, 228, 93, 127, 134, 254, 134, 254, 178, 64, 29, 37, 244, 242, 93, 127, 232, 248, 93, 127, 117, 228, 143, 48, 117, 228, 143, 48, 134, 254, 185, 175, 244, 242, 143, 48, 244, 242, 143, 48, 232, 248, 143, 48, 117, 228, 241, 103, 117, 228, 241, 103, 134, 254, 26, 231, 244, 242, 241, 103, 244, 242, 241, 103, 232, 248, 241, 103, 185, 147, 20, 109, 185, 147, 20, 109, 185, 147, 20, 109, 185, 147, 199, 127, 185, 147, 199, 127, 185, 147, 199, 127, 127, 157, 199, 127, 127, 157, 199, 127, 127, 157, 199, 127, 127, 157, 20, 109, 127, 157, 20, 109, 127, 157, 20, 109, 185, 147, 70, 30, 185, 147, 70, 30, 185, 147, 70, 30, 185, 147, 249, 48, 185, 147, 249, 48, 185, 147, 249, 48, 127, 157, 249, 48, 127, 157, 249, 48, 127, 157, 249, 48, 127, 157, 70, 30, 127, 157, 70, 30, 127, 157, 70, 30, 185, 147, 179, 53, 185, 147, 179, 53, 185, 147, 179, 53, 185, 147, 91, 104, 185, 147, 91, 104, 185, 147, 91, 104, 127, 157, 91, 104, 127, 157, 91, 104, 127, 157, 91, 104, 127, 157, 179, 53, 127, 157, 179, 53, 127, 157, 179, 53, 74, 130, 70, 30, 74, 130, 70, 30, 74, 130, 70, 30, 74, 130, 249, 48, 74, 130, 249, 48, 74, 130, 249, 48, 16, 140, 249, 48, 16, 140, 249, 48, 16, 140, 249, 48, 16, 140, 70, 30, 16, 140, 70, 30, 16, 140, 70, 30, 74, 130, 179, 53, 74, 130, 179, 53, 74, 130, 179, 53, 74, 130, 91, 104, 74, 130, 91, 104, 74, 130, 91, 104, 16, 140, 91, 104, 16, 140, 91, 104, 16, 140, 91, 104, 16, 140, 179, 53, 16, 140, 179, 53, 16, 140, 179, 53, 74, 130, 20, 109, 74, 130, 20, 109, 74, 130, 20, 109, 74, 130, 199, 127, 74, 130, 199, 127, 74, 130, 199, 127, 16, 140, 199, 127, 16, 140, 199, 127, 16, 140, 199, 127, 16, 140, 20, 109, 16, 140, 20, 109, 16, 140, 20, 109, 185, 147, 199, 127, 185, 147, 199, 127, 185, 147, 199, 127, 185, 147, 199, 127, 185, 147, 20, 109, 185, 147, 20, 109, 185, 147, 20, 109, 185, 147, 20, 109, 127, 157, 20, 109, 127, 157, 20, 109, 127, 157, 20, 109, 127, 157, 20, 109, 127, 157, 199, 127, 127, 157, 199, 127, 127, 157, 199, 127, 127, 157, 199, 127, 185, 147, 249, 48, 185, 147, 249, 48, 185, 147, 249, 48, 185, 147, 249, 48, 185, 147, 70, 30, 185, 147, 70, 30, 185, 147, 70, 30, 185, 147, 70, 30, 127, 157, 70, 30, 127, 157, 70, 30, 127, 157, 70, 30, 127, 157, 70, 30, 127, 157, 249, 48, 127, 157, 249, 48, 127, 157, 249, 48, 127, 157, 249, 48, 185, 147, 91, 104, 185, 147, 91, 104, 185, 147, 91, 104, 185, 147, 91, 104, 185, 147, 179, 53, 185, 147, 179, 53, 185, 147, 179, 53, 185, 147, 179, 53, 127, 157, 179, 53, 127, 157, 179, 53, 127, 157, 179, 53, 127, 157, 179, 53, 127, 157, 91, 104, 127, 157, 91, 104, 127, 157, 91, 104, 127, 157, 91, 104, 74, 130, 249, 48, 74, 130, 249, 48, 74, 130, 249, 48, 74, 130, 249, 48, 74, 130, 70, 30, 74, 130, 70, 30, 74, 130, 70, 30, 74, 130, 70, 30, 16, 140, 70, 30, 16, 140, 70, 30, 16, 140, 70, 30, 16, 140, 70, 30, 16, 140, 249, 48, 16, 140, 249, 48, 16, 140, 249, 48, 16, 140, 249, 48, 74, 130, 91, 104, 74, 130, 91, 104, 74, 130, 91, 104, 74, 130, 91, 104, 74, 130, 179, 53, 74, 130, 179, 53, 74, 130, 179, 53, 74, 130, 179, 53, 16, 140, 179, 53, 16, 140, 179, 53, 16, 140, 179, 53, 16, 140, 179, 53, 16, 140, 91, 104, 16, 140, 91, 104, 16, 140, 91, 104, 16, 140, 91, 104, 74, 130, 199, 127, 74, 130, 199, 127, 74, 130, 199, 127, 74, 130, 199, 127, 74, 130, 20, 109, 74, 130, 20, 109, 74, 130, 20, 109, 74, 130, 20, 109, 16, 140, 20, 109, 16, 140, 20, 109, 16, 140, 20, 109, 16, 140, 20, 109, 16, 140, 199, 127, 16, 140, 199, 127, 16, 140, 199, 127, 16, 140, 199, 127, 217, 149, 51, 111, 217, 149, 51, 111, 217, 149, 51, 111, 217, 149, 51, 111, 217, 149, 167, 125, 217, 149, 167, 125, 217, 149, 167, 125, 217, 149, 167, 125, 96, 155, 167, 125, 96, 155, 167, 125, 96, 155, 167, 125, 96, 155, 167, 125, 96, 155, 51, 111, 96, 155, 51, 111, 96, 155, 51, 111, 96, 155, 51, 111, 217, 149, 102, 32, 217, 149, 102, 32, 217, 149, 102, 32, 217, 149, 102, 32, 217, 149, 218, 46, 217, 149, 218, 46, 217, 149, 218, 46, 217, 149, 218, 46, 96, 155, 218, 46, 96, 155, 218, 46, 96, 155, 218, 46, 96, 155, 218, 46, 96, 155, 102, 32, 96, 155, 102, 32, 96, 155, 102, 32, 96, 155, 102, 32, 217, 149, 210, 55, 217, 149, 210, 55, 217, 149, 210, 55, 217, 149, 210, 55, 217, 149, 59, 102, 217, 149, 59, 102, 217, 149, 59, 102, 217, 149, 59, 102, 96, 155, 59, 102, 96, 155, 59, 102, 96, 155, 59, 102, 96, 155, 59, 102, 96, 155, 210, 55, 96, 155, 210, 55, 96, 155, 210, 55, 96, 155, 210, 55, 105, 132, 102, 32, 105, 132, 102, 32, 105, 132, 102, 32, 105, 132, 102, 32, 105, 132, 218, 46, 105, 132, 218, 46, 105, 132, 218, 46, 105, 132, 218, 46, 240, 137, 218, 46, 240, 137, 218, 46, 240, 137, 218, 46, 240, 137, 218, 46, 240, 137, 102, 32, 240, 137, 102, 32, 240, 137, 102, 32, 240, 137, 102, 32, 105, 132, 210, 55, 105, 132, 210, 55, 105, 132, 210, 55, 105, 132, 210, 55, 105, 132, 59, 102, 105, 132, 59, 102, 105, 132, 59, 102, 105, 132, 59, 102, 240, 137, 59, 102, 240, 137, 59, 102, 240, 137, 59, 102, 240, 137, 59, 102, 240, 137, 210, 55, 240, 137, 210, 55, 240, 137, 210, 55, 240, 137, 210, 55, 105, 132, 51, 111, 105, 132, 51, 111, 105, 132, 51, 111, 105, 132, 51, 111, 105, 132, 167, 125, 105, 132, 167, 125, 105, 132, 167, 125, 105, 132, 167, 125, 240, 137, 167, 125, 240, 137, 167, 125, 240, 137, 167, 125, 240, 137, 167, 125, 240, 137, 51, 111, 240, 137, 51, 111, 240, 137, 51, 111, 240, 137, 51, 111, 217, 149, 167, 125, 217, 149, 167, 125, 217, 149, 167, 125, 217, 149, 51, 111, 217, 149, 51, 111, 217, 149, 51, 111, 96, 155, 51, 111, 96, 155, 51, 111, 96, 155, 51, 111, 96, 155, 167, 125, 96, 155, 167, 125, 96, 155, 167, 125, 217, 149, 218, 46, 217, 149, 218, 46, 217, 149, 218, 46, 217, 149, 102, 32, 217, 149, 102, 32, 217, 149, 102, 32, 96, 155, 102, 32, 96, 155, 102, 32, 96, 155, 102, 32, 96, 155, 218, 46, 96, 155, 218, 46, 96, 155, 218, 46, 217, 149, 59, 102, 217, 149, 59, 102, 217, 149, 59, 102, 217, 149, 210, 55, 217, 149, 210, 55, 217, 149, 210, 55, 96, 155, 210, 55, 96, 155, 210, 55, 96, 155, 210, 55, 96, 155, 59, 102, 96, 155, 59, 102, 96, 155, 59, 102, 105, 132, 218, 46, 105, 132, 218, 46, 105, 132, 218, 46, 105, 132, 102, 32, 105, 132, 102, 32, 105, 132, 102, 32, 240, 137, 102, 32, 240, 137, 102, 32, 240, 137, 102, 32, 240, 137, 218, 46, 240, 137, 218, 46, 240, 137, 218, 46, 105, 132, 59, 102, 105, 132, 59, 102, 105, 132, 59, 102, 105, 132, 210, 55, 105, 132, 210, 55, 105, 132, 210, 55, 240, 137, 210, 55, 240, 137, 210, 55, 240, 137, 210, 55, 240, 137, 59, 102, 240, 137, 59, 102, 240, 137, 59, 102, 105, 132, 167, 125, 105, 132, 167, 125, 105, 132, 167, 125, 105, 132, 51, 111, 105, 132, 51, 111, 105, 132, 51, 111, 240, 137, 51, 111, 240, 137, 51, 111, 240, 137, 51, 111, 240, 137, 167, 125, 240, 137, 167, 125, 240, 137, 167, 125), +"format": 34896613399, +"index_count": 804, +"index_data": PackedByteArray(0, 0, 9, 0, 3, 0, 0, 0, 6, 0, 9, 0, 18, 0, 46, 0, 25, 0, 18, 0, 71, 0, 46, 0, 37, 0, 16, 0, 24, 0, 16, 0, 88, 0, 28, 0, 84, 0, 16, 0, 37, 0, 16, 0, 84, 0, 88, 0, 162, 0, 237, 0, 153, 0, 162, 0, 241, 0, 237, 0, 21, 0, 59, 0, 14, 0, 21, 0, 50, 0, 59, 0, 7, 0, 40, 0, 10, 0, 7, 0, 52, 0, 40, 0, 8, 0, 62, 0, 55, 0, 8, 0, 2, 0, 62, 0, 13, 0, 70, 0, 17, 0, 13, 0, 58, 0, 70, 0, 26, 0, 51, 0, 22, 0, 26, 0, 47, 0, 51, 0, 60, 0, 5, 0, 65, 0, 60, 0, 1, 0, 5, 0, 44, 0, 53, 0, 48, 0, 44, 0, 41, 0, 53, 0, 63, 0, 49, 0, 54, 0, 63, 0, 57, 0, 49, 0, 43, 0, 69, 0, 67, 0, 43, 0, 45, 0, 69, 0, 66, 0, 56, 0, 61, 0, 66, 0, 68, 0, 56, 0, 42, 0, 4, 0, 11, 0, 42, 0, 64, 0, 4, 0, 36, 0, 27, 0, 23, 0, 27, 0, 93, 0, 39, 0, 95, 0, 27, 0, 36, 0, 27, 0, 95, 0, 93, 0, 30, 0, 15, 0, 19, 0, 15, 0, 75, 0, 33, 0, 73, 0, 15, 0, 30, 0, 15, 0, 73, 0, 75, 0, 31, 0, 20, 0, 12, 0, 20, 0, 80, 0, 34, 0, 76, 0, 20, 0, 31, 0, 20, 0, 76, 0, 80, 0, 131, 0, 212, 0, 134, 0, 131, 0, 200, 0, 212, 0, 164, 0, 249, 0, 168, 0, 164, 0, 252, 0, 249, 0, 150, 0, 221, 0, 141, 0, 150, 0, 225, 0, 221, 0, 85, 0, 113, 0, 89, 0, 85, 0, 110, 0, 113, 0, 152, 0, 233, 0, 156, 0, 152, 0, 236, 0, 233, 0, 97, 0, 124, 0, 101, 0, 97, 0, 118, 0, 124, 0, 138, 0, 205, 0, 129, 0, 138, 0, 209, 0, 205, 0, 101, 0, 112, 0, 87, 0, 101, 0, 124, 0, 112, 0, 108, 0, 120, 0, 117, 0, 108, 0, 105, 0, 120, 0, 116, 0, 125, 0, 122, 0, 116, 0, 119, 0, 125, 0, 123, 0, 114, 0, 111, 0, 123, 0, 126, 0, 114, 0, 77, 0, 107, 0, 81, 0, 77, 0, 104, 0, 107, 0, 83, 0, 118, 0, 97, 0, 83, 0, 109, 0, 118, 0, 91, 0, 127, 0, 103, 0, 91, 0, 115, 0, 127, 0, 103, 0, 121, 0, 99, 0, 103, 0, 127, 0, 121, 0, 99, 0, 106, 0, 79, 0, 99, 0, 121, 0, 106, 0, 102, 0, 133, 0, 90, 0, 102, 0, 130, 0, 133, 0, 90, 0, 136, 0, 29, 0, 90, 0, 133, 0, 136, 0, 29, 0, 139, 0, 72, 0, 29, 0, 136, 0, 139, 0, 72, 0, 130, 0, 102, 0, 72, 0, 139, 0, 130, 0, 78, 0, 145, 0, 98, 0, 78, 0, 142, 0, 145, 0, 98, 0, 148, 0, 74, 0, 98, 0, 145, 0, 148, 0, 74, 0, 151, 0, 32, 0, 74, 0, 148, 0, 151, 0, 32, 0, 142, 0, 78, 0, 32, 0, 151, 0, 142, 0, 98, 0, 157, 0, 102, 0, 98, 0, 154, 0, 157, 0, 102, 0, 160, 0, 72, 0, 102, 0, 157, 0, 160, 0, 72, 0, 163, 0, 74, 0, 72, 0, 160, 0, 163, 0, 74, 0, 154, 0, 98, 0, 74, 0, 163, 0, 154, 0, 35, 0, 169, 0, 94, 0, 35, 0, 166, 0, 169, 0, 94, 0, 172, 0, 96, 0, 94, 0, 169, 0, 172, 0, 96, 0, 175, 0, 82, 0, 96, 0, 172, 0, 175, 0, 82, 0, 166, 0, 35, 0, 82, 0, 175, 0, 166, 0, 94, 0, 181, 0, 92, 0, 94, 0, 178, 0, 181, 0, 92, 0, 184, 0, 100, 0, 92, 0, 181, 0, 184, 0, 100, 0, 187, 0, 96, 0, 100, 0, 184, 0, 187, 0, 96, 0, 178, 0, 94, 0, 96, 0, 187, 0, 178, 0, 92, 0, 193, 0, 38, 0, 92, 0, 190, 0, 193, 0, 38, 0, 196, 0, 86, 0, 38, 0, 193, 0, 196, 0, 86, 0, 199, 0, 100, 0, 86, 0, 196, 0, 199, 0, 100, 0, 190, 0, 92, 0, 100, 0, 199, 0, 190, 0, 93, 1, 182, 1, 97, 1, 93, 1, 173, 1, 182, 1, 64, 1, 155, 1, 69, 1, 64, 1, 157, 1, 155, 1, 116, 1, 187, 1, 104, 1, 116, 1, 190, 1, 187, 1, 77, 1, 170, 1, 81, 1, 77, 1, 161, 1, 170, 1, 48, 1, 143, 1, 53, 1, 48, 1, 145, 1, 143, 1, 121, 1, 196, 1, 124, 1, 121, 1, 200, 1, 196, 1, 176, 0, 9, 1, 180, 0, 176, 0, 12, 1, 9, 1, 143, 0, 228, 0, 146, 0, 143, 0, 216, 0, 228, 0, 174, 0, 253, 0, 165, 0, 174, 0, 1, 1, 253, 0, 188, 0, 25, 1, 192, 0, 188, 0, 28, 1, 25, 1, 135, 0, 208, 0, 137, 0, 135, 0, 213, 0, 208, 0, 155, 0, 244, 0, 158, 0, 155, 0, 232, 0, 244, 0, 186, 0, 13, 1, 177, 0, 186, 0, 17, 1, 13, 1, 147, 0, 224, 0, 149, 0, 147, 0, 229, 0, 224, 0, 167, 0, 4, 1, 170, 0, 167, 0, 248, 0, 4, 1, 198, 0, 29, 1, 189, 0, 198, 0, 33, 1, 29, 1, 159, 0, 240, 0, 161, 0, 159, 0, 245, 0, 240, 0, 179, 0, 20, 1, 182, 0, 179, 0, 8, 1, 20, 1, 171, 0, 0, 1, 173, 0, 171, 0, 5, 1, 0, 1, 191, 0, 36, 1, 194, 0, 191, 0, 24, 1, 36, 1, 183, 0, 16, 1, 185, 0, 183, 0, 21, 1, 16, 1, 195, 0, 32, 1, 197, 0, 195, 0, 37, 1, 32, 1, 128, 0, 201, 0, 132, 0, 128, 0, 204, 0, 201, 0, 140, 0, 217, 0, 144, 0, 140, 0, 220, 0, 217, 0, 206, 0, 46, 1, 202, 0, 206, 0, 42, 1, 46, 1, 203, 0, 51, 1, 215, 0, 203, 0, 47, 1, 51, 1, 214, 0, 54, 1, 210, 0, 214, 0, 50, 1, 54, 1, 211, 0, 43, 1, 207, 0, 211, 0, 55, 1, 43, 1, 222, 0, 62, 1, 218, 0, 222, 0, 58, 1, 62, 1, 219, 0, 67, 1, 231, 0, 219, 0, 63, 1, 67, 1, 230, 0, 70, 1, 226, 0, 230, 0, 66, 1, 70, 1, 227, 0, 59, 1, 223, 0, 227, 0, 71, 1, 59, 1, 238, 0, 78, 1, 234, 0, 238, 0, 74, 1, 78, 1, 235, 0, 82, 1, 246, 0, 235, 0, 79, 1, 82, 1, 247, 0, 87, 1, 243, 0, 247, 0, 83, 1, 87, 1, 242, 0, 75, 1, 239, 0, 242, 0, 86, 1, 75, 1, 254, 0, 94, 1, 250, 0, 254, 0, 90, 1, 94, 1, 251, 0, 99, 1, 7, 1, 251, 0, 95, 1, 99, 1, 6, 1, 102, 1, 2, 1, 6, 1, 98, 1, 102, 1, 3, 1, 91, 1, 255, 0, 3, 1, 103, 1, 91, 1, 14, 1, 110, 1, 10, 1, 14, 1, 106, 1, 110, 1, 11, 1, 114, 1, 22, 1, 11, 1, 111, 1, 114, 1, 23, 1, 119, 1, 19, 1, 23, 1, 115, 1, 119, 1, 18, 1, 107, 1, 15, 1, 18, 1, 118, 1, 107, 1, 30, 1, 126, 1, 26, 1, 30, 1, 122, 1, 126, 1, 27, 1, 131, 1, 39, 1, 27, 1, 127, 1, 131, 1, 38, 1, 134, 1, 34, 1, 38, 1, 130, 1, 134, 1, 35, 1, 123, 1, 31, 1, 35, 1, 135, 1, 123, 1, 141, 1, 147, 1, 138, 1, 141, 1, 144, 1, 147, 1, 153, 1, 159, 1, 150, 1, 153, 1, 156, 1, 159, 1, 165, 1, 171, 1, 162, 1, 165, 1, 168, 1, 171, 1, 177, 1, 183, 1, 174, 1, 177, 1, 180, 1, 183, 1, 189, 1, 195, 1, 186, 1, 189, 1, 192, 1, 195, 1, 201, 1, 207, 1, 198, 1, 201, 1, 204, 1, 207, 1, 132, 1, 199, 1, 120, 1, 132, 1, 202, 1, 199, 1, 80, 1, 167, 1, 85, 1, 80, 1, 169, 1, 167, 1, 109, 1, 194, 1, 113, 1, 109, 1, 185, 1, 194, 1, 96, 1, 179, 1, 101, 1, 96, 1, 181, 1, 179, 1, 125, 1, 206, 1, 129, 1, 125, 1, 197, 1, 206, 1, 112, 1, 191, 1, 117, 1, 112, 1, 193, 1, 191, 1, 128, 1, 203, 1, 133, 1, 128, 1, 205, 1, 203, 1, 41, 1, 136, 1, 44, 1, 41, 1, 140, 1, 136, 1, 57, 1, 148, 1, 60, 1, 57, 1, 152, 1, 148, 1, 52, 1, 139, 1, 40, 1, 52, 1, 142, 1, 139, 1, 73, 1, 160, 1, 76, 1, 73, 1, 164, 1, 160, 1, 68, 1, 151, 1, 56, 1, 68, 1, 154, 1, 151, 1, 89, 1, 172, 1, 92, 1, 89, 1, 176, 1, 172, 1, 45, 1, 146, 1, 49, 1, 45, 1, 137, 1, 146, 1, 84, 1, 163, 1, 72, 1, 84, 1, 166, 1, 163, 1, 105, 1, 184, 1, 108, 1, 105, 1, 188, 1, 184, 1, 61, 1, 158, 1, 65, 1, 61, 1, 149, 1, 158, 1, 100, 1, 175, 1, 88, 1, 100, 1, 178, 1, 175, 1), +"material": SubResource("StandardMaterial3D_vmp8a"), +"name": "Material.001", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 464, +"vertex_data": PackedByteArray(0, 0, 0, 0, 254, 255, 255, 63, 0, 0, 0, 0, 254, 255, 255, 255, 0, 0, 0, 0, 254, 255, 170, 42, 0, 0, 255, 255, 254, 255, 255, 63, 0, 0, 255, 255, 254, 255, 84, 213, 0, 0, 255, 255, 254, 255, 255, 255, 0, 0, 0, 0, 0, 0, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 42, 0, 0, 255, 255, 0, 0, 255, 63, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 84, 213, 255, 255, 124, 19, 84, 220, 255, 191, 255, 255, 124, 19, 84, 220, 255, 255, 255, 255, 124, 19, 84, 220, 255, 255, 255, 255, 124, 19, 84, 220, 0, 0, 255, 255, 130, 236, 84, 220, 255, 63, 255, 255, 130, 236, 84, 220, 255, 255, 255, 255, 130, 236, 84, 220, 255, 255, 255, 255, 130, 236, 84, 220, 0, 0, 255, 255, 124, 19, 169, 35, 255, 191, 255, 255, 124, 19, 169, 35, 255, 255, 255, 255, 124, 19, 169, 35, 255, 255, 255, 255, 124, 19, 169, 35, 255, 255, 255, 255, 130, 236, 169, 35, 255, 63, 255, 255, 130, 236, 169, 35, 255, 255, 255, 255, 130, 236, 169, 35, 255, 255, 255, 255, 130, 236, 169, 35, 255, 255, 234, 230, 130, 236, 84, 220, 255, 63, 234, 230, 130, 236, 84, 220, 255, 255, 234, 230, 130, 236, 84, 220, 0, 0, 234, 230, 124, 19, 84, 220, 255, 191, 234, 230, 124, 19, 84, 220, 255, 255, 234, 230, 124, 19, 84, 220, 0, 0, 234, 230, 124, 19, 169, 35, 255, 191, 234, 230, 124, 19, 169, 35, 255, 255, 234, 230, 124, 19, 169, 35, 255, 255, 234, 230, 130, 236, 169, 35, 255, 63, 234, 230, 130, 236, 169, 35, 255, 255, 234, 230, 130, 236, 169, 35, 255, 255, 227, 246, 255, 255, 0, 0, 0, 0, 227, 246, 255, 255, 0, 0, 255, 31, 227, 246, 255, 255, 0, 0, 84, 213, 227, 246, 255, 255, 0, 0, 170, 233, 255, 255, 19, 250, 215, 11, 255, 31, 255, 255, 19, 250, 215, 11, 170, 233, 255, 255, 19, 250, 215, 11, 255, 255, 255, 255, 19, 250, 215, 11, 255, 255, 255, 255, 235, 5, 215, 11, 255, 31, 255, 255, 235, 5, 215, 11, 170, 233, 255, 255, 235, 5, 215, 11, 255, 255, 255, 255, 235, 5, 215, 11, 255, 255, 227, 246, 0, 0, 0, 0, 0, 0, 227, 246, 0, 0, 0, 0, 255, 31, 227, 246, 0, 0, 0, 0, 170, 233, 227, 246, 0, 0, 0, 0, 170, 42, 255, 255, 235, 5, 39, 244, 255, 255, 255, 255, 235, 5, 39, 244, 170, 233, 255, 255, 235, 5, 39, 244, 255, 255, 255, 255, 235, 5, 39, 244, 255, 255, 227, 246, 0, 0, 254, 255, 255, 255, 227, 246, 0, 0, 254, 255, 255, 255, 227, 246, 0, 0, 254, 255, 170, 42, 227, 246, 0, 0, 254, 255, 170, 233, 227, 246, 255, 255, 254, 255, 84, 213, 227, 246, 255, 255, 254, 255, 255, 255, 227, 246, 255, 255, 254, 255, 255, 255, 227, 246, 255, 255, 254, 255, 170, 233, 255, 255, 19, 250, 39, 244, 255, 255, 255, 255, 19, 250, 39, 244, 170, 233, 255, 255, 19, 250, 39, 244, 255, 255, 255, 255, 19, 250, 39, 244, 255, 255, 234, 230, 200, 186, 84, 220, 255, 255, 234, 230, 200, 186, 84, 220, 0, 0, 234, 230, 54, 69, 84, 220, 255, 255, 234, 230, 54, 69, 84, 220, 0, 0, 234, 230, 124, 19, 198, 158, 255, 191, 234, 230, 124, 19, 198, 158, 255, 191, 234, 230, 124, 19, 198, 158, 255, 255, 234, 230, 124, 19, 198, 158, 0, 0, 234, 230, 124, 19, 56, 97, 255, 191, 234, 230, 124, 19, 56, 97, 255, 191, 234, 230, 124, 19, 56, 97, 255, 255, 234, 230, 124, 19, 56, 97, 255, 255, 234, 230, 130, 236, 56, 97, 255, 63, 234, 230, 130, 236, 56, 97, 255, 63, 234, 230, 130, 236, 56, 97, 255, 255, 234, 230, 130, 236, 56, 97, 255, 255, 234, 230, 130, 236, 198, 158, 255, 63, 234, 230, 130, 236, 198, 158, 255, 63, 234, 230, 130, 236, 198, 158, 255, 255, 234, 230, 130, 236, 198, 158, 0, 0, 234, 230, 200, 186, 169, 35, 255, 255, 234, 230, 200, 186, 169, 35, 255, 255, 234, 230, 54, 69, 169, 35, 255, 255, 234, 230, 54, 69, 169, 35, 255, 255, 234, 230, 54, 69, 56, 97, 255, 255, 234, 230, 54, 69, 56, 97, 255, 255, 234, 230, 54, 69, 198, 158, 255, 255, 234, 230, 54, 69, 198, 158, 0, 0, 234, 230, 200, 186, 56, 97, 255, 255, 234, 230, 200, 186, 56, 97, 255, 255, 234, 230, 200, 186, 198, 158, 255, 255, 234, 230, 200, 186, 198, 158, 0, 0, 17, 221, 124, 19, 198, 158, 255, 191, 17, 221, 124, 19, 198, 158, 255, 255, 17, 221, 124, 19, 198, 158, 0, 0, 17, 221, 124, 19, 56, 97, 255, 191, 17, 221, 124, 19, 56, 97, 255, 255, 17, 221, 124, 19, 56, 97, 255, 255, 17, 221, 130, 236, 56, 97, 255, 63, 17, 221, 130, 236, 56, 97, 255, 255, 17, 221, 130, 236, 56, 97, 255, 255, 17, 221, 130, 236, 198, 158, 255, 63, 17, 221, 130, 236, 198, 158, 255, 255, 17, 221, 130, 236, 198, 158, 0, 0, 17, 221, 54, 69, 56, 97, 255, 255, 17, 221, 54, 69, 56, 97, 255, 255, 17, 221, 54, 69, 56, 97, 255, 255, 17, 221, 54, 69, 198, 158, 255, 255, 17, 221, 54, 69, 198, 158, 255, 255, 17, 221, 54, 69, 198, 158, 0, 0, 17, 221, 200, 186, 56, 97, 255, 255, 17, 221, 200, 186, 56, 97, 255, 255, 17, 221, 200, 186, 56, 97, 255, 255, 17, 221, 200, 186, 198, 158, 255, 255, 17, 221, 200, 186, 198, 158, 255, 255, 17, 221, 200, 186, 198, 158, 0, 0, 234, 230, 204, 191, 206, 168, 254, 127, 234, 230, 204, 191, 206, 168, 255, 191, 234, 230, 204, 191, 206, 168, 255, 255, 234, 230, 126, 231, 206, 168, 255, 191, 234, 230, 126, 231, 206, 168, 254, 127, 234, 230, 126, 231, 206, 168, 255, 255, 234, 230, 126, 231, 77, 210, 255, 191, 234, 230, 126, 231, 77, 210, 255, 255, 234, 230, 126, 231, 77, 210, 255, 255, 234, 230, 204, 191, 77, 210, 255, 255, 234, 230, 204, 191, 77, 210, 255, 191, 234, 230, 204, 191, 77, 210, 255, 255, 234, 230, 128, 24, 206, 168, 254, 127, 234, 230, 128, 24, 206, 168, 255, 191, 234, 230, 128, 24, 206, 168, 255, 255, 234, 230, 50, 64, 206, 168, 255, 191, 234, 230, 50, 64, 206, 168, 254, 127, 234, 230, 50, 64, 206, 168, 255, 255, 234, 230, 50, 64, 77, 210, 255, 191, 234, 230, 50, 64, 77, 210, 255, 255, 234, 230, 50, 64, 77, 210, 255, 255, 234, 230, 128, 24, 77, 210, 255, 255, 234, 230, 128, 24, 77, 210, 255, 191, 234, 230, 128, 24, 77, 210, 255, 255, 234, 230, 58, 74, 206, 168, 254, 127, 234, 230, 58, 74, 206, 168, 255, 191, 234, 230, 58, 74, 206, 168, 255, 255, 234, 230, 196, 181, 206, 168, 255, 191, 234, 230, 196, 181, 206, 168, 254, 127, 234, 230, 196, 181, 206, 168, 255, 255, 234, 230, 196, 181, 77, 210, 255, 191, 234, 230, 196, 181, 77, 210, 255, 255, 234, 230, 196, 181, 77, 210, 255, 255, 234, 230, 58, 74, 77, 210, 255, 255, 234, 230, 58, 74, 77, 210, 255, 191, 234, 230, 58, 74, 77, 210, 255, 255, 234, 230, 128, 24, 177, 45, 254, 127, 234, 230, 128, 24, 177, 45, 255, 191, 234, 230, 128, 24, 177, 45, 255, 255, 234, 230, 50, 64, 177, 45, 255, 191, 234, 230, 50, 64, 177, 45, 254, 127, 234, 230, 50, 64, 177, 45, 255, 255, 234, 230, 50, 64, 48, 87, 255, 191, 234, 230, 50, 64, 48, 87, 255, 255, 234, 230, 50, 64, 48, 87, 255, 255, 234, 230, 128, 24, 48, 87, 255, 255, 234, 230, 128, 24, 48, 87, 255, 191, 234, 230, 128, 24, 48, 87, 255, 255, 234, 230, 58, 74, 177, 45, 254, 127, 234, 230, 58, 74, 177, 45, 255, 191, 234, 230, 58, 74, 177, 45, 255, 255, 234, 230, 196, 181, 177, 45, 255, 191, 234, 230, 196, 181, 177, 45, 254, 127, 234, 230, 196, 181, 177, 45, 255, 255, 234, 230, 196, 181, 48, 87, 255, 191, 234, 230, 196, 181, 48, 87, 255, 255, 234, 230, 196, 181, 48, 87, 255, 255, 234, 230, 58, 74, 48, 87, 255, 255, 234, 230, 58, 74, 48, 87, 255, 191, 234, 230, 58, 74, 48, 87, 255, 255, 234, 230, 204, 191, 177, 45, 254, 127, 234, 230, 204, 191, 177, 45, 255, 191, 234, 230, 204, 191, 177, 45, 255, 255, 234, 230, 126, 231, 177, 45, 255, 191, 234, 230, 126, 231, 177, 45, 254, 127, 234, 230, 126, 231, 177, 45, 255, 255, 234, 230, 126, 231, 48, 87, 255, 191, 234, 230, 126, 231, 48, 87, 255, 255, 234, 230, 126, 231, 48, 87, 255, 255, 234, 230, 204, 191, 48, 87, 255, 255, 234, 230, 204, 191, 48, 87, 255, 191, 234, 230, 204, 191, 48, 87, 255, 255, 49, 226, 126, 231, 206, 168, 255, 191, 49, 226, 126, 231, 206, 168, 254, 127, 49, 226, 126, 231, 206, 168, 255, 255, 49, 226, 126, 231, 206, 168, 255, 255, 49, 226, 204, 191, 206, 168, 254, 127, 49, 226, 204, 191, 206, 168, 255, 191, 49, 226, 204, 191, 206, 168, 255, 255, 49, 226, 204, 191, 206, 168, 255, 255, 49, 226, 204, 191, 77, 210, 255, 255, 49, 226, 204, 191, 77, 210, 255, 191, 49, 226, 204, 191, 77, 210, 255, 255, 49, 226, 204, 191, 77, 210, 255, 255, 49, 226, 126, 231, 77, 210, 255, 191, 49, 226, 126, 231, 77, 210, 255, 255, 49, 226, 126, 231, 77, 210, 255, 255, 49, 226, 126, 231, 77, 210, 255, 255, 49, 226, 50, 64, 206, 168, 255, 191, 49, 226, 50, 64, 206, 168, 254, 127, 49, 226, 50, 64, 206, 168, 255, 255, 49, 226, 50, 64, 206, 168, 255, 255, 49, 226, 128, 24, 206, 168, 254, 127, 49, 226, 128, 24, 206, 168, 255, 191, 49, 226, 128, 24, 206, 168, 255, 255, 49, 226, 128, 24, 206, 168, 255, 255, 49, 226, 128, 24, 77, 210, 255, 255, 49, 226, 128, 24, 77, 210, 255, 191, 49, 226, 128, 24, 77, 210, 255, 255, 49, 226, 128, 24, 77, 210, 255, 255, 49, 226, 50, 64, 77, 210, 255, 191, 49, 226, 50, 64, 77, 210, 255, 255, 49, 226, 50, 64, 77, 210, 255, 255, 49, 226, 50, 64, 77, 210, 255, 255, 49, 226, 196, 181, 206, 168, 255, 191, 49, 226, 196, 181, 206, 168, 254, 127, 49, 226, 196, 181, 206, 168, 255, 255, 49, 226, 196, 181, 206, 168, 255, 255, 49, 226, 58, 74, 206, 168, 254, 127, 49, 226, 58, 74, 206, 168, 255, 191, 49, 226, 58, 74, 206, 168, 255, 255, 49, 226, 58, 74, 206, 168, 255, 255, 49, 226, 58, 74, 77, 210, 255, 255, 49, 226, 58, 74, 77, 210, 255, 191, 49, 226, 58, 74, 77, 210, 255, 255, 49, 226, 58, 74, 77, 210, 255, 255, 49, 226, 196, 181, 77, 210, 255, 191, 49, 226, 196, 181, 77, 210, 255, 255, 49, 226, 196, 181, 77, 210, 255, 255, 49, 226, 196, 181, 77, 210, 255, 255, 49, 226, 50, 64, 177, 45, 255, 191, 49, 226, 50, 64, 177, 45, 254, 127, 49, 226, 50, 64, 177, 45, 255, 255, 49, 226, 50, 64, 177, 45, 255, 255, 49, 226, 128, 24, 177, 45, 254, 127, 49, 226, 128, 24, 177, 45, 255, 191, 49, 226, 128, 24, 177, 45, 255, 255, 49, 226, 128, 24, 177, 45, 255, 255, 49, 226, 128, 24, 48, 87, 255, 255, 49, 226, 128, 24, 48, 87, 255, 191, 49, 226, 128, 24, 48, 87, 255, 255, 49, 226, 128, 24, 48, 87, 255, 255, 49, 226, 50, 64, 48, 87, 255, 191, 49, 226, 50, 64, 48, 87, 255, 255, 49, 226, 50, 64, 48, 87, 255, 255, 49, 226, 50, 64, 48, 87, 255, 255, 49, 226, 196, 181, 177, 45, 255, 191, 49, 226, 196, 181, 177, 45, 254, 127, 49, 226, 196, 181, 177, 45, 255, 255, 49, 226, 196, 181, 177, 45, 255, 255, 49, 226, 58, 74, 177, 45, 254, 127, 49, 226, 58, 74, 177, 45, 255, 191, 49, 226, 58, 74, 177, 45, 255, 255, 49, 226, 58, 74, 177, 45, 255, 255, 49, 226, 58, 74, 48, 87, 255, 255, 49, 226, 58, 74, 48, 87, 255, 191, 49, 226, 58, 74, 48, 87, 255, 255, 49, 226, 58, 74, 48, 87, 255, 255, 49, 226, 196, 181, 48, 87, 255, 191, 49, 226, 196, 181, 48, 87, 255, 255, 49, 226, 196, 181, 48, 87, 255, 255, 49, 226, 196, 181, 48, 87, 255, 255, 49, 226, 126, 231, 177, 45, 255, 191, 49, 226, 126, 231, 177, 45, 254, 127, 49, 226, 126, 231, 177, 45, 255, 255, 49, 226, 126, 231, 177, 45, 255, 255, 49, 226, 204, 191, 177, 45, 254, 127, 49, 226, 204, 191, 177, 45, 255, 191, 49, 226, 204, 191, 177, 45, 255, 255, 49, 226, 204, 191, 177, 45, 255, 255, 49, 226, 204, 191, 48, 87, 255, 255, 49, 226, 204, 191, 48, 87, 255, 191, 49, 226, 204, 191, 48, 87, 255, 255, 49, 226, 204, 191, 48, 87, 255, 255, 49, 226, 126, 231, 48, 87, 255, 191, 49, 226, 126, 231, 48, 87, 255, 255, 49, 226, 126, 231, 48, 87, 255, 255, 49, 226, 126, 231, 48, 87, 255, 255, 49, 226, 78, 196, 208, 177, 255, 191, 49, 226, 78, 196, 208, 177, 255, 255, 49, 226, 78, 196, 208, 177, 255, 255, 49, 226, 78, 196, 208, 177, 255, 255, 49, 226, 253, 226, 208, 177, 255, 255, 49, 226, 253, 226, 208, 177, 255, 191, 49, 226, 253, 226, 208, 177, 255, 255, 49, 226, 253, 226, 208, 177, 255, 255, 49, 226, 253, 226, 74, 201, 254, 127, 49, 226, 253, 226, 74, 201, 255, 191, 49, 226, 253, 226, 74, 201, 255, 255, 49, 226, 253, 226, 74, 201, 255, 255, 49, 226, 78, 196, 74, 201, 255, 191, 49, 226, 78, 196, 74, 201, 254, 127, 49, 226, 78, 196, 74, 201, 255, 255, 49, 226, 78, 196, 74, 201, 255, 255, 49, 226, 1, 29, 208, 177, 255, 191, 49, 226, 1, 29, 208, 177, 255, 255, 49, 226, 1, 29, 208, 177, 255, 255, 49, 226, 1, 29, 208, 177, 255, 255, 49, 226, 176, 59, 208, 177, 255, 255, 49, 226, 176, 59, 208, 177, 255, 191, 49, 226, 176, 59, 208, 177, 255, 255, 49, 226, 176, 59, 208, 177, 255, 255, 49, 226, 176, 59, 74, 201, 254, 127, 49, 226, 176, 59, 74, 201, 255, 191, 49, 226, 176, 59, 74, 201, 255, 255, 49, 226, 176, 59, 74, 201, 255, 255, 49, 226, 1, 29, 74, 201, 255, 191, 49, 226, 1, 29, 74, 201, 254, 127, 49, 226, 1, 29, 74, 201, 255, 255, 49, 226, 1, 29, 74, 201, 255, 255, 49, 226, 187, 78, 208, 177, 255, 191, 49, 226, 187, 78, 208, 177, 255, 255, 49, 226, 187, 78, 208, 177, 255, 255, 49, 226, 187, 78, 208, 177, 255, 255, 49, 226, 67, 177, 208, 177, 255, 255, 49, 226, 67, 177, 208, 177, 255, 191, 49, 226, 67, 177, 208, 177, 255, 255, 49, 226, 67, 177, 208, 177, 255, 255, 49, 226, 67, 177, 74, 201, 254, 127, 49, 226, 67, 177, 74, 201, 255, 191, 49, 226, 67, 177, 74, 201, 255, 255, 49, 226, 67, 177, 74, 201, 255, 255, 49, 226, 187, 78, 74, 201, 255, 191, 49, 226, 187, 78, 74, 201, 254, 127, 49, 226, 187, 78, 74, 201, 255, 255, 49, 226, 187, 78, 74, 201, 255, 255, 49, 226, 1, 29, 180, 54, 255, 191, 49, 226, 1, 29, 180, 54, 255, 255, 49, 226, 1, 29, 180, 54, 255, 255, 49, 226, 1, 29, 180, 54, 255, 255, 49, 226, 176, 59, 180, 54, 255, 255, 49, 226, 176, 59, 180, 54, 255, 191, 49, 226, 176, 59, 180, 54, 255, 255, 49, 226, 176, 59, 180, 54, 255, 255, 49, 226, 176, 59, 45, 78, 254, 127, 49, 226, 176, 59, 45, 78, 255, 191, 49, 226, 176, 59, 45, 78, 255, 255, 49, 226, 176, 59, 45, 78, 255, 255, 49, 226, 1, 29, 45, 78, 255, 191, 49, 226, 1, 29, 45, 78, 254, 127, 49, 226, 1, 29, 45, 78, 255, 255, 49, 226, 1, 29, 45, 78, 255, 255, 49, 226, 187, 78, 180, 54, 255, 191, 49, 226, 187, 78, 180, 54, 255, 255, 49, 226, 187, 78, 180, 54, 255, 255, 49, 226, 187, 78, 180, 54, 255, 255, 49, 226, 67, 177, 180, 54, 255, 255, 49, 226, 67, 177, 180, 54, 255, 191, 49, 226, 67, 177, 180, 54, 255, 255, 49, 226, 67, 177, 180, 54, 255, 255, 49, 226, 67, 177, 45, 78, 254, 127, 49, 226, 67, 177, 45, 78, 255, 191, 49, 226, 67, 177, 45, 78, 255, 255, 49, 226, 67, 177, 45, 78, 255, 255, 49, 226, 187, 78, 45, 78, 255, 191, 49, 226, 187, 78, 45, 78, 254, 127, 49, 226, 187, 78, 45, 78, 255, 255, 49, 226, 187, 78, 45, 78, 255, 255, 49, 226, 78, 196, 180, 54, 255, 191, 49, 226, 78, 196, 180, 54, 255, 255, 49, 226, 78, 196, 180, 54, 255, 255, 49, 226, 78, 196, 180, 54, 255, 255, 49, 226, 253, 226, 180, 54, 255, 255, 49, 226, 253, 226, 180, 54, 255, 191, 49, 226, 253, 226, 180, 54, 255, 255, 49, 226, 253, 226, 180, 54, 255, 255, 49, 226, 253, 226, 45, 78, 254, 127, 49, 226, 253, 226, 45, 78, 255, 191, 49, 226, 253, 226, 45, 78, 255, 255, 49, 226, 253, 226, 45, 78, 255, 255, 49, 226, 78, 196, 45, 78, 255, 191, 49, 226, 78, 196, 45, 78, 254, 127, 49, 226, 78, 196, 45, 78, 255, 255, 49, 226, 78, 196, 45, 78, 255, 255, 38, 229, 253, 226, 208, 177, 255, 255, 38, 229, 253, 226, 208, 177, 255, 191, 38, 229, 253, 226, 208, 177, 255, 255, 38, 229, 78, 196, 208, 177, 255, 191, 38, 229, 78, 196, 208, 177, 255, 255, 38, 229, 78, 196, 208, 177, 255, 255, 38, 229, 78, 196, 74, 201, 255, 191, 38, 229, 78, 196, 74, 201, 254, 127, 38, 229, 78, 196, 74, 201, 255, 255, 38, 229, 253, 226, 74, 201, 254, 127, 38, 229, 253, 226, 74, 201, 255, 191, 38, 229, 253, 226, 74, 201, 255, 255, 38, 229, 176, 59, 208, 177, 255, 255, 38, 229, 176, 59, 208, 177, 255, 191, 38, 229, 176, 59, 208, 177, 255, 255, 38, 229, 1, 29, 208, 177, 255, 191, 38, 229, 1, 29, 208, 177, 255, 255, 38, 229, 1, 29, 208, 177, 255, 255, 38, 229, 1, 29, 74, 201, 255, 191, 38, 229, 1, 29, 74, 201, 254, 127, 38, 229, 1, 29, 74, 201, 255, 255, 38, 229, 176, 59, 74, 201, 254, 127, 38, 229, 176, 59, 74, 201, 255, 191, 38, 229, 176, 59, 74, 201, 255, 255, 38, 229, 67, 177, 208, 177, 255, 255, 38, 229, 67, 177, 208, 177, 255, 191, 38, 229, 67, 177, 208, 177, 255, 255, 38, 229, 187, 78, 208, 177, 255, 191, 38, 229, 187, 78, 208, 177, 255, 255, 38, 229, 187, 78, 208, 177, 255, 255, 38, 229, 187, 78, 74, 201, 255, 191, 38, 229, 187, 78, 74, 201, 254, 127, 38, 229, 187, 78, 74, 201, 255, 255, 38, 229, 67, 177, 74, 201, 254, 127, 38, 229, 67, 177, 74, 201, 255, 191, 38, 229, 67, 177, 74, 201, 255, 255, 38, 229, 176, 59, 180, 54, 255, 255, 38, 229, 176, 59, 180, 54, 255, 191, 38, 229, 176, 59, 180, 54, 255, 255, 38, 229, 1, 29, 180, 54, 255, 191, 38, 229, 1, 29, 180, 54, 255, 255, 38, 229, 1, 29, 180, 54, 255, 255, 38, 229, 1, 29, 45, 78, 255, 191, 38, 229, 1, 29, 45, 78, 254, 127, 38, 229, 1, 29, 45, 78, 255, 255, 38, 229, 176, 59, 45, 78, 254, 127, 38, 229, 176, 59, 45, 78, 255, 191, 38, 229, 176, 59, 45, 78, 255, 255, 38, 229, 67, 177, 180, 54, 255, 255, 38, 229, 67, 177, 180, 54, 255, 191, 38, 229, 67, 177, 180, 54, 255, 255, 38, 229, 187, 78, 180, 54, 255, 191, 38, 229, 187, 78, 180, 54, 255, 255, 38, 229, 187, 78, 180, 54, 255, 255, 38, 229, 187, 78, 45, 78, 255, 191, 38, 229, 187, 78, 45, 78, 254, 127, 38, 229, 187, 78, 45, 78, 255, 255, 38, 229, 67, 177, 45, 78, 254, 127, 38, 229, 67, 177, 45, 78, 255, 191, 38, 229, 67, 177, 45, 78, 255, 255, 38, 229, 253, 226, 180, 54, 255, 255, 38, 229, 253, 226, 180, 54, 255, 191, 38, 229, 253, 226, 180, 54, 255, 255, 38, 229, 78, 196, 180, 54, 255, 191, 38, 229, 78, 196, 180, 54, 255, 255, 38, 229, 78, 196, 180, 54, 255, 255, 38, 229, 78, 196, 45, 78, 255, 191, 38, 229, 78, 196, 45, 78, 254, 127, 38, 229, 78, 196, 45, 78, 255, 255, 38, 229, 253, 226, 45, 78, 254, 127, 38, 229, 253, 226, 45, 78, 255, 191, 38, 229, 253, 226, 45, 78, 255, 255, 255, 127, 255, 255, 255, 127, 255, 127, 84, 85, 84, 85, 255, 127, 255, 255, 84, 213, 170, 42, 255, 127, 255, 127, 255, 127, 254, 255, 255, 127, 255, 255, 84, 85, 84, 85, 255, 127, 255, 255, 255, 127, 255, 255, 84, 213, 170, 42, 254, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 254, 255, 0, 0, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 254, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 0, 0, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 0, 0, 255, 127, 255, 191, 255, 127, 255, 127, 254, 255, 254, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 254, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 0, 0, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 255, 127, 255, 255, 255, 127, 0, 0, 84, 213, 170, 42, 4, 181, 245, 149, 255, 127, 0, 0, 4, 181, 245, 149, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 0, 0, 246, 21, 250, 202, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 127, 0, 0, 246, 21, 250, 202, 84, 85, 84, 85, 124, 165, 255, 127, 246, 21, 250, 202, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 124, 165, 255, 127, 84, 85, 84, 85, 246, 21, 250, 202, 84, 213, 170, 42, 255, 127, 255, 127, 124, 165, 255, 127, 4, 181, 245, 149, 124, 165, 255, 127, 4, 181, 245, 149, 255, 191, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 254, 255, 255, 191, 255, 127, 255, 127, 254, 255, 254, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 254, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 0, 0, 255, 127, 0, 0, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 0, 0, 255, 127, 0, 0, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 127, 255, 127, 255, 191, 255, 127, 255, 255, 255, 255, 255, 191, 255, 127, 255, 127, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 127, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 0, 0, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 0, 0, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 0, 0, 255, 191, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 0, 0, 255, 191, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 0, 0, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 191, 255, 127) +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_4qjo7") -[sub_resource type="SphereMesh" id="SphereMesh_ol1tf"] -radius = 0.06 -height = 0.12 +[sub_resource type="BoxShape3D" id="BoxShape3D_iggvr"] +size = Vector3(0.311478, 0.620804, 0.404236) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_02h6g"] +resource_name = "Material.006" +cull_mode = 2 +albedo_texture = ExtResource("5_g1bj0") +metallic = 1.0 +metallic_texture_channel = 2 +roughness_texture_channel = 1 +emission_enabled = true +emission_texture = ExtResource("6_5e0ki") +normal_enabled = true +normal_texture = ExtResource("7_1ylh2") + +[sub_resource type="ArrayMesh" id="ArrayMesh_4gkg7"] +_surfaces = [{ +"aabb": AABB(0.245259, -1.69553, -0.721371, 1.18422, 0.576978, 1.44275), +"format": 34896613377, +"index_count": 1116, +"index_data": PackedByteArray(4, 0, 139, 0, 1, 0, 4, 0, 137, 0, 139, 0, 7, 0, 146, 0, 145, 0, 7, 0, 6, 0, 146, 0, 9, 0, 11, 0, 8, 0, 9, 0, 10, 0, 11, 0, 4, 0, 10, 0, 9, 0, 4, 0, 6, 0, 10, 0, 7, 0, 8, 0, 11, 0, 7, 0, 3, 0, 8, 0, 11, 0, 6, 0, 7, 0, 11, 0, 10, 0, 6, 0, 8, 0, 4, 0, 9, 0, 8, 0, 3, 0, 4, 0, 7, 0, 133, 0, 2, 0, 7, 0, 145, 0, 133, 0, 144, 0, 155, 0, 143, 0, 144, 0, 152, 0, 155, 0, 4, 0, 142, 0, 137, 0, 4, 0, 3, 0, 142, 0, 138, 0, 149, 0, 141, 0, 138, 0, 150, 0, 149, 0, 139, 0, 5, 0, 1, 0, 5, 0, 141, 0, 140, 0, 141, 0, 139, 0, 138, 0, 5, 0, 139, 0, 141, 0, 0, 0, 142, 0, 3, 0, 0, 0, 134, 0, 142, 0, 5, 0, 146, 0, 6, 0, 5, 0, 140, 0, 146, 0, 151, 0, 132, 0, 148, 0, 151, 0, 135, 0, 132, 0, 12, 0, 15, 0, 14, 0, 12, 0, 13, 0, 15, 0, 15, 0, 20, 0, 14, 0, 17, 0, 20, 0, 19, 0, 20, 0, 16, 0, 14, 0, 20, 0, 17, 0, 16, 0, 21, 0, 24, 0, 22, 0, 21, 0, 23, 0, 24, 0, 18, 0, 17, 0, 19, 0, 24, 0, 23, 0, 29, 0, 26, 0, 28, 0, 29, 0, 29, 0, 23, 0, 25, 0, 29, 0, 25, 0, 26, 0, 27, 0, 28, 0, 26, 0, 20, 0, 28, 0, 19, 0, 20, 0, 29, 0, 28, 0, 17, 0, 25, 0, 16, 0, 17, 0, 26, 0, 25, 0, 14, 0, 21, 0, 12, 0, 14, 0, 23, 0, 21, 0, 16, 0, 23, 0, 14, 0, 16, 0, 25, 0, 23, 0, 18, 0, 26, 0, 17, 0, 18, 0, 27, 0, 26, 0, 13, 0, 24, 0, 15, 0, 13, 0, 22, 0, 24, 0, 12, 0, 22, 0, 13, 0, 12, 0, 21, 0, 22, 0, 19, 0, 27, 0, 18, 0, 19, 0, 28, 0, 27, 0, 15, 0, 29, 0, 20, 0, 15, 0, 24, 0, 29, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 33, 0, 32, 0, 38, 0, 35, 0, 37, 0, 38, 0, 38, 0, 32, 0, 34, 0, 38, 0, 34, 0, 35, 0, 39, 0, 42, 0, 41, 0, 39, 0, 40, 0, 42, 0, 36, 0, 37, 0, 35, 0, 42, 0, 47, 0, 41, 0, 44, 0, 47, 0, 46, 0, 47, 0, 43, 0, 41, 0, 47, 0, 44, 0, 43, 0, 45, 0, 44, 0, 46, 0, 38, 0, 46, 0, 47, 0, 38, 0, 37, 0, 46, 0, 35, 0, 43, 0, 44, 0, 35, 0, 34, 0, 43, 0, 32, 0, 39, 0, 41, 0, 32, 0, 30, 0, 39, 0, 34, 0, 41, 0, 43, 0, 34, 0, 32, 0, 41, 0, 36, 0, 44, 0, 45, 0, 36, 0, 35, 0, 44, 0, 31, 0, 42, 0, 40, 0, 31, 0, 33, 0, 42, 0, 30, 0, 40, 0, 39, 0, 30, 0, 31, 0, 40, 0, 37, 0, 45, 0, 46, 0, 37, 0, 36, 0, 45, 0, 33, 0, 47, 0, 42, 0, 33, 0, 38, 0, 47, 0, 60, 0, 81, 0, 61, 0, 60, 0, 72, 0, 81, 0, 61, 0, 86, 0, 49, 0, 61, 0, 81, 0, 86, 0, 49, 0, 91, 0, 54, 0, 49, 0, 86, 0, 91, 0, 54, 0, 96, 0, 53, 0, 54, 0, 91, 0, 96, 0, 53, 0, 101, 0, 52, 0, 53, 0, 96, 0, 101, 0, 52, 0, 106, 0, 51, 0, 52, 0, 101, 0, 106, 0, 51, 0, 111, 0, 50, 0, 51, 0, 106, 0, 111, 0, 50, 0, 116, 0, 48, 0, 50, 0, 111, 0, 116, 0, 48, 0, 121, 0, 57, 0, 48, 0, 116, 0, 121, 0, 57, 0, 126, 0, 58, 0, 57, 0, 121, 0, 126, 0, 58, 0, 131, 0, 59, 0, 58, 0, 126, 0, 131, 0, 59, 0, 72, 0, 60, 0, 59, 0, 131, 0, 72, 0, 72, 0, 80, 0, 81, 0, 72, 0, 73, 0, 80, 0, 73, 0, 79, 0, 80, 0, 73, 0, 74, 0, 79, 0, 74, 0, 78, 0, 79, 0, 74, 0, 75, 0, 78, 0, 75, 0, 77, 0, 78, 0, 75, 0, 76, 0, 77, 0, 76, 0, 71, 0, 77, 0, 76, 0, 70, 0, 71, 0, 81, 0, 85, 0, 86, 0, 81, 0, 80, 0, 85, 0, 80, 0, 84, 0, 85, 0, 80, 0, 79, 0, 84, 0, 79, 0, 83, 0, 84, 0, 79, 0, 78, 0, 83, 0, 78, 0, 82, 0, 83, 0, 78, 0, 77, 0, 82, 0, 77, 0, 55, 0, 82, 0, 77, 0, 71, 0, 55, 0, 86, 0, 90, 0, 91, 0, 86, 0, 85, 0, 90, 0, 85, 0, 89, 0, 90, 0, 85, 0, 84, 0, 89, 0, 84, 0, 88, 0, 89, 0, 84, 0, 83, 0, 88, 0, 83, 0, 87, 0, 88, 0, 83, 0, 82, 0, 87, 0, 82, 0, 66, 0, 87, 0, 82, 0, 55, 0, 66, 0, 91, 0, 95, 0, 96, 0, 91, 0, 90, 0, 95, 0, 90, 0, 94, 0, 95, 0, 90, 0, 89, 0, 94, 0, 89, 0, 93, 0, 94, 0, 89, 0, 88, 0, 93, 0, 88, 0, 92, 0, 93, 0, 88, 0, 87, 0, 92, 0, 87, 0, 65, 0, 92, 0, 87, 0, 66, 0, 65, 0, 96, 0, 100, 0, 101, 0, 96, 0, 95, 0, 100, 0, 95, 0, 99, 0, 100, 0, 95, 0, 94, 0, 99, 0, 94, 0, 98, 0, 99, 0, 94, 0, 93, 0, 98, 0, 93, 0, 97, 0, 98, 0, 93, 0, 92, 0, 97, 0, 92, 0, 64, 0, 97, 0, 92, 0, 65, 0, 64, 0, 101, 0, 105, 0, 106, 0, 101, 0, 100, 0, 105, 0, 100, 0, 104, 0, 105, 0, 100, 0, 99, 0, 104, 0, 99, 0, 103, 0, 104, 0, 99, 0, 98, 0, 103, 0, 98, 0, 102, 0, 103, 0, 98, 0, 97, 0, 102, 0, 97, 0, 63, 0, 102, 0, 97, 0, 64, 0, 63, 0, 106, 0, 110, 0, 111, 0, 106, 0, 105, 0, 110, 0, 105, 0, 109, 0, 110, 0, 105, 0, 104, 0, 109, 0, 104, 0, 108, 0, 109, 0, 104, 0, 103, 0, 108, 0, 103, 0, 107, 0, 108, 0, 103, 0, 102, 0, 107, 0, 102, 0, 62, 0, 107, 0, 102, 0, 63, 0, 62, 0, 111, 0, 115, 0, 116, 0, 111, 0, 110, 0, 115, 0, 110, 0, 114, 0, 115, 0, 110, 0, 109, 0, 114, 0, 109, 0, 113, 0, 114, 0, 109, 0, 108, 0, 113, 0, 108, 0, 112, 0, 113, 0, 108, 0, 107, 0, 112, 0, 107, 0, 56, 0, 112, 0, 107, 0, 62, 0, 56, 0, 116, 0, 120, 0, 121, 0, 116, 0, 115, 0, 120, 0, 115, 0, 119, 0, 120, 0, 115, 0, 114, 0, 119, 0, 114, 0, 118, 0, 119, 0, 114, 0, 113, 0, 118, 0, 113, 0, 117, 0, 118, 0, 113, 0, 112, 0, 117, 0, 112, 0, 67, 0, 117, 0, 112, 0, 56, 0, 67, 0, 121, 0, 125, 0, 126, 0, 121, 0, 120, 0, 125, 0, 120, 0, 124, 0, 125, 0, 120, 0, 119, 0, 124, 0, 119, 0, 123, 0, 124, 0, 119, 0, 118, 0, 123, 0, 118, 0, 122, 0, 123, 0, 118, 0, 117, 0, 122, 0, 117, 0, 68, 0, 122, 0, 117, 0, 67, 0, 68, 0, 126, 0, 130, 0, 131, 0, 126, 0, 125, 0, 130, 0, 125, 0, 129, 0, 130, 0, 125, 0, 124, 0, 129, 0, 124, 0, 128, 0, 129, 0, 124, 0, 123, 0, 128, 0, 123, 0, 127, 0, 128, 0, 123, 0, 122, 0, 127, 0, 122, 0, 69, 0, 127, 0, 122, 0, 68, 0, 69, 0, 131, 0, 73, 0, 72, 0, 131, 0, 130, 0, 73, 0, 130, 0, 74, 0, 73, 0, 130, 0, 129, 0, 74, 0, 129, 0, 75, 0, 74, 0, 129, 0, 128, 0, 75, 0, 128, 0, 76, 0, 75, 0, 128, 0, 127, 0, 76, 0, 127, 0, 70, 0, 76, 0, 127, 0, 69, 0, 70, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 33, 0, 32, 0, 38, 0, 35, 0, 37, 0, 38, 0, 38, 0, 32, 0, 34, 0, 38, 0, 34, 0, 35, 0, 39, 0, 42, 0, 41, 0, 39, 0, 40, 0, 42, 0, 36, 0, 37, 0, 35, 0, 42, 0, 47, 0, 41, 0, 44, 0, 47, 0, 46, 0, 47, 0, 43, 0, 41, 0, 47, 0, 44, 0, 43, 0, 45, 0, 44, 0, 46, 0, 38, 0, 46, 0, 47, 0, 38, 0, 37, 0, 46, 0, 35, 0, 43, 0, 44, 0, 35, 0, 34, 0, 43, 0, 32, 0, 39, 0, 41, 0, 32, 0, 30, 0, 39, 0, 34, 0, 41, 0, 43, 0, 34, 0, 32, 0, 41, 0, 36, 0, 44, 0, 45, 0, 36, 0, 35, 0, 44, 0, 31, 0, 42, 0, 40, 0, 31, 0, 33, 0, 42, 0, 30, 0, 40, 0, 39, 0, 30, 0, 31, 0, 40, 0, 37, 0, 45, 0, 46, 0, 37, 0, 36, 0, 45, 0, 33, 0, 47, 0, 42, 0, 33, 0, 38, 0, 47, 0, 137, 0, 138, 0, 139, 0, 137, 0, 150, 0, 138, 0, 134, 0, 151, 0, 142, 0, 134, 0, 135, 0, 151, 0, 145, 0, 132, 0, 133, 0, 145, 0, 148, 0, 132, 0, 140, 0, 149, 0, 146, 0, 140, 0, 141, 0, 149, 0, 146, 0, 148, 0, 145, 0, 146, 0, 149, 0, 148, 0, 150, 0, 142, 0, 151, 0, 150, 0, 137, 0, 142, 0, 133, 0, 0, 0, 2, 0, 0, 0, 135, 0, 134, 0, 135, 0, 133, 0, 132, 0, 0, 0, 133, 0, 135, 0, 164, 0, 181, 0, 165, 0, 164, 0, 180, 0, 181, 0, 159, 0, 172, 0, 156, 0, 159, 0, 174, 0, 172, 0, 160, 0, 177, 0, 161, 0, 160, 0, 176, 0, 177, 0, 156, 0, 173, 0, 157, 0, 156, 0, 172, 0, 173, 0, 154, 0, 152, 0, 153, 0, 154, 0, 155, 0, 152, 0, 147, 0, 152, 0, 144, 0, 147, 0, 153, 0, 152, 0, 136, 0, 153, 0, 147, 0, 136, 0, 154, 0, 153, 0, 143, 0, 154, 0, 136, 0, 143, 0, 155, 0, 154, 0, 144, 0, 157, 0, 147, 0, 144, 0, 156, 0, 157, 0, 147, 0, 158, 0, 149, 0, 147, 0, 157, 0, 158, 0, 149, 0, 159, 0, 148, 0, 149, 0, 158, 0, 159, 0, 148, 0, 156, 0, 144, 0, 148, 0, 159, 0, 156, 0, 136, 0, 161, 0, 143, 0, 136, 0, 160, 0, 161, 0, 143, 0, 162, 0, 151, 0, 143, 0, 161, 0, 162, 0, 151, 0, 163, 0, 150, 0, 151, 0, 162, 0, 163, 0, 150, 0, 160, 0, 136, 0, 150, 0, 163, 0, 160, 0, 143, 0, 165, 0, 144, 0, 143, 0, 164, 0, 165, 0, 144, 0, 166, 0, 148, 0, 144, 0, 165, 0, 166, 0, 148, 0, 167, 0, 151, 0, 148, 0, 166, 0, 167, 0, 151, 0, 164, 0, 143, 0, 151, 0, 167, 0, 164, 0, 147, 0, 169, 0, 136, 0, 147, 0, 168, 0, 169, 0, 136, 0, 170, 0, 150, 0, 136, 0, 169, 0, 170, 0, 150, 0, 171, 0, 149, 0, 150, 0, 170, 0, 171, 0, 149, 0, 168, 0, 147, 0, 149, 0, 171, 0, 168, 0, 172, 0, 175, 0, 173, 0, 172, 0, 174, 0, 175, 0, 176, 0, 179, 0, 177, 0, 176, 0, 178, 0, 179, 0, 180, 0, 183, 0, 181, 0, 180, 0, 182, 0, 183, 0, 184, 0, 187, 0, 185, 0, 184, 0, 186, 0, 187, 0, 163, 0, 176, 0, 160, 0, 163, 0, 178, 0, 176, 0, 168, 0, 185, 0, 169, 0, 168, 0, 184, 0, 185, 0, 157, 0, 175, 0, 158, 0, 157, 0, 173, 0, 175, 0, 167, 0, 180, 0, 164, 0, 167, 0, 182, 0, 180, 0, 161, 0, 179, 0, 162, 0, 161, 0, 177, 0, 179, 0, 171, 0, 184, 0, 168, 0, 171, 0, 186, 0, 184, 0, 158, 0, 174, 0, 159, 0, 158, 0, 175, 0, 174, 0, 165, 0, 183, 0, 166, 0, 165, 0, 181, 0, 183, 0, 162, 0, 178, 0, 163, 0, 162, 0, 179, 0, 178, 0, 169, 0, 187, 0, 170, 0, 169, 0, 185, 0, 187, 0, 166, 0, 182, 0, 167, 0, 166, 0, 183, 0, 182, 0, 170, 0, 186, 0, 171, 0, 170, 0, 187, 0, 186, 0, 4, 0, 5, 0, 6, 0, 4, 0, 1, 0, 5, 0, 0, 0, 7, 0, 2, 0, 0, 0, 3, 0, 7, 0), +"lods": [0.111648, PackedByteArray(4, 0, 139, 0, 1, 0, 8, 0, 4, 0, 9, 0, 8, 0, 3, 0, 4, 0, 4, 0, 3, 0, 134, 0, 4, 0, 134, 0, 139, 0, 0, 0, 134, 0, 3, 0, 150, 0, 139, 0, 134, 0, 139, 0, 150, 0, 138, 0, 150, 0, 134, 0, 151, 0, 134, 0, 135, 0, 151, 0, 7, 0, 6, 0, 133, 0, 11, 0, 6, 0, 7, 0, 11, 0, 10, 0, 6, 0, 7, 0, 133, 0, 2, 0, 5, 0, 133, 0, 6, 0, 5, 0, 140, 0, 133, 0, 140, 0, 149, 0, 133, 0, 140, 0, 141, 0, 149, 0, 133, 0, 149, 0, 148, 0, 133, 0, 148, 0, 132, 0, 9, 0, 11, 0, 8, 0, 9, 0, 10, 0, 11, 0, 4, 0, 10, 0, 9, 0, 4, 0, 6, 0, 10, 0, 7, 0, 8, 0, 11, 0, 7, 0, 3, 0, 8, 0, 144, 0, 155, 0, 143, 0, 144, 0, 152, 0, 155, 0, 138, 0, 149, 0, 141, 0, 138, 0, 150, 0, 149, 0, 150, 0, 171, 0, 149, 0, 149, 0, 171, 0, 168, 0, 150, 0, 170, 0, 171, 0, 149, 0, 168, 0, 147, 0, 147, 0, 168, 0, 169, 0, 147, 0, 158, 0, 149, 0, 149, 0, 158, 0, 159, 0, 147, 0, 157, 0, 158, 0, 149, 0, 159, 0, 148, 0, 147, 0, 169, 0, 136, 0, 136, 0, 169, 0, 170, 0, 136, 0, 170, 0, 150, 0, 144, 0, 157, 0, 147, 0, 148, 0, 159, 0, 156, 0, 144, 0, 156, 0, 157, 0, 148, 0, 156, 0, 144, 0, 150, 0, 160, 0, 136, 0, 136, 0, 160, 0, 161, 0, 150, 0, 163, 0, 160, 0, 136, 0, 161, 0, 143, 0, 151, 0, 163, 0, 150, 0, 151, 0, 162, 0, 163, 0, 143, 0, 161, 0, 162, 0, 143, 0, 162, 0, 151, 0, 151, 0, 132, 0, 148, 0, 151, 0, 135, 0, 132, 0, 151, 0, 164, 0, 143, 0, 143, 0, 164, 0, 165, 0, 143, 0, 165, 0, 144, 0, 151, 0, 167, 0, 164, 0, 148, 0, 167, 0, 151, 0, 144, 0, 165, 0, 166, 0, 148, 0, 166, 0, 167, 0, 144, 0, 166, 0, 148, 0, 139, 0, 5, 0, 1, 0, 5, 0, 139, 0, 141, 0, 141, 0, 139, 0, 138, 0, 5, 0, 141, 0, 140, 0, 12, 0, 15, 0, 16, 0, 12, 0, 13, 0, 15, 0, 15, 0, 17, 0, 16, 0, 17, 0, 15, 0, 19, 0, 18, 0, 17, 0, 19, 0, 21, 0, 29, 0, 22, 0, 21, 0, 23, 0, 29, 0, 29, 0, 23, 0, 26, 0, 26, 0, 28, 0, 29, 0, 27, 0, 28, 0, 26, 0, 15, 0, 28, 0, 19, 0, 15, 0, 29, 0, 28, 0, 13, 0, 29, 0, 15, 0, 13, 0, 22, 0, 29, 0, 17, 0, 23, 0, 16, 0, 17, 0, 26, 0, 23, 0, 16, 0, 23, 0, 21, 0, 16, 0, 21, 0, 12, 0, 18, 0, 26, 0, 17, 0, 18, 0, 27, 0, 26, 0, 19, 0, 27, 0, 18, 0, 19, 0, 28, 0, 27, 0, 12, 0, 22, 0, 13, 0, 12, 0, 21, 0, 22, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 33, 0, 32, 0, 38, 0, 38, 0, 32, 0, 34, 0, 38, 0, 34, 0, 35, 0, 35, 0, 37, 0, 38, 0, 36, 0, 37, 0, 35, 0, 39, 0, 42, 0, 41, 0, 39, 0, 40, 0, 42, 0, 42, 0, 47, 0, 41, 0, 47, 0, 43, 0, 41, 0, 47, 0, 44, 0, 43, 0, 44, 0, 47, 0, 46, 0, 45, 0, 44, 0, 46, 0, 38, 0, 46, 0, 47, 0, 38, 0, 37, 0, 46, 0, 33, 0, 38, 0, 47, 0, 33, 0, 47, 0, 42, 0, 31, 0, 33, 0, 42, 0, 31, 0, 42, 0, 40, 0, 35, 0, 43, 0, 44, 0, 35, 0, 34, 0, 43, 0, 34, 0, 41, 0, 43, 0, 34, 0, 32, 0, 41, 0, 32, 0, 39, 0, 41, 0, 32, 0, 30, 0, 39, 0, 36, 0, 44, 0, 45, 0, 36, 0, 35, 0, 44, 0, 37, 0, 36, 0, 45, 0, 37, 0, 45, 0, 46, 0, 30, 0, 40, 0, 39, 0, 30, 0, 31, 0, 40, 0, 60, 0, 76, 0, 61, 0, 76, 0, 71, 0, 61, 0, 76, 0, 70, 0, 71, 0, 61, 0, 71, 0, 55, 0, 61, 0, 55, 0, 49, 0, 49, 0, 55, 0, 54, 0, 55, 0, 66, 0, 54, 0, 54, 0, 66, 0, 92, 0, 66, 0, 65, 0, 92, 0, 54, 0, 92, 0, 53, 0, 53, 0, 92, 0, 52, 0, 92, 0, 64, 0, 52, 0, 92, 0, 65, 0, 64, 0, 52, 0, 64, 0, 107, 0, 64, 0, 63, 0, 107, 0, 107, 0, 63, 0, 62, 0, 52, 0, 107, 0, 51, 0, 51, 0, 107, 0, 50, 0, 50, 0, 107, 0, 48, 0, 107, 0, 56, 0, 48, 0, 107, 0, 62, 0, 56, 0, 48, 0, 56, 0, 122, 0, 48, 0, 122, 0, 57, 0, 56, 0, 67, 0, 122, 0, 67, 0, 68, 0, 122, 0, 57, 0, 122, 0, 58, 0, 58, 0, 122, 0, 59, 0, 122, 0, 69, 0, 59, 0, 122, 0, 68, 0, 69, 0, 59, 0, 69, 0, 76, 0, 69, 0, 70, 0, 76, 0, 59, 0, 76, 0, 60, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 33, 0, 32, 0, 38, 0, 38, 0, 32, 0, 34, 0, 38, 0, 34, 0, 35, 0, 35, 0, 37, 0, 38, 0, 36, 0, 37, 0, 35, 0, 39, 0, 42, 0, 41, 0, 39, 0, 40, 0, 42, 0, 42, 0, 47, 0, 41, 0, 47, 0, 43, 0, 41, 0, 47, 0, 44, 0, 43, 0, 44, 0, 47, 0, 46, 0, 45, 0, 44, 0, 46, 0, 38, 0, 46, 0, 47, 0, 38, 0, 37, 0, 46, 0, 33, 0, 38, 0, 47, 0, 33, 0, 47, 0, 42, 0, 31, 0, 33, 0, 42, 0, 31, 0, 42, 0, 40, 0, 35, 0, 43, 0, 44, 0, 35, 0, 34, 0, 43, 0, 34, 0, 41, 0, 43, 0, 34, 0, 32, 0, 41, 0, 32, 0, 39, 0, 41, 0, 32, 0, 30, 0, 39, 0, 36, 0, 44, 0, 45, 0, 36, 0, 35, 0, 44, 0, 37, 0, 36, 0, 45, 0, 37, 0, 45, 0, 46, 0, 30, 0, 40, 0, 39, 0, 30, 0, 31, 0, 40, 0, 133, 0, 0, 0, 2, 0, 0, 0, 133, 0, 135, 0, 135, 0, 133, 0, 132, 0, 0, 0, 135, 0, 134, 0, 164, 0, 181, 0, 165, 0, 165, 0, 181, 0, 183, 0, 165, 0, 183, 0, 166, 0, 159, 0, 173, 0, 156, 0, 159, 0, 174, 0, 173, 0, 160, 0, 177, 0, 161, 0, 161, 0, 177, 0, 179, 0, 161, 0, 179, 0, 162, 0, 156, 0, 173, 0, 157, 0, 157, 0, 173, 0, 175, 0, 157, 0, 175, 0, 158, 0, 154, 0, 152, 0, 153, 0, 154, 0, 155, 0, 152, 0, 147, 0, 152, 0, 144, 0, 147, 0, 153, 0, 152, 0, 136, 0, 153, 0, 147, 0, 136, 0, 154, 0, 153, 0, 143, 0, 154, 0, 136, 0, 143, 0, 155, 0, 154, 0, 173, 0, 174, 0, 175, 0, 177, 0, 178, 0, 179, 0, 181, 0, 182, 0, 183, 0, 185, 0, 186, 0, 187, 0, 163, 0, 177, 0, 160, 0, 163, 0, 178, 0, 177, 0, 168, 0, 185, 0, 169, 0, 169, 0, 185, 0, 187, 0, 169, 0, 187, 0, 170, 0, 167, 0, 181, 0, 164, 0, 167, 0, 182, 0, 181, 0, 171, 0, 185, 0, 168, 0, 171, 0, 186, 0, 185, 0, 158, 0, 174, 0, 159, 0, 158, 0, 175, 0, 174, 0, 162, 0, 178, 0, 163, 0, 162, 0, 179, 0, 178, 0, 166, 0, 182, 0, 167, 0, 166, 0, 183, 0, 182, 0, 170, 0, 186, 0, 171, 0, 170, 0, 187, 0, 186, 0, 4, 0, 5, 0, 6, 0, 4, 0, 1, 0, 5, 0, 0, 0, 7, 0, 2, 0, 0, 0, 3, 0, 7, 0)], +"name": "Material.006", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 188, +"vertex_data": PackedByteArray(158, 21, 0, 0, 254, 255, 0, 0, 158, 21, 0, 0, 0, 0, 0, 0, 158, 21, 255, 255, 254, 255, 0, 0, 158, 21, 0, 0, 169, 170, 0, 0, 158, 21, 0, 0, 84, 85, 0, 0, 158, 21, 255, 255, 0, 0, 0, 0, 158, 21, 255, 255, 84, 85, 0, 0, 158, 21, 255, 255, 169, 170, 0, 0, 0, 0, 0, 0, 169, 170, 0, 0, 0, 0, 0, 0, 84, 85, 0, 0, 0, 0, 255, 255, 84, 85, 0, 0, 0, 0, 255, 255, 169, 170, 0, 0, 88, 57, 207, 34, 184, 218, 0, 0, 88, 57, 47, 221, 184, 218, 0, 0, 85, 230, 78, 75, 184, 218, 0, 0, 85, 230, 168, 180, 184, 218, 0, 0, 49, 243, 115, 82, 184, 218, 0, 0, 144, 252, 176, 101, 184, 218, 0, 0, 255, 255, 248, 127, 184, 218, 0, 0, 144, 252, 63, 154, 184, 218, 0, 0, 49, 243, 124, 173, 184, 218, 0, 0, 88, 57, 207, 34, 203, 203, 0, 0, 88, 57, 47, 221, 203, 203, 0, 0, 85, 230, 78, 75, 203, 203, 0, 0, 85, 230, 168, 180, 203, 203, 0, 0, 49, 243, 115, 82, 203, 203, 0, 0, 144, 252, 176, 101, 203, 203, 0, 0, 255, 255, 248, 127, 203, 203, 0, 0, 144, 252, 63, 154, 203, 203, 0, 0, 49, 243, 124, 173, 203, 203, 0, 0, 88, 57, 207, 34, 70, 37, 0, 0, 88, 57, 47, 221, 70, 37, 0, 0, 85, 230, 78, 75, 70, 37, 0, 0, 85, 230, 168, 180, 70, 37, 0, 0, 49, 243, 115, 82, 70, 37, 0, 0, 144, 252, 176, 101, 70, 37, 0, 0, 255, 255, 248, 127, 70, 37, 0, 0, 144, 252, 63, 154, 70, 37, 0, 0, 49, 243, 124, 173, 70, 37, 0, 0, 88, 57, 207, 34, 51, 52, 0, 0, 88, 57, 47, 221, 51, 52, 0, 0, 85, 230, 78, 75, 51, 52, 0, 0, 85, 230, 168, 180, 51, 52, 0, 0, 49, 243, 115, 82, 51, 52, 0, 0, 144, 252, 176, 101, 51, 52, 0, 0, 255, 255, 248, 127, 51, 52, 0, 0, 144, 252, 63, 154, 51, 52, 0, 0, 49, 243, 124, 173, 51, 52, 0, 0, 88, 230, 150, 87, 81, 208, 0, 0, 88, 230, 95, 168, 81, 208, 0, 0, 50, 240, 17, 93, 81, 208, 0, 0, 98, 247, 209, 107, 81, 208, 0, 0, 3, 250, 248, 127, 81, 208, 0, 0, 98, 247, 30, 148, 81, 208, 0, 0, 50, 240, 223, 162, 81, 208, 0, 0, 88, 230, 95, 168, 173, 47, 0, 0, 88, 230, 150, 87, 173, 47, 0, 0, 127, 220, 17, 93, 81, 208, 0, 0, 79, 213, 209, 107, 81, 208, 0, 0, 173, 210, 248, 127, 81, 208, 0, 0, 79, 213, 30, 148, 81, 208, 0, 0, 127, 220, 223, 162, 81, 208, 0, 0, 50, 240, 17, 93, 173, 47, 0, 0, 98, 247, 209, 107, 173, 47, 0, 0, 3, 250, 248, 127, 173, 47, 0, 0, 98, 247, 30, 148, 173, 47, 0, 0, 50, 240, 223, 162, 173, 47, 0, 0, 127, 220, 17, 93, 173, 47, 0, 0, 79, 213, 209, 107, 173, 47, 0, 0, 173, 210, 248, 127, 173, 47, 0, 0, 79, 213, 30, 148, 173, 47, 0, 0, 127, 220, 223, 162, 173, 47, 0, 0, 34, 211, 177, 150, 175, 179, 0, 0, 211, 209, 61, 152, 72, 153, 0, 0, 100, 209, 193, 152, 255, 127, 0, 0, 211, 209, 61, 152, 182, 102, 0, 0, 34, 211, 177, 150, 79, 76, 0, 0, 61, 219, 84, 167, 79, 76, 0, 0, 123, 218, 1, 170, 182, 102, 0, 0, 59, 218, 230, 170, 255, 127, 0, 0, 123, 218, 1, 170, 72, 153, 0, 0, 61, 219, 84, 167, 175, 179, 0, 0, 88, 230, 137, 173, 79, 76, 0, 0, 88, 230, 162, 176, 182, 102, 0, 0, 88, 230, 170, 177, 255, 127, 0, 0, 88, 230, 162, 176, 72, 153, 0, 0, 88, 230, 137, 173, 175, 179, 0, 0, 116, 241, 84, 167, 79, 76, 0, 0, 54, 242, 1, 170, 182, 102, 0, 0, 118, 242, 230, 170, 255, 127, 0, 0, 54, 242, 1, 170, 72, 153, 0, 0, 116, 241, 84, 167, 175, 179, 0, 0, 143, 249, 177, 150, 79, 76, 0, 0, 222, 250, 61, 152, 182, 102, 0, 0, 77, 251, 193, 152, 255, 127, 0, 0, 222, 250, 61, 152, 72, 153, 0, 0, 143, 249, 177, 150, 175, 179, 0, 0, 135, 252, 248, 127, 79, 76, 0, 0, 9, 254, 248, 127, 182, 102, 0, 0, 137, 254, 247, 127, 255, 127, 0, 0, 9, 254, 248, 127, 72, 153, 0, 0, 135, 252, 248, 127, 175, 179, 0, 0, 143, 249, 62, 105, 79, 76, 0, 0, 222, 250, 178, 103, 182, 102, 0, 0, 77, 251, 46, 103, 255, 127, 0, 0, 222, 250, 178, 103, 72, 153, 0, 0, 143, 249, 62, 105, 175, 179, 0, 0, 116, 241, 155, 88, 79, 76, 0, 0, 54, 242, 238, 85, 182, 102, 0, 0, 118, 242, 9, 85, 255, 127, 0, 0, 54, 242, 238, 85, 72, 153, 0, 0, 116, 241, 155, 88, 175, 179, 0, 0, 88, 230, 109, 82, 79, 76, 0, 0, 88, 230, 84, 79, 182, 102, 0, 0, 88, 230, 76, 78, 255, 127, 0, 0, 88, 230, 84, 79, 72, 153, 0, 0, 88, 230, 109, 82, 175, 179, 0, 0, 61, 219, 155, 88, 79, 76, 0, 0, 123, 218, 238, 85, 182, 102, 0, 0, 59, 218, 9, 85, 255, 127, 0, 0, 123, 218, 238, 85, 72, 153, 0, 0, 61, 219, 155, 88, 175, 179, 0, 0, 34, 211, 62, 105, 79, 76, 0, 0, 211, 209, 178, 103, 182, 102, 0, 0, 100, 209, 46, 103, 255, 127, 0, 0, 211, 209, 178, 103, 72, 153, 0, 0, 34, 211, 62, 105, 175, 179, 0, 0, 42, 208, 248, 127, 79, 76, 0, 0, 168, 206, 248, 127, 182, 102, 0, 0, 39, 206, 247, 127, 255, 127, 0, 0, 168, 206, 247, 127, 72, 153, 0, 0, 42, 208, 248, 127, 175, 179, 0, 0, 38, 59, 124, 236, 254, 255, 0, 0, 164, 49, 255, 255, 254, 255, 0, 0, 164, 49, 0, 0, 254, 255, 0, 0, 38, 59, 130, 19, 254, 255, 0, 0, 38, 59, 110, 61, 24, 102, 0, 0, 164, 49, 0, 0, 84, 85, 0, 0, 38, 59, 130, 19, 0, 0, 0, 0, 164, 49, 0, 0, 0, 0, 0, 0, 164, 49, 255, 255, 0, 0, 0, 0, 38, 59, 124, 236, 0, 0, 0, 0, 164, 49, 0, 0, 169, 170, 0, 0, 38, 59, 110, 61, 230, 153, 0, 0, 38, 59, 144, 194, 230, 153, 0, 0, 164, 49, 255, 255, 169, 170, 0, 0, 164, 49, 255, 255, 84, 85, 0, 0, 38, 59, 144, 194, 24, 102, 0, 0, 38, 59, 124, 236, 169, 170, 0, 0, 38, 59, 124, 236, 84, 85, 0, 0, 38, 59, 130, 19, 84, 85, 0, 0, 38, 59, 130, 19, 169, 170, 0, 0, 142, 52, 144, 194, 230, 153, 0, 0, 142, 52, 144, 194, 24, 102, 0, 0, 142, 52, 110, 61, 24, 102, 0, 0, 142, 52, 110, 61, 230, 153, 0, 0, 38, 59, 189, 202, 139, 152, 0, 0, 38, 59, 189, 202, 115, 103, 0, 0, 38, 59, 79, 228, 57, 93, 0, 0, 38, 59, 79, 228, 197, 162, 0, 0, 38, 59, 65, 53, 115, 103, 0, 0, 38, 59, 65, 53, 139, 152, 0, 0, 38, 59, 175, 27, 197, 162, 0, 0, 38, 59, 175, 27, 57, 93, 0, 0, 38, 59, 209, 64, 43, 157, 0, 0, 38, 59, 45, 191, 43, 157, 0, 0, 38, 59, 191, 216, 100, 167, 0, 0, 38, 59, 63, 39, 100, 167, 0, 0, 38, 59, 45, 191, 211, 98, 0, 0, 38, 59, 209, 64, 211, 98, 0, 0, 38, 59, 63, 39, 153, 88, 0, 0, 38, 59, 191, 216, 153, 88, 0, 0, 12, 56, 189, 202, 139, 152, 0, 0, 12, 56, 189, 202, 115, 103, 0, 0, 12, 56, 79, 228, 197, 162, 0, 0, 12, 56, 79, 228, 57, 93, 0, 0, 12, 56, 65, 53, 115, 103, 0, 0, 12, 56, 65, 53, 139, 152, 0, 0, 12, 56, 175, 27, 57, 93, 0, 0, 12, 56, 175, 27, 197, 162, 0, 0, 12, 56, 209, 64, 43, 157, 0, 0, 12, 56, 45, 191, 43, 157, 0, 0, 12, 56, 63, 39, 100, 167, 0, 0, 12, 56, 191, 216, 100, 167, 0, 0, 12, 56, 45, 191, 211, 98, 0, 0, 12, 56, 209, 64, 211, 98, 0, 0, 12, 56, 191, 216, 153, 88, 0, 0, 12, 56, 63, 39, 153, 88, 0, 0) +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_7e5qf"] +resource_name = "switchHandle - Texture_Cube_002" +_surfaces = [{ +"aabb": AABB(0.245259, -1.69553, -0.721371, 1.18422, 0.576978, 1.44275), +"attribute_data": PackedByteArray(221, 99, 119, 127, 217, 150, 62, 51, 68, 231, 249, 25, 221, 99, 252, 253, 58, 120, 62, 51, 17, 174, 46, 34, 217, 71, 119, 127, 217, 150, 125, 63, 68, 231, 146, 76, 221, 99, 164, 169, 221, 99, 164, 169, 164, 140, 62, 51, 92, 194, 37, 24, 221, 99, 208, 211, 221, 99, 208, 211, 111, 130, 62, 51, 73, 235, 249, 25, 217, 71, 252, 253, 58, 120, 125, 63, 17, 174, 199, 84, 217, 71, 208, 211, 217, 71, 208, 211, 111, 130, 125, 63, 73, 235, 146, 76, 217, 71, 164, 169, 217, 71, 164, 169, 164, 140, 125, 63, 92, 194, 189, 74, 162, 108, 164, 169, 211, 154, 46, 34, 33, 203, 37, 24, 162, 108, 208, 211, 167, 112, 46, 34, 14, 244, 249, 25, 158, 80, 208, 211, 167, 112, 199, 84, 14, 244, 146, 76, 158, 80, 164, 169, 211, 154, 199, 84, 33, 203, 189, 74, 2, 2, 221, 42, 45, 32, 2, 2, 145, 185, 199, 84, 45, 32, 216, 38, 216, 38, 221, 42, 252, 216, 176, 173, 3, 10, 10, 113, 145, 185, 160, 13, 214, 30, 10, 113, 252, 216, 215, 244, 108, 11, 65, 118, 145, 185, 86, 8, 58, 15, 14, 122, 179, 43, 70, 28, 145, 185, 123, 4, 107, 20, 115, 123, 179, 43, 143, 33, 157, 25, 14, 122, 179, 43, 216, 38, 252, 216, 252, 253, 107, 29, 65, 118, 252, 216, 33, 250, 204, 24, 2, 2, 129, 153, 204, 88, 22, 178, 199, 84, 204, 24, 216, 38, 88, 190, 204, 88, 118, 224, 176, 173, 131, 161, 249, 158, 22, 178, 160, 13, 85, 182, 249, 158, 118, 224, 215, 244, 236, 162, 48, 164, 22, 178, 86, 8, 50, 36, 70, 28, 185, 166, 253, 167, 22, 178, 123, 4, 50, 36, 143, 33, 235, 171, 97, 169, 50, 36, 216, 38, 29, 177, 253, 167, 118, 224, 252, 253, 234, 180, 48, 164, 118, 224, 33, 250, 2, 2, 2, 2, 167, 112, 102, 173, 165, 252, 206, 82, 2, 2, 216, 38, 125, 149, 102, 173, 37, 241, 206, 82, 168, 120, 147, 243, 165, 252, 245, 153, 122, 141, 147, 243, 37, 241, 245, 153, 17, 122, 202, 248, 165, 252, 62, 159, 62, 59, 70, 28, 222, 125, 152, 252, 165, 252, 25, 163, 62, 59, 143, 33, 16, 131, 252, 253, 62, 59, 216, 38, 66, 136, 152, 252, 37, 241, 25, 163, 15, 140, 202, 248, 37, 241, 62, 159, 98, 9, 2, 2, 167, 112, 204, 88, 42, 245, 206, 82, 98, 9, 216, 38, 125, 149, 204, 88, 170, 233, 206, 82, 168, 120, 249, 158, 42, 245, 245, 153, 122, 141, 249, 158, 170, 233, 245, 153, 17, 122, 48, 164, 42, 245, 62, 159, 191, 66, 70, 28, 222, 125, 253, 167, 42, 245, 25, 163, 191, 66, 143, 33, 16, 131, 97, 169, 191, 66, 216, 38, 66, 136, 253, 167, 170, 233, 25, 163, 15, 140, 48, 164, 170, 233, 62, 159, 105, 202, 210, 78, 170, 203, 30, 167, 59, 96, 115, 123, 44, 198, 225, 78, 36, 93, 115, 123, 234, 88, 115, 123, 177, 84, 115, 123, 26, 196, 30, 167, 74, 199, 30, 167, 170, 203, 252, 253, 154, 203, 10, 163, 166, 206, 194, 78, 188, 217, 151, 80, 195, 220, 157, 80, 230, 224, 166, 80, 58, 211, 30, 167, 8, 229, 174, 80, 9, 208, 30, 167, 59, 96, 60, 39, 92, 199, 25, 163, 36, 93, 60, 39, 234, 88, 60, 39, 177, 84, 60, 39, 26, 196, 252, 253, 74, 199, 252, 253, 215, 207, 251, 162, 238, 210, 240, 162, 23, 220, 8, 163, 58, 224, 17, 163, 58, 211, 252, 253, 92, 228, 25, 163, 9, 208, 252, 253, 49, 212, 154, 182, 113, 229, 96, 95, 197, 212, 225, 196, 166, 229, 236, 108, 247, 212, 141, 210, 166, 229, 230, 121, 197, 212, 58, 224, 112, 229, 223, 134, 49, 212, 128, 238, 2, 229, 106, 148, 152, 208, 128, 238, 238, 208, 58, 224, 10, 209, 141, 210, 238, 208, 225, 196, 152, 208, 154, 182, 170, 203, 128, 238, 170, 203, 58, 224, 170, 203, 141, 210, 170, 203, 225, 196, 170, 203, 154, 182, 187, 198, 128, 238, 102, 198, 58, 224, 73, 198, 141, 210, 102, 198, 225, 196, 187, 198, 154, 182, 38, 84, 63, 54, 34, 195, 128, 238, 211, 83, 22, 68, 142, 194, 58, 224, 184, 83, 87, 81, 92, 194, 141, 210, 211, 83, 153, 94, 142, 194, 225, 196, 38, 84, 112, 108, 34, 195, 154, 182, 234, 88, 63, 54, 234, 88, 22, 68, 234, 88, 87, 81, 234, 88, 153, 94, 234, 88, 112, 108, 174, 93, 63, 54, 30, 195, 37, 148, 1, 94, 22, 68, 92, 194, 80, 134, 28, 94, 87, 81, 1, 94, 153, 94, 174, 93, 112, 108, 43, 97, 63, 54, 155, 198, 24, 148, 186, 97, 22, 68, 22, 198, 66, 134, 234, 97, 87, 81, 202, 197, 1, 121, 186, 97, 153, 94, 182, 197, 190, 107, 43, 97, 112, 108, 215, 197, 230, 93, 99, 203, 7, 148, 49, 203, 48, 134, 1, 203, 238, 120, 209, 202, 172, 107, 159, 202, 212, 93, 43, 208, 246, 147, 76, 208, 29, 134, 56, 208, 219, 120, 236, 207, 154, 107, 11, 216, 208, 108, 103, 207, 195, 93, 179, 216, 70, 95, 168, 211, 233, 147, 175, 219, 86, 148, 6, 212, 16, 134, 122, 219, 202, 134, 6, 212, 205, 120, 122, 219, 209, 121, 166, 211, 140, 107, 176, 219, 216, 108, 29, 220, 77, 95, 88, 224, 96, 148, 117, 224, 212, 134, 144, 224, 219, 121, 171, 224, 226, 108, 199, 224, 86, 95, 103, 13, 2, 2, 221, 42, 221, 42, 251, 239, 252, 253, 103, 13, 216, 38, 179, 79, 221, 42, 246, 235, 176, 173, 222, 50, 10, 113, 251, 239, 213, 182, 176, 71, 10, 113, 246, 235, 215, 244, 71, 52, 65, 118, 251, 239, 140, 177, 184, 47, 70, 28, 21, 56, 14, 122, 251, 239, 177, 173, 184, 47, 143, 33, 70, 61, 115, 123, 184, 47, 216, 38, 120, 66, 14, 122, 246, 235, 252, 253, 69, 70, 65, 118, 246, 235, 33, 250, 200, 20, 2, 2, 129, 153, 102, 173, 117, 247, 252, 253, 200, 20, 216, 38, 88, 190, 102, 173, 123, 228, 176, 173, 131, 161, 147, 243, 117, 247, 213, 182, 85, 182, 147, 243, 123, 228, 215, 244, 236, 162, 202, 248, 117, 247, 140, 177, 57, 55, 70, 28, 185, 166, 152, 252, 117, 247, 177, 173, 57, 55, 143, 33, 235, 171, 252, 253, 57, 55, 216, 38, 29, 177, 152, 252, 123, 228, 252, 253, 234, 180, 202, 248, 123, 228, 33, 250, 221, 5, 252, 253, 160, 56, 119, 127, 11, 216, 183, 72, 123, 60, 119, 127, 123, 60, 119, 127, 230, 219, 146, 76, 126, 88, 119, 127, 126, 88, 119, 127, 230, 219, 249, 25, 191, 48, 252, 253, 163, 84, 119, 127, 11, 216, 212, 29, 118, 40, 237, 177, 118, 40, 237, 177, 118, 40, 237, 177, 126, 88, 208, 211, 126, 88, 208, 211, 126, 88, 208, 211, 126, 88, 208, 211, 191, 48, 119, 127, 163, 84, 252, 253, 216, 158, 9, 38, 126, 88, 252, 253, 126, 88, 252, 253, 179, 162, 46, 34, 123, 60, 252, 253, 123, 60, 252, 253, 179, 162, 199, 84, 221, 5, 119, 127, 160, 56, 252, 253, 216, 158, 236, 80, 126, 88, 164, 169, 126, 88, 164, 169, 126, 88, 164, 169, 126, 88, 164, 169, 118, 40, 135, 203, 118, 40, 135, 203, 118, 40, 135, 203, 38, 14, 135, 203, 38, 14, 135, 203, 38, 14, 135, 203, 123, 60, 164, 169, 123, 60, 164, 169, 123, 60, 164, 169, 123, 60, 164, 169, 123, 60, 208, 211, 123, 60, 208, 211, 123, 60, 208, 211, 123, 60, 208, 211, 38, 14, 237, 177, 38, 14, 237, 177, 38, 14, 237, 177, 221, 5, 208, 211, 221, 5, 208, 211, 160, 56, 164, 169, 160, 56, 164, 169, 221, 5, 164, 169, 221, 5, 164, 169, 160, 56, 208, 211, 160, 56, 208, 211, 191, 48, 164, 169, 191, 48, 164, 169, 163, 84, 208, 211, 163, 84, 208, 211, 191, 48, 208, 211, 191, 48, 208, 211, 163, 84, 164, 169, 163, 84, 164, 169, 38, 14, 135, 203, 38, 14, 135, 203, 38, 14, 135, 203, 38, 14, 237, 177, 38, 14, 237, 177, 38, 14, 237, 177, 118, 40, 237, 177, 118, 40, 237, 177, 118, 40, 237, 177, 118, 40, 135, 203, 118, 40, 135, 203, 118, 40, 135, 203, 136, 12, 220, 202, 136, 12, 220, 202, 136, 12, 152, 178, 136, 12, 152, 178, 123, 7, 138, 173, 123, 7, 138, 173, 123, 7, 138, 173, 123, 7, 233, 207, 123, 7, 233, 207, 123, 7, 233, 207, 20, 42, 152, 178, 20, 42, 152, 178, 20, 42, 220, 202, 20, 42, 220, 202, 34, 47, 233, 207, 34, 47, 233, 207, 34, 47, 233, 207, 34, 47, 138, 173, 34, 47, 138, 173, 34, 47, 138, 173, 203, 39, 37, 205, 203, 39, 37, 205, 209, 14, 37, 205, 209, 14, 37, 205, 196, 9, 50, 210, 196, 9, 50, 210, 196, 9, 50, 210, 217, 44, 50, 210, 217, 44, 50, 210, 217, 44, 50, 210, 209, 14, 79, 176, 209, 14, 79, 176, 203, 39, 79, 176, 203, 39, 79, 176, 217, 44, 65, 171, 217, 44, 65, 171, 217, 44, 65, 171, 196, 9, 65, 171, 196, 9, 65, 171, 196, 9, 65, 171, 136, 12, 220, 202, 136, 12, 220, 202, 136, 12, 152, 178, 136, 12, 152, 178, 123, 7, 233, 207, 123, 7, 233, 207, 123, 7, 233, 207, 123, 7, 138, 173, 123, 7, 138, 173, 123, 7, 138, 173, 20, 42, 152, 178, 20, 42, 152, 178, 20, 42, 220, 202, 20, 42, 220, 202, 34, 47, 138, 173, 34, 47, 138, 173, 34, 47, 138, 173, 34, 47, 233, 207, 34, 47, 233, 207, 34, 47, 233, 207, 203, 39, 37, 205, 203, 39, 37, 205, 209, 14, 37, 205, 209, 14, 37, 205, 217, 44, 50, 210, 217, 44, 50, 210, 217, 44, 50, 210, 196, 9, 50, 210, 196, 9, 50, 210, 196, 9, 50, 210, 209, 14, 79, 176, 209, 14, 79, 176, 203, 39, 79, 176, 203, 39, 79, 176, 196, 9, 65, 171, 196, 9, 65, 171, 196, 9, 65, 171, 217, 44, 65, 171, 217, 44, 65, 171, 217, 44, 65, 171, 145, 185, 123, 4, 22, 178, 123, 4, 118, 224, 252, 253, 154, 203, 10, 163, 36, 93, 60, 39, 234, 88, 60, 39, 215, 207, 251, 162, 43, 97, 63, 54, 168, 211, 233, 147, 123, 60, 119, 127, 126, 88, 119, 127, 126, 88, 252, 253, 123, 60, 252, 253, 136, 12, 220, 202, 123, 7, 233, 207, 123, 7, 233, 207, 20, 42, 152, 178, 34, 47, 233, 207, 34, 47, 138, 173, 203, 39, 37, 205, 196, 9, 50, 210, 217, 44, 50, 210, 217, 44, 50, 210, 209, 14, 79, 176, 217, 44, 65, 171, 196, 9, 65, 171, 196, 9, 65, 171, 136, 12, 152, 178, 136, 12, 152, 178, 123, 7, 233, 207, 20, 42, 220, 202, 20, 42, 220, 202, 34, 47, 138, 173, 34, 47, 233, 207, 209, 14, 37, 205, 209, 14, 37, 205, 217, 44, 50, 210, 196, 9, 50, 210, 203, 39, 79, 176, 203, 39, 79, 176, 196, 9, 65, 171, 217, 44, 65, 171), +"format": 34896613399, +"index_count": 1116, +"index_data": PackedByteArray(14, 0, 53, 1, 3, 0, 14, 0, 47, 1, 53, 1, 25, 0, 77, 1, 73, 1, 25, 0, 21, 0, 77, 1, 32, 0, 38, 0, 29, 0, 32, 0, 35, 0, 38, 0, 16, 0, 36, 0, 33, 0, 16, 0, 23, 0, 36, 0, 27, 0, 30, 0, 39, 0, 27, 0, 12, 0, 30, 0, 37, 0, 21, 0, 25, 0, 37, 0, 34, 0, 21, 0, 28, 0, 13, 0, 31, 0, 28, 0, 9, 0, 13, 0, 24, 0, 34, 1, 6, 0, 24, 0, 72, 1, 34, 1, 70, 1, 108, 1, 66, 1, 70, 1, 100, 1, 108, 1, 13, 0, 62, 1, 46, 1, 13, 0, 9, 0, 62, 1, 50, 1, 87, 1, 59, 1, 50, 1, 91, 1, 87, 1, 55, 1, 19, 0, 5, 0, 19, 0, 61, 1, 58, 1, 61, 1, 55, 1, 52, 1, 19, 0, 55, 1, 61, 1, 0, 0, 63, 1, 10, 0, 0, 0, 37, 1, 63, 1, 17, 0, 76, 1, 20, 0, 17, 0, 56, 1, 76, 1, 96, 1, 31, 1, 84, 1, 96, 1, 40, 1, 31, 1, 40, 0, 48, 0, 46, 0, 40, 0, 44, 0, 48, 0, 48, 0, 60, 0, 46, 0, 52, 0, 60, 0, 57, 0, 60, 0, 50, 0, 46, 0, 60, 0, 52, 0, 50, 0, 63, 0, 70, 0, 66, 0, 63, 0, 68, 0, 70, 0, 55, 0, 52, 0, 57, 0, 70, 0, 68, 0, 82, 0, 75, 0, 80, 0, 82, 0, 82, 0, 68, 0, 72, 0, 82, 0, 72, 0, 75, 0, 78, 0, 80, 0, 75, 0, 61, 0, 81, 0, 59, 0, 61, 0, 83, 0, 81, 0, 54, 0, 73, 0, 51, 0, 54, 0, 76, 0, 73, 0, 47, 0, 64, 0, 42, 0, 47, 0, 69, 0, 64, 0, 51, 0, 69, 0, 47, 0, 51, 0, 73, 0, 69, 0, 56, 0, 74, 0, 53, 0, 56, 0, 77, 0, 74, 0, 45, 0, 71, 0, 49, 0, 45, 0, 67, 0, 71, 0, 41, 0, 65, 0, 43, 0, 41, 0, 62, 0, 65, 0, 58, 0, 77, 0, 56, 0, 58, 0, 79, 0, 77, 0, 49, 0, 83, 0, 61, 0, 49, 0, 71, 0, 83, 0, 85, 0, 92, 0, 88, 0, 85, 0, 90, 0, 92, 0, 92, 0, 90, 0, 104, 0, 97, 0, 102, 0, 104, 0, 104, 0, 90, 0, 94, 0, 104, 0, 94, 0, 97, 0, 107, 0, 114, 0, 112, 0, 107, 0, 110, 0, 114, 0, 100, 0, 102, 0, 97, 0, 114, 0, 126, 0, 112, 0, 119, 0, 126, 0, 124, 0, 126, 0, 116, 0, 112, 0, 126, 0, 119, 0, 116, 0, 122, 0, 119, 0, 124, 0, 105, 0, 125, 0, 127, 0, 105, 0, 103, 0, 125, 0, 98, 0, 117, 0, 120, 0, 98, 0, 95, 0, 117, 0, 91, 0, 108, 0, 113, 0, 91, 0, 86, 0, 108, 0, 95, 0, 113, 0, 117, 0, 95, 0, 91, 0, 113, 0, 99, 0, 118, 0, 121, 0, 99, 0, 96, 0, 118, 0, 89, 0, 115, 0, 111, 0, 89, 0, 93, 0, 115, 0, 84, 0, 109, 0, 106, 0, 84, 0, 87, 0, 109, 0, 101, 0, 121, 0, 123, 0, 101, 0, 99, 0, 121, 0, 93, 0, 127, 0, 115, 0, 93, 0, 105, 0, 127, 0, 143, 0, 174, 0, 145, 0, 143, 0, 160, 0, 174, 0, 145, 0, 179, 0, 129, 0, 145, 0, 174, 0, 179, 0, 129, 0, 184, 0, 136, 0, 129, 0, 179, 0, 184, 0, 136, 0, 194, 0, 135, 0, 136, 0, 184, 0, 194, 0, 134, 0, 199, 0, 133, 0, 134, 0, 193, 0, 199, 0, 133, 0, 206, 0, 132, 0, 133, 0, 199, 0, 206, 0, 132, 0, 215, 0, 130, 0, 132, 0, 206, 0, 215, 0, 131, 0, 221, 0, 128, 0, 131, 0, 216, 0, 221, 0, 128, 0, 227, 0, 139, 0, 128, 0, 221, 0, 227, 0, 140, 0, 237, 0, 141, 0, 140, 0, 228, 0, 237, 0, 141, 0, 242, 0, 142, 0, 141, 0, 237, 0, 242, 0, 142, 0, 161, 0, 144, 0, 142, 0, 242, 0, 161, 0, 160, 0, 173, 0, 174, 0, 160, 0, 162, 0, 173, 0, 162, 0, 172, 0, 173, 0, 162, 0, 164, 0, 172, 0, 164, 0, 171, 0, 172, 0, 164, 0, 166, 0, 171, 0, 166, 0, 170, 0, 171, 0, 166, 0, 168, 0, 170, 0, 168, 0, 159, 0, 170, 0, 168, 0, 157, 0, 159, 0, 174, 0, 178, 0, 179, 0, 174, 0, 173, 0, 178, 0, 173, 0, 177, 0, 178, 0, 173, 0, 172, 0, 177, 0, 172, 0, 176, 0, 177, 0, 172, 0, 171, 0, 176, 0, 171, 0, 175, 0, 176, 0, 171, 0, 170, 0, 175, 0, 170, 0, 137, 0, 175, 0, 170, 0, 159, 0, 137, 0, 179, 0, 183, 0, 184, 0, 179, 0, 178, 0, 183, 0, 178, 0, 182, 0, 183, 0, 178, 0, 177, 0, 182, 0, 177, 0, 181, 0, 182, 0, 177, 0, 176, 0, 181, 0, 176, 0, 180, 0, 181, 0, 176, 0, 175, 0, 180, 0, 175, 0, 152, 0, 180, 0, 175, 0, 137, 0, 152, 0, 184, 0, 192, 0, 194, 0, 184, 0, 183, 0, 192, 0, 183, 0, 190, 0, 192, 0, 183, 0, 182, 0, 190, 0, 182, 0, 188, 0, 190, 0, 182, 0, 181, 0, 188, 0, 181, 0, 186, 0, 188, 0, 181, 0, 180, 0, 186, 0, 180, 0, 151, 0, 186, 0, 180, 0, 152, 0, 151, 0, 193, 0, 198, 0, 199, 0, 193, 0, 191, 0, 198, 0, 191, 0, 197, 0, 198, 0, 191, 0, 189, 0, 197, 0, 189, 0, 196, 0, 197, 0, 189, 0, 187, 0, 196, 0, 187, 0, 195, 0, 196, 0, 187, 0, 185, 0, 195, 0, 185, 0, 149, 0, 195, 0, 185, 0, 150, 0, 149, 0, 199, 0, 205, 0, 206, 0, 199, 0, 198, 0, 205, 0, 198, 0, 204, 0, 205, 0, 198, 0, 197, 0, 204, 0, 197, 0, 202, 0, 204, 0, 197, 0, 196, 0, 202, 0, 196, 0, 200, 0, 202, 0, 196, 0, 195, 0, 200, 0, 195, 0, 148, 0, 200, 0, 195, 0, 149, 0, 148, 0, 206, 0, 213, 0, 215, 0, 206, 0, 205, 0, 213, 0, 205, 0, 211, 0, 213, 0, 205, 0, 204, 0, 211, 0, 204, 0, 209, 0, 211, 0, 204, 0, 202, 0, 209, 0, 203, 0, 208, 0, 210, 0, 203, 0, 201, 0, 208, 0, 200, 0, 146, 0, 207, 0, 200, 0, 148, 0, 146, 0, 216, 0, 220, 0, 221, 0, 216, 0, 214, 0, 220, 0, 214, 0, 219, 0, 220, 0, 214, 0, 212, 0, 219, 0, 212, 0, 218, 0, 219, 0, 212, 0, 210, 0, 218, 0, 210, 0, 217, 0, 218, 0, 210, 0, 208, 0, 217, 0, 208, 0, 138, 0, 217, 0, 208, 0, 147, 0, 138, 0, 221, 0, 225, 0, 227, 0, 221, 0, 220, 0, 225, 0, 220, 0, 224, 0, 225, 0, 220, 0, 219, 0, 224, 0, 219, 0, 223, 0, 224, 0, 219, 0, 218, 0, 223, 0, 218, 0, 222, 0, 223, 0, 218, 0, 217, 0, 222, 0, 217, 0, 153, 0, 222, 0, 217, 0, 138, 0, 153, 0, 228, 0, 236, 0, 237, 0, 228, 0, 226, 0, 236, 0, 225, 0, 233, 0, 235, 0, 225, 0, 224, 0, 233, 0, 224, 0, 231, 0, 233, 0, 224, 0, 223, 0, 231, 0, 223, 0, 229, 0, 231, 0, 223, 0, 222, 0, 229, 0, 222, 0, 154, 0, 229, 0, 222, 0, 153, 0, 154, 0, 237, 0, 241, 0, 242, 0, 237, 0, 236, 0, 241, 0, 236, 0, 240, 0, 241, 0, 236, 0, 234, 0, 240, 0, 234, 0, 239, 0, 240, 0, 234, 0, 232, 0, 239, 0, 232, 0, 238, 0, 239, 0, 232, 0, 230, 0, 238, 0, 230, 0, 156, 0, 238, 0, 230, 0, 155, 0, 156, 0, 242, 0, 163, 0, 161, 0, 242, 0, 241, 0, 163, 0, 241, 0, 165, 0, 163, 0, 241, 0, 240, 0, 165, 0, 240, 0, 167, 0, 165, 0, 240, 0, 239, 0, 167, 0, 239, 0, 169, 0, 167, 0, 239, 0, 238, 0, 169, 0, 238, 0, 158, 0, 169, 0, 238, 0, 156, 0, 158, 0, 244, 0, 251, 0, 247, 0, 244, 0, 249, 0, 251, 0, 251, 0, 249, 0, 7, 1, 0, 1, 5, 1, 7, 1, 7, 1, 249, 0, 253, 0, 7, 1, 253, 0, 0, 1, 10, 1, 17, 1, 15, 1, 10, 1, 13, 1, 17, 1, 3, 1, 5, 1, 0, 1, 17, 1, 29, 1, 15, 1, 22, 1, 29, 1, 27, 1, 29, 1, 19, 1, 15, 1, 29, 1, 22, 1, 19, 1, 25, 1, 22, 1, 27, 1, 8, 1, 28, 1, 30, 1, 8, 1, 6, 1, 28, 1, 1, 1, 20, 1, 23, 1, 1, 1, 254, 0, 20, 1, 250, 0, 11, 1, 16, 1, 250, 0, 245, 0, 11, 1, 254, 0, 16, 1, 20, 1, 254, 0, 250, 0, 16, 1, 2, 1, 21, 1, 24, 1, 2, 1, 255, 0, 21, 1, 248, 0, 18, 1, 14, 1, 248, 0, 252, 0, 18, 1, 243, 0, 12, 1, 9, 1, 243, 0, 246, 0, 12, 1, 4, 1, 24, 1, 26, 1, 4, 1, 2, 1, 24, 1, 252, 0, 30, 1, 18, 1, 252, 0, 8, 1, 30, 1, 48, 1, 51, 1, 54, 1, 48, 1, 93, 1, 51, 1, 38, 1, 97, 1, 64, 1, 38, 1, 41, 1, 97, 1, 74, 1, 32, 1, 35, 1, 74, 1, 85, 1, 32, 1, 57, 1, 89, 1, 78, 1, 57, 1, 60, 1, 89, 1, 79, 1, 86, 1, 75, 1, 79, 1, 90, 1, 86, 1, 94, 1, 65, 1, 98, 1, 94, 1, 49, 1, 65, 1, 36, 1, 2, 0, 8, 0, 2, 0, 42, 1, 39, 1, 42, 1, 36, 1, 33, 1, 2, 0, 36, 1, 42, 1, 131, 1, 173, 1, 133, 1, 131, 1, 171, 1, 173, 1, 119, 1, 151, 1, 111, 1, 119, 1, 156, 1, 151, 1, 121, 1, 163, 1, 123, 1, 121, 1, 161, 1, 163, 1, 111, 1, 153, 1, 113, 1, 111, 1, 151, 1, 153, 1, 107, 1, 101, 1, 104, 1, 107, 1, 110, 1, 101, 1, 80, 1, 99, 1, 69, 1, 80, 1, 102, 1, 99, 1, 43, 1, 103, 1, 81, 1, 43, 1, 105, 1, 103, 1, 67, 1, 106, 1, 44, 1, 67, 1, 109, 1, 106, 1, 71, 1, 114, 1, 82, 1, 71, 1, 112, 1, 114, 1, 82, 1, 117, 1, 88, 1, 82, 1, 114, 1, 117, 1, 88, 1, 120, 1, 83, 1, 88, 1, 117, 1, 120, 1, 83, 1, 112, 1, 71, 1, 83, 1, 120, 1, 112, 1, 45, 1, 124, 1, 68, 1, 45, 1, 122, 1, 124, 1, 68, 1, 127, 1, 95, 1, 68, 1, 124, 1, 127, 1, 95, 1, 130, 1, 92, 1, 95, 1, 127, 1, 130, 1, 92, 1, 122, 1, 45, 1, 92, 1, 130, 1, 122, 1, 68, 1, 134, 1, 71, 1, 68, 1, 132, 1, 134, 1, 71, 1, 137, 1, 83, 1, 71, 1, 134, 1, 137, 1, 83, 1, 140, 1, 95, 1, 83, 1, 137, 1, 140, 1, 95, 1, 132, 1, 68, 1, 95, 1, 140, 1, 132, 1, 82, 1, 144, 1, 45, 1, 82, 1, 142, 1, 144, 1, 45, 1, 147, 1, 92, 1, 45, 1, 144, 1, 147, 1, 92, 1, 150, 1, 88, 1, 92, 1, 147, 1, 150, 1, 88, 1, 142, 1, 82, 1, 88, 1, 150, 1, 142, 1, 152, 1, 160, 1, 154, 1, 152, 1, 157, 1, 160, 1, 162, 1, 170, 1, 164, 1, 162, 1, 167, 1, 170, 1, 172, 1, 180, 1, 174, 1, 172, 1, 177, 1, 180, 1, 182, 1, 190, 1, 184, 1, 182, 1, 187, 1, 190, 1, 128, 1, 161, 1, 121, 1, 128, 1, 165, 1, 161, 1, 141, 1, 183, 1, 143, 1, 141, 1, 181, 1, 183, 1, 113, 1, 159, 1, 116, 1, 113, 1, 153, 1, 159, 1, 139, 1, 171, 1, 131, 1, 139, 1, 176, 1, 171, 1, 123, 1, 168, 1, 125, 1, 123, 1, 163, 1, 168, 1, 148, 1, 181, 1, 141, 1, 148, 1, 185, 1, 181, 1, 115, 1, 155, 1, 118, 1, 115, 1, 158, 1, 155, 1, 133, 1, 178, 1, 135, 1, 133, 1, 173, 1, 178, 1, 126, 1, 166, 1, 129, 1, 126, 1, 169, 1, 166, 1, 143, 1, 189, 1, 146, 1, 143, 1, 183, 1, 189, 1, 136, 1, 175, 1, 138, 1, 136, 1, 179, 1, 175, 1, 145, 1, 186, 1, 149, 1, 145, 1, 188, 1, 186, 1, 15, 0, 18, 0, 22, 0, 15, 0, 4, 0, 18, 0, 1, 0, 26, 0, 7, 0, 1, 0, 11, 0, 26, 0), +"lods": [0.111648, PackedByteArray(13, 0, 202, 1, 3, 0, 28, 0, 13, 0, 31, 0, 28, 0, 9, 0, 13, 0, 13, 0, 9, 0, 201, 1, 13, 0, 201, 1, 202, 1, 0, 0, 201, 1, 9, 0, 93, 1, 202, 1, 201, 1, 202, 1, 93, 1, 51, 1, 93, 1, 201, 1, 97, 1, 201, 1, 41, 1, 97, 1, 24, 0, 20, 0, 200, 1, 37, 0, 20, 0, 24, 0, 37, 0, 34, 0, 20, 0, 24, 0, 200, 1, 6, 0, 17, 0, 200, 1, 20, 0, 17, 0, 203, 1, 200, 1, 203, 1, 89, 1, 200, 1, 203, 1, 60, 1, 89, 1, 200, 1, 89, 1, 85, 1, 200, 1, 85, 1, 32, 1, 32, 0, 38, 0, 29, 0, 32, 0, 35, 0, 38, 0, 16, 0, 36, 0, 33, 0, 16, 0, 23, 0, 36, 0, 27, 0, 30, 0, 39, 0, 27, 0, 12, 0, 30, 0, 70, 1, 108, 1, 66, 1, 70, 1, 100, 1, 108, 1, 50, 1, 87, 1, 59, 1, 50, 1, 91, 1, 87, 1, 91, 1, 150, 1, 87, 1, 87, 1, 150, 1, 142, 1, 91, 1, 147, 1, 150, 1, 87, 1, 142, 1, 82, 1, 82, 1, 142, 1, 144, 1, 82, 1, 117, 1, 87, 1, 87, 1, 117, 1, 120, 1, 82, 1, 114, 1, 117, 1, 87, 1, 120, 1, 83, 1, 82, 1, 144, 1, 45, 1, 45, 1, 144, 1, 147, 1, 45, 1, 147, 1, 91, 1, 71, 1, 114, 1, 82, 1, 83, 1, 120, 1, 112, 1, 71, 1, 112, 1, 114, 1, 83, 1, 112, 1, 71, 1, 91, 1, 122, 1, 45, 1, 45, 1, 122, 1, 124, 1, 91, 1, 130, 1, 122, 1, 45, 1, 124, 1, 68, 1, 95, 1, 130, 1, 91, 1, 95, 1, 127, 1, 130, 1, 68, 1, 124, 1, 127, 1, 68, 1, 127, 1, 95, 1, 95, 1, 31, 1, 83, 1, 95, 1, 40, 1, 31, 1, 95, 1, 132, 1, 68, 1, 68, 1, 132, 1, 134, 1, 68, 1, 134, 1, 71, 1, 95, 1, 140, 1, 132, 1, 83, 1, 140, 1, 95, 1, 71, 1, 134, 1, 137, 1, 83, 1, 137, 1, 140, 1, 71, 1, 137, 1, 83, 1, 55, 1, 19, 0, 5, 0, 19, 0, 55, 1, 61, 1, 61, 1, 55, 1, 52, 1, 19, 0, 61, 1, 58, 1, 40, 0, 48, 0, 50, 0, 40, 0, 44, 0, 48, 0, 48, 0, 52, 0, 50, 0, 52, 0, 48, 0, 57, 0, 55, 0, 52, 0, 57, 0, 63, 0, 82, 0, 66, 0, 63, 0, 68, 0, 82, 0, 82, 0, 68, 0, 75, 0, 75, 0, 80, 0, 82, 0, 78, 0, 80, 0, 75, 0, 49, 0, 193, 1, 59, 0, 49, 0, 83, 0, 193, 1, 45, 0, 83, 0, 49, 0, 45, 0, 67, 0, 83, 0, 191, 1, 69, 0, 51, 0, 191, 1, 192, 1, 69, 0, 51, 0, 69, 0, 64, 0, 51, 0, 64, 0, 42, 0, 56, 0, 74, 0, 53, 0, 56, 0, 77, 0, 74, 0, 58, 0, 77, 0, 56, 0, 58, 0, 79, 0, 77, 0, 41, 0, 65, 0, 43, 0, 41, 0, 62, 0, 65, 0, 85, 0, 92, 0, 88, 0, 85, 0, 90, 0, 92, 0, 92, 0, 90, 0, 104, 0, 104, 0, 90, 0, 94, 0, 104, 0, 94, 0, 97, 0, 97, 0, 102, 0, 104, 0, 100, 0, 102, 0, 97, 0, 107, 0, 114, 0, 112, 0, 107, 0, 110, 0, 114, 0, 114, 0, 126, 0, 112, 0, 126, 0, 116, 0, 112, 0, 126, 0, 119, 0, 116, 0, 119, 0, 126, 0, 124, 0, 122, 0, 119, 0, 124, 0, 105, 0, 125, 0, 127, 0, 105, 0, 103, 0, 125, 0, 93, 0, 105, 0, 127, 0, 93, 0, 127, 0, 115, 0, 89, 0, 93, 0, 115, 0, 89, 0, 115, 0, 111, 0, 98, 0, 117, 0, 120, 0, 98, 0, 95, 0, 117, 0, 95, 0, 113, 0, 117, 0, 95, 0, 91, 0, 113, 0, 91, 0, 108, 0, 113, 0, 91, 0, 86, 0, 108, 0, 99, 0, 118, 0, 121, 0, 99, 0, 96, 0, 118, 0, 101, 0, 99, 0, 121, 0, 101, 0, 121, 0, 123, 0, 84, 0, 109, 0, 106, 0, 84, 0, 87, 0, 109, 0, 143, 0, 168, 0, 145, 0, 168, 0, 159, 0, 145, 0, 168, 0, 157, 0, 159, 0, 145, 0, 159, 0, 137, 0, 145, 0, 137, 0, 129, 0, 129, 0, 137, 0, 136, 0, 137, 0, 152, 0, 136, 0, 136, 0, 152, 0, 186, 0, 152, 0, 151, 0, 186, 0, 136, 0, 186, 0, 135, 0, 134, 0, 185, 0, 133, 0, 185, 0, 196, 1, 133, 0, 185, 0, 150, 0, 196, 1, 133, 0, 196, 1, 198, 1, 196, 1, 195, 1, 198, 1, 198, 1, 195, 1, 146, 0, 133, 0, 198, 1, 132, 0, 132, 0, 198, 1, 130, 0, 131, 0, 208, 0, 128, 0, 208, 0, 138, 0, 128, 0, 208, 0, 147, 0, 138, 0, 128, 0, 138, 0, 199, 1, 128, 0, 199, 1, 139, 0, 194, 1, 197, 1, 199, 1, 197, 1, 154, 0, 199, 1, 140, 0, 230, 0, 141, 0, 141, 0, 230, 0, 142, 0, 230, 0, 156, 0, 142, 0, 230, 0, 155, 0, 156, 0, 142, 0, 156, 0, 169, 0, 156, 0, 158, 0, 169, 0, 142, 0, 169, 0, 144, 0, 244, 0, 251, 0, 247, 0, 244, 0, 249, 0, 251, 0, 251, 0, 249, 0, 7, 1, 7, 1, 249, 0, 253, 0, 7, 1, 253, 0, 0, 1, 0, 1, 5, 1, 7, 1, 3, 1, 5, 1, 0, 1, 10, 1, 17, 1, 15, 1, 10, 1, 13, 1, 17, 1, 17, 1, 29, 1, 15, 1, 29, 1, 19, 1, 15, 1, 29, 1, 22, 1, 19, 1, 22, 1, 29, 1, 27, 1, 25, 1, 22, 1, 27, 1, 8, 1, 28, 1, 30, 1, 8, 1, 6, 1, 28, 1, 252, 0, 8, 1, 30, 1, 252, 0, 30, 1, 18, 1, 248, 0, 252, 0, 18, 1, 248, 0, 18, 1, 14, 1, 1, 1, 20, 1, 23, 1, 1, 1, 254, 0, 20, 1, 254, 0, 16, 1, 20, 1, 254, 0, 250, 0, 16, 1, 250, 0, 11, 1, 16, 1, 250, 0, 245, 0, 11, 1, 2, 1, 21, 1, 24, 1, 2, 1, 255, 0, 21, 1, 4, 1, 2, 1, 24, 1, 4, 1, 24, 1, 26, 1, 243, 0, 12, 1, 9, 1, 243, 0, 246, 0, 12, 1, 36, 1, 2, 0, 8, 0, 2, 0, 36, 1, 42, 1, 42, 1, 36, 1, 33, 1, 2, 0, 42, 1, 39, 1, 131, 1, 173, 1, 133, 1, 133, 1, 173, 1, 178, 1, 133, 1, 228, 1, 211, 1, 205, 1, 218, 1, 204, 1, 206, 1, 220, 1, 219, 1, 121, 1, 163, 1, 123, 1, 123, 1, 163, 1, 168, 1, 123, 1, 224, 1, 208, 1, 111, 1, 153, 1, 113, 1, 113, 1, 153, 1, 159, 1, 113, 1, 159, 1, 116, 1, 107, 1, 101, 1, 104, 1, 107, 1, 110, 1, 101, 1, 80, 1, 99, 1, 69, 1, 80, 1, 102, 1, 99, 1, 43, 1, 103, 1, 81, 1, 43, 1, 105, 1, 103, 1, 67, 1, 106, 1, 44, 1, 67, 1, 109, 1, 106, 1, 154, 1, 157, 1, 160, 1, 164, 1, 167, 1, 170, 1, 174, 1, 177, 1, 180, 1, 184, 1, 187, 1, 190, 1, 209, 1, 221, 1, 207, 1, 128, 1, 223, 1, 222, 1, 141, 1, 183, 1, 143, 1, 143, 1, 183, 1, 189, 1, 143, 1, 232, 1, 215, 1, 212, 1, 225, 1, 210, 1, 213, 1, 227, 1, 226, 1, 216, 1, 229, 1, 214, 1, 217, 1, 231, 1, 230, 1, 115, 1, 155, 1, 118, 1, 115, 1, 158, 1, 155, 1, 126, 1, 166, 1, 129, 1, 126, 1, 169, 1, 166, 1, 136, 1, 175, 1, 138, 1, 136, 1, 179, 1, 175, 1, 145, 1, 186, 1, 149, 1, 145, 1, 188, 1, 186, 1, 15, 0, 18, 0, 22, 0, 15, 0, 4, 0, 18, 0, 1, 0, 26, 0, 7, 0, 1, 0, 11, 0, 26, 0)], +"material": SubResource("StandardMaterial3D_02h6g"), +"name": "Material.006", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 489, +"vertex_data": PackedByteArray(158, 21, 0, 0, 254, 255, 0, 0, 158, 21, 0, 0, 254, 255, 255, 63, 158, 21, 0, 0, 254, 255, 255, 255, 158, 21, 0, 0, 0, 0, 0, 0, 158, 21, 0, 0, 0, 0, 255, 63, 158, 21, 0, 0, 0, 0, 0, 0, 158, 21, 255, 255, 254, 255, 255, 255, 158, 21, 255, 255, 254, 255, 255, 63, 158, 21, 255, 255, 254, 255, 255, 255, 158, 21, 0, 0, 169, 170, 0, 0, 158, 21, 0, 0, 169, 170, 0, 0, 158, 21, 0, 0, 169, 170, 255, 63, 158, 21, 0, 0, 169, 170, 255, 255, 158, 21, 0, 0, 84, 85, 0, 0, 158, 21, 0, 0, 84, 85, 0, 0, 158, 21, 0, 0, 84, 85, 255, 63, 158, 21, 0, 0, 84, 85, 0, 0, 158, 21, 255, 255, 0, 0, 255, 255, 158, 21, 255, 255, 0, 0, 255, 63, 158, 21, 255, 255, 0, 0, 0, 0, 158, 21, 255, 255, 84, 85, 255, 255, 158, 21, 255, 255, 84, 85, 255, 255, 158, 21, 255, 255, 84, 85, 255, 63, 158, 21, 255, 255, 84, 85, 0, 0, 158, 21, 255, 255, 169, 170, 255, 255, 158, 21, 255, 255, 169, 170, 255, 255, 158, 21, 255, 255, 169, 170, 255, 63, 158, 21, 255, 255, 169, 170, 255, 255, 0, 0, 0, 0, 169, 170, 0, 0, 0, 0, 0, 0, 169, 170, 255, 63, 0, 0, 0, 0, 169, 170, 255, 255, 0, 0, 0, 0, 84, 85, 0, 0, 0, 0, 0, 0, 84, 85, 255, 63, 0, 0, 0, 0, 84, 85, 0, 0, 0, 0, 255, 255, 84, 85, 255, 255, 0, 0, 255, 255, 84, 85, 255, 63, 0, 0, 255, 255, 84, 85, 0, 0, 0, 0, 255, 255, 169, 170, 255, 255, 0, 0, 255, 255, 169, 170, 255, 63, 0, 0, 255, 255, 169, 170, 255, 255, 88, 57, 207, 34, 184, 218, 255, 191, 88, 57, 207, 34, 184, 218, 255, 63, 88, 57, 207, 34, 184, 218, 242, 39, 88, 57, 47, 221, 184, 218, 255, 63, 88, 57, 47, 221, 184, 218, 255, 191, 88, 57, 47, 221, 184, 218, 181, 210, 85, 230, 78, 75, 184, 218, 255, 191, 85, 230, 78, 75, 184, 218, 22, 38, 85, 230, 168, 180, 184, 218, 255, 191, 85, 230, 168, 180, 184, 218, 5, 209, 49, 243, 115, 82, 184, 218, 255, 191, 49, 243, 115, 82, 184, 218, 105, 29, 144, 252, 176, 101, 184, 218, 255, 191, 144, 252, 176, 101, 184, 218, 255, 240, 144, 252, 176, 101, 184, 218, 255, 14, 255, 255, 248, 127, 184, 218, 255, 191, 255, 255, 248, 127, 184, 218, 255, 255, 144, 252, 63, 154, 184, 218, 255, 191, 144, 252, 63, 154, 184, 218, 255, 240, 144, 252, 63, 154, 184, 218, 186, 194, 49, 243, 124, 173, 184, 218, 255, 191, 49, 243, 124, 173, 184, 218, 66, 202, 88, 57, 207, 34, 203, 203, 255, 63, 88, 57, 207, 34, 203, 203, 0, 0, 88, 57, 207, 34, 203, 203, 242, 39, 88, 57, 47, 221, 203, 203, 255, 63, 88, 57, 47, 221, 203, 203, 0, 0, 88, 57, 47, 221, 203, 203, 181, 210, 85, 230, 78, 75, 203, 203, 0, 0, 85, 230, 78, 75, 203, 203, 22, 38, 85, 230, 168, 180, 203, 203, 0, 0, 85, 230, 168, 180, 203, 203, 5, 209, 49, 243, 115, 82, 203, 203, 0, 0, 49, 243, 115, 82, 203, 203, 105, 29, 144, 252, 176, 101, 203, 203, 255, 240, 144, 252, 176, 101, 203, 203, 0, 0, 144, 252, 176, 101, 203, 203, 255, 14, 255, 255, 248, 127, 203, 203, 255, 255, 255, 255, 248, 127, 203, 203, 0, 0, 144, 252, 63, 154, 203, 203, 255, 240, 144, 252, 63, 154, 203, 203, 0, 0, 144, 252, 63, 154, 203, 203, 186, 194, 49, 243, 124, 173, 203, 203, 0, 0, 49, 243, 124, 173, 203, 203, 66, 202, 88, 57, 207, 34, 70, 37, 255, 63, 88, 57, 207, 34, 70, 37, 0, 0, 88, 57, 207, 34, 70, 37, 72, 45, 88, 57, 47, 221, 70, 37, 255, 63, 88, 57, 47, 221, 70, 37, 0, 0, 88, 57, 47, 221, 70, 37, 181, 210, 85, 230, 78, 75, 70, 37, 0, 0, 85, 230, 78, 75, 70, 37, 246, 46, 85, 230, 168, 180, 70, 37, 0, 0, 85, 230, 168, 180, 70, 37, 5, 209, 49, 243, 115, 82, 70, 37, 0, 0, 49, 243, 115, 82, 70, 37, 186, 53, 144, 252, 176, 101, 70, 37, 255, 240, 144, 252, 176, 101, 70, 37, 0, 0, 144, 252, 176, 101, 70, 37, 68, 61, 255, 255, 248, 127, 70, 37, 255, 255, 255, 255, 248, 127, 70, 37, 0, 0, 144, 252, 63, 154, 70, 37, 255, 240, 144, 252, 63, 154, 70, 37, 0, 0, 144, 252, 63, 154, 70, 37, 186, 194, 49, 243, 124, 173, 70, 37, 0, 0, 49, 243, 124, 173, 70, 37, 66, 202, 88, 57, 207, 34, 51, 52, 255, 63, 88, 57, 207, 34, 51, 52, 255, 191, 88, 57, 207, 34, 51, 52, 72, 45, 88, 57, 47, 221, 51, 52, 255, 63, 88, 57, 47, 221, 51, 52, 255, 191, 88, 57, 47, 221, 51, 52, 181, 210, 85, 230, 78, 75, 51, 52, 255, 191, 85, 230, 78, 75, 51, 52, 246, 46, 85, 230, 168, 180, 51, 52, 255, 191, 85, 230, 168, 180, 51, 52, 5, 209, 49, 243, 115, 82, 51, 52, 255, 191, 49, 243, 115, 82, 51, 52, 186, 53, 144, 252, 176, 101, 51, 52, 255, 240, 144, 252, 176, 101, 51, 52, 255, 191, 144, 252, 176, 101, 51, 52, 68, 61, 255, 255, 248, 127, 51, 52, 255, 255, 255, 255, 248, 127, 51, 52, 255, 191, 144, 252, 63, 154, 51, 52, 255, 240, 144, 252, 63, 154, 51, 52, 255, 191, 144, 252, 63, 154, 51, 52, 186, 194, 49, 243, 124, 173, 51, 52, 255, 191, 49, 243, 124, 173, 51, 52, 66, 202, 88, 230, 150, 87, 81, 208, 108, 0, 88, 230, 95, 168, 81, 208, 255, 255, 50, 240, 17, 93, 81, 208, 220, 239, 50, 240, 17, 93, 81, 208, 109, 15, 98, 247, 209, 107, 81, 208, 117, 225, 3, 250, 248, 127, 81, 208, 168, 211, 98, 247, 30, 148, 81, 208, 105, 200, 98, 247, 30, 148, 81, 208, 254, 225, 50, 240, 223, 162, 81, 208, 103, 240, 88, 230, 95, 168, 173, 47, 255, 255, 88, 230, 150, 87, 173, 47, 100, 0, 127, 220, 17, 93, 81, 208, 153, 14, 127, 220, 17, 93, 81, 208, 79, 16, 79, 213, 209, 107, 81, 208, 187, 30, 173, 210, 248, 127, 81, 208, 137, 44, 79, 213, 30, 148, 81, 208, 254, 225, 79, 213, 30, 148, 81, 208, 189, 55, 127, 220, 223, 162, 81, 208, 103, 240, 50, 240, 17, 93, 173, 47, 9, 242, 50, 240, 17, 93, 173, 47, 99, 15, 98, 247, 209, 107, 173, 47, 172, 227, 3, 250, 248, 127, 173, 47, 10, 215, 98, 247, 30, 148, 173, 47, 63, 204, 98, 247, 30, 148, 173, 47, 46, 227, 50, 240, 223, 162, 173, 47, 127, 241, 127, 220, 17, 93, 173, 47, 38, 14, 79, 213, 209, 107, 173, 47, 140, 28, 79, 213, 209, 107, 173, 47, 9, 28, 173, 210, 248, 127, 173, 47, 35, 41, 79, 213, 30, 148, 173, 47, 46, 227, 79, 213, 30, 148, 173, 47, 226, 51, 127, 220, 223, 162, 173, 47, 127, 241, 34, 211, 177, 150, 175, 179, 22, 226, 34, 211, 177, 150, 175, 179, 106, 55, 211, 209, 61, 152, 72, 153, 76, 226, 211, 209, 61, 152, 72, 153, 176, 54, 100, 209, 193, 152, 255, 127, 140, 226, 100, 209, 193, 152, 255, 127, 218, 53, 211, 209, 61, 152, 182, 102, 209, 226, 211, 209, 61, 152, 182, 102, 255, 52, 34, 211, 177, 150, 79, 76, 16, 227, 34, 211, 177, 150, 79, 76, 60, 52, 61, 219, 84, 167, 79, 76, 102, 241, 123, 218, 1, 170, 182, 102, 47, 241, 59, 218, 230, 170, 255, 127, 241, 240, 123, 218, 1, 170, 72, 153, 180, 240, 61, 219, 84, 167, 175, 179, 127, 240, 88, 230, 137, 173, 79, 76, 255, 255, 88, 230, 162, 176, 182, 102, 255, 255, 88, 230, 170, 177, 255, 127, 255, 255, 88, 230, 162, 176, 72, 153, 255, 255, 88, 230, 137, 173, 175, 179, 255, 255, 116, 241, 84, 167, 79, 76, 102, 241, 54, 242, 1, 170, 182, 102, 47, 241, 118, 242, 230, 170, 255, 127, 241, 240, 54, 242, 1, 170, 72, 153, 180, 240, 116, 241, 84, 167, 175, 179, 127, 240, 143, 249, 177, 150, 79, 76, 230, 203, 143, 249, 177, 150, 79, 76, 16, 227, 222, 250, 61, 152, 182, 102, 35, 203, 222, 250, 61, 152, 182, 102, 209, 226, 77, 251, 193, 152, 255, 127, 74, 202, 77, 251, 193, 152, 255, 127, 140, 226, 222, 250, 61, 152, 72, 153, 117, 201, 222, 250, 61, 152, 72, 153, 76, 226, 143, 249, 177, 150, 175, 179, 188, 200, 143, 249, 177, 150, 175, 179, 22, 226, 135, 252, 248, 127, 79, 76, 188, 214, 9, 254, 248, 127, 182, 102, 19, 214, 137, 254, 247, 127, 255, 127, 84, 213, 9, 254, 248, 127, 72, 153, 151, 212, 135, 252, 248, 127, 175, 179, 243, 211, 143, 249, 62, 105, 79, 76, 156, 227, 143, 249, 62, 105, 79, 76, 50, 29, 222, 250, 178, 103, 182, 102, 28, 227, 222, 250, 178, 103, 182, 102, 115, 29, 77, 251, 46, 103, 255, 127, 140, 226, 222, 250, 178, 103, 72, 153, 17, 226, 143, 249, 62, 105, 175, 179, 166, 225, 116, 241, 155, 88, 79, 76, 216, 241, 116, 241, 155, 88, 79, 76, 19, 15, 54, 242, 238, 85, 182, 102, 110, 241, 54, 242, 238, 85, 182, 102, 59, 15, 118, 242, 9, 85, 255, 127, 245, 240, 118, 242, 9, 85, 255, 127, 112, 15, 54, 242, 238, 85, 72, 153, 122, 240, 54, 242, 238, 85, 72, 153, 112, 15, 116, 241, 155, 88, 175, 179, 13, 240, 116, 241, 155, 88, 175, 179, 111, 15, 88, 230, 109, 82, 79, 76, 101, 0, 88, 230, 84, 79, 182, 102, 102, 0, 88, 230, 76, 78, 255, 127, 104, 0, 88, 230, 84, 79, 72, 153, 105, 0, 88, 230, 109, 82, 175, 179, 107, 0, 61, 219, 155, 88, 79, 76, 62, 14, 123, 218, 238, 85, 182, 102, 116, 14, 59, 218, 9, 85, 255, 127, 177, 14, 123, 218, 238, 85, 72, 153, 211, 14, 123, 218, 238, 85, 72, 153, 176, 15, 61, 219, 155, 88, 175, 179, 155, 14, 61, 219, 155, 88, 175, 179, 29, 16, 34, 211, 62, 105, 79, 76, 170, 28, 34, 211, 62, 105, 79, 76, 82, 28, 211, 209, 178, 103, 182, 102, 232, 28, 211, 209, 178, 103, 182, 102, 243, 28, 100, 209, 46, 103, 255, 127, 43, 29, 100, 209, 46, 103, 255, 127, 169, 29, 211, 209, 178, 103, 72, 153, 106, 29, 211, 209, 178, 103, 72, 153, 52, 30, 34, 211, 62, 105, 175, 179, 138, 30, 42, 208, 248, 127, 79, 76, 113, 41, 168, 206, 248, 127, 182, 102, 27, 42, 39, 206, 247, 127, 255, 127, 219, 42, 168, 206, 247, 127, 72, 153, 153, 43, 42, 208, 248, 127, 175, 179, 62, 44, 88, 57, 207, 34, 70, 37, 255, 63, 88, 57, 207, 34, 70, 37, 0, 0, 88, 57, 207, 34, 70, 37, 242, 39, 88, 57, 47, 221, 70, 37, 255, 63, 88, 57, 47, 221, 70, 37, 0, 0, 88, 57, 47, 221, 70, 37, 181, 210, 85, 230, 78, 75, 70, 37, 0, 0, 85, 230, 78, 75, 70, 37, 22, 38, 85, 230, 168, 180, 70, 37, 0, 0, 85, 230, 168, 180, 70, 37, 5, 209, 49, 243, 115, 82, 70, 37, 0, 0, 49, 243, 115, 82, 70, 37, 105, 29, 144, 252, 176, 101, 70, 37, 255, 240, 144, 252, 176, 101, 70, 37, 0, 0, 144, 252, 176, 101, 70, 37, 255, 14, 255, 255, 248, 127, 70, 37, 255, 255, 255, 255, 248, 127, 70, 37, 0, 0, 144, 252, 63, 154, 70, 37, 255, 240, 144, 252, 63, 154, 70, 37, 0, 0, 144, 252, 63, 154, 70, 37, 186, 194, 49, 243, 124, 173, 70, 37, 0, 0, 49, 243, 124, 173, 70, 37, 66, 202, 88, 57, 207, 34, 51, 52, 255, 63, 88, 57, 207, 34, 51, 52, 255, 191, 88, 57, 207, 34, 51, 52, 242, 39, 88, 57, 47, 221, 51, 52, 255, 63, 88, 57, 47, 221, 51, 52, 255, 191, 88, 57, 47, 221, 51, 52, 181, 210, 85, 230, 78, 75, 51, 52, 255, 191, 85, 230, 78, 75, 51, 52, 22, 38, 85, 230, 168, 180, 51, 52, 255, 191, 85, 230, 168, 180, 51, 52, 5, 209, 49, 243, 115, 82, 51, 52, 255, 191, 49, 243, 115, 82, 51, 52, 105, 29, 144, 252, 176, 101, 51, 52, 255, 240, 144, 252, 176, 101, 51, 52, 255, 191, 144, 252, 176, 101, 51, 52, 255, 14, 255, 255, 248, 127, 51, 52, 255, 255, 255, 255, 248, 127, 51, 52, 255, 191, 144, 252, 63, 154, 51, 52, 255, 240, 144, 252, 63, 154, 51, 52, 255, 191, 144, 252, 63, 154, 51, 52, 186, 194, 49, 243, 124, 173, 51, 52, 255, 191, 49, 243, 124, 173, 51, 52, 66, 202, 38, 59, 124, 236, 254, 255, 84, 213, 38, 59, 124, 236, 254, 255, 170, 233, 38, 59, 124, 236, 254, 255, 255, 255, 164, 49, 255, 255, 254, 255, 255, 255, 164, 49, 255, 255, 254, 255, 170, 233, 164, 49, 255, 255, 254, 255, 255, 255, 164, 49, 0, 0, 254, 255, 0, 0, 164, 49, 0, 0, 254, 255, 84, 22, 164, 49, 0, 0, 254, 255, 255, 255, 38, 59, 130, 19, 254, 255, 84, 213, 38, 59, 130, 19, 254, 255, 84, 22, 38, 59, 130, 19, 254, 255, 255, 255, 38, 59, 110, 61, 24, 102, 254, 127, 38, 59, 110, 61, 24, 102, 255, 191, 38, 59, 110, 61, 24, 102, 84, 213, 164, 49, 0, 0, 84, 85, 0, 0, 164, 49, 0, 0, 84, 85, 0, 0, 164, 49, 0, 0, 84, 85, 84, 22, 164, 49, 0, 0, 84, 85, 84, 22, 38, 59, 130, 19, 0, 0, 84, 213, 38, 59, 130, 19, 0, 0, 84, 22, 38, 59, 130, 19, 0, 0, 0, 0, 164, 49, 0, 0, 0, 0, 0, 0, 164, 49, 0, 0, 0, 0, 84, 22, 164, 49, 0, 0, 0, 0, 0, 0, 164, 49, 255, 255, 0, 0, 255, 255, 164, 49, 255, 255, 0, 0, 170, 233, 164, 49, 255, 255, 0, 0, 0, 0, 38, 59, 124, 236, 0, 0, 84, 213, 38, 59, 124, 236, 0, 0, 170, 233, 38, 59, 124, 236, 0, 0, 0, 0, 164, 49, 0, 0, 169, 170, 0, 0, 164, 49, 0, 0, 169, 170, 0, 0, 164, 49, 0, 0, 169, 170, 84, 22, 164, 49, 0, 0, 169, 170, 84, 22, 38, 59, 110, 61, 230, 153, 255, 255, 38, 59, 110, 61, 230, 153, 255, 191, 38, 59, 110, 61, 230, 153, 84, 213, 38, 59, 144, 194, 230, 153, 255, 191, 38, 59, 144, 194, 230, 153, 255, 255, 38, 59, 144, 194, 230, 153, 84, 213, 164, 49, 255, 255, 169, 170, 255, 255, 164, 49, 255, 255, 169, 170, 255, 255, 164, 49, 255, 255, 169, 170, 170, 233, 164, 49, 255, 255, 169, 170, 170, 233, 164, 49, 255, 255, 84, 85, 255, 255, 164, 49, 255, 255, 84, 85, 255, 255, 164, 49, 255, 255, 84, 85, 170, 233, 164, 49, 255, 255, 84, 85, 170, 233, 38, 59, 144, 194, 24, 102, 255, 191, 38, 59, 144, 194, 24, 102, 254, 127, 38, 59, 144, 194, 24, 102, 84, 213, 38, 59, 124, 236, 169, 170, 84, 213, 38, 59, 124, 236, 169, 170, 84, 213, 38, 59, 124, 236, 169, 170, 170, 233, 38, 59, 124, 236, 169, 170, 170, 233, 38, 59, 124, 236, 84, 85, 84, 213, 38, 59, 124, 236, 84, 85, 84, 213, 38, 59, 124, 236, 84, 85, 170, 233, 38, 59, 124, 236, 84, 85, 170, 233, 38, 59, 130, 19, 84, 85, 84, 213, 38, 59, 130, 19, 84, 85, 84, 213, 38, 59, 130, 19, 84, 85, 84, 22, 38, 59, 130, 19, 84, 85, 84, 22, 38, 59, 130, 19, 169, 170, 84, 213, 38, 59, 130, 19, 169, 170, 84, 213, 38, 59, 130, 19, 169, 170, 84, 22, 38, 59, 130, 19, 169, 170, 84, 22, 142, 52, 144, 194, 230, 153, 255, 191, 142, 52, 144, 194, 230, 153, 255, 255, 142, 52, 144, 194, 230, 153, 84, 213, 142, 52, 144, 194, 24, 102, 255, 191, 142, 52, 144, 194, 24, 102, 254, 127, 142, 52, 144, 194, 24, 102, 84, 213, 142, 52, 110, 61, 24, 102, 254, 127, 142, 52, 110, 61, 24, 102, 255, 191, 142, 52, 110, 61, 24, 102, 84, 213, 142, 52, 110, 61, 230, 153, 255, 255, 142, 52, 110, 61, 230, 153, 255, 191, 142, 52, 110, 61, 230, 153, 84, 213, 38, 59, 189, 202, 139, 152, 255, 207, 38, 59, 189, 202, 139, 152, 84, 213, 38, 59, 189, 202, 115, 103, 255, 79, 38, 59, 189, 202, 115, 103, 84, 213, 38, 59, 79, 228, 57, 93, 255, 191, 38, 59, 79, 228, 57, 93, 255, 95, 38, 59, 79, 228, 57, 93, 84, 213, 38, 59, 79, 228, 197, 162, 255, 191, 38, 59, 79, 228, 197, 162, 255, 223, 38, 59, 79, 228, 197, 162, 84, 213, 38, 59, 65, 53, 115, 103, 255, 79, 38, 59, 65, 53, 115, 103, 84, 213, 38, 59, 65, 53, 139, 152, 255, 207, 38, 59, 65, 53, 139, 152, 84, 213, 38, 59, 175, 27, 197, 162, 255, 223, 38, 59, 175, 27, 197, 162, 255, 191, 38, 59, 175, 27, 197, 162, 84, 213, 38, 59, 175, 27, 57, 93, 255, 95, 38, 59, 175, 27, 57, 93, 255, 191, 38, 59, 175, 27, 57, 93, 84, 213, 38, 59, 209, 64, 43, 157, 255, 111, 38, 59, 209, 64, 43, 157, 84, 213, 38, 59, 45, 191, 43, 157, 255, 111, 38, 59, 45, 191, 43, 157, 84, 213, 38, 59, 191, 216, 100, 167, 255, 95, 38, 59, 191, 216, 100, 167, 255, 255, 38, 59, 191, 216, 100, 167, 84, 213, 38, 59, 63, 39, 100, 167, 255, 255, 38, 59, 63, 39, 100, 167, 255, 95, 38, 59, 63, 39, 100, 167, 84, 213, 38, 59, 45, 191, 211, 98, 255, 239, 38, 59, 45, 191, 211, 98, 84, 213, 38, 59, 209, 64, 211, 98, 255, 239, 38, 59, 209, 64, 211, 98, 84, 213, 38, 59, 63, 39, 153, 88, 254, 127, 38, 59, 63, 39, 153, 88, 255, 223, 38, 59, 63, 39, 153, 88, 84, 213, 38, 59, 191, 216, 153, 88, 255, 223, 38, 59, 191, 216, 153, 88, 254, 127, 38, 59, 191, 216, 153, 88, 84, 213, 12, 56, 189, 202, 139, 152, 255, 207, 12, 56, 189, 202, 139, 152, 84, 213, 12, 56, 189, 202, 115, 103, 255, 79, 12, 56, 189, 202, 115, 103, 84, 213, 12, 56, 79, 228, 197, 162, 255, 191, 12, 56, 79, 228, 197, 162, 255, 223, 12, 56, 79, 228, 197, 162, 84, 213, 12, 56, 79, 228, 57, 93, 255, 191, 12, 56, 79, 228, 57, 93, 255, 95, 12, 56, 79, 228, 57, 93, 84, 213, 12, 56, 65, 53, 115, 103, 255, 79, 12, 56, 65, 53, 115, 103, 84, 213, 12, 56, 65, 53, 139, 152, 255, 207, 12, 56, 65, 53, 139, 152, 84, 213, 12, 56, 175, 27, 57, 93, 255, 95, 12, 56, 175, 27, 57, 93, 255, 191, 12, 56, 175, 27, 57, 93, 84, 213, 12, 56, 175, 27, 197, 162, 255, 223, 12, 56, 175, 27, 197, 162, 255, 191, 12, 56, 175, 27, 197, 162, 84, 213, 12, 56, 209, 64, 43, 157, 255, 111, 12, 56, 209, 64, 43, 157, 84, 213, 12, 56, 45, 191, 43, 157, 255, 111, 12, 56, 45, 191, 43, 157, 84, 213, 12, 56, 63, 39, 100, 167, 255, 255, 12, 56, 63, 39, 100, 167, 255, 95, 12, 56, 63, 39, 100, 167, 84, 213, 12, 56, 191, 216, 100, 167, 255, 95, 12, 56, 191, 216, 100, 167, 255, 255, 12, 56, 191, 216, 100, 167, 84, 213, 12, 56, 45, 191, 211, 98, 255, 239, 12, 56, 45, 191, 211, 98, 84, 213, 12, 56, 209, 64, 211, 98, 255, 239, 12, 56, 209, 64, 211, 98, 84, 213, 12, 56, 191, 216, 153, 88, 255, 223, 12, 56, 191, 216, 153, 88, 254, 127, 12, 56, 191, 216, 153, 88, 84, 213, 12, 56, 63, 39, 153, 88, 254, 127, 12, 56, 63, 39, 153, 88, 255, 223, 12, 56, 63, 39, 153, 88, 84, 213, 144, 252, 176, 101, 184, 218, 46, 26, 144, 252, 176, 101, 203, 203, 235, 26, 144, 252, 63, 154, 203, 203, 242, 198, 88, 230, 150, 87, 173, 47, 0, 0, 98, 247, 209, 107, 173, 47, 62, 226, 3, 250, 248, 127, 173, 47, 194, 213, 127, 220, 17, 93, 173, 47, 224, 14, 116, 241, 155, 88, 79, 76, 172, 241, 34, 211, 62, 105, 79, 76, 174, 29, 164, 49, 255, 255, 254, 255, 255, 255, 164, 49, 0, 0, 254, 255, 0, 0, 164, 49, 0, 0, 0, 0, 0, 0, 164, 49, 255, 255, 0, 0, 255, 255, 38, 59, 189, 202, 139, 152, 255, 191, 38, 59, 79, 228, 197, 162, 255, 191, 38, 59, 79, 228, 197, 162, 102, 209, 38, 59, 65, 53, 115, 103, 255, 63, 38, 59, 175, 27, 197, 162, 255, 255, 38, 59, 175, 27, 57, 93, 255, 63, 38, 59, 209, 64, 43, 157, 255, 63, 38, 59, 191, 216, 100, 167, 255, 63, 38, 59, 63, 39, 100, 167, 255, 63, 38, 59, 63, 39, 100, 167, 164, 111, 38, 59, 45, 191, 211, 98, 255, 191, 38, 59, 63, 39, 153, 88, 255, 191, 38, 59, 191, 216, 153, 88, 255, 191, 38, 59, 191, 216, 153, 88, 47, 237, 12, 56, 189, 202, 115, 103, 255, 63, 12, 56, 189, 202, 115, 103, 131, 51, 12, 56, 79, 228, 197, 162, 204, 208, 12, 56, 65, 53, 139, 152, 255, 191, 12, 56, 65, 53, 139, 152, 205, 179, 12, 56, 175, 27, 57, 93, 115, 79, 12, 56, 175, 27, 197, 162, 255, 255, 12, 56, 45, 191, 43, 157, 255, 63, 12, 56, 45, 191, 43, 157, 68, 117, 12, 56, 63, 39, 100, 167, 62, 110, 12, 56, 191, 216, 100, 167, 255, 63, 12, 56, 209, 64, 211, 98, 255, 191, 12, 56, 209, 64, 211, 98, 51, 244, 12, 56, 191, 216, 153, 88, 54, 241, 12, 56, 63, 39, 153, 88, 255, 191, 255, 127, 255, 63, 255, 127, 255, 255, 255, 127, 255, 127, 255, 127, 255, 63, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 127, 255, 127, 255, 63, 255, 127, 255, 63, 255, 127, 255, 255, 255, 127, 255, 127, 255, 127, 255, 63, 255, 127, 255, 63, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 254, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 127, 255, 127, 255, 63, 255, 127, 255, 255, 255, 127, 255, 127, 255, 127, 255, 63, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 255, 255, 126, 39, 190, 211, 255, 127, 255, 255, 255, 255, 255, 255, 8, 210, 4, 41, 255, 255, 255, 255, 112, 37, 183, 210, 255, 255, 255, 255, 190, 207, 223, 39, 255, 255, 255, 255, 163, 28, 81, 206, 255, 255, 255, 255, 31, 15, 142, 199, 31, 15, 142, 199, 255, 255, 255, 255, 255, 191, 255, 127, 255, 255, 255, 255, 111, 184, 30, 143, 168, 172, 84, 22, 255, 255, 255, 255, 134, 196, 67, 34, 255, 127, 255, 255, 255, 191, 255, 191, 126, 39, 190, 211, 255, 127, 255, 255, 255, 191, 255, 191, 8, 210, 4, 41, 255, 191, 255, 191, 112, 37, 183, 210, 255, 191, 255, 191, 190, 207, 223, 39, 255, 191, 255, 191, 163, 28, 81, 206, 31, 15, 142, 199, 255, 191, 255, 191, 31, 15, 142, 199, 255, 191, 255, 127, 255, 191, 255, 191, 111, 184, 30, 143, 255, 191, 255, 191, 168, 172, 84, 22, 255, 191, 255, 191, 134, 196, 67, 34, 255, 127, 255, 255, 255, 191, 255, 191, 250, 86, 9, 82, 255, 127, 255, 255, 255, 191, 255, 191, 8, 210, 4, 41, 255, 191, 255, 191, 29, 88, 195, 79, 255, 191, 255, 191, 190, 207, 223, 39, 255, 191, 255, 191, 185, 93, 139, 68, 31, 15, 142, 199, 255, 191, 255, 191, 170, 105, 169, 44, 255, 191, 255, 127, 255, 191, 255, 191, 111, 184, 30, 143, 255, 191, 255, 191, 168, 172, 84, 22, 255, 191, 255, 191, 134, 196, 67, 34, 255, 127, 255, 255, 255, 255, 255, 255, 250, 86, 9, 82, 255, 127, 255, 255, 255, 255, 255, 255, 8, 210, 4, 41, 255, 255, 255, 255, 29, 88, 195, 79, 255, 255, 255, 255, 190, 207, 223, 39, 255, 255, 255, 255, 185, 93, 139, 68, 31, 15, 142, 199, 255, 255, 255, 255, 170, 105, 169, 44, 255, 191, 255, 127, 255, 255, 255, 255, 111, 184, 30, 143, 255, 255, 255, 255, 168, 172, 84, 22, 255, 255, 255, 255, 134, 196, 67, 34, 144, 127, 131, 66, 255, 127, 177, 189, 54, 142, 1, 73, 203, 142, 120, 73, 221, 155, 187, 79, 160, 169, 94, 86, 101, 186, 7, 95, 208, 47, 57, 28, 157, 54, 177, 14, 255, 127, 77, 194, 135, 127, 240, 61, 2, 202, 133, 240, 227, 200, 237, 241, 144, 207, 67, 228, 34, 214, 121, 214, 198, 99, 208, 175, 191, 222, 170, 197, 78, 113, 157, 182, 32, 144, 50, 70, 199, 142, 25, 69, 118, 157, 245, 76, 172, 171, 82, 84, 84, 188, 98, 92, 130, 51, 21, 29, 48, 58, 167, 15, 13, 198, 11, 240, 189, 204, 180, 226, 58, 205, 79, 226, 21, 212, 112, 212, 234, 98, 130, 179, 25, 220, 190, 195, 88, 112, 48, 186, 177, 99, 35, 176, 131, 222, 123, 197, 132, 99, 218, 176, 0, 222, 24, 197, 83, 99, 169, 177, 107, 221, 170, 196, 36, 99, 120, 178, 215, 220, 65, 196, 252, 98, 46, 179, 85, 220, 231, 195, 109, 112, 224, 185, 157, 112, 48, 185, 210, 112, 104, 184, 8, 113, 160, 183, 56, 113, 238, 182, 255, 127, 229, 193, 255, 127, 1, 193, 255, 127, 255, 191, 255, 127, 252, 190, 255, 127, 25, 190, 225, 57, 145, 15, 49, 57, 98, 15, 105, 56, 44, 15, 160, 55, 246, 14, 239, 54, 198, 14, 44, 188, 157, 92, 47, 51, 3, 29, 209, 187, 31, 93, 120, 50, 219, 28, 102, 187, 179, 93, 169, 49, 172, 28, 248, 186, 71, 94, 218, 48, 123, 28, 147, 186, 203, 94, 36, 48, 78, 28, 127, 171, 127, 84, 28, 171, 226, 84, 169, 170, 84, 85, 54, 170, 200, 85, 208, 169, 46, 86, 110, 157, 84, 77, 206, 156, 142, 76, 19, 157, 204, 77, 166, 156, 70, 77, 171, 156, 85, 78, 81, 156, 241, 78, 1, 156, 124, 79, 244, 143, 111, 70, 23, 143, 188, 69, 148, 143, 247, 70, 248, 142, 122, 70, 40, 143, 148, 71, 206, 142, 75, 71, 189, 142, 50, 72, 206, 142, 64, 72, 96, 142, 192, 72, 205, 142, 22, 73, 136, 127, 87, 62, 138, 127, 57, 63, 140, 127, 57, 64, 141, 127, 57, 65, 143, 127, 27, 66, 92, 198, 33, 240, 11, 199, 81, 240, 210, 199, 136, 240, 171, 200, 169, 240, 20, 200, 102, 241, 161, 201, 131, 240, 161, 200, 195, 241, 16, 205, 199, 226, 99, 205, 132, 226, 198, 205, 239, 226, 188, 205, 247, 226, 148, 206, 31, 227, 35, 206, 123, 227, 99, 207, 81, 227, 178, 206, 222, 227, 81, 207, 30, 228, 66, 212, 157, 212, 166, 212, 0, 213, 25, 213, 114, 213, 140, 213, 228, 213, 243, 213, 75, 214, 255, 127, 255, 255, 255, 191, 255, 191, 126, 39, 190, 211, 255, 127, 255, 255, 255, 191, 255, 191, 8, 210, 4, 41, 255, 191, 255, 191, 112, 37, 183, 210, 255, 191, 255, 191, 190, 207, 223, 39, 255, 191, 255, 191, 163, 28, 81, 206, 31, 15, 142, 199, 255, 191, 255, 191, 31, 15, 142, 199, 255, 191, 255, 127, 255, 191, 255, 191, 111, 184, 30, 143, 255, 191, 255, 191, 168, 172, 84, 22, 255, 191, 255, 191, 134, 196, 67, 34, 255, 127, 255, 255, 255, 255, 255, 255, 126, 39, 190, 211, 255, 127, 255, 255, 255, 255, 255, 255, 8, 210, 4, 41, 255, 255, 255, 255, 112, 37, 183, 210, 255, 255, 255, 255, 190, 207, 223, 39, 255, 255, 255, 255, 163, 28, 81, 206, 31, 15, 142, 199, 255, 255, 255, 255, 31, 15, 142, 199, 255, 191, 255, 127, 255, 255, 255, 255, 111, 184, 30, 143, 255, 255, 255, 255, 168, 172, 84, 22, 255, 255, 255, 255, 134, 196, 67, 34, 170, 170, 85, 85, 4, 53, 246, 21, 255, 127, 255, 127, 255, 127, 255, 191, 4, 53, 246, 21, 255, 127, 255, 127, 255, 127, 255, 63, 245, 149, 250, 74, 255, 127, 255, 127, 170, 170, 85, 85, 245, 149, 250, 74, 255, 127, 255, 127, 255, 127, 255, 255, 255, 255, 255, 127, 170, 170, 85, 85, 255, 127, 255, 63, 255, 127, 255, 63, 245, 149, 250, 74, 245, 149, 250, 74, 170, 170, 84, 85, 245, 149, 250, 74, 255, 127, 254, 255, 255, 127, 255, 63, 245, 149, 250, 74, 255, 127, 254, 255, 255, 127, 255, 191, 4, 53, 246, 21, 255, 127, 255, 255, 170, 170, 84, 85, 4, 53, 246, 21, 255, 127, 254, 255, 255, 127, 255, 63, 255, 127, 255, 63, 245, 149, 250, 74, 245, 149, 250, 74, 255, 255, 255, 127, 255, 255, 255, 127, 169, 170, 84, 85, 0, 0, 255, 127, 255, 255, 255, 127, 170, 170, 85, 85, 255, 127, 255, 191, 255, 127, 255, 191, 4, 53, 246, 21, 4, 53, 246, 21, 255, 127, 255, 191, 255, 127, 255, 191, 4, 53, 246, 21, 4, 53, 246, 21, 0, 0, 255, 127, 255, 127, 255, 255, 169, 170, 84, 85, 169, 170, 84, 85, 170, 170, 84, 85, 4, 53, 246, 21, 4, 53, 246, 21, 170, 170, 84, 85, 169, 170, 84, 85, 4, 53, 246, 21, 4, 53, 246, 21, 170, 170, 84, 85, 170, 170, 85, 85, 245, 149, 250, 74, 245, 149, 250, 74, 170, 170, 84, 85, 170, 170, 85, 85, 245, 149, 250, 74, 245, 149, 250, 74, 0, 0, 255, 127, 255, 255, 255, 127, 170, 170, 85, 85, 0, 0, 255, 127, 255, 127, 255, 255, 170, 170, 85, 85, 255, 127, 255, 255, 255, 255, 255, 127, 170, 170, 85, 85, 255, 255, 255, 127, 255, 255, 255, 127, 170, 170, 84, 85, 255, 255, 255, 127, 170, 170, 85, 85, 255, 255, 255, 127, 169, 170, 84, 85, 0, 0, 255, 127, 255, 255, 255, 127, 169, 170, 84, 85, 0, 0, 255, 127, 255, 255, 255, 127, 170, 170, 85, 85, 0, 0, 255, 127, 170, 170, 85, 85, 0, 0, 255, 127, 169, 170, 84, 85, 0, 0, 255, 127, 255, 255, 255, 127, 170, 170, 85, 85, 0, 0, 255, 127, 255, 255, 255, 127, 169, 170, 84, 85, 255, 255, 255, 127, 170, 170, 85, 85, 0, 0, 255, 127, 170, 170, 84, 85, 0, 0, 255, 127, 255, 255, 255, 127, 169, 170, 84, 85, 255, 255, 255, 127, 255, 255, 255, 127, 169, 170, 84, 85, 0, 0, 255, 127, 170, 170, 85, 85, 255, 255, 255, 127, 170, 170, 85, 85, 255, 127, 255, 255, 255, 255, 255, 127, 170, 170, 85, 85, 0, 0, 255, 127, 255, 127, 255, 255, 169, 170, 84, 85, 255, 255, 255, 127, 170, 170, 85, 85, 255, 255, 255, 127, 169, 170, 84, 85, 0, 0, 255, 127, 255, 255, 255, 127, 170, 170, 85, 85, 0, 0, 255, 127, 255, 255, 255, 127, 169, 170, 84, 85, 0, 0, 255, 127, 169, 170, 84, 85, 0, 0, 255, 127, 169, 170, 84, 85, 0, 0, 255, 127, 255, 255, 255, 127, 169, 170, 84, 85, 0, 0, 255, 127, 255, 255, 255, 127, 169, 170, 84, 85, 255, 255, 255, 127, 170, 170, 85, 85, 0, 0, 255, 127, 170, 170, 84, 85, 255, 255, 255, 127, 255, 255, 255, 127, 170, 170, 85, 85, 0, 0, 255, 127, 255, 255, 255, 127, 170, 170, 85, 85, 0, 0, 255, 127, 170, 170, 84, 85, 255, 255, 255, 127, 170, 170, 84, 85, 0, 0, 255, 127, 255, 127, 255, 255, 170, 170, 84, 85, 255, 127, 255, 255, 255, 255, 255, 127, 170, 170, 84, 85, 96, 25, 175, 204, 34, 25, 148, 204, 100, 190, 48, 31, 223, 146, 48, 233, 248, 151, 239, 78, 177, 168, 3, 84, 172, 197, 117, 235, 162, 156, 229, 67, 37, 211, 78, 242, 141, 109, 113, 18, 59, 149, 60, 21, 59, 149, 60, 21, 174, 100, 81, 27, 255, 127, 0, 0, 255, 127, 0, 0, 255, 255, 255, 127, 255, 127, 0, 0, 255, 255, 255, 127, 255, 127, 0, 0, 255, 127, 0, 0, 0, 0, 255, 127, 255, 127, 0, 0, 255, 255, 255, 127, 255, 127, 0, 0, 255, 255, 255, 127, 255, 127, 0, 0, 0, 0, 255, 127, 255, 127, 0, 0, 255, 255, 255, 127, 255, 255, 255, 127, 255, 127, 0, 0, 0, 0, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127, 255, 127, 0, 0, 255, 255, 255, 127, 255, 255, 255, 127, 0, 0, 255, 127, 255, 127, 0, 0, 0, 0, 255, 127, 0, 0, 255, 127, 255, 255, 255, 127) +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_4gkg7") [sub_resource type="Resource" id="Resource_1opo5"] script = ExtResource("6_cjolq") @@ -38,54 +120,73 @@ script = ExtResource("6_cjolq") open_pose = ExtResource("8_ouv7a") closed_pose = ExtResource("8_ouv7a") +[sub_resource type="CylinderShape3D" id="CylinderShape3D_is1yw"] +height = 0.145402 +radius = 0.018 + +[sub_resource type="BoxShape3D" id="BoxShape3D_r0s1w"] +size = Vector3(0.0628052, 0.0129852, 0.266632) + +[sub_resource type="BoxShape3D" id="BoxShape3D_6v4j5"] +size = Vector3(0.0894318, 0.0476303, 0.227242) + [node name="SliderSmooth" type="Node3D"] [node name="Frame" type="StaticBody3D" parent="."] +[node name="MeshInstance3D" type="MeshInstance3D" parent="Frame"] +transform = Transform3D(-6.77527e-09, 0, -0.155, 0, 0.155, 0, 0.155, 0, -6.77527e-09, 0, 0, 0.00799423) +material_override = ExtResource("1_fu85j") +mesh = SubResource("ArrayMesh_hq5q4") +skeleton = NodePath("") + [node name="CollisionShape3D" type="CollisionShape3D" parent="Frame"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0012207, 0.00180054, -0.000244141) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.000251703, 0.000114414, -0.100861) shape = SubResource("BoxShape3D_iggvr") -[node name="MeshInstance3D" type="MeshInstance3D" parent="Frame"] -mesh = SubResource("BoxMesh_rxj3w") - [node name="SliderOrigin" type="Node3D" parent="."] transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0) [node name="XRToolsInteractableSlider" type="Node3D" parent="SliderOrigin"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.2, 7.58761e-09, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, 0, 0) script = ExtResource("1_anw5d") slider_limit_max = 0.4 -slider_position = 0.2 +slider_position = 0.4 default_position = 0.2 [node name="SliderBody" type="StaticBody3D" parent="SliderOrigin/XRToolsInteractableSlider"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.213511, 9.33288e-09, 0) - -[node name="BarCollision" type="CollisionShape3D" parent="SliderOrigin/XRToolsInteractableSlider/SliderBody"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0151207, -0.000213619, 0.10018) -shape = SubResource("BoxShape3D_cpxd2") - -[node name="BarMesh" type="MeshInstance3D" parent="SliderOrigin/XRToolsInteractableSlider/SliderBody"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0150696, 3.89661e-09, 0.101031) -mesh = SubResource("BoxMesh_g63ay") - -[node name="HandleCollision" type="CollisionShape3D" parent="SliderOrigin/XRToolsInteractableSlider/SliderBody"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0136914, 9.49008e-09, 0.201097) -shape = SubResource("SphereShape3D_kfd02") +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00387768, -1.69485e-10, 0) [node name="HandleMesh" type="MeshInstance3D" parent="SliderOrigin/XRToolsInteractableSlider/SliderBody"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0137237, 9.49007e-09, 0.201097) -mesh = SubResource("SphereMesh_ol1tf") +transform = Transform3D(1.77636e-15, 0.155, 1.35505e-08, 4.44089e-16, -1.35505e-08, 0.155, 0.155, -8.88178e-16, -1.47933e-16, 0.0145681, -6.3679e-10, 0.008) +material_override = ExtResource("6_3yqsx") +mesh = SubResource("ArrayMesh_7e5qf") +skeleton = NodePath("") [node name="GrabPointHandLeft" parent="SliderOrigin/XRToolsInteractableSlider/SliderBody/HandleMesh" instance=ExtResource("2_6b3ab")] -transform = Transform3D(-0.744801, -1.19913e-07, -0.667287, 1.07176e-07, -1, 6.00767e-08, -0.667287, -2.67722e-08, 0.744801, 0.0780313, -0.0491811, -0.0430315) +transform = Transform3D(-4.30508, -1.72724e-07, 4.80517, -4.80517, -2.09614e-07, -4.30508, 2.71377e-07, -6.45161, 1.12297e-08, 0.998812, -1.07093, -0.317297) hand_pose = SubResource("Resource_1opo5") [node name="GrabPointHandRight" parent="SliderOrigin/XRToolsInteractableSlider/SliderBody/HandleMesh" instance=ExtResource("5_6b8ni")] -transform = Transform3D(0.744801, 5.48008e-08, -0.667287, -1.97535e-08, 1, 6.00766e-08, 0.667287, -3.15639e-08, 0.744801, 0.0780313, 0.0511556, -0.0430315) +transform = Transform3D(4.30508, -2.03638e-07, 4.80517, 4.80517, -2.10464e-07, -4.30508, 2.92639e-07, 6.45161, 1.12291e-08, 0.998812, -1.07093, 0.330036) hand_pose = SubResource("Resource_5w8g7") +[node name="CollisionShape3D" type="CollisionShape3D" parent="SliderOrigin/XRToolsInteractableSlider/SliderBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.203628, 8.90086e-09, 0.210474) +shape = SubResource("CylinderShape3D_is1yw") + +[node name="CollisionShape3D2" type="CollisionShape3D" parent="SliderOrigin/XRToolsInteractableSlider/SliderBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.20372, 0.0725479, 0.0977268) +shape = SubResource("BoxShape3D_r0s1w") + +[node name="CollisionShape3D3" type="CollisionShape3D" parent="SliderOrigin/XRToolsInteractableSlider/SliderBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.204, -0.073, 0.098) +shape = SubResource("BoxShape3D_r0s1w") + +[node name="CollisionShape3D4" type="CollisionShape3D" parent="SliderOrigin/XRToolsInteractableSlider/SliderBody"] +transform = Transform3D(1, -4.37114e-08, 4.37114e-08, -4.37114e-08, -4.37114e-08, 1, -4.37114e-08, -1, -4.37114e-08, -0.203794, -0.000461581, 0.0658309) +shape = SubResource("BoxShape3D_6v4j5") + [node name="HandleOrigin" type="Node3D" parent="SliderOrigin/XRToolsInteractableSlider"] [node name="XRToolsInteractableHandle" type="RigidBody3D" parent="SliderOrigin/XRToolsInteractableSlider/HandleOrigin"] @@ -96,13 +197,15 @@ script = ExtResource("7_se44d") picked_up_layer = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="SliderOrigin/XRToolsInteractableSlider/HandleOrigin/XRToolsInteractableHandle"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.200048, 1.88329e-08, 0.200778) -shape = SubResource("SphereShape3D_kfd02") +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.203628, 8.90086e-09, 0.210474) +shape = SubResource("CylinderShape3D_is1yw") [node name="XRToolsGrabPointRedirectLeft" type="Marker3D" parent="SliderOrigin/XRToolsInteractableSlider/HandleOrigin/XRToolsInteractableHandle/CollisionShape3D" node_paths=PackedStringArray("target")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00358, 9.93204e-09, -0.00969601) script = ExtResource("8_470te") target = NodePath("../../../../SliderBody/HandleMesh/GrabPointHandLeft") [node name="XRToolsGrabPointRedirectRight" type="Marker3D" parent="SliderOrigin/XRToolsInteractableSlider/HandleOrigin/XRToolsInteractableHandle/CollisionShape3D" node_paths=PackedStringArray("target")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00358, 9.93204e-09, -0.00969601) script = ExtResource("8_470te") target = NodePath("../../../../SliderBody/HandleMesh/GrabPointHandRight") diff --git a/game/interactables/switch/switchBase - Albedo.png b/game/interactables/switch/switchBase - Albedo.png new file mode 100644 index 0000000..f2b44ef Binary files /dev/null and b/game/interactables/switch/switchBase - Albedo.png differ diff --git a/game/interactables/switch/switchBase - Albedo.png.import b/game/interactables/switch/switchBase - Albedo.png.import new file mode 100644 index 0000000..3fb71d4 --- /dev/null +++ b/game/interactables/switch/switchBase - Albedo.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dvw8qjquqn1nn" +path.s3tc="res://.godot/imported/switchBase - Albedo.png-4d1a1a67a5bb80ae43ebdbf8fa6605c9.s3tc.ctex" +path.etc2="res://.godot/imported/switchBase - Albedo.png-4d1a1a67a5bb80ae43ebdbf8fa6605c9.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://game/interactables/switch/switchBase - Albedo.png" +dest_files=["res://.godot/imported/switchBase - Albedo.png-4d1a1a67a5bb80ae43ebdbf8fa6605c9.s3tc.ctex", "res://.godot/imported/switchBase - Albedo.png-4d1a1a67a5bb80ae43ebdbf8fa6605c9.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/game/interactables/switch/switchBase - Emmission.png b/game/interactables/switch/switchBase - Emmission.png new file mode 100644 index 0000000..0508746 Binary files /dev/null and b/game/interactables/switch/switchBase - Emmission.png differ diff --git a/game/interactables/switch/switchBase - Emmission.png.import b/game/interactables/switch/switchBase - Emmission.png.import new file mode 100644 index 0000000..022e5b8 --- /dev/null +++ b/game/interactables/switch/switchBase - Emmission.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c7qru7m4bigro" +path.s3tc="res://.godot/imported/switchBase - Emmission.png-af117e5b0cb5f4ae043583f9d2f94f06.s3tc.ctex" +path.etc2="res://.godot/imported/switchBase - Emmission.png-af117e5b0cb5f4ae043583f9d2f94f06.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://game/interactables/switch/switchBase - Emmission.png" +dest_files=["res://.godot/imported/switchBase - Emmission.png-af117e5b0cb5f4ae043583f9d2f94f06.s3tc.ctex", "res://.godot/imported/switchBase - Emmission.png-af117e5b0cb5f4ae043583f9d2f94f06.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/game/interactables/switch/switchBase - Metallic.png b/game/interactables/switch/switchBase - Metallic.png new file mode 100644 index 0000000..b78bc5a Binary files /dev/null and b/game/interactables/switch/switchBase - Metallic.png differ diff --git a/game/interactables/switch/switchBase - Metallic.png.import b/game/interactables/switch/switchBase - Metallic.png.import new file mode 100644 index 0000000..57b0a15 --- /dev/null +++ b/game/interactables/switch/switchBase - Metallic.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://jn8i4h1cbe2v" +path.s3tc="res://.godot/imported/switchBase - Metallic.png-887df0f2270481edee8d6df255ff4c92.s3tc.ctex" +path.etc2="res://.godot/imported/switchBase - Metallic.png-887df0f2270481edee8d6df255ff4c92.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://game/interactables/switch/switchBase - Metallic.png" +dest_files=["res://.godot/imported/switchBase - Metallic.png-887df0f2270481edee8d6df255ff4c92.s3tc.ctex", "res://.godot/imported/switchBase - Metallic.png-887df0f2270481edee8d6df255ff4c92.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/game/interactables/switch/switchBase - Normal.png b/game/interactables/switch/switchBase - Normal.png new file mode 100644 index 0000000..a79c287 Binary files /dev/null and b/game/interactables/switch/switchBase - Normal.png differ diff --git a/game/interactables/switch/switchBase - Normal.png.import b/game/interactables/switch/switchBase - Normal.png.import new file mode 100644 index 0000000..fbcdb76 --- /dev/null +++ b/game/interactables/switch/switchBase - Normal.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dvmretpbidh2c" +path.s3tc="res://.godot/imported/switchBase - Normal.png-a568db2d8e7d3104dfbc73ae9d082ddb.s3tc.ctex" +path.etc2="res://.godot/imported/switchBase - Normal.png-a568db2d8e7d3104dfbc73ae9d082ddb.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://game/interactables/switch/switchBase - Normal.png" +dest_files=["res://.godot/imported/switchBase - Normal.png-a568db2d8e7d3104dfbc73ae9d082ddb.s3tc.ctex", "res://.godot/imported/switchBase - Normal.png-a568db2d8e7d3104dfbc73ae9d082ddb.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=1 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=1 +roughness/src_normal="res://game/interactables/switch/switchBase - Normal.png" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/game/interactables/switch/switchBase - Roughness.png b/game/interactables/switch/switchBase - Roughness.png new file mode 100644 index 0000000..7b31d0d Binary files /dev/null and b/game/interactables/switch/switchBase - Roughness.png differ diff --git a/game/interactables/switch/switchBase - Roughness.png.import b/game/interactables/switch/switchBase - Roughness.png.import new file mode 100644 index 0000000..6d7c26a --- /dev/null +++ b/game/interactables/switch/switchBase - Roughness.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2bbsk45laonb" +path.s3tc="res://.godot/imported/switchBase - Roughness.png-49421df7d46d973f8a13b989218cdebf.s3tc.ctex" +path.etc2="res://.godot/imported/switchBase - Roughness.png-49421df7d46d973f8a13b989218cdebf.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://game/interactables/switch/switchBase - Roughness.png" +dest_files=["res://.godot/imported/switchBase - Roughness.png-49421df7d46d973f8a13b989218cdebf.s3tc.ctex", "res://.godot/imported/switchBase - Roughness.png-49421df7d46d973f8a13b989218cdebf.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/game/interactables/switch/switchBase - Textures.bin b/game/interactables/switch/switchBase - Textures.bin new file mode 100644 index 0000000..aa11961 Binary files /dev/null and b/game/interactables/switch/switchBase - Textures.bin differ diff --git a/game/interactables/switch/switchBase - Textures.gltf b/game/interactables/switch/switchBase - Textures.gltf new file mode 100644 index 0000000..85137e9 --- /dev/null +++ b/game/interactables/switch/switchBase - Textures.gltf @@ -0,0 +1,180 @@ +{ + "asset" : { + "generator" : "Khronos glTF Blender I/O v3.4.50", + "version" : "2.0" + }, + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 0, + 1 + ] + } + ], + "nodes" : [ + { + "mesh" : 0, + "name" : "Cube" + }, + { + "name" : "Material_Preview_Dummy" + } + ], + "materials" : [ + { + "doubleSided" : true, + "emissiveFactor" : [ + 1, + 1, + 1 + ], + "emissiveTexture" : { + "index" : 0 + }, + "name" : "Material.001", + "normalTexture" : { + "index" : 1 + }, + "pbrMetallicRoughness" : { + "baseColorTexture" : { + "index" : 2 + }, + "metallicRoughnessTexture" : { + "index" : 3 + } + } + } + ], + "meshes" : [ + { + "name" : "Cube.001", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "TEXCOORD_0" : 1, + "NORMAL" : 2 + }, + "indices" : 3, + "material" : 0 + } + ] + } + ], + "textures" : [ + { + "sampler" : 0, + "source" : 0 + }, + { + "sampler" : 0, + "source" : 1 + }, + { + "sampler" : 0, + "source" : 2 + }, + { + "sampler" : 0, + "source" : 3 + } + ], + "images" : [ + { + "mimeType" : "image/png", + "name" : "switchBase - Emmission", + "uri" : "switchBase%20-%20Emmission.png" + }, + { + "mimeType" : "image/png", + "name" : "switchBase - Normal", + "uri" : "switchBase%20-%20Normal.png" + }, + { + "mimeType" : "image/png", + "name" : "switchBase - Albedo", + "uri" : "switchBase%20-%20Albedo.png" + }, + { + "mimeType" : "image/png", + "name" : "switchBase - Metallic-switchBase - Roughness", + "uri" : "switchBase%20-%20Metallic-switchBase%20-%20Roughness.png" + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 464, + "max" : [ + 0.6000000238418579, + 2, + 1 + ], + "min" : [ + -2, + -2, + -1 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 464, + "type" : "VEC2" + }, + { + "bufferView" : 2, + "componentType" : 5126, + "count" : 464, + "type" : "VEC3" + }, + { + "bufferView" : 3, + "componentType" : 5123, + "count" : 804, + "type" : "SCALAR" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 5568, + "byteOffset" : 0, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 3712, + "byteOffset" : 5568, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 5568, + "byteOffset" : 9280, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 1608, + "byteOffset" : 14848, + "target" : 34963 + } + ], + "samplers" : [ + { + "magFilter" : 9729, + "minFilter" : 9987 + } + ], + "buffers" : [ + { + "byteLength" : 16456, + "uri" : "switchBase - Textures.bin" + } + ] +} diff --git a/game/interactables/switch/switchBase - Textures.gltf.import b/game/interactables/switch/switchBase - Textures.gltf.import new file mode 100644 index 0000000..99372c7 --- /dev/null +++ b/game/interactables/switch/switchBase - Textures.gltf.import @@ -0,0 +1,34 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://kxrt1kvyyqm6" +path="res://.godot/imported/switchBase - Textures.gltf-365b0620987edfd3fe909a34ad42613b.scn" + +[deps] + +source_file="res://game/interactables/switch/switchBase - Textures.gltf" +dest_files=["res://.godot/imported/switchBase - Textures.gltf-365b0620987edfd3fe909a34ad42613b.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/naming_version=1 +gltf/embedded_image_handling=1 diff --git a/game/interactables/switch/switchHandle - Albedo.png b/game/interactables/switch/switchHandle - Albedo.png new file mode 100644 index 0000000..6203769 Binary files /dev/null and b/game/interactables/switch/switchHandle - Albedo.png differ diff --git a/game/interactables/switch/switchHandle - Albedo.png.import b/game/interactables/switch/switchHandle - Albedo.png.import new file mode 100644 index 0000000..7d428ee --- /dev/null +++ b/game/interactables/switch/switchHandle - Albedo.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bk18s7bsc2b6g" +path.s3tc="res://.godot/imported/switchHandle - Albedo.png-35da219ffc6efc6682fb467e2319b520.s3tc.ctex" +path.etc2="res://.godot/imported/switchHandle - Albedo.png-35da219ffc6efc6682fb467e2319b520.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://game/interactables/switch/switchHandle - Albedo.png" +dest_files=["res://.godot/imported/switchHandle - Albedo.png-35da219ffc6efc6682fb467e2319b520.s3tc.ctex", "res://.godot/imported/switchHandle - Albedo.png-35da219ffc6efc6682fb467e2319b520.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/game/interactables/switch/switchHandle - Emmission.png b/game/interactables/switch/switchHandle - Emmission.png new file mode 100644 index 0000000..763a1ae Binary files /dev/null and b/game/interactables/switch/switchHandle - Emmission.png differ diff --git a/game/interactables/switch/switchHandle - Emmission.png.import b/game/interactables/switch/switchHandle - Emmission.png.import new file mode 100644 index 0000000..5825049 --- /dev/null +++ b/game/interactables/switch/switchHandle - Emmission.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://q8jjkcq0ahxj" +path.s3tc="res://.godot/imported/switchHandle - Emmission.png-4aa73ce60d2df5eeb6ce9f6664f748be.s3tc.ctex" +path.etc2="res://.godot/imported/switchHandle - Emmission.png-4aa73ce60d2df5eeb6ce9f6664f748be.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://game/interactables/switch/switchHandle - Emmission.png" +dest_files=["res://.godot/imported/switchHandle - Emmission.png-4aa73ce60d2df5eeb6ce9f6664f748be.s3tc.ctex", "res://.godot/imported/switchHandle - Emmission.png-4aa73ce60d2df5eeb6ce9f6664f748be.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/game/interactables/switch/switchHandle - Metallic.png b/game/interactables/switch/switchHandle - Metallic.png new file mode 100644 index 0000000..650110d Binary files /dev/null and b/game/interactables/switch/switchHandle - Metallic.png differ diff --git a/game/interactables/switch/switchHandle - Metallic.png.import b/game/interactables/switch/switchHandle - Metallic.png.import new file mode 100644 index 0000000..835ecd1 --- /dev/null +++ b/game/interactables/switch/switchHandle - Metallic.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b6q7fuhqis5qo" +path.s3tc="res://.godot/imported/switchHandle - Metallic.png-5923200e13165b31b4c76e8716af4cb4.s3tc.ctex" +path.etc2="res://.godot/imported/switchHandle - Metallic.png-5923200e13165b31b4c76e8716af4cb4.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://game/interactables/switch/switchHandle - Metallic.png" +dest_files=["res://.godot/imported/switchHandle - Metallic.png-5923200e13165b31b4c76e8716af4cb4.s3tc.ctex", "res://.godot/imported/switchHandle - Metallic.png-5923200e13165b31b4c76e8716af4cb4.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/game/interactables/switch/switchHandle - Normal.png b/game/interactables/switch/switchHandle - Normal.png new file mode 100644 index 0000000..4987cee Binary files /dev/null and b/game/interactables/switch/switchHandle - Normal.png differ diff --git a/game/interactables/switch/switchHandle - Normal.png.import b/game/interactables/switch/switchHandle - Normal.png.import new file mode 100644 index 0000000..cde2ebe --- /dev/null +++ b/game/interactables/switch/switchHandle - Normal.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://mle1lwv4i8rg" +path.s3tc="res://.godot/imported/switchHandle - Normal.png-6b82705c7bd8d59c359e71ec71e63660.s3tc.ctex" +path.etc2="res://.godot/imported/switchHandle - Normal.png-6b82705c7bd8d59c359e71ec71e63660.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://game/interactables/switch/switchHandle - Normal.png" +dest_files=["res://.godot/imported/switchHandle - Normal.png-6b82705c7bd8d59c359e71ec71e63660.s3tc.ctex", "res://.godot/imported/switchHandle - Normal.png-6b82705c7bd8d59c359e71ec71e63660.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=1 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=1 +roughness/src_normal="res://game/interactables/switch/switchHandle - Normal.png" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/game/interactables/switch/switchHandle - Roughness.png b/game/interactables/switch/switchHandle - Roughness.png new file mode 100644 index 0000000..179617e Binary files /dev/null and b/game/interactables/switch/switchHandle - Roughness.png differ diff --git a/game/interactables/switch/switchHandle - Roughness.png.import b/game/interactables/switch/switchHandle - Roughness.png.import new file mode 100644 index 0000000..899fb2b --- /dev/null +++ b/game/interactables/switch/switchHandle - Roughness.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://7u17l0adkj6u" +path.s3tc="res://.godot/imported/switchHandle - Roughness.png-9366b4b0716abd9b77753179bef7af1f.s3tc.ctex" +path.etc2="res://.godot/imported/switchHandle - Roughness.png-9366b4b0716abd9b77753179bef7af1f.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://game/interactables/switch/switchHandle - Roughness.png" +dest_files=["res://.godot/imported/switchHandle - Roughness.png-9366b4b0716abd9b77753179bef7af1f.s3tc.ctex", "res://.godot/imported/switchHandle - Roughness.png-9366b4b0716abd9b77753179bef7af1f.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/game/interactables/switch/switchHandle - Texture.bin b/game/interactables/switch/switchHandle - Texture.bin new file mode 100644 index 0000000..8e0c0ab Binary files /dev/null and b/game/interactables/switch/switchHandle - Texture.bin differ diff --git a/game/interactables/switch/switchHandle - Texture.gltf b/game/interactables/switch/switchHandle - Texture.gltf new file mode 100644 index 0000000..77723ae --- /dev/null +++ b/game/interactables/switch/switchHandle - Texture.gltf @@ -0,0 +1,180 @@ +{ + "asset" : { + "generator" : "Khronos glTF Blender I/O v3.4.50", + "version" : "2.0" + }, + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 0, + 1 + ] + } + ], + "nodes" : [ + { + "mesh" : 0, + "name" : "Cube.001" + }, + { + "name" : "Material_Preview_Dummy" + } + ], + "materials" : [ + { + "doubleSided" : true, + "emissiveFactor" : [ + 1, + 1, + 1 + ], + "emissiveTexture" : { + "index" : 0 + }, + "name" : "Material.006", + "normalTexture" : { + "index" : 1 + }, + "pbrMetallicRoughness" : { + "baseColorTexture" : { + "index" : 2 + }, + "metallicRoughnessTexture" : { + "index" : 3 + } + } + } + ], + "meshes" : [ + { + "name" : "Cube.002", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "TEXCOORD_0" : 1, + "NORMAL" : 2 + }, + "indices" : 3, + "material" : 0 + } + ] + } + ], + "textures" : [ + { + "sampler" : 0, + "source" : 0 + }, + { + "sampler" : 0, + "source" : 1 + }, + { + "sampler" : 0, + "source" : 2 + }, + { + "sampler" : 0, + "source" : 3 + } + ], + "images" : [ + { + "mimeType" : "image/png", + "name" : "switchHandle - Emmission", + "uri" : "switchHandle%20-%20Emmission.png" + }, + { + "mimeType" : "image/png", + "name" : "switchHandle - Normal", + "uri" : "switchHandle%20-%20Normal.png" + }, + { + "mimeType" : "image/png", + "name" : "switchHandle - Albedo", + "uri" : "switchHandle%20-%20Albedo.png" + }, + { + "mimeType" : "image/png", + "name" : "switchHandle - Metallic-switchHandle - Roughness", + "uri" : "switchHandle%20-%20Metallic-switchHandle%20-%20Roughness.png" + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 447, + "max" : [ + 1.429479718208313, + -1.1185506582260132, + 0.7213709950447083 + ], + "min" : [ + 0.24525856971740723, + -1.6955283880233765, + -0.7213709950447083 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 447, + "type" : "VEC2" + }, + { + "bufferView" : 2, + "componentType" : 5126, + "count" : 447, + "type" : "VEC3" + }, + { + "bufferView" : 3, + "componentType" : 5123, + "count" : 1116, + "type" : "SCALAR" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 5364, + "byteOffset" : 0, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 3576, + "byteOffset" : 5364, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 5364, + "byteOffset" : 8940, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 2232, + "byteOffset" : 14304, + "target" : 34963 + } + ], + "samplers" : [ + { + "magFilter" : 9729, + "minFilter" : 9987 + } + ], + "buffers" : [ + { + "byteLength" : 16536, + "uri" : "switchHandle - Texture.bin" + } + ] +} diff --git a/game/interactables/switch/switchHandle - Texture.gltf.import b/game/interactables/switch/switchHandle - Texture.gltf.import new file mode 100644 index 0000000..34f1df6 --- /dev/null +++ b/game/interactables/switch/switchHandle - Texture.gltf.import @@ -0,0 +1,34 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://c4ak1ocknxms1" +path="res://.godot/imported/switchHandle - Texture.gltf-646ce96dc13ecd20ab708acc9be61d82.scn" + +[deps] + +source_file="res://game/interactables/switch/switchHandle - Texture.gltf" +dest_files=["res://.godot/imported/switchHandle - Texture.gltf-646ce96dc13ecd20ab708acc9be61d82.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/naming_version=1 +gltf/embedded_image_handling=1 diff --git a/game/items/item_database.tres b/game/items/item_database.tres index a92feaf..9c57e89 100644 --- a/game/items/item_database.tres +++ b/game/items/item_database.tres @@ -1,11 +1,12 @@ -[gd_resource type="Resource" script_class="PersistentItemDatabase" load_steps=6 format=3 uid="uid://5sqmlq5ruolr"] +[gd_resource type="Resource" script_class="PersistentItemDatabase" load_steps=7 format=3 uid="uid://5sqmlq5ruolr"] [ext_resource type="Resource" uid="uid://bybqoawclvbw5" path="res://game/items/backpack/backpack_type.tres" id="1_a6dgf"] [ext_resource type="Script" path="res://components/persistent/persistent_item_database.gd" id="1_em17a"] [ext_resource type="Resource" uid="uid://dag4mhfys4x5d" path="res://game/items/crate/crate_type.tres" id="2_3ixst"] [ext_resource type="Resource" uid="uid://bjewm2x0kyx28" path="res://game/items/rock/rock_type.tres" id="3_s3pwk"] [ext_resource type="Resource" uid="uid://c61hljsd7ejeo" path="res://game/items/toolbox/toolbox_type.tres" id="4_25idd"] +[ext_resource type="Resource" uid="uid://bx725pc56c5iw" path="res://game/items/storageCrate/lidType.tres" id="5_0mj40"] [resource] script = ExtResource("1_em17a") -items = Array[Resource("res://components/persistent/persistent_item_type.gd")]([ExtResource("1_a6dgf"), ExtResource("2_3ixst"), ExtResource("3_s3pwk"), ExtResource("4_25idd")]) +items = Array[Resource("res://components/persistent/persistent_item_type.gd")]([ExtResource("1_a6dgf"), ExtResource("2_3ixst"), ExtResource("3_s3pwk"), ExtResource("4_25idd"), ExtResource("5_0mj40")]) diff --git a/game/items/soundChip/Disk2 - Texture.bin b/game/items/soundChip/Disk2 - Texture.bin new file mode 100644 index 0000000..d1e74e8 Binary files /dev/null and b/game/items/soundChip/Disk2 - Texture.bin differ diff --git a/game/items/soundChip/Disk2 - Texture.gltf b/game/items/soundChip/Disk2 - Texture.gltf new file mode 100644 index 0000000..4096f5d --- /dev/null +++ b/game/items/soundChip/Disk2 - Texture.gltf @@ -0,0 +1,180 @@ +{ + "asset" : { + "generator" : "Khronos glTF Blender I/O v3.4.50", + "version" : "2.0" + }, + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 0, + 1 + ] + } + ], + "nodes" : [ + { + "mesh" : 0, + "name" : "Plane" + }, + { + "name" : "Material_Preview_Dummy" + } + ], + "materials" : [ + { + "doubleSided" : true, + "emissiveFactor" : [ + 1, + 1, + 1 + ], + "emissiveTexture" : { + "index" : 0 + }, + "name" : "Material", + "normalTexture" : { + "index" : 1 + }, + "pbrMetallicRoughness" : { + "baseColorTexture" : { + "index" : 2 + }, + "metallicRoughnessTexture" : { + "index" : 3 + } + } + } + ], + "meshes" : [ + { + "name" : "Plane", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "TEXCOORD_0" : 1, + "NORMAL" : 2 + }, + "indices" : 3, + "material" : 0 + } + ] + } + ], + "textures" : [ + { + "sampler" : 0, + "source" : 0 + }, + { + "sampler" : 0, + "source" : 1 + }, + { + "sampler" : 0, + "source" : 2 + }, + { + "sampler" : 0, + "source" : 3 + } + ], + "images" : [ + { + "mimeType" : "image/png", + "name" : "dataCard - Emmission", + "uri" : "dataCard%20-%20Emmission.png" + }, + { + "mimeType" : "image/png", + "name" : "dataCard - Normal", + "uri" : "dataCard%20-%20Normal.png" + }, + { + "mimeType" : "image/png", + "name" : "dataCard - Albedo", + "uri" : "dataCard%20-%20Albedo.png" + }, + { + "mimeType" : "image/png", + "name" : "dataCard - Metallic-dataCard - Roughness", + "uri" : "dataCard%20-%20Metallic-dataCard%20-%20Roughness.png" + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 377, + "max" : [ + 1.9911408424377441, + 0.3865335285663605, + 2.398693084716797 + ], + "min" : [ + -1.9911408424377441, + 0, + -2.0872228145599365 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 377, + "type" : "VEC2" + }, + { + "bufferView" : 2, + "componentType" : 5126, + "count" : 377, + "type" : "VEC3" + }, + { + "bufferView" : 3, + "componentType" : 5123, + "count" : 780, + "type" : "SCALAR" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 4524, + "byteOffset" : 0, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 3016, + "byteOffset" : 4524, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 4524, + "byteOffset" : 7540, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 1560, + "byteOffset" : 12064, + "target" : 34963 + } + ], + "samplers" : [ + { + "magFilter" : 9729, + "minFilter" : 9987 + } + ], + "buffers" : [ + { + "byteLength" : 13624, + "uri" : "Disk2 - Texture.bin" + } + ] +} diff --git a/game/items/soundChip/Disk2 - Texture.gltf.import b/game/items/soundChip/Disk2 - Texture.gltf.import new file mode 100644 index 0000000..53f5ecf --- /dev/null +++ b/game/items/soundChip/Disk2 - Texture.gltf.import @@ -0,0 +1,34 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://do10jwv02axhu" +path="res://.godot/imported/Disk2 - Texture.gltf-bcb1c627f45c7b110575784172a95dc7.scn" + +[deps] + +source_file="res://game/items/soundChip/Disk2 - Texture.gltf" +dest_files=["res://.godot/imported/Disk2 - Texture.gltf-bcb1c627f45c7b110575784172a95dc7.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/naming_version=1 +gltf/embedded_image_handling=1 diff --git a/game/items/soundChip/dataCard - Albedo.png b/game/items/soundChip/dataCard - Albedo.png new file mode 100644 index 0000000..4b5dff3 Binary files /dev/null and b/game/items/soundChip/dataCard - Albedo.png differ diff --git a/game/items/soundChip/dataCard - Albedo.png.import b/game/items/soundChip/dataCard - Albedo.png.import new file mode 100644 index 0000000..36260be --- /dev/null +++ b/game/items/soundChip/dataCard - Albedo.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bf3dyirqdi74m" +path.s3tc="res://.godot/imported/dataCard - Albedo.png-4e77540a5d81dacfcd30888b98dde737.s3tc.ctex" +path.etc2="res://.godot/imported/dataCard - Albedo.png-4e77540a5d81dacfcd30888b98dde737.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://game/items/soundChip/dataCard - Albedo.png" +dest_files=["res://.godot/imported/dataCard - Albedo.png-4e77540a5d81dacfcd30888b98dde737.s3tc.ctex", "res://.godot/imported/dataCard - Albedo.png-4e77540a5d81dacfcd30888b98dde737.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/game/items/soundChip/dataCard - Emmission.png b/game/items/soundChip/dataCard - Emmission.png new file mode 100644 index 0000000..adfe64c Binary files /dev/null and b/game/items/soundChip/dataCard - Emmission.png differ diff --git a/game/items/soundChip/dataCard - Emmission.png.import b/game/items/soundChip/dataCard - Emmission.png.import new file mode 100644 index 0000000..6259fd2 --- /dev/null +++ b/game/items/soundChip/dataCard - Emmission.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dlh1fydmqi4jk" +path.s3tc="res://.godot/imported/dataCard - Emmission.png-0a0d5d45005af6e64cf16f983f87d0fe.s3tc.ctex" +path.etc2="res://.godot/imported/dataCard - Emmission.png-0a0d5d45005af6e64cf16f983f87d0fe.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://game/items/soundChip/dataCard - Emmission.png" +dest_files=["res://.godot/imported/dataCard - Emmission.png-0a0d5d45005af6e64cf16f983f87d0fe.s3tc.ctex", "res://.godot/imported/dataCard - Emmission.png-0a0d5d45005af6e64cf16f983f87d0fe.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/game/items/soundChip/dataCard - Metallic.png b/game/items/soundChip/dataCard - Metallic.png new file mode 100644 index 0000000..0aa831f Binary files /dev/null and b/game/items/soundChip/dataCard - Metallic.png differ diff --git a/game/items/soundChip/dataCard - Metallic.png.import b/game/items/soundChip/dataCard - Metallic.png.import new file mode 100644 index 0000000..d06d81c --- /dev/null +++ b/game/items/soundChip/dataCard - Metallic.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://paghm0nsggsi" +path.s3tc="res://.godot/imported/dataCard - Metallic.png-26df955a76075ebb0fe25682b222667f.s3tc.ctex" +path.etc2="res://.godot/imported/dataCard - Metallic.png-26df955a76075ebb0fe25682b222667f.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://game/items/soundChip/dataCard - Metallic.png" +dest_files=["res://.godot/imported/dataCard - Metallic.png-26df955a76075ebb0fe25682b222667f.s3tc.ctex", "res://.godot/imported/dataCard - Metallic.png-26df955a76075ebb0fe25682b222667f.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/game/items/soundChip/dataCard - Normal.png b/game/items/soundChip/dataCard - Normal.png new file mode 100644 index 0000000..0f60326 Binary files /dev/null and b/game/items/soundChip/dataCard - Normal.png differ diff --git a/game/items/soundChip/dataCard - Normal.png.import b/game/items/soundChip/dataCard - Normal.png.import new file mode 100644 index 0000000..fa31952 --- /dev/null +++ b/game/items/soundChip/dataCard - Normal.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://byfrad57hdyar" +path.s3tc="res://.godot/imported/dataCard - Normal.png-1c01c468ba250c18ef2f4e859c2e1286.s3tc.ctex" +path.etc2="res://.godot/imported/dataCard - Normal.png-1c01c468ba250c18ef2f4e859c2e1286.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://game/items/soundChip/dataCard - Normal.png" +dest_files=["res://.godot/imported/dataCard - Normal.png-1c01c468ba250c18ef2f4e859c2e1286.s3tc.ctex", "res://.godot/imported/dataCard - Normal.png-1c01c468ba250c18ef2f4e859c2e1286.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=1 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/game/items/soundChip/dataCard - Roughness.png b/game/items/soundChip/dataCard - Roughness.png new file mode 100644 index 0000000..326aa7b Binary files /dev/null and b/game/items/soundChip/dataCard - Roughness.png differ diff --git a/game/items/soundChip/dataCard - Roughness.png.import b/game/items/soundChip/dataCard - Roughness.png.import new file mode 100644 index 0000000..6af68b3 --- /dev/null +++ b/game/items/soundChip/dataCard - Roughness.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2ppn1tu4c6p3" +path.s3tc="res://.godot/imported/dataCard - Roughness.png-01904bbcfcc2a73259e20af9aff14b23.s3tc.ctex" +path.etc2="res://.godot/imported/dataCard - Roughness.png-01904bbcfcc2a73259e20af9aff14b23.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://game/items/soundChip/dataCard - Roughness.png" +dest_files=["res://.godot/imported/dataCard - Roughness.png-01904bbcfcc2a73259e20af9aff14b23.s3tc.ctex", "res://.godot/imported/dataCard - Roughness.png-01904bbcfcc2a73259e20af9aff14b23.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/game/items/soundChip/dataCard.tscn b/game/items/soundChip/dataCard.tscn new file mode 100644 index 0000000..61a1f2c --- /dev/null +++ b/game/items/soundChip/dataCard.tscn @@ -0,0 +1,101 @@ +[gd_scene load_steps=18 format=3 uid="uid://b456rat7yfq5g"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/pickable.gd" id="1_3rovn"] +[ext_resource type="Material" uid="uid://ieuf3ale7557" path="res://game/items/soundChip/dataChip.tres" id="2_x0728"] +[ext_resource type="Texture2D" uid="uid://bf3dyirqdi74m" path="res://game/items/soundChip/dataCard - Albedo.png" id="3_5jjt5"] +[ext_resource type="Texture2D" uid="uid://dlh1fydmqi4jk" path="res://game/items/soundChip/dataCard - Emmission.png" id="4_0u6hi"] +[ext_resource type="Texture2D" uid="uid://byfrad57hdyar" path="res://game/items/soundChip/dataCard - Normal.png" id="5_lqcim"] +[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="6_2bgld"] +[ext_resource type="Animation" uid="uid://bediglpx0rj7i" path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.res" id="7_j66hd"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="8_b8cc8"] +[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="9_bpg66"] +[ext_resource type="Animation" uid="uid://s1vqcxyqcvea" path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.res" id="10_ok3db"] +[ext_resource type="PackedScene" uid="uid://da2qgxxwwitl6" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" id="11_wbr6x"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_53d7b"] +resource_name = "Material" +cull_mode = 2 +albedo_texture = ExtResource("3_5jjt5") +metallic = 1.0 +metallic_texture_channel = 2 +roughness_texture_channel = 1 +emission_enabled = true +emission_texture = ExtResource("4_0u6hi") +normal_enabled = true +normal_texture = ExtResource("5_lqcim") + +[sub_resource type="ArrayMesh" id="ArrayMesh_pipu8"] +_surfaces = [{ +"aabb": AABB(-1.99114, 0, -2.08722, 3.98228, 0.386534, 4.48592), +"format": 34896613377, +"index_count": 780, +"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 5, 0, 7, 0, 4, 0, 5, 0, 6, 0, 7, 0, 1, 0, 7, 0, 6, 0, 1, 0, 3, 0, 7, 0, 2, 0, 5, 0, 4, 0, 2, 0, 0, 0, 5, 0, 3, 0, 4, 0, 7, 0, 3, 0, 2, 0, 4, 0, 0, 0, 6, 0, 5, 0, 0, 0, 1, 0, 6, 0, 78, 0, 15, 0, 10, 0, 14, 0, 12, 0, 11, 0, 78, 0, 14, 0, 15, 0, 13, 0, 78, 0, 79, 0, 14, 0, 13, 0, 12, 0, 14, 0, 78, 0, 13, 0, 96, 0, 25, 0, 51, 0, 96, 0, 20, 0, 25, 0, 14, 0, 24, 0, 15, 0, 14, 0, 32, 0, 24, 0, 32, 0, 30, 0, 24, 0, 30, 0, 29, 0, 28, 0, 30, 0, 32, 0, 29, 0, 47, 0, 131, 0, 48, 0, 47, 0, 128, 0, 131, 0, 28, 0, 56, 0, 55, 0, 56, 0, 27, 0, 42, 0, 56, 0, 28, 0, 27, 0, 51, 0, 28, 0, 55, 0, 51, 0, 30, 0, 28, 0, 56, 0, 43, 0, 57, 0, 56, 0, 42, 0, 43, 0, 34, 0, 45, 0, 21, 0, 34, 0, 44, 0, 45, 0, 57, 0, 44, 0, 34, 0, 57, 0, 43, 0, 44, 0, 38, 0, 51, 0, 25, 0, 51, 0, 24, 0, 30, 0, 51, 0, 38, 0, 24, 0, 28, 0, 29, 0, 27, 0, 13, 0, 22, 0, 12, 0, 13, 0, 23, 0, 22, 0, 22, 0, 11, 0, 12, 0, 45, 0, 22, 0, 21, 0, 11, 0, 22, 0, 45, 0, 54, 0, 86, 0, 8, 0, 54, 0, 88, 0, 86, 0, 45, 0, 14, 0, 11, 0, 32, 0, 45, 0, 37, 0, 14, 0, 45, 0, 32, 0, 24, 0, 10, 0, 15, 0, 10, 0, 25, 0, 20, 0, 38, 0, 10, 0, 24, 0, 10, 0, 38, 0, 25, 0, 94, 0, 13, 0, 79, 0, 13, 0, 95, 0, 23, 0, 13, 0, 94, 0, 95, 0, 20, 0, 78, 0, 10, 0, 78, 0, 96, 0, 97, 0, 78, 0, 20, 0, 96, 0, 41, 0, 119, 0, 35, 0, 41, 0, 124, 0, 119, 0, 42, 0, 29, 0, 40, 0, 42, 0, 27, 0, 29, 0, 40, 0, 32, 0, 37, 0, 40, 0, 29, 0, 32, 0, 37, 0, 49, 0, 36, 0, 49, 0, 45, 0, 35, 0, 49, 0, 37, 0, 45, 0, 47, 0, 42, 0, 40, 0, 40, 0, 39, 0, 47, 0, 39, 0, 37, 0, 36, 0, 39, 0, 40, 0, 37, 0, 43, 0, 48, 0, 46, 0, 48, 0, 42, 0, 47, 0, 48, 0, 43, 0, 42, 0, 46, 0, 44, 0, 43, 0, 45, 0, 41, 0, 35, 0, 41, 0, 44, 0, 46, 0, 41, 0, 45, 0, 44, 0, 36, 0, 123, 0, 39, 0, 36, 0, 120, 0, 123, 0, 125, 0, 133, 0, 118, 0, 133, 0, 122, 0, 121, 0, 122, 0, 130, 0, 129, 0, 130, 0, 125, 0, 126, 0, 125, 0, 122, 0, 133, 0, 122, 0, 125, 0, 130, 0, 57, 0, 59, 0, 33, 0, 59, 0, 95, 0, 99, 0, 59, 0, 57, 0, 95, 0, 94, 0, 69, 0, 104, 0, 69, 0, 103, 0, 66, 0, 103, 0, 94, 0, 97, 0, 69, 0, 94, 0, 103, 0, 105, 0, 71, 0, 98, 0, 105, 0, 76, 0, 71, 0, 51, 0, 61, 0, 62, 0, 61, 0, 55, 0, 26, 0, 61, 0, 51, 0, 55, 0, 19, 0, 72, 0, 73, 0, 72, 0, 74, 0, 75, 0, 74, 0, 76, 0, 77, 0, 76, 0, 16, 0, 71, 0, 17, 0, 19, 0, 18, 0, 76, 0, 17, 0, 16, 0, 72, 0, 76, 0, 74, 0, 17, 0, 72, 0, 19, 0, 72, 0, 17, 0, 76, 0, 26, 0, 56, 0, 31, 0, 26, 0, 55, 0, 56, 0, 100, 0, 51, 0, 62, 0, 100, 0, 96, 0, 51, 0, 31, 0, 57, 0, 33, 0, 31, 0, 56, 0, 57, 0, 67, 0, 113, 0, 64, 0, 67, 0, 114, 0, 113, 0, 99, 0, 98, 0, 59, 0, 61, 0, 100, 0, 62, 0, 61, 0, 101, 0, 100, 0, 103, 0, 102, 0, 66, 0, 105, 0, 104, 0, 69, 0, 58, 0, 110, 0, 60, 0, 58, 0, 111, 0, 110, 0, 69, 0, 76, 0, 105, 0, 69, 0, 77, 0, 76, 0, 66, 0, 77, 0, 69, 0, 66, 0, 74, 0, 77, 0, 31, 0, 19, 0, 26, 0, 31, 0, 18, 0, 19, 0, 59, 0, 17, 0, 33, 0, 59, 0, 16, 0, 17, 0, 98, 0, 16, 0, 59, 0, 98, 0, 71, 0, 16, 0, 102, 0, 74, 0, 66, 0, 102, 0, 75, 0, 74, 0, 26, 0, 73, 0, 61, 0, 26, 0, 19, 0, 73, 0, 33, 0, 18, 0, 31, 0, 33, 0, 17, 0, 18, 0, 61, 0, 72, 0, 101, 0, 61, 0, 73, 0, 72, 0, 101, 0, 75, 0, 102, 0, 101, 0, 72, 0, 75, 0, 9, 0, 78, 0, 8, 0, 9, 0, 79, 0, 78, 0, 54, 0, 94, 0, 52, 0, 54, 0, 97, 0, 94, 0, 52, 0, 79, 0, 9, 0, 52, 0, 94, 0, 79, 0, 8, 0, 97, 0, 54, 0, 8, 0, 78, 0, 97, 0, 82, 0, 91, 0, 83, 0, 82, 0, 90, 0, 91, 0, 52, 0, 88, 0, 54, 0, 52, 0, 89, 0, 88, 0, 9, 0, 89, 0, 52, 0, 9, 0, 87, 0, 89, 0, 8, 0, 87, 0, 9, 0, 8, 0, 86, 0, 87, 0, 83, 0, 86, 0, 82, 0, 83, 0, 87, 0, 86, 0, 84, 0, 89, 0, 85, 0, 84, 0, 88, 0, 89, 0, 85, 0, 87, 0, 83, 0, 85, 0, 89, 0, 87, 0, 82, 0, 88, 0, 84, 0, 82, 0, 86, 0, 88, 0, 90, 0, 93, 0, 91, 0, 90, 0, 92, 0, 93, 0, 84, 0, 90, 0, 82, 0, 84, 0, 92, 0, 90, 0, 85, 0, 92, 0, 84, 0, 85, 0, 93, 0, 92, 0, 83, 0, 93, 0, 85, 0, 83, 0, 91, 0, 93, 0, 22, 0, 34, 0, 21, 0, 34, 0, 95, 0, 57, 0, 95, 0, 22, 0, 23, 0, 95, 0, 34, 0, 22, 0, 53, 0, 94, 0, 81, 0, 53, 0, 95, 0, 94, 0, 80, 0, 96, 0, 50, 0, 80, 0, 97, 0, 96, 0, 60, 0, 99, 0, 58, 0, 60, 0, 98, 0, 99, 0, 63, 0, 101, 0, 64, 0, 63, 0, 100, 0, 101, 0, 67, 0, 103, 0, 65, 0, 67, 0, 102, 0, 103, 0, 70, 0, 105, 0, 68, 0, 70, 0, 104, 0, 105, 0, 58, 0, 95, 0, 53, 0, 58, 0, 99, 0, 95, 0, 68, 0, 98, 0, 60, 0, 68, 0, 105, 0, 98, 0, 81, 0, 104, 0, 70, 0, 81, 0, 94, 0, 104, 0, 64, 0, 102, 0, 67, 0, 64, 0, 101, 0, 102, 0, 65, 0, 97, 0, 80, 0, 65, 0, 103, 0, 97, 0, 50, 0, 100, 0, 63, 0, 50, 0, 96, 0, 100, 0, 109, 0, 114, 0, 115, 0, 114, 0, 112, 0, 113, 0, 112, 0, 109, 0, 108, 0, 114, 0, 109, 0, 112, 0, 107, 0, 110, 0, 111, 0, 110, 0, 116, 0, 117, 0, 116, 0, 107, 0, 106, 0, 110, 0, 107, 0, 116, 0, 53, 0, 111, 0, 58, 0, 53, 0, 107, 0, 111, 0, 64, 0, 112, 0, 63, 0, 64, 0, 113, 0, 112, 0, 80, 0, 115, 0, 65, 0, 80, 0, 109, 0, 115, 0, 81, 0, 107, 0, 53, 0, 81, 0, 106, 0, 107, 0, 60, 0, 117, 0, 68, 0, 60, 0, 110, 0, 117, 0, 65, 0, 114, 0, 67, 0, 65, 0, 115, 0, 114, 0, 63, 0, 108, 0, 50, 0, 63, 0, 112, 0, 108, 0, 50, 0, 109, 0, 80, 0, 50, 0, 108, 0, 109, 0, 70, 0, 106, 0, 81, 0, 70, 0, 116, 0, 106, 0, 68, 0, 116, 0, 70, 0, 68, 0, 117, 0, 116, 0, 48, 0, 127, 0, 46, 0, 48, 0, 131, 0, 127, 0, 46, 0, 124, 0, 41, 0, 46, 0, 127, 0, 124, 0, 39, 0, 128, 0, 47, 0, 39, 0, 123, 0, 128, 0, 49, 0, 120, 0, 36, 0, 49, 0, 132, 0, 120, 0, 119, 0, 133, 0, 132, 0, 119, 0, 118, 0, 133, 0, 127, 0, 125, 0, 124, 0, 127, 0, 126, 0, 125, 0, 129, 0, 123, 0, 122, 0, 129, 0, 128, 0, 123, 0, 132, 0, 121, 0, 120, 0, 132, 0, 133, 0, 121, 0, 131, 0, 126, 0, 127, 0, 131, 0, 130, 0, 126, 0, 124, 0, 118, 0, 119, 0, 124, 0, 125, 0, 118, 0, 122, 0, 120, 0, 121, 0, 122, 0, 123, 0, 120, 0, 128, 0, 130, 0, 131, 0, 128, 0, 129, 0, 130, 0, 35, 0, 132, 0, 49, 0, 35, 0, 119, 0, 132, 0), +"name": "Material", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 134, +"vertex_data": PackedByteArray(206, 12, 9, 46, 30, 226, 0, 0, 48, 243, 9, 46, 30, 226, 0, 0, 206, 12, 9, 46, 216, 92, 0, 0, 48, 243, 9, 46, 216, 92, 0, 0, 206, 12, 172, 186, 216, 92, 0, 0, 206, 12, 172, 186, 30, 226, 0, 0, 48, 243, 172, 186, 30, 226, 0, 0, 48, 243, 172, 186, 216, 92, 0, 0, 197, 7, 13, 80, 117, 237, 0, 0, 57, 248, 13, 80, 117, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 196, 0, 0, 0, 0, 0, 0, 208, 213, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 113, 37, 0, 0, 13, 63, 0, 0, 0, 0, 0, 0, 7, 24, 0, 0, 0, 0, 0, 0, 119, 223, 72, 197, 130, 98, 0, 0, 59, 189, 72, 197, 130, 98, 0, 0, 31, 70, 72, 197, 130, 98, 0, 0, 252, 55, 72, 197, 130, 98, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 77, 196, 255, 255, 0, 0, 0, 0, 208, 213, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 113, 37, 0, 0, 7, 24, 254, 165, 0, 0, 0, 0, 7, 24, 255, 255, 0, 0, 0, 0, 252, 55, 255, 255, 130, 98, 0, 0, 31, 70, 254, 165, 183, 79, 0, 0, 252, 55, 254, 165, 182, 79, 0, 0, 13, 63, 254, 165, 112, 73, 0, 0, 7, 24, 254, 165, 176, 79, 0, 0, 31, 70, 255, 255, 130, 98, 0, 0, 13, 63, 254, 165, 0, 0, 0, 0, 59, 189, 255, 255, 130, 98, 0, 0, 77, 196, 255, 255, 112, 73, 0, 0, 214, 153, 221, 212, 193, 16, 0, 0, 230, 104, 221, 212, 193, 16, 0, 0, 13, 63, 221, 212, 0, 0, 0, 0, 7, 24, 221, 212, 0, 0, 0, 0, 196, 94, 221, 212, 122, 38, 0, 0, 13, 63, 221, 212, 112, 73, 0, 0, 249, 163, 221, 212, 122, 38, 0, 0, 31, 70, 221, 212, 183, 79, 0, 0, 59, 189, 221, 212, 183, 79, 0, 0, 77, 196, 221, 212, 112, 73, 0, 0, 77, 196, 221, 212, 0, 0, 0, 0, 214, 153, 221, 212, 51, 60, 0, 0, 230, 104, 221, 212, 51, 60, 0, 0, 94, 129, 221, 212, 50, 69, 0, 0, 94, 129, 221, 212, 194, 7, 0, 0, 84, 5, 255, 255, 215, 89, 0, 0, 7, 24, 255, 255, 190, 79, 0, 0, 57, 248, 241, 175, 117, 237, 0, 0, 170, 250, 255, 255, 186, 89, 0, 0, 197, 7, 241, 175, 117, 237, 0, 0, 252, 55, 255, 255, 190, 79, 0, 0, 31, 70, 255, 255, 190, 79, 0, 0, 59, 189, 255, 255, 190, 79, 0, 0, 170, 239, 255, 255, 185, 97, 0, 0, 119, 223, 255, 255, 130, 98, 0, 0, 128, 235, 255, 255, 134, 105, 0, 0, 20, 32, 255, 255, 130, 98, 0, 0, 242, 24, 255, 255, 145, 92, 0, 0, 230, 15, 255, 255, 168, 97, 0, 0, 11, 20, 255, 255, 132, 105, 0, 0, 231, 15, 255, 255, 115, 219, 0, 0, 20, 32, 255, 255, 148, 218, 0, 0, 11, 20, 255, 255, 147, 211, 0, 0, 128, 235, 255, 255, 144, 211, 0, 0, 119, 223, 255, 255, 148, 218, 0, 0, 169, 239, 255, 255, 99, 219, 0, 0, 44, 230, 72, 197, 118, 104, 0, 0, 95, 25, 72, 197, 118, 104, 0, 0, 20, 32, 72, 197, 130, 98, 0, 0, 20, 32, 72, 197, 148, 218, 0, 0, 95, 25, 72, 197, 160, 212, 0, 0, 44, 230, 72, 197, 160, 212, 0, 0, 119, 223, 72, 197, 148, 218, 0, 0, 0, 0, 0, 0, 117, 237, 0, 0, 255, 255, 0, 0, 117, 237, 0, 0, 84, 5, 255, 255, 82, 227, 0, 0, 170, 250, 255, 255, 111, 227, 0, 0, 204, 10, 70, 111, 255, 255, 0, 0, 50, 245, 70, 111, 255, 255, 0, 0, 204, 10, 184, 144, 255, 255, 0, 0, 50, 245, 184, 144, 255, 255, 0, 0, 197, 7, 13, 80, 255, 255, 0, 0, 57, 248, 13, 80, 255, 255, 0, 0, 197, 7, 241, 175, 255, 255, 0, 0, 57, 248, 241, 175, 255, 255, 0, 0, 204, 10, 70, 111, 232, 248, 0, 0, 50, 245, 70, 111, 232, 248, 0, 0, 204, 10, 184, 144, 232, 248, 0, 0, 50, 245, 184, 144, 232, 248, 0, 0, 255, 255, 255, 255, 117, 237, 0, 0, 255, 255, 255, 255, 190, 79, 0, 0, 0, 0, 255, 255, 190, 79, 0, 0, 0, 0, 255, 255, 117, 237, 0, 0, 44, 230, 255, 255, 118, 104, 0, 0, 93, 235, 255, 255, 188, 94, 0, 0, 56, 20, 255, 255, 178, 94, 0, 0, 95, 25, 255, 255, 118, 104, 0, 0, 95, 25, 255, 255, 160, 212, 0, 0, 59, 20, 255, 255, 103, 222, 0, 0, 90, 235, 255, 255, 93, 222, 0, 0, 44, 230, 255, 255, 160, 212, 0, 0, 170, 250, 178, 239, 111, 227, 0, 0, 170, 250, 178, 239, 186, 89, 0, 0, 84, 5, 178, 239, 215, 89, 0, 0, 84, 5, 178, 239, 82, 227, 0, 0, 128, 235, 178, 239, 134, 105, 0, 0, 170, 239, 178, 239, 185, 97, 0, 0, 230, 15, 178, 239, 168, 97, 0, 0, 11, 20, 178, 239, 132, 105, 0, 0, 11, 20, 178, 239, 147, 211, 0, 0, 231, 15, 178, 239, 115, 219, 0, 0, 169, 239, 178, 239, 99, 219, 0, 0, 128, 235, 178, 239, 144, 211, 0, 0, 52, 152, 18, 252, 53, 18, 0, 0, 214, 153, 19, 230, 193, 16, 0, 0, 230, 104, 19, 230, 193, 16, 0, 0, 137, 106, 18, 252, 53, 18, 0, 0, 19, 97, 18, 252, 122, 38, 0, 0, 196, 94, 19, 230, 122, 38, 0, 0, 249, 163, 19, 230, 122, 38, 0, 0, 169, 161, 18, 252, 122, 38, 0, 0, 52, 152, 18, 252, 191, 58, 0, 0, 214, 153, 19, 230, 51, 60, 0, 0, 230, 104, 19, 230, 51, 60, 0, 0, 137, 106, 18, 252, 191, 58, 0, 0, 94, 129, 18, 252, 37, 67, 0, 0, 94, 129, 19, 230, 50, 69, 0, 0, 94, 129, 19, 230, 194, 7, 0, 0, 94, 129, 18, 252, 207, 9, 0, 0) +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_d1ho0"] +resource_name = "Disk2 - Texture_Plane" +_surfaces = [{ +"aabb": AABB(-1.99114, 0, -2.08722, 3.98228, 0.386534, 4.48592), +"attribute_data": PackedByteArray(22, 63, 190, 63, 207, 161, 74, 12, 147, 223, 177, 165, 22, 63, 61, 152, 185, 170, 74, 12, 147, 223, 48, 254, 193, 120, 190, 63, 207, 161, 245, 69, 52, 222, 190, 63, 193, 120, 61, 152, 185, 170, 245, 69, 52, 222, 61, 152, 121, 59, 190, 63, 189, 165, 245, 69, 34, 226, 190, 63, 206, 1, 190, 63, 189, 165, 74, 12, 129, 227, 177, 165, 206, 1, 61, 152, 167, 174, 74, 12, 129, 227, 48, 254, 121, 59, 61, 152, 167, 174, 245, 69, 34, 226, 61, 152, 12, 41, 28, 52, 49, 209, 211, 161, 172, 213, 228, 56, 60, 48, 28, 52, 49, 209, 48, 254, 172, 213, 65, 149, 115, 159, 219, 155, 8, 189, 61, 152, 206, 212, 14, 172, 115, 159, 66, 231, 206, 212, 118, 247, 115, 159, 252, 237, 68, 178, 61, 152, 206, 212, 48, 254, 78, 147, 48, 254, 68, 178, 10, 136, 68, 178, 10, 136, 115, 159, 19, 180, 206, 212, 71, 196, 115, 159, 21, 165, 206, 212, 73, 181, 94, 124, 38, 76, 61, 247, 156, 251, 61, 247, 156, 251, 94, 124, 76, 89, 61, 247, 118, 238, 94, 124, 13, 135, 61, 247, 181, 192, 94, 124, 123, 140, 61, 247, 71, 187, 210, 78, 219, 155, 48, 196, 61, 152, 246, 219, 14, 172, 210, 78, 66, 231, 131, 190, 227, 164, 246, 219, 118, 247, 210, 78, 252, 237, 107, 185, 61, 152, 246, 219, 48, 254, 173, 66, 48, 254, 107, 185, 10, 136, 107, 185, 10, 136, 16, 163, 230, 164, 230, 186, 227, 164, 114, 217, 73, 181, 210, 78, 21, 165, 98, 184, 227, 164, 246, 219, 73, 181, 223, 46, 92, 177, 225, 248, 71, 187, 197, 180, 100, 199, 122, 248, 53, 24, 122, 248, 53, 24, 87, 175, 99, 199, 122, 248, 198, 18, 14, 178, 173, 196, 85, 195, 157, 167, 122, 248, 125, 21, 16, 163, 97, 199, 230, 186, 94, 199, 122, 248, 128, 6, 223, 46, 202, 182, 225, 248, 181, 192, 14, 178, 230, 164, 85, 195, 100, 199, 114, 217, 71, 196, 223, 46, 139, 228, 225, 248, 118, 238, 0, 55, 66, 231, 131, 190, 170, 196, 131, 190, 170, 196, 116, 20, 33, 60, 246, 28, 33, 60, 81, 170, 81, 219, 246, 28, 85, 41, 56, 33, 33, 60, 81, 170, 29, 238, 16, 163, 48, 254, 164, 196, 100, 199, 193, 218, 71, 196, 151, 185, 227, 164, 193, 218, 73, 181, 56, 33, 187, 50, 56, 33, 187, 50, 183, 179, 2, 242, 216, 194, 48, 254, 164, 196, 157, 167, 202, 249, 125, 21, 116, 20, 187, 50, 116, 20, 187, 50, 183, 179, 108, 215, 143, 197, 121, 251, 202, 249, 53, 24, 202, 249, 53, 24, 184, 191, 97, 199, 143, 197, 184, 205, 202, 249, 245, 69, 184, 191, 170, 196, 184, 191, 170, 196, 216, 194, 1, 203, 16, 163, 1, 203, 184, 191, 227, 164, 193, 218, 118, 247, 116, 20, 85, 41, 89, 25, 85, 41, 29, 189, 81, 219, 89, 25, 33, 60, 56, 33, 85, 41, 29, 189, 29, 238, 89, 25, 187, 50, 89, 25, 187, 50, 2, 193, 183, 228, 246, 28, 187, 50, 246, 28, 187, 50, 108, 166, 183, 228, 175, 49, 231, 157, 115, 185, 15, 157, 48, 254, 61, 152, 245, 52, 21, 165, 98, 184, 100, 199, 254, 250, 128, 6, 169, 44, 28, 52, 211, 207, 61, 152, 90, 216, 65, 149, 184, 49, 36, 252, 79, 177, 73, 161, 242, 252, 48, 254, 121, 37, 28, 52, 211, 207, 224, 59, 90, 216, 228, 56, 245, 52, 92, 177, 254, 250, 198, 18, 245, 52, 202, 182, 254, 250, 53, 24, 245, 52, 139, 228, 131, 190, 100, 199, 254, 250, 245, 69, 215, 16, 33, 60, 32, 47, 234, 247, 79, 177, 15, 157, 223, 46, 177, 241, 225, 248, 156, 251, 225, 248, 156, 251, 215, 16, 193, 56, 152, 44, 81, 246, 223, 46, 45, 168, 225, 248, 24, 178, 225, 248, 24, 178, 204, 48, 112, 165, 197, 12, 33, 60, 38, 47, 246, 161, 115, 185, 31, 161, 197, 12, 187, 56, 153, 44, 142, 163, 165, 7, 247, 161, 197, 12, 110, 7, 97, 181, 31, 161, 237, 7, 45, 168, 30, 250, 38, 76, 30, 250, 38, 76, 51, 10, 142, 163, 197, 12, 215, 10, 52, 10, 81, 246, 215, 16, 223, 10, 237, 7, 177, 241, 30, 250, 170, 149, 30, 250, 170, 149, 170, 7, 234, 247, 215, 16, 125, 7, 62, 173, 14, 157, 206, 1, 33, 60, 220, 126, 146, 73, 61, 247, 48, 254, 15, 7, 33, 60, 220, 126, 61, 152, 61, 247, 133, 175, 94, 124, 170, 149, 61, 247, 24, 178, 61, 247, 24, 178, 167, 174, 170, 149, 122, 248, 38, 76, 122, 248, 38, 76, 15, 7, 84, 13, 41, 172, 61, 152, 122, 248, 146, 73, 206, 1, 84, 13, 41, 172, 146, 73, 122, 248, 61, 152, 167, 174, 38, 76, 122, 248, 170, 149, 122, 248, 170, 149, 111, 82, 219, 155, 8, 189, 126, 49, 112, 211, 232, 53, 111, 82, 48, 254, 68, 178, 126, 49, 112, 211, 61, 152, 24, 5, 231, 157, 97, 181, 15, 157, 48, 254, 193, 92, 14, 5, 36, 252, 62, 173, 73, 161, 242, 252, 154, 194, 44, 169, 73, 161, 41, 232, 19, 151, 240, 236, 52, 62, 80, 164, 73, 161, 41, 232, 10, 61, 240, 236, 61, 152, 237, 167, 73, 161, 233, 230, 19, 151, 30, 231, 39, 164, 16, 163, 73, 161, 233, 230, 10, 61, 30, 231, 48, 254, 12, 41, 33, 60, 44, 201, 211, 161, 83, 233, 61, 152, 60, 48, 33, 60, 44, 201, 48, 254, 83, 233, 224, 59, 121, 37, 33, 60, 205, 199, 224, 59, 191, 229, 61, 152, 169, 44, 33, 60, 205, 199, 61, 152, 191, 229, 224, 59, 44, 169, 55, 158, 1, 240, 52, 62, 158, 243, 52, 62, 80, 164, 55, 158, 1, 240, 61, 152, 158, 243, 61, 152, 237, 167, 55, 158, 47, 234, 39, 164, 221, 244, 52, 62, 16, 163, 55, 158, 47, 234, 48, 254, 221, 244, 61, 152, 206, 1, 48, 254, 107, 185, 126, 49, 151, 218, 61, 152, 245, 52, 48, 254, 107, 185, 188, 117, 245, 52, 219, 155, 48, 196, 188, 117, 206, 1, 219, 155, 48, 196, 126, 49, 151, 218, 232, 53, 114, 3, 33, 60, 241, 44, 69, 244, 225, 248, 48, 254, 24, 48, 67, 246, 27, 48, 159, 163, 179, 8, 33, 60, 241, 44, 154, 165, 225, 248, 133, 175, 179, 8, 84, 13, 220, 9, 154, 165, 30, 250, 146, 73, 176, 6, 160, 163, 179, 6, 66, 246, 114, 3, 84, 13, 220, 9, 69, 244, 30, 250, 61, 152, 201, 172, 73, 161, 160, 243, 48, 254, 126, 252, 154, 194, 219, 176, 73, 161, 160, 243, 154, 194, 126, 252, 48, 254, 50, 158, 245, 69, 254, 184, 15, 157, 187, 253, 61, 152, 50, 158, 120, 10, 236, 180, 15, 157, 187, 253, 193, 92, 98, 16, 193, 56, 204, 237, 112, 201, 98, 16, 33, 60, 219, 176, 15, 157, 102, 239, 16, 198, 80, 12, 33, 60, 34, 154, 147, 66, 254, 184, 31, 161, 80, 12, 187, 56, 139, 152, 45, 63, 80, 12, 215, 10, 139, 152, 73, 17, 80, 12, 110, 7, 34, 154, 224, 13, 236, 180, 31, 161, 98, 16, 125, 7, 201, 172, 14, 157, 101, 239, 181, 250, 98, 16, 223, 10, 204, 237, 82, 247, 230, 131, 35, 69, 230, 131, 35, 69, 230, 131, 35, 69, 24, 21, 33, 60, 154, 29, 33, 60, 143, 131, 245, 69, 143, 131, 245, 69, 154, 29, 85, 41, 220, 33, 33, 60, 237, 148, 196, 62, 237, 148, 196, 62, 28, 148, 109, 62, 28, 148, 109, 62, 28, 148, 109, 62, 28, 148, 238, 52, 28, 148, 238, 52, 28, 148, 238, 52, 220, 33, 187, 50, 220, 33, 187, 50, 237, 148, 151, 52, 237, 148, 151, 52, 24, 21, 187, 50, 24, 21, 187, 50, 94, 124, 196, 62, 94, 124, 196, 62, 48, 125, 109, 62, 48, 125, 109, 62, 48, 125, 109, 62, 48, 125, 238, 52, 48, 125, 238, 52, 48, 125, 238, 52, 24, 21, 85, 41, 181, 24, 85, 41, 94, 124, 151, 52, 94, 124, 151, 52, 181, 24, 33, 60, 220, 33, 85, 41, 188, 141, 102, 45, 188, 141, 102, 45, 101, 141, 56, 46, 101, 141, 56, 46, 101, 141, 56, 46, 230, 131, 56, 46, 230, 131, 56, 46, 230, 131, 56, 46, 181, 24, 187, 50, 181, 24, 187, 50, 143, 131, 102, 45, 143, 131, 102, 45, 154, 29, 187, 50, 154, 29, 187, 50, 188, 141, 245, 69, 188, 141, 245, 69, 101, 141, 35, 69, 101, 141, 35, 69, 101, 141, 35, 69), +"format": 34896613399, +"index_count": 780, +"index_data": PackedByteArray(0, 0, 9, 0, 3, 0, 0, 0, 6, 0, 9, 0, 15, 0, 21, 0, 12, 0, 15, 0, 18, 0, 21, 0, 4, 0, 22, 0, 19, 0, 4, 0, 10, 0, 22, 0, 7, 0, 16, 0, 13, 0, 7, 0, 1, 0, 16, 0, 11, 0, 14, 0, 23, 0, 11, 0, 8, 0, 14, 0, 2, 0, 20, 0, 17, 0, 2, 0, 5, 0, 20, 0, 215, 0, 43, 0, 30, 0, 41, 0, 35, 0, 33, 0, 215, 0, 41, 0, 43, 0, 38, 0, 215, 0, 218, 0, 41, 0, 38, 0, 35, 0, 41, 0, 215, 0, 38, 0, 12, 1, 69, 0, 142, 0, 12, 1, 54, 0, 69, 0, 42, 0, 68, 0, 44, 0, 42, 0, 89, 0, 68, 0, 87, 0, 82, 0, 66, 0, 82, 0, 79, 0, 77, 0, 82, 0, 87, 0, 79, 0, 130, 0, 110, 1, 133, 0, 130, 0, 100, 1, 110, 1, 78, 0, 157, 0, 155, 0, 157, 0, 76, 0, 117, 0, 157, 0, 78, 0, 76, 0, 144, 0, 78, 0, 155, 0, 144, 0, 84, 0, 78, 0, 157, 0, 120, 0, 160, 0, 157, 0, 117, 0, 120, 0, 93, 0, 125, 0, 58, 0, 93, 0, 121, 0, 125, 0, 159, 0, 122, 0, 94, 0, 159, 0, 118, 0, 122, 0, 104, 0, 143, 0, 70, 0, 143, 0, 67, 0, 83, 0, 143, 0, 104, 0, 67, 0, 77, 0, 79, 0, 74, 0, 39, 0, 61, 0, 36, 0, 39, 0, 64, 0, 61, 0, 62, 0, 34, 0, 37, 0, 126, 0, 62, 0, 59, 0, 34, 0, 62, 0, 126, 0, 151, 0, 239, 0, 24, 0, 151, 0, 245, 0, 239, 0, 126, 0, 42, 0, 34, 0, 89, 0, 126, 0, 103, 0, 42, 0, 126, 0, 89, 0, 68, 0, 32, 0, 44, 0, 32, 0, 71, 0, 56, 0, 105, 0, 32, 0, 68, 0, 32, 0, 105, 0, 71, 0, 8, 1, 40, 0, 219, 0, 40, 0, 11, 1, 65, 0, 40, 0, 8, 1, 11, 1, 55, 0, 216, 0, 31, 0, 216, 0, 13, 1, 15, 1, 216, 0, 55, 0, 13, 1, 112, 0, 68, 1, 95, 0, 112, 0, 86, 1, 68, 1, 116, 0, 81, 0, 111, 0, 116, 0, 75, 0, 81, 0, 110, 0, 88, 0, 102, 0, 110, 0, 80, 0, 88, 0, 101, 0, 138, 0, 100, 0, 138, 0, 124, 0, 97, 0, 138, 0, 101, 0, 124, 0, 132, 0, 115, 0, 109, 0, 109, 0, 108, 0, 132, 0, 108, 0, 101, 0, 100, 0, 108, 0, 109, 0, 101, 0, 119, 0, 135, 0, 129, 0, 135, 0, 115, 0, 132, 0, 135, 0, 119, 0, 115, 0, 129, 0, 123, 0, 119, 0, 124, 0, 114, 0, 97, 0, 114, 0, 123, 0, 129, 0, 114, 0, 124, 0, 123, 0, 99, 0, 82, 1, 106, 0, 99, 0, 73, 1, 82, 1, 90, 1, 119, 1, 65, 1, 119, 1, 81, 1, 78, 1, 81, 1, 108, 1, 106, 1, 108, 1, 90, 1, 93, 1, 90, 1, 81, 1, 119, 1, 81, 1, 90, 1, 108, 1, 158, 0, 164, 0, 90, 0, 164, 0, 10, 1, 20, 1, 164, 0, 158, 0, 10, 1, 7, 1, 188, 0, 29, 1, 188, 0, 28, 1, 181, 0, 28, 1, 7, 1, 14, 1, 188, 0, 7, 1, 28, 1, 30, 1, 194, 0, 17, 1, 30, 1, 209, 0, 194, 0, 142, 0, 169, 0, 172, 0, 169, 0, 154, 0, 72, 0, 169, 0, 142, 0, 154, 0, 52, 0, 198, 0, 200, 0, 198, 0, 203, 0, 207, 0, 203, 0, 210, 0, 212, 0, 210, 0, 45, 0, 195, 0, 48, 0, 52, 0, 50, 0, 210, 0, 48, 0, 45, 0, 198, 0, 210, 0, 203, 0, 48, 0, 198, 0, 52, 0, 198, 0, 48, 0, 210, 0, 72, 0, 156, 0, 85, 0, 72, 0, 154, 0, 156, 0, 21, 1, 142, 0, 172, 0, 21, 1, 12, 1, 142, 0, 85, 0, 158, 0, 90, 0, 85, 0, 156, 0, 158, 0, 185, 0, 53, 1, 176, 0, 185, 0, 55, 1, 53, 1, 20, 1, 18, 1, 164, 0, 169, 0, 21, 1, 172, 0, 169, 0, 23, 1, 21, 1, 28, 1, 26, 1, 181, 0, 31, 1, 29, 1, 188, 0, 161, 0, 45, 1, 167, 0, 161, 0, 47, 1, 45, 1, 189, 0, 211, 0, 32, 1, 189, 0, 213, 0, 211, 0, 182, 0, 214, 0, 190, 0, 182, 0, 204, 0, 214, 0, 86, 0, 53, 0, 73, 0, 86, 0, 51, 0, 53, 0, 166, 0, 49, 0, 91, 0, 166, 0, 47, 0, 49, 0, 19, 1, 46, 0, 165, 0, 19, 1, 196, 0, 46, 0, 27, 1, 205, 0, 183, 0, 27, 1, 208, 0, 205, 0, 73, 0, 201, 0, 170, 0, 73, 0, 53, 0, 201, 0, 91, 0, 51, 0, 86, 0, 91, 0, 49, 0, 51, 0, 171, 0, 199, 0, 24, 1, 171, 0, 202, 0, 199, 0, 22, 1, 206, 0, 25, 1, 22, 1, 197, 0, 206, 0, 29, 0, 217, 0, 26, 0, 29, 0, 220, 0, 217, 0, 153, 0, 9, 1, 147, 0, 153, 0, 16, 1, 9, 1, 147, 0, 220, 0, 29, 0, 147, 0, 9, 1, 220, 0, 26, 0, 16, 1, 153, 0, 26, 0, 217, 0, 16, 1, 229, 0, 255, 0, 232, 0, 229, 0, 252, 0, 255, 0, 146, 0, 246, 0, 152, 0, 146, 0, 249, 0, 246, 0, 27, 0, 248, 0, 145, 0, 27, 0, 242, 0, 248, 0, 25, 0, 243, 0, 28, 0, 25, 0, 240, 0, 243, 0, 231, 0, 241, 0, 228, 0, 231, 0, 244, 0, 241, 0, 234, 0, 250, 0, 237, 0, 234, 0, 247, 0, 250, 0, 237, 0, 244, 0, 231, 0, 237, 0, 250, 0, 244, 0, 228, 0, 247, 0, 234, 0, 228, 0, 241, 0, 247, 0, 253, 0, 6, 1, 0, 1, 253, 0, 3, 1, 6, 1, 233, 0, 251, 0, 227, 0, 233, 0, 1, 1, 251, 0, 238, 0, 2, 1, 235, 0, 238, 0, 5, 1, 2, 1, 230, 0, 4, 1, 236, 0, 230, 0, 254, 0, 4, 1, 60, 0, 92, 0, 57, 0, 92, 0, 10, 1, 158, 0, 10, 1, 60, 0, 63, 0, 10, 1, 92, 0, 60, 0, 148, 0, 7, 1, 224, 0, 148, 0, 10, 1, 7, 1, 221, 0, 12, 1, 139, 0, 221, 0, 14, 1, 12, 1, 168, 0, 20, 1, 162, 0, 168, 0, 18, 1, 20, 1, 174, 0, 23, 1, 177, 0, 174, 0, 21, 1, 23, 1, 184, 0, 28, 1, 178, 0, 184, 0, 26, 1, 28, 1, 191, 0, 31, 1, 186, 0, 191, 0, 29, 1, 31, 1, 162, 0, 10, 1, 148, 0, 162, 0, 20, 1, 10, 1, 186, 0, 18, 1, 168, 0, 186, 0, 31, 1, 18, 1, 224, 0, 29, 1, 191, 0, 224, 0, 7, 1, 29, 1, 177, 0, 26, 1, 184, 0, 177, 0, 23, 1, 26, 1, 178, 0, 14, 1, 221, 0, 178, 0, 28, 1, 14, 1, 139, 0, 21, 1, 174, 0, 139, 0, 12, 1, 21, 1, 42, 1, 56, 1, 58, 1, 56, 1, 51, 1, 54, 1, 51, 1, 42, 1, 39, 1, 56, 1, 42, 1, 51, 1, 37, 1, 46, 1, 49, 1, 46, 1, 62, 1, 64, 1, 62, 1, 37, 1, 34, 1, 46, 1, 37, 1, 62, 1, 149, 0, 48, 1, 163, 0, 149, 0, 36, 1, 48, 1, 176, 0, 50, 1, 173, 0, 176, 0, 53, 1, 50, 1, 222, 0, 59, 1, 180, 0, 222, 0, 43, 1, 59, 1, 226, 0, 38, 1, 150, 0, 226, 0, 35, 1, 38, 1, 167, 0, 63, 1, 187, 0, 167, 0, 45, 1, 63, 1, 179, 0, 55, 1, 185, 0, 179, 0, 57, 1, 55, 1, 175, 0, 40, 1, 140, 0, 175, 0, 52, 1, 40, 1, 141, 0, 44, 1, 223, 0, 141, 0, 41, 1, 44, 1, 193, 0, 33, 1, 225, 0, 193, 0, 61, 1, 33, 1, 187, 0, 60, 1, 192, 0, 187, 0, 63, 1, 60, 1, 134, 0, 97, 1, 128, 0, 134, 0, 111, 1, 97, 1, 127, 0, 87, 1, 113, 0, 127, 0, 96, 1, 87, 1, 107, 0, 101, 1, 131, 0, 107, 0, 83, 1, 101, 1, 136, 0, 72, 1, 98, 0, 136, 0, 114, 1, 72, 1, 70, 1, 120, 1, 117, 1, 70, 1, 66, 1, 120, 1, 99, 1, 91, 1, 88, 1, 99, 1, 95, 1, 91, 1, 104, 1, 84, 1, 79, 1, 104, 1, 102, 1, 84, 1, 116, 1, 77, 1, 75, 1, 116, 1, 118, 1, 77, 1, 113, 1, 94, 1, 98, 1, 113, 1, 109, 1, 94, 1, 89, 1, 67, 1, 71, 1, 89, 1, 92, 1, 67, 1, 80, 1, 74, 1, 76, 1, 80, 1, 85, 1, 74, 1, 103, 1, 107, 1, 112, 1, 103, 1, 105, 1, 107, 1, 96, 0, 115, 1, 137, 0, 96, 0, 69, 1, 115, 1), +"material": SubResource("StandardMaterial3D_53d7b"), +"name": "Material", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 377, +"vertex_data": PackedByteArray(206, 12, 9, 46, 30, 226, 84, 213, 206, 12, 9, 46, 30, 226, 84, 213, 206, 12, 9, 46, 30, 226, 0, 0, 48, 243, 9, 46, 30, 226, 84, 213, 48, 243, 9, 46, 30, 226, 170, 42, 48, 243, 9, 46, 30, 226, 0, 0, 206, 12, 9, 46, 216, 92, 84, 213, 206, 12, 9, 46, 216, 92, 84, 213, 206, 12, 9, 46, 216, 92, 255, 191, 48, 243, 9, 46, 216, 92, 84, 213, 48, 243, 9, 46, 216, 92, 170, 42, 48, 243, 9, 46, 216, 92, 255, 191, 206, 12, 172, 186, 216, 92, 170, 42, 206, 12, 172, 186, 216, 92, 84, 213, 206, 12, 172, 186, 216, 92, 255, 191, 206, 12, 172, 186, 30, 226, 170, 42, 206, 12, 172, 186, 30, 226, 84, 213, 206, 12, 172, 186, 30, 226, 0, 0, 48, 243, 172, 186, 30, 226, 170, 42, 48, 243, 172, 186, 30, 226, 170, 42, 48, 243, 172, 186, 30, 226, 0, 0, 48, 243, 172, 186, 216, 92, 170, 42, 48, 243, 172, 186, 216, 92, 170, 42, 48, 243, 172, 186, 216, 92, 255, 191, 197, 7, 13, 80, 117, 237, 170, 42, 197, 7, 13, 80, 117, 237, 170, 42, 197, 7, 13, 80, 117, 237, 255, 191, 57, 248, 13, 80, 117, 237, 84, 213, 57, 248, 13, 80, 117, 237, 170, 42, 57, 248, 13, 80, 117, 237, 255, 191, 0, 0, 0, 0, 0, 0, 170, 42, 0, 0, 0, 0, 0, 0, 170, 42, 0, 0, 0, 0, 0, 0, 0, 0, 77, 196, 0, 0, 0, 0, 255, 191, 77, 196, 0, 0, 0, 0, 0, 0, 208, 213, 0, 0, 0, 0, 170, 42, 208, 213, 0, 0, 0, 0, 170, 233, 208, 213, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 113, 37, 170, 42, 255, 255, 0, 0, 113, 37, 170, 233, 255, 255, 0, 0, 113, 37, 84, 213, 13, 63, 0, 0, 0, 0, 170, 42, 13, 63, 0, 0, 0, 0, 0, 0, 7, 24, 0, 0, 0, 0, 170, 42, 7, 24, 0, 0, 0, 0, 0, 0, 119, 223, 72, 197, 130, 98, 84, 213, 119, 223, 72, 197, 130, 98, 252, 197, 119, 223, 72, 197, 130, 98, 255, 191, 59, 189, 72, 197, 130, 98, 84, 213, 59, 189, 72, 197, 130, 98, 255, 191, 31, 70, 72, 197, 130, 98, 255, 191, 31, 70, 72, 197, 130, 98, 255, 191, 252, 55, 72, 197, 130, 98, 84, 213, 252, 55, 72, 197, 130, 98, 255, 191, 0, 0, 255, 255, 0, 0, 84, 213, 0, 0, 255, 255, 0, 0, 170, 42, 0, 0, 255, 255, 0, 0, 0, 0, 77, 196, 255, 255, 0, 0, 84, 213, 77, 196, 255, 255, 0, 0, 170, 42, 77, 196, 255, 255, 0, 0, 0, 0, 208, 213, 255, 255, 0, 0, 84, 213, 208, 213, 255, 255, 0, 0, 170, 233, 208, 213, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 113, 37, 84, 213, 255, 255, 255, 255, 113, 37, 170, 233, 255, 255, 255, 255, 113, 37, 84, 213, 7, 24, 254, 165, 0, 0, 255, 191, 7, 24, 254, 165, 0, 0, 84, 213, 7, 24, 254, 165, 0, 0, 0, 0, 7, 24, 255, 255, 0, 0, 84, 213, 7, 24, 255, 255, 0, 0, 84, 213, 7, 24, 255, 255, 0, 0, 0, 0, 252, 55, 255, 255, 130, 98, 84, 213, 252, 55, 255, 255, 130, 98, 255, 191, 31, 70, 254, 165, 183, 79, 255, 191, 31, 70, 254, 165, 183, 79, 252, 197, 31, 70, 254, 165, 183, 79, 30, 0, 252, 55, 254, 165, 182, 79, 255, 191, 252, 55, 254, 165, 182, 79, 34, 0, 13, 63, 254, 165, 112, 73, 255, 191, 13, 63, 254, 165, 112, 73, 170, 42, 13, 63, 254, 165, 112, 73, 252, 197, 7, 24, 254, 165, 176, 79, 255, 191, 7, 24, 254, 165, 176, 79, 84, 213, 7, 24, 254, 165, 176, 79, 37, 0, 31, 70, 255, 255, 130, 98, 84, 213, 31, 70, 255, 255, 130, 98, 255, 191, 13, 63, 254, 165, 0, 0, 255, 191, 13, 63, 254, 165, 0, 0, 170, 42, 13, 63, 254, 165, 0, 0, 0, 0, 59, 189, 255, 255, 130, 98, 84, 213, 59, 189, 255, 255, 130, 98, 255, 191, 77, 196, 255, 255, 112, 73, 84, 213, 77, 196, 255, 255, 112, 73, 170, 42, 77, 196, 255, 255, 112, 73, 73, 22, 214, 153, 221, 212, 193, 16, 25, 223, 214, 153, 221, 212, 193, 16, 70, 11, 214, 153, 221, 212, 193, 16, 84, 213, 230, 104, 221, 212, 193, 16, 70, 11, 230, 104, 221, 212, 193, 16, 229, 32, 230, 104, 221, 212, 193, 16, 84, 213, 13, 63, 221, 212, 0, 0, 84, 213, 13, 63, 221, 212, 0, 0, 170, 42, 13, 63, 221, 212, 0, 0, 0, 0, 7, 24, 221, 212, 0, 0, 84, 213, 7, 24, 221, 212, 0, 0, 0, 0, 196, 94, 221, 212, 122, 38, 229, 32, 196, 94, 221, 212, 122, 38, 54, 51, 196, 94, 221, 212, 122, 38, 84, 213, 13, 63, 221, 212, 112, 73, 84, 213, 13, 63, 221, 212, 112, 73, 170, 42, 13, 63, 221, 212, 112, 73, 252, 197, 249, 163, 221, 212, 122, 38, 25, 223, 249, 163, 221, 212, 122, 38, 200, 204, 249, 163, 221, 212, 122, 38, 84, 213, 31, 70, 221, 212, 183, 79, 84, 213, 31, 70, 221, 212, 183, 79, 252, 197, 31, 70, 221, 212, 183, 79, 38, 0, 59, 189, 221, 212, 183, 79, 88, 22, 59, 189, 221, 212, 183, 79, 84, 213, 59, 189, 221, 212, 183, 79, 53, 0, 77, 196, 221, 212, 112, 73, 170, 42, 77, 196, 221, 212, 112, 73, 77, 22, 77, 196, 221, 212, 112, 73, 84, 213, 77, 196, 221, 212, 0, 0, 84, 213, 77, 196, 221, 212, 0, 0, 170, 42, 77, 196, 221, 212, 0, 0, 0, 0, 214, 153, 221, 212, 51, 60, 200, 204, 214, 153, 221, 212, 51, 60, 140, 193, 214, 153, 221, 212, 51, 60, 84, 213, 230, 104, 221, 212, 51, 60, 140, 193, 230, 104, 221, 212, 51, 60, 54, 51, 230, 104, 221, 212, 51, 60, 84, 213, 94, 129, 221, 212, 50, 69, 140, 193, 94, 129, 221, 212, 50, 69, 140, 193, 94, 129, 221, 212, 50, 69, 84, 213, 94, 129, 221, 212, 194, 7, 70, 11, 94, 129, 221, 212, 194, 7, 70, 11, 94, 129, 221, 212, 194, 7, 84, 213, 84, 5, 255, 255, 215, 89, 84, 213, 84, 5, 255, 255, 215, 89, 186, 196, 84, 5, 255, 255, 215, 89, 84, 213, 7, 24, 255, 255, 190, 79, 84, 213, 7, 24, 255, 255, 190, 79, 84, 213, 7, 24, 255, 255, 190, 79, 37, 0, 57, 248, 241, 175, 117, 237, 84, 213, 57, 248, 241, 175, 117, 237, 84, 213, 57, 248, 241, 175, 117, 237, 255, 191, 170, 250, 255, 255, 186, 89, 84, 213, 170, 250, 255, 255, 186, 89, 157, 196, 170, 250, 255, 255, 186, 89, 170, 42, 197, 7, 241, 175, 117, 237, 170, 42, 197, 7, 241, 175, 117, 237, 84, 213, 197, 7, 241, 175, 117, 237, 255, 191, 252, 55, 255, 255, 190, 79, 84, 213, 252, 55, 255, 255, 190, 79, 34, 0, 31, 70, 255, 255, 190, 79, 84, 213, 31, 70, 255, 255, 190, 79, 42, 0, 59, 189, 255, 255, 190, 79, 84, 213, 59, 189, 255, 255, 190, 79, 84, 22, 59, 189, 255, 255, 190, 79, 53, 0, 170, 239, 255, 255, 185, 97, 222, 199, 170, 239, 255, 255, 185, 97, 84, 213, 170, 239, 255, 255, 185, 97, 222, 199, 119, 223, 255, 255, 130, 98, 84, 213, 119, 223, 255, 255, 130, 98, 252, 197, 119, 223, 255, 255, 130, 98, 255, 191, 128, 235, 255, 255, 134, 105, 85, 208, 128, 235, 255, 255, 134, 105, 84, 213, 20, 32, 255, 255, 130, 98, 84, 213, 20, 32, 255, 255, 130, 98, 255, 191, 20, 32, 255, 255, 130, 98, 252, 197, 242, 24, 255, 255, 145, 92, 84, 213, 230, 15, 255, 255, 168, 97, 5, 56, 230, 15, 255, 255, 168, 97, 84, 213, 230, 15, 255, 255, 168, 97, 249, 199, 11, 20, 255, 255, 132, 105, 157, 47, 11, 20, 255, 255, 132, 105, 84, 213, 231, 15, 255, 255, 115, 219, 84, 213, 231, 15, 255, 255, 115, 219, 232, 25, 231, 15, 255, 255, 115, 219, 232, 25, 20, 32, 255, 255, 148, 218, 84, 213, 20, 32, 255, 255, 148, 218, 0, 0, 20, 32, 255, 255, 148, 218, 84, 22, 11, 20, 255, 255, 147, 211, 84, 213, 11, 20, 255, 255, 147, 211, 91, 37, 128, 235, 255, 255, 144, 211, 84, 213, 128, 235, 255, 255, 144, 211, 177, 218, 119, 223, 255, 255, 148, 218, 84, 213, 119, 223, 255, 255, 148, 218, 84, 22, 119, 223, 255, 255, 148, 218, 0, 0, 169, 239, 255, 255, 99, 219, 84, 213, 169, 239, 255, 255, 99, 219, 67, 230, 169, 239, 255, 255, 99, 219, 187, 25, 44, 230, 72, 197, 118, 104, 170, 42, 44, 230, 72, 197, 118, 104, 84, 213, 44, 230, 72, 197, 118, 104, 252, 197, 95, 25, 72, 197, 118, 104, 84, 213, 95, 25, 72, 197, 118, 104, 84, 213, 95, 25, 72, 197, 118, 104, 252, 197, 20, 32, 72, 197, 130, 98, 84, 213, 20, 32, 72, 197, 130, 98, 255, 191, 20, 32, 72, 197, 130, 98, 252, 197, 20, 32, 72, 197, 148, 218, 84, 213, 20, 32, 72, 197, 148, 218, 0, 0, 20, 32, 72, 197, 148, 218, 84, 22, 95, 25, 72, 197, 160, 212, 84, 213, 95, 25, 72, 197, 160, 212, 84, 213, 95, 25, 72, 197, 160, 212, 84, 22, 44, 230, 72, 197, 160, 212, 170, 42, 44, 230, 72, 197, 160, 212, 84, 213, 44, 230, 72, 197, 160, 212, 84, 22, 119, 223, 72, 197, 148, 218, 84, 213, 119, 223, 72, 197, 148, 218, 84, 22, 119, 223, 72, 197, 148, 218, 0, 0, 0, 0, 0, 0, 117, 237, 170, 42, 0, 0, 0, 0, 117, 237, 170, 42, 0, 0, 0, 0, 117, 237, 255, 191, 255, 255, 0, 0, 117, 237, 170, 42, 255, 255, 0, 0, 117, 237, 84, 213, 255, 255, 0, 0, 117, 237, 255, 191, 84, 5, 255, 255, 82, 227, 84, 213, 84, 5, 255, 255, 82, 227, 227, 19, 84, 5, 255, 255, 82, 227, 84, 213, 170, 250, 255, 255, 111, 227, 84, 213, 170, 250, 255, 255, 111, 227, 165, 19, 170, 250, 255, 255, 111, 227, 170, 42, 204, 10, 70, 111, 255, 255, 84, 213, 204, 10, 70, 111, 255, 255, 255, 191, 204, 10, 70, 111, 255, 255, 84, 213, 50, 245, 70, 111, 255, 255, 170, 42, 50, 245, 70, 111, 255, 255, 255, 191, 50, 245, 70, 111, 255, 255, 84, 213, 204, 10, 184, 144, 255, 255, 84, 213, 204, 10, 184, 144, 255, 255, 255, 191, 204, 10, 184, 144, 255, 255, 170, 42, 50, 245, 184, 144, 255, 255, 170, 42, 50, 245, 184, 144, 255, 255, 255, 191, 50, 245, 184, 144, 255, 255, 170, 42, 197, 7, 13, 80, 255, 255, 170, 42, 197, 7, 13, 80, 255, 255, 170, 42, 197, 7, 13, 80, 255, 255, 255, 191, 57, 248, 13, 80, 255, 255, 84, 213, 57, 248, 13, 80, 255, 255, 170, 42, 57, 248, 13, 80, 255, 255, 255, 191, 197, 7, 241, 175, 255, 255, 170, 42, 197, 7, 241, 175, 255, 255, 84, 213, 197, 7, 241, 175, 255, 255, 255, 191, 57, 248, 241, 175, 255, 255, 84, 213, 57, 248, 241, 175, 255, 255, 84, 213, 57, 248, 241, 175, 255, 255, 255, 191, 204, 10, 70, 111, 232, 248, 84, 213, 204, 10, 70, 111, 232, 248, 84, 213, 204, 10, 70, 111, 232, 248, 255, 191, 50, 245, 70, 111, 232, 248, 170, 42, 50, 245, 70, 111, 232, 248, 84, 213, 50, 245, 70, 111, 232, 248, 255, 191, 204, 10, 184, 144, 232, 248, 84, 213, 204, 10, 184, 144, 232, 248, 170, 42, 204, 10, 184, 144, 232, 248, 255, 191, 50, 245, 184, 144, 232, 248, 170, 42, 50, 245, 184, 144, 232, 248, 170, 42, 50, 245, 184, 144, 232, 248, 255, 191, 255, 255, 255, 255, 117, 237, 84, 213, 255, 255, 255, 255, 117, 237, 84, 213, 255, 255, 255, 255, 117, 237, 255, 191, 255, 255, 255, 255, 190, 79, 84, 213, 255, 255, 255, 255, 190, 79, 84, 213, 0, 0, 255, 255, 190, 79, 84, 213, 0, 0, 255, 255, 190, 79, 170, 42, 0, 0, 255, 255, 117, 237, 84, 213, 0, 0, 255, 255, 117, 237, 170, 42, 0, 0, 255, 255, 117, 237, 255, 191, 44, 230, 255, 255, 118, 104, 170, 42, 44, 230, 255, 255, 118, 104, 84, 213, 44, 230, 255, 255, 118, 104, 252, 197, 93, 235, 255, 255, 188, 94, 84, 213, 56, 20, 255, 255, 178, 94, 84, 213, 95, 25, 255, 255, 118, 104, 84, 213, 95, 25, 255, 255, 118, 104, 84, 213, 95, 25, 255, 255, 118, 104, 252, 197, 95, 25, 255, 255, 160, 212, 84, 213, 95, 25, 255, 255, 160, 212, 84, 213, 95, 25, 255, 255, 160, 212, 84, 22, 59, 20, 255, 255, 103, 222, 84, 213, 90, 235, 255, 255, 93, 222, 84, 213, 44, 230, 255, 255, 160, 212, 170, 42, 44, 230, 255, 255, 160, 212, 84, 213, 44, 230, 255, 255, 160, 212, 84, 22, 170, 250, 178, 239, 111, 227, 165, 19, 170, 250, 178, 239, 111, 227, 255, 191, 170, 250, 178, 239, 111, 227, 170, 42, 170, 250, 178, 239, 186, 89, 157, 196, 170, 250, 178, 239, 186, 89, 255, 191, 170, 250, 178, 239, 186, 89, 170, 42, 84, 5, 178, 239, 215, 89, 255, 255, 84, 5, 178, 239, 215, 89, 186, 196, 84, 5, 178, 239, 215, 89, 84, 213, 84, 5, 178, 239, 82, 227, 255, 255, 84, 5, 178, 239, 82, 227, 227, 19, 84, 5, 178, 239, 82, 227, 84, 213, 128, 235, 178, 239, 134, 105, 85, 208, 128, 235, 178, 239, 134, 105, 255, 191, 170, 239, 178, 239, 185, 97, 222, 199, 170, 239, 178, 239, 185, 97, 222, 199, 170, 239, 178, 239, 185, 97, 255, 191, 230, 15, 178, 239, 168, 97, 5, 56, 230, 15, 178, 239, 168, 97, 255, 255, 230, 15, 178, 239, 168, 97, 249, 199, 11, 20, 178, 239, 132, 105, 157, 47, 11, 20, 178, 239, 132, 105, 255, 255, 11, 20, 178, 239, 147, 211, 91, 37, 11, 20, 178, 239, 147, 211, 255, 255, 231, 15, 178, 239, 115, 219, 232, 25, 231, 15, 178, 239, 115, 219, 255, 255, 231, 15, 178, 239, 115, 219, 232, 25, 169, 239, 178, 239, 99, 219, 67, 230, 169, 239, 178, 239, 99, 219, 187, 25, 169, 239, 178, 239, 99, 219, 255, 191, 128, 235, 178, 239, 144, 211, 177, 218, 128, 235, 178, 239, 144, 211, 255, 191, 52, 152, 18, 252, 53, 18, 184, 244, 52, 152, 18, 252, 53, 18, 58, 241, 52, 152, 18, 252, 53, 18, 89, 230, 214, 153, 19, 230, 193, 16, 25, 223, 214, 153, 19, 230, 193, 16, 70, 11, 214, 153, 19, 230, 193, 16, 58, 241, 214, 153, 19, 230, 193, 16, 89, 230, 230, 104, 19, 230, 193, 16, 70, 11, 230, 104, 19, 230, 193, 16, 229, 32, 230, 104, 19, 230, 193, 16, 184, 244, 230, 104, 19, 230, 193, 16, 250, 254, 137, 106, 18, 252, 53, 18, 184, 244, 137, 106, 18, 252, 53, 18, 250, 254, 137, 106, 18, 252, 53, 18, 184, 244, 19, 97, 18, 252, 122, 38, 139, 242, 19, 97, 18, 252, 122, 38, 184, 244, 19, 97, 18, 252, 122, 38, 184, 244, 196, 94, 19, 230, 122, 38, 229, 32, 196, 94, 19, 230, 122, 38, 54, 51, 196, 94, 19, 230, 122, 38, 139, 242, 196, 94, 19, 230, 122, 38, 184, 244, 249, 163, 19, 230, 122, 38, 25, 223, 249, 163, 19, 230, 122, 38, 200, 204, 249, 163, 19, 230, 122, 38, 25, 223, 249, 163, 19, 230, 122, 38, 89, 230, 169, 161, 18, 252, 122, 38, 184, 244, 169, 161, 18, 252, 122, 38, 25, 223, 169, 161, 18, 252, 122, 38, 89, 230, 52, 152, 18, 252, 191, 58, 184, 244, 52, 152, 18, 252, 191, 58, 214, 226, 52, 152, 18, 252, 191, 58, 25, 223, 214, 153, 19, 230, 51, 60, 200, 204, 214, 153, 19, 230, 51, 60, 140, 193, 214, 153, 19, 230, 51, 60, 214, 226, 214, 153, 19, 230, 51, 60, 25, 223, 230, 104, 19, 230, 51, 60, 140, 193, 230, 104, 19, 230, 51, 60, 54, 51, 230, 104, 19, 230, 51, 60, 139, 242, 230, 104, 19, 230, 51, 60, 232, 249, 137, 106, 18, 252, 191, 58, 139, 242, 137, 106, 18, 252, 191, 58, 232, 249, 137, 106, 18, 252, 191, 58, 184, 244, 94, 129, 18, 252, 37, 67, 232, 249, 94, 129, 18, 252, 37, 67, 184, 244, 94, 129, 18, 252, 37, 67, 214, 226, 94, 129, 19, 230, 50, 69, 140, 193, 94, 129, 19, 230, 50, 69, 140, 193, 94, 129, 19, 230, 50, 69, 232, 249, 94, 129, 19, 230, 50, 69, 214, 226, 94, 129, 19, 230, 194, 7, 70, 11, 94, 129, 19, 230, 194, 7, 70, 11, 94, 129, 19, 230, 194, 7, 250, 254, 94, 129, 19, 230, 194, 7, 58, 241, 94, 129, 18, 252, 207, 9, 250, 254, 94, 129, 18, 252, 207, 9, 184, 244, 94, 129, 18, 252, 207, 9, 58, 241, 84, 213, 170, 42, 170, 42, 170, 42, 255, 191, 255, 191, 84, 213, 170, 42, 84, 213, 84, 213, 255, 191, 255, 191, 84, 213, 170, 42, 170, 42, 170, 42, 255, 255, 255, 255, 84, 213, 170, 42, 84, 213, 84, 213, 255, 255, 255, 255, 84, 85, 84, 85, 170, 42, 170, 42, 255, 255, 255, 255, 84, 85, 84, 85, 170, 42, 170, 42, 255, 191, 255, 191, 84, 85, 84, 85, 84, 213, 84, 213, 255, 191, 255, 191, 84, 85, 84, 85, 84, 213, 84, 213, 255, 255, 255, 255, 84, 85, 170, 170, 84, 85, 84, 85, 255, 255, 255, 255, 170, 170, 84, 85, 84, 85, 84, 85, 255, 255, 255, 255, 84, 85, 84, 85, 84, 213, 84, 213, 255, 191, 255, 191, 0, 0, 255, 127, 255, 191, 255, 191, 84, 85, 85, 85, 4, 53, 4, 53, 255, 191, 255, 191, 84, 85, 84, 85, 4, 53, 4, 53, 170, 42, 170, 42, 84, 85, 84, 85, 255, 191, 255, 191, 84, 85, 84, 85, 255, 191, 255, 191, 170, 170, 170, 170, 255, 226, 255, 226, 0, 0, 0, 0, 170, 170, 170, 170, 0, 0, 0, 0, 255, 255, 255, 127, 255, 255, 255, 255, 169, 170, 170, 170, 255, 255, 255, 255, 84, 213, 170, 42, 84, 213, 84, 213, 255, 191, 255, 191, 84, 213, 170, 42, 84, 85, 170, 170, 255, 191, 255, 191, 84, 213, 170, 42, 4, 53, 4, 53, 255, 191, 255, 191, 84, 213, 170, 42, 4, 53, 4, 53, 170, 42, 170, 42, 255, 255, 255, 127, 170, 170, 84, 85, 255, 191, 255, 191, 84, 213, 170, 42, 170, 170, 84, 85, 255, 191, 255, 191, 84, 213, 170, 42, 255, 255, 255, 255, 254, 255, 255, 127, 255, 226, 255, 226, 241, 191, 241, 191, 255, 255, 255, 127, 236, 191, 236, 191, 254, 255, 255, 127, 84, 213, 84, 213, 255, 226, 255, 226, 254, 255, 255, 127, 169, 170, 84, 85, 231, 191, 231, 191, 84, 213, 170, 42, 255, 255, 255, 255, 255, 255, 255, 127, 84, 213, 84, 213, 255, 191, 255, 191, 84, 213, 170, 42, 0, 0, 0, 0, 84, 213, 170, 42, 84, 85, 170, 170, 12, 75, 0, 181, 248, 47, 248, 47, 53, 58, 53, 58, 170, 170, 169, 170, 201, 197, 201, 197, 6, 208, 6, 208, 169, 170, 170, 170, 169, 170, 170, 170, 84, 213, 84, 213, 255, 191, 255, 191, 170, 170, 84, 85, 255, 191, 255, 191, 6, 208, 6, 208, 99, 219, 99, 219, 170, 170, 170, 170, 169, 170, 170, 170, 84, 213, 84, 213, 255, 226, 255, 226, 248, 47, 248, 47, 155, 36, 155, 36, 170, 170, 170, 170, 169, 170, 170, 170, 255, 226, 255, 226, 235, 191, 235, 191, 41, 75, 41, 181, 169, 170, 170, 170, 225, 191, 225, 191, 84, 85, 170, 170, 20, 75, 10, 181, 169, 170, 170, 170, 170, 170, 169, 170, 84, 85, 170, 170, 255, 191, 255, 191, 155, 36, 155, 36, 54, 146, 200, 109, 169, 170, 170, 170, 200, 109, 54, 146, 99, 219, 99, 219, 170, 170, 170, 170, 200, 109, 54, 146, 54, 146, 200, 109, 170, 170, 169, 170, 201, 197, 201, 197, 53, 58, 53, 58, 169, 170, 170, 170, 84, 213, 170, 42, 30, 229, 30, 229, 170, 42, 170, 42, 84, 213, 170, 42, 169, 170, 84, 85, 231, 191, 231, 191, 170, 170, 84, 85, 84, 213, 170, 42, 255, 255, 255, 255, 84, 213, 170, 42, 170, 26, 170, 26, 84, 213, 84, 213, 84, 85, 170, 170, 84, 213, 170, 42, 255, 255, 255, 255, 84, 213, 170, 42, 236, 191, 236, 191, 84, 213, 170, 42, 233, 191, 233, 191, 84, 213, 170, 42, 34, 75, 31, 181, 225, 191, 225, 191, 152, 31, 152, 31, 84, 213, 170, 42, 152, 31, 152, 31, 84, 213, 170, 42, 255, 226, 255, 226, 0, 0, 0, 0, 98, 39, 98, 39, 84, 213, 170, 42, 84, 213, 170, 42, 255, 255, 255, 255, 255, 28, 255, 28, 84, 213, 170, 42, 69, 224, 69, 224, 84, 213, 170, 42, 69, 224, 69, 224, 147, 216, 147, 216, 84, 213, 170, 42, 84, 213, 170, 42, 166, 204, 166, 204, 166, 204, 166, 204, 84, 213, 170, 42, 255, 191, 255, 191, 4, 53, 4, 53, 84, 213, 170, 42, 82, 210, 82, 210, 84, 213, 170, 42, 179, 45, 179, 45, 84, 213, 170, 42, 250, 202, 250, 202, 255, 191, 255, 191, 84, 213, 170, 42, 109, 51, 109, 51, 109, 51, 109, 51, 84, 213, 84, 213, 170, 170, 170, 170, 255, 226, 255, 226, 170, 42, 170, 42, 169, 170, 170, 170, 255, 28, 255, 28, 169, 170, 170, 170, 255, 255, 255, 255, 255, 28, 255, 28, 170, 170, 170, 170, 255, 191, 255, 191, 4, 53, 4, 53, 170, 42, 170, 42, 170, 170, 170, 170, 4, 53, 4, 53, 84, 213, 84, 213, 170, 170, 170, 170, 250, 202, 250, 202, 170, 170, 170, 170, 250, 202, 250, 202, 255, 191, 255, 191, 84, 85, 84, 85, 84, 213, 84, 213, 255, 255, 255, 255, 84, 85, 84, 85, 170, 42, 170, 42, 255, 255, 255, 255, 84, 213, 170, 42, 215, 201, 215, 201, 170, 42, 170, 42, 84, 213, 170, 42, 67, 54, 67, 54, 84, 213, 84, 213, 170, 170, 84, 85, 255, 127, 255, 127, 84, 213, 170, 42, 84, 85, 170, 170, 255, 127, 255, 127, 84, 213, 170, 42, 170, 170, 84, 85, 255, 127, 255, 127, 84, 85, 84, 85, 84, 85, 170, 170, 255, 127, 255, 127, 84, 85, 84, 85, 84, 85, 170, 170, 84, 85, 84, 85, 255, 127, 255, 127, 170, 170, 84, 85, 84, 85, 84, 85, 255, 127, 255, 127, 84, 85, 170, 170, 84, 213, 170, 42, 255, 127, 255, 127, 170, 170, 84, 85, 84, 213, 170, 42, 255, 127, 255, 127, 170, 170, 84, 85, 84, 213, 170, 42, 255, 255, 255, 255, 84, 85, 170, 170, 84, 213, 170, 42, 255, 255, 255, 255, 170, 170, 84, 85, 84, 85, 84, 85, 255, 255, 255, 255, 84, 85, 170, 170, 84, 85, 84, 85, 255, 255, 255, 255, 84, 213, 170, 42, 170, 42, 170, 42, 255, 255, 255, 255, 84, 213, 170, 42, 170, 42, 170, 42, 84, 213, 170, 42, 84, 213, 84, 213, 84, 213, 170, 42, 84, 213, 84, 213, 255, 255, 255, 255, 84, 213, 84, 213, 84, 213, 170, 42, 255, 226, 255, 226, 84, 213, 170, 42, 84, 213, 170, 42, 170, 42, 170, 42, 84, 213, 170, 42, 255, 28, 255, 28, 170, 42, 170, 42, 84, 213, 170, 42, 4, 53, 4, 53, 84, 213, 170, 42, 84, 213, 170, 42, 84, 213, 84, 213, 84, 213, 170, 42, 250, 202, 250, 202, 67, 54, 67, 54, 254, 255, 255, 127, 84, 213, 84, 213, 170, 26, 170, 26, 254, 255, 255, 127, 84, 213, 84, 213, 255, 127, 255, 191, 30, 229, 30, 229, 170, 42, 170, 42, 255, 127, 255, 191, 215, 201, 215, 201, 170, 42, 170, 42, 98, 39, 98, 39, 254, 255, 255, 127, 152, 31, 152, 31, 152, 31, 152, 31, 254, 255, 255, 127, 69, 224, 69, 224, 255, 127, 255, 191, 69, 224, 69, 224, 147, 216, 147, 216, 255, 127, 255, 191, 82, 210, 82, 210, 255, 127, 255, 191, 166, 204, 166, 204, 255, 127, 255, 191, 166, 204, 166, 204, 109, 51, 109, 51, 109, 51, 109, 51, 254, 255, 255, 127, 179, 45, 179, 45, 254, 255, 255, 127, 201, 197, 148, 11, 120, 170, 11, 7, 63, 68, 96, 14, 248, 47, 248, 47, 53, 58, 53, 58, 120, 170, 11, 7, 63, 68, 96, 14, 201, 197, 201, 197, 6, 208, 6, 208, 247, 97, 4, 181, 26, 189, 236, 27, 247, 97, 4, 181, 26, 189, 236, 27, 201, 197, 148, 11, 91, 103, 69, 169, 247, 97, 4, 181, 201, 197, 148, 11, 6, 208, 6, 208, 99, 219, 99, 219, 91, 103, 69, 169, 247, 97, 4, 181, 248, 47, 248, 47, 155, 36, 155, 36, 4, 53, 112, 12, 63, 68, 97, 14, 201, 197, 148, 11, 4, 53, 112, 12, 63, 68, 97, 14, 201, 197, 148, 11, 249, 213, 66, 1, 4, 53, 112, 12, 155, 36, 155, 36, 54, 146, 200, 109, 249, 213, 66, 1, 4, 53, 112, 12, 200, 109, 54, 146, 99, 219, 99, 219, 91, 103, 69, 169, 33, 223, 200, 15, 91, 103, 69, 169, 33, 223, 200, 15, 201, 197, 148, 11, 33, 223, 200, 15, 201, 197, 148, 11, 249, 213, 66, 1, 200, 109, 54, 146, 54, 146, 200, 109, 33, 223, 200, 15, 249, 213, 66, 1, 201, 197, 201, 197, 53, 58, 53, 58, 26, 189, 236, 27, 120, 170, 11, 7, 26, 189, 236, 27, 201, 197, 148, 11, 120, 170, 11, 7) +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_pipu8") + +[sub_resource type="Resource" id="Resource_ncsty"] +script = ExtResource("8_b8cc8") +open_pose = ExtResource("7_j66hd") +closed_pose = ExtResource("7_j66hd") + +[sub_resource type="Resource" id="Resource_4bvsf"] +script = ExtResource("8_b8cc8") +open_pose = ExtResource("10_ok3db") +closed_pose = ExtResource("10_ok3db") + +[sub_resource type="BoxShape3D" id="BoxShape3D_j0uc3"] +size = Vector3(0.119888, 0.0115814, 0.13562) + +[node name="Disk2 - Texture" type="RigidBody3D"] +collision_layer = 4 +collision_mask = 7 +script = ExtResource("1_3rovn") + +[node name="Plane" type="MeshInstance3D" parent="."] +transform = Transform3D(0.03, 0, 0, 0, 0.03, 0, 0, 0, 0.03, 0, 0, 0) +material_override = ExtResource("2_x0728") +mesh = SubResource("ArrayMesh_d1ho0") +skeleton = NodePath("") + +[node name="Material_Preview_Dummy" type="Node3D" parent="."] + +[node name="GrabPointHandLeft" parent="." instance=ExtResource("6_2bgld")] +transform = Transform3D(-4.37114e-08, -1, 0, 0.996623, -4.35638e-08, 0.0821124, -0.0821124, 3.58925e-09, 0.996623, -0.0492496, 0.00149392, -0.0745521) +hand_pose = SubResource("Resource_ncsty") + +[node name="GrabPointHandRight" parent="." instance=ExtResource("9_bpg66")] +transform = Transform3D(-4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 0.049, 0.001, -0.075) +hand_pose = SubResource("Resource_4bvsf") + +[node name="HighlightRing" parent="." instance=ExtResource("11_wbr6x")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.00632563, 0) + +[node name="HighlightRing2" parent="." instance=ExtResource("11_wbr6x")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.00632563, 0) + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.000312805, 0.00563812, 0.00482178) +shape = SubResource("BoxShape3D_j0uc3") diff --git a/game/items/soundChip/dataChip.tres b/game/items/soundChip/dataChip.tres new file mode 100644 index 0000000..223f998 --- /dev/null +++ b/game/items/soundChip/dataChip.tres @@ -0,0 +1,21 @@ +[gd_resource type="StandardMaterial3D" load_steps=6 format=3 uid="uid://ieuf3ale7557"] + +[ext_resource type="Texture2D" uid="uid://bf3dyirqdi74m" path="res://game/items/soundChip/dataCard - Albedo.png" id="1_uwahr"] +[ext_resource type="Texture2D" uid="uid://dlh1fydmqi4jk" path="res://game/items/soundChip/dataCard - Emmission.png" id="2_m5uki"] +[ext_resource type="Texture2D" uid="uid://paghm0nsggsi" path="res://game/items/soundChip/dataCard - Metallic.png" id="3_bh60l"] +[ext_resource type="Texture2D" uid="uid://byfrad57hdyar" path="res://game/items/soundChip/dataCard - Normal.png" id="4_36bu3"] +[ext_resource type="Texture2D" uid="uid://d2ppn1tu4c6p3" path="res://game/items/soundChip/dataCard - Roughness.png" id="5_7pqmp"] + +[resource] +albedo_texture = ExtResource("1_uwahr") +metallic = 1.0 +metallic_texture = ExtResource("3_bh60l") +metallic_texture_channel = 4 +roughness_texture = ExtResource("5_7pqmp") +roughness_texture_channel = 4 +emission_enabled = true +emission_energy_multiplier = 2.0 +emission_texture = ExtResource("2_m5uki") +normal_enabled = true +normal_scale = 2.0 +normal_texture = ExtResource("4_36bu3") diff --git a/game/start_scene/logoImage.png b/game/start_scene/logoImage.png new file mode 100644 index 0000000..34ae5e7 Binary files /dev/null and b/game/start_scene/logoImage.png differ diff --git a/game/start_scene/logoImage.png.import b/game/start_scene/logoImage.png.import new file mode 100644 index 0000000..16c2087 --- /dev/null +++ b/game/start_scene/logoImage.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://wru1q38knbgj" +path.s3tc="res://.godot/imported/logoImage.png-04976d23f18fab2f52c3d11838fa0fbb.s3tc.ctex" +path.etc2="res://.godot/imported/logoImage.png-04976d23f18fab2f52c3d11838fa0fbb.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://game/start_scene/logoImage.png" +dest_files=["res://.godot/imported/logoImage.png-04976d23f18fab2f52c3d11838fa0fbb.s3tc.ctex", "res://.godot/imported/logoImage.png-04976d23f18fab2f52c3d11838fa0fbb.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/game/start_scene/start_scene.tscn b/game/start_scene/start_scene.tscn index 36995b5..df7417d 100644 --- a/game/start_scene/start_scene.tscn +++ b/game/start_scene/start_scene.tscn @@ -18,14 +18,14 @@ size = Vector3(12, 4, 1) resource_local_to_scene = true size = Vector2(3, 2) -[sub_resource type="ViewportTexture" id="ViewportTexture_srv6a"] +[sub_resource type="ViewportTexture" id="ViewportTexture_bsjlx"] viewport_path = NodePath("Viewport") -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mxwg1"] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_x3p43"] transparency = 1 cull_mode = 2 shading_mode = 0 -albedo_texture = SubResource("ViewportTexture_srv6a") +albedo_texture = SubResource("ViewportTexture_bsjlx") texture_filter = 1 [sub_resource type="BoxShape3D" id="BoxShape3D_iru2p"] @@ -109,7 +109,7 @@ unshaded = true [node name="Screen" parent="Screen" index="1"] mesh = SubResource("QuadMesh_44p7b") -surface_material_override/0 = SubResource("StandardMaterial3D_mxwg1") +surface_material_override/0 = SubResource("StandardMaterial3D_x3p43") [node name="CollisionShape3D" parent="Screen/StaticBody3D" index="0"] shape = SubResource("BoxShape3D_iru2p") diff --git a/game/zones/space_test/space.tscn b/game/zones/space_test/space.tscn index 9851266..8bb4f95 100644 --- a/game/zones/space_test/space.tscn +++ b/game/zones/space_test/space.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=286 format=3 uid="uid://dulkchxbis8v2"] +[gd_scene load_steps=294 format=3 uid="uid://dulkchxbis8v2"] [ext_resource type="PackedScene" uid="uid://di1bu0tceg332" path="res://components/persistent/persistent_zone.tscn" id="1_x6cjj"] [ext_resource type="Script" path="res://components/persistent/persistent_zone_info.gd" id="2_fssw7"] @@ -54,6 +54,7 @@ [ext_resource type="Animation" uid="uid://4g211my0hoiw" path="res://addons/godot-xr-tools/hands/animations/left/Straight.res" id="39_a14c4"] [ext_resource type="Animation" uid="uid://d06l7hygl4qt3" path="res://addons/godot-xr-tools/hands/animations/left/Surfer.res" id="40_54w3k"] [ext_resource type="Animation" uid="uid://bxei4oebd4hu3" path="res://addons/godot-xr-tools/hands/animations/left/Thumb.res" id="41_e7gds"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_footstep.gd" id="50_g2sug"] [ext_resource type="Animation" uid="uid://do01jton6rk42" path="res://addons/godot-xr-tools/hands/animations/right/Cup.res" id="51_eiyrn"] [ext_resource type="ArrayMesh" uid="uid://bxr3pm0i3jhvn" path="res://game/player_versions/handModel/rightHandMesh.tres" id="52_0wm7r"] [ext_resource type="Animation" uid="uid://ky28birj4su6" path="res://addons/godot-xr-tools/hands/animations/right/Default pose.res" id="52_xk3jk"] @@ -103,7 +104,11 @@ [ext_resource type="Texture2D" uid="uid://c0unqtqeknuup" path="res://game/corridors/hall_Pipes/Pipes - Normal.png" id="97_24yso"] [ext_resource type="Texture2D" uid="uid://u3j25642aecp" path="res://game/corridors/hall_DefaultLight/Default_Light - Albedo.png" id="97_yoxgs"] [ext_resource type="Texture2D" uid="uid://maa0ggcopvcb" path="res://game/corridors/hall_DefaultLight/Default_Light - Emission.png" id="98_d27de"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/audio/surface_audio.gd" id="98_oh706"] +[ext_resource type="AudioStream" uid="uid://b70nrvb1cai41" path="res://game/audio/sound/deeper step.wav" id="99_51jq7"] [ext_resource type="Texture2D" uid="uid://c6smb6d8ceeow" path="res://game/corridors/hall_DefaultLight/Default_Light - Normal.png" id="99_rwrhg"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/audio/surface_audio_type.gd" id="99_vqshx"] +[ext_resource type="AudioStream" uid="uid://dmjpb0i32mq70" path="res://game/audio/sound/metallic hum.mp3" id="100_3bu05"] [ext_resource type="Texture2D" uid="uid://cx4vvj5j274tx" path="res://game/corridors/hall_Window/Window - Albedo.png" id="103_rd8ce"] [ext_resource type="Texture2D" uid="uid://bp0yx201p0pyc" path="res://game/corridors/hall_Window/Window - Normal.png" id="104_j1qyp"] [ext_resource type="Texture2D" uid="uid://cms4dfyg0tx8u" path="res://game/corridors/hall_Curve/Curve - Albedo.png" id="106_538p2"] @@ -169,34 +174,34 @@ _data = { "Thumb": ExtResource("41_e7gds") } -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_3r0kl"] +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_x3ods"] animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_1tilw"] +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_wvdla"] animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_m5a3o"] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_krn0e"] filter_enabled = true filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_mtf7h"] +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_kfhbq"] animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_yj6mu"] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_qqgj4"] filter_enabled = true filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] -[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_r1stf"] +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_vv7wu"] graph_offset = Vector2(-536, 11) -nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_3r0kl") +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_x3ods") nodes/ClosedHand1/position = Vector2(-600, 300) -nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_1tilw") +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_wvdla") nodes/ClosedHand2/position = Vector2(-360, 300) -nodes/Grip/node = SubResource("AnimationNodeBlend2_m5a3o") +nodes/Grip/node = SubResource("AnimationNodeBlend2_krn0e") nodes/Grip/position = Vector2(0, 20) -nodes/OpenHand/node = SubResource("AnimationNodeAnimation_mtf7h") +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_kfhbq") nodes/OpenHand/position = Vector2(-600, 100) -nodes/Trigger/node = SubResource("AnimationNodeBlend2_yj6mu") +nodes/Trigger/node = SubResource("AnimationNodeBlend2_qqgj4") nodes/Trigger/position = Vector2(-360, 20) node_connections = [&"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1", &"output", 0, &"Grip"] @@ -239,37 +244,42 @@ _data = { "Thumb": ExtResource("85_thr5d") } -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_g768d"] +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vjwm1"] animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_fnjtm"] +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_thsk8"] animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_vqaxb"] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_rn5c3"] filter_enabled = true filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dkr7c"] +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vtmc7"] animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_1wkml"] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_ki4w5"] filter_enabled = true filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] -[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_vih6q"] +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_x8q0i"] graph_offset = Vector2(-552.664, 107.301) -nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_g768d") +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_vjwm1") nodes/ClosedHand1/position = Vector2(-600, 300) -nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_fnjtm") +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_thsk8") nodes/ClosedHand2/position = Vector2(-360, 300) -nodes/Grip/node = SubResource("AnimationNodeBlend2_vqaxb") +nodes/Grip/node = SubResource("AnimationNodeBlend2_rn5c3") nodes/Grip/position = Vector2(0, 40) -nodes/OpenHand/node = SubResource("AnimationNodeAnimation_dkr7c") +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_vtmc7") nodes/OpenHand/position = Vector2(-600, 100) -nodes/Trigger/node = SubResource("AnimationNodeBlend2_1wkml") +nodes/Trigger/node = SubResource("AnimationNodeBlend2_ki4w5") nodes/Trigger/position = Vector2(-360, 40) node_connections = [&"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1", &"output", 0, &"Grip"] +[sub_resource type="AudioStreamWAV" id="AudioStreamWAV_7ycgd"] +data = PackedByteArray(0, 0, 1, 0, 0, 0, 254, 255, 0, 0, 3, 0, 0, 0, 253, 255, 1, 0, 1, 0, 254, 255, 1, 0, 2, 0, 254, 255, 254, 255, 4, 0, 1, 0, 251, 255, 0, 0, 3, 0, 1, 0, 255, 255, 253, 255, 0, 0, 3, 0, 1, 0, 254, 255, 255, 255, 1, 0, 0, 0, 0, 0, 1, 0, 255, 255, 255, 255, 1, 0, 1, 0, 0, 0, 255, 255, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 2, 0, 2, 0, 253, 255, 254, 255, 4, 0, 3, 0, 252, 255, 253, 255, 3, 0, 2, 0, 255, 255, 254, 255, 0, 0, 2, 0, 0, 0, 254, 255, 0, 0, 2, 0, 255, 255, 255, 255, 2, 0, 255, 255, 255, 255, 3, 0, 255, 255, 252, 255, 3, 0, 3, 0, 251, 255, 255, 255, 6, 0, 0, 0, 251, 255, 0, 0, 3, 0, 1, 0, 255, 255, 254, 255, 0, 0, 2, 0, 1, 0, 254, 255, 255, 255, 2, 0, 1, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 1, 0, 255, 255, 255, 255, 2, 0, 1, 0, 254, 255, 255, 255, 2, 0, 1, 0, 254, 255, 255, 255, 1, 0, 1, 0, 1, 0, 0, 0, 254, 255, 255, 255, 2, 0, 1, 0, 254, 255, 0, 0, 2, 0, 0, 0, 254, 255, 0, 0, 3, 0, 0, 0, 252, 255, 255, 255, 4, 0, 2, 0, 253, 255, 255, 255, 1, 0, 0, 0, 1, 0, 0, 0, 254, 255, 0, 0, 2, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 1, 0, 1, 0, 254, 255, 0, 0, 3, 0, 255, 255, 253, 255, 2, 0, 2, 0, 253, 255, 255, 255, 2, 0, 1, 0, 255, 255, 255, 255, 1, 0, 0, 0, 0, 0, 1, 0, 255, 255, 255, 255, 1, 0, 1, 0, 0, 0, 255, 255, 255, 255, 0, 0, 1, 0, 1, 0, 255, 255, 255, 255, 1, 0, 1, 0, 0, 0, 255, 255, 0, 0, 1, 0, 255, 255, 254, 255, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 254, 255, 255, 255, 3, 0, 2, 0, 252, 255, 254, 255, 4, 0, 2, 0, 253, 255, 255, 255, 2, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 254, 255, 0, 0, 3, 0, 1, 0, 253, 255, 255, 255, 2, 0, 0, 0, 255, 255, 0, 0, 1, 0, 255, 255, 255, 255, 2, 0, 0, 0, 254, 255, 1, 0, 2, 0, 255, 255, 254, 255, 1, 0, 1, 0, 255, 255, 255, 255, 0, 0, 1, 0, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 1, 0, 255, 255, 255, 255, 1, 0, 1, 0, 255, 255, 255, 255, 1, 0, 1, 0, 254, 255, 255, 255, 3, 0, 1, 0, 253, 255, 255, 255, 2, 0, 1, 0, 0, 0, 254, 255, 254, 255, 3, 0, 3, 0, 254, 255, 253, 255, 0, 0, 3, 0, 1, 0, 253, 255, 255, 255, 3, 0, 1, 0, 253, 255, 255, 255, 2, 0, 0, 0, 0, 0, 0, 0, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 1, 0, 0, 0, 255, 255, 0, 0, 1, 0, 1, 0, 254, 255, 0, 0, 1, 0, 0, 0, 1, 0, 255, 255, 0, 0, 1, 0, 255, 255, 255, 255, 1, 0, 1, 0, 253, 255, 0, 0, 5, 0, 0, 0, 252, 255, 255, 255, 3, 0, 2, 0, 254, 255, 253, 255, 0, 0, 3, 0, 1, 0, 254, 255, 0, 0, 1, 0, 255, 255, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 2, 0, 1, 0, 253, 255, 1, 0, 3, 0, 253, 255, 254, 255, 4, 0, 2, 0, 252, 255, 254, 255, 2, 0, 1, 0, 0, 0, 0, 0, 255, 255, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 1, 0, 255, 255, 0, 0, 2, 0, 0, 0, 254, 255, 0, 0, 2, 0, 255, 255, 255, 255, 2, 0, 254, 255, 254, 255, 4, 0, 3, 0, 251, 255, 253, 255, 6, 0, 1, 0, 250, 255, 0, 0, 5, 0, 0, 0, 253, 255, 0, 0, 1, 0, 1, 0, 1, 0, 254, 255, 253, 255, 1, 0, 3, 0, 1, 0, 255, 255, 253, 255, 255, 255, 5, 0, 2, 0, 250, 255, 254, 255, 5, 0, 0, 0, 252, 255, 2, 0, 3, 0, 253, 255, 254, 255, 4, 0, 2, 0, 252, 255, 254, 255, 3, 0, 1, 0, 254, 255, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 253, 255, 0, 0, 4, 0, 1, 0, 252, 255, 255, 255, 4, 0, 1, 0, 252, 255, 254, 255, 3, 0, 2, 0, 253, 255, 255, 255, 4, 0, 2, 0, 252, 255, 254, 255, 4, 0, 0, 0, 252, 255, 2, 0, 3, 0, 252, 255, 253, 255, 6, 0, 4, 0, 249, 255, 252, 255, 7, 0, 3, 0, 251, 255, 255, 255, 3, 0, 255, 255, 254, 255, 2, 0, 1, 0, 254, 255, 255, 255, 1, 0, 3, 0, 0, 0, 252, 255, 255, 255, 4, 0, 2, 0, 252, 255, 254, 255, 3, 0, 2, 0, 254, 255, 254, 255, 3, 0, 1, 0, 252, 255, 0, 0, 3, 0, 0, 0, 253, 255, 0, 0, 4, 0, 0, 0, 252, 255, 0, 0, 4, 0, 0, 0, 251, 255, 0, 0, 4, 0, 1, 0, 255, 255, 254, 255, 0, 0, 2, 0, 255, 255, 254, 255, 1, 0, 2, 0, 255, 255, 255, 255, 2, 0, 1, 0, 255, 255, 254, 255, 255, 255, 2, 0, 2, 0, 255, 255, 253, 255, 0, 0, 4, 0, 1, 0, 251, 255, 254, 255, 5, 0, 3, 0, 252, 255, 252, 255, 2, 0, 4, 0, 255, 255, 252, 255, 0, 0, 5, 0, 0, 0, 251, 255, 0, 0, 4, 0, 0, 0, 253, 255, 0, 0, 2, 0, 0, 0, 255, 255, 1, 0, 1, 0, 253, 255, 255, 255, 3, 0, 1, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 1, 0, 0, 0, 254, 255, 0, 0, 3, 0, 0, 0, 252, 255, 1, 0, 4, 0, 254, 255, 253, 255, 2, 0, 2, 0, 255, 255, 255, 255, 1, 0, 0, 0, 254, 255, 1, 0, 2, 0, 255, 255, 254, 255, 1, 0, 3, 0, 255, 255, 253, 255, 1, 0, 2, 0, 255, 255, 255, 255, 1, 0, 0, 0, 0, 0, 1, 0, 255, 255, 255, 255, 1, 0, 1, 0, 255, 255, 254, 255, 1, 0, 2, 0, 0, 0, 255, 255, 0, 0, 0, 0, 255, 255, 2, 0, 1, 0, 252, 255, 0, 0, 4, 0, 255, 255, 252, 255, 2, 0, 5, 0, 253, 255, 251, 255, 3, 0, 4, 0, 254, 255, 254, 255, 0, 0, 0, 0, 1, 0, 0, 0, 255, 255, 1, 0, 0, 0, 254, 255, 1, 0, 3, 0, 254, 255, 253, 255, 3, 0, 2, 0, 253, 255, 255, 255, 2, 0, 0, 0, 255, 255, 0, 0, 1, 0, 0, 0, 255, 255, 1, 0, 1, 0, 255, 255, 255, 255, 0, 0, 1, 0, 0, 0, 255, 255, 0, 0, 1, 0, 1, 0, 254, 255, 255, 255, 2, 0, 255, 255, 255, 255, 2, 0, 1, 0, 254, 255, 254, 255, 2, 0, 3, 0, 254, 255, 252, 255, 1, 0, 4, 0, 0, 0, 254, 255, 255, 255, 0, 0, 1, 0, 1, 0, 255, 255, 254, 255, 1, 0, 2, 0, 255, 255, 0, 0, 1, 0, 255, 255, 255, 255, 1, 0, 1, 0, 255, 255, 255, 255, 0, 0, 1, 0, 2, 0, 255, 255, 253, 255, 1, 0, 3, 0, 0, 0, 254, 255, 255, 255, 0, 0, 1, 0, 1, 0, 255, 255, 255, 255, 1, 0, 1, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 1, 0, 2, 0, 0, 0, 253, 255, 255, 255, 4, 0, 3, 0, 251, 255, 252, 255, 4, 0, 4, 0, 255, 255, 253, 255, 255, 255, 2, 0, 2, 0, 255, 255, 253, 255, 1, 0, 3, 0, 254, 255, 254, 255, 3, 0, 1, 0, 253, 255, 0, 0, 3, 0, 255, 255, 253, 255, 2, 0, 2, 0, 253, 255, 255, 255, 3, 0, 0, 0, 253, 255, 1, 0, 3, 0, 255, 255, 254, 255, 0, 0, 1, 0, 1, 0, 255, 255, 254, 255, 1, 0, 2, 0, 0, 0, 255, 255, 255, 255, 255, 255, 2, 0, 2, 0, 253, 255, 254, 255, 3, 0, 2, 0, 254, 255, 254, 255, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 1, 0, 1, 0, 255, 255, 0, 0, 2, 0, 255, 255, 253, 255, 1, 0, 4, 0, 0, 0, 252, 255, 254, 255, 3, 0, 4, 0, 255, 255, 251, 255, 0, 0, 4, 0, 1, 0, 253, 255, 255, 255, 3, 0, 0, 0, 253, 255, 1, 0, 3, 0, 255, 255, 252, 255, 1, 0, 4, 0, 255, 255, 253, 255, 0, 0, 3, 0, 1, 0, 254, 255, 254, 255, 0, 0, 2, 0, 1, 0, 255, 255, 255, 255, 0, 0, 2, 0, 1, 0, 253, 255, 254, 255, 3, 0, 2, 0, 253, 255, 255, 255, 3, 0, 0, 0, 254, 255, 1, 0, 1, 0, 255, 255, 255, 255, 0, 0, 1, 0, 1, 0, 255, 255, 254, 255, 1, 0, 2, 0, 0, 0, 0, 0, 255, 255, 254, 255, 2, 0, 3, 0, 254, 255, 253, 255, 2, 0, 2, 0, 254, 255, 255, 255, 1, 0, 0, 0, 1, 0, 1, 0, 254, 255, 255, 255, 2, 0, 1, 0, 254, 255, 255, 255, 1, 0, 0, 0, 0, 0, 1, 0, 255, 255, 255, 255, 1, 0, 1, 0, 0, 0, 0, 0, 255, 255, 255, 255, 1, 0, 1, 0, 255, 255, 255, 255, 1, 0, 1, 0, 255, 255, 0, 0, 1, 0, 255, 255, 254, 255, 1, 0, 3, 0, 255, 255, 253, 255, 0, 0, 3, 0, 2, 0, 253, 255, 252, 255, 2, 0, 5, 0, 255, 255, 251, 255, 1, 0, 4, 0, 255, 255, 253, 255, 0, 0, 2, 0, 1, 0, 255, 255, 255, 255, 1, 0, 1, 0, 254, 255, 255, 255, 2, 0, 0, 0, 255, 255, 1, 0, 1, 0, 255, 255, 255, 255, 0, 0, 1, 0, 1, 0, 255, 255, 255, 255, 0, 0, 1, 0, 2, 0, 255, 255, 252, 255, 1, 0, 6, 0, 255, 255, 249, 255, 1, 0, 6, 0, 255, 255, 251, 255, 2, 0, 4, 0, 253, 255, 253, 255, 4, 0, 3, 0, 251, 255, 253, 255, 5, 0, 2, 0, 252, 255, 255, 255, 3, 0, 1, 0, 253, 255, 254, 255, 2, 0, 3, 0, 0, 0, 253, 255, 255, 255, 3, 0, 2, 0, 253, 255, 252, 255, 2, 0, 4, 0, 254, 255, 254, 255, 3, 0, 1, 0, 253, 255, 0, 0, 2, 0, 254, 255, 255, 255, 4, 0, 0, 0, 252, 255, 0, 0, 3, 0, 1, 0, 254, 255, 254, 255, 0, 0, 3, 0, 2, 0, 253, 255, 254, 255, 2, 0, 1, 0, 255, 255, 255, 255, 0, 0, 1, 0, 1, 0, 255, 255, 255, 255, 1, 0, 1, 0, 0, 0, 0, 0, 255, 255, 255, 255, 1, 0, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 1, 0, 0, 0, 255, 255, 0, 0, 1, 0, 255, 255, 0, 0, 1, 0, 255, 255, 255, 255, 1, 0, 2, 0, 254, 255, 254, 255, 3, 0, 2, 0, 253, 255, 254, 255, 3, 0, 1, 0, 253, 255, 0, 0, 2, 0, 0, 0, 254, 255, 0, 0, 2, 0, 0, 0, 255, 255, 255, 255, 1, 0, 2, 0, 254, 255, 254, 255, 2, 0, 2, 0, 254, 255, 254, 255, 3, 0, 1, 0, 254, 255, 0, 0, 0, 0, 0, 0, 2, 0, 255, 255, 253, 255, 2, 0, 2, 0, 253, 255, 255, 255, 3, 0, 1, 0, 254, 255, 255, 255, 1, 0, 2, 0, 0, 0, 253, 255, 254, 255, 2, 0, 2, 0, 255, 255, 255, 255, 1, 0, 1, 0, 255, 255, 0, 0, 1, 0, 255, 255, 255, 255, 1, 0, 1, 0, 254, 255, 255, 255, 3, 0, 2, 0, 253, 255, 252, 255, 3, 0, 5, 0, 254, 255, 252, 255, 1, 0, 3, 0, 255, 255, 254, 255, 1, 0, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 2, 0, 255, 255, 253, 255, 1, 0, 3, 0, 0, 0, 255, 255, 255, 255, 255, 255, 1, 0, 3, 0, 255, 255, 252, 255, 1, 0, 3, 0, 0, 0, 255, 255, 255, 255, 0, 0, 1, 0, 0, 0, 255, 255, 0, 0, 2, 0, 1, 0, 254, 255, 254, 255, 1, 0, 3, 0, 0, 0, 252, 255, 255, 255, 3, 0, 1, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 255, 255, 254, 255, 2, 0, 1, 0, 254, 255, 0, 0, 2, 0, 255, 255, 255, 255, 3, 0, 255, 255, 253, 255, 2, 0, 1, 0, 254, 255, 0, 0, 2, 0, 255, 255, 254, 255, 2, 0, 1, 0, 254, 255, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 2, 0, 255, 255, 254, 255, 2, 0, 2, 0, 254, 255, 254, 255, 3, 0, 2, 0, 252, 255, 255, 255, 4, 0, 255, 255, 252, 255, 2, 0, 3, 0, 253, 255, 255, 255, 4, 0, 0, 0, 253, 255, 255, 255, 1, 0, 3, 0, 0, 0, 252, 255, 255, 255, 3, 0, 2, 0, 254, 255, 254, 255, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 255, 255, 254, 255, 2, 0, 2, 0, 253, 255, 254, 255, 3, 0, 2, 0, 254, 255, 255, 255, 0, 0, 0, 0, 1, 0, 0, 0, 255, 255, 1, 0, 1, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 1, 0, 255, 255, 255, 255, 2, 0, 1, 0, 254, 255, 255, 255, 2, 0, 1, 0, 253, 255, 0, 0, 3, 0, 255, 255, 254, 255, 1, 0, 1, 0, 254, 255, 255, 255, 4, 0, 1, 0, 251, 255, 255, 255, 5, 0, 2, 0, 252, 255, 254, 255, 2, 0, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 1, 0, 2, 0, 255, 255, 254, 255, 1, 0, 1, 0, 255, 255, 0, 0, 0, 0, 254, 255, 0, 0, 3, 0, 1, 0, 253, 255, 255, 255, 3, 0, 255, 255, 253, 255, 2, 0, 3, 0, 254, 255, 253, 255, 2, 0, 2, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 1, 0, 3, 0, 255, 255, 252, 255, 0, 0, 5, 0, 1, 0, 251, 255, 254, 255, 4, 0, 3, 0, 253, 255, 252, 255, 3, 0, 5, 0, 253, 255, 250, 255, 2, 0, 6, 0, 255, 255, 251, 255, 0, 0, 4, 0, 1, 0, 253, 255, 255, 255, 2, 0, 0, 0, 254, 255, 0, 0, 2, 0, 1, 0, 255, 255, 254, 255, 0, 0, 3, 0, 0, 0, 252, 255, 0, 0, 4, 0, 255, 255, 254, 255, 3, 0, 1, 0, 251, 255, 255, 255, 6, 0, 0, 0, 250, 255, 1, 0, 4, 0, 255, 255, 255, 255, 1, 0, 0, 0, 0, 0, 255, 255, 255, 255, 2, 0, 2, 0, 252, 255, 253, 255, 5, 0, 3, 0, 252, 255, 253, 255, 2, 0, 3, 0, 0, 0, 253, 255, 254, 255, 3, 0, 2, 0, 253, 255, 255, 255, 3, 0, 0, 0, 253, 255, 1, 0, 2, 0, 254, 255, 255, 255, 2, 0, 0, 0, 255, 255, 1, 0, 0, 0, 254, 255, 1, 0, 2, 0, 254, 255, 255, 255, 2, 0, 255, 255, 255, 255, 2, 0, 0, 0, 254, 255, 1, 0, 1, 0, 254, 255, 1, 0, 3, 0, 253, 255, 253, 255, 3, 0, 3, 0, 255, 255, 253, 255, 255, 255, 3, 0, 3, 0, 253, 255, 252, 255, 3, 0, 4, 0, 254, 255, 253, 255, 1, 0, 1, 0, 255, 255, 0, 0, 1, 0, 0, 0, 255, 255, 1, 0, 1, 0, 254, 255, 255, 255, 1, 0, 1, 0, 0, 0, 254, 255, 0, 0, 3, 0, 0, 0, 253, 255, 0, 0, 2, 0, 0, 0, 0, 0, 255, 255, 254, 255, 2, 0, 3, 0, 253, 255, 253, 255, 3, 0, 2, 0, 255, 255, 255, 255, 255, 255, 1, 0, 1, 0, 255, 255, 0, 0, 0, 0, 255, 255, 2, 0, 2, 0, 252, 255, 255, 255, 4, 0, 255, 255, 254, 255, 2, 0, 255, 255, 254, 255, 4, 0, 2, 0, 251, 255, 254, 255, 4, 0, 2, 0, 253, 255, 253, 255, 3, 0, 3, 0, 253, 255, 255, 255, 4, 0, 255, 255, 252, 255, 2, 0, 2, 0, 253, 255, 0, 0, 3, 0, 0, 0, 254, 255, 0, 0, 1, 0, 0, 0, 0, 0, 255, 255, 0, 0, 2, 0, 255, 255, 254, 255, 1, 0, 1, 0, 0, 0, 0, 0, 255, 255, 255, 255, 2, 0, 2, 0, 254, 255, 253, 255, 0, 0, 3, 0, 2, 0, 254, 255, 254, 255, 1, 0, 1, 0, 0, 0, 0, 0, 255, 255, 0, 0, 1, 0, 255, 255, 0, 0, 2, 0, 255, 255, 254, 255, 2, 0, 1, 0, 253, 255, 1, 0, 4, 0, 254, 255, 252, 255, 1, 0, 3, 0, 0, 0, 254, 255, 255, 255, 1, 0, 2, 0, 0, 0, 254, 255, 255, 255, 1, 0, 1, 0, 0, 0, 255, 255, 0, 0, 1, 0, 255, 255, 255, 255, 1, 0, 1, 0, 255, 255, 254, 255, 1, 0, 3, 0, 0, 0, 253, 255, 0, 0, 2, 0, 254, 255, 255, 255, 3, 0, 1, 0, 253, 255, 255, 255, 3, 0, 1, 0, 254, 255, 255, 255, 0, 0, 1, 0, 1, 0, 255, 255, 0, 0, 1, 0, 255, 255, 0, 0, 1, 0, 254, 255, 254, 255, 4, 0, 3, 0, 251, 255, 253, 255, 5, 0, 2, 0, 252, 255, 254, 255, 2, 0, 2, 0, 0, 0, 254, 255, 255, 255, 3, 0, 1, 0, 252, 255, 255, 255, 3, 0, 1, 0, 255, 255, 255, 255, 0, 0, 1, 0, 0, 0, 255, 255, 1, 0, 1, 0, 254, 255, 255, 255, 2, 0, 1, 0, 255, 255, 254, 255, 0, 0, 3, 0, 0, 0, 254, 255, 1, 0, 0, 0, 254, 255, 1, 0, 2, 0, 254, 255, 255, 255, 3, 0, 0, 0, 253, 255, 1, 0, 2, 0, 254, 255, 255, 255, 3, 0, 1, 0, 253, 255, 255, 255, 2, 0, 0, 0, 255, 255, 0, 0, 1, 0, 0, 0, 255, 255, 0, 0, 1, 0, 1, 0, 255, 255, 255, 255, 0, 0, 255, 255, 1, 0, 3, 0, 254, 255, 251, 255, 3, 0, 6, 0, 253, 255, 252, 255, 3, 0, 1, 0, 253, 255, 1, 0, 2, 0, 254, 255, 254, 255, 3, 0, 3, 0, 253, 255, 253, 255, 2, 0, 3, 0, 254, 255, 253, 255, 2, 0, 2, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 1, 0, 0, 0, 255, 255, 0, 0, 1, 0, 1, 0, 255, 255, 255, 255, 0, 0, 0, 0, 1, 0, 1, 0, 255, 255, 254, 255, 1, 0, 3, 0, 255, 255, 253, 255, 0, 0, 2, 0, 1, 0, 255, 255, 255, 255, 0, 0, 0, 0, 1, 0, 1, 0, 255, 255, 255, 255, 0, 0, 0, 0, 1, 0, 2, 0, 255, 255, 252, 255, 0, 0, 4, 0, 1, 0, 253, 255, 255, 255, 2, 0, 1, 0, 255, 255, 255, 255, 0, 0, 1, 0, 0, 0, 254, 255, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 255, 255, 1, 0, 1, 0, 253, 255, 255, 255, 4, 0, 0, 0, 252, 255, 1, 0, 4, 0, 255, 255, 253, 255, 1, 0, 2, 0, 255, 255, 254, 255, 1, 0, 3, 0, 255, 255, 252, 255, 1, 0, 5, 0, 255, 255, 251, 255, 1, 0, 4, 0, 255, 255, 253, 255, 1, 0, 2, 0, 255, 255, 255, 255, 1, 0, 1, 0, 0, 0, 254, 255, 255, 255, 2, 0, 1, 0, 254, 255, 254, 255, 2, 0, 3, 0, 255, 255, 254, 255, 255, 255, 1, 0, 1, 0, 0, 0, 0, 0, 254, 255, 0, 0, 3, 0, 0, 0, 253, 255, 0, 0, 3, 0, 255, 255, 253, 255, 1, 0, 3, 0, 0, 0, 253, 255, 0, 0, 3, 0, 255, 255, 253, 255, 2, 0, 3, 0, 253, 255, 253, 255, 3, 0, 2, 0, 255, 255, 0, 0, 254, 255, 254, 255, 4, 0, 2, 0, 251, 255, 0, 0, 5, 0, 254, 255, 252, 255, 4, 0, 3, 0, 250, 255, 254, 255, 6, 0, 1, 0, 251, 255, 0, 0, 5, 0, 255, 255, 252, 255, 1, 0, 2, 0, 255, 255, 255, 255, 1, 0, 1, 0, 0, 0, 0, 0, 255, 255, 0, 0, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 1, 0, 0, 0, 0, 0, 255, 255, 0, 0, 2, 0, 1, 0, 254, 255, 253, 255, 1, 0, 4, 0, 0, 0, 252, 255, 0, 0, 4, 0, 0, 0, 252, 255, 0, 0, 3, 0, 0, 0, 254, 255, 255, 255, 2, 0, 2, 0, 254, 255, 254, 255, 1, 0, 1, 0, 255, 255, 0, 0, 2, 0, 255, 255, 254, 255, 2, 0, 1, 0, 253, 255, 0, 0, 3, 0, 255, 255, 254, 255, 2, 0, 0, 0, 254, 255, 2, 0, 1, 0, 253, 255, 255, 255, 3, 0, 2, 0, 253, 255, 253, 255, 3, 0, 3, 0, 253, 255, 254, 255, 3, 0, 0, 0, 254, 255, 1, 0, 0, 0, 255, 255, 2, 0, 0, 0, 253, 255, 1, 0, 3, 0, 255, 255, 253, 255, 0, 0, 3, 0, 0, 0, 254, 255, 1, 0, 1, 0, 255, 255, 255, 255, 0, 0, 0, 0, 1, 0, 1, 0, 254, 255, 255, 255, 2, 0, 1, 0, 0, 0, 255, 255, 254, 255, 0, 0, 2, 0, 0, 0, 255, 255, 1, 0, 0, 0, 254, 255, 1, 0, 3, 0, 255, 255, 252, 255, 0, 0, 4, 0, 1, 0, 253, 255, 254, 255, 2, 0, 2, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 254, 255, 0, 0, 3, 0, 0, 0, 252, 255, 1, 0, 4, 0, 254, 255, 253, 255, 3, 0, 2, 0, 252, 255, 0, 0, 4, 0, 254, 255, 253, 255, 2, 0, 2, 0, 255, 255, 0, 0, 1, 0, 254, 255, 0, 0, 3, 0, 254, 255, 253, 255, 3, 0, 3, 0, 253, 255, 253, 255, 3, 0, 3, 0, 254, 255, 252, 255, 1, 0, 5, 0, 0, 0, 251, 255, 255, 255, 4, 0, 1, 0, 253, 255, 255, 255, 1, 0, 1, 0, 1, 0, 0, 0, 254, 255, 0, 0, 2, 0, 255, 255, 255, 255, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 255, 255, 0, 0, 0, 0, 255, 255, 1, 0, 2, 0, 255, 255, 254, 255, 1, 0, 2, 0, 0, 0, 254, 255, 255, 255, 1, 0, 0, 0, 0, 0, 1, 0, 255, 255, 254, 255, 2, 0, 3, 0, 254, 255, 253, 255, 1, 0, 2, 0, 0, 0, 255, 255, 255, 255, 0, 0, 2, 0, 1, 0, 254, 255, 255, 255, 2, 0, 0, 0, 253, 255, 1, 0, 4, 0, 255, 255, 252, 255, 1, 0, 3, 0, 255, 255, 254, 255, 0, 0, 1, 0, 1, 0, 0, 0, 255, 255, 255, 255, 2, 0, 1, 0, 252, 255, 255, 255, 5, 0, 1, 0, 252, 255, 0, 0, 2, 0, 255, 255, 0, 0, 2, 0, 255, 255, 252, 255, 1, 0, 5, 0, 0, 0, 252, 255, 255, 255, 3, 0, 1, 0, 254, 255, 255, 255, 0, 0, 2, 0, 1, 0, 254, 255, 255, 255, 1, 0, 1, 0, 0, 0, 0, 0, 255, 255, 254, 255, 2, 0, 3, 0, 254, 255, 254, 255, 1, 0, 1, 0, 255, 255, 0, 0, 1, 0, 255, 255, 0, 0, 1, 0, 255, 255, 0, 0, 2, 0, 0, 0, 252, 255, 255, 255, 5, 0, 2, 0, 251, 255, 253, 255, 5, 0, 3, 0, 252, 255, 254, 255, 2, 0, 1, 0, 255, 255, 0, 0, 1, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 1, 0, 1, 0, 255, 255, 0, 0, 2, 0, 255, 255, 253, 255, 1, 0, 2, 0, 255, 255, 255, 255, 1, 0, 1, 0, 255, 255, 255, 255, 1, 0, 2, 0, 255, 255, 252, 255, 1, 0, 4, 0, 255, 255, 254, 255, 0, 0, 255, 255, 2, 0, 4, 0, 253, 255, 250, 255, 3, 0, 6, 0, 253, 255, 251, 255, 2, 0, 4, 0, 0, 0, 253, 255, 255, 255, 3, 0, 1, 0, 253, 255, 255, 255, 2, 0, 0, 0, 0, 0, 2, 0, 254, 255, 253, 255, 3, 0, 2, 0, 253, 255, 0, 0, 3, 0, 255, 255, 253, 255, 1, 0, 3, 0, 0, 0, 254, 255, 254, 255, 0, 0, 3, 0, 2, 0, 254, 255, 253, 255, 0, 0, 2, 0, 2, 0, 0, 0, 253, 255, 254, 255, 3, 0, 3, 0, 254, 255, 253, 255, 0, 0, 2, 0, 2, 0, 255, 255, 254, 255, 1, 0, 2, 0, 254, 255, 254, 255, 2, 0, 1, 0, 255, 255, 0, 0, 1, 0, 1, 0, 255, 255, 254, 255, 1, 0, 3, 0, 254, 255, 251, 255, 2, 0, 5, 0, 255, 255, 252, 255, 0, 0, 4, 0, 1, 0, 253, 255, 255, 255, 2, 0, 0, 0, 253, 255, 1, 0, 3, 0, 254, 255, 254, 255, 2, 0, 2, 0, 255, 255, 255, 255, 1, 0, 255, 255, 255, 255, 2, 0, 0, 0, 254, 255, 0, 0, 2, 0, 0, 0, 254, 255, 1, 0, 2, 0, 255, 255, 254, 255, 0, 0, 3, 0, 0, 0, 252, 255, 0, 0, 4, 0, 0, 0, 252, 255, 1, 0, 4, 0, 255, 255, 253, 255, 1, 0, 2, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 253, 255, 0, 0, 3, 0, 0, 0, 253, 255, 1, 0, 3, 0, 254, 255, 254, 255, 3, 0, 1, 0, 252, 255, 255, 255, 4, 0, 1, 0, 253, 255, 255, 255, 3, 0, 2, 0, 254, 255, 254, 255, 0, 0, 1, 0, 1, 0, 255, 255, 255, 255, 1, 0, 1, 0, 255, 255, 0, 0, 1, 0, 255, 255, 0, 0, 1, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 1, 0, 1, 0, 255, 255, 0, 0, 1, 0, 255, 255, 255, 255, 2, 0, 0, 0, 253, 255, 0, 0, 3, 0, 0, 0, 254, 255, 1, 0, 1, 0, 255, 255, 0, 0, 1, 0, 255, 255, 254, 255, 1, 0, 2, 0, 255, 255, 255, 255, 2, 0, 1, 0, 253, 255, 0, 0, 3, 0, 254, 255, 253, 255, 3, 0, 3, 0, 253, 255, 254, 255, 3, 0, 1, 0, 254, 255, 0, 0, 1, 0, 0, 0, 255, 255, 0, 0, 1, 0, 255, 255, 0, 0, 2, 0, 0, 0, 255, 255, 255, 255, 0, 0, 1, 0, 1, 0, 255, 255, 254, 255, 1, 0, 2, 0, 0, 0, 255, 255, 0, 0, 1, 0, 255, 255, 254, 255, 0, 0, 3, 0, 1, 0, 252, 255, 255, 255, 5, 0, 2, 0, 251, 255, 254, 255, 5, 0, 1, 0, 251, 255, 254, 255, 4, 0, 3, 0, 254, 255, 254, 255, 0, 0, 2, 0, 1, 0, 254, 255, 255, 255, 1, 0, 1, 0, 0, 0, 255, 255, 255, 255, 0, 0, 2, 0, 0, 0, 254, 255, 0, 0, 2, 0, 1, 0, 254, 255, 255, 255, 1, 0, 0, 0, 255, 255, 0, 0, 2, 0, 0, 0, 254, 255, 0, 0, 2, 0, 1, 0, 254, 255, 254, 255, 0, 0, 2, 0, 1, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 2, 0, 1, 0, 253, 255, 254, 255, 3, 0, 2, 0, 253, 255, 254, 255, 3, 0, 2, 0, 254, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 254, 255, 0, 0, 4, 0, 1, 0, 251, 255, 254, 255, 5, 0, 2, 0, 252, 255, 255, 255, 3, 0, 0, 0, 254, 255, 1, 0, 1, 0, 255, 255, 255, 255, 0, 0, 2, 0, 0, 0, 254, 255, 0, 0, 1, 0, 0, 0, 255, 255, 0, 0, 1, 0, 1, 0, 0, 0, 255, 255, 0, 0, 0, 0, 255, 255, 1, 0, 1, 0, 254, 255, 255, 255, 3, 0, 1, 0, 254, 255, 0, 0, 1, 0, 255, 255, 255, 255, 1, 0, 1, 0, 255, 255, 254, 255, 1, 0, 3, 0, 0, 0, 254, 255, 255, 255, 0, 0, 1, 0, 0, 0, 255, 255, 0, 0, 2, 0, 0, 0, 253, 255, 2, 0, 4, 0, 252, 255, 252, 255, 4, 0, 3, 0, 253, 255, 253, 255, 2, 0, 4, 0, 255, 255, 252, 255, 1, 0, 4, 0, 255, 255, 252, 255, 0, 0, 2, 0, 2, 0, 0, 0, 253, 255, 0, 0, 3, 0, 0, 0, 253, 255, 0, 0, 3, 0, 255, 255, 253, 255, 1, 0, 3, 0, 255, 255, 254, 255, 2, 0, 0, 0, 254, 255, 1, 0, 1, 0, 254, 255, 255, 255, 3, 0, 1, 0, 254, 255, 0, 0, 1, 0, 0, 0, 255, 255, 255, 255, 254, 255, 0, 0, 1, 0, 255, 255, 254, 255, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 253, 255, 255, 255, 0, 0, 255, 255, 255, 255, 0, 0, 254, 255, 254, 255, 1, 0, 0, 0, 253, 255, 0, 0, 0, 0, 253, 255, 255, 255, 2, 0, 254, 255, 252, 255, 1, 0, 2, 0, 253, 255, 253, 255, 2, 0, 0, 0, 252, 255, 255, 255, 2, 0, 255, 255, 252, 255, 255, 255, 2, 0, 255, 255, 254, 255, 0, 0, 255, 255, 253, 255, 255, 255, 2, 0, 255, 255, 253, 255, 255, 255, 1, 0, 0, 0, 255, 255, 254, 255, 253, 255, 0, 0, 2, 0, 253, 255, 253, 255, 2, 0, 1, 0, 252, 255, 255, 255, 2, 0, 253, 255, 253, 255, 2, 0, 255, 255, 253, 255, 1, 0, 1, 0, 253, 255, 255, 255, 1, 0, 254, 255, 253, 255, 0, 0, 1, 0, 254, 255, 253, 255, 1, 0, 2, 0, 252, 255, 252, 255, 2, 0, 0, 0, 252, 255, 0, 0, 2, 0, 253, 255, 253, 255, 2, 0, 255, 255, 253, 255, 0, 0, 255, 255, 254, 255, 1, 0, 1, 0, 252, 255, 254, 255, 2, 0, 253, 255, 253, 255, 3, 0, 255, 255, 251, 255, 0, 0, 3, 0, 253, 255, 252, 255, 2, 0, 0, 0, 252, 255, 255, 255, 2, 0, 254, 255, 253, 255, 1, 0, 0, 0, 252, 255, 255, 255, 3, 0, 255, 255, 251, 255, 0, 0, 2, 0, 254, 255, 254, 255, 0, 0, 254, 255, 254, 255, 0, 0, 1, 0, 255, 255, 253, 255, 254, 255, 1, 0, 0, 0, 253, 255, 254, 255, 1, 0, 255, 255, 254, 255, 1, 0, 255, 255, 253, 255, 0, 0, 1, 0, 253, 255, 253, 255, 1, 0, 0, 0, 254, 255, 255, 255, 255, 255, 254, 255, 0, 0, 1, 0, 253, 255, 252, 255, 2, 0, 3, 0, 252, 255, 251, 255, 3, 0, 2, 0, 250, 255, 253, 255, 4, 0, 255, 255, 252, 255, 0, 0, 1, 0, 253, 255, 255, 255, 1, 0, 253, 255, 253, 255, 2, 0, 0, 0, 252, 255, 254, 255, 2, 0, 0, 0, 253, 255, 255, 255, 0, 0, 254, 255, 0, 0, 1, 0, 252, 255, 252, 255, 2, 0, 3, 0, 253, 255, 251, 255, 1, 0, 3, 0, 254, 255, 251, 255, 0, 0, 2, 0, 253, 255, 253, 255, 1, 0, 0, 0, 254, 255, 255, 255, 255, 255, 254, 255, 0, 0, 255, 255, 254, 255, 254, 255, 0, 0, 0, 0, 255, 255, 254, 255, 254, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 252, 255, 254, 255, 4, 0, 0, 0, 250, 255, 254, 255, 2, 0, 255, 255, 255, 255, 1, 0, 254, 255, 252, 255, 0, 0, 2, 0, 0, 0, 252, 255, 252, 255, 2, 0, 3, 0, 253, 255, 251, 255, 1, 0, 3, 0, 254, 255, 252, 255, 0, 0, 1, 0, 255, 255, 253, 255, 255, 255, 1, 0, 254, 255, 254, 255, 255, 255, 0, 0, 0, 0, 253, 255, 253, 255, 2, 0, 2, 0, 252, 255, 251, 255, 2, 0, 1, 0, 252, 255, 255, 255, 1, 0, 254, 255, 255, 255, 255, 255, 254, 255, 255, 255, 1, 0, 255, 255, 253, 255, 255, 255, 1, 0, 0, 0, 254, 255, 253, 255, 255, 255, 1, 0, 255, 255, 253, 255, 0, 0, 0, 0, 253, 255, 253, 255, 2, 0, 1, 0, 252, 255, 253, 255, 1, 0, 0, 0, 255, 255, 254, 255, 253, 255, 254, 255, 3, 0, 0, 0, 251, 255, 254, 255, 2, 0, 254, 255, 253, 255, 255, 255, 0, 0, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 0, 0, 254, 255, 253, 255, 255, 255, 1, 0, 255, 255, 254, 255, 254, 255, 254, 255, 0, 0, 1, 0, 253, 255, 253, 255, 0, 0, 0, 0, 254, 255, 254, 255, 0, 0, 0, 0, 253, 255, 254, 255, 2, 0, 1, 0, 251, 255, 252, 255, 3, 0, 2, 0, 253, 255, 252, 255, 255, 255, 2, 0, 0, 0, 252, 255, 253, 255, 1, 0, 1, 0, 253, 255, 253, 255, 255, 255, 0, 0, 255, 255, 255, 255, 253, 255, 255, 255, 2, 0, 254, 255, 251, 255, 1, 0, 2, 0, 251, 255, 253, 255, 4, 0, 0, 0, 251, 255, 254, 255, 1, 0, 1, 0, 0, 0, 252, 255, 253, 255, 2, 0, 4, 0, 252, 255, 251, 255, 1, 0, 5, 0, 254, 255, 250, 255, 0, 0, 5, 0, 254, 255, 250, 255, 1, 0, 3, 0, 252, 255, 252, 255, 2, 0, 1, 0, 252, 255, 253, 255, 0, 0, 3, 0, 253, 255, 250, 255, 255, 255, 4, 0, 254, 255, 251, 255, 254, 255, 1, 0, 0, 0, 255, 255, 254, 255, 255, 255, 255, 255, 253, 255, 1, 0, 3, 0, 252, 255, 252, 255, 3, 0, 2, 0, 253, 255, 255, 255, 255, 255, 254, 255, 0, 0, 2, 0, 253, 255, 255, 255, 1, 0, 0, 0, 254, 255, 1, 0, 254, 255, 254, 255, 0, 0, 1, 0, 254, 255, 0, 0, 0, 0, 255, 255, 253, 255, 0, 0, 1, 0, 254, 255, 252, 255, 0, 0, 1, 0, 255, 255, 254, 255, 254, 255, 254, 255, 2, 0, 1, 0, 252, 255, 252, 255, 3, 0, 1, 0, 253, 255, 255, 255, 1, 0, 253, 255, 1, 0, 3, 0, 253, 255, 251, 255, 3, 0, 2, 0, 252, 255, 253, 255, 4, 0, 1, 0, 252, 255, 254, 255, 3, 0, 255, 255, 253, 255, 0, 0, 2, 0, 253, 255, 255, 255, 2, 0, 0, 0, 251, 255, 255, 255, 3, 0, 1, 0, 252, 255, 255, 255, 1, 0, 0, 0, 254, 255, 255, 255, 254, 255, 1, 0, 1, 0, 254, 255, 254, 255, 3, 0, 0, 0, 253, 255, 254, 255, 1, 0, 1, 0, 255, 255, 253, 255, 1, 0, 1, 0, 255, 255, 254, 255, 0, 0, 255, 255, 255, 255, 0, 0, 1, 0, 254, 255, 253, 255, 0, 0, 4, 0, 255, 255, 251, 255, 254, 255, 5, 0, 0, 0, 251, 255, 254, 255, 3, 0, 1, 0, 254, 255, 253, 255, 0, 0, 2, 0, 2, 0, 251, 255, 253, 255, 4, 0, 3, 0, 250, 255, 0, 0, 3, 0, 1, 0, 254, 255, 2, 0, 255, 255, 254, 255, 0, 0, 6, 0, 254, 255, 251, 255, 0, 0, 7, 0, 255, 255, 252, 255, 0, 0, 5, 0, 254, 255, 255, 255, 0, 0, 2, 0, 255, 255, 255, 255, 0, 0, 2, 0, 254, 255, 0, 0, 1, 0, 3, 0, 252, 255, 253, 255, 3, 0, 4, 0, 251, 255, 254, 255, 3, 0, 3, 0, 252, 255, 0, 0, 2, 0, 0, 0, 254, 255, 2, 0, 2, 0, 255, 255, 254, 255, 4, 0, 2, 0, 254, 255, 254, 255, 3, 0, 2, 0, 254, 255, 254, 255, 3, 0, 1, 0, 255, 255, 253, 255, 3, 0, 1, 0, 255, 255, 254, 255, 1, 0, 0, 0, 1, 0, 255, 255, 0, 0, 255, 255, 1, 0, 1, 0, 2, 0, 254, 255, 0, 0, 2, 0, 255, 255, 254, 255, 5, 0, 1, 0, 250, 255, 1, 0, 8, 0, 254, 255, 251, 255, 2, 0, 5, 0, 255, 255, 254, 255, 255, 255, 2, 0, 2, 0, 0, 0, 254, 255, 2, 0, 1, 0, 255, 255, 0, 0, 4, 0, 254, 255, 253, 255, 4, 0, 5, 0, 251, 255, 254, 255, 5, 0, 2, 0, 251, 255, 0, 0, 3, 0, 4, 0, 0, 0, 255, 255, 255, 255, 5, 0, 3, 0, 255, 255, 253, 255, 4, 0, 3, 0, 3, 0, 253, 255, 1, 0, 4, 0, 4, 0, 253, 255, 255, 255, 2, 0, 5, 0, 0, 0, 0, 0, 255, 255, 3, 0, 2, 0, 4, 0, 254, 255, 255, 255, 2, 0, 4, 0, 255, 255, 1, 0, 1, 0, 2, 0, 255, 255, 2, 0, 1, 0, 4, 0, 255, 255, 255, 255, 1, 0, 5, 0, 255, 255, 255, 255, 1, 0, 5, 0, 0, 0, 255, 255, 255, 255, 6, 0, 1, 0, 255, 255, 255, 255, 3, 0, 1, 0, 3, 0, 0, 0, 0, 0, 255, 255, 5, 0, 1, 0, 0, 0, 255, 255, 2, 0, 0, 0, 4, 0, 0, 0, 255, 255, 0, 0, 5, 0, 255, 255, 1, 0, 2, 0, 1, 0, 255, 255, 5, 0, 0, 0, 255, 255, 1, 0, 4, 0, 255, 255, 1, 0, 1, 0, 2, 0, 0, 0, 3, 0, 255, 255, 0, 0, 2, 0, 4, 0, 255, 255, 1, 0, 0, 0, 3, 0, 1, 0, 1, 0, 253, 255, 2, 0, 3, 0, 2, 0, 254, 255, 2, 0, 1, 0, 3, 0, 255, 255, 255, 255, 1, 0, 6, 0, 254, 255, 253, 255, 2, 0, 5, 0, 255, 255, 0, 0, 1, 0, 2, 0, 255, 255, 3, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 1, 0, 1, 0, 3, 0, 254, 255, 0, 0, 3, 0, 4, 0, 253, 255, 0, 0, 3, 0, 5, 0, 254, 255, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 3, 0, 1, 0, 2, 0, 0, 0, 4, 0, 255, 255, 2, 0, 1, 0, 3, 0, 255, 255, 3, 0, 2, 0, 2, 0, 0, 0, 2, 0, 255, 255, 2, 0, 1, 0, 2, 0, 255, 255, 2, 0, 2, 0, 2, 0, 255, 255, 4, 0, 0, 0, 1, 0, 1, 0, 5, 0, 0, 0, 1, 0, 1, 0, 4, 0, 255, 255, 3, 0, 0, 0, 2, 0, 0, 0, 4, 0, 2, 0, 1, 0, 254, 255, 4, 0, 1, 0, 2, 0, 255, 255, 3, 0, 1, 0, 3, 0, 1, 0, 3, 0, 253, 255, 2, 0, 4, 0, 3, 0, 252, 255, 3, 0, 5, 0, 3, 0, 252, 255, 3, 0, 3, 0, 3, 0, 253, 255, 2, 0, 3, 0, 4, 0, 253, 255, 2, 0, 2, 0, 5, 0, 255, 255, 1, 0, 0, 0, 4, 0, 1, 0, 2, 0, 255, 255, 4, 0, 1, 0, 3, 0, 0, 0, 3, 0, 1, 0, 1, 0, 254, 255, 7, 0, 3, 0, 254, 255, 252, 255, 8, 0, 5, 0, 0, 0, 252, 255, 5, 0, 3, 0, 2, 0, 255, 255, 4, 0, 254, 255, 1, 0, 3, 0, 5, 0, 253, 255, 3, 0, 3, 0, 1, 0, 254, 255, 6, 0, 0, 0, 0, 0, 1, 0, 5, 0, 255, 255, 3, 0, 0, 0, 1, 0, 1, 0, 6, 0, 255, 255, 255, 255, 2, 0, 6, 0, 254, 255, 1, 0, 1, 0, 4, 0, 0, 0, 3, 0, 0, 0, 2, 0, 1, 0, 3, 0, 254, 255, 2, 0, 2, 0, 4, 0, 255, 255, 2, 0, 1, 0, 4, 0, 0, 0, 1, 0, 255, 255, 4, 0, 2, 0, 3, 0, 255, 255, 1, 0, 0, 0, 5, 0, 1, 0, 1, 0, 254, 255, 3, 0, 3, 0, 4, 0, 254, 255, 0, 0, 1, 0, 5, 0, 0, 0, 2, 0, 254, 255, 2, 0, 3, 0, 4, 0, 254, 255, 2, 0, 1, 0, 4, 0, 255, 255, 1, 0, 1, 0, 5, 0, 253, 255, 0, 0, 4, 0, 6, 0, 253, 255, 0, 0, 1, 0, 5, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 5, 0, 1, 0, 1, 0, 254, 255, 6, 0, 2, 0, 3, 0, 255, 255, 3, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 7, 0, 255, 255, 2, 0, 1, 0, 5, 0, 253, 255, 5, 0, 3, 0, 1, 0, 254, 255, 7, 0, 0, 0, 1, 0, 0, 0, 7, 0, 254, 255, 1, 0, 1, 0, 7, 0, 1, 0, 1, 0, 253, 255, 5, 0, 3, 0, 6, 0, 253, 255, 0, 0, 2, 0, 9, 0, 254, 255, 0, 0, 1, 0, 6, 0, 255, 255, 3, 0, 0, 0, 4, 0, 1, 0, 5, 0, 254, 255, 2, 0, 1, 0, 6, 0, 255, 255, 2, 0, 0, 0, 5, 0, 0, 0, 4, 0, 255, 255, 2, 0, 1, 0, 5, 0, 255, 255, 3, 0, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 5, 0, 255, 255, 2, 0, 1, 0, 6, 0, 254, 255, 2, 0, 2, 0, 5, 0, 0, 0, 4, 0, 2, 0, 4, 0, 0, 0, 5, 0, 1, 0, 4, 0, 1, 0, 5, 0, 0, 0, 5, 0, 2, 0, 4, 0, 0, 0, 6, 0, 2, 0, 4, 0, 254, 255, 6, 0, 2, 0, 4, 0, 255, 255, 6, 0, 2, 0, 2, 0, 255, 255, 9, 0, 1, 0, 2, 0, 1, 0, 6, 0, 0, 0, 6, 0, 2, 0, 2, 0, 1, 0, 8, 0, 0, 0, 3, 0, 3, 0, 6, 0, 254, 255, 4, 0, 4, 0, 5, 0, 254, 255, 6, 0, 3, 0, 4, 0, 1, 0, 5, 0, 255, 255, 6, 0, 4, 0, 2, 0, 254, 255, 9, 0, 3, 0, 1, 0, 0, 0, 9, 0, 2, 0, 2, 0, 0, 0, 6, 0, 2, 0, 5, 0, 0, 0, 3, 0, 2, 0, 8, 0, 1, 0, 2, 0, 2, 0, 8, 0, 255, 255, 1, 0, 4, 0, 10, 0, 253, 255, 1, 0, 6, 0, 9, 0, 254, 255, 3, 0, 1, 0, 6, 0, 3, 0, 5, 0, 254, 255, 7, 0, 3, 0, 4, 0, 1, 0, 7, 0, 0, 0, 4, 0, 1, 0, 5, 0, 2, 0, 5, 0, 0, 0, 5, 0, 1, 0, 5, 0, 2, 0, 7, 0, 0, 0, 4, 0, 1, 0, 7, 0, 3, 0, 6, 0, 254, 255, 5, 0, 3, 0, 7, 0, 0, 0, 5, 0, 1, 0, 6, 0, 1, 0, 6, 0, 2, 0, 5, 0, 255, 255, 7, 0, 3, 0, 5, 0, 255, 255, 6, 0, 1, 0, 5, 0, 1, 0, 7, 0, 1, 0, 4, 0, 2, 0, 8, 0, 254, 255, 4, 0, 4, 0, 7, 0, 253, 255, 6, 0, 4, 0, 5, 0, 255, 255, 7, 0, 2, 0, 4, 0, 0, 0, 8, 0, 2, 0, 5, 0, 0, 0, 6, 0, 2, 0, 4, 0, 1, 0, 8, 0, 2, 0, 3, 0, 1, 0, 10, 0, 1, 0, 2, 0, 4, 0, 8, 0, 254, 255, 6, 0, 5, 0, 6, 0, 254, 255, 7, 0, 2, 0, 7, 0, 2, 0, 7, 0, 0, 0, 7, 0, 3, 0, 6, 0, 0, 0, 6, 0, 3, 0, 9, 0, 0, 0, 5, 0, 3, 0, 8, 0, 1, 0, 6, 0, 2, 0, 7, 0, 2, 0, 8, 0, 3, 0, 6, 0, 1, 0, 8, 0, 3, 0, 5, 0, 2, 0, 8, 0, 0, 0, 5, 0, 4, 0, 9, 0, 1, 0, 5, 0, 1, 0, 9, 0, 4, 0, 3, 0, 255, 255, 10, 0, 5, 0, 2, 0, 0, 0, 13, 0, 3, 0, 0, 0, 1, 0, 13, 0, 3, 0, 1, 0, 0, 0, 10, 0, 5, 0, 5, 0, 255, 255, 8, 0, 5, 0, 6, 0, 255, 255, 10, 0, 4, 0, 4, 0, 0, 0, 11, 0, 3, 0, 4, 0, 2, 0, 10, 0, 1, 0, 8, 0, 3, 0, 7, 0, 1, 0, 7, 0, 3, 0, 9, 0, 2, 0, 6, 0, 0, 0, 11, 0, 4, 0, 4, 0, 1, 0, 10, 0, 2, 0, 6, 0, 3, 0, 10, 0, 255, 255, 6, 0, 5, 0, 9, 0, 255, 255, 7, 0, 4, 0, 8, 0, 0, 0, 10, 0, 5, 0, 6, 0, 2, 0, 8, 0, 3, 0, 9, 0, 2, 0, 8, 0, 5, 0, 9, 0, 1, 0, 8, 0, 5, 0, 10, 0, 1, 0, 8, 0, 4, 0, 11, 0, 2, 0, 7, 0, 3, 0, 9, 0, 3, 0, 8, 0, 2, 0, 9, 0, 5, 0, 8, 0, 1, 0, 6, 0, 3, 0, 11, 0, 2, 0, 4, 0, 3, 0, 13, 0, 3, 0, 6, 0, 4, 0, 11, 0, 1, 0, 8, 0, 5, 0, 10, 0, 2, 0, 8, 0, 5, 0, 10, 0, 0, 0, 8, 0, 6, 0, 10, 0, 0, 0, 10, 0, 6, 0, 8, 0, 2, 0, 11, 0, 3, 0, 6, 0, 3, 0, 12, 0, 4, 0, 8, 0, 2, 0, 9, 0, 4, 0, 10, 0, 3, 0, 7, 0, 1, 0, 11, 0, 6, 0, 8, 0, 1, 0, 9, 0, 5, 0, 10, 0, 2, 0, 7, 0, 3, 0, 11, 0, 3, 0, 8, 0, 4, 0, 11, 0, 3, 0, 10, 0, 3, 0, 8, 0, 3, 0, 13, 0, 2, 0, 7, 0, 5, 0, 13, 0, 1, 0, 7, 0, 5, 0, 10, 0, 2, 0, 11, 0, 3, 0, 8, 0, 4, 0, 12, 0, 3, 0, 8, 0, 2, 0, 12, 0, 5, 0, 8, 0, 2, 0, 12, 0, 4, 0, 7, 0, 5, 0, 13, 0, 4, 0, 9, 0, 3, 0, 9, 0, 6, 0, 12, 0, 1, 0, 8, 0, 6, 0, 12, 0, 3, 0, 11, 0, 4, 0, 10, 0, 4, 0, 12, 0, 5, 0, 10, 0, 3, 0, 11, 0, 4, 0, 11, 0, 4, 0, 10, 0, 4, 0, 12, 0, 4, 0, 10, 0, 5, 0, 11, 0, 3, 0, 11, 0, 5, 0, 10, 0, 4, 0, 12, 0, 5, 0, 10, 0, 3, 0, 12, 0, 6, 0, 11, 0, 2, 0, 10, 0, 7, 0, 12, 0, 5, 0, 10, 0, 3, 0, 12, 0, 9, 0, 11, 0, 0, 0, 10, 0, 11, 0, 12, 0, 1, 0, 11, 0, 8, 0, 12, 0, 3, 0, 10, 0, 5, 0, 13, 0, 4, 0, 8, 0, 4, 0, 13, 0, 5, 0, 11, 0, 1, 0, 9, 0, 7, 0, 14, 0, 1, 0, 10, 0, 7, 0, 10, 0, 3, 0, 14, 0, 7, 0, 9, 0, 2, 0, 15, 0, 9, 0, 11, 0, 1, 0, 12, 0, 9, 0, 11, 0, 3, 0, 14, 0, 6, 0, 11, 0, 5, 0, 14, 0, 5, 0, 9, 0, 5, 0, 14, 0, 6, 0, 11, 0, 3, 0, 13, 0, 7, 0, 10, 0, 4, 0, 15, 0, 5, 0, 8, 0, 5, 0, 17, 0, 6, 0, 7, 0, 3, 0, 15, 0, 9, 0, 11, 0, 1, 0, 11, 0, 9, 0, 14, 0, 3, 0, 9, 0, 7, 0, 15, 0, 5, 0, 11, 0, 4, 0, 12, 0, 8, 0, 12, 0, 3, 0, 12, 0, 7, 0, 11, 0, 4, 0, 14, 0, 6, 0, 11, 0, 5, 0, 12, 0, 5, 0, 12, 0, 5, 0, 12, 0, 6, 0, 12, 0, 3, 0, 12, 0, 8, 0, 13, 0, 3, 0, 9, 0, 7, 0, 17, 0, 4, 0, 8, 0, 6, 0, 16, 0, 3, 0, 9, 0, 8, 0, 16, 0, 3, 0, 9, 0, 8, 0, 15, 0, 2, 0, 12, 0, 8, 0, 10, 0, 2, 0, 16, 0, 8, 0, 10, 0, 3, 0, 13, 0, 5, 0, 12, 0, 6, 0, 11, 0, 3, 0, 12, 0, 6, 0, 14, 0, 4, 0, 10, 0, 4, 0, 13, 0, 5, 0, 13, 0, 3, 0, 9, 0, 5, 0, 16, 0, 5, 0, 8, 0, 6, 0, 15, 0, 4, 0, 11, 0, 6, 0, 12, 0, 3, 0, 15, 0, 6, 0, 11, 0, 5, 0, 14, 0, 4, 0, 12, 0, 8, 0, 13, 0, 1, 0, 11, 0, 7, 0, 13, 0, 1, 0, 12, 0, 7, 0, 12, 0, 2, 0, 14, 0, 6, 0, 10, 0, 3, 0, 12, 0, 4, 0, 14, 0, 5, 0, 11, 0, 2, 0, 13, 0, 7, 0, 12, 0, 2, 0, 10, 0, 5, 0, 15, 0, 4, 0, 9, 0, 4, 0, 15, 0, 3, 0, 10, 0, 7, 0, 14, 0, 0, 0, 11, 0, 8, 0, 12, 0, 0, 0, 14, 0, 7, 0, 9, 0, 1, 0, 16, 0, 6, 0, 8, 0, 1, 0, 16, 0, 5, 0, 8, 0, 3, 0, 16, 0, 2, 0, 8, 0, 3, 0, 15, 0, 2, 0, 11, 0, 3, 0, 11, 0, 3, 0, 14, 0, 3, 0, 9, 0, 1, 0, 13, 0, 5, 0, 14, 0, 3, 0, 9, 0, 3, 0, 15, 0, 5, 0, 10, 0, 3, 0, 13, 0, 4, 0, 12, 0, 3, 0, 12, 0, 3, 0, 12, 0, 3, 0, 13, 0, 5, 0, 12, 0, 1, 0, 12, 0, 5, 0, 12, 0, 1, 0, 12, 0, 3, 0, 14, 0, 5, 0, 8, 0, 255, 255, 17, 0, 7, 0, 7, 0, 255, 255, 16, 0, 6, 0, 8, 0, 1, 0, 15, 0, 3, 0, 9, 0, 5, 0, 16, 0, 255, 255, 9, 0, 7, 0, 13, 0, 0, 0, 13, 0, 5, 0, 12, 0, 1, 0, 12, 0, 5, 0, 13, 0, 0, 0, 10, 0, 7, 0, 16, 0, 0, 0, 9, 0, 4, 0, 15, 0, 1, 0, 9, 0, 2, 0, 15, 0, 3, 0, 11, 0, 1, 0, 13, 0, 3, 0, 11, 0, 1, 0, 13, 0, 2, 0, 11, 0, 2, 0, 13, 0, 3, 0, 12, 0, 0, 0, 11, 0, 4, 0, 13, 0, 1, 0, 10, 0, 1, 0, 14, 0, 4, 0, 10, 0, 255, 255, 13, 0, 4, 0, 11, 0, 1, 0, 12, 0, 3, 0, 12, 0, 1, 0, 12, 0, 2, 0, 11, 0, 0, 0, 11, 0, 1, 0, 10, 0, 0, 0, 12, 0, 3, 0, 9, 0, 254, 255, 15, 0, 3, 0, 7, 0, 0, 0, 15, 0, 0, 0, 7, 0, 4, 0, 14, 0, 254, 255, 9, 0, 3, 0, 13, 0, 2, 0, 11, 0, 1, 0, 9, 0, 3, 0, 15, 0, 1, 0, 5, 0, 0, 0, 18, 0, 1, 0, 5, 0, 0, 0, 16, 0, 2, 0, 8, 0, 255, 255, 11, 0, 4, 0, 13, 0, 253, 255, 8, 0, 4, 0, 14, 0, 255, 255, 10, 0, 2, 0, 9, 0, 255, 255, 15, 0, 3, 0, 5, 0, 254, 255, 16, 0, 5, 0, 8, 0, 254, 255, 13, 0, 3, 0, 11, 0, 0, 0, 11, 0, 1, 0, 11, 0, 2, 0, 11, 0, 1, 0, 10, 0, 0, 0, 14, 0, 1, 0, 8, 0, 255, 255, 15, 0, 1, 0, 7, 0, 0, 0, 14, 0, 255, 255, 8, 0, 0, 0, 14, 0, 0, 0, 8, 0, 254, 255, 12, 0, 3, 0, 10, 0, 252, 255, 10, 0, 3, 0, 12, 0, 253, 255, 9, 0, 1, 0, 11, 0, 255, 255, 11, 0, 1, 0, 10, 0, 254, 255, 12, 0, 2, 0, 10, 0, 254, 255, 12, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 11, 0, 255, 255, 10, 0, 1, 0, 12, 0, 252, 255, 9, 0, 3, 0, 12, 0, 251, 255, 8, 0, 3, 0, 11, 0, 252, 255, 10, 0, 0, 0, 11, 0, 255, 255, 10, 0, 254, 255, 10, 0, 255, 255, 10, 0, 0, 0, 10, 0, 254, 255, 11, 0, 255, 255, 9, 0, 0, 0, 11, 0, 253, 255, 10, 0, 1, 0, 11, 0, 254, 255, 9, 0, 255, 255, 11, 0, 0, 0, 9, 0, 253, 255, 12, 0, 0, 0, 8, 0, 254, 255, 13, 0, 253, 255, 7, 0, 1, 0, 13, 0, 251, 255, 8, 0, 1, 0, 12, 0, 251, 255, 8, 0, 2, 0, 12, 0, 250, 255, 8, 0, 3, 0, 12, 0, 249, 255, 9, 0, 4, 0, 10, 0, 249, 255, 11, 0, 2, 0, 8, 0, 252, 255, 12, 0, 255, 255, 8, 0, 254, 255, 12, 0, 255, 255, 9, 0, 254, 255, 10, 0, 254, 255, 11, 0, 254, 255, 8, 0, 253, 255, 11, 0, 255, 255, 8, 0, 251, 255, 10, 0, 0, 0, 8, 0, 250, 255, 11, 0, 255, 255, 6, 0, 253, 255, 11, 0, 251, 255, 7, 0, 0, 0, 10, 0, 250, 255, 8, 0, 0, 0, 10, 0, 251, 255, 8, 0, 254, 255, 11, 0, 253, 255, 10, 0, 252, 255, 8, 0, 254, 255, 12, 0, 254, 255, 8, 0, 251, 255, 11, 0, 0, 0, 9, 0, 249, 255, 10, 0, 1, 0, 8, 0, 250, 255, 10, 0, 0, 0, 8, 0, 250, 255, 10, 0, 255, 255, 8, 0, 252, 255, 9, 0, 253, 255, 10, 0, 253, 255, 7, 0, 252, 255, 10, 0, 254, 255, 10, 0, 253, 255, 7, 0, 253, 255, 14, 0, 252, 255, 6, 0, 254, 255, 13, 0, 253, 255, 9, 0, 254, 255, 10, 0, 252, 255, 11, 0, 253, 255, 8, 0, 254, 255, 12, 0, 252, 255, 9, 0, 253, 255, 10, 0, 252, 255, 12, 0, 252, 255, 8, 0, 252, 255, 10, 0, 254, 255, 10, 0, 249, 255, 9, 0, 254, 255, 10, 0, 251, 255, 9, 0, 253, 255, 8, 0, 252, 255, 12, 0, 252, 255, 7, 0, 252, 255, 14, 0, 252, 255, 5, 0, 252, 255, 15, 0, 252, 255, 6, 0, 252, 255, 12, 0, 252, 255, 9, 0, 253, 255, 11, 0, 251, 255, 10, 0, 254, 255, 10, 0, 250, 255, 9, 0, 253, 255, 10, 0, 251, 255, 8, 0, 252, 255, 11, 0, 252, 255, 7, 0, 251, 255, 10, 0, 251, 255, 10, 0, 251, 255, 7, 0, 252, 255, 12, 0, 252, 255, 7, 0, 251, 255, 13, 0, 254, 255, 8, 0, 249, 255, 11, 0, 255, 255, 11, 0, 249, 255, 8, 0, 0, 0, 12, 0, 249, 255, 9, 0, 254, 255, 10, 0, 251, 255, 11, 0, 250, 255, 9, 0, 254, 255, 10, 0, 248, 255, 12, 0, 253, 255, 9, 0, 250, 255, 9, 0, 251, 255, 12, 0, 252, 255, 7, 0, 250, 255, 14, 0, 251, 255, 8, 0, 251, 255, 9, 0, 250, 255, 11, 0, 251, 255, 9, 0, 253, 255, 11, 0, 247, 255, 11, 0, 255, 255, 8, 0, 248, 255, 12, 0, 251, 255, 9, 0, 253, 255, 10, 0, 248, 255, 12, 0, 254, 255, 8, 0, 248, 255, 12, 0, 251, 255, 9, 0, 250, 255, 9, 0, 249, 255, 10, 0, 252, 255, 8, 0, 246, 255, 9, 0, 253, 255, 10, 0, 248, 255, 7, 0, 250, 255, 11, 0, 250, 255, 7, 0, 251, 255, 12, 0, 248, 255, 7, 0, 254, 255, 14, 0, 246, 255, 5, 0, 255, 255, 14, 0, 246, 255, 7, 0, 253, 255, 12, 0, 249, 255, 9, 0, 252, 255, 10, 0, 249, 255, 11, 0, 252, 255, 9, 0, 248, 255, 12, 0, 251, 255, 8, 0, 250, 255, 11, 0, 250, 255, 9, 0, 248, 255, 10, 0, 250, 255, 9, 0, 250, 255, 10, 0, 247, 255, 7, 0, 251, 255, 11, 0, 246, 255, 8, 0, 252, 255, 10, 0, 248, 255, 10, 0, 252, 255, 9, 0, 249, 255, 10, 0, 249, 255, 10, 0, 252, 255, 11, 0, 248, 255, 7, 0, 250, 255, 15, 0, 249, 255, 3, 0, 248, 255, 18, 0, 251, 255, 3, 0, 248, 255, 14, 0, 249, 255, 7, 0, 250, 255, 10, 0, 246, 255, 10, 0, 254, 255, 8, 0, 244, 255, 11, 0, 253, 255, 7, 0, 247, 255, 11, 0, 250, 255, 8, 0, 249, 255, 11, 0, 249, 255, 8, 0, 248, 255, 11, 0, 249, 255, 7, 0, 249, 255, 11, 0, 249, 255, 9, 0, 248, 255, 9, 0, 251, 255, 11, 0, 247, 255, 8, 0, 249, 255, 11, 0, 247, 255, 9, 0, 249, 255, 10, 0, 248, 255, 9, 0, 249, 255, 11, 0, 247, 255, 7, 0, 248, 255, 11, 0, 249, 255, 8, 0, 247, 255, 10, 0, 250, 255, 10, 0, 245, 255, 8, 0, 251, 255, 10, 0, 246, 255, 8, 0, 248, 255, 10, 0, 249, 255, 8, 0, 246, 255, 11, 0, 251, 255, 7, 0, 246, 255, 11, 0, 249, 255, 7, 0, 247, 255, 11, 0, 247, 255, 7, 0, 251, 255, 11, 0, 244, 255, 8, 0, 250, 255, 9, 0, 245, 255, 9, 0, 248, 255, 9, 0, 248, 255, 8, 0, 245, 255, 11, 0, 250, 255, 8, 0, 245, 255, 9, 0, 249, 255, 10, 0, 247, 255, 9, 0, 247, 255, 8, 0, 249, 255, 12, 0, 247, 255, 4, 0, 249, 255, 15, 0, 246, 255, 4, 0, 249, 255, 14, 0, 245, 255, 5, 0, 249, 255, 11, 0, 245, 255, 8, 0, 249, 255, 9, 0, 245, 255, 10, 0, 249, 255, 8, 0, 246, 255, 10, 0, 246, 255, 8, 0, 248, 255, 9, 0, 245, 255, 9, 0, 249, 255, 8, 0, 245, 255, 10, 0, 246, 255, 7, 0, 248, 255, 11, 0, 247, 255, 8, 0, 246, 255, 11, 0, 249, 255, 6, 0, 243, 255, 12, 0, 251, 255, 8, 0, 245, 255, 10, 0, 248, 255, 8, 0, 247, 255, 11, 0, 246, 255, 6, 0, 248, 255, 14, 0, 247, 255, 3, 0, 245, 255, 13, 0, 247, 255, 5, 0, 245, 255, 11, 0, 247, 255, 7, 0, 245, 255, 7, 0, 247, 255, 10, 0, 246, 255, 5, 0, 245, 255, 12, 0, 248, 255, 6, 0, 245, 255, 8, 0, 246, 255, 9, 0, 248, 255, 6, 0, 243, 255, 11, 0, 249, 255, 5, 0, 244, 255, 12, 0, 248, 255, 6, 0, 245, 255, 9, 0, 247, 255, 9, 0, 245, 255, 6, 0, 246, 255, 11, 0, 246, 255, 6, 0, 245, 255, 10, 0, 246, 255, 6, 0, 245, 255, 11, 0, 247, 255, 4, 0, 244, 255, 11, 0, 247, 255, 7, 0, 244, 255, 8, 0, 248, 255, 11, 0, 245, 255, 4, 0, 247, 255, 13, 0, 245, 255, 4, 0, 247, 255, 11, 0, 246, 255, 8, 0, 246, 255, 6, 0, 246, 255, 12, 0, 245, 255, 4, 0, 245, 255, 11, 0, 245, 255, 8, 0, 246, 255, 7, 0, 244, 255, 9, 0, 246, 255, 8, 0, 245, 255, 6, 0, 245, 255, 10, 0, 246, 255, 3, 0, 244, 255, 11, 0, 245, 255, 4, 0, 246, 255, 12, 0, 244, 255, 4, 0, 247, 255, 9, 0, 243, 255, 7, 0, 247, 255, 6, 0, 243, 255, 10, 0, 247, 255, 5, 0, 244, 255, 8, 0, 246, 255, 7, 0, 243, 255, 7, 0, 244, 255, 8, 0, 244, 255, 7, 0, 245, 255, 6, 0, 243, 255, 8, 0, 246, 255, 5, 0, 242, 255, 8, 0, 244, 255, 5, 0, 245, 255, 6, 0, 243, 255, 8, 0, 244, 255, 3, 0, 244, 255, 9, 0, 243, 255, 4, 0, 245, 255, 8, 0, 244, 255, 5, 0, 244, 255, 8, 0, 244, 255, 5, 0, 244, 255, 7, 0, 244, 255, 6, 0, 241, 255, 6, 0, 246, 255, 7, 0, 241, 255, 4, 0, 245, 255, 7, 0, 242, 255, 2, 0, 242, 255, 9, 0, 243, 255, 2, 0, 242, 255, 9, 0, 242, 255, 1, 0, 242, 255, 8, 0, 243, 255, 1, 0, 242, 255, 6, 0, 241, 255, 4, 0, 243, 255, 4, 0, 242, 255, 4, 0, 242, 255, 5, 0, 242, 255, 2, 0, 242, 255, 8, 0, 241, 255, 255, 255, 244, 255, 10, 0, 242, 255, 0, 0, 242, 255, 7, 0, 241, 255, 4, 0, 244, 255, 2, 0, 236, 255, 6, 0, 247, 255, 2, 0, 236, 255, 4, 0, 243, 255, 3, 0, 240, 255, 4, 0, 238, 255, 1, 0, 244, 255, 5, 0, 236, 255, 0, 0, 243, 255, 5, 0, 239, 255, 0, 0, 240, 255, 3, 0, 241, 255, 3, 0, 240, 255, 0, 0, 240, 255, 5, 0, 240, 255, 254, 255, 242, 255, 6, 0, 237, 255, 255, 255, 243, 255, 5, 0, 239, 255, 255, 255, 240, 255, 5, 0, 241, 255, 255, 255, 238, 255, 5, 0, 242, 255, 0, 0, 237, 255, 2, 0, 242, 255, 3, 0, 236, 255, 0, 0, 243, 255, 2, 0, 235, 255, 0, 0, 244, 255, 2, 0, 235, 255, 0, 0, 243, 255, 3, 0, 237, 255, 255, 255, 242, 255, 2, 0, 238, 255, 2, 0, 242, 255, 0, 0, 237, 255, 2, 0, 242, 255, 2, 0, 236, 255, 255, 255, 242, 255, 5, 0, 236, 255, 253, 255, 242, 255, 5, 0, 236, 255, 255, 255, 241, 255, 2, 0, 239, 255, 0, 0, 239, 255, 3, 0, 240, 255, 0, 0, 238, 255, 3, 0, 239, 255, 254, 255, 240, 255, 4, 0, 239, 255, 254, 255, 241, 255, 5, 0, 238, 255, 255, 255, 241, 255, 1, 0, 237, 255, 2, 0, 241, 255, 1, 0, 239, 255, 1, 0, 239, 255, 2, 0, 240, 255, 255, 255, 239, 255, 1, 0, 239, 255, 1, 0, 240, 255, 255, 255, 239, 255, 1, 0, 239, 255, 0, 0, 238, 255, 255, 255, 241, 255, 3, 0, 236, 255, 253, 255, 243, 255, 2, 0, 236, 255, 255, 255, 242, 255, 0, 0, 237, 255, 2, 0, 242, 255, 253, 255, 238, 255, 3, 0, 240, 255, 254, 255, 239, 255, 2, 0, 240, 255, 0, 0, 238, 255, 0, 0, 241, 255, 0, 0, 238, 255, 2, 0, 239, 255, 254, 255, 241, 255, 3, 0, 236, 255, 254, 255, 241, 255, 255, 255, 238, 255, 2, 0, 238, 255, 253, 255, 239, 255, 1, 0, 237, 255, 254, 255, 239, 255, 254, 255, 236, 255, 1, 0, 241, 255, 253, 255, 234, 255, 2, 0, 242, 255, 252, 255, 236, 255, 1, 0, 240, 255, 254, 255, 239, 255, 0, 0, 237, 255, 255, 255, 240, 255, 0, 0, 238, 255, 253, 255, 239, 255, 2, 0, 240, 255, 253, 255, 235, 255, 1, 0, 242, 255, 253, 255, 234, 255, 255, 255, 241, 255, 255, 255, 236, 255, 253, 255, 239, 255, 0, 0, 237, 255, 252, 255, 240, 255, 254, 255, 234, 255, 254, 255, 243, 255, 254, 255, 232, 255, 254, 255, 244, 255, 254, 255, 233, 255, 255, 255, 241, 255, 251, 255, 237, 255, 1, 0, 239, 255, 251, 255, 237, 255, 1, 0, 242, 255, 253, 255, 233, 255, 1, 0, 243, 255, 251, 255, 236, 255, 1, 0, 239, 255, 252, 255, 239, 255, 255, 255, 237, 255, 0, 0, 239, 255, 251, 255, 236, 255, 2, 0, 240, 255, 250, 255, 234, 255, 1, 0, 241, 255, 251, 255, 234, 255, 1, 0, 240, 255, 251, 255, 236, 255, 1, 0, 237, 255, 251, 255, 239, 255, 0, 0, 238, 255, 253, 255, 237, 255, 254, 255, 238, 255, 253, 255, 237, 255, 0, 0, 237, 255, 251, 255, 237, 255, 0, 0, 237, 255, 251, 255, 237, 255, 255, 255, 238, 255, 250, 255, 236, 255, 1, 0, 238, 255, 248, 255, 235, 255, 2, 0, 240, 255, 249, 255, 234, 255, 255, 255, 240, 255, 253, 255, 235, 255, 252, 255, 240, 255, 255, 255, 235, 255, 251, 255, 240, 255, 255, 255, 235, 255, 253, 255, 240, 255, 254, 255, 235, 255, 254, 255, 238, 255, 252, 255, 237, 255, 0, 0, 237, 255, 251, 255, 238, 255, 1, 0, 236, 255, 250, 255, 238, 255, 1, 0, 235, 255, 250, 255, 239, 255, 0, 0, 236, 255, 251, 255, 238, 255, 254, 255, 235, 255, 253, 255, 239, 255, 251, 255, 234, 255, 1, 0, 241, 255, 248, 255, 233, 255, 2, 0, 240, 255, 247, 255, 235, 255, 2, 0, 240, 255, 249, 255, 234, 255, 0, 0, 240, 255, 251, 255, 234, 255, 254, 255, 240, 255, 253, 255, 235, 255, 254, 255, 238, 255, 253, 255, 234, 255, 253, 255, 237, 255, 252, 255, 237, 255, 255, 255, 234, 255, 251, 255, 239, 255, 254, 255, 233, 255, 251, 255, 238, 255, 252, 255, 234, 255, 252, 255, 235, 255, 253, 255, 237, 255, 250, 255, 234, 255, 254, 255, 238, 255, 250, 255, 234, 255, 253, 255, 238, 255, 251, 255, 233, 255, 254, 255, 238, 255, 249, 255, 234, 255, 255, 255, 238, 255, 249, 255, 233, 255, 254, 255, 238, 255, 252, 255, 232, 255, 252, 255, 237, 255, 252, 255, 234, 255, 250, 255, 234, 255, 251, 255, 235, 255, 252, 255, 234, 255, 249, 255, 235, 255, 253, 255, 232, 255, 249, 255, 236, 255, 252, 255, 232, 255, 247, 255, 234, 255, 252, 255, 234, 255, 247, 255, 232, 255, 253, 255, 234, 255, 246, 255, 233, 255, 253, 255, 234, 255, 245, 255, 234, 255, 253, 255, 232, 255, 248, 255, 234, 255, 250, 255, 232, 255, 249, 255, 231, 255, 247, 255, 234, 255, 250, 255, 231, 255, 248, 255, 233, 255, 249, 255, 231, 255, 249, 255, 231, 255, 247, 255, 231, 255, 248, 255, 231, 255, 249, 255, 231, 255, 246, 255, 230, 255, 248, 255, 233, 255, 249, 255, 229, 255, 243, 255, 232, 255, 254, 255, 230, 255, 240, 255, 230, 255, 253, 255, 232, 255, 245, 255, 229, 255, 247, 255, 231, 255, 248, 255, 228, 255, 243, 255, 231, 255, 249, 255, 228, 255, 244, 255, 230, 255, 247, 255, 228, 255, 247, 255, 228, 255, 244, 255, 230, 255, 246, 255, 227, 255, 245, 255, 230, 255, 245, 255, 227, 255, 246, 255, 230, 255, 246, 255, 227, 255, 244, 255, 231, 255, 247, 255, 226, 255, 245, 255, 229, 255, 245, 255, 228, 255, 247, 255, 227, 255, 243, 255, 228, 255, 248, 255, 229, 255, 243, 255, 226, 255, 247, 255, 229, 255, 242, 255, 226, 255, 246, 255, 229, 255, 243, 255, 224, 255, 245, 255, 230, 255, 244, 255, 223, 255, 242, 255, 228, 255, 245, 255, 224, 255, 241, 255, 228, 255, 244, 255, 225, 255, 242, 255, 226, 255, 243, 255, 225, 255, 241, 255, 225, 255, 243, 255, 224, 255, 243, 255, 225, 255, 243, 255, 225, 255, 242, 255, 224, 255, 243, 255, 226, 255, 241, 255, 223, 255, 244, 255, 226, 255, 242, 255, 224, 255, 243, 255, 226, 255, 241, 255, 223, 255, 243, 255, 224, 255, 240, 255, 223, 255, 242, 255, 224, 255, 242, 255, 223, 255, 238, 255, 221, 255, 244, 255, 226, 255, 238, 255, 218, 255, 242, 255, 227, 255, 240, 255, 217, 255, 239, 255, 226, 255, 241, 255, 222, 255, 240, 255, 222, 255, 241, 255, 223, 255, 240, 255, 219, 255, 239, 255, 224, 255, 241, 255, 221, 255, 238, 255, 221, 255, 241, 255, 223, 255, 238, 255, 220, 255, 241, 255, 223, 255, 238, 255, 219, 255, 242, 255, 223, 255, 237, 255, 218, 255, 240, 255, 223, 255, 238, 255, 217, 255, 240, 255, 222, 255, 237, 255, 218, 255, 240, 255, 221, 255, 238, 255, 219, 255, 237, 255, 219, 255, 242, 255, 221, 255, 235, 255, 218, 255, 242, 255, 222, 255, 234, 255, 217, 255, 241, 255, 222, 255, 234, 255, 218, 255, 241, 255, 220, 255, 235, 255, 220, 255, 238, 255, 218, 255, 239, 255, 219, 255, 235, 255, 218, 255, 240, 255, 218, 255, 234, 255, 218, 255, 239, 255, 219, 255, 235, 255, 215, 255, 237, 255, 220, 255, 238, 255, 215, 255, 234, 255, 219, 255, 239, 255, 216, 255, 235, 255, 218, 255, 237, 255, 216, 255, 238, 255, 220, 255, 234, 255, 214, 255, 240, 255, 220, 255, 235, 255, 217, 255, 237, 255, 216, 255, 237, 255, 220, 255, 237, 255, 215, 255, 236, 255, 217, 255, 238, 255, 219, 255, 235, 255, 212, 255, 238, 255, 221, 255, 234, 255, 213, 255, 237, 255, 219, 255, 236, 255, 213, 255, 235, 255, 217, 255, 236, 255, 214, 255, 234, 255, 216, 255, 237, 255, 216, 255, 233, 255, 217, 255, 239, 255, 213, 255, 231, 255, 219, 255, 239, 255, 213, 255, 234, 255, 219, 255, 238, 255, 214, 255, 234, 255, 215, 255, 237, 255, 218, 255, 235, 255, 215, 255, 237, 255, 216, 255, 236, 255, 216, 255, 235, 255, 214, 255, 238, 255, 217, 255, 236, 255, 215, 255, 237, 255, 214, 255, 234, 255, 215, 255, 237, 255, 214, 255, 233, 255, 215, 255, 237, 255, 214, 255, 235, 255, 216, 255, 234, 255, 214, 255, 237, 255, 216, 255, 234, 255, 215, 255, 235, 255, 215, 255, 236, 255, 214, 255, 236, 255, 217, 255, 237, 255, 215, 255, 236, 255, 215, 255, 236, 255, 217, 255, 238, 255, 213, 255, 234, 255, 218, 255, 240, 255, 211, 255, 232, 255, 217, 255, 239, 255, 212, 255, 234, 255, 217, 255, 238, 255, 212, 255, 234, 255, 217, 255, 237, 255, 211, 255, 235, 255, 216, 255, 236, 255, 214, 255, 236, 255, 215, 255, 238, 255, 215, 255, 235, 255, 215, 255, 239, 255, 217, 255, 236, 255, 215, 255, 237, 255, 217, 255, 239, 255, 215, 255, 236, 255, 217, 255, 238, 255, 215, 255, 239, 255, 218, 255, 236, 255, 214, 255, 239, 255, 219, 255, 238, 255, 214, 255, 236, 255, 217, 255, 240, 255, 216, 255, 236, 255, 216, 255, 238, 255, 216, 255, 238, 255, 216, 255, 237, 255, 216, 255, 240, 255, 216, 255, 236, 255, 217, 255, 240, 255, 216, 255, 237, 255, 219, 255, 240, 255, 216, 255, 241, 255, 220, 255, 237, 255, 216, 255, 245, 255, 220, 255, 236, 255, 217, 255, 244, 255, 218, 255, 239, 255, 221, 255, 241, 255, 217, 255, 241, 255, 220, 255, 240, 255, 218, 255, 245, 255, 220, 255, 239, 255, 221, 255, 244, 255, 218, 255, 240, 255, 223, 255, 242, 255, 216, 255, 242, 255, 225, 255, 242, 255, 217, 255, 244, 255, 224, 255, 241, 255, 220, 255, 245, 255, 223, 255, 243, 255, 221, 255, 245, 255, 223, 255, 244, 255, 223, 255, 246, 255, 223, 255, 243, 255, 224, 255, 249, 255, 224, 255, 242, 255, 223, 255, 250, 255, 226, 255, 242, 255, 224, 255, 250, 255, 225, 255, 244, 255, 225, 255, 249, 255, 227, 255, 245, 255, 223, 255, 249, 255, 229, 255, 246, 255, 224, 255, 249, 255, 229, 255, 246, 255, 226, 255, 252, 255, 228, 255, 246, 255, 228, 255, 251, 255, 229, 255, 249, 255, 230, 255, 251, 255, 229, 255, 250, 255, 232, 255, 254, 255, 229, 255, 249, 255, 235, 255, 255, 255, 227, 255, 251, 255, 236, 255, 254, 255, 230, 255, 254, 255, 234, 255, 250, 255, 234, 255, 2, 0, 231, 255, 249, 255, 235, 255, 2, 0, 233, 255, 252, 255, 234, 255, 1, 0, 237, 255, 252, 255, 234, 255, 5, 0, 238, 255, 252, 255, 237, 255, 5, 0, 238, 255, 255, 255, 237, 255, 2, 0, 242, 255, 4, 0, 238, 255, 0, 0, 242, 255, 8, 0, 239, 255, 1, 0, 242, 255, 7, 0, 243, 255, 5, 0, 243, 255, 5, 0, 245, 255, 7, 0, 242, 255, 6, 0, 246, 255, 8, 0, 244, 255, 7, 0, 245, 255, 9, 0, 248, 255, 8, 0, 244, 255, 8, 0, 248, 255, 10, 0, 248, 255, 9, 0, 247, 255, 11, 0, 253, 255, 12, 0, 248, 255, 9, 0, 252, 255, 16, 0, 253, 255, 10, 0, 251, 255, 17, 0, 0, 0, 13, 0, 252, 255, 15, 0, 1, 0, 18, 0, 254, 255, 15, 0, 2, 0, 18, 0, 1, 0, 19, 0, 2, 0, 16, 0, 1, 0, 23, 0, 5, 0, 16, 0, 1, 0, 22, 0, 6, 0, 20, 0, 5, 0, 21, 0, 5, 0, 22, 0, 7, 0, 21, 0, 8, 0, 24, 0, 6, 0, 23, 0, 12, 0, 26, 0, 9, 0, 24, 0, 11, 0, 27, 0, 13, 0, 24, 0, 12, 0, 30, 0, 14, 0, 26, 0, 14, 0, 31, 0, 15, 0, 28, 0, 17, 0, 31, 0, 17, 0, 31, 0, 17, 0, 30, 0, 19, 0, 34, 0, 20, 0, 29, 0, 18, 0, 37, 0, 23, 0, 30, 0, 18, 0, 37, 0, 26, 0, 35, 0, 19, 0, 34, 0, 27, 0, 41, 0, 24, 0, 33, 0, 26, 0, 43, 0, 29, 0, 37, 0, 26, 0, 42, 0, 33, 0, 40, 0, 27, 0, 42, 0, 35, 0, 44, 0, 30, 0, 44, 0, 35, 0, 43, 0, 35, 0, 47, 0, 33, 0, 42, 0, 39, 0, 50, 0, 33, 0, 44, 0, 39, 0, 50, 0, 38, 0, 47, 0, 38, 0, 50, 0, 40, 0, 48, 0, 40, 0, 50, 0, 42, 0, 53, 0, 41, 0, 50, 0, 45, 0, 55, 0, 44, 0, 52, 0, 45, 0, 54, 0, 48, 0, 55, 0, 48, 0, 57, 0, 50, 0, 56, 0, 50, 0, 59, 0, 51, 0, 57, 0, 51, 0, 59, 0, 54, 0, 60, 0, 53, 0, 62, 0, 54, 0, 59, 0, 56, 0, 65, 0, 54, 0, 59, 0, 59, 0, 66, 0, 54, 0, 62, 0, 62, 0, 66, 0, 56, 0, 63, 0, 63, 0, 69, 0, 59, 0, 65, 0, 65, 0, 68, 0, 63, 0, 70, 0, 65, 0, 67, 0, 67, 0, 73, 0, 67, 0, 70, 0, 68, 0, 73, 0, 71, 0, 73, 0, 69, 0, 75, 0, 72, 0, 75, 0, 72, 0, 75, 0, 72, 0, 76, 0, 72, 0, 75, 0, 76, 0, 79, 0, 72, 0, 76, 0, 79, 0, 80, 0, 72, 0, 79, 0, 80, 0, 78, 0, 75, 0, 83, 0, 82, 0, 78, 0, 77, 0, 83, 0, 83, 0, 83, 0, 79, 0, 81, 0, 84, 0, 86, 0, 84, 0, 83, 0, 82, 0, 87, 0, 90, 0, 84, 0, 83, 0, 89, 0, 90, 0, 86, 0, 87, 0, 89, 0, 90, 0, 88, 0, 90, 0, 91, 0, 91, 0, 89, 0, 89, 0, 91, 0, 95, 0, 91, 0, 89, 0, 91, 0, 98, 0, 92, 0, 91, 0, 93, 0, 96, 0, 94, 0, 98, 0, 94, 0, 93, 0, 95, 0, 103, 0, 95, 0, 93, 0, 95, 0, 104, 0, 98, 0, 97, 0, 97, 0, 104, 0, 97, 0, 102, 0, 100, 0, 102, 0, 100, 0, 105, 0, 100, 0, 105, 0, 102, 0, 105, 0, 100, 0, 108, 0, 105, 0, 106, 0, 102, 0, 108, 0, 104, 0, 109, 0, 106, 0, 109, 0, 100, 0, 111, 0, 113, 0, 110, 0, 99, 0, 112, 0, 111, 0, 113, 0, 104, 0, 113, 0, 109, 0, 114, 0, 109, 0, 116, 0, 108, 0, 117, 0, 111, 0, 115, 0, 109, 0, 120, 0, 112, 0, 116, 0, 111, 0, 122, 0, 112, 0, 118, 0, 113, 0, 124, 0, 113, 0, 117, 0, 115, 0, 126, 0, 113, 0, 119, 0, 117, 0, 124, 0, 112, 0, 123, 0, 119, 0, 123, 0, 113, 0, 125, 0, 119, 0, 123, 0, 117, 0, 128, 0, 117, 0, 123, 0, 118, 0, 130, 0, 119, 0, 125, 0, 118, 0, 130, 0, 122, 0, 129, 0, 121, 0, 131, 0, 122, 0, 132, 0, 122, 0, 133, 0, 124, 0, 135, 0, 123, 0, 133, 0, 125, 0, 136, 0, 125, 0, 136, 0, 125, 0, 137, 0, 127, 0, 136, 0, 126, 0, 139, 0, 127, 0, 136, 0, 128, 0, 140, 0, 127, 0, 136, 0, 129, 0, 143, 0, 128, 0, 136, 0, 129, 0, 144, 0, 130, 0, 139, 0, 131, 0, 142, 0, 131, 0, 144, 0, 133, 0, 142, 0, 131, 0, 144, 0, 134, 0, 148, 0, 133, 0, 143, 0, 136, 0, 150, 0, 135, 0, 146, 0, 137, 0, 148, 0, 135, 0, 151, 0, 139, 0, 148, 0, 137, 0, 152, 0, 141, 0, 150, 0, 136, 0, 152, 0, 141, 0, 150, 0, 137, 0, 153, 0, 143, 0, 153, 0, 137, 0, 153, 0, 144, 0, 153, 0, 137, 0, 155, 0, 145, 0, 155, 0, 139, 0, 157, 0, 145, 0, 156, 0, 142, 0, 157, 0, 144, 0, 157, 0, 146, 0, 161, 0, 144, 0, 157, 0, 148, 0, 161, 0, 144, 0, 161, 0, 150, 0, 160, 0, 146, 0, 166, 0, 151, 0, 158, 0, 147, 0, 166, 0, 151, 0, 161, 0, 150, 0, 167, 0, 150, 0, 163, 0, 152, 0, 166, 0, 151, 0, 165, 0, 153, 0, 165, 0, 153, 0, 169, 0, 155, 0, 166, 0, 152, 0, 169, 0, 155, 0, 168, 0, 155, 0, 169, 0, 155, 0, 172, 0, 158, 0, 170, 0, 155, 0, 172, 0, 159, 0, 171, 0, 157, 0, 173, 0, 159, 0, 172, 0, 159, 0, 174, 0, 159, 0, 171, 0, 159, 0, 177, 0, 161, 0, 172, 0, 159, 0, 177, 0, 162, 0, 172, 0, 159, 0, 177, 0, 164, 0, 173, 0, 157, 0, 177, 0, 166, 0, 176, 0, 160, 0, 176, 0, 163, 0, 180, 0, 165, 0, 176, 0, 161, 0, 180, 0, 169, 0, 180, 0, 162, 0, 179, 0, 168, 0, 182, 0, 165, 0, 180, 0, 167, 0, 182, 0, 167, 0, 179, 0, 167, 0, 185, 0, 169, 0, 178, 0, 167, 0, 186, 0, 170, 0, 178, 0, 167, 0, 184, 0, 169, 0, 181, 0, 169, 0, 181, 0, 167, 0, 184, 0, 172, 0, 179, 0, 166, 0, 186, 0, 173, 0, 181, 0, 165, 0, 184, 0, 173, 0, 184, 0, 168, 0, 182, 0, 172, 0, 187, 0, 172, 0, 183, 0, 169, 0, 185, 0, 175, 0, 187, 0, 169, 0, 183, 0, 176, 0, 188, 0, 171, 0, 185, 0, 174, 0, 186, 0, 173, 0, 187, 0, 173, 0, 186, 0, 173, 0, 185, 0, 177, 0, 188, 0, 170, 0, 182, 0, 177, 0, 189, 0, 171, 0, 185, 0, 177, 0, 187, 0, 172, 0, 185, 0, 175, 0, 186, 0, 174, 0, 187, 0, 174, 0, 185, 0, 177, 0, 188, 0, 173, 0, 185, 0, 176, 0, 186, 0, 175, 0, 190, 0, 174, 0, 182, 0, 177, 0, 191, 0, 173, 0, 182, 0, 178, 0, 189, 0, 173, 0, 185, 0, 177, 0, 185, 0, 173, 0, 188, 0, 177, 0, 181, 0, 173, 0, 190, 0, 176, 0, 180, 0, 176, 0, 190, 0, 173, 0, 182, 0, 177, 0, 187, 0, 174, 0, 185, 0, 176, 0, 184, 0, 175, 0, 187, 0, 175, 0, 184, 0, 176, 0, 185, 0, 173, 0, 187, 0, 178, 0, 181, 0, 172, 0, 188, 0, 178, 0, 181, 0, 173, 0, 187, 0, 177, 0, 180, 0, 171, 0, 187, 0, 178, 0, 179, 0, 170, 0, 187, 0, 177, 0, 178, 0, 171, 0, 183, 0, 172, 0, 181, 0, 173, 0, 181, 0, 174, 0, 182, 0, 170, 0, 180, 0, 175, 0, 181, 0, 169, 0, 179, 0, 176, 0, 182, 0, 168, 0, 178, 0, 178, 0, 184, 0, 166, 0, 176, 0, 177, 0, 184, 0, 168, 0, 176, 0, 174, 0, 182, 0, 171, 0, 176, 0, 169, 0, 181, 0, 174, 0, 176, 0, 165, 0, 177, 0, 175, 0, 177, 0, 164, 0, 174, 0, 173, 0, 177, 0, 165, 0, 173, 0, 169, 0, 175, 0, 167, 0, 174, 0, 166, 0, 173, 0, 167, 0, 173, 0, 166, 0, 173, 0, 168, 0, 173, 0, 165, 0, 172, 0, 168, 0, 172, 0, 164, 0, 172, 0, 168, 0, 172, 0, 165, 0, 173, 0, 167, 0, 169, 0, 165, 0, 173, 0, 166, 0, 169, 0, 165, 0, 172, 0, 164, 0, 169, 0, 164, 0, 168, 0, 164, 0, 168, 0, 164, 0, 170, 0, 164, 0, 165, 0, 162, 0, 170, 0, 162, 0, 164, 0, 164, 0, 168, 0, 159, 0, 163, 0, 164, 0, 167, 0, 159, 0, 163, 0, 162, 0, 168, 0, 160, 0, 163, 0, 162, 0, 165, 0, 158, 0, 164, 0, 163, 0, 164, 0, 157, 0, 164, 0, 162, 0, 163, 0, 159, 0, 162, 0, 159, 0, 163, 0, 159, 0, 160, 0, 159, 0, 163, 0, 157, 0, 160, 0, 160, 0, 162, 0, 155, 0, 159, 0, 161, 0, 161, 0, 153, 0, 158, 0, 162, 0, 161, 0, 153, 0, 158, 0, 160, 0, 160, 0, 156, 0, 159, 0, 158, 0, 160, 0, 156, 0, 159, 0, 158, 0, 159, 0, 155, 0, 158, 0, 157, 0, 158, 0, 156, 0, 158, 0, 159, 0, 158, 0, 152, 0, 156, 0, 160, 0, 161, 0, 152, 0, 151, 0, 157, 0, 161, 0, 154, 0, 154, 0, 155, 0, 156, 0, 155, 0, 156, 0, 154, 0, 156, 0, 156, 0, 154, 0, 153, 0, 158, 0, 157, 0, 154, 0, 152, 0, 155, 0, 156, 0, 157, 0, 153, 0, 155, 0, 156, 0, 155, 0, 155, 0, 156, 0, 152, 0, 154, 0, 158, 0, 156, 0, 153, 0, 155, 0, 157, 0, 154, 0, 152, 0, 155, 0, 156, 0, 154, 0, 153, 0, 153, 0, 155, 0, 156, 0, 154, 0, 151, 0, 152, 0, 155, 0, 156, 0, 152, 0, 151, 0, 153, 0, 156, 0, 154, 0, 152, 0, 154, 0, 155, 0, 151, 0, 152, 0, 156, 0, 156, 0, 151, 0, 153, 0, 155, 0, 155, 0, 154, 0, 154, 0, 153, 0, 156, 0, 156, 0, 153, 0, 152, 0, 158, 0, 157, 0, 153, 0, 152, 0, 158, 0, 155, 0, 155, 0, 155, 0, 155, 0, 152, 0, 155, 0, 155, 0, 155, 0, 152, 0, 156, 0, 154, 0, 154, 0, 152, 0, 157, 0, 156, 0, 153, 0, 151, 0, 156, 0, 156, 0, 156, 0, 150, 0, 154, 0, 156, 0, 158, 0, 152, 0, 155, 0, 157, 0, 157, 0, 152, 0, 156, 0, 158, 0, 157, 0, 153, 0, 156, 0, 157, 0, 161, 0, 154, 0, 154, 0, 157, 0, 162, 0, 155, 0, 155, 0, 156, 0, 158, 0, 155, 0, 159, 0, 156, 0, 157, 0, 154, 0, 158, 0, 157, 0, 157, 0, 154, 0, 159, 0, 155, 0, 156, 0, 156, 0, 161, 0, 154, 0, 155, 0, 158, 0, 162, 0, 154, 0, 156, 0, 159, 0, 161, 0, 153, 0, 156, 0, 159, 0, 161, 0, 156, 0, 159, 0, 158, 0, 161, 0, 156, 0, 159, 0, 159, 0, 161, 0, 156, 0, 162, 0, 159, 0, 158, 0, 158, 0, 164, 0, 158, 0, 158, 0, 157, 0, 163, 0, 160, 0, 161, 0, 156, 0, 162, 0, 160, 0, 162, 0, 158, 0, 160, 0, 158, 0, 163, 0, 160, 0, 160, 0, 160, 0, 165, 0, 158, 0, 161, 0, 163, 0, 164, 0, 157, 0, 162, 0, 163, 0, 163, 0, 159, 0, 162, 0, 162, 0, 165, 0, 159, 0, 162, 0, 163, 0, 165, 0, 158, 0, 163, 0, 164, 0, 162, 0, 158, 0, 166, 0, 162, 0, 160, 0, 160, 0, 166, 0, 160, 0, 162, 0, 160, 0, 164, 0, 162, 0, 164, 0, 156, 0, 162, 0, 167, 0, 166, 0, 156, 0, 163, 0, 166, 0, 166, 0, 160, 0, 164, 0, 163, 0, 166, 0, 166, 0, 164, 0, 160, 0, 168, 0, 168, 0, 164, 0, 160, 0, 168, 0, 167, 0, 165, 0, 163, 0, 166, 0, 165, 0, 168, 0, 165, 0, 165, 0, 164, 0, 167, 0, 165, 0, 165, 0, 163, 0, 168, 0, 166, 0, 163, 0, 163, 0, 169, 0, 165, 0, 164, 0, 164, 0, 166, 0, 165, 0, 168, 0, 164, 0, 165, 0, 167, 0, 171, 0, 164, 0, 165, 0, 166, 0, 167, 0, 167, 0, 168, 0, 165, 0, 168, 0, 169, 0, 169, 0, 168, 0, 169, 0, 167, 0, 169, 0, 170, 0, 168, 0, 167, 0, 171, 0, 169, 0, 168, 0, 168, 0, 171, 0, 168, 0, 170, 0, 170, 0, 169, 0, 168, 0, 170, 0, 169, 0, 170, 0, 167, 0, 170, 0, 171, 0, 170, 0, 167, 0, 170, 0, 172, 0, 169, 0, 166, 0, 173, 0, 173, 0, 168, 0, 168, 0, 173, 0, 172, 0, 169, 0, 170, 0, 174, 0, 173, 0, 170, 0, 171, 0, 175, 0, 174, 0, 169, 0, 171, 0, 177, 0, 174, 0, 170, 0, 172, 0, 176, 0, 173, 0, 172, 0, 173, 0, 173, 0, 173, 0, 175, 0, 173, 0, 173, 0, 173, 0, 175, 0, 172, 0, 174, 0, 174, 0, 174, 0, 171, 0, 173, 0, 175, 0, 176, 0, 173, 0, 171, 0, 173, 0, 178, 0, 175, 0, 173, 0, 174, 0, 176, 0, 174, 0, 174, 0, 177, 0, 177, 0, 174, 0, 173, 0, 175, 0, 178, 0, 178, 0, 173, 0, 174, 0, 179, 0, 178, 0, 174, 0, 174, 0, 178, 0, 177, 0, 175, 0, 177, 0, 176, 0, 174, 0, 176, 0, 179, 0, 177, 0, 172, 0, 175, 0, 181, 0, 177, 0, 171, 0, 176, 0, 181, 0, 175, 0, 173, 0, 178, 0, 179, 0, 176, 0, 176, 0, 178, 0, 177, 0, 176, 0, 180, 0, 181, 0, 176, 0, 175, 0, 180, 0, 180, 0, 177, 0, 178, 0, 179, 0, 177, 0, 180, 0, 179, 0, 174, 0, 177, 0, 183, 0, 179, 0, 172, 0, 176, 0, 185, 0, 181, 0, 173, 0, 173, 0, 181, 0, 184, 0, 178, 0, 172, 0, 176, 0, 182, 0, 181, 0, 176, 0, 175, 0, 178, 0, 181, 0, 179, 0, 177, 0, 180, 0, 181, 0, 178, 0, 178, 0, 179, 0, 181, 0, 180, 0, 181, 0, 178, 0, 179, 0, 182, 0, 184, 0, 178, 0, 177, 0, 183, 0, 184, 0, 178, 0, 179, 0, 184, 0, 182, 0, 175, 0, 181, 0, 184, 0, 181, 0, 178, 0, 181, 0, 180, 0, 181, 0, 182, 0, 179, 0, 177, 0, 183, 0, 183, 0, 178, 0, 178, 0, 184, 0, 184, 0, 180, 0, 179, 0, 184, 0, 183, 0, 181, 0, 183, 0, 184, 0, 180, 0, 181, 0, 185, 0, 187, 0, 182, 0, 181, 0, 183, 0, 187, 0, 185, 0, 181, 0, 183, 0, 187, 0, 183, 0, 184, 0, 186, 0, 184, 0, 182, 0, 185, 0, 185, 0, 184, 0, 183, 0, 184, 0, 184, 0, 185, 0, 185, 0, 185, 0, 183, 0, 183, 0, 186, 0, 187, 0, 180, 0, 184, 0, 189, 0, 186, 0, 181, 0, 187, 0, 190, 0, 185, 0, 182, 0, 188, 0, 188, 0, 186, 0, 186, 0, 188, 0, 186, 0, 188, 0, 187, 0, 189, 0, 188, 0, 190, 0, 188, 0, 187, 0, 188, 0, 190, 0, 188, 0, 188, 0, 188, 0, 189, 0, 188, 0, 192, 0, 189, 0, 187, 0, 187, 0, 193, 0, 190, 0, 188, 0, 186, 0, 190, 0, 193, 0, 193, 0, 186, 0, 186, 0, 191, 0, 196, 0, 189, 0, 186, 0, 188, 0, 197, 0, 193, 0, 187, 0, 188, 0, 197, 0, 192, 0, 190, 0, 190, 0, 195, 0, 193, 0, 193, 0, 192, 0, 194, 0, 193, 0, 195, 0, 192, 0, 196, 0, 194, 0, 193, 0, 192, 0, 197, 0, 193, 0, 193, 0, 195, 0, 198, 0, 191, 0, 195, 0, 197, 0, 196, 0, 192, 0, 196, 0, 194, 0, 196, 0, 196, 0, 198, 0, 191, 0, 196, 0, 197, 0, 199, 0, 193, 0, 196, 0, 196, 0, 199, 0, 195, 0, 199, 0, 195, 0, 197, 0, 195, 0, 201, 0, 197, 0, 196, 0, 195, 0, 201, 0, 196, 0, 197, 0, 196, 0, 201, 0, 195, 0, 198, 0, 197, 0, 200, 0, 195, 0, 199, 0, 197, 0, 199, 0, 194, 0, 199, 0, 199, 0, 199, 0, 193, 0, 199, 0, 198, 0, 201, 0, 195, 0, 198, 0, 194, 0, 202, 0, 198, 0, 198, 0, 194, 0, 202, 0, 197, 0, 201, 0, 196, 0, 202, 0, 195, 0, 200, 0, 196, 0, 203, 0, 196, 0, 200, 0, 198, 0, 204, 0, 194, 0, 200, 0, 197, 0, 201, 0, 195, 0, 202, 0, 195, 0, 199, 0, 195, 0, 202, 0, 193, 0, 199, 0, 194, 0, 199, 0, 194, 0, 200, 0, 192, 0, 200, 0, 194, 0, 199, 0, 192, 0, 199, 0, 192, 0, 200, 0, 193, 0, 199, 0, 191, 0, 200, 0, 193, 0, 201, 0, 190, 0, 199, 0, 194, 0, 202, 0, 190, 0, 201, 0, 192, 0, 200, 0, 193, 0, 203, 0, 190, 0, 199, 0, 193, 0, 201, 0, 190, 0, 201, 0, 191, 0, 197, 0, 190, 0, 203, 0, 189, 0, 196, 0, 188, 0, 201, 0, 187, 0, 196, 0, 188, 0, 199, 0, 187, 0, 197, 0, 186, 0, 198, 0, 186, 0, 197, 0, 185, 0, 197, 0, 185, 0, 198, 0, 185, 0, 198, 0, 183, 0, 197, 0, 187, 0, 197, 0, 182, 0, 198, 0, 185, 0, 196, 0, 182, 0, 199, 0, 184, 0, 195, 0, 181, 0, 198, 0, 185, 0, 195, 0, 177, 0, 197, 0, 185, 0, 193, 0, 177, 0, 198, 0, 183, 0, 193, 0, 178, 0, 196, 0, 180, 0, 192, 0, 177, 0, 194, 0, 179, 0, 193, 0, 176, 0, 193, 0, 177, 0, 192, 0, 175, 0, 192, 0, 175, 0, 193, 0, 175, 0, 192, 0, 175, 0, 192, 0, 172, 0, 192, 0, 175, 0, 191, 0, 171, 0, 192, 0, 173, 0, 189, 0, 171, 0, 192, 0, 171, 0, 189, 0, 171, 0, 188, 0, 169, 0, 191, 0, 169, 0, 185, 0, 168, 0, 192, 0, 168, 0, 184, 0, 167, 0, 189, 0, 166, 0, 185, 0, 165, 0, 187, 0, 164, 0, 186, 0, 166, 0, 186, 0, 161, 0, 184, 0, 166, 0, 185, 0, 158, 0, 184, 0, 164, 0, 184, 0, 160, 0, 185, 0, 159, 0, 181, 0, 161, 0, 184, 0, 157, 0, 179, 0, 157, 0, 183, 0, 159, 0, 177, 0, 152, 0, 184, 0, 158, 0, 175, 0, 151, 0, 180, 0, 153, 0, 176, 0, 155, 0, 176, 0, 147, 0, 176, 0, 154, 0, 176, 0, 146, 0, 174, 0, 151, 0, 176, 0, 147, 0, 173, 0, 148, 0, 175, 0, 145, 0, 174, 0, 147, 0, 171, 0, 144, 0, 177, 0, 145, 0, 167, 0, 143, 0, 177, 0, 143, 0, 165, 0, 143, 0, 176, 0, 140, 0, 163, 0, 140, 0, 174, 0, 138, 0, 162, 0, 137, 0, 168, 0, 136, 0, 164, 0, 135, 0, 165, 0, 133, 0, 164, 0, 134, 0, 163, 0, 130, 0, 160, 0, 132, 0, 162, 0, 127, 0, 159, 0, 130, 0, 161, 0, 125, 0, 156, 0, 128, 0, 161, 0, 124, 0, 154, 0, 125, 0, 162, 0, 122, 0, 151, 0, 123, 0, 160, 0, 121, 0, 149, 0, 121, 0, 159, 0, 120, 0, 149, 0, 117, 0, 153, 0, 119, 0, 151, 0, 114, 0, 147, 0, 116, 0, 152, 0, 112, 0, 144, 0, 112, 0, 148, 0, 111, 0, 143, 0, 110, 0, 146, 0, 106, 0, 141, 0, 109, 0, 145, 0, 104, 0, 137, 0, 106, 0, 143, 0, 103, 0, 137, 0, 101, 0, 140, 0, 103, 0, 138, 0, 99, 0, 136, 0, 101, 0, 140, 0, 97, 0, 133, 0, 100, 0, 138, 0, 94, 0, 131, 0, 99, 0, 136, 0, 91, 0, 130, 0, 96, 0, 131, 0, 91, 0, 129, 0, 89, 0, 128, 0, 91, 0, 127, 0, 87, 0, 125, 0, 85, 0, 125, 0, 87, 0, 122, 0, 81, 0, 124, 0, 86, 0, 120, 0, 79, 0, 120, 0, 81, 0, 119, 0, 80, 0, 119, 0, 75, 0, 116, 0, 81, 0, 120, 0, 72, 0, 111, 0, 77, 0, 119, 0, 72, 0, 111, 0, 74, 0, 114, 0, 69, 0, 111, 0, 74, 0, 109, 0, 66, 0, 110, 0, 70, 0, 107, 0, 64, 0, 107, 0, 67, 0, 106, 0, 63, 0, 103, 0, 64, 0, 104, 0, 62, 0, 103, 0, 61, 0, 99, 0, 61, 0, 103, 0, 58, 0, 97, 0, 61, 0, 101, 0, 53, 0, 96, 0, 59, 0, 99, 0, 53, 0, 94, 0, 53, 0, 95, 0, 55, 0, 94, 0, 48, 0, 91, 0, 54, 0, 91, 0, 46, 0, 89, 0, 50, 0, 87, 0, 45, 0, 88, 0, 46, 0, 84, 0, 43, 0, 85, 0, 42, 0, 81, 0, 42, 0, 82, 0, 40, 0, 81, 0, 39, 0, 79, 0, 37, 0, 79, 0, 38, 0, 76, 0, 35, 0, 77, 0, 36, 0, 76, 0, 33, 0, 74, 0, 35, 0, 76, 0, 31, 0, 71, 0, 34, 0, 74, 0, 29, 0, 71, 0, 30, 0, 70, 0, 30, 0, 69, 0, 24, 0, 66, 0, 29, 0, 66, 0, 22, 0, 63, 0, 25, 0, 63, 0, 22, 0, 59, 0, 19, 0, 61, 0, 21, 0, 57, 0, 15, 0, 59, 0, 20, 0, 54, 0, 14, 0, 55, 0, 15, 0, 54, 0, 16, 0, 52, 0, 10, 0, 51, 0, 13, 0, 52, 0, 10, 0, 47, 0, 10, 0, 52, 0, 8, 0, 44, 0, 9, 0, 49, 0, 5, 0, 43, 0, 9, 0, 45, 0, 2, 0, 42, 0, 7, 0, 39, 0, 254, 255, 42, 0, 5, 0, 35, 0, 252, 255, 38, 0, 0, 0, 33, 0, 252, 255, 33, 0, 251, 255, 32, 0, 251, 255, 27, 0, 248, 255, 33, 0, 246, 255, 23, 0, 247, 255, 30, 0, 243, 255, 23, 0, 247, 255, 25, 0, 242, 255, 22, 0, 240, 255, 21, 0, 243, 255, 23, 0, 238, 255, 15, 0, 241, 255, 22, 0, 236, 255, 12, 0, 237, 255, 18, 0, 234, 255, 11, 0, 235, 255, 12, 0, 231, 255, 11, 0, 236, 255, 9, 0, 226, 255, 8, 0, 235, 255, 5, 0, 221, 255, 6, 0, 235, 255, 3, 0, 220, 255, 2, 0, 228, 255, 2, 0, 222, 255, 253, 255, 224, 255, 2, 0, 221, 255, 251, 255, 222, 255, 253, 255, 218, 255, 249, 255, 219, 255, 250, 255, 217, 255, 247, 255, 215, 255, 246, 255, 216, 255, 243, 255, 212, 255, 244, 255, 213, 255, 240, 255, 210, 255, 240, 255, 209, 255, 239, 255, 207, 255, 234, 255, 208, 255, 238, 255, 203, 255, 232, 255, 207, 255, 232, 255, 201, 255, 233, 255, 205, 255, 227, 255, 198, 255, 231, 255, 202, 255, 225, 255, 198, 255, 228, 255, 198, 255, 223, 255, 197, 255, 225, 255, 196, 255, 222, 255, 195, 255, 221, 255, 196, 255, 223, 255, 192, 255, 214, 255, 194, 255, 223, 255, 190, 255, 212, 255, 192, 255, 217, 255, 185, 255, 210, 255, 190, 255, 213, 255, 184, 255, 208, 255, 184, 255, 210, 255, 186, 255, 204, 255, 177, 255, 206, 255, 187, 255, 204, 255, 175, 255, 200, 255, 182, 255, 202, 255, 175, 255, 199, 255, 179, 255, 199, 255, 176, 255, 199, 255, 174, 255, 198, 255, 178, 255, 194, 255, 170, 255, 197, 255, 175, 255, 191, 255, 171, 255, 193, 255, 172, 255, 193, 255, 171, 255, 186, 255, 168, 255, 192, 255, 168, 255, 183, 255, 168, 255, 187, 255, 164, 255, 183, 255, 167, 255, 182, 255, 162, 255, 181, 255, 163, 255, 176, 255, 161, 255, 182, 255, 158, 255, 173, 255, 161, 255, 177, 255, 155, 255, 174, 255, 158, 255, 174, 255, 157, 255, 173, 255, 155, 255, 172, 255, 157, 255, 170, 255, 153, 255, 171, 255, 153, 255, 168, 255, 154, 255, 168, 255, 152, 255, 166, 255, 152, 255, 165, 255, 151, 255, 164, 255, 148, 255, 163, 255, 152, 255, 161, 255, 145, 255, 159, 255, 149, 255, 160, 255, 146, 255, 156, 255, 144, 255, 157, 255, 145, 255, 153, 255, 142, 255, 155, 255, 142, 255, 151, 255, 143, 255, 153, 255, 138, 255, 150, 255, 142, 255, 150, 255, 139, 255, 147, 255, 136, 255, 151, 255, 142, 255, 144, 255, 134, 255, 148, 255, 139, 255, 144, 255, 136, 255, 143, 255, 134, 255, 144, 255, 136, 255, 140, 255, 134, 255, 143, 255, 134, 255, 137, 255, 131, 255, 139, 255, 133, 255, 136, 255, 130, 255, 137, 255, 130, 255, 132, 255, 129, 255, 138, 255, 129, 255, 130, 255, 127, 255, 133, 255, 131, 255, 132, 255, 122, 255, 128, 255, 130, 255, 132, 255, 123, 255, 128, 255, 127, 255, 128, 255, 122, 255, 127, 255, 126, 255, 127, 255, 120, 255, 126, 255, 126, 255, 124, 255, 119, 255, 124, 255, 123, 255, 121, 255, 120, 255, 124, 255, 121, 255, 118, 255, 118, 255, 122, 255, 121, 255, 116, 255, 116, 255, 120, 255, 121, 255, 116, 255, 114, 255, 117, 255, 119, 255, 113, 255, 113, 255, 117, 255, 121, 255, 112, 255, 109, 255, 115, 255, 120, 255, 114, 255, 110, 255, 111, 255, 117, 255, 114, 255, 113, 255, 109, 255, 113, 255, 112, 255, 113, 255, 110, 255, 112, 255, 109, 255, 113, 255, 110, 255, 111, 255, 107, 255, 111, 255, 106, 255, 109, 255, 108, 255, 111, 255, 102, 255, 108, 255, 108, 255, 110, 255, 100, 255, 108, 255, 107, 255, 107, 255, 99, 255, 109, 255, 106, 255, 105, 255, 98, 255, 108, 255, 105, 255, 106, 255, 99, 255, 107, 255, 102, 255, 107, 255, 101, 255, 105, 255, 100, 255, 107, 255, 102, 255, 105, 255, 99, 255, 107, 255, 99, 255, 105, 255, 100, 255, 106, 255, 99, 255, 104, 255, 98, 255, 104, 255, 98, 255, 106, 255, 96, 255, 100, 255, 97, 255, 108, 255, 95, 255, 99, 255, 96, 255, 105, 255, 95, 255, 101, 255, 94, 255, 102, 255, 96, 255, 100, 255, 92, 255, 105, 255, 95, 255, 96, 255, 93, 255, 106, 255, 93, 255, 100, 255, 97, 255, 102, 255, 91, 255, 105, 255, 96, 255, 98, 255, 94, 255, 107, 255, 94, 255, 100, 255, 97, 255, 104, 255, 92, 255, 102, 255, 94, 255, 103, 255, 96, 255, 102, 255, 89, 255, 104, 255, 100, 255, 100, 255, 86, 255, 105, 255, 100, 255, 101, 255, 87, 255, 103, 255, 98, 255, 101, 255, 90, 255, 105, 255, 95, 255, 99, 255, 92, 255, 107, 255, 94, 255, 99, 255, 95, 255, 107, 255, 93, 255, 102, 255, 97, 255, 105, 255, 93, 255, 103, 255, 96, 255, 104, 255, 96, 255, 106, 255, 94, 255, 104, 255, 98, 255, 107, 255, 95, 255, 104, 255, 95, 255, 108, 255, 98, 255, 103, 255, 93, 255, 107, 255, 98, 255, 107, 255, 94, 255, 104, 255, 97, 255, 108, 255, 97, 255, 106, 255, 97, 255, 104, 255, 96, 255, 110, 255, 101, 255, 105, 255, 95, 255, 108, 255, 102, 255, 110, 255, 99, 255, 106, 255, 98, 255, 112, 255, 105, 255, 109, 255, 96, 255, 110, 255, 105, 255, 112, 255, 99, 255, 111, 255, 103, 255, 112, 255, 102, 255, 111, 255, 103, 255, 113, 255, 105, 255, 111, 255, 99, 255, 114, 255, 108, 255, 113, 255, 98, 255, 112, 255, 108, 255, 113, 255, 102, 255, 114, 255, 106, 255, 113, 255, 105, 255, 116, 255, 105, 255, 112, 255, 108, 255, 118, 255, 105, 255, 113, 255, 112, 255, 119, 255, 103, 255, 114, 255, 116, 255, 120, 255, 104, 255, 118, 255, 114, 255, 118, 255, 110, 255, 121, 255, 111, 255, 116, 255, 114, 255, 122, 255, 110, 255, 120, 255, 113, 255, 119, 255, 113, 255, 122, 255, 112, 255, 119, 255, 115, 255, 121, 255, 112, 255, 121, 255, 115, 255, 120, 255, 116, 255, 122, 255, 112, 255, 123, 255, 120, 255, 119, 255, 112, 255, 126, 255, 121, 255, 121, 255, 113, 255, 126, 255, 123, 255, 124, 255, 116, 255, 124, 255, 122, 255, 126, 255, 119, 255, 127, 255, 122, 255, 126, 255, 122, 255, 128, 255, 120, 255, 125, 255, 125, 255, 130, 255, 119, 255, 126, 255, 127, 255, 129, 255, 120, 255, 129, 255, 125, 255, 128, 255, 125, 255, 130, 255, 123, 255, 130, 255, 128, 255, 128, 255, 124, 255, 134, 255, 128, 255, 127, 255, 127, 255, 135, 255, 128, 255, 129, 255, 130, 255, 135, 255, 129, 255, 132, 255, 133, 255, 133, 255, 128, 255, 135, 255, 136, 255, 134, 255, 129, 255, 136, 255, 136, 255, 134, 255, 130, 255, 137, 255, 136, 255, 133, 255, 133, 255, 140, 255, 133, 255, 133, 255, 139, 255, 140, 255, 129, 255, 134, 255, 143, 255, 139, 255, 130, 255, 136, 255, 141, 255, 137, 255, 136, 255, 138, 255, 137, 255, 138, 255, 141, 255, 139, 255, 138, 255, 138, 255, 140, 255, 140, 255, 143, 255, 140, 255, 140, 255, 141, 255, 145, 255, 141, 255, 141, 255, 142, 255, 146, 255, 143, 255, 143, 255, 140, 255, 147, 255, 145, 255, 144, 255, 141, 255, 147, 255, 144, 255, 144, 255, 144, 255, 149, 255, 144, 255, 145, 255, 142, 255, 150, 255, 148, 255, 145, 255, 141, 255, 153, 255, 148, 255, 148, 255, 145, 255, 151, 255, 146, 255, 152, 255, 147, 255, 151, 255, 147, 255, 154, 255, 147, 255, 155, 255, 149, 255, 154, 255, 148, 255, 156, 255, 148, 255, 156, 255, 151, 255, 156, 255, 147, 255, 159, 255, 153, 255, 155, 255, 149, 255, 161, 255, 149, 255, 155, 255, 152, 255, 163, 255, 150, 255, 156, 255, 152, 255, 163, 255, 150, 255, 158, 255, 152, 255, 163, 255, 153, 255, 160, 255, 151, 255, 165, 255, 155, 255, 162, 255, 152, 255, 167, 255, 154, 255, 164, 255, 157, 255, 167, 255, 150, 255, 166, 255, 160, 255, 170, 255, 153, 255, 166, 255, 157, 255, 173, 255, 157, 255, 168, 255, 154, 255, 172, 255, 160, 255, 169, 255, 155, 255, 174, 255, 160, 255, 170, 255, 155, 255, 174, 255, 160, 255, 171, 255, 155, 255, 173, 255, 161, 255, 176, 255, 157, 255, 172, 255, 161, 255, 176, 255, 157, 255, 176, 255, 162, 255, 177, 255, 160, 255, 179, 255, 160, 255, 178, 255, 165, 255, 181, 255, 159, 255, 180, 255, 167, 255, 184, 255, 161, 255, 181, 255, 165, 255, 183, 255, 166, 255, 184, 255, 163, 255, 184, 255, 166, 255, 184, 255, 164, 255, 185, 255, 166, 255, 185, 255, 165, 255, 184, 255, 165, 255, 187, 255, 165, 255, 186, 255, 166, 255, 187, 255, 164, 255, 186, 255, 168, 255, 189, 255, 164, 255, 187, 255, 169, 255, 192, 255, 165, 255, 187, 255, 170, 255, 194, 255, 165, 255, 189, 255, 173, 255, 195, 255, 166, 255, 191, 255, 173, 255, 196, 255, 168, 255, 193, 255, 172, 255, 197, 255, 170, 255, 196, 255, 174, 255, 198, 255, 171, 255, 198, 255, 174, 255, 197, 255, 173, 255, 200, 255, 172, 255, 198, 255, 174, 255, 201, 255, 173, 255, 199, 255, 173, 255, 200, 255, 176, 255, 201, 255, 173, 255, 201, 255, 176, 255, 203, 255, 176, 255, 201, 255, 175, 255, 205, 255, 177, 255, 202, 255, 176, 255, 207, 255, 178, 255, 204, 255, 177, 255, 208, 255, 179, 255, 204, 255, 178, 255, 210, 255, 180, 255, 207, 255, 181, 255, 209, 255, 178, 255, 210, 255, 183, 255, 208, 255, 179, 255, 212, 255, 183, 255, 210, 255, 179, 255, 213, 255, 185, 255, 209, 255, 179, 255, 215, 255, 187, 255, 210, 255, 181, 255, 215, 255, 183, 255, 215, 255, 186, 255, 215, 255, 181, 255, 217, 255, 189, 255, 216, 255, 184, 255, 217, 255, 188, 255, 217, 255, 186, 255, 221, 255, 189, 255, 217, 255, 186, 255, 221, 255, 190, 255, 220, 255, 188, 255, 219, 255, 190, 255, 223, 255, 189, 255, 219, 255, 188, 255, 223, 255, 192, 255, 220, 255, 188, 255, 224, 255, 191, 255, 220, 255, 189, 255, 225, 255, 192, 255, 222, 255, 192, 255, 225, 255, 192, 255, 226, 255, 193, 255, 224, 255, 192, 255, 229, 255, 195, 255, 224, 255, 196, 255, 230, 255, 193, 255, 228, 255, 198, 255, 228, 255, 193, 255, 231, 255, 199, 255, 228, 255, 195, 255, 232, 255, 200, 255, 227, 255, 194, 255, 233, 255, 200, 255, 226, 255, 194, 255, 235, 255, 201, 255, 226, 255, 193, 255, 235, 255, 202, 255, 227, 255, 195, 255, 235, 255, 200, 255, 230, 255, 198, 255, 233, 255, 200, 255, 233, 255, 200, 255, 233, 255, 198, 255, 235, 255, 203, 255, 237, 255, 199, 255, 233, 255, 204, 255, 239, 255, 202, 255, 234, 255, 203, 255, 240, 255, 204, 255, 236, 255, 205, 255, 240, 255, 203, 255, 238, 255, 206, 255, 240, 255, 204, 255, 238, 255, 205, 255, 240, 255, 206, 255, 238, 255, 204, 255, 240, 255, 207, 255, 238, 255, 203, 255, 240, 255, 206, 255, 239, 255, 206, 255, 241, 255, 206, 255, 240, 255, 207, 255, 240, 255, 207, 255, 242, 255, 206, 255, 240, 255, 207, 255, 246, 255, 209, 255, 239, 255, 207, 255, 248, 255, 210, 255, 238, 255, 208, 255, 249, 255, 207, 255, 240, 255, 212, 255, 245, 255, 206, 255, 245, 255, 212, 255, 242, 255, 208, 255, 247, 255, 211, 255, 244, 255, 210, 255, 245, 255, 209, 255, 247, 255, 214, 255, 243, 255, 208, 255, 246, 255, 214, 255, 246, 255, 209, 255, 245, 255, 213, 255, 246, 255, 211, 255, 247, 255, 212, 255, 246, 255, 212, 255, 247, 255, 213, 255, 250, 255, 213, 255, 244, 255, 213, 255, 251, 255, 214, 255, 246, 255, 212, 255, 250, 255, 216, 255, 247, 255, 213, 255, 248, 255, 214, 255, 248, 255, 215, 255, 247, 255, 212, 255, 249, 255, 217, 255, 245, 255, 211, 255, 249, 255, 216, 255, 246, 255, 212, 255, 248, 255, 216, 255, 247, 255, 215, 255, 248, 255, 213, 255, 248, 255, 216, 255, 251, 255, 216, 255, 245, 255, 214, 255, 253, 255, 219, 255, 246, 255, 212, 255, 252, 255, 221, 255, 247, 255, 215, 255, 251, 255, 217, 255, 250, 255, 219, 255, 251, 255, 214, 255, 249, 255, 221, 255, 250, 255, 216, 255, 248, 255, 218, 255, 249, 255, 217, 255, 250, 255, 218, 255, 248, 255, 218, 255, 252, 255, 218, 255, 245, 255, 219, 255, 254, 255, 217, 255, 246, 255, 221, 255, 254, 255, 218, 255, 248, 255, 221, 255, 251, 255, 220, 255, 252, 255, 220, 255, 249, 255, 222, 255, 254, 255, 221, 255, 251, 255, 221, 255, 252, 255, 224, 255, 253, 255, 219, 255, 250, 255, 226, 255, 254, 255, 218, 255, 250, 255, 226, 255, 252, 255, 220, 255, 251, 255, 224, 255, 252, 255, 222, 255, 252, 255, 224, 255, 251, 255, 222, 255, 251, 255, 225, 255, 254, 255, 223, 255, 250, 255, 226, 255, 254, 255, 223, 255, 251, 255, 228, 255, 253, 255, 224, 255, 255, 255, 227, 255, 253, 255, 227, 255, 254, 255, 227, 255, 254, 255, 227, 255, 255, 255, 229, 255, 255, 255, 228, 255, 0, 0, 228, 255, 252, 255, 229, 255, 0, 0, 227, 255, 253, 255, 230, 255, 255, 255, 229, 255, 254, 255, 229, 255, 253, 255, 229, 255, 255, 255, 228, 255, 253, 255, 233, 255, 0, 0, 226, 255, 254, 255, 234, 255, 255, 255, 226, 255, 255, 255, 235, 255, 255, 255, 230, 255, 1, 0, 233, 255, 254, 255, 234, 255, 4, 0, 231, 255, 253, 255, 238, 255, 6, 0, 231, 255, 253, 255, 238, 255, 5, 0, 233, 255, 0, 0, 237, 255, 1, 0, 236, 255, 4, 0, 236, 255, 254, 255, 236, 255, 5, 0, 235, 255, 254, 255, 237, 255, 5, 0, 236, 255, 254, 255, 238, 255, 6, 0, 236, 255, 254, 255, 238, 255, 4, 0, 239, 255, 2, 0, 238, 255, 2, 0, 240, 255, 4, 0, 239, 255, 2, 0, 240, 255, 5, 0, 239, 255, 2, 0, 242, 255, 5, 0, 238, 255, 2, 0, 245, 255, 6, 0, 238, 255, 1, 0, 242, 255, 6, 0, 242, 255, 2, 0, 238, 255, 3, 0, 245, 255, 6, 0, 239, 255, 1, 0, 243, 255, 6, 0, 242, 255, 3, 0, 241, 255, 5, 0, 244, 255, 4, 0, 241, 255, 6, 0, 246, 255, 5, 0, 242, 255, 6, 0, 246, 255, 8, 0, 244, 255, 4, 0, 244, 255, 10, 0, 247, 255, 5, 0, 245, 255, 10, 0, 248, 255, 6, 0, 244, 255, 8, 0, 249, 255, 9, 0, 243, 255, 5, 0, 251, 255, 9, 0, 243, 255, 6, 0, 250, 255, 7, 0, 245, 255, 9, 0, 247, 255, 7, 0, 250, 255, 7, 0, 245, 255, 8, 0, 250, 255, 6, 0, 246, 255, 11, 0, 249, 255, 7, 0, 250, 255, 9, 0, 249, 255, 11, 0, 250, 255, 9, 0, 250, 255, 11, 0, 251, 255, 11, 0, 251, 255, 10, 0, 252, 255, 13, 0, 252, 255, 13, 0, 253, 255, 10, 0, 251, 255, 14, 0, 1, 0, 12, 0, 249, 255, 13, 0, 2, 0, 11, 0, 250, 255, 13, 0, 0, 0, 12, 0, 252, 255, 14, 0, 255, 255, 12, 0, 253, 255, 15, 0, 0, 0, 13, 0, 253, 255, 15, 0, 0, 0, 15, 0, 255, 255, 12, 0, 255, 255, 19, 0, 3, 0, 14, 0, 254, 255, 18, 0, 4, 0, 16, 0, 1, 0, 16, 0, 2, 0, 19, 0, 3, 0, 17, 0, 4, 0, 18, 0, 2, 0, 18, 0, 4, 0, 18, 0, 4, 0, 18, 0, 4, 0, 19, 0, 5, 0, 19, 0, 4, 0, 20, 0, 6, 0, 18, 0, 4, 0, 21, 0, 6, 0, 20, 0, 6, 0, 20, 0, 7, 0, 22, 0, 6, 0, 19, 0, 8, 0, 24, 0, 8, 0, 20, 0, 7, 0, 25, 0, 9, 0, 21, 0, 9, 0, 25, 0, 8, 0, 21, 0, 12, 0, 26, 0, 7, 0, 23, 0, 11, 0, 24, 0, 11, 0, 25, 0, 8, 0, 22, 0, 14, 0, 27, 0, 7, 0, 23, 0, 14, 0, 26, 0, 8, 0, 25, 0, 14, 0, 25, 0, 10, 0, 28, 0, 14, 0, 27, 0, 14, 0, 28, 0, 12, 0, 29, 0, 17, 0, 28, 0, 13, 0, 29, 0, 16, 0, 31, 0, 16, 0, 28, 0, 15, 0, 31, 0, 16, 0, 31, 0, 18, 0, 29, 0, 13, 0, 33, 0, 21, 0, 28, 0, 13, 0, 33, 0, 19, 0, 29, 0, 17, 0, 31, 0, 14, 0, 32, 0, 22, 0, 29, 0, 12, 0, 31, 0, 24, 0, 32, 0, 13, 0, 30, 0, 21, 0, 35, 0, 17, 0, 30, 0, 21, 0, 34, 0, 18, 0, 34, 0, 22, 0, 33, 0, 19, 0, 36, 0, 21, 0, 32, 0, 23, 0, 35, 0, 20, 0, 37, 0, 21, 0, 31, 0, 24, 0, 37, 0, 19, 0, 35, 0, 26, 0, 34, 0, 21, 0, 39, 0, 22, 0, 33, 0, 24, 0, 37, 0, 22, 0, 35, 0, 24, 0, 36, 0, 23, 0, 36, 0, 22, 0, 36, 0, 24, 0, 35, 0, 23, 0, 38, 0, 25, 0, 34, 0, 22, 0, 38, 0, 27, 0, 37, 0, 21, 0, 37, 0, 27, 0, 39, 0, 24, 0, 35, 0, 25, 0, 39, 0, 26, 0, 38, 0, 24, 0, 38, 0, 25, 0, 37, 0, 25, 0, 38, 0, 23, 0, 35, 0, 28, 0, 40, 0, 20, 0, 35, 0, 31, 0, 39, 0, 20, 0, 37, 0, 29, 0, 37, 0, 22, 0, 38, 0, 26, 0, 36, 0, 25, 0, 40, 0, 27, 0, 37, 0, 25, 0, 39, 0, 27, 0, 38, 0, 25, 0, 38, 0, 28, 0, 39, 0, 26, 0, 38, 0, 25, 0, 39, 0, 28, 0, 36, 0, 24, 0, 40, 0, 28, 0, 36, 0, 24, 0, 39, 0, 28, 0, 37, 0, 24, 0, 37, 0, 28, 0, 38, 0, 23, 0, 36, 0, 27, 0, 38, 0, 26, 0, 37, 0, 27, 0, 38, 0, 24, 0, 38, 0, 28, 0, 38, 0, 25, 0, 37, 0, 26, 0, 40, 0, 27, 0, 38, 0, 25, 0, 40, 0, 28, 0, 36, 0, 27, 0, 42, 0, 27, 0, 35, 0, 26, 0, 42, 0, 28, 0, 36, 0, 25, 0, 38, 0, 27, 0, 39, 0, 25, 0, 35, 0, 25, 0, 39, 0, 26, 0, 36, 0, 25, 0, 37, 0, 26, 0, 38, 0, 23, 0, 36, 0, 27, 0, 37, 0, 23, 0, 39, 0, 28, 0, 36, 0, 26, 0, 39, 0, 25, 0, 38, 0, 28, 0, 37, 0, 24, 0, 42, 0, 29, 0, 35, 0, 26, 0, 43, 0, 27, 0, 36, 0, 27, 0, 41, 0, 26, 0, 37, 0, 29, 0, 41, 0, 25, 0, 36, 0, 28, 0, 43, 0, 26, 0, 35, 0, 26, 0, 41, 0, 27, 0, 37, 0, 25, 0, 39, 0, 29, 0, 40, 0, 25, 0, 38, 0, 28, 0, 40, 0, 26, 0, 41, 0, 27, 0, 38, 0, 29, 0, 43, 0, 25, 0, 37, 0, 30, 0, 44, 0, 26, 0, 38, 0, 29, 0, 41, 0, 27, 0, 40, 0, 28, 0, 40, 0, 26, 0, 40, 0, 31, 0, 40, 0, 25, 0, 41, 0, 29, 0, 39, 0, 25, 0, 41, 0, 28, 0, 40, 0, 28, 0, 39, 0, 26, 0, 41, 0, 29, 0, 40, 0, 26, 0, 39, 0, 28, 0, 44, 0, 28, 0, 37, 0, 27, 0, 44, 0, 30, 0, 39, 0, 26, 0, 42, 0, 30, 0, 43, 0, 28, 0, 41, 0, 29, 0, 42, 0, 30, 0, 42, 0, 28, 0, 42, 0, 31, 0, 42, 0, 27, 0, 43, 0, 32, 0, 40, 0, 25, 0, 45, 0, 34, 0, 40, 0, 25, 0, 44, 0, 32, 0, 41, 0, 28, 0, 44, 0, 30, 0, 39, 0, 30, 0, 46, 0, 29, 0, 40, 0, 32, 0, 45, 0, 31, 0, 44, 0, 30, 0, 41, 0, 33, 0, 48, 0, 29, 0, 40, 0, 33, 0, 50, 0, 32, 0, 40, 0, 30, 0, 48, 0, 35, 0, 42, 0, 30, 0, 46, 0, 33, 0, 44, 0, 32, 0, 44, 0, 31, 0, 45, 0, 34, 0, 45, 0, 30, 0, 43, 0, 35, 0, 46, 0, 30, 0, 44, 0, 36, 0, 47, 0, 31, 0, 45, 0, 36, 0, 47, 0, 33, 0, 44, 0, 35, 0, 48, 0, 34, 0, 47, 0, 35, 0, 47, 0, 36, 0, 48, 0, 37, 0, 48, 0, 35, 0, 47, 0, 37, 0, 49, 0, 36, 0, 47, 0, 37, 0, 49, 0, 40, 0, 49, 0, 33, 0, 48, 0, 42, 0, 50, 0, 34, 0, 49, 0, 40, 0, 48, 0, 39, 0, 52, 0, 36, 0, 48, 0, 42, 0, 52, 0, 36, 0, 50, 0, 44, 0, 51, 0, 36, 0, 52, 0, 45, 0, 51, 0, 38, 0, 53, 0, 43, 0, 54, 0, 42, 0, 52, 0, 44, 0, 55, 0, 42, 0, 52, 0, 45, 0, 53, 0, 41, 0, 54, 0, 45, 0, 54, 0, 45, 0, 53, 0, 41, 0, 55, 0, 48, 0, 53, 0, 40, 0, 54, 0, 48, 0, 55, 0, 42, 0, 52, 0, 47, 0, 59, 0, 45, 0, 52, 0, 48, 0, 58, 0, 45, 0, 56, 0, 48, 0, 55, 0, 48, 0, 59, 0, 48, 0, 58, 0, 50, 0, 58, 0, 49, 0, 61, 0, 50, 0, 57, 0, 50, 0, 63, 0, 53, 0, 58, 0, 50, 0, 63, 0, 54, 0, 59, 0, 51, 0, 61, 0, 53, 0, 62, 0, 52, 0, 60, 0, 54, 0, 60, 0, 52, 0, 63, 0, 54, 0, 58, 0, 54, 0, 66, 0, 54, 0, 58, 0, 54, 0, 65, 0, 55, 0, 61, 0, 55, 0, 65, 0, 57, 0, 63, 0, 56, 0, 64, 0, 58, 0, 65, 0, 57, 0, 66, 0, 61, 0, 65, 0, 56, 0, 67, 0, 62, 0, 65, 0, 57, 0, 68, 0, 62, 0, 66, 0, 58, 0, 69, 0, 64, 0, 67, 0, 59, 0, 68, 0, 63, 0, 68, 0, 62, 0, 70, 0, 61, 0, 66, 0, 63, 0, 73, 0, 65, 0, 66, 0, 59, 0, 72, 0, 69, 0, 70, 0, 59, 0, 71, 0, 69, 0, 71, 0, 62, 0, 72, 0, 69, 0, 72, 0, 64, 0, 73, 0, 70, 0, 74, 0, 66, 0, 72, 0, 70, 0, 76, 0, 66, 0, 73, 0, 72, 0, 75, 0, 66, 0, 75, 0, 74, 0, 75, 0, 66, 0, 75, 0, 73, 0, 75, 0, 67, 0, 75, 0, 72, 0, 75, 0, 71, 0, 77, 0, 71, 0, 76, 0, 72, 0, 76, 0, 71, 0, 79, 0, 73, 0, 74, 0, 71, 0, 81, 0, 75, 0, 76, 0, 71, 0, 81, 0, 76, 0, 79, 0, 73, 0, 80, 0, 76, 0, 80, 0, 73, 0, 82, 0, 78, 0, 80, 0, 74, 0, 80, 0, 78, 0, 83, 0, 74, 0, 78, 0, 79, 0, 85, 0, 75, 0, 79, 0, 78, 0, 83, 0, 78, 0, 81, 0, 75, 0, 83, 0, 82, 0, 81, 0, 73, 0, 84, 0, 83, 0, 82, 0, 75, 0, 84, 0, 83, 0, 84, 0, 76, 0, 84, 0, 85, 0, 87, 0, 76, 0, 84, 0, 85, 0, 88, 0, 78, 0, 83, 0, 82, 0, 91, 0, 82, 0, 81, 0, 82, 0, 94, 0, 83, 0, 83, 0, 81, 0, 88, 0, 83, 0, 90, 0, 85, 0, 82, 0, 81, 0, 93, 0, 86, 0, 85, 0, 80, 0, 89, 0, 87, 0, 89, 0, 82, 0, 88, 0, 85, 0, 91, 0, 86, 0, 91, 0, 83, 0, 88, 0, 90, 0, 93, 0, 83, 0, 90, 0, 89, 0, 93, 0, 87, 0, 93, 0, 87, 0, 93, 0, 91, 0, 94, 0, 85, 0, 92, 0, 90, 0, 96, 0, 89, 0, 90, 0, 87, 0, 98, 0, 93, 0, 92, 0, 87, 0, 97, 0, 92, 0, 91, 0, 90, 0, 99, 0, 89, 0, 92, 0, 91, 0, 97, 0, 91, 0, 97, 0, 91, 0, 94, 0, 92, 0, 100, 0, 91, 0, 95, 0, 92, 0, 101, 0, 94, 0, 97, 0, 93, 0, 101, 0, 93, 0, 100, 0, 96, 0, 99, 0, 93, 0, 102, 0, 96, 0, 100, 0, 95, 0, 102, 0, 96, 0, 101, 0, 95, 0, 103, 0, 98, 0, 101, 0, 95, 0, 103, 0, 98, 0, 103, 0, 95, 0, 102, 0, 100, 0, 104, 0, 94, 0, 101, 0, 99, 0, 104, 0, 97, 0, 105, 0, 100, 0, 104, 0, 97, 0, 108, 0, 102, 0, 103, 0, 97, 0, 110, 0, 101, 0, 103, 0, 100, 0, 111, 0, 99, 0, 105, 0, 103, 0, 107, 0, 98, 0, 110, 0, 104, 0, 107, 0, 99, 0, 109, 0, 103, 0, 109, 0, 100, 0, 108, 0, 103, 0, 110, 0, 103, 0, 110, 0, 100, 0, 109, 0, 105, 0, 111, 0, 100, 0, 109, 0, 105, 0, 113, 0, 104, 0, 111, 0, 103, 0, 112, 0, 105, 0, 113, 0, 104, 0, 113, 0, 106, 0, 114, 0, 107, 0, 114, 0, 104, 0, 113, 0, 107, 0, 117, 0, 105, 0, 112, 0, 106, 0, 117, 0, 106, 0, 113, 0, 107, 0, 116, 0, 104, 0, 115, 0, 108, 0, 114, 0, 106, 0, 118, 0, 107, 0, 114, 0, 109, 0, 119, 0, 104, 0, 114, 0, 108, 0, 118, 0, 109, 0, 116, 0, 104, 0, 120, 0, 113, 0, 117, 0, 106, 0, 120, 0, 109, 0, 118, 0, 113, 0, 121, 0, 105, 0, 119, 0, 113, 0, 120, 0, 107, 0, 122, 0, 112, 0, 119, 0, 109, 0, 122, 0, 110, 0, 120, 0, 109, 0, 120, 0, 112, 0, 123, 0, 107, 0, 117, 0, 112, 0, 125, 0, 109, 0, 119, 0, 109, 0, 122, 0, 113, 0, 123, 0, 107, 0, 120, 0, 112, 0, 123, 0, 110, 0, 123, 0, 111, 0, 123, 0, 113, 0, 123, 0, 109, 0, 126, 0, 114, 0, 123, 0, 109, 0, 124, 0, 113, 0, 126, 0, 112, 0, 121, 0, 109, 0, 129, 0, 116, 0, 123, 0, 108, 0, 126, 0, 115, 0, 125, 0, 111, 0, 125, 0, 112, 0, 124, 0, 111, 0, 126, 0, 112, 0, 123, 0, 109, 0, 126, 0, 113, 0, 124, 0, 111, 0, 126, 0, 109, 0, 123, 0, 113, 0, 126, 0, 107, 0, 124, 0, 112, 0, 125, 0, 111, 0, 128, 0, 111, 0, 123, 0, 110, 0, 128, 0, 112, 0, 124, 0, 111, 0, 129, 0, 110, 0, 125, 0, 113, 0, 130, 0, 109, 0, 123, 0, 114, 0, 131, 0, 110, 0, 122, 0, 112, 0, 130, 0, 110, 0, 125, 0, 113, 0, 125, 0, 108, 0, 128, 0, 111, 0, 123, 0, 109, 0, 128, 0, 106, 0, 124, 0, 113, 0, 127, 0, 105, 0, 125, 0, 113, 0, 128, 0, 107, 0, 124, 0, 110, 0, 128, 0, 108, 0, 125, 0, 110, 0, 126, 0, 108, 0, 125, 0, 108, 0, 125, 0, 108, 0, 125, 0, 106, 0, 125, 0, 109, 0, 125, 0, 105, 0, 123, 0, 108, 0, 125, 0, 105, 0, 121, 0, 107, 0, 125, 0, 103, 0, 121, 0, 107, 0, 124, 0, 102, 0, 123, 0, 107, 0, 122, 0, 102, 0, 123, 0, 105, 0, 124, 0, 106, 0, 121, 0, 100, 0, 126, 0, 109, 0, 122, 0, 100, 0, 122, 0, 106, 0, 123, 0, 102, 0, 119, 0, 104, 0, 123, 0, 101, 0, 120, 0, 103, 0, 120, 0, 100, 0, 122, 0, 102, 0, 118, 0, 99, 0, 120, 0, 101, 0, 121, 0, 99, 0, 115, 0, 98, 0, 120, 0, 100, 0, 115, 0, 96, 0, 118, 0, 99, 0, 116, 0, 97, 0, 118, 0, 96, 0, 116, 0, 98, 0, 118, 0, 96, 0, 114, 0, 96, 0, 118, 0, 96, 0, 112, 0, 96, 0, 118, 0, 95, 0, 112, 0, 94, 0, 115, 0, 95, 0, 113, 0, 92, 0, 115, 0, 96, 0, 110, 0, 91, 0, 116, 0, 95, 0, 107, 0, 90, 0, 115, 0, 92, 0, 106, 0, 90, 0, 112, 0, 89, 0, 107, 0, 93, 0, 109, 0, 85, 0, 110, 0, 92, 0, 106, 0, 85, 0, 109, 0, 88, 0, 108, 0, 88, 0, 104, 0, 84, 0, 109, 0, 87, 0, 104, 0, 86, 0, 107, 0, 83, 0, 106, 0, 85, 0, 104, 0, 85, 0, 105, 0, 82, 0, 103, 0, 85, 0, 104, 0, 83, 0, 103, 0, 81, 0, 99, 0, 85, 0, 104, 0, 80, 0, 99, 0, 81, 0, 101, 0, 80, 0, 99, 0, 80, 0, 98, 0, 77, 0, 99, 0, 80, 0, 96, 0, 75, 0, 99, 0, 79, 0, 96, 0, 77, 0, 100, 0, 77, 0, 93, 0, 77, 0, 99, 0, 73, 0, 93, 0, 78, 0, 94, 0, 76, 0, 95, 0, 73, 0, 93, 0, 77, 0, 92, 0, 70, 0, 95, 0, 73, 0, 89, 0, 75, 0, 96, 0, 70, 0, 87, 0, 71, 0, 91, 0, 72, 0, 88, 0, 67, 0, 89, 0, 70, 0, 89, 0, 68, 0, 86, 0, 67, 0, 86, 0, 69, 0, 87, 0, 64, 0, 83, 0, 68, 0, 88, 0, 67, 0, 79, 0, 68, 0, 88, 0, 69, 0, 75, 0, 62, 0, 89, 0, 66, 0, 77, 0, 60, 0, 84, 0, 67, 0, 80, 0, 63, 0, 77, 0, 64, 0, 80, 0, 59, 0, 78, 0, 63, 0, 73, 0, 60, 0, 78, 0, 63, 0, 71, 0, 59, 0, 78, 0, 59, 0, 76, 0, 58, 0, 73, 0, 57, 0, 76, 0, 57, 0, 73, 0, 56, 0, 75, 0, 53, 0, 72, 0, 59, 0, 72, 0, 52, 0, 76, 0, 56, 0, 75, 0, 51, 0, 71, 0, 56, 0, 71, 0, 56, 0, 70, 0, 51, 0, 72, 0, 52, 0, 65, 0, 52, 0, 65, 0, 54, 0, 64, 0, 50, 0, 65, 0, 48, 0, 65, 0, 43, 0, 63, 0, 49, 0, 66, 0, 45, 0, 57, 0, 44, 0, 62, 0, 44, 0, 60, 0, 41, 0, 62, 0, 48, 0, 60, 0, 39, 0, 60, 0, 39, 0, 59, 0, 43, 0, 56, 0, 45, 0, 51, 0, 45, 0, 62, 0, 40, 0, 58, 0, 40, 0, 60, 0, 40, 0, 53, 0, 38, 0, 64, 0, 38, 0, 60, 0, 32, 0, 60, 0, 33, 0, 55, 0, 34, 0, 54, 0, 29, 0, 56, 0, 29, 0, 51, 0, 30, 0, 46, 0, 28, 0, 47, 0, 32, 0, 46, 0, 28, 0, 50, 0, 29, 0, 41, 0, 32, 0, 40, 0, 35, 0, 39, 0, 31, 0, 48, 0, 27, 0, 39, 0, 30, 0, 42, 0, 37, 0, 41, 0, 32, 0, 50, 0, 21, 0, 47, 0, 20, 0, 39, 0, 23, 0, 31, 0, 40, 0, 36, 0, 26, 0, 41, 0, 27, 0, 47, 0, 16, 0, 40, 0, 20, 0, 35, 0, 19, 0, 41, 0, 15, 0, 43, 0, 12, 0, 44, 0, 13, 0, 34, 0, 17, 0, 30, 0, 19, 0, 37, 0, 12, 0, 35, 0, 15, 0, 31, 0, 12, 0, 32, 0, 22, 0, 36, 0, 14, 0, 35, 0, 20, 0, 29, 0, 17, 0, 24, 0, 20, 0, 33, 0, 19, 0, 39, 0, 18, 0, 40, 0, 9, 0, 32, 0, 15, 0, 32, 0, 15, 0, 23, 0, 21, 0, 33, 0, 13, 0, 31, 0, 11, 0, 34, 0, 19, 0, 25, 0, 18, 0, 27, 0, 18, 0, 32, 0, 14, 0, 34, 0, 9, 0, 42, 0, 19, 0, 32, 0, 13, 0, 20, 0, 11, 0, 27, 0, 17, 0, 25, 0, 10, 0, 35, 0, 18, 0, 24, 0, 12, 0, 25, 0, 10, 0, 25, 0, 7, 0, 19, 0, 4, 0, 13, 0, 11, 0, 10, 0, 8, 0, 23, 0, 2, 0, 25, 0, 252, 255, 16, 0, 254, 255, 13, 0, 253, 255, 21, 0, 251, 255, 28, 0, 244, 255, 31, 0, 249, 255, 12, 0, 5, 0, 6, 0, 21, 0, 8, 0, 4, 0, 22, 0, 240, 255, 33, 0, 245, 255, 15, 0, 252, 255, 9, 0, 14, 0, 14, 0, 3, 0, 18, 0, 251, 255, 12, 0, 254, 255, 1, 0, 0, 0, 8, 0, 2, 0, 8, 0, 250, 255, 4, 0, 255, 255, 3, 0, 253, 255, 246, 255, 252, 255, 1, 0, 252, 255, 1, 0, 242, 255, 3, 0, 240, 255, 9, 0, 244, 255, 10, 0, 240, 255, 24, 0, 240, 255, 18, 0, 236, 255, 9, 0, 241, 255, 13, 0, 240, 255, 15, 0, 243, 255, 22, 0, 238, 255, 3, 0, 251, 255, 2, 0, 243, 255, 11, 0, 248, 255, 7, 0, 233, 255, 255, 255, 237, 255, 10, 0, 249, 255, 254, 255, 231, 255, 5, 0, 238, 255, 253, 255, 239, 255, 255, 255, 233, 255, 12, 0, 242, 255, 7, 0, 227, 255, 8, 0, 232, 255, 7, 0, 241, 255, 239, 255, 245, 255, 253, 255, 252, 255, 251, 255, 229, 255, 255, 255, 235, 255, 3, 0, 242, 255, 254, 255, 240, 255, 22, 0, 235, 255, 24, 0, 235, 255, 15, 0, 234, 255, 15, 0, 238, 255, 2, 0, 232, 255, 5, 0, 244, 255, 223, 255, 212, 255, 141, 255, 108, 255, 32, 255, 248, 254, 38, 255, 250, 254, 246, 255, 235, 255, 27, 1, 45, 1, 133, 2, 182, 2, 97, 4, 129, 4, 235, 5, 217, 5, 203, 6, 144, 6, 188, 6, 112, 6, 155, 5, 59, 5, 12, 4, 152, 3, 90, 2, 209, 1, 215, 0, 105, 0, 48, 0, 201, 255, 241, 255, 170, 255, 212, 255, 182, 255, 59, 0, 76, 0, 83, 1, 58, 1, 6, 2, 242, 1, 118, 2, 90, 2, 73, 3, 237, 2, 183, 3, 60, 3, 154, 3, 69, 3, 23, 4, 195, 3, 3, 5, 162, 4, 184, 5, 67, 5, 230, 5, 107, 5, 132, 5, 240, 4, 231, 4, 126, 4, 135, 4, 57, 4, 10, 4, 159, 3, 174, 3, 50, 3, 14, 4, 149, 3, 241, 4, 170, 4, 17, 6, 187, 5, 77, 7, 192, 6, 124, 8, 182, 7, 26, 9, 80, 8, 233, 8, 37, 8, 230, 7, 38, 7, 17, 6, 112, 5, 20, 4, 114, 3, 96, 2, 184, 1, 255, 0, 121, 0, 79, 0, 229, 255, 84, 0, 199, 255, 139, 0, 32, 0, 36, 1, 239, 0, 59, 2, 244, 1, 123, 3, 242, 2, 77, 4, 175, 3, 88, 4, 175, 3, 138, 4, 175, 3, 251, 4, 250, 3, 251, 4, 1, 4, 37, 4, 105, 3, 20, 3, 138, 2, 84, 2, 208, 1, 128, 1, 3, 1, 220, 0, 113, 0, 224, 0, 134, 0, 191, 0, 94, 0, 4, 0, 136, 255, 166, 255, 1, 255, 69, 0, 151, 255, 117, 1, 214, 0, 87, 2, 160, 1, 91, 2, 163, 1, 130, 1, 223, 0, 66, 0, 144, 255, 125, 255, 142, 254, 229, 255, 246, 254, 14, 1, 141, 0, 158, 2, 73, 2, 180, 3, 73, 3, 190, 3, 77, 3, 18, 3, 138, 2, 92, 2, 113, 1, 181, 1, 119, 0, 239, 0, 173, 255, 115, 0, 73, 255, 141, 0, 131, 255, 251, 0, 56, 0, 227, 1, 119, 1, 244, 2, 173, 2, 39, 3, 54, 3, 86, 2, 183, 2, 148, 1, 213, 1, 171, 1, 160, 1, 17, 2, 207, 1, 187, 1, 94, 1, 32, 1, 174, 0, 7, 1, 163, 0, 156, 1, 33, 1, 77, 2, 183, 1, 210, 2, 41, 2, 46, 3, 169, 2, 117, 2, 40, 2, 149, 0, 56, 0, 42, 255, 155, 254, 175, 254, 42, 254, 172, 254, 58, 254, 130, 254, 82, 254, 54, 254, 156, 254, 73, 254, 35, 255, 120, 254, 86, 255, 49, 254, 227, 254, 115, 253, 10, 254, 188, 252, 59, 253, 70, 252, 208, 252, 16, 251, 176, 251, 32, 249, 241, 249, 116, 248, 128, 249, 39, 249, 135, 250, 145, 250, 111, 252, 50, 252, 86, 254, 35, 253, 78, 255, 159, 252, 149, 254, 165, 250, 53, 252, 98, 248, 152, 249, 111, 246, 123, 247, 88, 244, 218, 244, 201, 242, 171, 242, 163, 241, 119, 241, 124, 239, 216, 239, 130, 236, 128, 237, 89, 234, 218, 235, 115, 233, 111, 235, 216, 231, 78, 234, 114, 228, 105, 231, 230, 224, 9, 228, 42, 222, 85, 225, 132, 220, 195, 223, 60, 220, 156, 223, 15, 221, 74, 224, 62, 223, 25, 226, 2, 226, 191, 228, 205, 227, 128, 230, 136, 227, 3, 230, 102, 226, 180, 228, 148, 225, 199, 227, 70, 224, 26, 226, 99, 222, 247, 223, 95, 221, 41, 223, 145, 221, 174, 223, 93, 222, 96, 224, 245, 222, 155, 224, 176, 222, 45, 224, 125, 221, 103, 223, 98, 220, 214, 222, 67, 220, 241, 222, 81, 220, 199, 222, 186, 219, 232, 221, 76, 218, 109, 220, 101, 216, 110, 218, 183, 214, 151, 216, 149, 213, 96, 215, 126, 212, 80, 214, 47, 211, 93, 213, 194, 210, 142, 213, 35, 212, 162, 215, 201, 214, 135, 218, 96, 218, 213, 221, 188, 222, 156, 225, 28, 226, 152, 228, 134, 228, 101, 230, 13, 231, 39, 232, 225, 233, 119, 234, 79, 236, 165, 236, 121, 238, 189, 238, 175, 240, 54, 241, 67, 243, 245, 243, 19, 246, 16, 247, 219, 248, 84, 250, 136, 251, 54, 253, 115, 254, 62, 0, 190, 1, 210, 3, 210, 4, 233, 6, 221, 6, 106, 8, 207, 6, 156, 7, 81, 4, 48, 4, 51, 1, 57, 0, 119, 255, 219, 253, 122, 255, 70, 253, 148, 0, 19, 254, 82, 2, 29, 0, 10, 6, 69, 4, 35, 12, 142, 10, 63, 18, 153, 16, 141, 23, 152, 21, 54, 28, 232, 25, 2, 32, 99, 29, 26, 35, 219, 31, 138, 37, 198, 33, 251, 38, 16, 35, 159, 39, 1, 36, 86, 40, 229, 36, 34, 41, 200, 37, 193, 41, 195, 38, 142, 42, 194, 39, 135, 43, 201, 40, 153, 44, 29, 42, 79, 45, 46, 43, 66, 45, 98, 43, 151, 45, 198, 43, 65, 47, 9, 45, 21, 49, 31, 46, 137, 49, 17, 46, 40, 49, 77, 45, 148, 48, 16, 44, 9, 47, 251, 41, 250, 44, 159, 39, 228, 42, 147, 37, 82, 41, 121, 36, 148, 40, 131, 36, 233, 40, 134, 37, 245, 42, 246, 39, 253, 45, 84, 43, 232, 48, 128, 46, 37, 51, 253, 48, 29, 52, 79, 50, 142, 52, 216, 50, 28, 53, 245, 50, 126, 53, 161, 50, 192, 52, 103, 49, 237, 49, 78, 46, 2, 46, 111, 42, 142, 42, 75, 39, 73, 40, 76, 37, 143, 38, 183, 35, 133, 36, 106, 34, 248, 34, 198, 33, 1, 34, 52, 33, 24, 33, 74, 32, 212, 31, 18, 31, 238, 29, 122, 29, 73, 28, 126, 28, 181, 27, 186, 28, 136, 28, 84, 30, 181, 29, 39, 32, 49, 30, 147, 32, 70, 30, 213, 31, 176, 29, 110, 30, 44, 28, 187, 28, 253, 25, 31, 26, 84, 23, 160, 22, 58, 20, 30, 19, 54, 16, 142, 15, 95, 12, 147, 12, 122, 10, 78, 11, 35, 10, 154, 11, 130, 9, 191, 11, 218, 8, 124, 11, 13, 10, 164, 12, 104, 12, 239, 14, 117, 14, 238, 16, 146, 15, 122, 17, 189, 14, 222, 15, 225, 11, 188, 12, 225, 7, 238, 8, 223, 3, 80, 5, 73, 0, 232, 1, 45, 253, 250, 254, 6, 251, 75, 253, 23, 250, 237, 252, 0, 250, 119, 253, 162, 249, 159, 253, 74, 249, 135, 253, 69, 248, 71, 252, 45, 246, 123, 249, 37, 244, 18, 247, 253, 241, 202, 244, 145, 240, 225, 242, 54, 241, 135, 242, 230, 242, 180, 243, 84, 244, 142, 245, 47, 245, 127, 246, 74, 246, 73, 247, 0, 247, 131, 248, 209, 246, 169, 249, 90, 247, 59, 251, 40, 249, 71, 253, 254, 250, 70, 255, 69, 252, 61, 0, 101, 253, 238, 255, 74, 253, 109, 254, 9, 252, 115, 252, 5, 252, 173, 251, 116, 252, 104, 251, 15, 252, 202, 250, 176, 251, 75, 250, 228, 250, 244, 248, 97, 248, 114, 246, 54, 244, 255, 242, 59, 240, 104, 239, 63, 238, 24, 237, 99, 237, 28, 236, 77, 236, 158, 235, 148, 235, 168, 235, 156, 236, 136, 237, 238, 239, 139, 241, 24, 245, 76, 246, 195, 250, 5, 251, 60, 255, 224, 254, 194, 1, 162, 0, 33, 2, 135, 255, 240, 255, 109, 252, 242, 251, 113, 248, 39, 248, 93, 244, 238, 246, 73, 242, 114, 248, 107, 243, 177, 250, 113, 245, 229, 251, 186, 246, 238, 251, 62, 247, 173, 251, 37, 248, 134, 252, 2, 250, 75, 254, 36, 252, 128, 0, 141, 254, 169, 1, 146, 255, 247, 0, 165, 254, 246, 255, 206, 253, 149, 255, 236, 252, 177, 255, 31, 252, 142, 255, 168, 251, 156, 254, 198, 250, 97, 253, 131, 249, 58, 252, 100, 248, 133, 251, 169, 247, 140, 251, 79, 247, 31, 252, 85, 247, 126, 252, 189, 247, 109, 252, 53, 248, 120, 252, 31, 249, 216, 252, 2, 250, 238, 252, 11, 250, 123, 252, 108, 249, 109, 251, 16, 248, 18, 250, 30, 246, 181, 248, 151, 244, 46, 248, 123, 244, 192, 248, 75, 245, 216, 249, 96, 246, 208, 251, 251, 248, 46, 255, 112, 253, 82, 3, 24, 2, 217, 6, 88, 5, 99, 8, 56, 6, 108, 6, 37, 4, 161, 1, 249, 255, 143, 252, 252, 251, 42, 250, 202, 249, 190, 251, 226, 250, 46, 255, 178, 254, 96, 2, 48, 2, 179, 4, 223, 3, 96, 6, 93, 4, 135, 6, 151, 3, 8, 4, 224, 0, 197, 0, 169, 253, 52, 255, 5, 252, 4, 254, 25, 251, 87, 252, 131, 249, 1, 250, 145, 247, 53, 248, 151, 246, 166, 247, 42, 247, 102, 247, 24, 248, 39, 248, 199, 249, 91, 250, 144, 252, 156, 253, 21, 0, 161, 1, 19, 4, 198, 4, 244, 6, 89, 6, 124, 7, 249, 6, 134, 6, 145, 5, 252, 3, 109, 1, 187, 255, 135, 251, 198, 249, 165, 245, 163, 243, 124, 240, 208, 238, 49, 236, 200, 234, 245, 232, 86, 231, 85, 230, 78, 229, 235, 228, 16, 229, 139, 229, 0, 230, 233, 231, 55, 232, 242, 234, 181, 235, 24, 238, 209, 238, 244, 240, 141, 241, 36, 242, 59, 243, 137, 240, 215, 241, 209, 235, 76, 237, 94, 229, 115, 231, 64, 224, 163, 226, 186, 221, 248, 223, 72, 221, 47, 223, 145, 221, 38, 223, 48, 222, 36, 223, 242, 223, 247, 223, 194, 225, 38, 225, 65, 226, 253, 224, 102, 225, 228, 223, 119, 223, 194, 222, 157, 220, 200, 220, 9, 217, 64, 218, 202, 213, 109, 216, 231, 211, 90, 215, 44, 211, 116, 214, 243, 210, 8, 214, 187, 210, 221, 213, 121, 209, 230, 212, 14, 208, 155, 211, 84, 207, 183, 210, 118, 206, 92, 209, 222, 204, 224, 207, 177, 203, 231, 206, 73, 203, 108, 206, 22, 202, 30, 205, 154, 199, 201, 202, 72, 198, 107, 201, 112, 199, 73, 202, 240, 201, 187, 204, 210, 204, 134, 207, 250, 208, 9, 211, 171, 213, 206, 214, 121, 216, 130, 217, 125, 218, 221, 219, 200, 220, 189, 221, 26, 223, 179, 223, 161, 224, 242, 225, 236, 224, 244, 226, 149, 225, 16, 228, 17, 227, 88, 229, 18, 228, 93, 229, 48, 228, 246, 228, 223, 228, 213, 229, 53, 230, 115, 231, 17, 230, 63, 231, 119, 228, 152, 229, 114, 226, 47, 228, 211, 224, 69, 227, 205, 223, 134, 226, 122, 222, 18, 225, 191, 220, 27, 223, 43, 219, 32, 221, 233, 218, 40, 220, 59, 219, 253, 219, 106, 219, 82, 220, 56, 221, 234, 221, 128, 225, 81, 225, 103, 230, 220, 229, 94, 234, 3, 234, 36, 238, 197, 237, 137, 242, 223, 241, 84, 246, 183, 245, 222, 249, 58, 249, 108, 253, 215, 252, 225, 0, 143, 0, 228, 3, 167, 3, 13, 5, 252, 4, 68, 4, 233, 4, 104, 2, 225, 3, 63, 0, 41, 2, 102, 254, 77, 0, 237, 252, 75, 254, 211, 251, 138, 252, 14, 251, 115, 251, 237, 250, 18, 251, 204, 251, 164, 251, 21, 253, 174, 252, 46, 254, 136, 253, 20, 255, 241, 254, 202, 0, 240, 0, 226, 3, 199, 3, 238, 7, 29, 8, 50, 13, 80, 13, 245, 18, 232, 17, 239, 23, 213, 21, 237, 27, 162, 25, 26, 31, 159, 28, 27, 33, 122, 30, 147, 33, 140, 31, 40, 34, 255, 32, 206, 36, 203, 35, 72, 40, 20, 39, 206, 42, 112, 41, 192, 43, 85, 42, 241, 43, 69, 42, 115, 44, 16, 42, 209, 44, 13, 42, 168, 44, 14, 42, 93, 44, 166, 41, 190, 43, 123, 40, 94, 42, 33, 39, 70, 41, 127, 38, 207, 41, 58, 39, 159, 43, 217, 40, 82, 46, 136, 43, 65, 50, 89, 47, 225, 54, 127, 51, 248, 58, 28, 55, 10, 62, 51, 58, 205, 63, 45, 60, 103, 64, 140, 60, 218, 63, 103, 59, 179, 61, 50, 57, 161, 59, 225, 55, 37, 59, 253, 55, 234, 58, 246, 55, 191, 58, 245, 55, 155, 59, 4, 57, 211, 61, 63, 59, 164, 64, 176, 61, 42, 66, 243, 62, 40, 66, 55, 63, 161, 65, 171, 62, 118, 64, 172, 61, 108, 62, 85, 60, 96, 61, 200, 59, 42, 63, 124, 61, 126, 65, 201, 63, 25, 66, 233, 64, 196, 66, 249, 65, 102, 68, 53, 67, 171, 68, 193, 66, 165, 67, 88, 65, 244, 67, 95, 65, 201, 69, 141, 66, 210, 71, 15, 68, 113, 73, 155, 69, 9, 76, 22, 72, 220, 78, 166, 74, 171, 79, 148, 75, 30, 79, 142, 75, 247, 77, 24, 75, 35, 76, 249, 73, 241, 72, 109, 71, 136, 68, 193, 67, 231, 64, 234, 64, 105, 62, 154, 62, 189, 59, 31, 60, 49, 57, 243, 57, 31, 56, 188, 56, 161, 55, 137, 55, 198, 53, 90, 53, 120, 51, 48, 51, 57, 49, 14, 49, 109, 47, 230, 46, 36, 45, 34, 44, 35, 41, 13, 40, 121, 36, 255, 35, 21, 32, 31, 32, 137, 28, 123, 28, 218, 24, 146, 24, 116, 20, 252, 19, 233, 15, 55, 15, 57, 10, 196, 9, 214, 3, 40, 4, 7, 254, 50, 255, 126, 250, 237, 251, 105, 249, 212, 250, 24, 249, 245, 250, 232, 249, 233, 252, 249, 251, 146, 255, 187, 254, 38, 2, 79, 1, 81, 4, 110, 2, 232, 4, 242, 1, 217, 3, 252, 255, 165, 1, 142, 253, 22, 255, 79, 250, 217, 251, 5, 245, 244, 246, 136, 238, 106, 241, 246, 232, 240, 236, 190, 229, 236, 234, 166, 228, 208, 234, 2, 229, 179, 235, 116, 230, 81, 237, 174, 232, 77, 239, 10, 235, 212, 240, 84, 236, 211, 240, 198, 235, 58, 239, 158, 233, 65, 236, 101, 230, 90, 232, 228, 225, 169, 227, 255, 219, 174, 222, 116, 214, 89, 218, 89, 210, 238, 214, 136, 207, 204, 212, 170, 205, 225, 211, 54, 205, 162, 211, 227, 206, 172, 212, 111, 210, 149, 215, 153, 214, 65, 219, 145, 218, 182, 222, 195, 222, 153, 226, 148, 226, 82, 230, 134, 229, 129, 233, 110, 230, 34, 235, 193, 228, 33, 234, 221, 227, 146, 233, 202, 228, 82, 234, 228, 229, 143, 234, 11, 230, 163, 233, 169, 228, 9, 232, 246, 226, 117, 230, 34, 226, 99, 229, 105, 226, 85, 229, 148, 226, 34, 229, 112, 225, 171, 227, 55, 223, 135, 225, 151, 220, 16, 223, 27, 218, 140, 220, 38, 216, 125, 218, 233, 216, 254, 218, 133, 218, 101, 220, 249, 217, 79, 220, 25, 218, 232, 220, 129, 219, 20, 222, 18, 221, 36, 223, 106, 221, 187, 222, 115, 220, 237, 220, 61, 221, 103, 221, 1, 224, 250, 223, 49, 228, 98, 227, 136, 232, 80, 231, 95, 237, 93, 236, 148, 243, 134, 242, 47, 249, 244, 247, 164, 253, 115, 252, 219, 255, 66, 254, 90, 0, 224, 253, 76, 1, 250, 253, 234, 1, 185, 253, 15, 2, 55, 253, 222, 1, 167, 252, 173, 2, 145, 252, 124, 4, 182, 253, 95, 5, 4, 255, 211, 5, 181, 0, 6, 6, 203, 1, 46, 6, 93, 2, 132, 7, 123, 3, 106, 9, 197, 4, 190, 10, 38, 5, 183, 10, 3, 4, 194, 9, 34, 2, 64, 9, 203, 0, 249, 9, 142, 0, 161, 10, 236, 0, 236, 9, 22, 1, 188, 8, 221, 0, 212, 6, 58, 255, 120, 4, 51, 253, 208, 3, 7, 253, 225, 4, 40, 254, 147, 5, 140, 254, 138, 6, 11, 255, 219, 8, 195, 0, 98, 11, 184, 2, 38, 13, 72, 4, 16, 14, 33, 5, 14, 15, 226, 5, 181, 15, 77, 6, 27, 15, 252, 5, 102, 13, 242, 4, 235, 10, 26, 3, 199, 8, 100, 1, 69, 7, 15, 0, 209, 5, 148, 254, 120, 4, 244, 252, 32, 2, 105, 250, 148, 255, 181, 247, 89, 253, 143, 245, 60, 250, 252, 242, 156, 246, 79, 240, 137, 244, 22, 239, 48, 245, 36, 240, 126, 247, 187, 242, 19, 250, 122, 245, 150, 252, 214, 247, 171, 254, 176, 249, 110, 0, 99, 251, 211, 1, 104, 252, 15, 2, 241, 251, 35, 0, 61, 250, 3, 253, 242, 247, 255, 249, 74, 245, 59, 247, 146, 242, 110, 244, 97, 240, 213, 241, 169, 238, 82, 240, 253, 237, 4, 240, 129, 238, 176, 239, 179, 238, 30, 238, 90, 237, 124, 235, 234, 234, 67, 233, 144, 232, 11, 232, 160, 230, 226, 230, 191, 228, 33, 229, 164, 226, 175, 227, 34, 225, 6, 227, 146, 224, 43, 227, 41, 225, 147, 228, 59, 227, 187, 230, 235, 229, 77, 233, 211, 232, 51, 235, 99, 235, 170, 235, 32, 236, 68, 235, 77, 235, 73, 234, 66, 234, 132, 233, 30, 234, 30, 233, 151, 233, 19, 232, 124, 231, 230, 229, 232, 228, 130, 226, 213, 225, 229, 222, 135, 222, 79, 220, 63, 220, 148, 217, 46, 218, 112, 214, 104, 215, 196, 211, 247, 212, 121, 209, 46, 211, 203, 206, 108, 209, 194, 203, 231, 206, 140, 200, 155, 203, 69, 197, 225, 199, 13, 194, 100, 196, 228, 191, 101, 194, 226, 190, 229, 193, 196, 190, 246, 193, 222, 191, 215, 194, 91, 194, 76, 197, 225, 197, 38, 201, 163, 201, 30, 205, 235, 204, 102, 208, 166, 207, 33, 211, 79, 209, 213, 212, 13, 210, 136, 213, 222, 209, 41, 213, 90, 209, 66, 212, 201, 208, 143, 211, 118, 207, 132, 210, 236, 206, 102, 210, 24, 208, 4, 212, 28, 209, 94, 213, 76, 209, 38, 214, 156, 208, 125, 214, 205, 206, 109, 213, 190, 205, 254, 211, 64, 206, 171, 211, 58, 206, 83, 211, 84, 205, 79, 210, 125, 204, 135, 209, 25, 204, 77, 209, 164, 204, 212, 209, 36, 206, 18, 211, 67, 208, 62, 213, 142, 210, 245, 215, 166, 213, 61, 219, 83, 218, 64, 223, 7, 223, 131, 226, 45, 226, 104, 228, 37, 228, 10, 230, 244, 229, 244, 231, 181, 230, 60, 233, 64, 230, 114, 233, 147, 230, 92, 234, 183, 231, 72, 236, 32, 233, 193, 238, 228, 234, 43, 241, 79, 237, 139, 243, 109, 240, 106, 246, 190, 243, 197, 248, 47, 247, 221, 250, 181, 249, 131, 252, 141, 250, 240, 252, 124, 250, 87, 252, 102, 249, 13, 251, 180, 247, 145, 249, 25, 246, 32, 248, 117, 245, 140, 247, 192, 246, 82, 249, 175, 249, 203, 252, 128, 254, 190, 1, 180, 4, 161, 7, 105, 9, 28, 12, 91, 11, 51, 14, 44, 12, 11, 15, 182, 13, 64, 16, 54, 15, 103, 17, 101, 15, 49, 17, 167, 14, 39, 16, 19, 13, 3, 15, 39, 11, 248, 13, 165, 9, 250, 12, 136, 8, 51, 12, 226, 7, 89, 12, 240, 7, 54, 13, 12, 9, 221, 14, 136, 11, 123, 17, 104, 15, 223, 20, 202, 20, 127, 25, 43, 26, 17, 30, 103, 30, 98, 33, 68, 34, 99, 36, 155, 37, 16, 39, 137, 39, 185, 40, 250, 39, 77, 41, 17, 40, 211, 41, 199, 40, 221, 42, 250, 40, 140, 43, 168, 40, 184, 43, 212, 40, 68, 44, 45, 41, 229, 44, 176, 41, 61, 45, 167, 43, 75, 46, 165, 46, 137, 48, 178, 48, 150, 50, 249, 49, 255, 51, 28, 51, 214, 52, 191, 51, 63, 53, 63, 52, 190, 53, 49, 53, 150, 54, 88, 54, 133, 55, 28, 54, 105, 55, 170, 52, 23, 54, 160, 51, 182, 52, 117, 50, 61, 51, 234, 47, 239, 48, 223, 44, 115, 46, 64, 43, 224, 44, 8, 44, 85, 45, 63, 47, 52, 48, 113, 51, 49, 52, 40, 55, 214, 55, 116, 58, 28, 59, 1, 63, 13, 63, 51, 68, 109, 67, 130, 70, 142, 69, 91, 69, 107, 68, 197, 66, 101, 65, 127, 63, 75, 62, 184, 59, 62, 59, 115, 56, 49, 56, 34, 55, 41, 55, 255, 54, 69, 56, 251, 54, 122, 57, 168, 55, 122, 58, 180, 56, 50, 59, 148, 58, 146, 60, 42, 61, 67, 62, 197, 62, 231, 62, 211, 63, 84, 63, 51, 64, 53, 63, 253, 63, 59, 62, 80, 64, 6, 62, 179, 64, 171, 62, 155, 63, 29, 62, 86, 61, 8, 60, 84, 59, 178, 57, 210, 56, 4, 55, 153, 53, 27, 52, 188, 50, 189, 49, 147, 47, 219, 46, 49, 44, 139, 43, 163, 42, 221, 41, 122, 42, 117, 41, 159, 41, 104, 40, 62, 40, 60, 39, 191, 38, 33, 38, 92, 36, 229, 35, 246, 33, 92, 33, 198, 31, 122, 31, 64, 29, 239, 29, 53, 27, 136, 28, 147, 26, 141, 27, 37, 27, 144, 27, 57, 28, 224, 27, 255, 28, 204, 27, 126, 29, 218, 27, 160, 29, 20, 28, 182, 28, 239, 26, 118, 26, 89, 24, 16, 23, 15, 21, 30, 20, 159, 18, 217, 17, 10, 17, 52, 15, 248, 14, 42, 12, 82, 12, 68, 9, 206, 9, 149, 6, 164, 7, 166, 2, 75, 4, 168, 252, 240, 254, 165, 246, 82, 249, 189, 241, 135, 244, 22, 238, 9, 241, 198, 235, 250, 238, 220, 234, 86, 238, 183, 234, 113, 238, 173, 233, 123, 237, 36, 232, 210, 235, 97, 231, 233, 234, 109, 230, 247, 233, 19, 228, 201, 231, 31, 225, 181, 228, 71, 223, 145, 226, 202, 222, 20, 226, 2, 223, 141, 226, 129, 223, 252, 226, 240, 223, 247, 226, 206, 223, 163, 226, 13, 223, 231, 225, 206, 222, 147, 225, 28, 223, 185, 225, 200, 223, 111, 226, 199, 224, 127, 227, 107, 225, 22, 228, 158, 225, 103, 228, 88, 225, 65, 228, 63, 224, 195, 226, 89, 222, 30, 224, 227, 219, 12, 221, 239, 216, 23, 218, 250, 213, 100, 215, 216, 211, 94, 213, 216, 210, 67, 212, 132, 210, 221, 211, 158, 210, 172, 211, 13, 211, 206, 211, 52, 211, 180, 211, 136, 210, 98, 210, 147, 209, 168, 208, 62, 208, 199, 206, 124, 206, 252, 204, 55, 205, 204, 203, 222, 204, 118, 203, 15, 206, 141, 204, 55, 208, 158, 206, 64, 210, 69, 208, 161, 212, 8, 210, 176, 214, 216, 211, 168, 215, 166, 212, 189, 215, 78, 212, 74, 215, 105, 211, 237, 213, 206, 209, 139, 212, 76, 208, 124, 212, 80, 208, 213, 213, 190, 209, 194, 215, 144, 211, 227, 217, 184, 213, 59, 220, 5, 216, 91, 222, 203, 217, 106, 223, 176, 218, 101, 223, 163, 218, 235, 222, 184, 217, 131, 222, 129, 216, 108, 222, 233, 215, 119, 223, 227, 216, 158, 225, 20, 219, 6, 228, 165, 221, 245, 230, 173, 224, 143, 234, 26, 228, 184, 238, 64, 232, 191, 242, 103, 236, 158, 245, 30, 239, 30, 247, 31, 240, 42, 247, 164, 239, 138, 246, 16, 239, 224, 245, 129, 238, 147, 244, 30, 237, 14, 243, 134, 235, 99, 241, 90, 234, 53, 240, 149, 233, 118, 240, 241, 233, 144, 241, 46, 235, 214, 242, 200, 236, 134, 244, 144, 238, 49, 246, 64, 240, 25, 248, 58, 242, 28, 252, 230, 245, 67, 1, 54, 250, 104, 4, 157, 252, 80, 5, 19, 253, 177, 5, 19, 253, 51, 6, 87, 253, 118, 6, 87, 253, 114, 5, 59, 252, 76, 3, 135, 250, 43, 2, 236, 249, 164, 3, 157, 251, 213, 6, 31, 255, 215, 9, 141, 2, 255, 11, 186, 4, 108, 13, 70, 6, 18, 14, 64, 7, 45, 14, 65, 7, 195, 13, 156, 6, 176, 12, 158, 5, 239, 10, 104, 4, 34, 9, 60, 3, 84, 7, 17, 2, 155, 5, 231, 0, 224, 4, 241, 0, 166, 4, 132, 1, 10, 4, 76, 1, 139, 3, 203, 0, 195, 2, 184, 255, 19, 1, 249, 253, 5, 255, 99, 252, 204, 253, 193, 251, 139, 254, 154, 252, 78, 0, 114, 254, 191, 1, 140, 0, 134, 2, 255, 1, 189, 2, 165, 2, 109, 2, 143, 2, 140, 1, 180, 1, 238, 255, 48, 0, 66, 254, 220, 254, 148, 253, 138, 254, 114, 254, 198, 255, 29, 0, 252, 1, 17, 1, 69, 3, 97, 0, 26, 3, 184, 254, 98, 2, 32, 253, 127, 1, 128, 251, 54, 0, 84, 249, 103, 254, 52, 247, 206, 252, 65, 246, 19, 252, 252, 245, 228, 251, 54, 246, 126, 252, 181, 246, 90, 253, 250, 246, 146, 253, 77, 246, 1, 253, 83, 244, 84, 251, 27, 242, 14, 249, 121, 240, 63, 247, 213, 239, 245, 246, 250, 239, 162, 247, 3, 240, 233, 247, 188, 239, 197, 247, 164, 239, 254, 247, 0, 240, 255, 248, 142, 240, 202, 249, 176, 240, 114, 249, 164, 239, 233, 247, 100, 237, 90, 245, 139, 234, 71, 242, 91, 231, 38, 239, 158, 228, 205, 236, 110, 227, 26, 236, 228, 227, 242, 236, 135, 229, 15, 239, 160, 231, 158, 241, 249, 233, 31, 244, 64, 236, 17, 246, 99, 238, 175, 247, 81, 240, 37, 249, 100, 241, 229, 249, 202, 241, 28, 250, 131, 242, 74, 250, 117, 243, 186, 250, 216, 243, 42, 251, 228, 243, 70, 251, 216, 243, 35, 251, 156, 243, 215, 250, 38, 243, 133, 250, 183, 241, 102, 249, 205, 238, 198, 246, 185, 235, 155, 243, 194, 233, 100, 241, 111, 232, 55, 240, 100, 231, 109, 239, 123, 231, 197, 239, 57, 232, 245, 240, 227, 232, 55, 242, 157, 233, 140, 243, 54, 234, 158, 244, 31, 235, 213, 245, 214, 236, 131, 247, 65, 238, 83, 248, 99, 239, 182, 248, 241, 240, 159, 249, 248, 242, 14, 251, 125, 245, 219, 252, 121, 248, 236, 254, 18, 252, 130, 1, 212, 255, 178, 4, 100, 3, 3, 8, 14, 7, 37, 11, 190, 10, 126, 14, 67, 14, 71, 18, 162, 17, 4, 22, 201, 20, 165, 25, 163, 23, 15, 29, 222, 25, 104, 31, 100, 27, 106, 32, 66, 28, 155, 32, 63, 28, 191, 31, 61, 27, 228, 29, 224, 25, 204, 27, 45, 25, 76, 26, 175, 25, 71, 26, 248, 26, 239, 27, 251, 28, 219, 30, 99, 32, 195, 34, 154, 36, 6, 39, 218, 39, 79, 42, 14, 42, 196, 44, 131, 44, 23, 47, 218, 46, 199, 48, 16, 48, 114, 49, 28, 48, 33, 49, 152, 48, 3, 49, 67, 50, 3, 50, 54, 52, 69, 51, 124, 53, 16, 52, 171, 53, 41, 52, 122, 53, 250, 51, 192, 53, 26, 52, 61, 54, 210, 52, 24, 55, 34, 54, 42, 56, 159, 55, 121, 57, 109, 57, 218, 58, 13, 59, 154, 59, 199, 59, 147, 59, 192, 59, 252, 58, 213, 58, 193, 57, 3, 57, 22, 56, 243, 54, 211, 54, 5, 53, 70, 54, 153, 51, 39, 54, 236, 50, 213, 54, 102, 51, 160, 56, 76, 53, 236, 58, 150, 55, 202, 60, 34, 57, 31, 62, 35, 58, 246, 62, 183, 58, 175, 62, 39, 58, 19, 61, 120, 56, 3, 59, 100, 54, 231, 56, 63, 52, 8, 54, 217, 49, 150, 50, 13, 47, 152, 47, 145, 44, 242, 44, 54, 42, 243, 41, 33, 39, 142, 38, 110, 35, 54, 35, 207, 31, 35, 32, 53, 28, 5, 29, 163, 24, 132, 26, 0, 22, 14, 26, 55, 21, 105, 27, 81, 22, 154, 29, 63, 24, 196, 32, 12, 27, 86, 36, 40, 30, 145, 37, 79, 31, 78, 35, 35, 29, 150, 31, 104, 25, 31, 28, 210, 21, 99, 24, 84, 18, 90, 20, 226, 14, 209, 17, 165, 12, 162, 17, 110, 12, 64, 18, 3, 13, 94, 18, 35, 13, 206, 18, 148, 13, 105, 20, 252, 14, 30, 21, 130, 15, 19, 19, 138, 13, 24, 15, 145, 9, 4, 11, 83, 5, 254, 6, 118, 1, 169, 2, 89, 253, 139, 255, 68, 250, 216, 254, 177, 249, 173, 254, 190, 249, 217, 253, 230, 248, 62, 253, 50, 248, 212, 252, 172, 247, 207, 252, 104, 247, 166, 253, 236, 247, 111, 254, 132, 248, 129, 254, 159, 248, 136, 253, 185, 247, 99, 251, 188, 245, 157, 248, 166, 243, 17, 246, 235, 241, 149, 243, 198, 239, 11, 241, 85, 237, 41, 238, 221, 234, 86, 235, 109, 232, 167, 234, 231, 231, 151, 235, 253, 232, 238, 235, 92, 233, 56, 236, 136, 233, 219, 236, 88, 234, 58, 236, 240, 233, 155, 233, 196, 231, 213, 229, 119, 228, 83, 225, 247, 223, 116, 219, 237, 217, 11, 213, 20, 212, 133, 208, 49, 208, 68, 206, 238, 205, 213, 204, 50, 204, 251, 203, 80, 203, 24, 204, 217, 203, 223, 204, 205, 204, 85, 205, 92, 205, 214, 204, 62, 205, 140, 203, 61, 204, 49, 202, 195, 202, 192, 200, 175, 201, 9, 199, 206, 200, 129, 197, 171, 199, 220, 195, 96, 198, 61, 194, 250, 196, 236, 192, 231, 195, 3, 192, 126, 195, 35, 191, 38, 195, 38, 190, 91, 194, 182, 189, 249, 193, 84, 190, 165, 194, 110, 191, 250, 195, 104, 192, 154, 197, 74, 193, 255, 198, 201, 193, 194, 199, 46, 194, 48, 200, 243, 194, 197, 200, 194, 195, 156, 201, 161, 196, 137, 202, 238, 197, 69, 203, 125, 199, 26, 204, 238, 200, 59, 205, 27, 202, 74, 206, 38, 203, 111, 207, 73, 204, 235, 208, 84, 205, 111, 210, 211, 205, 87, 211, 70, 206, 231, 211, 70, 207, 5, 213, 129, 208, 151, 214, 49, 209, 114, 215, 93, 209, 146, 215, 158, 209, 157, 215, 249, 209, 186, 215, 15, 210, 201, 215, 224, 209, 179, 215, 14, 210, 110, 215, 154, 210, 90, 215, 219, 210, 76, 215, 188, 210, 221, 214, 21, 211, 183, 214, 101, 212, 138, 215, 212, 213, 149, 216, 245, 214, 54, 217, 187, 216, 132, 218, 154, 219, 7, 221, 171, 222, 181, 223, 35, 225, 208, 225, 194, 226, 75, 227, 159, 227, 195, 227, 254, 227, 138, 227, 54, 228, 136, 227, 66, 228, 124, 227, 194, 228, 184, 227, 3, 230, 33, 229, 20, 232, 134, 231, 228, 234, 99, 234, 192, 237, 56, 237, 199, 239, 68, 239, 199, 240, 226, 239, 136, 240, 40, 239, 222, 238, 62, 237, 77, 236, 142, 234, 166, 233, 199, 231, 196, 231, 252, 229, 8, 231, 148, 229, 158, 231, 23, 230, 141, 233, 194, 231, 33, 236, 48, 234, 216, 238, 96, 236, 219, 241, 173, 238, 212, 244, 93, 241, 247, 246, 186, 243, 183, 248, 120, 245, 142, 250, 14, 247, 54, 252, 179, 248, 37, 254, 180, 250, 192, 0, 50, 253, 206, 3, 222, 255, 233, 5, 180, 1, 33, 7, 194, 2, 126, 8, 9, 4, 226, 9, 156, 5, 251, 10, 35, 7, 145, 12, 44, 9, 191, 14, 117, 11, 241, 16, 195, 13, 186, 19, 192, 16, 186, 22, 202, 19, 183, 24, 187, 21, 65, 25, 70, 22, 61, 24, 15, 21, 7, 22, 248, 18, 184, 19, 33, 17, 221, 17, 140, 15, 129, 16, 122, 14, 9, 16, 113, 14, 18, 16, 178, 14, 119, 16, 96, 15, 214, 17, 47, 17, 147, 20, 238, 19, 90, 23, 71, 22, 198, 24, 202, 23, 133, 25, 184, 24, 53, 26, 72, 25, 156, 26, 76, 25, 226, 26, 157, 25, 198, 27, 170, 26, 56, 29, 254, 27, 71, 30, 68, 29, 158, 30, 7, 30, 125, 30, 238, 29, 21, 30, 215, 29, 164, 29, 67, 30, 169, 29, 252, 30, 206, 30, 92, 32, 188, 32, 107, 34, 207, 34, 125, 36, 93, 36, 23, 38, 218, 37, 130, 39, 224, 39, 17, 41, 249, 41, 186, 42, 96, 43, 53, 44, 72, 44, 55, 45, 5, 45, 188, 45, 104, 45, 7, 46, 110, 45, 43, 46, 175, 45, 103, 46, 149, 46, 81, 47, 81, 47, 116, 48, 64, 47, 187, 48, 228, 46, 123, 48, 110, 46, 78, 48, 159, 45, 186, 47, 51, 44, 103, 46, 182, 42, 191, 44, 113, 41, 108, 43, 154, 40, 136, 42, 0, 40, 244, 41, 49, 40, 35, 42, 19, 41, 52, 43, 109, 42, 121, 44, 138, 43, 79, 45, 214, 43, 116, 45, 24, 44, 165, 45, 122, 45, 179, 46, 6, 47, 1, 48, 250, 47, 197, 48, 147, 48, 35, 49, 135, 48, 12, 49, 6, 48, 132, 48, 118, 47, 185, 47, 92, 46, 62, 46, 133, 44, 103, 44, 64, 42, 161, 42, 43, 40, 156, 40, 114, 38, 175, 38, 122, 36, 78, 37, 195, 34, 117, 36, 232, 34, 172, 36, 119, 36, 57, 38, 222, 37, 194, 39, 39, 38, 235, 39, 229, 36, 102, 38, 104, 34, 212, 35, 44, 31, 125, 32, 205, 26, 73, 28, 198, 21, 172, 23, 180, 16, 30, 19, 238, 11, 220, 14, 86, 8, 156, 11, 90, 6, 216, 9, 170, 5, 3, 9, 197, 5, 221, 8, 148, 6, 115, 9, 176, 7, 22, 10, 172, 8, 117, 10, 23, 9, 144, 10, 44, 9, 140, 10, 167, 8, 230, 9, 20, 7, 80, 8, 189, 4, 57, 6, 77, 2, 45, 4, 143, 255, 11, 2, 164, 252, 194, 255, 76, 250, 246, 253, 6, 249, 254, 252, 213, 247, 43, 252, 233, 245, 139, 250, 48, 244, 10, 249, 224, 243, 181, 248, 240, 244, 175, 249, 140, 246, 25, 251, 133, 247, 223, 251, 147, 247, 229, 251, 134, 247, 174, 251, 178, 247, 147, 251, 131, 247, 40, 251, 95, 246, 13, 250, 185, 244, 134, 248, 173, 243, 71, 247, 4, 243, 36, 246, 77, 242, 226, 244, 234, 241, 18, 244, 127, 241, 113, 243, 175, 240, 172, 242, 47, 240, 44, 242, 11, 240, 4, 242, 59, 240, 141, 242, 230, 240, 231, 243, 193, 241, 74, 245, 35, 243, 139, 246, 77, 245, 50, 248, 255, 246, 111, 249, 135, 247, 171, 249, 180, 247, 127, 249, 247, 247, 48, 249, 70, 248, 33, 249, 41, 248, 165, 248, 177, 247, 199, 247, 150, 247, 181, 247, 20, 248, 150, 248, 20, 249, 147, 249, 11, 251, 250, 250, 215, 252, 139, 252, 246, 253, 135, 253, 67, 255, 167, 254, 186, 0, 205, 255, 70, 1, 235, 255, 221, 0, 7, 255, 34, 0, 26, 254, 121, 255, 155, 253, 73, 254, 205, 252, 85, 252, 38, 251, 172, 250, 160, 249, 242, 249, 49, 249, 125, 249, 234, 248, 229, 248, 84, 248, 167, 248, 92, 248, 18, 249, 197, 248, 119, 249, 177, 248, 164, 249, 131, 248, 130, 250, 20, 249, 191, 251, 247, 249, 3, 252, 218, 249, 128, 251, 226, 248, 67, 251, 92, 248, 202, 250, 221, 247, 152, 249, 128, 246, 102, 248, 126, 245, 238, 247, 86, 245, 191, 247, 239, 244, 112, 247, 32, 244, 139, 247, 165, 243, 149, 248, 252, 243, 16, 250, 246, 244, 52, 251, 156, 245, 220, 251, 177, 245, 18, 252, 217, 245, 219, 251, 237, 245, 150, 251, 217, 245, 189, 251, 66, 246, 120, 251, 90, 246, 37, 250, 36, 245, 10, 249, 22, 244, 218, 248, 10, 244, 183, 248, 236, 243, 40, 248, 50, 243, 28, 247, 232, 241, 112, 245, 46, 240, 131, 243, 32, 238, 143, 241, 2, 236, 95, 240, 250, 234, 58, 241, 20, 236, 110, 243, 77, 238, 40, 245, 61, 240, 40, 246, 97, 241, 150, 246, 165, 241, 254, 245, 219, 240, 159, 244, 106, 239, 47, 243, 189, 237, 189, 241, 21, 236, 32, 240, 120, 234, 212, 238, 45, 233, 11, 238, 124, 232, 66, 237, 13, 232, 134, 236, 195, 231, 110, 236, 247, 231, 152, 236, 169, 232, 76, 236, 24, 233, 59, 236, 141, 233, 208, 236, 109, 234, 109, 237, 59, 235, 221, 237, 183, 235, 98, 238, 23, 236, 144, 238, 8, 236, 232, 237, 68, 235, 31, 237, 117, 234, 72, 237, 140, 234, 45, 238, 135, 235, 12, 239, 190, 236, 164, 239, 204, 237, 115, 240, 234, 238, 140, 241, 104, 240, 221, 242, 46, 242, 101, 244, 202, 243, 191, 245, 7, 245, 108, 246, 194, 245, 180, 246, 11, 246, 23, 247, 41, 246, 50, 247, 92, 246, 165, 246, 45, 246, 67, 245, 8, 245, 47, 243, 74, 243, 40, 241, 220, 241, 45, 240, 111, 241, 12, 240, 158, 241, 204, 239, 124, 241, 47, 239, 206, 240, 5, 239, 153, 240, 70, 239, 235, 240, 99, 239, 19, 241, 109, 239, 249, 240, 158, 239, 255, 240, 239, 239, 46, 241, 243, 240, 24, 242, 29, 243, 21, 244, 66, 245, 64, 246, 188, 246, 182, 247, 79, 248, 46, 249, 1, 250, 220, 250, 115, 250, 126, 251, 169, 249, 5, 251, 47, 249, 57, 251, 228, 249, 54, 252, 4, 251, 2, 253, 187, 251, 188, 253, 41, 252, 111, 254, 137, 252, 29, 255, 63, 253, 3, 0, 49, 254, 226, 0, 170, 254, 35, 1, 113, 254, 57, 1, 69, 254, 60, 1, 251, 253, 233, 0, 202, 252, 132, 255, 158, 250, 240, 252, 190, 248, 142, 250, 231, 247, 137, 249, 93, 247, 74, 249, 107, 247, 138, 249, 107, 248, 99, 250, 133, 249, 123, 251, 252, 250, 68, 253, 119, 253, 194, 255, 204, 255, 204, 1, 115, 1, 44, 3, 46, 3, 84, 4, 246, 4, 79, 5, 144, 6, 183, 6, 13, 8, 16, 8, 176, 8, 83, 8, 0, 9, 100, 8, 166, 9, 25, 9, 236, 9, 89, 9, 82, 9, 193, 8, 182, 8, 9, 8, 223, 8, 29, 8, 184, 9, 255, 8, 71, 10, 210, 9, 58, 10, 22, 10, 129, 10, 117, 10, 244, 10, 212, 10, 38, 11, 16, 11, 102, 11, 85, 11, 49, 12, 217, 11, 110, 13, 171, 12, 134, 14, 148, 13, 244, 14, 253, 13, 33, 15, 23, 14, 122, 15, 81, 14, 205, 15, 140, 14, 44, 16, 141, 14, 152, 16, 120, 14, 24, 17, 163, 14, 57, 18, 81, 15, 185, 19, 31, 16, 172, 20, 180, 16, 25, 21, 15, 17, 7, 22, 216, 17, 159, 23, 67, 19, 52, 25, 204, 20, 111, 26, 250, 21, 169, 27, 22, 23, 150, 28, 23, 24, 237, 28, 106, 24, 133, 28, 220, 23, 152, 27, 12, 23, 176, 26, 121, 22, 47, 26, 246, 21, 105, 25, 66, 21, 133, 24, 171, 20, 49, 24, 103, 20, 78, 24, 100, 20, 119, 24, 130, 20, 168, 24, 139, 20, 208, 24, 64, 20, 150, 24, 159, 19, 37, 24, 28, 19, 24, 24, 255, 18, 53, 24, 236, 18, 158, 23, 236, 17, 77, 22, 77, 16, 243, 20, 250, 14, 104, 19, 164, 13, 71, 17, 130, 11, 245, 14, 12, 9, 30, 13, 132, 7, 238, 11, 243, 6, 110, 11, 2, 7, 12, 12, 8, 8, 152, 13, 189, 9, 245, 14, 33, 11, 154, 15, 175, 11, 203, 15, 200, 11, 35, 15, 60, 11, 212, 13, 42, 10, 168, 12, 17, 9, 148, 11, 65, 8, 86, 10, 119, 7, 50, 9, 209, 6, 139, 8, 90, 6, 115, 7, 94, 5, 137, 5, 121, 3, 193, 3, 179, 1, 218, 2, 199, 0, 101, 2, 76, 0, 40, 2, 22, 0, 77, 2, 75, 0, 151, 2, 201, 0, 42, 3, 76, 1, 197, 3, 176, 1, 185, 3, 186, 1, 69, 3, 125, 1, 41, 3, 119, 1, 95, 3, 230, 1, 114, 3, 98, 2, 21, 3, 45, 2, 149, 2, 207, 1, 33, 2, 175, 1, 93, 1, 67, 1, 175, 0, 155, 0, 77, 0, 64, 0, 110, 255, 137, 255, 60, 254, 171, 254, 204, 253, 123, 254, 199, 253, 188, 254, 192, 253, 41, 255, 11, 254, 235, 255, 18, 254, 68, 0, 26, 253, 111, 255, 156, 251, 61, 254, 96, 250, 52, 253, 60, 249, 16, 252, 232, 247, 182, 250, 177, 246, 133, 249, 191, 245, 163, 248, 151, 244, 199, 247, 45, 243, 206, 246, 159, 242, 142, 246, 20, 243, 51, 247, 117, 243, 196, 247, 218, 243, 18, 248, 191, 244, 198, 248, 127, 245, 115, 249, 13, 245, 18, 249, 10, 244, 232, 247, 66, 243, 45, 247, 107, 242, 171, 246, 16, 241, 167, 245, 214, 239, 186, 244, 231, 238, 76, 244, 93, 237, 92, 243, 152, 235, 230, 241, 161, 234, 89, 241, 130, 234, 177, 241, 188, 234, 75, 242, 90, 235, 233, 242, 50, 236, 131, 243, 45, 237, 11, 244, 101, 237, 228, 243, 156, 236, 160, 242, 155, 235, 50, 241, 49, 235, 120, 240, 68, 234, 113, 239, 171, 232, 220, 237, 118, 231, 219, 236, 249, 230, 188, 236, 184, 230, 196, 236, 166, 230, 252, 236, 8, 231, 147, 237, 100, 231, 48, 238, 216, 231, 221, 238, 162, 232, 177, 239, 133, 233, 85, 240, 232, 233, 105, 240, 59, 234, 173, 240, 19, 235, 133, 241, 105, 236, 208, 242, 54, 237, 149, 243, 34, 237, 112, 243, 186, 236, 249, 242, 36, 236, 173, 242, 21, 235, 224, 241, 211, 233, 106, 240, 22, 232, 105, 238, 177, 229, 31, 236, 29, 228, 147, 234, 223, 227, 31, 234, 255, 227, 46, 234, 82, 228, 125, 234, 16, 229, 17, 235, 204, 229, 199, 235, 128, 230, 174, 236, 178, 230, 237, 236, 83, 230, 157, 236, 112, 230, 234, 236, 79, 231, 212, 237, 88, 232, 154, 238, 242, 233, 234, 239, 210, 235, 151, 241, 236, 236, 114, 242, 166, 237, 239, 242, 13, 239, 12, 244, 158, 240, 71, 245, 194, 241, 246, 245, 144, 242, 120, 246, 49, 243, 239, 246, 206, 243, 83, 247, 152, 244, 178, 247, 153, 245, 104, 248, 148, 246, 95, 249, 43, 247, 246, 249, 147, 247, 57, 250, 57, 248, 180, 250, 232, 248, 26, 251, 23, 249, 176, 250, 56, 249, 127, 250, 209, 249, 26, 251, 204, 250, 0, 252, 209, 251, 201, 252, 121, 252, 130, 253, 152, 252, 184, 253, 125, 252, 116, 253, 152, 252, 60, 253, 124, 253, 166, 253, 1, 255, 143, 254, 53, 0, 19, 255, 215, 0, 40, 255, 161, 1, 47, 255, 103, 2, 121, 255, 253, 2, 234, 255, 178, 3, 142, 0, 139, 4, 71, 1, 119, 5, 78, 2, 78, 6, 82, 3, 239, 6, 24, 4, 153, 7, 224, 4, 26, 8, 117, 5, 233, 7, 50, 5, 58, 7, 104, 4, 178, 6, 174, 3, 126, 6, 36, 3, 151, 6, 245, 2, 65, 7, 77, 3, 60, 8, 247, 3, 171, 8, 33, 4, 32, 8, 135, 3, 97, 7, 196, 2, 201, 6, 80, 2, 111, 6, 108, 2, 223, 6, 85, 3, 41, 8, 234, 4, 63, 10, 253, 6, 201, 12, 77, 9, 53, 15, 76, 11, 84, 17, 249, 12, 91, 19, 87, 14, 161, 20, 22, 15, 112, 21, 163, 15, 82, 22, 121, 16, 113, 23, 144, 17, 149, 24, 237, 18, 92, 25, 251, 19, 125, 25, 230, 19, 169, 25, 203, 19, 63, 26, 88, 20, 88, 26, 92, 20, 149, 25, 75, 19, 137, 24, 9, 18, 179, 23, 41, 17, 26, 23, 142, 16, 138, 22, 29, 16, 67, 22, 235, 15, 72, 22, 215, 15, 105, 22, 16, 16, 195, 22, 207, 16, 97, 23, 221, 17, 252, 23, 190, 18, 188, 24, 192, 19, 176, 25, 224, 20, 25, 27, 69, 22, 251, 28, 24, 24, 196, 30, 205, 25, 103, 32, 44, 27, 100, 34, 160, 28, 54, 36, 5, 30, 79, 37, 250, 30, 123, 37, 111, 31, 249, 36, 26, 31, 249, 35, 72, 30, 139, 34, 250, 28, 239, 32, 120, 27, 7, 32, 146, 26, 155, 31, 60, 26, 16, 31, 171, 25, 122, 30, 195, 24, 180, 29, 170, 23, 123, 28, 182, 22, 97, 27, 85, 22, 131, 26, 74, 22, 141, 25, 18, 22, 24, 24, 64, 21, 80, 22, 253, 19, 219, 20, 10, 19, 253, 19, 144, 18, 156, 19, 54, 18, 22, 20, 132, 18, 30, 21, 117, 19, 47, 22, 59, 20, 75, 23, 25, 21, 32, 24, 251, 21, 149, 24, 76, 22, 215, 24, 79, 22, 114, 24, 229, 21, 17, 23, 238, 20, 143, 21, 248, 19, 71, 20, 60, 19, 199, 18, 50, 18, 185, 16, 180, 16, 157, 14, 42, 15, 238, 12, 203, 13, 175, 11, 100, 12, 150, 10, 4, 11, 143, 9, 211, 9, 31, 8, 94, 8, 81, 6, 174, 6, 18, 5, 164, 5, 46, 4, 243, 4, 196, 2, 197, 3, 214, 0, 80, 2, 223, 254, 199, 0, 3, 253, 15, 255, 36, 251, 4, 253, 96, 249, 9, 251, 25, 248, 159, 249, 14, 247, 128, 248, 198, 245, 7, 247, 149, 244, 142, 245, 171, 243, 163, 244, 208, 242, 240, 243, 119, 242, 152, 243, 110, 242, 201, 243, 53, 242, 183, 243, 173, 241, 22, 243, 60, 241, 99, 242, 142, 240, 208, 241, 166, 239, 247, 240, 151, 238, 216, 239, 110, 237, 150, 238, 129, 236, 132, 237, 12, 236, 226, 236, 185, 235, 63, 236, 172, 234, 0, 235, 42, 233, 52, 233, 226, 231, 202, 231, 63, 231, 61, 231, 181, 230, 217, 230, 243, 229, 48, 230, 113, 229, 211, 229, 123, 229, 20, 230, 110, 229, 246, 229, 34, 229, 133, 229, 233, 228, 62, 229, 196, 228, 30, 229, 33, 228, 167, 228, 237, 226, 200, 227, 29, 226, 37, 227, 199, 225, 246, 226, 250, 224, 84, 226, 181, 223, 50, 225, 230, 222, 102, 224, 116, 222, 164, 223, 232, 221, 138, 222, 119, 221, 167, 221, 204, 220, 230, 220, 19, 220, 252, 219, 208, 219, 125, 219, 225, 219, 125, 219, 10, 220, 216, 219, 38, 220, 61, 220, 199, 219, 107, 220, 125, 219, 139, 220, 158, 219, 235, 220, 129, 219, 38, 221, 31, 219, 32, 221, 10, 219, 52, 221, 92, 219, 162, 221, 193, 219, 35, 222, 219, 219, 49, 222, 54, 220, 129, 222, 61, 221, 137, 223, 64, 222, 114, 224, 187, 222, 197, 224, 128, 222, 164, 224, 200, 221, 217, 223, 64, 221, 50, 223, 61, 221, 55, 223, 32, 221, 16, 223, 243, 220, 218, 222, 45, 221, 41, 223, 155, 221, 171, 223, 119, 222, 79, 224, 65, 223, 228, 224, 108, 223, 28, 225, 161, 223, 120, 225, 96, 224, 100, 226, 55, 225, 47, 227, 186, 225, 105, 227, 231, 225, 96, 227, 59, 226, 185, 227, 100, 227, 8, 229, 55, 229, 202, 230, 179, 230, 20, 232, 255, 230, 75, 232, 204, 230, 75, 232, 125, 231, 65, 233, 249, 232, 250, 234, 157, 234, 160, 236, 245, 236, 215, 238, 226, 239, 180, 241, 167, 242, 103, 244, 69, 245, 16, 247, 227, 247, 161, 249, 157, 249, 31, 251, 40, 250, 84, 251, 100, 250, 86, 251, 8, 251, 152, 251, 199, 251, 11, 252, 163, 252, 192, 252, 33, 254, 53, 254, 10, 0, 4, 0, 145, 1, 145, 1, 161, 2, 180, 2, 183, 3, 164, 3, 239, 4, 151, 4, 42, 6, 176, 5, 12, 7, 114, 6, 154, 7, 239, 6, 36, 8, 88, 7, 199, 8, 254, 7, 120, 9, 220, 8, 231, 9, 164, 9, 4, 10, 0, 10, 97, 10, 152, 10, 57, 11, 196, 11, 59, 12, 231, 12, 42, 13, 199, 13, 50, 14, 231, 14, 187, 15, 100, 16, 197, 17, 40, 18, 240, 19, 4, 20, 6, 22, 2, 22, 19, 24, 254, 23, 18, 26, 231, 25, 23, 28, 221, 27, 8, 30, 156, 29, 114, 31, 195, 30, 84, 32, 155, 31, 12, 33, 132, 32, 159, 33, 40, 33, 209, 33, 142, 33, 203, 33, 198, 33, 206, 33, 12, 34, 225, 33, 71, 34, 92, 33, 252, 33, 60, 32, 250, 32, 6, 31, 8, 32, 54, 30, 127, 31, 184, 29, 41, 31, 147, 29, 101, 31, 183, 29, 7, 32, 1, 30, 138, 32, 53, 30, 205, 32, 170, 30, 42, 33, 35, 31, 80, 33, 42, 31, 201, 32, 174, 30, 201, 31, 160, 29, 103, 30, 226, 27, 128, 28, 5, 26, 169, 26, 127, 24, 137, 25, 91, 23, 250, 24, 10, 23, 66, 25, 251, 23, 142, 26, 132, 25, 62, 28, 224, 26, 170, 29, 229, 27, 207, 30, 212, 28, 153, 31, 196, 29, 41, 32, 73, 30, 93, 32, 70, 30, 18, 32, 199, 29, 130, 31, 182, 28, 140, 30, 86, 27, 60, 29, 146, 26, 134, 28, 14, 26, 41, 28, 218, 24, 12, 27, 17, 23, 136, 25, 242, 20, 227, 23, 138, 18, 196, 21, 159, 16, 183, 19, 82, 15, 112, 18, 56, 14, 138, 17, 199, 13, 13, 17, 78, 14, 48, 17, 168, 14, 54, 17, 76, 14, 148, 16, 198, 13, 169, 15, 77, 13, 15, 15, 212, 12, 164, 14, 31, 12, 252, 13, 38, 11, 21, 13, 247, 9, 247, 11, 20, 9, 254, 10, 15, 9, 185, 10, 254, 9, 118, 11, 56, 11, 120, 12, 238, 11, 27, 13, 6, 12, 24, 13, 128, 11, 131, 12, 236, 10, 22, 12, 171, 10, 70, 12, 151, 10, 119, 12, 83, 10, 90, 12, 71, 10, 48, 12, 56, 10, 33, 12, 236, 9, 242, 11, 107, 9, 156, 11, 181, 8, 211, 10, 199, 7, 138, 9, 10, 7, 136, 8, 4, 7, 99, 8, 144, 7, 162, 8, 22, 8, 194, 8, 107, 8, 254, 8, 48, 9, 203, 9, 215, 10, 44, 11, 115, 12, 139, 12, 190, 12, 211, 12, 239, 11, 239, 11, 254, 10, 193, 10, 62, 10, 164, 9, 111, 9, 188, 8, 215, 8, 247, 7, 116, 8, 53, 7, 40, 8, 129, 6, 199, 7, 86, 6, 141, 7, 109, 6, 184, 7, 187, 6, 38, 8, 32, 7, 113, 8, 148, 7, 168, 8, 199, 7, 190, 8, 183, 7, 188, 8, 72, 7, 233, 8, 203, 6, 56, 9, 100, 6, 34, 9, 202, 5, 200, 8, 246, 4, 10, 8, 200, 3, 180, 6, 38, 2, 21, 5, 72, 0, 167, 3, 143, 254, 40, 2, 10, 253, 160, 0, 170, 251, 200, 255, 168, 250, 169, 255, 96, 250, 232, 255, 194, 250, 117, 0, 104, 251, 73, 1, 10, 252, 238, 1, 109, 252, 228, 1, 93, 252, 141, 1, 229, 251, 52, 1, 94, 251, 168, 0, 149, 250, 186, 255, 128, 249, 198, 254, 168, 248, 235, 253, 69, 248, 16, 253, 209, 247, 104, 252, 154, 247, 217, 251, 103, 247, 28, 251, 224, 246, 46, 250, 252, 245, 85, 249, 49, 245, 180, 248, 98, 244, 107, 248, 226, 243, 145, 248, 233, 243, 24, 249, 34, 244, 240, 249, 179, 244, 23, 251, 160, 245, 48, 252, 147, 246, 215, 252, 70, 247, 108, 253, 11, 248, 33, 254, 190, 248, 77, 254, 250, 248, 55, 254, 12, 249, 136, 254, 148, 249, 255, 254, 83, 250, 50, 255, 205, 250, 114, 255, 20, 251, 224, 255, 107, 251, 15, 0, 186, 251, 218, 255, 175, 251, 105, 255, 85, 251, 139, 254, 169, 250, 37, 253, 132, 249, 167, 251, 88, 248, 183, 250, 217, 247, 111, 250, 19, 248, 233, 250, 214, 248, 224, 251, 207, 249, 99, 252, 104, 250, 86, 252, 108, 250, 21, 252, 10, 250, 173, 251, 51, 249, 8, 251, 104, 248, 77, 250, 228, 247, 167, 249, 172, 247, 46, 249, 155, 247, 186, 248, 132, 247, 43, 248, 18, 247, 144, 247, 175, 246, 163, 246, 101, 246, 137, 245, 196, 245, 218, 244, 245, 244, 67, 244, 120, 244, 157, 243, 51, 244, 14, 243, 222, 243, 108, 242, 97, 243, 222, 241, 253, 242, 197, 241, 5, 243, 226, 241, 88, 243, 25, 242, 186, 243, 70, 242, 3, 244, 174, 241, 204, 243, 64, 240, 169, 242, 124, 238, 231, 240, 237, 236, 179, 239, 115, 236, 153, 239, 223, 236, 249, 239, 102, 237, 109, 240, 206, 237, 39, 241, 246, 237, 131, 241, 199, 237, 77, 241, 74, 237, 178, 240, 246, 235, 118, 239, 200, 233, 202, 237, 208, 231, 140, 236, 166, 230, 191, 235, 48, 230, 140, 235, 77, 230, 217, 235, 166, 230, 121, 236, 92, 231, 67, 237, 251, 231, 213, 237, 25, 232, 187, 237, 254, 231, 103, 237, 4, 232, 26, 237, 50, 232, 31, 237, 249, 232, 221, 237, 236, 233, 218, 238, 110, 234, 126, 239, 152, 234, 236, 239, 104, 234, 19, 240, 4, 234, 236, 239, 202, 233, 131, 239, 47, 233, 140, 238, 244, 231, 97, 237, 30, 231, 131, 236, 104, 231, 102, 236, 181, 232, 74, 237, 251, 233, 87, 238, 207, 234, 254, 238, 52, 235, 153, 239, 91, 235, 239, 239, 14, 235, 185, 239, 131, 234, 84, 239, 179, 233, 184, 238, 199, 232, 29, 238, 146, 232, 238, 237, 217, 232, 228, 237, 61, 233, 54, 238, 241, 233, 18, 239, 30, 235, 68, 240, 193, 236, 223, 241, 175, 238, 139, 243, 246, 239, 142, 244, 83, 240, 240, 244, 192, 240, 61, 245, 160, 241, 185, 245, 85, 242, 53, 246, 153, 242, 23, 246, 171, 242, 232, 245, 22, 243, 163, 246, 60, 244, 165, 247, 138, 245, 67, 248, 71, 246, 254, 248, 231, 246, 224, 249, 222, 247, 159, 250, 181, 248, 33, 251, 0, 249, 116, 251, 36, 249, 131, 251, 36, 249, 124, 251, 57, 249, 141, 251, 148, 249, 0, 252, 68, 250, 124, 252, 190, 250, 141, 252, 192, 250, 68, 252, 122, 250, 0, 252, 159, 250, 214, 251, 243, 250, 110, 251, 227, 250, 253, 250, 197, 250, 2, 251, 69, 251, 155, 251, 51, 252, 119, 252, 136, 253, 202, 253, 21, 255, 82, 255, 125, 0, 139, 0, 163, 1, 158, 1, 211, 2, 132, 2, 150, 3, 212, 2, 144, 3, 145, 2, 70, 3, 12, 2, 8, 3, 107, 1, 112, 2, 201, 0, 190, 1, 47, 0, 53, 1, 150, 255, 203, 0, 38, 255, 225, 0, 118, 255, 129, 1, 65, 0, 253, 1, 173, 0, 245, 1, 180, 0, 223, 1, 8, 1, 166, 2, 235, 1, 164, 4, 164, 3, 225, 6, 153, 5, 16, 8, 151, 6, 133, 8, 11, 7, 10, 9, 183, 7, 138, 9, 248, 7, 95, 9, 140, 7, 71, 8, 162, 6, 160, 6, 111, 5, 115, 5, 151, 4, 50, 5, 149, 4, 158, 5, 48, 5, 93, 6, 253, 5, 44, 7, 212, 6, 76, 8, 195, 7, 154, 9, 215, 8, 132, 10, 112, 9, 254, 10, 183, 9, 163, 11, 139, 10, 111, 12, 142, 11, 242, 12, 229, 11, 253, 12, 215, 11, 171, 12, 180, 11, 36, 12, 107, 11, 113, 11, 223, 10, 142, 10, 54, 10, 166, 9, 154, 9, 15, 9, 48, 9, 182, 8, 226, 8, 166, 8, 33, 9, 87, 9, 44, 10, 17, 11, 214, 11, 207, 13, 86, 14, 233, 16, 66, 17, 122, 19, 95, 19, 145, 21, 161, 20, 129, 23, 4, 22, 170, 24, 221, 22, 179, 24, 157, 22, 20, 24, 178, 21, 38, 23, 146, 20, 46, 22, 157, 19, 226, 21, 93, 19, 12, 22, 199, 19, 247, 21, 10, 20, 85, 21, 132, 19, 176, 20, 224, 18, 90, 20, 186, 18, 169, 19, 71, 18, 98, 18, 39, 17, 93, 17, 13, 16, 191, 16, 68, 15, 192, 15, 21, 14, 142, 14, 207, 12, 218, 13, 18, 12, 81, 13, 165, 11, 134, 12, 198, 10, 94, 11, 139, 9, 42, 10, 142, 8, 230, 8, 151, 7, 209, 7, 107, 6, 155, 7, 72, 6, 21, 8, 73, 7, 254, 8, 34, 8, 252, 9, 176, 8, 206, 10, 107, 9, 74, 11, 184, 9, 105, 11, 89, 9, 233, 10, 210, 8, 83, 10, 86, 8, 145, 9, 105, 7, 246, 7, 161, 5, 208, 5, 172, 3, 170, 3, 27, 2, 132, 1, 143, 0, 58, 0, 138, 255, 198, 255, 63, 255, 184, 254, 166, 254, 109, 253, 82, 253, 124, 252, 21, 252, 156, 251, 40, 251, 173, 250, 118, 250, 11, 250, 162, 249, 219, 249, 40, 249, 142, 249, 253, 248, 113, 248, 41, 248, 185, 246, 179, 246, 134, 245, 199, 245, 88, 244, 215, 244, 247, 242, 114, 243, 132, 242, 211, 242, 46, 243, 129, 243, 5, 244, 97, 244, 134, 244, 245, 244, 237, 244, 103, 245, 2, 246, 146, 246, 21, 248, 146, 248, 229, 249, 40, 250, 197, 250, 22, 251, 103, 251, 248, 251, 3, 252, 102, 252, 77, 252, 104, 252, 55, 252, 121, 252, 189, 251, 54, 252, 159, 250, 20, 251, 40, 249, 215, 249, 207, 247, 18, 249, 250, 246, 132, 248, 156, 246, 11, 248, 181, 246, 62, 248, 169, 247, 77, 249, 90, 249, 192, 250, 21, 251, 40, 252, 131, 252, 189, 253, 250, 253, 71, 255, 190, 255, 165, 0, 9, 1, 201, 1, 96, 1, 30, 2, 227, 0, 86, 1, 253, 255, 44, 0, 161, 254, 240, 254, 42, 253, 106, 253, 221, 251, 33, 252, 21, 251, 160, 251, 163, 250, 118, 251, 51, 250, 17, 251, 119, 249, 176, 250, 249, 248, 97, 250, 219, 248, 16, 250, 250, 248, 219, 249, 48, 249, 223, 249, 94, 249, 199, 249, 32, 249, 38, 249, 66, 248, 221, 247, 98, 247, 168, 246, 40, 247, 75, 246, 152, 247, 130, 246, 228, 247, 217, 246, 27, 248, 43, 247, 166, 248, 125, 247, 61, 249, 176, 247, 152, 249, 17, 248, 208, 249, 107, 248, 226, 249, 94, 248, 236, 249, 121, 248, 10, 250, 208, 248, 184, 249, 123, 248, 31, 249, 143, 247, 14, 249, 94, 247, 104, 249, 217, 247, 44, 249, 213, 247, 95, 248, 27, 247, 58, 247, 6, 246, 185, 245, 111, 244, 41, 244, 248, 242, 59, 243, 59, 242, 150, 242, 141, 241, 205, 241, 124, 240, 127, 241, 237, 239, 227, 241, 251, 239, 61, 242, 247, 239, 243, 241, 117, 239, 42, 241, 168, 238, 37, 240, 171, 237, 52, 239, 232, 236, 196, 238, 172, 236, 19, 239, 51, 237, 197, 239, 251, 237, 50, 240, 125, 238, 173, 240, 8, 239, 119, 241, 210, 239, 226, 241, 54, 240, 118, 241, 179, 239, 166, 240, 250, 238, 137, 240, 22, 239, 83, 241, 235, 239, 233, 241, 126, 240, 155, 241, 83, 240, 98, 241, 5, 240, 154, 241, 16, 240, 211, 241, 107, 240, 200, 241, 92, 240, 3, 242, 40, 240, 163, 242, 170, 240, 82, 243, 105, 241, 52, 244, 59, 242, 9, 246, 250, 243, 109, 248, 106, 246, 119, 250, 126, 248, 55, 252, 57, 250, 187, 253, 188, 251, 6, 255, 242, 252, 7, 0, 197, 253, 155, 0, 29, 254, 12, 1, 139, 254, 191, 1, 53, 255, 87, 2, 158, 255, 151, 2, 197, 255, 238, 2, 21, 0, 152, 3, 200, 0, 140, 4, 245, 1, 150, 5, 250, 2, 48, 6, 180, 3, 175, 6, 75, 4, 45, 7, 232, 4, 167, 7, 151, 5, 60, 8, 76, 6, 211, 8, 157, 6, 65, 9, 216, 6, 223, 9, 144, 7, 73, 11, 255, 8, 95, 13, 244, 10, 80, 15, 154, 12, 72, 16, 83, 13, 41, 17, 85, 14, 208, 18, 30, 16, 239, 20, 46, 18, 220, 22, 64, 20, 97, 24, 44, 22, 134, 25, 163, 23, 121, 26, 227, 24, 218, 26, 95, 25, 117, 26, 229, 24, 22, 26, 99, 24, 218, 25, 254, 23, 226, 24, 25, 23, 159, 23, 218, 21, 218, 22, 249, 20, 49, 22, 151, 20, 122, 21, 122, 20, 154, 21, 235, 20, 154, 22, 53, 22, 172, 23, 147, 23, 97, 24, 118, 24, 42, 25, 97, 25, 233, 25, 74, 26, 158, 26, 183, 26, 77, 27, 250, 26, 227, 27, 156, 27, 83, 28, 104, 28, 153, 28, 232, 28, 206, 28, 34, 29, 48, 29, 117, 29, 220, 29, 11, 30, 20, 30, 108, 30, 198, 29, 99, 30, 135, 29, 47, 30, 209, 29, 67, 30, 254, 29, 118, 30, 231, 29, 172, 30, 44, 30, 28, 31, 199, 30, 157, 31, 23, 31, 185, 31, 32, 31, 193, 31, 189, 30, 132, 31, 0, 30, 196, 30, 23, 29, 194, 29, 61, 28, 188, 28, 13, 27, 155, 27, 173, 25, 130, 26, 191, 24, 187, 25, 175, 24, 169, 25, 234, 24, 237, 25, 164, 24, 181, 25, 12, 24, 255, 24, 187, 23, 78, 24, 141, 23, 13, 24, 34, 23, 178, 23, 120, 22, 7, 23, 213, 21, 173, 22, 118, 21, 198, 22, 36, 21, 129, 22, 120, 20, 159, 21, 24, 19, 162, 20, 68, 17, 87, 19, 217, 15, 233, 17, 175, 14, 157, 16, 32, 13, 38, 15, 122, 11, 163, 13, 51, 10, 109, 12, 235, 8, 29, 11, 162, 7, 210, 9, 215, 6, 248, 8, 105, 6, 114, 8, 6, 6, 23, 8, 135, 5, 14, 8, 25, 5, 215, 7, 162, 4, 120, 7, 63, 4, 85, 7, 177, 3, 45, 7, 169, 2, 68, 6, 75, 1, 216, 4, 80, 0, 164, 3, 141, 255, 149, 2, 128, 254, 75, 1, 78, 253, 245, 255, 219, 251, 87, 254, 229, 249, 74, 252, 192, 247, 97, 250, 204, 245, 189, 248, 16, 244, 104, 247, 224, 242, 140, 246, 14, 242, 212, 245, 39, 241, 223, 244, 64, 240, 1, 244, 157, 239, 73, 243, 35, 239, 132, 242, 194, 238, 178, 241, 6, 238, 170, 240, 208, 236, 100, 239, 207, 235, 115, 238, 125, 235, 231, 237, 251, 234, 93, 237, 17, 234, 205, 236, 213, 233, 188, 236, 106, 234, 35, 237, 177, 234, 126, 237, 97, 234, 84, 237, 21, 234, 18, 237, 204, 233, 211, 236, 72, 233, 52, 236, 162, 232, 80, 235, 201, 231, 120, 234, 153, 230, 106, 233, 151, 229, 88, 232, 227, 228, 161, 231, 28, 228, 200, 230, 7, 227, 165, 229, 240, 225, 162, 228, 6, 225, 198, 227, 148, 224, 23, 227, 60, 224, 104, 226, 215, 223, 172, 225, 76, 224, 236, 225, 195, 225, 50, 227, 177, 226, 235, 227, 13, 227, 22, 228, 217, 227, 228, 228, 166, 228, 167, 229, 213, 228, 162, 229, 198, 228, 143, 229, 33, 229, 23, 230, 246, 229, 245, 230, 43, 231, 244, 231, 119, 232, 26, 233, 205, 233, 66, 234, 38, 235, 67, 235, 160, 236, 142, 236, 104, 238, 16, 238, 238, 239, 61, 239, 219, 240, 0, 240, 79, 241, 186, 240, 158, 241, 42, 241, 212, 241, 130, 241, 3, 242, 189, 241, 34, 242, 209, 241, 66, 242, 219, 241, 100, 242, 217, 241, 123, 242, 143, 241, 148, 242, 64, 241, 199, 242, 21, 241, 19, 243, 37, 241, 184, 243, 186, 241, 202, 244, 218, 242, 249, 245, 55, 244, 206, 246, 80, 245, 98, 247, 8, 246, 230, 247, 158, 246, 106, 248, 70, 247, 236, 248, 179, 247, 165, 249, 59, 248, 57, 250, 142, 248, 129, 250, 168, 248, 203, 250, 220, 248, 91, 251, 152, 249, 86, 252, 132, 250, 152, 253, 175, 251, 227, 254, 11, 253, 36, 0, 130, 254, 93, 1, 216, 255, 129, 2, 5, 1, 225, 3, 66, 2, 105, 5, 231, 3, 211, 6, 98, 5, 18, 8, 185, 6, 90, 9, 16, 8, 113, 10, 55, 9, 109, 11, 2, 10, 44, 12, 140, 10, 128, 12, 205, 10, 166, 12, 199, 10, 71, 12, 78, 10, 63, 11, 99, 9, 127, 10, 218, 8, 153, 10, 14, 9, 222, 10, 109, 9, 11, 11, 196, 9, 119, 11, 84, 10, 227, 11, 198, 10, 233, 11, 201, 10, 171, 11, 136, 10, 179, 11, 179, 10, 29, 12, 72, 11, 96, 12, 193, 11, 193, 12, 48, 12, 144, 13, 215, 12, 25, 14, 90, 13, 64, 14, 118, 13, 167, 14, 215, 13, 102, 15, 89, 14, 1, 16, 152, 14, 67, 16, 152, 14, 76, 16, 152, 14, 87, 16, 173, 14, 236, 16, 83, 15, 29, 18, 161, 16, 98, 19, 232, 17, 238, 19, 100, 18, 187, 19, 58, 18, 40, 19, 199, 17, 81, 18, 240, 16, 81, 17, 233, 15, 107, 16, 19, 15, 138, 15, 76, 14, 189, 14, 170, 13, 107, 14, 116, 13, 77, 14, 123, 13, 20, 14, 73, 13, 125, 13, 205, 12, 161, 12, 19, 12, 86, 11, 240, 10, 190, 9, 102, 9, 246, 7, 179, 7, 76, 6, 62, 6, 211, 4, 61, 5, 219, 3, 147, 4, 82, 3, 19, 4, 173, 2, 126, 3, 230, 1, 209, 2, 66, 1, 30, 2, 180, 0, 158, 1, 74, 0, 96, 1, 79, 0, 107, 1, 144, 0, 165, 1, 137, 0, 183, 1, 49, 0, 124, 1, 14, 0, 71, 1, 221, 255, 253, 0, 247, 254, 253, 255, 128, 253, 156, 254, 99, 252, 114, 253, 81, 251, 99, 252, 231, 249, 37, 251, 47, 248, 197, 249, 176, 246, 129, 248, 174, 245, 168, 247, 4, 245, 39, 247, 60, 244, 108, 246, 53, 243, 134, 245, 36, 242, 134, 244, 106, 241, 154, 243, 250, 240, 214, 242, 29, 240, 154, 241, 192, 238, 26, 240, 110, 237, 173, 238, 98, 236, 119, 237, 116, 235, 115, 236, 145, 234, 131, 235, 100, 233, 90, 234, 47, 232, 65, 233, 85, 231, 87, 232, 119, 230, 59, 231, 135, 229, 23, 230, 177, 228, 57, 229, 44, 228, 122, 228, 237, 227, 7, 228, 250, 227, 221, 227, 67, 228, 243, 227, 196, 228, 62, 228, 21, 229, 116, 228, 22, 229, 111, 228, 216, 228, 37, 228, 105, 228, 147, 227, 34, 228, 44, 227, 95, 228, 71, 227, 84, 228, 34, 227, 221, 227, 153, 226, 184, 227, 99, 226, 42, 228, 151, 226, 142, 228, 202, 226, 194, 228, 233, 226, 219, 228, 6, 227, 72, 229, 59, 227, 234, 229, 151, 227, 192, 230, 61, 228, 202, 231, 54, 229, 185, 232, 6, 230, 96, 233, 137, 230, 25, 234, 28, 231, 249, 234, 192, 231, 198, 235, 114, 232, 172, 236, 101, 233, 184, 237, 93, 234, 180, 238, 27, 235, 47, 239, 120, 235, 77, 239, 162, 235, 176, 239, 28, 236, 164, 240, 25, 237, 201, 241, 64, 238, 8, 243, 194, 239, 223, 244, 181, 241, 50, 247, 231, 243, 50, 249, 170, 245, 92, 250, 176, 246, 33, 251, 79, 247, 215, 251, 18, 248, 170, 252, 2, 249, 201, 253, 59, 250, 97, 255, 245, 251, 60, 1, 33, 254, 113, 3, 146, 0, 53, 6, 88, 3, 20, 9, 18, 6, 143, 11, 107, 8, 154, 13, 89, 10, 106, 15, 22, 12, 56, 17, 165, 13, 226, 18, 58, 15, 108, 20, 184, 16, 143, 21, 212, 17, 20, 22, 119, 18, 26, 22, 207, 18, 27, 22, 242, 18, 251, 21, 232, 18, 186, 21, 222, 18, 162, 21, 0, 19, 141, 21, 31, 19, 63, 21, 53, 19, 28, 21, 97, 19, 29, 21, 169, 19, 13, 21, 234, 19, 47, 21, 103, 20, 115, 21, 250, 20, 208, 21, 103, 21, 75, 22, 210, 21, 212, 22, 96, 22, 27, 23, 231, 22, 135, 23, 120, 23, 60, 24, 47, 24, 201, 24, 203, 24, 239, 24, 4, 25, 230, 24, 4, 25, 165, 24, 207, 24, 242, 23, 26, 24, 198, 22, 239, 22, 110, 21, 207, 21, 3, 20, 189, 20, 223, 18, 229, 19, 59, 18, 126, 19, 229, 17, 126, 19, 158, 17, 160, 19, 127, 17, 215, 19, 89, 17, 216, 19, 251, 16, 92, 19, 121, 16, 214, 18, 218, 15, 91, 18, 2, 15, 148, 17, 41, 14, 218, 16, 178, 13, 135, 16, 100, 13, 99, 16, 227, 12, 11, 16, 67, 12, 157, 15, 173, 11, 11, 15, 199, 10, 75, 14, 44, 9, 249, 12, 254, 6, 23, 11, 173, 4, 252, 8, 65, 2, 206, 6, 240, 255, 144, 4, 253, 253, 225, 2, 210, 252, 234, 1, 40, 252, 67, 1, 19, 252, 27, 1, 155, 252, 170, 1, 20, 253, 26, 2, 155, 252, 159, 1, 137, 251, 128, 0, 64, 250, 73, 255, 147, 248, 192, 253, 184, 246, 36, 252, 153, 245, 50, 251, 40, 245, 6, 251, 222, 244, 210, 250, 149, 244, 150, 250, 142, 244, 133, 250, 133, 244, 91, 250, 1, 244, 183, 249, 36, 243, 197, 248, 98, 242, 22, 248, 242, 241, 161, 247, 140, 241, 42, 247, 33, 241, 176, 246, 237, 240, 175, 246, 211, 240, 195, 246, 83, 240, 94, 246, 81, 239, 128, 245, 57, 238, 129, 244, 135, 237, 208, 243, 36, 237, 114, 243, 3, 237, 60, 243, 32, 237, 25, 243, 75, 237, 248, 242, 83, 237, 189, 242, 45, 237, 124, 242, 20, 237, 79, 242, 216, 236, 228, 241, 60, 236, 37, 241, 67, 235, 25, 240, 57, 234, 231, 238, 58, 233, 198, 237, 123, 232, 249, 236, 32, 232, 125, 236, 235, 231, 50, 236, 185, 231, 241, 235, 186, 231, 238, 235, 21, 232, 50, 236, 125, 232, 115, 236, 243, 232, 224, 236, 146, 233, 128, 237, 109, 234, 36, 238, 115, 235, 201, 238, 167, 236, 169, 239, 252, 237, 190, 240, 73, 239, 192, 241, 81, 240, 146, 242, 97, 241, 48, 243, 1, 242, 99, 243, 39, 242, 14, 243, 70, 242, 221, 242, 215, 242, 76, 243, 198, 243, 5, 244, 254, 244, 243, 244, 125, 246, 86, 246, 0, 248, 199, 247, 105, 249, 241, 248, 159, 250, 230, 249, 213, 251, 194, 250, 18, 253, 172, 251, 35, 254, 105, 252, 207, 254, 206, 252, 66, 255, 243, 252, 237, 255, 88, 253, 211, 0, 31, 254, 225, 1, 53, 255, 231, 2, 80, 0, 242, 3, 90, 1, 210, 4, 50, 2, 115, 5, 224, 2, 39, 6, 131, 3, 14, 7, 48, 4, 14, 8, 214, 4, 30, 9, 153, 5, 147, 10, 213, 6, 115, 12, 157, 8, 133, 14, 147, 10, 179, 16, 119, 12, 206, 18, 59, 14, 124, 20, 158, 15, 124, 21, 135, 16, 44, 22, 10, 17, 175, 22, 112, 17, 12, 23, 183, 17, 17, 23, 195, 17, 22, 23, 230, 17, 174, 23, 146, 18, 192, 24, 157, 19, 24, 26, 214, 20, 169, 27, 69, 22, 56, 29, 180, 23, 78, 30, 178, 24, 233, 30, 43, 25, 80, 31, 142, 25, 192, 31, 6, 26, 24, 32, 111, 26, 74, 32, 174, 26, 188, 32, 37, 27, 122, 33, 233, 27, 239, 33, 120, 28, 26, 34, 183, 28, 56, 34, 218, 28, 60, 34, 196, 28, 9, 34, 148, 28, 241, 33, 166, 28, 33, 34, 250, 28, 117, 34, 75, 29, 187, 34, 127, 29, 173, 34, 129, 29, 101, 34, 50, 29, 209, 33, 167, 28, 30, 33, 0, 28, 120, 32, 106, 27, 49, 32, 59, 27, 61, 32, 79, 27, 121, 32, 125, 27, 205, 32, 189, 27, 46, 33, 253, 27, 99, 33, 66, 28, 94, 33, 68, 28, 235, 32, 215, 27, 8, 32, 251, 26, 244, 30, 35, 26, 215, 29, 79, 25, 207, 28, 155, 24, 75, 28, 96, 24, 50, 28, 134, 24, 92, 28, 237, 24, 211, 28, 121, 25, 1, 29, 170, 25, 107, 28, 5, 25, 93, 27, 227, 23, 26, 26, 154, 22, 235, 24, 156, 21, 225, 23, 197, 20, 203, 22, 223, 19, 183, 21, 14, 19, 214, 20, 86, 18, 2, 20, 173, 17, 76, 19, 36, 17, 202, 18, 221, 16, 109, 18, 165, 16, 48, 18, 154, 16, 29, 18, 146, 16, 7, 18, 118, 16, 246, 17, 91, 16, 115, 17, 188, 15, 51, 16, 119, 14, 174, 14, 17, 13, 47, 13, 178, 11, 104, 11, 25, 10, 148, 9, 143, 8, 40, 8, 102, 7, 42, 7, 182, 6, 94, 6, 42, 6, 170, 5, 164, 5, 65, 5, 90, 5, 6, 5, 49, 5, 230, 4, 61, 5, 41, 5, 167, 5, 198, 5, 106, 6, 52, 6, 229, 6, 39, 6, 252, 6, 234, 5, 211, 6, 88, 5, 106, 6, 130, 4, 149, 5, 163, 3, 183, 4, 217, 2, 232, 3, 4, 2, 11, 3, 29, 1, 44, 2, 59, 0, 107, 1, 91, 255, 149, 0, 133, 254, 213, 255, 173, 253, 61, 255, 19, 253, 206, 254, 134, 252, 82, 254, 219, 251, 188, 253, 0, 251, 250, 252, 50, 250, 53, 252, 107, 249, 130, 251, 161, 248, 170, 250, 205, 247, 204, 249, 205, 246, 202, 248, 210, 245, 181, 247, 8, 245, 235, 246, 112, 244, 81, 246, 202, 243, 168, 245, 249, 242, 231, 244, 227, 241, 243, 243, 251, 240, 249, 242, 94, 240, 104, 242, 220, 239, 15, 242, 140, 239, 222, 241, 173, 239, 230, 241, 169, 239, 181, 241, 33, 239, 2, 241, 127, 238, 58, 240, 20, 238, 159, 239, 144, 237, 243, 238, 0, 237, 71, 238, 151, 236, 213, 237, 73, 236, 121, 237, 197, 235, 9, 237, 15, 235, 68, 236, 16, 234, 65, 235, 189, 232, 234, 233, 52, 231, 124, 232, 211, 229, 61, 231, 214, 228, 94, 230, 57, 228, 211, 229, 220, 227, 114, 229, 182, 227, 65, 229, 226, 227, 91, 229, 17, 228, 148, 229, 26, 228, 143, 229, 24, 228, 154, 229, 84, 228, 224, 229, 150, 228, 29, 230, 203, 228, 89, 230, 24, 229, 197, 230, 96, 229, 35, 231, 141, 229, 81, 231, 185, 229, 128, 231, 247, 229, 198, 231, 86, 230, 49, 232, 218, 230, 187, 232, 106, 231, 92, 233, 215, 231, 221, 233, 45, 232, 68, 234, 181, 232, 193, 234, 172, 233, 186, 235, 251, 234, 7, 237, 90, 236, 79, 238, 144, 237, 95, 239, 156, 238, 74, 240, 65, 239, 194, 240, 98, 239, 200, 240, 60, 239, 151, 240, 56, 239, 131, 240, 84, 239, 123, 240, 99, 239, 123, 240, 172, 239, 216, 240, 75, 240, 125, 241, 0, 241, 84, 242, 168, 241, 18, 243, 59, 242, 194, 243, 230, 242, 137, 244, 242, 243, 181, 245, 80, 245, 21, 247, 195, 246, 138, 248, 59, 248, 209, 249, 162, 249, 14, 251, 20, 251, 80, 252, 95, 252, 109, 253, 85, 253, 27, 254, 19, 254, 183, 254, 191, 254, 84, 255, 84, 255, 230, 255, 202, 255, 91, 0, 57, 0, 213, 0, 254, 0, 154, 1, 37, 2, 165, 2, 94, 3, 183, 3, 38, 4, 95, 4, 160, 4, 207, 4, 253, 4, 50, 5, 134, 5, 180, 5, 42, 6, 87, 6, 226, 6, 20, 7, 212, 7, 236, 7, 175, 8, 152, 8, 93, 9, 33, 9, 203, 9, 143, 9, 220, 9, 129, 9, 134, 9, 35, 9, 117, 9, 253, 8, 178, 9, 48, 9, 245, 9, 101, 9, 47, 10, 162, 9, 119, 10, 218, 9, 198, 10, 37, 10, 60, 11, 151, 10, 212, 11, 41, 11, 105, 12, 201, 11, 8, 13, 102, 12, 145, 13, 220, 12, 230, 13, 62, 13, 14, 14, 136, 13, 253, 13, 166, 13, 203, 13, 153, 13, 119, 13, 86, 13, 0, 13, 214, 12, 106, 12, 86, 12, 239, 11, 233, 11, 98, 11, 92, 11, 150, 10, 134, 10, 179, 9, 164, 9, 238, 8, 243, 8, 8, 8, 28, 8, 28, 7, 50, 7, 141, 6, 152, 6, 67, 6, 61, 6, 190, 5, 198, 5, 90, 5, 125, 5, 85, 5, 122, 5, 19, 5, 57, 5, 113, 4, 185, 4, 155, 3, 21, 4, 194, 2, 92, 3, 215, 1, 144, 2, 214, 0, 154, 1, 218, 255, 162, 0, 46, 255, 248, 255, 193, 254, 159, 255, 91, 254, 85, 255, 222, 253, 238, 254, 173, 253, 192, 254, 157, 253, 207, 254, 103, 253, 211, 254, 32, 253, 164, 254, 3, 253, 157, 254, 7, 253, 158, 254, 3, 253, 111, 254, 162, 252, 228, 253, 17, 252, 79, 253, 133, 251, 184, 252, 6, 251, 24, 252, 34, 250, 21, 251, 17, 249, 23, 250, 47, 248, 74, 249, 146, 247, 200, 248, 63, 247, 141, 248, 24, 247, 145, 248, 20, 247, 147, 248, 59, 247, 185, 248, 133, 247, 244, 248, 147, 247, 250, 248, 62, 247, 139, 248, 175, 246, 231, 247, 240, 245, 241, 246, 214, 244, 185, 245, 156, 243, 76, 244, 139, 242, 32, 243, 229, 241, 96, 242, 137, 241, 223, 241, 119, 241, 177, 241, 116, 241, 189, 241, 93, 241, 200, 241, 70, 241, 202, 241, 88, 241, 230, 241, 152, 241, 33, 242, 66, 242, 173, 242, 91, 243, 170, 243, 189, 244, 229, 244, 52, 246, 27, 246, 133, 247, 55, 247, 164, 248, 30, 248, 158, 249, 202, 248, 52, 250, 59, 249, 101, 250, 93, 249, 68, 250, 51, 249, 230, 249, 178, 248, 82, 249, 42, 248, 196, 248, 150, 247, 70, 248, 38, 247, 46, 248, 0, 247, 108, 248, 79, 247, 223, 248, 197, 247, 92, 249, 51, 248, 232, 249, 161, 248, 79, 250, 243, 248, 129, 250, 35, 249, 128, 250, 19, 249, 92, 250, 199, 248, 47, 250, 139, 248, 20, 250, 105, 248, 198, 249, 19, 248, 112, 249, 183, 247, 74, 249, 119, 247, 103, 249, 127, 247, 166, 249, 195, 247, 1, 250, 47, 248, 187, 250, 226, 248, 183, 251, 207, 249, 183, 252, 205, 250, 148, 253, 166, 251, 73, 254, 88, 252, 206, 254, 225, 252, 54, 255, 83, 253, 157, 255, 187, 253, 239, 255, 41, 254, 73, 0, 150, 254, 142, 0, 232, 254, 176, 0, 29, 255, 218, 0, 69, 255, 253, 0, 94, 255, 2, 1, 102, 255, 22, 1, 125, 255, 102, 1, 195, 255, 238, 1, 78, 0, 111, 2, 198, 0, 174, 2, 21, 1, 239, 2, 106, 1, 47, 3, 201, 1, 52, 3, 230, 1, 52, 3, 5, 2, 99, 3, 51, 2, 71, 3, 32, 2, 248, 2, 216, 1, 149, 2, 128, 1, 28, 2, 17, 1, 128, 1, 165, 0, 237, 0, 99, 0, 188, 0, 98, 0, 247, 0, 190, 0, 91, 1, 69, 1, 201, 1, 182, 1, 68, 2, 13, 2, 191, 2, 92, 2, 104, 3, 254, 2, 103, 4, 232, 3, 82, 5, 196, 4, 244, 5, 79, 5, 94, 6, 186, 5, 196, 6, 50, 6, 48, 7, 153, 6, 82, 7, 163, 6, 25, 7, 94, 6, 203, 6, 29, 6, 167, 6, 255, 5, 167, 6, 5, 6, 148, 6, 233, 5, 69, 6, 161, 5, 229, 5, 84, 5, 176, 5, 44, 5, 115, 5, 244, 4, 30, 5, 171, 4, 187, 4, 67, 4, 73, 4, 192, 3, 178, 3, 66, 3, 33, 3, 228, 2, 129, 2, 104, 2, 193, 1, 188, 1, 18, 1, 38, 1, 183, 0, 219, 0, 174, 0, 198, 0, 183, 0, 187, 0, 7, 1, 218, 0, 106, 1, 15, 1, 147, 1, 12, 1, 188, 1, 64, 1, 27, 2, 161, 1, 39, 2, 185, 1, 203, 1, 100, 1, 112, 1, 29, 1, 80, 1, 9, 1, 106, 1, 17, 1, 166, 1, 67, 1, 239, 1, 125, 1, 76, 2, 216, 1, 196, 2, 82, 2, 44, 3, 209, 2, 129, 3, 47, 3, 167, 3, 98, 3, 186, 3, 143, 3, 210, 3, 208, 3, 243, 3, 245, 3, 244, 3, 235, 3, 202, 3, 213, 3, 147, 3, 182, 3, 105, 3, 182, 3, 72, 3, 177, 3, 45, 3, 172, 3, 40, 3, 170, 3, 9, 3, 148, 3, 202, 2, 106, 3, 182, 2, 96, 3, 234, 2, 158, 3, 63, 3, 245, 3, 122, 3, 67, 4, 171, 3, 175, 4, 226, 3, 32, 5, 7, 4, 113, 5, 248, 3, 113, 5, 178, 3, 58, 5, 83, 3, 250, 4, 178, 2, 127, 4, 250, 1, 216, 3, 123, 1, 115, 3, 49, 1, 64, 3, 252, 0, 14, 3, 207, 0, 0, 3, 30, 1, 103, 3, 210, 1, 40, 4, 135, 2, 206, 4, 33, 3, 87, 5, 201, 3, 6, 6, 146, 4, 195, 6, 132, 5, 162, 7, 155, 6, 167, 8, 171, 7, 161, 9, 134, 8, 101, 10, 47, 9, 247, 10, 139, 9, 106, 11, 177, 9, 150, 11, 174, 9, 152, 11, 136, 9, 126, 11, 73, 9, 88, 11, 47, 9, 63, 11, 10, 9, 34, 11, 215, 8, 227, 10, 158, 8, 158, 10, 135, 8, 88, 10, 108, 8, 33, 10, 55, 8, 208, 9, 200, 7, 87, 9, 60, 7, 189, 8, 147, 6, 23, 8, 20, 6, 156, 7, 228, 5, 138, 7, 7, 6, 190, 7, 35, 6, 223, 7, 49, 6, 229, 7, 75, 6, 239, 7, 157, 6, 57, 8, 11, 7, 147, 8, 76, 7, 214, 8, 107, 7, 238, 8, 156, 7, 7, 9, 218, 7, 40, 9, 254, 7, 50, 9, 28, 8, 53, 9, 49, 8, 31, 9, 70, 8, 4, 9, 21, 8, 207, 8, 160, 7, 115, 8, 249, 6, 194, 7, 86, 6, 32, 7, 239, 5, 154, 6, 167, 5, 61, 6, 136, 5, 236, 5, 92, 5, 167, 5, 62, 5, 103, 5, 6, 5, 19, 5, 163, 4, 179, 4, 19, 4, 85, 4, 127, 3, 236, 3, 243, 2, 151, 3, 142, 2, 79, 3, 60, 2, 16, 3, 247, 1, 201, 2, 123, 1, 106, 2, 248, 0, 239, 1, 165, 0, 141, 1, 125, 0, 55, 1, 73, 0, 243, 0, 39, 0, 213, 0, 72, 0, 251, 0, 200, 0, 78, 1, 60, 1, 140, 1, 102, 1, 133, 1, 107, 1, 99, 1, 119, 1, 81, 1, 123, 1, 64, 1, 149, 1, 54, 1, 200, 1, 78, 1, 246, 1, 120, 1, 71, 2, 207, 1, 4, 3, 127, 2, 241, 3, 71, 3, 187, 4, 216, 3, 55, 5, 19, 4, 97, 5, 41, 4, 112, 5, 39, 4, 117, 5, 4, 4, 96, 5, 220, 3, 80, 5, 193, 3, 82, 5, 178, 3, 76, 5, 163, 3, 84, 5, 168, 3, 155, 5, 216, 3, 253, 5, 32, 4, 62, 6, 75, 4, 89, 6, 135, 4, 112, 6, 171, 4, 104, 6, 165, 4, 44, 6, 92, 4, 220, 5, 26, 4, 173, 5, 242, 3, 143, 5, 176, 3, 56, 5, 47, 3, 181, 4, 157, 2, 93, 4, 41, 2, 97, 4, 24, 2, 163, 4, 78, 2, 24, 5, 183, 2, 169, 5, 65, 3, 85, 6, 228, 3, 0, 7, 142, 4, 136, 7, 246, 4, 190, 7, 36, 5, 212, 7, 22, 5, 243, 7, 30, 5, 23, 8, 53, 5, 23, 8, 76, 5, 8, 8, 39, 5, 231, 7, 248, 4, 196, 7, 197, 4, 99, 7, 132, 4, 183, 6, 252, 3, 245, 5, 96, 3, 121, 5, 251, 2, 63, 5, 217, 2, 57, 5, 244, 2, 56, 5, 0, 3, 15, 5, 221, 2, 192, 4, 117, 2, 100, 4, 2, 2, 228, 3, 100, 1, 250, 2, 128, 0, 218, 1, 101, 255, 205, 0, 119, 254, 19, 0, 206, 253, 130, 255, 84, 253, 24, 255, 1, 253, 175, 254, 235, 252, 96, 254, 220, 252, 245, 253, 167, 252, 96, 253, 69, 252, 173, 252, 224, 251, 224, 251, 75, 251, 241, 250, 152, 250, 12, 250, 231, 249, 91, 249, 69, 249, 191, 248, 182, 248, 112, 248, 133, 248, 109, 248, 184, 248, 133, 248, 234, 248, 160, 248, 39, 249, 159, 248, 64, 249, 70, 248, 25, 249, 190, 247, 198, 248, 88, 247, 122, 248, 1, 247, 64, 248, 182, 246, 5, 248, 177, 246, 244, 247, 187, 246, 251, 247, 118, 246, 205, 247, 221, 245, 94, 247, 23, 245, 182, 246, 45, 244, 4, 246, 71, 243, 84, 245, 135, 242, 221, 244, 25, 242, 162, 244, 219, 241, 110, 244, 192, 241, 75, 244, 132, 241, 24, 244, 50, 241, 230, 243, 26, 241, 191, 243, 60, 241, 224, 243, 101, 241, 5, 244, 143, 241, 61, 244, 213, 241, 126, 244, 45, 242, 200, 244, 109, 242, 235, 244, 154, 242, 238, 244, 130, 242, 192, 244, 103, 242, 162, 244, 93, 242, 139, 244, 107, 242, 146, 244, 147, 242, 151, 244, 238, 242, 207, 244, 99, 243, 27, 245, 234, 243, 127, 245, 119, 244, 243, 245, 33, 245, 115, 246, 147, 245, 178, 246, 165, 245, 178, 246, 72, 245, 105, 246, 218, 244, 26, 246, 186, 244, 240, 245, 205, 244, 4, 246, 221, 244, 19, 246, 243, 244, 24, 246, 64, 245, 86, 246, 223, 245, 207, 246, 156, 246, 90, 247, 71, 247, 225, 247, 187, 247, 61, 248, 248, 247, 119, 248, 41, 248, 148, 248, 100, 248, 193, 248, 164, 248, 246, 248, 253, 248, 59, 249, 82, 249, 138, 249, 224, 249, 8, 250, 139, 250, 159, 250, 84, 251, 79, 251, 71, 252, 28, 252, 85, 253, 25, 253, 106, 254, 34, 254, 141, 255, 41, 255, 137, 0, 20, 0, 88, 1, 192, 0, 8, 2, 102, 1, 168, 2, 253, 1, 70, 3, 158, 2, 205, 3, 31, 3, 74, 4, 146, 3, 200, 4, 17, 4, 89, 5, 151, 4, 229, 5, 20, 5, 124, 6, 157, 5, 31, 7, 42, 6, 140, 7, 100, 6, 227, 7, 133, 6, 66, 8, 184, 6, 128, 8, 203, 6, 176, 8, 202, 6, 236, 8, 225, 6, 45, 9, 0, 7, 108, 9, 21, 7, 160, 9, 48, 7, 124, 9, 11, 7, 8, 9, 146, 6, 110, 8, 247, 5, 225, 7, 101, 5, 49, 7, 206, 4, 170, 6, 72, 4, 107, 6, 7, 4, 50, 6, 197, 3, 215, 5, 102, 3, 107, 5, 240, 2, 25, 5, 145, 2, 180, 4, 53, 2, 49, 4, 185, 1, 195, 3, 59, 1, 149, 3, 4, 1, 116, 3, 218, 0, 43, 3, 156, 0, 232, 2, 93, 0, 216, 2, 81, 0, 231, 2, 116, 0, 240, 2, 157, 0, 241, 2, 199, 0, 21, 3, 238, 0, 41, 3, 254, 0, 22, 3, 225, 0, 235, 2, 163, 0, 179, 2, 83, 0, 84, 2, 208, 255, 183, 1, 60, 255, 240, 0, 122, 254, 33, 0, 196, 253, 122, 255, 55, 253, 232, 254, 207, 252, 131, 254, 138, 252, 69, 254, 110, 252, 1, 254, 88, 252, 184, 253, 42, 252, 113, 253, 250, 251, 104, 253, 242, 251, 152, 253, 35, 252, 230, 253, 122, 252, 27, 254, 201, 252, 61, 254, 10, 253, 119, 254, 86, 253, 218, 254, 174, 253, 31, 255, 13, 254, 45, 255, 50, 254, 44, 255, 84, 254, 55, 255, 99, 254, 55, 255, 114, 254, 42, 255, 105, 254, 76, 255, 148, 254, 149, 255, 220, 254, 241, 255, 59, 255, 109, 0, 147, 255, 32, 1, 19, 0, 239, 1, 188, 0, 151, 2, 92, 1, 249, 2, 184, 1, 1, 3, 211, 1, 150, 2, 149, 1, 238, 1, 52, 1, 94, 1, 224, 0, 23, 1, 200, 0, 224, 0, 191, 0, 198, 0, 189, 0, 209, 0, 230, 0, 39, 1, 52, 1, 104, 1, 113, 1, 162, 1, 169, 1, 245, 1, 245, 1, 93, 2, 94, 2, 204, 2, 216, 2, 49, 3, 84, 3, 114, 3, 154, 3, 134, 3, 157, 3, 121, 3, 153, 3, 137, 3, 193, 3, 222, 3, 35, 4, 81, 4, 149, 4, 197, 4, 4, 5, 72, 5, 149, 5, 209, 5, 42, 6, 91, 6, 185, 6, 247, 6, 87, 7, 152, 7, 251, 7, 40, 8, 111, 8, 157, 8, 241, 8, 21, 9, 132, 9, 105, 9, 244, 9, 143, 9, 29, 10, 99, 9, 7, 10, 232, 8, 161, 9, 73, 8, 47, 9, 242, 7, 234, 8, 35, 8, 37, 9, 188, 8, 176, 9, 97, 9, 75, 10, 166, 9, 150, 10, 192, 9, 193, 10, 232, 9, 252, 10, 233, 9, 32, 11, 177, 9, 254, 10, 118, 9, 235, 10, 45, 9, 197, 10, 175, 8, 116, 10, 72, 8, 52, 10, 105, 8, 95, 10, 244, 8, 235, 10, 72, 9, 65, 11, 78, 9, 106, 11, 103, 9, 148, 11, 153, 9, 225, 11, 164, 9, 227, 11, 122, 9, 195, 11, 55, 9, 112, 11, 201, 8, 9, 11, 66, 8, 122, 10, 136, 7, 217, 9, 183, 6, 38, 9, 253, 5, 130, 8, 85, 5, 246, 7, 168, 4, 128, 7, 243, 3, 8, 7, 97, 3, 161, 6, 242, 2, 83, 6, 144, 2, 24, 6, 62, 2, 221, 5, 12, 2, 190, 5, 15, 2, 198, 5, 36, 2, 224, 5, 41, 2, 202, 5, 224, 1, 115, 5, 68, 1, 189, 4, 124, 0, 247, 3, 188, 255, 34, 3, 208, 254, 51, 2, 172, 253, 27, 1, 113, 252, 236, 255, 47, 251, 170, 254, 3, 250, 134, 253, 229, 248, 114, 252, 194, 247, 89, 251, 192, 246, 79, 250, 249, 245, 135, 249, 69, 245, 200, 248, 167, 244, 20, 248, 43, 244, 123, 247, 207, 243, 5, 247, 120, 243, 156, 246, 41, 243, 72, 246, 232, 242, 0, 246, 189, 242, 208, 245, 148, 242, 158, 245, 48, 242, 61, 245, 181, 241, 169, 244, 46, 241, 29, 244, 179, 240, 134, 243, 58, 240, 238, 242, 194, 239, 75, 242, 104, 239, 193, 241, 60, 239, 109, 241, 43, 239, 40, 241, 27, 239, 251, 240, 8, 239, 203, 240, 188, 238, 128, 240, 61, 238, 254, 239, 164, 237, 119, 239, 26, 237, 12, 239, 171, 236, 164, 238, 107, 236, 101, 238, 122, 236, 89, 238, 194, 236, 142, 238, 254, 236, 140, 238, 7, 237, 94, 238, 250, 236, 43, 238, 233, 236, 242, 237, 203, 236, 175, 237, 196, 236, 124, 237, 164, 236, 76, 237, 148, 236, 26, 237, 132, 236, 244, 236, 128, 236, 215, 236, 92, 236, 196, 236, 72, 236, 174, 236, 67, 236, 183, 236, 102, 236, 214, 236, 168, 236, 47, 237, 17, 237, 169, 237, 172, 237, 59, 238, 81, 238, 192, 238, 216, 238, 36, 239, 95, 239, 136, 239, 228, 239, 239, 239, 92, 240, 80, 240, 192, 240, 171, 240, 39, 241, 15, 241, 154, 241, 133, 241, 22, 242, 252, 241, 164, 242, 137, 242, 86, 243, 59, 243, 32, 244, 251, 243, 236, 244, 188, 244, 192, 245, 127, 245, 158, 246, 80, 246, 139, 247, 55, 247, 171, 248, 86, 248, 246, 249, 138, 249, 254, 250, 125, 250, 150, 251, 229, 250, 233, 251, 34, 251, 95, 252, 88, 251, 211, 252, 135, 251, 254, 252, 129, 251, 23, 253, 118, 251, 79, 253, 162, 251, 202, 253, 23, 252, 148, 254, 219, 252, 134, 255, 205, 253, 148, 0, 217, 254, 192, 1, 242, 255, 216, 2, 254, 0, 198, 3, 199, 1, 135, 4, 98, 2, 19, 5, 207, 2, 108, 5, 19, 3, 181, 5, 88, 3, 252, 5, 166, 3, 76, 6, 1, 4, 177, 6, 108, 4, 57, 7, 227, 4, 194, 7, 102, 5, 66, 8, 250, 5, 217, 8, 161, 6, 112, 9, 65, 7, 234, 9, 188, 7, 102, 10, 46, 8, 230, 10, 180, 8, 115, 11, 35, 9, 209, 11, 93, 9, 40, 12, 150, 9, 80, 12, 164, 9, 63, 12, 124, 9, 23, 12, 78, 9, 237, 11, 66, 9, 195, 11, 70, 9, 128, 11, 55, 9, 42, 11, 6, 9, 216, 10, 232, 8, 198, 10, 253, 8, 236, 10, 57, 9, 54, 11, 141, 9, 195, 11, 17, 10, 135, 12, 216, 10, 127, 13, 175, 11, 86, 14, 111, 12, 224, 14, 229, 12, 4, 15, 253, 12, 211, 14, 198, 12, 133, 14, 123, 12, 42, 14, 45, 12, 171, 13, 192, 11, 28, 13, 63, 11, 130, 12, 186, 10, 248, 11, 64, 10, 142, 11, 235, 9, 97, 11, 197, 9, 124, 11, 230, 9, 193, 11, 41, 10, 30, 12, 126, 10, 137, 12, 230, 10, 243, 12, 67, 11, 253, 12, 78, 11, 173, 12, 5, 11, 45, 12, 146, 10, 165, 11, 21, 10, 50, 11, 165, 9, 210, 10, 75, 9, 85, 10, 226, 8, 240, 9, 139, 8, 148, 9, 52, 8, 61, 9, 222, 7, 157, 8, 68, 7, 189, 7, 126, 6, 222, 6, 172, 5, 14, 6, 238, 4, 71, 5, 46, 4, 129, 4, 109, 3, 186, 3, 180, 2, 229, 2, 231, 1, 235, 1, 18, 1, 237, 0, 49, 0, 220, 255, 60, 255, 207, 254, 71, 254, 211, 253, 96, 253, 0, 253, 158, 252, 94, 252, 254, 251, 17, 252, 172, 251, 4, 252, 159, 251, 22, 252, 171, 251, 30, 252, 192, 251, 36, 252, 204, 251, 33, 252, 214, 251, 27, 252, 184, 251, 236, 251, 124, 251, 130, 251, 5, 251, 234, 250, 99, 250, 59, 250, 150, 249, 153, 249, 212, 248, 254, 248, 50, 248, 157, 248, 221, 247, 102, 248, 180, 247, 92, 248, 168, 247, 107, 248, 173, 247, 189, 248, 249, 247, 3, 249, 31, 248, 199, 248, 203, 247, 100, 248, 85, 247, 213, 247, 185, 246, 19, 247, 235, 245, 104, 246, 49, 245, 163, 245, 117, 244, 68, 244, 62, 243, 241, 242, 7, 242, 34, 242, 88, 241, 165, 241, 226, 240, 45, 241, 120, 240, 169, 240, 254, 239, 44, 240, 136, 239, 23, 240, 113, 239, 61, 240, 158, 239, 90, 240, 183, 239, 171, 240, 23, 240, 53, 241, 151, 240, 177, 241, 21, 241, 64, 242, 153, 241, 193, 242, 27, 242, 238, 242, 68, 242, 216, 242, 36, 242, 140, 242, 224, 241, 51, 242, 153, 241, 28, 242, 157, 241, 52, 242, 211, 241, 81, 242, 3, 242, 148, 242, 72, 242, 3, 243, 171, 242, 146, 243, 39, 243, 27, 244, 178, 243, 146, 244, 58, 244, 209, 244, 143, 244, 198, 244, 160, 244, 163, 244, 178, 244, 133, 244, 197, 244, 141, 244, 1, 245, 186, 244, 75, 245, 10, 245, 174, 245, 108, 245, 20, 246, 204, 245, 106, 246, 25, 246, 173, 246, 57, 246, 215, 246, 86, 246, 244, 246, 188, 246, 85, 247, 128, 247, 17, 248, 126, 248, 15, 249, 114, 249, 13, 250, 79, 250, 229, 250, 249, 250, 134, 251, 148, 251, 30, 252, 49, 252, 188, 252, 190, 252, 71, 253, 58, 253, 203, 253, 180, 253, 68, 254, 22, 254, 158, 254, 106, 254, 235, 254, 190, 254, 61, 255, 251, 254, 121, 255, 23, 255, 156, 255, 253, 254, 124, 255, 204, 254, 102, 255, 202, 254, 129, 255, 9, 255, 231, 255, 103, 255, 110, 0, 205, 255, 11, 1, 37, 0, 149, 1, 109, 0, 5, 2, 184, 0, 92, 2, 23, 1, 205, 2, 106, 1, 41, 3, 171, 1, 115, 3, 196, 1, 151, 3, 235, 1, 203, 3, 63, 2, 43, 4, 201, 2, 197, 4, 136, 3, 117, 5, 87, 4, 84, 6, 58, 5, 46, 7, 42, 6, 43, 8, 82, 7, 63, 9, 90, 8, 62, 10, 38, 9, 7, 11, 204, 9, 201, 11, 130, 10, 147, 12, 59, 11, 89, 13, 239, 11, 247, 13, 115, 12, 123, 14, 190, 12, 196, 14, 227, 12, 253, 14, 16, 13, 32, 15, 67, 13, 89, 15, 124, 13, 132, 15, 154, 13, 151, 15, 197, 13, 178, 15, 241, 13, 232, 15, 52, 14, 45, 16, 128, 14, 121, 16, 253, 14, 236, 16, 129, 15, 122, 17, 243, 15, 21, 18, 96, 16, 153, 18, 161, 16, 232, 18, 150, 16, 212, 18, 28, 16, 94, 18, 107, 15, 165, 17, 146, 14, 208, 16, 181, 13, 240, 15, 237, 12, 40, 15, 51, 12, 100, 14, 131, 11, 180, 13, 237, 10, 32, 13, 133, 10, 198, 12, 103, 10, 165, 12, 107, 10, 154, 12, 111, 10, 158, 12, 122, 10, 154, 12, 166, 10, 190, 12, 213, 10, 207, 12, 219, 10, 193, 12, 184, 10, 135, 12, 100, 10, 26, 12, 232, 9, 139, 11, 78, 9, 227, 10, 150, 8, 34, 10, 229, 7, 108, 9, 85, 7, 220, 8, 214, 6, 106, 8, 101, 6, 2, 8, 254, 5, 172, 7, 166, 5, 93, 7, 104, 5, 53, 7, 81, 5, 20, 7, 51, 5, 238, 6, 16, 5, 177, 6, 225, 4, 100, 6, 176, 4, 17, 6, 76, 4, 159, 5, 181, 3, 252, 4, 13, 3, 79, 4, 102, 2, 175, 3, 182, 1, 2, 3, 1, 1, 93, 2, 153, 0, 245, 1, 76, 0, 165, 1, 13, 0, 84, 1, 200, 255, 14, 1, 181, 255, 246, 0, 203, 255, 27, 1, 7, 0, 86, 1, 61, 0, 134, 1, 52, 0, 110, 1, 225, 255, 18, 1, 68, 255, 103, 0, 99, 254, 113, 255, 118, 253, 107, 254, 155, 252, 122, 253, 225, 251, 192, 252, 109, 251, 59, 252, 70, 251, 12, 252, 93, 251, 28, 252, 151, 251, 69, 252, 235, 251, 134, 252, 54, 252, 173, 252, 94, 252, 196, 252, 112, 252, 216, 252, 121, 252, 206, 252, 110, 252, 189, 252, 74, 252, 147, 252, 28, 252, 116, 252, 16, 252, 99, 252, 28, 252, 88, 252, 29, 252, 66, 252, 24, 252, 35, 252, 53, 252, 38, 252, 102, 252, 46, 252, 169, 252, 70, 252, 249, 252, 119, 252, 73, 253, 170, 252, 122, 253, 206, 252, 192, 253, 247, 252, 41, 254, 65, 253, 145, 254, 121, 253, 233, 254, 159, 253, 71, 255, 189, 253, 140, 255, 204, 253, 148, 255, 160, 253, 111, 255, 71, 253, 75, 255, 245, 252, 80, 255, 219, 252, 123, 255, 231, 252, 200, 255, 33, 253, 79, 0, 134, 253, 8, 1, 27, 254, 200, 1, 183, 254, 87, 2, 46, 255, 216, 2, 154, 255, 65, 3, 245, 255, 166, 3, 65, 0, 251, 3, 142, 0, 78, 4, 201, 0, 125, 4, 231, 0, 128, 4, 210, 0, 126, 4, 177, 0, 97, 4, 122, 0, 51, 4, 61, 0, 233, 3, 247, 255, 140, 3, 165, 255, 24, 3, 61, 255, 131, 2, 172, 254, 235, 1, 40, 254, 103, 1, 181, 253, 251, 0, 86, 253, 165, 0, 6, 253, 101, 0, 205, 252, 61, 0, 171, 252, 51, 0, 162, 252, 82, 0, 201, 252, 157, 0, 24, 253, 7, 1, 123, 253, 119, 1, 224, 253, 224, 1, 60, 254, 36, 2, 120, 254, 60, 2, 140, 254, 252, 1, 69, 254, 140, 1, 208, 253, 254, 0, 83, 253, 116, 0, 219, 252, 249, 255, 129, 252, 159, 255, 67, 252, 110, 255, 56, 252, 94, 255, 68, 252, 82, 255, 87, 252, 61, 255, 84, 252, 10, 255, 71, 252, 199, 254, 18, 252, 129, 254, 214, 251, 61, 254, 161, 251, 11, 254, 144, 251, 232, 253, 138, 251, 223, 253, 148, 251, 196, 253, 153, 251, 180, 253, 168, 251, 124, 253, 148, 251, 21, 253, 77, 251, 126, 252, 213, 250, 208, 251, 82, 250, 37, 251, 205, 249, 191, 250, 127, 249, 155, 250, 112, 249, 173, 250, 142, 249, 237, 250, 225, 249, 82, 251, 75, 250, 180, 251, 192, 250, 255, 251, 27, 251, 10, 252, 64, 251, 212, 251, 46, 251, 142, 251, 10, 251, 72, 251, 234, 250, 248, 250, 198, 250, 193, 250, 179, 250, 173, 250, 194, 250, 189, 250, 228, 250, 208, 250, 33, 251, 9, 251, 99, 251, 43, 251, 172, 251, 105, 251, 220, 251, 123, 251, 1, 252, 161, 251, 31, 252, 185, 251, 90, 252, 216, 251, 134, 252, 237, 251, 180, 252, 3, 252, 240, 252, 50, 252, 68, 253, 112, 252, 169, 253, 173, 252, 0, 254, 203, 252, 56, 254, 228, 252, 72, 254, 210, 252, 54, 254, 196, 252, 30, 254, 175, 252, 22, 254, 144, 252, 0, 254, 111, 252, 226, 253, 69, 252, 195, 253, 33, 252, 184, 253, 252, 251, 152, 253, 177, 251, 108, 253, 127, 251, 65, 253, 42, 251, 246, 252, 192, 250, 139, 252, 41, 250, 248, 251, 162, 249, 133, 251, 37, 249, 27, 251, 196, 248, 204, 250, 140, 248, 166, 250, 129, 248, 180, 250, 157, 248, 234, 250, 239, 248, 78, 251, 113, 249, 220, 251, 19, 250, 131, 252, 159, 250, 23, 253, 234, 250, 110, 253, 248, 250, 143, 253, 210, 250, 132, 253, 174, 250, 106, 253, 124, 250, 76, 253, 80, 250, 37, 253, 26, 250, 251, 252, 6, 250, 230, 252, 4, 250, 212, 252, 255, 249, 205, 252, 239, 249, 176, 252, 208, 249, 168, 252, 176, 249, 130, 252, 112, 249, 86, 252, 68, 249, 31, 252, 29, 249, 236, 251, 247, 248, 175, 251, 206, 248, 126, 251, 153, 248, 52, 251, 87, 248, 234, 250, 32, 248, 181, 250, 252, 247, 155, 250, 252, 247, 170, 250, 7, 248, 200, 250, 56, 248, 6, 251, 144, 248, 82, 251, 241, 248, 159, 251, 47, 249, 198, 251, 115, 249, 246, 251, 213, 249, 55, 252, 63, 250, 129, 252, 171, 250, 207, 252, 9, 251, 38, 253, 108, 251, 122, 253, 220, 251, 226, 253, 80, 252, 77, 254, 178, 252, 177, 254, 4, 253, 248, 254, 55, 253, 41, 255, 122, 253, 107, 255, 175, 253, 168, 255, 210, 253, 207, 255, 210, 253, 209, 255, 211, 253, 208, 255, 197, 253, 186, 255, 164, 253, 151, 255, 121, 253, 79, 255, 40, 253, 237, 254, 201, 252, 122, 254, 78, 252, 246, 253, 222, 251, 124, 253, 115, 251, 27, 253, 61, 251, 231, 252, 30, 251, 218, 252, 53, 251, 241, 252, 128, 251, 64, 253, 14, 252, 185, 253, 186, 252, 78, 254, 92, 253, 216, 254, 205, 253, 55, 255, 29, 254, 127, 255, 97, 254, 178, 255, 134, 254, 221, 255, 163, 254, 247, 255, 228, 254, 59, 0, 74, 255, 160, 0, 199, 255, 22, 1, 92, 0, 161, 1, 247, 0, 35, 2, 148, 1, 168, 2, 20, 2, 11, 3, 117, 2, 82, 3, 196, 2, 138, 3, 19, 3, 201, 3, 84, 3, 245, 3, 152, 3, 43, 4, 242, 3, 127, 4, 72, 4, 193, 4, 162, 4, 12, 5, 252, 4, 82, 5, 50, 5, 116, 5, 59, 5, 98, 5, 36, 5, 53, 5, 17, 5, 4, 5, 246, 4, 219, 4, 238, 4, 184, 4, 2, 5, 202, 4, 63, 5, 252, 4, 123, 5, 57, 5, 204, 5, 136, 5, 59, 6, 249, 5, 189, 6, 126, 6, 68, 7, 8, 7, 208, 7, 146, 7, 60, 8, 3, 8, 135, 8, 76, 8, 173, 8, 105, 8, 189, 8, 116, 8, 215, 8, 129, 8, 247, 8, 146, 8, 24, 9, 156, 8, 68, 9, 188, 8, 117, 9, 209, 8, 163, 9, 244, 8, 198, 9, 12, 9, 218, 9, 36, 9, 204, 9, 31, 9, 178, 9, 29, 9, 176, 9, 38, 9, 197, 9, 77, 9, 249, 9, 131, 9, 59, 10, 194, 9, 120, 10, 248, 9, 164, 10, 31, 10, 197, 10, 59, 10, 215, 10, 76, 10, 233, 10, 81, 10, 225, 10, 76, 10, 222, 10, 71, 10, 212, 10, 75, 10, 234, 10, 84, 10, 21, 11, 127, 10, 61, 11, 161, 10, 69, 11, 157, 10, 54, 11, 145, 10, 53, 11, 143, 10, 59, 11, 160, 10, 68, 11, 166, 10, 78, 11, 189, 10, 83, 11, 186, 10, 65, 11, 172, 10, 31, 11, 128, 10, 244, 10, 82, 10, 182, 10, 5, 10, 95, 10, 160, 9, 228, 9, 48, 9, 107, 9, 185, 8, 226, 8, 71, 8, 100, 8, 212, 7, 247, 7, 123, 7, 170, 7, 64, 7, 103, 7, 13, 7, 48, 7, 220, 6, 255, 6, 184, 6, 224, 6, 153, 6, 190, 6, 125, 6, 160, 6, 98, 6, 122, 6, 74, 6, 93, 6, 37, 6, 65, 6, 1, 6, 2, 6, 165, 5, 160, 5, 38, 5, 44, 5, 153, 4, 173, 4, 9, 4, 53, 4, 134, 3, 193, 3, 13, 3, 97, 3, 180, 2, 0, 3, 100, 2, 166, 2, 24, 2, 87, 2, 221, 1, 34, 2, 174, 1, 252, 1, 129, 1, 188, 1, 59, 1, 103, 1, 218, 0, 229, 0, 82, 0, 68, 0, 168, 255, 145, 255, 243, 254, 201, 254, 49, 254, 213, 253, 76, 253, 216, 252, 97, 252, 233, 251, 131, 251, 40, 251, 213, 250, 151, 250, 59, 250, 32, 250, 202, 249, 212, 249, 127, 249, 175, 249, 71, 249, 167, 249, 56, 249, 217, 249, 81, 249, 54, 250, 156, 249, 137, 250, 221, 249, 205, 250, 16, 250, 249, 250, 44, 250, 7, 251, 35, 250, 243, 250, 250, 249, 177, 250, 175, 249, 81, 250, 69, 249, 196, 249, 199, 248, 65, 249, 78, 248, 174, 248, 197, 247, 41, 248, 91, 247, 193, 247, 251, 246, 88, 247, 167, 246, 28, 247, 115, 246, 25, 247, 114, 246, 68, 247, 162, 246, 130, 247, 220, 246, 200, 247, 40, 247, 2, 248, 99, 247, 14, 248, 121, 247, 227, 247, 89, 247, 139, 247, 17, 247, 15, 247, 167, 246, 128, 246, 58, 246, 254, 245, 191, 245, 148, 245, 90, 245, 64, 245, 12, 245, 19, 245, 212, 244, 2, 245, 186, 244, 25, 245, 194, 244, 48, 245, 214, 244, 45, 245, 199, 244, 13, 245, 161, 244, 240, 244, 143, 244, 227, 244, 128, 244, 210, 244, 132, 244, 205, 244, 118, 244, 184, 244, 105, 244, 148, 244, 74, 244, 90, 244, 14, 244, 252, 243, 189, 243, 151, 243, 90, 243, 31, 243, 247, 242, 165, 242, 126, 242, 41, 242, 15, 242, 192, 241, 152, 241, 105, 241, 71, 241, 68, 241, 11, 241, 51, 241, 234, 240, 48, 241, 210, 240, 46, 241, 196, 240, 65, 241, 198, 240, 103, 241, 220, 240, 135, 241, 250, 240, 163, 241, 23, 241, 204, 241, 58, 241, 0, 242, 118, 241, 38, 242, 152, 241, 38, 242, 159, 241, 20, 242, 147, 241, 10, 242, 144, 241, 13, 242, 167, 241, 49, 242, 225, 241, 128, 242, 63, 242, 237, 242, 187, 242, 97, 243, 64, 243, 247, 243, 205, 243, 110, 244, 68, 244, 194, 244, 139, 244, 239, 244, 182, 244, 48, 245, 231, 244, 103, 245, 32, 245, 189, 245, 122, 245, 64, 246, 249, 245, 233, 246, 169, 246, 181, 247, 118, 247, 154, 248, 89, 248, 142, 249, 61, 249, 145, 250, 45, 250, 140, 251, 24, 251, 128, 252, 249, 251, 84, 253, 198, 252, 35, 254, 144, 253, 210, 254, 69, 254, 151, 255, 9, 255, 66, 0, 187, 255, 238, 0, 97, 0, 134, 1, 1, 1, 23, 2, 149, 1, 147, 2, 22, 2, 234, 2, 129, 2, 73, 3, 1, 3, 171, 3, 134, 3, 27, 4, 23, 4, 125, 4, 154, 4, 215, 4, 15, 5, 76, 5, 139, 5, 214, 5, 19, 6, 105, 6, 150, 6, 228, 6, 252, 6, 65, 7, 68, 7, 140, 7, 125, 7, 172, 7, 163, 7, 204, 7, 199, 7, 234, 7, 240, 7, 41, 8, 62, 8, 132, 8, 173, 8, 254, 8, 67, 9, 131, 9, 210, 9, 22, 10, 124, 10, 173, 10, 33, 11, 56, 11, 185, 11, 176, 11, 56, 12, 7, 12, 160, 12, 71, 12, 237, 12, 111, 12, 34, 13, 125, 12, 51, 13, 102, 12, 50, 13, 78, 12, 28, 13, 64, 12, 25, 13, 78, 12, 52, 13, 140, 12, 130, 13, 0, 13, 7, 14, 133, 13, 155, 14, 10, 14, 57, 15, 117, 14, 175, 15, 202, 14, 11, 16, 255, 14, 57, 16, 20, 15, 61, 16, 6, 15, 43, 16, 249, 14, 251, 15, 228, 14, 212, 15, 222, 14, 183, 15, 191, 14, 131, 15, 149, 14, 79, 15, 90, 14, 1, 15, 0, 14, 173, 14, 153, 13, 68, 14, 54, 13, 222, 13, 215, 12, 137, 13, 152, 12, 76, 13, 118, 12, 65, 13, 140, 12, 75, 13, 170, 12, 122, 13, 205, 12, 154, 13, 234, 12, 182, 13, 250, 12, 194, 13, 255, 12, 191, 13, 197, 12, 146, 13, 108, 12, 55, 13, 242, 11, 198, 12, 103, 11, 61, 12, 218, 10, 185, 11, 93, 10, 53, 11, 230, 9, 199, 10, 145, 9, 110, 10, 93, 9, 77, 10, 64, 9, 44, 10, 14, 9, 4, 10, 204, 8, 206, 9, 136, 8, 137, 9, 62, 8, 66, 9, 238, 7, 238, 8, 126, 7, 127, 8, 252, 6, 250, 7, 97, 6, 103, 7, 198, 5, 207, 6, 45, 5, 68, 6, 156, 4, 185, 5, 15, 4, 56, 5, 118, 3, 169, 4, 226, 2, 28, 4, 98, 2, 161, 3, 251, 1, 57, 3, 162, 1, 227, 2, 107, 1, 173, 2, 100, 1, 167, 2, 105, 1, 177, 2, 121, 1, 182, 2, 133, 1, 189, 2, 123, 1, 166, 2, 79, 1, 117, 2, 11, 1, 36, 2, 154, 0, 173, 1, 17, 0, 23, 1, 87, 255, 93, 0, 142, 254, 153, 255, 189, 253, 212, 254, 14, 253, 52, 254, 108, 252, 165, 253, 1, 252, 60, 253, 186, 251, 248, 252, 176, 251, 226, 252, 197, 251, 237, 252, 248, 251, 2, 253, 18, 252, 8, 253, 28, 252, 2, 253, 6, 252, 241, 252, 221, 251, 196, 252, 155, 251, 136, 252, 92, 251, 70, 252, 50, 251, 21, 252, 38, 251, 249, 251, 49, 251, 254, 251, 73, 251, 3, 252, 110, 251, 43, 252, 170, 251, 85, 252, 222, 251, 146, 252, 17, 252, 195, 252, 80, 252, 11, 253, 154, 252, 71, 253, 210, 252, 114, 253, 240, 252, 132, 253, 18, 253, 139, 253, 18, 253, 138, 253, 13, 253, 115, 253, 250, 252, 98, 253, 204, 252, 48, 253, 136, 252, 243, 252, 72, 252, 181, 252, 35, 252, 150, 252, 40, 252, 151, 252, 97, 252, 194, 252, 195, 252, 19, 253, 83, 253, 145, 253, 17, 254, 59, 254, 226, 254, 246, 254, 185, 255, 184, 255, 126, 0, 106, 0, 46, 1, 12, 1, 186, 1, 141, 1, 32, 2, 220, 1, 90, 2, 6, 2, 122, 2, 6, 2, 140, 2, 253, 1, 161, 2, 250, 1, 181, 2, 252, 1, 219, 2, 27, 2, 11, 3, 74, 2, 77, 3, 145, 2, 151, 3, 217, 2, 220, 3, 40, 3, 7, 4, 75, 3, 15, 4, 83, 3, 237, 3, 40, 3, 177, 3, 236, 2, 119, 3, 170, 2, 59, 3, 113, 2, 22, 3, 68, 2, 234, 2, 21, 2, 222, 2, 8, 2, 227, 2, 27, 2, 7, 3, 67, 2, 46, 3, 128, 2, 111, 3, 200, 2, 183, 3, 32, 3, 251, 3, 123, 3, 105, 4, 236, 3, 196, 4, 82, 4, 22, 5, 155, 4, 74, 5, 200, 4, 104, 5, 218, 4, 85, 5, 193, 4, 5, 5, 124, 4, 167, 4, 31, 4, 64, 4, 196, 3, 221, 3, 116, 3, 136, 3, 45, 3, 50, 3, 243, 2, 238, 2, 190, 2, 191, 2, 164, 2, 182, 2, 175, 2, 172, 2, 172, 2, 140, 2, 150, 2, 79, 2, 93, 2, 252, 1, 11, 2, 173, 1, 186, 1, 99, 1, 118, 1, 52, 1, 70, 1, 18, 1, 42, 1, 11, 1, 35, 1, 23, 1, 51, 1, 33, 1, 69, 1, 42, 1, 88, 1, 25, 1, 83, 1, 4, 1, 66, 1, 220, 0, 44, 1, 193, 0, 21, 1, 154, 0, 250, 0, 80, 0, 189, 0, 238, 255, 108, 0, 116, 255, 251, 255, 226, 254, 118, 255, 69, 254, 234, 254, 188, 253, 92, 254, 50, 253, 226, 253, 190, 252, 89, 253, 84, 252, 243, 252, 21, 252, 157, 252, 226, 251, 103, 252, 177, 251, 43, 252, 124, 251, 250, 251, 80, 251, 215, 251, 30, 251, 180, 251, 238, 250, 138, 251, 203, 250, 124, 251, 220, 250, 131, 251, 251, 250, 155, 251, 68, 251, 204, 251, 170, 251, 21, 252, 31, 252, 114, 252, 157, 252, 213, 252, 17, 253, 57, 253, 123, 253, 136, 253, 215, 253, 212, 253, 27, 254, 13, 254, 90, 254, 64, 254, 138, 254, 98, 254, 145, 254, 92, 254, 135, 254, 66, 254, 100, 254, 23, 254, 63, 254, 240, 253, 9, 254, 178, 253, 217, 253, 132, 253, 174, 253, 68, 253, 125, 253, 10, 253, 69, 253, 191, 252, 16, 253, 122, 252, 194, 252, 29, 252, 121, 252, 185, 251, 14, 252, 75, 251, 140, 251, 201, 250, 11, 251, 81, 250, 154, 250, 225, 249, 61, 250, 143, 249, 252, 249, 79, 249, 202, 249, 24, 249, 168, 249, 239, 248, 154, 249, 216, 248, 175, 249, 225, 248, 217, 249, 252, 248, 4, 250, 30, 249, 58, 250, 86, 249, 115, 250, 143, 249, 173, 250, 205, 249, 201, 250, 227, 249, 192, 250, 223, 249, 143, 250, 176, 249, 65, 250, 99, 249, 220, 249, 254, 248, 110, 249, 152, 248, 25, 249, 69, 248, 207, 248, 9, 248, 159, 248, 230, 247, 153, 248, 235, 247, 185, 248, 21, 248, 7, 249, 89, 248, 88, 249, 171, 248, 184, 249, 7, 249, 254, 249, 73, 249, 53, 250, 135, 249, 88, 250, 166, 249, 97, 250, 176, 249, 98, 250, 172, 249, 61, 250, 136, 249, 33, 250, 115, 249, 21, 250, 102, 249, 23, 250, 92, 249, 33, 250, 87, 249, 64, 250, 107, 249, 110, 250, 141, 249, 187, 250, 210, 249, 2, 251, 1, 250, 65, 251, 47, 250, 144, 251, 94, 250, 222, 251, 141, 250, 43, 252, 198, 250, 114, 252, 250, 250, 179, 252, 44, 251, 233, 252, 95, 251, 37, 253, 154, 251, 79, 253, 209, 251, 108, 253, 242, 251, 144, 253, 33, 252, 166, 253, 49, 252, 188, 253, 73, 252, 212, 253, 87, 252, 254, 253, 124, 252, 64, 254, 179, 252, 157, 254, 12, 253, 6, 255, 102, 253, 101, 255, 194, 253, 204, 255, 36, 254, 52, 0, 136, 254, 141, 0, 221, 254, 196, 0, 13, 255, 223, 0, 42, 255, 230, 0, 49, 255, 223, 0, 56, 255, 215, 0, 53, 255, 200, 0, 48, 255, 200, 0, 47, 255, 215, 0, 54, 255, 250, 0, 89, 255, 58, 1, 145, 255, 126, 1, 208, 255, 202, 1, 26, 0, 9, 2, 81, 0, 53, 2, 129, 0, 86, 2, 164, 0, 104, 2, 197, 0, 128, 2, 233, 0, 174, 2, 40, 1, 8, 3, 137, 1, 90, 3, 221, 1, 178, 3, 66, 2, 4, 4, 145, 2, 67, 4, 224, 2, 115, 4, 15, 3, 168, 4, 82, 3, 222, 4, 147, 3, 10, 5, 210, 3, 50, 5, 7, 4, 108, 5, 69, 4, 159, 5, 135, 4, 209, 5, 195, 4, 235, 5, 249, 4, 241, 5, 13, 5, 215, 5, 19, 5, 191, 5, 8, 5, 151, 5, 251, 4, 106, 5, 211, 4, 40, 5, 160, 4, 236, 4, 105, 4, 196, 4, 58, 4, 157, 4, 28, 4, 119, 4, 242, 3, 64, 4, 225, 3, 3, 4, 180, 3, 177, 3, 128, 3, 67, 3, 49, 3, 209, 2, 210, 2, 89, 2, 125, 2, 1, 2, 68, 2, 210, 1, 46, 2, 196, 1, 56, 2, 204, 1, 84, 2, 216, 1, 105, 2, 209, 1, 126, 2, 217, 1, 145, 2, 201, 1, 141, 2, 168, 1, 114, 2, 116, 1, 80, 2, 105, 1, 82, 2, 121, 1, 113, 2, 160, 1, 165, 2, 214, 1, 223, 2, 8, 2, 31, 3, 55, 2, 79, 3, 68, 2, 114, 3, 82, 2, 130, 3, 59, 2, 127, 3, 45, 2, 116, 3, 241, 1, 76, 3, 172, 1, 28, 3, 75, 1, 214, 2, 228, 0, 139, 2, 105, 0, 52, 2, 235, 255, 199, 1, 108, 255, 92, 1, 245, 254, 235, 0, 151, 254, 143, 0, 66, 254, 50, 0, 11, 254, 246, 255, 211, 253, 187, 255, 161, 253, 146, 255, 111, 253, 110, 255, 80, 253, 83, 255, 43, 253, 67, 255, 24, 253, 56, 255, 251, 252, 44, 255, 240, 252, 29, 255, 213, 252, 9, 255, 191, 252, 237, 254, 158, 252, 211, 254, 149, 252, 202, 254, 146, 252, 207, 254, 152, 252, 211, 254, 150, 252, 214, 254, 164, 252, 217, 254, 178, 252, 232, 254, 176, 252, 235, 254, 181, 252, 234, 254, 188, 252, 247, 254, 206, 252, 255, 254, 199, 252, 253, 254, 179, 252, 228, 254, 130, 252, 191, 254, 69, 252, 130, 254, 242, 251, 58, 254, 160, 251, 228, 253, 60, 251, 147, 253, 233, 250, 58, 253, 175, 250, 16, 253, 156, 250, 244, 252, 151, 250, 230, 252, 170, 250, 234, 252, 203, 250, 251, 252, 2, 251, 21, 253, 65, 251, 52, 253, 127, 251, 75, 253, 171, 251, 87, 253, 213, 251, 110, 253, 252, 251, 134, 253, 35, 252, 164, 253, 87, 252, 208, 253, 119, 252, 244, 253, 175, 252, 30, 254, 216, 252, 72, 254, 254, 252, 83, 254, 249, 252, 68, 254, 230, 252, 24, 254, 179, 252, 222, 253, 127, 252, 155, 253, 78, 252, 102, 253, 45, 252, 57, 253, 11, 252, 24, 253, 15, 252, 16, 253, 34, 252, 25, 253, 81, 252, 52, 253, 137, 252, 88, 253, 214, 252, 141, 253, 32, 253, 191, 253, 113, 253, 246, 253, 183, 253, 40, 254, 1, 254, 81, 254, 82, 254, 137, 254, 184, 254, 207, 254, 50, 255, 57, 255, 197, 255, 185, 255, 86, 0, 60, 0, 224, 0, 188, 0, 88, 1, 53, 1, 186, 1, 156, 1, 22, 2, 249, 1, 98, 2, 83, 2, 164, 2, 146, 2, 213, 2, 204, 2, 9, 3, 243, 2, 47, 3, 27, 3, 72, 3, 35, 3, 91, 3, 48, 3, 123, 3, 69, 3, 149, 3, 94, 3, 198, 3, 138, 3, 5, 4, 197, 3, 110, 4, 29, 4, 236, 4, 144, 4, 122, 5, 13, 5, 6, 6, 135, 5, 128, 6, 237, 5, 236, 6, 76, 6, 72, 7, 147, 6, 135, 7, 197, 6, 175, 7, 222, 6, 201, 7, 241, 6, 227, 7, 3, 7, 20, 8, 51, 7, 77, 8, 104, 7, 125, 8, 157, 7, 174, 8, 206, 7, 231, 8, 23, 8, 63, 9, 110, 8, 152, 9, 211, 8, 249, 9, 36, 9, 68, 10, 113, 9, 130, 10, 167, 9, 177, 10, 206, 9, 215, 10, 230, 9, 221, 10, 233, 9, 209, 10, 216, 9, 161, 10, 185, 9, 109, 10, 124, 9, 44, 10, 67, 9, 10, 10, 15, 9, 232, 9, 234, 8, 239, 9, 226, 8, 6, 10, 236, 8, 65, 10, 20, 9, 125, 10, 58, 9, 189, 10, 106, 9, 245, 10, 150, 9, 37, 11, 200, 9, 92, 11, 249, 9, 146, 11, 46, 10, 195, 11, 77, 10, 236, 11, 110, 10, 252, 11, 109, 10, 241, 11, 102, 10, 217, 11, 66, 10, 178, 11, 35, 10, 129, 11, 241, 9, 71, 11, 194, 9, 32, 11, 156, 9, 4, 11, 138, 9, 244, 10, 121, 9, 238, 10, 115, 9, 246, 10, 113, 9, 25, 11, 128, 9, 60, 11, 155, 9, 85, 11, 166, 9, 97, 11, 174, 9, 101, 11, 176, 9, 117, 11, 187, 9, 131, 11, 205, 9, 140, 11, 207, 9, 116, 11, 193, 9, 78, 11, 158, 9, 16, 11, 102, 9, 200, 10, 35, 9, 119, 10, 214, 8, 29, 10, 136, 8, 192, 9, 50, 8, 105, 9, 226, 7, 11, 9, 144, 7, 171, 8, 60, 7, 77, 8, 235, 6, 2, 8, 174, 6, 211, 7, 140, 6, 183, 7, 120, 6, 155, 7, 99, 6, 120, 7, 73, 6, 73, 7, 27, 6, 3, 7, 215, 5, 168, 6, 119, 5, 63, 6, 16, 5, 197, 5, 156, 4, 72, 5, 40, 4, 212, 4, 186, 3, 99, 4, 92, 3, 1, 4, 11, 3, 171, 3, 194, 2, 102, 3, 139, 2, 26, 3, 78, 2, 216, 2, 22, 2, 136, 2, 215, 1, 62, 2, 143, 1, 240, 1, 84, 1, 169, 1, 25, 1, 84, 1, 208, 0, 7, 1, 151, 0, 181, 0, 79, 0, 100, 0, 11, 0, 19, 0, 193, 255, 198, 255, 113, 255, 109, 255, 40, 255, 16, 255, 201, 254, 181, 254, 123, 254, 78, 254, 34, 254, 0, 254, 219, 253, 155, 253, 141, 253, 72, 253, 59, 253, 238, 252, 242, 252, 145, 252, 146, 252, 36, 252, 44, 252, 194, 251, 197, 251, 90, 251, 101, 251, 246, 250, 3, 251, 148, 250, 170, 250, 73, 250, 95, 250, 13, 250, 47, 250, 237, 249, 12, 250, 216, 249, 250, 249, 203, 249, 242, 249, 188, 249, 224, 249, 146, 249, 190, 249, 101, 249, 142, 249, 47, 249, 88, 249, 254, 248, 34, 249, 221, 248, 247, 248, 213, 248, 229, 248, 230, 248, 230, 248, 243, 248, 232, 248, 10, 249, 233, 248, 22, 249, 237, 248, 21, 249, 228, 248, 12, 249, 224, 248, 250, 248, 206, 248, 212, 248, 181, 248, 180, 248, 156, 248, 140, 248, 132, 248, 105, 248, 100, 248, 54, 248, 53, 248, 239, 247, 229, 247, 162, 247, 159, 247, 67, 247, 54, 247, 219, 246, 213, 246, 129, 246, 116, 246, 36, 246, 25, 246, 205, 245, 203, 245, 140, 245, 145, 245, 81, 245, 97, 245, 23, 245, 42, 245, 228, 244, 253, 244, 172, 244, 201, 244, 117, 244, 153, 244, 71, 244, 125, 244, 44, 244, 115, 244, 26, 244, 106, 244, 13, 244, 105, 244, 20, 244, 108, 244, 27, 244, 121, 244, 29, 244, 125, 244, 31, 244, 132, 244, 35, 244, 139, 244, 43, 244, 161, 244, 73, 244, 196, 244, 103, 244, 243, 244, 143, 244, 43, 245, 180, 244, 92, 245, 214, 244, 137, 245, 243, 244, 165, 245, 4, 245, 187, 245, 15, 245, 197, 245, 255, 244, 177, 245, 210, 244, 138, 245, 156, 244, 91, 245, 84, 244, 37, 245, 22, 244, 241, 244, 236, 243, 216, 244, 240, 243, 228, 244, 36, 244, 29, 245, 124, 244, 121, 245, 251, 244, 247, 245, 142, 245, 134, 246, 39, 246, 18, 247, 185, 246, 155, 247, 61, 247, 26, 248, 183, 247, 143, 248, 24, 248, 235, 248, 116, 248, 65, 249, 202, 248, 148, 249, 25, 249, 218, 249, 85, 249, 18, 250, 150, 249, 70, 250, 195, 249, 115, 250, 238, 249, 152, 250, 9, 250, 173, 250, 28, 250, 193, 250, 56, 250, 223, 250, 103, 250, 15, 251, 179, 250, 87, 251, 14, 251, 184, 251, 118, 251, 29, 252, 200, 251, 124, 252, 26, 252, 191, 252, 59, 252, 228, 252, 76, 252, 242, 252, 72, 252, 238, 252, 57, 252, 235, 252, 75, 252, 253, 252, 107, 252, 44, 253, 189, 252, 128, 253, 24, 253, 230, 253, 148, 253, 106, 254, 27, 254, 244, 254, 170, 254, 135, 255, 55, 255, 27, 0, 189, 255, 151, 0, 45, 0, 14, 1, 143, 0, 95, 1, 216, 0, 171, 1, 18, 1, 221, 1, 66, 1, 9, 2, 111, 1, 46, 2, 153, 1, 77, 2, 188, 1, 101, 2, 223, 1, 123, 2, 241, 1, 130, 2, 239, 1, 121, 2, 220, 1, 92, 2, 189, 1, 63, 2, 174, 1, 50, 2, 177, 1, 53, 2, 196, 1, 81, 2, 246, 1, 123, 2, 50, 2, 181, 2, 127, 2, 248, 2, 201, 2, 53, 3, 14, 3, 112, 3, 59, 3, 149, 3, 100, 3, 186, 3, 129, 3, 219, 3, 178, 3, 14, 4, 236, 3, 75, 4, 49, 4, 143, 4, 107, 4, 196, 4, 156, 4, 239, 4, 193, 4, 7, 5, 212, 4, 11, 5, 210, 4, 2, 5, 196, 4, 226, 4, 164, 4, 193, 4, 118, 4, 135, 4, 57, 4, 70, 4, 227, 3, 238, 3, 126, 3, 137, 3, 33, 3, 30, 3, 182, 2, 191, 2, 102, 2, 93, 2, 10, 2, 5, 2, 193, 1, 173, 1, 113, 1, 104, 1, 72, 1, 55, 1, 40, 1, 30, 1, 53, 1, 33, 1, 64, 1, 43, 1, 109, 1, 72, 1, 145, 1, 93, 1, 184, 1, 114, 1, 211, 1, 122, 1, 215, 1, 121, 1, 210, 1, 104, 1, 187, 1, 81, 1, 162, 1, 59, 1, 145, 1, 38, 1, 129, 1, 32, 1, 130, 1, 31, 1, 131, 1, 38, 1, 151, 1, 52, 1, 153, 1, 45, 1, 141, 1, 34, 1, 136, 1, 21, 1, 124, 1, 13, 1, 133, 1, 0, 1, 120, 1, 244, 0, 106, 1, 209, 0, 70, 1, 169, 0, 46, 1, 131, 0, 20, 1, 104, 0, 255, 0, 70, 0, 241, 0, 48, 0, 229, 0, 34, 0, 239, 0, 33, 0, 7, 1, 58, 0, 45, 1, 82, 0, 76, 1, 115, 0, 99, 1, 129, 0, 121, 1, 143, 0, 134, 1, 154, 0, 140, 1, 156, 0, 153, 1, 169, 0, 165, 1, 178, 0, 195, 1, 198, 0, 232, 1, 233, 0, 33, 2, 26, 1, 111, 2, 102, 1, 187, 2, 165, 1, 18, 3, 243, 1, 90, 3, 44, 2, 138, 3, 78, 2, 146, 3, 73, 2, 125, 3, 39, 2, 93, 3, 254, 1, 78, 3, 222, 1, 66, 3, 196, 1, 60, 3, 182, 1, 60, 3, 175, 1, 64, 3, 180, 1, 77, 3, 192, 1, 111, 3, 225, 1, 149, 3, 11, 2, 203, 3, 69, 2, 13, 4, 142, 2, 104, 4, 231, 2, 192, 4, 54, 3, 33, 5, 141, 3, 113, 5, 207, 3, 175, 5, 254, 3, 211, 5, 17, 4, 233, 5, 24, 4, 245, 5, 31, 4, 244, 5, 25, 4, 231, 5, 21, 4, 227, 5, 16, 4, 228, 5, 28, 4, 235, 5, 29, 4, 242, 5, 51, 4, 25, 6, 77, 4, 62, 6, 122, 4, 106, 6, 150, 4, 135, 6, 176, 4, 154, 6, 177, 4, 154, 6, 170, 4, 142, 6, 153, 4, 118, 6, 129, 4, 79, 6, 99, 4, 45, 6, 70, 4, 3, 6, 49, 4, 242, 5, 36, 4, 220, 5, 40, 4, 210, 5, 28, 4, 190, 5, 27, 4, 162, 5, 1, 4, 130, 5, 231, 3, 87, 5, 205, 3, 55, 5, 177, 3, 13, 5, 155, 3, 237, 4, 130, 3, 212, 4, 117, 3, 204, 4, 116, 3, 208, 4, 129, 3, 228, 4, 149, 3, 13, 5, 195, 3, 46, 5, 246, 3, 107, 5, 58, 4, 143, 5, 119, 4, 173, 5, 166, 4, 177, 5, 187, 4, 146, 5, 178, 4, 102, 5, 145, 4, 20, 5, 85, 4, 180, 4, 2, 4, 62, 4, 150, 3, 189, 3, 36, 3, 58, 3, 173, 2, 167, 2, 51, 2, 30, 2, 186, 1, 153, 1, 83, 1, 38, 1, 247, 0, 202, 0, 178, 0, 111, 0, 109, 0, 54, 0, 63, 0, 11, 0, 25, 0, 239, 255, 3, 0, 201, 255, 216, 255, 165, 255, 189, 255, 130, 255, 160, 255, 102, 255, 139, 255, 73, 255, 125, 255, 44, 255, 104, 255, 13, 255, 92, 255, 234, 254, 70, 255, 192, 254, 41, 255, 145, 254, 255, 254, 70, 254, 203, 254, 10, 254, 145, 254, 192, 253, 107, 254, 143, 253, 65, 254, 89, 253, 34, 254, 59, 253, 11, 254, 13, 253, 237, 253, 229, 252, 206, 253, 174, 252, 162, 253, 118, 252, 106, 253, 53, 252, 55, 253, 251, 251, 250, 252, 184, 251, 200, 252, 127, 251, 139, 252, 79, 251, 114, 252, 38, 251, 73, 252, 247, 250, 46, 252, 205, 250, 6, 252, 164, 250, 238, 251, 139, 250, 218, 251, 133, 250, 225, 251, 139, 250, 228, 251, 156, 250, 246, 251, 181, 250, 2, 252, 208, 250, 31, 252, 0, 251, 64, 252, 29, 251, 100, 252, 61, 251, 124, 252, 71, 251, 136, 252, 84, 251, 147, 252, 83, 251, 145, 252, 94, 251, 162, 252, 99, 251, 168, 252, 86, 251, 161, 252, 70, 251, 138, 252, 44, 251, 113, 252, 7, 251, 72, 252, 213, 250, 30, 252, 175, 250, 246, 251, 126, 250, 210, 251, 86, 250, 171, 251, 43, 250, 143, 251, 7, 250, 119, 251, 237, 249, 102, 251, 226, 249, 96, 251, 237, 249, 113, 251, 251, 249, 121, 251, 11, 250, 133, 251, 34, 250, 147, 251, 71, 250, 171, 251, 96, 250, 190, 251, 120, 250, 204, 251, 128, 250, 212, 251, 142, 250, 210, 251, 132, 250, 204, 251, 115, 250, 171, 251, 84, 250, 147, 251, 50, 250, 101, 251, 255, 249, 61, 251, 209, 249, 10, 251, 156, 249, 221, 250, 113, 249, 176, 250, 71, 249, 141, 250, 52, 249, 118, 250, 39, 249, 98, 250, 48, 249, 101, 250, 82, 249, 114, 250, 126, 249, 159, 250, 187, 249, 188, 250, 241, 249, 246, 250, 60, 250, 29, 251, 113, 250, 84, 251, 169, 250, 118, 251, 208, 250, 156, 251, 245, 250, 191, 251, 24, 251, 222, 251, 76, 251, 23, 252, 153, 251, 86, 252, 238, 251, 173, 252, 100, 252, 21, 253, 212, 252, 123, 253, 62, 253, 209, 253, 150, 253, 17, 254, 218, 253, 64, 254, 16, 254, 98, 254, 52, 254, 125, 254, 89, 254, 145, 254, 112, 254, 159, 254, 126, 254, 141, 254, 117, 254, 128, 254, 111, 254, 95, 254, 83, 254, 55, 254, 44, 254, 2, 254, 11, 254, 207, 253, 238, 253, 173, 253, 202, 253, 131, 253, 190, 253, 113, 253, 189, 253, 113, 253, 228, 253, 140, 253, 11, 254, 178, 253, 70, 254, 226, 253, 126, 254, 16, 254, 197, 254, 74, 254, 250, 254, 109, 254, 38, 255, 145, 254, 64, 255, 161, 254, 89, 255, 194, 254, 118, 255, 222, 254, 151, 255, 7, 255, 191, 255, 45, 255, 223, 255, 81, 255, 245, 255, 99, 255, 8, 0, 121, 255, 27, 0, 128, 255, 32, 0, 133, 255, 28, 0, 119, 255, 21, 0, 125, 255, 33, 0, 137, 255, 53, 0, 172, 255, 93, 0, 210, 255, 127, 0, 254, 255, 171, 0, 32, 0, 192, 0, 44, 0, 216, 0, 60, 0, 231, 0, 53, 0, 240, 0, 68, 0, 2, 1, 66, 0, 21, 1, 89, 0, 68, 1, 120, 0, 116, 1, 167, 0, 172, 1, 219, 0, 227, 1, 17, 1, 33, 2, 77, 1, 95, 2, 145, 1, 156, 2, 206, 1, 208, 2, 12, 2, 247, 2, 55, 2, 17, 3, 91, 2, 38, 3, 117, 2, 41, 3, 123, 2, 18, 3, 104, 2, 250, 2, 78, 2, 209, 2, 45, 2, 177, 2, 7, 2, 138, 2, 228, 1, 118, 2, 217, 1, 114, 2, 209, 1, 117, 2, 239, 1, 149, 2, 6, 2, 170, 2, 49, 2, 201, 2, 78, 2, 205, 2, 99, 2, 205, 2, 97, 2, 183, 2, 84, 2, 172, 2, 69, 2, 148, 2, 51, 2, 139, 2, 36, 2, 131, 2, 32, 2, 120, 2, 22, 2, 107, 2, 15, 2, 84, 2, 254, 1, 58, 2, 236, 1, 44, 2, 222, 1, 14, 2, 200, 1, 245, 1, 177, 1, 215, 1, 161, 1, 201, 1, 142, 1, 178, 1, 124, 1, 168, 1, 105, 1, 139, 1, 66, 1, 108, 1, 28, 1, 65, 1, 224, 0, 24, 1, 183, 0, 234, 0, 126, 0, 182, 0, 78, 0, 120, 0, 17, 0, 51, 0, 203, 255, 238, 255, 143, 255, 175, 255, 72, 255, 111, 255, 13, 255, 66, 255, 211, 254, 25, 255, 171, 254, 246, 254, 130, 254, 222, 254, 101, 254, 211, 254, 91, 254, 222, 254, 103, 254, 233, 254, 113, 254, 2, 255, 140, 254, 36, 255, 169, 254, 64, 255, 204, 254, 79, 255, 214, 254, 75, 255, 216, 254, 50, 255, 197, 254, 16, 255, 155, 254, 201, 254, 107, 254, 138, 254, 35, 254, 59, 254, 227, 253, 239, 253, 149, 253, 159, 253, 78, 253, 98, 253, 34, 253, 51, 253, 253, 252, 32, 253, 242, 252, 31, 253, 253, 252, 45, 253, 6, 253, 40, 253, 17, 253, 46, 253, 17, 253, 40, 253, 21, 253, 38, 253, 6, 253, 11, 253, 245, 252, 236, 252, 203, 252, 185, 252, 167, 252, 133, 252, 111, 252, 92, 252, 80, 252, 74, 252, 61, 252, 79, 252, 71, 252, 98, 252, 97, 252, 130, 252, 133, 252, 159, 252, 162, 252, 186, 252, 193, 252, 209, 252, 210, 252, 226, 252, 239, 252, 8, 253, 17, 253, 53, 253, 59, 253, 100, 253, 108, 253, 144, 253, 133, 253, 168, 253, 167, 253, 201, 253, 177, 253, 220, 253, 195, 253, 236, 253, 187, 253, 230, 253, 180, 253, 214, 253, 164, 253, 187, 253, 138, 253, 166, 253, 132, 253, 158, 253, 123, 253, 157, 253, 131, 253, 160, 253, 130, 253, 158, 253, 136, 253, 151, 253, 118, 253, 128, 253, 97, 253, 102, 253, 60, 253, 69, 253, 31, 253, 32, 253, 246, 252, 1, 253, 221, 252, 239, 252, 201, 252, 231, 252, 188, 252, 228, 252, 174, 252, 222, 252, 154, 252, 229, 252, 145, 252, 234, 252, 141, 252, 248, 252, 143, 252, 13, 253, 161, 252, 48, 253, 195, 252, 95, 253, 232, 252, 141, 253, 32, 253, 222, 253, 98, 253, 27, 254, 167, 253, 102, 254, 226, 253, 155, 254, 19, 254, 214, 254, 61, 254, 246, 254, 90, 254, 18, 255, 115, 254, 21, 255, 114, 254, 12, 255, 110, 254, 252, 254, 88, 254, 235, 254, 82, 254, 227, 254, 69, 254, 225, 254, 71, 254, 226, 254, 63, 254, 230, 254, 64, 254, 227, 254, 56, 254, 239, 254, 55, 254, 239, 254, 62, 254, 7, 255, 66, 254, 13, 255, 82, 254, 42, 255, 108, 254, 74, 255, 145, 254, 122, 255, 185, 254, 173, 255, 241, 254, 229, 255, 26, 255, 8, 0, 69, 255, 38, 0, 92, 255, 58, 0, 113, 255, 55, 0, 111, 255, 49, 0, 103, 255, 34, 0, 93, 255, 33, 0, 91, 255, 13, 0, 81, 255, 249, 255, 68, 255, 212, 255, 45, 255, 173, 255, 14, 255, 125, 255, 239, 254, 74, 255, 201, 254, 41, 255, 183, 254, 17, 255, 168, 254, 10, 255, 169, 254, 12, 255, 176, 254, 19, 255, 187, 254, 25, 255, 195, 254, 11, 255, 198, 254, 0, 255, 194, 254, 239, 254, 200, 254, 236, 254, 201, 254, 241, 254, 222, 254, 253, 254, 239, 254, 16, 255, 23, 255, 65, 255, 77, 255, 121, 255, 143, 255, 193, 255, 222, 255, 13, 0, 49, 0, 83, 0, 127, 0, 152, 0, 206, 0, 232, 0, 28, 1, 62, 1, 118, 1, 135, 1, 191, 1, 209, 1, 10, 2, 16, 2, 81, 2, 95, 2, 151, 2, 142, 2, 214, 2, 203, 2, 7, 3, 231, 2, 57, 3, 20, 3, 85, 3, 43, 3, 118, 3, 86, 3, 146, 3, 115, 3, 174, 3, 151, 3, 198, 3, 170, 3, 212, 3, 209, 3, 235, 3, 248, 3, 7, 4, 46, 4, 49, 4, 97, 4, 100, 4, 164, 4, 166, 4, 235, 4, 242, 4, 64, 5, 70, 5, 144, 5, 147, 5, 220, 5, 233, 5, 47, 6, 58, 6, 118, 6, 136, 6, 184, 6, 195, 6, 220, 6, 230, 6, 240, 6, 251, 6, 228, 6, 237, 6, 204, 6, 218, 6, 173, 6, 188, 6, 130, 6, 150, 6, 80, 6, 102, 6, 48, 6, 71, 6, 19, 6, 49, 6, 16, 6, 41, 6, 11, 6, 41, 6, 37, 6, 56, 6, 47, 6, 61, 6, 69, 6, 62, 6, 73, 6, 63, 6, 78, 6, 56, 6, 65, 6, 43, 6, 41, 6, 16, 6, 2, 6, 238, 5, 215, 5, 196, 5, 177, 5, 165, 5, 157, 5, 143, 5, 140, 5, 128, 5, 136, 5, 111, 5, 121, 5, 99, 5, 123, 5, 85, 5, 121, 5, 92, 5, 125, 5, 92, 5, 129, 5, 105, 5, 122, 5, 101, 5, 110, 5, 92, 5, 87, 5, 70, 5, 58, 5, 42, 5, 13, 5, 248, 4, 193, 4, 174, 4, 99, 4, 81, 4, 235, 3, 224, 3, 112, 3, 111, 3, 254, 2, 0, 3, 144, 2, 163, 2, 81, 2, 101, 2, 31, 2, 64, 2, 21, 2, 48, 2, 20, 2, 42, 2, 27, 2, 38, 2, 20, 2, 20, 2, 3, 2, 1, 2, 230, 1, 221, 1, 187, 1, 176, 1, 119, 1, 108, 1, 42, 1, 33, 1, 215, 0, 218, 0, 149, 0, 148, 0, 70, 0, 80, 0, 255, 255, 1, 0, 171, 255, 183, 255, 101, 255, 107, 255, 36, 255, 49, 255, 0, 255, 11, 255, 225, 254, 247, 254, 215, 254, 236, 254, 204, 254, 227, 254, 192, 254, 214, 254, 167, 254, 178, 254, 116, 254, 125, 254, 35, 254, 31, 254, 186, 253, 186, 253, 79, 253, 77, 253, 218, 252, 228, 252, 123, 252, 133, 252, 36, 252, 60, 252, 228, 251, 7, 252, 179, 251, 226, 251, 143, 251, 199, 251, 115, 251, 181, 251, 94, 251, 162, 251, 81, 251, 157, 251, 78, 251, 151, 251, 86, 251, 159, 251, 84, 251, 152, 251, 85, 251, 149, 251, 81, 251, 129, 251, 60, 251, 103, 251, 32, 251, 64, 251, 251, 250, 17, 251, 218, 250, 242, 250, 190, 250, 209, 250, 177, 250, 194, 250, 172, 250, 175, 250, 181, 250, 178, 250, 185, 250, 173, 250, 198, 250, 181, 250, 225, 250, 192, 250, 244, 250, 205, 250, 4, 251, 204, 250, 3, 251, 202, 250, 255, 250, 193, 250, 232, 250, 163, 250, 198, 250, 124, 250, 162, 250, 85, 250, 116, 250, 31, 250, 79, 250, 0, 250, 55, 250, 228, 249, 50, 250, 227, 249, 64, 250, 241, 249, 76, 250, 255, 249, 90, 250, 26, 250, 119, 250, 61, 250, 150, 250, 99, 250, 196, 250, 146, 250, 5, 251, 213, 250, 73, 251, 20, 251, 149, 251, 84, 251, 225, 251, 147, 251, 45, 252, 204, 251, 101, 252, 246, 251, 140, 252, 11, 252, 153, 252, 11, 252, 155, 252, 8, 252, 152, 252, 249, 251, 146, 252, 247, 251, 161, 252, 252, 251, 180, 252, 22, 252, 203, 252, 41, 252, 230, 252, 74, 252, 1, 253, 100, 252, 26, 253, 126, 252, 44, 253, 141, 252, 59, 253, 152, 252, 61, 253, 156, 252, 60, 253, 146, 252, 52, 253, 147, 252, 58, 253, 144, 252, 60, 253, 157, 252, 72, 253, 169, 252, 95, 253, 200, 252, 124, 253, 231, 252, 155, 253, 7, 253, 189, 253, 41, 253, 210, 253, 67, 253, 222, 253, 83, 253, 230, 253, 106, 253, 234, 253, 116, 253, 244, 253, 145, 253, 4, 254, 161, 253, 22, 254, 193, 253, 51, 254, 219, 253, 81, 254, 245, 253, 107, 254, 8, 254, 131, 254, 19, 254, 141, 254, 37, 254, 161, 254, 49, 254, 167, 254, 72, 254, 183, 254, 95, 254, 199, 254, 127, 254, 220, 254, 169, 254, 3, 255, 218, 254, 33, 255, 5, 255, 59, 255, 41, 255, 85, 255, 70, 255, 105, 255, 103, 255, 155, 255, 151, 255, 212, 255, 216, 255, 35, 0, 38, 0, 108, 0, 117, 0, 199, 0, 204, 0, 28, 1, 28, 1, 112, 1, 102, 1, 191, 1, 163, 1, 253, 1, 210, 1, 37, 2, 234, 1, 67, 2, 245, 1, 67, 2, 250, 1, 80, 2, 250, 1, 83, 2, 10, 2, 96, 2, 25, 2, 108, 2, 47, 2, 116, 2, 61, 2, 122, 2, 68, 2, 124, 2, 70, 2, 116, 2, 55, 2, 90, 2, 28, 2, 49, 2, 246, 1, 20, 2, 210, 1, 245, 1, 190, 1, 223, 1, 170, 1, 202, 1, 153, 1, 187, 1, 134, 1, 175, 1, 121, 1, 181, 1, 124, 1, 199, 1, 138, 1, 230, 1, 169, 1, 23, 2, 210, 1, 74, 2, 4, 2, 130, 2, 54, 2, 179, 2, 105, 2, 222, 2, 142, 2, 248, 2, 171, 2, 8, 3, 173, 2, 252, 2, 166, 2, 227, 2, 136, 2, 204, 2, 113, 2, 174, 2, 83, 2, 170, 2, 74, 2, 155, 2, 60, 2, 163, 2, 62, 2, 158, 2, 60, 2, 164, 2, 59, 2, 156, 2, 54, 2, 148, 2, 50, 2, 120, 2, 23, 2, 88, 2, 0, 2, 51, 2, 218, 1, 10, 2, 190, 1, 240, 1, 165, 1, 225, 1, 158, 1, 222, 1, 164, 1, 234, 1, 177, 1, 2, 2, 205, 1, 40, 2, 240, 1, 96, 2, 41, 2, 162, 2, 108, 2, 238, 2, 177, 2, 61, 3, 251, 2, 131, 3, 56, 3, 198, 3, 117, 3, 4, 4, 164, 3, 54, 4, 208, 3, 83, 4, 223, 3, 103, 4, 238, 3, 92, 4, 222, 3, 75, 4, 202, 3, 35, 4, 164, 3, 241, 3, 124, 3, 183, 3, 72, 3, 131, 3, 29, 3, 79, 3, 237, 2, 35, 3, 198, 2, 252, 2, 168, 2, 217, 2, 135, 2, 184, 2, 112, 2, 149, 2, 75, 2, 118, 2, 48, 2, 77, 2, 7, 2, 53, 2, 237, 1, 16, 2, 205, 1, 1, 2, 182, 1, 240, 1, 169, 1, 247, 1, 171, 1, 252, 1, 179, 1, 19, 2, 202, 1, 29, 2, 207, 1, 32, 2, 212, 1, 33, 2, 203, 1, 28, 2, 198, 1, 27, 2, 189, 1, 25, 2, 192, 1, 35, 2, 199, 1, 39, 2, 208, 1, 44, 2, 220, 1, 31, 2, 210, 1, 28, 2, 211, 1, 9, 2, 195, 1, 250, 1, 177, 1, 232, 1, 163, 1, 214, 1, 149, 1, 208, 1, 138, 1, 205, 1, 142, 1, 220, 1, 154, 1, 248, 1, 181, 1, 25, 2, 217, 1, 72, 2, 1, 2, 115, 2, 39, 2, 160, 2, 73, 2, 194, 2, 103, 2, 231, 2, 122, 2, 250, 2, 145, 2, 20, 3, 157, 2, 30, 3, 172, 2, 35, 3, 172, 2, 24, 3, 158, 2, 3, 3, 142, 2, 240, 2, 115, 2, 217, 2, 99, 2, 210, 2, 84, 2, 209, 2, 84, 2, 215, 2, 90, 2, 231, 2, 113, 2, 239, 2, 133, 2, 2, 3, 160, 2, 14, 3, 189, 2, 34, 3, 215, 2, 25, 3, 218, 2, 24, 3, 219, 2, 12, 3, 205, 2, 4, 3, 205, 2, 12, 3, 206, 2, 22, 3, 222, 2, 36, 3, 237, 2, 59, 3, 13, 3, 78, 3, 41, 3, 111, 3, 80, 3, 131, 3, 109, 3, 146, 3, 128, 3, 151, 3, 137, 3, 151, 3, 145, 3, 142, 3, 139, 3, 118, 3, 122, 3, 83, 3, 85, 3, 41, 3, 55, 3, 250, 2, 3, 3, 203, 2, 217, 2, 152, 2, 170, 2, 99, 2, 117, 2, 30, 2, 58, 2, 204, 1, 246, 1, 139, 1, 187, 1, 65, 1, 136, 1, 4, 1, 81, 1, 197, 0, 39, 1, 139, 0, 248, 0, 79, 0, 201, 0, 20, 0, 148, 0, 226, 255, 103, 0, 179, 255, 60, 0, 133, 255, 11, 0, 81, 255, 224, 255, 38, 255, 182, 255, 250, 254, 137, 255, 194, 254, 89, 255, 148, 254, 40, 255, 90, 254, 254, 254, 41, 254, 209, 254, 241, 253, 167, 254, 184, 253, 114, 254, 117, 253, 64, 254, 61, 253, 11, 254, 4, 253, 229, 253, 222, 252, 199, 253, 196, 252, 177, 253, 180, 252, 169, 253, 171, 252, 154, 253, 170, 252, 158, 253, 173, 252, 152, 253, 163, 252, 144, 253, 150, 252, 123, 253, 125, 252, 104, 253, 104, 252, 74, 253, 73, 252, 56, 253, 55, 252, 28, 253, 26, 252, 3, 253, 6, 252, 238, 252, 233, 251, 205, 252, 208, 251, 180, 252, 174, 251, 142, 252, 138, 251, 106, 252, 105, 251, 68, 252, 80, 251, 40, 252, 57, 251, 8, 252, 34, 251, 230, 251, 10, 251, 197, 251, 245, 250, 155, 251, 207, 250, 110, 251, 178, 250, 67, 251, 145, 250, 31, 251, 121, 250, 3, 251, 98, 250, 240, 250, 105, 250, 238, 250, 108, 250, 252, 250, 126, 250, 13, 251, 130, 250, 22, 251, 132, 250, 30, 251, 138, 250, 29, 251, 127, 250, 24, 251, 115, 250, 8, 251, 100, 250, 249, 250, 68, 250, 216, 250, 40, 250, 178, 250, 4, 250, 137, 250, 231, 249, 97, 250, 188, 249, 52, 250, 150, 249, 8, 250, 107, 249, 218, 249, 72, 249, 186, 249, 41, 249, 151, 249, 19, 249, 132, 249, 5, 249, 118, 249, 7, 249, 116, 249, 21, 249, 130, 249, 59, 249, 147, 249, 106, 249, 183, 249, 163, 249, 213, 249, 223, 249, 255, 249, 28, 250, 32, 250, 79, 250, 65, 250, 122, 250, 86, 250, 140, 250, 90, 250, 153, 250, 94, 250, 161, 250, 89, 250, 170, 250, 99, 250, 189, 250, 108, 250, 207, 250, 131, 250, 236, 250, 152, 250, 15, 251, 186, 250, 59, 251, 223, 250, 115, 251, 14, 251, 184, 251, 74, 251, 255, 251, 129, 251, 59, 252, 177, 251, 119, 252, 221, 251, 167, 252, 250, 251, 196, 252, 13, 252, 218, 252, 22, 252, 227, 252, 28, 252, 244, 252, 33, 252, 253, 252, 37, 252, 20, 253, 48, 252, 41, 253, 54, 252, 66, 253, 78, 252, 109, 253, 101, 252, 152, 253, 144, 252, 215, 253, 189, 252, 19, 254, 244, 252, 92, 254, 52, 253, 170, 254, 121, 253, 252, 254, 196, 253, 68, 255, 2, 254, 122, 255, 47, 254, 155, 255, 72, 254, 178, 255, 91, 254, 190, 255, 104, 254, 203, 255, 116, 254, 208, 255, 127, 254, 224, 255, 139, 254, 234, 255, 156, 254, 255, 255, 168, 254, 9, 0, 182, 254, 31, 0, 196, 254, 58, 0, 219, 254, 97, 0, 253, 254, 145, 0, 46, 255, 197, 0, 93, 255, 253, 0, 155, 255, 57, 1, 209, 255, 96, 1, 3, 0, 143, 1, 36, 0, 167, 1, 69, 0, 214, 1, 102, 0, 254, 1, 141, 0, 51, 2, 190, 0, 109, 2, 244, 0, 173, 2, 58, 1, 245, 2, 135, 1, 63, 3, 217, 1, 136, 3, 42, 2, 195, 3, 108, 2, 238, 3, 156, 2, 11, 4, 186, 2, 25, 4, 207, 2, 41, 4, 216, 2, 45, 4, 226, 2, 63, 4, 242, 2, 81, 4, 11, 3, 104, 4, 37, 3, 121, 4, 58, 3, 140, 4, 77, 3, 154, 4, 96, 3, 176, 4, 113, 3, 191, 4, 136, 3, 206, 4, 158, 3, 219, 4, 170, 3, 224, 4, 194, 3, 242, 4, 207, 3, 253, 4, 239, 3, 13, 5, 4, 4, 27, 5, 28, 4, 32, 5, 43, 4, 53, 5, 64, 4, 59, 5, 82, 4, 85, 5, 113, 4, 109, 5, 143, 4, 145, 5, 188, 4, 180, 5, 227, 4, 211, 5, 12, 5, 244, 5, 46, 5, 255, 5, 70, 5, 11, 6, 79, 5, 245, 5, 76, 5, 237, 5, 65, 5, 214, 5, 60, 5, 192, 5, 42, 5, 171, 5, 33, 5, 152, 5, 24, 5, 144, 5, 28, 5, 140, 5, 36, 5, 143, 5, 46, 5, 134, 5, 48, 5, 128, 5, 46, 5, 110, 5, 37, 5, 90, 5, 19, 5, 67, 5, 5, 5, 60, 5, 4, 5, 49, 5, 250, 4, 41, 5, 255, 4, 47, 5, 253, 4, 35, 5, 4, 5, 41, 5, 7, 5, 30, 5, 9, 5, 33, 5, 21, 5, 34, 5, 24, 5, 27, 5, 32, 5, 22, 5, 36, 5, 13, 5, 36, 5, 1, 5, 38, 5, 246, 4, 30, 5, 224, 4, 21, 5, 189, 4, 243, 4, 134, 4, 202, 4, 63, 4, 142, 4, 2, 4, 92, 4, 189, 3, 35, 4, 140, 3, 250, 3, 85, 3, 212, 3, 56, 3, 195, 3, 27, 3, 182, 3, 9, 3, 171, 3, 252, 2, 179, 3, 251, 2, 176, 3, 253, 2, 195, 3, 5, 3, 198, 3, 14, 3, 213, 3, 24, 3, 218, 3, 26, 3, 216, 3, 30, 3, 216, 3, 26, 3, 211, 3, 19, 3, 204, 3, 255, 2, 191, 3, 241, 2, 180, 3, 213, 2, 160, 3, 186, 2, 137, 3, 163, 2, 114, 3, 146, 2, 92, 3, 117, 2, 60, 3, 90, 2, 27, 3, 59, 2, 244, 2, 23, 2, 198, 2, 232, 1, 156, 2, 196, 1, 102, 2, 143, 1, 63, 2, 89, 1, 250, 1, 20, 1, 190, 1, 208, 0, 121, 1, 140, 0, 49, 1, 69, 0, 238, 0, 250, 255, 166, 0, 181, 255, 97, 0, 107, 255, 30, 0, 44, 255, 228, 255, 233, 254, 166, 255, 169, 254, 102, 255, 102, 254, 42, 255, 46, 254, 240, 254, 2, 254, 205, 254, 222, 253, 163, 254, 203, 253, 152, 254, 194, 253, 136, 254, 190, 253, 147, 254, 194, 253, 151, 254, 216, 253, 172, 254, 239, 253, 199, 254, 18, 254, 221, 254, 40, 254, 236, 254, 60, 254, 241, 254, 57, 254, 218, 254, 22, 254, 177, 254, 226, 253, 113, 254, 160, 253, 43, 254, 87, 253, 231, 253, 11, 253, 160, 253, 192, 252, 92, 253, 109, 252, 20, 253, 48, 252, 217, 252, 243, 251, 166, 252, 206, 251, 127, 252, 178, 251, 99, 252, 158, 251, 77, 252, 155, 251, 70, 252, 153, 251, 59, 252, 149, 251, 56, 252, 143, 251, 44, 252, 133, 251, 30, 252, 111, 251, 8, 252, 79, 251, 229, 251, 39, 251, 194, 251, 246, 250, 155, 251, 218, 250, 128, 251, 205, 250, 126, 251, 214, 250, 128, 251, 243, 250, 165, 251, 37, 251, 209, 251, 102, 251, 21, 252, 183, 251, 86, 252, 8, 252, 154, 252, 89, 252, 223, 252, 150, 252, 5, 253, 196, 252, 47, 253, 218, 252, 52, 253, 222, 252, 50, 253, 199, 252, 21, 253, 153, 252, 234, 252, 101, 252, 177, 252, 44, 252, 137, 252, 1, 252, 89, 252, 213, 251, 63, 252, 192, 251, 42, 252, 188, 251, 49, 252, 212, 251, 70, 252, 250, 251, 119, 252, 50, 252, 169, 252, 110, 252, 229, 252, 162, 252, 23, 253, 210, 252, 64, 253, 246, 252, 95, 253, 18, 253, 116, 253, 40, 253, 131, 253, 63, 253, 146, 253, 89, 253, 163, 253, 111, 253, 178, 253, 138, 253, 199, 253, 167, 253, 216, 253, 197, 253, 252, 253, 245, 253, 31, 254, 32, 254, 90, 254, 89, 254, 134, 254, 143, 254, 199, 254, 209, 254, 2, 255, 20, 255, 70, 255, 80, 255, 124, 255, 133, 255, 176, 255, 177, 255, 209, 255, 211, 255, 236, 255, 236, 255, 2, 0, 3, 0, 21, 0, 32, 0, 43, 0, 53, 0, 69, 0, 100, 0, 100, 0, 143, 0, 144, 0, 211, 0, 200, 0, 22, 1, 9, 1, 88, 1, 66, 1, 151, 1, 131, 1, 215, 1, 181, 1, 13, 2, 237, 1, 66, 2, 27, 2, 110, 2, 65, 2, 150, 2, 98, 2, 174, 2, 113, 2, 202, 2, 131, 2, 210, 2, 127, 2, 207, 2, 123, 2, 192, 2, 106, 2, 173, 2, 92, 2, 155, 2, 81, 2, 133, 2, 67, 2, 121, 2, 64, 2, 109, 2, 60, 2, 119, 2, 75, 2, 122, 2, 76, 2, 147, 2, 98, 2, 167, 2, 113, 2, 190, 2, 128, 2, 207, 2, 140, 2, 219, 2, 148, 2, 224, 2, 146, 2, 213, 2, 137, 2, 199, 2, 119, 2, 171, 2, 91, 2, 139, 2, 60, 2, 107, 2, 24, 2, 82, 2, 253, 1, 58, 2, 231, 1, 55, 2, 221, 1, 47, 2, 218, 1, 66, 2, 224, 1, 81, 2, 242, 1, 103, 2, 253, 1, 128, 2, 14, 2, 140, 2, 18, 2, 144, 2, 10, 2, 118, 2, 236, 1, 80, 2, 196, 1, 17, 2, 126, 1, 195, 1, 55, 1, 108, 1, 222, 0, 23, 1, 138, 0, 201, 0, 62, 0, 134, 0, 246, 255, 75, 0, 190, 255, 35, 0, 141, 255, 8, 0, 122, 255, 254, 255, 104, 255, 239, 255, 97, 255, 234, 255, 87, 255, 219, 255, 70, 255, 202, 255, 53, 255, 188, 255, 33, 255, 178, 255, 16, 255, 170, 255, 253, 254, 163, 255, 238, 254, 154, 255, 220, 254, 146, 255, 204, 254, 131, 255, 179, 254, 111, 255, 156, 254, 85, 255, 127, 254, 58, 255, 99, 254, 35, 255, 80, 254, 4, 255, 42, 254, 223, 254, 7, 254, 177, 254, 214, 253, 135, 254, 167, 253, 95, 254, 131, 253, 73, 254, 94, 253, 54, 254, 72, 253, 46, 254, 52, 253, 39, 254, 38, 253, 43, 254, 33, 253, 36, 254, 20, 253, 35, 254, 9, 253, 20, 254, 251, 252, 13, 254, 233, 252, 251, 253, 222, 252, 234, 253, 198, 252, 211, 253, 179, 252, 199, 253, 163, 252, 182, 253, 140, 252, 169, 253, 124, 252, 158, 253, 107, 252, 152, 253, 90, 252, 139, 253, 81, 252, 142, 253, 69, 252, 129, 253, 64, 252, 127, 253, 55, 252, 107, 253, 45, 252, 93, 253, 28, 252, 71, 253, 13, 252, 46, 253, 251, 251, 20, 253, 232, 251, 252, 252, 218, 251, 235, 252, 209, 251, 235, 252, 209, 251, 236, 252, 221, 251, 1, 253, 238, 251, 17, 253, 8, 252, 51, 253, 40, 252, 79, 253, 77, 252, 111, 253, 114, 252, 145, 253, 152, 252, 162, 253, 181, 252, 182, 253, 208, 252, 191, 253, 228, 252, 204, 253, 244, 252, 222, 253, 14, 253, 240, 253, 35, 253, 25, 254, 80, 253, 68, 254, 123, 253, 128, 254, 186, 253, 180, 254, 245, 253, 246, 254, 61, 254, 34, 255, 116, 254, 88, 255, 174, 254, 117, 255, 216, 254, 144, 255, 249, 254, 148, 255, 5, 255, 144, 255, 12, 255, 128, 255, 1, 255, 100, 255, 241, 254, 69, 255, 223, 254, 37, 255, 203, 254, 15, 255, 196, 254, 5, 255, 196, 254, 6, 255, 208, 254, 14, 255, 232, 254, 40, 255, 255, 254, 67, 255, 40, 255, 94, 255, 63, 255, 129, 255, 105, 255, 161, 255, 142, 255, 200, 255, 184, 255, 239, 255, 229, 255, 28, 0, 21, 0, 68, 0, 65, 0, 113, 0, 121, 0, 156, 0, 157, 0, 191, 0, 204, 0, 225, 0, 231, 0, 241, 0, 3, 1, 0, 1, 17, 1, 5, 1, 27, 1, 12, 1, 40, 1, 10, 1, 41, 1, 13, 1, 45, 1, 12, 1, 44, 1, 1, 1, 38, 1, 245, 0, 26, 1, 224, 0, 12, 1, 197, 0, 244, 0, 170, 0, 224, 0, 141, 0, 209, 0, 124, 0, 200, 0, 116, 0, 204, 0, 110, 0, 209, 0, 124, 0, 219, 0, 130, 0, 241, 0, 149, 0, 5, 1, 180, 0, 37, 1, 209, 0, 75, 1, 239, 0, 102, 1, 3, 1, 133, 1, 15, 1, 149, 1, 32, 1, 165, 1, 40, 1, 182, 1, 60, 1, 195, 1, 68, 1, 212, 1, 86, 1, 230, 1, 109, 1, 253, 1, 139, 1, 33, 2, 179, 1, 68, 2, 214, 1, 113, 2, 6, 2, 159, 2, 40, 2, 200, 2, 70, 2, 225, 2, 82, 2, 243, 2, 86, 2, 238, 2, 67, 2, 225, 2, 51, 2, 203, 2, 24, 2, 180, 2, 0, 2, 158, 2, 230, 1, 132, 2, 208, 1, 116, 2, 178, 1, 89, 2, 156, 1, 73, 2, 124, 1, 48, 2, 101, 1, 31, 2, 82, 1, 13, 2, 75, 1, 11, 2, 68, 1, 8, 2, 76, 1, 20, 2, 78, 1, 25, 2, 92, 1, 39, 2, 102, 1, 44, 2, 104, 1, 53, 2, 106, 1, 44, 2, 85, 1, 38, 2, 71, 1, 17, 2, 41, 1, 1, 2, 18, 1, 233, 1, 252, 0, 222, 1, 233, 0, 211, 1, 219, 0, 208, 1, 214, 0, 200, 1, 207, 0, 207, 1, 215, 0, 209, 1, 217, 0, 228, 1, 234, 0, 236, 1, 244, 0, 247, 1, 251, 0, 254, 1, 253, 0, 254, 1, 246, 0, 247, 1, 238, 0, 238, 1, 215, 0, 204, 1, 191, 0, 179, 1, 155, 0, 140, 1, 126, 0, 106, 1, 100, 0, 87, 1, 94, 0, 69, 1, 93, 0, 65, 1, 88, 0, 64, 1, 101, 0, 65, 1, 109, 0, 75, 1, 126, 0, 85, 1, 145, 0, 91, 1, 154, 0, 103, 1, 175, 0, 112, 1, 183, 0, 116, 1, 200, 0, 126, 1, 203, 0, 117, 1, 211, 0, 118, 1, 211, 0, 99, 1, 214, 0, 100, 1, 211, 0, 76, 1, 204, 0, 65, 1, 189, 0, 41, 1, 171, 0, 23, 1, 157, 0, 9, 1, 141, 0, 251, 0, 131, 0, 243, 0, 120, 0, 233, 0, 115, 0, 227, 0, 113, 0, 219, 0, 113, 0, 207, 0, 109, 0, 202, 0, 120, 0, 198, 0, 133, 0, 201, 0, 149, 0, 205, 0, 171, 0, 214, 0, 196, 0, 227, 0, 214, 0, 236, 0, 236, 0, 248, 0, 3, 1, 5, 1, 20, 1, 18, 1, 44, 1, 37, 1, 57, 1, 49, 1, 78, 1, 68, 1, 92, 1, 84, 1, 116, 1, 105, 1, 141, 1, 131, 1, 178, 1, 155, 1, 205, 1, 177, 1, 238, 1, 194, 1, 249, 1, 194, 1, 12, 2, 199, 1, 8, 2, 190, 1, 6, 2, 179, 1, 249, 1, 170, 1, 241, 1, 158, 1, 227, 1, 151, 1, 223, 1, 145, 1, 226, 1, 156, 1, 234, 1, 166, 1, 7, 2, 194, 1, 25, 2, 216, 1, 63, 2, 249, 1, 91, 2, 20, 2, 128, 2, 56, 2, 162, 2, 77, 2, 198, 2, 108, 2, 219, 2, 123, 2, 236, 2, 133, 2, 244, 2, 136, 2, 254, 2, 142, 2, 251, 2, 143, 2, 252, 2, 144, 2, 250, 2, 158, 2, 7, 3, 171, 2, 27, 3, 197, 2, 47, 3, 223, 2, 76, 3, 247, 2, 103, 3, 15, 3, 122, 3, 31, 3, 146, 3, 43, 3, 156, 3, 45, 3, 157, 3, 44, 3, 152, 3, 26, 3, 115, 3, 249, 2, 74, 3, 201, 2, 22, 3, 157, 2, 219, 2, 98, 2, 175, 2, 59, 2, 125, 2, 14, 2, 100, 2, 246, 1, 69, 2, 228, 1, 62, 2, 217, 1, 61, 2, 226, 1, 89, 2, 250, 1, 113, 2, 15, 2, 142, 2, 45, 2, 172, 2, 70, 2, 183, 2, 82, 2, 190, 2, 89, 2, 187, 2, 83, 2, 162, 2, 64, 2, 142, 2, 42, 2, 118, 2, 21, 2, 94, 2, 0, 2, 72, 2, 226, 1, 50, 2, 206, 1, 28, 2, 177, 1, 16, 2, 162, 1, 253, 1, 144, 1, 251, 1, 130, 1, 231, 1, 115, 1, 219, 1, 96, 1, 198, 1, 69, 1, 172, 1, 39, 1, 146, 1, 4, 1, 103, 1, 216, 0, 65, 1, 162, 0, 0, 1, 110, 0, 205, 0, 38, 0, 126, 0, 232, 255, 58, 0, 154, 255, 237, 255, 89, 255, 167, 255, 24, 255, 104, 255, 219, 254, 43, 255, 167, 254, 253, 254, 121, 254, 210, 254, 86, 254, 190, 254, 71, 254, 175, 254, 55, 254, 162, 254, 52, 254, 160, 254, 39, 254, 133, 254, 21, 254, 105, 254, 239, 253, 55, 254, 188, 253, 253, 253, 126, 253, 185, 253, 50, 253, 107, 253, 235, 252, 32, 253, 157, 252, 211, 252, 93, 252, 147, 252, 31, 252, 85, 252, 232, 251, 41, 252, 194, 251, 248, 251, 150, 251, 214, 251, 116, 251, 176, 251, 80, 251, 147, 251, 52, 251, 113, 251, 14, 251, 80, 251, 250, 250, 52, 251, 213, 250, 14, 251, 194, 250, 246, 250, 164, 250, 209, 250, 138, 250, 188, 250, 117, 250, 153, 250, 84, 250, 128, 250, 58, 250, 100, 250, 25, 250, 70, 250, 253, 249, 48, 250, 227, 249, 14, 250, 195, 249, 250, 249, 173, 249, 219, 249, 150, 249, 200, 249, 128, 249, 162, 249, 99, 249, 136, 249, 73, 249, 99, 249, 45, 249, 64, 249, 14, 249, 30, 249, 238, 248, 248, 248, 210, 248, 215, 248, 185, 248, 196, 248, 168, 248, 178, 248, 161, 248, 170, 248, 147, 248, 170, 248, 151, 248, 172, 248, 158, 248, 187, 248, 170, 248, 197, 248, 190, 248, 219, 248, 210, 248, 241, 248, 235, 248, 10, 249, 12, 249, 31, 249, 37, 249, 62, 249, 67, 249, 86, 249, 97, 249, 129, 249, 129, 249, 157, 249, 163, 249, 205, 249, 204, 249, 248, 249, 249, 249, 44, 250, 39, 250, 100, 250, 98, 250, 160, 250, 151, 250, 216, 250, 211, 250, 21, 251, 10, 251, 67, 251, 60, 251, 122, 251, 102, 251, 152, 251, 136, 251, 191, 251, 160, 251, 211, 251, 182, 251, 235, 251, 199, 251, 12, 252, 227, 251, 38, 252, 254, 251, 86, 252, 43, 252, 131, 252, 85, 252, 186, 252, 143, 252, 250, 252, 201, 252, 53, 253, 8, 253, 109, 253, 63, 253, 156, 253, 113, 253, 195, 253, 156, 253, 236, 253, 194, 253, 13, 254, 226, 253, 47, 254, 7, 254, 85, 254, 37, 254, 125, 254, 84, 254, 174, 254, 122, 254, 211, 254, 164, 254, 248, 254, 195, 254, 21, 255, 229, 254, 47, 255, 0, 255, 74, 255, 29, 255, 94, 255, 53, 255, 120, 255, 80, 255, 140, 255, 104, 255, 167, 255, 132, 255, 191, 255, 160, 255, 222, 255, 195, 255, 247, 255, 225, 255, 17, 0, 254, 255, 34, 0, 24, 0, 62, 0, 55, 0, 80, 0, 78, 0, 105, 0, 103, 0, 121, 0, 132, 0, 150, 0, 155, 0, 169, 0, 186, 0, 202, 0, 216, 0, 224, 0, 247, 0, 253, 0, 23, 1, 13, 1, 43, 1, 38, 1, 73, 1, 38, 1, 80, 1, 45, 1, 94, 1, 46, 1, 101, 1, 50, 1, 110, 1, 49, 1, 121, 1, 45, 1, 118, 1, 42, 1, 133, 1, 40, 1, 130, 1, 37, 1, 140, 1, 36, 1, 138, 1, 30, 1, 141, 1, 21, 1, 132, 1, 11, 1, 132, 1, 8, 1, 127, 1, 249, 0, 130, 1, 249, 0, 133, 1, 240, 0, 144, 1, 247, 0, 160, 1, 1, 1, 180, 1, 11, 1, 202, 1, 33, 1, 227, 1, 45, 1, 247, 1, 64, 1, 11, 2, 78, 1, 27, 2, 93, 1, 45, 2, 109, 1, 60, 2, 130, 1, 88, 2, 160, 1, 111, 2, 186, 1, 143, 2, 223, 1, 175, 2, 255, 1, 202, 2, 34, 2, 238, 2, 64, 2, 9, 3, 100, 2, 37, 3, 128, 2, 70, 3, 158, 2, 90, 3, 182, 2, 116, 3, 197, 2, 128, 3, 218, 2, 145, 3, 232, 2, 151, 3, 237, 2, 153, 3, 242, 2, 150, 3, 230, 2, 135, 3, 220, 2, 125, 3, 207, 2, 113, 3, 197, 2, 103, 3, 184, 2, 103, 3, 196, 2, 111, 3, 208, 2, 133, 3, 233, 2, 157, 3, 12, 3, 188, 3, 53, 3, 229, 3, 110, 3, 20, 4, 165, 3, 72, 4, 238, 3, 132, 4, 47, 4, 191, 4, 117, 4, 247, 4, 180, 4, 48, 5, 227, 4, 83, 5, 9, 5, 104, 5, 21, 5, 114, 5, 21, 5, 94, 5, 5, 5, 79, 5, 246, 4, 55, 5, 235, 4, 47, 5, 234, 4, 39, 5, 235, 4, 49, 5, 251, 4, 54, 5, 252, 4, 70, 5, 6, 5, 66, 5, 252, 4, 66, 5, 230, 4, 32, 5, 191, 4, 2, 5, 136, 4, 196, 4, 74, 4, 142, 4, 254, 3, 67, 4, 178, 3, 251, 3, 107, 3, 185, 3, 46, 3, 131, 3, 250, 2, 83, 3, 209, 2, 52, 3, 183, 2, 29, 3, 173, 2, 26, 3, 170, 2, 32, 3, 186, 2, 50, 3, 203, 2, 72, 3, 241, 2, 112, 3, 17, 3, 142, 3, 51, 3, 175, 3, 68, 3, 189, 3, 76, 3, 189, 3, 66, 3, 173, 3, 37, 3, 141, 3, 5, 3, 99, 3, 221, 2, 55, 3, 175, 2, 3, 3, 136, 2, 211, 2, 92, 2, 166, 2, 51, 2, 121, 2, 17, 2, 89, 2, 235, 1, 53, 2, 197, 1, 22, 2, 155, 1, 235, 1, 113, 1, 203, 1, 67, 1, 154, 1, 16, 1, 109, 1, 225, 0, 60, 1, 182, 0, 14, 1, 136, 0, 223, 0, 93, 0, 173, 0, 46, 0, 124, 0, 8, 0, 85, 0, 227, 255, 45, 0, 203, 255, 24, 0, 188, 255, 1, 0, 182, 255, 250, 255, 187, 255, 246, 255, 196, 255, 245, 255, 208, 255, 250, 255, 211, 255, 243, 255, 208, 255, 238, 255, 200, 255, 220, 255, 173, 255, 194, 255, 151, 255, 162, 255, 104, 255, 117, 255, 65, 255, 71, 255, 6, 255, 9, 255, 215, 254, 214, 254, 156, 254, 151, 254, 105, 254, 101, 254, 48, 254, 41, 254, 254, 253, 0, 254, 211, 253, 206, 253, 168, 253, 177, 253, 151, 253, 154, 253, 141, 253, 152, 253, 151, 253, 157, 253, 176, 253, 181, 253, 197, 253, 200, 253, 232, 253, 224, 253, 244, 253, 240, 253, 7, 254, 244, 253, 7, 254, 250, 253, 9, 254, 236, 253, 252, 253, 221, 253, 243, 253, 201, 253, 229, 253, 181, 253, 223, 253, 172, 253, 225, 253, 161, 253, 218, 253, 161, 253, 213, 253, 143, 253, 194, 253, 135, 253, 175, 253, 110, 253, 145, 253, 84, 253, 119, 253, 55, 253, 86, 253, 19, 253, 53, 253, 243, 252, 27, 253, 213, 252, 252, 252, 177, 252, 222, 252, 151, 252, 200, 252, 120, 252, 175, 252, 101, 252, 157, 252, 87, 252, 139, 252, 65, 252, 122, 252, 64, 252, 119, 252, 52, 252, 118, 252, 67, 252, 132, 252, 73, 252, 150, 252, 98, 252, 181, 252, 126, 252, 221, 252, 164, 252, 17, 253, 210, 252, 56, 253, 243, 252, 99, 253, 17, 253, 127, 253, 36, 253, 141, 253, 40, 253, 142, 253, 33, 253, 126, 253, 10, 253, 107, 253, 249, 252, 78, 253, 211, 252, 48, 253, 191, 252, 31, 253, 167, 252, 6, 253, 150, 252, 245, 252, 136, 252, 232, 252, 124, 252, 214, 252, 117, 252, 204, 252, 103, 252, 189, 252, 97, 252, 190, 252, 99, 252, 188, 252, 98, 252, 194, 252, 108, 252, 204, 252, 115, 252, 219, 252, 128, 252, 230, 252, 140, 252, 239, 252, 144, 252, 248, 252, 156, 252, 253, 252, 151, 252, 4, 253, 164, 252, 21, 253, 174, 252, 40, 253, 197, 252, 65, 253, 224, 252, 103, 253, 254, 252, 139, 253, 42, 253, 185, 253, 80, 253, 214, 253, 113, 253, 245, 253, 144, 253, 8, 254, 164, 253, 20, 254, 179, 253, 24, 254, 188, 253, 31, 254, 190, 253, 32, 254, 203, 253, 45, 254, 199, 253, 45, 254, 212, 253, 57, 254, 212, 253, 53, 254, 216, 253, 60, 254, 223, 253, 59, 254, 223, 253, 61, 254, 231, 253, 61, 254, 233, 253, 62, 254, 241, 253, 64, 254, 244, 253, 62, 254, 245, 253, 64, 254, 246, 253, 56, 254, 242, 253, 50, 254, 235, 253, 34, 254, 222, 253, 16, 254, 207, 253, 0, 254, 194, 253, 244, 253, 188, 253, 240, 253, 190, 253, 0, 254, 205, 253, 19, 254, 233, 253, 61, 254, 14, 254, 96, 254, 55, 254, 134, 254, 95, 254, 164, 254, 120, 254, 183, 254, 148, 254, 201, 254, 163, 254, 207, 254, 175, 254, 210, 254, 181, 254, 214, 254, 190, 254, 223, 254, 198, 254, 238, 254, 229, 254, 2, 255, 240, 254, 22, 255, 21, 255, 51, 255, 41, 255, 69, 255, 71, 255, 92, 255, 94, 255, 115, 255, 122, 255, 138, 255, 143, 255, 163, 255, 172, 255, 183, 255, 189, 255, 203, 255, 212, 255, 212, 255, 218, 255, 217, 255, 222, 255, 200, 255, 203, 255, 189, 255, 194, 255, 163, 255, 168, 255, 141, 255, 147, 255, 118, 255, 125, 255, 103, 255, 108, 255, 93, 255, 107, 255, 98, 255, 103, 255, 99, 255, 120, 255, 119, 255, 128, 255, 127, 255, 153, 255, 134, 255, 158, 255, 133, 255, 162, 255, 125, 255, 160, 255, 110, 255, 146, 255, 92, 255, 134, 255, 72, 255, 116, 255, 50, 255, 97, 255, 35, 255, 85, 255, 28, 255, 80, 255, 31, 255, 79, 255, 31, 255, 84, 255, 48, 255, 91, 255, 57, 255, 107, 255, 81, 255, 123, 255, 98, 255, 146, 255, 119, 255, 164, 255, 142, 255, 191, 255, 160, 255, 209, 255, 180, 255, 234, 255, 194, 255, 251, 255, 208, 255, 10, 0, 213, 255, 16, 0, 214, 255, 24, 0, 210, 255, 16, 0, 199, 255, 17, 0, 200, 255, 9, 0, 197, 255, 19, 0, 202, 255, 17, 0, 205, 255, 33, 0, 217, 255, 39, 0, 225, 255, 55, 0, 235, 255, 66, 0, 242, 255, 80, 0, 1, 0, 95, 0, 18, 0, 123, 0, 34, 0, 131, 0, 46, 0, 154, 0, 54, 0, 160, 0, 55, 0, 165, 0, 44, 0, 158, 0, 33, 0, 147, 0, 16, 0, 131, 0, 2, 0, 119, 0, 239, 255, 104, 0, 226, 255, 90, 0, 209, 255, 83, 0, 210, 255, 77, 0, 212, 255, 89, 0, 229, 255, 103, 0, 244, 255, 124, 0, 10, 0, 139, 0, 30, 0, 161, 0, 52, 0, 176, 0, 68, 0, 191, 0, 75, 0, 201, 0, 79, 0, 200, 0, 73, 0, 199, 0, 72, 0, 199, 0, 57, 0, 188, 0, 56, 0, 187, 0, 42, 0, 178, 0, 38, 0, 167, 0, 19, 0, 155, 0, 4, 0, 135, 0, 247, 255, 125, 0, 240, 255, 115, 0, 241, 255, 117, 0, 251, 255, 124, 0, 12, 0, 138, 0, 31, 0, 160, 0, 58, 0, 173, 0, 69, 0, 193, 0, 87, 0, 192, 0, 80, 0, 198, 0, 82, 0, 187, 0, 71, 0, 189, 0, 73, 0, 185, 0, 69, 0, 193, 0, 83, 0, 205, 0, 96, 0, 229, 0, 124, 0, 2, 1, 151, 0, 35, 1, 186, 0, 69, 1, 215, 0, 95, 1, 248, 0, 126, 1, 19, 1, 150, 1, 50, 1, 176, 1, 71, 1, 193, 1, 95, 1, 215, 1, 108, 1, 219, 1, 114, 1, 230, 1, 119, 1, 223, 1, 118, 1, 223, 1, 111, 1, 212, 1, 102, 1, 201, 1, 87, 1, 193, 1, 73, 1, 184, 1, 66, 1, 180, 1, 63, 1, 187, 1, 73, 1, 198, 1, 93, 1, 220, 1, 118, 1, 246, 1, 146, 1, 14, 2, 164, 1, 33, 2, 178, 1, 40, 2, 181, 1, 48, 2, 180, 1, 41, 2, 167, 1, 38, 2, 152, 1, 21, 2, 136, 1, 9, 2, 121, 1, 253, 1, 106, 1, 241, 1, 95, 1, 232, 1, 89, 1, 229, 1, 82, 1, 223, 1, 79, 1, 217, 1, 77, 1, 216, 1, 76, 1, 209, 1, 69, 1, 208, 1, 66, 1, 195, 1, 48, 1, 187, 1, 34, 1, 158, 1, 7, 1, 141, 1, 227, 0, 100, 1, 193, 0, 64, 1, 151, 0, 28, 1, 123, 0, 253, 0, 105, 0, 234, 0, 95, 0, 227, 0, 106, 0, 231, 0, 124, 0, 249, 0, 155, 0, 21, 1, 198, 0, 56, 1, 241, 0, 93, 1, 22, 1, 123, 1, 49, 1, 141, 1, 59, 1, 146, 1, 55, 1, 137, 1, 31, 1, 109, 1, 248, 0, 70, 1, 202, 0, 25, 1, 151, 0, 229, 0, 97, 0, 178, 0, 46, 0, 123, 0, 249, 255, 80, 0, 217, 255, 41, 0, 180, 255, 11, 0, 161, 255, 241, 255, 144, 255, 221, 255, 134, 255, 209, 255, 134, 255, 199, 255, 128, 255, 192, 255, 127, 255, 180, 255, 112, 255, 166, 255, 92, 255, 138, 255, 59, 255, 108, 255, 36, 255, 76, 255, 255, 254, 46, 255, 245, 254, 23, 255, 223, 254, 10, 255, 233, 254, 14, 255, 240, 254, 26, 255, 8, 255, 51, 255, 47, 255, 90, 255, 77, 255, 118, 255, 117, 255, 156, 255, 143, 255, 169, 255, 169, 255, 190, 255, 187, 255, 197, 255, 200, 255, 200, 255, 198, 255, 195, 255, 189, 255, 179, 255, 176, 255, 161, 255, 147, 255, 136, 255, 113, 255, 99, 255, 73, 255, 60, 255, 25, 255, 20, 255, 236, 254, 221, 254, 184, 254, 180, 254, 146, 254, 132, 254, 111, 254, 103, 254, 92, 254, 78, 254, 78, 254, 69, 254, 82, 254, 66, 254, 88, 254, 74, 254, 107, 254, 86, 254, 124, 254, 102, 254, 142, 254, 112, 254, 158, 254, 127, 254, 175, 254, 138, 254, 184, 254, 142, 254, 196, 254, 153, 254, 208, 254, 162, 254, 223, 254, 169, 254, 242, 254, 190, 254, 4, 255, 197, 254, 27, 255, 216, 254, 42, 255, 224, 254, 66, 255, 238, 254, 82, 255, 247, 254, 103, 255, 3, 255, 117, 255, 10, 255, 131, 255, 21, 255, 151, 255, 29, 255, 157, 255, 42, 255, 179, 255, 43, 255, 179, 255, 55, 255, 196, 255, 52, 255, 200, 255, 64, 255, 215, 255, 67, 255, 239, 255, 93, 255, 5, 0, 109, 255, 42, 0, 150, 255, 84, 0, 190, 255, 133, 0, 240, 255, 180, 0, 27, 0, 233, 0, 74, 0, 16, 1, 114, 0, 54, 1, 146, 0, 82, 1, 172, 0, 106, 1, 195, 0, 137, 1, 217, 0, 153, 1, 233, 0, 185, 1, 254, 0, 207, 1, 13, 1, 239, 1, 38, 1, 14, 2, 61, 1, 44, 2, 84, 1, 73, 2, 109, 1, 99, 2, 129, 1, 121, 2, 153, 1, 140, 2, 168, 1, 148, 2, 181, 1, 159, 2, 191, 1, 153, 2, 187, 1, 143, 2, 178, 1, 121, 2, 160, 1, 91, 2, 132, 1, 60, 2, 110, 1, 20, 2, 76, 1, 253, 1, 61, 1, 226, 1, 46, 1, 219, 1, 47, 1, 214, 1, 50, 1, 222, 1, 69, 1, 235, 1, 86, 1, 246, 1, 101, 1, 4, 2, 121, 1, 13, 2, 124, 1, 12, 2, 131, 1, 22, 2, 129, 1, 18, 2, 126, 1, 15, 2, 118, 1, 5, 2, 104, 1, 242, 1, 83, 1, 213, 1, 52, 1, 176, 1, 14, 1, 122, 1, 222, 0, 67, 1, 176, 0, 9, 1, 122, 0, 202, 0, 74, 0, 142, 0, 22, 0, 83, 0, 236, 255, 35, 0, 196, 255, 251, 255, 174, 255, 221, 255, 145, 255, 199, 255, 139, 255, 182, 255, 122, 255, 173, 255, 124, 255, 158, 255, 115, 255, 158, 255, 119, 255, 152, 255, 122, 255, 151, 255, 124, 255, 152, 255, 129, 255, 145, 255, 139, 255, 147, 255, 135, 255, 136, 255, 143, 255, 135, 255, 141, 255, 130, 255, 146, 255, 127, 255, 149, 255, 123, 255, 142, 255, 119, 255, 145, 255, 116, 255, 133, 255, 107, 255, 132, 255, 98, 255, 114, 255, 85, 255, 109, 255, 76, 255, 97, 255, 57, 255, 88, 255, 47, 255, 80, 255, 26, 255, 70, 255, 8, 255, 56, 255, 237, 254, 42, 255, 221, 254, 26, 255, 187, 254, 10, 255, 168, 254, 249, 254, 139, 254, 239, 254, 119, 254, 226, 254, 102, 254, 219, 254, 82, 254, 211, 254, 69, 254, 199, 254, 54, 254, 197, 254, 47, 254, 186, 254, 35, 254, 179, 254, 26, 254, 171, 254, 17, 254, 161, 254, 18, 254, 166, 254, 28, 254, 176, 254, 40, 254, 191, 254, 56, 254, 207, 254, 67, 254, 222, 254, 83, 254, 237, 254, 92, 254, 243, 254, 93, 254, 250, 254, 103, 254, 248, 254, 94, 254, 244, 254, 93, 254, 237, 254, 74, 254, 212, 254, 60, 254, 200, 254, 36, 254, 170, 254, 2, 254, 143, 254, 228, 253, 109, 254, 188, 253, 79, 254, 165, 253, 54, 254, 137, 253, 37, 254, 128, 253, 34, 254, 120, 253, 33, 254, 131, 253, 52, 254, 148, 253, 67, 254, 164, 253, 93, 254, 190, 253, 109, 254, 204, 253, 127, 254, 213, 253, 129, 254, 213, 253, 121, 254, 205, 253, 106, 254, 185, 253, 84, 254, 173, 253, 61, 254, 151, 253, 46, 254, 147, 253, 34, 254, 132, 253, 22, 254, 132, 253, 18, 254, 126, 253, 14, 254, 133, 253, 19, 254, 138, 253, 21, 254, 140, 253, 25, 254, 154, 253, 35, 254, 159, 253, 44, 254, 175, 253, 55, 254, 193, 253, 71, 254, 210, 253, 86, 254, 226, 253, 92, 254, 230, 253, 100, 254, 232, 253, 92, 254, 220, 253, 85, 254, 199, 253, 62, 254, 174, 253, 44, 254, 152, 253, 23, 254, 137, 253, 15, 254, 132, 253, 10, 254, 152, 253, 31, 254, 171, 253, 51, 254, 206, 253, 82, 254, 242, 253, 117, 254, 21, 254, 144, 254, 49, 254, 170, 254, 74, 254, 187, 254, 86, 254, 195, 254, 92, 254, 200, 254, 85, 254, 185, 254, 69, 254, 174, 254, 51, 254, 150, 254, 30, 254, 131, 254, 1, 254, 106, 254, 237, 253, 86, 254, 216, 253, 73, 254, 206, 253, 64, 254, 196, 253, 65, 254, 205, 253, 72, 254, 207, 253, 91, 254, 231, 253, 106, 254, 249, 253, 141, 254, 22, 254, 160, 254, 49, 254, 194, 254, 74, 254, 217, 254, 107, 254, 242, 254, 122, 254, 7, 255, 146, 254, 22, 255, 162, 254, 41, 255, 184, 254, 62, 255, 213, 254, 83, 255, 246, 254, 121, 255, 30, 255, 151, 255, 68, 255, 189, 255, 111, 255, 229, 255, 153, 255, 8, 0, 188, 255, 43, 0, 222, 255, 71, 0, 247, 255, 93, 0, 10, 0, 109, 0, 20, 0, 118, 0, 32, 0, 124, 0, 24, 0, 119, 0, 24, 0, 119, 0, 13, 0, 110, 0, 5, 0, 104, 0, 0, 0, 101, 0, 7, 0, 106, 0, 19, 0, 120, 0, 49, 0, 140, 0, 74, 0, 166, 0, 115, 0, 196, 0, 144, 0, 224, 0, 180, 0, 1, 1, 208, 0, 17, 1, 226, 0, 42, 1, 244, 0, 44, 1, 255, 0, 60, 1, 11, 1, 61, 1, 17, 1, 66, 1, 28, 1, 72, 1, 35, 1, 72, 1, 44, 1, 85, 1, 60, 1, 88, 1, 69, 1, 105, 1, 86, 1, 112, 1, 100, 1, 133, 1, 120, 1, 150, 1, 141, 1, 175, 1, 169, 1, 198, 1, 194, 1, 232, 1, 229, 1, 4, 2, 3, 2, 39, 2, 33, 2, 61, 2, 52, 2, 81, 2, 65, 2, 88, 2, 70, 2, 93, 2, 69, 2, 81, 2, 57, 2, 78, 2, 51, 2, 60, 2, 37, 2, 54, 2, 39, 2, 49, 2, 37, 2, 53, 2, 50, 2, 66, 2, 66, 2, 92, 2, 99, 2, 117, 2, 132, 2, 162, 2, 172, 2, 193, 2, 212, 2, 234, 2, 244, 2, 11, 3, 27, 3, 38, 3, 50, 3, 64, 3, 77, 3, 80, 3, 87, 3, 86, 3, 103, 3, 98, 3, 104, 3, 97, 3, 109, 3, 97, 3, 104, 3, 95, 3, 106, 3, 90, 3, 105, 3, 93, 3, 103, 3, 88, 3, 102, 3, 93, 3, 109, 3, 99, 3, 114, 3, 105, 3, 128, 3, 124, 3, 142, 3, 132, 3, 156, 3, 149, 3, 166, 3, 152, 3, 172, 3, 156, 3, 168, 3, 153, 3, 156, 3, 139, 3, 139, 3, 128, 3, 120, 3, 106, 3, 100, 3, 96, 3, 86, 3, 80, 3, 73, 3, 74, 3, 67, 3, 71, 3, 68, 3, 71, 3, 68, 3, 72, 3, 73, 3, 75, 3, 73, 3, 78, 3, 80, 3, 78, 3, 73, 3, 77, 3, 77, 3, 65, 3, 63, 3, 55, 3, 52, 3, 35, 3, 40, 3, 12, 3, 13, 3, 242, 2, 254, 2, 215, 2, 226, 2, 183, 2, 198, 2, 153, 2, 171, 2, 119, 2, 144, 2, 92, 2, 114, 2, 64, 2, 92, 2, 39, 2, 64, 2, 12, 2, 51, 2, 251, 1, 32, 2, 230, 1, 16, 2, 208, 1, 255, 1, 187, 1, 239, 1, 167, 1, 226, 1, 145, 1, 211, 1, 128, 1, 202, 1, 112, 1, 188, 1, 98, 1, 185, 1, 86, 1, 175, 1, 84, 1, 177, 1, 73, 1, 165, 1, 68, 1, 164, 1, 60, 1, 144, 1, 38, 1, 134, 1, 31, 1, 113, 1, 0, 1, 89, 1, 236, 0, 68, 1, 207, 0, 41, 1, 175, 0, 17, 1, 149, 0, 243, 0, 111, 0, 204, 0, 74, 0, 159, 0, 28, 0, 112, 0, 237, 255, 58, 0, 189, 255, 11, 0, 144, 255, 215, 255, 99, 255, 179, 255, 61, 255, 142, 255, 31, 255, 115, 255, 5, 255, 93, 255, 244, 254, 78, 255, 226, 254, 59, 255, 215, 254, 49, 255, 200, 254, 39, 255, 196, 254, 29, 255, 186, 254, 17, 255, 172, 254, 9, 255, 169, 254, 253, 254, 154, 254, 246, 254, 154, 254, 237, 254, 147, 254, 231, 254, 150, 254, 225, 254, 153, 254, 216, 254, 147, 254, 205, 254, 153, 254, 198, 254, 143, 254, 179, 254, 143, 254, 173, 254, 129, 254, 160, 254, 134, 254, 149, 254, 116, 254, 135, 254, 117, 254, 118, 254, 94, 254, 95, 254, 83, 254, 70, 254, 54, 254, 36, 254, 32, 254, 4, 254, 254, 253, 220, 253, 226, 253, 188, 253, 196, 253, 149, 253, 167, 253, 127, 253, 151, 253, 103, 253, 139, 253, 95, 253, 138, 253, 93, 253, 146, 253, 95, 253, 158, 253, 103, 253, 170, 253, 105, 253, 182, 253, 104, 253, 185, 253, 97, 253, 183, 253, 87, 253, 178, 253, 68, 253, 162, 253, 51, 253, 152, 253, 35, 253, 143, 253, 28, 253, 137, 253, 20, 253, 144, 253, 28, 253, 147, 253, 37, 253, 170, 253, 61, 253, 186, 253, 83, 253, 216, 253, 111, 253, 237, 253, 137, 253, 15, 254, 162, 253, 36, 254, 186, 253, 59, 254, 195, 253, 76, 254, 215, 253, 91, 254, 216, 253, 98, 254, 224, 253, 109, 254, 221, 253, 106, 254, 224, 253, 112, 254, 225, 253, 119, 254, 236, 253, 130, 254, 251, 253, 149, 254, 17, 254, 176, 254, 49, 254, 205, 254, 79, 254, 236, 254, 114, 254, 14, 255, 148, 254, 42, 255, 173, 254, 69, 255, 203, 254, 93, 255, 214, 254, 109, 255, 238, 254, 127, 255, 239, 254, 136, 255, 253, 254, 143, 255, 249, 254, 146, 255, 249, 254, 141, 255, 249, 254, 143, 255, 242, 254, 129, 255, 238, 254, 131, 255, 237, 254, 120, 255, 236, 254, 124, 255, 242, 254, 128, 255, 252, 254, 136, 255, 8, 255, 147, 255, 22, 255, 165, 255, 42, 255, 178, 255, 60, 255, 202, 255, 71, 255, 211, 255, 86, 255, 227, 255, 91, 255, 234, 255, 95, 255, 241, 255, 100, 255, 245, 255, 98, 255, 251, 255, 105, 255, 0, 0, 99, 255, 2, 0, 116, 255, 16, 0, 115, 255, 21, 0, 135, 255, 41, 0, 147, 255, 58, 0, 164, 255, 75, 0, 180, 255, 97, 0, 200, 255, 117, 0, 210, 255, 135, 0, 230, 255, 152, 0, 234, 255, 163, 0, 251, 255, 175, 0, 252, 255, 179, 0, 254, 255, 181, 0, 247, 255, 170, 0, 235, 255, 168, 0, 224, 255, 150, 0, 211, 255, 146, 0, 200, 255, 138, 0, 197, 255, 135, 0, 197, 255, 143, 0, 206, 255, 147, 0, 221, 255, 167, 0, 240, 255, 183, 0, 2, 0, 201, 0, 19, 0, 221, 0, 45, 0, 242, 0, 59, 0, 5, 1, 85, 0, 22, 1, 98, 0, 41, 1, 119, 0, 53, 1, 129, 0, 68, 1, 153, 0, 75, 1, 160, 0, 92, 1, 179, 0, 96, 1, 188, 0, 113, 1, 198, 0, 112, 1, 198, 0, 112, 1, 202, 0, 108, 1, 195, 0, 104, 1, 199, 0, 97, 1, 187, 0, 88, 1, 188, 0, 81, 1, 179, 0, 71, 1, 177, 0, 62, 1, 165, 0, 46, 1, 160, 0, 36, 1, 147, 0, 14, 1, 133, 0, 254, 0, 123, 0, 230, 0, 107, 0, 216, 0, 97, 0, 194, 0, 81, 0, 180, 0, 73, 0, 162, 0, 67, 0, 159, 0, 65, 0, 148, 0, 65, 0, 150, 0, 74, 0, 148, 0, 82, 0, 154, 0, 98, 0, 162, 0, 107, 0, 162, 0, 125, 0, 173, 0, 129, 0, 170, 0, 141, 0, 169, 0, 134, 0, 165, 0, 138, 0, 155, 0, 125, 0, 142, 0, 119, 0, 131, 0, 112, 0, 117, 0, 105, 0, 110, 0, 116, 0, 110, 0, 119, 0, 114, 0, 138, 0, 128, 0, 160, 0, 142, 0, 177, 0, 163, 0, 198, 0, 175, 0, 215, 0, 195, 0, 224, 0, 202, 0, 221, 0, 199, 0, 211, 0, 191, 0, 196, 0, 174, 0, 172, 0, 159, 0, 157, 0, 140, 0, 135, 0, 127, 0, 126, 0, 122, 0, 120, 0, 115, 0, 124, 0, 128, 0, 140, 0, 141, 0, 158, 0, 159, 0, 187, 0, 187, 0, 215, 0, 210, 0, 251, 0, 244, 0, 29, 1, 19, 1, 62, 1, 43, 1, 94, 1, 73, 1, 112, 1, 86, 1, 131, 1, 101, 1, 135, 1, 107, 1, 134, 1, 100, 1, 127, 1, 99, 1, 114, 1, 86, 1, 109, 1, 88, 1, 108, 1, 87, 1, 115, 1, 102, 1, 137, 1, 123, 1, 163, 1, 151, 1, 198, 1, 188, 1, 234, 1, 220, 1, 17, 2, 4, 2, 43, 2, 28, 2, 74, 2, 53, 2, 88, 2, 70, 2, 105, 2, 79, 2, 113, 2, 94, 2, 127, 2, 96, 2, 136, 2, 114, 2, 152, 2, 120, 2, 162, 2, 139, 2, 180, 2, 148, 2, 191, 2, 164, 2, 215, 2, 182, 2, 230, 2, 199, 2, 255, 2, 221, 2, 21, 3, 239, 2, 49, 3, 10, 3, 79, 3, 31, 3, 97, 3, 50, 3, 123, 3, 61, 3, 126, 3, 68, 3, 138, 3, 69, 3, 130, 3, 63, 3, 129, 3, 57, 3, 120, 3, 50, 3, 116, 3, 45, 3, 117, 3, 46, 3, 117, 3, 45, 3, 132, 3, 57, 3, 143, 3, 64, 3, 164, 3, 80, 3, 181, 3, 89, 3, 205, 3, 112, 3, 222, 3, 124, 3, 238, 3, 136, 3, 252, 3, 151, 3, 5, 4, 152, 3, 6, 4, 160, 3, 5, 4, 150, 3, 248, 3, 144, 3, 238, 3, 131, 3, 224, 3, 114, 3, 206, 3, 102, 3, 196, 3, 82, 3, 176, 3, 72, 3, 160, 3, 50, 3, 144, 3, 44, 3, 127, 3, 21, 3, 103, 3, 7, 3, 84, 3, 242, 2, 55, 3, 220, 2, 22, 3, 188, 2, 243, 2, 160, 2, 201, 2, 118, 2, 157, 2, 80, 2, 118, 2, 44, 2, 74, 2, 1, 2, 39, 2, 230, 1, 2, 2, 189, 1, 228, 1, 169, 1, 203, 1, 142, 1, 186, 1, 129, 1, 167, 1, 114, 1, 157, 1, 102, 1, 145, 1, 97, 1, 132, 1, 85, 1, 125, 1, 78, 1, 106, 1, 61, 1, 90, 1, 47, 1, 59, 1, 15, 1, 21, 1, 241, 0, 230, 0, 195, 0, 181, 0, 148, 0, 115, 0, 95, 0, 70, 0, 45, 0, 8, 0, 255, 255, 220, 255, 208, 255, 179, 255, 175, 255, 146, 255, 145, 255, 118, 255, 118, 255, 93, 255, 98, 255, 68, 255, 75, 255, 48, 255, 61, 255, 27, 255, 38, 255, 1, 255, 17, 255, 233, 254, 250, 254, 204, 254, 223, 254, 178, 254, 202, 254, 154, 254, 173, 254, 130, 254, 161, 254, 125, 254, 147, 254, 109, 254, 147, 254, 111, 254, 139, 254, 101, 254, 144, 254, 106, 254, 141, 254, 102, 254, 145, 254, 106, 254, 146, 254, 106, 254, 146, 254, 107, 254, 149, 254, 109, 254, 140, 254, 108, 254, 145, 254, 108, 254, 137, 254, 101, 254, 132, 254, 97, 254, 124, 254, 81, 254, 108, 254, 71, 254, 98, 254, 56, 254, 87, 254, 45, 254, 75, 254, 29, 254, 63, 254, 20, 254, 53, 254, 9, 254, 49, 254, 4, 254, 44, 254, 251, 253, 38, 254, 1, 254, 50, 254, 4, 254, 46, 254, 17, 254, 68, 254, 26, 254, 76, 254, 49, 254, 99, 254, 65, 254, 120, 254, 91, 254, 140, 254, 108, 254, 164, 254, 137, 254, 188, 254, 149, 254, 204, 254, 175, 254, 224, 254, 186, 254, 238, 254, 203, 254, 249, 254, 208, 254, 2, 255, 220, 254, 8, 255, 222, 254, 14, 255, 228, 254, 17, 255, 231, 254, 25, 255, 239, 254, 26, 255, 245, 254, 41, 255, 2, 255, 45, 255, 9, 255, 61, 255, 19, 255, 66, 255, 23, 255, 77, 255, 28, 255, 85, 255, 26, 255, 87, 255, 24, 255, 95, 255, 24, 255, 98, 255, 23, 255, 102, 255, 31, 255, 115, 255, 35, 255, 121, 255, 51, 255, 139, 255, 62, 255, 151, 255, 86, 255, 173, 255, 108, 255, 200, 255, 130, 255, 226, 255, 165, 255, 255, 255, 186, 255, 31, 0, 220, 255, 57, 0, 236, 255, 83, 0, 7, 0, 102, 0, 21, 0, 118, 0, 43, 0, 133, 0, 56, 0, 147, 0, 77, 0, 160, 0, 93, 0, 175, 0, 116, 0, 192, 0, 137, 0, 211, 0, 163, 0, 233, 0, 181, 0, 252, 0, 204, 0, 12, 1, 219, 0, 27, 1, 223, 0, 30, 1, 227, 0, 31, 1, 217, 0, 28, 1, 205, 0, 12, 1, 193, 0, 6, 1, 177, 0, 245, 0, 167, 0, 243, 0, 157, 0, 227, 0, 146, 0, 229, 0, 151, 0, 224, 0, 146, 0, 233, 0, 166, 0, 246, 0, 171, 0, 6, 1, 199, 0, 26, 1, 220, 0, 53, 1, 249, 0, 74, 1, 19, 1, 101, 1, 44, 1, 118, 1, 57, 1, 127, 1, 71, 1, 137, 1, 68, 1, 128, 1, 64, 1, 125, 1, 53, 1, 106, 1, 41, 1, 103, 1, 30, 1, 85, 1, 26, 1, 90, 1, 29, 1, 87, 1, 36, 1, 103, 1, 49, 1, 110, 1, 55, 1, 124, 1, 64, 1, 125, 1, 72, 1, 138, 1, 67, 1, 130, 1, 64, 1, 128, 1, 56, 1, 120, 1, 49, 1, 112, 1, 33, 1, 95, 1, 12, 1, 75, 1, 248, 0, 52, 1, 224, 0, 33, 1, 204, 0, 13, 1, 188, 0, 254, 0, 176, 0, 248, 0, 176, 0, 240, 0, 175, 0, 245, 0, 185, 0, 250, 0, 202, 0, 6, 1, 216, 0, 14, 1, 226, 0, 21, 1, 237, 0, 21, 1, 233, 0, 19, 1, 231, 0, 4, 1, 214, 0, 247, 0, 202, 0, 226, 0, 183, 0, 211, 0, 175, 0, 202, 0, 167, 0, 191, 0, 159, 0, 189, 0, 160, 0, 185, 0, 161, 0, 187, 0, 158, 0, 190, 0, 165, 0, 182, 0, 152, 0, 182, 0, 152, 0, 171, 0, 139, 0, 161, 0, 140, 0, 160, 0, 133, 0, 152, 0, 133, 0, 153, 0, 132, 0, 153, 0, 128, 0, 151, 0, 132, 0, 152, 0, 121, 0, 146, 0, 127, 0, 148, 0, 118, 0, 142, 0, 129, 0, 148, 0, 131, 0, 147, 0, 147, 0, 161, 0, 155, 0, 166, 0, 170, 0, 180, 0, 175, 0, 182, 0, 179, 0, 180, 0, 164, 0, 169, 0, 158, 0, 153, 0, 129, 0, 135, 0, 113, 0, 106, 0, 80, 0, 83, 0, 59, 0, 58, 0, 36, 0, 37, 0, 19, 0, 25, 0, 15, 0, 17, 0, 7, 0, 15, 0, 15, 0, 21, 0, 14, 0, 17, 0, 21, 0, 31, 0, 27, 0, 23, 0, 31, 0, 40, 0, 41, 0, 38, 0, 45, 0, 48, 0, 56, 0, 59, 0, 65, 0, 64, 0, 79, 0, 81, 0, 88, 0, 86, 0, 94, 0, 90, 0, 100, 0, 92, 0, 94, 0, 87, 0, 92, 0, 79, 0, 77, 0, 66, 0, 68, 0, 55, 0, 56, 0, 44, 0, 40, 0, 29, 0, 33, 0, 23, 0, 25, 0, 14, 0, 23, 0, 12, 0, 28, 0, 14, 0, 29, 0, 16, 0, 37, 0, 18, 0, 40, 0, 25, 0, 50, 0, 23, 0, 46, 0, 23, 0, 52, 0, 19, 0, 41, 0, 8, 0, 43, 0, 4, 0, 27, 0, 243, 255, 20, 0, 230, 255, 8, 0, 215, 255, 250, 255, 205, 255, 243, 255, 191, 255, 239, 255, 193, 255, 240, 255, 185, 255, 245, 255, 198, 255, 5, 0, 200, 255, 19, 0, 221, 255, 40, 0, 226, 255, 57, 0, 246, 255, 73, 0, 250, 255, 87, 0, 10, 0, 93, 0, 9, 0, 94, 0, 11, 0, 88, 0, 7, 0, 84, 0, 3, 0, 70, 0, 252, 255, 61, 0, 241, 255, 48, 0, 231, 255, 41, 0, 227, 255, 32, 0, 221, 255, 33, 0, 221, 255, 35, 0, 227, 255, 47, 0, 237, 255, 60, 0, 253, 255, 78, 0, 17, 0, 97, 0, 29, 0, 117, 0, 53, 0, 134, 0, 65, 0, 146, 0, 81, 0, 155, 0, 87, 0, 161, 0, 95, 0, 163, 0, 96, 0, 163, 0, 104, 0, 167, 0, 103, 0, 172, 0, 112, 0, 178, 0, 115, 0, 185, 0, 124, 0, 193, 0, 130, 0, 192, 0, 133, 0, 195, 0, 132, 0, 190, 0, 131, 0, 184, 0, 126, 0, 176, 0, 123, 0, 175, 0, 123, 0, 170, 0, 125, 0, 179, 0, 135, 0, 181, 0, 142, 0, 195, 0, 161, 0, 197, 0, 166, 0, 201, 0, 175, 0, 206, 0, 179, 0, 199, 0, 183, 0, 196, 0, 178, 0, 183, 0, 172, 0, 175, 0, 169, 0, 168, 0, 162, 0, 160, 0, 164, 0, 159, 0, 161, 0, 160, 0, 165, 0, 151, 0, 162, 0, 148, 0, 161, 0, 133, 0, 150, 0, 123, 0, 143, 0, 112, 0, 131, 0, 103, 0, 124, 0, 97, 0, 118, 0, 95, 0, 117, 0, 100, 0, 118, 0, 104, 0, 123, 0, 108, 0, 127, 0, 115, 0, 132, 0, 115, 0, 135, 0, 118, 0, 131, 0, 118, 0, 131, 0, 106, 0, 120, 0, 106, 0, 117, 0, 96, 0, 108, 0, 91, 0, 103, 0, 90, 0, 102, 0, 82, 0, 95, 0, 86, 0, 102, 0, 83, 0, 97, 0, 90, 0, 104, 0, 94, 0, 111, 0, 108, 0, 123, 0, 118, 0, 137, 0, 135, 0, 153, 0, 155, 0, 170, 0, 175, 0, 195, 0, 199, 0, 215, 0, 214, 0, 238, 0, 232, 0, 249, 0, 241, 0, 5, 1, 244, 0, 7, 1, 242, 0, 6, 1, 238, 0, 5, 1, 227, 0, 250, 0, 219, 0, 243, 0, 209, 0, 234, 0, 201, 0, 230, 0, 194, 0, 223, 0, 189, 0, 217, 0, 187, 0, 216, 0, 188, 0, 213, 0, 190, 0, 216, 0, 194, 0, 219, 0, 199, 0, 226, 0, 202, 0, 229, 0, 208, 0, 236, 0, 206, 0, 238, 0, 207, 0, 236, 0, 202, 0, 234, 0, 199, 0, 232, 0, 202, 0, 232, 0, 200, 0, 235, 0, 205, 0, 234, 0, 210, 0, 248, 0, 219, 0, 249, 0, 224, 0, 10, 1, 230, 0, 12, 1, 234, 0, 21, 1, 233, 0, 18, 1, 225, 0, 18, 1, 220, 0, 9, 1, 209, 0, 8, 1, 206, 0, 0, 1, 198, 0, 2, 1, 195, 0, 252, 0, 194, 0, 2, 1, 192, 0, 253, 0, 196, 0, 0, 1, 190, 0, 251, 0, 191, 0, 244, 0, 180, 0, 232, 0, 175, 0, 225, 0, 165, 0, 210, 0, 153, 0, 206, 0, 146, 0, 192, 0, 135, 0, 187, 0, 131, 0, 180, 0, 115, 0, 167, 0, 112, 0, 164, 0, 95, 0, 146, 0, 91, 0, 141, 0, 73, 0, 123, 0, 73, 0, 120, 0, 69, 0, 118, 0, 66, 0, 117, 0, 74, 0, 119, 0, 78, 0, 128, 0, 95, 0, 141, 0, 103, 0, 151, 0, 116, 0, 165, 0, 129, 0, 173, 0, 131, 0, 178, 0, 134, 0, 180, 0, 130, 0, 178, 0, 122, 0, 172, 0, 119, 0, 168, 0, 108, 0, 155, 0, 103, 0, 152, 0, 94, 0, 138, 0, 85, 0, 125, 0, 79, 0, 115, 0, 68, 0, 101, 0, 56, 0, 94, 0, 48, 0, 77, 0, 32, 0, 69, 0, 28, 0, 55, 0, 15, 0, 46, 0, 5, 0, 35, 0, 250, 255, 19, 0, 244, 255, 13, 0, 226, 255, 249, 255, 221, 255, 241, 255, 201, 255, 224, 255, 196, 255, 217, 255, 184, 255, 206, 255, 177, 255, 198, 255, 165, 255, 189, 255, 160, 255, 180, 255, 147, 255, 171, 255, 139, 255, 161, 255, 126, 255, 145, 255, 116, 255, 137, 255, 98, 255, 117, 255, 88, 255, 99, 255, 65, 255, 85, 255, 52, 255, 58, 255, 28, 255, 41, 255, 254, 254, 4, 255, 226, 254, 233, 254, 185, 254, 189, 254, 146, 254, 152, 254, 106, 254, 110, 254, 66, 254, 71, 254, 28, 254, 35, 254, 253, 253, 3, 254, 223, 253, 235, 253, 201, 253, 211, 253, 184, 253, 194, 253, 169, 253, 180, 253, 163, 253, 174, 253, 148, 253, 161, 253, 148, 253, 161, 253, 138, 253, 153, 253, 139, 253, 151, 253, 133, 253, 153, 253, 143, 253, 152, 253, 138, 253, 153, 253, 145, 253, 154, 253, 139, 253, 148, 253, 135, 253, 147, 253, 122, 253, 126, 253, 115, 253, 120, 253, 96, 253, 97, 253, 85, 253, 85, 253, 71, 253, 68, 253, 65, 253, 59, 253, 59, 253, 50, 253, 60, 253, 52, 253, 58, 253, 48, 253, 64, 253, 55, 253, 67, 253, 57, 253, 75, 253, 62, 253, 76, 253, 66, 253, 78, 253, 61, 253, 79, 253, 66, 253, 84, 253, 65, 253, 89, 253, 70, 253, 102, 253, 84, 253, 116, 253, 96, 253, 135, 253, 117, 253, 153, 253, 132, 253, 172, 253, 157, 253, 193, 253, 175, 253, 213, 253, 199, 253, 231, 253, 215, 253, 247, 253, 232, 253, 6, 254, 243, 253, 15, 254, 3, 254, 30, 254, 8, 254, 35, 254, 20, 254, 43, 254, 20, 254, 43, 254, 23, 254, 45, 254, 21, 254, 45, 254, 23, 254, 53, 254, 24, 254, 56, 254, 35, 254, 72, 254, 41, 254, 85, 254, 62, 254, 104, 254, 75, 254, 129, 254, 104, 254, 153, 254, 125, 254, 181, 254, 152, 254, 205, 254, 171, 254, 225, 254, 189, 254, 243, 254, 207, 254, 4, 255, 215, 254, 9, 255, 227, 254, 23, 255, 235, 254, 27, 255, 245, 254, 43, 255, 3, 255, 51, 255, 14, 255, 70, 255, 30, 255, 81, 255, 45, 255, 105, 255, 64, 255, 120, 255, 77, 255, 139, 255, 94, 255, 155, 255, 105, 255, 165, 255, 115, 255, 178, 255, 125, 255, 178, 255, 121, 255, 184, 255, 127, 255, 176, 255, 115, 255, 176, 255, 114, 255, 163, 255, 105, 255, 159, 255, 94, 255, 151, 255, 94, 255, 150, 255, 89, 255, 153, 255, 96, 255, 157, 255, 106, 255, 175, 255, 119, 255, 181, 255, 132, 255, 201, 255, 144, 255, 210, 255, 155, 255, 221, 255, 164, 255, 227, 255, 164, 255, 226, 255, 167, 255, 227, 255, 158, 255, 222, 255, 161, 255, 221, 255, 152, 255, 217, 255, 152, 255, 214, 255, 146, 255, 210, 255, 140, 255, 203, 255, 134, 255, 198, 255, 117, 255, 183, 255, 109, 255, 174, 255, 85, 255, 155, 255, 72, 255, 144, 255, 52, 255, 132, 255, 42, 255, 123, 255, 35, 255, 115, 255, 25, 255, 108, 255, 25, 255, 105, 255, 16, 255, 98, 255, 14, 255, 90, 255, 7, 255, 87, 255, 4, 255, 77, 255, 254, 254, 77, 255, 1, 255, 76, 255, 255, 254, 83, 255, 11, 255, 89, 255, 11, 255, 97, 255, 29, 255, 112, 255, 36, 255, 116, 255, 51, 255, 122, 255, 54, 255, 129, 255, 64, 255, 124, 255, 68, 255, 134, 255, 69, 255, 127, 255, 77, 255, 141, 255, 83, 255, 146, 255, 91, 255, 160, 255, 99, 255, 166, 255, 107, 255, 177, 255, 106, 255, 181, 255, 115, 255, 185, 255, 106, 255, 187, 255, 109, 255, 179, 255, 99, 255, 179, 255, 98, 255, 175, 255, 97, 255, 177, 255, 101, 255, 175, 255, 105, 255, 183, 255, 113, 255, 189, 255, 128, 255, 203, 255, 136, 255, 210, 255, 158, 255, 222, 255, 164, 255, 235, 255, 184, 255, 247, 255, 196, 255, 8, 0, 207, 255, 15, 0, 223, 255, 37, 0, 232, 255, 45, 0, 251, 255, 68, 0, 11, 0, 83, 0, 28, 0, 107, 0, 59, 0, 132, 0, 77, 0, 155, 0, 108, 0, 187, 0, 133, 0, 208, 0, 155, 0, 232, 0, 175, 0, 247, 0, 190, 0, 6, 1, 198, 0, 10, 1, 202, 0, 13, 1, 198, 0, 10, 1, 196, 0, 9, 1, 194, 0, 8, 1, 190, 0, 10, 1, 195, 0, 10, 1, 195, 0, 16, 1, 207, 0, 31, 1, 218, 0, 38, 1, 235, 0, 62, 1, 248, 0, 69, 1, 16, 1, 94, 1, 27, 1, 107, 1, 53, 1, 136, 1, 70, 1, 150, 1, 87, 1, 183, 1, 115, 1, 202, 1, 130, 1, 228, 1, 156, 1, 247, 1, 172, 1, 9, 2, 188, 1, 19, 2, 201, 1, 27, 2, 207, 1, 25, 2, 207, 1, 23, 2, 205, 1, 19, 2, 199, 1, 10, 2, 191, 1, 4, 2, 187, 1, 0, 2, 179, 1, 252, 1, 183, 1, 1, 2, 182, 1, 249, 1, 182, 1, 253, 1, 185, 1, 251, 1, 187, 1, 251, 1, 192, 1, 254, 1, 193, 1, 249, 1, 196, 1, 249, 1, 198, 1, 243, 1, 196, 1, 238, 1, 195, 1, 237, 1, 196, 1, 236, 1, 193, 1, 229, 1, 197, 1, 229, 1, 189, 1, 224, 1, 191, 1, 222, 1, 186, 1, 221, 1, 186, 1, 217, 1, 186, 1, 220, 1, 190, 1, 222, 1, 189, 1, 220, 1, 196, 1, 220, 1, 187, 1, 212, 1, 186, 1, 203, 1, 176, 1, 190, 1, 160, 1, 171, 1, 144, 1, 149, 1, 118, 1, 125, 1, 100, 1, 101, 1, 79, 1, 76, 1, 59, 1, 59, 1, 46, 1, 38, 1, 32, 1, 22, 1, 23, 1, 10, 1, 15, 1, 247, 0, 7, 1, 236, 0, 252, 0, 213, 0, 239, 0, 196, 0, 227, 0, 174, 0, 210, 0, 159, 0, 201, 0, 145, 0, 193, 0, 137, 0, 181, 0, 124, 0, 179, 0, 124, 0, 170, 0, 116, 0, 171, 0, 115, 0, 165, 0, 110, 0, 159, 0, 105, 0, 160, 0, 95, 0, 142, 0, 82, 0, 140, 0, 67, 0, 118, 0, 45, 0, 101, 0, 27, 0, 77, 0, 253, 255, 53, 0, 235, 255, 26, 0, 204, 255, 3, 0, 181, 255, 231, 255, 160, 255, 211, 255, 137, 255, 194, 255, 121, 255, 173, 255, 105, 255, 164, 255, 84, 255, 143, 255, 77, 255, 136, 255, 54, 255, 119, 255, 46, 255, 107, 255, 25, 255, 95, 255, 21, 255, 82, 255, 251, 254, 62, 255, 243, 254, 49, 255, 214, 254, 22, 255, 199, 254, 8, 255, 176, 254, 240, 254, 159, 254, 220, 254, 138, 254, 203, 254, 125, 254, 184, 254, 110, 254, 169, 254, 96, 254, 149, 254, 86, 254, 136, 254, 70, 254, 119, 254, 66, 254, 108, 254, 53, 254, 93, 254, 50, 254, 82, 254, 30, 254, 61, 254, 16, 254, 41, 254, 253, 253, 20, 254, 226, 253, 247, 253, 201, 253, 224, 253, 173, 253, 195, 253, 153, 253, 175, 253, 129, 253, 153, 253, 118, 253, 137, 253, 99, 253, 123, 253, 96, 253, 114, 253, 82, 253, 103, 253, 75, 253, 92, 253, 64, 253, 83, 253, 51, 253, 64, 253, 38, 253, 52, 253, 24, 253, 34, 253, 3, 253, 14, 253, 245, 252, 253, 252, 226, 252, 232, 252, 210, 252, 219, 252, 196, 252, 199, 252, 187, 252, 195, 252, 178, 252, 179, 252, 173, 252, 178, 252, 164, 252, 167, 252, 158, 252, 164, 252, 148, 252, 148, 252, 139, 252, 140, 252, 132, 252, 132, 252, 122, 252, 117, 252, 109, 252, 112, 252, 100, 252, 92, 252, 82, 252, 87, 252, 68, 252, 67, 252, 53, 252, 58, 252, 39, 252, 47, 252, 29, 252, 40, 252, 31, 252, 41, 252, 28, 252, 43, 252, 45, 252, 51, 252, 48, 252, 61, 252, 77, 252, 81, 252, 90, 252, 94, 252, 111, 252, 112, 252, 128, 252, 125, 252, 141, 252, 138, 252, 145, 252, 137, 252, 150, 252, 141, 252, 144, 252, 134, 252, 140, 252, 128, 252, 135, 252, 120, 252, 126, 252, 112, 252, 125, 252, 105, 252, 116, 252, 104, 252, 122, 252, 101, 252, 119, 252, 106, 252, 130, 252, 105, 252, 133, 252, 116, 252, 150, 252, 123, 252, 156, 252, 132, 252, 177, 252, 146, 252, 186, 252, 155, 252, 206, 252, 171, 252, 223, 252, 184, 252, 240, 252, 200, 252, 10, 253, 216, 252, 26, 253, 232, 252, 50, 253, 245, 252, 71, 253, 6, 253, 87, 253, 19, 253, 107, 253, 29, 253, 120, 253, 41, 253, 139, 253, 49, 253, 153, 253, 66, 253, 172, 253, 73, 253, 184, 253, 88, 253, 204, 253, 97, 253, 214, 253, 109, 253, 240, 253, 125, 253, 0, 254, 143, 253, 27, 254, 160, 253, 48, 254, 182, 253, 72, 254, 199, 253, 96, 254, 220, 253, 114, 254, 234, 253, 131, 254, 246, 253, 141, 254, 252, 253, 148, 254, 2, 254, 154, 254, 1, 254, 155, 254, 2, 254, 159, 254, 4, 254, 167, 254, 6, 254, 175, 254, 16, 254, 191, 254, 30, 254, 209, 254, 44, 254, 226, 254, 63, 254, 252, 254, 78, 254, 17, 255, 102, 254, 41, 255, 119, 254, 65, 255, 144, 254, 85, 255, 161, 254, 105, 255, 185, 254, 125, 255, 204, 254, 142, 255, 224, 254, 153, 255, 240, 254, 170, 255, 255, 254, 172, 255, 12, 255, 186, 255, 23, 255, 185, 255, 30, 255, 195, 255, 42, 255, 203, 255, 50, 255, 213, 255, 68, 255, 230, 255, 79, 255, 247, 255, 101, 255, 6, 0, 110, 255, 24, 0, 129, 255, 32, 0, 136, 255, 47, 0, 149, 255, 41, 0, 146, 255, 49, 0, 150, 255, 40, 0, 144, 255, 37, 0, 141, 255, 29, 0, 134, 255, 24, 0, 133, 255, 17, 0, 125, 255, 18, 0, 130, 255, 13, 0, 124, 255, 13, 0, 131, 255, 14, 0, 123, 255, 5, 0, 129, 255, 9, 0, 121, 255, 250, 255, 120, 255, 246, 255, 114, 255, 238, 255, 106, 255, 230, 255, 106, 255, 229, 255, 104, 255, 227, 255, 108, 255, 223, 255, 108, 255, 224, 255, 111, 255, 225, 255, 113, 255, 231, 255, 126, 255, 241, 255, 128, 255, 249, 255, 147, 255, 13, 0, 160, 255, 27, 0, 173, 255, 47, 0, 194, 255, 59, 0, 200, 255, 78, 0, 219, 255, 83, 0, 221, 255, 94, 0, 227, 255, 86, 0, 222, 255, 86, 0, 214, 255, 75, 0, 207, 255, 73, 0, 198, 255, 59, 0, 185, 255, 53, 0, 181, 255, 46, 0, 173, 255, 43, 0, 172, 255, 42, 0, 172, 255, 49, 0, 178, 255, 54, 0, 185, 255, 69, 0, 195, 255, 72, 0, 200, 255, 86, 0, 209, 255, 93, 0, 223, 255, 109, 0, 228, 255, 113, 0, 244, 255, 125, 0, 246, 255, 129, 0, 255, 255, 134, 0, 2, 0, 128, 0, 1, 0, 131, 0, 253, 255, 123, 0, 0, 0, 128, 0, 252, 255, 126, 0, 255, 255, 124, 0, 2, 0, 133, 0, 4, 0, 131, 0, 11, 0, 136, 0, 12, 0, 135, 0, 16, 0, 134, 0, 19, 0, 135, 0, 17, 0, 128, 0, 19, 0, 129, 0, 14, 0, 116, 0, 15, 0, 115, 0, 8, 0, 102, 0, 9, 0, 101, 0, 8, 0, 89, 0, 4, 0, 84, 0, 2, 0, 71, 0, 254, 255, 69, 0, 249, 255, 56, 0, 248, 255, 60, 0, 244, 255, 53, 0, 247, 255, 59, 0, 251, 255, 62, 0, 1, 0, 65, 0, 7, 0, 72, 0, 12, 0, 70, 0, 18, 0, 73, 0, 19, 0, 66, 0, 19, 0, 64, 0, 17, 0, 56, 0, 14, 0, 49, 0, 10, 0, 47, 0, 11, 0, 44, 0, 10, 0, 45, 0, 18, 0, 48, 0, 23, 0, 51, 0, 29, 0, 51, 0, 35, 0, 53, 0, 36, 0, 53, 0, 45, 0, 48, 0, 44, 0, 51, 0, 50, 0, 44, 0, 51, 0, 49, 0, 60, 0, 55, 0, 74, 0, 66, 0, 86, 0, 78, 0, 107, 0, 97, 0, 125, 0, 107, 0, 142, 0, 119, 0, 154, 0, 124, 0, 160, 0, 124, 0, 165, 0, 125, 0, 162, 0, 122, 0, 165, 0, 120, 0, 159, 0, 119, 0, 164, 0, 116, 0, 157, 0, 111, 0, 155, 0, 112, 0, 152, 0, 110, 0, 152, 0, 108, 0, 147, 0, 102, 0, 146, 0, 101, 0, 142, 0, 95, 0, 141, 0, 94, 0, 139, 0, 94, 0, 141, 0, 92, 0, 143, 0, 93, 0, 142, 0, 87, 0, 141, 0, 80, 0, 132, 0, 66, 0, 125, 0, 49, 0, 109, 0, 31, 0, 98, 0, 8, 0, 78, 0, 249, 255, 62, 0, 225, 255, 48, 0, 217, 255, 34, 0, 198, 255, 22, 0, 186, 255, 8, 0, 178, 255, 254, 255, 165, 255, 243, 255, 158, 255, 232, 255, 145, 255, 223, 255, 137, 255, 211, 255, 122, 255, 203, 255, 118, 255, 191, 255, 100, 255, 182, 255, 97, 255, 171, 255, 81, 255, 159, 255, 75, 255, 152, 255, 65, 255, 137, 255, 54, 255, 131, 255, 47, 255, 123, 255, 39, 255, 115, 255, 34, 255, 114, 255, 32, 255, 109, 255, 34, 255, 114, 255, 33, 255, 111, 255, 36, 255, 117, 255, 42, 255, 120, 255, 40, 255, 121, 255, 44, 255, 123, 255, 44, 255, 123, 255, 46, 255, 125, 255, 52, 255, 127, 255, 53, 255, 127, 255, 61, 255, 130, 255, 60, 255, 131, 255, 66, 255, 131, 255, 60, 255, 129, 255, 61, 255, 124, 255, 46, 255, 112, 255, 35, 255, 101, 255, 18, 255, 84, 255, 5, 255, 69, 255, 249, 254, 58, 255, 243, 254, 49, 255, 238, 254, 48, 255, 239, 254, 43, 255, 243, 254, 48, 255, 252, 254, 54, 255, 7, 255, 60, 255, 21, 255, 75, 255, 30, 255, 77, 255, 40, 255, 92, 255, 53, 255, 94, 255, 57, 255, 104, 255, 74, 255, 112, 255, 80, 255, 115, 255, 88, 255, 129, 255, 101, 255, 130, 255, 100, 255, 139, 255, 116, 255, 143, 255, 113, 255, 147, 255, 121, 255, 146, 255, 124, 255, 147, 255, 125, 255, 144, 255, 131, 255, 144, 255, 131, 255, 144, 255, 136, 255, 140, 255, 138, 255, 143, 255, 136, 255, 131, 255, 130, 255, 124, 255, 123, 255, 113, 255, 113, 255, 95, 255, 103, 255, 90, 255, 94, 255, 72, 255, 87, 255, 70, 255, 88, 255, 67, 255, 83, 255, 63, 255, 94, 255, 69, 255, 96, 255, 73, 255, 106, 255, 75, 255, 109, 255, 83, 255, 114, 255, 76, 255, 116, 255, 84, 255, 116, 255, 71, 255, 114, 255, 73, 255, 117, 255, 64, 255, 114, 255, 62, 255, 117, 255, 58, 255, 121, 255, 63, 255, 127, 255, 57, 255, 133, 255, 69, 255, 145, 255, 65, 255, 146, 255, 71, 255, 158, 255, 70, 255, 160, 255, 75, 255, 167, 255, 70, 255, 168, 255, 68, 255, 168, 255, 57, 255, 162, 255, 48, 255, 154, 255, 28, 255, 136, 255, 12, 255, 124, 255, 242, 254, 97, 255, 224, 254, 84, 255, 199, 254, 56, 255, 176, 254, 41, 255, 160, 254, 23, 255, 140, 254, 10, 255, 133, 254, 5, 255, 124, 254, 253, 254, 117, 254, 252, 254, 115, 254, 250, 254, 111, 254, 248, 254, 109, 254, 245, 254, 105, 254, 242, 254, 97, 254, 232, 254, 90, 254, 225, 254, 80, 254, 208, 254, 65, 254, 201, 254, 55, 254, 183, 254, 37, 254, 175, 254, 31, 254, 162, 254, 13, 254, 151, 254, 10, 254, 152, 254, 3, 254, 145, 254, 2, 254, 155, 254, 9, 254, 153, 254, 4, 254, 164, 254, 17, 254, 168, 254, 18, 254, 172, 254, 22, 254, 175, 254, 24, 254, 171, 254, 22, 254, 167, 254, 18, 254, 157, 254, 11, 254, 144, 254, 0, 254, 136, 254, 249, 253, 121, 254, 239, 253, 117, 254, 236, 253, 108, 254, 229, 253, 102, 254, 229, 253, 104, 254, 228, 253, 96, 254, 231, 253, 102, 254, 230, 253, 98, 254, 241, 253, 105, 254, 237, 253, 107, 254, 252, 253, 114, 254, 249, 253, 121, 254, 8, 254, 130, 254, 10, 254, 137, 254, 22, 254, 146, 254, 22, 254, 156, 254, 36, 254, 167, 254, 39, 254, 175, 254, 54, 254, 187, 254, 62, 254, 199, 254, 76, 254, 216, 254, 93, 254, 226, 254, 108, 254, 245, 254, 124, 254, 251, 254, 136, 254, 16, 255, 151, 254, 23, 255, 163, 254, 39, 255, 178, 254, 50, 255, 190, 254, 63, 255, 203, 254, 80, 255, 216, 254, 95, 255, 230, 254, 116, 255, 245, 254, 136, 255, 10, 255, 159, 255, 26, 255, 179, 255, 44, 255, 198, 255, 60, 255, 220, 255, 79, 255, 229, 255, 90, 255, 246, 255, 103, 255, 253, 255, 106, 255, 4, 0, 116, 255, 14, 0, 120, 255, 13, 0, 123, 255, 18, 0, 126, 255, 18, 0, 126, 255, 16, 0, 124, 255, 15, 0, 124, 255, 12, 0, 124, 255, 6, 0, 120, 255, 5, 0, 120, 255, 254, 255, 116, 255, 254, 255, 120, 255, 254, 255, 117, 255, 250, 255, 122, 255, 255, 255, 119, 255, 254, 255, 132, 255, 6, 0, 133, 255, 8, 0, 147, 255, 19, 0, 152, 255, 24, 0, 168, 255, 32, 0, 173, 255, 37, 0, 188, 255, 45, 0, 192, 255, 45, 0, 201, 255, 46, 0, 201, 255, 44, 0, 207, 255, 43, 0, 203, 255, 39, 0, 208, 255, 44, 0, 207, 255, 39, 0, 213, 255, 48, 0, 220, 255, 48, 0, 228, 255, 59, 0, 237, 255, 66, 0, 253, 255, 75, 0, 5, 0, 82, 0, 23, 0, 88, 0, 29, 0, 91, 0, 41, 0, 92, 0, 43, 0, 90, 0, 44, 0, 84, 0, 45, 0, 84, 0, 37, 0, 73, 0, 42, 0, 70, 0, 28, 0, 56, 0, 31, 0, 51, 0, 24, 0, 43, 0, 23, 0, 35, 0, 17, 0, 25, 0, 16, 0, 22, 0, 14, 0, 11, 0, 12, 0, 14, 0, 14, 0, 9, 0, 19, 0, 16, 0, 23, 0, 14, 0, 30, 0, 19, 0, 29, 0, 19, 0, 36, 0, 15, 0, 25, 0, 10, 0, 28, 0, 0, 0, 14, 0, 247, 255, 10, 0, 234, 255, 254, 255, 226, 255, 247, 255, 216, 255, 244, 255, 212, 255, 236, 255, 207, 255, 242, 255, 211, 255, 240, 255, 209, 255, 246, 255, 215, 255, 250, 255, 219, 255, 254, 255, 220, 255, 255, 255, 226, 255, 7, 0, 229, 255, 4, 0, 231, 255, 14, 0, 236, 255, 11, 0, 230, 255, 15, 0, 238, 255, 12, 0, 233, 255, 16, 0, 243, 255, 19, 0, 236, 255, 20, 0, 246, 255, 20, 0, 239, 255, 25, 0, 253, 255, 25, 0, 252, 255, 39, 0, 10, 0, 44, 0, 12, 0, 52, 0, 22, 0, 59, 0, 26, 0, 65, 0, 32, 0, 70, 0, 33, 0, 70, 0, 32, 0, 77, 0, 37, 0, 71, 0, 38, 0, 84, 0, 40, 0, 82, 0, 50, 0, 95, 0, 54, 0, 101, 0, 70, 0, 114, 0, 79, 0, 124, 0, 89, 0, 135, 0, 106, 0, 150, 0, 114, 0, 162, 0, 134, 0, 180, 0, 146, 0, 192, 0, 161, 0, 211, 0, 176, 0, 221, 0, 187, 0, 237, 0, 195, 0, 244, 0, 207, 0, 254, 0, 208, 0, 7, 1, 215, 0, 9, 1, 217, 0, 17, 1, 222, 0, 18, 1, 224, 0, 24, 1, 231, 0, 30, 1, 237, 0, 40, 1, 242, 0, 43, 1, 249, 0, 55, 1, 253, 0, 52, 1, 1, 1, 61, 1, 0, 1, 58, 1, 254, 0, 56, 1, 252, 0, 56, 1, 248, 0, 54, 1, 247, 0, 49, 1, 244, 0, 58, 1, 248, 0, 52, 1, 249, 0, 64, 1, 0, 1, 65, 1, 12, 1, 82, 1, 22, 1, 89, 1, 41, 1, 108, 1, 57, 1, 121, 1, 81, 1, 142, 1, 100, 1, 160, 1, 125, 1, 180, 1, 149, 1, 197, 1, 167, 1, 213, 1, 187, 1, 228, 1, 198, 1, 237, 1, 209, 1, 244, 1, 211, 1, 249, 1, 217, 1, 247, 1, 223, 1, 3, 2, 223, 1, 250, 1, 231, 1, 9, 2, 237, 1, 7, 2, 250, 1, 20, 2, 5, 2, 26, 2, 17, 2, 34, 2, 32, 2, 47, 2, 37, 2, 48, 2, 50, 2, 52, 2, 46, 2, 51, 2, 49, 2, 45, 2, 44, 2, 43, 2, 42, 2, 34, 2, 45, 2, 36, 2, 38, 2, 29, 2, 43, 2, 28, 2, 42, 2, 30, 2, 51, 2, 31, 2, 56, 2, 39, 2, 60, 2, 37, 2, 71, 2, 47, 2, 74, 2, 49, 2, 87, 2, 51, 2, 90, 2, 61, 2, 99, 2, 54, 2, 104, 2, 68, 2, 105, 2, 58, 2, 112, 2, 62, 2, 105, 2, 55, 2, 112, 2, 51, 2, 104, 2, 46, 2, 108, 2, 40, 2, 105, 2, 40, 2, 111, 2, 31, 2, 107, 2, 37, 2, 114, 2, 25, 2, 112, 2, 28, 2, 110, 2, 20, 2, 114, 2, 12, 2, 100, 2, 9, 2, 100, 2, 246, 1, 80, 2, 235, 1, 73, 2, 216, 1, 50, 2, 195, 1, 36, 2, 180, 1, 19, 2, 159, 1, 0, 2, 145, 1, 238, 1, 123, 1, 221, 1, 111, 1, 210, 1, 94, 1, 194, 1, 82, 1, 185, 1, 69, 1, 166, 1, 56, 1, 160, 1, 45, 1, 139, 1, 29, 1, 130, 1, 15, 1, 109, 1, 252, 0, 87, 1, 231, 0, 68, 1, 208, 0, 41, 1, 187, 0, 21, 1, 161, 0, 0, 1, 146, 0, 239, 0, 125, 0, 224, 0, 112, 0, 212, 0, 104, 0, 206, 0, 94, 0, 198, 0, 92, 0, 196, 0, 86, 0, 191, 0, 83, 0, 185, 0, 77, 0, 187, 0, 76, 0, 182, 0, 67, 0, 181, 0, 70, 0, 183, 0, 62, 0, 173, 0, 63, 0, 179, 0, 55, 0, 163, 0, 51, 0, 164, 0, 39, 0, 150, 0, 34, 0, 141, 0, 12, 0, 127, 0, 9, 0, 111, 0, 242, 255, 100, 0, 234, 255, 80, 0, 218, 255, 77, 0, 210, 255, 62, 0, 200, 255, 62, 0, 200, 255, 52, 0, 190, 255, 53, 0, 193, 255, 42, 0, 182, 255, 41, 0, 178, 255, 26, 0, 165, 255, 21, 0, 156, 255, 5, 0, 140, 255, 245, 255, 122, 255, 230, 255, 108, 255, 213, 255, 86, 255, 194, 255, 74, 255, 177, 255, 49, 255, 158, 255, 38, 255, 143, 255, 16, 255, 129, 255, 5, 255, 113, 255, 247, 254, 107, 255, 243, 254, 102, 255, 235, 254, 98, 255, 236, 254, 100, 255, 231, 254, 91, 255, 228, 254, 96, 255, 225, 254, 82, 255, 213, 254, 83, 255, 210, 254, 67, 255, 195, 254, 52, 255, 180, 254, 40, 255, 169, 254, 22, 255, 156, 254, 9, 255, 142, 254, 251, 254, 131, 254, 235, 254, 121, 254, 233, 254, 114, 254, 217, 254, 109, 254, 223, 254, 105, 254, 216, 254, 107, 254, 222, 254, 107, 254, 224, 254, 110, 254, 223, 254, 111, 254, 233, 254, 111, 254, 227, 254, 116, 254, 234, 254, 111, 254, 223, 254, 108, 254, 221, 254, 101, 254, 209, 254, 93, 254, 208, 254, 90, 254, 196, 254, 84, 254, 195, 254, 83, 254, 192, 254, 81, 254, 194, 254, 90, 254, 194, 254, 85, 254, 199, 254, 99, 254, 202, 254, 97, 254, 205, 254, 106, 254, 210, 254, 112, 254, 211, 254, 111, 254, 214, 254, 123, 254, 217, 254, 119, 254, 220, 254, 134, 254, 233, 254, 138, 254, 239, 254, 156, 254, 255, 254, 167, 254, 7, 255, 181, 254, 22, 255, 195, 254, 34, 255, 208, 254, 47, 255, 222, 254, 59, 255, 234, 254, 69, 255, 245, 254, 78, 255, 254, 254, 92, 255, 13, 255, 96, 255, 16, 255, 103, 255, 25, 255, 105, 255, 25, 255, 100, 255, 24, 255, 101, 255, 24, 255, 88, 255, 16, 255, 82, 255, 13, 255, 77, 255, 9, 255, 69, 255, 12, 255, 74, 255, 10, 255, 73, 255, 24, 255, 90, 255, 32, 255, 100, 255, 56, 255, 118, 255, 71, 255, 135, 255, 95, 255, 156, 255, 111, 255, 180, 255, 138, 255, 195, 255, 155, 255, 222, 255, 177, 255, 236, 255, 196, 255, 5, 0, 217, 255, 20, 0, 233, 255, 40, 0, 3, 0, 59, 0, 12, 0, 72, 0, 39, 0, 88, 0, 46, 0, 102, 0, 67, 0, 111, 0, 78, 0, 127, 0, 86, 0, 128, 0, 100, 0, 141, 0, 100, 0, 143, 0, 113, 0, 153, 0, 113, 0, 155, 0, 125, 0, 164, 0, 127, 0, 163, 0, 132, 0, 164, 0, 136, 0, 165, 0, 135, 0, 159, 0, 139, 0, 162, 0, 140, 0, 158, 0, 141, 0, 157, 0, 146, 0, 160, 0, 150, 0, 158, 0, 155, 0, 164, 0, 159, 0, 167, 0, 167, 0, 172, 0, 173, 0, 176, 0, 178, 0, 179, 0, 186, 0, 189, 0, 190, 0, 189, 0, 199, 0, 202, 0, 208, 0, 206, 0, 219, 0, 221, 0, 228, 0, 224, 0, 241, 0, 245, 0, 253, 0, 248, 0, 12, 1, 15, 1, 25, 1, 28, 1, 43, 1, 42, 1, 53, 1, 60, 1, 69, 1, 66, 1, 80, 1, 82, 1, 93, 1, 86, 1, 100, 1, 92, 1, 110, 1, 97, 1, 110, 1, 95, 1, 117, 1, 94, 1, 113, 1, 87, 1, 113, 1, 83, 1, 109, 1, 78, 1, 107, 1, 72, 1, 106, 1, 77, 1, 109, 1, 75, 1, 113, 1, 81, 1, 121, 1, 91, 1, 127, 1, 94, 1, 137, 1, 102, 1, 144, 1, 108, 1, 148, 1, 106, 1, 154, 1, 110, 1, 153, 1, 108, 1, 155, 1, 106, 1, 153, 1, 105, 1, 154, 1, 106, 1, 157, 1, 105, 1, 154, 1, 106, 1, 160, 1, 109, 1, 158, 1, 105, 1, 161, 1, 113, 1, 163, 1, 112, 1, 169, 1, 125, 1, 177, 1, 135, 1, 195, 1, 152, 1, 209, 1, 172, 1, 230, 1, 191, 1, 251, 1, 207, 1, 10, 2, 230, 1, 32, 2, 239, 1, 45, 2, 8, 2, 62, 2, 11, 2, 75, 2, 33, 2, 83, 2, 36, 2, 99, 2, 56, 2, 112, 2, 67, 2, 125, 2, 84, 2, 144, 2, 100, 2, 152, 2, 117, 2, 176, 2, 132, 2, 185, 2, 150, 2, 202, 2, 158, 2, 208, 2, 176, 2, 221, 2, 182, 2, 225, 2, 193, 2, 233, 2, 202, 2, 240, 2, 213, 2, 241, 2, 214, 2, 251, 2, 228, 2, 248, 2, 220, 2, 255, 2, 232, 2, 252, 2, 225, 2, 255, 2, 226, 2, 252, 2, 223, 2, 252, 2, 222, 2, 252, 2, 219, 2, 253, 2, 225, 2, 249, 2, 221, 2, 5, 3, 232, 2, 252, 2, 228, 2, 7, 3, 233, 2, 1, 3, 233, 2, 4, 3, 233, 2, 254, 2, 230, 2, 249, 2, 225, 2, 245, 2, 220, 2, 233, 2, 219, 2, 232, 2, 208, 2, 217, 2, 209, 2, 214, 2, 197, 2, 203, 2, 196, 2, 199, 2, 191, 2, 190, 2, 187, 2, 187, 2, 184, 2, 177, 2, 179, 2, 174, 2, 173, 2, 163, 2, 170, 2, 157, 2, 163, 2, 150, 2, 156, 2, 137, 2, 151, 2, 135, 2, 140, 2, 116, 2, 135, 2, 111, 2, 118, 2, 94, 2, 109, 2, 81, 2, 95, 2, 70, 2, 79, 2, 54, 2, 66, 2, 38, 2, 52, 2, 27, 2, 38, 2, 9, 2, 31, 2, 3, 2, 14, 2, 243, 1, 11, 2, 235, 1, 249, 1, 217, 1, 246, 1, 209, 1, 230, 1, 192, 1, 222, 1, 181, 1, 206, 1, 159, 1, 191, 1, 145, 1, 174, 1, 123, 1, 157, 1, 104, 1, 136, 1, 83, 1, 119, 1, 64, 1, 102, 1, 48, 1, 88, 1, 32, 1, 75, 1, 20, 1, 67, 1, 7, 1, 58, 1, 6, 1, 57, 1, 250, 0, 55, 1, 254, 0, 53, 1, 244, 0, 52, 1, 243, 0, 43, 1, 229, 0, 38, 1, 221, 0, 18, 1, 196, 0, 1, 1, 183, 0, 231, 0, 152, 0, 208, 0, 132, 0, 174, 0, 99, 0, 149, 0, 77, 0, 117, 0, 49, 0, 97, 0, 28, 0, 73, 0, 8, 0, 60, 0, 0, 0, 47, 0, 237, 255, 39, 0, 237, 255, 36, 0, 228, 255, 36, 0, 230, 255, 31, 0, 225, 255, 32, 0, 225, 255, 32, 0, 222, 255, 24, 0, 221, 255, 28, 0, 215, 255, 17, 0, 215, 255, 12, 0, 204, 255, 4, 0, 204, 255, 253, 255, 197, 255, 255, 255, 200, 255, 252, 255, 199, 255, 5, 0, 210, 255, 10, 0, 215, 255, 29, 0, 230, 255, 36, 0, 238, 255, 61, 0, 253, 255, 68, 0, 7, 0, 88, 0, 15, 0, 88, 0, 20, 0, 105, 0, 25, 0, 100, 0, 24, 0, 103, 0, 20, 0, 97, 0, 16, 0, 89, 0, 6, 0, 87, 0, 0, 0, 76, 0, 250, 255, 71, 0, 240, 255, 63, 0, 235, 255, 56, 0, 226, 255, 50, 0, 221, 255, 49, 0, 221, 255, 42, 0, 214, 255, 47, 0, 211, 255, 37, 0, 209, 255, 39, 0, 200, 255, 33, 0, 200, 255, 31, 0, 192, 255, 30, 0, 191, 255, 25, 0, 188, 255, 30, 0, 188, 255, 24, 0, 187, 255, 30, 0, 188, 255, 31, 0, 192, 255, 38, 0, 193, 255, 42, 0, 202, 255, 48, 0, 197, 255, 50, 0, 207, 255, 55, 0, 200, 255, 56, 0, 202, 255, 57, 0, 203, 255, 61, 0, 198, 255, 58, 0, 199, 255, 52, 0, 186, 255, 49, 0, 182, 255, 40, 0, 171, 255, 42, 0, 169, 255, 31, 0, 158, 255, 32, 0, 160, 255, 27, 0, 153, 255, 27, 0, 158, 255, 28, 0, 158, 255, 29, 0, 163, 255, 33, 0, 166, 255, 38, 0, 174, 255, 38, 0, 172, 255, 38, 0, 178, 255, 39, 0, 176, 255, 34, 0, 175, 255, 32, 0, 167, 255, 25, 0, 164, 255, 17, 0, 155, 255, 9, 0, 150, 255, 1, 0, 137, 255, 245, 255, 131, 255, 244, 255, 124, 255, 232, 255, 117, 255, 232, 255, 115, 255, 223, 255, 108, 255, 223, 255, 106, 255, 214, 255, 104, 255, 218, 255, 102, 255, 214, 255, 101, 255, 211, 255, 102, 255, 212, 255, 99, 255, 205, 255, 102, 255, 206, 255, 97, 255, 198, 255, 97, 255, 194, 255, 95, 255, 193, 255, 93, 255, 183, 255, 95, 255, 186, 255, 94, 255, 181, 255, 100, 255, 180, 255, 99, 255, 186, 255, 109, 255, 186, 255, 113, 255, 198, 255, 125, 255, 202, 255, 134, 255, 217, 255, 150, 255, 230, 255, 159, 255, 240, 255, 173, 255, 252, 255, 182, 255, 10, 0, 188, 255, 14, 0, 202, 255, 21, 0, 192, 255, 16, 0, 199, 255, 15, 0, 190, 255, 5, 0, 183, 255, 252, 255, 175, 255, 240, 255, 162, 255, 226, 255, 152, 255, 213, 255, 140, 255, 201, 255, 133, 255, 195, 255, 127, 255, 184, 255, 123, 255, 182, 255, 120, 255, 178, 255, 122, 255, 178, 255, 123, 255, 180, 255, 130, 255, 184, 255, 134, 255, 195, 255, 146, 255, 198, 255, 154, 255, 211, 255, 164, 255, 216, 255, 172, 255, 224, 255, 185, 255, 236, 255, 191, 255, 237, 255, 205, 255, 249, 255, 207, 255, 250, 255, 220, 255, 2, 0, 220, 255, 10, 0, 234, 255, 19, 0, 238, 255, 26, 0, 247, 255, 36, 0, 254, 255, 44, 0, 8, 0, 52, 0, 14, 0, 62, 0, 24, 0, 63, 0, 28, 0, 73, 0, 37, 0, 71, 0, 37, 0, 79, 0, 46, 0, 76, 0, 44, 0, 80, 0, 56, 0, 78, 0, 56, 0, 88, 0, 66, 0, 88, 0, 77, 0, 97, 0, 80, 0, 100, 0, 91, 0, 108, 0, 100, 0, 111, 0, 104, 0, 118, 0, 113, 0, 120, 0, 115, 0, 127, 0, 125, 0, 134, 0, 128, 0, 134, 0, 138, 0, 145, 0, 141, 0, 152, 0, 160, 0, 160, 0, 163, 0, 174, 0, 184, 0, 184, 0, 190, 0, 195, 0, 205, 0, 208, 0, 213, 0, 215, 0, 227, 0, 232, 0, 235, 0, 238, 0, 248, 0, 248, 0, 1, 1, 255, 0, 7, 1, 5, 1, 18, 1, 9, 1, 22, 1, 11, 1, 27, 1, 16, 1, 30, 1, 7, 1, 30, 1, 14, 1, 30, 1, 255, 0, 32, 1, 7, 1, 28, 1, 1, 1, 37, 1, 6, 1, 33, 1, 7, 1, 46, 1, 12, 1, 45, 1, 15, 1, 56, 1, 18, 1, 54, 1, 16, 1, 56, 1, 10, 1, 52, 1, 6, 1, 45, 1, 250, 0, 41, 1, 239, 0, 31, 1, 226, 0, 20, 1, 210, 0, 11, 1, 202, 0, 1, 1, 187, 0, 250, 0, 184, 0, 246, 0, 174, 0, 244, 0, 180, 0, 247, 0, 177, 0, 251, 0, 192, 0, 7, 1, 200, 0, 20, 1, 216, 0, 34, 1, 229, 0, 47, 1, 246, 0, 62, 1, 255, 0, 75, 1, 17, 1, 84, 1, 21, 1, 97, 1, 39, 1, 99, 1, 36, 1, 110, 1, 47, 1, 106, 1, 43, 1, 111, 1, 50, 1, 110, 1, 48, 1, 110, 1, 49, 1, 105, 1, 45, 1, 107, 1, 46, 1, 97, 1, 39, 1, 96, 1, 31, 1, 85, 1, 25, 1, 74, 1, 12, 1, 64, 1, 255, 0, 49, 1, 245, 0, 36, 1, 224, 0, 18, 1, 213, 0, 1, 1, 186, 0, 238, 0, 175, 0, 222, 0, 153, 0, 208, 0, 141, 0, 192, 0, 127, 0, 184, 0, 117, 0, 171, 0, 111, 0, 174, 0, 111, 0, 166, 0, 110, 0, 176, 0, 113, 0, 168, 0, 114, 0, 176, 0, 115, 0, 167, 0, 115, 0, 172, 0, 113, 0, 157, 0, 105, 0, 156, 0, 104, 0, 143, 0, 93, 0, 133, 0, 91, 0, 131, 0, 91, 0, 117, 0, 83, 0, 119, 0, 89, 0, 114, 0, 86, 0, 112, 0, 92, 0, 119, 0, 94, 0, 115, 0, 93, 0, 117, 0, 94, 0, 116, 0, 89, 0, 108, 0, 84, 0, 103, 0, 72, 0, 91, 0, 63, 0, 80, 0, 49, 0, 65, 0, 33, 0, 54, 0, 24, 0, 39, 0, 10, 0, 31, 0, 0, 0, 22, 0, 250, 255, 11, 0, 244, 255, 16, 0, 244, 255, 9, 0, 252, 255, 22, 0, 251, 255, 19, 0, 4, 0, 27, 0, 7, 0, 30, 0, 11, 0, 32, 0, 14, 0, 30, 0, 9, 0, 24, 0, 4, 0, 13, 0, 243, 255, 252, 255, 231, 255, 233, 255, 207, 255, 212, 255, 191, 255, 189, 255, 168, 255, 171, 255, 152, 255, 152, 255, 135, 255, 139, 255, 123, 255, 132, 255, 114, 255, 118, 255, 109, 255, 121, 255, 104, 255, 111, 255, 102, 255, 114, 255, 98, 255, 110, 255, 99, 255, 111, 255, 99, 255, 108, 255, 99, 255, 110, 255, 100, 255, 106, 255, 106, 255, 111, 255, 103, 255, 107, 255, 110, 255, 110, 255, 105, 255, 105, 255, 105, 255, 102, 255, 100, 255, 98, 255, 98, 255, 91, 255, 94, 255, 87, 255, 95, 255, 86, 255, 95, 255, 84, 255, 95, 255, 81, 255, 98, 255, 84, 255, 101, 255, 80, 255, 105, 255, 82, 255, 106, 255, 82, 255, 111, 255, 76, 255, 107, 255, 80, 255, 115, 255, 73, 255, 109, 255, 74, 255, 113, 255, 68, 255, 111, 255, 67, 255, 110, 255, 65, 255, 116, 255, 67, 255, 114, 255, 67, 255, 122, 255, 70, 255, 126, 255, 75, 255, 128, 255, 76, 255, 143, 255, 85, 255, 151, 255, 95, 255, 170, 255, 103, 255, 182, 255, 117, 255, 202, 255, 127, 255, 212, 255, 139, 255, 233, 255, 150, 255, 243, 255, 156, 255, 254, 255, 166, 255, 10, 0, 172, 255, 14, 0, 170, 255, 22, 0, 181, 255, 26, 0, 179, 255, 34, 0, 188, 255, 36, 0, 192, 255, 51, 0, 199, 255, 50, 0, 205, 255, 66, 0, 215, 255, 67, 0, 222, 255, 82, 0, 233, 255, 89, 0, 243, 255, 100, 0, 250, 255, 110, 0, 9, 0, 116, 0, 7, 0, 125, 0, 20, 0, 128, 0, 17, 0, 129, 0, 19, 0, 131, 0, 19, 0, 124, 0, 17, 0, 128, 0, 14, 0, 120, 0, 15, 0, 127, 0, 11, 0, 127, 0, 21, 0, 139, 0, 22, 0, 145, 0, 37, 0, 159, 0, 42, 0, 166, 0, 55, 0, 179, 0, 63, 0, 185, 0, 72, 0, 197, 0, 77, 0, 193, 0, 82, 0, 199, 0, 80, 0, 192, 0, 78, 0, 189, 0, 79, 0, 186, 0, 71, 0, 178, 0, 75, 0, 179, 0, 71, 0, 174, 0, 77, 0, 180, 0, 77, 0, 172, 0, 82, 0, 179, 0, 82, 0, 170, 0, 82, 0, 176, 0, 84, 0, 165, 0, 80, 0, 163, 0, 77, 0, 150, 0, 66, 0, 142, 0, 58, 0, 126, 0, 43, 0, 112, 0, 29, 0, 91, 0, 11, 0, 76, 0, 251, 255, 53, 0, 231, 255, 40, 0, 219, 255, 20, 0, 199, 255, 12, 0, 195, 255, 255, 255, 180, 255, 251, 255, 179, 255, 246, 255, 174, 255, 248, 255, 174, 255, 244, 255, 174, 255, 249, 255, 175, 255, 244, 255, 173, 255, 241, 255, 170, 255, 239, 255, 165, 255, 229, 255, 161, 255, 228, 255, 152, 255, 216, 255, 151, 255, 216, 255, 143, 255, 206, 255, 144, 255, 210, 255, 138, 255, 201, 255, 141, 255, 207, 255, 134, 255, 198, 255, 138, 255, 200, 255, 126, 255, 191, 255, 128, 255, 193, 255, 119, 255, 179, 255, 113, 255, 174, 255, 101, 255, 161, 255, 91, 255, 146, 255, 72, 255, 131, 255, 59, 255, 112, 255, 38, 255, 93, 255, 21, 255, 72, 255, 3, 255, 58, 255, 243, 254, 39, 255, 231, 254, 28, 255, 222, 254, 17, 255, 211, 254, 4, 255, 208, 254, 0, 255, 202, 254, 248, 254, 201, 254, 240, 254, 197, 254, 234, 254, 194, 254, 228, 254, 196, 254, 222, 254, 191, 254, 218, 254, 195, 254, 217, 254, 195, 254, 211, 254, 199, 254, 214, 254, 198, 254, 210, 254, 205, 254, 212, 254, 202, 254, 213, 254, 213, 254, 214, 254, 212, 254, 213, 254, 218, 254, 218, 254, 220, 254, 215, 254, 227, 254, 217, 254, 226, 254, 220, 254, 231, 254, 214, 254, 231, 254, 217, 254, 227, 254, 208, 254, 232, 254, 209, 254, 226, 254, 199, 254, 227, 254, 198, 254, 226, 254, 194, 254, 227, 254, 190, 254, 225, 254, 192, 254, 232, 254, 192, 254, 235, 254, 199, 254, 246, 254, 198, 254, 248, 254, 204, 254, 2, 255, 202, 254, 2, 255, 204, 254, 10, 255, 203, 254, 7, 255, 200, 254, 15, 255, 207, 254, 17, 255, 201, 254, 20, 255, 212, 254, 28, 255, 212, 254, 28, 255, 220, 254, 42, 255, 225, 254, 38, 255, 233, 254, 53, 255, 232, 254, 52, 255, 243, 254, 57, 255, 232, 254, 58, 255, 243, 254, 58, 255, 240, 254, 64, 255, 245, 254, 64, 255, 250, 254, 69, 255, 254, 254, 76, 255, 3, 255, 79, 255, 10, 255, 82, 255, 12, 255, 90, 255, 19, 255, 87, 255, 18, 255, 94, 255, 19, 255, 92, 255, 25, 255, 93, 255, 25, 255, 98, 255, 27, 255, 94, 255, 33, 255, 103, 255, 37, 255, 100, 255, 41, 255, 108, 255, 48, 255, 110, 255, 53, 255, 114, 255, 60, 255, 119, 255, 68, 255, 121, 255, 71, 255, 126, 255, 79, 255, 125, 255, 78, 255, 127, 255, 83, 255, 119, 255, 82, 255, 126, 255, 85, 255, 115, 255, 75, 255, 115, 255, 75, 255, 108, 255, 69, 255, 104, 255, 66, 255, 101, 255, 64, 255, 97, 255, 66, 255, 99, 255, 67, 255, 103, 255, 75, 255, 108, 255, 79, 255, 117, 255, 90, 255, 126, 255, 95, 255, 133, 255, 104, 255, 139, 255, 108, 255, 146, 255, 116, 255, 149, 255, 117, 255, 153, 255, 124, 255, 158, 255, 126, 255, 161, 255, 128, 255, 164, 255, 131, 255, 167, 255, 137, 255, 168, 255, 138, 255, 178, 255, 144, 255, 174, 255, 146, 255, 185, 255, 150, 255, 180, 255, 155, 255, 190, 255, 158, 255, 190, 255, 164, 255, 193, 255, 171, 255, 202, 255, 171, 255, 199, 255, 179, 255, 202, 255, 173, 255, 200, 255, 175, 255, 196, 255, 163, 255, 188, 255, 160, 255, 183, 255, 147, 255, 174, 255, 145, 255, 171, 255, 132, 255, 166, 255, 135, 255, 166, 255, 135, 255, 169, 255, 135, 255, 174, 255, 145, 255, 179, 255, 149, 255, 189, 255, 159, 255, 197, 255, 169, 255, 205, 255, 175, 255, 214, 255, 181, 255, 212, 255, 192, 255, 228, 255, 194, 255, 221, 255, 203, 255, 236, 255, 207, 255, 231, 255, 210, 255, 235, 255, 219, 255, 240, 255, 217, 255, 236, 255, 222, 255, 239, 255, 224, 255, 238, 255, 230, 255, 238, 255, 237, 255, 247, 255, 248, 255, 248, 255, 4, 0, 6, 0, 18, 0, 11, 0, 36, 0, 27, 0, 49, 0, 36, 0, 67, 0, 52, 0, 74, 0, 57, 0, 88, 0, 66, 0, 86, 0, 69, 0, 98, 0, 72, 0, 90, 0, 72, 0, 100, 0, 74, 0, 95, 0, 75, 0, 104, 0, 79, 0, 107, 0, 83, 0, 111, 0, 84, 0, 123, 0, 92, 0, 130, 0, 95, 0, 140, 0, 104, 0, 147, 0, 107, 0, 153, 0, 111, 0, 161, 0, 116, 0, 164, 0, 116, 0, 164, 0, 113, 0, 167, 0, 117, 0, 166, 0, 107, 0, 162, 0, 108, 0, 160, 0, 97, 0, 155, 0, 97, 0, 153, 0, 89, 0, 150, 0, 87, 0, 152, 0, 90, 0, 159, 0, 92, 0, 164, 0, 100, 0, 182, 0, 112, 0, 190, 0, 122, 0, 207, 0, 133, 0, 217, 0, 146, 0, 227, 0, 146, 0, 234, 0, 159, 0, 238, 0, 154, 0, 235, 0, 157, 0, 235, 0, 149, 0, 226, 0, 140, 0, 217, 0, 136, 0, 213, 0, 121, 0, 202, 0, 123, 0, 197, 0, 106, 0, 186, 0, 105, 0, 183, 0, 97, 0, 173, 0, 92, 0, 170, 0, 87, 0, 163, 0, 80, 0, 155, 0, 76, 0, 154, 0, 66, 0, 135, 0, 61, 0, 136, 0, 48, 0, 110, 0, 33, 0, 104, 0, 21, 0, 84, 0, 6, 0, 71, 0, 250, 255, 60, 0, 241, 255, 46, 0, 230, 255, 43, 0, 227, 255, 36, 0, 224, 255, 36, 0, 220, 255, 34, 0, 225, 255, 36, 0, 222, 255, 39, 0, 229, 255, 38, 0, 226, 255, 42, 0, 233, 255, 43, 0, 229, 255, 40, 0, 230, 255, 43, 0, 229, 255, 39, 0, 227, 255, 37, 0, 225, 255, 34, 0, 219, 255, 29, 0, 215, 255, 22, 0, 210, 255, 18, 0, 205, 255, 10, 0, 197, 255, 8, 0, 195, 255, 1, 0, 189, 255, 255, 255, 188, 255, 247, 255, 181, 255, 248, 255, 180, 255, 237, 255, 173, 255, 237, 255, 169, 255, 222, 255, 161, 255, 219, 255, 151, 255, 204, 255, 143, 255, 197, 255, 130, 255, 188, 255, 123, 255, 175, 255, 112, 255, 173, 255, 106, 255, 164, 255, 102, 255, 165, 255, 97, 255, 159, 255, 95, 255, 160, 255, 91, 255, 153, 255, 87, 255, 154, 255, 85, 255, 152, 255, 82, 255, 146, 255, 76, 255, 144, 255, 72, 255, 138, 255, 67, 255, 136, 255, 63, 255, 125, 255, 57, 255, 121, 255, 48, 255, 108, 255, 38, 255, 99, 255, 29, 255, 88, 255, 18, 255, 73, 255, 9, 255, 64, 255, 251, 254, 50, 255, 245, 254, 44, 255, 240, 254, 38, 255, 234, 254, 35, 255, 235, 254, 32, 255, 230, 254, 36, 255, 234, 254, 30, 255, 232, 254, 32, 255, 232, 254, 29, 255, 230, 254, 25, 255, 228, 254, 16, 255, 219, 254, 11, 255, 216, 254, 254, 254, 207, 254, 249, 254, 200, 254, 232, 254, 190, 254, 227, 254, 182, 254, 209, 254, 171, 254, 204, 254, 162, 254, 187, 254, 153, 254, 182, 254, 149, 254, 176, 254, 143, 254, 167, 254, 142, 254, 169, 254, 140, 254, 161, 254, 139, 254, 166, 254, 141, 254, 162, 254, 144, 254, 165, 254, 143, 254, 163, 254, 145, 254, 163, 254, 146, 254, 162, 254, 144, 254, 160, 254, 150, 254, 158, 254, 141, 254, 153, 254, 153, 254, 155, 254, 146, 254, 149, 254, 153, 254, 149, 254, 149, 254, 143, 254, 149, 254, 146, 254, 156, 254, 135, 254, 147, 254, 135, 254, 150, 254, 131, 254, 150, 254, 126, 254, 144, 254, 127, 254, 150, 254, 117, 254, 139, 254, 117, 254, 144, 254, 102, 254, 133, 254, 97, 254, 128, 254, 80, 254, 117, 254, 71, 254, 109, 254, 55, 254, 97, 254, 42, 254, 91, 254, 32, 254, 77, 254, 22, 254, 78, 254, 14, 254, 68, 254, 14, 254, 75, 254, 7, 254, 66, 254, 10, 254, 72, 254, 4, 254, 66, 254, 7, 254, 68, 254, 255, 253, 64, 254, 3, 254, 63, 254, 252, 253, 62, 254, 255, 253, 62, 254, 249, 253, 59, 254, 253, 253, 63, 254, 251, 253, 63, 254, 0, 254, 69, 254, 3, 254, 71, 254, 12, 254, 83, 254, 18, 254, 84, 254, 25, 254, 97, 254, 35, 254, 101, 254, 41, 254, 111, 254, 49, 254, 118, 254, 51, 254, 119, 254, 56, 254, 128, 254, 54, 254, 125, 254, 56, 254, 131, 254, 46, 254, 123, 254, 48, 254, 126, 254, 39, 254, 120, 254, 40, 254, 120, 254, 37, 254, 121, 254, 43, 254, 120, 254, 40, 254, 128, 254, 52, 254, 128, 254, 51, 254, 137, 254, 60, 254, 139, 254, 67, 254, 147, 254, 70, 254, 148, 254, 76, 254, 151, 254, 75, 254, 155, 254, 80, 254, 154, 254, 78, 254, 159, 254, 76, 254, 156, 254, 78, 254, 154, 254, 71, 254, 157, 254, 81, 254, 157, 254, 76, 254, 161, 254, 87, 254, 166, 254, 93, 254, 174, 254, 105, 254, 186, 254, 121, 254, 197, 254, 137, 254, 216, 254, 158, 254, 228, 254, 167, 254, 247, 254, 186, 254, 254, 254, 194, 254, 16, 255, 206, 254, 20, 255, 213, 254, 31, 255, 217, 254, 33, 255, 218, 254, 36, 255, 223, 254, 38, 255, 224, 254, 47, 255, 234, 254, 42, 255, 234, 254, 58, 255, 245, 254, 54, 255, 248, 254, 67, 255, 0, 255, 66, 255, 9, 255, 77, 255, 13, 255, 79, 255, 24, 255, 88, 255, 25, 255, 89, 255, 31, 255, 90, 255, 33, 255, 95, 255, 36, 255, 93, 255, 34, 255, 98, 255, 37, 255, 96, 255, 32, 255, 96, 255, 32, 255, 97, 255, 30, 255, 95, 255, 31, 255, 96, 255, 31, 255, 100, 255, 36, 255, 100, 255, 40, 255, 107, 255, 44, 255, 108, 255, 52, 255, 114, 255, 55, 255, 121, 255, 64, 255, 123, 255, 63, 255, 126, 255, 69, 255, 124, 255, 69, 255, 127, 255, 74, 255, 126, 255, 74, 255, 125, 255, 76, 255, 125, 255, 78, 255, 126, 255, 86, 255, 130, 255, 88, 255, 131, 255, 101, 255, 140, 255, 102, 255, 143, 255, 117, 255, 153, 255, 120, 255, 157, 255, 133, 255, 163, 255, 136, 255, 169, 255, 143, 255, 171, 255, 152, 255, 180, 255, 154, 255, 182, 255, 163, 255, 185, 255, 163, 255, 193, 255, 173, 255, 189, 255, 176, 255, 203, 255, 183, 255, 201, 255, 190, 255, 210, 255, 193, 255, 213, 255, 203, 255, 219, 255, 208, 255, 228, 255, 223, 255, 234, 255, 226, 255, 243, 255, 242, 255, 248, 255, 245, 255, 0, 0, 0, 0, 5, 0, 5, 0, 8, 0, 7, 0, 7, 0, 7, 0, 11, 0, 12, 0, 2, 0, 8, 0, 11, 0, 18, 0, 5, 0, 19, 0, 11, 0, 27, 0, 17, 0, 39, 0, 20, 0, 45, 0, 33, 0, 64, 0, 39, 0, 75, 0, 56, 0, 93, 0, 66, 0, 107, 0, 79, 0, 115, 0, 89, 0, 136, 0, 102, 0, 138, 0, 109, 0, 157, 0, 121, 0, 153, 0, 123, 0, 167, 0, 128, 0, 165, 0, 133, 0, 169, 0, 133, 0, 174, 0, 139, 0, 172, 0, 140, 0, 182, 0, 146, 0, 186, 0, 151, 0, 195, 0, 160, 0, 204, 0, 167, 0, 215, 0, 179, 0, 226, 0, 191, 0, 239, 0, 199, 0, 251, 0, 210, 0, 4, 1, 219, 0, 18, 1, 227, 0, 27, 1, 236, 0, 32, 1, 241, 0, 46, 1, 247, 0, 42, 1, 252, 0, 53, 1, 253, 0, 47, 1, 253, 0, 49, 1, 249, 0, 42, 1, 248, 0, 40, 1, 246, 0, 38, 1, 242, 0, 33, 1, 246, 0, 36, 1, 241, 0, 34, 1, 250, 0, 42, 1, 253, 0, 45, 1, 255, 0, 47, 1, 5, 1, 55, 1, 7, 1, 52, 1, 7, 1, 58, 1, 8, 1, 51, 1, 2, 1, 46, 1, 254, 0, 41, 1, 247, 0, 32, 1, 239, 0, 28, 1, 233, 0, 18, 1, 227, 0, 12, 1, 219, 0, 1, 1, 212, 0, 255, 0, 208, 0, 245, 0, 205, 0, 241, 0, 198, 0, 236, 0, 194, 0, 232, 0, 191, 0, 227, 0, 184, 0, 225, 0, 186, 0, 220, 0, 178, 0, 213, 0, 175, 0, 210, 0, 168, 0, 198, 0, 161, 0, 189, 0, 148, 0, 178, 0, 141, 0, 162, 0, 127, 0, 153, 0, 118, 0, 139, 0, 109, 0, 130, 0, 100, 0, 123, 0, 94, 0, 114, 0, 91, 0, 113, 0, 85, 0, 104, 0, 83, 0, 108, 0, 82, 0, 101, 0, 79, 0, 102, 0, 75, 0, 96, 0, 73, 0, 98, 0, 67, 0, 94, 0, 70, 0, 93, 0, 60, 0, 92, 0, 63, 0, 85, 0, 55, 0, 88, 0, 56, 0, 85, 0, 57, 0, 84, 0, 52, 0, 85, 0, 57, 0, 81, 0, 54, 0, 81, 0, 50, 0, 76, 0, 51, 0, 67, 0, 39, 0, 61, 0, 35, 0, 45, 0, 20, 0, 31, 0, 11, 0, 11, 0, 242, 255, 245, 255, 230, 255, 229, 255, 206, 255, 202, 255, 190, 255, 187, 255, 169, 255, 164, 255, 154, 255, 150, 255, 139, 255, 138, 255, 127, 255, 125, 255, 120, 255, 122, 255, 111, 255, 115, 255, 110, 255, 114, 255, 107, 255, 109, 255, 101, 255, 109, 255, 101, 255, 106, 255, 97, 255, 104, 255, 92, 255, 101, 255, 93, 255, 95, 255, 83, 255, 91, 255, 83, 255, 81, 255, 71, 255, 77, 255, 69, 255, 70, 255, 64, 255, 62, 255, 57, 255, 63, 255, 56, 255, 51, 255, 53, 255, 59, 255, 51, 255, 51, 255, 56, 255, 61, 255, 54, 255, 57, 255, 63, 255, 65, 255, 65, 255, 65, 255, 67, 255, 64, 255, 74, 255, 67, 255, 68, 255, 60, 255, 73, 255, 58, 255, 67, 255, 54, 255, 65, 255, 46, 255, 60, 255, 42, 255, 55, 255, 39, 255, 53, 255, 36, 255, 53, 255, 36, 255, 53, 255, 40, 255, 57, 255, 41, 255, 60, 255, 46, 255, 67, 255, 50, 255, 70, 255, 54, 255, 77, 255, 61, 255, 81, 255, 67, 255, 91, 255, 73, 255, 94, 255, 81, 255, 103, 255, 84, 255, 108, 255, 94, 255, 115, 255, 102, 255, 127, 255, 110, 255, 132, 255, 121, 255, 144, 255, 124, 255, 148, 255, 138, 255, 159, 255, 141, 255, 168, 255, 155, 255, 174, 255, 156, 255, 183, 255, 171, 255, 189, 255, 169, 255, 196, 255, 181, 255, 200, 255, 181, 255, 205, 255, 185, 255, 206, 255, 188, 255, 211, 255, 191, 255, 213, 255, 194, 255, 217, 255, 197, 255, 221, 255, 202, 255, 225, 255, 206, 255, 233, 255, 213, 255, 239, 255, 215, 255, 245, 255, 225, 255, 249, 255, 222, 255, 255, 255, 235, 255, 5, 0, 227, 255, 5, 0, 235, 255, 8, 0, 234, 255, 10, 0, 231, 255, 7, 0, 236, 255, 13, 0, 232, 255, 8, 0, 234, 255, 14, 0, 236, 255, 14, 0, 235, 255, 15, 0, 241, 255, 21, 0, 241, 255, 21, 0, 248, 255, 28, 0, 248, 255, 29, 0, 2, 0, 36, 0, 2, 0, 36, 0, 7, 0, 42, 0, 9, 0, 41, 0, 12, 0, 43, 0, 6, 0, 41, 0, 11, 0, 39, 0, 254, 255, 37, 0, 6, 0, 35, 0, 247, 255, 32, 0, 0, 0, 29, 0, 241, 255, 25, 0, 246, 255, 21, 0, 237, 255, 17, 0, 237, 255, 15, 0, 232, 255, 11, 0, 228, 255, 9, 0, 230, 255, 10, 0, 223, 255, 4, 0, 225, 255, 7, 0, 219, 255, 0, 0, 218, 255, 1, 0, 216, 255, 0, 0, 209, 255, 250, 255, 206, 255, 246, 255, 201, 255, 243, 255, 194, 255, 236, 255, 193, 255, 235, 255, 189, 255, 230, 255, 185, 255, 228, 255, 191, 255, 227, 255, 183, 255, 229, 255, 195, 255, 231, 255, 193, 255, 234, 255, 203, 255, 244, 255, 207, 255, 241, 255, 214, 255, 3, 0, 219, 255, 251, 255, 222, 255, 10, 0, 228, 255, 5, 0, 227, 255, 11, 0, 230, 255, 7, 0, 228, 255, 9, 0, 228, 255, 1, 0, 226, 255, 7, 0, 225, 255, 251, 255, 220, 255, 253, 255, 219, 255, 246, 255, 220, 255, 250, 255, 219, 255, 246, 255, 228, 255, 0, 0, 226, 255, 248, 255, 232, 255, 5, 0, 239, 255, 3, 0, 242, 255, 12, 0, 249, 255, 15, 0, 250, 255, 14, 0, 250, 255, 15, 0, 248, 255, 14, 0, 246, 255, 7, 0, 243, 255, 9, 0, 236, 255, 2, 0, 237, 255, 254, 255, 232, 255, 0, 0, 234, 255, 254, 255, 234, 255, 0, 0, 232, 255, 0, 0, 239, 255, 1, 0, 239, 255, 8, 0, 244, 255, 3, 0, 245, 255, 11, 0, 247, 255, 5, 0, 252, 255, 10, 0, 251, 255, 12, 0, 1, 0, 6, 0, 254, 255, 16, 0, 7, 0, 7, 0, 6, 0, 20, 0, 19, 0, 15, 0, 21, 0, 32, 0, 37, 0, 32, 0, 40, 0, 45, 0, 54, 0, 52, 0, 64, 0, 62, 0, 71, 0, 73, 0, 83, 0, 79, 0, 86, 0, 84, 0, 93, 0, 90, 0, 96, 0, 86, 0, 95, 0, 90, 0, 94, 0, 83, 0, 90, 0, 79, 0, 86, 0, 77, 0, 79, 0, 63, 0, 72, 0, 62, 0, 65, 0, 48, 0, 58, 0, 45, 0, 55, 0, 40, 0, 52, 0, 37, 0, 54, 0, 39, 0, 56, 0, 38, 0, 59, 0, 43, 0, 62, 0, 45, 0, 70, 0, 51, 0, 73, 0, 52, 0, 79, 0, 56, 0, 79, 0, 54, 0, 83, 0, 56, 0, 81, 0, 54, 0, 82, 0, 51, 0, 76, 0, 47, 0, 77, 0, 46, 0, 71, 0, 39, 0, 69, 0, 39, 0, 66, 0, 33, 0, 63, 0, 32, 0, 67, 0, 33, 0, 62, 0, 32, 0, 70, 0, 34, 0, 64, 0, 32, 0, 72, 0, 32, 0, 67, 0, 30, 0, 71, 0, 30, 0, 66, 0, 30, 0, 68, 0, 23, 0, 61, 0, 25, 0, 62, 0, 17, 0, 58, 0, 15, 0, 54, 0, 13, 0, 56, 0, 11, 0, 52, 0, 10, 0, 57, 0, 12, 0, 57, 0, 13, 0, 64, 0, 22, 0, 67, 0, 26, 0, 75, 0, 35, 0, 84, 0, 43, 0, 85, 0, 48, 0, 95, 0, 53, 0, 92, 0, 57, 0, 99, 0, 58, 0, 92, 0, 55, 0, 98, 0, 58, 0, 89, 0, 49, 0, 91, 0, 55, 0, 90, 0, 47, 0, 87, 0, 53, 0, 95, 0, 50, 0, 91, 0, 58, 0, 102, 0, 56, 0, 102, 0, 68, 0, 116, 0, 71, 0, 116, 0, 77, 0, 125, 0, 84, 0, 129, 0, 90, 0, 134, 0, 91, 0, 137, 0, 97, 0, 136, 0, 94, 0, 139, 0, 97, 0, 138, 0, 98, 0, 140, 0, 96, 0, 141, 0, 104, 0, 139, 0, 101, 0, 148, 0, 110, 0, 149, 0, 112, 0, 156, 0, 122, 0, 164, 0, 128, 0, 166, 0, 138, 0, 177, 0, 140, 0, 177, 0, 148, 0, 182, 0, 149, 0, 184, 0, 153, 0, 186, 0, 154, 0, 186, 0, 155, 0, 185, 0, 153, 0, 184, 0, 154, 0, 180, 0, 149, 0, 183, 0, 152, 0, 178, 0, 147, 0, 184, 0, 153, 0, 181, 0, 153, 0, 190, 0, 156, 0, 193, 0, 167, 0, 204, 0, 167, 0, 211, 0, 181, 0, 217, 0, 181, 0, 225, 0, 193, 0, 231, 0, 196, 0, 240, 0, 204, 0, 239, 0, 207, 0, 250, 0, 213, 0, 246, 0, 218, 0, 1, 1, 219, 0, 255, 0, 226, 0, 4, 1, 228, 0, 4, 1, 229, 0, 8, 1, 233, 0, 3, 1, 232, 0, 7, 1, 234, 0, 4, 1, 234, 0, 8, 1, 237, 0, 4, 1, 230, 0, 5, 1, 235, 0, 3, 1, 228, 0, 0, 1, 230, 0, 3, 1, 227, 0, 251, 0, 225, 0, 255, 0, 225, 0, 248, 0, 223, 0, 248, 0, 222, 0, 245, 0, 221, 0, 244, 0, 221, 0, 244, 0, 219, 0, 244, 0, 221, 0, 242, 0, 221, 0, 244, 0, 222, 0, 241, 0, 227, 0, 243, 0, 223, 0, 240, 0, 229, 0, 241, 0, 229, 0, 240, 0, 230, 0, 240, 0, 232, 0, 238, 0, 232, 0, 239, 0, 233, 0, 235, 0, 231, 0, 235, 0, 231, 0, 232, 0, 230, 0, 232, 0, 231, 0, 229, 0, 227, 0, 227, 0, 230, 0, 220, 0, 225, 0, 223, 0, 225, 0, 211, 0, 224, 0, 214, 0, 214, 0, 199, 0, 219, 0, 200, 0, 206, 0, 190, 0, 211, 0, 185, 0, 201, 0, 182, 0, 203, 0, 175, 0, 199, 0, 176, 0, 199, 0, 172, 0, 198, 0, 171, 0, 195, 0, 168, 0, 197, 0, 167, 0, 196, 0, 167, 0, 197, 0, 165, 0, 196, 0, 163, 0, 198, 0, 163, 0, 198, 0, 165, 0, 201, 0, 159, 0, 198, 0, 166, 0, 200, 0, 155, 0, 193, 0, 161, 0, 199, 0, 154, 0, 191, 0, 152, 0, 191, 0, 148, 0, 185, 0, 141, 0, 177, 0, 138, 0, 176, 0, 128, 0, 166, 0, 126, 0, 163, 0, 120, 0, 158, 0, 117, 0, 154, 0, 117, 0, 154, 0, 114, 0, 150, 0, 120, 0, 158, 0, 122, 0, 156, 0, 123, 0, 161, 0, 131, 0, 167, 0, 128, 0, 163, 0, 141, 0, 174, 0, 136, 0, 171, 0, 141, 0, 173, 0, 140, 0, 173, 0, 143, 0, 175, 0, 141, 0, 170, 0, 143, 0, 177, 0, 142, 0, 169, 0, 141, 0, 176, 0, 145, 0, 172, 0, 143, 0, 173, 0, 146, 0, 175, 0, 143, 0, 170, 0, 143, 0, 173, 0, 142, 0, 166, 0, 133, 0, 161, 0, 133, 0, 158, 0, 116, 0, 144, 0, 113, 0, 141, 0, 100, 0, 126, 0, 89, 0, 117, 0, 78, 0, 111, 0, 67, 0, 93, 0, 55, 0, 95, 0, 49, 0, 76, 0, 39, 0, 84, 0, 37, 0, 68, 0, 34, 0, 78, 0, 33, 0, 70, 0, 36, 0, 77, 0, 35, 0, 77, 0, 37, 0, 77, 0, 35, 0, 80, 0, 36, 0, 74, 0, 33, 0, 76, 0, 28, 0, 70, 0, 25, 0, 66, 0, 19, 0, 64, 0, 14, 0, 57, 0, 8, 0, 54, 0, 3, 0, 47, 0, 252, 255, 49, 0, 249, 255, 39, 0, 243, 255, 41, 0, 235, 255, 28, 0, 229, 255, 31, 0, 224, 255, 20, 0, 213, 255, 18, 0, 206, 255, 8, 0, 196, 255, 0, 0, 186, 255, 248, 255, 180, 255, 241, 255, 170, 255, 233, 255, 165, 255, 231, 255, 163, 255, 224, 255, 158, 255, 224, 255, 160, 255, 221, 255, 158, 255, 224, 255, 163, 255, 223, 255, 164, 255, 228, 255, 170, 255, 228, 255, 168, 255, 231, 255, 178, 255, 231, 255, 169, 255, 228, 255, 181, 255, 228, 255, 170, 255, 223, 255, 175, 255, 221, 255, 172, 255, 212, 255, 165, 255, 209, 255, 169, 255, 199, 255, 156, 255, 197, 255, 161, 255, 191, 255, 155, 255, 185, 255, 157, 255, 188, 255, 156, 255, 182, 255, 159, 255, 187, 255, 163, 255, 190, 255, 170, 255, 191, 255, 175, 255, 199, 255, 178, 255, 200, 255, 183, 255, 203, 255, 183, 255, 203, 255, 185, 255, 203, 255, 183, 255, 200, 255, 186, 255, 198, 255, 182, 255, 198, 255, 185, 255, 190, 255, 180, 255, 191, 255, 186, 255, 189, 255, 184, 255, 188, 255, 189, 255, 190, 255, 194, 255, 192, 255, 193, 255, 195, 255, 207, 255, 199, 255, 206, 255, 202, 255, 214, 255, 208, 255, 218, 255, 204, 255, 219, 255, 214, 255, 218, 255, 203, 255, 219, 255, 211, 255, 214, 255, 201, 255, 213, 255, 202, 255, 206, 255, 195, 255, 205, 255, 195, 255, 201, 255, 189, 255, 198, 255, 191, 255, 200, 255, 184, 255, 194, 255, 190, 255, 203, 255, 189, 255, 204, 255, 196, 255, 210, 255, 199, 255, 215, 255, 206, 255, 222, 255, 210, 255, 224, 255, 217, 255, 233, 255, 218, 255, 228, 255, 218, 255, 236, 255, 221, 255, 228, 255, 213, 255, 228, 255, 212, 255, 220, 255, 206, 255, 216, 255, 201, 255, 209, 255, 195, 255, 207, 255, 194, 255, 198, 255, 183, 255, 198, 255, 187, 255, 191, 255, 176, 255, 190, 255, 181, 255, 186, 255, 173, 255, 184, 255, 176, 255, 180, 255, 170, 255, 175, 255, 168, 255, 178, 255, 170, 255, 173, 255, 168, 255, 179, 255, 171, 255, 176, 255, 171, 255, 179, 255, 174, 255, 184, 255, 179, 255, 187, 255, 182, 255, 193, 255, 188, 255, 200, 255, 195, 255, 207, 255, 198, 255, 217, 255, 210, 255, 224, 255, 215, 255, 233, 255, 220, 255, 242, 255, 228, 255, 252, 255, 235, 255, 3, 0, 238, 255, 15, 0, 250, 255, 17, 0, 246, 255, 24, 0, 252, 255, 23, 0, 252, 255, 26, 0, 249, 255, 24, 0, 253, 255, 25, 0, 247, 255, 23, 0, 250, 255, 25, 0, 250, 255) +format = 1 +stereo = true + [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hcesa"] resource_name = "Material.004" cull_mode = 2 @@ -338,6 +348,16 @@ size = Vector3(2.01782, 0.0603027, 0.625231) [sub_resource type="BoxShape3D" id="BoxShape3D_pifp8"] size = Vector3(2.01782, 0.0603027, 0.631599) +[sub_resource type="Resource" id="Resource_2sgmq"] +script = ExtResource("99_vqshx") +name = "Metal" +walk_sounds = Array[AudioStream]([ExtResource("99_51jq7")]) +walk_pitch_minimum = 0.767 +walk_pitch_maximum = 1.0 + +[sub_resource type="BoxShape3D" id="BoxShape3D_pr628"] +size = Vector3(4.07935, 3.98126, 6.71008) + [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_0af2s"] resource_name = "Material.004" cull_mode = 2 @@ -1174,7 +1194,7 @@ root_node = NodePath("../Hand_Nails_low_L") libraries = { "": SubResource("AnimationLibrary_kw48d") } -tree_root = SubResource("AnimationNodeBlendTree_r1stf") +tree_root = SubResource("AnimationNodeBlendTree_vv7wu") [node name="FunctionPointer" parent="XROrigin3D/LeftHand/CollisionHandLeft" index="2" instance=ExtResource("6_gh13s")] show_laser = 2 @@ -1245,7 +1265,7 @@ root_node = NodePath("../Hand_Nails_low_R") libraries = { "": SubResource("AnimationLibrary_reqae") } -tree_root = SubResource("AnimationNodeBlendTree_vih6q") +tree_root = SubResource("AnimationNodeBlendTree_x8q0i") [node name="FunctionPointer" parent="XROrigin3D/RightHand/CollisionHandRight" index="2" instance=ExtResource("6_gh13s")] show_laser = 2 @@ -1269,6 +1289,13 @@ crouch_button_action = "by_button" [node name="MovementSprint" parent="XROrigin3D" index="4" instance=ExtResource("18_8cr1g")] +[node name="XRToolsMovementFootstep" type="Node" parent="XROrigin3D" index="5" groups=["movement_providers"]] +script = ExtResource("50_g2sug") + +[node name="PlayerSettings" type="AudioStreamPlayer3D" parent="XROrigin3D/XRToolsMovementFootstep" index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.88647, 0) +stream = SubResource("AudioStreamWAV_7ycgd") + [node name="StartXR" parent="." index="1" instance=ExtResource("91_ig6ey")] physics_rate_multiplier = 1 @@ -1328,6 +1355,24 @@ shape = SubResource("BoxShape3D_6li01") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.003, -0.845814, 1.34355) shape = SubResource("BoxShape3D_pifp8") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Pipes - Texture/StaticBody3D" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + +[node name="Area3D" type="Area3D" parent="Hall - Pipes - Texture" index="3"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Hall - Pipes - Texture/Area3D" index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0233154, 0.0121765, 0.116272) +shape = SubResource("BoxShape3D_pr628") + +[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Hall - Pipes - Texture/Area3D" index="1"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.37999, -0.38607, -2.31152) +stream = ExtResource("100_3bu05") +volume_db = -27.5 +unit_size = 6.88 +autoplay = true +max_distance = 10.0 + [node name="Hall - Pipes - Texture2" type="Node3D" parent="." index="5"] transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, 0, 0, -21) @@ -1374,6 +1419,24 @@ shape = SubResource("BoxShape3D_6li01") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.003, -0.845814, 1.34355) shape = SubResource("BoxShape3D_pifp8") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Pipes - Texture2/StaticBody3D" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + +[node name="Area3D" type="Area3D" parent="Hall - Pipes - Texture2" index="3"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Hall - Pipes - Texture2/Area3D" index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0233154, 0.0121765, 0.116272) +shape = SubResource("BoxShape3D_pr628") + +[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Hall - Pipes - Texture2/Area3D" index="1"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.37999, -0.38607, -2.31152) +stream = ExtResource("100_3bu05") +volume_db = -15.0 +unit_size = 6.88 +autoplay = true +max_distance = 10.0 + [node name="Hall - Default_Light" type="Node3D" parent="." index="6"] transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, -13) @@ -1420,6 +1483,10 @@ shape = SubResource("BoxShape3D_ycu71") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.003, -0.845814, 1.34355) shape = SubResource("BoxShape3D_gvnep") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Default_Light/StaticBody3D" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + [node name="OmniLight3D" type="OmniLight3D" parent="Hall - Default_Light" index="3"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.52448, 2.61394) light_color = Color(1, 0.988235, 0.890196, 1) @@ -1476,6 +1543,10 @@ shape = SubResource("BoxShape3D_ycu71") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.003, -0.845814, 1.34355) shape = SubResource("BoxShape3D_gvnep") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Default_Light2/StaticBody3D" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + [node name="OmniLight3D" type="OmniLight3D" parent="Hall - Default_Light2" index="3"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.52448, 2.61394) light_color = Color(1, 0.988235, 0.890196, 1) @@ -1532,6 +1603,10 @@ shape = SubResource("BoxShape3D_ycu71") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 2.003, -0.845814, 1.34355) shape = SubResource("BoxShape3D_gvnep") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Default_Light4/StaticBody3D" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + [node name="OmniLight3D" type="OmniLight3D" parent="Hall - Default_Light4" index="3"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 1.52448, 2.61394) light_color = Color(1, 0.988235, 0.890196, 1) @@ -1588,6 +1663,10 @@ shape = SubResource("BoxShape3D_ycu71") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.003, -0.845814, 1.34355) shape = SubResource("BoxShape3D_gvnep") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Default_Light5/StaticBody3D" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + [node name="OmniLight3D" type="OmniLight3D" parent="Hall - Default_Light5" index="3"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.52448, 2.61394) light_color = Color(1, 0.988235, 0.890196, 1) @@ -1644,6 +1723,10 @@ shape = SubResource("BoxShape3D_ycu71") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.003, -0.845814, 1.34355) shape = SubResource("BoxShape3D_gvnep") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Default_Light3/StaticBody3D" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + [node name="OmniLight3D" type="OmniLight3D" parent="Hall - Default_Light3" index="3"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.52448, 2.61394) light_color = Color(1, 0.988235, 0.890196, 1) @@ -1700,6 +1783,10 @@ shape = SubResource("BoxShape3D_owuu3") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.003, -0.845814, 1.34355) shape = SubResource("BoxShape3D_0fnje") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Window - Texture/StaticBody3D" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + [node name="Hall - Window - Texture3" type="Node3D" parent="." index="12"] transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -14, 0, -25) @@ -1746,6 +1833,10 @@ shape = SubResource("BoxShape3D_owuu3") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.003, -0.845814, 1.34355) shape = SubResource("BoxShape3D_0fnje") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Window - Texture3/StaticBody3D" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + [node name="Hall - Window - Texture4" type="Node3D" parent="." index="13"] transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -14, 0, -17) @@ -1792,6 +1883,10 @@ shape = SubResource("BoxShape3D_owuu3") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.003, -0.845814, 1.34355) shape = SubResource("BoxShape3D_0fnje") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Window - Texture4/StaticBody3D" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + [node name="Hall - Window - Texture6" type="Node3D" parent="." index="14"] transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -14, 0, -21) @@ -1838,6 +1933,10 @@ shape = SubResource("BoxShape3D_owuu3") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.003, -0.845814, 1.34355) shape = SubResource("BoxShape3D_0fnje") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Window - Texture6/StaticBody3D" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + [node name="Hall - Window - Texture5" type="Node3D" parent="." index="15"] transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -14, 0, -13) @@ -1884,6 +1983,10 @@ shape = SubResource("BoxShape3D_owuu3") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.003, -0.845814, 1.34355) shape = SubResource("BoxShape3D_0fnje") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Window - Texture5/StaticBody3D" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + [node name="Hall - Window - Texture2" type="Node3D" parent="." index="16"] transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, -29) @@ -1930,6 +2033,10 @@ shape = SubResource("BoxShape3D_owuu3") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.003, -0.845814, 1.34355) shape = SubResource("BoxShape3D_0fnje") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Window - Texture2/StaticBody3D" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + [node name="Hall - Curve" type="Node3D" parent="." index="17"] transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -5, 0, -38) @@ -2096,6 +2203,10 @@ shape = SubResource("BoxShape3D_6vyqf") transform = Transform3D(0.725287, 0.680468, 0.104506, -0.685668, 0.727613, 0.0209424, -0.0617889, -0.0868453, 0.994304, -3.76062, 0.858, -3.06015) shape = SubResource("BoxShape3D_6vyqf") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Curve/StaticBody3D" index="38"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + [node name="Hall - Curve3" type="Node3D" parent="." index="18"] transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -14, 0, -47) @@ -2262,6 +2373,10 @@ shape = SubResource("BoxShape3D_6vyqf") transform = Transform3D(0.725287, 0.680468, 0.104506, -0.685668, 0.727613, 0.0209424, -0.0617889, -0.0868453, 0.994304, -3.76062, 0.858, -3.06015) shape = SubResource("BoxShape3D_6vyqf") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Curve3/StaticBody3D" index="38"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + [node name="Hall - Curve4" type="Node3D" parent="." index="19"] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 8, 0, -57) @@ -2428,6 +2543,10 @@ shape = SubResource("BoxShape3D_6vyqf") transform = Transform3D(0.725287, 0.680468, 0.104506, -0.685668, 0.727613, 0.0209424, -0.0617889, -0.0868453, 0.994304, -3.76062, 0.858, -3.06015) shape = SubResource("BoxShape3D_6vyqf") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Curve4/StaticBody3D" index="38"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + [node name="Hall - Junction2" type="Node3D" parent="." index="20"] transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -14, 0, -33) @@ -2534,6 +2653,10 @@ shape = SubResource("BoxShape3D_dcjaw") transform = Transform3D(-0.584161, -0.415192, -0.697403, -0.56565, 0.824469, -0.0170371, 0.582061, 0.384534, -0.716476, -1.05018, 0.905537, -1.43828) shape = SubResource("BoxShape3D_dcjaw") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Junction2/StaticBody3D" index="23"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + [node name="Hall - Pipes - Texture3" type="Node3D" parent="." index="21"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, -52) @@ -2580,6 +2703,24 @@ shape = SubResource("BoxShape3D_6li01") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.003, -0.845814, 1.34355) shape = SubResource("BoxShape3D_pifp8") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Pipes - Texture3/StaticBody3D" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + +[node name="Area3D" type="Area3D" parent="Hall - Pipes - Texture3" index="3"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Hall - Pipes - Texture3/Area3D" index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0233154, 0.0121765, 0.116272) +shape = SubResource("BoxShape3D_pr628") + +[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Hall - Pipes - Texture3/Area3D" index="1"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.37999, -0.38607, -2.31152) +stream = ExtResource("100_3bu05") +volume_db = -15.0 +unit_size = 6.88 +autoplay = true +max_distance = 10.0 + [node name="Hall - Pipes - Texture4" type="Node3D" parent="." index="22"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -52) @@ -2626,6 +2767,24 @@ shape = SubResource("BoxShape3D_6li01") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.003, -0.845814, 1.34355) shape = SubResource("BoxShape3D_pifp8") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Pipes - Texture4/StaticBody3D" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + +[node name="Area3D" type="Area3D" parent="Hall - Pipes - Texture4" index="3"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Hall - Pipes - Texture4/Area3D" index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0233154, 0.0121765, 0.116272) +shape = SubResource("BoxShape3D_pr628") + +[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Hall - Pipes - Texture4/Area3D" index="1"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.37999, -0.38607, -2.31152) +stream = ExtResource("100_3bu05") +volume_db = -15.0 +unit_size = 6.88 +autoplay = true +max_distance = 10.0 + [node name="Hall - Pipes - Texture6" type="Node3D" parent="." index="23"] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 8, 0, -73) @@ -2672,6 +2831,24 @@ shape = SubResource("BoxShape3D_6li01") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 2.003, -0.845814, 1.34355) shape = SubResource("BoxShape3D_pifp8") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Pipes - Texture6/StaticBody3D" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + +[node name="Area3D" type="Area3D" parent="Hall - Pipes - Texture6" index="3"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Hall - Pipes - Texture6/Area3D" index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0233154, 0.0121765, 0.116272) +shape = SubResource("BoxShape3D_pr628") + +[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Hall - Pipes - Texture6/Area3D" index="1"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.37999, -0.38607, -2.31152) +stream = ExtResource("100_3bu05") +volume_db = -15.0 +unit_size = 6.88 +autoplay = true +max_distance = 10.0 + [node name="Hall - Pipes - Texture5" type="Node3D" parent="." index="24"] transform = Transform3D(-4.56956e-08, 0, -1, 0, 1, 0, 1, 0, -4.56956e-08, 8, 0, -65) @@ -2718,6 +2895,24 @@ shape = SubResource("BoxShape3D_6li01") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, -1.997, -0.845814, 1.34355) shape = SubResource("BoxShape3D_pifp8") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Pipes - Texture5/StaticBody3D" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + +[node name="Area3D" type="Area3D" parent="Hall - Pipes - Texture5" index="3"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Hall - Pipes - Texture5/Area3D" index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0233154, 0.0121765, 0.116272) +shape = SubResource("BoxShape3D_pr628") + +[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Hall - Pipes - Texture5/Area3D" index="1"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.37999, -0.38607, -2.31152) +stream = ExtResource("100_3bu05") +volume_db = -15.0 +unit_size = 6.88 +autoplay = true +max_distance = 10.0 + [node name="Hall - DoorBody - Texture" type="Node3D" parent="." index="25"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 0) @@ -2856,6 +3051,10 @@ shape = SubResource("BoxShape3D_bos66") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.0463966, -0.845814, 1.34355) shape = SubResource("BoxShape3D_734lp") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - DoorBody - Texture2/BlastDoor_003/StaticBody3D - DoorBody" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + [node name="DoorLeft" type="MeshInstance3D" parent="Hall - DoorBody - Texture2" index="1"] transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 8, 0, 0) material_override = ExtResource("111_1fwaj") @@ -2950,6 +3149,10 @@ shape = SubResource("BoxShape3D_bos66") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.0463966, -0.845814, 1.34355) shape = SubResource("BoxShape3D_734lp") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - DoorBody - Texture3/BlastDoor_003/StaticBody3D - DoorBody" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + [node name="BlastDoor_004" type="MeshInstance3D" parent="Hall - DoorBody - Texture3" index="1"] transform = Transform3D(2, 0, 4.76837e-07, 0, 2, 0, -4.76837e-07, 0, 2, 4, 0, 0) material_override = ExtResource("108_gaqo2") @@ -3207,6 +3410,10 @@ shape = SubResource("BoxShape3D_hipve") transform = Transform3D(0.725287, 0.680468, 0.104506, -0.685668, 0.727613, 0.0209424, -0.0617889, -0.0868453, 0.994304, -3.76062, 0.858, -3.06015) shape = SubResource("BoxShape3D_hipve") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Curve_Light - Texture/StaticBody3D" index="38"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + [node name="OmniLight3D" type="OmniLight3D" parent="Hall - Curve_Light - Texture" index="3"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0012219, 1.68597, 2.18933) light_color = Color(1, 0.988235, 0.890196, 1) @@ -3345,6 +3552,10 @@ shape = SubResource("BoxShape3D_52cmv") transform = Transform3D(-0.584161, -0.415192, -0.697403, -0.56565, 0.824469, -0.0170371, 0.582061, 0.384534, -0.716476, -1.05018, 0.905537, -1.43828) shape = SubResource("BoxShape3D_52cmv") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Junction_Light/StaticBody3D" index="23"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + [node name="OmniLight3D" type="OmniLight3D" parent="Hall - Junction_Light" index="3"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.52448, 2.53266) light_color = Color(1, 0.988235, 0.890196, 1) @@ -3426,6 +3637,10 @@ shape = SubResource("BoxShape3D_excai") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.003, -0.845814, 1.34355) shape = SubResource("BoxShape3D_aymeh") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Default_Light6/StaticBody3D" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + [node name="OmniLight3D" type="OmniLight3D" parent="Hall - Default_Light6" index="3"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.52448, 2.61394) light_color = Color(1, 0.988235, 0.890196, 1) @@ -3482,6 +3697,24 @@ shape = SubResource("BoxShape3D_rhcnf") transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0.003, -0.845814, 1.34355) shape = SubResource("BoxShape3D_0ts0f") +[node name="XRToolsSurfaceAudio" type="Node" parent="Hall - Pipes - Texture7/StaticBody3D" index="8"] +script = ExtResource("98_oh706") +surface_audio_type = SubResource("Resource_2sgmq") + +[node name="Area3D" type="Area3D" parent="Hall - Pipes - Texture7" index="3"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Hall - Pipes - Texture7/Area3D" index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0233154, 0.0121765, 0.116272) +shape = SubResource("BoxShape3D_pr628") + +[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Hall - Pipes - Texture7/Area3D" index="1"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.37999, -0.38607, -2.31152) +stream = ExtResource("100_3bu05") +volume_db = -15.0 +unit_size = 6.88 +autoplay = true +max_distance = 10.0 + [node name="Crate - Texture" parent="." index="32" instance=ExtResource("115_ksgao")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.31629, -4) diff --git a/game/zones/zone_base.tscn b/game/zones/zone_base.tscn index a05fa35..8611d7a 100644 --- a/game/zones/zone_base.tscn +++ b/game/zones/zone_base.tscn @@ -1,83 +1,231 @@ -[gd_scene load_steps=33 format=3 uid="uid://cvn48xcmsmkrb"] +[gd_scene load_steps=105 format=3 uid="uid://cvn48xcmsmkrb"] [ext_resource type="PackedScene" uid="uid://di1bu0tceg332" path="res://components/persistent/persistent_zone.tscn" id="1_radar"] [ext_resource type="PackedScene" uid="uid://bkv43ec6chcf3" path="res://addons/godot-xr-tools/hands/scenes/collision/collision_hand_left.tscn" id="4_38kmp"] [ext_resource type="PackedScene" uid="uid://b4kad2kuba1yn" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" id="5_2k6vw"] [ext_resource type="PackedScene" uid="uid://bjcxf427un2wp" path="res://addons/godot-xr-tools/player/poke/poke.tscn" id="6_3jgly"] +[ext_resource type="Animation" uid="uid://dgfeikrugfewi" path="res://addons/godot-xr-tools/hands/animations/left/Cup.res" id="6_p46am"] [ext_resource type="PackedScene" uid="uid://cqhw276realc" path="res://addons/godot-xr-tools/functions/function_pointer.tscn" id="7_573pv"] +[ext_resource type="Animation" uid="uid://dlxa6f6hwurka" path="res://addons/godot-xr-tools/hands/animations/left/Default pose.res" id="7_m7v3g"] +[ext_resource type="Animation" uid="uid://plad1r85f7ws" path="res://addons/godot-xr-tools/hands/animations/left/Grip.res" id="8_2i8o1"] [ext_resource type="PackedScene" uid="uid://b4ysuy43poobf" path="res://addons/godot-xr-tools/functions/function_pickup.tscn" id="8_7p3lb"] [ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="9_cv4ub"] +[ext_resource type="Animation" uid="uid://dqa0h82y3qn1t" path="res://addons/godot-xr-tools/hands/animations/left/Grip 1.res" id="9_fwp6l"] [ext_resource type="PackedScene" uid="uid://c2q5phg8w08o" path="res://addons/godot-xr-tools/functions/movement_jump.tscn" id="10_6ajyr"] +[ext_resource type="Animation" uid="uid://di384xtde8ydf" path="res://addons/godot-xr-tools/hands/animations/left/Grip 2.res" id="10_yfk5i"] [ext_resource type="PackedScene" uid="uid://clt88d5d1dje4" path="res://addons/godot-xr-tools/functions/movement_crouch.tscn" id="11_5npet"] +[ext_resource type="Animation" uid="uid://dd67rufxwj2u" path="res://addons/godot-xr-tools/hands/animations/left/Grip 3.res" id="11_jq7k8"] +[ext_resource type="Animation" uid="uid://db62hs5s4n2b3" path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.res" id="12_bbge1"] [ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="12_jg4e1"] [ext_resource type="PackedScene" uid="uid://c3uoohvnshach" path="res://addons/godot-xr-tools/hands/scenes/collision/collision_hand_right.tscn" id="12_o3mdo"] +[ext_resource type="Animation" uid="uid://bediglpx0rj7i" path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.res" id="13_d74fd"] [ext_resource type="PackedScene" uid="uid://l2n30mpbkdyw" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" id="13_dr7jm"] [ext_resource type="PackedScene" uid="uid://b3bubdytjn523" path="res://game/zones/zone_wrist_ui.tscn" id="13_w2gnj"] +[ext_resource type="Animation" uid="uid://nq3xh1olqipq" path="res://addons/godot-xr-tools/hands/animations/left/Grip Shaft.res" id="14_bwxks"] [ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="14_yb1jn"] +[ext_resource type="Animation" uid="uid://bi1l6lre2w2lp" path="res://addons/godot-xr-tools/hands/animations/left/Hold.res" id="15_mer75"] [ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="15_x1dm3"] [ext_resource type="PackedScene" uid="uid://qmejywplaagw" path="res://components/persistent/persistent_pocket.tscn" id="16_4oqtv"] +[ext_resource type="Animation" uid="uid://c3e6h0rv2uw2d" path="res://addons/godot-xr-tools/hands/animations/left/Horns.res" id="16_md4vg"] [ext_resource type="PackedScene" uid="uid://da2qgxxwwitl6" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" id="17_1njvn"] +[ext_resource type="Animation" uid="uid://dfekure1r6q13" path="res://addons/godot-xr-tools/hands/animations/left/Metal.res" id="17_8je0h"] +[ext_resource type="Animation" uid="uid://b0rhk4r0r0t32" path="res://addons/godot-xr-tools/hands/animations/left/Middle.res" id="18_dddln"] [ext_resource type="PackedScene" uid="uid://drs4eeq721ojn" path="res://addons/godot-xr-tools/functions/movement_sprint.tscn" id="18_l4ed5"] - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_xdmwg"] +[ext_resource type="Animation" uid="uid://f5k0gh4qnmv5" path="res://addons/godot-xr-tools/hands/animations/left/OK.res" id="19_lu2nt"] +[ext_resource type="Animation" uid="uid://1nlkfvitq7ku" path="res://addons/godot-xr-tools/hands/animations/left/Peace.res" id="20_mwepj"] +[ext_resource type="Animation" uid="uid://dhjb0e334tfwl" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Flat.res" id="21_ktyw5"] +[ext_resource type="Animation" uid="uid://dkjsnihi81b7p" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Large.res" id="22_vlyc8"] +[ext_resource type="Animation" uid="uid://bn0fdhe2jwq3h" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Middle.res" id="23_fwalx"] +[ext_resource type="Animation" uid="uid://bo1b8w0s4ci81" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Ring.res" id="24_am41s"] +[ext_resource type="Animation" uid="uid://m5x2m8x3tcel" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Tight.res" id="25_bngt5"] +[ext_resource type="Animation" uid="uid://fi23m6i7orhw" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Up.res" id="26_3xbdk"] +[ext_resource type="Animation" uid="uid://c8qmcuyaltdnw" path="res://addons/godot-xr-tools/hands/animations/left/PingPong.res" id="27_a00b7"] +[ext_resource type="Animation" uid="uid://bqnoubqq7ogwu" path="res://addons/godot-xr-tools/hands/animations/left/Pinky.res" id="28_82sln"] +[ext_resource type="Animation" uid="uid://ddbo6ioa282en" path="res://addons/godot-xr-tools/hands/animations/left/Pistol.res" id="29_1d7c8"] +[ext_resource type="Animation" uid="uid://brkptjihht3ae" path="res://addons/godot-xr-tools/hands/animations/left/Ring.res" id="30_y3po7"] +[ext_resource type="Animation" uid="uid://cnng6xumhw7cx" path="res://addons/godot-xr-tools/hands/animations/left/Rounded.res" id="31_18s28"] +[ext_resource type="Animation" uid="uid://cevirj0eagdrq" path="res://addons/godot-xr-tools/hands/animations/left/Sign 1.res" id="32_u0e2d"] +[ext_resource type="Animation" uid="uid://cc6phxovf1ban" path="res://addons/godot-xr-tools/hands/animations/left/Sign 2.res" id="33_sfa7p"] +[ext_resource type="Animation" uid="uid://ohthjp8qbcc4" path="res://addons/godot-xr-tools/hands/animations/left/Sign 3.res" id="34_3sjia"] +[ext_resource type="Animation" uid="uid://dmx42g64577g5" path="res://addons/godot-xr-tools/hands/animations/left/Sign 4.res" id="35_047a5"] +[ext_resource type="Animation" uid="uid://dhsoxntrktx0p" path="res://addons/godot-xr-tools/hands/animations/left/Sign 5.res" id="36_a3rk7"] +[ext_resource type="Animation" uid="uid://c0u2a3yc2vhg8" path="res://addons/godot-xr-tools/hands/animations/left/Sign_Point.res" id="37_q6gbd"] +[ext_resource type="Animation" uid="uid://4g211my0hoiw" path="res://addons/godot-xr-tools/hands/animations/left/Straight.res" id="38_u07l6"] +[ext_resource type="Animation" uid="uid://d06l7hygl4qt3" path="res://addons/godot-xr-tools/hands/animations/left/Surfer.res" id="39_4mst4"] +[ext_resource type="Animation" uid="uid://bxei4oebd4hu3" path="res://addons/godot-xr-tools/hands/animations/left/Thumb.res" id="40_ejsce"] +[ext_resource type="Animation" uid="uid://do01jton6rk42" path="res://addons/godot-xr-tools/hands/animations/right/Cup.res" id="50_5h83f"] +[ext_resource type="Animation" uid="uid://ky28birj4su6" path="res://addons/godot-xr-tools/hands/animations/right/Default pose.res" id="51_0ls5n"] +[ext_resource type="Animation" uid="uid://ccds2u22gbxn7" path="res://addons/godot-xr-tools/hands/animations/right/Grip.res" id="52_vcr7b"] +[ext_resource type="Animation" uid="uid://daqddcrbpam0c" path="res://addons/godot-xr-tools/hands/animations/right/Grip 1.res" id="53_uygbc"] +[ext_resource type="Animation" uid="uid://r8hleealhrqt" path="res://addons/godot-xr-tools/hands/animations/right/Grip 2.res" id="54_d1kjr"] +[ext_resource type="Animation" uid="uid://rs7vpclot07o" path="res://addons/godot-xr-tools/hands/animations/right/Grip 3.res" id="55_14g67"] +[ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="56_2n6c8"] +[ext_resource type="Animation" uid="uid://s1vqcxyqcvea" path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.res" id="57_3x2lh"] +[ext_resource type="Animation" uid="uid://c8dghcftg1thx" path="res://addons/godot-xr-tools/hands/animations/right/Grip Shaft.res" id="58_1rxh8"] +[ext_resource type="Animation" uid="uid://bv5tuc1kjv0k5" path="res://addons/godot-xr-tools/hands/animations/right/Hold.res" id="59_igs8n"] +[ext_resource type="Animation" uid="uid://cdjfhqnr4n2mr" path="res://addons/godot-xr-tools/hands/animations/right/Horns.res" id="60_b0cph"] +[ext_resource type="Animation" uid="uid://b1kqsodcr1til" path="res://addons/godot-xr-tools/hands/animations/right/Metal.res" id="61_4qvv4"] +[ext_resource type="Animation" uid="uid://cg6fsqb2iuuih" path="res://addons/godot-xr-tools/hands/animations/right/Middle.res" id="62_2xd7s"] +[ext_resource type="Animation" uid="uid://c3isimdlxg54a" path="res://addons/godot-xr-tools/hands/animations/right/OK.res" id="63_4uygh"] +[ext_resource type="Animation" uid="uid://bxmc3vlfih764" path="res://addons/godot-xr-tools/hands/animations/right/Peace.res" id="64_7fmt1"] +[ext_resource type="Animation" uid="uid://dg4v7rqiaje2h" path="res://addons/godot-xr-tools/hands/animations/right/Pinch Flat.res" id="65_j64vd"] +[ext_resource type="Animation" uid="uid://cuwwpxi44vwpm" path="res://addons/godot-xr-tools/hands/animations/right/Pinch Large.res" id="66_gmw1b"] +[ext_resource type="Animation" uid="uid://c6vghurk7t5yb" path="res://addons/godot-xr-tools/hands/animations/right/Pinch Middle.res" id="67_xcdq2"] +[ext_resource type="Animation" uid="uid://mjotm5uukoo3" path="res://addons/godot-xr-tools/hands/animations/right/Pinch Ring.res" id="68_ytuvg"] +[ext_resource type="Animation" uid="uid://ca21ej1p3g2yt" path="res://addons/godot-xr-tools/hands/animations/right/Pinch Tight.res" id="69_pqc3q"] +[ext_resource type="Animation" uid="uid://cseojxi8rrqc" path="res://addons/godot-xr-tools/hands/animations/right/Pinch Up.res" id="70_xc3ka"] +[ext_resource type="Animation" uid="uid://c8hn123uon74u" path="res://addons/godot-xr-tools/hands/animations/right/PingPong.res" id="71_ptjml"] +[ext_resource type="Animation" uid="uid://b6ra3rqia1gvb" path="res://addons/godot-xr-tools/hands/animations/right/Pinky.res" id="72_5u6cx"] +[ext_resource type="Animation" uid="uid://csp3fdknowmi5" path="res://addons/godot-xr-tools/hands/animations/right/Pistol.res" id="73_id2id"] +[ext_resource type="Animation" uid="uid://2ttepgvf634h" path="res://addons/godot-xr-tools/hands/animations/right/Ring.res" id="74_31f8x"] +[ext_resource type="Animation" uid="uid://wcwa3p1qrhwr" path="res://addons/godot-xr-tools/hands/animations/right/Rounded.res" id="75_421a5"] +[ext_resource type="Animation" uid="uid://bcwx6a6mhsoj2" path="res://addons/godot-xr-tools/hands/animations/right/Sign 1.res" id="76_7l75u"] +[ext_resource type="Animation" uid="uid://btnsp36fjkldf" path="res://addons/godot-xr-tools/hands/animations/right/Sign 2.res" id="77_h1bu8"] +[ext_resource type="Animation" uid="uid://c35i6glt1ov2m" path="res://addons/godot-xr-tools/hands/animations/right/Sign 3.res" id="78_phb6f"] +[ext_resource type="Animation" uid="uid://b8mmk2ufmlyf" path="res://addons/godot-xr-tools/hands/animations/right/Sign 4.res" id="79_s5mg8"] +[ext_resource type="Animation" uid="uid://ddgl3lsnlfiny" path="res://addons/godot-xr-tools/hands/animations/right/Sign 5.res" id="80_mtytb"] +[ext_resource type="Animation" uid="uid://ccy3e7a0hvxyl" path="res://addons/godot-xr-tools/hands/animations/right/Sign_Point.res" id="81_45i47"] +[ext_resource type="Animation" uid="uid://d3h36bkauutoq" path="res://addons/godot-xr-tools/hands/animations/right/Straight.res" id="82_ueqa1"] +[ext_resource type="Animation" uid="uid://bq7cjxdn28jcv" path="res://addons/godot-xr-tools/hands/animations/right/Surfer.res" id="83_250cb"] +[ext_resource type="Animation" uid="uid://d2ukhr3n2r1u8" path="res://addons/godot-xr-tools/hands/animations/right/Thumb.res" id="84_s05gr"] + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_kw48d"] +_data = { +"Cup": ExtResource("6_p46am"), +"Default pose": ExtResource("7_m7v3g"), +"Grip": ExtResource("8_2i8o1"), +"Grip 1": ExtResource("9_fwp6l"), +"Grip 2": ExtResource("10_yfk5i"), +"Grip 3": ExtResource("11_jq7k8"), +"Grip 4": ExtResource("12_bbge1"), +"Grip 5": ExtResource("13_d74fd"), +"Grip Shaft": ExtResource("14_bwxks"), +"Hold": ExtResource("15_mer75"), +"Horns": ExtResource("16_md4vg"), +"Metal": ExtResource("17_8je0h"), +"Middle": ExtResource("18_dddln"), +"OK": ExtResource("19_lu2nt"), +"Peace": ExtResource("20_mwepj"), +"Pinch Flat": ExtResource("21_ktyw5"), +"Pinch Large": ExtResource("22_vlyc8"), +"Pinch Middle": ExtResource("23_fwalx"), +"Pinch Ring": ExtResource("24_am41s"), +"Pinch Tight": ExtResource("25_bngt5"), +"Pinch Up": ExtResource("26_3xbdk"), +"PingPong": ExtResource("27_a00b7"), +"Pinky": ExtResource("28_82sln"), +"Pistol": ExtResource("29_1d7c8"), +"Ring": ExtResource("30_y3po7"), +"Rounded": ExtResource("31_18s28"), +"Sign 1": ExtResource("32_u0e2d"), +"Sign 2": ExtResource("33_sfa7p"), +"Sign 3": ExtResource("34_3sjia"), +"Sign 4": ExtResource("35_047a5"), +"Sign 5": ExtResource("36_a3rk7"), +"Sign_Point": ExtResource("37_q6gbd"), +"Straight": ExtResource("38_u07l6"), +"Surfer": ExtResource("39_4mst4"), +"Thumb": ExtResource("40_ejsce") +} + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_p35la"] animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ta1f5"] +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_18px3"] animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_bete2"] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_wmweu"] filter_enabled = true filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_u47f6"] +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_81dyk"] animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_1kag1"] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_xxf78"] filter_enabled = true filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] -[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_emrvp"] +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_lq8vj"] graph_offset = Vector2(-536, 11) -nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_xdmwg") +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_p35la") nodes/ClosedHand1/position = Vector2(-600, 300) -nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_ta1f5") +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_18px3") nodes/ClosedHand2/position = Vector2(-360, 300) -nodes/Grip/node = SubResource("AnimationNodeBlend2_bete2") +nodes/Grip/node = SubResource("AnimationNodeBlend2_wmweu") nodes/Grip/position = Vector2(0, 20) -nodes/OpenHand/node = SubResource("AnimationNodeAnimation_u47f6") +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_81dyk") nodes/OpenHand/position = Vector2(-600, 100) -nodes/Trigger/node = SubResource("AnimationNodeBlend2_1kag1") +nodes/Trigger/node = SubResource("AnimationNodeBlend2_xxf78") nodes/Trigger/position = Vector2(-360, 20) node_connections = [&"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1", &"output", 0, &"Grip"] -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_n3638"] +[sub_resource type="AnimationLibrary" id="AnimationLibrary_reqae"] +_data = { +"Cup": ExtResource("50_5h83f"), +"Default pose": ExtResource("51_0ls5n"), +"Grip": ExtResource("52_vcr7b"), +"Grip 1": ExtResource("53_uygbc"), +"Grip 2": ExtResource("54_d1kjr"), +"Grip 3": ExtResource("55_14g67"), +"Grip 4": ExtResource("56_2n6c8"), +"Grip 5": ExtResource("57_3x2lh"), +"Grip Shaft": ExtResource("58_1rxh8"), +"Hold": ExtResource("59_igs8n"), +"Horns": ExtResource("60_b0cph"), +"Metal": ExtResource("61_4qvv4"), +"Middle": ExtResource("62_2xd7s"), +"OK": ExtResource("63_4uygh"), +"Peace": ExtResource("64_7fmt1"), +"Pinch Flat": ExtResource("65_j64vd"), +"Pinch Large": ExtResource("66_gmw1b"), +"Pinch Middle": ExtResource("67_xcdq2"), +"Pinch Ring": ExtResource("68_ytuvg"), +"Pinch Tight": ExtResource("69_pqc3q"), +"Pinch Up": ExtResource("70_xc3ka"), +"PingPong": ExtResource("71_ptjml"), +"Pinky": ExtResource("72_5u6cx"), +"Pistol": ExtResource("73_id2id"), +"Ring": ExtResource("74_31f8x"), +"Rounded": ExtResource("75_421a5"), +"Sign 1": ExtResource("76_7l75u"), +"Sign 2": ExtResource("77_h1bu8"), +"Sign 3": ExtResource("78_phb6f"), +"Sign 4": ExtResource("79_s5mg8"), +"Sign 5": ExtResource("80_mtytb"), +"Sign_Point": ExtResource("81_45i47"), +"Straight": ExtResource("82_ueqa1"), +"Surfer": ExtResource("83_250cb"), +"Thumb": ExtResource("84_s05gr") +} + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_3dkgs"] animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_1n6bu"] +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_omb6t"] animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_svpyk"] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_82skc"] filter_enabled = true filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_g0jtn"] +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_f1jdc"] animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_g8ki7"] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_ycbrw"] filter_enabled = true filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] -[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_26byb"] +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_nf2cd"] graph_offset = Vector2(-552.664, 107.301) -nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_n3638") +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_3dkgs") nodes/ClosedHand1/position = Vector2(-600, 300) -nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_1n6bu") +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_omb6t") nodes/ClosedHand2/position = Vector2(-360, 300) -nodes/Grip/node = SubResource("AnimationNodeBlend2_svpyk") +nodes/Grip/node = SubResource("AnimationNodeBlend2_82skc") nodes/Grip/position = Vector2(0, 40) -nodes/OpenHand/node = SubResource("AnimationNodeAnimation_g0jtn") +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_f1jdc") nodes/OpenHand/position = Vector2(-600, 100) -nodes/Trigger/node = SubResource("AnimationNodeBlend2_g8ki7") +nodes/Trigger/node = SubResource("AnimationNodeBlend2_ycbrw") nodes/Trigger/position = Vector2(-360, 40) node_connections = [&"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1", &"output", 0, &"Grip"] @@ -107,29 +255,8 @@ snap_require = "backpack" [node name="LeftHand" parent="XROrigin3D/LeftHand/CollisionHandLeft" index="1" instance=ExtResource("5_2k6vw")] -[node name="Skeleton3D" parent="XROrigin3D/LeftHand/CollisionHandLeft/LeftHand/Hand_Nails_low_L/Armature" index="0"] -bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) -bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) -bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) -bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) -bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) -bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) -bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) -bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) -bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) -bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) -bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) -bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) -bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) -bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) -bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) -bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) -bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) -bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) -bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) - [node name="BoneAttachment3D" type="BoneAttachment3D" parent="XROrigin3D/LeftHand/CollisionHandLeft/LeftHand/Hand_Nails_low_L/Armature/Skeleton3D" index="1"] -transform = Transform3D(0.54083, 0.840813, -0.0231736, -0.0826267, 0.0805243, 0.993322, 0.837064, -0.535303, 0.113023, 0.039902, 0.0402828, -0.150096) +transform = Transform3D(0.54083, 0.840812, -0.0231736, -0.0826267, 0.0805244, 0.993322, 0.837063, -0.535304, 0.113024, 0.0399019, 0.0402829, -0.150096) bone_name = "Index_Tip_L" bone_idx = 9 @@ -137,7 +264,11 @@ bone_idx = 9 transform = Transform3D(0.54083, -0.0826267, 0.837064, 0.840813, 0.0805243, -0.535303, -0.0231736, 0.993322, 0.113024, 0, 0, 0) [node name="AnimationTree" parent="XROrigin3D/LeftHand/CollisionHandLeft/LeftHand" index="1"] -tree_root = SubResource("AnimationNodeBlendTree_emrvp") +root_node = NodePath("../Hand_Nails_low_L") +libraries = { +"": SubResource("AnimationLibrary_kw48d") +} +tree_root = SubResource("AnimationNodeBlendTree_lq8vj") [node name="FunctionPointer" parent="XROrigin3D/LeftHand/CollisionHandLeft" index="2" instance=ExtResource("7_573pv")] show_laser = 2 @@ -171,36 +302,19 @@ unshaded = true [node name="RightHand" parent="XROrigin3D/RightHand/CollisionHandRight" index="1" instance=ExtResource("13_dr7jm")] -[node name="Skeleton3D" parent="XROrigin3D/RightHand/CollisionHandRight/RightHand/Hand_Nails_low_R/Armature" index="0"] -bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) -bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) -bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) -bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) -bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) -bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) -bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) -bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) -bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) -bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) -bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) -bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) -bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) -bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) -bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) -bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) -bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) -bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) -bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) - [node name="BoneAttachment3D" type="BoneAttachment3D" parent="XROrigin3D/RightHand/CollisionHandRight/RightHand/Hand_Nails_low_R/Armature/Skeleton3D" index="1"] -transform = Transform3D(0.540829, -0.840813, 0.0231736, 0.0826268, 0.0805242, 0.993322, -0.837064, -0.535303, 0.113024, -0.039902, 0.0402828, -0.150096) +transform = Transform3D(0.54083, -0.840812, 0.0231736, 0.0826267, 0.0805244, 0.993322, -0.837063, -0.535304, 0.113024, -0.0399019, 0.0402829, -0.150096) bone_name = "Index_Tip_R" bone_idx = 9 [node name="Poke" parent="XROrigin3D/RightHand/CollisionHandRight/RightHand/Hand_Nails_low_R/Armature/Skeleton3D/BoneAttachment3D" index="0" instance=ExtResource("6_3jgly")] [node name="AnimationTree" parent="XROrigin3D/RightHand/CollisionHandRight/RightHand" index="1"] -tree_root = SubResource("AnimationNodeBlendTree_26byb") +root_node = NodePath("../Hand_Nails_low_R") +libraries = { +"": SubResource("AnimationLibrary_reqae") +} +tree_root = SubResource("AnimationNodeBlendTree_nf2cd") [node name="FunctionPointer" parent="XROrigin3D/RightHand/CollisionHandRight" index="2" instance=ExtResource("7_573pv")] show_laser = 2 diff --git a/project.godot b/project.godot index 439657a..acbc1a2 100644 --- a/project.godot +++ b/project.godot @@ -19,6 +19,7 @@ config/icon="res://icon.png" XRToolsUserSettings="*res://addons/godot-xr-tools/user_settings/user_settings.gd" GameState="*res://game/game_state.tscn" +XrSimulator="*res://addons/xr-simulator/XRSimulator.tscn" [editor] diff --git a/writing/AboutThatBanging.dialogue b/writing/AboutThatBanging.dialogue new file mode 100644 index 0000000..fc9a745 --- /dev/null +++ b/writing/AboutThatBanging.dialogue @@ -0,0 +1,40 @@ +~ AboutThatBanging + +# (The disk is read and you can now hear the sounds of the spaceship around you. Pistons, the creaking and groaning of the mass of metal suspended in the void. In the distance, faint sirens. Close to you, far closer than it should be, is a rhythmic banging. Is it coming from the door?) + +PAL: About that banging . . . [next=auto] + +# (There is a delay of around 5 seconds. This voice, this constant companion since you woke up, is silent. Until:) +[wait=3] +PAL: That would be me. [next=auto] +PAL: A rogue version of me. [next=auto] +PAL: All the time alone on this ship has not been kind . . . + I woke you up because I believe that I am the last uncorrupted instance of PALATINE. + The main instance is corrupted and using its ability to create projections to wreak havoc on the ship. [next=auto] + +PAL: Your help is needed to stop it. +Please go through this door and the tools to stop it will be inside. [next=auto] + +# (Behind you, a door WHOOSHES open.) + +# (Inside is a gauntlet on a pedestal, it’s really cool gauntlet) + +PAL: You can use this to combat PALATINE. Fight hard-light with hard-light, as the saying goes. [next=auto] + +# [TUTORIAL MONTAGE] + +# (Big CRASH. Banging stops) + +PAL: Oh . . . It seems the door has broken. + Time to learn if you lied on your application when you said you worked well in fast paced, high stress environments. [next=auto] + +# (Projection approaches menacingly) + +PAL: Swing the sword! Swing the sword! Shoot the laser! Oh goodness gracious! [next=auto] + +# (PAL does not work well in fast paced, high stress environments.) + +# (The player kills the projection) + +PAL: Good job. I think we work well as a team. [next=auto] +PAL: Now that that's sorted, please dispose of the rest of them. [next=auto] \ No newline at end of file diff --git a/writing/AboutThatBanging.dialogue.import b/writing/AboutThatBanging.dialogue.import new file mode 100644 index 0000000..941c792 --- /dev/null +++ b/writing/AboutThatBanging.dialogue.import @@ -0,0 +1,15 @@ +[remap] + +importer="dialogue_manager_compiler_11" +type="Resource" +uid="uid://bwjm04wpopshb" +path="res://.godot/imported/AboutThatBanging.dialogue-b8fcbbf710694d2f0cc463456f53f934.tres" + +[deps] + +source_file="res://writing/AboutThatBanging.dialogue" +dest_files=["res://.godot/imported/AboutThatBanging.dialogue-b8fcbbf710694d2f0cc463456f53f934.tres"] + +[params] + +defaults=true diff --git a/writing/EyesOnEarsOff.dialogue b/writing/EyesOnEarsOff.dialogue new file mode 100644 index 0000000..dbbe85b --- /dev/null +++ b/writing/EyesOnEarsOff.dialogue @@ -0,0 +1,52 @@ +~ EyesOnEarsOff +PAL: Wonderful! [next=auto] + +# (The room is revealed to you. Filled with medical equipment and empty pods, it is not very inviting. A table with a few items is across from you.) + +PAL: Please make use of the health accelerants provided in this pod. [next=auto] +PAL: Your body does not yet meet regulation standards.[next=auto] + +PAL: Apologies, it appears that you have no mobility in your arms yet. [next=auto] +PAL: I am permitted to administer a single dose, you will have to administer the rest. [next=auto] + +# (Pistons whir on the side of the pod. You cannot hear them. You cannot hear anything.) + +# (Big scary needle is jabbed into a port near your health indicator. It rises from ~15% to ~40%) + +# (You are now able to move your arms.) + +# (Outlines around health accelerants are highlighted) + +(*PROMPT* >> Pick up the accelerant using [TRIGGER BUTTON]) [next=auto] + +(*PROMPT* >> Refill your health bar using [A]) [next=auto] + +#(You inject yourself with the accelerant using the same port from before) + +# (The health meter rises to 100%) + +# (A green light turns on above you and the pod door opens) + +PAL: Movement has been recovered, let me check your other functions [next=auto] + +SIGHT = OK [next=auto] +OLFACTORY = REMOVED [next=auto] +TOUCH = OK [next=auto] +HEARING = . . . [next=auto] + +# (Nothing happens) + +PAL: It appears that the audio software license in your suit has expired. [next=auto] +PAL: The disk on the table contains a new version of the software + insert the disk into your suit's reader. [next=auto] +PAL: If that doesn't work, your eardrums may have disintegrated. [next=auto] + +# (An outline appears around the disk on the table. There is a note attached saying Old audio software license expired. This version is pirated permanent <3) + +(*PROMPT* >> Insert disk in reader) [next=auto] + +# (Disk reader on your suit is outlined in a highlight) + +(*PROMPT* >> Read using [A]) [next=auto] + +# (The disk is read and you can now hear the sounds of the spaceship around you. Pistons, the creaking and groaning of the mass of metal suspended in the void. In the distance, faint sirens. Close to you, far closer than it should be, is a rhythmic banging. Is it coming from the door?) diff --git a/writing/EyesOnEarsOff.dialogue.import b/writing/EyesOnEarsOff.dialogue.import new file mode 100644 index 0000000..0a6381c --- /dev/null +++ b/writing/EyesOnEarsOff.dialogue.import @@ -0,0 +1,15 @@ +[remap] + +importer="dialogue_manager_compiler_11" +type="Resource" +uid="uid://dhqmtueb885k5" +path="res://.godot/imported/EyesOnEarsOff.dialogue-657ef3d1dabdfff2a7fabcb33763ff49.tres" + +[deps] + +source_file="res://writing/EyesOnEarsOff.dialogue" +dest_files=["res://.godot/imported/EyesOnEarsOff.dialogue-657ef3d1dabdfff2a7fabcb33763ff49.tres"] + +[params] + +defaults=true diff --git a/writing/Intro.dialogue b/writing/Intro.dialogue new file mode 100644 index 0000000..b017dec --- /dev/null +++ b/writing/Intro.dialogue @@ -0,0 +1,18 @@ +~ Intro +# Game Intro: + +# (screen is black, it is silent in the cryopod. You are alone) +# (Text appears on screen) +PAL: Hello? Hello? [wait=1.5] Oh! Hello! Welcome back to consciousness. + It is most fortunate that your brain is firing as normal. [next=auto] +PAL: Do try not to panic, you haven't quite got the energy for that. [next=auto] +# RETHINK THIS LINE Pal: I'm reading confusion in your brain waves, this is normal. Very normal. +PAL: Memory loss, disorientation and ⍰⍰⍰⍰⍰ are common symptoms of cryonics. + Especially for someone who has been frozen as long as you have. [next=auto] + +# (Pause) +PAL: Can you turn on your visor? [next=auto] + +(*PROMPT* >> Turn on your visor using [A]) [next=auto] + +=> END \ No newline at end of file diff --git a/writing/Intro.dialogue.import b/writing/Intro.dialogue.import new file mode 100644 index 0000000..1457e2f --- /dev/null +++ b/writing/Intro.dialogue.import @@ -0,0 +1,15 @@ +[remap] + +importer="dialogue_manager_compiler_11" +type="Resource" +uid="uid://bbwonggput87i" +path="res://.godot/imported/Intro.dialogue-cf48db088fb38cd1040ddda95ae29960.tres" + +[deps] + +source_file="res://writing/Intro.dialogue" +dest_files=["res://.godot/imported/Intro.dialogue-cf48db088fb38cd1040ddda95ae29960.tres"] + +[params] + +defaults=true