diff --git a/Game.exr b/Game.exr new file mode 100644 index 0000000..b7f5c48 Binary files /dev/null and b/Game.exr differ diff --git a/Game.exr.import b/Game.exr.import new file mode 100644 index 0000000..3369a5a --- /dev/null +++ b/Game.exr.import @@ -0,0 +1,28 @@ +[remap] + +importer="2d_array_texture" +type="CompressedTexture2DArray" +uid="uid://djhovwrdokme0" +path.etc2="res://.godot/imported/Game.exr-72bd638e1628ca77f007b851e1ccfc0d.etc2.ctexarray" +path.s3tc="res://.godot/imported/Game.exr-72bd638e1628ca77f007b851e1ccfc0d.s3tc.ctexarray" +metadata={ +"imported_formats": ["etc2", "s3tc"], +"vram_texture": true +} + +[deps] + +source_file="res://Game.exr" +dest_files=["res://.godot/imported/Game.exr-72bd638e1628ca77f007b851e1ccfc0d.etc2.ctexarray", "res://.godot/imported/Game.exr-72bd638e1628ca77f007b851e1ccfc0d.s3tc.ctexarray"] + +[params] + +compress/mode=2 +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/bptc_ldr=0 +compress/channel_pack=1 +mipmaps/generate=false +mipmaps/limit=-1 +slices/horizontal=1 +slices/vertical=1 diff --git a/Game.gd b/Game.gd index 99a2d65..d9bb3b6 100644 --- a/Game.gd +++ b/Game.gd @@ -9,7 +9,7 @@ func _ready(): Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) -func _process(delta): +func _process(_delta): label.text = "H Velocity: %3.2f" % [Vector2(player.velocity.x, player.velocity.z).length()] label.text += "\nV Velocity: %3.2f" % [player.velocity.y] label.text += "\nOn floor: %s" % player.is_on_floor() diff --git a/Game.lmbake b/Game.lmbake new file mode 100644 index 0000000..1ea16a0 Binary files /dev/null and b/Game.lmbake differ diff --git a/Game.tscn b/Game.tscn index 8d944f5..b5994fc 100644 --- a/Game.tscn +++ b/Game.tscn @@ -1,22 +1,51 @@ -[gd_scene load_steps=4 format=3 uid="uid://chf6bnj13f744"] +[gd_scene load_steps=8 format=3 uid="uid://cqutof7bvocqc"] -[ext_resource type="PackedScene" uid="uid://c65plp2c8ms4" path="res://player_q3/PlayerQ3.tscn" id="1"] +[ext_resource type="LightmapGIData" uid="uid://k5haifo34pp6" path="res://Game.lmbake" id="2_3k1jt"] +[ext_resource type="PackedScene" uid="uid://bl7jynld7s25o" path="res://scenes/player/PlayerQ3.tscn" id="2_dhifo"] [ext_resource type="Script" path="res://Game.gd" id="3"] -[ext_resource type="PackedScene" uid="uid://bke5cip8sjpoq" path="res://map/entity_0_worldspawn.tscn" id="4"] +[ext_resource type="PackedScene" uid="uid://bke5cip8sjpoq" path="res://scenes/map/entity_0_worldspawn.tscn" id="3_3r3q4"] + +[sub_resource type="PhysicalSkyMaterial" id="PhysicalSkyMaterial_mv01y"] + +[sub_resource type="Sky" id="Sky_ybtis"] +sky_material = SubResource("PhysicalSkyMaterial_mv01y") + +[sub_resource type="Environment" id="Environment_ul6y4"] +background_mode = 2 +sky = SubResource("Sky_ybtis") +ambient_light_source = 3 +reflected_light_source = 2 +tonemap_mode = 2 +tonemap_exposure = 2.0 [node name="Game" type="Node3D"] script = ExtResource("3") +[node name="LightmapGI" type="LightmapGI" parent="."] +visible = false +quality = 2 +bounces = 6 +light_data = ExtResource("2_3k1jt") + +[node name="LightmapProbe" type="LightmapProbe" parent="."] +visible = false + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_ul6y4") + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(0.77938, 0.395123, -0.486256, 0.383799, 0.312364, 0.86898, 0.495243, -0.86389, 0.0918022, 0, 22.9909, 0) +light_indirect_energy = 1.5 +light_bake_mode = 1 +shadow_enabled = true + +[node name="entity_0_worldspawn" parent="." instance=ExtResource("3_3r3q4")] + [node name="CanvasLayer" type="CanvasLayer" parent="."] [node name="Label" type="Label" parent="CanvasLayer"] offset_right = 40.0 offset_bottom = 14.0 -[node name="entity_0_worldspawn" parent="." instance=ExtResource("4")] - -[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] -transform = Transform3D(1, 0, 0, 0, -0.0303989, 0.999538, 0, -0.999538, -0.0303989, 0, 25.1267, 0) - -[node name="PlayerQ3" parent="." instance=ExtResource("1")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.0882, 1, -0.869213) +[node name="PlayerQ3" parent="." instance=ExtResource("2_dhifo")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.6672, 11.2181) diff --git a/addons/godot_sfxr/GodotSfxr.gd b/addons/godot_sfxr/GodotSfxr.gd new file mode 100644 index 0000000..7144fc3 --- /dev/null +++ b/addons/godot_sfxr/GodotSfxr.gd @@ -0,0 +1,20 @@ +@tool +extends EditorPlugin + + +func _enter_tree() -> void: + add_custom_type( + "SfxrStreamPlayer", "AudioStreamPlayer", load("res://addons/godot_sfxr/SfxrStreamPlayer.gd"), + get_editor_interface().get_base_control().get_theme_icon("AudioStreamPlayer", "EditorIcons")) + add_custom_type( + "SfxrStreamPlayer2D", "AudioStreamPlayer2D", load("res://addons/godot_sfxr/SfxrStreamPlayer2D.gd"), + get_editor_interface().get_base_control().get_theme_icon("AudioStreamPlayer2D", "EditorIcons")) + add_custom_type( + "SfxrStreamPlayer3D", "AudioStreamPlayer3D", load("res://addons/godot_sfxr/SfxrStreamPlayer3D.gd"), + get_editor_interface().get_base_control().get_theme_icon("AudioStreamPlayer3D", "EditorIcons")) + + +func _exit_tree() -> void: + remove_custom_type("SfxrStreamPlayer") + remove_custom_type("SfxrStreamPlayer2D") + remove_custom_type("SfxrStreamPlayer3D") diff --git a/addons/godot_sfxr/SfxrGenerator.gd b/addons/godot_sfxr/SfxrGenerator.gd new file mode 100644 index 0000000..10f124b --- /dev/null +++ b/addons/godot_sfxr/SfxrGenerator.gd @@ -0,0 +1,309 @@ +extends RefCounted +class_name SfxrGenerator + + +var params + +var wave_shape: int + +var repeat_time: float +var elapsed_since_repeat: float + +var arpeggio_time: int +var arpeggio_multiplier: float + +var period: float +var period_mult: float +var period_mult_slide: float +var period_max: float + +var enable_frequency_cutoff: bool + +var duty_cycle: float +var duty_cycle_slide: float + +var fltw: float +var fltw_d: float +var fltdmp: float +var flthp: float +var flthp_d: float +var enable_low_pass_filter: bool + +var vibrato_speed: float +var vibrato_amplitude: float + +var envelope_length: Array +var envelope_punch: float + +var flanger_offset: float +var flanger_offset_slide: float + +var gain: float +var sample_rate: float + + +func init_params(stream_player) -> void: + params = stream_player + + prepare_values() + + # Wave shape + wave_shape = params.wave_type + + # Filter + fltw = pow(params.p_lpf_freq, 3.0) * 0.1 + enable_low_pass_filter = params.p_lpf_freq != 1.0 + fltw_d = 1.0 + params.p_lpf_ramp * 0.0001 + fltdmp = 5.0 / (1.0 + pow(params.p_lpf_resonance, 2.0) * 20.0) * (0.01 + fltw) + if (fltdmp > 0.8): + fltdmp = 0.8 + flthp = pow(params.p_hpf_freq, 2.0) * 0.1 + flthp_d = 1 + params.p_hpf_ramp * 0.0003 + + # Vibrato + vibrato_speed = pow(params.p_vib_speed, 2.0) * 0.01 + vibrato_amplitude = params.p_vib_strength * 0.5 + + # Envelope + envelope_length = [ + floor(params.p_env_attack * params.p_env_attack * 100000.0), + floor(params.p_env_sustain * params.p_env_sustain * 100000.0), + floor(params.p_env_decay * params.p_env_decay * 100000.0), + ] + envelope_punch = params.p_env_punch + + # Flanger + flanger_offset = pow(params.p_pha_offset, 2.0) * 1020.0 + if (params.p_pha_offset < 0.0): + flanger_offset = -flanger_offset + flanger_offset_slide = pow(params.p_pha_ramp, 2.0) * 1.0 + if (params.p_pha_ramp < 0.0): + flanger_offset_slide = -flanger_offset_slide + + # Repeat + repeat_time = floor(pow(1 - params.p_repeat_speed, 2.0) * 20000.0 + 32.0) + if (params.p_repeat_speed == 0.0): + repeat_time = 0.0 + + gain = exp(params.sound_vol) - 1.0 + sample_rate = params.sample_rate + + +func prepare_values() -> void: + elapsed_since_repeat = 0.0 + + period = 100.0 / (params.p_base_freq * params.p_base_freq + 0.001) + period_max = 100.0 / (params.p_freq_limit * params.p_freq_limit + 0.001) + enable_frequency_cutoff = params.p_freq_limit > 0.0 + period_mult = 1.0 - pow(params.p_freq_ramp, 3.0) * 0.01 + period_mult_slide = -pow(params.p_freq_dramp, 3.0) * 0.000001 + + duty_cycle = 0.5 - params.p_duty * 0.5 + duty_cycle_slide = -params.p_duty_ramp * 0.00005 + + if (params.p_arp_mod >= 0.0): + arpeggio_multiplier = 1.0 - pow(params.p_arp_mod, 2.0) * 0.9 + else: + arpeggio_multiplier = 1.0 + pow(params.p_arp_mod, 2.0) * 10.0 + arpeggio_time = floor(pow(1.0 - params.p_arp_speed, 2.0) * 20000.0 + 32.0) + if (params.p_arp_speed == 1.0): + arpeggio_time = 0 + + +func get_raw_buffer() -> Array: + randomize() + + var fltp: float = 0.0 + var fltdp: float = 0.0 + var fltphp: float = 0.0 + + var noise_buffer_length: int = 32 + var noise_buffer: Array = [] + for i in noise_buffer_length: + noise_buffer.append(randf() * 2.0 - 1.0) + + var envelope_stage: int = 0 + var envelope_elapsed: float = 0.0 + + var vibrato_phase: float = 0.0 + + var phase: int = 0 + var ipp: int = 0 + var flanger_buffer_length: int = 1024 + var flanger_buffer: Array = [] + for i in flanger_buffer_length: + flanger_buffer.append(0.0) + + var _buffer: Array = [] + + var sample_sum: float = 0.0 + var num_summed: float = 0.0 + var summands: int = floor(44100.0 / sample_rate) + + var t: float = -1.0 + while t < INF: + t += 1 + + # Repeats + elapsed_since_repeat += 1.0 + if (repeat_time != 0.0 and elapsed_since_repeat >= repeat_time): + prepare_values() + + # Arpeggio (single) + if (arpeggio_time != 0 and t >= arpeggio_time): + arpeggio_time = 0 + period *= arpeggio_multiplier + + # Frequency slide, and frequency slide slide! + period_mult += period_mult_slide + period *= period_mult + if (period > period_max): + period = period_max + if (enable_frequency_cutoff): + break + + # Vibrato + var rfperiod: float = period + if (vibrato_amplitude > 0.0): + vibrato_phase += vibrato_speed + rfperiod = period * (1.0 + sin(vibrato_phase) * vibrato_amplitude) + var iperiod: int = floor(rfperiod) + if (iperiod < SfxrGlobals.OVERSAMPLING): + iperiod = SfxrGlobals.OVERSAMPLING + + # Square wave duty cycle + duty_cycle = duty_cycle + duty_cycle_slide + if (duty_cycle > 0.5): + duty_cycle = 0.5 + elif (duty_cycle < 0.0): + duty_cycle = 0.0 + + # Volume envelope + envelope_elapsed += 1.0 + if (envelope_elapsed > envelope_length[envelope_stage]): + envelope_elapsed = 0.0 + envelope_stage += 1.0 + if (envelope_stage > 2.0): + break + + if (envelope_length[envelope_stage] == 0): + continue + + var env_vol: float = 0.0 + var envf: float = envelope_elapsed / envelope_length[envelope_stage] + if (envelope_stage == 0.0): # Attack + env_vol = envf + elif (envelope_stage == 1.0): # Sustain + env_vol = 1.0 + (1.0 - envf) * 2.0 * envelope_punch + else: # Decay + env_vol = 1.0 - envf + + # Flanger step + flanger_offset += flanger_offset_slide + var iphase: int = abs(floor(flanger_offset)) + if (iphase > 1023): + iphase = 1023 + + if (flthp_d != 0.0): + flthp = flthp * flthp_d + if (flthp > 0.1): + flthp = 0.1 + elif (flthp < 0.00001): + flthp = 0.00001 + + # 8x Oversampling + var sample: float = 0.0 + for i in SfxrGlobals.OVERSAMPLING: + var sub_sample: float = 0.0 + phase += 1 + if (phase >= iperiod): + phase %= iperiod + if (wave_shape == SfxrGlobals.WAVE_SHAPES.NOISE): + for j in noise_buffer_length: + noise_buffer[i] = randf() * 2.0 - 1.0 + + # Base waveform + var fp: float = float(phase) / float(iperiod) + if (wave_shape == SfxrGlobals.WAVE_SHAPES.SQUARE): + if (fp < duty_cycle): + sub_sample = 0.5 + else: + sub_sample = -0.5 + elif (wave_shape == SfxrGlobals.WAVE_SHAPES.SAWTOOTH): + if (fp < duty_cycle): + sub_sample = -1.0 + 2.0 * fp / duty_cycle + else: + sub_sample = 1.0 - 2.0 * (fp - duty_cycle) / (1 - duty_cycle) + elif (wave_shape == SfxrGlobals.WAVE_SHAPES.SINE): + sub_sample = sin(fp * 2.0 * PI) + elif (wave_shape == SfxrGlobals.WAVE_SHAPES.NOISE): + sub_sample = noise_buffer[int(floor(phase * 32.0 / iperiod))] + else: + printerr("ERROR: Bad wave type: " + str(wave_shape)) + sub_sample = 0 + + # Low-pass filter + var pp: float = fltp + fltw *= fltw_d + if (fltw > 0.1): + fltw = 0.1 + elif (fltw < 0.0): + fltw = 0.0 + if (enable_low_pass_filter): + fltdp += (sub_sample - fltp) * fltw + fltdp -= fltdp * fltdmp + else: + fltp = sub_sample + fltdp = 0.0 + fltp += fltdp + + # High-pass filter + fltphp += fltp - pp + fltphp -= fltphp * flthp + sub_sample = fltphp + + # Flanger + flanger_buffer[ipp & 1023] = sub_sample + sub_sample += flanger_buffer[(ipp - iphase + 1024) & 1023] + + ipp = (ipp + 1) & 1023 + + # Final accumulation and envelope application + sample += sub_sample * env_vol + + # Accumulate samples appropriately for sample rate + sample_sum += sample + num_summed += 1.0 + if (num_summed >= summands): + num_summed = 0.0 + sample = sample_sum / summands + sample_sum = 0.0 + else: + continue + + sample = sample / SfxrGlobals.OVERSAMPLING * SfxrGlobals.MASTER_VOLUME + sample *= gain + + sample = floor((sample + 1) * 128) + if (sample > 255): + sample = 255; + elif (sample < 0): + sample = 0 + sample += 128 + if sample > 255: + sample -= 255 + + _buffer.append(sample) + + return _buffer + + +func build_sample(stream_player): + init_params(stream_player) + var sample: AudioStreamWAV = stream_player.stream + if (not sample): + stream_player.stream = AudioStreamWAV.new() + sample = stream_player.stream + sample.mix_rate = sample_rate + sample.data = PackedByteArray(get_raw_buffer()) + return sample diff --git a/addons/godot_sfxr/SfxrGlobals.gd b/addons/godot_sfxr/SfxrGlobals.gd new file mode 100644 index 0000000..18d2c20 --- /dev/null +++ b/addons/godot_sfxr/SfxrGlobals.gd @@ -0,0 +1,30 @@ +extends Object +class_name SfxrGlobals + + +enum WAVE_SHAPES { + SQUARE, + SAWTOOTH, + SINE, + NOISE, +} + +enum PRESETS { + NONE, + PICKUP, + LASER, + EXPLOSION, + POWERUP, + HIT, + JUMP, + CLICK, + BLIP, + SYNTH, + RANDOM, + TONE, + MUTATE, +} + +const OVERSAMPLING = 8 + +const MASTER_VOLUME = 1 diff --git a/addons/godot_sfxr/SfxrStreamPlayer.gd b/addons/godot_sfxr/SfxrStreamPlayer.gd new file mode 100644 index 0000000..8d705a4 --- /dev/null +++ b/addons/godot_sfxr/SfxrStreamPlayer.gd @@ -0,0 +1,119 @@ +@tool +extends AudioStreamPlayer + + +# Wave Shape +var wave_type: int + +# Envelope +var p_env_attack: float +var p_env_sustain: float +var p_env_punch: float +var p_env_decay: float + +# Tone +var p_base_freq: float +var p_freq_limit: float +var p_freq_ramp: float +var p_freq_dramp: float + +# Vibrato +var p_vib_strength: float +var p_vib_speed: float + +# Tonal Change +var p_arp_mod: float +var p_arp_speed: float + +# Square wve duty (proportion of time signal is high vs low) +var p_duty: float +var p_duty_ramp: float + +# Repeat +var p_repeat_speed: float + +# Flanger +var p_pha_offset: float +var p_pha_ramp: float + +# Low-pass filter +var p_lpf_freq: float +var p_lpf_ramp: float +var p_lpf_resonance: float + +# High-pass filter +var p_hpf_freq: float +var p_hpf_ramp: float + +# Sample parameters +var sound_vol: float +var sample_rate: float + +# Sfx Generation +var sfx_timer: SceneTreeTimer + + +################################## +# Inspector Properties +################################## + + +func _get_property_list() -> Array: + return SfxrStreamPlayerInterface.object_get_property_list() + + +func _get(property): + return SfxrStreamPlayerInterface.object_get(self, property) + + +func _set(property, value) -> bool: + return SfxrStreamPlayerInterface.object_set(self, property, value) + + +################################## +# Defaults +################################## + + +func _init(): + SfxrStreamPlayerInterface.object_set_defaults(self) + + +func property_can_revert(property: String): + return SfxrStreamPlayerInterface.object_property_can_revert(property) + + +func property_get_revert(property: String): + return SfxrStreamPlayerInterface.object_property_get_revert(property) + + +################################## +# Presets +################################## + + +func random_preset() -> bool: + return SfxrStreamPlayerInterface.random_preset(self) + + +func preset_values(preset_key: int) -> bool: + return SfxrStreamPlayerInterface.preset_values(self, preset_key) + + +################################## +# Playback +################################## + + +func _on_sfx_timer_timeout(timer: SceneTreeTimer, play_after_build: bool): + SfxrStreamPlayerInterface._on_sfx_timer_timeout(self, timer, play_after_build) + + +func build_sfx(play_after_build: bool = false): + SfxrStreamPlayerInterface.build_sfx(self, play_after_build) + + +func play(from_position: float = 0.0): + if playing: + stop() + super.play(from_position) diff --git a/addons/godot_sfxr/SfxrStreamPlayer2D.gd b/addons/godot_sfxr/SfxrStreamPlayer2D.gd new file mode 100644 index 0000000..80fb32c --- /dev/null +++ b/addons/godot_sfxr/SfxrStreamPlayer2D.gd @@ -0,0 +1,119 @@ +@tool +extends AudioStreamPlayer2D + + +# Wave Shape +var wave_type: int + +# Envelope +var p_env_attack: float +var p_env_sustain: float +var p_env_punch: float +var p_env_decay: float + +# Tone +var p_base_freq: float +var p_freq_limit: float +var p_freq_ramp: float +var p_freq_dramp: float + +# Vibrato +var p_vib_strength: float +var p_vib_speed: float + +# Tonal Change +var p_arp_mod: float +var p_arp_speed: float + +# Square wve duty (proportion of time signal is high vs low) +var p_duty: float +var p_duty_ramp: float + +# Repeat +var p_repeat_speed: float + +# Flanger +var p_pha_offset: float +var p_pha_ramp: float + +# Low-pass filter +var p_lpf_freq: float +var p_lpf_ramp: float +var p_lpf_resonance: float + +# High-pass filter +var p_hpf_freq: float +var p_hpf_ramp: float + +# Sample parameters +var sound_vol: float +var sample_rate: float + +# Sfx Generation +var sfx_timer: SceneTreeTimer + + +################################## +# Inspector Properties +################################## + + +func _get_property_list() -> Array: + return SfxrStreamPlayerInterface.object_get_property_list() + + +func _get(property): + return SfxrStreamPlayerInterface.object_get(self, property) + + +func _set(property, value) -> bool: + return SfxrStreamPlayerInterface.object_set(self, property, value) + + +################################## +# Defaults +################################## + + +func _init(): + SfxrStreamPlayerInterface.object_set_defaults(self) + + +func property_can_revert(property: String): + return SfxrStreamPlayerInterface.object_property_can_revert(property) + + +func property_get_revert(property: String): + return SfxrStreamPlayerInterface.object_property_get_revert(property) + + +################################## +# Presets +################################## + + +func random_preset() -> bool: + return SfxrStreamPlayerInterface.random_preset(self) + + +func preset_values(preset_key: int) -> bool: + return SfxrStreamPlayerInterface.preset_values(self, preset_key) + + +################################## +# Playback +################################## + + +func _on_sfx_timer_timeout(timer: SceneTreeTimer, play_after_build: bool): + SfxrStreamPlayerInterface._on_sfx_timer_timeout(self, timer, play_after_build) + + +func build_sfx(play_after_build: bool = false): + SfxrStreamPlayerInterface.build_sfx(self, play_after_build) + + +func play(from_position: float = 0.0): + if playing: + stop() + super.play(from_position) diff --git a/addons/godot_sfxr/SfxrStreamPlayer3D.gd b/addons/godot_sfxr/SfxrStreamPlayer3D.gd new file mode 100644 index 0000000..619964a --- /dev/null +++ b/addons/godot_sfxr/SfxrStreamPlayer3D.gd @@ -0,0 +1,119 @@ +@tool +extends AudioStreamPlayer3D + + +# Wave Shape +var wave_type: int + +# Envelope +var p_env_attack: float +var p_env_sustain: float +var p_env_punch: float +var p_env_decay: float + +# Tone +var p_base_freq: float +var p_freq_limit: float +var p_freq_ramp: float +var p_freq_dramp: float + +# Vibrato +var p_vib_strength: float +var p_vib_speed: float + +# Tonal Change +var p_arp_mod: float +var p_arp_speed: float + +# Square wve duty (proportion of time signal is high vs low) +var p_duty: float +var p_duty_ramp: float + +# Repeat +var p_repeat_speed: float + +# Flanger +var p_pha_offset: float +var p_pha_ramp: float + +# Low-pass filter +var p_lpf_freq: float +var p_lpf_ramp: float +var p_lpf_resonance: float + +# High-pass filter +var p_hpf_freq: float +var p_hpf_ramp: float + +# Sample parameters +var sound_vol: float +var sample_rate: float + +# Sfx Generation +var sfx_timer: SceneTreeTimer + + +################################## +# Inspector Properties +################################## + + +func _get_property_list() -> Array: + return SfxrStreamPlayerInterface.object_get_property_list() + + +func _get(property): + return SfxrStreamPlayerInterface.object_get(self, property) + + +func _set(property, value): + return SfxrStreamPlayerInterface.object_set(self, property, value) + + +################################## +# Defaults +################################## + + +func _init(): + SfxrStreamPlayerInterface.object_set_defaults(self) + + +func property_can_revert(property: String): + return SfxrStreamPlayerInterface.object_property_can_revert(property) + + +func property_get_revert(property: String): + return SfxrStreamPlayerInterface.object_property_get_revert(property) + + +################################## +# Presets +################################## + + +func random_preset() -> bool: + return SfxrStreamPlayerInterface.random_preset(self) + + +func preset_values(preset_key: int) -> bool: + return SfxrStreamPlayerInterface.preset_values(self, preset_key) + + +################################## +# Playback +################################## + + +func _on_sfx_timer_timeout(timer: SceneTreeTimer, play_after_build: bool): + SfxrStreamPlayerInterface._on_sfx_timer_timeout(self, timer, play_after_build) + + +func build_sfx(play_after_build: bool = false): + SfxrStreamPlayerInterface.build_sfx(self, play_after_build) + + +func play(from_position: float = 0.0): + if playing: + stop() + super.play(from_position) diff --git a/addons/godot_sfxr/SfxrStreamPlayerInterface.gd b/addons/godot_sfxr/SfxrStreamPlayerInterface.gd new file mode 100644 index 0000000..de41429 --- /dev/null +++ b/addons/godot_sfxr/SfxrStreamPlayerInterface.gd @@ -0,0 +1,477 @@ +extends Object +class_name SfxrStreamPlayerInterface + + +################################## +# Inspector Properties +################################## + + +const PROPERTY_MAP = { + # Sample params + "sample_params/sound_vol": {"name": "sound_vol", "hint_string": "0,1,0.000000001", "default": 0.25}, + "sample_params/sample_rate": {"name": "sample_rate", "hint_string": "6000,44100,1", "default": 44100.0}, + # Envelope + "envelope/attack_time": {"name": "p_env_attack", "hint_string": "0,1,0.000000001", "default": 0.0}, + "envelope/sustain_time": {"name": "p_env_sustain", "hint_string": "0,1,0.000000001", "default": 0.6641}, + "envelope/punch_time": {"name": "p_env_punch", "hint_string": "0,1,0.000000001", "default": 0.0}, + "envelope/decay_time": {"name": "p_env_decay", "hint_string": "0,1,0.000000001", "default": 0.0}, + # Frequency + "frequency/start_frequency": {"name": "p_base_freq", "hint_string": "0,1,0.000000001", "default": 0.35173364}, + "frequency/min_freq_cutoff": {"name": "p_freq_limit", "hint_string": "0,1,0.000000001", "default": 0.0}, + "frequency/slide": {"name": "p_freq_ramp", "hint_string": "-1,1,0.000000001", "default": 0.0}, + "frequency/delta_slide": {"name": "p_freq_dramp", "hint_string": "-1,1,0.000000001", "default": 0.0}, + # Vibrato + "vibrato/depth": {"name": "p_vib_strength", "hint_string": "0,1,0.000000001", "default": 0.0}, + "vibrato/speed": {"name": "p_vib_speed", "hint_string": "0,1,0.000000001", "default": 0.0}, + # Arpeggiation + "arpeggiation/frequency_mult": {"name": "p_arp_mod", "hint_string": "-1,1,0.000000001", "default": 0.0}, + "arpeggiation/change_speed": {"name": "p_arp_speed", "hint_string": "0,1,0.000000001", "default": 0.0}, + # Duty cycle + "duty_cycle/duty_cycle": {"name": "p_duty", "hint_string": "0,1,0.000000001", "default": 0.0}, + "duty_cycle/sweep": {"name": "p_duty_ramp", "hint_string": "-1,1,0.000000001", "default": 0.0}, + # Retrigger + "retrigger/rate": {"name": "p_repeat_speed", "hint_string": "0,1,0.000000001", "default": 0.0}, + # Flanger + "flanger/offset": {"name": "p_pha_offset", "hint_string": "-1,1,0.000000001", "default": 0.0}, + "flanger/sweep": {"name": "p_pha_ramp", "hint_string": "-1,1,0.000000001", "default": 0.0}, + # Low-pass filter + "low_pass_filter/cutoff_frequency": {"name": "p_lpf_freq", "hint_string": "0,1,0.000000001", "default": 1.0}, + "low_pass_filter/cutoff_sweep": {"name": "p_lpf_ramp", "hint_string": "-1,1,0.000000001", "default": 0.0}, + "low_pass_filter/resonance": {"name": "p_lpf_resonance", "hint_string": "0,1,0.000000001", "default": 0.0}, + # High-pass filter + "high_pass_filter/cutoff_frequency": {"name": "p_hpf_freq", "hint_string": "0,1,0.000000001", "default": 0.0}, + "high_pass_filter/cutoff_sweep": {"name": "p_hpf_ramp", "hint_string": "-1,1,0.000000001", "default": 0.0}, +} + + +static func object_get_property_list() -> Array: + var presets = SfxrGlobals.PRESETS.keys() + presets.pop_front() + var props = [] + props.append({ + "name": "SfxrStreamPlayer", + "type": TYPE_NIL, + "usage": PROPERTY_USAGE_CATEGORY | PROPERTY_USAGE_SCRIPT_VARIABLE, + }) + for preset in presets: + props.append({ + "name": "generators/" + str(preset).to_lower(), + "type": TYPE_BOOL, + "usage": PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_NO_INSTANCE_STATE, + }) + props.append({ + "name": "wave/type", + "type": TYPE_INT, + "hint": PROPERTY_HINT_ENUM, + "hint_string": ",".join(PackedStringArray(SfxrGlobals.WAVE_SHAPES.keys())), + }) + for property in PROPERTY_MAP: + props.append({ + "name": property, + "type": TYPE_FLOAT, + "hint": PROPERTY_HINT_RANGE, + "hint_string": PROPERTY_MAP[property]["hint_string"], + }) + props.append_array([ + { + "name": "actions/force_rebuild", + "type": TYPE_BOOL, + "usage": PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_NO_INSTANCE_STATE, + }, + ]) + return props + + +static func object_get(object: Node, property: String): + if property in PROPERTY_MAP: + return object[PROPERTY_MAP[property]["name"]] + elif property == "wave/type": + return object.wave_type + + +static func object_set(object: Node, property: String, value) -> bool: + var auto_build = Engine.is_editor_hint() and object.is_inside_tree() + if property in PROPERTY_MAP: + object[PROPERTY_MAP[property]["name"]] = value + if auto_build: + _schedule_build_sfx(object, true) + return true + elif property == "wave/type": + object.wave_type = value + if auto_build: + _schedule_build_sfx(object, true) + return true + elif property == "actions/force_rebuild": + if value and auto_build: + build_sfx(object, true) + return true + elif property == "sfxr_generator": + if not value: + value = 0 + if preset_values(object, value) and auto_build: + build_sfx(object, true) + return true + elif property.begins_with("generators/"): + property = property.replace("generators/", "").to_upper() + if preset_values(object, SfxrGlobals.PRESETS.get(property, -1)) and auto_build: + build_sfx(object, true) + return true + return false + + +################################## +# Defaults +################################## + + +static func object_set_defaults(object: Node): + object.wave_type = SfxrGlobals.WAVE_SHAPES.SAWTOOTH + for property in PROPERTY_MAP: + object[PROPERTY_MAP[property]["name"]] = PROPERTY_MAP[property]["default"] + + +static func object_property_can_revert(property: String): + return property in PROPERTY_MAP + + +static func object_property_get_revert(property: String): + return PROPERTY_MAP[property]["default"] + + +################################## +# Helpers +################################## + + +static func frnd(rrange) -> float: + return randf() * rrange + + +static func rndr(from, to) -> float: + return randf() * (to - from) + from + + +static func rnd(rmax) -> float: + return floor(randf() * (rmax + 1)) + + +################################## +# Presets +################################## + + +static func _presets_pickup(object: Node): + object_set_defaults(object) + object.wave_type = SfxrGlobals.WAVE_SHAPES.SAWTOOTH + object.p_base_freq = 0.4 + frnd(0.5) + object.p_env_attack = 0 + object.p_env_sustain = frnd(0.1) + object.p_env_decay = 0.1 + frnd(0.4) + object.p_env_punch = 0.3 + frnd(0.3) + if rnd(1): + object.p_arp_speed = 0.5 + frnd(0.2) + object.p_arp_mod = 0.2 + frnd(0.4) + + +static func _presets_laser(object: Node): + object_set_defaults(object) + object.wave_type = rnd(2) + if object.wave_type == SfxrGlobals.WAVE_SHAPES.SINE and rnd(1): + object.wave_type = rnd(1) + if rnd(2) == 0: + object.p_base_freq = 0.3 + frnd(0.6) + object.p_freq_limit = frnd(0.1) + object.p_freq_ramp = -0.35 - frnd(0.3) + else: + object.p_base_freq = 0.5 + frnd(0.5) + object.p_freq_limit = object.p_base_freq - 0.2 - frnd(0.6) + if object.p_freq_limit < 0.2: + object.p_freq_limit = 0.2 + object.p_freq_ramp = -0.15 - frnd(0.2) + if object.wave_type == SfxrGlobals.WAVE_SHAPES.SAWTOOTH: + object.p_duty = 1 + if rnd(1): + object.p_duty = frnd(0.5) + object.p_duty_ramp = frnd(0.2) + else: + object.p_duty = 0.4 + frnd(0.5) + object.p_duty_ramp = -frnd(0.7) + object.p_env_attack = 0 + object.p_env_sustain = 0.1 + frnd(0.2) + object.p_env_decay = frnd(0.4) + if rnd(1): + object.p_env_punch = frnd(0.3) + if rnd(2) == 0: + object.p_pha_offset = frnd(0.2) + object.p_pha_ramp = -frnd(0.2) + object.p_hpf_freq = frnd(0.3) + + +static func _presets_explosion(object: Node): + object_set_defaults(object) + object.wave_type = SfxrGlobals.WAVE_SHAPES.NOISE + if rnd(1): + object.p_base_freq = pow(0.1 + frnd(0.4), 2) + object.p_freq_ramp = -0.1 + frnd(0.4) + else: + object.p_base_freq = pow(0.2 + frnd(0.7), 2) + object.p_freq_ramp = -0.2 - frnd(0.2) + if rnd(4) == 0: + object.p_freq_ramp = 0 + if rnd(2) == 0: + object.p_repeat_speed = 0.3 + frnd(0.5) + object.p_env_attack = 0 + object.p_env_sustain = 0.1 + frnd(0.3) + object.p_env_decay = frnd(0.5) + if rnd(1): + object.p_pha_offset = -0.3 + frnd(0.9) + object.p_pha_ramp = -frnd(0.3) + object.p_env_punch = 0.2 + frnd(0.6) + if rnd(1): + object.p_vib_strength = frnd(0.7) + object.p_vib_speed = frnd(0.6) + if rnd(2) == 0: + object.p_arp_speed = 0.6 + frnd(0.3) + object.p_arp_mod = 0.8 - frnd(1.6) + + +static func _presets_powerup(object: Node): + object_set_defaults(object) + if rnd(1): + object.wave_type = SfxrGlobals.WAVE_SHAPES.SAWTOOTH + object.p_duty = 1 + else: + object.p_duty = frnd(0.6) + object.p_base_freq = 0.2 + frnd(0.3) + if rnd(1): + object.p_freq_ramp = 0.1 + frnd(0.4) + object.p_repeat_speed = 0.4 + frnd(0.4) + else: + object.p_freq_ramp = 0.05 + frnd(0.2) + if rnd(1): + object.p_vib_strength = frnd(0.7) + object.p_vib_speed = frnd(0.6) + object.p_env_attack = 0 + object.p_env_sustain = frnd(0.4) + object.p_env_decay = 0.1 + frnd(0.4) + + +static func _presets_hit(object: Node): + object_set_defaults(object) + object.wave_type = rnd(2) + if object.wave_type == SfxrGlobals.WAVE_SHAPES.SINE: + object.wave_type = SfxrGlobals.WAVE_SHAPES.NOISE + if object.wave_type == SfxrGlobals.WAVE_SHAPES.SQUARE: + object.p_duty = frnd(0.6) + if object.wave_type == SfxrGlobals.WAVE_SHAPES.SAWTOOTH: + object.p_duty = 1 + object.p_base_freq = 0.2 + frnd(0.6) + object.p_freq_ramp = -0.3 - frnd(0.4) + object.p_env_attack = 0 + object.p_env_sustain = frnd(0.1) + object.p_env_decay = 0.1 + frnd(0.2) + if rnd(1): + object.p_hpf_freq = frnd(0.3) + + +static func _presets_jump(object: Node): + object_set_defaults(object) + object.wave_type = SfxrGlobals.WAVE_SHAPES.SQUARE + object.p_duty = frnd(0.6) + object.p_base_freq = 0.3 + frnd(0.3) + object.p_freq_ramp = 0.1 + frnd(0.2) + object.p_env_attack = 0 + object.p_env_sustain = 0.1 + frnd(0.3) + object.p_env_decay = 0.1 + frnd(0.2) + if rnd(1): + object.p_hpf_freq = frnd(0.3) + if rnd(1): + object.p_lpf_freq = 1 - frnd(0.6) + + +static func _presets_blip(object: Node): + object_set_defaults(object) + object.wave_type = rnd(1) + if object.wave_type == SfxrGlobals.WAVE_SHAPES.SQUARE: + object.p_duty = frnd(0.6) + else: + object.p_duty = 1 + object.p_base_freq = 0.2 + frnd(0.4) + object.p_env_attack = 0 + object.p_env_sustain = 0.1 + frnd(0.1) + object.p_env_decay = frnd(0.2) + object.p_hpf_freq = 0.1 + + +static func _presets_synth(object: Node): + object_set_defaults(object) + object.wave_type = rnd(1) + object.p_base_freq = [0.2723171360931539, 0.19255692561524382, 0.13615778746815113][rnd(2)] + object.p_env_attack = frnd(0.5) if rnd(4) > 3 else 0 + object.p_env_sustain = frnd(1) + object.p_env_punch = frnd(1) + object.p_env_decay = frnd(0.9) + 0.1 + object.p_arp_mod = [0, 0, 0, 0, -0.3162, 0.7454, 0.7454][rnd(6)] + object.p_arp_speed = frnd(0.5) + 0.4 + object.p_duty = frnd(1) + object.p_duty_ramp = frnd(1) if rnd(2) == 2 else 0 + object.p_lpf_freq = [1, frnd(1) * frnd(1)][rnd(1)] + object.p_lpf_ramp = rndr(-1, 1) + object.p_lpf_resonance = frnd(1) + object.p_hpf_freq = frnd(1) if rnd(3) == 3 else 0 + object.p_hpf_ramp = frnd(1) if rnd(3) == 3 else 0 + + +static func _presets_tone(object: Node): + object_set_defaults(object) + + +static func _presets_click(object: Node): + if rnd(1): + _presets_hit(object) + else: + _presets_explosion(object) + if rnd(1): + object.p_freq_ramp = -0.5 + frnd(1.0) + if rnd(1): + object.p_env_sustain = (frnd(0.4) + 0.2) * object.p_env_sustain + object.p_env_decay = (frnd(0.4) + 0.2) * object.p_env_decay + if rnd(3) == 0: + object.p_env_attack = frnd(0.3) + object.p_base_freq = 1 - frnd(0.25) + object.p_hpf_freq = 1 - frnd(0.1) + + +static func _presets_random(object: Node): + object_set_defaults(object) + object.wave_type = rnd(3) + if rnd(1): + object.p_base_freq = pow(frnd(2) - 1, 3) + 0.5 + else: + object.p_base_freq = pow(frnd(1), 2) + object.p_freq_limit = 0 + object.p_freq_ramp = pow(frnd(2) - 1, 5) + if object.p_base_freq > 0.7 and object.p_freq_ramp > 0.2: + object.p_freq_ramp = -object.p_freq_ramp + if object.p_base_freq < 0.2 and object.p_freq_ramp < -0.05: + object.p_freq_ramp = -object.p_freq_ramp + object.p_freq_dramp = pow(frnd(2) - 1, 3) + object.p_duty = frnd(2) - 1 + object.p_duty_ramp = pow(frnd(2) - 1, 3) + object.p_vib_strength = pow(frnd(2) - 1, 3) + object.p_vib_speed = rndr(-1, 1) + object.p_env_attack = pow(rndr(-1, 1), 3) + object.p_env_sustain = pow(rndr(-1, 1), 2) + object.p_env_decay = rndr(-1, 1) + object.p_env_punch = pow(frnd(0.8), 2) + if object.p_env_attack + object.p_env_sustain + object.p_env_decay < 0.2: + object.p_env_sustain += 0.2 + frnd(0.3) + object.p_env_decay += 0.2 + frnd(0.3) + object.p_lpf_resonance = rndr(-1, 1) + object.p_lpf_freq = 1 - pow(frnd(1), 3) + object.p_lpf_ramp = pow(frnd(2) - 1, 3) + if object.p_lpf_freq < 0.1 and object.p_lpf_ramp < -0.05: + object.p_lpf_ramp = -object.p_lpf_ramp + object.p_hpf_freq = pow(frnd(1), 5) + object.p_hpf_ramp = pow(frnd(2) - 1, 5) + object.p_pha_offset = pow(frnd(2) - 1, 3) + object.p_pha_ramp = pow(frnd(2) - 1, 3) + object.p_repeat_speed = frnd(2) - 1 + object.p_arp_speed = frnd(2) - 1 + object.p_arp_mod = frnd(2) - 1 + + +static func _presets_mutate(object: Node): + if rnd(1): object.p_base_freq += frnd(0.1) - 0.05 + if rnd(1): object.p_freq_ramp += frnd(0.1) - 0.05 + if rnd(1): object.p_freq_dramp += frnd(0.1) - 0.05 + if rnd(1): object.p_duty += frnd(0.1) - 0.05 + if rnd(1): object.p_duty_ramp += frnd(0.1) - 0.05 + if rnd(1): object.p_vib_strength += frnd(0.1) - 0.05 + if rnd(1): object.p_vib_speed += frnd(0.1) - 0.05 + if rnd(1): object.p_env_attack += frnd(0.1) - 0.05 + if rnd(1): object.p_env_sustain += frnd(0.1) - 0.05 + if rnd(1): object.p_env_decay += frnd(0.1) - 0.05 + if rnd(1): object.p_env_punch += frnd(0.1) - 0.05 + if rnd(1): object.p_lpf_resonance += frnd(0.1) - 0.05 + if rnd(1): object.p_lpf_freq += frnd(0.1) - 0.05 + if rnd(1): object.p_lpf_ramp += frnd(0.1) - 0.05 + if rnd(1): object.p_hpf_freq += frnd(0.1) - 0.05 + if rnd(1): object.p_hpf_ramp += frnd(0.1) - 0.05 + if rnd(1): object.p_pha_offset += frnd(0.1) - 0.05 + if rnd(1): object.p_pha_ramp += frnd(0.1) - 0.05 + if rnd(1): object.p_repeat_speed += frnd(0.1) - 0.05 + if rnd(1): object.p_arp_speed += frnd(0.1) - 0.05 + if rnd(1): object.p_arp_mod += frnd(0.1) - 0.05 + + +static func random_preset(object: Node) -> bool: + return preset_values(object, (randi() % (len(SfxrGlobals.PRESETS) - 1)) + 1) + + +static func preset_values(object: Node, preset_key: int) -> bool: + if preset_key >= 0 and preset_key < len(SfxrGlobals.PRESETS): + var preset = SfxrGlobals.PRESETS.keys()[preset_key].to_lower() + match preset: + "pickup": + _presets_pickup(object) + return true + "laser": + _presets_laser(object) + return true + "explosion": + _presets_explosion(object) + return true + "powerup": + _presets_powerup(object) + return true + "hit": + _presets_hit(object) + return true + "jump": + _presets_jump(object) + return true + "click": + _presets_click(object) + return true + "blip": + _presets_blip(object) + return true + "synth": + _presets_synth(object) + return true + "random": + _presets_random(object) + return true + "tone": + _presets_tone(object) + return true + "mutate": + _presets_mutate(object) + return true + return false + + +################################## +# Playback +################################## + + +static func _schedule_build_sfx(object: Node, play_after_build: bool): + var timer: SceneTreeTimer = object.get_tree().create_timer(.5) + object.sfx_timer = timer + timer.timeout.connect(func(): object._on_sfx_timer_timeout(timer, play_after_build)) + + +static func _on_sfx_timer_timeout(object: Node, timer: SceneTreeTimer, play_after_build: bool): + if timer == object.sfx_timer: + build_sfx(object, play_after_build) + + +static func build_sfx(object: Node, play_after_build: bool = false): + var sfxg = SfxrGenerator.new() + sfxg.build_sample(object) + if play_after_build: + object.play() + object.notify_property_list_changed() diff --git a/addons/godot_sfxr/plugin.cfg b/addons/godot_sfxr/plugin.cfg new file mode 100644 index 0000000..59b4cf1 --- /dev/null +++ b/addons/godot_sfxr/plugin.cfg @@ -0,0 +1,7 @@ +[plugin] + +name="GodotSfxr" +description="Sfx Generator. Port of jsfxr (https://sfxr.me - by Eric Fredricksen) which is a port of sfxr (https://www.drpetter.se/project_sfxr.html - by DrPetter)." +author="Tomeyro" +version="1.0" +script="GodotSfxr.gd" diff --git a/assets/Weapons/Gun/Bob.gd b/assets/Weapons/Gun/Bob.gd deleted file mode 100644 index 31bec78..0000000 --- a/assets/Weapons/Gun/Bob.gd +++ /dev/null @@ -1,16 +0,0 @@ -extends Node3D - - -var pos = Vector2.ZERO -var y = 0 - -func _ready(): - pos.x = 0.3 # Replace with function body. - pos.y = -1 - y = -0.5 - - -# Called every frame. 'delta' is the elapsed time since the previous frame. -func _process(delta): - if(transform.basis.x != 0.3 || transform.basis.z != -1): - transform.basis.y = y + sin(1 * delta) diff --git a/assets/Weapons/Gun/Revolver.gltf.import b/assets/Weapons/Gun/Revolver.gltf.import index 22c9507..30e0f5e 100644 --- a/assets/Weapons/Gun/Revolver.gltf.import +++ b/assets/Weapons/Gun/Revolver.gltf.import @@ -3,7 +3,7 @@ importer="scene" importer_version=1 type="PackedScene" -uid="uid://cnk2fusin4ewy" +uid="uid://beiad4ywiojba" path="res://.godot/imported/Revolver.gltf-1c0c2c3864f727f53cf3435925795736.scn" [deps] diff --git a/map/entity_0_worldspawn.tscn b/map/entity_0_worldspawn.tscn deleted file mode 100644 index 0335054..0000000 --- a/map/entity_0_worldspawn.tscn +++ /dev/null @@ -1,30 +0,0 @@ -[gd_scene load_steps=5 format=3 uid="uid://bke5cip8sjpoq"] - -[ext_resource type="Texture2D" uid="uid://bj2qm3joiywso" path="res://textures/dark.png" id="1_fcf13"] - -[sub_resource type="StandardMaterial3D" id="1"] -albedo_texture = ExtResource("1_fcf13") - -[sub_resource type="ArrayMesh" id="2"] -_surfaces = [{ -"aabb": AABB(-40, -1, -42, 54, 17, 84), -"attribute_data": PackedByteArray(0, 0, 64, 192, 0, 0, 128, 190, 0, 0, 64, 192, 0, 0, 128, 62, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 128, 63, 0, 0, 128, 190, 0, 0, 128, 191, 0, 0, 128, 190, 0, 0, 128, 63, 0, 0, 128, 190, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 128, 191, 0, 0, 128, 62, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 64, 64, 0, 0, 128, 191, 0, 0, 64, 64, 0, 0, 128, 191, 0, 0, 128, 190, 0, 0, 128, 191, 0, 0, 128, 62, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 128, 63, 0, 0, 128, 190, 0, 0, 64, 192, 0, 0, 128, 190, 0, 0, 128, 63, 0, 0, 128, 190, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 64, 192, 0, 0, 128, 62, 0, 0, 64, 192, 0, 0, 0, 191, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 191, 0, 0, 64, 192, 0, 0, 0, 191, 0, 0, 128, 191, 0, 0, 0, 191, 0, 0, 128, 191, 0, 0, 0, 0, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 64, 192, 0, 0, 128, 191, 0, 0, 64, 192, 0, 0, 64, 64, 0, 0, 128, 191, 0, 0, 64, 64, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 64, 192, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 64, 64, 0, 0, 64, 192, 0, 0, 64, 64, 0, 0, 64, 192, 0, 0, 0, 191, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 0, 191, 0, 0, 64, 192, 0, 0, 0, 191, 0, 0, 128, 63, 0, 0, 0, 191, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 0, 191, 0, 0, 64, 64, 0, 0, 0, 191, 0, 0, 64, 64, 0, 0, 128, 191, 0, 0, 64, 192, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 0, 191, 0, 0, 64, 192, 0, 0, 0, 191, 0, 0, 64, 192, 0, 0, 64, 192, 0, 0, 64, 192, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 64, 192, 0, 0, 64, 192, 0, 0, 64, 192, 0, 0, 128, 191, 0, 0, 64, 192, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 64, 192, 0, 0, 128, 191, 0, 0, 64, 192, 0, 0, 128, 191, 0, 0, 64, 192, 0, 0, 0, 191, 0, 0, 128, 191, 0, 0, 0, 191, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 64, 64, 0, 0, 128, 191, 0, 0, 64, 64, 0, 0, 0, 191, 0, 0, 128, 63, 0, 0, 0, 191, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 64, 64, 0, 0, 0, 191, 0, 0, 64, 64, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 190, 0, 0, 128, 191, 0, 0, 128, 62, 0, 0, 128, 191, 0, 0, 128, 190, 0, 0, 128, 63, 0, 0, 128, 190, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 128, 191, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 64, 192, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 64, 192, 0, 0, 128, 191, 0, 0, 0, 191, 0, 0, 128, 63, 0, 0, 0, 191, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 128, 63, 0, 0, 128, 190, 0, 0, 64, 64, 0, 0, 128, 191, 0, 0, 64, 64, 0, 0, 0, 191, 0, 0, 64, 64, 0, 0, 128, 192, 0, 0, 64, 64, 0, 0, 128, 62, 0, 0, 96, 64, 0, 0, 128, 62, 0, 0, 96, 64, 0, 0, 128, 192, 0, 0, 32, 193, 0, 0, 128, 192, 0, 0, 32, 65, 0, 0, 128, 192, 0, 0, 32, 65, 0, 0, 128, 62, 0, 0, 32, 193, 0, 0, 128, 62, 0, 0, 32, 193, 0, 0, 96, 192, 0, 0, 32, 193, 0, 0, 64, 192, 0, 0, 32, 65, 0, 0, 64, 192, 0, 0, 32, 65, 0, 0, 96, 192, 0, 0, 32, 193, 0, 0, 96, 192, 0, 0, 32, 65, 0, 0, 96, 192, 0, 0, 32, 65, 0, 0, 64, 192, 0, 0, 32, 193, 0, 0, 64, 192, 0, 0, 32, 193, 0, 0, 128, 192, 0, 0, 32, 193, 0, 0, 128, 62, 0, 0, 32, 65, 0, 0, 128, 62, 0, 0, 32, 65, 0, 0, 128, 192, 0, 0, 64, 64, 0, 0, 128, 192, 0, 0, 96, 64, 0, 0, 128, 192, 0, 0, 96, 64, 0, 0, 128, 62, 0, 0, 64, 64, 0, 0, 128, 62, 0, 0, 32, 193, 0, 0, 128, 192, 0, 0, 32, 193, 0, 0, 128, 62, 0, 0, 24, 193, 0, 0, 128, 62, 0, 0, 24, 193, 0, 0, 128, 192, 0, 0, 32, 193, 0, 0, 128, 192, 0, 0, 40, 65, 0, 0, 128, 192, 0, 0, 40, 65, 0, 0, 128, 62, 0, 0, 32, 193, 0, 0, 128, 62, 0, 0, 32, 193, 0, 0, 24, 65, 0, 0, 32, 193, 0, 0, 32, 65, 0, 0, 40, 65, 0, 0, 32, 65, 0, 0, 40, 65, 0, 0, 24, 65, 0, 0, 32, 193, 0, 0, 24, 65, 0, 0, 40, 65, 0, 0, 24, 65, 0, 0, 40, 65, 0, 0, 32, 65, 0, 0, 32, 193, 0, 0, 32, 65, 0, 0, 32, 193, 0, 0, 128, 192, 0, 0, 32, 193, 0, 0, 128, 62, 0, 0, 40, 65, 0, 0, 128, 62, 0, 0, 40, 65, 0, 0, 128, 192, 0, 0, 32, 193, 0, 0, 128, 192, 0, 0, 24, 193, 0, 0, 128, 192, 0, 0, 24, 193, 0, 0, 128, 62, 0, 0, 32, 193, 0, 0, 128, 62, 0, 0, 32, 193, 0, 0, 128, 192, 0, 0, 32, 193, 0, 0, 128, 62, 0, 0, 96, 64, 0, 0, 128, 62, 0, 0, 96, 64, 0, 0, 128, 192, 0, 0, 40, 193, 0, 0, 128, 192, 0, 0, 32, 193, 0, 0, 128, 192, 0, 0, 32, 193, 0, 0, 128, 62, 0, 0, 40, 193, 0, 0, 128, 62, 0, 0, 40, 193, 0, 0, 96, 192, 0, 0, 40, 193, 0, 0, 32, 65, 0, 0, 32, 193, 0, 0, 32, 65, 0, 0, 32, 193, 0, 0, 96, 192, 0, 0, 40, 193, 0, 0, 96, 192, 0, 0, 32, 193, 0, 0, 96, 192, 0, 0, 32, 193, 0, 0, 32, 65, 0, 0, 40, 193, 0, 0, 32, 65, 0, 0, 40, 193, 0, 0, 128, 192, 0, 0, 40, 193, 0, 0, 128, 62, 0, 0, 32, 193, 0, 0, 128, 62, 0, 0, 32, 193, 0, 0, 128, 192, 0, 0, 32, 193, 0, 0, 128, 192, 0, 0, 96, 64, 0, 0, 128, 192, 0, 0, 96, 64, 0, 0, 128, 62, 0, 0, 32, 193, 0, 0, 128, 62, 0, 0, 24, 193, 0, 0, 128, 192, 0, 0, 24, 193, 0, 0, 128, 62, 0, 0, 96, 64, 0, 0, 128, 62, 0, 0, 96, 64, 0, 0, 128, 192, 0, 0, 32, 65, 0, 0, 128, 192, 0, 0, 40, 65, 0, 0, 128, 192, 0, 0, 40, 65, 0, 0, 128, 62, 0, 0, 32, 65, 0, 0, 128, 62, 0, 0, 32, 65, 0, 0, 96, 192, 0, 0, 32, 65, 0, 0, 24, 65, 0, 0, 40, 65, 0, 0, 24, 65, 0, 0, 40, 65, 0, 0, 96, 192, 0, 0, 32, 65, 0, 0, 96, 192, 0, 0, 40, 65, 0, 0, 96, 192, 0, 0, 40, 65, 0, 0, 24, 65, 0, 0, 32, 65, 0, 0, 24, 65, 0, 0, 32, 65, 0, 0, 128, 192, 0, 0, 32, 65, 0, 0, 128, 62, 0, 0, 40, 65, 0, 0, 128, 62, 0, 0, 40, 65, 0, 0, 128, 192, 0, 0, 24, 193, 0, 0, 128, 192, 0, 0, 96, 64, 0, 0, 128, 192, 0, 0, 96, 64, 0, 0, 128, 62, 0, 0, 24, 193, 0, 0, 128, 62, 0, 0, 24, 193, 0, 0, 128, 190, 0, 0, 24, 193, 0, 0, 128, 62, 0, 0, 64, 64, 0, 0, 128, 62, 0, 0, 64, 64, 0, 0, 128, 190, 0, 0, 128, 63, 0, 0, 128, 190, 0, 0, 32, 65, 0, 0, 128, 190, 0, 0, 32, 65, 0, 0, 128, 62, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 128, 63, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 24, 65, 0, 0, 32, 65, 0, 0, 24, 65, 0, 0, 32, 65, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 64, 192, 0, 0, 32, 65, 0, 0, 64, 192, 0, 0, 32, 65, 0, 0, 24, 65, 0, 0, 128, 63, 0, 0, 24, 65, 0, 0, 128, 63, 0, 0, 128, 190, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 32, 65, 0, 0, 128, 62, 0, 0, 32, 65, 0, 0, 128, 190, 0, 0, 24, 193, 0, 0, 128, 190, 0, 0, 64, 64, 0, 0, 128, 190, 0, 0, 64, 64, 0, 0, 128, 62, 0, 0, 24, 193, 0, 0, 128, 62, 0, 0, 64, 192, 0, 0, 160, 191, 0, 0, 64, 192, 0, 0, 224, 191, 0, 0, 24, 193, 0, 0, 224, 191, 0, 0, 24, 193, 0, 0, 160, 191, 0, 0, 48, 192, 0, 0, 160, 191, 0, 0, 20, 193, 0, 0, 160, 191, 0, 0, 20, 193, 0, 0, 128, 62, 0, 0, 48, 192, 0, 0, 128, 62, 0, 0, 0, 0, 0, 0, 224, 191, 0, 0, 128, 63, 0, 0, 128, 190, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 0, 0, 0, 0, 160, 191, 0, 0, 0, 0, 0, 0, 224, 191, 0, 0, 0, 0, 0, 0, 160, 191, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 128, 63, 0, 0, 128, 190, 0, 0, 48, 192, 0, 0, 160, 191, 0, 0, 48, 192, 0, 0, 128, 62, 0, 0, 20, 193, 0, 0, 128, 62, 0, 0, 20, 193, 0, 0, 160, 191, 0, 0, 64, 192, 0, 0, 128, 62, 0, 0, 24, 193, 0, 0, 128, 62, 0, 0, 24, 193, 0, 0, 128, 190, 0, 0, 64, 192, 0, 0, 128, 190, 0, 0, 24, 193, 0, 0, 224, 191, 0, 0, 24, 193, 0, 0, 160, 191, 0, 0, 64, 192, 0, 0, 160, 191, 0, 0, 64, 192, 0, 0, 224, 191, 0, 0, 0, 192, 0, 0, 224, 191, 0, 0, 0, 0, 0, 0, 224, 191, 0, 0, 0, 0, 0, 0, 160, 191, 0, 0, 0, 192, 0, 0, 160, 191, 0, 0, 0, 192, 0, 0, 64, 64, 0, 0, 0, 192, 0, 0, 24, 65, 0, 0, 0, 0, 0, 0, 24, 65, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 0, 192, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 24, 65, 0, 0, 0, 192, 0, 0, 24, 65, 0, 0, 0, 192, 0, 0, 224, 191, 0, 0, 0, 192, 0, 0, 160, 191, 0, 0, 0, 0, 0, 0, 160, 191, 0, 0, 0, 0, 0, 0, 224, 191, 0, 0, 24, 193, 0, 0, 224, 191, 0, 0, 64, 192, 0, 0, 224, 191, 0, 0, 64, 192, 0, 0, 160, 191, 0, 0, 24, 193, 0, 0, 160, 191, 0, 0, 24, 193, 0, 0, 160, 191, 0, 0, 24, 193, 0, 0, 128, 62, 0, 0, 64, 192, 0, 0, 128, 62, 0, 0, 64, 192, 0, 0, 160, 191, 0, 0, 0, 192, 0, 0, 160, 191, 0, 0, 192, 191, 0, 0, 160, 191, 0, 0, 192, 191, 0, 0, 128, 62, 0, 0, 0, 192, 0, 0, 128, 62, 0, 0, 0, 192, 0, 0, 64, 64, 0, 0, 0, 192, 0, 0, 24, 65, 0, 0, 192, 191, 0, 0, 24, 65, 0, 0, 192, 191, 0, 0, 64, 64, 0, 0, 0, 192, 0, 0, 64, 64, 0, 0, 192, 191, 0, 0, 64, 64, 0, 0, 192, 191, 0, 0, 24, 65, 0, 0, 0, 192, 0, 0, 24, 65, 0, 0, 0, 192, 0, 0, 160, 191, 0, 0, 0, 192, 0, 0, 128, 62, 0, 0, 192, 191, 0, 0, 128, 62, 0, 0, 192, 191, 0, 0, 160, 191, 0, 0, 24, 193, 0, 0, 160, 191, 0, 0, 64, 192, 0, 0, 160, 191, 0, 0, 64, 192, 0, 0, 128, 62, 0, 0, 24, 193, 0, 0, 128, 62, 0, 0, 24, 193, 0, 0, 128, 190, 0, 0, 24, 193, 0, 0, 128, 62, 0, 0, 64, 64, 0, 0, 128, 62, 0, 0, 64, 64, 0, 0, 128, 190, 0, 0, 32, 193, 0, 0, 128, 190, 0, 0, 64, 192, 0, 0, 128, 190, 0, 0, 64, 192, 0, 0, 128, 62, 0, 0, 32, 193, 0, 0, 128, 62, 0, 0, 32, 193, 0, 0, 64, 192, 0, 0, 32, 193, 0, 0, 24, 65, 0, 0, 64, 192, 0, 0, 24, 65, 0, 0, 64, 192, 0, 0, 64, 192, 0, 0, 32, 193, 0, 0, 64, 192, 0, 0, 64, 192, 0, 0, 64, 192, 0, 0, 64, 192, 0, 0, 24, 65, 0, 0, 32, 193, 0, 0, 24, 65, 0, 0, 32, 193, 0, 0, 128, 190, 0, 0, 32, 193, 0, 0, 128, 62, 0, 0, 64, 192, 0, 0, 128, 62, 0, 0, 64, 192, 0, 0, 128, 190, 0, 0, 24, 193, 0, 0, 128, 190, 0, 0, 64, 64, 0, 0, 128, 190, 0, 0, 64, 64, 0, 0, 128, 62, 0, 0, 24, 193, 0, 0, 128, 62, 0, 0, 0, 193, 0, 0, 0, 192, 0, 0, 0, 193, 0, 0, 192, 191, 0, 0, 192, 192, 0, 0, 192, 191, 0, 0, 192, 192, 0, 0, 0, 192, 0, 0, 0, 64, 0, 0, 0, 192, 0, 0, 128, 64, 0, 0, 0, 192, 0, 0, 128, 64, 0, 0, 192, 191, 0, 0, 0, 64, 0, 0, 192, 191, 0, 0, 0, 64, 0, 0, 192, 64, 0, 0, 0, 64, 0, 0, 0, 65, 0, 0, 128, 64, 0, 0, 0, 65, 0, 0, 128, 64, 0, 0, 192, 64, 0, 0, 0, 64, 0, 0, 192, 64, 0, 0, 128, 64, 0, 0, 192, 64, 0, 0, 128, 64, 0, 0, 0, 65, 0, 0, 0, 64, 0, 0, 0, 65, 0, 0, 0, 64, 0, 0, 0, 192, 0, 0, 0, 64, 0, 0, 192, 191, 0, 0, 128, 64, 0, 0, 192, 191, 0, 0, 128, 64, 0, 0, 0, 192, 0, 0, 0, 193, 0, 0, 0, 192, 0, 0, 192, 192, 0, 0, 0, 192, 0, 0, 192, 192, 0, 0, 192, 191, 0, 0, 0, 193, 0, 0, 192, 191, 0, 0, 0, 193, 0, 0, 0, 192, 0, 0, 0, 193, 0, 0, 192, 191, 0, 0, 192, 192, 0, 0, 192, 191, 0, 0, 192, 192, 0, 0, 0, 192, 0, 0, 160, 64, 0, 0, 0, 192, 0, 0, 224, 64, 0, 0, 0, 192, 0, 0, 224, 64, 0, 0, 192, 191, 0, 0, 160, 64, 0, 0, 192, 191, 0, 0, 160, 64, 0, 0, 192, 64, 0, 0, 160, 64, 0, 0, 0, 65, 0, 0, 224, 64, 0, 0, 0, 65, 0, 0, 224, 64, 0, 0, 192, 64, 0, 0, 160, 64, 0, 0, 192, 64, 0, 0, 224, 64, 0, 0, 192, 64, 0, 0, 224, 64, 0, 0, 0, 65, 0, 0, 160, 64, 0, 0, 0, 65, 0, 0, 160, 64, 0, 0, 0, 192, 0, 0, 160, 64, 0, 0, 192, 191, 0, 0, 224, 64, 0, 0, 192, 191, 0, 0, 224, 64, 0, 0, 0, 192, 0, 0, 0, 193, 0, 0, 0, 192, 0, 0, 192, 192, 0, 0, 0, 192, 0, 0, 192, 192, 0, 0, 192, 191, 0, 0, 0, 193, 0, 0, 192, 191, 0, 0, 0, 193, 0, 0, 0, 192, 0, 0, 0, 193, 0, 0, 192, 191, 0, 0, 192, 192, 0, 0, 192, 191, 0, 0, 192, 192, 0, 0, 0, 192, 0, 0, 0, 65, 0, 0, 0, 192, 0, 0, 32, 65, 0, 0, 0, 192, 0, 0, 32, 65, 0, 0, 192, 191, 0, 0, 0, 65, 0, 0, 192, 191, 0, 0, 0, 65, 0, 0, 192, 64, 0, 0, 0, 65, 0, 0, 0, 65, 0, 0, 32, 65, 0, 0, 0, 65, 0, 0, 32, 65, 0, 0, 192, 64, 0, 0, 0, 65, 0, 0, 192, 64, 0, 0, 32, 65, 0, 0, 192, 64, 0, 0, 32, 65, 0, 0, 0, 65, 0, 0, 0, 65, 0, 0, 0, 65, 0, 0, 0, 65, 0, 0, 0, 192, 0, 0, 0, 65, 0, 0, 192, 191, 0, 0, 32, 65, 0, 0, 192, 191, 0, 0, 32, 65, 0, 0, 0, 192, 0, 0, 0, 193, 0, 0, 0, 192, 0, 0, 192, 192, 0, 0, 0, 192, 0, 0, 192, 192, 0, 0, 192, 191, 0, 0, 0, 193, 0, 0, 192, 191, 0, 0, 160, 192, 0, 0, 0, 192, 0, 0, 160, 192, 0, 0, 192, 191, 0, 0, 64, 192, 0, 0, 192, 191, 0, 0, 64, 192, 0, 0, 0, 192, 0, 0, 64, 64, 0, 0, 0, 192, 0, 0, 8, 65, 0, 0, 0, 192, 0, 0, 8, 65, 0, 0, 192, 191, 0, 0, 64, 64, 0, 0, 192, 191, 0, 0, 64, 64, 0, 0, 64, 64, 0, 0, 64, 64, 0, 0, 160, 64, 0, 0, 8, 65, 0, 0, 160, 64, 0, 0, 8, 65, 0, 0, 64, 64, 0, 0, 64, 64, 0, 0, 64, 64, 0, 0, 8, 65, 0, 0, 64, 64, 0, 0, 8, 65, 0, 0, 160, 64, 0, 0, 64, 64, 0, 0, 160, 64, 0, 0, 64, 64, 0, 0, 0, 192, 0, 0, 64, 64, 0, 0, 192, 191, 0, 0, 8, 65, 0, 0, 192, 191, 0, 0, 8, 65, 0, 0, 0, 192, 0, 0, 160, 192, 0, 0, 0, 192, 0, 0, 64, 192, 0, 0, 0, 192, 0, 0, 64, 192, 0, 0, 192, 191, 0, 0, 160, 192, 0, 0, 192, 191, 0, 0, 0, 192, 0, 0, 24, 65, 0, 0, 176, 192, 0, 0, 24, 65, 0, 0, 176, 192, 0, 0, 64, 64, 0, 0, 0, 192, 0, 0, 64, 64, 0, 0, 0, 192, 0, 0, 224, 191, 0, 0, 0, 192, 0, 0, 160, 191, 0, 0, 144, 192, 0, 0, 128, 190, 0, 0, 176, 192, 0, 0, 128, 190, 0, 0, 168, 192, 0, 0, 32, 64, 0, 0, 168, 192, 0, 0, 16, 65, 0, 0, 136, 192, 0, 0, 16, 65, 0, 0, 136, 192, 0, 0, 32, 64, 0, 0, 0, 192, 0, 0, 224, 191, 0, 0, 176, 192, 0, 0, 128, 190, 0, 0, 144, 192, 0, 0, 128, 190, 0, 0, 0, 192, 0, 0, 160, 191, 0, 0, 0, 192, 0, 0, 24, 65, 0, 0, 0, 192, 0, 0, 64, 64, 0, 0, 144, 192, 0, 0, 64, 64, 0, 0, 144, 192, 0, 0, 24, 65, 0, 0, 64, 192, 0, 0, 224, 191, 0, 0, 64, 192, 0, 0, 160, 191, 0, 0, 24, 193, 0, 0, 160, 191, 0, 0, 24, 193, 0, 0, 224, 191, 0, 0, 64, 192, 0, 0, 224, 191, 0, 0, 64, 192, 0, 0, 128, 190, 0, 0, 32, 192, 0, 0, 128, 190, 0, 0, 32, 192, 0, 0, 224, 191, 0, 0, 0, 192, 0, 0, 224, 191, 0, 0, 128, 63, 0, 0, 224, 191, 0, 0, 128, 63, 0, 0, 128, 190, 0, 0, 0, 192, 0, 0, 128, 190, 0, 0, 0, 192, 0, 0, 32, 64, 0, 0, 0, 192, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 32, 64, 0, 0, 0, 192, 0, 0, 32, 64, 0, 0, 128, 63, 0, 0, 32, 64, 0, 0, 128, 63, 0, 0, 64, 64, 0, 0, 0, 192, 0, 0, 64, 64, 0, 0, 0, 192, 0, 0, 224, 191, 0, 0, 0, 192, 0, 0, 128, 190, 0, 0, 128, 63, 0, 0, 128, 190, 0, 0, 128, 63, 0, 0, 224, 191, 0, 0, 64, 192, 0, 0, 224, 191, 0, 0, 32, 192, 0, 0, 224, 191, 0, 0, 32, 192, 0, 0, 128, 190, 0, 0, 64, 192, 0, 0, 128, 190, 0, 0, 0, 192, 0, 0, 32, 64, 0, 0, 0, 192, 0, 0, 64, 64, 0, 0, 176, 192, 0, 0, 64, 64, 0, 0, 176, 192, 0, 0, 128, 62, 0, 0, 0, 192, 0, 0, 224, 191, 0, 0, 0, 192, 0, 0, 128, 190, 0, 0, 176, 192, 0, 0, 128, 190, 0, 0, 176, 192, 0, 0, 128, 62, 0, 0, 176, 192, 0, 0, 64, 64, 0, 0, 0, 192, 0, 0, 64, 64, 0, 0, 0, 192, 0, 0, 128, 62, 0, 0, 0, 192, 0, 0, 16, 64, 0, 0, 176, 192, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 128, 190, 0, 0, 128, 190, 0, 0, 64, 192, 0, 0, 128, 190, 0, 0, 64, 192, 0, 0, 224, 191, 0, 0, 32, 192, 0, 0, 224, 191), -"format": 4119, -"index_count": 708, -"index_data": PackedByteArray(0, 0, 1, 0, 2, 0, 0, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0, 4, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 8, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 12, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 16, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 20, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 24, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 0, 28, 0, 30, 0, 31, 0, 32, 0, 33, 0, 34, 0, 32, 0, 34, 0, 35, 0, 36, 0, 37, 0, 38, 0, 36, 0, 38, 0, 39, 0, 40, 0, 41, 0, 42, 0, 40, 0, 42, 0, 43, 0, 44, 0, 45, 0, 46, 0, 44, 0, 46, 0, 47, 0, 48, 0, 49, 0, 50, 0, 48, 0, 50, 0, 51, 0, 52, 0, 53, 0, 54, 0, 52, 0, 54, 0, 55, 0, 56, 0, 57, 0, 58, 0, 56, 0, 58, 0, 59, 0, 60, 0, 61, 0, 62, 0, 60, 0, 62, 0, 63, 0, 64, 0, 65, 0, 66, 0, 64, 0, 66, 0, 67, 0, 68, 0, 69, 0, 70, 0, 68, 0, 70, 0, 71, 0, 72, 0, 73, 0, 74, 0, 72, 0, 74, 0, 75, 0, 76, 0, 77, 0, 78, 0, 76, 0, 78, 0, 79, 0, 80, 0, 81, 0, 82, 0, 80, 0, 82, 0, 83, 0, 84, 0, 85, 0, 86, 0, 84, 0, 86, 0, 87, 0, 88, 0, 89, 0, 90, 0, 88, 0, 90, 0, 91, 0, 92, 0, 93, 0, 94, 0, 92, 0, 94, 0, 95, 0, 96, 0, 97, 0, 98, 0, 96, 0, 98, 0, 99, 0, 100, 0, 101, 0, 102, 0, 100, 0, 102, 0, 103, 0, 104, 0, 105, 0, 106, 0, 104, 0, 106, 0, 107, 0, 108, 0, 109, 0, 110, 0, 108, 0, 110, 0, 111, 0, 112, 0, 113, 0, 114, 0, 112, 0, 114, 0, 115, 0, 116, 0, 117, 0, 118, 0, 116, 0, 118, 0, 119, 0, 120, 0, 121, 0, 122, 0, 120, 0, 122, 0, 123, 0, 124, 0, 125, 0, 126, 0, 124, 0, 126, 0, 127, 0, 128, 0, 129, 0, 130, 0, 128, 0, 130, 0, 131, 0, 132, 0, 133, 0, 134, 0, 132, 0, 134, 0, 135, 0, 136, 0, 137, 0, 138, 0, 136, 0, 138, 0, 139, 0, 140, 0, 141, 0, 142, 0, 140, 0, 142, 0, 143, 0, 144, 0, 145, 0, 146, 0, 144, 0, 146, 0, 147, 0, 148, 0, 149, 0, 150, 0, 148, 0, 150, 0, 151, 0, 152, 0, 153, 0, 154, 0, 152, 0, 154, 0, 155, 0, 156, 0, 157, 0, 158, 0, 156, 0, 158, 0, 159, 0, 160, 0, 161, 0, 162, 0, 160, 0, 162, 0, 163, 0, 164, 0, 165, 0, 166, 0, 164, 0, 166, 0, 167, 0, 168, 0, 169, 0, 170, 0, 168, 0, 170, 0, 171, 0, 172, 0, 173, 0, 174, 0, 172, 0, 174, 0, 175, 0, 176, 0, 177, 0, 178, 0, 176, 0, 178, 0, 179, 0, 180, 0, 181, 0, 182, 0, 180, 0, 182, 0, 183, 0, 184, 0, 185, 0, 186, 0, 184, 0, 186, 0, 187, 0, 188, 0, 189, 0, 190, 0, 188, 0, 190, 0, 191, 0, 192, 0, 193, 0, 194, 0, 192, 0, 194, 0, 195, 0, 196, 0, 197, 0, 198, 0, 196, 0, 198, 0, 199, 0, 200, 0, 201, 0, 202, 0, 200, 0, 202, 0, 203, 0, 204, 0, 205, 0, 206, 0, 204, 0, 206, 0, 207, 0, 208, 0, 209, 0, 210, 0, 208, 0, 210, 0, 211, 0, 212, 0, 213, 0, 214, 0, 212, 0, 214, 0, 215, 0, 216, 0, 217, 0, 218, 0, 216, 0, 218, 0, 219, 0, 220, 0, 221, 0, 222, 0, 220, 0, 222, 0, 223, 0, 224, 0, 225, 0, 226, 0, 224, 0, 226, 0, 227, 0, 228, 0, 229, 0, 230, 0, 228, 0, 230, 0, 231, 0, 232, 0, 233, 0, 234, 0, 232, 0, 234, 0, 235, 0, 236, 0, 237, 0, 238, 0, 236, 0, 238, 0, 239, 0, 240, 0, 241, 0, 242, 0, 240, 0, 242, 0, 243, 0, 244, 0, 245, 0, 246, 0, 244, 0, 246, 0, 247, 0, 248, 0, 249, 0, 250, 0, 248, 0, 250, 0, 251, 0, 252, 0, 253, 0, 254, 0, 252, 0, 254, 0, 255, 0, 0, 1, 1, 1, 2, 1, 0, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 4, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 8, 1, 10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 12, 1, 14, 1, 15, 1, 16, 1, 17, 1, 18, 1, 16, 1, 18, 1, 19, 1, 20, 1, 21, 1, 22, 1, 20, 1, 22, 1, 23, 1, 24, 1, 25, 1, 26, 1, 24, 1, 26, 1, 27, 1, 28, 1, 29, 1, 30, 1, 28, 1, 30, 1, 31, 1, 32, 1, 33, 1, 34, 1, 32, 1, 34, 1, 35, 1, 36, 1, 37, 1, 38, 1, 36, 1, 38, 1, 39, 1, 40, 1, 41, 1, 42, 1, 40, 1, 42, 1, 43, 1, 44, 1, 45, 1, 46, 1, 44, 1, 46, 1, 47, 1, 48, 1, 49, 1, 50, 1, 48, 1, 50, 1, 51, 1, 52, 1, 53, 1, 54, 1, 52, 1, 54, 1, 55, 1, 56, 1, 57, 1, 58, 1, 56, 1, 58, 1, 59, 1, 60, 1, 61, 1, 62, 1, 60, 1, 62, 1, 63, 1, 64, 1, 65, 1, 66, 1, 64, 1, 66, 1, 67, 1, 68, 1, 69, 1, 70, 1, 68, 1, 70, 1, 71, 1, 72, 1, 73, 1, 74, 1, 72, 1, 74, 1, 75, 1, 76, 1, 77, 1, 78, 1, 76, 1, 78, 1, 79, 1, 80, 1, 81, 1, 82, 1, 80, 1, 82, 1, 83, 1, 84, 1, 85, 1, 86, 1, 84, 1, 86, 1, 87, 1, 88, 1, 89, 1, 90, 1, 88, 1, 90, 1, 91, 1, 92, 1, 93, 1, 94, 1, 92, 1, 94, 1, 95, 1, 96, 1, 97, 1, 98, 1, 96, 1, 98, 1, 99, 1, 100, 1, 101, 1, 102, 1, 100, 1, 102, 1, 103, 1, 104, 1, 105, 1, 106, 1, 104, 1, 106, 1, 107, 1, 108, 1, 109, 1, 110, 1, 108, 1, 110, 1, 111, 1, 112, 1, 113, 1, 114, 1, 112, 1, 114, 1, 115, 1, 116, 1, 117, 1, 118, 1, 116, 1, 118, 1, 119, 1, 120, 1, 121, 1, 122, 1, 120, 1, 122, 1, 123, 1, 124, 1, 125, 1, 126, 1, 124, 1, 126, 1, 127, 1, 128, 1, 129, 1, 130, 1, 128, 1, 130, 1, 131, 1, 132, 1, 133, 1, 134, 1, 132, 1, 134, 1, 135, 1, 136, 1, 137, 1, 138, 1, 136, 1, 138, 1, 139, 1, 140, 1, 141, 1, 142, 1, 140, 1, 142, 1, 143, 1, 144, 1, 145, 1, 146, 1, 144, 1, 146, 1, 147, 1, 148, 1, 149, 1, 150, 1, 148, 1, 150, 1, 151, 1, 152, 1, 153, 1, 154, 1, 152, 1, 154, 1, 155, 1, 156, 1, 157, 1, 158, 1, 156, 1, 158, 1, 159, 1, 160, 1, 161, 1, 162, 1, 160, 1, 162, 1, 163, 1, 164, 1, 165, 1, 166, 1, 164, 1, 166, 1, 167, 1, 168, 1, 169, 1, 170, 1, 168, 1, 170, 1, 171, 1, 172, 1, 173, 1, 174, 1, 172, 1, 174, 1, 175, 1, 176, 1, 177, 1, 178, 1, 176, 1, 178, 1, 179, 1, 180, 1, 181, 1, 182, 1, 180, 1, 182, 1, 183, 1, 184, 1, 185, 1, 186, 1, 184, 1, 186, 1, 187, 1, 188, 1, 189, 1, 190, 1, 188, 1, 190, 1, 191, 1, 192, 1, 193, 1, 194, 1, 192, 1, 194, 1, 195, 1, 196, 1, 197, 1, 198, 1, 196, 1, 198, 1, 199, 1, 200, 1, 201, 1, 202, 1, 200, 1, 202, 1, 203, 1, 204, 1, 205, 1, 206, 1, 207, 1, 208, 1, 209, 1, 207, 1, 209, 1, 210, 1, 211, 1, 212, 1, 213, 1, 214, 1, 215, 1, 216, 1, 214, 1, 216, 1, 217, 1), -"material": SubResource("1"), -"primitive": 3, -"vertex_count": 474, -"vertex_data": PackedByteArray(0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 192, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 128, 192, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 192, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 192, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 192, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 64, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 128, 64, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 128, 192, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 192, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 128, 192, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 128, 64, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 64, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 192, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 192, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 192, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 192, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 64, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 64, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 64, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 128, 64, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 193, 0, 0, 0, 64, 0, 0, 64, 193, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 193, 0, 0, 0, 0, 0, 0, 64, 193, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 128, 64, 0, 0, 0, 0, 0, 0, 64, 193, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 64, 193, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 193, 0, 0, 0, 64, 0, 0, 64, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 0, 64, 0, 0, 128, 192, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 0, 0, 0, 0, 128, 192, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 0, 0, 0, 0, 64, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 0, 0, 0, 0, 64, 193, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 0, 0, 0, 0, 64, 193, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 0, 0, 0, 0, 128, 192, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 128, 64, 0, 0, 0, 0, 0, 0, 128, 192, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 64, 193, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 128, 192, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 0, 64, 0, 0, 128, 192, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 0, 64, 0, 0, 64, 193, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 64, 193, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 128, 64, 0, 0, 0, 0, 0, 0, 64, 193, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 128, 64, 0, 0, 0, 0, 0, 0, 128, 192, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 128, 192, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 0, 64, 0, 0, 128, 192, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 128, 192, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 128, 64, 0, 0, 0, 0, 0, 0, 128, 192, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 193, 0, 0, 0, 0, 0, 0, 128, 192, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 64, 193, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 64, 193, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 64, 193, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 64, 193, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 64, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 192, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 128, 192, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 64, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 64, 193, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 64, 193, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 128, 192, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 128, 192, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 64, 193, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 64, 193, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 64, 193, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 64, 193, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 128, 192, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 128, 192, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 128, 192, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 128, 192, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 192, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 128, 192, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 128, 192, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 192, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 192, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 192, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 64, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 64, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 128, 192, 188, 221, 184, 92, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 128, 64, 188, 221, 184, 92, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 64, 188, 221, 184, 92, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 192, 188, 221, 184, 92, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 128, 192, 68, 34, 72, 163, 255, 127, 128, 64, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 192, 68, 34, 72, 163, 255, 127, 128, 64, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 64, 68, 34, 72, 163, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 128, 64, 68, 34, 72, 163, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 128, 192, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 128, 64, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 128, 64, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 128, 192, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 64, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 128, 64, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 65, 0, 0, 128, 65, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 65, 0, 0, 128, 65, 0, 0, 32, 194, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 65, 0, 0, 32, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 194, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 194, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 194, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 66, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 66, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 194, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 66, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 65, 0, 0, 32, 66, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 65, 0, 0, 32, 194, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 194, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 194, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 66, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 66, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 128, 65, 0, 0, 32, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 32, 194, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 40, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 40, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 32, 194, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 194, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 32, 194, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 40, 66, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 40, 66, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 32, 194, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 40, 66, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 40, 66, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 32, 194, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 32, 194, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 194, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 40, 66, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 40, 66, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 40, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 40, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 40, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 40, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 40, 194, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 40, 194, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 40, 194, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 40, 194, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 40, 194, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 32, 194, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 32, 194, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 40, 194, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 40, 194, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 40, 194, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 32, 194, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 194, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 40, 194, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 194, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 32, 194, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 40, 194, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 40, 194, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 40, 194, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 194, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 194, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 32, 194, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 194, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 194, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 32, 194, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 32, 66, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 66, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 66, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 66, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 32, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 40, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 40, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 66, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 66, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 40, 66, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 40, 66, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 66, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 40, 66, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 40, 66, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 32, 66, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 66, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 66, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 40, 66, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 40, 66, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 40, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 40, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 40, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 40, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 128, 64, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 128, 64, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 128, 64, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 128, 64, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 128, 64, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 32, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 128, 64, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 128, 64, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 128, 64, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 66, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 66, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 32, 66, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 32, 66, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 128, 64, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 128, 64, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 66, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 32, 66, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 32, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 32, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 128, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 128, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 0, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 0, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 128, 152, 76, 1, 128, 255, 255, 128, 64, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 0, 152, 76, 1, 128, 255, 255, 128, 64, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 128, 64, 152, 76, 1, 128, 255, 255, 128, 64, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 128, 64, 152, 76, 1, 128, 255, 255, 128, 64, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 0, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 128, 64, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 128, 64, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 0, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 128, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 128, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 128, 64, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 64, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 128, 0, 0, 100, 50, 255, 255, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 100, 50, 255, 255, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 100, 50, 255, 255, 126, 191, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 0, 0, 0, 100, 50, 255, 255, 126, 191, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 128, 64, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 128, 64, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 0, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 0, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 193, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 193, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 0, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 0, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 193, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 193, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 0, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 0, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 192, 192, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 192, 192, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 0, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 0, 193, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 0, 193, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 192, 192, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 192, 192, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 193, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 192, 192, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 192, 192, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 193, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 193, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 0, 193, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 192, 192, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 192, 192, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 192, 192, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 192, 192, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 192, 192, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 192, 192, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 32, 194, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 64, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 64, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 194, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 194, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 194, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 64, 193, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 64, 193, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 32, 194, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 64, 193, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 64, 193, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 32, 194, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 32, 194, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 194, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 64, 193, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 64, 193, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 64, 193, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 64, 193, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 64, 193, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 64, 193, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 0, 65, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 0, 65, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 0, 65, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 0, 65, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 0, 65, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 128, 65, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 128, 65, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 0, 65, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 0, 65, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 0, 65, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 128, 65, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 128, 65, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 0, 65, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 128, 65, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 128, 65, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 0, 65, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 0, 65, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 0, 65, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 128, 65, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 128, 65, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 128, 65, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 128, 65, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 128, 65, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 128, 65, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 160, 65, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 160, 65, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 160, 65, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 160, 65, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 160, 65, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 224, 65, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 224, 65, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 160, 65, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 160, 65, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 160, 65, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 224, 65, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 224, 65, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 160, 65, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 224, 65, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 224, 65, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 160, 65, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 160, 65, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 160, 65, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 224, 65, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 224, 65, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 224, 65, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 224, 65, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 224, 65, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 224, 65, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 0, 66, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 0, 66, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 0, 66, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 0, 66, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 0, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 32, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 32, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 0, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 0, 66, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 0, 66, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 32, 66, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 32, 66, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 0, 66, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 32, 66, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 32, 66, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 0, 66, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 0, 66, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 0, 66, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 32, 66, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 32, 66, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 32, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 32, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 32, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 32, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 160, 193, 0, 0, 0, 65, 0, 0, 64, 65, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 160, 193, 0, 0, 192, 64, 0, 0, 64, 65, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 193, 0, 0, 192, 64, 0, 0, 64, 65, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 193, 0, 0, 0, 65, 0, 0, 64, 65, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 160, 193, 0, 0, 0, 65, 0, 0, 64, 65, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 160, 193, 0, 0, 0, 65, 0, 0, 8, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 160, 193, 0, 0, 192, 64, 0, 0, 8, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 160, 193, 0, 0, 192, 64, 0, 0, 64, 65, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 192, 64, 0, 0, 64, 65, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 160, 193, 0, 0, 192, 64, 0, 0, 64, 65, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 160, 193, 0, 0, 192, 64, 0, 0, 8, 66, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 192, 64, 0, 0, 8, 66, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 0, 65, 0, 0, 64, 65, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 0, 65, 0, 0, 8, 66, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 160, 193, 0, 0, 0, 65, 0, 0, 8, 66, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 160, 193, 0, 0, 0, 65, 0, 0, 64, 65, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 0, 65, 0, 0, 64, 65, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 192, 64, 0, 0, 64, 65, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 192, 64, 0, 0, 8, 66, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 0, 65, 0, 0, 8, 66, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 160, 193, 0, 0, 0, 65, 0, 0, 8, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 193, 0, 0, 0, 65, 0, 0, 8, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 193, 0, 0, 192, 64, 0, 0, 8, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 160, 193, 0, 0, 192, 64, 0, 0, 8, 66, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 193, 76, 38, 255, 127, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 176, 193, 76, 38, 255, 127, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 176, 193, 76, 38, 255, 127, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 76, 38, 255, 127, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 144, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 176, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 176, 193, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 176, 193, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 144, 193, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 144, 193, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 176, 193, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 144, 193, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 193, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 193, 0, 0, 76, 165, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 193, 0, 0, 76, 165, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 144, 193, 0, 0, 76, 165, 255, 127, 128, 64, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 144, 193, 0, 0, 76, 165, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 193, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 193, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 193, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 32, 193, 0, 0, 128, 63, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 32, 193, 0, 0, 224, 64, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 128, 64, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 128, 64, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 64, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 0, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 32, 193, 0, 0, 128, 63, 0, 0, 0, 193, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 0, 193, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 32, 193, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 32, 193, 0, 0, 224, 64, 0, 0, 0, 193, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 32, 193, 0, 0, 224, 64, 0, 0, 128, 64, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 128, 64, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 0, 0, 255, 127, 255, 127, 126, 191, 0, 0, 32, 193, 0, 0, 224, 64, 0, 0, 0, 193, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 32, 193, 0, 0, 128, 63, 0, 0, 0, 193, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 32, 193, 0, 0, 128, 63, 0, 0, 128, 64, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 32, 193, 0, 0, 224, 64, 0, 0, 128, 64, 255, 127, 0, 0, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 128, 64, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 32, 193, 0, 0, 224, 64, 0, 0, 128, 64, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 32, 193, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 32, 193, 0, 0, 224, 64, 0, 0, 0, 193, 76, 38, 255, 127, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 76, 38, 255, 127, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 176, 193, 76, 38, 255, 127, 255, 127, 126, 191, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 176, 193, 76, 38, 255, 127, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 0, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 176, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 176, 193, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 176, 193, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 0, 193, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 0, 193, 0, 0, 1, 128, 255, 127, 128, 64, 0, 0, 32, 193, 0, 0, 224, 64, 0, 0, 0, 193, 100, 50, 152, 76, 255, 127, 126, 191, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 176, 193, 100, 50, 152, 76, 255, 127, 126, 191, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 0, 193, 100, 50, 152, 76, 255, 127, 126, 191, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 0, 193, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 0, 193, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 0, 0, 0, 0, 255, 255, 126, 191, 0, 0, 32, 193, 0, 0, 224, 64, 0, 0, 0, 193, 0, 0, 0, 0, 255, 255, 126, 191) -}] - -[sub_resource type="ConcavePolygonShape3D" id="3"] -data = PackedVector3Array(-12, 1, -4, -12, -1, -4, 4, -1, -4, -12, 1, -4, 4, -1, -4, 4, 1, -4, -12, 1, -4, -12, 1, 4, -12, -1, 4, -12, 1, -4, -12, -1, 4, -12, -1, -4, 4, -1, -4, -12, -1, -4, -12, -1, 4, 4, -1, -4, -12, -1, 4, 4, -1, 4, 4, 1, -4, 4, 1, 4, -12, 1, 4, 4, 1, -4, -12, 1, 4, -12, 1, -4, 4, 1, -4, 4, -1, -4, 4, -1, 4, 4, 1, -4, 4, -1, 4, 4, 1, 4, -12, 1, 4, 4, 1, 4, 4, -1, 4, -12, 1, 4, 4, -1, 4, -12, -1, 4, -12, 2, -12, -12, 0, -12, 4, 0, -12, -12, 2, -12, 4, 0, -12, 4, 2, -12, -12, 2, -12, -12, 2, -4, -12, 0, -4, -12, 2, -12, -12, 0, -4, -12, 0, -12, 4, 0, -12, -12, 0, -12, -12, 0, -4, 4, 0, -12, -12, 0, -4, 4, 0, -4, 4, 2, -12, 4, 2, -4, -12, 2, -4, 4, 2, -12, -12, 2, -4, -12, 2, -12, 4, 2, -12, 4, 0, -12, 4, 0, -4, 4, 2, -12, 4, 0, -4, 4, 2, -4, -12, 2, -4, 4, 2, -4, 4, 0, -4, -12, 2, -4, 4, 0, -4, -12, 0, -4, 4, 4, -12, 4, 2, -12, 12, 2, -12, 4, 4, -12, 12, 2, -12, 12, 4, -12, 4, 4, -12, 4, 4, -4, 4, 2, -4, 4, 4, -12, 4, 2, -4, 4, 2, -12, 12, 2, -12, 4, 2, -12, 4, 2, -4, 12, 2, -12, 4, 2, -4, 12, 2, -4, 12, 4, -12, 12, 4, -4, 4, 4, -4, 12, 4, -12, 4, 4, -4, 4, 4, -12, 12, 4, -12, 12, 2, -12, 12, 2, -4, 12, 4, -12, 12, 2, -4, 12, 4, -4, 4, 4, -4, 12, 4, -4, 12, 2, -4, 4, 4, -4, 12, 2, -4, 4, 2, -4, 4, -1, -4, 12, 2, -4, 12, 4, -4, 4, -1, -4, 12, 4, -4, 4, 1, -4, 4, -1, -4, 4, 1, -4, 4, 1, 4, 4, -1, -4, 4, 1, 4, 4, -1, 4, 12, 4, -4, 12, 4, 4, 4, 1, 4, 12, 4, -4, 4, 1, 4, 4, 1, -4, 12, 2, -4, 4, -1, -4, 4, -1, 4, 12, 2, -4, 4, -1, 4, 12, 2, 4, 12, 2, -4, 12, 2, 4, 12, 4, 4, 12, 2, -4, 12, 4, 4, 12, 4, -4, 4, -1, 4, 4, 1, 4, 12, 4, 4, 4, -1, 4, 12, 4, 4, 12, 2, 4, 12, 16, -40, 12, -1, -40, 14, -1, -40, 12, 16, -40, 14, -1, -40, 14, 16, -40, 12, 16, -40, 12, 16, 40, 12, -1, 40, 12, 16, -40, 12, -1, 40, 12, -1, -40, 14, -1, -40, 12, -1, -40, 12, -1, 40, 14, -1, -40, 12, -1, 40, 14, -1, 40, 14, 16, -40, 14, 16, 40, 12, 16, 40, 14, 16, -40, 12, 16, 40, 12, 16, -40, 14, 16, -40, 14, -1, -40, 14, -1, 40, 14, 16, -40, 14, -1, 40, 14, 16, 40, 12, 16, 40, 14, 16, 40, 14, -1, 40, 12, 16, 40, 14, -1, 40, 12, -1, 40, -40, 16, -40, -40, -1, -40, -38, -1, -40, -40, 16, -40, -38, -1, -40, -38, 16, -40, -40, 16, -40, -40, 16, 42, -40, -1, 42, -40, 16, -40, -40, -1, 42, -40, -1, -40, -38, -1, -40, -40, -1, -40, -40, -1, 42, -38, -1, -40, -40, -1, 42, -38, -1, 42, -38, 16, -40, -38, 16, 42, -40, 16, 42, -38, 16, -40, -40, 16, 42, -40, 16, -40, -38, 16, -40, -38, -1, -40, -38, -1, 42, -38, 16, -40, -38, -1, 42, -38, 16, 42, -40, 16, 42, -38, 16, 42, -38, -1, 42, -40, 16, 42, -38, -1, 42, -40, -1, 42, -40, 16, -42, -40, -1, -42, 14, -1, -42, -40, 16, -42, 14, -1, -42, 14, 16, -42, -40, 16, -42, -40, 16, -40, -40, -1, -40, -40, 16, -42, -40, -1, -40, -40, -1, -42, 14, -1, -42, -40, -1, -42, -40, -1, -40, 14, -1, -42, -40, -1, -40, 14, -1, -40, 14, 16, -42, 14, 16, -40, -40, 16, -40, 14, 16, -42, -40, 16, -40, -40, 16, -42, 14, 16, -42, 14, -1, -42, 14, -1, -40, 14, 16, -42, 14, -1, -40, 14, 16, -40, -40, 16, -40, 14, 16, -40, 14, -1, -40, -40, 16, -40, 14, -1, -40, -40, -1, -40, -38, 16, 40, -38, -1, 40, 14, -1, 40, -38, 16, 40, 14, -1, 40, 14, 16, 40, -38, 16, 40, -38, 16, 42, -38, -1, 42, -38, 16, 40, -38, -1, 42, -38, -1, 40, 14, -1, 40, -38, -1, 40, -38, -1, 42, 14, -1, 40, -38, -1, 42, 14, -1, 42, 14, 16, 40, 14, 16, 42, -38, 16, 42, 14, 16, 40, -38, 16, 42, -38, 16, 40, 14, 16, 40, 14, -1, 40, 14, -1, 42, 14, 16, 40, 14, -1, 42, 14, 16, 42, -38, 16, 42, 14, 16, 42, 14, -1, 42, -38, 16, 42, 14, -1, 42, -38, -1, 42, -38, 1, 4, -38, -1, 4, 12, -1, 4, -38, 1, 4, 12, -1, 4, 12, 1, 4, -38, 1, 4, -38, 1, 40, -38, -1, 40, -38, 1, 4, -38, -1, 40, -38, -1, 4, 12, -1, 4, -38, -1, 4, -38, -1, 40, 12, -1, 4, -38, -1, 40, 12, -1, 40, 12, 1, 4, 12, 1, 40, -38, 1, 40, 12, 1, 4, -38, 1, 40, -38, 1, 4, 12, 1, 4, 12, -1, 4, 12, -1, 40, 12, 1, 4, 12, -1, 40, 12, 1, 40, -38, 1, 40, 12, 1, 40, 12, -1, 40, -38, 1, 40, 12, -1, 40, -38, -1, 40, -12, 5, 0, -12, 7, 0, -38, 7, 0, -12, 5, 0, -38, 7, 0, -38, 5, 0, -12, 5, 0, -38, 5, 0, -38, -1, 4, -12, 5, 0, -38, -1, 4, -12, -1, 4, -38, 7, 0, -38, 1, 4, -38, -1, 4, -38, 7, 0, -38, -1, 4, -38, 5, 0, -12, 7, 0, -12, 5, 0, -12, -1, 4, -12, 7, 0, -12, -1, 4, -12, 1, 4, -12, 7, 0, -12, 1, 4, -38, 1, 4, -12, 7, 0, -38, 1, 4, -38, 7, 0, -12, -1, 4, -38, -1, 4, -38, 1, 4, -12, -1, 4, -38, 1, 4, -12, 1, 4, -38, 7, -8, -38, 5, -8, -12, 5, -8, -38, 7, -8, -12, 5, -8, -12, 7, -8, -38, 7, -8, -38, 7, 0, -38, 5, 0, -38, 7, -8, -38, 5, 0, -38, 5, -8, -12, 5, -8, -38, 5, -8, -38, 5, 0, -12, 5, -8, -38, 5, 0, -12, 5, 0, -12, 7, -8, -12, 7, 0, -38, 7, 0, -12, 7, -8, -38, 7, 0, -38, 7, -8, -12, 7, -8, -12, 5, -8, -12, 5, 0, -12, 7, -8, -12, 5, 0, -12, 7, 0, -38, 7, 0, -12, 7, 0, -12, 5, 0, -38, 7, 0, -12, 5, 0, -38, 5, 0, -38, 5, -8, -38, -1, -8, -12, -1, -8, -38, 5, -8, -12, -1, -8, -12, 5, -8, -38, 5, -8, -38, 5, -6, -38, -1, -6, -38, 5, -8, -38, -1, -6, -38, -1, -8, -12, -1, -8, -38, -1, -8, -38, -1, -6, -12, -1, -8, -38, -1, -6, -12, -1, -6, -12, 5, -8, -12, 5, -6, -38, 5, -6, -12, 5, -8, -38, 5, -6, -38, 5, -8, -12, 5, -8, -12, -1, -8, -12, -1, -6, -12, 5, -8, -12, -1, -6, -12, 5, -6, -38, 5, -6, -12, 5, -6, -12, -1, -6, -38, 5, -6, -12, -1, -6, -38, -1, -6, -38, 1, -40, -38, -1, -40, 12, -1, -40, -38, 1, -40, 12, -1, -40, 12, 1, -40, -38, 1, -40, -38, 1, -12, -38, -1, -12, -38, 1, -40, -38, -1, -12, -38, -1, -40, 12, -1, -40, -38, -1, -40, -38, -1, -12, 12, -1, -40, -38, -1, -12, 12, -1, -12, 12, 1, -40, 12, 1, -12, -38, 1, -12, 12, 1, -40, -38, 1, -12, -38, 1, -40, 12, 1, -40, 12, -1, -40, 12, -1, -12, 12, 1, -40, 12, -1, -12, 12, 1, -12, -38, 1, -12, 12, 1, -12, 12, -1, -12, -38, 1, -12, 12, -1, -12, -38, -1, -12, -32, 8, 8, -32, 6, 8, -24, 6, 8, -32, 8, 8, -24, 6, 8, -24, 8, 8, -32, 8, 8, -32, 8, 16, -32, 6, 16, -32, 8, 8, -32, 6, 16, -32, 6, 8, -24, 6, 8, -32, 6, 8, -32, 6, 16, -24, 6, 8, -32, 6, 16, -24, 6, 16, -24, 8, 8, -24, 8, 16, -32, 8, 16, -24, 8, 8, -32, 8, 16, -32, 8, 8, -24, 8, 8, -24, 6, 8, -24, 6, 16, -24, 8, 8, -24, 6, 16, -24, 8, 16, -32, 8, 16, -24, 8, 16, -24, 6, 16, -32, 8, 16, -24, 6, 16, -32, 6, 16, -32, 8, 20, -32, 6, 20, -24, 6, 20, -32, 8, 20, -24, 6, 20, -24, 8, 20, -32, 8, 20, -32, 8, 28, -32, 6, 28, -32, 8, 20, -32, 6, 28, -32, 6, 20, -24, 6, 20, -32, 6, 20, -32, 6, 28, -24, 6, 20, -32, 6, 28, -24, 6, 28, -24, 8, 20, -24, 8, 28, -32, 8, 28, -24, 8, 20, -32, 8, 28, -32, 8, 20, -24, 8, 20, -24, 6, 20, -24, 6, 28, -24, 8, 20, -24, 6, 28, -24, 8, 28, -32, 8, 28, -24, 8, 28, -24, 6, 28, -32, 8, 28, -24, 6, 28, -32, 6, 28, -32, 8, 32, -32, 6, 32, -24, 6, 32, -32, 8, 32, -24, 6, 32, -24, 8, 32, -32, 8, 32, -32, 8, 40, -32, 6, 40, -32, 8, 32, -32, 6, 40, -32, 6, 32, -24, 6, 32, -32, 6, 32, -32, 6, 40, -24, 6, 32, -32, 6, 40, -24, 6, 40, -24, 8, 32, -24, 8, 40, -32, 8, 40, -24, 8, 32, -32, 8, 40, -32, 8, 32, -24, 8, 32, -24, 6, 32, -24, 6, 40, -24, 8, 32, -24, 6, 40, -24, 8, 40, -32, 8, 40, -24, 8, 40, -24, 6, 40, -32, 8, 40, -24, 6, 40, -32, 6, 40, -20, 8, 12, -20, 6, 12, -12, 6, 12, -20, 8, 12, -12, 6, 12, -12, 8, 12, -20, 8, 12, -20, 8, 34, -20, 6, 34, -20, 8, 12, -20, 6, 34, -20, 6, 12, -12, 6, 12, -20, 6, 12, -20, 6, 34, -12, 6, 12, -20, 6, 34, -12, 6, 34, -12, 8, 12, -12, 8, 34, -20, 8, 34, -12, 8, 12, -20, 8, 34, -20, 8, 12, -12, 8, 12, -12, 6, 12, -12, 6, 34, -12, 8, 12, -12, 6, 34, -12, 8, 34, -20, 8, 34, -12, 8, 34, -12, 6, 34, -20, 8, 34, -12, 6, 34, -20, 6, 34, -38, 7, -8, -38, 1, -22, -12, 1, -22, -38, 7, -8, -12, 1, -22, -12, 7, -8, -38, 7, -8, -38, 5, -8, -38, 1, -18, -38, 7, -8, -38, 1, -18, -38, 1, -22, -12, 1, -22, -38, 1, -22, -38, 1, -18, -12, 1, -22, -38, 1, -18, -12, 1, -18, -12, 7, -8, -12, 1, -22, -12, 1, -18, -12, 7, -8, -12, 1, -18, -12, 5, -8, -38, 5, -8, -12, 5, -8, -12, 1, -18, -38, 5, -8, -12, 1, -18, -38, 1, -18, -12, 7, -8, -12, 5, -8, -38, 5, -8, -12, 7, -8, -38, 5, -8, -38, 7, -8, -12, 7, -8, -12, 1, -8, -10, 1, -8, -12, 7, -8, -10, 1, -8, -10, 7, -8, -12, 7, -8, -12, 7, 4, -12, 1, 4, -12, 7, -8, -12, 1, 4, -12, 1, -8, -10, 1, -8, -12, 1, -8, -12, 1, 4, -10, 1, -8, -12, 1, 4, -10, 1, 4, -10, 7, -8, -10, 7, 4, -12, 7, 4, -10, 7, -8, -12, 7, 4, -12, 7, -8, -10, 7, -8, -10, 1, -8, -10, 1, 4, -10, 7, -8, -10, 1, 4, -10, 7, 4, -12, 7, 4, -10, 7, 4, -10, 1, 4, -12, 7, 4, -10, 1, 4, -12, 1, 4, -10, 7, -8, -12, 7, -8, -12, 1, -22, -10, 7, -8, -12, 1, -22, -1, 1, -22, -12, 7, -8, -12, 1, -8, -12, 1, -22, -1, 1, -22, -12, 1, -22, -12, 1, -8, -1, 1, -22, -12, 1, -8, -1, 1, -8, -10, 7, -8, -1, 1, -22, -1, 1, -8, -1, 1, -8, -12, 1, -8, -12, 7, -8, -1, 1, -8, -12, 7, -8, -10, 7, -8) - -[node name="entity_0_worldspawn" type="StaticBody3D"] - -[node name="entity_0_mesh_instance" type="MeshInstance3D" parent="."] -mesh = SubResource("2") - -[node name="entity_0_collision_shape" type="CollisionShape3D" parent="."] -shape = SubResource("3") diff --git a/player_q3/Revolver.tscn b/player_q3/Revolver.tscn deleted file mode 100644 index b5fed2a..0000000 --- a/player_q3/Revolver.tscn +++ /dev/null @@ -1,9 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://p3r1q0d3ibmj"] - -[ext_resource type="PackedScene" uid="uid://cnk2fusin4ewy" path="res://assets/Weapons/Gun/Revolver.gltf" id="1_gnlrs"] - -[node name="Revolver" instance=ExtResource("1_gnlrs")] -transform = Transform3D(0.05, 0, 0, 0, 0.0499999, 0, 0, 0, 0.0499999, 0, 0, 0) - -[node name="RootNode" parent="." index="0"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.30501, 7.01204) diff --git a/player_q3/RevolverFix.tscn b/player_q3/RevolverFix.tscn deleted file mode 100644 index f726614..0000000 --- a/player_q3/RevolverFix.tscn +++ /dev/null @@ -1,17 +0,0 @@ -[gd_scene load_steps=3 format=3 uid="uid://gnhgkfm3frvt"] - -[ext_resource type="Script" path="res://player_q3/Weapon.gd" id="1_2cfte"] -[ext_resource type="PackedScene" uid="uid://p3r1q0d3ibmj" path="res://player_q3/Revolver.tscn" id="1_81137"] - -[node name="RevolverFix" type="Node3D"] -script = ExtResource("1_2cfte") -MOMENTUM = Vector2(-0.08, -0.25) -ANGULAR_MOMENTUM = Vector3(-12, 7, 10) -RECOIL_COOLDOWN = 0.35 -RPM = 600.0 - -[node name="Revolver" parent="." instance=ExtResource("1_81137")] -transform = Transform3D(0.05, 0, 0, 0, 0.017101, -0.0469845, 0, 0.0469845, 0.017101, 0, -0.526001, -0.296439) - -[node name="Revolver" parent="Revolver" instance=ExtResource("1_81137")] -transform = Transform3D(0.05, 0, 0, 0, 0.0259061, 0.0427652, 0, -0.0427652, 0.0259061, 0.00365943, 0.222644, -0.251306) diff --git a/project.godot b/project.godot index 99752a2..bcb0237 100644 --- a/project.godot +++ b/project.godot @@ -9,20 +9,36 @@ config_version=5 _global_script_classes=[{ +"base": "RefCounted", +"class": &"SfxrGenerator", +"language": &"GDScript", +"path": "res://addons/godot_sfxr/SfxrGenerator.gd" +}, { +"base": "Object", +"class": &"SfxrGlobals", +"language": &"GDScript", +"path": "res://addons/godot_sfxr/SfxrGlobals.gd" +}, { +"base": "Object", +"class": &"SfxrStreamPlayerInterface", +"language": &"GDScript", +"path": "res://addons/godot_sfxr/SfxrStreamPlayerInterface.gd" +}, { "base": "Node3D", "class": &"Weapon", "language": &"GDScript", -"path": "res://player_q3/Weapon.gd" +"path": "res://scripts/player/Weapon.gd" }] _global_script_class_icons={ +"SfxrGenerator": "", +"SfxrGlobals": "", +"SfxrStreamPlayerInterface": "", "Weapon": "" } [application] -config/name="Simple Q3 Controller" -config/description="Made by @fossegutten -Movement inspired by Quake3, simplified and godotified." +config/name="Scoom" run/main_scene="res://Game.tscn" config/features=PackedStringArray("4.0") config/icon="res://textures/icon.png" @@ -35,6 +51,10 @@ window/size/height=360 window/size/test_width=1280 window/size/test_height=720 +[editor_plugins] + +enabled=PackedStringArray("res://addons/godot_sfxr/plugin.cfg") + [input] move_left={ @@ -67,6 +87,16 @@ shoot={ "events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(289, 25),"global_position":Vector2(293, 70),"factor":1.0,"button_index":1,"pressed":true,"double_click":false,"script":null) ] } +wheel_up={ +"deadzone": 0.5, +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":4,"pressed":false,"double_click":false,"script":null) +] +} +wheel_down={ +"deadzone": 0.5, +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":5,"pressed":false,"double_click":false,"script":null) +] +} [physics] diff --git a/scenes/map/entity_0_worldspawn.tscn b/scenes/map/entity_0_worldspawn.tscn new file mode 100644 index 0000000..368331f --- /dev/null +++ b/scenes/map/entity_0_worldspawn.tscn @@ -0,0 +1,35 @@ +[gd_scene load_steps=6 format=3 uid="uid://bke5cip8sjpoq"] + +[ext_resource type="Texture2D" uid="uid://bj2qm3joiywso" path="res://textures/dark.png" id="1_fcf13"] + +[sub_resource type="StandardMaterial3D" id="1"] +albedo_texture = ExtResource("1_fcf13") +metallic_specular = 0.0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_d2jca"] + +[sub_resource type="ArrayMesh" id="ArrayMesh_l4sxc"] +lightmap_size_hint = Vector2i(3390, 3394) +_surfaces = [{ +"aabb": AABB(-40, -1, -42, 54, 17, 84), +"attribute_data": PackedByteArray(0, 0, 64, 192, 0, 0, 128, 190, 117, 132, 77, 63, 3, 170, 57, 63, 0, 0, 64, 192, 0, 0, 128, 62, 214, 107, 74, 63, 3, 170, 57, 63, 0, 0, 128, 63, 0, 0, 128, 62, 214, 107, 74, 63, 181, 115, 33, 63, 0, 0, 128, 63, 0, 0, 128, 190, 117, 132, 77, 63, 181, 115, 33, 63, 0, 0, 128, 191, 0, 0, 128, 190, 190, 232, 101, 63, 251, 93, 113, 59, 0, 0, 128, 63, 0, 0, 128, 190, 56, 17, 114, 63, 251, 93, 113, 59, 0, 0, 128, 63, 0, 0, 128, 62, 56, 17, 114, 63, 164, 33, 129, 60, 0, 0, 128, 191, 0, 0, 128, 62, 190, 232, 101, 63, 164, 33, 129, 60, 0, 0, 128, 191, 0, 0, 128, 191, 220, 110, 30, 62, 141, 123, 109, 63, 0, 0, 128, 191, 0, 0, 64, 64, 88, 101, 127, 62, 141, 123, 109, 63, 0, 0, 128, 63, 0, 0, 64, 64, 88, 101, 127, 62, 92, 160, 121, 63, 0, 0, 128, 63, 0, 0, 128, 191, 220, 110, 30, 62, 92, 160, 121, 63, 0, 0, 128, 191, 0, 0, 128, 191, 0, 190, 106, 63, 86, 165, 184, 60, 0, 0, 128, 63, 0, 0, 128, 191, 122, 230, 118, 63, 86, 165, 184, 60, 0, 0, 128, 63, 0, 0, 64, 64, 122, 230, 118, 63, 204, 219, 239, 61, 0, 0, 128, 191, 0, 0, 64, 64, 0, 190, 106, 63, 204, 219, 239, 61, 0, 0, 128, 191, 0, 0, 128, 190, 255, 57, 0, 62, 232, 159, 28, 63, 0, 0, 128, 191, 0, 0, 128, 62, 255, 57, 0, 62, 151, 183, 31, 63, 0, 0, 128, 63, 0, 0, 128, 62, 231, 219, 48, 62, 151, 183, 31, 63, 0, 0, 128, 63, 0, 0, 128, 190, 231, 219, 48, 62, 232, 159, 28, 63, 0, 0, 64, 192, 0, 0, 128, 190, 164, 86, 83, 63, 125, 98, 29, 63, 0, 0, 128, 63, 0, 0, 128, 190, 164, 86, 83, 63, 234, 192, 4, 63, 0, 0, 128, 63, 0, 0, 128, 62, 105, 118, 80, 63, 16, 196, 4, 63, 0, 0, 64, 192, 0, 0, 128, 62, 105, 118, 80, 63, 162, 101, 29, 63, 0, 0, 64, 192, 0, 0, 0, 191, 3, 82, 63, 63, 31, 83, 121, 63, 0, 0, 64, 192, 0, 0, 0, 0, 3, 82, 63, 63, 112, 59, 118, 63, 0, 0, 128, 63, 0, 0, 0, 0, 100, 20, 39, 63, 112, 59, 118, 63, 0, 0, 128, 63, 0, 0, 0, 191, 100, 20, 39, 63, 31, 83, 121, 63, 0, 0, 64, 192, 0, 0, 0, 191, 117, 198, 226, 62, 205, 114, 103, 63, 0, 0, 128, 191, 0, 0, 0, 191, 117, 198, 226, 62, 156, 151, 115, 63, 0, 0, 128, 191, 0, 0, 0, 0, 56, 149, 220, 62, 156, 151, 115, 63, 0, 0, 64, 192, 0, 0, 0, 0, 56, 149, 220, 62, 205, 114, 103, 63, 0, 0, 64, 192, 0, 0, 128, 191, 54, 38, 157, 62, 210, 47, 227, 61, 0, 0, 64, 192, 0, 0, 64, 64, 116, 161, 205, 62, 210, 47, 227, 61, 0, 0, 128, 191, 0, 0, 64, 64, 116, 161, 205, 62, 37, 43, 34, 62, 0, 0, 128, 191, 0, 0, 128, 191, 54, 38, 157, 62, 37, 43, 34, 62, 0, 0, 64, 192, 0, 0, 128, 191, 153, 182, 217, 62, 22, 139, 102, 63, 0, 0, 128, 191, 0, 0, 128, 191, 153, 182, 217, 62, 229, 175, 114, 63, 0, 0, 128, 191, 0, 0, 64, 64, 91, 59, 169, 62, 229, 175, 114, 63, 0, 0, 64, 192, 0, 0, 64, 64, 91, 59, 169, 62, 22, 139, 102, 63, 0, 0, 64, 192, 0, 0, 0, 191, 202, 217, 34, 63, 141, 123, 109, 63, 0, 0, 64, 192, 0, 0, 0, 0, 104, 242, 37, 63, 141, 123, 109, 63, 0, 0, 128, 191, 0, 0, 0, 0, 104, 242, 37, 63, 92, 160, 121, 63, 0, 0, 128, 191, 0, 0, 0, 191, 202, 217, 34, 63, 92, 160, 121, 63, 0, 0, 64, 192, 0, 0, 0, 191, 63, 36, 240, 61, 169, 98, 114, 63, 0, 0, 128, 63, 0, 0, 0, 191, 29, 221, 184, 60, 169, 98, 114, 63, 0, 0, 128, 63, 0, 0, 0, 0, 29, 221, 184, 60, 250, 74, 111, 63, 0, 0, 64, 192, 0, 0, 0, 0, 63, 36, 240, 61, 250, 74, 111, 63, 0, 0, 128, 63, 0, 0, 128, 191, 1, 169, 127, 63, 151, 148, 71, 62, 0, 0, 128, 63, 0, 0, 0, 191, 99, 144, 124, 63, 151, 148, 71, 62, 0, 0, 64, 64, 0, 0, 0, 191, 99, 144, 124, 63, 92, 1, 23, 62, 0, 0, 64, 64, 0, 0, 128, 191, 1, 169, 127, 63, 92, 1, 23, 62, 0, 0, 64, 192, 0, 0, 128, 191, 234, 206, 90, 63, 215, 77, 252, 62, 0, 0, 128, 191, 0, 0, 128, 191, 234, 206, 90, 63, 187, 75, 10, 63, 0, 0, 128, 191, 0, 0, 0, 191, 76, 182, 87, 63, 187, 75, 10, 63, 0, 0, 64, 192, 0, 0, 0, 191, 76, 182, 87, 63, 215, 77, 252, 62, 0, 0, 64, 192, 0, 0, 64, 192, 219, 205, 115, 63, 71, 199, 55, 63, 0, 0, 64, 192, 0, 0, 128, 191, 85, 246, 127, 63, 71, 199, 55, 63, 0, 0, 128, 191, 0, 0, 128, 191, 85, 246, 127, 63, 22, 236, 67, 63, 0, 0, 128, 191, 0, 0, 64, 192, 219, 205, 115, 63, 22, 236, 67, 63, 0, 0, 64, 192, 0, 0, 64, 192, 29, 97, 227, 62, 137, 209, 115, 63, 0, 0, 128, 191, 0, 0, 64, 192, 29, 97, 227, 62, 88, 246, 127, 63, 0, 0, 128, 191, 0, 0, 128, 191, 41, 16, 203, 62, 88, 246, 127, 63, 0, 0, 64, 192, 0, 0, 128, 191, 41, 16, 203, 62, 137, 209, 115, 63, 0, 0, 64, 192, 0, 0, 128, 191, 26, 139, 121, 63, 139, 69, 211, 62, 0, 0, 64, 192, 0, 0, 0, 191, 184, 163, 124, 63, 139, 69, 211, 62, 0, 0, 128, 191, 0, 0, 0, 191, 184, 163, 124, 63, 41, 143, 235, 62, 0, 0, 128, 191, 0, 0, 128, 191, 26, 139, 121, 63, 41, 143, 235, 62, 0, 0, 128, 63, 0, 0, 128, 191, 201, 246, 98, 63, 11, 25, 154, 62, 0, 0, 64, 64, 0, 0, 128, 191, 201, 246, 98, 63, 109, 207, 129, 62, 0, 0, 64, 64, 0, 0, 0, 191, 43, 222, 95, 63, 109, 207, 129, 62, 0, 0, 128, 63, 0, 0, 0, 191, 43, 222, 95, 63, 11, 25, 154, 62, 0, 0, 128, 63, 0, 0, 128, 62, 15, 67, 124, 63, 172, 12, 172, 62, 0, 0, 64, 64, 0, 0, 0, 191, 15, 67, 124, 63, 134, 214, 197, 62, 0, 0, 64, 64, 0, 0, 128, 191, 173, 91, 127, 63, 35, 245, 199, 62, 0, 0, 128, 63, 0, 0, 128, 190, 173, 91, 127, 63, 74, 43, 174, 62, 0, 0, 128, 191, 0, 0, 128, 62, 53, 220, 242, 60, 20, 155, 60, 63, 0, 0, 128, 191, 0, 0, 128, 190, 255, 247, 42, 61, 20, 155, 60, 63, 0, 0, 128, 63, 0, 0, 128, 190, 255, 247, 42, 61, 227, 191, 72, 63, 0, 0, 128, 63, 0, 0, 128, 62, 53, 220, 242, 60, 227, 191, 72, 63, 0, 0, 128, 191, 0, 0, 64, 192, 199, 3, 121, 63, 63, 61, 106, 63, 0, 0, 128, 63, 0, 0, 64, 192, 199, 3, 121, 63, 112, 24, 94, 63, 0, 0, 128, 63, 0, 0, 128, 191, 80, 243, 107, 63, 112, 24, 94, 63, 0, 0, 128, 191, 0, 0, 128, 191, 80, 243, 107, 63, 63, 61, 106, 63, 0, 0, 128, 191, 0, 0, 64, 192, 231, 219, 112, 63, 92, 160, 121, 63, 0, 0, 128, 191, 0, 0, 128, 191, 231, 219, 112, 63, 214, 147, 108, 63, 0, 0, 128, 63, 0, 0, 128, 191, 109, 179, 100, 63, 214, 147, 108, 63, 0, 0, 128, 63, 0, 0, 64, 192, 109, 179, 100, 63, 92, 160, 121, 63, 0, 0, 128, 191, 0, 0, 0, 191, 30, 105, 120, 63, 203, 254, 135, 62, 0, 0, 128, 63, 0, 0, 0, 191, 30, 105, 120, 63, 90, 106, 95, 62, 0, 0, 128, 63, 0, 0, 128, 191, 128, 80, 117, 63, 90, 106, 95, 62, 0, 0, 128, 191, 0, 0, 128, 191, 128, 80, 117, 63, 203, 254, 135, 62, 0, 0, 64, 64, 0, 0, 128, 191, 253, 166, 87, 63, 209, 214, 240, 62, 0, 0, 64, 64, 0, 0, 0, 191, 194, 198, 84, 63, 28, 221, 240, 62, 0, 0, 64, 64, 0, 0, 128, 192, 206, 183, 33, 63, 242, 122, 113, 63, 0, 0, 64, 64, 0, 0, 128, 62, 139, 247, 7, 63, 242, 122, 113, 63, 0, 0, 96, 64, 0, 0, 128, 62, 139, 247, 7, 63, 67, 99, 110, 63, 0, 0, 96, 64, 0, 0, 128, 192, 206, 183, 33, 63, 67, 99, 110, 63, 0, 0, 32, 193, 0, 0, 128, 192, 142, 139, 156, 62, 168, 230, 39, 62, 0, 0, 32, 65, 0, 0, 128, 192, 142, 139, 156, 62, 247, 187, 34, 63, 0, 0, 32, 65, 0, 0, 128, 62, 21, 12, 208, 62, 247, 187, 34, 63, 0, 0, 32, 193, 0, 0, 128, 62, 21, 12, 208, 62, 168, 230, 39, 62, 0, 0, 32, 193, 0, 0, 96, 192, 118, 140, 34, 63, 134, 39, 186, 61, 0, 0, 32, 193, 0, 0, 64, 192, 20, 165, 37, 63, 134, 39, 186, 61, 0, 0, 32, 65, 0, 0, 64, 192, 20, 165, 37, 63, 62, 7, 16, 63, 0, 0, 32, 65, 0, 0, 96, 192, 118, 140, 34, 63, 62, 7, 16, 63, 0, 0, 32, 193, 0, 0, 96, 192, 106, 31, 208, 61, 33, 67, 35, 63, 0, 0, 32, 65, 0, 0, 96, 192, 180, 234, 18, 63, 33, 67, 35, 63, 0, 0, 32, 65, 0, 0, 64, 192, 180, 234, 18, 63, 208, 90, 38, 63, 0, 0, 32, 193, 0, 0, 64, 192, 106, 31, 208, 61, 208, 90, 38, 63, 0, 0, 32, 193, 0, 0, 128, 192, 192, 248, 79, 62, 121, 68, 23, 63, 0, 0, 32, 193, 0, 0, 128, 62, 231, 124, 155, 62, 121, 68, 23, 63, 0, 0, 32, 65, 0, 0, 128, 62, 231, 124, 155, 62, 31, 21, 244, 61, 0, 0, 32, 65, 0, 0, 128, 192, 192, 248, 79, 62, 31, 21, 244, 61, 0, 0, 64, 64, 0, 0, 128, 192, 42, 243, 138, 60, 246, 36, 107, 63, 0, 0, 96, 64, 0, 0, 128, 192, 130, 125, 159, 59, 246, 36, 107, 63, 0, 0, 96, 64, 0, 0, 128, 62, 130, 125, 159, 59, 119, 108, 81, 63, 0, 0, 64, 64, 0, 0, 128, 62, 42, 243, 138, 60, 119, 108, 81, 63, 0, 0, 32, 193, 0, 0, 128, 192, 150, 129, 90, 63, 82, 127, 116, 63, 0, 0, 32, 193, 0, 0, 128, 62, 82, 193, 64, 63, 82, 127, 116, 63, 0, 0, 24, 193, 0, 0, 128, 62, 82, 193, 64, 63, 163, 103, 113, 63, 0, 0, 24, 193, 0, 0, 128, 192, 150, 129, 90, 63, 163, 103, 113, 63, 0, 0, 32, 193, 0, 0, 128, 192, 113, 79, 206, 61, 80, 159, 67, 60, 0, 0, 40, 65, 0, 0, 128, 192, 113, 79, 206, 61, 105, 169, 253, 62, 0, 0, 40, 65, 0, 0, 128, 62, 64, 168, 26, 57, 105, 169, 253, 62, 0, 0, 32, 193, 0, 0, 128, 62, 64, 168, 26, 57, 80, 159, 67, 60, 0, 0, 32, 193, 0, 0, 24, 65, 162, 114, 23, 63, 99, 77, 159, 59, 0, 0, 32, 193, 0, 0, 32, 65, 162, 114, 23, 63, 61, 201, 138, 60, 0, 0, 40, 65, 0, 0, 32, 65, 143, 52, 220, 61, 61, 201, 138, 60, 0, 0, 40, 65, 0, 0, 24, 65, 143, 52, 220, 61, 99, 77, 159, 59, 0, 0, 32, 193, 0, 0, 24, 65, 119, 82, 34, 63, 90, 106, 31, 63, 0, 0, 40, 65, 0, 0, 24, 65, 119, 82, 34, 63, 181, 142, 14, 62, 0, 0, 40, 65, 0, 0, 32, 65, 216, 57, 31, 63, 181, 142, 14, 62, 0, 0, 32, 193, 0, 0, 32, 65, 216, 57, 31, 63, 90, 106, 31, 63, 0, 0, 32, 193, 0, 0, 128, 192, 106, 31, 208, 61, 8, 14, 3, 63, 0, 0, 32, 193, 0, 0, 128, 62, 196, 16, 79, 62, 8, 14, 3, 63, 0, 0, 40, 65, 0, 0, 128, 62, 196, 16, 79, 62, 85, 235, 232, 60, 0, 0, 40, 65, 0, 0, 128, 192, 106, 31, 208, 61, 85, 235, 232, 60, 0, 0, 32, 193, 0, 0, 128, 192, 158, 53, 3, 63, 217, 193, 91, 63, 0, 0, 24, 193, 0, 0, 128, 192, 158, 47, 0, 63, 217, 193, 91, 63, 0, 0, 24, 193, 0, 0, 128, 62, 158, 47, 0, 63, 90, 9, 66, 63, 0, 0, 32, 193, 0, 0, 128, 62, 158, 53, 3, 63, 90, 9, 66, 63, 0, 0, 32, 193, 0, 0, 128, 192, 241, 217, 67, 63, 109, 207, 65, 63, 0, 0, 32, 193, 0, 0, 128, 62, 241, 217, 67, 63, 238, 22, 40, 63, 0, 0, 96, 64, 0, 0, 128, 62, 196, 111, 228, 62, 238, 22, 40, 63, 0, 0, 96, 64, 0, 0, 128, 192, 196, 111, 228, 62, 109, 207, 65, 63, 0, 0, 40, 193, 0, 0, 128, 192, 113, 79, 206, 61, 151, 121, 26, 57, 0, 0, 40, 193, 0, 0, 128, 62, 64, 168, 26, 57, 151, 121, 26, 57, 0, 0, 40, 193, 0, 0, 96, 192, 65, 110, 90, 63, 207, 71, 36, 62, 0, 0, 40, 193, 0, 0, 32, 65, 65, 110, 90, 63, 195, 54, 245, 62, 0, 0, 32, 193, 0, 0, 32, 65, 223, 134, 93, 63, 195, 54, 245, 62, 0, 0, 32, 193, 0, 0, 96, 192, 223, 134, 93, 63, 207, 71, 36, 62, 0, 0, 40, 193, 0, 0, 96, 192, 105, 118, 80, 63, 108, 145, 188, 61, 0, 0, 32, 193, 0, 0, 96, 192, 7, 143, 83, 63, 108, 145, 188, 61, 0, 0, 32, 193, 0, 0, 32, 65, 7, 143, 83, 63, 54, 55, 210, 62, 0, 0, 40, 193, 0, 0, 32, 65, 105, 118, 80, 63, 54, 55, 210, 62, 0, 0, 40, 193, 0, 0, 128, 192, 192, 248, 79, 62, 81, 73, 26, 63, 0, 0, 40, 193, 0, 0, 128, 62, 231, 124, 155, 62, 81, 73, 26, 63, 0, 0, 32, 193, 0, 0, 128, 192, 20, 231, 186, 62, 61, 77, 64, 63, 0, 0, 96, 64, 0, 0, 128, 192, 182, 23, 61, 61, 61, 77, 64, 63, 0, 0, 96, 64, 0, 0, 128, 62, 182, 23, 61, 61, 190, 148, 38, 63, 0, 0, 32, 193, 0, 0, 128, 62, 20, 231, 186, 62, 190, 148, 38, 63, 0, 0, 24, 193, 0, 0, 128, 192, 7, 143, 83, 63, 214, 23, 98, 63, 0, 0, 24, 193, 0, 0, 128, 62, 7, 143, 83, 63, 87, 95, 72, 63, 0, 0, 96, 64, 0, 0, 128, 62, 66, 242, 4, 63, 87, 95, 72, 63, 0, 0, 96, 64, 0, 0, 128, 192, 66, 242, 4, 63, 214, 23, 98, 63, 0, 0, 32, 65, 0, 0, 128, 192, 151, 42, 26, 63, 173, 136, 118, 63, 0, 0, 40, 65, 0, 0, 128, 192, 151, 42, 26, 63, 92, 160, 121, 63, 0, 0, 40, 65, 0, 0, 128, 62, 84, 106, 0, 63, 92, 160, 121, 63, 0, 0, 32, 65, 0, 0, 128, 62, 84, 106, 0, 63, 173, 136, 118, 63, 0, 0, 32, 65, 0, 0, 96, 192, 183, 89, 18, 62, 51, 203, 93, 63, 0, 0, 32, 65, 0, 0, 24, 65, 102, 102, 230, 62, 51, 203, 93, 63, 0, 0, 40, 65, 0, 0, 24, 65, 102, 102, 230, 62, 227, 226, 96, 63, 0, 0, 40, 65, 0, 0, 96, 192, 183, 89, 18, 62, 227, 226, 96, 63, 0, 0, 32, 65, 0, 0, 96, 192, 251, 128, 86, 63, 194, 124, 37, 62, 0, 0, 40, 65, 0, 0, 96, 192, 154, 153, 89, 63, 194, 124, 37, 62, 0, 0, 40, 65, 0, 0, 24, 65, 154, 153, 89, 63, 124, 200, 239, 62, 0, 0, 32, 65, 0, 0, 24, 65, 251, 128, 86, 63, 124, 200, 239, 62, 0, 0, 32, 65, 0, 0, 128, 192, 56, 149, 28, 63, 69, 180, 117, 63, 0, 0, 32, 65, 0, 0, 128, 62, 245, 212, 2, 63, 69, 180, 117, 63, 0, 0, 40, 65, 0, 0, 128, 62, 245, 212, 2, 63, 150, 156, 114, 63, 0, 0, 40, 65, 0, 0, 128, 192, 56, 149, 28, 63, 150, 156, 114, 63, 0, 0, 96, 64, 0, 0, 128, 192, 60, 78, 70, 62, 217, 193, 91, 63, 0, 0, 96, 64, 0, 0, 128, 62, 60, 78, 70, 62, 90, 9, 66, 63, 0, 0, 24, 193, 0, 0, 128, 190, 88, 233, 105, 63, 190, 86, 161, 62, 0, 0, 24, 193, 0, 0, 128, 62, 186, 208, 102, 63, 190, 86, 161, 62, 0, 0, 64, 64, 0, 0, 128, 62, 186, 208, 102, 63, 35, 86, 165, 60, 0, 0, 64, 64, 0, 0, 128, 190, 88, 233, 105, 63, 35, 86, 165, 60, 0, 0, 128, 63, 0, 0, 128, 190, 101, 181, 107, 60, 22, 193, 75, 63, 0, 0, 32, 65, 0, 0, 128, 190, 7, 77, 62, 61, 61, 213, 21, 63, 0, 0, 32, 65, 0, 0, 128, 62, 217, 164, 13, 61, 53, 98, 21, 63, 0, 0, 128, 63, 0, 0, 128, 62, 196, 82, 36, 59, 12, 78, 75, 63, 0, 0, 128, 63, 0, 0, 64, 192, 188, 26, 209, 62, 38, 167, 172, 62, 0, 0, 128, 63, 0, 0, 24, 65, 188, 26, 209, 62, 65, 212, 33, 63, 0, 0, 32, 65, 0, 0, 24, 65, 217, 255, 30, 63, 65, 212, 33, 63, 0, 0, 32, 65, 0, 0, 64, 192, 217, 255, 30, 63, 38, 167, 172, 62, 0, 0, 128, 63, 0, 0, 64, 192, 19, 128, 208, 62, 234, 46, 169, 62, 0, 0, 32, 65, 0, 0, 64, 192, 133, 178, 30, 63, 234, 46, 169, 62, 0, 0, 32, 65, 0, 0, 24, 65, 133, 178, 30, 63, 119, 108, 17, 61, 0, 0, 128, 63, 0, 0, 24, 65, 19, 128, 208, 62, 119, 108, 17, 61, 0, 0, 128, 63, 0, 0, 128, 190, 77, 219, 108, 63, 40, 151, 22, 63, 0, 0, 128, 63, 0, 0, 128, 62, 235, 243, 111, 63, 40, 151, 22, 63, 0, 0, 32, 65, 0, 0, 128, 62, 235, 243, 111, 63, 54, 249, 76, 63, 0, 0, 32, 65, 0, 0, 128, 190, 77, 219, 108, 63, 54, 249, 76, 63, 0, 0, 24, 193, 0, 0, 128, 190, 203, 159, 34, 63, 4, 38, 4, 61, 0, 0, 64, 64, 0, 0, 128, 190, 157, 16, 174, 62, 4, 38, 4, 61, 0, 0, 64, 64, 0, 0, 128, 62, 157, 16, 174, 62, 35, 86, 165, 60, 0, 0, 24, 193, 0, 0, 128, 62, 203, 159, 34, 63, 35, 86, 165, 60, 0, 0, 64, 192, 0, 0, 160, 191, 7, 143, 83, 63, 63, 61, 106, 63, 0, 0, 64, 192, 0, 0, 224, 191, 7, 143, 83, 63, 144, 37, 103, 63, 0, 0, 24, 193, 0, 0, 224, 191, 250, 54, 44, 63, 144, 37, 103, 63, 0, 0, 24, 193, 0, 0, 160, 191, 250, 54, 44, 63, 63, 61, 106, 63, 0, 0, 48, 192, 0, 0, 160, 191, 130, 154, 31, 63, 220, 142, 109, 63, 0, 0, 20, 193, 0, 0, 160, 191, 233, 132, 240, 62, 220, 142, 109, 63, 0, 0, 20, 193, 0, 0, 128, 62, 234, 132, 240, 62, 0, 159, 98, 63, 0, 0, 48, 192, 0, 0, 128, 62, 130, 154, 31, 63, 0, 159, 98, 63, 0, 0, 0, 0, 0, 0, 224, 191, 7, 77, 62, 61, 240, 23, 83, 63, 0, 0, 0, 0, 0, 0, 160, 191, 217, 164, 13, 61, 232, 164, 82, 63, 0, 0, 0, 0, 0, 0, 224, 191, 104, 24, 235, 61, 40, 151, 22, 63, 0, 0, 0, 0, 0, 0, 160, 191, 202, 58, 233, 61, 93, 171, 25, 63, 0, 0, 128, 63, 0, 0, 128, 62, 222, 31, 179, 61, 186, 110, 34, 63, 0, 0, 128, 63, 0, 0, 128, 190, 124, 253, 180, 61, 132, 90, 31, 63, 0, 0, 48, 192, 0, 0, 160, 191, 220, 110, 94, 63, 185, 103, 29, 63, 0, 0, 48, 192, 0, 0, 128, 62, 164, 86, 83, 63, 125, 98, 29, 63, 0, 0, 20, 193, 0, 0, 128, 62, 164, 86, 83, 63, 11, 105, 69, 63, 0, 0, 20, 193, 0, 0, 160, 191, 220, 110, 94, 63, 70, 110, 69, 63, 0, 0, 24, 193, 0, 0, 128, 62, 105, 118, 80, 63, 49, 108, 69, 63, 0, 0, 24, 193, 0, 0, 128, 190, 164, 86, 83, 63, 11, 105, 69, 63, 0, 0, 24, 193, 0, 0, 224, 191, 20, 231, 186, 62, 154, 70, 172, 61, 0, 0, 24, 193, 0, 0, 160, 191, 20, 231, 186, 62, 252, 252, 147, 61, 0, 0, 64, 192, 0, 0, 160, 191, 244, 109, 88, 62, 252, 252, 147, 61, 0, 0, 64, 192, 0, 0, 224, 191, 244, 109, 88, 62, 154, 70, 172, 61, 0, 0, 0, 192, 0, 0, 224, 191, 81, 27, 33, 61, 118, 19, 95, 63, 0, 0, 0, 192, 0, 0, 160, 191, 72, 230, 224, 60, 110, 160, 94, 63, 0, 0, 0, 192, 0, 0, 64, 64, 253, 107, 107, 63, 124, 138, 106, 63, 0, 0, 0, 192, 0, 0, 24, 65, 253, 107, 107, 63, 78, 62, 67, 63, 0, 0, 0, 0, 0, 0, 24, 65, 131, 67, 95, 63, 78, 62, 67, 63, 0, 0, 0, 0, 0, 0, 64, 64, 131, 67, 95, 63, 124, 138, 106, 63, 0, 0, 0, 192, 0, 0, 64, 64, 35, 166, 76, 62, 172, 47, 4, 63, 0, 0, 0, 0, 0, 0, 64, 64, 35, 166, 76, 62, 122, 84, 16, 63, 0, 0, 0, 0, 0, 0, 24, 65, 182, 23, 61, 61, 122, 84, 16, 63, 0, 0, 0, 192, 0, 0, 24, 65, 182, 23, 61, 61, 172, 47, 4, 63, 0, 0, 0, 192, 0, 0, 224, 191, 69, 14, 38, 62, 175, 137, 23, 63, 0, 0, 0, 192, 0, 0, 160, 191, 118, 31, 37, 62, 227, 157, 26, 63, 0, 0, 0, 0, 0, 0, 160, 191, 202, 58, 233, 61, 93, 171, 25, 63, 0, 0, 0, 0, 0, 0, 224, 191, 104, 24, 235, 61, 40, 151, 22, 63, 0, 0, 24, 193, 0, 0, 224, 191, 188, 187, 59, 62, 23, 166, 19, 63, 0, 0, 64, 192, 0, 0, 224, 191, 53, 220, 242, 60, 23, 166, 19, 63, 0, 0, 64, 192, 0, 0, 160, 191, 53, 220, 242, 60, 104, 142, 16, 63, 0, 0, 24, 193, 0, 0, 160, 191, 188, 187, 59, 62, 104, 142, 16, 63, 0, 0, 24, 193, 0, 0, 128, 62, 20, 231, 186, 62, 68, 64, 22, 61, 0, 0, 64, 192, 0, 0, 128, 62, 244, 109, 88, 62, 68, 64, 22, 61, 0, 0, 0, 192, 0, 0, 160, 191, 176, 144, 254, 62, 48, 68, 124, 63, 0, 0, 192, 191, 0, 0, 160, 191, 176, 144, 254, 62, 223, 91, 127, 63, 0, 0, 192, 191, 0, 0, 128, 62, 79, 74, 236, 62, 223, 91, 127, 63, 0, 0, 0, 192, 0, 0, 128, 62, 79, 74, 236, 62, 48, 68, 124, 63, 0, 0, 0, 192, 0, 0, 64, 64, 130, 125, 159, 59, 210, 144, 0, 63, 0, 0, 0, 192, 0, 0, 24, 65, 130, 125, 159, 59, 0, 221, 39, 63, 0, 0, 192, 191, 0, 0, 24, 65, 42, 243, 138, 60, 0, 221, 39, 63, 0, 0, 192, 191, 0, 0, 64, 64, 42, 243, 138, 60, 210, 144, 0, 63, 0, 0, 0, 192, 0, 0, 64, 64, 71, 84, 46, 63, 45, 119, 106, 63, 0, 0, 192, 191, 0, 0, 64, 64, 71, 84, 46, 63, 220, 142, 109, 63, 0, 0, 192, 191, 0, 0, 24, 65, 84, 172, 85, 63, 220, 142, 109, 63, 0, 0, 0, 192, 0, 0, 24, 65, 84, 172, 85, 63, 45, 119, 106, 63, 0, 0, 0, 192, 0, 0, 160, 191, 114, 240, 120, 63, 53, 98, 21, 63, 0, 0, 0, 192, 0, 0, 128, 62, 114, 240, 120, 63, 164, 130, 30, 63, 0, 0, 192, 191, 0, 0, 128, 62, 16, 9, 124, 63, 164, 130, 30, 63, 0, 0, 192, 191, 0, 0, 160, 191, 16, 9, 124, 63, 53, 98, 21, 63, 0, 0, 24, 193, 0, 0, 160, 191, 45, 201, 116, 63, 126, 60, 143, 62, 0, 0, 64, 192, 0, 0, 160, 191, 45, 201, 116, 63, 66, 72, 1, 62, 0, 0, 64, 192, 0, 0, 128, 62, 252, 165, 107, 63, 66, 72, 1, 62, 0, 0, 24, 193, 0, 0, 128, 62, 252, 165, 107, 63, 126, 60, 143, 62, 0, 0, 24, 193, 0, 0, 128, 190, 193, 161, 79, 63, 45, 216, 71, 63, 0, 0, 24, 193, 0, 0, 128, 62, 193, 161, 79, 63, 126, 192, 68, 63, 0, 0, 64, 64, 0, 0, 128, 62, 69, 10, 4, 63, 126, 192, 68, 63, 0, 0, 64, 64, 0, 0, 128, 190, 69, 10, 4, 63, 45, 216, 71, 63, 0, 0, 32, 193, 0, 0, 128, 190, 12, 175, 39, 63, 48, 33, 36, 59, 0, 0, 64, 192, 0, 0, 128, 190, 98, 12, 82, 63, 48, 33, 36, 59, 0, 0, 64, 192, 0, 0, 128, 62, 98, 12, 82, 63, 21, 244, 110, 60, 0, 0, 32, 193, 0, 0, 128, 62, 12, 175, 39, 63, 21, 244, 110, 60, 0, 0, 32, 193, 0, 0, 64, 192, 19, 223, 37, 63, 249, 206, 164, 62, 0, 0, 32, 193, 0, 0, 24, 65, 19, 223, 37, 63, 42, 232, 29, 63, 0, 0, 64, 192, 0, 0, 24, 65, 106, 60, 80, 63, 42, 232, 29, 63, 0, 0, 64, 192, 0, 0, 64, 192, 106, 60, 80, 63, 249, 206, 164, 62, 0, 0, 32, 193, 0, 0, 64, 192, 19, 223, 37, 63, 189, 253, 174, 60, 0, 0, 64, 192, 0, 0, 64, 192, 106, 60, 80, 63, 189, 253, 174, 60, 0, 0, 64, 192, 0, 0, 24, 65, 106, 60, 80, 63, 55, 241, 161, 62, 0, 0, 32, 193, 0, 0, 24, 65, 19, 223, 37, 63, 55, 241, 161, 62, 0, 0, 32, 193, 0, 0, 128, 190, 116, 227, 98, 63, 58, 31, 145, 61, 0, 0, 32, 193, 0, 0, 128, 62, 19, 252, 101, 63, 58, 31, 145, 61, 0, 0, 64, 192, 0, 0, 128, 62, 19, 252, 101, 63, 215, 209, 113, 62, 0, 0, 64, 192, 0, 0, 128, 190, 116, 227, 98, 63, 215, 209, 113, 62, 0, 0, 24, 193, 0, 0, 128, 190, 220, 147, 115, 63, 121, 189, 88, 63, 0, 0, 64, 64, 0, 0, 128, 190, 220, 147, 115, 63, 203, 60, 13, 63, 0, 0, 64, 64, 0, 0, 128, 62, 62, 123, 112, 63, 203, 60, 13, 63, 0, 0, 24, 193, 0, 0, 128, 62, 62, 123, 112, 63, 121, 189, 88, 63, 0, 0, 0, 193, 0, 0, 0, 192, 241, 217, 67, 63, 52, 9, 35, 63, 0, 0, 0, 193, 0, 0, 192, 191, 241, 217, 67, 63, 133, 241, 31, 63, 0, 0, 192, 192, 0, 0, 192, 191, 119, 177, 55, 63, 133, 241, 31, 63, 0, 0, 192, 192, 0, 0, 0, 192, 119, 177, 55, 63, 52, 9, 35, 63, 0, 0, 0, 64, 0, 0, 0, 192, 170, 38, 64, 63, 125, 6, 117, 63, 0, 0, 128, 64, 0, 0, 0, 192, 36, 79, 76, 63, 125, 6, 117, 63, 0, 0, 128, 64, 0, 0, 192, 191, 36, 79, 76, 63, 44, 30, 120, 63, 0, 0, 0, 64, 0, 0, 192, 191, 170, 38, 64, 63, 44, 30, 120, 63, 0, 0, 0, 64, 0, 0, 192, 64, 219, 205, 115, 63, 183, 99, 75, 63, 0, 0, 0, 64, 0, 0, 0, 65, 85, 246, 127, 63, 183, 99, 75, 63, 0, 0, 128, 64, 0, 0, 0, 65, 85, 246, 127, 63, 134, 136, 87, 63, 0, 0, 128, 64, 0, 0, 192, 64, 219, 205, 115, 63, 134, 136, 87, 63, 0, 0, 0, 64, 0, 0, 192, 64, 3, 53, 191, 61, 137, 209, 115, 63, 0, 0, 128, 64, 0, 0, 192, 64, 106, 60, 16, 62, 137, 209, 115, 63, 0, 0, 128, 64, 0, 0, 0, 65, 106, 60, 16, 62, 88, 246, 127, 63, 0, 0, 0, 64, 0, 0, 0, 65, 3, 53, 191, 61, 88, 246, 127, 63, 0, 0, 0, 64, 0, 0, 0, 192, 85, 48, 192, 62, 220, 80, 104, 61, 0, 0, 0, 64, 0, 0, 192, 191, 145, 97, 198, 62, 220, 80, 104, 61, 0, 0, 128, 64, 0, 0, 192, 191, 145, 97, 198, 62, 230, 78, 213, 61, 0, 0, 128, 64, 0, 0, 0, 192, 85, 48, 192, 62, 230, 78, 213, 61, 0, 0, 0, 193, 0, 0, 0, 192, 12, 109, 146, 62, 178, 69, 242, 61, 0, 0, 192, 192, 0, 0, 0, 192, 47, 56, 116, 62, 178, 69, 242, 61, 0, 0, 192, 192, 0, 0, 192, 191, 47, 56, 116, 62, 57, 136, 217, 61, 0, 0, 0, 193, 0, 0, 192, 191, 12, 109, 146, 62, 57, 136, 217, 61, 0, 0, 0, 193, 0, 0, 0, 192, 66, 184, 4, 63, 118, 19, 95, 63, 0, 0, 0, 193, 0, 0, 192, 191, 66, 184, 4, 63, 199, 251, 91, 63, 0, 0, 192, 192, 0, 0, 192, 191, 145, 31, 241, 62, 199, 251, 91, 63, 0, 0, 192, 192, 0, 0, 0, 192, 145, 31, 241, 62, 118, 19, 95, 63, 0, 0, 160, 64, 0, 0, 0, 192, 43, 222, 95, 63, 40, 151, 22, 63, 0, 0, 224, 64, 0, 0, 0, 192, 165, 6, 108, 63, 40, 151, 22, 63, 0, 0, 224, 64, 0, 0, 192, 191, 165, 6, 108, 63, 215, 174, 25, 63, 0, 0, 160, 64, 0, 0, 192, 191, 43, 222, 95, 63, 215, 174, 25, 63, 0, 0, 160, 64, 0, 0, 192, 64, 186, 208, 166, 62, 77, 132, 115, 63, 0, 0, 160, 64, 0, 0, 0, 65, 186, 208, 166, 62, 28, 169, 127, 63, 0, 0, 224, 64, 0, 0, 0, 65, 174, 33, 191, 62, 28, 169, 127, 63, 0, 0, 224, 64, 0, 0, 192, 64, 174, 33, 191, 62, 77, 132, 115, 63, 0, 0, 160, 64, 0, 0, 192, 64, 188, 63, 230, 62, 189, 253, 110, 63, 0, 0, 224, 64, 0, 0, 192, 64, 188, 63, 230, 62, 140, 34, 123, 63, 0, 0, 224, 64, 0, 0, 0, 65, 176, 144, 254, 62, 140, 34, 123, 63, 0, 0, 160, 64, 0, 0, 0, 65, 176, 144, 254, 62, 189, 253, 110, 63, 0, 0, 160, 64, 0, 0, 0, 192, 40, 235, 117, 63, 229, 175, 178, 62, 0, 0, 160, 64, 0, 0, 192, 191, 199, 3, 121, 63, 229, 175, 178, 62, 0, 0, 224, 64, 0, 0, 192, 191, 199, 3, 121, 63, 131, 249, 202, 62, 0, 0, 224, 64, 0, 0, 0, 192, 40, 235, 117, 63, 131, 249, 202, 62, 0, 0, 0, 193, 0, 0, 0, 192, 165, 130, 129, 62, 248, 241, 124, 63, 0, 0, 192, 192, 0, 0, 0, 192, 97, 99, 82, 62, 248, 241, 124, 63, 0, 0, 192, 192, 0, 0, 192, 191, 97, 99, 82, 62, 73, 218, 121, 63, 0, 0, 0, 193, 0, 0, 192, 191, 165, 130, 129, 62, 73, 218, 121, 63, 0, 0, 0, 193, 0, 0, 0, 192, 154, 153, 89, 63, 239, 173, 95, 63, 0, 0, 0, 193, 0, 0, 192, 191, 251, 128, 86, 63, 239, 173, 95, 63, 0, 0, 192, 192, 0, 0, 192, 191, 251, 128, 86, 63, 32, 137, 83, 63, 0, 0, 192, 192, 0, 0, 0, 192, 154, 153, 89, 63, 32, 137, 83, 63, 0, 0, 0, 65, 0, 0, 0, 192, 233, 8, 91, 63, 83, 216, 102, 63, 0, 0, 32, 65, 0, 0, 0, 192, 233, 8, 91, 63, 34, 253, 114, 63, 0, 0, 32, 65, 0, 0, 192, 191, 135, 33, 94, 63, 34, 253, 114, 63, 0, 0, 0, 65, 0, 0, 192, 191, 135, 33, 94, 63, 83, 216, 102, 63, 0, 0, 0, 65, 0, 0, 192, 64, 116, 66, 56, 61, 150, 156, 114, 63, 0, 0, 0, 65, 0, 0, 0, 65, 116, 66, 56, 61, 101, 193, 126, 63, 0, 0, 32, 65, 0, 0, 0, 65, 10, 101, 189, 61, 101, 193, 126, 63, 0, 0, 32, 65, 0, 0, 192, 64, 10, 101, 189, 61, 150, 156, 114, 63, 0, 0, 0, 65, 0, 0, 192, 64, 58, 99, 113, 63, 106, 196, 106, 63, 0, 0, 32, 65, 0, 0, 192, 64, 58, 99, 113, 63, 57, 233, 118, 63, 0, 0, 32, 65, 0, 0, 0, 65, 180, 139, 125, 63, 57, 233, 118, 63, 0, 0, 0, 65, 0, 0, 0, 65, 180, 139, 125, 63, 106, 196, 106, 63, 0, 0, 0, 65, 0, 0, 0, 192, 64, 73, 69, 63, 94, 144, 35, 63, 0, 0, 0, 65, 0, 0, 192, 191, 222, 97, 72, 63, 94, 144, 35, 63, 0, 0, 32, 65, 0, 0, 192, 191, 222, 97, 72, 63, 45, 181, 47, 63, 0, 0, 32, 65, 0, 0, 0, 192, 64, 73, 69, 63, 45, 181, 47, 63, 0, 0, 0, 193, 0, 0, 0, 192, 225, 113, 178, 62, 127, 246, 222, 61, 0, 0, 192, 192, 0, 0, 0, 192, 237, 32, 154, 62, 127, 246, 222, 61, 0, 0, 192, 192, 0, 0, 192, 191, 237, 32, 154, 62, 6, 57, 198, 61, 0, 0, 0, 193, 0, 0, 192, 191, 225, 113, 178, 62, 6, 57, 198, 61, 0, 0, 160, 192, 0, 0, 0, 192, 173, 91, 127, 63, 154, 132, 49, 63, 0, 0, 160, 192, 0, 0, 192, 191, 15, 67, 124, 63, 154, 132, 49, 63, 0, 0, 64, 192, 0, 0, 192, 191, 15, 67, 124, 63, 203, 95, 37, 63, 0, 0, 64, 192, 0, 0, 0, 192, 173, 91, 127, 63, 203, 95, 37, 63, 0, 0, 64, 64, 0, 0, 0, 192, 3, 214, 169, 62, 13, 106, 97, 63, 0, 0, 8, 65, 0, 0, 0, 192, 249, 112, 236, 62, 13, 106, 97, 63, 0, 0, 8, 65, 0, 0, 192, 191, 249, 112, 236, 62, 188, 129, 100, 63, 0, 0, 64, 64, 0, 0, 192, 191, 3, 214, 169, 62, 188, 129, 100, 63, 0, 0, 64, 64, 0, 0, 64, 64, 215, 144, 95, 63, 219, 212, 29, 63, 0, 0, 64, 64, 0, 0, 160, 64, 81, 185, 107, 63, 219, 212, 29, 63, 0, 0, 8, 65, 0, 0, 160, 64, 81, 185, 107, 63, 74, 24, 63, 63, 0, 0, 8, 65, 0, 0, 64, 64, 215, 144, 95, 63, 74, 24, 63, 63, 0, 0, 64, 64, 0, 0, 64, 64, 251, 128, 86, 63, 176, 50, 48, 60, 0, 0, 8, 65, 0, 0, 64, 64, 251, 128, 86, 63, 229, 16, 16, 62, 0, 0, 8, 65, 0, 0, 160, 64, 117, 169, 98, 63, 229, 16, 16, 62, 0, 0, 64, 64, 0, 0, 160, 64, 117, 169, 98, 63, 176, 50, 48, 60, 0, 0, 64, 64, 0, 0, 0, 192, 66, 23, 90, 61, 164, 33, 65, 63, 0, 0, 64, 64, 0, 0, 192, 191, 66, 23, 90, 61, 83, 57, 68, 63, 0, 0, 8, 65, 0, 0, 192, 191, 188, 187, 59, 62, 83, 57, 68, 63, 0, 0, 8, 65, 0, 0, 0, 192, 188, 187, 59, 62, 164, 33, 65, 63, 0, 0, 160, 192, 0, 0, 0, 192, 100, 86, 124, 63, 132, 179, 154, 62, 0, 0, 64, 192, 0, 0, 0, 192, 234, 45, 112, 63, 132, 179, 154, 62, 0, 0, 64, 192, 0, 0, 192, 191, 234, 45, 112, 63, 38, 132, 148, 62, 0, 0, 160, 192, 0, 0, 192, 191, 100, 86, 124, 63, 38, 132, 148, 62, 0, 0, 0, 192, 0, 0, 24, 65, 222, 192, 93, 63, 164, 95, 6, 63, 0, 0, 176, 192, 0, 0, 24, 65, 45, 201, 116, 63, 164, 95, 6, 63, 0, 0, 176, 192, 0, 0, 64, 64, 45, 201, 116, 63, 103, 50, 190, 62, 0, 0, 0, 192, 0, 0, 64, 64, 222, 192, 93, 63, 102, 50, 190, 62, 0, 0, 0, 192, 0, 0, 224, 191, 16, 199, 38, 63, 82, 127, 116, 63, 0, 0, 0, 192, 0, 0, 160, 191, 11, 248, 39, 63, 224, 180, 113, 63, 0, 0, 144, 192, 0, 0, 128, 190, 31, 64, 56, 63, 240, 26, 114, 63, 0, 0, 176, 192, 0, 0, 128, 190, 94, 207, 61, 63, 82, 127, 116, 63, 0, 0, 168, 192, 0, 0, 32, 64, 186, 113, 17, 62, 220, 142, 109, 63, 0, 0, 168, 192, 0, 0, 16, 65, 186, 113, 17, 62, 208, 246, 69, 63, 0, 0, 136, 192, 0, 0, 16, 65, 103, 233, 243, 61, 113, 245, 69, 63, 0, 0, 136, 192, 0, 0, 32, 64, 103, 233, 243, 61, 126, 141, 109, 63, 0, 0, 176, 192, 0, 0, 128, 190, 117, 37, 120, 62, 186, 110, 34, 63, 0, 0, 144, 192, 0, 0, 128, 190, 109, 228, 95, 62, 119, 245, 33, 63, 0, 0, 0, 192, 0, 0, 24, 65, 132, 236, 94, 61, 78, 246, 69, 63, 0, 0, 0, 192, 0, 0, 64, 64, 132, 236, 94, 61, 90, 142, 109, 63, 0, 0, 144, 192, 0, 0, 64, 64, 103, 233, 243, 61, 126, 141, 109, 63, 0, 0, 144, 192, 0, 0, 24, 65, 103, 233, 243, 61, 113, 245, 69, 63, 0, 0, 64, 192, 0, 0, 224, 191, 76, 87, 66, 63, 13, 168, 38, 63, 0, 0, 64, 192, 0, 0, 160, 191, 76, 87, 66, 63, 94, 144, 35, 63, 0, 0, 24, 193, 0, 0, 160, 191, 63, 255, 26, 63, 94, 144, 35, 63, 0, 0, 24, 193, 0, 0, 224, 191, 63, 255, 26, 63, 13, 168, 38, 63, 0, 0, 64, 192, 0, 0, 224, 191, 1, 169, 127, 63, 203, 192, 2, 63, 0, 0, 64, 192, 0, 0, 128, 190, 209, 133, 118, 63, 203, 192, 2, 63, 0, 0, 32, 192, 0, 0, 128, 190, 209, 133, 118, 63, 55, 82, 255, 62, 0, 0, 32, 192, 0, 0, 224, 191, 1, 169, 127, 63, 55, 82, 255, 62, 0, 0, 0, 192, 0, 0, 224, 191, 36, 214, 128, 62, 13, 106, 97, 63, 0, 0, 128, 63, 0, 0, 224, 191, 107, 39, 165, 62, 13, 106, 97, 63, 0, 0, 128, 63, 0, 0, 128, 190, 107, 39, 165, 62, 124, 138, 106, 63, 0, 0, 0, 192, 0, 0, 128, 190, 36, 214, 128, 62, 124, 138, 106, 63, 0, 0, 0, 192, 0, 0, 32, 64, 248, 141, 108, 63, 11, 52, 7, 63, 0, 0, 0, 192, 0, 0, 64, 64, 248, 141, 108, 63, 187, 75, 10, 63, 0, 0, 128, 63, 0, 0, 64, 64, 5, 193, 126, 63, 187, 75, 10, 63, 0, 0, 128, 63, 0, 0, 32, 64, 5, 193, 126, 63, 11, 52, 7, 63, 0, 0, 0, 192, 0, 0, 32, 64, 93, 38, 126, 63, 179, 220, 169, 61, 0, 0, 128, 63, 0, 0, 32, 64, 93, 38, 126, 63, 227, 129, 67, 60, 0, 0, 128, 63, 0, 0, 64, 64, 190, 13, 123, 63, 227, 129, 67, 60, 0, 0, 0, 192, 0, 0, 64, 64, 190, 13, 123, 63, 179, 220, 169, 61, 0, 0, 0, 192, 0, 0, 224, 191, 251, 91, 129, 62, 227, 94, 107, 63, 0, 0, 0, 192, 0, 0, 128, 190, 251, 91, 129, 62, 82, 127, 116, 63, 0, 0, 128, 63, 0, 0, 128, 190, 20, 194, 165, 62, 82, 127, 116, 63, 0, 0, 128, 63, 0, 0, 224, 191, 20, 194, 165, 62, 227, 94, 107, 63, 0, 0, 64, 192, 0, 0, 224, 191, 118, 206, 119, 63, 192, 229, 45, 63, 0, 0, 32, 192, 0, 0, 224, 191, 216, 181, 116, 63, 192, 229, 45, 63, 0, 0, 32, 192, 0, 0, 128, 190, 216, 181, 116, 63, 81, 197, 36, 63, 0, 0, 64, 192, 0, 0, 128, 190, 118, 206, 119, 63, 81, 197, 36, 63, 0, 0, 0, 192, 0, 0, 32, 64, 222, 192, 93, 63, 144, 39, 184, 62, 0, 0, 176, 192, 0, 0, 128, 62, 45, 201, 116, 63, 204, 246, 156, 62, 0, 0, 176, 192, 0, 0, 128, 190, 162, 238, 44, 62, 124, 138, 106, 63, 0, 0, 176, 192, 0, 0, 128, 62, 85, 48, 192, 62, 200, 181, 43, 63, 0, 0, 176, 192, 0, 0, 64, 64, 36, 145, 225, 62, 200, 181, 43, 63, 0, 0, 0, 192, 0, 0, 64, 64, 36, 145, 225, 62, 182, 231, 64, 63, 0, 0, 0, 192, 0, 0, 128, 62, 85, 48, 192, 62, 182, 231, 64, 63, 0, 0, 0, 192, 0, 0, 16, 64, 235, 243, 111, 63, 10, 219, 20, 63, 0, 0, 176, 192, 0, 0, 0, 0, 87, 254, 84, 63, 10, 219, 20, 63, 0, 0, 0, 192, 0, 0, 0, 0, 24, 224, 101, 63, 133, 206, 7, 63, 0, 0, 128, 190, 0, 0, 128, 190, 234, 206, 26, 62, 221, 196, 71, 63, 0, 0, 64, 192, 0, 0, 128, 190, 234, 206, 26, 62, 60, 112, 88, 63, 0, 0, 64, 192, 0, 0, 224, 191, 173, 91, 63, 62, 60, 112, 88, 63, 0, 0, 32, 192, 0, 0, 224, 191, 173, 91, 63, 62, 89, 104, 85, 63), +"format": 4151, +"index_count": 708, +"index_data": PackedByteArray(0, 0, 1, 0, 2, 0, 0, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0, 4, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 8, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 12, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 16, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 20, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 24, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 0, 28, 0, 30, 0, 31, 0, 32, 0, 33, 0, 34, 0, 32, 0, 34, 0, 35, 0, 36, 0, 37, 0, 38, 0, 36, 0, 38, 0, 39, 0, 40, 0, 41, 0, 42, 0, 40, 0, 42, 0, 43, 0, 44, 0, 45, 0, 46, 0, 44, 0, 46, 0, 47, 0, 48, 0, 49, 0, 50, 0, 48, 0, 50, 0, 51, 0, 52, 0, 53, 0, 54, 0, 52, 0, 54, 0, 55, 0, 56, 0, 57, 0, 58, 0, 56, 0, 58, 0, 59, 0, 60, 0, 61, 0, 62, 0, 60, 0, 62, 0, 63, 0, 64, 0, 65, 0, 66, 0, 64, 0, 66, 0, 67, 0, 68, 0, 69, 0, 70, 0, 68, 0, 70, 0, 71, 0, 72, 0, 73, 0, 74, 0, 72, 0, 74, 0, 75, 0, 76, 0, 77, 0, 78, 0, 76, 0, 78, 0, 79, 0, 80, 0, 81, 0, 82, 0, 80, 0, 82, 0, 83, 0, 84, 0, 85, 0, 86, 0, 84, 0, 86, 0, 87, 0, 88, 0, 89, 0, 90, 0, 88, 0, 90, 0, 91, 0, 22, 0, 21, 0, 92, 0, 22, 0, 92, 0, 93, 0, 94, 0, 95, 0, 96, 0, 94, 0, 96, 0, 97, 0, 98, 0, 99, 0, 100, 0, 98, 0, 100, 0, 101, 0, 102, 0, 103, 0, 104, 0, 102, 0, 104, 0, 105, 0, 106, 0, 107, 0, 108, 0, 106, 0, 108, 0, 109, 0, 110, 0, 111, 0, 112, 0, 110, 0, 112, 0, 113, 0, 114, 0, 115, 0, 116, 0, 114, 0, 116, 0, 117, 0, 118, 0, 119, 0, 120, 0, 118, 0, 120, 0, 121, 0, 122, 0, 123, 0, 124, 0, 122, 0, 124, 0, 125, 0, 126, 0, 127, 0, 128, 0, 126, 0, 128, 0, 129, 0, 130, 0, 131, 0, 132, 0, 130, 0, 132, 0, 133, 0, 134, 0, 135, 0, 136, 0, 134, 0, 136, 0, 137, 0, 138, 0, 139, 0, 140, 0, 138, 0, 140, 0, 141, 0, 142, 0, 143, 0, 144, 0, 142, 0, 144, 0, 145, 0, 146, 0, 122, 0, 125, 0, 146, 0, 125, 0, 147, 0, 148, 0, 149, 0, 150, 0, 148, 0, 150, 0, 151, 0, 152, 0, 153, 0, 154, 0, 152, 0, 154, 0, 155, 0, 156, 0, 157, 0, 111, 0, 156, 0, 111, 0, 110, 0, 158, 0, 159, 0, 160, 0, 158, 0, 160, 0, 161, 0, 162, 0, 163, 0, 164, 0, 162, 0, 164, 0, 165, 0, 166, 0, 167, 0, 168, 0, 166, 0, 168, 0, 169, 0, 170, 0, 171, 0, 172, 0, 170, 0, 172, 0, 173, 0, 174, 0, 175, 0, 176, 0, 174, 0, 176, 0, 177, 0, 178, 0, 179, 0, 180, 0, 178, 0, 180, 0, 181, 0, 139, 0, 182, 0, 183, 0, 139, 0, 183, 0, 140, 0, 184, 0, 185, 0, 186, 0, 184, 0, 186, 0, 187, 0, 188, 0, 189, 0, 190, 0, 188, 0, 190, 0, 191, 0, 192, 0, 193, 0, 194, 0, 192, 0, 194, 0, 195, 0, 196, 0, 197, 0, 198, 0, 196, 0, 198, 0, 199, 0, 200, 0, 201, 0, 202, 0, 200, 0, 202, 0, 203, 0, 204, 0, 205, 0, 206, 0, 204, 0, 206, 0, 207, 0, 208, 0, 209, 0, 210, 0, 208, 0, 210, 0, 211, 0, 212, 0, 213, 0, 214, 0, 212, 0, 214, 0, 215, 0, 216, 0, 188, 0, 191, 0, 216, 0, 191, 0, 217, 0, 218, 0, 219, 0, 220, 0, 218, 0, 220, 0, 221, 0, 222, 0, 223, 0, 224, 0, 222, 0, 224, 0, 225, 0, 23, 0, 226, 0, 227, 0, 23, 0, 227, 0, 20, 0, 228, 0, 229, 0, 230, 0, 228, 0, 230, 0, 231, 0, 232, 0, 216, 0, 217, 0, 232, 0, 217, 0, 233, 0, 234, 0, 235, 0, 236, 0, 234, 0, 236, 0, 237, 0, 238, 0, 239, 0, 240, 0, 238, 0, 240, 0, 241, 0, 242, 0, 243, 0, 244, 0, 242, 0, 244, 0, 245, 0, 246, 0, 247, 0, 248, 0, 246, 0, 248, 0, 249, 0, 229, 0, 250, 0, 251, 0, 229, 0, 251, 0, 230, 0, 252, 0, 253, 0, 254, 0, 252, 0, 254, 0, 255, 0, 0, 1, 1, 1, 2, 1, 0, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 4, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 8, 1, 10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 12, 1, 14, 1, 15, 1, 16, 1, 17, 1, 18, 1, 16, 1, 18, 1, 19, 1, 20, 1, 21, 1, 22, 1, 20, 1, 22, 1, 23, 1, 24, 1, 25, 1, 26, 1, 24, 1, 26, 1, 27, 1, 28, 1, 29, 1, 30, 1, 28, 1, 30, 1, 31, 1, 32, 1, 33, 1, 34, 1, 32, 1, 34, 1, 35, 1, 36, 1, 37, 1, 38, 1, 36, 1, 38, 1, 39, 1, 40, 1, 41, 1, 42, 1, 40, 1, 42, 1, 43, 1, 44, 1, 45, 1, 46, 1, 44, 1, 46, 1, 47, 1, 48, 1, 49, 1, 50, 1, 48, 1, 50, 1, 51, 1, 52, 1, 53, 1, 54, 1, 52, 1, 54, 1, 55, 1, 56, 1, 57, 1, 58, 1, 56, 1, 58, 1, 59, 1, 60, 1, 61, 1, 62, 1, 60, 1, 62, 1, 63, 1, 64, 1, 65, 1, 66, 1, 64, 1, 66, 1, 67, 1, 68, 1, 69, 1, 70, 1, 68, 1, 70, 1, 71, 1, 72, 1, 73, 1, 74, 1, 72, 1, 74, 1, 75, 1, 76, 1, 77, 1, 78, 1, 76, 1, 78, 1, 79, 1, 80, 1, 81, 1, 82, 1, 80, 1, 82, 1, 83, 1, 84, 1, 85, 1, 86, 1, 84, 1, 86, 1, 87, 1, 88, 1, 89, 1, 90, 1, 88, 1, 90, 1, 91, 1, 92, 1, 93, 1, 94, 1, 92, 1, 94, 1, 95, 1, 96, 1, 97, 1, 98, 1, 96, 1, 98, 1, 99, 1, 100, 1, 101, 1, 102, 1, 100, 1, 102, 1, 103, 1, 104, 1, 105, 1, 106, 1, 104, 1, 106, 1, 107, 1, 108, 1, 109, 1, 110, 1, 108, 1, 110, 1, 111, 1, 112, 1, 113, 1, 114, 1, 112, 1, 114, 1, 115, 1, 116, 1, 117, 1, 118, 1, 116, 1, 118, 1, 119, 1, 120, 1, 121, 1, 122, 1, 120, 1, 122, 1, 123, 1, 124, 1, 125, 1, 126, 1, 124, 1, 126, 1, 127, 1, 128, 1, 129, 1, 130, 1, 128, 1, 130, 1, 131, 1, 132, 1, 133, 1, 134, 1, 132, 1, 134, 1, 135, 1, 136, 1, 137, 1, 138, 1, 136, 1, 138, 1, 139, 1, 140, 1, 141, 1, 142, 1, 140, 1, 142, 1, 143, 1, 144, 1, 145, 1, 146, 1, 144, 1, 146, 1, 147, 1, 242, 0, 148, 1, 149, 1, 242, 0, 149, 1, 243, 0, 150, 1, 151, 1, 152, 1, 150, 1, 152, 1, 153, 1, 154, 1, 155, 1, 156, 1, 154, 1, 156, 1, 157, 1, 158, 1, 159, 1, 160, 1, 158, 1, 160, 1, 161, 1, 162, 1, 163, 1, 164, 1, 162, 1, 164, 1, 165, 1, 166, 1, 167, 1, 168, 1, 166, 1, 168, 1, 169, 1, 170, 1, 171, 1, 172, 1, 170, 1, 172, 1, 173, 1, 174, 1, 175, 1, 176, 1, 174, 1, 176, 1, 177, 1, 178, 1, 179, 1, 180, 1, 178, 1, 180, 1, 181, 1, 182, 1, 139, 1, 138, 1, 182, 1, 138, 1, 183, 1, 162, 1, 165, 1, 184, 1, 185, 1, 186, 1, 187, 1, 185, 1, 187, 1, 188, 1, 189, 1, 190, 1, 191, 1, 192, 1, 193, 1, 194, 1, 192, 1, 194, 1, 195, 1), +"material": SubResource("1"), +"primitive": 3, +"vertex_count": 452, +"vertex_data": PackedByteArray(0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 192, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 128, 192, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 192, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 192, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 192, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 64, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 128, 64, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 128, 192, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 192, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 128, 192, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 128, 64, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 64, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 192, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 192, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 192, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 192, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 64, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 64, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 64, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 64, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 64, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 128, 64, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 193, 0, 0, 0, 64, 0, 0, 64, 193, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 193, 0, 0, 0, 0, 0, 0, 64, 193, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 128, 64, 0, 0, 0, 0, 0, 0, 64, 193, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 64, 193, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 193, 0, 0, 0, 64, 0, 0, 64, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 0, 64, 0, 0, 128, 192, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 0, 0, 0, 0, 128, 192, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 0, 0, 0, 0, 64, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 0, 0, 0, 0, 64, 193, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 0, 0, 0, 0, 64, 193, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 0, 0, 0, 0, 128, 192, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 128, 64, 0, 0, 0, 0, 0, 0, 128, 192, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 64, 193, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 128, 192, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 0, 64, 0, 0, 128, 192, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 0, 64, 0, 0, 64, 193, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 64, 193, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 128, 64, 0, 0, 0, 0, 0, 0, 64, 193, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 128, 64, 0, 0, 0, 0, 0, 0, 128, 192, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 128, 192, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 0, 64, 0, 0, 128, 192, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 128, 192, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 128, 64, 0, 0, 0, 0, 0, 0, 128, 192, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 193, 0, 0, 0, 0, 0, 0, 128, 192, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 64, 193, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 64, 193, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 64, 193, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 64, 193, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 64, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 192, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 128, 192, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 64, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 64, 193, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 64, 193, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 128, 192, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 128, 192, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 64, 193, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 64, 193, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 64, 193, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 64, 193, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 128, 192, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 128, 192, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 192, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 128, 192, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 128, 192, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 128, 64, 0, 0, 0, 64, 0, 0, 128, 192, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 192, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 128, 192, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 128, 192, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 192, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 192, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 192, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 64, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 64, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 128, 192, 188, 221, 184, 92, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 128, 64, 188, 221, 184, 92, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 64, 188, 221, 184, 92, 255, 127, 126, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 192, 188, 221, 184, 92, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 128, 192, 64, 34, 72, 163, 255, 127, 127, 191, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 192, 64, 34, 72, 163, 255, 127, 127, 191, 0, 0, 128, 64, 0, 0, 128, 191, 0, 0, 128, 64, 64, 34, 72, 163, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 128, 64, 64, 34, 72, 163, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 128, 192, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 128, 64, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 128, 64, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 128, 192, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 128, 64, 0, 0, 128, 64, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 65, 0, 0, 0, 64, 0, 0, 128, 64, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 65, 0, 0, 128, 65, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 65, 0, 0, 128, 65, 0, 0, 32, 194, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 65, 0, 0, 32, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 194, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 194, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 194, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 66, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 66, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 194, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 66, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 65, 0, 0, 32, 66, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 65, 0, 0, 32, 194, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 194, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 194, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 66, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 66, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 128, 65, 0, 0, 32, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 32, 194, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 40, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 40, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 32, 194, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 194, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 32, 194, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 40, 66, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 40, 66, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 32, 194, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 40, 66, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 40, 66, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 32, 194, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 32, 194, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 194, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 40, 66, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 40, 66, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 40, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 40, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 40, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 40, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 40, 194, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 40, 194, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 40, 194, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 40, 194, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 40, 194, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 40, 194, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 40, 194, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 40, 194, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 32, 194, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 194, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 40, 194, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 194, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 32, 194, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 40, 194, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 40, 194, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 40, 194, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 32, 194, 0, 0, 128, 65, 0, 0, 32, 194, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 194, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 194, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 32, 194, 0, 0, 128, 191, 0, 0, 32, 194, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 32, 66, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 66, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 66, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 66, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 32, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 40, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 40, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 66, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 66, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 40, 66, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 40, 66, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 66, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 40, 66, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 40, 66, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 65, 0, 0, 32, 66, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 32, 66, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 32, 66, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 40, 66, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 40, 66, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 96, 65, 0, 0, 128, 65, 0, 0, 40, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 96, 65, 0, 0, 128, 191, 0, 0, 40, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 128, 64, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 128, 64, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 128, 64, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 128, 64, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 128, 64, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 32, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 128, 64, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 128, 64, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 128, 64, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 66, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 66, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 32, 66, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 32, 66, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 128, 64, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 128, 64, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 66, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 32, 66, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 32, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 32, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 128, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 128, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 0, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 0, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 128, 152, 76, 1, 128, 255, 255, 127, 192, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 0, 152, 76, 1, 128, 255, 255, 127, 192, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 128, 64, 152, 76, 1, 128, 255, 255, 127, 192, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 128, 64, 152, 76, 1, 128, 255, 255, 127, 192, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 0, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 0, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 128, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 128, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 128, 64, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 64, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 128, 0, 0, 155, 205, 255, 255, 128, 192, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 155, 205, 255, 255, 128, 192, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 155, 205, 255, 255, 128, 192, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 0, 0, 0, 155, 205, 255, 255, 128, 192, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 128, 64, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 128, 64, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 193, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 193, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 0, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 0, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 193, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 193, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 0, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 0, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 192, 192, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 192, 192, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 0, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 0, 193, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 0, 193, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 192, 192, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 192, 192, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 193, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 192, 192, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 192, 192, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 193, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 193, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 0, 193, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 192, 192, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 192, 192, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 192, 192, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 192, 192, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 193, 0, 0, 128, 191, 0, 0, 192, 192, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 192, 192, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 32, 194, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 32, 194, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 64, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 64, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 194, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 194, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 32, 194, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 64, 193, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 64, 193, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 32, 194, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 64, 193, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 64, 193, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 32, 194, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 32, 194, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 32, 194, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 64, 193, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 64, 193, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 64, 193, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 65, 0, 0, 128, 63, 0, 0, 64, 193, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 65, 0, 0, 128, 191, 0, 0, 64, 193, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 24, 194, 0, 0, 128, 191, 0, 0, 64, 193, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 0, 65, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 0, 65, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 0, 65, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 0, 65, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 0, 65, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 128, 65, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 128, 65, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 0, 65, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 0, 65, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 0, 65, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 128, 65, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 128, 65, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 0, 65, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 128, 65, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 128, 65, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 0, 65, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 0, 65, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 0, 65, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 128, 65, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 128, 65, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 128, 65, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 128, 65, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 128, 65, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 128, 65, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 160, 65, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 160, 65, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 160, 65, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 160, 65, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 160, 65, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 224, 65, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 224, 65, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 160, 65, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 160, 65, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 160, 65, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 224, 65, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 224, 65, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 160, 65, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 224, 65, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 224, 65, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 160, 65, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 160, 65, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 160, 65, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 224, 65, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 224, 65, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 224, 65, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 224, 65, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 224, 65, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 224, 65, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 0, 66, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 0, 66, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 0, 66, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 0, 66, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 0, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 32, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 32, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 0, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 0, 66, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 0, 66, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 32, 66, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 32, 66, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 0, 66, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 32, 66, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 32, 66, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 0, 66, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 0, 66, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 0, 66, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 32, 66, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 32, 66, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 0, 194, 0, 0, 0, 65, 0, 0, 32, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 192, 193, 0, 0, 0, 65, 0, 0, 32, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 192, 193, 0, 0, 192, 64, 0, 0, 32, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 0, 194, 0, 0, 192, 64, 0, 0, 32, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 160, 193, 0, 0, 0, 65, 0, 0, 64, 65, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 160, 193, 0, 0, 192, 64, 0, 0, 64, 65, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 193, 0, 0, 192, 64, 0, 0, 64, 65, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 193, 0, 0, 0, 65, 0, 0, 64, 65, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 160, 193, 0, 0, 0, 65, 0, 0, 64, 65, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 160, 193, 0, 0, 0, 65, 0, 0, 8, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 160, 193, 0, 0, 192, 64, 0, 0, 8, 66, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 160, 193, 0, 0, 192, 64, 0, 0, 64, 65, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 192, 64, 0, 0, 64, 65, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 160, 193, 0, 0, 192, 64, 0, 0, 64, 65, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 160, 193, 0, 0, 192, 64, 0, 0, 8, 66, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 192, 64, 0, 0, 8, 66, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 0, 65, 0, 0, 64, 65, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 0, 65, 0, 0, 8, 66, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 160, 193, 0, 0, 0, 65, 0, 0, 8, 66, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 160, 193, 0, 0, 0, 65, 0, 0, 64, 65, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 0, 65, 0, 0, 64, 65, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 192, 64, 0, 0, 64, 65, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 192, 64, 0, 0, 8, 66, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 0, 65, 0, 0, 8, 66, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 160, 193, 0, 0, 0, 65, 0, 0, 8, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 193, 0, 0, 0, 65, 0, 0, 8, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 193, 0, 0, 192, 64, 0, 0, 8, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 160, 193, 0, 0, 192, 64, 0, 0, 8, 66, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 193, 72, 38, 255, 127, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 176, 193, 72, 38, 255, 127, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 176, 193, 72, 38, 255, 127, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 72, 38, 255, 127, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 144, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 176, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 176, 193, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 176, 193, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 144, 193, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 144, 193, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 176, 193, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 144, 193, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 193, 0, 0, 76, 165, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 193, 0, 0, 76, 165, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 144, 193, 0, 0, 76, 165, 255, 127, 127, 191, 0, 0, 24, 194, 0, 0, 128, 63, 0, 0, 144, 193, 0, 0, 76, 165, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 193, 0, 0, 160, 64, 0, 0, 0, 193, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 24, 194, 0, 0, 160, 64, 0, 0, 0, 193, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 24, 194, 0, 0, 224, 64, 0, 0, 0, 193, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 32, 193, 0, 0, 128, 63, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 32, 193, 0, 0, 224, 64, 0, 0, 0, 193, 255, 127, 255, 127, 255, 255, 127, 192, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 128, 64, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 64, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 0, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 32, 193, 0, 0, 128, 63, 0, 0, 0, 193, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 0, 193, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 32, 193, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 32, 193, 0, 0, 224, 64, 0, 0, 0, 193, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 32, 193, 0, 0, 224, 64, 0, 0, 128, 64, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 128, 64, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 0, 0, 0, 128, 255, 127, 126, 191, 0, 0, 32, 193, 0, 0, 224, 64, 0, 0, 0, 193, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 32, 193, 0, 0, 128, 63, 0, 0, 0, 193, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 32, 193, 0, 0, 128, 63, 0, 0, 128, 64, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 32, 193, 0, 0, 224, 64, 0, 0, 128, 64, 0, 128, 0, 0, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 128, 64, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 32, 193, 0, 0, 224, 64, 0, 0, 128, 64, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 32, 193, 0, 0, 128, 63, 0, 0, 128, 64, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 128, 64, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 32, 193, 0, 0, 224, 64, 0, 0, 0, 193, 72, 38, 255, 127, 255, 127, 126, 191, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 176, 193, 72, 38, 255, 127, 255, 127, 126, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 176, 193, 1, 128, 0, 0, 255, 127, 126, 191, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 176, 193, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 176, 193, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 0, 193, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 0, 193, 0, 0, 1, 128, 255, 127, 127, 191, 0, 0, 32, 193, 0, 0, 224, 64, 0, 0, 0, 193, 100, 50, 152, 76, 255, 127, 126, 191, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 176, 193, 100, 50, 152, 76, 255, 127, 126, 191, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 0, 193, 100, 50, 152, 76, 255, 127, 126, 191, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 0, 193, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 193, 0, 0, 128, 63, 0, 0, 0, 193, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 64, 193, 0, 0, 224, 64, 0, 0, 0, 193, 255, 255, 255, 255, 255, 255, 128, 192, 0, 0, 32, 193, 0, 0, 224, 64, 0, 0, 0, 193, 255, 255, 255, 255, 255, 255, 128, 192) +}] +shadow_mesh = SubResource("ArrayMesh_d2jca") + +[sub_resource type="ConcavePolygonShape3D" id="3"] +data = PackedVector3Array(-12, 1, -4, -12, -1, -4, 4, -1, -4, -12, 1, -4, 4, -1, -4, 4, 1, -4, -12, 1, -4, -12, 1, 4, -12, -1, 4, -12, 1, -4, -12, -1, 4, -12, -1, -4, 4, -1, -4, -12, -1, -4, -12, -1, 4, 4, -1, -4, -12, -1, 4, 4, -1, 4, 4, 1, -4, 4, 1, 4, -12, 1, 4, 4, 1, -4, -12, 1, 4, -12, 1, -4, 4, 1, -4, 4, -1, -4, 4, -1, 4, 4, 1, -4, 4, -1, 4, 4, 1, 4, -12, 1, 4, 4, 1, 4, 4, -1, 4, -12, 1, 4, 4, -1, 4, -12, -1, 4, -12, 2, -12, -12, 0, -12, 4, 0, -12, -12, 2, -12, 4, 0, -12, 4, 2, -12, -12, 2, -12, -12, 2, -4, -12, 0, -4, -12, 2, -12, -12, 0, -4, -12, 0, -12, 4, 0, -12, -12, 0, -12, -12, 0, -4, 4, 0, -12, -12, 0, -4, 4, 0, -4, 4, 2, -12, 4, 2, -4, -12, 2, -4, 4, 2, -12, -12, 2, -4, -12, 2, -12, 4, 2, -12, 4, 0, -12, 4, 0, -4, 4, 2, -12, 4, 0, -4, 4, 2, -4, -12, 2, -4, 4, 2, -4, 4, 0, -4, -12, 2, -4, 4, 0, -4, -12, 0, -4, 4, 4, -12, 4, 2, -12, 12, 2, -12, 4, 4, -12, 12, 2, -12, 12, 4, -12, 4, 4, -12, 4, 4, -4, 4, 2, -4, 4, 4, -12, 4, 2, -4, 4, 2, -12, 12, 2, -12, 4, 2, -12, 4, 2, -4, 12, 2, -12, 4, 2, -4, 12, 2, -4, 12, 4, -12, 12, 4, -4, 4, 4, -4, 12, 4, -12, 4, 4, -4, 4, 4, -12, 12, 4, -12, 12, 2, -12, 12, 2, -4, 12, 4, -12, 12, 2, -4, 12, 4, -4, 4, 4, -4, 12, 4, -4, 12, 2, -4, 4, 4, -4, 12, 2, -4, 4, 2, -4, 4, -1, -4, 12, 2, -4, 12, 4, -4, 4, -1, -4, 12, 4, -4, 4, 1, -4, 4, -1, -4, 4, 1, -4, 4, 1, 4, 4, -1, -4, 4, 1, 4, 4, -1, 4, 12, 4, -4, 12, 4, 4, 4, 1, 4, 12, 4, -4, 4, 1, 4, 4, 1, -4, 12, 2, -4, 4, -1, -4, 4, -1, 4, 12, 2, -4, 4, -1, 4, 12, 2, 4, 12, 2, -4, 12, 2, 4, 12, 4, 4, 12, 2, -4, 12, 4, 4, 12, 4, -4, 4, -1, 4, 4, 1, 4, 12, 4, 4, 4, -1, 4, 12, 4, 4, 12, 2, 4, 12, 16, -40, 12, -1, -40, 14, -1, -40, 12, 16, -40, 14, -1, -40, 14, 16, -40, 12, 16, -40, 12, 16, 40, 12, -1, 40, 12, 16, -40, 12, -1, 40, 12, -1, -40, 14, -1, -40, 12, -1, -40, 12, -1, 40, 14, -1, -40, 12, -1, 40, 14, -1, 40, 14, 16, -40, 14, 16, 40, 12, 16, 40, 14, 16, -40, 12, 16, 40, 12, 16, -40, 14, 16, -40, 14, -1, -40, 14, -1, 40, 14, 16, -40, 14, -1, 40, 14, 16, 40, 12, 16, 40, 14, 16, 40, 14, -1, 40, 12, 16, 40, 14, -1, 40, 12, -1, 40, -40, 16, -40, -40, -1, -40, -38, -1, -40, -40, 16, -40, -38, -1, -40, -38, 16, -40, -40, 16, -40, -40, 16, 42, -40, -1, 42, -40, 16, -40, -40, -1, 42, -40, -1, -40, -38, -1, -40, -40, -1, -40, -40, -1, 42, -38, -1, -40, -40, -1, 42, -38, -1, 42, -38, 16, -40, -38, 16, 42, -40, 16, 42, -38, 16, -40, -40, 16, 42, -40, 16, -40, -38, 16, -40, -38, -1, -40, -38, -1, 42, -38, 16, -40, -38, -1, 42, -38, 16, 42, -40, 16, 42, -38, 16, 42, -38, -1, 42, -40, 16, 42, -38, -1, 42, -40, -1, 42, -40, 16, -42, -40, -1, -42, 14, -1, -42, -40, 16, -42, 14, -1, -42, 14, 16, -42, -40, 16, -42, -40, 16, -40, -40, -1, -40, -40, 16, -42, -40, -1, -40, -40, -1, -42, 14, -1, -42, -40, -1, -42, -40, -1, -40, 14, -1, -42, -40, -1, -40, 14, -1, -40, 14, 16, -42, 14, 16, -40, -40, 16, -40, 14, 16, -42, -40, 16, -40, -40, 16, -42, 14, 16, -42, 14, -1, -42, 14, -1, -40, 14, 16, -42, 14, -1, -40, 14, 16, -40, -40, 16, -40, 14, 16, -40, 14, -1, -40, -40, 16, -40, 14, -1, -40, -40, -1, -40, -38, 16, 40, -38, -1, 40, 14, -1, 40, -38, 16, 40, 14, -1, 40, 14, 16, 40, -38, 16, 40, -38, 16, 42, -38, -1, 42, -38, 16, 40, -38, -1, 42, -38, -1, 40, 14, -1, 40, -38, -1, 40, -38, -1, 42, 14, -1, 40, -38, -1, 42, 14, -1, 42, 14, 16, 40, 14, 16, 42, -38, 16, 42, 14, 16, 40, -38, 16, 42, -38, 16, 40, 14, 16, 40, 14, -1, 40, 14, -1, 42, 14, 16, 40, 14, -1, 42, 14, 16, 42, -38, 16, 42, 14, 16, 42, 14, -1, 42, -38, 16, 42, 14, -1, 42, -38, -1, 42, -38, 1, 4, -38, -1, 4, 12, -1, 4, -38, 1, 4, 12, -1, 4, 12, 1, 4, -38, 1, 4, -38, 1, 40, -38, -1, 40, -38, 1, 4, -38, -1, 40, -38, -1, 4, 12, -1, 4, -38, -1, 4, -38, -1, 40, 12, -1, 4, -38, -1, 40, 12, -1, 40, 12, 1, 4, 12, 1, 40, -38, 1, 40, 12, 1, 4, -38, 1, 40, -38, 1, 4, 12, 1, 4, 12, -1, 4, 12, -1, 40, 12, 1, 4, 12, -1, 40, 12, 1, 40, -38, 1, 40, 12, 1, 40, 12, -1, 40, -38, 1, 40, 12, -1, 40, -38, -1, 40, -12, 5, 0, -12, 7, 0, -38, 7, 0, -12, 5, 0, -38, 7, 0, -38, 5, 0, -12, 5, 0, -38, 5, 0, -38, -1, 4, -12, 5, 0, -38, -1, 4, -12, -1, 4, -38, 7, 0, -38, 1, 4, -38, -1, 4, -38, 7, 0, -38, -1, 4, -38, 5, 0, -12, 7, 0, -12, 5, 0, -12, -1, 4, -12, 7, 0, -12, -1, 4, -12, 1, 4, -12, 7, 0, -12, 1, 4, -38, 1, 4, -12, 7, 0, -38, 1, 4, -38, 7, 0, -12, -1, 4, -38, -1, 4, -38, 1, 4, -12, -1, 4, -38, 1, 4, -12, 1, 4, -38, 7, -8, -38, 5, -8, -12, 5, -8, -38, 7, -8, -12, 5, -8, -12, 7, -8, -38, 7, -8, -38, 7, 0, -38, 5, 0, -38, 7, -8, -38, 5, 0, -38, 5, -8, -12, 5, -8, -38, 5, -8, -38, 5, 0, -12, 5, -8, -38, 5, 0, -12, 5, 0, -12, 7, -8, -12, 7, 0, -38, 7, 0, -12, 7, -8, -38, 7, 0, -38, 7, -8, -12, 7, -8, -12, 5, -8, -12, 5, 0, -12, 7, -8, -12, 5, 0, -12, 7, 0, -38, 7, 0, -12, 7, 0, -12, 5, 0, -38, 7, 0, -12, 5, 0, -38, 5, 0, -38, 5, -8, -38, -1, -8, -12, -1, -8, -38, 5, -8, -12, -1, -8, -12, 5, -8, -38, 5, -8, -38, 5, -6, -38, -1, -6, -38, 5, -8, -38, -1, -6, -38, -1, -8, -12, -1, -8, -38, -1, -8, -38, -1, -6, -12, -1, -8, -38, -1, -6, -12, -1, -6, -12, 5, -8, -12, 5, -6, -38, 5, -6, -12, 5, -8, -38, 5, -6, -38, 5, -8, -12, 5, -8, -12, -1, -8, -12, -1, -6, -12, 5, -8, -12, -1, -6, -12, 5, -6, -38, 5, -6, -12, 5, -6, -12, -1, -6, -38, 5, -6, -12, -1, -6, -38, -1, -6, -38, 1, -40, -38, -1, -40, 12, -1, -40, -38, 1, -40, 12, -1, -40, 12, 1, -40, -38, 1, -40, -38, 1, -12, -38, -1, -12, -38, 1, -40, -38, -1, -12, -38, -1, -40, 12, -1, -40, -38, -1, -40, -38, -1, -12, 12, -1, -40, -38, -1, -12, 12, -1, -12, 12, 1, -40, 12, 1, -12, -38, 1, -12, 12, 1, -40, -38, 1, -12, -38, 1, -40, 12, 1, -40, 12, -1, -40, 12, -1, -12, 12, 1, -40, 12, -1, -12, 12, 1, -12, -38, 1, -12, 12, 1, -12, 12, -1, -12, -38, 1, -12, 12, -1, -12, -38, -1, -12, -32, 8, 8, -32, 6, 8, -24, 6, 8, -32, 8, 8, -24, 6, 8, -24, 8, 8, -32, 8, 8, -32, 8, 16, -32, 6, 16, -32, 8, 8, -32, 6, 16, -32, 6, 8, -24, 6, 8, -32, 6, 8, -32, 6, 16, -24, 6, 8, -32, 6, 16, -24, 6, 16, -24, 8, 8, -24, 8, 16, -32, 8, 16, -24, 8, 8, -32, 8, 16, -32, 8, 8, -24, 8, 8, -24, 6, 8, -24, 6, 16, -24, 8, 8, -24, 6, 16, -24, 8, 16, -32, 8, 16, -24, 8, 16, -24, 6, 16, -32, 8, 16, -24, 6, 16, -32, 6, 16, -32, 8, 20, -32, 6, 20, -24, 6, 20, -32, 8, 20, -24, 6, 20, -24, 8, 20, -32, 8, 20, -32, 8, 28, -32, 6, 28, -32, 8, 20, -32, 6, 28, -32, 6, 20, -24, 6, 20, -32, 6, 20, -32, 6, 28, -24, 6, 20, -32, 6, 28, -24, 6, 28, -24, 8, 20, -24, 8, 28, -32, 8, 28, -24, 8, 20, -32, 8, 28, -32, 8, 20, -24, 8, 20, -24, 6, 20, -24, 6, 28, -24, 8, 20, -24, 6, 28, -24, 8, 28, -32, 8, 28, -24, 8, 28, -24, 6, 28, -32, 8, 28, -24, 6, 28, -32, 6, 28, -32, 8, 32, -32, 6, 32, -24, 6, 32, -32, 8, 32, -24, 6, 32, -24, 8, 32, -32, 8, 32, -32, 8, 40, -32, 6, 40, -32, 8, 32, -32, 6, 40, -32, 6, 32, -24, 6, 32, -32, 6, 32, -32, 6, 40, -24, 6, 32, -32, 6, 40, -24, 6, 40, -24, 8, 32, -24, 8, 40, -32, 8, 40, -24, 8, 32, -32, 8, 40, -32, 8, 32, -24, 8, 32, -24, 6, 32, -24, 6, 40, -24, 8, 32, -24, 6, 40, -24, 8, 40, -32, 8, 40, -24, 8, 40, -24, 6, 40, -32, 8, 40, -24, 6, 40, -32, 6, 40, -20, 8, 12, -20, 6, 12, -12, 6, 12, -20, 8, 12, -12, 6, 12, -12, 8, 12, -20, 8, 12, -20, 8, 34, -20, 6, 34, -20, 8, 12, -20, 6, 34, -20, 6, 12, -12, 6, 12, -20, 6, 12, -20, 6, 34, -12, 6, 12, -20, 6, 34, -12, 6, 34, -12, 8, 12, -12, 8, 34, -20, 8, 34, -12, 8, 12, -20, 8, 34, -20, 8, 12, -12, 8, 12, -12, 6, 12, -12, 6, 34, -12, 8, 12, -12, 6, 34, -12, 8, 34, -20, 8, 34, -12, 8, 34, -12, 6, 34, -20, 8, 34, -12, 6, 34, -20, 6, 34, -38, 7, -8, -38, 1, -22, -12, 1, -22, -38, 7, -8, -12, 1, -22, -12, 7, -8, -38, 7, -8, -38, 5, -8, -38, 1, -18, -38, 7, -8, -38, 1, -18, -38, 1, -22, -12, 1, -22, -38, 1, -22, -38, 1, -18, -12, 1, -22, -38, 1, -18, -12, 1, -18, -12, 7, -8, -12, 1, -22, -12, 1, -18, -12, 7, -8, -12, 1, -18, -12, 5, -8, -38, 5, -8, -12, 5, -8, -12, 1, -18, -38, 5, -8, -12, 1, -18, -38, 1, -18, -12, 7, -8, -12, 5, -8, -38, 5, -8, -12, 7, -8, -38, 5, -8, -38, 7, -8, -12, 7, -8, -12, 1, -8, -10, 1, -8, -12, 7, -8, -10, 1, -8, -10, 7, -8, -12, 7, -8, -12, 7, 4, -12, 1, 4, -12, 7, -8, -12, 1, 4, -12, 1, -8, -10, 1, -8, -12, 1, -8, -12, 1, 4, -10, 1, -8, -12, 1, 4, -10, 1, 4, -10, 7, -8, -10, 7, 4, -12, 7, 4, -10, 7, -8, -12, 7, 4, -12, 7, -8, -10, 7, -8, -10, 1, -8, -10, 1, 4, -10, 7, -8, -10, 1, 4, -10, 7, 4, -12, 7, 4, -10, 7, 4, -10, 1, 4, -12, 7, 4, -10, 1, 4, -12, 1, 4, -10, 7, -8, -12, 7, -8, -12, 1, -22, -10, 7, -8, -12, 1, -22, -1, 1, -22, -12, 7, -8, -12, 1, -8, -12, 1, -22, -1, 1, -22, -12, 1, -22, -12, 1, -8, -1, 1, -22, -12, 1, -8, -1, 1, -8, -10, 7, -8, -1, 1, -22, -1, 1, -8, -1, 1, -8, -12, 1, -8, -12, 7, -8, -1, 1, -8, -12, 7, -8, -10, 7, -8) + +[node name="entity_0_worldspawn" type="StaticBody3D"] + +[node name="entity_0_mesh_instance" type="MeshInstance3D" parent="."] +mesh = SubResource("ArrayMesh_l4sxc") + +[node name="entity_0_collision_shape" type="CollisionShape3D" parent="."] +shape = SubResource("3") diff --git a/player_q3/PlayerQ3.tscn b/scenes/player/PlayerQ3.tscn similarity index 51% rename from player_q3/PlayerQ3.tscn rename to scenes/player/PlayerQ3.tscn index 673023e..1c180c2 100644 --- a/player_q3/PlayerQ3.tscn +++ b/scenes/player/PlayerQ3.tscn @@ -1,8 +1,7 @@ -[gd_scene load_steps=5 format=3 uid="uid://c65plp2c8ms4"] +[gd_scene load_steps=4 format=3 uid="uid://bl7jynld7s25o"] -[ext_resource type="Script" path="res://player_q3/PlayerQ3.gd" id="1"] -[ext_resource type="Script" path="res://player_q3/Weapons.gd" id="2_dl1i1"] -[ext_resource type="PackedScene" uid="uid://gnhgkfm3frvt" path="res://player_q3/RevolverFix.tscn" id="3_hj857"] +[ext_resource type="Script" path="res://scripts/player/PlayerQ3.gd" id="1"] +[ext_resource type="Script" path="res://scripts/player/Weapons.gd" id="2_dl1i1"] [sub_resource type="CylinderShape3D" id="1"] @@ -17,10 +16,11 @@ shape = SubResource("1") [node name="Head" type="Node3D" parent="Body"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.75, 0) -script = ExtResource("2_dl1i1") -[node name="RevolverFix" parent="Body/Head" instance=ExtResource("3_hj857")] -transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0.385807, -0.452879, -0.930275) +[node name="Hand" type="Node3D" parent="Body/Head"] +script = ExtResource("2_dl1i1") +sway_left = Vector3(0, 0.1, 0) +sway_right = Vector3(0, -0.1, 0) [node name="Camera3D" type="Camera3D" parent="Body/Head"] current = true diff --git a/player_q3/Weapons.gd b/scenes/player/Sway.gd similarity index 50% rename from player_q3/Weapons.gd rename to scenes/player/Sway.gd index cb261a8..92626b9 100644 --- a/player_q3/Weapons.gd +++ b/scenes/player/Sway.gd @@ -1,12 +1,11 @@ extends Node3D -var weapons = [] + # Called when the node enters the scene tree for the first time. func _ready(): - weapons.append($RevolverFix as Weapon) - + pass # Replace with function body. +# Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): - if Input.is_action_pressed("shoot"): - weapons[0].Shoot() + pass diff --git a/scenes/weapons/Revolver.tscn b/scenes/weapons/Revolver.tscn new file mode 100644 index 0000000..3d6a0dd --- /dev/null +++ b/scenes/weapons/Revolver.tscn @@ -0,0 +1,13 @@ +[gd_scene load_steps=2 format=3 uid="uid://p3r1q0d3ibmj"] + +[ext_resource type="PackedScene" uid="uid://beiad4ywiojba" path="res://assets/Weapons/Gun/Revolver.gltf" id="1_j6rkf"] + +[node name="Revolver" instance=ExtResource("1_j6rkf")] +transform = Transform3D(0.05, 0, 0, 0, 0.017101, -0.0469845, 0, 0.0469845, 0.017101, 0, -0.5, -0.3) + +[node name="RootNode" parent="." index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.30501, 7.01204) + +[node name="Cube011" parent="RootNode" index="0"] +cast_shadow = 0 +gi_lightmap_scale = 2 diff --git a/player_q3/PlayerQ3.gd b/scripts/player/PlayerQ3.gd similarity index 100% rename from player_q3/PlayerQ3.gd rename to scripts/player/PlayerQ3.gd diff --git a/player_q3/Weapon.gd b/scripts/player/Weapon.gd similarity index 56% rename from player_q3/Weapon.gd rename to scripts/player/Weapon.gd index 95ce461..939ee50 100644 --- a/player_q3/Weapon.gd +++ b/scripts/player/Weapon.gd @@ -10,26 +10,33 @@ const DRAW_TIME = 0.35 #TODO: Load gun config from file -@export var MAX_CLIP = 5 -@export var DAMAGE = 25 -@export var MOMENTUM : Vector2 -@export var ANGULAR_MOMENTUM : Vector3 -@export var RECOIL_COOLDOWN : float -@export var RPM: float +var MAX_CLIP : int +var DAMAGE : float +var MOMENTUM : Vector2 +var ANGULAR_MOMENTUM : Vector3 +var RECOIL_COOLDOWN : float +var RPM: float +var DRAW_POS : Vector3 +var DRAW_ROT : Vector3 +var MODEL : Node3D +var FIREMODE : int + var SHOOTING_SPEED: float +var can_shoot : bool var clip = 444444 - - - - var state = DEFAULT -func _ready(): +func init(): + visible = true SHOOTING_SPEED = 60.0 / RPM var tween = create_tween() + MODEL.position = DRAW_POS + MODEL.rotation = DRAW_ROT tween.set_trans(Tween.TRANS_CIRC) tween.set_ease(Tween.EASE_IN_OUT) + can_shoot = true tween.tween_callback(InitialPos).set_delay(DRAW_TIME) + func InitialPos(): @@ -37,28 +44,34 @@ func InitialPos(): tween.set_trans(Tween.TRANS_CIRC) tween.set_ease(Tween.EASE_IN_OUT) tween.set_parallel(true) - tween.tween_property($Revolver, "position", Vector3.ZERO, RECOIL_COOLDOWN / 2) - tween.tween_property($Revolver, "rotation", Vector3.ZERO, RECOIL_COOLDOWN / 2) + tween.tween_property(MODEL, "position", Vector3.ZERO, RECOIL_COOLDOWN / 2) + tween.tween_property(MODEL, "rotation", Vector3.ZERO, RECOIL_COOLDOWN / 2) tween.tween_callback(func(): state = INITIAL).set_delay(SHOOTING_SPEED / 2) func Shoot(): - if clip > 0 && state == INITIAL: + if clip > 0 && state == INITIAL && can_shoot: + if !FIREMODE: + can_shoot = false clip -= 1 state = SHOOT; var tween = create_tween() tween.set_trans(Tween.TRANS_ELASTIC) tween.set_ease(Tween.EASE_OUT) tween.set_parallel(true) - tween.tween_property($Revolver, "position", Vector3(.0, MOMENTUM.x, MOMENTUM.y), RECOIL_COOLDOWN / 2) + tween.tween_property(MODEL, "position", Vector3(.0, MOMENTUM.x, MOMENTUM.y), RECOIL_COOLDOWN / 2) var rand_rot_y = randi_range(-ANGULAR_MOMENTUM.y,ANGULAR_MOMENTUM.y) var rand_rot_z = randi_range(-ANGULAR_MOMENTUM.z,ANGULAR_MOMENTUM.z) - tween.tween_property($Revolver, "rotation", Vector3(deg_to_rad(ANGULAR_MOMENTUM.x),deg_to_rad(rand_rot_y),deg_to_rad(rand_rot_z)),RECOIL_COOLDOWN /2) + tween.tween_property(MODEL, "rotation", Vector3(deg_to_rad(ANGULAR_MOMENTUM.x),deg_to_rad(rand_rot_y),deg_to_rad(rand_rot_z)),RECOIL_COOLDOWN /2) tween.tween_callback(InitialPos).set_delay(SHOOTING_SPEED / 2) return true return false +func Release(): + if !FIREMODE: + can_shoot = true + func Reload(): if(clip < MAX_CLIP && state == INITIAL): diff --git a/scripts/player/Weapons.gd b/scripts/player/Weapons.gd new file mode 100644 index 0000000..8bc1787 --- /dev/null +++ b/scripts/player/Weapons.gd @@ -0,0 +1,122 @@ +extends Node3D + +const CONFIG_PATH = "user://weapons.scoom" +const REVOLVER = 0 + + +const REST = 0 +const BOB = 1 + +var state = 0 +@onready var player_root = get_node("../../../../PlayerQ3") as CharacterBody3D + +var weapons = [] + +var current_weapon = 0 + +var file_data = { + REVOLVER: + { + "HAND_POS": Vector3(0.4,-0.45,-1), + "HAND_ROT": Vector3(0,PI,0), + "MODEL": "Revolver", + "MAX_CLIP": 5, + "DAMAGE": 25, + "MOMENTUM": Vector2(0.3, -0.25), + "ANGULAR_MOMENTUM": Vector3(-60, 7, 10), + "RECOIL_COOLDOWN": 0.35, + "RPM": 120, + "DRAW_POS": Vector3(0,-0.5,-0.3), + "DRAW_ROT": Vector3(1.3, 0, 0) + } + } + +var mouse_mov : Vector3 +var sway_threshold = 5 +var sway_lerp = 5 + +@export var sway_left : Vector3 +@export var sway_right : Vector3 +@export var sway_normal : Vector3 + + +func _ready(): + save_data(file_data) + load_data() + + for i in range(0, file_data.size()): + var root = Weapon.new() + root.name = str(i) + var resource = "res://scenes/weapons/" + file_data[i].MODEL + ".tscn" + var weapon_model_resource = load(resource) + var weapon_model = weapon_model_resource.instantiate() + root.add_child(weapon_model) + root.position = file_data[i].HAND_POS + root.rotation = file_data[i].HAND_ROT + root.hide() + add_child(root) + root.MAX_CLIP = file_data[i].MAX_CLIP + root.DAMAGE = file_data[i].DAMAGE + root.MOMENTUM = file_data[i].MOMENTUM + root.ANGULAR_MOMENTUM = file_data[i].ANGULAR_MOMENTUM + root.RECOIL_COOLDOWN = file_data[i].RECOIL_COOLDOWN + root.RPM = file_data[i].RPM + root.MODEL = root.get_node(file_data[i].MODEL) + root.DRAW_POS = file_data[i].DRAW_POS + root.DRAW_ROT = file_data[i].DRAW_ROT + weapons.append(root) + weapons[current_weapon].init() + +func _input(event): + if event is InputEventMouseMotion: + mouse_mov.y = clampf(-event.relative.x, -0.1, 0.1) + mouse_mov.x = clampf(event.relative.y, -0.1, 0.1) + + +func _unhandled_input(_event): + if weapons.size() > 1 && Input.is_action_just_released("wheel_up"): + weapons[current_weapon].hide() + current_weapon = (current_weapon + 1) % weapons.size() + weapons[current_weapon].init() + if weapons.size() > 1 && Input.is_action_just_released("wheel_down"): + weapons[current_weapon].hide() + current_weapon = (current_weapon - 1) % weapons.size() + weapons[current_weapon].init() + + +var time = 0 +func _process(delta): + if Input.is_action_pressed("shoot"): + weapons[current_weapon].Shoot() + if Input.is_action_just_released("shoot"): + weapons[current_weapon].Release() + #SWAY + if mouse_mov != null && mouse_mov.length() > 0: + weapons[current_weapon].MODEL.rotation = weapons[current_weapon].MODEL.rotation.lerp(mouse_mov, sway_lerp * delta) + mouse_mov = Vector3.ZERO + else: + weapons[current_weapon].MODEL.rotation = weapons[current_weapon].MODEL.rotation.lerp(Vector3.ZERO, sway_lerp * delta) + + #BOB + if player_root.velocity.length() > 0: + time += delta + var bobOscillate = sin(time * 4 * (2 * PI)) * 0.01 + position.y = bobOscillate + bobOscillate = sin(time * 4 * (PI) + PI/4) * 0.015 + position.x = bobOscillate + #else: + #position = lerp(position, Vector3.ZERO, ) + + + + + +func save_data(data): + var file = FileAccess.open(CONFIG_PATH, FileAccess.WRITE) + file.store_var(data) + +func load_data(): + var file = FileAccess.open(CONFIG_PATH, FileAccess.READ) + var data = file.get_var() + file_data = data +