From 193ef0d394965dff8d21cdf5a95337d0effeaacf Mon Sep 17 00:00:00 2001 From: Bas Date: Thu, 21 May 2020 10:52:30 +0200 Subject: [PATCH] Added better track generation. --- src/openrct2-dll/Export/Tracks.cpp | 22 +++ src/openrct2-dll/openrct2-dll.vcxproj | 1 + .../Assets/Prefabs/GameObjects/Track.prefab | 98 +++++++++- .../Assets/Scenes/ParkScene.unity | 8 +- .../Scripts/Generation/IElementGenerator.cs | 4 +- .../Miscellaneous/PrefabGenerator.cs | 2 +- .../Generation/Retro/SmallSceneryGenerator.cs | 3 +- .../Retro/SurfaceGenerator.Textures.cs | 2 +- .../Generation/Retro/SurfaceGenerator.cs | 2 +- .../Generation/Retro/TrackGenerator.cs | 74 ++++++++ .../Generation/Retro/TrackGenerator.cs.meta | 11 ++ .../Scripts/Generation/Retro/WallGenerator.cs | 2 +- .../Scripts/MeshBuilding/MeshBuilder.cs | 109 ++++++++++- .../MeshBuilding/MeshBuilderExtensions.cs | 1 - .../Assets/Scripts/OpenRCT2/Configuration.cs | 2 +- .../Scripts/OpenRCT2/Editor/OpenRCT2Editor.cs | 2 +- .../OpenRCT2/Editor/ScriptSelectorDrawer.cs | 179 ++++++++++++++++++ .../Editor/ScriptSelectorDrawer.cs.meta | 11 ++ .../Scripts/OpenRCT2/Enums/Ownership.cs | 2 +- .../Scripts/OpenRCT2/Enums/PeepAction.cs | 2 +- .../OpenRCT2/Enums/PeepActionSprite.cs | 2 +- .../Scripts/OpenRCT2/Enums/PeepSpriteType.cs | 2 +- .../Scripts/OpenRCT2/Enums/PeepState.cs | 2 +- .../Scripts/OpenRCT2/Enums/PeepSubState.cs | 2 +- .../Assets/Scripts/OpenRCT2/Enums/PeepType.cs | 2 +- .../OpenRCT2/Enums/SmallSceneryFlags.cs | 2 +- .../Scripts/OpenRCT2/Enums/SpriteType.cs | 2 +- .../Scripts/OpenRCT2/Enums/SurfaceSlope.cs | 2 +- .../OpenRCT2/Enums/TerrainEdgeStyle.cs | 2 +- .../OpenRCT2/Enums/TerrainSurfaceStyle.cs | 2 +- .../Scripts/OpenRCT2/Enums/TileElementType.cs | 2 +- .../Scripts/OpenRCT2/Graphics/Graphic.cs | 2 +- .../OpenRCT2/Graphics/GraphicExtensions.cs | 2 +- .../OpenRCT2/Graphics/GraphicsFactory.cs | 2 +- .../Scripts/OpenRCT2/Graphics/PaletteEntry.cs | 2 +- .../Scripts/OpenRCT2/Imports/OpenRCT2.Game.cs | 2 +- .../OpenRCT2/Imports/OpenRCT2.Graphics.cs | 2 +- .../Scripts/OpenRCT2/Imports/OpenRCT2.Map.cs | 2 +- .../OpenRCT2/Imports/OpenRCT2.Sprites.cs | 2 +- .../OpenRCT2/Imports/OpenRCT2.Tracks.cs | 58 ++++++ .../OpenRCT2/Imports/OpenRCT2.Tracks.cs.meta | 11 ++ .../Scripts/OpenRCT2/Imports/OpenRCT2.cs | 2 +- .../Assets/Scripts/OpenRCT2/Imports/Ptr.cs | 2 +- .../Scripts/OpenRCT2/Map/Map.Generation.cs | 20 +- .../Scripts/OpenRCT2/Map/Map.Helpers.cs | 2 +- .../Assets/Scripts/OpenRCT2/Map/Map.cs | 3 +- .../Assets/Scripts/OpenRCT2/Map/MapTile.cs | 2 +- .../Scripts/OpenRCT2/Map/PeepController.cs | 2 +- .../Scripts/OpenRCT2/Map/SpriteController.cs | 6 +- .../Scripts/OpenRCT2/Map/VehicleController.cs | 2 +- .../Scripts/OpenRCT2/Sprites/ISprite.cs | 10 +- .../Assets/Scripts/OpenRCT2/Sprites/Peep.cs | 6 +- .../Scripts/OpenRCT2/Sprites/SpriteBase.cs | 2 +- .../Scripts/OpenRCT2/Sprites/SpriteSize.cs | 2 +- .../Scripts/OpenRCT2/Sprites/Vehicle.cs | 8 +- .../Scripts/OpenRCT2/TileElements/Data.meta | 8 + .../OpenRCT2/TileElements/Data/TrackNode.cs | 24 +++ .../TileElements/Data/TrackNode.cs.meta | 11 ++ .../TileElements/Entries/SmallSceneryEntry.cs | 2 +- .../OpenRCT2/TileElements/PathElement.cs | 2 +- .../TileElements/SmallSceneryElement.cs | 2 +- .../OpenRCT2/TileElements/SurfaceElement.cs | 2 +- .../OpenRCT2/TileElements/TileElement.cs | 77 +++++++- .../TileElements/TileElementExtensions.cs | 2 +- .../OpenRCT2/TileElements/TrackElement.cs | 47 ++++- .../OpenRCT2/TileElements/WallElement.cs | 2 +- .../Assets/Scripts/Tools/SelectionTool.cs | 2 +- .../Assets/Scripts/UI/PeepWindow.cs | 2 +- .../Assets/Scripts/UI/WindowManager.cs | 2 +- .../Assets/Scripts/Utilities.meta | 8 + .../Assets/Scripts/{ => Utilities}/Maths.cs | 0 .../Scripts/{ => Utilities}/Maths.cs.meta | 0 .../Utilities/ScriptSelectorAttribute.cs | 14 ++ .../Utilities/ScriptSelectorAttribute.cs.meta | 11 ++ .../Parks/Three Monkeys Park.sv6 | Bin 0 -> 469302 bytes .../ProjectSettings/QualitySettings.asset | 2 +- 76 files changed, 846 insertions(+), 87 deletions(-) create mode 100644 src/openrct2-dll/Export/Tracks.cpp create mode 100644 src/openrct2-unity/Assets/Scripts/Generation/Retro/TrackGenerator.cs create mode 100644 src/openrct2-unity/Assets/Scripts/Generation/Retro/TrackGenerator.cs.meta create mode 100644 src/openrct2-unity/Assets/Scripts/OpenRCT2/Editor/ScriptSelectorDrawer.cs create mode 100644 src/openrct2-unity/Assets/Scripts/OpenRCT2/Editor/ScriptSelectorDrawer.cs.meta create mode 100644 src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Tracks.cs create mode 100644 src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Tracks.cs.meta create mode 100644 src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/Data.meta create mode 100644 src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/Data/TrackNode.cs create mode 100644 src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/Data/TrackNode.cs.meta create mode 100644 src/openrct2-unity/Assets/Scripts/Utilities.meta rename src/openrct2-unity/Assets/Scripts/{ => Utilities}/Maths.cs (100%) rename src/openrct2-unity/Assets/Scripts/{ => Utilities}/Maths.cs.meta (100%) create mode 100644 src/openrct2-unity/Assets/Scripts/Utilities/ScriptSelectorAttribute.cs create mode 100644 src/openrct2-unity/Assets/Scripts/Utilities/ScriptSelectorAttribute.cs.meta create mode 100644 src/openrct2-unity/Parks/Three Monkeys Park.sv6 diff --git a/src/openrct2-dll/Export/Tracks.cpp b/src/openrct2-dll/Export/Tracks.cpp new file mode 100644 index 0000000000..1b2b3a2b3c --- /dev/null +++ b/src/openrct2-dll/Export/Tracks.cpp @@ -0,0 +1,22 @@ +#include +#include + +#include "Openrct2-dll.h" + +extern "C" +{ + // Returns the amount of path nodes in the pathing route for the specified track type. + EXPORT int GetTrackElementRouteSize(int32_t trackVariant, int32_t typeAndDirection) + { + return gTrackVehicleInfo[trackVariant][typeAndDirection]->size; + } + + + // Returns the pathing route for the specified track element. + EXPORT void GetTrackElementRoute(int32_t trackVariant, int32_t typeAndDirection, rct_vehicle_info* nodes, int arraySize) + { + const rct_vehicle_info_list* list = gTrackVehicleInfo[trackVariant][typeAndDirection]; + + std::memcpy(nodes, list->info, sizeof(rct_vehicle_info) * arraySize); + } +} diff --git a/src/openrct2-dll/openrct2-dll.vcxproj b/src/openrct2-dll/openrct2-dll.vcxproj index 348e8912e0..748437b95a 100644 --- a/src/openrct2-dll/openrct2-dll.vcxproj +++ b/src/openrct2-dll/openrct2-dll.vcxproj @@ -67,6 +67,7 @@ xcopy /i /y /f "$(SolutionDir)bin\dll-export\*" "$(SolutionDir)src\openrct2-unit + diff --git a/src/openrct2-unity/Assets/Prefabs/GameObjects/Track.prefab b/src/openrct2-unity/Assets/Prefabs/GameObjects/Track.prefab index ba802f1b75..a01c6947ec 100644 --- a/src/openrct2-unity/Assets/Prefabs/GameObjects/Track.prefab +++ b/src/openrct2-unity/Assets/Prefabs/GameObjects/Track.prefab @@ -25,12 +25,106 @@ Transform: m_GameObject: {fileID: 3460111253241373034} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.25, y: 0.25, z: 0.25} + m_LocalScale: {x: 0.05, y: 0.05, z: 0.05} m_Children: - {fileID: 3676241976214955814} + - {fileID: 8931575796167162921} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5548823012095227079 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8931575796167162921} + - component: {fileID: 3552024548040068515} + - component: {fileID: 3049426981837551801} + - component: {fileID: 2258461748174447842} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &8931575796167162921 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5548823012095227079} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2.5, y: 0.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7165131111595459873} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3552024548040068515 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5548823012095227079} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &3049426981837551801 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5548823012095227079} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: ce68aa93eb4498b4fa6a2a58f04c2bfb, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &2258461748174447842 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5548823012095227079} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} --- !u!1 &6000070329163251540 GameObject: m_ObjectHideFlags: 0 @@ -58,7 +152,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6000070329163251540} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0.5, z: 0} + m_LocalPosition: {x: -2.5, y: 0.5, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 7165131111595459873} diff --git a/src/openrct2-unity/Assets/Scenes/ParkScene.unity b/src/openrct2-unity/Assets/Scenes/ParkScene.unity index f0dcf47bbf..7645c5ce81 100644 --- a/src/openrct2-unity/Assets/Scenes/ParkScene.unity +++ b/src/openrct2-unity/Assets/Scenes/ParkScene.unity @@ -98,7 +98,7 @@ LightmapSettings: m_TrainingDataDestination: TrainingData m_LightProbeSampleCountMultiplier: 4 m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 0 + m_UseShadowmask: 1 --- !u!196 &4 NavMeshSettings: serializedVersion: 2 @@ -464,7 +464,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 79be679884da2154dacd80be9669d5dc, type: 3} m_Name: m_EditorClassIdentifier: - selectedPark: Blackpool.sv6 + selectedPark: Dynamite Dunes.sv6 --- !u!4 &1347800243 Transform: m_ObjectHideFlags: 0 @@ -514,7 +514,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 8f4353bcde699fe4dbc7f9641bcd509e, type: 3} m_Name: m_EditorClassIdentifier: - generationFlags: 125 + generationFlags: -1 surfaceGenerator: id: 0 pathGenerator: @@ -552,7 +552,7 @@ MonoBehaviour: prefab: {fileID: 6681454114598486694, guid: d5e4b199bf0e87b47b14b43c86d8c12f, type: 3} 00000002: - type: {class: PrefabGenerator, ns: Generation, asm: Assembly-CSharp} + type: {class: TrackGenerator, ns: Generation.Retro, asm: Assembly-CSharp} data: prefab: {fileID: 3460111253241373034, guid: ac7c5b20c9776c2458a7c5f077e645f0, type: 3} diff --git a/src/openrct2-unity/Assets/Scripts/Generation/IElementGenerator.cs b/src/openrct2-unity/Assets/Scripts/Generation/IElementGenerator.cs index 67223b9cb9..849b8cb16d 100644 --- a/src/openrct2-unity/Assets/Scripts/Generation/IElementGenerator.cs +++ b/src/openrct2-unity/Assets/Scripts/Generation/IElementGenerator.cs @@ -1,4 +1,4 @@ -using OpenRCT; +using Lib; namespace Generation { @@ -8,7 +8,7 @@ namespace Generation public interface IElementGenerator { /// - /// Creates a tile element at the specified position. + /// Creates a tile element at the specified tile position. /// void CreateElement(int x, int y, ref TileElement tile); diff --git a/src/openrct2-unity/Assets/Scripts/Generation/Miscellaneous/PrefabGenerator.cs b/src/openrct2-unity/Assets/Scripts/Generation/Miscellaneous/PrefabGenerator.cs index 272f6d63df..bd8e9b6229 100644 --- a/src/openrct2-unity/Assets/Scripts/Generation/Miscellaneous/PrefabGenerator.cs +++ b/src/openrct2-unity/Assets/Scripts/Generation/Miscellaneous/PrefabGenerator.cs @@ -1,4 +1,4 @@ -using OpenRCT; +using Lib; using UnityEngine; namespace Generation diff --git a/src/openrct2-unity/Assets/Scripts/Generation/Retro/SmallSceneryGenerator.cs b/src/openrct2-unity/Assets/Scripts/Generation/Retro/SmallSceneryGenerator.cs index 1b1f6eab33..3dfe529bbf 100644 --- a/src/openrct2-unity/Assets/Scripts/Generation/Retro/SmallSceneryGenerator.cs +++ b/src/openrct2-unity/Assets/Scripts/Generation/Retro/SmallSceneryGenerator.cs @@ -1,4 +1,4 @@ -using OpenRCT; +using Lib; using UnityEngine; namespace Generation.Retro @@ -8,7 +8,6 @@ namespace Generation.Retro /// public class SmallSceneryGenerator : IElementGenerator { - [Header("Meshes")] [SerializeField] GameObject crossShape; Map map; diff --git a/src/openrct2-unity/Assets/Scripts/Generation/Retro/SurfaceGenerator.Textures.cs b/src/openrct2-unity/Assets/Scripts/Generation/Retro/SurfaceGenerator.Textures.cs index 9585899683..c96e614c19 100644 --- a/src/openrct2-unity/Assets/Scripts/Generation/Retro/SurfaceGenerator.Textures.cs +++ b/src/openrct2-unity/Assets/Scripts/Generation/Retro/SurfaceGenerator.Textures.cs @@ -1,5 +1,5 @@ using System.Collections.Generic; -using OpenRCT; +using Lib; using UnityEngine; namespace Generation.Retro diff --git a/src/openrct2-unity/Assets/Scripts/Generation/Retro/SurfaceGenerator.cs b/src/openrct2-unity/Assets/Scripts/Generation/Retro/SurfaceGenerator.cs index 6d84b976af..af9cab6568 100644 --- a/src/openrct2-unity/Assets/Scripts/Generation/Retro/SurfaceGenerator.cs +++ b/src/openrct2-unity/Assets/Scripts/Generation/Retro/SurfaceGenerator.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; using MeshBuilding; -using OpenRCT; +using Lib; using UnityEngine; namespace Generation.Retro diff --git a/src/openrct2-unity/Assets/Scripts/Generation/Retro/TrackGenerator.cs b/src/openrct2-unity/Assets/Scripts/Generation/Retro/TrackGenerator.cs new file mode 100644 index 0000000000..fb5d36050e --- /dev/null +++ b/src/openrct2-unity/Assets/Scripts/Generation/Retro/TrackGenerator.cs @@ -0,0 +1,74 @@ +using System.Collections.Generic; +using Lib; +using UnityEngine; + +namespace Generation.Retro +{ + public class TrackGenerator : IElementGenerator + { + static Dictionary trackNodesCache = new Dictionary(); + + + [SerializeField] GameObject prefab; + + Map map; + + + /// + public void StartGenerator(Map map) + { + this.map = map; + } + + + /// + public void FinishGenerator() + { + map = null; + } + + + + /// + public void CreateElement(int x, int y, ref TileElement tile) + { + TrackElement track = tile.AsTrack(); + + if (track.PartIndex != 0) + return; + + int trackType = track.TrackType; + + if (!trackNodesCache.TryGetValue(trackType, out TrackNode[] nodes)) + { + nodes = OpenRCT2.GetTrackElementRoute(trackType); + trackNodesCache.Add(trackType, nodes); + } + + const float trackOffset = -0.5f; + + GameObject parent = new GameObject($"[{x}, {y}] rot: {tile.Rotation}, type: {trackType}") + { + isStatic = true + }; + + Transform tfParent = parent.transform; + tfParent.parent = map.transform; + tfParent.localPosition = Map.TileCoordsToUnity(x, tile.baseHeight, y); + tfParent.localRotation = Quaternion.Euler(0, tile.Rotation * 90f, 0); + + for (int i = 0; i < nodes.Length; i++) + { + TrackNode node = nodes[i]; + + GameObject obj = GameObject.Instantiate(prefab, Vector3.zero, Quaternion.identity, tfParent); + obj.name = $"#{i} = dir: {node.direction}, bank: {node.bankRotation}, sprite: {node.vehicleSprite}"; + + Vector3 local = node.LocalPosition; + Transform tf = obj.transform; + tf.localPosition = new Vector3(local.x + trackOffset, local.y, local.z + trackOffset); + tf.localRotation = Quaternion.Euler(0, ((360f / 32f) * node.direction) + 270f, 0); + } + } + } +} diff --git a/src/openrct2-unity/Assets/Scripts/Generation/Retro/TrackGenerator.cs.meta b/src/openrct2-unity/Assets/Scripts/Generation/Retro/TrackGenerator.cs.meta new file mode 100644 index 0000000000..772cae7e53 --- /dev/null +++ b/src/openrct2-unity/Assets/Scripts/Generation/Retro/TrackGenerator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4b626c25729c8694a9b1b122fdc92b0f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/openrct2-unity/Assets/Scripts/Generation/Retro/WallGenerator.cs b/src/openrct2-unity/Assets/Scripts/Generation/Retro/WallGenerator.cs index 69ce68c097..c0c480d776 100644 --- a/src/openrct2-unity/Assets/Scripts/Generation/Retro/WallGenerator.cs +++ b/src/openrct2-unity/Assets/Scripts/Generation/Retro/WallGenerator.cs @@ -1,4 +1,4 @@ -using OpenRCT; +using Lib; using UnityEngine; namespace Generation.Retro diff --git a/src/openrct2-unity/Assets/Scripts/MeshBuilding/MeshBuilder.cs b/src/openrct2-unity/Assets/Scripts/MeshBuilding/MeshBuilder.cs index 120ff9e91a..ea2c92f2e7 100644 --- a/src/openrct2-unity/Assets/Scripts/MeshBuilding/MeshBuilder.cs +++ b/src/openrct2-unity/Assets/Scripts/MeshBuilding/MeshBuilder.cs @@ -6,18 +6,89 @@ namespace MeshBuilding /// /// Small class to easily create meshes through C#. /// - public class MeshBuilder + public partial class MeshBuilder { + /// + /// Returns all vertices currently added to the builder. + /// + public IReadOnlyCollection Vertices + => vertices.Keys; + + + /// + /// Returns all vertices currently added to the builder. + /// + public Bounds Bounds + => CalculateBounds(); + + // Dictionary of vertices and their indexes. - public readonly Dictionary vertices = new Dictionary(64); + readonly Dictionary vertices; // List of triangles per submesh. - readonly List> triangles = new List>(1); + readonly List> triangles; Mesh mesh = null; + #region Constructors + + /// + /// Creates a regular mesh builder. + /// + public MeshBuilder() + { + vertices = new Dictionary(64); + triangles = new List>(1); + } + + + /// + /// Creates a mesh builder from an existing mesh. + /// + public MeshBuilder(Mesh mesh) + { + // Load vertices + Vector3[] meshVerts = mesh.vertices; + Vector3[] meshNormals = mesh.normals; + Vector2[] meshUvs = mesh.uv; + + int vertexCount = mesh.vertexCount; + vertices = new Dictionary(vertexCount); + + int index = 0; + for (int v = 0; v < vertexCount; v++) + { + Vertex vertex = new Vertex( + pos: meshVerts[v], + nor: meshNormals[v], + uvs: meshUvs[v] + ); + + if (vertices.ContainsKey(vertex)) + continue; + + vertices.Add(vertex, index); + index++; + } + + // Load triangles + int submeshCount = mesh.subMeshCount; + triangles = new List>(submeshCount); + + for (int s = 0; s < submeshCount; s++) + { + List buffer = new List(0); + mesh.GetTriangles(buffer, s); + + triangles[s] = buffer; + } + } + + #endregion + + /// /// Add a vertex to the mesh. Returns the index of this vertex. /// @@ -117,6 +188,36 @@ namespace MeshBuilding return mesh; } - } + + + /// + /// Returns the bounds of all vertices. + /// + Bounds CalculateBounds() + { + float min_x = float.MaxValue, min_y = float.MaxValue, min_z = float.MaxValue, + max_x = float.MinValue, max_y = float.MinValue, max_z = float.MinValue; + + foreach (Vertex vertex in vertices.Keys) + { + Vector3 pos = vertex.position; + + if (min_x > pos.x) min_x = pos.x; + if (min_y > pos.y) min_y = pos.y; + if (min_z > pos.z) min_x = pos.z; + + if (max_x < pos.x) max_x = pos.x; + if (max_y < pos.y) max_y = pos.y; + if (max_z < pos.z) max_x = pos.z; + } + + Vector3 min = new Vector3(min_x, min_y, min_z); + Vector3 max = new Vector3(max_x, max_y, max_z); + + Bounds bounds = new Bounds(); + bounds.SetMinMax(min, max); + return bounds; + } + } } diff --git a/src/openrct2-unity/Assets/Scripts/MeshBuilding/MeshBuilderExtensions.cs b/src/openrct2-unity/Assets/Scripts/MeshBuilding/MeshBuilderExtensions.cs index cab894551f..4f27afdfbf 100644 --- a/src/openrct2-unity/Assets/Scripts/MeshBuilding/MeshBuilderExtensions.cs +++ b/src/openrct2-unity/Assets/Scripts/MeshBuilding/MeshBuilderExtensions.cs @@ -44,7 +44,6 @@ namespace MeshBuilding for (int p = 0; p < 4; p++) { - //innerVerts[p] = new Vertex(matrix[p] * a.position + matrix[(p+1)%4] * b.position + matrix[(p+2)%4] * c.position + matrix[(p+3)%4] * d.position); innerVerts[p] = new Vertex( CalculateMatrix(matrix, p, a.position, b.position, c.position, d.position), Vector3.up, diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Configuration.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Configuration.cs index 0f39374ad7..c7a6df8677 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Configuration.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Configuration.cs @@ -1,6 +1,6 @@ using UnityEngine; -namespace OpenRCT +namespace Lib { /// /// Static class to access OpenRCT2-Unity configuration. diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Editor/OpenRCT2Editor.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Editor/OpenRCT2Editor.cs index 3ed37d44d0..59e497a261 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Editor/OpenRCT2Editor.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Editor/OpenRCT2Editor.cs @@ -4,7 +4,7 @@ using System.Linq; using UnityEditor; using UnityEngine; -namespace OpenRCT +namespace Lib { /// /// An editor that helps configuring OpenRCT2 settings in Unity, for example diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Editor/ScriptSelectorDrawer.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Editor/ScriptSelectorDrawer.cs new file mode 100644 index 0000000000..0da64db497 --- /dev/null +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Editor/ScriptSelectorDrawer.cs @@ -0,0 +1,179 @@ +using System; +using System.Collections.Generic; +using System.Reflection; +using UnityEditor; +using UnityEngine; +using Utilities; + +namespace Lib +{ + /// + /// Property drawer for the . + /// + [CustomPropertyDrawer(typeof(ScriptSelectorAttribute))] + public class ScriptSelectorDrawer : PropertyDrawer + { + // Cache for the drawer, because the same drawer can be used for multiple properties. + static readonly Dictionary cache = new Dictionary(); + + + // The settings for the drawer per property. + struct DrawerData + { + public bool foldout; + public MonoScript script; + } + + + /// + /// Draws the GUI for a property with a . + /// + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + float fieldSpacing = EditorGUIUtility.standardVerticalSpacing; + float singleLineHeight = EditorGUIUtility.singleLineHeight; + + string cacheKey = GetCacheKey(property); + cache.TryGetValue(cacheKey, out DrawerData settings); + + Rect rect = position; + rect.height = singleLineHeight; + + if ((settings.foldout = EditorGUI.Foldout(rect, settings.foldout, label, toggleOnLabelClick: true))) + { + rect.y += (singleLineHeight + fieldSpacing); + EditorGUI.indentLevel++; + + // Script + if (!TryFindManagedType(property.managedReferenceFullTypename, out Type managedType)) + return; + + MonoScript script; + + if (settings.script != null) + script = settings.script; + else if (TryFindMonoScriptAsset(managedType.Name, out script)) + settings.script = script; + else return; + + GUIContent scriptLabel = new GUIContent(fieldInfo.FieldType.Name); + MonoScript selected = (MonoScript)EditorGUI.ObjectField(rect, scriptLabel, script, typeof(MonoScript), allowSceneObjects: false); + + if (selected != script && ValidateSelectedScript(selected, fieldInfo, out object instance)) + { + property.serializedObject.Update(); + property.managedReferenceValue = instance; + property.serializedObject.ApplyModifiedProperties(); + } + + rect.y += (singleLineHeight + fieldSpacing); + + // Serialized fields + SerializedProperty end = property.GetEndProperty(); + bool any = property.NextVisible(true); + + while (any && property.propertyPath != end.propertyPath) + { + float propertyHeight = EditorGUI.GetPropertyHeight(property); + rect.height = propertyHeight; + + EditorGUI.PropertyField(rect, property, label, includeChildren: true); + + rect.y += (propertyHeight + fieldSpacing); + any = property.NextVisible(false); + } + EditorGUI.indentLevel--; + } + cache[cacheKey] = settings; + } + + + /// + /// Gets the height of the property. + /// + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + cache.TryGetValue(GetCacheKey(property), out DrawerData settings); + + if (!settings.foldout) + return EditorGUIUtility.singleLineHeight; + + float editorHeight = EditorGUI.GetPropertyHeight(property, label, includeChildren: true); + return (editorHeight + EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing); + } + + + /// + /// Try to find the managed type from the Unity provided type name. + /// + static bool TryFindManagedType(string fullUnityTypeName, out Type managedType) + { + string[] parts = fullUnityTypeName.Split(' '); + + if (parts.Length == 2) + { + managedType = Type.GetType($"{parts[1]}, {parts[0]}"); + return true; + } + + Debug.LogWarning($"Could not find managed type '{fullUnityTypeName}'!"); + managedType = null; + return false; + } + + + /// + /// Try to find the asset that contains the specified class. + /// + static bool TryFindMonoScriptAsset(string className, out MonoScript script) + { + string[] assetGuids = AssetDatabase.FindAssets($"{className} t:MonoScript"); + + if (assetGuids.Length > 0) + { + string path = AssetDatabase.GUIDToAssetPath(assetGuids[0]); + + script = AssetDatabase.LoadAssetAtPath(path); + return true; + } + + Debug.LogWarning($"Could not find MonoScript asset '{className}'!"); + script = null; + return false; + } + + + /// + /// Validate the selected to see whether it can + /// produce a valid instance for the specified property. + /// + static bool ValidateSelectedScript(MonoScript selected, FieldInfo fieldInfo, out object instance) + { + Type classType = selected.GetClass(); + if (classType == null) + { + Debug.LogError($"The selected MonoScript '{selected.name}' does not have a matching class!"); + instance = null; + return false; + } + + Type fieldType = fieldInfo.FieldType; + if (!fieldType.IsAssignableFrom(classType)) + { + Debug.LogError($"Cannot use script '{classType.Name}'! Only scripts that implement '{fieldType.Name}' are allowed."); + instance = null; + return false; + } + + instance = Activator.CreateInstance(classType); + return true; + } + + + /// + /// Gets the key (path) of the cache. + /// + static string GetCacheKey(SerializedProperty property) + => $"{property.propertyPath}<{property.serializedObject.targetObject}>"; + } +} diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Editor/ScriptSelectorDrawer.cs.meta b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Editor/ScriptSelectorDrawer.cs.meta new file mode 100644 index 0000000000..6784da5f96 --- /dev/null +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Editor/ScriptSelectorDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 739e17dce77728a4abc4e39d3c2812f1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/Ownership.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/Ownership.cs index 99b105a05b..bf165f0cd2 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/Ownership.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/Ownership.cs @@ -1,6 +1,6 @@ using System; -namespace OpenRCT +namespace Lib { /// /// Flags of ownership of a specific tile. diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepAction.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepAction.cs index a62384b937..30efc3b8b7 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepAction.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepAction.cs @@ -1,4 +1,4 @@ -namespace OpenRCT +namespace Lib { public enum PeepAction : byte { diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepActionSprite.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepActionSprite.cs index 220d8eb09e..69fcce4f94 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepActionSprite.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepActionSprite.cs @@ -1,4 +1,4 @@ -namespace OpenRCT +namespace Lib { public enum PeepActionSprite : byte { diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepSpriteType.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepSpriteType.cs index 5a60505b62..aa3259433a 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepSpriteType.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepSpriteType.cs @@ -1,4 +1,4 @@ -namespace OpenRCT +namespace Lib { public enum PeepSpriteType : byte { diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepState.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepState.cs index e922b09226..f13572019a 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepState.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepState.cs @@ -1,4 +1,4 @@ -namespace OpenRCT +namespace Lib { public enum PeepState : byte { diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepSubState.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepSubState.cs index e92423e40c..ba61a78bcc 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepSubState.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepSubState.cs @@ -1,4 +1,4 @@ -namespace OpenRCT +namespace Lib { public enum PeepSubState : byte { diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepType.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepType.cs index 0918bbaed1..1cbecb80bf 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepType.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/PeepType.cs @@ -1,4 +1,4 @@ -namespace OpenRCT +namespace Lib { public enum PeepType : byte { diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/SmallSceneryFlags.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/SmallSceneryFlags.cs index 526024e0d4..74e12d7a33 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/SmallSceneryFlags.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/SmallSceneryFlags.cs @@ -1,6 +1,6 @@ using System; -namespace OpenRCT +namespace Lib { /// /// Flags that can be set on a small scenery. diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/SpriteType.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/SpriteType.cs index b202c579ba..5f476557ca 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/SpriteType.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/SpriteType.cs @@ -1,4 +1,4 @@ -namespace OpenRCT +namespace Lib { public enum SpriteType { diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/SurfaceSlope.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/SurfaceSlope.cs index 01a9616cde..e66c4c323a 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/SurfaceSlope.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/SurfaceSlope.cs @@ -1,6 +1,6 @@ using System; -namespace OpenRCT +namespace Lib { [Flags] public enum SurfaceSlope : byte diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/TerrainEdgeStyle.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/TerrainEdgeStyle.cs index 70e31e74ad..66e197c1b1 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/TerrainEdgeStyle.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/TerrainEdgeStyle.cs @@ -1,4 +1,4 @@ -namespace OpenRCT +namespace Lib { public enum TerrainEdgeStyle : byte { diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/TerrainSurfaceStyle.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/TerrainSurfaceStyle.cs index d3920d33ee..5568ecb30d 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/TerrainSurfaceStyle.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/TerrainSurfaceStyle.cs @@ -1,4 +1,4 @@ -namespace OpenRCT +namespace Lib { public enum TerrainSurfaceStyle : byte { diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/TileElementType.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/TileElementType.cs index 4097789876..eb46c24c74 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/TileElementType.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Enums/TileElementType.cs @@ -1,6 +1,6 @@ using System; -namespace OpenRCT +namespace Lib { /// /// The type of element. diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Graphics/Graphic.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Graphics/Graphic.cs index 8db8a123b9..e97cd95913 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Graphics/Graphic.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Graphics/Graphic.cs @@ -1,6 +1,6 @@ using System; -namespace OpenRCT +namespace Lib { /// /// A small struct that contains RCT graphic information. diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Graphics/GraphicExtensions.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Graphics/GraphicExtensions.cs index 995de49447..c245a6eda8 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Graphics/GraphicExtensions.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Graphics/GraphicExtensions.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using UnityEngine; -namespace OpenRCT +namespace Lib { /// /// Extensions for the Graphic struct. diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Graphics/GraphicsFactory.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Graphics/GraphicsFactory.cs index 36b0c7a7e4..983b673df2 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Graphics/GraphicsFactory.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Graphics/GraphicsFactory.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using UnityEngine; -namespace OpenRCT +namespace Lib { /// /// Factory for graphics related things in OpenRCT2. diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Graphics/PaletteEntry.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Graphics/PaletteEntry.cs index 63001a0039..a99a8dde6a 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Graphics/PaletteEntry.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Graphics/PaletteEntry.cs @@ -1,7 +1,7 @@ using System.Runtime.InteropServices; using UnityEngine; -namespace OpenRCT +namespace Lib { [StructLayout(LayoutKind.Sequential, Size = 4)] public struct PaletteEntry diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Game.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Game.cs index fffcf2a5a4..6ca3a0970a 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Game.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Game.cs @@ -3,7 +3,7 @@ using System.Runtime.InteropServices; #pragma warning disable CA2101 // Specify marshaling for P/Invoke string arguments -> this is deliberate -namespace OpenRCT +namespace Lib { public partial class OpenRCT2 { diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Graphics.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Graphics.cs index 9620241aca..aa8f399aec 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Graphics.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Graphics.cs @@ -1,6 +1,6 @@ using System.Runtime.InteropServices; -namespace OpenRCT +namespace Lib { public partial class OpenRCT2 { diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Map.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Map.cs index 637f09cec3..5ccde8a9c0 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Map.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Map.cs @@ -1,6 +1,6 @@ using System.Runtime.InteropServices; -namespace OpenRCT +namespace Lib { public partial class OpenRCT2 { diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Sprites.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Sprites.cs index 67a14b9562..58fc1811d4 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Sprites.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Sprites.cs @@ -1,7 +1,7 @@ using System.Runtime.InteropServices; using UnityEngine; -namespace OpenRCT +namespace Lib { public partial class OpenRCT2 { diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Tracks.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Tracks.cs new file mode 100644 index 0000000000..cc5b9842f7 --- /dev/null +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Tracks.cs @@ -0,0 +1,58 @@ +using System.Runtime.InteropServices; + + +namespace Lib +{ + public partial class OpenRCT2 + { + /// + /// Returns the amount of path nodes in the pathing route for the specified track type. + /// + [DllImport(PluginFile, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)] + static extern int GetTrackElementRouteSize(int trackVariant, int typeAndDirection); + + + /// + /// Writes all the path nodes up to size into the array. + /// + [DllImport(PluginFile, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)] + static extern void GetTrackElementRoute(int trackVariant, int typeAndDirection, [Out] TrackNode[] nodes, int size); + + + /// + /// Gets the path nodes in the pathing route for the specified track type. + /// + /// + /// The track type to retrieve. + /// + /// + /// The pathing information table to use. + /// + /// 0Regular tracks. + /// 1-4Custom routing for chairlifts. + /// 5-8Custom routing for go karts. + /// 9-14Custom routing for mini golf. + /// 15-16Custom routing for reversers. + /// + /// + public static TrackNode[] GetTrackElementRoute(int trackType, int trackVariant) + { + int typeAndDirection = trackType << 2; // direction right now is defaulted to 0; + int size = GetTrackElementRouteSize(trackVariant, typeAndDirection); + + TrackNode[] nodes = new TrackNode[size]; + GetTrackElementRoute(trackVariant, typeAndDirection, nodes, size); + return nodes; + } + + + /// + /// Gets the path nodes in the pathing route for the specified track type. + /// + /// + /// The track type to retrieve. + /// + public static TrackNode[] GetTrackElementRoute(int trackType) + => GetTrackElementRoute(trackType, 0); + } +} diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Tracks.cs.meta b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Tracks.cs.meta new file mode 100644 index 0000000000..25f0478d52 --- /dev/null +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.Tracks.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3304ed262b42d7d4cad57e62abdbcd67 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.cs index 981c1c1e8f..49f92ab57e 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/OpenRCT2.cs @@ -1,7 +1,7 @@ using System.IO; using UnityEngine; -namespace OpenRCT +namespace Lib { public partial class OpenRCT2 : MonoBehaviour { diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/Ptr.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/Ptr.cs index 72f6398fa1..653130108c 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/Ptr.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Imports/Ptr.cs @@ -1,4 +1,4 @@ -namespace OpenRCT +namespace Lib { /// /// Static helper class for pointer information. diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/Map.Generation.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/Map.Generation.cs index 3befea178b..95d8b4f0ad 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/Map.Generation.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/Map.Generation.cs @@ -2,8 +2,9 @@ using System; using Generation; using Generation.Retro; using UnityEngine; +using Utilities; -namespace OpenRCT +namespace Lib { public partial class Map { @@ -26,15 +27,14 @@ namespace OpenRCT [SerializeField] TileElementFlags generationFlags = TileElementFlags.All; - [Header("Generators")] - [SerializeReference] IElementGenerator surfaceGenerator = new SurfaceGenerator(); - [SerializeReference] IElementGenerator pathGenerator = new PrefabGenerator(); - [SerializeReference] IElementGenerator trackGenerator = new PrefabGenerator(); - [SerializeReference] IElementGenerator smallSceneryGenerator = new SmallSceneryGenerator(); - [SerializeReference] IElementGenerator entranceGenerator = new PrefabGenerator(); - [SerializeReference] IElementGenerator wallGenerator = new WallGenerator(); - [SerializeReference] IElementGenerator largeSceneryGenerator = new PrefabGenerator(); - [SerializeReference] IElementGenerator bannerGenerator = new PrefabGenerator(); + [SerializeReference, ScriptSelector] IElementGenerator surfaceGenerator = new SurfaceGenerator(); + [SerializeReference, ScriptSelector] IElementGenerator pathGenerator = new PrefabGenerator(); + [SerializeReference, ScriptSelector] IElementGenerator trackGenerator = new TrackGenerator(); + [SerializeReference, ScriptSelector] IElementGenerator smallSceneryGenerator = new SmallSceneryGenerator(); + [SerializeReference, ScriptSelector] IElementGenerator entranceGenerator = new PrefabGenerator(); + [SerializeReference, ScriptSelector] IElementGenerator wallGenerator = new WallGenerator(); + [SerializeReference, ScriptSelector] IElementGenerator largeSceneryGenerator = new PrefabGenerator(); + [SerializeReference, ScriptSelector] IElementGenerator bannerGenerator = new PrefabGenerator(); /// diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/Map.Helpers.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/Map.Helpers.cs index e652412006..dc06209d67 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/Map.Helpers.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/Map.Helpers.cs @@ -1,7 +1,7 @@ using System; using UnityEngine; -namespace OpenRCT +namespace Lib { /// /// The map of the park. diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/Map.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/Map.cs index 91760af400..afe6157bec 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/Map.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/Map.cs @@ -1,7 +1,6 @@ -using System; using UnityEngine; -namespace OpenRCT +namespace Lib { /// /// The map of the park. diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/MapTile.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/MapTile.cs index e47bb63f57..355304f6c6 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/MapTile.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/MapTile.cs @@ -1,6 +1,6 @@ using System; -namespace OpenRCT +namespace Lib { /// /// A tile struct containing multiple elements. diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/PeepController.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/PeepController.cs index 4dce1dc8e1..85dd0b1bfd 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/PeepController.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/PeepController.cs @@ -1,7 +1,7 @@ using System.Linq; using UnityEngine; -namespace OpenRCT +namespace Lib { /// /// Controller which moves and updates all the peeps in the park. diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/SpriteController.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/SpriteController.cs index f4d5859595..43cf5773ee 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/SpriteController.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/SpriteController.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using UnityEngine; -namespace OpenRCT +namespace Lib { /// /// Abstract base class for shared code in moving sprites around. @@ -74,7 +74,7 @@ namespace OpenRCT /// protected virtual SpriteObject AddSprite(int index, ref TSprite sprite) { - Vector3 position = Map.CoordsToVector3(sprite.Position); + Vector3 position = sprite.Position; GameObject peepObj = Instantiate(spritePrefab, position, Quaternion.identity, transform); SpriteObject instance = new SpriteObject @@ -108,7 +108,7 @@ namespace OpenRCT obj.lastUpdate = currentUpdateTick; - Vector3 target = Map.CoordsToVector3(sprite.Position); + Vector3 target = sprite.Position; if (obj.towards != target) { diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/VehicleController.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/VehicleController.cs index c1e26e6708..4fd17c8a7b 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/VehicleController.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Map/VehicleController.cs @@ -1,4 +1,4 @@ -namespace OpenRCT +namespace Lib { /// /// Controller which moves and updates all ride vehicles in the park. diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Sprites/ISprite.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Sprites/ISprite.cs index c2f267233d..a522086ad8 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Sprites/ISprite.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Sprites/ISprite.cs @@ -1,13 +1,21 @@ using UnityEngine; -namespace OpenRCT +namespace Lib { /// /// Generic sprite information. /// public interface ISprite { + /// + /// Returns the sprite id. + /// ushort Id { get; } + + + /// + /// Returns the position of the sprite in Unity coordinates. + /// Vector3 Position { get; } } } diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Sprites/Peep.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Sprites/Peep.cs index 997b61467e..4ce98ba55b 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Sprites/Peep.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Sprites/Peep.cs @@ -2,7 +2,7 @@ using System; using System.Runtime.InteropServices; using UnityEngine; -namespace OpenRCT +namespace Lib { /// /// The struct of a peep, which can be either a guest or a staff member. @@ -95,9 +95,9 @@ namespace OpenRCT /// - /// Returns the peep's position in RCT2 coordinates. + /// Returns the peep's position in Unity coordinates. /// public Vector3 Position - => new Vector3(sprite.x, sprite.z, sprite.y); + => Map.CoordsToVector3(sprite.x, sprite.z, sprite.y); } } diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Sprites/SpriteBase.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Sprites/SpriteBase.cs index d4f3570b75..8e4df28b6e 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Sprites/SpriteBase.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Sprites/SpriteBase.cs @@ -1,6 +1,6 @@ using System.Runtime.InteropServices; -namespace OpenRCT +namespace Lib { [StructLayout(LayoutKind.Sequential, Size = 31)] public struct SpriteBase diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Sprites/SpriteSize.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Sprites/SpriteSize.cs index 5c5e25ad69..8afe2c64c5 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Sprites/SpriteSize.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Sprites/SpriteSize.cs @@ -1,7 +1,7 @@ using System; using System.Runtime.InteropServices; -namespace OpenRCT +namespace Lib { [StructLayout(LayoutKind.Sequential, Size = 4)] public struct SpriteSize diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Sprites/Vehicle.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Sprites/Vehicle.cs index 67a535db90..dcd90a3b2a 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/Sprites/Vehicle.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/Sprites/Vehicle.cs @@ -1,7 +1,7 @@ using System.Runtime.InteropServices; using UnityEngine; -namespace OpenRCT +namespace Lib { /// /// The struct of a ride vehicle. @@ -13,7 +13,7 @@ namespace OpenRCT public int x; public int y; public int z; - public byte direction; // 0-31 to indicate direction, 0 = negative x axis + public byte direction; // 0-31 to indicate direction, 0 = negative x axis direction public byte bankRotation; public byte pitchRotation; // this is a index describing what sprite should be used; maybe useless for pitch? @@ -26,10 +26,10 @@ namespace OpenRCT /// - /// Returns the vehicle's position in RCT2 coordinates. + /// Returns the vehicle's position in Unity coordinates. /// public Vector3 Position - => new Vector3(x, z, y); + => Map.CoordsToVector3(x, z, y); /// diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/Data.meta b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/Data.meta new file mode 100644 index 0000000000..80fb6b6644 --- /dev/null +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/Data.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7e8dded0fd3047245a43b019689de347 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/Data/TrackNode.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/Data/TrackNode.cs new file mode 100644 index 0000000000..60b0942d8a --- /dev/null +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/Data/TrackNode.cs @@ -0,0 +1,24 @@ +using System.Runtime.InteropServices; +using UnityEngine; + +namespace Lib +{ + [StructLayout(LayoutKind.Sequential)] + public struct TrackNode + { + public short x; + public short y; + public short z; + public byte direction; // 0-31 to indicate direction, 0 = negative x axis direction + public byte vehicleSprite; + public byte bankRotation; + + + /// + /// The local position of the track node in Unity coordinates, relative + /// to the start of the track element. + /// + public Vector3 LocalPosition + => Map.CoordsToVector3(x, z, y); + } +} diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/Data/TrackNode.cs.meta b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/Data/TrackNode.cs.meta new file mode 100644 index 0000000000..69a2b08823 --- /dev/null +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/Data/TrackNode.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6ecf0197a2ffb454a80713ae5e32d883 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/Entries/SmallSceneryEntry.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/Entries/SmallSceneryEntry.cs index 5085244ce7..36cb49435e 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/Entries/SmallSceneryEntry.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/Entries/SmallSceneryEntry.cs @@ -1,6 +1,6 @@ using System.Runtime.InteropServices; -namespace OpenRCT +namespace Lib { /// /// A small scenery entry struct. diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/PathElement.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/PathElement.cs index 56bcf84935..69dc9498b2 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/PathElement.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/PathElement.cs @@ -1,4 +1,4 @@ -namespace OpenRCT +namespace Lib { /// /// An element representing a piece of path. diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/SmallSceneryElement.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/SmallSceneryElement.cs index e0da983ef0..84a7873060 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/SmallSceneryElement.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/SmallSceneryElement.cs @@ -1,4 +1,4 @@ -namespace OpenRCT +namespace Lib { /// /// An element representing a small scenery piece. diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/SurfaceElement.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/SurfaceElement.cs index 31f01f3cdd..519b44a318 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/SurfaceElement.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/SurfaceElement.cs @@ -1,4 +1,4 @@ -namespace OpenRCT +namespace Lib { /// /// An element representing the surface of the map. diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/TileElement.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/TileElement.cs index 45f3175b01..7d83db12e2 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/TileElement.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/TileElement.cs @@ -1,9 +1,10 @@ +using System; using System.Runtime.InteropServices; -namespace OpenRCT +namespace Lib { [StructLayout(LayoutKind.Sequential, Size = 16)] - public struct TileElement + public struct TileElement : IEquatable { public byte type; public byte flags; @@ -46,5 +47,77 @@ namespace OpenRCT /// public byte Rotation => (byte)(type & RotationMask); + + + #region Equality overrides + + /// + /// Compares two tile elements to see whether they are equal. + /// + public static bool Equals(ref TileElement left, ref TileElement right) + => (left.type == right.type) + && (left.flags == right.flags) + && (left.baseHeight == right.baseHeight) + && (left.clearanceHeight == right.clearanceHeight) + && (left.slot0x1 == right.slot0x1) + && (left.slot0x2 == right.slot0x2) + && (left.slot0x3 == right.slot0x3) + && (left.slot0x4 == right.slot0x4) + && (left.slot0x5 == right.slot0x5) + && (left.slot0x6 == right.slot0x6) + && (left.slot0x7 == right.slot0x7) + && (left.slot0x8 == right.slot0x8) + && (left.slot0x9 == right.slot0x9) + && (left.slot0xA == right.slot0xA) + && (left.slot0xB == right.slot0xB) + && (left.slot0xC == right.slot0xC); + + + /// + public override bool Equals(object obj) + => (obj is TileElement tile && Equals(ref this, ref tile)); + + + /// + public bool Equals(TileElement other) + => (Equals(ref this, ref other)); + + + /// + public static bool operator ==(TileElement left, TileElement right) + => (Equals(ref left, ref right)); + + + /// + public static bool operator !=(TileElement left, TileElement right) + => (!Equals(ref left, ref right)); + + + /// + /// Autogenerated hash function. + /// + public override int GetHashCode() + { + int hashCode = 437187081; + hashCode = hashCode * -1521134295 + type.GetHashCode(); + hashCode = hashCode * -1521134295 + flags.GetHashCode(); + hashCode = hashCode * -1521134295 + baseHeight.GetHashCode(); + hashCode = hashCode * -1521134295 + clearanceHeight.GetHashCode(); + hashCode = hashCode * -1521134295 + slot0x1.GetHashCode(); + hashCode = hashCode * -1521134295 + slot0x2.GetHashCode(); + hashCode = hashCode * -1521134295 + slot0x3.GetHashCode(); + hashCode = hashCode * -1521134295 + slot0x4.GetHashCode(); + hashCode = hashCode * -1521134295 + slot0x5.GetHashCode(); + hashCode = hashCode * -1521134295 + slot0x6.GetHashCode(); + hashCode = hashCode * -1521134295 + slot0x7.GetHashCode(); + hashCode = hashCode * -1521134295 + slot0x8.GetHashCode(); + hashCode = hashCode * -1521134295 + slot0x9.GetHashCode(); + hashCode = hashCode * -1521134295 + slot0xA.GetHashCode(); + hashCode = hashCode * -1521134295 + slot0xB.GetHashCode(); + hashCode = hashCode * -1521134295 + slot0xC.GetHashCode(); + return hashCode; + } + + #endregion } } diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/TileElementExtensions.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/TileElementExtensions.cs index d74e7972c8..a80d9f46b4 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/TileElementExtensions.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/TileElementExtensions.cs @@ -1,7 +1,7 @@ using System; using UnityEngine; -namespace OpenRCT +namespace Lib { /// /// Extensions for a tile element struct. diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/TrackElement.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/TrackElement.cs index 5aa919e5ec..397f2b5d36 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/TrackElement.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/TrackElement.cs @@ -1,25 +1,68 @@ -namespace OpenRCT +namespace Lib { /// /// An element representing a trackpiece of a ride, or a stall. /// public readonly ref struct TrackElement { + // Mask to get the bits for the scenery quadrant/wall side. + const byte ChainliftMask = 0b10000000; + + + /// + /// The type of the element. In this case a track element. + /// public TileElementType Type => element.Type; + /// + /// Returns true of the track element has a chainlift. + /// + public bool HasChainlift => (element.type & ChainliftMask) != 0; + + + /// + /// Returns the track type index of this track element. + /// + public short TrackType => (short)((element.slot0x2 << 8) + element.slot0x1); + + + /// + /// Returns the index of the tile part of this track element. A multi-tile + /// track-piece will have multiple parts, one for each tile. Also called + /// 'sequence' in OpenRCT2 source code. + /// + public byte PartIndex => element.slot0x3; + + + /// + /// Returns the index of which colour scheme this track element uses. + /// + public byte ColourScheme => element.slot0x4; + + + /// + /// Returns the track type index of this track element. + /// + public short RideIndex => (short)((element.slot0x9 << 8) + element.slot0x8); + + /* 0x1 = TrackType * 0x2 = TrackType * 0x3 = Sequence / Maze - * 0x4 = Sequence / Maze + * 0x4 = ColourScheme / Maze * 0x5 = OnRidePhoto / BrakeBoosterSpeed * 0x6 = StationIndex * 0x7 = Flags2 * 0x8 = RideIndex + * 0x9 = RideIndex */ readonly TileElement element; + /// + /// Wraps the tile element to access the track element information. + /// public TrackElement(ref TileElement element) { this.element = element; diff --git a/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/WallElement.cs b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/WallElement.cs index 78812a2079..ea624fc07b 100644 --- a/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/WallElement.cs +++ b/src/openrct2-unity/Assets/Scripts/OpenRCT2/TileElements/WallElement.cs @@ -1,4 +1,4 @@ -namespace OpenRCT +namespace Lib { /// /// An element representing a piece of wall. diff --git a/src/openrct2-unity/Assets/Scripts/Tools/SelectionTool.cs b/src/openrct2-unity/Assets/Scripts/Tools/SelectionTool.cs index 6f8fd73b26..9411aebd52 100644 --- a/src/openrct2-unity/Assets/Scripts/Tools/SelectionTool.cs +++ b/src/openrct2-unity/Assets/Scripts/Tools/SelectionTool.cs @@ -1,4 +1,4 @@ -using OpenRCT; +using Lib; using UI; using UnityEngine; diff --git a/src/openrct2-unity/Assets/Scripts/UI/PeepWindow.cs b/src/openrct2-unity/Assets/Scripts/UI/PeepWindow.cs index a0806d7866..586aceae06 100644 --- a/src/openrct2-unity/Assets/Scripts/UI/PeepWindow.cs +++ b/src/openrct2-unity/Assets/Scripts/UI/PeepWindow.cs @@ -1,4 +1,4 @@ -using OpenRCT; +using Lib; using UnityEngine; using UnityEngine.UI; diff --git a/src/openrct2-unity/Assets/Scripts/UI/WindowManager.cs b/src/openrct2-unity/Assets/Scripts/UI/WindowManager.cs index f4d3b1d28d..0c74115466 100644 --- a/src/openrct2-unity/Assets/Scripts/UI/WindowManager.cs +++ b/src/openrct2-unity/Assets/Scripts/UI/WindowManager.cs @@ -1,4 +1,4 @@ -using OpenRCT; +using Lib; using UnityEngine; diff --git a/src/openrct2-unity/Assets/Scripts/Utilities.meta b/src/openrct2-unity/Assets/Scripts/Utilities.meta new file mode 100644 index 0000000000..57391eeb93 --- /dev/null +++ b/src/openrct2-unity/Assets/Scripts/Utilities.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6753d33824cebd84080a9ca1a7fe9f41 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/openrct2-unity/Assets/Scripts/Maths.cs b/src/openrct2-unity/Assets/Scripts/Utilities/Maths.cs similarity index 100% rename from src/openrct2-unity/Assets/Scripts/Maths.cs rename to src/openrct2-unity/Assets/Scripts/Utilities/Maths.cs diff --git a/src/openrct2-unity/Assets/Scripts/Maths.cs.meta b/src/openrct2-unity/Assets/Scripts/Utilities/Maths.cs.meta similarity index 100% rename from src/openrct2-unity/Assets/Scripts/Maths.cs.meta rename to src/openrct2-unity/Assets/Scripts/Utilities/Maths.cs.meta diff --git a/src/openrct2-unity/Assets/Scripts/Utilities/ScriptSelectorAttribute.cs b/src/openrct2-unity/Assets/Scripts/Utilities/ScriptSelectorAttribute.cs new file mode 100644 index 0000000000..774b7fe413 --- /dev/null +++ b/src/openrct2-unity/Assets/Scripts/Utilities/ScriptSelectorAttribute.cs @@ -0,0 +1,14 @@ +using System; +using UnityEngine; + +namespace Utilities +{ + /// + /// Put this on attributes alongside the -attribute + /// to draw a script selector box and property fields for all its values. + /// + [AttributeUsage(AttributeTargets.Field)] + public sealed class ScriptSelectorAttribute : PropertyAttribute + { + } +} diff --git a/src/openrct2-unity/Assets/Scripts/Utilities/ScriptSelectorAttribute.cs.meta b/src/openrct2-unity/Assets/Scripts/Utilities/ScriptSelectorAttribute.cs.meta new file mode 100644 index 0000000000..2c9b3c1690 --- /dev/null +++ b/src/openrct2-unity/Assets/Scripts/Utilities/ScriptSelectorAttribute.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 015154ac7feb23d41a7ebf58a3775021 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/openrct2-unity/Parks/Three Monkeys Park.sv6 b/src/openrct2-unity/Parks/Three Monkeys Park.sv6 new file mode 100644 index 0000000000000000000000000000000000000000..9527c44587b8d7e2306e4352e12b17616dc0c857 GIT binary patch literal 469302 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

M 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%0AR_Dk zr~eoJKhXGpAmhIf+?!0`e(LNApdB2bt5>K02W8&d;BE)xwgFstmO3Q2?j@fB&sPLk0~08GkHp z{=eAa|1$Jp0}jY`6T}T8oRCoi#)AJz$^ZYSgX&O@jQ?B_pbF|grzOMxA1nTAp7_6p zq2WL4|LgzXf<}U$Klop$!I=2p?Eex_S6e~izsP?!fq=;e{!4<+12>q^0r5yFxNQUS zh&{L$g763{I1}%KXJT1s&bS9{*O-HjnE`b{GP(X61pMC+0v%-h?+R|W@I3f${op^# zf&cCYBsv-n{$~Yk%3~_{pOF0je=el;!g=FAHzXpsRzj+=QYEPSH=$w1e~$m46A(eG-ax%S69>=9jxm#4#9 z0{)V!bnS?>zhEkE?DkVcr5+@zZRUczcT#izVV;; zM8JQ6|2!)h{)6s}<^wk-K}$-x{=fTQ&hTIA!T+8IpiHst|FS>>P<`;9EdVrXDDnZi zrS1TD6#}R){`&uKi~nAr*=Qc&HHEQ)Fg{`1ts61^7Tj@KhEXY^Mz9fF_t4)`fq^L+k!MXnjqJ%as5|@r87lnlXEe+=Kl9z5mZvK{%8Kr`M>xC z8>i&r|7!4p3Y@sanE(HGW(Q4A@!t5)4{SHpjy|F)nWm&kv2Xpd_Ntj7hO(qUxyZwBfvf{G=+ zjQ;`=|5;xA=eK0|@AV&YK`8X7>iYlh|2uK~?|<+=oWUWJ;r}=I*trO(;rw6bzZfV} z8-NaTU z2I`H7NI!VtEAxNtJP!xxa1O(N#?=4+^QZskulV?15L|}-uw?ijg6i1P|L_0Xa)6H2 z2m)6G-yp>gsBa4jAov|s{g1OYVL+VJCl71*)A{tN$iwdnW{?T91FAeMjsHM#!V z!iSMnpoLI7IB_fhoyEucpQ+;iP0$$B)BpcPd}aQhgpNUh&!B*Ipt7g`=LX*{C=~IZ z<;H(OOUC~V+Ms1L({wWv>6=LxGsUN9aKIv1uYA64n?r1dnQc`0oxr zOGEm<{tD32$V{dGS7C)LE5mlFutoYCLzv0J;1E8kium3`zYo#1v| zJHZv8HndcRRN4Rki#I*^FZ%x@sPiWV9U}k@Xf!eZ{|_1=*ty}q_>KRP5Z6kqWca_~ zKWHs9?7H2R|3T6E4>VL1^PnS>;s59V*9suJH^7elF95pah2z77juizN|7U`y1Ac?g z0E0UeQGtNYP2~Ck8_v*yR(jvS!T#^R1}GIZ{1^QH6H-$%uJAbln*M^NA@DW>0fztP zpowC3&?bC|8~>$F{Acm_FS(Kde172t_>RZo|L;MKkmd*fnZUWh9J2NTbmo90WOXCx zJ~?jiIYtJcmeK#F|8B56@t+g4#q7&}X0%JGf529afX*^Ly=h0q{|pA`H5$5*bOb*8 z@dBvr#{fD?TpnD)Rs25>Nk|*Oo$uqEki5_eIvDMLI_t_E8~#f+{FjDg1F4|@_x^MI z*X8&>A3UP;_6MjB@%P66UQkcS96SvAA2gBy>Iwa4?D`MdA#?$BY}^dcnejjVPltDg zT)~|o*qGvfCeZGg|NkWz{x`Z)5)dKMm6H zl)CX>29j8$S2Fwut(DpfAO7_I|K`6L!~f_97c@Wv8rwmmpNS6tMIb4K3Dj!?9ZI|6 z1gK>M>U~0b(4hPZOVyBuC}iwQO8mbBV(LgA>Q)DEa{2!s=2kCgjSU`r5o7=lz7&Cn zzQkVqm%i~|7UEhNP@Mp2W&D5e|KES;)g4*?w?htYMIP1wO;NyZ?)c9NE-#n=KL9$~ z=I(#c^pP3p=vMenY-P|!LMF(NhV6@olm7RYvM*0p`fq@!55O%XhW}Fk|ATg7GyG@& z&v=UEYzM=Cmzw_y43PCXOdlZyBi2G$;eEcs5alI_a^^h9vzZAp&;Q#Ob>w~Ja za!?SXR@+SfIsc0rya1gn1nM3CZ~LG9f9i(+djDU8E;+LSw>Xd%v4d*u|4cs^UxKSN zJ#dxQ4BIhg$n^gQXo^&W>Awmz*g+c={xkn)`QH!j(t!8-RXF@#3!VGI(PQJZ5%{lh zcFup$cHW@>|IWp z>H&xUe2{cMi9_K325@5f&yo=FpC8)Xf{);nC_+Kz#CMdgZ25;mCjjlU^$0uOL z3e?@8p)LvW{|YS7i7ykV!)3q@|NmbcI?)STD-E9NW%^$OD$Bu{^)bVLg&Y5sAjw^E zC1_VG(y2J0@!ZJ_|NTK%sYPTmDEz+&=`IRM!U}VV58$Qh|Cttm^Q#xQ75Do8PYcij zZ_qA6cBED|XttO24EXo~8^!Qa8%@asL&I~yuA2dhQ_+ZC>>Hop2 zgl;!5{J%a2l6n348Ieo$9B_%Q*zjK&lDL(E{)09Ne1#7EUig3c|6A~O?8guOmp|B$ z$>1>Kzd`_LfQwIpDWKWqeP-=GM;;p0Cyc;ErliZKPRQZfK{;u#Uk8>G1Y+kmEdA(I{EP>+D) zfbrjdT~Je+wc$Ve|IH6T!?0@|7W^0g|Gh((;s4w{1)L1vX*yV69<&p&5ab8tjQ^?- zKd4wT{8#wT{r@X`ea7Seum5ZP{|DMmZx3#WE&6{s5EKn!&?4r)#D6JJ@A$)n|16NY z)fw&wPw*5IBon~mg8AQnR<8da5KS=)XbT52)A;Yd7Bu&A|8D`WgzE#{ASS^9@xH z1OAJF%AcN|^f9C(L|Be2O{AYRa-;&|s zf9r>!RrCLuDqdY(0y;TOHCY0bnA9@Nt44FMkl{)_x)2Mxqc0xg1v%>2y&ubhFbxB7Vjw6;Ac1Jz%k(Ozb*5AaNF z4fT~aI8%c*l7WVMKl~T@zv)53f3g1upivRv@P7_s9pb|o|9QYO@a_yq!|?wZVXOC? zlmGwEvt|4*`{KX)4ba#-%YT9Y8lZ*-w3(#H@IU_lyZ>gOhQ_1+mofUz4FARd^FaH~ z2f(H7h94dd(5^G+{z{bb80J@?Rs-l7c2;mB1Kw}8L5#=1+M(dZWXuQtw}aal*$n@~ zAT4L`j2xty#LN00ypoyWzs8G?|Fuqlds~_y*F&30ybS+Ai{X_(u2+K`z=+cGFZeI< z-vsJ<@Yx7W|BJwt2Bhon0&3&^N9sg^4w8NZIy?{L1zWHenqjSfTSQY2vX1Zne|ONq zzyAgPTf@9?$l-q)VsPU>6X*c02e9#s{~VC>1SCLX00$~So&N^#nL-9x|NrOZf?7+O z4ga+v6^d36_{!T{_zAN&|Gzx|Ia<2u!Hi7MJw>3KaX>XWq$vK+4OuTy-~l?+zTrni z0IW&@Eonwie5~LzX7xZV@Bfg=A3JC{25W`Xf>(q5XZddp8rBg0Ukb`q1rDIedq&vh zhyVHhGyf0xZ~R{Z>^F=5G992}lRy~@ya+_2fCG}Nv@-tdKysC~CBy%u|6JgEe>Onc zC{O>t{{Q^{zyDvsXVGSY&ZJ-Z-y|Ubw2od3JmSjopBuDR0aU>K2amXd`W4szgX&9A zJp&(ch0KypKw7L|5A_vfum;hgP=_=GA#2eX8UBNM%4wkdubuH<7vfSKONRe@{)4Xb zW`~>;^8Y-zKKutdD}F7gF|`bQIT0udparq?4h9Zzj~+Cj4eq4f{12)OLDPr-;X|#E zP8ztq3NMHqpzeef#A2YSH^{P~WQbEi{dooE|NkM~2F(}$b#DCEgX9QZP>z7k`Aac? zPn!UD9MZ7lh>r%a>;Rd{b^7sN9X1jMnj1$S31j;42-NIT6#uUW9_xc=2S-GXhIAW1 zMb-q+;Lw5pyr3i_J^?%scGuzm63|qxGiYQ5=TI06C^taHSa_HI|E~g`?a_Vl@xMOA zi+Uh0LNoox|Ns6M|9|(N?f-v|h^+r<|CfV?W1)S!2GGg|&^Q?AFd*>B*pR;6rXM>t z{D1iW_kX_s;Cu1lJv){EjQ^P!UxIJ(5_s`o7W_(UCxi!Ky$BV?|6B~9WxKHaUJog< zIRCRk3oOXC(`?q2|Mez({BHos%le2>FI|TJ<^SLPcLEhy&#*+#MaWUBuyIOf3VX!Ga3Fr10RTB-~n!x2!ZC? z#Q#f!CQ3dq{OA1746ZxEek4SIZcpFv-(2DUml=qAcpy`5|CvDtud9I58sm%upnJkt zz*C7Xh`0bJHc-LwUzhO}8)R}i&f)(;f|Jw#Ie9^sCxOQCI5Gl2Cr0S2icVHzYv_K^k4ipyz$={lB>v?ov;JTIgC|2jrXz~R3rcxGny1Odn(`YKSCf=tX{HUu6s{%1Py@4uq> ze=gK=!wnIY8^BGS|NmhvfuFE!r2)xSpkpnd_ndOG{{LSN?nBx${5QJs-vr_TW9W2z z@_#na!N#EZQrG{V{_ptz?|5PHp_J6{Q?BU%@LFKIZ@b!MzpZ zjQ^&P3dRJwB<}EkHqfbcAjd!b|MCBANLBa&)NA~|`2Tf~+Ybc%moR`dF?m3@mrMXn z_cHxw0Xg6EholC$Dl|tL6@fOM8NiKaGo;3|2XtVh5E}NNKD%V||I^5Wfs73QJD9;! zk46>$O)~zQLELMKn8W*T!C>(J{eNFjF_!%QDpL9TpN%o%fye(P&>bI;8!j({_gCHi z|LeaXbVo3}%>~(D#SGe)$pS8eCxACu^+R?ydm<7Gqz3=@-yX7Fi1|Oy2{!PAlAFW- z*+rl&RY;447!YfPEI>SE z5J5!?WPQ!d|9?RXY}P?iQ8Fk?AP=sV zWKW3ci~r^~{#!!aZUHKNpxqEThX0a~BRjJGKmHHC&<$lp3g3Uw$zGh`#fspy{yh(F z{8#yJ0NobigWiw_6}3Meo;>jHKeRRh?P^K-51VK8LA2%3N?O7Hji78S_P-lk(q41; zKO0)oLbiNip3w3ie5^ls7LOY=J@o&-Fl5EQ#f|?~5T9DEWcdHzAo_nX$NvBZP*M&3 z|Nj5M|4jc=AN;=tNnYyzSAqtJ5(55nfma4T_%Hq6K;VDCgo^*1phyCBB_WMT&?4gh z%#aZx__WIb@R+|u3v|ri7n-(&pmUTm7bbv~`-uMkdxGs8!+#NQ`N|GiORNDue$L{> zf6E*Hts!o<0>uurQE3XgwD8@3FHm+@|GyfP-BDsk614mqdhz3d|DeTl2N3h$#^AU? zp8w|j&-??t3Pn`>ztD>Zvnu|l!|FgkNFB)WUxeudIA8q#4{CJ%XPWRo`V>o0HpBmF zu-lJ=rjns^;9QVhM-lA*tzLZmZ*v0NOSA?#A6m63F#M1G|L(sj$ob1b#~l444DN#@E>&2$K3ym|BL*9rmp`M5};FI;AIwM`t${8ks||mzL5{y`g#W2814`8 z1h^uHtb76$Tade1Kl~Sltf`so@P9eDs|aowgBJ;Lf-VCC1?7YP?him~(Kta@EPxs; z|M_$OLo0Cg7yqqq{I@*;_NC2A$QVWIf6o7F!Q(EE|Gx!Yi}Crv|4ZO;m*xLgqm5C> z-S|I&13cWtj54SWS}HUHGFSvFv>;0al|We^T4)78E5GgF$N`<-1lmsWpXI+VX#3}f z|Gf_!{)_xq?Evo%OLh4F{1SW^(g4&M{x1Z&v;pKt(AvQV|2Y^OKJH-P`1tsE185LN zAX#Gif9s0>HW~lzB0xtz+alFDqL5Swp5{-7M58@wJW755PZ@(wXaF@)TK@0;|0;sx z|K0z8UVzSP`GVSh1`QB{C;I>W7X@zzYO46(2jsNzLXtIM=FqMccDWKcxL?AQ7nvfD89duYQ zXo|Q2GDOA#nMwoKFQ5_tw2c6C)Pw-&L_m1`0xtnTHH?J#e;e4WLJ+hF08dmhB6_}S z;yA!-NWe3#f(-xbKs7!4f7=)T?QZ;cfVkHllzE^fvmXQa{=;NY=6Q~|xE8j48H|C9c6{PzbB7lQ^VL7S)NF@V-rZ3Yig8i5BXL5)c8AO+~K zC`r&5Wx<61Y$p;T{&#|RRDfD$psP_~%@)=F|Czu$znQ^1zqvp~0HpR0g_Zzb;Hu^S ze<|ps&k9%z5>%@&fVMZ)Gynfz25z%Ey!h{U_;4FC22zxyu-N?b-* zMjydL+cp}IGgm-|C$#-P{{QTa3($hu5j@d}RxX1k@PB|i#k;}9ax`pBb{L{Dc?jHe zfvy5!{?Gm243?iA{vRy*ufgyiygF$HWFgXj4u%HM9qFKoJ^>UJ{EgX+DWE2#(~bWw z5MMd31TDhm`hWI6J8YwnC8#L=|M$Nqs4NDr4c_$sB53a6Kmc^QTmy9fFleg~=sXKP zP$n-1w<19+gdw+CL&{@#Y_Ni3LkHA~gv3TTv^nnwDxyG3FCc53C7b`7K=U~(XgRPN z^Z);a;Ha>9@!$Eze^-d3U7*!R_kYg+tH9OA-T!a@A7*&*;QtLsp|t7$Wwh!;3cRp)E$I7yn&u{C9)6*A*%0crg6W{r~QNEGX#|{lAFWCb{wd9<*cv9oEzH zf7Orw{Gh#|zyAwBj#>YY+$I542CN@WfiA#QV)$?K;vvImzrLaz`9<*V?44vcWW(1$a0SR`N7yn&v{C7Wb;lIFtx0MY4TmEzWhi+u~&sy;R z9q5wJ&0S^je+MEnnjPw%)Q&zHb!0tRqfa0_hx zM-;TV4la@y|Npma0v$-f0a_~*`Jd^3Zjk}>aBk4bc4N@e5pXF4S+3U6@Ly~J^W)=< z8X5mvqW}NTnf_m*;=fzQe-B8X(A|>Z|GNL6Ymi`ziFW?~@Za(OKhU+LVc-_Xr~emG z785bw_`dOU0A&+^mY>X^DTN>4{e6(Wt&hcj1L%Ak zbmbPPR%R9dzX35{7z3@BVe^IB7bbwVCW`z&1e$Ua`+p5O&!Yi3Ji|w2E96iBL5BZM z%>VyKu$T~sh1OFF7Pkf6- z3^VQn7eN32+rpQt8ae!*4qo98yDyXj)a3gwhBQxg1F{~ToCLu7hz-eLI94c)HPQ1QP2)JtUhpR|IB3w$+3 zk;DJx(2gRmAvt8v2-+hF?kbA^?*?}jy}+d!^n3>ahX1ng-eN7ofA1UreZeCrJ}VjitNiEspATID z`JeTF>i_ruL;wE;9i@>4j;C$^mxIc*1n~aT|BRCk>;O$#gH9JJ0M&f9;F=FKTjBv) zL=UM*P@T>7-wy8V1ZXn^w#f&)1>ip@M>>MH_!fe*kuo9^fzM@TWcV+|{QrN&^c@@i z`(*t0gA`)EmJI(rQO?G_|Ns4eWsVmQ{#$?-7MA^A3Ti+hFD(4=0W`FIVFGCP6sW@p zx-jDP|6l((K}UgLxyy(Fd`lu|M3fhFunW`9|0=MqMj|2?LHg_Pb_wHuchIr8tp5)} z7Nhhz{9gxdGFlq^7lI!R$pPL)`Jaa&;p5}~%nTh$pjpNL?6C9h++O_mz471w1h~WK zx02z11quI~ z{!jbypZUlCm;ZnM=K|NF2N0)sLb}C29y0uAy6_*g3|HdC!<|Trij$Dq_b`vDg4*}Y z|E2!3L)!NTz{w5VyN8|K0=W&Sfc?Mgi~oK%{s)`@^$Y!xS^}O7|MUO9`yU5t348-( z5734Jq?N>+|0O|pe;3qz1KZ~c8cjjz7D75Hr~kA3|E~m^cYeqK8alet0NLo8 zjA-JELrXkOkQbQ#3;o{M0iB|$A1m@7#L`UB}zX9>=QQ7c^BaQSxVqV(G~yau7Eab zQV`|aWvE{u6WT(M2|VflZ^2_=Y|zb^&i_3?N1{7D{EuZ2jFkaCR>2LvB&Q5A2o`YT ze-Ol{fh!sQ+y3YLf8oRb0`MT%>;G>+7XI{aS^Zwlcm!a<`>pjj2rw0%K9Wa9t-e7TG}HvA84_#X@@!v6=k z{V$UEuLwTA0n{H$h3wQUeE>Qo4zyj|`2Y0+aQ5N>weBYU7tH`|R2G=9q61V6!uJ6G z|8Kz!8jXb&grE~*nm`*zq_{xWV=+V5;H5#!LD+1BGN?HL3a$^J3QF|CpBYxISe>bROrzJCCr{U7*#- z;Q5l^jQ^pKVmic<;eW}0j{ni{rkdve5C1p+|M%bW!T%HBw$297&~X5$tcJGLBzJ%U zH(x?0WbcC-1r{`3Di(f=7x@;iZJ|l{r~R2CMa_kgJuy?Mj-w(g3b|FgAPIb=Le5L zZ2Hkq@&D=nKmU242f`wCSeQ9MVgDFB!v@)f1D~1CM5J~|ID?kmg9d0C4*Zt^r3&%? zdElw}>+?9kryemfz-E6z(`@K7)gXaFT?MR3gy>eJd;Ag5^P{MrFh|G$H>panFnVa*T?(Ah83|A$um56}1?2}$4)NQ0fW z3<3Y&{SN}Amd~I>jaH{I{TBzV6xiKx0d#aj$N!Qapvz`o{{Qoz>%S{xp#c2k2G0L1 zrw@QP3d=x8+@8Lu24Byf1F4ZgqwW8}+tmO62Uo}-)0aakLPPx{VgqRS|9Afl{{Q=*{@}kWID7s#|G)D8f&j$IX~`d;h0_-% zRDjk8zCpqmZIc{J#le>?0Rim_SZI`1fBMIu9lOfBA!i|C0aL zf}4O`|2H8Tf#A|bkm0`%{OGBO7ylz~{EvpDoG4I!g$_+2Z=5s77%}|M_+Jb>IK>GW zn*t3nH2r@G%CHY%i%gPH+7-;N9zl+^QxN}e`{Kdu|M0~cd5C%#wy+G`rT|R^hQq3- z7svyjsH;u#L5G}2P5Agf22uq@2g5HY_Ju4rNdhIK?U;kN|Hb}`|GxqqB>^4I*TKPX z;l%%!|Ns8y`tJsww?P_QV*=g148JF_2Xb%F?+!@AC?DYoXK+6F4?1L!UcrHD?#~xrvLk({o4xY z(o&8D&@OMt2?Bxz|7(*Ozy~KXz4#w<<9{3^jm55H0FT(N1eNt*x9|P`7Icir*$4l> zf(J~>GeFxQASbdx=KSUUi-Cq5Kqs>OkW7g9fA@#vga4p$EOVqmH&8x-4cSVFv;2p- zzYyyFHPC@8Nr?Lc;8iYoOMxI{J47ZVSI6G?9}jVE+)9T3ZvQ#{8^R9fYy|b|82(Ru z@IMROYAgT08dTpZIDpPw`Oi4%Kd8AKzyVrR16rmJ8gxTmi1;6A864QPkSbRLR{R%1 ztK5~)7Aa_b0_b$1U2x|zf~J%~r<$a(gYr;Z#{UFJ@fmN)@P7$P_c{6h>;KpO|NUS5 z;0CyF^Br9LAUe+ykaGXS1W=!*;m7}-@WCiYiw_eJi`U@}<@#>~b7(O%SYfM>6~Ltr z!+)XwhanSuaqwOM*u^%?|Nkd~25;gs{wG2loB&;6tofho05~PsgO0@D0PTP%+?WYE zqyaQ{2Wk^T>eWh6A^;sy_8&BJmkh5~Z7lvf&M>eM0gZD(hwVW_!Ce1kVB7FYprHyb zK{FnR>o2xHHG-n`T4ecH?{g?V*3@cjJIQ-uU-JK)=9kl2C?{x4#7ij+`$ZPCM z2`qP-!Mis>4fezv|C1qpN?OVA|I~lB|7$_#X@L7Bji6&BEI=u|M*=kDqV<0pXvf0> z(CKz80s$G5K%HkX&04&}z@N|2zNhN9=I>Zy||gTKhi>XkPmQxM2yof<6Z}fl`hbsDPby2U;b}1wQet z3bJTL=|6|V|BdjdaQ*N8Uo7Ip0nqjor-lDH6(l~+fb6F? z0DDdXye=)N1G>4h0+GyMgA&2DHC|u_1q88<@2C%B3tmnwEyOa8@)gq z5FN1--9nuWx3PzpZPyy)(wV~l?QhGPiy#}0cj?s2mKHF&;DN*zO%LR z|3}bK8l4X&fOodO`o9HQu|fB?O5FerMi?~wXORUJX^@%?(wl^AT!D2Ipk***>a-cr zQK*LIdq_*--+u|v{1;@Aw*@roGlOR9KzsX&!SRyv;(z*$|Cx|@$pGaIXz7c*q~#Sx z-uMsN_bmP&bTZCt$Oz?+|B$7`pyisp&?~T!v&JjXK4lj0*hwmQ))c-Fq6U#K#6fYv zh}4@b{jYGK;6M1puK!12V+^3B+>kLZ9#;5{;*1;rvmn06TnVZp+5dBc7ukYS*X{rB z|Hp9rfBgW|@dOQ#=>0$95MU5s0PdYtf-dI$@E>%dJNN%OSg3>6{yPf%51N2c?@4j} zH$-$2YN6G%G1ToU;A;BAe~JIh4?g^t`u}5vkL2P1iy-@(f+Xp;z3Ed6KtFa3YoDVB2#|Gz~-N1`jv>XJ)tn9ysNE@sME#(hyudqVC`XM+LYc z4W9gM`Oox!8?+@I@!&tGn&kv#U)XU;pqhfC;J-j*B110Y|EvlBvm5^B7Jx>9a}W#b zk?X>B|Bsui{b0RAK{}8yU zfM z`vgVKnFHV!mMC-_I39lEYa=3!IYHwFa&Oaw|FW`^BVsDFGvGVp5zCCHw4DQ*V=IZfA@bG!++@q|969P&kAtn0o59i;YW%8 z;H5U8!}$0>MHgrZ*Tet6{_}%M;N<_zupS0%WQhel6cz#NVl+bsI830C0&6GMKr0LI zc}x6|gR~1EZIJvM{|h0}P_PnoTqep!(*6Hm|G)JA-~aOu{yztGlHdJ52JLBro!j+a zWCwJc6`KXfxy9h^;GiivXQY8UXtS09yeT;VekNB7yr7*AK22C0z7jWwnP|MnLT85UIhN33#gLzKAz;9?5Wa{}$}tpwNH65#nAHHZHP;XAaT ztDHF)U<;lgo3g+wn;F16NQz#3{9kecoFR&#S)K8~f8@EV)&JplRKvR>vj4gN@8Zw_ zFW|laI(`p2()6d}zdM!+k?qk5P>rZ0{@(;zBkqK*5^P5dG^s*81uCo>{!9K}4J)iF zpj9Gxl_0cAWCOL-bs<$^;EVsoH~yD`hmuNGf^J~}pGyInmio{7|Ly-b|4%dg|NG$o z{|EM<4&dtlyFi_A=)@G`B#HkLpqAi;h7|>%ga_KceE0v)3!pnfLF+QXd)`^W^S$8Z zA6)-A5q-Z7Xr2xOyB#!G3>tI#@L&9Y38VwX^}h~Y)WX(idNKe1p9~s1D7o>!3=;IE zD;fUF{AUMmb)UfS;y>&E=l|dT_u=^e{lWi4ro{i*|93cmmkEH^5H+p%F9vQ#O<3`t z6XfQIADo~ybPoR=K-VTAjmbdvh)awAuZHar?}X+S@YunB<{u28o(A|p|BW&K6%-{t z@*i(^XJ`2TKOUT|cQgDiz45;s;>xm>4F7MV%&db>)40X(KNdP7ll_0!{{x`KDTqTJ zK)Z83KsLC5uN}GrX>$DM{Qn=+xkkOc3e=JK&jy-uX88Z_KkxsY|8FzxsQAAS)|Kc& zWPx4aY5}rjnF}rqL90}lwTxE&FP`wftl@tJr1CCDRNiJB|3Q=L-k?nW8Y3$RL++Vn0xy>b?F|O4 z9{B%5al?xLFaQ7k&ka762(|9!{LlR81Slzqi2vXF;=%0y^I^;7yOCNVYS3B&lp8?n z(9ugA|5^Xr zLbp@-g0@qEc9XpRzYA2sftGPVw^PZ0wkiDoKSA0Nl(I^}$3y-2FDT&vI)WaynFOUz z6aXrWA-&ZeXnugK==u*jLj>F?Z2oTzt>wU7BG75ekd{XIi~kij{#QX9TnQ?Gpj{#f z(9Xp`A3ifztuq#5A0Z9Kp3z<0i4V^e)W%v&c^^z#Y|NrwKwRGi;|J4u=RIOwH z)gOkCDNTm|zW+b`pZ)*e|JVl`z=H((|4)JT7lZchfICC~MZt^DK&RrefkN8_JYxC% zzsN;Ul?Us9!rBw8|NcvI{a*xMG}8yo%DBs3CLmSlb{6;bhQr?>y0<~+b^izLoJK7CYXI$LV+QZA zzX3|=&}PR3X!jr1K7|c!zks!mAhVj2nPJz?yqD>6{ zvmgAQ4r~AcUb>t1|6x)RrsGh>i_>j$dSsmH~!Z{JXQyd2w{%@Y2cP$@c*~}y*U0S zKlmRH8U@b>MZ-x@uaF%w8zTB&8r1GH0Nsef1j+=F;9)ZG>F(gPgq96J8`#AE%Yb46 zQszv8mN~LuZ~gl(2WhH;FX~<6QJW8$gNaP(AA(U|3Smi zO)nnKtoZK(T}?FwsT{ozjtoc(^*_^pvHyOMa&#kTT@L&(<^Rl(Gc^8loH+1b>;dTJ z0MM8+c<2LiPr65AWTFJPp=$Qxf5VOcP2g5uBXkGObj0%f!vAmoFaH0x;lckM;Lh8B zE6@3MOOc}fyyXE{UGw6#Q?Ng53~la4sx9{XhNF*KWJ4YV)6~Sh7kY11YSc-gE|>D zSttWfVH)s^0bar&!0^8sv~vjD=4*KIzv;&R7VuKg=9P>yz*!^me=5U&&@n(&pk%b` z{}zlIS@H*HpD-v9fzI>lN{9f@J%idnkhN?`1C*dKGVmRx;C0AfUp!!3Q1L$kHb^!d z(fR)Z4QuGeA?g20uuj1ZES&=II2m-~ko=4P%{TtHo&fi3T2?ZE&tG{6U02NjUeCH5 zvYvGhcx(2q|JzX3GJqCMY?$!>!-NY9P?L%kQs)_zRv=AmN%0?u5@`msVz!1hCSZ4} z#KysQMKCge4^pd`{$HQre@n*yHb@$2wPg68{GaoGAAH%xjsNfetAeV}2cT1bGeOJS zw}9FZ4WNkz$htZX4^TgU0>^)*|9k}*;J)mS{~tl;sDZke|Ct3)k5PL84*CC}Oeh6j zShoneLV6~mND_dCy9PLov;9wl1$!m` zM7JTv^IRDIFa7`Sealj|HetZNSyzmrMy+JkuBPAYYPS9B)j7zXRfl z_Mrd0|2aU12>zc5uFv-WfBXL#18CIcH>9BX^?wT})52!>LDMH6p?fkXBt-lNO`N>` z|KmT`e>2D+E7HUXXdDl;d-lS=|6;uVD_%SR9h0$$0lK1dHd1-o1db3;cjrG7XzwrU z|3m);FZ^fwKW_ySr{v-P$^rlPL+kAd=%6e3HcQZ?$$t^htcgHm;(sQF6vqE;6aKe1 z{O>FP4Y_t8`ZcRvT`L*>gYH9tHx5B(es?hZ zFMsfVE~s&6_y1Vnf25`%;}2-l&;oqKI&`4V0d$G^7nGJE-~Wcwpt9uuzW*sT{{{a4 zXBRx)?*4xsw3^_8mRA;s8V>w-haEro(Bc0Q=nOEf#)yr`c2MxM2mSw_X9~U_uj|JD z9*AeUL0jnzpqHJ1Cy2iOfBSzv2k6-NEli33_x(Te|3QEObhTj_2#h zNFO}70a|cqrSLxpaZ?z$T@JY^OawG;DFE7SHXj=7UuJ-ZEkW1OfX|Yf^Pe^0ztI0$ z=ulvq!~gx8{==?51FcRMm+z)_ssMCj|JzQ zVpzY46~1a6TE-=SPXp>{_}>R9;(CMri~Z;PFAHBQeDwd@|IQ5muRi!60iHXp15Mz4 zGyoso#U}t7c`^XswjAIAy_*8mSa%ob_z%4@6>`hiRHSoC7DA&1(p5!lU%m@#hJfM@ zdQeHm^#9Hk|9dn3_e1K$K1+uGU;cCbzldn;8UKI#f8YPV4iElc2IYr3&}2jaXjO*@ z=&~rO|16+}9%whmf5rfh|EWI&|3jL2R^VmAu%Too@N(u1_;Th&&};x{yZ-wxjhN8= z4b8Q%<{ju>#r)|zHvI3)_&)*S%zo&RiTdDO;h8f5(6zyS(PP6tpE19UMbWI|UL<(fiR;|@~5q{5~X7DKx|uz@1j&Rrf@kV1+W zUWWf!pyiRE@y7le|0hDy?F8u1(2xJD;059j|9|>F<^R9`2Oj)i33ci*(74b8(5aLL z;MMz}*^ht;plhBv4uID)yZ-nu2Ra-HRJD15_nM)dz0L6dKNACFNx*DyLj%61c?nX@ zCIK#VK=&+y7B&9|?H>6AS#p&M9l!uDSB2~!X#}mqWdiMfUHM;X!v6^k|0hAx@Wi11 zXC(gX{^$HZ4OB~mdjDOJ-v9g)pg~{j|2shG191xXr2nG-CH`LkH?G+yfWm+M|JC4o zA|3vlJ78X=@#EirWv>6Vuq9Yap=m`IT)Zy;UF{3Lk?`>U{{n2L4GjOk*Ev{x)CYG6 z(jmtl?%eQy;*I~4Pk>vblU9OuT5|vQ{tsI7_~JjS#Q)d-=l%ctpa1`x|C_-_0$Tsy zRRCW64oNNlB|taNPxxQp@t^ZQ7s$cB;4v4_O@!VkZBl500dQEvV#*m^v-3-j`W@v|EJ&hKNH+%p8;x=fIIC6|En?l&;0-Hzcr{) z@*5PCX!}$^m#KgzFJ@180J$*6{>Oi3!SJ6I zG79t`vI(sum+^n+g#R-d{?CGx`ZI(6gH9a=-PExgQX1WdHtgSn8up-q-ySlMifGwS z`Y!^BAka}P-~mU_FwpJ)pmJ0f(nC`P52Zr$H{`YsC&ZlJT4-8=93AlQzX{TKW46Qp z)dU9aY(%yf{!fVh|GxmzQl5F^|7=Khm<6qr{Sn)4BmaN;zyANf|CtZ|9|70P|Ly;u z`tK0%Az%~uLRHYIG6A6bpe{hF1kmAMkTGn~-BtggGl5W_`~Z(($ALz)pkvtUpkBEM zPHCXs!k{K+!+*B_Goh0Rp5Q70T#YgP=YtOsRWtmbb>sgWh`VR6WcY9NpY{L6|GfXx z!A0!X|8M@^_|LrJ|JxtnOuYa9iT?`VObohF`aj<+h5u~-B|#@*eV8CI1C)~?M~#Ep zkv0MUzf6EG;%5g9z5i!p_z#+50-cu*x&dQ7bQl}fTY;UIz6O-Q#Q$$vWy|%S-2pV? z#V7zjuIL1$Y5$)IJQY3zG{Fx#p{NmZZu;zu|8pU^eU2sQh71ny@t7MxEs6i2`mNyq zKT!SF3W# z?gnUvhfM4L`!5Bmm>d4{{bvMkOq&ad1JHU4(3x>L;6b{i7yswn_&*O419Mk0{6F-c z?f>TgT>tYR8KL?AyZ==d|0h5A-w$5)T>t+Br~!mn_WYmI0aPb%nDCzi)ckR<05^XA z3;j0)ueX4?80mQ1448X2LftC?PB#Dl3quc$sf3iKAcumwwV;w|=Z61tZ~UJRapt_0 zpe=u#|Ib49jQ(f+zy1Fk&>dvQAN)TE+Ll-k8l47TzRU+|A$R>}6JP+{7y%1bLGTh5 zP*r9PZpp(O32pI!t`3u6_^${%D`OMXov=PQ=-LR-?t=n|J3%Y6A=}POz(G3e#s7IX z{x5*Ib^b~Q@Pg8CL}v8=|LOmx|Ns8SKlpzfl&t@O&aDLHMbH(@puG|z;3cI66aI7l z03`xPa3TPeE9T&e7v@@6kVo1uB}H*_{n4ODcpf>MFggA4x!{)a-F4O{1c z&%y9f*$!IQug?7ce*)O`w;BG=zwv(|#PtinQ+n+GFTrouvHJi1|7C{%UJw4i0JYL~ zK+-Vs9{B&#|HWbbrUT$Iqbe5WF4s-77%EDf5cXZ`&rAE10-4mHrnw{67ZX1CLY_FhfVKVCTF3XKVb= zl=Xli1$4RMf*b!Aod7qX7ecqFt%Z-3{-6E-9q4-O|EnMTR|dty|~|E!=JFE{)@*Ie;`AuMXP zA(l}5g=Syy5(Cgl?`fx){xkkKy!ij5TG-w84F6%nyr63z{{IIRK07!3Uv%UD5{QQu zuVes^oLmI=ByT+UFZln{f7$>4KvQT&pp^E1)&H%Ppli(}4gNDu;s70l$npOI=mtK1 zPz-?XX8;{=A^6`@pkjgma?J~BXs~kq--M`ow?p#?qI2E(FWX zL1$J8Gynfz$o_xEi~oyn{9g)j@Dilf(Zm1${`>!b_y6024O#zJ{of86^h6o60j=Q& zP57mH{0E=U`oHP_h5xVq^MTG1{N?Z;biD`CLIdUhj2{{QGco-8FChN%!Q}rFn%TFP zoBZDaX&QkSn8Ida|B&loAXi&1fVOqEg4#NaiT|^91cEvO;O=7A15oc4bQR1B&{bJK{+Gl1FivQN z5qLWkXssgGe_Pn-zC}?vOs7V8!@zaJ3D?fFT3%71tg^`M@lK`4F5q*OB+x-`qlrf7zu@i;r}t{A-SNvIZdEDb~!=I zQU2`s|KCF3Kk{LPDzN#B2mk&Hi~pB+@qlsR|H+WSz1>J@#SNN2K`X>TcazE0zgNBu>I$n1ll2e0lWeQv}d{n zepwCpYHZN3H!HX-0Zq}Vg3df*1{H=}|9AaoY^wNw^%DE`a?}5Np)Q9c7UVxBulc%6({fPbe|9^rKY=)uX$NxldItLxz=Z-CpGJ|h>v4W-aebB=28nnTn18p$y z{ug|3VZnc82hiP==AfHu%8+lW0na*sQhWh8#k({7Uv=aE8i+4euVesUe5CoG_djU) zd9nigBka1&u@c0@e2QYz;!Q(^fMIC^qBG}=u^5BR7 zjrIJ1lsMbL4fx~Wq|fj_7JOE~jt&3UWc*(TN&IWUO9R;d`@>rW(*HmFKfv%``@#RK z;C;Dy|Br$u867~$AKdek0JV$*Cj4hvkPz`d9o*9V=>R%M1+-=robsW)K2ZOa>;DWy zC3+C*T*#HQ|Ng7PoXhe*?7zZ+3;zQSZ1~UiKLM0-R_@~fUDGr@Tolv_`VZO~$ME0l z#s9T8{;!7w^EzlSBNmUD|9^LZ;lKNX|4YHCKJWi=rr{67S3gTZbU1l>ssy69{FsaTx`hX0Qo{^x5pn{wsiH z<-iM$yZ&?km-sILI_HlavRRG`(i3y|@1uZx2ne)FX8reHo9n+4tTk~2C7Un!@5BH) zBaabu=o|Bo|HYsSvn9m-H^0zj_&;w?0YgRt_+~KhQJ0L&|No~i-?8EUhKm22GQck1 z=mp-we)&J^|1}IZ9{j)m|KoqI|Ns8KfAC)(oZ__q?*z?VfX?Oo&msV7b^d1(_#Xgn zb+Z2erMc~p{PJJuzoWy4|ICn9C#a@?F8q-Y|9=8j%pQd%H`pFo@G492(PV8WSRl>i z<*?>56KLQZbe}rpV5sFU{%^eTe={V&H-TCc(8aCDyREhV?*_FdFg6aT{pYLz&9XsO z``wNB&-3E}_{e?8R3Xx^9B3863(#Sg;MFu6UOZqtQ1Sl_?7G}zhz398kV4o|4g&vU zV5>T69R8<*58Vgn8LX$*Mu5^36LdHZd~xpo|COMl9CrQRbmRXPh#xnDS2c3}SAcfO z82;=02dy~!``_ll|NG$jWA*=?{}%*-FO3K7Mtkt#{|30$A1pc0(?+C zj&Xn?=+FxA@)f-o4<~{)r9t-A9Y=U{DzxQf17Gjt@9@8az`z{xfqn&$8$}AhC;Dw} z_`em@q!ReQB?x>xrXzT~8q`SP{QvR4F_Nkn{YYr5&`a2K9JYxc)1_uMsOtHpH5vP=^2Q|KI)30yWvQF*DhX|6>1-aDcMd0r0AcKJZ;Hkgh0X!5Uf? z`_Fa;yyH#}x_*2yd^yW0gdboj&k4MoMd-gF*aO)N|9Qb#OaXj2s{+;>_MZcBKs3S_uK*|GmZ%L;smB{Feb8OETfY3Gi@^ z19)g3vfco+#TjM24(J4`$Dm{K@`G{SRf;EBWk|6%9ZT==hW;J@(yYVdl4 z(+>alfQIzJ6GHzPp~p7-=conmJz@ck<%3UK<^dg+3EGXQB5C6aYZ_V)k;JnQ5El;0-2ly-gSHVffsUIzutO5sSMd};u8x?Q z{hg5R-AN4pnNLBs-cES&aAC!N&^1Po)9=nAnhB6gRG{&}^k4XY04%ljLWdK;+eDZk z3-zEoJhOkW{a^Xw|IQo#cSF+Du9Xb`ub_0jg#W+$U&ruY`N99m;0jg$|7p~&mlS9k z4&3*G9Lx_Iy$9X1EC@PN5L9L(`d;A0=#1b+M>hXYHdp+AvjVhi`~Nv;6hJNuh1{|X z9%K0pN>t+icdxSLnhUwj3bK#^bj%;q|Npt{J2w2^b>sgYh~sy!WcY6Zsw-g4wch{l z|Hp#+xJBTG^Lo$*UT|{_+-zq1&jM-*7&QFnTmWhbgoC?Wpu>Y4QMz2v5oHGOmJ0>= zg4*-Y#sK7w+<*U-KqK{_>8%a_6%H);Uk#cWjfM0VL9Km3=z4Q-PwN%K|J^tK?}fN~ z&q{{>NB(pChcEGR{{QZO8N>hJ2miZ4lhW(KL5{r0iwRPdd}sijjNI_Q=l|Uwf}mrA z1pk8)(0^v6Ef;Et4FD7V-~Z28{a+Ni1>gcS)L|(Hbhq_?rvJSE{Z7R)NG|?=44UkZ zLwdW=L$9IxT=v}fzYpU2z2L?p>;J(2{QnccGd|`2U;kfF@xT4S|E&?AeMR};Ub#^&tfC640-UM^AsQAy!fV9mHe$Y7M0q8u{MQB$SHsw|e>au`) ziswM{;&S8u;9P+|F58KnH6e>o{<53zE8^Z|DPEC@5}gq08&Ejw}hNc zb@D&w|8DSH*4+PZ1wohpih_1xyaydj#Sp*&-G3_s*@tmq!ixWl2@(Gx2l#>}wo$GZ$JY``Vam~gA1Sc|4)NP1{XkP+ZZQ3xB)t7c*6wHe*cCa|3Rx8 z?*IS!U*NwkwwbmApfQsl@Ibx-P5+R)%0Rb$fkp=z{`34V2NgS#|9L?U;bZv! z`TvW7&arNQ>>O$O-vgdp`JwS&AJXlGH*=N$GyeDwyFyD*{QtiHmsadz_-_SWrF|7q zA8!GV{QUp#1|Cdi{9gj{1Ka-~$nnDU4*#ctDr9h*9#>Bh+UNyslV@N0|9=Fy!Ljqj z|AROFABJRwL!c&yG$?8g{4&cGM^*=tPDe|3PPsLT1)M*Hpk}ilFUwNQnhL8wOfpU56$#*x@jU z66*?RApOGs9Pmjct`7fiAgx1P@E?4oal?Ph|6&h7yHvSeU0wcP22wyBdh!48jsHg> zJ~{%56=-kLh~YozkSljktnB)~9iyrKU*x|9%l}u9)%6F!YxffV7yg&{ul)c1|38qN zlZ@IJ1TEfX0maXSfB!|f{#$|9dcaTgxdDkC@LCV>=p(~_xqtutK!q~s%nY{w8$k=6 zc>mWv*zjNIzjFtZAgF-Naroc6>AwO)#ea_kT**<8Q4+F4oxd^r|9|&f#{WkqeEfe5 z(ndUrXxk%QSXTv#xr+aYX`6`uprQ;GR+o%tTzHLm)<9aPdeAnp^91Qm4w6aF)U z8oB@V;1!Ay%0=Md2^{AC|D_nf+v1>$=59gj%w%wVf>`p@1TB`qYls*b{`bO$BadbL zKLII~k6S{9fouQsK!<_7|G)dM_MiEG^n?G_koNem|64(hO$hkUC#e9M{1*QKTF(Kx zNd$bunGM{rCg6q@w4)0eWC6RE5quBbGSDz8s6EK||2DM#10NB^2)YM+!V7lj=HY)1 z|62&&2nyvmJs-apBZ9v8`3=%EL{I>Kx-D& zKn>Nq(8L11%Z2H`)qh4%nr8YR`{2cYzK5V&II{o$7uCsN_%FEUzXC%;#m5|%t>CT^ zE9mxkP@DW@#{bihus&tU@c-I>uK#Nhm3ry_*Z)`l|M$Q3!T$rG=B?fT;|E|jLQe*F zZZ1p!g*Eg5YA3kc-H=A!89`_7v2gw01adZbspUPWvtjeW%Ag{M^}~PO|3a`et(%|& z2jFdP(EXo<)Bj6W{6CfP{|v;zr!5)&??yS-Aou_K|F1yDWrG(>{NMNgC}@c&@@k0! zP<0MkiO2-1>YDy9`62oL_5U9Upw@Wue`fUg`2S3*4-SBPK{Ee$@A(gERD!ROxO9S<7#1D&D&pD~-^|5d0Lm>K>na3{jc(0`#)p^1ahnu`UnW~ z2T-R}nc@FF(0Nc5|AYR+j&*#1@CPe&lmK*K&wr->g8%J6%@XPVKfuETCmjCA6WG#I zfjCkSd{D{%|Jk{W|MMCCpSkh>+zD`TdKS9NSRS0jZa}V*Yh(By{^0*?aD83}nlCvC zYcu{Af*jprFu~zJOF~3Of+Tdfz(WB(pA4A+%hA9q;JI_#fQ! zxCio;@c)mXDZ(O$|5w5N4FiV%n*US&^PK=4B?F#l0N=g?zDFIjo#a20BjYPj8Py6Y zqs~B zU*^BWf6#V+feHUP9)L<$1$d@65cm%|P6>Gy>j!v|wK6>CKZdri7K3XyP;K#_=|AU# z7ys{pnpgk%{(lE`mn8nPgSt!09YEU_;P>1+z!n37yMc%Q|7WUxb#)17IiNu@!}R~> zD*m6(_$kF9^D%>emBM zvGBzr0(B?mf42Y3ryhW}$ZK@E_!lj{o&PK(}W? znopoDr6@^@=@n={DI@rpxJ{5Vi!xwy4^I(Wm0(4*2I#`yhW`>bAO*A%^7%OMmOKZ< z7e(wlHvGSMO|L_0HgRjOj0ab_A|96ARXz zftIpDM%4k972`2TEZL@>eEOR+g|GWJlF&uHSq*jjIb66 zblweePOuPcnDaR#lR&Osg&j`xpZP!M|I47li|_wYP;Yk~Y@-|OW}*KVU;Mv( zHhq@B6>)zsi4`|8M{Q zobg`|-1vrfb)f|lc(EGG|Nn{%|CM2b&phDj@deX=ga1s7|23HYLvlJ~@(MgsI~}%K ztDi z{NVp$P?M$l|4z_&4`SP;#(x&*w#)y_3IF^4ZvmHIzy1q@Ca#iaAT@aT{x_Wl*Zms* zXVm=H{14rB`4U>Qzy?liL51#t|D~|S5BnVcS0Ma_W6pp}>FUz|JemJNdoNW@LA{qN zFaBS>@&7s`>aKyJ4mx4*;s3w?h5z53`2XK0BI|!OWJ(0lZvqWFNc{($R|eXn2-?Hn z^xyHvf6X7zEsEygxPx!RR{76}=r}R_S9K0*gDxQW|Bm7RfA@&2|Gy!{7qTB7 zTmYX71oFZIaGw7KI>rC-jsJY;#{#MRXZ*nk-b5}Z&hX;FEQbFRA#1Q+BSu(Y^&#jU z1&058|L=k;#8T+l1MHwvATdwx-}(P~!~dHQr{4(r|L#A>|7`f;xB36y|F8T15450W zGNdQ<`~U9$4?s7?f-YnE&p1iq252pLz=RdxW_$^FfEv{2@B}X>Ks#g*G`@v&P3#*; zj)&jL2t6HM4c_Ab_xc1GKqun=X9o{Ur@#3B|3=FHTaff}6S@b%8h(y$?*EVfT|rIZ z|Bwwi_Ww_UhIJJjp!;1U{xkm%nDFsG8|cW#|8L;kKG5oijQ=V~worvmOMj8 zN!~)+@34U^@c)19kB^Tln53>Q z;VAgu4yv;GD*oTh_B|7x8N1paTEFavaPCljbGasg7#M*MeF03CbvpH-3*GxL*wDa#p$yPcZGj2@S-|zej31Jq!+;imPv3(L zPQjNkgZfS4;{Rn}^}>5-#}u^81nDl}IS_|}mc=uG_C}X6!;iSSedGUK@UZ6{=yIRO z|JfdZhm=$QfA}By{~zdLxIA#ndp|gAL9T_4r19=x;Ew+&nX8@Iapku{Sr~eOO_P6Zbt)XGdHM~1+9ZYnf3xtHL`#!TC@LeYW{0LC%ryH(@-I}uK;Pg zHT>rVEj&8#pYQ)>P!BE+I^+)?k>Q2h?v@WOAFsdofB(k+hY;sKK&nn9A^VF#^Y1(U zpZ=dvfm{v!7x^#o-v)YA6lf5#=YKS45E(iMX^&c$GX7`c{LctkUI6M^gU&Nt3hxSh zLBzsKs2Akn3tKc{MLQ?tU^*^P_nwsrl5-hA3%VZM_zyaM^S{9Vhv37y;cLDa{$Kt7 z4sF)Z^4!W=W1!$I?4YGjT?!T4b|J(n6IQ;hljSfP$mch%I zAOHSqa{ZTqjeUKEhB>&1S@1szy5cJlG?yj(-}V20Veq2hM#!RI&>Rudf6!X5%;op*YaNybo@6b!p&jDm=wY4) z8TNg2kfv<*9giawsoBJ5|M}LQgx*s^1fTp*=%l7|E|2KxMRSShooanG@g_QGx z4F4mU|Nr*^r}b+L{~zD@{}kf(C(zxwGZ919po=MLe0U`IU{Wnu5(iDl zF@c*dkgWOW#s4Qa{y&2__bDiALX(OG!++R8)&Cv-FG266Fdq0X0XwLA1-Oy8;fIF< zw3%y)o;8_47bQU!FoAEHFal48z&F1BM0C_4Wj|yYIjDev-$qyjEg?boze5&d@Up^g zQ{T$)|LKkY&mo?81`czM|Mu|q;>rK-|EK@|_y6XD|22>l;{XnFP$v;u!Gg9@egGe2 zzzJ@HfrcU><3NrUA26!e|B$sXda%a8FKEL>1)65S2Qh;7d-MDc1mD6O51y&=g>5@S zTwn~khCG7(|N0mIpWXQX0^)(^5D$33rbRjbzXNroB_I5+nE_sNeE<|4;Pn`w0)7(c zP=gN~AOAB!dyBl__9Lix|8Kzq-gBl3Zb5>k_INF<&c-Jk_%A&HRK(A6_&*0eANrs9ztw-xnXruDGhx9;&vAJ;eEiP> zYFGXjEd0+LB>`SkF8bpC^BezPLcI3^yjF(&zcBcyOz=*uX z{9g?|aCra!_x}YsK<8Sifv*8HfLxdX%Gw430kahT^MWn{3;-YH%Lch860yR;#Q`*8 z2U{b+{O>u%agF(5R;Xh;Q|Nr^Z|39tx|1#tMYlxd)Aq~c*G5lZo|K0!U2N78Yn5R{NGWa6s zSRBv)hW~y4m;V4CybW4#1!@MN4q<_&JJ}zeyzuY8iuivE=uwRc@Dug_Av%Px$!JiA zuwlY~W>}Q~8>2^zkV2PRX|w;o#qj^tjsI^TDd;tHU+Hs&|9c?wQ2YOX{QvIT`2SJ{}!n(Fl6{&AMqc2_@&GLEf`h7e?Er) zZ;+?PbN_e$m-sL9|1S8Dc2FY|C9Qz=z5Zu;$N*~j|Cf6R8?NF24_AQ(6dpVRU38NM zo&!~dmF zAF(q0=Y;r(4OCo%PU!*l%HF>C|L(^B50K>l9uzas@hH$)s}}zuN39;gJW%q$2l!d5 zpdDU)0sqtgtAIz-{|iC~5?Li-*GYiZz<)gTpBa2Cso9H%3VOzyAMUkcW;uU`)L5f13m-e!$n>bp2-o9TD)K3$*2)8NBk)20UB{steo& z{u@jLPjwgL)FBgLPUKalwAN=nFoe{wCe-)@7jC4c*=qQs9 z;E7pI&{V(=q~RTJv<4|OJM)PDkAP%nM({32Zb*g}{J#)<9-AoWNUh^s|CPao5A;|G z(56vA){{Fn{Qvx)@qaYa|4$b{O9Gy=Gcf=E&-3xc|1bX;|9|?x`2X{x|LlzA=Fiy~ z7$Fj0|1;`OgIMEiC~`oz zY%+gf{Lg|e!3J8+`+@O4E4l>efF9NljQ`otB|s;bf+i{1(Ir5)BeQ>C{Lg_d0czuM zd|>>~i7vqnnhyNH_@4`1f(LZU*ayb{+~^X#pf>0S#{WF%5`6!e{_}ib{LhOn!4FzF z`+@O4AG(A9=p@z;jQ{!3B?SL7{pbI{_+J2BLg+u!e}NB-{{_({gh4at9~l1&p-YJT zXZkPnf$_gEx`gO|rvJhp82^i)ONjkv`Y-Z<@xLg#g!q4^|Dqol|BInZNPtdm{=oQO z99=>Zv{m>6<9`Ws390`~|0O;!{+C3Tkp9o~U-ARve<^ecng2}xr9LqJmqwS61zn2u zf$_f#x`f<+rvEY@82`(nOUVCc`Y-!|@xL6p1ZZco+y}=0^5_zZ|C#>Fe_;HtfG(i~ zI%V|(<9|hT3FZGx{}n$l{#QbmQ2EdFU+Dwme`RzD)&ETYl|L~4S3#Fh`_J@WnbP3J>O#jtCF#gv-m(cpp^k3rx<9|(b3GM$( z|201_{?|g6(D~2wU+V+oe{FOL-TzGgwLdWa*Fl%i`_J@W=L6$^U33Y3&>?Fd82{^` zOBnoT`mgta@xMO0gyDat|N0*o{~Mr782xAZZ}5TfzahGW@qecOh94OJ8=*^>{Ac=a z^nvleF}j55f2RM&9~l3epi7wjXZmmQf$_g7x`g?ErvIiN82_80OIZA8`fv7u@xM8` zgynyx|K=YU|68C-Sp8@EZ}EZgza_ea^?#=SmLC}ZTcJzXfbK&4!1&)9UBdQ1(|_v^ zjQ?%WCG7q){kQqR_}>;?!u~(gf7=g?|LxEv9R4%?xBI~O-yU7U@jugl`wxu&9ndA5 z{xkh|_`vwz5naOhKhuB54~+kv&?Q{{GyQk^!1&)8UBdN0(|_j=jQ?HGCEWfq{df7m z_}>*>!u>zff7cI;|J~3fK!A&X(#{XXE5J ze&`Yb|C#>#ePI0Wk1i4TpXtB<2gd&a=n_Hynf?cSVEiA5E)o2n>3`q{#{WU+5+VPY z{s({m=A2 z`UB(t7<7ra|4jd5J}~}|MVE;G&-6d`1LOZVbcuxjO#kCPF#eB6mq`52^gsRsbcslRhy1PezwW{m=A2`2*ws6m*HS|4jc= zJ}~}IMVCnb&-6d_1LOZRbcu}rO#jn9F#b1v7>wl*I%^w*5x1dY3{b%~$ z@`3SxE4oDcf2RMf9~l3)p-Xi9XZqjvf$@Jkxb{B?|-KM-5(hL_n=Gk{b%~$^MUbyFSHnk;jQ=O2OHBRG^ndaP#{W~$C8qsn`ak6ZB>wfA$B)|8vkK=KW{-Kj#DE|GDTA^ZzsbpZkIF|2%Yw1^=1;&-=jme?Gdz z!v9SF=YL@QzW`lg(SN4@3qCOZUx+TT_&?MCg&!FIFG81C@}KGdq7RJ!7o$ro{m=A& z@dw8LOVA~j{b%~W|1Ibe+x|2C-|~U+ z|5kK~?f;qnZ~egde;c~Q4$xK09~l2{N0-?7pXvYh4~+kJpiAuf&-8!C2gd(9(Is~O zXZpYM1LOZ)=n{MWGyUK7f${%tbcwzHnf~wo!1#X;y2QT!O#kHq!@jQu3{|vgsx&KW6&wOC~e->Th{C}qZXFo9hKZh;>TDo-Z1LObm=n@zI zGyOmRf${$Zbcsv$y>Hn1vjQ_8qOI-iY^#AGy#{bvQC2ss@`hV>Mwp-2cz?|LzCI|M$=(9{gwefA0h1|NH0?5C1d$zyE>p{{wW1NB^1rKls4- z{~@vjXwdiZf2RKrKQR9Pk1PQyub%v8`v2$yNj#{eS#{@&6NaiD&CZa|Ia=!{(p`x0UEb{{(3_`vx8CA!4x z|4jd1eqj9n3SHvOf2RMhJ}~}&jV|%_Khyu$9~l3?L6>;A{3+(t`=tqz4nONe?DmlO9aCCOw#NO?oil znDk)6KIs9v>yinj24)9OdN5xA-9Umo?*W?NVEWI@fOX>I$A88bjQ^RCBLbwJ1vDjs zWkQ7YKl2al^B&CqS+LK0F#pFf@4*b-oP}lHgZV#>c@O6QIOaW=|8ruW_hA0dg?-+G z`9C-Ic@Jh>^B&Cqd9lxXF#qSnKJUSdYu z^B&Cqb+ONTFyor{V8%7?!HjF(gBjPn2Q#jD4`y8R9?ZDrJ(zLLdobgg_h7~~@4<{~ z-h&y}ya)4tE9~0LW?b_g%(&(~m~qW}Fyor{V8%7?!HjF(gBjPn2Q#jD4`y8R z9?ZDrJ(zLLdobgg_h7~~@4<{~-h&y}yazL`c@Jh>^B&Cqam;%#0LW?b_g%(&(~m~qW}Fyor{VE&I|-h&y}yazL`c@Jh>^B&B&<~^8k&3iE8 zn)hJFHSfWUYu^B&Cqam;%# z2lIa%^B&B&<~^AI0LW?b_g%(&(~m~qW}Fyor{V8%7? z!HjF(gBjPn2Q#jD4`y8R9?ZDrJ(zLLdobgg_h7~~@4<{~-h&y}yazL`c@Jh>^B&B& z<~^8k&3iE8n)hJFHSfWUYu0LW?b_g%(&(~m~qW}Fyor{V8%7?!HjF(gBjPn2Q#jD4`y8R9?ZDrJ(zLL zdobgg_h7~~@4@_k8}@k*W?b_g%(&(~m~qW}Fyor{V8%7?!HjF(gBjPn2Q#jD4`y8R z9?ZDrJ(zLLdobgg_h7~~@4<{~-h&y}yazL`c@O6QIOaW=am{-$^B&B& z<~^8k&3iE8n)hJ-k7M408P~iAGp>0LW?b_g%(&(~m~qW}F#pFf@4<{~-h=r+j(HE} z|Nn8!dobgg_h7~~@4<{~-h&y}yazL`c@Jh>^B&B&<~^8k&3iE8n)hJFHSfWUYuL2Mexg4;Eb09xS+~Jy>u}d$8b|_F%y^?ZJX;+JgnxvL2Mexg4;Eb09xS+~Jy>u} zd$8b|_F%y^?ZJX;+JgnxvL2Mexg4;Eb09xS+~Jy>u}d$8b|_F%y^?ZJX;+JgnxvL2Mexg4;Eb09xS+~ zJy>u}d$8b|_F%y^?ZJX;+JgnxvL2Mexg4;Eb09xS+~Jy>u}d$8b|_F%y^?ZJX;+JgnxvL2Mexg4;Eb0 z9xS+~Jy>u}d$8b|_F%y^?ZJX;+JgnxvL2Mexg4;Eb09xS+~Jy>u}d$8b|_F%y^?ZJX;+Jgnx zv5EJ&-4M? zyvL9K%rDT+xdP3Hu>EHR?e{?0O9m2W|IZ4V55aQE6)Uc34^~{$9;~>gJy>x~d$8h~ z_F%;|?ZJv`+JhC>v{=4^~{$9;~>gJy>x~d$8h~_F%;|?ZJv`+JhC>v{=4^~{$9;~>gJy>x~ zd$8h~_F%;|?ZJv`+JhC>v{=4^~{$9;~>gJy>x~d$8h~_F%;|?ZJv`+JhC>v{=4^~{$9;~>g zJy>x~d$8h~_F%;|?ZJv`+JhC>v{=4^~{$9;~>gJy>x~d$8h~_F%;|?ZJv`+JhC>v{=4^~{$ z9;~>gJy>x~d$8h~_F%;|?ZJv`+JhC>v{=4^~{$9;~>gJy>x~d$8h~_F%;|?ZJv`+JhC> zv&Hq2=c(0m9h=$3l) zbFM)18*D%Rv%EmN-UB4g{+|uB-veVlgyTOOXg&nXAy;g;rajnjO?$B6n)YDBHSNKM zYubYi*R%&4u4xZ8T+<$GxTZbWa7}x#;hOef!!_-}hHKh`4cD{>8?I>&HeAylY`CU9 z*l$vgALcT2OF+w4>nxW9&EU#J=kzfd$8e}_F%&`?ZJj?+Jg<( zv8?I>&HeAylY`CU9*l$vgALcT2OF+w z4>nxW9&EU#J=kzfd$8e}_F%&`?ZJj?+Jg<(v8?I>&HeAyl zY`CU9*l$vgALcT2OF+w54Qg}F85%=HSNKMYubYi*R%&4u4xZ8 zT+<$GxTZbWa7}x#;hOef!!_-}hHKh`4cD{>8?I>&HeAylY`CU9*l$vgALcT2OF+w4>nxW9&EU#J=kzfd$8e}_F%&`?ZJj?+Jg<(v8?I>&HeAylY`CU9*l$vgALcT2OF+w4>nxW9&EU#J=kzf zd$8e}_F%&`?ZJj?+Jg<(v8?I>&HeAylY`CU9*l$vgALcT2OF+w4>nxW9&EU#J=kzfd$8e}_F%&`?ZJj?+Jg<(v8?I>&HeAylY`CU9*l$vgALcT2OF+w4>nxW9&EU# zJ=kzfd$8e}_F%&`?ZJj?+Jg<(v8?I>&HeAyl zY`CU9*l$vgALcT2OF+w4>nxW9&EU#J=kzfd$8e}_F%&`?ZJj? z+Jg<(v(;jTNrajnjO?$B6n)YDBHSNKMYubYi*R%&4u4xZ8T+<$GxTZbW za7}x#;hOef!!hl_hJD(D{r|uJY*?l}*f0EN!!qr`j$_(`9oMu6JFaODcF-wT*se8a z2W|I2z1AE&@A2b5>kG77%|YTE|JgzNJuv1&IRCSQ=0mXDY0i#o+Jha}v z(;n=&rajnkO?$B8n)YDFHSNKUYubYy*R%&au4xZ;T+<%xxTZbWaZP)$(;n=&rajnkO?$B8n)YDF zHSNKUYubYy*R%&au4xZ;T+<%xxTZbWaZP)$!H#R%gB{nj2Rp854|ZJB9_+ZLJ=k$gd$8l0_F%^~?ZJ*~ z+Jha}v(;n=&rajnkO?$Ba$8om@JFaODc3jgQ?6{^q*l|sJu;ZHcV8=D> z!H#R%gB{nj2Rp854|ZJB9_+ZLJ=k$gd$8l0_F%^~?ZJ*~+Jha}v(;n=& zrajnkO?$B8n)YDFHSNKUYubYy*R%&au4xZ;T+<%xxTZbWaZP)$!H#R%gB{nj2Rp854|ZJB9_+ZLJ=k$g zd$8l0_F%^~?ZJ*~+Jha}v(;n=&rajnkO?$B8n)YDFHSNKUYubYy*R%&a zu4xZ;T+<%xxTZbWaZP)$!H#R%gB{nj2Rp854|ZJB9_+ZLJ=k$gd$8l0_F%^~?ZJ*~+Jha}v(;n=&rajnkO?$B8n)YDFHSNKUYubYy*R%&au4xZ;T+<%xxTZbW|KqsRoE_J+ z2Rp854|ZJB9_+ZLJ=k$gd$8l0_F%^~?ZJ*~+Jha}v(;n=&rajnkO?$B8 zn)YDFHSNKUYubYy*R%&au4xZ;T+<%xxTZbWaZP)$!H#R%gB{nj2Rp854|ZJB9_+ZLJ=k$gd$8l0_F%^~ z?ZJ*~+Jha}v(;n=&rajnkO?$B8n)YDFHSNKUYubYy*R%&au4xZ;T+<%x zxTZbWaZP)$!H#R% zgZ)2_yFJ)(O?$B8n)YDFIqkuYYubYy*R%&au4xZ;T+<%xxTZbWaZP)$FBRa7}w~;F|W}z%}i`fos}>1J|?%2d-%k4qVe79Jr=EIB-pSaNwHu;J`KQ!GUYq zg9F#J2M4Zc4-Q<@9vrx)JveYpdvM^I_Ta!Z?ZJU-+Jghvv1J|?% z2d-%k4qVe79Jr=EIB-pSaNwHu;J`KQ!GUYqg9F#J2M4Zc4-Q<@9vrx)JveYpdvM^I z_Ta!Z?ZJU-+Jghvv1J|?%2d-%k4qVe79Jr=EIB-pSaNwHu;J`KQ z!GUYqg9F#J2M4Zc4-Q<@9vrx)JveYpdvM^I_Ta!Z?ZJU-+Jghvv z1J|?%2d-%k4qVe79Jr=EIB-pSaNwHu;J`KQ!GUYqg9F#J2M4Zc4-Q<@9vrx)JveYp zdvM^I_Ta!Z?ZJU-+Jghvv1J|?%2d-%k4qVe79Jr=EIB-pSaNwHu z;J`KQ!GUYqg9F#J2M4Zc4-Q<@9vrx)JveYpdvM^I_Ta!Z?ZJU-+Jghvv1J|?%2d-%k4qVe79Jr=EIB-pSaNwHu;J`KQ!GUYqg9F#J2M4Zc4-Q<@9vrx) zJveYpdvM^I_Ta!Z?ZJU-+Jghvv1J|?%2d-%k4qVe79Jr=EIB-pS zaNwHu;J`KQ!GUYqg9F#J2M4Zc4-Q<@9vrx)JveYpdvM^I_Ta!Z?ZJU-+Jghvv1J|?%2d-%k4qVe795|;vIB-pSaNwHu;J`KQ!GUYqg9F#J2M4Zc4-Q<@ z9vrx)JveYpdvM^I_Ta!Z?ZJU#+Jgi8v(jhg0_2LnfLhdpZx{nf0X?mp!pE4|D2%x9vJf>-2XX2 z^C4X5^C3L{IdM&UaN?Tw;KViU!HH|ygA>=Z2Pdv+4^CXu9-O$QJvebqdvM~K_Ta=d z?ZJs_+Jh6=Z2Pdv+4^CXu9-O$QJvebqdvM~K_Ta=d?ZJs_+Jh6=Z2Pdv+4^CXu9-O$QJvebqdvM~K z_Ta=d?ZJs_+Jh6=Z2Pdv+4^CXu9-O$QJvebqdvM~K_Ta=d?ZJs_+Jh6=Z2Pdv+4^CXu9-O$QJvebq zdvM~K_Ta=d?ZJs_+Jh6=Z2Pdv+4^CXu9-O$QJvebqdvM~K_Ta=d?ZJs_+Jh6=Z2Pdv+4^CXu9-O$Q zJvebqdvM~K_Ta=d?ZJs_+Jh6=Z2Pdv+4^EuZ9-O$QJvebqdvM~K_Ta=d?ZJs_+Jh6lY*R%&0 zu4xZ0T+<$0xTZb0a7}w~VNQF1=0iCDbAh&dV43&$@t@-b9-#RU?*Ck%{T>+e zAw2)NK=UEo=<^}G|G98YdvM{J_Ta)b?ZJg>+Jg(%v+Jg(%v+Jg(%v+Jg(%v+Jg(%v+Jg(% zv+Jg(%v`TgX%F5D|9P-Xd+_3z z_Ta@e?ZJy{+JhI@v#Vrl%(hilq{ z57)E@AFgQ+K3vlte7L4P_;5{o@Zp;F;KMcT!G~+wgAdoV2Oq9!4?bMe9(=f_J@{}< zd+_0!_Ta-c?ZJm@+Jg_*v|3yDA{ue`cmBfF3T+<%>xTZb$aZP*h zxTZb$aZP*hxTZb$ zaZP*hxTZb$aZP*h zxTZb$aZP*hxTZb$aZP*hxTZb$aZP*hxTZb$aZP*hHu{`4GYX z0-*gK81o@Q{{=wvA%f^L55oTia7}v%;F|Ujz%}h5fNR=A0N1pK0Iq2d0bJ7_0=T9< z1aM7z2;iFb5WqF zw1)t$X%7Kh(;fo2rac63O?wF7n)VRDHSHmQYuZBq*R+QKu4xYeT+a7}v% z;F|Ujz%}h5fNR=A0N1pK0Iq2d0bJ7_0=T9<1aM7z2;iFb5WqFw1)t$X%7Kh(;fo2rac63O?wF7n)VRD zHSHmQYuZBq*R+QKu4xYeT+a7}v%;F|Ujz%}h5fNR=A0N1pK0Iq2d0bJ7_ z0=T9<1aM7z2;iFb5WqFw1)t$X%7Kh(;fo2rac63O?wF7n)VRDHSHmQYuZBq*R+QKu4xYeT+ za7}v%;F|Ujz%}h5fNR=A0N1pK0Iq2d0bJ7_0=T9<1aM7z2;iFb5WqFw1)t$X%7Kh(;fo2rac63O?wF7 zn)VRDHSHmQYuZBq*R+QKu4xYeT+a7}v%;F|Ujz%}h5fNR=A0N1pK0Iq2d z0bJ7_0=T9<1aM7z2;iFb5WqFw1)t$X%7Kh(;fo2rac63O?wF7n)VRDHSHmQYuZBq*R+QKu4xYeT+a7}v%;F|Ujz%}h5fNR=A0N1pK0Iq2d0bJ7_0=T9<1aM7z2;iFb5WqFw1)t$X%7Kh(;fo2rac63 zO?wF7n)VRDHSHmQYuZBq*R+QKu4xYeT+a7}v%;F|Ujz%}h5fNR=A0N1pK z0Iq2d0bJ7_0=T9<1aM7z2;iFb5WqFw1)t$X%7Kh(;fo2rac63O?wF7n)VRDHSHmQYuZBq*R+QKu4xYe zT+!v6(9^C3d$^C2St1#wM#2;!Rd5X3d@A&6_*LlD=rhaj$L4?$eh z9)h^0Jp^%0dkEs1_7KE1?IDP3+Cvc6w1*(BX%9hM(;kAjrac64O?wF9n)VRHHSHmY zYuZB)*R+Qqu4xZJT+<$cxTZY>aZP&&;+pml#5L_9h-=zI5ZAPaAg*Z-L0r=wg1DwV z1aVD!2;!Rd5X3d@A&6_*LlD=rhaj$L4?$eh9)h^0Jp^%0dkEs1_7KE1?IDP3+Cvc6 zw1*(BX%9hM(;kAjrac64O?wF9n)VRHHSHmYYuZB)*R+Qqu4xZJT+<$cxTZY>aZP&& z;+pml#5L_9h-=zI5ZAPaAg*Z-L0r=wg1DwV1aVD!2;!Rd5X3d@A&6_*LlD=rhaj$L z4?$eh9)h^0Jp^%0dkEs1_7KE1?IDP3+Cvc6w1*(BX%9hM(;kAjrac64O?wF9n)VRH zHSHmYYuZB)*R+Qqu4xZJT+<$cxTZY>aZP&&;+pml#5L_9h-=zI5ZAPaAg*Z-L0r=w zg1DwV1aVD!2;!Rd5X3d@A&6_*LlD=rhaj$L4?$eh9)h^0Jp^%0dkEs1_7KE1?IDP3 z+Cvc6w1*(BX%9hM(;kAjrac64O?wF9n)VRHHSHmYYuZB)*R+Qqu4xZJT+<$cxTZY> zaZP&&;+pml#5L_9h-=zI5ZAPaAg*Z-L0r=wg1DwV1aVD!2;!Rd5X3d@A&6_*LlD=r zhaj$L4?$eh9)h^0Jp^%0dkEs1_7KE1?IDP3+Cvc6w1*(BX%9hM(;kAjrac64O?wF9 zn)VRHHSHmYYuZB)*R+Qqu4xZJT+<$cxTZY>aZP&&;+pml#5L_9h-=zI5ZAPaAg*Z- zL0r=wg1DwV1aVD!2;!Rd5X3d@A&6_*LlD=rhaj$L4?$eh9)h^0Jp^%0dkEs1_7KE1 z?IDP3+Cvc6w1*(BX%9hM(;kAjrac64O?wF9n)VRHHSHmYYuZB)*R+Qqu4xZJT+<$c zxTZY>aZP&&;+pml#5L_9h-=zI5ZAPaAg*Z-L0r=wg1DwV1aVD!2;!Rd5d44T1LOaz z=tE)G{|n-p_7KE1?IDP3+Cvc6w1*(BX%9hM(;kAjrac64O?wF9n)VRHHSHmYYuZB) z*R+Qqu4xZJT+<$cxTZY>aZP&&;+pml#5L_9h-=zI5ZAPaAg*Z-L0r=wg1DwV1aVD! z2;!Rd5X3d@A&6_*LlEb*haj$L4?$eh9)h^0Jp^%0dkEs1_7KE1?IDP3+Cvc6w1*(B zX%9hM(;kAjrac64OnV4opY{;?|L?ybmT3>63;zYNOnV67nD!9DHSHmUYuZBy*R+Qa zu4xY;T+<#xxTZaXa7}v%;hOdk!Zqz7glpPE2-mcS5UyztAzafQLYUJYp!pEN|3aYc z9$4l*e*71B!T29#zXxbOMEJiDXuk)>e2B<@A<%q?FnT2*`d(;h;& zragpkO?wF8n)VRFHSHmUYuZBy*R+Qau4xY;T+<#xxTZaXa7}v%;hOdk!Zqz7glpPE z2-mcS5UyztAzafQLb#?qgm6uJ2;rLc5W+R>A%tt%LkQQjhY+r54(;h;&ragpkO?wF8n)VRFHSHmUYuZBy*R+Qa zu4xaU|2XdU5W+R>A%tt%LkQQjhY+r54(;h;&ragpkO?wF8n)VRFHSHmUYuZBy*R+Qau4xY;T+<#xxTZaXa7}v% z;hOdk!Zqz7glpPE2-mcS5UyztAzafQLb#?qgm6uJ2;rLc5W+R>A%tt%LkQQjhY+r5 z4(;h;&ragpkO?wF8n)VRF zHSHmUYuZBy*R+Qau4xY;T+<#xxTZaXa7}v%;hOdk!Zqz7glpPE2-mcS5UyztAzafQ zLb#?qgm6uJ2;rLc5c-efZVw?`(;h;&ragpkO?wF8n)VRFHSHmUYuZBy*R+Qau4xY; zT+<#xxTZaXa7}v%;hOdk!Zqz7glpPE2-mcS5UyztAzafQLb#?qgm6uJ2;rLc5W+R> zA%tt%LkQQjhY+r54(;h;& zragpkO?wF8n)VRFHSHmUYuZBy*R+Qau4xY;T+<#xxTZaXa7}v%;hOdk!Zqz7glpPE z2-mcS5UyztAzafQLb#?qgm6uJ2;rLc5W+R>A%tt%LkQQjhY+r54(;h;&ragpkO?wF8n)VRFHSHmUYuZBy*R+Qa zu4xY;T+<#xxTZaXa7}v%;hOdk!Zqz7glpPE2-mcS5UyztAzafQLb#?qgm6uJ2;rLc z5W+R>A%tt%LkQQjhY+r54 z(;h;&ragpkO?wF8n)VRFHSHmUYuZBy*R+Qau4xY;T+<#xxTZaXa7}v%;hOdk!Zqz7 zglpPE2-mcS5UyztAzafQLO7>Agm6uJ2;rLc5W+R>A%tt%LkQQjhY+r54&gdw}LcME(nd_IqH=hlu_c2F-_vpwEYh{TIeH?IDb7 z+Cv!Ew1+URX%Ass(;mXOragplO?wFAn)VRJHSHmcYuZB?*R+Q)u4xZpT+<%HxTZaX zaZP&&b4`E!>9>Tb$J%n*hdkEv2_7KK3?IDb7+Cv!Ew1+URX%Ass(;mXOragplO?wFA zn)VRJHSHmcYuZB?*R+Q)u4xZpT+<%HxTZaXaZP&&b4`E!>9>Tb$J%n*hdkEv2_7KK3 z?IDb7+Cv!Ew1+URX%Ass(;mXOragplO?wFAn)VRJHSHmcYuZB?*R+Q)u4xZpT+<%H zxTZaXaZP&&b4`E!>9>Tb$J%n*hdkEv2_7KK3?IDb7+Cv!Ew1+URX%Ass(;mXOragpl zO?wFAn)VRJHSHmcYuZB?*R+Q)u4xZpT+<%HxTZaXaZP&&b4`E!>9>Tb$J%n*hdkEv2 z_7KK3?IDb7+Cv!Ew1+URX%Ass(;mXOragplO?wFAn)VRJHSHmcYuZB?*R+Q)u4xZp zT+<%HxTZaXaZP&&b4`E!>9>Tb$J%n*hdkEv2_7KK3?IDb7+Cv!Ew1+URX%Ass(;mXO zragplO?wFAn)VRJHSHmcYuZB?*R+Q)u4xZpT+<%HxTZaXaZP&&b4`E!>9>Tb$J%n*h zdkEv2_7KK3?IDb7+Cv!Ew1+URX%Ass(;mXOragplO?wFAn)VRJHSHmcYuZB?*R+Q) zu4xZpT+<%HxTZaXaZP&&b4`H0s9>Tb$J%n*hdkEv2_7KK3?IDb7+Cv!Ew1+URX%Ass z(;mXOragplO?wFAn)VRJG3_CYecD6h|G)pjSf)KhF8mk9GVLLPW72fhX}4|4-s6`9wNA=Jw$L#dx+qg_7K4}?ID6| z+Cv1_w1)_;X%7)x(;gzYraeS(O?!yon)VREHSHmSYuZBu*R+QSu4xYuT+<#RxTZZs za7}xN;F|Uj!8Pq6f@|7C1lP2O2(D=l5nR(ABDkhKL~u=eh~S#`5WzL=A%bh#Lj>2f zhX}4|4-s6`9wNA=Jw$L#dx+qg_7K4}?ID6|+Cv1_w1)_;X%7)x(;gzYraeS(O?!yo zn)VREHSHmSYuZBu*R+QSu4xYuT+<#RxTZZsa7}xN;F|Uj!8Pq6f@|7C1lP2O2(D=l z5nR(ABDkhKL~u=eh~S#`5WzL=A%bh#Lj>2fhX}4|4-s6`9wNA=Jw$L#dx+qg_7K4} z?ID6|+Cv1_w1)_;X%7)x(;gzYraeS(O?!yon)VREHSHmSYuZBu*R+QSu4xYuT+<#R zxTZZsa7}xN;F|Uj!8Pq6f@|7C1lP2O2(D=l5nR(ABDkhKL~u=eh~S#`5WzL=A%bh# zLj>2fhX}4|4-s6`9wNA=Jw$L#dx+qg_7K4}?ID6|+Cv1_w1)_;X%7)x(;gzYraeS( zO?!yon)VREHSHmSYuZBu*R+QSu4xYuT+<#RxTZZsa7}xN;F|Uj!8Pq6f@|7C1lP2O z2(D=l5nR(ABDkhKL~u=eh~S#`5WzL=A%bh#Lj>2fhX}4|4-s6`9wNA=Jw$L#dx+qg z_7K4}?ID6|+Cv1_w1)_;X%7)x(;gzYraeS(O?!yon)VREHSHmSYuZBu*R+QSu4xYu zT+<#RxTZZsa7}xN;F|Uj!8Pq6f@|7C1lP2O2(D=l5nR(ABDkhKL~u=eh~S#`5WzL= zA%bh#Lj>2fhX}4|4-s6`9wNA=Jw$L#dx+qg_7K4}?ID6|+Cv1_w1)_;X%7)x(;gzY zraeS(O?!yon)VREHSHmSYuZBu*R+So{~I3||KCI(BfI@y1lP2O2(D=l5nR(ABDkhK zL~u=eh~S#`5WzL=A%bh#Lj>2fhX}4|4-s6`9wNA=Jw$L#dx+qg_7K4}?ID6|+Cv1_ zw1)_;X%7)x(;gzYraeS(O?!yon)VREHSHmSbJ{}$*R+QSu4xYuT+<#RxTZZsa7}xN z;F|Uj!8Pq6f@|7C1lP2O2(D=l5nR(AA~>c!M6geLi2ncgUj)mvhvB3Pz9L~%@e zh~k>|5XCj^A&P6-LloDvhbXRT4^dpx9-_FWJw$O$dx+wi_7KH2?IDV5+CvoAw1+6J zX%A6c(;lL@raeS)O?!x9PJ4jnLqz_Ig0_2LnfLhdU-$*%f0X?mp!pE7|DvG%9vJf> z;{QcK^C4pBWxd3IQC!m=qPV6#L~%`fh~k>|5XCj^A&P6-LloDvhbXRT4^dpx9-_FW zJw$O$dx+wi_7KH2?IDV5+CvoAw1+6JX%A6c(;lL@raeS)O?!yqn)VRIHSHmaYuZB; z*R+Qyu4xZZT+<$+xTZZsaZP)O;+pml#Wn3Aifh_K6xXzeD6VM_QC!m=qPV6#L~%`f zh~k>|5XCj^A&P6-LloDvhbXRT4^dpx9-_FWJw$O$dx+wi_7KH2?IDV5+CvoAw1+6J zX%A6c(;lL@raeS)O?!yqn)VRIHSHmaYuZB;*R+Qyu4xZZT+<$+xTZZsaZP)O;+pml z#Wn3Aifh_K6xXzeD6VM_QC!m=qPV6#L~%`fh~k>|5XCj^A&P6-LloDvhbXRT4^dpx z9-_FWJw$O$dx+wi_7KH2?IDV5+CvoAw1+6JX%A6c(;lL@raeS)O?!yqn)VRIHSHma zYuZB;*R+Qyu4xZZT+<$+xTZZsaZP)O;+pml#Wn3Aifh_K6xXzeD6VM_QC!m=qPV6# zL~%`fh~k>|5XCj^A&P6-LloDvhbXRT4^dpx9-_FWJw$O$dx+wi_7KH2?IDV5+CvoA zw1+6JX%A6c(;lL@raeS)O?!yqn)VRIHSHmaYuZB;*R+Qyu4xZZT+<$+xTZZsaZP)O z;+pml#Wn3Aifh_K6xXzeD6VM_QC!m=qPV6#L~%`fh~k>|5XCj^A&P6-LloDvhbXRT z4^dpx9-_FWJw$O$dx+wi_7KH2?IDV5+CvoAw1+6JX%A6c(;lL@raeS)O?!yqn)VRI zHSHmaYuZB;*R+Qyu4xZZT+<$+xTZZsaZP)O;+pml#Wn3Aifh_K6xXzeD6VM_QC!m= zqPV6#L~%`fh~k>|5XCj^A&P6-LloDvhbXRT4^dpx9-_FWJw$O$dx+wi_7KH2?IDV5 z+CvoAw1+6JX%A6c(;lL@raeS)O?!yqn)VRIHSHmaYuZB;*R+Qyu4xZZT+<$+xTZZs zaZP)O;+pml#Wn3Aifh_K^goWfJw$O$dx+wi_7KH2?IDV5+CvoAw1+6JX%A6c(;lL@ zraeS)O?!yqn)VRIHSHmaYuZB;*R+Qyu4xZZT+<$+xTZZsaZP)O;+pml#Wn3Aifh_K z6xXzeD6VM_QC!m=qPV6#L~%`fh~k>|5XCj^A&PU_LloDvhbXRT4^dpx9-_FWJw$O$ zdx+wi_7KH2?IDV5+CvoAw1+6JX%A6c(;lKYraeTlPkV^{|My=M%e05sh5w>hrai=P zOnZpon)VRGHSHmWYuZB$*R+Qiu4xZ3T+<$6xTZbCa7}xN;hOdk!!_+8hHKhG4A-=W z7_Mm#F#kV zK>Ix~=0ha@i-G1t#L?$NB>#)yn)VRGHSHmWYuZB$*R+Qiu4xZ3T+<$6xTZbCa7}xN z;hOdk!!_+8hHKhG4A-=W7_Mm#F4TR9%8trJ;ZQLdx+th_7KB0?IDJ1+CvQ2w1*h3X%8`6(;i~Drai=PO?!ypn)VRG zHSHmWYuZB$*R+Qiu4xZ3T+<$6|8d;yA%<((Lk!onhZwGD4>4TR9%8trJ;ZQLdx+th z_7KB0?IDJ1+CvQ2w1*h3X%8`6(;i~Drai=PO?!ypn)VRGHSHmWYuZB$*R+Qiu4xZ3 zT+<$6xTZbCa7}xN;hOdk!!_+8hHKhG4A-=W7_Mm#F4TR9%8trJ;ZQLdx+th_7KB0?IDJ1+CvQ2w1*h3X%8`6(;i~D zrai=PO?!ypn)VRGHSHmWYuZB$*R+Qiu4xZ3T+<$6xTZbCa7}xN;hOdk!!_+8hHKhG z4A-=W7_Mm#F4TR9%8trJ;ZQL zdx+th_7KB0?IDJ1+CvQ2w1*h3X%8`6(;i~Drai=PO?!ypn)VRGHSHmWYuZB$*R+Qi zu4xZ3T+<$6xTZbCa7}xN;hOdk!!_+8hHKhG4A-=W7_Mm#F4TR9%8trJ;ZQLdx+th_7KB0?IDJ1+CvQ2w1*h3X%8`6 z(;i~Drai=PO?!ypn)VRGHSHmWYuZB$*R+Qiu4xZ3T+<$6xTZbCa7}xN;hOdk!!_+8 zhHKhG4A-=W7_Mm#F4TR9%8tr zJ;ZQLdx+th_7KB0?IDJ1+CvQ2w1*h3X%8`6(;i~Drai=PO?!ypn)VRGHSHmWYuZB$ z*R+Qiu4xZ3T+<$6xTZbCa7}xN;hOdk!!_+8hHKhG4A-=W7_Mm#F4TR9%8trJ;ZQLdx+th_7KB0?IDJ1+CvQ2w1*h3 zX%8`6(;i~Drai=PO?!ypn)VRGHSHmWYuZB$*R+Qi&S?)ZT+<$6xTZbCa7}xN;hOdk z!!_+8hHKhG4A-=W7_Mm#FLmbz%hd8cj4{==69^$yBJ;ZTMdx+zj_7KN4?IDh9+Cv=Iw1+sZX%BH+ z(;niurai=QO?!yrn)VRKHSHmeYuZB`*R+Q?=ClWBK1A%lIB2^EmU)jK|3zOg{zuvG z0h$ky_%9CH?}0HNBKcn&G#?^?J|80WUmVx8hd8cj4{==69^$yBJ;ZTMdx+zj_7KN4 z?IDh9+Cv=Iw1+sZX%BH+(;niurai=QO?!yrn)VRKHSHmeYuZB`*R+Q?u4xZ(T+<%n zxTZbCaZP)O zLmbz%hd8cj4{==69^$yBJ;ZTMdx+zj_7KN4?IDh9+Cv=Iw1+sZX%BH+(;niurai=Q zO?!yrn)VRKHSHmeYuZB`*R+Q?u4xZ(T+<%nxTZbCaZP)OLmbz%hd8cj4{==69^$yBJ;ZTMdx+zj z_7KN4?IDh9+Cv=Iw1+sZX%BH+(;niurai=QO?!yrn)VRKHSHmeYuZB`*R+Q?u4xZ( zT+<%nxTZbCaZP)OLmbz%hd8cj4{==69^$yBJ;ZTMdx+zj_7KN4?IDh9+Cv=Iw1+sZX%BH+(;niu zrai=QO?!yrn)VRKHSHmeYuZB`*R+Q?u4xZ(T+<%nxTZbCaZP)OLmbz%hd8cj4{==69^$yBJ;ZTM zdx+zj_7KN4?IDh9+Cv=Iw1+sZX%BH+(;niurai=QO?!yrn)VRKHSHmeYuZB`*R+Q? zu4xZ(T+<%nxTZbCaZP)OLmbz%hd8cj4{==69^$yBJ;ZTMdx+zj_7KN4?IDh9+Cv=Iw1+sZX%BH+ z(;niurai=QO?!yrn)VRKHSHmeYuZB`*R+Q?u4xZ(T+<%nxTZbCaZP)OLmbz%hd8cj4{==69^$yB zJ;ZTMdx+zj_7KN4?IDh9+Cv=Iw1+sZX%BH+(;niurai=QO?!yrn)VRKHSHmeYuZB` z*R+Q?u4xZ(T+<%nxTZbCaZP)OLmbz%hd8cj4{==69^$yBJ;ZTLdx&G7_K^7h@4q;fX%C4D|HZLP zdr07z_K?6e?ID3{+Cu`@w1)()X%7ip(;gDIradHZO?yb-n)Z;uHSHmRYuZBs*R+QO zu4xYmT+<#BxTZZMa7}wi;F|W3z%}h5fos}B0@t*M1m?5{Xg);zzXWKz2bOt{AOFQ( zF#bo`?*W<*k^Cch z30%`261b*4Bydf8NZ^|Gkia$VA%Sb!Lju>dhXk%^4+&h;9ul~wJtS~Vdr07#_K?6e z?ID3{+Cu`@w1)()X%7ip(;gDIradHZO?yb-n)Z;uHSHmRYuZBs*R+QOu4xYmT+<#B zxTZZMa7}wi;F|W3z%}h5fos}B0@t*M1g>ch30%`261b*4Bydf8NZ^|Gkia$VA%Sb! zLju>dhXk%^4+&h;9ul~wJtS~Vdr07#_K?6e?ID3{+Cu`@w1)()X%7ip(;gDIradHZ zO?yb-n)Z;uHSHmRYuZBs*R+QOu4xYmT+<#BxTZZMa7}wi;F|W3z%}h5fos}B0@t*M z1g>ch30%`261b*4Bydf8NZ^|Gkia$VA%Sb!Lju>dhXk%^4+&h;9ul~wJtS~Vdr07# z_K?6e?ID3{+Cu`@w1)()X%7ip(;gDIradHZO?yb-n)Z;uHSHmRYuZBs*R+QOu4xYm zT+<#BxTZZMa7}wi;F|W3z%}h5fos}B0@t*M1g>ch30%`261b*4Bydf8NZ^|Gkia$V zA%Sb!Lju>dhXk%^4+&h;9ul~wJtS~Vdr07#_K?6e?ID3{+Cu`@w1)()X%7ip(;gDI zradHZO?yb-n)Z;uHSHmRYuZBs*R+QOu4xYmT+<#BxTZZMa7}wi;F|W3z%}h5fos}B z0@t*M1g>ch30%`261b*4Bydf8NZ^|Gkia$VA%Sb!Lju>dhXk%^4+&h;9ul~wJtS~V zdr07#_K?6e?ID3{+Cu`@w1)()X%7ip(;gDIradHZO?yb-n)Z;uHSHmRYuZBs*R+QO zu4xYmT+<#BxTZZMa7}wi;F|W3z%}h5fos}B0@t*M1g>ch30%`261b*4Bydf8NZ^|G zkia$VA%Sb!Lju>dhXk%^4+&h;9ul~wJtS~Vdr07#_K?6e?ID3{+Cu`@w1)()X%7ip z(;gDIradHZO?yb-n)Z;uHSHmRYuZBs*R+QOu4xYmT+<#BxTZZMa7}wi;F|W3z%}h5 zfos}B0@t*M1g>ch30%`261b*4Bydf8NZ^|Gkia$VA%Sz+Lju>dhXk%^4+&h;9ul~w zJtS~Vdr07#_K?6e?ID3{+Cu`@w1)()X%7ip(;gByradIEPkTuI|My=4%e05&h5r&* zradHaOnXS;n)Z;yHSHmZYuZB+*R+Quu4xZRT+<$sxTZZMaZP(j;+po5#5L_9iEG+J z64$hcB(7->NnFz&lDMWlByml9NaC9Iki<3ZA&G0+LlW1tha~2-2WUP-;=d$ly9bte zk01ZVUoieh+3x|G50UyW3EJ<0F&`rRUlKGQB85I5BJ*Do*R+Quu4xZRT+<$sxTZZM zaZP(j;+po5#5L_9iEG+J64$hcB(7->NnFz&lDMWlByml9NaC9Iki<3ZA&G0+LlW1t zha|3P4@q3p9+J4GJtT2Wdr0D%_K?Ii?IDS4+Cvi8w1*_FX%9(U(;kwzradHaO?ycG zH~+x+-vT|gTm6^BHSHmZYuZB+*R+Quu4xZRT+<$sxTZZMaZP(j;+po5#5L_9iEG+J z64$hcB(7->NnFz&lDMWlByml9NaC9Iki<3ZA&G0+LlW1tha|3P4@q3p9+J4GJtT2W zdr0D%_K?Ii?IDS4+Cvi8w1*_FX%9(U(;kwzradHaO?ybNnFz&lDMWlByml9NaC9I zki<3ZA&G0+LlW1tha|3P4@q3p9+J4GJtT2Wdr0D%_K?Ii?IDS4+Cvi8w1*_FX%9(U z(;kwzradHaO?ybNnFz&lDMWlByml9NaC9Iki<3ZA&G0+LlW1tha|3P4@q3p9+J4G zJtT2Wdr0D%_K?Ii?IDS4+Cvi8w1*_FX%9(U(;kwzradHaO?ybNnFz&lDMWlByml9 zNaC9Iki<3ZA&G0+LlW1tha|3P4@q3p9+J4GJtT2Wdr0D%_K?Ii?IDS4+Cvi8w1*_F zX%9(U(;kwzradHaO?ybNnFz&lDMWlByml9NaC9Iki<3ZA&G0+LlW1tha|3P4@q3p z9+J4GJtY61`@s1BJbL%_;(tk8(;kwzradHaO?ybNnFz&lDMWlByml9NaC9Iki<3ZA&G0+LlW1tha|3P4@n%; z9+KFnJ*58s`!9)Q+C%EXe@QIU9#S}_J*03=dr0A$_K?Cg?IDG0+CvK0w1*U~X%8t} z(;iZ|rah!^O?yb;n)Z;wHSHmVYuZB!*R+Qeu4xY`T+<#>xTZa%a7}wi;hOf4!Zqz7 zg=^YF3fHuU6y~%CXg);pzZ7V@2bOt{AO9s@F#bo`?*W<*k^V0Q+V6oeA0qQ#3N#-g zjb6pd{+Gfv?IDG0+CvK0w1*U~X%8t}(;iZ|rah!^O?yb;n)Z;wHSHmVYuZB!*R+Qe zu4xY`T+<#>xTZa%a7}wi;hOf4!Zqz7g=^YF3fHuU6s~CxDO}SYQn;o)q;O4pNa33H zkis?XA%$z&LkiclhZL@94=G&J9#XibJ*03=dr0A$_K?Cg?IDG0+C%C;j=Mdia7}wi z;hOf4!Zqz7g=^YF3fHuU6s~CxDO}SYQn;o)q;O4pNa33Hkis?XA%$z&LkiclhZL@9 z4=G&J9#XibJ*03=dr0A$_K?Cg?IDG0+CvK0w1*U~X%8t}(;iZ|rah!^O?yb;n)Z;w zHSHmVYuZB!*R+Qeu4xY`T+<#>xTZa%a7}wi;hOf4!Zqz7g=^YF3fHuU6s~CxDO}SY zQn;o)q;O4pNa33Hkis?XA%$z&LkiclhZL@94=G&J9#XibJ*03=dr0A$_K?Cg?IDG0 z+CvK0w1*U~X%8t}(;iZ|rah!^O?yb;n)Z;wHSHmVYuZB!*R+Qeu4xY`T+<#>xTZa% za7}wi;hOf4!Zqz7g=^YF3fHuU6s~CxDO}SYQn;o)q;O4pNa33Hkis?XA%$z&Lkicl zhZL@94=G&J9#XibJ*03=dr0A$_K?Cg?IDG0+CvK0w1*U~X%8t}(;iZ|rah!^O?yb; zn)Z;wHSHmVYuZB!*R+Qeu4xY`T+<#>xTZa%a7}wi;hOf4!Zqz7g=^YF3fHuU6s~Cx zDO}SYQn;o)q;O4pNa33Hkis?XA%$z&LkiclhZL@94=G&J9#XibJ*03=dr0A$_K?Cg z?IDG0+CvK0w1*U~X%8t}(;iZ|rah!^O?yb;n)Z;wHSHmVYuZB!*R+Qeu4xY`T+<#> zxTZa%a7}wi;hOf4!Zqz7g=^YF3fHuU6s~CxDO}SYQn;o)q;O4pNa33Hkis?XA%$z& zLkiclhZL@94=G&J9#XibJ*03=dr0A$_K?Cg?IDG0+CvK0w1*U~X%8t}(;iZ|rah!^ zO?yb;n)Z;wHSHmVYuZB!*R+Qeu4xY`T+<#>xTZa%a7}wi;hOf4!Zqz7g=^YF3fHuU z6s~CxDO}SYQn;o)q;O4pNa33Hkis?XA%$z&LkiclhZL@94=G&J9#XibJ*03=dr0A$ z_K?Ck?IDG0+CvK0w1*U~X%8t}(;iZ|rah!^O?yb;n)Z;wHSHmVYuZB!*R+Qeu4xY` z9Mc|B*rz?D|Nr|hg=N}9`oe!HEYlv+IHodr0G&_K?Ok z?IDe8+Cv)Gw1+gVX%A`4X%EnRh}3^+&~^_j^BzC`OTJ+IkFwtbG#?`KUmCRE17ki! z_P;b}K12q6K1A-nG_Gk6Xdr0G&_K?Ok?IDe8+Cv)Gw1+gVX%A^!(;m{erah!_O?yb=n)Z;!HSHmd zYuZB^*R+Q;u4xZxT+<%XxTZa%aZP(jdr0G&_K?Ok?IDe8+Cv)G zw1+gVX%A^!(;m{erah!_O?yb=n)Z;!HSHmdYuZB^*R+Q;u4xZxT+<%XxTZa%aZP(j zdr0G&_K?Ok?IDe8+Cv)Gw1+gVX%A^!(;m{erah!_O?yb=n)Z;! zHSHmdYuZB^*R+Q;u4xZxT+<%XxTZa%aZP(jdr0G&_K?Ok?IDe8 z+Cv)Gw1+gVX%A^!(;m{erah!_O?yb=n)Z;!HSHmdYuZB^*R+Q;u4xZxT+<%XxTZa% zaZP(jdr0G&_K?Ok?IDe8+Cv)Gw1+gVX%A^!(;m{erah!_O?yb= zn)Z;!HSHmdYuZB^*R+Q;u4xZxT+<%XxTZa%aZP(jdr0G&_K?Ok z?IDe8+Cv)Gw1+gVX%A^!(;m{erah!_O?yb=n)Z;!HSHmdYuZB^*R+Q;u4xZxT+<%X zxTZa%aZP(jdr0G&_K?Ok?IDe8+Cv)Gw1+gVX%A^!(;m{erah!_ zO?yb=oc55$HSHmdYuZB^*R+Q;u4xZxT+<%XxTZa%aZP(j&NxY3$P;GXMYmm&P*fA#>rsG?r-(8649dGPtHaWN=M;$l#jxkij+WA%kn$Lk8Eh zhYYT14;ft39x}M5J!EiAd&uCL_K?9f?ID9}+Cv7{w1*6?X%87((;hOorafeEO?$}T zn)Z;vHSHmTYuZBw*R+QWu4xY$%xMqMe2Daa8PIkQEb|^e{!6`J{ExEV12i8Z`(FmM z-veVlMDD)~Xg)+1eLh6~zYMNv4;ft39x}M5J!EiAd&uCL_K?9f?ID9}+Cv7{w1*6? zX%87((;hOorafeEO?$}Tn)Z;vHSHmTYuZBw*R+QWu4xY$T+<#hxTZa1a7}y2;F|W3 z!8Pq6gKOGD2G_KQ46bPp8C=sIGPtHaWN=M;$l#jxkij+WA%kn$Lk8EhhYYT14;ft3 z9x}M5J!EiAd&uCL_K?9f?ID9}+Cv7{w1*6?X%87((;hOorafeEO?$}Tn)Z;vHSHmT zYuZBw*R+QWu4xY$T+<#hxTZa1a7}y2;F|W3!8Pq6gKOGD2G_KQ46bPp8C=sIGPtHa zWN=M;$l#jxkij+WA%kn$Lk8EhhYYT14;ft39x}M5J!EiAd&uCL_K?9f?ID9}+Cv7{ zw1*6?X%87((;hOorafeEO?$}Tn)Z;vHSHmTYuZBw*R+QWu4xY$T+<#hxTZa1a7}y2 z;F|W3!8Pq6gKOGD2G_KQ46bPp8C=sIGPtHaWN=M;$l#jxkij+WA%kn$Lk8EhhYYT1 z4;ft39x}M5J!EiAd&uCL_K?9f?ID9}+Cv7{w1*6?X%87((;hOorafeEO?$}Tn)Z;v zHSHmTYuZBw*R+QWu4xY$T+<#hxTZa1a7}y2;F|W3!8Pq6gKOGD2G_KQ46bPp8C=sI zGPtHaWN=M;$l#jxkij+WA%kn$Lk8EhhYYT14;ft39x}M5J!EiAd&uCL_K?9f?ID9} z+Cv7{w1*6?X%87((;hOorafeEO?$}Tn)Z;vHSHmTYuZBw*R+QWu4xY$T+<#hxTZa1 za7}y2;F|W3!8Pq6gKOGD2G_KQ46bPp8C=sIGPtHaWN=M;$l#jxkij+WA%kn$Lk8Eh zhYYT14;ft39x}M5J!EiAd&uCL_K?9f?ID9}+Cv7{w1*6?X%87((;hOorafeEO?$}T zn)Z;vHSHmTYuZBw*R+QWu4xaM|2Pi0lEF3YA%kn$Lk8EhhYYT14;ft39x}M5J!EiA zd&uCL_K?9f?ID9}+Cv7{w1*6?X%87((;hOorafeEO?$}Tn)Z;vHSHmTYuZBw*R+QW zu4xY$T+<#hxTZa1a7}y2;F|W3!8Pq6gKOGD2G_KQ46bPp8C=sIGPtHaWN=M;$l#jx zkij+WA%k<;Lk8EhhYYT14;ft39x}M5J!EiAd&uCL_K?9f?ID9}+Cv7{w1*6?X%87( z(;hN7rafe^PkYGz|My=8%e05=h5s^GrafeFOnb=Un)Z;zHSHmbYuZB=*R+Q$u4xZh zT+<%1xTZa1aZP*3;+po5#Wn3Ai)-3L7T2_gEUsw}SzOZ|vbd%_WN}S<$l{vzki|9a zA&YC;Ll)Pxhb*pX4_RE(9Hu{ z`4GAPvY`DQ81o_W|7Ah*A#&*RAqxLxaZP*3;+po5#Wn3Ai)-3L7T2_gEUsw}SzOZ| zvbd%_WN}S<$l{vzki|9aA&YC;Ll)Pxhb*pX4_RE(9?@Z9&(t|9-#RU+5d8&?H*X>J%0R` zdBOM}Wxoe#K1BY%9B97>#(apve>u>6h&=jyh~j@aT+<$MxTZbia7}y2;hOf4!!_+8 zhilqH4%f7Y9Ij~(Ib72oa=4~F?@Z9&)&* zJ>+mrd&uFM_K?Fh?IDM2+CvW4w1*t7X%9JE(;jlTrak0vO?$}Un)Z;xHSHmXYuZB& z*R+Qmu4xZBT+<$MxTZbia7}y2;hOf4!!_+8hilqH4%f7Y9Ij~(Ib72oa=4~F?@Z9&)&*J>+mrd&uFM_K?Fh?IDM2+CvW4w1*t7 zX%9JE(;jlTrak0vO?$}Un)Z;xHSHmXYuZB&*R+Qmu4xZBT+<$MxTZbia7}y2;hOf4 z!!_+8hilqH4%f7Y9Ij~(Ib72oa=4~F?@Z z9&)&*J>+mrd&uFM_K?Fh?IDM2+CvW4w1*t7X%9JE(;jlTrak0vO?$}Un)Z;xHSHmX zYuZB&*R+Qmu4xZBT+<$MxTZbia7}y2;hOf4!!_+8hilqH4%f7Y9Ij~(Ib72oa=4~F z?@Z9&)&*J>+mrd&uFM_K?Fh?IDM2+CvW4 zw1*t7X%9JE(;jlTrak0vO?$}Un)Z;xHSHmXYuZB&*R+Qmu4xZBT+<$MxTZbia7}y2 z;hOf4!!_+8hilqH4%f7Y9Ij~(Ib72oa=4~F?@Z9&)&*J>+mrd&uFM_K?Fh?IDM2+CvW4w1*t7X%9JE(;jlTrak0vO?$}Un)Z;x zHSHmXYuZB&*R+Qmu4xZBT+<$MxTZbia7}y2;hOf4!!_+8hilqH4%f7Y9Ij~(Ib72o za=4~F?@Z9&)&*J>+mrd&uFM_K?Fh?IDM2 z+CvW4w1*t7X%9JE(;jlTrak0vO?$}Un)Z;xHSHmXYuZB&*R+Qmu4xZBT+<$MxTZbi za7}y2;hOf4!!_+8hilqH4%f7Y9Ij~(Ib72oa=4~F?@Z9&$LRJ>+mrd&uFM_K?Fh?IDM2+CvW4w1*t7X%9JE(;jlTrak0vO?$}U zn)Z;xHSHmXW7T+<%%xTZbiaZP*3 z+psd&uLO_K?Rl?IDkA+Cv`Kw1+&dX%Bf^(;o7e(;lGt5V`;IpzR)5 z<~@G=mwmzbA7#G>Xg);YzdUHa2gZDe;(vM2e24=2e2CJ2d0f*T^0=lw+psd&uLO_K?Rl?IDkA+Cv`Kw1+&dX%Bf^ z(;o7;rak0wO?$}Wn)Z;#HSHmfYuZB|*R+Q`u4xZ>T+<%%xTZbiaZP*3+psd&uLO_K?Rl?IDkA+Cv`Kw1+&dX%Bf^(;o7;rak0wO?$}Wn)Z;#HSHmfYuZB| z*R+Q`u4xZ>T+<%%xTZbiaZP*3+psd&uLO_K?Rl?IDkA+Cv`Kw1+&d zX%Bf^(;o7;rak0wO?$}Wn)Z;#HSHmfYuZB|*R+Q`u4xZ>T+<%%xTZbiaZP*3+psd&uLO_K?Rl?IDkA+Cv`Kw1+&dX%Bf^(;o7;rak0wO?$}Wn)Z;#HSHmf zYuZB|*R+Q`u4xZ>T+<%%xTZbiaZP*3+psd&uLO_K?Rl?IDkA+Cv`K zw1+&dX%Bf^(;o7;rak0wO?$}Wn)Z;#HSHmfYuZB|*R+Q`u4xZ>T+<%%xTZbiaZP*3 z+psd&uLO_K?Rl?IDkA+Cv`Kw1+&dX%Bf^(;o7;rak0wO?$}Wn)Z;# zHSHmfYuZB|*R+Q`u4xZ>T+<%%xTZbiaZP*3+psd&uLO_K?Rl?IDkA z+Cv`Kw1+&dX%Bgv(;o7;rak0wO?$}Wn)Z;#HSHmfYuZB|*R+Q`u4xZ>T+<%%xTZbi zaZP*3r%l6fXRi$1?4qfMeQ20oSyL0{{ z6mU&@DBzm*P{1|qp@3`JLjl*chXSr?4+UJ)9tyaoJrr{{6mU&@DBzm* zP{1|qp@3`JLjl*chXSr?4+UJ)9tyaoJrr{{6mU&@DBzm*P{1|qp@3`JLjl*chXSr?4+UJ)9tyao zJrr{{6mU&@ zDBzm*P{1|qp@3`JLjl*chXSr?4+UJ)9tyaoJrr{{6mU&@DBzm*P{1|qp@3`JLjl*chXSr?4+UJ) z9tyaoJrr{{ z6mU&@DBzm*P{1|qp@3`JLjl*chXSr?4+UJ)9tyaoJrr{{6mU&@DBzm*P{1|qp@3`J zLjl*chXSr?4+UJ)9tyaoJrr{{6mU*^DBzm*P{1|qp@3`JLjl*chXSr?4+UJ)9tyaoJrrYzwuZU&ZL+QeQMJ&@EN;sxHlyFUZDB+s+P{K9s zp@eJNLkZWkhZ3%74<%gF9!j{TJ(O@wdnnlT66UlAXg);ozY=J>2bOt{AO96zF#bo`?*W<*QU0$4+V6oeAENSK2{a#~j6NTt z`dlT60T_vC0x@UO1P#ylyFUZDB+s+P{K9sp@eJNLkZWk zhZ3%74<%gF9!j{TJ(O@wdnnlT60T_v zC0x@UO1P#ylyFUZDB+s+P{K9sp@eJNLkZWkhZ3%74<%gF9!j{TJ(O@wdnnlT60T_vC0x@UO1P#ylyFUZDB+s+P{K9sp@eJN zLkZWkhZ3%74<%gF9!j{TJ(O@wdnnlT z60T_vC0x@UO1P#ylyFUZDB+s+P{K9sp@eJNLkZWkhZ3%74<%gF9!j{TJ(O@wdnnlT60T_vC0x@UO1P#ylyFUZDB+s+P{K9s zp@eJNLkZWkhZ3%74<%gF9!j{TJ(O@wdnnlT60T_vC0x@UO1P#ylyFUZDB+s+P{K9sp@eJNLkZWkhZ3%74<%gF9!j{TJ(O@w zdnnlT60T_vC0x@UO1P#ylyFUZDB+s+ zP{K9sp@eJNLkZWkhZ2ry4<+o=9?Jj!{a3;=?V)_(zY>;d4`m$F9?H0;J(O`xdnn_Y z_E5$(?V*fo+Cv%Fw1+aTX%A&w(;mvWrahE#O?xQgn)Xn}HSM8{YuZB@*R+Q+u4xZt zT+<%PxTZanaZP(DAx~)y9btek01XPUoieh+3x|G4^jEA4BGF3F(0D(Ul}wX zqJlmjqV``I*R+Q+u4xZtT+<%PxTZanaZP(D>#9;%qr9-#RUmH(=s?H*X> zJ%0RGe!=)3Wxoe#K1A)mDrmn4#(aqSe^t>#9;&#eJydZ`d#K`? z_E5z&?V*Zm+CvrBw1+CLX%AIg(;lk0rae?~O?#-~n)Xn|HSM8_YuZB<*R+Q!u4xZd zT+<$^xTZZ+aZP)u;+pnQ#Wn4rifh_K71y+fDz0e{Rb0~^s<@^-RB=svsN$OTP{lRv zp^9tTLlxJwhbpdV4^>>#9;&#eJydZ`d#K`?_E5z&?V*Zm+CvrBw1+CLX%AIg(;lk0 zrae?~O?#-~n)Xn|HSM8_YuZB<*R+Q!u4xZdT+<$^xTZZ+aZP)u;+pnQ#Wn4rifh_K z71y+fDz0e{Rb0~^s<@^-RB=svsN$OTP{lRvp^9tTLlxJwhbpdV4^>>#9;&#eJydZ` zd#K`?_E5z&?V*Zm+CvrBw1+CLX%AIg(;lk0rae?~O?#-~n)Xn|HSM8_YuZB<*R+Q! zu4xZdT+<$^xTZZ+aZP)u;+pnQ#Wn4rifh_K71y+fDz0e{Rb0~^s<@^-RB=svsN$OT zP{lRvp^9tTLlxJwhbpdV4^>>#9;&#eJydZ`d#K`?_E5z&?V*Zm+CvrBw1+CLX%AIg z(;lk0rae?~O?#-~n)Xn|HSM8_YuZB<*R+Q!u4xZdT+<$^xTZZ+aZP)u;+pnQ#Wn4r zifh_K71y+fDz0e{Rb0~^s<@^-RB=svsN$OTP{lRvp^9tTLlxJwhbpdV4^>>#9;&#e zJydZ`d#K`?_E5z&?V*Zm+CvrBw1+CLX%AIg(;lk0rae?~O?#-~n)Xn|HSM8_YuZB< z*R+Q!u4xZdT+<$^xTZZ+aZP)u;+pnQ#Wn4rifh_K71y+fDz0e{Rb0~^s<@^-RB=sv zsN$OTP{lRvp^9tTLlxJwhbpdV4^>>#9;&#eJydZ`d#K`?_E5z+?V*Zm+CvrBw1+CL zX%AIg(;lk0rae?~O?#-~n)Xn|HSM8_YuZB<*R+Q!u4xZd9Mc}E*rz?z{{Q>0ie=hE z?ZSUmEYlupIHo<+a7}xt;hOeP!!_-phHKhG4cD}X8m?&%HC)pkYPhC7)NoCEsNtIS zP{TFtp@wVPLk-uohZ?SF4>erV9%{IzJ=Abbd#K@>_E5t$?V*Ni+CvT3w1*n5X%97A z(;jNLrajbfO?#-}n)Xn`HSM8>YuZB%*R+Qku4xZ7T+<$ExTZbSa7}xtVNQF1=0jBf ztAVzAV43&$@n7Wy9-#RU_5W(1{T>+eAsYYHK=UE$=<^|(|J86!d#K@>_E5t$ z?V*Ni+CvT3w1*n5X%97A(;jNLrajbfO?#-}n)Xn`HSM8>YuZB%*R+Qku4xZ7T+<$E zxTZbSa7}xt;hOeP!!_-phHKhG4cD}X8m?&%HC)pkYPhC7)NoCEsNtISP{TFtp@wVP zLk-uohZ?SF4>erV9%{IzJ=Abbd#K@>_E5t$?V*Ni+CvT3w1*n5X%97A(;jNLrajbf zO?#-}n)Xn`HSM8>YuZB%*R+Qku4xZ7T+<$ExTZbSa7}xt;hOeP!!_-phHKhG4cD}X z8m?&%HC)pkYPhC7)NoCEsNtISP{TFtp@wVPLk-uohZ?SF4>erV9%{IzJ=Abbd#K@> z_E5t$?V*Ni+CvT3w1*n5X%97A(;jNLrajbfO?#-}n)Xn`HSM8>YuZB%*R+Qku4xZ7 zT+<$ExTZbSa7}xt;hOeP!!_-phHKhG4cD}X8m?&%HC)pkYPhC7)NoCEsNtISP{TFt zp@wVPLk-uohZ?SF4>erV9%{IzJ=Abbd#K@>_E5t$?V*Ni+CvT3w1*n5X%97A(;jNL zrajbfO?#-}n)Xn`HSM8>YuZB%*R+Qku4xZ7T+<$ExTZbSa7}xt;hOeP!!_-phHKhG z4cD}X8m?&%HC)pkYPhC7)NoCEsNtISP{TFtp@wVPLk-uohZ?SF4>erV9%{IzJ=Abb zd#K@>_E5t$?V*Ni+CvT3w1*n5X%97A(;jNLrajbfO?#-}n)Xn`HSM8>YuZB%*R+Qk zu4xZ7T+<$ExTZbSa7}xt;hOeP!!_-phHKhG4cD}X8m?&%HC)pkYPhC7)NoCEsNtIS zP{TFtp@wVPLk-uohZ?SF4>erV9%{IzJ=Abbd#K@>_E5t$?V*Ni+CvT3w1*n5X%97A z(;jNLrajbfO?#-}n)Xn`HSM8>YuZB%*R+Qku4xZ7T+<$ExTZbSa7}xt;hOeP!!_-p zhHKhG4cD}X8m?&%HC)pkYPhC7)NoCEsNtISP{TFtp@wVPLk-uohZ?SF4>erV9%{Iz zJ=Abbd#K@>_E5t$?V*Ni+CvT3w1*n5X%97A(;jNLrajbfO?#-}oc2(|HSM8>YuZB% z*R+Qku4xZ7T+<$ExTZbSa7}xt;hOeP!!_-phHKhG4cD}X8jfiXHSE(K>i_@!SHm*x zp?=}N8kT7fbsWbRyo)NxIFsNS?{;zL1@SpAf!W9gU6Au4(Sh3*0-2dYb7dievyl~=w0fqm5 z3?RLS|DXH6`=G=B#SV@CS2rsBcT{Zruj^#^xH;kfLXH0{P7l)6+ui@N^D+MyWBD(@ z@c;h*{r?sJPyNqc%lx11|3QZTjQ`L7-~C_r|JR2M|9SuO{a*~SXh!3IzXJ>Yi~e_7 z_%QK5>jH)Ujt?CEA54h&&-Pzg;XliRL;ueuE%?7sp+eE=V8nm9|IA7&82|e@3H}$D z+4(r}{{jVz|K}3^`~Mep_`llme;LPu8UN+}pTFty|A5keg*DyB+Z7o9Gc)`bfCquw z|Ai0!voQZZw&1_^e^K`1?e3r1wVD4P_%Fct-+}4zg2VqC*pIg|Oa2#F&hr1j{|5DA z{~PVt{xk9XpYWeCT%6tgFFPmme*w1t2mdoMeEiRDsr=tT>HlJ;{{Icx|5?5Mb20os zzyP}Z!^w;-@juH^hyNTujAs28VEV7{|G@uF)~ieZJ3Rj1Ao$;4*?)F{e0`SxOpN~z zurn?Auf!fN@BW#coAv+N|BU}xS^j_h|M&lY-XHAD|0Dj3O%E6RUj`D8`N8~O;{Tt6 z{~xVf^8eNU->J;X|1%hT1F|Dy`Wpa|E(RD*>7 zzxe-C^?${G)^Kq~kS^8#2LFE?{2v3cC|&h`$A8XX>--ueGm9c1v&<*fhz{TKNETfNqwpW*+V|9>^q8U8o?2Z?8Cszb%#N(=tCsiSLm z`~Mt6Ebspt3^5f6kdOwF#WMeYfP_G{s`uCrmmGwXW{~zxE*_m1YpXC3~&cXJd z;m60v$3ap|HZs;-0G^1tqX_Wz6w{|)|^ z{%86xaN+-!|GWMR{qJS?uQ%iWhyR`n82(3e{6F!3U%-E6R!}q@ow__-o%Mh3|No3! z|2h6MvHWiUS$T||m5Jm3m;e9%{}=l4f5U$x!T%gm|AVCdw?u=|`*C(rw*OK8EB^Cy z{Qve}?mr*Lf0zF{|9QFovop54A7htf{IB(&QAq0l`~R)~`S!;P!u}&HtIZ|Fb0jXSM!s`CmnYW5<81|H`*Gg#U~G z7wr7c^k3;e|E-Mwrknn&{b%X=uYUW##-0D+LjN`Yn+g3l|8FAn-}FDH(1hCx|2YKz zvvA!0&-|ZTkYUB`|E!z;vvvPxPyVm}UrJEoztMlaTN3{bh5qyWcNh9E@ZVll=)d)U z5uyJo|232T+x%A${LlK|_P^Y%jQ{#V|3&|c3;t*MFZN$i=)YuuAjf~H+y7<%^I843 zGY|qrkKli%|NpgqeB{XZZ=3XA@xKj7wLQcTlm7yn{!9FKPWo@L!ty`Uf4LP_|Jncl z*OUWSSW&F?1@IT~##{Z)KsXzWJ{P+Ez|3B}4_KE+M|BDa&5BQ%r;Q%P@u(SSm z{-63k?|;evqW_8ibN(yb_@Dpsf5!jJ|HTJ3EST^=J!8WElz{(b4haSS3mOy_Slp=m zpDkeJz~I24(D1)R;{!v0g9gWc-IEUglO1nqBsl!n|DW<-va}*2VVA`JVg`ea0T%!B z6?Q4W^3O+hHJ1O3EdLe$vx2I)hd2K79Q|Lw_MchkfAD|j|0e$p|Lfh#Gn*bR4)RG0 z`*C&##{d7Bj<>tFuy?TAvJvo<9ozrl{{^=l`Pr z{H*NE|AQHR{O4z42bl=5gIsbmyCBQ|Z~yff|MUM>VgzM%q5n+aT=$oqo8dp>kN*wK z|GoY@fBgSnnAKv(Q;6Kxb|0)YaRhOr$ z|6@1%|N1}Uf2RK&A0PbJ_|N*^=06`O^!~Hl{O|bR=fC)d|2qF$BPJSD{@43oV(G2T z{l9G9|2TyY|Ne*kv#NTVfgLBqS|AqdG z{pb5HbAibUl*$tgrw_7aBhW#q=AM)@qg$4Zm$2Gj{Sek@ZaF$qZ1!D{MTIYpLGH>EX}co z<%gL!|A+q%0tKbX|NRjY7yXa zyV8HY{{sIt|LaHof8q51(SI(<|APO;|8xF#`2XJp7O3ml89=Ehi|IepiT@%D|F1#< zmc^dE<$s0ce}VtGlK+{d{>%LMhzM40M+xLW)%?%S2ntlBpcFv~N@hq1cuFkz&jJfiE9~L9;6K~V|1SSaK_R;3K*YrV z+?D^0{tNtP2M1}@y#KNP89)5{AA1NEq%I5obN*NU&l17#U*UiEf0_SE{~!I|_kWGk z|N8$z|2Y``fBVn$UxMM{L&hBj|M@n75-r!J{~|(J0{<=lGyk8%@IMQbRE7TYTm0t% z1!{oP|7rjK2mkmm;XmJhuKx}vU}3tBo$){O|18G;j6WDaVR{`BrW~L!jk5f&@ZVqZ zKaSvP9;SrPzUb+l>hJl2QmH!4HYqc_|N`7;luw42mU+! z=V177fnmdigBSllDEPl%$^Qd|4F44bCR}n9_|N%2;6D?`e^!nEJQx2vT>4+|pV?u- z|Aqw#5#Vtm?0w1!>~75exjp_|LBJpI_j=6~li{1`dJ$%wcj#|Cckx%d^}6W!D3Bs?Pp*`p?hszvw^vf42WD zjQ@E+BT_B@c?CE=K0f}R@5jdn4F9=7V(sp~*hSbtBUTUpbAkjKAZpv)f3S-%{O1P= zfz&^QtAEZe`kxc5;lu%uVO%f`&)I94AZCDN|Fi%2_~1X=f7bsjpiVCHj}M^UYDWV& z82$_YSNgB|UjuY)z=Qv4KmP0f*Z!}?&hY=o|JVQD{r~v?`;GrU|Nr{&|M!m*|G)kC z@c*+t+kb`s%AhlH{wsZWaN`0<{eKO8kdAl%-~a#g;Q!Cs|G)nK{_+3MiyQyH|M>9# z+y8&&Z2yJ+EB;shulDl4%8&o5|JDC%{rE4Y4$}4Z|NH+R|9^w(`SJhnkN-b^O!zoM z|9Japq|&G z|32dXg@1f}eC$8}e{OJ?9R2_I$A|xa{{Q&@9i-*+f3_bVAN`m8ulNIW74*Xw4{rR| z{ICAwzi6}o*x(NgH!l2V0&6|q`tN`3Kd|m!od3W5{{qtc_`l45d2lGmy?F3n@y7?S zht&S7{D1xb&HuOmKmPyvaX2OMwt|LeyG3xki3{)>Wi{$OYP|NY1RZ~qnl zEBzO5clfWoU`9hl0q1{#|6-tsZU+tSf&2i{&+!8^A)xT%!vFt2*gpJc1r7ZF2SqU` zUOxQ)0rJw<|6l%d{8s?k`d{(piw7T1fLtHx@t^g-2*|JEpd8Z;XE@$r%W0wA+N zLH*&viI4x~fBaYY@!^KR>h9wj|9}7g^W(#R=^y{4eti5d`Qzh%38)zlK`H0Kf7bup zi6Cb-{}=i%{a@zC2asitkAwUMQYiQ1C1}j+KNBe3{QNHjvRe>D@D)X_X^CKfsBVHp zii5?+|H5EXK0Z7!>pycrM#6sL7|3&|c{P-{Y8u$P0kB|S~{P_Qxp9M4o^W)b>aWlKR*0_^#ha;9=QDf`v2vRj|~6C ze|%&M`2Q2E>^L}eeEsq9G1&e?py>GV@$o^ht3Z+rVDaPaF8|p;4tV&V8*Iz*mjAq< zplAgNf(iuaNI2{N4?q5Y{PE%cC%qpZ|9=LR5nq0Md<-6bWc$wv%1e(9uxBNF^Z*qn z5B{^ntZ9j0iP>Im4vL8u_Rs7EY@o3;rXT;AfBa|p@t^g_f3_e0*?;`!`0=0f$A2zx zLi_mm;ELsYjdQ&8HVYqJy1t$>%5=*-`}uOQf_dfhbDUXus-qJFm*y=mWqNh`@ZPp9 z)7P``L>o&5SzRqTy<}Z*PVAYiV^gKuB=yqer~2pr_h(dT`>(FDU)64!dcL~9r8f65 zm5{j{?y|-G7qmAQ;JAK9~Y_x65&e)-R!Xypa@i|@zB|NK8b{0GINAShP<3xgt9 z^uO4T|Kk58{!9Ls0wu-&vj64&D}W0g70_mu|C;}`|LgwO|8Mx;_`lhIi~rXD?fyIb zcmD7G-|N5c|A7A?|HJ=B{g3;f_&?=;`v0u|Isfzi7yK{!U;Mx1$A<_1YYPwj&;6hM zKjVMu|D^x%|6~3~{tx{h^xq#e66o>Y?Z3-^=l@Rs9sfK0`1s($fers%Cp7%`PWT`2 zKlp!`f&jz+r2naKbMyZf{4f0R;lYU=EB>Mt-)-lA>qGyY5B&H1 z@BQEZf6)KX{}KPA|Hu7LsQsS|c7EpntpC~nb3VMd@IT{!+W!=AP{jU^itzX!{6A3P zzc0ssum7I^J^s7@cl+=9pv*OL7@Z= zaZpJ8_;33I6jqOqbY=!P7%2RA0r?o@5#Rs*-~bB)dnWdO{QrdiN&l07{7-oail?~$ zF&+OS3;u`y4+VK5=!b%Y!2f_BA0Hq7@BicD!(vMbj#|(#f9Q|@VgJMbNBocc@jvQ+ z^pF2BKR*1A1r>>Lpkx{U|404!_;B;&C?_q(kB|Sy{Q%|a_#Yo1ABtxB zAM@jX^p6k!qkeq&ANk`0Xaf83!T;f4yTZU^D2Q}o0NDbvsZ9S{D;{`l}e=Ep}Q^FRKN`0)W``v0&WAO45_`1n8M$A|yH zKR*5s`tk99;E#`ox}ub&j6DAP|M&av``;TJZ*JhU2MSea>ich9ipBw%-v!Jsg(NRHwpcD&@YOnv^|9$@Z z{`dRw-~Y$|fFB<~PB^t`R$+ptfr11FC>weH0HvHC|J{E4cm4131C(z5J2^rU5149V z`tJ-%RR3LneE9DMDm@+kTl_ctul--`zv6${|C0a3{tN#X{LlZN_doZ4E^q^CU%UT* zaYlaj|Kk6ln1TJjxB!1RGpH@~_;|~I)^qag;_Cm|8U4XZK+^x&*`WondkcFD`$~3q zMo=9Hs=Am!h3VrXpgQ^S;s2tb2m_V#j}LS z^6_@}FYL7p|7F1V{@5hJ#x<5Yr*ZJ|` zzxEGM`%d%6e~llYhLzfX)gPc+rhfca`mgw3;lKQUx&N~NW&TV5m-;XHU;MuqsG|KZ z^k47?sA#@># z9sbMzP!RYp12+idAh1Co2Ym!(b&&}b8ULjn3F>*$Sg@S+qs5uB~h=L;Sc)R<5_F5JY7aT@E{>wsx z2;@1j|04f|K{L#PaNmh`6eM{3mjP7~ivJ-dI7D}e0+%Lx`}~WN*ti#6}2z+j9r8Y>`icIkBH9OPxe|iaM^Pl6mSm-b>2W7 zF^w1hRnYowZ$W*x2k@@j|L_05{{IH*ys`cl{;&8S)T&Yaul(QzXaZCF$A58shX1er zzx)5;{})hB{R!)fo%sLl|MwpY>_NRZXs7SRgBLeJdHcV5EvWPM2Hbi33hE<*yAA*U zzBqAULPx{@Z~DiZ|I2|pII1r}y~`h;G^6xjjI=7Wp3%0vw={ z?E$zqAp$B=K;54M@Gjhe|1986$xo11e*FJ(;D0$ANEOtE4-fw<|M>7<^S{P_wf~~Y z|6l%p^Z(udPoPc~v>(^*@c$pU$MF-=WBPmm)VFx}U+}*yxT&Y|U;f1dP^S&l75uN3 z@c;FX{~!N<`SG6x)ItO~<`B3S!219HkJ|r?;0}&F$n9dF=Jeyk;GQlh6P6qN7hm|F z8`LXfWOoPkIYIOLilAf*N{KGuqW*XTsH_6@3P3$nP$%yDj|-4|F9n`l2X)s$eP>YT zQUNsU3R3s+;Q@Bn|Dv^EBM$y&1$8sIL0wpWkP4n3A8*9Vv%7MD9Q2=?odHzYJp3;O zih~T0b6DnP{FnSM_g@~;Vf)Vv>XiNmchDXmZvr)Ze|-G^=f}qfpbYr&(SJUWL646& z{O1Ol1nN&$urvPu3v$w*|I7^)1q@(4ppN$qhD8nkfB!)0x-o!)7gSSxLd#zh*cq7q z{b&0Js+!x~pCR?i9VIV&e2Eatb=uH+`q8% zGyLcOFaP5sxT^*(XhBP9ez4d6fAr(y|4*Q$T(3Y8_~ys|w?F>B`|RG={{rg8 zJp`L@;Qw!SW`+N+etfI|Ro|hYKH7u-;y-FX{^w@-&jBjX9!dQF@Z;m-5DieD>k+h2 za%Te-i=dk61lR?KK*mDCft}_5FOb-y{yq23FN|u|G$Gg%Fg(o^9Q&9e)OLuUY-%$Lp=7M72Mec zwM|;sKd?uE7ee6dyn*|$j}QIl{&9SIrk~N(<&sQim{#Ah;bPyye5bECoU1=fNb2g+ zG#deqJ*~;wDK^4uqjW^)rOAN0@Zg16@Zl{T$ne*p`8%g<57rX8EWWyXKNDy8zU}Mk zb&OfE{lfSAL3(p4AnLz=tx6kvIQup~a~07dhGX?rOO-EgwdYygeY_PEs1HGb3NFkE z_vS!@HK5TaP`L-HvthkClmBM_Ey2Ax$Nw(S-W;TV6#YN07O6Xz|GyC4ojb7uxijYh z>wbY6p`e}xQeW-{sE_9Q-~GSme;=$puk8Q1|H1va|3#o~QQrTY|5^Xj|EK&<1X&;b zKf(Z1wS#(fF5vzlxLpnEs(b*oktQ_!cT4#14eGFfx}T5^T`Igom;dAA|GW$Tv;Sv; zds~VB=0CuOzWQ(T-!9?5Q!Tjp4RSbgXD$)m zWz7Dc^FJ5dVO;S)r32iljrt$%0P4y~fR?a&LppOm{=0)3`=Ivr@y7qIpq8W%N~7Kn z+`|e6cNe4n$NZ1~53(b*_J2BPmD7(8p#CtZi}^o1;D6Bn00~GZ5!^+Dben(tcl_}I z)N_7(vbrZ{*UOg8gKK}3c z-}1lFf1Us8|CRpB{g?VL{$B*Gr*vppzB!hz5>GpL)cNu8w*Rc>=Kp8sC^!Aj`gnOh z`+i853Zhk*pB!v!jC)%}o7S}~*J zziL57#D66Rga7gpf)A0pfskH`2&j((X{m$yT?-~uWCU0Uf|^E<{tc*y1PT~L9|zQh z#MFCn$BO@=Ag5R;aDZAs;K*=e01b1a^^Q<{0q*Zz+_7Rp!+#0z2+8B)EglvI|HXfR zXKWh&i~cYKH5witZD2p%65zpp2%Jz4gVQZ)-w4qeasSUQ&IIk=fSN??Y@p5&*hTJt z*i~7e1EfbmO87t>6i`?`KHl#5U+~8Vu*t{U-T$$Ru|dKGTOFfcbnpb+fq4Mxz&rwt zmOKKD4ug7HA1=U}hW~{@S4o2=pB}=do;1NzPegQIl>RF}0Jl&7bAt3P=gZG&N}#?`#-x* zyW@X0aO0R6q~^aUxY7Jz=YQ`1{Oq8_^x?nyf7J&J|3MR8AOHWajR^So@IMoz1H=N- z0v?)wVDbNNMnc5@U;jY^;vXL$_%Hci8alQt|Kh=m8y8Oe2TdBOI{XKD8066JKRCeM z?~f1vgF8XLe|-4Q1nO(d0O^Ca#TdXX_@6&Ml$$gCXa4`Y_Q(HUAn6bPB|y3!!-B${ zoe7$i!uHeKd|EhIOdQ22Td6{8a`$Occ%V5_|KBq0ve@y07{!epvn(4E%gGd_#kLT z=)b~$a2M%O1Z0Gw;Xi1k>cD@{sMSGGBmVJ$|De&VgRuVJ%Z#Z1(*HmG2Xzm>|Nr^_ zH)vtK#Sc*H_~C&K|NnwIDHZ=gT~cB2Fo4*9@gKJ?K|-DTKQE-;|MBthW(V*z(p}IV z88%R61DOEIexR0b7rPMK|G)qLeSCT0WSP^t#??cBexd$WL=r660NI}-l?0`(gn zA8&UBO}88Xhs*I6a7+B~f5;5dAyAVYoZWx3+}R49&ar22cmKm4%kcjftV8kuWY7b4 zCeU=#!~eqI0g(S(zF_;nGf1Ghn@9hDnL1P&3v{`mNy zHFSBp`hWIdrvG35zxeUt|MN#DLDN!SSwVA5Ad?=phAM-*5eLoL+Z{n&oX5vNU7p7W zL54g&@c#|Chw>Ioz5|8RcaRkzum5KkWc$wy%K4xY;_-2CDFq7k7WVh-wM@iM7VWVO z7CO3o9gAfC@>FO4?IvPm&Uk+WW1P zt}d=Qy`MRKU5h(=x$totk?HJyc1+XMVY5f_pxGn&{p`#_R~LJyFoGkPs#|8xK6fO`<28Jkq_oK52Yg#YnBK<&}T2iKQ? zn!n)LjA&5P9yEXP`0)QoFgpU&pa#t$JU;v%G(&L&G>`E3pcfOU(F&Rf0ZnLt=N)2y zd^okBqaeaU0@Q{DwO{}H{rCA_i|`$!uVV8bw08wO_XM9z`0(H8(TNQ+Koeme7T{?) z&{P+w%jNwaG&=;EhzkE7`9BIYffD=U!;SyZ2R1DDAJ*|dxFF%bzsG;y|2`W3y?$^o ze0;QX!HkZEij0H+4+{eYiQ4~xpyu?4nRPuAM-z|AmM))X!a>k;lCfpf1m$IJumQV z$d8W?PVQLP2%hkPbZh?m{rCu%4 zG`R=qx&4QP04!F`{+s?c{%`c(@W1|lJ9A*s%~4$Nvq$Jy^5< z=Kmp6Mz9GZ$Nx^CNuLj(uFQi&tFA6p6nuQ-zs-M>|9YSX#((+$(*Gs?i~a}gN#gs@ z18Ji?xO#5sdPq+MG;@P7(*qU|DYpl08)QM5^9N7u%wuvwfbQl3_cUO0G7J8zbyTSSSH{_60ktv&K$SUYszjRkzutTH3O5;UC% zo0*aTO+0|+f{=S94^D1aFrgwLz`;P{QNXrdCQ`;R41sM^bVn=`h5?cQS5ECgsK+Oek=~Phw zvQ9$*G{*y;8Tt75IA{`7<0B(z2^f3==Er~D6i{pNKQ~zK<0GAwj~opjF@Q##`9K6{ zJsG%{0iMnQyA3p#BJu;-aX&z7fMkAre6(}LM2O7>3KEQe;`p^5{ zi}8Pm+kendD--+wb|!ar_Xq6hpzg?j7WQ_A|Ev-Jnb;Ww78U&G{?E*E=|7|Wss#ob z4mSVm|0{$CnOt6KzC2$+LL4;B!~DOV;lC%y5hee%KsE;MVEkY3U;3at^ZzQ4Wv(E9 zNV)x&V`uxX*B&ko+xG@(&J0cRFFP~Sf5rcx-LOIb`9RBnzp?W%{C8mcf8amk@pe15 z>BGU7h`5=~&WrB3YwRqbCMqMy^RL;{!J7lS|1&fEXZbJopJUg5rjLyORT%zjX1e^J z_TTS+>i_cp3jd4#XZ}yQ@L&Ib;{TE#2Oj)SzOmwe{{Os&4-XPM{+Cq*{Le}FpY(#` zztw+G`Y&)~i1;65VDUfwe=)3O{F*(40ki?l2DGh;k@+Uf@CCTcR={Sqlg5q>0bc)u zC3eBgeZwBf1~S){;lJE}By&l0vHpjnFtcB? z$1{OkE(TgaNq(sKN>~{Dul%q3-`(QH{~(3`r4s*BU{<_gk6{H_Aqgt?D6oPfBS7$f zslW=0|3OI_AlpE_#pCVnZ`fgB%g?xPQ+c2J)UP!+$;sV#oi&|6&e}PM!ZDnhOyj7XkK}9m9W73XBf^ zU%+6vAmBuY!vB;BFtbmx|Nrm90@|vH$h^h>lW+XbJMq8hf8~Gu|0Vx3X8h0npSj_G zdc%zW`HBA%|CfDO@jvGVJOhVla4;ZeTsCkrWn}pOKbGYnEZ_cD_)n_2!5#|#OLzP) zE;RU`V({O81Bb=`+zf{QC2+^TVF#xuCWin2{VDW=`vQgkDI6Xs-e3X6Co|{>6bcP@ z6a1gd0rN+=M?%B~Sn$7LXJZE0!a@aG!WZn=@V~gy;(v<8{~!y4|7pm!fc?VC@c(}{ zg?uX`lW(eL!T+=fjsLlf+W);7{}=zyhPnC;I}6i)wvP<||A$Z-SpN$e zD*k5+1pE&XV&FoU9}jlFIKzKI3i7irM+Qg2{}9QO2LGJ}9R3&oFUf$H=Wp247(wYu z2{c+ueh~R&B>XS%2>74w@jpnTqVs=|z<*}}P)05R50ZgKu->vKgEOHr!+%o>JQK|I zU-!S8gn{h;APJAi84UlOS1|l9Za}go0puSwP_u)4|9Jf`%?MNo_#b4@F!AJnX9*2Z zs3F;r4os<#XlT0JpTJCXb33$4`K*N{9nY8a3b+Pa{MHM+ff<}|HCPWA774) zfQ0`+4igssFVgt$%wd5Na&Op^!Io$;{5PY(5>O455b^SVy2JnQ!v84}|9vI?m;Nt~ zKx7<Toi6n4s zZiZ<-;Zzo0knul7!sBG-34#B<0-(SN0Hv`L91V*9o&P5)EP&bamOU6;#xOGc=XlA4 zTnm$uz??D^6aITx2*Asg*X-e7$1{NraY4<8gdOix(D1*6pI^gYcNRrWK_%DSuVl#;86a{ctN*n;~ z^2kv54{vh6W)B1xJ4Ouu^{^UET#qPZ0>l4e30QEvW)BAEe{P2Vh7=g;%wgdG%AW{h zW5M+#4`{;#YR(}gM>;bkMEuVNbq@c7`iUsr!zi%31sMLTQs8bk2@3-cP{%g>f5w6t zNI~rn%AM8>pyNdly>SwI&AuA{t2kgG@(O$&QVAP+=cC}p|K$Ifpfj8ffDUuIao~UU z1W>Q7aK`_#j*5nY|4A7V3jfn4L@@jhwqV#H_}_UW=zOLL8G`?V5)=$QEB_}p7=nft zbpNyd51Y8-f2PKS0E7QN1{#Qz^MRciTs;0Sq^xGCQSd*T!Q+1jJ7{Jp%j17Cs9=R9jkoOS;A)1V7Ba{pUxoyR zi2osiCpG>DaYSTp5cuzW0@PPUZXYFsOFxQQ${?$PH8>a+K$@2DW<}!xgpW$Wxs#%1 zGRT_ngoyts2R#1=D_orM-|c@9IOGf}CjJkK;EVP&Q3=WxG<%tjfP~=iOLfS|9u%i z<#mF<|DXZ|!~aDE|D7%VC(b}>O21$uNrj` literal 0 HcmV?d00001 diff --git a/src/openrct2-unity/ProjectSettings/QualitySettings.asset b/src/openrct2-unity/ProjectSettings/QualitySettings.asset index cab35ccc42..a45c679e5d 100644 --- a/src/openrct2-unity/ProjectSettings/QualitySettings.asset +++ b/src/openrct2-unity/ProjectSettings/QualitySettings.asset @@ -95,7 +95,7 @@ QualitySettings: skinWeights: 2 textureQuality: 0 anisotropicTextures: 1 - antiAliasing: 0 + antiAliasing: 2 softParticles: 0 softVegetation: 1 realtimeReflectionProbes: 1