From 8305fc3776bf1615d510e487051a3cd3affd3cbf Mon Sep 17 00:00:00 2001 From: desktop-maesty/steve Date: Sun, 15 Jul 2018 08:32:31 +1000 Subject: [PATCH] Replace Reorderable List with latest from Rotorz repo as of 2018-07-12 Added #UNITY_OR_NEWER such that we run clean on 2017.4 LTS --- .../Fungus/Scripts/Editor/HierarchyIcons.cs | 4 + .../Reorderable List Field/Demo.meta | 8 + .../Demo/DemoBehaviour.cs | 12 + .../Demo/DemoBehaviour.cs.meta | 11 + .../Demo/DemoBehaviourUnityScript.js | 8 + .../Demo/DemoBehaviourUnityScript.js.meta | 11 + .../Reorderable List Field/Demo/Editor.meta | 8 + .../Demo/Editor/DemoBehaviourEditor.cs | 30 + .../Demo/Editor/DemoBehaviourEditor.cs.meta | 11 + .../Demo/Editor/MultiListEditorWindowDemo.cs | 184 ++ .../Editor/MultiListEditorWindowDemo.cs.meta | 11 + .../Demo/Editor/ReorderableListDemo.cs | 79 + .../Demo/Editor/ReorderableListDemo.cs.meta | 11 + .../Reorderable List Field/Editor.meta | 3 +- .../Editor/Editor.ReorderableList.dll | Bin 66048 -> 0 bytes .../Editor/Editor.ReorderableList.dll.meta | 22 - .../Editor/Editor.ReorderableList.xml | 1811 --------------- .../Editor/Editor.ReorderableList.xml.meta | 6 - .../Editor/Element Adder Menu.meta | 8 + .../ElementAdderMenuBuilder.cs | 109 + .../ElementAdderMenuBuilder.cs.meta | 11 + .../ElementAdderMenuCommandAttribute.cs | 67 + .../ElementAdderMenuCommandAttribute.cs.meta | 11 + .../Element Adder Menu/ElementAdderMeta.cs | 170 ++ .../ElementAdderMeta.cs.meta | 11 + .../GenericElementAdderMenu.cs | 38 + .../GenericElementAdderMenu.cs.meta | 11 + .../GenericElementAdderMenuBuilder.cs | 102 + .../GenericElementAdderMenuBuilder.cs.meta | 11 + .../Element Adder Menu/IElementAdder.cs | 43 + .../Element Adder Menu/IElementAdder.cs.meta | 11 + .../Element Adder Menu/IElementAdderMenu.cs | 33 + .../IElementAdderMenu.cs.meta | 11 + .../IElementAdderMenuBuilder.cs | 76 + .../IElementAdderMenuBuilder.cs.meta | 11 + .../IElementAdderMenuCommand.cs | 41 + .../IElementAdderMenuCommand.cs.meta | 11 + .../Editor/GenericListAdaptor.cs | 145 ++ .../Editor/GenericListAdaptor.cs.meta | 11 + .../Editor/IReorderableListAdaptor.cs | 131 ++ .../Editor/IReorderableListAdaptor.cs.meta | 11 + .../Editor/IReorderableListDropTarget.cs | 49 + .../Editor/IReorderableListDropTarget.cs.meta | 11 + .../Editor/Internal.meta | 8 + .../Editor/Internal/GUIHelper.cs | 140 ++ .../Editor/Internal/GUIHelper.cs.meta | 11 + .../Internal/ReorderableListResources.cs | 193 ++ .../Internal/ReorderableListResources.cs.meta | 11 + .../Internal/SerializedPropertyUtility.cs | 179 ++ .../SerializedPropertyUtility.cs.meta | 11 + .../Editor/ReorderableListControl.cs | 2000 +++++++++++++++++ .../Editor/ReorderableListControl.cs.meta | 11 + .../Editor/ReorderableListEvents.cs | 216 ++ .../Editor/ReorderableListEvents.cs.meta | 11 + .../Editor/ReorderableListFlags.cs | 62 + .../Editor/ReorderableListFlags.cs.meta | 11 + .../Editor/ReorderableListGUI.cs | 576 +++++ .../Editor/ReorderableListGUI.cs.meta | 11 + .../Editor/ReorderableListStyles.cs | 114 + .../Editor/ReorderableListStyles.cs.meta | 11 + .../Editor/SerializedPropertyAdaptor.cs | 159 ++ .../Editor/SerializedPropertyAdaptor.cs.meta | 11 + .../Reorderable List Field/LICENSE.txt | 2 +- .../Reorderable List Field/LICENSE.txt.meta | 1 + .../Reorderable List Field/Properties.meta | 8 + .../Properties/AssemblyInfo.cs | 36 + .../Properties/AssemblyInfo.cs.meta | 11 + .../{README.txt => README.md} | 12 +- .../{README.txt.meta => README.md.meta} | 3 +- .../Reorderable List Field/Support.meta | 8 + .../Support/API Reference.chm | Bin 0 -> 345248 bytes .../Support/API Reference.chm.meta | 7 + .../Support/API Reference.chw | Bin 0 -> 38484 bytes .../Support/API Reference.chw.meta | 7 + .../Support/Resources.zip | Bin 0 -> 25661 bytes .../Support/Resources.zip.meta | 7 + .../Support/User Guide.pdf | Bin 0 -> 157669 bytes .../Support/User Guide.pdf.meta | 7 + .../Reorderable List Field/preview.gif | Bin 0 -> 61326 bytes .../Reorderable List Field/preview.gif.meta | 86 + .../Reorderable List Field/screenshot.png | Bin 0 -> 9154 bytes .../screenshot.png.meta | 86 + .../Editor/IntegrationTestsRunnerWindow.cs | 9 + .../PlayerSettingConfigurator.cs | 15 +- Packages/manifest.json | 39 +- 85 files changed, 5615 insertions(+), 1849 deletions(-) create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Demo.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Demo/DemoBehaviour.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Demo/DemoBehaviour.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Demo/DemoBehaviourUnityScript.js create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Demo/DemoBehaviourUnityScript.js.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/DemoBehaviourEditor.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/DemoBehaviourEditor.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/MultiListEditorWindowDemo.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/MultiListEditorWindowDemo.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/ReorderableListDemo.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/ReorderableListDemo.cs.meta delete mode 100755 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Editor.ReorderableList.dll delete mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Editor.ReorderableList.dll.meta delete mode 100755 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Editor.ReorderableList.xml delete mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Editor.ReorderableList.xml.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMenuBuilder.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMenuBuilder.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMenuCommandAttribute.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMenuCommandAttribute.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMeta.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMeta.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/GenericElementAdderMenu.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/GenericElementAdderMenu.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/GenericElementAdderMenuBuilder.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/GenericElementAdderMenuBuilder.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdder.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdder.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenu.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenu.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenuBuilder.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenuBuilder.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenuCommand.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenuCommand.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/GenericListAdaptor.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/GenericListAdaptor.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/IReorderableListAdaptor.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/IReorderableListAdaptor.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/IReorderableListDropTarget.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/IReorderableListDropTarget.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/GUIHelper.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/GUIHelper.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/ReorderableListResources.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/ReorderableListResources.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/SerializedPropertyUtility.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/SerializedPropertyUtility.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListControl.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListControl.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListEvents.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListEvents.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListFlags.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListFlags.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListGUI.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListGUI.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListStyles.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListStyles.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/SerializedPropertyAdaptor.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Editor/SerializedPropertyAdaptor.cs.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Properties.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Properties/AssemblyInfo.cs create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Properties/AssemblyInfo.cs.meta rename Assets/Fungus/Thirdparty/Reorderable List Field/{README.txt => README.md} (94%) mode change 100755 => 100644 rename Assets/Fungus/Thirdparty/Reorderable List Field/{README.txt.meta => README.md.meta} (61%) create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Support.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Support/API Reference.chm create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Support/API Reference.chm.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Support/API Reference.chw create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Support/API Reference.chw.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Support/Resources.zip create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Support/Resources.zip.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Support/User Guide.pdf create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/Support/User Guide.pdf.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/preview.gif create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/preview.gif.meta create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/screenshot.png create mode 100644 Assets/Fungus/Thirdparty/Reorderable List Field/screenshot.png.meta diff --git a/Assets/Fungus/Scripts/Editor/HierarchyIcons.cs b/Assets/Fungus/Scripts/Editor/HierarchyIcons.cs index 1c681464..7e6c59c4 100644 --- a/Assets/Fungus/Scripts/Editor/HierarchyIcons.cs +++ b/Assets/Fungus/Scripts/Editor/HierarchyIcons.cs @@ -31,7 +31,11 @@ namespace Fungus { initalHierarchyCheckFlag = true; EditorApplication.hierarchyWindowItemOnGUI += HierarchyIconCallback; +#if UNITY_2018_1_OR_NEWER EditorApplication.hierarchyChanged += HierarchyChanged; +#else + EditorApplication.hierarchyWindowChanged += HierarchyChanged; +#endif } //track all gameobjectIds that have flowcharts on them diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Demo.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo.meta new file mode 100644 index 00000000..bc648b7f --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a747a40b0f1ab6f48b28b29fdb77f2ed +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/DemoBehaviour.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/DemoBehaviour.cs new file mode 100644 index 00000000..7627e3d7 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/DemoBehaviour.cs @@ -0,0 +1,12 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using System.Collections.Generic; +using UnityEngine; + +public class DemoBehaviour : MonoBehaviour { + + public List wishlist = new List(); + public List points = new List(); + +} \ No newline at end of file diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/DemoBehaviour.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/DemoBehaviour.cs.meta new file mode 100644 index 00000000..07bc0810 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/DemoBehaviour.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: acf5477b21448904ebe3636dcb6a0276 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/DemoBehaviourUnityScript.js b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/DemoBehaviourUnityScript.js new file mode 100644 index 00000000..eb70a9c4 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/DemoBehaviourUnityScript.js @@ -0,0 +1,8 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. +#pragma strict + +import System.Collections.Generic; + +var wishlist:List. = new List.(); +var points:List. = new List.(); diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/DemoBehaviourUnityScript.js.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/DemoBehaviourUnityScript.js.meta new file mode 100644 index 00000000..24f33963 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/DemoBehaviourUnityScript.js.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 253f52cce58987b4e8f2108722555925 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor.meta new file mode 100644 index 00000000..51fb2bd1 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bd53be4000846a648b766b6c79bf6bbd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/DemoBehaviourEditor.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/DemoBehaviourEditor.cs new file mode 100644 index 00000000..f4df2802 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/DemoBehaviourEditor.cs @@ -0,0 +1,30 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using Rotorz.ReorderableList; +using UnityEditor; + +[CustomEditor(typeof(DemoBehaviour))] +public class DemoBehaviourEditor : Editor { + + private SerializedProperty _wishlistProperty; + private SerializedProperty _pointsProperty; + + private void OnEnable() { + _wishlistProperty = serializedObject.FindProperty("wishlist"); + _pointsProperty = serializedObject.FindProperty("points"); + } + + public override void OnInspectorGUI() { + serializedObject.Update(); + + ReorderableListGUI.Title("Wishlist"); + ReorderableListGUI.ListField(_wishlistProperty); + + ReorderableListGUI.Title("Points"); + ReorderableListGUI.ListField(_pointsProperty); + + serializedObject.ApplyModifiedProperties(); + } + +} \ No newline at end of file diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/DemoBehaviourEditor.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/DemoBehaviourEditor.cs.meta new file mode 100644 index 00000000..825b6601 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/DemoBehaviourEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 036558d96cb3f6a418344bd5fb29215e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/MultiListEditorWindowDemo.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/MultiListEditorWindowDemo.cs new file mode 100644 index 00000000..9afb1903 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/MultiListEditorWindowDemo.cs @@ -0,0 +1,184 @@ +using UnityEngine; +using UnityEditor; +using Rotorz.ReorderableList; +using System.Collections.Generic; + +public class MultiListEditorWindowDemo : EditorWindow { + + [MenuItem("Window/Multi List Demo (C#)")] + private static void ShowWindow() { + GetWindow("Multi List"); + } + + private class ExampleListAdaptor : GenericListAdaptor, IReorderableListDropTarget { + + private const float MouseDragThresholdInPixels = 0.6f; + + // Static reference to the list adaptor of the selected item. + private static ExampleListAdaptor s_SelectedList; + // Static reference limits selection to one item in one list. + private static string s_SelectedItem; + // Position in GUI where mouse button was anchored before dragging occurred. + private static Vector2 s_MouseDownPosition; + + // Holds data representing the item that is being dragged. + private class DraggedItem { + + public static readonly string TypeName = typeof(DraggedItem).FullName; + + public readonly ExampleListAdaptor SourceListAdaptor; + public readonly int Index; + public readonly string ShoppingItem; + + public DraggedItem(ExampleListAdaptor sourceList, int index, string shoppingItem) { + SourceListAdaptor = sourceList; + Index = index; + ShoppingItem = shoppingItem; + } + + } + + public ExampleListAdaptor(IList list) : base(list, null, 16f) { + } + + public override void DrawItemBackground(Rect position, int index) { + if (this == s_SelectedList && List[index] == s_SelectedItem) { + Color restoreColor = GUI.color; + GUI.color = ReorderableListStyles.SelectionBackgroundColor; + GUI.DrawTexture(position, EditorGUIUtility.whiteTexture); + GUI.color = restoreColor; + } + } + + public override void DrawItem(Rect position, int index) { + string shoppingItem = List[index]; + + int controlID = GUIUtility.GetControlID(FocusType.Passive); + + switch (Event.current.GetTypeForControl(controlID)) { + case EventType.MouseDown: + Rect totalItemPosition = ReorderableListGUI.CurrentItemTotalPosition; + if (totalItemPosition.Contains(Event.current.mousePosition)) { + // Select this list item. + s_SelectedList = this; + s_SelectedItem = shoppingItem; + } + + // Calculate rectangle of draggable area of the list item. + // This example excludes the grab handle at the left. + Rect draggableRect = totalItemPosition; + draggableRect.x = position.x; + draggableRect.width = position.width; + + if (Event.current.button == 0 && draggableRect.Contains(Event.current.mousePosition)) { + // Select this list item. + s_SelectedList = this; + s_SelectedItem = shoppingItem; + + // Lock onto this control whilst left mouse button is held so + // that we can start a drag-and-drop operation when user drags. + GUIUtility.hotControl = controlID; + s_MouseDownPosition = Event.current.mousePosition; + Event.current.Use(); + } + break; + + case EventType.MouseDrag: + if (GUIUtility.hotControl == controlID) { + GUIUtility.hotControl = 0; + + // Begin drag-and-drop operation when the user drags the mouse + // pointer across the threshold. This threshold helps to avoid + // inadvertently starting a drag-and-drop operation. + if (Vector2.Distance(s_MouseDownPosition, Event.current.mousePosition) >= MouseDragThresholdInPixels) { + // Prepare data that will represent the item. + var item = new DraggedItem(this, index, shoppingItem); + + // Start drag-and-drop operation with the Unity API. + DragAndDrop.PrepareStartDrag(); + // Need to reset `objectReferences` and `paths` because `PrepareStartDrag` + // doesn't seem to reset these (at least, in Unity 4.x). + DragAndDrop.objectReferences = new Object[0]; + DragAndDrop.paths = new string[0]; + + DragAndDrop.SetGenericData(DraggedItem.TypeName, item); + DragAndDrop.StartDrag(shoppingItem); + } + + // Use this event so that the host window gets repainted with + // each mouse movement. + Event.current.Use(); + } + break; + + case EventType.Repaint: + EditorStyles.label.Draw(position, shoppingItem, false, false, false, false); + break; + } + } + + public bool CanDropInsert(int insertionIndex) { + if (!ReorderableListControl.CurrentListPosition.Contains(Event.current.mousePosition)) + return false; + + // Drop insertion is possible if the current drag-and-drop operation contains + // the supported type of custom data. + return DragAndDrop.GetGenericData(DraggedItem.TypeName) is DraggedItem; + } + + public void ProcessDropInsertion(int insertionIndex) { + if (Event.current.type == EventType.DragPerform) { + var draggedItem = DragAndDrop.GetGenericData(DraggedItem.TypeName) as DraggedItem; + + // Are we just reordering within the same list? + if (draggedItem.SourceListAdaptor == this) { + Move(draggedItem.Index, insertionIndex); + } + else { + // Nope, we are moving the item! + List.Insert(insertionIndex, draggedItem.ShoppingItem); + draggedItem.SourceListAdaptor.Remove(draggedItem.Index); + + // Ensure that the item remains selected at its new location! + s_SelectedList = this; + } + } + } + + } + + private List _shoppingList; + private ExampleListAdaptor _shoppingListAdaptor; + + private List _purchaseList; + private ExampleListAdaptor _purchaseListAdaptor; + + private void OnEnable() { + _shoppingList = new List() { "Bread", "Carrots", "Beans", "Steak", "Coffee", "Fries" }; + _shoppingListAdaptor = new ExampleListAdaptor(_shoppingList); + + _purchaseList = new List() { "Cheese", "Crackers" }; + _purchaseListAdaptor = new ExampleListAdaptor(_purchaseList); + } + + private void OnGUI() { + GUILayout.BeginHorizontal(); + + var columnWidth = GUILayout.Width(position.width / 2f - 6); + + // Draw list control on left side of the window. + GUILayout.BeginVertical(columnWidth); + ReorderableListGUI.Title("Shopping List"); + ReorderableListGUI.ListField(_shoppingListAdaptor); + GUILayout.EndVertical(); + + // Draw list control on right side of the window. + GUILayout.BeginVertical(columnWidth); + ReorderableListGUI.Title("Purchase List"); + ReorderableListGUI.ListField(_purchaseListAdaptor); + GUILayout.EndVertical(); + + GUILayout.EndHorizontal(); + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/MultiListEditorWindowDemo.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/MultiListEditorWindowDemo.cs.meta new file mode 100644 index 00000000..2212a369 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/MultiListEditorWindowDemo.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a42361912a901e04bbe1405e84b81b8d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/ReorderableListDemo.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/ReorderableListDemo.cs new file mode 100644 index 00000000..1485b67b --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/ReorderableListDemo.cs @@ -0,0 +1,79 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using Rotorz.ReorderableList; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +public class ReorderableListDemo : EditorWindow { + + [MenuItem("Window/List Demo (C#)")] + static void ShowWindow() { + GetWindow("List Demo"); + } + + public List shoppingList; + public List purchaseList; + + private void OnEnable() { + shoppingList = new List(); + shoppingList.Add("Bread"); + shoppingList.Add("Carrots"); + shoppingList.Add("Beans"); + shoppingList.Add("Steak"); + shoppingList.Add("Coffee"); + shoppingList.Add("Fries"); + + purchaseList = new List(); + purchaseList.Add("Cheese"); + purchaseList.Add("Crackers"); + } + + private Vector2 _scrollPosition; + + private void OnGUI() { + _scrollPosition = GUILayout.BeginScrollView(_scrollPosition); + + ReorderableListGUI.Title("Shopping List"); + ReorderableListGUI.ListField(shoppingList, PendingItemDrawer, DrawEmpty); + + ReorderableListGUI.Title("Purchased Items"); + ReorderableListGUI.ListField(purchaseList, PurchasedItemDrawer, DrawEmpty, ReorderableListFlags.HideAddButton | ReorderableListFlags.DisableReordering); + + GUILayout.EndScrollView(); + } + + private string PendingItemDrawer(Rect position, string itemValue) { + // Text fields do not like null values! + if (itemValue == null) + itemValue = ""; + + position.width -= 50; + itemValue = EditorGUI.TextField(position, itemValue); + + position.x = position.xMax + 5; + position.width = 45; + if (GUI.Button(position, "Info")) { + } + + return itemValue; + } + + private string PurchasedItemDrawer(Rect position, string itemValue) { + position.width -= 50; + GUI.Label(position, itemValue); + + position.x = position.xMax + 5; + position.width = 45; + if (GUI.Button(position, "Info")) { + } + + return itemValue; + } + + private void DrawEmpty() { + GUILayout.Label("No items in list.", EditorStyles.miniLabel); + } + +} \ No newline at end of file diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/ReorderableListDemo.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/ReorderableListDemo.cs.meta new file mode 100644 index 00000000..198cb753 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Demo/Editor/ReorderableListDemo.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a8187beba641e99409b4648cca1becd3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor.meta index a70a23a1..2245fc48 100644 --- a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor.meta +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor.meta @@ -1,9 +1,8 @@ fileFormatVersion: 2 guid: 1351e3cf05fcef04cbafc172b277cd32 folderAsset: yes -timeCreated: 1434110041 -licenseType: Free DefaultImporter: + externalObjects: {} userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Editor.ReorderableList.dll b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Editor.ReorderableList.dll deleted file mode 100755 index 4c02b9dc2b84457fbae10a084f9f16c7a65dde7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66048 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 P*z^=|{|@Cd&w>91K@yQd diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Editor.ReorderableList.dll.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Editor.ReorderableList.dll.meta deleted file mode 100644 index 7ce66fc7..00000000 --- a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Editor.ReorderableList.dll.meta +++ /dev/null @@ -1,22 +0,0 @@ -fileFormatVersion: 2 -guid: 21d076cb9a4ec214a8cb820e69657bc3 -PluginImporter: - serializedVersion: 1 - iconMap: {} - executionOrder: {} - isPreloaded: 0 - platformData: - Any: - enabled: 0 - settings: {} - Editor: - enabled: 1 - settings: - DefaultValueInitialized: true - WindowsStoreApps: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Editor.ReorderableList.xml b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Editor.ReorderableList.xml deleted file mode 100755 index d299d67d..00000000 --- a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Editor.ReorderableList.xml +++ /dev/null @@ -1,1811 +0,0 @@ - - - - Editor.ReorderableList - - - - - Arguments which are passed to . - - - - - Initializes a new instance of . - - Reorderable list adaptor. - Position of the add menu button. - - - - Gets adaptor to reorderable list container. - - - - - Gets position of the add menu button. - - - - - An event handler which is invoked when the "Add Menu" button is clicked. - - Object which raised event. - Event arguments. - - - - Factory methods that create - instances that can then be used to build element adder menus. - - - - - Gets a to build an element - adder menu for a context object of the type . - - Type of the context object that elements can be added to. - - A new instance. - - - - - Gets a to build an element - adder menu for a context object of the type . - - Contract type of addable elements. - Type of the context object that elements can be added to. - - A new instance. - - - - - Annotate implementations with a - to associate it with the contract - type of addable elements. - - - - - Initializes a new instance of the class. - - Contract type of addable elements. - - - - Gets the contract type of addable elements. - - - - - Provides meta information which is useful when creating new implementations of - the interface. - - - - - Gets an array of all the concrete element types that implement the specified - . - - Contract type of addable elements. - - An array of zero or more concrete element types. - - - If is null. - - - - - Gets a filtered array of the concrete element types that implement the - specified . - - Contract type of addable elements. - An array of zero or more filters. - - An array of zero or more concrete element types. - - - If is null. - - - - - Gets an array of instances - that are associated with the specified . - - Contract type of addable elements. - Type of the context object that elements can be added to. - - An array containing zero or more instances. - - - If is null. - - - - - Gets an array of the types - that are associated with the specified . - - Contract type of addable elements. - Type of the context object that elements can be added to. - - An array containing zero or more . - - - If is null. - - - - - Reorderable list adaptor for generic list. - - Type of list element. - - - - Initializes a new instance of . - - The list which can be reordered. - Callback to draw list item. - Height of list item in pixels. - - - - Add new element at end of list. - - - - - Occurs before any list items are drawn. - - - - - Determines whether an item can be reordered by dragging mouse. - - Zero-based index for list element. - - A value of true if item can be dragged; otherwise false. - - - - - Determines whether an item can be removed from list. - - Zero-based index for list element. - - A value of true if item can be removed; otherwise false. - - - - - Clear all elements from list. - - - - - Gets count of elements in list. - - - - - Draws main interface for a list item. - - Position in GUI. - Zero-based index of array element. - - - - Draws background of a list item. - - Total position of list element in GUI. - Zero-based index of array element. - - - - Duplicate existing element. - - Zero-based index of list element. - - - - Occurs after all list items have been drawn. - - - - - Fixed height of each list item. - - - - - Gets height of list item in pixels. - - Zero-based index of array element. - - Measurement in pixels. - - - - - Insert new element at specified index. - - Zero-based index for list element. - - - - Gets element from list. - - Zero-based index of element. - - The element. - - - - - Gets the underlying list data structure. - - - - - Move element from source index to destination index. - - Zero-based index of source element. - Zero-based index of destination element. - - - - Remove element at specified index. - - Zero-based index of list element. - - - - Interface for an object which adds elements to a context object of the type - . - - Type of the context object that elements can be added to. - - - - Adds an element of the specified to the associated - context object. - - Type of element to add. - - The new element. - - - - - Determines whether a new element of the specified can - be added to the associated context object. - - Type of element to add. - - A value of true if an element of the specified type can be added; - otherwise, a value of false. - - - - - Gets the context object. - - - - - Interface for a menu interface. - - - - - Displays the drop-down menu inside an editor GUI. - - Position of menu button in the GUI. - - - - Gets a value indicating whether the menu contains any items. - - - - - Interface for building an . - - Type of the context object that elements can be added to. - - - - Adds a custom command to the menu. - - The custom command. - - If is null. - - - - - Adds a filter function which determines whether types can be included or - whether they need to be excluded. - - Filter function. - - If is null. - - - - - Builds and returns a new instance. - - - A new instance each time the method is invoked. - - - - - Sets contract type of the elements that can be included in the . - Only non-abstract class types that are assignable from the - will be included in the built menu. - - Contract type of addable elements. - - - - Set the implementation which is used - when adding new elements to the context object. - - Element adder. - - - - Set the function that formats the display of type names in the user interface. - - Function that formats display name of type; or null. - - - - Interface for a menu command that can be included in an - either by annotating an implementation of the - interface with or directly by - calling . - - Type of the context object that elements can be added to. - - - - Determines whether the command can be executed. - - The associated element adder provides access to - the instance. - - A value of true if the command can execute; otherwise, false. - - - - - Gets the content of the menu command. - - - - - Executes the command. - - The associated element adder provides access to - the instance. - - - - Adaptor allowing reorderable list control to interface with list data. - - - - - Add new element at end of list. - - - - - Occurs before any list items are drawn. - - - - - Determines whether an item can be reordered by dragging mouse. - - Zero-based index for list element. - - A value of true if item can be dragged; otherwise false. - - - - - Determines whether an item can be removed from list. - - Zero-based index for list element. - - A value of true if item can be removed; otherwise false. - - - - - Clear all elements from list. - - - - - Gets count of elements in list. - - - - - Draws main interface for a list item. - - Position in GUI. - Zero-based index of array element. - - - - Draws background of a list item. - - Total position of list element in GUI. - Zero-based index of array element. - - - - Duplicate existing element. - - Zero-based index of list element. - - - - Occurs after all list items have been drawn. - - - - - Gets height of list item in pixels. - - Zero-based index of array element. - - Measurement in pixels. - - - - - Insert new element at specified index. - - Zero-based index for list element. - - - - Move element from source index to destination index. - - Zero-based index of source element. - Zero-based index of destination element. - - - - Remove element at specified index. - - Zero-based index of list element. - - - - Can be implemented along with when drop - insertion or ordering is desired. - - - - - Determines whether an item is being dragged and that it can be inserted - or moved by dropping somewhere into the reorderable list control. - - Zero-based index of insertion. - - A value of true if item can be dropped; otherwise false. - - - - - Processes the current drop insertion operation when - returns a value of true to process, accept or cancel. - - Zero-based index of insertion. - - - - Arguments which are passed to . - - - - - Initializes a new instance of . - - Reorderable list adaptor. - Zero-based index of item. - Indicates if inserted item was duplicated from another item. - - - - Gets adaptor to reorderable list container which contains element. - - - - - Gets zero-based index of item which was inserted. - - - - - Indicates if inserted item was duplicated from another item. - - - - - An event handler which is invoked after new list item is inserted. - - Object which raised event. - Event arguments. - - - - Arguments which are passed to . - - - - - Initializes a new instance of . - - Reorderable list adaptor. - Old zero-based index of item. - New zero-based index of item. - - - - Gets adaptor to reorderable list container which contains element. - - - - - Gets new zero-based index of the item which was moved. - - - - - Gets old zero-based index of the item which was moved. - - - - - An event handler which is invoked after a list item is moved. - - Object which raised event. - Event arguments. - - - - Arguments which are passed to . - - - - - Initializes a new instance of . - - Reorderable list adaptor. - Zero-based index of item. - Xero-based index of item destination. - - - - Gets adaptor to reorderable list container which contains element. - - - - - Gets the new candidate zero-based index for the item. - - - - - Gets current zero-based index of item which is going to be moved. - - - - - Gets zero-based index of item after it has been moved. - - - - - An event handler which is invoked before a list item is moved. - - Object which raised event. - Event arguments. - - - - Arguments which are passed to . - - - - - Initializes a new instance of . - - Reorderable list adaptor. - Zero-based index of item. - - - - Gets adaptor to reorderable list container which contains element. - - - - - Gets zero-based index of item which is being removed. - - - - - An event handler which is invoked before a list item is removed. - - Object which raised event. - Event arguments. - - - - Base class for custom reorderable list control. - - - - - Initializes a new instance of . - - - - - Initializes a new instance of . - - Optional flags which affect behavior of control. - - - - Add item at end of list and raises the event . - - Reorderable list adaptor. - - - - Invoked to generate context menu for list item. - - Menu which can be populated. - Zero-based index of item which was right-clicked. - Reorderable list adaptor. - - - - Occurs when add menu button is clicked. - - - - - Background color of anchor list item. - - - - - Calculate height of list control in pixels. - - Reorderable list adaptor. - - Required list height in pixels. - - - - - Calculate height of list control in pixels. - - Count of items in list. - Fixed height of list item. - - Required list height in pixels. - - - - - Remove all items from list. - - Reorderable list adaptor. - - Returns a value of false if operation was cancelled. - - - - - Content for "Clear All" command. - - - - - Content for "Duplicate" command. - - - - - Content for "Insert Above" command. - - - - - Content for "Insert Below" command. - - - - - Content for "Move to Bottom" command. - - - - - Content for "Move to Top" command. - - - - - Content for "Remove" command. - - - - - Gets or sets style used to draw background of list control. - - - - - Gets the total position of the list item that is currently being drawn. - - - - - Gets the control ID of the list that is currently being drawn. - - - - - Gets the position of the list control that is currently being drawn. - - - - - Default functionality to handle context command. - - - - - Call to manually perform command. - - Name of command. This is the text shown in the context menu. - Zero-based index of item which was right-clicked. - Reorderable list adaptor. - - A value of true if command was known; otherwise false. - - - - - Call to manually perform command. - - Content representing command. - Zero-based index of item which was right-clicked. - Reorderable list adaptor. - - A value of true if command was known; otherwise false. - - - - - Draw layout version of list control. - - Unique ID of list control. - Reorderable list adaptor. - Delegate for drawing empty list. - - - - Draw layout version of list control. - - Unique ID of list control. - Reorderable list adaptor. - Delegate for drawing empty list. - - - - Draw list control with absolute positioning. - - Position of list control in GUI. - Reorderable list adaptor. - Delegate for drawing empty list. - - - - Draw list control with absolute positioning. - - Position of list control in GUI. - Reorderable list adaptor. - Delegate for drawing empty list. - - - - Generate and draw control from state object. - - Reorderable list adaptor. - Delegate for drawing empty list. - Optional flags to pass into list field. - - - - Generate and draw control from state object. - - Position of control. - Reorderable list adaptor. - Delegate for drawing empty list. - Optional flags to pass into list field. - - - - Draws drop insertion indicator. - - Position if the drop indicator. - - - - Duplicate specified item and raises the event . - - Reorderable list adaptor. - Zero-based index of item. - - - - Gets or sets flags which affect behavior of control. - - - - - Gets or sets style used to draw footer buttons. - - - - - Invoked to handle context command. - - Name of command. This is the text shown in the context menu. - Zero-based index of item which was right-clicked. - Reorderable list adaptor. - - A value of true if command was known; otherwise false. - - - - - Gets or sets a boolean value indicating whether a horizontal line should be - shown below the last list item at the end of the list control. - - - - - Gets or sets a boolean value indicating whether a horizontal line should be - shown above the first list item at the start of the list control. - - - - - Gets or sets the color of the horizontal lines that appear between list items. - - - - - Insert item at specified index and raises the event . - - Reorderable list adaptor. - Zero-based index of item. - - - - Gets or sets style used to draw list item buttons (like the remove button). - - - - - Occurs after list item is inserted or duplicated. - - - - - Occurs after list item has been moved. - - - - - Occurs immediately before list item is moved allowing for move operation to be cancelled. - - - - - Occurs before list item is removed and allowing for remove operation to be cancelled. - - - - - Move item from source index to destination index. - - Reorderable list adaptor. - Zero-based index of source item. - Zero-based index of destination index. - - - - Raises event when add menu button is clicked. - - Event arguments. - - - - Raises event after list item is inserted or duplicated. - - Event arguments. - - - - Raises event after list item has been moved. - - Event arguments. - - - - Raises event immediately before list item is moved and provides oppertunity to cancel. - - Event arguments. - - - - Raises event before list item is removed and provides oppertunity to cancel. - - Event arguments. - - - - Remove specified item. - - Reorderable list adaptor. - Zero-based index of item. - - Returns a value of false if operation was cancelled. - - - - - Background color of target slot when dragging list item. - - - - - Invoked to draw content for empty list. - - - - - Invoked to draw content for empty list with absolute positioning. - - Position of empty content. - - - - Invoked to draw list item. - - Position of list item. - The list item. - Type of item list. - - The modified value. - - - - - Additional flags which can be passed into reorderable list field. - - - - - Hide grab handles and disable reordering of list items. - - - - - Hide add button at base of control. - - - - - Hide remove buttons from list items. - - - - - Do not display context menu upon right-clicking grab handle. - - - - - Hide "Duplicate" option from context menu. - - - - - Do not automatically focus first control of newly added items. - - - - - Show zero-based index of array elements. - - - - - Do not attempt to clip items which are out of view. - - - - - Utility class for drawing reorderable lists. - - - - - Calculate height of list field for adapted collection. - - Reorderable list adaptor. - Optional flags to pass into list field. - - Required list height in pixels. - - - - - Calculate height of list field for adapted collection. - - Reorderable list adaptor. - Optional flags to pass into list field. - - Required list height in pixels. - - - - - Calculate height of list field for absolute positioning. - - Count of items in list. - Fixed height of list item. - Optional flags to pass into list field. - - Required list height in pixels. - - - - - Calculate height of list field for absolute positioning. - - Count of items in list. - Fixed height of list item. - Optional flags to pass into list field. - - Required list height in pixels. - - - - - Calculate height of list field for absolute positioning. - - Count of items in list. - Fixed height of list item. - Optional flags to pass into list field. - - Required list height in pixels. - - - - - Calculate height of list field for absolute positioning. - - Count of items in list. - Fixed height of list item. - Optional flags to pass into list field. - - Required list height in pixels. - - - - - Calculate height of list field for absolute positioning. - - Serializable property. - Optional flags to pass into list field. - - Required list height in pixels. - - - - - Calculate height of list field for absolute positioning. - - Serializable property. - Optional flags to pass into list field. - - Required list height in pixels. - - - - - Gets the zero-based index of the list item that is currently being drawn; - or a value of -1 if no item is currently being drawn. - - - - - Gets the total position of the list item that is currently being drawn. - - - - - Gets the control ID of the list that is currently being drawn. - - - - - Gets the position of the list control that is currently being drawn. - - - - - Default list item drawer implementation. - - Position to draw list item control(s). - Value of list item. - Type of list item. - - Unmodified value of list item. - - - - - Default list item height is 18 pixels. - - - - - Gets or sets the zero-based index of the last item that was changed. A value of -1 - indicates that no item was changed by list. - - - - - Draw list field control for adapted collection. - - Reorderable list adaptor. - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for adapted collection. - - Reorderable list adaptor. - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for adapted collection. - - Reorderable list adaptor. - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for adapted collection. - - Reorderable list adaptor. - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control. - - The list which can be reordered. - Callback to draw list item. - Callback to draw custom content for empty list (optional). - Height of a single list item. - Optional flags to pass into list field. - Type of list item. - - - - Draw list field control. - - The list which can be reordered. - Callback to draw list item. - Callback to draw custom content for empty list (optional). - Height of a single list item. - Optional flags to pass into list field. - Type of list item. - - - - Draw list field control. - - The list which can be reordered. - Callback to draw list item. - Callback to draw custom content for empty list (optional). - Height of a single list item. - Optional flags to pass into list field. - Type of list item. - - - - Draw list field control. - - The list which can be reordered. - Callback to draw list item. - Callback to draw custom content for empty list (optional). - Height of a single list item. - Optional flags to pass into list field. - Type of list item. - - - - Draw list field control. - - The list which can be reordered. - Callback to draw list item. - Callback to draw custom content for empty list (optional). - Height of a single list item. - Optional flags to pass into list field. - Type of list item. - - - - Draw list field control. - - The list which can be reordered. - Callback to draw list item. - Callback to draw custom content for empty list (optional). - Height of a single list item. - Optional flags to pass into list field. - Type of list item. - - - - Draw list field control. - - The list which can be reordered. - Callback to draw list item. - Callback to draw custom content for empty list (optional). - Height of a single list item. - Optional flags to pass into list field. - Type of list item. - - - - Draw list field control. - - The list which can be reordered. - Callback to draw list item. - Callback to draw custom content for empty list (optional). - Height of a single list item. - Optional flags to pass into list field. - Type of list item. - - - - Draw list field control for serializable property array. - - Serializable property. - Use fixed height for items rather than . - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for serializable property array. - - Serializable property. - Use fixed height for items rather than . - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for serializable property array. - - Serializable property. - Use fixed height for items rather than . - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for serializable property array. - - Serializable property. - Use fixed height for items rather than . - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for serializable property array. - - Serializable property. - Use fixed height for items rather than . - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for serializable property array. - - Serializable property. - Use fixed height for items rather than . - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for serializable property array. - - Serializable property. - Use fixed height for items rather than . - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for serializable property array. - - Serializable property. - Use fixed height for items rather than . - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for adapted collection. - - Position of control. - Reorderable list adaptor. - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for adapted collection. - - Position of control. - Reorderable list adaptor. - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for adapted collection. - - Position of control. - Reorderable list adaptor. - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for adapted collection. - - Position of control. - Reorderable list adaptor. - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control with absolute positioning. - - Position of control. - The list which can be reordered. - Callback to draw list item. - Callback to draw custom content for empty list (optional). - Height of a single list item. - Optional flags to pass into list field. - Type of list item. - - - - Draw list field control with absolute positioning. - - Position of control. - The list which can be reordered. - Callback to draw list item. - Callback to draw custom content for empty list (optional). - Height of a single list item. - Optional flags to pass into list field. - Type of list item. - - - - Draw list field control with absolute positioning. - - Position of control. - The list which can be reordered. - Callback to draw list item. - Callback to draw custom content for empty list (optional). - Height of a single list item. - Optional flags to pass into list field. - Type of list item. - - - - Draw list field control with absolute positioning. - - Position of control. - The list which can be reordered. - Callback to draw list item. - Callback to draw custom content for empty list (optional). - Height of a single list item. - Optional flags to pass into list field. - Type of list item. - - - - Draw list field control with absolute positioning. - - Position of control. - The list which can be reordered. - Callback to draw list item. - Callback to draw custom content for empty list (optional). - Height of a single list item. - Optional flags to pass into list field. - Type of list item. - - - - Draw list field control with absolute positioning. - - Position of control. - The list which can be reordered. - Callback to draw list item. - Callback to draw custom content for empty list (optional). - Height of a single list item. - Optional flags to pass into list field. - Type of list item. - - - - Draw list field control with absolute positioning. - - Position of control. - The list which can be reordered. - Callback to draw list item. - Callback to draw custom content for empty list (optional). - Height of a single list item. - Optional flags to pass into list field. - Type of list item. - - - - Draw list field control with absolute positioning. - - Position of control. - The list which can be reordered. - Callback to draw list item. - Callback to draw custom content for empty list (optional). - Height of a single list item. - Optional flags to pass into list field. - Type of list item. - - - - Draw list field control for serializable property array. - - Position of control. - Serializable property. - Use fixed height for items rather than . - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for serializable property array. - - Position of control. - Serializable property. - Use fixed height for items rather than . - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for serializable property array. - - Position of control. - Serializable property. - Use fixed height for items rather than . - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for serializable property array. - - Position of control. - Serializable property. - Use fixed height for items rather than . - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for serializable property array. - - Position of control. - Serializable property. - Use fixed height for items rather than . - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for serializable property array. - - Position of control. - Serializable property. - Use fixed height for items rather than . - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for serializable property array. - - Position of control. - Serializable property. - Use fixed height for items rather than . - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draw list field control for serializable property array. - - Position of control. - Serializable property. - Use fixed height for items rather than . - Callback to draw custom content for empty list (optional). - Optional flags to pass into list field. - - - - Draws text field allowing list items to be edited. - - Position to draw list item control(s). - Value of list item. - - Modified value of list item. - - - - - Draw title control for list field. - - Text for title control. - - - - Draw title control for list field. - - Content for title control. - - - - Draw title control for list field with absolute positioning. - - Position of control. - Text for title control. - - - - Draw title control for list field with absolute positioning. - - Position of control. - Content for title control. - - - - Styles for the . - - - - - Gets style for the background of list control. - - - - - Gets an alternative style for the background of list control. - - - - - Gets style for footer button. - - - - - Gets an alternative style for footer button. - - - - - Gets color for the horizontal lines that appear between list items. - - - - - Gets style for remove item button. - - - - - Gets style for the background of a selected item. - - - - - Gets color of background for a selected list item. - - - - - Gets style for title header. - - - - - Reorderable list adaptor for serialized array property. - - - - - Initializes a new instance of . - - Serialized property for entire array. - - - - Initializes a new instance of . - - Serialized property for entire array. - Non-zero height overrides property drawer height calculation. - - - - Add new element at end of list. - - - - - Gets the underlying serialized array property. - - - - - Occurs before any list items are drawn. - - - - - Determines whether an item can be reordered by dragging mouse. - - Zero-based index for list element. - - A value of true if item can be dragged; otherwise false. - - - - - Determines whether an item can be removed from list. - - Zero-based index for list element. - - A value of true if item can be removed; otherwise false. - - - - - Clear all elements from list. - - - - - Gets count of elements in list. - - - - - Draws main interface for a list item. - - Position in GUI. - Zero-based index of array element. - - - - Draws background of a list item. - - Total position of list element in GUI. - Zero-based index of array element. - - - - Duplicate existing element. - - Zero-based index of list element. - - - - Occurs after all list items have been drawn. - - - - - Fixed height of each list item. - - - - - Gets height of list item in pixels. - - Zero-based index of array element. - - Measurement in pixels. - - - - - Insert new element at specified index. - - Zero-based index for list element. - - - - Gets element from list. - - Zero-based index of element. - - Serialized property wrapper for array element. - - - - - Move element from source index to destination index. - - Zero-based index of source element. - Zero-based index of destination element. - - - - Remove element at specified index. - - Zero-based index of list element. - - - \ No newline at end of file diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Editor.ReorderableList.xml.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Editor.ReorderableList.xml.meta deleted file mode 100644 index a9d60fc3..00000000 --- a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Editor.ReorderableList.xml.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: 087430efbff5ee54a8c8273aee1508fc -TextScriptImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu.meta new file mode 100644 index 00000000..d4e0b3ce --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 646cdcce8adedda43a7b99aaefae2f4a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMenuBuilder.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMenuBuilder.cs new file mode 100644 index 00000000..925206e0 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMenuBuilder.cs @@ -0,0 +1,109 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using System; + +namespace Rotorz.ReorderableList { + + /// + /// Factory methods that create + /// instances that can then be used to build element adder menus. + /// + /// + /// The following example demonstrates how to build and display a menu which + /// allows the user to add elements to a given context object upon clicking a button: + /// { + /// public ShoppingListElementAdder(ShoppingList shoppingList) { + /// Object = shoppingList; + /// } + /// + /// public ShoppingList Object { get; private set; } + /// + /// public bool CanAddElement(Type type) { + /// return true; + /// } + /// public object AddElement(Type type) { + /// var instance = Activator.CreateInstance(type); + /// shoppingList.Add((ShoppingItem)instance); + /// return instance; + /// } + /// } + /// + /// private void DrawAddMenuButton(ShoppingList shoppingList) { + /// var content = new GUIContent("Add Menu"); + /// Rect position = GUILayoutUtility.GetRect(content, GUI.skin.button); + /// if (GUI.Button(position, content)) { + /// var builder = ElementAdderMenuBuilder.For(ShoppingItem); + /// builder.SetElementAdder(new ShoppingListElementAdder(shoppingList)); + /// var menu = builder.GetMenu(); + /// menu.DropDown(buttonPosition); + /// } + /// } + /// ]]> + /// { + /// var _object:ShoppingList; + /// + /// function ShoppingListElementAdder(shoppingList:ShoppingList) { + /// Object = shoppingList; + /// } + /// + /// function get Object():ShoppingList { return _object; } + /// + /// function CanAddElement(type:Type):boolean { + /// return true; + /// } + /// function AddElement(type:Type):System.Object { + /// var instance = Activator.CreateInstance(type); + /// shoppingList.Add((ShoppingItem)instance); + /// return instance; + /// } + /// } + /// + /// function DrawAddMenuButton(shoppingList:ShoppingList) { + /// var content = new GUIContent('Add Menu'); + /// var position = GUILayoutUtility.GetRect(content, GUI.skin.button); + /// if (GUI.Button(position, content)) { + /// var builder = ElementAdderMenuBuilder.For.(ShoppingItem); + /// builder.SetElementAdder(new ShoppingListElementAdder(shoppingList)); + /// var menu = builder.GetMenu(); + /// menu.DropDown(buttonPosition); + /// } + /// } + /// ]]> + /// + public static class ElementAdderMenuBuilder { + + /// + /// Gets a to build an element + /// adder menu for a context object of the type . + /// + /// Type of the context object that elements can be added to. + /// + /// A new instance. + /// + /// + public static IElementAdderMenuBuilder For() { + return new GenericElementAdderMenuBuilder(); + } + + /// + /// Gets a to build an element + /// adder menu for a context object of the type . + /// + /// Type of the context object that elements can be added to. + /// Contract type of addable elements. + /// + /// A new instance. + /// + /// + public static IElementAdderMenuBuilder For(Type contractType) { + var builder = For(); + builder.SetContractType(contractType); + return builder; + } + + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMenuBuilder.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMenuBuilder.cs.meta new file mode 100644 index 00000000..ee311965 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMenuBuilder.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e6152605dacd77c4db43aa59c2498ba6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMenuCommandAttribute.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMenuCommandAttribute.cs new file mode 100644 index 00000000..3135721c --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMenuCommandAttribute.cs @@ -0,0 +1,67 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using System; + +namespace Rotorz.ReorderableList { + + /// + /// Annotate implementations with a + /// to associate it with the contract + /// type of addable elements. + /// + /// + /// The following source code demonstrates how to add a helper menu command to + /// the add element menu of a shopping list: + /// { + /// public AddFavoriteShoppingItemsCommand() { + /// Content = new GUIContent("Add Favorite Items"); + /// } + /// + /// public GUIContent Content { get; private set; } + /// + /// public bool CanExecute(IElementAdder elementAdder) { + /// return true; + /// } + /// public void Execute(IElementAdder elementAdder) { + /// // TODO: Add favorite items to the shopping list! + /// } + /// } + /// ]]> + /// { + /// var _content:GUIContent = new GUIContent('Add Favorite Items'); + /// + /// function get Content():GUIContent { return _content; } + /// + /// function CanExecute(elementAdder:IElementAdder.):boolean { + /// return true; + /// } + /// function Execute(elementAdder:IElementAdder.) { + /// // TODO: Add favorite items to the shopping list! + /// } + /// } + /// ]]> + /// + [AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = false)] + public sealed class ElementAdderMenuCommandAttribute : Attribute { + + /// + /// Initializes a new instance of the class. + /// + /// Contract type of addable elements. + public ElementAdderMenuCommandAttribute(Type contractType) { + ContractType = contractType; + } + + /// + /// Gets the contract type of addable elements. + /// + public Type ContractType { get; private set; } + + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMenuCommandAttribute.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMenuCommandAttribute.cs.meta new file mode 100644 index 00000000..90ea04c3 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMenuCommandAttribute.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dab0906e0834f954b9c6427d5af66288 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMeta.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMeta.cs new file mode 100644 index 00000000..44d4f8a7 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMeta.cs @@ -0,0 +1,170 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Rotorz.ReorderableList { + + /// + /// Provides meta information which is useful when creating new implementations of + /// the interface. + /// + public static class ElementAdderMeta { + + #region Adder Menu Command Types + + private static Dictionary>> s_ContextMap = new Dictionary>>(); + + private static IEnumerable GetMenuCommandTypes() { + return + from a in AppDomain.CurrentDomain.GetAssemblies() + from t in a.GetTypes() + where t.IsClass && !t.IsAbstract && t.IsDefined(typeof(ElementAdderMenuCommandAttribute), false) + where typeof(IElementAdderMenuCommand).IsAssignableFrom(t) + select t; + } + + /// + /// Gets an array of the types + /// that are associated with the specified . + /// + /// Type of the context object that elements can be added to. + /// Contract type of addable elements. + /// + /// An array containing zero or more . + /// + /// + /// If is null. + /// + /// + public static Type[] GetMenuCommandTypes(Type contractType) { + if (contractType == null) + throw new ArgumentNullException("contractType"); + + Dictionary> contractMap; + List commandTypes; + if (s_ContextMap.TryGetValue(typeof(TContext), out contractMap)) { + if (contractMap.TryGetValue(contractType, out commandTypes)) + return commandTypes.ToArray(); + } + else { + contractMap = new Dictionary>(); + s_ContextMap[typeof(TContext)] = contractMap; + } + + commandTypes = new List(); + + foreach (var commandType in GetMenuCommandTypes()) { + var attributes = (ElementAdderMenuCommandAttribute[])Attribute.GetCustomAttributes(commandType, typeof(ElementAdderMenuCommandAttribute)); + if (!attributes.Any(a => a.ContractType == contractType)) + continue; + + commandTypes.Add(commandType); + } + + contractMap[contractType] = commandTypes; + return commandTypes.ToArray(); + } + + /// + /// Gets an array of instances + /// that are associated with the specified . + /// + /// Type of the context object that elements can be added to. + /// Contract type of addable elements. + /// + /// An array containing zero or more instances. + /// + /// + /// If is null. + /// + /// + public static IElementAdderMenuCommand[] GetMenuCommands(Type contractType) { + var commandTypes = GetMenuCommandTypes(contractType); + var commands = new IElementAdderMenuCommand[commandTypes.Length]; + for (int i = 0; i < commandTypes.Length; ++i) + commands[i] = (IElementAdderMenuCommand)Activator.CreateInstance(commandTypes[i]); + return commands; + } + + #endregion + + #region Concrete Element Types + + private static Dictionary s_ConcreteElementTypes = new Dictionary(); + + private static IEnumerable GetConcreteElementTypesHelper(Type contractType) { + if (contractType == null) + throw new ArgumentNullException("contractType"); + + Type[] concreteTypes; + if (!s_ConcreteElementTypes.TryGetValue(contractType, out concreteTypes)) { + concreteTypes = + (from a in AppDomain.CurrentDomain.GetAssemblies() + from t in a.GetTypes() + where t.IsClass && !t.IsAbstract && contractType.IsAssignableFrom(t) + orderby t.Name + select t + ).ToArray(); + s_ConcreteElementTypes[contractType] = concreteTypes; + } + + return concreteTypes; + } + + /// + /// Gets a filtered array of the concrete element types that implement the + /// specified . + /// + /// + /// A type is excluded from the resulting array when one or more of the + /// specified returns a value of false. + /// + /// Contract type of addable elements. + /// An array of zero or more filters. + /// + /// An array of zero or more concrete element types. + /// + /// + /// If is null. + /// + /// + public static Type[] GetConcreteElementTypes(Type contractType, Func[] filters) { + return + (from t in GetConcreteElementTypesHelper(contractType) + where IsTypeIncluded(t, filters) + select t + ).ToArray(); + } + + /// + /// Gets an array of all the concrete element types that implement the specified + /// . + /// + /// Contract type of addable elements. + /// + /// An array of zero or more concrete element types. + /// + /// + /// If is null. + /// + /// + public static Type[] GetConcreteElementTypes(Type contractType) { + return GetConcreteElementTypesHelper(contractType).ToArray(); + } + + private static bool IsTypeIncluded(Type concreteType, Func[] filters) { + if (filters != null) + foreach (var filter in filters) + if (!filter(concreteType)) + return false; + return true; + } + + #endregion + + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMeta.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMeta.cs.meta new file mode 100644 index 00000000..08dcfd44 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/ElementAdderMeta.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 159bf54b15add1440aaed680e94b81fc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/GenericElementAdderMenu.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/GenericElementAdderMenu.cs new file mode 100644 index 00000000..a855d4ea --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/GenericElementAdderMenu.cs @@ -0,0 +1,38 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using UnityEditor; +using UnityEngine; + +namespace Rotorz.ReorderableList { + + internal sealed class GenericElementAdderMenu : IElementAdderMenu { + + private GenericMenu _innerMenu = new GenericMenu(); + + public GenericElementAdderMenu() { + } + + public void AddItem(GUIContent content, GenericMenu.MenuFunction handler) { + _innerMenu.AddItem(content, false, handler); + } + + public void AddDisabledItem(GUIContent content) { + _innerMenu.AddDisabledItem(content); + } + + public void AddSeparator(string path = "") { + _innerMenu.AddSeparator(path); + } + + public bool IsEmpty { + get { return _innerMenu.GetItemCount() == 0; } + } + + public void DropDown(Rect position) { + _innerMenu.DropDown(position); + } + + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/GenericElementAdderMenu.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/GenericElementAdderMenu.cs.meta new file mode 100644 index 00000000..6c3d6327 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/GenericElementAdderMenu.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 662b5dcb25b78f94f9afe8d3f402b628 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/GenericElementAdderMenuBuilder.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/GenericElementAdderMenuBuilder.cs new file mode 100644 index 00000000..a3bbf56e --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/GenericElementAdderMenuBuilder.cs @@ -0,0 +1,102 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using System; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +namespace Rotorz.ReorderableList { + + internal sealed class GenericElementAdderMenuBuilder : IElementAdderMenuBuilder { + + private static string NicifyTypeName(Type type) { + return ObjectNames.NicifyVariableName(type.Name); + } + + private Type _contractType; + private IElementAdder _elementAdder; + private Func _typeDisplayNameFormatter; + private List> _typeFilters = new List>(); + private List> _customCommands = new List>(); + + public GenericElementAdderMenuBuilder() { + _typeDisplayNameFormatter = NicifyTypeName; + } + + public void SetContractType(Type contractType) { + _contractType = contractType; + } + + public void SetElementAdder(IElementAdder elementAdder) { + _elementAdder = elementAdder; + } + + public void SetTypeDisplayNameFormatter(Func formatter) { + _typeDisplayNameFormatter = formatter ?? NicifyTypeName; + } + + public void AddTypeFilter(Func typeFilter) { + if (typeFilter == null) + throw new ArgumentNullException("typeFilter"); + + _typeFilters.Add(typeFilter); + } + + public void AddCustomCommand(IElementAdderMenuCommand command) { + if (command == null) + throw new ArgumentNullException("command"); + + _customCommands.Add(command); + } + + public IElementAdderMenu GetMenu() { + var menu = new GenericElementAdderMenu(); + + AddCommandsToMenu(menu, _customCommands); + + if (_contractType != null) { + AddCommandsToMenu(menu, ElementAdderMeta.GetMenuCommands(_contractType)); + AddConcreteTypesToMenu(menu, ElementAdderMeta.GetConcreteElementTypes(_contractType, _typeFilters.ToArray())); + } + + return menu; + } + + private void AddCommandsToMenu(GenericElementAdderMenu menu, IList> commands) { + if (commands.Count == 0) + return; + + if (!menu.IsEmpty) + menu.AddSeparator(); + + foreach (var command in commands) { + if (_elementAdder != null && command.CanExecute(_elementAdder)) + menu.AddItem(command.Content, () => command.Execute(_elementAdder)); + else + menu.AddDisabledItem(command.Content); + } + } + + private void AddConcreteTypesToMenu(GenericElementAdderMenu menu, Type[] concreteTypes) { + if (concreteTypes.Length == 0) + return; + + if (!menu.IsEmpty) + menu.AddSeparator(); + + foreach (var concreteType in concreteTypes) { + var content = new GUIContent(_typeDisplayNameFormatter(concreteType)); + if (_elementAdder != null && _elementAdder.CanAddElement(concreteType)) + menu.AddItem(content, () => { + if (_elementAdder.CanAddElement(concreteType)) + _elementAdder.AddElement(concreteType); + }); + else + menu.AddDisabledItem(content); + } + } + + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/GenericElementAdderMenuBuilder.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/GenericElementAdderMenuBuilder.cs.meta new file mode 100644 index 00000000..1013915a --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/GenericElementAdderMenuBuilder.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: da8782cb7448c234fb86e9503326ce9c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdder.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdder.cs new file mode 100644 index 00000000..3535e8eb --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdder.cs @@ -0,0 +1,43 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using System; + +namespace Rotorz.ReorderableList { + + /// + /// Interface for an object which adds elements to a context object of the type + /// . + /// + /// Type of the context object that elements can be added to. + public interface IElementAdder { + + /// + /// Gets the context object. + /// + TContext Object { get; } + + /// + /// Determines whether a new element of the specified can + /// be added to the associated context object. + /// + /// Type of element to add. + /// + /// A value of true if an element of the specified type can be added; + /// otherwise, a value of false. + /// + bool CanAddElement(Type type); + + /// + /// Adds an element of the specified to the associated + /// context object. + /// + /// Type of element to add. + /// + /// The new element. + /// + object AddElement(Type type); + + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdder.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdder.cs.meta new file mode 100644 index 00000000..9572f0f4 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdder.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 811c0b5125dc50746b66457b5c96741d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenu.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenu.cs new file mode 100644 index 00000000..540370cf --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenu.cs @@ -0,0 +1,33 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using UnityEngine; + +namespace Rotorz.ReorderableList { + + /// + /// Interface for a menu interface. + /// + public interface IElementAdderMenu { + + /// + /// Gets a value indicating whether the menu contains any items. + /// + /// + /// true if the menu contains one or more items; otherwise, false. + /// + bool IsEmpty { get; } + + /// + /// Displays the drop-down menu inside an editor GUI. + /// + /// + /// This method should only be used during OnGUI and OnSceneGUI + /// events; for instance, inside an editor window, a custom inspector or scene view. + /// + /// Position of menu button in the GUI. + void DropDown(Rect position); + + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenu.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenu.cs.meta new file mode 100644 index 00000000..38e2b80d --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenu.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7452dc2d2d6305947ab39a48354ab4bb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenuBuilder.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenuBuilder.cs new file mode 100644 index 00000000..783891fb --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenuBuilder.cs @@ -0,0 +1,76 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using System; + +namespace Rotorz.ReorderableList { + + /// + /// Interface for building an . + /// + /// Type of the context object that elements can be added to. + public interface IElementAdderMenuBuilder { + + /// + /// Sets contract type of the elements that can be included in the . + /// Only non-abstract class types that are assignable from the + /// will be included in the built menu. + /// + /// Contract type of addable elements. + void SetContractType(Type contractType); + + /// + /// Set the implementation which is used + /// when adding new elements to the context object. + /// + /// + /// Specify a value of null for to + /// prevent the selection of any types. + /// + /// Element adder. + void SetElementAdder(IElementAdder elementAdder); + + /// + /// Set the function that formats the display of type names in the user interface. + /// + /// + /// Specify a value of null for to + /// assume the default formatting function. + /// + /// Function that formats display name of type; or null. + void SetTypeDisplayNameFormatter(Func formatter); + + /// + /// Adds a filter function which determines whether types can be included or + /// whether they need to be excluded. + /// + /// + /// If a filter function returns a value of false then that type + /// will not be included in the menu interface. + /// + /// Filter function. + /// + /// If is null. + /// + void AddTypeFilter(Func typeFilter); + + /// + /// Adds a custom command to the menu. + /// + /// The custom command. + /// + /// If is null. + /// + void AddCustomCommand(IElementAdderMenuCommand command); + + /// + /// Builds and returns a new instance. + /// + /// + /// A new instance each time the method is invoked. + /// + IElementAdderMenu GetMenu(); + + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenuBuilder.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenuBuilder.cs.meta new file mode 100644 index 00000000..c279ceb2 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenuBuilder.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2810812b845cceb4e9a0f7c0de842f29 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenuCommand.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenuCommand.cs new file mode 100644 index 00000000..be6eb7ca --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenuCommand.cs @@ -0,0 +1,41 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using UnityEngine; + +namespace Rotorz.ReorderableList { + + /// + /// Interface for a menu command that can be included in an + /// either by annotating an implementation of the + /// interface with or directly by + /// calling . + /// + /// Type of the context object that elements can be added to. + public interface IElementAdderMenuCommand { + + /// + /// Gets the content of the menu command. + /// + GUIContent Content { get; } + + /// + /// Determines whether the command can be executed. + /// + /// The associated element adder provides access to + /// the instance. + /// + /// A value of true if the command can execute; otherwise, false. + /// + bool CanExecute(IElementAdder elementAdder); + + /// + /// Executes the command. + /// + /// The associated element adder provides access to + /// the instance. + void Execute(IElementAdder elementAdder); + + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenuCommand.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenuCommand.cs.meta new file mode 100644 index 00000000..dfa90fa8 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Element Adder Menu/IElementAdderMenuCommand.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3fc42d99c85c1bc409897df1dae25bd4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/GenericListAdaptor.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/GenericListAdaptor.cs new file mode 100644 index 00000000..4ac38465 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/GenericListAdaptor.cs @@ -0,0 +1,145 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace Rotorz.ReorderableList { + + /// + /// Reorderable list adaptor for generic list. + /// + /// + /// This adaptor can be subclassed to add special logic to item height calculation. + /// You may want to implement a custom adaptor class where specialised functionality + /// is needed. + /// List elements which implement the interface are + /// cloned using that interface upon duplication; otherwise the item value or reference is + /// simply copied. + /// + /// Type of list element. + public class GenericListAdaptor : IReorderableListAdaptor { + + private IList _list; + + private ReorderableListControl.ItemDrawer _itemDrawer; + + /// + /// Fixed height of each list item. + /// + public float FixedItemHeight; + + /// + /// Gets the underlying list data structure. + /// + public IList List { + get { return _list; } + } + + /// + /// Gets element from list. + /// + /// Zero-based index of element. + /// + /// The element. + /// + public T this[int index] { + get { return _list[index]; } + } + + #region Construction + + /// + /// Initializes a new instance of . + /// + /// The list which can be reordered. + /// Callback to draw list item. + /// Height of list item in pixels. + public GenericListAdaptor(IList list, ReorderableListControl.ItemDrawer itemDrawer, float itemHeight) { + this._list = list; + this._itemDrawer = itemDrawer ?? ReorderableListGUI.DefaultItemDrawer; + this.FixedItemHeight = itemHeight; + } + + #endregion + + #region IReorderableListAdaptor - Implementation + + /// + public int Count { + get { return _list.Count; } + } + + /// + public virtual bool CanDrag(int index) { + return true; + } + /// + public virtual bool CanRemove(int index) { + return true; + } + + /// + public virtual void Add() { + _list.Add(default(T)); + } + /// + public virtual void Insert(int index) { + _list.Insert(index, default(T)); + } + /// + public virtual void Duplicate(int index) { + T newItem = _list[index]; + + ICloneable existingItem = newItem as ICloneable; + if (existingItem != null) + newItem = (T)existingItem.Clone(); + + _list.Insert(index + 1, newItem); + } + /// + public virtual void Remove(int index) { + _list.RemoveAt(index); + } + /// + public virtual void Move(int sourceIndex, int destIndex) { + if (destIndex > sourceIndex) + --destIndex; + + T item = _list[sourceIndex]; + _list.RemoveAt(sourceIndex); + _list.Insert(destIndex, item); + } + /// + public virtual void Clear() { + _list.Clear(); + } + + /// + public virtual void BeginGUI() { + } + + /// + public virtual void EndGUI() { + } + + /// + public virtual void DrawItemBackground(Rect position, int index) { + } + + /// + public virtual void DrawItem(Rect position, int index) { + _list[index] = _itemDrawer(position, _list[index]); + } + + /// + public virtual float GetItemHeight(int index) { + return FixedItemHeight; + } + + #endregion + + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/GenericListAdaptor.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/GenericListAdaptor.cs.meta new file mode 100644 index 00000000..c1042b6d --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/GenericListAdaptor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9860e7f6c1d1b8d45b13889a965e172f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/IReorderableListAdaptor.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/IReorderableListAdaptor.cs new file mode 100644 index 00000000..1aa3112d --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/IReorderableListAdaptor.cs @@ -0,0 +1,131 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using UnityEngine; + +namespace Rotorz.ReorderableList { + + /// + /// Adaptor allowing reorderable list control to interface with list data. + /// + /// + public interface IReorderableListAdaptor { + + /// + /// Gets count of elements in list. + /// + int Count { get; } + + /// + /// Determines whether an item can be reordered by dragging mouse. + /// + /// + /// This should be a light-weight method since it will be used to determine + /// whether grab handle should be included for each item in a reorderable list. + /// Please note that returning a value of false does not prevent movement + /// on list item since other draggable items can be moved around it. + /// + /// Zero-based index for list element. + /// + /// A value of true if item can be dragged; otherwise false. + /// + bool CanDrag(int index); + /// + /// Determines whether an item can be removed from list. + /// + /// + /// This should be a light-weight method since it will be used to determine + /// whether remove button should be included for each item in list. + /// This is redundant when + /// is specified. + /// + /// Zero-based index for list element. + /// + /// A value of true if item can be removed; otherwise false. + /// + bool CanRemove(int index); + + /// + /// Add new element at end of list. + /// + void Add(); + /// + /// Insert new element at specified index. + /// + /// Zero-based index for list element. + void Insert(int index); + /// + /// Duplicate existing element. + /// + /// + /// Consider using the interface to + /// duplicate list elements where appropriate. + /// + /// Zero-based index of list element. + void Duplicate(int index); + /// + /// Remove element at specified index. + /// + /// Zero-based index of list element. + void Remove(int index); + /// + /// Move element from source index to destination index. + /// + /// Zero-based index of source element. + /// Zero-based index of destination element. + void Move(int sourceIndex, int destIndex); + /// + /// Clear all elements from list. + /// + void Clear(); + + /// + /// Occurs before any list items are drawn. + /// + /// + /// This method is only used to handle GUI repaint events. + /// + /// + void BeginGUI(); + /// + /// Occurs after all list items have been drawn. + /// + /// + /// This method is only used to handle GUI repaint events. + /// + /// + void EndGUI(); + + /// + /// Draws background of a list item. + /// + /// + /// This method is only used to handle GUI repaint events. + /// Background of list item spans a slightly larger area than the main + /// interface that is drawn by since it is + /// drawn behind the grab handle. + /// + /// Total position of list element in GUI. + /// Zero-based index of array element. + void DrawItemBackground(Rect position, int index); + /// + /// Draws main interface for a list item. + /// + /// + /// This method is used to handle all GUI events. + /// + /// Position in GUI. + /// Zero-based index of array element. + void DrawItem(Rect position, int index); + /// + /// Gets height of list item in pixels. + /// + /// Zero-based index of array element. + /// + /// Measurement in pixels. + /// + float GetItemHeight(int index); + + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/IReorderableListAdaptor.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/IReorderableListAdaptor.cs.meta new file mode 100644 index 00000000..b62368ee --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/IReorderableListAdaptor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 27a7bce836d771f4a84b172af5132fe7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/IReorderableListDropTarget.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/IReorderableListDropTarget.cs new file mode 100644 index 00000000..18676dae --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/IReorderableListDropTarget.cs @@ -0,0 +1,49 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +namespace Rotorz.ReorderableList { + + /// + /// Can be implemented along with when drop + /// insertion or ordering is desired. + /// + /// + /// This type of "drop" functionality can occur when the "drag" phase of the + /// drag and drop operation was initiated elsewhere. For example, a custom + /// could insert entirely new items by + /// dragging and dropping from the Unity "Project" window. + /// + /// + public interface IReorderableListDropTarget { + + /// + /// Determines whether an item is being dragged and that it can be inserted + /// or moved by dropping somewhere into the reorderable list control. + /// + /// + /// This method is always called whilst drawing an editor GUI. + /// + /// Zero-based index of insertion. + /// + /// A value of true if item can be dropped; otherwise false. + /// + /// + bool CanDropInsert(int insertionIndex); + + /// + /// Processes the current drop insertion operation when + /// returns a value of true to process, accept or cancel. + /// + /// + /// This method is always called whilst drawing an editor GUI. + /// This method is only called when + /// returns a value of true. + /// + /// Zero-based index of insertion. + /// + /// + void ProcessDropInsertion(int insertionIndex); + + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/IReorderableListDropTarget.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/IReorderableListDropTarget.cs.meta new file mode 100644 index 00000000..85dee66a --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/IReorderableListDropTarget.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d1806c8b705782141acdbee308edf82c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal.meta new file mode 100644 index 00000000..9e5d070c --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1080d4950a85a2b4da9d5653fff71a13 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/GUIHelper.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/GUIHelper.cs new file mode 100644 index 00000000..6d729e29 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/GUIHelper.cs @@ -0,0 +1,140 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using System; +using System.Reflection; +using UnityEditor; +using UnityEngine; + +namespace Rotorz.ReorderableList.Internal { + + /// + /// Utility functions to assist with GUIs. + /// + /// + public static class GUIHelper { + + static GUIHelper() { + var tyGUIClip = Type.GetType("UnityEngine.GUIClip,UnityEngine"); + if (tyGUIClip != null) { + var piVisibleRect = tyGUIClip.GetProperty("visibleRect", BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic); + if (piVisibleRect != null) { + var getMethod = piVisibleRect.GetGetMethod(true) ?? piVisibleRect.GetGetMethod(false); + VisibleRect = (Func)Delegate.CreateDelegate(typeof(Func), getMethod); + } + } + + var miFocusTextInControl = typeof(EditorGUI).GetMethod("FocusTextInControl", BindingFlags.Static | BindingFlags.Public); + if (miFocusTextInControl == null) + miFocusTextInControl = typeof(GUI).GetMethod("FocusControl", BindingFlags.Static | BindingFlags.Public); + + FocusTextInControl = (Action)Delegate.CreateDelegate(typeof(Action), miFocusTextInControl); + + s_SeparatorColor = EditorGUIUtility.isProSkin + ? new Color(0.11f, 0.11f, 0.11f) + : new Color(0.5f, 0.5f, 0.5f); + + s_SeparatorStyle = new GUIStyle(); + s_SeparatorStyle.normal.background = EditorGUIUtility.whiteTexture; + s_SeparatorStyle.stretchWidth = true; + } + + /// + /// Gets visible rectangle within GUI. + /// + /// + /// VisibleRect = TopmostRect + scrollViewOffsets + /// + public static Func VisibleRect; + + /// + /// Focus control and text editor where applicable. + /// + public static Action FocusTextInControl; + + private static GUIStyle s_TempStyle = new GUIStyle(); + + /// + /// Draw texture using to workaround bug in Unity where + /// flickers when embedded inside a property drawer. + /// + /// Position of which to draw texture in space of GUI. + /// Texture. + public static void DrawTexture(Rect position, Texture2D texture) { + if (Event.current.type != EventType.Repaint) + return; + + s_TempStyle.normal.background = texture; + + s_TempStyle.Draw(position, GUIContent.none, false, false, false, false); + } + + private static GUIContent s_TempIconContent = new GUIContent(); + private static readonly int s_IconButtonHint = "_ReorderableIconButton_".GetHashCode(); + + public static bool IconButton(Rect position, bool visible, Texture2D iconNormal, Texture2D iconActive, GUIStyle style) { + int controlID = GUIUtility.GetControlID(s_IconButtonHint, FocusType.Passive); + bool result = false; + + position.height += 1; + + switch (Event.current.GetTypeForControl(controlID)) { + case EventType.MouseDown: + // Do not allow button to be pressed using right mouse button since + // context menu should be shown instead! + if (GUI.enabled && Event.current.button != 1 && position.Contains(Event.current.mousePosition)) { + GUIUtility.hotControl = controlID; + GUIUtility.keyboardControl = 0; + Event.current.Use(); + } + break; + + case EventType.MouseDrag: + if (GUIUtility.hotControl == controlID) + Event.current.Use(); + break; + + case EventType.MouseUp: + if (GUIUtility.hotControl == controlID) { + GUIUtility.hotControl = 0; + result = position.Contains(Event.current.mousePosition); + Event.current.Use(); + } + break; + + case EventType.Repaint: + if (visible) { + bool isActive = GUIUtility.hotControl == controlID && position.Contains(Event.current.mousePosition); + s_TempIconContent.image = isActive ? iconActive : iconNormal; + position.height -= 1; + style.Draw(position, s_TempIconContent, isActive, isActive, false, false); + } + break; + } + + return result; + } + + public static bool IconButton(Rect position, Texture2D iconNormal, Texture2D iconActive, GUIStyle style) { + return IconButton(position, true, iconNormal, iconActive, style); + } + + private static readonly Color s_SeparatorColor; + private static readonly GUIStyle s_SeparatorStyle; + + public static void Separator(Rect position, Color color) { + if (Event.current.type == EventType.Repaint) { + Color restoreColor = GUI.color; + GUI.color = color; + s_SeparatorStyle.Draw(position, false, false, false, false); + GUI.color = restoreColor; + } + } + + public static void Separator(Rect position) { + Separator(position, s_SeparatorColor); + } + + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/GUIHelper.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/GUIHelper.cs.meta new file mode 100644 index 00000000..620f0b4f --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/GUIHelper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 26c2c1b444cf6a446b03219116f2f827 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/ReorderableListResources.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/ReorderableListResources.cs new file mode 100644 index 00000000..57905450 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/ReorderableListResources.cs @@ -0,0 +1,193 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using System; +using UnityEditor; +using UnityEngine; + +namespace Rotorz.ReorderableList.Internal { + + /// + public enum ReorderableListTexture { + Icon_Add_Normal = 0, + Icon_Add_Active, + Icon_AddMenu_Normal, + Icon_AddMenu_Active, + Icon_Menu_Normal, + Icon_Menu_Active, + Icon_Remove_Normal, + Icon_Remove_Active, + Button_Normal, + Button_Active, + Button2_Normal, + Button2_Active, + TitleBackground, + ContainerBackground, + Container2Background, + GrabHandle, + } + + /// + /// Resources to assist with reorderable list control. + /// + /// + public static class ReorderableListResources { + + static ReorderableListResources() { + GenerateSpecialTextures(); + LoadResourceAssets(); + } + + #region Texture Resources + + /// + /// Resource assets for light skin. + /// + /// + /// Resource assets are PNG images which have been encoded using a base-64 + /// string so that actual asset files are not necessary. + /// + private static string[] s_LightSkin = { + "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACxJREFUeNpi/P//PwMM6OvrgzkXL15khIkxMRAABBUw6unp/afMBNo7EiDAAEKeD5EsXZcTAAAAAElFTkSuQmCC", + "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAC1JREFUeNpi/P//PwMM3L17F8xRVlZmhIkxMRAABBUw3rlz5z9lJtDekQABBgCvqxGbQWpEqwAAAABJRU5ErkJggg==", + "iVBORw0KGgoAAAANSUhEUgAAABYAAAAICAYAAAD9aA/QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAERJREFUeNpi/P//PwMxQF9fH6zw4sWLjMSoZ2KgEaCZwYz4ggLmfVwAX7AMjIuJjTxsPqOKi9EtA/GpFhQww2E0QIABAPF5IGHNU7adAAAAAElFTkSuQmCC", + "iVBORw0KGgoAAAANSUhEUgAAABYAAAAICAYAAAD9aA/QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAERJREFUeNpi/P//PwMx4O7du2CFysrKjMSoZ2KgEaCZwYz4ggLmfVwAX7AMjIuJjTxsPqOKi9EtA/GpFhQww2E0QIABACBuGkOOEiPJAAAAAElFTkSuQmCC", + "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAICAYAAAAx8TU7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADBJREFUeNpi/P//PwM6YGLAAigUZNHX18ewienixYuMyAJgPshJIKynp/cfxgYIMACCMhb+oVNPwwAAAABJRU5ErkJggg==", + "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAICAYAAAAx8TU7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADFJREFUeNpi/P//PwM6YGLAAigUZLl79y6GTUzKysqMyAJgPshJIHznzp3/MDZAgAEAkoIW/jHg7H4AAAAASUVORK5CYII=", + "iVBORw0KGgoAAAANSUhEUgAAAAgAAAACCAIAAADq9gq6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABVJREFUeNpiVFZWZsAGmBhwAIAAAwAURgBt4C03ZwAAAABJRU5ErkJggg==", + "iVBORw0KGgoAAAANSUhEUgAAAAgAAAACCAIAAADq9gq6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABVJREFUeNpivHPnDgM2wMSAAwAEGAB8VgKYlvqkBwAAAABJRU5ErkJggg==", + "iVBORw0KGgoAAAANSUhEUgAAAAcAAAAFCAYAAACJmvbYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEFJREFUeNpiKCoq+v/p06f/ly9fhmMQHyTOxIAH4JVkARHv379nkJeXhwuC+CDA+P//f4bi4uL/6Lp6e3sZAQIMACmoI7rWhl0KAAAAAElFTkSuQmCC", + "iVBORw0KGgoAAAANSUhEUgAAAAcAAAAFCAYAAACJmvbYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEFJREFUeNpiFBER+f/jxw8GNjY2Bhj49esXAwcHBwMTAx6AV5IFRPz58wdFEMZn/P//P4OoqOh/dF2vX79mBAgwADpeFCsbeaC+AAAAAElFTkSuQmCC", + "iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFBJREFUeNpi/P//P0NxcfF/BjTQ29vLyFBUVPT/4cOH/z99+gTHID5InAWkSlBQkAEoANclLy8PppkY8AC8kmBj379/DzcKxgcBRnyuBQgwACVNLqBePwzmAAAAAElFTkSuQmCC", + "iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAElJREFUeNp8jjEKADEIBNdDrCz1/w+0tRQMOchxpHC6dVhW6m64e+MiIojMrDMTzPyJqoKq4r1sISJ3GQ8GRsln48/JNH27BBgAUhQbSyMxqzEAAAAASUVORK5CYII=", + "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAECAYAAABGM/VAAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEFJREFUeNpi/P//P0NxcfF/BgRgZP78+fN/VVVVhpCQEAZjY2OGs2fPNrCApBwdHRkePHgAVwoWnDVrFgMyAAgwAAt4E1dCq1obAAAAAElFTkSuQmCC", + "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAECAYAAABGM/VAAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADtJREFUeNpi/P//P0NxcfF/Bijo7e1lZCgqKvr/6dOn/5cvXwbTID4TSPb9+/cM8vLyYBoEGLFpBwgwAHGiI8KoD3BZAAAAAElFTkSuQmCC", + "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAECAIAAADJUWIXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpiDA0NZUACLEDc2dkJ4ZSXlzMxoAJGNPUAAQYAwbcFBwYygqkAAAAASUVORK5CYII=", + "iVBORw0KGgoAAAANSUhEUgAAAAkAAAAFCAYAAACXU8ZrAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACdJREFUeNpi/PTp038GAoClvr6ekBoGxv//CRrEwPL582fqWAcQYAAnaA2zsd+RkQAAAABJRU5ErkJggg==", + }; + /// + /// Resource assets for dark skin. + /// + /// + /// Resource assets are PNG images which have been encoded using a base-64 + /// string so that actual asset files are not necessary. + /// + private static string[] s_DarkSkin = { + "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", + }; + + /// + /// Gets light or dark version of the specified texture. + /// + /// + /// + public static Texture2D GetTexture(ReorderableListTexture name) { + return s_Cached[(int)name]; + } + + #endregion + + #region Generated Resources + + public static Texture2D texHighlightColor { get; private set; } + + /// + /// Generate special textures. + /// + private static void GenerateSpecialTextures() { + texHighlightColor = CreatePixelTexture("(Generated) Highlight Color", ReorderableListStyles.SelectionBackgroundColor); + } + + /// + /// Create 1x1 pixel texture of specified color. + /// + /// Name for texture object. + /// Pixel color. + /// + /// The new Texture2D instance. + /// + public static Texture2D CreatePixelTexture(string name, Color color) { + var tex = new Texture2D(1, 1, TextureFormat.ARGB32, false, true); + tex.name = name; + tex.hideFlags = HideFlags.HideAndDontSave; + tex.filterMode = FilterMode.Point; + tex.SetPixel(0, 0, color); + tex.Apply(); + return tex; + } + + #endregion + + #region Load PNG from Base-64 Encoded String + + private static Texture2D[] s_Cached; + + /// + /// Read textures from base-64 encoded strings. Automatically selects assets based + /// upon whether the light or dark (pro) skin is active. + /// + private static void LoadResourceAssets() { + var skin = EditorGUIUtility.isProSkin ? s_DarkSkin : s_LightSkin; + s_Cached = new Texture2D[skin.Length]; + + for (int i = 0; i < s_Cached.Length; ++i) { + // Get image data (PNG) from base64 encoded strings. + byte[] imageData = Convert.FromBase64String(skin[i]); + + // Gather image size from image data. + int texWidth, texHeight; + GetImageSize(imageData, out texWidth, out texHeight); + + // Generate texture asset. + var tex = new Texture2D(texWidth, texHeight, TextureFormat.ARGB32, false, true); + tex.hideFlags = HideFlags.HideAndDontSave; + tex.name = "(Generated) ReorderableList:" + i; + tex.filterMode = FilterMode.Point; +#if UNITY_2017_1_OR_NEWER + ImageConversion.LoadImage(tex, imageData, markNonReadable: true); +#else + tex.LoadImage(imageData); +#endif + + s_Cached[i] = tex; + } + + s_LightSkin = null; + s_DarkSkin = null; + } + + /// + /// Read width and height if PNG file in pixels. + /// + /// PNG image data. + /// Width of image in pixels. + /// Height of image in pixels. + private static void GetImageSize(byte[] imageData, out int width, out int height) { + width = ReadInt(imageData, 3 + 15); + height = ReadInt(imageData, 3 + 15 + 2 + 2); + } + + private static int ReadInt(byte[] imageData, int offset) { + return (imageData[offset] << 8) | imageData[offset + 1]; + } + + #endregion + + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/ReorderableListResources.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/ReorderableListResources.cs.meta new file mode 100644 index 00000000..23933194 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/ReorderableListResources.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1d9acb5346b0f3c478d5678c6a0e4f42 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/SerializedPropertyUtility.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/SerializedPropertyUtility.cs new file mode 100644 index 00000000..ccd51f97 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/SerializedPropertyUtility.cs @@ -0,0 +1,179 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using System; +using UnityEditor; +using UnityEngine; + +namespace Rotorz.ReorderableList.Internal { + + /// + /// Utility functionality for implementations. + /// + public static class SerializedPropertyUtility { + + /// + /// Reset the value of a property. + /// + /// Serialized property for a serialized property. + public static void ResetValue(SerializedProperty property) { + if (property == null) + throw new ArgumentNullException("property"); + + switch (property.propertyType) { + case SerializedPropertyType.Integer: + property.intValue = 0; + break; + case SerializedPropertyType.Boolean: + property.boolValue = false; + break; + case SerializedPropertyType.Float: + property.floatValue = 0f; + break; + case SerializedPropertyType.String: + property.stringValue = ""; + break; + case SerializedPropertyType.Color: + property.colorValue = Color.black; + break; + case SerializedPropertyType.ObjectReference: + property.objectReferenceValue = null; + break; + case SerializedPropertyType.LayerMask: + property.intValue = 0; + break; + case SerializedPropertyType.Enum: + property.enumValueIndex = 0; + break; + case SerializedPropertyType.Vector2: + property.vector2Value = default(Vector2); + break; + case SerializedPropertyType.Vector3: + property.vector3Value = default(Vector3); + break; + case SerializedPropertyType.Vector4: + property.vector4Value = default(Vector4); + break; + case SerializedPropertyType.Rect: + property.rectValue = default(Rect); + break; + case SerializedPropertyType.ArraySize: + property.intValue = 0; + break; + case SerializedPropertyType.Character: + property.intValue = 0; + break; + case SerializedPropertyType.AnimationCurve: + property.animationCurveValue = AnimationCurve.Linear(0f, 0f, 1f, 1f); + break; + case SerializedPropertyType.Bounds: + property.boundsValue = default(Bounds); + break; + case SerializedPropertyType.Gradient: + //!TODO: Amend when Unity add a public API for setting the gradient. + break; + } + + if (property.isArray) { + property.arraySize = 0; + } + + ResetChildPropertyValues(property); + } + + private static void ResetChildPropertyValues(SerializedProperty element) { + if (!element.hasChildren) + return; + + var childProperty = element.Copy(); + int elementPropertyDepth = element.depth; + bool enterChildren = true; + + while (childProperty.Next(enterChildren) && childProperty.depth > elementPropertyDepth) { + enterChildren = false; + ResetValue(childProperty); + } + } + + /// + /// Copies value of into . + /// + /// Destination property. + /// Source property. + public static void CopyPropertyValue(SerializedProperty destProperty, SerializedProperty sourceProperty) { + if (destProperty == null) + throw new ArgumentNullException("destProperty"); + if (sourceProperty == null) + throw new ArgumentNullException("sourceProperty"); + + sourceProperty = sourceProperty.Copy(); + destProperty = destProperty.Copy(); + + CopyPropertyValueSingular(destProperty, sourceProperty); + + if (sourceProperty.hasChildren) { + int elementPropertyDepth = sourceProperty.depth; + while (sourceProperty.Next(true) && destProperty.Next(true) && sourceProperty.depth > elementPropertyDepth) + CopyPropertyValueSingular(destProperty, sourceProperty); + } + } + + private static void CopyPropertyValueSingular(SerializedProperty destProperty, SerializedProperty sourceProperty) { + switch (destProperty.propertyType) { + case SerializedPropertyType.Integer: + destProperty.intValue = sourceProperty.intValue; + break; + case SerializedPropertyType.Boolean: + destProperty.boolValue = sourceProperty.boolValue; + break; + case SerializedPropertyType.Float: + destProperty.floatValue = sourceProperty.floatValue; + break; + case SerializedPropertyType.String: + destProperty.stringValue = sourceProperty.stringValue; + break; + case SerializedPropertyType.Color: + destProperty.colorValue = sourceProperty.colorValue; + break; + case SerializedPropertyType.ObjectReference: + destProperty.objectReferenceValue = sourceProperty.objectReferenceValue; + break; + case SerializedPropertyType.LayerMask: + destProperty.intValue = sourceProperty.intValue; + break; + case SerializedPropertyType.Enum: + destProperty.enumValueIndex = sourceProperty.enumValueIndex; + break; + case SerializedPropertyType.Vector2: + destProperty.vector2Value = sourceProperty.vector2Value; + break; + case SerializedPropertyType.Vector3: + destProperty.vector3Value = sourceProperty.vector3Value; + break; + case SerializedPropertyType.Vector4: + destProperty.vector4Value = sourceProperty.vector4Value; + break; + case SerializedPropertyType.Rect: + destProperty.rectValue = sourceProperty.rectValue; + break; + case SerializedPropertyType.ArraySize: + destProperty.intValue = sourceProperty.intValue; + break; + case SerializedPropertyType.Character: + destProperty.intValue = sourceProperty.intValue; + break; + case SerializedPropertyType.AnimationCurve: + destProperty.animationCurveValue = sourceProperty.animationCurveValue; + break; + case SerializedPropertyType.Bounds: + destProperty.boundsValue = sourceProperty.boundsValue; + break; + case SerializedPropertyType.Gradient: + //!TODO: Amend when Unity add a public API for setting the gradient. + break; + } + } + + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/SerializedPropertyUtility.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/SerializedPropertyUtility.cs.meta new file mode 100644 index 00000000..e1ea9387 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/Internal/SerializedPropertyUtility.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e720cba766c708b40a725fddfbdb4436 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListControl.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListControl.cs new file mode 100644 index 00000000..b8bc8744 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListControl.cs @@ -0,0 +1,2000 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using Rotorz.ReorderableList.Internal; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +namespace Rotorz.ReorderableList { + + /// + /// Base class for custom reorderable list control. + /// + public class ReorderableListControl { + + /// + /// Invoked to draw list item. + /// + /// + /// GUI controls must be positioned absolutely within the given rectangle since + /// list items must be sized consistently. + /// + /// + /// The following listing presents a text field for each list item: + /// wishlist = new List(); + /// + /// private void OnGUI() { + /// ReorderableListGUI.ListField(wishlist, DrawListItem); + /// } + /// + /// private string DrawListItem(Rect position, string value) { + /// // Text fields do not like `null` values! + /// if (value == null) + /// value = ""; + /// return EditorGUI.TextField(position, value); + /// } + /// } + /// ]]> + /// ; + /// + /// function OnGUI() { + /// ReorderableListGUI.ListField(wishlist, DrawListItem); + /// } + /// + /// function DrawListItem(position:Rect, value:String):String { + /// // Text fields do not like `null` values! + /// if (value == null) + /// value = ''; + /// return EditorGUI.TextField(position, value); + /// } + /// } + /// ]]> + /// + /// Type of item list. + /// Position of list item. + /// The list item. + /// + /// The modified value. + /// + public delegate T ItemDrawer(Rect position, T item); + + /// + /// Invoked to draw content for empty list. + /// + /// + /// Callback should make use of GUILayout to present controls. + /// + /// + /// The following listing displays a label for empty list control: + /// _list; + /// + /// private void OnEnable() { + /// _list = new List(); + /// } + /// private void OnGUI() { + /// ReorderableListGUI.ListField(_list, ReorderableListGUI.TextFieldItemDrawer, DrawEmptyMessage); + /// } + /// + /// private string DrawEmptyMessage() { + /// GUILayout.Label("List is empty!", EditorStyles.miniLabel); + /// } + /// } + /// ]]> + /// ; + /// + /// function OnEnable() { + /// _list = new List.(); + /// } + /// function OnGUI() { + /// ReorderableListGUI.ListField(_list, ReorderableListGUI.TextFieldItemDrawer, DrawEmptyMessage); + /// } + /// + /// function DrawEmptyMessage() { + /// GUILayout.Label('List is empty!', EditorStyles.miniLabel); + /// } + /// } + /// ]]> + /// + public delegate void DrawEmpty(); + /// + /// Invoked to draw content for empty list with absolute positioning. + /// + /// Position of empty content. + public delegate void DrawEmptyAbsolute(Rect position); + + #region Custom Styles + + /// + /// Background color of anchor list item. + /// + public static readonly Color AnchorBackgroundColor; + /// + /// Background color of target slot when dragging list item. + /// + public static readonly Color TargetBackgroundColor; + + /// + /// Style for right-aligned label for element number prefix. + /// + private static GUIStyle s_RightAlignedLabelStyle; + + static ReorderableListControl() { + s_CurrentListStack = new Stack(); + s_CurrentListStack.Push(default(ListInfo)); + + s_CurrentItemStack = new Stack(); + s_CurrentItemStack.Push(new ItemInfo(-1, default(Rect))); + + if (EditorGUIUtility.isProSkin) { + AnchorBackgroundColor = new Color(85f / 255f, 85f / 255f, 85f / 255f, 0.85f); + TargetBackgroundColor = new Color(0, 0, 0, 0.5f); + } + else { + AnchorBackgroundColor = new Color(225f / 255f, 225f / 255f, 225f / 255f, 0.85f); + TargetBackgroundColor = new Color(0, 0, 0, 0.5f); + } + } + + #endregion + + #region Utility + + private static readonly int s_ReorderableListControlHint = "_ReorderableListControl_".GetHashCode(); + + private static int GetReorderableListControlID() { + return GUIUtility.GetControlID(s_ReorderableListControlHint, FocusType.Passive); + } + + /// + /// Generate and draw control from state object. + /// + /// Reorderable list adaptor. + /// Delegate for drawing empty list. + /// Optional flags to pass into list field. + public static void DrawControlFromState(IReorderableListAdaptor adaptor, DrawEmpty drawEmpty, ReorderableListFlags flags) { + int controlID = GetReorderableListControlID(); + + var control = GUIUtility.GetStateObject(typeof(ReorderableListControl), controlID) as ReorderableListControl; + control.Flags = flags; + control.Draw(controlID, adaptor, drawEmpty); + } + + /// + /// Generate and draw control from state object. + /// + /// Position of control. + /// Reorderable list adaptor. + /// Delegate for drawing empty list. + /// Optional flags to pass into list field. + public static void DrawControlFromState(Rect position, IReorderableListAdaptor adaptor, DrawEmptyAbsolute drawEmpty, ReorderableListFlags flags) { + int controlID = GetReorderableListControlID(); + + var control = GUIUtility.GetStateObject(typeof(ReorderableListControl), controlID) as ReorderableListControl; + control.Flags = flags; + control.Draw(position, controlID, adaptor, drawEmpty); + } + + #endregion + + /// + /// Position of mouse upon anchoring item for drag. + /// + private static float s_AnchorMouseOffset; + /// + /// Zero-based index of anchored list item. + /// + private static int s_AnchorIndex = -1; + /// + /// Zero-based index of target list item for reordering. + /// + private static int s_TargetIndex = -1; + + /// + /// Unique ID of list control which should be automatically focused. A value + /// of zero indicates that no control is to be focused. + /// + private static int s_AutoFocusControlID = 0; + /// + /// Zero-based index of item which should be focused. + /// + private static int s_AutoFocusIndex = -1; + + private struct ListInfo { + public int ControlID; + public Rect Position; + + public ListInfo(int controlID, Rect position) { + ControlID = controlID; + Position = position; + } + } + + private struct ItemInfo { + public int ItemIndex; + public Rect ItemPosition; + + public ItemInfo(int itemIndex, Rect itemPosition) { + ItemIndex = itemIndex; + ItemPosition = itemPosition; + } + } + + /// + /// Represents the current stack of nested reorderable list control positions. + /// + private static Stack s_CurrentListStack; + + /// + /// Represents the current stack of nested reorderable list items. + /// + private static Stack s_CurrentItemStack; + + /// + /// Gets the control ID of the list that is currently being drawn. + /// + public static int CurrentListControlID { + get { return s_CurrentListStack.Peek().ControlID; } + } + + /// + /// Gets the position of the list control that is currently being drawn. + /// + /// + /// The value of this property should be ignored for + /// type events when using reorderable list controls with automatic layout. + /// + /// + public static Rect CurrentListPosition { + get { return s_CurrentListStack.Peek().Position; } + } + + /// + /// Gets the zero-based index of the list item that is currently being drawn; + /// or a value of -1 if no item is currently being drawn. + /// + /// + /// Use instead. + /// + internal static int CurrentItemIndex { + get { return s_CurrentItemStack.Peek().ItemIndex; } + } + + /// + /// Gets the total position of the list item that is currently being drawn. + /// + /// + /// The value of this property should be ignored for + /// type events when using reorderable list controls with automatic layout. + /// + /// + /// + public static Rect CurrentItemTotalPosition { + get { return s_CurrentItemStack.Peek().ItemPosition; } + } + + #region Properties + + private ReorderableListFlags _flags; + + /// + /// Gets or sets flags which affect behavior of control. + /// + public ReorderableListFlags Flags { + get { return _flags; } + set { _flags = value; } + } + + /// + /// Gets a value indicating whether any footer controls are shown. + /// + private bool HasFooterControls { + get { return HasSizeField || HasAddButton || HasAddMenuButton; } + } + /// + /// Gets a value indicating whether the size field is shown. + /// + private bool HasSizeField { + get { return (_flags & ReorderableListFlags.ShowSizeField) != 0; } + } + /// + /// Gets a value indicating whether add button is shown. + /// + private bool HasAddButton { + get { return (_flags & ReorderableListFlags.HideAddButton) == 0; } + } + /// + /// Gets a value indicating whether add menu button is shown. + /// + private bool HasAddMenuButton { get; set; } + + /// + /// Gets a value indicating whether remove buttons are shown. + /// + private bool HasRemoveButtons { + get { return (_flags & ReorderableListFlags.HideRemoveButtons) == 0; } + } + + private float _verticalSpacing = 10f; + private GUIStyle _containerStyle; + private GUIStyle _footerButtonStyle; + private GUIStyle _itemButtonStyle; + + /// + /// Gets or sets the vertical spacing below the reorderable list control. + /// + public float VerticalSpacing { + get { return _verticalSpacing; } + set { _verticalSpacing = value; } + } + /// + /// Gets or sets style used to draw background of list control. + /// + /// + public GUIStyle ContainerStyle { + get { return _containerStyle; } + set { _containerStyle = value; } + } + /// + /// Gets or sets style used to draw footer buttons. + /// + /// + public GUIStyle FooterButtonStyle { + get { return _footerButtonStyle; } + set { _footerButtonStyle = value; } + } + /// + /// Gets or sets style used to draw list item buttons (like the remove button). + /// + /// + public GUIStyle ItemButtonStyle { + get { return _itemButtonStyle; } + set { _itemButtonStyle = value; } + } + + private Color _horizontalLineColor; + private bool _horizontalLineAtStart = false; + private bool _horizontalLineAtEnd = false; + + /// + /// Gets or sets the color of the horizontal lines that appear between list items. + /// + public Color HorizontalLineColor { + get { return _horizontalLineColor; } + set { _horizontalLineColor = value; } + } + + /// + /// Gets or sets a boolean value indicating whether a horizontal line should be + /// shown above the first list item at the start of the list control. + /// + /// + /// Horizontal line is not drawn for an empty list regardless of the value + /// of this property. + /// + public bool HorizontalLineAtStart { + get { return _horizontalLineAtStart; } + set { _horizontalLineAtStart = value; } + } + + /// + /// Gets or sets a boolean value indicating whether a horizontal line should be + /// shown below the last list item at the end of the list control. + /// + /// + /// Horizontal line is not drawn for an empty list regardless of the value + /// of this property. + /// + public bool HorizontalLineAtEnd { + get { return _horizontalLineAtEnd; } + set { _horizontalLineAtEnd = value; } + } + + #endregion + + #region Events + + private event AddMenuClickedEventHandler _addMenuClicked; + private int _addMenuClickedSubscriberCount = 0; + + /// + /// Occurs when add menu button is clicked. + /// + /// + /// Add menu button is only shown when there is at least one subscriber to this event. + /// + public event AddMenuClickedEventHandler AddMenuClicked { + add { + if (value == null) + return; + _addMenuClicked += value; + ++_addMenuClickedSubscriberCount; + HasAddMenuButton = _addMenuClickedSubscriberCount != 0; + } + remove { + if (value == null) + return; + _addMenuClicked -= value; + --_addMenuClickedSubscriberCount; + HasAddMenuButton = _addMenuClickedSubscriberCount != 0; + } + } + + /// + /// Raises event when add menu button is clicked. + /// + /// Event arguments. + protected virtual void OnAddMenuClicked(AddMenuClickedEventArgs args) { + if (_addMenuClicked != null) + _addMenuClicked(this, args); + } + + /// + /// Occurs after list item is inserted or duplicated. + /// + public event ItemInsertedEventHandler ItemInserted; + + /// + /// Raises event after list item is inserted or duplicated. + /// + /// Event arguments. + protected virtual void OnItemInserted(ItemInsertedEventArgs args) { + if (ItemInserted != null) + ItemInserted(this, args); + } + + /// + /// Occurs before list item is removed and allowing for remove operation to be cancelled. + /// + public event ItemRemovingEventHandler ItemRemoving; + + /// + /// Raises event before list item is removed and provides oppertunity to cancel. + /// + /// Event arguments. + protected virtual void OnItemRemoving(ItemRemovingEventArgs args) { + if (ItemRemoving != null) + ItemRemoving(this, args); + } + + /// + /// Occurs immediately before list item is moved allowing for move operation to be cancelled. + /// + public event ItemMovingEventHandler ItemMoving; + + /// + /// Raises event immediately before list item is moved and provides oppertunity to cancel. + /// + /// Event arguments. + protected virtual void OnItemMoving(ItemMovingEventArgs args) { + if (ItemMoving != null) + ItemMoving(this, args); + } + + /// + /// Occurs after list item has been moved. + /// + public event ItemMovedEventHandler ItemMoved; + + /// + /// Raises event after list item has been moved. + /// + /// Event arguments. + protected virtual void OnItemMoved(ItemMovedEventArgs args) { + if (ItemMoved != null) + ItemMoved(this, args); + } + + #endregion + + #region Construction + + /// + /// Initializes a new instance of . + /// + public ReorderableListControl() { + _containerStyle = ReorderableListStyles.Container; + _footerButtonStyle = ReorderableListStyles.FooterButton; + _itemButtonStyle = ReorderableListStyles.ItemButton; + + _horizontalLineColor = ReorderableListStyles.HorizontalLineColor; + } + + /// + /// Initializes a new instance of . + /// + /// Optional flags which affect behavior of control. + public ReorderableListControl(ReorderableListFlags flags) + : this() { + this.Flags = flags; + } + + #endregion + + #region Control State + + /// + /// Unique Id of control. + /// + private int _controlID; + /// + /// Visible rectangle of control. + /// + private Rect _visibleRect; + /// + /// Width of index label in pixels (zero indicates no label). + /// + private float _indexLabelWidth; + /// + /// Indicates whether item is currently being dragged within control. + /// + private bool _tracking; + /// + /// Indicates if reordering is allowed. + /// + private bool _allowReordering; + + /// + /// A boolean value indicating whether drop insertion is allowed. + /// + private bool _allowDropInsertion; + /// + /// Zero-based index for drop insertion when applicable; othewise, a value of -1. + /// + private int _insertionIndex; + /// + /// Position of drop insertion on Y-axis in GUI space. + /// + private float _insertionPosition; + + /// + /// New size input value. + /// + private int _newSizeInput; + + /// + /// Prepare initial state for list control. + /// + /// Unique ID of list control. + /// Reorderable list adaptor. + private void PrepareState(int controlID, IReorderableListAdaptor adaptor) { + _controlID = controlID; + _visibleRect = GUIHelper.VisibleRect(); + + if ((Flags & ReorderableListFlags.ShowIndices) != 0) + _indexLabelWidth = CountDigits(adaptor.Count) * 8 + 8; + else + _indexLabelWidth = 0; + + _tracking = IsTrackingControl(controlID); + + _allowReordering = (Flags & ReorderableListFlags.DisableReordering) == 0; + + // The value of this field is reset each time the control is drawn and may + // be invalidated when list items are drawn. + _allowDropInsertion = true; + } + + private static int CountDigits(int number) { + return Mathf.Max(2, Mathf.CeilToInt(Mathf.Log10((float)number))); + } + + #endregion + + #region Event Handling + + // Indicates whether a "MouseDrag" event should be simulated on the next Layout/Repaint. + private static int s_SimulateMouseDragControlID; + + /// + /// Indicate that first control of list item should be automatically focused + /// if possible. + /// + /// Unique ID of list control. + /// Zero-based index of list item. + private void AutoFocusItem(int controlID, int itemIndex) { + if ((Flags & ReorderableListFlags.DisableAutoFocus) == 0) { + s_AutoFocusControlID = controlID; + s_AutoFocusIndex = itemIndex; + } + } + + /// + /// Draw remove button. + /// + /// Position of button. + /// Indicates if control is visible within GUI. + /// + /// A value of true if clicked; otherwise false. + /// + private bool DoRemoveButton(Rect position, bool visible) { + var iconNormal = ReorderableListResources.GetTexture(ReorderableListTexture.Icon_Remove_Normal); + var iconActive = ReorderableListResources.GetTexture(ReorderableListTexture.Icon_Remove_Active); + + return GUIHelper.IconButton(position, visible, iconNormal, iconActive, ItemButtonStyle); + } + + private static bool s_TrackingCancelBlockContext; + + /// + /// Begin tracking drag and drop within list. + /// + /// Unique ID of list control. + /// Zero-based index of item which is going to be dragged. + private static void BeginTrackingReorderDrag(int controlID, int itemIndex) { + GUIUtility.hotControl = controlID; + GUIUtility.keyboardControl = 0; + s_AnchorIndex = itemIndex; + s_TargetIndex = itemIndex; + s_TrackingCancelBlockContext = false; + } + + /// + /// Stop tracking drag and drop. + /// + private static void StopTrackingReorderDrag() { + GUIUtility.hotControl = 0; + s_AnchorIndex = -1; + s_TargetIndex = -1; + } + + /// + /// Gets a value indicating whether item in current list is currently being tracked. + /// + /// Unique ID of list control. + /// + /// A value of true if item is being tracked; otherwise false. + /// + private static bool IsTrackingControl(int controlID) { + return !s_TrackingCancelBlockContext && GUIUtility.hotControl == controlID; + } + + /// + /// Accept reordering. + /// + /// Reorderable list adaptor. + private void AcceptReorderDrag(IReorderableListAdaptor adaptor) { + try { + // Reorder list as needed! + s_TargetIndex = Mathf.Clamp(s_TargetIndex, 0, adaptor.Count + 1); + if (s_TargetIndex != s_AnchorIndex && s_TargetIndex != s_AnchorIndex + 1) + MoveItem(adaptor, s_AnchorIndex, s_TargetIndex); + } + finally { + StopTrackingReorderDrag(); + } + } + + private static Rect s_DragItemPosition; + + // Micro-optimisation to avoid repeated construction. + private static Rect s_RemoveButtonPosition; + + private void DrawListItem(Rect position, IReorderableListAdaptor adaptor, int itemIndex) { + bool isRepainting = Event.current.type == EventType.Repaint; + bool isVisible = (position.y < _visibleRect.yMax && position.yMax > _visibleRect.y); + bool isDraggable = _allowReordering && adaptor.CanDrag(itemIndex); + + Rect itemContentPosition = position; + itemContentPosition.x = position.x + 2; + itemContentPosition.y += 1; + itemContentPosition.width = position.width - 4; + itemContentPosition.height = position.height - 4; + + // Make space for grab handle? + if (isDraggable) { + itemContentPosition.x += 20; + itemContentPosition.width -= 20; + } + + // Make space for element index. + if (_indexLabelWidth != 0) { + itemContentPosition.width -= _indexLabelWidth; + + if (isRepainting && isVisible) + s_RightAlignedLabelStyle.Draw(new Rect(itemContentPosition.x, position.y, _indexLabelWidth, position.height - 4), itemIndex + ":", false, false, false, false); + + itemContentPosition.x += _indexLabelWidth; + } + + // Make space for remove button? + if (HasRemoveButtons) + itemContentPosition.width -= 27; + + try { + s_CurrentItemStack.Push(new ItemInfo(itemIndex, position)); + EditorGUI.BeginChangeCheck(); + + if (isRepainting && isVisible) { + // Draw background of list item. + var backgroundPosition = new Rect(position.x, position.y, position.width, position.height - 1); + adaptor.DrawItemBackground(backgroundPosition, itemIndex); + + // Draw grab handle? + if (isDraggable) { + var texturePosition = new Rect(position.x + 6, position.y + position.height / 2f - 3, 9, 5); + GUIHelper.DrawTexture(texturePosition, ReorderableListResources.GetTexture(ReorderableListTexture.GrabHandle)); + } + + // Draw horizontal line between list items. + if (!_tracking || itemIndex != s_AnchorIndex) { + if (itemIndex != 0 || HorizontalLineAtStart) { + var horizontalLinePosition = new Rect(position.x, position.y - 1, position.width, 1); + GUIHelper.Separator(horizontalLinePosition, HorizontalLineColor); + } + } + } + + // Allow control to be automatically focused. + if (s_AutoFocusIndex == itemIndex) + GUI.SetNextControlName("AutoFocus_" + _controlID + "_" + itemIndex); + + // Present actual control. + adaptor.DrawItem(itemContentPosition, itemIndex); + + if (EditorGUI.EndChangeCheck()) + ReorderableListGUI.IndexOfChangedItem = itemIndex; + + // Draw remove button? + if (HasRemoveButtons && adaptor.CanRemove(itemIndex)) { + s_RemoveButtonPosition = position; + s_RemoveButtonPosition.width = 27; + s_RemoveButtonPosition.x = itemContentPosition.xMax + 2; + s_RemoveButtonPosition.y -= 1; + + if (DoRemoveButton(s_RemoveButtonPosition, isVisible)) + RemoveItem(adaptor, itemIndex); + } + + // Check for context click? + if ((Flags & ReorderableListFlags.DisableContextMenu) == 0) { + if (Event.current.GetTypeForControl(_controlID) == EventType.ContextClick && position.Contains(Event.current.mousePosition)) { + ShowContextMenu(itemIndex, adaptor); + Event.current.Use(); + } + } + } + finally { + s_CurrentItemStack.Pop(); + } + } + + private void DrawFloatingListItem(IReorderableListAdaptor adaptor, float targetSlotPosition) { + if (Event.current.type == EventType.Repaint) { + Color restoreColor = GUI.color; + + // Fill background of target area. + Rect targetPosition = s_DragItemPosition; + targetPosition.y = targetSlotPosition - 1; + targetPosition.height = 1; + + GUIHelper.Separator(targetPosition, HorizontalLineColor); + + --targetPosition.x; + ++targetPosition.y; + targetPosition.width += 2; + targetPosition.height = s_DragItemPosition.height - 1; + + GUI.color = TargetBackgroundColor; + GUIHelper.DrawTexture(targetPosition, EditorGUIUtility.whiteTexture); + + // Fill background of item which is being dragged. + --s_DragItemPosition.x; + s_DragItemPosition.width += 2; + --s_DragItemPosition.height; + + GUI.color = AnchorBackgroundColor; + GUIHelper.DrawTexture(s_DragItemPosition, EditorGUIUtility.whiteTexture); + + ++s_DragItemPosition.x; + s_DragItemPosition.width -= 2; + ++s_DragItemPosition.height; + + // Draw horizontal splitter above and below. + GUI.color = new Color(0f, 0f, 0f, 0.6f); + targetPosition.y = s_DragItemPosition.y - 1; + targetPosition.height = 1; + GUIHelper.DrawTexture(targetPosition, EditorGUIUtility.whiteTexture); + + targetPosition.y += s_DragItemPosition.height; + GUIHelper.DrawTexture(targetPosition, EditorGUIUtility.whiteTexture); + + GUI.color = restoreColor; + } + + DrawListItem(s_DragItemPosition, adaptor, s_AnchorIndex); + } + + // Counter is incremented whenever a reorderable list control reacts as a drop + // target allowing parent reorderable list controls to suppress any reaction that + // they might otherwise have. + private static int s_DropTargetNestedCounter = 0; + + /// + /// Draw list container and items. + /// + /// Position of list control in GUI. + /// Reorderable list adaptor. + private void DrawListContainerAndItems(Rect position, IReorderableListAdaptor adaptor) { + int initialDropTargetNestedCounterValue = s_DropTargetNestedCounter; + + // Get local copy of event information for efficiency. + EventType eventType = Event.current.GetTypeForControl(_controlID); + Vector2 mousePosition = Event.current.mousePosition; + + int newTargetIndex = s_TargetIndex; + + // Position of first item in list. + float firstItemY = position.y + ContainerStyle.padding.top; + // Maximum position of dragged item. + float dragItemMaxY = (position.yMax - ContainerStyle.padding.bottom) - s_DragItemPosition.height + 1; + + bool isMouseDragEvent = eventType == EventType.MouseDrag; + if (s_SimulateMouseDragControlID == _controlID && eventType == EventType.Repaint) { + s_SimulateMouseDragControlID = 0; + isMouseDragEvent = true; + } + if (isMouseDragEvent && _tracking) { + // Reset target index and adjust when looping through list items. + if (mousePosition.y < firstItemY) + newTargetIndex = 0; + else if (mousePosition.y >= position.yMax) + newTargetIndex = adaptor.Count; + + s_DragItemPosition.y = Mathf.Clamp(mousePosition.y + s_AnchorMouseOffset, firstItemY, dragItemMaxY); + } + + switch (eventType) { + case EventType.MouseDown: + if (_tracking) { + // Cancel drag when other mouse button is pressed. + s_TrackingCancelBlockContext = true; + Event.current.Use(); + } + break; + + case EventType.MouseUp: + if (_controlID == GUIUtility.hotControl) { + // Allow user code to change control over reordering during drag. + if (!s_TrackingCancelBlockContext && _allowReordering) + AcceptReorderDrag(adaptor); + else + StopTrackingReorderDrag(); + Event.current.Use(); + } + break; + + case EventType.KeyDown: + if (_tracking && Event.current.keyCode == KeyCode.Escape) { + StopTrackingReorderDrag(); + Event.current.Use(); + } + break; + + case EventType.ExecuteCommand: + if (s_ContextControlID == _controlID) { + int itemIndex = s_ContextItemIndex; + try { + DoCommand(s_ContextCommandName, itemIndex, adaptor); + Event.current.Use(); + } + finally { + s_ContextControlID = 0; + s_ContextItemIndex = 0; + } + } + break; + + case EventType.Repaint: + // Draw caption area of list. + ContainerStyle.Draw(position, GUIContent.none, false, false, false, false); + break; + } + + ReorderableListGUI.IndexOfChangedItem = -1; + + // Draw list items! + Rect itemPosition = new Rect(position.x + ContainerStyle.padding.left, firstItemY, position.width - ContainerStyle.padding.horizontal, 0); + float targetSlotPosition = dragItemMaxY; + + _insertionIndex = 0; + _insertionPosition = itemPosition.yMax; + + float lastMidPoint = 0f; + float lastHeight = 0f; + + int count = adaptor.Count; + for (int i = 0; i < count; ++i) { + itemPosition.y = itemPosition.yMax; + itemPosition.height = 0; + + lastMidPoint = itemPosition.y - lastHeight / 2f; + + if (_tracking) { + // Does this represent the target index? + if (i == s_TargetIndex) { + targetSlotPosition = itemPosition.y; + itemPosition.y += s_DragItemPosition.height; + } + + // Do not draw item if it is currently being dragged. + // Draw later so that it is shown in front of other controls. + if (i == s_AnchorIndex) + continue; + + // Update position for current item. + itemPosition.height = adaptor.GetItemHeight(i) + 4; + lastHeight = itemPosition.height; + } + else { + // Update position for current item. + itemPosition.height = adaptor.GetItemHeight(i) + 4; + lastHeight = itemPosition.height; + + // Does this represent the drop insertion index? + float midpoint = itemPosition.y + itemPosition.height / 2f; + if (mousePosition.y > lastMidPoint && mousePosition.y <= midpoint) { + _insertionIndex = i; + _insertionPosition = itemPosition.y; + } + } + + if (_tracking && isMouseDragEvent) { + float midpoint = itemPosition.y + itemPosition.height / 2f; + + if (s_TargetIndex < i) { + if (s_DragItemPosition.yMax > lastMidPoint && s_DragItemPosition.yMax < midpoint) + newTargetIndex = i; + } + else if (s_TargetIndex > i) { + if (s_DragItemPosition.y > lastMidPoint && s_DragItemPosition.y < midpoint) + newTargetIndex = i; + } + + /*if (s_DragItemPosition.y > itemPosition.y && s_DragItemPosition.y <= midpoint) + newTargetIndex = i; + else if (s_DragItemPosition.yMax > midpoint && s_DragItemPosition.yMax <= itemPosition.yMax) + newTargetIndex = i + 1;*/ + } + + // Draw list item. + DrawListItem(itemPosition, adaptor, i); + + // Did list count change (i.e. item removed)? + if (adaptor.Count < count) { + // We assume that it was this item which was removed, so --i allows us + // to process the next item as usual. + count = adaptor.Count; + --i; + continue; + } + + // Event has already been used, skip to next item. + if (Event.current.type != EventType.Used) { + switch (eventType) { + case EventType.MouseDown: + if (GUI.enabled && itemPosition.Contains(mousePosition)) { + // Remove input focus from control before attempting a context click or drag. + GUIUtility.keyboardControl = 0; + + if (_allowReordering && adaptor.CanDrag(i) && Event.current.button == 0) { + s_DragItemPosition = itemPosition; + + BeginTrackingReorderDrag(_controlID, i); + s_AnchorMouseOffset = itemPosition.y - mousePosition.y; + s_TargetIndex = i; + + Event.current.Use(); + } + } + break; +/* DEBUG + case EventType.Repaint: + GUI.color = Color.red; + GUI.DrawTexture(new Rect(0, lastMidPoint, 10, 1), EditorGUIUtility.whiteTexture); + GUI.color = Color.yellow; + GUI.DrawTexture(new Rect(5, itemPosition.y + itemPosition.height / 2f, 10, 1), EditorGUIUtility.whiteTexture); + GUI.color = Color.white; + break; +//*/ + } + } + } + + if (HorizontalLineAtEnd) { + var horizontalLinePosition = new Rect(itemPosition.x, position.yMax - ContainerStyle.padding.vertical, itemPosition.width, 1); + GUIHelper.Separator(horizontalLinePosition, HorizontalLineColor); + } + + lastMidPoint = position.yMax - lastHeight / 2f; + + // Assume that drop insertion is not allowed at this time; we can change our + // mind a little further down ;) + _allowDropInsertion = false; + + // Item which is being dragged should be shown on top of other controls! + if (IsTrackingControl(_controlID)) { + if (isMouseDragEvent) { + if (s_DragItemPosition.yMax >= lastMidPoint) + newTargetIndex = count; + + s_TargetIndex = newTargetIndex; + + // Force repaint to occur so that dragging rectangle is visible. + // But only if this is a real MouseDrag event!! + if (eventType == EventType.MouseDrag) + Event.current.Use(); + } + + DrawFloatingListItem(adaptor, targetSlotPosition); +/* DEBUG + if (eventType == EventType.Repaint) { + GUI.color = Color.blue; + GUI.DrawTexture(new Rect(100, lastMidPoint, 20, 1), EditorGUIUtility.whiteTexture); + GUI.color = Color.white; + } +//*/ + } + else { + // Cannot react to drop insertion if a nested drop target has already reacted! + if (s_DropTargetNestedCounter == initialDropTargetNestedCounterValue) { + if (Event.current.mousePosition.y >= lastMidPoint) { + _insertionIndex = adaptor.Count; + _insertionPosition = itemPosition.yMax; + } + _allowDropInsertion = true; + } + } + + // Fake control to catch input focus if auto focus was not possible. + GUIUtility.GetControlID(FocusType.Keyboard); + + if (isMouseDragEvent && (Flags & ReorderableListFlags.DisableAutoScroll) == 0 && IsTrackingControl(_controlID)) + AutoScrollTowardsMouse(); + } + + private static bool ContainsRect(Rect a, Rect b) { + return a.Contains(new Vector2(b.xMin, b.yMin)) && a.Contains(new Vector2(b.xMax, b.yMax)); + } + + private void AutoScrollTowardsMouse() { + const float triggerPaddingInPixels = 8f; + const float maximumRangeInPixels = 4f; + + Rect visiblePosition = GUIHelper.VisibleRect(); + Vector2 mousePosition = Event.current.mousePosition; + Rect mouseRect = new Rect(mousePosition.x - triggerPaddingInPixels, mousePosition.y - triggerPaddingInPixels, triggerPaddingInPixels * 2, triggerPaddingInPixels * 2); + + if (!ContainsRect(visiblePosition, mouseRect)) { + if (mousePosition.y < visiblePosition.center.y) + mousePosition = new Vector2(mouseRect.xMin, mouseRect.yMin); + else + mousePosition = new Vector2(mouseRect.xMax, mouseRect.yMax); + + mousePosition.x = Mathf.Max(mousePosition.x - maximumRangeInPixels, mouseRect.xMax); + mousePosition.y = Mathf.Min(mousePosition.y + maximumRangeInPixels, mouseRect.yMax); + GUI.ScrollTo(new Rect(mousePosition.x, mousePosition.y, 1, 1)); + + s_SimulateMouseDragControlID = _controlID; + + var focusedWindow = EditorWindow.focusedWindow; + if (focusedWindow != null) + focusedWindow.Repaint(); + } + } + + private void HandleDropInsertion(Rect position, IReorderableListAdaptor adaptor) { + var target = adaptor as IReorderableListDropTarget; + if (target == null || !_allowDropInsertion) + return; + + if (target.CanDropInsert(_insertionIndex)) { + ++s_DropTargetNestedCounter; + + switch (Event.current.type) { + case EventType.DragUpdated: + DragAndDrop.visualMode = DragAndDropVisualMode.Move; + DragAndDrop.activeControlID = _controlID; + target.ProcessDropInsertion(_insertionIndex); + Event.current.Use(); + break; + + case EventType.DragPerform: + target.ProcessDropInsertion(_insertionIndex); + + DragAndDrop.AcceptDrag(); + DragAndDrop.activeControlID = 0; + Event.current.Use(); + break; + + default: + target.ProcessDropInsertion(_insertionIndex); + break; + } + + if (DragAndDrop.activeControlID == _controlID && Event.current.type == EventType.Repaint) + DrawDropIndicator(new Rect(position.x, _insertionPosition - 2, position.width, 3)); + } + } + + /// + /// Draws drop insertion indicator. + /// + /// + /// This method is only ever called during repaint events. + /// + /// Position if the drop indicator. + protected virtual void DrawDropIndicator(Rect position) { + GUIHelper.Separator(position); + } + + /// + /// Checks to see if list control needs to be automatically focused. + /// + private void CheckForAutoFocusControl() { + if (Event.current.type == EventType.Used) + return; + + // Automatically focus control! + if (s_AutoFocusControlID == _controlID) { + s_AutoFocusControlID = 0; + GUIHelper.FocusTextInControl("AutoFocus_" + _controlID + "_" + s_AutoFocusIndex); + s_AutoFocusIndex = -1; + } + } + + /// + /// Draw additional controls below list control and highlight drop target. + /// + /// Position of list control in GUI. + /// Reorderable list adaptor. + private void DrawFooterControls(Rect position, IReorderableListAdaptor adaptor) { + if (HasFooterControls) { + Rect buttonPosition = new Rect(position.xMax - 30, position.yMax - 1, 30, FooterButtonStyle.fixedHeight); + + Rect menuButtonPosition = buttonPosition; + var menuIconNormal = ReorderableListResources.GetTexture(ReorderableListTexture.Icon_AddMenu_Normal); + var menuIconActive = ReorderableListResources.GetTexture(ReorderableListTexture.Icon_AddMenu_Active); + + if (HasSizeField) { + // Draw size field. + Rect sizeFieldPosition = new Rect( + position.x, + position.yMax + 1, + Mathf.Max(150f, position.width / 3f), + 16f + ); + + DrawSizeFooterControl(sizeFieldPosition, adaptor); + } + + if (HasAddButton) { + // Draw add menu drop-down button. + if (HasAddMenuButton) { + menuButtonPosition.x = buttonPosition.xMax - 14; + menuButtonPosition.xMax = buttonPosition.xMax; + menuIconNormal = ReorderableListResources.GetTexture(ReorderableListTexture.Icon_Menu_Normal); + menuIconActive = ReorderableListResources.GetTexture(ReorderableListTexture.Icon_Menu_Active); + buttonPosition.width -= 5; + buttonPosition.x = menuButtonPosition.x - buttonPosition.width + 1; + } + + // Draw add item button. + var iconNormal = ReorderableListResources.GetTexture(ReorderableListTexture.Icon_Add_Normal); + var iconActive = ReorderableListResources.GetTexture(ReorderableListTexture.Icon_Add_Active); + + if (GUIHelper.IconButton(buttonPosition, true, iconNormal, iconActive, FooterButtonStyle)) { + // Append item to list. + GUIUtility.keyboardControl = 0; + AddItem(adaptor); + } + } + + if (HasAddMenuButton) { + // Draw add menu drop-down button. + if (GUIHelper.IconButton(menuButtonPosition, true, menuIconNormal, menuIconActive, FooterButtonStyle)) { + GUIUtility.keyboardControl = 0; + Rect totalAddButtonPosition = buttonPosition; + totalAddButtonPosition.xMax = position.xMax; + OnAddMenuClicked(new AddMenuClickedEventArgs(adaptor, totalAddButtonPosition)); + + // This will be helpful in many circumstances; including by default! + GUIUtility.ExitGUI(); + } + } + } + } + + private void DrawSizeFooterControl(Rect position, IReorderableListAdaptor adaptor) { + float restoreLabelWidth = EditorGUIUtility.labelWidth; + EditorGUIUtility.labelWidth = 60f; + + DrawSizeField(position, adaptor); + + EditorGUIUtility.labelWidth = restoreLabelWidth; + } + + /// + /// Cache of container heights mapped by control ID. + /// + private static Dictionary s_ContainerHeightCache = new Dictionary(); + + private Rect GetListRectWithAutoLayout(IReorderableListAdaptor adaptor, float padding) { + float totalHeight; + + // Calculate position of list field using layout engine. + if (Event.current.type == EventType.Layout) { + totalHeight = CalculateListHeight(adaptor); + s_ContainerHeightCache[_controlID] = totalHeight; + } + else { + totalHeight = s_ContainerHeightCache.ContainsKey(_controlID) + ? s_ContainerHeightCache[_controlID] + : 0; + } + + totalHeight += padding; + + return GUILayoutUtility.GetRect(GUIContent.none, ContainerStyle, GUILayout.Height(totalHeight)); + } + + /// + /// Do layout version of list field. + /// + /// Reorderable list adaptor. + /// Padding in pixels. + /// + /// Position of list container area in GUI (excludes footer area). + /// + private Rect DrawLayoutListField(IReorderableListAdaptor adaptor, float padding) { + Rect position = GetListRectWithAutoLayout(adaptor, padding); + + // Make room for footer buttons? + if (HasFooterControls) + position.height -= FooterButtonStyle.fixedHeight; + + // Make room for vertical spacing below footer buttons. + position.height -= VerticalSpacing; + + s_CurrentListStack.Push(new ListInfo(_controlID, position)); + try { + // Draw list as normal. + adaptor.BeginGUI(); + DrawListContainerAndItems(position, adaptor); + HandleDropInsertion(position, adaptor); + adaptor.EndGUI(); + } + finally { + s_CurrentListStack.Pop(); + } + + CheckForAutoFocusControl(); + + return position; + } + + /// + /// Draw content for empty list (layout version). + /// + /// Reorderable list adaptor. + /// Callback to draw empty content. + /// + /// Position of list container area in GUI (excludes footer area). + /// + private Rect DrawLayoutEmptyList(IReorderableListAdaptor adaptor, DrawEmpty drawEmpty) { + Rect position = EditorGUILayout.BeginVertical(ContainerStyle); + { + if (drawEmpty != null) + drawEmpty(); + else + Debug.LogError("Unexpected call to 'DrawLayoutEmptyList'"); + + s_CurrentListStack.Push(new ListInfo(_controlID, position)); + try { + adaptor.BeginGUI(); + _insertionIndex = 0; + _insertionPosition = position.y + 2; + HandleDropInsertion(position, adaptor); + adaptor.EndGUI(); + } + finally { + s_CurrentListStack.Pop(); + } + } + EditorGUILayout.EndVertical(); + + // Allow room for footer buttons? + if (HasFooterControls) + GUILayoutUtility.GetRect(0, FooterButtonStyle.fixedHeight - 1); + + return position; + } + + /// + /// Draw content for empty list (layout version). + /// + /// Position of list control in GUI. + /// Callback to draw empty content. + private void DrawEmptyListControl(Rect position, DrawEmptyAbsolute drawEmpty) { + if (Event.current.type == EventType.Repaint) + ContainerStyle.Draw(position, GUIContent.none, false, false, false, false); + + // Take padding into consideration when drawing empty content. + position = ContainerStyle.padding.Remove(position); + + if (drawEmpty != null) + drawEmpty(position); + } + + /// + /// Correct if for some reason one or more styles are missing! + /// + private void FixStyles() { + ContainerStyle = ContainerStyle ?? ReorderableListStyles.Container; + FooterButtonStyle = FooterButtonStyle ?? ReorderableListStyles.FooterButton; + ItemButtonStyle = ItemButtonStyle ?? ReorderableListStyles.ItemButton; + + if (s_RightAlignedLabelStyle == null) { + s_RightAlignedLabelStyle = new GUIStyle(GUI.skin.label); + s_RightAlignedLabelStyle.alignment = TextAnchor.MiddleRight; + s_RightAlignedLabelStyle.padding.right = 4; + } + } + + /// + /// Draw layout version of list control. + /// + /// Unique ID of list control. + /// Reorderable list adaptor. + /// Delegate for drawing empty list. + private void Draw(int controlID, IReorderableListAdaptor adaptor, DrawEmpty drawEmpty) { + FixStyles(); + PrepareState(controlID, adaptor); + + Rect position; + if (adaptor.Count > 0) + position = DrawLayoutListField(adaptor, 0f); + else if (drawEmpty == null) + position = DrawLayoutListField(adaptor, 5f); + else + position = DrawLayoutEmptyList(adaptor, drawEmpty); + + DrawFooterControls(position, adaptor); + } + + /// + public void Draw(IReorderableListAdaptor adaptor, DrawEmpty drawEmpty) { + int controlID = GetReorderableListControlID(); + Draw(controlID, adaptor, drawEmpty); + } + + /// + public void Draw(IReorderableListAdaptor adaptor) { + int controlID = GetReorderableListControlID(); + Draw(controlID, adaptor, null); + } + + /// + /// Draw list control with absolute positioning. + /// + /// Position of list control in GUI. + /// Unique ID of list control. + /// Reorderable list adaptor. + /// Delegate for drawing empty list. + private void Draw(Rect position, int controlID, IReorderableListAdaptor adaptor, DrawEmptyAbsolute drawEmpty) { + FixStyles(); + PrepareState(controlID, adaptor); + + // Allow for footer area. + if (HasFooterControls) + position.height -= FooterButtonStyle.fixedHeight; + + // Make room for vertical spacing below footer buttons. + position.height -= VerticalSpacing; + + s_CurrentListStack.Push(new ListInfo(_controlID, position)); + try { + adaptor.BeginGUI(); + + DrawListContainerAndItems(position, adaptor); + HandleDropInsertion(position, adaptor); + CheckForAutoFocusControl(); + + if (adaptor.Count == 0) { + ReorderableListGUI.IndexOfChangedItem = -1; + DrawEmptyListControl(position, drawEmpty); + } + + adaptor.EndGUI(); + } + finally { + s_CurrentListStack.Pop(); + } + + DrawFooterControls(position, adaptor); + } + + /// + /// Draw list control with absolute positioning. + /// + /// Position of list control in GUI. + /// Reorderable list adaptor. + /// Delegate for drawing empty list. + public void Draw(Rect position, IReorderableListAdaptor adaptor, DrawEmptyAbsolute drawEmpty) { + int controlID = GetReorderableListControlID(); + Draw(position, controlID, adaptor, drawEmpty); + } + + /// + public void Draw(Rect position, IReorderableListAdaptor adaptor) { + int controlID = GetReorderableListControlID(); + Draw(position, controlID, adaptor, null); + } + + #endregion + + #region Size Field + + private static readonly GUIContent s_Temp = new GUIContent(); + private static readonly GUIContent s_SizePrefixLabel = new GUIContent("Size"); + + /// + /// Draw list size field with absolute positioning and a custom prefix label. + /// + /// + /// Specify a value of GUIContent.none for argument + /// to omit prefix label from the drawn control. + /// + /// Position of list control in GUI. + /// Prefix label for the control. + /// Reorderable list adaptor. + public void DrawSizeField(Rect position, GUIContent label, IReorderableListAdaptor adaptor) { + int sizeControlID = GUIUtility.GetControlID(FocusType.Passive); + string sizeControlName = "ReorderableListControl.Size." + sizeControlID; + GUI.SetNextControlName(sizeControlName); + + if (GUI.GetNameOfFocusedControl() == sizeControlName) { + if (Event.current.rawType == EventType.KeyDown) { + switch (Event.current.keyCode) { + case KeyCode.Return: + case KeyCode.KeypadEnter: + ResizeList(adaptor, _newSizeInput); + Event.current.Use(); + break; + } + } + _newSizeInput = EditorGUI.IntField(position, label, _newSizeInput); + } + else { + EditorGUI.IntField(position, label, adaptor.Count); + _newSizeInput = adaptor.Count; + } + } + + /// + /// Draw list size field with absolute positioning and a custom prefix label. + /// + /// Position of list control in GUI. + /// Prefix label for the control. + /// Reorderable list adaptor. + public void DrawSizeField(Rect position, string label, IReorderableListAdaptor adaptor) { + s_Temp.text = label; + DrawSizeField(position, s_Temp, adaptor); + } + + /// + /// Draw list size field with absolute positioning with the default prefix label. + /// + /// Position of list control in GUI. + /// Reorderable list adaptor. + public void DrawSizeField(Rect position, IReorderableListAdaptor adaptor) { + DrawSizeField(position, s_SizePrefixLabel, adaptor); + } + + /// + /// Draw list size field with automatic layout and a custom prefix label. + /// + /// + /// Specify a value of GUIContent.none for argument + /// to omit prefix label from the drawn control. + /// + /// Prefix label for the control. + /// Reorderable list adaptor. + public void DrawSizeField(GUIContent label, IReorderableListAdaptor adaptor) { + Rect position = GUILayoutUtility.GetRect(0, EditorGUIUtility.singleLineHeight); + DrawSizeField(position, label, adaptor); + } + + /// + /// Draw list size field with automatic layout and a custom prefix label. + /// + /// Prefix label for the control. + /// Reorderable list adaptor. + public void DrawSizeField(string label, IReorderableListAdaptor adaptor) { + s_Temp.text = label; + DrawSizeField(s_Temp, adaptor); + } + + /// + /// Draw list size field with automatic layout and the default prefix label. + /// + /// Reorderable list adaptor. + public void DrawSizeField(IReorderableListAdaptor adaptor) { + DrawSizeField(s_SizePrefixLabel, adaptor); + } + + #endregion + + #region Context Menu + + /// + /// Content for "Move to Top" command. + /// + protected static readonly GUIContent CommandMoveToTop = new GUIContent("Move to Top"); + /// + /// Content for "Move to Bottom" command. + /// + protected static readonly GUIContent CommandMoveToBottom = new GUIContent("Move to Bottom"); + /// + /// Content for "Insert Above" command. + /// + protected static readonly GUIContent CommandInsertAbove = new GUIContent("Insert Above"); + /// + /// Content for "Insert Below" command. + /// + protected static readonly GUIContent CommandInsertBelow = new GUIContent("Insert Below"); + /// + /// Content for "Duplicate" command. + /// + protected static readonly GUIContent CommandDuplicate = new GUIContent("Duplicate"); + /// + /// Content for "Remove" command. + /// + protected static readonly GUIContent CommandRemove = new GUIContent("Remove"); + /// + /// Content for "Clear All" command. + /// + protected static readonly GUIContent CommandClearAll = new GUIContent("Clear All"); + + // Command control id and item index are assigned when context menu is shown. + private static int s_ContextControlID; + private static int s_ContextItemIndex; + + // Command name is assigned by default context menu handler. + private static string s_ContextCommandName; + + private void ShowContextMenu(int itemIndex, IReorderableListAdaptor adaptor) { + GenericMenu menu = new GenericMenu(); + + s_ContextControlID = _controlID; + s_ContextItemIndex = itemIndex; + + AddItemsToMenu(menu, itemIndex, adaptor); + + if (menu.GetItemCount() > 0) + menu.ShowAsContext(); + } + + /// + /// Default functionality to handle context command. + /// + /// + /// Can be used when adding custom items to the context menu: + /// + /// + /// + /// + protected static readonly GenericMenu.MenuFunction2 DefaultContextHandler = DefaultContextMenuHandler; + + private static void DefaultContextMenuHandler(object userData) { + var commandContent = userData as GUIContent; + if (commandContent == null || string.IsNullOrEmpty(commandContent.text)) + return; + + s_ContextCommandName = commandContent.text; + + var e = EditorGUIUtility.CommandEvent("ReorderableListContextCommand"); + EditorWindow.focusedWindow.SendEvent(e); + } + + /// + /// Invoked to generate context menu for list item. + /// + /// Menu which can be populated. + /// Zero-based index of item which was right-clicked. + /// Reorderable list adaptor. + protected virtual void AddItemsToMenu(GenericMenu menu, int itemIndex, IReorderableListAdaptor adaptor) { + if ((Flags & ReorderableListFlags.DisableReordering) == 0) { + if (itemIndex > 0) + menu.AddItem(CommandMoveToTop, false, DefaultContextHandler, CommandMoveToTop); + else + menu.AddDisabledItem(CommandMoveToTop); + + if (itemIndex + 1 < adaptor.Count) + menu.AddItem(CommandMoveToBottom, false, DefaultContextHandler, CommandMoveToBottom); + else + menu.AddDisabledItem(CommandMoveToBottom); + + if (HasAddButton) { + menu.AddSeparator(""); + + menu.AddItem(CommandInsertAbove, false, DefaultContextHandler, CommandInsertAbove); + menu.AddItem(CommandInsertBelow, false, DefaultContextHandler, CommandInsertBelow); + + if ((Flags & ReorderableListFlags.DisableDuplicateCommand) == 0) + menu.AddItem(CommandDuplicate, false, DefaultContextHandler, CommandDuplicate); + } + } + + if (HasRemoveButtons) { + if (menu.GetItemCount() > 0) + menu.AddSeparator(""); + + menu.AddItem(CommandRemove, false, DefaultContextHandler, CommandRemove); + menu.AddSeparator(""); + menu.AddItem(CommandClearAll, false, DefaultContextHandler, CommandClearAll); + } + } + + #endregion + + #region Command Handling + + /// + /// Invoked to handle context command. + /// + /// + /// It is important to set the value of GUI.changed to true if any + /// changes are made by command handler. + /// Default command handling functionality can be inherited: + /// + /// + /// + /// Name of command. This is the text shown in the context menu. + /// Zero-based index of item which was right-clicked. + /// Reorderable list adaptor. + /// + /// A value of true if command was known; otherwise false. + /// + protected virtual bool HandleCommand(string commandName, int itemIndex, IReorderableListAdaptor adaptor) { + switch (commandName) { + case "Move to Top": + MoveItem(adaptor, itemIndex, 0); + return true; + case "Move to Bottom": + MoveItem(adaptor, itemIndex, adaptor.Count); + return true; + + case "Insert Above": + InsertItem(adaptor, itemIndex); + return true; + case "Insert Below": + InsertItem(adaptor, itemIndex + 1); + return true; + case "Duplicate": + DuplicateItem(adaptor, itemIndex); + return true; + + case "Remove": + RemoveItem(adaptor, itemIndex); + return true; + case "Clear All": + ClearAll(adaptor); + return true; + + default: + return false; + } + } + + /// + /// Call to manually perform command. + /// + /// + /// Warning message is logged to console if attempted to execute unknown command. + /// + /// Name of command. This is the text shown in the context menu. + /// Zero-based index of item which was right-clicked. + /// Reorderable list adaptor. + /// + /// A value of true if command was known; otherwise false. + /// + public bool DoCommand(string commandName, int itemIndex, IReorderableListAdaptor adaptor) { + if (!HandleCommand(s_ContextCommandName, itemIndex, adaptor)) { + Debug.LogWarning("Unknown context command."); + return false; + } + return true; + } + + /// + /// Call to manually perform command. + /// + /// + /// Warning message is logged to console if attempted to execute unknown command. + /// + /// Content representing command. + /// Zero-based index of item which was right-clicked. + /// Reorderable list adaptor. + /// + /// A value of true if command was known; otherwise false. + /// + public bool DoCommand(GUIContent command, int itemIndex, IReorderableListAdaptor adaptor) { + return DoCommand(command.text, itemIndex, adaptor); + } + + #endregion + + #region Methods + + /// + /// Calculate height of list control in pixels. + /// + /// Reorderable list adaptor. + /// + /// Required list height in pixels. + /// + public float CalculateListHeight(IReorderableListAdaptor adaptor) { + FixStyles(); + + float totalHeight = ContainerStyle.padding.vertical - 1 + VerticalSpacing; + + // Take list items into consideration. + int count = adaptor.Count; + for (int i = 0; i < count; ++i) + totalHeight += adaptor.GetItemHeight(i); + // Add spacing between list items. + totalHeight += 4 * count; + + // Add height of footer buttons. + if (HasFooterControls) + totalHeight += FooterButtonStyle.fixedHeight; + + return totalHeight; + } + + /// + /// Calculate height of list control in pixels. + /// + /// Count of items in list. + /// Fixed height of list item. + /// + /// Required list height in pixels. + /// + public float CalculateListHeight(int itemCount, float itemHeight) { + FixStyles(); + + float totalHeight = ContainerStyle.padding.vertical - 1 + VerticalSpacing; + + // Take list items into consideration. + totalHeight += (itemHeight + 4) * itemCount; + + // Add height of footer buttons. + if (HasFooterControls) + totalHeight += FooterButtonStyle.fixedHeight; + + return totalHeight; + } + + /// + /// Move item from source index to destination index. + /// + /// Reorderable list adaptor. + /// Zero-based index of source item. + /// Zero-based index of destination index. + protected void MoveItem(IReorderableListAdaptor adaptor, int sourceIndex, int destIndex) { + // Raise event before moving item so that the operation can be cancelled. + var movingEventArgs = new ItemMovingEventArgs(adaptor, sourceIndex, destIndex); + OnItemMoving(movingEventArgs); + if (!movingEventArgs.Cancel) { + adaptor.Move(sourceIndex, destIndex); + + // Item was actually moved! + int newIndex = destIndex; + if (newIndex > sourceIndex) + --newIndex; + OnItemMoved(new ItemMovedEventArgs(adaptor, sourceIndex, newIndex)); + + GUI.changed = true; + } + ReorderableListGUI.IndexOfChangedItem = -1; + } + + /// + /// Add item at end of list and raises the event . + /// + /// Reorderable list adaptor. + protected void AddItem(IReorderableListAdaptor adaptor) { + adaptor.Add(); + AutoFocusItem(s_ContextControlID, adaptor.Count - 1); + + GUI.changed = true; + ReorderableListGUI.IndexOfChangedItem = -1; + + var args = new ItemInsertedEventArgs(adaptor, adaptor.Count - 1, false); + OnItemInserted(args); + } + + /// + /// Insert item at specified index and raises the event . + /// + /// Reorderable list adaptor. + /// Zero-based index of item. + protected void InsertItem(IReorderableListAdaptor adaptor, int itemIndex) { + adaptor.Insert(itemIndex); + AutoFocusItem(s_ContextControlID, itemIndex); + + GUI.changed = true; + ReorderableListGUI.IndexOfChangedItem = -1; + + var args = new ItemInsertedEventArgs(adaptor, itemIndex, false); + OnItemInserted(args); + } + + /// + /// Duplicate specified item and raises the event . + /// + /// Reorderable list adaptor. + /// Zero-based index of item. + protected void DuplicateItem(IReorderableListAdaptor adaptor, int itemIndex) { + adaptor.Duplicate(itemIndex); + AutoFocusItem(s_ContextControlID, itemIndex + 1); + + GUI.changed = true; + ReorderableListGUI.IndexOfChangedItem = -1; + + var args = new ItemInsertedEventArgs(adaptor, itemIndex + 1, true); + OnItemInserted(args); + } + + /// + /// Remove specified item. + /// + /// + /// The event is raised prior to removing item + /// and allows removal to be cancelled. + /// + /// Reorderable list adaptor. + /// Zero-based index of item. + /// + /// Returns a value of false if operation was cancelled. + /// + protected bool RemoveItem(IReorderableListAdaptor adaptor, int itemIndex) { + var args = new ItemRemovingEventArgs(adaptor, itemIndex); + OnItemRemoving(args); + if (args.Cancel) + return false; + + adaptor.Remove(itemIndex); + + GUI.changed = true; + ReorderableListGUI.IndexOfChangedItem = -1; + + return true; + } + + /// + /// Remove all items from list. + /// + /// + /// The event is raised for each item prior to + /// clearing array and allows entire operation to be cancelled. + /// + /// Reorderable list adaptor. + /// + /// Returns a value of false if operation was cancelled. + /// + protected bool ClearAll(IReorderableListAdaptor adaptor) { + if (adaptor.Count == 0) + return true; + + var args = new ItemRemovingEventArgs(adaptor, 0); + int count = adaptor.Count; + for (int i = 0; i < count; ++i) { + args.ItemIndex = i; + OnItemRemoving(args); + if (args.Cancel) + return false; + } + + adaptor.Clear(); + + GUI.changed = true; + ReorderableListGUI.IndexOfChangedItem = -1; + + return true; + } + + /// + /// Set count of items in list by adding or removing items. + /// + /// Reorderable list adaptor. + /// New count of items. + /// + /// Returns a value of false if operation was cancelled. + /// + protected bool ResizeList(IReorderableListAdaptor adaptor, int newCount) { + if (newCount < 0) { + // Do nothing when new count is negative. + return true; + } + + int removeCount = Mathf.Max(0, adaptor.Count - newCount); + int addCount = Mathf.Max(0, newCount - adaptor.Count); + + while (removeCount-- > 0) { + if (!RemoveItem(adaptor, adaptor.Count - 1)) + return false; + } + while (addCount-- > 0) { + AddItem(adaptor); + } + + return true; + } + + #endregion + + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListControl.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListControl.cs.meta new file mode 100644 index 00000000..7a6e67a3 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListControl.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 02045e26a7a39c440ba538e3c9ca2248 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListEvents.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListEvents.cs new file mode 100644 index 00000000..091456c1 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListEvents.cs @@ -0,0 +1,216 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using System; +using System.ComponentModel; +using UnityEngine; + +namespace Rotorz.ReorderableList { + + /// + /// Arguments which are passed to . + /// + public sealed class AddMenuClickedEventArgs : EventArgs { + + /// + /// Gets adaptor to reorderable list container. + /// + public IReorderableListAdaptor Adaptor { get; private set; } + /// + /// Gets position of the add menu button. + /// + public Rect ButtonPosition { get; internal set; } + + /// + /// Initializes a new instance of . + /// + /// Reorderable list adaptor. + /// Position of the add menu button. + public AddMenuClickedEventArgs(IReorderableListAdaptor adaptor, Rect buttonPosition) { + this.Adaptor = adaptor; + this.ButtonPosition = buttonPosition; + } + + } + + /// + /// An event handler which is invoked when the "Add Menu" button is clicked. + /// + /// Object which raised event. + /// Event arguments. + public delegate void AddMenuClickedEventHandler(object sender, AddMenuClickedEventArgs args); + + /// + /// Arguments which are passed to . + /// + public sealed class ItemInsertedEventArgs : EventArgs { + + /// + /// Gets adaptor to reorderable list container which contains element. + /// + public IReorderableListAdaptor Adaptor { get; private set; } + /// + /// Gets zero-based index of item which was inserted. + /// + public int ItemIndex { get; private set; } + + /// + /// Indicates if inserted item was duplicated from another item. + /// + public bool WasDuplicated { get; private set; } + + /// + /// Initializes a new instance of . + /// + /// Reorderable list adaptor. + /// Zero-based index of item. + /// Indicates if inserted item was duplicated from another item. + public ItemInsertedEventArgs(IReorderableListAdaptor adaptor, int itemIndex, bool wasDuplicated) { + this.Adaptor = adaptor; + this.ItemIndex = itemIndex; + this.WasDuplicated = wasDuplicated; + } + + } + + /// + /// An event handler which is invoked after new list item is inserted. + /// + /// Object which raised event. + /// Event arguments. + public delegate void ItemInsertedEventHandler(object sender, ItemInsertedEventArgs args); + + /// + /// Arguments which are passed to . + /// + public sealed class ItemRemovingEventArgs : CancelEventArgs { + + /// + /// Gets adaptor to reorderable list container which contains element. + /// + public IReorderableListAdaptor Adaptor { get; private set; } + /// + /// Gets zero-based index of item which is being removed. + /// + public int ItemIndex { get; internal set; } + + /// + /// Initializes a new instance of . + /// + /// Reorderable list adaptor. + /// Zero-based index of item. + public ItemRemovingEventArgs(IReorderableListAdaptor adaptor, int itemIndex) { + this.Adaptor = adaptor; + this.ItemIndex = itemIndex; + } + + } + + /// + /// An event handler which is invoked before a list item is removed. + /// + /// + /// Item removal can be cancelled by setting + /// to true. + /// + /// Object which raised event. + /// Event arguments. + public delegate void ItemRemovingEventHandler(object sender, ItemRemovingEventArgs args); + + /// + /// Arguments which are passed to . + /// + public sealed class ItemMovingEventArgs : CancelEventArgs { + + /// + /// Gets adaptor to reorderable list container which contains element. + /// + public IReorderableListAdaptor Adaptor { get; private set; } + /// + /// Gets current zero-based index of item which is going to be moved. + /// + public int ItemIndex { get; internal set; } + /// + /// Gets the new candidate zero-based index for the item. + /// + /// + public int DestinationItemIndex { get; internal set; } + + /// + /// Gets zero-based index of item after it has been moved. + /// + /// + public int NewItemIndex { + get { + int result = DestinationItemIndex; + if (result > ItemIndex) + --result; + return result; + } + } + + /// + /// Initializes a new instance of . + /// + /// Reorderable list adaptor. + /// Zero-based index of item. + /// Xero-based index of item destination. + public ItemMovingEventArgs(IReorderableListAdaptor adaptor, int itemIndex, int destinationItemIndex) { + this.Adaptor = adaptor; + this.ItemIndex = itemIndex; + this.DestinationItemIndex = destinationItemIndex; + } + + } + + /// + /// An event handler which is invoked before a list item is moved. + /// + /// + /// Moving of item can be cancelled by setting + /// to true. + /// + /// Object which raised event. + /// Event arguments. + public delegate void ItemMovingEventHandler(object sender, ItemMovingEventArgs args); + + /// + /// Arguments which are passed to . + /// + public sealed class ItemMovedEventArgs : EventArgs { + + /// + /// Gets adaptor to reorderable list container which contains element. + /// + public IReorderableListAdaptor Adaptor { get; private set; } + /// + /// Gets old zero-based index of the item which was moved. + /// + public int OldItemIndex { get; internal set; } + /// + /// Gets new zero-based index of the item which was moved. + /// + public int NewItemIndex { get; internal set; } + + /// + /// Initializes a new instance of . + /// + /// Reorderable list adaptor. + /// Old zero-based index of item. + /// New zero-based index of item. + public ItemMovedEventArgs(IReorderableListAdaptor adaptor, int oldItemIndex, int newItemIndex) { + this.Adaptor = adaptor; + this.OldItemIndex = oldItemIndex; + this.NewItemIndex = newItemIndex; + } + + } + + /// + /// An event handler which is invoked after a list item is moved. + /// + /// Object which raised event. + /// Event arguments. + public delegate void ItemMovedEventHandler(object sender, ItemMovedEventArgs args); + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListEvents.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListEvents.cs.meta new file mode 100644 index 00000000..c217a011 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListEvents.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1d75c9b7fc704a6488376beccd1a93a4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListFlags.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListFlags.cs new file mode 100644 index 00000000..ebb24c04 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListFlags.cs @@ -0,0 +1,62 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using System; + +namespace Rotorz.ReorderableList { + + /// + /// Additional flags which can be passed into reorderable list field. + /// + /// + /// Multiple flags can be specified if desired: + /// + /// + [Flags] + public enum ReorderableListFlags { + /// + /// Hide grab handles and disable reordering of list items. + /// + DisableReordering = 0x0001, + /// + /// Hide add button at base of control. + /// + HideAddButton = 0x0002, + /// + /// Hide remove buttons from list items. + /// + HideRemoveButtons = 0x0004, + /// + /// Do not display context menu upon right-clicking grab handle. + /// + DisableContextMenu = 0x0008, + /// + /// Hide "Duplicate" option from context menu. + /// + DisableDuplicateCommand = 0x0010, + /// + /// Do not automatically focus first control of newly added items. + /// + DisableAutoFocus = 0x0020, + /// + /// Show zero-based index of array elements. + /// + ShowIndices = 0x0040, + /// + [Obsolete("This flag is redundant because the clipping optimization was removed.")] + DisableClipping = 0x0080, + /// + /// Do not attempt to automatically scroll when list is inside a scroll view and + /// the mouse pointer is dragged outside of the visible portion of the list. + /// + DisableAutoScroll = 0x0100, + /// + /// Show "Size" field at base of list control. + /// + ShowSizeField = 0x0200, + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListFlags.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListFlags.cs.meta new file mode 100644 index 00000000..d8bfe856 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListFlags.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8413004edec065f4c881fdb12b5d48b4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListGUI.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListGUI.cs new file mode 100644 index 00000000..1305174e --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListGUI.cs @@ -0,0 +1,576 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +namespace Rotorz.ReorderableList { + + /// + /// Utility class for drawing reorderable lists. + /// + public static class ReorderableListGUI { + + /// + /// Default list item height is 18 pixels. + /// + public const float DefaultItemHeight = 18; + + /// + /// Gets or sets the zero-based index of the last item that was changed. A value of -1 + /// indicates that no item was changed by list. + /// + /// + /// This property should not be set when items are added or removed. + /// + public static int IndexOfChangedItem { get; internal set; } + + /// + /// Gets the control ID of the list that is currently being drawn. + /// + public static int CurrentListControlID { + get { return ReorderableListControl.CurrentListControlID; } + } + + /// + /// Gets the position of the list control that is currently being drawn. + /// + /// + /// The value of this property should be ignored for + /// type events when using reorderable list controls with automatic layout. + /// + /// + public static Rect CurrentListPosition { + get { return ReorderableListControl.CurrentListPosition; } + } + + /// + /// Gets the zero-based index of the list item that is currently being drawn; + /// or a value of -1 if no item is currently being drawn. + /// + public static int CurrentItemIndex { + get { return ReorderableListControl.CurrentItemIndex; } + } + + /// + /// Gets the total position of the list item that is currently being drawn. + /// + /// + /// The value of this property should be ignored for + /// type events when using reorderable list controls with automatic layout. + /// + /// + /// + public static Rect CurrentItemTotalPosition { + get { return ReorderableListControl.CurrentItemTotalPosition; } + } + + #region Basic Item Drawers + + /// + /// Default list item drawer implementation. + /// + /// + /// Always presents the label "Item drawer not implemented.". + /// + /// Position to draw list item control(s). + /// Value of list item. + /// + /// Unmodified value of list item. + /// + /// Type of list item. + public static T DefaultItemDrawer(Rect position, T item) { + GUI.Label(position, "Item drawer not implemented."); + return item; + } + + /// + /// Draws text field allowing list items to be edited. + /// + /// + /// Null values are automatically changed to empty strings since null + /// values cannot be edited using a text field. + /// Value of GUI.changed is set to true if value of item + /// is modified. + /// + /// Position to draw list item control(s). + /// Value of list item. + /// + /// Modified value of list item. + /// + public static string TextFieldItemDrawer(Rect position, string item) { + if (item == null) { + item = ""; + GUI.changed = true; + } + return EditorGUI.TextField(position, item); + } + + #endregion + + /// + /// Gets the default list control implementation. + /// + private static ReorderableListControl DefaultListControl { get; set; } + + static ReorderableListGUI() { + DefaultListControl = new ReorderableListControl(); + + // Duplicate default styles to prevent user scripts from interferring with + // the default list control instance. + DefaultListControl.ContainerStyle = new GUIStyle(ReorderableListStyles.Container); + DefaultListControl.FooterButtonStyle = new GUIStyle(ReorderableListStyles.FooterButton); + DefaultListControl.ItemButtonStyle = new GUIStyle(ReorderableListStyles.ItemButton); + + IndexOfChangedItem = -1; + } + + private static GUIContent s_Temp = new GUIContent(); + + #region Title Control + + /// + /// Draw title control for list field. + /// + /// + /// When needed, should be shown immediately before list field. + /// + /// + /// + /// + /// + /// Content for title control. + public static void Title(GUIContent title) { + Rect position = GUILayoutUtility.GetRect(title, ReorderableListStyles.Title); + Title(position, title); + GUILayout.Space(-1); + } + + /// + /// Draw title control for list field. + /// + /// + /// When needed, should be shown immediately before list field. + /// + /// + /// + /// + /// + /// Text for title control. + public static void Title(string title) { + s_Temp.text = title; + Title(s_Temp); + } + + /// + /// Draw title control for list field with absolute positioning. + /// + /// Position of control. + /// Content for title control. + public static void Title(Rect position, GUIContent title) { + if (Event.current.type == EventType.Repaint) + ReorderableListStyles.Title.Draw(position, title, false, false, false, false); + } + + /// + /// Draw title control for list field with absolute positioning. + /// + /// Position of control. + /// Text for title control. + public static void Title(Rect position, string text) { + s_Temp.text = text; + Title(position, s_Temp); + } + + #endregion + + #region List Control + + /// + /// Draw list field control. + /// + /// The list which can be reordered. + /// Callback to draw list item. + /// Callback to draw custom content for empty list (optional). + /// Height of a single list item. + /// Optional flags to pass into list field. + /// Type of list item. + private static void DoListField(IList list, ReorderableListControl.ItemDrawer drawItem, ReorderableListControl.DrawEmpty drawEmpty, float itemHeight, ReorderableListFlags flags) { + var adaptor = new GenericListAdaptor(list, drawItem, itemHeight); + ReorderableListControl.DrawControlFromState(adaptor, drawEmpty, flags); + } + /// + /// Draw list field control with absolute positioning. + /// + /// Position of control. + /// The list which can be reordered. + /// Callback to draw list item. + /// Callback to draw custom content for empty list (optional). + /// Height of a single list item. + /// Optional flags to pass into list field. + /// Type of list item. + private static void DoListFieldAbsolute(Rect position, IList list, ReorderableListControl.ItemDrawer drawItem, ReorderableListControl.DrawEmptyAbsolute drawEmpty, float itemHeight, ReorderableListFlags flags) { + var adaptor = new GenericListAdaptor(list, drawItem, itemHeight); + ReorderableListControl.DrawControlFromState(position, adaptor, drawEmpty, flags); + } + + + /// + public static void ListField(IList list, ReorderableListControl.ItemDrawer drawItem, ReorderableListControl.DrawEmpty drawEmpty, float itemHeight, ReorderableListFlags flags) { + DoListField(list, drawItem, drawEmpty, itemHeight, flags); + } + /// + public static void ListFieldAbsolute(Rect position, IList list, ReorderableListControl.ItemDrawer drawItem, ReorderableListControl.DrawEmptyAbsolute drawEmpty, float itemHeight, ReorderableListFlags flags) { + DoListFieldAbsolute(position, list, drawItem, drawEmpty, itemHeight, flags); + } + + + /// + public static void ListField(IList list, ReorderableListControl.ItemDrawer drawItem, ReorderableListControl.DrawEmpty drawEmpty, float itemHeight) { + DoListField(list, drawItem, drawEmpty, itemHeight, 0); + } + /// + public static void ListFieldAbsolute(Rect position, IList list, ReorderableListControl.ItemDrawer drawItem, ReorderableListControl.DrawEmptyAbsolute drawEmpty, float itemHeight) { + DoListFieldAbsolute(position, list, drawItem, drawEmpty, itemHeight, 0); + } + + + /// + public static void ListField(IList list, ReorderableListControl.ItemDrawer drawItem, ReorderableListControl.DrawEmpty drawEmpty, ReorderableListFlags flags) { + DoListField(list, drawItem, drawEmpty, DefaultItemHeight, flags); + } + /// + public static void ListFieldAbsolute(Rect position, IList list, ReorderableListControl.ItemDrawer drawItem, ReorderableListControl.DrawEmptyAbsolute drawEmpty, ReorderableListFlags flags) { + DoListFieldAbsolute(position, list, drawItem, drawEmpty, DefaultItemHeight, flags); + } + + + /// + public static void ListField(IList list, ReorderableListControl.ItemDrawer drawItem, ReorderableListControl.DrawEmpty drawEmpty) { + DoListField(list, drawItem, drawEmpty, DefaultItemHeight, 0); + } + /// + public static void ListFieldAbsolute(Rect position, IList list, ReorderableListControl.ItemDrawer drawItem, ReorderableListControl.DrawEmptyAbsolute drawEmpty) { + DoListFieldAbsolute(position, list, drawItem, drawEmpty, DefaultItemHeight, 0); + } + + + /// + public static void ListField(IList list, ReorderableListControl.ItemDrawer drawItem, float itemHeight, ReorderableListFlags flags) { + DoListField(list, drawItem, null, itemHeight, flags); + } + /// + public static void ListFieldAbsolute(Rect position, IList list, ReorderableListControl.ItemDrawer drawItem, float itemHeight, ReorderableListFlags flags) { + DoListFieldAbsolute(position, list, drawItem, null, itemHeight, flags); + } + + + /// + public static void ListField(IList list, ReorderableListControl.ItemDrawer drawItem, float itemHeight) { + DoListField(list, drawItem, null, itemHeight, 0); + } + /// + public static void ListFieldAbsolute(Rect position, IList list, ReorderableListControl.ItemDrawer drawItem, float itemHeight) { + DoListFieldAbsolute(position, list, drawItem, null, itemHeight, 0); + } + + + /// + public static void ListField(IList list, ReorderableListControl.ItemDrawer drawItem, ReorderableListFlags flags) { + DoListField(list, drawItem, null, DefaultItemHeight, flags); + } + /// + public static void ListFieldAbsolute(Rect position, IList list, ReorderableListControl.ItemDrawer drawItem, ReorderableListFlags flags) { + DoListFieldAbsolute(position, list, drawItem, null, DefaultItemHeight, flags); + } + + + /// + public static void ListField(IList list, ReorderableListControl.ItemDrawer drawItem) { + DoListField(list, drawItem, null, DefaultItemHeight, 0); + } + /// + public static void ListFieldAbsolute(Rect position, IList list, ReorderableListControl.ItemDrawer drawItem) { + DoListFieldAbsolute(position, list, drawItem, null, DefaultItemHeight, 0); + } + + + /// + /// Calculate height of list field for absolute positioning. + /// + /// Count of items in list. + /// Fixed height of list item. + /// Optional flags to pass into list field. + /// + /// Required list height in pixels. + /// + public static float CalculateListFieldHeight(int itemCount, float itemHeight, ReorderableListFlags flags) { + // We need to push/pop flags so that nested controls are properly calculated. + var restoreFlags = DefaultListControl.Flags; + try { + DefaultListControl.Flags = flags; + return DefaultListControl.CalculateListHeight(itemCount, itemHeight); + } + finally { + DefaultListControl.Flags = restoreFlags; + } + } + + /// + public static float CalculateListFieldHeight(int itemCount, ReorderableListFlags flags) { + return CalculateListFieldHeight(itemCount, DefaultItemHeight, flags); + } + /// + public static float CalculateListFieldHeight(int itemCount, float itemHeight) { + return CalculateListFieldHeight(itemCount, itemHeight, 0); + } + /// + public static float CalculateListFieldHeight(int itemCount) { + return CalculateListFieldHeight(itemCount, DefaultItemHeight, 0); + } + + #endregion + + #region SerializedProperty Control + + /// + /// Draw list field control for serializable property array. + /// + /// Serializable property. + /// Use fixed height for items rather than . + /// Callback to draw custom content for empty list (optional). + /// Optional flags to pass into list field. + private static void DoListField(SerializedProperty arrayProperty, float fixedItemHeight, ReorderableListControl.DrawEmpty drawEmpty, ReorderableListFlags flags) { + var adaptor = new SerializedPropertyAdaptor(arrayProperty, fixedItemHeight); + ReorderableListControl.DrawControlFromState(adaptor, drawEmpty, flags); + } + /// + /// Draw list field control for serializable property array. + /// + /// Position of control. + /// Serializable property. + /// Use fixed height for items rather than . + /// Callback to draw custom content for empty list (optional). + /// Optional flags to pass into list field. + private static void DoListFieldAbsolute(Rect position, SerializedProperty arrayProperty, float fixedItemHeight, ReorderableListControl.DrawEmptyAbsolute drawEmpty, ReorderableListFlags flags) { + var adaptor = new SerializedPropertyAdaptor(arrayProperty, fixedItemHeight); + ReorderableListControl.DrawControlFromState(position, adaptor, drawEmpty, flags); + } + + + /// + public static void ListField(SerializedProperty arrayProperty, ReorderableListControl.DrawEmpty drawEmpty, ReorderableListFlags flags) { + DoListField(arrayProperty, 0, drawEmpty, flags); + } + /// + public static void ListFieldAbsolute(Rect position, SerializedProperty arrayProperty, ReorderableListControl.DrawEmptyAbsolute drawEmpty, ReorderableListFlags flags) { + DoListFieldAbsolute(position, arrayProperty, 0, drawEmpty, flags); + } + + + /// + public static void ListField(SerializedProperty arrayProperty, ReorderableListControl.DrawEmpty drawEmpty) { + DoListField(arrayProperty, 0, drawEmpty, 0); + } + /// + public static void ListFieldAbsolute(Rect position, SerializedProperty arrayProperty, ReorderableListControl.DrawEmptyAbsolute drawEmpty) { + DoListFieldAbsolute(position, arrayProperty, 0, drawEmpty, 0); + } + + + /// + public static void ListField(SerializedProperty arrayProperty, ReorderableListFlags flags) { + DoListField(arrayProperty, 0, null, flags); + } + /// + public static void ListFieldAbsolute(Rect position, SerializedProperty arrayProperty, ReorderableListFlags flags) { + DoListFieldAbsolute(position, arrayProperty, 0, null, flags); + } + + + /// + public static void ListField(SerializedProperty arrayProperty) { + DoListField(arrayProperty, 0, null, 0); + } + /// + public static void ListFieldAbsolute(Rect position, SerializedProperty arrayProperty) { + DoListFieldAbsolute(position, arrayProperty, 0, null, 0); + } + + + /// + /// Calculate height of list field for absolute positioning. + /// + /// Serializable property. + /// Optional flags to pass into list field. + /// + /// Required list height in pixels. + /// + public static float CalculateListFieldHeight(SerializedProperty arrayProperty, ReorderableListFlags flags) { + // We need to push/pop flags so that nested controls are properly calculated. + var restoreFlags = DefaultListControl.Flags; + try { + DefaultListControl.Flags = flags; + return DefaultListControl.CalculateListHeight(new SerializedPropertyAdaptor(arrayProperty)); + } + finally { + DefaultListControl.Flags = restoreFlags; + } + } + + /// + public static float CalculateListFieldHeight(SerializedProperty arrayProperty) { + return CalculateListFieldHeight(arrayProperty, 0); + } + + #endregion + + #region SerializedProperty Control (Fixed Item Height) + + /// + public static void ListField(SerializedProperty arrayProperty, float fixedItemHeight, ReorderableListControl.DrawEmpty drawEmpty, ReorderableListFlags flags) { + DoListField(arrayProperty, fixedItemHeight, drawEmpty, flags); + } + /// + public static void ListFieldAbsolute(Rect position, SerializedProperty arrayProperty, float fixedItemHeight, ReorderableListControl.DrawEmptyAbsolute drawEmpty, ReorderableListFlags flags) { + DoListFieldAbsolute(position, arrayProperty, fixedItemHeight, drawEmpty, flags); + } + + + /// + public static void ListField(SerializedProperty arrayProperty, float fixedItemHeight, ReorderableListControl.DrawEmpty drawEmpty) { + DoListField(arrayProperty, fixedItemHeight, drawEmpty, 0); + } + /// + public static void ListFieldAbsolute(Rect position, SerializedProperty arrayProperty, float fixedItemHeight, ReorderableListControl.DrawEmptyAbsolute drawEmpty) { + DoListFieldAbsolute(position, arrayProperty, fixedItemHeight, drawEmpty, 0); + } + + + /// + public static void ListField(SerializedProperty arrayProperty, float fixedItemHeight, ReorderableListFlags flags) { + DoListField(arrayProperty, fixedItemHeight, null, flags); + } + /// + public static void ListFieldAbsolute(Rect position, SerializedProperty arrayProperty, float fixedItemHeight, ReorderableListFlags flags) { + DoListFieldAbsolute(position, arrayProperty, fixedItemHeight, null, flags); + } + + + /// + public static void ListField(SerializedProperty arrayProperty, float fixedItemHeight) { + DoListField(arrayProperty, fixedItemHeight, null, 0); + } + /// + public static void ListFieldAbsolute(Rect position, SerializedProperty arrayProperty, float fixedItemHeight) { + DoListFieldAbsolute(position, arrayProperty, fixedItemHeight, null, 0); + } + + #endregion + + #region Adaptor Control + + /// + /// Draw list field control for adapted collection. + /// + /// Reorderable list adaptor. + /// Callback to draw custom content for empty list (optional). + /// Optional flags to pass into list field. + private static void DoListField(IReorderableListAdaptor adaptor, ReorderableListControl.DrawEmpty drawEmpty, ReorderableListFlags flags = 0) { + ReorderableListControl.DrawControlFromState(adaptor, drawEmpty, flags); + } + /// + /// Draw list field control for adapted collection. + /// + /// Position of control. + /// Reorderable list adaptor. + /// Callback to draw custom content for empty list (optional). + /// Optional flags to pass into list field. + private static void DoListFieldAbsolute(Rect position, IReorderableListAdaptor adaptor, ReorderableListControl.DrawEmptyAbsolute drawEmpty, ReorderableListFlags flags = 0) { + ReorderableListControl.DrawControlFromState(position, adaptor, drawEmpty, flags); + } + + + /// + public static void ListField(IReorderableListAdaptor adaptor, ReorderableListControl.DrawEmpty drawEmpty, ReorderableListFlags flags) { + DoListField(adaptor, drawEmpty, flags); + } + /// + public static void ListFieldAbsolute(Rect position, IReorderableListAdaptor adaptor, ReorderableListControl.DrawEmptyAbsolute drawEmpty, ReorderableListFlags flags) { + DoListFieldAbsolute(position, adaptor, drawEmpty, flags); + } + + + /// + public static void ListField(IReorderableListAdaptor adaptor, ReorderableListControl.DrawEmpty drawEmpty) { + DoListField(adaptor, drawEmpty, 0); + } + /// + public static void ListFieldAbsolute(Rect position, IReorderableListAdaptor adaptor, ReorderableListControl.DrawEmptyAbsolute drawEmpty) { + DoListFieldAbsolute(position, adaptor, drawEmpty, 0); + } + + + /// + public static void ListField(IReorderableListAdaptor adaptor, ReorderableListFlags flags) { + DoListField(adaptor, null, flags); + } + /// + public static void ListFieldAbsolute(Rect position, IReorderableListAdaptor adaptor, ReorderableListFlags flags) { + DoListFieldAbsolute(position, adaptor, null, flags); + } + + + /// + public static void ListField(IReorderableListAdaptor adaptor) { + DoListField(adaptor, null, 0); + } + /// + public static void ListFieldAbsolute(Rect position, IReorderableListAdaptor adaptor) { + DoListFieldAbsolute(position, adaptor, null, 0); + } + + + /// + /// Calculate height of list field for adapted collection. + /// + /// Reorderable list adaptor. + /// Optional flags to pass into list field. + /// + /// Required list height in pixels. + /// + public static float CalculateListFieldHeight(IReorderableListAdaptor adaptor, ReorderableListFlags flags) { + // We need to push/pop flags so that nested controls are properly calculated. + var restoreFlags = DefaultListControl.Flags; + try { + DefaultListControl.Flags = flags; + return DefaultListControl.CalculateListHeight(adaptor); + } + finally { + DefaultListControl.Flags = restoreFlags; + } + } + + /// + public static float CalculateListFieldHeight(IReorderableListAdaptor adaptor) { + return CalculateListFieldHeight(adaptor, 0); + } + + #endregion + + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListGUI.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListGUI.cs.meta new file mode 100644 index 00000000..1cdd488e --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListGUI.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0cda42c9be3a73c469749c5422090d9a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListStyles.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListStyles.cs new file mode 100644 index 00000000..3bd5f52a --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListStyles.cs @@ -0,0 +1,114 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using Rotorz.ReorderableList.Internal; +using UnityEditor; +using UnityEngine; + +namespace Rotorz.ReorderableList { + + /// + /// Styles for the . + /// + public static class ReorderableListStyles { + + static ReorderableListStyles() { + Title = new GUIStyle(); + Title.border = new RectOffset(2, 2, 2, 1); + Title.margin = new RectOffset(5, 5, 5, 0); + Title.padding = new RectOffset(5, 5, 3, 3); + Title.alignment = TextAnchor.MiddleLeft; + Title.normal.background = ReorderableListResources.GetTexture(ReorderableListTexture.TitleBackground); + Title.normal.textColor = EditorGUIUtility.isProSkin + ? new Color(0.8f, 0.8f, 0.8f) + : new Color(0.2f, 0.2f, 0.2f); + + Container = new GUIStyle(); + Container.border = new RectOffset(2, 2, 2, 2); + Container.margin = new RectOffset(5, 5, 0, 0); + Container.padding = new RectOffset(2, 2, 2, 2); + Container.normal.background = ReorderableListResources.GetTexture(ReorderableListTexture.ContainerBackground); + + Container2 = new GUIStyle(Container); + Container2.normal.background = ReorderableListResources.GetTexture(ReorderableListTexture.Container2Background); + + FooterButton = new GUIStyle(); + FooterButton.fixedHeight = 16; + FooterButton.alignment = TextAnchor.MiddleCenter; + FooterButton.normal.background = ReorderableListResources.GetTexture(ReorderableListTexture.Button_Normal); + FooterButton.active.background = ReorderableListResources.GetTexture(ReorderableListTexture.Button_Active); + FooterButton.border = new RectOffset(3, 3, 1, 3); + FooterButton.padding = new RectOffset(2, 2, 0, 2); + FooterButton.clipping = TextClipping.Overflow; + + FooterButton2 = new GUIStyle(); + FooterButton2.fixedHeight = 18; + FooterButton2.alignment = TextAnchor.MiddleCenter; + FooterButton2.normal.background = ReorderableListResources.GetTexture(ReorderableListTexture.Button2_Normal); + FooterButton2.active.background = ReorderableListResources.GetTexture(ReorderableListTexture.Button2_Active); + FooterButton2.border = new RectOffset(3, 3, 3, 3); + FooterButton2.padding = new RectOffset(2, 2, 2, 2); + FooterButton2.clipping = TextClipping.Overflow; + + ItemButton = new GUIStyle(); + ItemButton.active.background = ReorderableListResources.CreatePixelTexture("Dark Pixel (List GUI)", new Color32(18, 18, 18, 255)); + ItemButton.imagePosition = ImagePosition.ImageOnly; + ItemButton.alignment = TextAnchor.MiddleCenter; + ItemButton.overflow = new RectOffset(0, 0, -1, 0); + ItemButton.padding = new RectOffset(0, 0, 1, 0); + ItemButton.contentOffset = new Vector2(0, -1f); + + SelectedItem = new GUIStyle(); + SelectedItem.normal.background = ReorderableListResources.texHighlightColor; + SelectedItem.normal.textColor = Color.white; + SelectedItem.fontSize = 12; + } + + /// + /// Gets style for title header. + /// + public static GUIStyle Title { get; private set; } + + /// + /// Gets style for the background of list control. + /// + public static GUIStyle Container { get; private set; } + /// + /// Gets an alternative style for the background of list control. + /// + public static GUIStyle Container2 { get; private set; } + /// + /// Gets style for footer button. + /// + public static GUIStyle FooterButton { get; private set; } + /// + /// Gets an alternative style for footer button. + /// + public static GUIStyle FooterButton2 { get; private set; } + /// + /// Gets style for remove item button. + /// + public static GUIStyle ItemButton { get; private set; } + + /// + /// Gets style for the background of a selected item. + /// + public static GUIStyle SelectedItem { get; private set; } + + /// + /// Gets color for the horizontal lines that appear between list items. + /// + public static Color HorizontalLineColor { + get { return EditorGUIUtility.isProSkin ? new Color(1f, 1f, 1f, 0.14f) : new Color(0.59f, 0.59f, 0.59f, 0.55f); } + } + + /// + /// Gets color of background for a selected list item. + /// + public static Color SelectionBackgroundColor { + get { return EditorGUIUtility.isProSkin ? new Color32(62, 95, 150, 255) : new Color32(62, 125, 231, 255); } + } + + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListStyles.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListStyles.cs.meta new file mode 100644 index 00000000..7883dfc4 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/ReorderableListStyles.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c4843f314e955fb459f99b33194fbebd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/SerializedPropertyAdaptor.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/SerializedPropertyAdaptor.cs new file mode 100644 index 00000000..59fdafb3 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/SerializedPropertyAdaptor.cs @@ -0,0 +1,159 @@ +// Copyright (c) Rotorz Limited. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root. + +using Rotorz.ReorderableList.Internal; +using System; +using UnityEditor; +using UnityEngine; + +namespace Rotorz.ReorderableList { + + /// + /// Reorderable list adaptor for serialized array property. + /// + /// + /// This adaptor can be subclassed to add special logic to item height calculation. + /// You may want to implement a custom adaptor class where specialised functionality + /// is needed. + /// List elements are not cloned using the + /// interface when using a to + /// manipulate lists. + /// + public class SerializedPropertyAdaptor : IReorderableListAdaptor { + + private SerializedProperty _arrayProperty; + + /// + /// Fixed height of each list item. + /// + /// + /// Non-zero value overrides property drawer height calculation + /// which is more efficient. + /// + public float FixedItemHeight; + + /// + /// Gets element from list. + /// + /// Zero-based index of element. + /// + /// Serialized property wrapper for array element. + /// + public SerializedProperty this[int index] { + get { return _arrayProperty.GetArrayElementAtIndex(index); } + } + + /// + /// Gets the underlying serialized array property. + /// + public SerializedProperty arrayProperty { + get { return _arrayProperty; } + } + + #region Construction + + /// + /// Initializes a new instance of . + /// + /// Serialized property for entire array. + /// Non-zero height overrides property drawer height calculation. + public SerializedPropertyAdaptor(SerializedProperty arrayProperty, float fixedItemHeight) { + if (arrayProperty == null) + throw new ArgumentNullException("Array property was null."); + if (!arrayProperty.isArray) + throw new InvalidOperationException("Specified serialized propery is not an array."); + + this._arrayProperty = arrayProperty; + this.FixedItemHeight = fixedItemHeight; + } + + /// + /// Initializes a new instance of . + /// + /// Serialized property for entire array. + public SerializedPropertyAdaptor(SerializedProperty arrayProperty) : this(arrayProperty, 0f) { + } + + #endregion + + #region IReorderableListAdaptor - Implementation + + /// + public int Count { + get { return _arrayProperty.arraySize; } + } + + /// + public virtual bool CanDrag(int index) { + return true; + } + /// + public virtual bool CanRemove(int index) { + return true; + } + + /// + public void Add() { + int newIndex = _arrayProperty.arraySize; + ++_arrayProperty.arraySize; + SerializedPropertyUtility.ResetValue(_arrayProperty.GetArrayElementAtIndex(newIndex)); + } + /// + public void Insert(int index) { + _arrayProperty.InsertArrayElementAtIndex(index); + SerializedPropertyUtility.ResetValue(_arrayProperty.GetArrayElementAtIndex(index)); + } + /// + public void Duplicate(int index) { + _arrayProperty.InsertArrayElementAtIndex(index); + } + /// + public void Remove(int index) { + // Unity doesn't remove element when it contains an object reference. + var elementProperty = _arrayProperty.GetArrayElementAtIndex(index); + if (elementProperty.propertyType == SerializedPropertyType.ObjectReference) + elementProperty.objectReferenceValue = null; + + _arrayProperty.DeleteArrayElementAtIndex(index); + } + /// + public void Move(int sourceIndex, int destIndex) { + if (destIndex > sourceIndex) + --destIndex; + _arrayProperty.MoveArrayElement(sourceIndex, destIndex); + } + /// + public void Clear() { + _arrayProperty.ClearArray(); + } + + /// + public virtual void BeginGUI() { + } + + /// + public virtual void EndGUI() { + } + + /// + public virtual void DrawItemBackground(Rect position, int index) { + } + + /// + public virtual void DrawItem(Rect position, int index) { + EditorGUI.PropertyField(position, this[index], GUIContent.none, false); + } + + /// + public virtual float GetItemHeight(int index) { + return FixedItemHeight != 0f + ? FixedItemHeight + : EditorGUI.GetPropertyHeight(this[index], GUIContent.none, false) + ; + } + + #endregion + + } + +} diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/SerializedPropertyAdaptor.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/SerializedPropertyAdaptor.cs.meta new file mode 100644 index 00000000..ed40b949 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Editor/SerializedPropertyAdaptor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 591bfb933f0cb1a429927d177e35f97d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/LICENSE.txt b/Assets/Fungus/Thirdparty/Reorderable List Field/LICENSE.txt index 68f7deeb..73001aaf 100755 --- a/Assets/Fungus/Thirdparty/Reorderable List Field/LICENSE.txt +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/LICENSE.txt @@ -1,4 +1,4 @@ -The MIT License (MIT) +The MIT License (MIT) Copyright (c) 2013-2015 Rotorz Limited diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/LICENSE.txt.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/LICENSE.txt.meta index 9f94a2ba..5e71e756 100644 --- a/Assets/Fungus/Thirdparty/Reorderable List Field/LICENSE.txt.meta +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/LICENSE.txt.meta @@ -1,6 +1,7 @@ fileFormatVersion: 2 guid: 8fc66c8c3ee484548a40e9b4cb50f206 TextScriptImporter: + externalObjects: {} userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Properties.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Properties.meta new file mode 100644 index 00000000..a75bc535 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Properties.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: adbb9aeb25106a54e9af119d9d77e332 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Properties/AssemblyInfo.cs b/Assets/Fungus/Thirdparty/Reorderable List Field/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..21a59e6d --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Editor.ReorderableList")] +[assembly: AssemblyDescription("Reorderable list field for custom Unity editor scripts.")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Rotorz Limited")] +[assembly: AssemblyProduct("Editor.ReorderableList")] +[assembly: AssemblyCopyright("©2013-2016 Rotorz Limited. All rights reserved.")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("15882e08-6b4f-459f-a1d0-e4b26821f344")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("0.0.0.0")] +[assembly: AssemblyFileVersion("0.4.4.0")] diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Properties/AssemblyInfo.cs.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Properties/AssemblyInfo.cs.meta new file mode 100644 index 00000000..5d771b95 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Properties/AssemblyInfo.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9229bf01f21bb1842a94bbabd158f241 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/README.txt b/Assets/Fungus/Thirdparty/Reorderable List Field/README.md old mode 100755 new mode 100644 similarity index 94% rename from Assets/Fungus/Thirdparty/Reorderable List Field/README.txt rename to Assets/Fungus/Thirdparty/Reorderable List Field/README.md index 6ca1fd5e..03a98a94 --- a/Assets/Fungus/Thirdparty/Reorderable List Field/README.txt +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/README.md @@ -1,4 +1,4 @@ -README +README ====== List control for Unity allowing editor developers to add reorderable list controls to @@ -21,7 +21,7 @@ Features - Subscribe to add/remove item events. - Supports mixed item heights. - Disable drag and/or removal on per-item basis. -- [Drop insertion]() (for use with `UnityEditor.DragAndDrop`). +- Drop insertion (for use with `UnityEditor.DragAndDrop`). - Styles can be overridden on per-list basis if desired. - Subclass list control to override context menu. - Add drop-down to add menu (or instead of add menu). @@ -29,6 +29,12 @@ Features - User guide (Asset Path/Support/User Guide.pdf). - API reference documentation (Asset Path/Support/API Reference.chm). + +Preview (showing drop insertion feature) +---------------------------------------- + +![preview](https://bitbucket.org/rotorz/reorderable-list-editor-field-for-unity/raw/master/preview.gif) + Installing scripts ------------------ @@ -136,4 +142,4 @@ must be met: - The act of submitting a contribution indicates that the contributor agrees with this agreement. This includes (but is not limited to) pull requests, issues, - tickets, e-mails, newsgroups, blogs, forums, etc. \ No newline at end of file + tickets, e-mails, newsgroups, blogs, forums, etc. diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/README.txt.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/README.md.meta similarity index 61% rename from Assets/Fungus/Thirdparty/Reorderable List Field/README.txt.meta rename to Assets/Fungus/Thirdparty/Reorderable List Field/README.md.meta index a01f2b7c..d1453d88 100644 --- a/Assets/Fungus/Thirdparty/Reorderable List Field/README.txt.meta +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/README.md.meta @@ -1,6 +1,7 @@ fileFormatVersion: 2 -guid: d5735c08f13f43a44be11da81110e424 +guid: c4b649ac64aa4bd428c41192aba38c61 TextScriptImporter: + externalObjects: {} userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Support.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Support.meta new file mode 100644 index 00000000..1d1ca115 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Support.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 457a6fa816de84a4bb30c03f176b4554 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Support/API Reference.chm b/Assets/Fungus/Thirdparty/Reorderable List Field/Support/API Reference.chm new file mode 100644 index 0000000000000000000000000000000000000000..dee652f19aa0cd97628a11d62d9517ecf5f75bb0 GIT binary patch literal 345248 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

?wzdn-EN~D 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 E*SuW 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 literal 0 HcmV?d00001 diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Support/API Reference.chm.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Support/API Reference.chm.meta new file mode 100644 index 00000000..aec749ff --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Support/API Reference.chm.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ff01767a12436d745bc2fc6157a4f303 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Support/API Reference.chw b/Assets/Fungus/Thirdparty/Reorderable List Field/Support/API Reference.chw new file mode 100644 index 0000000000000000000000000000000000000000..04dc7b4d3955f565bee34a6f03c3e8a185e79a2c GIT binary patch literal 38484 zcmeHQ33OG(8J-}@A}S!@2KYooP)XR7MXH8`Kr{hNo(j0YBY6pt1KP>e&4+_dH25M-kEtXJ*VxxIe+fWdw2ft zpMUkbe?tOoIzcj4>fh71;B`1=)GpWd=>#O`6@;WsAy>fI4Jf3J4# z7GjP(iw*8YJf=Qy&mU9>F#wnGd;Fi@C;uEP&s%UGkHg%Ps1W-`?0V0|j^ncrJ;!)( z945{aDbXUjMVIIiX^|8e{3Jyy?j0r?MYE_W_}vyUTh!sZ8IXLgm?fr(sW{h)nPNJw zrsJm;pQ+;@Tr{j)Uc(v;l*H@YV;DYQ1!N`qzOE35i0Wnav8H5OGM!AdB&YtMZ3T%c zKC$n%zKa8Kb*1_%`a_6F2ayigA0j)5bP(Br>lvcH5cP$qFGPL8)j-r2`mrx?Uhf{` zaN_KKHi!|x*&xPEt3Zql)`K`O-vnaR@BnBKXb%W;eeqe)5YQW-p`f=x2ZK(ZGO$7n zUOsCUuKfqUB|Zb6LvS7-_T%?{fH8RBQI!)x3=`v=yD4V^kx&AWQ7@vPv~zd%7r#GD z4DX9p{P)J3c&Zz}lPK9MHfIYuSFHU2lzu^SplsDZYZWoXVo8)(3(VG>Qqvf_X*WKWgLOmIib~@k2M4RXULT8?)DBER{=Mr2e zP(F>{o5eDRQ?^}n^wS_YT?kG!;L-`1*5h}=(NY6s$l$83PnN}ysRJ^v#iv0vr!9{G z?}?zZKq*if^dM+A=t@s z@|44ceS+2yR=ORfc7a}$rC;%tu14#32J)Z=j+SM=gljj;(&gxZHmu}OoPsR*HpypS z9-ms+VGnq9IBmi{8{8*WOHMz|<5Z9KVeW^cRkc_nTQ!*5?ULK?0=X>!SN7M9A+lX5 zx&1wlTcebQBgz7hJIZl%3ewu?k{^6Sj`qF$$g?Me({qy3h&)bydkm6hlH@U7@<^c; z3A9_v(Ye`pJx}sF*~2R-Hua4*9C7^zZWPbRQgiSJ$54)@9G{r^EAFW{Vk|+)7Eqhy zu+YI>k8&IV$VK@JT2U)L+Z4(dEJUT`*ChFI6lE?l=2$fUia|$uK6q6g50-a*V8*Wu zXFOdlu{%-Dd(1$u?y-w>i_w}W)@d8XR$8zT^e~=t$=Plq6!|%0Do44bWLcQ{E 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 F_-~_b0W|;s literal 0 HcmV?d00001 diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Support/API Reference.chw.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Support/API Reference.chw.meta new file mode 100644 index 00000000..c15b0473 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Support/API Reference.chw.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2a6cc2b87d678a44f9aac32c49b2373f +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Support/Resources.zip b/Assets/Fungus/Thirdparty/Reorderable List Field/Support/Resources.zip new file mode 100644 index 0000000000000000000000000000000000000000..1e16dc7c2c6cc1d4045a5f5394bfaaa237cf6042 GIT binary patch literal 25661 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 E0Y;K3@Bjb+ literal 0 HcmV?d00001 diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Support/Resources.zip.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/Support/Resources.zip.meta new file mode 100644 index 00000000..ce39de24 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/Support/Resources.zip.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 560954e67fbf14b43a2d6638190e8325 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/Support/User Guide.pdf b/Assets/Fungus/Thirdparty/Reorderable List Field/Support/User Guide.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fdd90b29b7ab89ededc1a3463065c60b2de2545f GIT binary patch literal 157669 zcmeGEbwE|k_5ciT8c7jQKsu!11Ra7j0@4kVhwcUy!9u!QL8K&=4g(2Eky5%l1QaPj z;N9ndb?{Zjnl)?I>^(EAIV@^2a@3?fv>U?A!`Y3V?UIX`g$;sUPF0Ow2jS*!>+D1i<$JOTd@uucyo(p{5KflJI{AOrO;68zg&vLv-joqe)*d$W zP$*cafkepJI(UFJ^2#}Y5@iq;&Xx$I40jJuTSq*f2M-gxwX_D#26esk_RHvm^iuk* zI|56_l78fO&8z}42q13(MgbWu`p5V0n_`^8qkvF_G=;F8y>$zHI{*`n1v_(4tu3rD zes^PIyrW}1@>*R**Z4x3@jHWaK#VsBCpUfqI(<0nB+j*(UZ%{)ON0IZhS+NW4kQ&8 z5*(fGQlpQF3_35aG>dsC`!ooR*?$6dW*zHLLa_|Ciw-=JBr$v@tj|SqE<}i5K8m5T zDWRAk#rN^1Q9sUS6E`Y{V@Ci1~C2<=}?n%r=Ah#aNh0+K|u>N#4v0Oc- z54KgkJ%squ>9dT|WD2wzcgyK9TB*$?BcgC-aj>M-)u`ieKhrbB5j)6aGOCG|cQk0EVI{7D*b{gpZA#jF5$L~^5f$%Y+7wH)f)?xWncMe`rm@Y*KMQ@v za}C>#V3zJ>t%){Qkm~j7CF%9;HSSe{B^RoAU67B(nq8fh+mPL0+Aus7a;M}@B&MPH zOPO$)=S`2A+!bGBC1i!paZ%@masSBttvnR5VY7uA$ElaE9B&gM8 zY-?I05SHACMua=U-migbz)d$iSFsZFl+tgYID_z}D$dwJj| zxMg;O^MLt)>fk)~v%m_p0n@tr0EXf2{wQlbYaw$Pm>aZRz)pY)oRurl;Ao-&iptxo-U{`o5I*0X76SGYyEuj*0hxp5Ke zjh8&u`)cS|vRt`m<7m-Y6{k6u4YdBj?8RsXgAB|}`)U{p@jKt^!}B4ek~qw$W}*i_6E zbSiwxnQ@egXcYNW>fX*o|hi_FH%^N$yFd zFT8B*c|ix3KzR*DM01X0fNUp_@^zubyEpqy>!In0nv(5jX(bPb$UoXfVB|i4Cr?JH zr9t8sqpCSwMcUZ&V7B*Gnv3RNDQsW4nDp%e3;mozyOf=bojnx~H_s}W>b=B<6-8ae zE)}{~NGn@AMQ3@(=tJR-ojF0vOZuE;B3N2IU0UgCy4CtZ39CuQu?GUIVhfhV9z48N z&J~Btjs>h=#J;?`dfTAUpzq<+ggWR=hoX+*VbAW`UC*%<{{C~t>4TFMQ;Tv9&2ixp zWJzb^&b=5WE6FQRt8tN@+O>Mx*(rNQ_S@rV?rlRNCt1fir_~9o636vQ)i)of?OAeI z;#ue}>t_$Vg6-!o7u;PvHL~AP*g^F1^~cFoit(lLFE%wEzE{8Q@*Ekjl5d7ghv+`H z@HQzbFBGc|dM00OUEcmQ-~H+QIL$Q)Emm#f57qtUYnsDVjuWW|9}jNhJRmNo*1D+Y z_UV9OEkm^8YQ?JOuxES_G^mVNB9Hj#`a#NPPm9}9(u$2OOfQ%+=V9mpP zm0~?&_0>)2#`J31qqIY%SBb?&+b^z{3}o+&k_U0-J{>j|_Y8L}nyKB|+P+xus*YG-j^Hik9MLu}qrw>r8_~U)wRBtl4m1_C;_&&4{X0UlpATI7cgxaC{r4d1yLY~2 zxoLQoy0%|m-Yj3(?9Am%yCT-%BOsxyKd_ zvbm0&X`W0JPv)EgCv#3iUPWnXDKmG3B|UN)s$u+nQY!e{q*Tk-1wqfNg77f2H1jY+ zPDeF8%{@>^Jr(6&=c_Q(eD&wVR7}DLoJHFsJm}34*0xUKjO)+q80l>-#Tj+^RUj%Z z(g+({1wS{0rr#AU3qN}cVM|7di-dTDcw#;xK8`MqV3qVfjt)-lB0l1bX5f4oAp)k6 zXkJE;PRz~HN<>3O?t})+i8I=Gc({o0@_KuF^LWE~oZYN>p~Aw#ybu^K48{#oaJ&0D zd6@ZdJGnFc5Fvwbw{Wv{@j%Y;kE?U}MU;~}52|V&3ui}Ouz(lJ1LtL=N7ij-?(FFy z&WI8OmWX^`8eIJ2#e*1<{U;IF090N^?qq>+5nPg-(EP-KRJ_Q#eo^v!(|u6nT2OuweuxOTRuSX< zUiu#?0`}eyO@1?=kC_Xo1>_I309iy%R$p4q&JO?5hW|(h>V-so_fO=S>tD3wpU6&F zQMDregz*=me_;t!H-YYm>>l194vftG7zW?~6lZihaq@p2m{7=X1MiBNBRKFB9ihlE zc03C8RL$)W79PJ2Iyh?3{jx}uk=8m{BK|s56&=m25lB8=TT5_lDF}feGYSY>Ya0)G zn6LmcCuQs5u7+@vc6M}eb^;xSUI>Ymc6M-f(*y@Hg8rYM7(WO5(csY}aQd>Gq8xyR zjs|Fhf56cc;cZzTTPpxiQ2{sr0Kf%s(9QrDUqrZ5B@jVS{c6?!@VVuxn z|Jn{T+Mn$}yYOo}K%1QCi^hZgLpFiRi97}H4q602-G8$s5(i?BRsjN3n@prt0JNhu zfC!ZXECZ07M*RKv`A3LG zh>uT5M0lEr=rkD-5fK>@5Ro0Tko*+^N3Q`ATtEhRgn`Bgpp&3skf0rnfz8G{YC@9$ zwZuY0U7*6q3j=f%Oe}01+*5e?pga6thz6izd@no=pkbn6pktzA;b7xpVGzK z(?j4~ul6)zqwG#&pXbaMIo7zWyXEms?`Jo&E8cvV+tRV}x|fhs+1x+BEhw*R?H!bu zTh%hKutNf%ql4OFqIAN+#^Oh*zyLji32NZVNQwmuj3z^BP_NPR3C?Uj<#sDZT9e$u zo$oUXHc|nc3;Yeepc0wqEM>I?JP^}ARQT5#u>MrxXc!>CK-EbCNC3-p+i;5!LmN}H zsiI9mG16~+X*+s1Q${B~nPh8N4`BrizxD1vHQqdP_Kf(5*U(Cx{i}QHcI3N4{o07T zf&B@Id@oAzE9~`@Qa?J+uSr^AUD~QbC_7Ekes*NFSFLO;>#};8qXeA!j z(&FfST0o31Jm*rspyPJo5m2VT-+2UN9|2Lily`3%g=|zh!B$^I#ZKP{F|m4c1k~iN z7aRffF)0#OWjm=yfD)KV94b7RKLUD>fL6|lUx*TiN^Y*%?k|IQ=A6i%L@e9(625ht zbsKm)KPfJ3x>C%i!qRMy0Nib=HfvFzq6x)`7cnU&KP!4X%K6e@TR6Zk_2G-5j`HpO zn~S2GHd`YR3#WI6>&p{J9C;HXGYykQy`FETx9MVw8k+4H>X(;{3?us1Yzra6&u>0m zS5%E1u)@uY@M0H3U!$^Es(3c>Zg{;*VI;tiu!W&zG3FBKfr&Dcc~EIcs6%DtYvz(> zfYp7hZ1MR{kC9T!hTEDelU&rQf@pH_bpL)q9*gicm5L>QV0Pp1YRQhU?q*l$O}aIM zvpOpZ0*QkL49|lh5}x^V2`!UBvy8i85V-g`I|E4S!YWx0WgbT*K z7=o;vpq%T5yGMWyh~$flpa_3_FfdS zh+vr%y>1E(hN^BUzXT%~~5i71LS7vnAoFP260zX*Qq|;Xtg> zj8@!VQWDX={M6+LFzA1(l3uPmRk647E`LJ3q^Je^ZQrf2i7s^h?YhmISqTS(T}MDs zR<3YyMG@gxAx&Dho2yS9diK8@FFOL@(J zh_mvxyaOY37HYx;`>72SAl|kgcbIbuCk_MCkqog! zy2Ez-u-f9-r8ST8#nt+`!tH&vs_7#j_xU3C>QB^B9PU=F=yV!O zo%nhfD6eyMj}afGsGjwg2kSXTJM@|dR5jtx4aJmgpU1Nv#PKDp z6HPsTDTM9$P>?yx+LpOVF$s|G7>yHrebBhy8#^trn9bUBvq$mry&mNpmM#*dTArWjHnj>c6A2%W@mW1M0uU^M zJd}YkJN?aTb4B!RtDBKuLMmP#BsT*NA~fiVYXg*Ht1|A;nN6RkL}^Bt@@*3-cfBSq z9RYRaYkN?-RFXAC)uW!(J^y6>-H$HoB>B%1Z;)xx#R%#cozEnUGJ8if*#B}OdA~q3 z=VFyLHoBs{NlmG#?S9#+fj;A>=7adH4`wc;Ueg2UG4dZ{MV z3%7$xo~MR=!nk(?s7!PUey!p^0G>PJ!4+eVaK!*v4qo)XrBL? zN42*^J5qAHvBCzC)t^BIYziRsrO+i$6N52swUYb~wvyArckWN$Pmx;%#H*RH9Xtb4jg z_bFtEV5^8BOROTJE69(ub)?Z|= z&}~NSw_o;ja^>2YtC(@wuCnZM&RpA}A5|TC!0Z?#&8#5aMpC0DkhEvL&haLBYe+SV z0wZFnRQchES@E~d!jX^L%(+LsA4RM#j^~WrHK*=CE03;jJu`^mJ@2^VKO?c?=eq!C z^rYzxE4`-8V0eDt<64U0*ROy`xV4@cj4@pgoak5N2U-VQ)Iz z5A;U@*!_1EJZY2WOPh6ef?hyK!ahl-R&U!Nb@S!V!!2z6l!lp=;e(I-)p`fhM6uoC*9W4V^i+H$`dG;7O4`y}2U6eA$ohr3U?!y3R zr-{o(`7;araXO89Uj5CFX#MS+mI;06-(&6&+K6?*VqygQZR`yl>kIb)y-%3_i|NdC zC2D*G6225zp3}>x^|PV&%T}O3TDn-l-Ni-bdbQp_wV69C|FGu z3{R`;o+xfJk;sZkf8_B+H8~Ca=d@+~(wEh_0 zJQ_M$J#+TwG6>EC0feL!RWMmlbMVtB_zOUmVXU5%Y30|0ixPC;JKlBMP%_G79IUx%22kzMal+{ zZ3P#3=#t0Z6T8uZSOB#+JhmehGK--Eg5&levjB48iT(mi-~$$bGvEav05^aea0fiV zyDhR+KP-qO|9&BtlqVOG`^WP2JMs^iPSixwIC(lafH&j{92?y20=E*u9S93BcOqEB z!UGECkev=_fvao>XD4f98hI%rtUP|rOL;gu9_NqM&;Yj{j`OI7VY@rnS|HqY9F*Nb zX0+ex!9taR=riCK2bEEj`9(I4wVSi2%Wo)bXE$4L(-Gn1=?L-=$Z8^`tD?-&(# zYs7CDY%>QBEi>!ia6}dekPqSGq3EulrJ`)^?CgLPi2EJ=8}TU{XE(n~4z||cEk%6X zc!lq1kQ2ueVP)p&-~lF2c_G|9{(v0Z!aPR*PL6MGjoLo?#keHL@}=Z|6o4$i6>!4| zDc-}`Mb*>89r3H<;5mSf^iNm3g~auNV;27q`KfCAiZ`E|4F?+u#2H)vY^-k>?z!uflH z<_|Y-{@$SZdxPfh4Vu3z9^ls#F@N+ap z`t&4R<_|+OfS+*-|3UZ;{a=XPp+`kWc-V_G9{-bGPeqMh+Sv_3&&LDffpJ?v1mN`i za2_~6OaR8mMGu2Ogm@u>yl@CNR7eC06M+iRpInR=>Hp7BK*th(4W{`uw&!~Q(w_&k z9ET45wGf<>Fr)9m34a_bMdgnfz6aMhI)d>v$JFi~vR+__(!c9x zcjV%nR|Dbh?CEBKko5usKbU^9Yao6`RsErx{LT)N|6um8wfYyl$dcb0g#d#@{#Z+7 z$q&-sB80ws&(FQhUqU>P4LG4jMfQj@B4a+dp`Z&vwU99%d?FAiCj=@2fgF>nI9u9U z`67dW{)rSB9`YOMNhsW(5`&>rR?cpYW?%={BExTZ?OYJnjPyVHRRpyK0@e)H3I7!j z#^r&rWLCBgV1c`aycE5nth4}BSU`Xq#sfv^tD+*J=;ZEU=463Tlo4kH8_Q#BYbgTZ z69nVk1O#AkI7}7}1zGrIgk=R_!f?1SoDU}Woma-$!V?)1_MO)f$qV~yyvKWJW)APf{aKZQm!LJbb73KmTFc3j@x#C`90uY*If4-I3(^WA^ZZ~r_=WSqVWMz3sIZ)zu%M8jG`}n#zaT^! z>;^$OK7JuS7#}|jY%miXDvgvTjFKiSjI2=@B@-MlTzuf;L4XVFPA<>|xCFQaxrDfcxj@rEpLao7bJoTa)G`818G4I0UZSN9e&V_Kra9t2J{0_2fE+|lSWZe9^x;bo zDcB`pK3M@Mgb(@B0tYNOgcWSv!NX?0CoeHggzHJl!ImEN;1)5nI35lb$YW^;OU4tl z?H>*OKOMfuBE4-8prif6(~w^TF8KWscTDE)Y~|r?=7zXr4UW`*|ET5tS6aK9dHspb zpj-a?$JM{p`R8N#Ki2ugkQO#(PSyx8D3h1*U$(-+*$KJn{j()5W^Q0)CU_vvU7XR% z&DoLu_~Gv2WKHkke3C&u>HnojON1NvNcz#8zY6?O8~uML`p<3tr>}_r|JocCHhb*) zy#F{Vj`K3d){;Y-+T8=3VTk;p|NjMFLh@SvSFgU~dXN95^k2UEklyf5q1-1ZWY{p6 z{24X;eS-V<{cj8WZGpcn@V5p2w!q&O`2Uaver~>@4h?yOhlap29}FjFJ|vO5dKkcI z40McNVuZlxCFC)X<3kpI38MeJFn(OWa3T*qp#LcNtBIoq@E8ah8~O_jH1OQS@iCAl zG$wE#5)Bg_JjL+i!okAEJ%x^m0iORr1LMqoEdtvI(qdtQu}E0xSYQeV$%^Dfo(jRh zMMEb)dybTha9d2^Q0P&imA9^$f;_+wUu?D1?$E&7yBT zE@g6O_PpR#32_aak}~&T5vEsjE0bj{nbs`Nru<}KDUWvsc{&6G4HF9&8ygn~R1#Db z6AP>efX0wvGhAYP&#z|s3C7e%E^wM&GCBhX;sR&(C|5U=DlOxasR)P)?9uQ%>vbGM zfCipz0hI?vN|2#I!0m`<$Q$ayW}&pP@TEw5`UuR@qSH!9qR=2f^GU3sJ_9A7(}tDW zExy~J=eqSm$?CNvb`&n;I}L!|!3#s@vXIUmy^4r2ktNF`5hew+2#CPn^7wwO#+Plz zD-i4zU%+L{$~VNKs8jN2lSC_&kq!7x0-!?~VJ+e=?Vl$_78p~!uhf_YcqyBR{UpGk zKc&`Cwm7PW=c|S#_5{#u|5*mAdY3gvU6tc57r9gdUIsGE?Z+jQ7`=(lZ*vu^K@zh` z7muC(v@d^h!jEDwD$Ybcr@kWdh5D76x8b-+?dV)wGq?di2`~a#(~bbFQherHr!YyT z7=9F;DIo|Tl9~3pqz)0=I?o}w`cPw#gJn=p@;k4nEOJjh^P$CJgrc?HB2^WuTeXbU z0CD$sg2>Be<-QNjGiWjrH1P|QTq9A8v%0IQXTB|#tyULFX_crSHu;@aIGNd4=95 zx_$6tkY?;mVm0_2>GK9|c@NoAWieKl0#bbfN=9ib&VUnooF(B0%0(QOmePm^N|P-X zG^&qMwXaZ`ZdX4IDlpJOD}*Uh=VbQJV8I23U%9&QQ%iGm=Bfo#bGNx@yhX z&56*9JP|7l5VK$9f@!cJB+G)8(LX@n@6p9PW4ujss_8@=IK~2$?mWY{TqA$X#2awZ zUaTz7j_W@tFsiR0-s08Ei_AKqSy8m#AnADY=$vfvl6B zbRrV$+*a>UHb5&Fg8mj7x5pG~YmurZGC6G{S7mZegbMbY3bI-&99X|9cNi04qE>NF zjI#1&W%!{Be*l0EZf9Fj0O(yTOlDQHVA zQ*gg60YoQNU_=4y=SUm?qNQsA`uAYzGHyytGtSmV)GE>+mS@Pv&P8ZVjd*zByk42f z%`QOnOpHto2JLUa>)#Z=Tc&qw#mvbixRpIVNN>*njEc>%B1vp!Kjy(ExN=%f_bP4K$f^ zA`QIZMRSk?XjAO;XU)QLd#Drfafem2rgeR*aHum4{GPV?YSckm&hhBQEUF}1u^M?8 z#qSK%@>x5If}M^zR#1>GI?`zhV7lq&G%j%KJ|=^44c+p5O0g5BDWG7ZwRMlVvB8+7 z|LRzeQ`3Z6oQ?z zJD8Z?c(ecf!uiqKbey{Dd+Dt4Mpxd{L}+ri=eb6qpBpLAI@Il+Pr_Nm3XxsPxZ=}6 z;!B3XFz-w;z<+BR)jeqH+)T|z)?wul^v5cIUa=8B-N?dtPYYit?lre2jcP{y2kzS* z#;;7Inge%zUW37#F4^|ok%>1KgBN`UgaDE;P6O)MO=P$+7+3xNK`U*OOl%GzG~Zb@ zi`wmZEpA_JbXi7@Au2fPflo}S&tL6i+MTz29Pj<34oYgo6DS*KuV)?|YGcSza;7Xz zyXf;+$Ler}LP71*;;d`kRc!9Atwcd0MLH8M%MT=hFhW8~l7?ep98)ZY%tgo;;jU*rmT(Lw{qezjj<7DV*2ybZ<5Zj(i6oA4W zgGq(lZm!11Y~oc{s)bT?=e%8+`s`kCf2F$lU}xaaUz*%$$1CXl=Ml3huh-zj%+zlw z+3T3oesOb9KtZ#EtC-Zan~RAwtewT2g|Y0HxgRj8xX?}g>FnoMecvK;}VT+$d^$UuJM>;q@TRH5$ zLs{^3ijNj~oANxc4}uh)^-Tl)=gNj#n9A~7k%VA(dch?DfF83uR}69gMF?8d7r`+5 zlzLYxaBK&UX3&&9^HuU#LWbK;QBo-flO!x^*r?kW!DY+R!BOTM?eEqsQ-zB=DVE+6H!Y!*Q`3 z_QNpHhPdIvRl+v<;gBT4cd&YehC=h?QfcHIhW zcYc@WkQmd{#^$XgiVMSpHT%gA{^JBr)E*ZN zYywVkD{$BK7{!%Is$6rN7E z!Z=vO$ZXV{6FBwXr8o?`reKCzwvHSDBH`}W;80k#?*6%ePuo7k#INyWY&lrjpA2XV zZu8PDe%_yhU*IT@eKM~pxqY@HX-qO$No3sOUPlzWT41f*5r7l@_Hlwtu!oFM+y)!z zrS^h!LsQAR)mopPP zFEP_HZqO(7o(lg@z-?Qfgp6I>c~xPe`-@@hKBkFAH8C|WlFSUU@hCMF2h_w2FY+5H z`ij1ogRF;Z!*s&MnhGp4`)Hs)KB>I%7@x?E(k#~!FtP(0641zA$=t=Wr7X>*V2G<1 zn}=Jw&Rt?vOMa|ZtdX5kayvd+Bs><|Es4XOD4ekZrrVeq=ixRfqA#z+wuGSJdh|{i z_Q)Tdqe`vjM!kX)p0ta``CCz=WcMbs1hE*Z*$ICl#qy$7sgq0EQcZp@!iis|$=sy` z8}czphgT~vY%q~cmiJNq1XME3b9#Q6>3IZe7G;(}j%wYU$TJOQMS{H*ea|~ZkQYfPavpk!g{~4U%4l%<5tp`-_HI9 zU&nyaf`Fn}1RG!1AYY#bst}K!C2=aDD_HC1ZpFnM>8*n9LY=xPOHKaN_xY@I^bt$# zMyurc$qBmJaPMsP^GvshzlE-CUwgIB5>-E`kzrvwIQvOd>aGQ5_wr<}I$ne}pL2uE zehhzJ?_*88>MiADwY5_j^Kb9QGgihWf`{>r0F*O>ztDhm<}mTb(H|c%2rUIM0nRe7z$0@lD#dcb)58UQHo;`dsDTWj9iIy$^X4P`RZm6Wt`=ij! ziRVL80Y|{Z^YwUwq#Sa!MzX%~_8Pc48#$Yn5^o}pa2aLxgB+6*-!ftWv-!7TLqVy6 z6BqK&s9kA)?5h@WJQQySgQ)cuWVvFb>kix)BIUUIU1<+QsX_t^430%s-e`b`9c zT5Y5*6Fq8vB$94|=i{?wHG6=J|(aJRr(p(vI`%WrpkX$YSx-?=s;I34nZ`1^;T zdbjYV1@Wsq>qhqR9E`jGP(-d)4_>H8{=id>lDIbrf_7PVPMUVhkQ^B?_>@!%yEUQt zyT@-}q!3-&B57f`dP`A~r#n$GQ^Eb^X_4v>%5NQXgNY@w=>4EWh2~9a}IiUmMx}_>EeQ(4{ZdFsN zHdJchT4``5x%CM~^$I9|{S4g|>vvdi^Im`y#pPWOUVzU_NR^cFhv?*9DY3xrq-@uD zDJ6$X!jUBZ$+r;7nEvr;tgz9GNW+U z?Zq*&JJR66=;ZmQ-zq2CXd9$)QtA*ae~_5zqN_U@c*vha0c5K1@3=7^aE!L@Y1c$= z7PvDl>CDUb7QKzkHcST3^TIC1J6Ya1DGo0%Y6d=&V`dXqR4jbecT(=WCp32{ZX6GM z1F64vU+K5L!~Alpfiv@tt~_pW1c@;VprJ%TCce zT@K~oX=L}$*uj3VVlkl^J|eg*jGY-}hXlq%*Ex*RhufN6-RwgJjNk~7BcPHDR+W^K zmS^j_e1>C1F_fb3T4g`u{h~Zdd2-78CF}~^&*?>!8wkj_)He*!3 z_NKs$rNsje)VA!aV=VMWiqH|abjq3K+UiQh;d^jzo5pv_#xnag2Xfa3yb8AW@(5^& zPFA~9LD;PJut=t@$k3|-+Z|yX=!~CHg*V(MXFbP9(r&{P*DcTfD7Yu-&_~5cn=^tV zzJ>hqOh~rt8;$DeJR?`FVxfFp>i<)L%Wkm(5EDfiWot|{b2#}ba#}@m!|8F{>l)%wX-47%C(QVY z(#Uq(gvCCAPj(|(XP@#znQ#qEIlX&IJv_{G2ASEZmZHtQNbvc#NL%f)#}4WQ=MUp< zX>a=JcJmn7oa3S8X_FH@AD#NfXwAmG=25_$edX9UWHRI3e2{1g^?#k@`O;_1y3F@z zFP!aS=4Ik1y|-E3B<4LxacpLbJFfZ+<&MC!qU)Y+{hJXo;nch`YnWa{m|oZ`o&%Im z=~`5wy`;q!ze28#u-;FCA zF!OGc+?ao3gUOCA;F+p%L2EN{>9b$2XR}bExXfx#o>PJMmLvOirdQSQ2ifwE=M}D= zx5ahLVyKL|H!StvB=3|4gk6Oj7HT}0YAtU#0-jL4@O9B;0e`XRY}q5P+$V)Jmu`yP zmC8|&r=k$Jy51~iHDGD{us|{5UeKGwvTssv=&-f5B)QXqv%dJ6`FwqTLB%=MOLd%N zHKX-RjTOx+5lbB^8H$j2O0Vo7JH7uBu=ZrCG;|ofn_y{=aG8?vwerlVqB|9qYpi%T zD%E&9>xB&L@e=GZv0klmxJ=;2m(8fULD|hJjwC5rZ`SjxD^&5OCaM}P{to>zgS^hp zO6PL6-;6C;&ZJQa(6WO z^XHsj)?9d$!o4h&Jbq@A@JsFQyxK zu?hZU3n%%qzjzFRN(6@$m4-p8S?ySwv17k$O+~9`d{4dzzr5U&#Sb)8nVDK1b`jy~ z{}xpfIFdwz1X#A(Ij<&l-|(d^b>8d5yjw>EV3!^~SXg(e-g-$jpzNORnd#0md+1e|`h=J74; z-E$w$k$T&v`o|?TO!fck&+CwB(|)}RA1?b^PcdfR35htvA*ApGN)~e|bHJGhS#`tZ zCy8l7sDUXtJtZl*ANIj+(5GF;KjK5;V-3MKECu85?LBlYx9$(D_4->YeZD?%gJi6% zK{W-I1)Y8E3!zoUiADRXi8F`FkkAKqK1^4rQc`1<#|myiFK=PpXufh) zC5Qft9*vVqZ|AKor%4rLQqS^L+Vcz>B{Ts}g&Ulvw!y1gdbd*iyNy?)-=$n*Py?P7o zhnSbMLoW9ikXbPkC#GlJJ!}x2xxaCVP$7lW?8%dXoOFidd)&CQX;;`Qn7?w1bDUOG z(zG$GeH*rT>*LTT)7XbmDN26)a+`MHiyzMSeLgDNqOXZ=yydo=;~qG# z87VGjmgO~9w|DCiQ|;>BM`g$qzxQ1VYr|sx+L=EC;P2%3;`*3=U)*CfqD=)PergOg z;Yi_XY?qo^7)+sm&iT@Nlxj@=#^RNdgFd&YfKKmD%I6P+8b}V_`-*3LMj#(YCGz$6 z63fmMD;#q06}{cCJvApeYjRZzE+=I8fH_FZvJGWItZ0+1 z=rlF!vxh%Clv1$dc++a1$%LsPtp znh8~LFguId9oIbtlaKVVuMDZafxpVeyWvzllvMV1GO9CJPk&v%tJQ`B;46@)-G6U_wJdF8#TH_bbY*H!uT;{bl9#ts1E~j0|LkS z?S^^VnLA;HX4sJFp5z{9#p^(tLD7`S+}5k_ik7(@h6yWp1uuqjUqd5dOBWm5=DW!C zGJX0i+b(?Yev@GgvkbnO=PPRRsU?ci8#YCo#(5W-IHLPTp5mc~(*<8G zvG=0QdVb}a7IT&t`qUlk#$olf+*neyLl|=lOAI%kMQ#p=1ZXMvL|L7f$fbq48r<1B z0xTMd5tn`KW~&BO3LLwGwpn?jz0L*Q!9UQ%X&(~TB-59UgX3q*rm^1IXiW##ka0Aq$>zo zwx@7e1jG5Tq>)(7D&!ats|va7wfgSdf?OH2;ajay3x#IWe5YqcuW@o&3W@UYbE04a zN8_YB$oX0w)~V04#|Na|h?gS2#1Mn?P*K&0JC6QyVk=f6u*$aYU7Z!hxv&>@3aZ#h93Un!Fk zBe~|_8|_;4PfPNR*>ps4*F{Jc7v(cEXd~|U{YS~463)a9HpeGYF>5cmW|%eK4Wc?r zZKKE9lGRSt+ZxVwzqd7*E!pjJ3$jZ?*9ABw#Vm1$`s)l9B)JySVp+JET zPdY!_U!J@H%YyY)^bFVQzS-OJ9r~6?s95TmZFKqNTA735Y>7+d!=*YMT0@(?8>(@R zhgO?Omo%9NTZ>dG4&aHc&qpepYw=d;+_aUoAT6($zw4Qn7ZH|2U zvt2U1zAp-~+1ZJ-)FeaGtTXN19GnL%fnFCD?Xuvjaf!^$O0G%+6 z`_4-YGtSGzhJIJQlxwnH47rV5DkQTId`=j7fq&?1vRzMV#?QAzyyv<&?GeyE>>)%6 zqx@>wuPJZMDz2FqQ&7*mB&@e=5!jp;8fg7jX7fMh{3nxonwkKecmw-2tm~SJYYzs4 z9=28v5We7H^{mJmiB$E^W)l8lC33#Y7b}ID*B5IR^@>T3>-XKM^ay6W9f`XtYyK)b zpNCN0MN?g`)1+2JG&A!rfeQ#K$|-vu6PMn*RsXmQ_K#RY^!oK#G%wi$xmD#EuCXPe)JL6T1`-by9`3|M9uRzl6PE*es!OIU=DWnAVJ7cc>7-sD88hJ4lOnmN! z4>38)+UH3cJ4s+upDW7=;aMtW5QpsT>rJIp^H_9ww}-m88l%weD0* zP%a{_*I9CN)gEqmICd%c#qQLoHBGZC3W#boXE~blH23&0oh%6cH#7f?zz=tHx%pWx zE9Sw-ZUq$Ue>=DkK9%INKr7r5;X3o+FD0yKDTD5rO(mVqG!$8RG8J>TLUXF`;$>n| zd)Vl$S8<LXq`ljWZge83q%V#m8Fs8Y^gsF%LnC;%eOnR^S5wM7} z@Or*ZVo2#*YDl%9c)|Ec?)wBYi;6tIB;G>f_vifupSzyJSe9FhYajC@)|iWb{;XpE z2uLF-Vv&B|`6T62RgJUQ7s4y9zP7#Su|+zJo59tj9&XW{s8<{PSDJ&t=kv-R@Z@w! zDD?)iz6slHSR4-?|AolItA>cTZ94s5YebV{iq*d$*KI6xhXMZAiR`}|#MQN3*Jr6} zgWU;7=o|rTVF^l3ce1lmAysmpZPVTqbt0D(acznfg_^=0WG2?UEd901k2Q&1>;J&OT2(@2e*b|J-P${F0$YtP_MYB*hX zkvE+<|Jkg4y1XBBb|fSK){@L~i&3Sf*8B8`w!e{dcn0^_gCe)!%lhNq(F9LBpyZpv z>>AAoL{iDq%K2{-z1}dbi7)5+3v)z6$(179|bP!6}N5E@56ma-!5sG!Y~bEx0Wf|GNUS zv!ez)RN(Iow>B{h^ zGoqO?2_LRzB73T)J8C&MJ8VwOAJ{)T#^Lh740mE(KymfQj?Pt~tmbU>XRW^SUH=bx zZygrr((Mc4!Gkpp!L4zZK=9y!#@(f{-~HBbb#Yy<#;)@Q}53zgMpb zJ_OMM&E(!^dU9~UxY>d#7u-f=S1W%U<}*KwY0h+&F;{t~KIeJO1<-u7eeV1Z6$nRL zOlpjugyva+XnaHNkCoc#8_*v}EN7gK>bW%^sl>8!gNqSshvbX0>aVOsm?{BuM)Ff1 z-Dy*9j9FIu%kMp(o=CE{$(86XO)pFYxbL#?Wewc#QjVb=7(w=z`hR%0n;8xFlN?F-6C>J^V}y(c{1dSG z2Ws(Ek9UW|16hoy?b753^yPkrlt1~FF*Qpb(c)X{8rD zuap~1ddCx1@q0Oha`tvmpLB}y^gL@xw5=Hpnt!Pfod>4k)a^Isb>TG8ggHoH%=q9H zoKVRu3y0OYJhRBK^iy6pcG~>0y3{4y{T;71px?>thJijJ-+i9!AG0yWZAX;<`hdmxdQo8Q z?+c}A>u49}&jkolzEyjNjfFp=LayxePbk6`>>A`dwNmrYPozHn^TCDdUFJv6nWh*4 z{m#}1;7Z7Me?7<<**_j$uJA%An|4S+N{^<}S2iX$5+YG-ENXPLM3m6i$TE!oy@4b6 z@1RU|4Y7P#c}gO>nG}rhXh9~KLIyl60tcnA|23T?M4&j`|D)KD>C&OAo5{^OFV#H* zfj&?HRe7&JuSKDE>vXeZa=0jzb%U+pxI2=RO(4_PT`Nxuid&uQ%cw*Av|Dbcxxez9mFQv9Kn&T&s z#Nxg?^)hofP4vQ^_J2Vax9i8hd>BzMUOl;eO&l-Y<<(~8cKckfExk4Uyl7v0E%}~v z!{yy3Y{F=R@l-ZrhJ}rSuNt`yY0}DwFoY0S4R^wzDJ2c|@dxja5Yl^ciSRK=luc5u zE>GS-XViHx?(`A6XiS{C^(X`Ty&)?qGgD#62LG&EYK;4-9EPkFHp?s9ljFvk>DiTw z=^T%0*wT!TpTRwj!FPL_30p;dM@2O>bwBa8Lr)bu)E6Q{7+9f$QKC`JQLw(V-CucA2rO1uTzhJ8`I7dvsA@HA!7+2wv}KR<<-@i zUc0}`M8^`~84IuTwuq#96x`TEyLAz+^*|E|LP3Dhnix0i`EBM?9+M}Zvom3T4cF?) z#r*WQtDl{eFb8(^vhids80h5Fl2z*RP-Z$7q3!KjY_+E0v^J(Xo|aBKd{b1Zo)tEE zTDZf}xX#IrU7i_b@~cC%yug(J3RlHfR;S0US2w?VKF8N7VAiE+DIKDt^d@IgWMsrd zXU-dBEVZyU7Ij)EQUMJd`1mNZwu1NVl;1b;pps}Sn zULizNeU8{0JQ{Wz+6;ItOFDyXYP87rY*rLS{PE&7ry2F6ay7Z1>289Ug@G^Sna~W( zi&A!N8uNru*@nI zTrbIf;p1y!ihjRFn3P2^ZZN00|3<0|N#H&4!7EbH`{Yf2n!X|)lJLyeKaae=H0r=Z zbByXII`>qh>Z$y6yr>Zmhj_fn_*l+tw$`p_&O`NLg5%fHFW~Kao-C&giWCxK9YGCp6~svH*cs)x z6{LsG5Vl5;o9d_fu31rJyu}>~1md-@_AkrOf3QgisEVIaS}SN}kFsW`z*uQx=NOB! zK-p4ougn}XXvJTgyVJ+&WgkA-`_bZ}@6NW${8}Mfv7a{8MM8(~(CR>v)~r=!&pO7& z=6f48u$2>;FXgvtzh5Nxa`I>0X6?k97*+B`zrr?O0SarrJtPHf_GN?4STelW>8#zA zXQpI1IBe=26Ja*Sbs6l4e%^x|-}Dn6{DS_Z2Hi~1H5Kt&sCFNEBCKj5{pb|v_l9;& zID)hKgKq}Efd|RDer~1dFj2VfRs}K$7)&59@2Kyti_)y_R@lm>(~h5PmdQVK_{(eA zrb;OzQS!1;i3?jYSCaTiHZPxl&@7v*4h5omCr8TJsVUmn6p@r2@M5iiF#qN<#())HGJEjwu8CFMj^w{{uu5V1yzeOsUO{uhGJ#d2#8qK?Uqozcs4@4-E(CybTR)aZ9i(Q1N+jUfn0D4QI z4KC2P;n=P&u+jIlOZ6)GE@NTiRJ1Pz%N8gGdb!e+74O}3!z#?OMvaXQ%HBZXJp9ol z!g4}NVX=-o^A1c`w3=XHtDtsFqe&p?qSr*tRUMf&WW?9{phKS5LWwF7A;R)@)l4cL zSM8ASxswMeZb8(K-@4bhsH>5+6A<`OHB@a+1-V0Xf!MVp#@cpbR>{eQAC#z9M$t5Y zHtJ08E#Bv8!DRp^q?5sI)FrkXv`Ohnh-24L%k@&Fd3Iwg)}5F=pgaMlgKR#0>P-JGf8x4w5;!MXAcg|wDMb-vDCr+b_ z1BkL*_3s0Y9CWG6gER@9>#8f}M*T;S)vKk|?6Wvb6W%#>GT&=MJffKtmD^W?U2JUlR;qM3_b?bk&V;);7Ci`9&@>}#M}0DF-EbihA?n)t zSPgy7-_~|8YFt(vJFN&*+s41d*5=7#n#HbI*~tKrYUDjS5QbJ6MC9v4C-Ek6fJs-O zxDZ|0z3g8dCp8;i7qz_ClvdE1C1^+v#?nb3eQ2_6MV#$*%_$1D7k$N!Adh~OM9H## zPvt5SEHHbT-Pe4zsr)w^h`Icxq@AlfCmNpzsoc-~8lUptls|U+fA%%2-B_yn>3#ID zVZ$Qn3w+<-`at&9^e^FJ3|4)|R@Z!t%()jsn3sr6#uO#<~?r*gr^WTkr{`(=pe{Cp2F1{u+bjeM%%zl=yd{r#0yxd%R;F$1m z-XMkVH0Jp0zqn3OosJ6dEHuTO>5MJrLuxu-#7QrSy!?RT;gys4@8L0Pq5``oi+wi7 zj5ehzu*Id00}q zd{C>!ang@5<{Q4c%|g~)qjy|0VARs=oq#G|Ds&$aBap$|NYW`grPlzAEVrwwT;#BI ziEqXvHlmNudbGa8P}h1hYS37ejc?FTMJ#&M`nKEqwGHLrVqG@gV!<)SoT;~9&$pu9 zUDm`wx5u=fhLDlZP!@EvB6$Ln9(5`N2?qai8`3wjQ>ViBJJ?U=n2Rki!y3 z1p$E)|3`;ls-*kCBs!j$;59Lda&l)HRlhTuu(It9Dl6}#`Dqi|=pRSHTQ^Z31}r{0 zQ4SNU+hN-;SRzNOjZD0re6t^k-OaK&)+%Ds2SdxYxf-aoggf0UEsumoDbA`TvGchR zS?_b`@i2VP)6MOH?}rjoVK+dkfPO|OJ(Vk;&6zDu-9vPBzBAP1N!4EyC6PK`>RCZc zMn@FX)b+apeH*EZyqr)^*-sd2gCN#a*g*Mj-jNb|g+lCpJmV)(W25zIoO_&0?H-_Z z;(EZ5jJQ_y_pR0LGXJZbV2W(b&=D~o%)W_Tj0$>2WdTzY3ZR?M@w#cC+nn`+u(RBD zLulixti^LrHj43WZeA*0wV|EwOC_A61Vye&W$}Pm6~AA19c+Vn;>(`NO8V>;yId^P z#JDvJ6+o3C&NwV#XXN?;#FD9(x*aG*EhjtsQlktIoK@NEvLkT4dnS@uFF>g{%Oksu z!SZYdq*VG+z<{hMh88&2-)YF6*cP3W9PfY~yFbmok*yl=4yjp@>5L@1nN zxT;drRf#-J?O4A#OXA4cvwa!-C zK{fabiJ8W~MvdN!Oa8v& zN`aRC<9)6^Q!?F*as_r1;)xY&>P`)VzNL{{F796Oh4X<~#Ec}a6EJx8ikQ(BgQJ2Qt&db^q6GMM*LC&sO zk1;|}7itIgDFbxo|9D(Je-#DL8c|dBr|LSZbCP}E@cS9RMp~#2y&)Ab@5RL@9_E6( zXL+aNLaUS-jRSNk(8SKKB_$c|ynL6coXsy)0Ri#LX%yTNDl-@x9>n-84PEb?WZf2* zK}QoI{IE>aErJ%xOI?1{ZCP5}uS1XI*UJXyGP%uE*<3ZcfdZ?nI)J{mSOoKp2shjt zRZN9bFYD%HEoImMuUxiy)PIK#DkI(xWIk**45QL0$IsgH&=*=Vk2cDF=?{LfeB2oP z8GPLmwRk*YX)H@Esz)YsG}7E{)3x$Uun9)$G-xv!o|+2tBTZKIVskw2^b@{){~~_l z`u(np)U;Gy{;A)M`|*j(#z;WR@b%BXqQm}#2_CB@{&(`$KgF(^FTW-3{y@@Ry3{^; zc=cZU;JESd{_aV!KYX%I!KR<&+xes0%Il81jUdjZdOjm=v3hTN@+j%^p0@Ky_WZh8I#aHmJ!& zQ|lE90)(WnVB`va7P{CCGV|dId|djULbWJMMNlUr9ljU%-!r z^B9~^=aF>fE0DCk|K1==ph70t6rL~vBQqpFMv(U#a<`?qE{@Jy%Q-L$u}$*ubxjz9 zvE-c8#!hfKJg-t$;Uhz?V=MO3xF)Z0_;lc%az@)l)iMSj>ET^$fv~>)#@#wTs|nq* z&!W~_EsXPZ=5ic3j9=OqK@?>bA1LgT92AeG@R}1$q@FWKS$2Zh&cZelbj-H9PhGuE zIDY+zvvSv1+6IAjuo#n`|ABN3eRcB5@|Y7c9Qos>o?hB}>0H4G_kFx%dE3fRrx;Ga zkxFFA&USaSfN6&9U0g=3yP4Ct7It3aVBrcaFq|_jxVe=4XvYrM$pB}EzsNc4z4hPX z^=$|%O}+TzS;Noqd#BdZbr8DbE1fU zrOCWE6)e1&8-Bq`o=>9HaKpufkOeT&z2u^bu?>0Q3KGUpCki7}YA8epQT6yob#>=B*y}!6AD1}Y#ozqMT=XQ$p<2{?QUcCY({$wkqz82XM z1u2>4U*Rit(k}JLc{QS2jY;O0m<=2{($NOPBIlSGEYF=eov^mi77kQH`6_>m`G!~4 zeiWdf3Z|>N?Oj0`ah|v1oZ3y`>UfvrluzraMxqN0ra+3M#uoVliT&WVJ+Ntq_DHP9 zIW1zbzv8kc6v%+SujW=s#g4%>wILv8& z*=f;eaN7_v($gPWqN(*Z5txbXDr%*-C@>}#sMn&Otf5sxf0JN!FvJ8EA|T}PBQSFp zBx$AYfyv9#wJwcQ$7s69G^3&8&J_x#kxu9{saA3tGY;}9c46mujG#4zvX#|0eA%&$ zUL|CG6^&&=RC{u~Y;d2#_1J%6=jSCf`b*Oxo26rui5R1WzS<*wPtaQ%;#~8Clx>1V zPph`LW~x*CPr&)F3ifKN`u%6)JD$Hdl)k{>A4ruiF0SwXWK`Y6i)xM`vUQf83vYZ% zC9R6K+u7jhaReO|4Jwu8i zr~EaB4P8m%8p4Yg+YK$oX*N?sp%3)gFCEt3OSQ6A5C`@n?X~d;;#sCuAaj|d9NN~K zH4|B5voKk)X;qn`5I!@F2<~Z$Jx3{7=(8$n(8l$Na^B+KU>Qt_h-;2?jSh#Qr(QIZ{B@0)$A&w3&pNnK7AjlH#u?-UIhc`awsQ zUGw0&!Y5w`*srQF6tiotgnK6r?QDJ-{10h62ACVQR`qq;%@S;}vr}qthwAFQ#c5(l zM>^ZOLObZht*2~ZI7EW<$in#pY)ElWg;d!=$^u~C4v^IujGALb2R5oDR0_GAg?ejM zs69;yvOR2OluiVk(V?OV^OsT`)x4z~h5pI$YSF&}Gh}PAFi*oos->9+t3vcDj8RCs zp>Wh)Zf17SDj&*XO()zy30_QKS-<2g;07TijJ)M0ao=)}H5+TYVg~H8$b`h6vN98G zWw;l*2$L{JI_25N$H#3vONKj?={j+Vv4Bq?8!RheQ8nSLpU`pM!RiQ3?F5Vlwevxh zzR`yVht`(z5;vW_IvQ)AI&m6#MdJA_^|LBKs@pRSH8@1tSudJZ*U+^gFMc zsY<+*=haGVUh*{-pPmvqb6gyBkSv)^dET$7fnra-?DeC%gk^vVEHHQDi|C}sf>6c% zFe5+cU+DgReD`j|AcGP$c`%PMqjqMXgWbf6V@?OXEE7*ttJ}%I!lT6)v+fTh2E9@E zoxFN=*YY@$F1aLVq-*SooyO=G2YCulj_7rzX?Ef^4z1nAwIb~no>Su}p9QpQTd(Hz zLhZ|4fx%W#9=k=lKG(i@9xm3@6BH|4t^z7(jHwN6bc32$)!;>n$R3$>9*V^QXqaf#vCT8*Dm#O1Zp&1zz z$R^UgGK9Z>Tt8u+Qnl&sua(VM8U49``HyFO^P0gfo5j}<9H$T=XyVDjo8$@=KZL7Z zt$iw9;6$0Tb|de_0`n15#t$6w5!1HCJX9Tf|EVuIb=JZ!rqcskJ-$U14cg6H4ImTh zWN$^8+7pC-SgnfPgu_oYQ9y;VL_VJqJ<$}ZIf?@I)2R`u~TgdkJGcm zSBlt++@^oa$QsDMyU@q3Sr8IoRhwH8wTa>#UzID2@dCmu=8jT><8$1Mbm055!lIBJ zppPZ)wd=x6#KEL0<@@Gfe!tfK{J8N?&CUPr^Ki}d&czg+L9y-HjzuV40WwFm5``11 z6La{!FbE`z^-?Xv-o^U!Du4tD%oOL>rjJaMbm8K zJc{mrY70vMO(Hc)@VnLsr?SHsg*iP65ItE(&SV^lEb3K6{c26PZx^Z9pb%mF_H0D! zN9ugajImnu`cCxlc7oJQ8h00^Gjda(^(Ce7vU|8*nY;Kv4ELlE`&U`e^2CloyFq2w z&m}WEOT#W*(T&4<;HIIS?Vz}PP{Asu(Y_#gZAEgn6haDYCEGW}H3Ou^KqrKq_K78L z(McYCG1SnfE{*k~z93p%q!owWq!+3R8J3%rqBCY-qjuDj@#%9Y$g2~LHnQ>)+}fau zrAn7L<93{7ZOLJ^Fq(Ro@FNQ_yTA-u*c(%H=kZe-L04SHFYApz`fhESm&Y%ui@juy zyAiuW_;|cK&GAp4;#!aR?BF-!LgEC$L8>GKOj;5EwtlM6Ydh4Pn^UV=m#2^O9a*d4 z7Rl}iyI<_pF9rC5zw)w%Z=WRi`Tl}GCQ6F>(00{71pR%E1@aR_@HWW0@q*a}zmmAd zRj)zDb*H>iv7&%hX4@Vznein>b8e#40f41U16~G);Zq7~F9FKRkg#!FH34(#Oe2!}-SrD7Ryu%tO(lL3?qL=r^ zn>)8M!L;E!r{P{e@nk*6H_Z9T=0ggsbRqQRV}q_2bCDnqb|XyITp8kWI0^@vZm9#I zj@T8RlSU5=_pALJ^e6v3&r%t({p6*5j1IWB*QC!5bO9O8vzj>Esll2bU@R~pE9OQW z^HcSEi+hA&=q{T`*|<hBjz~I)q{-`A&o@OeIkP|x}(V5gQX!O%WL%$ ziE@c#oG}LD(0?Cdl|6My%sWFKMfd-Sk8a>fQ|p?j z5EKdrg1iertRtmf2h)|=NCfW`soDoTH9Q5gK?%`Pu#q0L6sR)S4mQ$nRGDi!(Sw$s zv~dyu`xe-%hxmwa3esG9S`bP%5m|8qY0gY*GOu;BR6dphUx|pk6!VxP1U9#VP1llC z^X%NOxj9@QMXRn7U6N%OzdU%0p_P1|r8>gX+B&`In%Ei+Xu9$OY_>SA3_7Z_)hdZF zg}x*$zFKA3Y7`CQFb`&Lc8Q|&9d)d)iUMiq7IB3_FSGE=&}#$_;MVJt8**vQCdnlx z8vxh1miCU}xiUJ910pdAW$Ik2DdJGa^c*!*IyT5$ji3n>LukCyXLe_@D$dc{071LG zc8h7eO7r1GRxg~hLlxkMBXLBg$I9FEsW~->m`kOUet|ngv>1orgQ*6iDtW#sWE0Q2 zq~#FaTedYy?=l;OajJD)(uwhDbf?<7Sbf<_bIlnb{P9Hq+?ZHQlriwx@7_#2hi?K6 z2&)C7&TJ|~l_t>t+Lc@KF-61_vzpN$0ZdOiCx`aQ=SBu*T|8KrqkOZX<%`TD|9c@J z^Lq3~{PEyxpPc`4SV^!RkoaBM&tWZ9ZT2){fR;qQs-NmL{H8YD^)%(J84pc`7HPT* zTlK>Rm1@-qZ!AR)=*g%wjS~?%|GHWH)9O}v)(BmCi&#*>fwy~5cxg`m z3oXOw?)p~G^utS#R=5V*IkMJXhc`Dse7;g4%vh48}IvW%9g@TAU6du&Z~WX6nfIrnYHKK^btSWft6<% z!i3s0j9k6slczWvqc=}_N&xH9-NM7_gX^?|+1Z=c^7|F3&xrD~rDLA}*`FRk-LE!B zuOFLV`Fu8RTqWyFJ3V~7c~g5`dEb1ukv+vb2Pw!a1eCI?Yf!?&u^QYwzVYT5!!FAltVehE+a%IUW~yGQ9C;Mv*y0f!SR8PK z8#)q#3gK+@D9xqd)OIxNaLbxEKG0I|nI#(i&{sn}i(aNk(E=-dH*zXdhDPDNsm_Wc z;zS5BiwrlYdt(GY7Q#XK4Ox_%YrrwI-qL=(JQ6yxL7B6>orssHJ{DuNxxLw8NTHeF z52%cE^mbTe5o93&TM^(QRnQ@t;J~<}gM&oaM>!W``Bc&16$8a@FJavX4?6!zO3xT( zyFh=vZmIYmS-OIEDj1O=^`Qu@A**3>r;PQ0Q5tM$wHj7>D|?vqsdLUmgYA^F{i_NH zLQ&3B6?8qaHY*xgguJ`htM#GlsN{`4y&!_j{nR;_*W=y}3fBcqaCJ|o71{?nX?w@0 zETpQPzQErw({f#WtFa8Z0+?yXd}Y{~wn;w{a;Kr>mMn-CVu5tMStDo>8ZXv|A71Si zgsK$|Q-3X010YEY$$_*K!o9G(DvnKf;Rzim8*(q4_jrIu%8Vxt{aew>d0Z{AhO;lH zY;JB|e$_64@_Va8y?ovRjMuR+r$oQbyk0N8h#OJ2nxTk*#}p?^TgUq{wG)0+EoR5nCGwLj0C zMtY+V&tu$mRe2i%{F;c)E_$Ut1l3HZBXM}0L%z^J!DlQGGfK0UQj|kujS?+hmeQx1 zP#LJk;xDB%&R4NOw0}7ZTchXwN==s~gF#AX-Dq*n`cp8v#y7bd&z27!K=n1-H zII*p@zf%rML|{JJ)NVh!F=AD09;c#S(=9h!-(9b`;>J6k%|XW^qc?)|L5dAhWGs1$ zRSDEMEepbo^dL1<3Au0V=07xP*-|?3K_!)adAuAIOgO%D90L|<^cLCuU1(iXOCyWM zHKQ1LGAzBQCyg$s7?CWbSt$teX}m z8A|LgVpxE71l{>A5bE0e^^|hD*n!D8`+Kxl&g}7ES%VyPKVGh9yUl}b@sDyD zz}7XB$~*WfxH`*d<%wmwG*S6!!a=Q*`)jt*)7&@enKk^r*>YU5(=H1IRdfAbl;7D{ zQrb({>t}ep-fwsVL5Di*f{IjH>!b$@6vpREwi$#~g^Zmd+;YM8AMrVr-^epZPjV|< zv@H>RRW8EBPHBq(stgNcr_TDv5-AA|*>gqrI>tT$D__?H+4O#55Or*RHM~ zJX&NE+$Q3$@dpxZ)LLBhm|U2bA4Yw1-tTA^Al;DA=Z>~QK*Q= zl|fRyeEbP5ozCs%zpii>M8qbClx|zq+G^vr z@rb}hpqa@sEeWGNH-u4}+L3c~H_rUA0LQba&KK19xga1K; zTdhS5UuZH^dJCYruuTE2Q&zBTS$n67vgM*rF~>aMV7jsZNS^zkS}o6@<*zeUzW%x&afL}E z4U)=Cc=4w<2t@NBvA7x|VTNELe>&E(+6VQyQnl9$Hhh=5R%m^sI^FAhbDjO8;l zur{$%SgSisd580lFxJZysVpQA;vQs@?*Y?@QV6t5W+^E#VGBi$CY7@~F+tR2t%Nlv zN=r=gBkOS6K3j2vLYNZdW*d|-Q;2mLB@+VC)yN9fR$1s+DDraoHg1BYuUNGB0Y$Om z3dD`b83vH(>^E_q+u*|GynH~E3v==}Q?)toQ1CHO_cp~TqQtLH;kxqB}8Q9J$`7cJBM=iRJ+#`ask zHq*M`jX!?>*CHHjZw7f!H%O?yWvSR3Eo7;U$uW+35<`H+*oDe#dlNXTgtHWjvMIBb zi}hl#$;yfafDvH~BXMvot6;6aaDl4 zsoHu8P|ek{XS|(tcRY=I)p_*evF+MJm(WnQO-+hj{p<3^*QNElDLW+^LW#;QCx*>X zq7`H6$^J$Y89seZdLqzOdtWliYh9X{WO2B5~ zzhR`O>b7?+3t}aBzxS3O7+5wus>V{l>peUl6&DPjYvxmF9B1ml>mc6)jiN6UP zHX{2t?rh(S8kh)S~o@@wcFboLp?5GUhA6RURuJQAZ5Vx_+Z@3k(Zn6;ugP+3y$Jgo#%Y_~-46 zfvd0RlR9{8f-M7xCA8-m=Ru8{;(`**wc)HLs|Ty?V&N4U?iPY+(sa0j0HB)hEg9yp zKTYBj9=k>UU9Rqvl3d{O!KHSw9AojhtUVvJ`A9nDGyq5Tr?f0b1Xb}W`FP66e1?TO zNZUUpoe(X|5&xg0^P7-h;bZks~o=)9yy`uav#eD%v)%XMw(oE#jSWH2?` zM`uSpLPs@nQis4p@pMRz9CI1}+&;~tLLc8|l=bJ4r)bNWlYh6hzt@-e9T#rhjX(T8 z#Vy{qaQXkmv{+3n5*Y$|1?pMt)?%ZL0JsKZHNHt}Xpwvs^kaOml{nz*o_Pokst4sD%tC*#ko~tL+ zD22JeoD_!r5d_w9;j&F$xqZx z4Gj!%RJxl~RtDL0Fxfx^n+Iw~v zY+YeoJEL6`@U>>P?39-?@j)z~0hATFprwJVGwUgShPrKa)=9<&BE6{a^?-tW8?h1G za9o&(S2L+K0P6p;hSi9flHmy5X9cB5H-%%VbCkG|ehe63_qer9=}3z!cNn(~qgS>$ zA`g(vHbV%hO6_(nb~dMB+e?@V~!&7 zVrTFwaU89Pfr8CQTA)5}7uA>Lddzx{F3e$06<=%hyi&(ADs2jxvlkx~MC%$Mu{2C) zjaNsmXs7%oAuwBr^E+bn=SmrDi#jROX+?`BKaZrQz>~(6x3EmIj+}NjGc|la7803oGBRBpPIXqN#;doh_6O|(6by4#xIb^c zY?Npv*4tMGrpHnbb| zO$SuuF?)>XxqPv=&SPi!MNH1{!iC9AB4ifL&sCoUQ|r@f9Tta77AAcB0~6Vdl56yD zet;U6mPw+@>z?$14NC01GwOw^1wfa%=a= z!zrk_<>uSHzYFWy4urDwvCUoM!+&dR-S~gl(SxRrBCBcxeNv9kVCH)J-^ds?miPx# zR4HiJ3bppQnMfS6Ge>13o9VI~8i;g}$MBva%S}YfrO*F=*80(Wr|x=+>mAbsqusu` zuSQy>)Fjpl@1SlT>{~2XgupU*qeOcnGZ#xGyoWijB_6!!gP#3&8a=Aq)|CfCd}v5W zLQ|2L*5p;v;q;gm*A?L$OU&#VlTP7PYp13)CLcUJbc>7<@2Ws4M!M+XyGNi(h6P+G z)-;!k-FW`N>3~ z-?&mkos*rjoe)i|vQCKhrfQd|O45LlpmAZQ>Ev9$Pc|b}hd9|D%j^hDLJQ+NgiD-s=3rs6mb_`JPa;7+@Sl8?*Vcyzsjw#sVI#SV-(Wt*gZ}YSa zbmg4`%gw^o3K@!E3{z}<19XdwCsXIk0PJidZC-%_OOOtWV9!v3>|o`}PVz5xc;diL zf~DDZse+PhjF=p#WImiS!(o8Cxw>3pHy2~r2%(*Op%G>ccVeHqWtFM_dmqO}W1gRs zXPmv^wqjqH4ur)K4LRRay{KrM3^ja5#qkpVA73DJwspNqyxnl+j-+Cb2&$q!o6e{< zn=DUYm&99usXMB&`(z8eVNcXqt0Btq?;8GhH}gxN5?qY{Lz* zv$!v&?b@c|esoD)*=oWpdhPf30=*Z2H_6QhnIDIBxHRTIX$BQ|*}!97QG$#j zLe?>cSA<{T$mvZ5Rcg@tZ|h%Q@alJ7EWv7s{EppR7KptB@3X&M_eA#k>N`64?C;*L z{+jH_e(ek`U%gYu$mnKqO{N$Uk*k4LX1AwiIK6QUGsQ$(SrJE>WC}AO5mKbVKWQ`ypAHL7ciKeYFTLq1&jEcal7eLGK@D2SqNbYT>n6?>QHJ&`IzL_ zp$#D*=m4rRIwBG5^iBA2-n2!6cgxQ7OeNR+w4kQ(^dP+31dX?hdH#NdDp5Y4-n|7K zqq8<$^tE*?SUMqha=8!;ezt^{_)@K5NnrpGRSxg`QDR<&Hn@!8rmvM7@ z8?<4jy3z_o7IxK72haKBTu6%mx)}R!uFXSC#I6o^G)M7U>)Hpz$((;O3`>{mO*!6L ze@9<%?jmyNa~Br-q>x_048?IySiV?Z0#i;fg|Tti+B=P>t;;J8o4ge;Pa&+|@yq%h zosdK|v9v4i{BG0kGXtab(528VAr-AiX6;Dy@_E-}@YD2!eWwcs;g|mjL@_J7%_1aV zE&C7YmS9ZGadNF}&3KeTuL^m}8?ccN*u*i!IEJapS^N*Akp!a{EelD?V#;Q7gychx zBXPD2kz2M67aJl)3)I1^timgXfrQB8`%SlFG$Oec(OYoWegua#p&G3)KfG<9R}NqC z5_c>6Q3{F}8W3DA5)qhuGdbs62u^7Dxc8cgKC4nIuW-`HE@pSEPgK=bUo7k3=-e*b zsARR~Sexz*`8$Nwj-U+PNA*>6pM;*>uJzK8LVylwZf>EJ zgFVM$oOdR}@WT^3SU^GQ;m~0~>U%0M!%U#10e~`=0YehCh%tS>6mO*E8LIT>N;EVDsbn@+ptaBX&y$ zA<(uia!`7-RQ9`QbYojet_m)dW&7+Q!|t8zpiJ1yx^E#e1Rmi!a7Sy;M#fQOfV7a> z^MvOIDe@)Ojp@?;m3rHgGEp+nTT`^l)NgR9WaWc?gU>f4Nq%Fi zqgUJ?#~Crts)eGG0}$=m-1EhSKGPAORV=~wA`;h@NDl4j{IQ$ZSw9vh2(X(p#qXI_?>5n0jdeq z-VF|hJb|rxP332n4})*O(kb!X%ufUocJFw!}uZYv*o$-ko(8XI_+9HVUSCI;V|VQOLupqt+2_%ZkQlYEsf{k>D~V^A|(9>XF|y(zW7b z1mM7tUM~48MMZqa!sw?1p-m-nn8aZZ;JV@@=P3ae#!}sZ+UXp)0L)GbenckNMC^C2 zapl6jyHDPUACxdzrIppoXY<=x-j+!1D%E?37lm{CU@sQCy$MpqX^646c*q%Ief_

1nEC(pnw&3kK2DkGC7kw&T7_X9NP&`5ayy$v=j?~=UcqL?ho z<;MI6CAz*G-O;9Pl7|Nyt$>@AGP*98biQrGCL}eq17YgaRX_{+bJEMpQ#kfsFHW8x z=8pzCU=UVRBy@Bs{`1f%NUYvEOKifj80G<|IV+CW{ zr6Hk=`g|64jZ&0IS3jm3JA!^Kj1%1=Aa)gd;UU0nA@+u|C~x90WwcaSDht z{-%5-4p-b{8I9^C9W7ieV-2x=Vdf$tZ7O~5&Cyp(dX3wG)KYO;qe&<3KUpMcMH>gl zASdsihZz4C4+X3T#c2&E9eX@q2B|1)^!YN3J5*>lThbHarS$FdAU`M3(IA$1%KX`~ zF=EzGKvr)a95PZnkD7?>ttooB;L6RX&n=<3vb11KzTmqeW>8`~=e4k=ALU?}dqhlX zE)Z)44ZH~mQ_Sb(1~(WJ8+>8tlb5)HA*mIHmqjpFsJDn$SmdH zekC+X_DXuLcD*`vHP|94Xt_qeT-AiRe(ww|1DuCgqD|fsams)RC{O z?Y!*^5O$xkchps={ZpjV^j1DD9wchCiVx?@CWk+O=3${J@(iC29=JRYRZJQAuLa6- ziLfu_G7*Q(ceTu(xoFS<+3L`r-mEpAQt29sMGy`sn%&DrgNvM?jZDF#Tm?##eA6GZ z$~y^ZqM~AwBFKf8iJAH3Nx9_2WgaNEyTq!7X=2TR+;jK}r7uhEV$F=Hh%;BIKe?SW z1{SY!xn?lP%VVhrSvoiG)qd6bbi0rh+8^1NXKgtrLtFY{;Crh%WB4#^aB+t_oo{NL zQM>ZM>%^pI(242lT^S`ZnyZq6`a9&9Qr0ku3QEFh-d>6e^!3pI!EZR7$=42jWL`7} zUqgBJB;nDY! z{jYxfkkrE=XJ<(!##2Vd2(L0J5Ud8qLnc8Edc1cRPWlarMWJ(g>_7J^xMypYg@h|W zy0rk{^7_p9*)r{K^McMmHeb(uyT3>-8($mFmWjef7+y`WS7aHkfsolk3ZM{9Filfn zt232tF=z`THoc;r|3Nzqa43WhPcWdZdNJD-M*fz`I|c7^gYeQ?cc8DPL2IoQ*YQ&& zjc+Rzk^a$S^e+|K-*_b@vmexE7NRaW&BP8S>yBKbch>y`%WLTLWHd}uRdp&vgb;?l zHA5>kL7mg8b2))&;o_=J3IirA*_yOIP6|35tfV@Wl(vSOB`kpRTHwBZ-vXO+Z+x&) zk@b3and>igm$QcP)~O;>*veW!a9Ov7t*Wt~jo0lQ!W8V}`?+9)))g|f6B2CJUFIPw z`p(s8LUXFf%zPA)hu7QjIdJT4JDs;kwWNddLEA_ujMX=`XEpoEeQUy-j4tS*z`j&m z!bkX%QM00F`3M(11+Q<74{d;FW(nWak3*0iL&-R3zBf;g#qWDWzN<9n$RnQ@coh0R zQRE|d(Y&2Ze;%DZW5h~(c%+HNg$kb<*AVc8h(inI;J2bNINB*O9VC6qxdI`*hMyt ztsp?%Fr6Z+FpS1Q{7{s`=hc^UWiUwdCMs*6#@zxt=98(=h0vRt$`s}H&ew6N(X09! zZG3#Jc9zE9{OdU~n6xqpDsmjx$dOY%d49hK)hMj=u-NxZ}N!(7j9w}!O7tm?!GFKfHrAEJ%CV1&C zh;$jVd0Qgu2CE;^^hSdZqZJPTIv;!?vL0ZR^xJX|kpjFVtUjxYCQuW^)8eYS|EbAW zBLS@rW&b{&f~<^5@hpRGoE1J<6h8fz6@A|gYFx=Z95e@3+F_g;$8Nj3*A(=M&X(jB zu$`J7x7f58x#_t$qD{65*nIEvN`Qk_TP)HES808b2y>L3QePX?%Oula61ack<%<<(F^Udi-2b43(3*w zW2E+3P7cy4=i#{kxm;iZi>KYVnVY$^AmS;TYWa=E?Q_wPk(-4D=`X7uz24Vf-EPgu z&)x+)muk10vIT@_hT3{2!&YOwM{I^-u0vM37x`oHrtD66y~PfOuxP?IoK10 z?Z;?edl6wXD1R$hPo0Q$F370kfj(Bq{fuNGoDY?wQ34r;e}w^nhPjgBPQSi(_Q_Z_ z`0X|rm=SfrM~=;cSu@@}=8Bk((u_<^&7N(2Y?nbC_^F5mnmU8mPm#OKU&>#Xa&OLT zb_eA}En50_;@-k~lXR}}QAk@V<<4maeTk}vW0gZ$83E7QqP5tI41Q%x}Tuo1~Nqy8_FJ&i7Ze7~}gX6F?(S6FMN>~61uzTK^CZI73pvOtc>4%h83Y;f zTF;A#TTJTePBt^SwEM0xANq3m^JfdC$FRWWvb*LEm{g6wW@zYtg@J#kiyhCw4C)Y7 zb)Jun0O%H;Ij{8#g__OJIpFy8p*VZT9hRw0P_Brez`S8{{tq6Xmhp=gWWPyI!g zp61CNgc6{U%((e`fjE_jKVE1oJ}6Nb2-xR*=d_v*-i68&j zQ}UklR^$3;_pM~kuaHqM+Vhn&n~evWslYEbo&T>)tUp+MWug7@z~oVVoT-$rxct)w zV(?374eBDLvO2&0CFYmMb-X#7dcIiat(T!&Sv}lE9b+jjz(t%Sa^Cx-(lk#)w{6|t zl*eaBz3X(XqAd!4gN{yDv^JxMS}0zv3~1QhXbq}60nS)3XR91sIC+{-!q433r0p95 zPF%E02eV3F`+W=Ooi_s44<;s~U6T3L$}0)S3wOpV&tB|xVjDv13_C}LAi<5z3%y1@ zhP}&Npb-t%paG`f^Ap1v|Ke3Vp6>|7<|M1rNu12n1m@tPFe*yU{i-sGQxN3}D*@nLv((YrI=Kbx!MAD(|7a@_)?Ie(FE zt=YP`O=~+%VeMJZ$ZB5M&77;x2$g)};l{^_kW@~UeUZ}-XC!A!gHxPVbnA{+EfEiI zxUR;RJ=={uedBo#_MFygw(Vt& z5+Q@&5M4Fg^PfV4iu}4Im_zSztNJALiJ>SA25ERVut@_mDV+ zNNZs%(nWzgb!U;a&d@1o7WYSL~$`D>_uhpCk9HbsI*NzbId5eN{Ecn z&?bbH6aJLiE`kZ&{z$`TVRx2y=hAZaBH?VW$`+n{oBuuFE5ejpOo_ui30v4BYh24u zH(ifT^_`L&mgOPosJu&r{PY42YkR=k&Niyw zv|KBlq<)e+(Wi6=tx^KUA87MFmpac>jmsNljzZ4pRx0oh_lF-2)UQdIIB1&o$pykD zwWf)fv$f@?NjNBX5X2Q0o1mRv9$SGXAMQy`9X@og{`&GL)635yRKwUxV5}6;?5FuH zw)tJSqfOp%ZAV#S zTNCpixw(W%C%bk5?oa3WXs_8xNU}3iI2*{U zA1svE?My?_3ybUo^p5``<$ck4@NL+v&wA}4%IgyJ#hlr9VJ3KfgGMwj5ZoDZ>dG^V zu{Axlh5*Z$b%AWH)=huaLN7LY7ZI=NMb&5~uWY>hBo+4U7hUB#x?9^vTLhbLXBKrb zSmQhG-%byH0L+>NU!A$X%HiC&b6GON`xDYv;uSoG2+Z6MGEY|T%>Up5KK;4@;q=Yg zSW`Uo_V3cf7i`*#VVJoHba4BgJfTCrRx%I3O;#~`<0^JNktFL0k6v`vRCI>e<}gNb zgetJ3zyu068&=i#E_YzS(d%0;s-~grwcXKkUvq!Fxfim+!;k|jf znK10$S}wavg8)q3LMu^!tvc734Z_UwV#iE1KO}@U!19%5t|s|GeK-ct7A9b&bRg%z zUBfv98+*gyI$&=4k!ZbnV`StPIaNt>6U>r@RV-PQ)zgh&$)LQ34V~Gri)kA3beqXc zGp#ji4$PY#9sR&2ti1frPlWc|jq39oss%*)y!>q>ifnIU(liQ~NMaW=B8`89lvQ%* z(v9)uvL_F`Bwf&Zy^gusXEeE~7CV%~(Yk=M&3-(Oaxu)Rgc`c=&qHsz|Fk6%sqmsJD5SQjSDmG2MD-XK2SKrhbQH6k4+0dU;#*10Dkzb5 zD&2U1hSP6A6c!)n){g5d-ZHx-wZei^b!AQ+pR1Yh+o+?OaF~C5DSIrV>QS9e?3u=b zT*}oLD}?9I^x-d(!G_(Fp7p&J3w+R&Y`@UwPlHUC^2^D;cas?LK$Tts_Xu<3D`1o-FKh;VQ-yh=(r%75$*u$hKVjcsmK zoR^@7QW)TkZ%YO0K9hBYkqJp(Pdf^X^8iV#t=$YUF5OWVyMcu?g>9sNk`DQY9XPm$s-W?^^$tzkeI z)Zv}0lZMrRw$N!+1_QlAEP57GG*CC5O9itjoHD*;5`+PnOot2(G);IhoBDLh3#(C? zf1O|i%|^#m>Tf1qpxM%DX|#}_5iB&W)hjpIH6ItU15$r336e0ncktS^09bRewBauV zAW_J>x}7KjRmd;a>#}&V2?tqyQLgqohnYt18X_WorGpiYQDwTtE+vp-8n!7)oALbS6?DO}uRy zlTU|{$uxD((5O10n8Z3uH58*%H3>z~RuNDVC7qLo>gkD1m`9~MPXFlzy)32Pu=#uR zhXno~^*tz0!#S5m7RVt#rry^!Abs($moiumecRDY%W>StyKa&~;`5E{jB7N$>jLK& zsm=f71G_&WjlHj=<=O8OpaqO3bY9@b#C!ZW3qoc1QNT}*HhFDZZ6-J+T)oPm7^ z7;BBkw5DjK{g_D`Fy@||CAaqd!<^jtdD7Y$5(4?ao74&46`SI zGtnXotw}44gpHrubC!_=1zY>E73QhO*8LaB+U{{(^k*UZ=$6brmDwCSvb{0qY5{Z2 z5`#=`cDDil0>3U(Ml~mUghppsg^$2LGI{4e3;acz=~SV%8F_oR%)XtdSe7-TIxyr? zW(%9%(Ade(;6VG@7m$EQtVjJD>43=MFVRdKXo#smF?4siA3VFBtZqiGb`Q0iu*6-Sz5d{~wM-$7OwjP1V{N3Iy z<%ig2@s(U+d6+-@3pheDNfT~7dW+Uqo;bM4j`5{R(n>{3lN?#U>UG`*&$0ECjW9 zes67>RIlb4&2m2)Tdduj>aSc(ovfF)Vi~Xr4ZLFROGLp}0xnBlL0gn}P7eOTyIxVw zU~>?Bb9cc$yMNoVJMg_`3dUOmZ z);CMps#S?R3(!VFnP4hF_0Mq!p!Zt+yx`4er?6W5A7O+wwTc*=X(5sumbEiV< zVtRV)7s+;ypqHog@OzzC?TvdBoYm2h6%`oW4*Ohb1LaL&yTN+&w#E8&rTWEU-w($A zXoL?j_@Xda!YL9%1PO!ao2I4nG@Xe*brb3=!hk~XeZBcQu4YHdz4&4%dPZaNgR6h& z$3*@u@K-*f%V^2d&OMY6zR}=zslGQOQlAkYAJAd`1*mvTft~A-ty0 z9u*fDHJrHBu~GQcQruhBPG7nYmE!sD&-!nv9mr?!sP)hz9 z$hYT0zO@Oo1#AEOX=9Ka*O4_ln+2~V z7LtRaqD<>XabYT?n@G{Ag8+RPw)5l? z`e@a$%ogH4cx&n0c=EDMq<&%U^i3++?Q3CgNlTC>eE#(0+o{<`eVO>KV)`3m(9Brh zkH>cR8$$L%fzZawOV~XZLELjM;hA zJj5B{{;}}Jk#Xj2v{*uP)2Z{en+N7q@JPq~s70;c3&6n->eakjoM?IL7*TG*Wl#KS zU>bcxYmcV~Jk1Q`B6u%u`-$zhtZ)Nhk2vZJX!sm-Avjc-eRj2l81T?E#KQ40)c-{) zVl*^B6{t=SgJo&7QLBdT4c|r6%r_k(!jWmR{SI@9%=_+q&}>NVl9;@u-Wp*E5jqB- zCcZFP?j)hgs_@c%jD(kCMJ6e}TR=Be*56xtyV9~!YlX~XL!Q-FUpShn!Xg_l6fNJ+ z+5vX=5P8GQb#^T-v0T1X#=}kr*)BQQ(oJ{V2aR*MJxpliz zBdn1!`vn^t4!`dly_;-oTD5Vf=P+ORLb-C9xHaE`2EME@st$Gwl+(<&`T;WP{IOHx zzr67b9B$MCNnIm0=mAq!A*Oq^p+^%}sE;yIf&4+BA9(rv3MT+^;6Ul**vNx2G<{Q9#qnw*Kp@(@DhoW|63PX4_1`Md7MIc}y#7Y*t5O zS(z-qw~u{+OQ3i8$=t*AHQ%P8_&k+gtvYoQerx!>e0i3ygB!{`IK?kU+_Wmcu+%xL z5wa6DJgc=6Ml=}FO%HFamvcO>Lm=uZsQi7jn=kOpY%g&1y1U@U{)-k1F~;C`c06g_ z=Cqlt8L|cC3oI42QTcS?&Fs-S0wc3JV@6Dykc0kFQHvejXZVYB z{A=g!AD{h?V=4O-KR=G|yNL#^TwOf?CVI=-eV6}ytepG6T{iUgVQBpKxCrw{f%~RE zI(0=fAs%o4BJ~?CplYg+mk{%c-mys<1eYhs6(Qw5b}tIgNr7E`L$psV^^~z^n+5U+ z;H45Zl=^$Qx-E&9ChKy-g7O4=^McrNaTuC48sN+pE`XtLpe7h zel^yg%$Mx>-5G!C7nDUDA5PNLANAY31w>;A@%4|yi}@J!fXH$RRVwPQ)U)!|8P-Wn zhQRO_ZmyK#!Obax?d`k)El~D+F0XDp$C(eE0_c0)bGpBF#`Uz>*x3{<7p!n{!SKzO zE_h8;Ib~`NU0stlL~)I8jzJu2-vK7B#;xxXJF8;Fb?lHZ3{?A-=Z~oOm4r+Dg6}sQ zO)5o&n_x!7qX@EA)4LAY6Dy%wRWQKBx^*){kRZ}(JV)AqJIqxUaTZ^l#C z&Sd(>?zgbjj#urU0jv;7xmJy(TT?oRj^n+=QG@Tph7GfK1p7H;B9&$H*&JD8@gB@C zP^DMY9T~D(n1skYh=e~U#!+3}*6>z~Dy?}2R9&3Y);A-fnNKUr^V-u}a`dL(5UCnv zeZrW%1mE*aY3d)ZQ(0R$r$&b$Xxa(odOA9EZ%vnQ-6qM_btk+$3`4(_X|KWU3(H#^ zk=P3B7;BtJstk!h5%&tzNxW-|J)H(B>v}uC?mX>8zO<)*Y+o7twU5+aXS$c|`8a=v zEHRhS>K$0tz3CfN-7Dna)I0~qD=8n(DSMOunC$gx@6WR-ZGw-~>0OA#Twz;Feqo1< z(_@yjFLv#vdN;4a)pm=?>{ML6;b+&EDtE{8thyDkpTc87qjZVD0rjFC_Cn{FTcw|sHRngE3}|tV}>%p{)tW} z$0`EGj{mGNb}@tW9S~tq>WQ+jGw4DdWS3ikJEOsZ-xIo%?;Qro{IF5=G+-!GRkQPD zq(Dlt_jhsv&yUp6XwA`-M(whR`lp5+5{oDwh-l{D;In?KYAeYUj1N&nS08U2y7DSn zd}~6WgSx{^9{SQ+Q&HX+nLvR9%t5URYc{*(*!8f+JrSU=MMr~{*ur`G0sKQ%gFEqD zg&rx1i9ZERmZDHHnTdh@ED}+eKJ5Ozzqc@D&Ll5C;|H(%Z3odmbexa;miy)2wJ>?J zvZM^~UfUXv7e}bEHjzdpe-i}~(*kWTTW6Qm@=PdIt`@7fJ~8q0>0{bpI$|&CLj(WQ z^LT6}T|}I1f1&#RVq-K!bl_EY@}pZMogdAA_OYLZC?ZH?R9wwHG37}F?h4LV$3e@@ zs{?8Zrb6NZcKQ>9iyIS!mLYBKF5txRLak{@VW?BmSww*Ki&`l+Z>j}+X_M{1;?10} zqe&{ni|dhBhGLs5uPgWh8b@yXpZFt|l9|&W!+rU0f*p-lbg#~a$p}+{6V(P{Lw1N3 z1#SFDg9i}xTZiWC#`I4P9cEoG^*^s^N!_O~q>agjg+12*)1Tk!6zrA|!9V*k3yj8E z>xWc9oQHtv@h~+$iv9-H8@nfmilV9ClY8*GFLl=os~>MK$9qjam>gC%%ZQ8C@*cky zx^)H?d}Osp|l| z(ZX?8>M%(wXA&%}T?T(hkvu5>u__}A`6YzJ1?ZU;5l!_4>z^m5V(fpMoN75h=JY~s za;J)%BM3S~$5N(@Z}0_3o8ehh3GW2_OUR?JILvwjZ#ZcFRI##p&WXWrOHi!@=}Pd5 zGlNH?lk=vr=ZzF;x8=yC)CK4?;$?zras5@v#)9 zvUaN1xXSCqC!GwzM{~q+F@QqVs|Jk26p*lAW|sVbI%VZbzTa8=7?!xoKVJPBm7>We zLpS7EmNv>-{)lTo9v*G$D{JCiJYcyfRDgumjH;UmW5>>6NKv-))MJs9F6d2kBl?P7 zzrz1-?f?;LwnzsPyM8n&kpYu-K_i7}?u+O2=@~BMsv~^EmI|{@z+2cq)->cR^uRCN z0X0wRQBR{;Aq;OLUI#wPJ{i1Tba_oPa_Mo?{Z8ZOr+`Xl)0&~9A0m8=x(E9VOY@om z!t;r5M+WkAk>y8ql$h99^Vxuq45K>t7*?PXrvWO`%~!Y*;D|fv6fS58mUUyfDQrk8 zPw#TxcWq$p__c>n-FvC=3Vd7^&As@XvotgoE3S}-x}wJ(m$P?}CJ*H1Iy7v=_9^jz zpX=gK)nT~Yo*iR+O=On z7mKyce}Y7Y4P4Z^$%5_MyZY87KVJL9lQ=kF%eWl-ena6(R^VJgz?k5O-ZdZo(;AXxX(cG8*15BYDIg!b(>HD3)!E@Xk# zQ}um{ciua5r;c`N`R3mV?2WytOix|1r`d>V^Cgo^almMC6{*JnisX0|u?{`bHi)%{ zr>h&cd>@`}`3~A(Xy5NcVmOd==VEH*;QOl#mogY-F13O4wIYWB^#{FIaBCwX?Vn@* zr5aV>`Oc6~X; z?6~r{(5eu28yz9&eLeZuy2L(#YIi-rb#^vg#i3o??`6b^fh^7(lvwh4i4zO#wf~Jc zz(<1-k=g5mFxdg9owB&zAQO|iB$|Aa32M^>lU|NIYn%NN@ar70pfX`p4stFCO)eRM zb=hwICSNd4t)kC1+p2FU_FLM;XBe|I!nCB_PXMC_nH!ea&?hnOFz0GQ;nTejI`R??F1yt@L>S6L{MN71jq5@(iL+fe z>#U`uw{>np;N-^!5T0M($w4wX-@c?t2+m04Y7G27pL?^l>LzI`Ws~%jb=9UYBKCj8 zu63394u`DA@uaZC9qPb!MRXEp;>$FF*636_Sw7v83CbN3frVzEVaiK4cBEtFtK2!L zn|6t(w=&*hds#G87C~HQAyI)Nje?Ifiv|M0TOUBWJ&}obL4T1d$Th~@vtjx-=r34Y##Fy%f4#Sg5ztf4H!)yy z^7Yc_toF{aj~vMwcFiMF3k>iDdT_`mL*Wq27aAumq#)adrQ8pqc#oBG9{*Y}C3M%e z%;-6L`qbS)Ilu7)@|Mu7Y`xtY*AOw?ug~C{rrlb5$j{@($NWxP-}ITPug?GJ)S zBM)pSocRXv)XO8~@Z0!a*G5O3jbD4Zj&3fDY^iJ3jHKz9E1JQ*eoCpqENX9Pj!EPQ z?oYd62U-#?QSQA=f;EE$y5i&^hvDlb6UPdcc}<|oKyFOm)uNJb=9$e&?2Oum(!c^B2g3 zO%}EbN5IDo-!`-fSM=EL{zcLXVZI&Rr9B3{7H=o}i{xIH_^j&rNVo2UqY?4I&$Yg9 zKCxjwzQ*~XEVt54*Z;Lk`AoU>en`NUD#`klgYTEy+g~np`=_5$U8nrlUO!dF-Q_KH zb!T=V{K>AvuU}%tN}jg(wiHVnfV?hENSa<*`E z0cPDXI@yCDiAT$fvJl2lu5EUX*g0+1-mdN`n?ouyHC?hX6v#NsDNY1AW0DrvNUe5a zSQ1rn9N&CRfCqH}D=AStez>Le85_1K8+%UcX3W%?#DRtggLt50H|Y(0tK!eN%1%9Q z@`PoSR1GNSrUAup$2tw)V<+8&@^!|D16kWu*=7DmbO&Q9Ne82jX`8EMfP9nL<~||n zmILXMN!3oiNq=vlLN1ertZbpq3w@vqPy6Kvn@G%RR7->soRM{-Z-SnPd~t7Me235v z2WB*EL~_>!#Ow~+6^#?H)!gS~kH>e%K}j#Nt*cYtX1P0+@^Em)lvnpE2r%J#4`B-m zaNTg=6E;JQ{)V!F0a?N#(`K>P&trZ0@mBGl6g^xV(fU+i8}Y(;qh|e~*C?5j1(d<{ zYo~#&f02YewuZH~mQUGMPaXKF>mk}j<=t7;0MWfU>HhJo-~Qq zil6iH(INP8eM1xW6V-_nw6VGoJhR}x+P2q>x3PXYi7`99_F$w{#*?A0G5)W#?oRQl zB_5&AT6bX%9Tw!heT!55L9>2t-6UZ_6pr}Lkr$26z%w&Q0}I__1@FAZ8+B^ClTZpA zNT^C)kSCOofWICyNhDJBr3^G1xJ!bBoWdfB3=1R|{Pkt%)so(ma`WZ78>SC~MY3`H zsibka-%akNf|o4#p~uIz$$%J56Q_?(`5tiS9n~q0#gG(LPGqfzhf+e0oK9oyqZR|r zVeeS`Gz#{5ng}tTisM3Ca2;TaAvJz9|K&6785C@zI438m=LmWB#H%y2<-I2+R#}WN zS#~(B_Bhk92o#DM_2b@oT1_%VPc0|P=3drV_agHBUfYq_H(RSO|BQ3taHk|psW$E) zE!iC2x*X(I`ra(UxN}UIm``a3i8ZUeAAe^K&R2-A`ZX^60NOn2x>U*67h{Ovkd1Oa zioHrul{<>ZA2ka@Qsg&caYx;%5^IGTjt!Eof03AFuh|a1jJ>7Hoy`98%5M-w*zYIvya&r7ifYiP zA@Lxdzz)<|Z`k)6;5JtPhs~uGF?vXcyFXH0xE_*rF%#sRyYWvQ!T;#^9C(zOGA~2+ zHCVUtUS;6!yvC4*>6~&{@s-PaWl!{-GzQ$R9 z{=Z1txn$7SWe-bxuaAfruPd)VJOcxs4G zb0D#VA0DC0LsbT^7J=mDWw=>?yj_~s3TmU_0Wqtt}<*2$5`h01L_~6HLTH4O!V~DF|HOe z7gmY=xH~T+h0A5BHDc3jFi zz}-tQYEEE506s{TIEcSUa8vYHRy2w<4PZ*{V(ei=%u)Nyk$flJjQ#)g;Q!`jfA3JO zFSpwW@TlRZL?OwtioqRHfdqTwd03Os$!B0%j|1Uhlb(%>^U9gxlXPxm2Nr};hBD*_wHyG;~@A>$m}Z2OxZFov*dfVwww7@n&wZ7ZLF z*;-=Vg#L3*F?Q)B$XCD)_77Cgiz$+`$JV3T$fAICDj&2BJej?_CwGQV=1XgNG@YF? zzMlnME9MX^PPd;k@iKyDM?!+=|(sm`_jNim7IF?X8^mTA1fK-)fSu3{e!^L z+3J_A7oDay8+N`WPoIqprlRqC7_sebfQ#KGE%%MX4dmeUm%k7Ik|`c(Te7K>#dIC! z=AY_JK8EaF>8g-8Z+ke*I)uROtPAZZW?t&8w zN@`v6mSbFwnOhlvyR0SFW_HQ257?ytNIY@WB_FnpJ`+%1BNHkrY`g%K!$||N8?%S9 zT_Rv1HAc~ME||^6j>5tc$$enW%B3@LFOm%!L$ijf>SoR?WAI~Ilhn81BA@s27hbwM zufQa#xvQPVJX%%n;`eHApm5;!W>Vlzim$bNf1PW!sBuDlI!P@K!qY#${*&N{E`4)V zkK8-TwhNkR;cp%WR%YB; z?Tfx{UBd2}gH$w(O_}TkdU?U4vYuB;hA4_HYw!cvvb++*sV(Nusv^P3@l&{KlT6!(9gLKs1G_qTISN{qM@Ss1Im#=c1jQ#-GOoJ@>(ps%7jmS8A!;YvX#I1E44kg9mqlCv~ zj9N(asVvjnFd|I}Q88Bz8)$1Z?BJGlG$d?tgpP|{>+7Z$^UIMAB$nr#loI`nCm9~* zVPVI#qtUda8vk@fue3pL|2myH&~*B~7XK$XVPsK@M1wnpSAcE9iGdqoX1rzPlN`1?woW*=uf(4Lb^T|*ll1W>qcrg!7?ev} z#&s}CPVuqzPCac;^jM_(9%j#NV$uLBm%Yifij_7aw_^T;g(+0`TBsaNXsB{|>2 zDZIpK-gTrtuWuy3t$zT9!of;##Z<8+^(8Kuc`bqGJl@BKqJ@r+UtC6LZ<-JvBHX( z^}u~=;mj_>f@9~Xc|FD+P$y%n8u!4#DV!KapyT*lwyVScENN7wkgSS7pV5d|sY-~X zDzZ$70jkJ=>0K;OsmJZ|kC5#%=Qg>IG);2%2yXwZWp^pi-Rs0?GO{{^jsqYQM04V8 z4FEZe=vL(NJc8&}%xW|70UkvGfV-7jpt`R$(feb?dY<#ndMp}5yJpxOzB7LiM3IhY=+jcgRCR6l1Xn@|^5q z?c$*k!pL>AW41cbuGc=fgdIsRrSK zb|_{V!ew3CSMSJuoV85ixnwZW5Q`9qTiNMO~k=%M~hMyR!+}Ci87AF z4qM52P;}2^0Gi;Y4Y?3Di{d9ydNUKIwoa@YME&5aBLu=9%gGdRv^)EuTfv?S5=y?1W(GpeJbH{HBf%l9DQ@=FPUV~PBdPEnev zLynlmuNkB}gv3rsNg_*yHH{)1A9SVi$%hJx(|t7JIat@6Mo?w`%ZqqVx$#obuUsa9CZ zEAp?B7$~ZewF))gk(|s?SMw)eVyJJ_6si;zKpiy%#kve3V~+m_P1r-m&Ho8kApIY4 z1*&Ehm8AN?{;W9$7=LHU;3vqJOA)%3H#@`f3F7#OAFg&I9E>F$YS6~;SK8IhK~0{!>K)Tuv47R$p( zRAK`>3`@OjWTN$Vyvl22wK?)xoKc^(^m0%q?L`xb_H?htZg}+n-z{%E>I${Z3{z9K zoC%s(7v;7=Y+PIi@pEloMomW7D!roe8j4lqzN*2MVwF`Zb3US~r24WIdAP%U_AvncH4;Qn>M>7A12QrY{E$;KDruFT5 zoPO4rn)Kj3#j#0bFL`TW=GCr9oi~ z$^1`)GQ^!F`rrxngEpQAQqZDVt^C?|(jW)j%@Q$zEVaXEBzOsw^Pi{R7hGzD$DswI zf%H=90D#r1dN`BLLal;CMZc8~om!m#8+$)0Hws6V1V(RObZ_0iWGkFr*Ank`G~{tt z^+cNFK5LX-t5vwV&+pq+XyoR0av~;I{wCe~Jp?CV7N=@dG6dg(qjIkt_rLb$h5J#i zY`CP9&x1c^uui_;?pV#uqd{EV?jwR<9_+tz0c&;_7K^Hvj9Fy;AU$_*GyklqO5O4= z)C?OCek)Ys)%!E5PlZ}s@gn;g|Yx0lfTozcSw-NAqnmTYl0?0gC=+agq(h6p7)ve zojY^xy`MSv+&gpU4?b0U?OOHORZZ2dz4uz*Uqi-#%$CUH<*VMbLqg;{XI87WJ*KbQy^vp@BGkSX(+E9g|Dfq?U?o$$fTR4418RLk#-1fjja}$t$-+wv*3;f(}e% z;(7TBX8g%@n)k<6y3z#DRA7jgs8tK%fZaG!#FB-4u~{m)QmuA$d|>)0dW`jSMV%=b zrE#je+H%ZV-3eDc-PbRPS1Y2n<21fQF!>l5+c}T(<)wr?h)8H= z{6V7}-yQP;YE76vl77Ngbn`$mjy>ZM!YH2%GtdLYpT`r9K4ZlaE&w}^UnL|?Hyw1_ ze;XieW{0^hj;At%hB z9!}s0MUXk9s-Z8@(#|r82lm}F}zMC zq@L?pH~?yu4}hv4Se*Z`JQ(S@r?_eQ_B`^wK5*tsNFDvZWu%bI5!9FLwY<4Hn`bq) zm5^yi4tln06pI@i?^Jl@2pX2+ql4$!fXKHn@Rd@s2}JwfMT`756y(1a6hyj!MI%yO z%8dL}m0%q!KHxi%M+2UUlF8vKa-|xY3l_PN zoxsiobI=fTzGnuMqy{Zx4;S;az%jTGflfO|RDD2_lgHJgISJu*p-3h^(<;m(mN;$p8 zuPKt__JY;=vHOgPWt?(`KU5TtSILjEgms_fC~E653-`x~FF6S2Q(Ks%k|?0*Ziz;| zywdn@V8{PQfE}!(zAsm$LhyX_Tr2Tw>6ns7x4j3iwsHydp^q|KMaw`?X8kgj_oR&a z52<9yAnA+^Y^~E3g5zmR8*_-)SM(%W8?ZpS_(0UC{x{%k3zad2`5TahX&63{(y0_^ z!mZJW&v<0Sj%?%$T5#_pa=MTVBwLskT*Os(q+1#*TUf*d%U>3$HVnhPH?@`+&o7r} zcgo*ozFY6CStu130SP-s1~(;s4}1;TB6j}y!uqku-c3FwcA3iUMBAFMVvmoQ<$-v=18-z!}sNOZeXLf=NcNMPVf@bFg9QS#hko&HjCbQ*n za+bF%K?1*}iv3Xk5WEDdlB0(tYm78b@Bn<|$` zF}l~4k%1FFxqEZ03g#7BC7c=%9sMB&PF`6*C(Zkw9U;~fu4W|P!FsE}<+!GDsqtR9S zV&@v}Bd|&_&?sf|!+XTV@^Qy;+?OQ^AY$U<;=#SoVb*VeT*B>JQ=;Z+vm+v%lq;O@ zH3PY$XpssI8*xbauLdc)*tvqlAx@3-${*4J(p_{|!~d|AMwNSRo^_dH{_E}FR89WK z9=i(VVX80|R_GdB%dke?gH)F_w~Ic7(WXHui!&-zf^&5uHKRoj8D&&;;nQ_klQl-O z1#`BvBTecC)3m@QjpyDWfmx0N$&xdvv{1W9+Hy5nr#K!P{6`k5s3&sK*Ca&$V_#Z~ z_Z#HU&pi_c6zjhPHlj?R%YRYRu|O*EufpvmLida*r{#Ypj$LPmUma?6?*SYzpDeS4hr52^o7k z8J{fZ;NlptM3jDgf{3;}#a$!VeOq7bS$Co*J^^|-klFXO4yd=@z!~~;^kYp1Qpug4 z_gx+E2Jo1-VM+8%+m)M1OkP&#VaB2qONF=rNdY*y^d%o+ocfpX+v}LL(^Qwg28@z- zn{R&u!W$~_&2}i0#2cOqX*79qLlG)YaSvGc^*J=Ghn>cG7$1X|7!-hdO+YJ%$tq2* z9;JIaz7&*YRF!J;fqnFs)b!FgqJEy@sL}>OWLO0%Tt|SxY$fo}dICqJhZ_v)ivZ>p z+I+Eoq0mkZ%26PcXyej}F%hA+-k*M25+O@C5a}|+nVde|>lv84Te`{$fPuF^6ijjJ zg|{-oN)5R4hy=xUEhhc^Y^>XzUIC&9SbVbd4Z&M?Kvk7Ft< zkTFx`sNJZAeO1k(5>^59bifAymeVb*3SS2{^IW8YIh(bH%XSomcpl9--tYzqvMTY_ zw~9emvIqy<=AUFqJ`*T53tHKxy7wi@D&rwGZc)9| zrDBYpc3y!=4fY)ZYOMw!3QWH|P%lT`)fY^$tdeJM@V?V5-EGYV*9K2#XSqgx%kE}4 zxBd-qMR2uCww7q@rol6gGcR$CUAUz-1<6VBji(eFxSIR9qSImp!zc|J6~BL-gpQ|* zl(=zb$Z->Ja(Pv73b$waLdpGzt9W`gFZ|yDoOn80$0n#KF#9E+BpQ!)$Pj(FqkreJ-)P>jtZ;9=6(d3!PRP@Ygo|p8M7rdqr%^o@$(NAh0_Ttfp5*x^7j|aB|moJU%mW7M=-);_v{JQ*I*n#QRJ+8dRqN-unQR4PI{y0fYp_6vR`s7zhpk-SqF2^CIprc?+P*;^l_JZS6(BQ=SfO8HMf$suYZn|{?h+dAn@0}!Qs8f*S7}G z9W_ueEb$A=+M*e zVdHw^4126x!!&n%Yc-(6QV3DtFnNikLFv3XyWynxBaNbLvXTrxgwgkG^I)I%yb|4w z$Tfat*;VG7q>3-wYi}cRqi%bc!Xiw>!68XCyFPt7sX{nPmbBuyMj~93DxnlaJZ&Lo zOY9xJ5^bD(gJw{T&+!fwl#j(!Tm#(vi=GZL#GGwo1~)fyf$%eVE@bmDQkX~#$@Z8Z zjn!yM(DiBa+M~Z*!n7kNklg1q3n%LEB`YIz~XekIwk~zN#7ig+M7jE;y7>n)cnZG&udkfPxMI&BVjX>0M{PbFQK?b<68wFM-Hi<_ zS7Vj~iSEuz02_)ou&F53;l(SBQJ08L+q=|gP;pYFm2+6Ry0DOy*oQJz3)N{H#3CYB zue3$xdZsHH@M8FmRQDD8b z`nGo~5T;VkEet|paU50JqSmaGQ7b0AhEmaqkUE3L=yi38`dBG^KQqhA)WTQ#d6v|^ zZ+Im8pIVIVwj8Zg_No;l_m{)<*CttCUtN}T_Q{sXc0%Ru-f%c#HZw1Ds4MZTt^~`Ulk*^xbkqZ#v94(L z{vv9~M9QSDul1&TV`6lNz^J}%p&#BXLJMCUWSQ8&Vb{A*Y?&yAoZ!?7yb)95SZC8X zv2Lu()mD@bI3!k7UH5pHiu^_2mbowQ=)-J671`3<^+wy!90tMiLO#A(=2*N7ZRk6V z^7$ADUt&`prJMHjaZaLq=`me0Sfyuf%6s*C>EYMauY;v)tLjPhv<_tTrRAC}G)c}( zOA>e~$f9Gd5BsUA6=JMENM#IJ??bw01>pIQLv-&ZrsIuql7ThhRsR@QmcfSPv+XM02%i zS?gTZ>xopRa+a6J8qzrJ5=jZ3V<55LGomPF(ggwGB7E2K_0uQ6 z0sYVK-iKuNS*`^czkTBD9K&1Cqx6F~kI(hw{o;637Pbp`#PzQu1@6B_p^#XDcU4+%7A}di)l95h;iC!_Ytchn zZ9Avan~FAW7Vl5N2rlI}<(1gI;bSXSe|dpI0EEhDtg@8Kr>Y^>^5Z|Fh>_{Tt~f zGgpdM70l2-RRccp-hVuv)8&m3Yvs2UmMP>fy7!uZq@Q{4oOegYd8;J&ph#{f)Y9tb z9voM5JKiPD=!p?wm!fqM(H7%l+xqb3wV2Wsf#nOvl*Secn}-N5pUgAi$OrWZ!T4I` zY_3G0O;_|yS#L_m!tTbjsv3skwo+xE(ZB}R6Se85Ps>ZPV-8&4E-Q^+6&r`l80Ri5N_rsHPmo<#o-e6KGtueZ%^JL zi~w5qlBas9t%`(Zl)8Km?@esfx_T9P!84#4!z6jXR!r2bWd|D0rm53pxF#DU)VxmD z&D8~r+(1RDRl2TPH|tEE#K0XN&DHQMRAS}E8Dk8q-SO>k*FOW1z=E#clBeQJivpq= z2+vOn$`IFl%n-i0Oi^m`k0z-OV%7;25?C7l)ZF7%t6T8RCt5_?Snjx>fbwhB)9BXm zqXmDftQN4;hj4DVNt!c(3n8bpru=&uyo}ls4~qvxI^ujdaR{#LRbf|<)DC2sCvwVP zogqu$bx>Q%P@}7cOTyk8Rq7!UxU0nhv%0Ut+I9ZLXq|!g3YJf|u!GD-PDQxn+}hyi zLOiuFECC;DOm<}>y$3N{sTd=U3xNMI9t@H@R>B}skpA@m>=4Jw4KzgQzi1rj7>rr0 zKV^)UryS;rwk3lyV#zn^qW(~cl?{O+zX6E9GWk%7EzG|GlN3K;%NnO*@z3zFd1KdM zzlJ-=XU7&1oCjnKZb9a5cC(S%U%?r?IyQotF>+4vhQ*3HUDcA6-X-G2@) zi=>oU)f6q4NywxAkB2qDW!fb%LG`s!4H3@i+5q0CO1p`zWE7?%?zqrYtyLC>s79SS zL-LF73uiy^f)YVPq-5igi{WcHz@rgXS-2OYcWs$seQ7vOE*C`%PP$?Le0#md@KJ!$ zaa-lOm^c#%h>k(n@F<+J-@DqdQdpQuh1d$8!@4+>3n#q+@7K4}N0<7)0lM{fzBGfu zD;q%$h!?F!)W#{D{oH`g>%uizhdF(M$F}47@Hh2#XVyI-R z;{h+Vs}ou2yL`Uf7;bv~6nbHw>p|s}{8|@k$FV7<7~xWFP5{^UZp-MXatXo0CCpjV z<`wKBcJIge4an$wE|kT8NB=EKXmRCM10fsnG)DeV*VV9^jDz@0N2NBN)~VU<+Igi? zvZBS}74Iv>(?#Cg3kerV_QV>OrIHEj*=OGB4!w^}AIEIfnu>gdfArF(11-N+$Q&s3 zJII_0plzcg8PRWZ{;>1rYvKRelRSgNjceWy^&_DNodK8Q_=X7hqObB~VU5j@O8me= zEyzEdDhlt9hX(bWI7edO(}2r-J)rKnpFbeC-AU4i$e*?D(0)!(i)4RrFhz%p?}URl z8^@+=h|mujiCo=|S+!R$PJ-GbA(eM3jqGO@7$|&j~JW(~e4DMI; zmV0(%ZG6ZXN}5susxH1#SFHk8uW_jC!)Fu8iO%>DrINGLo0-F#_$B7$ndJ#HmGLd? zyBtk*o4B8JIwW=R`vQ2~L6pV3>ZS?G9cqgoSaARC7W{cle{0ZxouV~;42`^Q%vg0- zeq=(`ySG`v}0=IVj&T+p(dn> z?bVmeo$iXK-Z_UUN3_{Rd=Eu_etaen1WK|2SH;a;JHE!mBpvemSONc07JUHO3c zv-p2_O$;~d!knryI}4?K`VwL0rM#leFFuccVeA{5=>_kIjlvM!2w+65c7RErr@oEN7XOB(;jYf0!+yM?9j(&`L0EZvw#pDa5d8vp zwd3oG-)XJnmfY2>v$s&OOIi#WB!g{eJh{(cj$?OPTpBH4uL2kRFagJ8J7A#Y=iTNOD!J}Hl<(G{ zppIAtY_{5K=lw1=$8nV_KsYSNNV&~tH_u6gPnDhbZ8jI)XEq{T3HctujpAYRQL5UuBwgLzpivWiiHfvepr<}4EqM-B~D6)F1 zmObKdyE3`90zrvfh}!8ggSlLKB8LRYKCn9-E@mOAk(T@Q)(24Jj)*=cRIoS*>|(h)t?&8AD`b2Zr#(p zvWgi5aXwD?sGRTu?42GQ7$!V(_q7M>%aZy2rnI{~>spTbZLQIl0lUYJY|gR;kqE(8 z-lS#z56J-L?XOxbMi)mcDf#zVJUs$zL(RNSHz__HYg!rRPK&v|xWbxl*huy7adJxk zupk1AUc0HAQjq1AfVc%rc7wT#U;LUq*qvfc$a?r$Vq?OLQnN2kj<@r|)+VDegQHSsXpfc^58TDWJ1T92=Oy8EOQ!u!&qy51LC&lEDH zR0T;BZc^G)#S4^)Nbkh9)dH4{Nf6>8bUF+s<0nlUELy6MR;^ z-Gmi(DYmpd%fpZdOW5mN*N{{&+QYDxw(&muke^j&vtt!hA(XCBL#2y|d#@Ioz%$Ij4|hr{Vg=81jx+2Im74!Cqf>fkX|a4Y-+I3u&Q((-j$OMKsnMo!RL zk?GyXw??dy{qhah#xX}Wo0_2RTA0oP@{$Dclv`#klSf`O9hVSMMAhz;^bBXl%qff7 zuipv>bwgr5$f83m*14z+Gkyc4xizwnf?SHeRzZt)hk-tvm%TG*zJD9gejhB6c|)>W z8ebem8pC8*d=_`C$BJi(VOVS)U(j@${fp&9MTqB9-CA&}FLO?&+v3S{HK~-z39*Cg zC*=jByY_jPfk|^(+n$0`H@zc&yAxX%X`Qr_Ey1td`x98Ndr~`j5I?GWM4wQ-{Fr7Z z*h$pTm}CQm)=f&Mq=?T82sE1c9~zdc7ElW%JpB+sHp1Zj{_Ink(UOeBqegPqUcySc*LKUSG z3NuI+@_)F#DDs_~F>{;}i!)@5J+Weav$wZujRzV>sR5>`l3j9Xd5+op_%eASy9QY< zJyv^6ob=*^mVj1jE==A>a#V1h;yT$mL<0n9*qb=ze(?RS%ka?yVNaM=M$A}PFQb(v zNq8;wOEE2uyXqY-w7#%L1$kq69r(kH>RNufj-Ku4fXYTUHytGax@=-C*v1;kTFZfJhn!c*&xuWrXey|MFyGTR4eMe zX9%uM-f!zO6e*g3!8&tNPQ)xJR-L?ZmIZx3Y)@phq_O&L=C8g6p1vjBUH?OsuS)cA zuE%XiqTM26E0}Yt>*6)dsTORh!tYb8r)w`t)=@9dd*4FrKj8Gj+2Fz;bJ}d&>6+Qe z?tY|u>A7aNtI4vU-PG(npIPU^SZdSE?$Gsp=Mu?)x$-MNJq2T=L;jHzX}~Z zzg{X$aQ-IO88TlKBR&07ylcsGs$l3hV0D$502QJ;D&`#u+H_pWsKN4hZICeZsNhd_1;{UuKf4^FgZm44Aq zNrk6k-||4&5b+jX6knqR3=?Ofec{_Nrx-LG`Hc4rY(7OrDuVFag2_HUt&d(@nGqC&{vHywR#-QmETDsGMDi{dpU zK4TJOC9!!m=p~1V$Bz}p)DG!UANDiou9dD_t>0)m5YjCof>t+F9wfn z#9|l|D`?8K{Ngy|sZ+_iI!ActgKBj>`#(3^=oiBsHYS$wV`vK{ zY~*-T!;?B8{GjTnYID$Dq0MXyLq`I#TxyqkfMrrzp4928Em(9Xxkkyj`3dIbqv5 zcFQ^}Ph9bz=`t;=JlBS`^RG7ytpHYkcIKJFswT43HR7e>f-g~{{`Rgs$8C&#=FVUj zSJyqK7e^}zqhb_3Z9lG}e1ex(Vg>DHjd=cUV)<|E%`d_>7c0(=e$1-K$T1e5ec8=+ z^ce2wN4euR;eJCW+Z7dCNO>eyG|CP~Ku$&vF8V2?YIG z!3nT^$dg3X4WQi)oLMuR$3PZKblp91*Dg(@v8H*x~wxa>uzBRfwM+$A^+OvBYj z;Z%PVtL9;g$WWtpxbDLAvS+qKuM4o~!~=;jTaaSE1gVLi1C&7GOwSM;S!|3pO02lz z71;XekLC-FYd#V=q)XytTth5BQvB`9>y-B1#nR(m{=Ze4{vS|j(tl4?G*wowUh9{7m`J4YOL#?9_Itj}c9_*c}vBHEj!iO=$HsR{0af$~z>RMcx)MzW9&;|vq5nG(~jr^=0 zDREj>?zMGt4tIBOvA@uaA;RPpC&>NGM^OOF;08sw>woAO{%A_eDzcD}B0rleOg7%2 zLC8790c_vEX))8C6l|GE(rkTfJ74bCQtqCK3%|giEO;BkVvZjttx{B0zbQwO)Xd0M ze^{y+nOxrdt{y8nHAx+Ti%n`adUOS98{tnY=*m+ZF48>H#CLB;;rxDj)u`!Md>%B{ zXKAz=XuHTYkhJY5;aHpEN@n+vUGXDFLt{!1u7P`S62U5@#wc3E+B?*rV7u`}Jn$^3 zBMYsKCKU`LtO12(JqLm#F0oZIVa`fwlj>%zSdp^f>CbslEby_D-++&Q$2J^Z5(WZH zGI6dPvAGbc+LiVviyB^&`qA45z;T9oKBxTx4OI7P*jhu}z397{8O~SZuL&v7Qa(ch z-jz&#$LlwZ_RCZUnwg#KK=VF?hStXBP%5~p3ER!Z$Il+EE%IBX3_8q za~h);B4M3EG?*a`+`^41-D%JhG^qUa_*V%#k3}4|>q~Z#cwC@NF*za&Jmvh%->n6g zLbCas#%2G)MMmW^AhNhMCEM$2z`QeZ9VqSoMR&KeOM*D-YT`MoR~(Squ8Pux$)aHr z^MGX{Kt!i~x_-?2X{S5Pk7}o`L@z35>J)|_jvlM-W2%+*ytJp0{Bs2HnGNoN={OeD zU8iz>bz+6FAv^!-%e(%z#5)oyG$i@vJbZPbIemi0qtA|xk)ZNZ>aVQ%BrM<)PF;XO18$lc z&SOi&>y^+dD}eCPRSi&&{$B}D`JvXBC3k2&lBh!V%*ql4w)pQ3(>;ct+5ZLW)w%koUAbnrGd;(t2pN!D)R{>t#(%qNdBo(|&>8_Rbm2;=Q5S>s?@wS0ta3 zUM8(3n!nXF*>hl=(oM(4jH}DP$R;Jv@X>d5^~rvoWvfV<>&%}XG56~M2@Y@QBw3s@ zrpP#djx5Qj!G2IZty8`^#zESk$fbuTgcaOL&SXNIAtb80MI5~t)&06@nZf!+&X8 z(0ef`OQRIKr&nQ9CsabH<}&)bnz;Z}H%eOq~# zkk~>pM5}a9SYT_GWtQTqe-2Ng?a&=Ydcun^uFE8bU zd*nY=>3)DlGRWmnQk$E|l4&{0z>IN6`he-XaF z(T%J%E(CFb6R0ctfqSsh_@TlS98YrISsvxyL&geLErAcrJP+tyHI5LKe+nP{tDh;G z)C2Yz3xX$@0h~jIP9B(zibLdRBdI+V@xmK*77Xy6Q#%Fca{fMHF{108nW>tmt9P^K z;;@AC@j^dxMJ?e+P_r+3?Y6d^k(|KQ&GLwYk#rO5X@VM4WkBCNU zmDe$FF3K=G{f95Yw;%r{{Nta$*%b7Ro*k_>gs>LDve-05YbB@HkMB3K=uo)Rki(IA zqJX2g-t_px47dAeXLDg_MiT;j?L0mv`jTZy6nOOgeyz86YJbZ!$JAwi275h?OEnPW z6yqF6Eh+qnLd6g=+};kjZ5&4;YUTa;g+fH z`b}UNe!mgS@*9vBGNwJDa+ftZlle{RUPD5Devcym9u*P`{mI$hmbv&Fupmrrx$Tu5 z9}ItT|29|&)md2h-$mbh6mi}a`kebtB|U%MoL{#h-+58C7$&2x}kZc$2^%T-jVfxOf)?^l^8s$45W zZ|FfKF`Q69jddu85__)5x)_a4u57KN<2nsZ!;TI2CT`Kn7WFVI44#cJT?|X&NEGG{ zfZ>jARnY1}l2jkX5vR=*Z_8&X6~lAFTB<@PQr~JFn-P^qOVd#MKGUrrmI@N59vtq8 zSyJ0IiKdI;!M-39f5fg-HxD#acR$Ekkz6t@HqCXq@pjHAMLyo-<80LA6~TR3&#)*U z-0)5ZA%iqyQ;2=gFF_wsFPsqRrKCd;Tc)#}NW1Q)TVe|r`Ep?z+Z$9%W+g}=+^}lq zZ4rvLPm-(Vn2F9xr@gE-WREX8AMs+Qtr`M6)}M2qf5SE3l3{einRQi@xEy?Pd(JM0WTZL_vLMyYC!X%(sttk`d zU@|SX6!=5@2lGJ<!(WbB}9peLYf#+5RytuPh30i3he7I~)0 zXaRmlqcGI|wOc?$@3lKD#=lmc>ej_)O%3C0^Naejo4&wX9!n2(&Z!~rqwoX;XOmo? z)Y)P{q0gJxnsUPuV@)W*J|0~7tuyFs$KZ*FcG{<%vGkSu4PfvmTY^vdk1(3ta?K~s z)wj_Om9-XUPZGcRFP~Lj%obG6D7A`4rLoy0$he(JOg_)M#b|N~;9WRx-}!Nht+$)tT|dx4e=`)Ap{qZ7GjiJKiGOq3aL_Alnp)&(2 zx3|zVOwWFZ#la-}B{MrLn+qeO0q_8)H`cIYyC*J;_ASQHh)${aogA9%&K|x0)MIpF zHCB~;W$Vgp;V%#DGXcm_lvoLB*kVR?`)L#Npa#2QU%ifca`WOKZO<++0a-M`q?4g4 zh|3zhU_Ft>3ZFw%`1bXPaBLm91^GdBM?P-cd|xO_YU;iGQls+3Ht=u&lqfTNy%beJ z81J5%QIqUPs zKkv{8>$Vxz&JR%uex}bV{O_B_{3#wv1mi~wt?`Dbp#-4B&kvqODX%ifzPl>X;DWfV z<*XObP!+6!v31@{84G3*Cm6?obPa0Q9*K(_NX`d1cioS7Oq|g{dPUYl>@8PEbdh=U z=1W%wBf3}ryfdtwf~!H>8~-gcuhGHncDX2b%>SoMn>+khfY0|-$)gWv2N$(+lG$(T z6`uGpc7SM-q*B);9{ThzuoD-I%b#;Ti$I9|)Me*+NXNm2O#fHc!F))rvN6Z3dbLmi zs^C>0)yNUR9TmRBArKBFRYOb1LB&Zq5k{fZkkbC*0}F7$S;nnDAd@%UGC4NFPc>dnG4evj76-8?{{Rj~2p)fk4c5bd> z!J0?5BorMJ_~8`PI-ya}1BYtA8+OV5x0GYvD+o$4@O0@|KZR0j0Unx!)hHXLqiYb3 zlnHinrWO=VTMUcE?1eA6P;Rgn;+ns)^(*w_^?4s-orpzV{9rSxioqFFn2yQuQ!TQn zm_sEKhtelB3X_%?=hU3p{IEfoG;C%nFw8 z)bUD|sbi<(W6Dx8%ypuJjcQEQzi!eEeoXBWS>d)?*}!B%1V_NSYLeMeSNs3Uy3dnO_R+j{~-agMw)h6nLTY zGU!Oo6|m3am@2WP-|Mm9i;#SnO~}s<8j@p4(XN69@?V5 z@D7dgHGZv9Qn`(gxn*^09)05%EUl8PN2aV-W6E!wO40KST9baJ8lGZ*E8stwKj09dN}`h46%J1k{!_J17;?^uO@{XPV!DN6_B@zN;2e5ilAs z9*e_R1C;)9m=IJ-_CPMzI8s(ez5(vjjO^HOXe3a3v*n-LA*QXpfZL*$_#!`@#)h1~x?~Gk zSEJaB%>GBXJ0fPW@KVvGV$BjAhA?8Kn`u$!FR1MDxsp6&N$FQl9w;+19GnJMUY)7% zdWz&M_ZiCTl=)iZcm^CZDG;t#_&S`u=^N*3h+52DsS~kJO6q>6x29?0wmyiYf6g1+ z2A2q&XF)CiS@rCW`E(-p^yjxm6SSO{#|;*(iEb5}Zgs_Jy?YCPHjB$OIL?kMg5D!K zEkynF^kCoG+NkEi5{f=l4c=W`905LKXO~I+yiJoAF{`PL`S1kmN_zjFvuEdGZS%a- z=e{1#7Jf=E-pm^}Os@uZeCy78eP-F!1tXSz-QLz_olEz|Iqsl)|AkV00E(H5OyET} z>>=$Yo~2%ju9vsVJp18LwTTqXB(r6v@q`=iJ3-?g)=9eSu!r8Dedu??9Iwi!cT^Yo z4M_Xhy(_chnzT0)T)gzw>7>2zv8ncU_hj$n+_9~%o6B+jAhk5$H(>13pEUTvklz5T z-+*)UTU_H$KWL18`XY+19Z>;pxNo;eQR5DR1GPMzj4JS#C;syB`DYXJT!w4q5j&8_ zRQ43*!sB}4@>q~8UT2`y^-t-}p06}&->Ryh?Ts%hVVoLas`DOM4T6Z9_k4&353no# z^^uPh`4k$^!&s|62+cC5h=C5c|n8Od>Z2hlyd8bzbkrsGxgjSl8 z3&6a4kL^|YOvy2g?o?ot`&st4m?R>T?U5H6ez7xbQk%AehW-MdNdDo{MxyJ_Z2Q>$ zBTn^Ji5kVli*$APXb?7X>e%)bBr0cGnHq#zA+Z=aw%v&PywsT#!2i->SNdxoeqi=> z=?{^U|MKRsT%InCPC+9+jg1ZMhNR!iIQFh~o?dW!YuF!qZZ=RH0Re`m41eqhiby>D z%P9D#QA|SoFPqSxHgVynf)amOh5xiZdxpcnz^`QuvuEH}g9-jo(D!#o6^ylQp!T+2 ze;73ET^+rg7z9L7KA=Ag$`BVXdpK(AV(n$GXm9IgXa9#;&)df9pM2F|){g&VF@o5k z9EAmh|EN~Ahd4TUF$jqKQ%N4;<*8#2S8#*5ySduCdNGLqag2hSiyK_e-P#t_0!4ct zh^@T}+}a;UMh554%lFGaHV?6*U8NvU$0`v`CzLNs2aOX0u@J23-<{Gy{k9xQgis)M z(j3-~?l=g@iKs}|+2ATk9|6f@H?c+#Hp^pKFMr#x6!LXAN%A~7nm+OsDhkOx*^u^} z{yDkUdA;U2Lr25yzW-F>TW|2Hizq?2%G7QM!f4~pZi9=g*m&(nzz0p6>&r96jaqZK z+3n#(O*mCz+%YD)oWFIzuc|_-#Q7y5|2lsvfuBF>GN`WrWOsH6%e)G&GC%KWzSoY* z{{1n`Q{m?_<&5dxMEKAXaVSUd)Lz3?#k)H(OxJ*~F6n26LE9d;aWrCRpDNFh!6@{_ za6umZW7loiJFKz`GyyHW&2qn=csRJ-oSpk$?t(WA9=u4+FbP(?ke;>;AVSdd|+)p zC-a7b&0utC>rnp3wGMRX^HUu4ncfGcPx~ol}Hx63AZ8jx4k(8y zqwng?uZ8(?&kx}PhP<6Nv^mF`dMYh88z!_q zsM)ctSXo3f^G5%=DJ**l`z_B>J9$Dy-~E21mUl{tnyiLQmG=qvVq@j6QvB9BI`?1w zjjC9qAIxDs-|jPLG7fVM(Nf#xz(0*^d_)?STpZ5}1F+$M5%o}6SD%+XsX>--d1)6t z$Sa2{YQwRKPNHBWR+m?@p^Razx#o8f%=j^dWK7CLz)Pru(~r-Aa*i#WGC1qTS%Kfa zXUs12cm!P`Zq)PjLvw*Hg1W<^L4!qDJ`6&09m`?b-RAeMkJmm%`w|#5iB^}43_b>- z&dFL^uXe{P`ZWED=;%e;gnBNWc%#y9G4{3U1Ge370WN8S01}+r$yp7R3VN&SAZAv!_8%05^ABDy8CqDidsWkI^7gMS+ypAdLR2r zWhC*XeoHPeefd$Y5|+xa2$~d<@T?-+fU zX!mih?Tcy06WSlJ!lNp$BXL!cx|)8RUwmbRiSbqLK3Xt-`ikYA!y4yb^yoD7?A;;w zQhcBUXl<~$L%VF09$lD;xRkl+)vGy|*~{-CmkM>N=YyjL1Br3^Wx2JMjYjmyRdKU>xI|OrCf>I+u>UhE0U*`IJlqvo*%_bdHk# z+R@YSZ*eE@gE67XZBU>5^4tXtrX-ZVkht{HWU73N+OWE`*{@p0JE!1ZBQoBpP>`OZ zej6h#cJ%tY2?w=GR%?R&5x*y84kKz@PGQnF1N92xj2i>XCSvMy*_uIBG@R_kkZM$I zt=g109Op}fY{ZI14lC!>?qSBjw3dxY2IFf&tx$Y%sV9@EsSd9oHVRXTg8PXK?I^3a zxYVbqR3?XZn!LV?Gb^9|PlO(?s+T=btq_X6lNW#RKiGQ?hbj~?EU|H|L^Rx@45Gmao;$1y!ys~uBuh5 zm&~=+tT|^@r?t+`a>=fJK@zA8n?oVdn~Viy6Ib@C$XiN8o4k~SX&b87!Xzy`<+7*} zT=4>IQ3Z9sVXfQU~7h}8Tjeu>+y2p3CfVdv~G#E9F?moL-O6khQZv3dhNKJ zKeRz(eUVoeW@ZFpbT7_28o=%^pMS)<9Dc{@{1ZTh$!MZiX9MPjNl&Itga2Dk(=a0< zuR`WCZQ?tftFgn6w=nCQ?YNooG^@oOkqgdzqqCg%t0c0Fh~|)(I!jd!IGTVnrLP38 zw>KwhpWuiy%Ab4WDAD<-DRL83{VaB=1-1IeK$6*@QUy4SH?@8|X-kg&hQP}7uA5n! z{cG@g4i$%v3??i(4{fmYX0>uGM2^alMMSux_P^S?q;unX)}c`%s06E^J)SOT^zxA8 zaJh)gy=#ln@QJom{{lojC|zdUrgSYcAGq_)%nQPf+;;*~-jx2wgsk5!(XL=a19*S z-@=T#AhYbe-xO4me<*RAu!RhC#0+wx;P#tfZ*nvtI9gBLnPp46${S+*@J~PW3H7|N zeuTxH3GR`=)v10>Zj%}zY}e}gGTw2*;|Rm`j77)RkVzy-DsP1{lT4jrbKFwWo~v-n z`|^R;us|JHFJ^Ua!|Av*`uYf`sbR2}178rm6|-@1h(XqxC27B%@_vnSoVnU?x~d_} ze&H@R#!?Lnzn$&{rC()Uc5Q?I8v(~tB9&h+f$QJZn3SkOJA-76!?Y?s`OxYX6TJR< z89|XVH?eN5Bg!p&?HV=AsYJY3kec3z?>6;4h`u+*g)ws)vDTqioO|;={s6O!f1101 z6F7U-Fk|jhM3H1cyPcasE*mtSu=!FK@oIaf@NLlmb2o1Ndf#&=?;P!m`(*5;$;%4~ zXIm8}%jcJ{V>&|Nd0qh~-wDJn3EDb!#v6@MX;I?YaK5_z#H;UX2%sL5BIRbQgou=S z<-(LKCfWYN<~zUrKH>@FyALKa`V&c2K1JWA4>BcRz=eo2D{749nz^Fu%(Ow~Ig1Ps zjM2N`2RFiyZ*sguzs5dhr@$FETh+bx}fXs zou}3sn0S3JdL1>(B^4`e*Cvswinsr3DzQyU-q3Gx4)0{f7V)jeo6uh@!$-<-9|Rr) z=zn)A69I8o1kQTY*TSZU_Om;!(QNQlzN;pMttX8myG2)i^~Vds*>9y3-?XPY0QHti z33MgkF(OD-&xA0jF9>1-J48pe&jT$p{Zd!2o~71CeOMMQCXC?Q&X7quN7o&q}yMnuKf=*&#* ze7@iG#na{9;y^h^#chSZ;DHE*xBdX0)Oe(1#H#Rv3?}jqeo%uO*aF$xEC=Va$SP%| z<$cDh2FnMLNx(vo$02o1a4gAr^RfpzXQq+j2nXj54W^acVD&Pc^$6nUj9$ta6w7w5 zY}DMV9t2XH!300@`DmWbef9LbqV5%95xQCO+1I130$P~k%x3R86tb0N7x>-=1o)fo z6_ADOiZ!a%`|vss2dOPOVaG$(8d>gw_!VS|!akw+fa`S2VJ@k7DVV|MZ$%eKC*>;| zrq_qjiMeRgBaf{S$LW9bxLXYRycG&+{7!|+>li3c;y-fmZthgSrYKr+R0|JG8RIi) z7KL8Y7M&kUnAUI1d|>-NFY5fhW)6mPdLnzNl0Rl`2v7{LBd}ixIqr*R(p_s*rChf{+_VsOhYt?B z{@F#dn85z$Xru!xi+m<+YO*&EO`<-e0zRMcSlNYWkwiE$owwc4W4)~%$v+$ zwT740&FK_$RY<8MO+tp>H^<^LX`RqgUVClKpvU9<(fw^H-2Atlx2mHWr`rg;L_wYr zAw{3iOUI;TOWf!QqWKNl_>5#g5(ocfF8Kp5dC~jO^7Z2-M1Nnd zf}-`>Q*M`ZdYHTprtO+tnDm*h7=|NsTRQ8VnODRpU!y};eY~Vn(RoeNiPBlU<@sp& z;0jUn_gKSpXf$B!Ff z;!XLc^dncmO=i=#?7SLh_Q2Fges7*sPFZF-GE#VrUUF7W+w6APfY=U$?;T9m&A-Kg z!|Qd7>ZYrmDXKFXna^$_>3;OezI~OeKQbot!%1^M2FE;@EK=SpIF3mtCY1OPUY#I9 zQRYHmD2>=1Ba{#HD2L6D(mkA>h;V}QgYUS9ht`?U$Tiu<1aGjR0almYEUyVuIc$xF z7(M_QvFQ?ltPi)lJvuoYPUXTHGZxmUSu*(>ONfELVZO7}V)tymy53U$B3*RYW}`T z9R+U8r>l_Hr6(PoI(H0KO|;5~u+nj?Qt>$t*BjpS)2VzPICbM-D#O@qhDG&?T%lY; z&)2h*Qp>o(ZhLQqx&V64ylI=#pHkNX*;Eak99rV8>D)W3?CM%~m0DK5`5Tj-+ZwIm z9gH1TnCkVH*T1OflIPLpP0mGB@-aa~GDUJ$9f~?Img0{!e77-@w4=4ufc?otMCLUk z{Cm;h*G3zBrV={7D7Jz%xIOS~`g;9tBrojS-VF`W-IWQxk&2>?4|0lQw*#`i6A)Qd3`d{1#StOCg#u7o5Nvv z!x$zzb=;FCpH4EQ1_;aycLi~_DIXDJggNZ)-j?zIHFFQ^sFHW&Yxa@h#qGiJVA3hj2jnvA2uaV%)qww1dno9vP1=W)O3_-~UA?2SVs~WcIxa`{~A0bZh2xIpw!8R=m{``g3QA zVDF=L?PmdBO?-Z<>oI@Ltw1?8DBPP$7`(vBXGj@_CX!LeJB+h^ENIZ>R2xehzMM9jgddj-b~+)a7o3$4+6c z96`@|HbVC<=bk}+I2P+--|Zo>K9n23fL#0w_!S|WC_x@!6zs52 z#R2(1**|q^Z@7g=nViy}>mLoaa+~+u;(7qqm%=P7>p@Ct4y|}LL#qq4;>}MLXD2b7 zWUa7fV)@|WWmnSc^dhlkJ;o2xUuzXRt>CxRde2(Qp1Kdm@RmIZ$$nNfq(2unLEgdr z)lhI@KX^Q)v}wW9g8A#_dd1{sg@uBKmvAlsa^8N{^0ijYw7wwZ3scS`YOt{h0Xz4j z8*ed)nGr>o1H^!=1i3d8CW_PvSQO{u&JV!1=58<7GKSTverIpX=2SpfJy$1rEZh zXv-=^bwft5x$SHklQqfbF>OD0J_$(9{tziKI`fI0N}TMFhKzJV-5Nz)PIM`Y2rd4U z?EburHt>AYdkiOZ%E1DLQpX!?K%F)EQvyA^96|e>r}L<|PKwO`IR6z-EVFbd8|2g( z*FqHN2cPiXfvTW$DuuApom+aa%$c>$`m1+E)}vQG$O#i3nn^Fn<>hh=8H!3A`9xjbVlKkQgMtk-v){q=)~DC-Hy77G1#W{EJl)>UeSa-Eg6&Z80KCO5rC+zId5Rv0E{)p;IX44`!HeUH$o_{T?q(js5FNK~`+<2wvLZ8n#qRX3-`Iz5lt|?JD05s7-U#JJG|V1>xGA=4V$> z#7ZUpEW*K`#T1*4)}&i6>>sb??bwLg8;^^Y1P7p)X@W-@_%}5y&)FSOzt>hSRy5~t2xZX^=n!_PH-{{veX(0&(7Sc1-0`n+d=|^x9@@w#s zeVgvVoxcp|NOB!LSx-HVCa?A}PRDdqZ}zG!`AR4Cv%iw`C>hy9ePB?h-cuPxKiD`z z4mgmpL96qmQ~l|>gUa*MXaM{<7})>t2L6-WvqPPM{{^`((d>;}=R|3q*0@IK8a2~; z4v!jZ1zMjHTJ}qMPL&55_-#O;k}bw`NR0(RX{=JBTK0&Y5M*&z-Z^^Rj!XRoM8XjS#y$@K1f4O0E! z;e^?l=7zze?vmFJz9q34p6ki|9S(6%!lHTg+C1)Gn>1{^YWpon{bo@`Z*@2y<{XVm zuktmfvp%PNKio`UvwI)2sVXwROl&^s zJbE7j8Me&kOdmgQI_z}eS${o{C*l6I{Mfwz)AxA!3e(F4=26Z7_G?X6zmxJ*lhRq( z^1`cMg$BkfrLS5q5yO6Sm>?L4;(Io0NL0KS@FBN~{#==fq#ZpOv|Jc5vuQqm8#)zG zI3PN)ug;|FOL?K)7n>uKDj|t){j$P1blkKvW`9H;&bk4{g!wo3Z-r-jx170irtfHk zT$mZ0wX&l$y4Xg37n6rL%KVn(uC6HBJN~(v%k0B^XsTYc49c$Qie9I8Qxrm;f^b+AFIt&d}PH}uBNd7 zmQ>GISWWF0*e5e4rDK0Cd*!j|7-jJmh1z9_E|$Z_2O%&a%HX77`Q0&9c{CpJzC6<& zlDHAmbQ|J&yfyYSJYLF=Xf-#uEy7ZcJ8vXAdVI@2ZjiLE;F)t@h?K4rJ7sYQpbVYU z61Vieq}4s(pRF4jnhw`Br?&4Z^{V_@zP}%SvZNi(`vC@wRp+#jguM{NU_ZWX?U^r4 z=dz|u$F=6z;c-}u4aXbr_mx%9sO|S#%KWo%}+2(wAM5_6wdIW$O z&IMo&^~Q6!4SP}u@mpVCGV$wQGRjKKr3-zNWjNf%kO;ZKTmBU1l;wWtMws02c0}7e zV8=P`SZPJBF?Cbcyf(QiCY$kn%j;2di)tm#z9f<9Sm!2j5{C>n*U8>PXOSDxG5B9U zCN;^>bffvntU}Mqo#M$W-pe(<=4x$6GY;p0drLbb+xaysQy0+IM2~~*@l7%=c~`<~ zPsJ#EjXQN=-s29@E7%fjrtCL-vT?NbLx~#8MhOf{`h|M0p?dsodMd0q>lL@4jc2+n zVS<;sik3QJ&bBn$f*anh;Xy50bU;f$f+||?s)$4KoJ~h^{HWqlX@o&4j%mhWcO=aI zT}H}PQeVY71v%Ej{v>VZFNak~te0o=Ju>h9q4@iw@{4#?hDq_QuLPv z>uDi+($qLW?0>9c?EeTr`BPJ4e=;cik2SRt&A~`YI+T_zy4@E+&qQ&^BD8lEsDtYx zV&^Rt84l7mS&zI4U^($acMr}>wevA;Z;tM)zdSmzg?0U4*?EO=fs z!FL~Jow+F_bzHMV;Lt_oULPZW`-nkutpEZBP`cRchjMwM)s$nVg(Nrh6;vN6NEJaamf?z`T zRsR8bJEzgxl@m${$a19gyT9tML%qpbWwSzI!dDc)eBu=w`)cG zlxr-=Z%FXxEN7ymbfJED!BD4eY7;L1ws?vopISLUGe##G9Uf>$X1sQEB?>6bd@g{9_%j)^JA*jk)Vd1AX@iRm* zcwJ}T68f1A1b++IV_y0JGBv{Ps9*!*HR`pxXF{DOoASHzc-r z&-f4w`0g|oclc_KDzL!BAzAs|YvakM1o|%orxRW{2rF-Lm5GGWM$zh5r0hEhO~zck zoW2ilCaLKhts)r!ZD~sOQxEx-w>ovwaIM`cOj&kDB%v!_U`BqVg)b9v$j%Rl+afRv z7joKrNL#DsBIqKUBn)@3B;_-LXR{G`B+lLMoG1KRvRzN<&VCzz1sk(OLLWP;d}m(l zd>D~M=IG#*GgCC!td{<>;ZXis+rbTM+x{Y~Y0IJF{UXK}wwaKG?Fn3ndy9aIEk9(2 zTZE@uH0zzS`Q##ga_@BJugnOF5MLhy9hHW4q}OsIJS5^p$q_$APhfAV({KblhETC= zFpa%BUcI@9Jvi$8aAQVc=JJecZQ6ydh42GcOuedo7wiu=xY6wcA7f^gF_a2a`8Twb z1!;#51mjFwd-}<@lKJjar%NVpo3AG}X^=m^=KT~_Re6xfj_v0wpMc(LSJB5nhe3oZ>jj0UPa4*pxH5(GxoI?#-eP*@>gM~S3Cabi{mVXKJU#ZexMXl@G0Lr1IzXG?sUu9s#}r(H~6O$&`>yX zb=exd&?wdUavZEXs^I$YT5V}^g(KH4m+p7Hz>n~*LoosWVp{zp?(P4QY4uOr>Yp>{ zAGTsPRsitNgMZu=|23}fDdO%wGa$1+-5^76mi}ks`kq4e{vOr`c-r}2j_O;CD}M*8 zOw{d7^lbr~eNmO&2`Nd&JYJ=uDi*UMzBng#Y&*7`+!QHQQI07R zHPP~;*Huj8y8YFu&7jL|^Oe9=)0Nk986}U5o_3P$yp`G7yyiN`N+-@pe`^%XwYW(W z{AdsM@Zb$VHp8q(@Ojz;(tv}6tJgC?@8gTK@M{v*Up7GB921{}k1IhFOz`mcaMv$G zdA+jE{9RKELg@v4d&w6rGlPGuDDEM+dP)2amnq#-88I84T0^TXP*mMWmDX!6*+6Jb z$2vVnD|X~86nbB`ni@AHF@@cC^*YTVqw-ZPHhR@y7+1?!CSBNapNUV==8T6_m|5^N zVO9SYU$*#L5$DqzIk?;5oxZ@ z_>tOmXnX9K)>K`ymY&Fy<`ME0c!L7NPFIQqQY6f{@^)(#7^rdST)Pw`@@VAxnMT_P zIqmF7dSr;JQK^079GU7dNUM>u##%DqZjWeq`tfy;Fhc_-xM)+}C%%>qfBdR!c zvZ6uC%XqHq*p@Y@Fm=-EKt&MmI@GW-A``^my5jnBOKVsfZy{`d^8Biq|F~N=tvWl4 zc_yY=TYGiu8^e2YzRGt$anXkZGWmBhW8SF%GAm%uDIA7{ zYI7X_Y=2NwktTa%?&xUiz{A2~Y~g6^WMTz&Wd30Pj>Z0i;|F_p7JKjqdsDEzk+C(H z$=brfkqKghft-LmpaixyWio?&aSMXI1vUP!di6GdCF! z$j;0GDF-_zH#3MGQY^^s|86<{SP=fn2*mLev;8k;_P-cEo3&-57C13muF6J6L5Zth zu?7*1fn*moy=2bMZuf>3i6nb z&2prp^sj#LHG3?0wmAXa7}m1mjxDs14%UhC&>K4*4(G$v-9y_Iu8tUz613%o&2hHe zBE1^CQ@q@%b7E{Q>QEN;SN#;htM;~}E2r0tdU$naHAkO@Pv;i1H_k&nvr1D|{F=4d zw1We^cyzkJgK)YW{rWpcUTKHF>v@+s%GJ(A5b9nOaDl58W?<}xhR{rFDn>jz-t4g= zGc0msn_vj+iVdMlSz*Y26*u+N6{DP-%eGXCYhVSw#um)nCaamsM+@AeRRxVgUfj&p zEE%AMIDdzvs|@$x?ba7GWkwlWZXmwgO44kRn%%yxe5-lC6^`^W%)Y8XAdAn7WgwIdG042pUNr#sljf1S z{P2SjcnH`bZA|wH^7l>>YTt<>j`97?NYdFGyD>bjv!acJQ&s7p=KnSJXh8${OJrKJ zf)oZ3>+@H_mfTr6k=u0Nf;5ooO?FQI)&{k*xPlk^ipTXhH5g<^ym&E|MEZAw;?Sn9aKUaaby zkLbuS=9_H!QbxPsdV76MRT{rqzo6o`CN`*9GF?Kupf{KJ$&Q)r7nEBXZe3dhZagJa z&*is0`DqU7kM$_$65t2IqFc+)e6+b4Vil^07T><_5Hc}TEehP9RDE$% zw8>jGn5VHhZ^&twy>BPjv5<17wz#~q`mL~}E>r6{WznQ@ri0Wl(-r{D?hB~beD>AQ zHc38SW~=~CSHm1fWFjYh0`?UWyUy1tGocB`l%V~(ipj9)WzXB;qq4)J7Nfe+&XQ{T zHdKzNh{0bg-+N!WhMv6_YIeOlKHo7&7koHcO*l&Ty1VKaKlsn7w=dgdy9!;P_fb@M)-We3wr(Sr=@_u@Riij^SL0%G2W^yZ9)yo{;x5*k)mNqq^ zD&?^Ft#}oOK0)p04cLQbwGf0|)+AXdI2kSmlRE;Vt>GL?ZpI`q*oj~j82V~cn{2E$ zf(j*(_oYv}Lcq^2fePl-Ghq)`WqG6|OM-m-_qT__O?TItZH60nJoKyfhQe_iW6H)f zZA@_maydRsMF-eG@fYhmk@J!Ba$lBpcL2Xbm)Un|XK@J^>1IC;q)=lbq**gpoWt)3 zY%$l>=AKM(hb!;%SHKB#@=L9{FpC?OUhd`jKVK@^*@5ksoVqK>HouD#tP` z_k#qgb?N~_sW4#ZjWg^?Q;AM~d|pDbhvk4YgQ`p$+L~Q<6!p>wxq{r-TXDol-p+55 z--}M{4_egIVT+;+J-3HckK&K*Kl#Nv@>DS@MQ+cD__JFjlsls?qB2aWKkI!_F`^aX zGHuBoE$;IHJ!+JWGUJ@*By~RxR;V1;F0fEJ40QASGm*ovZ5h>T`UIswc4zoKdn^Ay zy@zLE+wjRjvg^!+@&cVwTcLrbRVgKu9L}*OTqdHWDIy`8;m?5ALrh~)W2H8%!DHa` zx>-5#(Aj>B_h>=~sJJIz0(DZ@T&ZKqv(wT@a<3X$FiPgE=4QevXWWyWXBupF8!WwZ zb|m+6NiA<-6_H-kzMwea9JcEE2v}w(wE4o=vN3GVtNSBq)G=s|TL*PW-)C4N(9or(=f0L$YXc@-cc6ZLJ%k0}uk!TT`Q zvA+f65e5)Y1Vu;>y_DfhB|&9~AMp2xe7(}v7BZM)pD?F3R$C=53S+uOolW~`60Ua7 zT|j+=j(TyxYuRVAbZ+$l)@oWEb}NjrBUL07r!w}}^hCn?C|J!*19n3SrcvVE!kgyH zLB=whAfDwy^;kx6W0Ue0ftlm*nCHnScem?72AT2&R{d6*Z|A4dJ&|?j<%Xn}&CU`` ze>Nw`3(oG-G7s;&3|4g;&|6oH#ckrqiblam!1J`U;MARptRK0zX}s3yUMfYcZ~m^~ zN3<^bRquJn!p3yW^M(&`PS2geV~Q`FlMGZC#lpYr-K$LZGlT}hA?(k{r-Vm|zzccg zV`$|KYMY*tMzjPpYx6!cfKMGBsEzfbVMk}>Hw{|Y8RzAnB!J0}yiD@^a2U6za_l~< zmiepd`-aNvHZjAQS~q-*7b+M;C40mSMXiN^+mHG$vOI5y`wG^o%ucj7C4b^ZUa}V@ zl513E>JP{cMo;jUm@&TzI^oi?uNuZMH7uO;JmBBuR_KBFy}ib6GKfhubLGEPRZi?{ zz&Ss1Hlkiex4P|4ITeG6!fGlS?38~nNmzj4%e-m>q!Jy&F#J7(*8KXCNUZ1c=RYZC zfxjfDRZ`|~hl=cW0B#Ub-@+qhQt9hHgc_TsyveLExCQ%KEW-p9|+#_Bq=| zsTCt09_h`Jm=l&a6NWm*4wu?yY;$jd#2xo@rB`jpkxVIiF8io`m2MVo5%1!ffT)^y zbJ)2#E6x=U{UKb9g3lr~%)0)gF3a(UK|lxTNq1C1g6Lb&8xFlc6gl=k{LKHYO$JX| zFvQ*Yr@!-0Un0koeHE&?{!!y6_3%lThdf63=fQt{@5cG>?%e?YC-2?3w*?!#gC*i66MEC5i^lzfJ-=sO_Sb3lH+UHF7(xvCDd^>o=;FA~JL&^3X z^#kxcA#?g$!fPer1w2qR@;#jEgpb3Dm2Zy$46S?Ybp_f(Tc#LLIe?|PZ?*jyR{|D@ zx-eu+>MZYhT0I#b{rTigFw$jbYof?24UJjr~TMl=f^QKzEXB$Zw^y zc_6~2D(5`<*yKlh-<%%l%3qcMwI4|o->SMt! zuld&Ox(z&P8pg~)^K&r2KS&hcpWJ_JtdwQs`9?{Zl14_>%Zj_HvaOW%9C!|3eKTY9 z7h1(MfmTm}E030~bA6xYnXun>x^8PfBD#aSHT}xXN#%x>!@Yg)Vd9%z6Mvqv+Vj6m zYm3-=Ki18cdBnu%ZisETZgdZC@~n$5ym$b)DXGpc60a~!wdM3mk^B)T6Gx>*V1X~a z?Z6if7mgB(4Zl=?8-vKPOkGMAlhVp)9h&tn18bP^oNn7LY3tghiBv1fRNuBn&#;dQ zu#6Xn3ywC4JBRyX{%gc!geGHHs6XTCqVV|qN5oh~3h$2>mEmJZGU90#gPCBlOhj{& z5z3Lw`*M6^BPKC=gF=kYSkeK-j4#b_a-3oxKf9@YwvVaiJ~JmLp^8mw@9B;|i7gw~ z@*j)2=A^t`7f*5$dIm@%un-rM6-~!YBdhWulmE6-ofzDJWRaP7W5(qcT8z@+^G?0s zjdR~iMeI5Ld`ds;4f#qst#%Hl5dMLBsZg=2-+=!im!4(3S730WzRfscHNl*fX4n1v4^)E__Tplp-q0MKWw|)wyu~9=tw7o^MA0Tm+UC2 zi%wm2oCD+a!a}(6YXb-v)uSevM@_LUG1}gJL$PUp^U#!0nAi9zr8+GbDV~^}eCJs7 z^(s;_PozjAfIx7H_Z2@QXgAnCIJ#%d9s9N2y<@9838Ad$DGot&xNF@u(G`w-gkJe@T~4w^xaY(6nWPjo8nV0*chX*x-~E zd#*yAoKy&pj%rD{pZVQ;%TguXe+(8NS1y#PhB#$^g7-VHY$ z2oLi}_$H~_lo%_vJ_)h=BJ4vcG%C3a}oZS8sus6M14)!j^vENy>33IOVZ7J|p1-ZE=C)SD5 zBi_I*)JT`N4%Gw}o!E#%d7Q)(Rr`5;nbP)8-8*Ln=8l;T6UHTL(D%!OmcgtKBqCQu zG}1ebdMgDbCH#vY3x8MUk$ybOrkkF*c{pH_+?JeYb-oEkb81|C|Ni~p;9%aech-i# z$q@Q$Z5+waup8##mGpM zs9ZE2`L?uM13lqvm5kQ+w?P0)-o}1Px|ciXqtq{Z?el$_&u5rHohTBnT+O^h>F6Iy z$&BnP)6%?|Oj}?;vjo{^OO0T6uOzQ)m6vqKu-D42Cjq4Q@q~i#WlUc2jw~NbuTQL( z=oZ6FKG0%}C+vr?+jpT4z34S3*0?o#zdFSR9#7QX3f(w}8b9L-?&rYLX#m5ACA_)F zEuI^g%S>6?_8rhRZCGaSGkhoxtQXeyOJ)*MoevUNt+FKVJBX2Ur4;BiMdz`o!UlL4 zEqKloF1UmCaFMRKmXt=AuL% zDg99;sJ?-K7gtJxyWzQ-n+=(Z^sWnH=xf)DrcRT#0wb7eo&3}q4=T`bP$padw7u{?WB~(v3$QnKh=M9FX|7Uxd z8UY%Oays4FNd@ef_L*Hv0_D6(mE)>Hv6ZnRnH=+}N#xxLxU)DXMA&Jut9ENI?QWO? ztLmWM?L+$2nY@vkpCY+T-&n>$W#qz)l#HEfJCU+I489a4(QLE)>97Y$t13A-p27kN zGV0G-)`I%$@uqsV@Tbo|p65AK+Mk~6Gbvgu&=8yuyl2nv+{ZIYmC&KcMKxAr2|dm| zC@vPhmLv5}@)C~?gSmr`wWEU3-Fk&3Nu`G|w&>?wL#8K@!otKa;<};w(4bN{Te6^5 zB#YQ_!kdUV0j^CWDxN;+K7`*Yqv@AVD?IT8z6cG)HOEy4>SS)vBuU}+FZ^H?`0V(K z89_!Vkta~kQ&7(Y2A5mWc)gsQujS^pQ(;SRDnDn>$9ittS1l<@!H|a5Y;}(nQK$vu5Ho>f z;6T#4VhV}T#NDdfWBfX*^psRmAX_GhLFo}?p7*jPMwl0fm>=K2#gq*qO+xPr^<_cT z6Hdr4Fkw^BO;xuqmfMao3#uzzH{DU7VqIUBzU*m!EnQDo0f*80Gmo{0>6;YkjIAyP zm#WAObvfDr=>ySx<3Nys8P=vuUJ!~CPmX==*oSfo?oFElLvp?tutB3ykCbhuHKwD# z;^tWNW>P(GhhgBBW63N@O6XvIm8>9M3`&go>>OFui`B~-OYQnqK9J_m86 z_Va$^jUmPogzK1}ja|+LMV@;UMpSv`x^Z(?wS^G?AiuQjo6s-AZvE`-gvVa!ZxW=s z66-8@?jUuQcyM3VX?j+w_%hRlshMxmW8d0-On|c-`G6IrV#Q@ZN%(|^5hafgiqo3V z{qI=XH&}gmDLy&ppLIlr4X0^jd3xzk;mzNHsYT&mZZDuEnrzz`_06YfyL8$_mM9JOs4Y+7w}EoXwr$T-$_7s%0a_ zY+(p5^;jj=$$Vf3z4^u5`z9fq6>|-%kEQU<%~+p{EW@<0J>|P41Axmn*F1_qo}N2j z1{4vNKy~xQE8i4k`4wW|`jX&HTtuGneGRM24jfOrW4b_dgT<7KKb#KJgE1hi&Bavaj-)BI!k<9Hml2+ZY)TlT#Jy__X znXeaVoGIzUQ&ohl_2w38Wt~M)B^N8IroGhMtorGpXwtt`BEatNMeogQn|yB~RM3%+ zrYH*@LyOAumEAV0%_*)JlTCb$e)VysjB{FL+`Lx}r4PGA%&%-KakVqCx^^C8c-XsE z646q$F#2sSq9uv77pv3-u}M?jd&OJ~Kj?o(T^kaGi*z~o**oa#`ir`rS zytuOVk27_2(54Q#&0IuDpcBp`WWo^-Du~C;#~u2$p_H|n%U)z%;wFftsiZoG2n$<{ z5(TRIY1uJ*Jl3wrGXAy9V8AL86gyp6qn7wmXFM@BP34nqXNd8rQEe0hKA5SqDZm7O zB!?zLcl4UBY}nyT(3T=?jmg~`G#&NRJ{q&C_sQb1o^bCAHQ%?ROBN+IJ76@8f?DEE zT%tao4JA&#xJgE`>FbzoFy6!P`NV0@*+R!VIB#)s<0=#Kk%x47t}c6Rx2OFsgw9jz zs1whO3@6obu59W(4}r64PkS^@q4j|)i;=R*FAeICY3fVZ#nYdsR6|XwUg^s?vWBl= z=(pr!XMpFGF+1GaS#_P}cLqs%e)lkzZG4v!!qHe#K8w?wOaTp4ggf$o&lqohp*4|j zJ<{wv>P+UmH>cfLHUmDU2T0bL4qtvhhrB%B4hCze_sG^~w5faP#&XqR{MAdoVqlUm zCrnee7rw?^5&4`=i#Dy`)k>}8&Td6;lQJQ}guh3mEYk84t@Ob!VZ zi7&=|2nes4S=zoR?ANSSB83E%My(QVgzj+c8de$1R*%8F=yQw-l&p0pIw3iTeP53^ zUC8sR%5w45Vu$~EW#rPgcs2vVU-HZ(Z6DGo~01@L$Phk+D)8=oheoIW;?16GEf z2M@QB-xZ?v2$188eZ7OR3^+^(7E7p1%974099g7UcR+CH*o#2K7Pv#8^$F2 zq1?NLWju8)|EG7Ozx0v7?-zovI}HDYD*F#}+LN;SPj)npzXqZFH;rigyB!ViAMI#Q z8u4F39G~>zCp#LD^-o7R;IGZ_M-0SMu)=>9iv#$ZDdT@W7Kih%@7Mx8MOyq1qj4Zc z6&q8qE96P49h_XT9?E#Ku;S`914d76p%O+VF@T8RwzI&C?dj8I3=I}grPho=aArr@>FCH zH#-zzF({(KP`Fs3h;TsR6on!#424Sq3O5J}hzrV7CAcNTpga`^C=7z~bg76i8`+9WwkIL|+hI=OC!U&0R73*GQ_+M$ zB9KlNeG&nH2V-%RbY#AOOyO$k8(;Bzn+VX9Q<=1(U zn}-dP`a6Ij$MTqn{kZybw-jy9FsQ2H;_ErgDj2PiBu?*37)_*)U$J0?6M~bdICVDN zQAy*rJ_Ir9>^Bp^n@~i71%9bI2lcTl$Dhijw{2AoKJN}GSU9T?Yr>>0I8&?czaWxK z+Z10j#|Y6--sdLCAy-_PCqP8|GRBUJU2Z+(NuFF-n1fajGs>BZl)SZ3wtk~R!6S%j z>`vP+8S2&I%9iyr8|<(&oQ?qR+gmX~&bFqRmVv~JGa`i_<=o$(ZIpy*C#>C>HG@?v9;6Bwip5WQgHtW3!Z(SV5rq?9a2Dt92ymoGbuX9AeV!ZI%f8t0 zjnSbO-M~#$UL35YQazxCtWn*zaDV8mkw_-oKtS_8-VY@9Px0Q*EZu|u|F+{+La~? zxzv9vY21$^rF$*C($hdr$8dH8)Qg<9d#643ygz8@M5H49%9F0d7hGb_wwGWahu`$t z#ha&gpMlrg`AutuQ=RWG?%YX&f$@Xl)H%}>*2C2LYtPun@YX8)buM*pKPc#vu^3gl=pTkcKYKja+CgzE#2P<@AWlFI6A96$E9 z@SH4R53I}2MP8u2844@>-s{!POYzS*@sk3D8R@^KXdY>(JsMB0kKK~bvZIcOeZg_F zVgcZ1ba+D|xY6XLcwrjiriI$^y>9wiPF~Rgc>`PZ;HtS#Kd>jHDuQjSRu<8FDjej4 zC0nslBt1VKm2}ivtJC3l=6%GDOM`n`G=aU5n}y;sOW9)R|$%?UsjA!!k^=#tRg<$$`3w#FM&BTnnkEBE1 zvwBPWq?%Jw0$-&pw0d@;?=vv_9S2K{lVr=XlEIejm_I&&gVLf=#W$O-epJgPT}MTAKn0-$2k{P}ro@-9I#aEM z2?N|vORc73%lJ`KTjBaB_1AXJmHUdR;BXwnS+W_^*&bi8KTN#Vv-n9LuzF$|_(%Qs zO)|#H_H)L@E(5PE`*C4Sv%p@h%K?*=GY)hC3jw75VpdRpq(T925ep&dE0Avgp&)~6 z(%I1`Z?DCR1jQltuC&JAh&!`4-ADQ$=hpaUEdl?@8<;LQCak7wh8ruvhp2b)Xhfyp z(;DiB6_G7i{PC*ra#{l(QNinu=|_$I+cPKdY)HpCOCXrV@p18Ob$EIIZ!giu%_D<4 z=4HX&#eoKvA6;V;CM_xKwmmaS}AkB7vPCi-rs{a7iit+B#?{9Zo zqBpc&mx+PdMzb_&9`_*?(cZs&nBH=D@)=TEXx6+?Tx0|^y4OLzBl)p)cvgxa{(a|N zpjjD7DLAiq^1*19vq>jD>HdOKaQ#i)>9eg5TGEgt9UeIS*H%nkJ$A?6QX2#r=R?Z` zb*sad8N8EIN+3sV7ZesrAvuj!4hwkU*vb`ntxWkV4Q!UIfbTK zgZ#ai7;?-|i`Q_LxwXQ%wL;GaeBkr{u=kc>aV^{0DDEEI9TK#0cZcBa&`8iGxCbY} zA;A&?1PSi$-e`~@!QF#9!ETc*+k3C?oOS-(=Q;O&KWJvz7&T_etU2o)Z&@}u^<56= z!zb;xQ!QOCQIr=CQ;Bv>K>lNxr=pwck?C5&>S`k<%|Inh23qn2Sh|`1ee~3PJi0#Y z;BIjP4T(K!I_nIS!jLf3AWs0!I08hNf)Yu4r2r$~asZE;36Z%7cJN|wN0EWT_YCD% zfMCP-a*NGxM@?57X7FN2vPT`?BdzI3ZfQmk%XFrdU+-h(_r%sy55o3Jzte&7M6Z<} zkRb{+c%iHIk` z<{)WS4r@8{3gJX&uIk`j+`Ki}drN>lj9Wg0AiLDaP*3T<&@@b$hW!|3@W1t&Y1drY zlUQn)=Y_;1jyYowFJ4KsdCiMLf|EWRLkQ?K)r2@HO!FYp0vh0|1TN-l6 zeBu{sr%e=2OKs@dEG|Tfz(tV^3E7->D`m~O!F~hL7a8`l%dHQ><<~^?l~F8d(%*g6 zlK>)R2ZnqWse;c2#SChzhmzy_+(?z-Gk7DVvFlR=V;BZIn4Qx2zDU21tlx@!f@3tG z&HTaZ>=`m6U2iH~H6C(PmSz&gIduh7K4MF{_#2yG?#JcOr{17KTO!4VCmQ^W>jT{e z_>t73=VyrOpy5tRZDhtlL$(rKFg4Mj6-SanMO$GLBY-<)G%r z=Z$N-!RZ1uwy9AdnL)#AbS~$4X?0o0x|TM!GG8=* zzQpewcZ*b{0CkfF$X*s1 zv;_LWlQ*I+t9lLarcY9PCvZLNl?R{7=NgV2S85GTugavno>2Cogsx;R--;)BmwFQr6TO^Qw;;{ zv*Zqre|ZV}6$nVb7Hzg*==qyZyuSkhIk~z2{HpmUQ0xyl0QXPy-+%9A(xaysi_44E zI#RYxL;B*@Uk=H}IQn&coc%l4Rk6-6%Kb_ho`{n}U{ldv<-$T$J5{C?Vr-LPY*}mJ ziT~npU}&4lDrVl*b{fTf{eoYZn+PFyqxjKSw#=|^vij<%0x!g||1j#E3=`devylc&-#gV0C% zNGvxXoZC81)Zf_$W34%P%j8k*oEHa&PV2fRRhmxm03QT7QAk7(igX;byft~IcWU&@ z^(vSzx#O9ODe%S#q?(prl3S2a;Y&rDCdF0tukw8eE7cmC9Ba1W;XQ~hT_ZJACEe_R zewoZ7=p0ASM^%CiG_JcUPme8>R`#5K(Sx~S)e~+UV^|1EVCy2UAZBt+;IrCF>p<=R zNCY%Ni_f=@Y*%lmZ7+FfQ`y{hTgxfVw2!r`^Iay4( zz#1ePg?Gq9at*a2B0-D=mN=dXC{%k@-$XKNioepssZOiOGVnWAVGu{bt+!GglXA5oOydix7a+7rpw99PW@iSPYN zTyhf5TH!&a)8Y@b9&ImUXqRTd6x%ex#!ndJ9MRvCWttwW;KEh|3(j5M+3+P2>X8f! z2u;Sz^P{bNf}^L9efNAA0gIl#x`$E|n`~A99u`+R?+(KyB>b7GSwi@2O~qA@)c&5= z+3L6CSb1;mfXz>fKdvfOZD)uWv}I4kqJ*B%=#a*v^NOwYnlmT8#oeLF9E$U(MNd|b zrFNDKn5$eVTfFnRyu1s${@On#jV)99A@=s&5857yvhCDMMw+9*__2C%FsPeS2sM;y znt`TE)X(dC*tikxcxP56DlBg{Zy>+q){|$o@X!jG#Ei? zcYya{@A)W#ZK>Ly2#`-Ph|wO1#vQo9VDaI2`YsVP6kGrw*yHaQBqW{a5zA?h^0!Dv zCy}9NzojeGYT>F|yw(mg51wd#8{bGhWD3Wj{+_LbVK(XFqg+{#t2>NAxpnWoyku17 zwbC0JHI*g$`WomQfJxfkq~F=;`9kvLHb8)WnTRqAME-4`tk??q^G{7G za{lqfyOxE52+bya_dv@mL2Q<%G&~-peNogZuaj3zdb;r(o_)BKs)~9O>M1{S3VY<~ zy;OyM29!*z(V(?Hag#VtV&d5-z_qEAF!`E-v##lGweFEx`$b>jd%8wB=XCPZCX#}a z0H?qz=0m-TDm0*`mrWI`qd^N!M!{1lI2UAYPaLZ*YRritxF!nM%~?9!8ljA>$VtW5 zd0sM11bL}!l>X>ULk)ESzTZ5QOZL4E#G_I+`qr5xMZc1U@7WzPjNf>^k=2{W6SXp7 zF*7m*H(?klf17?0bncj<3N6BzR z?rpsjhVx?XkN4P=_*oG(HI`SO-L;5J4Hlj;I~dPvTaVg{OMPwLzn!!WN%B)kX7F0i z3C|oZPq)lg!C=N5SqcTrT~_Y+pXu7?cJYA`fCaA~09MGn=rn4+?i})Twt$8=ZAmq8 zM6I9dnnGG4UmpAU-YA62buA^XLnGQ!iaN^nAGLy1JorBAmhwwY4iV1NBl25BYqB| ze`93+|0$Kh&$;1olHua|<6Q;Ao{aA(pw z?AF7w?QCDHFPE^o%eeH};Q6;sMk4!9+Fe4?V#Jdw__qf_{9{YXTc@rQ2M?`}O$`C}vdZ8sU7rbKt8$#(^3__xd~E&2K+Nhqi9 z?A#{{d@*=R-D}oy7>0*XujVcfVz6G}60^cCks0zl;Fob42F`o*wdGbc z$)D^b38~4(ICZqB$2DA>-oA7=*aB>vq`W`exH!n$xmV%M^Qm-LVR?(u+F7b|S%^N4 zaX}PCzNdG}ad>HAwF5IgZ0ayqi|$*zB~W7d4aE7jU$vb!bFut118dt8KNIUb-P!H@^q@>wd9ai|;CQtK*94|e8pRTXYtCmLof1$t3W<(yas;+CO! zn%Qn}9=UTejwh(0MI}J7LMt-KXRH!ca>V6HhcS*Uzgg;GW=8yI5qiW!-toG6=*PC! zCq{|T!q>F%0~O?-_BWSybVIxhd7s+pB+}k+b3-Wx@6&ECzSNm=b?}#axwJX><$K?! zn`YWzxe5G!N)AE)*?5o@(zT5tg=EM872|qZT@h!`L-LFy23es1Z&Y~7~*JV??$3q1C9X7_b<5OV~r#S<8ZujZ{o*9zO3jgqn0acKcI z`t<6~??Sm=A1DvX*1fD^#cC7_G=raSfY)S;aULQe>!9J;AetwT?|To*WLfL`I%xNi~+=iFU8P}dOq>n^5vVtaHL7Jh}L5|qE!+DF_!T=pl97#;e z6kph;Ag+ebR1=U8wzFgQgU;p~q30XEyd)`-lXwR=N zN;pKu3&QqGd-Cv*~-)FKf{9Lm9xq}4t#Q4|!h11pAsrJ9eK<^}-AFrxUhH^`OaRD=v zc74UJX&c$ne0@-MIDNcxcX)~UaCefC7Y@?a%BnY4Zdyi{N{&}nIKps%%QkC}s!n^u z<-GFcj1pOJ`+6;9%e|rzkcScFk=5qzt^kwH#6{b$p3B!)O(zbwb60NWOdnV}ryi(Bn&6grD_jm6mUiQXI57rOxx~eEyx~0`%s&Co(utQ&Q8&C| zv?-DGDbu|(Wi!jLehH`PwZTDtPIx%z=AS^#tH3%bs4s@(A_OH}=obcCo-a0MdLor0 zY#|IhcX(#b{>+BcNhZX%RFP{+%qUuF|Ls&i+3T!t;*?K?Vc&IFKCfFqC?>=XXG$d5 z=fjm1tx=~(Cf>rc*qmgAT@7C6vo}iwTS)X(&VKvKIRoKHVfWxi>AZ7htKMR(+*E6- zn)KeBFLvOI+|Z_k_lK6pHqC*Yx>S`J+36XF&Q6@C@_gv!z`)BKn~;Tdf~Ttwur;oT z!{+iSZp|aoIiQkqJo;I`YG*Vh_?(&Q&yB`P;$C{%yoJQVnLFHQKZpV5JHj)KCd08a zVcPCHb;k6aRBHIM-#l5a4B=pQDsYwON+K&9$SDZHp`n<^P5oil<*$z-guHIa6>Z*# zgmkCoOkUkY#_qjeYi!!t_cge+>{uc|q#?YE+~k3y6eEx8;J(RZEns1FqZXGOD)3x1 z>!zU5>7AUscP8iQ>#Y>)N7pcUstEgV_HC!bZ$i8MLLTr|JKL%w#z5D+fCPWMER;Sw5dLFk?0 zEKzdO?_&y3x>?DwHgX1|ng+HY#7kO@B~Ulzytz|4iLf^dexvP9w@~GMPaA{(jj%;{ zEMtCoC)Ti`tq82@PK!myGSRw=Q*8_(aj+Bao%C0jL#T+GUX|=D+K2+(pB(M%bajp2 zw7v4ZIu(6&<9vU0|81#NuQ$%g5m-B?9gEHhg4N$Lfj3*=HxPgobZ?!p^A3npyti$z zn(8#yPStuvmgZ=7-%hTAoI+%ia8)=|X&$qCM?A8$>gkOhl(~^WVbGttNzG^NI(EB! zmpyG;$82GQirEiuBuNyaMlCXnpF{LKJzHzLj8EQ@rAx~Jwk_)Wjn#NqH|gLz1rQ2 zXv<|J%C|)`72nah7^F&VX-oX};$FHz9@~n|ksu1(ndhG+t~$S#?piopaIap}I7k|E z_Q~)%nKCe>Z0}E$d}|XPZGP@aI#}>`#Lp>*Z#>n{x^_g zsH9nLDt*@-zA5lqpyW~%Smurr;-MJj9zvZNY3giz%q5*3{}8&wQc3yg*pA1pnq6v= zT0&JR0q^Z%49lu4HtY*74J@!QraOzdVe}B~wQcKiP!A`4iWqCM-zh8oo4K1NmVvCb zcuFNK6BiO>V@fNpQyd#$7}~eRb%L&eBJrdI+0b*+!uKPtlGJWqn`3_8mtkELJACtM zrlfIRG}@ldK66dP`nnwZ$?m(@S`d1MAIzC8RjHTS*{cR@G2#DwHRt}_ckh2SW56G; z=0DfI{{n30{vE>%0agA%5CHKj{L>@wH^M8Rs}0EUCry_uNE3v@CPiuRlTHCbK(4E& zPx+JciWfo+%E8A^>F8!}{}W#J+mf5-ar@wL?fnm_yZ`_`R){Q0UQTXS2uzj|z|YCb z0XdzRmkSd9ha_4*ZTK59FP=X?JN!W__D^i%;^t%J`8(VGe0}^w-hV|?#>dCX#m-F$ z0n4)TKbpqH!wTtS5Ii-+z4M>Zl>M~e?=1VPALswM)qaBa|52;`{_^w>TMc3vC*)W@Fi8iZhh zhv(N=<6s9sciYH|BY=wC)t0}BYFRvjsMYD0|5A0+4*@O zlhbd5jT18X9>d)Ke6;{5t8hwc&=Z|T=f$&=k=uj7k znvS+l?~Ck}Kri9@=$l@0g?l{=N-(p&KVpn>PliSu1Urn{EbS)wJ|2PNTUOy52zS9W$*0#TNcW=J2 z0aC$_UAhgVFtj`0F*X^wIi0agZ##W?H#}me_;A-|;(xo9d?=dUXk;yFzg)I`p63_s z-Yq7o6Zt_z)~o5zM8%`FB8G9l`P@YGZruMHaFS**7RG-Qu=l`?kWp=YttOmvBUoCY za^qk!Qc(#4(VX59KW}#Hl1mYl$-elm5`*NgW2Wcj(0sG-t=E2<(@exl{%&pI#j7@} z$!05rg0{4q#8><7m7L}j8X zn78b&X6vVR*Tm7IuXgzBQ#9(9FJ8=jCw6FS8**uGH7eS1n=ehDJvY9%+26X_L%6#; zzSJK98;!6Wrjw8fqY2fO)ouB=E#B7It(OTp(>CAVpUfGCSLylg$h05TnWT?+H@!Lq zKF4^z@1at8Pk6X61l1r zey}*{f*JelezqeTcm;NZupd#1{~3h2?8IBps_U-B5`A_If6KKZr$Z>sC?<*P#W~}i zb5s)75wLP3#ZW%jzZxN!rxM{iyL)5Fdbyh*ilEV&Kh7(z*FZGFvqWw}S(@6YMrVZJ z>7It!Dg<|C_gQV{Wf{S+E+|r38}^1v^UBhkj$(#Pndcbua4AmSW$9^)nP?xG8YhdP zQ=kODI8a-b@8ttQ{{1^GtGa2B6WbA{g{N(9*({;9g$x4$OzR{tQF=DL5Nb(ue#n6n z+TT}DqV%G(8QHCBC^P~AMc-ebM5WF^B2#M~BY9#zwG+C#j#5B_hsdG~0syD}xbWa1 z@g7`4PCh9}n&+GuN)!>RK150}5K`bvjH>C7zF;8?5CPnPO9+cDDDe5xe&#zFt)dv< z`&~Xx#5poY*uxJcjI(@VqAF}0qAGwGcr;5dVGXU$+1Ys{K5c%Si^r-eF#4EV&v||m zj>I5mroX=>0t`kQwp$ZRmTR4YuOmi#8qc+rrR*vKihjxyh zGH$wF;o`b@`=Uhf8;L;okdm9|s1EHMLlVyZNDvl*?-})vj^cm3NF&b(GFOgOkpMgv zLKlq)F?YS9#m(+w_(Vu1g50xxB+rNtuCi*b91h7N;ENM6w(?dr3L_)H9QqX`TKtuY zctvJgUZ(EoiiRrl_AxSJ*ve%6Zy`vH@E>c0DgY4UXgdiyjlbINFtSAN(3Yl@VR~eD32>t z6tn~m504+lGhSF7{`!zfe)@KCJ=W*r`=u$n`+D5;3$+EWODTH_14=#1Md9P?`$Lu$ z2J`{Gk_EliUFq2Gy#U6W`aD(>wDB7vpqx=G^6|5XoKnmHf`g^~+BJ%@aM7S>cc9L$ zxA}thrOfURlvrCg9;7C#VW`&H8={jwB2${YyY!Aq?|`kb7hc?*sH0#>v@ zdH~8m()3wW83oYo;gpUhd8_72*YXU&_upVd_5 zyWz-umNUZq_{o)4MXnbCR8-;OG9RZz1}Bu+8lMa15RvHvF-%zC82Q^ZrQHmU?ROcg z6Hv|w{?!Emx}e@wK3V*C0=^EcF9Zml!t#asJ!O@zhWX~;+P?J1M)XrU2Aa$V6u;z-NKqCtQjdR2f(5uG4GHS4-lE6 z_J|!KNe%>5m`U(v8}P$spRz7bx8oO%0t$0WAAhoc5Q!=h1t8#}onb6&qOCp_bQ&Z& z13q&d5`!(2=(RUP)!HW9nCzkZ5@$S|NfBdaCCBI?e4$#rO$IYWsA|N5LLzAwqdJ{J zu=fdt#N{Yp0ME!}uvZ+GSoI9jSqyf8i8fL%=P;PsQpu1{lbi)W4kz#gAFnp$-7cOl6L7y&h z4=HmdqkU9F87}cDI93V{H+!{75~zoJIu$c@!nk=0HGqo?i_9JxrACz`0mQ(k3j?3o5o2(q*GPzWGf37?z*0m=Bp zE>2KSxi*VzJ^`9Dx^P)#&>No`GDnapu9#0`=8o#V`xFX>VHQJ)hSwEiG>j@d$F0{5 zfYS_(bQsfLF*nnSjDpt+Y4c!r?{|S}$tj_rQ>fMMSCLB~t@6dscinF^_BI+u~joM6zWsHy>>E{lJpX znZ7j^ZR>Ut+*3vaMI)!|569^_TG)p==bpiq<;O2ZHl@kgn zxr3fXg&2-i;;mH!MNupy!7X-Lftb16;Il%lMP6WMNrn8KI}!+uJv^G?xdlZ#s2EXA zkl&G~!;znpnV&PDGZYqmPmwsF+bI)Bd$Wgrmh}An41?0>-0@7ptrNdk{mYaO3{699 zApW85>@;!M2FqaY=fnY>PAPK=?)(=X8*oYU=k2Cj>>i54k@!j|a1+%Q8P`w8@0+bH zK2(c2&g7&TjZ%N%-!-6K6mz^W5D#s7n*RTN}DTOU$0=6dDc-l0gZ& zq6aQW=rxOdh7lA17CxUfAO*nx8HrK`+XDl-8x6Oe8q<6Te_sm<5K*5qY=Z@?&F6*g zw%19)5*xDLQpyn@5`&VUGM{kDljuf6Ymb037i`je3@85#7ePTTn;@5@nT%3H?a-ZY zSlMBMNl@kp7^-;mVAqMy>;T((MKf~*98;7h*mqTU6Wz1GDR zk4FZ(4l+ye*GQWI9fv}&OrxG1AVGuYQ_-j(L%oU$GTB84;t7D64K=n?ZUkU~dXR`F z$nu9=>2+Thq4Yc%!C+@f@7GmxrMbjab3q54Pe7%)P?e-`fRp298AQoiGfI@3l@ufU z)CYXRQ<0i>!c*UDBzB$@tWWLJrV=4AK;VmbKw-VQ#ZaD2JRoD}wW_H-2aQA^fPVU^ zeH2G2E-}!&95Sg)){GKb&KHzdFe<%))U%-bxhYWdWpXDtMV=Wlm#iv$s>m-51qbDF z4ixHA=ts$G}w2{pvLD5f58XEHv? zT>k(HNp_4N9uL^UQe#>dPUA5(h6%nms{x->&}}{fo}dn)4U4&8trdC0V}zK({EY#* zpU2G9OT@muk5Q2Z8H20f(d!0r%MFJ+nnW89?n`roTiJZA~z;?sDx>ad@SiZiyXH#*Uo`vr3INJ}5 zOM?QR!V2`2)jV@S7!Ln7=;L!(mYgDsx_P`tWXHiMe!lP9PO=6XcSb))Zi_nzVbwe;K6xbd>sE)J zOrJ`>`QqhWMBFQ9d_or^5xB{ReKS*FZ?2c^w>dS_wF^r2-DSJ0yx8jOx@Iu-@4ZxphT- zIMHb_UTTMqW*_Cmbh2Z$6r1i1C(#B+m9_VK{M_X^(p?zy4Fy){^e#RDaOpKEN>W?h z`!mpK!5B4uw&zj#7t2oAPR5pln z@XzS6#iF6Z3EDv|#TWVNJNFe(aU(Ak3%Ws1@8yiC$HGK>v>WpTU#d!yWH6R&~ULG^%ylr0i8C??I_|#g9h!V@ONZ4VTr76`pw$N5Nxo)a~sOzDx;oMC&*0 z+p^!$X7S%QR3LZBdov$Rgce4X!K{^DO?cZ#sH`_-iWlEpQEKSaJvb0^HEVL(iA+4x zp!`ZIsP1D@I~8K5HA|4mh*QOhmjWi=IJH8aKKHFe3&8y;GwH z`HN;2FbWRN#{EUKgZ>py_Ua168m!MC^{xP40J}y z?VG&?i4m4XU-C?<`nQ;EeuXQU4)Hb6J5sKD{3dW=0O*$8WDO*=rnm;u#OAsO16#T7 zWyl~oaB;ZqYujpdj-pNG>~5oF{cLWdzXpJpf=aVPKnA37N71{#hi+dRuYtsu)H>_< zn7$)jxs&}kzee)M|FjtHUt`izc|Dx9x2woRyp^20cAM6E!3{=^UOT@elFT)lK>gk&kY@9hg)0FYT^YdQ`A##t1*l8-sdtz^X(= zazy3sEKMBVU!iED{V3)`IS?Xy>IA|I=+VW-5Zn^D-y+<-NCdgjFMTzq(rKNHZ}O*j z3f2Smi&Wt+92FfHeTBJ=q7l}%8fPV(WZrEtD{Dq=i=J30~*ZPsDhg;PhZrdKP`*G-1p^Rz^y{__%1|mE~uk zoz!XF;m^nK`uC9B{h3MvNJe&MD*?AT#qdb);Xt=9jDqTn=HXS!Rour&Q2hm&J4i@d zK6Q}1J(va^&K$4tz94P}XniOWsuVmC@rx9WO(nxfZ!cJxvz6U=2I3U_wzB;kd5IC* z{qd(U1f;}Sgwwh&#EHC=kIjR;R2XV;&o^5k zKc2TRp^cgT;!$@5H2$Jz12tL^A}o|dnvKcP9V~VU(GRSnGG@UoaMk9$tYi>?j!igpf7H7 znfGmx&QOJa+fLgnvSbikc#PyNJypCbhL6qs4&SO%yLCoN=Xq+5ST_XE%U}n+g#ET< zDshirOX5u%U_=4ZZ;=5wx!zyg)4~-YeLY@v4W#_-SRhiwW|`VATPA<34#H{%2U5!T zx;{ zkKqDOk05d(qZs)E0_cp4+cW!+v4g}&7E)CK+an&y98l9hG6KkzjLs7>6gwV=;^Gw6 z3<;e?bc-7G#I(WaPpJ@r=HE`VA@UzZ+tOC>DufXG%$?WMdZKER#V@mL^C=ubZZi-x zfy8|QzNLz8sTfECFXm(0?m^0QFM8g_gBKYgAqR>8+K#!>wDb419@fVNjJ2rNEmrDF zdOzyMS8rn3Uahpff}Tn2Wc$zkO`hMss2iaC+@w=S;rT^}#PbW_$nz5zhr;s<();uK z`(JpVxc}U{cmzxS@8*H}c`N?)Z04We`2S_Q^ye4;pD03JZm!=Eg^=T<|7Y8qkDRTL zqlq{HtlW^@Bu;)l$Whdk+>jHgAsjjXh|2Zne%Rk_O8j+S>-SBGpPMuPU{gX@5j4+( z)q10|okE_KAQ^$#&Q5t)8i>13)w38x{&f}|rTgVt{X?7YkgBBmtWg&`T*=dj_q~^X zoa>iN{I8ELMHbVNvR(YIz8~)j#te3BkD*h_J_+wZdVAz}-f+z z^^y`%FvxY$$2x3n?Py0I>1ikYiuy_~X{l4PfT6~fLzm@|Uh_fc#!NGrh$4^|_Vvp9 zmWrsoF1*bk3%iBQ^R>FrLEyk@%79B~!!?la-r0?hqb`?|X8MTJvt_3!UB&@|rToey zVy8BB*Qbr}U6$oDr=sG~TF$#mD`zG<$s<(F3nKR!-iVTz3Jeb~*?aX6u~D`b>smki zafcRCH`EZPhOy2Mrsdc;Wikb4MN>Lv81`WzVGNz{?(n3D5Wt}j6apqR75X9#qdBD? zhG~=qw|f&5N8lKXSmF(W6CxZB9he#Ujc!!C;>{Fnybvje8?gHAHy&B)egx^A_WL?! z7lb9nvCWe>=TasO9P;@_!aXosKMrGQU}jybLECewnGU>Cb3 zBcVTIVUevC(;_-efU^w9gG16(HrWpd2oro*McF!N&~vTvioZsn)u97`%9A0f9u99X;#%~(x?9<~zF)aM%`losg>>*qk4j3)AKf0dRcY=?cGM)slJx@0+NbCu6Q(4Yw=`$FnO4+rV9byF2 z6I7W`64nFzlw!tG3b#eSacZ=C=n`y6V^kJ+9q_-`|3*YO@vfuE<|T8`8;-g%m-PH5 zE;fqfcL~mW6ncm$v8cuH9dddbaH#uTc-4f(qggxd}S?D9n4&< zql*4@V|j5Vz-qw0hw`)aNex!Zhr>hBW+9<_K9ReNqy4rg!8uPn+4mWP41h5T! z$XyE-)g^t;J3Bt4*Mg{C7rT*I+iX}^JIEH*v>LxwfB%FiXZuZXx2@nwB=VYrHA&3^ z5yIp!YA&60q@3oU(fCcgn7kJ!Er#vxBtMQGgF^mu1gwjEJtW@O@>!WRw)6SsHY9fM zKvRu{G}?-Q`^WlZA}&%HOpf6&_M08El$!}>mof9H3?gv1q8Li_1RSQg7o6T zIF+-7b-VHMWMe4ZVO@9utz7<>1KL#r4Fe6>xfto$_>6upd-UgIwzNxh1E%4$7f{FG zwAtoi@}9XjVL3PmK0kct7$&DQtH3Y)(Lvzy$`#Cu?l|j_3ZD!ryosK57hX?UBQ)9B z*G;#Dv-a73ZP}nA@k6yZz3pgRSWsgANZ)#jg^q0cjq^LrIlGVdcTj`@%FidzUmnc7 ze?me2_dl3_+WBt}=3mQ_zqlCj{=O6eaB%^Ce=zg?3;w{y)!velQP$Gc)yC19Qp45E z+11kGDGDWB0~8a?&)WtKX6aK^eb9=QOa1Fxw<)9y8K1?&#FGk|E2s9 zT<{nYr~D1=^B19i1s-Vr5~}57VfNE1B^z^RGiR^A6RhfN>Hen~ztsG021Ly-bN`~| zG40>#4mo(y!N$b}0tBOU1yQ=bu%y&_JjRhy+{MMx6>>*G&X)gY&3`fJ7Zm0%y8i60 z5M0MElO8c^&LDeAc}G`EXDc({UnT$1Qon5a>74$@t^2ib{dwzt!BYOB=U*0Tzx2q6 ztNo?U|0enOJ|GT3HT`UnzsUN1^!-8x{sJY*Kq@U|=>l}Nae~~8$D#Ka^UJkO`X}Ka zlZun2qlTHI3yX%OgN-@J-s1OM5)vR!N&^;dNZ(?CP!>`GI3O!h$kD%iMn7}dn^`}e z`SW-!Y3B5sCmS!|XN0&5@Ua6wW`0b6tifaWQOsjl-qpN@z03I@UJfYw+qpKp`!cf?d6NBRr}E5X7|0t`!J`W0}c@6}xvQxzQ%Efkb4G zITD_4&u5c-F^@WKJuCANfJU8_aaq`A{F&lG@9rr2X$4TGY&u62K6^y$OlKa~F4#>S zq%=m(>HXx6R}?s{?3$Kd&gv;JTbs?E91&BMk!_Xmrm~-ULS{Hq{o?7wkh`Q0`SV~P z2`5TTg~r%Rz5{BLEWJHGSHl$eZxG7A8pcFJ=`U%h;1XFkUvBS^VY3fvPtJtV{eXOk z-XTRHegsryN7PX_i0a#(?o6{iaAU*=xI;52J`U0v=hy5>Cb5R|c&>5iG~Ip?F{ioP ze2IwzUmU}^P04+5!GKW;1b%&0oJ76ph@o{N+L!!{1XF`kHS7pA)R;eby8~-!-$i~7 zZbbS4vlr_{aFQiIPjzL~NwzA0SQu3z$$G{oAv~dd=g&=W7pf<}An46%6MODkRAZyk zMf{MFQ6D|_As@D2o4*=%SYS+W8&@F6eMQI>>eFaQ(`RX#a}D}$lT-8jHs)?xmeQUQ zUV1xMFFisOz%fL^wid_x(xLEPT`nLJ9#x4aF!Mop+ZPe!^>okxuVi#x+gsg#1Jasf!X??koZEZB_~5=Vq}K-t`ml!5{=Wf zAip}0qvp0FX{r(-4!iC{)LP=POH@}_mU}j`@^h!p7~1%?YaPG}|4uYkl9^%3F^RfR z1{OPebvs)c%UplG7)YHy=_jh+;S-m!6`ZVTiJNe+$412Pz|DrY&NNm?N>mX$4?S1V zSUY>IKy2p7^wiG5sA$$@f=Z!4V110u_h{W^;*)|+>U&9@lEUwEdAplQx*HsHbfZ6D zgL>6i-O%@Jl+KP)zhb^lFC6m3`zCGi<2X6E)WBdcQOwIu(hev)5}~IcrmjEtWpgUj zGSgA>Ng$nocZ~f}(FRF&;lyZ=tjv>GV`H6M0lUM9d?hQd%v@~mWrM7~x*JQMrIhy% zJ3KHo0nTDwl}eN4pJ+m?Izk(>cyQVkc}~ zbgiv(j+P}S)BATEqgP=vZavILrPmYe5jpy0KP+=6%`kDdWX>y~;|jBEjKwx8#pKzG z9^j5h1ah^$vK8yBg)90`Qw|;=;WCw@8RaQGwUhIuus`mAfmU_pV>m$4ptjA&RhEcG zj!dk<90?_gMmH_@%54Np8d`qZRR^EzB}ZuSfSjc=5>h@lf{Ws`aH=NeIfP4LEKAUH zUt(|TD>$sPqg>p!_(`=tG*J=!C|`bgI#D zFeofwaB;04`Y-TjHI^y8(R{95XqzYPsDgykCY}uB9CXx^d2_Wk7yw&n{+aMKyFX57 zAdV~Cz={+RFR{NCl|~4CVCT8h|~k5bcNLr+`;n@ z5fZJ~(v1)f*N+VL+?MTHqLzX03qP>MN`g zoWA;~diVnWN4Mt^N{h-vHBDhtOeTpKg`unSecr z=)+0~T)(_6`ATP7z!;!Vbhc4Gii*Hbnvc0${o{O!+D-P-$Ix}t%`#%Pp9NTS+BU}D+>LX zi|oPIiCD%f9i#{CZMGR4{0w=8lG}lMsW`pu+wkZ!f-ON_hr!z}5@)vXqayRW=7;@+Kg z)rf(K(1^VxfvEzS!chBdSk!HB$ToLFHn zd7(0RgwPEMJzI_?mlw-xckGsraz__s`e0<4&SntAeXyyJgQWG5(D~Y05M~*W`29oU zo_IE$5=xZ%WOg(j_`VpSTt61Gi{@pE<7JybFs?sj3PHG`?ck)BjE*a&UI&FWn&Fp_ zwd)1Gs*+ibhICxLeCiVHj>yVdi@4v>yrMkAN+2$%{H)Q$&W!v` z$p(f|nf)i*cE+e!&cyZ-Wan@+xR=Z_PqGO&Hn&mR*I{PJtO$K?yWd=uk}haTIcgHC zlR9cU^T&_9;E-45{eI4e)~AXGKUuGYQKd`9{X{b%*q2UR7Et^;U(?vA@XBP-iFAmK znJ_+=(Y?t$8MfG9wLGfg$Eu>>rO4%(Wi#SUMUG$Khv3}z~`2WtjPvPPOB=6W{ESbI${VjFn9^ISDwKO09$ic5&^!Ifi7 zi7lr^+)GI7s2Z#;E8D-ff_Go25As{sGWE%DH|r&)m%VA5-HA?lU=bT|n3dmeti@sL zjcs}Ema;J3V;DHw5e*Lc>R^?pVIh@GHepr~iiT13WfMu(frmU%_F6<-jG)6JVHS|CG z`<;s^m6YYGi}lFR2jVX`NF?-_vUA9UFIZF&E|8ujt|#LrpS`;EEsM*wIC32I86{z6 zwis5f|MJ14-sYhv#??hlaL!)H`e2$|5Iohw?E^5P5c+5zAOH?<#LUGJw;$?RfrTT1U)30C6^&s5A4&?k71jef zVmvu38?M)#pV9D{XGD#*WAya+)t37dye5h=a)vu?=_rQTRdOK9Hs>T+swsIf$m;vp9m6aJbu?PgEX((@+P$iRf}V&3iqao0yyASO6! zTucVPdPi0-pZc987~@HYe9dM&pfrcClUOhAXf0%pg zs5shX-=E;_1c$-h-GX~?cXtgA!QI^n?gV#tcSvxD;O-XS4mtbX?>^`3d(ZvdzkZ7~ ztEa2G>#3)wyJj)<>2L9!R%N1miB<$ih|{S-&Y=A-K^re&);#KUyX zqNU1y@%v!_!SjL?Pa7-Y^#C*;0F?Mve25RHMc-oX8u- zX#j=VCB4mcY)2O6y62(I;fvbF3!gVBfqSZyWGscT0G1k`I9 z18|4H8lBn#xE4?rrDi#G`rpOXdJoFYw9ueNKZ1rko?j=M0X@1J!_aH$^p+yj3o$0S zH6|uT!Y0=EleAQHbl5toknxj8hs0XlUyWIbe{m4=b2hB?QDckoe`$#)7tulWbEA04 zukxukYV~&cK#A!|O2ZTJB+ZD(ljC5ABi!ipa{7D6t|1fO`@EcE-urP<>$%M5{vd8} zf1Uw9O8oTY^daGg>dVR9j7AadNBecbkCNU~xUF7Lboh%pJPWm*K>jF#0TPYe+;N;9p+8!l7SGB&v{X(V4r} z?J|C{!MPPCc3MYQ@s&N<`ped5`0I;l9$muH3ht|C$;>oAH@q5YeL0FzxJPryzTr@9 z+lU$4{n31v5#v6wivxX0JwvLqJ~y{$6tF7|Mt!psrwN@0k>dfxrEeQG$abd7s=tN! zFnGr1Z8{vw?i?3uWO+uF0~%>PXluz0(eFccA~M^4v#{X>)-&>`FhPaWKnXp3y` z8z&KXT*~=dyf70&5FVzUqb>V7-*jnse=~byZr{XZ(VxLDgnb^C#ty^w3>5Dq4QS(r zMW0Z`C!5SRCaujX-NgK1j2uD}%#(jQk7!k8`Sk)%J8107kEnhA$769b{?~&Y$8q=O zCakKV>n*#6yPQVpXVqueHi6xbCo`QzSY<7Xr>&}BC8X#VGY81CC;mE<0CM97P)|*= z8S;m?w;~;B+hE74=z!L^I*gb~L!<*vdLqa|3V@TyN5{Lq0oCIHBg6Q|^{&jPA<@(2 z!6cf-PpuwF$0Jb|%aq>MPx0*dGJY~~BvXXS>pr*rTO@Y!Q#PRG9F7z-fN*xx#G_3- z-Ob~)J>_i|3N`UHS|)h;)e7^zBl84gk&q0*9^K@fEBS7NiRB=xg)G~r@-NrRg+82@ zyrxrLZmmxhZ|c7){EFvFBNe!getHdJc=(pZRbw6u)w;C%-yh zem&QKp^#-ZGgL}pu;ZUF-dGgBWrp;uFPRdLBJYI-d1j}vYM&FY>4%oe z&DRG{z`x;4&0AZMZM5B}$xYxcy~}5>J-vVEzvtgX(%q=qok{AEUQ){WLKyYMkY#a| zlxrlcEMInh9L(Ky9cPELN0HJ`v0Fu)a~o$8_{{y;)9;cl=}5l8E+)$o!bpM_=ri__*?ql?7#Q1Jj1|c#1lz zGM~@wROu)2m2}x}_p^Occ{ntrb-QjR@*Oz{Qm?1KWplh(Os?*^TdzrpTF`s%+AuYd z(j1qbioe~ANADqctFhXh{LD7#tiRZ7`?v+Eq~m(7v&F4?GQE+#zL;{>Ey(Kjh<_7`9>f zy$vUQfv%X*d*#)gF9CRIMXY<>8X8?c?T(L)r8K;8`5inT6=fep?#_0qEtmSxbfXSl z9>(^G1P}e13{hnRHhi`?$;U29y zy0WQg-?1I34UqpRM6R#>vCi+O7=kRioPqLco_D!}jB|6IhasnSN4cS*&12w*Gfex| z6^LE@%&>fGOsv z=l0K6N9XJoPz^pqJYRmKWGW%zJ!rOF^#u)lZ$Oezq$M#!HXb!y4QRWJ6M&G)ME zN`gfvFwTHXriNVl-OU#dp~l>&uH((lHemY=s{!sa^WaEAp0Xo{^vVa5Q*~2)qFeTPZ%R+y>7yIF1J(-X}?PUC>kB`qrmsElT{{oX_3I zQ@U*aq)H!>Li|WI%stIx(Po(qA>e*e1=NKt>|d{A-#$hLKo-hGBBDml_Lndns;cB_ zNi=WX^&9M(x+o|5>*vVnb8Yl7e{K3+cBgha>&md^)w;FYNaCa2i8|$WlRMJ3N9Tcr zJEdoo!GVVun)RYJ<>|f;)wKI&cpLw9l^Xe&hLJVo3LhxNk@xCbT`wVtQnJ)@`241 z93Q@fEiQr1pYnH^Vf^i1WK#8W@^cw2rB{nJv=-*d%|n3b*VHwR-^Bzvw0{F8m1 zp?cuY#X`@4zTFK?vN(M6!wYQ2hfp^RN$;gMNT4(E!YS#6H%bRf${l);s4zJ1d z!OR6G621t;<`=X+0wm665krkf!}M4g>Xc0ONB%0AuDd0PI&-Y+C1)EP-l^ISnJuGn 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 literal 0 HcmV?d00001 diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/preview.gif.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/preview.gif.meta new file mode 100644 index 00000000..14f0b881 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/preview.gif.meta @@ -0,0 +1,86 @@ +fileFormatVersion: 2 +guid: 195bac68939599148a3fbf5108bcfc20 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 6 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: d7ebb509f3bb7c54e835241e12983aa1 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/screenshot.png b/Assets/Fungus/Thirdparty/Reorderable List Field/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..b06af9a57b71256ee49071c1a6535a2bd3aaf4e9 GIT binary patch literal 9154 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 VO){M`^-nnv_;q8wZ#s4_{tIPJT(bZG literal 0 HcmV?d00001 diff --git a/Assets/Fungus/Thirdparty/Reorderable List Field/screenshot.png.meta b/Assets/Fungus/Thirdparty/Reorderable List Field/screenshot.png.meta new file mode 100644 index 00000000..d243a129 --- /dev/null +++ b/Assets/Fungus/Thirdparty/Reorderable List Field/screenshot.png.meta @@ -0,0 +1,86 @@ +fileFormatVersion: 2 +guid: ab7d0b47fabb22f4f84981c741f083f9 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 6 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 21a9e3756c473cb4daeeb1820c46b5e2 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/UnityTestTools/IntegrationTestsFramework/TestRunner/Editor/IntegrationTestsRunnerWindow.cs b/Assets/UnityTestTools/IntegrationTestsFramework/TestRunner/Editor/IntegrationTestsRunnerWindow.cs index 152b7b3a..96be653f 100644 --- a/Assets/UnityTestTools/IntegrationTestsFramework/TestRunner/Editor/IntegrationTestsRunnerWindow.cs +++ b/Assets/UnityTestTools/IntegrationTestsFramework/TestRunner/Editor/IntegrationTestsRunnerWindow.cs @@ -59,8 +59,13 @@ namespace UnityTest { EditorApplication.hierarchyWindowItemOnGUI -= OnHierarchyWindowItemDraw; EditorApplication.hierarchyWindowItemOnGUI += OnHierarchyWindowItemDraw; +#if UNITY_2018_1_OR_NEWER EditorApplication.hierarchyChanged -= OnHierarchyChangeUpdate; EditorApplication.hierarchyChanged += OnHierarchyChangeUpdate; +#else + EditorApplication.hierarchyWindowChanged -= OnHierarchyChangeUpdate; + EditorApplication.hierarchyWindowChanged += OnHierarchyChangeUpdate; +#endif EditorApplication.update -= BackgroundSceneChangeWatch; EditorApplication.update += BackgroundSceneChangeWatch; #if UNITY_2017_2_OR_NEWER @@ -86,7 +91,11 @@ namespace UnityTest { EditorApplication.hierarchyWindowItemOnGUI -= OnHierarchyWindowItemDraw; EditorApplication.update -= BackgroundSceneChangeWatch; +#if UNITY_2018_1_OR_NEWER EditorApplication.hierarchyChanged -= OnHierarchyChangeUpdate; +#else + EditorApplication.hierarchyWindowChanged -= OnHierarchyChangeUpdate; +#endif #if UNITY_2017_2_OR_NEWER EditorApplication.playModeStateChanged -= OnPlaymodeStateChanged; #else diff --git a/Assets/UnityTestTools/IntegrationTestsFramework/TestRunner/Editor/PlatformRunner/PlayerSettingConfigurator.cs b/Assets/UnityTestTools/IntegrationTestsFramework/TestRunner/Editor/PlatformRunner/PlayerSettingConfigurator.cs index cd729b20..18978890 100644 --- a/Assets/UnityTestTools/IntegrationTestsFramework/TestRunner/Editor/PlatformRunner/PlayerSettingConfigurator.cs +++ b/Assets/UnityTestTools/IntegrationTestsFramework/TestRunner/Editor/PlatformRunner/PlayerSettingConfigurator.cs @@ -18,7 +18,12 @@ namespace UnityTest private ResolutionDialogSetting m_DisplayResolutionDialog; private bool m_RunInBackground; + +#if UNITY_2018_1_OR_NEWER private FullScreenMode m_FullScreen; +#else + private bool m_FullScreen; +#endif private bool m_ResizableWindow; private readonly List m_TempFileList = new List(); @@ -34,9 +39,13 @@ namespace UnityTest m_RunInBackground = PlayerSettings.runInBackground; PlayerSettings.runInBackground = true; - +#if UNITY_2018_1_OR_NEWER m_FullScreen = PlayerSettings.fullScreenMode; PlayerSettings.fullScreenMode = FullScreenMode.Windowed; +#else + m_FullScreen = PlayerSettings.defaultIsFullScreen; + PlayerSettings.defaultIsFullScreen = false; +#endif m_ResizableWindow = PlayerSettings.resizableWindow; PlayerSettings.resizableWindow = true; @@ -44,7 +53,11 @@ namespace UnityTest public void RevertSettingsChanges() { +#if UNITY_2018_1_OR_NEWER PlayerSettings.fullScreenMode = m_FullScreen; +#else + PlayerSettings.defaultIsFullScreen = m_FullScreen; +#endif PlayerSettings.runInBackground = m_RunInBackground; PlayerSettings.displayResolutionDialog = m_DisplayResolutionDialog; PlayerSettings.resizableWindow = m_ResizableWindow; diff --git a/Packages/manifest.json b/Packages/manifest.json index 526aca60..1342d0a7 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,4 +1,39 @@ { - "dependencies": { - } + "dependencies": { + "com.unity.ads": "2.0.8", + "com.unity.analytics": "2.0.16", + "com.unity.package-manager-ui": "1.9.11", + "com.unity.purchasing": "2.0.3", + "com.unity.textmeshpro": "1.2.4", + "com.unity.modules.ai": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.cloth": "1.0.0", + "com.unity.modules.director": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.physics2d": "1.0.0", + "com.unity.modules.screencapture": "1.0.0", + "com.unity.modules.terrain": "1.0.0", + "com.unity.modules.terrainphysics": "1.0.0", + "com.unity.modules.tilemap": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.uielements": "1.0.0", + "com.unity.modules.umbra": "1.0.0", + "com.unity.modules.unityanalytics": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.unitywebrequesttexture": "1.0.0", + "com.unity.modules.unitywebrequestwww": "1.0.0", + "com.unity.modules.vehicles": "1.0.0", + "com.unity.modules.video": "1.0.0", + "com.unity.modules.vr": "1.0.0", + "com.unity.modules.wind": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } }