From 079929153a9d8f707ac79af75d33dc49a72a2a39 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 13 Jun 2017 07:39:14 +0200 Subject: [PATCH 001/538] use Editor in bebylon --- UnrealEnginePython.uplugin | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UnrealEnginePython.uplugin b/UnrealEnginePython.uplugin index 8ce9d4932..6d16a645c 100644 --- a/UnrealEnginePython.uplugin +++ b/UnrealEnginePython.uplugin @@ -17,7 +17,7 @@ "Modules": [ { "Name": "UnrealEnginePython", - "Type": "Runtime", + "Type": "Editor", "LoadingPhase": "PreDefault" }, { From a215099de535d5dbb5277d92371e7868629b4154 Mon Sep 17 00:00:00 2001 From: ikrima Date: Mon, 12 Jun 2017 23:42:53 -0700 Subject: [PATCH 002/538] Adding get_game_saved_dir --- Source/UnrealEnginePython/Private/UEPyEngine.cpp | 4 ++++ Source/UnrealEnginePython/Private/UEPyEngine.h | 1 + Source/UnrealEnginePython/Private/UEPyModule.cpp | 1 + 3 files changed, 6 insertions(+) diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index b1ee97fdf..8b00a02e6 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -135,6 +135,10 @@ PyObject *py_unreal_engine_get_content_dir(PyObject * self, PyObject * args) { return PyUnicode_FromString(TCHAR_TO_UTF8(*FPaths::GameContentDir())); } +PyObject *py_unreal_engine_get_game_saved_dir(PyObject * self, PyObject * args) { + return PyUnicode_FromString(TCHAR_TO_UTF8(*FPaths::GameSavedDir())); +} + PyObject *py_unreal_engine_convert_relative_path_to_full(PyObject * self, PyObject * args) { char *path; if (!PyArg_ParseTuple(args, "s:convert_relative_path_to_full", &path)) { diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.h b/Source/UnrealEnginePython/Private/UEPyEngine.h index 3232fe0da..8c32a644e 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.h +++ b/Source/UnrealEnginePython/Private/UEPyEngine.h @@ -14,6 +14,7 @@ PyObject *py_unreal_engine_get_right_vector(PyObject *, PyObject *); PyObject *py_unreal_engine_get_up_vector(PyObject *, PyObject *); PyObject *py_unreal_engine_get_content_dir(PyObject *, PyObject *); +PyObject *py_unreal_engine_get_game_saved_dir(PyObject *, PyObject *); PyObject *py_unreal_engine_find_object(PyObject *, PyObject *); PyObject *py_unreal_engine_find_class(PyObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index c5da15a30..7d30eeaeb 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -148,6 +148,7 @@ static PyMethodDef unreal_engine_methods[] = { { "get_right_vector", py_unreal_engine_get_right_vector, METH_VARARGS, "" }, { "get_content_dir", py_unreal_engine_get_content_dir, METH_VARARGS, "" }, + { "get_game_saved_dir", py_unreal_engine_get_game_saved_dir, METH_VARARGS, "" }, { "convert_relative_path_to_full", py_unreal_engine_convert_relative_path_to_full, METH_VARARGS, "" }, { "compress_image_array", py_unreal_engine_compress_image_array, METH_VARARGS, "" }, From c2bb6520a60362b350e4ea4e7d8b5dc5bf9028ad Mon Sep 17 00:00:00 2001 From: ikrima Date: Thu, 15 Jun 2017 12:55:23 -0700 Subject: [PATCH 003/538] Re-adding Delta parameter to SVectorInputBoxType --- .../Private/Slate/UEPySVectorInputBox.cpp | 6 ++++-- Source/UnrealEnginePython/UnrealEnginePython.Build.cs | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySVectorInputBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySVectorInputBox.cpp index 384df56fa..7e6242fe3 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySVectorInputBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySVectorInputBox.cpp @@ -43,8 +43,10 @@ PyTypeObject ue_PySVectorInputBoxType = { static int ue_py_svector_input_box_init(ue_PySVectorInputBox *self, PyObject *args, PyObject *kwargs) { ue_py_slate_setup_farguments(SVectorInputBox); - //ue_py_slate_farguments_optional_float("delta", Delta); -#if ENGINE_MINOR_VERSION > 15 +#if WITH_KNL_PYEXT + ue_py_slate_farguments_optional_float("delta", Delta); +#endif +#if ENGINE_MINOR_VERSION > 15 || WITH_KNL_PYEXT ue_py_slate_farguments_optional_bool("allow_spin", AllowSpin); #endif ue_py_slate_farguments_optional_bool("allow_responsive_layout", AllowResponsiveLayout); diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index a7ac55f67..d7621995b 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -19,6 +19,7 @@ public class UnrealEnginePython : ModuleRules private string[] windowsKnownPaths = { + "C:/knl/python3", "C:/Program Files/Python36", "C:/Program Files/Python35", "C:/Python27", @@ -72,6 +73,7 @@ public class UnrealEnginePython : ModuleRules public UnrealEnginePython(TargetInfo Target) { + Definitions.Add("WITH_KNL_PYEXT=1"); PublicIncludePaths.AddRange( new string[] { From 3a9389c383e19df1a3df9565a0f76244af869f38 Mon Sep 17 00:00:00 2001 From: ikrima Date: Sat, 17 Jun 2017 05:59:51 -0700 Subject: [PATCH 004/538] Add get_game_user_developer_dir --- Source/UnrealEnginePython/Private/UEPyEngine.cpp | 4 ++++ Source/UnrealEnginePython/Private/UEPyEngine.h | 1 + Source/UnrealEnginePython/Private/UEPyModule.cpp | 1 + 3 files changed, 6 insertions(+) diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index 8b00a02e6..ab46997c1 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -139,6 +139,10 @@ PyObject *py_unreal_engine_get_game_saved_dir(PyObject * self, PyObject * args) return PyUnicode_FromString(TCHAR_TO_UTF8(*FPaths::GameSavedDir())); } +PyObject * py_unreal_engine_get_game_user_developer_dir(PyObject *, PyObject *) { + return PyUnicode_FromString(TCHAR_TO_UTF8(*FPaths::GameUserDeveloperDir())); +} + PyObject *py_unreal_engine_convert_relative_path_to_full(PyObject * self, PyObject * args) { char *path; if (!PyArg_ParseTuple(args, "s:convert_relative_path_to_full", &path)) { diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.h b/Source/UnrealEnginePython/Private/UEPyEngine.h index 8c32a644e..871328c0c 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.h +++ b/Source/UnrealEnginePython/Private/UEPyEngine.h @@ -15,6 +15,7 @@ PyObject *py_unreal_engine_get_up_vector(PyObject *, PyObject *); PyObject *py_unreal_engine_get_content_dir(PyObject *, PyObject *); PyObject *py_unreal_engine_get_game_saved_dir(PyObject *, PyObject *); +PyObject *py_unreal_engine_get_game_user_developer_dir(PyObject *, PyObject *); PyObject *py_unreal_engine_find_object(PyObject *, PyObject *); PyObject *py_unreal_engine_find_class(PyObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 0088593a9..d1a24f7b9 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -149,6 +149,7 @@ static PyMethodDef unreal_engine_methods[] = { { "get_content_dir", py_unreal_engine_get_content_dir, METH_VARARGS, "" }, { "get_game_saved_dir", py_unreal_engine_get_game_saved_dir, METH_VARARGS, "" }, + { "get_game_user_developer_dir", py_unreal_engine_get_game_user_developer_dir, METH_VARARGS, "" }, { "convert_relative_path_to_full", py_unreal_engine_convert_relative_path_to_full, METH_VARARGS, "" }, { "compress_image_array", py_unreal_engine_compress_image_array, METH_VARARGS, "" }, From c1392fb988d5e900c894ad945951d8353815e9fc Mon Sep 17 00:00:00 2001 From: ikrima Date: Thu, 6 Jul 2017 20:42:22 -0700 Subject: [PATCH 005/538] Ryan changes to make Python plugin independent of system installation --- .../Private/UnrealEnginePython.cpp | 62 ++++++++++++++++--- .../UnrealEnginePython.Build.cs | 42 +++++++++++-- 2 files changed, 90 insertions(+), 14 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 0d2cf22b6..8bd9ba31d 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -147,26 +147,31 @@ FAutoConsoleCommand ExecPythonScriptCommand( void FUnrealEnginePythonModule::StartupModule() { // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module - FString IniValue; - if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("Home"), IniValue, GEngineIni)) { + FString PythonHome; + if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("Home"), PythonHome, GEngineIni)) { #if PY_MAJOR_VERSION >= 3 - wchar_t *home = (wchar_t *)*IniValue; + wchar_t *home = (wchar_t *)*PythonHome; #else - char *home = TCHAR_TO_UTF8(*IniValue); + char *home = TCHAR_TO_UTF8(*PythonHome); #endif + FPlatformMisc::SetEnvironmentVar(TEXT("PYTHONHOME"), *PythonHome); Py_SetPythonHome(home); } - if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("RelativeHome"), IniValue, GEngineIni)) { - IniValue = FPaths::Combine(*FPaths::GameContentDir(), *IniValue); + if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("RelativeHome"), PythonHome, GEngineIni)) { + PythonHome = FPaths::Combine(*FPaths::GameContentDir(), *PythonHome); + FPaths::NormalizeFilename(PythonHome); + PythonHome = FPaths::ConvertRelativePathToFull(PythonHome); #if PY_MAJOR_VERSION >= 3 - wchar_t *home = (wchar_t *)*IniValue; + wchar_t *home = (wchar_t *)*PythonHome; #else - char *home = TCHAR_TO_UTF8(*IniValue); + char *home = TCHAR_TO_UTF8(*PythonHome); #endif + Py_SetPythonHome(home); } + FString IniValue; if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("ProgramName"), IniValue, GEngineIni)) { #if PY_MAJOR_VERSION >= 3 wchar_t *program_name = (wchar_t *)*IniValue; @@ -178,6 +183,8 @@ void FUnrealEnginePythonModule::StartupModule() if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("RelativeProgramName"), IniValue, GEngineIni)) { IniValue = FPaths::Combine(*FPaths::GameContentDir(), *IniValue); + FPaths::NormalizeFilename(IniValue); + IniValue = FPaths::ConvertRelativePathToFull(IniValue); #if PY_MAJOR_VERSION >= 3 wchar_t *program_name = (wchar_t *)*IniValue; #else @@ -218,6 +225,45 @@ void FUnrealEnginePythonModule::StartupModule() ZipPath = FPaths::Combine(*FPaths::GameContentDir(), UTF8_TO_TCHAR("ue_python.zip")); } + // To ensure there are no path conflicts, if we have a valid python home at this point, + // we override the current environment entirely with the environment we want to use, + // removing any paths to other python environments we aren't using. + if (PythonHome.Len() > 0) + { + FPlatformMisc::SetEnvironmentVar(TEXT("PYTHONHOME"), *PythonHome); + + const int32 MaxPathVarLen = 32768; + FString OrigPathVar = FString::ChrN(MaxPathVarLen, TEXT('\0')); + FPlatformMisc::GetEnvironmentVariable(TEXT("PATH"), OrigPathVar.GetCharArray().GetData(), MaxPathVarLen); + + // Get the current path and remove elements with python in them, we don't want any conflicts + const TCHAR* PathDelimiter = FPlatformMisc::GetPathVarDelimiter(); + TArray PathVars; + OrigPathVar.ParseIntoArray(PathVars, PathDelimiter, true); + for (int32 PathRemoveIndex = PathVars.Num() - 1; PathRemoveIndex >= 0; --PathRemoveIndex) + { + if (PathVars[PathRemoveIndex].Contains(TEXT("python"), ESearchCase::IgnoreCase)) + { + UE_LOG(LogPython, Verbose, TEXT("Removing other python Path: '%s'"), *PathVars[PathRemoveIndex]); + PathVars.RemoveAt(PathRemoveIndex); + } + } + + // Setup our own paths for PYTHONPATH + TArray OurPythonPaths = { + PythonHome, + FPaths::Combine(PythonHome, TEXT("Lib")), + FPaths::Combine(PythonHome, TEXT("Lib/site-packages")), + }; + FString PythonPathVars = FString::Join(OurPythonPaths, PathDelimiter); + FPlatformMisc::SetEnvironmentVar(TEXT("PYTHONPATH"), *PythonPathVars); + + // Also add our paths to PATH, just so any searching will find our local python + PathVars.Append(OurPythonPaths); + FString ModifiedPath = FString::Join(PathVars, PathDelimiter); + FPlatformMisc::SetEnvironmentVar(TEXT("PATH"), *ModifiedPath); + } + Py_Initialize(); PyEval_InitThreads(); diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index e816a2952..f72bb95f0 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -19,7 +19,7 @@ public class UnrealEnginePython : ModuleRules private string[] windowsKnownPaths = { - "C:/knl/python3", + "../../../../../ThirdParty/Python3", "C:/Program Files/Python36", "C:/Program Files/Python35", "C:/Python27", @@ -171,6 +171,19 @@ public UnrealEnginePython(TargetInfo Target) string libPath = GetWindowsPythonLibFile(pythonHome); PublicLibraryPaths.Add(Path.GetDirectoryName(libPath)); PublicAdditionalLibraries.Add(libPath); + + // copy the dlls into the plugins dlls folder, so they don't have to be on the path + string dllsDir = Path.Combine(ModuleDirectory, "../../Binaries", Target.Platform == UnrealTargetPlatform.Win32 ? "Win32" : "Win64"); + try + { + File.Copy(Path.Combine(pythonHome, "python3.dll"), Path.Combine(dllsDir, "python3.dll"), true); + File.Copy(Path.Combine(pythonHome, "python36.dll"), Path.Combine(dllsDir, "python36.dll"), true); + } + catch(System.IO.IOException) { } + catch(System.UnauthorizedAccessException) + { + System.Console.WriteLine("WARNING: Unable to copy python dlls, they are probably in use..."); + } } else if (Target.Platform == UnrealTargetPlatform.Mac) { @@ -217,6 +230,15 @@ public UnrealEnginePython(TargetInfo Target) } + private bool IsPathRelative(string Path) + { + bool IsRooted = Path.StartsWith("\\", System.StringComparison.Ordinal) || // Root of the current directory on Windows. Also covers "\\" for UNC or "network" paths. + Path.StartsWith("/", System.StringComparison.Ordinal) || // Root of the current directory on Windows, root on UNIX-likes. + // Also covers "\\", considering normalization replaces "\\" with "//". + (Path.Length >= 2 && char.IsLetter(Path[0]) && Path[1] == ':'); // Starts with ":" + return !IsRooted; + } + private string DiscoverPythonPath(string[] knownPaths) { // insert the PYTHONHOME content as the first known path @@ -227,16 +249,23 @@ private string DiscoverPythonPath(string[] knownPaths) foreach (string path in paths) { - string headerFile = Path.Combine(path, "include", "Python.h"); + string actualPath = path; + + if (IsPathRelative(actualPath)) + { + actualPath = Path.GetFullPath(Path.Combine(ModuleDirectory, actualPath)); + } + + string headerFile = Path.Combine(actualPath, "include", "Python.h"); if (File.Exists(headerFile)) { - return path; + return actualPath; } // this is mainly useful for OSX - headerFile = Path.Combine(path, "Headers", "Python.h"); + headerFile = Path.Combine(actualPath, "Headers", "Python.h"); if (File.Exists(headerFile)) { - return path; + return actualPath; } } return ""; @@ -327,7 +356,8 @@ private string GetWindowsPythonLibFile(string basePath) } if (!found) { - System.Console.WriteLine("[WARNING] Your Python installation is not in the system PATH environment variable, very probably the plugin will fail to load"); + System.Console.WriteLine("[WARNING] Your Python installation is not in the system PATH environment variable."); + System.Console.WriteLine("[WARNING] Ensure your python paths are set in GlobalConfig (DefaultEngine.ini) so the path can be corrected at runtime."); } // first try with python3 for (int i = 9; i >= 0; i--) From 080faa94f9c97ddbb1185001c9603d37d4811525 Mon Sep 17 00:00:00 2001 From: ikrima Date: Mon, 17 Jul 2017 18:24:48 -0700 Subject: [PATCH 006/538] BUG: Editor only animation montage composite functions need to be compiled out in non-editor builds --- .../UnrealEnginePython/Private/UEPyModule.cpp | 3 +- .../Private/UObject/UEPyAnimSequence.cpp | 33 ++++++++++--------- .../Private/UObject/UEPyAnimSequence.h | 4 +-- .../UnrealEnginePython.Build.cs | 18 ++++++++-- 4 files changed, 36 insertions(+), 22 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index aaf60b657..415caa7cd 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -466,12 +466,11 @@ static PyMethodDef ue_PyUObject_methods[] = { { "anim_get_skeleton", (PyCFunction)py_ue_anim_get_skeleton, METH_VARARGS, "" }, { "anim_set_skeleton", (PyCFunction)py_ue_anim_set_skeleton, METH_VARARGS, "" }, - { "add_anim_composite_section", (PyCFunction)py_ue_add_anim_composite_section, METH_VARARGS, "" }, - #if WITH_EDITOR { "get_raw_animation_data", (PyCFunction)py_ue_anim_sequence_get_raw_animation_data, METH_VARARGS, "" }, { "get_raw_animation_track", (PyCFunction)py_ue_anim_sequence_get_raw_animation_track, METH_VARARGS, "" }, { "add_new_raw_track", (PyCFunction)py_ue_anim_sequence_add_new_raw_track, METH_VARARGS, "" }, + { "add_anim_composite_section", (PyCFunction)py_ue_add_anim_composite_section, METH_VARARGS, "" }, #endif diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp index 866b38a5e..18eb2b767 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp @@ -93,6 +93,22 @@ PyObject *py_ue_anim_sequence_add_new_raw_track(ue_PyUObject * self, PyObject * return PyLong_FromLong(index); } + +PyObject *py_ue_add_anim_composite_section(ue_PyUObject * self, PyObject * args) { + ue_py_check(self); + + char *name; + float time; + if (!PyArg_ParseTuple(args, "sf:add_anim_composite_section", &name, &time)) + return nullptr; + + UAnimMontage *anim = ue_py_check_type(self); + if (!anim) + return PyErr_Format(PyExc_Exception, "UObject is not a UAnimMontage."); + + return PyLong_FromLong(anim->AddAnimCompositeSection(FName(UTF8_TO_TCHAR(name)), time)); +} + #endif PyObject *py_ue_anim_set_skeleton(ue_PyUObject * self, PyObject * args) { @@ -113,19 +129,4 @@ PyObject *py_ue_anim_set_skeleton(ue_PyUObject * self, PyObject * args) { anim->SetSkeleton(skeleton); Py_RETURN_NONE; -} - -PyObject *py_ue_add_anim_composite_section(ue_PyUObject * self, PyObject * args) { - ue_py_check(self); - - char *name; - float time; - if (!PyArg_ParseTuple(args, "sf:add_anim_composite_section", &name, &time)) - return nullptr; - - UAnimMontage *anim = ue_py_check_type(self); - if (!anim) - return PyErr_Format(PyExc_Exception, "UObject is not a UAnimMontage."); - - return PyLong_FromLong(anim->AddAnimCompositeSection(FName(UTF8_TO_TCHAR(name)), time)); -} +} \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h index c3c8aaeb8..46fec4422 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h @@ -10,6 +10,6 @@ PyObject *py_ue_anim_get_skeleton(ue_PyUObject *, PyObject *); PyObject *py_ue_anim_sequence_get_raw_animation_data(ue_PyUObject *, PyObject *); PyObject *py_ue_anim_sequence_get_raw_animation_track(ue_PyUObject *, PyObject *); PyObject *py_ue_anim_sequence_add_new_raw_track(ue_PyUObject *, PyObject *); +PyObject *py_ue_add_anim_composite_section(ue_PyUObject *, PyObject *); #endif -PyObject *py_ue_anim_set_skeleton(ue_PyUObject *, PyObject *); -PyObject *py_ue_add_anim_composite_section(ue_PyUObject *, PyObject *); \ No newline at end of file +PyObject *py_ue_anim_set_skeleton(ue_PyUObject *, PyObject *); \ No newline at end of file diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index f72bb95f0..c3b5ed6b6 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -176,8 +176,22 @@ public UnrealEnginePython(TargetInfo Target) string dllsDir = Path.Combine(ModuleDirectory, "../../Binaries", Target.Platform == UnrealTargetPlatform.Win32 ? "Win32" : "Win64"); try { - File.Copy(Path.Combine(pythonHome, "python3.dll"), Path.Combine(dllsDir, "python3.dll"), true); - File.Copy(Path.Combine(pythonHome, "python36.dll"), Path.Combine(dllsDir, "python36.dll"), true); + string[] dllsToCopy = + { + "python3.dll", + "python36.dll" + }; + foreach (string dllToCopy in dllsToCopy) + { + // If the dll exist, make sure to set attributes so they are actually accessible + if (File.Exists(Path.Combine(dllsDir, dllToCopy))) + { + File.SetAttributes(Path.Combine(dllsDir, dllToCopy), FileAttributes.Normal); + } + + File.Copy(Path.Combine(pythonHome, dllToCopy), Path.Combine(dllsDir, dllToCopy), true); + File.SetAttributes(Path.Combine(dllsDir, dllToCopy), FileAttributes.Normal); + } } catch(System.IO.IOException) { } catch(System.UnauthorizedAccessException) From db026777e2dee47cfb4ad26b0af7dd94aea8fb00 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 22 Aug 2017 17:56:02 +0200 Subject: [PATCH 007/538] build fixes --- .../UnrealEnginePython/Private/UEPyModule.cpp | 1 - .../Private/UObject/UEPyAnimSequence.cpp | 17 ----------------- .../Private/UnrealEnginePython.cpp | 2 +- 3 files changed, 1 insertion(+), 19 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 75b8b3f13..4552a7ad9 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -506,7 +506,6 @@ static PyMethodDef ue_PyUObject_methods[] = { { "get_raw_animation_data", (PyCFunction)py_ue_anim_sequence_get_raw_animation_data, METH_VARARGS, "" }, { "get_raw_animation_track", (PyCFunction)py_ue_anim_sequence_get_raw_animation_track, METH_VARARGS, "" }, { "add_new_raw_track", (PyCFunction)py_ue_anim_sequence_add_new_raw_track, METH_VARARGS, "" }, - { "add_anim_composite_section", (PyCFunction)py_ue_add_anim_composite_section, METH_VARARGS, "" }, #endif { "add_anim_composite_section", (PyCFunction)py_ue_add_anim_composite_section, METH_VARARGS, "" }, #endif diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp index 8c9588abd..0115058a6 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp @@ -134,23 +134,6 @@ PyObject *py_ue_anim_set_skeleton(ue_PyUObject * self, PyObject * args) { Py_RETURN_NONE; } -#if WITH_EDITOR -PyObject *py_ue_add_anim_composite_section(ue_PyUObject * self, PyObject * args) { - ue_py_check(self); - - char *name; - float time; - if (!PyArg_ParseTuple(args, "sf:add_anim_composite_section", &name, &time)) - return nullptr; - - UAnimMontage *anim = ue_py_check_type(self); - if (!anim) - return PyErr_Format(PyExc_Exception, "UObject is not a UAnimMontage."); - - return PyLong_FromLong(anim->AddAnimCompositeSection(FName(UTF8_TO_TCHAR(name)), time)); -} -#endif - PyObject *py_ue_get_blend_parameter(ue_PyUObject * self, PyObject * args) { ue_py_check(self); diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index dd570be7f..6ecdaa907 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -234,6 +234,7 @@ void FUnrealEnginePythonModule::StartupModule() if (!FPaths::DirectoryExists(ScriptsPath)) { IPlatformFile& PlatformFile = FPlatformFileManager::Get().GetPlatformFile(); PlatformFile.CreateDirectory(*ScriptsPath); + } // To ensure there are no path conflicts, if we have a valid python home at this point, // we override the current environment entirely with the environment we want to use, @@ -272,7 +273,6 @@ void FUnrealEnginePythonModule::StartupModule() PathVars.Append(OurPythonPaths); FString ModifiedPath = FString::Join(PathVars, PathDelimiter); FPlatformMisc::SetEnvironmentVar(TEXT("PATH"), *ModifiedPath); ->>>>>>> 080faa94f9c97ddbb1185001c9603d37d4811525 } Py_Initialize(); From 59ed31645931c9d79766c68919a1494bf065a364 Mon Sep 17 00:00:00 2001 From: ikrima Date: Fri, 8 Sep 2017 18:10:27 -0700 Subject: [PATCH 008/538] Fixing 4.17 compilation bugs & warnings -Minor issues with incremental compilation with missing headers --- Source/PythonConsole/Private/PythonConsoleModule.cpp | 2 +- Source/UnrealEnginePython/Private/PythonScript.cpp | 1 - .../UnrealEnginePython/Private/Slate/UEPySFilePathPicker.cpp | 5 ++--- .../UnrealEnginePython/Private/Slate/UEPySFilePathPicker.h | 3 ++- Source/UnrealEnginePython/Private/UEPyEditor.cpp | 4 ++++ Source/UnrealEnginePython/Public/PythonScript.h | 3 ++- 6 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Source/PythonConsole/Private/PythonConsoleModule.cpp b/Source/PythonConsole/Private/PythonConsoleModule.cpp index 9f1c6bdb8..0569edec5 100644 --- a/Source/PythonConsole/Private/PythonConsoleModule.cpp +++ b/Source/PythonConsole/Private/PythonConsoleModule.cpp @@ -7,7 +7,7 @@ #include "SDockTab.h" #include "Editor/WorkspaceMenuStructure/Public/WorkspaceMenuStructure.h" -IMPLEMENT_MODULE( FPythonConsoleModule, PythonLog ); +IMPLEMENT_MODULE( FPythonConsoleModule, PythonConsole ); namespace PythonConsoleModule { diff --git a/Source/UnrealEnginePython/Private/PythonScript.cpp b/Source/UnrealEnginePython/Private/PythonScript.cpp index 3d3b2ece8..84f4e2fbd 100644 --- a/Source/UnrealEnginePython/Private/PythonScript.cpp +++ b/Source/UnrealEnginePython/Private/PythonScript.cpp @@ -1,5 +1,4 @@ #include "UnrealEnginePythonPrivatePCH.h" - #include "PythonScript.h" static void callback(void *arg) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.cpp index 9683be4ec..66c131ab0 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.cpp @@ -1,9 +1,8 @@ -#if WITH_EDITOR -#if ENGINE_MINOR_VERSION > 13 #include "UnrealEnginePythonPrivatePCH.h" - #include "UEPySFilePathPicker.h" +#if WITH_EDITOR +#if ENGINE_MINOR_VERSION > 13 #define sw_file_path_picker StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.h b/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.h index 2e649051a..b87bd4ac5 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.h @@ -2,9 +2,9 @@ #include "UnrealEnginePython.h" - #include "UEPySCompoundWidget.h" +#if WITH_EDITOR #if ENGINE_MINOR_VERSION > 13 #include "Developer/DesktopWidgets/Public/Widgets/Input/SFilePathPicker.h" @@ -17,3 +17,4 @@ typedef struct { void ue_python_init_sfile_path_picker(PyObject *); #endif +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index 3685f8ca9..581541792 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -1718,7 +1718,11 @@ PyObject *py_unreal_engine_move_selected_actors_to_level(PyObject *self, PyObjec ULevel *level = (ULevel *)py_obj_level->ue_object; +#if ENGINE_MINOR_VERSION >= 17 + UEditorLevelUtils::MoveSelectedActorsToLevel(level); +#else GEditor->MoveSelectedActorsToLevel(level); +#endif Py_INCREF(Py_None); return Py_None; diff --git a/Source/UnrealEnginePython/Public/PythonScript.h b/Source/UnrealEnginePython/Public/PythonScript.h index cac7b554a..0c95a8253 100644 --- a/Source/UnrealEnginePython/Public/PythonScript.h +++ b/Source/UnrealEnginePython/Public/PythonScript.h @@ -1,6 +1,7 @@ #pragma once - +#include "CoreMinimal.h" +#include "UObject/Object.h" #include "PythonScript.generated.h" UCLASS(MinimalAPI) From a6c14eed402577a5ff4cf98a62d5e09a760224f8 Mon Sep 17 00:00:00 2001 From: ikrima Date: Fri, 15 Sep 2017 01:51:28 -0700 Subject: [PATCH 009/538] Fixing 4.17 compilation issues --- Source/UnrealEnginePython/Private/Fbx/UEPyFbxImporter.cpp | 3 +-- Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.cpp | 5 ++--- Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.h | 4 +++- Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.cpp | 6 ++---- Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.h | 3 ++- 5 files changed, 10 insertions(+), 11 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxImporter.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxImporter.cpp index eb3ea1ed1..96f003948 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxImporter.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxImporter.cpp @@ -1,7 +1,6 @@ - -#if ENGINE_MINOR_VERSION > 12 #include "UnrealEnginePythonPrivatePCH.h" +#if ENGINE_MINOR_VERSION > 12 #if WITH_EDITOR #include "UEPyFbx.h" diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.cpp index 15fa7d7a8..cf367203e 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.cpp @@ -1,9 +1,8 @@ -#if ENGINE_MINOR_VERSION > 12 #include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFbx.h" #if WITH_EDITOR - -#include "UEPyFbx.h" +#if ENGINE_MINOR_VERSION > 12 static PyObject *py_ue_fbx_mesh_get_polygon_count(ue_PyFbxMesh *self, PyObject *args) { diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.h b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.h index 370698a10..be525201f 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.h +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.h @@ -2,6 +2,7 @@ #include "UnrealEnginePython.h" #if WITH_EDITOR +#if ENGINE_MINOR_VERSION > 12 #include @@ -15,6 +16,7 @@ struct ue_PyFbxMesh void ue_python_init_fbx_mesh(PyObject *); -PyObject *py_ue_new_fbx_mesh(FbxNode *); +PyObject *py_ue_new_fbx_mesh(FbxMesh *); #endif +#endif diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.cpp index 9f9f62871..15dfa0170 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.cpp @@ -1,10 +1,8 @@ -#if ENGINE_MINOR_VERSION > 12 #include "UnrealEnginePythonPrivatePCH.h" - -#if WITH_EDITOR - #include "UEPyFbx.h" +#if WITH_EDITOR +#if ENGINE_MINOR_VERSION > 12 static PyObject *py_ue_fbx_node_get_child_count(ue_PyFbxNode *self, PyObject *args) { return PyLong_FromLong(self->fbx_node->GetChildCount()); } diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.h b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.h index 7e07f089f..2fd7d6f84 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.h +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.h @@ -2,7 +2,7 @@ #include "UnrealEnginePython.h" #if WITH_EDITOR - +#if ENGINE_MINOR_VERSION > 12 #include struct ue_PyFbxNode { @@ -19,3 +19,4 @@ PyObject *py_ue_new_fbx_node(FbxNode *); ue_PyFbxNode *py_ue_is_fbx_node(PyObject *); #endif +#endif \ No newline at end of file From 029577a37e30198aa1a604610113193e31739a26 Mon Sep 17 00:00:00 2001 From: ikrima Date: Sat, 18 Nov 2017 02:49:58 -0800 Subject: [PATCH 010/538] Synchronize to Changelist #3575 --- .../Private/PythonScriptFactory.cpp | 2 + .../ConsoleManager/UEPyIConsoleManager.cpp | 63 +++ .../ConsoleManager/UEPyIConsoleManager.h | 9 + .../Private/PyNativeWidgetHost.cpp | 20 + .../Private/PyUserWidget.cpp | 45 +- .../Private/Slate/UEPySPythonTreeView.cpp | 38 +- .../Private/Slate/UEPySPythonTreeView.h | 11 +- .../Private/Slate/UEPySTreeView.cpp | 18 +- .../Private/Slate/UEPySWidget.cpp | 114 ++-- .../UnrealEnginePython/Private/UEPyEngine.cpp | 485 +++++++++++++----- .../UnrealEnginePython/Private/UEPyEngine.h | 4 + .../UnrealEnginePython/Private/UEPyModule.cpp | 31 +- .../Private/UEPyUScriptStruct.cpp | 3 +- .../Private/UObject/UEPyWidgetComponent.cpp | 15 +- .../Public/PyNativeWidgetHost.h | 24 + .../UnrealEnginePython/Public/PyUserWidget.h | 17 +- UnrealEnginePython.uplugin | 13 +- 17 files changed, 727 insertions(+), 185 deletions(-) create mode 100644 Source/UnrealEnginePython/Private/PyNativeWidgetHost.cpp create mode 100644 Source/UnrealEnginePython/Public/PyNativeWidgetHost.h diff --git a/Source/PythonConsole/Private/PythonScriptFactory.cpp b/Source/PythonConsole/Private/PythonScriptFactory.cpp index 1b1828a7c..b5dba512f 100644 --- a/Source/PythonConsole/Private/PythonScriptFactory.cpp +++ b/Source/PythonConsole/Private/PythonScriptFactory.cpp @@ -5,7 +5,9 @@ UPythonScriptFactory::UPythonScriptFactory(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) { +#if !WITH_KNL_PYEXT Formats.Add(FString("py;Python Script")); +#endif bCreateNew = false; bEditAfterNew = true; diff --git a/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp b/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp index 09d952df0..0bcce13ce 100644 --- a/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp +++ b/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp @@ -507,6 +507,68 @@ static PyObject *py_ue_iconsole_manager_register_variable_float(PyObject *cls, P Py_RETURN_NONE; } +void UPythonConsoleDelegate::OnConsoleCommand(const TArray < FString > & InArgs) +{ + FScopePythonGIL gil; + + PyObject *ret = nullptr; + if (InArgs.Num() == 0) + { + ret = PyObject_CallFunction(py_callable, nullptr); + } + else + { + PyObject *py_args = PyTuple_New(InArgs.Num()); + for (int32 i = 0; i < InArgs.Num(); i++) + { + PyTuple_SetItem(py_args, i, PyUnicode_FromString(TCHAR_TO_UTF8(*InArgs[i]))); + } + ret = PyObject_CallObject(py_callable, py_args); + Py_DECREF(py_args); + } + if (!ret) + { + unreal_engine_py_log_error(); + return; + } + Py_DECREF(ret); +} + +static PyObject *py_ue_iconsole_manager_register_command(PyObject *cls, PyObject * args) +{ + char *key; + PyObject *py_callable; + char *help = nullptr; + if (!PyArg_ParseTuple(args, "sO|s:register_command", &key, &py_callable, &help)) + { + return nullptr; + } + + if (!PyCallable_Check(py_callable)) + { + return PyErr_Format(PyExc_Exception, "argument is not callable"); + } + + IConsoleObject *c_object = IConsoleManager::Get().FindConsoleObject(UTF8_TO_TCHAR(key)); + if (c_object) + { + return PyErr_Format(PyExc_Exception, "console object \"%s\" already exists", key); + } + + UPythonConsoleDelegate *py_delegate = NewObject(); + py_delegate->SetPyCallable(py_callable); + py_delegate->AddToRoot(); + FConsoleCommandWithArgsDelegate console_delegate; + console_delegate.BindUObject(py_delegate, &UPythonConsoleDelegate::OnConsoleCommand); + + if (!IConsoleManager::Get().RegisterConsoleCommand(UTF8_TO_TCHAR(key), help ? UTF8_TO_TCHAR(help) : UTF8_TO_TCHAR(key), console_delegate, 0)) + { + return PyErr_Format(PyExc_Exception, "unable to register console command \"%s\"", key); + } + + Py_RETURN_NONE; +} + static PyMethodDef ue_PyIConsoleManager_methods[] = { { "get_history", (PyCFunction)py_ue_iconsole_manager_get_history, METH_VARARGS | METH_CLASS, "" }, { "add_history_entry", (PyCFunction)py_ue_iconsole_manager_add_history_entry, METH_VARARGS | METH_CLASS, "" }, @@ -533,6 +595,7 @@ static PyMethodDef ue_PyIConsoleManager_methods[] = { { "register_variable_string", (PyCFunction)py_ue_iconsole_manager_register_variable_string, METH_VARARGS | METH_CLASS, "" }, { "register_variable_int", (PyCFunction)py_ue_iconsole_manager_register_variable_int, METH_VARARGS | METH_CLASS, "" }, { "register_variable_float", (PyCFunction)py_ue_iconsole_manager_register_variable_float, METH_VARARGS | METH_CLASS, "" }, + { "register_command", (PyCFunction)py_ue_iconsole_manager_register_command, METH_VARARGS | METH_CLASS, "" }, { NULL } /* Sentinel */ }; diff --git a/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.h b/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.h index b7846e5c8..b147fdf7e 100644 --- a/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.h +++ b/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.h @@ -3,6 +3,7 @@ #include "UnrealEnginePython.h" #include "Runtime/Core/Public/HAL/IConsoleManager.h" +#include "UEPyIConsoleManager.generated.h" typedef struct { @@ -10,5 +11,13 @@ typedef struct /* Type-specific fields go here. */ } ue_PyIConsoleManager; +UCLASS() +class UPythonConsoleDelegate : public UPythonDelegate +{ + GENERATED_BODY() + +public: + void OnConsoleCommand(const TArray < FString > &InArgs); +}; void ue_python_init_iconsole_manager(PyObject *); diff --git a/Source/UnrealEnginePython/Private/PyNativeWidgetHost.cpp b/Source/UnrealEnginePython/Private/PyNativeWidgetHost.cpp new file mode 100644 index 000000000..486887f6b --- /dev/null +++ b/Source/UnrealEnginePython/Private/PyNativeWidgetHost.cpp @@ -0,0 +1,20 @@ +#include "UnrealEnginePythonPrivatePCH.h" +#include "PyNativeWidgetHost.h" + +#include "UnrealEnginePython.h" + + + + +UPyNativeWidgetHost::UPyNativeWidgetHost(const FObjectInitializer& ObjectInitializer) + : Super(ObjectInitializer) +{ + bIsVariable = true; +} + +#if WITH_EDITOR +const FText UPyNativeWidgetHost::GetPaletteCategory() +{ + return NSLOCTEXT("Python", "Python", "Python"); +} +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/PyUserWidget.cpp b/Source/UnrealEnginePython/Private/PyUserWidget.cpp index 33cc7bc28..a9dad7ffd 100644 --- a/Source/UnrealEnginePython/Private/PyUserWidget.cpp +++ b/Source/UnrealEnginePython/Private/PyUserWidget.cpp @@ -1,15 +1,27 @@ #include "UnrealEnginePythonPrivatePCH.h" #include "PyUserWidget.h" +#include "PyNativeWidgetHost.h" #include "PythonDelegate.h" #include "Slate/UEPyFGeometry.h" #include "Slate/UEPyFPaintContext.h" +#include "Widgets/Layout/SBox.h" +#include "UMGStyle.h" +#include "Runtime/UMG/Public/Blueprint/WidgetTree.h" + void UPyUserWidget::NativeConstruct() { Super::NativeConstruct(); + WidgetTree->ForEachWidget([&](UWidget* Widget) { + if (Widget->IsA()) + { + PyNativeWidgetHost = Cast(Widget); + } + }); + if (PythonModule.IsEmpty()) return; @@ -62,7 +74,7 @@ void UPyUserWidget::NativeConstruct() if (PythonPaintForceDisabled) bCanEverPaint = false; - + if (!PyObject_HasAttrString(py_user_widget_instance, (char *)"construct")) return; @@ -215,6 +227,33 @@ FReply UPyUserWidget::NativeOnKeyDown(const FGeometry & InGeometry, const FKeyEv return FReply::Unhandled(); } +#if WITH_EDITOR + +const FText UPyUserWidget::GetPaletteCategory() +{ + return NSLOCTEXT("Python", "Python", "Python"); +} +#endif + +void UPyUserWidget::SetSlateWidget(TSharedRef InContent) +{ + if (PyNativeWidgetHost.IsValid()) + { + PyNativeWidgetHost->SetContent(InContent); + } +} + + +void UPyUserWidget::ReleaseSlateResources(bool bReleaseChildren) +{ + Super::ReleaseSlateResources(bReleaseChildren); +} + +TSharedRef UPyUserWidget::RebuildWidget() +{ + return Super::RebuildWidget(); +} + FReply UPyUserWidget::NativeOnMouseWheel(const FGeometry & InGeometry, const FPointerEvent & InMouseEvent) { Super::NativeOnMouseWheel(InGeometry, InMouseEvent); @@ -308,6 +347,10 @@ void UPyUserWidget::NativePaint(FPaintContext & InContext) const Py_DECREF(ret); } +UPyUserWidget::UPyUserWidget(const FObjectInitializer& ObjectInitializer) + : Super(ObjectInitializer) +{} + UPyUserWidget::~UPyUserWidget() { FScopePythonGIL gil; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonTreeView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonTreeView.cpp index 617e6c5bf..c1e4deaac 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonTreeView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonTreeView.cpp @@ -8,8 +8,31 @@ #define sw_python_tree_view StaticCastSharedRef(self->s_tree_view.s_list_view.s_table_view_base.s_compound_widget.s_widget.s_widget) +static PyObject *py_ue_spython_tree_view_set_item_expansion(ue_PySPythonTreeView *self, PyObject * args) +{ + PyObject *py_item; + PyObject *py_bool; + if (!PyArg_ParseTuple(args, "OO:set_item_expansion", &py_item, &py_bool)) + { + return nullptr; + } + sw_python_tree_view->SetPythonItemExpansion(py_item, PyObject_IsTrue(py_bool) ? true : false); + Py_RETURN_NONE; +} + +void SPythonTreeView::SetPythonItemExpansion(PyObject *item, bool InShouldExpandItem) +{ + for (TSharedPtr PythonItem : *ItemsSource) + { + if (PythonItem->py_object == item) + { + SetItemExpansion(PythonItem, InShouldExpandItem); + } + } +} static PyMethodDef ue_PySPythonTreeView_methods[] = { + { "set_item_expansion", (PyCFunction)py_ue_spython_tree_view_set_item_expansion, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; @@ -44,25 +67,29 @@ PyTypeObject ue_PySPythonTreeViewType = { ue_PySPythonTreeView_methods, /* tp_methods */ }; -static int ue_py_spython_tree_view_init(ue_PySPythonTreeView *self, PyObject *args, PyObject *kwargs) { +static int ue_py_spython_tree_view_init(ue_PySPythonTreeView *self, PyObject *args, PyObject *kwargs) +{ ue_py_slate_setup_farguments(SPythonTreeView); // first of all check for values PyObject *values = ue_py_dict_get_item(kwargs, "tree_items_source"); - if (!values) { + if (!values) + { PyErr_SetString(PyExc_Exception, "you must specify tree items"); return -1; } values = PyObject_GetIter(values); - if (!values) { + if (!values) + { PyErr_SetString(PyExc_Exception, "values field is not an iterable"); return -1; } TArray> *items = new TArray>(); - while (PyObject *item = PyIter_Next(values)) { + while (PyObject *item = PyIter_Next(values)) + { Py_INCREF(item); // keep track of items self->s_tree_view.s_list_view.s_table_view_base.s_compound_widget.s_widget.py_refs.Add(item); @@ -88,7 +115,8 @@ static int ue_py_spython_tree_view_init(ue_PySPythonTreeView *self, PyObject *ar return 0; } -void ue_python_init_spython_tree_view(PyObject *ue_module) { +void ue_python_init_spython_tree_view(PyObject *ue_module) +{ ue_PySPythonTreeViewType.tp_init = (initproc)ue_py_spython_tree_view_init; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonTreeView.h b/Source/UnrealEnginePython/Private/Slate/UEPySPythonTreeView.h index 911fd78d3..4c20d9e1c 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonTreeView.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonTreeView.h @@ -6,14 +6,19 @@ extern PyTypeObject ue_PySPythonTreeViewType; -class SPythonTreeView : public STreeView> { +class SPythonTreeView : public STreeView> +{ public: - ~SPythonTreeView() { + ~SPythonTreeView() + { delete(ItemsSource); } + + void SetPythonItemExpansion(PyObject *item, bool InShouldExpandItem); }; -typedef struct { +typedef struct +{ ue_PySTreeView s_tree_view; /* Type-specific fields go here. */ } ue_PySPythonTreeView; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySTreeView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySTreeView.cpp index 6f5f93679..a89b178ed 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySTreeView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySTreeView.cpp @@ -3,8 +3,23 @@ #include "UEPySTreeView.h" +#define sw_tree_view StaticCastSharedRef>>(self->s_list_view.s_table_view_base.s_compound_widget.s_widget.s_widget) + +static PyObject *py_ue_stree_view_request_tree_refresh(ue_PySTreeView *self, PyObject * args) +{ + sw_tree_view->RequestTreeRefresh(); + Py_RETURN_NONE; +} + +static PyObject *py_ue_stree_view_clear_expanded_items(ue_PySTreeView *self, PyObject * args) +{ + sw_tree_view->ClearExpandedItems(); + Py_RETURN_NONE; +} static PyMethodDef ue_PySTreeView_methods[] = { + { "request_tree_refresh", (PyCFunction)py_ue_stree_view_request_tree_refresh, METH_VARARGS, "" }, + { "clear_expanded_items", (PyCFunction)py_ue_stree_view_clear_expanded_items, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; @@ -40,7 +55,8 @@ PyTypeObject ue_PySTreeViewType = { }; -void ue_python_init_stree_view(PyObject *ue_module) { +void ue_python_init_stree_view(PyObject *ue_module) +{ ue_PySTreeViewType.tp_base = &ue_PySListViewType; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp index 1a39e5954..76eb7c792 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp @@ -3,7 +3,8 @@ #include "UEPySWidget.h" -static PyObject *ue_PySWidget_str(ue_PySWidget *self) { +static PyObject *ue_PySWidget_str(ue_PySWidget *self) +{ #if PY_MAJOR_VERSION >= 3 return PyUnicode_FromFormat("", TCHAR_TO_UTF8(*self->s_widget->GetTypeAsString()), &self->s_widget.Get(), self->s_widget.GetSharedReferenceCount(), self->ob_base.ob_refcnt); @@ -13,10 +14,12 @@ static PyObject *ue_PySWidget_str(ue_PySWidget *self) { #endif } -static PyObject *py_ue_swidget_get_children(ue_PySWidget *self, PyObject * args) { +static PyObject *py_ue_swidget_get_children(ue_PySWidget *self, PyObject * args) +{ FChildren *children = self->s_widget->GetChildren(); PyObject *py_list = PyList_New(0); - for (int32 i = 0; i < children->Num(); i++) { + for (int32 i = 0; i < children->Num(); i++) + { TSharedRef widget = children->GetChildAt(i); PyObject *item = (PyObject *)ue_py_get_swidget(widget); PyList_Append(py_list, item); @@ -25,9 +28,11 @@ static PyObject *py_ue_swidget_get_children(ue_PySWidget *self, PyObject * args) return py_list; } -static PyObject *py_ue_swidget_set_tooltip_text(ue_PySWidget *self, PyObject * args) { +static PyObject *py_ue_swidget_set_tooltip_text(ue_PySWidget *self, PyObject * args) +{ char *text; - if (!PyArg_ParseTuple(args, "s:set_tooltip_text", &text)) { + if (!PyArg_ParseTuple(args, "s:set_tooltip_text", &text)) + { return NULL; } @@ -37,9 +42,11 @@ static PyObject *py_ue_swidget_set_tooltip_text(ue_PySWidget *self, PyObject * a return (PyObject *)self; } -static PyObject *py_ue_swidget_set_cursor(ue_PySWidget *self, PyObject * args) { +static PyObject *py_ue_swidget_set_cursor(ue_PySWidget *self, PyObject * args) +{ int cursor; - if (!PyArg_ParseTuple(args, "i:set_cursor", &cursor)) { + if (!PyArg_ParseTuple(args, "i:set_cursor", &cursor)) + { return NULL; } @@ -49,9 +56,11 @@ static PyObject *py_ue_swidget_set_cursor(ue_PySWidget *self, PyObject * args) { return (PyObject *)self; } -static PyObject *py_ue_swidget_set_enabled(ue_PySWidget *self, PyObject * args) { +static PyObject *py_ue_swidget_set_enabled(ue_PySWidget *self, PyObject * args) +{ PyObject *py_bool; - if (!PyArg_ParseTuple(args, "O:set_enabled", &py_bool)) { + if (!PyArg_ParseTuple(args, "O:set_enabled", &py_bool)) + { return NULL; } @@ -62,13 +71,16 @@ static PyObject *py_ue_swidget_set_enabled(ue_PySWidget *self, PyObject * args) } #if ENGINE_MINOR_VERSION > 12 -static PyObject *py_ue_swidget_bind_on_mouse_button_down(ue_PySWidget *self, PyObject * args) { +static PyObject *py_ue_swidget_bind_on_mouse_button_down(ue_PySWidget *self, PyObject * args) +{ PyObject *py_callable; - if (!PyArg_ParseTuple(args, "O:bind_on_mouse_button_down", &py_callable)) { + if (!PyArg_ParseTuple(args, "O:bind_on_mouse_button_down", &py_callable)) + { return NULL; } - if (!PyCallable_Check(py_callable)) { + if (!PyCallable_Check(py_callable)) + { return PyErr_Format(PyExc_Exception, "argument is not callable"); } @@ -84,13 +96,16 @@ static PyObject *py_ue_swidget_bind_on_mouse_button_down(ue_PySWidget *self, PyO return (PyObject *)self; } -static PyObject *py_ue_swidget_bind_on_mouse_button_up(ue_PySWidget *self, PyObject * args) { +static PyObject *py_ue_swidget_bind_on_mouse_button_up(ue_PySWidget *self, PyObject * args) +{ PyObject *py_callable; - if (!PyArg_ParseTuple(args, "O:bind_on_mouse_button_up", &py_callable)) { + if (!PyArg_ParseTuple(args, "O:bind_on_mouse_button_up", &py_callable)) + { return NULL; } - if (!PyCallable_Check(py_callable)) { + if (!PyCallable_Check(py_callable)) + { return PyErr_Format(PyExc_Exception, "argument is not callable"); } @@ -106,13 +121,16 @@ static PyObject *py_ue_swidget_bind_on_mouse_button_up(ue_PySWidget *self, PyObj return (PyObject *)self; } -static PyObject *py_ue_swidget_bind_on_mouse_double_click(ue_PySWidget *self, PyObject * args) { +static PyObject *py_ue_swidget_bind_on_mouse_double_click(ue_PySWidget *self, PyObject * args) +{ PyObject *py_callable; - if (!PyArg_ParseTuple(args, "O:bind_on_mouse_double_click", &py_callable)) { + if (!PyArg_ParseTuple(args, "O:bind_on_mouse_double_click", &py_callable)) + { return NULL; } - if (!PyCallable_Check(py_callable)) { + if (!PyCallable_Check(py_callable)) + { return PyErr_Format(PyExc_Exception, "argument is not callable"); } @@ -128,13 +146,16 @@ static PyObject *py_ue_swidget_bind_on_mouse_double_click(ue_PySWidget *self, Py return (PyObject *)self; } -static PyObject *py_ue_swidget_bind_on_mouse_move(ue_PySWidget *self, PyObject * args) { +static PyObject *py_ue_swidget_bind_on_mouse_move(ue_PySWidget *self, PyObject * args) +{ PyObject *py_callable; - if (!PyArg_ParseTuple(args, "O:bind_on_mouse_move", &py_callable)) { + if (!PyArg_ParseTuple(args, "O:bind_on_mouse_move", &py_callable)) + { return NULL; } - if (!PyCallable_Check(py_callable)) { + if (!PyCallable_Check(py_callable)) + { return PyErr_Format(PyExc_Exception, "argument is not callable"); } @@ -152,9 +173,11 @@ static PyObject *py_ue_swidget_bind_on_mouse_move(ue_PySWidget *self, PyObject * #endif -static PyObject *py_ue_swidget_has_keyboard_focus(ue_PySWidget *self, PyObject * args) { +static PyObject *py_ue_swidget_has_keyboard_focus(ue_PySWidget *self, PyObject * args) +{ - if (self->s_widget->HasKeyboardFocus()) { + if (self->s_widget->HasKeyboardFocus()) + { Py_INCREF(Py_True); return Py_True; } @@ -163,14 +186,27 @@ static PyObject *py_ue_swidget_has_keyboard_focus(ue_PySWidget *self, PyObject * return Py_False; } -static PyObject *py_ue_swidget_get_type(ue_PySWidget *self, PyObject * args) { +static PyObject *py_ue_swidget_get_type(ue_PySWidget *self, PyObject * args) +{ return PyUnicode_FromString(TCHAR_TO_UTF8(*(self->s_widget->GetTypeAsString()))); } -static PyObject *py_ue_swidget_get_shared_reference_count(ue_PySWidget *self, PyObject * args) { +static PyObject *py_ue_swidget_get_shared_reference_count(ue_PySWidget *self, PyObject * args) +{ return PyLong_FromLong(self->s_widget.GetSharedReferenceCount()); } +static PyObject *py_ue_swidget_invalidate(ue_PySWidget *self, PyObject * args) +{ + int invalidate_mode = 0; + if (!PyArg_ParseTuple(args, "|i:invalidate", &invalidate_mode)) + { + return nullptr; + } + self->s_widget->Invalidate((EInvalidateWidget)invalidate_mode); + Py_RETURN_NONE; +} + static PyMethodDef ue_PySWidget_methods[] = { { "get_shared_reference_count", (PyCFunction)py_ue_swidget_get_shared_reference_count, METH_VARARGS, "" }, { "get_children", (PyCFunction)py_ue_swidget_get_children, METH_VARARGS, "" }, @@ -179,6 +215,7 @@ static PyMethodDef ue_PySWidget_methods[] = { { "set_cursor", (PyCFunction)py_ue_swidget_set_cursor, METH_VARARGS, "" }, { "set_enabled", (PyCFunction)py_ue_swidget_set_enabled, METH_VARARGS, "" }, { "has_keyboard_focus", (PyCFunction)py_ue_swidget_has_keyboard_focus, METH_VARARGS, "" }, + { "invalidate", (PyCFunction)py_ue_swidget_invalidate, METH_VARARGS, "" }, #if ENGINE_MINOR_VERSION > 12 { "bind_on_mouse_button_down", (PyCFunction)py_ue_swidget_bind_on_mouse_button_down, METH_VARARGS, "" }, { "bind_on_mouse_button_up", (PyCFunction)py_ue_swidget_bind_on_mouse_button_down, METH_VARARGS, "" }, @@ -188,30 +225,36 @@ static PyMethodDef ue_PySWidget_methods[] = { { NULL } /* Sentinel */ }; -static void ue_PySWidgett_dealloc(ue_PySWidget *self) { +static void ue_PySWidgett_dealloc(ue_PySWidget *self) +{ #if defined(UEPY_MEMORY_DEBUG) UE_LOG(LogPython, Warning, TEXT("Destroying ue_PySWidget %p mapped to %s %p (slate refcount: %d)"), self, *self->s_widget->GetTypeAsString(), &self->s_widget.Get(), self->s_widget.GetSharedReferenceCount()); #endif Py_DECREF(self->py_dict); - for (UPythonSlateDelegate *item : self->delegates) { + for (UPythonSlateDelegate *item : self->delegates) + { if (item->IsValidLowLevel() && item->IsRooted()) item->RemoveFromRoot(); } - for (ue_PySWidget *item : self->py_swidget_slots) { + for (ue_PySWidget *item : self->py_swidget_slots) + { Py_DECREF(item); } // decref content (if any) Py_XDECREF(self->py_swidget_content); - for (PyObject *item : self->py_refs) { + for (PyObject *item : self->py_refs) + { Py_DECREF(item); } ue_py_unregister_swidget(&self->s_widget.Get()); // decrement widget reference count // but only if python vm is still fully active (hack to avoid crashes on editor shutdown) - if (Py_IsInitialized()) { + if (Py_IsInitialized()) + { self->s_widget = SNullWidget::NullWidget; } - else { + else + { UE_LOG(LogPython, Warning, TEXT("Python VM is being destroyed, skipping ue_PySWidget destruction")); } Py_TYPE(self)->tp_free((PyObject *)self); @@ -255,14 +298,16 @@ ue_PySWidget_new(PyTypeObject *type, PyObject *args, PyObject *kwds) ue_PySWidget *self; self = (ue_PySWidget *)type->tp_alloc(type, 0); - if (self != NULL) { + if (self != NULL) + { ue_py_setup_swidget(self); } return (PyObject *)self; } -void ue_python_init_swidget(PyObject *ue_module) { +void ue_python_init_swidget(PyObject *ue_module) +{ ue_PySWidgetType.tp_new = ue_PySWidget_new; ue_PySWidgetType.tp_getattro = PyObject_GenericGetAttr; @@ -276,7 +321,8 @@ void ue_python_init_swidget(PyObject *ue_module) { PyModule_AddObject(ue_module, "SWidget", (PyObject *)&ue_PySWidgetType); } -ue_PySWidget *py_ue_is_swidget(PyObject *obj) { +ue_PySWidget *py_ue_is_swidget(PyObject *obj) +{ if (!PyObject_IsInstance(obj, (PyObject *)&ue_PySWidgetType)) return nullptr; return (ue_PySWidget *)obj; diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index ad0b98008..daa4cc51d 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -8,9 +8,11 @@ -PyObject *py_unreal_engine_log(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_log(PyObject * self, PyObject * args) +{ PyObject *py_message; - if (!PyArg_ParseTuple(args, "O:log", &py_message)) { + if (!PyArg_ParseTuple(args, "O:log", &py_message)) + { return NULL; } @@ -25,9 +27,11 @@ PyObject *py_unreal_engine_log(PyObject * self, PyObject * args) { return Py_None; } -PyObject *py_unreal_engine_log_warning(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_log_warning(PyObject * self, PyObject * args) +{ PyObject *py_message; - if (!PyArg_ParseTuple(args, "O:log_warning", &py_message)) { + if (!PyArg_ParseTuple(args, "O:log_warning", &py_message)) + { return NULL; } @@ -42,9 +46,11 @@ PyObject *py_unreal_engine_log_warning(PyObject * self, PyObject * args) { return Py_None; } -PyObject *py_unreal_engine_log_error(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_log_error(PyObject * self, PyObject * args) +{ PyObject *py_message; - if (!PyArg_ParseTuple(args, "O:log_error", &py_message)) { + if (!PyArg_ParseTuple(args, "O:log_error", &py_message)) + { return NULL; } @@ -59,15 +65,18 @@ PyObject *py_unreal_engine_log_error(PyObject * self, PyObject * args) { return Py_None; } -PyObject *py_unreal_engine_add_on_screen_debug_message(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_add_on_screen_debug_message(PyObject * self, PyObject * args) +{ int key; float time_to_display; PyObject *py_message; - if (!PyArg_ParseTuple(args, "ifO:add_on_screen_debug_message", &key, &time_to_display, &py_message)) { + if (!PyArg_ParseTuple(args, "ifO:add_on_screen_debug_message", &key, &time_to_display, &py_message)) + { return NULL; } - if (!GEngine) { + if (!GEngine) + { Py_INCREF(Py_None); return Py_None; } @@ -85,22 +94,26 @@ PyObject *py_unreal_engine_add_on_screen_debug_message(PyObject * self, PyObject return Py_None; } -PyObject *py_unreal_engine_print_string(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_print_string(PyObject * self, PyObject * args) +{ PyObject *py_message; float timeout = 2.0; PyObject *py_color = nullptr; - if (!PyArg_ParseTuple(args, "O|fO:print_string", &py_message, &timeout, &py_color)) { + if (!PyArg_ParseTuple(args, "O|fO:print_string", &py_message, &timeout, &py_color)) + { return NULL; } - if (!GEngine) { + if (!GEngine) + { Py_RETURN_NONE; } FColor color = FColor::Cyan; - if (py_color) { + if (py_color) + { ue_PyFColor *f_color = py_ue_is_fcolor(py_color); if (!f_color) return PyErr_Format(PyExc_Exception, "argument is not a FColor"); @@ -119,7 +132,8 @@ PyObject *py_unreal_engine_print_string(PyObject * self, PyObject * args) { Py_RETURN_NONE; } -PyObject *py_unreal_engine_get_forward_vector(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_get_forward_vector(PyObject * self, PyObject * args) +{ FRotator rot; if (!py_ue_rotator_arg(args, rot)) return NULL; @@ -127,7 +141,8 @@ PyObject *py_unreal_engine_get_forward_vector(PyObject * self, PyObject * args) return py_ue_new_fvector(vec); } -PyObject *py_unreal_engine_get_right_vector(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_get_right_vector(PyObject * self, PyObject * args) +{ FRotator rot; if (!py_ue_rotator_arg(args, rot)) return NULL; @@ -135,7 +150,8 @@ PyObject *py_unreal_engine_get_right_vector(PyObject * self, PyObject * args) { return py_ue_new_fvector(vec); } -PyObject *py_unreal_engine_get_up_vector(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_get_up_vector(PyObject * self, PyObject * args) +{ FRotator rot; if (!py_ue_rotator_arg(args, rot)) return NULL; @@ -143,53 +159,66 @@ PyObject *py_unreal_engine_get_up_vector(PyObject * self, PyObject * args) { return py_ue_new_fvector(vec); } -PyObject *py_unreal_engine_get_content_dir(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_get_content_dir(PyObject * self, PyObject * args) +{ return PyUnicode_FromString(TCHAR_TO_UTF8(*FPaths::GameContentDir())); } -PyObject *py_unreal_engine_get_game_saved_dir(PyObject * self, PyObject * args) { - return PyUnicode_FromString(TCHAR_TO_UTF8(*FPaths::GameSavedDir())); +PyObject *py_unreal_engine_get_game_saved_dir(PyObject * self, PyObject * args) +{ + return PyUnicode_FromString(TCHAR_TO_UTF8(*FPaths::GameSavedDir())); } -PyObject * py_unreal_engine_get_game_user_developer_dir(PyObject *, PyObject *) { - return PyUnicode_FromString(TCHAR_TO_UTF8(*FPaths::GameUserDeveloperDir())); +PyObject * py_unreal_engine_get_game_user_developer_dir(PyObject *, PyObject *) +{ + return PyUnicode_FromString(TCHAR_TO_UTF8(*FPaths::GameUserDeveloperDir())); } -PyObject *py_unreal_engine_convert_relative_path_to_full(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_convert_relative_path_to_full(PyObject * self, PyObject * args) +{ char *path; - if (!PyArg_ParseTuple(args, "s:convert_relative_path_to_full", &path)) { + if (!PyArg_ParseTuple(args, "s:convert_relative_path_to_full", &path)) + { return NULL; } return PyUnicode_FromString(TCHAR_TO_UTF8(*FPaths::ConvertRelativePathToFull(UTF8_TO_TCHAR(path)))); } -PyObject *py_unreal_engine_object_path_to_package_name(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_object_path_to_package_name(PyObject * self, PyObject * args) +{ char *path; - if (!PyArg_ParseTuple(args, "s:object_path_to_package_name", &path)) { + if (!PyArg_ParseTuple(args, "s:object_path_to_package_name", &path)) + { return NULL; } return PyUnicode_FromString(TCHAR_TO_UTF8(*FPackageName::ObjectPathToPackageName(UTF8_TO_TCHAR(path)))); } -PyObject *py_unreal_engine_get_path(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_get_path(PyObject * self, PyObject * args) +{ char *path; - if (!PyArg_ParseTuple(args, "s:get_path", &path)) { + if (!PyArg_ParseTuple(args, "s:get_path", &path)) + { return NULL; } return PyUnicode_FromString(TCHAR_TO_UTF8(*FPaths::GetPath(UTF8_TO_TCHAR(path)))); } -PyObject *py_unreal_engine_get_base_filename(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_get_base_filename(PyObject * self, PyObject * args) +{ char *path; - if (!PyArg_ParseTuple(args, "s:get_base_filename", &path)) { + if (!PyArg_ParseTuple(args, "s:get_base_filename", &path)) + { return NULL; } return PyUnicode_FromString(TCHAR_TO_UTF8(*FPaths::GetBaseFilename(UTF8_TO_TCHAR(path)))); } -PyObject *py_unreal_engine_create_world(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_create_world(PyObject * self, PyObject * args) +{ int world_type = 0; - if (!PyArg_ParseTuple(args, "|i:create_world", &world_type)) { + if (!PyArg_ParseTuple(args, "|i:create_world", &world_type)) + { return NULL; } @@ -202,9 +231,11 @@ PyObject *py_unreal_engine_create_world(PyObject * self, PyObject * args) { return (PyObject *)ret; } -PyObject *py_unreal_engine_find_class(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_find_class(PyObject * self, PyObject * args) +{ char *name; - if (!PyArg_ParseTuple(args, "s:find_class", &name)) { + if (!PyArg_ParseTuple(args, "s:find_class", &name)) + { return NULL; } @@ -220,9 +251,11 @@ PyObject *py_unreal_engine_find_class(PyObject * self, PyObject * args) { return (PyObject *)ret; } -PyObject *py_unreal_engine_find_enum(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_find_enum(PyObject * self, PyObject * args) +{ char *name; - if (!PyArg_ParseTuple(args, "s:find_enum", &name)) { + if (!PyArg_ParseTuple(args, "s:find_enum", &name)) + { return NULL; } @@ -239,9 +272,11 @@ PyObject *py_unreal_engine_find_enum(PyObject * self, PyObject * args) { } -PyObject *py_unreal_engine_load_package(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_load_package(PyObject * self, PyObject * args) +{ char *name; - if (!PyArg_ParseTuple(args, "s:load_package", &name)) { + if (!PyArg_ParseTuple(args, "s:load_package", &name)) + { return nullptr; } @@ -257,10 +292,12 @@ PyObject *py_unreal_engine_load_package(PyObject * self, PyObject * args) { return (PyObject *)ret; } -PyObject *py_unreal_engine_load_class(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_load_class(PyObject * self, PyObject * args) +{ char *name; char *filename = nullptr; - if (!PyArg_ParseTuple(args, "s|s:load_class", &name, &filename)) { + if (!PyArg_ParseTuple(args, "s|s:load_class", &name, &filename)) + { return NULL; } @@ -280,10 +317,12 @@ PyObject *py_unreal_engine_load_class(PyObject * self, PyObject * args) { return (PyObject *)ret; } -PyObject *py_unreal_engine_load_enum(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_load_enum(PyObject * self, PyObject * args) +{ char *name; char *filename = nullptr; - if (!PyArg_ParseTuple(args, "s|s:load_enum", &name, &filename)) { + if (!PyArg_ParseTuple(args, "s|s:load_enum", &name, &filename)) + { return NULL; } @@ -303,9 +342,11 @@ PyObject *py_unreal_engine_load_enum(PyObject * self, PyObject * args) { return (PyObject *)ret; } -PyObject *py_unreal_engine_find_struct(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_find_struct(PyObject * self, PyObject * args) +{ char *name; - if (!PyArg_ParseTuple(args, "s:find_struct", &name)) { + if (!PyArg_ParseTuple(args, "s:find_struct", &name)) + { return NULL; } @@ -322,10 +363,12 @@ PyObject *py_unreal_engine_find_struct(PyObject * self, PyObject * args) { } -PyObject *py_unreal_engine_load_struct(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_load_struct(PyObject * self, PyObject * args) +{ char *name; char *filename = nullptr; - if (!PyArg_ParseTuple(args, "s|s:load_struct", &name, &filename)) { + if (!PyArg_ParseTuple(args, "s|s:load_struct", &name, &filename)) + { return NULL; } @@ -347,20 +390,24 @@ PyObject *py_unreal_engine_load_struct(PyObject * self, PyObject * args) { } -PyObject *py_unreal_engine_load_object(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_load_object(PyObject * self, PyObject * args) +{ PyObject *obj; char *name; char *filename = nullptr; - if (!PyArg_ParseTuple(args, "Os|s:load_object", &obj, &name, &filename)) { + if (!PyArg_ParseTuple(args, "Os|s:load_object", &obj, &name, &filename)) + { return NULL; } - if (!ue_is_pyuobject(obj)) { + if (!ue_is_pyuobject(obj)) + { return PyErr_Format(PyExc_Exception, "argument is not a UObject"); } ue_PyUObject *py_obj = (ue_PyUObject *)obj; - if (!py_obj->ue_object->IsA()) { + if (!py_obj->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "argument is not a UClass"); } @@ -383,31 +430,37 @@ PyObject *py_unreal_engine_load_object(PyObject * self, PyObject * args) { } -PyObject *py_unreal_engine_string_to_guid(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_string_to_guid(PyObject * self, PyObject * args) +{ char *str; - if (!PyArg_ParseTuple(args, "s:string_to_guid", &str)) { + if (!PyArg_ParseTuple(args, "s:string_to_guid", &str)) + { return NULL; } FGuid guid; - if (FGuid::Parse(FString(str), guid)) { + if (FGuid::Parse(FString(str), guid)) + { return py_ue_new_uscriptstruct(FindObject(ANY_PACKAGE, UTF8_TO_TCHAR((char *)"Guid")), (uint8 *)&guid); } return PyErr_Format(PyExc_Exception, "unable to build FGuid"); } -PyObject *py_unreal_engine_slate_tick(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_slate_tick(PyObject * self, PyObject * args) +{ FSlateApplication::Get().PumpMessages(); FSlateApplication::Get().Tick(); Py_RETURN_NONE; } -PyObject *py_unreal_engine_engine_tick(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_engine_tick(PyObject * self, PyObject * args) +{ float delta_seconds = FApp::GetDeltaTime(); PyObject *py_bool = nullptr; - if (!PyArg_ParseTuple(args, "|fO:engine_tick", &delta_seconds, &py_bool)) { + if (!PyArg_ParseTuple(args, "|fO:engine_tick", &delta_seconds, &py_bool)) + { return NULL; } @@ -416,14 +469,17 @@ PyObject *py_unreal_engine_engine_tick(PyObject * self, PyObject * args) { Py_RETURN_NONE; } -PyObject *py_unreal_engine_get_delta_time(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_get_delta_time(PyObject * self, PyObject * args) +{ return PyFloat_FromDouble(FApp::GetDeltaTime()); } -PyObject *py_unreal_engine_find_object(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_find_object(PyObject * self, PyObject * args) +{ char *name; - if (!PyArg_ParseTuple(args, "s:find_object", &name)) { + if (!PyArg_ParseTuple(args, "s:find_object", &name)) + { return NULL; } @@ -440,16 +496,19 @@ PyObject *py_unreal_engine_find_object(PyObject * self, PyObject * args) { } -PyObject *py_unreal_engine_new_object(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_new_object(PyObject * self, PyObject * args) +{ PyObject *obj; PyObject *py_outer = NULL; char *name = nullptr; - if (!PyArg_ParseTuple(args, "O|Os:new_object", &obj, &py_outer, &name)) { + if (!PyArg_ParseTuple(args, "O|Os:new_object", &obj, &py_outer, &name)) + { return NULL; } - if (!ue_is_pyuobject(obj)) { + if (!ue_is_pyuobject(obj)) + { return PyErr_Format(PyExc_Exception, "argument is not a UObject"); } @@ -462,14 +521,17 @@ PyObject *py_unreal_engine_new_object(PyObject * self, PyObject * args) { FName f_name = NAME_None; - if (name && strlen(name) > 0) { + if (name && strlen(name) > 0) + { f_name = FName(UTF8_TO_TCHAR(name)); } UObject *outer = GetTransientPackage(); - if (py_outer && py_outer != Py_None) { - if (!ue_is_pyuobject(py_outer)) { + if (py_outer && py_outer != Py_None) + { + if (!ue_is_pyuobject(py_outer)) + { return PyErr_Format(PyExc_Exception, "argument is not a UObject"); } @@ -491,14 +553,17 @@ PyObject *py_unreal_engine_new_object(PyObject * self, PyObject * args) { return (PyObject *)ret; } -PyObject *py_unreal_engine_get_mutable_default(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_get_mutable_default(PyObject * self, PyObject * args) +{ PyObject *obj; - if (!PyArg_ParseTuple(args, "O|Os:new_object", &obj)) { + if (!PyArg_ParseTuple(args, "O|Os:new_object", &obj)) + { return NULL; } - if (!ue_is_pyuobject(obj)) { + if (!ue_is_pyuobject(obj)) + { return PyErr_Format(PyExc_Exception, "argument is not a UObject"); } @@ -521,18 +586,22 @@ PyObject *py_unreal_engine_get_mutable_default(PyObject * self, PyObject * args) } -PyObject *py_unreal_engine_new_class(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_new_class(PyObject * self, PyObject * args) +{ PyObject *py_parent; char *name; - if (!PyArg_ParseTuple(args, "Os:new_class", &py_parent, &name)) { + if (!PyArg_ParseTuple(args, "Os:new_class", &py_parent, &name)) + { return NULL; } UClass *parent = nullptr; - if (py_parent != Py_None) { - if (!ue_is_pyuobject(py_parent)) { + if (py_parent != Py_None) + { + if (!ue_is_pyuobject(py_parent)) + { return PyErr_Format(PyExc_Exception, "argument is not a UObject"); } ue_PyUObject *py_obj = (ue_PyUObject *)py_parent; @@ -552,11 +621,28 @@ PyObject *py_unreal_engine_new_class(PyObject * self, PyObject * args) { return (PyObject *)ret; } -PyObject *py_unreal_engine_all_classes(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_all_classes(PyObject * self, PyObject * args) +{ + + PyObject *ret = PyList_New(0); + + for (TObjectIterator Itr; Itr; ++Itr) + { + ue_PyUObject *py_obj = ue_get_python_wrapper(*Itr); + if (!py_obj) + continue; + PyList_Append(ret, (PyObject *)py_obj); + } + return ret; +} + +PyObject *py_unreal_engine_all_worlds(PyObject * self, PyObject * args) +{ PyObject *ret = PyList_New(0); - for (TObjectIterator Itr; Itr; ++Itr) { + for (TObjectIterator Itr; Itr; ++Itr) + { ue_PyUObject *py_obj = ue_get_python_wrapper(*Itr); if (!py_obj) continue; @@ -565,9 +651,40 @@ PyObject *py_unreal_engine_all_classes(PyObject * self, PyObject * args) { return ret; } -PyObject *py_unreal_engine_create_and_dispatch_when_ready(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_tobject_iterator(PyObject * self, PyObject * args) +{ + + PyObject *py_class; + if (!PyArg_ParseTuple(args, "O:tobject_iterator", &py_class)) + { + return NULL; + } + + UClass *u_class = ue_py_check_type(py_class); + if (!u_class) + { + return PyErr_Format(PyExc_TypeError, "argument is not a UClass"); + } + + PyObject *ret = PyList_New(0); + + for (TObjectIterator Itr; Itr; ++Itr) + { + if (!(*Itr)->IsA(u_class)) + continue; + ue_PyUObject *py_obj = ue_get_python_wrapper(*Itr); + if (!py_obj) + continue; + PyList_Append(ret, (PyObject *)py_obj); + } + return ret; +} + +PyObject *py_unreal_engine_create_and_dispatch_when_ready(PyObject * self, PyObject * args) +{ PyObject *py_callable; - if (!PyArg_ParseTuple(args, "O:create_and_dispatch_when_ready", &py_callable)) { + if (!PyArg_ParseTuple(args, "O:create_and_dispatch_when_ready", &py_callable)) + { return NULL; } @@ -576,13 +693,16 @@ PyObject *py_unreal_engine_create_and_dispatch_when_ready(PyObject * self, PyObj Py_INCREF(py_callable); - FGraphEventRef task = FFunctionGraphTask::CreateAndDispatchWhenReady([&]() { + FGraphEventRef task = FFunctionGraphTask::CreateAndDispatchWhenReady([&]() + { FScopePythonGIL gil; PyObject *ret = PyObject_CallObject(py_callable, nullptr); - if (ret) { + if (ret) + { Py_DECREF(ret); } - else { + else + { unreal_engine_py_log_error(); } Py_DECREF(py_callable); @@ -596,9 +716,11 @@ PyObject *py_unreal_engine_create_and_dispatch_when_ready(PyObject * self, PyObj return Py_None; } -PyObject *py_unreal_engine_get_game_viewport_size(PyObject *self, PyObject * args) { +PyObject *py_unreal_engine_get_game_viewport_size(PyObject *self, PyObject * args) +{ - if (!GEngine->GameViewport) { + if (!GEngine->GameViewport) + { return PyErr_Format(PyExc_Exception, "unable to get GameViewport"); } @@ -609,20 +731,24 @@ PyObject *py_unreal_engine_get_game_viewport_size(PyObject *self, PyObject * arg } -PyObject *py_unreal_engine_get_resolution(PyObject *self, PyObject * args) { +PyObject *py_unreal_engine_get_resolution(PyObject *self, PyObject * args) +{ return Py_BuildValue("(ff)", GSystemResolution.ResX, GSystemResolution.ResY); } -PyObject *py_unreal_engine_get_viewport_screenshot(PyObject *self, PyObject * args) { +PyObject *py_unreal_engine_get_viewport_screenshot(PyObject *self, PyObject * args) +{ - if (!GEngine->GameViewport) { + if (!GEngine->GameViewport) + { Py_INCREF(Py_None); return Py_None; } PyObject *py_bool = nullptr; bool as_int_list = false; - if (!PyArg_ParseTuple(args, "|O:get_viewport_screenshot", &py_bool)) { + if (!PyArg_ParseTuple(args, "|O:get_viewport_screenshot", &py_bool)) + { return NULL; } @@ -634,14 +760,17 @@ PyObject *py_unreal_engine_get_viewport_screenshot(PyObject *self, PyObject * ar bool success = GetViewportScreenShot(viewport, bitmap); - if (!success) { + if (!success) + { Py_INCREF(Py_None); return Py_None; } - if (as_int_list) { + if (as_int_list) + { PyObject *bitmap_tuple = PyTuple_New(bitmap.Num() * 4); - for (int i = 0; i < bitmap.Num(); i++) { + for (int i = 0; i < bitmap.Num(); i++) + { PyTuple_SetItem(bitmap_tuple, i * 4, PyLong_FromLong(bitmap[i].R)); PyTuple_SetItem(bitmap_tuple, i * 4 + 1, PyLong_FromLong(bitmap[i].G)); PyTuple_SetItem(bitmap_tuple, i * 4 + 2, PyLong_FromLong(bitmap[i].B)); @@ -651,16 +780,19 @@ PyObject *py_unreal_engine_get_viewport_screenshot(PyObject *self, PyObject * ar } PyObject *bitmap_tuple = PyTuple_New(bitmap.Num()); - for (int i = 0; i < bitmap.Num(); i++) { + for (int i = 0; i < bitmap.Num(); i++) + { PyTuple_SetItem(bitmap_tuple, i, py_ue_new_fcolor(bitmap[i])); } return bitmap_tuple; } -PyObject *py_unreal_engine_get_viewport_size(PyObject *self, PyObject * args) { +PyObject *py_unreal_engine_get_viewport_size(PyObject *self, PyObject * args) +{ - if (!GEngine->GameViewport) { + if (!GEngine->GameViewport) + { Py_INCREF(Py_None); return Py_None; } @@ -676,17 +808,20 @@ PyObject *py_unreal_engine_get_viewport_size(PyObject *self, PyObject * args) { } #if WITH_EDITOR -PyObject *py_unreal_engine_editor_get_active_viewport_screenshot(PyObject *self, PyObject * args) { +PyObject *py_unreal_engine_editor_get_active_viewport_screenshot(PyObject *self, PyObject * args) +{ FViewport *viewport = GEditor->GetActiveViewport(); - if (!viewport) { + if (!viewport) + { Py_INCREF(Py_None); return Py_None; } PyObject *py_bool = nullptr; bool as_int_list = false; - if (!PyArg_ParseTuple(args, "|O:editor_get_active_viewport_screenshot", &py_bool)) { + if (!PyArg_ParseTuple(args, "|O:editor_get_active_viewport_screenshot", &py_bool)) + { return NULL; } @@ -697,14 +832,17 @@ PyObject *py_unreal_engine_editor_get_active_viewport_screenshot(PyObject *self, bool success = GetViewportScreenShot(viewport, bitmap); - if (!success) { + if (!success) + { Py_INCREF(Py_None); return Py_None; } - if (as_int_list) { + if (as_int_list) + { PyObject *bitmap_tuple = PyTuple_New(bitmap.Num() * 4); - for (int i = 0; i < bitmap.Num(); i++) { + for (int i = 0; i < bitmap.Num(); i++) + { PyTuple_SetItem(bitmap_tuple, i * 4, PyLong_FromLong(bitmap[i].R)); PyTuple_SetItem(bitmap_tuple, i * 4 + 1, PyLong_FromLong(bitmap[i].G)); PyTuple_SetItem(bitmap_tuple, i * 4 + 2, PyLong_FromLong(bitmap[i].B)); @@ -714,18 +852,21 @@ PyObject *py_unreal_engine_editor_get_active_viewport_screenshot(PyObject *self, } PyObject *bitmap_tuple = PyTuple_New(bitmap.Num()); - for (int i = 0; i < bitmap.Num(); i++) { + for (int i = 0; i < bitmap.Num(); i++) + { PyTuple_SetItem(bitmap_tuple, i, py_ue_new_fcolor(bitmap[i])); } return bitmap_tuple; } -PyObject *py_unreal_engine_editor_get_active_viewport_size(PyObject *self, PyObject * args) { +PyObject *py_unreal_engine_editor_get_active_viewport_size(PyObject *self, PyObject * args) +{ FViewport *viewport = GEditor->GetActiveViewport(); - if (!viewport) { + if (!viewport) + { Py_INCREF(Py_None); return Py_None; } @@ -740,17 +881,20 @@ PyObject *py_unreal_engine_editor_get_active_viewport_size(PyObject *self, PyObj return tuple_size; } -PyObject *py_unreal_engine_editor_get_pie_viewport_screenshot(PyObject *self, PyObject * args) { +PyObject *py_unreal_engine_editor_get_pie_viewport_screenshot(PyObject *self, PyObject * args) +{ FViewport *viewport = GEditor->GetPIEViewport(); - if (!viewport) { + if (!viewport) + { Py_INCREF(Py_None); return Py_None; } PyObject *py_bool = nullptr; bool as_int_list = false; - if (!PyArg_ParseTuple(args, "|O:editor_get_pie_viewport_screenshot", &py_bool)) { + if (!PyArg_ParseTuple(args, "|O:editor_get_pie_viewport_screenshot", &py_bool)) + { return NULL; } @@ -761,14 +905,17 @@ PyObject *py_unreal_engine_editor_get_pie_viewport_screenshot(PyObject *self, Py bool success = GetViewportScreenShot(viewport, bitmap); - if (!success) { + if (!success) + { Py_INCREF(Py_None); return Py_None; } - if (as_int_list) { + if (as_int_list) + { PyObject *bitmap_tuple = PyTuple_New(bitmap.Num() * 4); - for (int i = 0; i < bitmap.Num(); i++) { + for (int i = 0; i < bitmap.Num(); i++) + { PyTuple_SetItem(bitmap_tuple, i * 4, PyLong_FromLong(bitmap[i].R)); PyTuple_SetItem(bitmap_tuple, i * 4 + 1, PyLong_FromLong(bitmap[i].G)); PyTuple_SetItem(bitmap_tuple, i * 4 + 2, PyLong_FromLong(bitmap[i].B)); @@ -778,18 +925,21 @@ PyObject *py_unreal_engine_editor_get_pie_viewport_screenshot(PyObject *self, Py } PyObject *bitmap_tuple = PyTuple_New(bitmap.Num()); - for (int i = 0; i < bitmap.Num(); i++) { + for (int i = 0; i < bitmap.Num(); i++) + { PyTuple_SetItem(bitmap_tuple, i, py_ue_new_fcolor(bitmap[i])); } return bitmap_tuple; } -PyObject *py_unreal_engine_editor_get_pie_viewport_size(PyObject *self, PyObject * args) { +PyObject *py_unreal_engine_editor_get_pie_viewport_size(PyObject *self, PyObject * args) +{ FViewport *viewport = GEditor->GetPIEViewport(); - if (!viewport) { + if (!viewport) + { Py_INCREF(Py_None); return Py_None; } @@ -803,17 +953,20 @@ PyObject *py_unreal_engine_editor_get_pie_viewport_size(PyObject *self, PyObject } #endif -PyObject *py_unreal_engine_create_package(PyObject *self, PyObject * args) { +PyObject *py_unreal_engine_create_package(PyObject *self, PyObject * args) +{ char *name; - if (!PyArg_ParseTuple(args, "s:create_package", &name)) { + if (!PyArg_ParseTuple(args, "s:create_package", &name)) + { return nullptr; } UPackage *u_package = (UPackage *)StaticFindObject(nullptr, ANY_PACKAGE, UTF8_TO_TCHAR(name), true); // create a new package if it does not exist - if (u_package) { + if (u_package) + { return PyErr_Format(PyExc_Exception, "package %s already exists", TCHAR_TO_UTF8(*u_package->GetPathName())); } u_package = CreatePackage(nullptr, UTF8_TO_TCHAR(name)); @@ -831,17 +984,20 @@ PyObject *py_unreal_engine_create_package(PyObject *self, PyObject * args) { return (PyObject *)ret; } -PyObject *py_unreal_engine_get_or_create_package(PyObject *self, PyObject * args) { +PyObject *py_unreal_engine_get_or_create_package(PyObject *self, PyObject * args) +{ char *name; - if (!PyArg_ParseTuple(args, "s:get_or_create_package", &name)) { + if (!PyArg_ParseTuple(args, "s:get_or_create_package", &name)) + { return nullptr; } UPackage *u_package = (UPackage *)StaticFindObject(nullptr, ANY_PACKAGE, UTF8_TO_TCHAR(name), true); // create a new package if it does not exist - if (!u_package) { + if (!u_package) + { u_package = CreatePackage(nullptr, UTF8_TO_TCHAR(name)); if (!u_package) return PyErr_Format(PyExc_Exception, "unable to create package"); @@ -858,7 +1014,8 @@ PyObject *py_unreal_engine_get_or_create_package(PyObject *self, PyObject * args return (PyObject *)ret; } -PyObject *py_unreal_engine_get_transient_package(PyObject *self, PyObject * args) { +PyObject *py_unreal_engine_get_transient_package(PyObject *self, PyObject * args) +{ ue_PyUObject *ret = ue_get_python_wrapper(GetTransientPackage()); if (!ret) @@ -867,7 +1024,8 @@ PyObject *py_unreal_engine_get_transient_package(PyObject *self, PyObject * args return (PyObject *)ret; } -PyObject *py_unreal_engine_open_file_dialog(PyObject *self, PyObject * args) { +PyObject *py_unreal_engine_open_file_dialog(PyObject *self, PyObject * args) +{ char *title; char *default_path = (char *)""; char *default_file = (char *)""; @@ -895,18 +1053,21 @@ PyObject *py_unreal_engine_open_file_dialog(PyObject *self, PyObject * args) { FString(UTF8_TO_TCHAR(default_file)), FString(UTF8_TO_TCHAR(file_types)), (py_multiple && PyObject_IsTrue(py_multiple)) ? EFileDialogFlags::Multiple : EFileDialogFlags::None, - files)) { + files)) + { Py_RETURN_NONE; } PyObject *py_list = PyList_New(0); - for (FString file : files) { + for (FString file : files) + { PyList_Append(py_list, PyUnicode_FromString(TCHAR_TO_UTF8(*file))); } return py_list; } -PyObject *py_unreal_engine_open_directory_dialog(PyObject *self, PyObject * args) { +PyObject *py_unreal_engine_open_directory_dialog(PyObject *self, PyObject * args) +{ char *title; char *default_path = (char *)""; @@ -928,15 +1089,17 @@ PyObject *py_unreal_engine_open_directory_dialog(PyObject *self, PyObject * args if (!DesktopPlatform->OpenDirectoryDialog(ParentWindow->GetNativeWindow()->GetOSWindowHandle(), FString(UTF8_TO_TCHAR(title)), FString(UTF8_TO_TCHAR(default_path)), - choosen_dir)) { + choosen_dir)) + { Py_RETURN_NONE; } return PyUnicode_FromString(TCHAR_TO_UTF8(*choosen_dir)); } -PyObject *py_unreal_engine_open_font_dialog(PyObject *self, PyObject * args) { - +PyObject *py_unreal_engine_open_font_dialog(PyObject *self, PyObject * args) +{ + IDesktopPlatform *DesktopPlatform = FDesktopPlatformModule::Get(); if (!DesktopPlatform) return PyErr_Format(PyExc_Exception, "unable to get reference to DesktopPlatform module"); @@ -952,14 +1115,16 @@ PyObject *py_unreal_engine_open_font_dialog(PyObject *self, PyObject * args) { float height; EFontImportFlags flags; - if (!DesktopPlatform->OpenFontDialog(ParentWindow->GetNativeWindow()->GetOSWindowHandle(), font_name, height, flags)) { + if (!DesktopPlatform->OpenFontDialog(ParentWindow->GetNativeWindow()->GetOSWindowHandle(), font_name, height, flags)) + { Py_RETURN_NONE; } return Py_BuildValue((char*)"(sfi)", TCHAR_TO_UTF8(*font_name), height, flags); } -PyObject *py_unreal_engine_save_file_dialog(PyObject *self, PyObject * args) { +PyObject *py_unreal_engine_save_file_dialog(PyObject *self, PyObject * args) +{ char *title; char *default_path = (char *)""; char *default_file = (char *)""; @@ -987,13 +1152,81 @@ PyObject *py_unreal_engine_save_file_dialog(PyObject *self, PyObject * args) { FString(UTF8_TO_TCHAR(default_file)), FString(UTF8_TO_TCHAR(file_types)), (py_multiple && PyObject_IsTrue(py_multiple)) ? EFileDialogFlags::Multiple : EFileDialogFlags::None, - files)) { + files)) + { Py_RETURN_NONE; } PyObject *py_list = PyList_New(0); - for (FString file : files) { + for (FString file : files) + { PyList_Append(py_list, PyUnicode_FromString(TCHAR_TO_UTF8(*file))); } return py_list; +} + +PyObject *py_unreal_engine_copy_properties_for_unrelated_objects(PyObject * self, PyObject * args, PyObject *kwargs) +{ + + PyObject *old_py_object; + PyObject *new_py_object; + + PyObject *py_aggressive_default_subobject_replacement = nullptr; + PyObject *py_copy_deprecated_properties = nullptr; + PyObject *py_do_delta = nullptr; + PyObject *py_notify_object_replacement = nullptr; + PyObject *py_preserve_root_component = nullptr; + PyObject *py_replace_object_class_references = nullptr; + PyObject *py_skip_compiler_generated_defaults = nullptr; + + static char *kw_names[] = { + (char *)"old_object", + (char *)"new_object", + (char *)"aggressive_default_subobject_replacement", + (char *)"copy_deprecated_properties", + (char *)"do_delta", + (char *)"notify_object_replacement", + (char *)"preserve_root_component", + (char *)"replace_object_class_references", + (char *)"skip_compiler_generated_defaults", + nullptr + }; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "OO|OOOOOOO:copy_properties_for_unrelated_objects", kw_names, + &old_py_object, + &new_py_object, + &py_aggressive_default_subobject_replacement, + &py_copy_deprecated_properties, + &py_do_delta, + &py_notify_object_replacement, + &py_preserve_root_component, + &py_replace_object_class_references, + &py_skip_compiler_generated_defaults)) + { + return nullptr; + } + + UObject *old_object = ue_py_check_type(old_py_object); + if (!old_object) + return PyErr_Format(PyExc_Exception, "argument is not a UObject"); + + UObject *new_object = ue_py_check_type(new_py_object); + if (!new_object) + return PyErr_Format(PyExc_Exception, "argument is not a UObject"); + + UEngine::FCopyPropertiesForUnrelatedObjectsParams params; + params.bAggressiveDefaultSubobjectReplacement = (py_aggressive_default_subobject_replacement && PyObject_IsTrue(py_aggressive_default_subobject_replacement)); + params.bCopyDeprecatedProperties = (py_copy_deprecated_properties && PyObject_IsTrue(py_copy_deprecated_properties)); + params.bDoDelta = (py_do_delta && PyObject_IsTrue(py_do_delta)); + params.bNotifyObjectReplacement = (py_notify_object_replacement && PyObject_IsTrue(py_notify_object_replacement)); + params.bPreserveRootComponent = (py_preserve_root_component && PyObject_IsTrue(py_preserve_root_component)); + params.bReplaceObjectClassReferences = (py_replace_object_class_references && PyObject_IsTrue(py_replace_object_class_references)); + params.bSkipCompilerGeneratedDefaults = (py_skip_compiler_generated_defaults && PyObject_IsTrue(py_skip_compiler_generated_defaults)); + + GEngine->CopyPropertiesForUnrelatedObjects( + old_object, + new_object, + params); + + Py_RETURN_NONE; } \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.h b/Source/UnrealEnginePython/Private/UEPyEngine.h index 5e90ff6a4..cc1da3025 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.h +++ b/Source/UnrealEnginePython/Private/UEPyEngine.h @@ -38,6 +38,8 @@ PyObject *py_unreal_engine_slate_tick(PyObject *, PyObject *); PyObject *py_unreal_engine_get_delta_time(PyObject *, PyObject *); PyObject *py_unreal_engine_all_classes(PyObject *, PyObject *); +PyObject *py_unreal_engine_all_worlds(PyObject *, PyObject *); +PyObject *py_unreal_engine_tobject_iterator(PyObject *, PyObject *); PyObject *py_unreal_engine_new_object(PyObject *, PyObject *); @@ -67,6 +69,8 @@ PyObject *py_unreal_engine_open_font_dialog(PyObject *, PyObject *); PyObject *py_unreal_engine_open_directory_dialog(PyObject *, PyObject *); PyObject *py_unreal_engine_save_file_dialog(PyObject *, PyObject *); +PyObject *py_unreal_engine_copy_properties_for_unrelated_objects(PyObject *, PyObject *, PyObject *); + #if WITH_EDITOR PyObject *py_unreal_engine_editor_get_active_viewport_screenshot(PyObject *, PyObject *); PyObject *py_unreal_engine_editor_get_pie_viewport_screenshot(PyObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 8fb3161e9..271bedbb4 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -168,8 +168,8 @@ static PyMethodDef unreal_engine_methods[] = { { "get_right_vector", py_unreal_engine_get_right_vector, METH_VARARGS, "" }, { "get_content_dir", py_unreal_engine_get_content_dir, METH_VARARGS, "" }, - { "get_game_saved_dir", py_unreal_engine_get_game_saved_dir, METH_VARARGS, "" }, - { "get_game_user_developer_dir", py_unreal_engine_get_game_user_developer_dir, METH_VARARGS, "" }, + { "get_game_saved_dir", py_unreal_engine_get_game_saved_dir, METH_VARARGS, "" }, + { "get_game_user_developer_dir", py_unreal_engine_get_game_user_developer_dir, METH_VARARGS, "" }, { "convert_relative_path_to_full", py_unreal_engine_convert_relative_path_to_full, METH_VARARGS, "" }, { "get_path", py_unreal_engine_get_path, METH_VARARGS, "" }, @@ -310,7 +310,8 @@ static PyMethodDef unreal_engine_methods[] = { { "get_mutable_default", py_unreal_engine_get_mutable_default, METH_VARARGS, "" }, { "all_classes", (PyCFunction)py_unreal_engine_all_classes, METH_VARARGS, "" }, - + { "all_worlds", (PyCFunction)py_unreal_engine_all_worlds, METH_VARARGS, "" }, + { "tobject_iterator", (PyCFunction)py_unreal_engine_tobject_iterator, METH_VARARGS, "" }, { "new_class", py_unreal_engine_new_class, METH_VARARGS, "" }, @@ -358,6 +359,8 @@ static PyMethodDef unreal_engine_methods[] = { { "editor_take_high_res_screen_shots", py_unreal_engine_editor_take_high_res_screen_shots, METH_VARARGS, "" }, #endif +#pragma warning(suppress: 4191) + { "copy_properties_for_unrelated_objects", (PyCFunction)py_unreal_engine_copy_properties_for_unrelated_objects, METH_VARARGS | METH_KEYWORDS, "" }, { NULL, NULL }, }; @@ -2335,6 +2338,13 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) Py_DECREF(py_long); return true; } + if (auto casted_prop = Cast(prop)) + { + PyObject *py_long = PyNumber_Long(py_obj); + casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsUnsignedLong(py_long)); + Py_DECREF(py_long); + return true; + } if (auto casted_prop = Cast(prop)) { PyObject *py_long = PyNumber_Long(py_obj); @@ -2342,6 +2352,13 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) Py_DECREF(py_long); return true; } + if (auto casted_prop = Cast(prop)) + { + PyObject *py_long = PyNumber_Long(py_obj); + casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsUnsignedLongLong(py_long)); + Py_DECREF(py_long); + return true; + } if (auto casted_prop = Cast(prop)) { PyObject *py_float = PyNumber_Float(py_obj); @@ -2861,6 +2878,7 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * } } + //TODO: rdeioris: Should assert warn if u_funciton->ParmsSize != u_function->PropertiesSize bc it overflowed uint8 *buffer = (uint8 *)FMemory_Alloca(u_function->ParmsSize); FMemory::Memzero(buffer, u_function->ParmsSize); @@ -2869,7 +2887,11 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * for (; IArgs && (IArgs->PropertyFlags & CPF_Parm); ++IArgs) { UProperty *prop = *IArgs; - prop->InitializeValue_InContainer(buffer); + if (!prop->HasAnyPropertyFlags(CPF_ZeroConstructor)) + { + prop->InitializeValue_InContainer(buffer); + } + #if WITH_EDITOR FString default_key = FString("CPP_Default_") + prop->GetName(); FString default_key_value = u_function->GetMetaData(FName(*default_key)); @@ -2882,6 +2904,7 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * #endif } #endif + } Py_ssize_t tuple_len = PyTuple_Size(args); diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp index 596745400..cd3b880de 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp @@ -263,7 +263,8 @@ PyObject *py_ue_new_uscriptstruct(UScriptStruct *u_struct, uint8 *data) { ue_PyUScriptStruct *ret = (ue_PyUScriptStruct *)PyObject_New(ue_PyUScriptStruct, &ue_PyUScriptStructType); ret->u_struct = u_struct; uint8 *struct_data = (uint8*)FMemory::Malloc(u_struct->GetStructureSize()); - FMemory::Memcpy(struct_data, data, u_struct->GetStructureSize()); + ret->u_struct->InitializeStruct(struct_data); + ret->u_struct->CopyScriptStruct(struct_data, data); ret->data = struct_data; return (PyObject *)ret; } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.cpp index 285e0d2a6..758ce7163 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.cpp @@ -2,6 +2,7 @@ #include "Runtime/UMG/Public/Components/WidgetComponent.h" +#include "PyUserWidget.h" PyObject *py_ue_set_slate_widget(ue_PyUObject * self, PyObject * args) @@ -17,14 +18,22 @@ PyObject *py_ue_set_slate_widget(ue_PyUObject * self, PyObject * args) } UWidgetComponent *widget_component = ue_py_check_type(self); - if (!widget_component) - return PyErr_Format(PyExc_Exception, "uobject is not a UWidgetComponent"); + UPyUserWidget *py_user_widget = ue_py_check_type(self); + if (!widget_component && !py_user_widget) + return PyErr_Format(PyExc_Exception, "uobject is not a UWidgetComponent or UPyUserWidget"); ue_PySWidget *s_widget = py_ue_is_swidget(py_widget); if (!s_widget) return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); - widget_component->SetSlateWidget(s_widget->s_widget); + if (widget_component) + { + widget_component->SetSlateWidget(s_widget->s_widget); + } + else + { + py_user_widget->SetSlateWidget(s_widget->s_widget); + } Py_RETURN_NONE; } diff --git a/Source/UnrealEnginePython/Public/PyNativeWidgetHost.h b/Source/UnrealEnginePython/Public/PyNativeWidgetHost.h new file mode 100644 index 000000000..b80dcf93e --- /dev/null +++ b/Source/UnrealEnginePython/Public/PyNativeWidgetHost.h @@ -0,0 +1,24 @@ +// Copyright Kite & Lightning + +#pragma once + +#include "CoreMinimal.h" +#include "Components/NativeWidgetHost.h" +#include "PyNativeWidgetHost.generated.h" + +/** + * + */ +UCLASS() +class UNREALENGINEPYTHON_API UPyNativeWidgetHost : public UNativeWidgetHost +{ + GENERATED_BODY() + + + UPyNativeWidgetHost(const FObjectInitializer& ObjectInitializer); + +#if WITH_EDITOR + virtual const FText GetPaletteCategory() override; +#endif + +}; diff --git a/Source/UnrealEnginePython/Public/PyUserWidget.h b/Source/UnrealEnginePython/Public/PyUserWidget.h index 964f05cc7..3d42c3d17 100644 --- a/Source/UnrealEnginePython/Public/PyUserWidget.h +++ b/Source/UnrealEnginePython/Public/PyUserWidget.h @@ -12,7 +12,7 @@ class UPyUserWidget : public UUserWidget GENERATED_BODY() public: - + UPyUserWidget(const FObjectInitializer& ObjectInitializer); ~UPyUserWidget(); virtual void NativeConstruct() override; @@ -44,6 +44,21 @@ class UPyUserWidget : public UUserWidget UPROPERTY(EditAnywhere, Category = "Python", BlueprintReadWrite, meta = (ExposeOnSpawn = true)) bool PythonPaintForceDisabled; + UPROPERTY(EditAnywhere, Category = "Python", BlueprintReadWrite) + TWeakObjectPtr PyNativeWidgetHost; + +#if WITH_EDITOR + virtual const FText GetPaletteCategory() override; +#endif + + void SetSlateWidget(TSharedRef InContent); + virtual void ReleaseSlateResources(bool bReleaseChildren) override; + +protected: + // UWidget interface + virtual TSharedRef RebuildWidget() override; + // End of UWidget interface + private: PyObject *py_user_widget_instance; // mapped uobject, required for debug and advanced reflection diff --git a/UnrealEnginePython.uplugin b/UnrealEnginePython.uplugin index 6cbb9b4dc..5c3b2e07e 100644 --- a/UnrealEnginePython.uplugin +++ b/UnrealEnginePython.uplugin @@ -15,11 +15,11 @@ "IsBetaVersion": true, "Installed": false, "Modules": [ - { - "Name": "UnrealEnginePython", - "Type": "Editor", - "LoadingPhase": "Default" - }, + { + "Name": "UnrealEnginePython", + "Type": "Runtime", + "LoadingPhase": "Default" + }, { "Name": "PythonConsole", "Type": "Editor", @@ -36,5 +36,6 @@ "Name": "LevelSequenceEditor", "Enabled": true } - ] + ], + "BlacklistTargets": ["Server"] } From 5851564f595e48743ed27f241c3569a83cd300ca Mon Sep 17 00:00:00 2001 From: ikrima Date: Sat, 18 Nov 2017 05:00:27 -0800 Subject: [PATCH 011/538] FIX: Adding guards for 4.18 only code --- Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp index 5660715cc..3ea13d553 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp @@ -43,6 +43,7 @@ static PyObject *py_ue_fassetdata_get_thumbnail(ue_PyFAssetData *self, PyObject return py_ue_new_fobject_thumbnail(*thumbnail); } +#if ENGINE_MINOR_VERSION >= 18 static PyObject *py_ue_fassetdata_has_custom_thumbnail(ue_PyFAssetData *self, PyObject * args) { @@ -53,6 +54,7 @@ static PyObject *py_ue_fassetdata_has_custom_thumbnail(ue_PyFAssetData *self, Py Py_RETURN_TRUE; } +#endif static PyObject *py_ue_fassetdata_has_cached_thumbnail(ue_PyFAssetData *self, PyObject * args) { @@ -69,7 +71,9 @@ static PyMethodDef ue_PyFAssetData_methods[] = { { "get_asset", (PyCFunction)py_ue_fassetdata_get_asset, METH_VARARGS, "" }, { "is_asset_loaded", (PyCFunction)py_ue_fassetdata_is_asset_loaded, METH_VARARGS, "" }, { "get_thumbnail", (PyCFunction)py_ue_fassetdata_get_thumbnail, METH_VARARGS, "" }, +#if ENGINE_MINOR_VERSION >= 18 { "has_custom_thumbnail", (PyCFunction)py_ue_fassetdata_has_custom_thumbnail, METH_VARARGS, "" }, +#endif { "has_cached_thumbnail", (PyCFunction)py_ue_fassetdata_has_cached_thumbnail, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; From 369947f7769b437508eb166b740a5df2bb0646ce Mon Sep 17 00:00:00 2001 From: ikrima Date: Sat, 18 Nov 2017 05:01:26 -0800 Subject: [PATCH 012/538] Merge Fix: Adding back our custom logic for loading the plugin to guard against existing python installations --- .../Private/UObject/UEPyWidgetComponent.cpp | 10 ++---- .../Private/UnrealEnginePython.cpp | 32 +++++++++---------- 2 files changed, 18 insertions(+), 24 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.cpp index 758ce7163..a548be8f6 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.cpp @@ -26,14 +26,8 @@ PyObject *py_ue_set_slate_widget(ue_PyUObject * self, PyObject * args) if (!s_widget) return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); - if (widget_component) - { - widget_component->SetSlateWidget(s_widget->s_widget); - } - else - { - py_user_widget->SetSlateWidget(s_widget->s_widget); - } + if (widget_component) { widget_component->SetSlateWidget(s_widget->s_widget); } + else { py_user_widget->SetSlateWidget(s_widget->s_widget); } Py_RETURN_NONE; } diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index e2296bb99..29c52441a 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -159,25 +159,25 @@ void FUnrealEnginePythonModule::StartupModule() BrutalFinalize = false; // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module - FString IniValue; - if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("Home"), IniValue, GEngineIni)) { + FString PythonHome; + if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("Home"), PythonHome, GEngineIni)) { #if PY_MAJOR_VERSION >= 3 - wchar_t *home = (wchar_t *)*IniValue; + wchar_t *home = (wchar_t *)*PythonHome; #else - char *home = TCHAR_TO_UTF8(*IniValue); + char *home = TCHAR_TO_UTF8(*PythonHome); #endif - FPlatformMisc::SetEnvironmentVar(TEXT("PYTHONHOME"), *IniValue); + FPlatformMisc::SetEnvironmentVar(TEXT("PYTHONHOME"), *PythonHome); Py_SetPythonHome(home); } - if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("RelativeHome"), IniValue, GEngineIni)) { - IniValue = FPaths::Combine(*PROJECT_CONTENT_DIR, *IniValue); - FPaths::NormalizeFilename(IniValue); - IniValue = FPaths::ConvertRelativePathToFull(IniValue); + if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("RelativeHome"), PythonHome, GEngineIni)) { + PythonHome = FPaths::Combine(*PROJECT_CONTENT_DIR, *PythonHome); + FPaths::NormalizeFilename(PythonHome); + PythonHome = FPaths::ConvertRelativePathToFull(PythonHome); #if PY_MAJOR_VERSION >= 3 - wchar_t *home = (wchar_t *)*IniValue; + wchar_t *home = (wchar_t *)*PythonHome; #else - char *home = TCHAR_TO_UTF8(*IniValue); + char *home = TCHAR_TO_UTF8(*PythonHome); #endif Py_SetPythonHome(home); @@ -245,9 +245,9 @@ void FUnrealEnginePythonModule::StartupModule() // To ensure there are no path conflicts, if we have a valid python home at this point, // we override the current environment entirely with the environment we want to use, // removing any paths to other python environments we aren't using. - if (IniValue.Len() > 0) + if (PythonHome.Len() > 0) { - FPlatformMisc::SetEnvironmentVar(TEXT("PYTHONHOME"), *IniValue); + FPlatformMisc::SetEnvironmentVar(TEXT("PYTHONHOME"), *PythonHome); const int32 MaxPathVarLen = 32768; FString OrigPathVar = FString::ChrN(MaxPathVarLen, TEXT('\0')); @@ -268,9 +268,9 @@ void FUnrealEnginePythonModule::StartupModule() // Setup our own paths for PYTHONPATH TArray OurPythonPaths = { - IniValue, - FPaths::Combine(IniValue, TEXT("Lib")), - FPaths::Combine(IniValue, TEXT("Lib/site-packages")), + PythonHome, + FPaths::Combine(PythonHome, TEXT("Lib")), + FPaths::Combine(PythonHome, TEXT("Lib/site-packages")), }; FString PythonPathVars = FString::Join(OurPythonPaths, PathDelimiter); FPlatformMisc::SetEnvironmentVar(TEXT("PYTHONPATH"), *PythonPathVars); From caaedb55b157b831b9abceaf4658c3dde781a66f Mon Sep 17 00:00:00 2001 From: ikrima Date: Sat, 18 Nov 2017 06:13:13 -0800 Subject: [PATCH 013/538] FIX: Can't copy construct FToolBarBuilder because it has no default constructor. Need to placement new it to initialize it --- Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp index 684ea57c6..9099097e5 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp @@ -157,7 +157,7 @@ static PyTypeObject ue_PyFToolBarBuilderType = { }; static int ue_py_ftool_bar_builder_init(ue_PyFToolBarBuilder *self, PyObject *args, PyObject *kwargs) { - self->tool_bar_builder = FToolBarBuilder(nullptr, FMultiBoxCustomization::None); + new(&self->tool_bar_builder) FToolBarBuilder(TSharedPtr(), FMultiBoxCustomization::None); return 0; } From f794a91411c12f414fe97ce358aa1cd46e512e69 Mon Sep 17 00:00:00 2001 From: ikrima Date: Mon, 27 Nov 2017 17:17:50 -0800 Subject: [PATCH 014/538] Add sizzle reel for python plugin --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 6b6a32bb9..685c97ecf 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +# Teaser: https://twitter.com/KNLstudio/status/932657812466843648 + # UnrealEnginePython Embed Python in Unreal Engine 4 From b08942d4b6dcaff6b1e101f640beff7ad8c5828a Mon Sep 17 00:00:00 2001 From: ikrima Date: Wed, 6 Dec 2017 07:31:42 -0800 Subject: [PATCH 015/538] Extending SPythonWidget & SPythonListView for fully featured listviews in python -Add RequestListRefresh to PySlate SListView so we can update listviews without recreating them -Extending get display name to uclass objects -Adding ability to set content to spythonwidget -Adding clear_content ability as well so python defined slate widgets can manipulate their child content slots -Adding find slate style function & find icon for class so we can use built-in style sets -Helper macro to create swidgets with variadic arguments for widgets that need to be constructed with parameters (e.g. tablerow) -FIX: Adding calls to base OnPaint for SPythonWidget and returning the correct layer. Needed so child slot content can draw itself -Adding ability to Set Header Row on SPythonListView -Extending python object of SPythonListView to maintain a reference of items separate from its base .refs field We need to track these separately as we clear the item list on update -Adding generic fslate_style.get() that gets specific widget struct styles from slatestyle set (e.g. combostyle, hyperlink,editabletext,etc) -Also ability to get other style struct types such as slatecolor,fontstyle,slatebrush,etc -Adding parsing margin struct in horizontal box add_slot parsing -Adding get_icon() to fslate_icon struct -FIX: Making uy_PyFSlateIcon carry a value type of FSlateIcon and to use placement new to initialize it -FIX: Crash when OnSelectionChanged is called with null item -Add ability to generate multi column row widgets defined in python -Add ability to set idetails_view object source -Adding a ESlateEnums static class that houses all non-bp based slate enums -Adding options to detail view creation (update from selection, lockable, name_area_settings, etc -Adding EUserInterfaceAction option to menu builder -FIX: FMenuBuilder was not properly being initialized -FIX: SHeaderRow AddColumn was being passed a stack reference variable which was crashing after it went out of scope -Adding python object struct check based on IsChildOf --- .../Private/Slate/UEPyFMenuBuilder.cpp | 12 +- .../Private/Slate/UEPyFSlateIcon.cpp | 26 +++- .../Private/Slate/UEPyFSlateIcon.h | 3 +- .../Private/Slate/UEPyFSlateStyleSet.cpp | 121 ++++++++++++++- .../Private/Slate/UEPyFSlateStyleSet.h | 4 +- .../Private/Slate/UEPyFToolBarBuilder.cpp | 2 +- .../Private/Slate/UEPyIDetailsView.cpp | 96 ++++++++++++ .../Private/Slate/UEPyIDetailsView.h | 19 +++ .../Private/Slate/UEPySHeaderRow.cpp | 24 ++- .../Private/Slate/UEPySHeaderRow.h | 2 + .../Private/Slate/UEPySHorizontalBox.cpp | 4 + .../Private/Slate/UEPySListView.cpp | 2 + .../Private/Slate/UEPySPythonListView.cpp | 127 +++++++++++---- .../Private/Slate/UEPySPythonListView.h | 3 + .../Slate/UEPySPythonMultiColumnTableRow.cpp | 83 ++++++++++ .../Slate/UEPySPythonMultiColumnTableRow.h | 110 +++++++++++++ .../Private/Slate/UEPySPythonWidget.cpp | 37 ++++- .../Private/Slate/UEPySPythonWidget.h | 144 +++++++++++++++++- .../Private/Slate/UEPySTableViewBase.cpp | 15 ++ .../Private/Slate/UEPySTableViewBase.h | 4 +- .../Private/Slate/UEPySlate.cpp | 135 +++++++++++++--- .../Private/Slate/UEPySlate.h | 14 +- .../UnrealEnginePython/Private/UEPyModule.cpp | 28 ++++ .../UnrealEnginePython/Private/UEPyModule.h | 15 +- .../Private/UEPyUScriptStruct.cpp | 2 +- .../Private/UEPyUScriptStruct.h | 2 +- .../Private/UObject/UEPyObject.cpp | 7 +- .../Private/UObject/UEPySequencer.cpp | 44 ++++++ .../Private/UObject/UEPySequencer.h | 1 + .../Private/UnrealEnginePythonPrivatePCH.h | 2 + .../Private/Wrappers/UEPyESlateEnums.cpp | 96 ++++++++++++ .../Private/Wrappers/UEPyESlateEnums.h | 15 ++ 32 files changed, 1106 insertions(+), 93 deletions(-) create mode 100644 Source/UnrealEnginePython/Private/Slate/UEPyIDetailsView.cpp create mode 100644 Source/UnrealEnginePython/Private/Slate/UEPyIDetailsView.h create mode 100644 Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.cpp create mode 100644 Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h create mode 100644 Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp create mode 100644 Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.h diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp index 4519c46aa..f495a2db3 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp @@ -41,8 +41,9 @@ static PyObject *py_ue_fmenu_builder_add_menu_entry(ue_PyFMenuBuilder *self, PyO char *label; char *tooltip; PyObject *py_callable; - PyObject *py_obj = nullptr; - if (!PyArg_ParseTuple(args, "ssO|O:add_menu_entry", &label, &tooltip, &py_callable, &py_obj)) + PyObject *py_obj = nullptr; + PyObject *py_uiaction_obj = nullptr; + if (!PyArg_ParseTuple(args, "ssO|OO:add_menu_entry", &label, &tooltip, &py_callable, &py_obj, &py_uiaction_obj)) return nullptr; if (!PyCallable_Check(py_callable)) @@ -50,6 +51,7 @@ static PyObject *py_ue_fmenu_builder_add_menu_entry(ue_PyFMenuBuilder *self, PyO return PyErr_Format(PyExc_Exception, "argument is not callable"); } + FExecuteAction handler; UPythonSlateDelegate *py_delegate = NewObject(); py_delegate->SetPyCallable(py_callable); @@ -65,7 +67,9 @@ static PyObject *py_ue_fmenu_builder_add_menu_entry(ue_PyFMenuBuilder *self, PyO handler.BindUObject(py_delegate, &UPythonSlateDelegate::SimpleExecuteAction); } - self->menu_builder.AddMenuEntry(FText::FromString(UTF8_TO_TCHAR(label)), FText::FromString(UTF8_TO_TCHAR(tooltip)), FSlateIcon(), FUIAction(handler)); + ue_PyESlateEnums *py_uiaction_enum = py_uiaction_obj ? py_ue_is_eslate_enums(py_uiaction_obj) : nullptr; + self->menu_builder.AddMenuEntry(FText::FromString(UTF8_TO_TCHAR(label)), FText::FromString(UTF8_TO_TCHAR(tooltip)), FSlateIcon(), FUIAction(handler), NAME_None, + py_uiaction_enum ? (EUserInterfaceActionType::Type)(py_uiaction_enum->val) : EUserInterfaceActionType::Button); Py_RETURN_NONE; } @@ -193,7 +197,7 @@ static PyTypeObject ue_PyFMenuBuilderType = { static int ue_py_fmenu_builder_init(ue_PyFMenuBuilder *self, PyObject *args, PyObject *kwargs) { - self->menu_builder = FMenuBuilder(true, nullptr); + new(&self->menu_builder) FMenuBuilder(true, nullptr); return 0; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp index bdd0662e2..ba079ac02 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp @@ -2,14 +2,21 @@ #include "UEPyFSlateIcon.h" +static PyObject *py_ue_fslate_icon_get_icon(ue_PyFSlateIcon *self, PyObject * args) +{ + PyObject *ret = py_ue_new_uscriptstruct(FSlateBrush::StaticStruct(), (const uint8*)self->icon.GetIcon()); + return ret; +} + static PyMethodDef ue_PyFSlateIcon_methods[] = { + { "get_icon", (PyCFunction)py_ue_fslate_icon_get_icon, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; static PyObject *ue_PyFSlateIcon_str(ue_PyFSlateIcon *self) { return PyUnicode_FromFormat("", - TCHAR_TO_UTF8(*self->icon->GetStyleName().ToString())); + TCHAR_TO_UTF8(*self->icon.GetStyleName().ToString())); } static PyTypeObject ue_PyFSlateIconType = { @@ -55,10 +62,10 @@ static int ue_py_fslate_icon_init(ue_PyFSlateIcon *self, PyObject *args, PyObjec PyErr_SetString(PyExc_ValueError, "you have not specified as style name"); return -1; } - self->icon = new FSlateIcon(FName(style_set), FName(style)); + new(&self->icon) FSlateIcon(FName(style_set), FName(style)); } else { - self->icon = new FSlateIcon(); + new(&self->icon) FSlateIcon(); } return 0; } @@ -75,8 +82,15 @@ void ue_python_init_fslate_icon(PyObject *ue_module) { PyModule_AddObject(ue_module, "FSlateIcon", (PyObject *)&ue_PyFSlateIconType); } +ue_PyFSlateIcon *py_ue_new_fslate_icon(const FSlateIcon slate_icon) +{ + ue_PyFSlateIcon *ret = (ue_PyFSlateIcon *)PyObject_New(ue_PyFSlateIcon, &ue_PyFSlateIconType); + ret->icon = slate_icon; + return ret; +} + ue_PyFSlateIcon *py_ue_is_fslate_icon(PyObject *obj) { - if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyFSlateIconType)) - return nullptr; - return (ue_PyFSlateIcon *)obj; + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyFSlateIconType)) + return nullptr; + return (ue_PyFSlateIcon *)obj; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.h b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.h index bfd24f9dd..b32b07af5 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.h @@ -7,9 +7,10 @@ typedef struct { PyObject_HEAD /* Type-specific fields go here. */ - FSlateIcon *icon; + FSlateIcon icon; } ue_PyFSlateIcon; void ue_python_init_fslate_icon(PyObject *); +ue_PyFSlateIcon *py_ue_new_fslate_icon(const FSlateIcon slate_icon); ue_PyFSlateIcon *py_ue_is_fslate_icon(PyObject *); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp index 601a064e2..5a21fbf50 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp @@ -1,6 +1,8 @@ #include "UnrealEnginePythonPrivatePCH.h" #include "UEPyFSlateStyleSet.h" +#include "SlateTypes.h" +#include "Map.h" static PyObject *py_ue_fslate_style_set_set_content_root(ue_PyFSlateStyleSet *self, PyObject * args) { @@ -87,9 +89,119 @@ static PyObject *py_ue_fslate_style_set_set(ue_PyFSlateStyleSet *self, PyObject return PyErr_Format(PyExc_ValueError, "unsupported value type"); } +namespace { + template + PyObject* pyGetWidgetStyle(FSlateStyleSet& InStyle, FName PropertyName) + { + const WidgetStyleType styleWidgetStyle = InStyle.GetWidgetStyle(PropertyName); + return py_ue_new_uscriptstruct(WidgetStyleType::StaticStruct(), (const uint8*)&styleWidgetStyle); + } +} + +static PyObject *py_ue_fslate_style_set_get(ue_PyFSlateStyleSet *self, PyObject * args) +{ + if (!(self && self->style_set)) + return PyErr_Format(PyExc_Exception, "fstyleset is in invalid state"); + + char *name = nullptr; + PyObject *py_type = nullptr; + + if (!PyArg_ParseTuple(args, "sO:get", &name, &py_type)) + return NULL; + + PyObject *ret = nullptr; + + if (ue_py_check_struct(py_type)) + { + const FSlateSound& styleSound = self->style_set->GetSound(FName(name)); + ret = py_ue_new_uscriptstruct(FSlateSound::StaticStruct(), (const uint8*)&styleSound); + } + else if (ue_py_check_struct(py_type)) + { + if (const FSlateBrush* styleBrush = self->style_set->GetBrush(FName(name))) + { + ret = py_ue_new_uscriptstruct(FSlateBrush::StaticStruct(), (const uint8*)styleBrush); + } + } + else if (ue_py_check_struct(py_type)) + { + const FSlateColor styleSlateColor = self->style_set->GetSlateColor(FName(name)); + ret = py_ue_new_uscriptstruct(FSlateColor::StaticStruct(), (const uint8*)&styleSlateColor); + } + else if (ue_py_check_struct(py_type)) + { + const FSlateFontInfo styleFontInfo = self->style_set->GetFontStyle(FName(name)); + ret = py_ue_new_uscriptstruct(FSlateFontInfo::StaticStruct(), (const uint8*)&styleFontInfo); + } + else if (ue_py_check_childstruct(py_type)) + { + typedef TFunction WStyleGetter; + typedef TPair WStylePair; + static const WStylePair validWidgetStyleUStructList[] = { + WStylePair{ FTextBlockStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FButtonStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FComboButtonStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FComboBoxStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FHyperlinkStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FEditableTextStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FScrollBarStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FEditableTextBoxStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FInlineEditableTextBlockStyle::StaticStruct(), WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FProgressBarStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FExpandableAreaStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FSearchBoxStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FSliderStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FVolumeControlStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FInlineTextImageStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FSpinBoxStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FSplitterStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FTableRowStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FTableColumnHeaderStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FHeaderRowStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FDockTabStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FScrollBoxStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FScrollBorderStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + WStylePair{ FWindowStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, + }; + + for(WStylePair widgetStyleUStruct : validWidgetStyleUStructList) + { + if (do_ue_py_check_struct(py_type, widgetStyleUStruct.Key)) + { + ret = widgetStyleUStruct.Value(*self->style_set, FName(name)); + break; + } + } + + if (!ret) + { + return PyErr_Format(PyExc_ValueError, "Unsupported FSlateWidgetStyle type. Add it manually."); + } + } + else if (py_ue_is_flinearcolor(py_type)) + { + ret = py_ue_new_flinearcolor(self->style_set->GetColor(FName(name))); + } + else if (PyNumber_Check(py_type)) + { + ret = PyFloat_FromDouble(self->style_set->GetFloat(FName(name))); + } + else + { + return PyErr_Format(PyExc_ValueError, "unsupported value type"); + } + + if (!ret) + return PyErr_Format(PyExc_Exception, "Retrieved style object is in invalid state"); + + return ret; + +} + static PyMethodDef ue_PyFSlateStyleSet_methods[] = { { "set_content_root", (PyCFunction)py_ue_fslate_style_set_set_content_root, METH_VARARGS, "" }, { "set", (PyCFunction)py_ue_fslate_style_set_set, METH_VARARGS, "" }, + { "get", (PyCFunction)py_ue_fslate_style_set_get, METH_VARARGS, "" }, { "register", (PyCFunction)py_ue_fslate_style_set_register, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; @@ -139,11 +251,18 @@ static int ue_py_fslate_style_set_init(ue_PyFSlateStyleSet *self, PyObject *args { return -1; } - + //TODO: roberto: ikrimae- I think this leaks? How is FSlateIcon destroyed ever? self->style_set = new FSlateStyleSet(name); return 0; } +ue_PyFSlateStyleSet* py_ue_new_fslate_style_set(FSlateStyleSet* styleSet) +{ + ue_PyFSlateStyleSet *ret = (ue_PyFSlateStyleSet *)PyObject_New(ue_PyFSlateStyleSet, &ue_PyFSlateStyleSetType); + ret->style_set = styleSet; + return ret; +} + void ue_python_init_fslate_style_set(PyObject *ue_module) { ue_PyFSlateStyleSetType.tp_new = PyType_GenericNew; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.h b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.h index 7192ce4f7..58ffe57fd 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.h @@ -2,12 +2,12 @@ #include "UnrealEnginePython.h" -#include "Runtime/SlateCore/Public/Styling/SlateStyle.h" - typedef struct { PyObject_HEAD /* Type-specific fields go here. */ FSlateStyleSet *style_set; } ue_PyFSlateStyleSet; +ue_PyFSlateStyleSet* py_ue_new_fslate_style_set(FSlateStyleSet* styleSet); + void ue_python_init_fslate_style_set(PyObject *); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp index 9099097e5..6c3cf5fdc 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp @@ -54,7 +54,7 @@ static PyObject *py_ue_ftool_bar_builder_add_tool_bar_button(ue_PyFToolBarBuilde handler.BindUObject(py_delegate, &UPythonSlateDelegate::SimpleExecuteAction); } - self->tool_bar_builder.AddToolBarButton(FUIAction(handler), FName(hook), FText::FromString(UTF8_TO_TCHAR(label)), FText::FromString(UTF8_TO_TCHAR(tooltip)), *py_slate_icon->icon); + self->tool_bar_builder.AddToolBarButton(FUIAction(handler), FName(hook), FText::FromString(UTF8_TO_TCHAR(label)), FText::FromString(UTF8_TO_TCHAR(tooltip)), py_slate_icon->icon); Py_INCREF(Py_None); return Py_None; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyIDetailsView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyIDetailsView.cpp new file mode 100644 index 000000000..3fb5f2c1c --- /dev/null +++ b/Source/UnrealEnginePython/Private/Slate/UEPyIDetailsView.cpp @@ -0,0 +1,96 @@ + +#include "UnrealEnginePythonPrivatePCH.h" + +#if WITH_EDITOR + +#include "Editor/PropertyEditor/Public/IDetailsView.h" + +#include "UEPyIDetailsView.h" + + +#define sw_idetails_view StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) + +static PyObject *py_ue_idetails_view_set_object(ue_PyIDetailsView *self, PyObject * args, PyObject *kwargs) +{ + PyObject *py_in_obj = nullptr; + PyObject *py_force_refresh = nullptr; + + char *kwlist[] = { + (char *)"uobject", + (char *)"force_refresh", + nullptr + }; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|O:set_object", kwlist, &py_in_obj, &py_force_refresh)) + { + return nullptr; + } + + UObject *u_object = ue_py_check_type(py_in_obj); + if (!u_object) + { + return PyErr_Format(PyExc_Exception, "argument is not a UObject"); + } + + const bool bForceRefresh = py_force_refresh && PyObject_IsTrue(py_force_refresh); + + sw_idetails_view->SetObject(u_object, bForceRefresh); + + Py_RETURN_NONE; +} + +static PyMethodDef ue_PyIDetailsView_methods[] = { +#pragma warning(suppress: 4191) + { "set_object", (PyCFunction)py_ue_idetails_view_set_object, METH_VARARGS | METH_KEYWORDS, "" }, + { NULL } /* Sentinel */ +}; + +PyTypeObject ue_PyIDetailsViewType = { + PyVarObject_HEAD_INIT(NULL, 0) + "unreal_engine.IDetailsView", /* tp_name */ + sizeof(ue_PyIDetailsView), /* tp_basicsize */ + 0, /* tp_itemsize */ + 0, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ + "Unreal Engine IDetailsView", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + ue_PyIDetailsView_methods, /* tp_methods */ +}; + +void ue_python_init_idetails_view(PyObject *ue_module) +{ + ue_PyIDetailsViewType.tp_base = &ue_PySCompoundWidgetType; + + if (PyType_Ready(&ue_PyIDetailsViewType) < 0) + return; + + Py_INCREF(&ue_PyIDetailsViewType); + PyModule_AddObject(ue_module, "IDetailsView", (PyObject *)&ue_PyIDetailsViewType); +} + +ue_PyIDetailsView *py_ue_is_idetails_view(PyObject *obj) +{ + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyIDetailsViewType)) + return nullptr; + return (ue_PyIDetailsView *)obj; +} +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyIDetailsView.h b/Source/UnrealEnginePython/Private/Slate/UEPyIDetailsView.h new file mode 100644 index 000000000..b25ff89f8 --- /dev/null +++ b/Source/UnrealEnginePython/Private/Slate/UEPyIDetailsView.h @@ -0,0 +1,19 @@ +#pragma once + +#include "UnrealEnginePython.h" + +#if WITH_EDITOR +#include "UEPySCompoundWidget.h" + +extern PyTypeObject ue_PySCompoundWidgetType; + +typedef struct { + ue_PySCompoundWidget s_compound_widget; + /* Type-specific fields go here. */ +} ue_PyIDetailsView; + +void ue_python_init_idetails_view(PyObject *); + +ue_PyIDetailsView * py_ue_is_idetails_view(PyObject *obj); + +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.cpp index 760294214..a0791255b 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.cpp @@ -39,14 +39,14 @@ static PyObject *py_ue_sheader_row_add_column(ue_PySHeaderRow *self, PyObject *a if (!default_tooltip) default_tooltip = default_label; - SHeaderRow::FColumn column = SHeaderRow::Column(FName(UTF8_TO_TCHAR(column_id))) - .DefaultLabel(FText::FromString(UTF8_TO_TCHAR(default_label))) - .DefaultTooltip(FText::FromString(UTF8_TO_TCHAR(default_tooltip))) - .FixedWidth(fixed_width) - .HAlignCell((EHorizontalAlignment)cell_h_align) - .VAlignCell((EVerticalAlignment)cell_v_align); - - sw_header_row->AddColumn(column); + sw_header_row->AddColumn( + SHeaderRow::Column(FName(UTF8_TO_TCHAR(column_id))) + .DefaultLabel(FText::FromString(UTF8_TO_TCHAR(default_label))) + .DefaultTooltip(FText::FromString(UTF8_TO_TCHAR(default_tooltip))) + .FixedWidth(fixed_width) + .HAlignCell((EHorizontalAlignment)cell_h_align) + .VAlignCell((EVerticalAlignment)cell_v_align) + ); Py_INCREF(self); return (PyObject *)self; @@ -97,6 +97,7 @@ static int ue_py_sheader_row_init(ue_PySHeaderRow *self, PyObject *args, PyObjec void ue_python_init_sheader_row(PyObject *ue_module) { ue_PySHeaderRowType.tp_init = (initproc)ue_py_sheader_row_init; + ue_PySHeaderRowType.tp_call = (ternaryfunc)py_ue_sheader_row_add_column; ue_PySHeaderRowType.tp_base = &ue_PySBorderType; @@ -107,3 +108,10 @@ void ue_python_init_sheader_row(PyObject *ue_module) { PyModule_AddObject(ue_module, "SHeaderRow", (PyObject *)&ue_PySHeaderRowType); } +ue_PySHeaderRow * py_ue_is_sheader_row(PyObject *obj) +{ + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PySHeaderRowType)) + return nullptr; + return (ue_PySHeaderRow *)obj; +} + diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.h b/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.h index 0c755ab0d..0a3129456 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.h @@ -14,3 +14,5 @@ typedef struct { } ue_PySHeaderRow; void ue_python_init_sheader_row(PyObject *); + +ue_PySHeaderRow *py_ue_is_sheader_row(PyObject *); \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySHorizontalBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySHorizontalBox.cpp index ea9e138f2..e0a7332ad 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySHorizontalBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySHorizontalBox.cpp @@ -65,6 +65,10 @@ static PyObject *py_ue_shorizontal_box_add_slot(ue_PySHorizontalBox *self, PyObj } fslot.Padding(margin); } + else if (FMargin *parsed_margin = ue_py_check_struct(padding)) + { + fslot.Padding(*parsed_margin); + } else if (PyNumber_Check(padding)) { PyObject *py_float = PyNumber_Float(padding); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySListView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySListView.cpp index 463b8a088..898ecd580 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySListView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySListView.cpp @@ -3,6 +3,8 @@ #include "UEPySListView.h" +#define sw_slist_view StaticCastSharedRef>>(self->s_table_view_base.s_compound_widget.s_widget.s_widget) + static PyMethodDef ue_PySListView_methods[] = { { NULL } /* Sentinel */ }; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp index 5181efc45..8d0589caa 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp @@ -1,11 +1,15 @@ #include "UnrealEnginePythonPrivatePCH.h" -#include "Runtime/Slate/Public/Widgets/Views/SListView.h" #include "UEPySPythonListView.h" +void SPythonListView::SetHeaderRow(TSharedPtr InHeaderRowWidget) +{ + HeaderRow = InHeaderRowWidget; +} + #define sw_python_list_view StaticCastSharedRef(self->s_list_view.s_table_view_base.s_compound_widget.s_widget.s_widget) static PyObject *py_ue_spython_list_view_get_selected_items(ue_PySPythonListView *self, PyObject * args) { @@ -21,34 +25,101 @@ static PyObject *py_ue_spython_list_view_get_selected_items(ue_PySPythonListView return py_list; } -static PyObject *py_ue_spython_list_view_clear_selection(ue_PySPythonListView *self, PyObject * args) { - - +static PyObject *py_ue_spython_list_view_clear_selection(ue_PySPythonListView *self, PyObject * args) +{ sw_python_list_view->ClearSelection(); Py_INCREF(Py_None); return Py_None; - } static PyObject *py_ue_spython_list_view_get_num_items_selected(ue_PySPythonListView *self, PyObject * args) { return PyLong_FromLong(sw_python_list_view->GetNumItemsSelected()); } +static PyObject *py_ue_spython_list_view_set_header_row(ue_PySPythonListView *self, PyObject * args) +{ + PyObject *py_content; + if (!PyArg_ParseTuple(args, "O:set_header_row", &py_content)) + { + return NULL; + } + + ue_PySHeaderRow *py_sheader_row = py_ue_is_sheader_row(py_content); + if (!py_sheader_row) + { + return PyErr_Format(PyExc_Exception, "argument is not a SHeaderRow"); + } + + Py_INCREF(py_sheader_row); + sw_python_list_view->SetHeaderRow(StaticCastSharedRef(py_sheader_row->s_border.s_compound_widget.s_widget.s_widget->AsShared())); + + Py_INCREF(self); + return (PyObject *)self; +} + +static PyObject *py_spython_list_view_update_item_source_list(ue_PySPythonListView *self, PyObject * args) +{ + PyObject *values; + if (!PyArg_ParseTuple(args, "O:update_item_source_list", &values)) + { + return NULL; + } + + values = PyObject_GetIter(values); + if (!values) { + return PyErr_Format(PyExc_Exception, "argument is not an iterable"); + } + + //NOTE: ikrimae: Increment first so we don't decrement and destroy python objects that + //we're passing in e.g. if you pass the same item source array into update_items(). + //Might not be necessary but I'm not too familiar with python's GC + TArray> tempNewArray; + while (PyObject *item = PyIter_Next(values)) { + Py_INCREF(item); + tempNewArray.Add(TSharedPtr(new FPythonItem(item))); + } + + for (TSharedPtr& item : self->item_source_list) + { + Py_XDECREF(item->py_object); + } + self->item_source_list.Empty(); + + Move>>(self->item_source_list, tempNewArray); + Py_RETURN_NONE; +} static PyMethodDef ue_PySPythonListView_methods[] = { { "get_selected_items", (PyCFunction)py_ue_spython_list_view_get_selected_items, METH_VARARGS, "" }, { "get_num_items_selected", (PyCFunction)py_ue_spython_list_view_get_num_items_selected, METH_VARARGS, "" }, { "clear_selection", (PyCFunction)py_ue_spython_list_view_clear_selection, METH_VARARGS, "" }, + { "set_header_row", (PyCFunction)py_ue_spython_list_view_set_header_row, METH_VARARGS, "" }, + { "update_item_source_list", (PyCFunction)py_spython_list_view_update_item_source_list, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; +static void ue_PySPythonListView_dealloc(ue_PySPythonListView *self) +{ +#if defined(UEPY_MEMORY_DEBUG) + UE_LOG(LogPython, Warning, TEXT("Destroying ue_PySPythonListView %p"), self); +#endif + + for (TSharedPtr& item : self->item_source_list) + { + Py_XDECREF(item->py_object); + } + self->item_source_list.Empty(); + + Py_TYPE(self)->tp_free((PyObject *)self); +} + PyTypeObject ue_PySPythonListViewType = { PyVarObject_HEAD_INIT(NULL, 0) "unreal_engine.SPythonListView", /* tp_name */ sizeof(ue_PySPythonListView), /* tp_basicsize */ 0, /* tp_itemsize */ - 0, /* tp_dealloc */ + (destructor)ue_PySPythonListView_dealloc, /* tp_dealloc */ 0, /* tp_print */ 0, /* tp_getattr */ 0, /* tp_setattr */ @@ -78,29 +149,25 @@ static int ue_py_spython_list_view_init(ue_PySPythonListView *self, PyObject *ar ue_py_slate_setup_farguments(SPythonListView); - // first of all check for values - PyObject *values = ue_py_dict_get_item(kwargs, "list_items_source"); - if (!values) { - PyErr_SetString(PyExc_Exception, "you must specify list items"); - return -1; - } - - values = PyObject_GetIter(values); - if (!values) { - PyErr_SetString(PyExc_Exception, "values field is not an iterable"); - return -1; - } - - TArray> *items = new TArray>(); - while (PyObject *item = PyIter_Next(values)) { - Py_INCREF(item); - // keep track of items - self->s_list_view.s_table_view_base.s_compound_widget.s_widget.py_refs.Add(item); - items->Add(TSharedPtr(new FPythonItem(item))); - } - Py_DECREF(values); - - arguments.ListItemsSource(items); + // first of all check for values + PyObject *values = ue_py_dict_get_item(kwargs, "list_items_source"); + if (!values) { + PyErr_SetString(PyExc_Exception, "you must specify list items"); + return -1; + } + + values = PyObject_GetIter(values); + if (!values) { + Py_DECREF(values); + return -1; + } + + new(&self->item_source_list) TArray>(); + while (PyObject *item = PyIter_Next(values)) { + Py_INCREF(item); + self->item_source_list.Add(TSharedPtr(new FPythonItem(item))); + } + arguments.ListItemsSource(&self->item_source_list); ue_py_slate_farguments_optional_enum("allow_overscroll", AllowOverscroll, EAllowOverscroll); ue_py_slate_farguments_optional_bool("clear_selection_on_click", ClearSelectionOnClick); @@ -131,4 +198,4 @@ void ue_python_init_spython_list_view(PyObject *ue_module) { Py_INCREF(&ue_PySPythonListViewType); PyModule_AddObject(ue_module, "SPythonListView", (PyObject *)&ue_PySPythonListViewType); -} +} \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.h b/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.h index 31c1176b9..8e981336a 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.h @@ -11,11 +11,14 @@ class SPythonListView : public SListView> { ~SPythonListView() { delete(ItemsSource); } + + void SetHeaderRow(TSharedPtr InHeaderRowWidget); }; typedef struct { ue_PySListView s_list_view; /* Type-specific fields go here. */ + TArray> item_source_list; } ue_PySPythonListView; void ue_python_init_spython_list_view(PyObject *); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.cpp new file mode 100644 index 000000000..707e08694 --- /dev/null +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.cpp @@ -0,0 +1,83 @@ + +#include "UnrealEnginePythonPrivatePCH.h" + +#include "UEPySPythonMultiColumnTableRow.h" + + +#define sw_python_multicolumn_table_row StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) + +static PyMethodDef ue_PySPythonListView_methods[] = { + { NULL } /* Sentinel */ +}; + +PyTypeObject ue_PySPythonMultiColumnTableRowType = { + PyVarObject_HEAD_INIT(NULL, 0) + "unreal_engine.SPythonMultiColumnTableRow", /* tp_name */ + sizeof(ue_PySPythonMultiColumnTableRow), /* tp_basicsize */ + 0, /* tp_itemsize */ + 0, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ + "Unreal Engine SPythonMultiColumnTableRow", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + ue_PySPythonListView_methods, /* tp_methods */ +}; + +static int ue_py_spython_multicolumn_table_row_init(ue_PySPythonMultiColumnTableRow *self, PyObject *args, PyObject *kwargs) { + + PyObject *py_object = nullptr; + if (!PyArg_ParseTuple(args, "O", &py_object)) + { + return -1; + } + + ue_PySTableViewBase* py_owner_table_view_base = py_ue_is_stable_view_base(py_object); + if (!py_owner_table_view_base) { + PyErr_SetString(PyExc_Exception, "Argument is not a STableViewBase"); + return -1; + } + + Py_INCREF(py_owner_table_view_base); + ue_py_snew_simple_with_req_args( + SPythonMultiColumnTableRow, s_compound_widget.s_widget, + StaticCastSharedRef(py_owner_table_view_base->s_compound_widget.s_widget.s_widget), + (PyObject *)self); + return 0; +} + +void ue_python_init_spython_multicolumn_table_row(PyObject *ue_module) +{ + ue_PySPythonMultiColumnTableRowType.tp_base = &ue_PySCompoundWidgetType; + ue_PySPythonMultiColumnTableRowType.tp_init = (initproc)ue_py_spython_multicolumn_table_row_init; + + if (PyType_Ready(&ue_PySPythonMultiColumnTableRowType) < 0) + return; + + Py_INCREF(&ue_PySPythonMultiColumnTableRowType); + PyModule_AddObject(ue_module, "SPythonMultiColumnTableRow", (PyObject *)&ue_PySPythonMultiColumnTableRowType); +} + +ue_PySPythonMultiColumnTableRow *py_ue_is_spython_multicolumn_table_row(PyObject *obj) +{ + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PySPythonMultiColumnTableRowType)) + return nullptr; + return (ue_PySPythonMultiColumnTableRow *)obj; +} diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h new file mode 100644 index 000000000..268ee97b2 --- /dev/null +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h @@ -0,0 +1,110 @@ +#pragma once + +#include "UnrealEnginePython.h" + +#include "UEPySCompoundWidget.h" +#include "UEPyFGeometry.h" +#include "UEPyFPaintContext.h" +#include "UEPyFCharacterEvent.h" +#include "UEPyFKeyEvent.h" +#include "UEPyFPointerEvent.h" + +extern PyTypeObject ue_PySCompoundWidgetType; +extern PyTypeObject ue_PySTableViewBaseType; +class SPythonMultiColumnTableRow : public SMultiColumnTableRow> { +public: + SLATE_BEGIN_ARGS(SPythonMultiColumnTableRow) { } + SLATE_END_ARGS(); + + void Construct(const FArguments& InArgs, const TSharedRef& InOwnerTableView, PyObject *in_py_self) + { + SetPyObject(in_py_self); + SMultiColumnTableRow >::Construct(FSuperRowType::FArguments(), InOwnerTableView); + } + + virtual TSharedRef GenerateWidgetForColumn( const FName& ColumnName ) override + { + FScopePythonGIL gil; + + if (!PyObject_HasAttrString(self, (char *)"generate_widget_for_column")) + return SNullWidget::NullWidget; + + PyObject *py_callable_generate_widget_for_column = PyObject_GetAttrString(self, (char *)"generate_widget_for_column"); + if (!PyCallable_Check(py_callable_generate_widget_for_column)) + { + UE_LOG(LogPython, Error, TEXT("generate_widget_for_column is not a callable")); + return SNullWidget::NullWidget; + } + + PyObject *ret = PyObject_CallFunction(py_callable_generate_widget_for_column, (char *)"s", TCHAR_TO_UTF8(*ColumnName.ToString())); + if (!ret) + { + unreal_engine_py_log_error(); + return SNullWidget::NullWidget; + } + + ue_PySWidget *s_widget = py_ue_is_swidget(ret); + if (!s_widget) + { + Py_DECREF(ret); + UE_LOG(LogPython, Error, TEXT("returned value is not a SWidget")); + return SNullWidget::NullWidget; + } + + TSharedRef value = s_widget->s_widget; + Py_DECREF(ret); + return value; + } + + virtual FReply OnMouseButtonDoubleClick(const FGeometry& InMyGeometry, const FPointerEvent& InMouseEvent) override + { + FScopePythonGIL gil; + + if (PyObject_HasAttrString(self, (char *)"on_mouse_button_double_click")) + { + PyObject *py_callable_on_mouse_button_double_click = PyObject_GetAttrString(self, (char *)"on_mouse_button_double_click"); + if (!PyCallable_Check(py_callable_on_mouse_button_double_click)) + { + UE_LOG(LogPython, Error, TEXT("on_mouse_button_double_click is not a callable")); + return FReply::Unhandled(); + } + + PyObject *ret = PyObject_CallFunction(py_callable_on_mouse_button_double_click, (char *)"OO", py_ue_new_fgeometry(InMyGeometry), py_ue_new_fpointer_event(InMouseEvent)); + if (!ret) + { + unreal_engine_py_log_error(); + return FReply::Unhandled(); + } + + if (ret == Py_False) + { + Py_DECREF(ret); + return FReply::Unhandled(); + } + Py_DECREF(ret); + return FReply::Handled(); + } + else + { + return SPythonMultiColumnTableRow::OnMouseButtonDoubleClick(InMyGeometry, InMouseEvent); + } + } + + void SetPyObject(PyObject *py_obj) + { + self = py_obj; + } +private: + PyObject *self = nullptr; + + TSharedPtr RowPythonObject; +}; + +typedef struct { + ue_PySCompoundWidget s_compound_widget; + /* Type-specific fields go here. */ +} ue_PySPythonMultiColumnTableRow; + +void ue_python_init_spython_multicolumn_table_row(PyObject *); + +ue_PySPythonMultiColumnTableRow *py_ue_is_spython_multicolumn_table_row(PyObject *); \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp index b55fe38c6..dbab4540c 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp @@ -31,8 +31,43 @@ static PyObject *py_ue_spython_widget_set_active(ue_PySPythonWidget *self, PyObj return (PyObject *)self; } +static PyObject *py_ue_spython_widget_set_content(ue_PySPythonWidget *self, PyObject *args) +{ + PyObject *py_content; + if (!PyArg_ParseTuple(args, "O:set_content", &py_content)) + { + return NULL; + } + + ue_PySWidget *py_swidget = py_ue_is_swidget(py_content); + if (!py_swidget) + { + return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); + } + + Py_XDECREF(self->s_compound_widget.s_widget.py_swidget_content); + Py_INCREF(py_swidget); + self->s_compound_widget.s_widget.py_swidget_content = py_swidget; + + sw_python_widget->SetContent(py_swidget->s_widget->AsShared()); + + Py_INCREF(self); + return (PyObject *)self; +} + +static PyObject *py_ue_spython_widget_clear_content(ue_PySPythonWidget *self, PyObject *args) +{ + sw_python_widget->ClearContent(); + Py_XDECREF(self->s_compound_widget.s_widget.py_swidget_content); + + Py_INCREF(Py_None); + return Py_None; +} + static PyMethodDef ue_PySPythonWidget_methods[] = { - { "set_active", (PyCFunction)py_ue_spython_widget_set_active, METH_VARARGS | METH_KEYWORDS, "" }, + { "set_active", (PyCFunction)py_ue_spython_widget_set_active, METH_VARARGS | METH_KEYWORDS, "" }, + { "set_content", (PyCFunction)py_ue_spython_widget_set_content, METH_VARARGS, "" }, + { "clear_content", (PyCFunction)py_ue_spython_widget_clear_content, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.h b/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.h index 7d2ceaf57..0b8223b81 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.h @@ -7,6 +7,7 @@ #include "UEPyFPaintContext.h" #include "UEPyFCharacterEvent.h" #include "UEPyFKeyEvent.h" +#include "UEPyFPointerEvent.h" extern PyTypeObject ue_PySPythonWidgetType; @@ -88,6 +89,127 @@ class SPythonWidget : public SCompoundWidget return FReply::Handled(); } + virtual FReply OnMouseMove(const FGeometry & MyGeometry, const FPointerEvent & MyEvent) override + { + FScopePythonGIL gil; + + if (!PyObject_HasAttrString(self, (char *)"on_mouse_move")) + return FReply::Unhandled(); + + PyObject *py_callable_on_mouse_move = PyObject_GetAttrString(self, (char *)"on_mouse_move"); + if (!PyCallable_Check(py_callable_on_mouse_move)) + { + UE_LOG(LogPython, Error, TEXT("on_mouse_move is not a callable")); + return FReply::Unhandled(); + } + + PyObject *ret = PyObject_CallFunction(py_callable_on_mouse_move, (char *)"OO", py_ue_new_fgeometry(MyGeometry), py_ue_new_fpointer_event(MyEvent)); + if (!ret) + { + unreal_engine_py_log_error(); + return FReply::Unhandled(); + } + + if (ret == Py_False) + { + Py_DECREF(ret); + return FReply::Unhandled(); + } + Py_DECREF(ret); + return FReply::Handled(); + } + + virtual FReply OnMouseWheel(const FGeometry & MyGeometry, const FPointerEvent & MyEvent) override + { + FScopePythonGIL gil; + + if (!PyObject_HasAttrString(self, (char *)"on_mouse_wheel")) + return FReply::Unhandled(); + + PyObject *py_callable_on_mouse_wheel = PyObject_GetAttrString(self, (char *)"on_mouse_wheel"); + if (!PyCallable_Check(py_callable_on_mouse_wheel)) + { + UE_LOG(LogPython, Error, TEXT("on_mouse_wheel is not a callable")); + return FReply::Unhandled(); + } + + PyObject *ret = PyObject_CallFunction(py_callable_on_mouse_wheel, (char *)"OO", py_ue_new_fgeometry(MyGeometry), py_ue_new_fpointer_event(MyEvent)); + if (!ret) + { + unreal_engine_py_log_error(); + return FReply::Unhandled(); + } + + if (ret == Py_False) + { + Py_DECREF(ret); + return FReply::Unhandled(); + } + Py_DECREF(ret); + return FReply::Handled(); + } + + virtual FReply OnMouseButtonDown(const FGeometry & MyGeometry, const FPointerEvent & MyEvent) override + { + FScopePythonGIL gil; + + if (!PyObject_HasAttrString(self, (char *)"on_mouse_button_down")) + return FReply::Unhandled(); + + PyObject *py_callable_on_mouse_button_down = PyObject_GetAttrString(self, (char *)"on_mouse_button_down"); + if (!PyCallable_Check(py_callable_on_mouse_button_down)) + { + UE_LOG(LogPython, Error, TEXT("on_mouse_button_down is not a callable")); + return FReply::Unhandled(); + } + + PyObject *ret = PyObject_CallFunction(py_callable_on_mouse_button_down, (char *)"OO", py_ue_new_fgeometry(MyGeometry), py_ue_new_fpointer_event(MyEvent)); + if (!ret) + { + unreal_engine_py_log_error(); + return FReply::Unhandled(); + } + + if (ret == Py_False) + { + Py_DECREF(ret); + return FReply::Unhandled(); + } + Py_DECREF(ret); + return FReply::Handled(); + } + + virtual FReply OnMouseButtonUp(const FGeometry & MyGeometry, const FPointerEvent & MyEvent) override + { + FScopePythonGIL gil; + + if (!PyObject_HasAttrString(self, (char *)"on_mouse_button_up")) + return FReply::Unhandled(); + + PyObject *py_callable_on_mouse_button_up = PyObject_GetAttrString(self, (char *)"on_mouse_button_up"); + if (!PyCallable_Check(py_callable_on_mouse_button_up)) + { + UE_LOG(LogPython, Error, TEXT("on_mouse_button_up is not a callable")); + return FReply::Unhandled(); + } + + PyObject *ret = PyObject_CallFunction(py_callable_on_mouse_button_up, (char *)"OO", py_ue_new_fgeometry(MyGeometry), py_ue_new_fpointer_event(MyEvent)); + if (!ret) + { + unreal_engine_py_log_error(); + return FReply::Unhandled(); + } + + if (ret == Py_False) + { + Py_DECREF(ret); + return FReply::Unhandled(); + } + Py_DECREF(ret); + return FReply::Handled(); + } + + virtual int32 OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyClippingRect, @@ -96,17 +218,18 @@ class SPythonWidget : public SCompoundWidget const FWidgetStyle & InWidgetStyle, bool bParentEnabled) const override { + int32 MaxLayer = SCompoundWidget::OnPaint(Args, AllottedGeometry, MyClippingRect, OutDrawElements, LayerId, InWidgetStyle, bParentEnabled); FScopePythonGIL gil; if (!PyObject_HasAttrString(self, (char *)"paint")) - return LayerId + 1; + return MaxLayer; PyObject *py_callable_paint = PyObject_GetAttrString(self, (char *)"paint"); if (!PyCallable_Check(py_callable_paint)) { UE_LOG(LogPython, Error, TEXT("paint is not a callable")); - return LayerId + 1; + return MaxLayer; } FPaintContext context(AllottedGeometry, MyClippingRect, OutDrawElements, LayerId, InWidgetStyle, bParentEnabled); @@ -115,12 +238,12 @@ class SPythonWidget : public SCompoundWidget if (!ret) { unreal_engine_py_log_error(); - return LayerId + 1; + return MaxLayer; } Py_DECREF(ret); - return LayerId + 1; + return MaxLayer + 1; } @@ -167,6 +290,19 @@ class SPythonWidget : public SCompoundWidget } } + void SetContent(TSharedRef InContent) + { + ChildSlot + [ + InContent + ]; + } + + void ClearContent() + { + ChildSlot.DetachWidget(); + } + protected: PyObject *self; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySTableViewBase.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySTableViewBase.cpp index e99605d68..8165fea28 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySTableViewBase.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySTableViewBase.cpp @@ -35,9 +35,17 @@ static PyObject *py_ue_stable_view_base_set_item_width(ue_PySTableViewBase *self return (PyObject *)self; } +static PyObject *py_ue_stable_view_base_request_list_refresh(ue_PySTableViewBase *self, PyObject * args) +{ + sw_table_view_base->RequestListRefresh(); + + Py_RETURN_NONE; +} + static PyMethodDef ue_PySTableViewBase_methods[] = { { "set_item_height", (PyCFunction)py_ue_stable_view_base_set_item_height, METH_VARARGS, "" }, { "set_item_width", (PyCFunction)py_ue_stable_view_base_set_item_width, METH_VARARGS, "" }, + { "request_list_refresh", (PyCFunction)py_ue_stable_view_base_request_list_refresh, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; @@ -83,3 +91,10 @@ void ue_python_init_stable_view_base(PyObject *ue_module) Py_INCREF(&ue_PySTableViewBaseType); PyModule_AddObject(ue_module, "STableViewBase", (PyObject *)&ue_PySTableViewBaseType); } + +ue_PySTableViewBase * py_ue_is_stable_view_base(PyObject *obj) +{ + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PySTableViewBaseType)) + return nullptr; + return (ue_PySTableViewBase *)obj; +} diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySTableViewBase.h b/Source/UnrealEnginePython/Private/Slate/UEPySTableViewBase.h index a32ec85a8..5fd06b2cc 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySTableViewBase.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySTableViewBase.h @@ -13,4 +13,6 @@ typedef struct { /* Type-specific fields go here. */ } ue_PySTableViewBase; -void ue_python_init_stable_view_base(PyObject *); \ No newline at end of file +void ue_python_init_stable_view_base(PyObject *); + +ue_PySTableViewBase *py_ue_is_stable_view_base(PyObject *); \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp index 99cb31276..9563b1fb1 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp @@ -19,10 +19,10 @@ #include "Runtime/Slate/Public/Framework/Commands/UICommandInfo.h" #include "Runtime/Slate/Public/Framework/Docking/TabManager.h" #include "Runtime/Slate/Public/Widgets/Views/STableRow.h" +#include "Runtime/SlateCore/Public/Styling/SlateIconFinder.h" #include "Runtime/AppFramework/Public/Widgets/Colors/SColorPicker.h" - #include "UEPySlate.h" FReply UPythonSlateDelegate::OnMouseEvent(const FGeometry &geometry, const FPointerEvent &pointer_event) @@ -320,12 +320,41 @@ TSharedRef UPythonSlateDelegate::OnGenerateWidget(TSharedPtr value = s_widget->s_widget; - Py_DECREF(ret); + + Py_INCREF(ret); return value; } +TSharedRef UPythonSlateDelegate::OnGetMenuContent() +{ + FScopePythonGIL gil; + + PyObject *ret = PyObject_CallFunction(py_callable, (char *)""); + if (!ret) + { + unreal_engine_py_log_error(); + return SNullWidget::NullWidget; + } + + ue_PySWidget *s_widget = py_ue_is_swidget(ret); + if (!s_widget) + { + Py_DECREF(ret); + UE_LOG(LogPython, Error, TEXT("returned value is not a SWidget")); + return SNullWidget::NullWidget; + } + TSharedRef value = s_widget->s_widget; + Py_DECREF(ret); + return value; +} + void UPythonSlateDelegate::OnSelectionChanged(TSharedPtr py_item, ESelectInfo::Type select_type) { + if (!py_item.IsValid()) + { + return; + } + FScopePythonGIL gil; PyObject *ret = PyObject_CallFunction(py_callable, (char *)"Oi", py_item.Get()->py_object, (int)select_type); @@ -615,20 +644,29 @@ TSharedRef UPythonSlateDelegate::SpawnPythonTab(const FSpawnTabArgs &a TSharedRef UPythonSlateDelegate::GenerateRow(TSharedPtr InItem, const TSharedRef& OwnerTable) { + FScopePythonGIL gil; + PyObject *ret = PyObject_CallFunction(py_callable, (char*)"O", InItem.Get()->py_object); if (!ret) { unreal_engine_py_log_error(); return SNew(STableRow>, OwnerTable); } - ue_PySWidget *s_widget = py_ue_is_swidget(ret); - if (!s_widget) + + if (ue_PySPythonMultiColumnTableRow *spython_multicolumn_table_row = py_ue_is_spython_multicolumn_table_row(ret)) + { + Py_INCREF(spython_multicolumn_table_row); + TSharedRef value = StaticCastSharedRef(spython_multicolumn_table_row->s_compound_widget.s_widget.s_widget->AsShared()); + return value; + } + else if (ue_PySWidget *s_widget = py_ue_is_swidget(ret)) { - UE_LOG(LogPython, Error, TEXT("python callable did not return a SWidget")); - return SNew(STableRow>, OwnerTable); + return SNew(STableRow>, OwnerTable).Content()[s_widget->s_widget]; } - return SNew(STableRow>, OwnerTable).Content()[s_widget->s_widget]; + UE_LOG(LogPython, Error, TEXT("python callable did not return a SWidget")); + return SNew(STableRow>, OwnerTable); + } void UPythonSlateDelegate::GetChildren(TSharedPtr InItem, TArray>& OutChildren) @@ -735,6 +773,7 @@ void ue_python_init_slate(PyObject *module) ue_python_init_stable_view_base(module); ue_python_init_slist_view(module); ue_python_init_spython_list_view(module); + ue_python_init_spython_multicolumn_table_row(module); ue_python_init_stree_view(module); ue_python_init_spython_tree_view(module); ue_python_init_ssplitter(module); @@ -756,6 +795,7 @@ void ue_python_init_slate(PyObject *module) #if WITH_EDITOR + ue_python_init_idetails_view(module); ue_python_init_seditor_viewport(module); ue_python_init_slevel_viewport(module); ue_python_init_spython_editor_viewport(module); @@ -785,6 +825,7 @@ void ue_python_init_slate(PyObject *module) ue_python_init_fpointer_event(module); ue_python_init_fkey_event(module); ue_python_init_fcharacter_event(module); + ue_python_init_eslate_enums(module); } PyObject *ue_py_dict_get_item(PyObject *dict, const char *key) @@ -805,6 +846,40 @@ PyObject *py_unreal_engine_get_editor_window(PyObject *self, PyObject *args) return (PyObject *)ue_py_get_swidget(FGlobalTabmanager::Get()->GetRootWindow().ToSharedRef()); } +PyObject *py_unreal_engine_find_slate_style(PyObject *self, PyObject *args) +{ + char *name = nullptr; + if (!PyArg_ParseTuple(args, "s:find_slate_style", &name)) + return nullptr; + + ISlateStyle const* const foundStyleSet = FSlateStyleRegistry::FindSlateStyle(FName(name)); + if (!foundStyleSet) + { + UE_LOG(LogPython, Warning, TEXT("Could not find SlateStyle")); + Py_RETURN_NONE; + } + + ue_PyFSlateStyleSet *ret = py_ue_new_fslate_style_set(static_cast(const_cast(foundStyleSet))); + return (PyObject *)ret; +} + +PyObject *py_unreal_engine_find_icon_for_class(PyObject *self, PyObject *args) +{ + PyObject* py_class = nullptr; + char *name = nullptr; + if (!PyArg_ParseTuple(args, "O|s:find_icon_for_class", &py_class, &name)) + return nullptr; + + UClass *u_class = ue_py_check_type(py_class); + if (!u_class) + return PyErr_Format(PyExc_Exception, "argument is not a UClass object"); + + FSlateIcon foundIcon = FSlateIconFinder::FindIconForClass(u_class, FName(UTF8_TO_TCHAR(name))); + ue_PyFSlateIcon *ret = py_ue_new_fslate_icon(foundIcon); + return (PyObject *)ret; +} + + // slate commands tool class class FPythonSlateCommands : public TCommands { @@ -899,32 +974,54 @@ PyObject *py_unreal_engine_create_detail_view(PyObject *self, PyObject * args, P PyObject *py_object; PyObject *py_allow_search = nullptr; + PyObject *py_update_from_selection = nullptr; + PyObject *py_lockable = nullptr; + PyObject *py_name_area_settings = nullptr; + PyObject *py_hide_selection_tip = nullptr; + PyObject *py_search_initial_key_focus = nullptr; + char *kwlist[] = { (char *)"uobject", (char *)"allow_search", + + (char *)"update_from_selection", + (char *)"lockable", + (char *)"name_area_settings", + (char *)"hide_selection_tip", + (char *)"search_initial_key_focus", nullptr }; - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|O:create_detail_view", kwlist, - &py_object, &py_allow_search)) + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|OOOOsOO:create_detail_view", kwlist, + &py_object, &py_allow_search, &py_update_from_selection, &py_lockable, &py_name_area_settings, &py_hide_selection_tip, &py_search_initial_key_focus)) { return nullptr; } - UObject *u_object = ue_py_check_type(py_object); - if (!u_object) - { - return PyErr_Format(PyExc_Exception, "argument is not a UObject"); - } FPropertyEditorModule& PropertyEditorModule = FModuleManager::GetModuleChecked("PropertyEditor"); FDetailsViewArgs view_args; - view_args.bAllowSearch = (py_allow_search && PyObject_IsTrue(py_allow_search)); - view_args.NameAreaSettings = FDetailsViewArgs::ENameAreaSettings::HideNameArea; + view_args.bAllowSearch = (py_allow_search ) ? PyObject_IsTrue(py_allow_search) : view_args.bAllowSearch; + view_args.bUpdatesFromSelection = (py_update_from_selection ) ? PyObject_IsTrue(py_update_from_selection) : view_args.bUpdatesFromSelection; + view_args.bLockable = (py_lockable ) ? PyObject_IsTrue(py_lockable) : view_args.bLockable; + view_args.bHideSelectionTip = (py_hide_selection_tip ) ? PyObject_IsTrue(py_hide_selection_tip) : view_args.bHideSelectionTip; + view_args.bSearchInitialKeyFocus = (py_search_initial_key_focus) ? PyObject_IsTrue(py_search_initial_key_focus) : view_args.bSearchInitialKeyFocus; + view_args.NameAreaSettings = [py_name_area_settings]() { + if (FCString::Stricmp(UTF8_TO_TCHAR(py_name_area_settings), TEXT("HideNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::HideNameArea; } + else if (FCString::Stricmp(UTF8_TO_TCHAR(py_name_area_settings), TEXT("ObjectsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ObjectsUseNameArea; } + else if (FCString::Stricmp(UTF8_TO_TCHAR(py_name_area_settings), TEXT("ActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } + else if (FCString::Stricmp(UTF8_TO_TCHAR(py_name_area_settings), TEXT("ComponentsAndActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ComponentsAndActorsUseNameArea; } + else { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } + }(); TSharedPtr view = PropertyEditorModule.CreateDetailView(view_args); - view->SetObject(u_object); - - return (PyObject *)py_ue_new_swidget(view->AsShared(), &ue_PySWidgetType); + + if (UObject *u_object = ue_py_check_type(py_object)) + { + view->SetObject(u_object); + } + + extern PyTypeObject ue_PyIDetailsViewType; + return (PyObject *)py_ue_new_swidget(view->AsShared(), &ue_PyIDetailsViewType); } PyObject *py_unreal_engine_create_property_view(PyObject *self, PyObject * args, PyObject *kwargs) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h index 34c7de74d..85b468371 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h @@ -40,6 +40,7 @@ #include "UEPySTableViewBase.h" #include "UEPySListView.h" #include "UEPySPythonListView.h" +#include "UEPySPythonMultiColumnTableRow.h" #include "UEPySTreeView.h" #include "UEPySPythonTreeView.h" #include "UEPySSplitter.h" @@ -62,9 +63,9 @@ #include "UEPyFTabManager.h" #include "UEPyFTabSpawnerEntry.h" #include "UEPyFMenuBuilder.h" -#include "UEPyFSlateStyleSet.h" #include "UEPyFToolBarBuilder.h" #include "UEPyFSlateIcon.h" +#include "UEPyFSlateStyleSet.h" #include "UEPyFGeometry.h" #include "UEPyFPaintContext.h" @@ -84,6 +85,7 @@ #include "UEPySDropTarget.h" #include "UEPySAssetDropTarget.h" #include "UEPySObjectPropertyEntryBox.h" +#include "UEPyIDetailsView.h" #endif #include "Runtime/Core/Public/Misc/Attribute.h" @@ -93,10 +95,11 @@ #include "UEPySlate.generated.h" - - PyObject *py_unreal_engine_get_editor_window(PyObject *, PyObject *); +PyObject *py_unreal_engine_find_slate_style(PyObject *, PyObject *); +PyObject *py_unreal_engine_find_icon_for_class(PyObject *, PyObject *); + #if WITH_EDITOR PyObject *py_unreal_engine_add_menu_extension(PyObject *, PyObject *); PyObject *py_unreal_engine_add_menu_bar_extension(PyObject *, PyObject *); @@ -140,6 +143,8 @@ template ue_PySWidget *py_ue_new_swidget(TSharedRef s_widge #define ue_py_snew_simple(T, field) ue_py_snew_base(T, field, RequiredArgs::MakeRequiredArgs(), T::FArguments()) +#define ue_py_snew_simple_with_req_args(T, field, ... ) ue_py_snew_base(T, field, RequiredArgs::MakeRequiredArgs(__VA_ARGS__), T::FArguments()) + #define ue_py_snew(T, field) ue_py_snew_base(T, field, RequiredArgs::MakeRequiredArgs(), arguments) #define ue_py_snew_with_args(T, field, args) ue_py_snew_base(T, field, RequiredArgs::MakeRequiredArgs(args), arguments) @@ -422,7 +427,7 @@ void ue_python_init_slate(PyObject *); struct FPythonItem { - PyObject *py_object; + PyObject *py_object = nullptr; FPythonItem(PyObject *item) { @@ -468,6 +473,7 @@ class UPythonSlateDelegate : public UPythonDelegate TSharedPtr OnContextMenuOpening(); TSharedRef OnGenerateWidget(TSharedPtr py_item); + TSharedRef OnGetMenuContent(); void OnSelectionChanged(TSharedPtr py_item, ESelectInfo::Type select_type); void SimpleExecuteAction(); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 2853ac81e..802c0df17 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -201,6 +201,9 @@ static PyMethodDef unreal_engine_methods[] = { // slate + { "find_slate_style", py_unreal_engine_find_slate_style, METH_VARARGS, "" }, + { "find_icon_for_class", py_unreal_engine_find_icon_for_class, METH_VARARGS, "" }, + { "register_nomad_tab_spawner", py_unreal_engine_register_nomad_tab_spawner, METH_VARARGS, "" }, { "unregister_nomad_tab_spawner", py_unreal_engine_unregister_nomad_tab_spawner, METH_VARARGS, "" }, { "invoke_tab", py_unreal_engine_invoke_tab, METH_VARARGS, "" }, @@ -855,6 +858,7 @@ static PyMethodDef ue_PyUObject_methods[] = { { "sequencer_changed", (PyCFunction)py_ue_sequencer_changed, METH_VARARGS, "" }, { "sequencer_add_camera_cut_track", (PyCFunction)py_ue_sequencer_add_camera_cut_track, METH_VARARGS, "" }, { "sequencer_add_actor", (PyCFunction)py_ue_sequencer_add_actor, METH_VARARGS, "" }, + { "sequencer_add_actor_component", (PyCFunction)py_ue_sequencer_add_actor_component, METH_VARARGS, "" }, { "sequencer_make_new_spawnable", (PyCFunction)py_ue_sequencer_make_new_spawnable, METH_VARARGS, "" }, { "sequencer_add_possessable", (PyCFunction)py_ue_sequencer_add_possessable, METH_VARARGS, "" }, @@ -3464,3 +3468,27 @@ UFunction *unreal_engine_add_function(UClass *u_class, char *name, PyObject *py_ return function; } + +uint8 * do_ue_py_check_struct(PyObject *py_obj, UScriptStruct* chk_u_struct) +{ + ue_PyUScriptStruct *ue_py_struct = py_ue_is_uscriptstruct(py_obj); + if (!ue_py_struct) { + return nullptr; + } + + if (ue_py_struct->u_struct == chk_u_struct) { + return ue_py_struct->data; + } + + return nullptr; +} + +bool do_ue_py_check_childstruct(PyObject *py_obj, UScriptStruct* parent_u_struct) +{ + ue_PyUScriptStruct *ue_py_struct = py_ue_is_uscriptstruct(py_obj); + if (!ue_py_struct) { + false; + } + + return ue_py_struct->u_struct->IsChildOf(parent_u_struct); +} diff --git a/Source/UnrealEnginePython/Private/UEPyModule.h b/Source/UnrealEnginePython/Private/UEPyModule.h index 63db52acc..d2248f29e 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.h +++ b/Source/UnrealEnginePython/Private/UEPyModule.h @@ -57,15 +57,14 @@ template T *ue_py_check_type(ue_PyUObject *py_obj) { return Cast(py_obj->ue_object); } +uint8 *do_ue_py_check_struct(PyObject *py_obj, UScriptStruct* chk_u_struct); + template T *ue_py_check_struct(PyObject *py_obj) { - ue_PyUScriptStruct *ue_py_struct = py_ue_is_uscriptstruct(py_obj); - if (!ue_py_struct) { - return nullptr; - } + return (T*)do_ue_py_check_struct(py_obj, T::StaticStruct()); +} - if (ue_py_struct->u_struct == T::StaticStruct()) { - return (T*)ue_py_struct->data; - } +bool do_ue_py_check_childstruct(PyObject *py_obj, UScriptStruct* parent_u_struct); - return nullptr; +template bool ue_py_check_childstruct(PyObject *py_obj) { + return do_ue_py_check_childstruct(py_obj, T::StaticStruct()); } diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp index cd3b880de..2875c4b3e 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp @@ -259,7 +259,7 @@ void ue_python_init_uscriptstruct(PyObject *ue_module) { PyModule_AddObject(ue_module, "UScriptStruct", (PyObject *)&ue_PyUScriptStructType); } -PyObject *py_ue_new_uscriptstruct(UScriptStruct *u_struct, uint8 *data) { +PyObject *py_ue_new_uscriptstruct(UScriptStruct *u_struct, const uint8 *data) { ue_PyUScriptStruct *ret = (ue_PyUScriptStruct *)PyObject_New(ue_PyUScriptStruct, &ue_PyUScriptStructType); ret->u_struct = u_struct; uint8 *struct_data = (uint8*)FMemory::Malloc(u_struct->GetStructureSize()); diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h index c39a8346e..d93eb990a 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h @@ -10,7 +10,7 @@ typedef struct uint8 *data; } ue_PyUScriptStruct; -PyObject *py_ue_new_uscriptstruct(UScriptStruct *, uint8 *); +PyObject *py_ue_new_uscriptstruct(UScriptStruct *, const uint8 *); ue_PyUScriptStruct *py_ue_is_uscriptstruct(PyObject *); UProperty *ue_struct_get_field_from_name(UScriptStruct *, char *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp index d3bf7c2d8..d187527ee 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp @@ -561,7 +561,12 @@ PyObject *py_ue_get_display_name(ue_PyUObject *self, PyObject * args) ue_py_check(self); #if WITH_EDITOR - if (AActor *actor = ue_py_check_type(self)) + if (UClass *uclass = ue_py_check_type(self)) + { + return PyUnicode_FromString(TCHAR_TO_UTF8(*uclass->GetDisplayNameText().ToString())); + } + + if (AActor *actor = ue_py_check_type(self)) { return PyUnicode_FromString(TCHAR_TO_UTF8(*actor->GetActorLabel())); } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index 6218631ce..25d99d834 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -255,6 +255,50 @@ PyObject *py_ue_sequencer_add_actor(ue_PyUObject *self, PyObject * args) { return PyUnicode_FromString(TCHAR_TO_UTF8(*new_guid.ToString())); } +PyObject *py_ue_sequencer_add_actor_component(ue_PyUObject *self, PyObject * args) { + + ue_py_check(self); + + PyObject *py_obj; + if (!PyArg_ParseTuple(args, "O:sequencer_add_actor_component", &py_obj)) { + return NULL; + } + + if (!self->ue_object->IsA()) + return PyErr_Format(PyExc_Exception, "uobject is not a LevelSequence"); + + ue_PyUObject *py_ue_obj = ue_is_pyuobject(py_obj); + if (!py_ue_obj) + return PyErr_Format(PyExc_Exception, "argument is not a uobject"); + + if (!py_ue_obj->ue_object->IsA()) + return PyErr_Format(PyExc_Exception, "argument is not an actorcomponent"); + + ULevelSequence *seq = (ULevelSequence *)self->ue_object; + + UActorComponent* actorComponent = (UActorComponent *)py_ue_obj->ue_object; + + // try to open the editor for the asset + FAssetEditorManager::Get().OpenEditorForAsset(seq); + + IAssetEditorInstance *editor = FAssetEditorManager::Get().FindEditorForAsset(seq, true); + FGuid new_guid; + if (editor) { + FLevelSequenceEditorToolkit *toolkit = (FLevelSequenceEditorToolkit *)editor; + ISequencer *sequencer = toolkit->GetSequencer().Get(); + new_guid = sequencer->GetHandleToObject(actorComponent); + } + else { + return PyErr_Format(PyExc_Exception, "unable to access sequencer"); + } + + if (!new_guid.IsValid()) { + return PyErr_Format(PyExc_Exception, "unable to find guid"); + } + + return PyUnicode_FromString(TCHAR_TO_UTF8(*new_guid.ToString())); +} + PyObject *py_ue_sequencer_make_new_spawnable(ue_PyUObject *self, PyObject * args) { ue_py_check(self); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h index ded9524ef..0ab72f427 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h @@ -21,6 +21,7 @@ PyObject *py_ue_sequencer_add_possessable(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_track_add_section(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_add_actor(ue_PyUObject *, PyObject *); +PyObject *py_ue_sequencer_add_actor_component(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_make_new_spawnable(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_remove_possessable(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h index 0b9c6420c..1854d6020 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h +++ b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h @@ -29,6 +29,8 @@ #include "UEPyModule.h" +#include "Wrappers/UEPyESlateEnums.h" + #include "Wrappers/UEPyFVector.h" #include "Wrappers/UEPyFHitResult.h" #include "Wrappers/UEPyFRotator.h" diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp new file mode 100644 index 000000000..815c2aaea --- /dev/null +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp @@ -0,0 +1,96 @@ +#include "UnrealEnginePythonPrivatePCH.h" + +static PyObject *py_ue_eslate_enums_get(ue_PyESlateEnums *self, void *closure) +{ + return PyLong_FromLong(self->val); +} + +static PyGetSetDef ue_PyESlateEnums_getseters[] = { + { (char*)"val", (getter)py_ue_eslate_enums_get, 0, (char *)"", NULL }, + { NULL } /* Sentinel */ +}; + +static PyObject *ue_PyESlateEnums_str(ue_PyESlateEnums *self) +{ + return PyUnicode_FromFormat("", PyLong_FromLong(self->val)); +} + +static PyTypeObject ue_PyESlateEnumsType = { + PyVarObject_HEAD_INIT(NULL, 0) + "unreal_engine.ESlateEnums", /* tp_name */ + sizeof(ue_PyESlateEnums), /* tp_basicsize */ + 0, /* tp_itemsize */ + 0, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + (reprfunc)ue_PyESlateEnums_str, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ + "Unreal Engine ESlateEnums", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + 0, /* tp_methods */ + 0, + ue_PyESlateEnums_getseters, +}; + +static int ue_py_eslate_enums_init(ue_PyESlateEnums *self, PyObject *args, PyObject *kwargs) { + int val = 0; + if (!PyArg_ParseTuple(args, "i", &val)) + return -1; + + self->val = val; + return 0; +} + +void ue_python_init_eslate_enums(PyObject *ue_module) +{ + ue_PyESlateEnumsType.tp_new = PyType_GenericNew; + + ue_PyESlateEnumsType.tp_init = (initproc)ue_py_eslate_enums_init; + + if (PyType_Ready(&ue_PyESlateEnumsType) < 0) + return; + + Py_INCREF(&ue_PyESlateEnumsType); + PyModule_AddObject(ue_module, "ESlateEnums", (PyObject *)&ue_PyESlateEnumsType); + + auto add_native_enum = [](const char *enum_name, uint8 val) + { + ue_PyESlateEnums* native_enum = (ue_PyESlateEnums *)PyObject_New(ue_PyESlateEnums, &ue_PyESlateEnumsType); + native_enum->val = val; + PyDict_SetItemString(ue_PyESlateEnumsType.tp_dict, enum_name, (PyObject *)native_enum); + }; + +#define ADD_NATIVE_ENUM(EnumType, EnumVal) add_native_enum(#EnumType "." #EnumVal, (uint8)##EnumType::Type::##EnumVal) + ADD_NATIVE_ENUM(EUserInterfaceActionType, None ); + ADD_NATIVE_ENUM(EUserInterfaceActionType, Button ); + ADD_NATIVE_ENUM(EUserInterfaceActionType, ToggleButton ); + ADD_NATIVE_ENUM(EUserInterfaceActionType, RadioButton ); + ADD_NATIVE_ENUM(EUserInterfaceActionType, Check ); + ADD_NATIVE_ENUM(EUserInterfaceActionType, CollapsedButton); +#undef ADD_NATIVE_ENUM + +} + +ue_PyESlateEnums *py_ue_is_eslate_enums(PyObject *obj) +{ + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyESlateEnumsType)) + return nullptr; + return (ue_PyESlateEnums *)obj; + +} diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.h new file mode 100644 index 000000000..dae16da2c --- /dev/null +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.h @@ -0,0 +1,15 @@ +#pragma once + + + +#include "UnrealEnginePython.h" + +typedef struct { + PyObject_HEAD + /* Type-specific fields go here. */ + uint8 val; +} ue_PyESlateEnums; + +void ue_python_init_eslate_enums(PyObject *); + +ue_PyESlateEnums *py_ue_is_eslate_enums(PyObject *); \ No newline at end of file From 0f2979d2c0575375df1a2b98ef78b80136535dcc Mon Sep 17 00:00:00 2001 From: ikrima Date: Fri, 8 Dec 2017 16:18:20 -0800 Subject: [PATCH 016/538] Add add_child window functionality --- .../Slate/UEPySPythonMultiColumnTableRow.cpp | 4 +-- .../Private/Slate/UEPySWindow.cpp | 36 ++++++++++++++++++- .../Private/Slate/UEPySWindow.h | 2 ++ UnrealEnginePython.uplugin | 2 +- 4 files changed, 40 insertions(+), 4 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.cpp index 707e08694..a4d8b3d2a 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.cpp @@ -6,7 +6,7 @@ #define sw_python_multicolumn_table_row StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) -static PyMethodDef ue_PySPythonListView_methods[] = { +static PyMethodDef ue_PySPythonMultiColumnTableRow_methods[] = { { NULL } /* Sentinel */ }; @@ -38,7 +38,7 @@ PyTypeObject ue_PySPythonMultiColumnTableRowType = { 0, /* tp_weaklistoffset */ 0, /* tp_iter */ 0, /* tp_iternext */ - ue_PySPythonListView_methods, /* tp_methods */ + ue_PySPythonMultiColumnTableRow_methods, /* tp_methods */ }; static int ue_py_spython_multicolumn_table_row_init(ue_PySPythonMultiColumnTableRow *self, PyObject *args, PyObject *kwargs) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp index 1314cc3e2..247cb74c7 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp @@ -108,6 +108,27 @@ static PyObject *py_ue_swindow_add_modal(ue_PySWindow *self, PyObject * args) } #endif +static PyObject *py_ue_swindow_add_child(ue_PySWindow *self, PyObject * args) +{ + PyObject *py_obj; + if (!PyArg_ParseTuple(args, "O:add_child", &py_obj)) + { + return NULL; + } + + ue_PySWindow *py_swindow_child = py_ue_is_swindow(py_obj); + if (!py_swindow_child) + { + return PyErr_Format(PyExc_Exception, "argument is not a SWindow"); + } + + FSlateApplication::Get().AddWindowAsNativeChild( + StaticCastSharedRef(py_swindow_child->s_compound_widget.s_widget.s_widget), + sw_window); + + Py_RETURN_NONE; +} + static PyMethodDef ue_PySWindow_methods[] = { { "set_title", (PyCFunction)py_ue_swindow_set_title, METH_VARARGS, "" }, { "set_sizing_rule", (PyCFunction)py_ue_swindow_set_sizing_rule, METH_VARARGS, "" }, @@ -119,6 +140,7 @@ static PyMethodDef ue_PySWindow_methods[] = { #if WITH_EDITOR { "add_modal", (PyCFunction)py_ue_swindow_add_modal, METH_VARARGS, "" }, #endif + { "add_child", (PyCFunction)py_ue_swindow_add_child, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; @@ -222,7 +244,12 @@ static int ue_py_swindow_init(ue_PySWindow *self, PyObject *args, PyObject *kwar sw_window->SetOnWindowClosed(handler); } - FSlateApplication::Get().AddWindow(StaticCastSharedRef(sw_window->AsShared()), true); + // is it a child ? + PyObject *is_child = ue_py_dict_get_item(kwargs, "child"); + if (!(is_child && PyObject_IsTrue(is_child))) + { + FSlateApplication::Get().AddWindow(StaticCastSharedRef(sw_window->AsShared()), true); + } return 0; } @@ -241,3 +268,10 @@ void ue_python_init_swindow(PyObject *ue_module) Py_INCREF(&ue_PySWindowType); PyModule_AddObject(ue_module, "SWindow", (PyObject *)&ue_PySWindowType); } + +ue_PySWindow *py_ue_is_swindow(PyObject *obj) +{ + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PySWindowType)) + return nullptr; + return (ue_PySWindow *)obj; +} \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.h b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.h index e5aac3668..396c860de 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.h @@ -14,3 +14,5 @@ typedef struct { } ue_PySWindow; void ue_python_init_swindow(PyObject *); + +ue_PySWindow *py_ue_is_swindow(PyObject *obj); \ No newline at end of file diff --git a/UnrealEnginePython.uplugin b/UnrealEnginePython.uplugin index 5c3b2e07e..0731a2b1b 100644 --- a/UnrealEnginePython.uplugin +++ b/UnrealEnginePython.uplugin @@ -17,7 +17,7 @@ "Modules": [ { "Name": "UnrealEnginePython", - "Type": "Runtime", + "Type": "Developer", "LoadingPhase": "Default" }, { From 51dbf7ef7ee55e4552fe1a7f8a547340f97fa70c Mon Sep 17 00:00:00 2001 From: ikrima Date: Sun, 10 Dec 2017 10:04:40 -0800 Subject: [PATCH 017/538] ListView & Header Row extensions & fixes -Add filtering to py listviews, fixing column adjustments, adding sorting -FIX: Py Widget Visibility set properly now -FIX: Python header row in listview properly initialized as part of widget declaration so SListView construct() call properly initializes header related artifacts -Extending header row with more attributes like label,tooltip,align,width,fill,sort mode, etc -Adding string from args optional macro define -Adding get bp hierarchy from actor class & get all graphs out of a blueprint and ability to show settings --- .../Private/Slate/UEPySHeaderRow.cpp | 91 ++++++++------- .../Private/Slate/UEPySPythonListView.cpp | 16 +++ .../Private/Slate/UEPySWidget.cpp | 35 +++++- .../Private/Slate/UEPySlate.cpp | 13 +++ .../Private/Slate/UEPySlate.h | 7 ++ .../UnrealEnginePython/Private/UEPyEditor.cpp | 107 +++++++++++++----- .../UnrealEnginePython/Private/UEPyEditor.h | 3 + .../UnrealEnginePython/Private/UEPyModule.cpp | 7 +- 8 files changed, 202 insertions(+), 77 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.cpp index a0791255b..59d574cc0 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.cpp @@ -4,49 +4,54 @@ #define sw_header_row StaticCastSharedRef(self->s_border.s_compound_widget.s_widget.s_widget) -static PyObject *py_ue_sheader_row_add_column(ue_PySHeaderRow *self, PyObject *args, PyObject *kwargs) { - - char *column_id; - float fixed_width = 0; - int cell_h_align = 0; - int cell_v_align = 0; - char *default_label = nullptr; - char *default_tooltip = nullptr; - - char *kwlist[] = { - (char *)"column_id", - (char *)"fixed_width", - (char *)"cell_h_align", - (char *)"cell_v_align", - (char *)"default_label", - (char *)"default_tooltip", - nullptr - }; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "sf|iiss:add_column", kwlist, - &column_id, - &fixed_width, - &cell_h_align, - &cell_v_align, - &default_label, - &default_tooltip)) { - return NULL; - } - - if (!default_label) - default_label = column_id; - - if (!default_tooltip) - default_tooltip = default_label; - - sw_header_row->AddColumn( - SHeaderRow::Column(FName(UTF8_TO_TCHAR(column_id))) - .DefaultLabel(FText::FromString(UTF8_TO_TCHAR(default_label))) - .DefaultTooltip(FText::FromString(UTF8_TO_TCHAR(default_tooltip))) - .FixedWidth(fixed_width) - .HAlignCell((EHorizontalAlignment)cell_h_align) - .VAlignCell((EVerticalAlignment)cell_v_align) - ); +static PyObject *py_ue_sheader_row_add_column(ue_PySHeaderRow *self, PyObject *args, PyObject *kwargs) +{ + int32 retCode = [&]() { + ue_py_slate_setup_farguments(SHeaderRow::FColumn); + + // first of all check for values + PyObject *py_columnid = ue_py_dict_get_item(kwargs, "column_id"); + if (!py_columnid) { + PyErr_SetString(PyExc_TypeError, "you must specify the column_id"); + return -1; + } + + ue_py_slate_farguments_optional_string("column_id", ColumnId); + + ue_py_slate_farguments_optional_text("default_label", DefaultLabel); + ue_py_slate_farguments_optional_text("default_tooltip", DefaultTooltip); + + ue_py_slate_farguments_optional_enum("h_align_header", HAlignHeader, EHorizontalAlignment); + ue_py_slate_farguments_optional_enum("v_align_header", VAlignHeader, EVerticalAlignment); + + ue_py_slate_farguments_optional_float("fill_width", FillWidth); + ue_py_slate_farguments_optional_float("fixed_width", FixedWidth); + + ue_py_slate_farguments_optional_enum("h_align_cell", HAlignCell, EHorizontalAlignment); + ue_py_slate_farguments_optional_enum("v_align_cell", VAlignCell, EVerticalAlignment); + + ue_py_slate_farguments_optional_enum("sort_mode", SortMode, EColumnSortMode::Type); + ue_py_slate_farguments_optional_enum("sort_priority", SortPriority, EColumnSortPriority::Type); + + ue_py_slate_farguments_event("on_sort", OnSort, FOnSortModeChanged, OnSort); + + //sw_header_row->AddColumn( + // SHeaderRow::Column(FName(UTF8_TO_TCHAR(column_id))) + // .DefaultLabel(FText::FromString(UTF8_TO_TCHAR(default_label))) + // .DefaultTooltip(FText::FromString(UTF8_TO_TCHAR(default_tooltip))) + // .FixedWidth(fixed_width) + // .HAlignCell((EHorizontalAlignment)cell_h_align) + // .VAlignCell((EVerticalAlignment)cell_v_align) + //); + + sw_header_row->AddColumn(arguments); + return 0; + }(); + + if (retCode != 0) + { + return PyErr_Format(PyExc_Exception, "could not add column slot"); + } Py_INCREF(self); return (PyObject *)self; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp index 8d0589caa..f8c3b08ea 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp @@ -169,6 +169,22 @@ static int ue_py_spython_list_view_init(ue_PySPythonListView *self, PyObject *ar } arguments.ListItemsSource(&self->item_source_list); + { + PyObject *value = ue_py_dict_get_item(kwargs, "header_row"); + if (value) { + if (ue_PySHeaderRow *_py_swidget = py_ue_is_sheader_row(value)) { + + Py_INCREF(_py_swidget); + ((ue_PySWidget *)self)->py_refs.Add(value); + arguments.HeaderRow(StaticCastSharedRef(((ue_PySWidget *)_py_swidget)->s_widget)); + } + else { + PyErr_SetString(PyExc_TypeError, "unsupported type for attribute " "header_row"); + return -1; + } + } + } + ue_py_slate_farguments_optional_enum("allow_overscroll", AllowOverscroll, EAllowOverscroll); ue_py_slate_farguments_optional_bool("clear_selection_on_click", ClearSelectionOnClick); ue_py_slate_farguments_optional_enum("consume_mouse_wheel", ConsumeMouseWheel, EConsumeMouseWheel); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp index 2539e85a1..6a21e5b93 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp @@ -30,13 +30,42 @@ static PyObject *py_ue_swidget_get_children(ue_PySWidget *self, PyObject * args) static PyObject *py_ue_swidget_set_visibility(ue_PySWidget *self, PyObject * args) { - int visibility; - if (!PyArg_ParseTuple(args, "i:set_visibility", &visibility)) + PyObject* py_object; + if (!PyArg_ParseTuple(args, "O:set_visibility", &py_object)) { return nullptr; } - self->s_widget->SetVisibility(EVisibility::Visible); + if (!PyNumber_Check(py_object)) + { + return PyErr_Format(PyExc_Exception, "argument is not a ESlateVisibility"); + } + + PyObject *py_value = PyNumber_Long(py_object); + ESlateVisibility slateVisibility = (ESlateVisibility)PyLong_AsLong(py_value); + Py_DECREF(py_value); + + EVisibility visibility; + switch (slateVisibility) + { + case ESlateVisibility::Visible: + visibility = EVisibility::Visible; + break; + case ESlateVisibility::Collapsed: + visibility = EVisibility::Collapsed; + break; + case ESlateVisibility::Hidden: + visibility = EVisibility::Hidden; + break; + case ESlateVisibility::HitTestInvisible: + visibility = EVisibility::HitTestInvisible; + break; + case ESlateVisibility::SelfHitTestInvisible: + visibility = EVisibility::SelfHitTestInvisible; + break; + } + + self->s_widget->SetVisibility(visibility); Py_INCREF(self); return (PyObject *)self; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp index 9563b1fb1..6c36e7605 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp @@ -176,6 +176,19 @@ void UPythonSlateDelegate::OnFloatCommitted(float value, ETextCommit::Type commi Py_DECREF(ret); } +void UPythonSlateDelegate::OnSort(const EColumnSortPriority::Type SortPriority, const FName& ColumnName, const EColumnSortMode::Type NewSortMode) +{ + FScopePythonGIL gil; + + PyObject *ret = PyObject_CallFunction(py_callable, (char *)"isi", (int)SortPriority, TCHAR_TO_UTF8(*ColumnName.ToString()), (int)NewSortMode); + if (!ret) + { + unreal_engine_py_log_error(); + return; + } + Py_DECREF(ret); +} + void UPythonSlateDelegate::CheckBoxChanged(ECheckBoxState state) { FScopePythonGIL gil; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h index 85b468371..1ff82a4c7 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h @@ -375,6 +375,12 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); }\ } +#define ue_py_slate_farguments_optional_string(param, attribute) { PyObject *value = ue_py_dict_get_item(kwargs, param);\ + if (PyUnicode_Check(value)) {\ + arguments.attribute(UTF8_TO_TCHAR(PyUnicode_AsUTF8(value)));\ + }\ +} + #define ue_py_slate_farguments_optional_text(param, attribute) { PyObject *value = ue_py_dict_get_item(kwargs, param);\ if (value) {\ if (PyUnicode_Check(value)) {\ @@ -449,6 +455,7 @@ class UPythonSlateDelegate : public UPythonDelegate void OnTextCommitted(const FText &text, ETextCommit::Type commit_type); void OnFloatChanged(float value); void OnFloatCommitted(float value, ETextCommit::Type commit_type); + void OnSort(const EColumnSortPriority::Type SortPriority, const FName& ColumnName, const EColumnSortMode::Type NewSortMode); void OnLinearColorChanged(FLinearColor color); diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index e739f2b4e..aff43a0c9 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -26,6 +26,7 @@ #include "Editor/LandscapeEditor/Public/LandscapeFileFormatInterface.h" #include "Developer/Settings/Public/ISettingsModule.h" +#include "Engine/Blueprint.h" PyObject *py_unreal_engine_editor_play_in_viewport(PyObject * self, PyObject * args) @@ -1120,6 +1121,33 @@ PyObject *py_unreal_engine_create_blueprint(PyObject * self, PyObject * args) } +PyObject *py_unreal_engine_get_blueprint_hierarchy_from_class(PyObject * self, PyObject * args) +{ + PyObject *py_class; + if (!PyArg_ParseTuple(args, "O:get_blueprint_hierarchy_from_class", &py_class)) + { + return NULL; + } + + UClass* u_class = ue_py_check_type(py_class); + if (!u_class) + { + return PyErr_Format(PyExc_Exception, "argument is not a UClass"); + } + + + TArray outBPs; + UBlueprint::GetBlueprintHierarchyFromClass(u_class, outBPs); + + PyObject *py_bpClasses = PyList_New(0); + + for (UBlueprint* bpClass : outBPs) { + ue_PyUObject *item = ue_get_python_wrapper(bpClass); + if (item) + PyList_Append(py_bpClasses, (PyObject *)item); + } + return py_bpClasses; +} PyObject *py_unreal_engine_reload_blueprint(PyObject * self, PyObject * args) { @@ -1602,6 +1630,35 @@ PyObject *py_unreal_engine_blueprint_add_ubergraph_page(PyObject * self, PyObjec return ret; } +PyObject *py_unreal_engine_blueprint_get_all_graphs(PyObject * self, PyObject * args) +{ + PyObject *py_blueprint; + + if (!PyArg_ParseTuple(args, "O:blueprint_get_all_graphs", &py_blueprint)) + { + return nullptr; + } + + UBlueprint *bp = ue_py_check_type(py_blueprint); + if (!bp) + return PyErr_Format(PyExc_Exception, "uobject is not a UBlueprint"); + + PyObject *py_graphs = PyList_New(0); + + TArray graphs; + + bp->GetAllGraphs(graphs); + + for (UEdGraph *graph : graphs) + { + ue_PyUObject *item = ue_get_python_wrapper(graph); + if (item) + PyList_Append(py_graphs, (PyObject *)item); + } + + return py_graphs; +} + PyObject *py_unreal_engine_create_new_graph(PyObject * self, PyObject * args) { @@ -1665,35 +1722,6 @@ PyObject *py_unreal_engine_create_new_graph(PyObject * self, PyObject * args) Py_RETURN_UOBJECT(graph); } -PyObject *py_unreal_engine_editor_blueprint_graphs(PyObject * self, PyObject * args) -{ - PyObject *py_blueprint; - - if (!PyArg_ParseTuple(args, "O:blueprint_graphs", &py_blueprint)) - { - return nullptr; - } - - UBlueprint *bp = ue_py_check_type(py_blueprint); - if (!bp) - return PyErr_Format(PyExc_Exception, "uobject is not a UBlueprint"); - - PyObject *py_graphs = PyList_New(0); - - TArray graphs; - - bp->GetAllGraphs(graphs); - - for (UEdGraph *graph : graphs) - { - ue_PyUObject *item = ue_get_python_wrapper(graph); - if (item) - PyList_Append(py_graphs, (PyObject *)item); - } - - return py_graphs; -} - PyObject *py_unreal_engine_editor_on_asset_post_import(PyObject * self, PyObject * args) { PyObject *py_callable; @@ -2237,6 +2265,27 @@ PyObject *py_unreal_engine_register_settings(PyObject * self, PyObject * args) Py_RETURN_NONE; } +PyObject * py_unreal_engine_show_viewer(PyObject * self, PyObject * args) +{ + char *container_name; + char *category_name; + char *section_name; + + if (!PyArg_ParseTuple(args, "sss:register_settings", &container_name, &category_name, §ion_name)) + return nullptr; + + if (ISettingsModule* SettingsModule = FModuleManager::GetModulePtr("Settings")) + { + SettingsModule->ShowViewer(container_name, category_name, section_name); + } + else + { + return PyErr_Format(PyExc_Exception, "unable to find the Settings Module"); + } + + Py_RETURN_NONE; +} + PyObject *py_unreal_engine_unregister_settings(PyObject * self, PyObject * args) { char *container_name; diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.h b/Source/UnrealEnginePython/Private/UEPyEditor.h index 0498fa498..566ea43c7 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.h +++ b/Source/UnrealEnginePython/Private/UEPyEditor.h @@ -40,6 +40,7 @@ PyObject *py_unreal_engine_get_long_package_path(PyObject *, PyObject *); PyObject *py_unreal_engine_create_blueprint(PyObject *, PyObject *); PyObject *py_unreal_engine_compile_blueprint(PyObject *, PyObject *); PyObject *py_unreal_engine_message_dialog_open(PyObject *, PyObject *); +PyObject *py_unreal_engine_get_blueprint_hierarchy_from_class(PyObject *, PyObject *); PyObject *py_unreal_engine_reload_blueprint(PyObject *, PyObject *); PyObject *py_unreal_engine_replace_blueprint(PyObject *, PyObject *); PyObject *py_unreal_engine_create_blueprint_from_actor(PyObject *, PyObject *); @@ -75,6 +76,7 @@ PyObject *py_unreal_engine_editor_take_high_res_screen_shots(PyObject *, PyObjec PyObject *py_unreal_engine_blueprint_add_function(PyObject *, PyObject *); PyObject *py_unreal_engine_blueprint_add_ubergraph_page(PyObject *, PyObject *); +PyObject *py_unreal_engine_blueprint_get_all_graphs(PyObject *, PyObject *); PyObject *py_unreal_engine_create_new_graph(PyObject *, PyObject *); @@ -112,5 +114,6 @@ PyObject *py_unreal_engine_heightmap_import(PyObject *, PyObject *); PyObject *py_unreal_engine_play_preview_sound(PyObject *, PyObject *); PyObject *py_unreal_engine_register_settings(PyObject *, PyObject *); +PyObject *py_unreal_engine_show_viewer(PyObject *, PyObject *); PyObject *py_unreal_engine_unregister_settings(PyObject *, PyObject *); #endif diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 628edcbbb..4c51fd5a9 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -272,7 +272,8 @@ static PyMethodDef unreal_engine_methods[] = { { "create_blueprint", py_unreal_engine_create_blueprint, METH_VARARGS, "" }, { "create_blueprint_from_actor", py_unreal_engine_create_blueprint_from_actor, METH_VARARGS, "" }, { "replace_blueprint", py_unreal_engine_replace_blueprint, METH_VARARGS, "" }, - { "reload_blueprint", py_unreal_engine_reload_blueprint, METH_VARARGS, "" }, + { "get_blueprint_hierarchy_from_class", py_unreal_engine_get_blueprint_hierarchy_from_class, METH_VARARGS, "" }, + { "reload_blueprint", py_unreal_engine_reload_blueprint, METH_VARARGS, "" }, { "compile_blueprint", py_unreal_engine_compile_blueprint, METH_VARARGS, "" }, { "blueprint_add_member_variable", py_unreal_engine_blueprint_add_member_variable, METH_VARARGS, "" }, { "blueprint_add_event_dispatcher", py_unreal_engine_blueprint_add_event_dispatcher, METH_VARARGS, "" }, @@ -280,6 +281,7 @@ static PyMethodDef unreal_engine_methods[] = { { "blueprint_set_variable_visibility", py_unreal_engine_blueprint_set_variable_visibility, METH_VARARGS, "" }, { "blueprint_add_function", py_unreal_engine_blueprint_add_function, METH_VARARGS, "" }, { "blueprint_add_ubergraph_page", py_unreal_engine_blueprint_add_ubergraph_page, METH_VARARGS, "" }, + { "blueprint_get_all_graphs", py_unreal_engine_blueprint_get_all_graphs, METH_VARARGS, "" }, { "blueprint_mark_as_structurally_modified", py_unreal_engine_blueprint_mark_as_structurally_modified, METH_VARARGS, "" }, { "add_component_to_blueprint", py_unreal_engine_add_component_to_blueprint, METH_VARARGS, "" }, { "get_blueprint_components", py_unreal_engine_get_blueprint_components, METH_VARARGS, "" }, @@ -377,6 +379,7 @@ static PyMethodDef unreal_engine_methods[] = { { "editor_take_high_res_screen_shots", py_unreal_engine_editor_take_high_res_screen_shots, METH_VARARGS, "" }, { "register_settings", py_unreal_engine_register_settings, METH_VARARGS, "" }, + { "show_viewer", py_unreal_engine_show_viewer, METH_VARARGS, "" }, { "unregister_settings", py_unreal_engine_unregister_settings, METH_VARARGS, "" }, #endif @@ -3490,7 +3493,7 @@ bool do_ue_py_check_childstruct(PyObject *py_obj, UScriptStruct* parent_u_struct { ue_PyUScriptStruct *ue_py_struct = py_ue_is_uscriptstruct(py_obj); if (!ue_py_struct) { - false; + return false; } return ue_py_struct->u_struct->IsChildOf(parent_u_struct); From 9aff177500d6d2b1ea880ff921d04c5f4a0bc638 Mon Sep 17 00:00:00 2001 From: ikrima Date: Mon, 18 Dec 2017 22:40:18 -0800 Subject: [PATCH 018/538] FIX: SPythonWidget was not holding a refcount to its python object host --- Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp | 1 - Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.h | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp index dbab4540c..27beedcee 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp @@ -105,7 +105,6 @@ PyTypeObject ue_PySPythonWidgetType = { static int ue_py_spython_widget_init(ue_PySPythonWidget *self, PyObject *args, PyObject *kwargs) { ue_py_snew_simple(SPythonWidget, s_compound_widget.s_widget); - UE_LOG(LogPython, Warning, TEXT("Initializing World Widget!!!")); sw_python_widget->SetPyObject((PyObject *)self); return 0; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.h b/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.h index 0b8223b81..4289d94bb 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.h @@ -275,6 +275,8 @@ class SPythonWidget : public SCompoundWidget void SetPyObject(PyObject *py_obj) { + Py_XDECREF(self); + Py_INCREF(py_obj); self = py_obj; } From e01febc58119d56681e83142106339ddcf6cd205 Mon Sep 17 00:00:00 2001 From: ikrima Date: Mon, 22 Jan 2018 00:19:21 -0800 Subject: [PATCH 019/538] Slate extensions: -Extend python plugin to support boxing & unboxing of slate <> pyslate widgets (get_swidget_from_wrapper & create_wrapper_from_pyswidget) -Allows Python & BP exposed functions to pass around slate widgets to enable slate widget construction in python to be passed to C++ where more advanced/unexposed slate functionality can be used -Adding support for buttonstyle in sbutton slate initialization -Exposing ue.unload_package() to Python -Adding SNodePanel & SGraphPanel Misc: -FIX: Default alpha value for flinearcolor init to 1 instead of 255 -FIX: load_package was not properly using the full long package name -Bypassed error in UEPython console manager, it will now return always return the string value of a registered console variable without using the broken type checking code. --- .../ConsoleManager/UEPyIConsoleManager.cpp | 4 +- .../Private/Slate/UEPySButton.cpp | 1 + .../Private/Slate/UEPySGraphPanel.cpp | 134 ++++++++++++++++++ .../Private/Slate/UEPySGraphPanel.h | 17 +++ .../Private/Slate/UEPySNodePanel.cpp | 54 +++++++ .../Private/Slate/UEPySNodePanel.h | 17 +++ .../Private/Slate/UEPySlate.cpp | 42 ++++++ .../Private/Slate/UEPySlate.h | 5 + .../UnrealEnginePython/Private/UEPyEngine.cpp | 29 +++- .../UnrealEnginePython/Private/UEPyEngine.h | 3 + .../UnrealEnginePython/Private/UEPyModule.cpp | 6 +- .../Private/UObject/UEPyObject.cpp | 22 +-- .../Private/Wrappers/UEPyFLinearColor.cpp | 2 +- .../Public/PyNativeWidgetHost.h | 17 +++ 14 files changed, 340 insertions(+), 13 deletions(-) create mode 100644 Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp create mode 100644 Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.h create mode 100644 Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.cpp create mode 100644 Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.h diff --git a/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp b/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp index bf911ff12..008b3a1a7 100644 --- a/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp +++ b/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp @@ -132,11 +132,11 @@ static PyObject *py_ue_iconsole_manager_get_string(PyObject *cls, PyObject * arg return PyErr_Format(PyExc_Exception, "console object \"%s\" is not a variable", key); } - TConsoleVariableData *c_string = c_object->AsVariableString(); + /*TConsoleVariableData *c_string = c_object->AsVariableString(); if (!c_string) { return PyErr_Format(PyExc_Exception, "console object \"%s\" is not a string", key); - } + }*/ return PyUnicode_FromString(TCHAR_TO_UTF8(*var->GetString())); } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp index 7a3553935..90e35fced 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp @@ -106,6 +106,7 @@ static int ue_py_sbutton_init(ue_PySButton *self, PyObject *args, PyObject *kwar ue_py_slate_farguments_text("text", Text); ue_py_slate_farguments_optional_enum("text_flow_direction", TextFlowDirection, ETextFlowDirection); ue_py_slate_farguments_optional_enum("text_shaping_method", TextShapingMethod, ETextShapingMethod); + ue_py_slate_farguments_optional_struct_ptr("button_style", ButtonStyle, FButtonStyle); ue_py_slate_farguments_optional_struct_ptr("text_style", TextStyle, FTextBlockStyle); ue_py_slate_farguments_optional_enum("touch_method", TouchMethod, EButtonTouchMethod::Type); ue_py_slate_farguments_optional_enum("v_align", VAlign, EVerticalAlignment); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp new file mode 100644 index 000000000..6f810ac62 --- /dev/null +++ b/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp @@ -0,0 +1,134 @@ +#include "UnrealEnginePythonPrivatePCH.h" + +#include "UEPySGraphPanel.h" + +#define sw_graph_panel StaticCastSharedRef(self->s_nodePanel.s_panel.s_widget) + +/* +static PyObject *py_ue_sgraph_panel_add_slot(ue_PySGraphPanel* self, PyObject *args, PyObject *kwargs) +{ + PyObject *py_content; + int z_order = -1; + int h_align = 0; + PyObject *padding = nullptr; + int v_align = 0; + + char *kwlist[] = { (char *)"widget", + (char *)"z_order", + (char *)"h_align", + (char *)"padding", + (char *)"v_align", + nullptr }; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|iiOi:add_slot", kwlist, + &py_content, + &z_order, + &h_align, + &padding, + &v_align)) + { + return nullptr; + } + + ue_PySWidget *py_swidget = py_ue_is_swidget(py_content); + if (!py_swidget) + { + return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); + } + + Py_INCREF(py_swidget); + self->s_nodePanel.s_panel.s_widget.py_swidget_slots.Add(py_swidget); + + sw_graph_panel; + + SOverlay::FOverlaySlot &fslot = sw_graph_panel->//sw_overlay->AddSlot(z_order); + fslot.AttachWidget(py_swidget->s_widget->AsShared()); + fslot.HAlign((EHorizontalAlignment)h_align); + if (padding) + { + if (PyTuple_Check(padding)) + { + FMargin margin; + if (!PyArg_ParseTuple(padding, "f|fff", &margin.Left, &margin.Top, &margin.Right, &margin.Bottom)) + { + return PyErr_Format(PyExc_Exception, "invalid padding value"); + } + fslot.Padding(margin); + } + else if (PyNumber_Check(padding)) + { + PyObject *py_float = PyNumber_Float(padding); + fslot.Padding(PyFloat_AsDouble(py_float)); + Py_DECREF(py_float); + } + else + { + return PyErr_Format(PyExc_Exception, "invalid padding value"); + } + } + fslot.VAlign((EVerticalAlignment)v_align); + + Py_INCREF(self); + return (PyObject *)self; +} +*/ + +static PyMethodDef ue_PySGraphPanel_methods[] = { + //{"add_slot", (PyCFunction)py_ue_sgraph_panel_add_slot, METH_VARARGS | METH_KEYWORDS, "" }, + { NULL } /* Sentinel */ +}; + +PyTypeObject ue_PySGraphPanelType = { + PyVarObject_HEAD_INIT(NULL, 0) + "unreal_engine.SGraphPanel", /* tp_name */ + sizeof(ue_PySGraphPanel), /* tp_basicsize */ + 0, /* tp_itemsize */ + 0, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ + "Unreal Engine SGraphPanel", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + ue_PySGraphPanel_methods, /* tp_methods */ +}; + +//why do you need to return an integer? +static int ue_py_sgraph_panel_init(ue_PySGraphPanel *self, PyObject *args, PyObject *kwargs) +{ + //so for right now, let's just have this commented out to see if we get any errors + //if says we don't have s_nodePanel + ue_py_snew_simple(SGraphPanel, s_nodePanel.s_panel.s_widget);//s_nodePanel.s_panel); + //ue_py_snew(SGraphPanel, s_nodePanel.s_panel.s_widget); + + return 0; +} + +void ue_python_init_sgraph_panel(PyObject *ue_module) +{ + //ue_PySGraphPanelType.tp_init = (initproc)ue_py_sgraph_panel_init; + //ue_PySGraphPanelType.tp_call = (ternaryfunc)py_ue_sgraph_panel_add_slot; + ue_PySGraphPanelType.tp_base = &ue_PySNodePanelType; + + if (PyType_Ready(&ue_PySGraphPanelType) < 0) + return; + + Py_INCREF(&ue_PySGraphPanelType); + PyModule_AddObject(ue_module, "SGraphPanel", (PyObject *)&ue_PySGraphPanelType); +} \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.h b/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.h new file mode 100644 index 000000000..b2ff64f01 --- /dev/null +++ b/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.h @@ -0,0 +1,17 @@ +#pragma once + +#include "UnrealEnginePython.h" + +#include "UEPySNodePanel.h" + +#include "Editor/GraphEditor/Public/SGraphPanel.h" + +extern PyTypeObject ue_PySGraphPanelType; + +typedef struct { + ue_PySNodePanel s_nodePanel; + /* Type-specific fields go here. */ +} ue_PySGraphPanel; + + +void ue_python_init_sgraph_panel(PyObject *); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.cpp new file mode 100644 index 000000000..b166daa8a --- /dev/null +++ b/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.cpp @@ -0,0 +1,54 @@ + +#include "UnrealEnginePythonPrivatePCH.h" + +#include "UEPySNodePanel.h" + +#define sw_node_panel StaticCastSharedRef(self->s_panel.s_widget) + +static PyMethodDef ue_PySNodePanel_methods[] = { + { NULL } /* Sentinel */ +}; + + +PyTypeObject ue_PySNodePanelType = { + PyVarObject_HEAD_INIT(NULL, 0) + "unreal_engine.SNodePanel", /* tp_name */ + sizeof(ue_PySNodePanel), /* tp_basicsize */ + 0, /* tp_itemsize */ + 0, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ + "Unreal Engine SNode Panel", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + ue_PySNodePanel_methods, /* tp_methods */ +}; + +void ue_python_init_snode_panel(PyObject *ue_module) +{ + + ue_PySNodePanelType.tp_base = &ue_PySPanelType; + + if (PyType_Ready(&ue_PySNodePanelType) < 0) + return; + + Py_INCREF(&ue_PySNodePanelType); + PyModule_AddObject(ue_module, "SNodePanel", (PyObject *)&ue_PySNodePanelType); +} diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.h b/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.h new file mode 100644 index 000000000..7b604f99c --- /dev/null +++ b/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.h @@ -0,0 +1,17 @@ +#pragma once + +#include "UnrealEnginePython.h" + +#include "UEPySPanel.h" + +#include "Editor/GraphEditor/Public/SNodePanel.h" + +extern PyTypeObject ue_PySNodePanelType; + +typedef struct { + ue_PySPanel s_panel; + /* Type-specific fields go here. */ +} ue_PySNodePanel; + + +void ue_python_init_snode_panel(PyObject *); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp index 6c36e7605..f06302b9c 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp @@ -24,6 +24,7 @@ #include "Runtime/AppFramework/Public/Widgets/Colors/SColorPicker.h" #include "UEPySlate.h" +#include "PyNativeWidgetHost.h" FReply UPythonSlateDelegate::OnMouseEvent(const FGeometry &geometry, const FPointerEvent &pointer_event) { @@ -805,6 +806,8 @@ void ue_python_init_slate(PyObject *module) ue_python_init_sspacer(module); ue_python_init_spython_widget(module); ue_python_init_soverlay(module); + ue_python_init_snode_panel(module); + ue_python_init_sgraph_panel(module); #if WITH_EDITOR @@ -1296,6 +1299,45 @@ PyObject *py_unreal_engine_invoke_tab(PyObject * self, PyObject * args) } +PyObject * py_unreal_engine_get_swidget_from_wrapper(PyObject *self, PyObject *args) +{ + PyObject *py_object; + + if (!PyArg_ParseTuple(args, "O:get_swidget_from_wrapper", &py_object)) + { + return NULL; + } + + FPythonSWidgetWrapper *py_swidget_wrapper = ue_py_check_struct(py_object); + if (!py_swidget_wrapper) + return PyErr_Format(PyExc_Exception, "argument is not a FPythonSWidgetWrapper"); + + if (!py_swidget_wrapper->Widget.IsValid()) + return PyErr_Format(PyExc_Exception, "wrapper contained invalid SWidget!"); + + return (PyObject *)py_ue_new_swidget(py_swidget_wrapper->Widget->AsShared(), &ue_PySWidgetType); +} + +PyObject * py_unreal_engine_create_wrapper_from_pyswidget(PyObject *self, PyObject *args) +{ + PyObject *py_object; + + if (!PyArg_ParseTuple(args, "O:create_wrapper_from_pyswidget", &py_object)) + { + return NULL; + } + + ue_PySWidget *py_swidget = py_ue_is_swidget(py_object); + if (!py_swidget) { + return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); + } + + Py_INCREF(py_swidget); + FPythonSWidgetWrapper py_swidget_wrapper; + py_swidget_wrapper.Widget = py_swidget->s_widget; + return py_ue_new_uscriptstruct(FPythonSWidgetWrapper::StaticStruct(), (uint8 *)&py_swidget_wrapper); +} + PyObject *py_unreal_engine_open_color_picker(PyObject *self, PyObject *args, PyObject *kwargs) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h index 1ff82a4c7..71d6bd085 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h @@ -59,6 +59,8 @@ #include "UEPySSpacer.h" #include "UEPySPythonWidget.h" #include "UEPySOverlay.h" +#include "UEPySNodePanel.h" +#include "UEPySGraphPanel.h" #include "UEPyFTabManager.h" #include "UEPyFTabSpawnerEntry.h" @@ -111,6 +113,8 @@ PyObject *py_unreal_engine_add_asset_view_context_menu_extension(PyObject * self #endif PyObject *py_unreal_engine_invoke_tab(PyObject *, PyObject *); +PyObject *py_unreal_engine_get_swidget_from_wrapper(PyObject *, PyObject *); +PyObject *py_unreal_engine_create_wrapper_from_pyswidget(PyObject *, PyObject *); PyObject *py_unreal_engine_register_nomad_tab_spawner(PyObject *, PyObject *); PyObject *py_unreal_engine_unregister_nomad_tab_spawner(PyObject *, PyObject *); @@ -125,6 +129,7 @@ void ue_py_unregister_swidget(SWidget *); void ue_py_setup_swidget(ue_PySWidget *); + PyObject *ue_py_dict_get_item(PyObject *, const char *); template ue_PySWidget *py_ue_new_swidget(TSharedRef s_widget, PyTypeObject *py_type) diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index 3cfeb51af..986ed22ce 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -5,7 +5,9 @@ #include "Developer/DesktopPlatform/Public/IDesktopPlatform.h" #include "Developer/DesktopPlatform/Public/DesktopPlatformModule.h" - +#if WITH_EDITOR +#include "PackageTools.h" +#endif PyObject *py_unreal_engine_log(PyObject * self, PyObject * args) @@ -292,6 +294,31 @@ PyObject *py_unreal_engine_load_package(PyObject * self, PyObject * args) return (PyObject *)ret; } +#if WITH_EDITOR +PyObject *py_unreal_engine_unload_package(PyObject * self, PyObject * args) +{ + PyObject *obj; + if (!PyArg_ParseTuple(args, "O:unload_package", &obj)) + { + return NULL; + } + + UPackage* packageToUnload = ue_py_check_type(obj); + if (!packageToUnload) + { + return PyErr_Format(PyExc_Exception, "argument is not a UPackage"); + } + + FText outErrorMsg; + if (!PackageTools::UnloadPackages({ packageToUnload }, outErrorMsg)) + { + return PyErr_Format(PyExc_Exception, TCHAR_TO_UTF8(*outErrorMsg.ToString())); + } + + Py_RETURN_NONE; +} +#endif + PyObject *py_unreal_engine_load_class(PyObject * self, PyObject * args) { char *name; diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.h b/Source/UnrealEnginePython/Private/UEPyEngine.h index d6f31b518..c5cc5adbb 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.h +++ b/Source/UnrealEnginePython/Private/UEPyEngine.h @@ -32,6 +32,9 @@ PyObject *py_unreal_engine_load_class(PyObject *, PyObject *); PyObject *py_unreal_engine_load_struct(PyObject *, PyObject *); PyObject *py_unreal_engine_load_enum(PyObject *, PyObject *); PyObject *py_unreal_engine_load_package(PyObject *, PyObject *); +#if WITH_EDITOR +PyObject *py_unreal_engine_unload_package(PyObject *, PyObject *); +#endif PyObject *py_unreal_engine_string_to_guid(PyObject *, PyObject *); PyObject *py_unreal_engine_new_guid(PyObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 1f9d28e11..3327445fa 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -166,7 +166,9 @@ static PyMethodDef unreal_engine_methods[] = { { "load_object", py_unreal_engine_load_object, METH_VARARGS, "" }, { "load_package", py_unreal_engine_load_package, METH_VARARGS, "" }, - +#if WITH_EDITOR + { "unload_package", py_unreal_engine_unload_package, METH_VARARGS, "" }, +#endif { "get_forward_vector", py_unreal_engine_get_forward_vector, METH_VARARGS, "" }, { "get_up_vector", py_unreal_engine_get_up_vector, METH_VARARGS, "" }, { "get_right_vector", py_unreal_engine_get_right_vector, METH_VARARGS, "" }, @@ -209,6 +211,8 @@ static PyMethodDef unreal_engine_methods[] = { { "register_nomad_tab_spawner", py_unreal_engine_register_nomad_tab_spawner, METH_VARARGS, "" }, { "unregister_nomad_tab_spawner", py_unreal_engine_unregister_nomad_tab_spawner, METH_VARARGS, "" }, { "invoke_tab", py_unreal_engine_invoke_tab, METH_VARARGS, "" }, + { "get_swidget_from_wrapper", py_unreal_engine_get_swidget_from_wrapper, METH_VARARGS, "" }, + { "create_wrapper_from_pyswidget", py_unreal_engine_create_wrapper_from_pyswidget, METH_VARARGS, "" }, #if WITH_EDITOR { "get_editor_window", py_unreal_engine_get_editor_window, METH_VARARGS, "" }, { "add_menu_extension", py_unreal_engine_add_menu_extension, METH_VARARGS, "" }, diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp index d187527ee..392c2427a 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp @@ -1624,7 +1624,7 @@ PyObject *py_ue_save_package(ue_PyUObject * self, PyObject * args) package = (UPackage *)outer; has_package = true; } - else if (u_object->IsA() && u_object != GetTransientPackage()) + else if (u_object && u_object->IsA() && u_object != GetTransientPackage()) { package = (UPackage *)u_object; has_package = true; @@ -1637,13 +1637,13 @@ PyObject *py_ue_save_package(ue_PyUObject * self, PyObject * args) return PyErr_Format(PyExc_Exception, "the object has no associated package, please specify a name"); } if (!has_package) - { - // unmark transient object - if (u_object->HasAnyFlags(RF_Transient)) - { - u_object->ClearFlags(RF_Transient); - u_object->SetFlags(RF_Public | RF_Standalone); - } + { + // unmark transient object + if (u_object->HasAnyFlags(RF_Transient)) + { + u_object->ClearFlags(RF_Transient); + u_object->SetFlags(RF_Public | RF_Standalone); + } } package = (UPackage *)StaticFindObject(nullptr, ANY_PACKAGE, UTF8_TO_TCHAR(name), true); // create a new package if it does not exist @@ -1686,6 +1686,12 @@ PyObject *py_ue_save_package(ue_PyUObject * self, PyObject * args) UE_LOG(LogPython, Warning, TEXT("no file mapped to UPackage %s, setting its FileName to %s"), *package->GetPathName(), *package->FileName.ToString()); } + // NOTE: FileName may not be a fully qualified filepath + if (FPackageName::IsValidLongPackageName(package->FileName.ToString())) + { + package->FileName = *FPackageName::LongPackageNameToFilename(package->GetPathName(), FPackageName::GetAssetPackageExtension()); + } + if (UPackage::SavePackage(package, u_object, RF_Public | RF_Standalone, *package->FileName.ToString())) { FAssetRegistryModule::AssetCreated(u_object); diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFLinearColor.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFLinearColor.cpp index 8f17146d7..d9537a0bd 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFLinearColor.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFLinearColor.cpp @@ -191,7 +191,7 @@ static int ue_py_flinearcolor_init(ue_PyFLinearColor *self, PyObject *args, PyOb float r = 0; float g = 0; float b = 0; - float a = 255; + float a = 1.0; if (!PyArg_ParseTuple(args, "|ffff", &r, &g, &b, &a)) return -1; diff --git a/Source/UnrealEnginePython/Public/PyNativeWidgetHost.h b/Source/UnrealEnginePython/Public/PyNativeWidgetHost.h index b80dcf93e..dca7f6a1f 100644 --- a/Source/UnrealEnginePython/Public/PyNativeWidgetHost.h +++ b/Source/UnrealEnginePython/Public/PyNativeWidgetHost.h @@ -6,6 +6,23 @@ #include "Components/NativeWidgetHost.h" #include "PyNativeWidgetHost.generated.h" +USTRUCT(BlueprintType) +struct UNREALENGINEPYTHON_API FPythonSWidgetWrapper +{ + GENERATED_USTRUCT_BODY() + + TSharedPtr Widget; +}; + +template<> +struct TStructOpsTypeTraits : public TStructOpsTypeTraitsBase2 +{ + enum + { + WithCopy = true, + }; +}; + /** * */ From a9a72a4229a03bfc503fe5d4c689d4f3ce76a7a2 Mon Sep 17 00:00:00 2001 From: ikrima Date: Mon, 22 Jan 2018 00:50:46 -0800 Subject: [PATCH 020/538] Add assert check to make sure we stack allocate enough memory in ufunction_call --- Source/UnrealEnginePython/Private/UEPyModule.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 7bd38d0fc..7071c6814 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -3023,7 +3023,10 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * } } - //TODO: rdeioris: Should assert warn if u_funciton->ParmsSize != u_function->PropertiesSize bc it overflowed + if (u_function->PropertiesSize > u_function->ParmsSize) + { + return PyErr_Format(PyExc_Exception, "UFunction PropertiesSize (%i) > ParmsSize (%i).", u_function->PropertiesSize, u_function->ParmsSize); + } uint8 *buffer = (uint8 *)FMemory_Alloca(u_function->ParmsSize); FMemory::Memzero(buffer, u_function->ParmsSize); @@ -3034,7 +3037,7 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * UProperty *prop = *IArgs; if (!prop->HasAnyPropertyFlags(CPF_ZeroConstructor)) { - prop->InitializeValue_InContainer(buffer); + prop->InitializeValue_InContainer(buffer); } #if WITH_EDITOR @@ -3047,10 +3050,9 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * #else prop->ImportText(*default_key_value, prop->ContainerPtrToValuePtr(buffer), PPF_Localized, NULL); #endif - } + } #endif - -} + } Py_ssize_t tuple_len = PyTuple_Size(args); From 516cf31ce2f10a5237ed599d169528f3ec3109df Mon Sep 17 00:00:00 2001 From: ikrima Date: Mon, 22 Jan 2018 03:50:09 -0800 Subject: [PATCH 021/538] Extend Slate: Add macro to support named slots ue_py_slate_farguments_optional_named_slot() will attempt to look up a widget in the kwargs and set it to the named slot passed in. Works with default slots as well as they wrap named slots NOTE: This is confusing bad design imho > Macros with optional e.g. ue_py_slate_farguments_optional_enum do not actually mean they are optional vs not. _optional_ variants mean they are arguments vs attributes i.e. unable to take lambdas vs able to take lambdas as well as value types. --- .../Private/Slate/UEPySHeaderRow.cpp | 18 +++++++++++++----- .../Private/Slate/UEPySlate.h | 16 ++++++++++++++++ 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.cpp index 59d574cc0..d3b01bfd7 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.cpp @@ -18,23 +18,31 @@ static PyObject *py_ue_sheader_row_add_column(ue_PySHeaderRow *self, PyObject *a ue_py_slate_farguments_optional_string("column_id", ColumnId); - ue_py_slate_farguments_optional_text("default_label", DefaultLabel); - ue_py_slate_farguments_optional_text("default_tooltip", DefaultTooltip); + ue_py_slate_farguments_text("default_label", DefaultLabel); + ue_py_slate_farguments_text("default_tooltip", DefaultTooltip); ue_py_slate_farguments_optional_enum("h_align_header", HAlignHeader, EHorizontalAlignment); ue_py_slate_farguments_optional_enum("v_align_header", VAlignHeader, EVerticalAlignment); - ue_py_slate_farguments_optional_float("fill_width", FillWidth); + ue_py_slate_farguments_float("fill_width", FillWidth); ue_py_slate_farguments_optional_float("fixed_width", FixedWidth); + ue_py_slate_farguments_float("manual_width", ManualWidth); + + ue_py_slate_farguments_optional_named_slot("header_content", HeaderContent); + ue_py_slate_farguments_optional_struct("header_content_padding", HeaderContentPadding, FMargin); + + ue_py_slate_farguments_optional_named_slot("menu_content", MenuContent); ue_py_slate_farguments_optional_enum("h_align_cell", HAlignCell, EHorizontalAlignment); ue_py_slate_farguments_optional_enum("v_align_cell", VAlignCell, EVerticalAlignment); - ue_py_slate_farguments_optional_enum("sort_mode", SortMode, EColumnSortMode::Type); - ue_py_slate_farguments_optional_enum("sort_priority", SortPriority, EColumnSortPriority::Type); + ue_py_slate_farguments_enum("sort_mode", SortMode, EColumnSortMode::Type); + ue_py_slate_farguments_enum("sort_priority", SortPriority, EColumnSortPriority::Type); ue_py_slate_farguments_event("on_sort", OnSort, FOnSortModeChanged, OnSort); + ue_py_slate_farguments_bool("should_generate_widget", ShouldGenerateWidget); + //sw_header_row->AddColumn( // SHeaderRow::Column(FName(UTF8_TO_TCHAR(column_id))) // .DefaultLabel(FText::FromString(UTF8_TO_TCHAR(default_label))) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h index 71d6bd085..6c64ec8e5 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h @@ -398,6 +398,22 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); }\ } +#define ue_py_slate_farguments_optional_named_slot(param, attribute) { PyObject *value = ue_py_dict_get_item(kwargs, param);\ + if (value) {\ + if (ue_PySWidget *py_swidget = py_ue_is_swidget(value)) {\ + Py_INCREF(py_swidget);\ + arguments.attribute()\ + [\ + py_swidget->s_widget\ + ];\ + }\ + else {\ + PyErr_SetString(PyExc_TypeError, "unsupported type for attribute " param); \ + return -1;\ + }\ + }\ +} + #define ue_py_slate_farguments_bool(param, attribute) ue_py_slate_up(bool, GetterBool, param, attribute)\ else if (PyObject_IsTrue(value)) {\ From ab09d025f1cf42e2535ceb755b25b95c2eae05ce Mon Sep 17 00:00:00 2001 From: ikrima Date: Tue, 23 Jan 2018 06:35:30 -0800 Subject: [PATCH 022/538] Slate Extension: Adding NumericBox and generic support for slot arguments -Pass numeric_type=int() -Add support for ue_py_slate_farguments_tint -FIX: Mimic UObject::CallFunctionByNameWithArguments() in py_ue_ufunction_call Python code was importing return properties into stack allocated buffer which could stack corrupt. -Normal non-named slots are supported in Slate as well by using ue_py_slate_setup_hack_slot_args() and then proceeding to use the normal slate argument macros. This allows adding python lambdas to slate attributes on slots -SHorizontalBox is the only widget that supports that's been converted to the new way now -Benefit is now we can use widget= syntax to place the slot's widget content after the attribute specification --- .../Private/Slate/UEPySHorizontalBox.cpp | 116 +++++++----------- .../Private/Slate/UEPySNumericEntryBox.cpp | 82 +++++++++---- .../Private/Slate/UEPySlate.cpp | 26 ++++ .../Private/Slate/UEPySlate.h | 25 ++++ .../UnrealEnginePython/Private/UEPyModule.cpp | 38 +++--- 5 files changed, 169 insertions(+), 118 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySHorizontalBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySHorizontalBox.cpp index e0a7332ad..56a42c4a0 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySHorizontalBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySHorizontalBox.cpp @@ -9,80 +9,48 @@ static PyObject *py_ue_shorizontal_box_add_slot(ue_PySHorizontalBox *self, PyObject * args, PyObject *kwargs) { - PyObject *py_content; - int h_align = 0; - float max_width = 0; - PyObject *padding = nullptr; - int v_align = 0; - float fill_width = 0; - PyObject *py_auto_width = nullptr; - - char *kwlist[] = { (char *)"widget", - (char *)"h_align", - (char *)"max_width", - (char *)"padding", - (char *)"v_align", - (char *)"fill_width", - (char *)"auto_width", - nullptr }; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|ifOifO:add_slot", kwlist, - &py_content, - &h_align, - &max_width, - &padding, - &v_align, - &fill_width, - &py_auto_width)) - { - return NULL; - } - - ue_PySWidget *py_swidget = py_ue_is_swidget(py_content); - if (!py_swidget) - { - return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); - } - - Py_INCREF(py_swidget); - self->s_box_panel.s_panel.s_widget.py_swidget_slots.Add(py_swidget); - - SHorizontalBox::FSlot &fslot = sw_horizontal_box->AddSlot(); - fslot.AttachWidget(py_swidget->s_widget->AsShared()); - fslot.HAlign((EHorizontalAlignment)h_align); - if (max_width != 0) - fslot.MaxWidth(max_width); - if (fill_width) - fslot.FillWidth(fill_width); - if (padding) - { - if (PyTuple_Check(padding)) - { - FMargin margin; - if (!PyArg_ParseTuple(padding, "f|fff", &margin.Left, &margin.Top, &margin.Right, &margin.Bottom)) - { - return PyErr_Format(PyExc_Exception, "invalid padding value"); - } - fslot.Padding(margin); - } - else if (FMargin *parsed_margin = ue_py_check_struct(padding)) - { - fslot.Padding(*parsed_margin); - } - else if (PyNumber_Check(padding)) - { - PyObject *py_float = PyNumber_Float(padding); - fslot.Padding(PyFloat_AsDouble(py_float)); - Py_DECREF(py_float); - } - else - { - return PyErr_Format(PyExc_Exception, "invalid padding value"); - } - } - fslot.VAlign((EVerticalAlignment)v_align); - if (py_auto_width && PyObject_IsTrue(py_auto_width)) - fslot.AutoWidth(); + int32 retCode = [&]() { + ue_py_slate_setup_hack_slot_args(SHorizontalBox, sw_horizontal_box); + ue_py_slate_farguments_float("fill_width", FillWidth); + ue_py_slate_farguments_float("max_width", MaxWidth); + ue_py_slate_farguments_optional_enum("h_align", HAlign, EHorizontalAlignment); + ue_py_slate_farguments_optional_enum("v_align", VAlign, EVerticalAlignment); + + //NOTE: Padding slot in slate is weird and manually supports different parameter constructions + if (PyObject *padding = ue_py_dict_get_item(kwargs, "padding")) + { + if (PyTuple_Check(padding)) + { + FMargin margin; + if (!PyArg_ParseTuple(padding, "f|fff", &margin.Left, &margin.Top, &margin.Right, &margin.Bottom)) + { + PyErr_SetString(PyExc_TypeError, "invalid padding value"); + return -1; + } + arguments.Padding(margin); + } + else if (PyNumber_Check(padding)) + { + PyObject *py_float = PyNumber_Float(padding); + arguments.Padding(PyFloat_AsDouble(py_float)); + Py_DECREF(py_float); + } + else + { + ue_py_slate_farguments_struct("padding", Padding, FMargin); + } + } + PyObject *py_auto_width = ue_py_dict_get_item(kwargs, "auto_width"); + if (py_auto_width && PyObject_IsTrue(py_auto_width)) + { arguments.AutoWidth(); } + + return 0; + }(); + + if (retCode != 0) + { + return PyErr_Format(PyExc_Exception, "could not add horizontal slot"); + } Py_INCREF(self); return (PyObject *)self; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.cpp index 716faec1c..a073b7b98 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.cpp @@ -4,7 +4,7 @@ #include "UEPySNumericEntryBox.h" -#define sw_numeric_entry_box StaticCastSharedRef>(self->s_compound_widget.s_widget.s_widget) +#define sw_float_numeric_entry_box StaticCastSharedRef>(self->s_compound_widget.s_widget.s_widget) static PyMethodDef ue_PySNumericEntryBox_methods[] = { @@ -44,31 +44,63 @@ PyTypeObject ue_PySNumericEntryBoxType = { static int ue_py_snumeric_entry_box_init(ue_PySNumericEntryBox *self, PyObject *args, PyObject *kwargs) { - ue_py_slate_setup_farguments(SNumericEntryBox); - - ue_py_slate_farguments_optional_bool("allow_spin", AllowSpin); - ue_py_slate_farguments_optional_struct("border_background_color", BorderBackgroundColor, FSlateColor); - ue_py_slate_farguments_optional_struct("border_foreground_color", BorderForegroundColor, FSlateColor); - ue_py_slate_farguments_float("delta", Delta); - ue_py_slate_farguments_optional_struct_ptr("editable_text_box_style", EditableTextBoxStyle, FEditableTextBoxStyle); - ue_py_slate_farguments_struct("font", Font, FSlateFontInfo); - ue_py_slate_farguments_optional_struct("label_padding", LabelPadding, FMargin); - ue_py_slate_farguments_optional_enum("label_v_align", LabelVAlign, EVerticalAlignment); - ue_py_slate_farguments_tfloat("max_slider_value", MaxSliderValue); - ue_py_slate_farguments_tfloat("max_value", MaxValue); - ue_py_slate_farguments_float("min_desired_value_width", MinDesiredValueWidth); - ue_py_slate_farguments_tfloat("min_slider_value", MinSliderValue); - ue_py_slate_farguments_tfloat("min_value", MinValue); - ue_py_slate_farguments_struct("override_text_margin", OverrideTextMargin, FMargin); - ue_py_slate_farguments_float("slider_exponent", SliderExponent); - ue_py_slate_farguments_optional_text("undetermined_string", UndeterminedString); - ue_py_slate_farguments_tfloat("value", Value); - ue_py_slate_farguments_event("on_begin_slider_movement", OnBeginSliderMovement, FSimpleDelegate, SimpleExecuteAction); - ue_py_slate_farguments_event("on_end_slider_movement", OnEndSliderMovement, FOnFloatValueChanged, OnFloatChanged); - ue_py_slate_farguments_event("on_value_changed", OnValueChanged, FOnFloatValueChanged, OnFloatChanged); - ue_py_slate_farguments_event("on_value_committed", OnValueCommitted, FOnFloatValueCommitted, OnFloatCommitted); + PyObject *py_numeric_type = ue_py_dict_get_item(kwargs, "numeric_type"); + if (py_numeric_type && PyLong_Check(py_numeric_type)) + { + ue_py_slate_setup_farguments(SNumericEntryBox); + + ue_py_slate_farguments_optional_bool("allow_spin", AllowSpin); + ue_py_slate_farguments_optional_struct("border_background_color", BorderBackgroundColor, FSlateColor); + ue_py_slate_farguments_optional_struct("border_foreground_color", BorderForegroundColor, FSlateColor); + ue_py_slate_farguments_int("delta", Delta); + ue_py_slate_farguments_optional_struct_ptr("editable_text_box_style", EditableTextBoxStyle, FEditableTextBoxStyle); + ue_py_slate_farguments_struct("font", Font, FSlateFontInfo); + ue_py_slate_farguments_optional_struct("label_padding", LabelPadding, FMargin); + ue_py_slate_farguments_optional_enum("label_v_align", LabelVAlign, EVerticalAlignment); + ue_py_slate_farguments_tint("max_slider_value", MaxSliderValue); + ue_py_slate_farguments_tint("max_value", MaxValue); + ue_py_slate_farguments_float("min_desired_value_width", MinDesiredValueWidth); + ue_py_slate_farguments_tint("min_slider_value", MinSliderValue); + ue_py_slate_farguments_tint("min_value", MinValue); + ue_py_slate_farguments_struct("override_text_margin", OverrideTextMargin, FMargin); + ue_py_slate_farguments_float("slider_exponent", SliderExponent); + ue_py_slate_farguments_optional_text("undetermined_string", UndeterminedString); + ue_py_slate_farguments_tint("value", Value); + ue_py_slate_farguments_event("on_begin_slider_movement", OnBeginSliderMovement, FSimpleDelegate, SimpleExecuteAction); + ue_py_slate_farguments_event("on_end_slider_movement", OnEndSliderMovement, FOnInt32ValueChanged, OnInt32Changed); + ue_py_slate_farguments_event("on_value_changed", OnValueChanged, FOnInt32ValueChanged, OnInt32Changed); + ue_py_slate_farguments_event("on_value_committed", OnValueCommitted, FOnInt32ValueCommitted, OnInt32Committed); + + ue_py_snew(SNumericEntryBox, s_compound_widget.s_widget); + } + else + { + ue_py_slate_setup_farguments(SNumericEntryBox); + + ue_py_slate_farguments_optional_bool("allow_spin", AllowSpin); + ue_py_slate_farguments_optional_struct("border_background_color", BorderBackgroundColor, FSlateColor); + ue_py_slate_farguments_optional_struct("border_foreground_color", BorderForegroundColor, FSlateColor); + ue_py_slate_farguments_float("delta", Delta); + ue_py_slate_farguments_optional_struct_ptr("editable_text_box_style", EditableTextBoxStyle, FEditableTextBoxStyle); + ue_py_slate_farguments_struct("font", Font, FSlateFontInfo); + ue_py_slate_farguments_optional_struct("label_padding", LabelPadding, FMargin); + ue_py_slate_farguments_optional_enum("label_v_align", LabelVAlign, EVerticalAlignment); + ue_py_slate_farguments_tfloat("max_slider_value", MaxSliderValue); + ue_py_slate_farguments_tfloat("max_value", MaxValue); + ue_py_slate_farguments_float("min_desired_value_width", MinDesiredValueWidth); + ue_py_slate_farguments_tfloat("min_slider_value", MinSliderValue); + ue_py_slate_farguments_tfloat("min_value", MinValue); + ue_py_slate_farguments_struct("override_text_margin", OverrideTextMargin, FMargin); + ue_py_slate_farguments_float("slider_exponent", SliderExponent); + ue_py_slate_farguments_optional_text("undetermined_string", UndeterminedString); + ue_py_slate_farguments_tfloat("value", Value); + ue_py_slate_farguments_event("on_begin_slider_movement", OnBeginSliderMovement, FSimpleDelegate, SimpleExecuteAction); + ue_py_slate_farguments_event("on_end_slider_movement", OnEndSliderMovement, FOnFloatValueChanged, OnFloatChanged); + ue_py_slate_farguments_event("on_value_changed", OnValueChanged, FOnFloatValueChanged, OnFloatChanged); + ue_py_slate_farguments_event("on_value_committed", OnValueCommitted, FOnFloatValueCommitted, OnFloatCommitted); - ue_py_snew(SNumericEntryBox, s_compound_widget.s_widget); + ue_py_snew(SNumericEntryBox, s_compound_widget.s_widget); + } return 0; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp index f06302b9c..9d81973bd 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp @@ -125,6 +125,32 @@ void UPythonSlateDelegate::OnTextCommitted(const FText& text, ETextCommit::Type Py_DECREF(ret); } +void UPythonSlateDelegate::OnInt32Changed(int32 value) +{ + FScopePythonGIL gil; + + PyObject *ret = PyObject_CallFunction(py_callable, (char *)"i", value); + if (!ret) + { + unreal_engine_py_log_error(); + return; + } + Py_DECREF(ret); +} + +void UPythonSlateDelegate::OnInt32Committed(int32 value, ETextCommit::Type commit_type) +{ + FScopePythonGIL gil; + + PyObject *ret = PyObject_CallFunction(py_callable, (char *)"ii", value, (int)commit_type); + if (!ret) + { + unreal_engine_py_log_error(); + return; + } + Py_DECREF(ret); +} + void UPythonSlateDelegate::OnFloatChanged(float value) { FScopePythonGIL gil; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h index 6c64ec8e5..d7af63369 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h @@ -241,6 +241,13 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); }\ ue_py_slate_down(param) +#define ue_py_slate_farguments_tint(param, attribute) ue_py_slate_up(TOptional, GetterIntT>, param, attribute)\ + else if (PyNumber_Check(value)) {\ + PyObject *py_int = PyNumber_Long(value);\ + arguments.attribute((TOptional)PyLong_AsLong(py_int)); \ + Py_DECREF(py_int);\ + }\ + ue_py_slate_down(param) #define ue_py_slate_farguments_enum(param, attribute, _type) ue_py_slate_up(_type, GetterIntT<_type>, param, attribute)\ @@ -449,6 +456,22 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); ue_py_slate_farguments_text("tool_tip_text", ToolTipText);\ ue_py_slate_farguments_fvector2d("render_transform_pivot", RenderTransformPivot) +#define ue_py_slate_farguments_required_slot(param) { PyObject *value = ue_py_dict_get_item(kwargs, param);\ + value = value ? value : PyTuple_GetItem(args, 0);\ + if (ue_PySWidget *py_swidget = value ? py_ue_is_swidget(value) : nullptr) {\ + Py_INCREF(py_swidget);\ + ue_PySWidget *self_py_swidget = py_ue_is_swidget((PyObject*)self);\ + self_py_swidget->py_swidget_slots.Add(py_swidget);\ + arguments.AttachWidget(py_swidget->s_widget->AsShared());\ + }\ + else {\ + PyErr_SetString(PyExc_TypeError, "unsupported type for required slot " param); \ + return -1;\ + }\ +} + +#define ue_py_slate_setup_hack_slot_args(_type, _swidget_ref) _type::FSlot &arguments = _swidget_ref->AddSlot();\ + ue_py_slate_farguments_required_slot("widget"); void ue_python_init_slate(PyObject *); @@ -474,6 +497,8 @@ class UPythonSlateDelegate : public UPythonDelegate FReply OnKeyDown(const FGeometry &geometry, const FKeyEvent &key_event); void OnTextChanged(const FText &text); void OnTextCommitted(const FText &text, ETextCommit::Type commit_type); + void OnInt32Changed(int32 value); + void OnInt32Committed(int32 value, ETextCommit::Type commit_type); void OnFloatChanged(float value); void OnFloatCommitted(float value, ETextCommit::Type commit_type); void OnSort(const EColumnSortPriority::Type SortPriority, const FName& ColumnName, const EColumnSortMode::Type NewSortMode); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 7071c6814..53a67fa97 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -3023,16 +3023,11 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * } } - if (u_function->PropertiesSize > u_function->ParmsSize) - { - return PyErr_Format(PyExc_Exception, "UFunction PropertiesSize (%i) > ParmsSize (%i).", u_function->PropertiesSize, u_function->ParmsSize); - } + //NOTE: Still weird that we're not using u_function->PropertiesSize but mirroring behavior in UObject::CallFunctionByNameWithArguments() uint8 *buffer = (uint8 *)FMemory_Alloca(u_function->ParmsSize); FMemory::Memzero(buffer, u_function->ParmsSize); - // initialize args - TFieldIterator IArgs(u_function); - for (; IArgs && (IArgs->PropertyFlags & CPF_Parm); ++IArgs) + for (TFieldIterator IArgs(u_function); IArgs && IArgs->HasAnyPropertyFlags(CPF_Parm); ++IArgs) { UProperty *prop = *IArgs; if (!prop->HasAnyPropertyFlags(CPF_ZeroConstructor)) @@ -3040,20 +3035,25 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * prop->InitializeValue_InContainer(buffer); } -#if WITH_EDITOR - FString default_key = FString("CPP_Default_") + prop->GetName(); - FString default_key_value = u_function->GetMetaData(FName(*default_key)); - if (!default_key_value.IsEmpty()) - { -#if ENGINE_MINOR_VERSION >= 17 - prop->ImportText(*default_key_value, prop->ContainerPtrToValuePtr(buffer), PPF_None, NULL); -#else - prop->ImportText(*default_key_value, prop->ContainerPtrToValuePtr(buffer), PPF_Localized, NULL); -#endif - } -#endif + //UObject::CallFunctionByNameWithArguments() only does this part on non return value params + if((IArgs->PropertyFlags & (CPF_Parm|CPF_ReturnParm)) == CPF_Parm) + { + #if WITH_EDITOR + FString default_key = FString("CPP_Default_") + prop->GetName(); + FString default_key_value = u_function->GetMetaData(FName(*default_key)); + if (!default_key_value.IsEmpty()) + { + #if ENGINE_MINOR_VERSION >= 17 + prop->ImportText(*default_key_value, prop->ContainerPtrToValuePtr(buffer), PPF_None, NULL); + #else + prop->ImportText(*default_key_value, prop->ContainerPtrToValuePtr(buffer), PPF_Localized, NULL); + #endif + } + #endif + } } + Py_ssize_t tuple_len = PyTuple_Size(args); int has_out_params = 0; From 95259c15f45bf8d18c0439b22b48f808b46e5408 Mon Sep 17 00:00:00 2001 From: ikrima Date: Wed, 24 Jan 2018 05:10:15 -0800 Subject: [PATCH 023/538] FIX: Editor widgets SNodePanel/SGraphPanel/etc were referenced in non-editor builds -Removing them by wrapping in WITH_EDITOR --- Source/UnrealEnginePython/Private/Slate/UEPySGraphEditor.h | 3 ++- Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp | 5 ++++- Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.h | 2 ++ Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.cpp | 3 +++ Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.h | 2 ++ Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp | 4 ++-- Source/UnrealEnginePython/Private/Slate/UEPySlate.h | 4 ++-- 7 files changed, 17 insertions(+), 6 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySGraphEditor.h b/Source/UnrealEnginePython/Private/Slate/UEPySGraphEditor.h index 00af7a55c..34e189067 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySGraphEditor.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySGraphEditor.h @@ -2,7 +2,7 @@ #include "UnrealEnginePython.h" - +#if WITH_EDITOR #include "UEPySCompoundWidget.h" #include "Editor/UnrealEd/Public/GraphEditor.h" @@ -15,3 +15,4 @@ typedef struct { } ue_PySGraphEditor; void ue_python_init_sgraph_editor(PyObject *); +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp index 6f810ac62..e0774a8da 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp @@ -1,5 +1,6 @@ #include "UnrealEnginePythonPrivatePCH.h" +#if WITH_EDITOR #include "UEPySGraphPanel.h" #define sw_graph_panel StaticCastSharedRef(self->s_nodePanel.s_panel.s_widget) @@ -131,4 +132,6 @@ void ue_python_init_sgraph_panel(PyObject *ue_module) Py_INCREF(&ue_PySGraphPanelType); PyModule_AddObject(ue_module, "SGraphPanel", (PyObject *)&ue_PySGraphPanelType); -} \ No newline at end of file +} + +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.h b/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.h index b2ff64f01..a1d15c923 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.h @@ -2,6 +2,7 @@ #include "UnrealEnginePython.h" +#if WITH_EDITOR #include "UEPySNodePanel.h" #include "Editor/GraphEditor/Public/SGraphPanel.h" @@ -15,3 +16,4 @@ typedef struct { void ue_python_init_sgraph_panel(PyObject *); +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.cpp index b166daa8a..d239341f4 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.cpp @@ -1,6 +1,7 @@ #include "UnrealEnginePythonPrivatePCH.h" +#if WITH_EDITOR #include "UEPySNodePanel.h" #define sw_node_panel StaticCastSharedRef(self->s_panel.s_widget) @@ -52,3 +53,5 @@ void ue_python_init_snode_panel(PyObject *ue_module) Py_INCREF(&ue_PySNodePanelType); PyModule_AddObject(ue_module, "SNodePanel", (PyObject *)&ue_PySNodePanelType); } + +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.h b/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.h index 7b604f99c..cb33072b4 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.h @@ -2,6 +2,7 @@ #include "UnrealEnginePython.h" +#if WITH_EDITOR #include "UEPySPanel.h" #include "Editor/GraphEditor/Public/SNodePanel.h" @@ -15,3 +16,4 @@ typedef struct { void ue_python_init_snode_panel(PyObject *); +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp index 9d81973bd..1ca3539c7 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp @@ -832,11 +832,11 @@ void ue_python_init_slate(PyObject *module) ue_python_init_sspacer(module); ue_python_init_spython_widget(module); ue_python_init_soverlay(module); - ue_python_init_snode_panel(module); - ue_python_init_sgraph_panel(module); #if WITH_EDITOR + ue_python_init_snode_panel(module); + ue_python_init_sgraph_panel(module); ue_python_init_idetails_view(module); ue_python_init_seditor_viewport(module); ue_python_init_slevel_viewport(module); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h index d7af63369..b9af69772 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h @@ -59,8 +59,6 @@ #include "UEPySSpacer.h" #include "UEPySPythonWidget.h" #include "UEPySOverlay.h" -#include "UEPySNodePanel.h" -#include "UEPySGraphPanel.h" #include "UEPyFTabManager.h" #include "UEPyFTabSpawnerEntry.h" @@ -88,6 +86,8 @@ #include "UEPySAssetDropTarget.h" #include "UEPySObjectPropertyEntryBox.h" #include "UEPyIDetailsView.h" +#include "UEPySNodePanel.h" +#include "UEPySGraphPanel.h" #endif #include "Runtime/Core/Public/Misc/Attribute.h" From 743a4f12952c350d43639858940621629a9b6724 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 5 Feb 2018 23:30:04 -0800 Subject: [PATCH 024/538] Adds doc for managing properties transaction --- docs/Transactions_API.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/docs/Transactions_API.md b/docs/Transactions_API.md index 51064b6cf..c72c4c5bb 100644 --- a/docs/Transactions_API.md +++ b/docs/Transactions_API.md @@ -39,6 +39,38 @@ ue.editor_undo() ue.editor_redo() ``` + +Managing transactions with property modification +- + +```python + +import unreal_engine as ue +from unreal_engine import FVector +from unreal_engine.classes import StaticMesh, StaticMeshActor + +#Create procedurally a Cone in the Editor +world = ue.get_editor_world() +cone2 = world.actor_spawn(StaticMeshActor) +cone2.StaticMeshComponent.StaticMesh = ue.load_object(StaticMesh, '/Engine/BasicShapes/Cone') + +#Start Transaction +ue.begin_transaction("Move Up +15") +position = cone2.get_actor_location() +position.y += 15 + +#Call modify to track property changes before setting the position +cone2.modify() +cone2.set_actor_location(position) +ue.end_transaction() + +#Undo "Move Up +15" +##ue.editor_undo() +``` + + + + Functions - From c2da8f0e3ba6e88fb816e7b5e3a826e91e3f8140 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 5 Feb 2018 23:33:21 -0800 Subject: [PATCH 025/538] Added description --- docs/Transactions_API.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/Transactions_API.md b/docs/Transactions_API.md index c72c4c5bb..d788ea8df 100644 --- a/docs/Transactions_API.md +++ b/docs/Transactions_API.md @@ -42,6 +42,7 @@ ue.editor_redo() Managing transactions with property modification - +In this little example we are creating a cone using a static mesh object from the engine content. We start a transaction and move the cone by 15 units and use the `modify` call to keep our property modifications pushed to the undo stack. ```python From 31977397938ca3536418ef8af1895a2134fd9a1b Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 6 Feb 2018 13:01:45 +0100 Subject: [PATCH 026/538] preliminary infrastructure for FSlateApplication automations --- .../Private/Slate/UEPyFCharacterEvent.cpp | 28 ++++ .../Private/Slate/UEPyFCharacterEvent.h | 1 + .../Private/Slate/UEPyFKeyEvent.cpp | 31 ++++ .../Private/Slate/UEPyFKeyEvent.h | 2 + .../UEPyFSlateApplication.cpp | 158 ++++++++++++++++++ .../SlateApplication/UEPyFSlateApplication.h | 11 ++ .../UnrealEnginePython/Private/UEPyModule.cpp | 6 + .../Private/UObject/UEPyObject.cpp | 26 +++ .../Private/UObject/UEPyObject.h | 2 + .../Private/UnrealEnginePythonPrivatePCH.h | 1 + 10 files changed, 266 insertions(+) create mode 100644 Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp create mode 100644 Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.h diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFCharacterEvent.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFCharacterEvent.cpp index 49c83b5c0..68ae13a95 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFCharacterEvent.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFCharacterEvent.cpp @@ -53,10 +53,31 @@ static PyTypeObject ue_PyFCharacterEventType = { ue_PyFCharacterEvent_methods, /* tp_methods */ }; +static int ue_py_fcharacter_event_init(ue_PyFCharacterEvent *self, PyObject *args, PyObject *kwargs) +{ + char *key; + if (!PyArg_ParseTuple(args, "s", &key)) + { + return -1; + } + + // TODO make it configurable + FModifierKeysState modifier; + + // TODO make repeat configurable + FCharacterEvent Event(*UTF8_TO_TCHAR(key), modifier, 0, false); + + new(&self->character_event) FCharacterEvent(Event); + new(&self->f_input.input) FInputEvent(Event); + + return 0; +} + void ue_python_init_fcharacter_event(PyObject *ue_module) { ue_PyFCharacterEventType.tp_base = &ue_PyFInputEventType; + ue_PyFCharacterEventType.tp_init = (initproc)ue_py_fcharacter_event_init; if (PyType_Ready(&ue_PyFCharacterEventType) < 0) return; @@ -72,3 +93,10 @@ PyObject *py_ue_new_fcharacter_event(FCharacterEvent key_event) new(&ret->f_input.input) FInputEvent(key_event); return (PyObject *)ret; } + +ue_PyFCharacterEvent *py_ue_is_fcharacter_event(PyObject *obj) +{ + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyFCharacterEventType)) + return nullptr; + return (ue_PyFCharacterEvent *)obj; +} \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFCharacterEvent.h b/Source/UnrealEnginePython/Private/Slate/UEPyFCharacterEvent.h index 79b40f4bd..7070e0ee5 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFCharacterEvent.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFCharacterEvent.h @@ -15,3 +15,4 @@ typedef struct { void ue_python_init_fcharacter_event(PyObject *); PyObject *py_ue_new_fcharacter_event(FCharacterEvent); +ue_PyFCharacterEvent *py_ue_is_fcharacter_event(PyObject *); \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFKeyEvent.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFKeyEvent.cpp index 2fe3a7d9f..0d90a7d98 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFKeyEvent.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFKeyEvent.cpp @@ -55,9 +55,33 @@ static PyTypeObject ue_PyFKeyEventType = { ue_PyFKeyEvent_methods, /* tp_methods */ }; +static int ue_py_fkey_event_init(ue_PyFKeyEvent *self, PyObject *args, PyObject *kwargs) +{ + char *key; + if (!PyArg_ParseTuple(args, "s", &key)) + { + return -1; + } + + FKey InKey(key); + + // TODO make it configurable + FModifierKeysState modifier; + + // TODO configure repeat + FKeyEvent Event(InKey, modifier, 0, false, 0, 0); + + new(&self->key_event) FKeyEvent(Event); + new(&self->f_input.input) FInputEvent(Event); + + return 0; +} + + void ue_python_init_fkey_event(PyObject *ue_module) { ue_PyFKeyEventType.tp_base = &ue_PyFInputEventType; + ue_PyFKeyEventType.tp_init = (initproc)ue_py_fkey_event_init; if (PyType_Ready(&ue_PyFKeyEventType) < 0) return; @@ -72,3 +96,10 @@ PyObject *py_ue_new_fkey_event(FKeyEvent key_event) { new(&ret->f_input.input) FInputEvent(key_event); return (PyObject *)ret; } + +ue_PyFKeyEvent *py_ue_is_fkey_event(PyObject *obj) +{ + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyFKeyEventType)) + return nullptr; + return (ue_PyFKeyEvent *)obj; +} \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFKeyEvent.h b/Source/UnrealEnginePython/Private/Slate/UEPyFKeyEvent.h index 98cbfeaef..417153acc 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFKeyEvent.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFKeyEvent.h @@ -15,3 +15,5 @@ typedef struct { void ue_python_init_fkey_event(PyObject *); PyObject *py_ue_new_fkey_event(FKeyEvent); + +ue_PyFKeyEvent *py_ue_is_fkey_event(PyObject *); diff --git a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp new file mode 100644 index 000000000..be833499f --- /dev/null +++ b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp @@ -0,0 +1,158 @@ + +#include "UnrealEnginePythonPrivatePCH.h" + +#include "UEPyFSlateApplication.h" + + +static PyObject *py_ue_get_average_delta_time(PyObject *cls, PyObject * args) +{ + return PyFloat_FromDouble(FSlateApplication::Get().GetAverageDeltaTime()); +} + +static PyObject *py_ue_get_delta_time(PyObject *cls, PyObject * args) +{ + return PyFloat_FromDouble(FSlateApplication::Get().GetDeltaTime()); +} + +static PyObject *py_ue_goto_line_in_source(PyObject *cls, PyObject * args) +{ + char *filename; + int line_number; + if (!PyArg_ParseTuple(args, "si:goto_line_in_source", &filename, &line_number)) + { + return nullptr; + } + + FSlateApplication::Get().GotoLineInSource(FString(UTF8_TO_TCHAR(filename)), line_number); + + Py_RETURN_NONE; +} + +static PyObject *py_ue_is_gamepad_attached(PyObject *cls, PyObject * args) +{ + bool bAttached = FSlateApplication::Get().IsGamepadAttached(); + if (bAttached) + Py_RETURN_TRUE; + Py_RETURN_FALSE; +} + +static PyObject *py_ue_is_mouse_attached(PyObject *cls, PyObject * args) +{ + bool bAttached = FSlateApplication::Get().IsMouseAttached(); + if (bAttached) + Py_RETURN_TRUE; + Py_RETURN_FALSE; +} + +static PyObject *py_ue_process_key_down_event(PyObject *cls, PyObject * args) +{ + PyObject *py_event; + if (!PyArg_ParseTuple(args, "O:process_key_down_event", &py_event)) + { + return nullptr; + } + + FKeyEvent *InKeyEvent = ue_py_check_struct(py_event); + if (!InKeyEvent) + { + ue_PyFKeyEvent *py_fkey_event = py_ue_is_fkey_event(py_event); + if (!py_fkey_event) + { + return PyErr_Format(PyExc_Exception, "argument is not a FKeyEvent"); + } + InKeyEvent = &py_fkey_event->key_event; + } + + if (FSlateApplication::Get().ProcessKeyDownEvent(*InKeyEvent)) + Py_RETURN_TRUE; + + Py_RETURN_FALSE; +} + +static PyObject *py_ue_process_key_char_event(PyObject *cls, PyObject * args) +{ + PyObject *py_event; + if (!PyArg_ParseTuple(args, "O:process_key_char_event", &py_event)) + { + return nullptr; + } + + FCharacterEvent *InCharEvent = ue_py_check_struct(py_event); + if (!InCharEvent) + { + ue_PyFCharacterEvent *py_fchar_event = py_ue_is_fcharacter_event(py_event); + if (!py_fchar_event) + { + return PyErr_Format(PyExc_Exception, "argument is not a FCharacterEvent"); + } + InCharEvent = &py_fchar_event->character_event; + } + + if (FSlateApplication::Get().ProcessKeyCharEvent(*InCharEvent)) + Py_RETURN_TRUE; + + Py_RETURN_FALSE; +} + +static PyMethodDef ue_PyFSlateApplication_methods[] = { + { "get_average_delta_time", (PyCFunction)py_ue_get_average_delta_time, METH_VARARGS | METH_CLASS, "" }, + { "get_delta_time", (PyCFunction)py_ue_get_delta_time, METH_VARARGS | METH_CLASS, "" }, + { "goto_line_in_source", (PyCFunction)py_ue_goto_line_in_source, METH_VARARGS | METH_CLASS, "" }, + { "is_gamepad_attached", (PyCFunction)py_ue_is_gamepad_attached, METH_VARARGS | METH_CLASS, "" }, + { "is_mouse_attached", (PyCFunction)py_ue_is_mouse_attached, METH_VARARGS | METH_CLASS, "" }, + { "process_key_down_event", (PyCFunction)py_ue_process_key_down_event, METH_VARARGS | METH_CLASS, "" }, + { "process_key_char_event", (PyCFunction)py_ue_process_key_char_event, METH_VARARGS | METH_CLASS, "" }, + { NULL } /* Sentinel */ +}; + + +static PyTypeObject ue_PyFSlateApplicationType = { + PyVarObject_HEAD_INIT(NULL, 0) + "unreal_engine.FSlateApplication", /* tp_name */ + sizeof(ue_PyFSlateApplication), /* tp_basicsize */ + 0, /* tp_itemsize */ + 0, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ + "Unreal Engine SlateApplication", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + ue_PyFSlateApplication_methods, /* tp_methods */ + 0, + 0, +}; + +static int py_ue_fslate_application_init(ue_PyFSlateApplication *self, PyObject * args) +{ + PyErr_SetString(PyExc_Exception, "FSlateApplication is a singleton"); + return -1; +} + +void ue_python_init_fslate_application(PyObject *ue_module) +{ + ue_PyFSlateApplicationType.tp_new = PyType_GenericNew; + ue_PyFSlateApplicationType.tp_init = (initproc)py_ue_fslate_application_init; + + if (PyType_Ready(&ue_PyFSlateApplicationType) < 0) + return; + + Py_INCREF(&ue_PyFSlateApplicationType); + PyModule_AddObject(ue_module, "FSlateApplication", (PyObject *)&ue_PyFSlateApplicationType); +} diff --git a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.h b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.h new file mode 100644 index 000000000..8c9caa4f3 --- /dev/null +++ b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.h @@ -0,0 +1,11 @@ +#pragma once + +#include "UnrealEnginePython.h" + +typedef struct +{ + PyObject_HEAD + /* Type-specific fields go here. */ +} ue_PyFSlateApplication; + +void ue_python_init_fslate_application(PyObject *); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 3803ab625..93cd6067d 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -475,6 +475,10 @@ static PyMethodDef ue_PyUObject_methods[] = { { "get_path_name", (PyCFunction)py_ue_get_path_name, METH_VARARGS, "" }, { "get_full_name", (PyCFunction)py_ue_get_full_name, METH_VARARGS, "" }, +#if WITH_EDITOR + { "import_custom_properties", (PyCFunction)py_ue_import_custom_properties, METH_VARARGS, "" }, +#endif + #if ENGINE_MINOR_VERSION >= 15 { "can_modify", (PyCFunction)py_ue_can_modify, METH_VARARGS, "" }, #endif @@ -1941,6 +1945,8 @@ void unreal_engine_init_py_module() ue_python_init_iconsole_manager(new_unreal_engine_module); + ue_python_init_fslate_application(new_unreal_engine_module); + #if WITH_EDITOR ue_python_init_icollection_manager(new_unreal_engine_module); #endif diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp index e987c84e2..2d7a4f024 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp @@ -7,6 +7,7 @@ #include "Runtime/AssetRegistry/Public/AssetRegistryModule.h" #include "ObjectTools.h" #include "UnrealEd.h" +#include "Runtime/Core/Public/HAL/FeedbackContextAnsi.h" #endif PyObject *py_ue_get_class(ue_PyUObject * self, PyObject * args) @@ -1737,6 +1738,31 @@ PyObject *py_ue_save_package(ue_PyUObject * self, PyObject * args) return PyErr_Format(PyExc_Exception, "unable to save package"); } +PyObject *py_ue_import_custom_properties(ue_PyUObject * self, PyObject * args) +{ + ue_py_check(self); + + char *t3d; + + if (!PyArg_ParseTuple(args, "s:import_custom_properties", &t3d)) + { + return nullptr; + } + + FFeedbackContextAnsi context; + self->ue_object->ImportCustomProperties(UTF8_TO_TCHAR(t3d), &context); + + TArray errors; + context.GetErrors(errors); + + if (errors.Num() > 0) + { + return PyErr_Format(PyExc_Exception, "%s", TCHAR_TO_UTF8(*errors[0])); + } + + Py_RETURN_NONE; +} + PyObject *py_ue_asset_can_reimport(ue_PyUObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.h b/Source/UnrealEnginePython/Private/UObject/UEPyObject.h index c32e9776c..6d7727cdf 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.h @@ -82,6 +82,8 @@ PyObject *py_ue_asset_reimport(ue_PyUObject *, PyObject *); PyObject *py_ue_get_metadata(ue_PyUObject *, PyObject *); PyObject *py_ue_set_metadata(ue_PyUObject *, PyObject *); PyObject *py_ue_has_metadata(ue_PyUObject *, PyObject *); + +PyObject *py_ue_import_custom_properties(ue_PyUObject *, PyObject *); #endif PyObject *py_ue_get_thumbnail(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h index 0b9c6420c..93be4274b 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h +++ b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h @@ -73,6 +73,7 @@ #include "Slate/UEPySlate.h" #include "Http/UEPyIHttp.h" #include "ConsoleManager/UEPyIConsoleManager.h" +#include "SlateApplication/UEPyFSlateApplication.h" #include "Voice/UEPyIVoiceCapture.h" From ca99abc96b2dd2d6d50bb372ceadca4e1412b927 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 6 Feb 2018 13:17:48 +0100 Subject: [PATCH 027/538] added clipboard api --- .../UnrealEnginePython/Private/UEPyEngine.cpp | 19 +++++++++++++++++++ .../UnrealEnginePython/Private/UEPyEngine.h | 3 +++ .../UnrealEnginePython/Private/UEPyModule.cpp | 3 +++ 3 files changed, 25 insertions(+) diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index 1219b5e1e..cdc14c748 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -1256,4 +1256,23 @@ PyObject *py_unreal_engine_set_random_seed(PyObject * self, PyObject * args) FGenericPlatformMath::RandInit(seed); Py_RETURN_NONE; +} + +PyObject *py_unreal_engine_clipboard_copy(PyObject * self, PyObject * args) +{ + char *text; + if (!PyArg_ParseTuple(args, "s:clipboard_copy", &text)) + { + return nullptr; + } + + FGenericPlatformMisc::ClipboardCopy(UTF8_TO_TCHAR(text)); + Py_RETURN_NONE; +} + +PyObject *py_unreal_engine_clipboard_paste(PyObject * self, PyObject * args) +{ + FString clipboard; + FGenericPlatformMisc::ClipboardPaste(clipboard); + return PyUnicode_FromString(TCHAR_TO_UTF8(*clipboard)); } \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.h b/Source/UnrealEnginePython/Private/UEPyEngine.h index 93dd6c5b9..c09bef5df 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.h +++ b/Source/UnrealEnginePython/Private/UEPyEngine.h @@ -13,6 +13,9 @@ PyObject *py_unreal_engine_get_forward_vector(PyObject *, PyObject *); PyObject *py_unreal_engine_get_right_vector(PyObject *, PyObject *); PyObject *py_unreal_engine_get_up_vector(PyObject *, PyObject *); +PyObject *py_unreal_engine_clipboard_copy(PyObject *, PyObject *); +PyObject *py_unreal_engine_clipboard_paste(PyObject *, PyObject *); + PyObject *py_unreal_engine_set_random_seed(PyObject *, PyObject *); PyObject *py_unreal_engine_get_game_viewport_size(PyObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 93cd6067d..04e6e0d4b 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -387,6 +387,9 @@ static PyMethodDef unreal_engine_methods[] = { { "unregister_settings", py_unreal_engine_unregister_settings, METH_VARARGS, "" }, #endif + { "clipboard_copy", py_unreal_engine_clipboard_copy, METH_VARARGS, "" }, + { "clipboard_paste", py_unreal_engine_clipboard_paste, METH_VARARGS, "" }, + #pragma warning(suppress: 4191) { "copy_properties_for_unrelated_objects", (PyCFunction)py_unreal_engine_copy_properties_for_unrelated_objects, METH_VARARGS | METH_KEYWORDS, "" }, From ae5fd16174cc144462a69c8317457d15e1dedcad Mon Sep 17 00:00:00 2001 From: taotang1984 <34328387+taotang1984@users.noreply.github.com> Date: Thu, 8 Feb 2018 17:22:14 +0800 Subject: [PATCH 028/538] Update PythonConsole.md using updated PyFbxFactory to import animation assets --- docs/PythonConsole.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/docs/PythonConsole.md b/docs/PythonConsole.md index f8886c1ab..598edbc2b 100644 --- a/docs/PythonConsole.md +++ b/docs/PythonConsole.md @@ -121,6 +121,8 @@ This is an ad-hoc factory subclassing the standard FbxFactory (many thanks to Ch import unreal_engine as ue import os import os.path +from unreal_engine.classes import PyFbxFactory, Skeleton +from unreal_engine.enums import EFBXImportType """ Scan a directory for FBX's and import them with a single skeleton @@ -135,23 +137,19 @@ skeleton_name = 'UE4_Mannequin_Skeleton' skeleton = ue.find_object(skeleton_name) # get the PyFbxFactory -factory = ue.find_class('PyFbxFactory') +factory = PyFbxFactory() # setup fbx importer options -fbx_import_ui_class = ue.find_class('FbxImportUI') -fbx_import_ui = ue.new_object(fbx_import_ui_class) -fbx_import_ui.set_property('Skeleton', skeleton) - +factory.ImportUI.MeshTypeToImport = EFBXImportType.FBXIT_Animation +factory.ImportUI.Skeleton = skeleton # the fbx import procedure def fbx_import(filename, asset_name): ue.log('importing ' + filename + ' to ' + asset_name) - # set import options - ue.set_fbx_import_option(fbx_import_ui) - # import he file using PyFbxFactory - asset = ue.import_asset(filename, asset_name, factory) + # import the file using PyFbxFactory + asset = factory.factory_import_object(filename, asset_name) # print the skeleton name - ue.log('FBX imported with skeleton: ' + asset.get_property('Skeleton').get_name()) + ue.log('FBX imported with skeleton: ' + asset.Skeleton.get_name()) # scan the directory and uatomatically assign a name using an incremental id From 497c86e329ddd7162bda04525cca8b5353771847 Mon Sep 17 00:00:00 2001 From: ikrima Date: Thu, 8 Feb 2018 20:07:58 -0800 Subject: [PATCH 029/538] FIX: Python Plugin u_function call was not copying output ref params back to python layer -Adding utility to generate dockable tab spawners as easily as SWindow Extending IStructureDetailsView to python layer -Can now create structure details views. -NOTE: Structs are value types so you may need to copy them back out to the uobjects you bound the detail view to Python plugin layer fix: Copy function params that are const ref arrays back out to python -Other const params don't need to be copied Python Plugin Extensions -Exposing CreateStructureDetailView to Python as separate function -Exposing set_structure_data -Exposing Object Flags & ability to set them to Python to create non RF_Public objects in packages -Exposing ability to pass object flags to new_object Suppress compiler warning for python functions Add py.cmd for executing python commands from console Python Extension: Add ability to grab FBX String property from FBX object Exposed minimize function of SWindow. Exposed SetRealtime function of EditorViewportClient Exposed UActorComponent::GetRootComponent() to python. --- .../Private/Fbx/UEPyFbxProperty.cpp | 7 +- .../Slate/UEPyIStructureDetailsView.cpp | 220 ++++++++++++++++++ .../Private/Slate/UEPyIStructureDetailsView.h | 17 ++ .../Private/Slate/UEPySWindow.cpp | 13 +- .../Private/Slate/UEPySlate.cpp | 91 +++++++- .../Private/Slate/UEPySlate.h | 2 + .../UnrealEnginePython/Private/UEPyEngine.cpp | 5 +- .../UnrealEnginePython/Private/UEPyModule.cpp | 48 +++- .../Private/UObject/UEPyActor.cpp | 21 ++ .../Private/UObject/UEPyActor.h | 1 + .../Private/UObject/UEPyObject.cpp | 24 ++ .../Private/UObject/UEPyObject.h | 2 + .../Private/UObject/UEPyPhysics.cpp | 1 - .../Private/UObject/UEPySequencer.cpp | 6 +- .../Private/UnrealEnginePython.cpp | 24 ++ .../Wrappers/UEPyFEditorViewportClient.cpp | 13 ++ 16 files changed, 474 insertions(+), 21 deletions(-) create mode 100644 Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp create mode 100644 Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.h diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxProperty.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxProperty.cpp index eb4fd6dbc..62a076746 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxProperty.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxProperty.cpp @@ -1,6 +1,6 @@ -#if ENGINE_MINOR_VERSION > 12 #include "UnrealEnginePythonPrivatePCH.h" +#if ENGINE_MINOR_VERSION > 12 #if WITH_EDITOR #include "UEPyFbx.h" @@ -14,6 +14,10 @@ static PyObject *py_ue_fbx_property_get_double3(ue_PyFbxProperty *self, PyObject return Py_BuildValue((char *)"(fff)", value[0], value[1], value[2]); } +static PyObject *py_ue_fbx_property_get_string(ue_PyFbxProperty *self, PyObject *args) { + return PyUnicode_FromString(self->fbx_property.Get()); +} + static PyObject *py_ue_fbx_property_is_valid(ue_PyFbxProperty *self, PyObject *args) { if (self->fbx_property.IsValid()) { Py_RETURN_TRUE; @@ -44,6 +48,7 @@ static PyObject *py_ue_fbx_property_get_curve_node(ue_PyFbxProperty *self, PyObj static PyMethodDef ue_PyFbxProperty_methods[] = { { "get_name", (PyCFunction)py_ue_fbx_property_get_name, METH_VARARGS, "" }, { "get_double3", (PyCFunction)py_ue_fbx_property_get_double3, METH_VARARGS, "" }, + { "get_string", (PyCFunction)py_ue_fbx_property_get_string, METH_VARARGS, "" }, { "is_valid", (PyCFunction)py_ue_fbx_property_is_valid, METH_VARARGS, "" }, { "get_curve_node", (PyCFunction)py_ue_fbx_property_get_curve_node, METH_VARARGS, "" }, { NULL } /* Sentinel */ diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp new file mode 100644 index 000000000..bed844b8c --- /dev/null +++ b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp @@ -0,0 +1,220 @@ + +#include "UnrealEnginePythonPrivatePCH.h" + +#if WITH_EDITOR +#include "UEPyIStructureDetailsView.h" +#include "IStructureDetailsView.h" + + +//#define sw_idetails_view StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) + + +static PyObject *ue_PyIStructureDetailsView_str(ue_PyIStructureDetailsView *self) +{ +#if PY_MAJOR_VERSION >= 3 + return PyUnicode_FromFormat("", + TCHAR_TO_UTF8(*self->istructure_details_view->GetWidget()->GetTypeAsString()), + self->istructure_details_view->GetWidget().Get(), + self->istructure_details_view->GetWidget().GetSharedReferenceCount(), + self->ob_base.ob_refcnt); +#else + return PyUnicode_FromFormat("", + TCHAR_TO_UTF8(*self->istructure_details_view->GetWidget()->GetTypeAsString()), + self->istructure_details_view->GetWidget().Get(), + self->istructure_details_view->GetWidget().GetSharedReferenceCount()); +#endif +} + + +static PyObject *py_ue_istructure_details_view_set_structure_data(ue_PyIStructureDetailsView *self, PyObject * args, PyObject *kwargs) +{ + PyObject *py_object = nullptr; + PyObject *py_force_refresh = nullptr; + + char *kwlist[] = { + (char *)"struct_data", + (char *)"force_refresh", + nullptr + }; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|O:set_structure_data", kwlist, &py_object, &py_force_refresh)) + { + return nullptr; + } + + ue_PyUScriptStruct *ue_py_struct = py_ue_is_uscriptstruct(py_object); + if (!ue_py_struct) + { + return PyErr_Format(PyExc_Exception, "argument is not a UScriptStruct"); + } + + + Py_XDECREF(self->ue_py_struct); + self->ue_py_struct = ue_py_struct; + Py_INCREF(self->ue_py_struct); + TSharedPtr struct_scope = MakeShared(ue_py_struct->u_struct, ue_py_struct->data); + FPropertyEditorModule& PropertyEditorModule = FModuleManager::GetModuleChecked("PropertyEditor"); + self->istructure_details_view->SetStructureData(struct_scope); + + if (py_force_refresh && PyObject_IsTrue(py_force_refresh)) + { + self->istructure_details_view->GetDetailsView().ForceRefresh(); + } + + Py_RETURN_NONE; +} + +static PyObject *py_ue_istructure_details_view_get_widget(ue_PyIStructureDetailsView *self, PyObject * args) +{ + if (!self->istructure_details_view.IsValid()) + { + return PyErr_Format(PyExc_Exception, "IStructureDetailsView is not valid"); + } + + TSharedPtr ret_widget = self->istructure_details_view->GetWidget(); + if (!ret_widget.IsValid()) + { + return PyErr_Format(PyExc_Exception, "unable to create SingleProperty widget"); + } + + return (PyObject *)py_ue_new_swidget(ret_widget->AsShared(), &ue_PySWidgetType); + + Py_RETURN_NONE; +} + +static PyMethodDef ue_PyIStructureDetailsView_methods[] = { +#pragma warning(suppress: 4191) + { "set_structure_data", (PyCFunction)py_ue_istructure_details_view_set_structure_data, METH_VARARGS | METH_KEYWORDS, "" }, + { "get_widget", (PyCFunction)py_ue_istructure_details_view_get_widget, METH_VARARGS, "" }, + { NULL } /* Sentinel */ +}; + +static void ue_PyIStructureDetailsView_dealloc(ue_PyIStructureDetailsView *self) { +#if defined(UEPY_MEMORY_DEBUG) + UE_LOG(LogPython, Warning, TEXT("Destroying ue_PyIStructureDetailsView %p mapped to IStructureDetailsView %p"), self, &self->istructure_details_view.Get()); +#endif + Py_DECREF(self->ue_py_struct); + Py_TYPE(self)->tp_free((PyObject *)self); +} + +PyTypeObject ue_PyIStructureDetailsViewType = { + PyVarObject_HEAD_INIT(NULL, 0) + "unreal_engine.IStructureDetailsView", /* tp_name */ + sizeof(ue_PyIStructureDetailsView), /* tp_basicsize */ + 0, /* tp_itemsize */ + (destructor)ue_PyIStructureDetailsView_dealloc, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + (reprfunc)ue_PyIStructureDetailsView_str, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ + "Unreal Engine IStructureDetailsView", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + ue_PyIStructureDetailsView_methods, /* tp_methods */ +}; + +static int ue_py_istructure_details_view_init(ue_PyIStructureDetailsView *self, PyObject *args, PyObject *kwargs) { + + PyObject *py_object = nullptr; + + PyObject *py_allow_search = nullptr; + PyObject *py_update_from_selection = nullptr; + PyObject *py_lockable = nullptr; + char *py_name_area_settings = nullptr; + PyObject *py_hide_selection_tip = nullptr; + PyObject *py_search_initial_key_focus = nullptr; + + char *kwlist[] = { + (char*)"struct_data", + (char *)"allow_search", + (char *)"update_from_selection", + (char *)"lockable", + (char *)"name_area_settings", + (char *)"hide_selection_tip", + (char *)"search_initial_key_focus", + nullptr }; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|OOOOsOO:__init__", kwlist, + &py_object, &py_allow_search, &py_update_from_selection, &py_lockable, &py_name_area_settings, &py_hide_selection_tip, &py_search_initial_key_focus)) + { + return -1; + } + + ue_PyUScriptStruct *ue_py_struct = py_ue_is_uscriptstruct(py_object); + if (!ue_py_struct) + { + PyErr_SetString(PyExc_Exception, "argument is not a UScriptStruct"); + return -1; + } + + FDetailsViewArgs view_args; + view_args.bAllowSearch = (py_allow_search ) ? PyObject_IsTrue(py_allow_search) : view_args.bAllowSearch; + view_args.bUpdatesFromSelection = (py_update_from_selection ) ? PyObject_IsTrue(py_update_from_selection) : view_args.bUpdatesFromSelection; + view_args.bLockable = (py_lockable ) ? PyObject_IsTrue(py_lockable) : view_args.bLockable; + view_args.bHideSelectionTip = (py_hide_selection_tip ) ? PyObject_IsTrue(py_hide_selection_tip) : view_args.bHideSelectionTip; + view_args.bSearchInitialKeyFocus = (py_search_initial_key_focus) ? PyObject_IsTrue(py_search_initial_key_focus) : view_args.bSearchInitialKeyFocus; + + FString name_area_string = py_name_area_settings ? FString(UTF8_TO_TCHAR(py_name_area_settings)) : FString(); + view_args.NameAreaSettings = [&name_area_string]() { + if (FCString::Stricmp(*name_area_string, TEXT("HideNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::HideNameArea; } + else if (FCString::Stricmp(*name_area_string, TEXT("ObjectsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ObjectsUseNameArea; } + else if (FCString::Stricmp(*name_area_string, TEXT("ActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } + else if (FCString::Stricmp(*name_area_string, TEXT("ComponentsAndActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ComponentsAndActorsUseNameArea; } + else { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } + }(); + FStructureDetailsViewArgs struct_view_args; + { + struct_view_args.bShowObjects = true; + struct_view_args.bShowAssets = true; + struct_view_args.bShowClasses = true; + struct_view_args.bShowInterfaces = true; + } + new(&self->istructure_details_view) TSharedPtr(nullptr); + + self->ue_py_struct = ue_py_struct; + Py_INCREF(self->ue_py_struct); + TSharedPtr struct_scope = MakeShared(ue_py_struct->u_struct, ue_py_struct->data); + FPropertyEditorModule& PropertyEditorModule = FModuleManager::GetModuleChecked("PropertyEditor"); + self->istructure_details_view = PropertyEditorModule.CreateStructureDetailView(view_args, struct_view_args, struct_scope); + + return 0; +} + +void ue_python_init_istructure_details_view(PyObject *ue_module) +{ + ue_PyIStructureDetailsViewType.tp_new = PyType_GenericNew; + + ue_PyIStructureDetailsViewType.tp_init = (initproc)ue_py_istructure_details_view_init; + + ue_PyIStructureDetailsViewType.tp_getattro = PyObject_GenericGetAttr; + ue_PyIStructureDetailsViewType.tp_setattro = PyObject_GenericSetAttr; + + if (PyType_Ready(&ue_PyIStructureDetailsViewType) < 0) + return; + + Py_INCREF(&ue_PyIStructureDetailsViewType); + PyModule_AddObject(ue_module, "IStructureDetailsView", (PyObject *)&ue_PyIStructureDetailsViewType); +} + +ue_PyIStructureDetailsView *py_ue_is_istructure_details_view(PyObject *obj) +{ + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyIStructureDetailsViewType)) + return nullptr; + return (ue_PyIStructureDetailsView *)obj; +} +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.h b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.h new file mode 100644 index 000000000..54db231bf --- /dev/null +++ b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.h @@ -0,0 +1,17 @@ +#pragma once + +#include "UnrealEnginePython.h" + +#if WITH_EDITOR +typedef struct { + PyObject_HEAD + /* Type-specific fields go here. */ + TSharedPtr istructure_details_view; + ue_PyUScriptStruct *ue_py_struct; +} ue_PyIStructureDetailsView; + +void ue_python_init_istructure_details_view(PyObject *); + +ue_PyIStructureDetailsView * py_ue_is_istructure_details_view(PyObject *obj); + +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp index 247cb74c7..5d645ef7f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp @@ -39,6 +39,14 @@ static PyObject *py_ue_swindow_resize(ue_PySWindow *self, PyObject * args) return (PyObject *)self; } +static PyObject *py_ue_swindow_minimize(ue_PySWindow *self, PyObject * args) +{ + sw_window->Minimize(); + + Py_INCREF(self); + return (PyObject *)self; +} + static PyObject *py_ue_swindow_set_content(ue_PySWindow *self, PyObject * args) { PyObject *py_content; @@ -130,8 +138,9 @@ static PyObject *py_ue_swindow_add_child(ue_PySWindow *self, PyObject * args) } static PyMethodDef ue_PySWindow_methods[] = { - { "set_title", (PyCFunction)py_ue_swindow_set_title, METH_VARARGS, "" }, - { "set_sizing_rule", (PyCFunction)py_ue_swindow_set_sizing_rule, METH_VARARGS, "" }, + { "set_title", (PyCFunction)py_ue_swindow_set_title, METH_VARARGS, "" }, + { "set_sizing_rule", (PyCFunction)py_ue_swindow_set_sizing_rule, METH_VARARGS, "" }, + { "minimize", (PyCFunction)py_ue_swindow_minimize, METH_VARARGS, "" }, { "resize", (PyCFunction)py_ue_swindow_resize, METH_VARARGS, "" }, { "set_client_size", (PyCFunction)py_ue_swindow_resize, METH_VARARGS, "" }, { "set_content", (PyCFunction)py_ue_swindow_set_content, METH_VARARGS, "" }, diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp index 1ca3539c7..432a8a77a 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp @@ -838,6 +838,7 @@ void ue_python_init_slate(PyObject *module) ue_python_init_snode_panel(module); ue_python_init_sgraph_panel(module); ue_python_init_idetails_view(module); + ue_python_init_istructure_details_view(module); ue_python_init_seditor_viewport(module); ue_python_init_slevel_viewport(module); ue_python_init_spython_editor_viewport(module); @@ -1009,7 +1010,6 @@ class FPythonSlateCommands : public TCommands }; #if WITH_EDITOR - PyObject *py_unreal_engine_create_detail_view(PyObject *self, PyObject * args, PyObject *kwargs) { @@ -1018,7 +1018,7 @@ PyObject *py_unreal_engine_create_detail_view(PyObject *self, PyObject * args, P PyObject *py_update_from_selection = nullptr; PyObject *py_lockable = nullptr; - PyObject *py_name_area_settings = nullptr; + char *py_name_area_settings = nullptr; PyObject *py_hide_selection_tip = nullptr; PyObject *py_search_initial_key_focus = nullptr; @@ -1047,12 +1047,13 @@ PyObject *py_unreal_engine_create_detail_view(PyObject *self, PyObject * args, P view_args.bLockable = (py_lockable ) ? PyObject_IsTrue(py_lockable) : view_args.bLockable; view_args.bHideSelectionTip = (py_hide_selection_tip ) ? PyObject_IsTrue(py_hide_selection_tip) : view_args.bHideSelectionTip; view_args.bSearchInitialKeyFocus = (py_search_initial_key_focus) ? PyObject_IsTrue(py_search_initial_key_focus) : view_args.bSearchInitialKeyFocus; - view_args.NameAreaSettings = [py_name_area_settings]() { - if (FCString::Stricmp(UTF8_TO_TCHAR(py_name_area_settings), TEXT("HideNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::HideNameArea; } - else if (FCString::Stricmp(UTF8_TO_TCHAR(py_name_area_settings), TEXT("ObjectsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ObjectsUseNameArea; } - else if (FCString::Stricmp(UTF8_TO_TCHAR(py_name_area_settings), TEXT("ActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } - else if (FCString::Stricmp(UTF8_TO_TCHAR(py_name_area_settings), TEXT("ComponentsAndActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ComponentsAndActorsUseNameArea; } - else { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } + FString name_area_string = py_name_area_settings ? FString(UTF8_TO_TCHAR(py_name_area_settings)) : FString(); + view_args.NameAreaSettings = [&name_area_string]() { + if (FCString::Stricmp(*name_area_string, TEXT("HideNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::HideNameArea; } + else if (FCString::Stricmp(*name_area_string, TEXT("ObjectsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ObjectsUseNameArea; } + else if (FCString::Stricmp(*name_area_string, TEXT("ActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } + else if (FCString::Stricmp(*name_area_string, TEXT("ComponentsAndActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ComponentsAndActorsUseNameArea; } + else { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } }(); TSharedPtr view = PropertyEditorModule.CreateDetailView(view_args); @@ -1066,6 +1067,80 @@ PyObject *py_unreal_engine_create_detail_view(PyObject *self, PyObject * args, P return (PyObject *)py_ue_new_swidget(view->AsShared(), &ue_PyIDetailsViewType); } +PyObject *py_unreal_engine_create_structure_detail_view(PyObject *self, PyObject * args, PyObject *kwargs) +{ + PyObject *py_object = nullptr; + + PyObject *py_allow_search = nullptr; + PyObject *py_update_from_selection = nullptr; + PyObject *py_lockable = nullptr; + char *py_name_area_settings = nullptr; + PyObject *py_hide_selection_tip = nullptr; + PyObject *py_search_initial_key_focus = nullptr; + + char *kwlist[] = { + (char*)"struct_data", + (char *)"allow_search", + (char *)"update_from_selection", + (char *)"lockable", + (char *)"name_area_settings", + (char *)"hide_selection_tip", + (char *)"search_initial_key_focus", + nullptr }; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|OOOOsOO:create_structure_detail_view", kwlist, + &py_object, &py_allow_search, &py_update_from_selection, &py_lockable, &py_name_area_settings, &py_hide_selection_tip, &py_search_initial_key_focus)) + { + return nullptr; + } + + if (py_object && !py_ue_is_uscriptstruct(py_object)) + { + return PyErr_Format(PyExc_Exception, "argument is not a UScriptStruct"); + } + + FDetailsViewArgs view_args; + view_args.bAllowSearch = (py_allow_search ) ? PyObject_IsTrue(py_allow_search) : view_args.bAllowSearch; + view_args.bUpdatesFromSelection = (py_update_from_selection ) ? PyObject_IsTrue(py_update_from_selection) : view_args.bUpdatesFromSelection; + view_args.bLockable = (py_lockable ) ? PyObject_IsTrue(py_lockable) : view_args.bLockable; + view_args.bHideSelectionTip = (py_hide_selection_tip ) ? PyObject_IsTrue(py_hide_selection_tip) : view_args.bHideSelectionTip; + view_args.bSearchInitialKeyFocus = (py_search_initial_key_focus) ? PyObject_IsTrue(py_search_initial_key_focus) : view_args.bSearchInitialKeyFocus; + + FString name_area_string = py_name_area_settings ? FString(UTF8_TO_TCHAR(py_name_area_settings)) : FString(); + view_args.NameAreaSettings = [&name_area_string]() { + if (FCString::Stricmp(*name_area_string, TEXT("HideNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::HideNameArea; } + else if (FCString::Stricmp(*name_area_string, TEXT("ObjectsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ObjectsUseNameArea; } + else if (FCString::Stricmp(*name_area_string, TEXT("ActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } + else if (FCString::Stricmp(*name_area_string, TEXT("ComponentsAndActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ComponentsAndActorsUseNameArea; } + else { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } + }(); + FStructureDetailsViewArgs struct_view_args; + { + struct_view_args.bShowObjects = true; + struct_view_args.bShowAssets = true; + struct_view_args.bShowClasses = true; + struct_view_args.bShowInterfaces = true; + } + + extern PyTypeObject ue_PyIStructureDetailsViewType; + ue_PyIStructureDetailsView *ret = (ue_PyIStructureDetailsView *)PyObject_New(ue_PyIStructureDetailsView, &ue_PyIStructureDetailsViewType); + new(&ret->istructure_details_view) TSharedPtr(nullptr); + ret->ue_py_struct = nullptr; + TSharedPtr struct_scope; + + if (ue_PyUScriptStruct *ue_py_struct = py_ue_is_uscriptstruct(py_object)) + { + Py_INCREF(ue_py_struct); + ret->ue_py_struct = ue_py_struct; + struct_scope = MakeShared(ue_py_struct->u_struct, ue_py_struct->data); + } + + FPropertyEditorModule& PropertyEditorModule = FModuleManager::GetModuleChecked("PropertyEditor"); + ret->istructure_details_view = PropertyEditorModule.CreateStructureDetailView(view_args, struct_view_args, struct_scope); + + return (PyObject *)ret; +} + PyObject *py_unreal_engine_create_property_view(PyObject *self, PyObject * args, PyObject *kwargs) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h index b9af69772..0d95e74b8 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h @@ -86,6 +86,7 @@ #include "UEPySAssetDropTarget.h" #include "UEPySObjectPropertyEntryBox.h" #include "UEPyIDetailsView.h" +#include "UEPyIStructureDetailsView.h" #include "UEPySNodePanel.h" #include "UEPySGraphPanel.h" #endif @@ -107,6 +108,7 @@ PyObject *py_unreal_engine_add_menu_extension(PyObject *, PyObject *); PyObject *py_unreal_engine_add_menu_bar_extension(PyObject *, PyObject *); PyObject *py_unreal_engine_add_tool_bar_extension(PyObject *, PyObject *); PyObject *py_unreal_engine_create_detail_view(PyObject *, PyObject *, PyObject *); +PyObject *py_unreal_engine_create_structure_detail_view(PyObject *, PyObject *, PyObject *); PyObject *py_unreal_engine_create_property_view(PyObject *, PyObject *, PyObject *); PyObject *py_unreal_engine_add_asset_view_context_menu_extension(PyObject * self, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index da4f24de3..44ffcb397 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -552,7 +552,8 @@ PyObject *py_unreal_engine_new_object(PyObject * self, PyObject * args) PyObject *obj; PyObject *py_outer = NULL; char *name = nullptr; - if (!PyArg_ParseTuple(args, "O|Os:new_object", &obj, &py_outer, &name)) + uint64 flags = (uint64)(RF_Public | RF_Standalone); + if (!PyArg_ParseTuple(args, "O|OsK:new_object", &obj, &py_outer, &name, &flags)) { return NULL; } @@ -590,7 +591,7 @@ PyObject *py_unreal_engine_new_object(PyObject * self, PyObject * args) outer = py_outer_obj->ue_object; } - UObject *new_object = NewObject(outer, obj_class, f_name, RF_Public | RF_Standalone); + UObject *new_object = NewObject(outer, obj_class, f_name, (EObjectFlags)flags); if (!new_object) return PyErr_Format(PyExc_Exception, "unable to create object"); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 53a67fa97..824833299 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -230,7 +230,9 @@ static PyMethodDef unreal_engine_methods[] = { { "add_asset_view_context_menu_extension", py_unreal_engine_add_asset_view_context_menu_extension, METH_VARARGS, "" }, #pragma warning(suppress: 4191) - { "create_detail_view", (PyCFunction)py_unreal_engine_create_detail_view, METH_VARARGS | METH_KEYWORDS, "" }, + { "create_detail_view", (PyCFunction)py_unreal_engine_create_detail_view, METH_VARARGS | METH_KEYWORDS, "" }, +#pragma warning(suppress: 4191) + { "create_structure_detail_view", (PyCFunction)py_unreal_engine_create_structure_detail_view, METH_VARARGS | METH_KEYWORDS, "" }, #pragma warning(suppress: 4191) { "create_property_view", (PyCFunction)py_unreal_engine_create_property_view, METH_VARARGS | METH_KEYWORDS, "" }, @@ -662,6 +664,8 @@ static PyMethodDef ue_PyUObject_methods[] = { { "class_generated_by", (PyCFunction)py_ue_class_generated_by, METH_VARARGS, "" }, { "class_get_flags", (PyCFunction)py_ue_class_get_flags, METH_VARARGS, "" }, { "class_set_flags", (PyCFunction)py_ue_class_set_flags, METH_VARARGS, "" }, + { "get_obj_flags", (PyCFunction)py_ue_get_obj_flags, METH_VARARGS, "" }, + { "set_obj_flags", (PyCFunction)py_ue_set_obj_flags, METH_VARARGS, "" }, #if WITH_EDITOR { "class_get_config_name", (PyCFunction)py_ue_class_get_config_name, METH_VARARGS, "" }, @@ -732,6 +736,7 @@ static PyMethodDef ue_PyUObject_methods[] = { { "add_actor_component", (PyCFunction)py_ue_add_actor_component, METH_VARARGS, "" }, { "add_instance_component", (PyCFunction)py_ue_add_instance_component, METH_VARARGS, "" }, + { "get_actor_root_component", (PyCFunction)py_ue_get_actor_root_component, METH_VARARGS, "" }, { "add_actor_root_component", (PyCFunction)py_ue_add_actor_root_component, METH_VARARGS, "" }, { "get_actor_component_by_type", (PyCFunction)py_ue_get_actor_component_by_type, METH_VARARGS, "" }, { "get_component_by_type", (PyCFunction)py_ue_get_actor_component_by_type, METH_VARARGS, "" }, @@ -2007,6 +2012,37 @@ void unreal_engine_init_py_module() PyDict_SetItemString(unreal_engine_dict, "CLASS_ABSTRACT", PyLong_FromUnsignedLongLong((uint64)CLASS_Abstract)); PyDict_SetItemString(unreal_engine_dict, "CLASS_INTERFACE", PyLong_FromUnsignedLongLong((uint64)CLASS_Interface)); + // Objects + PyDict_SetItemString(unreal_engine_dict, "RF_NOFLAGS" , PyLong_FromUnsignedLongLong((uint64)RF_NoFlags )); + PyDict_SetItemString(unreal_engine_dict, "RF_PUBLIC" , PyLong_FromUnsignedLongLong((uint64)RF_Public )); + PyDict_SetItemString(unreal_engine_dict, "RF_STANDALONE" , PyLong_FromUnsignedLongLong((uint64)RF_Standalone )); + PyDict_SetItemString(unreal_engine_dict, "RF_MARKASNATIVE" , PyLong_FromUnsignedLongLong((uint64)RF_MarkAsNative )); + PyDict_SetItemString(unreal_engine_dict, "RF_TRANSACTIONAL" , PyLong_FromUnsignedLongLong((uint64)RF_Transactional )); + PyDict_SetItemString(unreal_engine_dict, "RF_CLASSDEFAULTOBJECT" , PyLong_FromUnsignedLongLong((uint64)RF_ClassDefaultObject )); + PyDict_SetItemString(unreal_engine_dict, "RF_ARCHETYPEOBJECT" , PyLong_FromUnsignedLongLong((uint64)RF_ArchetypeObject )); + PyDict_SetItemString(unreal_engine_dict, "RF_TRANSIENT" , PyLong_FromUnsignedLongLong((uint64)RF_Transient )); + PyDict_SetItemString(unreal_engine_dict, "RF_MARKASROOTSET" , PyLong_FromUnsignedLongLong((uint64)RF_MarkAsRootSet )); + PyDict_SetItemString(unreal_engine_dict, "RF_TAGGARBAGETEMP" , PyLong_FromUnsignedLongLong((uint64)RF_TagGarbageTemp )); + PyDict_SetItemString(unreal_engine_dict, "RF_NEEDINITIALIZATION" , PyLong_FromUnsignedLongLong((uint64)RF_NeedInitialization )); + PyDict_SetItemString(unreal_engine_dict, "RF_NEEDLOAD" , PyLong_FromUnsignedLongLong((uint64)RF_NeedLoad )); + PyDict_SetItemString(unreal_engine_dict, "RF_KEEPFORCOOKER" , PyLong_FromUnsignedLongLong((uint64)RF_KeepForCooker )); + PyDict_SetItemString(unreal_engine_dict, "RF_NEEDPOSTLOAD" , PyLong_FromUnsignedLongLong((uint64)RF_NeedPostLoad )); + PyDict_SetItemString(unreal_engine_dict, "RF_NEEDPOSTLOADSUBOBJECTS" , PyLong_FromUnsignedLongLong((uint64)RF_NeedPostLoadSubobjects )); + PyDict_SetItemString(unreal_engine_dict, "RF_NEWERVERSIONEXISTS" , PyLong_FromUnsignedLongLong((uint64)RF_NewerVersionExists )); + PyDict_SetItemString(unreal_engine_dict, "RF_BEGINDESTROYED" , PyLong_FromUnsignedLongLong((uint64)RF_BeginDestroyed )); + PyDict_SetItemString(unreal_engine_dict, "RF_FINISHDESTROYED" , PyLong_FromUnsignedLongLong((uint64)RF_FinishDestroyed )); + PyDict_SetItemString(unreal_engine_dict, "RF_BEINGREGENERATED" , PyLong_FromUnsignedLongLong((uint64)RF_BeingRegenerated )); + PyDict_SetItemString(unreal_engine_dict, "RF_DEFAULTSUBOBJECT" , PyLong_FromUnsignedLongLong((uint64)RF_DefaultSubObject )); + PyDict_SetItemString(unreal_engine_dict, "RF_WASLOADED" , PyLong_FromUnsignedLongLong((uint64)RF_WasLoaded )); + PyDict_SetItemString(unreal_engine_dict, "RF_TEXTEXPORTTRANSIENT" , PyLong_FromUnsignedLongLong((uint64)RF_TextExportTransient )); + PyDict_SetItemString(unreal_engine_dict, "RF_LOADCOMPLETED" , PyLong_FromUnsignedLongLong((uint64)RF_LoadCompleted )); + PyDict_SetItemString(unreal_engine_dict, "RF_INHERITABLECOMPONENTTEMPLATE", PyLong_FromUnsignedLongLong((uint64)RF_InheritableComponentTemplate)); + PyDict_SetItemString(unreal_engine_dict, "RF_DUPLICATETRANSIENT" , PyLong_FromUnsignedLongLong((uint64)RF_DuplicateTransient )); + PyDict_SetItemString(unreal_engine_dict, "RF_STRONGREFONFRAME" , PyLong_FromUnsignedLongLong((uint64)RF_StrongRefOnFrame )); + PyDict_SetItemString(unreal_engine_dict, "RF_NONPIEDUPLICATETRANSIENT" , PyLong_FromUnsignedLongLong((uint64)RF_NonPIEDuplicateTransient )); + PyDict_SetItemString(unreal_engine_dict, "RF_DYNAMIC" , PyLong_FromUnsignedLongLong((uint64)RF_Dynamic )); + PyDict_SetItemString(unreal_engine_dict, "RF_WILLBELOADED" , PyLong_FromUnsignedLongLong((uint64)RF_WillBeLoaded )); + // Properties PyDict_SetItemString(unreal_engine_dict, "CPF_CONFIG", PyLong_FromUnsignedLongLong((uint64)CPF_Config)); PyDict_SetItemString(unreal_engine_dict, "CPF_GLOBAL_CONFIG", PyLong_FromUnsignedLongLong((uint64)CPF_GlobalConfig)); @@ -3023,7 +3059,7 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * } } - //NOTE: Still weird that we're not using u_function->PropertiesSize but mirroring behavior in UObject::CallFunctionByNameWithArguments() + //NOTE: u_function->PropertiesSize maps to local variable uproperties + ufunction paramaters uproperties uint8 *buffer = (uint8 *)FMemory_Alloca(u_function->ParmsSize); FMemory::Memzero(buffer, u_function->ParmsSize); // initialize args @@ -3038,6 +3074,10 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * //UObject::CallFunctionByNameWithArguments() only does this part on non return value params if((IArgs->PropertyFlags & (CPF_Parm|CPF_ReturnParm)) == CPF_Parm) { + if (!prop->IsInContainer(u_function->ParmsSize)) + { + return PyErr_Format(PyExc_Exception, "Attempting to import func param property that's out of bounds. %s", *u_function->GetName()); + } #if WITH_EDITOR FString default_key = FString("CPP_Default_") + prop->GetName(); FString default_key_value = u_function->GetMetaData(FName(*default_key)); @@ -3089,7 +3129,7 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * } } } - if ((PArgs->PropertyFlags & (CPF_ConstParm | CPF_OutParm)) == CPF_OutParm) + if (prop->HasAnyPropertyFlags(CPF_OutParm) && (prop->IsA() || prop->HasAnyPropertyFlags(CPF_ConstParm) == false)) { has_out_params++; } @@ -3133,7 +3173,7 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * for (; OProps; ++OProps) { UProperty *prop = *OProps; - if ((prop->GetPropertyFlags() & (CPF_ConstParm | CPF_OutParm)) == CPF_OutParm) + if (prop->HasAnyPropertyFlags(CPF_OutParm) && (prop->IsA() || prop->HasAnyPropertyFlags(CPF_ConstParm) == false)) { // skip return param as it must be always the first if (prop->GetPropertyFlags() & CPF_ReturnParm) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp index e5025b4f6..e0eeced08 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp @@ -508,6 +508,27 @@ PyObject *py_ue_actor_create_default_subobject(ue_PyUObject * self, PyObject * a } +PyObject *py_ue_get_actor_root_component(ue_PyUObject * self, PyObject * args) { + + ue_py_check(self); + + AActor *actor = ue_get_actor(self); + if (!actor) + return PyErr_Format(PyExc_Exception, "cannot retrieve Actor from uobject"); + + UActorComponent *component = actor->GetRootComponent(); + if (component) { + ue_PyUObject *py_obj = ue_get_python_wrapper(component); + if (!py_obj) + return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); + Py_INCREF(py_obj); + return (PyObject *)py_obj; + } + + Py_INCREF(Py_None); + return Py_None; +} + PyObject *py_ue_add_actor_root_component(ue_PyUObject * self, PyObject * args) { ue_py_check(self); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyActor.h b/Source/UnrealEnginePython/Private/UObject/UEPyActor.h index 39486eda1..5e46abbb1 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyActor.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyActor.h @@ -21,6 +21,7 @@ PyObject *py_ue_get_editor_world_counterpart_actor(ue_PyUObject *, PyObject *); PyObject *py_ue_get_owner(ue_PyUObject *, PyObject *); PyObject *py_ue_add_actor_component(ue_PyUObject *, PyObject *); PyObject *py_ue_add_python_component(ue_PyUObject *, PyObject *); +PyObject *py_ue_get_actor_root_component(ue_PyUObject *, PyObject *); PyObject *py_ue_add_actor_root_component(ue_PyUObject *, PyObject *); PyObject *py_ue_actor_has_component_of_type(ue_PyUObject *, PyObject *); PyObject *py_ue_get_actor_component_by_type(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp index 2960103dd..5c2162a6f 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp @@ -73,6 +73,30 @@ PyObject *py_ue_class_set_flags(ue_PyUObject * self, PyObject * args) Py_RETURN_NONE; } +PyObject *py_ue_get_obj_flags(ue_PyUObject * self, PyObject * args) +{ + ue_py_check(self); + + return PyLong_FromUnsignedLongLong((uint64)self->ue_object->GetFlags()); +} + +PyObject *py_ue_set_obj_flags(ue_PyUObject * self, PyObject * args) +{ + + ue_py_check(self); + + uint64 flags; + if (!PyArg_ParseTuple(args, "K:set_obj_flags", &flags)) + { + return nullptr; + } + + self->ue_object->SetFlags((EObjectFlags)flags); + + Py_RETURN_NONE; +} + + #if WITH_EDITOR PyObject *py_ue_class_set_config_name(ue_PyUObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.h b/Source/UnrealEnginePython/Private/UObject/UEPyObject.h index c32e9776c..d7eb08c08 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.h @@ -69,6 +69,8 @@ PyObject *py_ue_class_generated_by(ue_PyUObject *, PyObject *); PyObject *py_ue_class_get_flags(ue_PyUObject *, PyObject *); PyObject *py_ue_class_set_flags(ue_PyUObject *, PyObject *); +PyObject *py_ue_get_obj_flags(ue_PyUObject *, PyObject *); +PyObject *py_ue_set_obj_flags(ue_PyUObject *, PyObject *); #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyPhysics.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyPhysics.cpp index 3c1e829a2..01dca4b04 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyPhysics.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyPhysics.cpp @@ -375,7 +375,6 @@ PyObject *py_ue_set_physics_angular_velocity(ue_PyUObject * self, PyObject * arg return Py_None; } - PyObject *py_ue_get_physics_angular_velocity(ue_PyUObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index 25d99d834..01564d7a3 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -304,7 +304,7 @@ PyObject *py_ue_sequencer_make_new_spawnable(ue_PyUObject *self, PyObject * args ue_py_check(self); PyObject *py_obj; - if (!PyArg_ParseTuple(args, "O:sequencer_add_spawnable", &py_obj)) { + if (!PyArg_ParseTuple(args, "O:sequencer_make_new_spawnable", &py_obj)) { return NULL; } @@ -796,7 +796,7 @@ PyObject *py_ue_sequencer_remove_master_track(ue_PyUObject *self, PyObject * arg ue_py_check(self); PyObject *py_track; - if (!PyArg_ParseTuple(args, "track:sequencer_remove_master_track", &py_track)) { + if (!PyArg_ParseTuple(args, "O:sequencer_remove_master_track", &py_track)) { return nullptr; } @@ -821,7 +821,7 @@ PyObject *py_ue_sequencer_remove_track(ue_PyUObject *self, PyObject * args) { ue_py_check(self); PyObject *py_track; - if (!PyArg_ParseTuple(args, "track:sequencer_remove_track", &py_track)) { + if (!PyArg_ParseTuple(args, "O:sequencer_remove_track", &py_track)) { return nullptr; } diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 29c52441a..f3b991d38 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -147,12 +147,36 @@ namespace { } } + static void consoleExecString(const TArray& Args) + { + if (Args.Num() == 0) + { + UE_LOG(LogPython, Warning, TEXT("Usage: 'py.cmd '.")); + UE_LOG(LogPython, Warning, TEXT(" scriptname: Name of script, must reside in Scripts folder. Ex: myscript.py")); + } + else + { + FString cmdString; + for (const FString& argStr : Args) + { + cmdString += argStr.TrimQuotes() + '\n'; + } + + UPythonBlueprintFunctionLibrary::ExecutePythonString(cmdString); + } + } + } FAutoConsoleCommand ExecPythonScriptCommand( TEXT("py.exec"), *NSLOCTEXT("UnrealEnginePython", "CommandText_Exec", "Execute python script").ToString(), FConsoleCommandWithArgsDelegate::CreateStatic(consoleExecScript)); +FAutoConsoleCommand ExecPythonStringCommand( + TEXT("py.cmd"), + *NSLOCTEXT("UnrealEnginePython", "CommandText_Cmd", "Execute python string").ToString(), + FConsoleCommandWithArgsDelegate::CreateStatic(consoleExecString)); + void FUnrealEnginePythonModule::StartupModule() { diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.cpp index d348a7291..6a30692df 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.cpp @@ -83,6 +83,18 @@ static PyObject *py_ue_feditor_viewport_client_set_view_location(ue_PyFEditorVie Py_RETURN_NONE; } +static PyObject *py_ue_feditor_viewport_client_set_realtime(ue_PyFEditorViewportClient *self, PyObject * args) +{ + PyObject* bInRealtime; + PyObject* bStoreCurrentValue; + if (!PyArg_ParseTuple(args, "OO", &bInRealtime, &bStoreCurrentValue)) + return nullptr; + + self->editor_viewport_client->SetRealtime(PyObject_IsTrue(bInRealtime) ? true : false, + PyObject_IsTrue(bStoreCurrentValue) ? true : false); + Py_RETURN_NONE; +} + static PyMethodDef ue_PyFEditorViewportClient_methods[] = { { "take_high_res_screen_shot", (PyCFunction)py_ue_feditor_viewport_client_take_high_res_screen_shot, METH_VARARGS, "" }, { "tick", (PyCFunction)py_ue_feditor_viewport_client_tick, METH_VARARGS, "" }, @@ -94,6 +106,7 @@ static PyMethodDef ue_PyFEditorViewportClient_methods[] = { { "get_scene_depth_at_location", (PyCFunction)py_ue_feditor_viewport_client_get_scene_depth_at_location, METH_VARARGS, "" }, { "set_look_at_location", (PyCFunction)py_ue_feditor_viewport_client_set_look_at_location, METH_VARARGS, "" }, { "set_view_location", (PyCFunction)py_ue_feditor_viewport_client_set_view_location, METH_VARARGS, "" }, + { "set_realtime", (PyCFunction)py_ue_feditor_viewport_client_set_realtime, METH_VARARGS, "" }, { nullptr } /* Sentinel */ }; From 688c14914ddde523db250da10503351eeeca402a Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 9 Feb 2018 08:16:00 +0100 Subject: [PATCH 030/538] cleaned up amazing KNL stuff --- Source/PythonConsole/Private/PythonScriptFactory.cpp | 2 -- .../Private/Slate/UEPyIStructureDetailsView.cpp | 2 +- Source/UnrealEnginePython/UnrealEnginePython.Build.cs | 2 -- UnrealEnginePython.uplugin | 5 ++--- 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/Source/PythonConsole/Private/PythonScriptFactory.cpp b/Source/PythonConsole/Private/PythonScriptFactory.cpp index b5dba512f..1b1828a7c 100644 --- a/Source/PythonConsole/Private/PythonScriptFactory.cpp +++ b/Source/PythonConsole/Private/PythonScriptFactory.cpp @@ -5,9 +5,7 @@ UPythonScriptFactory::UPythonScriptFactory(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) { -#if !WITH_KNL_PYEXT Formats.Add(FString("py;Python Script")); -#endif bCreateNew = false; bEditAfterNew = true; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp index bed844b8c..0af6c4129 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp @@ -58,7 +58,7 @@ static PyObject *py_ue_istructure_details_view_set_structure_data(ue_PyIStructur if (py_force_refresh && PyObject_IsTrue(py_force_refresh)) { - self->istructure_details_view->GetDetailsView().ForceRefresh(); + self->istructure_details_view->GetDetailsView()->ForceRefresh(); } Py_RETURN_NONE; diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index 7c03a068c..6498068c9 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -19,7 +19,6 @@ public class UnrealEnginePython : ModuleRules private string[] windowsKnownPaths = { - "../../../../../ThirdParty/Python3", "C:/Program Files/Python36", "C:/Program Files/Python35", "C:/Python27", @@ -80,7 +79,6 @@ public UnrealEnginePython(ReadOnlyTargetRules Target) : base(Target) public UnrealEnginePython(TargetInfo Target) #endif { - Definitions.Add("WITH_KNL_PYEXT=1"); PublicIncludePaths.AddRange( new string[] { diff --git a/UnrealEnginePython.uplugin b/UnrealEnginePython.uplugin index 0731a2b1b..a7ed3dabb 100644 --- a/UnrealEnginePython.uplugin +++ b/UnrealEnginePython.uplugin @@ -17,7 +17,7 @@ "Modules": [ { "Name": "UnrealEnginePython", - "Type": "Developer", + "Type": "Runtime", "LoadingPhase": "Default" }, { @@ -36,6 +36,5 @@ "Name": "LevelSequenceEditor", "Enabled": true } - ], - "BlacklistTargets": ["Server"] + ] } From 581a2791e86ebf7d197807fa8d88c7ebcdb1f3ec Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 9 Feb 2018 08:34:42 +0100 Subject: [PATCH 031/538] first round of backports --- Source/UnrealEnginePython/Private/PyActor.cpp | 2 ++ Source/UnrealEnginePython/Private/PyCharacter.cpp | 2 ++ Source/UnrealEnginePython/Private/PyCommandlet.cpp | 2 ++ Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.h | 2 ++ Source/UnrealEnginePython/Private/UEPyEngine.cpp | 2 ++ Source/UnrealEnginePython/Private/UEPyTicker.h | 2 ++ .../Private/Wrappers/UEPyFMorphTargetDelta.h | 3 +++ Source/UnrealEnginePython/Public/PyNativeWidgetHost.h | 4 +++- Source/UnrealEnginePython/Public/PythonScript.h | 2 +- 9 files changed, 19 insertions(+), 2 deletions(-) diff --git a/Source/UnrealEnginePython/Private/PyActor.cpp b/Source/UnrealEnginePython/Private/PyActor.cpp index 767b6670d..872f78af5 100644 --- a/Source/UnrealEnginePython/Private/PyActor.cpp +++ b/Source/UnrealEnginePython/Private/PyActor.cpp @@ -1,3 +1,5 @@ +// Copyright 20Tab S.r.l. + #include "UnrealEnginePythonPrivatePCH.h" #include "PyActor.h" diff --git a/Source/UnrealEnginePython/Private/PyCharacter.cpp b/Source/UnrealEnginePython/Private/PyCharacter.cpp index d0c43b97c..a2251707b 100644 --- a/Source/UnrealEnginePython/Private/PyCharacter.cpp +++ b/Source/UnrealEnginePython/Private/PyCharacter.cpp @@ -1,3 +1,5 @@ +// Copyright 20Tab S.r.l. + #include "UnrealEnginePythonPrivatePCH.h" #include "PyCharacter.h" diff --git a/Source/UnrealEnginePython/Private/PyCommandlet.cpp b/Source/UnrealEnginePython/Private/PyCommandlet.cpp index ab4873297..33c243450 100644 --- a/Source/UnrealEnginePython/Private/PyCommandlet.cpp +++ b/Source/UnrealEnginePython/Private/PyCommandlet.cpp @@ -1,3 +1,5 @@ +// Copyright 20Tab S.r.l. + #include "UnrealEnginePythonPrivatePCH.h" #include "PyCommandlet.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.h b/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.h index a1d15c923..d29887525 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.h @@ -3,6 +3,7 @@ #include "UnrealEnginePython.h" #if WITH_EDITOR +#if ENGINE_MINOR_VERSION > 12 #include "UEPySNodePanel.h" #include "Editor/GraphEditor/Public/SGraphPanel.h" @@ -16,4 +17,5 @@ typedef struct { void ue_python_init_sgraph_panel(PyObject *); +#endif #endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index a3ca8249e..72c68696f 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -1,3 +1,5 @@ +// Copyright 20Tab S.r.l. + #include "UnrealEnginePythonPrivatePCH.h" #include "Kismet/KismetSystemLibrary.h" diff --git a/Source/UnrealEnginePython/Private/UEPyTicker.h b/Source/UnrealEnginePython/Private/UEPyTicker.h index 22b9396ff..11ed989fe 100644 --- a/Source/UnrealEnginePython/Private/UEPyTicker.h +++ b/Source/UnrealEnginePython/Private/UEPyTicker.h @@ -1,3 +1,5 @@ +// Copyright 20Tab S.r.l. + #pragma once #include "UnrealEnginePython.h" diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFMorphTargetDelta.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFMorphTargetDelta.h index 1738d9ed4..4b0c81788 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFMorphTargetDelta.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFMorphTargetDelta.h @@ -1,6 +1,8 @@ #pragma once #include "UnrealEnginePython.h" +#if ENGINE_MINOR_VERSION > 12 + #include "Runtime/Engine/Classes/Animation/MorphTarget.h" struct ue_PyFMorphTargetDelta { @@ -14,3 +16,4 @@ void ue_python_init_fmorph_target_delta(PyObject *); PyObject *py_ue_new_fmorph_target_delta(FMorphTargetDelta); ue_PyFMorphTargetDelta *py_ue_is_fmorph_target_delta(PyObject *); +#endif diff --git a/Source/UnrealEnginePython/Public/PyNativeWidgetHost.h b/Source/UnrealEnginePython/Public/PyNativeWidgetHost.h index dca7f6a1f..220f706b4 100644 --- a/Source/UnrealEnginePython/Public/PyNativeWidgetHost.h +++ b/Source/UnrealEnginePython/Public/PyNativeWidgetHost.h @@ -2,10 +2,11 @@ #pragma once -#include "CoreMinimal.h" +#include "UnrealEnginePython.h" #include "Components/NativeWidgetHost.h" #include "PyNativeWidgetHost.generated.h" + USTRUCT(BlueprintType) struct UNREALENGINEPYTHON_API FPythonSWidgetWrapper { @@ -39,3 +40,4 @@ class UNREALENGINEPYTHON_API UPyNativeWidgetHost : public UNativeWidgetHost #endif }; + diff --git a/Source/UnrealEnginePython/Public/PythonScript.h b/Source/UnrealEnginePython/Public/PythonScript.h index 0c95a8253..15ecaa284 100644 --- a/Source/UnrealEnginePython/Public/PythonScript.h +++ b/Source/UnrealEnginePython/Public/PythonScript.h @@ -1,6 +1,6 @@ #pragma once -#include "CoreMinimal.h" +#include "UnrealEnginePython.h" #include "UObject/Object.h" #include "PythonScript.generated.h" From af2b9b1b9459804e49f64dee775342922541a3d3 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 9 Feb 2018 09:18:33 +0100 Subject: [PATCH 032/538] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 685c97ecf..948902f8a 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ -# Teaser: https://twitter.com/KNLstudio/status/932657812466843648 # UnrealEnginePython Embed Python in Unreal Engine 4 +'''Teaser:''' https://twitter.com/KNLstudio/status/932657812466843648 + # How and Why ? This is a plugin embedding a whole Python VM (versions 3.x [the default and suggested one] and 2.7) In Unreal Engine 4 (both the editor and runtime). From 141aa8886e25479027547c1bcac776b61bd7a21d Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 9 Feb 2018 09:25:09 +0100 Subject: [PATCH 033/538] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 948902f8a..83dd95636 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # UnrealEnginePython Embed Python in Unreal Engine 4 -'''Teaser:''' https://twitter.com/KNLstudio/status/932657812466843648 +Teaser: https://twitter.com/KNLstudio/status/932657812466843648 # How and Why ? From d77edff3b9204389521f00ec8859387cf0d2b561 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 9 Feb 2018 10:00:30 +0100 Subject: [PATCH 034/538] backported to 4.15 --- .../Private/Slate/UEPyFSlateStyleSet.cpp | 4 + .../Slate/UEPyIStructureDetailsView.cpp | 280 +++++++++--------- .../Private/Slate/UEPySGraphPanel.cpp | 2 + .../Private/Slate/UEPySGraphPanel.h | 2 +- .../Private/Slate/UEPySVectorInputBox.cpp | 5 +- .../Private/Slate/UEPySlate.cpp | 2 + .../UnrealEnginePython/Private/UEPyModule.cpp | 5 +- .../Private/UEPyUScriptStruct.h | 4 +- .../Private/UnrealEnginePythonPrivatePCH.h | 12 +- .../Private/Wrappers/UEPyESlateEnums.cpp | 2 + .../Public/PyNativeWidgetHost.h | 4 +- 11 files changed, 174 insertions(+), 148 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp index 5a21fbf50..78a29fa17 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp @@ -135,8 +135,10 @@ static PyObject *py_ue_fslate_style_set_get(ue_PyFSlateStyleSet *self, PyObject } else if (ue_py_check_childstruct(py_type)) { + typedef TFunction WStyleGetter; typedef TPair WStylePair; +#if ENGINE_MINOR_VERSION > 15 static const WStylePair validWidgetStyleUStructList[] = { WStylePair{ FTextBlockStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, WStylePair{ FButtonStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, @@ -163,6 +165,7 @@ static PyObject *py_ue_fslate_style_set_get(ue_PyFSlateStyleSet *self, PyObject WStylePair{ FScrollBorderStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, WStylePair{ FWindowStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, }; + for(WStylePair widgetStyleUStruct : validWidgetStyleUStructList) { @@ -172,6 +175,7 @@ static PyObject *py_ue_fslate_style_set_get(ue_PyFSlateStyleSet *self, PyObject break; } } +#endif if (!ret) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp index 0af6c4129..aec81f315 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp @@ -12,89 +12,92 @@ static PyObject *ue_PyIStructureDetailsView_str(ue_PyIStructureDetailsView *self) { #if PY_MAJOR_VERSION >= 3 - return PyUnicode_FromFormat("", - TCHAR_TO_UTF8(*self->istructure_details_view->GetWidget()->GetTypeAsString()), - self->istructure_details_view->GetWidget().Get(), - self->istructure_details_view->GetWidget().GetSharedReferenceCount(), - self->ob_base.ob_refcnt); + return PyUnicode_FromFormat("", + TCHAR_TO_UTF8(*self->istructure_details_view->GetWidget()->GetTypeAsString()), + self->istructure_details_view->GetWidget().Get(), + self->istructure_details_view->GetWidget().GetSharedReferenceCount(), + self->ob_base.ob_refcnt); #else - return PyUnicode_FromFormat("", - TCHAR_TO_UTF8(*self->istructure_details_view->GetWidget()->GetTypeAsString()), - self->istructure_details_view->GetWidget().Get(), - self->istructure_details_view->GetWidget().GetSharedReferenceCount()); + return PyUnicode_FromFormat("", + TCHAR_TO_UTF8(*self->istructure_details_view->GetWidget()->GetTypeAsString()), + self->istructure_details_view->GetWidget().Get(), + self->istructure_details_view->GetWidget().GetSharedReferenceCount()); #endif } static PyObject *py_ue_istructure_details_view_set_structure_data(ue_PyIStructureDetailsView *self, PyObject * args, PyObject *kwargs) { - PyObject *py_object = nullptr; - PyObject *py_force_refresh = nullptr; - - char *kwlist[] = { - (char *)"struct_data", - (char *)"force_refresh", - nullptr - }; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|O:set_structure_data", kwlist, &py_object, &py_force_refresh)) - { - return nullptr; - } - - ue_PyUScriptStruct *ue_py_struct = py_ue_is_uscriptstruct(py_object); - if (!ue_py_struct) - { - return PyErr_Format(PyExc_Exception, "argument is not a UScriptStruct"); - } - - - Py_XDECREF(self->ue_py_struct); - self->ue_py_struct = ue_py_struct; - Py_INCREF(self->ue_py_struct); - TSharedPtr struct_scope = MakeShared(ue_py_struct->u_struct, ue_py_struct->data); - FPropertyEditorModule& PropertyEditorModule = FModuleManager::GetModuleChecked("PropertyEditor"); - self->istructure_details_view->SetStructureData(struct_scope); - - if (py_force_refresh && PyObject_IsTrue(py_force_refresh)) - { - self->istructure_details_view->GetDetailsView()->ForceRefresh(); - } - - Py_RETURN_NONE; + PyObject *py_object = nullptr; + PyObject *py_force_refresh = nullptr; + + char *kwlist[] = { + (char *)"struct_data", + (char *)"force_refresh", + nullptr + }; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|O:set_structure_data", kwlist, &py_object, &py_force_refresh)) + { + return nullptr; + } + + ue_PyUScriptStruct *ue_py_struct = py_ue_is_uscriptstruct(py_object); + if (!ue_py_struct) + { + return PyErr_Format(PyExc_Exception, "argument is not a UScriptStruct"); + } + + + Py_XDECREF(self->ue_py_struct); + self->ue_py_struct = ue_py_struct; + Py_INCREF(self->ue_py_struct); + TSharedPtr struct_scope = MakeShared(ue_py_struct->u_struct, ue_py_struct->data); + FPropertyEditorModule& PropertyEditorModule = FModuleManager::GetModuleChecked("PropertyEditor"); + self->istructure_details_view->SetStructureData(struct_scope); + +#if ENGINE_MINOR_VERSION > 17 + if (py_force_refresh && PyObject_IsTrue(py_force_refresh)) + { + self->istructure_details_view->GetDetailsView()->ForceRefresh(); + } +#endif + + Py_RETURN_NONE; } static PyObject *py_ue_istructure_details_view_get_widget(ue_PyIStructureDetailsView *self, PyObject * args) { - if (!self->istructure_details_view.IsValid()) - { - return PyErr_Format(PyExc_Exception, "IStructureDetailsView is not valid"); - } + if (!self->istructure_details_view.IsValid()) + { + return PyErr_Format(PyExc_Exception, "IStructureDetailsView is not valid"); + } - TSharedPtr ret_widget = self->istructure_details_view->GetWidget(); - if (!ret_widget.IsValid()) - { - return PyErr_Format(PyExc_Exception, "unable to create SingleProperty widget"); - } + TSharedPtr ret_widget = self->istructure_details_view->GetWidget(); + if (!ret_widget.IsValid()) + { + return PyErr_Format(PyExc_Exception, "unable to create SingleProperty widget"); + } - return (PyObject *)py_ue_new_swidget(ret_widget->AsShared(), &ue_PySWidgetType); + return (PyObject *)py_ue_new_swidget(ret_widget->AsShared(), &ue_PySWidgetType); - Py_RETURN_NONE; + Py_RETURN_NONE; } static PyMethodDef ue_PyIStructureDetailsView_methods[] = { #pragma warning(suppress: 4191) - { "set_structure_data", (PyCFunction)py_ue_istructure_details_view_set_structure_data, METH_VARARGS | METH_KEYWORDS, "" }, - { "get_widget", (PyCFunction)py_ue_istructure_details_view_get_widget, METH_VARARGS, "" }, + { "set_structure_data", (PyCFunction)py_ue_istructure_details_view_set_structure_data, METH_VARARGS | METH_KEYWORDS, "" }, + { "get_widget", (PyCFunction)py_ue_istructure_details_view_get_widget, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; -static void ue_PyIStructureDetailsView_dealloc(ue_PyIStructureDetailsView *self) { +static void ue_PyIStructureDetailsView_dealloc(ue_PyIStructureDetailsView *self) +{ #if defined(UEPY_MEMORY_DEBUG) - UE_LOG(LogPython, Warning, TEXT("Destroying ue_PyIStructureDetailsView %p mapped to IStructureDetailsView %p"), self, &self->istructure_details_view.Get()); + UE_LOG(LogPython, Warning, TEXT("Destroying ue_PyIStructureDetailsView %p mapped to IStructureDetailsView %p"), self, &self->istructure_details_view.Get()); #endif - Py_DECREF(self->ue_py_struct); - Py_TYPE(self)->tp_free((PyObject *)self); + Py_DECREF(self->ue_py_struct); + Py_TYPE(self)->tp_free((PyObject *)self); } PyTypeObject ue_PyIStructureDetailsViewType = { @@ -102,7 +105,7 @@ PyTypeObject ue_PyIStructureDetailsViewType = { "unreal_engine.IStructureDetailsView", /* tp_name */ sizeof(ue_PyIStructureDetailsView), /* tp_basicsize */ 0, /* tp_itemsize */ - (destructor)ue_PyIStructureDetailsView_dealloc, /* tp_dealloc */ + (destructor)ue_PyIStructureDetailsView_dealloc, /* tp_dealloc */ 0, /* tp_print */ 0, /* tp_getattr */ 0, /* tp_setattr */ @@ -113,7 +116,7 @@ PyTypeObject ue_PyIStructureDetailsViewType = { 0, /* tp_as_mapping */ 0, /* tp_hash */ 0, /* tp_call */ - (reprfunc)ue_PyIStructureDetailsView_str, /* tp_str */ + (reprfunc)ue_PyIStructureDetailsView_str, /* tp_str */ 0, /* tp_getattro */ 0, /* tp_setattro */ 0, /* tp_as_buffer */ @@ -125,96 +128,97 @@ PyTypeObject ue_PyIStructureDetailsViewType = { 0, /* tp_weaklistoffset */ 0, /* tp_iter */ 0, /* tp_iternext */ - ue_PyIStructureDetailsView_methods, /* tp_methods */ + ue_PyIStructureDetailsView_methods, /* tp_methods */ }; -static int ue_py_istructure_details_view_init(ue_PyIStructureDetailsView *self, PyObject *args, PyObject *kwargs) { - - PyObject *py_object = nullptr; - - PyObject *py_allow_search = nullptr; - PyObject *py_update_from_selection = nullptr; - PyObject *py_lockable = nullptr; - char *py_name_area_settings = nullptr; - PyObject *py_hide_selection_tip = nullptr; - PyObject *py_search_initial_key_focus = nullptr; - - char *kwlist[] = { - (char*)"struct_data", - (char *)"allow_search", - (char *)"update_from_selection", - (char *)"lockable", - (char *)"name_area_settings", - (char *)"hide_selection_tip", - (char *)"search_initial_key_focus", - nullptr }; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|OOOOsOO:__init__", kwlist, - &py_object, &py_allow_search, &py_update_from_selection, &py_lockable, &py_name_area_settings, &py_hide_selection_tip, &py_search_initial_key_focus)) - { - return -1; - } - - ue_PyUScriptStruct *ue_py_struct = py_ue_is_uscriptstruct(py_object); - if (!ue_py_struct) - { - PyErr_SetString(PyExc_Exception, "argument is not a UScriptStruct"); - return -1; - } - - FDetailsViewArgs view_args; - view_args.bAllowSearch = (py_allow_search ) ? PyObject_IsTrue(py_allow_search) : view_args.bAllowSearch; - view_args.bUpdatesFromSelection = (py_update_from_selection ) ? PyObject_IsTrue(py_update_from_selection) : view_args.bUpdatesFromSelection; - view_args.bLockable = (py_lockable ) ? PyObject_IsTrue(py_lockable) : view_args.bLockable; - view_args.bHideSelectionTip = (py_hide_selection_tip ) ? PyObject_IsTrue(py_hide_selection_tip) : view_args.bHideSelectionTip; - view_args.bSearchInitialKeyFocus = (py_search_initial_key_focus) ? PyObject_IsTrue(py_search_initial_key_focus) : view_args.bSearchInitialKeyFocus; - - FString name_area_string = py_name_area_settings ? FString(UTF8_TO_TCHAR(py_name_area_settings)) : FString(); - view_args.NameAreaSettings = [&name_area_string]() { - if (FCString::Stricmp(*name_area_string, TEXT("HideNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::HideNameArea; } - else if (FCString::Stricmp(*name_area_string, TEXT("ObjectsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ObjectsUseNameArea; } - else if (FCString::Stricmp(*name_area_string, TEXT("ActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } - else if (FCString::Stricmp(*name_area_string, TEXT("ComponentsAndActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ComponentsAndActorsUseNameArea; } - else { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } - }(); - FStructureDetailsViewArgs struct_view_args; - { - struct_view_args.bShowObjects = true; - struct_view_args.bShowAssets = true; - struct_view_args.bShowClasses = true; - struct_view_args.bShowInterfaces = true; - } - new(&self->istructure_details_view) TSharedPtr(nullptr); - - self->ue_py_struct = ue_py_struct; - Py_INCREF(self->ue_py_struct); - TSharedPtr struct_scope = MakeShared(ue_py_struct->u_struct, ue_py_struct->data); - FPropertyEditorModule& PropertyEditorModule = FModuleManager::GetModuleChecked("PropertyEditor"); - self->istructure_details_view = PropertyEditorModule.CreateStructureDetailView(view_args, struct_view_args, struct_scope); - - return 0; +static int ue_py_istructure_details_view_init(ue_PyIStructureDetailsView *self, PyObject *args, PyObject *kwargs) +{ + + PyObject *py_object = nullptr; + + PyObject *py_allow_search = nullptr; + PyObject *py_update_from_selection = nullptr; + PyObject *py_lockable = nullptr; + char *py_name_area_settings = nullptr; + PyObject *py_hide_selection_tip = nullptr; + PyObject *py_search_initial_key_focus = nullptr; + + char *kwlist[] = { + (char*)"struct_data", + (char *)"allow_search", + (char *)"update_from_selection", + (char *)"lockable", + (char *)"name_area_settings", + (char *)"hide_selection_tip", + (char *)"search_initial_key_focus", + nullptr }; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|OOOOsOO:__init__", kwlist, + &py_object, &py_allow_search, &py_update_from_selection, &py_lockable, &py_name_area_settings, &py_hide_selection_tip, &py_search_initial_key_focus)) + { + return -1; + } + + ue_PyUScriptStruct *ue_py_struct = py_ue_is_uscriptstruct(py_object); + if (!ue_py_struct) + { + PyErr_SetString(PyExc_Exception, "argument is not a UScriptStruct"); + return -1; + } + + FDetailsViewArgs view_args; + view_args.bAllowSearch = (py_allow_search) ? PyObject_IsTrue(py_allow_search) : view_args.bAllowSearch; + view_args.bUpdatesFromSelection = (py_update_from_selection) ? PyObject_IsTrue(py_update_from_selection) : view_args.bUpdatesFromSelection; + view_args.bLockable = (py_lockable) ? PyObject_IsTrue(py_lockable) : view_args.bLockable; + view_args.bHideSelectionTip = (py_hide_selection_tip) ? PyObject_IsTrue(py_hide_selection_tip) : view_args.bHideSelectionTip; + view_args.bSearchInitialKeyFocus = (py_search_initial_key_focus) ? PyObject_IsTrue(py_search_initial_key_focus) : view_args.bSearchInitialKeyFocus; + + FString name_area_string = py_name_area_settings ? FString(UTF8_TO_TCHAR(py_name_area_settings)) : FString(); + view_args.NameAreaSettings = [&name_area_string]() { + if (FCString::Stricmp(*name_area_string, TEXT("HideNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::HideNameArea; } + else if (FCString::Stricmp(*name_area_string, TEXT("ObjectsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ObjectsUseNameArea; } + else if (FCString::Stricmp(*name_area_string, TEXT("ActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } + else if (FCString::Stricmp(*name_area_string, TEXT("ComponentsAndActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ComponentsAndActorsUseNameArea; } + else { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } + }(); + FStructureDetailsViewArgs struct_view_args; + { + struct_view_args.bShowObjects = true; + struct_view_args.bShowAssets = true; + struct_view_args.bShowClasses = true; + struct_view_args.bShowInterfaces = true; + } + new(&self->istructure_details_view) TSharedPtr(nullptr); + + self->ue_py_struct = ue_py_struct; + Py_INCREF(self->ue_py_struct); + TSharedPtr struct_scope = MakeShared(ue_py_struct->u_struct, ue_py_struct->data); + FPropertyEditorModule& PropertyEditorModule = FModuleManager::GetModuleChecked("PropertyEditor"); + self->istructure_details_view = PropertyEditorModule.CreateStructureDetailView(view_args, struct_view_args, struct_scope); + + return 0; } void ue_python_init_istructure_details_view(PyObject *ue_module) { - ue_PyIStructureDetailsViewType.tp_new = PyType_GenericNew; + ue_PyIStructureDetailsViewType.tp_new = PyType_GenericNew; - ue_PyIStructureDetailsViewType.tp_init = (initproc)ue_py_istructure_details_view_init; + ue_PyIStructureDetailsViewType.tp_init = (initproc)ue_py_istructure_details_view_init; ue_PyIStructureDetailsViewType.tp_getattro = PyObject_GenericGetAttr; - ue_PyIStructureDetailsViewType.tp_setattro = PyObject_GenericSetAttr; + ue_PyIStructureDetailsViewType.tp_setattro = PyObject_GenericSetAttr; - if (PyType_Ready(&ue_PyIStructureDetailsViewType) < 0) - return; + if (PyType_Ready(&ue_PyIStructureDetailsViewType) < 0) + return; - Py_INCREF(&ue_PyIStructureDetailsViewType); - PyModule_AddObject(ue_module, "IStructureDetailsView", (PyObject *)&ue_PyIStructureDetailsViewType); + Py_INCREF(&ue_PyIStructureDetailsViewType); + PyModule_AddObject(ue_module, "IStructureDetailsView", (PyObject *)&ue_PyIStructureDetailsViewType); } ue_PyIStructureDetailsView *py_ue_is_istructure_details_view(PyObject *obj) { - if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyIStructureDetailsViewType)) - return nullptr; - return (ue_PyIStructureDetailsView *)obj; + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyIStructureDetailsViewType)) + return nullptr; + return (ue_PyIStructureDetailsView *)obj; } #endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp index e0774a8da..03a611652 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp @@ -1,6 +1,7 @@ #include "UnrealEnginePythonPrivatePCH.h" #if WITH_EDITOR +#if ENGINE_MINOR_VERSION > 15 #include "UEPySGraphPanel.h" #define sw_graph_panel StaticCastSharedRef(self->s_nodePanel.s_panel.s_widget) @@ -134,4 +135,5 @@ void ue_python_init_sgraph_panel(PyObject *ue_module) PyModule_AddObject(ue_module, "SGraphPanel", (PyObject *)&ue_PySGraphPanelType); } +#endif #endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.h b/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.h index d29887525..abf11ec9b 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.h @@ -3,7 +3,7 @@ #include "UnrealEnginePython.h" #if WITH_EDITOR -#if ENGINE_MINOR_VERSION > 12 +#if ENGINE_MINOR_VERSION > 15 #include "UEPySNodePanel.h" #include "Editor/GraphEditor/Public/SGraphPanel.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySVectorInputBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySVectorInputBox.cpp index 7e6242fe3..f5c950e0a 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySVectorInputBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySVectorInputBox.cpp @@ -43,10 +43,7 @@ PyTypeObject ue_PySVectorInputBoxType = { static int ue_py_svector_input_box_init(ue_PySVectorInputBox *self, PyObject *args, PyObject *kwargs) { ue_py_slate_setup_farguments(SVectorInputBox); -#if WITH_KNL_PYEXT - ue_py_slate_farguments_optional_float("delta", Delta); -#endif -#if ENGINE_MINOR_VERSION > 15 || WITH_KNL_PYEXT +#if ENGINE_MINOR_VERSION > 15 ue_py_slate_farguments_optional_bool("allow_spin", AllowSpin); #endif ue_py_slate_farguments_optional_bool("allow_responsive_layout", AllowResponsiveLayout); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp index 432a8a77a..63788d7a0 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp @@ -836,7 +836,9 @@ void ue_python_init_slate(PyObject *module) #if WITH_EDITOR ue_python_init_snode_panel(module); +#if ENGINE_MINOR_VERSION > 15 ue_python_init_sgraph_panel(module); +#endif ue_python_init_idetails_view(module); ue_python_init_istructure_details_view(module); ue_python_init_seditor_viewport(module); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 857404192..65a3875e0 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -2050,7 +2050,10 @@ void unreal_engine_init_py_module() PyDict_SetItemString(unreal_engine_dict, "RF_STRONGREFONFRAME" , PyLong_FromUnsignedLongLong((uint64)RF_StrongRefOnFrame )); PyDict_SetItemString(unreal_engine_dict, "RF_NONPIEDUPLICATETRANSIENT" , PyLong_FromUnsignedLongLong((uint64)RF_NonPIEDuplicateTransient )); PyDict_SetItemString(unreal_engine_dict, "RF_DYNAMIC" , PyLong_FromUnsignedLongLong((uint64)RF_Dynamic )); - PyDict_SetItemString(unreal_engine_dict, "RF_WILLBELOADED" , PyLong_FromUnsignedLongLong((uint64)RF_WillBeLoaded )); + +#if ENGINE_MINOR_VERSION > 15 + PyDict_SetItemString(unreal_engine_dict, "RF_WILLBELOADED" , PyLong_FromUnsignedLongLong((uint64)RF_WillBeLoaded )); +#endif // Properties PyDict_SetItemString(unreal_engine_dict, "CPF_CONFIG", PyLong_FromUnsignedLongLong((uint64)CPF_Config)); diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h index d93eb990a..a10c0125e 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h @@ -5,8 +5,8 @@ typedef struct { PyObject_HEAD - /* Type-specific fields go here. */ - UScriptStruct *u_struct; + /* Type-specific fields go here. */ + UScriptStruct *u_struct; uint8 *data; } ue_PyUScriptStruct; diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h index 27d8ce47f..e69e83b9c 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h +++ b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h @@ -1,4 +1,6 @@ -// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. +// Copyright 20Tab S.r.l. + +#pragma once //#define UEPY_MEMORY_DEBUG 1 //#define UEPY_THREADING 1 @@ -93,3 +95,11 @@ bool PyUnicodeOrString_Check(PyObject *py_obj); return PyErr_Format(PyExc_Exception, "uobject is in invalid state");\ Py_INCREF(ret);\ return (PyObject *)ret; + +#if ENGINE_MINOR_VERSION < 16 +template +struct TStructOpsTypeTraitsBase2 : TStructOpsTypeTraitsBase +{ + +}; +#endif diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp index 815c2aaea..d8f7e09a8 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp @@ -76,6 +76,7 @@ void ue_python_init_eslate_enums(PyObject *ue_module) PyDict_SetItemString(ue_PyESlateEnumsType.tp_dict, enum_name, (PyObject *)native_enum); }; +#if ENGINE_MINOR_VERSION > 15 #define ADD_NATIVE_ENUM(EnumType, EnumVal) add_native_enum(#EnumType "." #EnumVal, (uint8)##EnumType::Type::##EnumVal) ADD_NATIVE_ENUM(EUserInterfaceActionType, None ); ADD_NATIVE_ENUM(EUserInterfaceActionType, Button ); @@ -84,6 +85,7 @@ void ue_python_init_eslate_enums(PyObject *ue_module) ADD_NATIVE_ENUM(EUserInterfaceActionType, Check ); ADD_NATIVE_ENUM(EUserInterfaceActionType, CollapsedButton); #undef ADD_NATIVE_ENUM +#endif } diff --git a/Source/UnrealEnginePython/Public/PyNativeWidgetHost.h b/Source/UnrealEnginePython/Public/PyNativeWidgetHost.h index 220f706b4..fa20c574f 100644 --- a/Source/UnrealEnginePython/Public/PyNativeWidgetHost.h +++ b/Source/UnrealEnginePython/Public/PyNativeWidgetHost.h @@ -2,11 +2,13 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UObject/Class.h" + #include "Components/NativeWidgetHost.h" #include "PyNativeWidgetHost.generated.h" + USTRUCT(BlueprintType) struct UNREALENGINEPYTHON_API FPythonSWidgetWrapper { From c9fe50e45f1168678d5b18d08c0c8e7354e3062a Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 9 Feb 2018 10:26:09 +0100 Subject: [PATCH 035/538] added unit test for clipboard --- tests/test_clipboard.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 tests/test_clipboard.py diff --git a/tests/test_clipboard.py b/tests/test_clipboard.py new file mode 100644 index 000000000..bdabedf73 --- /dev/null +++ b/tests/test_clipboard.py @@ -0,0 +1,12 @@ +import unittest +import unreal_engine as ue + +class TestClipboard(unittest.TestCase): + + def test_copy_and_paste(self): + ue.clipboard_copy('Hello from python unit test') + self.assertEqual(ue.clipboard_paste(), 'Hello from python unit test') + + def test_copy_and_paste_red_light(self): + ue.clipboard_copy('Hello from red light test') + self.assertNotEqual(ue.clipboard_paste(), 'Hello from python unit test') \ No newline at end of file From d7def058f0c56e93b8ae14320897c0bdc72d67b8 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 9 Feb 2018 12:53:24 +0100 Subject: [PATCH 036/538] added support for work-by-ref structs --- .../Private/Slate/UEPyFSlateIcon.cpp | 2 +- .../Private/Slate/UEPyFSlateStyleSet.cpp | 10 +- .../UnrealEnginePython/Private/UEPyModule.cpp | 203 +++++++++--------- .../Private/UEPyUScriptStruct.cpp | 65 ++++-- .../Private/UEPyUScriptStruct.h | 7 +- tests/test_structs.py | 16 ++ 6 files changed, 181 insertions(+), 122 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp index ba079ac02..c0618e126 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp @@ -4,7 +4,7 @@ static PyObject *py_ue_fslate_icon_get_icon(ue_PyFSlateIcon *self, PyObject * args) { - PyObject *ret = py_ue_new_uscriptstruct(FSlateBrush::StaticStruct(), (const uint8*)self->icon.GetIcon()); + PyObject *ret = py_ue_new_uscriptstruct(FSlateBrush::StaticStruct(), (uint8*)self->icon.GetIcon()); return ret; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp index 78a29fa17..7f5e7e45e 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp @@ -94,7 +94,7 @@ namespace { PyObject* pyGetWidgetStyle(FSlateStyleSet& InStyle, FName PropertyName) { const WidgetStyleType styleWidgetStyle = InStyle.GetWidgetStyle(PropertyName); - return py_ue_new_uscriptstruct(WidgetStyleType::StaticStruct(), (const uint8*)&styleWidgetStyle); + return py_ue_new_uscriptstruct(WidgetStyleType::StaticStruct(), (uint8*)&styleWidgetStyle); } } @@ -114,24 +114,24 @@ static PyObject *py_ue_fslate_style_set_get(ue_PyFSlateStyleSet *self, PyObject if (ue_py_check_struct(py_type)) { const FSlateSound& styleSound = self->style_set->GetSound(FName(name)); - ret = py_ue_new_uscriptstruct(FSlateSound::StaticStruct(), (const uint8*)&styleSound); + ret = py_ue_new_uscriptstruct(FSlateSound::StaticStruct(), (uint8*)&styleSound); } else if (ue_py_check_struct(py_type)) { if (const FSlateBrush* styleBrush = self->style_set->GetBrush(FName(name))) { - ret = py_ue_new_uscriptstruct(FSlateBrush::StaticStruct(), (const uint8*)styleBrush); + ret = py_ue_new_uscriptstruct(FSlateBrush::StaticStruct(), (uint8*)styleBrush); } } else if (ue_py_check_struct(py_type)) { const FSlateColor styleSlateColor = self->style_set->GetSlateColor(FName(name)); - ret = py_ue_new_uscriptstruct(FSlateColor::StaticStruct(), (const uint8*)&styleSlateColor); + ret = py_ue_new_uscriptstruct(FSlateColor::StaticStruct(), (uint8*)&styleSlateColor); } else if (ue_py_check_struct(py_type)) { const FSlateFontInfo styleFontInfo = self->style_set->GetFontStyle(FName(name)); - ret = py_ue_new_uscriptstruct(FSlateFontInfo::StaticStruct(), (const uint8*)&styleFontInfo); + ret = py_ue_new_uscriptstruct(FSlateFontInfo::StaticStruct(), (uint8*)&styleFontInfo); } else if (ue_py_check_childstruct(py_type)) { diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 65a3875e0..481917330 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -175,7 +175,7 @@ static PyMethodDef unreal_engine_methods[] = { { "load_package", py_unreal_engine_load_package, METH_VARARGS, "" }, #if WITH_EDITOR - { "unload_package", py_unreal_engine_unload_package, METH_VARARGS, "" }, + { "unload_package", py_unreal_engine_unload_package, METH_VARARGS, "" }, #endif { "get_forward_vector", py_unreal_engine_get_forward_vector, METH_VARARGS, "" }, { "get_up_vector", py_unreal_engine_get_up_vector, METH_VARARGS, "" }, @@ -213,14 +213,14 @@ static PyMethodDef unreal_engine_methods[] = { // slate - { "find_slate_style", py_unreal_engine_find_slate_style, METH_VARARGS, "" }, - { "find_icon_for_class", py_unreal_engine_find_icon_for_class, METH_VARARGS, "" }, + { "find_slate_style", py_unreal_engine_find_slate_style, METH_VARARGS, "" }, + { "find_icon_for_class", py_unreal_engine_find_icon_for_class, METH_VARARGS, "" }, { "register_nomad_tab_spawner", py_unreal_engine_register_nomad_tab_spawner, METH_VARARGS, "" }, { "unregister_nomad_tab_spawner", py_unreal_engine_unregister_nomad_tab_spawner, METH_VARARGS, "" }, { "invoke_tab", py_unreal_engine_invoke_tab, METH_VARARGS, "" }, - { "get_swidget_from_wrapper", py_unreal_engine_get_swidget_from_wrapper, METH_VARARGS, "" }, - { "create_wrapper_from_pyswidget", py_unreal_engine_create_wrapper_from_pyswidget, METH_VARARGS, "" }, + { "get_swidget_from_wrapper", py_unreal_engine_get_swidget_from_wrapper, METH_VARARGS, "" }, + { "create_wrapper_from_pyswidget", py_unreal_engine_create_wrapper_from_pyswidget, METH_VARARGS, "" }, #if WITH_EDITOR { "get_editor_window", py_unreal_engine_get_editor_window, METH_VARARGS, "" }, { "add_menu_extension", py_unreal_engine_add_menu_extension, METH_VARARGS, "" }, @@ -232,7 +232,7 @@ static PyMethodDef unreal_engine_methods[] = { #pragma warning(suppress: 4191) { "create_detail_view", (PyCFunction)py_unreal_engine_create_detail_view, METH_VARARGS | METH_KEYWORDS, "" }, #pragma warning(suppress: 4191) - { "create_structure_detail_view", (PyCFunction)py_unreal_engine_create_structure_detail_view, METH_VARARGS | METH_KEYWORDS, "" }, + { "create_structure_detail_view", (PyCFunction)py_unreal_engine_create_structure_detail_view, METH_VARARGS | METH_KEYWORDS, "" }, #pragma warning(suppress: 4191) { "create_property_view", (PyCFunction)py_unreal_engine_create_property_view, METH_VARARGS | METH_KEYWORDS, "" }, @@ -298,7 +298,7 @@ static PyMethodDef unreal_engine_methods[] = { { "blueprint_set_variable_visibility", py_unreal_engine_blueprint_set_variable_visibility, METH_VARARGS, "" }, { "blueprint_add_function", py_unreal_engine_blueprint_add_function, METH_VARARGS, "" }, { "blueprint_add_ubergraph_page", py_unreal_engine_blueprint_add_ubergraph_page, METH_VARARGS, "" }, - { "blueprint_get_all_graphs", py_unreal_engine_blueprint_get_all_graphs, METH_VARARGS, "" }, + { "blueprint_get_all_graphs", py_unreal_engine_blueprint_get_all_graphs, METH_VARARGS, "" }, { "blueprint_mark_as_structurally_modified", py_unreal_engine_blueprint_mark_as_structurally_modified, METH_VARARGS, "" }, { "add_component_to_blueprint", py_unreal_engine_add_component_to_blueprint, METH_VARARGS, "" }, { "get_blueprint_components", py_unreal_engine_get_blueprint_components, METH_VARARGS, "" }, @@ -396,7 +396,7 @@ static PyMethodDef unreal_engine_methods[] = { { "editor_take_high_res_screen_shots", py_unreal_engine_editor_take_high_res_screen_shots, METH_VARARGS, "" }, { "register_settings", py_unreal_engine_register_settings, METH_VARARGS, "" }, - { "show_viewer", py_unreal_engine_show_viewer, METH_VARARGS, "" }, + { "show_viewer", py_unreal_engine_show_viewer, METH_VARARGS, "" }, { "unregister_settings", py_unreal_engine_unregister_settings, METH_VARARGS, "" }, #endif @@ -671,8 +671,8 @@ static PyMethodDef ue_PyUObject_methods[] = { { "class_generated_by", (PyCFunction)py_ue_class_generated_by, METH_VARARGS, "" }, { "class_get_flags", (PyCFunction)py_ue_class_get_flags, METH_VARARGS, "" }, { "class_set_flags", (PyCFunction)py_ue_class_set_flags, METH_VARARGS, "" }, - { "get_obj_flags", (PyCFunction)py_ue_get_obj_flags, METH_VARARGS, "" }, - { "set_obj_flags", (PyCFunction)py_ue_set_obj_flags, METH_VARARGS, "" }, + { "get_obj_flags", (PyCFunction)py_ue_get_obj_flags, METH_VARARGS, "" }, + { "set_obj_flags", (PyCFunction)py_ue_set_obj_flags, METH_VARARGS, "" }, #if WITH_EDITOR { "class_get_config_name", (PyCFunction)py_ue_class_get_config_name, METH_VARARGS, "" }, @@ -743,7 +743,7 @@ static PyMethodDef ue_PyUObject_methods[] = { { "add_actor_component", (PyCFunction)py_ue_add_actor_component, METH_VARARGS, "" }, { "add_instance_component", (PyCFunction)py_ue_add_instance_component, METH_VARARGS, "" }, - { "get_actor_root_component", (PyCFunction)py_ue_get_actor_root_component, METH_VARARGS, "" }, + { "get_actor_root_component", (PyCFunction)py_ue_get_actor_root_component, METH_VARARGS, "" }, { "add_actor_root_component", (PyCFunction)py_ue_add_actor_root_component, METH_VARARGS, "" }, { "get_actor_component_by_type", (PyCFunction)py_ue_get_actor_component_by_type, METH_VARARGS, "" }, { "get_component_by_type", (PyCFunction)py_ue_get_actor_component_by_type, METH_VARARGS, "" }, @@ -913,7 +913,7 @@ static PyMethodDef ue_PyUObject_methods[] = { { "sequencer_changed", (PyCFunction)py_ue_sequencer_changed, METH_VARARGS, "" }, { "sequencer_add_camera_cut_track", (PyCFunction)py_ue_sequencer_add_camera_cut_track, METH_VARARGS, "" }, { "sequencer_add_actor", (PyCFunction)py_ue_sequencer_add_actor, METH_VARARGS, "" }, - { "sequencer_add_actor_component", (PyCFunction)py_ue_sequencer_add_actor_component, METH_VARARGS, "" }, + { "sequencer_add_actor_component", (PyCFunction)py_ue_sequencer_add_actor_component, METH_VARARGS, "" }, { "sequencer_make_new_spawnable", (PyCFunction)py_ue_sequencer_make_new_spawnable, METH_VARARGS, "" }, { "sequencer_add_possessable", (PyCFunction)py_ue_sequencer_add_possessable, METH_VARARGS, "" }, @@ -990,7 +990,7 @@ void ue_pydelegates_cleanup(ue_PyUObject *self) #endif py_delegate->RemoveFromRoot(); } -} + } self->python_delegates_gc->clear(); delete self->python_delegates_gc; self->python_delegates_gc = nullptr; @@ -1086,9 +1086,9 @@ static PyObject *ue_PyUObject_getattro(ue_PyUObject *self, PyObject *attr_name) #else return PyLong_FromLong(u_enum->FindEnumIndex(item.Key)); #endif + } } } - } #endif if (self->ue_object->IsA()) { @@ -1100,7 +1100,7 @@ static PyObject *ue_PyUObject_getattro(ue_PyUObject *self, PyObject *attr_name) return PyLong_FromLong(u_enum->FindEnumIndex(FName(UTF8_TO_TCHAR(attr)))); #endif } - } + } if (function) { @@ -1108,8 +1108,8 @@ static PyObject *ue_PyUObject_getattro(ue_PyUObject *self, PyObject *attr_name) PyErr_Clear(); return py_ue_new_callable(function, self->ue_object); } + } } -} return ret; } @@ -1200,7 +1200,7 @@ static PyObject *ue_PyUObject_call(ue_PyUObject *self, PyObject *args, PyObject if (self->ue_object->IsA()) { UScriptStruct *u_script_struct = (UScriptStruct *)self->ue_object; - uint8 *data = (uint8*)FMemory_Alloca(u_script_struct->GetStructureSize()); + uint8 *data = (uint8*)FMemory::Malloc(u_script_struct->GetStructureSize()); u_script_struct->InitializeStruct(data); #if WITH_EDITOR u_script_struct->InitializeDefaultValue(data); @@ -1214,7 +1214,10 @@ static PyObject *ue_PyUObject_call(ue_PyUObject *self, PyObject *args, PyObject if (!key) { if (PyErr_Occurred()) + { + FMemory::Free(data); return PyErr_Format(PyExc_Exception, "unable to build struct from dictionary"); + } break; } if (!PyUnicodeOrString_Check(key)) @@ -1225,7 +1228,10 @@ static PyObject *ue_PyUObject_call(ue_PyUObject *self, PyObject *args, PyObject if (!value) { if (PyErr_Occurred()) + { + FMemory::Free(data); return PyErr_Format(PyExc_Exception, "unable to build struct from dictionary"); + } break; } @@ -1234,16 +1240,18 @@ static PyObject *ue_PyUObject_call(ue_PyUObject *self, PyObject *args, PyObject { if (!ue_py_convert_pyobject(value, u_property, data)) { + FMemory::Free(data); return PyErr_Format(PyExc_Exception, "invalid value for UProperty"); } } else { + FMemory::Free(data); return PyErr_Format(PyExc_Exception, "UProperty %s not found", struct_key); } } } - return py_ue_new_uscriptstruct(u_script_struct, data); + return py_ue_wrap_uscriptstruct(u_script_struct, data); } return PyErr_Format(PyExc_Exception, "the specified uobject has no __call__ support"); } @@ -2021,38 +2029,38 @@ void unreal_engine_init_py_module() PyDict_SetItemString(unreal_engine_dict, "CLASS_ABSTRACT", PyLong_FromUnsignedLongLong((uint64)CLASS_Abstract)); PyDict_SetItemString(unreal_engine_dict, "CLASS_INTERFACE", PyLong_FromUnsignedLongLong((uint64)CLASS_Interface)); - // Objects - PyDict_SetItemString(unreal_engine_dict, "RF_NOFLAGS" , PyLong_FromUnsignedLongLong((uint64)RF_NoFlags )); - PyDict_SetItemString(unreal_engine_dict, "RF_PUBLIC" , PyLong_FromUnsignedLongLong((uint64)RF_Public )); - PyDict_SetItemString(unreal_engine_dict, "RF_STANDALONE" , PyLong_FromUnsignedLongLong((uint64)RF_Standalone )); - PyDict_SetItemString(unreal_engine_dict, "RF_MARKASNATIVE" , PyLong_FromUnsignedLongLong((uint64)RF_MarkAsNative )); - PyDict_SetItemString(unreal_engine_dict, "RF_TRANSACTIONAL" , PyLong_FromUnsignedLongLong((uint64)RF_Transactional )); - PyDict_SetItemString(unreal_engine_dict, "RF_CLASSDEFAULTOBJECT" , PyLong_FromUnsignedLongLong((uint64)RF_ClassDefaultObject )); - PyDict_SetItemString(unreal_engine_dict, "RF_ARCHETYPEOBJECT" , PyLong_FromUnsignedLongLong((uint64)RF_ArchetypeObject )); - PyDict_SetItemString(unreal_engine_dict, "RF_TRANSIENT" , PyLong_FromUnsignedLongLong((uint64)RF_Transient )); - PyDict_SetItemString(unreal_engine_dict, "RF_MARKASROOTSET" , PyLong_FromUnsignedLongLong((uint64)RF_MarkAsRootSet )); - PyDict_SetItemString(unreal_engine_dict, "RF_TAGGARBAGETEMP" , PyLong_FromUnsignedLongLong((uint64)RF_TagGarbageTemp )); - PyDict_SetItemString(unreal_engine_dict, "RF_NEEDINITIALIZATION" , PyLong_FromUnsignedLongLong((uint64)RF_NeedInitialization )); - PyDict_SetItemString(unreal_engine_dict, "RF_NEEDLOAD" , PyLong_FromUnsignedLongLong((uint64)RF_NeedLoad )); - PyDict_SetItemString(unreal_engine_dict, "RF_KEEPFORCOOKER" , PyLong_FromUnsignedLongLong((uint64)RF_KeepForCooker )); - PyDict_SetItemString(unreal_engine_dict, "RF_NEEDPOSTLOAD" , PyLong_FromUnsignedLongLong((uint64)RF_NeedPostLoad )); - PyDict_SetItemString(unreal_engine_dict, "RF_NEEDPOSTLOADSUBOBJECTS" , PyLong_FromUnsignedLongLong((uint64)RF_NeedPostLoadSubobjects )); - PyDict_SetItemString(unreal_engine_dict, "RF_NEWERVERSIONEXISTS" , PyLong_FromUnsignedLongLong((uint64)RF_NewerVersionExists )); - PyDict_SetItemString(unreal_engine_dict, "RF_BEGINDESTROYED" , PyLong_FromUnsignedLongLong((uint64)RF_BeginDestroyed )); - PyDict_SetItemString(unreal_engine_dict, "RF_FINISHDESTROYED" , PyLong_FromUnsignedLongLong((uint64)RF_FinishDestroyed )); - PyDict_SetItemString(unreal_engine_dict, "RF_BEINGREGENERATED" , PyLong_FromUnsignedLongLong((uint64)RF_BeingRegenerated )); - PyDict_SetItemString(unreal_engine_dict, "RF_DEFAULTSUBOBJECT" , PyLong_FromUnsignedLongLong((uint64)RF_DefaultSubObject )); - PyDict_SetItemString(unreal_engine_dict, "RF_WASLOADED" , PyLong_FromUnsignedLongLong((uint64)RF_WasLoaded )); - PyDict_SetItemString(unreal_engine_dict, "RF_TEXTEXPORTTRANSIENT" , PyLong_FromUnsignedLongLong((uint64)RF_TextExportTransient )); - PyDict_SetItemString(unreal_engine_dict, "RF_LOADCOMPLETED" , PyLong_FromUnsignedLongLong((uint64)RF_LoadCompleted )); - PyDict_SetItemString(unreal_engine_dict, "RF_INHERITABLECOMPONENTTEMPLATE", PyLong_FromUnsignedLongLong((uint64)RF_InheritableComponentTemplate)); - PyDict_SetItemString(unreal_engine_dict, "RF_DUPLICATETRANSIENT" , PyLong_FromUnsignedLongLong((uint64)RF_DuplicateTransient )); - PyDict_SetItemString(unreal_engine_dict, "RF_STRONGREFONFRAME" , PyLong_FromUnsignedLongLong((uint64)RF_StrongRefOnFrame )); - PyDict_SetItemString(unreal_engine_dict, "RF_NONPIEDUPLICATETRANSIENT" , PyLong_FromUnsignedLongLong((uint64)RF_NonPIEDuplicateTransient )); - PyDict_SetItemString(unreal_engine_dict, "RF_DYNAMIC" , PyLong_FromUnsignedLongLong((uint64)RF_Dynamic )); - + // Objects + PyDict_SetItemString(unreal_engine_dict, "RF_NOFLAGS", PyLong_FromUnsignedLongLong((uint64)RF_NoFlags)); + PyDict_SetItemString(unreal_engine_dict, "RF_PUBLIC", PyLong_FromUnsignedLongLong((uint64)RF_Public)); + PyDict_SetItemString(unreal_engine_dict, "RF_STANDALONE", PyLong_FromUnsignedLongLong((uint64)RF_Standalone)); + PyDict_SetItemString(unreal_engine_dict, "RF_MARKASNATIVE", PyLong_FromUnsignedLongLong((uint64)RF_MarkAsNative)); + PyDict_SetItemString(unreal_engine_dict, "RF_TRANSACTIONAL", PyLong_FromUnsignedLongLong((uint64)RF_Transactional)); + PyDict_SetItemString(unreal_engine_dict, "RF_CLASSDEFAULTOBJECT", PyLong_FromUnsignedLongLong((uint64)RF_ClassDefaultObject)); + PyDict_SetItemString(unreal_engine_dict, "RF_ARCHETYPEOBJECT", PyLong_FromUnsignedLongLong((uint64)RF_ArchetypeObject)); + PyDict_SetItemString(unreal_engine_dict, "RF_TRANSIENT", PyLong_FromUnsignedLongLong((uint64)RF_Transient)); + PyDict_SetItemString(unreal_engine_dict, "RF_MARKASROOTSET", PyLong_FromUnsignedLongLong((uint64)RF_MarkAsRootSet)); + PyDict_SetItemString(unreal_engine_dict, "RF_TAGGARBAGETEMP", PyLong_FromUnsignedLongLong((uint64)RF_TagGarbageTemp)); + PyDict_SetItemString(unreal_engine_dict, "RF_NEEDINITIALIZATION", PyLong_FromUnsignedLongLong((uint64)RF_NeedInitialization)); + PyDict_SetItemString(unreal_engine_dict, "RF_NEEDLOAD", PyLong_FromUnsignedLongLong((uint64)RF_NeedLoad)); + PyDict_SetItemString(unreal_engine_dict, "RF_KEEPFORCOOKER", PyLong_FromUnsignedLongLong((uint64)RF_KeepForCooker)); + PyDict_SetItemString(unreal_engine_dict, "RF_NEEDPOSTLOAD", PyLong_FromUnsignedLongLong((uint64)RF_NeedPostLoad)); + PyDict_SetItemString(unreal_engine_dict, "RF_NEEDPOSTLOADSUBOBJECTS", PyLong_FromUnsignedLongLong((uint64)RF_NeedPostLoadSubobjects)); + PyDict_SetItemString(unreal_engine_dict, "RF_NEWERVERSIONEXISTS", PyLong_FromUnsignedLongLong((uint64)RF_NewerVersionExists)); + PyDict_SetItemString(unreal_engine_dict, "RF_BEGINDESTROYED", PyLong_FromUnsignedLongLong((uint64)RF_BeginDestroyed)); + PyDict_SetItemString(unreal_engine_dict, "RF_FINISHDESTROYED", PyLong_FromUnsignedLongLong((uint64)RF_FinishDestroyed)); + PyDict_SetItemString(unreal_engine_dict, "RF_BEINGREGENERATED", PyLong_FromUnsignedLongLong((uint64)RF_BeingRegenerated)); + PyDict_SetItemString(unreal_engine_dict, "RF_DEFAULTSUBOBJECT", PyLong_FromUnsignedLongLong((uint64)RF_DefaultSubObject)); + PyDict_SetItemString(unreal_engine_dict, "RF_WASLOADED", PyLong_FromUnsignedLongLong((uint64)RF_WasLoaded)); + PyDict_SetItemString(unreal_engine_dict, "RF_TEXTEXPORTTRANSIENT", PyLong_FromUnsignedLongLong((uint64)RF_TextExportTransient)); + PyDict_SetItemString(unreal_engine_dict, "RF_LOADCOMPLETED", PyLong_FromUnsignedLongLong((uint64)RF_LoadCompleted)); + PyDict_SetItemString(unreal_engine_dict, "RF_INHERITABLECOMPONENTTEMPLATE", PyLong_FromUnsignedLongLong((uint64)RF_InheritableComponentTemplate)); + PyDict_SetItemString(unreal_engine_dict, "RF_DUPLICATETRANSIENT", PyLong_FromUnsignedLongLong((uint64)RF_DuplicateTransient)); + PyDict_SetItemString(unreal_engine_dict, "RF_STRONGREFONFRAME", PyLong_FromUnsignedLongLong((uint64)RF_StrongRefOnFrame)); + PyDict_SetItemString(unreal_engine_dict, "RF_NONPIEDUPLICATETRANSIENT", PyLong_FromUnsignedLongLong((uint64)RF_NonPIEDuplicateTransient)); + PyDict_SetItemString(unreal_engine_dict, "RF_DYNAMIC", PyLong_FromUnsignedLongLong((uint64)RF_Dynamic)); + #if ENGINE_MINOR_VERSION > 15 - PyDict_SetItemString(unreal_engine_dict, "RF_WILLBELOADED" , PyLong_FromUnsignedLongLong((uint64)RF_WillBeLoaded )); + PyDict_SetItemString(unreal_engine_dict, "RF_WILLBELOADED", PyLong_FromUnsignedLongLong((uint64)RF_WillBeLoaded)); #endif // Properties @@ -2858,7 +2866,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) return true; } - return false; + return false; } @@ -2866,12 +2874,12 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) { if (auto casted_prop = Cast(prop)) { - // ensure the object type is correct, otherwise crash could happen (soon or later) - if (!ue_obj->ue_object->IsA(casted_prop->PropertyClass)) - return false; - casted_prop->SetObjectPropertyValue_InContainer(buffer, ue_obj->ue_object); - return true; - } + // ensure the object type is correct, otherwise crash could happen (soon or later) + if (!ue_obj->ue_object->IsA(casted_prop->PropertyClass)) + return false; + casted_prop->SetObjectPropertyValue_InContainer(buffer, ue_obj->ue_object); + return true; + } else if (auto casted_prop_soft_object = Cast(prop)) { @@ -3071,7 +3079,7 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * } } - //NOTE: u_function->PropertiesSize maps to local variable uproperties + ufunction paramaters uproperties + //NOTE: u_function->PropertiesSize maps to local variable uproperties + ufunction paramaters uproperties uint8 *buffer = (uint8 *)FMemory_Alloca(u_function->ParmsSize); FMemory::Memzero(buffer, u_function->ParmsSize); // initialize args @@ -3080,30 +3088,30 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * UProperty *prop = *IArgs; if (!prop->HasAnyPropertyFlags(CPF_ZeroConstructor)) { - prop->InitializeValue_InContainer(buffer); - } - - //UObject::CallFunctionByNameWithArguments() only does this part on non return value params - if((IArgs->PropertyFlags & (CPF_Parm|CPF_ReturnParm)) == CPF_Parm) - { - if (!prop->IsInContainer(u_function->ParmsSize)) - { - return PyErr_Format(PyExc_Exception, "Attempting to import func param property that's out of bounds. %s", *u_function->GetName()); - } - #if WITH_EDITOR - FString default_key = FString("CPP_Default_") + prop->GetName(); - FString default_key_value = u_function->GetMetaData(FName(*default_key)); - if (!default_key_value.IsEmpty()) - { - #if ENGINE_MINOR_VERSION >= 17 - prop->ImportText(*default_key_value, prop->ContainerPtrToValuePtr(buffer), PPF_None, NULL); - #else - prop->ImportText(*default_key_value, prop->ContainerPtrToValuePtr(buffer), PPF_Localized, NULL); - #endif - } - #endif - } - } + prop->InitializeValue_InContainer(buffer); + } + + //UObject::CallFunctionByNameWithArguments() only does this part on non return value params + if ((IArgs->PropertyFlags & (CPF_Parm | CPF_ReturnParm)) == CPF_Parm) + { + if (!prop->IsInContainer(u_function->ParmsSize)) + { + return PyErr_Format(PyExc_Exception, "Attempting to import func param property that's out of bounds. %s", *u_function->GetName()); + } +#if WITH_EDITOR + FString default_key = FString("CPP_Default_") + prop->GetName(); + FString default_key_value = u_function->GetMetaData(FName(*default_key)); + if (!default_key_value.IsEmpty()) + { +#if ENGINE_MINOR_VERSION >= 17 + prop->ImportText(*default_key_value, prop->ContainerPtrToValuePtr(buffer), PPF_None, NULL); +#else + prop->ImportText(*default_key_value, prop->ContainerPtrToValuePtr(buffer), PPF_Localized, NULL); +#endif + } +#endif + } +} Py_ssize_t tuple_len = PyTuple_Size(args); @@ -3141,7 +3149,7 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * } } } - if (prop->HasAnyPropertyFlags(CPF_OutParm) && (prop->IsA() || prop->HasAnyPropertyFlags(CPF_ConstParm) == false)) + if (prop->HasAnyPropertyFlags(CPF_OutParm) && (prop->IsA() || prop->HasAnyPropertyFlags(CPF_ConstParm) == false)) { has_out_params++; } @@ -3185,7 +3193,7 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * for (; OProps; ++OProps) { UProperty *prop = *OProps; - if (prop->HasAnyPropertyFlags(CPF_OutParm) && (prop->IsA() || prop->HasAnyPropertyFlags(CPF_ConstParm) == false)) + if (prop->HasAnyPropertyFlags(CPF_OutParm) && (prop->IsA() || prop->HasAnyPropertyFlags(CPF_ConstParm) == false)) { // skip return param as it must be always the first if (prop->GetPropertyFlags() & CPF_ReturnParm) @@ -3605,24 +3613,27 @@ FGuid *ue_py_check_fguid(PyObject *py_obj) } uint8 * do_ue_py_check_struct(PyObject *py_obj, UScriptStruct* chk_u_struct) { - ue_PyUScriptStruct *ue_py_struct = py_ue_is_uscriptstruct(py_obj); - if (!ue_py_struct) { - return nullptr; - } + ue_PyUScriptStruct *ue_py_struct = py_ue_is_uscriptstruct(py_obj); + if (!ue_py_struct) + { + return nullptr; + } - if (ue_py_struct->u_struct == chk_u_struct) { - return ue_py_struct->data; - } + if (ue_py_struct->u_struct == chk_u_struct) + { + return ue_py_struct->data; + } - return nullptr; + return nullptr; } bool do_ue_py_check_childstruct(PyObject *py_obj, UScriptStruct* parent_u_struct) { - ue_PyUScriptStruct *ue_py_struct = py_ue_is_uscriptstruct(py_obj); - if (!ue_py_struct) { - return false; - } + ue_PyUScriptStruct *ue_py_struct = py_ue_is_uscriptstruct(py_obj); + if (!ue_py_struct) + { + return false; + } - return ue_py_struct->u_struct->IsChildOf(parent_u_struct); + return ue_py_struct->u_struct->IsChildOf(parent_u_struct); } diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp index 1be6a3fe4..508051bd8 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp @@ -1,4 +1,4 @@ - +// Copyright 20Tab S.r.l. #include "UnrealEnginePythonPrivatePCH.h" @@ -8,7 +8,7 @@ static PyObject *py_ue_uscriptstruct_get_field(ue_PyUScriptStruct *self, PyObjec char *name; if (!PyArg_ParseTuple(args, "s:get_field", &name)) { - return NULL; + return nullptr; } UProperty *u_property = self->u_struct->FindPropertyByName(FName(UTF8_TO_TCHAR(name))); @@ -24,7 +24,7 @@ static PyObject *py_ue_uscriptstruct_set_field(ue_PyUScriptStruct *self, PyObjec PyObject *value; if (!PyArg_ParseTuple(args, "sO:set_field", &name, &value)) { - return NULL; + return nullptr; } UProperty *u_property = self->u_struct->FindPropertyByName(FName(UTF8_TO_TCHAR(name))); @@ -37,8 +37,7 @@ static PyObject *py_ue_uscriptstruct_set_field(ue_PyUScriptStruct *self, PyObjec return PyErr_Format(PyExc_Exception, "unable to set property %s", name); } - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } @@ -124,8 +123,8 @@ static PyMethodDef ue_PyUScriptStruct_methods[] = { static PyObject *ue_PyUScriptStruct_str(ue_PyUScriptStruct *self) { - return PyUnicode_FromFormat("", - TCHAR_TO_UTF8(*self->u_struct->GetName()), self->u_struct->GetStructureSize()); + return PyUnicode_FromFormat("", + TCHAR_TO_UTF8(*self->u_struct->GetName()), self->u_struct->GetStructureSize(), self->data); } static UProperty *get_field_from_name(UScriptStruct *u_struct, char *name) @@ -147,10 +146,10 @@ static UProperty *get_field_from_name(UScriptStruct *u_struct, char *name) FString display_name = property->GetMetaData(DisplayNameKey); if (display_name.Len() > 0 && attr.Equals(display_name)) { - return property; + return property; + } } } - } #endif return nullptr; @@ -209,7 +208,10 @@ static void ue_PyUScriptStruct_dealloc(ue_PyUScriptStruct *self) #if defined(UEPY_MEMORY_DEBUG) UE_LOG(LogPython, Warning, TEXT("Destroying ue_PyUScriptStruct %p with size %d"), self, self->u_struct->GetStructureSize()); #endif - FMemory::Free(self->data); + if (!self->is_ptr) + { + FMemory::Free(self->data); + } Py_TYPE(self)->tp_free((PyObject *)self); } @@ -271,6 +273,8 @@ static int ue_py_uscriptstruct_init(ue_PyUScriptStruct *self, PyObject *args, Py #if WITH_EDITOR self->u_struct->InitializeDefaultValue(self->data); #endif + self->original_data = self->data; + self->is_ptr = 0; return 0; } @@ -288,20 +292,27 @@ static PyObject *ue_py_uscriptstruct_richcompare(ue_PyUScriptStruct *u_struct1, { if (equals) { - Py_INCREF(Py_True); - return Py_True; + Py_RETURN_TRUE; } - Py_INCREF(Py_False); - return Py_False; + Py_RETURN_FALSE; } if (equals) { - Py_INCREF(Py_False); - return Py_False; + Py_RETURN_FALSE; } - Py_INCREF(Py_True); - return Py_True; + Py_RETURN_TRUE; +} + +// get the original pointer of a struct +static PyObject *ue_py_uscriptstruct_get_ptr(ue_PyUScriptStruct *self, PyObject * args) +{ + ue_PyUScriptStruct *ret = (ue_PyUScriptStruct *)PyObject_New(ue_PyUScriptStruct, &ue_PyUScriptStructType); + ret->u_struct = self->u_struct; + ret->data = self->original_data; + ret->original_data = ret->data; + ret->is_ptr = 1; + return (PyObject *)ret; } @@ -313,6 +324,8 @@ void ue_python_init_uscriptstruct(PyObject *ue_module) ue_PyUScriptStructType.tp_init = (initproc)ue_py_uscriptstruct_init; + ue_PyUScriptStructType.tp_call = (ternaryfunc)ue_py_uscriptstruct_get_ptr; + if (PyType_Ready(&ue_PyUScriptStructType) < 0) return; @@ -320,13 +333,27 @@ void ue_python_init_uscriptstruct(PyObject *ue_module) PyModule_AddObject(ue_module, "UScriptStruct", (PyObject *)&ue_PyUScriptStructType); } -PyObject *py_ue_new_uscriptstruct(UScriptStruct *u_struct, const uint8 *data) { +PyObject *py_ue_new_uscriptstruct(UScriptStruct *u_struct, uint8 *data) +{ ue_PyUScriptStruct *ret = (ue_PyUScriptStruct *)PyObject_New(ue_PyUScriptStruct, &ue_PyUScriptStructType); ret->u_struct = u_struct; uint8 *struct_data = (uint8*)FMemory::Malloc(u_struct->GetStructureSize()); ret->u_struct->InitializeStruct(struct_data); ret->u_struct->CopyScriptStruct(struct_data, data); ret->data = struct_data; + ret->original_data = data; + ret->is_ptr = 0; + return (PyObject *)ret; +} + +// generate a new python UScriptStruct from an already allocated data block +PyObject *py_ue_wrap_uscriptstruct(UScriptStruct *u_struct, uint8 *data) +{ + ue_PyUScriptStruct *ret = (ue_PyUScriptStruct *)PyObject_New(ue_PyUScriptStruct, &ue_PyUScriptStructType); + ret->u_struct = u_struct; + ret->data = data; + ret->original_data = data; + ret->is_ptr = 0; return (PyObject *)ret; } diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h index a10c0125e..d7fcba2e2 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h @@ -8,9 +8,14 @@ typedef struct /* Type-specific fields go here. */ UScriptStruct *u_struct; uint8 *data; + // if 1, data points to un-owned memory + int is_ptr; + // points to the original struct memory (do not try this at home !) + uint8 *original_data; } ue_PyUScriptStruct; -PyObject *py_ue_new_uscriptstruct(UScriptStruct *, const uint8 *); +PyObject *py_ue_new_uscriptstruct(UScriptStruct *, uint8 *); +PyObject *py_ue_wrap_uscriptstruct(UScriptStruct *, uint8 *); ue_PyUScriptStruct *py_ue_is_uscriptstruct(PyObject *); UProperty *ue_struct_get_field_from_name(UScriptStruct *, char *); diff --git a/tests/test_structs.py b/tests/test_structs.py index 52eee7bf8..451a10924 100644 --- a/tests/test_structs.py +++ b/tests/test_structs.py @@ -1,6 +1,7 @@ import unittest import unreal_engine as ue from unreal_engine.structs import ColorMaterialInput, Key +from unreal_engine.structs import StaticMeshSourceModel, MeshBuildSettings class TestStructs(unittest.TestCase): @@ -37,6 +38,21 @@ def test_cmp(self): key2 = Key(KeyName='SpaceBar') self.assertEqual(key1, key2) + def test_ptr(self): + source_model = StaticMeshSourceModel() + source_model().BuildSettings().bRecomputeNormals=False + source_model().BuildSettings().bRecomputeTangents=True + source_model().BuildSettings().bUseMikkTSpace=True + source_model().BuildSettings().bBuildAdjacencyBuffer=True + source_model().BuildSettings().bRemoveDegenerates=True + + source_model2 = source_model.clone() + self.assertEqual(source_model2.BuildSettings.bRecomputeNormals, False) + self.assertEqual(source_model2.BuildSettings.bRecomputeTangents, True) + self.assertEqual(source_model2.BuildSettings.bUseMikkTSpace, True) + self.assertEqual(source_model2.BuildSettings.bBuildAdjacencyBuffer, True) + self.assertEqual(source_model2.BuildSettings.bRemoveDegenerates, True) + From 1b7f9ea4a9a0c7049b54a476dd95017e2edb0de9 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 9 Feb 2018 12:57:36 +0100 Subject: [PATCH 037/538] fixed typo --- Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp index 508051bd8..844288c61 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp @@ -123,7 +123,7 @@ static PyMethodDef ue_PyUScriptStruct_methods[] = { static PyObject *ue_PyUScriptStruct_str(ue_PyUScriptStruct *self) { - return PyUnicode_FromFormat("", + return PyUnicode_FromFormat("", TCHAR_TO_UTF8(*self->u_struct->GetName()), self->u_struct->GetStructureSize(), self->data); } From d643d5ed0a34cff436e8a013bbc983ee502272bd Mon Sep 17 00:00:00 2001 From: ikrima Date: Fri, 9 Feb 2018 22:14:36 -0800 Subject: [PATCH 038/538] Add PyCalllable_Check_Extended macro to guard against "callable" uscriptstructs which are mutable/reference structs -Without it, slate argument binding has errors bc it tries to bind delegates to the uscriptstructs --- .../Private/Slate/UEPyFMenuBuilder.cpp | 2 +- .../Private/Slate/UEPyFToolBarBuilder.cpp | 2 +- .../Private/Slate/UEPySButton.cpp | 2 +- .../Slate/UEPySPythonMultiColumnTableRow.h | 9 +++++---- .../Private/Slate/UEPySPythonShelf.cpp | 6 +++--- .../Private/Slate/UEPySPythonWidget.h | 16 ++++++++-------- .../Private/Slate/UEPySWidget.cpp | 8 ++++---- .../Private/Slate/UEPySWindow.cpp | 2 +- .../Private/Slate/UEPySlate.cpp | 12 ++++++------ .../UnrealEnginePython/Private/Slate/UEPySlate.h | 2 +- .../Private/UObject/UEPyInput.cpp | 6 +++--- .../Public/UnrealEnginePython.h | 3 +++ 12 files changed, 37 insertions(+), 33 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp index f495a2db3..ea71c0d3a 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp @@ -46,7 +46,7 @@ static PyObject *py_ue_fmenu_builder_add_menu_entry(ue_PyFMenuBuilder *self, PyO if (!PyArg_ParseTuple(args, "ssO|OO:add_menu_entry", &label, &tooltip, &py_callable, &py_obj, &py_uiaction_obj)) return nullptr; - if (!PyCallable_Check(py_callable)) + if (!PyCalllable_Check_Extended(py_callable)) { return PyErr_Format(PyExc_Exception, "argument is not callable"); } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp index 6c3cf5fdc..4465e87e1 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp @@ -37,7 +37,7 @@ static PyObject *py_ue_ftool_bar_builder_add_tool_bar_button(ue_PyFToolBarBuilde return PyErr_Format(PyExc_Exception, "argument is not a FSlateIcon"); } - if (!PyCallable_Check(py_callable)) { + if (!PyCalllable_Check_Extended(py_callable)) { return PyErr_Format(PyExc_Exception, "argument is not callable"); } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp index 90e35fced..4ebddb07e 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp @@ -27,7 +27,7 @@ static PyObject *py_ue_sbutton_bind_on_clicked(ue_PySButton *self, PyObject * ar return NULL; } - if (!PyCallable_Check(py_callable)) + if (!PyCalllable_Check_Extended(py_callable)) { return PyErr_Format(PyExc_Exception, "argument is not callable"); } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h index 268ee97b2..8a8933578 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h @@ -22,7 +22,7 @@ class SPythonMultiColumnTableRow : public SMultiColumnTableRow >::Construct(FSuperRowType::FArguments(), InOwnerTableView); } - virtual TSharedRef GenerateWidgetForColumn( const FName& ColumnName ) override + TSharedRef SPythonMultiColumnTableRow::GenerateWidgetForColumn(const FName& ColumnName) { FScopePythonGIL gil; @@ -30,7 +30,7 @@ class SPythonMultiColumnTableRow : public SMultiColumnTableRow(); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp index 63788d7a0..664f4d305 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp @@ -1228,7 +1228,7 @@ PyObject *py_unreal_engine_add_menu_extension(PyObject * self, PyObject * args) if (!menu_extension_interface) return PyErr_Format(PyExc_Exception, "module %s is not supported", module); - if (!PyCallable_Check(py_callable)) + if (!PyCalllable_Check_Extended(py_callable)) return PyErr_Format(PyExc_Exception, "argument is not callable"); TSharedRef *commands = new TSharedRef(new FPythonSlateCommands()); @@ -1261,7 +1261,7 @@ PyObject *py_unreal_engine_add_menu_bar_extension(PyObject * self, PyObject * ar FLevelEditorModule &ExtensibleModule = FModuleManager::LoadModuleChecked("LevelEditor"); - if (!PyCallable_Check(py_callable)) + if (!PyCalllable_Check_Extended(py_callable)) return PyErr_Format(PyExc_Exception, "argument is not callable"); TSharedRef *commands = new TSharedRef(new FPythonSlateCommands()); @@ -1294,7 +1294,7 @@ PyObject *py_unreal_engine_add_tool_bar_extension(PyObject * self, PyObject * ar FLevelEditorModule &ExtensibleModule = FModuleManager::LoadModuleChecked("LevelEditor"); - if (!PyCallable_Check(py_callable)) + if (!PyCalllable_Check_Extended(py_callable)) return PyErr_Format(PyExc_Exception, "argument is not callable"); TSharedRef *commands = new TSharedRef(new FPythonSlateCommands()); @@ -1322,7 +1322,7 @@ PyObject *py_unreal_engine_add_asset_view_context_menu_extension(PyObject * self return NULL; } - if (!PyCallable_Check(py_callable)) + if (!PyCalllable_Check_Extended(py_callable)) return PyErr_Format(PyExc_Exception, "argument is not callable"); FContentBrowserModule &ContentBrowser = FModuleManager::LoadModuleChecked("ContentBrowser"); @@ -1350,7 +1350,7 @@ PyObject *py_unreal_engine_register_nomad_tab_spawner(PyObject * self, PyObject return NULL; } - if (!PyCallable_Check(py_callable)) + if (!PyCalllable_Check_Extended(py_callable)) return PyErr_Format(PyExc_Exception, "argument is not callable"); FOnSpawnTab spawn_tab; @@ -1455,7 +1455,7 @@ PyObject *py_unreal_engine_open_color_picker(PyObject *self, PyObject *args, PyO return nullptr; } - if (!PyCallable_Check(py_callable_on_color_committed)) + if (!PyCalllable_Check_Extended(py_callable_on_color_committed)) { return PyErr_Format(PyExc_Exception, "on_color_committed must be a callable"); } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h index 0d95e74b8..131a372ad 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h @@ -163,7 +163,7 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); {\ PyObject *value = ue_py_dict_get_item(kwargs, _param);\ if (value) {\ - if (PyCallable_Check(value)) {\ + if (PyCalllable_Check_Extended(value)) {\ _base handler;\ UPythonSlateDelegate *py_delegate = NewObject();\ py_delegate->SetPyCallable(value);\ diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyInput.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyInput.cpp index 458a1d5fd..f5cc2d975 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyInput.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyInput.cpp @@ -380,7 +380,7 @@ PyObject *py_ue_bind_action(ue_PyUObject *self, PyObject * args) return NULL; } - if (!PyCallable_Check(py_callable)) + if (!PyCalllable_Check_Extended(py_callable)) { return PyErr_Format(PyExc_Exception, "object is not a callable"); } @@ -433,7 +433,7 @@ PyObject *py_ue_bind_axis(ue_PyUObject *self, PyObject * args) return NULL; } - if (!PyCallable_Check(py_callable)) + if (!PyCalllable_Check_Extended(py_callable)) { return PyErr_Format(PyExc_Exception, "object is not a callable"); } @@ -487,7 +487,7 @@ PyObject *py_ue_bind_key(ue_PyUObject *self, PyObject * args) return NULL; } - if (!PyCallable_Check(py_callable)) + if (!PyCalllable_Check_Extended(py_callable)) { return PyErr_Format(PyExc_Exception, "object is not a callable"); } diff --git a/Source/UnrealEnginePython/Public/UnrealEnginePython.h b/Source/UnrealEnginePython/Public/UnrealEnginePython.h index 32d353a22..28421cae4 100644 --- a/Source/UnrealEnginePython/Public/UnrealEnginePython.h +++ b/Source/UnrealEnginePython/Public/UnrealEnginePython.h @@ -12,6 +12,9 @@ #include "Runtime/SlateCore/Public/Styling/ISlateStyle.h" #include "Runtime/SlateCore/Public/Styling/SlateStyle.h" +// We need to make sure reference structs do not mistaken for callable +#define PyCalllable_Check_Extended(value) PyCallable_Check(value) && py_ue_is_uscriptstruct(value) == nullptr + DECLARE_LOG_CATEGORY_EXTERN(LogPython, Log, All); From 097f08e33a6885286d712c4db240f31c0d4b4572 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 10 Feb 2018 18:49:21 +0100 Subject: [PATCH 039/538] added support for 4.19 --- .../Private/Blueprint/UEPyEdGraphPin.cpp | 16 +++ .../ConsoleManager/UEPyIConsoleManager.cpp | 8 ++ .../Private/PythonFunction.cpp | 4 + .../Slate/UEPySPythonEditorViewport.cpp | 4 + .../UnrealEnginePython/Private/UEPyModule.cpp | 4 + .../Private/UObject/UEPySkeletal.cpp | 134 ++++++++++++++++++ .../Private/Wrappers/UEPyFAssetData.cpp | 4 + .../Private/Wrappers/UEPyFSoftSkinVertex.h | 6 + .../Wrappers/UEPyFStringAssetReference.cpp | 1 + .../Wrappers/UEPyFStringAssetReference.h | 2 + .../Public/UnrealEnginePython.h | 4 + .../UnrealEnginePython.Build.cs | 2 +- 12 files changed, 188 insertions(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp index d93476d6e..e271dded8 100644 --- a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp +++ b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp @@ -79,15 +79,27 @@ static PyMethodDef ue_PyEdGraphPin_methods[] = { }; static PyObject *py_ue_edgraphpin_get_name(ue_PyEdGraphPin *self, void *closure) { +#if ENGINE_MINOR_VERSION > 18 + return PyUnicode_FromString(TCHAR_TO_UTF8(*(self->pin->PinName.ToString()))); +#else return PyUnicode_FromString(TCHAR_TO_UTF8(*(self->pin->PinName))); +#endif } static PyObject *py_ue_edgraphpin_get_category(ue_PyEdGraphPin *self, void *closure) { +#if ENGINE_MINOR_VERSION > 18 + return PyUnicode_FromString(TCHAR_TO_UTF8(*(self->pin->PinType.PinCategory.ToString()))); +#else return PyUnicode_FromString(TCHAR_TO_UTF8(*(self->pin->PinType.PinCategory))); +#endif } static PyObject *py_ue_edgraphpin_get_sub_category(ue_PyEdGraphPin *self, void *closure) { +#if ENGINE_MINOR_VERSION > 18 + return PyUnicode_FromString(TCHAR_TO_UTF8(*(self->pin->PinType.PinSubCategory.ToString()))); +#else return PyUnicode_FromString(TCHAR_TO_UTF8(*(self->pin->PinType.PinSubCategory))); +#endif } static PyObject *py_ue_edgraphpin_get_default_value(ue_PyEdGraphPin *self, void *closure) { @@ -139,7 +151,11 @@ static PyGetSetDef ue_PyEdGraphPin_getseters[] = { static PyObject *ue_PyEdGraphPin_str(ue_PyEdGraphPin *self) { return PyUnicode_FromFormat("", +#if ENGINE_MINOR_VERSION > 18 + TCHAR_TO_UTF8(*self->pin->PinName.ToString()), TCHAR_TO_UTF8(*self->pin->PinType.PinCategory.ToString())); +#else TCHAR_TO_UTF8(*self->pin->PinName), TCHAR_TO_UTF8(*self->pin->PinType.PinCategory)); +#endif } static PyTypeObject ue_PyEdGraphPinType = { diff --git a/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp b/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp index 008b3a1a7..2b080449d 100644 --- a/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp +++ b/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp @@ -12,7 +12,11 @@ static PyObject *py_ue_iconsole_manager_add_history_entry(PyObject *cls, PyObjec return nullptr; } +#if ENGINE_MINOR_VERSION > 18 + IConsoleManager::Get().AddConsoleHistoryEntry(TEXT(""), UTF8_TO_TCHAR(entry)); +#else IConsoleManager::Get().AddConsoleHistoryEntry(UTF8_TO_TCHAR(entry)); +#endif Py_RETURN_NONE; } @@ -20,7 +24,11 @@ static PyObject *py_ue_iconsole_manager_add_history_entry(PyObject *cls, PyObjec static PyObject *py_ue_iconsole_manager_get_history(PyObject *cls, PyObject * args) { TArray history; +#if ENGINE_MINOR_VERSION > 18 + IConsoleManager::Get().GetConsoleHistory(TEXT(""), history); +#else IConsoleManager::Get().GetConsoleHistory(history); +#endif PyObject *py_history = PyList_New(0); for (FString item : history) { diff --git a/Source/UnrealEnginePython/Private/PythonFunction.cpp b/Source/UnrealEnginePython/Private/PythonFunction.cpp index 6208d84a9..febb7718d 100644 --- a/Source/UnrealEnginePython/Private/PythonFunction.cpp +++ b/Source/UnrealEnginePython/Private/PythonFunction.cpp @@ -10,7 +10,11 @@ void UPythonFunction::SetPyCallable(PyObject *callable) } +#if ENGINE_MINOR_VERSION > 18 +void UPythonFunction::CallPythonCallable(UObject *Context, FFrame& Stack, RESULT_DECL) +#else void UPythonFunction::CallPythonCallable(FFrame& Stack, RESULT_DECL) +#endif { FScopePythonGIL gil; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.cpp index 4123ca159..8a8fbc09f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.cpp @@ -334,7 +334,11 @@ TSharedRef SPythonEditorViewport::MakeEditorViewportClien FExposureSettings settings; settings.bFixed = true; +#if ENGINE_MINOR_VERSION > 18 + settings.FixedEV100 = 0; +#else settings.LogOffset = 0; +#endif client->ExposureSettings = settings; diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 481917330..48108b8b3 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -3558,7 +3558,11 @@ UFunction *unreal_engine_add_function(UClass *u_class, char *name, PyObject *py_ function->FunctionFlags = function_flags; #endif +#if ENGINE_MINOR_VERSION > 18 + function->SetNativeFunc((FNativeFuncPtr)&UPythonFunction::CallPythonCallable); +#else function->SetNativeFunc((Native)&UPythonFunction::CallPythonCallable); +#endif function->Next = u_class->Children; diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp index 789a94fe8..fa9218a5c 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp @@ -3,6 +3,9 @@ #include "Runtime/Engine/Public/ComponentReregisterContext.h" #if WITH_EDITOR #include "Developer/MeshUtilities/Public/MeshUtilities.h" +#if ENGINE_MINOR_VERSION > 18 +#include "Runtime/Engine/Public/Rendering/SkeletalMeshModel.h" +#endif #endif @@ -213,12 +216,20 @@ PyObject *py_ue_skeletal_mesh_set_soft_vertices(ue_PyUObject *self, PyObject * a if (!mesh) return PyErr_Format(PyExc_Exception, "uobject is not a USkeletalMesh"); +#if ENGINE_MINOR_VERSION < 19 FSkeletalMeshResource *resource = mesh->GetImportedResource(); +#else + FSkeletalMeshModel *resource = mesh->GetImportedModel(); +#endif if (lod_index < 0 || lod_index >= resource->LODModels.Num()) return PyErr_Format(PyExc_Exception, "invalid LOD index, must be between 0 and %d", resource->LODModels.Num() - 1); +#if ENGINE_MINOR_VERSION < 19 FStaticLODModel &model = resource->LODModels[lod_index]; +#else + FSkeletalMeshLODModel &model = resource->LODModels[lod_index]; +#endif if (section_index < 0 || section_index >= model.Sections.Num()) return PyErr_Format(PyExc_Exception, "invalid Section index, must be between 0 and %d", model.Sections.Num() - 1); @@ -284,12 +295,20 @@ PyObject *py_ue_skeletal_mesh_get_soft_vertices(ue_PyUObject *self, PyObject * a if (!mesh) return PyErr_Format(PyExc_Exception, "uobject is not a USkeletalMesh"); +#if ENGINE_MINOR_VERSION < 19 FSkeletalMeshResource *resource = mesh->GetImportedResource(); +#else + FSkeletalMeshModel *resource = mesh->GetImportedModel(); +#endif if (lod_index < 0 || lod_index >= resource->LODModels.Num()) return PyErr_Format(PyExc_Exception, "invalid LOD index, must be between 0 and %d", resource->LODModels.Num() - 1); +#if ENGINE_MINOR_VERSION < 19 FStaticLODModel &model = resource->LODModels[lod_index]; +#else + FSkeletalMeshLODModel &model = resource->LODModels[lod_index]; +#endif if (section_index < 0 || section_index >= model.Sections.Num()) return PyErr_Format(PyExc_Exception, "invalid Section index, must be between 0 and %d", model.Sections.Num() - 1); @@ -319,25 +338,41 @@ PyObject *py_ue_skeletal_mesh_get_lod(ue_PyUObject *self, PyObject * args) if (!mesh) return PyErr_Format(PyExc_Exception, "uobject is not a USkeletalMesh"); +#if ENGINE_MINOR_VERSION < 19 FSkeletalMeshResource *resource = mesh->GetImportedResource(); +#else + FSkeletalMeshModel *resource = mesh->GetImportedModel(); +#endif if (lod_index < 0 || lod_index >= resource->LODModels.Num()) return PyErr_Format(PyExc_Exception, "invalid LOD index, must be between 0 and %d", resource->LODModels.Num() - 1); +#if ENGINE_MINOR_VERSION < 19 FStaticLODModel &model = resource->LODModels[lod_index]; +#else + FSkeletalMeshLODModel &model = resource->LODModels[lod_index]; +#endif PyObject *py_list = PyList_New(0); TArray indices; +#if ENGINE_MINOR_VERSION > 18 + indices = model.IndexBuffer; +#else model.MultiSizeIndexContainer.GetIndexBuffer(indices); +#endif for (int32 index = 0; index < indices.Num(); index++) { int32 section_index; int32 vertex_index; +#if ENGINE_MINOR_VERSION > 18 + model.GetSectionFromVertexIndex(indices[index], section_index, vertex_index); +#else bool has_extra_influences; model.GetSectionFromVertexIndex(indices[index], section_index, vertex_index, has_extra_influences); +#endif FSoftSkinVertex ssv = model.Sections[section_index].SoftVertices[vertex_index]; // fix bone id for (int32 i = 0; i < MAX_TOTAL_INFLUENCES; i++) @@ -374,12 +409,20 @@ PyObject *py_ue_skeletal_mesh_get_raw_indices(ue_PyUObject *self, PyObject * arg if (!mesh) return PyErr_Format(PyExc_Exception, "uobject is not a USkeletalMesh"); +#if ENGINE_MINOR_VERSION < 19 FSkeletalMeshResource *resource = mesh->GetImportedResource(); +#else + FSkeletalMeshModel *resource = mesh->GetImportedModel(); +#endif if (lod_index < 0 || lod_index >= resource->LODModels.Num()) return PyErr_Format(PyExc_Exception, "invalid LOD index, must be between 0 and %d", resource->LODModels.Num() - 1); +#if ENGINE_MINOR_VERSION < 19 FStaticLODModel &model = resource->LODModels[lod_index]; +#else + FSkeletalMeshLODModel &model = resource->LODModels[lod_index]; +#endif PyObject *py_list = PyList_New(0); @@ -448,12 +491,20 @@ PyObject *py_ue_skeletal_mesh_set_bone_map(ue_PyUObject *self, PyObject * args) if (!mesh) return PyErr_Format(PyExc_Exception, "uobject is not a USkeletalMesh"); +#if ENGINE_MINOR_VERSION < 19 FSkeletalMeshResource *resource = mesh->GetImportedResource(); +#else + FSkeletalMeshModel *resource = mesh->GetImportedModel(); +#endif if (lod_index < 0 || lod_index >= resource->LODModels.Num()) return PyErr_Format(PyExc_Exception, "invalid LOD index, must be between 0 and %d", resource->LODModels.Num() - 1); +#if ENGINE_MINOR_VERSION < 19 FStaticLODModel &model = resource->LODModels[lod_index]; +#else + FSkeletalMeshLODModel &model = resource->LODModels[lod_index]; +#endif if (section_index < 0 || section_index >= model.Sections.Num()) return PyErr_Format(PyExc_Exception, "invalid Section index, must be between 0 and %d", model.Sections.Num() - 1); @@ -516,12 +567,20 @@ PyObject *py_ue_skeletal_mesh_get_bone_map(ue_PyUObject *self, PyObject * args) if (!mesh) return PyErr_Format(PyExc_Exception, "uobject is not a USkeletalMesh"); +#if ENGINE_MINOR_VERSION < 19 FSkeletalMeshResource *resource = mesh->GetImportedResource(); +#else + FSkeletalMeshModel *resource = mesh->GetImportedModel(); +#endif if (lod_index < 0 || lod_index >= resource->LODModels.Num()) return PyErr_Format(PyExc_Exception, "invalid LOD index, must be between 0 and %d", resource->LODModels.Num() - 1); +#if ENGINE_MINOR_VERSION < 19 FStaticLODModel &model = resource->LODModels[lod_index]; +#else + FSkeletalMeshLODModel &model = resource->LODModels[lod_index]; +#endif if (section_index < 0 || section_index >= model.Sections.Num()) return PyErr_Format(PyExc_Exception, "invalid Section index, must be between 0 and %d", model.Sections.Num() - 1); @@ -549,12 +608,20 @@ PyObject *py_ue_skeletal_mesh_get_active_bone_indices(ue_PyUObject *self, PyObje if (!mesh) return PyErr_Format(PyExc_Exception, "uobject is not a USkeletalMesh"); +#if ENGINE_MINOR_VERSION < 19 FSkeletalMeshResource *resource = mesh->GetImportedResource(); +#else + FSkeletalMeshModel *resource = mesh->GetImportedModel(); +#endif if (lod_index < 0 || lod_index >= resource->LODModels.Num()) return PyErr_Format(PyExc_Exception, "invalid LOD index, must be between 0 and %d", resource->LODModels.Num() - 1); +#if ENGINE_MINOR_VERSION < 19 FStaticLODModel &model = resource->LODModels[lod_index]; +#else + FSkeletalMeshLODModel &model = resource->LODModels[lod_index]; +#endif PyObject *py_list = PyList_New(0); @@ -579,12 +646,20 @@ PyObject *py_ue_skeletal_mesh_set_active_bone_indices(ue_PyUObject *self, PyObje if (!mesh) return PyErr_Format(PyExc_Exception, "uobject is not a USkeletalMesh"); +#if ENGINE_MINOR_VERSION < 19 FSkeletalMeshResource *resource = mesh->GetImportedResource(); +#else + FSkeletalMeshModel *resource = mesh->GetImportedModel(); +#endif if (lod_index < 0 || lod_index >= resource->LODModels.Num()) return PyErr_Format(PyExc_Exception, "invalid LOD index, must be between 0 and %d", resource->LODModels.Num() - 1); +#if ENGINE_MINOR_VERSION < 19 FStaticLODModel &model = resource->LODModels[lod_index]; +#else + FSkeletalMeshLODModel &model = resource->LODModels[lod_index]; +#endif PyObject *py_iter = PyObject_GetIter(py_map); if (!py_iter) @@ -642,12 +717,20 @@ PyObject *py_ue_skeletal_mesh_get_required_bones(ue_PyUObject *self, PyObject * if (!mesh) return PyErr_Format(PyExc_Exception, "uobject is not a USkeletalMesh"); +#if ENGINE_MINOR_VERSION < 19 FSkeletalMeshResource *resource = mesh->GetImportedResource(); +#else + FSkeletalMeshModel *resource = mesh->GetImportedModel(); +#endif if (lod_index < 0 || lod_index >= resource->LODModels.Num()) return PyErr_Format(PyExc_Exception, "invalid LOD index, must be between 0 and %d", resource->LODModels.Num() - 1); +#if ENGINE_MINOR_VERSION < 19 FStaticLODModel &model = resource->LODModels[lod_index]; +#else + FSkeletalMeshLODModel &model = resource->LODModels[lod_index]; +#endif PyObject *py_list = PyList_New(0); @@ -672,12 +755,20 @@ PyObject *py_ue_skeletal_mesh_set_required_bones(ue_PyUObject *self, PyObject * if (!mesh) return PyErr_Format(PyExc_Exception, "uobject is not a USkeletalMesh"); +#if ENGINE_MINOR_VERSION < 19 FSkeletalMeshResource *resource = mesh->GetImportedResource(); +#else + FSkeletalMeshModel *resource = mesh->GetImportedModel(); +#endif if (lod_index < 0 || lod_index >= resource->LODModels.Num()) return PyErr_Format(PyExc_Exception, "invalid LOD index, must be between 0 and %d", resource->LODModels.Num() - 1); +#if ENGINE_MINOR_VERSION < 19 FStaticLODModel &model = resource->LODModels[lod_index]; +#else + FSkeletalMeshLODModel &model = resource->LODModels[lod_index]; +#endif PyObject *py_iter = PyObject_GetIter(py_map); if (!py_iter) @@ -730,7 +821,11 @@ PyObject *py_ue_skeletal_mesh_lods_num(ue_PyUObject *self, PyObject * args) if (!mesh) return PyErr_Format(PyExc_Exception, "uobject is not a USkeletalMesh"); +#if ENGINE_MINOR_VERSION < 19 FSkeletalMeshResource *resource = mesh->GetImportedResource(); +#else + FSkeletalMeshModel *resource = mesh->GetImportedModel(); +#endif return PyLong_FromLong(resource->LODModels.Num()); } @@ -747,7 +842,11 @@ PyObject *py_ue_skeletal_mesh_sections_num(ue_PyUObject *self, PyObject * args) if (!mesh) return PyErr_Format(PyExc_Exception, "uobject is not a USkeletalMesh"); +#if ENGINE_MINOR_VERSION < 19 FSkeletalMeshResource *resource = mesh->GetImportedResource(); +#else + FSkeletalMeshModel *resource = mesh->GetImportedModel(); +#endif if (lod_index < 0 || lod_index >= resource->LODModels.Num()) return PyErr_Format(PyExc_Exception, "invalid LOD index, must be between 0 and %d", resource->LODModels.Num() - 1); @@ -778,7 +877,11 @@ PyObject *py_ue_skeletal_mesh_build_lod(ue_PyUObject *self, PyObject * args, PyO if (!mesh) return PyErr_Format(PyExc_Exception, "uobject is not a SkeletalMesh"); +#if ENGINE_MINOR_VERSION < 19 FSkeletalMeshResource *resource = mesh->GetImportedResource(); +#else + FSkeletalMeshModel *resource = mesh->GetImportedModel(); +#endif if (lod_index < 0 || lod_index > resource->LODModels.Num()) return PyErr_Format(PyExc_Exception, "invalid LOD index, must be between 0 and %d", resource->LODModels.Num()); @@ -787,16 +890,28 @@ PyObject *py_ue_skeletal_mesh_build_lod(ue_PyUObject *self, PyObject * args, PyO if (lod_index == resource->LODModels.Num()) { +#if ENGINE_MINOR_VERSION < 19 resource->LODModels.Add(new FStaticLODModel()); +#else + resource->LODModels.Add(new FSkeletalMeshLODModel()); +#endif mesh->LODInfo.AddZeroed(); } else { // reinitialized already existent LOD +#if ENGINE_MINOR_VERSION < 19 new(&resource->LODModels[lod_index]) FStaticLODModel(); +#else + new(&resource->LODModels[lod_index]) FSkeletalMeshLODModel(); +#endif } +#if ENGINE_MINOR_VERSION < 19 FStaticLODModel& LODModel = resource->LODModels[lod_index]; +#else + FSkeletalMeshLODModel& LODModel = resource->LODModels[lod_index]; +#endif mesh->LODInfo[lod_index].LODHysteresis = 0.02; @@ -895,7 +1010,11 @@ PyObject *py_ue_skeletal_mesh_build_lod(ue_PyUObject *self, PyObject * args, PyO faces.Add(face); } +#if ENGINE_MINOR_VERSION < 19 FStaticLODModel & lod_model = resource->LODModels[lod_index]; +#else + FSkeletalMeshLODModel & lod_model = resource->LODModels[lod_index]; +#endif IMeshUtilities::MeshBuildOptions build_settings; build_settings.bUseMikkTSpace = (py_use_mikk && PyObject_IsTrue(py_use_mikk)); @@ -910,10 +1029,12 @@ PyObject *py_ue_skeletal_mesh_build_lod(ue_PyUObject *self, PyObject * args, PyO return PyErr_Format(PyExc_Exception, "unable to create new Skeletal LOD"); } +#if ENGINE_MINOR_VERSION < 19 for (int32 i = 0; i < lod_model.Sections.Num(); i++) { mesh->LODInfo[lod_index].TriangleSortSettings.AddZeroed(); } +#endif mesh->CalculateRequiredBones(LODModel, mesh->RefSkeleton, nullptr); mesh->CalculateInvRefMatrices(); @@ -1007,7 +1128,12 @@ PyObject *py_ue_morph_target_populate_deltas(ue_PyUObject *self, PyObject * args Py_DECREF(py_iter); +#if ENGINE_MINOR_VERSION < 19 morph->PopulateDeltas(deltas, lod_index); +#else + FSkeletalMeshModel *model = morph->BaseSkelMesh->GetImportedModel(); + morph->PopulateDeltas(deltas, lod_index, model->LODModels[lod_index].Sections); +#endif #if ENGINE_MINOR_VERSION > 16 if (morph->HasValidData()) @@ -1064,12 +1190,20 @@ PyObject *py_ue_skeletal_mesh_to_import_vertex_map(ue_PyUObject *self, PyObject if (!mesh) return PyErr_Format(PyExc_Exception, "uobject is not a USkeletalMesh"); +#if ENGINE_MINOR_VERSION < 19 FSkeletalMeshResource *resource = mesh->GetImportedResource(); +#else + FSkeletalMeshModel *resource = mesh->GetImportedModel(); +#endif if (lod_index < 0 || lod_index > resource->LODModels.Num()) return PyErr_Format(PyExc_Exception, "invalid LOD index, must be between 0 and %d", resource->LODModels.Num()); +#if ENGINE_MINOR_VERSION < 19 FStaticLODModel& LODModel = resource->LODModels[lod_index]; +#else + FSkeletalMeshLODModel &LODModel = resource->LODModels[lod_index]; +#endif PyObject *py_list = PyList_New(0); diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp index 4220d0af0..0ddca80ba 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp @@ -48,7 +48,11 @@ static PyObject *py_ue_fassetdata_get_thumbnail(ue_PyFAssetData *self, PyObject static PyObject *py_ue_fassetdata_has_custom_thumbnail(ue_PyFAssetData *self, PyObject * args) { +#if ENGINE_MINOR_VERSION > 18 + if (!ThumbnailTools::AssetHasCustomThumbnail(self->asset_data.GetFullName())) +#else if (!ThumbnailTools::AssetHasCustomThumbnail(self->asset_data)) +#endif { Py_RETURN_FALSE; } diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFSoftSkinVertex.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSoftSkinVertex.h index a8ed3f6e5..edc386582 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFSoftSkinVertex.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSoftSkinVertex.h @@ -3,6 +3,12 @@ #include "Runtime/Engine/Public/SkeletalMeshTypes.h" +#if ENGINE_MINOR_VERSION > 18 + +#include "Runtime/Engine/Public/Rendering/SkeletalMeshLODModel.h" + +#endif + struct ue_PyFSoftSkinVertex { PyObject_HEAD /* Type-specific fields go here. */ diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFStringAssetReference.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFStringAssetReference.cpp index 1ddb2b6f5..ec600856d 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFStringAssetReference.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFStringAssetReference.cpp @@ -104,6 +104,7 @@ void ue_python_init_fstring_asset_reference(PyObject *ue_module) Py_INCREF(&ue_PyFStringAssetReferenceType); PyModule_AddObject(ue_module, "FStringAssetReference", (PyObject *)&ue_PyFStringAssetReferenceType); + PyModule_AddObject(ue_module, "FSoftObjectPath", (PyObject *)&ue_PyFStringAssetReferenceType); } PyObject *py_ue_new_fstring_asset_reference(FStringAssetReference ref) diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFStringAssetReference.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFStringAssetReference.h index 058cf005a..f70e84329 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFStringAssetReference.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFStringAssetReference.h @@ -4,7 +4,9 @@ #include "UnrealEnginePython.h" +#if ENGINE_MINOR_VERSION < 18 #include "Runtime/CoreUObject/Public/Misc/StringAssetReference.h" +#endif typedef struct { PyObject_HEAD diff --git a/Source/UnrealEnginePython/Public/UnrealEnginePython.h b/Source/UnrealEnginePython/Public/UnrealEnginePython.h index 28421cae4..e150ac67a 100644 --- a/Source/UnrealEnginePython/Public/UnrealEnginePython.h +++ b/Source/UnrealEnginePython/Public/UnrealEnginePython.h @@ -15,6 +15,10 @@ // We need to make sure reference structs do not mistaken for callable #define PyCalllable_Check_Extended(value) PyCallable_Check(value) && py_ue_is_uscriptstruct(value) == nullptr +#if ENGINE_MINOR_VERSION >= 18 +#define FStringAssetReference FSoftObjectPath +#endif + DECLARE_LOG_CATEGORY_EXTERN(LogPython, Log, All); diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index 6498068c9..20366ea62 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -139,7 +139,7 @@ public UnrealEnginePython(TargetInfo Target) ); - if (UEBuildConfiguration.bBuildEditor) + if (Target.bBuildEditor) { PrivateDependencyModuleNames.AddRange(new string[]{ "UnrealEd", From 449cab44972a6f1b84e2fd6421dde1ca27e90b23 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 10 Feb 2018 18:54:22 +0100 Subject: [PATCH 040/538] fixed compilation on 4.15 --- Source/UnrealEnginePython/UnrealEnginePython.Build.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index 20366ea62..23c240272 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -138,8 +138,11 @@ public UnrealEnginePython(TargetInfo Target) } ); - +#if WITH_FORWARDED_MODULE_RULES_CTOR if (Target.bBuildEditor) +#else + if (UEBuildConfiguration.bBuildEditor) +#endif { PrivateDependencyModuleNames.AddRange(new string[]{ "UnrealEd", From a716da71b024546761e8497629f66bbeb4dd8a6e Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 10 Feb 2018 19:05:58 +0100 Subject: [PATCH 041/538] expose ENGINE VERSION macros to UnrealEnginePython.h --- Source/UnrealEnginePython/Public/UnrealEnginePython.h | 1 + 1 file changed, 1 insertion(+) diff --git a/Source/UnrealEnginePython/Public/UnrealEnginePython.h b/Source/UnrealEnginePython/Public/UnrealEnginePython.h index e150ac67a..a839dc474 100644 --- a/Source/UnrealEnginePython/Public/UnrealEnginePython.h +++ b/Source/UnrealEnginePython/Public/UnrealEnginePython.h @@ -9,6 +9,7 @@ #include "ModuleManager.h" #include "Engine.h" +#include "Runtime/Launch/Resources/Version.h" #include "Runtime/SlateCore/Public/Styling/ISlateStyle.h" #include "Runtime/SlateCore/Public/Styling/SlateStyle.h" From f6ae6cddc124fa9289bac9aa90839308683af882 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 10 Feb 2018 19:46:16 +0100 Subject: [PATCH 042/538] added support for setting asset_import_data --- .../Private/UEPyAssetUserData.cpp | 72 +++++++++++++++++-- .../Private/UEPyAssetUserData.h | 1 + .../UnrealEnginePython/Private/UEPyModule.cpp | 1 + 3 files changed, 70 insertions(+), 4 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyAssetUserData.cpp b/Source/UnrealEnginePython/Private/UEPyAssetUserData.cpp index 808b66929..1ca8e7d13 100644 --- a/Source/UnrealEnginePython/Private/UEPyAssetUserData.cpp +++ b/Source/UnrealEnginePython/Private/UEPyAssetUserData.cpp @@ -2,20 +2,23 @@ #if WITH_EDITOR -PyObject *py_ue_asset_import_data(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_asset_import_data(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); UStruct *u_struct = (UStruct *)self->ue_object->GetClass(); UClassProperty *u_property = (UClassProperty *)u_struct->FindPropertyByName(TEXT("AssetImportData")); - if (!u_property) { + if (!u_property) + { return PyErr_Format(PyExc_Exception, "UObject does not have asset import data."); - + } UAssetImportData *import_data = (UAssetImportData *)u_property->GetPropertyValue_InContainer(self->ue_object); FAssetImportInfo *import_info = &import_data->SourceData; PyObject *ret = PyList_New(import_info->SourceFiles.Num()); - for (int i=0; i < import_info->SourceFiles.Num(); i++) { + for (int i = 0; i < import_info->SourceFiles.Num(); i++) + { PyObject *py_source_file = PyDict_New(); PyDict_SetItemString(py_source_file, "absolute_filepath", PyUnicode_FromString(TCHAR_TO_UTF8(*import_data->ResolveImportFilename(import_info->SourceFiles[i].RelativeFilename, NULL)))); PyDict_SetItemString(py_source_file, "relative_filepath", PyUnicode_FromString(TCHAR_TO_UTF8(*import_info->SourceFiles[i].RelativeFilename))); @@ -25,4 +28,65 @@ PyObject *py_ue_asset_import_data(ue_PyUObject * self, PyObject * args) { } return ret; } + +PyObject *py_ue_asset_import_data_set_sources(ue_PyUObject * self, PyObject * args) +{ + + ue_py_check(self); + + PyObject *py_files; + if (!PyArg_ParseTuple(args, "O:asset_import_data_set_sources", &py_files)) + { + return nullptr; + } + + TArray filenames; + + UStruct *u_struct = (UStruct *)self->ue_object->GetClass(); + UClassProperty *u_property = (UClassProperty *)u_struct->FindPropertyByName(TEXT("AssetImportData")); + if (!u_property) + { + return PyErr_Format(PyExc_Exception, "UObject does not have asset import data."); + } + + if (PyUnicode_Check(py_files)) + { + filenames.Add(FString(UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_files)))); + } + else + { + PyObject *py_iter = PyObject_GetIter(py_files); + if (!py_iter) + { + return PyErr_Format(PyExc_Exception, "argument is not a string or an interable of strings"); + } + + while (PyObject *py_item = PyIter_Next(py_iter)) + { + if (!PyUnicode_Check(py_item)) + { + Py_DECREF(py_iter); + return PyErr_Format(PyExc_Exception, "argument is not a string or an interable of strings"); + } + filenames.Add(FString(UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_item)))); + } + + Py_DECREF(py_iter); + } + + + UAssetImportData *import_data = (UAssetImportData *)u_property->GetPropertyValue_InContainer(self->ue_object); + FAssetImportInfo *import_info = &import_data->SourceData; + + TArray sources; + + for (FString filename : filenames) + { + sources.Add(FAssetImportInfo::FSourceFile(filename)); + } + + import_info->SourceFiles = sources; + + Py_RETURN_NONE; +} #endif diff --git a/Source/UnrealEnginePython/Private/UEPyAssetUserData.h b/Source/UnrealEnginePython/Private/UEPyAssetUserData.h index 09dcce21a..9506d13c3 100644 --- a/Source/UnrealEnginePython/Private/UEPyAssetUserData.h +++ b/Source/UnrealEnginePython/Private/UEPyAssetUserData.h @@ -6,4 +6,5 @@ #if WITH_EDITOR PyObject *py_ue_asset_import_data(ue_PyUObject *, PyObject *); +PyObject *py_ue_asset_import_data_set_sources(ue_PyUObject *, PyObject *); #endif diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 48108b8b3..1a32039d9 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -589,6 +589,7 @@ static PyMethodDef ue_PyUObject_methods[] = { #if WITH_EDITOR // AssetUserData { "asset_import_data", (PyCFunction)py_ue_asset_import_data, METH_VARARGS, "" }, + { "asset_import_data_set_sources", (PyCFunction)py_ue_asset_import_data_set_sources, METH_VARARGS, "" }, #endif // AnimSequence From 17a212b953231b2fbb45234c3e91cc35e57dc344 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 11 Feb 2018 12:12:38 +0100 Subject: [PATCH 043/538] rename wrapper to uobject --- Source/UnrealEnginePython/Private/PyActor.cpp | 4 +- .../Private/PyCharacter.cpp | 2 +- Source/UnrealEnginePython/Private/PyHUD.cpp | 2 +- Source/UnrealEnginePython/Private/PyPawn.cpp | 2 +- .../Private/PyUserWidget.cpp | 2 +- .../Private/PythonComponent.cpp | 8 +- .../Slate/UEPyIStructureDetailsView.cpp | 2 +- .../UnrealEnginePython/Private/UEPyModule.cpp | 50 +-- .../UnrealEnginePython/Private/UEPyModule.h | 3 +- .../Private/UEPyUClassesImporter.cpp | 6 +- .../Private/UObject/UEPyActor.cpp | 420 ++++++++++-------- .../Private/UnrealEnginePythonPrivatePCH.h | 10 +- .../UnrealEnginePython.Build.cs | 8 +- 13 files changed, 281 insertions(+), 238 deletions(-) diff --git a/Source/UnrealEnginePython/Private/PyActor.cpp b/Source/UnrealEnginePython/Private/PyActor.cpp index 872f78af5..05f1ddac1 100644 --- a/Source/UnrealEnginePython/Private/PyActor.cpp +++ b/Source/UnrealEnginePython/Private/PyActor.cpp @@ -23,7 +23,7 @@ void APyActor::PreInitializeComponents() FScopePythonGIL gil; - py_uobject = ue_get_python_wrapper(this); + py_uobject = ue_get_python_uobject(this); if (!py_uobject) { unreal_engine_py_log_error(); @@ -295,7 +295,7 @@ APyActor::~APyActor() Py_XDECREF(py_actor_instance); #if defined(UEPY_MEMORY_DEBUG) - UE_LOG(LogPython, Warning, TEXT("Python AActor %p (mapped to %p) wrapper XDECREF'ed"), this, py_uobject ? py_uobject->ue_object : nullptr); + UE_LOG(LogPython, Warning, TEXT("Python AActor %p (mapped to %p) wrapper XDECREF'ed"), this, py_uobject ? py_uobject->py_proxy : nullptr); #endif // this could trigger the distruction of the python/uobject mapper diff --git a/Source/UnrealEnginePython/Private/PyCharacter.cpp b/Source/UnrealEnginePython/Private/PyCharacter.cpp index a2251707b..12035c9c6 100644 --- a/Source/UnrealEnginePython/Private/PyCharacter.cpp +++ b/Source/UnrealEnginePython/Private/PyCharacter.cpp @@ -453,7 +453,7 @@ APyCharacter::~APyCharacter() Py_XDECREF(py_character_instance); #if defined(UEPY_MEMORY_DEBUG) - UE_LOG(LogPython, Warning, TEXT("Python ACharacter (mapped to %p) wrapper XDECREF'ed"), py_uobject ? py_uobject->ue_object : nullptr); + UE_LOG(LogPython, Warning, TEXT("Python ACharacter (mapped to %p) wrapper XDECREF'ed"), py_uobject ? py_uobject->py_proxy : nullptr); #endif // this could trigger the distruction of the python/uobject mapper diff --git a/Source/UnrealEnginePython/Private/PyHUD.cpp b/Source/UnrealEnginePython/Private/PyHUD.cpp index 114e77581..41b729460 100644 --- a/Source/UnrealEnginePython/Private/PyHUD.cpp +++ b/Source/UnrealEnginePython/Private/PyHUD.cpp @@ -253,7 +253,7 @@ APyHUD::~APyHUD() Py_XDECREF(py_hud_instance); #if defined(UEPY_MEMORY_DEBUG) - UE_LOG(LogPython, Warning, TEXT("Python AHUD %p (mapped to %p) wrapper XDECREF'ed"), this, py_uobject ? py_uobject->ue_object : nullptr); + UE_LOG(LogPython, Warning, TEXT("Python AHUD %p (mapped to %p) wrapper XDECREF'ed"), this, py_uobject ? py_uobject->py_proxy : nullptr); #endif // this could trigger the distruction of the python/uobject mapper diff --git a/Source/UnrealEnginePython/Private/PyPawn.cpp b/Source/UnrealEnginePython/Private/PyPawn.cpp index 5ca19eeda..cfcb9e4c9 100644 --- a/Source/UnrealEnginePython/Private/PyPawn.cpp +++ b/Source/UnrealEnginePython/Private/PyPawn.cpp @@ -250,7 +250,7 @@ APyPawn::~APyPawn() #if defined(UEPY_MEMORY_DEBUG) - UE_LOG(LogPython, Warning, TEXT("Python APawn (mapped to %p) wrapper XDECREF'ed"), py_uobject ? py_uobject->ue_object : nullptr); + UE_LOG(LogPython, Warning, TEXT("Python APawn (mapped to %p) wrapper XDECREF'ed"), py_uobject ? py_uobject->py_proxy : nullptr); #endif // this could trigger the distruction of the python/uobject mapper diff --git a/Source/UnrealEnginePython/Private/PyUserWidget.cpp b/Source/UnrealEnginePython/Private/PyUserWidget.cpp index 063f6631f..1e1e17ce8 100644 --- a/Source/UnrealEnginePython/Private/PyUserWidget.cpp +++ b/Source/UnrealEnginePython/Private/PyUserWidget.cpp @@ -365,7 +365,7 @@ UPyUserWidget::~UPyUserWidget() Py_XDECREF(py_user_widget_instance); #if defined(UEPY_MEMORY_DEBUG) - UE_LOG(LogPython, Warning, TEXT("Python UUserWidget %p (mapped to %p) wrapper XDECREF'ed"), this, py_uobject ? py_uobject->ue_object : nullptr); + UE_LOG(LogPython, Warning, TEXT("Python UUserWidget %p (mapped to %p) wrapper XDECREF'ed"), this, py_uobject ? py_uobject->py_proxy : nullptr); #endif // this could trigger the distruction of the python/uobject mapper diff --git a/Source/UnrealEnginePython/Private/PythonComponent.cpp b/Source/UnrealEnginePython/Private/PythonComponent.cpp index ac2151b5d..875babc2b 100644 --- a/Source/UnrealEnginePython/Private/PythonComponent.cpp +++ b/Source/UnrealEnginePython/Private/PythonComponent.cpp @@ -24,7 +24,7 @@ void UPythonComponent::InitializePythonComponent() { FScopePythonGIL gil; - py_uobject = ue_get_python_wrapper(this); + py_uobject = ue_get_python_uobject(this); if (!py_uobject) { unreal_engine_py_log_error(); return; @@ -191,7 +191,7 @@ void UPythonComponent::SetPythonAttrObject(FString attr, UObject *object) FScopePythonGIL gil; - ue_PyUObject *py_obj = ue_get_python_wrapper(object); + ue_PyUObject *py_obj = ue_get_python_uobject(object); if (!py_obj) { PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); unreal_engine_py_log_error(); @@ -425,7 +425,7 @@ UObject *UPythonComponent::CallPythonComponentMethodObject(FString method_name, ret = PyObject_CallMethod(py_component_instance, TCHAR_TO_UTF8(*method_name), NULL); } else { - PyObject *py_arg_uobject = (PyObject *)ue_get_python_wrapper(arg); + PyObject *py_arg_uobject = (PyObject *)ue_get_python_uobject(arg); if (!py_arg_uobject) { unreal_engine_py_log_error(); return nullptr; @@ -566,7 +566,7 @@ UPythonComponent::~UPythonComponent() Py_XDECREF(py_component_instance); #if defined(UEPY_MEMORY_DEBUG) - UE_LOG(LogPython, Warning, TEXT("Python UActorComponent %p (mapped to %p) wrapper XDECREF'ed"), this, py_uobject ? py_uobject->ue_object : nullptr); + UE_LOG(LogPython, Warning, TEXT("Python UActorComponent %p (mapped to %p) wrapper XDECREF'ed"), this, py_uobject ? py_uobject->py_proxy : nullptr); #endif // this could trigger the distruction of the python/uobject mapper diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp index aec81f315..dea026a94 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp @@ -94,7 +94,7 @@ static PyMethodDef ue_PyIStructureDetailsView_methods[] = { static void ue_PyIStructureDetailsView_dealloc(ue_PyIStructureDetailsView *self) { #if defined(UEPY_MEMORY_DEBUG) - UE_LOG(LogPython, Warning, TEXT("Destroying ue_PyIStructureDetailsView %p mapped to IStructureDetailsView %p"), self, &self->istructure_details_view.Get()); + UE_LOG(LogPython, Warning, TEXT("Destroying ue_PyIStructureDetailsView %p mapped to IStructureDetailsView %p"), self, self->istructure_details_view.Get()); #endif Py_DECREF(self->ue_py_struct); Py_TYPE(self)->tp_free((PyObject *)self); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 1a32039d9..3a98b9750 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -148,8 +148,7 @@ static PyObject *py_ue_get_py_proxy(ue_PyUObject *self, PyObject * args) return (PyObject *)self->py_proxy; } - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyMethodDef unreal_engine_methods[] = { @@ -982,6 +981,7 @@ void ue_pydelegates_cleanup(ue_PyUObject *self) // start deallocating delegates mapped to the object if (!self || !self->python_delegates_gc) return; + UE_LOG(LogPython, Warning, TEXT("Delegates = %d"), self->python_delegates_gc->size()); for (UPythonDelegate *py_delegate : *(self->python_delegates_gc)) { if (py_delegate && py_delegate->IsValidLowLevel()) @@ -2096,7 +2096,7 @@ void unreal_engine_init_py_module() // utility functions -ue_PyUObject *ue_get_python_wrapper(UObject *ue_obj) +ue_PyUObject *ue_get_python_uobject(UObject *ue_obj) { if (!ue_obj || !ue_obj->IsValidLowLevel() || ue_obj->IsPendingKillOrUnreachable()) return nullptr; @@ -2122,10 +2122,20 @@ ue_PyUObject *ue_get_python_wrapper(UObject *ue_obj) //Py_INCREF(ue_py_object); return ue_py_object; } - + Py_INCREF(it->second); return it->second; } +ue_PyUObject *ue_get_python_uobject_noinc(UObject *ue_obj) +{ + ue_PyUObject *ret = ue_get_python_uobject(ue_obj); + if (ret) + { + Py_DECREF(ret); + } + return ret; +} + void unreal_engine_py_log_error() { PyObject *type = NULL; @@ -2327,11 +2337,7 @@ PyObject *ue_py_convert_property(UProperty *prop, uint8 *buffer) auto value = casted_prop->GetObjectPropertyValue_InContainer(buffer); if (value) { - ue_PyUObject *ret = ue_get_python_wrapper(value); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(value); } Py_RETURN_NONE; } @@ -2341,11 +2347,7 @@ PyObject *ue_py_convert_property(UProperty *prop, uint8 *buffer) auto value = casted_prop->GetPropertyValue_InContainer(buffer); if (value) { - ue_PyUObject *ret = ue_get_python_wrapper(value); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(value); } return PyErr_Format(PyExc_Exception, "invalid UClass type for %s", TCHAR_TO_UTF8(*casted_prop->GetName())); } @@ -2397,11 +2399,7 @@ PyObject *ue_py_convert_property(UProperty *prop, uint8 *buffer) UObject *strong_obj = value.Get(); if (strong_obj) { - ue_PyUObject *ret = ue_get_python_wrapper(strong_obj); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(strong_obj); } // nullptr Py_INCREF(Py_None); @@ -2410,11 +2408,7 @@ PyObject *ue_py_convert_property(UProperty *prop, uint8 *buffer) if (auto casted_prop = Cast(prop)) { - ue_PyUObject *ret = ue_get_python_wrapper(casted_prop); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(casted_prop); } if (auto casted_prop = Cast(prop)) @@ -2967,7 +2961,7 @@ void ue_bind_events_for_py_class_by_attribute(UObject *u_obj, PyObject *py_class { if (n == 1) { - if (!ue_bind_pyevent(ue_get_python_wrapper(actor), parts[0], item, true)) + if (!ue_bind_pyevent(ue_get_python_uobject(actor), parts[0], item, true)) { unreal_engine_py_log_error(); } @@ -3234,8 +3228,7 @@ PyObject *ue_bind_pyevent(ue_PyUObject *u_obj, FString event_name, PyObject *py_ { if (fail_on_wrong_property) return PyErr_Format(PyExc_Exception, "unable to find event property %s", TCHAR_TO_UTF8(*event_name)); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } if (auto casted_prop = Cast(u_property)) @@ -3265,8 +3258,7 @@ PyObject *ue_bind_pyevent(ue_PyUObject *u_obj, FString event_name, PyObject *py_ return PyErr_Format(PyExc_Exception, "property %s is not an event", TCHAR_TO_UTF8(*event_name)); } - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } UFunction *unreal_engine_add_function(UClass *u_class, char *name, PyObject *py_callable, uint32 function_flags) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.h b/Source/UnrealEnginePython/Private/UEPyModule.h index 072d42b97..4995bafac 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.h +++ b/Source/UnrealEnginePython/Private/UEPyModule.h @@ -24,7 +24,8 @@ typedef struct { void unreal_engine_py_log_error(); -ue_PyUObject *ue_get_python_wrapper(UObject *); +ue_PyUObject *ue_get_python_uobject(UObject *); +ue_PyUObject *ue_get_python_uobject_inc(UObject *); UWorld *ue_get_uworld(ue_PyUObject *); AActor *ue_get_actor(ue_PyUObject *); PyObject *ue_py_convert_property(UProperty *, uint8 *); diff --git a/Source/UnrealEnginePython/Private/UEPyUClassesImporter.cpp b/Source/UnrealEnginePython/Private/UEPyUClassesImporter.cpp index 293ea2e97..d1457ec03 100644 --- a/Source/UnrealEnginePython/Private/UEPyUClassesImporter.cpp +++ b/Source/UnrealEnginePython/Private/UEPyUClassesImporter.cpp @@ -15,11 +15,7 @@ static PyObject *ue_PyUClassesImporter_getattro(ue_PyUClassesImporter *self, PyO { // swallow old exception PyErr_Clear(); - ue_PyUObject *u_ret = ue_get_python_wrapper(u_class); - if (!u_ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(u_ret); - return (PyObject *)u_ret; + Py_RETURN_UOBJECT(u_class); } } } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp index e0eeced08..260f2915f 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp @@ -5,22 +5,26 @@ #include "PythonComponent.h" #include "UEPyObject.h" -PyObject *py_ue_actor_has_tag(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_actor_has_tag(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); char *tag; - if (!PyArg_ParseTuple(args, "s:actor_has_tag", &tag)) { + if (!PyArg_ParseTuple(args, "s:actor_has_tag", &tag)) + { return NULL; } - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not an AActor"); } AActor *actor = (AActor *)self->ue_object; - if (actor->ActorHasTag(FName(UTF8_TO_TCHAR(tag)))) { + if (actor->ActorHasTag(FName(UTF8_TO_TCHAR(tag)))) + { Py_INCREF(Py_True); return Py_True; } @@ -29,7 +33,8 @@ PyObject *py_ue_actor_has_tag(ue_PyUObject * self, PyObject * args) { return Py_False; } -PyObject *py_ue_actor_begin_play(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_actor_begin_play(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); @@ -45,12 +50,14 @@ PyObject *py_ue_actor_begin_play(ue_PyUObject * self, PyObject * args) { Py_RETURN_NONE; } -PyObject *py_ue_get_actor_bounds(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_get_actor_bounds(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not an AActor"); } @@ -65,7 +72,8 @@ PyObject *py_ue_get_actor_bounds(ue_PyUObject * self, PyObject * args) { } -PyObject *py_ue_get_actor_component(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_get_actor_component(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); @@ -74,25 +82,24 @@ PyObject *py_ue_get_actor_component(ue_PyUObject * self, PyObject * args) { return PyErr_Format(PyExc_Exception, "cannot retrieve Actor from uobject"); char *name; - if (!PyArg_ParseTuple(args, "s:get_actor_component", &name)) { + if (!PyArg_ParseTuple(args, "s:get_actor_component", &name)) + { return NULL; } - for (UActorComponent *component : actor->GetComponents()) { - if (component->GetName().Equals(UTF8_TO_TCHAR(name))) { - ue_PyUObject *py_obj = ue_get_python_wrapper(component); - if (!py_obj) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(py_obj); - return (PyObject *)py_obj; + for (UActorComponent *component : actor->GetComponents()) + { + if (component->GetName().Equals(UTF8_TO_TCHAR(name))) + { + Py_RETURN_UOBJECT(component); } } - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } -PyObject *py_ue_actor_destroy_component(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_actor_destroy_component(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); @@ -101,7 +108,8 @@ PyObject *py_ue_actor_destroy_component(ue_PyUObject * self, PyObject * args) { return PyErr_Format(PyExc_Exception, "cannot retrieve Actor from uobject"); PyObject *py_component; - if (!PyArg_ParseTuple(args, "O:actor_destroy_component", &py_component)) { + if (!PyArg_ParseTuple(args, "O:actor_destroy_component", &py_component)) + { return NULL; } @@ -119,11 +127,13 @@ PyObject *py_ue_actor_destroy_component(ue_PyUObject * self, PyObject * args) { return Py_None; } -PyObject *py_ue_actor_destroy(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_actor_destroy(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not an AActor"); } @@ -131,14 +141,13 @@ PyObject *py_ue_actor_destroy(ue_PyUObject * self, PyObject * args) { actor->Destroy(); - Py_INCREF(Py_None); - return Py_None; - + Py_RETURN_NONE; } -PyObject *py_ue_actor_components(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_actor_components(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); @@ -148,8 +157,9 @@ PyObject *py_ue_actor_components(ue_PyUObject * self, PyObject * args) { PyObject *ret = PyList_New(0); - for (UActorComponent *component : actor->GetComponents()) { - ue_PyUObject *py_obj = ue_get_python_wrapper(component); + for (UActorComponent *component : actor->GetComponents()) + { + ue_PyUObject *py_obj = ue_get_python_uobject_noinc(component); if (!py_obj) continue; PyList_Append(ret, (PyObject *)py_obj); @@ -159,7 +169,8 @@ PyObject *py_ue_actor_components(ue_PyUObject * self, PyObject * args) { } -PyObject *py_ue_get_actor_velocity(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_actor_velocity(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -173,16 +184,19 @@ PyObject *py_ue_get_actor_velocity(ue_PyUObject *self, PyObject * args) { #if WITH_EDITOR -PyObject *py_ue_get_actor_label(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_actor_label(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { AActor *actor = (AActor *)self->ue_object; return PyUnicode_FromString(TCHAR_TO_UTF8(*(actor->GetActorLabel()))); } - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { UActorComponent *component = (UActorComponent *)self->ue_object; return PyUnicode_FromString(TCHAR_TO_UTF8(*(component->GetOwner()->GetActorLabel()))); } @@ -190,7 +204,8 @@ PyObject *py_ue_get_actor_label(ue_PyUObject *self, PyObject * args) { return PyErr_Format(PyExc_Exception, "uobject is not an actor or a component"); } -PyObject *py_ue_set_actor_label(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_set_actor_label(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -199,7 +214,8 @@ PyObject *py_ue_set_actor_label(ue_PyUObject *self, PyObject * args) { return PyErr_Format(PyExc_Exception, "cannot retrieve Actor from uobject"); char *label; - if (!PyArg_ParseTuple(args, "s:set_actor_label", &label)) { + if (!PyArg_ParseTuple(args, "s:set_actor_label", &label)) + { return NULL; } @@ -209,12 +225,14 @@ PyObject *py_ue_set_actor_label(ue_PyUObject *self, PyObject * args) { return Py_None; } -PyObject *py_ue_find_actor_by_label(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_find_actor_by_label(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); char *name; - if (!PyArg_ParseTuple(args, "s:find_actor_by_label", &name)) { + if (!PyArg_ParseTuple(args, "s:find_actor_by_label", &name)) + { return NULL; } @@ -224,51 +242,46 @@ PyObject *py_ue_find_actor_by_label(ue_PyUObject * self, PyObject * args) { UObject *u_object = nullptr; - for (TActorIterator Itr(world); Itr; ++Itr) { + for (TActorIterator Itr(world); Itr; ++Itr) + { AActor *u_obj = *Itr; - if (u_obj->GetActorLabel().Equals(UTF8_TO_TCHAR(name))) { + if (u_obj->GetActorLabel().Equals(UTF8_TO_TCHAR(name))) + { u_object = u_obj; break; } } - if (u_object) { - ue_PyUObject *ret = ue_get_python_wrapper(u_object); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + if (u_object) + { + Py_RETURN_UOBJECT(u_object); } - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } #endif -PyObject *py_ue_get_owner(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_owner(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); - if (!self->ue_object->IsA()) { + UActorComponent *component = ue_py_check_type(self); + if (!component) return PyErr_Format(PyExc_Exception, "uobject is not a component"); - } - - UActorComponent *component = (UActorComponent *)self->ue_object; - ue_PyUObject *ret = ue_get_python_wrapper(component->GetOwner()); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(component->GetOwner()); } -PyObject *py_ue_register_component(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_register_component(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a component"); } @@ -281,17 +294,20 @@ PyObject *py_ue_register_component(ue_PyUObject *self, PyObject * args) { return Py_None; } -PyObject *py_ue_component_is_registered(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_component_is_registered(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a component"); } UActorComponent *component = (UActorComponent *)self->ue_object; - if (component->IsRegistered()) { + if (component->IsRegistered()) + { Py_INCREF(Py_True); return Py_True; } @@ -300,7 +316,8 @@ PyObject *py_ue_component_is_registered(ue_PyUObject *self, PyObject * args) { return Py_False; } -PyObject *py_ue_setup_attachment(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_setup_attachment(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -309,7 +326,8 @@ PyObject *py_ue_setup_attachment(ue_PyUObject *self, PyObject * args) { return nullptr; USceneComponent *child = ue_py_check_type(self); - if (!child) { + if (!child) + { return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } @@ -318,7 +336,8 @@ PyObject *py_ue_setup_attachment(ue_PyUObject *self, PyObject * args) { Py_RETURN_NONE; } -PyObject *py_ue_unregister_component(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_unregister_component(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); UActorComponent *component = ue_py_check_type(self); @@ -331,7 +350,8 @@ PyObject *py_ue_unregister_component(ue_PyUObject * self, PyObject * args) { Py_RETURN_NONE; } -PyObject *py_ue_destroy_component(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_destroy_component(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); UActorComponent *component = ue_py_check_type(self); @@ -373,44 +393,52 @@ PyObject *py_ue_add_instance_component(ue_PyUObject * self, PyObject * args) } -PyObject *py_ue_add_actor_component(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_add_actor_component(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); PyObject *obj; char *name; PyObject *py_parent = nullptr; - if (!PyArg_ParseTuple(args, "Os|O:add_actor_component", &obj, &name, &py_parent)) { + if (!PyArg_ParseTuple(args, "Os|O:add_actor_component", &obj, &name, &py_parent)) + { return NULL; } - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not an AActor"); } AActor *actor = (AActor *)self->ue_object; - if (!ue_is_pyuobject(obj)) { + if (!ue_is_pyuobject(obj)) + { return PyErr_Format(PyExc_Exception, "argument is not a UObject"); } ue_PyUObject *py_obj = (ue_PyUObject *)obj; - if (!py_obj->ue_object->IsA()) { + if (!py_obj->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "argument is not a UClass"); } UClass *u_class = (UClass *)py_obj->ue_object; - if (!u_class->IsChildOf()) { + if (!u_class->IsChildOf()) + { return PyErr_Format(PyExc_Exception, "argument is not a UClass derived from UActorComponent"); } USceneComponent *parent_component = nullptr; - if (py_parent) { + if (py_parent) + { parent_component = ue_py_check_type(py_parent); - if (!parent_component) { + if (!parent_component) + { return PyErr_Format(PyExc_Exception, "argument is not a USceneComponent"); } } @@ -419,38 +447,39 @@ PyObject *py_ue_add_actor_component(ue_PyUObject * self, PyObject * args) { if (!component) return PyErr_Format(PyExc_Exception, "unable to create component"); - if (py_parent && component->IsA()) { + if (py_parent && component->IsA()) + { USceneComponent *scene_component = (USceneComponent *)component; scene_component->SetupAttachment(parent_component); } - if (actor->GetWorld() && !component->IsRegistered()) { + if (actor->GetWorld() && !component->IsRegistered()) + { component->RegisterComponent(); } if (component->bWantsInitializeComponent && !component->HasBeenInitialized() && component->IsRegistered()) component->InitializeComponent(); - PyObject *ret = (PyObject *)ue_get_python_wrapper(component); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return ret; + Py_RETURN_UOBJECT(component); } -PyObject *py_ue_add_python_component(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_add_python_component(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); char *name; char *module_name; char *class_name; - if (!PyArg_ParseTuple(args, "sss:add_python_component", &name, &module_name, &class_name)) { + if (!PyArg_ParseTuple(args, "sss:add_python_component", &name, &module_name, &class_name)) + { return NULL; } AActor *actor = ue_py_check_type(self); - if (!actor) { + if (!actor) + { return PyErr_Format(PyExc_Exception, "uobject is not an AActor"); } @@ -461,27 +490,26 @@ PyObject *py_ue_add_python_component(ue_PyUObject * self, PyObject * args) { component->PythonModule = FString(UTF8_TO_TCHAR(module_name)); component->PythonClass = FString(UTF8_TO_TCHAR(class_name)); - if (actor->GetWorld() && !component->IsRegistered()) { + if (actor->GetWorld() && !component->IsRegistered()) + { component->RegisterComponent(); } if (component->bWantsInitializeComponent && !component->HasBeenInitialized() && component->IsRegistered()) component->InitializeComponent(); - PyObject *ret = (PyObject *)ue_get_python_wrapper(component); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return ret; + Py_RETURN_UOBJECT(component); } -PyObject *py_ue_actor_create_default_subobject(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_actor_create_default_subobject(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); PyObject *obj; char *name; - if (!PyArg_ParseTuple(args, "Os:actor_create_default_subobject", &obj, &name)) { + if (!PyArg_ParseTuple(args, "Os:actor_create_default_subobject", &obj, &name)) + { return NULL; } @@ -500,58 +528,55 @@ PyObject *py_ue_actor_create_default_subobject(ue_PyUObject * self, PyObject * a if (!ret_obj) return PyErr_Format(PyExc_Exception, "unable to create component"); - PyObject *ret = (PyObject *)ue_get_python_wrapper(ret_obj); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return ret; - + Py_RETURN_UOBJECT(ret_obj); } -PyObject *py_ue_get_actor_root_component(ue_PyUObject * self, PyObject * args) { - - ue_py_check(self); - - AActor *actor = ue_get_actor(self); - if (!actor) - return PyErr_Format(PyExc_Exception, "cannot retrieve Actor from uobject"); - - UActorComponent *component = actor->GetRootComponent(); - if (component) { - ue_PyUObject *py_obj = ue_get_python_wrapper(component); - if (!py_obj) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(py_obj); - return (PyObject *)py_obj; - } - - Py_INCREF(Py_None); - return Py_None; +PyObject *py_ue_get_actor_root_component(ue_PyUObject * self, PyObject * args) +{ + + ue_py_check(self); + + AActor *actor = ue_get_actor(self); + if (!actor) + return PyErr_Format(PyExc_Exception, "cannot retrieve Actor from uobject"); + + UActorComponent *component = actor->GetRootComponent(); + if (component) + { + Py_RETURN_UOBJECT(component); + } + + Py_RETURN_NONE; } -PyObject *py_ue_add_actor_root_component(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_add_actor_root_component(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); PyObject *obj; char *name; - if (!PyArg_ParseTuple(args, "Os:add_actor_root_component", &obj, &name)) { + if (!PyArg_ParseTuple(args, "Os:add_actor_root_component", &obj, &name)) + { return NULL; } - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not an AActor"); } AActor *actor = (AActor *)self->ue_object; - if (!ue_is_pyuobject(obj)) { + if (!ue_is_pyuobject(obj)) + { return PyErr_Format(PyExc_Exception, "argument is not a UObject"); } ue_PyUObject *py_obj = (ue_PyUObject *)obj; - if (!py_obj->ue_object->IsA()) { + if (!py_obj->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "argument is not a class"); } @@ -561,43 +586,44 @@ PyObject *py_ue_add_actor_root_component(ue_PyUObject * self, PyObject * args) { actor->SetRootComponent(component); - if (actor->GetWorld() && !component->IsRegistered()) { + if (actor->GetWorld() && !component->IsRegistered()) + { component->RegisterComponent(); } if (component->bWantsInitializeComponent && !component->HasBeenInitialized() && component->IsRegistered()) component->InitializeComponent(); - PyObject *ret = (PyObject *)ue_get_python_wrapper(component); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return ret; - + Py_RETURN_UOBJECT(component); } -PyObject *py_ue_actor_has_component_of_type(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_actor_has_component_of_type(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); PyObject *obj; - if (!PyArg_ParseTuple(args, "O:actor_has_component_of_type", &obj)) { + if (!PyArg_ParseTuple(args, "O:actor_has_component_of_type", &obj)) + { return NULL; } - if (!ue_is_pyuobject(obj)) { + if (!ue_is_pyuobject(obj)) + { return PyErr_Format(PyExc_Exception, "argument is not a UObject"); } ue_PyUObject *py_obj = (ue_PyUObject *)obj; - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not an AActor"); } AActor *actor = (AActor *)self->ue_object; - if (actor->GetComponentByClass((UClass *)py_obj->ue_object)) { + if (actor->GetComponentByClass((UClass *)py_obj->ue_object)) + { Py_INCREF(Py_True); return Py_True; } @@ -607,27 +633,32 @@ PyObject *py_ue_actor_has_component_of_type(ue_PyUObject * self, PyObject * args } -PyObject *py_ue_get_actor_component_by_type(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_get_actor_component_by_type(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); PyObject *obj; - if (!PyArg_ParseTuple(args, "O:get_actor_component_by_type", &obj)) { + if (!PyArg_ParseTuple(args, "O:get_actor_component_by_type", &obj)) + { return NULL; } ue_PyUObject *py_obj = nullptr; - if (ue_is_pyuobject(obj)) { + if (ue_is_pyuobject(obj)) + { py_obj = (ue_PyUObject *)obj; } // shortcut for finding class by string - else if (PyUnicodeOrString_Check(obj)) { + else if (PyUnicodeOrString_Check(obj)) + { char *class_name = PyUnicode_AsUTF8(obj); UClass *u_class = FindObject(ANY_PACKAGE, UTF8_TO_TCHAR(class_name)); - if (u_class) { - py_obj = ue_get_python_wrapper(u_class); + if (u_class) + { + py_obj = ue_get_python_uobject_noinc(u_class); } } @@ -642,40 +673,41 @@ PyObject *py_ue_get_actor_component_by_type(ue_PyUObject * self, PyObject * args return PyErr_Format(PyExc_Exception, "argument is not a UClass"); UActorComponent *component = actor->GetComponentByClass((UClass *)py_obj->ue_object); - if (component) { - PyObject *ret = (PyObject *)ue_get_python_wrapper(component); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return ret; + if (component) + { + Py_RETURN_UOBJECT(component); } - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } -PyObject *py_ue_get_actor_components_by_type(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_get_actor_components_by_type(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); PyObject *obj; - if (!PyArg_ParseTuple(args, "O:get_actor_components_by_type", &obj)) { + if (!PyArg_ParseTuple(args, "O:get_actor_components_by_type", &obj)) + { return NULL; } ue_PyUObject *py_obj = nullptr; - if (ue_is_pyuobject(obj)) { + if (ue_is_pyuobject(obj)) + { py_obj = (ue_PyUObject *)obj; } // shortcut for finding class by string - else if (PyUnicodeOrString_Check(obj)) { + else if (PyUnicodeOrString_Check(obj)) + { char *class_name = PyUnicode_AsUTF8(obj); UClass *u_class = FindObject(ANY_PACKAGE, UTF8_TO_TCHAR(class_name)); - if (u_class) { - py_obj = ue_get_python_wrapper(u_class); + if (u_class) + { + py_obj = ue_get_python_uobject_noinc(u_class); } } @@ -691,8 +723,10 @@ PyObject *py_ue_get_actor_components_by_type(ue_PyUObject * self, PyObject * arg PyObject *components = PyList_New(0); - for (UActorComponent *component : actor->GetComponentsByClass((UClass *)py_obj->ue_object)) { - ue_PyUObject *item = ue_get_python_wrapper(component); + for (UActorComponent *component : actor->GetComponentsByClass((UClass *)py_obj->ue_object)) + { + // noinc as list will increase refcnt + ue_PyUObject *item = ue_get_python_uobject_noinc(component); if (item) PyList_Append(components, (PyObject *)item); } @@ -702,7 +736,8 @@ PyObject *py_ue_get_actor_components_by_type(ue_PyUObject * self, PyObject * arg } -PyObject *py_ue_actor_spawn(ue_PyUObject * self, PyObject * args, PyObject *kwargs) { +PyObject *py_ue_actor_spawn(ue_PyUObject * self, PyObject * args, PyObject *kwargs) +{ ue_py_check(self); @@ -714,37 +749,43 @@ PyObject *py_ue_actor_spawn(ue_PyUObject * self, PyObject * args, PyObject *kwar return PyErr_Format(PyExc_Exception, "unable to retrieve UWorld from uobject"); PyObject *obj; - if (!PyArg_ParseTuple(args, "O|OO:actor_spawn", &obj, &py_obj_location, &py_obj_rotation)) { + if (!PyArg_ParseTuple(args, "O|OO:actor_spawn", &obj, &py_obj_location, &py_obj_rotation)) + { return NULL; } - if (!ue_is_pyuobject(obj)) { + if (!ue_is_pyuobject(obj)) + { return PyErr_Format(PyExc_Exception, "argument is not a UObject"); } ue_PyUObject *py_obj = (ue_PyUObject *)obj; - if (!py_obj->ue_object->IsA()) { + if (!py_obj->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "argument is not a UClass derived from AActor"); } UClass *u_class = (UClass *)py_obj->ue_object; - if (!u_class->IsChildOf()) { + if (!u_class->IsChildOf()) + { return PyErr_Format(PyExc_Exception, "argument is not a UClass derived from AActor"); } FVector location = FVector(0, 0, 0); FRotator rotation = FRotator(0, 0, 0); - if (py_obj_location) { + if (py_obj_location) + { ue_PyFVector *py_location = py_ue_is_fvector(py_obj_location); if (!py_location) return PyErr_Format(PyExc_Exception, "location must be an FVector"); location = py_location->vec; } - if (py_obj_rotation) { + if (py_obj_rotation) + { ue_PyFRotator *py_rotation = py_ue_is_frotator(py_obj_rotation); if (!py_rotation) return PyErr_Format(PyExc_Exception, "location must be an FRotator"); @@ -754,22 +795,25 @@ PyObject *py_ue_actor_spawn(ue_PyUObject * self, PyObject * args, PyObject *kwar AActor *actor = nullptr; PyObject *ret = nullptr; - if (kwargs && PyDict_Size(kwargs) > 0) { + if (kwargs && PyDict_Size(kwargs) > 0) + { FTransform transform; transform.SetTranslation(location); transform.SetRotation(rotation.Quaternion()); actor = world->SpawnActorDeferred((UClass *)py_obj->ue_object, transform); if (!actor) return PyErr_Format(PyExc_Exception, "unable to spawn a new Actor"); - ue_PyUObject *py_u_obj = ue_get_python_wrapper(actor); + ue_PyUObject *py_u_obj = ue_get_python_uobject(actor); if (!py_u_obj) return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); PyObject *py_iter = PyObject_GetIter(kwargs); - while (PyObject *py_key = PyIter_Next(py_iter)) { + while (PyObject *py_key = PyIter_Next(py_iter)) + { PyObject *void_ret = py_ue_set_property(py_u_obj, Py_BuildValue("OO", py_key, PyDict_GetItem(kwargs, py_key))); - if (!void_ret) { + if (!void_ret) + { return PyErr_Format(PyExc_Exception, "unable to set property for new Actor"); } } @@ -777,20 +821,21 @@ PyObject *py_ue_actor_spawn(ue_PyUObject * self, PyObject * args, PyObject *kwar UGameplayStatics::FinishSpawningActor(actor, transform); ret = (PyObject *)py_u_obj; } - else { + else + { actor = world->SpawnActor((UClass *)py_obj->ue_object, &location, &rotation); if (!actor) return PyErr_Format(PyExc_Exception, "unable to spawn a new Actor"); - ret = (PyObject *)ue_get_python_wrapper(actor); + ret = (PyObject *)ue_get_python_uobject(actor); } if (!ret) return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); return ret; } -PyObject *py_ue_get_overlapping_actors(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_get_overlapping_actors(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); @@ -799,13 +844,15 @@ PyObject *py_ue_get_overlapping_actors(ue_PyUObject * self, PyObject * args) { return PyErr_Format(PyExc_Exception, "cannot retrieve actor from UObject"); PyObject *class_filter = nullptr; - if (!PyArg_ParseTuple(args, "|O:get_overlapping_actors", &class_filter)) { + if (!PyArg_ParseTuple(args, "|O:get_overlapping_actors", &class_filter)) + { return NULL; } UClass *filtering = AActor::StaticClass(); - if (class_filter) { + if (class_filter) + { if (!ue_is_pyuobject(class_filter)) return PyErr_Format(PyExc_Exception, "argument is not a UObject"); @@ -823,31 +870,37 @@ PyObject *py_ue_get_overlapping_actors(ue_PyUObject * self, PyObject * args) { TArray overalpping_actors; actor->GetOverlappingActors(overalpping_actors, filtering); - for (AActor *overlapping_actor : overalpping_actors) { - ue_PyUObject *item = ue_get_python_wrapper(overlapping_actor); - if (item) { + for (AActor *overlapping_actor : overalpping_actors) + { + ue_PyUObject *item = ue_get_python_uobject_noinc(overlapping_actor); + if (item) + { PyList_Append(py_overlapping_actors, (PyObject *)item); } } return py_overlapping_actors; } -PyObject *py_ue_actor_set_level_sequence(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_actor_set_level_sequence(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); PyObject *py_sequence; - if (!PyArg_ParseTuple(args, "O:actor_set_level_sequence", &py_sequence)) { + if (!PyArg_ParseTuple(args, "O:actor_set_level_sequence", &py_sequence)) + { return NULL; } ALevelSequenceActor *actor = ue_py_check_type(self); - if (!actor) { + if (!actor) + { return PyErr_Format(PyExc_Exception, "uobject is not a LevelSequenceActor"); } ULevelSequence *sequence = ue_py_check_type(py_sequence); - if (!sequence) { + if (!sequence) + { return PyErr_Format(PyExc_Exception, "argument is not a LevelSequence"); } @@ -858,7 +911,8 @@ PyObject *py_ue_actor_set_level_sequence(ue_PyUObject * self, PyObject * args) { #if WITH_EDITOR -PyObject *py_ue_get_editor_world_counterpart_actor(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_get_editor_world_counterpart_actor(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); @@ -870,10 +924,6 @@ PyObject *py_ue_get_editor_world_counterpart_actor(ue_PyUObject * self, PyObject if (!editor_actor) return PyErr_Format(PyExc_Exception, "unable to retrieve editor counterpart actor"); - PyObject *ret = (PyObject *)ue_get_python_wrapper(editor_actor); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return ret; + Py_RETURN_UOBJECT(editor_actor); } #endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h index e69e83b9c..ff5a52252 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h +++ b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h @@ -2,7 +2,7 @@ #pragma once -//#define UEPY_MEMORY_DEBUG 1 +#define UEPY_MEMORY_DEBUG 1 //#define UEPY_THREADING 1 #include "UnrealEnginePython.h" @@ -90,10 +90,14 @@ int PyGILState_Check(); #endif bool PyUnicodeOrString_Check(PyObject *py_obj); -#define Py_RETURN_UOBJECT(py_uobj) ue_PyUObject *ret = ue_get_python_wrapper(py_uobj);\ +#define Py_RETURN_UOBJECT(py_uobj) ue_PyUObject *ret = ue_get_python_uobject_inc(py_uobj);\ + if (!ret)\ + return PyErr_Format(PyExc_Exception, "uobject is in invalid state");\ + return (PyObject *)ret; + +#define Py_RETURN_UOBJECT_NOINC(py_uobj) ue_PyUObject *ret = ue_get_python_uobject(py_uobj);\ if (!ret)\ return PyErr_Format(PyExc_Exception, "uobject is in invalid state");\ - Py_INCREF(ret);\ return (PyObject *)ret; #if ENGINE_MINOR_VERSION < 16 diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index 23c240272..d9bb0eb31 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -16,7 +16,6 @@ public class UnrealEnginePython : ModuleRules // on Linux an include;libs syntax is expected: //private string pythonHome = "/usr/local/include/python3.6;/usr/local/lib/libpython3.6.so" - private string[] windowsKnownPaths = { "C:/Program Files/Python36", @@ -80,6 +79,7 @@ public UnrealEnginePython(TargetInfo Target) #endif { + PublicIncludePaths.AddRange( new string[] { "UnrealEnginePython/Public", @@ -207,8 +207,8 @@ public UnrealEnginePython(TargetInfo Target) File.SetAttributes(Path.Combine(dllsDir, dllToCopy), FileAttributes.Normal); } } - catch(System.IO.IOException) { } - catch(System.UnauthorizedAccessException) + catch (System.IO.IOException) { } + catch (System.UnauthorizedAccessException) { System.Console.WriteLine("WARNING: Unable to copy python dlls, they are probably in use..."); } @@ -285,7 +285,7 @@ private string DiscoverPythonPath(string[] knownPaths) foreach (string path in paths) { string actualPath = path; - + if (IsPathRelative(actualPath)) { actualPath = Path.GetFullPath(Path.Combine(ModuleDirectory, actualPath)); From db9462788170ea78e9e839ddba81e98fa07ab889 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 11 Feb 2018 15:40:18 +0100 Subject: [PATCH 044/538] second round of reference counting refactoring --- .../Private/Blueprint/UEPyEdGraph.cpp | 240 ++++++----- .../Private/Blueprint/UEPyEdGraphPin.cpp | 9 +- .../Private/PyCharacter.cpp | 6 +- Source/UnrealEnginePython/Private/PyHUD.cpp | 2 +- Source/UnrealEnginePython/Private/PyPawn.cpp | 2 +- .../Private/PyUserWidget.cpp | 2 +- .../Private/PythonDelegate.cpp | 2 +- .../Private/PythonFunction.cpp | 2 +- .../Private/Slate/UEPySLevelViewport.cpp | 45 +- .../Slate/UEPySPythonEditorViewport.cpp | 176 +++++--- .../UnrealEnginePython/Private/UEPyEditor.cpp | 227 ++++------ .../UnrealEnginePython/Private/UEPyEngine.cpp | 90 ++-- .../Private/UEPyIPlugin.cpp | 6 +- .../UnrealEnginePython/Private/UEPyModule.cpp | 31 +- .../Private/UEPyUScriptStruct.cpp | 6 +- .../Private/UEPyUStructsImporter.cpp | 6 +- .../Private/UObject/UEPyActor.cpp | 11 +- .../Private/UObject/UEPyAnimSequence.cpp | 6 +- .../Private/UObject/UEPyAttaching.cpp | 61 ++- .../Private/UObject/UEPyController.cpp | 12 +- .../Private/UObject/UEPyLandscape.cpp | 12 +- .../Private/UObject/UEPyMaterial.cpp | 211 +++++---- .../Private/UObject/UEPyObject.cpp | 109 ++--- .../Private/UObject/UEPyPawn.cpp | 6 +- .../Private/UObject/UEPyPlayer.cpp | 24 +- .../Private/UObject/UEPySequencer.cpp | 403 ++++++++++-------- .../Private/UObject/UEPyTransform.cpp | 234 ++++++---- .../Private/UObject/UEPyViewport.cpp | 85 ++-- .../Private/UObject/UEPyWidget.cpp | 12 +- 29 files changed, 1066 insertions(+), 972 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp index ac33dcb83..1e82e45d7 100644 --- a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp +++ b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp @@ -13,18 +13,21 @@ #include "Editor/AIGraph/Classes/AIGraph.h" #include "Editor/AIGraph/Classes/AIGraphNode.h" -PyObject *py_ue_graph_add_node_call_function(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_graph_add_node_call_function(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); PyObject *py_function = NULL; int x = 0; int y = 0; - if (!PyArg_ParseTuple(args, "O|ii:graph_add_node_call_function", &py_function, &x, &y)) { + if (!PyArg_ParseTuple(args, "O|ii:graph_add_node_call_function", &py_function, &x, &y)) + { return NULL; } - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a UEdGraph"); } @@ -32,16 +35,20 @@ PyObject *py_ue_graph_add_node_call_function(ue_PyUObject * self, PyObject * arg UFunction *function = nullptr; - if (ue_is_pyuobject(py_function)) { + if (ue_is_pyuobject(py_function)) + { ue_PyUObject *py_function_obj = (ue_PyUObject *)py_function; - if (py_function_obj->ue_object->IsA()) { + if (py_function_obj->ue_object->IsA()) + { function = (UFunction *)py_function_obj->ue_object; } - else { + else + { return PyErr_Format(PyExc_Exception, "argument is not a UObject"); } } - else if (py_ue_is_callable(py_function)) { + else if (py_ue_is_callable(py_function)) + { ue_PyCallable *py_callable = (ue_PyCallable *)py_function; function = py_callable->u_function; } @@ -61,30 +68,29 @@ PyObject *py_ue_graph_add_node_call_function(ue_PyUObject * self, PyObject * arg UEdGraphSchema_K2::SetNodeMetaData(node, FNodeMetadata::DefaultGraphNode); graph->AddNode(node); - if (UBlueprint *bp = Cast(node->GetGraph()->GetOuter())) { + if (UBlueprint *bp = Cast(node->GetGraph()->GetOuter())) + { FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified(bp); } - PyObject *ret = (PyObject *)ue_get_python_wrapper(node); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return ret; - + Py_RETURN_UOBJECT(node); } -PyObject *py_ue_graph_add_node_custom_event(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_graph_add_node_custom_event(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); char *name = nullptr; int x = 0; int y = 0; - if (!PyArg_ParseTuple(args, "s|ii:graph_add_node_custom_event", &name, &x, &y)) { + if (!PyArg_ParseTuple(args, "s|ii:graph_add_node_custom_event", &name, &x, &y)) + { return NULL; } - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a UEdGraph"); } @@ -102,23 +108,21 @@ PyObject *py_ue_graph_add_node_custom_event(ue_PyUObject * self, PyObject * args UEdGraphSchema_K2::SetNodeMetaData(node, FNodeMetadata::DefaultGraphNode); graph->AddNode(node); - if (UBlueprint *bp = Cast(node->GetGraph()->GetOuter())) { + if (UBlueprint *bp = Cast(node->GetGraph()->GetOuter())) + { FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified(bp); } - PyObject *ret = (PyObject *)ue_get_python_wrapper(node); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return ret; - + Py_RETURN_UOBJECT(node); } -PyObject *py_ue_graph_get_good_place_for_new_node(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_graph_get_good_place_for_new_node(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a UEdGraph"); } @@ -131,7 +135,8 @@ PyObject *py_ue_graph_get_good_place_for_new_node(ue_PyUObject * self, PyObject return ret; } -PyObject *py_ue_graph_add_node_event(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_graph_add_node_event(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); @@ -140,22 +145,26 @@ PyObject *py_ue_graph_add_node_event(ue_PyUObject * self, PyObject * args) { int x = 0; int y = 0; - if (!PyArg_ParseTuple(args, "Os|ii:graph_add_node_event", &py_class, &name, &x, &y)) { + if (!PyArg_ParseTuple(args, "Os|ii:graph_add_node_event", &py_class, &name, &x, &y)) + { return NULL; } - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a UEdGraph"); } UEdGraph *graph = (UEdGraph *)self->ue_object; - if (!ue_is_pyuobject(py_class)) { + if (!ue_is_pyuobject(py_class)) + { return PyErr_Format(PyExc_Exception, "argument is not a UObject"); } ue_PyUObject *py_obj = (ue_PyUObject *)py_class; - if (!py_obj->ue_object->IsA()) { + if (!py_obj->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "argument is not a UClass"); } @@ -163,7 +172,8 @@ PyObject *py_ue_graph_add_node_event(ue_PyUObject * self, PyObject * args) { UBlueprint *bp = (UBlueprint *)graph->GetOuter(); UK2Node_Event *node = FBlueprintEditorUtils::FindOverrideForFunction(bp, u_class, UTF8_TO_TCHAR(name)); - if (!node) { + if (!node) + { node = NewObject(graph); UEdGraphSchema_K2::SetNodeMetaData(node, FNodeMetadata::DefaultGraphNode); node->EventReference.SetExternalMember(UTF8_TO_TCHAR(name), u_class); @@ -172,15 +182,11 @@ PyObject *py_ue_graph_add_node_event(ue_PyUObject * self, PyObject * args) { FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified(bp); - PyObject *ret = (PyObject *)ue_get_python_wrapper(node); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return ret; - + Py_RETURN_UOBJECT(node); } -PyObject *py_ue_graph_add_node_variable_get(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_graph_add_node_variable_get(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); @@ -188,23 +194,28 @@ PyObject *py_ue_graph_add_node_variable_get(ue_PyUObject * self, PyObject * args PyObject *py_struct = nullptr; int x = 0; int y = 0; - if (!PyArg_ParseTuple(args, "s|Oii:graph_add_node_variable_get", &name, &py_struct, &x, &y)) { + if (!PyArg_ParseTuple(args, "s|Oii:graph_add_node_variable_get", &name, &py_struct, &x, &y)) + { return NULL; } - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a UEdGraph"); } UEdGraph *graph = (UEdGraph *)self->ue_object; UStruct *u_struct = nullptr; - if (py_struct && py_struct != Py_None) { - if (!ue_is_pyuobject(py_struct)) { + if (py_struct && py_struct != Py_None) + { + if (!ue_is_pyuobject(py_struct)) + { return PyErr_Format(PyExc_Exception, "argument is not a UObject"); } ue_PyUObject *ue_py_struct = (ue_PyUObject *)py_struct; - if (!ue_py_struct->ue_object->IsA()) { + if (!ue_py_struct->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "argument is not a UStruct"); } u_struct = (UStruct *)ue_py_struct->ue_object; @@ -216,18 +227,14 @@ PyObject *py_ue_graph_add_node_variable_get(ue_PyUObject * self, PyObject * args UEdGraphSchema_K2::ConfigureVarNode(node, FName(UTF8_TO_TCHAR(name)), u_struct, bp); node = FEdGraphSchemaAction_K2NewNode::SpawnNodeFromTemplate(graph, node, FVector2D(x, y)); - - FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified(bp); - PyObject *ret = (PyObject *)ue_get_python_wrapper(node); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return ret; + FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified(bp); + Py_RETURN_UOBJECT(node); } -PyObject *py_ue_graph_add_node_variable_set(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_graph_add_node_variable_set(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); @@ -235,23 +242,28 @@ PyObject *py_ue_graph_add_node_variable_set(ue_PyUObject * self, PyObject * args PyObject *py_struct = nullptr; int x = 0; int y = 0; - if (!PyArg_ParseTuple(args, "s|Oii:graph_add_node_variable_set", &name, &py_struct, &x, &y)) { + if (!PyArg_ParseTuple(args, "s|Oii:graph_add_node_variable_set", &name, &py_struct, &x, &y)) + { return NULL; } - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a UEdGraph"); } UEdGraph *graph = (UEdGraph *)self->ue_object; UStruct *u_struct = nullptr; - if (py_struct && py_struct != Py_None) { - if (!ue_is_pyuobject(py_struct)) { + if (py_struct && py_struct != Py_None) + { + if (!ue_is_pyuobject(py_struct)) + { return PyErr_Format(PyExc_Exception, "argument is not a UObject"); } ue_PyUObject *ue_py_struct = (ue_PyUObject *)py_struct; - if (!ue_py_struct->ue_object->IsA()) { + if (!ue_py_struct->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "argument is not a UStruct"); } u_struct = (UStruct *)ue_py_struct->ue_object; @@ -266,15 +278,11 @@ PyObject *py_ue_graph_add_node_variable_set(ue_PyUObject * self, PyObject * args FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified(bp); - PyObject *ret = (PyObject *)ue_get_python_wrapper(node); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return ret; - + Py_RETURN_UOBJECT(node); } -PyObject *py_ue_graph_add_node(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_graph_add_node(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); @@ -283,39 +291,47 @@ PyObject *py_ue_graph_add_node(ue_PyUObject * self, PyObject * args) { int y = 0; PyObject *py_data = nullptr; char *metadata = nullptr; - if (!PyArg_ParseTuple(args, "O|iisO:graph_add_node", &py_node_class, &x, &y, &metadata, &py_data)) { + if (!PyArg_ParseTuple(args, "O|iisO:graph_add_node", &py_node_class, &x, &y, &metadata, &py_data)) + { return NULL; } - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a UEdGraph"); } UEdGraph *graph = (UEdGraph *)self->ue_object; - if (!ue_is_pyuobject(py_node_class)) { + if (!ue_is_pyuobject(py_node_class)) + { return PyErr_Format(PyExc_Exception, "argument is not a UObject"); } UEdGraphNode *node = nullptr; ue_PyUObject *py_obj = (ue_PyUObject *)py_node_class; - if (py_obj->ue_object->IsA()) { + if (py_obj->ue_object->IsA()) + { UClass *u_class = (UClass *)py_obj->ue_object; - if (!u_class->IsChildOf()) { + if (!u_class->IsChildOf()) + { return PyErr_Format(PyExc_Exception, "argument is not a child of UEdGraphNode"); } node = (UEdGraphNode *)NewObject(graph, u_class); node->PostLoad(); } - else if (py_obj->ue_object->IsA()) { + else if (py_obj->ue_object->IsA()) + { node = (UEdGraphNode *)py_obj->ue_object; - if (node->GetOuter() != graph) { + if (node->GetOuter() != graph) + { node->Rename(*node->GetName(), graph); } } - if (!node) { + if (!node) + { return PyErr_Format(PyExc_Exception, "argument is not a supported type"); } @@ -327,63 +343,71 @@ PyObject *py_ue_graph_add_node(ue_PyUObject * self, PyObject * args) { node->NodePosY = y; // do something with data, based on the node type - if (node->IsA()) { + if (node->IsA()) + { UAIGraphNode *ai_node = (UAIGraphNode *)node; - if (py_data) { + if (py_data) + { FGraphNodeClassData *class_data = ue_py_check_struct(py_data); - if (class_data == nullptr) { + if (class_data == nullptr) + { UE_LOG(LogPython, Warning, TEXT("Unable to manage data argument for UAIGraphNode")); } - else { + else + { ai_node->ClassData = *class_data; } } } - if (metadata == nullptr || strlen(metadata) == 0) { + if (metadata == nullptr || strlen(metadata) == 0) + { UEdGraphSchema_K2::SetNodeMetaData(node, FNodeMetadata::DefaultGraphNode); } - else { + else + { UEdGraphSchema_K2::SetNodeMetaData(node, FName(UTF8_TO_TCHAR(metadata))); } graph->AddNode(node); - if (UBlueprint *bp = Cast(node->GetGraph()->GetOuter())) { + if (UBlueprint *bp = Cast(node->GetGraph()->GetOuter())) + { FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified(bp); } - PyObject *ret = (PyObject *)ue_get_python_wrapper(node); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return ret; + Py_RETURN_UOBJECT(node); } -PyObject *py_ue_node_pins(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_node_pins(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a UEdGraphNode"); } UEdGraphNode *node = (UEdGraphNode *)self->ue_object; PyObject *pins_list = PyList_New(0); - for (UEdGraphPin *pin : node->Pins) { + for (UEdGraphPin *pin : node->Pins) + { PyList_Append(pins_list, (PyObject *)py_ue_new_edgraphpin(pin)); } return pins_list; } -PyObject *py_ue_node_get_title(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_node_get_title(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); int title_type = ENodeTitleType::FullTitle; - if (!PyArg_ParseTuple(args, "|i:node_get_title", &title_type)) { + if (!PyArg_ParseTuple(args, "|i:node_get_title", &title_type)) + { return NULL; } @@ -392,11 +416,12 @@ PyObject *py_ue_node_get_title(ue_PyUObject * self, PyObject * args) { return PyErr_Format(PyExc_Exception, "uobject is not a UEdGraphNode"); FText title = node->GetNodeTitle((ENodeTitleType::Type)title_type); - + return PyUnicode_FromString(TCHAR_TO_UTF8(*(title.ToString()))); } -PyObject *py_ue_node_allocate_default_pins(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_node_allocate_default_pins(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); @@ -410,7 +435,8 @@ PyObject *py_ue_node_allocate_default_pins(ue_PyUObject * self, PyObject * args) return Py_None; } -PyObject *py_ue_node_reconstruct(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_node_reconstruct(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); @@ -424,23 +450,27 @@ PyObject *py_ue_node_reconstruct(ue_PyUObject * self, PyObject * args) { return Py_None; } -PyObject *py_ue_node_find_pin(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_node_find_pin(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); char *name = nullptr; - if (!PyArg_ParseTuple(args, "s:node_find_pin", &name)) { + if (!PyArg_ParseTuple(args, "s:node_find_pin", &name)) + { return NULL; } - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a UEdGraphNode"); } UEdGraphNode *node = (UEdGraphNode *)self->ue_object; UEdGraphPin *pin = node->FindPin(UTF8_TO_TCHAR(name)); - if (!pin) { + if (!pin) + { return PyErr_Format(PyExc_Exception, "unable to find pin \"%s\"", name); } @@ -449,7 +479,8 @@ PyObject *py_ue_node_find_pin(ue_PyUObject * self, PyObject * args) { return ret; } -PyObject *py_ue_node_create_pin(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_node_create_pin(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); @@ -457,7 +488,8 @@ PyObject *py_ue_node_create_pin(ue_PyUObject * self, PyObject * args) { PyObject *pin_type; char *name = nullptr; int index = 0; - if (!PyArg_ParseTuple(args, "iOs|i:node_create_pin", &pin_direction, &pin_type, &name, &index)) { + if (!PyArg_ParseTuple(args, "iOs|i:node_create_pin", &pin_direction, &pin_type, &name, &index)) + { return nullptr; } @@ -471,18 +503,22 @@ PyObject *py_ue_node_create_pin(ue_PyUObject * self, PyObject * args) { UEdGraphPin *pin = nullptr; - if (node->IsA()) { + if (node->IsA()) + { UK2Node_EditablePinBase *node_base = (UK2Node_EditablePinBase *)node; pin = node_base->CreateUserDefinedPin(UTF8_TO_TCHAR(name), *pin_struct, (EEdGraphPinDirection)pin_direction); } - else { + else + { pin = node->CreatePin((EEdGraphPinDirection)pin_direction, *pin_struct, UTF8_TO_TCHAR(name), index); } - if (!pin) { + if (!pin) + { return PyErr_Format(PyExc_Exception, "unable to create pin \"%s\"", name); } - if (UBlueprint *bp = Cast(node->GetGraph()->GetOuter())) { + if (UBlueprint *bp = Cast(node->GetGraph()->GetOuter())) + { FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified(bp); } diff --git a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp index e271dded8..c9fc2441c 100644 --- a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp +++ b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp @@ -119,14 +119,9 @@ static int py_ue_edgraphpin_set_default_value(ue_PyEdGraphPin *self, PyObject *v static PyObject *py_ue_edgraphpin_get_default_object(ue_PyEdGraphPin *self, void *closure) { UObject *u_object = self->pin->DefaultObject; if (!u_object) { - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } - PyObject *ret = (PyObject *)ue_get_python_wrapper(u_object); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return ret; + Py_RETURN_UOBJECT(u_object); } static int py_ue_edgraphpin_set_default_object(ue_PyEdGraphPin *self, PyObject *value, void *closure) { diff --git a/Source/UnrealEnginePython/Private/PyCharacter.cpp b/Source/UnrealEnginePython/Private/PyCharacter.cpp index 12035c9c6..75e82b39a 100644 --- a/Source/UnrealEnginePython/Private/PyCharacter.cpp +++ b/Source/UnrealEnginePython/Private/PyCharacter.cpp @@ -29,7 +29,7 @@ void APyCharacter::PreInitializeComponents() FScopePythonGIL gil; - py_uobject = ue_get_python_wrapper(this); + py_uobject = ue_get_python_uobject(this); if (!py_uobject) { unreal_engine_py_log_error(); return; @@ -191,7 +191,7 @@ void APyCharacter::SetPythonAttrObject(FString attr, UObject *object) FScopePythonGIL gil; - ue_PyUObject *py_obj = ue_get_python_wrapper(object); + ue_PyUObject *py_obj = ue_get_python_uobject(object); if (!py_obj) { PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); unreal_engine_py_log_error(); @@ -408,7 +408,7 @@ void APyCharacter::SetupPlayerInputComponent(class UInputComponent* input) // no need to check for method availability, we did it in begin_play - PyObject *ret = PyObject_CallMethod(py_character_instance, (char *)"setup_player_input_component", (char *)"O", ue_get_python_wrapper(input)); + PyObject *ret = PyObject_CallMethod(py_character_instance, (char *)"setup_player_input_component", (char *)"O", ue_get_python_uobject(input)); if (!ret) { unreal_engine_py_log_error(); return; diff --git a/Source/UnrealEnginePython/Private/PyHUD.cpp b/Source/UnrealEnginePython/Private/PyHUD.cpp index 41b729460..cb2cf7f2f 100644 --- a/Source/UnrealEnginePython/Private/PyHUD.cpp +++ b/Source/UnrealEnginePython/Private/PyHUD.cpp @@ -25,7 +25,7 @@ void APyHUD::BeginPlay() FScopePythonGIL gil; - py_uobject = ue_get_python_wrapper(this); + py_uobject = ue_get_python_uobject(this); if (!py_uobject) { unreal_engine_py_log_error(); diff --git a/Source/UnrealEnginePython/Private/PyPawn.cpp b/Source/UnrealEnginePython/Private/PyPawn.cpp index cfcb9e4c9..3923579f8 100644 --- a/Source/UnrealEnginePython/Private/PyPawn.cpp +++ b/Source/UnrealEnginePython/Private/PyPawn.cpp @@ -41,7 +41,7 @@ void APyPawn::PreInitializeComponents() FScopePythonGIL gil; - py_uobject = ue_get_python_wrapper(this); + py_uobject = ue_get_python_uobject(this); if (!py_uobject) { unreal_engine_py_log_error(); return; diff --git a/Source/UnrealEnginePython/Private/PyUserWidget.cpp b/Source/UnrealEnginePython/Private/PyUserWidget.cpp index 1e1e17ce8..6e655fc15 100644 --- a/Source/UnrealEnginePython/Private/PyUserWidget.cpp +++ b/Source/UnrealEnginePython/Private/PyUserWidget.cpp @@ -27,7 +27,7 @@ void UPyUserWidget::NativeConstruct() FScopePythonGIL gil; - py_uobject = ue_get_python_wrapper(this); + py_uobject = ue_get_python_uobject(this); if (!py_uobject) { unreal_engine_py_log_error(); return; diff --git a/Source/UnrealEnginePython/Private/PythonDelegate.cpp b/Source/UnrealEnginePython/Private/PythonDelegate.cpp index b009c0784..302f4b618 100644 --- a/Source/UnrealEnginePython/Private/PythonDelegate.cpp +++ b/Source/UnrealEnginePython/Private/PythonDelegate.cpp @@ -113,7 +113,7 @@ bool UPythonDelegate::Tick(float DeltaTime) void UPythonDelegate::PyFOnAssetPostImport(UFactory *factory, UObject *u_object) { FScopePythonGIL gil; - PyObject *ret = PyObject_CallFunction(py_callable, (char *)"OO", ue_get_python_wrapper((UObject *)factory), ue_get_python_wrapper(u_object)); + PyObject *ret = PyObject_CallFunction(py_callable, (char *)"OO", ue_get_python_uobject((UObject *)factory), ue_get_python_uobject(u_object)); if (!ret) { unreal_engine_py_log_error(); return; diff --git a/Source/UnrealEnginePython/Private/PythonFunction.cpp b/Source/UnrealEnginePython/Private/PythonFunction.cpp index febb7718d..f30ada1dd 100644 --- a/Source/UnrealEnginePython/Private/PythonFunction.cpp +++ b/Source/UnrealEnginePython/Private/PythonFunction.cpp @@ -36,7 +36,7 @@ void UPythonFunction::CallPythonCallable(FFrame& Stack, RESULT_DECL) PyObject *py_args = PyTuple_New(argn); if (Stack.Object && !is_static) { - PyObject *py_obj = (PyObject *)ue_get_python_wrapper(Stack.Object); + PyObject *py_obj = (PyObject *)ue_get_python_uobject(Stack.Object); if (!py_obj) { unreal_engine_py_log_error(); on_error = true; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.cpp index 96ec555cb..981cacce6 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.cpp @@ -8,18 +8,16 @@ #define sw_level_viewport StaticCastSharedRef(self->s_editor_viewport.s_compound_widget.s_widget.s_widget) -static PyObject *py_ue_slevel_viewport_get_world(ue_PySLevelViewport *self, PyObject * args) { - - ue_PyUObject *ret = ue_get_python_wrapper(sw_level_viewport->GetWorld()); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; +static PyObject *py_ue_slevel_viewport_get_world(ue_PySLevelViewport *self, PyObject * args) +{ + Py_RETURN_UOBJECT(sw_level_viewport->GetWorld()); } -static PyObject *py_ue_slevel_viewport_set_show_bounds(ue_PySLevelViewport *self, PyObject * args) { +static PyObject *py_ue_slevel_viewport_set_show_bounds(ue_PySLevelViewport *self, PyObject * args) +{ PyObject *py_bool; - if (!PyArg_ParseTuple(args, "O:set_show_bounds", &py_bool)) { + if (!PyArg_ParseTuple(args, "O:set_show_bounds", &py_bool)) + { return NULL; } @@ -29,9 +27,11 @@ static PyObject *py_ue_slevel_viewport_set_show_bounds(ue_PySLevelViewport *self return (PyObject *)self; } -static PyObject *py_ue_slevel_viewport_set_show_stats(ue_PySLevelViewport *self, PyObject * args) { +static PyObject *py_ue_slevel_viewport_set_show_stats(ue_PySLevelViewport *self, PyObject * args) +{ PyObject *py_bool; - if (!PyArg_ParseTuple(args, "O:set_show_stats", &py_bool)) { + if (!PyArg_ParseTuple(args, "O:set_show_stats", &py_bool)) + { return NULL; } @@ -41,9 +41,11 @@ static PyObject *py_ue_slevel_viewport_set_show_stats(ue_PySLevelViewport *self, return (PyObject *)self; } -static PyObject *py_ue_slevel_viewport_set_view_mode(ue_PySLevelViewport *self, PyObject * args) { +static PyObject *py_ue_slevel_viewport_set_view_mode(ue_PySLevelViewport *self, PyObject * args) +{ int mode; - if (!PyArg_ParseTuple(args, "i:set_view_mode", &mode)) { + if (!PyArg_ParseTuple(args, "i:set_view_mode", &mode)) + { return NULL; } @@ -53,14 +55,17 @@ static PyObject *py_ue_slevel_viewport_set_view_mode(ue_PySLevelViewport *self, return (PyObject *)self; } -static PyObject *py_ue_slevel_viewport_set_exposure_settings(ue_PySPythonEditorViewport *self, PyObject * args) { +static PyObject *py_ue_slevel_viewport_set_exposure_settings(ue_PySPythonEditorViewport *self, PyObject * args) +{ PyObject *py_settings; - if (!PyArg_ParseTuple(args, "O:set_exposure_settings", &py_settings)) { + if (!PyArg_ParseTuple(args, "O:set_exposure_settings", &py_settings)) + { return NULL; } FExposureSettings *settings = ue_py_check_struct(py_settings); - if (!settings) { + if (!settings) + { return PyErr_Format(PyExc_Exception, "argument is not a FExposureSettings"); } @@ -120,7 +125,8 @@ PyTypeObject ue_PySLevelViewportType = { ue_PySLevelViewport_methods, /* tp_methods */ }; -static int ue_py_slevel_viewport_init(ue_PySLevelViewport *self, PyObject *args, PyObject *kwargs) { +static int ue_py_slevel_viewport_init(ue_PySLevelViewport *self, PyObject *args, PyObject *kwargs) +{ FLevelEditorModule &EditorModule = FModuleManager::LoadModuleChecked("LevelEditor"); @@ -130,7 +136,7 @@ static int ue_py_slevel_viewport_init(ue_PySLevelViewport *self, PyObject *args, ue_py_slate_farguments_optional_bool("realtime", Realtime); ue_py_slate_farguments_optional_enum("viewport_type", ViewportType, ELevelViewportType); - + ue_py_snew(SLevelViewport, s_editor_viewport.s_compound_widget.s_widget); EditorModule.GetFirstLevelEditor()->AddStandaloneLevelViewport(sw_level_viewport); @@ -138,7 +144,8 @@ static int ue_py_slevel_viewport_init(ue_PySLevelViewport *self, PyObject *args, return 0; } -void ue_python_init_slevel_viewport(PyObject *ue_module) { +void ue_python_init_slevel_viewport(PyObject *ue_module) +{ ue_PySLevelViewportType.tp_init = (initproc)ue_py_slevel_viewport_init; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.cpp index 8a8fbc09f..7874cf9d5 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.cpp @@ -7,18 +7,16 @@ #define sw_python_editor_viewport StaticCastSharedRef(self->s_editor_viewport.s_compound_widget.s_widget.s_widget) -static PyObject *py_ue_spython_editor_viewport_get_world(ue_PySPythonEditorViewport *self, PyObject * args) { - - ue_PyUObject *ret = ue_get_python_wrapper(sw_python_editor_viewport->GetPythonWorld()); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; +static PyObject *py_ue_spython_editor_viewport_get_world(ue_PySPythonEditorViewport *self, PyObject * args) +{ + Py_RETURN_UOBJECT(sw_python_editor_viewport->GetPythonWorld()); } -static PyObject *py_ue_spython_editor_viewport_set_show_bounds(ue_PySPythonEditorViewport *self, PyObject * args) { +static PyObject *py_ue_spython_editor_viewport_set_show_bounds(ue_PySPythonEditorViewport *self, PyObject * args) +{ PyObject *py_bool; - if (!PyArg_ParseTuple(args, "O:set_show_bounds", &py_bool)) { + if (!PyArg_ParseTuple(args, "O:set_show_bounds", &py_bool)) + { return NULL; } @@ -29,9 +27,11 @@ static PyObject *py_ue_spython_editor_viewport_set_show_bounds(ue_PySPythonEdito return (PyObject *)self; } -static PyObject *py_ue_spython_editor_viewport_set_show_stats(ue_PySPythonEditorViewport *self, PyObject * args) { +static PyObject *py_ue_spython_editor_viewport_set_show_stats(ue_PySPythonEditorViewport *self, PyObject * args) +{ PyObject *py_bool; - if (!PyArg_ParseTuple(args, "O:set_show_stats", &py_bool)) { + if (!PyArg_ParseTuple(args, "O:set_show_stats", &py_bool)) + { return NULL; } @@ -42,9 +42,11 @@ static PyObject *py_ue_spython_editor_viewport_set_show_stats(ue_PySPythonEditor return (PyObject *)self; } -static PyObject *py_ue_spython_editor_viewport_set_view_mode(ue_PySPythonEditorViewport *self, PyObject * args) { +static PyObject *py_ue_spython_editor_viewport_set_view_mode(ue_PySPythonEditorViewport *self, PyObject * args) +{ int mode; - if (!PyArg_ParseTuple(args, "i:set_view_mode", &mode)) { + if (!PyArg_ParseTuple(args, "i:set_view_mode", &mode)) + { return NULL; } @@ -55,14 +57,17 @@ static PyObject *py_ue_spython_editor_viewport_set_view_mode(ue_PySPythonEditorV return (PyObject *)self; } -static PyObject *py_ue_spython_editor_viewport_set_exposure_settings(ue_PySPythonEditorViewport *self, PyObject * args) { +static PyObject *py_ue_spython_editor_viewport_set_exposure_settings(ue_PySPythonEditorViewport *self, PyObject * args) +{ PyObject *py_settings; - if (!PyArg_ParseTuple(args, "O:set_exposure_settings", &py_settings)) { + if (!PyArg_ParseTuple(args, "O:set_exposure_settings", &py_settings)) + { return NULL; } FExposureSettings *settings = ue_py_check_struct(py_settings); - if (!settings) { + if (!settings) + { return PyErr_Format(PyExc_Exception, "argument is not a FExposureSettings"); } @@ -73,20 +78,25 @@ static PyObject *py_ue_spython_editor_viewport_set_exposure_settings(ue_PySPytho return (PyObject *)self; } -static PyObject *py_ue_spython_editor_viewport_set_view_location(ue_PySPythonEditorViewport *self, PyObject * args) { +static PyObject *py_ue_spython_editor_viewport_set_view_location(ue_PySPythonEditorViewport *self, PyObject * args) +{ float x = 0, y = 0, z = 0; FVector vec; - if (PyTuple_Size(args) == 1) { + if (PyTuple_Size(args) == 1) + { ue_PyFVector *ue_py_vec = py_ue_is_fvector(PyTuple_GetItem(args, 0)); - if (!ue_py_vec) { + if (!ue_py_vec) + { return PyErr_Format(PyExc_Exception, "argument is not a FVector"); } vec = ue_py_vec->vec; } - else { - if (!PyArg_ParseTuple(args, "fff", &x, &y, &z)) { + else + { + if (!PyArg_ParseTuple(args, "fff", &x, &y, &z)) + { return nullptr;; } vec.X = x; @@ -100,20 +110,25 @@ static PyObject *py_ue_spython_editor_viewport_set_view_location(ue_PySPythonEdi return (PyObject *)self; } -static PyObject *py_ue_spython_editor_viewport_set_view_rotation(ue_PySPythonEditorViewport *self, PyObject * args) { +static PyObject *py_ue_spython_editor_viewport_set_view_rotation(ue_PySPythonEditorViewport *self, PyObject * args) +{ float roll = 0, pitch = 0, yaw = 0; FRotator rot; - if (PyTuple_Size(args) == 1) { + if (PyTuple_Size(args) == 1) + { ue_PyFRotator *ue_py_rot = py_ue_is_frotator(PyTuple_GetItem(args, 0)); - if (!ue_py_rot) { + if (!ue_py_rot) + { return PyErr_Format(PyExc_Exception, "argument is not a FRotator"); } rot = ue_py_rot->rot; } - else { - if (!PyArg_ParseTuple(args, "fff", &roll, &pitch, &yaw)) { + else + { + if (!PyArg_ParseTuple(args, "fff", &roll, &pitch, &yaw)) + { return nullptr;; } rot.Roll = roll; @@ -127,9 +142,11 @@ static PyObject *py_ue_spython_editor_viewport_set_view_rotation(ue_PySPythonEdi return (PyObject *)self; } -static PyObject *py_ue_spython_editor_viewport_simulate(ue_PySPythonEditorViewport *self, PyObject * args) { +static PyObject *py_ue_spython_editor_viewport_simulate(ue_PySPythonEditorViewport *self, PyObject * args) +{ PyObject *py_bool; - if (!PyArg_ParseTuple(args, "O:simulate", &py_bool)) { + if (!PyArg_ParseTuple(args, "O:simulate", &py_bool)) + { return NULL; } @@ -138,7 +155,8 @@ static PyObject *py_ue_spython_editor_viewport_simulate(ue_PySPythonEditorViewpo Py_RETURN_NONE; } -static PyObject *py_ue_spython_editor_viewport_set_light_color(ue_PySPythonEditorViewport *self, PyObject * args) { +static PyObject *py_ue_spython_editor_viewport_set_light_color(ue_PySPythonEditorViewport *self, PyObject * args) +{ PyObject *py_obj; if (!PyArg_ParseTuple(args, "O", &py_obj)) @@ -154,20 +172,25 @@ static PyObject *py_ue_spython_editor_viewport_set_light_color(ue_PySPythonEdito return (PyObject *)self; } -static PyObject *py_ue_spython_editor_viewport_set_light_direction(ue_PySPythonEditorViewport *self, PyObject * args) { +static PyObject *py_ue_spython_editor_viewport_set_light_direction(ue_PySPythonEditorViewport *self, PyObject * args) +{ float roll = 0, pitch = 0, yaw = 0; FRotator rot; - if (PyTuple_Size(args) == 1) { + if (PyTuple_Size(args) == 1) + { ue_PyFRotator *ue_py_rot = py_ue_is_frotator(PyTuple_GetItem(args, 0)); - if (!ue_py_rot) { + if (!ue_py_rot) + { return PyErr_Format(PyExc_Exception, "argument is not a FRotator"); } rot = ue_py_rot->rot; } - else { - if (!PyArg_ParseTuple(args, "fff", &roll, &pitch, &yaw)) { + else + { + if (!PyArg_ParseTuple(args, "fff", &roll, &pitch, &yaw)) + { return nullptr;; } rot.Roll = roll; @@ -181,7 +204,8 @@ static PyObject *py_ue_spython_editor_viewport_set_light_direction(ue_PySPythonE return (PyObject *)self; } -static PyObject *py_ue_spython_editor_viewport_set_sky_brightness(ue_PySPythonEditorViewport *self, PyObject * args) { +static PyObject *py_ue_spython_editor_viewport_set_sky_brightness(ue_PySPythonEditorViewport *self, PyObject * args) +{ float brightness; if (!PyArg_ParseTuple(args, "f", &brightness)) @@ -193,7 +217,8 @@ static PyObject *py_ue_spython_editor_viewport_set_sky_brightness(ue_PySPythonEd return (PyObject *)self; } -static PyObject *py_ue_spython_editor_viewport_set_light_brightness(ue_PySPythonEditorViewport *self, PyObject * args) { +static PyObject *py_ue_spython_editor_viewport_set_light_brightness(ue_PySPythonEditorViewport *self, PyObject * args) +{ float brightness; if (!PyArg_ParseTuple(args, "f", &brightness)) @@ -205,16 +230,12 @@ static PyObject *py_ue_spython_editor_viewport_set_light_brightness(ue_PySPython return (PyObject *)self; } -static PyObject *py_ue_spython_editor_viewport_get_light(ue_PySPythonEditorViewport *self, PyObject * args) { +static PyObject *py_ue_spython_editor_viewport_get_light(ue_PySPythonEditorViewport *self, PyObject * args) +{ UDirectionalLightComponent *light = sw_python_editor_viewport->GetPreviewScene()->DirectionalLight; - ue_PyUObject *ret = ue_get_python_wrapper(light); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(light); } static PyMethodDef ue_PySPythonEditorViewport_methods[] = { @@ -234,10 +255,12 @@ static PyMethodDef ue_PySPythonEditorViewport_methods[] = { { NULL } /* Sentinel */ }; -class FPythonEditorViewportClient : public FEditorViewportClient { +class FPythonEditorViewportClient : public FEditorViewportClient +{ public: FPythonEditorViewportClient(FEditorModeTools * InModeTools, FPreviewScene * InPreviewScene, const TWeakPtr & InEditorViewportWidget) : - FEditorViewportClient(InModeTools, InPreviewScene, InEditorViewportWidget) { + FEditorViewportClient(InModeTools, InPreviewScene, InEditorViewportWidget) + { EngineShowFlags.SetSelection(true); EngineShowFlags.SetSelectionOutline(true); @@ -247,14 +270,17 @@ class FPythonEditorViewportClient : public FEditorViewportClient { SelectedActor = nullptr; } - virtual void ProcessClick(FSceneView & InView, HHitProxy* HitProxy, FKey Key, EInputEvent Event, uint32 HitX, uint32 HitY) { - if (!HitProxy) { + virtual void ProcessClick(FSceneView & InView, HHitProxy* HitProxy, FKey Key, EInputEvent Event, uint32 HitX, uint32 HitY) + { + if (!HitProxy) + { GEditor->SelectNone(true, true, true); SelectedActor = nullptr; return; } - if (HitProxy->IsA(HActor::StaticGetType())) { + if (HitProxy->IsA(HActor::StaticGetType())) + { HActor *h_actor = (HActor *)HitProxy; GEditor->SelectNone(true, true, true); GEditor->SelectActor(h_actor->Actor, true, true); @@ -263,35 +289,42 @@ class FPythonEditorViewportClient : public FEditorViewportClient { SetWidgetMode(FWidget::WM_Translate); } - else if (HitProxy->IsA(HWidgetAxis::StaticGetType())) { + else if (HitProxy->IsA(HWidgetAxis::StaticGetType())) + { // TODO do something ? } - else { + else + { GEditor->SelectNone(true, true, true); SelectedActor = nullptr; } } - virtual FWidget::EWidgetMode GetWidgetMode() const { + virtual FWidget::EWidgetMode GetWidgetMode() const + { if (SelectedActor == nullptr) return FWidget::WM_None; return FEditorViewportClient::GetWidgetMode(); } - virtual FMatrix GetWidgetCoordSystem() const { + virtual FMatrix GetWidgetCoordSystem() const + { if (!SelectedActor) return FMatrix::Identity; return FRotationMatrix(SelectedActor->GetActorTransform().Rotator()); } - virtual FVector GetWidgetLocation() const { + virtual FVector GetWidgetLocation() const + { if (!SelectedActor) return FVector(0, 0, 0); return SelectedActor->GetActorLocation(); } - virtual bool InputWidgetDelta(FViewport * InViewport, EAxisList::Type CurrentAxis, FVector & Drag, FRotator & Rot, FVector &Scale) { - if (SelectedActor && !bAltPressed) { + virtual bool InputWidgetDelta(FViewport * InViewport, EAxisList::Type CurrentAxis, FVector & Drag, FRotator & Rot, FVector &Scale) + { + if (SelectedActor && !bAltPressed) + { SelectedActor->AddActorWorldOffset(Drag); SelectedActor->AddActorWorldRotation(Rot); SelectedActor->SetActorScale3D(SelectedActor->GetActorScale3D() + Scale); @@ -302,11 +335,13 @@ class FPythonEditorViewportClient : public FEditorViewportClient { return false; } - virtual void TrackingStarted(const FInputEventState & InInpuState, bool bIsDragginWidget, bool bNudge) { + virtual void TrackingStarted(const FInputEventState & InInpuState, bool bIsDragginWidget, bool bNudge) + { bAltPressed = InInpuState.IsAltButtonPressed(); } - virtual void ResetCamera() { + virtual void ResetCamera() + { if (!SelectedActor) return; FocusViewportOnBox(SelectedActor->GetComponentsBoundingBox()); @@ -318,11 +353,13 @@ class FPythonEditorViewportClient : public FEditorViewportClient { AActor *SelectedActor; }; -UWorld *SPythonEditorViewport::GetPythonWorld() { +UWorld *SPythonEditorViewport::GetPythonWorld() +{ return GetWorld(); } -TSharedRef SPythonEditorViewport::MakeEditorViewportClient() { +TSharedRef SPythonEditorViewport::MakeEditorViewportClient() +{ PreviewScene = new FPreviewScene(); @@ -345,23 +382,28 @@ TSharedRef SPythonEditorViewport::MakeEditorViewportClien return client.ToSharedRef(); } -TSharedPtr SPythonEditorViewport::GetExtenders() const { +TSharedPtr SPythonEditorViewport::GetExtenders() const +{ TSharedPtr Result(MakeShareable(new FExtender())); return Result; } -TSharedRef SPythonEditorViewport::GetViewportWidget() { +TSharedRef SPythonEditorViewport::GetViewportWidget() +{ return SharedThis(this); } -TSharedPtr SPythonEditorViewport::MakeViewportToolbar() { +TSharedPtr SPythonEditorViewport::MakeViewportToolbar() +{ return SNew(SCommonEditorViewportToolbarBase, SharedThis(this)); } -void SPythonEditorViewport::Tick(const FGeometry& AllottedGeometry, const double InCurrentTime, const float InDeltaTime) { +void SPythonEditorViewport::Tick(const FGeometry& AllottedGeometry, const double InCurrentTime, const float InDeltaTime) +{ SEditorViewport::Tick(AllottedGeometry, InCurrentTime, InDeltaTime); - if (bSimulate) { + if (bSimulate) + { GetWorld()->Tick(ELevelTick::LEVELTICK_All, InDeltaTime); } } @@ -397,12 +439,14 @@ PyTypeObject ue_PySPythonEditorViewportType = { ue_PySPythonEditorViewport_methods, /* tp_methods */ }; -static int ue_py_spython_editor_viewport_init(ue_PySPythonEditorViewport *self, PyObject *args, PyObject *kwargs) { +static int ue_py_spython_editor_viewport_init(ue_PySPythonEditorViewport *self, PyObject *args, PyObject *kwargs) +{ ue_py_snew_simple(SPythonEditorViewport, s_editor_viewport.s_compound_widget.s_widget); return 0; } -void ue_python_init_spython_editor_viewport(PyObject *ue_module) { +void ue_python_init_spython_editor_viewport(PyObject *ue_module) +{ ue_PySPythonEditorViewportType.tp_init = (initproc)ue_py_spython_editor_viewport_init; diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index 0006d588c..b437f35a0 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -78,11 +78,7 @@ PyObject *py_unreal_engine_get_editor_world(PyObject * self, PyObject * args) return PyErr_Format(PyExc_Exception, "no GEditor found"); UWorld *world = GEditor->GetEditorWorldContext().World(); - ue_PyUObject *ret = ue_get_python_wrapper(world); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(world); } PyObject *py_unreal_engine_console_exec(PyObject * self, PyObject * args) @@ -100,8 +96,7 @@ PyObject *py_unreal_engine_console_exec(PyObject * self, PyObject * args) GEditor->Exec(GEditor->GetEditorWorldContext().World(), UTF8_TO_TCHAR(command), *GLog); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_unreal_engine_allow_actor_script_execution_in_editor(PyObject * self, PyObject * args) @@ -144,7 +139,7 @@ PyObject *py_unreal_engine_editor_get_selected_actors(PyObject * self, PyObject if (!obj->IsA()) continue; AActor *actor = (AActor *)obj; - ue_PyUObject *item = ue_get_python_wrapper(actor); + ue_PyUObject *item = ue_get_python_uobject(actor); if (item) PyList_Append(actors, (PyObject *)item); } @@ -345,9 +340,11 @@ PyObject *py_unreal_engine_import_asset(PyObject * self, PyObject * args) UClass *u_class = FindObject(ANY_PACKAGE, UTF8_TO_TCHAR(class_name)); if (u_class) { - ue_PyUObject *py_obj = ue_get_python_wrapper(u_class); - if (py_obj) - Py_INCREF(py_obj); + ue_PyUObject *py_obj = ue_get_python_uobject(u_class); + if (!py_obj) + { + return PyErr_Format(PyExc_Exception, "invalid uobject"); + } factory_class = (UClass *)py_obj->ue_object; } } @@ -417,11 +414,7 @@ PyObject *py_unreal_engine_import_asset(PyObject * self, PyObject * args) { UObject *object = objects[0]; - ue_PyUObject *ret = ue_get_python_wrapper(object); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(object); } else if (objects.Num() > 1) { @@ -429,9 +422,13 @@ PyObject *py_unreal_engine_import_asset(PyObject * self, PyObject * args) for (UObject *object : objects) { - ue_PyUObject *ret = ue_get_python_wrapper(object); + ue_PyUObject *ret = ue_get_python_uobject(object); if (!ret) + { + Py_DECREF(assets_list); return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); + } + PyList_Append(assets_list, (PyObject *)ret); } @@ -439,8 +436,7 @@ PyObject *py_unreal_engine_import_asset(PyObject * self, PyObject * args) } - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_unreal_engine_editor_tick(PyObject * self, PyObject * args) @@ -521,11 +517,7 @@ PyObject *py_unreal_engine_get_asset(PyObject * self, PyObject * args) FAssetData asset = AssetRegistryModule.Get().GetAssetByObjectPath(UTF8_TO_TCHAR(path)); if (!asset.IsValid()) return PyErr_Format(PyExc_Exception, "unable to find asset %s", path); - ue_PyUObject *ret = ue_get_python_wrapper(asset.GetAsset()); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(asset.GetAsset()); } PyObject *py_unreal_engine_find_asset(PyObject * self, PyObject * args) @@ -547,11 +539,7 @@ PyObject *py_unreal_engine_find_asset(PyObject * self, PyObject * args) Py_INCREF(Py_None); return Py_None; } - ue_PyUObject *ret = ue_get_python_wrapper(asset.GetAsset()); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(asset.GetAsset()); } PyObject *py_unreal_engine_get_asset_referencers(PyObject * self, PyObject * args) @@ -686,11 +674,7 @@ PyObject *py_unreal_engine_duplicate_asset(PyObject * self, PyObject * args) return PyErr_Format(PyExc_Exception, "unable to duplicate asset %s", path); } - ue_PyUObject *ret = ue_get_python_wrapper(new_asset); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(new_asset); } PyObject *py_unreal_engine_delete_asset(PyObject * self, PyObject * args) @@ -801,7 +785,7 @@ PyObject *py_unreal_engine_get_assets(PyObject * self, PyObject * args) { if (!asset.IsValid()) continue; - ue_PyUObject *ret = ue_get_python_wrapper(asset.GetAsset()); + ue_PyUObject *ret = ue_get_python_uobject(asset.GetAsset()); if (ret) { PyList_Append(assets_list, (PyObject *)ret); @@ -852,8 +836,9 @@ PyObject *py_unreal_engine_get_assets_by_filter(PyObject * self, PyObject * args } else { - ret = (PyObject *)ue_get_python_wrapper(asset.GetAsset()); + ret = (PyObject *)ue_get_python_uobject(asset.GetAsset()); } + if (ret) { PyList_Append(assets_list, ret); @@ -951,7 +936,7 @@ PyObject *py_unreal_engine_get_assets_by_class(PyObject * self, PyObject * args) { if (!asset.IsValid()) continue; - ue_PyUObject *ret = ue_get_python_wrapper(asset.GetAsset()); + ue_PyUObject *ret = ue_get_python_uobject(asset.GetAsset()); if (ret) { PyList_Append(assets_list, (PyObject *)ret); @@ -979,7 +964,7 @@ PyObject *py_unreal_engine_get_selected_assets(PyObject * self, PyObject * args) { if (!asset.IsValid()) continue; - ue_PyUObject *ret = ue_get_python_wrapper(asset.GetAsset()); + ue_PyUObject *ret = ue_get_python_uobject(asset.GetAsset()); if (ret) { PyList_Append(assets_list, (PyObject *)ret); @@ -1113,40 +1098,36 @@ PyObject *py_unreal_engine_create_blueprint(PyObject * self, PyObject * args) outer->MarkPackageDirty(); - ue_PyUObject *ret = ue_get_python_wrapper(bp); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; - + Py_RETURN_UOBJECT(bp); } PyObject *py_unreal_engine_get_blueprint_hierarchy_from_class(PyObject * self, PyObject * args) { - PyObject *py_class; - if (!PyArg_ParseTuple(args, "O:get_blueprint_hierarchy_from_class", &py_class)) - { - return NULL; - } + PyObject *py_class; + if (!PyArg_ParseTuple(args, "O:get_blueprint_hierarchy_from_class", &py_class)) + { + return NULL; + } - UClass* u_class = ue_py_check_type(py_class); - if (!u_class) - { - return PyErr_Format(PyExc_Exception, "argument is not a UClass"); - } + UClass* u_class = ue_py_check_type(py_class); + if (!u_class) + { + return PyErr_Format(PyExc_Exception, "argument is not a UClass"); + } - TArray outBPs; - UBlueprint::GetBlueprintHierarchyFromClass(u_class, outBPs); + TArray outBPs; + UBlueprint::GetBlueprintHierarchyFromClass(u_class, outBPs); - PyObject *py_bpClasses = PyList_New(0); + PyObject *py_bpClasses = PyList_New(0); - for (UBlueprint* bpClass : outBPs) { - ue_PyUObject *item = ue_get_python_wrapper(bpClass); - if (item) - PyList_Append(py_bpClasses, (PyObject *)item); - } - return py_bpClasses; + for (UBlueprint* bpClass : outBPs) + { + ue_PyUObject *item = ue_get_python_uobject(bpClass); + if (item) + PyList_Append(py_bpClasses, (PyObject *)item); + } + return py_bpClasses; } PyObject *py_unreal_engine_reload_blueprint(PyObject * self, PyObject * args) @@ -1170,12 +1151,7 @@ PyObject *py_unreal_engine_reload_blueprint(PyObject * self, PyObject * args) UBlueprint *reloaded_bp = FKismetEditorUtilities::ReloadBlueprint(bp); - ue_PyUObject *ret = ue_get_python_wrapper(reloaded_bp); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; - + Py_RETURN_UOBJECT(reloaded_bp); } PyObject *py_unreal_engine_compile_blueprint(PyObject * self, PyObject * args) @@ -1236,12 +1212,7 @@ PyObject *py_unreal_engine_replace_blueprint(PyObject * self, PyObject * args) UBlueprint *replaced_bp = FKismetEditorUtilities::ReplaceBlueprint(bp, bp_new); - ue_PyUObject *ret = ue_get_python_wrapper(replaced_bp); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; - + Py_RETURN_UOBJECT(replaced_bp); } PyObject *py_unreal_engine_create_blueprint_from_actor(PyObject * self, PyObject * args) @@ -1270,12 +1241,7 @@ PyObject *py_unreal_engine_create_blueprint_from_actor(PyObject * self, PyObject UBlueprint *bp = FKismetEditorUtilities::CreateBlueprintFromActor(UTF8_TO_TCHAR(name), actor, true); - ue_PyUObject *ret = ue_get_python_wrapper(bp); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; - + Py_RETURN_UOBJECT(bp); } PyObject *py_unreal_engine_get_blueprint_components(PyObject * self, PyObject * args) @@ -1297,7 +1263,7 @@ PyObject *py_unreal_engine_get_blueprint_components(PyObject * self, PyObject * for (USCS_Node *node : bp->SimpleConstructionScript->GetAllNodes()) { - ue_PyUObject *item = ue_get_python_wrapper(node->ComponentTemplate); + ue_PyUObject *item = ue_get_python_uobject(node->ComponentTemplate); if (item) PyList_Append(py_list, (PyObject *)item); @@ -1379,12 +1345,7 @@ PyObject *py_unreal_engine_add_component_to_blueprint(PyObject * self, PyObject bp->SimpleConstructionScript->AddNode(node); } - ue_PyUObject *ret = ue_get_python_wrapper(node->ComponentTemplate); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; - + Py_RETURN_UOBJECT(node->ComponentTemplate); } PyObject *py_unreal_engine_blueprint_add_member_variable(PyObject * self, PyObject * args) @@ -1443,7 +1404,7 @@ PyObject *py_unreal_engine_blueprint_set_variable_visibility(PyObject * self, Py if (!PyArg_ParseTuple(args, "OsO:blueprint_set_variable_visibility", &py_blueprint, &name, &visibility)) { return NULL; - } +} if (!ue_is_pyuobject(py_blueprint)) { @@ -1493,11 +1454,7 @@ PyObject *py_unreal_engine_blueprint_add_new_timeline(PyObject * self, PyObject return PyErr_Format(PyExc_Exception, "unable to add new timeline %s", name); } - ue_PyUObject *ret = ue_get_python_wrapper(timeline); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(timeline); } PyObject *py_unreal_engine_blueprint_add_function(PyObject * self, PyObject * args) @@ -1523,11 +1480,7 @@ PyObject *py_unreal_engine_blueprint_add_function(PyObject * self, PyObject * ar UEdGraph *graph = FBlueprintEditorUtils::CreateNewGraph(bp, FName(UTF8_TO_TCHAR(name)), UEdGraph::StaticClass(), UEdGraphSchema_K2::StaticClass()); FBlueprintEditorUtils::AddFunctionGraph(bp, graph, true, nullptr); - PyObject *ret = (PyObject *)ue_get_python_wrapper(graph); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return ret; + Py_RETURN_UOBJECT(graph); } PyObject *py_unreal_engine_blueprint_add_event_dispatcher(PyObject * self, PyObject * args) @@ -1574,11 +1527,7 @@ PyObject *py_unreal_engine_blueprint_add_event_dispatcher(PyObject * self, PyObj bp->DelegateSignatureGraphs.Add(graph); FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified(bp); - PyObject *ret = (PyObject *)ue_get_python_wrapper(graph); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return ret; + Py_RETURN_UOBJECT(graph); } PyObject *py_unreal_engine_blueprint_mark_as_structurally_modified(PyObject * self, PyObject * args) @@ -1623,40 +1572,36 @@ PyObject *py_unreal_engine_blueprint_add_ubergraph_page(PyObject * self, PyObjec UEdGraph *graph = FBlueprintEditorUtils::CreateNewGraph(bp, FName(UTF8_TO_TCHAR(name)), UEdGraph::StaticClass(), UEdGraphSchema_K2::StaticClass()); FBlueprintEditorUtils::AddUbergraphPage(bp, graph); - PyObject *ret = (PyObject *)ue_get_python_wrapper(graph); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return ret; + Py_RETURN_UOBJECT(graph); } PyObject *py_unreal_engine_blueprint_get_all_graphs(PyObject * self, PyObject * args) { - PyObject *py_blueprint; + PyObject *py_blueprint; - if (!PyArg_ParseTuple(args, "O:blueprint_get_all_graphs", &py_blueprint)) - { - return nullptr; - } + if (!PyArg_ParseTuple(args, "O:blueprint_get_all_graphs", &py_blueprint)) + { + return nullptr; + } - UBlueprint *bp = ue_py_check_type(py_blueprint); - if (!bp) - return PyErr_Format(PyExc_Exception, "uobject is not a UBlueprint"); + UBlueprint *bp = ue_py_check_type(py_blueprint); + if (!bp) + return PyErr_Format(PyExc_Exception, "uobject is not a UBlueprint"); - PyObject *py_graphs = PyList_New(0); + PyObject *py_graphs = PyList_New(0); - TArray graphs; + TArray graphs; - bp->GetAllGraphs(graphs); + bp->GetAllGraphs(graphs); - for (UEdGraph *graph : graphs) - { - ue_PyUObject *item = ue_get_python_wrapper(graph); - if (item) - PyList_Append(py_graphs, (PyObject *)item); - } + for (UEdGraph *graph : graphs) + { + ue_PyUObject *item = ue_get_python_uobject(graph); + if (item) + PyList_Append(py_graphs, (PyObject *)item); + } - return py_graphs; + return py_graphs; } PyObject *py_unreal_engine_create_new_graph(PyObject * self, PyObject * args) @@ -2267,23 +2212,23 @@ PyObject *py_unreal_engine_register_settings(PyObject * self, PyObject * args) PyObject * py_unreal_engine_show_viewer(PyObject * self, PyObject * args) { - char *container_name; - char *category_name; - char *section_name; + char *container_name; + char *category_name; + char *section_name; - if (!PyArg_ParseTuple(args, "sss:register_settings", &container_name, &category_name, §ion_name)) - return nullptr; + if (!PyArg_ParseTuple(args, "sss:register_settings", &container_name, &category_name, §ion_name)) + return nullptr; - if (ISettingsModule* SettingsModule = FModuleManager::GetModulePtr("Settings")) - { - SettingsModule->ShowViewer(container_name, category_name, section_name); - } - else - { - return PyErr_Format(PyExc_Exception, "unable to find the Settings Module"); - } + if (ISettingsModule* SettingsModule = FModuleManager::GetModulePtr("Settings")) + { + SettingsModule->ShowViewer(container_name, category_name, section_name); + } + else + { + return PyErr_Format(PyExc_Exception, "unable to find the Settings Module"); + } - Py_RETURN_NONE; + Py_RETURN_NONE; } PyObject *py_unreal_engine_unregister_settings(PyObject * self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index 72c68696f..38bdc356e 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -228,11 +228,7 @@ PyObject *py_unreal_engine_create_world(PyObject * self, PyObject * args) UWorld *world = UWorld::CreateWorld((EWorldType::Type)world_type, false); - ue_PyUObject *ret = ue_get_python_wrapper(world); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(world); } PyObject *py_unreal_engine_find_class(PyObject * self, PyObject * args) @@ -248,11 +244,7 @@ PyObject *py_unreal_engine_find_class(PyObject * self, PyObject * args) if (!u_class) return PyErr_Format(PyExc_Exception, "unable to find class %s", name); - ue_PyUObject *ret = ue_get_python_wrapper(u_class); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(u_class); } PyObject *py_unreal_engine_find_enum(PyObject * self, PyObject * args) @@ -268,12 +260,7 @@ PyObject *py_unreal_engine_find_enum(PyObject * self, PyObject * args) if (!u_enum) return PyErr_Format(PyExc_Exception, "unable to find enum %s", name); - ue_PyUObject *ret = ue_get_python_wrapper(u_enum); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; - + Py_RETURN_UOBJECT(u_enum); } PyObject *py_unreal_engine_load_package(PyObject * self, PyObject * args) @@ -289,35 +276,31 @@ PyObject *py_unreal_engine_load_package(PyObject * self, PyObject * args) if (!u_package) return PyErr_Format(PyExc_Exception, "unable to load package %s", name); - ue_PyUObject *ret = ue_get_python_wrapper(u_package); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(u_package); } #if WITH_EDITOR PyObject *py_unreal_engine_unload_package(PyObject * self, PyObject * args) { - PyObject *obj; - if (!PyArg_ParseTuple(args, "O:unload_package", &obj)) - { - return NULL; - } - - UPackage* packageToUnload = ue_py_check_type(obj); - if (!packageToUnload) - { - return PyErr_Format(PyExc_Exception, "argument is not a UPackage"); - } - - FText outErrorMsg; - if (!PackageTools::UnloadPackages({ packageToUnload }, outErrorMsg)) - { - return PyErr_Format(PyExc_Exception, TCHAR_TO_UTF8(*outErrorMsg.ToString())); - } - - Py_RETURN_NONE; + PyObject *obj; + if (!PyArg_ParseTuple(args, "O:unload_package", &obj)) + { + return NULL; + } + + UPackage* packageToUnload = ue_py_check_type(obj); + if (!packageToUnload) + { + return PyErr_Format(PyExc_Exception, "argument is not a UPackage"); + } + + FText outErrorMsg; + if (!PackageTools::UnloadPackages({ packageToUnload }, outErrorMsg)) + { + return PyErr_Format(PyExc_Exception, TCHAR_TO_UTF8(*outErrorMsg.ToString())); + } + + Py_RETURN_NONE; } #endif @@ -339,11 +322,7 @@ PyObject *py_unreal_engine_load_class(PyObject * self, PyObject * args) if (!u_class) return PyErr_Format(PyExc_Exception, "unable to find class %s", name); - ue_PyUObject *ret = ue_get_python_wrapper(u_class); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(u_class); } PyObject *py_unreal_engine_load_enum(PyObject * self, PyObject * args) @@ -364,11 +343,7 @@ PyObject *py_unreal_engine_load_enum(PyObject * self, PyObject * args) if (!u_enum) return PyErr_Format(PyExc_Exception, "unable to find enum %s", name); - ue_PyUObject *ret = ue_get_python_wrapper(u_enum); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(u_enum); } PyObject *py_unreal_engine_find_struct(PyObject * self, PyObject * args) @@ -384,12 +359,7 @@ PyObject *py_unreal_engine_find_struct(PyObject * self, PyObject * args) if (!u_struct) return PyErr_Format(PyExc_Exception, "unable to find struct %s", name); - ue_PyUObject *ret = ue_get_python_wrapper(u_struct); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; - + Py_RETURN_UOBJECT(u_struct); } PyObject *py_unreal_engine_load_struct(PyObject * self, PyObject * args) @@ -554,7 +524,7 @@ PyObject *py_unreal_engine_new_object(PyObject * self, PyObject * args) PyObject *obj; PyObject *py_outer = NULL; char *name = nullptr; - uint64 flags = (uint64)(RF_Public | RF_Standalone); + uint64 flags = (uint64)(RF_Public | RF_Standalone); if (!PyArg_ParseTuple(args, "O|OsK:new_object", &obj, &py_outer, &name, &flags)) { return NULL; @@ -681,7 +651,7 @@ PyObject *py_unreal_engine_all_classes(PyObject * self, PyObject * args) for (TObjectIterator Itr; Itr; ++Itr) { - ue_PyUObject *py_obj = ue_get_python_wrapper(*Itr); + ue_PyUObject *py_obj = ue_get_python_uobject(*Itr); if (!py_obj) continue; PyList_Append(ret, (PyObject *)py_obj); @@ -723,7 +693,7 @@ PyObject *py_unreal_engine_tobject_iterator(PyObject * self, PyObject * args) if (!(*Itr)->IsA(u_class)) continue; - ue_PyUObject *py_obj = ue_get_python_wrapper(*Itr); + ue_PyUObject *py_obj = ue_get_python_uobject(*Itr); if (!py_obj) continue; PyList_Append(ret, (PyObject *)py_obj); @@ -1149,7 +1119,7 @@ PyObject *py_unreal_engine_open_directory_dialog(PyObject *self, PyObject * args PyObject *py_unreal_engine_open_font_dialog(PyObject *self, PyObject * args) { - + IDesktopPlatform *DesktopPlatform = FDesktopPlatformModule::Get(); if (!DesktopPlatform) return PyErr_Format(PyExc_Exception, "unable to get reference to DesktopPlatform module"); diff --git a/Source/UnrealEnginePython/Private/UEPyIPlugin.cpp b/Source/UnrealEnginePython/Private/UEPyIPlugin.cpp index 415724572..bee1b113a 100644 --- a/Source/UnrealEnginePython/Private/UEPyIPlugin.cpp +++ b/Source/UnrealEnginePython/Private/UEPyIPlugin.cpp @@ -245,12 +245,10 @@ static PyObject *py_ue_iplugin_get_requires_build_platform(ue_PyIPlugin *self, v { if (self->plugin->GetDescriptor().bRequiresBuildPlatform) { - Py_INCREF(Py_True); - return Py_True; + Py_RETURN_TRUE; } - Py_INCREF(Py_False); - return Py_False; + Py_RETURN_FALSE; } static PyGetSetDef ue_PyIPlugin_getseters[] = { diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 3a98b9750..ae9f906ee 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -1472,7 +1472,7 @@ static int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *k } else { - if (!py_ue_add_property(self, Py_BuildValue("(OsO)", (PyObject *)ue_get_python_wrapper(UObjectProperty::StaticClass()), class_key, value))) + if (!py_ue_add_property(self, Py_BuildValue("(OsO)", (PyObject *)ue_get_python_uobject(UObjectProperty::StaticClass()), class_key, value))) { unreal_engine_py_log_error(); return -1; @@ -1482,7 +1482,7 @@ static int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *k } else if (py_obj->ue_object->IsA()) { - if (!py_ue_add_property(self, Py_BuildValue("(OsO)", (PyObject *)ue_get_python_wrapper(UStructProperty::StaticClass()), class_key, value))) + if (!py_ue_add_property(self, Py_BuildValue("(OsO)", (PyObject *)ue_get_python_uobject(UStructProperty::StaticClass()), class_key, value))) { unreal_engine_py_log_error(); return -1; @@ -1515,7 +1515,7 @@ static int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *k else { - if (!py_ue_add_property(self, Py_BuildValue("([O]sO)", (PyObject *)ue_get_python_wrapper(UObjectProperty::StaticClass()), class_key, first_item))) + if (!py_ue_add_property(self, Py_BuildValue("([O]sO)", (PyObject *)ue_get_python_uobject(UObjectProperty::StaticClass()), class_key, first_item))) { unreal_engine_py_log_error(); return -1; @@ -1525,7 +1525,7 @@ static int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *k } else if (py_obj->ue_object->IsA()) { - if (!py_ue_add_property(self, Py_BuildValue("([O]sO)", (PyObject *)ue_get_python_wrapper(UStructProperty::StaticClass()), class_key, first_item))) + if (!py_ue_add_property(self, Py_BuildValue("([O]sO)", (PyObject *)ue_get_python_uobject(UStructProperty::StaticClass()), class_key, first_item))) { unreal_engine_py_log_error(); return -1; @@ -1560,12 +1560,12 @@ static int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *k } else { - first_item = (PyObject *)ue_get_python_wrapper(UObjectProperty::StaticClass()); + first_item = (PyObject *)ue_get_python_uobject(UObjectProperty::StaticClass()); } } else if (py_obj->ue_object->IsA()) { - first_item = (PyObject *)ue_get_python_wrapper(UStructProperty::StaticClass()); + first_item = (PyObject *)ue_get_python_uobject(UStructProperty::StaticClass()); } ue_PyUObject *py_obj2 = (ue_PyUObject *)py_value; @@ -1578,12 +1578,12 @@ static int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *k } else { - second_item = (PyObject *)ue_get_python_wrapper(UObjectProperty::StaticClass()); + second_item = (PyObject *)ue_get_python_uobject(UObjectProperty::StaticClass()); } } else if (py_obj2->ue_object->IsA()) { - second_item = (PyObject *)ue_get_python_wrapper(UStructProperty::StaticClass()); + second_item = (PyObject *)ue_get_python_uobject(UStructProperty::StaticClass()); } if (!py_ue_add_property(self, Py_BuildValue("([OO]sOO)", first_item, second_item, class_key, py_key, py_value))) @@ -1697,7 +1697,7 @@ static int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *k if (UPythonClass *u_py_class_casted = Cast(u_class)) { - ue_PyUObject *new_self = ue_get_python_wrapper(ObjectInitializer.GetObj()); + ue_PyUObject *new_self = ue_get_python_uobject(ObjectInitializer.GetObj()); if (!new_self) { unreal_engine_py_log_error(); @@ -1797,7 +1797,7 @@ static int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *k if (self->py_dict) { - ue_PyUObject *new_default_self = ue_get_python_wrapper(new_u_py_class->ClassDefaultObject); + ue_PyUObject *new_default_self = ue_get_python_uobject(new_u_py_class->ClassDefaultObject); if (!new_default_self) { @@ -1837,7 +1837,7 @@ static int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *k // add default uproperties values if (py_additional_properties) { - ue_PyUObject *new_default_self = ue_get_python_wrapper(new_u_py_class->ClassDefaultObject); + ue_PyUObject *new_default_self = ue_get_python_uobject(new_u_py_class->ClassDefaultObject); if (!new_default_self) { unreal_engine_py_log_error(); @@ -1863,7 +1863,7 @@ static int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *k // fake initializer FObjectInitializer initializer(new_u_py_class->ClassDefaultObject, nullptr, false, true); new_u_py_class->SetPyConstructor(py_init); - ue_PyUObject *new_default_self = ue_get_python_wrapper(new_u_py_class->ClassDefaultObject); + ue_PyUObject *new_default_self = ue_get_python_uobject(new_u_py_class->ClassDefaultObject); if (!new_default_self) { @@ -2122,16 +2122,15 @@ ue_PyUObject *ue_get_python_uobject(UObject *ue_obj) //Py_INCREF(ue_py_object); return ue_py_object; } - Py_INCREF(it->second); return it->second; } -ue_PyUObject *ue_get_python_uobject_noinc(UObject *ue_obj) +ue_PyUObject *ue_get_python_uobject_inc(UObject *ue_obj) { ue_PyUObject *ret = ue_get_python_uobject(ue_obj); if (ret) { - Py_DECREF(ret); + Py_INCREF(ret); } return ret; } @@ -2973,7 +2972,7 @@ void ue_bind_events_for_py_class_by_attribute(UObject *u_obj, PyObject *py_class { if (component->GetFName() == FName(*parts[0])) { - if (!ue_bind_pyevent(ue_get_python_wrapper(component), parts[1], item, true)) + if (!ue_bind_pyevent(ue_get_python_uobject(component), parts[1], item, true)) { unreal_engine_py_log_error(); } diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp index 844288c61..f481dd784 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp @@ -58,11 +58,7 @@ static PyObject *py_ue_uscriptstruct_fields(ue_PyUScriptStruct *self, PyObject * static PyObject *py_ue_uscriptstruct_get_struct(ue_PyUScriptStruct *self, PyObject * args) { - ue_PyUObject *ret = ue_get_python_wrapper(self->u_struct); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(self->u_struct); } static PyObject *py_ue_uscriptstruct_clone(ue_PyUScriptStruct *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UEPyUStructsImporter.cpp b/Source/UnrealEnginePython/Private/UEPyUStructsImporter.cpp index 7142eceee..3d396e572 100644 --- a/Source/UnrealEnginePython/Private/UEPyUStructsImporter.cpp +++ b/Source/UnrealEnginePython/Private/UEPyUStructsImporter.cpp @@ -10,11 +10,7 @@ static PyObject *ue_PyUStructsImporter_getattro(ue_PyUStructsImporter *self, PyO if (u_struct) { // swallow old exception PyErr_Clear(); - ue_PyUObject *u_ret = ue_get_python_wrapper(u_struct); - if (!u_ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(u_ret); - return (PyObject *)u_ret; + Py_RETURN_UOBJECT(u_struct); } } } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp index 260f2915f..e54c7ec00 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp @@ -159,7 +159,7 @@ PyObject *py_ue_actor_components(ue_PyUObject * self, PyObject * args) for (UActorComponent *component : actor->GetComponents()) { - ue_PyUObject *py_obj = ue_get_python_uobject_noinc(component); + ue_PyUObject *py_obj = ue_get_python_uobject(component); if (!py_obj) continue; PyList_Append(ret, (PyObject *)py_obj); @@ -658,7 +658,7 @@ PyObject *py_ue_get_actor_component_by_type(ue_PyUObject * self, PyObject * args if (u_class) { - py_obj = ue_get_python_uobject_noinc(u_class); + py_obj = ue_get_python_uobject(u_class); } } @@ -707,7 +707,7 @@ PyObject *py_ue_get_actor_components_by_type(ue_PyUObject * self, PyObject * arg if (u_class) { - py_obj = ue_get_python_uobject_noinc(u_class); + py_obj = ue_get_python_uobject(u_class); } } @@ -725,8 +725,7 @@ PyObject *py_ue_get_actor_components_by_type(ue_PyUObject * self, PyObject * arg for (UActorComponent *component : actor->GetComponentsByClass((UClass *)py_obj->ue_object)) { - // noinc as list will increase refcnt - ue_PyUObject *item = ue_get_python_uobject_noinc(component); + ue_PyUObject *item = ue_get_python_uobject(component); if (item) PyList_Append(components, (PyObject *)item); } @@ -872,7 +871,7 @@ PyObject *py_ue_get_overlapping_actors(ue_PyUObject * self, PyObject * args) for (AActor *overlapping_actor : overalpping_actors) { - ue_PyUObject *item = ue_get_python_uobject_noinc(overlapping_actor); + ue_PyUObject *item = ue_get_python_uobject(overlapping_actor); if (item) { PyList_Append(py_overlapping_actors, (PyObject *)item); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp index 0115058a6..215b0fb63 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp @@ -15,11 +15,7 @@ PyObject *py_ue_anim_get_skeleton(ue_PyUObject * self, PyObject * args) { Py_RETURN_NONE; } - ue_PyUObject *ret = ue_get_python_wrapper((UObject *)skeleton); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT((UObject *)skeleton); } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAttaching.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyAttaching.cpp index f73b22f47..4fd21b6b0 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAttaching.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAttaching.cpp @@ -2,12 +2,14 @@ -PyObject *py_ue_get_socket_location(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_socket_location(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); char *socket_name; - if (!PyArg_ParseTuple(args, "s:get_socket_location", &socket_name)) { + if (!PyArg_ParseTuple(args, "s:get_socket_location", &socket_name)) + { return NULL; } @@ -20,12 +22,14 @@ PyObject *py_ue_get_socket_location(ue_PyUObject *self, PyObject * args) { return py_ue_new_fvector(vec); } -PyObject *py_ue_get_socket_rotation(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_socket_rotation(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); char *socket_name; - if (!PyArg_ParseTuple(args, "s:get_socket_rotation", &socket_name)) { + if (!PyArg_ParseTuple(args, "s:get_socket_rotation", &socket_name)) + { return NULL; } @@ -38,12 +42,14 @@ PyObject *py_ue_get_socket_rotation(ue_PyUObject *self, PyObject * args) { return py_ue_new_frotator(rot); } -PyObject *py_ue_get_socket_transform(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_socket_transform(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); char *socket_name; - if (!PyArg_ParseTuple(args, "s:get_socket_transform", &socket_name)) { + if (!PyArg_ParseTuple(args, "s:get_socket_transform", &socket_name)) + { return NULL; } @@ -56,12 +62,14 @@ PyObject *py_ue_get_socket_transform(ue_PyUObject *self, PyObject * args) { return py_ue_new_ftransform(transform); } -PyObject *py_ue_get_socket_world_transform(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_socket_world_transform(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); char *socket_name; - if (!PyArg_ParseTuple(args, "s:get_socket_world_transform", &socket_name)) { + if (!PyArg_ParseTuple(args, "s:get_socket_world_transform", &socket_name)) + { return NULL; } @@ -74,12 +82,14 @@ PyObject *py_ue_get_socket_world_transform(ue_PyUObject *self, PyObject * args) return py_ue_new_ftransform(transform); } -PyObject *py_ue_get_socket_actor_transform(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_socket_actor_transform(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); char *socket_name; - if (!PyArg_ParseTuple(args, "s:get_socket_actor_transform", &socket_name)) { + if (!PyArg_ParseTuple(args, "s:get_socket_actor_transform", &socket_name)) + { return NULL; } @@ -92,11 +102,13 @@ PyObject *py_ue_get_socket_actor_transform(ue_PyUObject *self, PyObject * args) return py_ue_new_ftransform(transform); } -PyObject *py_ue_get_all_child_actors(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_get_all_child_actors(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); PyObject *py_include_descendants = NULL; - if (!PyArg_ParseTuple(args, "|O:get_all_child_actors", &py_include_descendants)) { + if (!PyArg_ParseTuple(args, "|O:get_all_child_actors", &py_include_descendants)) + { return NULL; } @@ -114,15 +126,17 @@ PyObject *py_ue_get_all_child_actors(ue_PyUObject * self, PyObject * args) { TArray children; actor->GetAllChildActors(children, include_descendants); - for (AActor *child : children) { - ue_PyUObject *item = ue_get_python_wrapper(child); + for (AActor *child : children) + { + ue_PyUObject *item = ue_get_python_uobject(child); if (item) PyList_Append(py_children, (PyObject *)item); } return py_children; } -PyObject *py_ue_get_attached_actors(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_get_attached_actors(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); @@ -135,15 +149,17 @@ PyObject *py_ue_get_attached_actors(ue_PyUObject * self, PyObject * args) { TArray children; actor->GetAttachedActors(children); - for (AActor *child : children) { - ue_PyUObject *item = ue_get_python_wrapper(child); + for (AActor *child : children) + { + ue_PyUObject *item = ue_get_python_uobject(child); if (item) PyList_Append(py_children, (PyObject *)item); } return py_children; } -PyObject *py_ue_attach_to_actor(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_attach_to_actor(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); @@ -153,7 +169,8 @@ PyObject *py_ue_attach_to_actor(ue_PyUObject * self, PyObject * args) { int rotation_rule = (int)EAttachmentRule::KeepWorld; int scale_rule = (int)EAttachmentRule::SnapToTarget; PyObject *py_weld = nullptr; - if (!PyArg_ParseTuple(args, "O|siiiO:attach_to_actor", &obj, &socket_name, &location_rule, &rotation_rule, &scale_rule, &py_weld)) { + if (!PyArg_ParseTuple(args, "O|siiiO:attach_to_actor", &obj, &socket_name, &location_rule, &rotation_rule, &scale_rule, &py_weld)) + { return NULL; } @@ -182,7 +199,8 @@ PyObject *py_ue_attach_to_actor(ue_PyUObject * self, PyObject * args) { } -PyObject *py_ue_attach_to_component(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_attach_to_component(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); @@ -192,7 +210,8 @@ PyObject *py_ue_attach_to_component(ue_PyUObject * self, PyObject * args) { int rotation_rule = (int)EAttachmentRule::KeepWorld; int scale_rule = (int)EAttachmentRule::SnapToTarget; PyObject *py_weld = nullptr; - if (!PyArg_ParseTuple(args, "O|siiiO:attach_to_component", &obj, &socket_name, &location_rule, &rotation_rule, &scale_rule, &py_weld)) { + if (!PyArg_ParseTuple(args, "O|siiiO:attach_to_component", &obj, &socket_name, &location_rule, &rotation_rule, &scale_rule, &py_weld)) + { return NULL; } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyController.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyController.cpp index 3f0c845fd..3dcd6e2a2 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyController.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyController.cpp @@ -35,11 +35,7 @@ PyObject *py_ue_controller_get_hud(ue_PyUObject * self, PyObject * args) if (!controller) return PyErr_Format(PyExc_Exception, "uobject is not an AController"); - ue_PyUObject *ret = ue_get_python_wrapper((UObject *)controller->GetHUD()); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT((UObject *)controller->GetHUD()); } PyObject *py_ue_controller_unposses(ue_PyUObject * self, PyObject * args) @@ -75,11 +71,7 @@ PyObject *py_ue_get_controlled_pawn(ue_PyUObject * self, PyObject * args) Py_RETURN_NONE; } - ue_PyUObject *ret = ue_get_python_wrapper(pawn); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(pawn); } PyObject *py_ue_controller_project_world_location_to_screen(ue_PyUObject * self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyLandscape.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyLandscape.cpp index ec76ddd59..900c1434a 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyLandscape.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyLandscape.cpp @@ -12,11 +12,7 @@ PyObject *py_ue_create_landscape_info(ue_PyUObject *self, PyObject * args) if (!landscape) return PyErr_Format(PyExc_Exception, "uobject is not a ULandscapeProxy"); - ue_PyUObject *ret = ue_get_python_wrapper(landscape->CreateLandscapeInfo()); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(landscape->CreateLandscapeInfo()); } PyObject *py_ue_get_landscape_info(ue_PyUObject *self, PyObject * args) @@ -32,11 +28,7 @@ PyObject *py_ue_get_landscape_info(ue_PyUObject *self, PyObject * args) if (!info) Py_RETURN_NONE; - ue_PyUObject *ret = ue_get_python_wrapper(info); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(info); } PyObject *py_ue_landscape_import(ue_PyUObject *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp index a2f90161f..3b23d0189 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp @@ -7,13 +7,15 @@ #include "Editor/UnrealEd/Classes/MaterialGraph/MaterialGraphSchema.h" #endif -PyObject *py_ue_set_material_scalar_parameter(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_set_material_scalar_parameter(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); char *scalarName = nullptr; float scalarValue = 0; - if (!PyArg_ParseTuple(args, "sf:set_material_scalar_parameter", &scalarName, &scalarValue)) { + if (!PyArg_ParseTuple(args, "sf:set_material_scalar_parameter", &scalarName, &scalarValue)) + { return NULL; } @@ -22,38 +24,43 @@ PyObject *py_ue_set_material_scalar_parameter(ue_PyUObject *self, PyObject * arg bool valid = false; #if WITH_EDITOR - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { UMaterialInstanceConstant *material_instance = (UMaterialInstanceConstant *)self->ue_object; material_instance->SetScalarParameterValueEditorOnly(parameterName, scalarValue); valid = true; } #endif - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { UMaterialInstanceDynamic *material_instance = (UMaterialInstanceDynamic *)self->ue_object; material_instance->SetScalarParameterValue(parameterName, scalarValue); valid = true; } - if (!valid) { + if (!valid) + { return PyErr_Format(PyExc_Exception, "uobject is not a MaterialInstance"); } - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } -PyObject *py_ue_get_material_scalar_parameter(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_material_scalar_parameter(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); char *scalarName = nullptr; - if (!PyArg_ParseTuple(args, "s:get_material_scalar_parameter", &scalarName)) { + if (!PyArg_ParseTuple(args, "s:get_material_scalar_parameter", &scalarName)) + { return NULL; } - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a UMaterialInstance"); } @@ -69,16 +76,19 @@ PyObject *py_ue_get_material_scalar_parameter(ue_PyUObject *self, PyObject * arg } -PyObject *py_ue_get_material_static_switch_parameter(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_material_static_switch_parameter(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); char *switchName = nullptr; - if (!PyArg_ParseTuple(args, "s:get_material_static_switch_parameter", &switchName)) { + if (!PyArg_ParseTuple(args, "s:get_material_static_switch_parameter", &switchName)) + { return NULL; } - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a UMaterialInstance"); } @@ -91,40 +101,45 @@ PyObject *py_ue_get_material_static_switch_parameter(ue_PyUObject *self, PyObjec FGuid guid; material_instance->GetStaticSwitchParameterValue(parameterName, value, guid); - if (value) { - Py_INCREF(Py_True); - return Py_True; + if (value) + { + Py_RETURN_TRUE; } - Py_INCREF(Py_False); - return Py_False; + Py_RETURN_FALSE; } -PyObject *py_ue_set_material_vector_parameter(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_set_material_vector_parameter(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); char *vectorName; PyObject *vectorValue = nullptr; - if (!PyArg_ParseTuple(args, "sO:set_material_vector_parameter", &vectorName, &vectorValue)) { + if (!PyArg_ParseTuple(args, "sO:set_material_vector_parameter", &vectorName, &vectorValue)) + { return NULL; } FLinearColor vectorParameter(0, 0, 0, 0); ue_PyFLinearColor *py_vector = py_ue_is_flinearcolor(vectorValue); - if (!py_vector) { + if (!py_vector) + { ue_PyFVector *py_true_vector = py_ue_is_fvector(vectorValue); - if (!py_true_vector) { + if (!py_true_vector) + { return PyErr_Format(PyExc_Exception, "argument must be an FLinearColor or FVector"); } - else { + else + { vectorParameter.R = py_true_vector->vec.X; vectorParameter.G = py_true_vector->vec.Y; vectorParameter.B = py_true_vector->vec.Z; vectorParameter.A = 1; } } - else { + else + { vectorParameter = py_vector->color; } @@ -133,37 +148,42 @@ PyObject *py_ue_set_material_vector_parameter(ue_PyUObject *self, PyObject * arg bool valid = false; #if WITH_EDITOR - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { UMaterialInstanceConstant *material_instance = (UMaterialInstanceConstant *)self->ue_object; material_instance->SetVectorParameterValueEditorOnly(parameterName, vectorParameter); valid = true; } #endif - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { UMaterialInstanceDynamic *material_instance = (UMaterialInstanceDynamic *)self->ue_object; material_instance->SetVectorParameterValue(parameterName, vectorParameter); valid = true; } - if (!valid) { + if (!valid) + { return PyErr_Format(PyExc_Exception, "uobject is not a MaterialInstance"); } - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } -PyObject *py_ue_get_material_vector_parameter(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_material_vector_parameter(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); char *scalarName = nullptr; - if (!PyArg_ParseTuple(args, "s:get_material_vector_parameter", &scalarName)) { + if (!PyArg_ParseTuple(args, "s:get_material_vector_parameter", &scalarName)) + { return NULL; } - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a UMaterialInstance"); } @@ -179,16 +199,19 @@ PyObject *py_ue_get_material_vector_parameter(ue_PyUObject *self, PyObject * arg } -PyObject *py_ue_set_material_texture_parameter(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_set_material_texture_parameter(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); char *textureName; PyObject *textureObject = nullptr; - if (!PyArg_ParseTuple(args, "sO:set_texture_parameter", &textureName, &textureObject)) { + if (!PyArg_ParseTuple(args, "sO:set_texture_parameter", &textureName, &textureObject)) + { return NULL; } - if (!ue_is_pyuobject(textureObject)) { + if (!ue_is_pyuobject(textureObject)) + { return PyErr_Format(PyExc_Exception, "argument is not a UObject"); } @@ -203,37 +226,42 @@ PyObject *py_ue_set_material_texture_parameter(ue_PyUObject *self, PyObject * ar bool valid = false; #if WITH_EDITOR - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { UMaterialInstanceConstant *material_instance = (UMaterialInstanceConstant *)self->ue_object; material_instance->SetTextureParameterValueEditorOnly(parameterName, ue_texture); valid = true; } #endif - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { UMaterialInstanceDynamic *material_instance = (UMaterialInstanceDynamic *)self->ue_object; material_instance->SetTextureParameterValue(parameterName, ue_texture); valid = true; } - if (!valid) { + if (!valid) + { return PyErr_Format(PyExc_Exception, "uobject is not a MaterialInstance"); } - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } -PyObject *py_ue_get_material_texture_parameter(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_material_texture_parameter(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); char *scalarName = nullptr; - if (!PyArg_ParseTuple(args, "s:get_material_texture_parameter", &scalarName)) { + if (!PyArg_ParseTuple(args, "s:get_material_texture_parameter", &scalarName)) + { return NULL; } - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a UMaterialInstance"); } @@ -243,25 +271,23 @@ PyObject *py_ue_get_material_texture_parameter(ue_PyUObject *self, PyObject * ar UTexture *texture = nullptr; - if (!material_instance->GetTextureParameterValue(parameterName, texture)) { - Py_INCREF(Py_None); - return Py_None; + if (!material_instance->GetTextureParameterValue(parameterName, texture)) + { + Py_RETURN_NONE; } - ue_PyUObject *ret = ue_get_python_wrapper(texture); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(texture); } -PyObject *py_ue_create_material_instance_dynamic(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_create_material_instance_dynamic(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); PyObject *py_material = nullptr; - if (!PyArg_ParseTuple(args, "O:create_material_instance_dynamic", &py_material)) { + if (!PyArg_ParseTuple(args, "O:create_material_instance_dynamic", &py_material)) + { return nullptr; } @@ -271,38 +297,38 @@ PyObject *py_ue_create_material_instance_dynamic(ue_PyUObject *self, PyObject * UMaterialInstanceDynamic *material_dynamic = UMaterialInstanceDynamic::Create(material_interface, self->ue_object); - ue_PyUObject *ret = ue_get_python_wrapper(material_dynamic); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; - + Py_RETURN_UOBJECT(material_dynamic); } -PyObject *py_ue_set_material(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_set_material(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); int index; PyObject *py_material = nullptr; - if (!PyArg_ParseTuple(args, "iO:set_material", &index, &py_material)) { + if (!PyArg_ParseTuple(args, "iO:set_material", &index, &py_material)) + { return NULL; } - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a UPrimitiveComponent"); } UPrimitiveComponent *component = (UPrimitiveComponent *)self->ue_object; - if (!ue_is_pyuobject(py_material)) { + if (!ue_is_pyuobject(py_material)) + { return PyErr_Format(PyExc_Exception, "argument is not a UObject"); } ue_PyUObject *py_obj = (ue_PyUObject *)py_material; - if (!py_obj->ue_object->IsA()) { + if (!py_obj->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a UMaterialInterface"); } @@ -310,29 +336,32 @@ PyObject *py_ue_set_material(ue_PyUObject *self, PyObject * args) { component->SetMaterial(index, material_interface); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } #if WITH_EDITOR -PyObject *py_ue_set_material_parent(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_set_material_parent(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); PyObject *py_material = nullptr; - if (!PyArg_ParseTuple(args, "O:set_parent", &py_material)) { + if (!PyArg_ParseTuple(args, "O:set_parent", &py_material)) + { return NULL; } - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a UMaterialInstanceConstant"); } - if (!ue_is_pyuobject(py_material)) { + if (!ue_is_pyuobject(py_material)) + { return PyErr_Format(PyExc_Exception, "argument is not a UObject"); } @@ -346,30 +375,33 @@ PyObject *py_ue_set_material_parent(ue_PyUObject *self, PyObject * args) { material_instance->SetParentEditorOnly(materialInterface); material_instance->PostEditChange(); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } -PyObject *py_ue_static_mesh_set_collision_for_lod(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_static_mesh_set_collision_for_lod(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); int lod_index; int material_index; PyObject *py_bool; - if (!PyArg_ParseTuple(args, "iiO:static_mesh_set_collision_for_lod", &lod_index, &material_index, &py_bool)) { + if (!PyArg_ParseTuple(args, "iiO:static_mesh_set_collision_for_lod", &lod_index, &material_index, &py_bool)) + { return NULL; } - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a StaticMesh"); } UStaticMesh *mesh = (UStaticMesh *)self->ue_object; bool enabled = false; - if (PyObject_IsTrue(py_bool)) { + if (PyObject_IsTrue(py_bool)) + { enabled = true; } @@ -383,25 +415,29 @@ PyObject *py_ue_static_mesh_set_collision_for_lod(ue_PyUObject *self, PyObject * return Py_None; } -PyObject *py_ue_static_mesh_set_shadow_for_lod(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_static_mesh_set_shadow_for_lod(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); int lod_index; int material_index; PyObject *py_bool; - if (!PyArg_ParseTuple(args, "iiO:static_mesh_set_shadow_for_lod", &lod_index, &material_index, &py_bool)) { + if (!PyArg_ParseTuple(args, "iiO:static_mesh_set_shadow_for_lod", &lod_index, &material_index, &py_bool)) + { return NULL; } - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a StaticMesh"); } UStaticMesh *mesh = (UStaticMesh *)self->ue_object; bool enabled = false; - if (PyObject_IsTrue(py_bool)) { + if (PyObject_IsTrue(py_bool)) + { enabled = true; } @@ -411,15 +447,16 @@ PyObject *py_ue_static_mesh_set_shadow_for_lod(ue_PyUObject *self, PyObject * ar mesh->MarkPackageDirty(); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } -PyObject *py_ue_get_material_graph(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_material_graph(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not a UMaterialInterface"); } @@ -431,11 +468,7 @@ PyObject *py_ue_get_material_graph(ue_PyUObject *self, PyObject * args) { if (!graph) return PyErr_Format(PyExc_Exception, "Unable to retrieve/allocate MaterialGraph"); - ue_PyUObject *ret = ue_get_python_wrapper(graph); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(graph); } #endif diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp index 5e3c79539..249d2dd4c 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp @@ -15,11 +15,7 @@ PyObject *py_ue_get_class(ue_PyUObject * self, PyObject * args) ue_py_check(self); - ue_PyUObject *ret = ue_get_python_wrapper(self->ue_object->GetClass()); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(self->ue_object->GetClass()); } PyObject *py_ue_class_generated_by(ue_PyUObject * self, PyObject * args) @@ -35,11 +31,7 @@ PyObject *py_ue_class_generated_by(ue_PyUObject * self, PyObject * args) if (!u_object) Py_RETURN_NONE; - ue_PyUObject *ret = ue_get_python_wrapper(u_object); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(u_object); } PyObject *py_ue_class_get_flags(ue_PyUObject * self, PyObject * args) @@ -181,11 +173,7 @@ PyObject *py_ue_get_super_class(ue_PyUObject * self, PyObject * args) u_class = self->ue_object->GetClass(); } - ue_PyUObject *ret = ue_get_python_wrapper(u_class->GetSuperClass()); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(u_class->GetSuperClass()); } PyObject *py_ue_get_outer(ue_PyUObject *self, PyObject * args) @@ -197,11 +185,7 @@ PyObject *py_ue_get_outer(ue_PyUObject *self, PyObject * args) if (!outer) Py_RETURN_NONE; - ue_PyUObject *ret = ue_get_python_wrapper(outer); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(outer); } PyObject *py_ue_get_outermost(ue_PyUObject *self, PyObject * args) @@ -213,11 +197,7 @@ PyObject *py_ue_get_outermost(ue_PyUObject *self, PyObject * args) if (!outermost) Py_RETURN_NONE; - ue_PyUObject *ret = ue_get_python_wrapper(outermost); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(outermost); } PyObject *py_ue_conditional_begin_destroy(ue_PyUObject *self, PyObject * args) @@ -538,12 +518,7 @@ PyObject *py_ue_find_function(ue_PyUObject * self, PyObject * args) return Py_None; } - ue_PyUObject *ret = ue_get_python_wrapper((UObject *)function); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; - + Py_RETURN_UOBJECT((UObject *)function); } #if ENGINE_MINOR_VERSION >= 15 @@ -629,12 +604,12 @@ PyObject *py_ue_get_display_name(ue_PyUObject *self, PyObject * args) ue_py_check(self); #if WITH_EDITOR - if (UClass *uclass = ue_py_check_type(self)) - { - return PyUnicode_FromString(TCHAR_TO_UTF8(*uclass->GetDisplayNameText().ToString())); - } + if (UClass *uclass = ue_py_check_type(self)) + { + return PyUnicode_FromString(TCHAR_TO_UTF8(*uclass->GetDisplayNameText().ToString())); + } - if (AActor *actor = ue_py_check_type(self)) + if (AActor *actor = ue_py_check_type(self)) { return PyUnicode_FromString(TCHAR_TO_UTF8(*actor->GetActorLabel())); } @@ -1091,11 +1066,7 @@ PyObject *py_ue_get_uproperty(ue_PyUObject *self, PyObject * args) if (!u_property) return PyErr_Format(PyExc_Exception, "unable to find property %s", property_name); - ue_PyUObject *ret = ue_get_python_wrapper(u_property); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(u_property); } @@ -1153,11 +1124,8 @@ PyObject *py_ue_get_property_class(ue_PyUObject *self, PyObject * args) if (!u_property) return PyErr_Format(PyExc_Exception, "unable to find property %s", property_name); - ue_PyUObject *ret = ue_get_python_wrapper(u_property->GetClass()); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(u_property->GetClass()); + } PyObject *py_ue_is_rooted(ue_PyUObject *self, PyObject * args) @@ -1596,11 +1564,7 @@ PyObject *py_ue_add_property(ue_PyUObject * self, PyObject * args) // TODO add default value - ue_PyUObject *ret = ue_get_python_wrapper(u_property); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(u_property); } PyObject *py_ue_as_dict(ue_PyUObject * self, PyObject * args) @@ -1652,11 +1616,7 @@ PyObject *py_ue_get_cdo(ue_PyUObject * self, PyObject * args) UClass *u_class = (UClass *)self->ue_object; - ue_PyUObject *ret = ue_get_python_wrapper(u_class->GetDefaultObject()); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(u_class->GetDefaultObject()); } @@ -1705,13 +1665,13 @@ PyObject *py_ue_save_package(ue_PyUObject * self, PyObject * args) return PyErr_Format(PyExc_Exception, "the object has no associated package, please specify a name"); } if (!has_package) - { - // unmark transient object - if (u_object->HasAnyFlags(RF_Transient)) - { - u_object->ClearFlags(RF_Transient); - u_object->SetFlags(RF_Public | RF_Standalone); - } + { + // unmark transient object + if (u_object->HasAnyFlags(RF_Transient)) + { + u_object->ClearFlags(RF_Transient); + u_object->SetFlags(RF_Public | RF_Standalone); + } } package = (UPackage *)StaticFindObject(nullptr, ANY_PACKAGE, UTF8_TO_TCHAR(name), true); // create a new package if it does not exist @@ -1754,20 +1714,16 @@ PyObject *py_ue_save_package(ue_PyUObject * self, PyObject * args) UE_LOG(LogPython, Warning, TEXT("no file mapped to UPackage %s, setting its FileName to %s"), *package->GetPathName(), *package->FileName.ToString()); } - // NOTE: FileName may not be a fully qualified filepath - if (FPackageName::IsValidLongPackageName(package->FileName.ToString())) - { - package->FileName = *FPackageName::LongPackageNameToFilename(package->GetPathName(), FPackageName::GetAssetPackageExtension()); - } + // NOTE: FileName may not be a fully qualified filepath + if (FPackageName::IsValidLongPackageName(package->FileName.ToString())) + { + package->FileName = *FPackageName::LongPackageNameToFilename(package->GetPathName(), FPackageName::GetAssetPackageExtension()); + } if (UPackage::SavePackage(package, u_object, RF_Public | RF_Standalone, *package->FileName.ToString())) { FAssetRegistryModule::AssetCreated(u_object); - ue_PyUObject *ret = ue_get_python_wrapper(u_object); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(u_object); } return PyErr_Format(PyExc_Exception, "unable to save package"); @@ -1874,12 +1830,7 @@ PyObject *py_ue_duplicate(ue_PyUObject * self, PyObject * args) if (!new_asset) return PyErr_Format(PyExc_Exception, "unable to duplicate object"); - ue_PyUObject *ret = ue_get_python_wrapper(new_asset); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; - + Py_RETURN_UOBJECT(new_asset); } #endif diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyPawn.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyPawn.cpp index 5b817a2fa..9a2f8124f 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyPawn.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyPawn.cpp @@ -13,11 +13,7 @@ PyObject *py_ue_pawn_get_controller(ue_PyUObject * self, PyObject * args) APawn *pawn = (APawn *)self->ue_object; - ue_PyUObject *ret = ue_get_python_wrapper(pawn->GetController()); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(pawn->GetController()); } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyPlayer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyPlayer.cpp index 0852250fe..745c1f426 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyPlayer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyPlayer.cpp @@ -19,11 +19,7 @@ PyObject *py_ue_get_player_controller(ue_PyUObject *self, PyObject * args) if (!controller) return PyErr_Format(PyExc_Exception, "unable to retrieve controller %d", controller_id); - ue_PyUObject *ret = ue_get_python_wrapper(controller); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(controller); } PyObject *py_ue_get_player_camera_manager(ue_PyUObject *self, PyObject * args) @@ -45,11 +41,7 @@ PyObject *py_ue_get_player_camera_manager(ue_PyUObject *self, PyObject * args) if (!camera) return PyErr_Format(PyExc_Exception, "unable to retrieve camera manager for controller %d", controller_id); - ue_PyUObject *ret = ue_get_python_wrapper(camera); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(camera); } PyObject *py_ue_get_player_hud(ue_PyUObject *self, PyObject * args) @@ -71,11 +63,7 @@ PyObject *py_ue_get_player_hud(ue_PyUObject *self, PyObject * args) if (!controller) return PyErr_Format(PyExc_Exception, "unable to retrieve controller %d", controller_id); - ue_PyUObject *ret = ue_get_python_wrapper(controller->GetHUD()); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(controller->GetHUD()); } PyObject *py_ue_set_player_hud(ue_PyUObject *self, PyObject * args) @@ -130,11 +118,7 @@ PyObject *py_ue_get_player_pawn(ue_PyUObject *self, PyObject * args) if (!controller->GetPawn()) Py_RETURN_NONE; - ue_PyUObject *ret = ue_get_python_wrapper(controller->GetPawn()); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(controller->GetPawn()); } PyObject *py_ue_create_player(ue_PyUObject *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index 01564d7a3..d8260d8fb 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -23,12 +23,14 @@ #endif #if WITH_EDITOR -PyObject *py_ue_sequencer_changed(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_changed(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); PyObject *py_bool = nullptr; - if (!PyArg_ParseTuple(args, "|O:sequencer_changed", &py_bool)) { + if (!PyArg_ParseTuple(args, "|O:sequencer_changed", &py_bool)) + { return NULL; } @@ -39,13 +41,15 @@ PyObject *py_ue_sequencer_changed(ue_PyUObject *self, PyObject * args) { ULevelSequence *seq = (ULevelSequence *)self->ue_object; - if (py_bool && PyObject_IsTrue(py_bool)) { + if (py_bool && PyObject_IsTrue(py_bool)) + { // try to open the editor for the asset FAssetEditorManager::Get().OpenEditorForAsset(seq); } IAssetEditorInstance *editor = FAssetEditorManager::Get().FindEditorForAsset(seq, true); - if (editor) { + if (editor) + { FLevelSequenceEditorToolkit *toolkit = (FLevelSequenceEditorToolkit *)editor; ISequencer *sequencer = toolkit->GetSequencer().Get(); #if ENGINE_MINOR_VERSION < 13 @@ -61,12 +65,14 @@ PyObject *py_ue_sequencer_changed(ue_PyUObject *self, PyObject * args) { } #endif -PyObject *py_ue_sequencer_possessable_tracks(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_possessable_tracks(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); char *guid; - if (!PyArg_ParseTuple(args, "s:sequencer_possessable_tracks", &guid)) { + if (!PyArg_ParseTuple(args, "s:sequencer_possessable_tracks", &guid)) + { return NULL; } @@ -74,7 +80,8 @@ PyObject *py_ue_sequencer_possessable_tracks(ue_PyUObject *self, PyObject * args return PyErr_Format(PyExc_Exception, "uobject is not a LevelSequence"); FGuid f_guid; - if (!FGuid::Parse(FString(guid), f_guid)) { + if (!FGuid::Parse(FString(guid), f_guid)) + { return PyErr_Format(PyExc_Exception, "invalid GUID"); } @@ -88,12 +95,15 @@ PyObject *py_ue_sequencer_possessable_tracks(ue_PyUObject *self, PyObject * args return PyErr_Format(PyExc_Exception, "GUID not found"); TArray bindings = scene->GetBindings(); - for (FMovieSceneBinding binding : bindings) { + for (FMovieSceneBinding binding : bindings) + { if (binding.GetObjectGuid() != f_guid) continue; - for (UMovieSceneTrack *track : binding.GetTracks()) { - ue_PyUObject *ret = ue_get_python_wrapper((UObject *)track); - if (!ret) { + for (UMovieSceneTrack *track : binding.GetTracks()) + { + ue_PyUObject *ret = ue_get_python_uobject((UObject *)track); + if (!ret) + { Py_DECREF(py_tracks); return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); } @@ -105,12 +115,14 @@ PyObject *py_ue_sequencer_possessable_tracks(ue_PyUObject *self, PyObject * args return py_tracks; } -PyObject *py_ue_sequencer_find_possessable(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_find_possessable(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); char *guid; - if (!PyArg_ParseTuple(args, "s:sequencer_find_possessable", &guid)) { + if (!PyArg_ParseTuple(args, "s:sequencer_find_possessable", &guid)) + { return NULL; } @@ -118,7 +130,8 @@ PyObject *py_ue_sequencer_find_possessable(ue_PyUObject *self, PyObject * args) return PyErr_Format(PyExc_Exception, "uobject is not a LevelSequence"); FGuid f_guid; - if (!FGuid::Parse(FString(guid), f_guid)) { + if (!FGuid::Parse(FString(guid), f_guid)) + { return PyErr_Format(PyExc_Exception, "invalid GUID"); } @@ -130,27 +143,25 @@ PyObject *py_ue_sequencer_find_possessable(ue_PyUObject *self, PyObject * args) UObject *u_obj = nullptr; TArray> u_objects; seq->LocateBoundObjects(f_guid, nullptr, u_objects); - if (u_objects.Num() > 0) { + if (u_objects.Num() > 0) + { u_obj = u_objects[0]; } #endif if (!u_obj) return PyErr_Format(PyExc_Exception, "unable to find uobject with GUID \"%s\"", guid); - PyObject *ret = (PyObject *)ue_get_python_wrapper(u_obj); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - - Py_INCREF(ret); - return ret; + Py_RETURN_UOBJECT(u_obj); } -PyObject *py_ue_sequencer_find_spawnable(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_find_spawnable(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); char *guid; - if (!PyArg_ParseTuple(args, "s:sequencer_find_spawnable", &guid)) { + if (!PyArg_ParseTuple(args, "s:sequencer_find_spawnable", &guid)) + { return NULL; } @@ -158,7 +169,8 @@ PyObject *py_ue_sequencer_find_spawnable(ue_PyUObject *self, PyObject * args) { return PyErr_Format(PyExc_Exception, "uobject is not a LevelSequence"); FGuid f_guid; - if (!FGuid::Parse(FString(guid), f_guid)) { + if (!FGuid::Parse(FString(guid), f_guid)) + { return PyErr_Format(PyExc_Exception, "invalid GUID"); } @@ -171,12 +183,14 @@ PyObject *py_ue_sequencer_find_spawnable(ue_PyUObject *self, PyObject * args) { } #if WITH_EDITOR -PyObject *py_ue_sequencer_add_possessable(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_add_possessable(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); PyObject *py_obj; - if (!PyArg_ParseTuple(args, "O:sequencer_add_possessable", &py_obj)) { + if (!PyArg_ParseTuple(args, "O:sequencer_add_possessable", &py_obj)) + { return NULL; } @@ -195,7 +209,8 @@ PyObject *py_ue_sequencer_add_possessable(ue_PyUObject *self, PyObject * args) { name = actor->GetActorLabel(); FGuid new_guid = seq->MovieScene->AddPossessable(name, py_ue_obj->ue_object->GetClass()); - if (!new_guid.IsValid()) { + if (!new_guid.IsValid()) + { return PyErr_Format(PyExc_Exception, "unable to possess object"); } @@ -204,12 +219,14 @@ PyObject *py_ue_sequencer_add_possessable(ue_PyUObject *self, PyObject * args) { return PyUnicode_FromString(TCHAR_TO_UTF8(*new_guid.ToString())); } -PyObject *py_ue_sequencer_add_actor(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_add_actor(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); PyObject *py_obj; - if (!PyArg_ParseTuple(args, "O:sequencer_add_actor", &py_obj)) { + if (!PyArg_ParseTuple(args, "O:sequencer_add_actor", &py_obj)) + { return NULL; } @@ -232,12 +249,14 @@ PyObject *py_ue_sequencer_add_actor(ue_PyUObject *self, PyObject * args) { FAssetEditorManager::Get().OpenEditorForAsset(seq); IAssetEditorInstance *editor = FAssetEditorManager::Get().FindEditorForAsset(seq, true); - if (editor) { + if (editor) + { FLevelSequenceEditorToolkit *toolkit = (FLevelSequenceEditorToolkit *)editor; ISequencer *sequencer = toolkit->GetSequencer().Get(); sequencer->AddActors(actors); } - else { + else + { return PyErr_Format(PyExc_Exception, "unable to access sequencer"); } @@ -248,63 +267,71 @@ PyObject *py_ue_sequencer_add_actor(ue_PyUObject *self, PyObject * args) { #else FGuid new_guid = seq->FindPossessableObjectId(u_obj, u_obj.GetWorld()); #endif - if (!new_guid.IsValid()) { + if (!new_guid.IsValid()) + { return PyErr_Format(PyExc_Exception, "unable to find guid"); } return PyUnicode_FromString(TCHAR_TO_UTF8(*new_guid.ToString())); } -PyObject *py_ue_sequencer_add_actor_component(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_add_actor_component(ue_PyUObject *self, PyObject * args) +{ - ue_py_check(self); + ue_py_check(self); - PyObject *py_obj; - if (!PyArg_ParseTuple(args, "O:sequencer_add_actor_component", &py_obj)) { - return NULL; - } + PyObject *py_obj; + if (!PyArg_ParseTuple(args, "O:sequencer_add_actor_component", &py_obj)) + { + return NULL; + } - if (!self->ue_object->IsA()) - return PyErr_Format(PyExc_Exception, "uobject is not a LevelSequence"); + if (!self->ue_object->IsA()) + return PyErr_Format(PyExc_Exception, "uobject is not a LevelSequence"); - ue_PyUObject *py_ue_obj = ue_is_pyuobject(py_obj); - if (!py_ue_obj) - return PyErr_Format(PyExc_Exception, "argument is not a uobject"); + ue_PyUObject *py_ue_obj = ue_is_pyuobject(py_obj); + if (!py_ue_obj) + return PyErr_Format(PyExc_Exception, "argument is not a uobject"); - if (!py_ue_obj->ue_object->IsA()) - return PyErr_Format(PyExc_Exception, "argument is not an actorcomponent"); + if (!py_ue_obj->ue_object->IsA()) + return PyErr_Format(PyExc_Exception, "argument is not an actorcomponent"); - ULevelSequence *seq = (ULevelSequence *)self->ue_object; + ULevelSequence *seq = (ULevelSequence *)self->ue_object; - UActorComponent* actorComponent = (UActorComponent *)py_ue_obj->ue_object; + UActorComponent* actorComponent = (UActorComponent *)py_ue_obj->ue_object; - // try to open the editor for the asset - FAssetEditorManager::Get().OpenEditorForAsset(seq); + // try to open the editor for the asset + FAssetEditorManager::Get().OpenEditorForAsset(seq); - IAssetEditorInstance *editor = FAssetEditorManager::Get().FindEditorForAsset(seq, true); - FGuid new_guid; - if (editor) { - FLevelSequenceEditorToolkit *toolkit = (FLevelSequenceEditorToolkit *)editor; - ISequencer *sequencer = toolkit->GetSequencer().Get(); - new_guid = sequencer->GetHandleToObject(actorComponent); - } - else { - return PyErr_Format(PyExc_Exception, "unable to access sequencer"); - } + IAssetEditorInstance *editor = FAssetEditorManager::Get().FindEditorForAsset(seq, true); + FGuid new_guid; + if (editor) + { + FLevelSequenceEditorToolkit *toolkit = (FLevelSequenceEditorToolkit *)editor; + ISequencer *sequencer = toolkit->GetSequencer().Get(); + new_guid = sequencer->GetHandleToObject(actorComponent); + } + else + { + return PyErr_Format(PyExc_Exception, "unable to access sequencer"); + } - if (!new_guid.IsValid()) { - return PyErr_Format(PyExc_Exception, "unable to find guid"); - } + if (!new_guid.IsValid()) + { + return PyErr_Format(PyExc_Exception, "unable to find guid"); + } - return PyUnicode_FromString(TCHAR_TO_UTF8(*new_guid.ToString())); + return PyUnicode_FromString(TCHAR_TO_UTF8(*new_guid.ToString())); } -PyObject *py_ue_sequencer_make_new_spawnable(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_make_new_spawnable(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); PyObject *py_obj; - if (!PyArg_ParseTuple(args, "O:sequencer_make_new_spawnable", &py_obj)) { + if (!PyArg_ParseTuple(args, "O:sequencer_make_new_spawnable", &py_obj)) + { return NULL; } @@ -326,7 +353,8 @@ PyObject *py_ue_sequencer_make_new_spawnable(ue_PyUObject *self, PyObject * args FAssetEditorManager::Get().OpenEditorForAsset(seq); IAssetEditorInstance *editor = FAssetEditorManager::Get().FindEditorForAsset(seq, true); - if (!editor) { + if (!editor) + { return PyErr_Format(PyExc_Exception, "unable to access sequencer"); } @@ -338,7 +366,8 @@ PyObject *py_ue_sequencer_make_new_spawnable(ue_PyUObject *self, PyObject * args } #endif -PyObject *py_ue_sequencer_master_tracks(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_master_tracks(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -352,9 +381,11 @@ PyObject *py_ue_sequencer_master_tracks(ue_PyUObject *self, PyObject * args) { TArray tracks = scene->GetMasterTracks(); - for (UMovieSceneTrack *track : tracks) { + for (UMovieSceneTrack *track : tracks) + { ue_PyUObject *ret = ue_get_python_wrapper((UObject *)track); - if (!ret) { + if (!ret) + { Py_DECREF(py_tracks); return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); } @@ -364,7 +395,8 @@ PyObject *py_ue_sequencer_master_tracks(ue_PyUObject *self, PyObject * args) { return py_tracks; } -PyObject *py_ue_sequencer_possessables(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_possessables(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -375,7 +407,8 @@ PyObject *py_ue_sequencer_possessables(ue_PyUObject *self, PyObject * args) { UMovieScene *scene = seq->GetMovieScene(); PyObject *py_possessables = PyList_New(0); - for (int32 i = 0; i < scene->GetPossessableCount(); i++) { + for (int32 i = 0; i < scene->GetPossessableCount(); i++) + { FMovieScenePossessable possessable = scene->GetPossessable(i); PyObject *py_possessable = py_ue_new_uscriptstruct(possessable.StaticStruct(), (uint8 *)&possessable); PyList_Append(py_possessables, py_possessable); @@ -384,7 +417,8 @@ PyObject *py_ue_sequencer_possessables(ue_PyUObject *self, PyObject * args) { return py_possessables; } -PyObject *py_ue_sequencer_possessables_guid(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_possessables_guid(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -395,7 +429,8 @@ PyObject *py_ue_sequencer_possessables_guid(ue_PyUObject *self, PyObject * args) UMovieScene *scene = seq->GetMovieScene(); PyObject *py_possessables = PyList_New(0); - for (int32 i = 0; i < scene->GetPossessableCount(); i++) { + for (int32 i = 0; i < scene->GetPossessableCount(); i++) + { FMovieScenePossessable possessable = scene->GetPossessable(i); PyObject *py_possessable = PyUnicode_FromString(TCHAR_TO_UTF8(*possessable.GetGuid().ToString())); PyList_Append(py_possessables, py_possessable); @@ -405,7 +440,8 @@ PyObject *py_ue_sequencer_possessables_guid(ue_PyUObject *self, PyObject * args) } #if WITH_EDITOR -PyObject *py_ue_sequencer_folders(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_folders(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -413,19 +449,23 @@ PyObject *py_ue_sequencer_folders(ue_PyUObject *self, PyObject * args) { return PyErr_Format(PyExc_Exception, "uobject is not a LevelSequence"); PyObject *py_obj = nullptr; - if (!PyArg_ParseTuple(args, "|O:sequencer_folders", &py_obj)) { + if (!PyArg_ParseTuple(args, "|O:sequencer_folders", &py_obj)) + { return NULL; } UMovieSceneFolder *parent_folder = nullptr; - if (py_obj) { + if (py_obj) + { ue_PyUObject *ue_py_obj = ue_is_pyuobject(py_obj); - if (!ue_py_obj) { + if (!ue_py_obj) + { return PyErr_Format(PyExc_Exception, "argument is not a UObject"); } parent_folder = Cast(ue_py_obj->ue_object); - if (!parent_folder) { + if (!parent_folder) + { return PyErr_Format(PyExc_Exception, "argument is not a UMovieSceneFolder"); } } @@ -438,13 +478,16 @@ PyObject *py_ue_sequencer_folders(ue_PyUObject *self, PyObject * args) { TArray folders; if (!parent_folder) folders = scene->GetRootFolders(); - else { + else + { folders = parent_folder->GetChildFolders(); } - for (UMovieSceneFolder *folder : folders) { + for (UMovieSceneFolder *folder : folders) + { ue_PyUObject *ret = ue_get_python_wrapper((UObject *)folder); - if (!ret) { + if (!ret) + { Py_DECREF(py_folders); return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); } @@ -454,7 +497,8 @@ PyObject *py_ue_sequencer_folders(ue_PyUObject *self, PyObject * args) { return py_folders; } -PyObject *py_ue_sequencer_create_folder(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_create_folder(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -463,19 +507,23 @@ PyObject *py_ue_sequencer_create_folder(ue_PyUObject *self, PyObject * args) { PyObject *py_obj = nullptr; char *name; - if (!PyArg_ParseTuple(args, "s|O:sequencer_create_folder", &name, &py_obj)) { + if (!PyArg_ParseTuple(args, "s|O:sequencer_create_folder", &name, &py_obj)) + { return NULL; } UMovieSceneFolder *parent_folder = nullptr; - if (py_obj) { + if (py_obj) + { ue_PyUObject *ue_py_obj = ue_is_pyuobject(py_obj); - if (!ue_py_obj) { + if (!ue_py_obj) + { return PyErr_Format(PyExc_Exception, "argument is not a UObject"); } parent_folder = Cast(ue_py_obj->ue_object); - if (!parent_folder) { + if (!parent_folder) + { return PyErr_Format(PyExc_Exception, "argument is not a UMovieSceneFolder"); } } @@ -486,24 +534,23 @@ PyObject *py_ue_sequencer_create_folder(ue_PyUObject *self, PyObject * args) { UMovieSceneFolder *new_folder = NewObject(scene, NAME_None, RF_Transactional); new_folder->SetFolderName(FName(name)); - if (parent_folder) { + if (parent_folder) + { parent_folder->Modify(); parent_folder->AddChildFolder(new_folder); } - else { + else + { scene->Modify(); scene->GetRootFolders().Add(new_folder); } - PyObject *ret = (PyObject *)ue_get_python_wrapper(new_folder); - if (!ret) { - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - } - return ret; + Py_RETURN_UOBJECT(new_folder); } #endif -PyObject *py_ue_sequencer_sections(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_sections(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -517,9 +564,11 @@ PyObject *py_ue_sequencer_sections(ue_PyUObject *self, PyObject * args) { TArray sections = scene->GetAllSections(); - for (UMovieSceneSection *section : sections) { - ue_PyUObject *ret = ue_get_python_wrapper((UObject *)section); - if (!ret) { + for (UMovieSceneSection *section : sections) + { + ue_PyUObject *ret = ue_get_python_uobject((UObject *)section); + if (!ret) + { Py_DECREF(py_sections); return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); } @@ -529,7 +578,8 @@ PyObject *py_ue_sequencer_sections(ue_PyUObject *self, PyObject * args) { return py_sections; } -PyObject *py_ue_sequencer_track_sections(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_track_sections(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -542,9 +592,11 @@ PyObject *py_ue_sequencer_track_sections(ue_PyUObject *self, PyObject * args) { TArray sections = track->GetAllSections(); - for (UMovieSceneSection *section : sections) { - ue_PyUObject *ret = ue_get_python_wrapper((UObject *)section); - if (!ret) { + for (UMovieSceneSection *section : sections) + { + ue_PyUObject *ret = ue_get_python_uobject((UObject *)section); + if (!ret) + { Py_DECREF(py_sections); return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); } @@ -555,7 +607,8 @@ PyObject *py_ue_sequencer_track_sections(ue_PyUObject *self, PyObject * args) { } #if WITH_EDITOR -PyObject *py_ue_sequencer_track_add_section(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_track_add_section(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -568,21 +621,18 @@ PyObject *py_ue_sequencer_track_add_section(ue_PyUObject *self, PyObject * args) track->AddSection(*new_section); - PyObject *ret = (PyObject *)ue_get_python_wrapper(new_section); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - - Py_INCREF(ret); - return ret; + Py_RETURN_UOBJECT(new_section); } #endif -PyObject *py_ue_sequencer_add_master_track(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_add_master_track(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); PyObject *obj; - if (!PyArg_ParseTuple(args, "O:sequencer_add_master_track", &obj)) { + if (!PyArg_ParseTuple(args, "O:sequencer_add_master_track", &obj)) + { return NULL; } @@ -608,23 +658,20 @@ PyObject *py_ue_sequencer_add_master_track(ue_PyUObject *self, PyObject * args) if (!track) return PyErr_Format(PyExc_Exception, "unable to create new master track"); - PyObject *ret = (PyObject *)ue_get_python_wrapper(track); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - - Py_INCREF(ret); - return ret; + Py_RETURN_UOBJECT(track); } #if WITH_EDITOR -PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); float time; PyObject *py_value; int interpolation = 0; - if (!PyArg_ParseTuple(args, "fO|i:sequencer_section_add_key", &time, &py_value, &interpolation)) { + if (!PyArg_ParseTuple(args, "fO|i:sequencer_section_add_key", &time, &py_value, &interpolation)) + { return NULL; } @@ -633,30 +680,34 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) { UMovieSceneSection *section = (UMovieSceneSection *)self->ue_object; - if (auto section_float = Cast(section)) { - if (PyNumber_Check(py_value)) { + if (auto section_float = Cast(section)) + { + if (PyNumber_Check(py_value)) + { PyObject *f_value = PyNumber_Float(py_value); float value = PyFloat_AsDouble(f_value); Py_DECREF(f_value); section_float->AddKey(time, value, (EMovieSceneKeyInterpolation)interpolation); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } } - else if (auto section_bool = Cast(section)) { - if (PyBool_Check(py_value)) { + else if (auto section_bool = Cast(section)) + { + if (PyBool_Check(py_value)) + { bool value = false; if (PyObject_IsTrue(py_value)) value = true; section_bool->AddKey(time, value, (EMovieSceneKeyInterpolation)interpolation); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } } - else if (auto section_transform = Cast(section)) { - if (ue_PyFTransform *py_transform = py_ue_is_ftransform(py_value)) { + else if (auto section_transform = Cast(section)) + { + if (ue_PyFTransform *py_transform = py_ue_is_ftransform(py_value)) + { bool unwind = false; FTransform transform = py_transform->transform; @@ -682,13 +733,14 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) { section_transform->AddKey(time, sy, (EMovieSceneKeyInterpolation)interpolation); section_transform->AddKey(time, sz, (EMovieSceneKeyInterpolation)interpolation); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } } - else if (auto section_vector = Cast(section)) { - if (ue_PyFVector *py_vector = py_ue_is_fvector(py_value)) { + else if (auto section_vector = Cast(section)) + { + if (ue_PyFVector *py_vector = py_ue_is_fvector(py_value)) + { FVector vec = py_vector->vec; FVectorKey vx = FVectorKey(EKeyVectorChannel::X, vec.X); FVectorKey vy = FVectorKey(EKeyVectorChannel::Y, vec.Y); @@ -698,15 +750,15 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) { section_vector->AddKey(time, vy, (EMovieSceneKeyInterpolation)interpolation); section_vector->AddKey(time, vz, (EMovieSceneKeyInterpolation)interpolation); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } } return PyErr_Format(PyExc_Exception, "unsupported section type: %s", TCHAR_TO_UTF8(*section->GetClass()->GetName())); } -PyObject *py_ue_sequencer_add_camera_cut_track(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_add_camera_cut_track(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -718,46 +770,46 @@ PyObject *py_ue_sequencer_add_camera_cut_track(ue_PyUObject *self, PyObject * ar UMovieSceneTrack *track = scene->AddCameraCutTrack(UMovieSceneCameraCutTrack::StaticClass()); - PyObject *ret = (PyObject *)ue_get_python_wrapper(track); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - - Py_INCREF(ret); - return ret; + Py_RETURN_UOBJECT(track); } -PyObject *py_ue_sequencer_remove_possessable(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_remove_possessable(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); char *guid; - if (!PyArg_ParseTuple(args, "s:sequencer_remove_possessable", &guid)) { + if (!PyArg_ParseTuple(args, "s:sequencer_remove_possessable", &guid)) + { return nullptr; } - + ULevelSequence *seq = ue_py_check_type(self); if (!seq) return PyErr_Format(PyExc_Exception, "uobject is not a LevelSequence"); UMovieScene *scene = seq->GetMovieScene(); FGuid f_guid; - if (!FGuid::Parse(FString(guid), f_guid)) { + if (!FGuid::Parse(FString(guid), f_guid)) + { return PyErr_Format(PyExc_Exception, "invalid guid"); } - + if (scene->RemovePossessable(f_guid)) Py_RETURN_TRUE; Py_RETURN_FALSE; } -PyObject *py_ue_sequencer_remove_spawnable(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_remove_spawnable(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); char *guid; - if (!PyArg_ParseTuple(args, "s:sequencer_remove_spawnable", &guid)) { + if (!PyArg_ParseTuple(args, "s:sequencer_remove_spawnable", &guid)) + { return nullptr; } @@ -767,7 +819,8 @@ PyObject *py_ue_sequencer_remove_spawnable(ue_PyUObject *self, PyObject * args) UMovieScene *scene = seq->GetMovieScene(); FGuid f_guid; - if (!FGuid::Parse(FString(guid), f_guid)) { + if (!FGuid::Parse(FString(guid), f_guid)) + { return PyErr_Format(PyExc_Exception, "invalid guid"); } @@ -777,7 +830,8 @@ PyObject *py_ue_sequencer_remove_spawnable(ue_PyUObject *self, PyObject * args) Py_RETURN_FALSE; } -PyObject *py_ue_sequencer_remove_camera_cut_track(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_remove_camera_cut_track(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -791,12 +845,14 @@ PyObject *py_ue_sequencer_remove_camera_cut_track(ue_PyUObject *self, PyObject * Py_RETURN_NONE; } -PyObject *py_ue_sequencer_remove_master_track(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_remove_master_track(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); PyObject *py_track; - if (!PyArg_ParseTuple(args, "O:sequencer_remove_master_track", &py_track)) { + if (!PyArg_ParseTuple(args, "O:sequencer_remove_master_track", &py_track)) + { return nullptr; } @@ -816,12 +872,14 @@ PyObject *py_ue_sequencer_remove_master_track(ue_PyUObject *self, PyObject * arg Py_RETURN_FALSE; } -PyObject *py_ue_sequencer_remove_track(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_remove_track(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); PyObject *py_track; - if (!PyArg_ParseTuple(args, "O:sequencer_remove_track", &py_track)) { + if (!PyArg_ParseTuple(args, "O:sequencer_remove_track", &py_track)) + { return nullptr; } @@ -843,13 +901,15 @@ PyObject *py_ue_sequencer_remove_track(ue_PyUObject *self, PyObject * args) { #endif -PyObject *py_ue_sequencer_add_track(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_add_track(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); PyObject *obj; char *guid; - if (!PyArg_ParseTuple(args, "Os:sequencer_add_track", &obj, &guid)) { + if (!PyArg_ParseTuple(args, "Os:sequencer_add_track", &obj, &guid)) + { return NULL; } @@ -872,49 +932,50 @@ PyObject *py_ue_sequencer_add_track(ue_PyUObject *self, PyObject * args) { return PyErr_Format(PyExc_Exception, "uobject is not a UMovieSceneTrack class"); FGuid f_guid; - if (!FGuid::Parse(FString(guid), f_guid)) { + if (!FGuid::Parse(FString(guid), f_guid)) + { return PyErr_Format(PyExc_Exception, "invalid guid"); } UMovieSceneTrack *track = scene->AddTrack(u_class, f_guid); if (!track) return PyErr_Format(PyExc_Exception, "unable to create new track"); - PyObject *ret = (PyObject *)ue_get_python_wrapper(track); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - - Py_INCREF(ret); - return ret; + Py_RETURN_UOBJECT(track); } #if WITH_EDITOR // smart functions allowing the set/get of display names to various sequencer objects -PyObject *py_ue_sequencer_set_display_name(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_set_display_name(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); char *name; - if (!PyArg_ParseTuple(args, "s:sequencer_set_display_name", &name)) { + if (!PyArg_ParseTuple(args, "s:sequencer_set_display_name", &name)) + { return NULL; } - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { UMovieSceneNameableTrack *track = (UMovieSceneNameableTrack *)self->ue_object; track->SetDisplayName(FText::FromString(UTF8_TO_TCHAR(name))); } - else { + else + { return PyErr_Format(PyExc_Exception, "the uobject does not expose the SetDisplayName() method"); } - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } -PyObject *py_ue_sequencer_get_display_name(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sequencer_get_display_name(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { UMovieSceneNameableTrack *track = (UMovieSceneNameableTrack *)self->ue_object; FText name = track->GetDefaultDisplayName(); return PyUnicode_FromString(TCHAR_TO_UTF8(*name.ToString())); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyTransform.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyTransform.cpp index 71c0d88e1..d6f2041da 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyTransform.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyTransform.cpp @@ -1,25 +1,30 @@ #include "UnrealEnginePythonPrivatePCH.h" -static bool check_vector_args(PyObject *args, FVector &vec, bool &sweep, bool &teleport_physics) { +static bool check_vector_args(PyObject *args, FVector &vec, bool &sweep, bool &teleport_physics) +{ PyObject *py_vec = nullptr; float x = 0, y = 0, z = 0; PyObject *py_sweep = nullptr; PyObject *py_teleport_physics = nullptr; - if (!PyArg_ParseTuple(args, "O|OO", &py_vec, &py_sweep, &py_teleport_physics)) { + if (!PyArg_ParseTuple(args, "O|OO", &py_vec, &py_sweep, &py_teleport_physics)) + { return false; } ue_PyFVector *ue_py_vec = py_ue_is_fvector(py_vec); - if (!ue_py_vec) { - if (!PyArg_ParseTuple(args, "fff|OO", &x, &y, &z, &py_sweep, &py_teleport_physics)) { + if (!ue_py_vec) + { + if (!PyArg_ParseTuple(args, "fff|OO", &x, &y, &z, &py_sweep, &py_teleport_physics)) + { return false; } vec.X = x; vec.Y = y; vec.Z = z; } - else { + else + { vec = ue_py_vec->vec; } @@ -29,34 +34,42 @@ static bool check_vector_args(PyObject *args, FVector &vec, bool &sweep, bool &t return true; } -static bool check_rotation_args(PyObject *args, FQuat &quat, bool &sweep, bool &teleport_physics) { +static bool check_rotation_args(PyObject *args, FQuat &quat, bool &sweep, bool &teleport_physics) +{ PyObject *py_rotation = nullptr; float roll = 0, pitch = 0, yaw = 0; PyObject *py_sweep = nullptr; PyObject *py_teleport_physics = nullptr; - if (!PyArg_ParseTuple(args, "O|OO", &py_rotation, &py_sweep, &py_teleport_physics)) { + if (!PyArg_ParseTuple(args, "O|OO", &py_rotation, &py_sweep, &py_teleport_physics)) + { PyErr_Clear(); - if (!PyArg_ParseTuple(args, "fff|OO", &roll, &pitch, &yaw, &py_sweep, &py_teleport_physics)) { + if (!PyArg_ParseTuple(args, "fff|OO", &roll, &pitch, &yaw, &py_sweep, &py_teleport_physics)) + { return false; } } - if (py_rotation) { + if (py_rotation) + { ue_PyFQuat *ue_py_quat = py_ue_is_fquat(py_rotation); - if (ue_py_quat) { + if (ue_py_quat) + { quat = ue_py_quat->quat; } - else { + else + { ue_PyFRotator *ue_py_rot = py_ue_is_frotator(py_rotation); - if (!ue_py_rot) { + if (!ue_py_rot) + { PyErr_SetString(PyExc_Exception, "argument is not a FQuat or FRotator"); return false; } quat = ue_py_rot->rot.Quaternion(); } } - else { + else + { quat = FQuat(FRotator(pitch, yaw, roll)); } @@ -66,33 +79,41 @@ static bool check_rotation_args(PyObject *args, FQuat &quat, bool &sweep, bool & return true; } -static bool check_rotation_args_no_sweep(PyObject *args, FQuat &quat, bool &teleport_physics) { +static bool check_rotation_args_no_sweep(PyObject *args, FQuat &quat, bool &teleport_physics) +{ PyObject *py_rotation = nullptr; float roll = 0, pitch = 0, yaw = 0; PyObject *py_teleport_physics = nullptr; - if (!PyArg_ParseTuple(args, "O|O", &py_rotation, &py_teleport_physics)) { + if (!PyArg_ParseTuple(args, "O|O", &py_rotation, &py_teleport_physics)) + { PyErr_Clear(); - if (!PyArg_ParseTuple(args, "fff|O", &roll, &pitch, &yaw, &py_teleport_physics)) { + if (!PyArg_ParseTuple(args, "fff|O", &roll, &pitch, &yaw, &py_teleport_physics)) + { return false; } } - if (py_rotation) { + if (py_rotation) + { ue_PyFQuat *ue_py_quat = py_ue_is_fquat(py_rotation); - if (ue_py_quat) { + if (ue_py_quat) + { quat = ue_py_quat->quat; } - else { + else + { ue_PyFRotator *ue_py_rot = py_ue_is_frotator(py_rotation); - if (!ue_py_rot) { + if (!ue_py_rot) + { PyErr_SetString(PyExc_Exception, "argument is not a FQuat or FRotator"); return false; } quat = ue_py_rot->rot.Quaternion(); } } - else { + else + { quat = FQuat(FRotator(pitch, yaw, roll)); } @@ -101,7 +122,8 @@ static bool check_rotation_args_no_sweep(PyObject *args, FQuat &quat, bool &tele return true; } -PyObject *py_ue_get_actor_location(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_actor_location(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -113,7 +135,8 @@ PyObject *py_ue_get_actor_location(ue_PyUObject *self, PyObject * args) { } -PyObject *py_ue_get_actor_scale(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_actor_scale(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -125,7 +148,8 @@ PyObject *py_ue_get_actor_scale(ue_PyUObject *self, PyObject * args) { } -PyObject *py_ue_get_actor_transform(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_actor_transform(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -137,7 +161,8 @@ PyObject *py_ue_get_actor_transform(ue_PyUObject *self, PyObject * args) { } -PyObject *py_ue_get_actor_forward(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_actor_forward(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -149,7 +174,8 @@ PyObject *py_ue_get_actor_forward(ue_PyUObject *self, PyObject * args) { } -PyObject *py_ue_get_actor_right(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_actor_right(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -161,7 +187,8 @@ PyObject *py_ue_get_actor_right(ue_PyUObject *self, PyObject * args) { } -PyObject *py_ue_get_actor_up(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_actor_up(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -173,7 +200,8 @@ PyObject *py_ue_get_actor_up(ue_PyUObject *self, PyObject * args) { } -PyObject *py_ue_get_actor_rotation(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_actor_rotation(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -187,7 +215,8 @@ PyObject *py_ue_get_actor_rotation(ue_PyUObject *self, PyObject * args) { } -PyObject *py_ue_set_actor_location(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_set_actor_location(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -204,8 +233,10 @@ PyObject *py_ue_set_actor_location(ue_PyUObject *self, PyObject * args) { FHitResult hit; bool success = actor->SetActorLocation(vec, sweep, &hit, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); - if (!sweep) { - if (success) { + if (!sweep) + { + if (success) + { Py_RETURN_TRUE; } Py_RETURN_FALSE; @@ -214,7 +245,8 @@ PyObject *py_ue_set_actor_location(ue_PyUObject *self, PyObject * args) { return Py_BuildValue("(OO)", success ? Py_True : Py_False, py_ue_new_fhitresult(hit)); } -PyObject *py_ue_add_actor_world_offset(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_add_actor_world_offset(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -231,14 +263,16 @@ PyObject *py_ue_add_actor_world_offset(ue_PyUObject *self, PyObject * args) { FHitResult hit; actor->AddActorWorldOffset(vec, sweep, &hit, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); - if (!sweep) { + if (!sweep) + { Py_RETURN_NONE; } return py_ue_new_fhitresult(hit); } -PyObject *py_ue_add_actor_local_offset(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_add_actor_local_offset(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -255,7 +289,8 @@ PyObject *py_ue_add_actor_local_offset(ue_PyUObject *self, PyObject * args) { FHitResult hit; actor->AddActorLocalOffset(vec, sweep, &hit, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); - if (!sweep) { + if (!sweep) + { Py_RETURN_NONE; } @@ -263,7 +298,8 @@ PyObject *py_ue_add_actor_local_offset(ue_PyUObject *self, PyObject * args) { } -PyObject *py_ue_add_actor_world_rotation(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_add_actor_world_rotation(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -279,14 +315,16 @@ PyObject *py_ue_add_actor_world_rotation(ue_PyUObject *self, PyObject * args) { FHitResult hit; actor->AddActorWorldRotation(quat, sweep, &hit, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); - if (!sweep) { + if (!sweep) + { Py_RETURN_NONE; } return py_ue_new_fhitresult(hit); } -PyObject *py_ue_add_actor_local_rotation(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_add_actor_local_rotation(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -302,7 +340,8 @@ PyObject *py_ue_add_actor_local_rotation(ue_PyUObject *self, PyObject * args) { FHitResult hit; actor->AddActorLocalRotation(quat, sweep, &hit, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); - if (!sweep) { + if (!sweep) + { Py_RETURN_NONE; } @@ -310,7 +349,8 @@ PyObject *py_ue_add_actor_local_rotation(ue_PyUObject *self, PyObject * args) { } -PyObject *py_ue_set_actor_scale(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_set_actor_scale(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -329,7 +369,8 @@ PyObject *py_ue_set_actor_scale(ue_PyUObject *self, PyObject * args) { } -PyObject *py_ue_set_actor_rotation(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_set_actor_rotation(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -341,14 +382,16 @@ PyObject *py_ue_set_actor_rotation(ue_PyUObject *self, PyObject * args) { AActor *actor = ue_get_actor(self); if (!actor) return PyErr_Format(PyExc_Exception, "uobject is not an actor or a component"); - if (actor->SetActorRotation(quat, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None)) { + if (actor->SetActorRotation(quat, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None)) + { Py_RETURN_TRUE; } Py_RETURN_FALSE; } -PyObject *py_ue_set_actor_transform(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_set_actor_transform(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -366,61 +409,74 @@ PyObject *py_ue_set_actor_transform(ue_PyUObject *self, PyObject * args) { } -PyObject *py_ue_get_world_location(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_world_location(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { FVector vec3 = ((USceneComponent *)self->ue_object)->GetComponentLocation(); return py_ue_new_fvector(vec3); } return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } -PyObject *py_ue_get_world_rotation(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_world_rotation(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { FRotator rot = ((USceneComponent *)self->ue_object)->GetComponentRotation(); return py_ue_new_frotator(rot); } return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } -PyObject *py_ue_get_world_scale(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_world_scale(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { FVector vec3 = ((USceneComponent *)self->ue_object)->GetComponentScale(); return py_ue_new_fvector(vec3); } return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } -PyObject *py_ue_get_relative_location(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_relative_location(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { FVector vec3 = ((USceneComponent *)self->ue_object)->RelativeLocation; return py_ue_new_fvector(vec3); } return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } -PyObject *py_ue_get_relative_rotation(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_relative_rotation(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { FRotator rot = ((USceneComponent *)self->ue_object)->RelativeRotation; return py_ue_new_frotator(rot); } return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } -PyObject *py_ue_get_relative_scale(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_relative_scale(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { FVector vec3 = ((USceneComponent *)self->ue_object)->RelativeScale3D; return py_ue_new_fvector(vec3); } return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } -PyObject *py_ue_get_relative_transform(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_relative_transform(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); USceneComponent *component = ue_py_check_type(self); if (!component) @@ -430,7 +486,8 @@ PyObject *py_ue_get_relative_transform(ue_PyUObject *self, PyObject * args) { return py_ue_new_ftransform(t); } -PyObject *py_ue_get_world_transform(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_world_transform(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); USceneComponent *component = ue_py_check_type(self); if (!component) @@ -440,34 +497,41 @@ PyObject *py_ue_get_world_transform(ue_PyUObject *self, PyObject * args) { return py_ue_new_ftransform(t); } -PyObject *py_ue_get_forward_vector(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_forward_vector(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { FVector vec3 = ((USceneComponent *)self->ue_object)->GetForwardVector(); return py_ue_new_fvector(vec3); } return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } -PyObject *py_ue_get_up_vector(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_up_vector(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { FVector vec3 = ((USceneComponent *)self->ue_object)->GetUpVector(); return py_ue_new_fvector(vec3); } return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } -PyObject *py_ue_get_right_vector(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_right_vector(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { FVector vec3 = ((USceneComponent *)self->ue_object)->GetRightVector(); return py_ue_new_fvector(vec3); } return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } -PyObject *py_ue_set_world_location(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_set_world_location(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); FVector vec; bool sweep; @@ -477,9 +541,11 @@ PyObject *py_ue_set_world_location(ue_PyUObject *self, PyObject * args) { FHitResult hit; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { ((USceneComponent *)self->ue_object)->SetWorldLocation(vec, sweep, &hit, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); - if (!sweep) { + if (!sweep) + { Py_RETURN_NONE; } return py_ue_new_fhitresult(hit); @@ -487,12 +553,14 @@ PyObject *py_ue_set_world_location(ue_PyUObject *self, PyObject * args) { return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } -PyObject *py_ue_set_world_rotation(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_set_world_rotation(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); FRotator rot; if (!py_ue_rotator_arg(args, rot)) return NULL; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { ((USceneComponent *)self->ue_object)->SetWorldRotation(rot); Py_INCREF(Py_None); return Py_None; @@ -500,13 +568,15 @@ PyObject *py_ue_set_world_rotation(ue_PyUObject *self, PyObject * args) { return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } -PyObject *py_ue_set_world_scale(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_set_world_scale(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); FVector vec; if (!py_ue_vector_arg(args, vec)) return NULL; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { ((USceneComponent *)self->ue_object)->SetWorldScale3D(vec); Py_INCREF(Py_None); return Py_None; @@ -514,7 +584,8 @@ PyObject *py_ue_set_world_scale(ue_PyUObject *self, PyObject * args) { return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } -PyObject *py_ue_set_world_transform(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_set_world_transform(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); FTransform t; @@ -530,7 +601,8 @@ PyObject *py_ue_set_world_transform(ue_PyUObject *self, PyObject * args) { Py_RETURN_NONE; } -PyObject *py_ue_set_relative_transform(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_set_relative_transform(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); FTransform t; @@ -546,13 +618,15 @@ PyObject *py_ue_set_relative_transform(ue_PyUObject *self, PyObject * args) { Py_RETURN_NONE; } -PyObject *py_ue_set_relative_location(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_set_relative_location(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); FVector vec; if (!py_ue_vector_arg(args, vec)) return NULL; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { ((USceneComponent *)self->ue_object)->SetRelativeLocation(vec); Py_INCREF(Py_None); return Py_None; @@ -560,12 +634,14 @@ PyObject *py_ue_set_relative_location(ue_PyUObject *self, PyObject * args) { return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } -PyObject *py_ue_set_relative_rotation(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_set_relative_rotation(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); FRotator rot; if (!py_ue_rotator_arg(args, rot)) return NULL; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { ((USceneComponent *)self->ue_object)->SetRelativeRotation(rot); Py_INCREF(Py_None); return Py_None; @@ -573,13 +649,15 @@ PyObject *py_ue_set_relative_rotation(ue_PyUObject *self, PyObject * args) { return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } -PyObject *py_ue_set_relative_scale(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_set_relative_scale(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); FVector vec; if (!py_ue_vector_arg(args, vec)) return NULL; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { ((USceneComponent *)self->ue_object)->SetRelativeScale3D(vec); Py_INCREF(Py_None); return Py_None; diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp index 12e7bc0a2..364947cc3 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp @@ -6,38 +6,36 @@ #include "Editor/UnrealEd/Public/LevelEditorViewport.h" #endif -PyObject *py_unreal_engine_get_game_viewport_client(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_get_game_viewport_client(PyObject * self, PyObject * args) +{ UGameViewportClient *viewport_client = GEngine->GameViewport; - if (!viewport_client) { + if (!viewport_client) + { return PyErr_Format(PyExc_Exception, "no engine GameViewport found"); } - ue_PyUObject *ret = ue_get_python_wrapper(GEngine->GameViewport); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(GEngine->GameViewport); } #if WITH_EDITOR -PyObject *py_unreal_engine_get_editor_pie_game_viewport_client(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_get_editor_pie_game_viewport_client(PyObject * self, PyObject * args) +{ UGameViewportClient *viewport_client = GEditor->GameViewport; - if (!viewport_client) { + if (!viewport_client) + { return PyErr_Format(PyExc_Exception, "no editor GameViewport found"); } - ue_PyUObject *ret = ue_get_python_wrapper(viewport_client); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(viewport_client); } -PyObject *py_unreal_engine_editor_set_view_mode(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_editor_set_view_mode(PyObject * self, PyObject * args) +{ int mode; - if (!PyArg_ParseTuple(args, "i:editor_set_view_mode", &mode)) { + if (!PyArg_ParseTuple(args, "i:editor_set_view_mode", &mode)) + { return NULL; } @@ -49,15 +47,17 @@ PyObject *py_unreal_engine_editor_set_view_mode(PyObject * self, PyObject * args FLevelEditorViewportClient &viewport_client = EditorModule.GetFirstActiveViewport()->GetLevelViewportClient(); viewport_client.SetViewMode((EViewModeIndex)mode); - + Py_RETURN_NONE; } -PyObject *py_unreal_engine_editor_set_camera_speed(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_editor_set_camera_speed(PyObject * self, PyObject * args) +{ int speed; - if (!PyArg_ParseTuple(args, "f:editor_set_camera_speed", &speed)) { + if (!PyArg_ParseTuple(args, "f:editor_set_camera_speed", &speed)) + { return NULL; } @@ -73,11 +73,13 @@ PyObject *py_unreal_engine_editor_set_camera_speed(PyObject * self, PyObject * a Py_RETURN_NONE; } -PyObject *py_unreal_engine_editor_set_view_location(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_editor_set_view_location(PyObject * self, PyObject * args) +{ PyObject *py_vector; - if (!PyArg_ParseTuple(args, "O:editor_set_view_location", &py_vector)) { + if (!PyArg_ParseTuple(args, "O:editor_set_view_location", &py_vector)) + { return NULL; } @@ -97,11 +99,13 @@ PyObject *py_unreal_engine_editor_set_view_location(PyObject * self, PyObject * Py_RETURN_NONE; } -PyObject *py_unreal_engine_editor_set_view_rotation(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_editor_set_view_rotation(PyObject * self, PyObject * args) +{ PyObject *py_rotator; - if (!PyArg_ParseTuple(args, "O:editor_set_view_rotation", &py_rotator)) { + if (!PyArg_ParseTuple(args, "O:editor_set_view_rotation", &py_rotator)) + { return NULL; } @@ -123,19 +127,22 @@ PyObject *py_unreal_engine_editor_set_view_rotation(PyObject * self, PyObject * #endif -PyObject *py_ue_add_viewport_widget_content(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_add_viewport_widget_content(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); PyObject *py_widget; int z_order = 0; - if (!PyArg_ParseTuple(args, "O|i:add_viewport_widget_content", &py_widget, &z_order)) { + if (!PyArg_ParseTuple(args, "O|i:add_viewport_widget_content", &py_widget, &z_order)) + { return NULL; } UGameViewportClient *viewport = ue_py_check_type(self); - if (!viewport) { + if (!viewport) + { UWorld *world = ue_py_check_type(self); if (!world) return PyErr_Format(PyExc_Exception, "object is not a GameViewportClient or a UWorld"); @@ -145,7 +152,8 @@ PyObject *py_ue_add_viewport_widget_content(ue_PyUObject *self, PyObject * args) } ue_PySWidget *py_swidget = py_ue_is_swidget(py_widget); - if (!py_swidget) { + if (!py_swidget) + { return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); } // Do not increment reference count as it is assumed this function is used in a PyComponent/PyActor/ that can holds reference to @@ -154,17 +162,18 @@ PyObject *py_ue_add_viewport_widget_content(ue_PyUObject *self, PyObject * args) viewport->AddViewportWidgetContent(py_swidget->s_widget, z_order); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } -PyObject *py_ue_remove_viewport_widget_content(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_remove_viewport_widget_content(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); PyObject *py_widget; - if (!PyArg_ParseTuple(args, "O:remove_viewport_widget_content", &py_widget)) { + if (!PyArg_ParseTuple(args, "O:remove_viewport_widget_content", &py_widget)) + { return NULL; } @@ -173,18 +182,19 @@ PyObject *py_ue_remove_viewport_widget_content(ue_PyUObject *self, PyObject * ar return PyErr_Format(PyExc_Exception, "object is not a GameViewportClient"); ue_PySWidget *py_swidget = py_ue_is_swidget(py_widget); - if (!py_swidget) { + if (!py_swidget) + { return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); } Py_DECREF(py_swidget); viewport->RemoveViewportWidgetContent(py_swidget->s_widget); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } -PyObject *py_ue_remove_all_viewport_widgets(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_remove_all_viewport_widgets(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -192,10 +202,9 @@ PyObject *py_ue_remove_all_viewport_widgets(ue_PyUObject *self, PyObject * args) if (!viewport) return PyErr_Format(PyExc_Exception, "object is not a GameViewportClient"); - + viewport->RemoveAllViewportWidgets(); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyWidget.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyWidget.cpp index 0f833c15d..bac67a6d8 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyWidget.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyWidget.cpp @@ -4,7 +4,8 @@ #include "Runtime/UMG/Public/Components/Widget.h" -PyObject *py_ue_take_widget(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_take_widget(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); @@ -17,7 +18,8 @@ PyObject *py_ue_take_widget(ue_PyUObject * self, PyObject * args) { return (PyObject *)s_widget; } -PyObject *py_ue_create_widget(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_create_widget(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); @@ -40,9 +42,5 @@ PyObject *py_ue_create_widget(ue_PyUObject * self, PyObject * args) { if (!widget) return PyErr_Format(PyExc_Exception, "unable to create new widget"); - ue_PyUObject *ret = ue_get_python_wrapper(widget); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(widget); } From 05cfcb45de6f107d9bf6e0ee95d1bd9a3f06be3d Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 11 Feb 2018 16:19:32 +0100 Subject: [PATCH 045/538] third round of refactoring --- .../UnrealEnginePython/Private/UEPyEngine.cpp | 58 ++++--------------- .../Private/UEPyEnumsImporter.cpp | 27 +++++---- .../Private/UObject/UEPySequencer.cpp | 4 +- .../Private/UObject/UEPySkeletal.cpp | 6 +- .../Private/UObject/UEPyTexture.cpp | 24 ++------ .../Private/UObject/UEPyWorld.cpp | 27 +++------ .../Private/Wrappers/UEPyFAssetData.cpp | 8 +-- .../Private/Wrappers/UEPyFHitResult.cpp | 48 ++++++++------- .../UnrealEnginePython.Build.cs | 29 +--------- 9 files changed, 69 insertions(+), 162 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index 38bdc356e..45c5ff937 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -380,12 +380,7 @@ PyObject *py_unreal_engine_load_struct(PyObject * self, PyObject * args) if (!u_struct) return PyErr_Format(PyExc_Exception, "unable to find struct %s", name); - ue_PyUObject *ret = ue_get_python_wrapper(u_struct); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; - + Py_RETURN_UOBJECT(u_struct); } @@ -421,11 +416,7 @@ PyObject *py_unreal_engine_load_object(PyObject * self, PyObject * args) if (!u_object) return PyErr_Format(PyExc_Exception, "unable to load object %s", name); - ue_PyUObject *ret = ue_get_python_wrapper(u_object); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(u_object); } @@ -510,11 +501,7 @@ PyObject *py_unreal_engine_find_object(PyObject * self, PyObject * args) if (!u_object) return PyErr_Format(PyExc_Exception, "unable to find object %s", name); - ue_PyUObject *ret = ue_get_python_wrapper(u_object); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(u_object); } @@ -569,11 +556,7 @@ PyObject *py_unreal_engine_new_object(PyObject * self, PyObject * args) new_object->PostLoad(); - ue_PyUObject *ret = ue_get_python_wrapper(new_object); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(new_object); } PyObject *py_unreal_engine_get_mutable_default(PyObject * self, PyObject * args) @@ -601,11 +584,7 @@ PyObject *py_unreal_engine_get_mutable_default(PyObject * self, PyObject * args) if (!mutable_object) return PyErr_Format(PyExc_Exception, "unable to create object"); - ue_PyUObject *ret = ue_get_python_wrapper(mutable_object); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(mutable_object); } @@ -637,11 +616,7 @@ PyObject *py_unreal_engine_new_class(PyObject * self, PyObject * args) if (!new_object) return PyErr_Format(PyExc_Exception, "unable to create UClass"); - ue_PyUObject *ret = ue_get_python_wrapper(new_object); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(new_object); } PyObject *py_unreal_engine_all_classes(PyObject * self, PyObject * args) @@ -664,7 +639,7 @@ PyObject *py_unreal_engine_all_worlds(PyObject * self, PyObject * args) PyObject *ret = PyList_New(0); for (TObjectIterator Itr; Itr; ++Itr) { - ue_PyUObject *py_obj = ue_get_python_wrapper(*Itr); + ue_PyUObject *py_obj = ue_get_python_uobject(*Itr); if (!py_obj) continue; PyList_Append(ret, (PyObject *)py_obj); @@ -997,11 +972,7 @@ PyObject *py_unreal_engine_create_package(PyObject *self, PyObject * args) u_package->FullyLoad(); u_package->MarkPackageDirty(); - ue_PyUObject *ret = ue_get_python_wrapper(u_package); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(u_package); } PyObject *py_unreal_engine_get_or_create_package(PyObject *self, PyObject * args) @@ -1027,21 +998,12 @@ PyObject *py_unreal_engine_get_or_create_package(PyObject *self, PyObject * args u_package->MarkPackageDirty(); } - ue_PyUObject *ret = ue_get_python_wrapper(u_package); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(u_package); } PyObject *py_unreal_engine_get_transient_package(PyObject *self, PyObject * args) { - - ue_PyUObject *ret = ue_get_python_wrapper(GetTransientPackage()); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(GetTransientPackage()); } PyObject *py_unreal_engine_open_file_dialog(PyObject *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UEPyEnumsImporter.cpp b/Source/UnrealEnginePython/Private/UEPyEnumsImporter.cpp index 798c9c7eb..3792694fd 100644 --- a/Source/UnrealEnginePython/Private/UEPyEnumsImporter.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEnumsImporter.cpp @@ -1,20 +1,21 @@ #include "UnrealEnginePythonPrivatePCH.h" -static PyObject *ue_PyEnumsImporter_getattro(ue_PyEnumsImporter *self, PyObject *attr_name) { +static PyObject *ue_PyEnumsImporter_getattro(ue_PyEnumsImporter *self, PyObject *attr_name) +{ PyObject *ret = PyObject_GenericGetAttr((PyObject *)self, attr_name); - if (!ret) { - if (PyUnicodeOrString_Check(attr_name)) { + if (!ret) + { + if (PyUnicodeOrString_Check(attr_name)) + { char *attr = PyUnicode_AsUTF8(attr_name); - if (attr[0] != '_') { + if (attr[0] != '_') + { UEnum *u_enum = FindObject(ANY_PACKAGE, UTF8_TO_TCHAR(attr)); - if (u_enum) { + if (u_enum) + { // swallow old exception PyErr_Clear(); - ue_PyUObject *u_ret = ue_get_python_wrapper(u_enum); - if (!u_ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(u_ret); - return (PyObject *)u_ret; + Py_RETURN_UOBJECT(u_enum); } } } @@ -55,7 +56,8 @@ static PyTypeObject ue_PyEnumsImporterType = { 0, }; -void ue_python_init_enumsimporter(PyObject *ue_module) { +void ue_python_init_enumsimporter(PyObject *ue_module) +{ ue_PyEnumsImporterType.tp_new = PyType_GenericNew; if (PyType_Ready(&ue_PyEnumsImporterType) < 0) @@ -65,7 +67,8 @@ void ue_python_init_enumsimporter(PyObject *ue_module) { PyModule_AddObject(ue_module, "EnumsImporter", (PyObject *)&ue_PyEnumsImporterType); } -PyObject *py_ue_new_enumsimporter() { +PyObject *py_ue_new_enumsimporter() +{ ue_PyEnumsImporter *ret = (ue_PyEnumsImporter *)PyObject_New(ue_PyEnumsImporter, &ue_PyEnumsImporterType); return (PyObject *)ret; } \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index d8260d8fb..96ae7a414 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -383,7 +383,7 @@ PyObject *py_ue_sequencer_master_tracks(ue_PyUObject *self, PyObject * args) for (UMovieSceneTrack *track : tracks) { - ue_PyUObject *ret = ue_get_python_wrapper((UObject *)track); + ue_PyUObject *ret = ue_get_python_uobject((UObject *)track); if (!ret) { Py_DECREF(py_tracks); @@ -485,7 +485,7 @@ PyObject *py_ue_sequencer_folders(ue_PyUObject *self, PyObject * args) for (UMovieSceneFolder *folder : folders) { - ue_PyUObject *ret = ue_get_python_wrapper((UObject *)folder); + ue_PyUObject *ret = ue_get_python_uobject((UObject *)folder); if (!ret) { Py_DECREF(py_folders); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp index fa9218a5c..3d11753e7 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp @@ -26,11 +26,7 @@ PyObject *py_ue_get_anim_instance(ue_PyUObject *self, PyObject * args) return Py_None; } - ue_PyUObject *ret = ue_get_python_wrapper((UObject *)anim); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT((UObject *)anim); } PyObject *py_ue_set_skeletal_mesh(ue_PyUObject *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp index 71699e980..52ec3c289 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp @@ -268,11 +268,7 @@ PyObject *py_unreal_engine_create_checkerboard_texture(PyObject * self, PyObject UTexture2D *texture = FImageUtils::CreateCheckerboardTexture(color_one->color, color_two->color, checker_size); - ue_PyUObject *ret = ue_get_python_wrapper(texture); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(texture); } PyObject *py_unreal_engine_create_transient_texture(PyObject * self, PyObject * args) @@ -292,11 +288,7 @@ PyObject *py_unreal_engine_create_transient_texture(PyObject * self, PyObject * texture->UpdateResource(); - ue_PyUObject *ret = ue_get_python_wrapper(texture); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(texture); } PyObject *py_unreal_engine_create_transient_texture_render_target2d(PyObject * self, PyObject * args) @@ -316,11 +308,7 @@ PyObject *py_unreal_engine_create_transient_texture_render_target2d(PyObject * s texture->InitCustomFormat(width, height, (EPixelFormat)format, py_linear && PyObject_IsTrue(py_linear)); - ue_PyUObject *ret = ue_get_python_wrapper(texture); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(texture); } #if WITH_EDITOR @@ -366,11 +354,7 @@ PyObject *py_unreal_engine_create_texture(PyObject * self, PyObject * args) if (!texture) return PyErr_Format(PyExc_Exception, "unable to create texture"); - ue_PyUObject *ret = ue_get_python_wrapper(texture); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(texture); } #endif diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp index e6bbd0945..ce33397d0 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp @@ -111,7 +111,7 @@ PyObject *py_ue_all_objects(ue_PyUObject * self, PyObject * args) UObject *u_obj = *Itr; if (u_obj->GetWorld() != world) continue; - ue_PyUObject *py_obj = ue_get_python_wrapper(u_obj); + ue_PyUObject *py_obj = ue_get_python_uobject(u_obj); if (!py_obj) continue; PyList_Append(ret, (PyObject *)py_obj); @@ -133,7 +133,7 @@ PyObject *py_ue_all_actors(ue_PyUObject * self, PyObject * args) for (TActorIterator Itr(world); Itr; ++Itr) { UObject *u_obj = *Itr; - ue_PyUObject *py_obj = ue_get_python_wrapper(u_obj); + ue_PyUObject *py_obj = ue_get_python_uobject(u_obj); if (!py_obj) continue; PyList_Append(ret, (PyObject *)py_obj); @@ -164,11 +164,7 @@ PyObject *py_ue_find_object(ue_PyUObject *self, PyObject * args) if (!u_object) return PyErr_Format(PyExc_Exception, "unable to find object %s", name); - ue_PyUObject *ret = ue_get_python_wrapper(u_object); - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(u_object); } PyObject *py_ue_get_world(ue_PyUObject *self, PyObject * args) @@ -180,12 +176,7 @@ PyObject *py_ue_get_world(ue_PyUObject *self, PyObject * args) if (!world) return PyErr_Format(PyExc_Exception, "unable to retrieve UWorld from uobject"); - ue_PyUObject *ret = ue_get_python_wrapper(world); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; - + Py_RETURN_UOBJECT(world); } PyObject *py_ue_get_game_viewport(ue_PyUObject *self, PyObject * args) @@ -271,7 +262,7 @@ PyObject *py_ue_get_levels(ue_PyUObject * self, PyObject * args) for (ULevel *level : world->GetLevels()) { - ue_PyUObject *py_obj = ue_get_python_wrapper(level); + ue_PyUObject *py_obj = ue_get_python_uobject(level); if (!py_obj) continue; PyList_Append(ret, (PyObject *)py_obj); @@ -293,11 +284,7 @@ PyObject *py_ue_get_current_level(ue_PyUObject *self, PyObject * args) if (!level) Py_RETURN_NONE; - ue_PyUObject *ret = ue_get_python_wrapper(level); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(level); } PyObject *py_ue_set_current_level(ue_PyUObject *self, PyObject * args) @@ -371,7 +358,7 @@ PyObject *py_ue_add_foliage_asset(ue_PyUObject *self, PyObject * args) { foliage_type = (UFoliageType *)u_object; ifa->AddFoliageType(foliage_type); - + } if (!foliage_type) diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp index 0ddca80ba..ea4251cc0 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp @@ -6,13 +6,7 @@ static PyObject *py_ue_fassetdata_get_asset(ue_PyFAssetData *self, PyObject * args) { - PyObject *ret = (PyObject *)ue_get_python_wrapper(self->asset_data.GetAsset()); - if (!ret) - { - return PyErr_Format(PyExc_Exception, "unable to get UObject from asset"); - } - Py_INCREF(ret); - return ret; + Py_RETURN_UOBJECT(self->asset_data.GetAsset()); } static PyObject *py_ue_fassetdata_is_asset_loaded(ue_PyFAssetData *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFHitResult.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFHitResult.cpp index ea978bc11..6aeb0ce83 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFHitResult.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFHitResult.cpp @@ -1,7 +1,8 @@ #include "UnrealEnginePythonPrivatePCH.h" -static PyObject *py_ue_fhitresult_get_reversed_hit(ue_PyFHitResult *self, PyObject * args) { +static PyObject *py_ue_fhitresult_get_reversed_hit(ue_PyFHitResult *self, PyObject * args) +{ return py_ue_new_fhitresult(FHitResult::GetReversedHit(self->hit)); } @@ -11,45 +12,49 @@ static PyMethodDef ue_PyFHitResult_methods[] = { { NULL } /* Sentinel */ }; -static PyObject *py_ue_fhitresult_get_location(ue_PyFHitResult *self, void *closure) { +static PyObject *py_ue_fhitresult_get_location(ue_PyFHitResult *self, void *closure) +{ return py_ue_new_fvector(self->hit.Location); } -static PyObject *py_ue_fhitresult_get_normal(ue_PyFHitResult *self, void *closure) { +static PyObject *py_ue_fhitresult_get_normal(ue_PyFHitResult *self, void *closure) +{ return py_ue_new_fvector(self->hit.Normal); } -static PyObject *py_ue_fhitresult_get_impact_point(ue_PyFHitResult *self, void *closure) { +static PyObject *py_ue_fhitresult_get_impact_point(ue_PyFHitResult *self, void *closure) +{ return py_ue_new_fvector(self->hit.ImpactPoint); } -static PyObject *py_ue_fhitresult_get_impact_normal(ue_PyFHitResult *self, void *closure) { +static PyObject *py_ue_fhitresult_get_impact_normal(ue_PyFHitResult *self, void *closure) +{ return py_ue_new_fvector(self->hit.ImpactNormal); } -static PyObject *py_ue_fhitresult_get_distance(ue_PyFHitResult *self, void *closure) { +static PyObject *py_ue_fhitresult_get_distance(ue_PyFHitResult *self, void *closure) +{ return PyFloat_FromDouble(self->hit.Distance); } -static PyObject *py_ue_fhitresult_get_time(ue_PyFHitResult *self, void *closure) { +static PyObject *py_ue_fhitresult_get_time(ue_PyFHitResult *self, void *closure) +{ return PyFloat_FromDouble(self->hit.Time); } -static PyObject *py_ue_fhitresult_get_bone_name(ue_PyFHitResult *self, void *closure) { +static PyObject *py_ue_fhitresult_get_bone_name(ue_PyFHitResult *self, void *closure) +{ return PyUnicode_FromString(TCHAR_TO_UTF8(*self->hit.BoneName.ToString())); } -static PyObject *py_ue_fhitresult_get_actor(ue_PyFHitResult *self, void *closure) { +static PyObject *py_ue_fhitresult_get_actor(ue_PyFHitResult *self, void *closure) +{ AActor *actor = self->hit.Actor.Get(); - if (!actor) { - Py_INCREF(Py_None); - return Py_None; + if (!actor) + { + Py_RETURN_NONE; } - ue_PyUObject *ret = ue_get_python_wrapper(actor); - if (!ret) - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); - Py_INCREF(ret); - return (PyObject *)ret; + Py_RETURN_UOBJECT(actor); } @@ -106,7 +111,8 @@ static PyTypeObject ue_PyFHitResultType = { ue_PyFHitResult_getseters, }; -void ue_python_init_fhitresult(PyObject *ue_module) { +void ue_python_init_fhitresult(PyObject *ue_module) +{ ue_PyFHitResultType.tp_new = PyType_GenericNew; if (PyType_Ready(&ue_PyFHitResultType) < 0) @@ -116,13 +122,15 @@ void ue_python_init_fhitresult(PyObject *ue_module) { PyModule_AddObject(ue_module, "FHitResult", (PyObject *)&ue_PyFHitResultType); } -PyObject *py_ue_new_fhitresult(FHitResult hit) { +PyObject *py_ue_new_fhitresult(FHitResult hit) +{ ue_PyFHitResult *ret = (ue_PyFHitResult *)PyObject_New(ue_PyFHitResult, &ue_PyFHitResultType); ret->hit = hit; return (PyObject *)ret; } -ue_PyFHitResult *py_ue_is_fhitresult(PyObject *obj) { +ue_PyFHitResult *py_ue_is_fhitresult(PyObject *obj) +{ if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyFHitResultType)) return nullptr; return (ue_PyFHitResult *)obj; diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index d9bb0eb31..ec41b0dec 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -185,33 +185,6 @@ public UnrealEnginePython(TargetInfo Target) string libPath = GetWindowsPythonLibFile(pythonHome); PublicLibraryPaths.Add(Path.GetDirectoryName(libPath)); PublicAdditionalLibraries.Add(libPath); - - // copy the dlls into the plugins dlls folder, so they don't have to be on the path - string dllsDir = Path.Combine(ModuleDirectory, "../../Binaries", Target.Platform == UnrealTargetPlatform.Win32 ? "Win32" : "Win64"); - try - { - string[] dllsToCopy = - { - "python3.dll", - "python36.dll" - }; - foreach (string dllToCopy in dllsToCopy) - { - // If the dll exist, make sure to set attributes so they are actually accessible - if (File.Exists(Path.Combine(dllsDir, dllToCopy))) - { - File.SetAttributes(Path.Combine(dllsDir, dllToCopy), FileAttributes.Normal); - } - - File.Copy(Path.Combine(pythonHome, dllToCopy), Path.Combine(dllsDir, dllToCopy), true); - File.SetAttributes(Path.Combine(dllsDir, dllToCopy), FileAttributes.Normal); - } - } - catch (System.IO.IOException) { } - catch (System.UnauthorizedAccessException) - { - System.Console.WriteLine("WARNING: Unable to copy python dlls, they are probably in use..."); - } } else if (Target.Platform == UnrealTargetPlatform.Mac) { @@ -397,7 +370,7 @@ private string GetWindowsPythonLibFile(string basePath) // first try with python3 for (int i = 9; i >= 0; i--) { - string fileName = string.Format("python3{0}.lib", i); + string fileName = string.Format("python3{0}_d.lib", i); string fullPath = Path.Combine(basePath, "libs", fileName); if (File.Exists(fullPath)) { From e57d0b6387b7a6bbc86478ebfb4ea1d7817f6eaf Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 11 Feb 2018 18:46:13 +0100 Subject: [PATCH 046/538] last round of refactoring --- Source/UnrealEnginePython/Private/PyActor.cpp | 2 +- .../Private/Slate/UEPyFPointerEvent.cpp | 28 ++++-- .../Private/Slate/UEPyFPointerEvent.h | 1 + .../Private/Slate/UEPySWidget.cpp | 87 +++++++++++++------ .../UnrealEnginePython/Private/UEPyModule.h | 37 +++++--- .../Private/UnrealEnginePythonPrivatePCH.h | 2 +- .../UnrealEnginePython.Build.cs | 2 +- 7 files changed, 111 insertions(+), 48 deletions(-) diff --git a/Source/UnrealEnginePython/Private/PyActor.cpp b/Source/UnrealEnginePython/Private/PyActor.cpp index 05f1ddac1..f442b2cfe 100644 --- a/Source/UnrealEnginePython/Private/PyActor.cpp +++ b/Source/UnrealEnginePython/Private/PyActor.cpp @@ -298,6 +298,6 @@ APyActor::~APyActor() UE_LOG(LogPython, Warning, TEXT("Python AActor %p (mapped to %p) wrapper XDECREF'ed"), this, py_uobject ? py_uobject->py_proxy : nullptr); #endif - // this could trigger the distruction of the python/uobject mapper + // this could trigger the destruction of the python/uobject mapper Py_XDECREF(py_uobject); } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp index 033c0e3b3..dc987bb13 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp @@ -2,27 +2,32 @@ #include "UEPyFPointerEvent.h" -static PyObject *py_ue_fpointer_event_get_effecting_button(ue_PyFPointerEvent *self, PyObject * args) { +static PyObject *py_ue_fpointer_event_get_effecting_button(ue_PyFPointerEvent *self, PyObject * args) +{ FKey key = self->pointer.GetEffectingButton(); return py_ue_new_uscriptstruct(FKey::StaticStruct(), (uint8*)&key); } -static PyObject *py_ue_fpointer_event_get_effecting_button_name(ue_PyFPointerEvent *self, PyObject * args) { +static PyObject *py_ue_fpointer_event_get_effecting_button_name(ue_PyFPointerEvent *self, PyObject * args) +{ FKey key = self->pointer.GetEffectingButton(); return PyUnicode_FromString(TCHAR_TO_UTF8(*key.ToString())); } -static PyObject *py_ue_fpointer_event_get_wheel_delta(ue_PyFPointerEvent *self, PyObject * args) { +static PyObject *py_ue_fpointer_event_get_wheel_delta(ue_PyFPointerEvent *self, PyObject * args) +{ float delta = self->pointer.GetWheelDelta(); return PyFloat_FromDouble(delta); } -static PyObject *py_ue_fpointer_event_get_cursor_delta(ue_PyFPointerEvent *self, PyObject * args) { +static PyObject *py_ue_fpointer_event_get_cursor_delta(ue_PyFPointerEvent *self, PyObject * args) +{ FVector2D delta = self->pointer.GetCursorDelta(); return Py_BuildValue((char *)"(ff)", delta.X, delta.Y); } -static PyObject *py_ue_fpointer_event_get_screen_space_position(ue_PyFPointerEvent *self, PyObject * args) { +static PyObject *py_ue_fpointer_event_get_screen_space_position(ue_PyFPointerEvent *self, PyObject * args) +{ FVector2D pos = self->pointer.GetScreenSpacePosition(); return Py_BuildValue((char *)"(ff)", pos.X, pos.Y); } @@ -73,7 +78,8 @@ static PyTypeObject ue_PyFPointerEventType = { ue_PyFPointerEvent_methods, /* tp_methods */ }; -void ue_python_init_fpointer_event(PyObject *ue_module) { +void ue_python_init_fpointer_event(PyObject *ue_module) +{ ue_PyFPointerEventType.tp_base = &ue_PyFInputEventType; @@ -84,9 +90,17 @@ void ue_python_init_fpointer_event(PyObject *ue_module) { PyModule_AddObject(ue_module, "FPointerEvent", (PyObject *)&ue_PyFPointerEventType); } -PyObject *py_ue_new_fpointer_event(FPointerEvent pointer) { +PyObject *py_ue_new_fpointer_event(FPointerEvent pointer) +{ ue_PyFPointerEvent *ret = (ue_PyFPointerEvent *)PyObject_New(ue_PyFPointerEvent, &ue_PyFPointerEventType); new(&ret->pointer) FPointerEvent(pointer); new(&ret->f_input.input) FInputEvent(pointer); return (PyObject *)ret; } + +ue_PyFPointerEvent *py_ue_is_fpointer_event(PyObject *obj) +{ + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyFPointerEventType)) + return nullptr; + return (ue_PyFPointerEvent *)obj; +} \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.h b/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.h index 0a6821a29..e66ad673f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.h @@ -15,3 +15,4 @@ typedef struct { void ue_python_init_fpointer_event(PyObject *); PyObject *py_ue_new_fpointer_event(FPointerEvent); +ue_PyFPointerEvent *py_ue_is_fpointer_event(PyObject *); \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp index 5c138d06a..36ebad3ef 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp @@ -36,34 +36,34 @@ static PyObject *py_ue_swidget_set_visibility(ue_PySWidget *self, PyObject * arg return nullptr; } - if (!PyNumber_Check(py_object)) - { - return PyErr_Format(PyExc_Exception, "argument is not a ESlateVisibility"); - } - - PyObject *py_value = PyNumber_Long(py_object); - ESlateVisibility slateVisibility = (ESlateVisibility)PyLong_AsLong(py_value); - Py_DECREF(py_value); - - EVisibility visibility; - switch (slateVisibility) - { - case ESlateVisibility::Visible: - visibility = EVisibility::Visible; - break; - case ESlateVisibility::Collapsed: - visibility = EVisibility::Collapsed; - break; - case ESlateVisibility::Hidden: - visibility = EVisibility::Hidden; - break; - case ESlateVisibility::HitTestInvisible: - visibility = EVisibility::HitTestInvisible; - break; - case ESlateVisibility::SelfHitTestInvisible: - visibility = EVisibility::SelfHitTestInvisible; - break; - } + if (!PyNumber_Check(py_object)) + { + return PyErr_Format(PyExc_Exception, "argument is not a ESlateVisibility"); + } + + PyObject *py_value = PyNumber_Long(py_object); + ESlateVisibility slateVisibility = (ESlateVisibility)PyLong_AsLong(py_value); + Py_DECREF(py_value); + + EVisibility visibility; + switch (slateVisibility) + { + case ESlateVisibility::Visible: + visibility = EVisibility::Visible; + break; + case ESlateVisibility::Collapsed: + visibility = EVisibility::Collapsed; + break; + case ESlateVisibility::Hidden: + visibility = EVisibility::Hidden; + break; + case ESlateVisibility::HitTestInvisible: + visibility = EVisibility::HitTestInvisible; + break; + case ESlateVisibility::SelfHitTestInvisible: + visibility = EVisibility::SelfHitTestInvisible; + break; + } self->s_widget->SetVisibility(visibility); @@ -258,6 +258,36 @@ static PyObject *py_ue_swidget_invalidate(ue_PySWidget *self, PyObject * args) Py_RETURN_NONE; } +static PyObject *py_ue_swidget_on_mouse_button_down(ue_PySWidget *self, PyObject * args) +{ + PyObject *py_geometry; + PyObject *py_pointer_event; + if (!PyArg_ParseTuple(args, "OO:on_mouse_button_down", &py_geometry, &py_pointer_event)) + { + return nullptr; + } + + ue_PyFGeometry *geometry = py_ue_is_fgeometry(py_geometry); + if (!geometry) + { + return PyErr_Format(PyExc_Exception, "argument is not a FGeomtry"); + } + + ue_PyFPointerEvent *pointer = py_ue_is_fpointer_event(py_pointer_event); + if (!pointer) + { + return PyErr_Format(PyExc_Exception, "argument is not a FPointerEvent"); + } + + FReply reply = self->s_widget->OnMouseButtonDown(geometry->geometry, pointer->pointer); + + if (reply.IsEventHandled()) + { + Py_RETURN_TRUE; + } + + Py_RETURN_FALSE; +} static PyMethodDef ue_PySWidget_methods[] = { { "get_shared_reference_count", (PyCFunction)py_ue_swidget_get_shared_reference_count, METH_VARARGS, "" }, @@ -276,6 +306,7 @@ static PyMethodDef ue_PySWidget_methods[] = { { "bind_on_mouse_double_click", (PyCFunction)py_ue_swidget_bind_on_mouse_double_click, METH_VARARGS, "" }, { "bind_on_mouse_move", (PyCFunction)py_ue_swidget_bind_on_mouse_move, METH_VARARGS, "" }, #endif + { "on_mouse_button_down", (PyCFunction)py_ue_swidget_on_mouse_button_down, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; diff --git a/Source/UnrealEnginePython/Private/UEPyModule.h b/Source/UnrealEnginePython/Private/UEPyModule.h index 4995bafac..3b8a3558b 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.h +++ b/Source/UnrealEnginePython/Private/UEPyModule.h @@ -8,10 +8,11 @@ //#include "UEPyModule.generated.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - UObject *ue_object; + /* Type-specific fields go here. */ + UObject *ue_object; // reference to proxy class (can be null) PyObject *py_proxy; // list of exposed delegates @@ -45,29 +46,45 @@ UClass *unreal_engine_new_uclass(char *, UClass *); UFunction *unreal_engine_add_function(UClass *, char *, PyObject *, uint32); -template T *ue_py_check_type(PyObject *py_obj) { +template T *ue_py_check_type(PyObject *py_obj) +{ ue_PyUObject *ue_py_obj = ue_is_pyuobject(py_obj); - if (!ue_py_obj) { + if (!ue_py_obj) + { + return nullptr; + } + + if (!ue_py_obj->ue_object || !ue_py_obj->ue_object->IsValidLowLevel() || ue_py_obj->ue_object->IsPendingKillOrUnreachable()) + { + UE_LOG(LogPython, Error, TEXT("invalid UObject in ue_PyUObject %p"), ue_py_obj); return nullptr; } return Cast(ue_py_obj->ue_object); } -template T *ue_py_check_type(ue_PyUObject *py_obj) { +template T *ue_py_check_type(ue_PyUObject *py_obj) +{ + if (!py_obj->ue_object || !py_obj->ue_object->IsValidLowLevel() || py_obj->ue_object->IsPendingKillOrUnreachable()) + { + UE_LOG(LogPython, Error, TEXT("invalid UObject in ue_PyUObject %p"), py_obj); + return nullptr; + } return Cast(py_obj->ue_object); } uint8 *do_ue_py_check_struct(PyObject *py_obj, UScriptStruct* chk_u_struct); -template T *ue_py_check_struct(PyObject *py_obj) { - return (T*)do_ue_py_check_struct(py_obj, T::StaticStruct()); +template T *ue_py_check_struct(PyObject *py_obj) +{ + return (T*)do_ue_py_check_struct(py_obj, T::StaticStruct()); } bool do_ue_py_check_childstruct(PyObject *py_obj, UScriptStruct* parent_u_struct); -template bool ue_py_check_childstruct(PyObject *py_obj) { - return do_ue_py_check_childstruct(py_obj, T::StaticStruct()); +template bool ue_py_check_childstruct(PyObject *py_obj) +{ + return do_ue_py_check_childstruct(py_obj, T::StaticStruct()); } FGuid *ue_py_check_fguid(PyObject *); diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h index ff5a52252..342c4e96d 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h +++ b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h @@ -2,7 +2,7 @@ #pragma once -#define UEPY_MEMORY_DEBUG 1 +//#define UEPY_MEMORY_DEBUG 1 //#define UEPY_THREADING 1 #include "UnrealEnginePython.h" diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index ec41b0dec..623768cd6 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -370,7 +370,7 @@ private string GetWindowsPythonLibFile(string basePath) // first try with python3 for (int i = 9; i >= 0; i--) { - string fileName = string.Format("python3{0}_d.lib", i); + string fileName = string.Format("python3{0}.lib", i); string fullPath = Path.Combine(basePath, "libs", fileName); if (File.Exists(fullPath)) { From feb0ae4315a7de828b1eb6708059f34d4987eaae Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 11 Feb 2018 20:13:48 +0100 Subject: [PATCH 047/538] added FModifierKeysState wrapper --- .../Private/Slate/UEPyFCharacterEvent.cpp | 19 ++- .../Private/Slate/UEPyFModifierKeysState.cpp | 141 ++++++++++++++++++ .../Private/Slate/UEPyFModifierKeysState.h | 15 ++ .../Private/Slate/UEPyFPointerEvent.cpp | 51 +++++++ .../Private/Slate/UEPySWidget.cpp | 38 +++++ .../Private/Slate/UEPySlate.cpp | 1 + .../Private/Slate/UEPySlate.h | 1 + 7 files changed, 262 insertions(+), 4 deletions(-) create mode 100644 Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.cpp create mode 100644 Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFCharacterEvent.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFCharacterEvent.cpp index 68ae13a95..b56af1690 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFCharacterEvent.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFCharacterEvent.cpp @@ -56,16 +56,27 @@ static PyTypeObject ue_PyFCharacterEventType = { static int ue_py_fcharacter_event_init(ue_PyFCharacterEvent *self, PyObject *args, PyObject *kwargs) { char *key; - if (!PyArg_ParseTuple(args, "s", &key)) + PyObject *py_repeat = nullptr; + PyObject *py_modifier = nullptr; + if (!PyArg_ParseTuple(args, "sO|O", &key, &py_repeat, &py_modifier)) { return -1; } - // TODO make it configurable FModifierKeysState modifier; + if (py_modifier) + { + ue_PyFModifierKeysState *f_modifier = py_ue_is_fmodifier_keys_state(py_modifier); + if (!f_modifier) + { + PyErr_SetString(PyExc_Exception, "argument is not a FModifierKeysState"); + return -1; + } + modifier = f_modifier->modifier; + } + - // TODO make repeat configurable - FCharacterEvent Event(*UTF8_TO_TCHAR(key), modifier, 0, false); + FCharacterEvent Event(*UTF8_TO_TCHAR(key), modifier, 0, (py_repeat && PyObject_IsTrue(py_repeat))); new(&self->character_event) FCharacterEvent(Event); new(&self->f_input.input) FInputEvent(Event); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.cpp new file mode 100644 index 000000000..1a4ea4bdd --- /dev/null +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.cpp @@ -0,0 +1,141 @@ +#include "UnrealEnginePythonPrivatePCH.h" + +#include "UEPyFModifierKeysState.h" + +static PyObject *py_ue_fmodifier_keys_state_are_caps_locked(ue_PyFModifierKeysState *self, PyObject * args) +{ + if (self->modifier.AreCapsLocked()) + { + Py_RETURN_TRUE; + } + Py_RETURN_FALSE; +} + +static PyMethodDef ue_PyFModifierKeysState_methods[] = { + { "are_caps_locked", (PyCFunction)py_ue_fmodifier_keys_state_are_caps_locked, METH_VARARGS, "" }, + { NULL } /* Sentinel */ +}; + +static PyObject *ue_PyFModifierKeysState_str(ue_PyFModifierKeysState *self) +{ + return PyUnicode_FromFormat("", self); +} + +static PyTypeObject ue_PyFModifierKeysStateType = { + PyVarObject_HEAD_INIT(NULL, 0) + "unreal_engine.FModifierKeysState", /* tp_name */ + sizeof(ue_PyFModifierKeysState), /* tp_basicsize */ + 0, /* tp_itemsize */ + 0, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + (reprfunc)ue_PyFModifierKeysState_str, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ + "Unreal Engine FModifierKeysState", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + ue_PyFModifierKeysState_methods, /* tp_methods */ +}; + +static int ue_py_fmodifier_keys_state_init(ue_PyFModifierKeysState *self, PyObject *args, PyObject *kwargs) +{ + static char *kw_names[] = { + (char *)"left_shift_down", + (char *)"right_shift_down", + (char *)"left_control_down", + (char *)"right_control_down", + (char *)"left_alt_down", + (char *)"right_alt_down", + (char *)"left_command_down", + (char *)"right_command_down", + (char *)"are_caps_locked", + NULL }; + + PyObject *py_left_shift_down = nullptr; + PyObject *py_right_shift_down = nullptr; + PyObject *py_left_control_down = nullptr; + PyObject *py_right_control_down = nullptr; + PyObject *py_left_alt_down = nullptr; + PyObject *py_right_alt_down = nullptr; + PyObject *py_left_command_down = nullptr; + PyObject *py_right_command_down = nullptr; + PyObject *py_are_capse_locked = nullptr; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|OOOOOOOOO", kw_names, + &py_left_shift_down, + &py_right_shift_down, + &py_left_control_down, + &py_right_control_down, + &py_left_alt_down, + &py_right_alt_down, + &py_left_command_down, + &py_right_command_down, + &py_are_capse_locked)) + { + return -1; + } + + bool bInIsLeftShiftDown = (py_left_shift_down && PyObject_IsTrue(py_left_shift_down)); + bool bInIsRightShiftDown = (py_right_shift_down && PyObject_IsTrue(py_right_shift_down)); + bool bInIsLeftControlDown = (py_left_control_down && PyObject_IsTrue(py_left_control_down)); + bool bInIsRightControlDown = (py_right_control_down && PyObject_IsTrue(py_right_control_down)); + bool bInIsLeftAltDown = (py_left_alt_down && PyObject_IsTrue(py_left_alt_down)); + bool bInIsRightAltDown = (py_right_alt_down && PyObject_IsTrue(py_right_alt_down)); + bool bInIsLeftCommandDown = (py_left_command_down && PyObject_IsTrue(py_left_command_down)); + bool bInIsRightCommandDown = (py_right_command_down && PyObject_IsTrue(py_right_command_down)); + bool bInAreCapsLocked = (py_are_capse_locked && PyObject_IsTrue(py_are_capse_locked)); + + new(&self->modifier) FModifierKeysState( + bInIsLeftShiftDown, + bInIsRightShiftDown, + bInIsLeftControlDown, + bInIsRightControlDown, + bInIsLeftAltDown, + bInIsRightAltDown, + bInIsLeftCommandDown, + bInIsRightCommandDown, + bInAreCapsLocked); + + return 0; +} + +void ue_python_init_fmodifier_keys_state(PyObject *ue_module) +{ + + ue_PyFModifierKeysStateType.tp_init = (initproc)ue_py_fmodifier_keys_state_init; + + if (PyType_Ready(&ue_PyFModifierKeysStateType) < 0) + return; + + Py_INCREF(&ue_PyFModifierKeysStateType); + PyModule_AddObject(ue_module, "FModifierKeysState", (PyObject *)&ue_PyFModifierKeysStateType); +} + +PyObject *py_ue_new_fmodifier_keys_state(FModifierKeysState modifier) +{ + ue_PyFModifierKeysState *ret = (ue_PyFModifierKeysState *)PyObject_New(ue_PyFModifierKeysState, &ue_PyFModifierKeysStateType); + new(&ret->modifier) FModifierKeysState(modifier); + return (PyObject *)ret; +} + +ue_PyFModifierKeysState *py_ue_is_fmodifier_keys_state(PyObject *obj) +{ + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyFModifierKeysStateType)) + return nullptr; + return (ue_PyFModifierKeysState *)obj; +} \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h b/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h new file mode 100644 index 000000000..97b5190da --- /dev/null +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h @@ -0,0 +1,15 @@ +#pragma once + +#include "UnrealEnginePython.h" + +typedef struct +{ + PyObject_HEAD + /* Type-specific fields go here. */ + FModifierKeysState modifier; +} ue_PyFModifierKeysState; + +void ue_python_init_fmodifier_keys_state(PyObject *); + +PyObject *py_ue_new_fmodifier_keys_state(FModifierKeysState); +ue_PyFModifierKeysState *py_ue_is_fmodifier_keys_state(PyObject *); \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp index dc987bb13..54c1b1853 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp @@ -78,10 +78,61 @@ static PyTypeObject ue_PyFPointerEventType = { ue_PyFPointerEvent_methods, /* tp_methods */ }; +static int ue_py_fpointer_event_init(ue_PyFPointerEvent *self, PyObject *args, PyObject *kwargs) +{ + int pointer_index; + float ssp_x; + float ssp_y; + float lssp_x; + float lssp_y; + char *effecting; + float wheel_delta; + PyObject *py_modifier = nullptr; + + if (!PyArg_ParseTuple(args, "i(ff)(ff)s|fO", + &pointer_index, + &ssp_x, + &ssp_y, + &lssp_x, + &lssp_y, + &effecting, + &wheel_delta, + &py_modifier)) + { + return -1; + } + + TSet keys; + + FModifierKeysState modifier; + if (py_modifier) + { + ue_PyFModifierKeysState *f_modifier = py_ue_is_fmodifier_keys_state(py_modifier); + if (!f_modifier) + { + PyErr_SetString(PyExc_Exception, "argument is not a FModifierKeysState"); + return -1; + } + modifier = f_modifier->modifier; + } + + FPointerEvent Event(pointer_index, + FVector2D(ssp_x, ssp_y), + FVector2D(lssp_x, lssp_y), + keys, + FKey(effecting), wheel_delta, modifier); + + new(&self->pointer) FPointerEvent(Event); + new(&self->f_input.input) FInputEvent(Event); + + return 0; +} + void ue_python_init_fpointer_event(PyObject *ue_module) { ue_PyFPointerEventType.tp_base = &ue_PyFInputEventType; + ue_PyFPointerEventType.tp_init = (initproc)ue_py_fpointer_event_init; if (PyType_Ready(&ue_PyFPointerEventType) < 0) return; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp index 36ebad3ef..091dc665f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp @@ -242,6 +242,11 @@ static PyObject *py_ue_swidget_get_type(ue_PySWidget *self, PyObject * args) return PyUnicode_FromString(TCHAR_TO_UTF8(*(self->s_widget->GetTypeAsString()))); } +static PyObject *py_ue_swidget_get_cached_geometry(ue_PySWidget *self, PyObject * args) +{ + return py_ue_new_fgeometry(self->s_widget->GetCachedGeometry()); +} + static PyObject *py_ue_swidget_get_shared_reference_count(ue_PySWidget *self, PyObject * args) { return PyLong_FromLong(self->s_widget.GetSharedReferenceCount()); @@ -289,8 +294,40 @@ static PyObject *py_ue_swidget_on_mouse_button_down(ue_PySWidget *self, PyObject Py_RETURN_FALSE; } +static PyObject *py_ue_swidget_on_mouse_button_up(ue_PySWidget *self, PyObject * args) +{ + PyObject *py_geometry; + PyObject *py_pointer_event; + if (!PyArg_ParseTuple(args, "OO:on_mouse_button_up", &py_geometry, &py_pointer_event)) + { + return nullptr; + } + + ue_PyFGeometry *geometry = py_ue_is_fgeometry(py_geometry); + if (!geometry) + { + return PyErr_Format(PyExc_Exception, "argument is not a FGeomtry"); + } + + ue_PyFPointerEvent *pointer = py_ue_is_fpointer_event(py_pointer_event); + if (!pointer) + { + return PyErr_Format(PyExc_Exception, "argument is not a FPointerEvent"); + } + + FReply reply = self->s_widget->OnMouseButtonUp(geometry->geometry, pointer->pointer); + + if (reply.IsEventHandled()) + { + Py_RETURN_TRUE; + } + + Py_RETURN_FALSE; +} + static PyMethodDef ue_PySWidget_methods[] = { { "get_shared_reference_count", (PyCFunction)py_ue_swidget_get_shared_reference_count, METH_VARARGS, "" }, + { "get_cached_geometry", (PyCFunction)py_ue_swidget_get_cached_geometry, METH_VARARGS, "" }, { "get_children", (PyCFunction)py_ue_swidget_get_children, METH_VARARGS, "" }, { "get_type", (PyCFunction)py_ue_swidget_get_type, METH_VARARGS, "" }, { "set_tooltip_text", (PyCFunction)py_ue_swidget_set_tooltip_text, METH_VARARGS, "" }, @@ -307,6 +344,7 @@ static PyMethodDef ue_PySWidget_methods[] = { { "bind_on_mouse_move", (PyCFunction)py_ue_swidget_bind_on_mouse_move, METH_VARARGS, "" }, #endif { "on_mouse_button_down", (PyCFunction)py_ue_swidget_on_mouse_button_down, METH_VARARGS, "" }, + { "on_mouse_button_up", (PyCFunction)py_ue_swidget_on_mouse_button_up, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp index 664f4d305..100de470d 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp @@ -870,6 +870,7 @@ void ue_python_init_slate(PyObject *module) ue_python_init_fpointer_event(module); ue_python_init_fkey_event(module); ue_python_init_fcharacter_event(module); + ue_python_init_fmodifier_keys_state(module); ue_python_init_eslate_enums(module); } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h index 131a372ad..481b453d1 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h @@ -74,6 +74,7 @@ #include "UEPyFPointerEvent.h" #include "UEPyFKeyEvent.h" #include "UEPyFCharacterEvent.h" +#include "UEPyFModifierKeysState.h" #if WITH_EDITOR #include "UEPySEditorViewport.h" From 1940a769808fbd8f3508db3068fa54c77eaec1fd Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 12 Feb 2018 16:47:04 +0100 Subject: [PATCH 048/538] more FSlateApplication functions --- .../Private/Slate/UEPyFGeometry.cpp | 7 ++ .../UEPyFSlateApplication.cpp | 65 +++++++++++++++++++ 2 files changed, 72 insertions(+) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFGeometry.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFGeometry.cpp index f4177b3be..81bf1bf47 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFGeometry.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFGeometry.cpp @@ -8,6 +8,12 @@ static PyObject *py_ue_fgeometry_get_local_size(ue_PyFGeometry *self, PyObject * return Py_BuildValue("(ff)", size.X, size.Y); } +static PyObject *py_ue_fgeometry_get_absolute_position(ue_PyFGeometry *self, PyObject * args) +{ + FVector2D size = self->geometry.GetAbsolutePosition(); + return Py_BuildValue("(ff)", size.X, size.Y); +} + static PyObject *py_ue_fgeometry_absolute_to_local(ue_PyFGeometry *self, PyObject * args) { float x, y; @@ -20,6 +26,7 @@ static PyObject *py_ue_fgeometry_absolute_to_local(ue_PyFGeometry *self, PyObjec static PyMethodDef ue_PyFGeometry_methods[] = { { "get_local_size", (PyCFunction)py_ue_fgeometry_get_local_size, METH_VARARGS, "" }, + { "get_absolute_position", (PyCFunction)py_ue_fgeometry_get_absolute_position, METH_VARARGS, "" }, { "absolute_to_local", (PyCFunction)py_ue_fgeometry_absolute_to_local, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; diff --git a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp index be833499f..21935b116 100644 --- a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp +++ b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp @@ -14,6 +14,16 @@ static PyObject *py_ue_get_delta_time(PyObject *cls, PyObject * args) return PyFloat_FromDouble(FSlateApplication::Get().GetDeltaTime()); } +static PyObject *py_ue_get_modifier_keys(PyObject *cls, PyObject * args) +{ + return py_ue_new_fmodifier_keys_state(FSlateApplication::Get().GetModifierKeys()); +} + +static PyObject *py_ue_get_cursor_radius(PyObject *cls, PyObject * args) +{ + return PyFloat_FromDouble(FSlateApplication::Get().GetCursorRadius()); +} + static PyObject *py_ue_goto_line_in_source(PyObject *cls, PyObject * args) { char *filename; @@ -44,6 +54,56 @@ static PyObject *py_ue_is_mouse_attached(PyObject *cls, PyObject * args) Py_RETURN_FALSE; } +static PyObject *py_ue_set_all_user_focus(PyObject *cls, PyObject * args) +{ + PyObject *py_widget; + int focus_cause = (int)EFocusCause::SetDirectly; + + if (!PyArg_ParseTuple(args, "O|i:set_all_user_focus", &py_widget, &focus_cause)) + { + return nullptr; + } + + ue_PySWidget *py_swidget = py_ue_is_swidget(py_widget); + if (!py_swidget) + { + return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); + } + + TSharedPtr widget_ptr(py_swidget->s_widget); + + FSlateApplication::Get().SetAllUserFocus(widget_ptr, (EFocusCause)focus_cause); + + Py_RETURN_NONE; +} + +static PyObject *py_ue_set_application_scale(PyObject *cls, PyObject * args) +{ + float scale; + if (!PyArg_ParseTuple(args, "f:set_application_scale", &scale)) + { + return nullptr; + } + + FSlateApplication::Get().SetApplicationScale(scale); + + Py_RETURN_NONE; +} + +static PyObject *py_ue_set_cursor_pos(PyObject *cls, PyObject * args) +{ + float x; + float y; + if (!PyArg_ParseTuple(args, "(ff):set_cursor_pos", &x, &y)) + { + return nullptr; + } + + FSlateApplication::Get().SetCursorPos(FVector2D(x, y)); + + Py_RETURN_NONE; +} + static PyObject *py_ue_process_key_down_event(PyObject *cls, PyObject * args) { PyObject *py_event; @@ -96,12 +156,17 @@ static PyObject *py_ue_process_key_char_event(PyObject *cls, PyObject * args) static PyMethodDef ue_PyFSlateApplication_methods[] = { { "get_average_delta_time", (PyCFunction)py_ue_get_average_delta_time, METH_VARARGS | METH_CLASS, "" }, + { "get_cursor_radius", (PyCFunction)py_ue_get_cursor_radius, METH_VARARGS | METH_CLASS, "" }, { "get_delta_time", (PyCFunction)py_ue_get_delta_time, METH_VARARGS | METH_CLASS, "" }, + { "get_modifier_keys", (PyCFunction)py_ue_get_modifier_keys, METH_VARARGS | METH_CLASS, "" }, { "goto_line_in_source", (PyCFunction)py_ue_goto_line_in_source, METH_VARARGS | METH_CLASS, "" }, { "is_gamepad_attached", (PyCFunction)py_ue_is_gamepad_attached, METH_VARARGS | METH_CLASS, "" }, { "is_mouse_attached", (PyCFunction)py_ue_is_mouse_attached, METH_VARARGS | METH_CLASS, "" }, { "process_key_down_event", (PyCFunction)py_ue_process_key_down_event, METH_VARARGS | METH_CLASS, "" }, { "process_key_char_event", (PyCFunction)py_ue_process_key_char_event, METH_VARARGS | METH_CLASS, "" }, + { "set_application_scale", (PyCFunction)py_ue_set_application_scale, METH_VARARGS | METH_CLASS, "" }, + { "set_all_user_focus", (PyCFunction)py_ue_set_all_user_focus, METH_VARARGS | METH_CLASS, "" }, + { "set_cursor_pos", (PyCFunction)py_ue_set_cursor_pos, METH_VARARGS | METH_CLASS, "" }, { NULL } /* Sentinel */ }; From 08298530e9969f053dd0960dbe62f3b92b4869e7 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 12 Feb 2018 17:02:56 +0100 Subject: [PATCH 049/538] improved FPointerEvent --- Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp index 54c1b1853..0a13b1e51 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp @@ -103,6 +103,7 @@ static int ue_py_fpointer_event_init(ue_PyFPointerEvent *self, PyObject *args, P } TSet keys; + keys.Add(FKey(effecting)); FModifierKeysState modifier; if (py_modifier) From a1b8c99d191a1c95902a7102e41173ffaa3a8556 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 14 Feb 2018 09:32:29 +0100 Subject: [PATCH 050/538] first round of shared pointers refactoring --- .../ConsoleManager/UEPyIConsoleManager.cpp | 7 +-- .../ConsoleManager/UEPyIConsoleManager.h | 7 +-- .../Private/PythonDelegate.cpp | 52 +++++----------- .../Private/PythonSmartDelegate.cpp | 59 +++++++++++++++++++ .../UnrealEnginePython/Private/UEPyEditor.cpp | 10 ++-- .../UnrealEnginePython/Private/UEPyModule.cpp | 8 +-- .../UnrealEnginePython/Private/UEPyModule.h | 1 + .../UnrealEnginePython/Private/UEPyTicker.cpp | 45 +++++++------- .../UnrealEnginePython/Private/UEPyTicker.h | 1 - .../Private/UnrealEnginePythonPrivatePCH.h | 2 +- .../Public/PythonDelegate.h | 8 +-- .../Public/PythonSmartDelegate.h | 27 +++++++++ 12 files changed, 137 insertions(+), 90 deletions(-) create mode 100644 Source/UnrealEnginePython/Private/PythonSmartDelegate.cpp create mode 100644 Source/UnrealEnginePython/Public/PythonSmartDelegate.h diff --git a/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp b/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp index 2b080449d..31af0269e 100644 --- a/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp +++ b/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp @@ -515,7 +515,7 @@ static PyObject *py_ue_iconsole_manager_register_variable_float(PyObject *cls, P Py_RETURN_NONE; } -void UPythonConsoleDelegate::OnConsoleCommand(const TArray < FString > & InArgs) +void FPythonSmartConsoleDelegate::OnConsoleCommand(const TArray < FString > & InArgs) { FScopePythonGIL gil; @@ -563,11 +563,10 @@ static PyObject *py_ue_iconsole_manager_register_command(PyObject *cls, PyObject return PyErr_Format(PyExc_Exception, "console object \"%s\" already exists", key); } - UPythonConsoleDelegate *py_delegate = NewObject(); + TSharedRef py_delegate = MakeShareable(new FPythonSmartConsoleDelegate); py_delegate->SetPyCallable(py_callable); - py_delegate->AddToRoot(); FConsoleCommandWithArgsDelegate console_delegate; - console_delegate.BindUObject(py_delegate, &UPythonConsoleDelegate::OnConsoleCommand); + console_delegate.BindSP(py_delegate, &FPythonSmartConsoleDelegate::OnConsoleCommand); if (!IConsoleManager::Get().RegisterConsoleCommand(UTF8_TO_TCHAR(key), help ? UTF8_TO_TCHAR(help) : UTF8_TO_TCHAR(key), console_delegate, 0)) { diff --git a/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.h b/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.h index b147fdf7e..01815ccfd 100644 --- a/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.h +++ b/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.h @@ -3,18 +3,15 @@ #include "UnrealEnginePython.h" #include "Runtime/Core/Public/HAL/IConsoleManager.h" -#include "UEPyIConsoleManager.generated.h" typedef struct { PyObject_HEAD - /* Type-specific fields go here. */ + /* Type-specific fields go here. */ } ue_PyIConsoleManager; -UCLASS() -class UPythonConsoleDelegate : public UPythonDelegate +class FPythonSmartConsoleDelegate : public FPythonSmartDelegate { - GENERATED_BODY() public: void OnConsoleCommand(const TArray < FString > &InArgs); diff --git a/Source/UnrealEnginePython/Private/PythonDelegate.cpp b/Source/UnrealEnginePython/Private/PythonDelegate.cpp index 302f4b618..b466a5ec2 100644 --- a/Source/UnrealEnginePython/Private/PythonDelegate.cpp +++ b/Source/UnrealEnginePython/Private/PythonDelegate.cpp @@ -1,7 +1,8 @@ #include "UnrealEnginePythonPrivatePCH.h" #include "PythonDelegate.h" -UPythonDelegate::UPythonDelegate() { +UPythonDelegate::UPythonDelegate() +{ py_callable = nullptr; signature_set = false; } @@ -29,15 +30,18 @@ void UPythonDelegate::ProcessEvent(UFunction *function, void *Parms) PyObject *py_args = nullptr; - if (signature_set) { + if (signature_set) + { py_args = PyTuple_New(signature->NumParms); Py_ssize_t argn = 0; TFieldIterator PArgs(signature); - for (; PArgs && argn < signature->NumParms && ((PArgs->PropertyFlags & (CPF_Parm | CPF_ReturnParm)) == CPF_Parm); ++PArgs) { + for (; PArgs && argn < signature->NumParms && ((PArgs->PropertyFlags & (CPF_Parm | CPF_ReturnParm)) == CPF_Parm); ++PArgs) + { UProperty *prop = *PArgs; PyObject *arg = ue_py_convert_property(prop, (uint8 *)Parms); - if (!arg) { + if (!arg) + { unreal_engine_py_log_error(); Py_DECREF(py_args); return; @@ -49,7 +53,8 @@ void UPythonDelegate::ProcessEvent(UFunction *function, void *Parms) PyObject *ret = PyObject_CallObject(py_callable, py_args); Py_XDECREF(py_args); - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); return; } @@ -75,7 +80,8 @@ void UPythonDelegate::PyInputHandler() { FScopePythonGIL gil; PyObject *ret = PyObject_CallObject(py_callable, NULL); - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); return; } @@ -86,41 +92,13 @@ void UPythonDelegate::PyInputAxisHandler(float value) { FScopePythonGIL gil; PyObject *ret = PyObject_CallFunction(py_callable, (char *)"f", value); - if (!ret) { - unreal_engine_py_log_error(); - return; - } - Py_DECREF(ret); -} - -bool UPythonDelegate::Tick(float DeltaTime) -{ - FScopePythonGIL gil; - PyObject *ret = PyObject_CallFunction(py_callable, (char *)"f", DeltaTime); - if (!ret) { - unreal_engine_py_log_error(); - return false; - } - if (PyObject_IsTrue(ret)) { - Py_DECREF(ret); - return true; - } - Py_DECREF(ret); - return false; -} - -#if WITH_EDITOR -void UPythonDelegate::PyFOnAssetPostImport(UFactory *factory, UObject *u_object) -{ - FScopePythonGIL gil; - PyObject *ret = PyObject_CallFunction(py_callable, (char *)"OO", ue_get_python_uobject((UObject *)factory), ue_get_python_uobject(u_object)); - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); return; } Py_DECREF(ret); } -#endif UPythonDelegate::~UPythonDelegate() @@ -130,4 +108,4 @@ UPythonDelegate::~UPythonDelegate() #if defined(UEPY_MEMORY_DEBUG) UE_LOG(LogPython, Warning, TEXT("PythonDelegate callable XDECREF'ed")); #endif -} +} \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/PythonSmartDelegate.cpp b/Source/UnrealEnginePython/Private/PythonSmartDelegate.cpp new file mode 100644 index 000000000..1bcc6ef26 --- /dev/null +++ b/Source/UnrealEnginePython/Private/PythonSmartDelegate.cpp @@ -0,0 +1,59 @@ +#include "UnrealEnginePythonPrivatePCH.h" +#include "PythonSmartDelegate.h" + +FPythonSmartDelegate::FPythonSmartDelegate() +{ + py_callable = nullptr; +} + +void FPythonSmartDelegate::SetPyCallable(PyObject *callable) +{ + // do not acquire the gil here as we set the callable in python call themselves + py_callable = callable; + Py_INCREF(py_callable); +} + + + +bool FPythonSmartDelegate::Tick(float DeltaTime) +{ + FScopePythonGIL gil; + PyObject *ret = PyObject_CallFunction(py_callable, (char *)"f", DeltaTime); + if (!ret) + { + unreal_engine_py_log_error(); + return false; + } + if (PyObject_IsTrue(ret)) + { + Py_DECREF(ret); + return true; + } + Py_DECREF(ret); + return false; +} + +#if WITH_EDITOR +void FPythonSmartDelegate::PyFOnAssetPostImport(UFactory *factory, UObject *u_object) +{ + FScopePythonGIL gil; + PyObject *ret = PyObject_CallFunction(py_callable, (char *)"OO", ue_get_python_uobject((UObject *)factory), ue_get_python_uobject(u_object)); + if (!ret) + { + unreal_engine_py_log_error(); + return; + } + Py_DECREF(ret); + +} +#endif + + +FPythonSmartDelegate::~FPythonSmartDelegate() +{ + FScopePythonGIL gil; + Py_XDECREF(py_callable); +#if defined(UEPY_MEMORY_DEBUG) + UE_LOG(LogPython, Warning, TEXT("PythonSmartDelegate callable XDECREF'ed")); +#endif +} \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index b437f35a0..db643f084 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -1404,7 +1404,7 @@ PyObject *py_unreal_engine_blueprint_set_variable_visibility(PyObject * self, Py if (!PyArg_ParseTuple(args, "OsO:blueprint_set_variable_visibility", &py_blueprint, &name, &visibility)) { return NULL; -} + } if (!ue_is_pyuobject(py_blueprint)) { @@ -1678,12 +1678,10 @@ PyObject *py_unreal_engine_editor_on_asset_post_import(PyObject * self, PyObject if (!PyCallable_Check(py_callable)) return PyErr_Format(PyExc_Exception, "object is not a callable"); - UPythonDelegate *py_delegate = NewObject(); + TSharedRef py_delegate = MakeShareable(new FPythonSmartDelegate); py_delegate->SetPyCallable(py_callable); - py_delegate->AddToRoot(); - FEditorDelegates::OnAssetPostImport.AddUObject(py_delegate, &UPythonDelegate::PyFOnAssetPostImport); - Py_INCREF(Py_None); - return Py_None; + FEditorDelegates::OnAssetPostImport.AddSP(py_delegate, &FPythonSmartDelegate::PyFOnAssetPostImport); + Py_RETURN_NONE; } PyObject *py_unreal_engine_create_material_instance(PyObject * self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index ae9f906ee..098ffc0de 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -2156,7 +2156,7 @@ void unreal_engine_py_log_error() if (zero) { msg = PyBytes_AsString(zero); -} + } #else msg = PyString_AsString(PyObject_Str(value)); #endif @@ -2211,7 +2211,7 @@ void unreal_engine_py_log_error() } PyErr_Clear(); - } +} // retrieve a UWorld from a generic UObject (if possible) UWorld *ue_get_uworld(ue_PyUObject *py_obj) @@ -3102,10 +3102,10 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * #else prop->ImportText(*default_key_value, prop->ContainerPtrToValuePtr(buffer), PPF_Localized, NULL); #endif - } + } #endif + } } -} Py_ssize_t tuple_len = PyTuple_Size(args); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.h b/Source/UnrealEnginePython/Private/UEPyModule.h index 3b8a3558b..58f87cb77 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.h +++ b/Source/UnrealEnginePython/Private/UEPyModule.h @@ -2,6 +2,7 @@ #include "UnrealEnginePython.h" #include "PythonDelegate.h" +#include "PythonSmartDelegate.h" #include "UEPyUScriptStruct.h" #include #include diff --git a/Source/UnrealEnginePython/Private/UEPyTicker.cpp b/Source/UnrealEnginePython/Private/UEPyTicker.cpp index 04de782ea..55dcd660a 100644 --- a/Source/UnrealEnginePython/Private/UEPyTicker.cpp +++ b/Source/UnrealEnginePython/Private/UEPyTicker.cpp @@ -3,15 +3,14 @@ #include "UEPyTicker.h" // destructor -static void ue_pyfdelegatehandle_dealloc(ue_PyFDelegateHandle *self) { - if (!self->garbaged) { +static void ue_pyfdelegatehandle_dealloc(ue_PyFDelegateHandle *self) +{ + if (!self->garbaged) + { FTicker::GetCoreTicker().RemoveTicker(self->dhandle); // useless ;) self->garbaged = true; } - if (self->py_delegate && self->py_delegate->IsValidLowLevel() && self->py_delegate->IsRooted()) { - self->py_delegate->RemoveFromRoot(); - } Py_TYPE(self)->tp_free((PyObject *)self); } @@ -46,7 +45,8 @@ static PyTypeObject ue_PyFDelegateHandleType = { 0, /* tp_methods */ }; -void ue_python_init_fdelegatehandle(PyObject *ue_module) { +void ue_python_init_fdelegatehandle(PyObject *ue_module) +{ ue_PyFDelegateHandleType.tp_new = PyType_GenericNew; if (PyType_Ready(&ue_PyFDelegateHandleType) < 0) return; @@ -55,11 +55,13 @@ void ue_python_init_fdelegatehandle(PyObject *ue_module) { PyModule_AddObject(ue_module, "FDelegateHandle", (PyObject *)&ue_PyFDelegateHandleType); } -PyObject *py_unreal_engine_add_ticker(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_add_ticker(PyObject * self, PyObject * args) +{ PyObject *py_callable; float delay = 0; - if (!PyArg_ParseTuple(args, "O|f:add_ticker", &py_callable, &delay)) { + if (!PyArg_ParseTuple(args, "O|f:add_ticker", &py_callable, &delay)) + { return nullptr; } @@ -67,32 +69,29 @@ PyObject *py_unreal_engine_add_ticker(PyObject * self, PyObject * args) { return PyErr_Format(PyExc_Exception, "argument is not a callable"); FTickerDelegate ticker_delegate; - UPythonDelegate *py_delegate = NewObject(); + TSharedRef py_delegate = MakeShareable(new FPythonSmartDelegate); py_delegate->SetPyCallable(py_callable); - ticker_delegate.BindUObject(py_delegate, &UPythonDelegate::Tick); - - // avoid the delegate to be GC'ed - py_delegate->AddToRoot(); + ticker_delegate.BindSP(py_delegate, &FPythonSmartDelegate::Tick); FDelegateHandle dhandle = FTicker::GetCoreTicker().AddTicker(ticker_delegate, delay); ue_PyFDelegateHandle *ret = (ue_PyFDelegateHandle *)PyObject_New(ue_PyFDelegateHandle, &ue_PyFDelegateHandleType); - if (!ret) { + if (!ret) + { FTicker::GetCoreTicker().RemoveTicker(dhandle); - py_delegate->RemoveFromRoot(); return PyErr_Format(PyExc_Exception, "unable to allocate FDelegateHandle python object"); } ret->dhandle = dhandle; - ret->py_delegate = py_delegate; ret->garbaged = false; - return (PyObject *)ret; } -PyObject *py_unreal_engine_remove_ticker(PyObject * self, PyObject * args) { +PyObject *py_unreal_engine_remove_ticker(PyObject * self, PyObject * args) +{ PyObject *py_obj; - if (!PyArg_ParseTuple(args, "O:remove_ticker", &py_obj)) { + if (!PyArg_ParseTuple(args, "O:remove_ticker", &py_obj)) + { return NULL; } @@ -101,15 +100,11 @@ PyObject *py_unreal_engine_remove_ticker(PyObject * self, PyObject * args) { ue_PyFDelegateHandle *py_handle = (ue_PyFDelegateHandle *)py_obj; - if (!py_handle->garbaged) { + if (!py_handle->garbaged) + { FTicker::GetCoreTicker().RemoveTicker(py_handle->dhandle); py_handle->garbaged = true; } - if (py_handle->py_delegate) { - py_handle->py_delegate->RemoveFromRoot(); - py_handle->py_delegate = nullptr; - } - Py_RETURN_NONE; } \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UEPyTicker.h b/Source/UnrealEnginePython/Private/UEPyTicker.h index 11ed989fe..b83c33975 100644 --- a/Source/UnrealEnginePython/Private/UEPyTicker.h +++ b/Source/UnrealEnginePython/Private/UEPyTicker.h @@ -8,7 +8,6 @@ typedef struct { PyObject_HEAD /* Type-specific fields go here. */ FDelegateHandle dhandle; - UPythonDelegate *py_delegate; bool garbaged; } ue_PyFDelegateHandle; diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h index 342c4e96d..ff5a52252 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h +++ b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h @@ -2,7 +2,7 @@ #pragma once -//#define UEPY_MEMORY_DEBUG 1 +#define UEPY_MEMORY_DEBUG 1 //#define UEPY_THREADING 1 #include "UnrealEnginePython.h" diff --git a/Source/UnrealEnginePython/Public/PythonDelegate.h b/Source/UnrealEnginePython/Public/PythonDelegate.h index 2a8b0bc8a..2a80205c6 100644 --- a/Source/UnrealEnginePython/Public/PythonDelegate.h +++ b/Source/UnrealEnginePython/Public/PythonDelegate.h @@ -18,12 +18,6 @@ class UPythonDelegate : public UObject void PyInputHandler(); void PyInputAxisHandler(float value); - bool Tick(float DeltaTime); - -#if WITH_EDITOR - void PyFOnAssetPostImport(UFactory *factory, UObject *u_object); -#endif - protected: UFunction *signature; bool signature_set; @@ -33,6 +27,6 @@ class UPythonDelegate : public UObject PyObject *py_callable; - + }; diff --git a/Source/UnrealEnginePython/Public/PythonSmartDelegate.h b/Source/UnrealEnginePython/Public/PythonSmartDelegate.h new file mode 100644 index 000000000..f08a43a87 --- /dev/null +++ b/Source/UnrealEnginePython/Public/PythonSmartDelegate.h @@ -0,0 +1,27 @@ +#pragma once + +#include "UnrealEnginePythonPrivatePCH.h" + +class FPythonSmartDelegate : public TSharedFromThis +{ + +public: + FPythonSmartDelegate(); + ~FPythonSmartDelegate(); + + void SetPyCallable(PyObject *callable); + + + + bool Tick(float DeltaTime); + +#if WITH_EDITOR + void PyFOnAssetPostImport(UFactory *factory, UObject *u_object); +#endif + +protected: + + PyObject *py_callable; + +}; + From 5ad1931472d7a2380398edc1ebdc3f503c72822f Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 14 Feb 2018 10:57:34 +0100 Subject: [PATCH 051/538] another attempt of improving delegates memory management --- .../Private/Http/UEPyIHttpRequest.cpp | 143 +++++++++++------- .../Private/Http/UEPyIHttpRequest.h | 8 +- .../UnrealEnginePython/Private/UEPyTicker.cpp | 28 +++- .../UnrealEnginePython/Private/UEPyTicker.h | 1 + 4 files changed, 115 insertions(+), 65 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.cpp b/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.cpp index a69bd690e..5147c25c9 100644 --- a/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.cpp +++ b/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.cpp @@ -3,10 +3,12 @@ #include "Runtime/Online/HTTP/Public/HttpManager.h" -static PyObject *py_ue_ihttp_request_set_verb(ue_PyIHttpRequest *self, PyObject * args) { +static PyObject *py_ue_ihttp_request_set_verb(ue_PyIHttpRequest *self, PyObject * args) +{ char *verb; - if (!PyArg_ParseTuple(args, "s:set_verb", &verb)) { + if (!PyArg_ParseTuple(args, "s:set_verb", &verb)) + { return NULL; } @@ -16,10 +18,12 @@ static PyObject *py_ue_ihttp_request_set_verb(ue_PyIHttpRequest *self, PyObject return Py_None; } -static PyObject *py_ue_ihttp_request_set_url(ue_PyIHttpRequest *self, PyObject * args) { +static PyObject *py_ue_ihttp_request_set_url(ue_PyIHttpRequest *self, PyObject * args) +{ char *url; - if (!PyArg_ParseTuple(args, "s:set_url", &url)) { + if (!PyArg_ParseTuple(args, "s:set_url", &url)) + { return NULL; } @@ -29,11 +33,13 @@ static PyObject *py_ue_ihttp_request_set_url(ue_PyIHttpRequest *self, PyObject * return Py_None; } -static PyObject *py_ue_ihttp_request_set_header(ue_PyIHttpRequest *self, PyObject * args) { +static PyObject *py_ue_ihttp_request_set_header(ue_PyIHttpRequest *self, PyObject * args) +{ char *key; char *value; - if (!PyArg_ParseTuple(args, "ss:set_header", &key, &value)) { + if (!PyArg_ParseTuple(args, "ss:set_header", &key, &value)) + { return NULL; } @@ -43,11 +49,13 @@ static PyObject *py_ue_ihttp_request_set_header(ue_PyIHttpRequest *self, PyObjec return Py_None; } -static PyObject *py_ue_ihttp_request_append_to_header(ue_PyIHttpRequest *self, PyObject * args) { +static PyObject *py_ue_ihttp_request_append_to_header(ue_PyIHttpRequest *self, PyObject * args) +{ char *key; char *value; - if (!PyArg_ParseTuple(args, "ss:append_to_header", &key, &value)) { + if (!PyArg_ParseTuple(args, "ss:append_to_header", &key, &value)) + { return NULL; } @@ -57,17 +65,21 @@ static PyObject *py_ue_ihttp_request_append_to_header(ue_PyIHttpRequest *self, P return Py_None; } -static PyObject *py_ue_ihttp_request_set_content(ue_PyIHttpRequest *self, PyObject * args) { +static PyObject *py_ue_ihttp_request_set_content(ue_PyIHttpRequest *self, PyObject * args) +{ PyObject *py_obj; - if (!PyArg_ParseTuple(args, "O:set_content", &py_obj)) { + if (!PyArg_ParseTuple(args, "O:set_content", &py_obj)) + { return NULL; } - if (PyUnicode_Check(py_obj)) { + if (PyUnicode_Check(py_obj)) + { self->http_request->SetContentAsString(UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_obj))); } - else if (PyBytes_Check(py_obj)) { + else if (PyBytes_Check(py_obj)) + { char *buf = nullptr; Py_ssize_t len = 0; PyBytes_AsStringAndSize(py_obj, &buf, &len); @@ -80,10 +92,12 @@ static PyObject *py_ue_ihttp_request_set_content(ue_PyIHttpRequest *self, PyObje return Py_None; } -static PyObject *py_ue_ihttp_request_tick(ue_PyIHttpRequest *self, PyObject * args) { +static PyObject *py_ue_ihttp_request_tick(ue_PyIHttpRequest *self, PyObject * args) +{ float delta_seconds; - if (!PyArg_ParseTuple(args, "f:tick", &delta_seconds)) { + if (!PyArg_ParseTuple(args, "f:tick", &delta_seconds)) + { return NULL; } @@ -95,112 +109,129 @@ static PyObject *py_ue_ihttp_request_tick(ue_PyIHttpRequest *self, PyObject * ar return Py_None; } -static PyObject *py_ue_ihttp_request_process_request(ue_PyIHttpRequest *self, PyObject * args) { +static PyObject *py_ue_ihttp_request_process_request(ue_PyIHttpRequest *self, PyObject * args) +{ self->http_request->ProcessRequest(); Py_INCREF(Py_None); return Py_None; } -static PyObject *py_ue_ihttp_request_cancel_request(ue_PyIHttpRequest *self, PyObject * args) { +static PyObject *py_ue_ihttp_request_cancel_request(ue_PyIHttpRequest *self, PyObject * args) +{ self->http_request->CancelRequest(); Py_INCREF(Py_None); return Py_None; } -static PyObject *py_ue_ihttp_request_get_status(ue_PyIHttpRequest *self, PyObject * args) { +static PyObject *py_ue_ihttp_request_get_status(ue_PyIHttpRequest *self, PyObject * args) +{ return PyLong_FromLong((int)self->http_request->GetStatus()); } -static PyObject *py_ue_ihttp_request_get_verb(ue_PyIHttpRequest *self, PyObject * args) { +static PyObject *py_ue_ihttp_request_get_verb(ue_PyIHttpRequest *self, PyObject * args) +{ return PyUnicode_FromString(TCHAR_TO_UTF8(*self->http_request->GetVerb())); } -static PyObject *py_ue_ihttp_request_get_elapsed_time(ue_PyIHttpRequest *self, PyObject * args) { +static PyObject *py_ue_ihttp_request_get_elapsed_time(ue_PyIHttpRequest *self, PyObject * args) +{ return PyFloat_FromDouble(self->http_request->GetElapsedTime()); } -static PyObject *py_ue_ihttp_request_get_response(ue_PyIHttpRequest *self, PyObject * args) { +static PyObject *py_ue_ihttp_request_get_response(ue_PyIHttpRequest *self, PyObject * args) +{ FHttpResponsePtr response = self->http_request->GetResponse(); - if (!response.IsValid()) { + if (!response.IsValid()) + { return PyErr_Format(PyExc_Exception, "unable to retrieve IHttpResponse"); } return py_ue_new_ihttp_response(response.Get()); } -void UPythonHttpDelegate::OnRequestComplete(FHttpRequestPtr request, FHttpResponsePtr response, bool successful) { +void FPythonSmartHttpDelegate::OnRequestComplete(FHttpRequestPtr request, FHttpResponsePtr response, bool successful) +{ FScopePythonGIL gil; - if (!request.IsValid() || !response.IsValid()) { + if (!request.IsValid() || !response.IsValid()) + { UE_LOG(LogPython, Error, TEXT("Unable to retrieve HTTP infos")); return; } PyObject *ret = PyObject_CallFunction(py_callable, (char *)"OOO", py_http_request, py_ue_new_ihttp_response(response.Get()), successful ? Py_True : Py_False); - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); return; } Py_DECREF(ret); } -void UPythonHttpDelegate::OnRequestProgress(FHttpRequestPtr request, int32 sent, int32 received) { +void FPythonSmartHttpDelegate::OnRequestProgress(FHttpRequestPtr request, int32 sent, int32 received) +{ FScopePythonGIL gil; - if (!request.IsValid()) { + if (!request.IsValid()) + { UE_LOG(LogPython, Error, TEXT("Unable to retrieve HTTP infos")); return; } PyObject *ret = PyObject_CallFunction(py_callable, (char *)"Oii", py_http_request, sent, received); - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); return; } Py_DECREF(ret); } -static PyObject *py_ue_ihttp_request_bind_on_process_request_complete(ue_PyIHttpRequest *self, PyObject * args) { +static PyObject *py_ue_ihttp_request_bind_on_process_request_complete(ue_PyIHttpRequest *self, PyObject * args) +{ PyObject *py_callable; - if (!PyArg_ParseTuple(args, "O:bind_on_process_request_complete", &py_callable)) { - return NULL; + if (!PyArg_ParseTuple(args, "O:bind_on_process_request_complete", &py_callable)) + { + return nullptr; } - if (!PyCallable_Check(py_callable)) { + if (!PyCallable_Check(py_callable)) + { return PyErr_Format(PyExc_Exception, "argument is not a callable"); } - UPythonHttpDelegate *py_delegate = NewObject(); + TSharedRef py_delegate = MakeShareable(new FPythonSmartHttpDelegate); py_delegate->SetPyCallable(py_callable); // this trick avoids generating a new python object py_delegate->SetPyHttpRequest(self); - self->http_request->OnProcessRequestComplete().BindUObject(py_delegate, &UPythonHttpDelegate::OnRequestComplete); + self->http_request->OnProcessRequestComplete().BindSP(py_delegate, &FPythonSmartHttpDelegate::OnRequestComplete); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } -static PyObject *py_ue_ihttp_request_bind_on_request_progress(ue_PyIHttpRequest *self, PyObject * args) { +static PyObject *py_ue_ihttp_request_bind_on_request_progress(ue_PyIHttpRequest *self, PyObject * args) +{ PyObject *py_callable; - if (!PyArg_ParseTuple(args, "O:bind_on_request_progress", &py_callable)) { - return NULL; + if (!PyArg_ParseTuple(args, "O:bind_on_request_progress", &py_callable)) + { + return nullptr; } - if (!PyCallable_Check(py_callable)) { + if (!PyCallable_Check(py_callable)) + { return PyErr_Format(PyExc_Exception, "argument is not a callable"); } - UPythonHttpDelegate *py_delegate = NewObject(); + TSharedRef py_delegate = MakeShareable(new FPythonSmartHttpDelegate); py_delegate->SetPyCallable(py_callable); // this trick avoids generating a new python object py_delegate->SetPyHttpRequest(self); - self->http_request->OnRequestProgress().BindUObject(py_delegate, &UPythonHttpDelegate::OnRequestProgress); + self->http_request->OnRequestProgress().BindSP(py_delegate, &FPythonSmartHttpDelegate::OnRequestProgress); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyMethodDef ue_PyIHttpRequest_methods[] = { @@ -228,12 +259,13 @@ static PyObject *ue_PyIHttpRequest_str(ue_PyIHttpRequest *self) &self->http_request.Get()); } -static void ue_PyIHttpRequest_dealloc(ue_PyIHttpRequest *self) { +static void ue_PyIHttpRequest_dealloc(ue_PyIHttpRequest *self) +{ #if defined(UEPY_MEMORY_DEBUG) - UE_LOG(LogPython, Warning, TEXT("Destroying ue_PyIHttpRequest %p mapped to IHttpRequest %p"), self, &self->http_request.Get()); + UE_LOG(LogPython, Warning, TEXT("Destroying ue_PyIHttpRequest %p mapped to IHttpRequest %p"), self, &self->http_request.Get()); #endif Py_DECREF(self->py_dict); - Py_TYPE(self)->tp_free((PyObject *)self); + Py_TYPE(self)->tp_free((PyObject *)self); } static PyTypeObject ue_PyIHttpRequestType = { @@ -269,19 +301,23 @@ static PyTypeObject ue_PyIHttpRequestType = { 0, }; -static int ue_py_ihttp_request_init(ue_PyIHttpRequest *self, PyObject *args, PyObject *kwargs) { +static int ue_py_ihttp_request_init(ue_PyIHttpRequest *self, PyObject *args, PyObject *kwargs) +{ char *verb = nullptr; char* url = nullptr; - if (!PyArg_ParseTuple(args, "|ss:__init__", &verb, &url)) { + if (!PyArg_ParseTuple(args, "|ss:__init__", &verb, &url)) + { return -1; } new(&self->http_request) TSharedRef(FHttpModule::Get().CreateRequest()); self->py_dict = PyDict_New(); - if (verb) { + if (verb) + { self->http_request->SetVerb(UTF8_TO_TCHAR(verb)); } - if (url) { + if (url) + { self->http_request->SetURL(UTF8_TO_TCHAR(url)); } @@ -289,7 +325,8 @@ static int ue_py_ihttp_request_init(ue_PyIHttpRequest *self, PyObject *args, PyO return 0; } -void ue_python_init_ihttp_request(PyObject *ue_module) { +void ue_python_init_ihttp_request(PyObject *ue_module) +{ ue_PyIHttpRequestType.tp_new = PyType_GenericNew; ue_PyIHttpRequestType.tp_init = (initproc)ue_py_ihttp_request_init; @@ -297,8 +334,8 @@ void ue_python_init_ihttp_request(PyObject *ue_module) { ue_PyIHttpRequestType.tp_base = &ue_PyIHttpBaseType; ue_PyIHttpRequestType.tp_getattro = PyObject_GenericGetAttr; - ue_PyIHttpRequestType.tp_setattro = PyObject_GenericSetAttr; - ue_PyIHttpRequestType.tp_dictoffset = offsetof(ue_PyIHttpRequest, py_dict); + ue_PyIHttpRequestType.tp_setattro = PyObject_GenericSetAttr; + ue_PyIHttpRequestType.tp_dictoffset = offsetof(ue_PyIHttpRequest, py_dict); if (PyType_Ready(&ue_PyIHttpRequestType) < 0) return; diff --git a/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.h b/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.h index b527012d9..4873942f6 100644 --- a/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.h +++ b/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.h @@ -5,8 +5,6 @@ #include "Runtime/Online/HTTP/Public/Interfaces/IHttpRequest.h" #include "Runtime/Online/HTTP/Public/HttpModule.h" -#include "UEPyIHttpRequest.generated.h" - extern PyTypeObject ue_PyIHttpBaseType; @@ -20,10 +18,8 @@ typedef struct { void ue_python_init_ihttp_request(PyObject *); -UCLASS() -class UPythonHttpDelegate : public UPythonDelegate +class FPythonSmartHttpDelegate : public FPythonSmartDelegate { - GENERATED_BODY() public: void OnRequestComplete(FHttpRequestPtr request, FHttpResponsePtr response, bool successful); @@ -34,7 +30,7 @@ class UPythonHttpDelegate : public UPythonDelegate Py_INCREF(py_http_request); } - ~UPythonHttpDelegate() { + ~FPythonSmartHttpDelegate() { Py_XDECREF(py_http_request); } protected: diff --git a/Source/UnrealEnginePython/Private/UEPyTicker.cpp b/Source/UnrealEnginePython/Private/UEPyTicker.cpp index 55dcd660a..73af0f7a5 100644 --- a/Source/UnrealEnginePython/Private/UEPyTicker.cpp +++ b/Source/UnrealEnginePython/Private/UEPyTicker.cpp @@ -11,6 +11,12 @@ static void ue_pyfdelegatehandle_dealloc(ue_PyFDelegateHandle *self) // useless ;) self->garbaged = true; } + + if (self->delegate_ptr.IsValid()) + { + self->delegate_ptr.Reset(); + } + Py_TYPE(self)->tp_free((PyObject *)self); } @@ -55,6 +61,7 @@ void ue_python_init_fdelegatehandle(PyObject *ue_module) PyModule_AddObject(ue_module, "FDelegateHandle", (PyObject *)&ue_PyFDelegateHandleType); } + PyObject *py_unreal_engine_add_ticker(PyObject * self, PyObject * args) { @@ -68,20 +75,25 @@ PyObject *py_unreal_engine_add_ticker(PyObject * self, PyObject * args) if (!PyCallable_Check(py_callable)) return PyErr_Format(PyExc_Exception, "argument is not a callable"); + ue_PyFDelegateHandle *ret = (ue_PyFDelegateHandle *)PyObject_New(ue_PyFDelegateHandle, &ue_PyFDelegateHandleType); + if (!ret) + { + return PyErr_Format(PyExc_Exception, "unable to allocate FDelegateHandle python object"); + } + FTickerDelegate ticker_delegate; TSharedRef py_delegate = MakeShareable(new FPythonSmartDelegate); py_delegate->SetPyCallable(py_callable); ticker_delegate.BindSP(py_delegate, &FPythonSmartDelegate::Tick); - FDelegateHandle dhandle = FTicker::GetCoreTicker().AddTicker(ticker_delegate, delay); - ue_PyFDelegateHandle *ret = (ue_PyFDelegateHandle *)PyObject_New(ue_PyFDelegateHandle, &ue_PyFDelegateHandleType); - if (!ret) + ret->dhandle = FTicker::GetCoreTicker().AddTicker(ticker_delegate, delay); + if (!ret->dhandle.IsValid()) { - FTicker::GetCoreTicker().RemoveTicker(dhandle); - return PyErr_Format(PyExc_Exception, "unable to allocate FDelegateHandle python object"); + Py_DECREF(ret); + return PyErr_Format(PyExc_Exception, "unable to add FTicker"); } - ret->dhandle = dhandle; + new(&ret->delegate_ptr) TSharedPtr(py_delegate); ret->garbaged = false; return (PyObject *)ret; } @@ -104,6 +116,10 @@ PyObject *py_unreal_engine_remove_ticker(PyObject * self, PyObject * args) { FTicker::GetCoreTicker().RemoveTicker(py_handle->dhandle); py_handle->garbaged = true; + if (py_handle->delegate_ptr.IsValid()) + { + py_handle->delegate_ptr.Reset(); + } } Py_RETURN_NONE; diff --git a/Source/UnrealEnginePython/Private/UEPyTicker.h b/Source/UnrealEnginePython/Private/UEPyTicker.h index b83c33975..3e387277d 100644 --- a/Source/UnrealEnginePython/Private/UEPyTicker.h +++ b/Source/UnrealEnginePython/Private/UEPyTicker.h @@ -9,6 +9,7 @@ typedef struct { /* Type-specific fields go here. */ FDelegateHandle dhandle; bool garbaged; + TSharedPtr delegate_ptr; } ue_PyFDelegateHandle; PyObject *py_unreal_engine_add_ticker(PyObject *, PyObject *); From 8a93833cb0f4f0db5ce70875d6106f093dc0e881 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 14 Feb 2018 19:37:48 +0100 Subject: [PATCH 052/538] added canary --- Source/UnrealEnginePython/Private/PyActor.cpp | 6 +- .../Private/PyCharacter.cpp | 2 - Source/UnrealEnginePython/Private/PyHUD.cpp | 2 - Source/UnrealEnginePython/Private/PyPawn.cpp | 2 - .../Private/PyUserWidget.cpp | 2 - .../Private/PythonComponent.cpp | 2 - .../Private/PythonSmartDelegate.cpp | 12 ++ .../UnrealEnginePython/Private/UEPyModule.cpp | 149 +++++++++++------- .../UnrealEnginePython/Private/UEPyModule.h | 17 +- .../UnrealEnginePython/Private/UEPyTimer.cpp | 8 +- Source/UnrealEnginePython/Private/UEPyTimer.h | 1 + .../Private/UObject/UEPyActor.cpp | 55 +++---- .../Private/UObject/UEPyInput.cpp | 30 +--- .../Private/UnrealEnginePython.cpp | 2 + .../UnrealEnginePython/Public/PythonCanary.h | 25 +++ .../Public/PythonSmartDelegate.h | 1 + .../Public/UnrealEnginePython.h | 11 +- 17 files changed, 186 insertions(+), 141 deletions(-) create mode 100644 Source/UnrealEnginePython/Public/PythonCanary.h diff --git a/Source/UnrealEnginePython/Private/PyActor.cpp b/Source/UnrealEnginePython/Private/PyActor.cpp index f442b2cfe..9aa9dcdb1 100644 --- a/Source/UnrealEnginePython/Private/PyActor.cpp +++ b/Source/UnrealEnginePython/Private/PyActor.cpp @@ -284,8 +284,6 @@ APyActor::~APyActor() { FScopePythonGIL gil; - ue_pydelegates_cleanup(py_uobject); - #if defined(UEPY_MEMORY_DEBUG) if (py_actor_instance && py_actor_instance->ob_refcnt != 1) { @@ -299,5 +297,9 @@ APyActor::~APyActor() #endif // this could trigger the destruction of the python/uobject mapper + if (py_uobject) + { + UE_LOG(LogPython, Error, TEXT("UObject refcnt = %d"), py_uobject->ob_base.ob_refcnt); + } Py_XDECREF(py_uobject); } diff --git a/Source/UnrealEnginePython/Private/PyCharacter.cpp b/Source/UnrealEnginePython/Private/PyCharacter.cpp index 75e82b39a..cf3c45788 100644 --- a/Source/UnrealEnginePython/Private/PyCharacter.cpp +++ b/Source/UnrealEnginePython/Private/PyCharacter.cpp @@ -443,8 +443,6 @@ APyCharacter::~APyCharacter() { FScopePythonGIL gil; - ue_pydelegates_cleanup(py_uobject); - #if defined(UEPY_MEMORY_DEBUG) if (py_character_instance && py_character_instance->ob_refcnt != 1) { UE_LOG(LogPython, Error, TEXT("Inconsistent Python ACharacter wrapper refcnt = %d"), py_character_instance->ob_refcnt); diff --git a/Source/UnrealEnginePython/Private/PyHUD.cpp b/Source/UnrealEnginePython/Private/PyHUD.cpp index cb2cf7f2f..bdf59af35 100644 --- a/Source/UnrealEnginePython/Private/PyHUD.cpp +++ b/Source/UnrealEnginePython/Private/PyHUD.cpp @@ -242,8 +242,6 @@ APyHUD::~APyHUD() { FScopePythonGIL gil; - ue_pydelegates_cleanup(py_uobject); - #if defined(UEPY_MEMORY_DEBUG) if (py_hud_instance && py_hud_instance->ob_refcnt != 1) { diff --git a/Source/UnrealEnginePython/Private/PyPawn.cpp b/Source/UnrealEnginePython/Private/PyPawn.cpp index 3923579f8..02a79ff6c 100644 --- a/Source/UnrealEnginePython/Private/PyPawn.cpp +++ b/Source/UnrealEnginePython/Private/PyPawn.cpp @@ -239,8 +239,6 @@ APyPawn::~APyPawn() { FScopePythonGIL gil; - ue_pydelegates_cleanup(py_uobject); - #if defined(UEPY_MEMORY_DEBUG) if (py_pawn_instance && py_pawn_instance->ob_refcnt != 1) { UE_LOG(LogPython, Error, TEXT("Inconsistent Python APawn wrapper refcnt = %d"), py_pawn_instance->ob_refcnt); diff --git a/Source/UnrealEnginePython/Private/PyUserWidget.cpp b/Source/UnrealEnginePython/Private/PyUserWidget.cpp index 6e655fc15..e07b3c7c6 100644 --- a/Source/UnrealEnginePython/Private/PyUserWidget.cpp +++ b/Source/UnrealEnginePython/Private/PyUserWidget.cpp @@ -355,8 +355,6 @@ UPyUserWidget::~UPyUserWidget() { FScopePythonGIL gil; - ue_pydelegates_cleanup(py_uobject); - #if defined(UEPY_MEMORY_DEBUG) if (py_user_widget_instance && py_user_widget_instance->ob_refcnt != 1) { UE_LOG(LogPython, Error, TEXT("Inconsistent Python UUserWidget wrapper refcnt = %d"), py_user_widget_instance->ob_refcnt); diff --git a/Source/UnrealEnginePython/Private/PythonComponent.cpp b/Source/UnrealEnginePython/Private/PythonComponent.cpp index 875babc2b..2a8c630ef 100644 --- a/Source/UnrealEnginePython/Private/PythonComponent.cpp +++ b/Source/UnrealEnginePython/Private/PythonComponent.cpp @@ -556,8 +556,6 @@ UPythonComponent::~UPythonComponent() { FScopePythonGIL gil; - ue_pydelegates_cleanup(py_uobject); - #if defined(UEPY_MEMORY_DEBUG) if (py_component_instance && py_component_instance->ob_refcnt != 1) { UE_LOG(LogPython, Error, TEXT("Inconsistent Python UActorComponent wrapper refcnt = %d"), py_component_instance->ob_refcnt); diff --git a/Source/UnrealEnginePython/Private/PythonSmartDelegate.cpp b/Source/UnrealEnginePython/Private/PythonSmartDelegate.cpp index 1bcc6ef26..62e72dcaf 100644 --- a/Source/UnrealEnginePython/Private/PythonSmartDelegate.cpp +++ b/Source/UnrealEnginePython/Private/PythonSmartDelegate.cpp @@ -33,6 +33,18 @@ bool FPythonSmartDelegate::Tick(float DeltaTime) return false; } +void FPythonSmartDelegate::Void() +{ + FScopePythonGIL gil; + PyObject *ret = PyObject_CallFunction(py_callable, nullptr); + if (!ret) + { + unreal_engine_py_log_error(); + return; + } + Py_DECREF(ret); +} + #if WITH_EDITOR void FPythonSmartDelegate::PyFOnAssetPostImport(UFactory *factory, UObject *u_object) { diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 098ffc0de..7ba935e52 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -81,13 +81,76 @@ static PyObject *init_unreal_engine(void) } #endif -std::map ue_python_gc; +namespace UnrealEnginePythonHouseKeeper +{ + std::map u_object_py_mapping; + + struct FPythonDelegateTracker + { + FWeakObjectPtr owner; + UPythonDelegate *delegate; + + FPythonDelegateTracker(UPythonDelegate *delegate_to_track, UObject *delegate_owner) : owner(delegate_owner), delegate(delegate_to_track) + { + } + + ~FPythonDelegateTracker() + { + } + }; + + std::list py_delegates_tracker; +}; + +static void ue_py_delegates_gc() +{ + auto &lst = UnrealEnginePythonHouseKeeper::py_delegates_tracker; + for (auto itr = lst.begin(); itr != lst.end(); /*noop*/) + //for (auto itr = lst.begin(); itr != lst.end(); ++itr) + { + /*if (itr->owner.IsValid()) + { + UE_LOG(LogPython, Error, TEXT("Delegate for %s"), *itr->owner.Get()->GetName()); + } + else + { + UE_LOG(LogPython, Error, TEXT("Found bad delegate")); + } + */ + if (!itr->owner.IsValid()) + { + itr->delegate->RemoveFromRoot(); + itr = lst.erase(itr); + } + else + ++itr; + } +} + +UPythonDelegate *ue_py_new_delegate(UObject *owner, PyObject *py_callable, UFunction *signature) +{ + // TODO: do a round of gc only if enough time passed + ue_py_delegates_gc(); + + UPythonDelegate *py_delegate = NewObject(); + if (!py_delegate) + return nullptr; + + py_delegate->AddToRoot(); + py_delegate->SetPyCallable(py_callable); + py_delegate->SetSignature(signature); + + UnrealEnginePythonHouseKeeper::FPythonDelegateTracker tracker(py_delegate, owner); + UnrealEnginePythonHouseKeeper::py_delegates_tracker.push_back(tracker); + + return py_delegate; +} static PyObject *py_unreal_engine_py_gc(PyObject * self, PyObject * args) { std::list broken_list; - for (auto it : ue_python_gc) + for (auto it : UnrealEnginePythonHouseKeeper::u_object_py_mapping) { #if defined(UEPY_MEMORY_DEBUG) UE_LOG(LogPython, Warning, TEXT("Checking for UObject at %p"), it.first); @@ -100,12 +163,17 @@ static PyObject *py_unreal_engine_py_gc(PyObject * self, PyObject * args) #endif broken_list.push_back(u_obj); } + else + { + UE_LOG(LogPython, Error, TEXT("UObject at %p %s is in use"), u_obj, *u_obj->GetName()); + } } + /* for (UObject *u_obj : broken_list) { - ue_PyUObject *py_obj = ue_python_gc.at(u_obj); + ue_PyUObject *py_obj = UnrealEnginePythonHouseKeeper::u_object_py_mapping.at(u_obj); Py_DECREF(py_obj); - } + }*/ return PyLong_FromLong(broken_list.size()); @@ -975,43 +1043,21 @@ static PyMethodDef ue_PyUObject_methods[] = { { NULL } /* Sentinel */ }; -void ue_pydelegates_cleanup(ue_PyUObject *self) + +// destructor +static void ue_pyobject_dealloc(ue_PyUObject *self) { - // this could happen during engine shutdown, so have mercy - // start deallocating delegates mapped to the object - if (!self || !self->python_delegates_gc) - return; - UE_LOG(LogPython, Warning, TEXT("Delegates = %d"), self->python_delegates_gc->size()); - for (UPythonDelegate *py_delegate : *(self->python_delegates_gc)) - { - if (py_delegate && py_delegate->IsValidLowLevel()) - { + PyObject_GC_UnTrack(self); #if defined(UEPY_MEMORY_DEBUG) - UE_LOG(LogPython, Warning, TEXT("Removing UPythonDelegate %p from ue_PyUObject %p mapped to UObject %p"), py_delegate, self, self->ue_object); + UE_LOG(LogPython, Warning, TEXT("Destroying ue_PyUObject %p mapped to UObject %p"), self, self->ue_object); #endif - py_delegate->RemoveFromRoot(); - } - } - self->python_delegates_gc->clear(); - delete self->python_delegates_gc; - self->python_delegates_gc = nullptr; - - if (self->auto_rooted && self->ue_object->IsRooted()) + if (self->auto_rooted && (self->ue_object && self->ue_object->IsValidLowLevel() && self->ue_object->IsRooted())) { self->ue_object->RemoveFromRoot(); } Py_XDECREF(self->py_dict); -} - -// destructor -static void ue_pyobject_dealloc(ue_PyUObject *self) -{ -#if defined(UEPY_MEMORY_DEBUG) - UE_LOG(LogPython, Warning, TEXT("Destroying ue_PyUObject %p mapped to UObject %p"), self, self->ue_object); -#endif - ue_pydelegates_cleanup(self); - ue_python_gc.erase(self->ue_object); + UnrealEnginePythonHouseKeeper::u_object_py_mapping.erase(self->ue_object); Py_TYPE(self)->tp_free((PyObject *)self); } @@ -1162,6 +1208,12 @@ static PyObject *ue_PyUObject_str(ue_PyUObject *self) #endif } +static int ue_PyUObject_traverse(ue_PyUObject *self, visitproc visit, void *arg) +{ + UE_LOG(LogPython, Error, TEXT("TRAVERSING %p"), self); + return 0; +} + static PyObject *ue_PyUObject_call(ue_PyUObject *self, PyObject *args, PyObject *kw) { // if it is a class, create a new object @@ -1277,9 +1329,9 @@ static PyTypeObject ue_PyUObjectType = { (getattrofunc)ue_PyUObject_getattro, /* tp_getattro */ (setattrofunc)ue_PyUObject_setattro, /* tp_setattro */ 0, /* tp_as_buffer */ - Py_TPFLAGS_DEFAULT, /* tp_flags */ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_GC, /* tp_flags */ "Unreal Engine generic UObject", /* tp_doc */ - 0, /* tp_traverse */ + (traverseproc)ue_PyUObject_traverse, /* tp_traverse */ 0, /* tp_clear */ 0, /* tp_richcompare */ 0, /* tp_weaklistoffset */ @@ -1727,12 +1779,7 @@ static int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *k FMulticastScriptDelegate multiscript_delegate = casted_prop->GetPropertyValue_InContainer(ObjectInitializer.GetObj()); FScriptDelegate script_delegate; - UPythonDelegate *py_delegate = NewObject(); - py_delegate->SetPyCallable(mc_value); - py_delegate->SetSignature(casted_prop->SignatureFunction); - // avoid delegates to be destroyed by the GC - py_delegate->AddToRoot(); - + UPythonDelegate *py_delegate = ue_py_new_delegate(ObjectInitializer.GetObj(), mc_value, casted_prop->SignatureFunction); // fake UFUNCTION for bypassing checks script_delegate.BindUFunction(py_delegate, FName("PyFakeCallable")); @@ -2100,21 +2147,21 @@ ue_PyUObject *ue_get_python_uobject(UObject *ue_obj) { if (!ue_obj || !ue_obj->IsValidLowLevel() || ue_obj->IsPendingKillOrUnreachable()) return nullptr; - std::map::iterator it = ue_python_gc.find(ue_obj); + std::map::iterator it = UnrealEnginePythonHouseKeeper::u_object_py_mapping.find(ue_obj); // not found ?? - if (it == ue_python_gc.end()) + if (it == UnrealEnginePythonHouseKeeper::u_object_py_mapping.end()) { - ue_PyUObject *ue_py_object = (ue_PyUObject *)PyObject_New(ue_PyUObject, &ue_PyUObjectType); + //ue_PyUObject *ue_py_object = (ue_PyUObject *)PyObject_New(ue_PyUObject, &ue_PyUObjectType); + ue_PyUObject *ue_py_object = (ue_PyUObject *)PyObject_GC_New(ue_PyUObject, &ue_PyUObjectType); if (!ue_py_object) { return nullptr; } ue_py_object->ue_object = ue_obj; - ue_py_object->python_delegates_gc = new std::list; ue_py_object->py_dict = PyDict_New(); - ue_python_gc[ue_obj] = ue_py_object; + UnrealEnginePythonHouseKeeper::u_object_py_mapping[ue_obj] = ue_py_object; #if defined(UEPY_MEMORY_DEBUG) UE_LOG(LogPython, Warning, TEXT("CREATED UPyObject at %p for %p %s"), ue_py_object, ue_obj, *ue_obj->GetName()); @@ -2211,7 +2258,7 @@ void unreal_engine_py_log_error() } PyErr_Clear(); -} + } // retrieve a UWorld from a generic UObject (if possible) UWorld *ue_get_uworld(ue_PyUObject *py_obj) @@ -3235,13 +3282,7 @@ PyObject *ue_bind_pyevent(ue_PyUObject *u_obj, FString event_name, PyObject *py_ FMulticastScriptDelegate multiscript_delegate = casted_prop->GetPropertyValue_InContainer(u_obj->ue_object); FScriptDelegate script_delegate; - UPythonDelegate *py_delegate = NewObject(); - py_delegate->SetPyCallable(py_callable); - py_delegate->SetSignature(casted_prop->SignatureFunction); - // avoid delegates to be destroyed by the GC - py_delegate->AddToRoot(); - u_obj->python_delegates_gc->push_back(py_delegate); - + UPythonDelegate *py_delegate = ue_py_new_delegate(u_obj->ue_object, py_callable, casted_prop->SignatureFunction); // fake UFUNCTION for bypassing checks script_delegate.BindUFunction(py_delegate, FName("PyFakeCallable")); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.h b/Source/UnrealEnginePython/Private/UEPyModule.h index 58f87cb77..5a8d1019b 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.h +++ b/Source/UnrealEnginePython/Private/UEPyModule.h @@ -4,20 +4,18 @@ #include "PythonDelegate.h" #include "PythonSmartDelegate.h" #include "UEPyUScriptStruct.h" -#include -#include + + //#include "UEPyModule.generated.h" typedef struct { PyObject_HEAD - /* Type-specific fields go here. */ - UObject *ue_object; + /* Type-specific fields go here. */ + UObject *ue_object; // reference to proxy class (can be null) PyObject *py_proxy; - // list of exposed delegates - std::list *python_delegates_gc; // the __dict__ PyObject *py_dict; // if true RemoveFromRoot will be called at object destruction time @@ -25,6 +23,9 @@ typedef struct } ue_PyUObject; + + + void unreal_engine_py_log_error(); ue_PyUObject *ue_get_python_uobject(UObject *); ue_PyUObject *ue_get_python_uobject_inc(UObject *); @@ -41,8 +42,6 @@ PyObject *ue_bind_pyevent(ue_PyUObject *, FString, PyObject *, bool); PyObject *py_ue_ufunction_call(UFunction *, UObject *, PyObject *, int, PyObject *); -void ue_pydelegates_cleanup(ue_PyUObject *); - UClass *unreal_engine_new_uclass(char *, UClass *); UFunction *unreal_engine_add_function(UClass *, char *, PyObject *, uint32); @@ -89,3 +88,5 @@ template bool ue_py_check_childstruct(PyObject *py_obj) } FGuid *ue_py_check_fguid(PyObject *); + +UPythonDelegate *ue_py_new_delegate(UObject *, PyObject *p_callable, UFunction *); diff --git a/Source/UnrealEnginePython/Private/UEPyTimer.cpp b/Source/UnrealEnginePython/Private/UEPyTimer.cpp index cf1ef4841..277dbc053 100644 --- a/Source/UnrealEnginePython/Private/UEPyTimer.cpp +++ b/Source/UnrealEnginePython/Private/UEPyTimer.cpp @@ -108,14 +108,10 @@ PyObject *py_ue_set_timer(ue_PyUObject *self, PyObject * args) return PyErr_Format(PyExc_Exception, "unable to retrieve UWorld from uobject"); FTimerDelegate timer_delegate; - UPythonDelegate *py_delegate = NewObject(); + TSharedRef py_delegate = MakeShareable(new FPythonSmartDelegate); py_delegate->SetPyCallable(py_callable); - // fake UFUNCTION for bypassing checks - timer_delegate.BindUFunction(py_delegate, FName("PyFakeCallable")); - // allow the delegate to not be destroyed - py_delegate->AddToRoot(); - self->python_delegates_gc->push_back(py_delegate); + timer_delegate.BindSP(py_delegate, &FPythonSmartDelegate::Void); FTimerHandle thandle; world->GetTimerManager().SetTimer(thandle, timer_delegate, rate, loop, first_delay); diff --git a/Source/UnrealEnginePython/Private/UEPyTimer.h b/Source/UnrealEnginePython/Private/UEPyTimer.h index 65e3caac4..41d4fe9ad 100644 --- a/Source/UnrealEnginePython/Private/UEPyTimer.h +++ b/Source/UnrealEnginePython/Private/UEPyTimer.h @@ -10,6 +10,7 @@ typedef struct { FTimerHandle thandle; PyObject *py_callable; UWorld *world; + TSharedPtr delegate_ptr; } ue_PyFTimerHandle; PyObject *py_ue_set_timer(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp index e54c7ec00..5887067cb 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp @@ -739,33 +739,26 @@ PyObject *py_ue_actor_spawn(ue_PyUObject * self, PyObject * args, PyObject *kwar { ue_py_check(self); + + PyObject *py_class; PyObject *py_obj_location = nullptr; PyObject *py_obj_rotation = nullptr; - UWorld *world = ue_get_uworld(self); - if (!world) - return PyErr_Format(PyExc_Exception, "unable to retrieve UWorld from uobject"); - - PyObject *obj; - if (!PyArg_ParseTuple(args, "O|OO:actor_spawn", &obj, &py_obj_location, &py_obj_rotation)) + if (!PyArg_ParseTuple(args, "O|OO:actor_spawn", &py_class, &py_obj_location, &py_obj_rotation)) { - return NULL; + return nullptr; } - if (!ue_is_pyuobject(obj)) - { - return PyErr_Format(PyExc_Exception, "argument is not a UObject"); - } + UWorld *world = ue_get_uworld(self); + if (!world) + return PyErr_Format(PyExc_Exception, "unable to retrieve UWorld from uobject"); - ue_PyUObject *py_obj = (ue_PyUObject *)obj; - if (!py_obj->ue_object->IsA()) - { - return PyErr_Format(PyExc_Exception, "argument is not a UClass derived from AActor"); - } + UClass *u_class = ue_py_check_type(py_class); + if (!u_class) + return PyErr_Format(PyExc_Exception, "argument is not a UClass"); - UClass *u_class = (UClass *)py_obj->ue_object; if (!u_class->IsChildOf()) { @@ -791,26 +784,23 @@ PyObject *py_ue_actor_spawn(ue_PyUObject * self, PyObject * args, PyObject *kwar rotation = py_rotation->rot; } - AActor *actor = nullptr; - PyObject *ret = nullptr; - if (kwargs && PyDict_Size(kwargs) > 0) { FTransform transform; transform.SetTranslation(location); transform.SetRotation(rotation.Quaternion()); - actor = world->SpawnActorDeferred((UClass *)py_obj->ue_object, transform); + AActor *actor = world->SpawnActorDeferred(u_class, transform); if (!actor) return PyErr_Format(PyExc_Exception, "unable to spawn a new Actor"); - ue_PyUObject *py_u_obj = ue_get_python_uobject(actor); - if (!py_u_obj) + ue_PyUObject *py_actor = ue_get_python_uobject(actor); + if (!py_actor) return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); PyObject *py_iter = PyObject_GetIter(kwargs); while (PyObject *py_key = PyIter_Next(py_iter)) { - PyObject *void_ret = py_ue_set_property(py_u_obj, Py_BuildValue("OO", py_key, PyDict_GetItem(kwargs, py_key))); + PyObject *void_ret = py_ue_set_property(py_actor, Py_BuildValue("OO", py_key, PyDict_GetItem(kwargs, py_key))); if (!void_ret) { return PyErr_Format(PyExc_Exception, "unable to set property for new Actor"); @@ -818,19 +808,14 @@ PyObject *py_ue_actor_spawn(ue_PyUObject * self, PyObject * args, PyObject *kwar } Py_DECREF(py_iter); UGameplayStatics::FinishSpawningActor(actor, transform); - ret = (PyObject *)py_u_obj; - } - else - { - actor = world->SpawnActor((UClass *)py_obj->ue_object, &location, &rotation); - if (!actor) - return PyErr_Format(PyExc_Exception, "unable to spawn a new Actor"); - ret = (PyObject *)ue_get_python_uobject(actor); + return (PyObject *)py_actor; } - if (!ret) - return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); - return ret; + AActor *actor = world->SpawnActor(u_class, &location, &rotation); + if (!actor) + return PyErr_Format(PyExc_Exception, "unable to spawn a new Actor"); + Py_RETURN_UOBJECT(actor); + } PyObject *py_ue_get_overlapping_actors(ue_PyUObject * self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyInput.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyInput.cpp index f5cc2d975..677a528ce 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyInput.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyInput.cpp @@ -405,19 +405,13 @@ PyObject *py_ue_bind_action(ue_PyUObject *self, PyObject * args) return PyErr_Format(PyExc_Exception, "no input manager for this uobject"); } - UPythonDelegate *py_delegate = NewObject(); - py_delegate->SetPyCallable(py_callable); - py_delegate->AddToRoot(); - - // allow the delegate to not be destroyed - self->python_delegates_gc->push_back(py_delegate); + UPythonDelegate *py_delegate = ue_py_new_delegate(input, py_callable, nullptr); FInputActionBinding input_action_binding(FName(UTF8_TO_TCHAR(action_name)), (const EInputEvent)key); input_action_binding.ActionDelegate.BindDelegate(py_delegate, &UPythonDelegate::PyInputHandler); input->AddActionBinding(input_action_binding); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } @@ -458,19 +452,13 @@ PyObject *py_ue_bind_axis(ue_PyUObject *self, PyObject * args) return PyErr_Format(PyExc_Exception, "no input manager for this uobject"); } - UPythonDelegate *py_delegate = NewObject(); - py_delegate->SetPyCallable(py_callable); - py_delegate->AddToRoot(); - - // allow the delegate to not be destroyed - self->python_delegates_gc->push_back(py_delegate); + UPythonDelegate *py_delegate = ue_py_new_delegate(input, py_callable, nullptr); FInputAxisBinding input_axis_binding(FName(UTF8_TO_TCHAR(axis_name))); input_axis_binding.AxisDelegate.BindDelegate(py_delegate, &UPythonDelegate::PyInputAxisHandler); input->AxisBindings.Add(input_axis_binding); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } @@ -515,19 +503,13 @@ PyObject *py_ue_bind_key(ue_PyUObject *self, PyObject * args) return PyErr_Format(PyExc_Exception, "no input manager for this uobject"); } - UPythonDelegate *py_delegate = NewObject(); - py_delegate->SetPyCallable(py_callable); - py_delegate->AddToRoot(); - - // allow the delegate to not be destroyed - self->python_delegates_gc->push_back(py_delegate); + UPythonDelegate *py_delegate = ue_py_new_delegate(input, py_callable, nullptr); FInputKeyBinding input_key_binding(FKey(UTF8_TO_TCHAR(key_name)), (const EInputEvent)key); input_key_binding.KeyDelegate.BindDelegate(py_delegate, &UPythonDelegate::PyInputHandler); input->KeyBindings.Add(input_key_binding); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index f3b991d38..be68ba904 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -2,6 +2,7 @@ #include "UnrealEnginePythonPrivatePCH.h" #include "PythonBlueprintFunctionLibrary.h" +#include "PythonCanary.h" #include "HAL/IConsoleManager.h" #if ENGINE_MINOR_VERSION < 13 #include "ClassIconFinder.h" @@ -338,6 +339,7 @@ void FUnrealEnginePythonModule::StartupModule() // release the GIL PythonGILRelease(); + NewObject(); } void FUnrealEnginePythonModule::ShutdownModule() diff --git a/Source/UnrealEnginePython/Public/PythonCanary.h b/Source/UnrealEnginePython/Public/PythonCanary.h new file mode 100644 index 000000000..1f811fbfa --- /dev/null +++ b/Source/UnrealEnginePython/Public/PythonCanary.h @@ -0,0 +1,25 @@ +#pragma once + +#include "UnrealEnginePython.h" +#include "UObject/Object.h" +#include "PythonCanary.generated.h" + +UCLASS(MinimalAPI) +class UPythonCanary : public UObject +{ + GENERATED_BODY() + +public: + UPythonCanary() + { + UE_LOG(LogPython, Error, TEXT("Canary Spawned")); + } + + ~UPythonCanary() + { + UE_LOG(LogPython, Error, TEXT("Canary IS DEAD !!!")); + + NewObject(); + } +}; + diff --git a/Source/UnrealEnginePython/Public/PythonSmartDelegate.h b/Source/UnrealEnginePython/Public/PythonSmartDelegate.h index f08a43a87..22296a298 100644 --- a/Source/UnrealEnginePython/Public/PythonSmartDelegate.h +++ b/Source/UnrealEnginePython/Public/PythonSmartDelegate.h @@ -14,6 +14,7 @@ class FPythonSmartDelegate : public TSharedFromThis bool Tick(float DeltaTime); + void Void(); #if WITH_EDITOR void PyFOnAssetPostImport(UFactory *factory, UObject *u_object); diff --git a/Source/UnrealEnginePython/Public/UnrealEnginePython.h b/Source/UnrealEnginePython/Public/UnrealEnginePython.h index a839dc474..4a7035e8d 100644 --- a/Source/UnrealEnginePython/Public/UnrealEnginePython.h +++ b/Source/UnrealEnginePython/Public/UnrealEnginePython.h @@ -13,6 +13,9 @@ #include "Runtime/SlateCore/Public/Styling/ISlateStyle.h" #include "Runtime/SlateCore/Public/Styling/SlateStyle.h" +#include +#include + // We need to make sure reference structs do not mistaken for callable #define PyCalllable_Check_Extended(value) PyCallable_Check(value) && py_ue_is_uscriptstruct(value) == nullptr @@ -59,7 +62,10 @@ class UNREALENGINEPYTHON_API FUnrealEnginePythonModule : public IModuleInterface TSharedPtr StyleSet; }; -struct FScopePythonGIL { + + +struct FScopePythonGIL +{ FScopePythonGIL() { #if defined(UEPY_THREADING) @@ -71,7 +77,8 @@ struct FScopePythonGIL { ~FScopePythonGIL() { #if defined(UEPY_THREADING) - if (safeForRelease) { + if (safeForRelease) + { UnrealEnginePythonModule.PythonGILRelease(); } #endif From 36fdba4b4ac0e778bb7c3c7d5b59c3d0b87400c1 Mon Sep 17 00:00:00 2001 From: Nick Moutafis Date: Fri, 16 Feb 2018 10:54:27 +0000 Subject: [PATCH 053/538] Added extra info on create_material_instance Documented the additional parameters for the create_material_instance function. --- docs/Material_API.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/Material_API.md b/docs/Material_API.md index 8d7bcda55..ec5909798 100644 --- a/docs/Material_API.md +++ b/docs/Material_API.md @@ -70,6 +70,13 @@ import unreal_engine as ue material_instance = ue.create_material_instance(new_material) ``` +```python +import unreal_engine as ue +# you can also specify a path and a name to the new material instance. +material_instance = ue.create_material_instance(new_material, '/Game/Materials/', 'New Funny Material Instance') +``` + + Or the factory way: ```python From ff24810874c4761559ca716aba4a6a2d5ec9c950 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 17 Feb 2018 17:29:52 +0100 Subject: [PATCH 054/538] added PythonHouseKeeper class --- Source/UnrealEnginePython/Private/PyActor.cpp | 14 +- .../Private/PythonDelegate.cpp | 6 + .../UnrealEnginePython/Private/UEPyEngine.cpp | 2 +- .../UnrealEnginePython/Private/UEPyModule.cpp | 195 +++++---------- .../UnrealEnginePython/Private/UEPyModule.h | 1 - .../Private/UObject/UEPyActor.cpp | 7 +- .../Private/UObject/UEPyInput.cpp | 6 +- .../Private/UnrealEnginePython.cpp | 227 +++++++++++------- .../Private/UnrealEnginePythonPrivatePCH.h | 12 +- .../UnrealEnginePython/Public/PythonCanary.h | 25 -- .../Public/PythonHouseKeeper.h | 187 +++++++++++++++ .../Public/UnrealEnginePython.h | 3 - 12 files changed, 422 insertions(+), 263 deletions(-) delete mode 100644 Source/UnrealEnginePython/Public/PythonCanary.h create mode 100644 Source/UnrealEnginePython/Public/PythonHouseKeeper.h diff --git a/Source/UnrealEnginePython/Private/PyActor.cpp b/Source/UnrealEnginePython/Private/PyActor.cpp index 9aa9dcdb1..9e1304c90 100644 --- a/Source/UnrealEnginePython/Private/PyActor.cpp +++ b/Source/UnrealEnginePython/Private/PyActor.cpp @@ -70,6 +70,7 @@ void APyActor::PreInitializeComponents() PyObject_SetAttrString(py_actor_instance, (char*)"uobject", (PyObject *)py_uobject); + if (!PyObject_HasAttrString(py_actor_instance, (char *)"tick") || PythonTickForceDisabled) { SetActorTickEnabled(false); @@ -80,6 +81,7 @@ void APyActor::PreInitializeComponents() ue_bind_events_for_py_class_by_attribute(this, py_actor_instance); + if (!PyObject_HasAttrString(py_actor_instance, (char *)"pre_initialize_components")) return; @@ -134,6 +136,7 @@ void APyActor::BeginPlay() return; } Py_DECREF(bp_ret); + } @@ -179,6 +182,8 @@ void APyActor::EndPlay(const EEndPlayReason::Type EndPlayReason) Py_XDECREF(ep_ret); } + + Super::EndPlay(EndPlayReason); // ... @@ -296,10 +301,9 @@ APyActor::~APyActor() UE_LOG(LogPython, Warning, TEXT("Python AActor %p (mapped to %p) wrapper XDECREF'ed"), this, py_uobject ? py_uobject->py_proxy : nullptr); #endif - // this could trigger the destruction of the python/uobject mapper - if (py_uobject) - { - UE_LOG(LogPython, Error, TEXT("UObject refcnt = %d"), py_uobject->ob_base.ob_refcnt); - } + Py_XDECREF(py_uobject); + FUnrealEnginePythonHouseKeeper::Get()->UnregisterPyUObject(this); + + } diff --git a/Source/UnrealEnginePython/Private/PythonDelegate.cpp b/Source/UnrealEnginePython/Private/PythonDelegate.cpp index b466a5ec2..e25881521 100644 --- a/Source/UnrealEnginePython/Private/PythonDelegate.cpp +++ b/Source/UnrealEnginePython/Private/PythonDelegate.cpp @@ -12,6 +12,7 @@ void UPythonDelegate::SetPyCallable(PyObject *callable) // do not acquire the gil here as we set the callable in python call themselves py_callable = callable; Py_INCREF(py_callable); + UE_LOG(LogPython, Error, TEXT("CALLABLE %d"), py_callable->ob_refcnt); } void UPythonDelegate::SetSignature(UFunction *original_signature) @@ -104,6 +105,11 @@ void UPythonDelegate::PyInputAxisHandler(float value) UPythonDelegate::~UPythonDelegate() { FScopePythonGIL gil; + + if (py_callable) + { + UE_LOG(LogPython, Error, TEXT("DELEGATE N %d\n"), py_callable->ob_refcnt); + } Py_XDECREF(py_callable); #if defined(UEPY_MEMORY_DEBUG) UE_LOG(LogPython, Warning, TEXT("PythonDelegate callable XDECREF'ed")); diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index 45c5ff937..e4f5b1b50 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -511,7 +511,7 @@ PyObject *py_unreal_engine_new_object(PyObject * self, PyObject * args) PyObject *obj; PyObject *py_outer = NULL; char *name = nullptr; - uint64 flags = (uint64)(RF_Public | RF_Standalone); + uint64 flags = (uint64)(RF_Public); if (!PyArg_ParseTuple(args, "O|OsK:new_object", &obj, &py_outer, &name, &flags)) { return NULL; diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 7ba935e52..109251c4e 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -1,7 +1,5 @@ #include "UnrealEnginePythonPrivatePCH.h" - - #include "UEPyEngine.h" #include "UEPyTimer.h" #include "UEPyTicker.h" @@ -66,6 +64,7 @@ DEFINE_LOG_CATEGORY(LogPython); PyDoc_STRVAR(unreal_engine_py_doc, "Unreal Engine Python module."); + #if PY_MAJOR_VERSION >= 3 static PyModuleDef unreal_engine_module = { PyModuleDef_HEAD_INIT, @@ -74,108 +73,21 @@ static PyModuleDef unreal_engine_module = { -1, NULL, }; +static PyObject *init_unreal_engine(void); -static PyObject *init_unreal_engine(void) -{ - return PyModule_Create(&unreal_engine_module); -} -#endif - -namespace UnrealEnginePythonHouseKeeper -{ - std::map u_object_py_mapping; - - struct FPythonDelegateTracker - { - FWeakObjectPtr owner; - UPythonDelegate *delegate; - - FPythonDelegateTracker(UPythonDelegate *delegate_to_track, UObject *delegate_owner) : owner(delegate_owner), delegate(delegate_to_track) - { - } - - ~FPythonDelegateTracker() - { - } - }; - std::list py_delegates_tracker; -}; - -static void ue_py_delegates_gc() -{ - auto &lst = UnrealEnginePythonHouseKeeper::py_delegates_tracker; - for (auto itr = lst.begin(); itr != lst.end(); /*noop*/) - //for (auto itr = lst.begin(); itr != lst.end(); ++itr) - { - /*if (itr->owner.IsValid()) - { - UE_LOG(LogPython, Error, TEXT("Delegate for %s"), *itr->owner.Get()->GetName()); - } - else - { - UE_LOG(LogPython, Error, TEXT("Found bad delegate")); - } - */ - if (!itr->owner.IsValid()) - { - itr->delegate->RemoveFromRoot(); - itr = lst.erase(itr); - } - else - ++itr; - } -} -UPythonDelegate *ue_py_new_delegate(UObject *owner, PyObject *py_callable, UFunction *signature) +void init_unreal_engine_builtin() { - // TODO: do a round of gc only if enough time passed - ue_py_delegates_gc(); - - UPythonDelegate *py_delegate = NewObject(); - if (!py_delegate) - return nullptr; - - py_delegate->AddToRoot(); - py_delegate->SetPyCallable(py_callable); - py_delegate->SetSignature(signature); - - UnrealEnginePythonHouseKeeper::FPythonDelegateTracker tracker(py_delegate, owner); - UnrealEnginePythonHouseKeeper::py_delegates_tracker.push_back(tracker); - - return py_delegate; + PyImport_AppendInittab("unreal_engine", &init_unreal_engine); } +#endif static PyObject *py_unreal_engine_py_gc(PyObject * self, PyObject * args) { - std::list broken_list; - for (auto it : UnrealEnginePythonHouseKeeper::u_object_py_mapping) - { -#if defined(UEPY_MEMORY_DEBUG) - UE_LOG(LogPython, Warning, TEXT("Checking for UObject at %p"), it.first); -#endif - UObject *u_obj = it.first; - if (!u_obj || !u_obj->IsValidLowLevel() || u_obj->IsPendingKillOrUnreachable()) - { -#if defined(UEPY_MEMORY_DEBUG) - UE_LOG(LogPython, Warning, TEXT("Removing UObject at %p (refcnt: %d)"), it.first, it.second->ob_base.ob_refcnt); -#endif - broken_list.push_back(u_obj); - } - else - { - UE_LOG(LogPython, Error, TEXT("UObject at %p %s is in use"), u_obj, *u_obj->GetName()); - } - } - /* - for (UObject *u_obj : broken_list) - { - ue_PyUObject *py_obj = UnrealEnginePythonHouseKeeper::u_object_py_mapping.at(u_obj); - Py_DECREF(py_obj); - }*/ - - return PyLong_FromLong(broken_list.size()); + int32 Garbaged = FUnrealEnginePythonHouseKeeper::Get()->RunGC(); + return PyLong_FromLong(Garbaged); } @@ -201,8 +113,7 @@ static PyObject *py_unreal_engine_sandbox_exec(PyObject * self, PyObject * args) } FUnrealEnginePythonModule &PythonModule = FModuleManager::GetModuleChecked("UnrealEnginePython"); PythonModule.RunFileSandboxed(filename, nullptr, nullptr); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject *py_ue_get_py_proxy(ue_PyUObject *self, PyObject * args) @@ -213,6 +124,7 @@ static PyObject *py_ue_get_py_proxy(ue_PyUObject *self, PyObject * args) if (self->py_proxy) { Py_INCREF(self->py_proxy); + UE_LOG(LogPython, Error, TEXT("PROXY %d"), self->py_proxy->ob_refcnt); return (PyObject *)self->py_proxy; } @@ -1047,7 +959,6 @@ static PyMethodDef ue_PyUObject_methods[] = { // destructor static void ue_pyobject_dealloc(ue_PyUObject *self) { - PyObject_GC_UnTrack(self); #if defined(UEPY_MEMORY_DEBUG) UE_LOG(LogPython, Warning, TEXT("Destroying ue_PyUObject %p mapped to UObject %p"), self, self->ue_object); #endif @@ -1057,12 +968,14 @@ static void ue_pyobject_dealloc(ue_PyUObject *self) } Py_XDECREF(self->py_dict); - UnrealEnginePythonHouseKeeper::u_object_py_mapping.erase(self->ue_object); + Py_TYPE(self)->tp_free((PyObject *)self); } static PyObject *ue_PyUObject_getattro(ue_PyUObject *self, PyObject *attr_name) { + ue_py_check(self); + PyObject *ret = PyObject_GenericGetAttr((PyObject *)self, attr_name); if (!ret) { @@ -1162,6 +1075,8 @@ static PyObject *ue_PyUObject_getattro(ue_PyUObject *self, PyObject *attr_name) static int ue_PyUObject_setattro(ue_PyUObject *self, PyObject *attr_name, PyObject *value) { + ue_py_check_int(self); + // first of all check for UProperty if (PyUnicodeOrString_Check(attr_name)) { @@ -1199,6 +1114,8 @@ static int ue_PyUObject_setattro(ue_PyUObject *self, PyObject *attr_name, PyObje static PyObject *ue_PyUObject_str(ue_PyUObject *self) { + ue_py_check(self); + #if PY_MAJOR_VERSION >= 3 return PyUnicode_FromFormat("", TCHAR_TO_UTF8(*self->ue_object->GetName()), self->ue_object, TCHAR_TO_UTF8(*self->ue_object->GetClass()->GetName()), self->ob_base.ob_refcnt); @@ -1208,14 +1125,9 @@ static PyObject *ue_PyUObject_str(ue_PyUObject *self) #endif } -static int ue_PyUObject_traverse(ue_PyUObject *self, visitproc visit, void *arg) -{ - UE_LOG(LogPython, Error, TEXT("TRAVERSING %p"), self); - return 0; -} - static PyObject *ue_PyUObject_call(ue_PyUObject *self, PyObject *args, PyObject *kw) { + ue_py_check(self); // if it is a class, create a new object if (self->ue_object->IsA()) { @@ -1329,9 +1241,9 @@ static PyTypeObject ue_PyUObjectType = { (getattrofunc)ue_PyUObject_getattro, /* tp_getattro */ (setattrofunc)ue_PyUObject_setattro, /* tp_setattro */ 0, /* tp_as_buffer */ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_GC, /* tp_flags */ - "Unreal Engine generic UObject", /* tp_doc */ - (traverseproc)ue_PyUObject_traverse, /* tp_traverse */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ + "Unreal Engine UObject wrapper", /* tp_doc */ + 0, /* tp_traverse */ 0, /* tp_clear */ 0, /* tp_richcompare */ 0, /* tp_weaklistoffset */ @@ -1340,6 +1252,11 @@ static PyTypeObject ue_PyUObjectType = { ue_PyUObject_methods, /* tp_methods */ }; + + + + + UClass *unreal_engine_new_uclass(char *name, UClass *outer_parent) { bool is_overwriting = false; @@ -1779,7 +1696,7 @@ static int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *k FMulticastScriptDelegate multiscript_delegate = casted_prop->GetPropertyValue_InContainer(ObjectInitializer.GetObj()); FScriptDelegate script_delegate; - UPythonDelegate *py_delegate = ue_py_new_delegate(ObjectInitializer.GetObj(), mc_value, casted_prop->SignatureFunction); + UPythonDelegate *py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewDelegate(ObjectInitializer.GetObj(), mc_value, casted_prop->SignatureFunction); // fake UFUNCTION for bypassing checks script_delegate.BindUFunction(py_delegate, FName("PyFakeCallable")); @@ -1930,13 +1847,10 @@ static int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *k void unreal_engine_init_py_module() { #if PY_MAJOR_VERSION >= 3 - PyImport_AppendInittab("unreal_engine", init_unreal_engine); PyObject *new_unreal_engine_module = PyImport_AddModule("unreal_engine"); #else PyObject *new_unreal_engine_module = Py_InitModule3("unreal_engine", NULL, unreal_engine_py_doc); #endif - - PyObject *unreal_engine_dict = PyModule_GetDict(new_unreal_engine_module); PyMethodDef *unreal_engine_function; @@ -1947,16 +1861,6 @@ void unreal_engine_init_py_module() Py_DECREF(func); } - - ue_PyUObjectType.tp_new = PyType_GenericNew; - ue_PyUObjectType.tp_init = (initproc)unreal_engine_py_init; - ue_PyUObjectType.tp_dictoffset = offsetof(ue_PyUObject, py_dict); - if (PyType_Ready(&ue_PyUObjectType) < 0) - return; - - Py_INCREF(&ue_PyUObjectType); - PyModule_AddObject(new_unreal_engine_module, "UObject", (PyObject *)&ue_PyUObjectType); - ue_python_init_fvector(new_unreal_engine_module); ue_python_init_frotator(new_unreal_engine_module); ue_python_init_ftransform(new_unreal_engine_module); @@ -1965,6 +1869,7 @@ void unreal_engine_init_py_module() ue_python_init_flinearcolor(new_unreal_engine_module); ue_python_init_fquat(new_unreal_engine_module); + ue_python_init_frandomstream(new_unreal_engine_module); ue_python_init_fraw_anim_sequence_track(new_unreal_engine_module); @@ -2141,35 +2046,39 @@ void unreal_engine_init_py_module() } + // utility functions ue_PyUObject *ue_get_python_uobject(UObject *ue_obj) { - if (!ue_obj || !ue_obj->IsValidLowLevel() || ue_obj->IsPendingKillOrUnreachable()) + if (!ue_obj) return nullptr; - std::map::iterator it = UnrealEnginePythonHouseKeeper::u_object_py_mapping.find(ue_obj); - // not found ?? - if (it == UnrealEnginePythonHouseKeeper::u_object_py_mapping.end()) + + ue_PyUObject *ret = FUnrealEnginePythonHouseKeeper::Get()->GetPyUObject(ue_obj); + if (!ret) { + if (!ue_obj->IsValidLowLevel() || ue_obj->IsPendingKillOrUnreachable()) + return nullptr; - //ue_PyUObject *ue_py_object = (ue_PyUObject *)PyObject_New(ue_PyUObject, &ue_PyUObjectType); - ue_PyUObject *ue_py_object = (ue_PyUObject *)PyObject_GC_New(ue_PyUObject, &ue_PyUObjectType); + ue_PyUObject *ue_py_object = (ue_PyUObject *)PyObject_New(ue_PyUObject, &ue_PyUObjectType); if (!ue_py_object) { return nullptr; } ue_py_object->ue_object = ue_obj; + ue_py_object->py_proxy = nullptr; + ue_py_object->auto_rooted = 0; ue_py_object->py_dict = PyDict_New(); - UnrealEnginePythonHouseKeeper::u_object_py_mapping[ue_obj] = ue_py_object; + FUnrealEnginePythonHouseKeeper::Get()->RegisterPyUObject(ue_obj, ue_py_object); #if defined(UEPY_MEMORY_DEBUG) UE_LOG(LogPython, Warning, TEXT("CREATED UPyObject at %p for %p %s"), ue_py_object, ue_obj, *ue_obj->GetName()); #endif - //Py_INCREF(ue_py_object); return ue_py_object; } - return it->second; + return ret; + } ue_PyUObject *ue_get_python_uobject_inc(UObject *ue_obj) @@ -2258,7 +2167,7 @@ void unreal_engine_py_log_error() } PyErr_Clear(); - } +} // retrieve a UWorld from a generic UObject (if possible) UWorld *ue_get_uworld(ue_PyUObject *py_obj) @@ -3282,7 +3191,7 @@ PyObject *ue_bind_pyevent(ue_PyUObject *u_obj, FString event_name, PyObject *py_ FMulticastScriptDelegate multiscript_delegate = casted_prop->GetPropertyValue_InContainer(u_obj->ue_object); FScriptDelegate script_delegate; - UPythonDelegate *py_delegate = ue_py_new_delegate(u_obj->ue_object, py_callable, casted_prop->SignatureFunction); + UPythonDelegate *py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewDelegate(u_obj->ue_object, py_callable, casted_prop->SignatureFunction); // fake UFUNCTION for bypassing checks script_delegate.BindUFunction(py_delegate, FName("PyFakeCallable")); @@ -3674,3 +3583,23 @@ bool do_ue_py_check_childstruct(PyObject *py_obj, UScriptStruct* parent_u_struct return ue_py_struct->u_struct->IsChildOf(parent_u_struct); } + +static PyObject *init_unreal_engine() +{ + + ue_PyUObjectType.tp_new = PyType_GenericNew; + ue_PyUObjectType.tp_init = (initproc)unreal_engine_py_init; + ue_PyUObjectType.tp_dictoffset = offsetof(ue_PyUObject, py_dict); + + if (PyType_Ready(&ue_PyUObjectType) < 0) + return nullptr; + + PyObject *new_unreal_engine_module = PyModule_Create(&unreal_engine_module); + if (!new_unreal_engine_module) + return nullptr; + + Py_INCREF(&ue_PyUObjectType); + PyModule_AddObject(new_unreal_engine_module, "UObject", (PyObject *)&ue_PyUObjectType); + + return new_unreal_engine_module; +} \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UEPyModule.h b/Source/UnrealEnginePython/Private/UEPyModule.h index 5a8d1019b..375245a1c 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.h +++ b/Source/UnrealEnginePython/Private/UEPyModule.h @@ -89,4 +89,3 @@ template bool ue_py_check_childstruct(PyObject *py_obj) FGuid *ue_py_check_fguid(PyObject *); -UPythonDelegate *ue_py_new_delegate(UObject *, PyObject *p_callable, UFunction *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp index 5887067cb..f705074ef 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp @@ -132,13 +132,12 @@ PyObject *py_ue_actor_destroy(ue_PyUObject * self, PyObject * args) ue_py_check(self); - if (!self->ue_object->IsA()) + AActor *actor = ue_py_check_type(self); + if (!actor) { return PyErr_Format(PyExc_Exception, "uobject is not an AActor"); } - AActor *actor = (AActor *)self->ue_object; - actor->Destroy(); Py_RETURN_NONE; @@ -739,7 +738,7 @@ PyObject *py_ue_actor_spawn(ue_PyUObject * self, PyObject * args, PyObject *kwar { ue_py_check(self); - + PyObject *py_class; PyObject *py_obj_location = nullptr; diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyInput.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyInput.cpp index 677a528ce..47578a83b 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyInput.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyInput.cpp @@ -405,7 +405,7 @@ PyObject *py_ue_bind_action(ue_PyUObject *self, PyObject * args) return PyErr_Format(PyExc_Exception, "no input manager for this uobject"); } - UPythonDelegate *py_delegate = ue_py_new_delegate(input, py_callable, nullptr); + UPythonDelegate *py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewDelegate(input, py_callable, nullptr); FInputActionBinding input_action_binding(FName(UTF8_TO_TCHAR(action_name)), (const EInputEvent)key); input_action_binding.ActionDelegate.BindDelegate(py_delegate, &UPythonDelegate::PyInputHandler); @@ -452,7 +452,7 @@ PyObject *py_ue_bind_axis(ue_PyUObject *self, PyObject * args) return PyErr_Format(PyExc_Exception, "no input manager for this uobject"); } - UPythonDelegate *py_delegate = ue_py_new_delegate(input, py_callable, nullptr); + UPythonDelegate *py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewDelegate(input, py_callable, nullptr); FInputAxisBinding input_axis_binding(FName(UTF8_TO_TCHAR(axis_name))); input_axis_binding.AxisDelegate.BindDelegate(py_delegate, &UPythonDelegate::PyInputAxisHandler); @@ -503,7 +503,7 @@ PyObject *py_ue_bind_key(ue_PyUObject *self, PyObject * args) return PyErr_Format(PyExc_Exception, "no input manager for this uobject"); } - UPythonDelegate *py_delegate = ue_py_new_delegate(input, py_callable, nullptr); + UPythonDelegate *py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewDelegate(input, py_callable, nullptr); FInputKeyBinding input_key_binding(FKey(UTF8_TO_TCHAR(key_name)), (const EInputEvent)key); input_key_binding.KeyDelegate.BindDelegate(py_delegate, &UPythonDelegate::PyInputHandler); diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index be68ba904..3fefa2edf 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -2,7 +2,6 @@ #include "UnrealEnginePythonPrivatePCH.h" #include "PythonBlueprintFunctionLibrary.h" -#include "PythonCanary.h" #include "HAL/IConsoleManager.h" #if ENGINE_MINOR_VERSION < 13 #include "ClassIconFinder.h" @@ -15,16 +14,20 @@ #endif void unreal_engine_init_py_module(); +void init_unreal_engine_builtin(); #if defined(UNREAL_ENGINE_PYTHON_ON_LINUX) const char *ue4_module_options = "linux_global_symbols"; #endif #if PY_MAJOR_VERSION < 3 -char *PyUnicode_AsUTF8(PyObject *py_str) { - if (PyUnicode_Check(py_str)) { +char *PyUnicode_AsUTF8(PyObject *py_str) +{ + if (PyUnicode_Check(py_str)) + { PyObject *unicode = PyUnicode_AsUTF8String(py_str); - if (unicode) { + if (unicode) + { return PyString_AsString(unicode); } // just a hack to avoid crashes @@ -33,18 +36,22 @@ char *PyUnicode_AsUTF8(PyObject *py_str) { return PyString_AsString(py_str); } -int PyGILState_Check() { +int PyGILState_Check() +{ PyThreadState * tstate = _PyThreadState_Current; return tstate && (tstate == PyGILState_GetThisThreadState()); } #endif -bool PyUnicodeOrString_Check(PyObject *py_obj) { - if (PyUnicode_Check(py_obj)) { +bool PyUnicodeOrString_Check(PyObject *py_obj) +{ + if (PyUnicode_Check(py_obj)) + { return true; } #if PY_MAJOR_VERSION < 3 - else if (PyString_Check(py_obj)) { + else if (PyString_Check(py_obj)) + { return true; } #endif @@ -54,26 +61,31 @@ bool PyUnicodeOrString_Check(PyObject *py_obj) { #define LOCTEXT_NAMESPACE "FUnrealEnginePythonModule" -void FUnrealEnginePythonModule::PythonGILRelease() { +void FUnrealEnginePythonModule::PythonGILRelease() +{ #if defined(UEPY_THREADING) - if (PyGILState_Check() == 1) { + if (PyGILState_Check() == 1) + { ue_python_gil = PyEval_SaveThread(); } #endif } -bool FUnrealEnginePythonModule::PythonGILAcquire() { +bool FUnrealEnginePythonModule::PythonGILAcquire() +{ #if defined(UEPY_THREADING) - if (PyGILState_Check() == 0) { + if (PyGILState_Check() == 0) + { PyEval_RestoreThread((PyThreadState *)ue_python_gil); return true; } return false; #endif return true; -} + } -void FUnrealEnginePythonModule::UESetupPythonInterpreter(bool verbose) { +void FUnrealEnginePythonModule::UESetupPythonInterpreter(bool verbose) +{ #if PY_MAJOR_VERSION >= 3 wchar_t *argv[] = { UTF8_TO_TCHAR("UnrealEngine"), NULL }; @@ -101,13 +113,15 @@ void FUnrealEnginePythonModule::UESetupPythonInterpreter(bool verbose) { PyObject *py_additional_modules_path = PyUnicode_FromString(additional_modules_path); PyList_Insert(py_path, 0, py_additional_modules_path); - if (verbose) { + if (verbose) + { UE_LOG(LogPython, Log, TEXT("Python VM initialized: %s"), UTF8_TO_TCHAR(Py_GetVersion())); UE_LOG(LogPython, Log, TEXT("Python Scripts search path: %s"), UTF8_TO_TCHAR(scripts_path)); } } -static void setup_stdout_stderr() { +static void setup_stdout_stderr() +{ // Redirecting stdout char const* code = "import sys\n" "import unreal_engine\n" @@ -134,7 +148,8 @@ static void setup_stdout_stderr() { PyRun_SimpleString(code); } -namespace { +namespace +{ static void consoleExecScript(const TArray& Args) { if (Args.Num() != 1) @@ -148,24 +163,24 @@ namespace { } } - static void consoleExecString(const TArray& Args) - { - if (Args.Num() == 0) - { - UE_LOG(LogPython, Warning, TEXT("Usage: 'py.cmd '.")); - UE_LOG(LogPython, Warning, TEXT(" scriptname: Name of script, must reside in Scripts folder. Ex: myscript.py")); - } - else - { - FString cmdString; - for (const FString& argStr : Args) - { - cmdString += argStr.TrimQuotes() + '\n'; - } - - UPythonBlueprintFunctionLibrary::ExecutePythonString(cmdString); - } - } + static void consoleExecString(const TArray& Args) + { + if (Args.Num() == 0) + { + UE_LOG(LogPython, Warning, TEXT("Usage: 'py.cmd '.")); + UE_LOG(LogPython, Warning, TEXT(" scriptname: Name of script, must reside in Scripts folder. Ex: myscript.py")); + } + else + { + FString cmdString; + for (const FString& argStr : Args) + { + cmdString += argStr.TrimQuotes() + '\n'; + } + + UPythonBlueprintFunctionLibrary::ExecutePythonString(cmdString); + } + } } FAutoConsoleCommand ExecPythonScriptCommand( @@ -174,9 +189,9 @@ FAutoConsoleCommand ExecPythonScriptCommand( FConsoleCommandWithArgsDelegate::CreateStatic(consoleExecScript)); FAutoConsoleCommand ExecPythonStringCommand( - TEXT("py.cmd"), - *NSLOCTEXT("UnrealEnginePython", "CommandText_Cmd", "Execute python string").ToString(), - FConsoleCommandWithArgsDelegate::CreateStatic(consoleExecString)); + TEXT("py.cmd"), + *NSLOCTEXT("UnrealEnginePython", "CommandText_Cmd", "Execute python string").ToString(), + FConsoleCommandWithArgsDelegate::CreateStatic(consoleExecString)); void FUnrealEnginePythonModule::StartupModule() { @@ -185,7 +200,8 @@ void FUnrealEnginePythonModule::StartupModule() // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module FString PythonHome; - if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("Home"), PythonHome, GEngineIni)) { + if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("Home"), PythonHome, GEngineIni)) + { #if PY_MAJOR_VERSION >= 3 wchar_t *home = (wchar_t *)*PythonHome; #else @@ -193,9 +209,10 @@ void FUnrealEnginePythonModule::StartupModule() #endif FPlatformMisc::SetEnvironmentVar(TEXT("PYTHONHOME"), *PythonHome); Py_SetPythonHome(home); - } +} - if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("RelativeHome"), PythonHome, GEngineIni)) { + if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("RelativeHome"), PythonHome, GEngineIni)) + { PythonHome = FPaths::Combine(*PROJECT_CONTENT_DIR, *PythonHome); FPaths::NormalizeFilename(PythonHome); PythonHome = FPaths::ConvertRelativePathToFull(PythonHome); @@ -206,10 +223,11 @@ void FUnrealEnginePythonModule::StartupModule() #endif Py_SetPythonHome(home); - } +} FString IniValue; - if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("ProgramName"), IniValue, GEngineIni)) { + if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("ProgramName"), IniValue, GEngineIni)) + { #if PY_MAJOR_VERSION >= 3 wchar_t *program_name = (wchar_t *)*IniValue; #else @@ -218,7 +236,8 @@ void FUnrealEnginePythonModule::StartupModule() Py_SetProgramName(program_name); } - if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("RelativeProgramName"), IniValue, GEngineIni)) { + if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("RelativeProgramName"), IniValue, GEngineIni)) + { IniValue = FPaths::Combine(*PROJECT_CONTENT_DIR, *IniValue); FPaths::NormalizeFilename(IniValue); IniValue = FPaths::ConvertRelativePathToFull(IniValue); @@ -230,39 +249,48 @@ void FUnrealEnginePythonModule::StartupModule() Py_SetProgramName(program_name); } - if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("ScriptsPath"), IniValue, GEngineIni)) { + if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("ScriptsPath"), IniValue, GEngineIni)) + { ScriptsPath = IniValue; } - if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("RelativeScriptsPath"), IniValue, GEngineIni)) { + if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("RelativeScriptsPath"), IniValue, GEngineIni)) + { ScriptsPath = FPaths::Combine(*PROJECT_CONTENT_DIR, *IniValue); } - if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("AdditionalModulesPath"), IniValue, GEngineIni)) { + if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("AdditionalModulesPath"), IniValue, GEngineIni)) + { AdditionalModulesPath = IniValue; } - if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("RelativeAdditionalModulesPath"), IniValue, GEngineIni)) { + if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("RelativeAdditionalModulesPath"), IniValue, GEngineIni)) + { AdditionalModulesPath = FPaths::Combine(*PROJECT_CONTENT_DIR, *IniValue); } - if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("ZipPath"), IniValue, GEngineIni)) { + if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("ZipPath"), IniValue, GEngineIni)) + { ZipPath = IniValue; } - if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("RelativeZipPath"), IniValue, GEngineIni)) { + if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("RelativeZipPath"), IniValue, GEngineIni)) + { ZipPath = FPaths::Combine(*PROJECT_CONTENT_DIR, *IniValue); } - if (ScriptsPath.IsEmpty()) { + if (ScriptsPath.IsEmpty()) + { ScriptsPath = FPaths::Combine(*PROJECT_CONTENT_DIR, UTF8_TO_TCHAR("Scripts")); } - if (ZipPath.IsEmpty()) { + if (ZipPath.IsEmpty()) + { ZipPath = FPaths::Combine(*PROJECT_CONTENT_DIR, UTF8_TO_TCHAR("ue_python.zip")); } - if (!FPaths::DirectoryExists(ScriptsPath)) { + if (!FPaths::DirectoryExists(ScriptsPath)) + { IPlatformFile& PlatformFile = FPlatformFileManager::Get().GetPlatformFile(); PlatformFile.CreateDirectory(*ScriptsPath); } @@ -304,7 +332,9 @@ void FUnrealEnginePythonModule::StartupModule() PathVars.Append(OurPythonPaths); FString ModifiedPath = FString::Join(PathVars, PathDelimiter); FPlatformMisc::SetEnvironmentVar(TEXT("PATH"), *ModifiedPath); - } + } + + init_unreal_engine_builtin(); Py_Initialize(); @@ -328,10 +358,12 @@ void FUnrealEnginePythonModule::StartupModule() setup_stdout_stderr(); - if (PyImport_ImportModule("ue_site")) { + if (PyImport_ImportModule("ue_site")) + { UE_LOG(LogPython, Log, TEXT("ue_site Python module successfully imported")); } - else { + else + { // TODO gracefully manage the error unreal_engine_py_log_error(); } @@ -339,8 +371,7 @@ void FUnrealEnginePythonModule::StartupModule() // release the GIL PythonGILRelease(); - NewObject(); -} + } void FUnrealEnginePythonModule::ShutdownModule() { @@ -348,25 +379,30 @@ void FUnrealEnginePythonModule::ShutdownModule() // we call this function before unloading the module. UE_LOG(LogPython, Log, TEXT("Goodbye Python")); - if (!BrutalFinalize) { + if (!BrutalFinalize) + { PythonGILAcquire(); Py_Finalize(); } } -void FUnrealEnginePythonModule::RunString(char *str) { +void FUnrealEnginePythonModule::RunString(char *str) +{ FScopePythonGIL gil; PyObject *eval_ret = PyRun_String(str, Py_file_input, (PyObject *)main_dict, (PyObject *)local_dict); - if (!eval_ret) { + if (!eval_ret) + { unreal_engine_py_log_error(); return; } Py_DECREF(eval_ret); } -FString FUnrealEnginePythonModule::Pep8ize(FString Code) { +FString FUnrealEnginePythonModule::Pep8ize(FString Code) +{ PyObject *pep8izer_module = PyImport_ImportModule("autopep8"); - if (!pep8izer_module) { + if (!pep8izer_module) + { unreal_engine_py_log_error(); UE_LOG(LogPython, Error, TEXT("unable to load autopep8 module, please install it")); // return the original string to avoid losing data @@ -374,7 +410,8 @@ FString FUnrealEnginePythonModule::Pep8ize(FString Code) { } PyObject *pep8izer_func = PyObject_GetAttrString(pep8izer_module, (char*)"fix_code"); - if (!pep8izer_func) { + if (!pep8izer_func) + { unreal_engine_py_log_error(); UE_LOG(LogPython, Error, TEXT("unable to get autopep8.fix_code function")); // return the original string to avoid losing data @@ -382,13 +419,15 @@ FString FUnrealEnginePythonModule::Pep8ize(FString Code) { } PyObject *ret = PyObject_CallFunction(pep8izer_func, (char *)"s", TCHAR_TO_UTF8(*Code)); - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); // return the original string to avoid losing data return Code; } - if (!PyUnicode_Check(ret)) { + if (!PyUnicode_Check(ret)) + { UE_LOG(LogPython, Error, TEXT("returned value is not a string")); // return the original string to avoid losing data return Code; @@ -402,13 +441,15 @@ FString FUnrealEnginePythonModule::Pep8ize(FString Code) { } // run a python string in a new sub interpreter -void FUnrealEnginePythonModule::RunStringSandboxed(char *str) { +void FUnrealEnginePythonModule::RunStringSandboxed(char *str) +{ FScopePythonGIL gil; PyThreadState *_main = PyThreadState_Get(); PyThreadState *py_new_state = Py_NewInterpreter(); - if (!py_new_state) { + if (!py_new_state) + { UE_LOG(LogPython, Error, TEXT("Unable to create new Python interpreter")); return; } @@ -420,16 +461,18 @@ void FUnrealEnginePythonModule::RunStringSandboxed(char *str) { setup_stdout_stderr(); PyObject *m = PyImport_AddModule("__main__"); - if (m == NULL) { + if (m == NULL) + { UE_LOG(LogPython, Error, TEXT("Unable to create new global dict")); Py_EndInterpreter(py_new_state); PyThreadState_Swap(_main); return; - } +} PyObject *global_dict = PyModule_GetDict(m); PyObject *eval_ret = PyRun_String(str, Py_file_input, global_dict, global_dict); - if (!eval_ret) { + if (!eval_ret) + { unreal_engine_py_log_error(); Py_EndInterpreter(py_new_state); PyThreadState_Swap(_main); @@ -440,7 +483,8 @@ void FUnrealEnginePythonModule::RunStringSandboxed(char *str) { PyThreadState_Swap(_main); } -void FUnrealEnginePythonModule::RunFile(char *filename) { +void FUnrealEnginePythonModule::RunFile(char *filename) +{ FScopePythonGIL gil; char *full_path = filename; if (!FPaths::FileExists(filename)) @@ -451,21 +495,24 @@ void FUnrealEnginePythonModule::RunFile(char *filename) { FILE *fd = nullptr; #if PLATFORM_WINDOWS - if (fopen_s(&fd, full_path, "r") != 0) { + if (fopen_s(&fd, full_path, "r") != 0) + { UE_LOG(LogPython, Error, TEXT("Unable to open file %s"), UTF8_TO_TCHAR(full_path)); return; } #else fd = fopen(full_path, "r"); - if (!fd) { + if (!fd) + { UE_LOG(LogPython, Error, TEXT("Unable to open file %s"), UTF8_TO_TCHAR(full_path)); return; -} + } #endif PyObject *eval_ret = PyRun_File(fd, full_path, Py_file_input, (PyObject *)main_dict, (PyObject *)local_dict); fclose(fd); - if (!eval_ret) { + if (!eval_ret) + { unreal_engine_py_log_error(); return; } @@ -474,7 +521,8 @@ void FUnrealEnginePythonModule::RunFile(char *filename) { // damn, this is horrible, but it is the only way i found to avoid the CRT error :( FString command = FString::Printf(TEXT("execfile(\"%s\")"), UTF8_TO_TCHAR(full_path)); PyObject *eval_ret = PyRun_String(TCHAR_TO_UTF8(*command), Py_file_input, (PyObject *)main_dict, (PyObject *)local_dict); - if (!eval_ret) { + if (!eval_ret) + { unreal_engine_py_log_error(); return; } @@ -483,7 +531,8 @@ void FUnrealEnginePythonModule::RunFile(char *filename) { } // run a python script in a new sub interpreter (useful for unit tests) -void FUnrealEnginePythonModule::RunFileSandboxed(char *filename, void(*callback)(void *arg), void *arg) { +void FUnrealEnginePythonModule::RunFileSandboxed(char *filename, void(*callback)(void *arg), void *arg) +{ FScopePythonGIL gil; char *full_path = filename; if (!FPaths::FileExists(filename)) @@ -494,7 +543,8 @@ void FUnrealEnginePythonModule::RunFileSandboxed(char *filename, void(*callback) PyThreadState *_main = PyThreadState_Get(); PyThreadState *py_new_state = Py_NewInterpreter(); - if (!py_new_state) { + if (!py_new_state) + { UE_LOG(LogPython, Error, TEXT("Unable to create new Python interpreter")); return; } @@ -506,25 +556,28 @@ void FUnrealEnginePythonModule::RunFileSandboxed(char *filename, void(*callback) setup_stdout_stderr(); PyObject *m = PyImport_AddModule("__main__"); - if (m == NULL) { + if (m == NULL) + { UE_LOG(LogPython, Error, TEXT("Unable to create new global dict")); Py_EndInterpreter(py_new_state); PyThreadState_Swap(_main); return; -} + } PyObject *global_dict = PyModule_GetDict(m); #if PY_MAJOR_VERSION >= 3 FILE *fd = nullptr; #if PLATFORM_WINDOWS - if (fopen_s(&fd, full_path, "r") != 0) { + if (fopen_s(&fd, full_path, "r") != 0) + { UE_LOG(LogPython, Error, TEXT("Unable to open file %s"), UTF8_TO_TCHAR(full_path)); return; } #else fd = fopen(full_path, "r"); - if (!fd) { + if (!fd) + { UE_LOG(LogPython, Error, TEXT("Unable to open file %s"), UTF8_TO_TCHAR(full_path)); return; } @@ -532,7 +585,8 @@ void FUnrealEnginePythonModule::RunFileSandboxed(char *filename, void(*callback) PyObject *eval_ret = PyRun_File(fd, full_path, Py_file_input, global_dict, global_dict); fclose(fd); - if (!eval_ret) { + if (!eval_ret) + { unreal_engine_py_log_error(); Py_EndInterpreter(py_new_state); PyThreadState_Swap(_main); @@ -543,7 +597,8 @@ void FUnrealEnginePythonModule::RunFileSandboxed(char *filename, void(*callback) // damn, this is horrible, but it is the only way i found to avoid the CRT error :( FString command = FString::Printf(TEXT("execfile(\"%s\")"), UTF8_TO_TCHAR(full_path)); PyObject *eval_ret = PyRun_String(TCHAR_TO_UTF8(*command), Py_file_input, global_dict, global_dict); - if (!eval_ret) { + if (!eval_ret) + { unreal_engine_py_log_error(); Py_EndInterpreter(py_new_state); PyThreadState_Swap(_main); @@ -556,7 +611,7 @@ void FUnrealEnginePythonModule::RunFileSandboxed(char *filename, void(*callback) Py_EndInterpreter(py_new_state); PyThreadState_Swap(_main); - } +} #undef LOCTEXT_NAMESPACE diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h index ff5a52252..ca39635cc 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h +++ b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h @@ -80,9 +80,17 @@ #include "SlateApplication/UEPyFSlateApplication.h" #include "Voice/UEPyIVoiceCapture.h" +#include "PythonHouseKeeper.h" -#define ue_py_check(py_u) if (!py_u->ue_object || !py_u->ue_object->IsValidLowLevel() || py_u->ue_object->IsPendingKillOrUnreachable())\ - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state") + +#define ue_py_check(py_u) if (!FUnrealEnginePythonHouseKeeper::Get()->IsValidPyUObject(py_u))\ + return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state") + +#define ue_py_check_int(py_u) if (!FUnrealEnginePythonHouseKeeper::Get()->IsValidPyUObject(py_u))\ + {\ + PyErr_SetString(PyExc_Exception, "PyUObject is in invalid state");\ + return -1;\ + } #if PY_MAJOR_VERSION < 3 char *PyUnicode_AsUTF8(PyObject *py_str); diff --git a/Source/UnrealEnginePython/Public/PythonCanary.h b/Source/UnrealEnginePython/Public/PythonCanary.h deleted file mode 100644 index 1f811fbfa..000000000 --- a/Source/UnrealEnginePython/Public/PythonCanary.h +++ /dev/null @@ -1,25 +0,0 @@ -#pragma once - -#include "UnrealEnginePython.h" -#include "UObject/Object.h" -#include "PythonCanary.generated.h" - -UCLASS(MinimalAPI) -class UPythonCanary : public UObject -{ - GENERATED_BODY() - -public: - UPythonCanary() - { - UE_LOG(LogPython, Error, TEXT("Canary Spawned")); - } - - ~UPythonCanary() - { - UE_LOG(LogPython, Error, TEXT("Canary IS DEAD !!!")); - - NewObject(); - } -}; - diff --git a/Source/UnrealEnginePython/Public/PythonHouseKeeper.h b/Source/UnrealEnginePython/Public/PythonHouseKeeper.h new file mode 100644 index 000000000..84096f74b --- /dev/null +++ b/Source/UnrealEnginePython/Public/PythonHouseKeeper.h @@ -0,0 +1,187 @@ +#pragma once + +#include "UnrealEnginePythonPrivatePCH.h" + +class FUnrealEnginePythonHouseKeeper +{ + + struct FPythonUOjectTracker + { + FWeakObjectPtr Owner; + ue_PyUObject *PyUObject; + + FPythonUOjectTracker(UObject *Object, ue_PyUObject *InPyUObject) + { + Owner = FWeakObjectPtr(Object); + PyUObject = InPyUObject; + } + }; + + struct FPythonDelegateTracker + { + FWeakObjectPtr Owner; + UPythonDelegate *Delegate; + + FPythonDelegateTracker(UPythonDelegate *DelegateToTrack, UObject *DelegateOwner) : Owner(DelegateOwner), Delegate(DelegateToTrack) + { + } + + ~FPythonDelegateTracker() + { + } + }; + +public: + + static FUnrealEnginePythonHouseKeeper *Get() + { + static FUnrealEnginePythonHouseKeeper *Singleton; + if (!Singleton) + { + Singleton = new FUnrealEnginePythonHouseKeeper(); + // register a new delegate for the GC + FCoreUObjectDelegates::GetPostGarbageCollect().AddRaw(Singleton, &FUnrealEnginePythonHouseKeeper::RunGCDelegate); + } + return Singleton; + } + + void RunGCDelegate() + { + FScopePythonGIL gil; + RunGC(); + } + + int32 RunGC() + { + int32 Garbaged = PyUObjectsGC(); + Garbaged += DelegatesGC(); + return Garbaged; + } + + bool IsValidPyUObject(ue_PyUObject *PyUObject) + { + if (!PyUObject) + return false; + + UObject *Object = PyUObject->ue_object; + FPythonUOjectTracker *Tracker = UObjectPyMapping.Find(Object); + if (!Tracker) + { + return false; + } + + if (!Tracker->Owner.IsValid()) + return false; + + return true; + + } + + void RegisterPyUObject(UObject *Object, ue_PyUObject *InPyUObject) + { + UObjectPyMapping.Add(Object, FPythonUOjectTracker(Object, InPyUObject)); + } + + void UnregisterPyUObject(UObject *Object) + { + UObjectPyMapping.Remove(Object); + } + + ue_PyUObject *GetPyUObject(UObject *Object) + { + FPythonUOjectTracker *Tracker = UObjectPyMapping.Find(Object); + if (!Tracker) + { + return nullptr; + } + + if (!Tracker->Owner.IsValid(true)) + { +#if defined(UEPY_MEMORY_DEBUG) + UE_LOG(LogPython, Warning, TEXT("DEFREF'ing UObject at %p (refcnt: %d)"), Object, Tracker->PyUObject->ob_base.ob_refcnt); +#endif + Py_DECREF((PyObject *)Tracker->PyUObject); + UnregisterPyUObject(Object); + return nullptr; + } + + return Tracker->PyUObject; + } + + uint32 PyUObjectsGC() + { + uint32 Garbaged = 0; + TArray BrokenList; + for (auto &UObjectPyItem : UObjectPyMapping) + { + UObject *Object = UObjectPyItem.Key; + FPythonUOjectTracker &Tracker = UObjectPyItem.Value; +#if defined(UEPY_MEMORY_DEBUG) + UE_LOG(LogPython, Warning, TEXT("Checking for UObject at %p"), Object); +#endif + if (!Tracker.Owner.IsValid(true)) + { +#if defined(UEPY_MEMORY_DEBUG) + UE_LOG(LogPython, Warning, TEXT("Removing UObject at %p (refcnt: %d)"), Object, Tracker.PyUObject->ob_base.ob_refcnt); +#endif + BrokenList.Add(Object); + Garbaged++; + } + else + { +#if defined(UEPY_MEMORY_DEBUG) + UE_LOG(LogPython, Error, TEXT("UObject at %p %s is in use"), Object, *Object->GetName()); +#endif + } + } + + for (UObject *Object : BrokenList) + { + FPythonUOjectTracker &Tracker = UObjectPyMapping[Object]; + Py_DECREF((PyObject *)Tracker.PyUObject); + UnregisterPyUObject(Object); + } + + return Garbaged; + + } + + + int32 DelegatesGC() + { + int32 Garbaged = 0; +#if defined(UEPY_MEMORY_DEBUG) + UE_LOG(LogPython, Error, TEXT("Checking %d delegates"), PyDelegatesTracker.Num()); +#endif + for (int32 i = PyDelegatesTracker.Num() - 1; i >= 0; --i) + { + FPythonDelegateTracker &Tracker = PyDelegatesTracker[i]; + if (!Tracker.Owner.IsValid(true)) + { + Tracker.Delegate->RemoveFromRoot(); + PyDelegatesTracker.RemoveAt(i); + Garbaged++; + } + + } + return Garbaged; + } + + UPythonDelegate *NewDelegate(UObject *Owner, PyObject *PyCallable, UFunction *Signature) + { + UPythonDelegate *Delegate = NewObject(); + + Delegate->AddToRoot(); + Delegate->SetPyCallable(PyCallable); + Delegate->SetSignature(Signature); + + FPythonDelegateTracker Tracker(Delegate, Owner); + PyDelegatesTracker.Add(Tracker); + + return Delegate; + } + +private: + TMap UObjectPyMapping; + TArray PyDelegatesTracker; +}; diff --git a/Source/UnrealEnginePython/Public/UnrealEnginePython.h b/Source/UnrealEnginePython/Public/UnrealEnginePython.h index 4a7035e8d..35ef5031b 100644 --- a/Source/UnrealEnginePython/Public/UnrealEnginePython.h +++ b/Source/UnrealEnginePython/Public/UnrealEnginePython.h @@ -13,9 +13,6 @@ #include "Runtime/SlateCore/Public/Styling/ISlateStyle.h" #include "Runtime/SlateCore/Public/Styling/SlateStyle.h" -#include -#include - // We need to make sure reference structs do not mistaken for callable #define PyCalllable_Check_Extended(value) PyCallable_Check(value) && py_ue_is_uscriptstruct(value) == nullptr From 90cbe9b02634a7a6b66bac2348cbe7977e3e2069 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 17 Feb 2018 18:18:26 +0100 Subject: [PATCH 055/538] completed first part of UObject GC, Timer and Ticker refactoring --- Source/UnrealEnginePython/Private/PyActor.cpp | 7 --- .../Private/PyCharacter.cpp | 7 +-- Source/UnrealEnginePython/Private/PyHUD.cpp | 8 +-- Source/UnrealEnginePython/Private/PyPawn.cpp | 10 +--- .../Private/PyUserWidget.cpp | 6 +-- .../Private/PythonComponent.cpp | 7 +-- .../Private/PythonDelegate.cpp | 7 +-- .../Private/PythonFunction.cpp | 3 +- .../UnrealEnginePython/Private/UEPyTicker.h | 2 +- .../UnrealEnginePython/Private/UEPyTimer.cpp | 54 +++++++++++-------- Source/UnrealEnginePython/Private/UEPyTimer.h | 5 +- 11 files changed, 46 insertions(+), 70 deletions(-) diff --git a/Source/UnrealEnginePython/Private/PyActor.cpp b/Source/UnrealEnginePython/Private/PyActor.cpp index 9e1304c90..a7fa60170 100644 --- a/Source/UnrealEnginePython/Private/PyActor.cpp +++ b/Source/UnrealEnginePython/Private/PyActor.cpp @@ -289,19 +289,12 @@ APyActor::~APyActor() { FScopePythonGIL gil; -#if defined(UEPY_MEMORY_DEBUG) - if (py_actor_instance && py_actor_instance->ob_refcnt != 1) - { - UE_LOG(LogPython, Error, TEXT("Inconsistent Python AActor wrapper refcnt = %d"), py_actor_instance->ob_refcnt); - } -#endif Py_XDECREF(py_actor_instance); #if defined(UEPY_MEMORY_DEBUG) UE_LOG(LogPython, Warning, TEXT("Python AActor %p (mapped to %p) wrapper XDECREF'ed"), this, py_uobject ? py_uobject->py_proxy : nullptr); #endif - Py_XDECREF(py_uobject); FUnrealEnginePythonHouseKeeper::Get()->UnregisterPyUObject(this); diff --git a/Source/UnrealEnginePython/Private/PyCharacter.cpp b/Source/UnrealEnginePython/Private/PyCharacter.cpp index cf3c45788..ce5954922 100644 --- a/Source/UnrealEnginePython/Private/PyCharacter.cpp +++ b/Source/UnrealEnginePython/Private/PyCharacter.cpp @@ -443,11 +443,7 @@ APyCharacter::~APyCharacter() { FScopePythonGIL gil; -#if defined(UEPY_MEMORY_DEBUG) - if (py_character_instance && py_character_instance->ob_refcnt != 1) { - UE_LOG(LogPython, Error, TEXT("Inconsistent Python ACharacter wrapper refcnt = %d"), py_character_instance->ob_refcnt); - } -#endif + Py_XDECREF(py_character_instance); #if defined(UEPY_MEMORY_DEBUG) @@ -456,4 +452,5 @@ APyCharacter::~APyCharacter() // this could trigger the distruction of the python/uobject mapper Py_XDECREF(py_uobject); + FUnrealEnginePythonHouseKeeper::Get()->UnregisterPyUObject(this); } diff --git a/Source/UnrealEnginePython/Private/PyHUD.cpp b/Source/UnrealEnginePython/Private/PyHUD.cpp index bdf59af35..dbedc3027 100644 --- a/Source/UnrealEnginePython/Private/PyHUD.cpp +++ b/Source/UnrealEnginePython/Private/PyHUD.cpp @@ -242,12 +242,7 @@ APyHUD::~APyHUD() { FScopePythonGIL gil; -#if defined(UEPY_MEMORY_DEBUG) - if (py_hud_instance && py_hud_instance->ob_refcnt != 1) - { - UE_LOG(LogPython, Error, TEXT("Inconsistent Python AHUD wrapper refcnt = %d"), py_hud_instance->ob_refcnt); - } -#endif + Py_XDECREF(py_hud_instance); #if defined(UEPY_MEMORY_DEBUG) @@ -256,4 +251,5 @@ APyHUD::~APyHUD() // this could trigger the distruction of the python/uobject mapper Py_XDECREF(py_uobject); + FUnrealEnginePythonHouseKeeper::Get()->UnregisterPyUObject(this); } diff --git a/Source/UnrealEnginePython/Private/PyPawn.cpp b/Source/UnrealEnginePython/Private/PyPawn.cpp index 02a79ff6c..066716863 100644 --- a/Source/UnrealEnginePython/Private/PyPawn.cpp +++ b/Source/UnrealEnginePython/Private/PyPawn.cpp @@ -239,18 +239,12 @@ APyPawn::~APyPawn() { FScopePythonGIL gil; -#if defined(UEPY_MEMORY_DEBUG) - if (py_pawn_instance && py_pawn_instance->ob_refcnt != 1) { - UE_LOG(LogPython, Error, TEXT("Inconsistent Python APawn wrapper refcnt = %d"), py_pawn_instance->ob_refcnt); - } -#endif - Py_XDECREF(py_pawn_instance); - - +# #if defined(UEPY_MEMORY_DEBUG) UE_LOG(LogPython, Warning, TEXT("Python APawn (mapped to %p) wrapper XDECREF'ed"), py_uobject ? py_uobject->py_proxy : nullptr); #endif // this could trigger the distruction of the python/uobject mapper Py_XDECREF(py_uobject); + FUnrealEnginePythonHouseKeeper::Get()->UnregisterPyUObject(this); } diff --git a/Source/UnrealEnginePython/Private/PyUserWidget.cpp b/Source/UnrealEnginePython/Private/PyUserWidget.cpp index e07b3c7c6..a7efd3b92 100644 --- a/Source/UnrealEnginePython/Private/PyUserWidget.cpp +++ b/Source/UnrealEnginePython/Private/PyUserWidget.cpp @@ -355,11 +355,6 @@ UPyUserWidget::~UPyUserWidget() { FScopePythonGIL gil; -#if defined(UEPY_MEMORY_DEBUG) - if (py_user_widget_instance && py_user_widget_instance->ob_refcnt != 1) { - UE_LOG(LogPython, Error, TEXT("Inconsistent Python UUserWidget wrapper refcnt = %d"), py_user_widget_instance->ob_refcnt); -} -#endif Py_XDECREF(py_user_widget_instance); #if defined(UEPY_MEMORY_DEBUG) @@ -368,6 +363,7 @@ UPyUserWidget::~UPyUserWidget() // this could trigger the distruction of the python/uobject mapper Py_XDECREF(py_uobject); + FUnrealEnginePythonHouseKeeper::Get()->UnregisterPyUObject(this); } void UPyUserWidget::CallPythonUserWidgetMethod(FString method_name, FString args) diff --git a/Source/UnrealEnginePython/Private/PythonComponent.cpp b/Source/UnrealEnginePython/Private/PythonComponent.cpp index 2a8c630ef..1d8879494 100644 --- a/Source/UnrealEnginePython/Private/PythonComponent.cpp +++ b/Source/UnrealEnginePython/Private/PythonComponent.cpp @@ -556,11 +556,7 @@ UPythonComponent::~UPythonComponent() { FScopePythonGIL gil; -#if defined(UEPY_MEMORY_DEBUG) - if (py_component_instance && py_component_instance->ob_refcnt != 1) { - UE_LOG(LogPython, Error, TEXT("Inconsistent Python UActorComponent wrapper refcnt = %d"), py_component_instance->ob_refcnt); - } -#endif +# Py_XDECREF(py_component_instance); #if defined(UEPY_MEMORY_DEBUG) @@ -569,4 +565,5 @@ UPythonComponent::~UPythonComponent() // this could trigger the distruction of the python/uobject mapper Py_XDECREF(py_uobject); + FUnrealEnginePythonHouseKeeper::Get()->UnregisterPyUObject(this); } diff --git a/Source/UnrealEnginePython/Private/PythonDelegate.cpp b/Source/UnrealEnginePython/Private/PythonDelegate.cpp index e25881521..35955e817 100644 --- a/Source/UnrealEnginePython/Private/PythonDelegate.cpp +++ b/Source/UnrealEnginePython/Private/PythonDelegate.cpp @@ -12,7 +12,6 @@ void UPythonDelegate::SetPyCallable(PyObject *callable) // do not acquire the gil here as we set the callable in python call themselves py_callable = callable; Py_INCREF(py_callable); - UE_LOG(LogPython, Error, TEXT("CALLABLE %d"), py_callable->ob_refcnt); } void UPythonDelegate::SetSignature(UFunction *original_signature) @@ -106,12 +105,8 @@ UPythonDelegate::~UPythonDelegate() { FScopePythonGIL gil; - if (py_callable) - { - UE_LOG(LogPython, Error, TEXT("DELEGATE N %d\n"), py_callable->ob_refcnt); - } Py_XDECREF(py_callable); #if defined(UEPY_MEMORY_DEBUG) - UE_LOG(LogPython, Warning, TEXT("PythonDelegate callable XDECREF'ed")); + UE_LOG(LogPython, Warning, TEXT("PythonDelegate %p callable XDECREF'ed"), this); #endif } \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/PythonFunction.cpp b/Source/UnrealEnginePython/Private/PythonFunction.cpp index f30ada1dd..f63aeb8b9 100644 --- a/Source/UnrealEnginePython/Private/PythonFunction.cpp +++ b/Source/UnrealEnginePython/Private/PythonFunction.cpp @@ -122,7 +122,8 @@ void UPythonFunction::CallPythonCallable(FFrame& Stack, RESULT_DECL) UPythonFunction::~UPythonFunction() { Py_XDECREF(py_callable); + FUnrealEnginePythonHouseKeeper::Get()->UnregisterPyUObject(this); #if defined(UEPY_MEMORY_DEBUG) - UE_LOG(LogPython, Warning, TEXT("PythonFunction callable XDECREF'ed")); + UE_LOG(LogPython, Warning, TEXT("PythonFunction callable %p XDECREF'ed"), this); #endif } \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UEPyTicker.h b/Source/UnrealEnginePython/Private/UEPyTicker.h index 3e387277d..0972a3055 100644 --- a/Source/UnrealEnginePython/Private/UEPyTicker.h +++ b/Source/UnrealEnginePython/Private/UEPyTicker.h @@ -9,7 +9,7 @@ typedef struct { /* Type-specific fields go here. */ FDelegateHandle dhandle; bool garbaged; - TSharedPtr delegate_ptr; + TSharedPtr delegate_ptr; } ue_PyFDelegateHandle; PyObject *py_unreal_engine_add_ticker(PyObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UEPyTimer.cpp b/Source/UnrealEnginePython/Private/UEPyTimer.cpp index 277dbc053..f00a22b3c 100644 --- a/Source/UnrealEnginePython/Private/UEPyTimer.cpp +++ b/Source/UnrealEnginePython/Private/UEPyTimer.cpp @@ -4,23 +4,26 @@ static PyObject *py_ue_ftimerhandle_clear(ue_PyFTimerHandle *self, PyObject * args) { - self->world->GetTimerManager().ClearTimer(self->thandle); - Py_INCREF(Py_None); - return Py_None; + if (!self->world.IsValid()) + return PyErr_Format(PyExc_Exception, "World's timer is invalid"); + self->world.Get()->GetTimerManager().ClearTimer(self->thandle); + Py_RETURN_NONE; } static PyObject *py_ue_ftimerhandle_pause(ue_PyFTimerHandle *self, PyObject * args) { - self->world->GetTimerManager().PauseTimer(self->thandle); - Py_INCREF(Py_None); - return Py_None; + if (!self->world.IsValid()) + return PyErr_Format(PyExc_Exception, "World's timer is invalid"); + self->world.Get()->GetTimerManager().PauseTimer(self->thandle); + Py_RETURN_NONE; } static PyObject *py_ue_ftimerhandle_unpause(ue_PyFTimerHandle *self, PyObject * args) { - self->world->GetTimerManager().UnPauseTimer(self->thandle); - Py_INCREF(Py_None); - return Py_None; + if (!self->world.IsValid()) + return PyErr_Format(PyExc_Exception, "World's timer is invalid"); + self->world.Get()->GetTimerManager().UnPauseTimer(self->thandle); + Py_RETURN_NONE; } @@ -37,7 +40,14 @@ static PyMethodDef ue_PyFTimerHandle_methods[] = { // destructor static void ue_pyftimerhandle_dealloc(ue_PyFTimerHandle *self) { - Py_DECREF(self->py_callable); + if (self->world.IsValid()) + { + self->world.Get()->GetTimerManager().ClearTimer(self->thandle); + } + if (self->delegate_ptr.IsValid()) + { + self->delegate_ptr.Reset(); + } Py_TYPE(self)->tp_free((PyObject *)self); } @@ -107,26 +117,24 @@ PyObject *py_ue_set_timer(ue_PyUObject *self, PyObject * args) if (!world) return PyErr_Format(PyExc_Exception, "unable to retrieve UWorld from uobject"); - FTimerDelegate timer_delegate; - TSharedRef py_delegate = MakeShareable(new FPythonSmartDelegate); - py_delegate->SetPyCallable(py_callable); - - timer_delegate.BindSP(py_delegate, &FPythonSmartDelegate::Void); - FTimerHandle thandle; - world->GetTimerManager().SetTimer(thandle, timer_delegate, rate, loop, first_delay); ue_PyFTimerHandle *ret = (ue_PyFTimerHandle *)PyObject_New(ue_PyFTimerHandle, &ue_PyFTimerHandleType); if (!ret) { - world->GetTimerManager().ClearTimer(thandle); return PyErr_Format(PyExc_Exception, "unable to allocate FTimerHandle python object"); } - ret->thandle = thandle; - ret->py_callable = py_callable; - // will be decref'ed on clear - Py_INCREF(ret->py_callable); - ret->world = world; + + FTimerDelegate timer_delegate; + TSharedRef py_delegate = MakeShareable(new FPythonSmartDelegate); + py_delegate->SetPyCallable(py_callable); + + timer_delegate.BindSP(py_delegate, &FPythonSmartDelegate::Void); + + world->GetTimerManager().SetTimer(ret->thandle, timer_delegate, rate, loop, first_delay); + + new(&ret->delegate_ptr) TSharedPtr(py_delegate); + ret->world = TWeakObjectPtr(world); return (PyObject *)ret; } diff --git a/Source/UnrealEnginePython/Private/UEPyTimer.h b/Source/UnrealEnginePython/Private/UEPyTimer.h index 41d4fe9ad..aec770fae 100644 --- a/Source/UnrealEnginePython/Private/UEPyTimer.h +++ b/Source/UnrealEnginePython/Private/UEPyTimer.h @@ -8,9 +8,8 @@ typedef struct { PyObject_HEAD /* Type-specific fields go here. */ FTimerHandle thandle; - PyObject *py_callable; - UWorld *world; - TSharedPtr delegate_ptr; + TWeakObjectPtr world; + TSharedPtr delegate_ptr; } ue_PyFTimerHandle; PyObject *py_ue_set_timer(ue_PyUObject *, PyObject *); From 74d9f2feb346458c71582d8c0097d7ec0e9126a4 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 17 Feb 2018 19:07:56 +0100 Subject: [PATCH 056/538] Linux and OSX fixes --- .../Private/Slate/UEPySPythonMultiColumnTableRow.h | 8 ++++---- Source/UnrealEnginePython/Private/UEPyEnumsImporter.cpp | 8 ++++---- .../UnrealEnginePython/Private/UEPyUClassesImporter.cpp | 8 ++++---- .../UnrealEnginePython/Private/UEPyUStructsImporter.cpp | 8 ++++---- Source/UnrealEnginePython/Private/UObject/UEPyPhysics.cpp | 8 ++++---- .../Private/Wrappers/UEPyESlateEnums.cpp | 2 +- 6 files changed, 21 insertions(+), 21 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h index 8a8933578..21ccda269 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h @@ -19,10 +19,10 @@ class SPythonMultiColumnTableRow : public SMultiColumnTableRow& InOwnerTableView, PyObject *in_py_self) { SetPyObject(in_py_self); - SMultiColumnTableRow >::Construct(FSuperRowType::FArguments(), InOwnerTableView); + SMultiColumnTableRow>::Construct(FSuperRowType::FArguments(), InOwnerTableView); } - TSharedRef SPythonMultiColumnTableRow::GenerateWidgetForColumn(const FName& ColumnName) + TSharedRef GenerateWidgetForColumn(const FName& ColumnName) { FScopePythonGIL gil; @@ -57,7 +57,7 @@ class SPythonMultiColumnTableRow : public SMultiColumnTableRowGetComponentByClass(UDestructibleComponent::StaticClass()); #else - for (UActorComponent *component : actor->GetComponents()) + for (UActorComponent *checked_component : actor->GetComponents()) { - if (Cast(component)) + if (Cast(checked_component)) { - destructible = (IDestructibleInterface *)component; + destructible = (IDestructibleInterface *)checked_component; break; } } @@ -500,4 +500,4 @@ PyObject *py_ue_destructible_apply_damage(ue_PyUObject * self, PyObject * args) } Py_RETURN_NONE; -} \ No newline at end of file +} diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp index d8f7e09a8..71113bd09 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp @@ -77,7 +77,7 @@ void ue_python_init_eslate_enums(PyObject *ue_module) }; #if ENGINE_MINOR_VERSION > 15 -#define ADD_NATIVE_ENUM(EnumType, EnumVal) add_native_enum(#EnumType "." #EnumVal, (uint8)##EnumType::Type::##EnumVal) +#define ADD_NATIVE_ENUM(EnumType, EnumVal) add_native_enum(#EnumType "." #EnumVal, (uint8)EnumType::Type::EnumVal) ADD_NATIVE_ENUM(EUserInterfaceActionType, None ); ADD_NATIVE_ENUM(EUserInterfaceActionType, Button ); ADD_NATIVE_ENUM(EUserInterfaceActionType, ToggleButton ); From 003849b633a1154a45143166028cb2731b811724 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 17 Feb 2018 20:42:28 +0100 Subject: [PATCH 057/538] removed memory debug --- Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp | 1 + .../UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index 96ae7a414..9b9a9559f 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -566,6 +566,7 @@ PyObject *py_ue_sequencer_sections(ue_PyUObject *self, PyObject * args) for (UMovieSceneSection *section : sections) { + ue_PyUObject *ret = ue_get_python_uobject((UObject *)section); if (!ret) { diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h index ca39635cc..833830a65 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h +++ b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h @@ -2,7 +2,7 @@ #pragma once -#define UEPY_MEMORY_DEBUG 1 +//#define UEPY_MEMORY_DEBUG 1 //#define UEPY_THREADING 1 #include "UnrealEnginePython.h" From ee687914efa25c0c59e5af4e182db0b8e9aa4b28 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 17 Feb 2018 22:24:31 +0100 Subject: [PATCH 058/538] improved sequencer api --- .../UnrealEnginePython/Private/UEPyModule.cpp | 1 + .../Private/UObject/UEPySequencer.cpp | 49 +++++++++++++++---- .../Private/UObject/UEPySequencer.h | 1 + 3 files changed, 42 insertions(+), 9 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 109251c4e..e9005e542 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -885,6 +885,7 @@ static PyMethodDef ue_PyUObject_methods[] = { // Sequencer { "sequencer_master_tracks", (PyCFunction)py_ue_sequencer_master_tracks, METH_VARARGS, "" }, { "sequencer_possessable_tracks", (PyCFunction)py_ue_sequencer_possessable_tracks, METH_VARARGS, "" }, + { "sequencer_get_camera_cut_track", (PyCFunction)py_ue_sequencer_get_camera_cut_track, METH_VARARGS, "" }, #if WITH_EDITOR { "sequencer_folders", (PyCFunction)py_ue_sequencer_folders, METH_VARARGS, "" }, { "sequencer_create_folder", (PyCFunction)py_ue_sequencer_create_folder, METH_VARARGS, "" }, diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index 9b9a9559f..7dd063f76 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -121,13 +121,17 @@ PyObject *py_ue_sequencer_find_possessable(ue_PyUObject *self, PyObject * args) ue_py_check(self); char *guid; - if (!PyArg_ParseTuple(args, "s:sequencer_find_possessable", &guid)) + PyObject *py_parent = nullptr; + if (!PyArg_ParseTuple(args, "s|O:sequencer_find_possessable", &guid, &py_parent)) { - return NULL; + return nullptr; } - if (!self->ue_object->IsA()) - return PyErr_Format(PyExc_Exception, "uobject is not a LevelSequence"); + ULevelSequence *seq = ue_py_check_type(self); + if (!seq) + { + return PyErr_Format(PyExc_Exception, "uobject is not a ULevelSequence"); + } FGuid f_guid; if (!FGuid::Parse(FString(guid), f_guid)) @@ -135,14 +139,21 @@ PyObject *py_ue_sequencer_find_possessable(ue_PyUObject *self, PyObject * args) return PyErr_Format(PyExc_Exception, "invalid GUID"); } - ULevelSequence *seq = (ULevelSequence *)self->ue_object; - #if ENGINE_MINOR_VERSION < 15 UObject *u_obj = seq->FindPossessableObject(f_guid, seq); #else + UObject *parent = nullptr; + if (py_parent) + { + parent = ue_py_check_type(py_parent); + if (!parent) + { + return PyErr_Format(PyExc_Exception, "argument is not a UObject"); + } + } UObject *u_obj = nullptr; TArray> u_objects; - seq->LocateBoundObjects(f_guid, nullptr, u_objects); + seq->LocateBoundObjects(f_guid, parent, u_objects); if (u_objects.Num() > 0) { u_obj = u_objects[0]; @@ -152,7 +163,7 @@ PyObject *py_ue_sequencer_find_possessable(ue_PyUObject *self, PyObject * args) return PyErr_Format(PyExc_Exception, "unable to find uobject with GUID \"%s\"", guid); Py_RETURN_UOBJECT(u_obj); -} + } PyObject *py_ue_sequencer_find_spawnable(ue_PyUObject *self, PyObject * args) { @@ -273,7 +284,7 @@ PyObject *py_ue_sequencer_add_actor(ue_PyUObject *self, PyObject * args) } return PyUnicode_FromString(TCHAR_TO_UTF8(*new_guid.ToString())); -} + } PyObject *py_ue_sequencer_add_actor_component(ue_PyUObject *self, PyObject * args) { @@ -395,6 +406,26 @@ PyObject *py_ue_sequencer_master_tracks(ue_PyUObject *self, PyObject * args) return py_tracks; } +PyObject *py_ue_sequencer_get_camera_cut_track(ue_PyUObject *self, PyObject * args) +{ + + ue_py_check(self); + + if (!self->ue_object->IsA()) + return PyErr_Format(PyExc_Exception, "uobject is not a LevelSequence"); + + ULevelSequence *seq = (ULevelSequence *)self->ue_object; + UMovieScene *scene = seq->GetMovieScene(); + + UMovieSceneTrack *track = scene->GetCameraCutTrack(); + if (!track) + { + return PyErr_Format(PyExc_Exception, "unable to find camera cut track"); + } + + Py_RETURN_UOBJECT(track); +} + PyObject *py_ue_sequencer_possessables(ue_PyUObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h index 0ab72f427..4e10c1187 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h @@ -7,6 +7,7 @@ PyObject *py_ue_sequencer_master_tracks(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_possessable_tracks(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_track_sections(ue_PyUObject *, PyObject *); +PyObject *py_ue_sequencer_get_camera_cut_track(ue_PyUObject *, PyObject *); #if WITH_EDITOR PyObject *py_ue_sequencer_folders(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_create_folder(ue_PyUObject *, PyObject *); From 14c1c139779cc433fa0c461f8ac2a17d3c364351 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 19 Feb 2018 16:55:30 +0100 Subject: [PATCH 059/538] first round of slate refactoring --- .../Private/Slate/UEPyFMenuBuilder.cpp | 18 +- .../Private/Slate/UEPyFToolBarBuilder.cpp | 63 +- .../Private/Slate/UEPySBorder.cpp | 8 +- .../Private/Slate/UEPySBox.cpp | 19 +- .../Private/Slate/UEPySBoxPanel.cpp | 13 +- .../Private/Slate/UEPySButton.cpp | 8 +- .../Private/Slate/UEPySCanvas.cpp | 42 +- .../Private/Slate/UEPySOverlay.cpp | 1 - .../Private/Slate/UEPySPythonComboBox.cpp | 5 - .../Private/Slate/UEPySPythonListView.cpp | 1 - .../Private/Slate/UEPySPythonShelf.cpp | 80 +-- .../Private/Slate/UEPySPythonTreeView.cpp | 2 - .../Private/Slate/UEPySPythonWidget.cpp | 3 - .../Private/Slate/UEPySScrollBox.cpp | 23 +- .../Private/Slate/UEPySSplitter.cpp | 1 - .../Private/Slate/UEPySVerticalBox.cpp | 1 - .../Private/Slate/UEPySWidget.cpp | 41 +- .../Private/Slate/UEPySWidget.h | 9 - .../Private/Slate/UEPySWindow.cpp | 68 +-- .../Private/Slate/UEPySlate.cpp | 547 +++++++++--------- .../Private/Slate/UEPySlate.h | 31 +- .../Public/PythonHouseKeeper.h | 41 ++ 22 files changed, 518 insertions(+), 507 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp index ea71c0d3a..67fa2d172 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp @@ -41,8 +41,8 @@ static PyObject *py_ue_fmenu_builder_add_menu_entry(ue_PyFMenuBuilder *self, PyO char *label; char *tooltip; PyObject *py_callable; - PyObject *py_obj = nullptr; - PyObject *py_uiaction_obj = nullptr; + PyObject *py_obj = nullptr; + PyObject *py_uiaction_obj = nullptr; if (!PyArg_ParseTuple(args, "ssO|OO:add_menu_entry", &label, &tooltip, &py_callable, &py_obj, &py_uiaction_obj)) return nullptr; @@ -53,23 +53,21 @@ static PyObject *py_ue_fmenu_builder_add_menu_entry(ue_PyFMenuBuilder *self, PyO FExecuteAction handler; - UPythonSlateDelegate *py_delegate = NewObject(); - py_delegate->SetPyCallable(py_callable); - py_delegate->AddToRoot(); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable); if (py_obj) { Py_INCREF(py_obj); - handler.BindUObject(py_delegate, &UPythonSlateDelegate::ExecuteAction, py_obj); + handler.BindSP(py_delegate, &FPythonSlateDelegate::ExecuteAction, py_obj); } else { - handler.BindUObject(py_delegate, &UPythonSlateDelegate::SimpleExecuteAction); + handler.BindSP(py_delegate, &FPythonSlateDelegate::SimpleExecuteAction); } - ue_PyESlateEnums *py_uiaction_enum = py_uiaction_obj ? py_ue_is_eslate_enums(py_uiaction_obj) : nullptr; - self->menu_builder.AddMenuEntry(FText::FromString(UTF8_TO_TCHAR(label)), FText::FromString(UTF8_TO_TCHAR(tooltip)), FSlateIcon(), FUIAction(handler), NAME_None, - py_uiaction_enum ? (EUserInterfaceActionType::Type)(py_uiaction_enum->val) : EUserInterfaceActionType::Button); + ue_PyESlateEnums *py_uiaction_enum = py_uiaction_obj ? py_ue_is_eslate_enums(py_uiaction_obj) : nullptr; + self->menu_builder.AddMenuEntry(FText::FromString(UTF8_TO_TCHAR(label)), FText::FromString(UTF8_TO_TCHAR(tooltip)), FSlateIcon(), FUIAction(handler), NAME_None, + py_uiaction_enum ? (EUserInterfaceActionType::Type)(py_uiaction_enum->val) : EUserInterfaceActionType::Button); Py_RETURN_NONE; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp index 4465e87e1..c31e24f3b 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp @@ -4,7 +4,8 @@ #include "Runtime/Slate/Public/Framework/Commands/UIAction.h" -static PyObject *py_ue_ftool_bar_builder_begin_section(ue_PyFToolBarBuilder *self, PyObject * args) { +static PyObject *py_ue_ftool_bar_builder_begin_section(ue_PyFToolBarBuilder *self, PyObject * args) +{ char *name; if (!PyArg_ParseTuple(args, "s:begin_section", &name)) return NULL; @@ -15,14 +16,16 @@ static PyObject *py_ue_ftool_bar_builder_begin_section(ue_PyFToolBarBuilder *sel return Py_None; } -static PyObject *py_ue_ftool_bar_builder_end_section(ue_PyFToolBarBuilder *self, PyObject * args) { +static PyObject *py_ue_ftool_bar_builder_end_section(ue_PyFToolBarBuilder *self, PyObject * args) +{ self->tool_bar_builder.EndSection(); Py_INCREF(Py_None); return Py_None; } -static PyObject *py_ue_ftool_bar_builder_add_tool_bar_button(ue_PyFToolBarBuilder *self, PyObject * args) { +static PyObject *py_ue_ftool_bar_builder_add_tool_bar_button(ue_PyFToolBarBuilder *self, PyObject * args) +{ char *hook; char *label; char *tooltip; @@ -33,25 +36,27 @@ static PyObject *py_ue_ftool_bar_builder_add_tool_bar_button(ue_PyFToolBarBuilde return NULL; ue_PyFSlateIcon *py_slate_icon = py_ue_is_fslate_icon(py_icon); - if (!py_slate_icon) { + if (!py_slate_icon) + { return PyErr_Format(PyExc_Exception, "argument is not a FSlateIcon"); } - if (!PyCalllable_Check_Extended(py_callable)) { + if (!PyCalllable_Check_Extended(py_callable)) + { return PyErr_Format(PyExc_Exception, "argument is not callable"); } FExecuteAction handler; - UPythonSlateDelegate *py_delegate = NewObject(); - py_delegate->SetPyCallable(py_callable); - py_delegate->AddToRoot(); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable); - if (py_obj) { + if (py_obj) + { Py_INCREF(py_obj); - handler.BindUObject(py_delegate, &UPythonSlateDelegate::ExecuteAction, py_obj); + handler.BindSP(py_delegate, &FPythonSlateDelegate::ExecuteAction, py_obj); } - else { - handler.BindUObject(py_delegate, &UPythonSlateDelegate::SimpleExecuteAction); + else + { + handler.BindSP(py_delegate, &FPythonSlateDelegate::SimpleExecuteAction); } self->tool_bar_builder.AddToolBarButton(FUIAction(handler), FName(hook), FText::FromString(UTF8_TO_TCHAR(label)), FText::FromString(UTF8_TO_TCHAR(tooltip)), py_slate_icon->icon); @@ -60,7 +65,8 @@ static PyObject *py_ue_ftool_bar_builder_add_tool_bar_button(ue_PyFToolBarBuilde return Py_None; } -static PyObject *py_ue_ftool_bar_builder_add_separator(ue_PyFToolBarBuilder *self, PyObject * args) { +static PyObject *py_ue_ftool_bar_builder_add_separator(ue_PyFToolBarBuilder *self, PyObject * args) +{ char *hook = nullptr; if (!PyArg_ParseTuple(args, "|s:add_separator", &hook)) @@ -78,25 +84,28 @@ static PyObject *py_ue_ftool_bar_builder_add_separator(ue_PyFToolBarBuilder *sel } -static PyObject *py_ue_ftool_bar_builder_begin_block_group(ue_PyFToolBarBuilder *self, PyObject * args) { +static PyObject *py_ue_ftool_bar_builder_begin_block_group(ue_PyFToolBarBuilder *self, PyObject * args) +{ self->tool_bar_builder.BeginBlockGroup(); Py_INCREF(Py_None); return Py_None; } -static PyObject *py_ue_ftool_bar_builder_end_block_group(ue_PyFToolBarBuilder *self, PyObject * args) { +static PyObject *py_ue_ftool_bar_builder_end_block_group(ue_PyFToolBarBuilder *self, PyObject * args) +{ self->tool_bar_builder.EndBlockGroup(); Py_INCREF(Py_None); return Py_None; } -static PyObject *py_ue_ftool_bar_builder_make_widget(ue_PyFToolBarBuilder *self, PyObject * args) { - ue_PySWidget *ret = (ue_PySWidget *)PyObject_New(ue_PySWidget, &ue_PySWidgetType); +static PyObject *py_ue_ftool_bar_builder_make_widget(ue_PyFToolBarBuilder *self, PyObject * args) +{ + ue_PySWidget *ret = (ue_PySWidget *)PyObject_New(ue_PySWidget, &ue_PySWidgetType); ue_py_setup_swidget(ret); - ret->s_widget = self->tool_bar_builder.MakeWidget(); - return (PyObject *)ret; + ret->s_widget = self->tool_bar_builder.MakeWidget(); + return (PyObject *)ret; } static PyMethodDef ue_PyFToolBarBuilder_methods[] = { @@ -106,7 +115,7 @@ static PyMethodDef ue_PyFToolBarBuilder_methods[] = { { "add_separator", (PyCFunction)py_ue_ftool_bar_builder_add_separator, METH_VARARGS, "" }, { "begin_block_group", (PyCFunction)py_ue_ftool_bar_builder_begin_block_group, METH_VARARGS, "" }, { "end_block_group", (PyCFunction)py_ue_ftool_bar_builder_end_block_group, METH_VARARGS, "" }, - { "make_widget", (PyCFunction)py_ue_ftool_bar_builder_make_widget, METH_VARARGS, "" }, + { "make_widget", (PyCFunction)py_ue_ftool_bar_builder_make_widget, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; @@ -117,7 +126,8 @@ static PyObject *ue_PyFToolBarBuilder_str(ue_PyFToolBarBuilder *self) &self->tool_bar_builder); } -static void ue_py_ftool_bar_builder_dealloc(ue_PyFToolBarBuilder *self) { +static void ue_py_ftool_bar_builder_dealloc(ue_PyFToolBarBuilder *self) +{ #if PY_MAJOR_VERSION < 3 self->ob_type->tp_free((PyObject*)self); #else @@ -156,13 +166,15 @@ static PyTypeObject ue_PyFToolBarBuilderType = { ue_PyFToolBarBuilder_methods, /* tp_methods */ }; -static int ue_py_ftool_bar_builder_init(ue_PyFToolBarBuilder *self, PyObject *args, PyObject *kwargs) { - new(&self->tool_bar_builder) FToolBarBuilder(TSharedPtr(), FMultiBoxCustomization::None); +static int ue_py_ftool_bar_builder_init(ue_PyFToolBarBuilder *self, PyObject *args, PyObject *kwargs) +{ + new(&self->tool_bar_builder) FToolBarBuilder(TSharedPtr(), FMultiBoxCustomization::None); return 0; } -void ue_python_init_ftool_bar_builder(PyObject *ue_module) { +void ue_python_init_ftool_bar_builder(PyObject *ue_module) +{ ue_PyFToolBarBuilderType.tp_new = PyType_GenericNew; ue_PyFToolBarBuilderType.tp_init = (initproc)ue_py_ftool_bar_builder_init; @@ -174,7 +186,8 @@ void ue_python_init_ftool_bar_builder(PyObject *ue_module) { PyModule_AddObject(ue_module, "FToolBarBuilder", (PyObject *)&ue_PyFToolBarBuilderType); } -PyObject *py_ue_new_ftool_bar_builder(FToolBarBuilder tool_bar_builder) { +PyObject *py_ue_new_ftool_bar_builder(FToolBarBuilder tool_bar_builder) +{ ue_PyFToolBarBuilder *ret = (ue_PyFToolBarBuilder *)PyObject_New(ue_PyFToolBarBuilder, &ue_PyFToolBarBuilderType); new(&ret->tool_bar_builder) FToolBarBuilder(tool_bar_builder); return (PyObject *)ret; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySBorder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySBorder.cpp index f1adb6dba..198307ed5 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySBorder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySBorder.cpp @@ -10,10 +10,8 @@ static PyObject *py_ue_sborder_clear_content(ue_PySBorder *self, PyObject * args { sw_border->ClearContent(); - Py_XDECREF(self->s_compound_widget.s_widget.py_swidget_content); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject *py_ue_sborder_set_content(ue_PySBorder *self, PyObject * args) @@ -30,9 +28,9 @@ static PyObject *py_ue_sborder_set_content(ue_PySBorder *self, PyObject * args) return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); } - Py_XDECREF(self->s_compound_widget.s_widget.py_swidget_content); + Py_INCREF(py_swidget); - self->s_compound_widget.s_widget.py_swidget_content = py_swidget; + sw_border->SetContent(py_swidget->s_widget->AsShared()); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySBox.cpp index f9204e389..a64b6946d 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySBox.cpp @@ -6,20 +6,21 @@ #define sw_box StaticCastSharedRef(self->s_panel.s_widget.s_widget) -static PyObject *py_ue_sbox_set_content(ue_PySBox *self, PyObject * args) { +static PyObject *py_ue_sbox_set_content(ue_PySBox *self, PyObject * args) +{ PyObject *py_content; - if (!PyArg_ParseTuple(args, "O:set_content", &py_content)) { + if (!PyArg_ParseTuple(args, "O:set_content", &py_content)) + { return NULL; } ue_PySWidget *py_swidget = py_ue_is_swidget(py_content); - if (!py_swidget) { + if (!py_swidget) + { return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); } - Py_XDECREF(self->s_panel.s_widget.py_swidget_content); Py_INCREF(py_swidget); - self->s_panel.s_widget.py_swidget_content = py_swidget; sw_box->SetContent(py_swidget->s_widget->AsShared()); @@ -63,7 +64,8 @@ PyTypeObject ue_PySBoxType = { ue_PySBox_methods, /* tp_methods */ }; -static int ue_py_sbox_init(ue_PySBox *self, PyObject *args, PyObject *kwargs) { +static int ue_py_sbox_init(ue_PySBox *self, PyObject *args, PyObject *kwargs) +{ ue_py_slate_setup_farguments(SBox); @@ -78,13 +80,14 @@ static int ue_py_sbox_init(ue_PySBox *self, PyObject *args, PyObject *kwargs) { ue_py_slate_farguments_optional_foptional_size("max_desired_width", MaxDesiredWidth); ue_py_slate_farguments_optional_foptional_size("min_desired_height", MinDesiredHeight); ue_py_slate_farguments_optional_foptional_size("min_desired_width", MinDesiredWidth); - + ue_py_snew(SBox, s_panel.s_widget); return 0; } -void ue_python_init_sbox(PyObject *ue_module) { +void ue_python_init_sbox(PyObject *ue_module) +{ ue_PySBoxType.tp_init = (initproc)ue_py_sbox_init; ue_PySBoxType.tp_call = (ternaryfunc)py_ue_sbox_set_content; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySBoxPanel.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySBoxPanel.cpp index 59963667b..bd055e94f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySBoxPanel.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySBoxPanel.cpp @@ -6,16 +6,12 @@ #define sw_box_panel StaticCastSharedRef(self->s_panel.s_widget.s_widget) -static PyObject *py_ue_sbox_panel_clear_children(ue_PySGridPanel *self, PyObject * args) { +static PyObject *py_ue_sbox_panel_clear_children(ue_PySGridPanel *self, PyObject * args) +{ sw_box_panel->ClearChildren(); - for (ue_PySWidget *item : self->s_panel.s_widget.py_swidget_slots) { - Py_DECREF(item); - } - self->s_panel.s_widget.py_swidget_slots.Empty(); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyMethodDef ue_PySBoxPanel_methods[] = { @@ -54,7 +50,8 @@ PyTypeObject ue_PySBoxPanelType = { ue_PySBoxPanel_methods, /* tp_methods */ }; -void ue_python_init_sbox_panel(PyObject *ue_module) { +void ue_python_init_sbox_panel(PyObject *ue_module) +{ ue_PySBoxPanelType.tp_base = &ue_PySPanelType; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp index 4ebddb07e..f99bf5e9f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp @@ -33,11 +33,9 @@ static PyObject *py_ue_sbutton_bind_on_clicked(ue_PySButton *self, PyObject * ar } FOnClicked handler; - UPythonSlateDelegate *py_delegate = NewObject(); + TSharedRefpy_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_border.s_compound_widget.s_widget.s_widget, py_callable); py_delegate->SetPyCallable(py_callable); - py_delegate->AddToRoot(); - handler.BindUObject(py_delegate, &UPythonSlateDelegate::OnClicked); - self->s_border.s_compound_widget.s_widget.delegates.Add(py_delegate); + handler.BindSP(py_delegate, &FPythonSlateDelegate::OnClicked); sw_button->SetOnClicked(handler); @@ -106,7 +104,7 @@ static int ue_py_sbutton_init(ue_PySButton *self, PyObject *args, PyObject *kwar ue_py_slate_farguments_text("text", Text); ue_py_slate_farguments_optional_enum("text_flow_direction", TextFlowDirection, ETextFlowDirection); ue_py_slate_farguments_optional_enum("text_shaping_method", TextShapingMethod, ETextShapingMethod); - ue_py_slate_farguments_optional_struct_ptr("button_style", ButtonStyle, FButtonStyle); + ue_py_slate_farguments_optional_struct_ptr("button_style", ButtonStyle, FButtonStyle); ue_py_slate_farguments_optional_struct_ptr("text_style", TextStyle, FTextBlockStyle); ue_py_slate_farguments_optional_enum("touch_method", TouchMethod, EButtonTouchMethod::Type); ue_py_slate_farguments_optional_enum("v_align", VAlign, EVerticalAlignment); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySCanvas.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySCanvas.cpp index fd7734336..056de71d7 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySCanvas.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySCanvas.cpp @@ -6,18 +6,15 @@ #define sw_canvas StaticCastSharedRef(self->s_panel.s_widget.s_widget) -static PyObject *py_ue_scanvas_clear_children(ue_PySCanvas *self, PyObject * args) { - +static PyObject *py_ue_scanvas_clear_children(ue_PySCanvas *self, PyObject * args) +{ sw_canvas->ClearChildren(); - for (ue_PySWidget *item : self->s_panel.s_widget.py_swidget_slots) { - Py_DECREF(item); - } - self->s_panel.s_widget.py_swidget_slots.Empty(); Py_RETURN_NONE; } -static PyObject *py_ue_scanvas_add_slot(ue_PySCanvas *self, PyObject * args, PyObject *kwargs) { +static PyObject *py_ue_scanvas_add_slot(ue_PySCanvas *self, PyObject * args, PyObject *kwargs) +{ PyObject *py_content; int h_align = 0; int v_align = 0; @@ -37,28 +34,32 @@ static PyObject *py_ue_scanvas_add_slot(ue_PySCanvas *self, PyObject * args, PyO &h_align, &v_align, &position, - &size)) { + &size)) + { return NULL; } ue_PySWidget *py_swidget = py_ue_is_swidget(py_content); - if (!py_swidget) { + if (!py_swidget) + { return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); } Py_INCREF(py_swidget); - self->s_panel.s_widget.py_swidget_slots.Add(py_swidget); SCanvas::FSlot &fslot = sw_canvas->AddSlot(); fslot.AttachWidget(py_swidget->s_widget->AsShared()); fslot.HAlign((EHorizontalAlignment)h_align); fslot.VAlign((EVerticalAlignment)v_align); - if (position && PyTuple_Check(position)) { - if (PyTuple_Size(position) == 2) { + if (position && PyTuple_Check(position)) + { + if (PyTuple_Size(position) == 2) + { PyObject *py_x = PyTuple_GetItem(position, 0); PyObject *py_y = PyTuple_GetItem(position, 1); - if (PyNumber_Check(py_x)) { + if (PyNumber_Check(py_x)) + { PyObject *py_x_float = PyNumber_Float(py_x); float x = PyFloat_AsDouble(py_x_float); Py_DECREF(py_x_float); @@ -70,11 +71,14 @@ static PyObject *py_ue_scanvas_add_slot(ue_PySCanvas *self, PyObject * args, PyO } } - if (size && PyTuple_Check(size)) { - if (PyTuple_Size(size) == 2) { + if (size && PyTuple_Check(size)) + { + if (PyTuple_Size(size) == 2) + { PyObject *py_x = PyTuple_GetItem(size, 0); PyObject *py_y = PyTuple_GetItem(size, 1); - if (PyNumber_Check(py_x)) { + if (PyNumber_Check(py_x)) + { PyObject *py_x_float = PyNumber_Float(py_x); float x = PyFloat_AsDouble(py_x_float); Py_DECREF(py_x_float); @@ -128,12 +132,14 @@ PyTypeObject ue_PySCanvasType = { ue_PySCanvas_methods, /* tp_methods */ }; -static int ue_py_scanvas_init(ue_PySCanvas *self, PyObject *args, PyObject *kwargs) { +static int ue_py_scanvas_init(ue_PySCanvas *self, PyObject *args, PyObject *kwargs) +{ ue_py_snew_simple(SCanvas, s_panel.s_widget); return 0; } -void ue_python_init_scanvas(PyObject *ue_module) { +void ue_python_init_scanvas(PyObject *ue_module) +{ ue_PySCanvasType.tp_base = &ue_PySPanelType; ue_PySCanvasType.tp_call = (ternaryfunc)py_ue_scanvas_add_slot; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySOverlay.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySOverlay.cpp index 3380a0363..fadef42f4 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySOverlay.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySOverlay.cpp @@ -38,7 +38,6 @@ static PyObject *py_ue_soverlay_add_slot(ue_PySOverlay *self, PyObject * args, P } Py_INCREF(py_swidget); - self->s_panel.s_widget.py_swidget_slots.Add(py_swidget); SOverlay::FOverlaySlot &fslot = sw_overlay->AddSlot(z_order); fslot.AttachWidget(py_swidget->s_widget->AsShared()); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonComboBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonComboBox.cpp index dca4c64ca..83dedef20 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonComboBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonComboBox.cpp @@ -99,8 +99,6 @@ static int ue_py_spython_combo_box_init(ue_PySPythonComboBox *self, PyObject *ar TArray> *items = new TArray>(); while (PyObject *item = PyIter_Next(values)) { Py_INCREF(item); - // keep track of items - self->s_panel.s_widget.py_refs.Add(item); items->Add(TSharedPtr(new FPythonItem(item))); } Py_DECREF(values); @@ -143,9 +141,6 @@ static int ue_py_spython_combo_box_init(ue_PySPythonComboBox *self, PyObject *ar // keep track of the list, so we can delete on destruction sw_python_combo_box->PythonOptionsSource = items; - // eventually track the content - self->s_panel.s_widget.py_swidget_content = s_widget_content; - return 0; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp index f8c3b08ea..e8eb44747 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp @@ -175,7 +175,6 @@ static int ue_py_spython_list_view_init(ue_PySPythonListView *self, PyObject *ar if (ue_PySHeaderRow *_py_swidget = py_ue_is_sheader_row(value)) { Py_INCREF(_py_swidget); - ((ue_PySWidget *)self)->py_refs.Add(value); arguments.HeaderRow(StaticCastSharedRef(((ue_PySWidget *)_py_swidget)->s_widget)); } else { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonShelf.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonShelf.cpp index e6b580c09..eea9f41d6 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonShelf.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonShelf.cpp @@ -46,7 +46,8 @@ PyTypeObject ue_PySPythonShelfType = { ue_PySPythonShelf_methods, /* tp_methods */ }; -static int ue_py_spython_shelf_init(ue_PySPythonShelf *self, PyObject *args, PyObject *kwargs) { +static int ue_py_spython_shelf_init(ue_PySPythonShelf *self, PyObject *args, PyObject *kwargs) +{ PyObject *py_classes_iterable = nullptr; PyObject *py_collections_iterable = nullptr; @@ -65,37 +66,45 @@ static int ue_py_spython_shelf_init(ue_PySPythonShelf *self, PyObject *args, PyO &py_collections_iterable, &py_callable_double_clicked, &py_callable_get_context_menu, - &py_callable_asset_selected)) { + &py_callable_asset_selected)) + { return -1; } - if (py_classes_iterable) { + if (py_classes_iterable) + { py_classes_iterable = PyObject_GetIter(py_classes_iterable); - if (!py_classes_iterable) { + if (!py_classes_iterable) + { PyErr_SetString(PyExc_Exception, "argument is not an iterable"); return -1; } } - if (py_collections_iterable) { + if (py_collections_iterable) + { py_collections_iterable = PyObject_GetIter(py_collections_iterable); - if (!py_collections_iterable) { + if (!py_collections_iterable) + { PyErr_SetString(PyExc_Exception, "argument is not an iterable"); return -1; } } - if (py_callable_double_clicked && !PyCalllable_Check_Extended(py_callable_double_clicked)) { + if (py_callable_double_clicked && !PyCalllable_Check_Extended(py_callable_double_clicked)) + { PyErr_SetString(PyExc_Exception, "argument is not callable"); return -1; } - if (py_callable_get_context_menu && !PyCalllable_Check_Extended(py_callable_get_context_menu)) { + if (py_callable_get_context_menu && !PyCalllable_Check_Extended(py_callable_get_context_menu)) + { PyErr_SetString(PyExc_Exception, "argument is not callable"); return -1; } - if (py_callable_asset_selected && !PyCalllable_Check_Extended(py_callable_asset_selected)) { + if (py_callable_asset_selected && !PyCalllable_Check_Extended(py_callable_asset_selected)) + { PyErr_SetString(PyExc_Exception, "argument is not callable"); return -1; } @@ -108,9 +117,12 @@ static int ue_py_spython_shelf_init(ue_PySPythonShelf *self, PyObject *args, PyO asset_picker_config.bShowBottomToolbar = false; asset_picker_config.bAutohideSearchBar = false; - if (py_classes_iterable) { - while (PyObject *item = PyIter_Next(py_classes_iterable)) { - if (PyUnicode_Check(item)) { + if (py_classes_iterable) + { + while (PyObject *item = PyIter_Next(py_classes_iterable)) + { + if (PyUnicode_Check(item)) + { FName class_name = FName(UTF8_TO_TCHAR(PyUnicode_AsUTF8(item))); asset_picker_config.Filter.ClassNames.Add(class_name); } @@ -118,9 +130,12 @@ static int ue_py_spython_shelf_init(ue_PySPythonShelf *self, PyObject *args, PyO Py_DECREF(py_classes_iterable); } - if (py_collections_iterable) { - while (PyObject *item = PyIter_Next(py_collections_iterable)) { - if (PyUnicode_Check(item)) { + if (py_collections_iterable) + { + while (PyObject *item = PyIter_Next(py_collections_iterable)) + { + if (PyUnicode_Check(item)) + { FName collection_name = FName(UTF8_TO_TCHAR(PyUnicode_AsUTF8(item))); asset_picker_config.Collections.Add(FCollectionNameType(collection_name, ECollectionShareType::CST_Local)); } @@ -128,36 +143,32 @@ static int ue_py_spython_shelf_init(ue_PySPythonShelf *self, PyObject *args, PyO Py_DECREF(py_collections_iterable); } - if (py_callable_double_clicked) { + if (py_callable_double_clicked) + { FOnAssetDoubleClicked handler; - UPythonSlateDelegate *py_delegate = NewObject(); - py_delegate->SetPyCallable(py_callable_double_clicked); - py_delegate->AddToRoot(); - handler.BindUObject(py_delegate, &UPythonSlateDelegate::OnAssetDoubleClicked); - self->s_compound_widget.s_widget.delegates.Add(py_delegate); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable_double_clicked); + handler.BindSP(py_delegate, &FPythonSlateDelegate::OnAssetDoubleClicked); asset_picker_config.OnAssetDoubleClicked = handler; } - if (py_callable_get_context_menu) { + if (py_callable_get_context_menu) + { FOnGetAssetContextMenu handler; - UPythonSlateDelegate *py_delegate = NewObject(); - py_delegate->SetPyCallable(py_callable_get_context_menu); - py_delegate->AddToRoot(); - handler.BindUObject(py_delegate, &UPythonSlateDelegate::OnGetAssetContextMenu); - self->s_compound_widget.s_widget.delegates.Add(py_delegate); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable_get_context_menu); + + handler.BindSP(py_delegate, &FPythonSlateDelegate::OnGetAssetContextMenu); asset_picker_config.OnGetAssetContextMenu = handler; } - if (py_callable_asset_selected) { + if (py_callable_asset_selected) + { FOnAssetSelected handler; - UPythonSlateDelegate *py_delegate = NewObject(); - py_delegate->SetPyCallable(py_callable_asset_selected); - py_delegate->AddToRoot(); - handler.BindUObject(py_delegate, &UPythonSlateDelegate::OnAssetSelected); - self->s_compound_widget.s_widget.delegates.Add(py_delegate); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable_asset_selected); + + handler.BindSP(py_delegate, &FPythonSlateDelegate::OnAssetSelected); asset_picker_config.OnAssetSelected = handler; } @@ -167,7 +178,8 @@ static int ue_py_spython_shelf_init(ue_PySPythonShelf *self, PyObject *args, PyO return 0; } -void ue_python_init_spython_shelf(PyObject *ue_module) { +void ue_python_init_spython_shelf(PyObject *ue_module) +{ ue_PySPythonShelfType.tp_init = (initproc)ue_py_spython_shelf_init; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonTreeView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonTreeView.cpp index c1e4deaac..17d9909e0 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonTreeView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonTreeView.cpp @@ -91,8 +91,6 @@ static int ue_py_spython_tree_view_init(ue_PySPythonTreeView *self, PyObject *ar while (PyObject *item = PyIter_Next(values)) { Py_INCREF(item); - // keep track of items - self->s_tree_view.s_list_view.s_table_view_base.s_compound_widget.s_widget.py_refs.Add(item); items->Add(TSharedPtr(new FPythonItem(item))); } Py_DECREF(values); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp index 27beedcee..4369af222 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp @@ -45,9 +45,7 @@ static PyObject *py_ue_spython_widget_set_content(ue_PySPythonWidget *self, PyOb return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); } - Py_XDECREF(self->s_compound_widget.s_widget.py_swidget_content); Py_INCREF(py_swidget); - self->s_compound_widget.s_widget.py_swidget_content = py_swidget; sw_python_widget->SetContent(py_swidget->s_widget->AsShared()); @@ -58,7 +56,6 @@ static PyObject *py_ue_spython_widget_set_content(ue_PySPythonWidget *self, PyOb static PyObject *py_ue_spython_widget_clear_content(ue_PySPythonWidget *self, PyObject *args) { sw_python_widget->ClearContent(); - Py_XDECREF(self->s_compound_widget.s_widget.py_swidget_content); Py_INCREF(Py_None); return Py_None; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySScrollBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySScrollBox.cpp index 350e619bc..0684c89c0 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySScrollBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySScrollBox.cpp @@ -6,7 +6,8 @@ #define sw_scroll_box StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) -static PyObject *py_ue_sscroll_box_add_slot(ue_PySScrollBox *self, PyObject * args, PyObject *kwargs) { +static PyObject *py_ue_sscroll_box_add_slot(ue_PySScrollBox *self, PyObject * args, PyObject *kwargs) +{ PyObject *py_content; int h_align = 0; int v_align = 0; @@ -19,17 +20,18 @@ static PyObject *py_ue_sscroll_box_add_slot(ue_PySScrollBox *self, PyObject * ar if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|ii:add_slot", kwlist, &py_content, &h_align, - &v_align)) { + &v_align)) + { return NULL; } ue_PySWidget *py_swidget = py_ue_is_swidget(py_content); - if (!py_swidget) { + if (!py_swidget) + { return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); } Py_INCREF(py_swidget); - self->s_compound_widget.s_widget.py_swidget_slots.Add(py_swidget); SScrollBox::FSlot &fslot = sw_scroll_box->AddSlot(); fslot.AttachWidget(py_swidget->s_widget->AsShared()); @@ -40,11 +42,8 @@ static PyObject *py_ue_sscroll_box_add_slot(ue_PySScrollBox *self, PyObject * ar return (PyObject *)self; } -static PyObject *py_ue_sscroll_box_clear_children(ue_PySScrollBox *self, PyObject * args) { - for (ue_PySWidget *child : self->s_compound_widget.s_widget.py_swidget_slots) { - Py_DECREF(child); - } - self->s_compound_widget.s_widget.py_swidget_slots.Empty(); +static PyObject *py_ue_sscroll_box_clear_children(ue_PySScrollBox *self, PyObject * args) +{ sw_scroll_box->ClearChildren(); Py_RETURN_NONE; @@ -88,7 +87,8 @@ PyTypeObject ue_PySScrollBoxType = { ue_PySScrollBox_methods, /* tp_methods */ }; -static int ue_py_sscroll_box_init(ue_PySScrollBox *self, PyObject *args, PyObject *kwargs) { +static int ue_py_sscroll_box_init(ue_PySScrollBox *self, PyObject *args, PyObject *kwargs) +{ ue_py_slate_setup_farguments(SScrollBox); @@ -105,7 +105,8 @@ static int ue_py_sscroll_box_init(ue_PySScrollBox *self, PyObject *args, PyObjec return 0; } -void ue_python_init_sscroll_box(PyObject *ue_module) { +void ue_python_init_sscroll_box(PyObject *ue_module) +{ ue_PySScrollBoxType.tp_init = (initproc)ue_py_sscroll_box_init; ue_PySScrollBoxType.tp_call = (ternaryfunc)py_ue_sscroll_box_add_slot; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySSplitter.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySSplitter.cpp index 08e12f92f..d4f5e783a 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySSplitter.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySSplitter.cpp @@ -30,7 +30,6 @@ static PyObject *py_ue_ssplitter_add_slot(ue_PySSplitter *self, PyObject * args, } Py_INCREF(py_swidget); - self->s_panel.s_widget.py_swidget_slots.Add(py_swidget); SSplitter::FSlot &fslot = sw_splitter->AddSlot(index); if (size_value > -1) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.cpp index 949995e44..dd1a48896 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.cpp @@ -41,7 +41,6 @@ static PyObject *py_ue_svertical_box_add_slot(ue_PySVerticalBox *self, PyObject } Py_INCREF(py_swidget); - self->s_box_panel.s_panel.s_widget.py_swidget_slots.Add(py_swidget); SVerticalBox::FSlot &fslot = sw_vertical_box->AddSlot(); fslot.AttachWidget(py_swidget->s_widget->AsShared()); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp index 091dc665f..8b2b40421 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp @@ -128,10 +128,8 @@ static PyObject *py_ue_swidget_bind_on_mouse_button_down(ue_PySWidget *self, PyO } FPointerEventHandler handler; - UPythonSlateDelegate *py_delegate = NewObject(); - py_delegate->SetPyCallable(py_callable); - py_delegate->AddToRoot(); - handler.BindUObject(py_delegate, &UPythonSlateDelegate::OnMouseEvent); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable); + handler.BindSP(py_delegate, &FPythonSlateDelegate::OnMouseEvent); self->s_widget->SetOnMouseButtonDown(handler); @@ -144,7 +142,7 @@ static PyObject *py_ue_swidget_bind_on_mouse_button_up(ue_PySWidget *self, PyObj PyObject *py_callable; if (!PyArg_ParseTuple(args, "O:bind_on_mouse_button_up", &py_callable)) { - return NULL; + return nullptr; } if (!PyCalllable_Check_Extended(py_callable)) @@ -153,10 +151,8 @@ static PyObject *py_ue_swidget_bind_on_mouse_button_up(ue_PySWidget *self, PyObj } FPointerEventHandler handler; - UPythonSlateDelegate *py_delegate = NewObject(); - py_delegate->SetPyCallable(py_callable); - py_delegate->AddToRoot(); - handler.BindUObject(py_delegate, &UPythonSlateDelegate::OnMouseEvent); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable); + handler.BindSP(py_delegate, &FPythonSlateDelegate::OnMouseEvent); self->s_widget->SetOnMouseButtonUp(handler); @@ -178,10 +174,8 @@ static PyObject *py_ue_swidget_bind_on_mouse_double_click(ue_PySWidget *self, Py } FPointerEventHandler handler; - UPythonSlateDelegate *py_delegate = NewObject(); - py_delegate->SetPyCallable(py_callable); - py_delegate->AddToRoot(); - handler.BindUObject(py_delegate, &UPythonSlateDelegate::OnMouseEvent); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable); + handler.BindSP(py_delegate, &FPythonSlateDelegate::OnMouseEvent); self->s_widget->SetOnMouseDoubleClick(handler); @@ -203,10 +197,8 @@ static PyObject *py_ue_swidget_bind_on_mouse_move(ue_PySWidget *self, PyObject * } FPointerEventHandler handler; - UPythonSlateDelegate *py_delegate = NewObject(); - py_delegate->SetPyCallable(py_callable); - py_delegate->AddToRoot(); - handler.BindUObject(py_delegate, &UPythonSlateDelegate::OnMouseEvent); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable); + handler.BindSP(py_delegate, &FPythonSlateDelegate::OnMouseEvent); self->s_widget->SetOnMouseMove(handler); @@ -354,21 +346,6 @@ static void ue_PySWidgett_dealloc(ue_PySWidget *self) UE_LOG(LogPython, Warning, TEXT("Destroying ue_PySWidget %p mapped to %s %p (slate refcount: %d)"), self, *self->s_widget->GetTypeAsString(), &self->s_widget.Get(), self->s_widget.GetSharedReferenceCount()); #endif Py_DECREF(self->py_dict); - for (UPythonSlateDelegate *item : self->delegates) - { - if (item->IsValidLowLevel() && item->IsRooted()) - item->RemoveFromRoot(); - } - for (ue_PySWidget *item : self->py_swidget_slots) - { - Py_DECREF(item); - } - // decref content (if any) - Py_XDECREF(self->py_swidget_content); - for (PyObject *item : self->py_refs) - { - Py_DECREF(item); - } ue_py_unregister_swidget(&self->s_widget.Get()); // decrement widget reference count // but only if python vm is still fully active (hack to avoid crashes on editor shutdown) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h index 9433fba00..ac3ca3645 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h @@ -13,16 +13,7 @@ struct ue_PySWidget /* Type-specific fields go here. */ TSharedRef s_widget; - PyObject *py_dict; - - TArray delegates; - - ue_PySWidget *py_swidget_content; - - TArray py_swidget_slots; - - TArray py_refs; }; void ue_python_init_swidget(PyObject *); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp index b6e597096..054e8c485 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp @@ -41,10 +41,10 @@ static PyObject *py_ue_swindow_resize(ue_PySWindow *self, PyObject * args) static PyObject *py_ue_swindow_minimize(ue_PySWindow *self, PyObject * args) { - sw_window->Minimize(); + sw_window->Minimize(); - Py_INCREF(self); - return (PyObject *)self; + Py_INCREF(self); + return (PyObject *)self; } static PyObject *py_ue_swindow_set_content(ue_PySWindow *self, PyObject * args) @@ -61,9 +61,7 @@ static PyObject *py_ue_swindow_set_content(ue_PySWindow *self, PyObject * args) return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); } - Py_XDECREF(self->s_compound_widget.s_widget.py_swidget_content); Py_INCREF(py_swidget); - self->s_compound_widget.s_widget.py_swidget_content = py_swidget; sw_window->SetContent(py_swidget->s_widget->AsShared()); @@ -118,29 +116,29 @@ static PyObject *py_ue_swindow_add_modal(ue_PySWindow *self, PyObject * args) static PyObject *py_ue_swindow_add_child(ue_PySWindow *self, PyObject * args) { - PyObject *py_obj; - if (!PyArg_ParseTuple(args, "O:add_child", &py_obj)) - { - return NULL; - } - - ue_PySWindow *py_swindow_child = py_ue_is_swindow(py_obj); - if (!py_swindow_child) - { - return PyErr_Format(PyExc_Exception, "argument is not a SWindow"); - } - - FSlateApplication::Get().AddWindowAsNativeChild( - StaticCastSharedRef(py_swindow_child->s_compound_widget.s_widget.s_widget), - sw_window); - - Py_RETURN_NONE; + PyObject *py_obj; + if (!PyArg_ParseTuple(args, "O:add_child", &py_obj)) + { + return NULL; + } + + ue_PySWindow *py_swindow_child = py_ue_is_swindow(py_obj); + if (!py_swindow_child) + { + return PyErr_Format(PyExc_Exception, "argument is not a SWindow"); + } + + FSlateApplication::Get().AddWindowAsNativeChild( + StaticCastSharedRef(py_swindow_child->s_compound_widget.s_widget.s_widget), + sw_window); + + Py_RETURN_NONE; } static PyMethodDef ue_PySWindow_methods[] = { - { "set_title", (PyCFunction)py_ue_swindow_set_title, METH_VARARGS, "" }, - { "set_sizing_rule", (PyCFunction)py_ue_swindow_set_sizing_rule, METH_VARARGS, "" }, - { "minimize", (PyCFunction)py_ue_swindow_minimize, METH_VARARGS, "" }, + { "set_title", (PyCFunction)py_ue_swindow_set_title, METH_VARARGS, "" }, + { "set_sizing_rule", (PyCFunction)py_ue_swindow_set_sizing_rule, METH_VARARGS, "" }, + { "minimize", (PyCFunction)py_ue_swindow_minimize, METH_VARARGS, "" }, { "resize", (PyCFunction)py_ue_swindow_resize, METH_VARARGS, "" }, { "set_client_size", (PyCFunction)py_ue_swindow_resize, METH_VARARGS, "" }, { "set_content", (PyCFunction)py_ue_swindow_set_content, METH_VARARGS, "" }, @@ -149,7 +147,7 @@ static PyMethodDef ue_PySWindow_methods[] = { #if WITH_EDITOR { "add_modal", (PyCFunction)py_ue_swindow_add_modal, METH_VARARGS, "" }, #endif - { "add_child", (PyCFunction)py_ue_swindow_add_child, METH_VARARGS, "" }, + { "add_child", (PyCFunction)py_ue_swindow_add_child, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; @@ -245,20 +243,18 @@ static int ue_py_swindow_init(ue_PySWindow *self, PyObject *args, PyObject *kwar if (on_closed && PyCalllable_Check_Extended(on_closed)) { FOnWindowClosed handler; - UPythonSlateDelegate *py_delegate = NewObject(); - py_delegate->SetPyCallable(on_closed); - py_delegate->AddToRoot(); - handler.BindUObject(py_delegate, &UPythonSlateDelegate::OnWindowClosed); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, on_closed); + handler.BindSP(py_delegate, &FPythonSlateDelegate::OnWindowClosed); sw_window->SetOnWindowClosed(handler); } - // is it a child ? - PyObject *is_child = ue_py_dict_get_item(kwargs, "child"); - if (!(is_child && PyObject_IsTrue(is_child))) - { - FSlateApplication::Get().AddWindow(StaticCastSharedRef(sw_window->AsShared()), true); - } + // is it a child ? + PyObject *is_child = ue_py_dict_get_item(kwargs, "child"); + if (!(is_child && PyObject_IsTrue(is_child))) + { + FSlateApplication::Get().AddWindow(StaticCastSharedRef(sw_window->AsShared()), true); + } return 0; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp index 100de470d..536223cf5 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp @@ -26,7 +26,7 @@ #include "UEPySlate.h" #include "PyNativeWidgetHost.h" -FReply UPythonSlateDelegate::OnMouseEvent(const FGeometry &geometry, const FPointerEvent &pointer_event) +FReply FPythonSlateDelegate::OnMouseEvent(const FGeometry &geometry, const FPointerEvent &pointer_event) { FScopePythonGIL gil; @@ -46,7 +46,7 @@ FReply UPythonSlateDelegate::OnMouseEvent(const FGeometry &geometry, const FPoin return FReply::Handled(); } -FReply UPythonSlateDelegate::OnKeyDown(const FGeometry &geometry, const FKeyEvent &key_event) +FReply FPythonSlateDelegate::OnKeyDown(const FGeometry &geometry, const FKeyEvent &key_event) { FScopePythonGIL gil; @@ -66,7 +66,7 @@ FReply UPythonSlateDelegate::OnKeyDown(const FGeometry &geometry, const FKeyEven return FReply::Handled(); } -FReply UPythonSlateDelegate::OnClicked() +FReply FPythonSlateDelegate::OnClicked() { FScopePythonGIL gil; @@ -86,7 +86,7 @@ FReply UPythonSlateDelegate::OnClicked() return FReply::Handled(); } -void UPythonSlateDelegate::OnTextChanged(const FText& text) +void FPythonSlateDelegate::OnTextChanged(const FText& text) { FScopePythonGIL gil; @@ -99,7 +99,7 @@ void UPythonSlateDelegate::OnTextChanged(const FText& text) Py_DECREF(ret); } -void UPythonSlateDelegate::OnStringChanged(const FString& text) +void FPythonSlateDelegate::OnStringChanged(const FString& text) { FScopePythonGIL gil; @@ -112,7 +112,7 @@ void UPythonSlateDelegate::OnStringChanged(const FString& text) Py_DECREF(ret); } -void UPythonSlateDelegate::OnTextCommitted(const FText& text, ETextCommit::Type commit_type) +void FPythonSlateDelegate::OnTextCommitted(const FText& text, ETextCommit::Type commit_type) { FScopePythonGIL gil; @@ -125,33 +125,33 @@ void UPythonSlateDelegate::OnTextCommitted(const FText& text, ETextCommit::Type Py_DECREF(ret); } -void UPythonSlateDelegate::OnInt32Changed(int32 value) +void FPythonSlateDelegate::OnInt32Changed(int32 value) { - FScopePythonGIL gil; - - PyObject *ret = PyObject_CallFunction(py_callable, (char *)"i", value); - if (!ret) - { - unreal_engine_py_log_error(); - return; - } - Py_DECREF(ret); + FScopePythonGIL gil; + + PyObject *ret = PyObject_CallFunction(py_callable, (char *)"i", value); + if (!ret) + { + unreal_engine_py_log_error(); + return; + } + Py_DECREF(ret); } -void UPythonSlateDelegate::OnInt32Committed(int32 value, ETextCommit::Type commit_type) +void FPythonSlateDelegate::OnInt32Committed(int32 value, ETextCommit::Type commit_type) { - FScopePythonGIL gil; - - PyObject *ret = PyObject_CallFunction(py_callable, (char *)"ii", value, (int)commit_type); - if (!ret) - { - unreal_engine_py_log_error(); - return; - } - Py_DECREF(ret); + FScopePythonGIL gil; + + PyObject *ret = PyObject_CallFunction(py_callable, (char *)"ii", value, (int)commit_type); + if (!ret) + { + unreal_engine_py_log_error(); + return; + } + Py_DECREF(ret); } -void UPythonSlateDelegate::OnFloatChanged(float value) +void FPythonSlateDelegate::OnFloatChanged(float value) { FScopePythonGIL gil; @@ -164,7 +164,7 @@ void UPythonSlateDelegate::OnFloatChanged(float value) Py_DECREF(ret); } -void UPythonSlateDelegate::OnLinearColorChanged(FLinearColor color) +void FPythonSlateDelegate::OnLinearColorChanged(FLinearColor color) { FScopePythonGIL gil; @@ -177,7 +177,7 @@ void UPythonSlateDelegate::OnLinearColorChanged(FLinearColor color) Py_DECREF(ret); } -void UPythonSlateDelegate::OnWindowClosed(const TSharedRef &Window) +void FPythonSlateDelegate::OnWindowClosed(const TSharedRef &Window) { FScopePythonGIL gil; @@ -190,7 +190,7 @@ void UPythonSlateDelegate::OnWindowClosed(const TSharedRef &Window) Py_DECREF(ret); } -void UPythonSlateDelegate::OnFloatCommitted(float value, ETextCommit::Type commit_type) +void FPythonSlateDelegate::OnFloatCommitted(float value, ETextCommit::Type commit_type) { FScopePythonGIL gil; @@ -203,20 +203,20 @@ void UPythonSlateDelegate::OnFloatCommitted(float value, ETextCommit::Type commi Py_DECREF(ret); } -void UPythonSlateDelegate::OnSort(const EColumnSortPriority::Type SortPriority, const FName& ColumnName, const EColumnSortMode::Type NewSortMode) +void FPythonSlateDelegate::OnSort(const EColumnSortPriority::Type SortPriority, const FName& ColumnName, const EColumnSortMode::Type NewSortMode) { - FScopePythonGIL gil; - - PyObject *ret = PyObject_CallFunction(py_callable, (char *)"isi", (int)SortPriority, TCHAR_TO_UTF8(*ColumnName.ToString()), (int)NewSortMode); - if (!ret) - { - unreal_engine_py_log_error(); - return; - } - Py_DECREF(ret); + FScopePythonGIL gil; + + PyObject *ret = PyObject_CallFunction(py_callable, (char *)"isi", (int)SortPriority, TCHAR_TO_UTF8(*ColumnName.ToString()), (int)NewSortMode); + if (!ret) + { + unreal_engine_py_log_error(); + return; + } + Py_DECREF(ret); } -void UPythonSlateDelegate::CheckBoxChanged(ECheckBoxState state) +void FPythonSlateDelegate::CheckBoxChanged(ECheckBoxState state) { FScopePythonGIL gil; @@ -230,7 +230,7 @@ void UPythonSlateDelegate::CheckBoxChanged(ECheckBoxState state) } #if WITH_EDITOR -void UPythonSlateDelegate::OnAssetDoubleClicked(const FAssetData& AssetData) +void FPythonSlateDelegate::OnAssetDoubleClicked(const FAssetData& AssetData) { FScopePythonGIL gil; @@ -242,7 +242,7 @@ void UPythonSlateDelegate::OnAssetDoubleClicked(const FAssetData& AssetData) Py_XDECREF(ret); } -void UPythonSlateDelegate::OnAssetSelected(const FAssetData& AssetData) +void FPythonSlateDelegate::OnAssetSelected(const FAssetData& AssetData) { FScopePythonGIL gil; @@ -254,7 +254,7 @@ void UPythonSlateDelegate::OnAssetSelected(const FAssetData& AssetData) Py_XDECREF(ret); } -void UPythonSlateDelegate::OnAssetChanged(const FAssetData& AssetData) +void FPythonSlateDelegate::OnAssetChanged(const FAssetData& AssetData) { FScopePythonGIL gil; @@ -266,7 +266,7 @@ void UPythonSlateDelegate::OnAssetChanged(const FAssetData& AssetData) Py_XDECREF(ret); } -bool UPythonSlateDelegate::OnShouldFilterAsset(const FAssetData& AssetData) +bool FPythonSlateDelegate::OnShouldFilterAsset(const FAssetData& AssetData) { FScopePythonGIL gil; @@ -281,7 +281,7 @@ bool UPythonSlateDelegate::OnShouldFilterAsset(const FAssetData& AssetData) return bValue; } -TSharedPtr UPythonSlateDelegate::OnGetAssetContextMenu(const TArray& SelectedAssets) +TSharedPtr FPythonSlateDelegate::OnGetAssetContextMenu(const TArray& SelectedAssets) { FScopePythonGIL gil; @@ -311,7 +311,7 @@ TSharedPtr UPythonSlateDelegate::OnGetAssetContextMenu(const TArray SelectedAssets) +void FPythonSlateDelegate::MenuPyAssetBuilder(FMenuBuilder &Builder, TArray SelectedAssets) { FScopePythonGIL gil; @@ -330,18 +330,18 @@ void UPythonSlateDelegate::MenuPyAssetBuilder(FMenuBuilder &Builder, TArray UPythonSlateDelegate::OnExtendContentBrowserMenu(const TArray& SelectedAssets) +TSharedRef FPythonSlateDelegate::OnExtendContentBrowserMenu(const TArray& SelectedAssets) { TSharedRef Extender(new FExtender()); - Extender->AddMenuExtension((char *)"GetAssetActions", EExtensionHook::After, nullptr, FMenuExtensionDelegate::CreateUObject(this, &UPythonSlateDelegate::MenuPyAssetBuilder, SelectedAssets)); + Extender->AddMenuExtension((char *)"GetAssetActions", EExtensionHook::After, nullptr, FMenuExtensionDelegate::CreateSP(this, &FPythonSlateDelegate::MenuPyAssetBuilder, SelectedAssets)); return Extender; } #endif -TSharedRef UPythonSlateDelegate::OnGenerateWidget(TSharedPtr py_item) +TSharedRef FPythonSlateDelegate::OnGenerateWidget(TSharedPtr py_item) { FScopePythonGIL gil; @@ -365,35 +365,35 @@ TSharedRef UPythonSlateDelegate::OnGenerateWidget(TSharedPtr UPythonSlateDelegate::OnGetMenuContent() +TSharedRef FPythonSlateDelegate::OnGetMenuContent() { - FScopePythonGIL gil; - - PyObject *ret = PyObject_CallFunction(py_callable, (char *)""); - if (!ret) - { - unreal_engine_py_log_error(); - return SNullWidget::NullWidget; - } - - ue_PySWidget *s_widget = py_ue_is_swidget(ret); - if (!s_widget) - { - Py_DECREF(ret); - UE_LOG(LogPython, Error, TEXT("returned value is not a SWidget")); - return SNullWidget::NullWidget; - } - TSharedRef value = s_widget->s_widget; - Py_DECREF(ret); - return value; + FScopePythonGIL gil; + + PyObject *ret = PyObject_CallFunction(py_callable, (char *)""); + if (!ret) + { + unreal_engine_py_log_error(); + return SNullWidget::NullWidget; + } + + ue_PySWidget *s_widget = py_ue_is_swidget(ret); + if (!s_widget) + { + Py_DECREF(ret); + UE_LOG(LogPython, Error, TEXT("returned value is not a SWidget")); + return SNullWidget::NullWidget; + } + TSharedRef value = s_widget->s_widget; + Py_DECREF(ret); + return value; } -void UPythonSlateDelegate::OnSelectionChanged(TSharedPtr py_item, ESelectInfo::Type select_type) +void FPythonSlateDelegate::OnSelectionChanged(TSharedPtr py_item, ESelectInfo::Type select_type) { - if (!py_item.IsValid()) - { - return; - } + if (!py_item.IsValid()) + { + return; + } FScopePythonGIL gil; @@ -406,7 +406,7 @@ void UPythonSlateDelegate::OnSelectionChanged(TSharedPtr py_item, E Py_DECREF(ret); } -TSharedPtr UPythonSlateDelegate::OnContextMenuOpening() +TSharedPtr FPythonSlateDelegate::OnContextMenuOpening() { FScopePythonGIL gil; @@ -429,7 +429,7 @@ TSharedPtr UPythonSlateDelegate::OnContextMenuOpening() return value; } -void UPythonSlateDelegate::SimpleExecuteAction() +void FPythonSlateDelegate::SimpleExecuteAction() { FScopePythonGIL gil; @@ -441,7 +441,7 @@ void UPythonSlateDelegate::SimpleExecuteAction() Py_XDECREF(ret); } -void UPythonSlateDelegate::ExecuteAction(PyObject *py_obj) +void FPythonSlateDelegate::ExecuteAction(PyObject *py_obj) { FScopePythonGIL gil; @@ -453,7 +453,7 @@ void UPythonSlateDelegate::ExecuteAction(PyObject *py_obj) Py_XDECREF(ret); } -FText UPythonSlateDelegate::GetterFText() const +FText FPythonSlateDelegate::GetterFText() const { FScopePythonGIL gil; @@ -477,7 +477,7 @@ FText UPythonSlateDelegate::GetterFText() const return text; } -FString UPythonSlateDelegate::GetterFString() const +FString FPythonSlateDelegate::GetterFString() const { FScopePythonGIL gil; @@ -501,7 +501,7 @@ FString UPythonSlateDelegate::GetterFString() const return fstr; } -float UPythonSlateDelegate::GetterFloat() const +float FPythonSlateDelegate::GetterFloat() const { FScopePythonGIL gil; @@ -525,7 +525,7 @@ float UPythonSlateDelegate::GetterFloat() const return n; } -TOptional UPythonSlateDelegate::GetterTFloat() const +TOptional FPythonSlateDelegate::GetterTFloat() const { FScopePythonGIL gil; @@ -549,7 +549,7 @@ TOptional UPythonSlateDelegate::GetterTFloat() const return n; } -int UPythonSlateDelegate::GetterInt() const +int FPythonSlateDelegate::GetterInt() const { FScopePythonGIL gil; @@ -573,7 +573,7 @@ int UPythonSlateDelegate::GetterInt() const return n; } -bool UPythonSlateDelegate::GetterBool() const +bool FPythonSlateDelegate::GetterBool() const { FScopePythonGIL gil; @@ -593,7 +593,7 @@ bool UPythonSlateDelegate::GetterBool() const return false; } -FVector2D UPythonSlateDelegate::GetterFVector2D() const +FVector2D FPythonSlateDelegate::GetterFVector2D() const { FScopePythonGIL gil; @@ -640,7 +640,7 @@ FVector2D UPythonSlateDelegate::GetterFVector2D() const return FVector2D(x, y); } -FLinearColor UPythonSlateDelegate::GetterFLinearColor() const +FLinearColor FPythonSlateDelegate::GetterFLinearColor() const { FScopePythonGIL gil; @@ -666,7 +666,7 @@ FLinearColor UPythonSlateDelegate::GetterFLinearColor() const return color; } -TSharedRef UPythonSlateDelegate::SpawnPythonTab(const FSpawnTabArgs &args) +TSharedRef FPythonSlateDelegate::SpawnPythonTab(const FSpawnTabArgs &args) { TSharedRef dock_tab = SNew(SDockTab).TabRole(ETabRole::NomadTab); PyObject *py_dock = (PyObject *)ue_py_get_swidget(dock_tab); @@ -682,9 +682,9 @@ TSharedRef UPythonSlateDelegate::SpawnPythonTab(const FSpawnTabArgs &a return dock_tab; } -TSharedRef UPythonSlateDelegate::GenerateRow(TSharedPtr InItem, const TSharedRef& OwnerTable) +TSharedRef FPythonSlateDelegate::GenerateRow(TSharedPtr InItem, const TSharedRef& OwnerTable) { - FScopePythonGIL gil; + FScopePythonGIL gil; PyObject *ret = PyObject_CallFunction(py_callable, (char*)"O", InItem.Get()->py_object); if (!ret) @@ -692,24 +692,24 @@ TSharedRef UPythonSlateDelegate::GenerateRow(TSharedPtr unreal_engine_py_log_error(); return SNew(STableRow>, OwnerTable); } - - if (ue_PySPythonMultiColumnTableRow *spython_multicolumn_table_row = py_ue_is_spython_multicolumn_table_row(ret)) - { - Py_INCREF(spython_multicolumn_table_row); - TSharedRef value = StaticCastSharedRef(spython_multicolumn_table_row->s_compound_widget.s_widget.s_widget->AsShared()); - return value; - } + + if (ue_PySPythonMultiColumnTableRow *spython_multicolumn_table_row = py_ue_is_spython_multicolumn_table_row(ret)) + { + Py_INCREF(spython_multicolumn_table_row); + TSharedRef value = StaticCastSharedRef(spython_multicolumn_table_row->s_compound_widget.s_widget.s_widget->AsShared()); + return value; + } else if (ue_PySWidget *s_widget = py_ue_is_swidget(ret)) { - return SNew(STableRow>, OwnerTable).Content()[s_widget->s_widget]; + return SNew(STableRow>, OwnerTable).Content()[s_widget->s_widget]; } - UE_LOG(LogPython, Error, TEXT("python callable did not return a SWidget")); - return SNew(STableRow>, OwnerTable); - + UE_LOG(LogPython, Error, TEXT("python callable did not return a SWidget")); + return SNew(STableRow>, OwnerTable); + } -void UPythonSlateDelegate::GetChildren(TSharedPtr InItem, TArray>& OutChildren) +void FPythonSlateDelegate::GetChildren(TSharedPtr InItem, TArray>& OutChildren) { PyObject *ret = PyObject_CallFunction(py_callable, (char*)"O", InItem.Get()->py_object); if (!ret) @@ -772,10 +772,6 @@ void ue_py_setup_swidget(ue_PySWidget *self) #endif self->py_dict = PyDict_New(); new(&self->s_widget) TSharedRef(SNullWidget::NullWidget); - new(&self->delegates) TArray(); - new(&self->py_swidget_slots) TArray(); - new(&self->py_refs) TArray(); - self->py_swidget_content = nullptr; } void ue_py_register_swidget(SWidget *s_widget, ue_PySWidget *py_s_widget) @@ -813,7 +809,7 @@ void ue_python_init_slate(PyObject *module) ue_python_init_stable_view_base(module); ue_python_init_slist_view(module); ue_python_init_spython_list_view(module); - ue_python_init_spython_multicolumn_table_row(module); + ue_python_init_spython_multicolumn_table_row(module); ue_python_init_stree_view(module); ue_python_init_spython_tree_view(module); ue_python_init_ssplitter(module); @@ -835,12 +831,12 @@ void ue_python_init_slate(PyObject *module) #if WITH_EDITOR - ue_python_init_snode_panel(module); + ue_python_init_snode_panel(module); #if ENGINE_MINOR_VERSION > 15 - ue_python_init_sgraph_panel(module); + ue_python_init_sgraph_panel(module); #endif - ue_python_init_idetails_view(module); - ue_python_init_istructure_details_view(module); + ue_python_init_idetails_view(module); + ue_python_init_istructure_details_view(module); ue_python_init_seditor_viewport(module); ue_python_init_slevel_viewport(module); ue_python_init_spython_editor_viewport(module); @@ -871,7 +867,7 @@ void ue_python_init_slate(PyObject *module) ue_python_init_fkey_event(module); ue_python_init_fcharacter_event(module); ue_python_init_fmodifier_keys_state(module); - ue_python_init_eslate_enums(module); + ue_python_init_eslate_enums(module); } PyObject *ue_py_dict_get_item(PyObject *dict, const char *key) @@ -894,35 +890,35 @@ PyObject *py_unreal_engine_get_editor_window(PyObject *self, PyObject *args) PyObject *py_unreal_engine_find_slate_style(PyObject *self, PyObject *args) { - char *name = nullptr; - if (!PyArg_ParseTuple(args, "s:find_slate_style", &name)) - return nullptr; - - ISlateStyle const* const foundStyleSet = FSlateStyleRegistry::FindSlateStyle(FName(name)); - if (!foundStyleSet) - { - UE_LOG(LogPython, Warning, TEXT("Could not find SlateStyle")); - Py_RETURN_NONE; - } - - ue_PyFSlateStyleSet *ret = py_ue_new_fslate_style_set(static_cast(const_cast(foundStyleSet))); - return (PyObject *)ret; + char *name = nullptr; + if (!PyArg_ParseTuple(args, "s:find_slate_style", &name)) + return nullptr; + + ISlateStyle const* const foundStyleSet = FSlateStyleRegistry::FindSlateStyle(FName(name)); + if (!foundStyleSet) + { + UE_LOG(LogPython, Warning, TEXT("Could not find SlateStyle")); + Py_RETURN_NONE; + } + + ue_PyFSlateStyleSet *ret = py_ue_new_fslate_style_set(static_cast(const_cast(foundStyleSet))); + return (PyObject *)ret; } PyObject *py_unreal_engine_find_icon_for_class(PyObject *self, PyObject *args) { - PyObject* py_class = nullptr; - char *name = nullptr; - if (!PyArg_ParseTuple(args, "O|s:find_icon_for_class", &py_class, &name)) - return nullptr; - - UClass *u_class = ue_py_check_type(py_class); - if (!u_class) - return PyErr_Format(PyExc_Exception, "argument is not a UClass object"); - - FSlateIcon foundIcon = FSlateIconFinder::FindIconForClass(u_class, FName(UTF8_TO_TCHAR(name))); - ue_PyFSlateIcon *ret = py_ue_new_fslate_icon(foundIcon); - return (PyObject *)ret; + PyObject* py_class = nullptr; + char *name = nullptr; + if (!PyArg_ParseTuple(args, "O|s:find_icon_for_class", &py_class, &name)) + return nullptr; + + UClass *u_class = ue_py_check_type(py_class); + if (!u_class) + return PyErr_Format(PyExc_Exception, "argument is not a UClass object"); + + FSlateIcon foundIcon = FSlateIconFinder::FindIconForClass(u_class, FName(UTF8_TO_TCHAR(name))); + ue_PyFSlateIcon *ret = py_ue_new_fslate_icon(foundIcon); + return (PyObject *)ret; } @@ -1019,21 +1015,21 @@ PyObject *py_unreal_engine_create_detail_view(PyObject *self, PyObject * args, P PyObject *py_object; PyObject *py_allow_search = nullptr; - PyObject *py_update_from_selection = nullptr; - PyObject *py_lockable = nullptr; - char *py_name_area_settings = nullptr; - PyObject *py_hide_selection_tip = nullptr; - PyObject *py_search_initial_key_focus = nullptr; + PyObject *py_update_from_selection = nullptr; + PyObject *py_lockable = nullptr; + char *py_name_area_settings = nullptr; + PyObject *py_hide_selection_tip = nullptr; + PyObject *py_search_initial_key_focus = nullptr; char *kwlist[] = { (char *)"uobject", (char *)"allow_search", - (char *)"update_from_selection", - (char *)"lockable", - (char *)"name_area_settings", - (char *)"hide_selection_tip", - (char *)"search_initial_key_focus", + (char *)"update_from_selection", + (char *)"lockable", + (char *)"name_area_settings", + (char *)"hide_selection_tip", + (char *)"search_initial_key_focus", nullptr }; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|OOOOsOO:create_detail_view", kwlist, @@ -1045,103 +1041,103 @@ PyObject *py_unreal_engine_create_detail_view(PyObject *self, PyObject * args, P FPropertyEditorModule& PropertyEditorModule = FModuleManager::GetModuleChecked("PropertyEditor"); FDetailsViewArgs view_args; - view_args.bAllowSearch = (py_allow_search ) ? PyObject_IsTrue(py_allow_search) : view_args.bAllowSearch; - view_args.bUpdatesFromSelection = (py_update_from_selection ) ? PyObject_IsTrue(py_update_from_selection) : view_args.bUpdatesFromSelection; - view_args.bLockable = (py_lockable ) ? PyObject_IsTrue(py_lockable) : view_args.bLockable; - view_args.bHideSelectionTip = (py_hide_selection_tip ) ? PyObject_IsTrue(py_hide_selection_tip) : view_args.bHideSelectionTip; - view_args.bSearchInitialKeyFocus = (py_search_initial_key_focus) ? PyObject_IsTrue(py_search_initial_key_focus) : view_args.bSearchInitialKeyFocus; - FString name_area_string = py_name_area_settings ? FString(UTF8_TO_TCHAR(py_name_area_settings)) : FString(); - view_args.NameAreaSettings = [&name_area_string]() { - if (FCString::Stricmp(*name_area_string, TEXT("HideNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::HideNameArea; } - else if (FCString::Stricmp(*name_area_string, TEXT("ObjectsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ObjectsUseNameArea; } - else if (FCString::Stricmp(*name_area_string, TEXT("ActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } - else if (FCString::Stricmp(*name_area_string, TEXT("ComponentsAndActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ComponentsAndActorsUseNameArea; } - else { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } - }(); + view_args.bAllowSearch = (py_allow_search) ? PyObject_IsTrue(py_allow_search) : view_args.bAllowSearch; + view_args.bUpdatesFromSelection = (py_update_from_selection) ? PyObject_IsTrue(py_update_from_selection) : view_args.bUpdatesFromSelection; + view_args.bLockable = (py_lockable) ? PyObject_IsTrue(py_lockable) : view_args.bLockable; + view_args.bHideSelectionTip = (py_hide_selection_tip) ? PyObject_IsTrue(py_hide_selection_tip) : view_args.bHideSelectionTip; + view_args.bSearchInitialKeyFocus = (py_search_initial_key_focus) ? PyObject_IsTrue(py_search_initial_key_focus) : view_args.bSearchInitialKeyFocus; + FString name_area_string = py_name_area_settings ? FString(UTF8_TO_TCHAR(py_name_area_settings)) : FString(); + view_args.NameAreaSettings = [&name_area_string]() { + if (FCString::Stricmp(*name_area_string, TEXT("HideNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::HideNameArea; } + else if (FCString::Stricmp(*name_area_string, TEXT("ObjectsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ObjectsUseNameArea; } + else if (FCString::Stricmp(*name_area_string, TEXT("ActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } + else if (FCString::Stricmp(*name_area_string, TEXT("ComponentsAndActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ComponentsAndActorsUseNameArea; } + else { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } + }(); TSharedPtr view = PropertyEditorModule.CreateDetailView(view_args); - - if (UObject *u_object = ue_py_check_type(py_object)) - { - view->SetObject(u_object); - } - extern PyTypeObject ue_PyIDetailsViewType; + if (UObject *u_object = ue_py_check_type(py_object)) + { + view->SetObject(u_object); + } + + extern PyTypeObject ue_PyIDetailsViewType; return (PyObject *)py_ue_new_swidget(view->AsShared(), &ue_PyIDetailsViewType); } PyObject *py_unreal_engine_create_structure_detail_view(PyObject *self, PyObject * args, PyObject *kwargs) { - PyObject *py_object = nullptr; - - PyObject *py_allow_search = nullptr; - PyObject *py_update_from_selection = nullptr; - PyObject *py_lockable = nullptr; - char *py_name_area_settings = nullptr; - PyObject *py_hide_selection_tip = nullptr; - PyObject *py_search_initial_key_focus = nullptr; - - char *kwlist[] = { - (char*)"struct_data", - (char *)"allow_search", - (char *)"update_from_selection", - (char *)"lockable", - (char *)"name_area_settings", - (char *)"hide_selection_tip", - (char *)"search_initial_key_focus", - nullptr }; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|OOOOsOO:create_structure_detail_view", kwlist, - &py_object, &py_allow_search, &py_update_from_selection, &py_lockable, &py_name_area_settings, &py_hide_selection_tip, &py_search_initial_key_focus)) - { - return nullptr; - } - - if (py_object && !py_ue_is_uscriptstruct(py_object)) - { - return PyErr_Format(PyExc_Exception, "argument is not a UScriptStruct"); - } - - FDetailsViewArgs view_args; - view_args.bAllowSearch = (py_allow_search ) ? PyObject_IsTrue(py_allow_search) : view_args.bAllowSearch; - view_args.bUpdatesFromSelection = (py_update_from_selection ) ? PyObject_IsTrue(py_update_from_selection) : view_args.bUpdatesFromSelection; - view_args.bLockable = (py_lockable ) ? PyObject_IsTrue(py_lockable) : view_args.bLockable; - view_args.bHideSelectionTip = (py_hide_selection_tip ) ? PyObject_IsTrue(py_hide_selection_tip) : view_args.bHideSelectionTip; - view_args.bSearchInitialKeyFocus = (py_search_initial_key_focus) ? PyObject_IsTrue(py_search_initial_key_focus) : view_args.bSearchInitialKeyFocus; - - FString name_area_string = py_name_area_settings ? FString(UTF8_TO_TCHAR(py_name_area_settings)) : FString(); - view_args.NameAreaSettings = [&name_area_string]() { - if (FCString::Stricmp(*name_area_string, TEXT("HideNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::HideNameArea; } - else if (FCString::Stricmp(*name_area_string, TEXT("ObjectsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ObjectsUseNameArea; } - else if (FCString::Stricmp(*name_area_string, TEXT("ActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } - else if (FCString::Stricmp(*name_area_string, TEXT("ComponentsAndActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ComponentsAndActorsUseNameArea; } - else { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } - }(); - FStructureDetailsViewArgs struct_view_args; - { - struct_view_args.bShowObjects = true; - struct_view_args.bShowAssets = true; - struct_view_args.bShowClasses = true; - struct_view_args.bShowInterfaces = true; - } - - extern PyTypeObject ue_PyIStructureDetailsViewType; - ue_PyIStructureDetailsView *ret = (ue_PyIStructureDetailsView *)PyObject_New(ue_PyIStructureDetailsView, &ue_PyIStructureDetailsViewType); - new(&ret->istructure_details_view) TSharedPtr(nullptr); - ret->ue_py_struct = nullptr; - TSharedPtr struct_scope; - - if (ue_PyUScriptStruct *ue_py_struct = py_ue_is_uscriptstruct(py_object)) - { - Py_INCREF(ue_py_struct); - ret->ue_py_struct = ue_py_struct; - struct_scope = MakeShared(ue_py_struct->u_struct, ue_py_struct->data); - } - - FPropertyEditorModule& PropertyEditorModule = FModuleManager::GetModuleChecked("PropertyEditor"); - ret->istructure_details_view = PropertyEditorModule.CreateStructureDetailView(view_args, struct_view_args, struct_scope); - - return (PyObject *)ret; + PyObject *py_object = nullptr; + + PyObject *py_allow_search = nullptr; + PyObject *py_update_from_selection = nullptr; + PyObject *py_lockable = nullptr; + char *py_name_area_settings = nullptr; + PyObject *py_hide_selection_tip = nullptr; + PyObject *py_search_initial_key_focus = nullptr; + + char *kwlist[] = { + (char*)"struct_data", + (char *)"allow_search", + (char *)"update_from_selection", + (char *)"lockable", + (char *)"name_area_settings", + (char *)"hide_selection_tip", + (char *)"search_initial_key_focus", + nullptr }; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|OOOOsOO:create_structure_detail_view", kwlist, + &py_object, &py_allow_search, &py_update_from_selection, &py_lockable, &py_name_area_settings, &py_hide_selection_tip, &py_search_initial_key_focus)) + { + return nullptr; + } + + if (py_object && !py_ue_is_uscriptstruct(py_object)) + { + return PyErr_Format(PyExc_Exception, "argument is not a UScriptStruct"); + } + + FDetailsViewArgs view_args; + view_args.bAllowSearch = (py_allow_search) ? PyObject_IsTrue(py_allow_search) : view_args.bAllowSearch; + view_args.bUpdatesFromSelection = (py_update_from_selection) ? PyObject_IsTrue(py_update_from_selection) : view_args.bUpdatesFromSelection; + view_args.bLockable = (py_lockable) ? PyObject_IsTrue(py_lockable) : view_args.bLockable; + view_args.bHideSelectionTip = (py_hide_selection_tip) ? PyObject_IsTrue(py_hide_selection_tip) : view_args.bHideSelectionTip; + view_args.bSearchInitialKeyFocus = (py_search_initial_key_focus) ? PyObject_IsTrue(py_search_initial_key_focus) : view_args.bSearchInitialKeyFocus; + + FString name_area_string = py_name_area_settings ? FString(UTF8_TO_TCHAR(py_name_area_settings)) : FString(); + view_args.NameAreaSettings = [&name_area_string]() { + if (FCString::Stricmp(*name_area_string, TEXT("HideNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::HideNameArea; } + else if (FCString::Stricmp(*name_area_string, TEXT("ObjectsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ObjectsUseNameArea; } + else if (FCString::Stricmp(*name_area_string, TEXT("ActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } + else if (FCString::Stricmp(*name_area_string, TEXT("ComponentsAndActorsUseNameArea")) == 0) { return FDetailsViewArgs::ENameAreaSettings::ComponentsAndActorsUseNameArea; } + else { return FDetailsViewArgs::ENameAreaSettings::ActorsUseNameArea; } + }(); + FStructureDetailsViewArgs struct_view_args; + { + struct_view_args.bShowObjects = true; + struct_view_args.bShowAssets = true; + struct_view_args.bShowClasses = true; + struct_view_args.bShowInterfaces = true; + } + + extern PyTypeObject ue_PyIStructureDetailsViewType; + ue_PyIStructureDetailsView *ret = (ue_PyIStructureDetailsView *)PyObject_New(ue_PyIStructureDetailsView, &ue_PyIStructureDetailsViewType); + new(&ret->istructure_details_view) TSharedPtr(nullptr); + ret->ue_py_struct = nullptr; + TSharedPtr struct_scope; + + if (ue_PyUScriptStruct *ue_py_struct = py_ue_is_uscriptstruct(py_object)) + { + Py_INCREF(ue_py_struct); + ret->ue_py_struct = ue_py_struct; + struct_scope = MakeShared(ue_py_struct->u_struct, ue_py_struct->data); + } + + FPropertyEditorModule& PropertyEditorModule = FModuleManager::GetModuleChecked("PropertyEditor"); + ret->istructure_details_view = PropertyEditorModule.CreateStructureDetailView(view_args, struct_view_args, struct_scope); + + return (PyObject *)ret; } PyObject *py_unreal_engine_create_property_view(PyObject *self, PyObject * args, PyObject *kwargs) @@ -1330,10 +1326,8 @@ PyObject *py_unreal_engine_add_asset_view_context_menu_extension(PyObject * self TArray &Extenders = ContentBrowser.GetAllAssetViewContextMenuExtenders(); FContentBrowserMenuExtender_SelectedAssets handler; - UPythonSlateDelegate *py_delegate = NewObject(); - py_delegate->SetPyCallable(py_callable); - py_delegate->AddToRoot(); - handler.BindUObject(py_delegate, &UPythonSlateDelegate::OnExtendContentBrowserMenu); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable); + handler.BindSP(py_delegate, &FPythonSlateDelegate::OnExtendContentBrowserMenu); Extenders.Add(handler); @@ -1355,10 +1349,8 @@ PyObject *py_unreal_engine_register_nomad_tab_spawner(PyObject * self, PyObject return PyErr_Format(PyExc_Exception, "argument is not callable"); FOnSpawnTab spawn_tab; - UPythonSlateDelegate *py_delegate = NewObject(); - py_delegate->SetPyCallable(py_callable); - py_delegate->AddToRoot(); - spawn_tab.BindUObject(py_delegate, &UPythonSlateDelegate::SpawnPythonTab); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable); + spawn_tab.BindSP(py_delegate, &FPythonSlateDelegate::SpawnPythonTab); FTabSpawnerEntry *spawner_entry = &FGlobalTabmanager::Get()->RegisterNomadTabSpawner(UTF8_TO_TCHAR(name), spawn_tab) // TODO: more generic way to set the group @@ -1405,69 +1397,66 @@ PyObject *py_unreal_engine_invoke_tab(PyObject * self, PyObject * args) PyObject * py_unreal_engine_get_swidget_from_wrapper(PyObject *self, PyObject *args) { - PyObject *py_object; + PyObject *py_object; - if (!PyArg_ParseTuple(args, "O:get_swidget_from_wrapper", &py_object)) - { - return NULL; - } + if (!PyArg_ParseTuple(args, "O:get_swidget_from_wrapper", &py_object)) + { + return NULL; + } - FPythonSWidgetWrapper *py_swidget_wrapper = ue_py_check_struct(py_object); - if (!py_swidget_wrapper) - return PyErr_Format(PyExc_Exception, "argument is not a FPythonSWidgetWrapper"); + FPythonSWidgetWrapper *py_swidget_wrapper = ue_py_check_struct(py_object); + if (!py_swidget_wrapper) + return PyErr_Format(PyExc_Exception, "argument is not a FPythonSWidgetWrapper"); - if (!py_swidget_wrapper->Widget.IsValid()) - return PyErr_Format(PyExc_Exception, "wrapper contained invalid SWidget!"); + if (!py_swidget_wrapper->Widget.IsValid()) + return PyErr_Format(PyExc_Exception, "wrapper contained invalid SWidget!"); - return (PyObject *)py_ue_new_swidget(py_swidget_wrapper->Widget->AsShared(), &ue_PySWidgetType); + return (PyObject *)py_ue_new_swidget(py_swidget_wrapper->Widget->AsShared(), &ue_PySWidgetType); } PyObject * py_unreal_engine_create_wrapper_from_pyswidget(PyObject *self, PyObject *args) { - PyObject *py_object; - - if (!PyArg_ParseTuple(args, "O:create_wrapper_from_pyswidget", &py_object)) - { - return NULL; - } - - ue_PySWidget *py_swidget = py_ue_is_swidget(py_object); - if (!py_swidget) { - return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); - } - - Py_INCREF(py_swidget); - FPythonSWidgetWrapper py_swidget_wrapper; - py_swidget_wrapper.Widget = py_swidget->s_widget; - return py_ue_new_uscriptstruct(FPythonSWidgetWrapper::StaticStruct(), (uint8 *)&py_swidget_wrapper); + PyObject *py_object; + + if (!PyArg_ParseTuple(args, "O:create_wrapper_from_pyswidget", &py_object)) + { + return NULL; + } + + ue_PySWidget *py_swidget = py_ue_is_swidget(py_object); + if (!py_swidget) + { + return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); + } + + Py_INCREF(py_swidget); + FPythonSWidgetWrapper py_swidget_wrapper; + py_swidget_wrapper.Widget = py_swidget->s_widget; + return py_ue_new_uscriptstruct(FPythonSWidgetWrapper::StaticStruct(), (uint8 *)&py_swidget_wrapper); } PyObject *py_unreal_engine_open_color_picker(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject *py_callable_on_color_committed = nullptr; + PyObject *py_callable = nullptr; char *kwlist[] = { (char *)"on_color_committed", nullptr }; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:open_color_picker", kwlist, - &py_callable_on_color_committed)) + &py_callable)) { return nullptr; } - if (!PyCalllable_Check_Extended(py_callable_on_color_committed)) + if (!PyCalllable_Check_Extended(py_callable)) { return PyErr_Format(PyExc_Exception, "on_color_committed must be a callable"); } - UPythonSlateDelegate *py_delegate = NewObject(); - py_delegate->SetPyCallable(py_callable_on_color_committed); - // TODO: this memory should be freed... - py_delegate->AddToRoot(); - + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable); FColorPickerArgs color_args; - color_args.OnColorCommitted.BindUObject(py_delegate, &UPythonSlateDelegate::OnLinearColorChanged); + color_args.OnColorCommitted.BindSP(py_delegate, &FPythonSlateDelegate::OnLinearColorChanged); if (OpenColorPicker(color_args)) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h index 481b453d1..99a8ffc7b 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h @@ -97,8 +97,6 @@ #include "PythonDelegate.h" -#include "UEPySlate.generated.h" - PyObject *py_unreal_engine_get_editor_window(PyObject *, PyObject *); PyObject *py_unreal_engine_find_slate_style(PyObject *, PyObject *); @@ -166,11 +164,21 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); if (value) {\ if (PyCalllable_Check_Extended(value)) {\ _base handler;\ - UPythonSlateDelegate *py_delegate = NewObject();\ - py_delegate->SetPyCallable(value);\ - py_delegate->AddToRoot();\ - handler.BindUObject(py_delegate, &UPythonSlateDelegate::_func);\ - ((ue_PySWidget *)self)->delegates.Add(py_delegate);\ + ue_PySWidget *py_swidget = (ue_PySWidget *)self;\ + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(py_swidget->s_widget, value);\ + handler.Bind(py_delegate, &FPythonSlateDelegate::_func);\ + arguments._attribute(handler);\ + } + +#define ue_py_slate_base_event_up(_base, _func, _param, _attribute) \ +{\ + PyObject *value = ue_py_dict_get_item(kwargs, _param);\ + if (value) {\ + if (PyCalllable_Check_Extended(value)) {\ + _base handler;\ + ue_PySWidget *py_swidget = (ue_PySWidget *)self;\ + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(py_swidget->s_widget, value);\ + handler.BindSP(py_delegate, &FPythonSlateDelegate::_func);\ arguments._attribute(handler);\ } @@ -296,7 +304,6 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); if (value) {\ if (_type *u_struct = ue_py_check_struct<_type>(value)) {\ Py_INCREF(value);\ - ((ue_PySWidget *)self)->py_refs.Add(value);\ arguments.attribute((_type *)u_struct);\ }\ else {\ @@ -449,7 +456,7 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); -#define ue_py_slate_farguments_event(param, attribute, type, method) ue_py_slate_base_up(type, method, param, attribute)\ +#define ue_py_slate_farguments_event(param, attribute, type, method) ue_py_slate_base_event_up(type, method, param, attribute)\ ue_py_slate_down(param) @@ -464,7 +471,6 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); if (ue_PySWidget *py_swidget = value ? py_ue_is_swidget(value) : nullptr) {\ Py_INCREF(py_swidget);\ ue_PySWidget *self_py_swidget = py_ue_is_swidget((PyObject*)self);\ - self_py_swidget->py_swidget_slots.Add(py_swidget);\ arguments.AttachWidget(py_swidget->s_widget->AsShared());\ }\ else {\ @@ -488,10 +494,9 @@ struct FPythonItem } }; -UCLASS() -class UPythonSlateDelegate : public UPythonDelegate + +class FPythonSlateDelegate : public FPythonSmartDelegate { - GENERATED_BODY() public: FReply OnMouseEvent(const FGeometry &geometry, const FPointerEvent &pointer_event); diff --git a/Source/UnrealEnginePython/Public/PythonHouseKeeper.h b/Source/UnrealEnginePython/Public/PythonHouseKeeper.h index 84096f74b..9ca37a8ec 100644 --- a/Source/UnrealEnginePython/Public/PythonHouseKeeper.h +++ b/Source/UnrealEnginePython/Public/PythonHouseKeeper.h @@ -31,6 +31,32 @@ class FUnrealEnginePythonHouseKeeper } }; + struct FPythonSWidgetTracker + { + TWeakPtr Owner; + ue_PySWidget *PySWidget; + + FPythonSWidgetTracker(TSharedRef InOwner, ue_PySWidget *InPySWidget) + { + Owner = InOwner; + PySWidget = InPySWidget; + } + }; + + struct FPythonSWidgetDelegateTracker + { + TWeakPtr Owner; + TSharedPtr Delegate; + + FPythonSWidgetDelegateTracker(TSharedRef DelegateToTrack, TSharedRef DelegateOwner) : Owner(DelegateOwner), Delegate(DelegateToTrack) + { + } + + ~FPythonSWidgetDelegateTracker() + { + } + }; + public: static FUnrealEnginePythonHouseKeeper *Get() @@ -181,7 +207,22 @@ class FUnrealEnginePythonHouseKeeper return Delegate; } + TSharedRef NewSlateDelegate(TSharedRef Owner, PyObject *PyCallable) + { + TSharedRef Delegate = MakeShareable(new FPythonSlateDelegate()); + Delegate->SetPyCallable(PyCallable); + + FPythonSWidgetDelegateTracker Tracker(Delegate, Owner); + PySlateDelegatesTracker.Add(Tracker); + + return Delegate; + } + private: TMap UObjectPyMapping; TArray PyDelegatesTracker; + + + TArray PySlateTracker; + TArray PySlateDelegatesTracker; }; From e71d4052bb160d290c68490a5d30f9e2be7da3a6 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 20 Feb 2018 08:48:50 +0100 Subject: [PATCH 060/538] refactored slate delegates [2] --- .../Private/Slate/UEPyFMenuBuilder.cpp | 2 +- .../Private/Slate/UEPyFToolBarBuilder.cpp | 2 +- .../Private/Slate/UEPySPythonShelf.cpp | 6 +++--- .../UnrealEnginePython/Private/Slate/UEPySWindow.cpp | 2 +- Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp | 6 +++--- Source/UnrealEnginePython/Public/PythonHouseKeeper.h | 11 +++++++++++ 6 files changed, 20 insertions(+), 9 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp index 67fa2d172..1b128f24f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp @@ -53,7 +53,7 @@ static PyObject *py_ue_fmenu_builder_add_menu_entry(ue_PyFMenuBuilder *self, PyO FExecuteAction handler; - TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewStaticSlateDelegate(py_callable); if (py_obj) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp index c31e24f3b..8a5fe212f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp @@ -47,7 +47,7 @@ static PyObject *py_ue_ftool_bar_builder_add_tool_bar_button(ue_PyFToolBarBuilde } FExecuteAction handler; - TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewStaticSlateDelegate(py_callable); if (py_obj) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonShelf.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonShelf.cpp index eea9f41d6..267af55c3 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonShelf.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonShelf.cpp @@ -146,7 +146,7 @@ static int ue_py_spython_shelf_init(ue_PySPythonShelf *self, PyObject *args, PyO if (py_callable_double_clicked) { FOnAssetDoubleClicked handler; - TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable_double_clicked); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewStaticSlateDelegate(py_callable_double_clicked); handler.BindSP(py_delegate, &FPythonSlateDelegate::OnAssetDoubleClicked); @@ -156,7 +156,7 @@ static int ue_py_spython_shelf_init(ue_PySPythonShelf *self, PyObject *args, PyO if (py_callable_get_context_menu) { FOnGetAssetContextMenu handler; - TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable_get_context_menu); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewStaticSlateDelegate(py_callable_get_context_menu); handler.BindSP(py_delegate, &FPythonSlateDelegate::OnGetAssetContextMenu); @@ -166,7 +166,7 @@ static int ue_py_spython_shelf_init(ue_PySPythonShelf *self, PyObject *args, PyO if (py_callable_asset_selected) { FOnAssetSelected handler; - TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable_asset_selected); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewStaticSlateDelegate(py_callable_asset_selected); handler.BindSP(py_delegate, &FPythonSlateDelegate::OnAssetSelected); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp index 054e8c485..7d22b4671 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp @@ -243,7 +243,7 @@ static int ue_py_swindow_init(ue_PySWindow *self, PyObject *args, PyObject *kwar if (on_closed && PyCalllable_Check_Extended(on_closed)) { FOnWindowClosed handler; - TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, on_closed); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_compound_widget.s_widget.s_widget, on_closed); handler.BindSP(py_delegate, &FPythonSlateDelegate::OnWindowClosed); sw_window->SetOnWindowClosed(handler); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp index 536223cf5..3064f7997 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp @@ -1326,7 +1326,7 @@ PyObject *py_unreal_engine_add_asset_view_context_menu_extension(PyObject * self TArray &Extenders = ContentBrowser.GetAllAssetViewContextMenuExtenders(); FContentBrowserMenuExtender_SelectedAssets handler; - TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewStaticSlateDelegate(py_callable); handler.BindSP(py_delegate, &FPythonSlateDelegate::OnExtendContentBrowserMenu); Extenders.Add(handler); @@ -1349,7 +1349,7 @@ PyObject *py_unreal_engine_register_nomad_tab_spawner(PyObject * self, PyObject return PyErr_Format(PyExc_Exception, "argument is not callable"); FOnSpawnTab spawn_tab; - TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewStaticSlateDelegate(py_callable); spawn_tab.BindSP(py_delegate, &FPythonSlateDelegate::SpawnPythonTab); FTabSpawnerEntry *spawner_entry = &FGlobalTabmanager::Get()->RegisterNomadTabSpawner(UTF8_TO_TCHAR(name), spawn_tab) @@ -1454,7 +1454,7 @@ PyObject *py_unreal_engine_open_color_picker(PyObject *self, PyObject *args, PyO return PyErr_Format(PyExc_Exception, "on_color_committed must be a callable"); } - TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewStaticSlateDelegate(py_callable); FColorPickerArgs color_args; color_args.OnColorCommitted.BindSP(py_delegate, &FPythonSlateDelegate::OnLinearColorChanged); diff --git a/Source/UnrealEnginePython/Public/PythonHouseKeeper.h b/Source/UnrealEnginePython/Public/PythonHouseKeeper.h index 9ca37a8ec..4df841808 100644 --- a/Source/UnrealEnginePython/Public/PythonHouseKeeper.h +++ b/Source/UnrealEnginePython/Public/PythonHouseKeeper.h @@ -218,6 +218,16 @@ class FUnrealEnginePythonHouseKeeper return Delegate; } + TSharedRef NewStaticSlateDelegate(PyObject *PyCallable) + { + TSharedRef Delegate = MakeShareable(new FPythonSlateDelegate()); + Delegate->SetPyCallable(PyCallable); + + PyStaticSlateDelegatesTracker.Add(Delegate); + + return Delegate; + } + private: TMap UObjectPyMapping; TArray PyDelegatesTracker; @@ -225,4 +235,5 @@ class FUnrealEnginePythonHouseKeeper TArray PySlateTracker; TArray PySlateDelegatesTracker; + TArray> PyStaticSlateDelegatesTracker; }; From 5376debf6961cbfc4fc1ef0a291ecb1dbac6c381 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 21 Feb 2018 19:37:09 +0100 Subject: [PATCH 061/538] reintroduced memory debug --- .../Private/UEPyUScriptStruct.cpp | 31 ++++++++++++------- .../Private/UnrealEnginePythonPrivatePCH.h | 2 +- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp index f481dd784..7b230baf8 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp @@ -105,6 +105,10 @@ PyObject *py_ue_uscriptstruct_as_dict(ue_PyUScriptStruct * self, PyObject * args return py_struct_dict; } +static PyObject *py_ue_uscriptstruct_ref(ue_PyUScriptStruct *, PyObject *); + + + static PyMethodDef ue_PyUScriptStruct_methods[] = { { "get_field", (PyCFunction)py_ue_uscriptstruct_get_field, METH_VARARGS, "" }, @@ -113,6 +117,7 @@ static PyMethodDef ue_PyUScriptStruct_methods[] = { { "get_struct", (PyCFunction)py_ue_uscriptstruct_get_struct, METH_VARARGS, "" }, { "clone", (PyCFunction)py_ue_uscriptstruct_clone, METH_VARARGS, "" }, { "as_dict", (PyCFunction)py_ue_uscriptstruct_as_dict, METH_VARARGS, "" }, + { "ref", (PyCFunction)py_ue_uscriptstruct_ref, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; @@ -198,6 +203,8 @@ static int ue_PyUScriptStruct_setattro(ue_PyUScriptStruct *self, PyObject *attr_ return PyObject_GenericSetAttr((PyObject *)self, attr_name, value); } + + // destructor static void ue_PyUScriptStruct_dealloc(ue_PyUScriptStruct *self) { @@ -274,6 +281,17 @@ static int ue_py_uscriptstruct_init(ue_PyUScriptStruct *self, PyObject *args, Py return 0; } +// get the original pointer of a struct +static PyObject *py_ue_uscriptstruct_ref(ue_PyUScriptStruct *self, PyObject * args) +{ + ue_PyUScriptStruct *ret = (ue_PyUScriptStruct *)PyObject_New(ue_PyUScriptStruct, &ue_PyUScriptStructType); + ret->u_struct = self->u_struct; + ret->data = self->original_data; + ret->original_data = ret->data; + ret->is_ptr = 1; + return (PyObject *)ret; +} + static PyObject *ue_py_uscriptstruct_richcompare(ue_PyUScriptStruct *u_struct1, PyObject *py_obj, int op) { ue_PyUScriptStruct *u_struct2 = py_ue_is_uscriptstruct(py_obj); @@ -300,16 +318,7 @@ static PyObject *ue_py_uscriptstruct_richcompare(ue_PyUScriptStruct *u_struct1, Py_RETURN_TRUE; } -// get the original pointer of a struct -static PyObject *ue_py_uscriptstruct_get_ptr(ue_PyUScriptStruct *self, PyObject * args) -{ - ue_PyUScriptStruct *ret = (ue_PyUScriptStruct *)PyObject_New(ue_PyUScriptStruct, &ue_PyUScriptStructType); - ret->u_struct = self->u_struct; - ret->data = self->original_data; - ret->original_data = ret->data; - ret->is_ptr = 1; - return (PyObject *)ret; -} + void ue_python_init_uscriptstruct(PyObject *ue_module) @@ -320,8 +329,6 @@ void ue_python_init_uscriptstruct(PyObject *ue_module) ue_PyUScriptStructType.tp_init = (initproc)ue_py_uscriptstruct_init; - ue_PyUScriptStructType.tp_call = (ternaryfunc)ue_py_uscriptstruct_get_ptr; - if (PyType_Ready(&ue_PyUScriptStructType) < 0) return; diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h index 833830a65..ca39635cc 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h +++ b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h @@ -2,7 +2,7 @@ #pragma once -//#define UEPY_MEMORY_DEBUG 1 +#define UEPY_MEMORY_DEBUG 1 //#define UEPY_THREADING 1 #include "UnrealEnginePython.h" From b665a9c35d266deba073bab64f01bd09ce74ae63 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 21 Feb 2018 20:01:26 +0100 Subject: [PATCH 062/538] correctly expose UCLASS'es --- Source/UnrealEnginePython/Public/PyActor.h | 2 +- Source/UnrealEnginePython/Public/PyCharacter.h | 2 +- Source/UnrealEnginePython/Public/PyHUD.h | 2 +- Source/UnrealEnginePython/Public/PyPawn.h | 2 +- Source/UnrealEnginePython/Public/PyUserWidget.h | 2 +- Source/UnrealEnginePython/Public/PythonComponent.h | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Source/UnrealEnginePython/Public/PyActor.h b/Source/UnrealEnginePython/Public/PyActor.h index 1670fc201..dcc03fbde 100644 --- a/Source/UnrealEnginePython/Public/PyActor.h +++ b/Source/UnrealEnginePython/Public/PyActor.h @@ -8,7 +8,7 @@ UCLASS(BlueprintType, Blueprintable) -class APyActor : public AActor +class UNREALENGINEPYTHON_API APyActor : public AActor { GENERATED_BODY() diff --git a/Source/UnrealEnginePython/Public/PyCharacter.h b/Source/UnrealEnginePython/Public/PyCharacter.h index 1eea75bb0..f1136c9cf 100644 --- a/Source/UnrealEnginePython/Public/PyCharacter.h +++ b/Source/UnrealEnginePython/Public/PyCharacter.h @@ -7,7 +7,7 @@ UCLASS() -class APyCharacter : public ACharacter +class UNREALENGINEPYTHON_API APyCharacter : public ACharacter { GENERATED_BODY() diff --git a/Source/UnrealEnginePython/Public/PyHUD.h b/Source/UnrealEnginePython/Public/PyHUD.h index 107cb7ff5..de5ffdd40 100644 --- a/Source/UnrealEnginePython/Public/PyHUD.h +++ b/Source/UnrealEnginePython/Public/PyHUD.h @@ -8,7 +8,7 @@ UCLASS(BlueprintType, Blueprintable) -class APyHUD : public AHUD +class UNREALENGINEPYTHON_API APyHUD : public AHUD { GENERATED_BODY() diff --git a/Source/UnrealEnginePython/Public/PyPawn.h b/Source/UnrealEnginePython/Public/PyPawn.h index 9e7fa632b..974c930a2 100644 --- a/Source/UnrealEnginePython/Public/PyPawn.h +++ b/Source/UnrealEnginePython/Public/PyPawn.h @@ -8,7 +8,7 @@ UCLASS(BlueprintType, Blueprintable) -class APyPawn : public APawn +class UNREALENGINEPYTHON_API APyPawn : public APawn { GENERATED_BODY() diff --git a/Source/UnrealEnginePython/Public/PyUserWidget.h b/Source/UnrealEnginePython/Public/PyUserWidget.h index ac715fa11..20b856f32 100644 --- a/Source/UnrealEnginePython/Public/PyUserWidget.h +++ b/Source/UnrealEnginePython/Public/PyUserWidget.h @@ -7,7 +7,7 @@ UCLASS(BlueprintType, Blueprintable) -class UPyUserWidget : public UUserWidget +class UNREALENGINEPYTHON_API UPyUserWidget : public UUserWidget { GENERATED_BODY() diff --git a/Source/UnrealEnginePython/Public/PythonComponent.h b/Source/UnrealEnginePython/Public/PythonComponent.h index 4b9856efa..aa08c70af 100644 --- a/Source/UnrealEnginePython/Public/PythonComponent.h +++ b/Source/UnrealEnginePython/Public/PythonComponent.h @@ -7,7 +7,7 @@ UCLASS(BlueprintType, Blueprintable, ClassGroup = (Python), meta = (BlueprintSpawnableComponent)) -class UPythonComponent : public UActorComponent +class UNREALENGINEPYTHON_API UPythonComponent : public UActorComponent { GENERATED_BODY() From 9920aacb18526e84747f243a091493bbac9c7360 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 26 Feb 2018 07:52:52 +0100 Subject: [PATCH 063/538] added bytes serialization --- .../UnrealEnginePython/Private/UEPyEditor.cpp | 22 +++++- .../UnrealEnginePython/Private/UEPyEditor.h | 2 + .../UnrealEnginePython/Private/UEPyModule.cpp | 7 ++ .../Private/UObject/UEPyCapture.cpp | 71 ++++++++++++++----- .../Private/UObject/UEPyCapture.h | 1 + .../Private/UObject/UEPyObject.cpp | 41 +++++++++++ .../Private/UObject/UEPyObject.h | 6 +- 7 files changed, 132 insertions(+), 18 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index db643f084..9d06aecce 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -70,6 +70,26 @@ PyObject *py_unreal_engine_editor_play_in_viewport(PyObject * self, PyObject * a } +PyObject *py_unreal_engine_request_play_session(PyObject * self, PyObject * args) +{ + + PyObject *py_at_player_start = nullptr; + PyObject *py_simulate_in_editor = nullptr; + + if (!PyArg_ParseTuple(args, "|OO:request_play_session", &py_at_player_start, &py_simulate_in_editor)) + { + return nullptr; + } + + bool bAtPlayerStart = py_at_player_start && PyObject_IsTrue(py_at_player_start); + bool bSimulate = py_simulate_in_editor && PyObject_IsTrue(py_simulate_in_editor); + + GEditor->RequestPlaySession(bAtPlayerStart, nullptr, bSimulate); + + Py_RETURN_NONE; + +} + PyObject *py_unreal_engine_get_editor_world(PyObject * self, PyObject * args) { @@ -396,7 +416,7 @@ PyObject *py_unreal_engine_import_asset(PyObject * self, PyObject * args) char * filename = PyString_AsString(PyObject_Str(assetsObject)); #endif files.Add(UTF8_TO_TCHAR(filename)); - } +} else { return PyErr_Format(PyExc_Exception, "Not a string nor valid list of string"); diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.h b/Source/UnrealEnginePython/Private/UEPyEditor.h index 700fe68d5..35346a4ca 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.h +++ b/Source/UnrealEnginePython/Private/UEPyEditor.h @@ -118,4 +118,6 @@ PyObject *py_unreal_engine_play_preview_sound(PyObject *, PyObject *); PyObject *py_unreal_engine_register_settings(PyObject *, PyObject *); PyObject *py_unreal_engine_show_viewer(PyObject *, PyObject *); PyObject *py_unreal_engine_unregister_settings(PyObject *, PyObject *); + +PyObject *py_unreal_engine_request_play_session(PyObject *, PyObject *); #endif diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index e9005e542..d0a79e8ab 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -360,6 +360,7 @@ static PyMethodDef unreal_engine_methods[] = { { "play_sound", py_unreal_engine_play_sound, METH_VARARGS, "" }, #if WITH_EDITOR { "editor_play_in_viewport", py_unreal_engine_editor_play_in_viewport, METH_VARARGS, "" }, + { "request_play_session", py_unreal_engine_request_play_session, METH_VARARGS, "" }, { "get_editor_pie_game_viewport_client", py_unreal_engine_get_editor_pie_game_viewport_client, METH_VARARGS, "" }, { "editor_get_active_viewport_screenshot", py_unreal_engine_editor_get_active_viewport_screenshot, METH_VARARGS, "" }, { "editor_get_pie_viewport_screenshot", py_unreal_engine_editor_get_pie_viewport_screenshot, METH_VARARGS, "" }, @@ -799,6 +800,7 @@ static PyMethodDef ue_PyUObject_methods[] = { { "capture_initialize", (PyCFunction)py_ue_capture_initialize, METH_VARARGS, "" }, { "capture_start", (PyCFunction)py_ue_capture_start, METH_VARARGS, "" }, { "capture_stop", (PyCFunction)py_ue_capture_stop, METH_VARARGS, "" }, + { "capture_load_from_config", (PyCFunction)py_ue_capture_load_from_config, METH_VARARGS, "" }, // Pawn { "get_controller", (PyCFunction)py_ue_pawn_get_controller, METH_VARARGS, "" }, @@ -953,6 +955,11 @@ static PyMethodDef ue_PyUObject_methods[] = { #if ENGINE_MINOR_VERSION >= 15 { "enum_user_defined_names", (PyCFunction)py_ue_enum_user_defined_names, METH_VARARGS, "" }, #endif + + // serialization + { "to_bytes", (PyCFunction)py_ue_to_bytes, METH_VARARGS, "" }, + { "to_bytearray", (PyCFunction)py_ue_to_bytearray, METH_VARARGS, "" }, + { "from_bytes", (PyCFunction)py_ue_from_bytes, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp index 48b5c40c8..f8ace8dbf 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp @@ -3,13 +3,15 @@ #include "Runtime/MovieSceneCapture/Public/MovieSceneCapture.h" -PyObject *py_ue_capture_initialize(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_capture_initialize(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); - PyObject *py_widget; + PyObject *py_widget = nullptr; - if (!PyArg_ParseTuple(args, "O", &py_widget)) { + if (!PyArg_ParseTuple(args, "|O:capture_initialize", &py_widget)) + { return nullptr; } @@ -17,26 +19,62 @@ PyObject *py_ue_capture_initialize(ue_PyUObject * self, PyObject * args) { if (!capture) return PyErr_Format(PyExc_Exception, "uobject is not a UMovieSceneCapture"); - ue_PySWidget *s_widget = py_ue_is_swidget(py_widget); - if (!s_widget) - return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); - #if WITH_EDITOR - if (s_widget->s_widget->GetType().Compare(FName("SPythonEditorViewport")) == 0) { - TSharedRef s_viewport = StaticCastSharedRef(s_widget->s_widget); - capture->Initialize(s_viewport->GetSceneViewport()); - capture->StartWarmup(); + if (py_widget) + { + ue_PySWidget *s_widget = py_ue_is_swidget(py_widget); + if (!s_widget) + return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); + + + if (s_widget->s_widget->GetType().Compare(FName("SPythonEditorViewport")) == 0) + { + TSharedRef s_viewport = StaticCastSharedRef(s_widget->s_widget); + capture->Initialize(s_viewport->GetSceneViewport()); + capture->StartWarmup(); + } + else + { + return PyErr_Format(PyExc_Exception, "argument is not a supported Viewport-based SWidget"); + } + } - else { - return PyErr_Format(PyExc_Exception, "argument is not a supported Viewport-based SWidget"); + else + { + for (const FWorldContext &Context : GEngine->GetWorldContexts()) + { + if (Context.WorldType == EWorldType::PIE) + { + if (Context.GameViewport) + { + UE_LOG(LogPython, Error, TEXT("Found Viewport at %p"), Context.GameViewport); + FSlatePlayInEditorInfo *SlatePIEInfo = GEditor->SlatePlayInEditorMap.Find(Context.ContextHandle); + + capture->Initialize(SlatePIEInfo->SlatePlayInEditorWindowViewport); + } + } + } } #endif + Py_RETURN_NONE; +} +PyObject *py_ue_capture_start(ue_PyUObject * self, PyObject * args) +{ + + ue_py_check(self); + + UMovieSceneCapture *capture = ue_py_check_type(self); + if (!capture) + return PyErr_Format(PyExc_Exception, "uobject is not a UMovieSceneCapture"); + + capture->StartCapture(); Py_RETURN_NONE; } -PyObject *py_ue_capture_start(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_capture_load_from_config(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); @@ -44,12 +82,13 @@ PyObject *py_ue_capture_start(ue_PyUObject * self, PyObject * args) { if (!capture) return PyErr_Format(PyExc_Exception, "uobject is not a UMovieSceneCapture"); - capture->StartCapture(); + capture->LoadFromConfig(); Py_RETURN_NONE; } -PyObject *py_ue_capture_stop(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_capture_stop(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.h b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.h index 55de8ddcf..23e7d8e12 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.h @@ -6,4 +6,5 @@ PyObject *py_ue_capture_initialize(ue_PyUObject *, PyObject *); PyObject *py_ue_capture_start(ue_PyUObject *, PyObject *); +PyObject *py_ue_capture_load_from_config(ue_PyUObject *, PyObject *); PyObject *py_ue_capture_stop(ue_PyUObject *, PyObject *); \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp index 249d2dd4c..61f7ebe8c 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp @@ -1834,3 +1834,44 @@ PyObject *py_ue_duplicate(ue_PyUObject * self, PyObject * args) } #endif + +PyObject *py_ue_to_bytes(ue_PyUObject * self, PyObject * args) +{ + + ue_py_check(self); + + TArray Bytes; + + FObjectWriter(self->ue_object, Bytes); + + return PyBytes_FromStringAndSize((const char *)Bytes.GetData(), Bytes.Num()); +} + +PyObject *py_ue_to_bytearray(ue_PyUObject * self, PyObject * args) +{ + + ue_py_check(self); + + TArray Bytes; + + FObjectWriter(self->ue_object, Bytes); + + return PyByteArray_FromStringAndSize((const char *)Bytes.GetData(), Bytes.Num()); +} + +PyObject *py_ue_from_bytes(ue_PyUObject * self, PyObject * args) +{ + + Py_buffer py_buf; + + if (!PyArg_ParseTuple(args, "z*:from_bytes", &py_buf)) + return nullptr; + + ue_py_check(self); + + TArray Bytes((const uint8 *)py_buf.buf, py_buf.len); + + FObjectReader(self->ue_object, Bytes); + + Py_RETURN_NONE; +} diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.h b/Source/UnrealEnginePython/Private/UObject/UEPyObject.h index 347470bd2..a941f2ce9 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.h @@ -89,4 +89,8 @@ PyObject *py_ue_import_custom_properties(ue_PyUObject *, PyObject *); #endif PyObject *py_ue_get_thumbnail(ue_PyUObject *, PyObject *); -PyObject *py_ue_render_thumbnail(ue_PyUObject *, PyObject *); \ No newline at end of file +PyObject *py_ue_render_thumbnail(ue_PyUObject *, PyObject *); + +PyObject *py_ue_to_bytes(ue_PyUObject *, PyObject *); +PyObject *py_ue_to_bytearray(ue_PyUObject *, PyObject *); +PyObject *py_ue_from_bytes(ue_PyUObject *, PyObject *); \ No newline at end of file From 1ad6f81f13a5d70d7870ac40be9b6be15995ba54 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 26 Feb 2018 09:56:35 +0100 Subject: [PATCH 064/538] Update FixingMixamoRootMotionWithPython.md --- tutorials/FixingMixamoRootMotionWithPython.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/FixingMixamoRootMotionWithPython.md b/tutorials/FixingMixamoRootMotionWithPython.md index 4eabad28d..3abb1266d 100644 --- a/tutorials/FixingMixamoRootMotionWithPython.md +++ b/tutorials/FixingMixamoRootMotionWithPython.md @@ -169,7 +169,7 @@ bone_map = mesh.skeletal_mesh_get_bone_map() and to assign a new one: ```python -mesh.skeletal_mesh_get_bone_map([17, 22, 26, 30, ...]) +mesh.skeletal_mesh_set_bone_map([17, 22, 26, 30, ...]) ``` In the same way you can retrieve soft skin vertices: From 120e16da720818c052271cf13d3d33a60e9159ce Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 26 Feb 2018 10:12:48 +0100 Subject: [PATCH 065/538] added automation for level sequence exporter --- .../UnrealEnginePython/Private/UEPyModule.cpp | 5 + .../Private/UObject/UEPyCapture.cpp | 304 +++++++++++++++++- .../Private/UObject/UEPyCapture.h | 5 +- 3 files changed, 297 insertions(+), 17 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index d0a79e8ab..235e91fb8 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -802,6 +802,11 @@ static PyMethodDef ue_PyUObject_methods[] = { { "capture_stop", (PyCFunction)py_ue_capture_stop, METH_VARARGS, "" }, { "capture_load_from_config", (PyCFunction)py_ue_capture_load_from_config, METH_VARARGS, "" }, +#if WITH_EDITOR + { "in_editor_capture", (PyCFunction)py_ue_in_editor_capture, METH_VARARGS, "" }, + { "set_level_sequence_asset", (PyCFunction)py_ue_set_level_sequence_asset, METH_VARARGS, "" }, +#endif + // Pawn { "get_controller", (PyCFunction)py_ue_pawn_get_controller, METH_VARARGS, "" }, diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp index f8ace8dbf..a532753ad 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp @@ -2,6 +2,294 @@ #include "Runtime/MovieSceneCapture/Public/MovieSceneCapture.h" +#if WITH_EDITOR + +/* + +This is taken as-is (more or less) from MovieSceneCaptureDialogModule.cpp +to automate sequencer capturing + +*/ + +#include "AudioDevice.h" +#include "Editor/EditorEngine.h" +#include "Slate/SceneViewport.h" +#include "AutomatedLevelSequenceCapture.h" + +struct FInEditorCapture : TSharedFromThis +{ + + static TWeakPtr CreateInEditorCapture(UMovieSceneCapture* InCaptureObject) + { + // FInEditorCapture owns itself, so should only be kept alive by itself, or a pinned (=> temporary) weakptr + FInEditorCapture* Capture = new FInEditorCapture; + Capture->Start(InCaptureObject); + return Capture->AsShared(); + } + + UWorld* GetWorld() const + { + return CapturingFromWorld; + } + +private: + FInEditorCapture() + { + CapturingFromWorld = nullptr; + CaptureObject = nullptr; + } + + void Start(UMovieSceneCapture* InCaptureObject) + { + check(InCaptureObject); + + CapturingFromWorld = nullptr; + OnlyStrongReference = MakeShareable(this); + + CaptureObject = InCaptureObject; + + ULevelEditorPlaySettings* PlayInEditorSettings = GetMutableDefault(); + + bScreenMessagesWereEnabled = GAreScreenMessagesEnabled; + GAreScreenMessagesEnabled = false; + + if (!InCaptureObject->Settings.bEnableTextureStreaming) + { + const int32 UndefinedTexturePoolSize = -1; + IConsoleVariable* CVarStreamingPoolSize = IConsoleManager::Get().FindConsoleVariable(TEXT("r.Streaming.PoolSize")); + if (CVarStreamingPoolSize) + { + BackedUpStreamingPoolSize = CVarStreamingPoolSize->GetInt(); + CVarStreamingPoolSize->Set(UndefinedTexturePoolSize, ECVF_SetByConsole); + } + + IConsoleVariable* CVarUseFixedPoolSize = IConsoleManager::Get().FindConsoleVariable(TEXT("r.Streaming.UseFixedPoolSize")); + if (CVarUseFixedPoolSize) + { + BackedUpUseFixedPoolSize = CVarUseFixedPoolSize->GetInt(); + CVarUseFixedPoolSize->Set(0, ECVF_SetByConsole); + } + } + + FObjectWriter(PlayInEditorSettings, BackedUpPlaySettings); + OverridePlaySettings(PlayInEditorSettings); + + CaptureObject->AddToRoot(); + CaptureObject->OnCaptureFinished().AddRaw(this, &FInEditorCapture::OnEnd); + + UGameViewportClient::OnViewportCreated().AddRaw(this, &FInEditorCapture::OnStart); + FEditorDelegates::EndPIE.AddRaw(this, &FInEditorCapture::OnEndPIE); + + FAudioDevice* AudioDevice = GEngine->GetMainAudioDevice(); + if (AudioDevice != nullptr) + { + TransientMasterVolume = AudioDevice->GetTransientMasterVolume(); + AudioDevice->SetTransientMasterVolume(0.0f); + } + + GEditor->RequestPlaySession(true, nullptr, false); + } + + void OverridePlaySettings(ULevelEditorPlaySettings* PlayInEditorSettings) + { + const FMovieSceneCaptureSettings& Settings = CaptureObject->GetSettings(); + + PlayInEditorSettings->NewWindowWidth = Settings.Resolution.ResX; + PlayInEditorSettings->NewWindowHeight = Settings.Resolution.ResY; + PlayInEditorSettings->CenterNewWindow = true; + PlayInEditorSettings->LastExecutedPlayModeType = EPlayModeType::PlayMode_InEditorFloating; + + TSharedRef CustomWindow = SNew(SWindow) + .Title(FText::FromString("Movie Render - Preview")) + .AutoCenter(EAutoCenter::PrimaryWorkArea) + .UseOSWindowBorder(true) + .FocusWhenFirstShown(false) + .ActivationPolicy(EWindowActivationPolicy::Never) + .HasCloseButton(true) + .SupportsMaximize(false) + .SupportsMinimize(true) + .MaxWidth(Settings.Resolution.ResX) + .MaxHeight(Settings.Resolution.ResY) + .SizingRule(ESizingRule::FixedSize); + + FSlateApplication::Get().AddWindow(CustomWindow); + + PlayInEditorSettings->CustomPIEWindow = CustomWindow; + + // Reset everything else + PlayInEditorSettings->GameGetsMouseControl = false; + PlayInEditorSettings->ShowMouseControlLabel = false; + PlayInEditorSettings->ViewportGetsHMDControl = false; + PlayInEditorSettings->ShouldMinimizeEditorOnVRPIE = true; + PlayInEditorSettings->EnableGameSound = false; + PlayInEditorSettings->bOnlyLoadVisibleLevelsInPIE = false; + PlayInEditorSettings->bPreferToStreamLevelsInPIE = false; + PlayInEditorSettings->PIEAlwaysOnTop = false; + PlayInEditorSettings->DisableStandaloneSound = true; + PlayInEditorSettings->AdditionalLaunchParameters = TEXT(""); + PlayInEditorSettings->BuildGameBeforeLaunch = EPlayOnBuildMode::PlayOnBuild_Never; + PlayInEditorSettings->LaunchConfiguration = EPlayOnLaunchConfiguration::LaunchConfig_Default; + PlayInEditorSettings->SetPlayNetMode(EPlayNetMode::PIE_Standalone); + PlayInEditorSettings->SetRunUnderOneProcess(true); + PlayInEditorSettings->SetPlayNetDedicated(false); + PlayInEditorSettings->SetPlayNumberOfClients(1); + } + + void OnStart() + { + for (const FWorldContext& Context : GEngine->GetWorldContexts()) + { + if (Context.WorldType == EWorldType::PIE) + { + FSlatePlayInEditorInfo* SlatePlayInEditorSession = GEditor->SlatePlayInEditorMap.Find(Context.ContextHandle); + if (SlatePlayInEditorSession) + { + CapturingFromWorld = Context.World(); + + TSharedPtr Window = SlatePlayInEditorSession->SlatePlayInEditorWindow.Pin(); + + const FMovieSceneCaptureSettings& Settings = CaptureObject->GetSettings(); + + SlatePlayInEditorSession->SlatePlayInEditorWindowViewport->SetViewportSize(Settings.Resolution.ResX, Settings.Resolution.ResY); + + FVector2D PreviewWindowSize(Settings.Resolution.ResX, Settings.Resolution.ResY); + + // Keep scaling down the window size while we're bigger than half the destop width/height + { + FDisplayMetrics DisplayMetrics; + FSlateApplication::Get().GetDisplayMetrics(DisplayMetrics); + + while (PreviewWindowSize.X >= DisplayMetrics.PrimaryDisplayWidth*.5f || PreviewWindowSize.Y >= DisplayMetrics.PrimaryDisplayHeight*.5f) + { + PreviewWindowSize *= .5f; + } + } + + // Resize and move the window into the desktop a bit + FVector2D PreviewWindowPosition(50, 50); + Window->ReshapeWindow(PreviewWindowPosition, PreviewWindowSize); + + if (CaptureObject->Settings.GameModeOverride != nullptr) + { + CachedGameMode = CapturingFromWorld->GetWorldSettings()->DefaultGameMode; + CapturingFromWorld->GetWorldSettings()->DefaultGameMode = CaptureObject->Settings.GameModeOverride; + } + + CaptureObject->Initialize(SlatePlayInEditorSession->SlatePlayInEditorWindowViewport, Context.PIEInstance); + } + return; + } + } + + // todo: error? + } + + void Shutdown() + { + FEditorDelegates::EndPIE.RemoveAll(this); + UGameViewportClient::OnViewportCreated().RemoveAll(this); + CaptureObject->OnCaptureFinished().RemoveAll(this); + + GAreScreenMessagesEnabled = bScreenMessagesWereEnabled; + + if (!CaptureObject->Settings.bEnableTextureStreaming) + { + IConsoleVariable* CVarStreamingPoolSize = IConsoleManager::Get().FindConsoleVariable(TEXT("r.Streaming.PoolSize")); + if (CVarStreamingPoolSize) + { + CVarStreamingPoolSize->Set(BackedUpStreamingPoolSize, ECVF_SetByConsole); + } + + IConsoleVariable* CVarUseFixedPoolSize = IConsoleManager::Get().FindConsoleVariable(TEXT("r.Streaming.UseFixedPoolSize")); + if (CVarUseFixedPoolSize) + { + CVarUseFixedPoolSize->Set(BackedUpUseFixedPoolSize, ECVF_SetByConsole); + } + } + + if (CaptureObject->Settings.GameModeOverride != nullptr) + { + CapturingFromWorld->GetWorldSettings()->DefaultGameMode = CachedGameMode; + } + + FObjectReader(GetMutableDefault(), BackedUpPlaySettings); + + FAudioDevice* AudioDevice = GEngine->GetMainAudioDevice(); + if (AudioDevice != nullptr) + { + AudioDevice->SetTransientMasterVolume(TransientMasterVolume); + } + + CaptureObject->Close(); + CaptureObject->RemoveFromRoot(); + + } + void OnEndPIE(bool bIsSimulating) + { + Shutdown(); + OnlyStrongReference = nullptr; + } + + void OnEnd() + { + Shutdown(); + OnlyStrongReference = nullptr; + + GEditor->RequestEndPlayMap(); + } + + TSharedPtr OnlyStrongReference; + UWorld* CapturingFromWorld; + + bool bScreenMessagesWereEnabled; + float TransientMasterVolume; + int32 BackedUpStreamingPoolSize; + int32 BackedUpUseFixedPoolSize; + TArray BackedUpPlaySettings; + UMovieSceneCapture* CaptureObject; + + TSubclassOf CachedGameMode; +}; + +PyObject *py_ue_in_editor_capture(ue_PyUObject * self, PyObject * args) +{ + ue_py_check(self); + + UMovieSceneCapture *capture = ue_py_check_type(self); + if (!capture) + return PyErr_Format(PyExc_Exception, "uobject is not a UMovieSceneCapture"); + + FInEditorCapture::CreateInEditorCapture(capture); + + Py_RETURN_NONE; +} + +PyObject *py_ue_set_level_sequence_asset(ue_PyUObject *self, PyObject *args) +{ + ue_py_check(self); + + PyObject *py_sequence = nullptr; + + if (!PyArg_ParseTuple(args, "O:set_level_sequence_asset", &py_sequence)) + { + return nullptr; + } + + ULevelSequence *sequence = ue_py_check_type(py_sequence); + if (!sequence) + { + return PyErr_Format(PyExc_Exception, "uobject is not a ULevelSequence"); + } + + UAutomatedLevelSequenceCapture *capture = ue_py_check_type(self); + if (!capture) + return PyErr_Format(PyExc_Exception, "uobject is not a UAutomatedLevelSequenceCapture"); + + capture->SetLevelSequenceAsset(sequence->GetPathName()); + + Py_RETURN_NONE; +} +#endif PyObject *py_ue_capture_initialize(ue_PyUObject * self, PyObject * args) { @@ -39,22 +327,6 @@ PyObject *py_ue_capture_initialize(ue_PyUObject * self, PyObject * args) } } - else - { - for (const FWorldContext &Context : GEngine->GetWorldContexts()) - { - if (Context.WorldType == EWorldType::PIE) - { - if (Context.GameViewport) - { - UE_LOG(LogPython, Error, TEXT("Found Viewport at %p"), Context.GameViewport); - FSlatePlayInEditorInfo *SlatePIEInfo = GEditor->SlatePlayInEditorMap.Find(Context.ContextHandle); - - capture->Initialize(SlatePIEInfo->SlatePlayInEditorWindowViewport); - } - } - } - } #endif Py_RETURN_NONE; } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.h b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.h index 23e7d8e12..d9f1e5e46 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.h @@ -7,4 +7,7 @@ PyObject *py_ue_capture_initialize(ue_PyUObject *, PyObject *); PyObject *py_ue_capture_start(ue_PyUObject *, PyObject *); PyObject *py_ue_capture_load_from_config(ue_PyUObject *, PyObject *); -PyObject *py_ue_capture_stop(ue_PyUObject *, PyObject *); \ No newline at end of file +PyObject *py_ue_capture_stop(ue_PyUObject *, PyObject *); + +PyObject *py_ue_in_editor_capture(ue_PyUObject *, PyObject *); +PyObject *py_ue_set_level_sequence_asset(ue_PyUObject *, PyObject *); \ No newline at end of file From 3308e81e16076d33505da41bc22302427eb5e323 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 26 Feb 2018 10:34:13 +0100 Subject: [PATCH 066/538] ported to 4.16 --- Source/UnrealEnginePython/Private/Slate/UEPyFGeometry.cpp | 4 ++++ Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp | 2 ++ Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp | 4 +++- Source/UnrealEnginePython/Public/PythonHouseKeeper.h | 4 ++++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFGeometry.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFGeometry.cpp index 81bf1bf47..503bc028f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFGeometry.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFGeometry.cpp @@ -10,7 +10,11 @@ static PyObject *py_ue_fgeometry_get_local_size(ue_PyFGeometry *self, PyObject * static PyObject *py_ue_fgeometry_get_absolute_position(ue_PyFGeometry *self, PyObject * args) { +#if ENGINE_MINOR_VERSION < 17 + FVector2D size = self->geometry.AbsolutePosition; +#else FVector2D size = self->geometry.GetAbsolutePosition(); +#endif return Py_BuildValue("(ff)", size.X, size.Y); } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp index a532753ad..f6a13540c 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp @@ -120,7 +120,9 @@ struct FInEditorCapture : TSharedFromThis PlayInEditorSettings->GameGetsMouseControl = false; PlayInEditorSettings->ShowMouseControlLabel = false; PlayInEditorSettings->ViewportGetsHMDControl = false; +#if ENGINE_MINOR_VERSION >= 17 PlayInEditorSettings->ShouldMinimizeEditorOnVRPIE = true; +#endif PlayInEditorSettings->EnableGameSound = false; PlayInEditorSettings->bOnlyLoadVisibleLevelsInPIE = false; PlayInEditorSettings->bPreferToStreamLevelsInPIE = false; diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp index 61f7ebe8c..5420dd74a 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp @@ -1869,7 +1869,9 @@ PyObject *py_ue_from_bytes(ue_PyUObject * self, PyObject * args) ue_py_check(self); - TArray Bytes((const uint8 *)py_buf.buf, py_buf.len); + TArray Bytes; + Bytes.AddUninitialized(py_buf.len); + FMemory::Memcpy(Bytes.GetData(), py_buf.buf, py_buf.len); FObjectReader(self->ue_object, Bytes); diff --git a/Source/UnrealEnginePython/Public/PythonHouseKeeper.h b/Source/UnrealEnginePython/Public/PythonHouseKeeper.h index 4df841808..3b1c1ad1a 100644 --- a/Source/UnrealEnginePython/Public/PythonHouseKeeper.h +++ b/Source/UnrealEnginePython/Public/PythonHouseKeeper.h @@ -66,7 +66,11 @@ class FUnrealEnginePythonHouseKeeper { Singleton = new FUnrealEnginePythonHouseKeeper(); // register a new delegate for the GC +#if ENGINE_MINOR_VERSION >= 18 FCoreUObjectDelegates::GetPostGarbageCollect().AddRaw(Singleton, &FUnrealEnginePythonHouseKeeper::RunGCDelegate); +#else + FCoreUObjectDelegates::PostGarbageCollect.AddRaw(Singleton, &FUnrealEnginePythonHouseKeeper::RunGCDelegate); +#endif } return Singleton; } From 8681a48f1d412819f5850a52808eec66fc164451 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 26 Feb 2018 14:53:21 +0100 Subject: [PATCH 067/538] improved capture and asset export --- .../UnrealEnginePython/Private/UEPyEditor.cpp | 43 ++++- .../UnrealEnginePython/Private/UEPyEditor.h | 1 + .../UnrealEnginePython/Private/UEPyModule.cpp | 7 +- .../Private/UObject/UEPyCapture.cpp | 155 +++++++++++++----- .../Private/UObject/UEPyCapture.h | 4 +- .../Private/UObject/UEPyExporter.cpp | 39 +++++ .../Private/UObject/UEPyExporter.h | 8 + .../Private/UnrealEnginePythonPrivatePCH.h | 2 +- 8 files changed, 214 insertions(+), 45 deletions(-) create mode 100644 Source/UnrealEnginePython/Private/UObject/UEPyExporter.cpp create mode 100644 Source/UnrealEnginePython/Private/UObject/UEPyExporter.h diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index 9d06aecce..15beb4936 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -416,7 +416,7 @@ PyObject *py_unreal_engine_import_asset(PyObject * self, PyObject * args) char * filename = PyString_AsString(PyObject_Str(assetsObject)); #endif files.Add(UTF8_TO_TCHAR(filename)); -} + } else { return PyErr_Format(PyExc_Exception, "Not a string nor valid list of string"); @@ -2334,5 +2334,46 @@ PyObject *py_unreal_engine_editor_sync_browser_to_assets(PyObject * self, PyObje Py_RETURN_NONE; } + +PyObject *py_unreal_engine_export_assets(PyObject * self, PyObject * args) +{ + + if (!GEditor) + return PyErr_Format(PyExc_Exception, "no GEditor found"); + + PyObject * py_assets = nullptr; + char *filename; + + if (!PyArg_ParseTuple(args, "Os:export_assets", &py_assets, &filename)) + { + return nullptr; + } + + TArray UObjects; + PyObject *py_iter = PyObject_GetIter(py_assets); + + if (!py_iter) + { + return PyErr_Format(PyExc_Exception, "argument is not an iterable of UObject"); + } + + while (PyObject *py_item = PyIter_Next(py_iter)) + { + UObject *Object = ue_py_check_type(py_item); + if (!Object) + { + Py_DECREF(py_iter); + return PyErr_Format(PyExc_Exception, "argument is not an iterable of UObject"); + } + UObjects.Add(Object); + } + + Py_DECREF(py_iter); + + FAssetToolsModule& AssetToolsModule = FModuleManager::LoadModuleChecked("AssetTools"); + AssetToolsModule.Get().ExportAssets(UObjects, FString(UTF8_TO_TCHAR(filename))); + + Py_RETURN_NONE; +} #endif diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.h b/Source/UnrealEnginePython/Private/UEPyEditor.h index 35346a4ca..36e24c6ad 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.h +++ b/Source/UnrealEnginePython/Private/UEPyEditor.h @@ -120,4 +120,5 @@ PyObject *py_unreal_engine_show_viewer(PyObject *, PyObject *); PyObject *py_unreal_engine_unregister_settings(PyObject *, PyObject *); PyObject *py_unreal_engine_request_play_session(PyObject *, PyObject *); +PyObject *py_unreal_engine_export_assets(PyObject *, PyObject *); #endif diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 235e91fb8..8e69d9f70 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -35,6 +35,7 @@ #include "UObject/UEPyLandscape.h" #include "UObject/UEPyUserDefinedStruct.h" #include "UObject/UEPyDataTable.h" +#include "UObject/UEPyExporter.h" #include "UEPyAssetUserData.h" @@ -225,6 +226,7 @@ static PyMethodDef unreal_engine_methods[] = { { "editor_select_actor", py_unreal_engine_editor_select_actor, METH_VARARGS, "" }, { "editor_deselect_actors", py_unreal_engine_editor_deselect_actors, METH_VARARGS, "" }, { "import_asset", py_unreal_engine_import_asset, METH_VARARGS, "" }, + { "export_assets", py_unreal_engine_export_assets, METH_VARARGS, "" }, { "get_asset", py_unreal_engine_get_asset, METH_VARARGS, "" }, { "find_asset", py_unreal_engine_find_asset, METH_VARARGS, "" }, { "delete_object", py_unreal_engine_delete_object, METH_VARARGS, "" }, @@ -378,6 +380,8 @@ static PyMethodDef unreal_engine_methods[] = { { "register_settings", py_unreal_engine_register_settings, METH_VARARGS, "" }, { "show_viewer", py_unreal_engine_show_viewer, METH_VARARGS, "" }, { "unregister_settings", py_unreal_engine_unregister_settings, METH_VARARGS, "" }, + + { "in_editor_capture", py_unreal_engine_in_editor_capture, METH_VARARGS, "" }, #endif { "clipboard_copy", py_unreal_engine_clipboard_copy, METH_VARARGS, "" }, @@ -546,6 +550,8 @@ static PyMethodDef ue_PyUObject_methods[] = { { "data_table_get_all_rows", (PyCFunction)py_ue_data_table_get_all_rows, METH_VARARGS, "" }, #endif + { "export_to_file", (PyCFunction)py_ue_export_to_file, METH_VARARGS, "" }, + { "is_rooted", (PyCFunction)py_ue_is_rooted, METH_VARARGS, "" }, { "add_to_root", (PyCFunction)py_ue_add_to_root, METH_VARARGS, "" }, { "auto_root", (PyCFunction)py_ue_auto_root, METH_VARARGS, "" }, @@ -803,7 +809,6 @@ static PyMethodDef ue_PyUObject_methods[] = { { "capture_load_from_config", (PyCFunction)py_ue_capture_load_from_config, METH_VARARGS, "" }, #if WITH_EDITOR - { "in_editor_capture", (PyCFunction)py_ue_in_editor_capture, METH_VARARGS, "" }, { "set_level_sequence_asset", (PyCFunction)py_ue_set_level_sequence_asset, METH_VARARGS, "" }, #endif diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp index f6a13540c..597510e9a 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp @@ -7,7 +7,8 @@ /* This is taken as-is (more or less) from MovieSceneCaptureDialogModule.cpp -to automate sequencer capturing +to automate sequencer capturing. The only relevant implementation is the support +for a queue of UMovieSceneCapture objects */ @@ -16,44 +17,61 @@ to automate sequencer capturing #include "Slate/SceneViewport.h" #include "AutomatedLevelSequenceCapture.h" -struct FInEditorCapture : TSharedFromThis +struct FInEditorMultiCapture : TSharedFromThis { - static TWeakPtr CreateInEditorCapture(UMovieSceneCapture* InCaptureObject) + static TWeakPtr CreateInEditorMultiCapture(TArray InCaptureObjects) { // FInEditorCapture owns itself, so should only be kept alive by itself, or a pinned (=> temporary) weakptr - FInEditorCapture* Capture = new FInEditorCapture; - Capture->Start(InCaptureObject); + FInEditorMultiCapture* Capture = new FInEditorMultiCapture; + Capture->CaptureObjects = InCaptureObjects; + for (UMovieSceneCapture *SceneCapture : Capture->CaptureObjects) + { + SceneCapture->AddToRoot(); + } + Capture->Dequeue(); return Capture->AsShared(); } - UWorld* GetWorld() const +private: + FInEditorMultiCapture() { - return CapturingFromWorld; + CapturingFromWorld = nullptr; } -private: - FInEditorCapture() + void Die() { - CapturingFromWorld = nullptr; - CaptureObject = nullptr; + for (UMovieSceneCapture *SceneCapture : CaptureObjects) + { + SceneCapture->RemoveFromRoot(); + } + OnlyStrongReference = nullptr; } - void Start(UMovieSceneCapture* InCaptureObject) + void Dequeue() { - check(InCaptureObject); + + if (CaptureObjects.Num() < 1) + { + Die(); + return; + } + + CurrentCaptureObject = CaptureObjects[0]; + + check(CurrentCaptureObject); CapturingFromWorld = nullptr; - OnlyStrongReference = MakeShareable(this); - CaptureObject = InCaptureObject; + if (!OnlyStrongReference.IsValid()) + OnlyStrongReference = MakeShareable(this); ULevelEditorPlaySettings* PlayInEditorSettings = GetMutableDefault(); bScreenMessagesWereEnabled = GAreScreenMessagesEnabled; GAreScreenMessagesEnabled = false; - if (!InCaptureObject->Settings.bEnableTextureStreaming) + if (!CurrentCaptureObject->Settings.bEnableTextureStreaming) { const int32 UndefinedTexturePoolSize = -1; IConsoleVariable* CVarStreamingPoolSize = IConsoleManager::Get().FindConsoleVariable(TEXT("r.Streaming.PoolSize")); @@ -71,14 +89,18 @@ struct FInEditorCapture : TSharedFromThis } } + // cleanup from previous run + BackedUpPlaySettings.Empty(); + FObjectWriter(PlayInEditorSettings, BackedUpPlaySettings); + OverridePlaySettings(PlayInEditorSettings); - CaptureObject->AddToRoot(); - CaptureObject->OnCaptureFinished().AddRaw(this, &FInEditorCapture::OnEnd); + //CurrentCaptureObject->AddToRoot(); + CurrentCaptureObject->OnCaptureFinished().AddRaw(this, &FInEditorMultiCapture::OnEnd); - UGameViewportClient::OnViewportCreated().AddRaw(this, &FInEditorCapture::OnStart); - FEditorDelegates::EndPIE.AddRaw(this, &FInEditorCapture::OnEndPIE); + UGameViewportClient::OnViewportCreated().AddRaw(this, &FInEditorMultiCapture::OnStart); + FEditorDelegates::EndPIE.AddRaw(this, &FInEditorMultiCapture::OnEndPIE); FAudioDevice* AudioDevice = GEngine->GetMainAudioDevice(); if (AudioDevice != nullptr) @@ -87,12 +109,19 @@ struct FInEditorCapture : TSharedFromThis AudioDevice->SetTransientMasterVolume(0.0f); } + // play at the next tick + FTicker::GetCoreTicker().AddTicker(FTickerDelegate::CreateRaw(this, &FInEditorMultiCapture::PlaySession), 0); + } + + bool PlaySession(float DeltaTime) + { GEditor->RequestPlaySession(true, nullptr, false); + return false; } void OverridePlaySettings(ULevelEditorPlaySettings* PlayInEditorSettings) { - const FMovieSceneCaptureSettings& Settings = CaptureObject->GetSettings(); + const FMovieSceneCaptureSettings& Settings = CurrentCaptureObject->GetSettings(); PlayInEditorSettings->NewWindowWidth = Settings.Resolution.ResX; PlayInEditorSettings->NewWindowHeight = Settings.Resolution.ResY; @@ -150,7 +179,7 @@ struct FInEditorCapture : TSharedFromThis TSharedPtr Window = SlatePlayInEditorSession->SlatePlayInEditorWindow.Pin(); - const FMovieSceneCaptureSettings& Settings = CaptureObject->GetSettings(); + const FMovieSceneCaptureSettings& Settings = CurrentCaptureObject->GetSettings(); SlatePlayInEditorSession->SlatePlayInEditorWindowViewport->SetViewportSize(Settings.Resolution.ResX, Settings.Resolution.ResY); @@ -171,30 +200,29 @@ struct FInEditorCapture : TSharedFromThis FVector2D PreviewWindowPosition(50, 50); Window->ReshapeWindow(PreviewWindowPosition, PreviewWindowSize); - if (CaptureObject->Settings.GameModeOverride != nullptr) + if (CurrentCaptureObject->Settings.GameModeOverride != nullptr) { CachedGameMode = CapturingFromWorld->GetWorldSettings()->DefaultGameMode; - CapturingFromWorld->GetWorldSettings()->DefaultGameMode = CaptureObject->Settings.GameModeOverride; + CapturingFromWorld->GetWorldSettings()->DefaultGameMode = CurrentCaptureObject->Settings.GameModeOverride; } - CaptureObject->Initialize(SlatePlayInEditorSession->SlatePlayInEditorWindowViewport, Context.PIEInstance); + CurrentCaptureObject->Initialize(SlatePlayInEditorSession->SlatePlayInEditorWindowViewport, Context.PIEInstance); } return; } } - // todo: error? } void Shutdown() { FEditorDelegates::EndPIE.RemoveAll(this); UGameViewportClient::OnViewportCreated().RemoveAll(this); - CaptureObject->OnCaptureFinished().RemoveAll(this); + CurrentCaptureObject->OnCaptureFinished().RemoveAll(this); GAreScreenMessagesEnabled = bScreenMessagesWereEnabled; - if (!CaptureObject->Settings.bEnableTextureStreaming) + if (!CurrentCaptureObject->Settings.bEnableTextureStreaming) { IConsoleVariable* CVarStreamingPoolSize = IConsoleManager::Get().FindConsoleVariable(TEXT("r.Streaming.PoolSize")); if (CVarStreamingPoolSize) @@ -209,7 +237,7 @@ struct FInEditorCapture : TSharedFromThis } } - if (CaptureObject->Settings.GameModeOverride != nullptr) + if (CurrentCaptureObject->Settings.GameModeOverride != nullptr) { CapturingFromWorld->GetWorldSettings()->DefaultGameMode = CachedGameMode; } @@ -222,25 +250,43 @@ struct FInEditorCapture : TSharedFromThis AudioDevice->SetTransientMasterVolume(TransientMasterVolume); } - CaptureObject->Close(); - CaptureObject->RemoveFromRoot(); + CurrentCaptureObject->Close(); + //CurrentCaptureObject->RemoveFromRoot(); } void OnEndPIE(bool bIsSimulating) { Shutdown(); - OnlyStrongReference = nullptr; + + Die(); + } + + void NextCapture(bool bIsSimulating) + { + + FEditorDelegates::EndPIE.RemoveAll(this); + // remove item from the TArray; + CaptureObjects.RemoveAt(0); + + if (CaptureObjects.Num() > 0) + { + Dequeue(); + } + else + { + Die(); + } } void OnEnd() { Shutdown(); - OnlyStrongReference = nullptr; + FEditorDelegates::EndPIE.AddRaw(this, &FInEditorMultiCapture::NextCapture); GEditor->RequestEndPlayMap(); } - TSharedPtr OnlyStrongReference; + TSharedPtr OnlyStrongReference; UWorld* CapturingFromWorld; bool bScreenMessagesWereEnabled; @@ -248,20 +294,49 @@ struct FInEditorCapture : TSharedFromThis int32 BackedUpStreamingPoolSize; int32 BackedUpUseFixedPoolSize; TArray BackedUpPlaySettings; - UMovieSceneCapture* CaptureObject; + UMovieSceneCapture* CurrentCaptureObject; TSubclassOf CachedGameMode; + TArray CaptureObjects; }; -PyObject *py_ue_in_editor_capture(ue_PyUObject * self, PyObject * args) +PyObject *py_unreal_engine_in_editor_capture(PyObject * self, PyObject * args) { - ue_py_check(self); + PyObject *py_scene_captures; - UMovieSceneCapture *capture = ue_py_check_type(self); + if (!PyArg_ParseTuple(args, "O:in_editor_capture", &py_scene_captures)) + { + return nullptr; + } + + TArray Captures; + + UMovieSceneCapture *capture = ue_py_check_type(py_scene_captures); if (!capture) - return PyErr_Format(PyExc_Exception, "uobject is not a UMovieSceneCapture"); + { + PyObject *py_iter = PyObject_GetIter(py_scene_captures); + if (!py_iter) + { + return PyErr_Format(PyExc_Exception, "argument is not a UMovieSceneCapture or an iterable of UMovieSceneCapture"); + } + while (PyObject *py_item = PyIter_Next(py_iter)) + { + capture = ue_py_check_type(py_item); + if (!capture) + { + Py_DECREF(py_iter); + return PyErr_Format(PyExc_Exception, "argument is not an iterable of UMovieSceneCapture"); + } + Captures.Add(capture); + } + Py_DECREF(py_iter); + } + else + { + Captures.Add(capture); + } - FInEditorCapture::CreateInEditorCapture(capture); + FInEditorMultiCapture::CreateInEditorMultiCapture(Captures); Py_RETURN_NONE; } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.h b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.h index d9f1e5e46..1ef58340d 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.h @@ -9,5 +9,5 @@ PyObject *py_ue_capture_start(ue_PyUObject *, PyObject *); PyObject *py_ue_capture_load_from_config(ue_PyUObject *, PyObject *); PyObject *py_ue_capture_stop(ue_PyUObject *, PyObject *); -PyObject *py_ue_in_editor_capture(ue_PyUObject *, PyObject *); -PyObject *py_ue_set_level_sequence_asset(ue_PyUObject *, PyObject *); \ No newline at end of file +PyObject *py_ue_set_level_sequence_asset(ue_PyUObject *, PyObject *); +PyObject *py_unreal_engine_in_editor_capture(PyObject *, PyObject *); \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyExporter.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyExporter.cpp new file mode 100644 index 000000000..3edbc509d --- /dev/null +++ b/Source/UnrealEnginePython/Private/UObject/UEPyExporter.cpp @@ -0,0 +1,39 @@ +#include "UnrealEnginePythonPrivatePCH.h" + + +#include "Exporters/Exporter.h" + + +PyObject *py_ue_export_to_file(ue_PyUObject * self, PyObject * args) +{ + + ue_py_check(self); + + PyObject *py_object; + char *filename; + + if (!PyArg_ParseTuple(args, "Os:export_to_file", &py_object, &filename)) + { + return nullptr; + } + + UExporter *Exporter = ue_py_check_type(self); + if (!Exporter) + { + return PyErr_Format(PyExc_Exception, "uobject is not a UExporter"); + } + + UObject *Object = ue_py_check_type(py_object); + if (!Object) + { + return PyErr_Format(PyExc_Exception, "argument is not a UObject"); + } + + if (UExporter::ExportToFile(Object, Exporter, UTF8_TO_TCHAR(filename), false, false, false) > 0) + { + Py_RETURN_TRUE; + } + Py_RETURN_FALSE; +} + + diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyExporter.h b/Source/UnrealEnginePython/Private/UObject/UEPyExporter.h new file mode 100644 index 000000000..72eda9b35 --- /dev/null +++ b/Source/UnrealEnginePython/Private/UObject/UEPyExporter.h @@ -0,0 +1,8 @@ +#pragma once + + + +#include "UnrealEnginePython.h" + + +PyObject *py_ue_export_to_file(ue_PyUObject *, PyObject *); \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h index ca39635cc..833830a65 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h +++ b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h @@ -2,7 +2,7 @@ #pragma once -#define UEPY_MEMORY_DEBUG 1 +//#define UEPY_MEMORY_DEBUG 1 //#define UEPY_THREADING 1 #include "UnrealEnginePython.h" From ff3d43b5fa738dba0cf0b1722d380e2c89799d45 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 26 Feb 2018 15:09:38 +0100 Subject: [PATCH 068/538] backported to 4.15 --- Source/UnrealEnginePython/Private/UEPyEditor.cpp | 2 ++ Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index 15beb4936..18d32916b 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -2371,7 +2371,9 @@ PyObject *py_unreal_engine_export_assets(PyObject * self, PyObject * args) Py_DECREF(py_iter); FAssetToolsModule& AssetToolsModule = FModuleManager::LoadModuleChecked("AssetTools"); +#if ENGINE_MINOR_VERSION > 15 AssetToolsModule.Get().ExportAssets(UObjects, FString(UTF8_TO_TCHAR(filename))); +#endif Py_RETURN_NONE; } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp index 597510e9a..02aec9493 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp @@ -133,7 +133,9 @@ struct FInEditorMultiCapture : TSharedFromThis .AutoCenter(EAutoCenter::PrimaryWorkArea) .UseOSWindowBorder(true) .FocusWhenFirstShown(false) +#if ENGINE_MINOR_VERSION > 15 .ActivationPolicy(EWindowActivationPolicy::Never) +#endif .HasCloseButton(true) .SupportsMaximize(false) .SupportsMinimize(true) @@ -151,8 +153,8 @@ struct FInEditorMultiCapture : TSharedFromThis PlayInEditorSettings->ViewportGetsHMDControl = false; #if ENGINE_MINOR_VERSION >= 17 PlayInEditorSettings->ShouldMinimizeEditorOnVRPIE = true; -#endif PlayInEditorSettings->EnableGameSound = false; +#endif PlayInEditorSettings->bOnlyLoadVisibleLevelsInPIE = false; PlayInEditorSettings->bPreferToStreamLevelsInPIE = false; PlayInEditorSettings->PIEAlwaysOnTop = false; From a601633f3be7c395f8cc09568f24e628d06e4495 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 26 Feb 2018 16:46:03 +0100 Subject: [PATCH 069/538] added FMaterialEditorUtilities --- .../UEPyFMaterialEditorUtilities.cpp | 88 +++++++++++++++++++ .../UEPyFMaterialEditorUtilities.h | 16 ++++ .../Private/Slate/UEPyFModifierKeysState.cpp | 2 +- .../UnrealEnginePython/Private/UEPyModule.cpp | 1 + .../Private/UObject/UEPyMaterial.cpp | 12 +-- .../Private/UnrealEnginePythonPrivatePCH.h | 1 + .../UnrealEnginePython.Build.cs | 3 +- 7 files changed, 115 insertions(+), 8 deletions(-) create mode 100644 Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.cpp create mode 100644 Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.h diff --git a/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.cpp b/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.cpp new file mode 100644 index 000000000..e86b94236 --- /dev/null +++ b/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.cpp @@ -0,0 +1,88 @@ + +#include "UnrealEnginePythonPrivatePCH.h" + +#if WITH_EDITOR + +#include "UEPyFMaterialEditorUtilities.h" + + + + +static PyObject *py_ue_paste_nodes_here(PyObject *cls, PyObject * args) +{ + PyObject *py_graph; + float x; + float y; + + if (!PyArg_ParseTuple(args, "O(ff):paste_nodes_here", &py_graph, &x, &y)) + return nullptr; + + UEdGraph *Graph = ue_py_check_type(py_graph); + if (!Graph) + { + return PyErr_Format(PyExc_Exception, "argument is not a UEdGraph"); + } + + FMaterialEditorUtilities::PasteNodesHere(Graph, FVector2D(x, y)); + Py_RETURN_NONE; +} + + +static PyMethodDef ue_PyFMaterialEditorUtilities_methods[] = { + { "paste_nodes_here", (PyCFunction)py_ue_paste_nodes_here, METH_VARARGS | METH_CLASS, "" }, + { NULL } /* Sentinel */ +}; + + +static PyTypeObject ue_PyFMaterialEditorUtilitiesType = { + PyVarObject_HEAD_INIT(NULL, 0) + "unreal_engine.FMaterialEditorUtilities", /* tp_name */ + sizeof(ue_PyFMaterialEditorUtilities), /* tp_basicsize */ + 0, /* tp_itemsize */ + 0, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ + "Unreal Engine MaterialEditorUtilities", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + ue_PyFMaterialEditorUtilities_methods, /* tp_methods */ + 0, + 0, +}; + +static int py_ue_fmaterial_editor_utilities_init(ue_PyFMaterialEditorUtilities *self, PyObject * args) +{ + PyErr_SetString(PyExc_Exception, "FMaterialEditorUtilities is a singleton"); + return -1; +} + +void ue_python_init_fmaterial_editor_utilities(PyObject *ue_module) +{ + ue_PyFMaterialEditorUtilitiesType.tp_new = PyType_GenericNew; + ue_PyFMaterialEditorUtilitiesType.tp_init = (initproc)py_ue_fmaterial_editor_utilities_init; + + if (PyType_Ready(&ue_PyFMaterialEditorUtilitiesType) < 0) + return; + + Py_INCREF(&ue_PyFMaterialEditorUtilitiesType); + PyModule_AddObject(ue_module, "FMaterialEditorUtilities", (PyObject *)&ue_PyFMaterialEditorUtilitiesType); +} + +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.h b/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.h new file mode 100644 index 000000000..db36d4131 --- /dev/null +++ b/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.h @@ -0,0 +1,16 @@ +#pragma once + +#include "UnrealEnginePython.h" + +#if WITH_EDITOR + +#include "Editor/MaterialEditor/Public/MaterialEditorUtilities.h" + +typedef struct +{ + PyObject_HEAD + /* Type-specific fields go here. */ +} ue_PyFMaterialEditorUtilities; + +void ue_python_init_fmaterial_editor_utilities(PyObject *); +#endif diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.cpp index 1a4ea4bdd..fa998a860 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.cpp @@ -116,7 +116,7 @@ static int ue_py_fmodifier_keys_state_init(ue_PyFModifierKeysState *self, PyObje void ue_python_init_fmodifier_keys_state(PyObject *ue_module) { - + ue_PyFModifierKeysStateType.tp_new = PyType_GenericNew; ue_PyFModifierKeysStateType.tp_init = (initproc)ue_py_fmodifier_keys_state_init; if (PyType_Ready(&ue_PyFModifierKeysStateType) < 0) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 8e69d9f70..d77004b41 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -1947,6 +1947,7 @@ void unreal_engine_init_py_module() ue_python_init_fslate_application(new_unreal_engine_module); #if WITH_EDITOR + ue_python_init_fmaterial_editor_utilities(new_unreal_engine_module); ue_python_init_icollection_manager(new_unreal_engine_module); #endif diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp index 3b23d0189..381e3ee6a 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp @@ -455,16 +455,16 @@ PyObject *py_ue_get_material_graph(ue_PyUObject *self, PyObject * args) ue_py_check(self); - if (!self->ue_object->IsA()) - { + UMaterial *material = ue_py_check_type(self); + if (!material) return PyErr_Format(PyExc_Exception, "uobject is not a UMaterialInterface"); - } - - UMaterial *material = (UMaterial *)self->ue_object; UMaterialGraph *graph = material->MaterialGraph; if (!graph) - material->MaterialGraph = (UMaterialGraph *)FBlueprintEditorUtils::CreateNewGraph(material, NAME_None, UMaterialGraph::StaticClass(), UMaterialGraphSchema::StaticClass()); + { + graph = (UMaterialGraph *)FBlueprintEditorUtils::CreateNewGraph(material, NAME_None, UMaterialGraph::StaticClass(), UMaterialGraphSchema::StaticClass()); + material->MaterialGraph = graph; + } if (!graph) return PyErr_Format(PyExc_Exception, "Unable to retrieve/allocate MaterialGraph"); diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h index 833830a65..6bd720b0a 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h +++ b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h @@ -72,6 +72,7 @@ #include "Blueprint/UEPyEdGraphPin.h" #include "UEPyIPlugin.h" #include "CollectionManager/UEPyICollectionManager.h" +#include "MaterialEditorUtilities/UEPyFMaterialEditorUtilities.h" #endif #include "Slate/UEPySlate.h" diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index 623768cd6..09ec39aad 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -166,7 +166,8 @@ public UnrealEnginePython(TargetInfo Target) "FBX", "Persona", "PropertyEditor", - "LandscapeEditor" + "LandscapeEditor", + "MaterialEditor" }); } From da126b9fad52a78c6f4fb9f402dc5296e98dbc06 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 26 Feb 2018 18:36:51 +0100 Subject: [PATCH 070/538] added command_apply for materials --- .../UEPyFMaterialEditorUtilities.cpp | 46 +++++++++++++++++++ .../UEPyFMaterialEditorUtilities.h | 3 ++ 2 files changed, 49 insertions(+) diff --git a/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.cpp b/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.cpp index e86b94236..661105f14 100644 --- a/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.cpp +++ b/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.cpp @@ -27,9 +27,55 @@ static PyObject *py_ue_paste_nodes_here(PyObject *cls, PyObject * args) Py_RETURN_NONE; } +static PyObject *py_ue_update_material_after_graph_change(PyObject *cls, PyObject * args) +{ + PyObject *py_graph; + + if (!PyArg_ParseTuple(args, "O:update_material_after_graph_change", &py_graph)) + return nullptr; + + UEdGraph *Graph = ue_py_check_type(py_graph); + if (!Graph) + { + return PyErr_Format(PyExc_Exception, "argument is not a UEdGraph"); + } + + FMaterialEditorUtilities::UpdateMaterialAfterGraphChange(Graph); + Py_RETURN_NONE; +} + +static PyObject *py_ue_command_apply(PyObject *cls, PyObject * args) +{ + PyObject *py_material; + + if (!PyArg_ParseTuple(args, "O:command_apply", &py_material)) + return nullptr; + + UMaterial *Material = ue_py_check_type(py_material); + if (!Material) + { + return PyErr_Format(PyExc_Exception, "argument is not a UMaterial"); + } + + IAssetEditorInstance *Instance = FAssetEditorManager::Get().FindEditorForAsset(Material, false); + if (!Instance) + { + return PyErr_Format(PyExc_Exception, "unable to retrieve editor for UMaterial"); + } + + IMaterialEditor *MaterialEditor = (IMaterialEditor *)Instance; + + MaterialEditor->GetToolkitCommands()->ExecuteAction(FMaterialEditorCommands::Get().Apply.ToSharedRef()); + + Py_RETURN_NONE; + +} + static PyMethodDef ue_PyFMaterialEditorUtilities_methods[] = { { "paste_nodes_here", (PyCFunction)py_ue_paste_nodes_here, METH_VARARGS | METH_CLASS, "" }, + { "update_material_after_graph_change", (PyCFunction)py_ue_update_material_after_graph_change, METH_VARARGS | METH_CLASS, "" }, + { "command_apply", (PyCFunction)py_ue_command_apply, METH_VARARGS | METH_CLASS, "" }, { NULL } /* Sentinel */ }; diff --git a/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.h b/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.h index db36d4131..7e6b7d5d3 100644 --- a/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.h +++ b/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.h @@ -5,6 +5,9 @@ #if WITH_EDITOR #include "Editor/MaterialEditor/Public/MaterialEditorUtilities.h" +#include "Editor/MaterialEditor/Public/MaterialEditorActions.h" +#include "Editor/UnrealEd/Public/Toolkits/AssetEditorManager.h" +#include "Editor/MaterialEditor/Public/IMaterialEditor.h" typedef struct { From ded42b2c14e8b462ecaa00d0cd0f5ff249dfcb9e Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 26 Feb 2018 18:53:28 +0100 Subject: [PATCH 071/538] fixed python2 support --- Source/UnrealEnginePython/Private/UEPyModule.cpp | 13 ++++++++++++- .../Private/UnrealEnginePython.cpp | 2 ++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index d77004b41..a356275f4 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -1868,6 +1868,15 @@ void unreal_engine_init_py_module() PyObject *new_unreal_engine_module = PyImport_AddModule("unreal_engine"); #else PyObject *new_unreal_engine_module = Py_InitModule3("unreal_engine", NULL, unreal_engine_py_doc); + ue_PyUObjectType.tp_new = PyType_GenericNew; + ue_PyUObjectType.tp_init = (initproc)unreal_engine_py_init; + ue_PyUObjectType.tp_dictoffset = offsetof(ue_PyUObject, py_dict); + + if (PyType_Ready(&ue_PyUObjectType) < 0) + return; + + Py_INCREF(&ue_PyUObjectType); + PyModule_AddObject(new_unreal_engine_module, "UObject", (PyObject *)&ue_PyUObjectType); #endif PyObject *unreal_engine_dict = PyModule_GetDict(new_unreal_engine_module); @@ -3603,6 +3612,7 @@ bool do_ue_py_check_childstruct(PyObject *py_obj, UScriptStruct* parent_u_struct return ue_py_struct->u_struct->IsChildOf(parent_u_struct); } +#if PY_MAJOR_VERSION >= 3 static PyObject *init_unreal_engine() { @@ -3621,4 +3631,5 @@ static PyObject *init_unreal_engine() PyModule_AddObject(new_unreal_engine_module, "UObject", (PyObject *)&ue_PyUObjectType); return new_unreal_engine_module; -} \ No newline at end of file +} +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 3fefa2edf..7357b1504 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -334,7 +334,9 @@ void FUnrealEnginePythonModule::StartupModule() FPlatformMisc::SetEnvironmentVar(TEXT("PATH"), *ModifiedPath); } +#if PY_MAJOR_VERSION >= 3 init_unreal_engine_builtin(); +#endif Py_Initialize(); From 8f877947260f63e6fac743675e183f61222c2075 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 26 Feb 2018 19:06:09 +0100 Subject: [PATCH 072/538] fixed struct test --- tests/test_structs.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/test_structs.py b/tests/test_structs.py index 451a10924..9b6bb351f 100644 --- a/tests/test_structs.py +++ b/tests/test_structs.py @@ -40,11 +40,11 @@ def test_cmp(self): def test_ptr(self): source_model = StaticMeshSourceModel() - source_model().BuildSettings().bRecomputeNormals=False - source_model().BuildSettings().bRecomputeTangents=True - source_model().BuildSettings().bUseMikkTSpace=True - source_model().BuildSettings().bBuildAdjacencyBuffer=True - source_model().BuildSettings().bRemoveDegenerates=True + source_model.ref().BuildSettings.ref().bRecomputeNormals=False + source_model.ref().BuildSettings.ref().bRecomputeTangents=True + source_model.ref().BuildSettings.ref().bUseMikkTSpace=True + source_model.ref().BuildSettings.ref().bBuildAdjacencyBuffer=True + source_model.ref().BuildSettings.ref().bRemoveDegenerates=True source_model2 = source_model.clone() self.assertEqual(source_model2.BuildSettings.bRecomputeNormals, False) From b33e0670f1cef628b341ff2c5ded2337a507dd32 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 26 Feb 2018 19:44:26 +0100 Subject: [PATCH 073/538] fixed 4.16 support --- Source/UnrealEnginePython/Private/UEPyEditor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index 18d32916b..50ff5b6d0 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -2371,7 +2371,7 @@ PyObject *py_unreal_engine_export_assets(PyObject * self, PyObject * args) Py_DECREF(py_iter); FAssetToolsModule& AssetToolsModule = FModuleManager::LoadModuleChecked("AssetTools"); -#if ENGINE_MINOR_VERSION > 15 +#if ENGINE_MINOR_VERSION > 16 AssetToolsModule.Get().ExportAssets(UObjects, FString(UTF8_TO_TCHAR(filename))); #endif From 3c33d0de0b33dfbe74008256d54747129e968f16 Mon Sep 17 00:00:00 2001 From: efeng Date: Tue, 27 Feb 2018 17:13:48 +1300 Subject: [PATCH 074/538] Add new getters for fbx curve key: left/right tangents, tangent mode and interpolation mode --- .../Private/Fbx/UEPyFbxObject.cpp | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxObject.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxObject.cpp index 414d0a545..b9d902a32 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxObject.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxObject.cpp @@ -138,6 +138,108 @@ static PyObject *py_ue_fbx_object_key_get_seconds(ue_PyFbxObject *self, PyObject return PyFloat_FromDouble(fbx_anim_curve->KeyGetTime(index).GetSecondDouble()); } +static PyObject *py_ue_fbx_object_key_get_left_tangent(ue_PyFbxObject *self, PyObject *args) { + int index; + if (!PyArg_ParseTuple(args, "i", &index)) { + return nullptr; + } + FbxAnimCurve *fbx_anim_curve = FbxCast(self->fbx_object); + if (!fbx_anim_curve) + return PyErr_Format(PyExc_Exception, "object is not a FbxAnimCurve"); + return PyFloat_FromDouble(fbx_anim_curve->KeyGetLeftDerivative(index)); +} + +static PyObject *py_ue_fbx_object_key_get_right_tangent(ue_PyFbxObject *self, PyObject *args) { + int index; + if (!PyArg_ParseTuple(args, "i", &index)) { + return nullptr; + } + FbxAnimCurve *fbx_anim_curve = FbxCast(self->fbx_object); + if (!fbx_anim_curve) + return PyErr_Format(PyExc_Exception, "object is not a FbxAnimCurve"); + return PyFloat_FromDouble(fbx_anim_curve->KeyGetRightDerivative(index)); +} + +static PyObject *py_ue_fbx_object_key_get_interp_mode(ue_PyFbxObject *self, PyObject *args) { + int index; + if (!PyArg_ParseTuple(args, "i", &index)) { + return nullptr; + } + FbxAnimCurve *fbx_anim_curve = FbxCast(self->fbx_object); + if (!fbx_anim_curve) + return PyErr_Format(PyExc_Exception, "object is not a FbxAnimCurve"); + + ERichCurveInterpMode Mode = RCIM_Linear; + // Convert the interpolation type from FBX to Unreal. + switch (fbx_anim_curve->KeyGetInterpolation(index)) + { + case FbxAnimCurveDef::eInterpolationCubic: + Mode = RCIM_Cubic; + break; + + case FbxAnimCurveDef::eInterpolationConstant: + if (fbx_anim_curve->KeyGetTangentMode(index) != (FbxAnimCurveDef::ETangentMode)FbxAnimCurveDef::eConstantStandard) + { + // warning not support + ; + } + Mode = RCIM_Constant; + break; + + case FbxAnimCurveDef::eInterpolationLinear: + Mode = RCIM_Linear; + break; + } + + return PyLong_FromUnsignedLong(uint64(Mode)); +} + +static PyObject *py_ue_fbx_object_key_get_tangent_mode(ue_PyFbxObject *self, PyObject *args) { + int index; + if (!PyArg_ParseTuple(args, "i", &index)) { + return nullptr; + } + FbxAnimCurve *fbx_anim_curve = FbxCast(self->fbx_object); + if (!fbx_anim_curve) + return PyErr_Format(PyExc_Exception, "object is not a FbxAnimCurve"); + + ERichCurveTangentMode Mode = RCTM_Auto; + // Convert the interpolation type from FBX to Unreal. + if ( fbx_anim_curve->KeyGetInterpolation(index) == + FbxAnimCurveDef::eInterpolationCubic ) + { + switch (fbx_anim_curve->KeyGetTangentMode(index)) + { + // Auto tangents will now be imported as user tangents to allow the + // user to modify them without inadvertently resetting other tangents + // case KFbxAnimCurveDef::eTANGENT_AUTO: + // if ((KFbxAnimCurveDef::eTANGENT_GENERIC_CLAMP & FbxKey.GetTangentMode(true))) + // { + // Mode = CIM_CurveAutoClamped; + // } + // else + // { + // Mode = CIM_CurveAuto; + // } + // break; + case FbxAnimCurveDef::eTangentBreak: + Mode = RCTM_Break; + break; + case FbxAnimCurveDef::eTangentAuto: + Mode = RCTM_Auto; + break; + case FbxAnimCurveDef::eTangentUser: + case FbxAnimCurveDef::eTangentTCB: + Mode = RCTM_User; + break; + default: + break; + } + } + + return PyLong_FromUnsignedLong(uint64(Mode)); +} + static PyMethodDef ue_PyFbxObject_methods[] = { { "get_member_count", (PyCFunction)py_ue_fbx_object_get_member_count, METH_VARARGS, "" }, { "get_member", (PyCFunction)py_ue_fbx_object_get_member, METH_VARARGS, "" }, @@ -153,6 +255,10 @@ static PyMethodDef ue_PyFbxObject_methods[] = { { "key_get_count", (PyCFunction)py_ue_fbx_object_key_get_count, METH_VARARGS, "" }, { "key_get_value", (PyCFunction)py_ue_fbx_object_key_get_value, METH_VARARGS, "" }, { "key_get_seconds", (PyCFunction)py_ue_fbx_object_key_get_seconds, METH_VARARGS, "" }, + { "key_get_left_tangent", (PyCFunction)py_ue_fbx_object_key_get_left_tangent, METH_VARARGS, "" }, + { "key_get_right_tangent", (PyCFunction)py_ue_fbx_object_key_get_right_tangent, METH_VARARGS, "" }, + { "key_get_interp_mode", (PyCFunction)py_ue_fbx_object_key_get_interp_mode, METH_VARARGS, "" }, + { "key_get_tangent_mode", (PyCFunction)py_ue_fbx_object_key_get_tangent_mode, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; From 1c7386b6a0edbeeafa4ffe9b2dadf8f96948da2b Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 27 Feb 2018 10:03:57 +0100 Subject: [PATCH 075/538] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 83dd95636..75f54c8ef 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Once the plugin is installed and enabled, you get access to the 'PythonConsole' All of the exposed engine features are under the 'unreal_engine' virtual module (it is completely coded in c into the plugin, so do not expect to run 'import unreal_engine' from a standard python shell) -The currently supported Unreal Engine versions are 4.12, 4.13, 4.14, 4.15, 4.16, 4.17 and 4.18. +The currently supported Unreal Engine versions are 4.12, 4.13, 4.14, 4.15, 4.16, 4.17, 4.18 and 4.19 We support official python.org releases as well as IntelPython and Anaconda distributions. From 979d83243bc468446f5e1dd32ff9b368891d2d76 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 27 Feb 2018 10:10:22 +0100 Subject: [PATCH 076/538] Update README.md --- README.md | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 75f54c8ef..b949c1e3c 100644 --- a/README.md +++ b/README.md @@ -808,15 +808,9 @@ Memory management Dealing with 2 different GC's is really challenging. -PyActor, PyPawn and PythonComponent automatically DECREF's the mapped classes. This should be enough unless you hold references -in the python modules themselves. As this would be a bad programming practice, the current approach should be safe enough. +Starting from release 20180226 a new memory management system has been added (FUnrealEnginePythonHouseKeeper, available here https://github.com/20tab/UnrealEnginePython/blob/master/Source/UnrealEnginePython/Public/PythonHouseKeeper.h). This new system is completely integrated with the Unreal Engine reflection-based GC and will hold track of each ue_PyUObject abd the related UObject to understand when a python object can be safely destroyed. -In addition to this, every time a uobject has to return its UObject mapping, it checks for its validity and safety: - -```c -#define ue_py_check(py_u) if (!py_u->ue_object || !py_u->ue_object->IsValidLowLevel() || py_u->ue_object->IsPendingKillOrUnreachable())\ - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state") -``` +The same system works for delegates, as well as Slate. Unit Testing From b6058c952dd86c35349ae96371548f36fa672d63 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 27 Feb 2018 10:14:47 +0100 Subject: [PATCH 077/538] Update README.md --- README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/README.md b/README.md index b949c1e3c..f18f3d6b9 100644 --- a/README.md +++ b/README.md @@ -487,6 +487,30 @@ To access the fields of a struct just call the fields() method. A good example of struct usage is available here: https://github.com/20tab/UnrealEnginePython/blob/master/docs/Settings.md +As structs are passed by value, you need to pay attention when manipulating structs fields that are structs by themselves: + +```python +from unreal_engine.structs import TerrificStruct, DumbStruct + +ts = TerrificStruct() +ts.dumb = DumbStruct(Foo=17, Bar=22) + +# will not modify the original DumbStruct but a copy of it !!! +ts.dumb.Foo = 22 +``` + +You can eventually force structs to be passed by ref (extremely dangerous as the internal C pointer could be a dangling one) using the ref() function: + +```python +from unreal_engine.structs import TerrificStruct, DumbStruct + +ts = TerrificStruct() +ts.dumb = DumbStruct(Foo=17, Bar=22) + +# ref() will return a pointer to a struct +ts.ref().dumb.foo().Foo = 22 +``` + The ue_site.py file ------------------- From 9cacca413baf27582bd1e1051446a36dbf3fe849 Mon Sep 17 00:00:00 2001 From: Hippid Date: Tue, 27 Feb 2018 11:35:34 +0100 Subject: [PATCH 078/538] Fixed logging message for garbage collect delegates. --- Source/UnrealEnginePython/Public/PythonHouseKeeper.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Public/PythonHouseKeeper.h b/Source/UnrealEnginePython/Public/PythonHouseKeeper.h index 3b1c1ad1a..0063db4df 100644 --- a/Source/UnrealEnginePython/Public/PythonHouseKeeper.h +++ b/Source/UnrealEnginePython/Public/PythonHouseKeeper.h @@ -181,7 +181,7 @@ class FUnrealEnginePythonHouseKeeper { int32 Garbaged = 0; #if defined(UEPY_MEMORY_DEBUG) - UE_LOG(LogPython, Error, TEXT("Checking %d delegates"), PyDelegatesTracker.Num()); + UE_LOG(LogPython, Display, TEXT("Garbage collecting %d delegates"), PyDelegatesTracker.Num()); #endif for (int32 i = PyDelegatesTracker.Num() - 1; i >= 0; --i) { From de9cafa510df43053bb019c15691569ccb61b0fa Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 2 Mar 2018 13:25:12 +0100 Subject: [PATCH 079/538] added get_matrix() to FTransform --- .../Private/Wrappers/UEPyFTransform.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.cpp index b76be90a8..e91f2dc49 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.cpp @@ -26,10 +26,22 @@ static PyObject *py_ue_ftransform_get_relative_transform(ue_PyFTransform *self, return py_ue_new_ftransform(self->transform.GetRelativeTransform(py_transform->transform)); } +static PyObject *py_ue_ftransform_get_matrix(ue_PyFTransform *self, PyObject * args) +{ + FMatrix matrix = self->transform.ToMatrixWithScale(); + UScriptStruct *u_struct = FindObject(ANY_PACKAGE, UTF8_TO_TCHAR("Matrix")); + if (!u_struct) + { + return PyErr_Format(PyExc_Exception, "unable to get Matrix struct"); + } + return py_ue_new_uscriptstruct(u_struct, (uint8 *)&matrix); +} + static PyMethodDef ue_PyFTransform_methods[] = { { "inverse", (PyCFunction)py_ue_ftransform_inverse, METH_VARARGS, "" }, { "get_relative_transform", (PyCFunction)py_ue_ftransform_get_relative_transform, METH_VARARGS, "" }, { "normalize_rotation", (PyCFunction)py_ue_ftransform_normalize_rotation, METH_VARARGS, "" }, + { "get_matrix", (PyCFunction)py_ue_ftransform_get_matrix, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; From 7dccc39c1df82372c518d6e6ca30d19948511e91 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 5 Mar 2018 09:32:28 +0100 Subject: [PATCH 080/538] added game_viewport_client_set_rendering_flag() --- .../UnrealEnginePython/Private/UEPyModule.cpp | 2 ++ .../Private/UObject/UEPyViewport.cpp | 25 +++++++++++++++++++ .../Private/UObject/UEPyViewport.h | 1 + .../Private/UObject/UEPyWorld.cpp | 3 +++ 4 files changed, 31 insertions(+) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index a356275f4..6764f9177 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -755,6 +755,8 @@ static PyMethodDef ue_PyUObject_methods[] = { { "has_world", (PyCFunction)py_ue_has_world, METH_VARARGS, "" }, { "get_game_viewport", (PyCFunction)py_ue_get_game_viewport, METH_VARARGS, "" }, + + { "game_viewport_client_set_rendering_flag", (PyCFunction)py_ue_game_viewport_client_set_rendering_flag, METH_VARARGS, "" }, { "get_world_location_at_distance_along_spline", (PyCFunction)py_ue_get_world_location_at_distance_along_spline, METH_VARARGS, "" }, { "get_spline_length", (PyCFunction)py_ue_get_spline_length, METH_VARARGS, "" }, diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp index 364947cc3..0ac579604 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp @@ -208,3 +208,28 @@ PyObject *py_ue_remove_all_viewport_widgets(ue_PyUObject *self, PyObject * args) Py_RETURN_NONE; } +PyObject *py_ue_game_viewport_client_set_rendering_flag(ue_PyUObject *self, PyObject * args) +{ + + ue_py_check(self); + + PyObject *py_bool; + + if (!PyArg_ParseTuple(args, "O:game_viewport_client_set_rendering_flag", &py_bool)) + { + return nullptr; + } + + bool bEnabled = PyObject_IsTrue(py_bool) ? true : false; + + UGameViewportClient *ViewportClient = ue_py_check_type(self); + if (!ViewportClient) + { + return PyErr_Format(PyExc_Exception, "object is not a UGameViewportClient"); + } + + ViewportClient->EngineShowFlags.Rendering = bEnabled; + + Py_RETURN_NONE; +} + diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyViewport.h b/Source/UnrealEnginePython/Private/UObject/UEPyViewport.h index 2f6a8dc2b..f5a31a9b7 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyViewport.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyViewport.h @@ -16,3 +16,4 @@ PyObject *py_unreal_engine_editor_set_view_rotation(PyObject *, PyObject *); PyObject *py_ue_add_viewport_widget_content(ue_PyUObject *, PyObject *); PyObject *py_ue_remove_viewport_widget_content(ue_PyUObject *, PyObject *); PyObject *py_ue_remove_all_viewport_widgets(ue_PyUObject *, PyObject *); +PyObject *py_ue_game_viewport_client_set_rendering_flag(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp index ce33397d0..fa58027fa 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp @@ -195,6 +195,9 @@ PyObject *py_ue_get_game_viewport(ue_PyUObject *self, PyObject * args) Py_RETURN_UOBJECT(viewport_client); } + + + PyObject *py_ue_has_world(ue_PyUObject *self, PyObject * args) { From a639bd4e530903b895396c9fcafc83c95fab2236 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 5 Mar 2018 11:14:46 +0100 Subject: [PATCH 081/538] fixed py_exec() #336 --- .../Private/UnrealEnginePython.cpp | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 7357b1504..75c50e3c1 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -488,30 +488,30 @@ void FUnrealEnginePythonModule::RunStringSandboxed(char *str) void FUnrealEnginePythonModule::RunFile(char *filename) { FScopePythonGIL gil; - char *full_path = filename; + FString full_path = UTF8_TO_TCHAR(filename); if (!FPaths::FileExists(filename)) { - full_path = TCHAR_TO_UTF8(*FPaths::Combine(*ScriptsPath, UTF8_TO_TCHAR(filename))); + full_path = FPaths::Combine(*ScriptsPath, full_path); } #if PY_MAJOR_VERSION >= 3 FILE *fd = nullptr; #if PLATFORM_WINDOWS - if (fopen_s(&fd, full_path, "r") != 0) + if (fopen_s(&fd, TCHAR_TO_UTF8(*full_path), "r") != 0) { - UE_LOG(LogPython, Error, TEXT("Unable to open file %s"), UTF8_TO_TCHAR(full_path)); + UE_LOG(LogPython, Error, TEXT("Unable to open file %s"), *full_path); return; } #else - fd = fopen(full_path, "r"); + fd = fopen(TCHAR_TO_UTF8(*full_path), "r"); if (!fd) { - UE_LOG(LogPython, Error, TEXT("Unable to open file %s"), UTF8_TO_TCHAR(full_path)); + UE_LOG(LogPython, Error, TEXT("Unable to open file %s"), *full_path); return; } #endif - PyObject *eval_ret = PyRun_File(fd, full_path, Py_file_input, (PyObject *)main_dict, (PyObject *)local_dict); + PyObject *eval_ret = PyRun_File(fd, TCHAR_TO_UTF8(*full_path), Py_file_input, (PyObject *)main_dict, (PyObject *)local_dict); fclose(fd); if (!eval_ret) { @@ -521,7 +521,7 @@ void FUnrealEnginePythonModule::RunFile(char *filename) Py_DECREF(eval_ret); #else // damn, this is horrible, but it is the only way i found to avoid the CRT error :( - FString command = FString::Printf(TEXT("execfile(\"%s\")"), UTF8_TO_TCHAR(full_path)); + FString command = FString::Printf(TEXT("execfile(\"%s\")"), *full_path); PyObject *eval_ret = PyRun_String(TCHAR_TO_UTF8(*command), Py_file_input, (PyObject *)main_dict, (PyObject *)local_dict); if (!eval_ret) { @@ -536,10 +536,10 @@ void FUnrealEnginePythonModule::RunFile(char *filename) void FUnrealEnginePythonModule::RunFileSandboxed(char *filename, void(*callback)(void *arg), void *arg) { FScopePythonGIL gil; - char *full_path = filename; + FString full_path = filename; if (!FPaths::FileExists(filename)) { - full_path = TCHAR_TO_UTF8(*FPaths::Combine(*ScriptsPath, UTF8_TO_TCHAR(filename))); + full_path = FPaths::Combine(*ScriptsPath, full_path); } PyThreadState *_main = PyThreadState_Get(); @@ -571,21 +571,21 @@ void FUnrealEnginePythonModule::RunFileSandboxed(char *filename, void(*callback) FILE *fd = nullptr; #if PLATFORM_WINDOWS - if (fopen_s(&fd, full_path, "r") != 0) + if (fopen_s(&fd, TCHAR_TO_UTF8(*full_path), "r") != 0) { - UE_LOG(LogPython, Error, TEXT("Unable to open file %s"), UTF8_TO_TCHAR(full_path)); + UE_LOG(LogPython, Error, TEXT("Unable to open file %s"), *full_path); return; } #else - fd = fopen(full_path, "r"); + fd = fopen(TCHAR_TO_UTF8(*full_path), "r"); if (!fd) { - UE_LOG(LogPython, Error, TEXT("Unable to open file %s"), UTF8_TO_TCHAR(full_path)); + UE_LOG(LogPython, Error, TEXT("Unable to open file %s"), *full_path); return; } #endif - PyObject *eval_ret = PyRun_File(fd, full_path, Py_file_input, global_dict, global_dict); + PyObject *eval_ret = PyRun_File(fd, TCHAR_TO_UTF8(*full_path), Py_file_input, global_dict, global_dict); fclose(fd); if (!eval_ret) { @@ -597,7 +597,7 @@ void FUnrealEnginePythonModule::RunFileSandboxed(char *filename, void(*callback) Py_DECREF(eval_ret); #else // damn, this is horrible, but it is the only way i found to avoid the CRT error :( - FString command = FString::Printf(TEXT("execfile(\"%s\")"), UTF8_TO_TCHAR(full_path)); + FString command = FString::Printf(TEXT("execfile(\"%s\")"), *full_path); PyObject *eval_ret = PyRun_String(TCHAR_TO_UTF8(*command), Py_file_input, global_dict, global_dict); if (!eval_ret) { From 6dcbffe19ea88654a187e8620ae52d3686818a5f Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 5 Mar 2018 12:11:12 +0100 Subject: [PATCH 082/538] fixed subclassing api --- .../Private/PythonConsoleModule.cpp | 67 --- .../Public/PythonConsoleModule.h | 8 +- .../UnrealEnginePython/Private/UEPyModule.cpp | 492 +----------------- .../Private/UEPySubclassing.cpp | 484 +++++++++++++++++ 4 files changed, 490 insertions(+), 561 deletions(-) create mode 100644 Source/UnrealEnginePython/Private/UEPySubclassing.cpp diff --git a/Source/PythonConsole/Private/PythonConsoleModule.cpp b/Source/PythonConsole/Private/PythonConsoleModule.cpp index 0569edec5..d9800bd36 100644 --- a/Source/PythonConsole/Private/PythonConsoleModule.cpp +++ b/Source/PythonConsole/Private/PythonConsoleModule.cpp @@ -93,71 +93,4 @@ TSharedRef< SWidget > FPythonConsoleModule::MakeConsoleInputBox( TSharedPtr< SEd TSharedRef< SPythonConsoleInputBox > NewConsoleInputBox = SNew( SPythonConsoleInputBox ); OutExposedEditableTextBox = NewConsoleInputBox->GetEditableTextBox(); return NewConsoleInputBox; -} - - -void FPythonConsoleModule::TogglePythonConsoleForWindow( const TSharedRef< SWindow >& Window, const EPythonConsoleStyle::Type InStyle, const FPythonConsoleDelegates& PythonConsoleDelegates ) -{ - bool bShouldOpen = true; - // Close an existing console box, if there is one - TSharedPtr< SWidget > PinnedPythonConsole( PythonConsole.Pin() ); - if( PinnedPythonConsole.IsValid() ) - { - // If the console is already open close it unless it is in a different window. In that case reopen it on that window - bShouldOpen = false; - TSharedPtr< SWindow > WindowForExistingConsole = FSlateApplication::Get().FindWidgetWindow(PinnedPythonConsole.ToSharedRef()); - if (WindowForExistingConsole.IsValid()) - { - WindowForExistingConsole->RemoveOverlaySlot(PinnedPythonConsole.ToSharedRef()); - PythonConsole.Reset(); - } - - if( WindowForExistingConsole != Window ) - { - // Console is being opened on another window - bShouldOpen = true; - } - } - - TSharedPtr ActiveTab = FGlobalTabmanager::Get()->GetActiveTab(); - if (ActiveTab.IsValid() && ActiveTab->GetLayoutIdentifier() == FTabId(PythonConsoleModule::PythonLogTabName)) - { - FGlobalTabmanager::Get()->DrawAttention(ActiveTab.ToSharedRef()); - bShouldOpen = false; - } - - if( bShouldOpen ) - { - const EPythonConsoleStyle::Type PythonConsoleStyle = InStyle; - TSharedRef< SPythonConsole > PythonConsoleRef = SNew( SPythonConsole, PythonConsoleStyle, this, &PythonConsoleDelegates ); - PythonConsole = PythonConsoleRef; - - const int32 MaximumZOrder = MAX_int32; - Window->AddOverlaySlot( MaximumZOrder ) - .VAlign(VAlign_Bottom) - .HAlign(HAlign_Center) - .Padding( 10.0f ) - [ - PythonConsoleRef - ]; - - // Force keyboard focus - PythonConsoleRef->SetFocusToEditableText(); - } -} - - -void FPythonConsoleModule::ClosePythonConsole() -{ - TSharedPtr< SWidget > PinnedPythonConsole( PythonConsole.Pin() ); - - if( PinnedPythonConsole.IsValid() ) - { - TSharedPtr< SWindow > WindowForExistingConsole = FSlateApplication::Get().FindWidgetWindow(PinnedPythonConsole.ToSharedRef()); - if (WindowForExistingConsole.IsValid()) - { - WindowForExistingConsole->RemoveOverlaySlot( PinnedPythonConsole.ToSharedRef() ); - PythonConsole.Reset(); - } - } } \ No newline at end of file diff --git a/Source/PythonConsole/Public/PythonConsoleModule.h b/Source/PythonConsole/Public/PythonConsoleModule.h index 7d5189b48..607fd61b2 100644 --- a/Source/PythonConsole/Public/PythonConsoleModule.h +++ b/Source/PythonConsole/Public/PythonConsoleModule.h @@ -1,4 +1,4 @@ -// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. +// Copyright 1998-2018 20Tab S.r.l. All Rights Reserved. #pragma once @@ -33,12 +33,6 @@ class FPythonConsoleModule : public IModuleInterface output log DLL is unloaded on the fly. */ virtual TSharedRef< SWidget > MakeConsoleInputBox( TSharedPtr< SEditableTextBox >& OutExposedEditableTextBox ) const; - /** Opens a debug console in the specified window, if not already open */ - virtual void TogglePythonConsoleForWindow( const TSharedRef< SWindow >& Window, const EPythonConsoleStyle::Type InStyle, const FPythonConsoleDelegates& PythonConsoleDelegates ); - - /** Closes the debug console for the specified window */ - virtual void ClosePythonConsole(); - private: diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 6764f9177..64b381c3c 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -1387,482 +1387,7 @@ static void UEPyClassConstructor(UClass *u_class, const FObjectInitializer &Obje ue_py_class_constructor_placeholder = nullptr; } -static int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *kwds) -{ - // is it subclassing ? - if (PyTuple_Size(args) == 3) - { - // TODO make it smarter on error checking - UE_LOG(LogPython, Warning, TEXT("%s"), UTF8_TO_TCHAR(PyUnicode_AsUTF8(PyObject_Str(PyTuple_GetItem(args, 0))))); - UE_LOG(LogPython, Warning, TEXT("%s"), UTF8_TO_TCHAR(PyUnicode_AsUTF8(PyObject_Str(PyTuple_GetItem(args, 1))))); - UE_LOG(LogPython, Warning, TEXT("%s"), UTF8_TO_TCHAR(PyUnicode_AsUTF8(PyObject_Str(PyTuple_GetItem(args, 2))))); - - PyObject *parents = PyTuple_GetItem(args, 1); - ue_PyUObject *parent = (ue_PyUObject *)PyTuple_GetItem(parents, 0); - - PyObject *class_attributes = PyTuple_GetItem(args, 2); - - PyObject *class_name = PyDict_GetItemString(class_attributes, (char *)"__qualname__"); - char *name = PyUnicode_AsUTF8(class_name); - // check if parent is a uclass - UClass *new_class = unreal_engine_new_uclass(name, (UClass *)parent->ue_object); - if (!new_class) - return -1; - - // map the class to the python object - self->ue_object = new_class; - - PyObject *py_additional_properties = PyDict_New(); - - PyObject *class_attributes_keys = PyObject_GetIter(class_attributes); - for (;;) - { - PyObject *key = PyIter_Next(class_attributes_keys); - if (!key) - { - if (PyErr_Occurred()) - return -1; - break; - } - if (!PyUnicodeOrString_Check(key)) - continue; - char *class_key = PyUnicode_AsUTF8(key); - - PyObject *value = PyDict_GetItem(class_attributes, key); - - if (strlen(class_key) > 2 && class_key[0] == '_' && class_key[1] == '_') - { - continue; - } - - bool prop_added = false; - - if (UProperty *u_property = new_class->FindPropertyByName(FName(UTF8_TO_TCHAR(class_key)))) - { - UE_LOG(LogPython, Warning, TEXT("Found UProperty %s"), UTF8_TO_TCHAR(class_key)); - PyDict_SetItem(py_additional_properties, key, value); - prop_added = true; - } - // add simple property - else if (ue_is_pyuobject(value)) - { - ue_PyUObject *py_obj = (ue_PyUObject *)value; - if (py_obj->ue_object->IsA()) - { - UClass *p_class = (UClass *)py_obj->ue_object; - if (p_class->IsChildOf()) - { - if (!py_ue_add_property(self, Py_BuildValue("(Os)", value, class_key))) - { - unreal_engine_py_log_error(); - return -1; - } - prop_added = true; - } - else - { - if (!py_ue_add_property(self, Py_BuildValue("(OsO)", (PyObject *)ue_get_python_uobject(UObjectProperty::StaticClass()), class_key, value))) - { - unreal_engine_py_log_error(); - return -1; - } - prop_added = true; - } - } - else if (py_obj->ue_object->IsA()) - { - if (!py_ue_add_property(self, Py_BuildValue("(OsO)", (PyObject *)ue_get_python_uobject(UStructProperty::StaticClass()), class_key, value))) - { - unreal_engine_py_log_error(); - return -1; - } - prop_added = true; - } - } - - // add array property - else if (PyList_Check(value)) - { - if (PyList_Size(value) == 1) - { - PyObject *first_item = PyList_GetItem(value, 0); - if (ue_is_pyuobject(first_item)) - { - ue_PyUObject *py_obj = (ue_PyUObject *)first_item; - if (py_obj->ue_object->IsA()) - { - UClass *p_class = (UClass *)py_obj->ue_object; - if (p_class->IsChildOf()) - { - if (!py_ue_add_property(self, Py_BuildValue("(Os)", value, class_key))) - { - unreal_engine_py_log_error(); - return -1; - } - prop_added = true; - } - - else - { - if (!py_ue_add_property(self, Py_BuildValue("([O]sO)", (PyObject *)ue_get_python_uobject(UObjectProperty::StaticClass()), class_key, first_item))) - { - unreal_engine_py_log_error(); - return -1; - } - prop_added = true; - } - } - else if (py_obj->ue_object->IsA()) - { - if (!py_ue_add_property(self, Py_BuildValue("([O]sO)", (PyObject *)ue_get_python_uobject(UStructProperty::StaticClass()), class_key, first_item))) - { - unreal_engine_py_log_error(); - return -1; - } - prop_added = true; - } - } - - } - } -#if ENGINE_MINOR_VERSION >= 15 - else if (PyDict_Check(value)) - { - if (PyDict_Size(value) == 1) - { - PyObject *py_key = nullptr; - PyObject *py_value = nullptr; - Py_ssize_t pos = 0; - PyDict_Next(value, &pos, &py_key, &py_value); - if (ue_is_pyuobject(py_key) && ue_is_pyuobject(py_value)) - { - PyObject *first_item = nullptr; - PyObject *second_item = nullptr; - - ue_PyUObject *py_obj = (ue_PyUObject *)py_key; - if (py_obj->ue_object->IsA()) - { - UClass *p_class = (UClass *)py_obj->ue_object; - if (p_class->IsChildOf()) - { - first_item = py_key; - } - else - { - first_item = (PyObject *)ue_get_python_uobject(UObjectProperty::StaticClass()); - } - } - else if (py_obj->ue_object->IsA()) - { - first_item = (PyObject *)ue_get_python_uobject(UStructProperty::StaticClass()); - } - - ue_PyUObject *py_obj2 = (ue_PyUObject *)py_value; - if (py_obj2->ue_object->IsA()) - { - UClass *p_class = (UClass *)py_obj2->ue_object; - if (p_class->IsChildOf()) - { - second_item = py_value; - } - else - { - second_item = (PyObject *)ue_get_python_uobject(UObjectProperty::StaticClass()); - } - } - else if (py_obj2->ue_object->IsA()) - { - second_item = (PyObject *)ue_get_python_uobject(UStructProperty::StaticClass()); - } - - if (!py_ue_add_property(self, Py_BuildValue("([OO]sOO)", first_item, second_item, class_key, py_key, py_value))) - { - unreal_engine_py_log_error(); - return -1; - } - prop_added = true; - } - } - } -#endif - // function ? - else if (PyCallable_Check(value) && class_key[0] >= 'A' && class_key[0] <= 'Z') - { - uint32 func_flags = FUNC_Native | FUNC_BlueprintCallable | FUNC_Public; - PyObject *is_event = PyObject_GetAttrString(value, (char *)"event"); - if (is_event && PyObject_IsTrue(is_event)) - { - func_flags |= FUNC_Event | FUNC_BlueprintEvent; - } - else if (!is_event) - PyErr_Clear(); - - PyObject *is_multicast = PyObject_GetAttrString(value, (char *)"multicast"); - if (is_multicast && PyObject_IsTrue(is_multicast)) - { - func_flags |= FUNC_NetMulticast; - } - else if (!is_multicast) - PyErr_Clear(); - PyObject *is_server = PyObject_GetAttrString(value, (char *)"server"); - if (is_server && PyObject_IsTrue(is_server)) - { - func_flags |= FUNC_NetServer; - } - else if (!is_server) - PyErr_Clear(); - PyObject *is_client = PyObject_GetAttrString(value, (char *)"client"); - if (is_client && PyObject_IsTrue(is_client)) - { - func_flags |= FUNC_NetClient; - } - else if (!is_client) - PyErr_Clear(); - PyObject *is_reliable = PyObject_GetAttrString(value, (char *)"reliable"); - if (is_reliable && PyObject_IsTrue(is_reliable)) - { - func_flags |= FUNC_NetReliable; - } - else if (!is_reliable) - PyErr_Clear(); - - - PyObject *is_pure = PyObject_GetAttrString(value, (char *)"pure"); - if (is_pure && PyObject_IsTrue(is_pure)) - { - func_flags |= FUNC_BlueprintPure; - } - else if (!is_pure) - PyErr_Clear(); - PyObject *is_static = PyObject_GetAttrString(value, (char *)"static"); - if (is_static && PyObject_IsTrue(is_static)) - { - func_flags |= FUNC_Static; - } - else if (!is_static) - PyErr_Clear(); - PyObject *override_name = PyObject_GetAttrString(value, (char *)"override"); - if (override_name && PyUnicodeOrString_Check(override_name)) - { - class_key = PyUnicode_AsUTF8(override_name); - } - else if (override_name && PyUnicodeOrString_Check(override_name)) - { - class_key = PyUnicode_AsUTF8(override_name); - } - else if (!override_name) - PyErr_Clear(); - if (!unreal_engine_add_function(new_class, class_key, value, func_flags)) - { - UE_LOG(LogPython, Error, TEXT("unable to add function %s"), UTF8_TO_TCHAR(class_key)); - return -1; - } - prop_added = true; - } - - - if (!prop_added) - { - UE_LOG(LogPython, Warning, TEXT("Adding %s as attr"), UTF8_TO_TCHAR(class_key)); - PyObject_SetAttr((PyObject *)self, key, value); - } - } - - if (PyDict_Size(py_additional_properties) > 0) - { - PyObject_SetAttrString((PyObject *)self, (char*)"__additional_uproperties__", py_additional_properties); - } - - UPythonClass *new_u_py_class = (UPythonClass *)new_class; - // TODO: check if we can use this to decref the ue_PyUbject mapped to the class - new_u_py_class->py_uobject = self; - new_u_py_class->ClassConstructor = [](const FObjectInitializer &ObjectInitializer) - { - FScopePythonGIL gil; - UClass *u_class = ue_py_class_constructor_placeholder ? ue_py_class_constructor_placeholder : ObjectInitializer.GetClass(); - ue_py_class_constructor_placeholder = nullptr; - - UEPyClassConstructor(u_class->GetSuperClass(), ObjectInitializer); - - if (UPythonClass *u_py_class_casted = Cast(u_class)) - { - ue_PyUObject *new_self = ue_get_python_uobject(ObjectInitializer.GetObj()); - if (!new_self) - { - unreal_engine_py_log_error(); - return; - } - - // fill __dict__ from class - if (u_py_class_casted->py_uobject && u_py_class_casted->py_uobject->py_dict) - { - PyObject *found_additional_props = PyDict_GetItemString(u_py_class_casted->py_uobject->py_dict, (char *)"__additional_uproperties__"); - // manage UProperties (and automatically maps multicast properties) - if (found_additional_props) - { - PyObject *keys = PyDict_Keys(found_additional_props); - Py_ssize_t items_len = PyList_Size(keys); - for (Py_ssize_t i = 0; i < items_len; i++) - { - PyObject *mc_key = PyList_GetItem(keys, i); - PyObject *mc_value = PyDict_GetItem(found_additional_props, mc_key); - - char *mc_name = PyUnicode_AsUTF8(mc_key); - UProperty *u_property = ObjectInitializer.GetObj()->GetClass()->FindPropertyByName(FName(UTF8_TO_TCHAR(mc_name))); - if (u_property) - { - if (auto casted_prop = Cast(u_property)) - { - FMulticastScriptDelegate multiscript_delegate = casted_prop->GetPropertyValue_InContainer(ObjectInitializer.GetObj()); - - FScriptDelegate script_delegate; - UPythonDelegate *py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewDelegate(ObjectInitializer.GetObj(), mc_value, casted_prop->SignatureFunction); - // fake UFUNCTION for bypassing checks - script_delegate.BindUFunction(py_delegate, FName("PyFakeCallable")); - - // add the new delegate - multiscript_delegate.Add(script_delegate); - - // re-assign multicast delegate - casted_prop->SetPropertyValue_InContainer(ObjectInitializer.GetObj(), multiscript_delegate); - } - else - { - PyObject_SetAttr((PyObject *)new_self, mc_key, mc_value); - } - } - - } - Py_DECREF(keys); - } - else - { - PyErr_Clear(); - } - PyObject *keys = PyDict_Keys(u_py_class_casted->py_uobject->py_dict); - Py_ssize_t keys_len = PyList_Size(keys); - for (Py_ssize_t i = 0; i < keys_len; i++) - { - PyObject *key = PyList_GetItem(keys, i); - PyObject *value = PyDict_GetItem(u_py_class_casted->py_uobject->py_dict, key); - if (PyUnicode_Check(key)) - { - char *key_name = PyUnicode_AsUTF8(key); - if (!strcmp(key_name, (char *)"__additional_uproperties__")) - continue; - } - // special case to bound function to method - if (PyFunction_Check(value)) - { - PyObject *bound_function = PyObject_CallMethod(value, (char*)"__get__", (char*)"O", (PyObject *)new_self); - if (bound_function) - { - PyObject_SetAttr((PyObject *)new_self, key, bound_function); - Py_DECREF(bound_function); - } - else - { - unreal_engine_py_log_error(); - } - } - else - { - PyObject_SetAttr((PyObject *)new_self, key, value); - } - } - Py_DECREF(keys); - } - // call __init__ - u_py_class_casted->CallPyConstructor(new_self); - } - }; - - - - if (self->py_dict) - { - ue_PyUObject *new_default_self = ue_get_python_uobject(new_u_py_class->ClassDefaultObject); - - if (!new_default_self) - { - unreal_engine_py_log_error(); - UE_LOG(LogPython, Error, TEXT("unable to set dict on new ClassDefaultObject")); - return -1; - } - PyObject *keys = PyDict_Keys(self->py_dict); - - Py_ssize_t keys_len = PyList_Size(keys); - for (Py_ssize_t i = 0; i < keys_len; i++) - { - PyObject *key = PyList_GetItem(keys, i); - PyObject *value = PyDict_GetItem(self->py_dict, key); - // special case to bound function to method - if (PyFunction_Check(value)) - { - PyObject *bound_function = PyObject_CallMethod(value, (char*)"__get__", (char*)"O", (PyObject *)new_default_self); - if (bound_function) - { - PyObject_SetAttr((PyObject *)new_default_self, key, bound_function); - Py_DECREF(bound_function); - } - else - { - unreal_engine_py_log_error(); - } - } - else - { - PyObject_SetAttr((PyObject *)new_default_self, key, value); - } - } - Py_DECREF(keys); - } - - // add default uproperties values - if (py_additional_properties) - { - ue_PyUObject *new_default_self = ue_get_python_uobject(new_u_py_class->ClassDefaultObject); - if (!new_default_self) - { - unreal_engine_py_log_error(); - UE_LOG(LogPython, Error, TEXT("unable to set properties on new ClassDefaultObject")); - return -1; - } - PyObject *keys = PyDict_Keys(py_additional_properties); - Py_ssize_t keys_len = PyList_Size(keys); - for (Py_ssize_t i = 0; i < keys_len; i++) - { - PyObject *key = PyList_GetItem(keys, i); - PyObject *value = PyDict_GetItem(py_additional_properties, key); - - PyObject_SetAttr((PyObject *)new_default_self, key, value); - } - Py_DECREF(keys); - } - - // add custom constructor (__init__) - PyObject *py_init = PyDict_GetItemString(class_attributes, (char *)"__init__"); - if (py_init && PyCallable_Check(py_init)) - { - // fake initializer - FObjectInitializer initializer(new_u_py_class->ClassDefaultObject, nullptr, false, true); - new_u_py_class->SetPyConstructor(py_init); - ue_PyUObject *new_default_self = ue_get_python_uobject(new_u_py_class->ClassDefaultObject); - - if (!new_default_self) - { - unreal_engine_py_log_error(); - UE_LOG(LogPython, Error, TEXT("unable to call __init__ on new ClassDefaultObject")); - return -1; - } - - new_u_py_class->CallPyConstructor(new_default_self); - } - - } - - return 0; -} +int unreal_engine_py_init(ue_PyUObject *, PyObject *, PyObject *); void unreal_engine_init_py_module() { @@ -1870,6 +1395,7 @@ void unreal_engine_init_py_module() PyObject *new_unreal_engine_module = PyImport_AddModule("unreal_engine"); #else PyObject *new_unreal_engine_module = Py_InitModule3("unreal_engine", NULL, unreal_engine_py_doc); +#endif ue_PyUObjectType.tp_new = PyType_GenericNew; ue_PyUObjectType.tp_init = (initproc)unreal_engine_py_init; ue_PyUObjectType.tp_dictoffset = offsetof(ue_PyUObject, py_dict); @@ -1879,7 +1405,7 @@ void unreal_engine_init_py_module() Py_INCREF(&ue_PyUObjectType); PyModule_AddObject(new_unreal_engine_module, "UObject", (PyObject *)&ue_PyUObjectType); -#endif + PyObject *unreal_engine_dict = PyModule_GetDict(new_unreal_engine_module); PyMethodDef *unreal_engine_function; @@ -3614,24 +3140,16 @@ bool do_ue_py_check_childstruct(PyObject *py_obj, UScriptStruct* parent_u_struct return ue_py_struct->u_struct->IsChildOf(parent_u_struct); } + + #if PY_MAJOR_VERSION >= 3 static PyObject *init_unreal_engine() { - ue_PyUObjectType.tp_new = PyType_GenericNew; - ue_PyUObjectType.tp_init = (initproc)unreal_engine_py_init; - ue_PyUObjectType.tp_dictoffset = offsetof(ue_PyUObject, py_dict); - - if (PyType_Ready(&ue_PyUObjectType) < 0) - return nullptr; - PyObject *new_unreal_engine_module = PyModule_Create(&unreal_engine_module); if (!new_unreal_engine_module) return nullptr; - Py_INCREF(&ue_PyUObjectType); - PyModule_AddObject(new_unreal_engine_module, "UObject", (PyObject *)&ue_PyUObjectType); - return new_unreal_engine_module; } #endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UEPySubclassing.cpp b/Source/UnrealEnginePython/Private/UEPySubclassing.cpp new file mode 100644 index 000000000..a7e7f19ab --- /dev/null +++ b/Source/UnrealEnginePython/Private/UEPySubclassing.cpp @@ -0,0 +1,484 @@ +#include "UnrealEnginePythonPrivatePCH.h" + +int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *kwds) +{ + + // is it subclassing ? + if (PyTuple_Size(args) == 3) + { + // TODO make it smarter on error checking + UE_LOG(LogPython, Warning, TEXT("%s"), UTF8_TO_TCHAR(PyUnicode_AsUTF8(PyObject_Str(PyTuple_GetItem(args, 0))))); + UE_LOG(LogPython, Warning, TEXT("%s"), UTF8_TO_TCHAR(PyUnicode_AsUTF8(PyObject_Str(PyTuple_GetItem(args, 1))))); + UE_LOG(LogPython, Warning, TEXT("%s"), UTF8_TO_TCHAR(PyUnicode_AsUTF8(PyObject_Str(PyTuple_GetItem(args, 2))))); + + PyObject *parents = PyTuple_GetItem(args, 1); + ue_PyUObject *parent = (ue_PyUObject *)PyTuple_GetItem(parents, 0); + + PyObject *class_attributes = PyTuple_GetItem(args, 2); + + PyObject *class_name = PyDict_GetItemString(class_attributes, (char *)"__qualname__"); + char *name = PyUnicode_AsUTF8(class_name); + // check if parent is a uclass + UClass *new_class = unreal_engine_new_uclass(name, (UClass *)parent->ue_object); + if (!new_class) + return -1; + + // map the class to the python object + self->ue_object = new_class; + self->py_proxy = nullptr; + self->auto_rooted = 0; + self->py_dict = PyDict_New(); + + FUnrealEnginePythonHouseKeeper::Get()->RegisterPyUObject(new_class, self); + + PyObject *py_additional_properties = PyDict_New(); + + PyObject *class_attributes_keys = PyObject_GetIter(class_attributes); + for (;;) + { + PyObject *key = PyIter_Next(class_attributes_keys); + if (!key) + { + if (PyErr_Occurred()) + return -1; + break; + } + if (!PyUnicodeOrString_Check(key)) + continue; + char *class_key = PyUnicode_AsUTF8(key); + + PyObject *value = PyDict_GetItem(class_attributes, key); + + if (strlen(class_key) > 2 && class_key[0] == '_' && class_key[1] == '_') + { + continue; + } + + bool prop_added = false; + + if (UProperty *u_property = new_class->FindPropertyByName(FName(UTF8_TO_TCHAR(class_key)))) + { + UE_LOG(LogPython, Warning, TEXT("Found UProperty %s"), UTF8_TO_TCHAR(class_key)); + PyDict_SetItem(py_additional_properties, key, value); + prop_added = true; + } + // add simple property + else if (ue_is_pyuobject(value)) + { + ue_PyUObject *py_obj = (ue_PyUObject *)value; + if (py_obj->ue_object->IsA()) + { + UClass *p_class = (UClass *)py_obj->ue_object; + if (p_class->IsChildOf()) + { + if (!py_ue_add_property(self, Py_BuildValue("(Os)", value, class_key))) + { + unreal_engine_py_log_error(); + return -1; + } + prop_added = true; + } + else + { + if (!py_ue_add_property(self, Py_BuildValue("(OsO)", (PyObject *)ue_get_python_uobject(UObjectProperty::StaticClass()), class_key, value))) + { + unreal_engine_py_log_error(); + return -1; + } + prop_added = true; + } + } + else if (py_obj->ue_object->IsA()) + { + if (!py_ue_add_property(self, Py_BuildValue("(OsO)", (PyObject *)ue_get_python_uobject(UStructProperty::StaticClass()), class_key, value))) + { + unreal_engine_py_log_error(); + return -1; + } + prop_added = true; + } + } + + // add array property + else if (PyList_Check(value)) + { + if (PyList_Size(value) == 1) + { + PyObject *first_item = PyList_GetItem(value, 0); + if (ue_is_pyuobject(first_item)) + { + ue_PyUObject *py_obj = (ue_PyUObject *)first_item; + if (py_obj->ue_object->IsA()) + { + UClass *p_class = (UClass *)py_obj->ue_object; + if (p_class->IsChildOf()) + { + if (!py_ue_add_property(self, Py_BuildValue("(Os)", value, class_key))) + { + unreal_engine_py_log_error(); + return -1; + } + prop_added = true; + } + + else + { + if (!py_ue_add_property(self, Py_BuildValue("([O]sO)", (PyObject *)ue_get_python_uobject(UObjectProperty::StaticClass()), class_key, first_item))) + { + unreal_engine_py_log_error(); + return -1; + } + prop_added = true; + } + } + else if (py_obj->ue_object->IsA()) + { + if (!py_ue_add_property(self, Py_BuildValue("([O]sO)", (PyObject *)ue_get_python_uobject(UStructProperty::StaticClass()), class_key, first_item))) + { + unreal_engine_py_log_error(); + return -1; + } + prop_added = true; + } + } + + } + } +#if ENGINE_MINOR_VERSION >= 15 + else if (PyDict_Check(value)) + { + if (PyDict_Size(value) == 1) + { + PyObject *py_key = nullptr; + PyObject *py_value = nullptr; + Py_ssize_t pos = 0; + PyDict_Next(value, &pos, &py_key, &py_value); + if (ue_is_pyuobject(py_key) && ue_is_pyuobject(py_value)) + { + PyObject *first_item = nullptr; + PyObject *second_item = nullptr; + + ue_PyUObject *py_obj = (ue_PyUObject *)py_key; + if (py_obj->ue_object->IsA()) + { + UClass *p_class = (UClass *)py_obj->ue_object; + if (p_class->IsChildOf()) + { + first_item = py_key; + } + else + { + first_item = (PyObject *)ue_get_python_uobject(UObjectProperty::StaticClass()); + } + } + else if (py_obj->ue_object->IsA()) + { + first_item = (PyObject *)ue_get_python_uobject(UStructProperty::StaticClass()); + } + + ue_PyUObject *py_obj2 = (ue_PyUObject *)py_value; + if (py_obj2->ue_object->IsA()) + { + UClass *p_class = (UClass *)py_obj2->ue_object; + if (p_class->IsChildOf()) + { + second_item = py_value; + } + else + { + second_item = (PyObject *)ue_get_python_uobject(UObjectProperty::StaticClass()); + } + } + else if (py_obj2->ue_object->IsA()) + { + second_item = (PyObject *)ue_get_python_uobject(UStructProperty::StaticClass()); + } + + if (!py_ue_add_property(self, Py_BuildValue("([OO]sOO)", first_item, second_item, class_key, py_key, py_value))) + { + unreal_engine_py_log_error(); + return -1; + } + prop_added = true; + } + } + } +#endif + // function ? + else if (PyCallable_Check(value) && class_key[0] >= 'A' && class_key[0] <= 'Z') + { + uint32 func_flags = FUNC_Native | FUNC_BlueprintCallable | FUNC_Public; + PyObject *is_event = PyObject_GetAttrString(value, (char *)"event"); + if (is_event && PyObject_IsTrue(is_event)) + { + func_flags |= FUNC_Event | FUNC_BlueprintEvent; + } + else if (!is_event) + PyErr_Clear(); + + PyObject *is_multicast = PyObject_GetAttrString(value, (char *)"multicast"); + if (is_multicast && PyObject_IsTrue(is_multicast)) + { + func_flags |= FUNC_NetMulticast; + } + else if (!is_multicast) + PyErr_Clear(); + PyObject *is_server = PyObject_GetAttrString(value, (char *)"server"); + if (is_server && PyObject_IsTrue(is_server)) + { + func_flags |= FUNC_NetServer; + } + else if (!is_server) + PyErr_Clear(); + PyObject *is_client = PyObject_GetAttrString(value, (char *)"client"); + if (is_client && PyObject_IsTrue(is_client)) + { + func_flags |= FUNC_NetClient; + } + else if (!is_client) + PyErr_Clear(); + PyObject *is_reliable = PyObject_GetAttrString(value, (char *)"reliable"); + if (is_reliable && PyObject_IsTrue(is_reliable)) + { + func_flags |= FUNC_NetReliable; + } + else if (!is_reliable) + PyErr_Clear(); + + + PyObject *is_pure = PyObject_GetAttrString(value, (char *)"pure"); + if (is_pure && PyObject_IsTrue(is_pure)) + { + func_flags |= FUNC_BlueprintPure; + } + else if (!is_pure) + PyErr_Clear(); + PyObject *is_static = PyObject_GetAttrString(value, (char *)"static"); + if (is_static && PyObject_IsTrue(is_static)) + { + func_flags |= FUNC_Static; + } + else if (!is_static) + PyErr_Clear(); + PyObject *override_name = PyObject_GetAttrString(value, (char *)"override"); + if (override_name && PyUnicodeOrString_Check(override_name)) + { + class_key = PyUnicode_AsUTF8(override_name); + } + else if (override_name && PyUnicodeOrString_Check(override_name)) + { + class_key = PyUnicode_AsUTF8(override_name); + } + else if (!override_name) + PyErr_Clear(); + if (!unreal_engine_add_function(new_class, class_key, value, func_flags)) + { + UE_LOG(LogPython, Error, TEXT("unable to add function %s"), UTF8_TO_TCHAR(class_key)); + return -1; + } + prop_added = true; + } + + + if (!prop_added) + { + UE_LOG(LogPython, Warning, TEXT("Adding %s as attr"), UTF8_TO_TCHAR(class_key)); + PyObject_SetAttr((PyObject *)self, key, value); + } + } + + if (PyDict_Size(py_additional_properties) > 0) + { + PyObject_SetAttrString((PyObject *)self, (char*)"__additional_uproperties__", py_additional_properties); + } + + UPythonClass *new_u_py_class = (UPythonClass *)new_class; + // TODO: check if we can use this to decref the ue_PyUbject mapped to the class + new_u_py_class->py_uobject = self; + new_u_py_class->ClassConstructor = [](const FObjectInitializer &ObjectInitializer) + { + FScopePythonGIL gil; + UClass *u_class = ue_py_class_constructor_placeholder ? ue_py_class_constructor_placeholder : ObjectInitializer.GetClass(); + ue_py_class_constructor_placeholder = nullptr; + + UEPyClassConstructor(u_class->GetSuperClass(), ObjectInitializer); + + if (UPythonClass *u_py_class_casted = Cast(u_class)) + { + ue_PyUObject *new_self = ue_get_python_uobject(ObjectInitializer.GetObj()); + if (!new_self) + { + unreal_engine_py_log_error(); + return; + } + + // fill __dict__ from class + if (u_py_class_casted->py_uobject && u_py_class_casted->py_uobject->py_dict) + { + PyObject *found_additional_props = PyDict_GetItemString(u_py_class_casted->py_uobject->py_dict, (char *)"__additional_uproperties__"); + // manage UProperties (and automatically maps multicast properties) + if (found_additional_props) + { + PyObject *keys = PyDict_Keys(found_additional_props); + Py_ssize_t items_len = PyList_Size(keys); + for (Py_ssize_t i = 0; i < items_len; i++) + { + PyObject *mc_key = PyList_GetItem(keys, i); + PyObject *mc_value = PyDict_GetItem(found_additional_props, mc_key); + + char *mc_name = PyUnicode_AsUTF8(mc_key); + UProperty *u_property = ObjectInitializer.GetObj()->GetClass()->FindPropertyByName(FName(UTF8_TO_TCHAR(mc_name))); + if (u_property) + { + if (auto casted_prop = Cast(u_property)) + { + FMulticastScriptDelegate multiscript_delegate = casted_prop->GetPropertyValue_InContainer(ObjectInitializer.GetObj()); + + FScriptDelegate script_delegate; + UPythonDelegate *py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewDelegate(ObjectInitializer.GetObj(), mc_value, casted_prop->SignatureFunction); + // fake UFUNCTION for bypassing checks + script_delegate.BindUFunction(py_delegate, FName("PyFakeCallable")); + + // add the new delegate + multiscript_delegate.Add(script_delegate); + + // re-assign multicast delegate + casted_prop->SetPropertyValue_InContainer(ObjectInitializer.GetObj(), multiscript_delegate); + } + else + { + PyObject_SetAttr((PyObject *)new_self, mc_key, mc_value); + } + } + + } + Py_DECREF(keys); + } + else + { + PyErr_Clear(); + } + PyObject *keys = PyDict_Keys(u_py_class_casted->py_uobject->py_dict); + Py_ssize_t keys_len = PyList_Size(keys); + for (Py_ssize_t i = 0; i < keys_len; i++) + { + PyObject *key = PyList_GetItem(keys, i); + PyObject *value = PyDict_GetItem(u_py_class_casted->py_uobject->py_dict, key); + if (PyUnicode_Check(key)) + { + char *key_name = PyUnicode_AsUTF8(key); + if (!strcmp(key_name, (char *)"__additional_uproperties__")) + continue; + } + // special case to bound function to method + if (PyFunction_Check(value)) + { + PyObject *bound_function = PyObject_CallMethod(value, (char*)"__get__", (char*)"O", (PyObject *)new_self); + if (bound_function) + { + PyObject_SetAttr((PyObject *)new_self, key, bound_function); + Py_DECREF(bound_function); + } + else + { + unreal_engine_py_log_error(); + } + } + else + { + PyObject_SetAttr((PyObject *)new_self, key, value); + } + } + Py_DECREF(keys); + } + // call __init__ + u_py_class_casted->CallPyConstructor(new_self); + } + }; + + + + if (self->py_dict) + { + ue_PyUObject *new_default_self = ue_get_python_uobject(new_u_py_class->ClassDefaultObject); + + if (!new_default_self) + { + unreal_engine_py_log_error(); + UE_LOG(LogPython, Error, TEXT("unable to set dict on new ClassDefaultObject")); + return -1; + } + PyObject *keys = PyDict_Keys(self->py_dict); + + Py_ssize_t keys_len = PyList_Size(keys); + for (Py_ssize_t i = 0; i < keys_len; i++) + { + PyObject *key = PyList_GetItem(keys, i); + PyObject *value = PyDict_GetItem(self->py_dict, key); + // special case to bound function to method + if (PyFunction_Check(value)) + { + PyObject *bound_function = PyObject_CallMethod(value, (char*)"__get__", (char*)"O", (PyObject *)new_default_self); + if (bound_function) + { + PyObject_SetAttr((PyObject *)new_default_self, key, bound_function); + Py_DECREF(bound_function); + } + else + { + unreal_engine_py_log_error(); + } + } + else + { + PyObject_SetAttr((PyObject *)new_default_self, key, value); + } + } + Py_DECREF(keys); + } + + // add default uproperties values + if (py_additional_properties) + { + ue_PyUObject *new_default_self = ue_get_python_uobject(new_u_py_class->ClassDefaultObject); + if (!new_default_self) + { + unreal_engine_py_log_error(); + UE_LOG(LogPython, Error, TEXT("unable to set properties on new ClassDefaultObject")); + return -1; + } + PyObject *keys = PyDict_Keys(py_additional_properties); + Py_ssize_t keys_len = PyList_Size(keys); + for (Py_ssize_t i = 0; i < keys_len; i++) + { + PyObject *key = PyList_GetItem(keys, i); + PyObject *value = PyDict_GetItem(py_additional_properties, key); + + PyObject_SetAttr((PyObject *)new_default_self, key, value); + } + Py_DECREF(keys); + } + + // add custom constructor (__init__) + PyObject *py_init = PyDict_GetItemString(class_attributes, (char *)"__init__"); + if (py_init && PyCallable_Check(py_init)) + { + // fake initializer + FObjectInitializer initializer(new_u_py_class->ClassDefaultObject, nullptr, false, true); + new_u_py_class->SetPyConstructor(py_init); + ue_PyUObject *new_default_self = ue_get_python_uobject(new_u_py_class->ClassDefaultObject); + + if (!new_default_self) + { + unreal_engine_py_log_error(); + UE_LOG(LogPython, Error, TEXT("unable to call __init__ on new ClassDefaultObject")); + return -1; + } + + new_u_py_class->CallPyConstructor(new_default_self); + } + + } + + return 0; +} \ No newline at end of file From 8382bc465e9e8f76fb35c416336b20e72ffa50d8 Mon Sep 17 00:00:00 2001 From: getnamo Date: Mon, 5 Mar 2018 11:36:23 +0000 Subject: [PATCH 083/538] reload site packages after installing pip --- Content/Scripts/upystartup.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Content/Scripts/upystartup.py b/Content/Scripts/upystartup.py index 2f6b9c73a..3fc731185 100644 --- a/Content/Scripts/upystartup.py +++ b/Content/Scripts/upystartup.py @@ -5,6 +5,8 @@ import os from os import listdir from os import path as ospath +import imp +import site from upypip import pip @@ -60,7 +62,7 @@ def checkPipDirectory(): else: #site path doesn't even exist - print("Lib/site-packages misssing, re-installing pip.") + print("Lib/site-packages missing, re-installing pip.") #install pip print(cmd.PythonHomePath() + '/get-pip.py') @@ -74,6 +76,9 @@ def checkPipDirectory(): configFile.write(json.dumps(configs)) configFile.truncate() + #reload site + imp.reload(site) + #done print('upystartup::updated pip.exe location in <' + configPath + '>') From 5171cfbc0a435ba9dc05be56a7b0bfb09be35188 Mon Sep 17 00:00:00 2001 From: getnamo Date: Mon, 5 Mar 2018 13:55:41 +0000 Subject: [PATCH 084/538] fix path issue normalize paths --- Content/Scripts/upycmd.py | 39 +++++++++++++++++++-------- Content/Scripts/upymodule_importer.py | 5 ++++ Content/Scripts/upystartup.py | 6 ++++- 3 files changed, 38 insertions(+), 12 deletions(-) diff --git a/Content/Scripts/upycmd.py b/Content/Scripts/upycmd.py index 4f4aab531..f32e4fa28 100644 --- a/Content/Scripts/upycmd.py +++ b/Content/Scripts/upycmd.py @@ -7,31 +7,48 @@ import _thread as thread #ue.log(sys.path) +_problemPaths = [''] + +def NormalizePaths(): + problemPaths = _problemPaths + + #replace '/' to '\\' + for i in range(len(sys.path)): + currentPath = sys.path[i] + sys.path[i] = currentPath.replace('/','\\') + + #find additional problem paths such as engine bin + currentPath = sys.path[i] + if('Engine' in currentPath and 'Epic Games' in currentPath): + _problemPaths.append(currentPath) + + #cleanup + for path in problemPaths: + if path in sys.path: + sys.path.remove(path) #define some convenience paths def PythonHomePath(): for path in sys.path: - if ('UnrealEnginePython' in path and - path.endswith('Binaries/Win64')): + normalizedPath = path.replace('/','\\') + if ('UnrealEnginePython' in normalizedPath and + normalizedPath.endswith('Binaries\\Win64')): return path #return sys.path[1] return "not found" def PythonHomeScriptsPath(): - home = PythonHomePath() - return home + "/Scripts" + return PythonHomePath() + "/Scripts" def PythonPluginScriptPath(): - tempPath = "not found" - for path in sys.path: - if ('UnrealEnginePython' in path and - path.endswith('Content/Scripts')): - tempPath = path - break + normalizedPath = path.replace('/','\\') + if ('UnrealEnginePython' in normalizedPath and + normalizedPath.endswith('Content\\Scripts')): + return path - return tempPath + return "not found" def PythonProjectScriptPath(): relativePath = PythonPluginScriptPath() + "/../../../../Content/Scripts"; diff --git a/Content/Scripts/upymodule_importer.py b/Content/Scripts/upymodule_importer.py index 716809c8f..4346d3270 100644 --- a/Content/Scripts/upymodule_importer.py +++ b/Content/Scripts/upymodule_importer.py @@ -10,10 +10,15 @@ import json import upypip +import upycmd +import imp +import site pip = upypip.pip #parse upymodule.json from path and install dependencies if missing def parseJson(packagePath): + #we may have added paths, normalize them + imp.reload(site) try: with open(packagePath) as data_file: diff --git a/Content/Scripts/upystartup.py b/Content/Scripts/upystartup.py index 3fc731185..e3ff54aca 100644 --- a/Content/Scripts/upystartup.py +++ b/Content/Scripts/upystartup.py @@ -76,7 +76,7 @@ def checkPipDirectory(): configFile.write(json.dumps(configs)) configFile.truncate() - #reload site + #reload site, this will also normalize paths imp.reload(site) #done @@ -85,6 +85,10 @@ def checkPipDirectory(): else: print('upystartup::pip location is up to date.') + #for all cases ensure we have normalized paths + print('upystartup::system paths normalized.') + cmd.NormalizePaths(); + #add any startup action you wish to perform in python def startup(): #check that our pip directory matches for pip.exe commands From bdfa609a1098549a1e5ebe79420321f63e844c4e Mon Sep 17 00:00:00 2001 From: getnamo Date: Mon, 5 Mar 2018 13:56:11 +0000 Subject: [PATCH 085/538] remove some paths -also downgrade ue_site error to warning --- .../UnrealEnginePython/Private/UnrealEnginePython.cpp | 10 ++++++---- UnrealEnginePython.uplugin | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 37380a9d1..1b5d335ca 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -88,10 +88,11 @@ void FUnrealEnginePythonModule::UESetupPythonInterpreter(bool verbose) { PyObject *py_path = PyDict_GetItemString(py_sys_dict, "path"); - char *zip_path = TCHAR_TO_UTF8(*FPaths::ConvertRelativePathToFull(FPaths::Combine(PROJECT_CONTENT_DIR, FString("ue_python.zip")))); + /*char *zip_path = TCHAR_TO_UTF8(*FPaths::ConvertRelativePathToFull(FPaths::Combine(PROJECT_CONTENT_DIR, FString("ue_python.zip")))); PyObject *py_zip_path = PyUnicode_FromString(zip_path); - PyList_Insert(py_path, 0, py_zip_path); + PyList_Insert(py_path, 0, py_zip_path);*/ + //Project content directory char *scripts_path = TCHAR_TO_UTF8(*FPaths::ConvertRelativePathToFull(FPaths::Combine(PROJECT_CONTENT_DIR, FString("Scripts")))); PyObject *py_scripts_path = PyUnicode_FromString(scripts_path); PyList_Insert(py_path, 0, py_scripts_path); @@ -102,7 +103,7 @@ void FUnrealEnginePythonModule::UESetupPythonInterpreter(bool verbose) { PyObject *py_plugin_scripts_path = PyUnicode_FromString(TCHAR_TO_UTF8(*ScriptsPath)); PyList_Insert(py_path, 0, py_plugin_scripts_path); - /* add the plugin paths - windows only */ + /* add the plugin Binaries and Win64 paths - windows only */ FString PythonHome = FPaths::ConvertRelativePathToFull(FPaths::Combine(PluginRoot, FString("Binaries/Win64"))); char *python_path = TCHAR_TO_UTF8(*PythonHome); char *site_path = TCHAR_TO_UTF8(*FPaths::Combine(FString(PythonHome), FString("Lib/site-packages"))); @@ -284,7 +285,8 @@ void FUnrealEnginePythonModule::StartupModule() } else { // TODO gracefully manage the error - unreal_engine_py_log_error(); + UE_LOG(LogPython, Warning, TEXT("ue_site not found (if you don't use the startup file ignore this warning)")); + //unreal_engine_py_log_error(); } // release the GIL diff --git a/UnrealEnginePython.uplugin b/UnrealEnginePython.uplugin index 391949da3..c1667f976 100644 --- a/UnrealEnginePython.uplugin +++ b/UnrealEnginePython.uplugin @@ -1,7 +1,7 @@ { "FileVersion": 3, "Version": 1, - "VersionName": "1.4.1", + "VersionName": "1.4.2", "FriendlyName": "UnrealEnginePython", "Description": "Embed a Python VM in your project", "Category": "Scripting Languages", From 339802ce4139bbb581a24820d54c6176870f9de8 Mon Sep 17 00:00:00 2001 From: getnamo Date: Mon, 5 Mar 2018 14:09:20 +0000 Subject: [PATCH 086/538] refactor upypip now you should import it like this: import upypip as pip --- Content/Scripts/upymodule_importer.py | 2 +- Content/Scripts/upypip.py | 11 ++++++++++- Content/Scripts/upystartup.py | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Content/Scripts/upymodule_importer.py b/Content/Scripts/upymodule_importer.py index 4346d3270..cdab90883 100644 --- a/Content/Scripts/upymodule_importer.py +++ b/Content/Scripts/upymodule_importer.py @@ -13,7 +13,7 @@ import upycmd import imp import site -pip = upypip.pip +pip = upypip #parse upymodule.json from path and install dependencies if missing def parseJson(packagePath): diff --git a/Content/Scripts/upypip.py b/Content/Scripts/upypip.py index 5dca1de54..320b4fa69 100644 --- a/Content/Scripts/upypip.py +++ b/Content/Scripts/upypip.py @@ -74,4 +74,13 @@ def uninstallAll(self): t = Thread(target=action, args=('freeze','> unins && pip uninstall -y -r unins && del unins',)) t.start() -pip = PipInstall() \ No newline at end of file +#instance forward declarations +_inst = PipInstall() + +list = _inst.list +isInstalled = _inst.isInstalled +install = _inst.install +uninstall = _inst.uninstall +uninstallAll = _inst.uninstallAll +pipModuleAction = _inst.pipModuleAction +listDict = _inst.listDict \ No newline at end of file diff --git a/Content/Scripts/upystartup.py b/Content/Scripts/upystartup.py index e3ff54aca..18ea47144 100644 --- a/Content/Scripts/upystartup.py +++ b/Content/Scripts/upystartup.py @@ -8,7 +8,7 @@ import imp import site -from upypip import pip +import upypip as pip def checkPipDirectory(): #get our python scripts path From e5f58be59569de9872253f793a1c859dfe134eab Mon Sep 17 00:00:00 2001 From: getnamo Date: Tue, 6 Mar 2018 16:18:59 +0000 Subject: [PATCH 087/538] add support for project upymodule.json --- Content/Scripts/upycmd.py | 16 ++++++++-------- Content/Scripts/upymodule_importer.py | 12 +++++++++++- Content/Scripts/upypip.py | 2 ++ Content/Scripts/upystartup.py | 14 +++++++++++++- UnrealEnginePython.uplugin | 2 +- 5 files changed, 35 insertions(+), 11 deletions(-) diff --git a/Content/Scripts/upycmd.py b/Content/Scripts/upycmd.py index f32e4fa28..b9ba41099 100644 --- a/Content/Scripts/upycmd.py +++ b/Content/Scripts/upycmd.py @@ -15,7 +15,7 @@ def NormalizePaths(): #replace '/' to '\\' for i in range(len(sys.path)): currentPath = sys.path[i] - sys.path[i] = currentPath.replace('/','\\') + sys.path[i] = currentPath.replace('\\','/') #find additional problem paths such as engine bin currentPath = sys.path[i] @@ -30,32 +30,32 @@ def NormalizePaths(): #define some convenience paths def PythonHomePath(): for path in sys.path: - normalizedPath = path.replace('/','\\') + normalizedPath = AsAbsPath(path) if ('UnrealEnginePython' in normalizedPath and - normalizedPath.endswith('Binaries\\Win64')): + normalizedPath.endswith('Binaries/Win64')): return path #return sys.path[1] return "not found" def PythonHomeScriptsPath(): - return PythonHomePath() + "/Scripts" + return AsAbsPath(PythonHomePath() + "/Scripts") def PythonPluginScriptPath(): for path in sys.path: - normalizedPath = path.replace('/','\\') + normalizedPath = AsAbsPath(path) if ('UnrealEnginePython' in normalizedPath and - normalizedPath.endswith('Content\\Scripts')): + normalizedPath.endswith('Content/Scripts')): return path return "not found" def PythonProjectScriptPath(): relativePath = PythonPluginScriptPath() + "/../../../../Content/Scripts"; - return os.path.abspath(relativePath); + return AsAbsPath(relativePath); def AsAbsPath(path): - return os.path.abspath(path) + return os.path.abspath(path).replace('\\','/') _PythonHomePath = PythonHomePath() diff --git a/Content/Scripts/upymodule_importer.py b/Content/Scripts/upymodule_importer.py index cdab90883..347b4ac52 100644 --- a/Content/Scripts/upymodule_importer.py +++ b/Content/Scripts/upymodule_importer.py @@ -34,7 +34,10 @@ def parseJson(packagePath): ue.log("upymodule_importer::" + module + " " + version + " installed? " + str(pip.isInstalled(module))) if not pip.isInstalled(module, version): ue.log('upymodule_importer::Dependency not installed, fetching via pip...') - pip.install(module + '==' + version) + if version == 'latest': + pip.install(module) + else: + pip.install(module + '==' + version) dependencyNoun = 'dependencies' if len(pythonModules) == 1: @@ -45,3 +48,10 @@ def parseJson(packagePath): e = sys.exc_info()[0] ue.log('upymodule_importer::upymodule.json error: ' + str(e)) +def containsModuleFile(packagePath): + try: + with open(packagePath) as data_file: + return True + except: + return False + diff --git a/Content/Scripts/upypip.py b/Content/Scripts/upypip.py index 320b4fa69..313aad57b 100644 --- a/Content/Scripts/upypip.py +++ b/Content/Scripts/upypip.py @@ -37,6 +37,8 @@ def isDesiredVersionSufficient(self, desired, current): return LooseVersion(desired) <= LooseVersion(current) def isInstalled(self, module, desiredVersion=None): + if desiredVersion == 'latest': + desiredVersion = None if PipInstall.modules == None: PipInstall.modules = self.listDict(False) if module in PipInstall.modules: diff --git a/Content/Scripts/upystartup.py b/Content/Scripts/upystartup.py index 18ea47144..615c9fccc 100644 --- a/Content/Scripts/upystartup.py +++ b/Content/Scripts/upystartup.py @@ -7,12 +7,13 @@ from os import path as ospath import imp import site +import upymodule_importer as upymod import upypip as pip def checkPipDirectory(): #get our python scripts path - configPath = cmd.PythonPluginScriptPath() + '/upyconfig.json' + configPath = cmd.AsAbsPath(cmd.PythonPluginScriptPath() + '/upyconfig.json') correctPipPath = cmd.PythonHomeScriptsPath() #check that we have a config file, if not make an empty one @@ -89,7 +90,18 @@ def checkPipDirectory(): print('upystartup::system paths normalized.') cmd.NormalizePaths(); +def checkProjectModuleFile(): + path = cmd.PythonProjectScriptPath() + '/upymodule.json' + if upymod.containsModuleFile(path): + upymod.parseJson(path) + print("upystartup::project upymodule.json file parsed.") + else: + print("upystartup::project doesn't use a upymodule.json file.") + #add any startup action you wish to perform in python def startup(): #check that our pip directory matches for pip.exe commands checkPipDirectory() + + #import any project specific modules + checkProjectModuleFile() diff --git a/UnrealEnginePython.uplugin b/UnrealEnginePython.uplugin index c1667f976..59ce1091d 100644 --- a/UnrealEnginePython.uplugin +++ b/UnrealEnginePython.uplugin @@ -1,7 +1,7 @@ { "FileVersion": 3, "Version": 1, - "VersionName": "1.4.2", + "VersionName": "1.4.3", "FriendlyName": "UnrealEnginePython", "Description": "Embed a Python VM in your project", "Category": "Scripting Languages", From b06d66661597b0ea8ba81904c8f9294d6c242dbc Mon Sep 17 00:00:00 2001 From: Steven Shan Date: Thu, 8 Mar 2018 10:04:51 -0500 Subject: [PATCH 088/538] Update Material_API.md --- docs/Material_API.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/Material_API.md b/docs/Material_API.md index ec5909798..c802beca0 100644 --- a/docs/Material_API.md +++ b/docs/Material_API.md @@ -54,9 +54,9 @@ You have two ways to create a instanced material: (new_material is a reference to a previously created/loaded material) ```python -from unreal_engine.classes import MaterialInstancedConstant +from unreal_engine.classes import MaterialInstanceConstant -material_instance = MaterialInstancedConstant() +material_instance = MaterialInstanceConstant() material_instance.set_name('New Funny Material Instance') material_instance.set_material_parent(new_material) material_instance.save_package('/Game/Materials/instanced') From edbfbe404dd6cc8aba6b08360732fda6f7663099 Mon Sep 17 00:00:00 2001 From: getnamo Date: Thu, 8 Mar 2018 20:28:06 +0000 Subject: [PATCH 089/538] add custom pip function --- Content/Scripts/upypip.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Content/Scripts/upypip.py b/Content/Scripts/upypip.py index 313aad57b..389c6bac5 100644 --- a/Content/Scripts/upypip.py +++ b/Content/Scripts/upypip.py @@ -12,8 +12,11 @@ def __init__(self): return None #blocking actions, should be run on off-thread - def pipModuleAction(self, command, args, verbose=True): - return cmd.run('pip ' + command + ' ' + args, cmd.PythonHomeScriptsPath(), verbose) + def pipModuleAction(self, command, args=None, verbose=True): + if args: + return cmd.run('pip ' + command + ' ' + args, cmd.PythonHomeScriptsPath(), verbose) + else: + return cmd.run('pip ' + command, cmd.PythonHomeScriptsPath(), verbose) #use this if you need to work on the resulting list to query current dependencies def listDict(self, verbose=True): @@ -70,6 +73,11 @@ def list(self): t = Thread(target=action) t.start() + def action(self, command): + action = self.pipModuleAction + t = Thread(target=action, args=(command,)) + t.start() + def uninstallAll(self): PipInstall.modules = None #our cache is no longer valid action = self.pipModuleAction @@ -85,4 +93,5 @@ def uninstallAll(self): uninstall = _inst.uninstall uninstallAll = _inst.uninstallAll pipModuleAction = _inst.pipModuleAction -listDict = _inst.listDict \ No newline at end of file +listDict = _inst.listDict +action = _inst.action \ No newline at end of file From 7699c88334686ef80bcf097d78392d37f17aa083 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 10 Mar 2018 12:14:41 +0100 Subject: [PATCH 090/538] fixed Transform keys in sequencer --- Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index 7dd063f76..ed9330355 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -751,9 +751,9 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) section_transform->AddKey(time, ty, (EMovieSceneKeyInterpolation)interpolation); section_transform->AddKey(time, tz, (EMovieSceneKeyInterpolation)interpolation); - FTransformKey rx = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::X, transform.GetRotation().X, unwind); - FTransformKey ry = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::Y, transform.GetRotation().Y, unwind); - FTransformKey rz = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::Z, transform.GetRotation().Z, unwind); + FTransformKey rx = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::X, transform.Rotator().Roll, unwind); + FTransformKey ry = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::Y, transform.Rotator().Pitch, unwind); + FTransformKey rz = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::Z, transform.Rotator().Yaw, unwind); section_transform->AddKey(time, rx, (EMovieSceneKeyInterpolation)interpolation); section_transform->AddKey(time, ry, (EMovieSceneKeyInterpolation)interpolation); section_transform->AddKey(time, rz, (EMovieSceneKeyInterpolation)interpolation); From 45717d1d06f0ee77ff0f76d1248289407f28a6c8 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 13 Mar 2018 15:02:32 +0100 Subject: [PATCH 091/538] Create MaterialExpressionStaticSwitch.md --- examples/MaterialExpressionStaticSwitch.md | 72 ++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 examples/MaterialExpressionStaticSwitch.md diff --git a/examples/MaterialExpressionStaticSwitch.md b/examples/MaterialExpressionStaticSwitch.md new file mode 100644 index 000000000..0969e3242 --- /dev/null +++ b/examples/MaterialExpressionStaticSwitch.md @@ -0,0 +1,72 @@ +```python +import unreal_engine as ue +from unreal_engine.classes import MaterialFactoryNew +from unreal_engine.classes import MaterialExpressionStaticSwitch, MaterialExpressionStaticSwitchParameter, MaterialExpressionVectorParameter +from unreal_engine.structs import ColorMaterialInput, ExpressionInput +import time + +material_factory = MaterialFactoryNew() +material = material_factory.factory_create_new('/Game/Materials/Test' + str(int(time.time()))) + +material.modify() + +static_switch_node = MaterialExpressionStaticSwitch('', material) +static_switch_node.MaterialExpressionEditorX = -200 +static_switch_node.MaterialExpressionEditorY = 50 + +static_switch_parameter_node_true = MaterialExpressionStaticSwitchParameter('', material) +static_switch_parameter_node_true.MaterialExpressionEditorX = -400 +static_switch_parameter_node_true.MaterialExpressionEditorY = 0 +static_switch_parameter_node_true.ParameterName = 'True' + +static_switch_parameter_node_false = MaterialExpressionStaticSwitchParameter('', material) +static_switch_parameter_node_false.MaterialExpressionEditorX = -400 +static_switch_parameter_node_false.MaterialExpressionEditorY = 200 +static_switch_parameter_node_false.ParameterName = 'False' + +static_switch_node.A = ExpressionInput(Expression=static_switch_parameter_node_true) +static_switch_node.B = ExpressionInput(Expression=static_switch_parameter_node_false) + +vector_parameter_one = MaterialExpressionVectorParameter('', material) +vector_parameter_one.MaterialExpressionEditorX = -600 +vector_parameter_one.MaterialExpressionEditorY = -150 +vector_parameter_one.ParameterName = 'One' + +vector_parameter_two = MaterialExpressionVectorParameter('', material) +vector_parameter_two.MaterialExpressionEditorX = -800 +vector_parameter_two.MaterialExpressionEditorY = -50 +vector_parameter_two.ParameterName = 'Two' + +vector_parameter_three = MaterialExpressionVectorParameter('', material) +vector_parameter_three.MaterialExpressionEditorX = -600 +vector_parameter_three.MaterialExpressionEditorY = 150 +vector_parameter_three.ParameterName = 'Three' + +vector_parameter_four = MaterialExpressionVectorParameter('', material) +vector_parameter_four.MaterialExpressionEditorX = -800 +vector_parameter_four.MaterialExpressionEditorY = 250 +vector_parameter_four.ParameterName = 'Four' + + +static_switch_parameter_node_true.A = ExpressionInput(Expression=vector_parameter_one) +static_switch_parameter_node_true.B = ExpressionInput(Expression=vector_parameter_two) + +static_switch_parameter_node_false.A = ExpressionInput(Expression=vector_parameter_three) +static_switch_parameter_node_false.B = ExpressionInput(Expression=vector_parameter_four) + +material.BaseColor = ColorMaterialInput(Expression=static_switch_node) + +material.Expressions = [ + static_switch_node, + static_switch_parameter_node_true, + static_switch_parameter_node_false, + vector_parameter_one, + vector_parameter_two, + vector_parameter_three, + vector_parameter_four + ] + +material.post_edit_change() + +ue.open_editor_for_asset(material) +``` From 63d14478d906e30661d02e9e2526e2647ed038ac Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 13 Mar 2018 15:09:57 +0100 Subject: [PATCH 092/538] added screenshot for material expression static switch example --- examples/MaterialExpressionStaticSwitch.png | Bin 0 -> 216428 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 examples/MaterialExpressionStaticSwitch.png diff --git a/examples/MaterialExpressionStaticSwitch.png b/examples/MaterialExpressionStaticSwitch.png new file mode 100644 index 0000000000000000000000000000000000000000..59ddc5b061c2ecbfdef5d307decf997064862545 GIT binary patch literal 216428 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%0De==~HQio*3}R|VV&;Ko=3MvVUi+{N15r-Mw` z`1s5!+J@8-c8n^xY-m;wbxjSQ!wIblMo7rJ@Rs6SRFpIVQ7 zVj60+Qh`0=b?oe&-8xhtQVPp@KMCM1BlB!PK$iP0>jPI~UQ$RlIX{2hNm=9ZgO!I* zx!XEk-Fh3`$>3{x9kH)`pOE%@23oIRmTp&GxNYqeM9G0e$oKutHB>@BEWQl6zek)f z;nIiyN`N9t2@N$!3KskzMhh!On>MS~Z>g71+3MmVRHtQBs#6k59EI^l#L)x4elWPJ z=!(50JfbJr_hpIhmd$5*lGNy!70HUz#_-kXc!Y#WbVoXc)#P*pHpjz7ra*h=58O;a zh|W95Mpqy1MD+{}t?#zkIxldo&tG zH0oPvvTjlm;&8OSa2`fp%&}Jtlzqq|{Q1at8fDCseDYd-btjp(cybL?8`tRi2kgMQ z&WfiF@-cJ+ywHa(ix}`clCrCdFyA*&d;=3zIeKmrs=jF|M_58ESRv%(dWr-RmzbpZ zC?uKC8j(BoeS~*_9J8-vy(a?5j+Jh8Yrrp{q6te0V)JZ!c6fF0+3qZ|NnG4$fZBFN zB{2e{o>+wy8c8B%?YWfEfrwA ztkv%+%M_*k;(h-a$yeHh){re%Vs5#GCX}BfWU;X%FjV$kRM#-tYVYtIby}|)0Z|Cc zzDAi;;1+wO-Ck747?xfZu{h2tEbb==P0ts0e)2+W=W_0&NvH#P+p76W<E+U zN;dRs9Ia!!By(Ah|J$(|WOWh#)}g)wiQ|;zN}^Tc|C^&Uad4C~14ra>rF#chBD$V# z;MMdmhhq^TEEqS(Rc?O{_$T4vqenE>7c? z>M*%7wz3c(P*nOWaRI@>MS6MhKjuN=~Q~VU?uBD;~i9o z?fbTJEOj)I(r;VTmw`l&L^hEi^v>R^Ne?2XI9%O(Lt&KPGj<R<-xB;DI@4 zAbFyb5#i>84v>pBW_&z1!y5u>wI#4yX(U11Npcw=K-RaegV z_Y`f!#Do_%HWd+Ja-A4QHW<&i9MiN=F@wqX^DS(w-(s3~PLX&*c8KhdH# zJV~P70Z8Ss2F{htR<)tWx_hWCG{bBRgdP@L9u_GNFBe)o-DsZAK8R|-RJp@-e? zQ>yNHo2rMP$~g8UPrcA}#VwuSIkNIeB;{%zwfqEdcz8Isisrk2w_MR+$2P}0Xc>s% zlFN?aa=O0Gc0H~R3J*+6yS<;(pqZ`x>%#J)Lc0TMUGI$N8w<{_Pd%6MrM+_po({Ch zc-|SBo{CC z>D9eyZbHqBQ_;|{2{I(Bz`l6yRl^+kQaN(`MMxT2w8}t-K&AIfOfE2pv>hmDDf$L4 zl`HM)IH^(1XRkHT2*PR@#;lFDW~o^HWoA%LY*a?9iBZ>9`^CPh>plPF;QXN}8g;cV z-UYa6_Rx4=E`-y!)$SFvUqD9Q*|j8mZGG{IYUg5nk{u*M$y2)+%wY1oB7A zV7R+!ZQcLFnoOStb1E0^?LaV8X$Ahj1xXgwnxn1pxo7?qi%Sxm~83E*M zMnTP<(;45R=}K(nwX_gM@LXU&JY2S((qk;SUoKKoQK6KT>w!F%frX+gw@k|k*iho` zD~^_=85uz72Q{ihgU6b-F#3wgQN%|;!dfu;HjyM1m{C9V*rbb^8j|0+bjf|uDl{RF zc_p+bpNzQ<3H5va>^&-&T0@ILRD+7A0^NmW3FM1(hCqy^!s*gA3`fE2I{>1qn0<59 zZ|(h3nO(W^^ap2jU?*-`Cy5ON9c?Jkiz$UdRIhYvn+&rfZZ*FnEia}HsU z%hp!AC0KEQ*79;8gUF{dj))7^(~(=~FD_mrE-k;eFRNPl$=R9VISM^`#T)~U8bFBs z5wT!KOYZH5PqCH=F1%eTT+-8g47I2fr!t{7sk``+#BdhIk2x>~HIshwT2ufC>mFyf z!=_7rEmM z^i;Kw;*AX3h{!{67_*Tq8fAs>@d5oj(aA+2ENMhrP`F88jaq=XL< z)q&C4_j0Hq%8F454fHnXjLY9KjDJ>A%J9CH9b@%ctpCOvlCRSHpw+=l?*oQCU)R|g zy==k-Yh8zE6HJ~psi9y72d6WZ1O;P*%FmvI@QYQ`qdG~vAVNG9v-MJi{le1vD5?6{ z7+!h$JRQOTpbjY!YgfjqqSKYOX$tN+R(N{v&k4uxXFc5DYqi@mhHm`>+9L=uv{m5m zW^K?Oh}$^5S4JKPNxq_B<9{tNATpq6uyM(w{omnMG?-bo5wp1|n~1DzEHCXrX$L891D|gHgTg+GgxgL94hU?v7&VV8E z3XHJqvPF=}<%C2g#v060 zylZG!qB4ZANXVBICoQRlgS#P zgeE<`53Hg1ChMmyJFkEv_Ra+Zr>|>j{+sCJnG$h%ec%8MT?O`@eTi}1TZ<%+dd6{R zNLzRFXLxC;uUsLQIt!%SuWH@fL*S8p*ibP0PxMcD_f_0gJg!mquP~mk_CTeH|MJ*B zB75$A7nQUfw*L|=tYzAd97myWX%5^qNjo<7o}}Vze%u*)B?J_E8QAJUG1nB`?BQkF zn;-BXal4sk(BST-Y(j9+&uFMPfYun|yOSoIr6|ks_pcH~)&5!MR-xjN($+3D5b;56 z4x&>m22q{DZ_wT0;t!W8oGx)cMC%Cp^>NiD`ioDVE}u?G4tfj>jJn5%+mk+ujAMEX z-ka?l6Em}_q*kkZ2+@=&P}0(Kdd!E6>HCY_qQP_4y@Oxf&8YWdVssL65lWnCfE_ZS>(>3$?K!>1pjkI;twi+g8NrGnD!tQDmYDXScSYckiIn@p|zr7f4%H{ft z?gYn#ci)M@^j(0Ldi$n2?^l)=kivm7}) z^WP{-!a{{+rayHi7`6qaf!oRHU{9?kHhs|22XS z6ex6|c*y_0_Z69;w@Z|Q2GAR_6hrxTXYL zhd4YB(K$UWvM+z5#fA)Cw8OweqVZkat#lC+bummHP<<2{tUg60B8t%O2|w{#+-U_I z>~BOO2!#a%yshs~DlV4UCZG|!_7$yoORc8igg5i=`am<|G&BPvK7!In_*IO$GUZ75 z`9JA6a2&ZwJDzl@;MH z#qn=0f7oQP{LJ5z*F%ZS@Xqo%*j|_kP7J1@t9!1hw!DOCe`FzaAd7L-T(e_BL45-n zZ7C(p37D^>e*YW{{O$WK`G$4`O^j>j5bSNQzGm$8(Q(NOa1PgUaFTzl+FxIn=i}v`3{Xpd5!gU!byn;&BHl-Kb z8j)G+cIkTJxf@nE*zpKJbzxMhoUWE9uH-m3Eu>IlaYF z`>8NS@7t)TQDOE|EqQ0XXhUyW#7p!C(1MvNlDaqiAETLUMjm;A1&a8+w_&0eP% zu#kZMn8I6@zavY2Z@Ev;CNLd0n_M1m=q<3zUd?ZvnG|y&}Sxa6^ine@20m47T~BI}_F8q+|L(G2YhpSbuRIjEi;efS;fv>pl}> z-Onls2|og{65tNlan&QQj@RAjgw3r^&=nRZiSO)g=U~FQ58$d~=R|m;j#qhaL4>cD z9W^EAJ-JCj6CV0AoXNc+BKT+a@rTLKX_6+Ikk@p(l`L*`FTzg%Ts7_ATxvZc+R3^* zmM2k+SITeTl7D#K8G=Z(`_K13p5@T6qInt{!z|Oe2%7Q@qi%yE!TSg_lod)TCxg+ z1@RSBBA+Q5qlq@8ms`1j&*bvET`e6eLYYOgdjZ=|zoEuXp=@LG7j7|nm3t~!cQN{v z>7VuY+8kfL?`h*B#^pk)>4+l;P*;KfHG5L;2iuWG@coPE+h21o$M8tLaJO7M-p^OW zs)Fw?5RU`EUzdgNUTHgDQ#s#WZ=al>eljcJVpMX;qv9)SO5Ro@-pfc#A{6=e{m%A{ zA<}m-EmH!F0}1+a6JhaKX#d;)%Cbq4mB+uNZHsf#3<9;-!E7#ZCIDgGkTIb1S*=gJ zozxgyW+igmQ++7a*_*gh_Wt}NY}3W{~W8Qp}1d4CDK#(oYwfaI5# zkN)6aabYu@dpFTvd}*1O(~}Yb$a!%6RTb4Ah>#|4soCHzCU1kahz3Oi(zNsnNkA}k zeyWtXWj*;!_wc1uU)}Ydvt}InC@53IhCAjsfI%8|6QfSw(8Bv(siedQMy>N`Ski_E z3yeIl)@|ihU5j>3Z{}E3;D(TpvOA7NS&vA68fjsr(euO$DtFzT5~>QhSB4MZQMcNf z<2@rX5g}U8I-Q2~jW^J-QK9T%0->mu3R7-VcTJ-$s-(Pq6A}8-{>ZF5dh{*Nl11}= zya0ODc`d<_znvap)2u7rMfK10&jHwax7IQt0fNrh(D`5viMcyQ$C0W~f)Gz>MpvgF zIviZJ82irP9wFV4q&Jj1)Dz!%iD8RLI#8lhyt6M*70;A)E(^7s3&?+Ru@EjqIOx)b zI2dgin8<+U*``Tq81eR0)s&^^F4Fef;JNanc!t=mi{OY0ZQ#X%x~A{b9~YQNg+lPozzs+gV4#WXa=}#`nLp z$iKIYlvW`TMy|t~4GjL*CPlEaA6D1ba{`3CG5PrTUTl91%L=l=mCrZ=Y+y7PFl(&f*K_?*}zI0`tAH`AnvfIa)kfXGbdy*1?yBN;2N?h_spm3%+;?imGcB0|%vdIp6U^^!3kt z!CP6D5~P?t70ZaxI+pc?7QAW^=8n`iNRE`+{AAfA=f3fVy4#`@Yi6f!Rg*f%6WqzT zupo2a2ul43xG02FOy7S(aw2JYk0pmOH|t>Z0)N(3&Z5~r%)!kAXMr%UJTPeOw5Eea z)L=n#cryqil(M#UQ|er$Z}U~Fg(L55B}dh@5~niLH>~MtplX#5h}bI8U1aR7ud54V z%o@| z@*8ml;$JfemlnjA*ZV~xYPaGdGO(g^G$T=dAhk&QLxcM#APvgB7ZbHvPh@c?YvlPz zZPYazul*1sT-1*bpZ0i!0`FdBInb&pQV2rD)399dOSe#5-syu4_M@xQ#T;acLbAh^ ziZXCX%T2uYT@2wdFdekaKS}ZX$;Da*17$5Nfl~7|h6?9$tW0dVqS3e1zI5<(8$bah zecPH6ii}0g3yI_@m$c*9%LtrvFEFfW1Rp;tJ&Uh!3p1w@?%I4$BQ4$u zJwvzP;tT8wdZm&Y`E_;^b<)Dz==21>s9$99!YJ1vp0vCbH$=>_^6X#>u7WwKlnARQ z5aJ7H&*>W~7NO6>+Az?DsEEph_4J7|WXz}q9e~7hg2Bt5g1`3opdv_M%XVW5CH!K}g?ZjQ~JCF!6*RS_$ps zM{X&E)~p-cqv?Ze7#};ad&bTO@I@61Pt{s=5m1%XoJa&Vbn~mWFwPs~XR=P_&Y|M> zh{UgG0NV6_6px^8)Y{Zdr^8$)s{ur7Pt1ds+lesm_7@F}RO|boiZga&`3Icd;=Rr7 zv4LW!1v@%cdy6b-1=LnIBjp8`H$b|0$yL?75j2Knuy*|#QsO}FQZXPZ(siM1a5keW z=8Ef9guq~5lyNz%7M&dYE6dg3Vy5aE{b5&kB#LnI$gCqe)_|^Y*Rj_2WU9J=pxBO4 zwxJN^)d55$HP)A9pRGAvbj@5$&s#v?`8X#?_JeE(1oI8q$QOql_`<=C-XJae!_Ojf z*0l3ZKicV7KT*^K>ky$0y`mjy>t5&Co}UPYw&B|Eo3+W;YIVuJNl=xT&2ccAE$#6P*l1CsfIeI^)+WJ8ev%O zm9`BT%vD`gjj4jwLMm9f5nHG#v42g4O5HAuwl+U|=wq-Bf)`$p#i-r4>e?=QPqsnP zK~4rQxUh#3kLq*o^$gLo?&THL)vc|@y&Jk)Glr-lKocvlS;@fABl8?S=WhNLgL_FT}GjZ3a;TcYf^@N4)&U3iZ^%vs< zE8W)83-r{eA-V|?80~60 zFYXl5_e1Kb!?xg_4^yffQ^6sC5eX+Lo1B5IDG3k$x!Vh05(K{m4bC@j@2G21!^1?N zAYm2~`H(6Y_>LV8PFK_V-82jg2{kF5c+mWn7@vQkf-Nh*5TlIz+BvVA%=9TeEvY1gZI$GD&I1igq zXA-F>ReV(ShI9?)K<=alKJy6eJ;%sLaTZop$lj72}nm_wT*(DCjT; z!c_P>ySG(w@WR^5Yz>$(+M*2NKk0;FfI~&2!K)f-98sO)fyFhtSb1>@f!-u#&sXt< z)~Nro)NR{dP<-8*_(53X`j)}1Qj4OLy=BSzgc#ivvMc2boq^G8=3e3Ssu*8yD}zff z6NPvBq*jgQHZAUA7#fNu__w$_s!o1}VcSJG$e`9lq+0f0iWEy!liFIvOGk+V#1HZG z(T{JQh}Eb?65R%>csgxrNi2Ssrdf~5STLG3aJ9h$EUn2p@Cea*h-GF4$oPS*>)&s( zwYDufEr;FQxcXqX|NiU%+IA{W$_cn^B5_g5iURnhHBvmlmnlE=6}X~R)T#v} zKtRR|_-*|P33IdrWg}fM-IwGMMOWLXL3!dr!;EytsA@&ONp!zh1NMr-7g9kRWIPfv zsPxf^nZ`K!E~qKdKgTP%iIE1@>8nVzD9Y_iLP=dPe5Nd#XZtmTwYn&wW^sfa0Jl}A zhK7o6o1!>+UZW#zsefCa5>G{;3b`_&h+3bl`MRLj01Q_|7XYO2suw2_BBO9Dz1$ zk^~APF9ApUV?h73J9K1$4CLEY5h${NDD4%KBn zab+`8xB~R$?O~l5f)r)jENvlc)L*~TMILXxsE%op|Du5t45Ck~8}9?9)d2vC`#sR$ zH^TLSC~}2MAyo?Mf2)N3M`tK!1v;PN51ttSseNp#js*CHf2AY$6OL#4tN)4A+aYo9 z7ST1dUX2UO5>D&|$!mp;KuVs(9j% zgqG(aVal+Na=)TU8ypXz@fTFi7clbo{$wCWUy`?DiojeRo$PJ+vJVtaQW0;5TIqeS zl^)v*nL-H9`l*(b83R7ywCM_JGt+m;LsKaRz{12{@MROiI!{@u$uHomsTCjC7>@3V zqkxCKeEAZT&kXr@9crWjw5#6MBf$^+F4z{Mxr}qB#2=N5>%-M3V^H^{?j7&ot3u8v z=3X&fQWHc&J5zO!4gi+FVSQ6JFuEdBvQNqoweZMNgoBv#-u*ATw8{nuo~Q$M=Ser7 z)iL)!~_ z^HSQCA9&5XgMy~1q&vT-RpHI^dp zw^Zx@BPRG}hjHGNeQr{e04|Cp@gmp8YYP0Yk~`o^VT#%PT|G65>Pkvz@Hy?_pYkA8!VA3OKRGv&e=vniEf{ZYuR{Bs7)Y=|1PQv={gC&n^{#mz z7SX4}?Nm130iU?^&V4#K$Ce-B)Bh?C>+>}LK)S==7MBCZrGN_(+q|dmhN4?}&EO%3 zAv|XloitQko#PwYBNLa}lP{dikm-C^M85rjOb#v;BP%_oQ>sc#Y7f zPf$BamrpLzhW`C?O)jT8t%KJ?6(bxy=B7e*N;{?-5S|)kum(*|2*y$HC{F&DFd?IZic}PNq;L~ zuT151KzKsP9;YeG$0t=!>i0SpU}ht9JLc#8%MB>w@(Kz)ozmn$xhBF0Ws?~iTW?O@ zm?H80Lhrv$od+J4^qOatYcQ~t{m(ZbxgD~eY&-(Pm5@unm9_CmXAG-s}R5#y2 zF}qEg1K^|hh^xzlLv{^BwF*y3B67~TNstZpgF`i=r5#T?{zzaDH9B5q)i7a2)_ z%0s2FvsetP1(R{rSp*DL;OBYovx-V5NUGd@&0ZLefB?n%@9BYT^1j3`ko!8l!yF4& zM6lLWH@4yF51qqbR{BeKFH|hB`k~eY>dU&4O~C;5@LNmyv#B;Ww6(Md9rtIw0*E}Y zTW_Yyk7rsR;x318CNds;f%)}*uS?x;FS3e?f+Nbw=l%O3ceemx?%LmEV;fEwje@d7 zR*tFLB@RcUUO7kxQZ9X)pVB^Wb0Klyx07EH*E*tRqe%D7O_n1InoY}B1?15FopAI{ zE^pZU-k(ZT(R48gJ}Mw-cLvr}(h;gyElFRln36~Lua~x%3rh`lhBhr)Uooh>0R=pG zPn}Y$x8#Q0t=G-?>4OAUaJ?N-M-$8~F!6+yruH?urB5WZpE=?CpR--FPSe-Ay=_um zQ=|L%aPPdG6;Ssxn;v)E)AM>j`xtnAj2gjvLphwr6#zK6fjKHWdDFmu9&uwTh{F}# z#et>02~+nP0ggtqa`LZeEMi^aI>@y8lY{B>*+F5!oQ%f}+S&PKn@!DnV&aL)YMnr$ zC4$8Ie*FBar~6>N>6Z$YldsBl$7Y1MZ zFOZDRk{ftXz2Yl_He5d)wybHFH$FkS{oo(c+n?={K>fJw1SIA; z9?bgz@ucl32GRnp0munWS37gnQ&Yoj)g8B#@a6E# zP}aJ?>BQ$DBW-UM)zU2O1?9{H-@mxOUO6W#5!FCBDXluDDlM4~R9EvFX4sck(kYqyTGdWSI(IYA2}Go2a3Im< zA*%Ogm5EP?U+&p-V_7RDNmy-GZ*j59pKbVm=)*(_TSUB5;uA=;h4Kp8r>&o=3Q(fkVkhh6HoM($L93ZxpM0Dxz< z#huHt`CJ*uqMOn7Ol!5h0=mnD5ZGi-Ak^Rl$RAui=^^U*{A1CdR3!XZOZ|+R;}>aKXt!MAMz% z7x%Ba{SQn2;*UCfhn_1Q_g1J{lb}E?eLEYcHrxW1JF}n?p`LO)%iSm+|4(Ne$^>wn{g*P>B-qi{bye zD;45A?Fj~lhJ?XjEFiUQpw;ZEmo#Dp2w8zS*Lw2YXCBoEKlj#>AZrsYCmRR9Z9Olw zT7AmO!qPm;6WZ-#;p7aSo>rbzMqiuh+1w_^LD{U290R@f`UU&>`q@|>6`x(V z!4a+e%zDw}R#ROYI(JwF0g5ct7U)Ux{}$O64!5BL5?En#8Q}T@q<7Yk%&>8Re}lgm zqnaAnHd7k7AlT+9cgMWG5>3=%(r_WCnL+OtHVx9OKYN- z27p>b<53IVQ#ALf~64R+g@o*1l4Sos&fdZ=s3rBk}3Te?AM z0ZD-YgaM@)Kw9bU?vA1RcMaU$b)NH__w)V*vuE!s*80|>EIUk@;9_OlC{LHbS}7Om z3DmsZ*3r&>k6iT_x!gprQr}Jx{KHVO3jy#D@Fw{yvng-g+47Es5{y+1@p|U=ia0g? zUv0u4FY{w^nqAW_&?6NI^qc*MMj<9}uD=nA?j9{2KHHMZO_(qQJ1(yEer>iG{s@E4 zXPfpnfp{sV9Rsb*(9r8InVD%tOuaAo5PNvmgzJv<#2p6Cr-V9KI_laHeRp@%A4aKc%hx`J;{7)v zkBl8gCPL1k`%}7`*sG{5Wih(q{lb3$%>X^$(ostm9MdqBAt@R zDif;L1y;C{Bm=0rO+YVysgk>D9sq!*IC?~(#R0R|N7NIkWOuOYUYCqngq)@fcJyhg z$W7LwV?H!Cmr&U3WinXtUd*W`Lj{I_Ba z<-lxOEAor^1?Y5Vq0qPb`h-!u|L0pNxjwo~=)(&|ReeDm^EZg)ceMr@oKG)-c=+-* z1bwqC9aNK-RSff2z`cW8sBeJ+tZ(Al@yz5P`33j+DS^oQu50TLX(59cp}fVWoebx` z+*RVtL4!RUUH&JVHCh*yUy5!bU|IBm^8E_a?SWCt=|JkFsn#VnVWL%&Q82tu`wXs9 z)3C>(Zh7w+Szmr&kF>xEPDX+*cT@LjvX=9q@k(s@RH_^?H#+6&|}YwiOA=UMOUe-@bjMx2AFWJPw6;U=IT zh8^J1|ED7M->(J038abX&8_m((6I)1kdKnK6@^9FHZtF1?5cO7J+qAjTEeoHn46E- z9=|2|O78#!Gbz?>805SmTBmRV^{4V=3Yev%7B%RBzXE3^=ec zFCZ|mwmV(ysQJcHuHVJx#TozH+*}Av_yWbKETY@^uUK#QdB08`DiCSnz0~Yh!WeSL z`nS#k;4hbMrr(DifAD1(zKYfhz=h~BHar<=1^MX_Su>YLPxeWF$A)KQ0*6R}2x5WnoM*N0ISKAqA zD;0si=95ic*+#|cApyp+U2jW^#58vkg3x~8^yvR@7dw|Bt{UoOF1H?(!O(|HnEv-3 zmc@40pGb{IQ2zwAAGsw-1(-;}5HbmT+5+2Zn&c;12$cje6j0k;q4@xmV37$~`}e9T z{=CQwWrcg{3o`*F-;ou_j&orI3-lS=ALvCByhW*#PLMu%Z*R}>Y;W)=W#iVZTY3Y} zL`#wpu9baY)}s5nD*}N9Kg{WK%9~`m6-b-MgY^K;qyluZ$V-iXT%!13*W43c^Acu!A*e`tl7!%=jCDpA4)!@HBr( z&o55~_Fr_zdG_DZvNbic)606%{?%r*xB^M-ALg>F?hA<3K>Int<@^Ok6nu%x5mP}~ z=MBHXgT$q!8$mtR`sfv)dTUweuV7m6)W8n%H%r^)MtTfYk`++|+xMokf!uohKOH>( z+pi{FuCHjg#MKY?w$dTT0$N)y5Jo8>DY@M(Mm`O4yY82swp{L?mq1AmK*4{q+ixRb zlwu-X&Hx-#q7k`cZ1{h_XK+2Zm%D_KL8BEk@9WWdBp1&B)C575=w-tw!Qg}~L};=j zfWmxR4NhplZzBA8|KpQ?&s&T>E*5|*>CFMvM4Hn-@9G8M`}-T-I}nDrpA|IA#ho&M zKLY$@88Ao9Dzwr8m<=h}{g@_=v-zV|2t{5~KFokFCU7?7pFqhK zR?KMM@z=8@7Q%XBk|iHNjgHhTt9&FW5W!t?UU zoDbg}*f#Hzj#?kL8HZSqh=>^68W|Za@VIbK*s=$&{{ZWUeU zM*SZjtt^nNn!A#_yo~bY{KAHxNHBrU^0y4syJ!tDd1_W5WxlU}@B!5`B-77>VRQvw zU@YywX`}VBOI}F!+w>xM&QD=*+9wZD9VXpM&kyE}_^Ing)=zCgK#a-=+$MVt&wA4B zU^?96l!}Fg<t|BCTp?$|7E#IP^}BV0`S~%C2lowktUi zVq2^u9$w}%pKo`!JRo=U&b^M1!40@`-O69g&w6U=y3#9U-C>DsQ=fk~E&NDM#cp9_ z3{dr^Se5zv@NAx| zT^->7jt737e_IQ*h#y+BiE3i4{EJ=yTN&{u5$v3jvWiaNcmy-NWwe=?$9`i9iWf0g zagtPtg@^O#U$D#{h3GK5SU8OnUhF-8P!Po5p~F^b0B(Kq4n#tFB9{ZQ=L65zixn6c ztt3qiIG(kh>aL-K7~FX_EFZKfo#tm2yzs*4c8wc|7TNTAiV!u>H|r(@CBXoA0Z8)} zs8b!jWM#GP+mL|U;6MH`z@E{oxM*R46<8N!pZ1SBCxfp~j!(W?;S*v@7tgkRRI%T; z2aOfLnG&JR&4d1}x#pv#({tI8>Y5_WqIdo@!2GS%a?*2}&yG~_oc)=5LSB~K>VudY zg*+2Iq!Fdtz4vJwxAt4RT z_>G6N2xGGXE83fmbXUSNZokwjX zZ8gr-`e>>CjPl&p@VS@gswue%boucPc=?GAkNg*KuyL%GwjS(a?(X=v)XfMoK!iu- zQ%~6$kY;1h1K-3cUOeoLMQloq>f;Yf^g}GZ^l5a49F2FBO zS0P0h?Y$*NlhYrk9p@LJTf0$xxUk*X*hAOX!h{y(d-wq9MHKUMqgJY$4UKUXjPy9g z$=Exo2*RzE?iFBXfP}upRRe7)+5!9ZZa7WaJa*t5oN80cjQEpB3HmQO`Qv$EJNdZ` zBO^NCcyOYvf>Gv*+%A%m0G9UdfeU!y_G7}lD1FyQjpgi*;S}@z zaJ*J5Y$7iZs0|-vl#q}-L;}&PV$4+3rlA<%fuWAS)C zd89*8_ET(WM|XNluJ)iWD(bGtYkfk>G^%^|aRMPjPZ)9_i+H!6Mkuf3df&WF@8xXB zyWN13a=~sn{5&%>HAw}LgmI)I*O|oAno6cz^z<1IPO}V2JvzueD18aNVdA3MP3Oyh z{wv&i^6VhBy!caT29Lvf!zSN3siyPtBMef4s#lP4YQ&%VWR?huam4FdQ~;6?1qFpI zkd}0-IgAvCfuqqDF!yhrNqFyq=I?4V7(+d5WyL$wC1V-p$x&2`j9g=$z5$q=ZwQW_ z@tD`GJ3fHEF!J~+)fKx836Xo#9YdukW#^WHAUKvGHv~+aVVB*;G{rQtEcnp`bk`vzCw`&#~tJ4e9etY?=(bkZG`~^U-ibc^DDCz8V zdYnaudy7PPI&1QRfFReEwHfes?{5~@u8oW)#zxhfU8=Fim z#nGsL5F44`ec0f5cyzMOB52^-5>no|t*Al1#M!P>;$|-ACS(-?Q{Z?}qVT)11Enu$ z2otuZO|waBJ}!-S1>YfHm;!^@>Hy;LORJs+`eg9HjLG*O@VepZQK{3;+tV$7{swR< ziA{K~q=)m>MasJ3F znFzsv6uV5c$`x6Yd@Z?^3JT^-m9>qPS*KeafqaN#Lm>0L`djI%#@iOCks8NaW>`n30|wZyYy`;$v^3#0eg^m}jMfuRwJX*ND?m^qoe;M>#@xe=^+k?w@8LVmVE#b?F+(iR{+FtQ|YUtuz0o{vmI zHP7%Ys^{Ojg0^65cboNt3K*ByTy-$sisF}5J4_r;+X;&xpf$xab8DwbDj^y##{EPqo1N<4Q1O~kR)QlL2{x-yM|gU_13b5A50ya+KbktjuU)aG+(u8ohWLZDK1hYRdrAUuH(^3`ry-C)7+!3M_f)^ zr{tMNuB>}+1eKbUGQl?7zT|@YvV$hjlm`|JbD zV_-lw4E1L`&Ka6{6wK^#?n(n~nnqZjE^)L(`Z@A(j!Q@bI);!Ca=IO}V&mX6e+3SM zi6pW^iwnHN}hcVmo0|q-_*KHCOmVdU1%3R}+Rz74IcRpTU4HFm^BUo(M zw;(ZWhP>Em+MSB?OK*4;AMtgi$x~WmsI(9VT*?J5Ur2fUM+)=`&_|I~3yW)RC7h@h z7z;fUbxB|v8xMFOs^voJtZLddtR7m@B*8kUoRXS(w>bI{KB|JwN!I{X8pA<7!94vhx)wto9-e=EoH5&u z8sIwOYZ?co6#40r7{8#bY`7IKUh(GxeY=yw{M@bHP#aFohfr}TrdQA?c+hW2Mjy*e zl>!aN%|AZSh2+^uEvEaAW^){Ra!k`w9Dv4w6Fbv|q(+8GT$3K=3{o=EtlTHBZ5r6E zSGy;UR$b3>u(jb5QCMDDU?&;w^Ak#^=Va;$L8@;b;^+&gLP8&^9~##R*Ko5-{7kH5 z(wy>?Ji($3BUu} z59%VNe=kQf55+UeW)#yizrT_rDW@S1rpOCM#muFbJ;A(ntNdqYr-0}yWNJEUNpSY{ zu=F5`JzEdltRU#tPb*FPqRxx7Z=#^wlMC-e5USml#Rt)zury&W> z68J3@Ft5QgwLp~}domr|(4Y1wn8~BobwV5T}+y#~lb5fX+|yjl?M6_1x? zzPM?e6rLQ`F)hrk6{WKJs&N0U7h_}&0HE7KLiFZ6TW&E@tu9bGe^#(Sr4?IHr#p{5 zE(IaR=h3aZySCHZlnf4M&qSL7K|9!H8=ihF1;`V*k1ARAyHlr0=rD)=z&uh;SRo#Y zUqXRp!N*pb2$4}2lY)%gAo)OPQanO)x_WU_8b37&=00_=+DzTMtk@#DLvX!HzwH?t z+1cH5`Xz#|LdH$%F1qBwM-TSR*9M?MqeN!9C;BHDZkUC7gcb(Py{|g%n?rwOcF>xw zX*aiICRFAWW>g}pxtQFy8yZjxUneGXL+2*qQsZFNrc1EcFrPA8G5*oC;T*yuTCu|1 z_r||AO!aQjU>YTcl@sr5eGW2NcG`JPV5F3vTi8wyJjC{ zh1uBcMdTK0Pv1Bnp(v&k5D_88{6F5 zJ`B_@q>OL8l0(|2ZH3!CYkH&AWezzRfAkngYFi3ww-4<1;y$AfYq=hca-|2AbCO4# zn0x0N?|$W$m2vXOejjat8WID0~P z&-R8UB){cg6OXnskEyoID`^QmkXfJfBInyPKV4a5oE;{2#mvGm6EbzeS8ZYGR*&&q zP>8mrVktwdSlmx=WXvpSAvssB@g7C)ZivBIsc5k@;Nj5X^hD@Lhj>TY4{B*T^_#ay zPmhaL@HA_F7E@!URF+(;+Vc&eG&9m>#ZRxvzKPVnwrNCDFK5c-H$uxa_9{?%+^#H^ zw6~n9lDSXQcRI}EZVBDpB4y^B?#}EwzZlxx5~Z}Pa%>H0JR{2|Vv^=G@um`GMLD@o z1nu5jrLEJ@<+rD-B-$hd5dKR@qii|KgP7gy2N2Z-g!7*}wh_KqSOZu#5jM$oWGYvpi^;+d zk3B=IGK(b2f<*iu27CQh_Ub-tbObv6L5;7=U72GT)!I-tG8sGR)hs%*A{$4n?d?_W z0Oc46?8yj9cg;A>aLqi;bj>==diMfxR$PfW`@RXyi&tr?GdPL#{&Kh5de>JI_`zBi zArBs(h4A61Ytp}dUlxZ-LSo(>oICDjH#DOB%SAc6E+>l}^RqJ7(8yp2Vhta5f0v#0 z`!2R!MP1{G;8%yZyF9~2D2tTm)1UK@*)=X3<+X{uc|~Fp+|%_&%PR-=un#vgEw>uC z*o=Efvo)hnPs{zDw88LGhA_p?$stWWPpe61;uZZ5ofFuLQc@p!GeX;>8>Tf9toE1q zp6`9OgwJy%@q6B(#@HfLK!3En_8Q)$p%oGXH!FHIS1?(=1nJN_$*X%|ddqnwxT{w# zq$=UW@sxx7g4P4Cpfvj~Z|L24mWp9l6`}jwc17Q3EpzDvY^0fqa)ablWtRY6Y()V-e)fA;lqcIts){A!96}y_WJT3 zPbMNrCJZmwVghu4b}n3Ev{r%<+Ryc}9`ZDEQ?vapu zg+kLENj5H3KoRXT%G!ugvhvQ!qeGoGkXDgvxm;P%I;|CYlncE2>vFPo&KOGgL4PT zuy@d!BWu*#nfy_Ux`lIl*I84oT1L&I`)CSOZ${c3XZHr>K41fYxEi1Q`?1Ey1RqkW zs^{((Ve+txiAvX`vWtyT`8fPg6d=W|X2@{c9Gw(?V}GNAY_!vZ|0oo?<1v<67D}ut zA4L{Avr9N;)12oDfJ+QDezJM4+h#lt-|V8-T`wvp1tmooxL1S9ZPSau8Fg^DFdLqh zS84%8QGwdt?`!mxR@hDCx=AZsPB}g}NVjA%&5R*0 zXy=*yhXha98ta^X2IVuVTg%2T#id^gzk7G1vYMKLnVD?+wsk;Y@N|Rm0=1BmZ4?m5 z$85+F6A_4)t_Yl8%pRC%WM>kXi{2JC7EoP0^`#W zGL0@Jh^tYmmkgea@0USGPEO9H2LhRA<_xw{K(9R{LBe*v0$U=)D2w-IYC(@`9prMJLv53=u41}rDDcBA#A z?c1%}N(Xq3g_aoAJ)9`*Iue*qFN#$td)y}(UtZ~rsD}}X{zdD8P zK{GRvceRw2`{V3{)mx4YG5)L!`;EOe2wrM}Ab*{M7rYpEIdoOD=slFJ%F1sNuiWWU z{+vsovL`|V6T|tH0+h65wSNWdY@4E9*V7V|8+C%QKhGom4oRUq689HBXG&Ps%d6sF+o1V!^(Eo@F^0Y(L zNgiL~4vTzZtY_VrE$%mC%~!PFo+*C#l;pG9C;TPzAq5u=Szw@bKzO)_y6autm)9Ca zZH^jlDSf3(dwd5yo&j`i87I9>-Gj)>(TeLkHIT1Z0RQTneb#8^3h*ycR$!jH)1O5D zn-eYj_1rak@iRQwc?yA{ix_-pp$nwJCR5T>7WXnr-7`*BEt=7P4k0r#2rdT@9g&Tc zZFLc0vZWVXAc1k@dHQoDbMATiyxfvoN|pv^#KCMU$@o{;ZO+bS7|+HO=K7$zO{hQx zbL4RHNE3=<`IObP!t=qC`>+BX4EG^k6bI!F0hKutALu8faD#|p8A3V~QY?u-l<=+9 zV~wy=$bo&@yUcloK7QvVUYGr^weamSrM*t|zp53o4;uo@dVI|CsjhPSXWr;T#i{se z+;mJJYr{pu4&?vAr5K<@K?-t_$v!z_H`hkWJP#C(+fg=WeHW7j>;z~li0I00Dm>~V zu5l;j(6B*<*6h<-)XY22J@nIAO_9+wCl!1nLz!H&nLk=Kl%}cDhw&jQ&CVr0S57U_ zH`4!LYtLED z7@9V^P+|zBt0?h`SG+HRC&$7k8S@k?Gq@vf`)F_> zl)du_CJiHvER7{iI1QAhv)E2SN%Uc)9t#kjoW-@AA|iFR05L{mw^=as zQo*dgbX}iZh23D>?f5AE*ypcnNTb8lx8$66uTK%-TS1SJ%;b0o6<&^54m~D$(dn_< zST?j|wRRuUTs!@EZ5di$vOybC5(6JZ=2*J<%0&cURpMEJr44zt<4L;_L#L>L%yZ-s zld{89O_|2!ZpV{64kswx%)n~r_8_V;R~5tS57^e*#kK2HkQUkLo!u4+dY7pro-$b4 zgyO>t?iI=M58Q6T%TE1+uUdWk?{xA9C!Zfast%)sMkT4(J$mzee}eG|e5K-9v*Xjf zi4ndr@0B`MTeg_l(_i)K+TDba>BJ*l>KQ+C8F{TRbB51zf}fQ)q!}yAKc+={Ca3wq zv**+{YA(atSUD~-==3Y@=Q0VwSI(3y3OFC)Ny6tEI3GT4px|R5vgS6%%lr6hH={a0 zJO%}8jqAvR;t8jCoCUgIouJiTTJ9c$b_K6u*LEBdX(f%)A~Tt)WtzyUY7s=nZ!Ve} zy2k<7-}F6x+NON*)sLuoh6>}6D``I^}&+9t3f%m&pW%;qLJKVuJ5@+4|6v|w&1TY6?n-4h9pMyc@L^VSS5 z$YK)h!+GZDTfjFI1_?24O$#dds_;l|F}w6*c~^C4@6Y3SuP|khXR%CZczS@dzrSB+ zi#0p%{iL&RU(g(>?^xY6!d<@w+Ur2II!L{lL4c7Hcj1o(5KAp#ajgc{FqlHa~Uh?YnsR0`KsYqEq0e$^1 zwcM1T(&2amjvzpPAv$Aj=>u=rV*lw;K-k@R_)3>J&VJ!?$ApR5#*=1o$=k>YL0u|Z z?~~%yZC@G84sFOYIFotoN^-*V2puNvsV>~khSSyGc5^E1o^+@|2ZQN}>VuGt7~4Y{ zH>6vpmRN_JZ>c3W6*!-NB2TF)CUPmofE%#-4P*;d9-U^_SAwWEbo+sHCN?xizKf@^ zdaR=Op)MI=PW^K6p%HDIYr|<~i*#BQOJu1(B((+P3$DRfLJ>o;c$AGn>oBEkeRJ@Nc zjDJ~+zYGzPPi);AhRN*Q_Sbs;S*9IZH1}js&Bo{VX ztu7(U-IG;%j93u}NN`AEOlfWskTyXGm!*-J8E!rmARW>xWbBeGav-Ezwsry^7FDBs z7@IfRM9Nb2`7CnF&<+OF0~rT98wV5ee>jZr1sifNPKk|2d_tb5n`fMVHqSB7GtVE5 zM2m?K#Q7i}6RUHyRmoQ3?m@qN@d-a07#lMy2n)E#I7bkKvkeI9zM?sM5QPDX-zKK7 zkGhY}KJ~NdEeVN5!-OaI+ERAiKnI$c31hvH>1~fttCYffZhJ>%^L5OpGxNz)>6rWt z36`)h|7u4b)#d)W2-dN8?Y9|xOVEqpgLgfSc4D_@b~;n?Demw2{^Bgsd;L-Lq%^gJ z;`YIW6CHtsR>kHWNQYztU~_^w+|P(6JT`fsyIzb#bd7-@O3WoeK8DmE3@RqkJYNov zhGH!=%uX=6CNWxOw}^>YP}06`1H8`+lnyMRnp#Q5=l-PWRjw}%sH^w!_y+o2HmkkG zs%`mmf_mg*V!bLiPf7U0P&O;?7#uzP8X+GQ8B+K4A+G)-O2%hcT+6qAN(76E(%zb&s4Na0$X>&zIe7f?7wIs#A-48(q*!oWjcs2@B#mhl7QS{RMDF z)z_KT*^fA}e}ptHA2WQOe%K#4T&J zXe6n(>c+Sj;bb4=fJW7bc%|lNAXD|WeCj?T0+w481ii1VtzBUSz05LE{80z2c=PnB z?H+sXku4}1Dn`j8tA5tQ*w)!Ald1B(o_;r0eT3z3K<4JwfzQX4=+B$8;2gk%{WnCk3vHlYy>bp!8rtc1O{WSWA zVWqFc4Dh*ga7TtuMOeBuKL(b-?-oTFY*`n_OZIjtMfi!z&=LjVtpq9T_TfK%7G;c{ zOeAQ`=9>+nmk^Sc&$)4;(GH;%7cme(YuQ1k(TiGmWMeFX`<9wA`HQmXjdwk>AEWX8 zL!w@PdDKkth?(f+_DAu6;1}vGQyh!0c<#I>< z;7WPweY&?3Sv%UPhVZN%WQFeNHOtOKwtRH1x);r+o3rZeOb_bTD3ul7_rPlwr!ta& z@>?l2c5%Fw(N1jc9_DXd9o!O%YC~HZ@QI8={;W5RchSe1FQ987&$?O`|NbBNnPK}W zkM+z=^2D>P>H4~P9Gze1kcnJgvuyO#RlaeYE?)1Yb1$Z9OsoeL{_@?`9nbGCWlDf= z>AbFb>HIQW=d|g}vL*|J%SKK5IAgw?_s-WFG4+S22ZB;`6AZYT)vGn`6@Fd$`7b2I zLXlTxUfI#{9!41JY+s3e;!uyDUV^HXV^N^wS0o{Hb^Y~a=sb(*pr1)q*T{f!YNYBs z%zq$rU%|{wac%&$TOmXz?TGRr44L?j6C=Y!WNzv;;+36lwOIcoRj)Y}hFGo7!pa!j zgu9JGY0*zQ1@G+b(pHK`hKZ&riM_#Jk!0a4Zd``YNQl|V6Xl@w%Du!6&J2N{DovaO zeNncS!QQlvPX6?MEW}YitMLJyGIf4L+Q)dp&^ezc4Ec~!WiwmCv~)qN`&e}@>b}d3 z%GYjqpW4l|V4hzm*zTQP-E4hOn9(7N40L{17zTowUfKC2JQ$29EBD$iVQu@L(%Cma zSf04LJf->HTph71(~=2dIH~P5zf#O`AJ?YGGzN0jFCo5u&&Hyl&7!sgjGfV*}JkICQsUhHC{e8 z34UgKLozjoN#p*g1S2B8LKwHJ?A3BmS&LMli1WJ;P1S8Ol|rn5U<@%SCBigHAuKF1 zudM=Y`>G5~s&15C+p0Wqg(IA5WXO%5&7J;2l#-v5?`raCULBt1B&7V&r2TkOwpDQ} z$0=2r(mwlKGIqoZ+O7XvY-S03OX}#d<+KK3$d^YCt{nP^FE*#;;=+T744MK~)zah1 ztg4BeL6h#{3BqH_u%+r++}WxQGhkF*T95_X%alB;c(&+>x6G3zqqQSH5 z&6I}aH#9dBe<9XecYgTSm5HRR>FalMW-0Sk;^?sNcOGu*w=O7~zKz2wvd19WB zVDLh?g_-=90i#GwGg2apxvFAL?q7D=1=mkdR=G|HB{1_<87jozty9=~nVPCRV(;Zt zBb^@tDRtc?EFncPx^c`y>Rz6iy1U&3_sZL7g)!4B^RJB;-vS>>Ow5jKpnZ@>T}1f^1m;|^M3I=C2;nyvo^Tb6{Az~50b!&=xOQq4WqBJtWc!`EHN9`I z7pwVjK_3OjJ&~~uPkmReRmtAebEdJuIcsCj1+OJEFE7~V$G<;VQ&%U*XH=OTeqTzN zH~#4r-QCM8Q-utyWDhytx909tRscU3NXGlLj@C!Kx@(V|5YfghQuV#0$XeX&^H5LD zPx=WpNi20*^>^ldFZ1OMp64M6g%0r#{V*7qa3@mB#jhmfaWO5Z$|4%A$Sv><{wiU% zLh(ttR%F1+^uC{}1ap_V*Ljn!nbA{0OCc=h6|`<;wf8dEuR}_5o_~h5%))b0StSQ| zBtR%nS=!(&NxPXK%odqhwTwm^mIyoO?Z?9RgL0pUsEhcaP(6Pd5X{f*As}#$`c~0{ z2s22M4*U6CY+i1V!nlfVnOyh*6&vJx^tLMgaTBH2fV6^JYTz^zyJf6_1f;|_;w65U z5_9$6|9sIPkfJcUto5@8z~4DRI5ZVdUhYixPQ#3#&9kXhGP1}ZKCXndqh~Nb&n*#X zzRk|F4eCec6_qZ|fq;Jo3{KJODVFkg*2nn$mcv$_^Ok1AP4ad|UKVy3d~k2c;dOn#&ib7YLD ztrc(^k>XGOJw+%Gz6mse4JyEo&%CU9HJIj#E_XgpTVz+(%mYH`Vj0u+Ca0?Jzn=mT zRwHdq6BgM5s9VH(gbYSkU|fdkt{9@e)W-UaEO9#RF#P*T=C$nX*bw;$;rCPAGLvP0 z$9f1KIRHWK3d?bT`sgbh(Oa(r|sJ(cfPzoBE)g#Cjs$wnCsp2AO8Gh zkAN^#{4wIIrR?@bN#QsiVzfD4l6+D2D-Uf zGZ5)2ecCMQf4Yud8~@=tihKY58ZSVCZlj?Q30YZf5kj`pa2UOA_6y62CV1&bbIIvM zN|99@;bcgfAp!YlXdD0Ng2IB9i3#n5`-!f*GcKj2PRM{u z0Fym6E#;!%6;Qzl=Tz;ag1>0W|2g!?m^X4INr^zDDz8rk<)u4-Dd^?$@Kcc?$Wp;3 zzfeaWNQdSTJz%lAd7t}OC^V1s!QZ1WI6MG2er1UP$%zo_J{h?a!S%VG49P;HZA$g3 zr4{Qp-}D0!=W`SN>w*_?7D19uiNW~vEVmm$gJ(TF^O{e=U7=dxoM`bxA3^jE)bMPS zApsFZG9Yg`z?Ue#s0LcSOD`OU=6TgAycH1;;nRAhent3-0G|fJeGvj%F!c-An=Y3l z2yR??ekQ#jnAS3sOh^U1MZ-In-dRT#Ac>1;PZN$;`0$&7l$n49gBux~1y908P)#Nw zo(}5ssFviG4b%-(JRHPFw~hqSg3Kb^tHqFQGPKo;>ot)>_KKFGA`ai#t|AGKeH+F2 zW$-nx%%#5G0(R;GCK7JX1T&(={vr9f+Ti1A-8RI$7wrlBvMqE}W{)g#=J77ekXMRs^9I(Bd*U3OrTu+^x> zF};z%F`J*jKHEXeF&jo)I#sfIpTkVAH}CM&PR)9?c+_gg*Su`|lwIAyf+wHrJJO=e z`j1aIJk~3R42hg2cbdc2>bj{a3oS4B*2YU!es*Z^Fmtj7e1o(2`1!&SRP1U%aqDnK zjt3%Qe0$8M^Zu8>%Ru^B{YzI;Q)|t4!_Jv{OnzJjs(&5mt9h?9KY4qk@XI7~g@P;y z(u>nY{%r)bim+E~R4-cS8yMCae~x65@tyMrNbx{WaA0Vy+rcEqdbpzRWu#B+3MVjS z7l=5Ce9i^p$viRO?^4LXz5VoPWJ(0lF&ihsoCv@f2!d+TN^ttv^KI1wfBw9;Mo3dH zR9ZAuODthEm@Pc!&Z^L9-hf5v1*Vi+-Q>&ibWiYUH1#l@r5@?X^RGLMg4zVQ=laYJ zc;AgjOWEtUqp>i1j`geDmy^&p0h0+sbT$*IyX+&5H}QV+)UliJ)5Vdh!m_urBn&{x z7`B)=+Boz%pqB^7%0!G(#zM9s(EKH53EOS4l84h>nffF{ab9leG($WQUgJX9LtJq| zq(~vPwr1P1p#)MV6V8jDU)_E!(YXcoj}m;Uu@n>Hy{iQEM$ zsLw7PsKksHetv$3_11`?0_A^Q10-2|;KCc#pTpD0B0pP6zf9Y3xsS7}a|;-OzjyMs zLf0p%Cthz>XioBo-T4&`lti$d4IcIPm-b_COx}R0t|{hKlR~8uAo-n{X58RGAQ@S5@_D4b<(XPBLDhU5guaKKO-~# zJVEqQOFS7UF(gT+fJpq?jMA8W<_(ABm-F9(S}Cz#aF^ZVCiGLoV8Za51!_~LnmTDc zRJm4AhpZl8V>w$45%{j|i?SFI`I;Ww z>n`)N)^WJofm5k#9cFEB__Sj!px#*KhKyNob79_X&WcCZ{W+*-rkaFF2&L<)KR#T$ zFVnPue&^cW~hc725w`*X+4_GJ4Dk|a31!mHkc(}M*2}i^hWjbx#lxC^t zSfH->eOgDy#(JNpXB+*GuSXoKveOo+vdEa&taY)kav55~o3CUo^5N$(7=K+W(!D^R z(A_n3%|Z5nd6eP^iQ(QIxXN53v`-Swo}z53X;?)64o zaE7%aaAhMdP2tWx1QngsFDYW8GO! z;(E^Xi&jKo+>9bb(5hZDT28%`#|P`_oT~2N>nDDl#CiN!Mdxfh-girE&}9{Ss0B4t z$XiPZ>Uxv}tp#M`>N>30Lw_87Cg3W47J&sCwlph0oY3CUbZZlryD}ERwSjqsoE;R_ zcD6PoVP-+isiE7PO!4pC>TeG{iwYR`4g|Z@hxF{_&_JwD9&tor2FLvbu57|(iCS$j z+T#(0?%oK${7l;-jxXsM3`n7D_aV70!qOu6w5{LeG~+|RVH-$&8-tAn{^}GF5<*Ju zk*1h0b>5+%CB|V^-rH20JjS1JoJDsZYg!G6+t`zB1g6qI4pjaXYmq802ujR9KlFqi zs7p09^Vp(rDVMm#W`b5SMpjoqv=XD(dZ38H%2HuEf_>`lA7>M_@49!ro0(u9uX|)5 z2$8GS3ANJ*|RXIy^ zH6Xs|*c=;A8P9Ql*bu$PqVkO0$Il;r1XSf@2=m)zCQ9G3;&W+6=#X_-sf?X8oBQ4h zbgS)q=cREf8)6;V*u&Y}9|pR8^@v%010XBArAAtyv6>B_(i_It*ToT59#HqbCZhgb zM_(?4SYH)JVI?JsFpIDzbFp-*)mk}*JVx641M3RuyVu4Vr+z+eTHquh32pT3=3FBVt4~UGTq6o; z?(n?1wj}$bq*~Z){6heJRp3xxq)+JhOTuMc+br!A-uuL=ie0^lULBcAU|FPPFrZ5p zFGF$x6efa9+sY#MDn2k`Mhf?txOn%Ewak?3W4$ar_wEtC2it2TbFTmAPt;9P7A7VN zb+HCps0ZzzJ750X4OB7+#MbK5-w*D~6#>jITmrm75C`l%rnCv!-Bc2O4}JipIrQ^i zWQ5omjO_%);GAHtEwTjq$jVrBhzzHW^8KQ7Za@DhMpmmrenN|gk~t68C>k4_RACG> zN*bWL{z^gBEBS2A@HsCVJsu*rYohW55rji-7_4c03MRGZPGT~%aC?EMtWFB)jDoTc zl8nbZ*@GN`!YONbd z9%iW@ay%VJruCqOd&U6A+P1-8K#|HXlu6aXQ7R<#eC>7MwGL((ip9ew3X)0To3n=t zawMa;btyDhnN*2bp6Q9=B*TP(^~C8`Myy0AVrkYu?C0XITWH9HUx_?Z@SPun=Xj>@ zbD^Ek^OD`i+BUK`*zKvci|DZGKL--7iR*sR7LvrSNQmqnjtkj8#x3g0NXdSTx2J3j z$rcwfc*ETy*(0xz=s8n&7ngY{GaA{74W&Zo?p?IGBXc@9EgM_(WQqrfV7$jb9{x$y zQW+TIuMT_ptI`}Ku==+CRaGr=?vc^a(A)+CqFjxLk11qy-%%>`D3p;%NXyO-8pQWl zIu|E5;Qo4u{hC$wM(`Ir={?=m~Q`N;(MqZzMvJ5eTm)`);5O?RPS6Dsc57`=McW8Rq zLAA?XO>q~B0YoMG_ylM!egJnf`dq)`>IazfvA^tUZ?QTy4eRYpZy05Airuv|77m1B zksT2(lL36(Ni8ol<u)nahT7Z1$(ngA&q*vzon{vgXQbUYyEa45&NPQ67k%As?0=t6v(*ckJ+RnPTHsLE z-{jnyuizY+Jm=$nT<1?puJ?Ycf7&0(+a2hVpiHcR1EAGaPF!VB;2a13Gc z8^K}fig{oCit_fjbl{SaxS*N_wyH^F_v_Cg$1S*hQCTV904eh*`w5MNkh}m98oc*o za%@M2lIUB%H(lsdp$`NQ>mtZP{{kLcL&3qJQs(;ntx1(Km{xjejvo^~IshYIKiBM2 zsXo38DFtfmw-t>dVq$vre(0yOl!#PF0?C?_@l8i4b;Ts56CMfnU2=YM$0J7o)q?ma zXHt3DrxEzLLSTMbm4b`*$0AA{k($5*en)bD4DvdVa%EoRP_*+}??~r#gkpO}k`WHY z?Df}#G(QSW5Si8K*$2ZdN%jh8>FMTyU+KZz%qkEF?<*BmrLL^3ZjEoc4{Gy^g^^8r zEN<{tTJO+vtoAOO2C9`^)%>%l;jnXI;XS2Ox0qnuKY@<&gB!XS?uW^x)9Gh3j z;)6a0ITt|!?^}29DH!}T=hKm&2;uu5)r?2bz;w4AldqR^~^T1*4f^ z>yyxh1N56aPBud$8#!&IbY^%d8ltNfn^uM=J5wify$qOZOK>IalgVF0{j=>`wfUOl zYa4sYLsR}$XV*{5@NNumQiv9W-CJA6H1N^k&{NUkwBHxeZbsfOwG3z)NP5x{vteZR z)@&uHwyA?K#I^x}^OE^{mT>NtHt7i2Ja>){5Vq~3PAO);-p&?i1d$Nd5WzNSiIjU2 z9|E7zkHXDJfl%DKvDuDf@i?6wxwTRU9BIi-e*IY$Y6#&h;WT&Pe(>Z z4&7q*i)#ZpT{fPcpT_dfLOsst{P~mwS%Ncff>3GZSHZ8Fuol7DwWT{2}vrRWag7 z+0+joS#j+~LtTBd6fvI?$+q^kMusQvEv1LUnG0vIXMlRV2-DduJf`=!k4I|!v4Hp2 z-bqQp5O>431~cB6d{fYCnTB6xL6EOcY$?HJo(MK0A9K=VI0SA2v-<+;IRkM^;Xv_z zEFC66dH^)4MtV^%G`<@>`pwM!*#X{7wf7vs0gBK4=4^TaXKTB6k(7BD=+4tG`1f?- z4N01qYa81?Iv5-nAW4VtTMW>B3?E&^+&f9<9Y~I6D*R1G-|vvQERjsO@2C)3sE0Fp zY;*FRA36+;ZM3>qPIaSnOwCTZHRx#_{W>W0ct|E>R(0F>b#qGggCaLQBe(c4*75>9 z>-ky?W-uLln6+J64D^uptK+* zG320xq;#ircS)CY3`j^L-JJr`Lx&9A-^LTqInVQc|0);PFnjN{*IN5tzgw-m7l*B4 zHXj&?{?R_kxR|cCrr!NYGj;Svh#BM}pl6sDoVnTyhTc+-3p4g|*AAx@b7V_RtU0xd zK@I5|yZ0G_{i;5b?6jNW1YkdVZ_rb=DXnARJc`V+1%8Q$DvPoJ8%GivA(?4H^Gf$M z@SHB^r{VT*yd&xLWn_Ni!0ElD;e9;W1E&QrOW&sbdTVWKeslLnt)ID91D!(;<2U@R zpfu8Xb_f2VebCvldX~*JU22W8DM^I>rAV+U37vOh$LX zq@fT<4`2_@XcvtqiBQf2O5;%J?YGw6Ijt4V91S`$rB&LZyie;V(5|v% zbGtqdW0~3V(QZKSYumk3e4cW(({j>L$OkI5*Yk+$;(N-Y>rkndjY&D=QzM6Qh1+|LLz6l0Z~d{in?vlaCEE zctyU#eTmFoT3YUXwjEn#t{F%O20RIr;eaUWlZm6;3EcW|iTcC_iwQi3f#*&YayU6U zAFBbC?56KSobzV`!M4OM0kH3Z2lkH)FbMOf*X>_V0R+O^cPgm!>jDFA(uk#Qln(Ja z%Xgog)D)2BotAxR%oHaomntU@KbqnP_dr0o`Y#peluTw)wjXP9*y0> z3Yn<>#prTK`Uf&Ju5+ELwz$iBx8Pf7-;i~3sU9Kqy}~zr@WK0C2?yF`UpiWXZ)R9& zI_;hM5Ue#Le^I>5GQo%2whD$t0pg0v?1c0L%B8uCL9diwGtdRMlu-G=&pM199vk~)v)#sPK~m?f zQUZ-@CGh0;S9Iv&HUT} zZJSgMwHxq|l|gpL4MvGu_Roays0NG-f=>Al22V~Y)UjI+pS!rY9E6t)FRrc{+#<yxz5>&`gM_E`q>=(fnk9KY&?X8ac<_~amIU^p!x^GJux`Wr0FLn2 z8{so=428HI5kpVct*iE9T~Edav==vtr&L0xW?~%Xi$^Z(rSs^oFIyqIt>*6Mw~hBz z5OYfkQDrV~)JcK}LX7i#Pq1kY zD#HVJjJXa*tJ1%XlMrq2m!{8RyBl7 z=ppadKBBE2u#2W84k^nm(mf^ti(L>RTqdhI25GghRMsN&>W);6#%s&?@&ZHb)RLw* zNW@K+*ve*+j*WtJef@!?jPy$>V^8_FAritmcdqe%7T{?WH5RLGCcKD0vj>3QB~TM! zlkH2DYwEb_of}QRiFQ8_lXIdGvRMnasMg!~4OP>G-uRf@kdQZrZfFEo`ht=58MYxq zvj#)^WS5y(^(zwf*_4&{0K}t4`5oY)V>sS5nfn%xL=wa^Xqo7F)evy=gwoz1CT7bD z2uh9-9Yao}5h$#7V(mu!8rK3UL`RfD-?| zFl=U5qJR5OU1^Da#LE>(M|J~_bN-=UW>o~adEe-2I=+K&1r!|OF9;MV8CAp{mu%1| zI&rzKlZuJjPB>(8n%^_FQkmBXbC1YzU5NDpQFLLS44@)&=`F+^+gZ1WndXhOYmRw| zr$@XoXWjAUF3##*euzeAG2>=qziXn)Yg5A>FjMF&Lxc_Q44L?vpec!He+XB z^T=9Ku|Dn8ygV31$t+;PPp%NX&uc6^)c-(4!xmpXzj;WBAk-Iee>6rcEt~T3Sa5!% zVKlCII;GIVHpd~F&H!CD>HQY&{g1tprG5^b43{JAUNl!PQBi)V)(rKjU@EOR$&QrdODo{^PD@i zAJ{!Cdi+sQD-1LT0JqK-y2c^5t6bo>)jv!AzmXEB#5pqAhcd-^vtq{HVo%Vwfo-Eozh4v*H2!I$3 zr-$c*s*8Erg0Wc-yAmAH+wM+hvrrlJaOzruUJ(v`sRjP=RcM5EwyE#MUL8~)M@_ut&!hO@>w zsSm}O>FVkp_B<~WIy{paaQHnNcmq?x@5t-;5D5If4EgdiGxES}aZ`y>!QUjlzY?!G zvC*4MJrc6NG9aQ?g>q#2tJTBJerw0FZQPD z<^ngjU#&k&*|Gg?bT+ft>wKiZ*W6TmY2gatdSMr$KKwsN@xeIC*W%I;GWOahX{{uvlWQ>1;Xah9rbR z6Pcy0J_~`_Z@GL?TCipGp@vNR;?~ue3G^;Jj4`)OHwNy%#Lg_`e}oQyWk`c6tY!4V zSjtmDnbpPMf1BH=?X1JQ3G-EBJ+8wjYH6BXJ(>f~4$22_2ogj~|mi z8t@Madugh9S4W4!;-vFE|M^x~l||n@QE>@bNkEb2uM+?x*B3^#up7V*N>i3xP=OI! z>6H<9T>S%_rg(as#q9dv#>K1S%O7VFEJby+rGkP&6+lv)a;yOp@nskaA&f2lGVfUR zAox%Gj4VRx@Q=2PWPJ|%AN~2zSCjjJ01x;6e+nz6j7rqe6rjW*4{o4a^SE?1n;e6C zG8S#VP-=Wals}PH8;LBKb9)4mQEG8-W8dh4R!lP{qDsnoelee>jns$teOsHNCyCY4 zc6esf$v2){7WTfZkNIoE){EOb)uNulP){U2b>m!hhGVJ-gkE07gKSfVI3BZ zNO|l#y8MEY+UFU|Gqk(>qVTzvxdiwPM+|f>M|1$C@wb^!HX_XF^TpA(Mv^F|znV2GZ`*8bZ5M7_ zYp7FQny<0MYTxwe9p!*tE*q%;zqBLA6O90CO>koFFL58H4C9o^fOd-`T>@7)q(G%; zu^yOg{?9x6?;z+5V2*h0{_^%)TXr1{=*5#is!0Wft}rMGRB%O9hUZqk|a z7+V1)Ulxrtq*a+Epg_-gb{eRYLNvQWH8LL6-sQ2};z}e;W5N^OlR|4V9%3f)A}^~N zl(Lv#reYEkj3|FYU5ewOoK$&-YMovoVaNX~TBK@$e1yy$6UH3gfq;eJgbUl;e(kV? zJ9xhI#;8B>cXAmK?;Kd`@Mm-B_ryMyG8_Ao3n}59X66r);oiGV(}Vfa2>MjY3P~Xv z+uO77>9RgD1(#O@L11C|yDvH3PdRw*b_G0>d~^Smu*>~L9g#=a*nw+n@}ex{nZglq zsUfwyS9kCr1J`Sg{XkiyjPnGKoSolBb4K9jsY!+n_Pf4Kue`J4R&2R>U=*~Z8}dKP zWNu@Fa}BgnkMQse!vC{W?jf0eYqdKyLGB;-o#)O;t*os(3JbvGVWtVaKp7}_|Dh7v z5Xhnh7|@K%f)@1~$Q^xTT}B>p$>pEMH-9N2@X|RwrXCwRuWb_9yhp>dYyr)PtxelD z3}xt8(E@OdXI1_BxKE6JP`-rN*0HCmE}uOXQa2Hk+|Yp=2eG6~wjmGfp{orVHs-fs z(bXAq{75(rjlK0)Rn)AG9H!*aM)d?wwFlQD=IfodJbL-a%Ewgep)`HKB(`@fw-cJF z%SdOHBp<&N+&y!MhNlFt&Y+va9XmBcvsc1%c)_orJnxf0PR6<0vf?TqzZ(?jA`}fj zO=q7VqvE-u>Be~ZO63-U4Jjg#6ij5i)XQR()TBar#=&yG>p_!bFsitV=?fiQPb?CW z;N0AIqTRAKLs2kcz61uk z88s?DT@euy5|)`h9~WZ$>;1z3cyow6IM9CmI^b2!-|rvSR7{MFA=gWouCIUH=&KKd z<9n~lkJbKh6%ASb=EZENLcBfd-l8KrGt1$w0_C-Q3sL8Fsd60HOWh``(N#u~k2|bN`a^iPNNix}Q5kWrik_dg z>Rkoi-gmERhQYuJou(l6W-16ve+UWKV%%T9etkiodU<(?y#BXxjv*w|5*Lv7GJva9 z)y<@noO5bc3?#~f()SMta+W1MqzLDqa>7o9yrr*-67)a-fU~u>*17sOe*dr6pxXNt z4@P6qKKcp4nD{ycLFltCu zkJ3n0#k%Zh-h5pmFZhI6-f;KyfpmCBCv{#{Vk%mGXN^C}i33E_cgQ60Xp$3WAS?Q8 zBW-FQ^cJhCSfe4j&d|I&CLx}(&={+v9~ZpQ`Y;K{O4M#^O#*OI1pCL{84%+^vUs30 zT}Q%}v0QKHFZD!kkvAhfB7O3m>FD;B`lC-XGjCi@doVZk!8so&bwm$y-DXizQ6_&%^F93g zt*WZ(H}sB&zgjSt>>JNXBBP>wdj56StSryn5Gb*!W%0lK-R~`>40SrW0^+}RROY(x z&e{Rv1Yv(HOdP}njmn4CRBWgBpo%sIQrLR~0SE#UEK%iz`%`ICxYAlQ|KGz>U-$6s z^4JwR)8tqMhQ@T#i{UC{q>6&lbSK;zdg39q%Euq6=m#~+iTO~PE%vM5&Nx)wok(SB zUm)qq?b7o2YU3Q8{bN&1#WIj2PEB3XG%tL9`07a(eSLN8FH)^Ds1~82OA!ghgSEoL z_l-tdMf#JxkNigbP)qHl>BuIe2zI3i%9GoxrdX0bl}SijymLl&7mz184s6A(r>k;S zr0Y+m=}6b&$?dg%Wt7b(g`cIiDIc-w`!kWv@=A{bW1H!vZ8{#Em4L;LD91+69fc%# zK*k$6oDUAqgnptr8qIdTJ``68#AJ+%+T1FXYDyY1KiZ(QMSTC2ZWHS)_U2?U&K60CxNRj;{#XC3+&=qd z)}W{lVKo=Zb$%+!{STSG-FJeQ&>2uAej8DYTJ4Ne)?*Z*)kwXoYIOFtomI?@ihjui zi~XgGVmv*@cJKWDz1J9%90~r6mn<|=YQ7{bdy~U>ndjYU%_%ZnlY%${jjUBB>;VID zz}vZ~xuIx%k_Wtkm{M=eM*D8Jbn!Y?gqE3WaM}fDXEOLvsywMII~_K)M>~H0e%kQK zLpA~V@P&X28@c5y$7j@Is6S|DJKr3MJ7sXa#dZlN-u3#zO-9*%_EfMPZ?E*qKlDIM z&zqUN*%ga)rDw`b+pbjQ{zHV=yKu5QcS0U~N^MO2QE0Cv#JH?%XU7TJy>nsbHEG@d zs+5v0&fB>fJjkwo`5_zq9SomiOX$R2l`ezsW=Z$|bt`Q;X8oUl^#8e+j0bM8ufm?1 zr8ynAerH-GFna+zJ6>Ir0&GssqJ=vqC1xCFCMxOQx+A0u6Z>)ADf;2<28_L}BX$-i zx3DoFCq%@(SBw)f<5vtek;9q47~&TcRFSDf613OC4c&d+GAm=5+iUY(zJRQlPc3-A z;nJ5a3xEB7YaS9$)w;{QDLTz)mdX=ujfWD)dKsBh z*ln~JnifADib1k*AT|H?fCFXz`w@HPl~tuFPd6K6F&lM^W#U0MKzo8HR{S^P1$o~5BcnJVxxGK%(`rS2_xGRp;^6S(qKE!x@dEryk znG8n5Vi19UXx8ceKVTrefPlTsng;tvbD?<&`Q{V$NJoX$5m+8)XK+?me*1X+^^% zc(T!Hq->R;`wD0iS+U(vm7bj&g`0J>Z^UFjrlT}v_5-^&>l0WnD$e@f1Jhgvq}J6GeO zOx@MlrpvoivWt0?s=aI?1t62LW!m&Er5g|D8!8>T(M6oPn7S0YK@-7<5pm9wKc+f~ zB|7vm0Br@oN1xh(N_<+%uVY3#O$~-Dp^ipiu=_DI|r?Z|dq_A}bgPHgzX;4&c zl*I%i$6A4PyJQfbnV`m(-8`{Kld3i(zslD6$$rrpM@4j}{Nxvt%f5;IPco}5s-bR& zqcv$v<^)F{1DhH`SX>%7?Rj!?`jd|b^Fix{zznl>uRcDv8`{KEPJx@~-16f>N(s)b zQ$_Kaap1##0e*p{g#<6BxxcXT4q>}GnyvTJWCK5EV<>7N(sbF2DI&k&!o#GiN*dxH z8l7#*ue0foO#9m2*^@sU`Kh4z*x#CZGa^cOu^TD=HEE~hfvCDC_1i^(h}Ntayv5A= zM|g0b&yvid5)Krs!B{&%gOAL;?>bX(cM`n{{{GVZ?p=qLfz*XnbZxAw24MciiAiP- zQWXr0acwzKeLa3KJuji{n1K=i%r(Q*BwGI~kQcyUt1x9Cz+4;o&p8iNY#XcmIE^-3 zWSKN|Uf9)HP#(-aV}I@HfS8tBJllkIbgtcZa&oo+m~I#N5X?e-O8pTDHoCo>JyUJ) zx6*M(#%A*78)!{NQGMS#HPC^RW2RwvAxTXWnk_;h@(Zy?Sf(j$tWM_!ypa&62fa3z z`~i54w}iZGJ4AlY=>h3S7GmQqaSk1 z070Vp{A+J-NTgXRC^a?pHo#}xy?b{p9YsLbuoquEIcjYez&1wcp)na zooQs3$j#6}z{jWia<4w3Kd_~^HEp!3ck9!k8;_U z$b}jwos9wfZ*00w2IEZg_;=?TwW}_yL?)D-I5Q3SogA{y86qENSDnTt?j`TKpb&9= z6a_EhDn(EqIDPECiG#EWDyhS-+b(;v%sQ*Z$=o(4k1midt6#9r%D&M=TWbVOrQxTS zQ=7%`b)ek@L{sJBonjY3z;@nkIA)@w0~mkruvAQ7DS6oVS{0bwH4?JP9pf)xEu0MW^f=-TFRV**>mHI!k?sIEjUawwO~ zWykG3zVFW;UP{ku_ga16OAYmySj1flBQZoEWh@k`;29N#o%-1LlkxX*Lm7fUNF6UK z&FS>k)-X9L?YujWu=3HP1#Sol#5XLLzucEE{w)5^MYjod1F+Y8kzCEVSr!9zMVKxQ zo4i~%OWj*|x3<;%1b+4dZDmLUp^S)_sYtOi;8AOMw60iM|4h(q9z$?R!d_8 zcK5bll!>#piafp>Dhs1Ks!7wStsVUt6BsbQgizgS@*(Xde_%7adZ@ovVAr}w!opp~ z^`Jf`6yMCM3D2xh7*b8a+pV&=!X`F3v+i}oDp4NCn-Nl4&y1gQY>-wxiPa|-I$8M) z#{d(aR%(HZoZxD)fBKO9Nzp5j1>^pe*%wKIpZ(4}E7nX9t4q3Lc)Y;#FW63EvDM>_ z61+$P;`+2$Kr7_oV+iPjNN#Y#HSYIX=A^fRr5ZV8kfQ~zVnTh zgm?zZ@MHe)$EzO8s+g24k23_Y@YVzH#cisn$y-$UNHzin-^qFV$cNE0-@WHlikgd8 z`_8E}=nG!0tYazaqH3KjFpEcgI5kGLL3#}%dZRp0V36wiD=3;>bdKy6+KM!8&{2rS8Dua1SeBXnnM_GQwZ-QL>TE^+A6 z5up5Jw>|3vw8#&gkGI=y6y;zt$?G_G+|0{cLdgc_#>#lUVgf26FZoDLd#MiDy#DZs zJ8o%VMsQAYqXntZb=$y=3tGB+3E9L?3le}bYP@mgS%BSoJ5YQhZDwvnu+F-zekA5` z^6m%$bDD{=Ggh07nx;c;eiD9%>vu_Vj=og`fy<3~((fzz#xUv3xz|TDW;_|pbiHU* zI;tbLgnuC_NnQk=N!ylUsPGA7X5j1x@C?g+wZCUD!Sgb9E@S#pz*W{OX4u(J3#(Dw z4hc<*XwqvsQ)5sil$aI|&S@gl74OP2U#hhn5RAjIzXZ5+9A8;z4+5&A6RP9xGElla#ZO zQ1|3}yEqepvl;4*kJ&2W{FJF1i3N+)|KagVz0WAkB5LQP%}kxIQtm%E(wTT77fY71 z<+=VqTS)HY#Ho4OfB`y-mkzltP_N2ojtm@x6`#XMoz|WSrpN*_asa~UZ9U8RTP5Gy z*NCU>GBl5x_IJ%CYRNV0KmjJ*u7l}|?}OyaDOGI10pxHuP9Okof7cnsx&Lu374qol z_$@@WF3pYud1E}S(GL9#A4reVz9nRvSazT*yVMmHcLR-z zY7mgB7*cl|ZnRb(3g6=`&>YfSY_$-_R@e$|U$ix(frb$cD5qEVl5pJHR7h@2k$MPhRYQaro(WIf@J;yoXlq){vruot5*`}uAf`#x zUbWe#Z2AQygJY2{xK+6X#nTJF35ayOv={{DH&<_yX=A1r4hsw9J*R^4=ZHgpy6pFz z04GZpR#tLNL9BoGQ1*9$yKHL@b7SG3;pw-=WM?p4L~~{EM1IOf_pbl>b#{{^R4hFubCce5=Uy*%xY*Fvs6|N;bA0~#Fysz3~hOb$jIWGQKq+Lqs!vw z+c!VeP3s4*u(I40)L@9ME#uqN0|8~qQXF1-!y1g1j}4PN_yLuy2Ia9uBGP%n)?K{p zF@+tz;_jw9A;PW;PNPq1(y~9v!(-^DjPI~a5_o+zg+%LBBbZSmtGXuw3P6j7ct+7T z!&K->ziHILp0c36IO8W4EU@4{n4iZFC`fxL{-~aA?Y2;T72;Feu_}K^S}EO{?>Iv? zFpv~<`78tsOnOCutnb;}-+`gr@*s?YQpK!xo72ly6qI&j=L}Bm ziNSRl5ahfXEGcgYo0+h(6T0C+3bcV z(D{-}>qXvc)Us7p^5{wzuyJxm^=9O;i68gu(OkY};Tf!a zY>0;kX1Ti?JGJ5r^hC&QiZ|6Kq`9 zyu7?8^pN=Y_=|6Uy$9iQgr=OX+15&sI_iPRxxbFOj5staI|l)yM8MEzEd+r7gO11? zauTm?VB>I4Bj@B)v-W=G#GWV^ic61yXbEUt=+fd9SATaGI-e=igzCff_V!?Fv!8}v z^AAP0=Vm}|8@Y|d$~Y|3hy8Ng@DS6cWsP zkI1mSRl5svpE5vkyv0zx9uZ)9`~P}MG3OPGsu!++k+hm`0;4x!ruPt&Jf(x3jN&>9 zD2zp<{3=h`p8h6x;dcc5&?8R@!-P2O0!H9D;A=^VB_qpzxlreHXuPMknv>8FI)acw zU%Ih-1XlAZXjzIynHkJSin9i#A*&&Ei~JG_EDGF~8+TJ&HeNq-ciRino0Hs~j=UcPbj$+*Gdq3^xaD{_Kp6K(gn>>Jhm@E9aU*yssij`{4^B$aI39D#%Ee6{x~bxIN~toccAdm9mwcVl%(RikJnEYP8d5J#jV;c(8zu0XytS=fD69-*JWE zzC}TQS(@{cjBok^?V>bujBGmYTsN_4T>olvcrmQ6?`m>%ISf7IN_B2Ntm5!Wl>)B( z)6{14ZdyI>E&BXBgDM2`(GW&yTG)rouC#O;&JC##K?~r`wLot`x$J7Tx@K!o3i+cxE(GeJ>4ZaC_Mb>U7}u8yB8C^ z{7bw;52&KO<*?Y@?K<9E#~WxtlLcMXFYJ#R&UdV{*O%l%v=(hn^Gcb({}P9c45ld|roEL@H=si#*Iht6lEZyB*6)5mx}?2dsN#}I zQaB{g#{Qt)?Q6fGBm8?PA~1D5Z~0DUiTLKP=g~xH;!A&&0wC#W0fQ& z6*!l!aVcLq?$4tm@r3I0J5K54)aj6{ZEv=a*v~v$sk-Sx)_mFg_lG29xUt}Abxuw- zKI4_`q30M7JTLrgQJ0%5SzSkcrX%F|Q9m(cLJh1pSZVP8!O)Jf*nP)lQa!H?l7 z-L$YOa_lO3Od@_Suw`6AM!0s3w;t#8?4t2g|Eg=*k5Yun?C)d;hN-Az)wWDjy;gLo zbzIxLB<{3iSSq81H5^sI0&;Lkc&xrmv$|f~e0fYaCuKkTqPX$O3Fw+77VG=vI9y3` z;L7$lcc^9kIuKtl*@N$p8dhXlw#Qolk0GpWHFC^qC+xUHc<-04j`hZ~wG}8r71Xe0lldLw5fF>DneYBdn%5X95u>GOFD3a|rLeYm;u;w65P6d=#deMK5jdI)81S zWG(<(zTaeqkTQF>F`B0iwaoyZSbOQ9uNHjnb%gcPfd~A%zb^EE)I!p!`yhTKW_{-u zhuLCuKsVS4hi({aRb{}|oRpvDx#uN#gKZQ0QP&$Rcy+TVajD>UI4Zg&N%%)qmPrKt z`CW|>sH?000zQ`_y?NZ>$59i?l|LMk50#3ozq|@WQnr==aSlP|@CH+U>LAVW*tY+3_efw=R(-&x(57_{^_ z=E3X>6DLfQs|2jaQV}~C=8I0!P!c{nv>Wiq9!SgIZBJEn9~Q3tWA}f9OR!uvqcX2u zY`uB{Ez z9KikeMq|{fQ6k=L;O`1KXy09`4mjRk>Im!TRG?t7(i;dS6;O}g!KiITZ?Gs~tw$9n zWr2M*=;bqUb82}Rq-(BywLM#3D}DCz$`t_(+J0#;K)=Lmy7PVsqZ?JZhR-GmY`?RL z)ffc>y#e}hD#)?vr7OQhBfm$6RKx1-9!?-#8K1)YBj(7fEyuQjugA)Gj%}jNqKvTq z|Ju6W_iqnSfCFEb1y`PX->1#SL^XOqt4dsp|83T;;PbARKq~k9?J(#y7N^;)KY<(D zsO6Ko2#Aa4JjaA4#dDq2V@v#@KwSERy$PgMr$6Im*2V7*7D!eVn5;VtPF?xQ_S_QD zLunOrp6a>Xk9->$9+&Euu}Drul|==@$|MyNHM2xK)BD*MVVjF| zn5S^3BV4}k-yh)PH-GKeRvpew9Z3-LY3L-B!@ciKB8yDCEIFPS;9aLaY7Qh1xR|@X zOr4LKbMvH-2z%FG$MYHYg|t7@80Y<-Dr(2Jnx<#MH{KsN%z&GNy-4c`TzPX(?{mK=a>YIM)c!loOdA!e0|lk>xApYR(~G-G3v633no05^k& zf8^=t5zehuFl!%n!Dh#zKvs`-LBBug5Y^HC%G9dWVoD5f}jMJmbaJ|cyCyoFg? zS+%wxrMMocfm8G~m2SEI$+X8mBG*mIGzV%bnIXjpCPep5g#Gu0tqwip8o%IJl7ebk zZ*$yCsW1WdK7i6p(-zYJ6W@^3x@UyUGK?~z*L7uaF*5N z1{{k39MbRe=g(&U{fC3n6#u5*goTHfqq*}?8zhn65Kvb{beC$m1J(x7W~u8gr>Q{A zJrfMuG*@>M$Ptffbz|S@EKyAdV@F^;vdi}E;w67JL2IopQm>yFQ+CWE(@b8;J%crw z_ll-9N?eGvLyo#)KfLP6e$H-gD!PA$%wAk1v6SG%UYIX(*{%L+JCJac0VZxMO(kU_ zC9j|zikPxuD54Xwd~Jyb`u{h;5t&4;^oDd&g&_rUOgP6}==Lp63tG83zyScR$@Utu z$jxp?-gOf?e1isH*U;gv?+jXk`+Hvvdf4n{>}ZQz+f8qcLZ4H&h+@|ksh$1b8EI-P z22HvWoj zL1>z+Y_<1^K$+y=%u|+LfU`*L0J0_qCrCX&X6oEIl1bzYcs;3XE0F>6`G1_f$)(8E z`0;TSxE18&Yib>5sREnX1-E4i9S!aGVr;&W>lLj@$E7D*Rqxpo&49^{o5(%M|ABB zlLW;(H-q6Z`FgkQq)nSTFmOTVOoDnH#uc@nNkalAY}*UGFbetfo2m=x$&0O%D*+O9#E|K`VT@SE3ND2i$nC?bm6jmEjjT2LmsM_X|kf2NrHhjbVSQ{HOtJd@F z+q)m*AIeSb4%&@1HT-Hq2}jG7)AO_LP>r?G6wr#j7GnvF)}T*>Zmnbba3oe<9XUwXTUe8;aKt1 zC#dB!IPP`N|E|$r=O_w7%-QLf`{jG21;I$;$spd|=!o0`FaoAB-Za7D=6ZD7*887`Jx_h*q4}}mYyrZ}{=|R5 zUna2WEUKV%drD@~2Ci;e<$^x0Rr%0FuBbHudt24kA_#*o{PRZ}2E51RU* z-6UHTlkW2BxJaMWlz%XmWzV47=!t9t>B6Q}A^)&(Iyy;YOS>DXvB>#t3`JA1=@fm# zpJSeIzJyX!4Q%yF_6$cwqy*0K%=cO(8<2^N5BePW>huajZ<#<{7`>WVm2uxk|6V6^ zS4ZRwm4I+{L}F@C+fWdT@n|m7HnQ?;!P=&hTQ zlJb1@YAUuO>dmWF241DD7F()VkVXcNk&BhM@46;Qp)mQVxa+3r|hjW9pp1WS!UmecAWN!y6;+fd@i> zQ(Lt<>)bl{O3>9Jd+rU~uDs4FEL1VG=cb5tVQh?zeUj>n;Z&Q7sA+BQ`n3=ZDOGjW zq2f&X5SEWoC^!@vDy=@`W)mO&x(Ac<{f{eT_T3_hksV(4oqVyDe!|h+T=AcFULTc7 z73QkViqeLgRIu9(N_Xr!YQDUeKqs^xf0$r5mhK12v#=q^XwNJYtHK6Izcr=2om;8Y*Jj4KMFAxFgkR!%h+!)Qu36D(KD=-L2+((d?zxs^ zPGUO_9x%&GMwqJoAHlWfui(1r*cPg6C6H5>F-C6nzg>Z1I4*O)j<7j4-R;ah5>OW{ zgnXe(*0eoTKIzfE_PjA#zaz!ad>jpdU7y$%PM64DOt{(&n!-V<<hsHdNLn34O#@Q3}O=J1mY{H6ykhx)nfc&F}N|mvhby;ZoAz3te^x~Tv`VNch z9eW!lu*C|pdOGL>YSuUl!ynzDF~X#u-w)7ZG_j|yDm%h5gf=)*?RwtlGuIzP8iFU{ zvf-P+33;~3KJ5Vt3cLxe{`W?)ICLqFM+8GlbS$)3y6vG&okJ8p-pllUo+LVEMax8Tft|MQ&vPuDoMo$dly ztDGAGyY9N_T(!(DL{c}b=mvuX%)N#1u89i@VAulR^?Gl31}twl7%BQ_VGcsp#{%|C z9p)FRE+~F4S(E4bKJL{LB@&%$3ZD{Aq#^=sLAj1%7Xu+Cpz*`th2!E48h81qLwN=f zQXw$QvlXr1T`MEUu{qWK3AEa)g5d|(K+Lri7C`N;pt>hC;v#3+R{a8lRFLLspVrwt zukzJDV}+pfsTK(987L@3#QC;L4mS~la(S%ey}xXr_;mUc7UFP`B9z6bPQ9_LTB_-^_acmDb*oP0re>nh zk;h35r*BQUt1x~Xwj<8a7>u6AcN+Byn<;W4)MMwrCdvl*X%z}pA-B;#lplure~oEV zol@{bjAiAjD*EPENTYWve3Y-4a?n!rNZ^Rcg(^SG-FV?9?aV_5VGt85*h^HGQkXKl zD6S#LQN~M4+v&mBPrFP*2z zZ74oK?|Rh6JrBsmABB92NQy3R!sG{^wKPKN!-q- z=N3wl*eNU{fy(Xkuk|tE-gL2KDAZ7rSWhd)wTt)2D3jPP{ zF?oxw;`)Re6QlQO58GgFw;d0q!<7ibmcQQBQ_6YQ3|iSFfa*0@e2whE@EBE6HD}X_UTt5L-<1O3axcwlYS?sG!LTMW2z1#)v^! zLF?JWg8c~Xc)yt}o=#dV&#h(#oM`wGqJYW%A$?O1^O7I)^&|TkN54mqfUba_^Do#6 z>d5n1ONJ*7_itExK%Om>_Vw%Ao31L@9z_$q_LWHWF%Su6UOHdYP!g^unH|CHxh$Ej z^nRF9jupU;zp7mI{+C_1roGNxU9JW_3-~Osj(jqR@!uMPW^+v$sRmL2|EGEJQc$k9}wMkpE61@a>br z5K_D}po~fauO3wQV*jUDHCrBA4$zUMWc&Lbk@>4HL;YqL(T&S18}hqddtL}XULw23 zzwzY!1{e5i1JJ;HF^B?ly~T8x3Suu0bw0m4jJ0CWf{^7j^Nd?%Cs2K;#%CcpL?#}uoAlgV}`sQQ8QOg1YzvcMivSGvgT}l91f89W!<9c36!7FTuU2DOTXn~drFhr zF9H?Au!>`9iX1l8!y{;97D8IDHj?a<6;n{d0z_OSStGIcze3Dikl?s*e>s21SBoLx zV0;$ga*^JTD9Qw?>pf>(&#aPKEaBZT-SFbIo=eKvag!Ck{l=iW#X1PnqZVW`mzTZv z9H3?lCgoH2r$1`eiATI{BIc~R{_e(qc`%|nTQkGLK3I<49kw=UC=piJ&n}g-TYpl| zb|;T5`HoFTKZ%ZW>UHy~Skm(MbR=QHF5B1owp0y=+vYq%_E8XVLMj4hBTHzpeotJ0 zdzEbjB)L?0*rwsw7c@WXqd>E*zBE-Gn%o558>Z6}Bk%M82iM}yo#<=ty$t@(tKv;+ zH+^PZMcv!~L;-a-=c6qw0T%F*Ra=zVoOl_1oX3y%z>&j-=1Cj#W9$;H?IMw%q51t# zh!~A&kC>S>=huyq2xzirG(z-C4E0i%xqt__Iqzz_ETgK{XCe*pDEN1Wwnj)}20&F` zi|skUC74kcl*+z7oO4**bhv6;#j4PI##>ntbRcuim62ha=WsnANA^-(?V%m<>~leF zn=_j69ZkkrG67e731&WqS#7r^ebt7%dt`10>1%s2YVp2>8)$kHdOELVo>&=|ML@o_ zK1Df2_Ca@~$?f6j6mk2=gvhrF*C@TqBV87umEgl5Rd8qN8$9coZNT0+Yg9yZiuc-y zVWE22LplCa@9=vA?#GU%Q*{qmELj8|SJPO1?{KW0FcPhkKZCTZ9Zw`yLCF@%Rx?ueu+UO8CexCMiTK>R8$KaMB2!jCOsSb&^Iq z)}1;F+1%UumV$dHK%kOa=sC5iL0Dl@9dRim#(JjS;u)$+ag^-`6Qkx41cxbKgyNtg<|a}gKUv60G~gOHGL{LA@a zoLN#nlk?|eIrRHhUgmF{(-REcS)0>{EhxgSI?N;_CT8sUTikRlr5R1u>nrO|Kq&ix zRi^9BxsVo@{Jqhk!jO@p)KJ+tiN&V~=R(^z-&E}~!lgX2I(sKJ<@Ydx&_>2^@l2y_ zgNPxf30(AXq6Srnav+gJK~;MmDS=z;ctlu863HtaCWaz@f^|8bufr2z*mWCEFDp$R zG~ga{cA`zNtur3(?J>C0v zm2|Jg=~&U{T%)QKP&wx&Aky~k&hr$Q%}fkcT{b7K0dry-r>cUxH|2nX_KOPT9#t7F zcLpLYqUOT&ie_P+y20Q{A5HOQ#%qEt%(z+967YnaE~!j z(e7=)i^M>dG~3+R*sd8#FSyPdyG*|zGr25L$W^t=fB`Yf$Gxf2+~z1e7dlOeBvzi! zVO@Oo>a)L}M7sBWNjglVfK@zNE9$nkA*0_%ms&Ip&#lPl($1|Nx-srJO?S-*p5?X3 zrs<$oDUU^~9;Htrc%X&%Tdkh%Io>>a&gVitWmqSt=1fcjjrcNohTi0c?%82 zPg;?&!gUtB{$9jeB%nFB81>}L*;)NLZ`U(BBQ*C{Ga8rFx^9^2D6+`9F;6BRg*Gp_ z>Cm?Q#ujueymT#RkrdKKs1D)Rr9ePKO2@Is#%4R`k;7#)mG(W$`HS4^l-&x3HbDt zv<0{KB{;fz^#ySCPk?zE{ToqY&CtkhfJ3&+{RVG~)NHbqgYdYirsZg4{ z>V)}v4F7f&Lp;?(YWcR=r3}(&vKP8798z`@b())HL>u3ZNBxGU`=mR7r$xU%Ias2^ z;Zbp_1pF0ZzoB!oH4k2A-OLjF_;!jVr<&Y-w24&d?XHnauO7ld&E{r(tEde3>Jcg4d96<6PpNz46_Uwoeia^ zrR8SqlET&jfguydxxyqt$0S~LnS~5xmQNEJ_l=O1(?;PRz#s&DRE25UO-<%W^o}cz z9BHp*LBtAD)dvXF5K)&%XR3^6NT<%!TL1SGa{i79l)-MhgC~pV2IXYY9Gqg})tiCw zDK+X&*Fz@MwL6`8wEa-)Q=;6+F2>ZxCO?7P7zZ2TT9Q8ZC@KaLSwxsQuZunwH_u|G{!i4~Bhi@15nC~?;A z4>L}q-u43 z3!?}NVbI7$#kLRyPj_l_ZF9nC^3bn-$UssKR z+jJIiPN3(ytAOeH2Q;ALfE2}j(wkTCKk*)aA-3EnF0RDj(f^+#VL0p3Eim*2ldhzt zrB(IHaQ(hi_YhNByl{vFgW#D^59@x1!oSrHtTpTMChKisSJ_f2I<}kde1=S z)>#5=f3L9qnF^kbl?3*?eoYZhtMlVkg6+nc6Vk$SE@L z;drsC=WzoEI5Se-qz_eSY6^D0UDkh_iG9WNgK|hO^IJtWRe5D^q9_OA$O@*vFB+@| zs)WngSmR|zXB7$4;{;D%F*ECu0fI@G354E^{(>pFf1x5aF2j`yX5c}fe%`)_*fWB& zpXIR1^UiH16)~I~BK9I=Sriz3R@=ehB9ZUjs7pOxJbnAtU~$R1S3#jl3Vb71Xj{88 zk8fDhq-ZGCC;)R=#(Lt>pTE-oFKIz2B8gwx=w|To&r}6w{ z1Li#3+oil3T|r0_gS~euejhsw<3dy7^7;6!L=6V+^(D|>^XbjiAlBgS%2$(>SIbSn zGr2vO8j`DXPmgMm0#2bTugXFZi$(fSF(;q*WhoJGIg&m^vMF9ymcOHk6NM&`_?ux=yPtA%5U4Upgk!qV|(DFpg#8R`ng5ZBA zLubL-UeX_nc~;4!Ql|Co)X{HG%Yr5>OKgsT?0Hh+2j#ma0G0s6*}8!GBqHxr_HiA) zPX(~5{te~s$|r|!!P1}h7K_~*sOTwHde`*F#@D`YTc9%{3&?Wwk@(DIedWxfkqj(; zx;L_@+B^J9Z{^1e*gvkkxy%rZHj9L*WwTD+W^lhB`;J3q$#ph zOSc0Hwv7UotYeEi?;4aPT$apX!&RYVE61b6`^I-}ogJXZhcrtiO_0 z|CpvZ(LTWcD*kmKEoA9&Y)X3I41$S?D@egpk9vB*!mk3RZW4kF($puZyBx`L?cw_f ziF|4zYYdr5CrF1T69xkvp}0d-f}RN#J;}XWm>zL-OZ!t|nt#gn_D*FM_w>D*`(n3& z#KJiU^^eutfYIcCeOo2|ID$ht3z_;aS&K$z-f;`yQTFectiNU7_}nC#0f;f09Qjj; z$d>b-*Q&>4Q?gy{TO)bIh=!Zm^bv2bimX4Lw5twz9LI?ho3)Z+4eC(3ju_AMr-& z#y-neR_{sUnyZ*Lf{7nYv)wobfEo%tuRa zz1;!b?O{zR(Ck_yuNcGAxAj3!anG+YPV~o z=G=syv4{Too{JYbhSdW`1k-8|{g6i2+%f*Z5% z!wRrU|I|Eu*vPHJJOzM|EJdX?9S0+O!T?7ln%)p&CsND^9UTb7#c&QFM~{eBj2F(&YbMj1#&|eCAKOJ=?psT8a;$13lCl8{q|L^QiQ&{w6DH87qKBf~I z#u%hZy#I#p*Y;T}ELTlMv$9D0-a8H?z?4}Hb^QjyWMWFmGF|1KML=G3QqKs@UWJ=o zbof?W^y(V%2zYW}@pgWoCN3q*5k`WVMxIU)kWl*IRt~4UP9_P2&^+PZuuP8?DQs^F zO;}t{|L#?O5)HrM1-2fqS^OhrI4>XH`hW`e6d3TrCulo1{8)k`ed_>`%{`qkglOSi zeSzRDs0P|EBo`Fnqm^Bq1um5~j;xh7RDx4(4yvLq92=vp(*P9fyO}=e7SNE9-AKR< z`WGnkLqU)=8=K^~u&Zr`kpTkPgG*V*>ei5HD^Q0&tEi~pT9^PD!)xo_iJ|8^^4uC) zc)9PwnShREiHPim*v-V1u;U2G*4EbUEVob4&ZLhio1m^|+$wltgA(-pF9y9m5OGaN zy&V|ur#g5$J4ms_3MZEpLhcn*;ZeQnHfJ!Uc=g|><|p?Ko+fifqQ^QvC2FbfHaIvr zF`-k>F*7(Kp$OkLc*3HB;zD}Pw-fh*jZY z3dC<31_$Cvqx!3VX2|@K?nQ`ua~4pFlJw%!`k8vIIJ%;roSRNPF~yht9pib3`5ZtE;C zIgXKgHn3*FFVXrD%W^ftGGq(8U2A3=8(f{&?i%rXlAE`L%l0*|C*0$A&>6kTiGmWh z0)Y6;&l@Cld1JKD?CkN;st*b%UWwBsLZf%yh?A{LRs|!>S2->vE(mF#3al==Wh=Uz zN8j$?n7fYFpDWMh>~hua4Wkx$j!BAhU9H&>PnuN5{9-Gy9wYb&!N=cf3w+7y(uT4V zrm|e!>7P3js2f&#(w4@kk+ucPmDeJphnx8 z2vSIaT z8ShFIkX9Y4Dj;d~UnL`=q%G43Zs;`?=_kn#{y71EDmVAmNbqr`waF>>sI}uwe`xicCPl$$j;I0I) z*r$)1ZPT*vj_M{D2U9HEV};Lnl+;BgNQ4jmO<2Ohpcj8{TXjG}iA-+Fa$85;O>Pl+ zzVsg7R-rUYKIcZwNJy1$tR_bJDG?^*1G=WKr*iG8!?8^SuWcBc;7{D@k^hOYc6PMX zVeiSy$89gjMF5oT7gR{t1YLY7?P~w^vbb$b*1FuVh=ZSl80O?W>E(cY6&5%Zp%id; z+I1%h?1F<6?lR$q{r>&?4yV8^_vV8Kf_SdpNxWXL2c>Q}mZAUHS~i=-YE6i(Ik35Q zc6VKkoCb9>ZA4l}u9uH7d}f(*T5=FiSr(q-F-rqYqgpSA`algB(w8Fab_O$p0W)0J3Orbbyn)r>52laV=sv4^4 z0>-EHWF7HN8Pt-J@+gjPSdo>TRO1Ru>M z@!h}D-1pgxJeJ=N14ERkp3|3^x6!UMkqT>TjF+<94ER70DUaBLGE~r$xW~7>IYaKS zz9M7Z==I*_^E{$5RWOncxbnwAftmB(>1k3zjfjk zMqwuM?(5yVU@~5~$7(fMwexD@6k`Ance8Nq_0gAy7*#5r*J0#t*M1@3n><&Mt4;>J zQhg6Xdbb_DU*j2GuC3n_0eY8`Ln{#}>~4IbQJgfo5QD!<0J101AalhJD1Ujq=e*Aa zV2OQTKBN^nNmfM(Cf+yEh?RGj#c^x8841}Cj@#kV(LYD=&_C@E3zJBk6h6*QFFpe*D~i%8(EzBG-``f zpz~sy8J0TUyL9+lh4z{O9C-(#isKuYA*KF~PdCxB!pCisVywSPm3H1dAMoNEb>!Hl>Ym`i(RK6Sm1PzY9SX1%o z2h%zhacw!=aZ2D-$UHja8IvojDvw$uq zGMHh#Ia=ewTiFH~VI}dsnP?6BnXiOhi9*=ke|z^#IqD6!&DrOI@#*uKgxx#$j-T&! zY`s$jLU&M4T%a}UqfBWX9I&^H3Sk$Dc0u+M%tR04gekP_ywcp#;>;%NGCb=lJPIvd zW?pn6bF+*I<`5>7lw(E?f-z@2)|;#$)Dl|tI|A?gf^KiE9DEFNjm&nA_peldS0K~Vkuo%cg ziigv}i3?KN`Mo=qfWOevd|D)_RdKuG+BFu~6J;LT^sN}8P}wVJTr@_&0^_HBRCl}u zN7mjJM;`!}uRS0J*gwoj5*|yUtu)pJ!X$Dl8-f4=UjxxS=LN*j3ot z2BN53FoXXZ0dH@YGnVmnYF@~D0}JS=1762n<5^M+q((ZowRBUhBLix`9(KtKQw=Wd z@d&wc9aS?cf~L$J&HLxO zFFI@^K9{&$!VJCZXM}BiMBuZ*^~<=uPvj7r11d82-n*0r&n~@3R$Uva14PG*FW;0* z9*>o3;_1dLjJ=Kl0!UWNU`12+YvYL2%qRwG@h7+OWV7oT@;?9>v+J?~JP2hkcYp&8 zv3JcBP_qr*^e5TC0`0Co>hwLg=*G5Gg0g_F8j+}UW26|G(B4c7cX4@=j z!LhAVY&_N}JGV2yr;x=;2fUQcNY!~+J9<|l3qjNbu83Ug+*_A8Y9~wV!gpyamsUJhT0SisB1M;+SUy;K&3hW0N~OlL z5xm)kJ1BUq=DW-K>d5Mk`rQ{ zssgXTWVs5>|KSS*;Oz}{)vu4`neXz~S^#4PagM6a>*}Ut;kY7z-TtRAaY~`LSb2H1 z#4{o!d|2VatHc4g*{`U`;q7nR6;+jP$!I;lEanNzc<&NLA|AtMy1x}fakt3DtWjjTl&77 zUXq9QV*5o!WhJ6Lrj72ag7kW&YG5h`kN9SvYz46P`L(gLu@Nqx)lF3V?KAMMfm`OG zFNwH@)DeF{%?bzs(SsX=YR9J$IVu$8Fr*8TQ(j?rzW_^fj(c2~W-v?2VtxYdkgF4p z0*>dngsvT3v4^k|kk_VT&`E^ooRxh>T3{ zPCF;0C8fbWmFdx2j08ta_CC%Vm?;bVAKyU==~T4^_ z&~n?p?BoC)HeL53VXuZbyy)-l30aKpn4B;@S6*{-p^o}_D`z27jF@UpggXe-^FvJA zGYkHuYcKo}j9HhPpYLE-$TIW>)117ogsw%I1MSS4(KVKpbR#&+aPqBKuBl_k;g>9R zp^eWp(sA)G$tgYvjKJy2dHV9N^>ZR~lYxYcx5NV67J*xWYs>v*i^1Z1U~YtR!&$Sg z$X{<>CvIH__YlqqI@t8^Os~WVbwS;fJN>iaYITZHV9*7CSv;-B$_qLFpxzX|V6+zW zAf|#hY_b96A6L;US_Hpa&H$J8d2-G}7#WIjyBn4eEFG6pkZXtNGW{6zD@) zHs%U>f3|>0iNbCGa5*(xwT93EXbJb{Bgsm^EjvogPZp02-W8<~n5uEYHn8W1@K~u) zz=K<4rGz>UI$xL_B&*#$KR*x4g#o!lX0Z%jR#dv_{*;Q0|FTqt>1J3EEXZM6U6s&f zadUSxWM|@7aBeChL-xPd6SC29%T$F@10`$}S5q`I|Ewxq@5c!aJD9mRAB~uHew8)- z2so?S3ttTa1=2sAoj)OPAd`0FqVZwJI8iZzW*ZiG2%3`WF?#`GU-@tr?n4+ILJUi* zJ3*~ZOPs$n?{KHwJC!`M*~BpSv7(^O=PwbE)b!MiTr^(*cX9c}`6!&=3&b_=SmALq zT!b|WGutBfG+HX2H{t0n5Y5{0?JiCpf7`ONpall0Ih$64#jVP#peX1%sl5m2c-md# zIYX+O2Mahqq*o|Ox5hm|GqD|MFvQ&cZ=wAER}5`L+N2$``H8P-T$TvXvFD=gL2VAz z9qV35lRBC0otBs-psVR+Nm^fcq($*lyA9;<2CRO#K#%762^a`~sF#HejKZ zFM`RYTas-_YBGgO!!qY%Atnt;PLG;Dbm~Cah3QK{!(+u!kTbd66z}tO%MJj_Rz1!D z`77~qEx@NLbtnK>6~+MU1;A(}ll6nyQoUx3IeC`UR3z;-RtU`_{+1RBp=H}IN=V{e zl*Eh74#+jNq>qbhEpl1?DU+&+yhu0TWA~qDPdm$9@#Rbir5H|DYuL*3AN~|C{7zT! zoT#|lcfMyaCjU}CRjz1O{{wz2-?Rb+Uo3ow&2xGecG0A1<+?xdjeXC_a(zH8MsNnN zM~9TnFlD8_>36-b81hCemA287I`5l_55rEL(A4S{>0EqHf>$`lD=~-jN6}9-9SS%G zz*g3D5|xMH+EZ5C zW@&$}FMjie;|RLrL1_`>ZBAjp^V8lj3%EV2pS!&QQPU!$&^h<+ZF;Jjs(D?PC8Aaf zB>;&`3~P*|!P{}kO-_M%-qK1T4}fswT_;Tcqn`W$lEyU4r^f92FIy79It2V~lw$!# zxjFD0`X*>|8@RasZSnmBXCPeN&cTD|5H5Gap>hMuFw7jbp^Sl8Gcb1U?^}X(mUNyW zncpd@RW(&o7rgl~W+h=-74Xl0H`YrOB*=rCD0M?w{bLXJpP$A4q4)r`Lj--;=#coS zcq{?6=yVT@fU==;xx1WeNRpZ#MyzMGF-x`)KzwIvmf=WD^!`hQog;o;la zxYxp(zJBc|cW}ReB_Va;1l@k}#nH}(z?Y69WGdO;V(H_GWsb~mKtYf5hIOV3v0+Ih z#$9VXEgwevRuzCH_HCE1!*x=+g&%?Q{GCpudb82te#+Qj4vCtHk_P6FGCvc5*HK{b zCq+0=0SjDnz{8s4Blk_C@slpcYy9%gmuHs7R)UETsuUZIg24>YT3uVREa|b>m`2&*{|Bd|s3GJBB zgWO~c-2Lb8Xw;r3t#PUGWipmoTP8iZs5z@Y!D_Rs)GO-?SYG4$&PSK=jyvw+P4ZG( z{e-auYn2ZdDnZd9Ia#1%{|1kcS^-+p$PD3xq zH$m(LJNer&f=<^>{p)a}j2{wpOx5Uc=J81nP)!lnJVh1p=>&`tf7XrrDeu8m@--B3 z=W^{|-@RKTd;#IqEnqeQwDVp07XT8p00)fUK(W@jZu~|}NCSY!0*y$5Oaad7dXQS4 znr~8ar?U2za`Z#K*YvL5_CN^TAZ%w5sJn8DGo)VD)cwLKy7C_GgRjJO9uPb3h-GpME1Ko6OjQ&*wfU%r| zh&MoT!jB^QYcWKf4-+m!a@130%(WO^tEFH2*4-$FTLg@6p6GtN>DS42jdAY`ZyTE8 z*8Nonnz-KlHwmnso9hbWaowBgL0|gr(kIUabi2F`;JncAk%HhM@8dasKLvlW_{d6n zM;$Y|JiZ6+{)Wl_u6M0IqJoi3bHcEifV@-;X`__tHX!=CZ^rlOb9F=ng z@;gx5qqosfLA&mmO~flP_3h!if;E0FUUs6L2^TmTJ#s9`(WC&Xp7~YKE`SSA-A%wP zGhwHTv{xJ*@)a5zk?^$NLf)dejgUY-^yaO5=hV|ggILl$&tMbK)&r3!;X95yG!jm# zn5_m|iGjR+qNS<(jIQ=jR(xwydv_4-&Ft<*__}62TF7q~s!VU;rA&uY5^w58QFl1Y zjodN#pjQh2O61rSD)i;cl<%~J$5XG}{(uB=Ctj|)X@~wim@GZyoxyAbf9k>eQcpIM z-3i>DUJUH%bb$wT1Qde4lw0!ZvLOr+Qu77EW6-4jn z8;;-dk{cAzRlLSNV_BY-N!B{0mi?4TwZ;B7p`^=K_&~71++EQC9q`=gOwkG z{Ke))DQ}wOa@&>=1HKsOePRAZplE$sKIuK$-XMz|yBO6xa|;3d+&#VEJ<<a0!o{FGrUqTE$iozWK}s#%1)ggBWb3 zKRTFN(p{f3t1DwHJg`jBBd6B`<~?I*{6xbY2}_j)1JzqEed2Ri7B~pPF_ooC01x zmP=NI=e{LsBARu_cqipnuhrIph-A6&0+5$|xS1nG`Y?YUe)Ltqb3KDQ)623tLN=G* z5pSwiQ%mBw8O6$Vy(Ob5U=7@j1n`>eq%Q!VE7#{5nk==9j(}{GP{3v%!K***C7yXa zv|?;rTax3HUpGYN%K3KS;LInAPc))9pO`@d7K2@(lLPCHhDXMd5Zvv@{i|jABZnX0l8BZMKVUAl;9iY_c{!J znK<%5_DOw`!qG+xvPu}?Q+Xa&_limRfVtzDEDV#5T-OP9N(frBZe~24E^3{6{;5=f z&ZE?@>-~@^hr3KMHc0^9%4prCOWw!QMW#eN>ALg#gYO5Y%R77hh{DlUMe!qBLME%K zb-+grsIfS%$%n@C0Is~UnBc>WmgCyN0u5WJ00y@p(cO^n3C_8#v%XU;Gi!#SRHZ&> zx9^Qqw{f8V=-d8p{A7!S-0v*kb@mnK%hhACdl*3jfjsNr6z>r01{0yU6*fhu4tASe$Gi`g^`olK!4dng zVJweq&%^cBo>g8{9)eQPApww!;GNO+WdM)Pi6V2Zkf1GBu znXIJ=m)w67p$c+I%`2`3wBIRTPn^~LOu<%)cq~HeJ!3}yQrIZosoL-}Txx|#)-|P& zj3NMUgKsCcX~)%QoiCl~K^(uhI-4(UFfP(+JJ{8+FK{U_xR###^Ld7U*3~z4i=WKbc_9 zDO}Tfi*PBd88 zQj3FNvB=T_Wo zlyWomOt3^@7_9`mJE6nIMozjnzYS8nE=Sn zoR*`~2JlwqflTqxK>82)lMhX-P_IK7)Iis{sYi`j@YXa)jJ~H+2Zu5T#Y+#9RB7;V z{ZD2XNNPJR8sJ_Mi4T(^{h51s*1!ZzH@LgAGLD%Ix&BdGBWRIm{>w#Ea;}-d!}Dk! zyJK4}?H)co*{<6v#>P%Twx_UMPfU^Tc4&aoT7D~(8^(#LDx8g1>mmSSzQ+J z+kR6n4{ca)R`i=EJo}Yyv^J-Bsu$I7$!ZA$IOX}DxB=CJS%`rF+gxbo&HWGQ$9}-r zg^NjvD6<`h5i-iNo+L7ug@>Oy^x29oOcHM+gzdlnrI&9+&-9dB-fBc%W5XIX7rHwT zU&l02f_=rq&0tp7QH8H|V-3=5bZ2S2(M)HFr;+7~gKMa2IPUP{Y5MlW1qJ0T$*Ry>~>%q3%BU{Jmo z$>E0F%fX1C`kP>9f}2iu)23k>>Zs<07(HsOY$C`j7B>MF*D&(!Rx>rv4N4@XhgTv{ z%*BvAz$EqXhH+WM~D#c=KbfYJ<|1l`}Xbh z`pzMWX`cED>(KhP`wXmB*e40x()4f=4B&W*J%8^qFb_f%>TpAFk-J++y$88m#-Mtc zv=it79i;c?yDnf${FWj4qm}$X7E1rSGUu38YP)RuLyItrj)#Xwxf7y>wlWiLsbz{m zTJQg8Xn!k1v*;cl7 zfgUTjLEN7r)e58Ss?2(a4vqp=pdN9;@UQ^9{*hPu6CK%7D+d zA%z6tMKOyBn6HUbt;l-H5Aa<^<%7qoECvVqnYoF49YDy#+hw{G2f!pO^8Ocev^awR3vDYz?L?OWVItUtm( z(S&(Mw$Ogv2$ok>4H3p(OKEf@>U}7FX#>k;$**X-KfL``ys^kCD-DULmOC ztbs9MXJg0+pVAJ9?JOQ5m4n2mL5zS}kyd~1FOK`#E!;DCgSmvU&lvfi9A@Y}QqU<2 zSERzg?ciu)8m*PSy|=I7s3&_1Y2VYz3X6aRk5M7VtnW)N>bbP3fJwN;+KYEsh9Nsb z7JV~e)r5*LhN0i)EfJt<~5TW--x zfJytKv#nZq&9#uWl!G~K58MW6uEX8uY<{a^KZ1w>Spb5FrAjPfje6PO58ekF{W+}4 z`lFG3g9~$f7FP(#>cR9u*QV20#YI%isb=V2D#qAG z14v?PAyf?H@FvtUwQ#(O$NZQV6p2lj*_{}WS^XpF_b2CSBw!7U%<5)seOK`)1T(eo zI`KYHvg*yF3UxTFiqOw$?a}(jY8RAuh7*^d?J&`-v;TVsOtj@;BE^ETN9r#n(w&j= zk?Kkj(6-T5y;XCAsN}2_t{cBw?wv5jJszhPo&GQ3!QoArZ{!jr9o;d~O-4i3zUDPS zlmu$7D;f1Zf8E(j>GbaULCa{GC}D$qx)d}_qTp5iAGu`kyL!6Z24P@>Q-la4*c7%Y zig5u!r>G5?fB1u@H$@E{j{(*4pD>gO&br}Y{X>kCU8r_F)V7o9Prr_1yTBZkHelT~ z%+uoJRdILbO=Ne%`W%r~jNzyNezpRv=_PTlZFCt=M8(RoRf~pF&3U0Y%Pxuuy@5i%)0wYv^U?V=;r4o(kP-#= z??)O~^r}%|Vrw9*?4n8>=R%q4bi22^hXikvJU`VcqE}5>nMgKon1lJQ^It7tba^3~ zQ=zIbee!1@Wgd)|1`3_9gQX3aLxPs|$FG{?JPv-^CXs-22sDA@?@;S0ipWJ;UXkj_M^~uWRvt5g_7!tC<1ZzBavFu1Nx z&?=rQj#3RT8!lN4uU#jXu&rWvE%y6MrbgErD86?=_+%&uk8)8e|GqX+g@lN!HqXeh zkn+czbp{ubh?ywYQy2qR-6Uzm%s5*@AaJMd&8F-3a32xzg=Dz6Y-1)wNuWo7kSoU=2zl-AJ+hhB`j6`?m^Q~?Y6*r z+TtX1p2qcPYiJ$lbWtF@fnl5zo|~JuHlwWp+nK@UKKcuj7j%>zZwvz?iOx!$?Dh87 z7LQjFoH}bsPMO$!-g(m5`~u^BdXI3$_}IM>nYwD@8WqNAt11q}6IpsY?| zJpi+EoC{=sbi)`jW}=NlnI8QCYvdZK235+u>*uRfYfD}NPWw9XT8aeNGZ9j+q17Zx z)Rb-RY9q}~6eup%=0|Lx8I-(DFFo;+SDm$^&0tz%(# zr84b%M~%@2^ijFVVW_=ZMDzApB<2z()HV7aAAdSZdll;!6$FnlNx7A}UIZ;tk7S;S zjcl2eZD?NRO>M;)iY9JwJigw+&V@R@;eXI1Ixc5IF)1YVq?Vlh0j+48D@@Q^kACNa z;lAi^y_u*@MBBo z(5_A0gf$XzAC+7q)!e)cTV8`6r+aQ({FHC#i%siUpO^+RJSPw5goX>Dz6tdJOWKDB zx#{Ye_*aze8%M?j@<^cd4AD(=hf22 z;2hEpj{6849Ck?I%W-Lg*^Bu$l&e$S>FmZ9m!9m&1)tQf|C4_Cf^Knt$?MRiXj#?b zc#qNcYhOm@k^#0pnf__$?d$Ts*7TbGSt~n`#|Qm-nYkBa*u#xhIBHG8g@rDyx`|xm z_qd~J1XX_tOdr7qt`pkmhgM4zjV=EaPV}CH zH=_S5wSbm5PZo=OIPE)C7X{N+d@4azAQKqe38fYpxE=z0v8a3`#cbQgy~<+Gce5+k zy=YpKT>!$ev~eH~()V>~(?O(rN(=gB^~saGFZjhkWmVgv3Al>!{-Fbr2-H8iwUU_0 zx$b1-TKVCjCx{FLrOp(t;Q8d_dExmmT79%^^9^=&lWu?B0E2aj+3tk(Z?1eXdL$Z4 z<5xd`$1J1&;SqptrvU#>)WkgR-?cn|hRu&ZDyWfH{d)Y>;&g1Bqxx{I`#j+3}IhJmiU%L)7l7 zu9;>=)O3{j{K50gGvQ_!$5L&}?Cd<-2M?L8gR0wOd~!%RR<`Se@CgUOX?<@56y+Dm z35nzGG>EHy&*ds(+PcsZ9|xJR=fbE3e@Pd-;x;@0g|oiV$;}bJ8IvQk47pqg|rScHw6Yh?+YY(tn$2RNAS$uNXWhRgDZ3@)2yU9#gkU(Vx$JFgAUU$5zC;9&%oYE|k}VW|6nRLp+FZOf{@! z`ZXh#0?Hm0DLi&Huyrc{1s$i4x>_-J_e_CgL|`6X!B{#|g?W0zF^N%`5JmioQp4ME zHsMMR(pHz((@`{UD;^k9hS{jKW?Wwot`MO)5W0VN)gN!kz^;%US8T}A{2+f5@ybhuV8YHVu{ zwvi2G0dZt8P(FY|o0B_)S>YdZQpUdHBI6_=HXVqfnaOSdL=)Q!1O`*IhSCLqCnPI( zcl~k>2Xu7-k3P?jv+6++F}+`y{L~y+EHczJ)Yj`J0^6k)hVv~|3Ri+5tNKi}ot3Gw z!S=oZMn3i#=$bKXhbH=Vb0a(ZacQFEnSI%!itW20f16rByZq!|oX&B+e_8zy8t|r$hZY1$H)hpwP#Ha@$t1X~k(_ zxKb}F=y4ujVKyT%)hJ(4!FAlccqY%1k}=+xip$Upk+QOv9MU)FnB({_$MnlTOa zB^n9}Sn8t^`$W-_JCJaZ-Z~#VZ9gOD_7xsBIB#bJQU$IZWiKdXD~@>JS|$8 zw8TuvRcRf*ZVhu>8j@jDE4}~`334cODO#rt<=9D^g4OU~6;*g@aH``@+mEaW8&!$X z<~So!Gd<^0ZoI4zEt4ROw^3=7GmN&sr@~9{Sh?j{DBExy{do_eSLVG{I!kww!Jjlx zXyHUzhRa*%W+^I|-&X(m6JGwExS-f>g9neg8jJUB_y_N2)w*A_=5V~N8|e$nu4LtQ z>{5y|jaW@;^yC*5gh3=>Nwe2AWOA#fV6~F%-~MNn(DGhbSlFGHIte<9O~4vo-57nO zBe1c@l%ts?Z?@YuMJ~~Uel$?&owlQA!n2wXaEQ$~3Y?O5Jv;OJ>-K^uogX1Br+%GN zwg3Nc{_o40tV5ASMN`6M5(MRR!N}_hWEUSgH8s4bSh<;VlV~7-f%Oc;36{aJ#w_nUS4iiVyhK-5(o{+i^((#l!rRcOer0NN zg%u@$6OVHRSA98Tg-PDt!HQFTDG<3%1C^gZqM{ySjS@qjsGJG2QEJXm3lc8mxp*MR zWVX70Z^Dl1=TFy}D;fuSMb_7h{I)e6>bf-_%D@U~}`9 z!IfJ+h266;NPMog%r;!eFnE>bQCxOr7Bl{`+QSEr6kCh;pYRXe|NrQE>!>QTH|$?g zX^?INq+385M7lc;aX=br4hV8crMsk4LO?pCk>=1K(o)hAf`ByYZy%kR-^}-Y-}z_O zELpSU+56egz3=s;1r_A~jV zmdU`6_4CV~AQxzL==<{7i3su1s4*!$&JN%t4PITJ*2tXYrIGO3*1TTblITRUUb@1_ z_Fl!kKKS*M+et_-qT7CJB`%5sW_Lg~5lri7TtX@@^L@U>A`F=0n z_E#EIb9fQ?lq5p4WY%~wkpi-0l?(*(g0d7jq!b(kREtDbRb=x0h^JIbWP#GCXo5Yf z9U-23#-yR*_G{JNswf`iY8`5U)TIQ~@9FW4AWUY;-UI@a4i3tQ%W2CpV>PYu@yr0? z=(kVH)q882A3mHa$jxP=t|Q(qHcWpRQG=bBWSLjMLMR(-z{1f_pvC5`STC<(5-b}O zegw8N7-)fa!wppn3i4a_mTDYXI5bl;?U?|)nAZd@H?*MK|;-R3Kbq@<1j z;X?lrtaERi0i^*27|NG|wQK!{lGO^y0n?B#bG|Dduy}w#BMR7mp|=vrhJ@sk_4}0f z2;|`#*JXpZ%sDJfc*atn4|m7K;lZ+OmImG4mtdD=?)G)h{r;={mc#!Uy#Uz?<5tVg zzrhM0faNR6ZnnxyA!X@& zpP$nso*TWDSOzB_vRYujR6%`-78^bWq2@w#y06U6<3|~@qrglZ$zmMU5!p${F3;Se z6zIJn!DPF#LJ}=X%kS^^AGVEjs@>VN+Du*iDo0=Ai|bLDX|dN0MWa5B`jHXpTN;2P zRpsoCep;D*V5(Yt_`}S+ojNG;hj1fT&8uLcDyMi!qEpH}qZTsn899rwbh1F9Jt#5z z>^OetSJZhugoVAgm_VgM2U8%9W4QiudYJnVVRa!RMrpbtrrtva3%D__p`G>z{j7k? zL7hpxf;>B03O1z)4ZVbzguG`�B}Z61OhknfbbQLUb zQ36qTTqhNxavqp`_gkoT3-yfh^_6}v6k;=+KAw+k@c%P{I<5yW_o2>q-BLZ)6yWdt zkqB6`+{ZuD&px-VZ0XQu)`p*vx60vAJS@f{#cu8hKlgcgxCEB@?AOn&U&2d9ezoMA z_{R}&1UOb*$qF5E`v0}gKxV@8>;Ehsz-&nTPbSzOCGrR7BQ~d-T#KC;qtqZ|LLl^A z^V4oIDuX@~6*rja3Dw>cevpHTYNqauckgOYS4xi>+KxV-jP`jcqdt6$+i!~<5Jmh# zV{#G!Tz!R*EOWN+&z2fyQ=EV+1W44 z(W>SK5USlP3pckH$L?-J4h}rC%^Vt4j_|nZufnrxpEkiaEHyNXJ)pW){B{duw2v!r zkveyFqWXrnUNCvkbAp%RrSv!?<})R-vvc^t)Tr|iE&&sZs&a8uBb@qoedfmz`VMxH z-H2%+hX?u%V)yJ*dM#9yQS|tkU*`j#YIL~%cxseYo#N99MJWqi-W|3CP3`Qc!5ShC zPDM!r7@HENwx)hu$aU+(_02*$W@go4i=^zdeRA?`eLRr v8CxsDP55YVNyP#2- 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 Date: Tue, 13 Mar 2018 15:11:26 +0100 Subject: [PATCH 093/538] Update MaterialExpressionStaticSwitch.md --- examples/MaterialExpressionStaticSwitch.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/MaterialExpressionStaticSwitch.md b/examples/MaterialExpressionStaticSwitch.md index 0969e3242..91bd959af 100644 --- a/examples/MaterialExpressionStaticSwitch.md +++ b/examples/MaterialExpressionStaticSwitch.md @@ -1,3 +1,6 @@ + +![MaterialExpressionStaticSwitch Screenshot](https://github.com/20tab/UnrealEnginePython/blob/master/examples/MaterialExpressionStaticSwitch.png) + ```python import unreal_engine as ue from unreal_engine.classes import MaterialFactoryNew From a98cd6e0368ae7089d881c7173c8db46b13e1be0 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 13 Mar 2018 15:12:44 +0100 Subject: [PATCH 094/538] added screenshot for material expression static switch example [2] --- examples/MaterialExpressionStaticSwitch.png | Bin 216428 -> 215637 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/MaterialExpressionStaticSwitch.png b/examples/MaterialExpressionStaticSwitch.png index 59ddc5b061c2ecbfdef5d307decf997064862545..247a19eef30b08bb0f9e667f3cebb638f05d87ea 100644 GIT binary patch literal 215637 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�c0w|6fO4aFQqmbB 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


H0DK1$pSyi>B z4J|U(e)QPZ&b8i$_1_h#Jt`PC8b9h(W5*dCul>k*Z?;-%AtiuvL(SaYdS_}iF4dOy z7G+I)Y_n5!X=m%$9RAOEY>w5l@F&H)em;Ifb8nwvH+6MhSK9ug%KI)9$r(*omXuKnV>{9tGAQFb)m_ zEkVt=RJPfEBXX@our*+GMQEFpdu~wrVt)sQbCV#N7cXp(X__=$z{$-9D=O)6;V#wuDr}&lPj#>oG z%T&Tlw3c-&{`i4}|BUs|b2Y3}AtV8-t`zM|wVmD@0(+&>sB>W0x)Dw5nosD6pF^(* zb;^Yo%p~vPt;wQeQv#q#t97-B&BK`1b=ytD2g3pad54pr vt;$xu0t|S#g+u-xQm)A>4rVzX_@;J<8Sy~+rx#7@;E(g_I%jiFTYCRL61;)| literal 216428 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 JG~c$y&HJRM!G#_ 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

&` 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%0DCQ~@=sHZ>!IDt>N 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

v>Dv!HI_{2zTGLEp;au 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

nD0ydF5 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

xpOI%@iSz zB>PNeORDc7Jg%)DV2Q5~$sY)K0JR$E$NQqS%pf&d4AfRVDq;bT@;i0Fqs|08wqE@o z8SwZi@r_4OZxi3xL-5Dq8?iO%56Ol9PJBZzMB8XM1~vNPuL)`p#1xGM3&a&(z$Ii~LO8Oe}ijQ1Fr2iaNP=$$(*pwEu{WAxV%y5KX!Vw`ZAsdk42m>-4 zp+Wd?{@II>Nqji}?7sliKAeWN52s=6!}(1(!Y50}{&CFFiqmud_)SzumXQ4k;RydU zwuKHy_@`fp5krR~{4*{Btiusn86A%B&kRGP4oCQBvqEL4Aa!i5myrFNDMZ2%{)BLZ z|5tSwZtYYqA^Y!DDDyy4DwmLTVwNkFOUQl`j!5Mavj4v8pz=XiDwmM`TdB_>S1Ol~ z{oBSs7^HCt*}pBBHOo)s60(1Ln8oBnrvuO_?G%vO$P%)D-7lyYmyrGIq#>10mXQ66 zW@0duaD+c09N}Mf5zsmu;a`3oU>%O|uXq@+4oCPeeF?A*NBCEM16YS6{Huu9;Ryfb zgmpN=znZWPNBFO#DeG{AKOr39PY6f&uk)fdIvn9&cNz58;RyfrY#AMn@ULfk*QmC& zXoL$PKAk_PKdT$DS+^*)chIW<3-2}}<%g}2F7_IcPqRntn;a(UD>>7p$s+bnhw|AG zlyoLh+?V*1K}(Cs(m|L@$gqF*NyNXMCZJ7uJC!!3EU+CB{mti^@=u8k_h{DSzP)f_N-CK$8LfGS0#CIhepknx&xfv)c zuNJv1P6@KkM2fY|nrHyko^MC1+IpL0PM)i!H9EY-`EMq3UW91}$9JnKJ4A6stAU`E zTTNI#Q#nJhcwiL~v_|Ako<0K!ia3aAW8RtPkj7+xIKO%8DO8fpNOo+TG0P->L)SQB z(+skID@?1gPQ4WQtfn`d-1og5zb*Loz|?qevF)pPHh^Lj7G3leZ(Lz?t1q zVqr1f*Lfeskc~vDqBT-YY8^NmlUp>T)wBjpkRPw=rQl2`cngwwn`3fbVKT1e7f5!T zIUP$#Qumx5pmvrr*uI02EY`^u6jxA%pUuFZhZ6H1Om$jp4%k$uLm{* z_Nt;!V?_@-$GNe282A%3{w4A!XuKE6gr@ou$pnq7dm{OGOvQ7N?7R^cG6~W-F|vw0 zRHyVY;BEx5^dSHb0qE2SjKtZdjL?*h_k}G+g9s%tOFcPhmpAU3Vb4>aDV5p<` zrav92{L2uXp!^p|CMe&g+N-+6we3nx563kXEi1tzS{?_WQveaQAJI}3?TqPD2DS## zXAvR*35|Iwge2&5F_H=TJi_Fh$@nay^!MM8{H}UqA=xyfsF&5tsCO)YPSgLHdfQ{x zxgKnjM7=wpUV=VjAVd|-i`CY%tNRkp~5@C*lqrq(@`ZE zO-3eE_bt#8Y^P0c7S3t9Rl;ZJTFA^1Ex8a~Chby6f;FPk2GCOAYSAJ*H82$3CRWa& zY8xnhCD--HRr*JuhCpyd3-D|>!Au9H@&GWokb$9t4uLh8h%(8_CG>oW0}SSy;|j3n za*P|y;-5yU$}=NHRUq@9Pzdc5j%!sKaD3dq5FB>`hy_=x?m3_g6Lm+p;X`(Wf<^RH ztdVRKQk$gQw`1jwWVxR@<&I>zReijwhlfpG&$)$bZSxY{n4?LZ4{FsIqt#rbt1-0xjP z*UXYx*&|>WB-NUa=UO-CY*y=9sG84ZJ!>|n)LUcqnyc%zWl6`$*x_b1vR=Puy0T!6e*VApbiD`Kc&vW2a{dMS`$t#K174f-MCa1% ze;$v%|DRhxxBbi{Q(ekH$m2!>z0f->>V(w@)$3r@&cc-~dG z79@Wjo;OdRAtJdr(R%y2n9r zk6Y0_4kozA!CsW@7xy^WrxGH>Jq{+g$HD%TjJwUnJq`^ULngY%p#=9h6myS5lg=Xp zcUXrKR_jA%wZ63{G~r1ww4!?)nn?Xp=^lr~Jx-;29Gc1^Qt2LtWVJq(esJjQ-NfF} zj8Q|c)~6BewJEK&9hzxlW}8a)I3(_ID&1oP(mggH-D3^HrwGmNhfLyAgl69jQ2P`b z);@)XwNDW;?y+Co(l8Thqh9mL#}kX$DwUe2!k}b$04&?pHBBUwEYDP=Wvg`_7>D8W4rEkm@`xW}R8TmsPUacBij`Wp8* zbm_H#wR;>|`5VC6Jr1oRUc1Mk%L!}uIJBCuc8^0>(v-D(97=GHLkaG2=(^qD*Y0s> z-C*di-Q!TgYJF%u+q*_(&`$eHx-a(%LSa=(WlpnT6yEbSk@Y724 zqPs9rU&+}{n#^nC=$_7g{}GgSOd{hB{K?WXZUmS{_ZapM5T?AHCZJ7uJC!!3EU+Gn*2i%^v8unz5bn9{k!I`r^vfO@q)^y^mv>(%i7su-|dtq(mt5U^gY4?Tkq6`9rg&@Qg7>ec$t?u!8H)%wsL;&WuRKJ+YM zy;>i7j&QMVAF9w!YU#D9Stj*x5HA3h_Wja9wqy6TV-oH4E&gP^hz>!7+~K6Ul3jC3 z$1x9hd?1N5Rzvd`8|Vr|CM$FVw$9<7K?;8$gx2V_$0L!+nmTCupB_Hik6_0e0pXj-`E{T@3@3zZ zAd9&MV)aDk!ZAR<3UuKt0Nm_ccoBfF0H`8{>#g(HpsRt4N?FIFtYWULoyV5wi+NtB zW)LmRoVYZ@1s+wzVaZxTh7F*7BpIt9vV<9zQD6fyc9t;2awbc6f-e&?u7G&1&tQUF z_!4kEfGd3+z$pOqvbqpU_X9T_xF;n87LTL(tW&uvJq*evpm5(aRIw@Zg8RmE6SsD+ujw*yn_QI+$_c8~)Td!rrsMV6}MJlZew=rU6H1KCumN6#BT z%9a(Zk)+AbA(r5^sbVE3+I|^Z*kw9zCFk(1vRTw6L{cNIR^?{YUhkLXTDq{eBgDGk zPZlRpm1C&s-Vz7HN6=R1RL5rgdyttk{>VP$ z$G^vK|MzG7M;>Lgd1x`IH6t(P(4zC1cCPfememQt=8=AL=o8;6=|%ktF9HcX_$iyl z-w!TBzjwbIpqb_-(+E9QDj&6!>677Ur`-xrd3YAjYC|+WN@DX!ypNV(WvoOoYhcRo za4~`~<(GUJ%-4jcGa$z^GD&$D$>2sX`=L!O5FtEP)ggJ@f-eDI0Q>^M*SmaqH6etc zD#2sVQx*AOgCif}z6JTCupJ)DnX^(*#Y`jO6lsu{2;n-2WUIh>u$`hsw7MjosBbO9+^M7}AD=I4 z8etpT$BIQXCRC!`G>XpYj~Yn@r%?fGr1H_ytw!c4MV?ub=kF#@BlDaV%hRayq?T?( zmif$bEoiAlOfF#Zmq@BK4ok^0ETwT+N|s@%4IjvqY;v(b+tLu^N40qnk!DXfQrKs0 z31~8lYa9Q007;e32P`F5xbU2&(e$>#j?HJFm)xZvunGIfjN#~)c))D;*$7y;lH6~j zIxc;wluKVNbbE z9LA$op|sQjg7LG(Ui&2=pi3C-Z+5E-OAXq^uBs$=%k=gQLl4WI&oNd-8lfB#}q{K7#4t4=lvaIYqp%kD#nd}|Hj@2iV zy+ft7<$SAm7~f2KS=l?Btr1cBc(gBd4~6o0v@b0~gz|W_&p965e;q2GhM`wS3Ih71 z^uu@p8-l}r$BsGUavby>&aPMPEL10WBGDfAvBZyL&Vbu>8Q@XWC*sZ|jEk8$`yEc6 zlgJZwABN1}$%M1qtB4;%nK|xa$~=`ai{1T*KmA1D%iIC-k0pP#n`3!!9QkY9{VD$p z;_KWq2u~n9)V+y36A6!Se?s^y!lT_^Q~qSaW88}Dl#z85T1OjbRv%hgs1SV5RV0fC-A6} z9193fWG*=t5I##l1{%UsS%e%52sh+If*cD7pZzAWcQhlscn&M*91EbdupOS+&J8jH z4dIz0ih%|LGSFZ^1{yR7?<_o2uwSU`9iJt#D_>Jpdq~SCBQn+5MD*R z4m5->C#(Yv;njq7pdoxEU#mLM5MIk_>!aM^s|o9)+~Moq1iub6gxBHAsV2}6zMd_k z*WttK+1@oOo!M}(R7LrNK4EpeHtUu_?Hx2W)@j~VM9L3aBP#alwP__@&O0;{^_84a zX)?^!9SR-kI3+5sz1MyLSihFB1)w<=AijPiyqzYXO?f+&Hl{4FF=c^`DQ{{4m5;+eE_fyG=v{*=VdqYD0lcN&T@31 zA^h|hz&g+ne&$@j`dC1C*JXfppdq~bM!-7I5Z*()4m5Oe zCYT|rkC}CMNa+YE1tR5PwnhF8WbDF1Hh_=wKdT9Tu_|Byp$l97HSiT~1M#U=O3ehR zNZgUaT|m7G)C!HFb5Xn>xW59YI*q2>cMl+)B{FwVCdz)775EY&i`5*5cQ<)Y3LvfZ zeBUYmB$l5(0L*D1+N~ie|1>t%UMfu7Xb~=($RT_$g;#^WWCpojB-hDE78ZlmkL;Cj zQ;Qg>U>(X-VPD`2fUg%k&MPYq$@p-)I7^);fX@1uv?^^z0S!P-kaAx~wk}(MT7^Qo z?f{UqwxJsXC7XaKYX)Nu7@r1PIoWIkZEme_(3Q+kN$%ne;H+WwROi(IM*=K@YlqLl z^HU@k)MzlfK+*M`7(lr#K)uCs{{jGUr*5C~Zw(f)@p!8)0Ll&_M?QoO1%EmDwE_;h zk~u4xt&&-a5687=0k|Mhi^UL=KY*>efvuV~H$`z~YBlkUtr*J&cGegaTa^=IyNXHK zNqz?(wI`UAo#b~=$VW(aNBG|QC505$qTggCdn2E_kw|vuO7>kl-LN~Ra2>$i%y$Jj zW%s-!_mW2AmsEHl%w-VNTL<-fGy~vm253zzu(CNXa5}SaCusMA=>(xW6mIz52g+_x zCViJu+yaW&q1WaB+H*cl_jD>{?EteJ3K+|VsFoe_{LGH(fJ(?*q5b)6m~+V8Vag=z zotVZqxXOQ@=;cHopm;pX@WruuD$Tk=q@hx};VvTEbR-KJA>d-l-;Pv?6n80!osV%^ zN0R-K?8P(CiyE=>1g@ZU`F)Vx?E=vC9ssVj zEf*GE3jyz-RhA+<+tag@?b#^pxe%@P9Ox=lsXK*UFBI;RC)YyZI?uuo0WNLo#e)E{ zmpYFDFaSA=a6pLsqY%JARQ2y{+|DwH9R$Z-;H;*_*p=OpcG20QVZ09&`~3Fr*n`!@ z>W0>ItzEjL@7#&X>T0z}a^;eKu$yio#l}e9XEa+|r(J6=T2dI8m!i%>;X@%9s!{;9 z`~$fH$hm^V&i2C>LM>}J7_9OlgmqnO4_&B=H-b$nlNYAcG1l|Y@kt=pODFb>aKN39 z4FY2mI zMlWBCv~4ZC(Eh{1Gyw}*P%cZ(vhWS`tC(CZgj%<5XZe?jqjNQ#R&qJ-s(AtPC#&sF!A7u*;pYskHi}6? zsFu$$->v$}=UU#K5q^(IzKmoR0#5jI5g9c&AZgBl3@*1FRm-K~Rwc~9w_B827*Q{+ zf-6%_3hh?UmzX+64Wj$eX7muCy*5#`Th^n5OF6fg72_31Tm`Q^AJ}7Sxf3RG3At#= zS|X>xQQNp-qNs|L9l_2qP5{jxVM?s;16ithdtEeHWtp>e!8V;>ghfvVqkH8)|Pc)(A zctP;b!E3AA`^CbBePDrmk;(H4gy3K4mVZAk|C7RoM+Wb|A2y`g31Pz{L;62*k;V5y zgFKS)FP-`LoEh-nME<^W`QY(rMHAB_h;C#7rvMcH3RyQX>zoQ;%taP^fbcMEmwc?8 z`S@?|A=DRH6j8!;7;{sur}%_(AI?z`p49M2h)kaZ@z&*{`%K7g1@b5pvSXOe3E8nx zoseA}H8UZ*h2VEWc45E~<&(IZZ&+(Q=Ms1GCB)r)ClamWZoY)Ln{O0_>bRS)p0JL) z`4Zx8zJ$1&FCp&cJC!nZ+|8E|ck?C0-FyjgH(x^B%{SpPl%?ZtzJ$1&FCp&cn@k=Z zck@jltmAGzC+@~)Ee|S4SGtrw|KhJa4JbMP;+HEFdHzLT$06rm^mQC^{^iK)I4DV< zfARNO1z6&4M_$K4$sXlty9onW@eH)OJ_-{Y_AvSX*=>rikwM?4h?N7tiMJ^RJ;4cu zcn!%>nBc@((B&wMzD-e%!UU(Xh!FSs1RHLE1UU*5Ji9Zph3;s^Xs2&eG)G}5Er{C` zr;yALoW7q>j=~s_Avgmv1gAlS;DWPnMJ9<`1ZM}_)K%Z6NLa@$G+xIog0rb^KF3r=qayAHtxXWR)`hv2j_Is_M-Sq^=42rf9A72;7C z>S&I_1UFNNgy4?6P4OH&jQS`{@ZQIui#ZCT6Xqz4bDN?Zg$drb0c_?dOmHjpF-Kv7 z+s=nDa}>t8O;L`*1h<#77#@Xb4gNHq(9%a?g6p27UivmgX-IPvCb(!VW)KpBJMuQg zJAu|AxZv^!0Xw%Tz7E*AP4RQUIs_M7nS+vb2rjsacpZWZUQSqt;DW0O>kwS<%InbZ zIt2IQw<&gpOdWy?uG<9to!b=IGR|#^Z0{Pq%GC_<>HI1@ux<#qIgWe3dZ7n!n zCQ^Rb8tELhz)vfQ*#G4)QD4cKE=?A(c^X8rw}EDHN;;Fsn2A3bTE<~;nxim)b(EPlKtj z5dtHKZTubz(KBArv<7rEp8A*jb;wHb+MG^_%DVcrM&Rvb^`YS_y$0iM*vh~D^ge1q5;|Vqc5zQ zHHa6L?geTNXx)hG@+wkmkSco*0KMqKCb0h+&9xBB^q$L|KBALVybaV>r7^ipitSFP zUzNWOJkJ=s$s(x7?GP%OJxPGN9sp3`@KsX9;yOH7Ux_rhYyosWKvTZb3c;tuUld7iE8d^>SpDiPo zah~u*B5B@wfUag(B0QBynvj;p$4AKNTADuzUeF4jjHV%J9;S?3dTYLg6mc*{CWLX4 zk3z43s86Jbbe)wD=EzToN3^;o<`KOGK6*szRs6@l)!YByctoz8IglYYv%7x!&FrrD z&Fpro0tgU~$WFYO-8uRmKo`5qIEfYK$Q{3#-K}qCr*q_v@0)PPFKKtjFKKtnHYpGH zO}MY2@A8B9wI>%^Xm8mpk=!{z5S%Kx>`s=>Z4k-z1;FAA>GTHt6_+V_7D13GmE%^T z%alB)9vFT6y?Z}^j+gW9#n>5B$}FCFFd|P6@#uJ*-lOkzr)%XowuKCItvn}uNRU^& zdxncMM}NvYxsKxLPkFCr+2T)m^=0nnD8evwwRlgy!JGgn@t%I#RqUJ&YVXN6ob|>z z`XAiOpk0b!CBCnuU5a3LveTu|X9mQj&}Rn3r8x4;z*)$qU5a3zXQ?fB@E>_*fRddf z^`T)0$n?+7475T!nll4jRnmS$XbQbY9;pva7z+mRBlMX8@gww^0r4Y3Q(1)g5ut`Z zBA56Pp|j6Kw$L5TJTt%wI!Ed$Er>G%O(fHg(7W)(k1$~T%s}WnX9oU&OfvZj%^nEr z)RQj_>&cgf_2kPrGoby5&^YE0KO!{#kW`d@#F1wP*cMUoBSO<(2D@`+;B~;-k2vzo zz*O)%X9idy`VrL8_z|Ja6!HUS1~{5&KO%JR7_^@8BXq*}5zd(b@gqX_aUtIL5uvTr z$M_MUZ3xm(nm#kYn1MM`AKE^Z#n6wa1Ap2kkhC8WTK5(8(q{&wA&nmqTJ#Lw1L8*< zd1l~sptTa790VHPM06HM!MK* z#HN)*?9Ut~>MJ?ZrO6_86bQ*abR2517>l($o9W6A;> zQx@2m@^;ZuC9@*zZ^w_|wqqVscKit6JDZc#QY(5RMmhHwyu7S->~`gTf^g<_fNl2_ z@K{-dJ?>u<-<~`H_Zs3m5RSMnAU>NsY3?1w=MW!t?;}2!aF%-_;XJ}Q?%xvbNI2hp znEd(7TkO7{_yWSE?$AAe3%3I}I_TRM!0h*P@>7=bk-PS>Czvm2Oh#FUY-j7;SpLDY%RxturgPXGW@Y5{Jl)WcbS6xTs3kb5(m zaWU(|EJH<&ws0fz#gSgjXZvFmlrPugFJ^`OLy*KC=f!;5J0Vdajk<&~PC&9e3PG%w z>QG1F^(0ucATvuAb0wWE9=S|(#85O>4!_!Box}_|2iedk)5vl}{wc&(rqFH{V11a9 zYee$)m}E(7qZUvXQbRq(?H|aeUaoyRhB;O4OqOvK;SsDn_^c*ga;7`;Dt6|0)|NJO z73;nPsrK|1*D_NT8)^)4jzKS2*L3fTWao1H+zhrJg#fHE-AF4P1vqK#pf2O^_tzly zYydENaf&KE9)R053HwK?>FH3~8cI8T0bH5xbZ~mm-Lcm`vgFooq?F2bHYPCy@F|{! zEPI*dwCj+i$NNADx2k5F?+0~1sk6QYweva_Hxz4)mjj3rSPGysfNta}y$z|PwRK%K z;ctIni=$AI&j|hhwKZJbJC9b3OWycgEMzklK8Z3e0Z#`s9XYgz@BNl$?i**R!q>sT zOT+sch6N&mY;sdY;Q`QTF{6YoA5AE)L%}rV!m$AO9L|gri&q235~&r1eZNfTmAjtZ z`#5{53H+h_dd?V0!B>YqXhmnxx*oW?2csUtZTVYatxvto1^l3muY?Auv z6EJzp834{R#Ww|GkB+giY|CW3Iud*@3lnoVy%U z;QQa&`rdNaACSc?ceN0VUvVZLoqY`%e$bnj3E3xmc_M&L_g0xrx6&l-JL#} zdXKxfarEd?hKt+T1?qTC7l)A_?ea_*Pnq=dJd@8RNI%bWJ!HBQhLu5MsSGWePj7li?B;bAJ zgs}|7^*q0<=V>=FQ27rKWaTN)ou$!D)F1B>H&K7QOWedGKi>5OvS~Ll(5Ew+RouiQ zKi);jj++=9HiAt5Y`JMR8T4{f2syQz7@Wc&KHbFNgh#;ePnVlmgt&>p2F{Aja?@kP z-qFnECRWgK6Df_$O@~STSC^Z*W9Tx=O}_wWV)U~K>$!DM;2&OYB9~ci(&rPtzud&O z&~9RIdJhb7&T>;?}9U0qiU{tp@BYHzAr9TW%uWS#BciEH@E$mYZnG|J`yE=l;%e zQ!Vs&mYdiz&TM1#IARk zsITNqmnMtIK61&v=?F?XlgM}<{$ywwxL4D06CVM{cK$#sE*P@*E1;RnF!`#XEq*MvVwCq7q zz(dmuJfJfI8Mve#fbB5OPsutltqdEx;rV*TL(<($Qm z2C$@!kT6RmR6tNinYs^PdvAk;j-uQEig=MpnRyRjAAE*nK39!unT@G}YbbLdV{$x} zjcM;O{Q#$7@u~1I3RxoaBD2eu`&%=5A}21sK|AG~z#5%GeWDklM#yJ1od|D5*XR`1 zs0f0@r#pq}j7O@N<)6y@n06L(gXU>$o}{&7@*6qPKArLwfw2?&VJHOGU@l@!c?ac| z90SxA&`PQS{FXo$03QM9Os>-5NEHr;D|IS>UI4hs7b0#!HTZ!XO!4#rSh?!*5bzHH zpA9ZdD~TVKw04BU!j+aT2f*`Z@NgS=d_jyG-MHFR7+HcX)0jeWS_^iS(}k^hBWsWY z5^9VVxh2*jH?l>BLMv&J8`&Z=km{Nb-hNs;y)a>%#hh!{z!y^-S-4bVHOZ&3#AGg} zxGNoT7gO9Wr1H7V_fls18&X|{A}6cxRlJ&9^TER=OTJbT>A$ zlq__scFkEzKcu=Y0xzrf-C1*4d?BSQzK~Kb-z&P~e28_s4szDaC$ECj+t4MnIQEd9 z-qKLhW!SCg1I@yv)QlaK{x&I0sfv0ubhr!Q*JBx(N|z)bQ5fmlAZ5_FDmXh23?u`q ztjiI0`JqXx%J{O2E<@#m)mHtFi%pJSLZO@-x0uQCS-95XKX7vVFHVDheAkzm29x1O zrol4V)YD*@Y=YC72J7>k?JTq*CcJP8oe3{NOn51E20$5k@dDh$taD`Lfz#XMnms`L z)V*Ld7jp+Njmhif$SRr5)w#&u!V#*DocQ{xUi#uvJ(~+1Qit!mB=DuMp02wQBV<4QBhG5 z8D&OB(b3USRGdL4F5e6)4*&a}>b^6buKX z!HFgC_dh)fm{~|b8l1ip8YCbM&gjC$~_*j{>HIa}+R#3cdfS(WWotZe{vM?Q=o*8 z0;WCTqkvaJnG=u(cXRDFd=zj`X2W$04!Q|TK+*weaMSCwivekHlQ=Sb6fh6Im4LM6 zQNX(-PWprbS3M6{2c*HPKLxA<(%^Lpx#@s3xT-y1y>1a)L%a@1gVz(*0cmh8VI7bL zZ)8)}0qH+J3b+gSbwC>2^f>I-0clWPy4C?{a5Mew1f&nZv?N|oeim0B>YGgKUGyHn z5>b9gq+IBYBx$d>LBL^pwL_R_uSh0|%VNxvu6RZZN)nS0%)?KL*5L=}tXq@-xHA!MK&6%HYRg4LRA+Xob6Fs_Yt)bf&yH*N4lR znNV2CnWjv}6jjVrW!=UYXB=UM07vm_H0*7h0(aGZxAY@AvI*#USW>TWiadiA1 z1{1VBW`+CNoZOR0z72eyi_7N;u?R`qdZ7BxptKDFh^RpTnF%p&m*H!l?f3>*J4{a^ zHf`Svgj+zsU)JNaav`m(0d^&RjfP3M&vy`iEfjx2nMB(QY2;Z*6*4wmOqXLvRgt)4 z2~|u3t)t9D-?$Ij3TEQ69T|0kLS$}~w3Aom3bq0N0`N70=l&M!rEKA3>_*7c~MVq4y3Ef|-EUoW&rsbrNEMs{FOB}YHkyTDfY{!;Qd_IC7E$lp)LQ_YHgil^@7vTH zJKXW*+tk|`sggqQvM@h2GlSnKHnOSCSOqP*=}9_W-tx?qrpFeSM<&&Y?Vs9?P^4in zY|Xs~sFBDemuq}=1fBx$B!IU3s^&KYjsU0{f#r&=h}T5o3Z#VbE&>$&jY}`3SSdxy zShN+$ZZDrZ9?zYIWN;+ZFr7aiDZIegb{T%tfi2hyPM$YaAr{Rt49)`*FH z4$!t7a?*uSvAwGrh3P7v?tE_nM19`!6^M%2{kt(Lwy$Nsqr8q**>RF&>@VkBadhon zAnCc{ZrqI&)tC93j*~CmrQ_sep5cMNMTh=HocuWiJSl_0ida$3UbzpG zE1uTlfx!gvTl~>St$6fNE4~%p%vHepug49`n?(>qCKgB(ELIjT8I*hyUc=AVNPD}G zHG2WUrvU05Lf-Z$yczcju+BRZ`cM@ohW2KH>?@^Z-b#4LS4NY(JW0iOi5!%|lT>^& zKP8s)$G$6tLGK76L(9N9()9B96n}mIhItt{`#Z!D1gG+s?4ugJBd7zgKI{mZjbHy- zUgi=+DXEp;!<15j|3Rev^Unpw`}u0nyYvGXVQ#@y4n}b%jlFsskXWks{(J>NuipD} znxNkMGn9(--XG@TH4r#P?BL3RKI|m2x;K2{zZY#T@~nN}z}Y=;r?dCR&jr26bMlDx z^L`UKm=3Z0Jo+he$Rpsl{r5s;a5_=SRlKniq#2!sJ)z8CA?6K6D>F41k z_PNwq;OF5b_W2hAU*hNCCH4j6FZc8C5_=r^EB!pY#GXKWwV#KV*b@m4_Ve%(dotk~ zKMyalrx337^Y9Y;Lc(MHJiNrdi0}n|9$sQkr_PBgP>LUP8(o#|;U!U}R{|x6mqc~x z04MSAlBlkO!7GQCM0H~+xM*#cvjwf;}@qbhWHRJG- zgXnKD(Xrnl6rxhh*RDd^s z3#~qe9ZuOChpf<$B4GS{APEhn(aIl>`VQ3)HkA)&q6{SiA4ozMzK`-LzdjQMo&iHF z&P2Ht49=M-l!{|PLQ@3PXQD8RIKGe(n*Iu;;&{qxXvXct-m{fwqR?+j&SZ@+sVx>~ zqP#;gA4o!TM3p`hML>Nfih%k|6oSf!Gg0_rfqw%Ucxc{ofY=(%tOPdwv#3m9%m1R_ zDc5u+3ME2}#X{pxNI~_PC}c{I8VOxOUnKkWnJDqN`(*lOF|%1IfOGwy@TEqvw!j}l z{G4szFZ6eWr$h5tAfAaLFF)wRS3^6f#2-oCholhxB{cHk_Yp9di9CEYw38jU(UZu- zS9M~pH!(!6U6g3_Ch~y4&?CQv$=`YtdH8DRQQC9Lo5;ggL%X>L7~1riC`Bw;ZXyp~ z4ei;+YPEZxKoZ&{jtrlPVnW2vPo;+R;j8{%)00=GP?Mhz zB%!O?1GfB2nfKMh0NeiK9D`tU(LL3p=WyeKc$|{^mipz z)*%)T_7q-Feij!WOhuwKt#{EGfQ9!gBIQDFq)2;>Fxg5X%o3N0_KIYRxGcgP5M`uwJkH+A{lKCXS5}p(H6-_)Hjd`Cyp|1trUTS z5J;B?luCkWZ&8q>a9OEp+gaXWuUe% z7tDzX9r^*d7ns7K08U!oy7x z;KZ{A85e_o5cGMVzbf>Ro<(yz;sIqbx$uBeavJ2@Kz7(wP85Cd7y81y+C9FITU)d* z{z6~81S31q7k{BIK1QnZg2~GGsv3igw|>>~qD)Bcg3`{AqcwO^D;W$NeabX#tnn_~ zuS)3@d9kEyAoC3w%=iMZ0uMj#gn};e_!cslvr&spH_SO?FzaF@yG?CU%x5ELmM=6^ zif;XwRQ3lpiwIFp_6tP$IS6I7@(590<0_934yCSSo-0LanZ zrM6!Sj4`Tc9k}W5a%k_!H3qtSA&ZSCtdgyuy6#>GD=^qRPTLa2w*6t-J`3BHD7HQ8 z+LkD`opNnE;M$g?Z6lx9Mvm?-)wS)UW82YRwC(iIY-`I-m%7s3GdABwtKJS&;V9(t z7=W_@ba)oPbO1fZf)fWM$ZHtwNH#{bBfC-C-6i!TbMbUA9)XY0Jj(&T4RAVi!&63O zxP7o$6!!=DujI@*MK?Xj=0WK)G&Q5)2MBeNF8(0L)oWoyCz*qIkga1IlQIYKAjjGl zknAj{PCUd;@2zjVLYnQvy4kK+UbGU5S>n&dmKtfc*0s7R!z?-5LiOTfUCa)KSiSgI z7qg3C?>)HN7_E&Q*y{5x#dBSdqi6+Bb%>QPhMhHqZ?dQG?kP_`s?U39^l^DCR7DxV ze1dE}LQmO1P6lDBLT@%Ad1IK&lx8FjgBeHL3O?4wTtynYpw6g*?|j%xh&<#XQwTwb z#joVvql6I^d<>1bmO~?*u65IQVzcVQ$I$p%0}p=@CUq%3%$w?x!Qtn?xsT}Qz=_Ut zV8w6$#dDy3`1{2tK6AzY+Ge5%^I2H`&sR||cZ;)OTiG&lmDAE_d&MqK=xGyk+5dZ^MG3hRfu#Gq`$V;~Rt#~@s`6%M21m)qc zT@rcqTk+Wh`6L&(g*yM~N=Q)N>xih1Mb$eiAqya*{u?VH)4}hqgs_A-$kO>J;#p7{ z#l9EWg@hI$a7@S zDGVnnpL0zWZ3QPrqSm6CK8hG(j=?Eaa72g?9>HnMBE$!e;B-E&$SdE$86k*; z?%B$f5Ef9M(THQ&fsV#X$k`+}t%QV{RzgC2@X#v`AwGC$kkiNWu7;4a64D6JT?rxV zu7nV7xe}tk`VbsPin9_TkLbVfQAGM8*~bTu;LMd6y4;nJHH?dWeDG+w5|Rj&?n(#? z#0L-B7+wjXl3!Q}8H$n5T?ygie|RN?iC2E$k|;9A>LgHA?&V%5O!BW*p&a(N(evk=&pqD)J%6Jgr0F%Lg;U2C1fSkC-H*v zv$zo^%a%;*UGzG@t*XHB6p?bFH!Ac05fU^=pqn)O_hp@X6Lii^uAuI^%TgF0c&8dao<{%wj35me% z#hAo08Jr>3D+s6>HsCIioVjKp`Qys3^T9Se z7^w8uneoNUcsF<}#RvS@gwFV4X1v$U_+n;!+|78V&Ukv>$)9Gz0G*}8kymaupEH|9 z%;sBgCrCE8g|k`2Y}#OYUdp$K*$hIet%c_<$9$s%*8fCtX9TKjIAkjnmES{UyX8PF zfOxw#0QLfCUjPOh41zgM5_w{9)@9qWa2CIyU3F-h-S5yeyI=Sn#unr9EI8KZ-H#|R zg-yDMr=Uem--~=$*-5NjRm9h9qua9Jted8Z`i`oIZ~jJ2CW&R#9kQ5j{zgqBQuER? zLelzFYp|N??V;gV?7~NNEVkK+#X24Pe=-(xqA)*8_6Gi?^W#O;OtjvgZ|T-i8Tp*3 zj2m;BMP<$g7BaL9(86D>{(%B|1B>4Ph-AxHEdyA_YLoHn#A*Z)t5NHGfMOykEumA7pjkg=Kr zGFH5`%&8C#A^2LE1=AY)$H9_ zU~^(Mdruc;!(A&}D^9oxBps{Sn-0=0P7>Rj#F5Uf6?-Ya?<}#J-Ruip_LW?E*0Gv> z)zg4=tY%-$AVkM%_I2L_*0GwsDi=BHSj}ETypGlE>j~>v&0b4b$7=SCY|1)Tv*iUa zeQ>sYGhLt$&bBx516w*)vp4O8{W?~&Z=q*&tY&YfznxfZ8`LN9g7UMt`1&If$+X@@ zb1#m>YVQ&$7kVQ}+G~u-RuW@!n~N~fUXe@^m&KUevLh7E**8&=n1mpAg`{X5-0P0=g;hq0vrL7T9UZ0y|B44;_JBD=Y}>TgF1fYIX42O-Q@3T8v3gwn@QF z$Vi|J@24DWjRu}RBuBy~Fuz_rSURl(`C9h^4^1!{J^)WT4_j_c9(>fP&7a7TK~0t5 z+8|s@aVJg13C9`Cc^njFEWlKA)^i|YBT42&Fmj@<3)r&caGNYlF_mO->N88ioXjO) z*#Q==F@VUUj!7<4nd=-1XXIN@vJZgr3S_bmJAg{-P2)r zU7?e%P@CZt>d6wF3JZSb2==7ltq{zKSshUPU?WXOT-L@%sX>%V1w}_UWuP;=L6mxm zevm^$&mtbvR*Q4W!RmpZbwNxNk+WOM&zNKYm~^dqRh!>XyTs1b5CH{sG1JjLhT4A* z?JAeiPt=ZTkaHRRM9JQUyq6&yEvE64VND^8hKNIBq~&=$Z!^@1ARXDnnXmFVe-(8V zNi4OHR35h_L|s>C=sn$77rr(YIgUx?V*uivzYA9<>hN*$$Gn9+rg;k2AdT?xTb{o2 zE)i@r6xu1cMBRjza0w?IfrL{4PD4_~-Hk#UqiIDA27=@GH5yJrB*7nN^u=U>Hk02tpPJ+cm)`p?M2aRpNUf3scgs0AMGFPK{k@Ok+fO129`mBUBYO165TLK%w0(K z6EHVPvCxay8Zyp9awKbF(cNGl&15x;x|niTA=&zACYLLv2M;O6x; zbsU`v?v;=N58S|j6nkbb1%X?|?txVLDo}6GuICH|8bK`eyi2^6;-T}IYmvMQYn(x<31(kLxlDqXT7X>6(zS+)7*9F&^(YoYKe>1NIJ@BOun}CQc^KD#L;}v& z%D!cF4`V&DrL4uT(eMZy7J)SqV>tc)G8$u~1aKorFzXx7ToHjo=SQ-xkAoN?UrMZf z8cFj4d`vJJt}#YYWe$?|oP{`A|B{o?9<>9PW6&`c|IvtROH|YWpuR!!YC$35J<|si zgoDvWjooRXTBu5j3JldMUPZkJ);QF|Ey5}bq9Lj+1TN+@fGPkG<5I1PWg%YxXB>l* zGksJ%+rKI8Kc4O1l=hzxgZ}E1`yQ=Gd>PD%Rk*ZL35?&&YgsJjD%iw_NoRzk654My zlz$POKm)WS#Z>}ZeLz}0EfR`KVjyW=Mb)AS)3C_dRC%@GCiSw@q^3JfD)p29YfTDP zdAbh6)yG2$JaX(@v&isYH?*yk)eVhNpd0^Pgn19M6C+3;Pku88=vH_J2x*1ZxnM{( zd|kNdGvX)`zOG+_s3JZm-0fq4R>TUz<#~W(BI*fuF9jSIk&O1}>p{_Y93co4PZkJD zeJi{FStFFM_Y7d72u6>_o7l!VRp2t70Wu_ef6n<1>CmNr0rDKyWK21^hL9`fqSZJV zMuXS0MGyTAu(7f^XqJj=OUA`yOkEpLXbR{zK{TuQ2gtja;1IO__&MR^Y$Ow=&Opz( zG#1pGbP|2zvLqy5L^5$Om0nJp{N5F5mbxSHDT*&m1A|$Al%@s^(5OEb4K@WnP&J^XaEWpnfYv0o*?`m)NVT~Gz@r4vxW#@%Ut?#(60x*Q0Q9b6mVOC8x)p_fed?k zhKb>v?2fonnZ3ZwKqze~fTI8wIhx>@v%J{j)iq>93Y%b3D^uEzRM07Lf6b zF3x3J%B{jBPv!6_Hy}^BbeCXV605>5gA<)BSe3)^&wnjjJ)Nof4^W?sayhHn6Z^0! z)5VgL%K2y~kX3BZ^l>h!Du4S_oUH|bZp|g2b+Kfs?H~htc4G|MNQdUK8;Y_#)pjyz zu|lKobZJ;5l%_vBe?N-Rg*vB#yV1TapP`MBJWbVcba;fl9_{@In&T2@gv~hdA0A)FbyOwW$@Fg}S+^9DASE z*{mX{53*s~FfUt=iXXj<;4`@R#?v%^vTtIY zf%eU50pFy1fKq`>xXCy91At~=<1>J#Fb6BJocO7P?Z7JHFQid1fp?w)d=cRU%o~$% zaSn81CS)cDyZ|Cx<(o?oTFAByV1zVdW%9P?o4*_w@Yfx{ujXH(`ORGFyA0h!nfm(@ zj3P`PjuSZlZv=TbPGF*k3~%3z0AfxQ!HYiyctbM5K`<|HGfQdeO*PEkeDFzN8<=0D zS%lgMLZkBqS1W!D5CI-^VRp5KfZdjRBv|QQjxmHB`m&tSt?I5DVR1h%7Lb#By>Ba;m&svR45F96h zf_froBkCl0J`IaBzlEBpGq^;v?v%+nA-ioPbVZsmxY{x&6t!UnhoX06v^7?O99PHa;rGT5 zY&o&tP^^uYIU78KA-?QBAkw{T7%Fx$GZ?L@`$=6#_Oae$AgTlp!amOg)`j;y5EJE8 z#|Z>c%3ni4tIKIfcf*^2hLprALV{VvU&#{n)bJ6)y#!XtLFPEjppW)rNIeZ^>~w~B z%3A6gW)KdJN9dAIQ-(>o+9BOqW?6Bc1jUtgOMl z_EijurWre+HT^HZ-49|0k(oarWsJ-UfP#D2dobqrad`Go5NZVQD)8K4fjfR)8F0b) za2lnjQ(`}+#g~c=2KTHaNf9oUBE*YUf49JtO7?ov3q5V*;}L4mivKQdBj zT#_?y!r6qh`x&Ewc7Fw&*iB@?k4RldyKTn~O!SEzog6#z27}kmHYWisMh(L?k%`8Q)Q536s)%zGpY-hh!1oYW;zYZYERG z*d@6J$&PXY=4p0FPyOIx_T%ZWD*1g_b!NQAWw*8!=0N5K|7dBnXF*obV{K&zUII_%VxT%P>g(>Qsv%@B?Q z8N&K4Rh>)GOi6d0#F0`NS(2KARGVzJWSu_9^tY7G_OPk_fOKnVTR9%xxcZl}LFamO zi>@xM!&7mdhtUe!cN%X#$55PSQpfsKX>8ktNG>5`2hTh(O5@h&n5MCYmx8>G)dWrHBpjql_7z zQIPB6rnL)JfT~@PQ-kuc2iJ*q-GkW-=uC9ssUWl2=j;XWFmhb4tq_N+oa4YA1@n=MHXLz@~WnI>vvP7w|?((mAwNrtrS3XBHjwuN-3DV5(UWtE_`?R7Y0=Hxjtf z&2W_t-^I;vH4fhuO}OkOz%7An&JF-q1K=w&Qd)WkxZ8o-tp&nEd(J@+_JZ(RA!zsN z(O{9S@(OTP_S>LRjWr3czu(2~vyZ)HD@f~D;)ZQ_wV}NPQu_#=LYrzol(SO8*8}5M z5oc+irBoeLG78bY~cM0}e;|I;W-F_j(w#|c*Q?z+-$ZcoVCn8B3@hT$M0B@*D>Ob1KmC`xuPm;((7l^uS3JEJbb?A9;8ukDQ7DRU+f# zG5{N6dc|NW;3kNbO3?n9I2nG)UivFtu$+|+FcwU#UWB7L+kj(XXEx!oj{qkF%xQ<1 zHx+N8>f0IaWEUXLGJ#;9ydPrm5|sZaW}urnnLOhtgs*cd9X-Ek!evi%GEu#`_F~NQ zPKCM+PI0wK5l=g~@@BY%J2cRcL_%hTi-#OFJo_aHgOFkAgHjdvwEwi9u-&gB$2HnVIp zAMW!eGnZLZI@m9E945y|8djSnN>@RLd^lGhM=c-D)yGj+a(&Qfr>$#*TqRctjrJOG z5{N!rD~vjeh|1@fNe6A{Qs}I@=%NLxbusLZg6(6jYMbc$PVf=J# z^t%QwgrJ+DPv0O_y+Zma(!+*FGYO`@<0nYY0j+UqGotU=Ea`0&=!hXHS}tXT`tZVd z5KeUIWrJxHd$5mb5w!Oi671*~*$--l6>;FTot zelH}a9WSD#9ZBK6UYC)nXqH3uy?H(6uXbMokhf(=h71Q-RI9$6kPltU z+dJ>cf|YuR{-dblB)&e^owsMLu0N;Hll2rjZ+KcCl|r8n#S6)F8EP<}iLEIlpJFNi>KI%KV&itNVR@rSf9=+RYDQ-C!ws2#QVplRc zFpHHy_7^0##Yf9SdxJ2QTC5q(f8!!u*P9EA|A;rDT@PJR+7jvvGA$P$p;c%16t3? z2b?*1XRXL8-icN^{y8)%Px5amuoAE*pJuB_;ytbTdI3oW-}o4b{~%M!?nG+ZdQi6` zX0cNl@@| zONxp$(}0OH|A1>e!Gtcjc)!Ahx243}pVWYgr?m;R+Z&Av&%%G0nAmT)As8hU)oLV6 zF|w)Y9X1mbNp=;SMekCfO85ix%V=5o+l&tyq+XpMK&db5qJ z_vgO_N-@|{ITg`?qbiP7OZym1l-r92Xyl*)t907#|GK&to-i_wgXBS@RhbH;n5|C7 z?qnP%Ckx_oCV(cKSqe}*WU}SaDjWT^4hrBYT9CsVmsJ}DdaO(a=U$6K`0lR)tq90y zGDQ;tokl9YTVbkm#)tb%Jxa$ubIR#6e?Ik}?la9+1OIhL;i{ckBV9uGj`=X!=^g9` zPVcw_pzad>_(s6eCHx8OG`dUp|4Em41Xc16x&%o^AugTqA7rX|m-rQu#@RrQa;ZP> z5;H)mbICvJ64b~&klfrW>Z92?nsKP)mew^M{K=%aJ(i;***U{HN84Xp?Y;np+@ZX}&Bjo0uNkZa9*ypzb zyn~PkVoJX}D4T(Y2i@?%Ha~)zD7`OaKS1r`#|TNkRg)lUs*_DFzSVJYvg6_h|Nj4) zi%tEO!@qQ}ubG2iMT!0V(5`mmS~#r$D5IeQkGqJ`3w- z|10g7n>oB!R>PK`g-7(FDM7d230rDmZ1XYNY6@FOGTwli-{C)kDSTK5sky$ZZaS#EewxRlqhPB_ndXzz87IXt#w!W!rq~vZWsfbR%f<@t+~{x*2Gi zivY{2LmTr>N1@8(uRko1oup!f*Yw-ZjygT(r&t3ha?7KYE+Hsbi&yehMh12`=989=^vA<)JOkmC$xNt zZvc9kDTVXxX3U*St9);~$PhrlN{q>V*^%etDZ&1kTgkvq;Fm$%_x_c@KE!(UU3E3U zho1-7a%jh9wpU)l%WV8GE4n!}2J-h1yaZVW1}`U=215cv&{b3*#wuC)ibvI;eOM!) z((1%{7G)J9C#y4I(`rY!l(1zTAY4Xv8#`awm3#?Ab%_TmU|HQx9Q3GbsqHqR%d5bl ztk+in?oKq{Z5xeW-~B}Om;^AQ*0y>*f(qoz9oCN+0j=Hyl{K3NRg5LtT26J9Hv=xP zCR4Tw^Cha#Dko208dqXHOrHMGq{<=(5kKI!gw4ndDjg^ZE3yZsE7gT*j(| zG9>fLOcDbNEh`lGl4VLWF9AM8Fs2;sq}=FwClJ;a)SS^R7k*OKcc^Kjoah+q_ZWkX z?(9v;Do7VS0<<)5yw&;!7?&EozNCU#P-gUIO(8fUECWNT)dp?L=tBj)tecogCE*KH ztKJ}(o_u~F&w3pMPY<>bmGXDO1+zdU$w8h_h+~T6Xd@|qG0Y~dzNKA`742Vu1~1;)!Ff>Fn8qgt0xHC&UpSQ} z4mA1$qdhZ_V?-Hc1a=8c~3Ix9WCK5R~-Qf}m zs1Pf>J)5HUQKVmWiImJK;vA@_SZq-3**?5)1OKJVL=7$zJ%{J1QS2n?hA}V#^&$>V z7eBTwejZay=>|Jn+uP~8bc3cl&dv~~cITnR8JPm-6krl6*I*07U&pbml48TSoqDCd ziv`wti<{{!ZmzeanchxKdb_!LLu@m}CCv6^Xl~n<{rX#j?reL6MbWS-IYE}^*&=7& z>AnFu2K};=w72K!q9+kAc4m`$z8d09O&8( z$$`LkO$Tr;fKn2=bzwe8l^+D_AJX`Y$~VZnBlKJdP53LhlTGCi4LSuLJPhJVAtLA+ zbchBmhlWnlEDy0&{)*~9bS!#}7CjA24_eggu7Em4i+=qT$|P3(2%1s zq-){MbeFWHwn!B};yFg(9E)_!;!ThP9q#$Ug;Yh1K`(bTIASzA(=nmkd$c!+0P_Vuh zjB`%=y4nu@|m|*a}dLSw>eL%{CjCuGkT* z))Bx#*y>>brDW;01gXPFbz2Fb)659fw;C}_e|X`~u(Vq}u=fL7z6#iu&2lk#DiR#D z4I`Rb1=;}LZ$sm#*x@h~{R4*b6Jf<8&AMIREp4s^IjDZSzz_pKioXxGNb%nQ5GM6! z@%!usBWn$RmApxq_XgAf@!mt2{OF1;YpRjrK&$by;Jxi1DzyNlZjS-85twez0eAvH z6$iWmFdhMmG1TZ94?i3Np=$uZ2LyPo%hv!($WP8>N(7w!@=Vqu+yQ;XxJJ;Lp}8&wwK6~*kDqP+8*0bJ_&?w`#>0n?EAb2>{!-HKXbc2-J!Wq7%2h`5U7X&+iVDoff^}pIl3E` zuFEq)SOo%+GVZ8Bg~;W&ldUndYdMlHK}Y$wz&#+W*t-aMJjAneYpJ|9Igs9=Z{)|2 zi@v+u(JY#{qxp?|t8*i-eu=k-=j2vV!m>!)%80{J;zKlr1JW_%f0hiv&q-wP9nxpZ z?dv(oAZaes^AR9G6Dp$%(&xyI%;)5mhEqBQr(?v#D-;~MJoV;asf7IobMn+%r3G;R z5SjRU-eCOetzB;xK;MfZKU8i{2c-Zbp?j#juY5@I^3ID;!x*~M!2C+q;`7EqG@F5p zPW)ecxdXIMEojm>Y8aF(MG8O4IAVAj!P=EENfz|f^xV=b&jYAiLrYD8m~n^Xm} zSHs^%A-99Ngw#WZXD7+u0@)o}x}E?q89?vNAdd&Bn*nVrfGIx#A>MFV-10Mmf4?sVcrQ0E3-TfE}QP4n?`_Nsxb5 zKJR%uB{Ut440Z6g(*kJ(BZ{5XkjmkAk9V;dKwu%`k()(eby(nL3g|d`{UCrjxr|;n zlM9Rgm$Pp#l2CRq@-Hz^z=p80`Zs#Di3%a|| z#|_|bWDy?iIuFTrf$w?|fG+@)lF)4#QfdL(-T|<-9H;fzp+?i})o?FN)0<;dR(Fmk zd!=Tw6WprYD>Wkn!CnSBQkPGD4gIK?Mux*zi*uJkU%A1G*^`KoWHohNEh9%f3@J_i z$gP-_x?;|iido%MF)N{<5?sbg<45G)qGCwnko*7$;^!&Q*=GZ=x?<`c{Dq2fks|OA z1S(d5jTQ4JsA*9#>p*ZTM%uX=#^%+)3~177<7O0UR1k8bcxrAbvE7mYy#>8JSSd%r zJD0pqUj|mGnB+RAVmbgQB~dD-0;%#wu>a#g^f0Ku5QtVxhn*Y_9z+%#4&-it0A>u! z%GyMD{XYBG$SQ!lf#gDv(J(6sL6HpZLKqGUbnH5kRk{hu&eD@c@&WNvCgtemTDFD$ z3nSE68Q5#*Ln+4fbH}sK*Rl;@SU*>W^-;`%qxw1&vzLtOV>zf#hIE-6+&q2(I94Lr zYZ5J-PVu{t?7@Nj2u$5h?~Ps8Dm;$AGoIu4QIKTBIgjJ`1v{K^{2Jp4aLO?LF|_oV z2!gOxd_FR?1@Tv0@2u9I4tkxP`#& z0*=*puHZ(>xQyju4(tX~8G;QtE=m2~`KMY@+ z=A}>=;;ha2J?Z3CtjE*fD#I_1lR_uZ6}O5N_X7&vc`iOMW~`!g+eJu9O|524jYP7O zRMl$wdIgfYu2$>1Qso5?1r&R0ciEvZ9C5!V;tbjq2Lu!ZcN^I66vyNq29^N7BVgX$ z>tWChG_M3&%Ei2=V4iMBH?Sc+M0>=%8))8ZVe@XJd4CI=cO%Wq#hYo`yc=EfCjQ*K zx^S~c+y95gjr=|1n0kqDrb9`ASZAf6`Os}f&0tR3f`QM_#_+TDW=M(*!(qnY=Qyl^ zinK8jl|nXs{?^F<;<&a&B9wK|i~^%t&I4n=4M;L{9mhM@Z8EOShq6AKfq#XS-2i~? z2sN{h_T4A3%ywXVi56dL+|VS#x=#$d2GXVb(J6E&v|U1>SAZPGJN-V$9b=E#VSJD5 z+h0sQ0aJBw_=F7cvzcFG*wnpZ>ODXXW7KpCa@NN%b)WG*1SM!X4x$82QJ3N& zgB9<*6gF3tWCj;`!}R@)cd9r^{Vo*(9U4JS)cp&8uj=zHodovhcRbBGbcik9u>MFX3@3rw$w)M zWv-cTio!}$kYY6kLA|F>cjG7BrN}OId@?Fl7d}cfV(zY-oQ%wrFgfj9$ zDm*ECJHmXwC7)=jQ4_|}g}y zOnwsAGiRn;j3SXJoxfi-_y=Z3(fe~g+b7ZPMeA1~&`lLzFx1fNXdH=U8E%@I&MonA zHMEC!PQ5tC;ZsfDf(^HE6UfWEm{8OVu5TpNa?G553J#6OycbSFbLr7skkYFr7Y%p{ z>q*JRC!o(JUDg?<^Q^r1^N3_57A=@#hkdE3iSDR zva3sPL-oaf54>zc^(8zDP|0a2K4%-MU(Pu3x6d#@;29_W4y-_Z#);oKcXJTcFd0@fjIpRAKkI6d{vCE_QcSr`gNuh)UaQVnpwi*nGu%S)% zc9x;G=>VBNwD}H+QNaxNp~D`>;B7Rtg>_N#L{dRTZ(;a~rrGAB`YvJ&IE_@O7?;SU z*gfLnV|xOFld9ulz*r6?@wg8z!&SdsEjlV)9p_Y{!HSM_>TvO49fNED6n{4(_Y!3>|Tqz>n408YRrNGX&_y6(C@kQpT-#eL}^!$=I>l-h@f`9Y_sp zn>09vcXBf=+2dsT*r#r$=Tf8>@GUYeMQ=F$2<95fJ)+kWZz|!A|WfKDSX{ZAHIb%BvtDwFtsM6+L&w-DctpK$*%AD zq_d7&69S#hBBdB`L@rw#jc6@RFZEYwACZNu{L~bJ?FB3#Sil@o{|h62WWInLeuA|J zAl$|zLO#)Gs{3Y!yYjk2x+|~ZNP)jwTA?eOzDoiAr8G_@Pe-KAI6^$`e8U*dN zl%7iv;&gBkKoN(`gGl@4o4}YC?ZQ?WIn>ZO$!Q~LW-Vw@)c~XQp@xAjcLQVdP{Tmi zegKutLk$DnI16CeJk&5y-UH|un}-?(x{n4NXY)|QKo5$>>q0yRP^>tkLOjVZ(EC|n zVhEaVK*Z{>3)k3_)M^d+20!+AqK6Vxb^@Gj4P$Ze?PHU9#FB8rn$0E^H({=_<_Krp zg!#&vD~xdy7AtEWLCe01*ZI6t*fxuAEg&2nH(~Nc_~^;&z{J=Y#!Xl_Sy{`evji|KTS3dp0mHN_ zslS&!mU>p+3I0kO4OUs#JOa31+=Q8sT}9dc_GK&}QVTfQ?{fv2arR*mA@4^KKgTX|njYeFrh;ZkEWsE3N*B z{*Tv&cABWN{{rkOBB+vx_q48n(;i3K;QgGp_GG3Kn7K;25=2jW3c3~xX>$0e%A}T1Dj4M~ejhVR24^vabg5s|n3s!@$!6haf1f*Ka z4&CDKk;mOFDe&lHFwtiog9DtKpU*rOs5a*7V2vU^wGkKZACdek{?oVwPavIVeR^6; z5u;ezR2Iq`fe|qt|6x9rQG#L_`BJa}pk(6BpnQsDWy?-N8B}xR%uRXW8JbvjFUQt# zEi|RlvtDjpxuQ8fjqCcvsHmy9f1pt1RKo#wemi6Tz_=zeWS+-11k!n1XJ!w}iD6u?*(Rq*xa+cR(`dzBZtCWt-{r zCN5O49a2UKH>h;}6HtEd*i4*=+L^WM|N8K}XxLl_wz058m9idJAa#&J<(^bzTb2V{ z1(fF#*`)|69Ei}RTz;n%9RN2yfv@6XF*y7cVoXZmuM=y312|4lU$=2o$4VX#b;S+9 zV?j{Pg?D^VbkxDQKIzKl@E(v7=kzkl*c28)y68BNS2gz@&OBme_nC@(Pl31_zeWR} ziSn&aoNBLRwciMF?Y9BseE~^b?E}NrUIKx0AlVj8=Nd&~GSTz;zASzs$H2h%Nde_;Y3X*_cQu<RncBO8uuLj86GG9MjzAmCVtg38&Qn) zS9+30Hx2L!WL7=jxDDh+X2fRbAbBuqpwCVdeb?2ddh%e@KouJ}D?fo$)w4hE_5CPL zH)>?BJ6&;`^w0l zLPy5c!DL3(w}Xz3`?tD{7(6+op??rZtc z0jPd$_dUVL8&Y2VhLlI|);|M+NAK28W^VfFE`s;N$OW*@$l}w7!5A%wK|PBAj?Ln0 zAyKseqYF?RBacjn!%gfCP($F(Be(wwJmvHNKspUH@?+0-@Q^>vOxjWYy|DZTj(j`H zw{_)77y0%gPdxl|JLQW`g4T<=8x-#C@yNS~0N%T{O)>KT&FoD#6yW=b1;W}395k~x zS*xKgAyv3&%th25{RowJp;Qf|*z}BsHI7slN?jM0>O!gQNG8^T)eoBfB*bw2Nr)O~ zyP4X$QyW>dwquUA?$q{bSX*~$`xCW|{YTpN(bj&{Miv<^8`5x>2wj9}d%*{nLw+iV zS?B|;u=l1DO^S@DZ8GU`DmjZv$fuPoaFqzY5K0nGU^Yp!4WZ7tO*%1Yj}k&_WHYTN zS00>g_^V8Oo(HLTF#bmnK& zx#|~m8qIWmOr4{0(9Fo03*AP;<*v?A%qxBcUL{%wVgeG$3%K+=n*5&nx|D_{?Rft| z+|aH`xr&Zq0mo6x4sdFVf8%Nwd>OPSOr{Z%9ED`!-X^VK@8&hBjb26eNz_WtYWx}v zvoU;&9|V6TwH^wyeSsw1GKt;k+$(Ve(q4>xZKljZSte7@OTeWbgEH>2O>1=W9|)aN zCQq$OJLMqHcai8;iRvl0ZJ_~prJvo&BG06QNYoBJ>>4+dnI&T!PqIK1hssMlvs{NJ zgcXi(9U5vXxr%;}+Uuw#7o3^+H5%BsrRak14(%aPT1TblA(_(a=UQW$w5Ib5p8gxD zl*P{=AeT({RoOv6+a~c6-J9z2dAys*xg7(3?NMVtB?*x%b}V{!0$~))-RE|2FGu~p z_&0gUK+Gq@y59`6CTEsBUVC?8n?S%zM7D!y4@3zOIT}&Y4v6Q8$aN4Dd4mqgb41AT zDG~V&2Xx@!5Lv5tn=JkeI{329#Lr+4{{Bj22o1+`0}==nrKrSaTa0AcQp+z|5xfK|l&v2bj7JT6uLA0s!9I5k>!qyVDeG6E?QG9BS@!bnOp3(aOCqQ+7 z{08K4ni?!#faT3IKo%GAIAB!JgyqV-Fy=YtSwUW02$)auwG`uH_CX}qup74U@^-_RO>F`ZEW zV~>G{9Th9D{_dfRV{bt%8GDF@Dq`Y3gAa{SJR!o%ORR^2qiAL9d+Z(p#>+N?QT$*Q zisKn{J3>PtVvr*_?_UB?j!t`eDMpy?EcA^i&S;! z+7gB|%!YKzV?Y@-DVT-ieW!H=T7>b`(s1|Z`cWJCp!8D&jhfUos6peYdzcswz1sk! zg;! zWi42ALHdPRUU7{43vc+ZyofThP*>0sZ)^a6CNT{!fInSW-XP007-TbKD~2TRMKYZ| zz<7h*{S_oL?_UFbM_7$UP1YzTe#6Aqpk>pk+g)?t%%LaSUyWf~JUbG8xd83lcx|`K z(vXY$NrqJLYs~&^Fzf6kc?ps_``4KLS|oG#LiQSLLd%m+OpnNu^~T|O?hd8=Pg!e^ zQW-f>Iuvp#a?yGoCHN54X4CzTvhH4I@)r63?K%T}Chln~U4-2elH^tN?3pIR!ca&pg#(&@w4`wH!h*4EUTs13#I-hX57= zz+a?Eu>ue6%$Fu@J>zcjoq&h&cGB4M4Oa6ih_shuF7gf1>}zoJr8Kv;(gEt3zL3Tj z7%Xz&TAYeJ9rwCJxF2>9!I1__csU3ihBM1rgAI8X(|YrcD0&C!q7|^?R}e%MV5$H$ zfXM?KrUxu5<_V#2^8hLZ&&sNJ`?CSz3S(5^D&*ZBhHBmYM0eD6IDYvQw9xT?6D_hw zy`v5JCxJ_X0P|ebOdBR&ir2Q#&*_+sA41KQsErB{!NWSffzcmq#Eode6;BmW{V*S* zze_G=`)NE3JYVB88UU#Dt*pkzw*hvAk*NlGzWM@5V|eN&(!Tbh`xzrrXVb^uq%biu zHHm)wwhReuh*F(igke-+u?(BfG7aDyZk`z*QFbz?so^f3Un0R4PKXS@E(lH%?0^ec$gzYWv|@u$Po7)&Dg?9 zHl{%^R{HD~_Svr8q@OmBhFe1dDuG%~il;_l_{+%x>PKiVFLD9i7niPzP~B-n3AneS zNgKzEFObX`ip#wq_8_wSJftdCJKet*STm{kZt4EhfS2wcxyI@KLjd5fa4$r&-Mkk8 z*@Kv#G@vIl@AWM-p^!#NxQMD~J8+#L#I9F|y{Y?=?x)ju0I5;A?*Z`^`jQ?u@hIEn zaSq9*=SAch^StZXO^|6X1BmHio4f`2=O%;fc(z%lU0&zV8R=njBZrM&qv3fd&{Y#D zs`s)~6}#CzE;WoiM6-S5u5+nWslIVvDwWtrhNDYm97~d$&1J%0DYvD|4aQbolcume zTq9#t5@S%~Iw7#ZlcDpIG^)EN7Y3a|+GyAeyV`%pvUV4P-hn~wFFX!XcPZf)*CQ=i zclU4zJ+u~e%TgSGiX*JsL7pV&$oUkw={KOV-UYCW!0Q0M2GE0Sw$&5)NR!Y>kx~ zMJ3k&UkuZnI@Qf#xGGu)d>_HfINEy$(qn$k*PA7r^K*R1eaMFOy(Ub3b)}srm6mxEDvdQ=3lZxxRN8pY@9;KG&ON}b1+fQ_ z<&Pls0aE490BFC?>BMs(Q$m@&#-o&BC*BHT4A6w{Ij!2>$xlKd}WHd|*p`h1H#2C9!9QOfKby&h`TjXKn z%yfTwiE*)qygqMPVNea2f;sdho+7BKxfu~dH5_pY_6?W{`~x07a9zC~H|7apRk_CcOSd0z~1i$W8R zI+U-POze2l!TF$%MJAv5s@9Ow3|HXbikfg$y&Rk_&md5$r93LLko7*91HR9@0iQR` z46tiX(TKG~+(wS6?5aNRW+Hw~4_v4bOMy7+x9pnJI8eeDD)Vg8XE0*)c}r02%ou9; z10xHccP=$dr@#liulu}pM8q;~`jD}O&%2U{Vbt+Q1|L4}5+bhPAn}nFSw+MVD*ad^ zW)g81IgT?P@p)GeaV~TDgn^LHyAFtfEL1=ETgslH&gM*w=gLxG&gLAA=PCg?JL9=p zK+el}Rtm@&8P7EWaxTVmEx~gJti-c}d*Lsm~}iWhN)D~qOy+Ni)YT5%;c0gvoD%4t$5P>S;Ta@XyNQB z3p$R}x~bFErgb#wbk#txXy%OB3zrm4nmu*?oEcLuoHTg`)h+5)G|99`bBQum=pyx#B0Y~Hu{edV{eNAg*QA!lNRbxi>*Cb?FBEC=TsZiDzlL;iE|KE+ z+Tu$aD9Wz?e~Y6V+;S<-1{8-y+5f*#od1h`h|^!DS}#S~%|ZCcQIEO||14KEh&cta z>21dBI(Na;+hVQKSyy$}F@L&b$w|nTE0^xVr=D4KRxQng$kKaNAu{w@-e0Z7PmFgt zeth@RsA_K>D6UCH!>dU7mk@s)pyUmRuL3-W*|UQh0{T;t1l66$-&Fp^9QIn2&%zrf zb%T8DiPD1d(w@hs{z6xBc3O+CmIw#RB(~*L79r;`d%%S(0VTlI3|GWXtnB#$y~Owv&)K5XJ&Y zAORDmObjIyDAS(;VJMSB!Xq@4rj$paP+AK8mr@EXqz~u|kW!#fQlPYtmbMRQ`@U}t zXRm$k)s^JPj_rsak?%fdpJDH{*0;vJ58wSf^v6gwR@+S?wcWcJN4iO*wh!^A5$Sgt ziS**Xg5x~_apu(^lFp=8P>v~)l>SDJ`W6!CEkdhZ{Q1_qIRYcnzk?|;#qYo&f4fMe z*Yh}rtVCk#>ud>;*jk6e1|v5CVzdA4JS#+Ea|fG3B(|Q& zmJo@pJJE6?@l7Y*{>Izh+=*}Ayt%XMIsXerD;Pf#=`-j*9FYb^lCHY7L6WY!Uzfiu zUwcv{=_w@1uRa>@TR*^`uVndUkgt+ZosT}%ueDQn{6(wBSRFy3`dT~1@MoO6*I^Va z;{7QObaI=Ewx3p(prMtg*PBjNBbPgC-^{VRL8i)Iw0i9S;B`4wZ)m3!?0pBO>OPF314Hb*-+olO(&Tid z$(i_4nVes<$?4_|z_&6vzt=c9-^JaIqQifs$pNx5wN=9BF#%@LI5p8Y#z)uSNybM+ zrJ?6ZX#S3N65QXpdTcI+#d&&%u+-ByPuDyR?K|7$%%k62f6SZfo!8-e19!JCLf_Y* zN9WOJBMKtTd(fxsBz*>9qW$o+(kyulz(PPpXF^-JGe@3;>)T94;K} zCv?;nciL$IlEs{z_Pw~MtIkW??xtj{$KlGq7O%0AW58?3;jh_iY+#@2yZkjavQzOI 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�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

TGPQ#H!(znFFPbgE4 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

+HdAB|8b^P@)4cko&(a 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

1!Bo;BimIUyn$l1W`%p7>|3UvQ_db1B*5{ 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�U{`?qLzS@f! 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%0DCgyLD{>&(EA@wrFsW$6x=j&3`y_ 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 literal 0 HcmV?d00001 diff --git a/android/armeabi-v7a/libpython2.7.so b/android/armeabi-v7a/libpython2.7.so new file mode 100644 index 0000000000000000000000000000000000000000..72f72465d727b22d0b771f84cf1ed28ab38f1df8 GIT binary patch literal 7108156 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%0DRxxGQ&b;T6m*E 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ⅅuA*;J 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 z

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

phh-ta^FvTxjeLA^F=w5pUD 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%0AM|p0gKL8VBXF2JU9|ZBWiIq~J*O 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%0AJ&=rvR-f2i8JgX zwj~GZh5v@Ku0l79>EaBHb8v51VPuQo1sR8w3I5y_V_l5;3cA8O>SQ*7CxK40BB}lRDiuh(pu4*(aDO)Nl zjg%UsqouJDN6MA*q0&8Z3YC^h;nH#`Qi_&hrFdyrnkdPn$x^D6E@et9rEFF&~AX}>fsosb@s z4oj2LqtbC{N;)kqm*mou(rM|HrF%-RDk-E&>8ndBsamR$YNhvq@UL8KrM1y|MJBl1cjJ(pyUZP$74YVrH_?9 zUYeJFqV&nqg7j0RPnSMZT9kga^tsaKOF`)uN?$B}sr2R2S4v+k{Zr{{rI7UNr6uV% zO5ZGftMu*CcS_$aeXsP-rLc5a`u)N@LO=mEzJLmlD#Slzv)DN>kFb z^j}LE>Ca04hoO5=k{)3c0QxLzqiv3D?*6+wwmplgi96|}gHAeWTl3krZQHh0_rAzE z)4$IAdVlW0+{3v?bC2g{fBpN{Cv#8d{`vLU-1E5?bN~MOa_+xhU(LOqdo%ZT?%mvH zvd?Aj=f04AnEO)paqiQc4X^__KrZl=EDy*B3V^R=g+LKd416Oi0ZM@~pd6?GDuF7X z8u(UL1JnZF$-bA>0rfxw&m;AJ7l{ zBKuV~0LWy6fLt~N3AOHa{fB-0f0cx28 z(8zFr0Gt2`P=E`d0S3^@bTSs;0KLo&@PI*Pl$m5^nE-eI5s(0j%qp|VyntQi19D`! zGCvRif`$Zz&x-3SO_cv76VIwB3ZF)DX^*~*>T_ma1yALodQk+XMnT7Ip92S0jQEy%Ps;nvP-~a;0kaR zxCUGYZU8rdTG=h&HgE^1lidaG0r!D=*#qDq@CbMeJOQ2p&w%H^3*aU23V02?0p0@d zfcL-$;3Mz}Xpl9^Y@i)%lI4K8V6*Hu+3&JEFdr-c3&A3=82q2?4_OKLr>qqGOI8M! zgB4&USOr#tEwUQ07OVs7!3MAqYyz9X7O)j;1KYt4uoLV8yTKl?7wiN3!2xg(90G^I z5pWb716yTnvT<+%Y?n=fQ(%XzQ#K8D$!5S=a1I1O5bT!q$RMy+27`UFei;IyAO;S| z9N?gANH#3P!4Vk&IzbW~l~LfB%mvaQ1F|3oj>{%wZg5gIC7YJO# znHThd|H%Ac01Sfv%0gfmjDS%v2FAez_@C@Ec@q3w{)PNYc?wK}888dZgA2f~9^3$K1UG@3!7boca2vQC+yU+ccY(XX zJ>Xt&AGjYp03HMnfrr5(;8E}xcpN+do&-;Ur@=GeS@0Zq9=rfv1TTS?!7JcZ@LTzJ z^6%x>z#rt-!5iRB@JIPA@HTh{ybIm~?}HD(pX5KwAA-Ngf0fJRkHE*^6Ywec415mC zY)ax5o&^(p%%y>H_BU~HmDuyfK2jEs0%X7yP+Pa z7wUuhp#f+R8iIzQ5oi<|gT|o=XcC%&rlA>V7MgxISEma3!)(gVj&L7mFLObP`;dp3gm_IBDny0AQ6(FVtI+&3;7^F6o7(I2r89_ zp$HU(Vo)4PKuIVCrJ)Rzh05gR@_A?hv=CYZErymr74k~?QfL{p99jXbgjPYTp*7H2 zXdSd3+5l~YHbI-AEznkI8?+s&lJ9_aLc5^d&>mO&Om3O2KhPYJahrN2wj3MLyht)&{gOfbRD_@-GpvIx1l@G zUFaTkA9?^igdRbUp(oH&=o$1JdI7zJUO}&+H_%(?9n>UmmcNHSK)=a9LZ2WT{JY!^ z=fJse9-I#s!2gr~A^%fe2>&H7f?MRR@?y9IE``hBa=1-i0awCRa5Y>5*TQvhySyH5 zfE(c^xEXGNTj4gi9qxcT;SPDHybJDzd*EKU5AKJ%9}d7lcuXFG!*B$S!ZA1wC*UNUg41vY&cgHX0(c?32wn^? zftSL|;N|cNcqP0FUJb8-*TUoS3HdsBJv=Gj08hy`!qf6i@Qi#jyanD0Z-Zy$f6M=o zZ-@Vt?|}c4?}T^3yW!6id*HqBK6pQT06qvGf)B$-;G^&{_&9t5J_(p^BYK5FVN?_#g@{Q}gcKtsh*?pJlp*Cv1yYGrA=QXQ zVO7*1Hicc0qo_sdkb0y6X+)ZkTt%Lu8EHZC6|G1c(vB1;I*?AJ3+YCBkY1z@DOB_$ z1IQpUgcK=;kr8AR8AHaA31kwPLZ*=!WEPo200cxJ1V#`9MKHvH;0S>@5fY&g7eXTp z!Xg~vMtDR(JV>#kL?I%jiZX?Sco82`uJ9ujib_QQ2_hjRj8rMA6%nLHQLCs^M3ER0 zM-oU9saG^88WkxdjWj7TNEVq#niUI>g~%dgF|q_%iY!BZQ~a)2j{HyYhvHAg3S=d+ z3R#V;LDnLFDOwckko8EbVgs@f*@UzyHX~b*t;jZHJF)}WiL@&^6uXe!NT;Gpu?N|U zbSw5D`;h}kkK!P52sw=ODvlsWkz>el(F|%0c}K^&}Os+ZAIJAcC-WSM7z*#vm1nNXdltNwT z=gKdXG|He~Dp{06-RM_J9u-gzDxwnVMSZ9r{aP77zflI!Zq4Bf1IQjBY`Fb9TX1m?s@jKW+Pja4Wsl?=vWRZ0$XV?0)^ z6tEhl2NN*~^I|@%R#~U?WA(}a)}RbxAuNnVutsGRYf?5Ve^bV=-<5GJf&EYUhw@M5 zU&{IqD7h;RB0p((B3APj)R4&7o zV=J(g*eYx_wgwwg4lCDUBg#?bm~tJq9@~Iz#5Q4@v2o=VY%8`6+m7wPc4E7*-Pj&% zFSZZcj~&1cVu!H9*b(d~b__d?oxo0Fr?Au58SE@}4m*!sz%F8!u*=vL>?(E*yN=z! zZeq8v+t?lKE_M&Qk3GO1Vvn%L*c0q2_6&QDy}({#udoT_q;g968k<(W!QNss%30+* z>~G~i%J?8IG`&ap&(&qR~Wp{k8%5i+5%5~&9zEtHqzEXXyDsU7!zEKr9iXA16 zZ&js^GDo?i!cpm{a#TCMQ+=PRbUS(+y^cOdzhl5L=ooSgJ7g-kYQ!<>7;}s}CLEIvg=)$%?U->WRkMyc z2jBo5kOOug4%C4;91h$;IGhgBK{;Fw+QB$j2j_4*c!%InsnjZuLv(0VlEdrJs&p!! zL$C5X461-5=mb~<)B zc02Ys_B!@C_B#$Z4mu7w4m*xGjym#H#~jBUCmbgoryQppXB-8pvyO9)^NvE*1;<6l zB}b9!vg3;5s^gmDy5ol9rlVL@qPpcMRo!;naoly>bKG}4a6EK8a+IkaJDxb6I-WV6 zJ6s6h27v7Ec;JtVs z-j5I9gZL0WjE~@>_!vHpPvDdI6h4hNsAlk4d=3Y25QlIWZ&V>TietC~$8iF8;v`Pt zE}X_0oW(iZjq|vGdvFn#@FtZP_u+m#fCupq-mD7a5j=|jri$TlJc0kNO5!Ozjc4#I zK94WJ7vld@EyDj$Eyn*;Ey0)K%kbs+3VbF0mueNh8efCAsMg}^@b!4BY6HFz--K_* zx8PgxZFrk%JH7+oiSNSORlD&$_+ES;z8^n;cc?m52k}FAm+CNn1n*Y$sE*>js$=+Z z`~-dyKZWk%{eg(gZU&F8CH}ISIE&Miq2fvHo z!|&q{@Q3&#{4xFne~LfDpW`p^m-s9EHU0*Fiw~g=i((h<4&@^*8Eo)g449@twMh=q7rI@729TAJIT9 z36h`)7eNyY!4e$dCU`<1JcLL{gqQFUej-2wi4YMcB1Dvk5pg0xB#9J}CNe~pm?stx z3yDRgT1Vl$yuYt&l^ zty-tntG5!{i0#AKt{h`Z#fdI7yr$P7`N{JoQ=P9C4nwKwKm)5toT8#8u)Nah@0DXI?J5p&I)Ixvp`*_u5wm8i_|sFT4$ZJSY7XIa5g%doXyS_XREW#+3xIc zb~?M9CF*WxkF(d==j?Y5I7`)o&LQWpbHq979CMC4%hVIjN#~Sv+BxH#b&O0mB3!Dp`i=2y{OPouc%bd%dE1WBxtDLKyYn*GH>zwPI z8=M=Ro1B}STbx^++nn2-JDfY6yPUh7dz^cn`<(lo2b>3;hn$C|~AK6b1kb~q9IZTd_qhynMj2tH?$Y%8J|D~QM7mzLLh2$c#Ro$juOfDgplFP{DogBsY;=>doX9ax2-b-bQXGcaS~mo#ZZZH@S!0OYS50lfCLb^#SrAd5Anr9wCpC z$H?R43GyV_uRcYdCeM%q>a*lI@;o`HzCd0iFOiqYE96!38abpMR$nJa)Hldc^-b~? zd7HdL-X-smW9o7BeewZ0p?*j{A|I2J>L=t=@)`M@d_le>Uy)PlY4vMzMm?+kTm6sv z4f&RQNB*n+PyLzZbIp751NnvKBl(H6QD188R1TF(v zm@1)4sWPgZs-V8t{Gh3%s;D0|)l>~tOVv^JR0GvWHBrq}3)M=sQSDR*^^>NP`dQOO zbyGc5FV#o&Qv=i>HAD?lBh)B0MvYSw)Fd@UO;a<}EHy^~6i7i7Od%9XVU&ZyDS~oR zBt=obXnxhWD4LRK7>cDhO0IEJJS9*bN~9#pODQx;jgL}k)EbS(PX(wT6{5nFR-@DC zH4!RG88k5}P9-R#CP}5JG?k&U)I7C-GHJ}3g_K3Jh_Y%HQ%k6&)G}&0wSux~?3$I- zDk?{_np#7xrE)dvsP)taY9qCY+DvVs@-+FHtyF=gP*bGYMs25dP&=tz)NZO+vxnMC z?W0OG`>6xeLFy27m^wlorH)a@sT0&m>J(L~IZc&m&QNEmbJTh20(FtPL|vxJH5HmG z)K#idbB(%A-Jq&8H>q3HZR!qnm%2yYr>ZqIng>*^<{?$5c|<*?o={JzXVi15Uh{%_ zNxh;PG_R>Q)LZHu^`81beWX57HkaL%o1=?P}8WxO!cEu71~mYtS|1YSs+9 zMqHz=-!x;cao2?Fcg>`0$~Enpam~8sT!8C;nm;t4>rV~j`bz`55EtsgTn-oRYS9ob zr;Bv8YABb>MZ4NGjEi+~F1L$!2`-OIbhT?FSBJ*y>eTpLepkR1bcI}DSC^(+6LCdd zJ(`#+?n=0NHAz>>m3C!ZS=YR4fvZo`uUY6C&@6HdY8JbexR$z>xt6at`W^) z*AdrI*D=>|*9q52*D2R&*BRGY*E!dD*9F%_*Cp3w*A>@Q*EQF5*A3TA*Dcp=*B#eg z*QjPpbI*0(HLiK!dgyxOn$SFUJ#jsCJ##&Gy>PvBO=@1bUc06=Z(P%wx2|`t_pT4F zkFHOy8O^N5M%(GXH92%Hok#zp$)^kGLb`}9rc3Bj`d`g|nlkz`Z8`n9wt}vttLSRF zhOVW*(0-|{qwDFfv<-A4-9&$_ZKhl3R=SODr#t9Q`Wx-H+AjJ#Z8!bB_6Kbb-An(d z{Yl$L_tOLPAU#A6(Uq>!p=iAFa~*=>Q$1Lv)yq&}ywl8>M5k zRvV{vTD{hwHEK=T1f8T)behi4X01h=rLEd|+NQN@7tjmo9PJ`HSDUBJ*Dj`)&;{D1 z^fG!mU8r3_ucTMetLZiLT6!H_q%GF2r%SY@+A?jqb_2bU-b8Pvx6l>ZO6^v98@-+0 zLGPq@(N)^r^d5RIy^r2cAD|D?hv>uf5&9^7jIP!mr%%u)=~MJ+`V4)RK1ZLYFVGk1 zOY~*>3VoHnMqj6I&^PH@^lkbMeV4vR-=`nY59vqrWBLjGlzv7(r(e)D+FI>P`W0QL zeNDfi-_rHkcXWgHJ^g|HNPnVjOry3*YiF9ZIm~a`-?h0+9+S@$F#ps3q5V@^$P_Vu zX^WW>rj%*XmNDf_1yjjXG1W{B)2eOL)-vtd4sEBlj;UuFm`0|FX=b{#-P#tWmFdy8 zG3`tT)2r=dx|nXJhv{Ydn0{t}8Dxf-K5f5tKs(F~YDbt+W{eqUhO`sRBs0ZKGc(LA zGsgf7$UqFtAPmZ2jDx`$f^jk=LoqIfW*CNLIL6KJ%&>MuD=?$lF|CIY8HpL!dYK8W zkMT1BCdh=CN$r$2%uH(|%#1e5#F#jfV3JIVnboG543lO4*3L5vn1#$DW-+sbS;{P9 zmNP4umCPz;HM53U%lxDLSG$f`&um~eGMkvq%ob)VvyIu#>|k~>yO`a~9%e7IkJ-;0 zU=A{en8VBw<|uQFInJD5PBN#M)65y>EOU-I&-|yoz+7Z5F`wx!Ggp|a%;&mm%ys4l zbCbEn+-B}DcbPAA_n0qr_nEJB515C{Bjz#lgn7z*t$W5iXI?Ph=w33fnAgm=x;M;Q z<{k5%`M`W+J~1}-JDr{VUYEn>vUzMiTfi2wMQkzqgYHM&Pr4HJXI&{<#{Q!FRVUNQ zb>(aYTgg_j)vQ9N)YY&mT`jBD)v@(#1FO+BvRa)^*TgonEv#PG%C@oXtU=eocCuY; zH`~MZvVCknYt#*}Cfy)A#169~>?k|Nj9T4YDCN%tqKK8)M^af=#k1 zHqB<(EIZFGU>CBB*u|_}w}f5FE@N|a%h?s|N;X%wie1gFVb`+j*!AoNHcz*a-NfeW zHnUsUt?V{-JG+D3$?jqcbi3I->|VA|w~yV=9$<@f2iZgHVfF}nls(2CXNz?w*pqCD z?i72PJ;R=5&#~v(3+zSq5__4w!d_*svDeuf>`nF-dz-z(-evEx_t^*RL-rB-n0>-N zWuLLn*%$0f_7(e@eZ#(GOLb+sckFw%T=#+f$X4hob)VQOosF||Ib1H6$5rcUbopGZ zu1;64E8rS*gi*KT=vsAUTsc?4RdQ{*c3lbVB4Ti2s&mRk6gSPyaI@ST2XG)ap@TS>LpYSf zI0uJw1n1;Pj^bP#%`qIyah#juIf3(VA}4WP&d2$=02ky!T$qb+Q7*>CxdfNwQe2wL zaFeNam%@XbpPsBaR2F6a-Zox*RSGMb8EP@ z+&b1eGj62Sq;7)Rnj7Pq?StGwwO}f_urm z;$CxaxVM~EuhZ-G?>K}0J@aEa@+OQ?izQkyUtzjZg4lco7~Or7I&+=&E4+qaCf?M^j+?5caOW* z-RJIi54dyngYF^suzSQk>K=2CyC>X}?kV@Qd&WKMo^u0k&<(j^H{#CIqi)RYaN};m z?R1mwe0_nQa=YAxdfLsnS$C11bGzNVTX1{aqFZto>r3=rx6kc&2i!q-$Q^b^+);PT zU8;|}6YiwDOrLV6-5Gb*J?~!NUg%!rUhH1tUg}=vUhZDuUg=)tUhQ7vUh7`xUhm%E z-smpZSLipnH@hqKTijdSRr+dujlNdD&Ar{d!@bkJ%U!3h*Y9>W==ZoA^?Tj>-22^4 z`eywB_iy@x?nCaw?j!D_?qlxb?%(w%+$Y_q+^5}V+-KeA+~?gF+!x)K-2c;Gc3*K{ zbzgH|ci(W|bpN5h<-YB{#e;eP3U<$mpc<9_RY z=YH@0;Qr|TS4L@=biZzL{^~Tlo%s8{f`%@SXZjzKieXd-z_ykMHNZ^aK1L->o0wd-TKn z2tUe?@#Fji->dJ_Px4cIzkZsZ;b-{){TvVQAP?~{kMJlzs2|c}{IK4^<2=DTd6K7i z7f6bOYvkx(p@2&F=qP%cyml|q$JEz}6LLY+`AGzg7? z%Ahth3C)7W&?2-7T7%BeCbSD3LZ{FrbPGL#-q0)b2?m4FU^4Uz1Hzy%Bn%59g4r-C zj0xkygfJ;g3Dd%iFe}UnfB*`R01JqK3Yg#!aDfmk2B$y@l;9F*ff1|*n}HQL!7cED zAb12(kOZ&b6Z}Fz2nr#=Zpbl&gR-YqC!lF3ke}9q=dAP5wgO(us~QSED{zA zON6DuGGV!}LRcxR5>^XqgtfvtVZE?H*eGlgHVa#Xt->~;z))z|F6=X722ZV#dA)&-jYB($$5snIFhGW8U;e>EfI3=7G&Io6PbHaJyf^bo|BwQA* z2v>z`!gb+>a8tM?+!pQ#cZGYxec^%dPZve{dB!~xo=MM?XWBF4 znf1(h01xPaJg^7xpdQTQ@ZcW8(x$3#*x$e2)x#_v( zx$U{*x$C*-x$k-4dFXlMdF*-OdFpxQdG2}PdFgrOdF^@QdFy%SdGBd7eDHkqeDc^t zyO<;9ig{wbSRfXPMPjj7B9@9}V!2o$R*F?(lc8Fy5o^Udv0iKtn+=U(lh`c&W@r&x z#WwMGL%Y}^c8XnMx7Z{0ivKhGVdxY4#Q||p91@4c5ph%;6UW5~aZ;QTr^Oj@R-6+7 z5fmX277-B@G0`F7A|X0OQlvzeNQ;cfik#>cc~KDmH2h`oh@#kHkVLQO6I%^_F(3xT zkQf#tVpME1v>Re#haoO@8WLhsOo?eRBWA@eL$_gG>@oBj7KjVQK107@z%Xc7BrX=0 zh)cy~;*eq3uv{E5j2gxaE5w!JDskMfT3jPe7$yyC#dYG8VZFFP+$c^PHi?_XE#g*j zo48%vAy#W$kds4%`2 zl}45Eo%mk-Abu3pMvd{4s5R=0dZSIUOF2@mWH9DQMx)7?FBM2;W1&DCHURjZIRsRA6k8TBSCr(AX|@NS#ub z)GhT$y;6~}*w`nP7)y<1#(rr)8kB~lVQEAvH;zhU(zsM%oRB7^DXG#pEzL-?(wqcH zpae;;x-@7UGTxAGO2fum(rxLEG-A9f-IMN152T0EBk8d;Y8*2@ zk;aWrr3vFR>ACbmdMUkVn0h2GCiUzm!#Uz&=&CEikRnYY|q;jQ#md8@rO-db;+x8B>}ZS*#I zo4qaGR_|A)HgCJP!`tcY@^*WBykDEXG4*=;yx*Goy#wAs?{}sl@342oJL(lybQ?BW<_lh^qbk%#!n{O&GUH9Jb-t^w`-uB+{ z7MhAo#iqO764O0zsp-D=f%l>Jk+;nB*jsL@Fg@{BnyO4sz0bVQz15}{-k082-q+qY z-nZU&-WpS_>Am-Zx6V{=`sn@SwfXG69AAT}(bQzh_2v1RP5Hh8U!m_eQ<1OOSK=%6 zmHEnj6~6yR0Zf&?D&HTbKTXxX8egri&R6ei@HP6He9gWVU#qXp*Y4}^b^5w|-M$`Q zudmP7?;G$9`i6YNz7gN3?=RDsZ`?QGoAgcjrhPNMS>K!w@PR(a2m25o>ce~vAMPW3 zP9N!`d@djDV|=WS^SOPzPw;tsqEGU9eJ!R|lh5b(wV49GpfBWWH-&v2rid@GDecSnvc7rW0^dSkuW6BQv2Tg5&$QIH%(vXvZ(8A7>09Mn?OWqp z>s#kr@7v(p=-cGm?Azko>f7eq?%Uzp>D%So?c3wq>)Yqs?>pc-=sV;)>^tH+>O1B; z?mOW-={w~+?K|T;>pSN=@4Mi;=)2^*?7QN->bvHAU3{Fx~du@!j>^^WFD7 z@ICZB@;&xF@jdlD^F8;y@V)fC^1b%G@xArE^S$?d@O|_RnubiDd^Z2E$?nhbkC;YH zx&ARzoINBv{|asPyW(m&;& z_Rsid{d0c65BecL>__~lAM-o>|Cn$;;dlB;KjnA%Y5%__#?SgW|9>X8pZ5#?&&(db z=$HInzt8XY2mGI#zc2^=A%EB(@kjkJf83w&C;ch^m*%uTOk!Kli`z zzx2QIzxKcJzxBWKzxRLefAoLy+XD7LP9Qgs7swA31PTL1f#N_(pfpexC=dK%t_V~H zssg{7s{=KG+CW{PKF|rUNs9*}z-?2!H`700)o&8o&aMfXs{sh=4Od2B?55AU7+_bbtvc z&1`@RxC1IPA5fcxfF~dZq=3e(HS5gYfG^+=1OmZ8C=d=r0?|M$pf|?@i9j-7FsB0P zKqg=`X9M$r1%ZWuMS;bEB>|IpX<%7kd0<6gWnficbzn_kZD3tseZXwCm^TDA2CU{y zfz5#}0h@ViU|V2&U`JqQU{_#wz;4bl?+N6Z_XhIJ`vUs|2LcBJhXRKK`Q`%ik-*VF zp}ELhY(5q!F_)Ul%*O*K0w)8f0_ElkbEWxopvqirt}&kpoDG}{)SBze=L7ZT2J?l$ z#XzI^Qs8pnN}$PnHE=C(J#Zs%GjJ<#JJ4+Y&3q^DyZL|SKg@Rn_X76=4+0MZj{<+1 z|1v)gJPEXzp9Y=Iw}EzZhxuKg)BHZrW&RNO82A+EHrs+d z=3cWsm=nwm_L=j7`N4u`ET<-=I-FX=APhx z=HB3Emd`DH!T#VEmVw}4a47htWjHtz91V^I$Ac5W$>3L(uPsx-Z!FWnZ!I&y+2C9d z2!cT<_?_i@%MTVf_@f00qCqV9lf@DI+47484-!FVkPQB6ky+#xg+*ymS*V~ZNC(vx zjYVtGS(qRjI`*-xr7}iG#3IwUyK7n=qIZ` z^s_Y(3Wh?Va3~UrhJLaBYK?{BA(=H1N`_J)xiuZigtDRe(1Osy(4vsSsv>~)Hv?;VXWVCJxnXG2(){w=z zEo8OYtafXTHP@PF&9@dvsT|FiyK{nL6s^q2KP=wawl=yB*t zsKwf9eHv=Bwp%-_oz`ce=b;y&m!VgoE^D{-b?8l~$NDz(F7!UsYyA-V82S{lh3(;- zaBjHI+HcJZ4_F7SL)QFoLAWqn6fO>zgomvo*3xiUc+^@R9O@i9br8DuayY@XLW|jFco%% z>F{T^&uvWj3mY5$()N{&3%kR7SO|N!4?nyXiJ2DvL(Z*a5|g`XT$U1pKS}m3&V@Tzt|RsmxPywf3+uMDpW zuMV#X%WQJn+VHxt!ltyX4{r!>3~vf=4sQvoY+J+I!rQ|;!aKve!n?zJ!h6H}!u!Jq z!Uw~L!iU30!bii$!pFlW!Y9M0!l%P$!e_(h!so+ko5pq_d@-!GT?$_gUkU4MSHpVS zwea=ujquIzt+2snwA~JyY4agBqvg6%Z=nk@*@S2!bnl1I8qWR zjg&>oBNdU#NL8ddQWL3-)J5teMYdvFL!>d%6lspML|P*ywzf!nq$5&l>x^_ox+7(_ zo=9(`FVY_whzv%CBIULU+i;}PHWI0_jYh^Im#5l^JiCPt))H_~Klw*6-F zMf{OKBp3-rez*P47LNR3vqk^3*`qnp+-P1jKUxs|%T^dIiWWypqNUNYXnC|ES{bd1 zR!3{1wb8n0eY7Fk7;TC+M_X(y(bi~Nv_0Ap?TmIsTW#IZo@j5hFWMg+hz>@FqQlXV z=xB5-Iv$;fPDZDq)6tpeY;-OPM8PN&g`-FmjbhO@Tf5B>#iJcIBI=Bi(M}r`bw%kY z6J?`Z)E(`zb=&x8k4=brqGD8vdZWImKN^Vk+JezgG#u@-*<$usPORUS8_SF3#|mPF zv7%UUY`|6$D~*-K%3~F=%2-vbI#v^_jn%~lZ9}&DSVL^s));GwHOEG5EwR>ETdY0S z5$lX~#YSyow(i)tttU2N>y7or`eOsJ!Pro2I5rX+jg7^|V-vB-*i>vfHWQnT&BcHi z7=vPP42hvJEar&eF(T%SkufUfiqSD9Hffu(u`w<-ZF9%?*od17Krig{zc z*gv*^ZT{GQwm|GN`{(vxEEM~~{-r$}`^x^c-4?gUzp>}UzqRMazq9AX^W)#!3*v?G zqIhxq2m6oqlK4;dpY6ZcOXFqn@_0qOGF}z`)h@GF$7|wpdu_ZfULRN38{&=erg(F_ zCEglui!1FadwX1M*Vwi8j(BIhE8ZRNiTB2J_P%(3d?2p355|Y$!|{>$XnZU_9-oL$ z#;4-b@tOE+d@c^e!MMQ=#o;&-N8?!B5y#_1+!-h1RNNJ(<4l~5b8&Z^j|*{6T#QR` zZ`>F6#{=Mi@hXKnkY+@Cn^$^iK>Lv zZnIY>?DiacuDvEvo2X0FCmIrsi9CB#qB+r$Xic;w+7lg#&O}$DJJFNqP4p%D69b9C z#86^5F_IWf+Ix~!_TFS)vOhVHthU$K2a`j|;p9kiG&z>6wT~w!l9S1)~PlsSdl8@}_(#e=3j)rb4N3%9ggLbJDr#ymWrLAYGU)N*AX~(w+7$duh5X zU7oH;SEj4d)#;jaZMrU9pKeGurkm2u>6UbBx-H$F?nrm0yVBk1o^)@zFWsLWNDrom z(!=SI^k{l4-EALFPoyW)Q|amSOnNpwmj=>c8cM@yB#oxAv?GnDiL^6Krm3_mO{bYO zo95E)bdQ}+3u#YUOiO8R+L!jH1LN5?Q#!OSDIn$D9&9r6OGkx}sOlPLw-jx}!cV~Jsy_vpD ze`X*vm>J3pXGSuknX$}xW+F40naWIOW-_yxxeSm2Gf)Q3AQ?1+WgHniLu8y8GDBrt znL+!Ioz5_sVLO}QGVaWXozDmvPe#m08E?jy8MTku{h2@}m>IWE*h86c#+J2bC+$=A zX?spKH#=j`%g);KvwzzQvW3~AY;m?ETbeD){$u~wUY`BW{#nlFIbY;dWGk~(+3IXf z_RE~Fa%!`6*{^fzvklqC>^C`0+2(9Zwl&+9ZO?XOzs>nBr!)I~&JQ_1=5%Gdvpw0~ zY+trN`%}(9b}&1X{W)hi`%BJ9_Sc-z>{xa@JCU8tPGzUFvYeUhY<4aSWaT+v7Rtg| zB#UOTtRstOiL5hAW~r(2(V!E7iS&f4bf^Evam z^NJj0PTqX}yeg+)zHq*1UY%1sUou}hUp8MpUol@fugTHoRL$#h^f`u{>iL@a+WETq z`uT==V~#1OalUEZoYOqtGT%CH$!VK!pYNFOobQ_Np6{8r=Gbz2=j}Ot^Eo;F^8@pP z^F#B)^CR=QIivGq^W*b*ITQ1f^HcNF^E30a^K1ofNUTK$OWbVQ-Nu~bYKQB6PN|e29o3RfP7#MFc&BQ76VIwrNA;^Ij{m) z39JHE18ab_z&c<(umRWzYyvg|TY#;=Hefrj1K0`d0(Jv?fW5#zU_X!&e*icL90G>L z$ANvpcyM@p5DbA~Fak!weqeuaMEuD31aMUR0C05tKyVN^7)%6{z!*3teh4@eOa@cH zVc>9Z1UM3$08Ruafs?^hFbzxx$Hr%XnP3)}4d#Hk;1qBwI1QW*&H%^7kB^@T&H^XI z&j$0rd~jm?9B?jJ04@fXfJ?z;;H3D;@yo%~_!VGU{7P^YxEfpot_9bD>GA8q4d6y_ z6Sx`N0&WGjf!o0y;7)KCxEtI9?gjUO`@sX?K`3D87n5;Pe~h0>tx_;e@(%7k*_ zv!HA!2g;4lg{DALp=r=`Xa+PBni4-Xeik$>el|2cJ`c)==0J0y0%$QbBYp|A6j}z& zj9(6|fL21Y;#Wbdp*7H2XdSd3+5pXt-w17jHbYyWy!frqHfTGv1KJ7gg7V|%#P5do zKy%~wLi?coP(l0w=pb|mii7*Y@o*5H7e7Bf1TTmW!wcgha1`zb_lFbU0q{V05Ih)8 zgp=SHJOmyJC&MZ5FnBmT0v-uZfG5I};K^_*oCc@E8E__?1!u!Ka4tLrt{-d=oC;5a z1HtL=47g#iQLu4vCOiwC4d=o6@Eo{FuxW5E+$>lCHxDj`m%vNmW$7RoGPn|6 z1-A;WhS$Jr;nu-*@OpRyyb<06Z-%$PZGvrsTj6%WZE*YGc6bN86W#^yhWEf7g6{?Q z!u#Nk!Ts<7_#oUVcnFR|`Xcd25D6h+q;s%KFoJXqb_;e7Mv;C1bYSt zA%l@bBngQjLy)0JGLnJ}Lxv+Gkdep)WFj&NnT(_&X-KbNI+B58B3Vc_l7r+TQ;@01 zG-Nt51DT1;LS`d*NIo(LnTr%4i;*SBQe+vj99e;^L{=fIku}I#WF4{|*?{y8_6cr8 zHX(7r&Bzv{Z!kW%71@StM|L1PkzL4cBp3_@_aNb5Bp40uMfM^4kpsv<`C!&+k$!IE?hNh!KgUP`RG$lAJI6Rn%W}(?=4w{QjK}Q6qqSMgn z=nQlwIt!hR=ArrM9CR*PfG$Rtpi9wZ=yG%gx)NQ5u143OYteP+dUON25gi#E72Jew zMn?y?pj**x=$PPkbO*W<-G%N(_n>>xvB7b{edze$esn_c0D2HTgvMcgv3P7^a8fXc zg|NxNFc!h0SZc5z)*nm224DlRLD*m{EtrTUVKHn7mL436C1WYrFl;zB0?P=F#3o=9 zu}RouEEP+`(yybh6z_-k#}n`Y_&|IRJ{V8LlkgZm1Rsj$2B!p*@f3V& za2P%uAAwH`j>IS66Y)v-WIPp5!>0#l1k>@E!3=y>FcZ(hv+*1}7oUR94o=0V;nVTF z;0$~wJ`2we&c^fbe0&Z*7camU<4f?R_%eJsz5<^UT#2v3SL18&wfH)GZg4%m0pEyk z!Z+hv@U8eZd^^4a--++ScjJ5Tz4$(SKYjo|h#$fWf^kG&BAy5mAtFr73(gNlh$yij z*pKK>BoGUO1BijdAYw3)NF)(4qJF4BXb2Gq4J8_el8F>z7%`j}L5w6Cg(eUaiAhA` z&}1T&NF$nr(uoWrlgJ{ni5w!AXd0SAOeLlf(}@|xOkx%>o5&;bi8(~GQ1j4SqJU@- zT1+em_Kn^4ak%P&$p?0A}GKp*- zijhOep=5_pGMPdSBZreC$dTj(^1V>U&_uFRXcE~uG?`2#)5vr(gUlqmgt~^Z$ZWD( zD2L1?r;y!4Jwj8-Y2!ic$kY{iyy_0yTgdNDZO}Q;Ad(6{Chw zL#bpcg&IZ;r$$gCsR`6XY7#Y>N~O}MbSi_&q_U`NDu>FYrchIMWR8lCPnnTT{3aG_YEHosvgc=%34yA;aQp>32)Cy`PwTc=R8Xj6rt)WJQ z)>7-J_0-7F25KX3(#7I)NTQ52Odt6GDUOL^_F%(L?B=bTU0LltK@qhtrcn zBj}Oz1bQMpiJnZS(rI)$ok3^PS#&m?L+8>{=&AHHdOAIWo=MN5XVa5Isi8bNpH2(S zq36;Cbb4qpy@Xy$FQb>!E9jMUMkq71ip~nHrn5t9=(Y4ZdOe*J+Cb-qHqx8u&GeMe z7J4hajowc0pm)-{=-u=ldM~|?-cKK(57LL|IHoTX&jgte6J{bzl$jdp$Mk0sm;uZ{ zW)L%&No10k7&C+!$|N%>%rIs+GlCh(OkgH5lbFd&DwD>fGZ{=KGcAEhW;T<@#nwvzl4MtYy|Q z>zNJAMrISUnc2c@WwtTfnH|hdW*4)Y*~9E*_A&dJ1I$6@5EIAtWoL)-Lh)>n%@2jx zFdJd#graOewm+M|4qykegV?#Dg3w@gUMP{BA4+0l>=1S+o6M%L3qr%#;p_-@Bs+nf z$WCG>v#D$vo6csinQRuD&E~MV>=bq?yD&73ozBi+XR@={*=!zLKb+6bVdt_1>|%Ba zyOdqVE@xM;E7?`-YIY5~mR-lLXE(4L*-h+bb_=_e-NtTbcd$Fz2H`+>7rUEn7~aF~ zW%sd-!u#0+>_PSr8^`tK;?jGL6ZRWOcTe)rAc5Vl^liS7Z=6ZyChWBuLxnALY z+Ndhllc^W7~emf5FXAC2oDSo3XkAN@)P*M;feetJ~5mWp3JB6v2Yrn z&S&sL!kK&)pUvm+x%?DLH-aQC-fEKg`f};!a_ud3jKusLV_?r7$^)91`CNok`NO{g-3^n2t$Q2;bb92 z7$%Gj4;MxVBZUdVL}8LJSr``{A5Ik}geQh4h0}y|Aw$R%vV?45ayT`dBjgHc;VHsY zVVaO0o-WJ~W(u=}*+QO>FJy!>!*hhJ@LVA~Tp%nKmIzCQWx{eHC%i&fDXbE5!>ffg z!dhWUc%86b*dS~aHVK=BEyC3BwD4A8n=m~*BfMSMA?y@(3A=?o!p!hqVV|&HI3OGp z4heDMtZ-j3UJQyMF)T*JsMt@O9qupYg%iX9;y`hbI9N;+lf;;qAD$B)A`TVjhLgn< zahO;T9xjd$M~V}~iQ*)2vN$h1Kb$Hq2&ah)!|7s%m?>t7*5vPjN#OdM; zai%y+oGs>w`QjXLu2>*07MF-i#bx4hafR3*vQk_nt`^sbYsGcqdU1oeQQRbM7Pp97 z#ckqtafi55+$HW7_lSGNed2!cfOt?mB*sa7rFbbQg`}_)k)l!{(ogCyB}fe;1Ehh{ zAZf6aC?!cTX^1pbN|sWjVbXAEgfvo`AWf7eNt2~iDNRb3GNeY4OesssmKsNLq+Dr= z)Fd)hnkG$`W=J!oS<-ANPih*;mzqW9NOPqEX|c3KS}HA*mP^eeEg~zVl~T*dDrvRU zD$+W#MrspTE3K2(OBm&(iJcW`Kc#P^zmlK~ zP~sy4l|jm2B~eLIV#*LD7zss&D&a`7lA;V#hAShKk;(*RqB2RDtfVSwO1hGvWGY!o zwvwadDpQoH$~0xVGDDfE%u;46c}l)AN13Y>D2tUP%2H*S5{X13%as*MzsO2um9kpt zA6cWURn{r%l?}>9Ws{N+84%g542*1121T|i+m!9f4rQmZOBozVjOy1KI!qlM850?s-~&wYKEGrW~td~ zj+(1ZQKzcY)amLBb*4H?ovr4n`RW{XVq~sbpe|OIs7uvl>T-33x>8-Gu2$EmYt?n? zdUb=kQQf3&R=22I)oto_b%(lB-KFkU_o#c-ed>PofO=3pq)v)Vj>KtwwbV$w7Suvo zS|qHcM! zk(t^oZMK%D~|5SbU5A6cv|(UxkdYkAFeW;$S zw~eOg!}Q_$2z{hJL7%8k(kJVwdb?YMb<`WAhwzD?h*@6dZhcj`T(yYybs-TEGVuf9*;uOHA0W50e#k2Cs2`x@~^ z(1?qMjIa?gqDDWXzmZ@JF#1LZ8u8IV#$Y4SNHSu^5M!v3Yy_jBXo@k+2uFt-BaD$o zBs#&EXiPFD8_{U0k!JLZrW+YX|7fO>5X~~OjT|G_m|{#d21KVB(~TL%!01e4mNDBH z6wNd8jXB0#qrg~fEHMU0mm15A<;DslF}l)NWvn*V7;BAnMp85uU2kkKhD0|Sn~crI z(C8LptFg`4ZtO628oP|$#vWs@vCr6VBu5Vz2aQ8UoY~imH&dd+qCqoc4v&V-h#56U zMEjZj%>;9RInW$r4mL+dM@19O(a|JxOf+T=F^8JTW{Nq?92*@M9d3>=$45t+6U>R` zgy^&6!`x}^GV`Ll%{}H`bDz22JYeQW=R^;hhs?RrIIFJ} zZxuv?R>%rl5i4r-v-(@}qVuB()`I8&YhiStHOLxlC0a>V%t}m1Nk~r^JTPNmt3mSy zH%RP~n3y;wacEL<((t5FNu!g-B#liPmoz?UV$!6f$w{e6X-OGLnMqkm*-5!cQ<6=QiE6^)+E+6)-2XM)*{v_);`uN);AU(3&z5+NGuxb7waEOhz*Pl ziVcn>#*$*O*pS%JSaK{SHY_$GHZnFgHZC?HHZe9imKsZorN=U2nX#-`c5GT~dTd5) zW^7h$b}TtTFS)E-d`Awh7}h z#!VmJYC`UW*^}x|ZZ^4fYP;0-sa;dMr}jtpQX~DE`S|qK1S}ZLkZA9AWv~g(@(k7>+rlqB2q-CXLr{$zg zO`D!JBW-qCURr+I+_d`XjnkW@H&1Vw-YUIqdhhhO^l*A4Jt2Ky`r!1$^dafv(kG{< zrRS%oXJlkd%b1>#pD{OMUdF}J``v%6(? z&+eHWm)$ozoE^y?kUcm%F*_+cmOVVXaZZz*<~eP0+UB&&X`jnLN$eEmzo|BQ2pEDAyc6flfeYpc~K~=n3=!dIKf>rA&PR1{5}ze~U|UnSBZ{ zthl(00>%JifpNh2XYHk=yp(j8($%G?xXcFf3QNm8U_P(_SO_dC>@7u|rKGQv)RnSr z$2>cHG z0Xza815bdb!1G`^usm1+tOULYz64eVtAJI(SHbFF4e)jF4X`Fy3w#T#4b}nQ0qcVG z!1`bVFaS0L8-b0%CSX&rIoJYh4YmQ>g6+WeUC33wVj1D*vx13w4PgBQRr zz%Rjz;3e>D@G^J>{1&_lUIVX#H^7_V_uvoUE$}w@Blr_|2fPdZ4E_S%1Mh>sg1>F9!WvD7t4SE%N4XO^+fZl*=Lbaebp|_ygP#x%P zsPygLf$Bo_pm(AAPy;9cHG~>LjiDw`Q>Yo#9BKizgjzwZp*B!^r~}jy>I8L#xOps~*?SQ?ZL6}7LD?p0E~W3v>^<5B&x`fF44BK#!ou z&|lCK=qdCZ{5)I^E)Tx|SAa|3z9Re*Tp6wczYJG}tHH0q)!`cO>+laG=b-A>0UV3^#$B!p-33a0|FK+y-t3cYr&>o#4)J7q~0j z4ek#2g8LM42rq(5 zs$NmkTM3u6yuVA{7I-VXtyH_)3zsyzL+}UiVfYCAA$$}*1|Nq%f=|FF;ZraGgD?cc zFao162IDXRlQ0F-FbDIn2urXGtFQ*^umPK}1$*$v@EQ0&@Tc%u_#FH>d>+04e*u39 zUxY8gU&EK-EATh)w`Fd36}|?42VaM8z&GJr@NM`<_$T-dd>6h4--myLAHWacKj263 zWB5<_FZc=k6fTF9M@s+iDj*e+O2~`IOGss;3i1k46{&{2hEzvtAa5Wwky^-`$XiHl zqz+OSsfWCa)JGa10i+?)2x*KoL7E}Wkrqfxq!rQ{X@j&y+9B#_ zMY4TIs%`g%vY?uj!{qpZ}nNnCRMy5{S|4qIHb$GE&Cup(3$zv58f}BN zMcbk6(GF-Qv>VzT?Sb}0d!fAx8*F@Ge=Vx7|FlRkDwE&%mEhPR91_sYDr5iDXII>l79LDdKf)|euy4L zkDiPgsHU~gmZV0E#2SbeMk7Qh-}jj+a86RauL3~P?Hz*=Ihu+~@` ztS#0KYmarnI%1u$&R7?$E7lF`j`hTPVZE_FSV?0p>dPf{xnG&KocOFP|J{{GU?Z_n z*cfaqHtxUL^8eJ8^PUyu0&E_(09%MH!rp&YmRDd!O?k~fMY;6tHx`%WlCJ!3Pdy5tA?(Q!o|NFdZ{66SFWI^DrO# z1UrqL!9K;#VV_~2W9P98*hTCs>@s!*`v&_KyN2Dwe!y;FKV!dO_pk@ppV(j66RaFw z9WKK@xTPs1|`3wco=pNh{Ytl}j_yr_rI!{_4*@P+uI!Y;l7U-?fDUyql* z-G;(0z8T+ASjD&hk4^kAegyvzKZ+m2kK-rsllUndEVGAj7)Njv$8a1ca1y6*8fS18 z=Wreua1obq8CP%>*Ki%Ta2t1V5B~%|gMW&j#n0jA@h|X;_*eL4{0japeigrlU&n9Y zH}N0vTlj7KNBk%J4t^K^8UF>phu_D4#ec&e;1BWN@jviK_+$Jp{0aUPe~x&bC`Xhh zULYzE6^Tm3i^NMrWugl4GVuygm8eF%MpP$i5U&$&5H*Qf#9Ksdq7Ly6QJ1Jk)F&Dc z0iq$%h-geSA(|5{iB?2wq7BiOXh*asIuIR+PDE#-3(=M6Msz275Iu=rL~o)GQQ8O; z`G67~@V5GO!*&0z}!L&Fpro| zEFcyVi-;l>P3|X$@c(uJ2Z~j|2gG6G2yv7+MjR(j5GRRK1V}&xOdteG zU<6JO1Vu0eNAQF|h=fGQgi2_HPMCy6*n~@Xgim}-d_tTi&JdpxXNhyfXT*8p0`Ud$ zC2^6sL|i7W5Z@A4iR;8o;(Ou;;udk6xI_F*+#~K2zY@O@4~U1vAH*Z#G4Uty7x9F6 zN<2qCPnILglP{1J$ckho@52fwHC~_=0k(@-9Ru5Ta_Ss~KeJJf7W|MjUXoq>^d~yM~kX%H*Unn1n z)I*7RC@UT|kfoi&|EwGilSjy-#7K&yNrq%ej+985R7s80Nt3il zn{-H*^hlpPO`avsk)M&Dljq3`=V1LcL7ALRF=zQPrs$)EiVysuuMYRhz0qy-mGCmA-vlsvh+&RiA1= z1*nEpW2y<&lxjvbr&>_0sMb^)sx8%yYEN~bI#Qje&QuqwE7h&czB|=}>PhvYdQ*L< zxH1By-~U2?jG{(UW2mvzIBNVe36fguKr;VJflMzHASM1IkNVqw%%kR03#f(EBI^A@ z2eO1Jtv^;5%8wHFv7wCm*iP-B{?#4_3Z2IX)M4rfb(A_r9j88`PEaQ)kb)?fLMV*F zDS{#?ilQloVkwT|DS;9xiIORWQYnqnDT6X8i?S()aw(7UsgJ2osMFLL>Oa({)LH5r z^*ME(xT}mUzfSvW$Fs`4fQQ`mAXcKM_s3GP&cXXsUN6Y)NSfV>L=M`iYpsXwW|s3+7@svKROeu1t?SE65}U!p71Rp^)LSLmvA zHTqThHM%-ogMOWUgRV)}qTi(7qHEK2=(p*2=(==0`dzv{-GC0z4e3U7W4a05oNht4 zqFdAL==O96`aQZM-HGl@ccXjIJ?UO_Z@Ld1SFB<}#U`d-v4|=1F#l?plwt=nqENw% zqDRwX=&|&;XC5ZCSi@wNu`n|V6--{Ce<{%~^XP^2B6@MLfLUJbUslnp={1G!WdpsH zE>bRg=)KQu%Lnvf`Uw3YeUv^%AE!^!5Dn7^jnWv6(-ck9EX~n8Ezlw@(K4;jDqZ@$ z*JzzKXp^>RhxTZn{+RxRK24vY|3iODpQX>ypV6Pw=jjXd7xb6(Mfwu`75#OY{bl+J z{SEyseU-jOe@9=ZZ_qdC@97`tTl8)E4tBe+tdN4hiUQBPMMEU$}eEwVb#Qsb7jAF(zo07BTNLi<#20=U>ltPhjAH?@tIGU)65y>Q|2sl zj`^H9&s<=>V7_E7GMAXIn9IyJ%vI(Z^Br@Yxxw6IZZWr+pO`z$UFH|&9&?}hmHCZ% zz&vCgF@G{on5WEh?DK3nwme&bt;kklUu0imE3;MDm)Td?s%$m(RrWQuI$MK%oqdC? z$<|`uVr#Q?*tgkt*t%>zwm#c{4X_Q_Mr>oY3EPxy#x`eLur1kEY-_d++m>y|wr4xA z@39@(PHbnk3)_|L#&&0WvAx+M^%T#RXs5reQ;~E^ETx-<6}qNT>=N`IISquO+~Wl|5i;!qN&6)6=|l@`y$!&0ehG| z!hXmeWskAP*^k&0>`C?%3$ZYZvKWiABulY0%djlVu{0v4@3KF$zp(e%`|JbuG5aU`7yE>L z%9i8Gb1!fexQbjQ?j^1=SA~0-dxfjYRpVaeUgN5BHMrNgnp`dJP3|qOHdlvxn|p_= z%hluF%?{Dx^dmP zo?I`kHy2l^xPrxkD^h5;1{9jD60wz1D78j#Be_xB7;Y>#jvN2XYo&2ng+8lDXHDUz za;0xq&j&L7xN4aC%aqc7sau5e|D2H`xvShY?mO-}cZ0jheb4>C z-QsR@KXN~DceuOU&)hHEJ?=jDEB71sfP2XO&i%nX;vRE1=__lmIzCGW8@631QyYapGK75Hs3-i%u{%la8IE(S6Z#U$bI~!4G%|`K~ z`7!)hejGoZpU6)x)Mh2ttVEjS7CWKU(=0D+2^Jn-^`Lq0I{OA06{sR96|0REszr=sVf6ZU!ukhdS-||=a zYy5Zob^Zo_lmDLofxpGy=6~dW;_vWx`Jee;_VS*R+!DpVJ02yY3sg?EMeLIWWnG!~i)&4m_1OQE&UMrbc|5IPE_Z{JDi zEOZsR3EhPrLQkQW(7Vvrg^Oif|3X(csL<3U2{EBa(O*coFD-;Oxg!#e(VWF@{c>kHGE3$M&j&A)wer{`_ncF4& zYvm3LM}(uoG2w)8QaB|50w_QNEMNj9&;lc{0w?f-B*=m)Xo4=7f+g63Be;Sm_`=7+ zY2mDJPWVhXFI*756fO#vgs+9m!WH2g;alOVa83A5xGvlfZVKNEKM1#k+rp2+Pr@DH zuJE()i*Qf4FFX|f5FQDSg};O+!c*Zn@p-YFSYE6sz9?1}tB5a)uZUH}YT|2Rb+Lx{ zhFDXqCB7-XCDs<}h;NJUh^22=SF9(#E7lhqhyk&Y*jQ{LHWizR&BYdCE3viMMrqnMjR`S6URUEf~jJfnEsCu%>91|!Fl3*ae=r{TvRLti=5!UI&h1)?U@SP`;Q0w zKs+oS5s!+;#N*;e;tBDjcuE9BP=rKSL`6)*MM5M+N~A?r;zjY2__cUhydr)hek)!TuZiD@ z*Toy+P4Rp2mUvtIQT$1~BiRyhh161NCAF5?NNuHdQhTX`^q$mF>LhiRx=3B6Zc=xthtyN*CH0p2NO8q_ zGF&Jp`xUFnfu+1;N}-e-Esc@JO5=*HWNNXL%q%pLImJS9YN3tHlk%lG#UgT{wCI_N zTrRCB^pHgwa*edM&_He}r5?+A#}A~#(h=!H>8Nx}Ixd}%PD-aFKmsL5f+a*kB}~F4 zLLwzfq9sORB~IccK@ufNk|jk_B~8*LLoy{xvL#1yB~S9DkEKtf)6yB~taPr-?LL>z zOJ7PCrAyLR($~^u>5BBNbXB?`-ITtUevocSx22z?JJMb0XXzK|o^)UORr;;W{(v~AUBj7$&KYEa#OjP++1!Ux0GASt>rdyTe+RwUhW{jCwG)P z$(`jca#y*V++FS=_mq3dy^D2dsMv;<$j|}LTxhJ=gr@u>LPyD?aP>hL&}qrQh2F@4~7N+sn*s0uYXA1MMVfY~QsQWf6zwRb^zFtdW0i6LC2Rk`RBh>f zfih2-uPjg&DvOl&|IxNZ(ze9emR7b~l&#NPZIP%g@w7#n_OSAya!fg{e59OEPAaDq zNI?}$p%q496;9z5NzoKtF%(O&6;JV%Pn6Tj8Rb*uta48IO!-_nuUt?rDwmZj$~Vfl z%2nl>aznYP{Gi-YZYw`2ca*!z&&n^#J>|agK>1yHq&!ysRQ^()C{LB=)pBZiwSrnv zt)#xBR#vO1FRQPpRn=~@GslKJwR_mzs)dp%KwW-=nZLYRZTdVEW z4(fYqN42xsP3^AsRC}qt)i||C1qaoTTBL#dt0nrk#Qqk!-_o}$a=)Y0G3r=#oI3uQ z08T5TeoM@6iTEwjzVpiL=c^0Uh3X>p{eKj2X#>3Rnf=|a{_B1Z6pG)&>Jjxr^_Y5G zJ*l2jK^0PA6;&}6R|%C=DV0_kl~p;FR|Qp4WmQpCRa144^%M29dPe<^ z`l)(WJ*R%Io>#wAFRGW+uhg&A%jy;NTlK1XO}(z(P;aU~sJGPH>W}JA>K*m2dQbgT z{Y`zKK2(2K|4<*PkJTsYQ}ubRoK{||pjFf=X)kIoX_d7qT2<{;t-4l2dtG}&tEtt} zYHM}0ceJ`%eXW5O&>Cuuw8mN!t-01xYpu1_I%plWPFiQJi`G@^rghhPXg#%FT5qk7 z7FVd7OKfxL+lRHtGvPcy8>kh@=2)R>PS#QiHS>r<$vjFMt&P#fYUBPf&1qWceY*Cy zYA({u(+ef@%uSYzCx>9_qqj4Iq37V)$nye|Bs%e_88JekCnyopSt9hEQeXM<= zoz~81|It3x&T8kh&$Q3A^V$XN3++qoqIOBUtXwEC)!i(dA*!oUVlNapjXr@>6P^=dR4ue{;K|(UR|%L*V5n8YwLCN zcl5e?J^fw1zTQ9&=#BLzdUL&n-coO+x7OR}ZS{6~d%g7SI_U4|9raFnXT6KwRqv*E z*L&za^+IY@mp!%6WY7FZWEbf3^o9B&{rzHxho(n2zg&PU@6S>x|CooX+cl zF6xpl>#DBlx^C#EZt1q}=&tVRzW%ZPiGEr?qyI<$R6nbq(?8Qc*U#%0^o#l>{cHWQ z{;hsZ|4zTI-_URBxAfckkNO?`uKu(Bi+)ePuRqWq>VN2u^vC+2`d|8!GPirGKW98| zlrzd3FBlb!ibf^lC8M%Y#dz6x#i(jjGhQ>Q8#RpAjW>*%MlIt_<1M4MQTq0EjJJ(< zjJifW<6Wb^(ZC28jf}=d6Qilo%xG@3Fj^U{jW$L*qrK6==xB5@IvZV#u0}VbyV1+& zZS*nXj1s3_qSXI3>I02I|K-zDjA2HJOdn;8HpUoZjd8|!V?wb}PczbuOe3pMrRNr# z^l8N+eWp<&(F=@u#(ZOevCvplEYkn>=%qFK`a+3b;?TDgD)h1jeZO&_*q?u395#*^ z9~wuEW5#jgBjbc|(l})R253MAY#;_|U&6Y^rt!UT%eZa)X#8Z{G42}ojQhrK#slM_@rUu)_|y2ycw&?@%bPEl z70ileCG$n|C9|?w#eBuAYF0B}Gpn05%s0%MW-aqg^DVQsS;u_GtZUXY-!{N({R}hjA6GxmTxc#T)b&furNyRxmASfD z({C_0Jrndh%-zLme!qFZJZOGk9yX7dADTzaW9D)5BlDzr$^=Z%giP2(Ow`0o+@#FX z?=5X|rfe#vYHFr#`sOF*8S|`p&ivdwZ(cCJG%uQ$%&*L^&CBK$^Q!rsdBeO}X8*nU zgL%umZQeD1G4Gl8&EL%5%|FaX=3}#*Ro;5RddaG6Rk2>Ns#?{o*R1MR4eNF54XdVA z%c^a?W7W0lS?^l)tp--WYHT&Jnpw@Q7FHXpoz>pzWOcE+Sv{r-f2y3J@${K5pvnE&*tx48oE7eM~(ya_D)5@~4tz2u0HO-n~ z&9r7&v#mTU-zu=?SqrR%)*@@MwZvL#Ewh$eE3B2)8f%@k!P;nTvNl^=tgY4#Yp1o_ z+GFjt_FD(6gVrJI1M9GL#5!huWSz85S%3vvkOfxuQ$dd_~{E@zjwE83Opm+Z=R75f#ts$I=~ z)qc&cZr8AD+Hcym?K<|`_B(c6yPn;^4%m(C#CncduOVYjqf*{$t1c6<9hyOZ6; z?rL|lyW73&-gcbb*N(SCcG!;CQM;d=U=Okr?Gg4!dz3xK9&3-YC)gA1N%mwr)lRe1 z?Myq%&ardtDfU!*nmyf~Vb8Sl?0kE!U0~0%7uoOIi|r-$3VW@+&R%bCw71w>?d|q% zd#}CE-fthU588+Ac8U$igTU)iN^f7!lbe`9}ZU$w8<*X<9Kk`*-^f`%#(wWBX70FZ+r8)Gp_gcPcm)ol4G2P8H{6 z=M|@_Q_ZRFyzbO;-gMq_YCCnDx=uZ(zSF=7IE|dfP7|l8)68k^v~XHGZJqW`2j@Mf zqtnUh>~wXyIo+L}PA{jo6X*1G;+>!qa>7o;>F*>sgPg%mqLbvroFPuKlj00>hC3si zkx^^8I}@CV&Ln5Dlj@{7=}v}|>0~+CPL7l7OmU_uY$wmjcjh|t zocYcIXQ8vmS>h~nRynJkHO>ZSqqE7`>}+wiI@_Hc&Q52Sv)kF@>~;1z2b@FBVdseR zp>xzZ<{WoUI47M`4&Z~Aesvx=51rqgKb%L-W9NzU)Op@5=azRXxi7jexs}~2ZdLbH zx4K)yecgS-t?AZs-*Riab=h^Q{ zy9w?9cc44S9qh*3A#Spp;tq31xFg+B?r3+6JJucNPIM=`scxE^?q;}|ZkC(v=DJhd zsqS=lhC9=p?dG}p?i_cnTj0)f7q|=EMeh6VVt0wV)LrH-cUQP8-8Jr7cfGs8-B{-N zo82w$R(G4b-QD5tboaRX+ym}G_mKO6d)PhVe&`-`kGaR)kK7aPN%xcsxS$J_*~2d4 zqAup*F5!|c<aOWpuIu{l$L=TYY4?nK*8R-A;C|s=axc4A z+;81$?sfNu`@Q>vd&|A;-f{1__uXIJ-`of8L-&#U*!|0W;y!hs_sV(Yy%)UF_pjhp z^eTCky{cX{?^W+Luew*md&8^g)$-o*YI}9Ox4n0~x?Vl+U9Y~^zzcW{y+&pBjlCvb zQ?I$#!fWZZ@>+XsytZCDuf5m7d(Z3Wb@DoUUA(SdH?Og*WtDk; zwwL4OdQ-fq-ZXEzH^ZCh&GKe@d0xIZ$D8XFc=NpZ-a>DY_rAB-TjDMCmU}D8>{oiL zyw%_h^Tkmb~HhP=9&E6JotGCVD?(Oh)db_{-22Eo;hpqOd4LCckOzB+hkBTYdxS@Nlt+7v$9kN{dy*%6s;7CnXO?-s<=LL& zxt{0w-f8bY-dXQ6?{n|Gcfq^pUGl#2zVHXzB@t%6m`Oo|1{PO+_eg(gxU&(*T zuk2UxU-n<|tNPXa*Zk^!4gU?lreDi{%dhR%@!$5}@$35a{04r&Z|FDj8~aWCrhYTO z^!wA?Z{fG}Tlua1Hhx>bo!{Q?;J@d0^gH>T{Vsl2znkCP@8S3Kd-=WnK7L<6-Vc`9 zhy1V~@%#G;{y=|_KiE(5WBw3-sGsbo_{02>{wRO6Kh_`TkM}3|6a7hks-Nbk`x$a=^QZeW{F(kNf3~0J=lcczJb%8wz+dPu^56Ft`%C<#{xW~LzrtVX zuPXEW)&3fPt-sD+?{Dxo`kVaC{uY0$zs=w7@9=l}yZqh$9)GXD-#_3V^bh$T_=o)? zW%eKXNBv{|asMO#gn!aMO{5 zMlqzgsko)Mt+=DOtGK7QKdk?O;-TV^;<4hX;+f)w;%~((#cRbI#aqQY#e2mE#XpLV zicgBqiZ6<2O~C*D{+NPhpgCv(T7n0`L!dqA06KzBpfl(Sx`FPX zC+H3Of_|Vs7yt%>L0~W#3Wg2Khl3Gd6c`Q0fU#g47!M|ZiC_|#45omoU>cYXW`LRC zVK58K26Mn%Fb~WJkAO$P0C@ECX;ECtKJO7H}D5u(1;z)r9W>;`+lUa$}B2PL2k90V002tptXA|M9h zAOTV!4Km;mcoV!eEPork1KtJif%m}&;6v~c_!xW&J_DbFFTj`J-{33o4fqy(2Yvwm z0Y8GDz|Y_p@GJNYWWn#?5AY}W3;Yc#K{aRuqycfDkq7?6e251bLJOcp&|+u_v<&(SS`GmaA2Naj&!A(MMrhNp{AS1)+5&Bbwn5vW9nel_7qlDN1MP+OLHnTtkO^c8nL*}| z1!M_XLDtYg$Of{7?4U!CJ>&>ELC%mXgVLc4C=)siWkESmE|dr5Lr0*aPytj36+y*N2~-M| zK^0IXbOJgFoq|pe%b$VHLg%3K&?V>!bPc)=388AJ2C9YXp$4cCYJ!@f8&C_>3bjG) zPzNM}I-xG88|s02p+2Y|5+N7xB=gWX{d z*c0}GyEnL2j{~_ z;G=K>Tnv}M$Kg`A46cAH;S+Ebd=fqdpN7xDm*C6r75FNA4ZaT7z_oB4Tn{(Ejc^m( z4BvoT;8wT|ZXed)0gK>HxC`!vd*D8}A0B|kumqOEGFT1|!U`CKAsB`c7=C6?4P+!T3K@-zLB=BEknzX_WFj&NnT$+DrXw>D9b_gl3z?0~LFOX! z5Pie|nUDN;{dtHXvH)3#EJ79|OOU@1BSe6#Kvp8Fkk!aqWF4{|*???BHX)l4V`K}m z71@StAC}*N>_m1UyOBM}USuD#A31=SAf|{JVvblKmdHWG2C+j9A@+zP;)FOOE{H4Q zhPWeMh!5h2_#**GAQFTGBVkB55{X11(MT*3hr}ZZNFtJiBqOOv8j_A=Acv7GBpb;= za*;gb$guvSNC8ra6d}b(333cMj+7#0NI6o0R3aykD&!<`3OS9OLCzuPkqgL0f`kuIbg=|OstKBONJBN9Z4 z$PhU)h$s*cfe;u$5EQ`>93c=Ap%5BjkRjwIatpbQ+(GUl_mKO@Bjhpi6nTa`M_vx= z{~LLQyhh$2Z;^M%KgcKK3-T5DhOo$Y=sZ*p)kh7``6w6Vp@!%JbRoJ3 zU5qY4m!f~6%TWO3qeiFzU4^bj*P`pt_2@=)6S^5SMz^3_(QW8XbT_&e-G}Z+51=Nf z>9Brt)B?3ct`AAN{E zLLZ|~(P!v$^ac77{TqFSzD55*Kcb(|&*&HQE6SqZ(I4nf^cVUYRibK`IyM5+z&O}Q zY!o&c)5OMLW3h4Acx)mz3Dd%~vB}sJY$`Sln~u%Ebg-G&ENnKWi_O92V)L;7uD>3p zj~QU|F)qf#46y~+LTnMX7+ZoZ#g<`zVaqWiOn|M#R$;5Lwb*)W1GW*{G%UXv+luYP zc451*J=k7sA7+A?V&<3yW{Fv22QeGW7PG?+VfL64=7PCl?wAMWiFsk(m@nps`D1}t z5EhJuV4+wT7LG+=kysQKjm2QGSR59QC1OcfGM0j+Vrf`9mWdt4valR1cUXTOmX965 zj$#E^Ay$MHV^N46m0{&r1y+fjz^bs5*eUEZb`Cp_UBoV7mxtxAV%MPAsC8b7>*Gb ziBTAhG1yJ)7IquEgWbjMVfV2I*hB0Q_85DDJ;k13&#@QSOYHAq{jads*c^G*w)Nplt1g?Q|@R9f^{J-m`iI2s{;p6cM_(XgX zu8mK|r{GiZY4~(}2Cjq8#Ao5Nab0{4J{O;d>*4yi0X`q+;ym0CUw|*f7vYQXCHP+tpXCfpd`if_ZW<2&%3_%3`8z8Bwz?;qBG05`!+aWmW; zx4M^bXIS1B_rv}106Y*6!h`V; zJQNSZ!|@0_5|6^8@fbW7kHh2f1UwN>!jthdJRQ%(593*Q4xWqW;raLx{3u?47vm-P zF}xHn!^`msyb?cwpTtk$r}4A+Is80+5x<0A#;@R4@oV^Xyn0xF4PJ}a;SG2r-h?;f zH}Dp`9q+(9@h-d<@5cvlF)qQS_#h7A5Dw!Aj^fy`JdP7Mh0{2L-^6d>xAD99J^ViY z0Dp)-!XM+$@aOmo{3ZT3{tADMzro+)@9=-{kN9W&3;q>n@$dK#{3rek|BWm05d?=A zMT{mii7~`jVjMAv&?Y7mQ;2EA3_^#PNz5W<6LSdzVm|TT_2&|X!~$Y5v4mJg{6#D$ z_=FK5AXX47iB-gEVjZ!G*i0A`TZpa1Hex5Si`Y%<8J6Em>?8IQ2M80wlrSUA2@ArK zup+F9gMI8Kxj zWke-$f;dT>B2E)$iF3qx;sSAzxI|ngt`S0_W>~(Ks3Yo$2BMK@CTtjgbP%0H z7tu}h5WPen(N9PSDKSVW2#|mXm_P`OzzKpN35uWzhPX-GB5o6Rh`Yo+;y&?!ctkuQ zo)XW9=fn%*CGj`$ig-)BBR&xS5Fd%p#24c0u>NlZOMEAO5WfjEas;VCa>$Y7C~`D8 zh8#;cYX*sOlinJyVk~X9*X-6I+?MX+{iF77i zNjK7+^d!AVZ_=j36V)C^DLiBjd?LGKowj)5#1nlRQjj zk-20(d6X<53&|p~m@FZWlci)CSx#1vmE;Msiabf4B2SZN$g|`*@;rHgyhvUmFOyfu zYvgrONLG_IWGz`o){_lnBiTeYlQ+l~vUOO08`(~FkRq~^>>|6#9lP}4? z$yekX@-6v}{6PLgek4DUpUE%eSCS>alRwGdq>@yl)Tt4a1~rlzMUAG$P-Cfa)C6iG zHHp%qw5iF|6lyx9L(QaSQL`ysY7X_^^`A@4qx2|!%7B_raVZ{UNG+fiQj4g?)Dmhb zwT$|UT228JpE9BZ)Cy`PwTfCjEWd_YORb~UQ=6#G)D~(hwT;?A?WA^5yQw|YUTPm@ zLYYw(lqF?FSyKlo8|n~cPdQRflr!Z@xl!(v2jxY1Q+`wc6+{J7Ayg<8Muk&RR5TS! z#ZmE8B9%lXQz=v`l}4pghpAjDZ&-gmb%Z)f6;MS~F;zkxqmEOhR2fxHRZx}G395=Z zNu8ojQ)j5N)H&)rb%DA>T^^RdLS3bB$SjIq!biH!4yJa6hV;`MbQ*P-JN<{d+G!A5A~7yLVcsYQ$MJm)Gz8crKCpC8uUnd6g`?A zLyx7$(c|d}^hA0RJ(>RR`c0>2&^q)?dKNvKo$5FPNI|PlwtW)I*rbt57Sw6Hl0J~(s}ezx_~aCi|G>jI9*DY(dBdnT}hvy ztLRho8TuT3p1wd|q%YBz>8tcL`Z`@r*U+_eJ>5Vz(oJ+TeS>bHTj_RMM0e6%bT{2Y z_tJfIKP{o9w45HK6~p==8m18%rE!{|DVnB-=v(w{`VM`UzDM7uAJUKL$MjSB8U37o zN&ij1qF>W*hUMSV@8}QoKlDfX6a9t$N`IqS`aAuD{!J@sb!G&k!Hi@^F{2qxW(+fy z8OMxgCNLA3NsJaVnVG^&Wu`IHnHkJ1W;Qd2naj*$^ce$YKEq{rj3KjtS;Oc)c+L^4rKG!w(bGI2~ilf)!5 zDNGuZ&SWr|%wZ;r$z}4GBg|2zfGJ{%nG)t0bDSw<%9u)~iaEucX3j8YnRCo}Mh#F0 zMgT2pJUv6bD{2}*wc0d2p1}s?1_K?vnR>cu-IUc!2*MY29K1uKB=!}pkdIY=A_!59U5_W#H|rGN3^Ql z9&uK!TMZrYmw~pyB!dfTWAp*NUS1Ecg?EGJVd!G$YUpX`ZRl=TVIbq3=b=1|SIoP> zyU4r3yUe@9yUO!1oMbrBP}gv-;SDuCJ$=37`ephR`lb5i`hkYNhJJb-h3avFW-;v&kx`S z@`L!n{1AR9Up3T^AHk30NAaWiG5lD596z3)z)$2S@ss%}{8WA#Kb@b!&*UHGXYsT7 zIs9CH9zUOdgnyJDq93XsrXQ{!p&zLqr5~*yqaUmP|NRxZ=)3B>>8nO5>Z^t&>U-<^ z===WX*?+&UNTXPzMB|voag9=qGL3SL3XMvQ6B<<-CpAuKoYpv_aaQBJ#s!Uw8kaOK zYh2N|s`3B5_WvH$YcyyyYBXsyYuwOi(P-6Z(`eV|&=6^KYIJFIYxHRJYV>OiXoxi= z8d43JhFn99H-a~wr^VCZP37tGmh!l~6}$~Rb)E)q5^oA`Hg5)RK2N|~!duVV$J662 z=Pl%|=56N9;Q>4zZw+rNZ!%AtH;XruH=Q?)H<34iHXf&u{|$QI-XWP;0rD}p*fy`VwRC}?9RiV{Q_v;o78DAK1jT|9!7+iMevhD6kSoX&a?j!DF?i21) z?lbOl?hEcqt_#&A8GdT>3tUR-ak57(Eg8g$7G;0AJoxSeX2`d0cPwJtS#eFuF< zeJA~AYTD}W)fTAp)dlKn)Q#1*s((|nRKKtGTg_X2pZXqkH6wMS5k?wD9HWs&ql`uy zX&Q|&8f!GpXuQz`qlre7jI@ljjV2pSF`8;L&1kyO3?m(*nMSjWW*b#;PjXLjPjk<3 z&vMUk&vP$uFLEz&FLSSOuX3+(uXBamYHkg;mRrZI=QeN~xlP<=ZUi@y8^w+0#&Bb~ zaol)r0ymMH#7*X=a8tQy+%~lawMMlFy=1*qy)?aay$roAz*b-zupQU|>;!fJyMaBx zUSJ=vA25C_Bq2|yx{1SA6~Kq`<1qyrg1 zCU6+Y0fhM3CxB;{Ptw0;l4s-w_pcCi0EPyhpPfB;B<0%(8%hJc&EE#NkA2e=E|1MUM4fQP^%;4$z7cnUlNo&zs{m%!h^ zE8sQo26zj+1KtB4fPa9Gz$f4{@CDG~XmciWrf{Zmrg79c(>XIZI-HrDS)AD%UCtcN zT+Td>9!H;Jz?skCa(Em=&H~Ot&LYlY&Jxa2&N9wloaLPV|2xj`&jAjfW5f|~R&Z8w z%sHz#t2t{pYdPyU>p2@Z8#$Xen>oguEu5{KZJh0#9h{w;S}Li;WXiN;SAwS;Vj{7p{{U_P*2DeE)^~lE*Anq zzHp6jt#E_TSY?+T5LyXsg${qzv4}s`Se!6LWsRl(pEUOWDr1EzS?pg+>|aOhtniBP zs_>dnD6AFM30sA2!VaNG*eUE44hUsJP)G?G;RE4A;S=F=;S1s4!q>ug!uP@t!jHnw z!Y{&~!e2tQYEJd2>haYRswY)zSL;;kR_j$Ss$N>Xta?TD%IY=M8>+XfgtA>Koy<%n zklCu-G50^lSV;B1uGqh-SbTLtbz*h$A5-jKK`g(zu=-yg>_T-*bx(C~^+2_(8m-2v ziRwGm52~M3f2(Gze^x82)oRphG;7AxjH{VYGqnb&;n%FFSzWWHW?hYO%@&m?wnOEK z?fpMP%uHp69jtMvajbE!aZ$-(p8wOrR6baYN&<_oNvKIwDPWl@^-EOKS<_Y1Q!`Kl z)<88#4O)ZM4AtDMxl{9^=2gv`nol*~YJS#?uGOraP^(qDw02o7P-|4XqIN^=#@fxb z|MS28^}ft%9cmr_XkM|kDJqRCySA{lsP=emRc&i+Tdk8Z0)Zz`9D|7MrCR_)+N*> z)}^R)tbCP+RZv&-N4=_4Nmr*;%GKGrb9GnhuGU?z6V_GN)zsD2)z>xFHPtoOwbqI1 z2I|Ch(mGk4ybi6y>d3mGx(9Vn>on`f)Q_tlU$0d^xqeE$PW{aK+4Z{hbL!{UbL)Ba z3+tEGuc%*Hzq)=+{n~ot`YkFwYxf@?%c|bG-nQPM-sO*Ll~A9ea;>uKb5xeqk^18L zlKNxy<@HtdSL(rfw4SWLQ-8Pqe*KI3m-Vmf-`BJCKk9$ga~eiAXf}*%7~e3pVOqnC zhM5g|4J#Tps9Y+C2A4k$RfI~MO86s8<^0j4j{PyDDjUu;oNYMYaIxW1!?gxsLtR5t zgRDW`05+fvc*9V`&4$|zcN-oxJZX5^@T}oQ!>fkZ4R0FWHoR;2*zl?0bHmq$Zw+k2 z_l6%0O4Zx2dLyS%vr(&2yKze6)W&Izx+-nTS|v@{Hrh8jG&(gp{}HCV8+}!#RL~zw zDng}4rKs$v^gnV`eq&+dF_i;#w(&}%uyLSK+$d{QG=hzABicwdQjJXG&Boh}cN-rx zK52Z>__I-~NvBD-Nv~;P)1sy&O)Hwrn#`N5nrxd~np{=>lc!31N>SNOCz~!bU1<_F zH8-_1wKerL4K&G`&?c(sPSf3{2ThNgo-{pcdfoJ<>0Q%@rf*GCo2NDFG|z6Irzb5HX?GuR9@Bh6?t);!ewx>@Un_Km4GbZ+o&EWNQpr6+l) zETpO%CvTj&apA`G8^Rm)H^>|BZ+yD(?S@*5ddtX`g)NI(mbNT!0b16ytZiAZQi^t~ zWFjk-MC77!hkX7RL*Xi4D4`{>B}JtP<*VGF|A|4xEu}60lY**LKG2nxt1Z`Cge}!A zO)bqWtu4|PdCTjTH!bg5KDGR8`PHIqQEOFi9o?$gI;M4et5&N{>&({Kt#ewrt-RKS ztxH>1w61Jj-MXfAZL6_L88TN%LJqBttu87%D4;b^MKdoSv*dM$ZwI&m(NBZmVl+Y7@0}wsp7lw#nM$ZD1SR zhP0t=SR39p)ONG&cH7;ydu)>=u=$O=@-J#Q=+o9L7sAEaTijI{X zt2)+ntnb*+v9V**A6I9W%F;Q|VXCrotU7E}I*z+az{yq_HiaD*I<9mGJDNILI(j+= zI%FMa2hs7ZgYEd)q3lo-jSy*y#)!s=#)~G1CW*8~Q$^E6(?v5xI-=PkUC|uTT+uuc zSHu%75G@id69FQ=XoYBv$XK-H|HPX;f1DdLk>ekACR-)VB1}YyhD3KnpG2QUUqs(TKSi9*k)5ME z$8>6SPVMA&F6}h_|MOr9JBvC?I*)f&sO*=j&I_G& zovoc@C)GLBd8hMb=ljl2o!>gux-_~*c8%|v(52NiwM(~aPS?CYD$MS#{VD~n`lO*u6oep4j#{^tk*{O$vL8R02u4N*OuZbH3+dkFck@r?#iAr?IE0r@7}w zkEo}!r@N=8r?*GkBkPg(fIVo>P|wYt+dX%B?)E(CdD`=$=XKAgp3gmBd)OYeUQVxO zuU7B0Uftd~y>ol#_3HJ`@8$Ly_AcmM+PkcGc`wk*?_Jfqrgv@chF;@8g2}$#{VKcU zU#rBn*FmL{c>bSA5~A`)VpP^h{vThYu=iMR=^snvbnn^Ti@jHRul5Ri>v}tT2YO|_ zU@zIr^bYkt=zY@rqW698hu)99KYM@ms`YXD#`jI=o7AV>r_(pHPq%MgpI+a>zD0dY z`j+)A@8kCw^{r6(BW5aT#7ZTLxTrLd0F@jPqH;nK`V#w+`%?c%AcZRF4lmlvFb@6zymUyaISG-WXNW4@Gh}VeMir0%bivJZa zc8m9@q>KMK7yolDY{dVH7LH;kv5U&I@K8AxAu6*XT%}b+iW9_%;uLX)I7^(b@+S&Z z^2BlRzuH8V%9gk)ZW1?(Tg7eS4zWnwDee*vh{a-wSSpr@<>EmxD2BzT7!#A?A@Kw8 zL-AwrQ}Ju@8}VE5d+{gn7x7o|Pw_ADZ?RIWCQ+A+l#G&$mS{@GOSB|9l9`g(5?u*b z!jmkNER`&i{3QWY2d^t6DN~|Q-5(kN+#6=Py36_LP zVkEJW1WAe{TaqKmlN^y8lN^_nOR6LnBo`%@C08YNl6py#q*c-;X_xd!dL{i5u>_Pr z5>!G;?nv%R9!MTaUPxX_UQ6CfzDZcgF9}CFQmQE(FP$o#CY>RjDbPn5?b5x{{n7(cQ>nSsLTV|sl3Gg-N^PXJQU|Gv)JN(sjgUr4W26bv zL}`*VU78`ylx9h@r8&}E=}~E+v`BhPS}HA*mP;$8XQXGP=cN~<7p0e^LTR6K`AUnr9;xY(kIdv($`WonYxT4)0B;sY00!@Q)JU*(`CA{IWj#N zSGH8POtxIcm#vX)kQvK%%l63j%MQq_WFfLpS%fS`7AH%QrOMJ}nX<#OELol`Uv@-x zOm#wmIU%RywEU+0mi&(VuKa=gk^G7Lx%{>Kjr^Vbz5Ijxo1B&Zl&cMD4vrZdH#mN9 z!r;_Foxw$e`v(sUnhjbFIt)4vIuE)Gx(@mbCJtr{mJf;sI|q9P2L{1GXb>6128qF; z!JC5*244?;8q`#1DW)oP6nYAM#TLbG#U90eg_*)uVW)6Zcqn2Nv5G21tAbQKQ9M_? zRE!5FfLh>GP#2s7>VpR00&pR?2wV#O1p?q2a4onV+yHI_H-X#19pG+oKWGJ7gEpWo zXa~B09-tTK1BQT+U^!R;R)J^0E8tb|Iw%CI!6vX7Yz0N&04N5fpd3U&5_|%_2H%6~ zkR~(+8V_kfI?zmLHZ%v~LJOg#&|1g=a)CUc04NX&hC-njC>uHk9f!)HD(C`q5xNXr zh3cRI2!v4R1@szv4}F7J=m+!*;=r2lcz7y26V`+EVJ^H724FrcfLFq{upR6GJHsxp zE9?XN!v1g|905ndF>nH$0cXNla1LAu7s1Eia`+5<7CsMOfG@&AxEk(-pTJMy7w{|i zHT((w41a~c!7QwXs3ROi6VXDnktxVDL>JLRxX4mu8L}J!5I(X7u|lj7Tf_nJKs*s| z#1{!cLXik021!9Ok$mJVas{bF29O8HL*xna0(p;oKt3X$k)Mbf%0abJ9dsGG0$qu& zK{ue=(H-b6bPsBVTA{Y63mSk1q9JGmnt&#vsptjtB6fN#V%<6H3ExC8Eir{Jl02A+)<;zjszyb3>qU%-WUJ>H79;Uc^n@4@?U87{{a zIEfG8ckn0pQ~W*t0sn-5!_^3NLW3Adj3*`#6A3M1DlwhVCFT(G2t7id;1LUnMZ{79 zAl49TiS@(=Vk5Dg*g+%^i9`yKLF5xhhytRJC?d*<3ZjZQLtG)Q64!}pqKRlFM8p6g zCS-)1K#3vZA@P`aO}ruA6Q78m#4kcgsFRxH9MYKFPCAe-qz4&D29q&lESW$ilPP2x znN8-9dE^oD76utwP*bOfDFXVUrf5xS5*MxUfl(`V@`w2-c&+vpB@fELp- z8l*9rq#61q{eXT#zo6gKpXs0UFItV^Fxrd`Gn3I}^q7UrB4!D*j9I~~WY#bnnC;9i zW)EY=m@`()LB@u$W$YLi#+7krJQ-gmfC*tDm;@$~NoBH`944PBWXhQe<^*$+*=QQB zBIH=JGZybGBdwlVjXBtR=!Sik*A4F$?|0t&{r?>sup#bt8YkT*J3D(-t}Gup^5f{U z0;*!YMT8~C%Fo5aRpgI^&q{62!E??ZPd6QF(PbNB_slNLDb`8q+T*^{`?YtnPg$@@ z)VS!+F`9A8IQ@i^DM4wWX|Hlij{BROwEpU~BIta~n>hOntsIlAD`i6#CN_(0_dCvW z?NV(HxOrmU+x=z-=|nb0K8~u3UYA%~XnxG%*zwczErkw7k+)Nfi_4GOTWH$eu{-N9 zLp7jto%3GjXjkWexX8ni4-&!?>l5>nty1;ViZZw4%+C8+e4un!mBQq!$vCqQ=BBo* zT{pSMY3gxO}cHRQ;~C&tI!qp2=EN{>hSvHRpyfwm>KdRi6%g9$GTCjbPo2*T zpKC$;BV(fAn2m8i68w`Ak~DMA=5EeES~_s@iRDYny;h-C-w$GT9`@@Ut~-5oTkW~S zGtBdhini$W?F{%CSs0ZRy*ch!vPR0;l!DY}X}{9mr}t*^vzxLn=4!B21%H)DOTEj7 zDyN)&V|BvwAFl!*nA~pG78g2gD!r1b$N%@&NGHq7tI{=@h0@EtMjapJh&36U8EIpIfE7G632!(x}su1J@7Fnw;Z zCTr`r&wQUnmc=}`A)iR!ic+!J1&b#Z{jL{0*ZL@ZlOp!Tx23&GZ^&7jhZXFp7{d;l zl-c1P+FnQfRz#%6cE(;!OUh2pcFq~g8kUSR9kk@Rgt~pjogNp<7cfRD4^ zIu#a{7?7sAp}IWWFk*2;TEzK?n8@VF)R=cMTVi*`?v9O%Jsz)?*q)f3JSt^bN`8t? zu4&%x{OBY4CESun<>nO=D<@TYRu-QcOpG!eWA)a}$_FdDZoSTY96O%XJ@m|V0*kmQ z-6pb=SS?nYoy<;Q&lgT*r?J!78LSTbJ9j2Ki=EBtvZY>g*n^>S*?H{aQa#qxJRvIh_999qaOVi&VZ*rn_?lVz;8`EI-S-dZVt zvEgmv7em-Tx4$X?$7NR`)d}<*$BHu&XZjLmd_fob`b)01-p`6#ja-8uvo=f zb{)H(-N0^SH?f;pV|EL>mEFen2XAM0u-&N*1s_~?vb$KX)ZOeJcC*7?b|1T+J;0i< zrmPuj&b~av%Z>NeO0-}tSu56>J;>Uyzfx>jJ9dM^(}2yE?Lo8bR;8~sxnZ)?w8mOT zb=Y&zxyAFDXNq65|AC-4(eL8sCfrL@94^i_DzY!>@aPJT3vZ3IDm-X?z^2`m^pJWz zR9SR^!EM3sBe$te#%#$c5Vr#v3`L`BjG zjae^FJvPa<39?yWH^HIaVU<&+^9r|z9*yDOQ}eQ0^K(mYpUSjvac*>(Y^G)bSWLHB zX=`IU(ZR*xi$k8{C8uK5Ku2x&9QPR>+k9A`KEI(r{U9>vN$~H`J5jOG^|9;YI2l)S z-sFEgviqn;;nYIQ!e504N}@{dl;QrPLTtm%h53ZLM|a0Qi9eB)l6Tcs>f+`3OEtDG zKVWXCJoHfhl=486)VRAQLUYKRvKVi5*)`PL%;&z(+`xojQDkHE)3{G5?ircI4(4T^ z4&Ei+Ly^+B@bp9M&iomL%gTctdQvOXwiE^zPAD#OKIv%ZCku^_+7tgIlasfg2&l}m z{^DxS`bK3YZ$8|f^)0)g(1D#Dcr)Z)xNG9Z3`f?l=tG4Qn`RPe$?>1;zbRyP*s{ZO zPwlrjUts3=)MKgVbpKbu+Y+jhpiGaP&K$YhQ0lzwL8lqset|#3Mn(ijq-EVJJZw6_ z@r?7>j281V?w*k~CZo)J&E@8)KH7dY3H1rj6N1z5+}Q<4(GAnp=ASLLTD^7(a^2)6 z_PpiyJ9u&Ioy_^!)yLf`{VK~&!KY4GNW7x`=Y%YYbt~9fR_Lncrb7LK_k`v|d`b*X zd7EKaFu!nbNvHV?i}M!a17#t7*>a~e&l>-};7tjU;ZICfnX(6+S=Gr;M_reO@MZCp z$#C+{l(~f~iocZZF4HM@J)LKIIk+aasi>v&o`nmW?J?j%_&EjZglL65k5W$=b=cwX zyCWkDjLL#fd_Ng^DnBMU_DrHYol}y0s^k=%d*7Dhyuf=w2om9vkd&ftzA(fsY%r!T z|5pB|{I8{lO>UXJwWpmbJmJu-QPt6VQ+{S76fQV%X16JzR=gq4cKcq*N-ZEWeQEoZOYNEBL!(|r}?<+n5 zfvI8N!bU};N4T+%A_Ed)lUtK>(vj?k*IF+1?F_R>{R_OVT^j=N42HDs0;9iVvao3%n}5Gkp+$kI=~Emi)*0sf9aEXr|`o z?=Lm3ym-pleoDaX@PDH2M~%<8W?qtW!2Gzm>L!1mV*#9Kz3A@5*NJXr&8Ngc+L;&4 zCs-v~P4qhHwZQjuPO^o;brjMG`ZMdihxs?xG+OpDF$TS)9SI$68Mc*J_tc%k0< zs@n~3`#XoZhHZ&h6MZ{+Mv5qHWV%}3!o2+ah2Dh$-eGT5eCN)%t0$BFivtYo481Ed zf-OsIE9~w&A?_=@!oAl8EeTg$9+tMSsU9b+jWlzo_4-o{tAEn(68Z+ zkvo&-rj1DV%RHakoxh;W_2d=Xp;Ovs6D`(TnObLgMg@#b9GB>nl6yGi_`6c2#qj{& zuyCu&Lz^7-Iqr9^abE0w!^hosL(ul1G11`(N0YNMC+2-Ea4q|Es>R`k%LLc!uBM(p zJb!v>2fPb79WD=ln0V~C#9lW`E6>s5kR{|c$)mwzh4&i2!GNCdQxV7Fk0;Dd%1vFB zmXZ0YfGzEp1<+$z!_>PghkC^Y6r%+lDMiA&QS zWRV4v%iopvTaa!SJ-9*U!3j}{BlSgY#cwOOotSTS#B8t46}yEFyPTq(H@j`}Z1e2( z9OISeUFF*sB#zNfyq1!Zx+JYJ?QBN=;l;T#@-7t`l@^|!VD{0}on>vxo$t66y9ax3 z3z`|)9|fk|O8J!iIeTW#gZxDW2a5bkmz#!|&UQk)4SW)#lA^YsaCI8%=Nn3f`bB!M zTavbAzRbK+u4QT(ACi3W_(StiPR%}>0!#vK2h@fQ#A~Ee0qY`um}Oh^+75Y?`CX1U z7v?RNt0w`^7%U%hO*wFfJ%D_(}MZ$d~DNvZv%Y zc4fr($jLE9F;whOYtzno9xuP-lhT^(SXqF#BxB+ul831za*bc1QK>3!8jcmG&^ zvm9mp*!uRtSGI0;+J|1*f4Ap2d~{smRN*|w#mBwMv)1#A_Yd!CpLqX@04895(3p@N z;Ui);#Tv)D#P-I%jGvJhmUuX2LfX-EEJJ$uezsYzQ|_F+JNaHmstc|a{w%*=aq`q& z3tx7sw;x+>w%8)n!QIn3U@&}sT~+&V(#PWXRDHT zjl+7vzD0S)*2j~{AG1H@gy*{E-^_?0iU4q#p53=+fA!ouc7@*)G-nemyn zKWs&g1x`1d3Z1Q8irtdk4|o=N-SqnAHQnbQpOi4Ch@kkOL^?4n`Dx1JwA#$%oRZu* zg-?p1Q+lVT*#+7ybGqX))hpbq(A!KkHp@BqWAxP+Nrs|mNy$x($cpHW2#C5Cdn?g8=}K~3YGdl!v{{E=XGP{dJ`z({RLnbeprYo4 zkEOYTmG3~nqQE6V?}z^PdqoGHz`=kQmI? z<-fLEe$d>u*?y9Pw!M31)fgGPnw=L{m8sRfBRpK6Fhn{ z910(nXNBk4SGpv5-wT|Vdns4FaD4e{ixAd4%SskW*|TKdFacqnDEgN4H1S>uF*ZQHgSK) zwIviJ3KLzEP9-l&<);^B+{*YnvoyOdw=i!_!Pdg`!hoXE;3DPpjcBWm3eYZUpcqsUEsD4CSL}tpb^oNdF&exo`y1e$B>=W#3>6hcbGVo*I zQxoT>>ZTc|f68#rbjuyc%_^E(GOE0(V!WGW_WJ_Q;?a%^9DN;~BTlCJ zWKqGt-SFg9Ibk_-O>9k`o87h8Wtr?Y+RHa-WVTc35!0ELs}3scE*x6pVB&DVVT6;m z^EQ`G&*ffQy}G7mOs*N5&S z{CGhlimXaZ%C)MZPv_XTI*f5Q_1f*TA-cEpNSRgn=@Vx?)$%vy0M6hrX-#L=WB<_I56}+;uzyJZ zdO42?Rm=UJn_xfv@ORS<=1m8;+g){M1Fty-`W`mVHnB5JW>eTyHq9=LO=q3`9Ro7h z=7{OBne6Da9cgRRHy1b-9AiV{fTMvWfu94X1{bsULso^_g_f}Wp;YKG z)-)zK<~SP}|2VOfU7l3N9{7LQ`wsZF%B%e}l-ZV2DA2|5wwCwads~tgv^dudX~o!sz$O zzkAHuO#ZF8^a& z4#*$&@AmKU|Dj{Ae?9f2Nt`?9Ueg1Fz>($@!KkENs z>yTl;|8DDgtGnx9S5EKA-mL!8f!7DVKA1cx9eQhMaO8krXFKSB#rC{I?Abha$p2mc z@ukM`-)wlyU$gmf|5vv?;s2h$Ow5;l-+!I#9r;OXU+=F5ZWvkQG4*MXw%xS-Uhx+sFGwDj*2s$#>5A8tX7y9*4$arK@9G{hKI#9J zskwc+-D3S#r?&Trf!_}9ACisuyw|PTGoE(;wGY*|EbFZpxo0GA)1&?Ew!0i%o?FLm zSXt8abM>>9Beq-ZgN|nxZJBs!t71od|NFLYd%oj&Z^@rlx>kLCyjHtbcb{%o=Yp=b zzHg7*ViVf7xjyjyYtdJhD3?6AtYK}^)-P>8W?gKUY`>?YyLZiqNP3mFyXT1WHcfBq zORaGu68lsBr~U82!vx7{k!GvrbQ~&gk z#rCX!wdathdQ3mIVDaFRpZSljT5`|bYcvzj`4>;fc8r}tc zFMm;fQoc&}2VHE-*Gx-Ir`mPH+eS)kKXXXk8{JR3ukrnO(VC^NuF$Xi*@o(g(-Z&P zxMJ%+wtlenHCcz@Kkcd3S^UGL@)h+HTehCq zdVbs2R;1oHAs!z(ytTaPA^AIsTU0lzcB}5w9@ajmOEeanPPMJ*&FvfRpXg5+E*??Y zUS7Inb>#-*#4r5jt?KPxf8e@~@pbx5jgngFU!+6wFQ{J8d`5eH%b;n(D(X)guD2ca zJ-7JA<<{lJD-5f2tG{y3!Zpf?7q?078xe1m+}zaN^hm4unO5nPZ~Ncz|JDCDf6?%JBk%eL?JwEi^PhLW@BjSb^u@~;zq7Py+28&D@c(%2 z6KhvZeBl45|J3%+@A#Mh-~Q}Dc=NDDzg~1<(bv{IC4N?Xm26P{AODXPZ#SRU{9Jdd z;Uz%rqump=_}$q**?V!nrV$xr_#0P z+Ke@(7yEY%_7ANbIcxjA{aKg5clF|bE=gQ=`-&G<92x)R+Fx&Nkxa^d)ck0BqIGoe zhl82JKlZI#+OYAbTZbPQ(*3=2dyi+}FOH2Zk6LvD-}CZEvsV9k>viHkitm>_Vdv(~!u~(>`v#-No?X3b?e!b#9}+(# z8s6Z2Y5Z%Ot0iJdTGL|1?=)NBBNOc%{av?rAME{F|DT5WBR{tP(3|P|JKSKXmY-dr z8$Yym)%vea{BYtoTMZBWO?HFg9e9guwZ-0ks{iotdH-@pqvz}1#?hj&w-$Mq3E&Oe zEbHD`XITHw4gL*X6EANrmv|&kNIRQcO^vc{nMpmWHfpYGQMSCHzt5OrzNPagJ=gU< zHXt6l8=e@SV{ft#I~u%eya&9$@NO9EA1~TayPkR{mvcN%J}B( zW=)^P@hi_yy$+vI{!Gg@ea^s>gWE^Hv~B%;e|d0ko5$i<^%?ON@d0s*)Gn=2Jg3>I zE72d&pVcoh{M?w=R@`oD|8={=>atFCbavg--PTjm`_sOE^xf63@4s_!*Wmh*iz9h< zopY6Iz58<>pXZs;^}gz*3&;OC{@_~C#=4FFv(dWg*PHI%e9gAzZ7tgtZol!NEZIic zs4`Z4hyE_ZTI2894t2gY(B~F(+t(fsUc~hWNwZvE@0N-CFls?z=r( zJljU!8m;gRj;&gJe#M@Zit(R}?^w5F{oNCN6Mx&7zxCCv@7@2~_G?F{n+NO+$)txRqwZcOD|~a zUX(AENH$2c(l<4S7k4W<6;n!yW{2)Ct*`4_t*ITyJNTXdfR~!o^{*TF!Qk5?tLzP< z3w=W0!@j$gzOgcYe8u?Sx^Z~XOzMPqqikcvy}#Sx_v{`0mEhX(9_^F*(Xny^p2xOIBRXO@Y?C&X2&U)t!CztP>(Rod%W{-AojY07%k z{N~`7?7y_j#(ucGcFlF`>c#(*KdMMkm8kw`_)OciZ3C9%_J6c{tPgZN(P8c}_U`Nz z4!q}#bJe<4?yveDUc7M0$t4dg{lU_&tXeyM!T;HH&#W7sIOX`NC)=YKb1uGC`HIr6 zPHu~~)LQGUeVzApE$@lzd#wMZkxtt#o6i2E{T;`h&Na^W-Pe!ZF?N1Q@``P%^TuCZ z`>*xi-H3Pw$(>vv_UH_}~ z{S&oqMV1oha!>N+MfY|;^j*uLf%k{@*KKX1*lK5Tud z>oB}%=(dq4$7WCN63x=rmi=h?_oc^FKh^z1*Jaq%7VrAL@6XGkR{V0~>5bz}r#qUx z`_~?BdRp^iqjKdpq|<(dEU(39`kMI<<`b5^?Z587+i}AZ<9fr^r?TT9@eZIxd zE_-pjY1?b}Eto8qOr14Ij4Kg z(A2SS;;(Y8`m}D3af!)jDI6PI9JgZGrh}IK(l56z=(u0~WAnbY8@pUxcXs#mKjnDQ z{q$1a^52f{TX%88%^T}C-oNpt&0pEPbMqTpvvz*r{x6AJ?5*xePm}irZ_?P|<(l=j z_2<^#G!bVl?kcxUHYIiZ`N7Jjw+&l+PpoQP?OgpmSR)RytV zw-;#_U$f*tOLnijXQN@~i3e=b!{Tqs&l`pPmX_6$Sn0dUKeZV2?Z$gMpYA=}_sq~M z_EUC~<7=K;&o6!Fef^70E&2A!Z)|vB>k~U<4^_*4F8j~+@7!~h`1c*x418bmSKXG5 z)xEC1uiFw_Z*Cmje0bHn@Up~z8D10bQ4}c;s`qM+8Rh2J%vl}EuFRz+TOZr;<_@7$ zF0W9Isy;KRHZPp~tEI>KX2-JwM+c&9Ikwx!bM9?YT+?h-)fje~#69Z41A|Zdwv2ac z1WO)nyUtm-_&aMAYLVsXt}VJR=?D6+n(SK9&~!}B*W7KaH?8a$>^;_dr}sDTbd_JM z`|iYJ+dn(`OUs^tjh4^0i<@pz+@-p4++cEaUOoASUFIF~eQn|z^{=}YE#cp@U?O+B zORCcB*K9F=ae{wetI0k5+7^?lN_(nx+oS^wYR8GIGkn6a5)zpSo+4g+qcKc z%2bOwYKH%2`}W#LHhgIle``^dC6av znwCGleBJ7s@A=%sKQ~?6zVW_F{r9YITE8@S&G5C8rzJjFw?S@_cYL*b;lN*Qo$k)n z?zO+%et3KN&Sw>OdE{MZ$LrSa+kSAzsNqrbB=v!`Q8J+ z*L51#8IQNCdZPz+4}5J-QVx~AD?yU z{hORy-49-;cwX^)$Ga={Y7LL%Z*q1y`(g(DtNwP+@c7@ymrnd=#}9WtBg^T$P3qE1 zI;xj7tbSDdC3xY{`y;n*oZfc*4%LnwJLJs|sdXz;#~(MH>GqENetmV%cebi_Dm4p+ zd)9Srdqr}pCEjq(q_h63_tC-SBTtS@jqsd}&T^mG7c-WU8-}GNSC>=aB zxM}EvkuF=^vWHihR$n*q@Wk%T`*!p)F1d{$g9%eHRU{8^7p1toVvS z-}{GNe&7ELUhQ+Q{QP+S1GmZ7Dz4V$b@vR~?d#mnxF1`3blK2&>6(3OZQDLKdCDSa zf6Dc=tH+Zg-l>#o9?^OAyNz$OnR?o-^3JdJw-0^ScAaneMAy!^`}6x=?k^fCUHhvo z$C?`S`wWf7Gw{;L22;7U!n(KX*E!X;P8^61! zu&1ggM=@wD?0a?5bxU89{-x=DWl!@<&HvV1ulu}yhiSVh)vUL^Z{0EU079K2Dy}zJBK;?>sIn;WUVqp!epMkX&;hKdh2-hrZK)7aMBf_-{ z%Mq?!C`Pz;p#tLO*E?Cf*B0_m%iVNkElw_1kQrswSN=Zd|Q;G-W@|1Lx%Tv54e>6o9NBKRP z;)HdhL`wU#9IsTjQxV>q6jmbrOtM~pl z9Tj;jZ4%|jbZpIgy~$&HQ}$)=Bj=et&Y7n^b4YDzFxjH94F@>(+w zZDbdcsoPh-uV13O?7n1=%O6`mW%FMCGZ1j>-50%IJ|)G_AQY|mkP8N6p< zdBiRyhcpqnz+~cC__@u`bIeUQn<~v=x-9d|*5{MXchB=IbR8O;XT|ii{ZP!2j3b}) zGjS#7GdgN#IDY%7E7?2X-7-V}E8qRo(!qEc&ywMY{z%%<>Z6TEKP^Z9-#n-3BmOQ} zjz%9#Kla~zMk60v?y+8{{FwJx((%X|ZYJe;=JAT-t@Ezqb_=1V%kCKR4n@`v-KFce zozug4+{1~7djIc=qE1|%?PSr(!jqA{2PG$ECtD-3k*f43``sh+u8QOqz-@{Y{@A9a=-;dqlG;4{ycc`Admu8X&bN9bgW!~wk)6Eh4s84Gna$RSoNwlAmvDG z8N7GK--nEI1#>=%qB$!sXy#Pt5AQR^q}D0}>#Puxs%{jQApqb7xub5+lzOP-V>AIW8KQ(dA*`=s>} zD`z?~Ha9dmJUPbMC+a*~J9{p=gqqo10}A0~_RhM@evytNdzL;$48HKZn2|?vy);~M zUUdcCFKwpzR%t)=M=;+bo?YK^zI9$_#WXMV?ESBdqWx1b<;=(4alY%n;3#H3#!nAB zbUymRY}3YE$hlBZ7ccLbX^7z08Ueq&-Dh&s zeGC(H%&X_%4C=m%aZ`e+nU0U-cym^gRUdVn`Kg%la-Eg5DeIVeN;}m*H8{`X9-gQE za!vec^>Iwy1Mii>{(2Z;dsxiFpJD5m`7Q8nDwq39a24se1hS#4{0OW2?9}x2SCecY ze(mbSYeJ~x+E6?-eeHEq(|NElzn)|vqt`!heMs?#8>sk>&xMe=N0ncA=L@8I%Z+_E zlKIrM1?7e>GSRtapShV*Dq-(M5tZ3+L}l;Z{6|K95wfgXDsDM^OQarsU*=~1cxwpf z^-^*5Z6SmmU2}Wc?QHDB<^jTMsIeByUR^HI;HeJ=HM>ivY)2F8Ykp6qv2flun{%-oKD0?0D zZ(%&h2iCfbri}WGK-^BROvUWkyBXTdd*KFnZeO`s)mc;1IaztI5C8f`b~rXQ{dpE@ zVdc}=e{?k@)ooYR=#a`1?QhPp2u;3zug$r8F3Uug6n@GGC@W7I%uAnUI|<1tD%jG zZ=`>l7h1-wLGHUa3L=5^jt*wd&fe^tn*JwjOp(<*;*9;pnC+} zS0GhT&4Gm!?fs#6F44UMY}L7eGXrPCP`2s|LllyW_H6F*KOAM^RQ63D zwZCbMWPY%S%&2&LaR_;uh(jnDEnOPSPU0wle13V5QQ|0wkZaG1K=wR*;sJ>V<3FyX zqDiz5V)I{X@2R?ntmYmk{>{ItV&56VB(>QOO=@H0=#>>O-9pf(%*t_Fz z5*e4rvulp7Vd6Kfqw*oxpI>*^`T&{qsfx-tP>23vP9JX2x#bE;b0L5=S_?w3U zPRZY#n*JJWp)WtmmNKvqJD2Dy(LvSP-BZ)qdxF`_>+!u)(+eMgX<(zi9)IL>3ku<{ zL-yC#Z($?cdH zhfiv~bcZ2Tq}s!r_p2hQ1Ng4i>F$#LnKdMP3Ld!o@L$UvPS$O~OUov9rA2@EN86%# zF+9p87WQ!{isvQp5+UO8_&fnZggg;i;eBa&$-ER^Dld(f&dcCs^0Ii@yc}LGFOQec zE8rFKig?Am5?(20&`YKVFao5%sWlD$J86u=5iIZghsS1O`K5vp$OriysB)A)#P8%M&}<)HB*+w4`BT&R0vGVZ{1QPItWkn7 zq>iC=@Et@s{Im%QF?K0OOV*_F<+PWAUX_AohI=$$4ShwhW$}j?%+$0=U>3B&`Dqbo z1qOjnpaWh7TOZPC1bVc#qCMHwC2$MI0PPky1WrMZpqEw*3p(g%K;VI>6J>*f5gN7A z>-2P&06sPpKA5*3Bc%WQW7%c$nSbZYRiTL=P8>&$@lud%sn3;S_W@Nc5d(dx) z8l9&xVNlbX*q7MP`mOU}HmLeEtWmsH`m7kxY8G)#Z6Q$O3}>-r29C>@#9RsP1Wy8q z1mjFmmMB}4Bgz%!iSk7SqC!!Ts92=JGi3_1gxSIzVXiPwm@h0477B}m#ln(#e?Nxc zK0rcDTugjS;)ghn;MCzO?=rXwVuUgL7*R|$eSf8j<9>@SLLV1CW7E@$XeFz1gkZyG zCy`#L>_gT4EDur@DejqL%|P^EL}giYIp!*&D{&m^*%U2{mUG}C#rz}poX-&H?MQGY z)I`_LVU|(OpMKKo|KhoxfwF}1go=d9gsOz)2EW!7& zo$V-5v?xXtD~c1vixNbMBAy8D42gsyktj)&EJ_ijiqb^sqKr%WX`Ac$xstk4VVSU8 zSRt$wRtc+xHNsk9ov>cmAZ!$hg%Y7u*d&w*mM&K?~T6?RP*8xzCA@)>zYVrODk zVmIryJLt$ zuxR{n{7Ael9-iG2?~HfHd*Z$Eqw&7@vG{IL592qxmyyjrPibOVVtHakVr61gVs&Co zVr^nwVtrymVq>B>Q8K6N@7a5NctyL&D(Vn*in_v%PMX-1C`*(lDiW26&55c+b)qIw zo2W}{No-Bj&pN+O*dlBd>V*cOQD_pHg>6EMuw7^sb_hF#UBYf*kFZzRC+vsY%^~{l zoI$jX2#4uB{MZJBRbf+3PuDT9QaY<(paHKkQ3FEjMU^z$$f25^uEwYYN8!_yh{T93 zr!_T%ww8#)E9Z_FL<6FJQQs_Xa*-mULMmz!$q?HdQ8V{>rl*w*7d>1Dw25Mp0uG|f z__<$c;FW$E{pNa%dg$4Fnfs1i7C$+CmIFs3*d08gPU1aGk}(=&xmR6M%^a27^&bvx z-L1#nO*kSwJ2+8Nae3ny`23alOa2U&2N`n7Kj1%&$~dG|#!h=NKR+ZI0lk3Bz0V z>BF#a?@LDp816%iEZ}P6z~<7=jqAKPnoHgPX{M+1_gC$w&O;sAe;Uq+alh_Ba83h` zg2<DbDS3`OL}A~G{MUKy_B z=#}y1a#dW$UW0S=avn|m7~YrO>f}29`C!Gw)TI!Y5&7JGYG@9}8P_hM%Djhu--RCQ$EnVH-ZmXD<`dny}a3MV6DYeTtj zj=E6AM;)bezISsrCwi%~RkPgcab9y$j$_JQ#mFwT-$zr|=l*E=T*)p1;?Xs(K3NPt z|CE@Kb5+b2Yn`W~X`cG|&hx)hUj*-yTXwo;#&^rD!)ybNrl%!Dd}Yp^#>4d0vT`OH zDeI-@?4Q@X&UvZ1duMXKcWfFb%I%PGMuXJ~9C2&eXx}{bWPSgKs3mN(!Ox8(}<`{>VN!lc^wQFiT~(>n$Zp103QHm(6J|-9D|F>E|h)_3m+rtenrvXF8tLi$!B>zIYz>?Arg!LuUY9au(qtnyQb;MJV}{!N#fRh|i^o zK}>8!KKxK)lj1-fzbgqI8%@|1mlU5At|5^`hBt2)pOI5aVHlDehLDaaGqR*|<~U)N z$x|<}PX^Rw?#gCV=in?CM}g_`SUH6jFt9|9Ir9lcAsrVH80Er)I(||yLIo@jAuFf! z)6*p^hX6XCeHp`{oRI~5l9G}+dsl!q1(-@kO=^;eR+kcZ8er+1F4engKv#>jb-OZX zO+CsRutO%Rwh@>tgk__>7%S&??9vGOCI&8}vs~yQr(*?Ll?)xTXC5)Dgi{xlq}rw4 zm7i2VC`pe(z%{5+i|dPMtqzbD8g0dFF~g~Zk&(`2m?=#vPcqQ;M(h*Nns9EWqc)6? zZqw5igtybIl~8pMF|&p{>*CON@9NoAk<`1ZkKp==7+!E+*adohdLeKVVpnZdy;2J|e7cdsB zjS*BqHFFiuSuNpIHUTONW8&xZ?8HQt%Eo$JmdE1xtUPoiLd+RoUE=E4o#qc7tM5Ig*&MS#{rFpjnyw6;)k}|D z$k7dZ4{TnPg}cQhkM8!dxG|i^Uh+I~9F_45EDAr%JQ_#vu0$w~Baj3}74rxZflJtv zh}1lyhN+5_3Fr!5vXGAW;3pz{1gLisfkg7+!bLMo9@M9EcxNCi6ZT2SA!|5|ySsW+EeXGshN2Rr{W5)YrPFV^1eAHS`o+dunH$Cvu-YaH>o0-!s7I z70?gTST6@hDH><&D^8Zs{0OR-veZKiR|k=87jJ2$62$t zmQdFbG24B5x`$EQ%g9J|J$C8i&@^C{tO>-846Ywni!m<2(Ew&ipTT4)Ry6IEp;(R) zN~vIEfm+X)das7ShiGptfstK?X%mCN0@GWXXyp+w*U%PvUzVCtQM?xGh6~)+kv&h)`3->IO@WYhodq$HGA!bsvf$s7d!Of zD5xI*q#vV$dxvlwPz*{cFKFYu#C###05AItq-ijl*uMb{&oF~ud9CVuR>ZSi*n~L0xk~F$Y`o4^PnT(EE zj4aT{0@LMk;1pW`cp>K6@o{iZXqA+LwrpPq(v|P4K$V>+tHLgU+G?D4&FESSx^ArK zfv6W}+*8a2?UOX%{*-D_A+)@1v0si4D~| z!j8rshJ+?jh54xw;zTvtFg8>fh+GWsRt~)ZFeAcEus1UlZo1loRxiVg@^1sR1-5p& zYE;s}sAo?T$bE!QC!z1!*G*)Uwg>V=_*=6NjDYAbBw~sWT}Jo$_Kod}3VXfnXxK9|LNy;YioxAtA&SEp+czFF zB3lBEDODoQk{L(F!#JhlGcpR9-zA0i7Vb}lC=GW?w}}YnBqC<}C-2X&rD8r4JFs=Z zJPQ=r3{?)waxs<%Q5tp()&_ZK3(h?C9WbS<`Ja^fX~M;51o>R3vs zvO$%Dlw|};smh7G0^&+rZUo0XgcrcR3Uq}GRnh+9{Ur>9@`nFqAom(uDTAxUJC0J8GqaVBOQu7AR zE{&Y1n1wdkWO&+8e+gT)U&ca0S~&-!K$twtSz%Msm=YAt)E1@*IR_#Y?XO0w2JKZg zEv&lzEi^|dTT!eAKRtmm-88tH7DtpqhcW}B&V(~Fj+kyUWo?&GL-|=|t!u@TTlaU+ z>dyUL5$n1U(}Ve595LrN2F?L?XR?vAewN<=@HHyp`%gqi zWWrt8NY||0V-9rBs$siE&U(bWzdHEC`C}QY~>8u2! z!^9Dl9w<97g7b2uu|ZyNpaScusqM7JfwiGysic)o#8uH*HBnzf#G$(RMeeZ9wFm0J zw;p+W!q}j@mtY!*Ib1Z}NMOMlF$X5$z$m>G@TLe{&~N6|XB)#aM%hE!XuIry9Gpji zjlsAA5M{)EssrkXT*x_=c8jA|%>gZERSQO2A=2Y4;AEupcsv`0ConP!F|q0>jD0cB zqG_9j5BTxu-j*5F?F`n6vW^3t812FldrC6rhaD%$l5sck>p}ZohIb#z`We^&BMbTr za-ueL=lcCDGX0Wi1R=ytZ4-6I*^XD40|TTSvaR=Okrff zsoiLT9Gc68)r$}hJsG7NgE-$_V2?T&tb)HXKp72r5q6C`7=JL~U?QO@rnwS(DT;WQ zLS{QUJV=p%F2%3fz@lpG@mg4pt&fDp6NOSEUme{3QfvO+-J^zb>Mxo@O!` z&SdTMbb~$Ho=x*P5p}r-8;LIY5p_&&GLsPXB+ibT>@r$ebg-Dwr-YGFb){j5bcQaK zpsvCdazd#fV)i_Nyyl=1YnoA{!Z~+E2yK9#jks?RSL1puio{qU!BJ2PwNGfG*Bb3wnlpi}g{5mnxt>4`2aQ2J zTFnHfM-#RIVxdv?R<|Lw1=n-}-bHiN+}%XXK8_xO>xH=g;K0E_SceE4 z`hj-`_8&et!eBdru`v)kBZI#?Aon7yi*^}BneSjXc7^LYghd@<&q(Fbhhh-kL+fJ? z^`fZH-cLBh(Y20)1NL}2PC)A*q2lttG;D-$70~?xPBxkmA#{k)u{+r#a1OhZW?c3p zg~TuUmb*lW*baHGgMhk@myED!eiG+w~q*`7Y| zD8z~)95Hp#jtYW_al|?TeC44k8m~T7dnnEkPvgPrxM!Em5@WID1O2H=deHk(kGiF!)Qb!iLJSi%svwxF?g7T0m8lY!)*?zwn| z9?bS0>O0hrv(O|1hlXf$_|V898=-K}aRG8G#GawrU{r)S7g1Y0gE~-ELMz-vRnU)G zOM&;WxH9Zo4p9Zpyeu93odZZE;(ZKm>`)c1BD>8LM;(dGR?}`Zj_4Uw@Ql?XabbM? zk%S|O1X{D6Iie!(%JwujYq_EWkA*DkV0-jF723UM|l&CHAhN^OO|U`N9u6$P^%9K3(Mn`6Go1}!bPz{DXKEb=)CHaU z2zG>sDUF++({{uTjN^zC@h;fAVe=gEqI?wXDZK~uUb+T8O&8-7clj?-N9X1lP3uPS zWH1|wV>lgR0UZNAj%K6K`+3IGSv2RndnRx?G3VpWpy2~2I4Xp_h*rh0`Xm7!%fbTw z$#ez0t{w9Ubd(5d;?WeWfNO0cX3odXc+PaJ&47sS%%pPxxMm#{Iz_l2T!UjR+lQU! z9!(k7nGCJPPB~i32rnf=Pt}w-O9{T**-R@`XjQ{r!>FlnY8g5FZx!V&G+OCw zW${#(&_xfdfu%6xyo#6w9uFh3Hmrfi$Y|V1V4)7d$jV?lAnQC@OIOy>YZpTUe<=|i zDWCSE-A8*s(|fe&bIMVjji?wo zs&F%8U#whM|Y+Pa=;)aXf)AyUsl`In9i&2{U-MF_bg+;D`ALXhe8S6vicoA#C>) zP*|Mp&eRCXG)_F@SY{ZW#Xzzd8MAALGbbY3IfrwRcPt<33yu{=bm;<@Zf6lEU&4tp zC!Bj$&Ty+Z*5j;XAVH@p0!WVjcG8a#ZhP;-LVl=(L!^ru< z!fHgk3n8IuDl!3MhOG@LENI`3_5q!hj@?k(LB}43j~8X53=FQ8 z**eyHtdI7mxF{F3k4Aec3SN2$4gBxb6&t4L2Sq%f39u!)crHGy0+-Mwat$zQ;n@a^ zd>CaT$C5yw>`H+>bxDQQhIRI1Lv)-*^OVMc`E&xM7`Vp-NG6Rsu`a-|_b!@uAIoxO zyFABo7;c4-jbaDiv0T>}%JPsZ-xYN{8s34u0J50lMX)b+mAGP$$8o$Xdnu}bvvfT1 zcmmCr(O77va#uwd7G!x)#fPnuRtPw{1hgWW5ppV$F9IOp6xkR1^aXxGX1Qx2FIVwaob zN|ZHYjH-gipN~sH+vHNyxc0b=aeO)&*TX7zDS*=)SHj+K+z3cBLu)?ngXdni(G}oL zuJ=n32p&E3J9UqG58>k&-@FOl8BM)fe=+8~CBhKN9 zhuq21C9pnQfyc^Spy!_uAk@vOWgkT__Yk@y?3aw96xgR?EbWAs&<5+T#F~C0(KBSjnnTBV^qNnvfjJ6J6rCtWNC}OXGWgK6Wh}g$l?Rj+Cw%ib<|z8}5h@v8 z(e4<)V`(ll0asK-SH^+5nvUb=R2lA8%a|g-*M(sXCmK(PF*Guga|W1KjzxP>DYQAIjqhQ zrc42i{zNKLrZM!!FfH8Ya%a&R69*fd%8a>B}7#m zo-N>5O5=3|-^%EuXJie8F4zz5bI}?xuo9$@(mEqBCd8WEO+;-Y5!VuN$dil|CzTwU zW`wmd<|C_uv6`sW5HXxnMn>s%7-_*#&0csO%<=v6EBX35p)1>Ls*HCo1d0)!jIv@E#)Tg?IqF^dY97;3@q8 zoe#PPPY#_NX0dSXhwCZz%$H%T9l;T^!baeZuwG29>!cei?5NIz^HDk)!${OAX0-z< zVgPf}9bH7{fHDqO#N#OBk$8$nqi(my%@0!uPkF-};V}lc2rGRYe9(U^0+(_s73$MY zMG>EslYT0i$bt@VbOf4xDhKLf2_&QoM7ek_xE3Sgpe_#A7SL=wLW&?OMo5CEgrg3w zc?h%|#fjJpUY+czKv*TA3ihPds#DcrObsA>!Xu~`a9~1DEvW0lJm9~SNL|mtz%zzf zXyd6AmUq*sR2oTxRYvILC{_>%{FQzxnN~M5@ZjV#ttzO~43HU5wVg7WS!Gm~pCuzjcc z!!!e72w4S>Jf0ewMM3FDPUYj79H$C!?3}gMHLC)i;Yj;=IJHF{FDDMaNpxKay^ey; z$IzAnQ|1{%Sk!6ek(Ya-2_zQc7&?zbYdqRlfuV1z1I8mwFL$x`=2riC~k7c)s0IP;Dy9Ar0l}EHvCZBcdV;Gj)t}6ZFUizTT6A zRRO$#(B`tZU?u!t1yltDTX;I3$O5_&K*WSwDWNDwaRo*yaTM%P%tESJc~A%U0Er$U zlsl3#v`rqFrMMnTLb16IyZC^6fNBg#>6 zT1DqdhMwY7EJVY~DGl?Y14YYe{j9oRm64@1oi?+Opfb2xfNy7MtgIaFQJ(HVSSRdz zXts}~8o>Dw9qG`S7{++8CwpzdXV5`wU9h_8*u$vz(wQFDj52tpw*gc}j|pjgr^im4 zaa9`~MV*2FhQS86TnLGQI2N{cj}>bvwu6yT2zlv@$i^Y>fHt0p$?8CyK(Jk&ZcmS= zmvBuy!=rgVp$m5r0xQCbe!?N79YAOjR)v^BV3Ha5kS7J@!yHZ{2os#K!J5jb3Oe?A z>JA3uxvzHcOK12w7~Qil=L9_aOb*IjNRtb39_B+m-N1SnE+LL9@_I%YY9D0zgzuQA z;7k|rF;8I3AmBU(zUAf)nf>zDw zkqEu3v7!c|+B0=Hr~K>BG(g^nFdm*1ZXFn^;3Ryc5TLyj6iu{BhShR95)xj)YWCWU zt0+dqs!%alN|A&W$vA@7UeK``^r;Z15gb(&ylBtpXvdZ?XJr^dRp}9Gz?|`n>5Lg? zLEkonSkAPEF+l~jS`nLxXUp<-oarPgy689?DKcQ+O|U_y0S+w41=b!=48k@)QPQE8s0-l*UI*Y#*j%u=vBrZVxYvyQifC6a!32Fq0rMfen6r02LQ5E2 z%-LXdERKQ*wZltkPNu?jXd zfwBEHVVssmbg;IdxHU`@a?vw510xHmjAu;|7_HaL!L)H;@Yt)j#oGZ)CyVW3<)Oaa z491GHR^hrGiuK|klwjD(>!KKk(`CL2pvY^O{ zb1t6_#CFc0>6(FKJ9Z;&Dltz;(Tlh=%%$U~kF!Gt=0hHVs6R|U0LWk%3V#EHVZ-M} z7?|x`=BWLggT`D84sHh_AB8Q8n8k-RV66Y)2F~y&X^m()@pHLT!rem)RIw~UgfLn1G65i$G zMKbYG%x#XWS@qeoDssXUCG$E@c~GBEc$A{*GQy)A;sQbu`Pd3)Rh9Tl2~80ZQ?BKZ zSFkV&uNbZLSNSXHnW{MylqztkLu@^*sUnUes0gkNVLpvvNKgy^o8aIiekq_${%X!H zHJoV3F>)j$ddZ2Ht3rW!B}C1B70%T-s+)BZEz;_61y`r}V6Fa!Q3K1($jX_1CI;IW zabh#*#9^!?41s5VGaLimEF74Wu5IVwm@|GnSqID|<2b(HG@X9=XgBBVy%_DIqXD!I zVjONQAs#03pey{hnMM_KZzVB9Gm34r!cNpX{7xcM(KRjt3w4-Jq$aut>)a7sz5dY% zOt3P1_078?+=E1-C#g(JPaT6Y_zw-e!s7|Rw7}L1o1Rut74ee>BBK!Ul8EY!NWsHi z0fhcjP{Q9fkzIl$%QqKj{8Rk=(z^zHCQg=*+_6fukdvgRf##YW1~?%Qr|Qg?UNy03NP;;gA9Cxk&!dmChfo_(=$1+F2$D$ zm=kgr!qRAk8!``8QBLVJ1AqGfKFZ+8PJuZ3Jp64BTP$qUCBqj7Q6}~Xpm0q_^FG=y zfzE?`;(6ZrEU3z+D|2AwgGRv81@&`Tlg{V*@_hM>S&|9A6cnctNYJ&wSBR^Md}&xw z>`R9@1Lr|~q%{XAb7_5Egt`*cD<83$urI~EBl(he8ADxydzAZ1aZKvD;xbTH_$rZ8 zIj*X}QK+Vv#tI0o7UF7O6`rG#;HroiROf3LdB}I>sP24?ubxraz{mpCjTo!Nv&`%p zV(VBH^^i-!uL-sWU!zZUUXI;ERe?xBFv|1I=fx~9wjTbo%uq;C)&zU?c^QL&YclYb zGcW}s3wrC&3`)#3qez8wN~fVStuJoI-)cQ^Jn&5N^F~Gv&lkse8;*i=%(Utl(@;vw zyz05Ut>DlS=F6oFV4bL=o>5`&8R@)-n5UPH`v?pk`$pLS1B=`ZUQs}F8iuM7RB1bJ zCh$1p@~A7afmjB)|45u!*$=Sdfm zA+jOO2->G$CA)thPer`lmqzHEs51RR27zTloJHhRwF~K}C>NLlf^}oY15w_Ee1fC& zkuHUtx>27G`HlIa;5pUNV==5}RtMbT#)^pQcuq~EzLy&>hDl1$G^NB$@JP{x3dj@2 zDlb$ayc+Fmu%`AxBAUAnBeP9bf1weyV%Q|G@ldstsBXF-gG_!wL11i8)de+TwHI_3 zT4vBO>+}~47mN(G>4Nz}8;w{lv}4YSBg&!ULMI~+xbo@mR~O>CFZ6I|nEkI@Ccr;C zy=aQQInB~fs|H{lq~jr?a+ruivyWiZh9f(ULOOQj4AZy};=Ujp6XE%(Di1^H#n~tw z`7i>nW2ECGh6Cl2JeGp6sEbraU7{gM4bug<7_5T-5`!id@^o68LDa+%x&O;ilO~*AEbd-q^?lY4&mOqw-H3hV1 zHjU)KnoGxdSOt%q({Uj&L&(1X*kXbyBr1cdA`UFbmCV2eHE{iiJCuUH>|zDY^K8}mdi!Q+37d^1|!ZwOjKG>^}W(?(_3I1E6s44CviJpoLV`2y- zo`@5s5^<&;(~NODvQZ(fVKad|X-Z2w>Cl?Y(znoTcy$U=rcSjIigds-5Kig!h{-~E z_EZkW4S?t34DLS?u@N}9{vr@6hreDBUckZ&S$RO)hO~h=urH={C1|ybmBLyyWk$L( znk$F3f{w}BKwLT1j?`6HQ9V_I;#wN%Kzw*5JT5xbh^so0ssZIt8*GaEk zQ{8kF?$ZNIFKqU)KCBtQ5mP@z<0ELbVU-<6O#RH6V=TZs(dwczW{rC+-@!xzS&~g` z=fWvW;*G>yIlPv0$}89Jay!Rzo_+Wqg|9wYl{_qg+wFrMyVg12q&gS43*Dvezzlib zoU@f@lSbh&Dfn+?H>~VSPEu`>G^s7AGpRpGn4FxPm8?zHCz~W@iPY9&)7wn8M7zLV zZg01DIh>9-r_#wg7UxQEr@J%U+3p;7t~=jd>@IOPx|`eWk|BtMtDDEY1A_mb|66Oskeo20i$zahO-8ZGV2 zD3ex6#ZtLcC2f;hrQOm&>2B$2=_cuB=@#i$>HX60NT;SBlRhPVT6$ReOX*3-egoSp z(mzSxk$xcElyM#0EZpAob=VtW8);hBw5I7t8QYt7HyvpDWyX&Ho0>k^bgF5g>}J_* zvZ-mMtVPxmO{22wmq^(WQSx=$)1+|N_JP~%YdAf-5~#*JXW45FOrwZDTfYu zuiPWwBmW*`Kal?v_N|%v%va^F%iA(f$xq9bidaRWqCc}-VOCfby^3+gI>i>nHx-X4 z4k!*PexP_t@e{>!aMk~B#Zkp^#Yx2ir&ygRN3krD{+$ zLe!}mP>rZ;D!a-H+0^uY)lSs|ss~m3RDXp0*9iNI>V4HQRbAFO)p^xL)o0ars_#}O zsMFNB>Z$2kb%VM?J+5A(UZ>umo>1Sben9;l^<%(1r+!KOSM^EtDfQKwYc!wJd_nVN zO)T6DZOkgv?8vIpY|WaQ)@clY*fkE#sOBNfLCude&ud=N{6+IO&AXbvYmNXnHT~PH z&uhP+y4OC-4fk$-B#UxohkdLI&=1Kbg$`pvwO0S>n`f-*;lpj zT2kN!&Ct@;($Uh{($z8u+0^tX+OKXIZ+SMG%D>t2aLXet-vabN%lBdb0^+Y}y{T2u zdPnQst+B1~t*NcKt!1tM$Tqchx1P!#gd4_-*{fR@VKmDh5q;YKLK)4f1Tk*!#505({~!G4Q+;D!8G1?ew{90~O<(UR@OHEZKqiGaw!Z(>Vo3@#@oA#RanGQhys_9MBTc*jEE_EkSRS&xX!*6}Rm&gYj=;N?_bk(v&$jpHeX;$^?YFg$F zvh}idS*NU5b~WPx*{Ez%b~|IQ>`um)vRA^e@{8ry!vn`{P*$8N@>ID%o`cdWPNUom zR40_8`fC*<@-g{i@_q6bJgU$X3`L|OUcpo(DN+9P;O$dluD&qS*Elo*C{)d_c69Bdz8DBBg$#zoN__=u=083 zL8Z$V86K5ZoF6Fd%6}-oRsNmvopMEaUCHewcY&N*LMx${M3t~gl1eNkX(hapVvyF9 z)R$~1`HIm|vZLf);B6&~B~O&RRC1u?&62lJZ(o*tUGh!IwedYigi{eb#W^#Sz@;Rn^PtKU?Arv6gB3`mUTat)#(YDgNn zIzSVy$&DSclJzA@_UAtYoq}`$Yi}oRHam1u{ zpY|#3>)N-qp8@h0Ek<{#?sA=nZp9g@3)6+`;&chRWL;l`Kqu8Hb!uIy&aA7^)#{pb z+jQN!dBE+^jY9pU?rGigx)*hC>fH4g=`Yb=s=rKsrT*cF06j&|(X;h@eXjnci0%6I z`hNXA`knd*^$+RC^()S2^e^gP)4!>|wCv)@B!^EKy)2|Gw9Gdxwv1mUE-NZqah8^8 z%PPv&m2C$4fwBk7M#@IZ9x2O@e6~y$sfhfx%u#l!;d;ZZhT9DFk)Z}(1I0iyL>PF6 zt&u8&+5q+jtwC=nH`E#$4Q+<4h91L!VaV_o!(R=PhH1mBVZpH1@HfLVhW8Ag7!Db3 zFggraBVwc&Lydf6v@y<@YUCMnjCy0OvC-H958s`}Zey?U9^<{nzZi#&Hsh>u-Z*DG zXnfW9w(%dvF96|yvetx{yiMY$6?oriq$%2zXi772;Juk@Q<+I`vY4!<8dEJiz;85} zqIR0fqee{AroE7q9|V6lnC~#( zX%%0|OGYzPxqGF&e|XXD#?`uc&21mN-DD|FOHE{mQ`-8+*Y~0vcK})$~~16mGhO4 zRz6wzY~|l84^}3|xMEC?x!iJ{227R; zOP!_7(r)>)<$lYGb0TKevS3-V?2UQW^1S5}%cqv_KnhPYRd6nEE2^)qzNVU3&8%iubF0PGxzz>L%4*kNtLds;*cIn4Xs4>DtM@|tIFxk?FMSl zy4yNzow80_AGW??ea-r@^=s=Pt6LnLJ;${*x76HKv$lp*<6Fb5G1Qo9YHFHlnrnRG zI%;}q`fB3h!q+j@MXrlm7r!oj-6M3^7uKyf3)U5_D_*BrXI)nVT>H8zc$VG1ZeZO5 zz&*C^xpg0``)J)i)_t?iZT;ozFI#{0`s>!;ydGKayPmv0ZoO>1e!XdZ)%xD`1MBZw zzkB`6`W5Hj*1x>|)%70(bye;6>wjKvj|;55xpqzMS8+%!sn)j^Mp}DWyt4L|_}bb# z;~Q!lYw__twPUr9)IL^wu=Wkme+cDED8JS^p}wdN?s0XvIy|)0I(l7r9jh*>jtN|H zojE?e&Jr&MI=ik2>KsR|qq43e-deY=uD-6VuB&c$-Cyg*>L%*u>K5wWuluy_$GS`F zFRQ<@UQmBW{ay9s`tbVrdU5?y{JQ#=;>Y7R)o-oeR^MMgSpQW0f%=!~->Uzp{!slj z4c9f?)BvleA+&+rklw&;;5B44WHw}jOxj>>sA#BesBO54`DR0R!>)#gaYy5H<3i(;jZZhe+W1=IJB{x(e%$y&Bc|!PrZr8tCZvhf1bcK- zIMmTiYaRS1QIoc*yvfqk+|=5%si~uBplPt_uT40|Xw!JpBTbJrJ>T?l(<@CMG=1DO z!@Rip(&nq1uWi1e`L^b}n{mw^&6MV_=E&yg=D22Vv!uDWS=wCIT;1%tGIuw(Hg9O| zYQ6`!kC;nPKhnIv`TOQ~fcl{MqvnsBKX3k`dAS+e;@)ya%MC4_E&eUkmhhHqSnL)_ zOI}NHi_41=YHiCsEekD+ElVvAx4Z!S^DQs7ywUPi%hxS2ENttFGZ;#2E3-8TS}Cir zb$x4VYkTXC){)lf)`P9DwtmriFYD{pZ(DzDb+$glx~}cUwiPF?EwC-JjoFskCTV-H zt-Wo!ZK>^*wqHPV`G$)(T(#lO4R>$w+Yqo(MG*sx*ihHV=LHVkbD z-3Zqs6!@gFF=1o+M!`n$M&(A$Mgz#YHg<08-B_H^zwy3}2RFXF@imZrwef4H|Fr4q zP3lbzo3?G*wQ0rq#HM|lUfcBLrYkqYk13lj*}USsar4caahvg*NkHG67_>QbbMj`v z=EBYD&6>^H%{`lkHb1y|eDmbysm=3%cz*Lso6`~x0fpIe*_KzU9R&FK>Bw%hy}J-}3VoxArUBgWFe}aqaQ#Iqi+@8{6C4 z@7jKE`()xs`&9d5?fXFYX8Su(|Iq$TJEr4{_LX*L`$Zj>bllo;XUCe3;EvFaunty7 zLWj5`qobgsxWm{{+0odsx#O=L4|a@qOm#fg@p#AU9j^KLvcuki?YzA6=FVF>;hC{B zwlkrV-I>inehx~?BP4|V?B>DF~s*G*k_b*FT;dLNV(r|)*!cKY@eXZZG*?FG=*LFt3?Nz$I}4{aac zKDT{wyCZ4E`Rex9x4*UhBKD2l9^GE-pzfINgl=KCxI3%6q}%0Zdv{;=Q1{O6(eAPC zrS50DpYMLD`_=B(y5H;my8EJ@t9q{Pxv}Two(1-b)1!ylL+c^*B=pF7Y&{S3jP$_g z{GOSf`JRQIy*-ciJlXS1&$}RdujhlFk9t1u`KssZo^N|D>t!Uvb<}%H?~3#G-aC5l zgqG4v?WOgG^)hi?ww^ZqaT|Iu#;ode2`P;MT$b>Oyv+XwC%zz>iHyav1n zU_1js1Hl8#fo!0Y2G~#w1|$Pn133eE1ImGt0o8zJpmabtP&Qy1unc@W@Xf##gKmQ> z&g%wm8N3zR$5Y_$F!+2*>>ztEZ?F&~%0U&>hC%aS`C!dp!{DaD-obkZ_YO`D&JHdP zJ~sH|;8TMK2VWn2XYk#@4+g&*yfpRlA-AEchHe|WbLg(2s-YF<`k}_5{-M7DwFu>% zp-+bFL(U<$9p$O+J8s!=+m3)8!8^isMC^#!!Q8>x!QUa=A=v@agXCZ#eIzX1os(^?iJ{DqLqu^>-7{Ng3MZBu6#_uuRRsw_hdKV198{jo}t}< zBb^l2@7cQa_mFQ`>+t&7D;Z`W6-qi3E)+hLfA7Do>$66e*@3Q z32;K(4WwH=Jdph!Tq=*srwXV-s)#D4N~jssOllT2o0>z-rRGsbsbkb}>I8L?Iz^qP z&QNEmbJTh20(FtPMBPh0v6lmc=Ls(mUL=ICO<0?_HfinOvHP(Hu#sz`*8GG$gnb_S z0`?{BLF}v8*RgM6?_YZl=3dNwm|d7Xm|=_!^8n^S%tM$l%s6HmGlQAM%wgs+3z$XB z5@s*vVay|#M=_6K9>@F*^91He%s$Lhn5Qw%V4lVN9kUac}aA=VumhP@Pf74|ml9oTEI*J0zaiC8W+1FOaAu|?R| z+%Ci3iAAtsECCyc&B1E0dbbU3HE#88oo;HkQnyOC7B`Wb!OiMc=hp64 z<)(4Vb1QQjbldD!;FgTlxz)Onu-n|Wy2;#n+#bd9-NbGUZuxFqSU#4ARk*dfN!(0s z8E)Bbxo#Xcty`O0vD-#Bfg60u?zYKI>bBGEUN@mzhnvMs?w08WpBJ#YyY+XUcmh>9UfX~$KzV4y! zce>y0zSjLR_Xu|{_W<{|-4J)Od$>E@{Vw-4?zg(%=I-qt=FV_;cfZ};Oe!bAPbMS_ zsftuhvXW{@>quW9Un0wh9r*|H74kLm4e~AW9iqeOab-9I&WJPN%(!w~1+Efj!Byc7 zAkQN&ATJ^>Aul5bkynsck=KydkvEVxk++byk#~@Hk@t}Ikq?j$k&lp%kx!6Mk4@^J;YLR=B97$?Qa zaB`dir^J=ul4v*5@U&FgtuzwNofbsn(!{i@XhfO^&4)Gi?j)aoW8! z)d_oj740ta-Q=5bf2ZMa_fh{s-9_C^{VSD1rBXwwH8d-&ns)d+`s0tB&%5z^S7{Mx z4e{&r6{j2BGc6#EoVF?Ly|iD`oN4aqSET2sC#EN*i_-JbOVZWpHR)~XThqJK$&RPe z-%ZDI+&EWrZsm|T{+wtIgA>Eq%6XRa4d(#oV-Ce}3D=!_1$PZMkjv&$9YU^{J4qkp zKE{2T`!@G|uAPhJy+OZ$cM~s(C*~FKx_J9|G{>{N1H6O0H+Xc%SG=Ej82+XFJNbc* z0)7$S%J1S2^2hks3rK=g!GJ&|FbdWQS_In#_X_q1o)9<%R||cFfkKWjS6C}-5^fd- zIUW%17X~{n6J0H0h>}ERkxUfg(2De;GEuK+NVG?Ezi3?al;~;E%|4DMKqd-zD33XIUS|vl0FvlLrit`1@ ze#uLc*Cp>tK9gLT5z~~Dp~={g(V1~y#$y>TWW1GeL#9WjJX4cdo>`OGkU5mOJM-~O z_za#!$jafxWQnq@SzTGLW__7;efFAck8GdpO~HlP3`aObV9DN+y(9b2*~8g$+0SGj z$bKRFyX+O``@vV`kaDhbuyPV|_&MwxO-^mjJvsN~?9Q3Vc_wF#fG>JK=f>Pyb0xXC zxl6g8hn~qjl#9u8%eyr1t~`%CdR|aoL|$|rGf$8w$t%v2=UMYw^9J&E=RK4+nKzyH zRNmWp@8x}#cUAt4`M2iN@&oe|@*^CB`9t~7@2rh_pY$}Ly zEELQZL_6?>k%e)EqQcBVZDC{KgpqPQYyQFYNrMaxCs7hPL?V==zC zvY1<(U#uzKU%XVjxA^hmr;861|5*HUF<$B=jd94OgVIyVc#QGB@-yY<%I}pw zD6c8G3BDI+lth*=OE@K>lB^O{i2)?7C0k1dONL7RQu1NRCneW}-*xB?)f$zrDp18z ziB$P2sYYNOh$Zd5m^d(;E!pVd#O zUsAuT{z7e6!?!t_t2O=_iY8POrIBc)8m6O8)2wOLY}E{F?$_+qJgzyYd0q2{<}J-H z8kU1z8ef`Snpt1{>aNlI z=-24i>izX(JxiaU=jsz3Jbku4U$4;LpS(2=;!p0>sR!cvYX0;WumgE$W3Ma zWlLobm;GF};v^Y74L3VD2AQGSu+6Z;aF1c9VVA*Xc*^jc;h^C)!v}`X43`=&H{Nc% z!^n0Jjh;qtqmR+o=x+=#l8y03mNCJYY!n*{jVhzY*ko)rwi&><1e)FJt$h^xuY@Raz&HSu+zxgHe$L6oiznCvCzpb2J9#qaMPc2U? z&o0k{H>q06*OzZCA1;5l+^-_8BCR65f?J`0_i`mWM&O&=2P!_S_@)9=`D4YMmHw3! z_-g^z|1o7&vMSRY=?;z~yOQg;&2hVCtKz%`z>Esezja*H%m8#dO zu+^06HPvgYY1Kj1#j&ue;QtL*R&S}^T76ITLiNkluT{TQeW~>_>kZbstRC<`9%HPD zR=zdcYO&T^H(2kn?y^2=eb#!=`hivK@T|G4=DM1jYBC%NHN2XFnzouvH3{o79Ubes z*X>=mf887F-dXqMI{P}ux-7?y>xt_F*9Wf;U;p&_SJuC~{@eAp*0O8!Yvr|yT21YI z?bEf-)xJ`j?cm2}#pl-<>sFkb>+Y@lbKQM)d+Hvno32}`+gtZU-OF{q)~(cG>aq2O z_4s6*#^T1i9S<~G8aFm>Y24X3()di{ z{>J6T>zka77d2hnbS->Kcx#haQ%IAzDXS^yP+`*`Q{7~0>S>y3ay0$Y^lQ@<&HCo% z=9cFBn;&SNZ2p{iu=&g8OIj{(xwhrTmb+VeT83MmZrKmt*?r$~XKTLW*4EovZ*L{F zl3S^*p{>!aTU!epFSUNu`a|pWZ8x>y+k)E?+S1x`+6vlCZIx}i+YYq7)An844{dly zp`*yb+924Fu|c_Ea6{5Y#l~XCdmF#o_|wLfjZ(+;o9@{3(5C&Hp5OG!rnQ?rHb-pM zZLWfE#va}rpXk`UW{cmJpe+LUK5W;P$t@pl`E-kY%Vq6;?Q%y;`?mJ(_TKjX_MPqH z?Mv;CxBspE$@W*;-)eum{U7b$wG$mTcHGo)a|gb|ql45D&_U^-cSLj~c4T$bcMNsh z-!a;;(D6#g&mA9jeAKbr@pZ?go!54TbcS|@b%u9FcgA(5cUE+^bUxboOy{$mFLu7$ z>Fm6y>+UXG7ojV$E2)d!Roo@*D(TX7^>_WbYp&~wuD841>AGm^uU)jQ?5#yxRa^C2 z%eHRbwqx6_ZF{!ezin#U;UHaL??d|h`uzJs`q+JGeZ0P@zDN2V>)YRV zuF52 zAK(n|2Z{!y1LXsE4XzoC8%!AF4HgaR2CE0#2DcABJb3@$!r&|L&C4f)mk!-DR6R5_ zbl=eZLk|s23{4I_HuU_^wL3z0hZDk%Ko+e8~eBR@9f{(f3W{(|H;1fIK=VM z^&F!ss6Afibaox1JyG{R-ZcZg@cTqeb1eKu5#P*gW;G`?CpITFvzwEfQ<_to)0)$p zIq>TRubJPx9_F&Pxeb1|ICkbX9>*Q4`ERBho14&`yA^)3Ie8q)<7D}(T+wmT!&U{& zDpXnmzy2JSs84}{|5CvkvZit{zRN#hiIO@Rz_Rd8uzsSw0&N|HGdD45XgZjHfN9qjsEgvOc${x#!#$ z@0=~qE>gh>{qTVo9U~JSL!X`JGeI*~y^H_QUJgf+xtz7yOU8NhCIQ>rRr~Do@N>G^ z$+UP9y*KL|b)E(O8$Omut_^vTnKl43Yn; z8E7~mo<`uCj*&GVL;tH{I=-KlvxuN|x$P{_$M^G}%WXKzF>N|S{O08?XNdgIotq0A zS^F8zN5>iBE^Kt2%U$Qx@Alud+WNbQlSk5h4mKxyxzLiH<=(T3t8cmgjPL`$i%R}o z#P5%F@B;Yw{a(%;F?2!W+p&Dl1@-52-h0&F&ZE@1kM_b_-gi<|e?Cca>Rxv(@BU5X zUw%{TbnZD$|JUQVQ}_6vEgfFA{nwA-Uope?FF&yS;J^yZkNwhVHleJC$zfIA42@ z<4%QlIv+kQ=8@BCPVMQ!NFQBhFF*Eg>G|B_|J#2}yiXjBbl>t*N9l7P`T1Ku{Top{ z`5U_P@A*H=L*j8`eP;RZ$MF|F*603U|K}3%f#v7VBB~e90{h$1yl{f2mrmdhTfclt z>2G`fPt+cSalEqp>hf#nJf7Fj$nwoILLHf*H_i%u#Ohz)zP0@Je@UcgH#hH|<*45I zP5gVmsXacj_s;@*yydan2N%T4N5^>iaFzae`LkoB$M$(F{RxWs{0xxCTAfILdY<+t z`uq3rUo3z5hmB+T5A%Fxb7f!t2So7Ic}MZ}d3!jscrQHan+q8Ex4+|ywfy}l5#OCs zdf~@<*yE4OKb>)ZKb$f0kBas}`E~r;M)LFWFQ@H0+8*<}zq?An2&$MTsAiHqU=A4D++_S*u+4Ii= zec{G);XM@}Hx8LyejNYX{V7(lC3clvbB1=MXNddlp3h&aJF7UfXN5j7I=#K@yzEc( z_xpVGvf*FcFylW);>`$Gc)zc{M8T+&L=gz?5fc^Os zP%oUozjy-gismJdy$t2xs_qs0tEWJ@kgnr3`>r@*`{yu6AD)BFiP3#@3LhWaKe2yyRQ{>`i=*_3*8k)Gh#C0O{`ha+KmLe5|9|xP zce`P^W_kVcw&jK8XP5UcA6kyJXV?quh4v!5)ULFv?IwGzz24qn-(=rr@3!~Y`|Z>A zCHsE+>-IP7Z`nV$|8jI?{Ct#xH`1Pz3+Y16Zr%m(o__&+T*xu~JA8H2c0#5*r_*5% zcjh_?_-rR}En)4gYj0b7=i0m0UgrFh^G5PbWQH@sndQuJUPk^C`Ev3VnO5)3V5f2jG5;N zxp9AiwAs@x^mhg{4&U9JH~&Df3;%(-Z{7jvez~VGsIHy{g7|=Ni_HDwT>alnBQlVTvhDg&~t`a_mg1ahg0 zWf`*T9R_$ink$#;UdW(&HDpkgLB>>`;$g^^8V~O!yTPG=?591-_myPGZpwoErZpw+ zLtfK^swl`*+N9RPTe~iT45V7kcE~^aoaQIZH;{QW6ta$z;Eh{*OIx&)Xb#a!A%|!q zWDUIr-ffkQ<_W#Y@d#uD9fd5Q2xR{(H!MQF&x4Tb^99KD`MrS%IX=B0!)GDn^4tL# zJGG`dcq`KoJyqd)omI`v^t!TE)t(A8;`YT=UE4tJ1g=MJfE=M9{ zuAGLfl?San$V_?fx-|}0=E!xB9rB0zM92Zjhpdk)P8H;R9BEwZz&S2$`M%|P$h_#v zx3~oP7V(ZB+W7FkldmAV;`N)%n>-xPZAKgfha7Su5*;@|9>mun=i%Fs@6e9sJ-h^R z9$pR^52GRHVH&*CgA4f&#x73HrW{1Dzzt%aHx>#ZCg`KK!}U)3K(@*?Cu& z8)QBdcio5PJ^ZPQ0`J~P+}gSA%|l*}L3opfE019uWHL_*vP#ovBTK?~@m1x}gKM@4)JbxcfXY5W_rh6UuirZO% z3&3f1s)0_y!+VN%(s!zGxoD(*P*;MC0y-6x!$*?eQO`4pWBd z!?fY(;i%!*;h15klQYa4<_-&nCByvTJe=>IqT#|}>2UFI*)Vxe+8(?OXG3h>HV>PZ zEoP6ujcTLV=r)=y+7@MtwZ+)t_Hb-G8`mbVNo;&uJ}zZXk*&}swH4dSY@9s?8)=wi zBMcL4p2MCtpJ5-H@35~eU^u|$H|%F450h>9J+XU&hl6ddc!P$6Y$3xTw!q;)Ti9@z zjWNuyMGQyS!Xe7Y;Yb^@Cw@=DaDt6F%tZ05VU{g^n7N0zhqWhhIMJ3goMcPb!yaba zQifA($-~JuuRTe7JohB-NgYnLr4Ogu(uUJ)>^(kvlJ|&*#i$R_u*l}OCv{K8aE2{w zILnqfoN0q}>$aTX99!OSo(*2wYAYBnu;mZu+XD8a?}238Hs!F=CL5O7RKqHp>jj=A z!zDKTu-@i+d7)w0G;Fd#s%IOdhDLi>Jr)0P4RM%giyMx!35SI?`LNuk8`jw%X}C>0 zthJR6m!5U(p*Hf->+W=e4cJND8MHGHaI~EvJ41IC?1J~j?<(3=46PiBa+i9Sc^8g| zCwdSOB7sOGl8Bx}FQPZmhv-Z6Bl;5qh-4y#=yXzvG$NfCNDLwd6GMp7T_wBpyUKPM zb{Th7?TR7B661*RL?)3%Oduu_lZb3$GBJgiN=zfB6FEdKv0@jG$R`SjLZXN$CQ68= zU6x(tyDE28?;??6cgO9H-_6|3+MTdFad*;g_U`1}DZ8D{)ZJ;jaU?v+gM^R>BqGU^ zPj&CqpHx69Bo&d0Nm7!GBqu3IN>T|)MN*SAq*9WWq$BA` zPN$euw%f4VxZAYbyt{mN#qP@8mfcmmt06w??wZ|^M|Z6VTrAKmTmmXd#3i9^Ilcma z_}nmY@kg=$JX;3Ps&SeVG@kg<6D0q%IF{0%=KO0IZp0$DsYMu zB(f9u)1S%0-#`}P3XW=B??rKWDZ&>Ym7U(}KQ)o~C=?%#k2ov4e|m6HIrv;W&ePWu z@9F1xyvFJDKqda32-*gC64938NkCh&C&@D$rGn9#>gnYfiBh3xP51Of+YrwPw554^ zqivXH6xs%Q`k*ZXt)tQU*a(77k{ql3Poh2W_}@JP1UzyQh6HbAJ8>L1e9h{0TZOh( zT=gn{BJxc68oUMG7j&lR3x_L#K9v`^Uo$#iCa8^g91f53zy(7Op|~&{1INQ1eiN7o zC&o!|8MsVb7S0R4??}O=9v4N-aoqWg7l+^x4+KF72oWJ6o`@IXjrbtGh#%sQ1R!LD zf>03}LPr9TAS4(GK|+x*gn@)35lAEwg+wDUNGuYE#3M|Eg(M(}ND{(El93c76-h(V z5e~vdcnBX6AVNfhh!F{rfn*|CNH&s#LL=Y1sgbYF^A&Zbr$RXqs z@(B5a0zx67h)_(B5@ZB9K|xRwN(d@~nxG++60`&zK~E?n7zjp!iC`ui83hp+j-%n| zI5pW4hZ_kF$B%f7z<0pOvPd#R8W~PSMg&PwsZJ-J6F?z=rj+KvL84=MqQEfr5g+nM zB4{GhoKDh+Cs47V@q!lNctb6V^BM6S@f#s{{}Cbw_DMQ94xZb>NkBWDo}7RY z@`x8FFo7~64umH(uyY;339yf|;zDT2@YJ^|OHz7s6p=ohKq?(1fg{o&U5GNpg(ixE zRxw~X5^|Jw>6}g-jKaza9SK{NGmh#B^ze~D=+&3w!ufF+Fp`K=MN9z4%rLMbMyRMf zl9Cq!*@Q!6qrCI>Z!)BS(+WICM@Rhn^e+xUvvAxeTJM27l0BU`=3Qe0W;S zNHFRn1g%5SI(8&A%7r<6ghix9MRMXs!a*0ok)YNdVLGbQ$>4->yx8$0hjAkCIV0)>7AF^M@<+lG3q}gl3P=2+ibfI`#Utg6XsQ%6GAQy9ZoJD2K90>% zj3_};GNKwuAs59nBIsdAs(K_XRx=VsEgebXXh$MbnVbYpX;>l$5$Z0N6qu6`V!}iUNf?N*kq*298SDL8HN=A;E;$Vrs}}C}_e)8KeA& z@X?6T$k7Z=)Mzdzn-dLkF~kNwVl$!5;bd`QMsr}bNjR~i{!wwGhU7d>K8kRmjvPpY zh7%9A%ux=U@1P_FAar0A1QD}F6GqjX#L=WtHXxkN~ACfkjosd47 zkk1({<>WBAqeWnA4&jaRM@=CG9Kon?R5U6c%?yWo6Gt+tWv9kTIr`v?(LzoMrY)V+>I#klrH!MeQ6@x5jFrZl zq5n#-J$wYAYt6zbccDisN2@s&)WYekLfgRP>QU=x&8RFGH-;bc7=wKc3WZUgSj8cX z5rHO+d5(FFd5`%3eeB^2JToi~_8q@5f1qnP9$YIYJ`DDS2snphWE4*s3x%1W0*!EK zWAw3fh%OK~92d`pb2Jvf3LdMD2^sSMdFWW!SZXo>iPHrH^p{&4Xfu*`snPTr!tGCgKRjXk6i#XiPjN8LNTO&;g%;`gJ-p$FhJT zz__!=a)8Q(k~fx-l0Q~3RtR(uw`i<*ERY+*4F)S16*r7)BumEvLm0u~5mj+WkRrM~ zL^f6$8qQ5jVKL=nm9Rb;T*X)fR|)ndV=9+d*mq1cm%SP|xc`7J%~%bq6gYZJG&hFp zn^+OTNRLJPAfneC%ojT-Rv#3&x@Q?+=Cy#2157+uH>MveWaUv@-V(Uhu(B~0mlb9h zOXQZylDIL+Y(OP*Q@F}V<5&vJhU+k)eUs?sv28+$Sq)!$0_6KQAJ$pxGy_18c&D&H@z4lfVGF#VZpR<`nZ%E zI36@^NDD@La%q*Q4;K{zvWUbKxSr(P(D8~?1!@NfXls~Z{Zp zjVAzQ3eFAFBqRa_*DAMc)hcPcDyby0id#%GaShyb@W&oc9#270PG>ow%-mGq(#GRy za4!TZKe(Ffm&O5#J6^Hs#mcpCdE=E_{=8FBur^2p63DQDrY=*Tna1I>GVk_@bbp<#|y?SA%){b;|Q;KJb(s!+&B?%qGZ{4 zc)Wa^n5r1hK-Z;moCNX`@TVFV>R=|u$t=ydC(oNsgXf*naqT!R(u*f&`|)(+-qGGX zPLO`whv!2t8#jy_T~R=B9p>@!asOa{Ud4C-uX5ZnPUcZ~S*zD?RY-11)wm+1oK+2I zJ(~(W(x6z!YsPUCfj|ZGf_V4|xB{Vs@FJ)w$;d=?SSXJ$L7d2lAx(Hr;3K_Yb%g=e z3ozajJ`=tZS&4oV{u2SfGkD~Qa2{nM0`yeiVWskrBt?*vOq-xj1WrV;qIeMzK@-Yo zcvj&>^E@I8LgILli6Ilg6Y*fXHIc~krI^SXdh~>6EH_XOdr~qlm>L6EHj0Uz@J79+@Zu))=u>3; z1QU(YmY z$S&gL@ruB6KFE-C?Su|cWo-R~BEB$07wYP%Y(l{^fHVi)zmD{MY-^lQgEd^=fHFfV zpQxCq39pj;9Gcplm3%6ynspaB#vLj zqfAmKBl)n3CY527)!C&_R`LQTgC>I~34Ajd;fG8T$m}FMpsK+~=wvz1%1aCjLwz$Q z!;k6jNWVnD9(zPgmXiZe8Hw)+Eg@2w90_(&lYV?(el+SKVD&B+v+BZ zN#-OAmC`8*lR;tRsKm)6lxI&SPo_+I@e5aNz4@t=c=EA5pPo*eOh4?C?*Z$K6v>$k zgC4n)JdlR+$w2cb1(U+bIN0GSd=ZM(#s=|;kz$}FlNnIc_?b`_r({iLLmQ5+=3ssZ zKL@zn$-K!xK7*eRbirgH)Kq>E)WuNF?1Rp3!QshKRD)S|w1lX3iTz8@WSUAmMO&yNN#u0uarhU(41Y7PJMVz@c|`SMT+=BzSorZ6cxtmGsUF(qIP~$ z{!;-{?P&4(IxS=d8DV4pm4$X5Leri4>cK9eQ_ zl$eJjqREp;Y!%&Q$J{0uZ6_84B*m{Jg3Bse-9O&=yS6@(K2O?Dr$aynmI5EJ zhg~1)(CM&g#B8xv=`h!r zR_z(6JOr&>2=}C#a`2 z(+aXEsRl4{f>Nlp(>kd2s14jT(bllaStE_prs>dd^K?#vjt;)V%BL%)E2lGHuBj}` zbk%f4a60V5)zjAL7(u)MH-n#X#rw}A9<;852~l`}jwL{52s6Z)L^LWTeCj66c%nA` z;2*9RpmD|mih=D7lsYnT_5R^ABSX)38rb>HM6h$vCt;Vx;lppnNM#HBX9B>AJVTiY zi%A7!5t9mh60?{YnwW}y!Uryl1~U3g66gbgg7Y*JJY$BvHE6XjIP;)OfC76#l&cPz zNk_R*z^6ro%`j%df%1dvjsxxHlX=Sn&xU z;RzCFl4jT_2Ks_FJvjwxKH7%_ty5>xW&+TscbBDDz!eAtA^`_bM06gK*j$(0Oa`Et zaXg?+u!CwM`7;8bg)>gj|rhjx3ltsi0UO6UYS$ffBXIo5@GDTy}||V5ShISyUD1 zie`#uq%+~EWE#vhFEJu2RxMDa$X9(SX6Px(nUa}OK+0oPGr`R0SaFh8pc7P4)H9ly zuyDPg6tLPE-3*6Zwi=x)3WGqu>Z5F?5YCoiMo-UY8IR6Uxj-0W7DNXdXG}9$$tJLr zGAjkKU*j3C_&RAxu1XVK@K{fEz;GtUJ6?uD}tHh}v(#DIEFBOeVc;q*2wG`!@GLtl1Ss!F7cvy6 zuvrGwp5QTjmcxjcO^4_3NRWV*oEQ={>l4jA`lRJ6^aGr?FnTs-HWtOe^*I|q8$t=7 zGiSX($4sFlxolap37}7$O@f*Y#gm-8imzPt#$}|;@__arr><&X7XS}%<;^iMA!PjAPFF5sa%<9ko>hm7AbJ`BJpj&N775BpuND*|J#!v_@3! zvNIi}%txv6*^1dp;4G-53hL@v>uk6%S{Na$0WN_W1@YqM;5vokF~@*UagoBxV3$8+ zF6EdxV+vzYjsQ3!6xTtTD~3C349Gp_;!th8&}&uaz1ki|`po&R@+@HjApPe2=K_vH zkmt(iu)>9jsGq}DM{2f^0$3UpI+VawyP&yJ^gITy^6=~hw%PF^D9?lynG8G?xHM=( zkD_3o1D+=g0|^HxE|en&V=jCZ$7Aq?5kM0|1;WTV3nK(pm{2GZW->^jQFFZ2bLSbD z6e1Q%U~h_^lel_8?@uvvv2z(h4_K#}Aj?AiXG5I}C2lT$jycDg%M&Jm_k3aEoGvzL zjzm$0$CBA|;utbLFg$tAGc;u`74&Iy>2oqBXAT!Zp)2A_;zP)xfhO3aV$ttOc!8?u z@Nm!60`SY7oF~0JNCs`*T>f0aT;W{N92L$HHA*GKF^cDss3o9N z2-QNR&?g}^n-&Fk43NNFq)F#Wg);D?6Uygm;1{T&S7Lhx1Sh+6tl8 z)!UqYjulh}lwl4ZVMMJ=b7p8Og%)9UxNnq^C5Wm>#3v*LRiVD&&Jb7)R1MsF(^+J= z=kXaVz_0lYEBYkfzOoHbJn>Uv^PYAnu zljnV@lzA%9ur8ox#1zx%^L`@Fqk9T3HgGAV&w-YOQZ_*IO4UH~#7lroSQ zKZdAKjYMReH_gl7={7?oI%)-<@>lK3q0Iz&#e6L`D2F^h=?h1356i@3B@mXfZi9bKT;eo z2mxBa$U>hGViF0!xsD={iB4RlWg-$#o(o@MH0TusRm-fF&;|L`so%bQO6FB?m2(ih@xtWFZvVumv3;JQMYzNOl?O2i6_P!xthJA{U|-qJfTqLZe5q z0}_lP6JUHp>2$LwBqTo7E7eS|5XCNdKx}@Y6f~|p^g94*WE@z*^}kSY^mhx0G`^A@ zimn|0P`KLA8H2L}KAC`KEhH>tFk{0KflgXT4q-27z_05_21yE(IC5!3KxhK&PKS@w zg|vlqkXuAmA};z}0SCBhQF)qQI&XmsG=HH+WEBY(gbN8Y(SmpZCq8V6hzVlJf`>R` zAv%c`NfHyqc+g~m14I!QzMxGB4M_=6EQA1FxlpnYDpoB-iPa0za932C1wwr3LO@U$Xu)p5CrP)!iqkKY zEih1tVZjLgObg+_k%Qn9m)N`z33T~FG}LBh1!!Z$vEs^wIN&V{bTJKDSPKjB;+Wv- z1uN)DNi|TXgas!N=w z03;O(M83!uS0`mfP!?&60&!&`eKBw`2sAM)((1Jkyhui`Afea?*2R&79u>0a3)fTV zV%Q=B@ZpQ)bRv31L@Y)wMlD7!#(-2L7BRw-8R#d98cLQp7G%n}xW#yAC1_M|B`&fS z6Bf&C=TEpQFzh`AtxQJ^({u}G{G7XTug zDOeOP%EUQIqDApyzF4v-70c7au%g|WG4Uzv-!feNu-w3JdPuAs_6mIYoYaPEp- z9)Qk4y}JCDpcXC)o?{l(VzbzYO7!Bq#r(yBMV+`Jt#Gjnl~IF=7AX*0@uDR{x+nu5 zm0}gDkprz2=ZO`I7OFvP5_926SGnjJ7DCmCE5zku8uaZIE2EXH_8S)rJ0xm(xM$e0 z7S*7$h&78=_)|5|x;!pMgzFYb5?y?iSdUtkEfOS##Y(Di(L;hrOdzWf;{k16EMJs| zc*FXwSPZ0BE?O2dC`3usVpxLT(NANreiyBa1&P^WUkOZF9k~o5g|)qXhd{L z=u&k`RZ19mVJt;Tq9j6c_)^4DL-%*>KyhUc1JW@cul zevCV-($zlu+;b=9*F;Q4R#3b z{Thy#6XYxZ<_*H5M85hRL1)lKatDH*Wq;6%Y>QSQ`r!qt7xHk+$2~jf11@rSf_|1S z=wG%4-N8^$C$t9xr1ju(2s~yFFGrT6%ft5Aa-85%k~tYnKuaz!VMJ#gsbFe3y&Q)n z63i@Tm&3sXerg(`f>$$ z1KuL^y1Cq1ZZDUJXE``1DF*YwT(BC<2J69z<<9av`Hh^4o}^o%WX!zf>E)T_SzvR^ z^UF=dFD*BM3(yydA7iC!1^0PW?ElzlCg9Nu7J>`tOB?c3a56X@>;z|mJ@DyW=_8)~ zE3?75U>PI55S$Mx^evNB4d8!9IF z*h+VZMf9GKgx?#&*IB4P6d>PR_?8f{VN2l#%mJ5K%kqH`cZIjYhbCBQs^s-F&fBs~ zxMG(KB385_UXiRAHPV%Siwr(3`-r+6XD3Q-w)%N>Z(`E$S8A_Rwn$ zIQAKGK4(l?Xk#JW3Ma%@NU`U#Lc)+hL3vPx9nz6~R=;9cF|L?a;&yI`7ZQcadVYv2 zj^ld>Cwqv8Ubg9Hq7bT>S8&5Y#ZF}!4O5&da~MtQ3VN=yt=PdQt&SCGh`}jqohvTr zxKp6d<10L^BBT$gLdK95x+c^xx>sbOMUEuY;!kJD9s@UGFd`_l|^B2#Tn|7mc)O3LM!2wKDj)!D7A$mD^Wz?#E{xU zI#z5YzG4a`2$EbG#N0^{ISrawnfT`!h28a^#Tx2oWmj@5THG-6@D?clWi6}}fnXJ{ zw2`sA;x&zj;#gmmmFh}ur4Czz*oQRDmDb9z)E#QCctbAqe`2MxGP#n%D9UwH#AkXX zipYO2Gb^(z^A?9JiHJmKZe@ODMoD=rtSn*1FRm=DghFBkV-@#y1KZfO+6}2^H30A4 z)tI^u8g2`#GqPxC0I~?P!H>TIJqX!@aUNP7UiHD3Asks9U5$|uXRgLV!w!dpuMLOB zR--D`Dqoyc=GiiJFr??RS2?R(lGTXzow_)p|CR)L&s$9a$%Odu5o$^y!D<$|a5ewy zCt6jTCv@V~LP)YIU6rkl(6>aBUCfh{%=i^(m5JG%LyVF}(jgTjHR=p@7piDhwW|fT zZnX$6{i;UR%;0Q&IXqONijpp)h!4HM$yGjS~cW z2C^nrldGxKG?2_{b~Oi{r>z~dkfeV{EdZOOTP&`YpiMz@V29~am7!JW7^>YgdQ^p8 zTV13hetJ`1ZLBs|`O-O{v&7O`ZLe~S6Y%Y<@(q*VQ>fFcZ2f#_2GZ>60{j~0xmCTf z8|Q6Hg|V^D!}7P7F-v;GOQD6;#nmO?7JEPT1jbr7Xb)=FTK8JdTJKs?-M5Chw>GfW z1ymUtgf_I+NBN@uEyLlFaKD}z9$p(+>yZw^GP=fur;I-aIu>TF4TQNsIbrr1JIn!w zITq%E3&Jf0Z;c=36HKrsCRv4RqBSu=C{GD3N!MhMEF0#aY22~J}4QE17f;D8)nnJ`g3~JX$*3|eOcZOZE zD0EjiwkE(zi?4YFc2#06Nlp^%+F^~*5-KCwJ@|0DphK0k#ICTPgeATL7=Vj zW73qGvP9)9^b7aawOF`;*ydUblq&7DE>4QXPpoy;CV>jY$?z2TutcJmUYl7}H2e?0)(5KgWjcNW+ zfi8yQ>xuQbaB@Ah&WKPg#0}~71z51N!8^O2BQcbohty4cs`8#lVclwHI;>fT@5@{=9Hd#a-DcTtuR3y$Gcyw(@#N8V{qcT#}$HVDx z&xVuVyI~}EBh0%EHGC8b9d2v=Bx+#82xJbr0$dl-f(~vBZ8%lKu#ceDtfLzq2XkX= zqhMui*f?=1)t1R=h)gOe3Hu#laK9v!lCV#R*c+S;?uIR5iSRb;98<&*@xspE5NrrZ zyW$O#MzSH@P+Mdhepuuiij6LM7x6`!Mx|BCQ*KPFRJd~^_l8HO-eBSlX*R|qF4B^A z!wv34)olbo?F6-gdLrhCexs^2Y|PjUvW~>KVM3cCR0(P;sd(Y{mg(GZY(yd*ZYtv17>CWh;o0zR#3R0q33`{ea!1gv zf5XCcf(JIDk(|&ftm%Urp^Y&5Yru{bMr33o7D-S~A{Y^xH)K33KMFLq5#LAyO>E3c zT9{2j=}(_Cz^KBaM=c3oto@DjMrI?sk%QKVD?UCV)kzKZ=y%~;phVV1`s&_y(>BhIM&&%tCU=v!>2gjX7P+E979X~mh+tE=DX}d^x|BxUL`1YH-t3J^ zNR)I_20o`8i?+B7oYFsq9i5A?(Dq<-9+^fVF;V{(WmJwB#iqlc-0T6a+LVH-fyu#x zI?7K24ZAR*n7x}e`X;NV5$qdgQPhIDgpC!(4IHyXo81M)|*Um+A-J zI9V0`%@|n^-e>@M+0H;T2p&Skx>5SkHdTDlFhMX|H=~>GXpCra(8Q)8ngq{8_0*FR z|I}uhLN;B|EVwml0%}GbN6i80>f}KkQMuTp%c^ZajnM)S3nc9Fo25;=y-eS0ozW0M zvCG2)Cn;zu8YWl)G#9OI)_~PFlhFovlX#(Du(@=wt6Q6~XnS*FGZO8>g zPP9qjQ=6q|HJXo3L+)VKiOe&bQCMd;vr&~|ZqsR-iB_WXuu^4VvrE*?Nstlsz-tls z5-MX$t!PHOwx*-AvNpGS3$sMqv(*d!Q)2WdPnE zGt$;RlA#;av}NA104?J$S@sar3eCP{Bc2Z0-?=peTc6XlHNNGhvC-JPz_aDu8jKB- zII2%RV)JkHEV$tX6-x9@yF-c6$ZvgiT z6uc&}V-FxLw61-)^YVb+mQ(G!X8q{fM+StsNE|!q;RSc}v zrg;`v+M;vLf#bfgH7Q*nl1tKdED}i{Gaxo8#cbSSY#U=HXkFWum^s$H9V9C%F0aaT zuv=mIXR*h+l|9=wg7$7x7DudayC2fP_TaXY_8!_E-gd>tV*ZMRH2xTCo4ws9wQ&P6&Ng>jqqljfOuTLWb~isratM$y6ccV&Ek$~T8x7%D9`92G z%RIPv+k;ybRU(Lx0F|O*wrDt?I#w!DX=}MQ_EBT_??LAQE)p1dwAPmifl76v!c*q+eNgX!YwhrJ;P3HC%4;% zLQEm{U_?uFZ}45P(}G-%r4W%u&1|c2Ql$CqSQc6iHNRchE((i~dihNfSC3U)z?Inv5BYV6PswothT^RARhur+)`+?R3XOnyJ{} zj+H&MGYkZ`RzgR29ClV5yTi^Hbk@#ToK0}7E!+)8;+&l-S+4>^AH4n+y^g!X+u`rn z*h=vr!G${_#EEzM6@O$DVu@F65z%i zt%5@E)bJM)Pt%ThhZDE#h~m~A+m3xFj{Z*QHHII*|A{(~&q;C$$m!<8dvxt6kZpWN z9d{Fp*5Lv7?qo^7Fza_raZOwq_X7>=cpZ9p2X{iyEOI01hb z5R8v#obmCvT1;iA(rwhh)A9OFEZ*2@LiW)a@f7jaPMdg5>~wa9ZIh70@pya+e0pbQ zXLe@}l1ntdqgPNF#oC3P#hs-cFUi2z?b@YKd`a57i4-8XE8fO@$M;OUhoGU~_IjcB z?T$MYvL&p-%r8!P{}iUFA3lw^l-yefNPH5bl8X-#dCZ}~v$f+x(CXwDlP0nZ6I+(# z8`&M*Ekk1NR^wv?ciIcY!ql^%mmsruIlJ85R-Ct6i5sz3^LGWi`M7YmOSTjj?TU9L z@GE2X6yvpcoy7j_A4XLZ{*OK7uT{D`6_@SGcNa*^9Oxh!iSER7T!EZQRMqZGJQ<(m zOR$F26oy??vpX%;Le}l-LAh8#9mIAeO6mE`V7VnjEX2^6RF)a zd`uv^?^!LPK-PLy{myH((|T@C4Doo)lOW4F00fEPa@ zOtf~}yA!(|*d#!xGPygoJH4yLxbqVDPTHL%aU#gLE7CbK!dVR`A;l=p?}`%(yNke= zXdC7Cw_1SKm$8G9NcckM|NW$^%Fu^#AA?B46y!#lIf;h|1UYI^rnkcLtF_DT&n z{#XB=9@@a(;GQ`#v}c4&mEpaSy-`GJ6L|NiOvom111ePPqHW7lkH97Y19Ps z5HIuppDZpl=Y{${|)i%g%T2NG!aO6_k6HK z5`JP2?1d95eTeK8eq3io{a-%~hdC0OOY6;CH| zZ9dVX47vZ>D85K+vVBGp?>XIenOTpW5?LH?N@EX$&sXA-6I=KGL!aw$G#KM zuKls3+hQbdkChByCmY{)?|Wbw)pCuetAXh8{RDV&U#PpCh$oz=cT{iE#lkW7YXD^ zB~V3j0!W9Tlb|YK zki9lb(v}=K(2-Mq6bSRch4#k|SO?DJly=m}2G%Qb0OK5RA={I@1Gb$*?zH>^0TAKA zc(P9KC!&KXaT?#v|19DIchZxTz*CA!71@C=DW_$O(}D6pb)Y7?7H2(fDhJwwKvH+$ zPwEd0z>No{gJ9BpU?+Qi7=5uEgp$^SXfl$t(Ru6#4oJ=enaFi8elURNv0=pea9_nd zg2hApyr8~=vcP{3AUgJB@X$f{AOapGSnME9c#4-eNJ2^xjmlGW#L;#ddImL%noQ;n z^5BJo6fEPUwcEz_W z6!`Rk0y`JpqA3GA_C`Wy4rXDSJ18aR4;Bs;q?iByH33Q{9k7TMXYr24R_tS6&*W17QG zvZsTa%AxL1f7nh=CJpd29-0md$%&--&~hll*9~^i-*zbtBL&@hXoK$(=B546ap;8X zLY<*K#}D0yoVJ;aZ9rjf7(>|OyWTdb@ z%w4Gt@E%@wYVxorHFY>mqIy#^hyAI6R3Ch1fq2YAsX@qdhx3OE#AESrBsH8GO)U}a zrx#58Yx-mGLX4Pk#DT<4bscpd>2cHbD6tB0d*!A?s-C0XBfK+d-_b0am+C(nw+|c* z9%U?i5<7IH({t@wu^bUN8;`77o_pkosVi~>snH|m(by3S(a3!ygug7sIpQ8kQsR^* z+{YEAct>Ft|7gf0fRBZo1wu${hdd=sMYVk@(UJIQ*d#d`#aW_EjX3N=6|yK&ev=wp zgDO3Wuw;mtQW&A>QZ<7%B|lOeDUVb~>LbljA9if*kp(tbkMt=6By-A?>P1FmP^;DY zBPHK(WIVE_Or)o7qwynG%AIl_Y0RD@GdUGP@bn%9Q@$fVX)_GHPd0|x8#tQQN1$1CL0Dp` z&{6m(a>Q^%Q&Hj>11+hkKE)v=j*>^|RO%?3%B8&crR%4pk21)RM2)8ssmxI-l|9NG zn@o+6$VueIZ2!BM^vGW|4FlU)025k~vnqZ~bX%3N1@M0pn z`IwvbV^6dkC#?9MVq1>`Y}>K@n3r~tJorTm{!YmJbQ7!21xc(D$8dJ0)wc0t5v&GY zz$8w)k0ogjtWqFe@F>R3ckDm*fh+L68vs^T2SMfO5NKK+KDLk)BIr7J9P^uJ;i^nBceoFbc za$G$&rcLSE@fdoN;nj~Du;wr;o5ZVi+&(sw*a@O{jwg?&h%`+o=GE~mkt}I@dJfY3 z@xt-qaY4CstTQl99BGfW>%@u--6ytm&&f}_z2JQ({U-yoj#D;0NaUdtSK65#rty(q zI~C_ikDf43+@v>NLdQ;6Cv4h>Lvw$cd*XwYM|3;pCZ9+GP`}*Z5T1xm0%1bMd5+(@tJrakJhAyY&1Z`8CC<&qhO#)M&q|!oL8j|Kjd!hr{v}Mxz z6NlDtQpPN*2#ml?CsJ)TEfJVcEYMskD=1ZLgxgPYX*oFy9VbqLxCqUs$4}fu@|+aV zLZ8S-ynbRS>Lu1v+IQkV2|&hQ#gaI%hyE?WlMv7_Y7geJ)fj;kMaA61%>5}*`o0=F ziJw%^O5!9*JTSk&)3ltS`QIptXHTq(9Ps=}0kn8hqJ7HXl@pFbkIdDRe#~9W0<66n zvi~hL_%xu`Nlb0G+|6t`;nYjhz!o$fj9 zJ?%SPOwXkIVHrRTnx@i&r$eW+>EY86=v3*-FllM*ly%A`@+c_hl#xkcthtbvNNW`q z<pA7wy^z@%-zol4P4#HT4{aDYZTf~nZeA9opLhq(*&^ODK}%z1j+Z1+{wq&{uEv&b(%hPbEb6+tmF(lv!}V! z{AmGFk>o0!mQVTgs8k3-Mb7aBnd)inRFtU`Oq^+)4jP+~C7BlO)jpMGWSI$QA%TaZ zHw?(L(hjsqVxKylK9y%?P6x@?3uX~e3rCByY3@{!nTJ-vY+N9|i>FJcdNt!ro#{H$ zWJ<>FGqqBQKBcrhXT4{tOy3#RCx@b+a7w1i0MVkX!LvcE)uFRt+B$Nk&5WKg&t`OE zXS$40MftLbZPdmF?>6f*hKx_kIWsyi!_G_@V}?h^Qoejz7Jv)S8ZyzD_{@@NvheI@ zQegIs>`Z>9IJ0KF9EZ@BF^Jn(p?QlVqdZfcd9CU*&6$ggsP=4Jv+rHCEB-=sb)%Nd`As>qv=%CGmT6DGeu-*0x6$W&IYvAv)Wk;noQfy)JaPX z&|W;Zay+Kx%9_wxXYDf+ZvtLjS=^#B6K6$?&t#?t8dW;5xX7;1AsKMqW@dp6lYM(G zGkF##-_KL9hLu_K^w~mY<_!Pysk5SH{%qlF@oedgagN(qrt5q@vxrEX(DZ8T2Htbt zd)^05mA)*~+<)F@nnmugpf}r{9XRKkmNIeeJdip4;Q7?=I;Q+Zq>n>%^zivWcI12r z*yuSE*l2d_oS9{v4`)ZR>~qffV74DNF7am2Pe*0>TX?WIEj|wBFC;!ZI9b8DFe^M4 zoeQ8%82fGFbE%Y-6=!)_$vHPWmX)5fv$AtDeJ7QZ+*Cff7Q5y7B36#_Ty@@MQp2Li zYR^y#+ zfR;QrAwC5ueV#eDXS3%y$eOIrZO&>*TQ<-Agig>g9dLivjnNBbBiX6*>GPTMV0Q96 z0k3Fw_I&Pq{(Rwl@qFn#mNjG<7nr*j@oW;-Zpb~Tc#3TAMIWSo)PV~F_U<%k12=bK zAG#R6NR#gehhR{cA-0i=QP_C!Eh@3&!OFbI!otNaH+Ip%$zo9Re$E%NC$lb8EcQhy zTYyh4%iwV?#ua6fsR)|S)~VQwTDF?45R`YpNB%}ua3Q=9T{N>2mH46s%LJd|6zW&{Gqv zW)g=pgIMN3=d+fJ1@IicEEcm)a?Y0dLs;vKob_VDW)d%DZ5Q?n$3;&rk0+PmIh_|= zv+H8~!hMmEcjr789+_F3mzMYfOIOZ&;X@lnwZ=Lv@srj9beqA8f;6TJUG(P?j*ujL zF_6<>G>3B3TfvM`u&{L=D?}!BZ*Dl3yhxE8eL0sfeZkCeaus0) zNS2_Zxg2=@qHrO|6)#E`7II&#*<~y)a+fbE{K^FjQk8h)o&dRav8W%*jX)aUW-*`Y z7XzZkMH3z(U@h?W#l%GieDY!nbozo1eCA^IVh)-R@;o>X94GC?BII!)S0m2V)k_zQ zO9R0*IT_(ym))0?U(cl~Hz$kXAE4Lfj5({=Z|lAE>*Tq<%l=D!Zs1aqQ($*c=Hx63 znSX3X&%xsG69UW0$PU8g3yjM}y3@I&ADqQ;u`Fgy+!Z%sDHNS)C)t zL#vh?|55<%wODz=OVOp(CWaQLPTWg7{1zS3OBv~%{8Djg%W*FoY^twSgOjwWy!7W> zxd4$VTy?3w^bk#hC@qP^SQvGe`b&$ynYjtfF=7O!;p7A0{U*d-Hwy&gJCgK)xS#>_UW2T~1%l zz;`G=oSy}syPUsVxLmws=120Q`IN+i=UBS*W4>@rjH@P@33jZ^nrSRw3sQN|!d3TG z&sFagcC0)HS#x%Fo|orB^4R;X`1$^;CDXvw;MEX3a3%mBz8WF281m?qC@%!ZUUxNi zCCPKpA`8|owVKZ+UYsih{$H7thYXYpObM>a%L&H28pKTEUkR@IIao2UYVulGM38jg zX*+(ExRQ`eBj~>&uP1R-KJ0e{N9L=N(g<7*U2$cCq`WeN=6EU~>MPBaorigNW%);} zHLtshSu=M1mEp>G<+TfO+S$d9yjNz=o36}=vs^jzgEH%t?aF>Nu5nzs^3E&Ql}$W; z6|jxx-6WSM@4oU}d9Qp|UZVRE7eMvVEd?QmP{XKrPqN5W^r~iyL5p7{t^)bwl~S9! z^5@gUjxPl8(BD{^Q;}2&)4CKZI089J>tahRpS^0R@Se!`;X8HV%12JUMOKUS@oz?~ zw5z47nLOiqHs5vKeJwU%hrPzk5%ga7f%g^U#{TP)bO5qUU{V>JOxtwcs~Uvpto>hiByx1pBa#4@rR9UHE4k!t1Vr zi1>)Fm+}%wJ|*6$xwjy_?kTv$9?Vb~vHvTIUyxrbXl$@BR8U^4uGP?+xYcQ{2MXHj z8F4>pWtdRiHAmNF>HhsbjcUdU`fFBUq+q-@U7Ha(3O{DSLULNK$HfLB34n46Hpq6= zyxDPGwGNn_klC=fu6YG6$&XcQ719z;JJ?0g+}A?2=UPl~DX6mGg+*476qH6ebVb1r zJ#fvz9-uF%3c+h1baf$g9R}CHgQ3BkhaA1u6|@EXN0yM|*NJOm!Bj{>)+$riB}AJG z0o-ARW$Ek8^(fizve&um{B>Cx&=#(X@GM=IuPp^@fz7U5+X~g|+O@slDAZwbq8(R3 zE*J`rL&~Y#1*@!a?Sag4HLqLn@D}2hD6f4zaowX1$~)IBGZSr0UQfaHw@hFA3U0B# zV8hDEB9OK)V5jF@B9g8W7S zS$U(n8RT+U>Ko0C_C|M8Dbx!Nqy9#xG~D<(#+!bt30`V8cm7D6#P_cH?TkI*; zZ@Tb5f6HhaH}jhQViQrVn>J~q50Mi$otw#^tw@ktiW=f95uM2q6&bgfU$@<$J*d66%wpfI06ud3hsadk z{#!obxclBt6$WpIZn@BhZ%1y&ilev8+p$|0k6n}jc3tbzi7~Gg{DMR-}^4u)oQ~mLg-)bmn z3_Dx-wsJcntJ3x$`Q9)hNA0$N$R>F%%C`=W#%=SqMLfg6+mI%1r!fK@I(kNtD^A{) zixcXp+v(eUaptyGoP{lc)3IKhyPd!F+cQNGcj2~#_{H05aRluxk?00#saULlGw!Gs z|9j~oXgBB}ZUYQw&t30b-(5fS2@*R%>_d0McXP!N$nByQyVvL)li=gUF~X^=EJ$or z&Yc5a@?Eys;tVo$ij$xM>?B;+cz4s#T1Eby;7)iay7TG8BwlhSy_+g7VGocIeeh0x zr?~6VD2evB&syYF-OU#nC9Fsjg{om+D*6>>SvN48hXT!=_D*-FzcawnQ!?Joniq?v zJ3m@A-&yXgceXqGo#W1Vw@`G^xt-1~!-RPp+AwmsX_U%F6*e%>o%hZM+<(U@1@3xF zLEr?0NhD!ZXy^LnoR663z>9&Z=^-S<8B+LD>-9~KTO7nOI<2Q`)i_xb-NghUk)&3`mgDImgb zhh0#7FS)mrV&l?#*}eQ;aX$%6;!xgC2&^U5z4~5ruf5liSQ}c?L#k^HL^p!k=^mKw z&G#1Qa|Y|Zgq%-5?fg5f!6U6~R078ibuTehAXQQ0_gTh8bQKJ%}G957GzOgZx1OoAN>RASI`hns{nJwWzuW z{eyuZRGjgluWW+WTQ<{}h33q%^}+UFe;7bd9KcxMPTGbiv~#KFDZ3uVABM|rf{y{= zl-Xs^gZIJrFbECrAC?hFa-szug2XfQ5C)GBIr<=gE%p$9ND!Th!Y%kA1uc!rgEjNO zFK3BWQkIr;4@2Dig9hsdqg*aL6k#c$_LR%Sr}9vJs6i5yWo2Qx{-7u~A6gIX2US^# zToVtCht9*~!xTKGA7(%`Wpz1BzY#-umgJyv&ppgTUU<-!7YVlXpd(MAFEbvE<*rA{ z2eVb!{b(-tJetbAk1Xs=eUJT*1CN7`UU7eXi1-XYTFT?Fj69A$in+{3YkBO^&1O9Y z6t*(^k@M&i+si2ym(C|Q^B_4$OH}@{lK3vV}qP!Az<-xl2|++tzooR1aK+F#xEIR5B#pR%^}?=zLk&#GQ)BEkbeg=Cp}4 z@z{BsgtSyn2o}pzkJFDck6jhqb5N<$Q<;UeyE6CKTbYN%mM=W^RTd%j6OW}w##7f* z_tQW{fn6qmF&!j$kHugds`NY!SB7!o^gdy}@%uo*EB#LcPZg=!I0{b}ckpS5;KNTN zPfWVi(I-}A8o9=_zZwH51ANMS>i{i!B& zJn1S@W>I^d^c64hFe;ncu)_D`hZcA;AXgAl=*e6OKUpdf z;)9v?6oaIYXz))`#h)Syg*ow*d`c0kv66nuJXNJw!R+jlqY^}~b5C_?9@ZLAyVG8= zRr;}-?0l_L!j0k{UwA4$m0&MFRi3I(RVKss@>TqmxhHpJp7b!SG8-12 z7N5qj+r&6a1Y9yi=tMM~OCL$6lq zpd+Gk#V?jU`(*NG#dD()BzqFoY8%!`RE%4NZ&r~wHK9#{Vho`r@hywl1F1vMsfzAd z|7>_RKAV7dD+`sP8E5G;qe|t%8-x`zi0s>x zv{dP;jsxqi>iFvXtO8>VPxo_O!Rk;o_8fm6CasNBN5K>DPCloehqdYF%rlc%vd_6^7NjwvVf>!^425TQwfH=0 zEj@F9a;xQMUbTYQ>T~Ux52XIwcy2$34NYJzx(6|ZpgQr~fi{Uc^*sGt5i?!F>I`kC z`Zx=D?s**s9E4Mm{%^mKh6sq8b;;C zSyf8gQr=5kfpu);zl@3;RXehk;U$2NT88ub#jVHFzKEeqQ1M)#vKKk%c-37Eid|L3 zi}FPUUH#&zdJ*rhc55^*zG@zS-VuZzsD?nbFOg~tJYLnomn!-f!u~%ZewE?HDNCT2 zM)b|iHN7OOW=K=&6tHx)f|0>YBfBvr{S?a!ZhBQKsO?2S_7*$j2)@%Xt0CcizPJd- zn9)3od_Tqg;(75Bw1x4;R}17RB_;V^0+2C=goa*5aW@J>j-W^C4{}I zUTsus&@d;R^_S*L>qV$*zYPA~l_*QQI`M+_Qtg0(zf8SMLz<{|sv-Lf!7#@SGu2rl z&w z*P&YfZ<`{LSNtjgm%hqg<*%c#aj`3n5Ff>>@>TW9{PiEJsb4j(oEjSl3sw8dt8u}n zY*hbsuY#KXm0uIq40OLmHRG!Zvia3Q5J}BSTQG+p*x{jY&nRZU(CzN&%wWttj`&&A#xf-U^Y#2bzLMpM1g)}lmjVqd^s ztk)sxr^E1ln5CdGwvyOf9K&z7>o%oeN$X)pU)i>CsHq23cM7f8{k-8-H`Zd13Xv`QK6+ z4+)s3;?E(YFxpd^5P^^wouSB|G*Ou%tMQ zdRM)>-cy$vy0sbBKplHoy}N^1@Fv$J-iDx0ux;w(+Za|y*q(YzzYW(%aNc3}e49}R zWFz$~S{Q?0?ky)Dtq-e*)cLn8Zf;fw8))0at#j(EdN$+b72sK~72o)EUcK~IhE{nK z)T?hI`_DMnDEnLEtqI;j{VDCYiMP&M3TtrkjcLVsi>x7X4p4ScedL8NFG0W4w300~*52Sb$AJkLoBe%yQ7a_x|?*a7BIaeF%IQ zl_!*eGH!=ICmduiRy6CKO;GHX?_xXiT}f_{lppMR?mO?D54#faf_LG&2(p;= zN9#nAf~u(e;PQ9HyYgLKS3y>zYEZSP`ga4U4%LWiLZwQV-u!NP*Ve7?8pPXx+TR_Z z&UY8+_`93-qkKKI?0xsWdknfd{-UWYVr*&s1aHd%?^Pw*sR!Q;_0W6xJ@Sv(=zC0Q ztjFF>XeAEZTyNlw3FV1jA8XxGPripSsuNmP=mpvkmEX0h%6s*_290H^(~)9$Hi+DOcfvb?J6H>P8`WKR)hFIN@00K2^{Myi z_nG(EcW>QOpMz}}RxXsKSGs4snJZH!NmZnEA6f;s-#{Yi1Wq0e4OeV_eA z9{?RuW49vO5TRJDpR@Im&zbt@C-ZaclLeIh$@%1d@;>>H1)suC(WjXBNFyaP#N9+yZX>w0+Li6Bdm9rnzFt!X2on4Z5nfj^8r^uq;m^ot^fUH3 zuZVwkHF_F}&*Y~^kowe{)1R5ow5%I@*HV2(LgiIDv!A)ozDEADKyvgp`pF!jY=6rl z8PDQp>9Y)<65fT6?39(y>Sql|Kv(}9X*52YkXxTx?Eo^gArI1-CO$jRCQ+w8r$I-B zGoQna+0VJpd1woti=Qmf5+tfHzHswwbbX~1-CsRly$DJ8RNCS;3ljNmLn*`S;+E-3Fy%H@AaAql>ijj@JShknrg6Ml)l#6SKG3E_WR zltB|V^FM?zWQJ7Uu|d!mi$V=p8m>wWxsM?x`qbmj0Vrq$OA8;7Ep~qOJC+j z88S{=&?;(;XcXe(nHqDrf!ArI@#Sq;8ck^SM(fMkXn)xn6TjXaNRGxN=+xKr*UXoz zG5a+~tmA0MP5MQ$Harb~BM3c!y6`psCDtu|E&b+Ue4}@0HPm3LyC7q(H@d%dmPlim z+wsapPivY4|(cNHs=~Y4n@< zouU2k1&AzTKv|@Xe1rX+Yh)Xo??Qu15PZiIU*5No#s3z37aPLwYNJ9h(YN?p@-6+Y zH)@Rr5T-%)Ek{(dq4-vQtG?CWt;Pg!&3C(@{jQpI-+Gd>(=dP=zfIp}@JV>&utF`6 zryA4Htlwsy_h+V>FMkNS7xo7o&`jy9X$W58I=s)OC+ zG+W@|)^9>LS{o9%C2b3!U;a!H;6=>+M4q&Zr~_MzRGS=i#yR&G;j0 zcKwkzZAwM6`%fLukK0;P)zqM6HL8;IKuf5u+4HCO&z!pNPa0nYn3aD9{tW)n6Pw63 z^am@E$dnE9p*j3#$TyAy6h} z=bN&(X3xy_p81BpdR=?@$OcpcUm;MS8!(`ZZNN3)K}rCD*gyg?83dt%(m-txDQFFa z3VH*hL98ffU^cM87xCo?+8<(`#4t&39r^^~A zD90=F8z+L6%m0a4@elo<*IBc2t>9D4goR)$ZJeIF3bbC`xTbL}NGB=RHBJU|nv9*x zz^(jbWd@Lqa{+LC{_pbC%mvmIFF-d=0WF!}c!X)hHcnO2!CqlW_NO#pE$8AIrzwl3 z14?`&p^?~_4O)^K$&Hl89OVopwQ;6$x{?Owm<#IZjf_TGd+$}yI17|#g8=5+$ZBLa zavHh+l*?=6Hwqesjd{vBV7#cYuyJm?-F&6EQPL=FoCit^l}nVe#v(Aq0_7s*Vo)P* zTngePGZl?WP^)TGgILq3ZPfjf>!*_bpAPDI%ar*_HaHIH!BPz%82`J{mn%)6v;cgc z`4mtqRw!43H8wX|8m*1grIO{v|JY_UWj29*h7tkdF(6o1fX_zL+9l-dBJe#yK65On z`@e#EDN?DJIj(7Zlf1o`U8kJTG_h%oa#GV;<>aQ-U$}?c>l2kXzZbs)?pt z-EQ~E27GQos{-ZPCWex!T-QVgr8Vub$R<=1x{0I2v`g4_jB8>m@lCw;vX{=}f|LO2 z`R%d*#3H4zod^3tr9>(IhyPbO|0l5pY#T(dW~3&mlH5dTl7Tg$f-k5Nr&p4zU< zQcVNtSk*W%<#-j)JV7;4HAyvDl?`gAH&0Pb1@*a%X{wy&8O^z%ZYBt`nrAl~cr$YI zK>kz6$eBJTTLq}H+W!kar(HX@d0umlYKCh1r}Q9zqv@LY%?p|rHqQhlbMB&ctHtej z35b`1u&g;B#LGcg(Y&&GRrBiRHO*P5PievVMDr}wIxq&=jA}-M^xpx~jBS_lRJdk* zGohIXN~C6TGXo!3 zRov#HHB;vDnoV=2f$!%0WCL5bg z?N;EOYDTM2Dx}H+$~j=qZ*4Aa&S=SO`BWML#A8~rKs*)%DwsbJ1diX_?WI+cL9V zziJgtr3P54SuGqeUvMmF$!nPd#>jKlsb*z^ce91puAc|$=C>?pS=ho=u~k!+E^1la zo*wM$Tb8yg19`=o{Fdb)UC}~Ct^_GxwWtpBs)W$sn)b;^77W|TC^<)wf-LqLyNJ+)G~d| zC#y+nGpHTco&ubcwpiP3Caa5EGFrhmKM?*E5UpcCKC5*CXgOXzwp~B2b$lxwe0sn> zuXQ4*nbbPDbxP}0kel*Pe*a24t=)R+e{|E-K*vn?L+s#nt zw&tpH)HBX(vq77g>O4@M(>k|3?o;lw{>gQYdS2`N)&;E#!I(VtqJQES zw=QX2`XAe6t@G6RptKx>6(G!4uWVhQUIlWiP^(+lfb>(CtClR0fwOvWMx|cciu^|l z&Q997b^pj{kYZY~t+;j>-%4nw#MVXX#cEP3xpm2ZuJ%(-|8EaV+iN>x_A)i4mD);c z%?IUa^XRS1)r{7HR%R;;ygGL4igv4&>Qx}+v~oe+TJ>u6JaEKVqvo~Bk^J_1AOP_? zwXl`;&pQS<(`ZGii@_ONVJk|F0n>_Gv1&=Hv{lw_U(_mZRkU+xwJdMlTJ9P>5qypq z=Jxja>CR08pA;o%p=!5Mx8l|4T!NaYCV_cr!O@+p*0jgqS+up_%wP#cO;c0V+E#jd zeZfAzl>u`4)`EXzL#wgX)XG$wTP>|tFeOV}+{#vS)ERAD(1NGts|6sPc;r!MG`HQ`@HfV*|9UTP#s$|07NRhvu}+ zXp^?rAs5ulY?}q*+3j(8AfD4Uw=HAUytesmGW7ybUI@aXw#98r+LpF0Yqu&=&*FZn z4^=8_e;1Ui^V<~a|8?E}GdvUgUCC{fHfkFUw4}FL)Qq-*|D>_1 z@mwY-6{}fo>^2U_aoZ+lfHSWQMTR;<3v#P7)@0~1=ow=`J}YBk27t&$Oh@D(W*~AA zGZC{8vk`fSaT((?xEbsWUdDtBea2$M62wx(GDJRNIbsE3C1Mp~HDV27En*!4i9jLH z2n+&?z#;Gm0)mJjA;<^{f{H+bxuY_GjOiIuGuQ|Yf{WlG_y_?)h!7zP5n_Y{Aw|d# zMF=@Uflwk;2sJ{3&?0mQJ;H!6B1{N$#?lN7n8*Jg{&fek!FwUk_@TqO4&OlTb$Hle zC*;Qt_d66roG=&cWBR}TZGdco9Ebc@-T$6+2=WzVD`W>GGvf=$zzjFc3-iJJu&=<9 z%Rvahz6NpSf9kOfwjH(uwi9*{7KB}feFysJUE$r} z-Qhjpz2Lp!|9iFjcWNvg2gkz+a3Y)pC&MXlDx3zV!wcX{_*qCF=*RR}5T=8$7`hO| ztD!$YupkvcAN?=y)vu7g&=-(#&}?W9bT)JebP;qFbPe=R2oCxfB7}Z~oP?Z!oQ8Y{ z=>Yv63W36*XCS8_ouFNyJ)q|x-Jrdo7a->$mmn7*L!kqq{h))vQinrFLNlSGp<|%m zLoP$ELasorLILPR=v3%<=nUvgXdZMvbS`u$bOkgYdL42TaszS)atm@DiiWO*-iF|z zWGE3zh0>ucXaST5x}qptqqK=tGDBs)HJ# zR;U^J6XXfxDdcAe40;6$g?5BKgZu*N4DAZ-32lIMhxUdxK^h?~kY>m*=pbl+=n&`| z=m_X2u+ACKENB~~74jVN8{`@&Pl8T^PJre@XF=yc7eMDhmqAxTmqTAdeuun*yoJ1m z+<;=B>!5ES1Skbcg3_Q2C>zRz@}XSld&oP;-;lo`GUzR+5-NeJp>k*;^atnz=zZuN zs22JGl7{G^CTKC#0_}i=BRe8{Ap0RlArZ(i$nnTY$f?L_NC26OT!dVVT!vhM#2~3i zI+BYNAq$Zjq!wvJmLMyTQDh96MD9d>i#&zAhP;pb5%~o96Y^(dBl0=&CGvOV8{`M% zM`RiaL3KdEP+d^nQ9V%oP@ka&q6VRcpr)d-Q7lvrDi<{im4}*(T7X)FT7p`MT7_DJ zT8qM>@F*gRjAEj=C^1TkDncnydXxcWM43=lR58kivZI_R7s`k7qsmbMR1g(LMNn0! z7^((Ui>gPZPp)RAoM_onTKs`V`LH&$+ zfqI4d8}$K|MnTX}G#uR--3{FX-3#3Z-5)&&Js3RpJTRTzQG*A9KjsJ9LIczIgh!DxsJJkxrw=r`2q6?^E2id z<~PhM%}S}4*umIL?09T8b~-i}I}e+WU4ahl_5nGD2V_jH3wj3M5R%4^s7&eZr#nxfJz_sw+FWmw;y*9 z_YLk4?kMgA?hNiK?gr>S=r-;??ji0G?g{Q!Tm$Y6t^>Y5ekeWzKMp@0KM_9-pN*e^ z&&4mrFT=0EufwD81$YjghZo?5_(Hq{FT)q%HTV*|4e!9a@Ls$RUx5$dtMO5M9X^HM zfZv4QjNgj?3cnq{1HT)85dSUy5dJX!IQ}gDBK~{)75o!?Grkr79RC*oH~u3&jR(67 zLPtUuLRUf$LQg_3!e@kugh_f z5!eJCK|m-W*a&ulo8Tn`2$h5oAxwx6st7T{=Y%f^+X;IJ#|bA1rwC^W7YLUKmkC!0 z*9kWWHwkwMKM;N-JRBch0SVgZpwWD_|=E>S=%B+7_#qLQd0YKcyw zi|8em5zC3y#2R8PF-fc^rihz}n~7V9TZvy2w-L7!cN6y#4-$_N&k!#VFA^^iuM)2j zFB88f-XlIBJ|sRS{zQCAd`A40*g$L~z9hB~+lX(8e-NRh4y4YcZloThzNF7cLrKF( zBS@o3nIr^h3@M8=fi#gcnKYF&jg&*0L7GomKw3!3CoLzfC9NZ2NgNWNBqWJQ5|WHm zM3R#fBqd2r(vY+yJ;_Kik<26ushDIVIY{NCDpHJ8L#id!k&>i(Qi`;JR887U+Cth& z+D7_@bd+?Cbe?pXbd_|Q^pNz3^px}~se#l)Y9qZMy&=6N{Ym;j`bbKXU}QMC3%M)# zCsGe`Px3JGNb)H1X!2O{IPw(obaEbfA$b*fEqNUoMMjeeWG0zS=8=VD5!pbtkW0v= zWE3W73*GM+Mx0#I@&xs;id zg_Na~rO3N{aFY zWiw?vWd~&^Wfx^Hwd+A!J(S_UnPHib5uwwSht zww8va5orZ95v_IfE~6{x8oHKlqMPX!x|Qysd+C09B|S_}(o^*H z^o{h->6_?Z(f82z(f892(J#<1(QnWn((lrLqrarTqQ9m?8J!qC8U4UB6cOP0i(?t% z7}<;&j6BAC#zMvt#!~RSz?I*Gbb@8Gp8~E<_zXc=3M4{ z=0fHo<}zkJa|Lr96V1dk$xIrP#pE)1Od(UwR53M7Ez`g>F|FVkBtB*ZvyvHQ)-jXJ zjm*u=ubE#kw=s7zcQJP}zhRzco@1V8USM8gUSnQo-eBHj-eNvt{>1#5*~n~SHZxn9 zZOq@8&zY~7zcb%5-!uPac4l>B^qO=0D*a#@R5E5I`>R)J?% zU|4t-kws!LSZtP%rDPSeN?3N5o8@KsSpimv6=7Ag;;baAp0$zn1?x-J7S=A-Zq`B8 zVb(F$cdXN_^Q;T3i>ynmE3B)mTddoxd#oQ>4_S{`KeL{(Ua{V={$%~l`oQYI?#%AS z?!oTE?#u4S?#~{;9>^ZV9>N~Z9?8yRPh?MG1MF;eE_)_>7U=taG5eDr`c>=#HVgEv zt^&QAo7on23A>bSV>{SRb{V^Z9cD+^F?O6?$4;_S?Dgy~*<09OvA46oVSmd$!al)1 z$^MRgg?*KMoBe?Oko}1LnEey`XLbX-iT#Y-%5GynXG1wK4xH1O)1UJhXERd0%fWMq94hFun#YlGZ6@VU4Wn3j!!_{&P zTnp%1w1jKtI=LRMpBv;>ajUsC+*)ou_Y3YO?so1D?oRGe?n&+$?s@JN?se`>?k(ZU-bmhPUM6o0FN-&UHxcyr3Gi}x z^LYzFFPbPGhKJ?hKu?!c&_^Ym$KWwR50q>kmnY+?c^aOXXXUwg9$qCc$P4k}yc%AD zm*k~*8+f1dHu1Lbw(<7zj`EK2j`L3QF7Ph$F7Yn&uJEq$uJdm5?(&}Up7EM^&Ac|= z3*H;vAH2VKX&#gh=Xc?E<#*%v=J)3h;1A>v;Sb}FnfOi(VU5CjEbL5-kRkPy@fQiAn@F9h2Ky9Ij$ z`vr#u#|0+@-w93$&I>LJt_ZFQZV7%AJQg$xS_G|v-vsXk9fh5Ry@dURLxjVHqlKBE zcdG@$eBmc=Q)`8IAp!KjBoInLA4eLYPG}a|gic{VSSbt%Bf_XKF02tIgu8^hg?ohi zg@=Vlghz$%geQdG2~P>n2+s>I2yY1Q3hxOY2!9g(DtsY)C44LVLx>d(5DgKH5RDRz z7maK8G&D^Fh_XdFqPe1lqGh6d(Q46J5kW)}kwO115>b&zE>eh;A{FSF#3(X}%p!}( zE^><8BCjYaii>JRb)pTT&qZH~wu-(I?GWt|9TuGtoflmeT@_suT^HRH-4WdrJrF$< zJrgyGnnf+5R#BVih3KW|jp(iDFVWwk528+mT?@Mv_9^UJ*uQXK;h@6o!W__t$Lzwn z-~#LX!c~RHLK5ilfm_Hca5HorMPrzbQOac%<-5;rYVrg?9??7XDoLtnjzO=Y=l|e=mGf_^}WohKgb0 z-r~OE&%{H;BgCV{W5nadfOxui2Dm?eu6O~sFF#+rT)axWT8squv}43rF#+7uP80LQ zLa|t^6syI>Vw>0@c8fh?pSVmM5+}q-alJSt{!;w4c&B)mc(-_;_^9}p__+A2_=5Pn z__Fw#_?Gy#_>TC2_@VfzxIx@1ej$D-ekJ}}{6XA70+V!-be43L^p^CI^py;f43mtM zjFF6&Op;8NOatAA&XmlRER-yltd^{kV8OkyWC=sU0(Y)Tz+I#YiB@8j6ie(9mn0@h zNK%sZl8utjC0it0CEFz1B|9X$B;QEBl^m5Elbn*AmRyirmfVrtm;5C8Me?hpLGqjA zrQ{FEJ4ss7K?;|4ly;T&l=hPLk@k}gk&cp%m5!5+mrj;WmF7rur8A{-q;tWYkE^9? zz&(X1aHk+1+yzLJ(!o7xGH_>^Myiv7`@+B-T`s9x>XG`SRnlr{Od6NgNmJ5Y(mm3B z((j~arQb`hO0P+;OK(VTN$*JSOCLy|NE@V0(iUl}^f&1%>1!!m)>+m~)=Sn~)>qbF zHdHni+{ZOuCX`Nl+o*=yNb+21lq z5xi(5xW8l^xC3NnQC`v9qIpHjit>wA7Og5;Q-mtQ6k)+N`*?7DKD~%hR8Yhz;ueX( zHQ?qVYf(i}q^PE7ebMHk?L|9^b{Fj}I$U(T=tR-UqEkiZiq02ZEc(9aO3~G#mZG+z z--_N9{Z;g#2rlm;?SIC3%uskBKl1JsW@|1kN{7d;J`DXbR z`40I``7Zf>`2qP6`5E~+`FZ(8`F;5#d852Z{zCpn{!ae4{DT~#=&0zV=&b0e7^E1j zKq#guW+-MU@)YwFOBKr$D;1ws{;g5q6$Eg_U4a6r;3@bDsiH`sRp`JKTQ-GD;Z{^B zsufX1Oc7Tk6kjO5R_s#jR_s$8R9sYCSKL(GQruSDQT(8Ipm?fyuYf7x%8trT%FfE} z${xzz%8|;^%1O#8%4teKnXQ}+t|Q7QRPI#nQtnaiRUT3vSDsLwRGwB|QeIZxRNhhEQ{GoTQ2wd>sD!9G ztGcMVs`{%2sfMaXs79&AfNLP8fvXp0tMXKfRZCP$Rr%mIc$5kaep@G~h$^azt}0Nm zR9uw^{7ze>lB<*|y~+T79kr-RR8EyoRiO%~BC3RHi)y=ShibQKpX!+Er0SgNg6gvB zw(5@R2i0TMGu7{^*Q)obzf>Pp9n^4jM|Ed)cXdy7KXrfgVD%97Nbq~<81*>yc=cp; zwtBicS3O5PS3O_7RJ~4(R%5|0PGmJhU7%*FS>P8Up}J5lQA^cDYPnje)`QW%6z)tl5`slQflSMOIJRDY{JqCToVu0Eqa ztG=MVq`s`as=lGVslKDWr+%pZN&SoZS9OEBN&Q;=M*WBSo%+4{FZBm?S`E=aHE>O5 zO*c(n%}~uS%@_@Mrl4kmW};@2X0m3AW~yeI2GC?{@-&MyOEt?h%QY)BYc%UL7!6iK z(l9g}jX)#Rh%^$7OjD#$YE+t1jZNdyxHTS)PgAK0YC@W@Ca$T`)N1N9Db0G#2F>T1 zO`0v5t(vbiUu$+~c4~HO_GtENzSSJo9M_!JT+m$BT+`gt{Ghq7`BC#o^H}p#)2L|% zKR!R#yw<$e{H6I@lh$<7_R|j34$_X+W@yJ~$7v^MCu*l@XKM4b^R)}K3$=^1OSLPs zE44^1T8q_^v;|tGmaUa*m0F|Lq%~_TTC28LYty>4L2XzY(N=3~v~}8z+Ap;Gw1>3E zwI{SEwWqabwU@P5v{$uvwGXt9wNJD^X`gBvw5{6Tw9mCKwePeLT?ZXZ2iJAhbvI+vUFp06LeE_({(wzT-|J4o^FnAo^G{nk#4bW zscxArU$;uPMn}+5bW9yj$JfbpMLM}osnh6eI+w0oSD~xcC3JPVq%NgfuiL2mT=#|U zOWh{jX5ALuSGw)Gqq>v2Gr9}9OS;RtE4o{{d%7pOUv-VTR^1ETOWj-DJKf(ph`y7) zo4%L6pMHS;GyNd_5dBd7aDAqJync#)s(zY&hCWw6Q=g}wuV0{FqR-ba*RR&E(#?!`g#`DID z#;e9##yiIQ#)rm7#wW&~jn9nD#uj6n@ul%k zX`E@2X^Lr@2{6qt<(g)j@=S9~%S`#E6{eM@wI+gzXrh?tCWeV=Vww0Rp-F6#nY1Q@ zsn}F%vYT8cx5;lRGX+f{QRLh~Z?V)F_! z(o8V3%sjKeTxb@XWoEfqWmcQ@W~bR_4w!@HkU45jnCs2!&0m_gnRl9ZnfI9Yn-7=| znGc(fn2(yjGoLY^H(xa0GT$-ZHQzJeH~(mEG&h@HnO~dVnEy1tGru?gZT@J6S~^%@ z7PzI8rK_d8rH7@LrMG2>Wte5OCCf6_GTt)Tl5NSc%&^R~1 z`&$QEM_5N%5!SKRiPkCBZ0kJheCq=1BI{!73hPSiIxEJCvy!Y7E7eN3GOT>7&?>en ztOl#eYPObGZC1P0VRc#ER*-&U(sv z+Iq%%)_U3cz4eOquJxW3Qv9>^ne|s|v$e(AW_@XWV|{CVXMJz&QrxGwZ}DfvgNlb2 zk0>5pJg#_r@#Nwu#nXy&if0xtEM8WeU%a9iS&S~m7L$va#q45EF~3++TvRMCRu>zJ zi;Hc=?qW}|zqq0}R9sygFRm?47S|WgE16p|zhptl!jh#W%Su+1ph~bMxDr|ky@XN1 zF5#B&O86y$5?P6|#9C5ZQc_Y{QdUw?Qdtr#36(@kVkLDY8%j2oY%2MxWP8cJk|QO@ zOHP!WDmh|LCl2;|~OFoo*EJ>GiF6~m8R4trDICRmQF66S_+iTD9tUMRhm~ir*vNFg3?8$%Su_Lyi!4_ ztW;U5Ewz<;O9Q2KrS+woN;j8&UHVPwx25Mxzc0O7dZYAK>Fv_Hr9YHDDQzqLt@K6d ztJ2>~-+7xvBeE%vSUuk1VQyX<@H`|JnphwMk} z$Lz=LXYJSQx9#`sPwYS2pV}Mk&Gt6?bNgHSANCLSk9LRy>gep~;^^k+?!Y^SIYu}} zIz~A%9GQ;Ejwz0*4#1J)nB|z`nCF=9SmIdfSms#aSm!`GFb;x)=pZ>14uiw$C~=fJ z><*{H?Wk~s9aWBMN8C~4NI2>oNyjF~X2({?Hpel?amNYAImZRZRmU~Qb;m8oLkG^$ z=xBDlb^Pgg=lI(Jb#`)gbM|)jb$;d?;@s|-=FD^EJ6AYYI#)Z_IZ;lG6YC^8$xe!s z>ZChaPM(wR6gtIDg;VX+ICV~g)8e!`ZBCan?2I_8o%PO5&MnTZ&aa$1ox7d;oQIr8 zoyVLfoZmUmInO&UJFhx#Iv+S2oXyVX&KJ&?&R5PqoYP(Joqst$I6JstuFkF=u3oM_ zuHmkcu1pugHO7_Y8t0nmn&g`1%5lwb&2%kvEq9?@XcxwXb>Un@7sW+)FMri<#zd8Wv+5pr7Pl!yOOSyYrSiu>r2;W*FM()*Fo1e zt|P9au4As_uJ2suTo+xJTvuG%T|c<)yB@oqxPEmty4qa7yWYC~cBNeqH{9LP-P7I6 z-N)V6-OoMPJ;XiCJ<^@w9_OCmp6Qb_XjuJ)6vt})7{g{)7#U> z)88||GsH8}Gs=_UL3qY{rh2A%vOUv1d7e3*d7k;61)fEorJj7xIuF^y@UT5R58osA zC_O5V+2imyJuZ*iMuamE*ua~d4?=#;(-(cSm z-%#Ih-)P@h-#FiRAK=UOP50&c@_ciA3w(=wOMLmh<-S!uln?78`KUgckM3jpI6kgV z;w$ngd}^Q8XY!eS7N6DU^HunQzA9g}FX5~6rF`psU;1|W_WAbv4)_lGj`(i*Zu{=| z?)rZ4J@YmBT6}H3m%iV9Z+-84AAD&a+~3jP+27mW*Wb@S!2g+lq<^$O(?7;P)<4NV z*+0#n>!0PH?_c0w-|Q*$#3=- z`%C<#euv-fFY{OWgZ{8T>W}$r{3-ut|5pDF|4#p2{{jC&|6%_z|0(}j|9Srf|3&|G z|4sib|84(W|3m*{f2;q6|F!>(|E>RTf7;)%tW#O{vc6@*%SM)sD(hA@r3@&WRW`3| zN!ik}Wo7wg%ga`lVasr3_%ce_y0U^YZkeo1S7sw+39Jhs1E>H#Knu_Vj6gwv9pD5C1JZyjAP*=4%78Io z3YY`-fFs}w1Owqfb)Yto2qXjbfsKL9fvthEStz1!ws>D=cD{+=DM%A1w9E1y*UQu(y9vGTXdmz8fS z-&X!r`LVJ?5FYFj>=7Is92OiOoDiHAoEV%OoD$3l&Iry5E(|UWE(@*=(t?a2CnyLC zgVLZPs0kW_uAnzq7Ay}2g27;QFcyplYl4a3`rwA(#^9I1UBNxUy}^CK1Hq%g%fVy8 zQ^C{0Gr@Dg^TFG}yTKoV_ks_C4}*_`&w@9CZ-Xtt=fM}j*TIj$bPy7PhdPEjg}Q`# zhWdmCga(ENg$9R)hK7emhDL|7LYW~%Xk2JQXliI$C_6MGG&3|Sloy&4nirZMS{hmr zS{Xuxa3NBN5~7A^A$Eut5{6_UO~@EBh0Gya$Psdd+#!D`5DJANp{h`IC?2X0Z3t}& zZ3%4)Z4d1T?F#J-n zT0?E2-$KtrFG4Rve}vwJ{tA5vLBh~5JlrwdDcm{SHQX)SBitw4FWf&oFg!RsJUk+d z2#*P8g~x`+ho^?8g@JHRI5#{qJUg5ho)exIUJzasUJ_m!ULIZ%UL9T+Mut&gOqd*| zgy~^Mm=$J+`C(yL6fO)Gh2>#ISR2-b^<#Z8@itIt-Suf9-ysrp*= z_39hdH>>Ye->-gH{iynJ^^@wS)xTDch>nbAM#n_6qGO|zquJ4%=&b1MXkK(qbY66R zba50L#Yc%zQj{EJM~kAGs5xqh7Dr2>wx~Voh&rRbXeb(u)<%=jRP>AJm(fkptz+Kv8A!qF=PxCBg9BCa*P_I#ketHOdKnUsbjjBK4yrSW7b$ntTg6}RmY;SSga;i z8>^3{VjE-IVmo5HV|!xzV+Ug2#J-IkiXDj^iye=hjGd01iJgmGh+T|bj(s1y61x_= z9=jF08~Y)4FZM9@DE1`wW9+Bc)7bOa%h>DKAF)4U?_-_g-Qq*yJ>$LN1L6bY!{a04 zqvMG9*!ZOQ)cCYG5T72;iRZ?%;tS%-;w$2-c+IGq%$l(^<7y_=WY3xjnr~|k)f}xkUURDELe0&Z zTQ&D;?$sO?kRw{~Fd$lB4h znYD=8F}34rr_@fZ&8f|;omo4(c17*t+GVw?YuD7Stwq*iYVoziT1M?xwcBcU)b6a^ zQ@gKrf9-+VZ)*?N9;-cGd$RUa?b+J%wO4Ad)!wMRU3;hYZtah?4{D#(KCOLL+fdt7 z+gkgo_V?O1weM=**M6u?*FqA|M27?{0Z(*HbV+ngbWik1^i1?h^hxwf3``733`-18 zj82SAOiD~id5JlR`H7W@HHozeLV}neC1{C)1Utb^@DqZBC?QTr64Hb$ zQIt?8vf2^Aaxz;y4Urt>svRlZgAa@x}kN$>qgdP)*QXm+rex}rKoovKb- zr>`^D{aW{`?vJ{6b={L4l6{kdl7o}OlOvKNlhcwwa(Xf+IU_kIIWL)?oS$5hT$)^w zT%E)v@kwTqo8%<<$-<;KDM>1lx}-j7PFj-1Nk`I|bSM4Eiew-ePDYZ|$!Ic`j3+lF zze;XP?nv%V?oWQ3Jd!+~Je53`ypX(@yp_D2ypz0}yq|oOe4Koee3ooTHYHnOZR=SU;qGc>RcaQ@y#~QeRqcuXoft>s|Gp`apeU zeY8GapQx{||Dt|N{kHlY^*if#)$gs}SHHjhZ2kHAOZB(wAJ;#vZ>VprZ>#^U{zd)E z`d9UD>i?`y*LO(4Qe9KMQ+-l>Q~go{QUgvZg9i!Bi*}PF1C%saUE$wIQ`J^?B;c6a;_*9e^I`Ug^Jpq3L1iQE6y80n`Ee zAdAvlAPdsJq!*??03U%QP!GU>hscgVC!jO%H}Ki$KBIf5>5$>Tz|r*d*wI;|2ag^y zdidxOqr0TLrUw9@0dv#y)3h`r-390hbOX8rJ%FA-FQ7Nj2j~lQPxs5*4Y>>X12Q7b z${d~^nHFRUGe>65$XqgZ(b!#(>7#Q-!$22A@bpH==a7zRSh`cXTY7YQGo;hlj$!ooK64x7M#ilSNG9z67W*&j(V1Un_Cs{Y?3~HY#Ab>!C7DAr=Vy+{ z%*~vXIr)D`GbsZYEgvfzD;_&~bjIid|JhscJgZN-Z@OQ)e|kXrv-H69p!DGMkpE%l zMn*a_jYyA4XQjuc$EC-oC!{B)C#5H+r=+K*r=@{(c6xd`Cp{ybo1U4Tm7bl>OV9Z) zIV?^uNiR(=OXsJTr&pv`rdOp`r`M#{rq`vBX;d1W#-y=nTpFJyq={)#nw+Mjsh|h> zCBRZ(8ITVw2UY+pfmOh2U=6SqSO*{h6o3XW02aUjcz^&90TMt4C;%0p0d#-?6aY+s z1+W1Qzy){!9}oaSKm-&5Vn6~&0U1yP$N>eQ1XO?;&;VLM2j~FS2ONMCZ~<<>19$-+;0MZpa-aeT0F^)x2mxUr0&D;_0-pn40AB)|fX%=bU@Pzy z@HMav*beLfb^^PA-M}7TFR%~T4;%mv0^b1N0*8RZz!Bgma11yOoB&P&-vOt9)4&lz!Tsn z;Ah|$;3@D7_!VdX8i6LD8E64ofi~bb;5qODcnQ1$eg|FyZ-BQz2o{D#U{$bcSQHk6 z#bGtDT37;B2TQ{0VJX;p*aq0=urFX=!ZyJ+!?wV-{%7CJzgy;R*dEwk*gn{P*a6r< z*f+3mVTWLcVMky`VaH&{VJBcGVW(iHVP{}xVdr4yVHaS1;CM#!C3>chG$LA8k036YhD&K3zpS8tAEz8tU+0btemV# zS#z`2WR1?6mNhWUaj z_zc+%wGNd;twO&d&Z69+K&f5nk6FFh3U+@%$HGGjlvbhr%edY8+-s$d}}eMYDs`P2(M9_GxvCL5Ds^@jv085dWfl#(WiTkv%P) z;^IUV(e=^4V%_n-<2J^l&AE#<#fB7-Ai ze)nlqBfT$&qMECHW;<&C=srOeGE{t|NxJCL#$zn3x5gx;QeP;Epy=5|@Y%hH!62chx^jW|A;DeCCRc7AE;f<0sZRa1;~pw?q<(7IuNz&2q2 zV$>2Ql7FR?)8e!rX{rKa!RM?|Y%cp4`$sN^e_e#2HR&NC*i-LUuJAo zuhq@dZ>6`CbgwuW?Hk9($#E#E7fOk%BZ!FaNh>H_X{TvHdXIwQg3HX`xO0Se`9JeV z2``CGixzfrzb4>CWU<0O&Y%^3U$4P!qz$#9 z-JODik@?7T$iAqH;87?$X#JU4EDV3XaEVkU{Y7d}z%)A34pSHNQ0qsFz}mp4sSe}v zL3cklI8Qi3xTA}x?ri_Via*0p`6eSZu?6`xa@&7n?>oSny26Ilx<}o+t=d-Gs$EvC zwN-KN>_9^H-U$SfkVz5??E{U6K7cNPCm^n&f5%P1{fr0UIrv^ABxNdd z2YV;~5&wzkt+I)#xf-B(W4UH4@q9HRGV>|m68J~7ippVxp`TL)3|$O}u9EEm-Goex zD8}@&&7pk58o?SIs}gS!Pn8~!Z%`jfh}YtDe;AINk6U}el&KiNP|z*taOhdSJ?5V1 zwtBf~Z$@s$i3}0A2LYS30xppVK_^iYEgJhEzy;5x@Mt5wc63*oxrW2_KlCWXCSP4iTru|0Woc0><2dE#20+NA;K}eAK@U{_65Qif3 zv8xDg2``9z(ie;$m~#FS{!cNT;&^dld27)^r9s!-aNT&qM6w8M5qB?Y4>EA<{u~D9XRez& zNRaG#Y;ct1s;r5;n;a`&DetWOOu1aSQVCO;RsGeFglSrWwx?m1vCw$HBCtlMj*2Tx zos&M@-o%-ak(c?W8wFVmc>`?@JB@flyvk!5apn!#Q^9{irof8A!z3ar-hCo_TucjI zl&Za;$n$!z1(_H4o6Tg_XU+qFr{Uy?t%%4-I({FaEww525Bf^_8_sFLa5+~!#^nNl zfcv3M;XKT3%wtReErT5s+b9mCx7)60K@sz@14wH@OF${$2DJS!EMgOK1&V>2PMk>^ zL62cI=gOn@S(W_GasA>rViV;T`Nf1C+7@P)oecRt0z_lR&or(9kBR7SACAy7)+krO zKF1VBq{rpE(ZDGX18gMuduk`zD_Wu?T>7>AXB(Qn)b)q7J5&$;9dZTrnz)R7oBShf zBWt1NxZNT=oO_z@Ei@iEl>wnSw?w zr);6zrMPKCmXy_&Jw9f#c!&6{th;=Ge3r72>V?X#!|EA&s@|x7tlww6Xgp*ubn;jR zz+b==AP5|R%12EiG$f6o_F*05Zeow*Z}Gf#d`H}Hackvo%KNIc#B4K&9iQD6hcFCq z=S$w2Qcw@!yKqz(U&og zfei`8#6g_x;)CKb^682b@sCu!)Rx2vTE5O=h&BCe{?#(o%C_#cXIZxcfWYzK(NG)i zbK)u5Xm%?uDW;#|ur(p|6tp{X8|pX*BmPO@k|_{5(fMGg_Nn;*umIhcx|8RhSlCH^4I{85Tbnv>gTI7?5v|m7)E?Y**b{Po{9EdB%^S^I z{X)n&XbjSfwcz0Ro2g{`-=JRLOOW2siO`48yRZrHU*TQD>Bz0fzarP7nxfmH+oOA+ z6R~>iRcsV4o|s6yKs1s>q-NCCp0~XVsS4UGdN1Y>=4Q5*(}IiO{uSNN^ZQ-<1Pw)) zxQ1ei_^Ibd{M$?C%l?qtm1hzRiIX)L?F(%${a<>RK1NS4UN+9LQd1SSZfRL|r=umH zIp8Zm1i%4~f*gq$j5vh&8Z`{N2VYDk(86isIP3T^0+M8XBHysy+S~SP_{)f5=Obbp zhMn~&8m15_`Rd!cD^7UwO7oxSVZdv^wZLZZ-jSD3_fWfV0K(6t6_lye$8;AXj`NK3 zn_z>Wmk2AqE&fe@L$zGJNV7;cT))`lG7qv`vNm&U1ndBO1`!}0B3hw)2u7d*s+Rga zW|HUe;l9$N`sPle^+ossXjjW0Fm*&<>;lqYwmym=GRUsRM`_1cVAgiFZZ@+W8@oHR z8HRz0qRgT#NV#C=k|xu-Gxj8Ob#Av8YZG}A@>^6Fz`!Vs;AiS?@KDHg$VsFM_Z_|+ zaTFz%(u*2PeNOK}C$XAv`TSm_1{J;(HM1QaX8V(Yz2%mrR$9RJ2qrF_KfRrQl2pnrdUEnPz$EZkC>}Z+)d=0i^IE8W#EHZeg^!@DdoUWXcG&BzoEss7(iI*&u zo|jKiEQpt=daD0W&(m=AM~tsh;w&P|(o}0|Li#e-bVwq67;k7a9jp<<6{}T8WYfaI zhz00Hq+)6jHIi|TZx)yYpNqrASHuokZ}~WRv!ucLKkWod@0>fH$1D#)uR~ja7Qr7Q zfXESigXiliUqWx-U*OTC1kxzdCemT@J<2=k4a{Li5u-EjR`rqu`3{s60zf zP)<%jB(M`VCl+Y-XrodZS~wPm?F&bT%%dO&!bCW!8lq{Q(%Z5N7z>&RiGlL)lSw$* zK0Zc_lP zYaA4JY1AXp6Uid!Ciw{EUgg20bUn&;BYYoXByK6iPE|73vVIrr(|-%PCHf_zr{~Kz z5-OhkQqV)fjen`?mOS3FI%B^SEqEsZOLr%>v)mJ>N`@v}iwqO}2zU<2KwZUcA^t^u zM!U;qC5g0u>H*dlsmC(9GW$jKkGZ3cNL+4g2$%pq2sXf9p}Jsy!>X{Ia6@n`+#1|- zLVMCI>X$Sw55gZV7%qxc{-KIf36rg51rFrp(Kea;Y1YVLwo!~I9y8(%Vjyau zyg$Ds?1puXdno__M1usNv5;)zB-pozOw^aybnH^>8*DF}5x&KZoTGm^BwB}hq&$-1$kgt;kl$YE@VNWT;a@@9&`y93bH-|jk{Kz~m zH4e-|{D6d`9oPbnS@DHnv+=qK<=hbUC2$*SCGQtOfgJ#D2OENjKrBJx(Wy8G1x@S2 zl?tyUJTi8&6j`R*`o;~9TLhVh?G+J=?11k8iUcnK9|kvow1dMC2t))j9rYS*z--2+ z6MrN})5g*_)34Ca3iCKTu8YHq%8iEN@&qFBWGPGvk)Dx7%YT885*eDCn$Pu(4HJxQ zO`loXTDqqR?LRty$;?YX3_1;I4Qqt>96g_qP5z3rT69bDQrS2WYSE-#MK^Pgf;w=k zaakNOpCsBQz9~JyddOd@|BOyxz6Gl!gBerMud^Pg_n;=-S2!stle{b1 zDH{tY#7+fVjF=U^5WkDpMqZ@+O|?z6%Iwh1NqULV6PJ>cbt2kz_DIgq*uilVA_ehF z)k`v70C!<85mQMK6drAta2o%Ra-;GG^K@$)(7TA#NDV!PL5?os|80DZxN2nDyIbOu zZ;J1Ten|WoNP$E`4-=2l4zT6IG-OSH z`a{9cey{{&GFFCLg`Z3m6BiRLlvAuj>{WtgLTg-}_@G=AKUcX}yFtIn7;nKkE;w5; zhsiQPBhkxn$+SGykk}R?Q~aMf2WVX-e?Sd_N10TdTlFl#sr(DK2S*f4kp5+%(H|gP zk?rIP;XuPHAQRV}`8&H2?|Q7~YhhZrUTnOAJxbamI3Yf({@(UHH7oH^(vMj?U~HU` zg64FNnr}R5{L=}fypC-H$OBxB7=WZk9zrbue}>J%cEJmYBFcP<=LHg+q5OVQkSbG^ zp+*~K7;hV6Q@*f|vo8ZKCR15osR@Zp&0R}FG?cNxDM^gbv<31Y3vuJIZD?k(Sk+9I zqzHqMc@6W50_U6gNO|S-D!>I`Ls*qvQ^{{`x7#d6pBY zMa~ylY&Q@v6OaN5hfIlBfEL7b> z*g$7j=xGodx&X0?JeWq~Q$-Ubx2?M%GucV328d}`7;+%3ApRP7uaH5$8wYc3%03ve z0r?#@lXir44|a|L$7ZS0X^ULNG)NYPKF{--j$G&l;sDxW_HOf1AV;w+yBUB;P;v+G zI%;BI{b}P}FEHuSCFs4VFOsKlk0*ALG*@LHQ)KPgy+!9BUnBcOQoBW}i=-8MYNAAOHl#qzTp)Rm`#yl6U zl6O^RBn|?9Pdk_WSV*LmK$>KHi~f_SkgYHR;p_0N~LS`eBOHn1VWNBUvrpW$F&fABuYLFinR96JNACY&L) zpq;1DxJJ&yT7 z3*)zQH1Qjg-)bqel?i`2-`IO{2=Wn$Olvei00m(hvmWpcYko|culoVg7Dhn>Xbb2~ zV-q~DjybBmraff6ZjZAYaLF+TC4j^kB#J->8O_P!wunUvSaGScB>P24O3peUm#~L| zPD%nS1Dpr-0UQE9MrBY`^v#@JF=K>FMPEqn$av}#dYR>@RbcPtbU}{G2Y{SV2kju| zSoCkPcUAq(v+WUCIobHw(TEJr&vLBuCSWMg0Q?)g60#BV1%6e`U*ePM!Kr`SU)x(c z9NEO2dDK`|SIBHgZq!cge(Y4dh42k;a`Z^qOF2*ZIPn|HK-(A?&vlZii`r>?k}}A# z1~NMG0Jbr%tLI_)GzOE?mPh0l@*hbXDizA9$ww?4uq``LY)}reozedYGQy(uOxA8= zGu3hY4BB&d2EYkum&MZW(9ksv7z(Z<4z6mAYX|5I=nwc6Fck0?U=&~sARK@Ic#fw4 zETbOKLEQ#t0%QYn05bry04o5i0qX!q0EYp)0eb;E0cQc10gnJz0B-;-fRVsofG8ja z7y+CJ6auwCGtdc?0vW(4pcTjiCIRihZs1eEE5IYbJm3Z3ao~C2G2l($EnpAO_n=Oo z{-C~~CZI2XuYr9)KY#{;ih)mn?LkdJV?h%^pV8nT5NHx85)=+%gW^C+P$ozNS_4`I z+7CJaS`FF>Is>{4x&?X!x&e9&dIx$1Y5{HtZUpWE?hNh(?g8!t9uEE;{1^C7@F;K? z7y_OKhJlITw-N@J3Fd;8U^O@|+z8fz&0s6o22Kat!E?a#z_Y*$!Hd9)!K=Y5!K=V4 zz-z%^!56?+!SJMe;78!6;8);caAQa-NGHhWknbS!-3m%h7SrK7S0MMhyNVT4rhiZg)77L;WNV1!p-4x!SRFAZVo}73h+PqTBThw}h&UP15^*Nt zMno$_cf^+nKB5nTh?t6qLTqP25F-#`ga)wzk%L%_*oe4{*o0V*SccexIEgrpIEy%k z$V1#hTtwVNTtPfRZ}ivb@6p51f1pRBC!hgnC>n$YqN6=ud*-5v z03lk8HlnTQG_(u37`+L-4!s%uH+m0xD|#RL9Qq!*2%V39gf?RCqg!D*W4dC{m|mEk znD&@Xn6EKCFx@fTFw-y)3;;6~!^Xs5gqUPZB1Vmwg>hq+V3uLFU@VxwF`F^_F^4fH zF()u*Fc&ZnFwZfsFs-mXu-&oku|2UvvA<)-VaH;_umEfX7KX)PiC8jrB36JEVkOwk z+40yJ*d5rN*j(%}>{09)><#QC?0M`3>~-ul>|N|V>_hA`>`UxhY%%sTTniiq zhsL$Swa0bA{eb%sHw-r#HwiZl2f+P|1LMMR5jZ4{faBm|a3Wj+PK}Gl>2X?|6_39-;ES`)XgJNp z{5AY~{8ju({2KgI+!p*^{91e-embEup()`t{tdnX;UzvF{~4hVp#c93--hrxVIpB9 z;d{b&geinkgue&_34;kE2xAE22r&c^0YN|#A_*))EP+R$5TXe<0)_x32nZPjJ0Y2{ zgpfwaB7L>W;{)DacLRHBV& zC!QiE5YvcfiN}eXh)0Pf#J$8*A}+sS&9;=?U?b z=LhXZlBScsAOlHul8K}wEhY&`vq@%>j+8@MOJb22q^+cTr0t}=q#LCDq!Xmqq}`-0 za29Wzx(#baRT=GJ)mb{sKo_vD5hrExxiJV8? zNq$DYLvEqIO1?&3LcBqKLLNwYO@2v!PR=JcpcIk2QNExwp?pjEhBAOMm@WrW~T2pj@Dwqg?g8 zobefjPism2j9Ng6p$(x9r4FWkK?PFBQ72PJQ?XPGl}x2k=~Nt*NR6TYKdFoZ_DC%wMJ?c~HE9x6+TUr;|SG0b#?`XpuKhZ|f zhSEmUhS7efO`u_Ecp8#MqLFDjS`=*|O-5tVj5Gsn9&IK~L;IWdgtmtEkhYq3kG7t6 zlXjVQiFTd#n6`m-gtnJ0*Y6fo8-pSPU3L!Qe9fV8k*;Fp!L27z75E zfnlf^OvWn4GR85+HpULdNyb*j5yoBA0mdc9CdMwte8x{qD`N&Di;>P)!??`2%V@;x z$t+>CWW8fNXWU^lVXkC+#eBr*#C*VL$?U+~!Tg5VkvWdpn#pGlWyUclGKowilggaL z9LD^bXudZIKVXWU-7lnVY9y=$p#B~Eh_#rtoVALzlC_%kH)}I%FY6%dB`rJa6C~#_7%(;(7mX2Tp4aiDToCIguPO2gxyU(m6MI8qPaTXKqXGTFySs zZO(emUd}_#WzHeaUCs&49!@^z9OowIH0M6&G3Q4vm-`d9yXRejIPOT#drVo}0bC(> zI=2^hEO$5;!2On6!u^svjH~7@;yStexqov{a<_1ob9ZxBaZhnibIshj+@0JU?r2_n z-n6KP+_&6f?kL`K?ytNj+(EoU+>yMFyf@q=o`e_2Q}L9ZH-VveFFbDqQ}bk=_nVn` zR^Cn?mA9HVn>Uj;hqr;Zm$!&_g?F0wkavog$9u+m%)7vA5!EUxpVvOBVN~0wVqVXv z9#OHpFQd9e^@{o>YNY4=SKug8R7O;4)bgljQA?uMN3D)p7Ih`+VAQ3kb5Sj#i=w`W z?jB8vhDU3osnNvfY0=@)>}YdzL3Cntdh~+mCDCW2H$-oZJ`ue?`c(9h=&R8Wqwhq& ziY|-?+yYy5ZoH~hAst}!iRzKH1(^JUE7n4e>Qi0K zjLFN6h+%quQ#&dqE=CX|jgiFU#;lGx60<30d(5qv$1#^ASqXM!ez)`HIkZ3LYK9R*(r`UwUK{t}E6OczWMOctO769kb0hJY-f30MM- zAWk3@BngrQu>!q7Cr}I01epT2V6I@cV5eZUV3%O6V2fbAV6$MQ;IQC;;Dq3u;D+F` zpjc2MC=@glJ{9B(o(o1sQ;Y8si;RGRCh!7Hl zL?Ka2NqYqj0D2u<(rV zgz&QPn(&tJj_|(l=cEE*b5S!ZF;+PFn=%j1s6?TtGacPegc+~&AFaR=fa#@&fKA6FFjGOn4p zgSfr8yLg~@fH+Ky7e|P3;z%)E3>8bn@nXH$EuJr)nzKl}OuSmWLA+7CUwm48NBmHH zO?*S#T+&9;P10S`ThdFS6#pvuQ!-NWyJV~+LNZxGkPsydi907sB9_P{T8TrFE^$ii zl7*67$qLCj$sWmW$u>!XWuN4L;3(w57DE z^fzfYX?N*Y(jn6Cr9-74sYKdXI$hdII!!uWDv(m7u~M2eN*XO?OSw|F)G5u8rbx4- znNou^Rce-Eq#4qK(jC%6(xcKf(!J74(tFbOvQDzw(pyrztbweVtfTCO^o_Kutc~oo z^c&fCvi`DOvfpI`WFutLWMgG88Bi7`1IZ9FoQy0Bmr-PFnLw5xv&iPimda+y7RzSJ z7RXl1R>@Y%mdQ5Aw#c^2_Q-b1@?Fw06AYymviMnIZ1Al>*Of8SuU5mZd@;vz^`Azv{d4c@7{F=OpqNU;+MIS{6#jlE9iWZ7iimw$D6ja5Z ziXn?D+VcsD`*OgB3yx0AQh1cv4W{!C}aw$B0+IlE>|ow$1Ai7ox*c8rm!e% ziZq2?VN$phS&Cut!{f)tPm7-(4~PfFgX7`xuy{l~E*>9Gk7vZw;^X4g@k#NXM^fUG z0b_ z%Ero8$_~nI%I?Z9lzo)nD@Q5+R8CP&P(qXlWuy|PBr5637$sjBr4%Z~O1Uy#nW#)s zYLqUeO_`}&s zRiQFk#Z^&MR8_1hL8VpcRZ5jwHA9uInxmSn!l`Vkg{l>*wW_VE^{OqZ?W&!sjjH{s z!>Z$|bE-U5uIjw%it4KBjw)YOpej~1R5wyLQ8!b!RJT#LQ+HASpdO$erv6PGrbem} zYK%HkjZ>4=L^WN_RI}7SsiV~*b(~tEPEn_-7prsBo779x*VH%ESJWreFV!#9`D$Cj zX9)%Bck0XPrU@6-EfUVDha?P6=#nrf;n#$)gg+8M3F8xfP8g8THKALACLuFnQ9@3_ ztOR?)HwmVM+(dOEBXL6Fz(ii6IB`hgfka~B zhQw`&If>^I4<~L)JfCdN5?>~E)pXMg)b!GH)^ySoCWdK98iZz& zX0)bJ(o_vxqtwjNXf;-iUb8^M(WGfyn){k$O_oNaQD`ih{hE!MqnZtxW17>NOPX7n zi<)pu zX?N1zq!mf~lfKa|PCAuzIq6=~!=x)o7m}VNbx3ZS+&sBK@@L5fN$rzcB)3U^m(((O zaPp|+-;@7L?wkBWa*t$uGA=nTd0H|cIW{>WnV!r|MkYg(Ny*IQCfZraImzne<;e$= zw*K9+pOzBqYz^6KP$$$OJGB|k}io_saAt+tJ}IQez*o8-^6Cz9K1yJ$OWzt;BA z{;D0S{X_em_D}6N?HDaYi_~JZL@i6J(kissT7g!sU9075)mn!(Rl7`^p`E2o(azDX z&~DSN)b7&m)}GSlY0qgdY2RrZ=?b+kwRg48wT*SHbuD!rbz^m3>H6yW>jvmX>&EH+ z)D6`Q(@oQTsl)5AI;xJWMjq@2US%-&a3WKU$B{L-Z5$lk_q@N6*$1^%}ie zpQvA;pQ*R%=j!L_Gxf9eyY+|lJN4)F5A-kecl0;)&-9%PSM}HRZ}gY-7xb+S%?v#Z z*YsTs?F?NFy$!z^7CZVG1{g*fzBi0EOfvut0K;TMxB+E|G_VXf1KYqe#2VxVrNL-0 z8Bz^4gWZr}$TSQ$jy8@mPBKn20*oLd+(Rv?x#FRxsq}tr7)$rsfDQ|7eO?>4vG$RA72wDmJw=H!*iMcQAK1cQk)t z?q%+2Zf)*o{>}WS`497W^BD6;^EC5h^8_=%9AQSAiDr_SY|b+0m}i@pnwOjZHlH`& zGG8~}H$O2aTV9%*Sl*fQ&Fw9nEqyF)EMHl=SXx=WvkbKivHW3qYX(|C7O(|k`P?$u zGSU)mL0GUBx`k&ES{B&(7PUogQCXB0y+vm+TNYTBTUJ`uTCQ7eS|$-MSQ=S7Si4&X zS%0xkv4&d_R+5!sWmsdZe5=8#v#PDLtc$J7t&6N{t!u0st=p|TtoyA8t;eiqtXHhp ztQV|>)>qco)~`}atesK^rglzkpNdV5NFAR#IhC9`DK$NHRO-}JP-<4HJ=K=#N{viC znz|wN@6>y#ZEg9f<7_|Ky4$|C^{{Y_+Z9URDrFBgEEUj5uyR@Nc1JZ`1^+_9^HaZQGHZBd7hEF4= zVbhptKcq&b3DQJq^0de_S(+kEl@_0-PEStPr>CXc)1B!V=`+$7q|Z-Zn!Y)GQ~HMV zt?38SU-NdQA5K4%emebB`kC~L>DSV4rC(3)WB=a%ll^D=82dCk&_2~JvZL)-JI0Q) zQ|){^+n!=~+SBb0`y%^%`%3#N`wIIS`#Sr2`v&_F`$7AD`(gWZ-9>vF$7%aJdt*ma zM{`F<$LEgrj<$|2j_!_c9sM1@IR0>qaEx?}b4+kda*T0IcAy=22iZY&&>bfrEJw6M z?9e!54wXaVNOBk)W{1U*9SI$2JhGs+q5jCIC17de+ZS31`@cRP1E_d4%6A9%jN&?2Kl zMyHH!8GSOo%=jwf+l<~B12cZg7?CkDV@$^6jPV(ujHwym3`oYb40whk!jKQ zo;f`el^KzV%Oqw}GRc{YOjaf{b7|&^%*~nGGmmB-&perVD)VyYmCWmzH!^Q$KFNHL z`8e}s=CjN@J5Z$2G&Xz_rG;-F3jV!L`?Q)OFl-!ga%S-F4G-%5}{(JnOmZnd_;m zb5^IU7Fiv$T4y!QYM#|0t7TT>te>)aX7$bbHmgt8FIf|_24zji8krTDh0mg83A5s| z?qog8dYaY3-Q4}a^VN^0?*8t6?&a=p+`Zi6+@0MW+@sy2+#}r++>_iGH`YydgWVuE z(#?14+{y06Zk}7>&UDXlFLbYR?{@ESZ*s49Z*=cI&g6zWVqU>fl&2#=1cFyUOGcadl&XgQT4lIY1<9R4H zhmb?fq2;i1m^q>xevU9FJtr$?M$XTOeGH_99D5O*5#68x(euk0v$b=zy_?|1wS}k~ zRQ((q*tjaFw7$K854d5M25rmGdPfX+Q^nW zdgP(L>l-e6gr>Jio3gf)O@o)8b!gviT%#eD2cKs&JAR;vdghE$@ZfGUba%2)%@aRs zbl&ptLb7JttRG9^o}bMls?)kP>?SWxiTJML3Doc1TbIJQhCWu$CCu|zYG!ZGpVz0k zSGla+Q#ZwNaibKMM!YF>6)rnbVrG@9xjm=k{>F`%%`rLod1o&7or-mw?_UbPx-O$< zUhHjP=WRdSF6k%W+$eEDN_m3t3SP!S(B}=5?ee~9(6^oC*(QwW76`zGSnla`_ZJ8>mA_Kn3{yt4748u>_zUJG@ ziC4Fm2|f(kGkE*=vzE#-x*@C9wHY3aiv7rTexAQ`>6_2FpLr z9z(vNv_+O%y?sq)b=aqZ06f2DB*~qmeb0Yl`L*uSUe6fsp@sUPUs_mqZvPi3UKu}F zxm53YQ)23eTJ6_~L3#8_TJ4+yVI0pnSm4_xucF@^r*C`xYws%jP=6kG>TK&li?oVG z^_8AiAsgrE7g&B>_^hom($Cw)A=1k8{>FSky?7O*)Ww2I+{vCOF8y3dmAOcD^1^$% z`v1r0b5e;PDRG@oPp}+;wP6+oZu4$|dGKQD)dSvKs+aS8bla3O#wPSDh4PUesV=$x z5Vl_p>&B1kW6#y>QtIuV-)5?f%hp;kYU2=G`$nG#3XaA<)@sj45;($q?DdcN&q0NC z(&ku|*~42;X)T;M#opMfU6r*%x)0^8etbP9f3x47MyIVU=drDvYQA%h&lvi^)&I4~ z;vZfgs5GdVJ22<%nY;Yj7?{F;%cAmJ?Z5S(haPi*>aqU*bb9U$iI+c}e!*~_=bRAG zr=%d~uwdl)$JtrSDECk054x)?)B9`rpATE5qh|e^RzN>0w-H0Iau1F5J8H=1yZy`+ zB_(?@pM1pbJv3VX`&{nTGD^d$?FERbZ|X32?Dg^ewTi5|-v?fsANE$$a&8U%UCQlX zIe&gW)}!s!iXB=_k`7g9R})rA$t^GY(Zz?nEP3Z1>$x9VGxcFF{6LsTg1~v4f2e#_ zbF^0MeIESsKF zit#$%7catNP3iAe`$B83t@HB0cCT_J70mBkdNv6Ee&CVk`K8Mb!W++A2Dw)|66g|5sJWs?mw z!_;cy9BTK*y_z}2W9c)`Z?bzs- zCRnkLMhN|E!~BY#_w;1F`FhJF_#HuKJ+GdbpS?JHOtn><*dX!J!JAX)%C`erb}L|u zw{(S<-^OL%$&~4%%XGdMkotbWmXeYOK5bjPczetAUk3Qi1}4+Hs1luYLUgs9Kh;ok!g7$HRFAJ>#K78rheo(Tm3Y7nR&UmZj^uf(eqh(PwoqOj~>hlt0fcFP5ZmG zo?R4K0cBRuYZzbbdfB-%sI!N=9^TA?Sf9LAHyi7QeJ9|VLT-?I4FB>*hqT}P%b4l2 zs`HQY9{R%c#%~^&=d^~*glzrZasYlyqRR8?E{1nkwSnDwpC z35lNXrSJ6c+TrEFeCvhc#kG#HiPn;mm439i@6)Fz(g?*zym~5-y^m5~SoeCKu!*!4 zlwm)qL;U6j!M{}QL?_h-uh&xuw}X!Ku{n!!&Zj+2U0zt=@y$EaYmb-yxevMG8KqZg z>#~*>0G#8@MK$RDuDsXt%da(Q%5a=YpXyvx*5k5Tym;Ts>gDb|p55#->q^r?$C85e zg&V4j@sVdph0MUD|Y+Sxg-RfXl7X@|3 zM=GCh_g3u4-^*I-SfBdD%gU-6_^;0^#yb!;VfqrEG2$QBAM~MhO#sWhvENkaHN`Qx zATE7#MO1iW)unvK3imu45BA&ZZ_V2ao|j2D=Cg7g=he^fiqT98QkS_EHhj?YQAGrN zfcU?%f|xgp14NoPM{v2O5oPO!xcm=o3u;)gfr7N|1FuhaomQc5a5CPchPk{kkNC;# z-t8qNqrLE#*5DIgs`oWQ^66Un`=k5c0NZJhWsdRk-M?+q*ndD5aoNuEoKK&RbIlKO zM1SxQH~B;9(_LSL&>Q0N9S63StZ=a6DV0*YpgDE7?raSbt`!{f8J*99+6R@CT=(j& z8|AZL-8K8P6tO-tPO!3Wms|GtNA~sjfb z{(bwWX{VO=)5C&)N*hLyW3j3}3qDyyo&Mx!!XIpj$wvmUQu}~izw4}OtH_%9Jo4%J zg&~d41t00zF`m0~yIj{kl1t6@|94seu4Co9J6yeT{C~%ie_E5rLF^DqN&r5Y9vG5* z0&?vwTjy1`7~~_Zdb>YJj8}G;?^X7PTQh8yyXN*!*NVu;R@sLkgI@Crs!-Nf%dI{+ zt-f69LN_Y}c{8ep6>UjLv`u7t;eFWmSz^RYaPjuegUgc66d^HR6Dj+1k+!^KV6U(lL^fDX84<6MItR@}n)5fpR^gXqtN8GH$}-ZhGN?RW7nz#^aAf?0mMsXXm#Sk1{l{2^I7I(GXaFq3~i2 zy}vzZ3AYRH1ij|2yC3oj&lS!qIuf)to~M5NJfU+htEA*+;qo+5{-HW>3Z(6|0Q>03 zkBDf`Z?aV3y3GbI2&6%<@C~-J#eavu;`j2-)xc?!?YwQapJ#QB2kjGXopM*O9{Asg z7gfho+6O^+mRAL*u!h_aW{{SjD9<#$DL?tYZaY&0#i#EDq@PjmD|KEC(d&!puNGD| zALBlXhd;jmMc8wP(33BN|Gf1%TMeGB67xZo+~;|2wqmZU#Cl(ftrDqK+drnhru><~ zM`ibLPkh38?Y)*0ih$bZA5R3999&Coy>i8xI>ttIU9Qz5b6@eIc^cI0_R#j)anydf<4d zprQieWr?@USWxai z^()0@Z_7EDy}@;=7LELK-%w+o@lR77`mEM*EDh1T_FndhY^Y<7eXIFg8p0wjl7`UF z=WDg(gZ23)qTi>1=hkbipUXbw*ksvUw6|zdl?=PKO8tZU|HgHPdqe8H)Tsg2XCJTS zJTHH)tD`T%g6>WKdgf(g({RosX;V_8if935ore{_S@D5Ko|ncSV1chBzflwz-@9c} z+K&7;Sz80f|M`&h%egWcifZ%TyNbDFY@ODd-d0pEKgi#ef70p@$`X@zw0V5eIir06rL-O_0wK(e{`XSU8>_4L;A&kYTW2| z{g3j4y|_-}rDl827hNv**GWHqo8Ys$I8$`7=u!n%aoI{>rq8*1&9X{cmzJFZ=hd=m zuANU+3{JMJh*01SeOt|+Ppd(^@vE0#RvW$5ao$7lb@W0h6~qawqdtM82ZD3`K1Rl2cG_}D*|%!#XjM;SAB7+*6ur41uLyDs`#iXR^93c z{q*EYFB={PJ$eGkWtI0JI3#QCN-5FKCspF~h1VYcu63iA6_r$>EKMt5`te?UB)lym z)G^NQ1Q|b%Y~w=g_v-dtE7RpwLG_lZ5JrWS#In2gn_LTg=BBFnf$Q*)&pm-Ub~W#Rr<|dVE<5jdwsAcuTDLWf^!Cm-9A#R`Km1 z&chTw*=mlP?s#b0;@A7{rK8ebXU)$)S7F0@Xz71Uez=|Jr9(-{#x&rJymH?j^r6^P zCIRQJq%J8rTEo2wN*VsN9B=$Q3#!^#q<8y&y}Y&7ar$4kAe8!X3Jz2oqoL&gzlqmQ z_gkNF78=_MYsnTdX|VzG!rwkwBsBW`-{dki#80*R^CDc&FkB2;j?iZf<&WQg1$M+U z$I$g}LwpA%l-6CTGM9f0@3rM)?x@eq>W^bV*=nJnM!X|6&PKQV>>1wIZ`~n-g*`KtZqWDTP4S%#dH7DV{}R#&iWpf`TJ_&(zMgXO9IX}mA2Qv z6j`yKsXvdYhSIW)P1(esn_h+%c*acU9XvM)r;HqvhlIYPmg%s zp5+(nZC~BX;u>~nHF1-AtyUEkJZ=|H_{6Km_4UlaQMH_J)MRV0Z3}|f?X0Ln-V9c5 zsPJ-w%FP>`VF6Ax{Ohr`N=}Zb6Se1l#y>U>UJ2pzKmL6YD(LMx=9aPcaVB8aORuqc zH)swQKS99`s|%<1(6w_x^4!66g3gc6K0%~EO(O@<+xI`hGlcSW zDA|Roko3G>mTb+bpN|7m?XTCUWLMY`m~(wvVuD(+FR$kcL|~5oM0(e5E8fJcMfS9y ztb(M&f>@)~u1{StPSv_ot1HKv@i)20rWe;TqtwjdL+kT8jNE5+!2Q6#q~!jL6YiCt z{Cw|i9ao)|`u*Q45!2?lmew-fYWB)fpV_l!T<_LnbzZ-DQ$O}v-+IHVme&LvjS&u! z{!P8+mJc%4ew5!na0&j(nX%3k?g;x=vRd$3dft;bV{3VK$p0w+29kNDXmho>xVTzA zx?m{&L%A*VBH_C3BCfAFUPd=-&At?zgJr0nLTjjE9Pk-i_n(Aw%qr}#uS59TqgBUm7Htd>l`xAKkO~u^nEh})DP>Zd&TH5__o?ci|f~vMIXHs>vgsKxY=`m=5!6`JlKj;bnBRfr|U+W4rHN=ToYvo`01ZBbE}bApxT zjLcsc(h)H_1lE_7oUG`@O3g!2Dk@xDw8c8jyx$HtFDu~rj5v8vKChn^PivUvd1*_E zK5#u~KT}7f7D_UAsGb65Wj49H*(=yjYumC?QUwynjfjPw3)>imAFjn1L4tZwu zE%lC#Gaos!$2#}eH~YNNv+fqupJKMpc$}I#B_!D{7=7l1EXtqFD9AqHV@ELZD{~)LiCdMgMEw ztl75lb&j`r6>&blqEu3{$g5nl#9&%aX1~XZD!&FpQy-iqS&%y0UmrQa(=4mV1i{n% zH!(pe@=qA^D?%D?fjzj+v-;mM<4ToXcwqecv@H6>Q65;QE#=X+tc6{JV9FLelTOU4<~P~pSnELkXvVu2G(hs4)1qOw6EG7*T6h{TM+g1 zsxO!KwZ-X+KH)g`C$VPOuB_d4%nfHg*)z9GJoh<*``oTWk3{Q_hcLQ=)6XB)=?s6+ zs<4+KT&vCgqCj?+Z9=%|G%y0q#!k!lFSa#3i!GCaSh|-gFns&9I4z|^$7Dj13jrG z^<_242kCXazWOLmJJXq->~qv{t5(bEs@MO=|9B6`vPb*ORu=+BW>s0EE7tzEvsMH> z<5%V4TfZN)bYHrUt33)RH9ug>$4M+HAsPUF$MMJUJ&;B9%e5e@@S`m$u7Ly8uT)=K zZq-2Vi&Q1H0XbA^{3%L=AiNu_+-0>|S`()eA=D(0 zoLNC@_}o1))dPGIWyrq|Z4B(9cs;n0k1))aDH}(6KD&^83CFOGF4y=u1lA#W6L=_3eu%uBQQW z%T&Ml{yqJ{! z(!bm>o)vv~nO7;E9UI#?r7UJZZb%J2de3QjdZc5rZKC6)&l6E`H9lo{w0y+j3#)1a zD36)&YAuzR7p(;Q!&HpzvZ>e(EV^97`O^w#n2%PKJnC24;*dLD)o58&zDr!^^LN(r zJV8~OK=qYglBE?Rpx7q$^qt77%^&^N{INxQEpsdjEDJr@3oEE8K|GsrHC*qK)oVwp=a&6$1`hSg5rR4;OtyGrhG({YP`~mS82U| zpV@x0*s3zl%hG4p5U({!V^lk(npGCD@ER?Jl}R1#@$}O4(|)r~sZ5EZuxO&G$Truq z#HasC+m`qlHOnk>y(|n5%4atm*S$DV%gzNRR_MOILbr$2GT2g&PB*-0OSSs{A8!u; z%XULID)wE|4fp@o_zMv9PS4vTmE|4AM<2WzTv?>f3F&N6DdAQ6%TL~Ot8*&l z)m&QcHOl$Lk{Ysk&3vl2F7e`Awe>|h!abqJ)d|0B=Gaq_Gv0F;Q;|)oa;&+2*ixL1 ztisEef>JFf`L+jJJLEXxlV6eUSA|7oo{kL?f39NQ_Qm(E(frbS zWBmVeZ61iyzX<6{pf-86wS#J$b84ghlUvQY)vzXQ5A~;HJ2%=|R5Niv6+8i#E%?p7B{by^6f^f>MtcJhUKDoy8!TQ-Et|liipLO;*L1E7e z3M;Ujf4fBxU`Buhm9fTqc4iAb9#~XHbyppGC!t*y%`#P89xt5f?&Gok6jaO|!S-W>@u~%y){GDIu`}S8p zZACt{N)Dg8bZ+mveKpB=vG3)+SNmS?d$aHDzWjX!`wI6J?JM3FmODCkOzzm+ak=Aj zC*)4dos>H{cS`Qm-2cbjcYrmKeet43x2RZGad+KaSJBg1utL-g}`X?`ATY%uFT$boc+>_u?n_-gD3SopR4@lMqa}rd%_w zIoE>ANalN@dTwksq*Pk1}4de!K zgSjExP;MAEoEyQ7Fob{AGZ{Td? zY~pO@Y~gI>Y~yU_?BFzVIyydgJnVSYakJxb$D5AZ9nU*HblmHB+3~64LC2Ghw;gvn zo^`zMXzzH`@w($y$BT}S9rrt)cD(Dj+tJz4)zQ<@-SLof8TIfAD6ev_aoa$79sIw+ zy@~dSVtR|vzRkTuXoGKn1MPN%b`Si#5B@(uS|WKq{~@mZ2-F|r+5)a8X!|KBpK+gq zpDzd;FS)M>?blfA4Y!qZhjW+HP8mC~1^-3u5$7@I3Fj&28Rt3Y1?MH_73VeQ4d*TA z9p^pg1Lq^>6X!FhgVV|B;&gL*I6RIPtPShHy09Ls4;#RSun|m$8L%;I0-M5SusLi2 zGhs{E3buxAU|ZM@wuc>HN7xB=hFxG+*bR1vJz!7R3-*S6U|-k|_J;%DKsX2vhC|>` zI1CPlBj89l3XXjl z@LG5sydK^FZ-h6&o8c|+R(Kn{9o_*q!aLzz@NRey+yw81_rcBZe)s@<5IzLAz=z=@ z@KN{}%ziJgm?SM zT(`j|JH;=5yN+1nB9s3Hg~gvJyc6QKVRw)lgp>63UOr`uw+ei2 z8@t)9mvY}G@{3wet3xsUBHDjjatU5a)Abm{@F^~i#-t}<;ZmMMy+CAcf_v#pOuDh| zf)pRGQ)VLBrt7607?!9n5!K&C>gmSDLBuIpb_1D%s2mTJ50Sb7I&Lq~G8MhY`D6FF zC*VHl->2yD`8|0Da;~w7x}PCYxWW#UiQx>Mi)@qNa0UK`lb(0HBW2oI)KXvU*7igq zzR#;R6c{11PGFmUulKPqV2yLXpVZwVjKV84*2HMYYCWNxt@|+4TOhyopsl^-K4>mn zMsI`rfX#e<8#aIS!D^AxWnbjY1HboBVOmY4*{K8u(vL710gnT^l6@%JgU}m#cA=W6 z5cvGgVmlzQ8XLPNz`YfbJlaDoA*3!x>=oAE7IlE9ZEpzcn|`?!@+2Z2*x%B{B#h}M zTn+>yT7t0Am8DZ!-(kw=2)L7~q{)04-5raQNZwfH&LQH$m-{iBcK7ost#Q9|TBx@X z_r&2C7!N-Gb)7c_Rsdm?{3tktcuyrV>J^~)OXU|zec8`v{f_UK>5-Ju!B!;6zP?j@ zCC0cF%k`UxZ1^bxg!&oD{VK<0c$+SA=7 z-Vun-J3?3y!KZ`?J9#w7@&mXPgNv+Wdy$`HZIbQyet0D*Ev7V~JAr`Wh|JGMLZ%oI zY!=IDCeZ`izOSo4JB4Daj&qpvZM`Xm#CN7E4GMJP_8CK=op4~ z6dU7su;=f@-USfK9_|k6mlnLnzSTDn?2<0?7@MEcc{cSCOF9A_M5CpbwJi+f_Erf^ zsimC~IWN$YK#C~%YvmHMFR?L@v@A*D`|27cyG|h~qjY;gy(=&p(0d zJ(cIuv$MnlwevH&0$C!v@MG)*kC*=M>#I;J{(DUV4Ys7!{C}fWtmQHojYH^eaSMz1 zdEEZ7O6F>?0v)^Sc~5h zwFTi`ajMn__@js9O=#tE+?wY_-~)FlY&?n9SQS4(Vz#rENKdE;MDD6C7~Lx`pe&qC z1b?kq2nIdlYM&PSBiQ*aE+Bj55+BnCIj*CRP`9$7s-%1>e(uYr^c$nksFTs(#J z1(dd8JYXJydN+ctAIV&+5=V%!%iE@Oy& z;eL(fXJ5Gc!*h*fha+JG$Vk^Q?weRm#Iu$}36WxRSN7)YO|Z_Y6aN4r)jG=#L2P>&o|-Zdo{cP=6jttU=Aa z!Ul(Zsf$Ni#t2w zvHq)iDmBL$FIaU*CKDkdeCAr!kR^+CRN;3nWhD)w0iNy|e^!@)Xo zmf|cY;@v@rf)%#k^ZBmG*g7L8*E=9<60yBaB+HXISN9jY@2-q?EfsoQf|Yq>XR zmo_Orp5KhwvI^veH6|g_Cn%FKstvHOfg)0g7>9s=GiCu7@#H?1|3`qf%V5npfbRFP z1UZ4M_!VAijGX08ATfA_V!)Vo>%0zJlSm#s_9C_ zHk8^U3r|{~y-c**bq;wt2*+t`Ohrh0adCbI>SrW4M4bQI@-WV>{%bytJ4N5Xa<2b4 zLJ1d{(WOS!r^q!b&K=7V`hCKs!V%E6gO%AN?>ZK_d)3l7d#9Vo@Y$52FR{*!g4(;D zzHq$!LO*WF$mLEMt8iazlFeg@+gW9E3VZJoEcMIYN%>CB#(tvqMYDkC2|;^brKtH% zV7F}Qei8N7SI&XN>$*g1$?w4Ze{?yh<&BziamBR~iA6r9!6T;R8{u-(#vgk;#S z`{q?_AD5ej{(oE$1_gl?4-S$BDo}5cK3R#~vVMH8zwbi*-4zh;-*V=~( z8Ai0uxtIN7AG+GDmpa#oc;eOv8Dk*ka{r>}>KEB#XI2rG7XgVb(J$oNMY*P*`4?6r zksW<0gUUjIwdUBfa*>PyGExso=Vno_sJsHsRWV2wUqt5gzM=$NPKOiXAd=~O8DG{4 z>|)e}AyxzuY;lvYxbL`lPHl;-Tg4Xi?**%@Iib&t(86N~>o#bAD`6FvaYQ~Kfc#_zUbLVcUdk|g+_#GekMjn3$W!JsJEkSNn8OX6|6>kG2i+8!-xlA1V5=I1=P=I{=qpx$Zhew zOkHQ#(vf8KtgF3%;Il zvUM`}h;r)*oY$~O2)S%~h}^PTYuU1TiG2~hMqoK&*FA}o<7(U~WCM7QDY8%JwWFkS z@8)7ZDI?ub93Z8K=mAyBpAbtbjxV7xNn;|w2&1quf`Vp=$vR5BA9n=ZUv2`P1{qJu zkD`2*U}v+!@bI44)a^w)KZbBRp<|oUxwg~4$`G+CmBKbYe;*pJT_DREa2zW@ePw53 z^=ceVpzk)S{W_AB>p-uyggqMwGKr+@xC8jj*(r#(cX6^?2~v39i1k+XBV7J%>s*b) zAaZt+&J5f8sDX&m2&9e@vMP*CHiu(UB}wf+#UIJ*2bjMp zY%#{V`lFaPFft45Fg^j-daPG0BdFOExQKn=6I5VqJ+Se8gLttU#EFZ}$a4hL^MsZF zYj52}2^v|4sC`W;=XKC?2R$`@0%x?&u1BoI`Wp!UP4M#x&WGcuWg=8z+1~jK;kif9 z!9~~hwqgg?2i&RDk@cvvfh|UON{|xMscJ7eH(^iP1^o_PuR33WQ_pksRC)p}g|Z=F z9eIwk9*?MpoJQLLe@w4?6<+QT7#~|Sm+|zz)Dzfnm4NSkKRg!jFQ@nf&}S6mHOmmO z<`d@m1vdCpG@?f!`-asaLz^QwBfZ5U^bV^DB&lC6#mt;L$P9f?!F`cUmP(NF4E+OZ z4QbC7O76uyyR^sR{1K*NgA}qWkQ~8F^7)@A z_yingz^WU#J-BVz=h{HFSa!FRIPm!f6j}_Va*Gj(HA4c55qciIg{`GlIUhlWv{j3w zQn7pyQKXkWtoyjzlr9#3qQnz`Xo=3w54EpR{6{#+{W-6sXx+^wVu@R4fy6WRy1X;B zcfl-pK$7Q@+5$OqLL|gU&nS4U0k2J0LlwBwgNVCJWLTTj#3+>mEyq z6v(!m!$qD1d)%>+BI3Cgw}7!chUCKv${7<3c92xklMZX#db^*XhlnoOI);*EQ! z#hj6-jtHDCaj&@M4Az6!6>o9*BIt|mY5{rc!ny@|U6B>z1mVP}!xJOmYyM!ZNa{tS zklziUx+BPV`G33KS}hy#LLb*u6N-}?*d=j!e*}9PxJ#AAX6jcFx-EU8y7*I86cV53%|7fnX!p$uKJg2t7z| z17Zae$>Jxa&K0joG6GKG%LKz0(u2_Tn#d(;#baw}J4wzQ__h;^K?I`L2RVT{AzoXM z#;+NR>^p>4tHc!Lhy-zX)g#gc^LDh<|=yR92#^$8F4GYus%CFGF4T0P990mJ5dnbJz&1r^j%Sg3 z*F`Bk0o^u`Jm#0xuXi11lO^>eC<2Zbq&Z8LqG~@Oj2xch zCdos5AHM!J&l`;OTQJ{E`<0Voj7J1bZ|nVK`eDx&NUjR^A5 zOYdQQYZ1x&SX*o`uC+JOJ1pBpM#uGjBP%erRDQ9DF}jeG_WIQ*>TF zNBp};@KPxE42O9K@si1=LZqho5bS<~!xHn`cMIyi1Wxcwn{;Lp^GntqqtQP_I7LbF zQBh8_yMgq5^z0zyh+$K4_D*|)+R+ULc#qk28ja8qgyKWF?t)M8 z6Y?O5(8A;PuO5i=no80N@ve)o-%#=Ojn;$u>`bq)B#}2&}zB z@HwbonI(xHg!AkMg6vN^g^OfDaGWCAmy{8N4DlA9!O>g&*(#5!2LvCbYjLXIh^^OJ z*y*3l{|0vo6!w|Qm^GiBNpp0i$rpvh&Ss|nO1a#h^EAdmf?8>+LwTn zOvcqk`b4Egji8oL5|8A_O&Q1{3CS`B_#BJ*E$EMynQ?J>s}PGC2zDL8?gT;&3H1pC zOp)GhFn447WM^x?X1NF-eESqzT<>e`JtDK0QZkX!4*{}1A?vn+sKxZjGl4AmWdK&b z&4h@OIly-(QS>u$t58y2vQ%3o(Jmv_Z$!u1i4A^hOy;;tBJ`b-Op42P3QvS+Ex0Fo zjld?V*G8$*RNVcenGnVl+(}9IZ!+2@sWCf(o;MoMF=6!K{ILu1Y(<_iu)?%%Wj{uf zY?t(Q4=%zxfxaW%+ok#-9Yx%;s$W(vr_{y4*(65B*PKueQ<-}*UP7{dktd?X1GEhk zmaOTMFZyf|j<~c%?K_C(<{?l%M4l0^%+@8?{EkAe5NAVo11bB&_@Ww&X3=@h>3*({ z$56{eNL1xXDLgxX%_pSvQQ-(^$GbOzXmYyzfcL2~c4KMsz0q4G?0Hwyn~b3UEF!m0 z$`h~)Nbf}n?7kp_6+G_>PVzc7(q35Rk#R0zJmel?yA8#SKu*XvLCYKWjA;v+w{LN~ z0bc$ps^vC{a)G4vF3xI^TrBnuhmhha!E+8p*+!Z*4%mG|gaw|tqh}&9#R^9;Md}A@ z#J$2=B;qZZDr{SH9Uyr@&4;I6r^v%Mwa+9x1D~A(J60-5`wqlUOAO<26(0KrDPH(K zVZB4bKQWJml#vs2NUJ@nc!$~l7OkB?Y>dHWh%{;0^as60*a3~fPErn-_K1*Ov6_e? zE>n8hUB#S&n&GmKn5V>^{hkv9=g5Uc+%@tRADW z`P@gF?$xX#L_$wOP7AqL>>))`sF_jSM2HoSBpoQ>0p8-?>P@K5RGIJNfKN`z$cJRy ze5TU(2$6k--r*Ry6;U6=WfgX(y2CT-G3|Yx zWD>>%d;%PshX)XyD`m#@8k+rLJYmfYK|O>Zyr#UhHkRm-G>b9TutoL5nBTk5yR)bV zUs@87S`Zn7UZQc1bRx&&onYfzRP{6Hym()86tfV|r%kX3yeC0gN%6dbx?Rt!?prlP zs!mTZ#Xch9=>So+m$HWod0Z=!c&)f69WQ0%u0Uc1STh|7c7MQ0yefH$M%0Ng4@LHX z_uGLyhcX)A6Qu|p#`S)}VGA&hzI&Nl%4Dl9J_F zwvcuf#4HkM+FWxEiQaW7H^ckbIxUF>e!mo~46zdSQgMR(!e*MF|03#BJWl#vFKa0^ zu9zB&M1ezE%`RclJBQ4tU3FrKzSUqP20AiUav@F>NwbjJ%@&ru|6G-O1+lfO_$p>| z?^0wAbFczk`wDq7o}e8hu{)ne*QR%!n{gvZB`cDoc<0jwoLGzpQKLUIOuC;OsWV>L+o#z%9gs+ay0EExVJ~fjiYn_VhWqJpWCw|E3b=GQPLB`VL$MY@ry%yO?hmWS%-&Br>u$&4PY^MB{EGm+oPj`XWi> zIn?Nl^>#*-G$Uzw|P0oJCxmZavC1MbQ7G7adO}`Yi}K zaf+Z{q>)&zsTH?d`@k>e2H*IF@t-G+PQ_7XA-kAkls1BmA_RD2J0{RVE$ID^>m zQbIGeB-o#DdY+d(qc|H%lf=_^fgR~c&jzVui038OU&_$=zR!M;Q3dTgz&AhS$;C$$ z=MxF9lk)6+7R%7{$eH0YPU;%))DU34#?A|Odpbb>JzN|Gx;p{Q3tc@{_j+mxM{Z-! zz->9aJglOfgeAZuzutmacUJ|odJtY$^ftGjl!5nAq=(o&{6Wt{3G_!26tXt(DHn8| z-Xn2ud{S=E&(p1!lsst$*1zcaM6f2j;$zu5+ZBnI~90#W;6RuTFrK-wvrWF`dtV zHFTUcBB|KgEflA;Q@HsI{$d~E(;FlQyDoirILuf?l@< z^F<_c0`rI0a|5^AY4c7MwNu1LD5uAB!#zd3fQ+FbVZ9dN6HB9Bcx^1dmz~k{zi>NcWYPH6nhHWmp~ue9<|rQOax*YY^4w^(H`r zj}-5B_8CWrXAhzgQ)$KX0hkV0WJJ37{M{9MNQiq0?R|t+Gg~bAr8Nc;KUj)?(ookS znZ21{jez$un$vf|Y`G|r&$o~{V1fzSIP zxLwQQNGJ)Q9fQ(b2)e;{?2>o|IC>?krL2t?fE9ZHLIQ4;;`1YVIk&lDOAVjI<`=1JA%6nMZX3jbQIVYOBx*^Z#-dr+<~*`LPaCmx=4yr6RJmuAov+U zfqkiBk4Rq1XKwf6w286EHRn13WuHu5JuLQDNVbyEMD42;%@`t&EuwyHxgW!%Lb{3V zRd*4esCe2cZr2_JC<=U+xM|u4KCOWJTlMTF4Hebq>I@7>1m%W6`)+Du=Wm?moG7_qhQx~ zj9YtOVLg(zh$x{FEAUk*`>8rF6QM5x5_4Qj_bP`30lWm!Q(0P6$aQvhfN_4jZTqDA7?XH;5Dp|0Jp!_zN!;9Ey9pAKU+e1HGycR`Gw zU~#?=eAvjkF2j>{j2ExxXz4wa{)pGb#`lQp4iaMz&M{z*eOzjboFBmF?+VxUc@Bzk zWz`;_R`pbLRXhgugV@R9YR)H0Ph_D9`}_+y5^;YjGbaOZvxJD>26pLph#irj2A*8- zj^p-l5wA932L`|OiMBrg$t&180e%Y~wd?a2dA1gu0=iMjTVSjX_K5TgOP&nWb22gp z+@cV>&X($t{2=1@z2${u(hjM)at4he9V>uw|?OSQmPdQT@e^ixp z9flw(+bHISbP0Tq1x|~YZk|ua#hRIKiE(YOT7}Cn6O`*STPzE{b0^=l@>(5G^^R2)xfqy+<<6EM-Es1Ilq+EN^5{UCqh~r&z4IN_-Cw z71u%n5&Q-XLi3a&V@V-FrBg`rmx3aa@W^*yi|SP64(w?JRj(|X3){CB-O{AD%gD@7 zfa%S)LSnE7w~t%*D=I?G;Zp7MV1svwrS=A4tAG~Z6Ted$K*39~=4{o%bqF&?oX;>$7pjeuh}){=(3TIQ*1E1JQ3 zq~e5Q@}amrQJ^i1)W%y7F10U$)DuZ+<52|lC{}bY9At_9w__wUH0STfMdSdepTpwN zgJ#f`oVG9CYrr=W5a#+5c7Lp1i=H|kp`QghjI$MwbCi%|Vj z+A9tFWd3bjJWo^FP9=K=;q=Em3BYP1?x4zZfG1dj4xSt5U+S|SAzBCl-II75o-pV^T-+SYg?B7Ys;F~hNa;b~Jyx7cojAgb6*N0*ZMSXoQBM}|W6n<@E z9YP~?8`$ZKXp08iv8YvXpiDsOZHR4mWO~ErJCokOeF&u75WQZMp7`OY_awX*dzg&a zkW!h7+9mFhtaar&QFtomTS3BDNotEZ1+~>OdxgAfF`ffbJ`?Ccc|KW>$q8_{Uy!Q; zxeWvq0Y&gS$`h8tpNA_RgOS@SMMGSVfa@hXwg)L~C7_XV9N$N-Z=|$N$Q6W)elRWv z$kM|076gM)8Ot)lo)Qu{U!u=sh}6EeHlsFn^^)CUytCMuz!H~hTQOhbSlT2@w_$x^ z6gr7V)MJXfod{|7Yj>g=pLAJQgTF6V=`VGZ7ywlVL1s$97wPG(H0aZAK}2b!@DqG~ zBHsqdu~vy2Z+t&;$x4bpVU%>QUPjZFQcB=WEH-yIY@&C>)<)bo*-J$u%HUf@6}u^; zCF1b`iejz{Rq=!uT`sWLyrx0r75xkAzyH6d{pAxM_p*!zp(z7BxlD`9^qn3wv< zJE`ty-#J{)wSpKmNwwayz=T4NP$OLAMw;>aC~!jZBM_}8rQQ;@kx&HaZ>z*!QPqx= z?WfR1#Yv`}LD$X@#Hs_8@4*N}7Tl+>fh-B0O;+lFIIf~xqYizcJwz>yJ#pw5wNT(S z;qp`{r&XYbqa7y6IHOp6{(fwoBkB{ij#eH+WRoxnQBVKMSoA&eUA^e*AF7ahMW1au zO`)AbiVfa^RvFKc;j&efdiR02d*p_rdE*bxOR1E6cs<}-VNM7ufQ^0>3)A0bidnEMZ6ipQY@ZA#yyQD_p zGVtSp)ZQyt<74>Cs_R&NuDf4 zZhw-p9til737=RbOM-K_ME2o%9_QY|tisdD_1iMIjQbF|c2xe91n<3q`!cYFb{qv+ zE_ijLrLbip;|wL_ApZOa_QTCmBl(EZipLoB5jJCpsC{WAe)Sv^YDr?X^)qw&V%^vB zyg*}gNXi@*;GdKj_x@=$BJ5GuK@{F$Bh!J^Br#inO=bk$H?RnL*MA~OZe*CH(PR)>BGjiiSrJW8o+GT%;8XX2@3{o;3ykuz(u5Kp zk14F1B77%tUP$r?DD4tYkWTd~13q!UmPAWtr4ZKcR6k(|Rw5ZmB#ZyEPls*XN9nu-%0O4eg=l^f({x}bVado2B zs}flpSh$@{R;EgUXkgNV-y+gWc& z_!%KpN+bQ^PZG0BjCGJOTRQ-! zS6P#UH{iZTcsAXMSssUI*?{R1BNJ<;$lU70EV&2v_I=2z7cU{(g>c=GSQBqhL}V>; zTZqJXwQzR6C7mCL7WLNZL9FP;EEe)#>0qE%TrJ~~`lKTo6MWPrJvY+==X@v31MqF; zRX1^;9qumCsnP`;4g~M@s+cI|L7d0ZE$B;61B$qzCKhLnq@+!^K5uQQewA_OU1U_R z5iFDBCsLvj><>Lc>H{!F`ekjv-xY{YLNTb?%1bB@mhj(R z%9`kl=0g|hoqMr;h9J(8FFIm}5%|dflI?{1sW+Bmw=pY)2nk(8q$^mIbfxMSN}TLT ziGgmF=jKc zXAkO~nA%%ybH63{{54fpUmz9z)hCwTe0fTU-!oimJH^5~D`M zI*;%Mfp=~%;-o}8PE|dGIEv`v@+g{1zTmWV3x{wYjQCw#TPz{08KCDmCSkoLa}nG2 zVBdKt15?Cpfnq-D1MlNP7m(qJY@w_(xSu2=b<6H2K>8{8?~2U;@R<^nPslC&`AmkE z=eWL?q*?b8?c*T3>)XQS?r4c865yLdP+wkA&Y;_vJ)a6c;&kEdBi3Dkhl1B{T0bWa{qtZzQY#a>wsu_;zmrQGXTwFy&_$}p^d~G{O+3! zi`_xw-+=y)m2{LFoRY8_pKpxSy-|G!vwbNvgYO(dr~#CHBKxG3fmN1era+S~Hcyh+ z;P;M6Si#6F_rrLo(Sk9lkgB&bJg1iaI%=SVZBM(!h`|!Q;=ZG3oa0D5?<>PFf5hC> zwGC`B{XlLDc1p96xw=^vS)saZu(1~7h-)qYB?7Z9L}I2!VSQp5LCv}-qR$=>C2diA zLI}uq65eodw{9Xre_HUrf)a?XZgyzq-DL}Ga6{Ll{@CLpv8OqKcsR=(BO$&kC66=P zj*ZvvgKI@%Bjipgip&Nvm^&&B2*NFp0N+P}_H9DT9?;*;=JU4{Y1gesG;9Su8*sW1 zG4#hqKxcse+Y#xHAd;J^c2SNnUW%%|MT!O??^Z(ZHe73YRTFBtfO9XdE~({!%wFyK z-F?V}LzEahs*X_7yODYSl8v_|fY1W(3=<@e6IysV$@)WzZ}<~)ouowK;znmZPW~oa zH#a0VI(K(&Q|`XpL%COSujaPpF6XY`zQ{Go`f2?@<1b5@=+Kn&UR|mD zRnm1Q*NH0~6;-y@opapn)a@MVSF%{Y(j&Sy`q1o_*@tHznSFHjumQ(rpOb5q%sx5$)NJ_yt+P+hmK)F_*E-;k+~@(v<$fH%l`|P|LGIju^Kv}? zfnRw1L%*Dm8!+Im-01;#R|m8W;PJoy-;Dv?z=DIof|g&N%6SZIn|yupx)u7Pc>M2u1nBB!H$%;8Zx;#b z%5g>BKbrqxzSi898O^L=-e)eiTx+RjWoC8G>Z(<{?Q46Q!#56d9F!b^6U6`10CL?SShjk#QJ;%4euOPJG z>wV(!M@4rhx26~b98a8PDZRD=X#0R+Ftmlp~eX zRZ6T^ST|ZXS)a9jWvyT{+2#+M3S~{3RmumIuh<+@&P-9X;qi5b{V;qwv(Sb!$?F6nOro|@kDP9EMk;?l79BlEmd^ULIi4)Y$dZia2f z1w9_$V7O`3leG7SYs?PM*k0u~|NXKTnnRRf%ZugQc)gjSwLetw_}6q-xi@;>vo@J| zVtU-ju6bc2MbY}2vdwp#Uwy(;Z%Yf^VgC8cCz<5T{su(dXx)HL%_#f4nLIvMznfO> zZZe{5c!JG7t-at)okoW5U$rCGr+=uZ8J^(9n-??fP~LLeWN%#!9)G~<@8r+?b$kYp z8+mwM@w_4Pt25%2>8|i^mbSA;Y@hL4d9#vwu$q~`=IEH5S>OKdw7NAnQC?}-&;BI~ z&x{=O$Gktglq^A7vuX<8P2(H`HkOp^@sNIyB3s&hg$f;{Dut zv8Sh}4qrH&Im2d#!u$$(c;u`Rb5>gfozJbzJCVD7*(vLz8BJh>j?_)9*;VBl_j0CI zL`eGcw4a?LeU#G6Ro$%ir|l~0lpi4V zzEe4=cq6+hPjhU9R)fxujzUZPD}wxDb=2*6{L71z=m#@~N2HrXha|cD5Og4H6MHke z%xMezk*`y#UFeB~EcGLLwsXp+Rq3ke^Z1vXe^l$pj&~ld&Qy+f+0M3$u-AXCHTjn~ zllXZIrIiD;gHL5Qn$H_}&>=Y8wxY8_&5b=2>;aQPSOc~986*^bqq&2wZ^7w?%H>&Ko;VbDrtEEAHwZ51d)^c6&5=oblK*Z-!@~=L1g#ug~+g zfgShj{|%bo?$zb>jklw>@%%&HKe$Y?WwXoYFY(zwpYLPk`*wb@@9%2k{B+b-`pNm* zt1M`oOBPyM<)n|kksau3whlhnP3}=Na4rLC63 zi#ivwym|a@(Y`%qEGd`r~cSi(Qi$fQT8|KKc;WB|2TDF zaE13C^GDvoa}| zDDAkeZM^tw#*d4}$v2K~QAwHYsGOA1o}sWPM`K0E;GpuL)5-_cCoXz!vv|=^{Z%0w zfe#lJr7B$vwF`7yT&AQG`f8Sa=6$D#%nR!G_0|M3GIuVp2VZ7f78Dn%8+t2~$1hq` zuUC?JKeNbLOXrZYuD;UZw~m#e)AXYjkJCTsH*U$l5r4%cYD-!cXN3=3lJP@p`1X!K z{Xdo%sWd2jvZ{(oT@tbMbN$Pu(`Ia2+O~8=mWOTd5?lWf2KreBS$ATZ)bGc*X4Pal z88l|?%xdvEmK7H_B5o-wnm-SeG|2ZS2Twda_z``ml&ciJS6wZIEWY1S@E83SOMUS^_0O)Jb25R$=bp( zOOF;lT(Y?kIK7cu7ldw|C>F0MoCb~ z-Rx&M1>r{=+p`~J`_T1@pXbcW<>y3|IF&Z%FJ88K+0@edWgo+ubP}gtU6MR{md0)R z&%sG$Wo5zIE6Of~wt4I-`w)L8dw6~-0574m8^5lnSxh_m((yAu_=E4USK1)ni3u3~WIhst49YE>hv?5h;*j;d@cyi|Rss=aD(_4_J$ld;t^tL2s` zStwPn4LI^o3S?2ORjpC0@93qFUu~>2u!dhftj53YV(o5r@$wDJ@77OVetUUp?V?(x zABr%5Hte``>iFt=e|ZBu(zf$VSDWyVuV8$!mjdHi{7wr#epK6_7PPT||~g_)l00QQZ$qy)bSE85wyg0q&WJxfqNpF1QGmXeN-NduuQF@r*Ky#di*&BW4FnwhsHVCDKdCt){f?k*)?|1 z;?*iVzD;H+-6vwUhOJ27M*7=nX{z4U%F!C3 zJt_F4b)D@t-(uU_Bi0TbF3%|$lT%aj*=#ySOR8Iq~M(pbwp!n`y1rrru#F|CM}m{*f6|BZv?O3SEk?}EEp zqCsv%uI_KcHq!5pJQpw#oQQ8}R7Q`DwvDcc$~SIiu;D|{2x20XI{U!CPzc|-9ySf^=mQ6^W@N#~utGUyl z3A70VRO=OPs_@2LQ28s}FnjOBNTs!`VQ%tn(fALOVuUe9UllAaj%tWzDC^X8)z2G{;+M#GH)T$93|3r-TIgmKa06;qlKV zdikE8b9c@!zLECl{+a(zvudSUgDP+C+2}I00>8fucKQF}e^l*2pw~Z_RF~?_4YUkA z9ymB?^n_7975*lHSJV;%?Sc+zRxPM6d0YH6=VUgk_?NUBEWgrKAw$ES(|P=bng!~# z&;?rRj^BqG+D{45iC2sGQ8!lSO}Itm(#X=t0z*Z^1m;S{v%!hcpEcZ67>x1syKX}? zw`tsFOwLu-T;u*u<5cv5=%pp9(QLh^Ax!;6FxNR}X@)0vWZq6Keu!|yDr0Q+_@*S?=9l=q_^kNz@n@qP613y)*~)8!Q$yyegqeYz8uJt1 zCxmK095+W>x%f?j$?#ly<-on_q2tSygKWZ;*Q;C{Fnm~hqJ!gysaqUt9EUqP4SXH{ zmm|lCm)N20k{pseN@s^tv+HWt*5nTQ*75nt$;q3Ow+G%x`6l&3irGRBPiGIKr1F#u z*Fc?^pmE<__A`?^qkPnEwD)H(Px{S;(~@R<`@~V#WmuBD>%&U@C0 zcUrD+-|?zK{gUR60`-|$zef*5Z#Vc@_P-vQrEk78>tNQyEFYFBYmu!rYjIp=+=rZN zIW;*QtW6p#GCvrcF?g%0p8a#SQK_lh^x{mNi#~rw91Yi32&rY~KFPh2QsriMeXI4>G4`S1wz#tbAG7GNnBI=))R(BOS(5-A5XVa|+5H<@@IQkhk&bd*cpDm~PSFs{}Y^GYJY2}cl9`)+VFyr-= z&Q(4+T>FB+NmV?@zpLI<6dD^C=M#{Kmt)#;PW%M!9BW&BE$4)idkZ)gPAg>L=B1Hlb-N)NM5xR@=Dz zMg6<_zbjYO?#~<@dOIv5sC)5T{gok^p|3-J%Y3<5F7%43w|jd+jk1=?O!_Ulr~37h z1I0!q2M0FA#}%8F-Z$4$@-B3-QIEHd-xY5hZ#VwP@4~pBPo@g{id*!ed?rQ8{Tn&5| z)fIJFLxWMuxHjIGv1ZVeu@C4*(c|c=!ei-~#Sf$0N_e!{C8x8;WiKgtlyk{OnVyjy z6!G=3=kayv{9!9?e;o2`=$>H%ZH^{%j_0Ku9%sR@RG6hdp!9pyL)n|?TOAH6EKLF4yjjO=;uEdta{)N97XM0DvWWQ+*CU-(SVF2p?5 zFMLbzrD+|hGYca z3L78xU4;6g`Qu+KN(;6MzdoMjkm0yvyoY0i0ttK>%%mQ?w!(g}5( z?pUHTJ+MPVCC*9jgwDhW2c5gDt>%A(9CkjfXPUZScUYjU4sFcp@VOCBbXTe04p#hZ z&hSZn=J2=6J9TF_7sl=JD^sR|+t}CtTWsAqUvBQ$fvI+vzMU}Sfo9#WyBY?CI~9ey z6hvJ}cF6v%lxzNIVQb{bsP~EgM9qu(XsaD%6tzx6At|`8Iu>2tjUeJ5pzh>H1>*SbnFey#8_wZ ztcc0BX{-SIiCVgG^Rztt^tG-lSHuNsg=x7uABZ~{_tst^zA60Y__bQ|;tk`O@xJj! znaVbE69)OuNf@O4opw<|Wx~FKA&Jcee%eKe+qIh$6Eco!pGmx)ct(4YnP*aPQc}|B zbyuUDL52f^yb?qr)Q=s z>XoF=)LWJQ%C05-e!6u=f!^wj*o+eyS2Oq-TlMS~1(an649@%z?wxthJu8!@e<1U2 z=I6|ji~m_{xmZm( z<2Mz0_VSezDjS(USE^R(RJwp~3=TIwR#|JjplU?*qQrpe^y-_{Z>rx{hnW0U6Q+9j zCwlGtntvnuygCcplG^>XhibcPKbGz)NUGadx2J4#17dz&dx3>;_&ya-ya+rXs!17^$e{BO?9BZj&))8%SIZi92|LJRgT4uge#-BZdHlU#pZ!r~oGN%HX3$Q1dB1-n`U(MS=G(=#yN%Ll(%{8Z{dU%9 z4`YIMRrX7r;ks&CO1fpb`iv8U&of62VLPn-<$xN00Zs3+UY1?7LG`@94IeK)Ug@cN zWRh!+Sq_gs+NjIu2gY}ihZyn0d>mGpEiq5{rY(PlMS-QJT|`8s)HSJAHqe=2LptZkfk4 z$5!wsDVl62>391Enkmt3%L+pF2P>$=u`2yS{YQDbg69RWzfRJj!cpH(4FGrd0DbVQ zNu2>xt7ZnesRVdWl3SFZ6zCK*!({@9e{IlNgO$N*F+N$FLw4E!8`1w+HBZqvyfwml zL0aVE$n@gGNjZ^F$-~IA^m)PTQj6%%^3$?DWKI1uDs$WTJ)wUwep6UEuL<1kd3;U% zUA~)YR#xb;PQ}^BU$(ui_5HZz^Zr(SoOW!?rU>6fHxt%^``~VqE#VtjJqh0@4o&h+ zNz~R&N=^7KZD-i+hCzV}iyExH2|ZY%;_p%(mOeRcXTXawf6p;WTkHbmE=v2sZgK^k zwZSEee!%Baz`{G0Pz5V$NrW?{azkV+GH_iFahtf}&6Au07Hpl;R8YeBPJdylZP>QJr)Kw+X5`ey&sR;$|1f?^T5wKfjz;1Z-)HJJ zvAY*2+uAx*nWekhdmgk6k(bX8amv!DGr8r(<9{5VqyYKMv}HK|Xg$h`qh3*)V)DD~ zFShiBS6yQqwA90w{%rPi1bz5kmGSAWwF-G^vHCS;u}yLMC3CEe(m!P=+RjN=$lRay z)W$PG*LIwBt^8@_!M1N~-uSj>%v4c|d2O@TrrbKxMtfMKs#U z*~E;j^$aO5wQkM*7!h04?bYPP^9r!hogP`UV^$UOw$hs6YnZ0izu1hi@r|9CpY6Xb zW>*?5YspeLYghWunJpuq>(Qcy7#2DWT~y+qWcz;V-zh7!qf*X>?uraAx;E5}-gZ->Fs@#~DVzo*|!Jx`M)OcowvGsbpWsV8o@%WbWeWpZ5 zZLIsw^hGsq0mODPS!Z6i>=xTObC>$|$Q^#asm}6JO!=fSL*uXc-xi*-jMhk0d7__B z(~5oVxJy1Ue%8V@_6N0+ZF8!lU94l3RxYl)Yr^AqsZQ`{gWl@$_%62VMz68+q7SK4 zvfLcL39JLjwYJIgs&Cl^kGFEZ;C;4K*~>d((~>`i{~prLh!_rH!yNHzzRRHUa}(3+ zObUNZ8d!bKc}0@Hr?MBn>P*sK)v4h95uM~E$v@O|Cw*7VF&4a&)ET6Z6~7R?yJX8)9hYy#=J7A)ndkppHy}U5GiA{q z`7!wy65|*eiC5#F2K!}y6YH2gm3=z+^3o$Q+Z(LnwLTBaYmbbGnwc{&>P_^s+EPkuK{F|81l=WlAFh9?40dhSws_NH9joau3&quVl-RkjDL&g1ddvB2IJ(z0}v z)}!d_>ah_k-D^C~fw7Bo2TvXr&ICL56Zcf(-z*gtzzeRp+Q!bd(VM^SW?&!CqY#eI9#9Y`0_gY+Q-$PhAu=nw-khD;z+$P6-vEFdOi30XnbkPT!D*+KS@ z1LO!fLC%m1f z9BP18Kr0dZzczPPL93xP&{}96v>w_3ZG<*Ko1rbxR%jcv9ohjkLOY>d&~9iC)CBE? z_JQ|r_Cp7tgU}(U1v(5JfsR7QAPxjWT83~bPhTXU4Sk^m!Qkg z73eB-4Qhj~LpPwC&@JdTbO*W%wL|xy`_KdEA@m4(3_XFKLeHS*&0C$O{4um`;+z;Z8~iRZ6<9N?Qa@Hn@yWTn@dxoDbtuV6`CsTAKEL7nr9uD#hGBrLSkz58M$nc+3X#7gN5q_%kFk zQBGwWV+>f4QwObdOB-Z3=z8d{H1L@$W}=cjGq^%mbzJ63`cj%ZvvF=9lRvckw+90u z#r(l@=Pa6#;gqs;$Kc8Z+nIZq#0Y*_OR4ra^9=JG^TvV;%+-t?%yy=Z)eC0pB8`BV zs!47`EvH&8u-s{BXIX05WO>Z;hh&|_cPxi583S$|x3cLr*Fw`Yt-pJ&IoFEEZy$Ox zce??)wmZiS3-VWc!k*c<>zS(nD`fl)35mNezBzH*V}8d+V`Yx>M~x z7(3gqxA#!KV}HYb!T%xeE#TtF61{E4c4l_R-Dl`DG#w#WAh^4GHxL>E1PCDzAjGpN zjk|l=y*uvi?yluU+>`daC)t_ZS-*Sl-rx7`_a1%^&%aJpof4|6o9gaUpExBi$`ecT zxcmKD7}xudJ@)Oqsl;$Onu5`0Jpsjb9*@Ckr~uC)ABD|6t^s zasATXeEnQ`RdvWWN2Thw9+xjI|0w&dillEptvKHPS%vyLzoztxYiU@;&5HXKll$4f z5BuSxeqZ%V>8JW(bH#;zF1T0U*V5B}YWE%whxXka>0dc%Ab3qvxi#s`dz!)xIpEo- zaLAYMRz9hOQG2Dcaz$TPWlY1jbKaNjdToyFdW0n{;?oG(gocyd!1JrHMz(GK;K6OO zxY?nTw6gX6WYKvA1Anx&Hu#>Ox$JfEq`)d{z_71s!Vg4;ht4QnD;hE)E@l~cW?oYT zr%z8W9I5Ic^H!AARtwRDYK`smV5s^@e#vjfR~yPV#Qx9sJ$QZNccyyjuU^~NzxB&={onT=RC6Q!%ZR?<9h_;Oy1w+hnA8&L|Ji~mao?Ac zwQTLEIRhdhYD*)s>%M65%jlMY)iu}2>c$4FtBXqy%RE(gF;4syQAgL^ka>lCHQ;%m zEih?-Do`DmIbi4q^#i#4_5t9tz&`{AJ;4qJep-*Oqi@!VLLjBDoK||i)s9CQyaKS5@`!%$Lkd40^cwJ<#j68dzG_<>S^1wI3mJWOzxvKu)z$G)^kNUo;+q>7R z`ZRSk9TTk^d?jMt8(SP8t>;^Bw7wbN6}@)I zydlF9dJIV(GNCMEi08$Uin_$yA^m6XO6WPHEJ>6h$k;rjYx1_%584vueBSo4G;xlw zEq?Y}CH`%3Z5`>`8j9OW+lph70^V0Gm4RmbXSsU1vvXU8UF zP)9&mN5{k2JqN-ah3Qi={^$E19Q*MjGNw;XDSu8!zTP-)M5$!yi11NSBlIJ> z5B43Ri`hTo{h4P+czKQU^72vwUKTY#0}ulA04u;3uo|!)&9)Zz)`?O zfH&YWV8$C>UjD!e;Fqu<8-P~=IFNS(zvM2+hk?D`1p6E0*MUC-_<*`R;Fko0T=25~ zCoiuMkUs|g1n}qwFRw3wU-AUxZ-BoAJO%j&U?Jc+$Rgn001wE4z%P0GN6;4VOWpxF z6gUF#F33^9M!*Lkn}J{V27fz{-voZiS&)AN{0`t8$iD^t9B>ijFM)poFdz$nWq^Ai z4+3rh^aSmV1fC8E0C^7ZTtEuQi-6x2czLCP{4VeZfb}4M1pJb%Ab$e<8DJa8UjTm% z*a`Btz~2G(g6s_}0PF`@2>gH>j{}r}JOg+Z zpdRFTz{>#xK~?~-0(5}97I+H)1$jI0KEM=^4+0+s%mMi*@G-!AkWT`WfQ2A)z;A++ zj1lCwf!_ff2Kl$Zv4Eo>#{<9Qb+E39z~lVAyxssA21Wq!J;AvEcsw8x_T;IRRg{~_?#fS2p^E%2A&V84U>HE=V)0H$pLJ`Q*R@+si!02!E; z0B(x_(}COpoE_=qWa;pIrvIw|4;1bBafCB*6Kn@0u0FWR@0Ve=%f}8|g2zUT;32+U-3-R)*1MXo5=X8*J z0S^b9n+=`|fad_b=YYpLFb9YNxeNFKU@FLufPd!z<3aui_$4br{sj0Xt3du7_)EZQ zkiQ200k95a0q{$kiEa2jAA$c4Z!IRvr<_$7xy zt_Oa}5s(J~d%XbXI*?_+HvrWO!FB+@08k+RQd}U*WX;vBvR`Wc-}4R~t;qAd{1$Q1 ztKXnct5=qI`u#lo=ie{}mxBLc0heGv0hb|O74YxM&!zoU>hORU^sfr|+QdI7sArOX zvVMwws(zY&x_*X!rhb-wwtkL&u708(e1YhHr4)P0JQaVZ?Q##e0Pr7EWdA|y`nPv# ze-C)8;UAP5PpzlH1K!yB|9u(gY4Nmrz`yPPkCfqm+*0sQ`Tt58=^5n#UswAtmeHPZ zznT_&tnELb!2fhD5fAoHr}=kmDEPt~DBw-qpUVUfcb3OAtvpfqt3q6ZGi#`>+zpD#d43_pfD&6 zDuddfF=!1sgWg~;7!4+a*yub44VyG3|kG`4BHJm z3_A_G47&|`40{dx4EqfS3OWT z43`a83|9@;4A%`e41|F+PzKt-7+3>m;0;}dn}%D4+lD)ayM}v)`-TUGhlWRn$A%|{ zr-o;S=LVa>Zg3c!2A9EY@EGJqg;8l#8P!IOQESv0^+toyXfzqkMvKvETxncoTy0!q zTx(osTyNZ9+-Tfn+-%%p+-lrr+-}@q+-clp+-=-r+-uxt+;2Q!JZL;*JZwB-JZd~< zJZ?N;JZU^-JZ(HJa4>UylA{+yllK;ylT8=yl%WPlx{Pk4$0#=`OiGi=q&8_x zT9eMCHyKPulgVT@Sxi>bO4BOSYSS9iTGKkydea8eM$;zKX44kaR?{}qcGC{iPSY;a zZqpvqUei9)e$xTdLDM1AVbc-QQPVNganlLYNz*CQY10|gS<^YwdD8{cMbjnIWz!YY zRns-ob<+(KVIobGi8e7N*2I~3Q6YoX>5l2H>7MDn>4E8?>5=KN>51v7>6z)d z$!4;f944p9WpbN5Cb?N*R+?32wOM1Uy@nm3s@o41&^nzxy^n|GLZns=FZoA;Ran)jLan-7=|nh%)|n~#`}nva=}n@^Ze znopTeo6nffn$MZfn=hCznlG6zo3EI!ny;C!n{Sv2Gij#Gw3#upX3or;yUaJux6HTA zcg%Oq_ssXr56lnEkIawFPs~rv&&RvY0Ivi`BByvdXgBvc|I3vd*&Jvca;^vdOa9vc!Xa>#Pna>R1fa?Enva>8=ba>{bra>jDja?Wzza=~)Za>;Vpa>a7ha?Ntx za>GJcNDF15EsTY=a2DRuWw~j&Ww~v+W4UX&XSr{AV0mbHWO;0PVtHzLW_fP0S?m^v z#c6R_+!l{TZdF*7R+Uw4)mXJwomFo&SdCVb)ois`t=5&+Ro2zkHP*G(b=LLP4c3j; zP1eoUE!M5pZPxA99oC)JUDn;!J=VR}eb)Wf1J;AqL)OFABi5tVW7gx=6V{W~Q`Xbg zGuE@#bJp|L3)YL)OV-QQE7q&lYu4-58&<+fS}7}SWvr}~v+~w1>rLw|>uu{D>s{+T z>wW73>qF}!>tpK^>r?A9>vOBkYPUM9POHo6wtB2`o5H5FscdSS#-_FDYvYob_v7NP@vz@nHuwArWvR$@av0b%Yvt75{un{)W zM%ic^V`FWcjkk5#ZrX0yZrkqI?%M9z?%N*N9@-w+9^0PSp4y(-p4)6TyUk&9+FUlb z&0~|>6?UavWmnrZcCB4!*V_$tqupdT+bwpheWiVseYJg!eXV_+eZ75yeWQJoeY1Uw zeXD(&eY<^!eW!hweYbs&eXo6=eZT#H{h*M84_-~Pb< z(EiB&*#5-+)c(x=+-|em?GC%s?y|e>9=qJ3a3~!rhuWcWXdOC--eGVU9VUm_VR2X; zD;=vGs~u|`YaQzx>m3^$8y%Y*n;lymTOHdR+Z{U`I~}_myB&KRdmZ~6`yB@y2OWnT zhaE>8M;*r;#~mjeCmp98ryXY;XC3Dp=N%Uu7af-zmmOCeR~^?J*Bv(;goAWY4%)#u zSO@3e9bJx_j$4k~jysOKj(d*#jt7p1jz^Bijwg<%j%SYN4x7X7a5$U}m&5JwIOI-+ zQ|VMW)lQ95>(n{*PJ`3vG&#*qi__{{>0ISp?Ofwr>s;qt@7&fGks z?%d(r>D=Yq?cC$s>)hwu?>yi<=se^+>^$N;>OAH=?mXc<={)5;?L6Z=>pbT?@4Vo= z=)B~-?7ZT<>b&N>?!4h7oTQU-(oV+7Iyoor>~h|8-g4e{-f`Y_-gDk}K5#yCK5{;G zK5;&EK65^I+MIT$!|8OooNlMbDR(JcN|(x|c4=H%m(Hbk8C*t}$z^s~Tvpdg*DBX) z*BaMa*E-jF*9O-{*Cy9y*A~}S*EZL7*ACZC*Dlv?*B;ki*FM*N*8$f-*CE$o*AdrI z*D=>|*9q52*D2R&*BRGY*E!dD*9F%_*Cp3w*A>@Q*EQF5*9{lpB3+b=b}=s2#kqJ_ zm+PkMmg~0bj_a=Lp6kBrf$O2`k?XPRiR-EBnd`aB=CZpSE~m@oa=Sb(xm)2@x>atq zTjSQcb#A@e;5NEVZnN9swz^lkSGiZa*SOcZ*SXibH@G*tH@P>vx45^ux4E~wcer=D zce!`F_qg}E_qq4G54aDy54jJ!kGPMzkGYS#Pq89MYn{l&l&ds~K+&A5~+_&9#+;`pg-1prN+z;K4+>hN)+)v%l z+|S)Mx83bXL!L!k`$+OwB#k1A3&9mLJ!?V+~%d^|F$FtY7&$Hiiz;n=Z$aC0p#B>h{5>2Z179*-wZ9xqRjC(4uL$?_C= zsyt1eF3*r>%CqFz@*H`tJWmd~{E`>Si{!=f5_zdyBA3d`9vO(FX9H?wk4pKHN2P<2Yt;!+FHf6iALpfC0sT`&pt{kBpsT`#o ztsJ8qs~o3DJLtZD5ol?DW@xEC}%2XDQ7F^DCa8YDd#H} zC>JUhDHki3D3>aiDVHl(DC1P|ssvS{DoK^BN>Qb%(p2fH3{|EoOO>t4QRS-gRQaj` zRiUa#Rjevem8v8vsj5s>uBuS=Q&p;Dsw!2rs=um6RjaB~4N%pq8dQy{fvP6eAXT$! zu&PDXsv4qdQ?;u)R6|vrs$r_(su8M@s!^)Zsxhjus&Ohv1*;Ghs=`#bYP@QKYNBeA zYO-pIYN~3QYPxEMYNl$IYPM>QYOZRYYQAcLYN2Y8YO!jGYN=|OYPo8KDo!1*PEaSR zlhn!T6m_aPO`WdJP-m*M)Y{^n>I!u~b){OS zu2NU4`>Sizwdy+c0Cl~(LEWexsBTgZQa7syt6S8q>LKbjb-TJlJyhMP9;P0y9-$to z9;F_w9-|(s9;b%Xuo_XLYD|r*$Ezo(C#ol@C#$EZr>du^r>keEXR2qZXRGI^=c?za z=c^Z}7pfPj7ps@3m#UYkm#bH(<23P_1WlqQNt3Ke(WGk9H0hcQO{OMGldZ|oD$wWdZ>tEtlr(9~-hG>w{pnkLO4 zO|xdOrbW}L8KP;^v}-yvLp7b6VVdEZ5t@;jQJT@3F`BWOaT-ViYY+{p!8EvLyk>%C zqGpn2vSx~As%DyIx@LxEre>CAwq}lIu4bNQzGi`Dp=Ob0v1W;8sb-mGxn_kXP8+XH z&?ah=w8`2OZK^g+o372!W@@vv+1ea!t~O7buPx9PYKyeR+7fN4R-%<^%e3X%3T;1a zrB(S2B&DSl^Ez~X2E!Hj3E!8d4E!VBk zZPkH$9_e=L_UQKNZs~68?&$97?&yh7I=9ZF zljzI!{q&W3nf~uzhnTNlpkJt8q+hIGqF<_CreCgKp_l6wdZqq>{-OSn{;~dv{;B?% z{<+?!x9c5xr{1M^>pgnM1?L6V1@{Hd1#oXCPk{$~JoAr5`m6l15_}Qh=Q6+pzHs+* z8RTjHWB#QMd?@(O%Gkdc{{=;cjc=j^~n1jqA<}h=FIm#Skjx#5ilgugR zG;@YI%ba7*GZ&bP%q8YBbA`FeTw|^?HyDB;8H%A9hG7|w;h8SxCUc9q&D>$`GWVGK z%md~j^N4xOJYk+P&zR?ojj=Nh#>u!CH{)SmFkb9y?Cb0s?3*n3v_1P9_HFhZ_FeY3 z?C;q3*!S5F*bmu{*pJyy*iYHd*w5K7*e}_y*ss}d*l*eI*zegN*dN)SSZ`Lqc4LLC z59`Z{SU*>&G7~7W(XCv51Hj0gAW7t?Wj*Vv% z*hDsoO=eTrR5p!GXEWGLHjB+>bJ$!qkIiQb*h035EoMvDQdYuB*)q1Atzi4Hm8^`d zVyoHyYz7Yrux)HR+rbWHJK16EaCQVck{!j4 zX2-B&+26C{ScrvLghg2lwDH$J1NeHrfp6po@=g3-kNx-8n0{*ho68x@xBSiemut|< z58-ikJUfA%$WCG>vs2iq>@;>dJA<9c&SGb?bJ)4;Ja#_2fL+KgVi&VZ*rn_;b~(F( zm9q*~$*Nd2t6{aQj@7dU*2tPzGizb3>`HbOyP93Yu4UJ;>)8$LMs^dsncc!}Ww){0 z*&Xaob{D&w-NWt$du|`QpFO}HWDl{2*(2;x_85DdJ;9!2PqC-jGwfOR9DAO{a#}d!4<(5-iD5EX^`3%W^EwcCk0vTkLK24ttlq$KGcjun*Zs>|^!``;>jg zK4)#LoprEI*2TJ65Bq}k;$Guk=icDnmiry|9``=?0rw&I5%)3o z3HK@Y8TUE&1@|TQ756pw4fieg9rr!=1NS5M6X(qdxNe+~^Stokd^r*4$BDV_To0}% z*NgM#dUF9>AQ!|1b0J(GE|d%7`f}l11Q*FganW217t6(Q@mvCz$R%;fppE~8pEkao z@8E~>o%}Fo|b0u6UC*h=A z8CT9#aQ(PSPR3Pn)m(qBhO6c3xB*-}*T6M$1Gy${5ZBBN=32N`ZV1=LwR0WZP_C03 z#tr92a3i@<+-PnLH^Y3Xx$)ctZX!2{o6Jq&rgGD`>D&x%CO3#4kaqGDa+(vE_x0&0*ZRNIc+qoUwPHq>s zo7=5FgBk@O}7DK8)|nhw~A9Bo8`d<74<(K8}y)6Zk|v39M5xpTei| zX?!}L!DsSWd^VrM=kj@cK3~8W@{0cO}v@6{2SW0@+|7x_#4W&R3(mA}Sc=Wp-?Px92OrPAOx!?Qg1Z(N68 z)+;99LGOpXAN79R`$_Moy`S}d-rLsO-rLdJ+1vBt3ICLT#y{t6yq$OOPTs}4c@O`B z_v-p(?*H5TTG#7cZ*;xc^;Xw!y58=3r|aFW-*)}3>%Fe`yFTdpu*-{hjd-1SgLsp8 zi}(%kHt`PeF7aF9cf@r zMMM)ZL@W_U#1jcbB9TNS6DdS0kw&Bw8AK+LMPw5>L@tp>t5|fC@#1vvGF^!l`%phhGvxwQm z9AYjpkC;y^AQlpfh{ePbVkxnVSWc`UwlL5J!n) z#Bt&TagsPioF>i?XNhyfdEx?bk+?)$Caw@yiEG4l;s!wwBta20!4NFL5j@dF+$3%h zw~0H%UE&^bpLjq#Bpwlui6_KU;u-Orun~5`K{yE);U+x93&M+hjeMPagM5>Gi~J4w zHu(ykwVgk^d&{4A1NlglRe0uWG~X6>`excfn*RFOoots$WStj>`R7|5o9D8MMje` zWGop+#*+zTBAG-clPP2>nMS6Q8Du7zMP`#ZWGatPT*wv!#?P_mO8Mh+)O zkR!=ar$IgOl7&LC%!v&h-x9C9u> zkDN~~AQzI0$i?Imaw)ltTu!ba<)ngCk}6V7YDg`qBlV<#G?FILOj<}QxsqH(t|r%z zYsq!wdU6A~k=#UXCby7V$!+9zatFDS+(qst_mF$ZedK=f0C|u+L>?xOkVna52htx;Z$J8g(r_^WE=hPR}m(*9(*VH%Ex72sk_tX#6kJL|;HzlCD zQ9{ax@})$SA0?)`Q$47jR4>Y(>P-bufm9F`Onub#an~nZpLTuL6+-o)La8vSFBMKj zP?1y=6-~uZu~ZxtPbE-^R1%d;rBJC<8kJ6EP?=N~l}+VPxl|sNPZdywR1sB7l~ARW zgpyKaR5?{a^`j~&8C6A9Q~jwLs+Ovw22k}>1Jy_kq?)KfR5LZ0YN1-GAygaHPIXX2 zsZMGbHJlnjjig3Vqp2~}SnBuGI0~X*3ZYO6qi||GHG!H)O`;}KQ>dxbG-^6EgPKXr zqGnTbsJYZUYCg4qT1YLT7E?>8rPMNNIkke4QwmB+sVFt2p|q5a(o+V?NSP=zWudIp zN@^9gnp#7xrPfjFsSVUdY7@1Y+Cpumwo%)u9n?;07qy$(L+z#ZQTwR_)IsVHb(lIr z9i@&@$Eg$4N$M1JnmR+BrOr|3sSDIa>JoLCxH+nTdPF^@o={JzXVi1bM%gI`<)mDcoAOXEC@=ao`gQsZ`c3*R z`Zx63^gHys^l$0k(eKgk(;v_u(jU>yy=Z^BHyuC+(m`}E9YXh^L+LQOFC9)t(2;Z$ z9Zkp3v2+|APbbicbP}CRr_iZ%8l6sO(3x}=olWP^xpW?#PZ!XIbP-)lm(ZoOgqG4} zbU9r?_oFLm8C^wJ)BWihx|Xh^2hjC&1Kmguq?_nLbTd7eZlPQ0A#@wvPIu5l=}vkW zJ)9mvkEBP@qv4VrSvj-IlY3G(+XNit7tW?p|!M**3$;sNSkOgZK197N_rK& znqEV%rPtBx=?(NodK0~w-a>Dsx6#|_9rR9m7rmR_L+_>c(fjEG^g;R%eV9H%AEl4c z$LSOFN%|Chnm$9HrO(ml=?nBl`VxJazCvH6uhG}(8#Fq>3j5j`T_lrendZ}pU_X~XY_O0M%!rz?WA3_oA%HzXfNh9=5^)`=1t};<~PjS z%sb4x%x{_BG4C<&GaoP?G9NJ?GoLV@GM_P@GhZ-YGG8%YGv6@ZGT$-ZGe0mtGCwii zjDYFJ2pJ#7mk}|3jF{=p^k8~2y%>L{Hxs}FGC@o*6TwtkH^SQ^PKNjB>e-bOIXH@l()tH>1$7zxOX6hl7XPrsHK2!p4gQf`s}fC# zTl}vjo=>Vy$x2BCulBm7ic?3YPE9@RpPD{0eM~x>j-+Ghc>416#pxT;*QXbC6?ZAK zmS?TVl4lLeQe=Ia{aN|2Zds`9u7I zz)-lK_aDdqdj3DpK7TQd=r4xbC#v7cYAK%WeFr)xiJ3 zynkxt|LfEZY()=1Z$L1h4<=(i)uu*qB_w4 zQN5@^)F>J#Y7z|+HH!v|T12g)AzbQezosMcn<(IsXy1G{c6mg+IyLr|3-^1UP%AJdv1R||Nq9& z5J8)uUC<#ID(Dmp6ATxO5R4Rz5{wr7vMjkmp-?JR3bjI`&?)4kKY z3trV0zWV)#^{Mifc_(^j{;H<*SNTutT=H{m@vp|_{c*{En(mh*^)7lfWrcS??|fas zpG{fjUH+?9ewpLH>sddyo&R^*%>Fy||7dxIx;$^GpiEFMs1WoMR0?E*DnYfN{~!Ot zzn(W)kRnJGqzTdm8G=kfmLOY@Bghrx3GxL6f2Nqfr21GupmUxM-VCq z6Z92?3nB!Of+#_>AVv@?h!eyM5(J5YB!N)uBlZ=G#C~G2xVyNAxTm<6*k9aR93T!9 z2Z@8lA>uybP;r>JuQ*&BA&wMBiKE3a;#hHvu}oYgt`_$f*NAJyb>acydU1oe zQ9MxGBpxJg77rG;h=1AUB3-erL|3Yl=%l(bUAeA8*H2felj*8-)w=$=8eOffPB%bT zuWQgX>IUkXbc1xwy1}{@U8`=0u1(jj>(C9=b?S!w*%9$e+kfzI-3Z-C-6-8?-5A|i z-8dbjgLQ}w)nPhZH~#1OCg>*WCjHGeIzex4f8O3-4-E&sz5QkFWZjg%YOe$I4)=%Y zT3@*h^ceS-^Zl*isk&*p>AD%Z7Vp8Yrl0v&E&r{#{#|wb!7{78y}bqA-Msxk7JJv} z=jlVd`*??Xhk5t)4)>1mj`WW4j`g0c8|xk99qb+D9sR5AnxmWhYJKDM@%jXPqCQEV ztWVLW>eK$kv#z&LAnYa-3VnpWLXprC}X_7L_I_7eIFdkX`Efx;kRurNf}M;Iy$ z6ZRE`3nPS)!YE<1Fh&?Fj1$HS6NHJvBw?~JMVKl~6Q&C@gqgxDVYV!|iT6qHN%TqbN%l$cN%cwdN%zU{$@Izc$@a*QK%ZxIpeM9?(7Rb9==rP( z^oRDcf3p_Q!`Tp@HlKE%4xgbuoj$*8h0wc7U!$+pC;O%NrTV4$rTb<0W%_0LW&7p$ z<@)9M<@*)*75WwV75kO=mHJ8iq<&?7<$e`@{roEZWPVkC)qef`YW!;b>ih=y)%!L0 zHTu;F1_Mgk3=M`_pjK!I)CRRf9nesyXKE)j z3>prNfJQ>2pwUof{1~XAa76J~C?R8PsJEo7a9Hd(D5c0JGG0=b;~xV-FytpepwxVE z9tvR)4n<2^q@CFjvE!l0XrG9xf{{U05ur&Fpyph0j4(Ssej+ppnhceu4v|iQI;2yf zY0z|N29%lBD47X?n_xj@1wk1ZX@evKB`K25=A zEPzUa@=7x^MrCFdhxSd+T?j3L7DHvyR!R5NCD35WQfOqz;P|3~Wzce{S+W93EohOX zCdwfNq=Y*2Rgko#O`?W|O2$T&M`<7}q=RzO^iaPr1C$VEgxXU~kQuUoUanU{tDx1; za7lc@8fY!lm=hZ{I?N}mU*0-sJ+uMZ2yKGON|Fm(BC8{ZNH#-TAn){moE{-tp?1kO zC^NlNQkpPKvK`t11?G&9?1XkfyCMIexbQttH|bueF<>7wAbvkIDE$DGoOuvR$rMTt zL5HCu&{60Z)X?WRbOP$p=OlCrIt`tH&O+y)$eipx-lZL-g@xy#x~vOOPQ*n>Agz#A z6^@a#h7BtnD;X*AmewR)f-Xa$g&mT9(ksv?$yKN>`5JT`%8R=J5m0M>c>oDfP=1uJ zl!kny48%el#6vx${?aa}hcrCnCUgtB4T+_pC3m2^&^@R!*iU*N8WZ;b%F1{Mb(cPZ zMAFC56DUCX6nX{)hCYXEkR1|-JD|7%C**?Sa@~*zN=S%2g( z3Gl$2!4ZjY5}XXDz^QOaY8splXTX_o7Mu;|z`1Z9ToafN7r=$EG^9B+L|OzF!zFMj z>>VqC!7V-DN@-5&*tovZa<~HS2Uo%}xHNN2SQXqyS`CLuy9HJkhD-ay$$2$!sI(TY zg9D`l;2^0uK3G~0H^A*tm3iX6jc`rOKsZ|31P_9n;lXf(v;__hXoZKsZE%9L9qxdK z!kzFicsM))9tn?vN5f;_vG6!JNg5gm!Ld>pM&R&1DBK={!8kk~PRnYG$SartCrT&6 zli-Hv$#9S0DezQy8k{U`ikS|lNF$}Pq#1CGG+r7foe9r^XTx*gx$r!AKD+>42rq&c z!~Vrf;65cw;hNNC@N#$sEQiyi3RnrNU};o_R1IrjEgU7)!I{z?DSFrd8(|Y{hSQ}M z*b1+NSHYd7tKn|hYv8r;I(R+20p192f;Yq7(OclH@HTimyaV0|XGwR#yWu_XUU(n8 zA3gvdgb%?{$$hd9!$;twaJKXqd>l@d`UH=SJprGDPr;|*K7G%?XW`Lt=iu}31#mBn z;Q^Q6%kUNWDtryT4&Q(Ym<0E>q+teTVGicuF8C&V3%(8Cf$zedA@|@M>3uj?DhSDw zK7b#>vXDpcWB3XD6n+NB2Rw&uupM^5PS^#zVQ^#KbPpVd#3KnvB9eq8BPmEKl7^%s z8Av9Qg=8Z+NG_6xTDnX=38Il}dj#ME1kV-^`R3X(!f20Pf zMe2|esek$aq#kKN8j)gYk+f7g5NSdNAz+-C>UCv+#W3)zkALG~iTn0?58q$%wHauDf}b_h9)WCrvI9}(YQdIX7z z3kpAqNWwGoh6mQB$YN^yq?H~+hUX86s?0c!oIs+Z21x5ACy`S~S<-3b3{uoLI_)fS z4yg{37M({fAQzEKNI>FcL*vl|v|oH8IwmOz zO-B1h1%;)csc1`B8k&w~pqXeEnvD*U=AbbtxoEH0%*Z@6AI<1ffTow1<`tsh*--(V z!NVdm%6mr?p|wS!ecJn!Nb=H((Gs*IEHAZGQi}GDm7r2IvRoo5L(9>uJpafFv>#fD z#x&){4~=gtD()K+B14A;SE1EtOnQH`2CYT&lIzd`Xgw-T9u?Pswgxt$Qb|tuKs35f z6FLYjlYpC4p(!PT%-(51=~*FJu`Osvcq>{isgTr%#zzgz8iKZ=?Pv!&6zxQZ%WehqN9fv|Fj8;hyv{Hhi7%G$C=y-GjIyPV;S|2kB z?UvCIH5r|PPDQ7ofqkc=Gtj|(XQH#v+2|Z}E;+~HYCs1_jHn4UqZZVPu0&U%zVWNkfV4pYzTt&Y zLvo_a3**_zvX`_b+}2hfA)AvB@zFj|v%1nrT36g`F>M^B&$GyOTqGsQn55FIJzY^9gED(z%sEsNfwrkahk)9Mp(~1r5aN0)u2x#eT6p z6N)8)2~Aj$q$p<)R#n!F#pMjfTCfm_f1-C`x13fiBq}5=KVb;g921(?hEiks67;G#y4udclLogJp48kxRtBV_t z4T+e5O~le9ldxVzld&mSb#A(3DwZKh%$uiwy}&4=4#O3fqVEj2M$u6dRb?k+L82D@m3e!20I|2Oq=^VWV^UgdE0F zb6O*gVAVNCvFQ9`*l{dQb^<$zb%dP4GJ;QI1NuhF&R}P;bJ%$-Iq3oxC5x8D$Rd+t zWeKvtqD0w6EFx8sa|yeQUBRwm*Dy)abu2@61Iv{WSVakmQ5cOe7>jWjk9A?`vNBm{ z&P^;eB1e`ct4zLy-Nu^IJ0eCW-ofr-r7`!g6xn?&TlN5xBtOI+VUMvVm~U}*#8WIQ zCb}@L?=!5nrLvUt2yRw7F;t&!Er zn(9Oa1+oNO9Gi%j7bW3ou|=|EJOxk1vvSk$biAJ|1JB6M#4BZ@fUuN8Sr%Rwk&Vkj z%d^LZ7Z-sW3gI%@pj@ATdRe|KCBIlEkx6A0vOHWInU7b2I|mft{bd7W4YH8JLc9ns z#!K*0yuNQ}@<3Txx?g-!k_4CHm9fKf%kXl%0OnS;Qb& zEgoN9hu7v0!0Yh_ybk)>p{$y)Itc(bexZ^t|Ep?D`g z3~!VT$4B5J@lkk_Y&6~?Yn4Suj={&`?Xqz=gm=hbyjvuKmuL9ph^o2=qquJshU55n z+`DQ5J`taUPsYc}rr^@-(Xy%dNZB+zFE*)kI-Zq21D}Zxmw5-w!e`@i@VWRre2i>9 zz5ri{FTzKG%cqO+CHPW&8NM9%t6G7}aRsi#)527^8uv~KO%IA2D%0RvJSJI(CrL)g zI+OIc0XO0%+>BfBZdJl6a5*H;im${&s%o=V;el1Fao^b9RpB{3s#4O|;A?UJIRC2V zh=2%j)jE7Vz5(x)ZN!7CHsPD`zExZBt@t*)S4eo(c6fR)tkv zz%SyL@XPoWJgKTW?<#%`zm7*$-M|Svy(*)M#3`J{W2(AW3I7j8ccIxdLy*1uTt4-d^t0mq_ZeW@7_uA_9 z)jDsz_r|K-dvmqadu#Rf>YdfQtM^vhn>xJrS3A9J-Uq7>S0AlDUabPEfflc`tOl?E ztzIioQ)KJ50kuFKP!BW!jX)D%2VyM_zzK}jGy^R_v$x#a3bX+(pxx{8wgVkNm$wt> z0=j`7pwHXw?FHOGA28FImD>-*yF5T?(*WQFdc8hi(dh>QKoICD2?1eX5QqR#AO;Kp zabOr20Y-r_z~}Av?r0kaCV)v`3YZ4`-WgyPaC>{a1Kv4c9`Je>fJI;lSO!)Ak9Ri^ z^zH%n0{ej3+U?y#?O|_2<9^@(unGV`$O{4x00Rh6U4#M{fCB_D=#6+ufC6ZM0a$^+M@0-9|z}vt(z`MYE!23W={RhB@z(>Hx zKvnrCz^A}xz~{ghz?Z;R|Iz%RhBz;D3sK-~KW z@Fy_r{R{XTn5wfj{R516yGskYC)!56Hpjm}Z^3`SN#GQ48aM--1;)MSfUNfOzy)A) zRcqcw;1aOeIp)0#Tmh~E6JC4qHQ+k1P+aDi^xgn&0=Izn+9~gCAgBEfu&I8=JMFy- z+ym|d4}gcjBj7Pm1y+MKparyo|L@+{f%RYmIO}Z$o4{&^9dv+B@QKD|umx-d+rZxT zE_aXH1$Mg!i~HRD?(Y0{umkLMcY6>;vaY`@zCa59oCdfL_oC z`oZ~%02l;I3qxRwd#638GQV`L%T*Z$2f+v!1!G{eatMrrzOr1q$L-1*a&{LMch%Gm zgCpR^s!_1mJ_ZiDeeROlfO{N_xF^6_+ax#zPJ=P`3^)r$-Bp!y;5@hhhTS3eBDe%D zgDc=}usCmf)%qI0JLuj6?gjUO`$0#`u=@bG3IZSqLSTQ@gc}AC5Ct(12MLe_{RI?A zgAB-mlkPTmQSr9+xSIo8E63bC*yoAxAlVA!=gBfrQ9IrV7z5v$cj=En2UjpacFN1BhQ|?#5 zSHWrbtb4}&8u&W6;(i01aFyg71&@Jmg3Io=z_@(n5(4Kz| zJP%#~FM^lAtjf#a74Rx}4ZIExwB7)3{?B&14b~Lg0q=tM!293>@FDmJd<<4W)ldy& zfvk`X+R|71KRdD>YJeJ{CddvgG))dUAScue^)K=AgyKd1wJzgm&~TLCeqzv>Vz3?S=M1`=Q2$V(S5D6#^g- zf}rxcoqaHbKqxfR9&W)P93mj{f9fR-F%S!Fvvw445Dy8E2uY9(DUb?jkPaD;2|Wcp z4IP9ILC-+XLhbJ7py#2(Py*`BPC_Xt4RyFP&>D0EdI5S7dI@?NdIfqFdJTFV>U6&W z9fgiT6(w&%Z$WQE??CTD??LZFA3z^MA3+~OpFp2NpFvgipF>|jUqW9&UqjzOm5mMc z-$J=v-$C;Y-$Tcty2>A*6VP1AkI+w0S=-OhFVL^hZ_w}1AJCuBUr>qvZ)j8AKhVEW zQTBh(N$3=G8ae~z6`h5w&F7%=&;{rsG}yDL+3&anU518xyaiXF;WS4i@8$AxV z!Q+IR;TE_RZiD0bF1Wv;9qxc@vO3`|xEt<)dto=+2lvAscmVdoKG+ZMv~9BmV7oO4 zN6VI*LU0%!ge@fzI10z$`OskfLTK4B1ZQ_u6h&&{aBKZAJOVFDw_ybQ1W@3_+CSb=xL)rCu;<2(wEwpkl4-4@6a9N`WORx+p zaG=~$yeZt#vdgK$8oV`}71rTRZ3g^g`Hrv&KLtMxAA}FVyTZ@FtyRy$&%yS#=i$R} z0^VGfgi~-D&cJK%5%>l8Mfj!vd91I%ufo~k*Wj79*Wowdqi|E#F?hxCChT!+s@WFa z9!g(4--V;4_u%{R1Nb5Q2!0G#Ar;|jqz17dR-`0sLu!%2syd_|X+Rp0Cd7_7{%3YJ zBOCuWMy47p;TEJ7v4-0a7t)S&ATuqUNEgzL^dP;68~GoVf_RVt#EbY4KN3KKNC*id zgGjk0f<%!RGK9pDVPpicT57_h$QUw?OdylU6f%v>AhXCEGLI}Ei^vjE9bQIOkln~0 zWG}K0*^ktPvzrefQ$wo=fHa0d1VUg0K~TgN#trhu$f4Cm?gu5zR+8fZ$ zu5jLHQ*YSP?d)3L(ug)&nov7B5UwbzDRzf9w>nTKy1t~jrWxJV-Ga8FZRk+rNXUiu zh1=2T!Va_(?LxcJaD5Nji%whJXdjvrTCw({OHH|O*5C zel&mv(fm*d%?pLm-maeFaOakSF-KF|rtJL2K{S#(+2E*LY-wvO2-TEE&?p*1`r!)D**IDl>aU+bC($W%xN;`j(=?6FptiDE)LORC)@SLf zoI~f)1#}TDEm}gC(G|4DvK!r5vc7!}x)_Ic3I;&Fxpy-peR}z zs;|aS9NpDHpd?D6G|Hf5Ar`F&aVU=psEA6aj4J40UVA}JQ&wwPzKUvSPos|d3k}pn zgAGri+sdCt526*$v93etGw8GEbLhI3=h2>q!)O9sEa(pV%aUkCZVGK_NTWUB^|={z z4LyRsfZ9DTqV+C^=OuJ~+so)H=&R^!sMGU0`UZLwJ%&0e-bCL*n>}x%@1XCZ+Z&hK z26AH|pLJbDj&s7=S+S)yknLs zW%LTV*|*hq6}^T&>D%SIj^03rb8e#Be7!|Gd^>$vzLNZG-!1eudI!CW-a~VJMZWv! z1N0&K2z`vUwN_yTzI@+Mbv0IlS+GK%6{~8uVL859ti)H4RfpAM4OkTK2o}Z4eU&~(O$-|<7{caUacmfK)Qw=HSg3Fe8^- zMQjOM##XT1Se38Zw+Gvc)%gZ<_hI|71K27CU?3K)g)kUHFciZuPacldv=SJJQ5cQY z`xuPHYJD8WV*(~(5@z$sn8jD)Q?ROR71J;sE9$WN49vuy!k)$sVokn7*fZF(*mKzP z*kLSzB{93N(U-!~SO#0ej$kifFJdoY3!^V%uV5};o3EhmRqQqFb?go7D0U2c6MGAL z8+!+P7i;jnhrN$EeIH;gz7MgFu#d4%uurkiu+OnCurIN%u&=Rp-#1vR&*A$P`wnaN zeUBZ-e!xy(9ljs2pRk{?U$9@X->~1YKd?Wszp%ftf3SbCPTzmnN$eDM8asoX#m-^p zu?yHm>=JevyMkTCu3^`)8`w?k7IquEgWbiteD|>X*aNKF_Yix8J;ti=YP<%w;8xs* z*Wz_}J>Gyf;!U_6ci>LE8E?T`@iyFrx8ognudfsD!n^Svycc)leRx0a!3S_J?!*1K z+ZVutcnA;UgLnjw;_I9-dT~;v0)6yBg{|6+4TU@Gj>vzJibBG`n}>C1tH`^-YefJ@{UHw0R%CA3uPv;s74# z87>EL2ye@7X)Mcu@y$)!3K4u$BZ^}MCcdkAH0vq+X?)3h5I=-JgFlNuhp+Q( z$bB9^j4yjvyxEonp2Sml8t=Dc@b$j=!ZrK|{sR6Y{u2H&-dy?${wn?&{yP2!eiT23 zZ}62`-^Aa--^Sm;-^Dlj-oxL=pYVNve~54LW#@f_e~f>Ee~N#Ge~y2Fe~EvEe~o{G ze~W*Ie~%x>8;Z(nW7Z$=^*JZ-ww51p_n@V;%Vl-_ga?Y7{XgTs;J@O#x_-msb*}8+ z@jvjKyjK68_+R+n_(aRjnil^*xW96ft1G|FAItw2AGRzP{fF-?I*Ge%&4um$Q}}88 z41N}O`RfbjyUyX~@eBAx{1X0z<1&5)zlvY`pKjmnzkzr9mm2dci(MW5oA@pKHhu^1 z^54bp;rHIt{M*Z*Wy1JOu0tD6Wr;UJtu zpTC)CAzFzx!bP+b9YiP5MRXHAL@&|rcM~3eAJI>EhylV&_y|7{Ac91_J4Coz*E_<* zAhD%9LPUueVevfC{bZ%X9dBExebP2W#ED_T>KP%rvUd)Q5@W z<+f?!iK3yB8Df^`&7C9Wi3OrB-`256ED_7Z3ejn4YhG8no0tqug!T}7iK);&BIwvp zOxGVERtbOr35b9RgxHl|S%(rcA&kHYg2;-K1VzvUL$Cx#@Pt5!gha@MLa2mB=tMYV z5Ygi7e3K}viG&72(a=-G)5JmI5aDQhhIp2Ej)?i3Ezc7>9fyffYl27;jX6WvDPkgf z*p?ykoY*<9nSbs94T>gBbAj zm3VzQr42Pc-%;Wi@g@;(d5b7_yiL4A_|1P zn=EIEbHsVV61YHIB-%O${g;T#M8toExJuNyt`XOXxIbQbgBbRQ{5OePL{;u>;tp|_ z7_r_X?h_;a2gF0d((;IyDT(?$g}J5M?M+QVf7l=M5BVPxRb(|e>#rd#+`hwLTYWM9|1;XbmTob!9gCx%!2t&Ibum-LZ-GC&5& z5Sd>cCR<7e$q3n586^WHF>;7p*Ayp*$q{nX@P^@0a*SL*JWfuKljIcHS-N?6s%4s- zAvX?tN@fez1#$|;?VF2d$@R_a>gLFKvaND~TqMT}mdFMFqJP=H<*@V9+W9w&bwPmn*7`GKFvpUGdyUrCSaH}ZG#5Asj4r6@P>7x_0?5Ev-@hs+DC zulkq#k33111Wu8s$us0x@*H`dyg*(gFOiqYE96!38hM?(LEa>9k+;b^WKsKF@*a7g zd_X=VACZsADylxOnko&{P_|MFHQQjNY*eVBma3!bsd8%r)krl_cFI9Hsb*^1a0}H+ zwNWl=xu%`!pgO58%3Zp%vYYCmdMP*6NA*)4s?s??c_|;|r^*5Ws-QARg{Uw!NJXe9 z6{CizI5kX-P@~isHBL=XlhhP7P0diF*|XFfHQPQ9$#Zv+$QW7Oo3RM+QDUH%8 zgEFb7sDhHGse{xZYG=VS)U(uc)brF~s;DJFS+aHxC#e*brZUtTwQIP#>IhXGc!7G6 zdWm|OdWCwGdX0LWdV@Mj9i!f)-lE>7-l5*5-lKAD?^7R8A5tGtA5))DpHiPupHp8@ zUs7LDUsK;uHGyxb@2Kyo+ZH=Z?Tqb+ zoukfE7pRL=cljl1SL`xXQFDd5N?oI_Q`LF1c{iw=)aKG#)NSexb(gwFh2x=kW#N32 zKl?s47=J)Lq#jZA4Uu>>{+Q})Z1LD~7TT-mYPzYmE^8vsRbN9}Xe-^~u+g=2QDq%n zPdCtwbQ5i-9kjdBNjK9Q>+(8V=&e<)o-GZdts8BFSp~Va`c}G)_Gh{1c6z3;gYKjk zY+ZCWJz3C0w{^7SmX-C=Zn}@&k=svu=mFYGk5{y2`Di~Kpo4UX4%3}&fyO7g2I&Gv zK|yh)yCXtxF6y#H=@>mkw|ROhJ8G)x;`GMSE!o5L2pzMH(qr_ZZL@uxo}ee`DSC7E zG(AJl(w+Hp^gO*lZ?P`YE>B5oGh&9i5(*ii)ldPfJIC)&Y8z_FDlOq&L)zl|gjAtGH^NZBx#8 zJ4_?=mMTkQmuIO1rL&4LdPn`%CY+L&RT-KcYZqIZ_ zVVSG+S^7D8W7hL@jxC;dm`>11db}e=r|IQbhF+tO&@a$0(l61yo=uLI=~w8u<5l`K z`gQsZI_&K89Hp}zo2rh{Z_?#mZ_#c~ZB|~1t6|a_sd$@yhkloSk1oi0pZUsiSB*7&PLG$BmKNrJL4QeqMNiwlro*0Z=x^!o=zyoc;(PiyJ>dC)K0*IT z|3nw&^_Txl|3Z5`!`5Hv-{{}zKj_-#KWT6NU-aMfKlHz}r=YiSDnI1;kFM=FN&7qw z`%3L8+GaaVpP|pvd2Q$DiHh^|1^Oa=iM~uMHGa=s`W{`?xjFwnJ(cr-j(8r@6P`!(W4el|W@?yWkA)fc zSQ#7Rt*>S3n0m(7HR_32eD($=l+(yGF?Ob+&A~XCW~PN{W!e}QGvaAyhCCh44rX&+ zC)34rGd)Z%v#qkC!p-zCZRP!phZ$hJOw{9JcDDN&k0-#yJV7SJgqcC6vMR#FJ(D@n zqRll?CdO2k4>56Om>FS4nQ70QXN(zVw&iThn_woHSl*_FDQ23PVP=^*W}cbxv^Fg; zfucob*0bPQVwRZ|W;ZkM*~9E*_Axc~{fsYbB<}#T$^Z<=Kn%>3gb)U0Fa~D`W>*Wz zP|Q#c&8!<@m?;m-a7>_K($kx@u5C7(XLi{IMr0&LW)wzcG-k}BGaH)>#$=vip6qy< zImjGho?)J47Cp}~&ohUa1e0V^Oq$6s{dsH5ChHOA1?EL&+4BP%t_`HbDD`;&oJu;HVm9)o)|dCn&c*3LRuC)>=nu&rzx>tfs44z`o+V!PQMwwHCYeQZDL zVFy?*+i3H#em1}c*$^9M2iXX_Z6M0V*daE~4znZdC_BdXwU4tC>?AwIPP5hZGwduo z$Ii10>>|6wF0(7_Zgvm5m)$__a!?6!`{ z>`&NF+0WSA_(0a@Y<~O;_Dl9Fwy@x9wz>Knc40cZvA4ve_%(;{kbRD zZACw_1sy-J<-}=(#Z5IWzp}rvzq5a^f3knEf3yFv<%R#U|FH$}t&JzyQ|xKB z-FAj8ju*u(HHGoB>^b&4dx2eUDT!ZXOXH!gOYCK~EPjQ(%3fp3<#uNdyBoz z-eK>u_gIhfK3iY*fPKhz)Njpis3_|kY=6W)W_PxZw-m*SV#Fb=K#O$1dd!ow8HFGUoX{?o7&S~RjEs;_e*UoitU2Rj& z%2+4Y#dULKu^z6Mb90thA6M6s>+0t`+yLk0O7eVMwPm8q&jq+37vfqw!dzYBAZLq3 zxF~0h)x~OKF>Z*9bHm&SH`qDKwKtD(<6Kj0f^(Kma#P$iH^a?xbKE?)Q0{D4;1)T1 zY>8XuiW^p%8)MFPN31!v!tLgU9ecRF+&*qU*AP3vIb*9Fz>PRT&Ql6;mANp7a43gy zIM-2|Rk7eCIFh5d!8)4TT+tF^IF_sHuwgxf1JJ+}qqc+`HU++}7;(xevGxxsSMk(8t^-+^5`UTu1D4?hEcq z?knzV?i=n~?mO;#?l|`YcY^zo`-%IR`-S_J`;GgZ`-A(F`-}UV`-l6N`;QxKJjr#& zy8ibvaEd$4o#D=M=eYCS1@0o(9lOL`=6YgRxU1YX?mBmayUCTd-{KbP3fq>7ZgY3I zn%G^gFXtY2pIfSVz|FOX?IT?exkub%u8ObbYj_J^)868;3{Bds{7RvXujSi^>iBxT zfiL`D6tIzRtZL%zyn|nKIQd<<&3tcd3*XAO@h-ld@8Fk)I{6A~7oX?cYOTm#Ztv!& z8+-V8XD{#OUA4i2KE9v#@B{opsh9Wh-WER};IkWoysLdneTWb9O+|xzMWn1D!bkbi zNQ@t;a|gaD|}OAH@}D9%kSguk^Ou_Qz+{IzpZSQ2l(P* zkcar{2+Yqq5WX>j@)(cv1V7^>d5Wibh9B-=`Oa!1+kMJ+>FY+((FZ115xmJ6TzqX>@SN{tCD*qba9BGeqMqcN~ zi@PJ!U2pJ<)}wr1c*bP*Zep9xBPef#*Xj#SaxZLGtv^tDsV-P^Zk*csvr2- z#uNOOrXTsA_`cfds-O8^_+R4f100&LL zXZdsddHw=_k-x-yBfiLG{tADUpKom{nJ>D=U+2e*+S^AXH~5iAJTg|?W)DX;IVUP_ z@ma7+~tc(-Q}^!J^nubfPct8;ve%>LbXsMSOkA05D7){ z^9Ligx}nH$B&&R9msOaH*o0c4PN)|eghruBunW@>hmhr%i8zI3p+#sF+60%-E_4W; zLP>R(5Q%gPg_g0b9-&uo3w=Vr;1LD{uP_zy34S3U%tnGjNC*oXiU);=5EWv=kPsJ! zg%M#?7!%qW#)S!CQgB+l&T!R~FfGgov%+N4oX~I2ZRKNs}1s6iKgfLr73Y0(#j4+kO3Y^g0#S4P4y-XBF zZIU1hil7RbV72RlA#948!c)T2!a?DX@Qm=R@SO0xa9G&UkPy~K{Z&aJC8PyQWky&N zjtDD}uHqMj#mI}oOTx>-E5gR;tHNu->w>fG4dJM8On6gxOV|*7Tgd6m?|Mhr9DP?P zEPqdUU-&@yQ20prSolQvRQOEzT=+uxQdo*CN4^ri7QPYIMZXok6TTOY3qJ@agdc^U zgigoL!Y{)1wqJ$cgx`gn=pVwL!e7GQ!q(_N!oR|Q!jpL?h0?rJ!f9b!^o(#;I47JJ zE(jNeOTuO0if~o9CR`V82sedW!foM>u%+d$a8Gz5dS7@TtmHlv9tqo{fvU&ClhG=% zS}cy%h!(LZY87o_tym}SjMj?{;zFcRY!bIb?V>|;ip^q+xV~rNs^P`2)9-iM3U>s9y|-S<#>v5=*1w zSz&QdjEGS&CJu>laabG?N5!(}6CGpXxL6UL5G$jT;*>ZoR!3*VS#i92PMjAD>KDXC zaY-zXE{iMTZgG#eSFDNd6ZeY;#8nXxK@k#R(Go?(+$bs*L@_bD6c-7R6sw|?NQ;cf zik!%cvt@!PijruJ)<$Jf5miwWb{w=mg{}KNc{}WG&r^M6Z8L=zc5M)VDJFG9horu!I~tdUr4eaV8k0QHacM%Dl%}LytE)KN=wqRv?A@6_DKEFz0yFm(Xvn4FCCCpB|ritNP;CqLM2SXB|;)4N}?r3 zVkJ)EB|#D;Ns=W+QYB5&B||c$r=+K)gVG`C8R=Q+Iq7-nu#}LJQc6lo8EH*ABE2BJ zD7_@TEWIMVD!nGXF1;Zgm5xboN^ePTOYcbUO7BVUOCLxdN*_rdOP@%eN}oxeOJ7J| zN?%D|OW#P}O5aJ}OUI=jq!ZGQ(ofRQ(l64l(r?o5(jU^F(qGcw(m&F_(tpxP>6CO@ zIwPHx&PnH`3(`gDl5|R9NTCD=4jM*$}@i-H{4yccpvMed&Sp zP*&`3gTjE~XC;R1q9F#+HSRRy%JC{3}^2&39 z&cWJ<9F={Jm^>uMzd|oiRBImaH8(VUA%aQ0Fd9S=r-Ys+`*i$e;|#(P%6R%ZQB1n2gIq zQ9>qVN~UE-W@S$1<#<$(MOl(%S&>y)lXZDlyx8U}FyzTLQ+`T*T0STrlAn>El}GZQ zlY2_De+>&q0cjUYBJ$YO6effd>Q1%Au8Xn2TC6DDQrCP~r^#x+}yNY*| zcjvmDHHt;4vRf6KQmaG)(ZH0WPN`QKlt!gV*1}CM+7y?v zSle6Ju5>5^b&YME&Q2v5hzGiqiH7RjZly;V4D>2)B~Tj*^eO#H?r=EZQ3e#R;!|=P z{7TpsP=ZQG$uABorItY@5Gc28tnR7l%84k$flZ}5tWjkw&|48xhLpv?bih>-SB8}l zWmIV?bhyS8XQ!*9x;U?+yLDWdP$rcrrMP9LZd#d9W|b%F^K#~tUdz0)pe!mQfhA>G zSqh8>wiM0=rUEOBQn**yr>wW_S7rkJwki?O4%Hw6-L<PQU1KLK6qG3 zDAAH9gGnW&Y!9ZDjIvzd>C6ePDLaBkloym2m36_Fl#$YY$NIVk+sn!;%53$k%EsVp zN^afu^78U0g0CxeUH+Umlx;yv*{sf{`RA3%`pxBa9ork$7c~YiC>Irb z(As)QxvZ45T~V$oJ4&u8*Om5?8_G@PmU3IUquf<2!QuRS%6;X5;^?XhE;m;OA1aTO z$4XyyqrFP4R%=v?I@oAcZECGrr*>KE)pmP*ut9B9o7B2sbJ#O*;E)(bqAvo7CqK>K+!7+7Q4Y?-NNp+>J zpa1GhoKqdad9}>Bpt_3|)g`qvxU4o-uBf}!J*v~SSB+ctsr%If z>Z%H;pbDw5T5szPA}Xq4Dy|YLsZuJfS{=EUB_u*`cVa zs;O;3T{ToweM)^=J*Xa1pHZJxpHrV#TY`txgz5|?)s&i6GwPapM14VhQGH2$S$#!) zReeo;U426hIi74hsvc9{R5w(;rEV&B1>aWRQR|D|Ro_$JS3gicR0o53?H{QhtDmT! zs-LN!t6!+@;Fs!G>euRM^*8FbYBczr`n@{Xc3k~I9SELKy}=*VpVTLte^!4{e^q}| z`PdAeHxfLho>tGOXH{SRIrY4H zLA7^XR4=KQ)o}2Ny1n$O+Sb)W<=``j%s7UF>R%BT(fpeXp`D_a7vrjX0%ytPMg;j zw1w71ZAn|!RDYLX^vjn#^#YMQ2NhGuF7_UzoJw5PR$+G6mKHW_?Idscf+TL?a{ zEe8*4OTmPe)KXen%V=xb5zU$Vg7%{Jl2(#C8+=)NMVk-K1>?3?wb!)QwKue*+A-}- z?JezX?H%o1?LF;%t-R_3?L+M&?PD#{{)zUf_L=s%_Jy`S^riNd_O9e$sx{HimxDe$_UFe$#%}{?Pu^{?h)|HkSRPJrVj>`%gQmozhNgXS8*p zv)VcBymmpms9n-7Yb(L2>?_(;?V5I7yP@6GZfUo*JKA0Cp0*`)U)vhm6ndaN)E;S% zwJN<@uhA{KRk!K2dY!&G^kk@BZ_pd{Cf%+(bf?~|x9F{Uo9@!v^$xvL@6x;V9=%t0 z>wS8^?$HNyukO?RdO#2AAw8@Q>Jh!CHmb+;Aw8}S>m&N8KBjLA?FfzQ6Z)h+rBCZK z`mDY^G^fw&3;LqIq%Z3$`fh!XzE|I;@7E9Lt2&^AI;8Ik!8)R&`pyuh<2s>}I;GP( zqq91v^SYpmx}?jxqN}>5>$ub z*7PI#3;K)tOZv?_)ZfzI*5A>i)g$fi>eh<) z^!N1-^xCcu_0D!zPDT79{bT(T{ZqX<_L=^<{)N7)rXcT2{VV-zy{q*b{agJzJumlr zJ*U33vMPRD|3Po+JfZ)nSH`R3Kj}Z~zv#c}zv;j0f9QYef9Zeg|LFhf|LL}PxT4bD zYb&cbsn^C&=_}c%^)vce-5TH05y(HM*Tf5|1G(q*3%Vs<)MTkzv0v0L>6i5@dRz5X zy*_?TzpmfVZ|b-7+xi{-u6|FyuRqWq>W}nriL2_dKG9iaR2wyhz13n^4VzJGR8-a( zxrH4Kb#Z@byxH{y-G@#Dr1#tGv`<0s>1;}@eR{;Tnu@w-ux^@s7N z@t5(p@sIJZ(G~yC=#HN>P8p|-VEl}6);MRJH!c_#jZ4O5g`S!>pr^=5phYtEVT=7PCsE}6^bin-g|V-Cdkn)}TC<^gln z1WeF`OxQ$BZyYr@bzx?e4L1psG|Pr|W>F?>GUil8QPHlp&aC--*39kZ%%4?Sf*Z5}ianI%Kdn9rKenWaO|n}^M+)`YpimNX|~ zDKp2KHuJ5{s*Jg29x*3l)z%lxQRj>1OXkbwE9O{iD)y@Rnz_{Qy7`8=q3)=8%zV@A zwy!wfGT%1eF{fiQvF*)+RqvYbnX|F?%@52E&5z8F&B}tg*eB+E>{D|g_L=#)xfuJx z{L=i&{M!7+{MP)={N6ln{$QRke>BHqKbb$9znH(8znQGYhk? zn>Wmx<}Gv5H{rW&E|uIdr+jzKd**%ffmvAm&}^-EWIi^l64i+%YfYlRq_*6WuqJGY z+C*KVJ~8c^^))0K6IBJ(&0890d~+R3t~uY5Z{F9GuqPILu_{Mm#kbC1SLIAJCt4D% ziA7&qV%g_Pv?n?eor$hQcj5_uPog*BPPA9|CHfPd#6V($-<#OtU&&eT_a*#^K*C|E z$=U4RN>v_!6don24l`Hh5` zs7h8RYm%0vHEB!MChL;*$%bTOvMHJGweId zllhk6bJJplwO|6ft zi?~yLss5BFHIVYAs=ItCe`;ZHelU<)91Nyr2Scfq!EkDMa4@wr7)eD_9o0Q`%QlNG zmKsXMQ^To|)NtKsYAiLLnn-PkOs1w%)2W%%Y-%nwpIS&Qrj}C6sg>03)SlGd)V|dI z)PdA$YEuMAJrMy@n(aX-_34ImV>&C+ zl(wh0M;z(Ah%?=sZb`SM+tRLdd%7dtneIw=r?*9V(%F&Tv^(9G?oWHt18HyCm(Gvm zL~4FHHM$%{+OXF!GO{S?doo+5>(%Z+_^o}tu zomCsls;uYJ0}dfArlqu;R?=!(OFNv|F+FXh&2&{JCsv)QtZm4v$yhShj4e}}sms)7 za$^md#!OSjo*C?LWSp7iOiQLU)0S~%+B5V09htmXXC^<^l_`jIXL>Td8F!|!C~IK4 zp)WIL@6UKL3k?GqZ^oDLX9AhUhF~U?vA8xhg)^Iqc8=9#4`zx&qxJ?@S6Qqfk{Qg8 zW?HP#{8(n^$d1yXOg!Tm9M0?-8Oe-h#xmoXt+^AK$xP13RAxGpJu+B6lgSz>bk1hx zGV_^*OtWnzZvX(pbCJ(AGOvx8@$JU+WvIt!`KwE^<~ht~ITB#_Vg^w*Im4R>zum%$^l1 zcdj+BwXC(SwXF@b4UDelD6PwJudVMaaurr=ukTyyUyF@-)&|zRYreJFR{xs4(_IoB3#^qE1lK}q zd5-Yf;M%6z$XawQwzjT%Xl!I`Xl;0GY%D$&|38M#LMs)7jiS#oH|C#PbL|egyW2#h z8{1`fck3Gn2#A0JVgLdH7GNVH+^6{GEzb9yv-aMtDwivyyRu#Ru41`v}Z?E-OMl+(MPl{33KV26T>n%$k-RTe07 zb20O~e=8Su7kB@sT-sgU{i(!JzbRLCS9kLfYrE^a8@r#Bo4Y@h|0usIw|2L8zbkik z0eYYwqzCIEdZ-?z|CaMh3D+a^NIgoA)?@U)l~{eQ5~s)O33{TQq|Z^3_5UgznifeY0MumzRq4Vm-W2qNnFD zbEJBiUapr?6naRZQctNwmH$tn(yR5n5{+J~|3{(Ix9I=LY1MyIwCUURGHi#wQ~zDj zrSI1F=zH~j`hNX@eo#N8AJ+d+jOa)8WBPIZgnm*#rJvT%=)b^b^>cbYtx-9z=PMWV zi~1$~vVKLss$bKu>o@e9dNp`UzpZDJck}=Qk=6_a8h(>Oh9(l&05Je%{7 zPzE)$R>KVN5?~<)3O67OpHN5x%78YY!59P9fHU9?1OrG$G>{Br1I0i!&iN+A#o(KqJTq zHvUHcC95og7(dAX5U8!MJE#GA{0i0u>5M;9(|9oS0QbMGWQ5X*4{UInY3KW-m52a_Nt`-DR&PdKy`jC~y^+1qy|KOVy@|caJ(5%f%p;?v#fYiB>Ajh~*}b{F`Mrg` z#XWh&(%$mk%HHap0=l-hzPGWrxwo~qy|=RmFab><6HN*>$qOMSsHqV2D@TZinc${> za}g$r6lp@4&?Ygqz7S)gO36~X6l=nn+6(a}hLm7pN{J?plw`u>l1&s7)kHJVO$-y$ z#4_oivI>^80wc;}n>Z$}iDzOM`}2`b_<% zuaE)LplQfdD;+kCm_|)wrg2l9bi&jioit6E=)h^yj0s*oYnn67n-)xqrX^EJ<+5qT zv}&rCu9?UUumTB9xV*;3gW{??dhM1w|Mk&k;HzUkQGs=uMW6W4H&WtxVNeO16 znPeuLDQ3QuYNna#W`>z*W|`S$j+txbnQP3o<~nn|xxp-uHk$e7CbPiYY_39yBuaqL zEI^9PVu=hUHcQM>v&<}!$jwriRH85|%__6ntTAiNI&+J;)vS=TncK}xbhV_z+-X)y zWD>dLGhK<4p*4~&vr5u!?lBATy=I*x7uIL)HxHNx&47v_vsN-}9x;!a$IRpA3G<}6 zyiiv@Wp0s7n`g|k<~j4cxrNzLxnN#2mxEd*OXg+sih0%CCRsDDn>Wmx=FcTt=56zi z8DIfgKo+nCVu4yGS3m=>0W zZQ)qBmQD%JQe&yL)LH5+Qu4nHF`&W1g=5MZEe(W9G~ZH&ZL$a~#FA!<(9)SJvdH0L z3ymhRNG&o8tXd3~TND^JX!RtWb+`{I4czI0!V zmhH>;75mD4)xLUPv#;IP?YHc=?zio??|1BX?sx5X@AvHY?)UBY?+@$`?hoz%tr*@P z*&p5ihd8!hT_uATDT|fV>hb-F{mK2Q{ci;&%5v=VJ_Y`ZIi*h(xsq6!Q&3s8zQ3`*xz8ye;ddXkyexys6<;aR;(3g#ajthqLpMNTPaqmwHrvY(ya_D)5@~4 ztsE=Y%Cpv3YptJvb=G=ogSFAhw>DV?)@G~FDzdht#8!#5iYm3rta7WuT2@tB1)?gg zD(k0ewe>f)P^qzMtvYLqwbj~Yt*LCcqKi7Loz^aEx3$OGYwff4TL-L48dyDO9kN2y z!&Yp`h;`IDW`(KY>TxS7XTl0qPg;>`C3?y_ZJn{A)w9;W33JwYD=HVEUa&4&m#ld8 zvXxl4VqLY;)oWIgdfmEV-Lz8FWOYaJmbE%}+lo`8)U3iCD?tr703Hz4paZHJd;mFs z9>5N;YWP7z1>&F!h&-UFQ3vP)%mMZQcYr@&sR;)dHSqvZNIH;Ja@6Dl%E6anMRhkV z4@*5z6wnT8^5_Q)HRFJ(EXC!dgRuinsZ2e7 zFmW(>z*je^Md~_`L@if0tGgZ2XhAs_58uY!Qz2Hy>zgAuyU|^uy(M1 zuyL??pi*xgY#;0#0BpbL-(f%-$Og7SY-%;s2D8C!2%A!kwEY7@+0ZtO4Qs>MxFuRO z-bS!#)I=M}Mz*mFC^o8%X49!#)N~ue#BwXIv-rq)D@ZR@f1+WKt$wgKB;nnBx;ZP+$q8?}wuK5LNW~)ZZb#UW z_J1o-cC;O1$J%jryq#bt+DUe@onoijX?D7uVQ1P|cD9{k=h}Jp8hfq1&R%bCus7QI z_9nZ)-fS1zMRu`WVwc)wb~?C@DYq-^O1sLgwrlLQ0E~u6*V=XV7JI9`&E9VBuy@+K z?A`VrJG;2o-e>Q(57-CoL-t`iPV*T!Vjs05VPke$K|XcdK4G7<6Et`YQNuz{*{AI! z&5RvLsin=@=j`+L1$%ArqJ7D}Y%c+>*jMf4K(gj%)tY_XzG2_AZ`tb$w(UE1iiWEB zQ3Y@S9W)Kd0d_zfYz@>w*RV7&M^_o#!O$=@2nW)Ea-ba;2iAde)R(|991Y&V$|E?4 z4lLxrz|rgw zYJ?7vqYy84NE}j!%prFu97>1Ep>}8-T8GZj;%Idsacz!vM~9=+(dFoN^f-DQeU5&| zfMd`xDumNk1 zb;pKd)3N2)cI-F+hrmP7A@~q-2t9-y!VeLL$V1d2`Ve!7J;WX24+)3FL((Dnka9>p zq#e=^8Hdb6)*<_lbI3j99o8Jy9@ZV!A2u8|9`X;H4h4tJhr&bAq4-d8C_R)N$`2KX z%0tzm`cQMIJ=7g)2`z`Mhi!-LhaHEVhh2x=hayeSVeetzVgKR4;o#xW;qc+e;ppMm z;rQXi;pE}e;q>9m;q2ku;r!vk;o{-a;qu|i;p*Yq;rijm;pXAi;r8LqA>asj1UdpA zL5`qDup{^p;s|+!Izk^|j>H=55$*_oL^vWIk&ehm5)I{udPF;-A2E)YN30|E5$A|| z#5<}vsy(VZsy}KtYCPf}H600#nvaA>q9gH< zYCCE_>Nx5=>N@H^>N)B?>O1N`8aNs}8af(28aWz08ao<4nmC#~nmU?3nmL+1nmd|5 zS~yxfS~^-jS~*%hT02@l+Bn)g+B(`k+BpI^fliPU?1VU>PM8z!L^zR7loRd5II&Kg z6YnHAiB6J}?4&rUPMVYMWH^~lmXqz|IJr)qv&LELtaH{o8=Q?!zO%_Ga5g)IPLWgW zlsKhMnN#jmIF(M7Q|;6^wN9P0#o6j?bGAD>oSn`tXScJ*+0fGK>~r=z2b_b>+~OhU zuye#Y>Kt=QHRH|+=cIGWIqjTr&N}Cu^Uek5qI1c)>|AlKI@g@*&JE|LbIZBy+;IY2 zKo`gbc0pWF7t95BAzVlo%7u1eTv!**g?ABLL>I|Lc2QhZ7tKX?F2!6ux?OEefU5Q;Nm)k|8sFJeK`E-}YU*ynR*(?+xW5EFuIhqMf&wJ71PSSN zap^1&y||M0AL6RG&(-hx8~RyLga0D4B8$P)Z-8kP1xfi&kI!8ZX1DJT7^ z`YurC@DO#CKLjwufa|BAsl2u13-Omg0BWs5Rpw*=75o;+s`!LKmjF$`U@CG1|5UUP zas@-KRzjX2UjQm75EKf!kw0;@;9>zVSD8QTDiM?l*mMB(KfEERj9xCN5L6086?`xV zP$j4qe5)970R%unk$_MH5{$aQ0*IijoL2|~)#gG4g%p^ex&$GB3nay3E~KC}4<$eg zFaoRqC%_8`g8z}VXrh25APXo0B$6ti3FrcbfGI#$vIJG?aTmR0!j+4dbWORYT{Es( z*PLtKRjpod0n|YCqHD>u>{@ZHy4GClt_|0wYs@AtSlTZi<`g zu9DH*bT`AzbOU58H``q;#lRxyBpjpVxzkP&UXXAO>Tj^*)4R7+;t^l zx5O=V%iMCe0H|;)-7rlJ0j^QG*?6^E<1RyJ-8wfy)8cM*x4GNh9qvwdmm8@;X}aBL zO^>_R-RJIi54hWz-6ezWA-9sRAP>81H6v~eZqz;I9(UK}Pq-)DQ|@VZfpW$zBh9+& zG;{8G_kw%Tz2t7j*K3yDD{c&Y)xG9kcW<~i-CJ%-VPip~X4}2v1{^nN_!{6b=(tG( zK874ak736G4g5H-tU3pA+^j(!qmI$Xm}BfQ?ihdkt5`}R921X8$3IAT0QtD0`m?x( ziV#tbsmHWq`mtKsTJ#ysIA$JWA*^G8l6~B)>?jc`A!SesDTi~+Jr*f>$2G^b$6{sO zu|!#a+;A*a%9L`YQmIfie0d@d$Xf4W?Zt+zRRQzB zJqQodgYuv~KrzOH^?V`VJoPlZ2VTS|0f=!W1W&d2?|fwG4;s;jxVSV2UrqBs#a(2&2O(y7m>#5<s)tVGz`w;v9{KE9OA79-XJf z)9U$2YxA^wIy|)not`d_4pdsv?dkEb#B6abMFgWjYQ+D8YMH&B+`K+dqqyG#tsL+S zdWJmp;$hE-XVf$18TU+hCOuQ0Y0r#j)-&gs_cVwXJd2*6B}*P6mM>oRtaw&Eb>cNo zK5*T$;o0DU^^bb3Gf7T0zQG9Ku^>d*h!NZev$(yAqm8Y6XXf%O_5_Inka-a&;#yCs526$X9&pN!v;LNyka&Nt?Lqr2FKP zq~}Bh?LBE1_nq{g44e#}44n+0jGT;~K#^l7<0lg*lP6Or(J)v7ImMphPAl^9r-W1DX^x0=NyO7p9)VwYSC#E zN_?uqNKU1vvQzn~;#7HBR9}Eroi^jxH1+8(&A*!88qKNpRCn5Pnx|ydpDL+&?WaYWVog&~P97d#p!r$QaayS9JncFy(R82ooc5mfo%WxWY6eaRPydG< zIxW)-pO$MzPDfA2PAfFyrxT}>r&FiXr!%Lsr*o$y^!#b1X5n=4bm?^Yv`Vvbx_Y{H zx_-KGx_P>Fx_w%$**OKA0nb2Z;4_}40@z#uIs1X+5w(2i8SD&xhB(XTP)W!$)L8-N zXHFppeTF$>RbtOdIk+?Y8Q~1XAf6TfcYKo0Xvi{75r=$M&iMqUoKeqcXY{iQ4wO^L zVVp6~YH(j^tTQ}^eTL<5&bVhJPE+L%5bvyngXZ8kRUA?=GzZS9A^F=2)tUNCbEZ8jN9xX6 z&RWkZbKA~7k=xHY&RCqzv#v8Lr~9lN)^o<=^q%#d^`8x#4W5DMzrjVtMEEywJ%_;& zb10mlv*9x?XXNZ_6`eDBR?8VX8$WB{G;$`+S~-(vQ)hMm=?n#&>9d)$*|WK``Ll(y z#j~Ze<+GJDaRsDc^=$3zGgy$<&RIWGaW>B6oXxXNj*O!qHRo-e(Gd-Z4$k(Ol(TaN zI0v4$a6sqab1esQ4n6-|rQyKNxq0wwXDb&ft)b95EW97s9lTn)gU z(s|x>-hJM4{tq`F@B{dr`-9tip2t;|7jpk0mvQ^f%ensp_n!}(leiV!!SkW>;d3H) zVq{Ja3J+)?4ST_kJUPCzH7vd@G{C+vw$co4f*VvsdU9d7HRmuf!|$%Di%~ z!VBjry(+KTTgz<(X}nsm&fDT`^|pE2y&c{HsNJ*8C*pPjXUX`@=kkaym;8G_gB%Jciy|;UGy$_>$%I`wz4{kfV<*d z^{#md1?yfGcf;FJ-N4=S)^NAHT<*4a#|!WQeIOs$2k|irp+1-o?nC(4Tn?AVMf!eM zHgZuuJ{Rr7_^>{l5AP%Rh(3}}%O(4eV2Y3Gt4Gs(bRWaV^r^TkAKSu zd|IE*$3V!qExuNtklW^K_ldYFbcavM?eul|u({p79$&Ao&)4r8@D%|DedQHO?vQWT z*TNm~>9}I8t`PO}3cpJV= z-)G*IZ`-%y1Neb{kRR-a_@RE7AMQu^Te(O-%8&MA{BkhX-vPq;@qU88j!N{C{DnBO zpW>(bY5p!Q-H*v*_?do|pY7-PxqhC%#$W4ihSZ?y{Pq3@f1{u8Z}JQL&3>U@qZJMUlKhJVw~1Z?@Y{X2fZ1@Pjp+#(+6B9{lgfLuT? zU>EQU#0ByqkB7QIUtlh<7q|=j1>u5tLAoGcP%i!^7V@YUvUzG8BF3O<27kwA~7XufA7ef~n zyy1(Hi_wd*i}8zzi^&TnX6j=4V&-D@;(PJj#r(y>#p1=%#q!0<#p=b{#rnm@#pcD< z#rDO{1t0(n@F}1GH~Sb?f#yIJPZ$93L;-O?5|9RD0eL_X zPzF>1bwCr)26TazKpC|)&=zP9fOs8&&Ole7JJ1v84fF;20|SANun<@baLG%7<-kgyQoI^i3#;`8W1Mvxg~1=&GP5J)Ujaf7^IO|Ujt z7pzbTDfPjIV7aPDRjsO2H3myn{9scMu7apwDnYP0h*E)60F^K(3W|eJl_V$)%7XHs zBG^Gw230|I5UA1w+u$`wZ4jY?mF5)cf-OO?3aKKfXsXs=TaaGf9_$Eq2B|6zwks&6 zbq9NbBo#%~8|(}A2M28boRk2m8!L=YqwI19EZU(o4L?ThO z9YkVxf_U6F8X(l50*2UNP^eY~4nab{0TLBY1r61yU?F%25o%T;L#PlsgbCHFupwMX zpu&d;p(YhEL<$L2kX8Pcg*RqZNONFCCIv>{!n zCDa;f3#nD@A*HG#)EVjub(D37ItqJ2y`jEPe@L!sQAt%Y)j()4G!zo6{#Fl%KC4GU zqoGggvCw!(qnZe@5R;*)&~#`fG#lzr&4uPe3!$&-#n4h{IkXa54XuUNL#^PA&}L{W zv>nDKCFT-)$pzsq@t6Oq z375pn95v~Zd`Y>aUeYfAQqwOPm(0st^-neHl6}d!35^_LBo zjhFn(JayBh;IjErcv+wpU5YOym(t6B)Ur$YrQ%X~nXgt|sxLK{g=+1k?y}{w^|I}< z{j%e-^Rnx*`?8qObJ=^@ciDegq8_*$yd1h5zHDQTT#jCjU5;N)Tuxq=s;4feFJ~@i zFXt}jFBdKsFN@VnmyL)b_44J)Ya^rIIa_e&YvRn-)*trCRfniV>9EOCU zVOSU*Mud@JR2Ut`gt1|;3>U_S31MQG6efo&)RZtaT&bpo>0w6rJCPY?h1ubs8W@2S z=7xFUns9BnE=(YBi1p!yaATMsZVC&+IDB(h7^YQi=Lj(h_NnkW1Sl?U9a1XQV6A9qEa%mA#R^NPlD? zG8mzi4MnK!NG^g`)?L+K zHC%OQ8?X3RO;=r7!Bw}m`KnVZyb@iBuOwIXmC~!fbYBZ(SMn>xmGbJ7PIaZe(p-Jk zX|HrwEmwJx)~mLw_N$Jo&a1Ag?yH`w-mAW={;Pp23UTmi=xX?C`KHOznZw3 zyqdb2zM8q3y_&n4zgoCjyjr?izFN6jy;{3kzuLIkyxO|jzS_A0Tm!E`*Whc&HS`*G z4ZlWQBd<}{=xfY1_8NDMzb0H0uSwVBYsxkCns!aUW?VC`S=a1q&NcU%cU^P+MOS-W zcU^zoaNT&#zizq~TsL2r$%NOUYw@+@T6!(JmR~EbmDj3k^|j_&d#$@}xo*8~yKcYk zxbD2}y6(R2x$eF0yY9apxE{P7x*onBxgNb9yB@!uxSqV8x}LtCxt_hAyPm&ZxL&+o zx?a9sxn8}_qpn@AUvFG*UT*&D72G&CJd0&D_oW&BD#%&C<>C&C1Q{&DzcS&Bo2< z&DPEK&CU(r7I+J~1>Zt$p|`MG_$}fVd5gM5-(qgDx42vUE#a1UOS&cBQf{fYv|IWu z{foOxK-Y& zZq>J%TkWmxw&k|1afiG^-J$O=ci21J9sZ7RN4z85k?$yX)H~W8{f=?Rykp(5?>KkdJKkN*-S4W} zySlsjyN0{QyKgZ5UDKW5uK7-QC%O~gN$#X~vOD>m;!b&|x>Mh2?zDHhyOz7wySBUb zyN<`yOF!myRp0RyNSEWyQ#bByP3P$yScmhyM?>O zyQRD3yOq1IELg?2qKXnc;%mjj$ckRm8&Q%W1`|obrDQOIW2WS?O6^lydmshh2(F8PrC5FprKvp3XSOj8WigDFo7KHT+4P~_y!dM_+IUUX_!EE1& zNVyOMtE-S$j%4K%P%Jd75{F@7SvXcp9+8D-H4_OeDwxFDxg)bEEGny<@Rih-Lu37b z(^)N*e}Ne+CaVivjA60ZtSSH<#$j<;1#lj#hJ`2v#DFnS3><^RpfOks9z(>W<;WN+ zhK^xkrA4h8Y^+U#i{WDpSVD{#BgM!uN{kw##ptn8EhEN^v1064t(X(z#(1%sSZ%B> zrp8y7*T))SjWK?#DJFU9s+1PmEZm)Aq*lz>ZG92f`1!Es0&8i&Q< zaYP&$N5#=`OdK1>#qn`MoERs?$#F`Y8mGnSaYmdOXT{lZPMjO(#cSfV@w#|@ydmBg z=f|7kf_QUW7#GFGaY{ zcz=8#J{TX0564I1qw%r$czhy08J~(z$7kZR@wxbXd?CIVUy3isSK_PjwfK5`Bfc5m zif_kv;(!D&0ZM=qkOVXVOTZI|1Tuk2pc9w`Hi1hNcDJ)Mx!QweNXsWgx zMJq1O!4$#ja?46PX?3N46}MNgL~KzTMqSDgbrj@-iN%aEu1G`SiD(ryN zs82K`8Wa2kIKL?&NT@VF^P3aGgeW0SR8m^tl7uuNOUM(7ghr!Gs1j<8I-yBu6S_o8 zqBYT$Xisz`IumG2SE4)7llX$@P4p%D69b9C#86^5F_IWfj3ves6N$-$Rx_1opjSfy z+UdkhqFg(h0Bh$GAnkmjj0V&$Bo-4(i7E<2yPUviR}!m?8p9P%TUgya(OGwP-E)zP1XXZ7+e`L+@et1T9$$zen67?*-MUdsS(L7OO?y zWA2MV*n8YP{=OAMxNoZ<-s7}*?SHTEB9fMLPt}s|DfiTS+CBZAanHQ3)Uxi`_ndo* zww%npm*n&AYwo{bYVYgr>+c)xY1+nn{(aNE;J*1@crUsa-_x~qRSd1wT@Z?Y{lKAUa0ujZE&HfWo*pD_dXgZD%C!}lZiORN;`c& zb3c1OcRzo>aKCuJbiaJRa=&`Nb`Qy2zu&m8)^6T!-9rl-^S19LTA_C5o?ZlakZOSs zA}#0v`~Z1?KENKtTKEIvfmMKf5K&MM=m*S$OpASJ%f~(79|#Y`2hs!if$|{NDz(%H z+5`PTp=CTUA6O6U2hIccf%l-&);y@SwGVX<^$!gXjSu{XrU$`8^Mmj~^dNqaBEOeP z9;6Q)aM^?Wp`l3epnOn0s2?;B+6UbO64Ua~`q1{!{?PHz`Ox*y{m}E!`_T8$|1j_{ z_%QS^{4nw``Y`tJw`lxf;$iY(>S6j}=3(|>?qU96;bHM%>0$X{tXw0=K=5td;~p$A0dy>N7y6$5%Gw8L_MM(F^||s+#~*x@JM_lJ(3?OkJLxnBmI%_ z$b4iyvL88*+(+JH&13Cj-DCY@!(-zk|FP*&@Ywt)d=x#3A0>~{N7towv`(wvr=VRAn_hZjv?_=L%|Kq^p;N#Ha@Z-qi=;PSq_~XRmf_qu`s2pq=Hu4m_T$bY;0gEydICQ|o}f>#C-@WM z3HgM2LO)@iuur%r{1f4c_(XalKT)2jPqZic6XS{b#Cl>sah|wOyr-I{+NZ+&Zi=L| zjZpU_6@I77gfx&8(O4!IDuha59Ze-v3$_2vpLD_&VI90x$e^?dah3H??ZOTrzOqyJ zPe~Q9OPH5SDc6>E3mcyP5`7YV7PS`ts%U&_MB!?GQ!4Sr)Gs0)^{WU-s3_$>!3&tV zO;3WS=BHeM@JaL}ev&*jTn-;7W_sh>1Y+9x1i_tf%KliT{# z_SF7_1j-9Ko;siYfiuWmPi?RgV)s*5sTS1p)ce%;)c-W_^ou4n2YRg~ee0 z@YBdsX?Z<$^r^M7i1HQp6UfXTdm4YzVJ4nnd!6^llm^p&U8Co~p|Mxn?U3?I#Jf~-BQKmA24{;#s# zcp~sOpGvR_8lKNB+xt>gUrap6vBxu?* zolk#eJnP8JXVx?One)tj7UuGvHAO5wgU{px3TvKgpX;8XBo4p+x#5||Z+zxIH$4lU zo1cZxTz(#0^!%A5ewIA5`O;_Ev;0}{T>oD*Q9i4l)z6w|?Q<<(N!LBMJhwi#J-0u1 zJa<0V@w=WmxgEsr=X!o4zvsF4x$n9Exq(0MJowD#4?Pb*k35e)k3BO;_1w7#^xw7+z`Aagrkx?Z|p zdR_|Hy)S(){V)0KLiWJR;LFg<@XN@{=*!s4_{+r00BOp#i_b zsvxh>SJ*53RZc*>B45eHs8{qWmhv5gdBwhd(*C9Wr>t8;L*riYuY}hxS`vWxD#|Cl ze#d^*e%2OL{-Y(oe$!$rOThn0lF;9^lvnC2?e%Z%|FjAS{gv^`d}Y0|Uw>*juN4K{ zS1FzMN-y}K{a0J_TKoD-`&&yS)V?qpB0H`$l$PYxsplS9ejroqay7Y@Tu*K!HZ_>Bc3fY_dP4T9DQ@yF*G;i8B-CN6B>s#Af z`&-9b=UdlX_gl|f?_1wn|J%UZ;M>sK@Ec4w@;3T5_BQ@D@izH3^)~%B^EUf7_cs5w z@V5B2^tSxA^0xZ6_O|}E@wWN4^|t-C^9D!(Q=k+$1xZ0ua2+fKPa#ss6e@*IVN%!> zE`?7KQp6M~MNUyt)D$g6Pcc%=6f4C}aZ=nAFNM(6q-s-jsrpnysxie+HKhcp=9Dlc zN{LgFlr$wv$y17yGNnqXQ<{`ErAxJ>T2pPQ_EblzGu4&qPW7aEQ+=ua)Ie%5HIy1o zjig3XW2y1fL~1fMm6}e?q-Ildsrl4GYB9BxT28H`R#R)K_0&dcGqsi4PVJ-s@4$D^ zJNO;)4tOViVgG&9Xgv(ub3H_c1eq-)c4>H0KA*N|>Z^V3afLAp6D zOpDUuv?MJ}%hK|+BCSlT((1G(txfCFE$P;DTe>~nk?u@)rMuHT>E3i-x<5UT9!w9V zhtnhJ(ezk)JUx+~Oi!h!(=+MW^jvyAy^vl^FQu2$E9uqrT6#Ubk={(BbzAA}^iCS^ z0sH`cfIlD~&=1%L{6pA+_&|Q3KF}YS59|l-1OGwzAbyZO$RCss>IdzE{=xWQey~2+ zADj>F2k)ciqxPfjqyD4eqw$0P(exqsX#Nm>h(5$0k`L*J>_h&c_)vbRKGYwY5ABEU zqvfOZqwS;pqvNCVqwAylqvxadqwk~tW8h=(W9Vb}W8`D>W9(!6W8!1-W9no2W9DP_ zWA0=AW8q`*W9ei0W94J@W9?)8W8-7E`vo#AA-8D6F)Q=6&F)MpwpjTwHXDI>@< zXM`D1Mx2pkq#0R8o>63!8C6D|(PXq4U8W_|nrX|lXK=cXOlPJm)1B$b^k(`p{h5Kx zU}h*YoEgcCX2vq(nTgC~W-2qCnaRv%<}&k{g$zUnmBD0U>X#yf3@$^;P_nOZv?@QhW6A!7vt_^G9NGW!xH6usMpi4UlZoi{vIZHWqEUt>w_|?h@qv8V-|%1Hl}wXN zAZwNhWg?kaCXuaXq%xUIE?dj2XB0A}OeNFE)Uu6?R`v@E1nFcgvR2t&)HYc@zFpQK z+st&zx@3RJyJer`+LCtgXZaU7sIr>WmiJZuxBP$dR? z<6F`H%74k*^IJ=Q%X8%Qgj{)^ys5aFkS{Ng7s{20T1=6=SY9G8m6yqDspWEM!FOt|Qcy(KRsyncJXj8tgX9qT|B5;*>Z>qds2nB-X5n(Y93e-_ zQF0JmDaRI}<)AD^j+MiTs=zooI7^TdIXugg7gp8DYvi?ZM7CbuAjbk5<$QUQTp(|j3*{oYST2z>0LZLV{tGCR z%jF6=DvQq6<1txm7MI0m30Y#6lqF}s_yl5NelW!tkI+0JZNwmaLC z?alUO`?CYt!R%0WI6IOZ&5mWqvlH3L>{NC-JCmKw&SmGb3)#i&Qg%7Jl3mTNW!JMC z+0E=$c00S11^fa20sR60f&78~f&GF1LHt4fLH$Ah!TiDg!TrJiA^ai!A^jo$q5Pr# zq5Yx%VfB#_GL3AnVy+sG9^=z%xp{8gt@8015{@-%W{d7Ov^Pcn0ImslG&<*s&jX2i~6yViBB@7mC{ zu}dR2b?Ky1ip-;d&0Sl%wsvjn+TOLJYiHN4uH9XGy7qSM>)PMtFbym_(A7X5>^jsX z)Rp)e$x@$K*8!LL=K9Kg%~LCUmA)o&?6}E5m9N?dAT_>PU!8BBuij_$0Y1zW49PML#LrSean{SSX_1S$To>C7~&iSTRa}e(nd=yv# zjh$IPP4qQu4xi+!Eaq>@JPRhuKE*fJqxzh_hDk1;+o$<-UxTmF*W_#VwfH=~3Xj(} z-`DDE^DXc#^tJmG(=g8nsKd9&x7fGDH^Q^jx6HTPH{7$rx6;RzVkN75gT}A+t?{k( zt@F8z>wOY9(zC(0(dPj+`5y7;$SBXWxto1kd|Q3ZGsbvEd$#$u`*!%4@}0h2KD>0d zZ;x-UZ=Y|!?~%F#zL~&5-yvU#ztmsmpX)F8SNJRaRsL%KSWk_=)<4cu=bz^v@2U4s zE;IT8Kj?@2u-`ncwZh~#`w>6tpWwm#xS#Noe#&q0(|*Qp_1pZc-|px9ykGE(eurQ3 z%YIwcP>1luN%QOeswoZrIdkB-;@n1mlYbuG>~HaV{MuBnf4;xf z-{xQ7U+8c5cla0iTW1Y{7W=_*OZ-dy%lymzEBxcUEB&kdtNm;IYyIo|>-`)2` zvcTNH6mNN;B2XEq3RDMb0=0q3-nsxYeqLabw?1GDO!WeRXk@wU=APwG=K&0 z01+SqRKOCT15Cggum#wFJ-`L{fDjM^j(`-914=**I0LSLJD>&hKtrH0&=hD6v;;f> zZ(x3)HP9AV5Lg&!4|D_;1r`Se8|$l=1V&DuDovB7OJ%c{29^bu2UY}D2Abhj0l<;V+><#P-><=6W91I)^lmttI zWx=_@@?b@fy7hE6Q5ZoBt6x6f6mqhRQ;7L*=20&_sC1WTk3hgBzGwr-GWpQC~NWnB3mL zkDFK5(JfyHZ-(x zSR(?tCl7BN(P*9YNaM)Hy3oQ2qZ&sy4y&FQst*}MKnM&$Avk0TnL|hj4PhZXM1;r? z6|#ir5EHV7Y#}ye4{;$rB!t9}BP507kP=cu&X6nQ4rw7h)DUt^X$&=mMmQgFj&wGM zMmbwTp3s=e(ateWZ)kp~HB>WYVr^S!L1KLM7qS za9Mb6xI7GcE5eoG`UzFx>TpfCHe45;7p@N*!$24eLt!{<3Y)`77!6}#JWPbiFcr3h z=`a(vhHYUsY!7o`$jgU?uo!lPrLY`U!fMzVc7@$xEv$zd!j0jkaC5jN>jGQ29hI&AX7-ZkO1;dSBl;SJ%9;Z5Pq;Vt2< z;cemV;T_=__MPEDGk1k&+Gp8k+vnIz?4|Z;Qx?F3XBlgUjIXNO9WJvkoLpW#*S;sb zH(WhyU$}jIxqW}wGr7V}lphEm3|HDofSy)mA6RlITy6JED2deAOCwFCwe~vu{IYrW zdb`n%)lMy*jN*W@$lOSIq#{xosftubY9h6fy2!l95WPNPjEu7Y5ikNp;D{+=jvx^< zf<^EM5g{W~#1f$+OvDd%6lspM zL_861WPYSI(iT||Sr}=LbVL?K7DtvumPVFEmPb}ZRz_AuR!7!E)<)Jv)<-r(Hbyo@ zHb=HZwnnx^wnuhEc1CtZc1QL^_D1$a_D2px4n__|N}{FFvgq7sd9)&08Lf&|M{AjYqTx8Ai6Nx9_@%OiY|^Wi7t&Ui!P6@ zh^~yTimr~XiLQ;Vi>{Auh;EE-if)c>iEfQeGE744#VHYX0oka|I+XY!&bIz)GwDK>kSB#LFjrpux^rik!F8A4)cY{(o{)GD2# zOT=P$%q@ZN0d;nNXF)iRnw@LB}T`Xm^EgLv9TH6 z>0Wz`i}5ibHrqSXJ8-%fo8xuFO1x4`jw!J+Z>hK3tHzwMxn5Vy9n)fZtRYt6t@Jj= znqtkdmROb76O-z^vH7vqSX<0GbwO-ltUcBdTNGOyGkcfB5bx61ve@$2iWur$8Cw-w z9a|H_y=!BncU=tgu8(bqZH#S-ZH{e;ZH;Y7xxG8RqTfIme zjbm|}7mpKhGET)UaXQY#t#MnNjoagO6c^{?kKjUFj632|T#hSoHSUai1=loJ+#T2A zdc1v(GNZ;@RaxzAh}U}OdF#B5@uqllyx!XqpKkQTjb3kjetcMYYrHMKAigl(9`A@R ziZ6~Yi7$;Wi!YC_h_8&Vim#5ZiLZ^Xi?5Gwh;NKi*Jwbi0_Q=itmo^ ziSLc?i|>ygh#!m}ikBox6J?3HiSk56qB2pHs7}-*Y7=#dd5QXjF##mN1eAairi3|x zB+vwwz!OA*Oi&3+f=)0AYr>Xb6ZQm`;1fbZOgIu!LQW_NHQ`LS67GbS&=U=b#za%1 zInk2vB)p0FiPl70VnJeIqCL@(Sd>_tSdv(pSe96xSdmznSe00vSd&vdGPx?bI=LpfHn}djKDi;eF}W$ZIk_ddHMuRhJ-H*fGr23dJGm#hH@PplKY1W| zFnK6hk}6G=rRJu}Qx&PoR8^`vRgQlxPkOEUs3Qn0)<`j}bQ&?qLOrWeBgbQ&)hXOV zcu3Eh6y>pa)~42_)~7b4Xbw@5 z*^+X3+#b!Ndm22Ao+eMTXZY-`sTPmNn%x_ zrpwZE)8*-kbY;3KU7fB;*QV>z^V0QcV;V?Y^n&!l zbbGoZy(qmny(GOfy)3;vy&}Cby(+yry(Yajy)L~zy&=6Zy(zspy(PUhy)C^xy(7Id zy(_&ty(hgly)V5#eIR`>eJEX$Db18+=4Q$>6`9IRRi-*qlc~+rW#(n-GsX;%0W(kr z&X_Xh43a@JSO(7!88SmRiX0a@uC9-6e%388?mdRSPwk(^qXSpn& z6|!R1k(IJ?R>`VaXV#TmaHf1&CbuZX4|q0vJ12A*^ca@?BeW_ z?9%MA?DFi2?8@w_?CR{A?Aq+Q?E376?8fY-?B?v2?AGkI?Dp)A?9S}2?C$KI?B49Y z?EdV5?7{4zY)P&(SC*TbE6-KrDsxr2>Re5(HdmLMm#fbib3hKvK{+^Q%9(RW4$WaX zJV)fn9F=P*AFB_YIZkh#YspQmm;uqb@%jXPqW-8pNuLQZIVWVzP0=Uo!_2lETt8Kx zu20iv=reUTXV0lqXX(;(E;n1Bqsy~P^r8}5FVpAh<@%)R3cXV2b5(kCg^;V(#hfE2 z}SF6wRD!Dp+o?fr3Iiv2(xpMBDmIHKbx}F1dNQZTkZq^YU)p5Nc*O(h(!t|yb zp*QDRa-N(wH$T^!Ys)RjEzGs&rngKh>&Pw2@!rL`CAp=!WjVnsdY9)`-+?L$d+_v2IoZ{V)Q@uNLyK=j8dvbeo`*KZX`*R0! z2XlvVCHc~PS$=N5JYSKo%va^B^LlelzBXT%*P7?$>+^D%G0%GKULX(Vp*);7wrA+%75Ult%KWN)`LxyfHTkvq8Th*Vc+2|y zhWy6-ru^pomV8s~*1XrdEx$d#Bfm4hE5AFxC%-qpFF)VAKYt+K>OGi0lrJfi7Rm~9 z3+06c-ikt-x3W+*zN)a$+wQF{)D&t9b%l9_4sU(ISO5xO0V==+Q^8z73TOcRp z1#e+~p|#LfSWsA4XfJdW78Mp3mK2s2mKBy4=!p|OD+((Mk9zphNuJ4`DW0jGX`bmG zL-h>Ls>15Rn!?(`y2ARxhQh|ero!gJmcrITTj}s=l51OGdtpaGnPw$+7IqbO7xonP z7WNf-{(p4Y|9^AO4*cKz-2an@;o$$pJ{~HRbeDFQbbmFsx4pjG*bQ_eozcTRJ@Lbd!@nQ?<8b(JoQ5sdeg|4V^tbjh#)M&7Cd9N1je^=lssr z&bH14oeMkLJ3BfTbuR8)(z&#AS@G57ohv$5cCP9iXc%NL7#stK7={{#8HO817#=Z< zG>kHgHjFWhHHfHI6qS?U@vQMP;}^y+jb9soGX8A5VEo;9(fGIVvhiPIz!)@! zj1gnpm^NmNS!3SVZM+J&2IvL!2KoTk0@nf812+LT1AT#hz@5Ndz}-N9;6Y#@U;u^# zBY;uBXkZL59+(JB0;T}dfEmDSU=C0MlmcZyIZy#q0o6baPz%%n^8gqy11P`(c0dFq zKmk<11-O9*pb=;Ryuf^*6=(z6fknV#U-}APJ;^43Goz zKmq6ht^%(HuK|03y}>@Zt{s{gI zUI2dqe+7R7e+T~nFM^lAKf%Aif53miF3<;tz%UpAqhK6Nf+;W!X22|%2Mb^~*aKb# zT@76W^@4gseW2^1?w%W<8=;$_TcBH^+o0Q_JD`5hozPv--OxSIz0iHo{m=tYf9OGI z0Q3;_Ff<4GK{UibR>%giQ1QwRBti~Ih7?GH8lg6* z19}Wv3N3?HKr5j&&{}8%v=Q0_ZHBf&+n`<09%w&w06GXg4m}AShMs|*g*u_6&~fMlbP{?OdJlRZIt_gYorOMuK8MahUqW9)-$36&=b`VQ@1Y-{AEBS13(&97 zZ_q{P67(1JH*^{L2l^N4g8Wbria=2)4yB-Os5jgPz5%`oz8Ss^z8&rd-wEFZ_lF0- z55WWBL9hWH0uP0U!H>YB;IZ&{cmn(=JPDo&&xXt43b+!kf~(;gxDGbL01U$>7=bYu zhr4?Sn1m^qhOMv-w!<9E!y+ufD(r+^up8Fl2Dk}sE{-32U@tr$ZiU<61@J<+16~9# zg_pt0;T7;ocs0BRUJI{-*TWm&jqql83%m{94)1_>!n@$z@E&*{{1p5&d>DQPehGdV zJ^~+wUx$yuZ@_QD$Kez3TkzZPJMby^J@|e21NcMuBls-*3H%xSIeZTO0{#mA2L2X4 z4}TB;2>%5C3}1kMfq#X6hyQ>t!k6H`;J@L^@IUasa2M=@{cr#d!XY>UN8uP8hZArT zPQht72j}4ee6{HsQ!i6*({-jBOgEZtGTm&t)pUocuc@EuPSd@n2Tc7<156K@2AKw% zhM0z#hMPv1Mw&*MMw`Z(#+k;OCYUCg9yLueO*Tz2O*PFl%`%mk%1q^^N>iO_o~hmh zn#?BLM3^WOZ4yk9NijK1E>ok)V`?=mFfBB-n>tL3Op8rRO)E{SOlwRVOdCzb?|su| z(-zZK(>Bu%(@xWF(_Yg)(*e^V)8nS6OwX8}Gd*v5!Stf(Wz!MUE2dXXubGaTUN^mA zded~=bi(wu=^fKa(<#$w(+8#xO&^)gn9iBLFnwwI+VqX-yy+*?1=BC4Urm3QE}AZz z;-;*r+tg#a%6yHvkNG>~ zoHl37Idix9D&!iZ7t$N)gItf?h}?wSjNF3Uiu6VLA$K8nBljTpBKINpBmI#Fkpaj< z$UtNWG8F0V8IFuVMk1q;3CN?!BxEu&6`6)iM`j?ikP@T}sX(fbYNQUChtwlR1VA7J zMofqq!4MoF5E7vf8etGCVngf*he(KwsECH>NCVP{G$GAME7FFvBab1=krl`~WIeJ0 z*@SFCwj$e+9mq~(53(0IfE+>|N1i~QM4m#PMh+v-BAv){$n(ex$cxBJ$jitPiHtrm1q@Ojn<&GXdMcmAPS){YC;hdMM;!GX_P^&s10S&?j8;mP!V;YF4T=` zsE#(GO=vUPf_l;UXe-)=wxb>BW9TAuF}eg@iY`M}qN~u==o)k_x(;2BZbCPsThMLj zc60~26WxXGM)#n5(S7KC^Zgi&=1j%&@<>+^kei>^fUBx^c?yH z`X%}m`Zf9udLI1_{Q>XR1B$`6gXb#PzS7BFU z*I<3H>#&=!o3UH4Td~`)+p#;azF0r(PV6r1ZtNcHUhF>Xe(VA4L2Ll_Fg6eygbl`q zU_-HC*hp+VHUWDSn}kiqreIUCnb<6B4pxfI#mcb?tP-onYOp#C#!Q$QLogJ>F#@w= zTyZ$tfjKcZreh6QBi4+yVDqt7tPN|&I!Pa9Nu#MOzY%{hE z+m7wPc4E7*-Pj&%AGRMmfE~o1#-7EV!(PB%#*SdGV6S1XW5=*Ju;bVX>@DnV>>cbR z_AYh`dk^~n`w;sGJA<9YKE^)5KEpo8zQn%5zQMl3zQ=yXE?~c6e_$7}OW0r7-`HjB zAM9VO3-e)qEQp1%2o}X+SOQC8DJ+NOv2LsfyBhC>_s09+*W)+fH{v(rx8k?qx8r^B ze)ygE-S|EDz4-n319*S@LHr?n5N^PS;6w3Y_;7p#J`x{=kH*K~WAX9$1bia?C_WjV zf=|V#;nVRM_)L5jJ{zBdm*Ay%89o=Uz$@`8yc(~;Ywkmw*DBNh?MiPgkfVjZ!8*hp+5HWS;3?Zhr(53!fnN9-pK5{HP# zi6@A|M0d|K#0$iW#1Y~Z;x*zZ@j7vgc!PM8I6=HkyhFT8oFd*M-X~5I9}piBXNa@J z$HZsE=fpYU3*tQS9q}XaGx00&8}U2w2XT@3llYssO#Dl95k4Y71c?w4CL%=}7VlX*#Azm5w7Pl9R|O z*;=F@7Lx5`2f2t`OfDgplFP{D&W%w267|0iQG(XCAX2=$sOcQ zau>Oq+(+&w50D4RL*(P+6XcWRQ{>a+Ve%RBS+bLSo_vAq?s<`XiF}znLcT&CC6AGB zkjKdr~7wIPhWRMJzVKPd_$T*oGlVplalNmBg=Eyu*AiK#P@+#_T z>KdvS)tl-=T}xd@T~FOe-9+6?-9p_;-A3I`-9h!G`cZdMcTx9J_fhv#4^aK72dM$n zL)636KxzzFQf1U!s+_8zDyb@}nyR5{sXA&NRZkfyfPyKMVkjHMQVvR@RLVuUDUE8Rnkf(E zrRGzu)BT*EumIWYpC_q25J+vnc6~aqjpdSsb{EXsZQzz>P6}$>SgK`>Q(9u z>IC%`^)_{idXG9youxjeKA}FPKBvx6Ur^mWUs2yu=c(_g@2MZCAE}?HpQ#Jf@6<)= z67@HAnfjONqI{H}3Q!>`LPe<<6{iwZl1fnps++pXa*d^zrH|!0%k`F4_gLW43?pm;g%7WM=T>Pqb*}BV=dz>6D$)glZt-6DVDjG za!aM9$}-PVZ-I+8Jaf^7hZRkBq=m9rEOgPGXD_R$5kD)>zhBHdr=Vwpg}Wwp;dF4pa@g{WwH&n^vmCdau)Jk?+j7!!%JRPDwBua@5|zgsR^E?F*H{jh<=zJNDunYjyIfsr0Am?MUSP&6+L(pipIK0 z^kjMpJ(ZqDPp4-TjdXM961tQwqvz7)bOl{WSJO3gJ#C}`8l)i_rcJb&Mrf4AXo4pH zbEa8o8_m*onxlDIphen2OSD3}Xg96X4Rj;jM7Pi$+Dp%;Tj@4>0lkoJr#tA!=tcBm zdMUk(UQVx|SJJEK)$|&AExnFjPj8?%(wpeb^cH$6y^Y>Z@1S?myXZaiUV0yWfIdhc zq93Q9pr53lqMxP@)6dY)(w+2k^z-x!^o#UM^vm=S`W5{tYpL|>qPqkpF_(SOoiw4V+XkA9d=&`CN?XXq@Qqw{nReHGK2xsJJkxskbvxrMov z>C5zE?qLQn4>1oj1DQdLff>vUVTLm!iVm`o%qV6oGme?SOk^HqCNYzlY0PwHHZzAQ zVM>{~OeIsrR5LY9EmOzTGe!nrKn7x9#>Aiu#^4OWkc@?)87pIBIEH5gMr0g}#K?@o zsEm_wF>XdkSZl3y)_K-?tI-NrA*A79N>aotZ zwprV)9oEOJORX!c>#ZBC8?BqITdmuyJFI)Gd#(Ge2doFJhpbOnpR_(@ecF21`i!;H z`n>f8>&w<7)>o{rT3@pswH~v+X+3T|VSUSb()zCTl=VI9`_?nov(`_npIXmZzp;L6 zJ#YQV`m^1MoZo9+Q&vuXPUfcb)0k(&1gKP%dVB09$XxkXuINNyJ1lvU0qqfPmDYmJ$X}0OM zS+?1>5?i^g!d7XkvQ^t^Y_+y|Hlq!&K{k`E7%{M6Hrz(pEH=hwwb^W}O|XeJx2?g} zXlu5$*u1t5+ag=>_r7h3ZMkiQZKZ9MZH;ZMZG&y2ZIf-YZL4j&ZKrLQZMSWo?SSoZ z+Y`2@Y){*sv31&>v%O?HVtdW@y6u?l4cl?s3EMlileTwlr)=-p-nX5$ePBCdJ8S#c z_L=Q-+d118wl8g8+rF`VYx~ajz3oTa&$eG}f7mYCF4_LH{blR2MQl-9!j`h7Z8=-s zR~MAj`v^OV9nFqm$Fk$t@$3Y4BKs&iiJi<&VW+aw*y-#Hb|yQEoz0f8rED2Hmn~;2 z*h;pFtzqlfdKO?o7G_PXnMGNQ#aV(SS&Fr=3~Oa=EX#5%&kC%_%B;ewtdn)I?qUJ9 zfo)`)*k-m^XJuR2Hg*BKkZor>*vHsK>|%BayOdqVE@xM;E7?`-YIY5~j$O}gWH+&! z*)8l=c01eMvxD8q?qYYdd)U3~KK1~6kUhjc&OX6D$v(wC%^qf-W1nYVWM5)mW{~Z!4`xg5)`wsgqdy0LJJ`j z8)ai`oK3PRHqB<(ESqEVY=P}&ud-ilzsBCn-rL^Cex3aWdq4Y~_WSJp?GM@q*dMkV ziY?h;_Tj~n>`41)`&j!p`*`~V`y~5h`&9ch`*iyZ`%HV8z1&`5ue8_N0Xt|%?5G{H z6GaHYVyEql-DV1Lqn*#3;Y)Bc?OMf*$km+eRFui9U;AGIH|zhQsV ze!_mze#-uyy}ReM{ZsoF_OI;c?Z4Q6wf}Da!~Une%kHy>?NNKep0;P~S$ocY71xXF z&Gq4~9H-a0*jpoL1);;a7IRCvW!!RZ1-F)4&u!+ma@)A=+)i#cw};!y?c?@y z2e^aWhK(+|S$v?icPi?jrXm_ZRm!cbWT#^KpJI$c4Bt7vW-Df=h83F3aV( zJlDwckw>n&j=zCQhlD4DCxyepv%+)23&KmnE5fV7Yr;|Cb>W!s zhVZ6vLU>C!DZDG365bci2xo!jHmF!q375;TPdo;WyzA z;gayD&?WeUs1Ot4LPAIj86hX+g@Vv6^axjry~RG_b>j8n4dPAWE#mFs9b#YcZt))R zUh#hM0kOY0KpZFz5)I;Dai};#d_){6juOX+ z6=J1WC02_yVy##&8bwfqL|iOhT@fkKBGMuw+KQ9RoG28hmt|2ARq@J<@|Bt7Cb31F zFSd#c#D!wJ_?WmzTr4gXmy0XJRpM%Kjks1^FK!SwikrkO;#P5+xLw>O?iTlmd&Pa? z0r8-CNPJv;LVQwuN_<*8EOv^|iO-8Kh%bsSi$}y)#8<`F#Mi}R;v3?d;tBCB@on)P z@m=wh_@4N_cv}2G{80QzJR_bJKNdd`KNUX{KNru5Ux;6dUx{Cf--zFe=f&^D@5LX) zpTu9q-^Aa=Kg5gTCGk)3FY&VYkJu&pM86migJMXGhzT(%rp2t76AR+ij%ysf9K9WV z9M?LobKLB>)p48S4o6={KgZpUdmZ;V?sxQe3~)T`80Z+}FgOMmn<~SK1(h+5agGVa z2Fhf|6vvh3$&6y@p843F)95w8QS;9K1txIEpQ9 zr^D@Na5OtSj_#iMj#fvTV}YaHvBlNanNzd@wnqD$6-gO;|0e{j#nJ7I*vMyJ5D&>a=h($$8pl}uH%&BeaDB6j~r(l zXB{6qK5=~N_{{OSZE!JkYEWdf_k__NTftb7KxS^ z$to$5Q*udeNt1M`L28tmq!wwu)GD<}3#5foyVM~)CM}YdNXw*^(kf}Sv_@Jht&`SE z8>CIrW@(GGP1-K)kakJCr9IMKX`i%TIv^dC4oQzoPfAZoPfMNBbJFwD3(`x{E7Ggd zQR$fUhV-V?-E&+zA-yHNExjY1l-`xzlTJ$?NFPccNoS<9(kIeq(mCl1=}YM==^N== z={xCr=||~j>4Nl&^sDrn^oMj&`cwK#`dhjz{UiM=bxA(SF9oEK6qRC9TuMqQDJ|us zg48YbNLR_%$i3v=^0o4H^7Zl!@{RJ%@@?`RazFV_`7Zfx`5yUR`9Ar6`2o4V{GdEQ z9w-lz4e}6qs60#_E{~8Okw?m-kQ|mHa!iiP2{|dJN-w3i z(nq;gxlXxWxk0%}xmmeIxmCGMxm~$K>8tcp?o{ql?pE$o?pGdA`YR7A1C)pV^Ysi? zhA2aoVaf<)q%ukwt&CB|DHD{5%A?9;Wr{LYnWjuvW+*e2IZBCAs+1{nl?tU&sa9%~ zTBS~zr_?J(1yCRbR!oXnK@?QM6jHG$w8AJ>#rB_{j8{a(p-9UAcsl>r(y1$rN|Vy8 zv?w0MtISv0lm$w=(xE)2ELN5%OO@ry3T36TN?EO}QPwK!l=aF+Ws9;^*`{n)b||}) z-O3(iud+|suN+VgDvv8qC{HR+DNiehmEsv@#Zz*pp?Ahd&>LDY2^duL**mojB-}_SouWxRQXK#TsfzFp?s-) zrF^Y?qkOBJSH4reSAI}_RDM!^RxT*ND8DMdDZeX!C>NDW%Ad+#%HPUmrvB1%+=DRCvCB$bqsRx(Of$tiiIpmZxe%2n#s>NRRFwYSPMC1JsAqA?i?dxH>|8 zL>;M)Qb(&})UoO~b-X%JeN>&KPFAO?Gt`;tEOm}rqL!*xIyx0XYhI>eK3B z^%?b9wNrgweL;OueMx;;J)*v%zN#Km-&BvQC)Bspx7BylljQdQh!i?QZJ~#sK2VeslTfi)l2H1>R;;L>SgsG^FfoRAZCnw+Q;cM?w0 zX?Jo?!6`Z&PSxpjy8i3$HaMG{El#go+evvZ4c zyK{$gr*oHck8_`Mzw?0ekn;)Wv(6WsFFTJok2+s>9&^6oJmEa$e9!s5^R)A$Vrt{8 z^Hb;N&U4N$oL@P=cK+b(?)lOAlkp|B;u7_O%U4vW(*I?IB*KpSe z*C^L$*I3s$*Q2h=7g}sQ<1WfYyR0tOWq0u|!R2sC z#mQ->%jMFGrSwKuldHw$akaYITnk+7t`65@u0^iJuBEPJt`)A8t~IW;uJx{su1&5j zt{twOu3fI(u05`Ot|weiyIyd;=sMzh#r2x&sOy;P4cBqk3D;Y$w_WeJPP*Q6z3)2h zI_vt_^@;0q*E!c0t}k6*yS{OK>pJiH-u08~XV(SSZ?223ORm3MmtFt3{&jV^0|Wwt=3ePut5$x@800v?B3$u>fYww z?%v_v>E7+$^u@?$hoM+#k9>a-Vg7?Eb|4nfr71Iro?Duif9de{lck{@H!O{fqmO`?9;s?Q{Fx z0e8?Ha);d!chntoC)`PQ%AIy+-8pyOU2u21d)!xPS8Khr-dZ2+I_-MxM(rl;X6+X3 zR_%7}4y~_tw|0+quXdkyzxIIEUwcp+pgp7w)COq=ZODHvj^WxUZA{U(G2uVU#{c>? zW@t0DSw*WxiFU=I(cLpwE7vNtYOO}A)#ho&qC*4x&y!)&%o) zZL_vT+p2BTwre}Io!TyKx3)*ytL@hgXa}`J+7sH7+Ed!o+F|Wkty6nWdtQ4%dr^By zds#c8y`sIU9o1gf-q7CEPH1mwZ)@*pC$)FA_q5a62ik|)N7@wZF8#waeN++P_+t=F|LIKnrUT zEvm(|xR%h8T1rc687-^jw7gc(y0sqdD*bBx8oig^TkoS^t6!&Iuiv2GsNbaDtly&F zs^6yHuJ_gZ>38aP>38e*==bXP>HYNw^#S@r`osD_eULs_AEFP{hv~!h5&9!~ch5+D zls;M?qmR|c>Ho{MOxCC9Q;QtS6^dn+euZ5r(f^lQxk9Z}>D79TUaQv?2^FLM|4pP| zMJ9#NNuAOyI;~rEo6hQXozr<;&_&&$OS-Hpx?683Mh%+uX5Fi|>TUW0yv{% zKGQSP~q?(Xg`Apw$*0D(9mkOYX2ySv*R*E{a+?r!w<{l5S1zUwm>_e zJ`T_lc0U1{MLBL>O2rv{F1`G#AWH{z*bHm| zwgEeUoxm<&53m>52kZw900)6Xz(2rY;3#kmI1ZcuP6DTZ)4&Wj@5O@SU2A%-VfEU0^;1%#1cmuoz-UA0Y^bcAxB|H z5l2x+F-LJn2}emsDMx8X8Amd`tfQQxf}^6Nk|V|Op9`U?Bh~Sr_n>Bm?Vzrso}<2_ zp`($bv7=>1K)Y>5*`$M`qoY$s?W9Xa@1%#Lr=ypnZ$@>bzhi)7P)4O>h+~-JzqZI| z$5_XB$0WyO#}vo(jQYnc$Lx#_$9xCi03DFSl~Lt@9Ucefz#Rcc&_Ow92jgHJoI`Mk zj;KR&D2|vT?npRPhvv{7hQoAN4%@N7vBea{tr;sRL67r4CLVk~%bXSnBZ95ve0nN2QKV9g{jXbzJKB)Cs8*QzxZPPMwlE zHFa9*^wb%tGgD`!&Q6_^IyZG*>ikq7)sYIO5~+dIU@DnPrP8TPYBHToh`v3p?fGo-M&Y8PsPNq-D zl9E zh~&uRsO0G6nB>^xxa9ccgp9K=F*zwYIXNXcH90*wBRMlU>wnJE|2JdKv^$Qwj{A;B zj>nECj;D@ij^~b7j@OQ_j&F{ij=zqiBi)e+%mQWuvx7OnoM0|6H<%a92j&M0f`!1s zU=gqwSPCo+mH{h*mB1<)9hhohb+86l7pxDafepb%U=y$@*b;07wg%gP?ZFOUN3avv z8SDaf1-pUW!DM<5uqW6H><#t>`+)<%LEvC;2sjiR4vqjvf}_CE;23Z$I1ZeU(Y2oh zP6q$0&QHte&CdX5g0sN6;Cv7O9Uuropc8a~ZV(0$5CuIT2I8O(^n(N#0D~X}(jW`+ zpa6!!2p9!rPyu6L98^IK)IkHZKpR{DE&>;WOTlH}a&QH>5?lqY0oQ@+!Oh?{a67mI z+y(9i_ksJt1K>gMAMglx6g&nV2Tx=WoB_{*|ALpm%itC8DtHaN4&DH7fw#ds;9c-O z_z-*qJ_etF&%hVpEATb=27Cv;2S0!x!O!3q@GJNY{0{yAe}ccj-{2qcFPH?=!AwwQ zC<~Mg$_eFy@bER{YbG37gbG>tibEk8UbFcHD^N{l& z=W*v5=UL~!&hyR-&Wp~=&g;&b&Rfnq&b!Y0&Iiti&Zo|o&Nt4t&UeoD&QH$I&acjI z&hO42&R@>o&cDv2Gm9&mD~BtmE190lmD`oqmETpsRnS$~Rm4@)Rm@ewRmN4$Ro+#> zmEx-6s_v@cs^hBXs_$yxYUuiJf!ZQtf7;5`#?`^q(bd`2#nsi-&DGu2!`0K(%hlJ_ z&(+`czovpAu3@hKwG)hTjd6|pKQ4mFt||YIhhS!gf#5&?!2fF>aQ=^Z;6K*@=JL7x zF2WUbQ7+EKy98I*6>&vfvMc6_yHuCvGF)Z`f#tGY3tS6bi(HFcOI%A`%Uvs6D_yHx zt6ghcYhCMH>s=dNn_OF6+g&?cJ6*e6yIp%+dtLin`&|cIhg|=-j<}AxPPk6F&bZFH zF1xO}Zn|!{?zrx{?ztYg9=aa69=o2np1Gd8UbtSmUb$Yo-nibnKDa)+zPi4-zPo<8 ze!Kp<(p{O{S=?FO+1)wZdEEKj1>6PQh1`YRMchT*#oWc+CEO+5rQBuR<=o}n72GNR z$D2_7e_RR4^g8Z(?lgA;cf$;iS7UbzcPn=rcUyNmcSm<;cNce8cXxLWcTaaOcW-we zcVBlu_dxd`_h9!B_fYpR_i*8NbX#uQy}-TL zz0|$Ty~4f9z1F?ny}`ZFz1h9Rz0JMDz0OdTeZ+m#eawB_ zeZqaxead~>ea3y({jdAH`-1zT`;z;z`-=Oj`y+*`@Z{u`=R@Z``-A(V`;+^N`>XrA`=|St`?vd#J1d+G&JO2*bHcgcJaAsP09+6*1Q&&i!=>S} za0R#$oB~&dtHL$lT5xT+9$X)805^mi!A;<%a2vQC+yU+gcY-^^UE%I<54b1X3+@B= zg9pHa;KA^4cmzBWPNt87N5f;`aqxI}0z46(1W$&iz*FIA@N{?vJP)1^1F!=IVF-4@ zE*ORp7==AB4trrA?1u?B00&_breGRoVIB^_5jYCVa14&a30Q}1cmcc!UIH(JSHP>_ z)$kg4ExZn14{v}s!rS2;@J@Iaya(P3?}PWl2jN5TVfYAq6h020fKS3_;dAi6@Ok(m zd&KtKdSoQMlS5D$VOIO0WoNB{{UG{PV(!XY6Kvp5Eku}I#WF4{|*???B zHX)mlEyy-xJF)}WiR?o5AqSDe$Wi1NasoMtoJP(f|03s+3&>^U3UUp(j@(3UA-9n` z$X(aLqbDq0P#j@CeHqP5W4XdSdJ zS`V#{rlAechG=873EC8Gj2kndYL;Irx z(Lv~7bO<^W9gdDbN1~(9(dZa-EIJMyk4``*qLa|c=oEA+It`tUCevr2GtpV-Y;+Df z7oCR!r~?I2C+a~l6i2;i0Hsg{4f+oK zfPO?jp`SAdzMx;xZ|HaQ2l^ZRgC@~Tp3I&sp6s5Sp4^^%p8TEyom#Cr>Ccnr>|#_XNYH*XM|_8XRK$OXM$&vXR>FCXR2qKXS!#GXQpSCXSQdKXP#%i z2lPN5mk0Ks9?XM#d>+CR@B}@ihxRZY*28&tPsk&9L{G$%OqV>eNAV;)nn(8-9@DeH zv(U51v(&T9v)r@6v(dB3v&FO3v)!}9v(vNNv&Xa7v(K~NbHH=ZbI5bpbHsDhbIfzn zbINntbH;Pd^RMT;=Yr>w=Zfd5=bGob=Z5FD=Z@!|=f3BG=aJ{J=ZWXJ=Y{8`=e6gJ z=dI_x=Y!{y=d`#|mJD zu)xuQkdSiXDepr8O z05%XCgbl`qU_-HC*l=tFHWC|!jmE}cW3h4Acx(bT5u1cf#-?CXv1!zL*1T4m5Axyx+n21HND5hXB zEP?5mftlDMY%#VJTY;^_R$;5Lwb(jrJ+=|sgl)sNV>_^&*e+}jwii2y9l{P{N3f&V zaqJX!2KyH~k6pknVwbSX*cI#sb_=_W-No)<53xtsW9$j`6nlm}$6jKuu-Did>@D^V z`+$AKK4G7+FW6V?8}=RhiT%Rp4o$)SsSG*hE9q)nn z#Czer@jiH8ydT~lAAk?U2jPS9A^1>y7(N^yfse#T;iK^}_*i@#J|3TdPsAtTlkq9| zRD2pf9iM^E#Ao5N@j3WBd_E4~4jjZG+=;s~2w)t+QQU)LIF5U9AMVEqJb(vr5~pw) zXK)tha2^lg0v^UiJc37Y372sNkKu7VfvdQN>$riNxP{yJ0(>F92w#jZ!I$F8@a6bQ zd=64ZSU>q?d0w3?c(j~?e6X2?dk31 z?d|R3?d$F5?e87n9q1k89qb+A9qJwC9qt|B9qAqA9qk?C9qS$E9q*mso#>t9o$Q_B zo$8(Do$j6Co#~zBo$a0Do$H-NH4#EW`8Ud)SoyBt9muB?lruY*Y+;RAlTsD=H2Vv z=e_2A;(g=&>CNLSg(p~?(5;}>Fed|?d#*~ z>+9zm=o{o4>Kox3YL`9<(uuBMjMZ?Erw?~w1X?}+cH@3`-T@1*aP z?~L!9@4WAV@1pOL@3QZj@4D}%@0Rbj?~d=T@1F0G@3HTR@44@V@0IVh?~U)R@4fGn z?~CuN@0;(t?}zWF@0ahdFX>D7W%1|q=kn+F=kXWt7xWkQ7xkC%m-UzTSMXQ#r}(S* ztNLsE>-g*X>-p>Z)BFwnjr}eBE&Z+iZT;>29sHgBUHskr-TgiMef|CX{rv;{gZxAM zL;b`28Bc}zNBKwl$N0zk$N9(mC-^7&C;2D)r}(G(r}?M*XZdIQ=lJLP=lSRR9e&Uc z`JH~3-|dI}h#&QP{Fop2d;Nqz;HUhopZACTqCet~`X#^YkNM+%)vx;(_?P-u_*eQ@ z`Pcb3`M3JF`*-+v`FH#G`j7cf_)q#z`A_@L_|N+<_%He|`7isg_^(V`+xd>`;-23e6CH?-L?@y% z(S_(n^dR~WeTja=Kw>B{j2KRgB1RKqh_S>tVgfOdm_$q_rV`VMnZzt&HZhNI5Fp_s zT!fo|34#a`Bta20!4Mn~A_O8#h(wf-35AFeaUwyegiaX50%9Sth*(T4A(j!#GYD1^ ztBJM5I$}Msf!IiFA~q9Sh;77nVh6F4*hTCn_7VGu1H?h%C~=H9L7XH`5od^V#J|LO z;sSAzxI|ngt`Jv=Ys7Wp262XTA+HMW}sf6VW4H8b)Ze4T_Bm>KF}f1G0-W{CD1j{JKva5!)za4c{(@F?&+@FMUs@G9^o@HX%+@FDOi@Hy}` z@GbBogWy--PvCDL8AuOg3g!vs4dxFP3Kj_#4VDO&3YHF*4^{|P3|0!J1S!Jffh!QR0>!M?#k!6Ct+!C}GS z!4bhR!HL27K_KV|fOmuD2Nwnx2bTnw2A2hw2Ui4F2G<4G2R8(h=^KOFgL{Jqf(L_#gGYi#gU5p> zgQtRLg6D$&1}_9J1}_CK2d@UN2X6*%1#buM1s??;2cHC=1)m3B1YZZ=1m6bV1>Xlh z2fqZr2EPTr2Y&^B2mb_EauvCnTtluU*OBYV4df4tbA!NIoK;kk82%x7z9Zk0AIVSTXYvdAmHbA2Cx4JX$zSAe@-LYrGf|nTEL2u18Q4=z22z8l!PF2c znLdmfPK~5SQKP9b)HrH9HG!H)O`@hyQ>kgx3~DAdi<(W%q2^NasQDB?fs~VSQEm#R zFbb!9l%FD~02QQYilsP;r$UrKg(;DWQW7Oo3KgT`RDx0|jnXNDvZ)2sLTVAUm|8+D zrIu4GsFl=eYAv;nT2F1JwoqHCZPa#Z2epgZL+z#ZQTwR_)IsVHb(lIr9i@&@$Eg$4 zN$NCphB`}~qyD8XQkOCau29#g>(mYECUuLtP2HvLQTM3_)I;hK^_Y4}J)@peFQ`}4 zYw8X4mU>6Mr#?_0sZZ2r>I?Oi`bK@Heo#NDU(_G!FO{S+(V6KibXGbWorBIv=c04d zdFZ@!J~}^LfG$WEqKnW)>0)$ox+GnSE=`xA%hKiO@^l5dB3+42p)1o>=&E!oU5&0m z*P?6Fb?CZuJ-R-fMmL}v(v9fGbQ8KM-HdKQx1?LqZRoaiJGwocOz%K^J)WLGPogK&Q|PJmG*)>j7J4halio$|ruWkO=>7Bo`XK!eeV9H%AEQswXX$hFCHgXbmA*z_ zr*F}BG6?R{59o*VBl3`KlEQZozBc;W3n?j zn7m9rrT|lrDZ~_JiZLaa(o9*VJX4XW#8hRfG1ZwGOf9B1Q-`U`)MwI|hD;--3DcBm z&a_}!GOd|5OnasS(~;@KbY{9RU74OtFQyOEkLk}0U3Gmiln2Lm!rCYkPLUe;>f*~22VHl3#8G#X* z2oq%_MrLA6oJlYmqca9$G8SVq3z$XBVrB`mlv&0sXI3yPnbpi1W&^W{+01NVwlO=H zoy;y~H?x=7#~fe|GXF4#nIp_m<`{E=Imw)2&NAnif0^^l1?CEKmAS@TXKpYznOn>q z<}P!Oxz9Xg9x;!ZC(JYEIrD;f$-HLXFmIXn%m?Np^NIP)d||#a-rj|_re%x~ro z^Os3yGO?N2ENnJ5JDY>e$>w5nvw7KkY<{)?TaYcp7G{gE#n_T;DYi6QhAqdIXDhH3 z*-C5`wkn&-R%5HPHQ1VLEw(mWhpo%jW9zeNYy-9t+n8;_Hf5W!&DoZ0E4B^WmTkv& zU^}v%*sg3hwmaK{?aB6H`?CGm{_FsDAUlX1!VYDJvm@D2>}YljJC+^Cj%TN`)7Y8p z9CjWHupkSuPS(Z3EW)B}GTp;ste*|CG|R9Y%d-M2vJp1QO02@h*f^`Q8mqGgYqB=G zfL+KgVi&VZ+2!mCb|t%tUCpjx*RdPejqE0N3%ixw#%^bKu)EmZ>>hS6yPrM49%K)( zN7$q63HBs=nmxmwWzVta*$eDN_A+~oz0TfZZ?kvUyX-yo0sD}B#y)3Xvai_J>>Kti z`;L9jeqz6}-`MZ$FZMV4mrZ9gahbWSTsAH{mxIg6<>E4YVq9J>AD5piz!l^QbH%vg zTnVluSBfjgmFFsO6}d`WWv&WWm8-^8=W1{@xjI~3t{zvPYrr++8gWgyW?XZw1=o^m z#kJ+Ho-MJoIPp%i&o9n~%<@#~`xdGfjZV)$^8^R6chH=BW z5!^^_6gQe1!;R-Aa1*&n++=PFH;tRl&ERHov$)yZ9BwW*kDJc{oPz^7h;wo-&dtFb z!l4|NL4b2!&d&unlA}0=V>yoFxezCCVNT>CT$GbInNzqJ7v~b3%4wX=8Jx*koXsuZ z7IKTY#oQ8ZDYuMU&aL29a;v!2+!}5zw~kxSZQwR?o4C!~7H%uIjoZ%c;C6DmxZT_y zZZEfw+s_@~4swUMBiuReGIxc$%3bGfa5uTz++FTI_kerIJ>s5l&$$=eOYRl-hI`As z<34a7xlh~|?ko3=`_BE~esaGu2!3;axW8PIOXo84S@^7cHa?@ICond~d!F-o&*SIw0Po;I9^#$6i+A%dkMbTK<8j{0`*=T3 z@Bu!^lRU-KJj1hmh!^-UFY*yS%1gY=$M`s(;8kAZb>84j-r{Y30l$!6#4qNT@Jsn+ z{BnK;zmi|YujbeAYx#BjdVT}Hk>A8`=C|-$`EC4meh0sk-^K6d_wal9ef)m@0Dq7_ z#Q(z|&LB9#ALWnn$N3ZdN&Xannm@yz<=~PyQGGoBzZA<&%6mpDC0%lqHlklr5A!lp~ZYlsl9slsA+wls{A;R4`O1R5(;5 zR5Vm9R6JB7R5Da5R60~9R5nyDR6bN8R54U3loF~OsuD`3R}H0xs)uTXYKCfsYKQ8C z>W1ot>W9)o4MGh=jY5q>O+rmW%|gvXEkZ3rtwOCsZ9;8B?LzHC9YP&LokE>MT|!+$ z-9p_%JwiQ0y+XZ1eL{Uh{X+di1408sgF=HtLqbDC!$QMDBSIrXqe7!YV?tv?<3i&@ z6G9V1lR}e2Q$o{1(?c^tGefgNb3$`N^Fs4OK*$jSLr};Wa)sO>ID~}IkSBzN@Q^p; z3;9DtC=d#U$Pg8xGYFUv8{$HIC=?Px;gA@LgrXrSB!`qxEEEqVLTX40=^-OzhOCes zS`b=yP2dxd?%e&K*{P&g#~BODfv2uFou!g1k*a8fuWoEFXqXN7aZzruOpf^bo| zBwQA*2v>z`!gb+>a8tM?+!pQ#cZGYxec^%dPgJT5#X zJUu)kJTp8yJU2Wq41^tFIE;kRuqTX#@vt}S3;V-?a4<}VnJ^pX!a_J47Q>NnG%Sae za6Fs{t6?pyhmEiqw!(IJL3mMkaX6X2B)lxVJiH>jGQ29hI=m*lHoPvpKD;5kF}x|f zCA=fNGrT*zH@rW5DEv?OaQImGMEGR*RQPoGT=+uxQuuQCO89E{M)+p^U92J27VC;>V#b4FVq>wX*i39Lwh~*5 zZN+4IJF%14MeHi}7W;^O#eQOcagaDz93l=Chl#_*k>V(Ev^Yi_D~=P#ixb3&;v{jh zI7OT$P8Vm2v&6X~AcCS(bc?Wvh^XihanURK#ef(TNs$&=krR0_Bno0!6h%ptMMaE@ z2~ia_Q5Ox-6m4;#xJX$6pa*%6pxgMl#G;$l#Y~%l#P^&l#f)1RE$)Lq(mx5szfrbrjgW0 zwMg|yjY!Q%tw`-iok-nCy-58?TBJdwVWd%{aimG4X{1@Cd89?8Wu#T4b)-$CZKPeK zeWXLAW2950bEHe8YouGGd!$FCXQWr8ccf3GZ=_$Oe`G*pU}R8aaAZhiXk=Jqcw|Im zWMouibYx6qY-C(yd}KmoVq{Wea%4(mX2c&6B67rzEQ&0SEQu_OERU>+tc8}*Y>RA7daof6uB0;9=R2H z5P2AR9C;pj6L}x`82J?W68ReW7WozV9r+VUM$#iWqq(B_q6MNwqs618qNStdqE(_* zqp8vA(Hha3(OS{k(K^wzXoG0OXrpN3XtQXGXv=7uXuD|pXs2kGXxC`>Xpd;mXs>AR zXy54I=#c2p=!odZ=;-K}=-BAE==kV_=;Y|s=(OmJ=*;M>=-Ubwt6aE9#EI zQ6!2+Jy9&`jS|shIvJ&+bd-s5Q9dd}!%;CBiAJMxG!{)nwWtxbq6?x6ql==;qRXQz zqpPB;qidt zqW7Z@qK~6bqEDkQqpzZGqVJ*~q93E5qMxH*qu-+6qd%j+qQ9emqUq60Qf4WulwHap z<&<(sxurZ(UMZiHUn(FKlnP0Or6N*MshCt;Dj}7WN=ap;vQjxInObDq^eS? zR86Wb)sSjRwWQio9jUHVPfC*-N{yt(QWL4E)J$qFwUk;(t)(_nTdAGYUg{uqlsZdY zq;67oX@E3H8Y~TwhDyVw5z;7Wv@}i{FHM!ENz6&z1x*^?^Zb`SL zyV5=BzVtwPC_R!MOHZVy(lhC~^g?x_Z=|=AUnp z`YHXAeoKF(zfw|4momwjT(Uard&&|E!UCj%Jt;> za+=&gZYVdB8_P}PrgAg6x!gi-DYuea%WdSgayz-b+(GUrcal5HUF5EEH@UmqL+&Z} zl6%X29w-lz2g^g`q4F?!xI980DUXsz%VXrR@;G_CJVBl)Pm(9gQ{<`g zG@nfN@t~u(pBlEbXR&P8Fzk_UP^DJkJ4A^ zr}S3_CNJHf6iAL)oe9Qg$nQl)cJ6WxsMjIj9^`{!tDqN0g(=G3B^& zLOH3NQqCx6m2=9!%6a92a#6XYTvo0qSC#9^4dteCOS!GwQSK`Dl>5p9<)QLOd8|B9 zo+{6j=gJG^rSeL7t-Mj*D({r{$_M46@=5uud{MqC-<0pl59O!wOZlz*QT{4PC0)rB z%N)xR%NolT%O1-S%NffR%N@%T%NxrV%O6Xo7l;*%6^a#(6^Rv%6^j**m57y$m5P;) zm5G&&m5Y^+RftuLRf?s=D#xnCs>V`d)ne6SHDWbmwPLknbz*g6^ehOtJm z#<3=`rm<$R=CKyBma$f`*0DCRcCq%c4zZ50PO;9hF0rn$Zn5sM9KC!;B zezE?s0kMIxL9xNHA+e#cVX@({5wVf6QL)jnF|o0+ak25S39*T>NwLYXDY2=sX|d_C z8L^qM*|9mXxv_Z}1oLA+%n<`)P|O)~#oRGChQ!dACx*rFm^bE&`C~*Z5DUi0m=sII zwAhK*`Pk*ymDsJ=v)J!gxp<{`^?0Lrn|P;q_js@Pkod^>`1ss76nDnmaX5~|(YPm$ z#qqc|?vE4kKs*>H<5ZlEGjTS~#rb$BF2uueF&>FW<5FCXEAd!79#6#8xE9yrM%;{B zaXY>szA(NhzBs-lzBIlpzC6AnzB0ZlzB;}po=jgGUl(5=-w@vz-xS{*-xA*%-xl8< z-x1##-xc2--xJ>(-xuE>KM+3{KNSBbemH(4el&h8ems66elmV4emZ_8el~tC{%`zz z{6hR<{8IdK{7U?4{962a{6_p{{8s#S{7(FC{9gQi{6YL-{89XI{7L+2{8{{Y{7pPP zo-VnJeIVo_poVo73Y zVp(E&Vnt$AVs&CoVr^nwVtrymVq;=+VoPFMVtZm|Vpn2MVsGML;&9?f;$-4<;!NT~ z;$q@*;!5IL;(Fpn;%4Gj;&$Rr;%?$z;(p>`;!)yp;z{CZ;#uN(;&leWo5b71yTpgY z$Hb?^m&Dh^kHoLU@5GFla0qS6Nh&oIiu8vekt7Fu0>LhitI#r#f zPFH8Dv((w@9CfZbPo1vMC`$x<*~6ZcsO=o7JuAc6Eok zQ{AQRR`;lT)qU!I^?-U%J*57l9#)U2N7ZBMarK0HQaz=fR?nzs)pP2<>Us5odQrWk zURJNDSJi9kb@hgNQ@y3$R_~~H)qCoF^?~|OeWX6lAb6raRbQy@)c5KK^`rVp{i1$X zf2cpzU+Qo5kNQ_ls_AMbEwh$I%c^D5vTHfCoLVj|x0XlCtL4-3YX!7|S|P2lRzxeR z71N4qCA5-SDXp|tMk}k8)5>cVw2E3KEk&!WRne+ysaiFyx>iH0snybIYjw1`T0O14 zmZmk(8fuNS##$4tsn$$uuC>rwYOS=^S{tpc)=q1$bsCN(}rs!w2|5@}e#%mL_iP|J>vNlDV zs!h|TYcsT&+AM9hHb->!Bg#-_ELMLz1H4nZ?$*Yd+mevQTwEQ z*1l+8wQt&Y?T7YL`=$NX{%C)-q?WE_(lhH>^sIU|J-ePm&#C9qbL)BZym~&pfL>59 ztQXOX>c#ZpdI`OxUP>>mm(k1W<@EA;1-+tPNl(!$>s9osda7Pcuddh7YwET1+Ik(m zu3leH(;Mgw^+tMQy@}pbZ>BfbTj(wIR(fl_jowyor?=NT=pFS=dS|_h-c|3Wch`I9 z8UHHuUV3l6kKR}Br}x(f=mYgZ`cQqCK3pH6kJLx$qxCWRSbdy6UZ0>()FzAseS^MH-=uHW zx9D5-ZTfb7hrUzarSI1F=zH~j`hNX@eo#N8|Dzw)kLXABWBPIZgnm*#rJvT%=x6nF z`oH>l{epf`zocK*ujp6xYx;HlMh3x6{g!@PzoXyP@9FpT2l_+(k^WeJqCeH2>Cg2S z`b+(l{#t*dzt!LA@AVJ*NBxujS^uJc)xYWA^&k3A{g?h*|D*ralX|+I$;fPEF|r!j zjO<1ZBd3we$Zg~?@*4S!{6+zzpi#&uY!oqy8pVv_MhT;&QOYQ7lrhR0<&5%11*4)- z$w)CO8&!;|MygTGsBY9SY8thS+D09tu2IjZZ=@LwjD|)dqp{J%XlgVwnj6XV7Dh{> zmC@R0W3)Be8SRY@Mn|KQ(b?!?bTzse-HjebPotO7+vsETHToI-jRD3$V~{b}7-9@H zh8e?+5ynVklrh>EV~jP%8RLx!#zbS1G1-`6Of{w%(~TL%Ok|HO5+Fow457U~DwD7+Z~P#&%=3vDesd954(l}+DHqIIU8t07* z#wFv5an-nHTsLkSw~X7yoeYAz#y#VK@yK{=JTaac&y5$xOXHRC#&~CZFg_ZejL*gw z&1zzH-TdS;s0z-(kTHk+7D z&1PnEvxV8xY-6@H+nMdnu4YfOm)YCwYxXw>nuE+C=1_B(Ioup!jx>|$qs-Cf7;~&S z&Kz$}FejRm%*o~ybE-MboNmrAXPUFj+2$N`t~t+~Zvv*n1Wm|vnl96A!X{#(rpLrg z-1M40({B=HzzmwCNtv|Cn5@Z}ycseDGi-`x#EhDfDVvHJGvj8$R87s)O~W)z%e2h} z=0bCkx!7D{E;W~#%gq($N^_OD+FWCA zlR>c8+-L4L510qdL*_r`Ve^Q2)I4S$H&2)+%~R%S^Ne}cJZJuEo;NR;7tKrNW%G)8 z)x2h2H*c6X&0FSe^NxAfyl37wAD9o#N9JSmiTTugW>P0f>t4`uvNq=Y8A7JTP3WLRw=8rRmMuDm$k}S<*f=kvUvl>_ptwvU3tBKXrYGyUJT39WuR#t1Pjn&p_XSKIFSRJiS zR%fe=)z#`|b+>w0J*{3=Z>x{h*Xn2Ww+2`PtwGjcYlt<}8fFc*Mpz@QQPyZ{j5XF8 zXN|WeSQD*D)?{mnHPxDCO}A!PGp$+HY-^4+*P3U|w*bpwffi&rEtloCU<$CO6`f7c%zFR-6pVlwyxAn*R zYbC98E0dks&SGb^v)S409Cl7Smz~?rW9PN=+4=1Pc0s$4UDz&S7qyGo#qAPyNxPI? z+Ad?4waeM%?Fx29yONz^XZQ#0Dt1*n)vjh&w`+1>3Pc2B#P-P`VC_qF@k z{p|tvKzooq*dAgJwTIcm?Gg4!dz3xe9%GNS$JyiU3HC&Ll0Dg;Vo$ZF+0*SA_Dp-0 zJ=>mR&$Z{-^KHO(*q{yBPTOU>ZP-R^)b`kzjoV(^XZvj;gCJlBZPKP}+GcFl=4{>$ z*@7LmMLS|gZON8x#g5r=J7KG~X6v?Lo3>@!_5ypMy~ti{FR_=}%k1U$ivNqfw+?P2 z>-I(MSYc*PY{v>iJIu@=1`907Vp(8WOc9eK$&wODwq>b1948JlGdavK;R!R&grjSi z^FE(*YF^D(bW`0@CO_{n%h{8apO z{7n38{9OEe{6hR<{8IdK{7U?4{962a{6_p{{I~e6`0e-QXKqklmC14&X0~MeW zRDo(x18PAXs0R(;e9#P5KD`*Ufp*XVI>7>P0q6yNU?J!S17HvgfnhKL7JD5Gq?rZ25tv;fV;rm;9l?m zcn~}U9tMwq$H3#@3GgI%3Oo&-0WW};z{}uO@EUj>yb1mW-UT0k55Y&^6Yv@M5_|=| z2H$}1!1v$>@FVyM`~&I`*(x|=Vg`o&k1QkOuC=P+p5@;#33|bDYfck&c zR=$V%>DTvPn|y2ft=YHc-&%fa{jJTn4&SQ zj7UaNMsY?-Ml_=|Ly@7(P-UnyG#T0qU4}lxkTE~Qm|@B=XIL_<8MX|2h9kq7;mTlS z8=OA4$KZ^?@WDL?_Zr-LaG%QOF8oR`(sI(6 zX{lM<5?Qxa1X(-PAY zGZHfsvl6ota}skC^Ad;zGJ#5<6PN@xflJ^Mgak2>l^`X^2}**R$WA;=OadkYQ-GRokO2xn1+oDeKnEB=4!{Ih z02|-{T!07g0RfN;2muiw1|&cpAO-RP86XD~fD%vvYCr>M0Ue+R48VNA2$%pfU;(Uv z4X^_azzMhjH&6g906c&f@BxK@9|!s|n}IFBR$v>j9oPZv1a<+tfjz)pU>~p_H~<_34grUOBfwGM7;qdo0h|OX zfK$L};0$mUI0u{uE&vySOTcB|3UC#;23!Yj05^f(fLp+A;0|yXxCh(^9ss`s4}nL( zW8ew!6nF+a2VMX#fmgt5;0^E=cn7=(J^&wqPrx6*pFl8WValSEP)ax@l2VjXoKlh! zO({)@rNmRf6ewkJ%9502Da%tf-%GQ)^Dce(ar0h)D zm9jf!Ps-kueJT4>4x}7RIh1lF(* zz&gS@!8*gbz`DY^!MejzVQH{*SPxhR3=ZoF>jmo#>jUcx>j&!(8vq*!8w9J}`hVvD zEE6^uHUu^lHVlS_4Tp_@jf9PYjfRbZjfIVajfYKuO@vK?O@>W@O@&Q^O^3~Z&4kT@ z&4$f^&4tZ_Az(;Ya`JkG>YV&6sbBKzqzlQflIA6UOuCf(q4ME~-;%B* ze@(iUd?Wd{=s+(CavwmiS%!ZkbG8<<$$!wb0EVFrLi_Dgptuk9@ zw#jUp*)FqvW{1pwr@SgBq@ZRt~@V@YV@c!@t@PY6_Z~&eO9}FJ?9||7^9}XV@ z9|<1?9}OP^9}6D`9}k}Zp9r4>pA4S@p9-G_pAMe^p9!A@pADY_pN*doIYR8sI)`hB zKZpye=Bmaz-l&aMpC(gQTzTt4Z&3l|8?qs*h`W>e%{-I8-du-!PW2T{;H=GmZ?d~L zqd25fIa~79S?97a%-7gnxO#dadb#pb_7&!7pQ>m9v!gkiII@Uo8Y!EvI?pqzrn99; zxbHTzy)MXkE$`2kGy7XD#U|cNnS^{n8xcw zhkd9F?_KL%b6sq!0uILR_!_x`Ov}nIiBmQ)S1`A7wO(JWo-B_S)NE#;vF)*L{~2>v z-;z*M)Ja)=(o06i{Bk#r^w!#+*IVBw`?GO?@(&TW@QZ(JU<`Cc*fH2fZ=kQzT(ggJ zTov9FUK1wMT(qys*WqkVBlk*kTG$BI}BF`P-TL`zA3DAa7u4*fRfWf4P5N zpgupBUTopJuf;q${V;u1BD$AzDeswNKV>FciQb4l%Ik=z&>Bj%NRKI1v_10swsq`h z%x$6HMP%#|Omp_(P)I)r*_k%n+Rn1Tk|8-Il1K3@D)t+WNi8Y4|Dl z%AI8kV+s0INH2PhcrsO7c!^bk?Qa`yd(7La8OOd?`4z#N?5CdN%uhU>H;KKQHOu8G zY41%neF&{Ww1_M(Zo+LRA5H8^9Z9SFaTjW_*@~rcrYSS=X()%!&IChUd4ma(yx+5j z;TB4{{ygS#_A-{9?#}xZcxc(^??B~q-_r|3Gb0wC$Q@+A)1D)ea$7KG;<6Bpb_rWKrh(rM_;XrZ%y_F~FD zrYNXTHYrTiCFf}MClFtZ4s}b!YfD$mH*|h(8P-(@3!jf1lCUFW!9-0N>bklG`$++e z^pJHY+oT&ONJWma7UKsa)+>v2Oxgn4+i+*hDBJ?6ij@(z65-ql0#~p;{-bzm43y%tr^lC0WgcqP7XLi4gHUnr+F>)EZ@YgqkQ9m50I`~5h59~G9_i!>dl6)r;! zW%i^wg%1%Ud>*%hJ}{8V7-v4l9EHGRzXW!&j+>uw28yO5-!LAC?|MejPdl;nG!_}1 zV`K4?Ff7*0!d9qKs#^Pl0$|4I_A;=6>#7~}BD!5AD$JAWRkQSK)F07{0vTBdIYJ^)9O7WiYjgmncmFu;?srNoM8Sz&223rtP6*q$h zgrk(Do^(VP#9B1VemJKL)0kg`6f*XpyNRjj2(yTj6PfO9AGo3X8DOa|2^Yv-$-aAr zWogxOeN^7WaMZk#mL^$9daHY_9uwXsT*qlU+RUSNyZ20C(^Un zEB+K)AKwO^Oa?1Sqps)yNOq!T;k8$|_%Ii#P61U(~XjR8O;Q_FdET<@rj!{>@OD1S=R z0~^p?P5V5vNRQAIWKUc_lA5#JtfZ)zhnWHYG+K92PknRb4P;ZEM7&1q*KTsRr}tAv znGXM3Mn zS+C2M679SJzV4)$|AZ}!^XUQPJ`tO8k<=P`ggxafi;nOvF;C+di@y<0L^;oA?stCwc)MZ+d6i%bv%2&)J{jV>HSqie`xhk;J^d)~i{Cgk0}S;hn&I zQhW1ftU#=+{3t|iJ8v7w->>!J@W=+ZOR55IoyZo^PO;F}qJRyK_DvvM1g|RH^!qYC z;|Hz`(Kk28jbTXrM{zf#TIU3?uh>uNKwoMsz;8efm5;?mu^my(a0VO#@smzg{Fx=R zKQJp?7i6al1W7MC!r33coVgIOMl^!C$$A}!z>b$+l#Eff!nDKQ@mvrrpeHfjh>^r} z;RZRDf5YF}#AGdFWZ+*YnclYf%fu@wdK$(yH|Hq$O+$3`GPqRl(0?-K=1<|yrOjhB z^Gc;~R)K#XoyoZ3yh}JF3^8~)v#|FWTnJI@$B zL^cR7s>sB4)Y1A+VMM+Gz1l3bYDh3sFWW)>E8ZrJTJw;Z!!qk%BXcq5(J0$3fnwnw zzD(btf`Q?6`adgQ&H-4_n7on}5{G1!_#5pH)NN8d>U1$(d_IA+*^`RR56+9s za|m7JL)uIh4Q6m zcI89-=IEDmE(T8_;9`0~ulYU0#}K`}xBT*=Ib4hOqW_gtBOXWHjG1m@qMO+$Y87{9 zY%SsxW4~dG;k+@7;Ck}7?qX7rElb3qhVAqUC86k^?yl}2dV{oB_kyL;EjC8vuZyN3 zG}3GYCb$}l<~-&6u++5{;xegG<>I0n%$u@(%4t+>^ptHP)r@s{lUMgDJs6G{g|}{_ZB-;G6y{dvy}47v%x$C zzmh0tpos%;Ivt9EqpV^rWK>n^gty^eVA=(}(#n=?janF%B^Jd#!zcgGy>%xG<9cUEJNXxI#9L8Sh z5#xG81=_;jWXQ8-Ae{d5K_hoPqONx}d$##ERFU#r{$t8MKR3^bu(Dazo?92M* zd2=EwtxT+=I6y0qZeg*pNT(&X2=r<+<9r}# z?fAiE=JdY?bxq8o>(=uuyZVCTl6JJD z@+)LgONUt6QgncMK!xONVEha><3g?;;OkIR+tjWqVsWfyoSm^rf5h~uQQ!bMr@xp>+=3_hnf?~RJ9=E(qy})isKgUU?g0^3?jjd<>LGM5|1-pY2s7Tgi^L&Z~KRY}x>=2hR z?(^=-?w~D{r_8$|icHL0AKGVZZNZ9TXc%2VT7zlDkdq=@loL|+Wj)DxYxw4Qg6k!O zgIk4H9eA7ywOo{o-|FixYfEd(7_Km-+dBj$lQAJv2In#|9rnoL-u@ zYNnRH^oI=u44U~ZbR6Nd<=CIwHruZdhw@U05-wMq>Ak~kDecZ1Eo{f{#N0zlK^#Tb z%e%z$i&W^-{23&kkgIH#-NJ%`u5)H;CuxIGwa-eWA(D}UaA;B!4WH0Pbkv_hpD%hS zD)$6fQpPy3QpRN#hK_}%U=R6?`g@3;UL)cPxGA(HG!H|~V+E#(hk9FP&CN~~&JwQS zQE)hm*Hn@)oV2kDweGaG z17cGkMKM|Q8(~iHn8@QBjXm!Cz}-+dlbRn*m0ZIPCwrh}zCG9m#8t&pc%{J#5g&a@ z`H{I+HWCxZj5dX&BUK9QY;cD_qB$73>0WLco_{320DYPFNbxAE17`?S?Kq@!lm}e1>In9_OZ54Kw&F2c`ZOjpRPtHp2lPf>-oI+}^RQJ50ZCgUCy2T#kV=rP<= z@|V_GynJdZW`4fV{UVHy9AoGBwpi?Vyl4h6^=Kgy=;5=w8Z4u$tKu$eon?&4`@#l6P6%m2jm@HUs<7n5@2~5@2qddk`DYGD&Y_`#2`abiZ9(vs$)I|@i zJ)F>$aY*|G+ZCY~I?dlG5AnAMqmg5gvXYP4M&3ws9fq|yIpCq}_59)K!p^eZW&gyV zw{n8lk*V{$2Oz^o6gq2z4@lF?*4IzS9%&M;;q5M+-F;Dp5B%uqr~=k|=am zWBo<@I(|KTA5#lO`uybZMCRPAYX}=fOTuM|<=t3w3Y!<6GheZ;Wxm6{6VZZwNy!YU zXdZDkyRWaG>bZnMH0Qokit`3|8+f_Ix59<)Et;jQuh?}`wkRvBFS}0GeSWE>1^$|$ z18R5S88PI0DfP2T#aARxj4=BYeoEkmSQRPr5J_6uBZtwlSGi!p20jjxUf42xfmK{Q zwa|daA`@Ic;VL66o`RW0?L+!57G?p;E=m!jjdi-EB`b&byMMI$qi?A1P^cZvf$fhw zBAqDuOrxUKA=c4Gvu0R31yFoRaErPL?skYxf2>pSr?D{ld&XNzH7d*;N@^bXf}r?o+tU8P{vwRY_ha<^({yWbi?IQ4_dAK#x>2%PKEHS*;oN zw2&(dAttkCV!K(JBG)5n#74|t5jIyKOJJ5@AjVry8*WK{fM+VeXnv}t+%bfaxU{fN zmZZyLG@%tR;+D3g+YEdDTj?4JN@SMVbJw{C&=`m<8sJ-~Rp(N6rdE8j2HadG? zyA?(JF75;BV&rRCW5h~qb5d)ZnbkWy6MYjAi!C?q#AWz!?h)1x;X-jw`Wf5 zsFt`KZ!dec239m1^9Hw!kQ8={w^5FZvE1g=Y)TqGV%FeW>SuCrf>Oi`A;RS;LSnnK zMzhxhVw^+f7Tyx{M!p97)pauGsOY;W-HWEKacrG~SaGvR zq4a=gDrq%qta_fiO`hBeWL?eoVmoOLMUwGcI*`AW(#h+M+Jpm1gTSX+K2OBVLoQJ+ zFf|qriS!b^LtIko(Ifcd^UMLMB|=guX0UrvIf0^0W=P#oC^$#MsZN05kt@7foLcjlnd zDvD8_k+SJ^1r}!~)Q4;m;-UI6LT3#!TXTZ}E%g9GOFwQI8L*qnl`9cf+|6^236Ilf zAx^25N*;RFdm4E!dg{=Bn9i8a8Hd?~w)=z~!jDBmBi~8gaeszhijPqwC8MZq>4At8 z``((Fs~}6k5UsaqSLN5sa68X7!*$Nj^qo}Y(<8+qO)B>u?lF^vJYqSi+(|ndX;k>t z>BoH(dBr0|CdLU&Z{>Vi2jpVLQ+ft9Q@K8HFtkgyOEgk4E7*{C8v7B8Mpgvhdro2v zw8Q>K;zGn>l~X`-cFL(|B_Z!3#|I3thB;j&Z6uC}8<9zV7HNhsQFm!wl-HhprULmr zqQ`nDkc^uV*n@vTT|#e=Gg$auw%J^;Kq0{y6wMcosiR;!Hm4)t~4(29r3LQZJ{nVG~lgd)Qxm72N6#LNmzbl z68eH);m8i+xqlSlDP6H6HIsSc_!T&#bR%WH--qr^+=OdY`EV?nZ;G$EMPwHT?imv3 z?~Y}>=bR;Z%bk|OTtaHVs!~ZG=lAeEXLiK=6pi&YV}MzOIls6JAA-3B-$OEh$MZi3 zeF^tg*X5T9Jh*v?ozjz@tjeF0J1BPDXw);x9`ysEc0sXWzv#SbHK)iwARA8|>1@Df zU^_5x>L`+*#_qZIbyE6}yi~fERVF6z8X#KGdit&-4w{FmVv$?S0bC<-1L*gXXOy5yBenKrTK2@=5vQuBE!60%2S^DMT1x~ z!owmv?LAnN)E4?XSplLAL&15=WC z!Z_FbN!3&k5%QR0QFi1+Vtp1Gc%9yfwS)E1^2s7Gb)ns)4#()Y&$XR& zy?rIpE6Tf)J)(uW0f=L&`*bLzcAqq!)gCaP4SqnhM|QXJad)!^i_dsg7!>|ub0^wD z+$L2CWh{4j^uD|=|CTe8*H`|AgfR%B{XK6r=Ad(+?@I`+ zMZF7TD@e|bs>1?qUU51O+#wvhHcO_%PV>9D??kXH4X%aZku<97-q%Ch>Ajji|~% zZ|;+96!I>QjG`h@#8osOq6uOmx&1ccs*-P#F=w%8en0i-c9 z3ATmk9^sL>sN}NHsBRApM?i=c5EUUnEJC=g6p9GnoNyH3!^W}8uq&|Zv7Dl8UnlGz z*q+#d*zs7ZkBent>tGsSnqdZDhF~UOCSvAdXqX%f6|=!UA7jN>FagXWj1`SD?Lizt zR3Hu`o*^C}ULx)yIwLa8z%U5j6#cN6kbbP$HBbwF0#YwHmb>bq!Sy{TlTO^#t_>RUh3LeFrg4l!fFV z&mk8>(?tq{1pPC+0xT}EpxcnXVwz&>FKB^%iS9_kqZcCx=q(6|d%1fXqK)N}+pHZ* zNpbHqm7_PI_o4TqPoN{{rRWvt#h#U(Rh~7Tt)6Y39iGFUBc9Wq^PY2_OPuu-l z=-eKP1UIA8z?HWmsq(w3#eIw%{VqCjaN9w-T{4J-+44QvT)59|)?3~UUX4;%~Z4_pWw z4V(yE4m=6`9=IL29=H{F8F(A`6@UfPgWZBXf|;*!dTmhR0umUS_!53xV7FL4NQ z6mcMN5Rpn8L!3+$5FJDz(MdEA^+Y~VOjHr&#C62wL@#kO@jP)AaVv2VaWU~K@doiX z;!WZu;!ffx;#=Yu;v?c6V&kl)SwD%diAh=AvN~o>%}UMUWQnpYSp`|qEOS;_Nk=G= zqqWYrnyh~70&AJoZY{J1twq)nYq@o&b-#6^^`!Nb^`W)cy2HBOdfIx%ddRxky4AYG zy2c7wk6O=Jms=lL8`?fwA6c8*>f3HxKUptXZ&;hyzFRL_TiQC=>e<@Z+S=}0uUfm< z&^C&VYHMIyXd7!AYRj~h+Gw^xHl%HaZHkRyOSV6@-LTcq z>R@kdzhnDpyJqWRA8BuCuV=qvyJu@|PqBZoeYL%?9kU&@^|ZgUJ+M*jXgk?Xvdir* zyW6g_7uYrSvG(b9fn8FS^B1iFeJp7bX@nV1B9pR6&9UiJIJG}@ zD0MC~mkBZVFi$amV_s*zVWzYGWR7CZVNGGJWBtj>XX#jltgS3DYb|R5OTb#s+ROUD z`og-;O0bTy?y}CYFzn;3{j6#1N$ke#&g@in6LwE_8k@$pv&HNPTgTqP-pMXu?`9ul zUtnKnKVtvRZpeXi267tHFVQA<=h$c1@7PwjcDQ=DIXDasi^JgvxGA_a z91%yt^}r3rS#cqp8kdh_8E^Vcb^SCEP09O5A1K6`TyW40jc` z2X_E>26q$p8}2r4HEs=VIqnYbJnk;8GyW+q75@|02LBP4j_-kQj&F(Yh3|{!;r;k+ z_*r-{ei9y!pMXc<$Kpre33w%5g;(Q;-~l`p@4;Wf+whz4yYOzj1rOnk_-pteUXQZ1mz5vrS7Of8`XsZnZ-x{bP&x{tb+T29?WT}C}b-9bG{y+nOPJxzT~t&^RS-7C9i z_Q33n>~7ihvO8yIWslDunmsOClugOb%g)XgX3xobv? zZl$~E1#~YxOfR9w=w1lBWsSb%%!YkpI2ugBGge9U9MTxp(eu=rnUg9cQP~s~Ilmtr_m4r&dC1zTX z=AlJsD`<;pyJ*{J`)ONfSl=buMcOUeGujKVf14(VoYG9F*FPJ;|Ak6<2S}uMruyaoVGbVay~JVa+>Az%bA^{%vqZg%2}1OBj-xa zA31mETO!ZHFT?M{AH#oy{|x^K|Ej#{4;HBxX%J}?X&h-1X&PxBX%%T3X%}f9=@{u0 z>5rHoYs(xa!ilJ&*`j44hbSNliM%4dNFY*(R3fKnwdjKAifEnav*?THz394Vv*^C) zn&_M8rRa@lljySOt>~9%l(?6;iFk^5rntTsChjP1ChjMmCmtvsChjCgiZNoGc!)SC z&J%;;#bTOxkvJr#iWy>qm?iEcIUznKzAJ7fIUv3-ZYg;pz9YUVZYL=hH<7Ft_mfB@ z2#HX#SwfdMC0GegGFSqaOqJY|Y?2g9?n?&b{VrJ{StZ#g*(2E@xh~l%IWO@`4oe^j zGjDp{jJ%Azws~JAgYt&w&B;^b_04OT*C($a&zI-T)8xtW40*b|i+L4!tMYc`ZO=QL z_aN_0-rcl>LbEh5{74qs%C* z@7eCZ?7!-N?0@5b=C2!o1sVr>23iK12HFME0>c8s0|Nqs0#gI%049J6 z@B>)^W`Gjd#Z?662dn{iz!vZXP;?@lK+mF&p_b!NR1!6x!lH7idrf`medq(|3hP+< zm{JMVLb8#3q}8M~q-CTc(kW6o2_!8iT_SBJZ6IAI?I+bG*CXE{H6TAE-5`A>H6b@7 z4<-*Kw{^T@Nwc=A{>ldL4aGOr<*lGS7#c|Z9jc{BME`3iX_`9Ap}`91j> z`3d<3`8K&Br9Gt`WiVv~Wg?|5wF{L@;ZWohGzCjxQj}43R1?)jP0{&LbJP-bMBUK^ z(Li)zbWt=CEsmB(W6^jNiY|^WjV_C>h^~r4#wEsO#udgg<7(qN<3{6t<3Zyg<6&ck z@wD-b@q+P+@w)Mr@xJka@tN_Z@s07V@xAebv8m}#<2U1X<1b^fsg5bdRNvIV)Y#O- z)ZEn4)XLP})X~(%)Y;VClx9jd^)O|a;HI9YUZ%dLey0AW0j5DFz?5kkY#L%3X4272 z%3ImvmEl04JSbl;Un+;>=jDgx7v($TTjU4j74nnv$MTzULvbU;bNN&GUHNYL2YGWv zUj;?cQvp}>Rsf2DivEhuicX423aWyrz$-`!wL+{gDq@O4g;`-yxD*}*s3=pcRs8p7V6q@vU>67lWYm>L}_YN)z=FWr+HU28)Jq@Ejp$o(v-+$N(AB*$xAlW9CKXz2-)|edbN( za`QU#R`U+?Q}Z+PbMp)HE%RaXQS(jnS@U&s3*H^`OY?j4C-ZA_Q%f_;2lEeeTV5** z**o0Q&C=h}!7|t~(=ykBwJ0nk3)zxyVORtfgJr%&Y~fkvWo;w7Emlj=a#ga-vc_`8 z(vx?}vd41BveJ?v93dPfoFbeqBndATUn;&_e6{#y@o&XjgcIq9g&zw795l3uvzK$6 zbCh$0bB1${bBS|}W0uCG5ouhyM|x1YLs~A~Bz-15C2f)4I=@~1p#02yc|J9tpFb^M zmOndRldsD!&fk*1Ex#;(asK`MEBR0Jzvg$9^_GdG9rC&PyYj~~$1$fcXEJ9o$7m;N zr)y_vDO#!)t0ilhTB4Sr&C~Lw&oX)wJQ;%sjo6L(ue~NyH|5SfbCutgL+G{#!T58HU12kPUT{WXLqcvkR z-8Ex1a7}+r4^1BpLL=4?G(=5L4N5aZGgp(VDb*~}L^Uo=OtVC@OtV?DOS3|AMRQYA zp?RhGpsB0?6Pp$(ypq0OPKq3xj^p`D>!q1~aqp?#qPp`)Rbp^DI{(CN^b(Am(r(1p;& z(52AT(6!L@(9O_|(5=wj(7n+8(C?u~p~s=8p=Y5Nq35BOp*Nwop^u?Yp+7>OLtjHb zLO(-^%AXt@q3O5Zm3pWq93bzio3AYWm3wH>24tEWA3wIBvhx>;6h5Lm2 zhcm;2!$ZTv!z02Y!(+qa!xO@j!^6T;!_&gk!?VJ3!-z04j0t1IxG*713}=N&VM>@5 zriZh`Ibmj)9p;3&VP2RY7KC%d!mucu7tRmM!t(Iw@Kg0Gbw%W=_O8X@AQ_~9RFDR;KrYAw`Je#I1%;pp z%m>Aw99*ajDI?0o%D8f^a+z|Aa;tKu@~Co?a-;Hy^04xn@~rZq@|p69@{#hT@~JXK z^?%&<#+z;K4-S6F<3VyhsxqrFexzh?d7PKztT+pasXhFY%;RTZlxCQzGkMgm3 zvudmAwz`$Mjk%qhX>#hE2B+Rx=JYu|&b7|CbCq+M zbB%M6bG383^Qd#1^PF>|bGLJobAz+OdEU9z`P}*5`N8?x`O$g7+1hp2`N?_DdBb_p znc}MN`r>ThYUFC_YUt|W8sqBbg1ZK~I=RNXX1a#DGF^RKBU}?)R#&=fzRT#+yBIF1 zYpzS;^0=@rmdoH`yGSmMYmsY%tIT!Db=>84Ib7>pMJ}7G-1XSC*0s&G#dX?s*|pDg z(RI*u%5}^2!gb&E#?{W<+WpJb$lckU<{sr9>mF{JY?^ACW@=&mru(UDpij}m^lkNx z^!@bB^)vJ%^?mgn^#k>p`cyq!pP?V3AFuDG&(f3i)AUOHTz$5lp_l0OdZu2c&({a^ zEA^}NJN0YzaebNIp6hxu^;`89^@sFl^mp{X=^yK#=wIlY7=G!0=$jkb85$e9 z8~Pf08b%r>873NjS(2@FtT5{<%T#xoHQn07I>0)}+S}UCI?_7EI>b8EI^H_fI?Fo8 zinNlgbSvL#bUWN`_YL_Taws?boFSEwj-6#5H8g@M9YAy}yKTD=Rr4sWqH0c^j!$lw8!HsCiMdqP|4~ih!c=MP|qbIUpzGg4|F6v;gu# zzre;&Q)pLYZ)9KOT;x*Zfck!-5Wg=Js3R}Jsdq9Jrlhc zomM)fbVli{(wU|6O3|gyikp@UEWwxHO72A;M4v?8Mqft1M_)(3MjMniFKu1gy|hQ^ zK5#!c#%Kjypd0jn3&CrP;vfXx0&jzN!294m@OSVz_!N8$z5w5X=}>=Y5Ht!J0gZ#k zLsOv!o02UXHzwJWD*yfoH*c=e-_W>9|8q58Tj!r1`%moG*0I*KmHbcb+iUc@SLv4} zSNYj|(|_f)?f(;A(V+T#%~f_Ps%@^V;m!UfUtOn)H~DXE)%Kyh`q*aGI_0(WC!|&$ zyTMvfW&d!E|Mjc*Kk@CK=v1`&m!D`}HRk{7!{6Dg>ECshf2#j?cK%&??Xj`0y5HAUkMo{Y ze1o}qJp8*h|EKl;n*0BFKK`9QHFKe6T-D}(r(auMGk0p{b#3|o4ZL=rE~uHy)v=n; zxVNT{n*X29rIvqlELBv;Z9{dPs;G|bUp2j|jwF{?uZ1eA<4_aZ zis~_3Q&TF^t786tzFz#3`2U^G;##@r?{sR*SJzsr)aJF+ zbpB3W-Bx+coUMt^`sz5;tb5C=YezNTkdpXU4A)f4|ITK${<<3dztj2ulDsO0|4~P3 z^NQ;HSyO9j=ZD%lwfTgqb^Zoh^}4HOzW=LE{XcoNdY!qtCU4Z(ug$CTZB6Z4T|I{X z;x#(e^I}c4PVIJ`wfwKmYwP?S|9AWGuWNy7A8OBqzw-9~>$s|2Bb?RqXmz#zUvs&d z*Tk)+HvPN4{S*EFl!t5LSsmxK)x75V>+kIRmCvj7Ysa&CoFuQeRn4#J{z~3Zo&W8X z{gV72^|Y$5lh@Yh)aEs{vX;E2f2(Us@)}3A&8oFua(NA}sx`@LYU)dEUVSaOy2eiR z_2yr-xVkQHsP3=Y=T*_P($2=ee6BurUCkJ)scY5x6%DI&*4D_YZT_b*SsjPkHvcDh z?Ks!w{}XN1wrQ<3r)tlA+uz7*A6uJORL}9h>VB;l*4Ftu{?{6#I?h$+{vSD{wth{X z-|)ZndcU^)|DXT!&$a$h zC6-lUi%L9LiB+GYbm&r}-=Y$$wg*;YnVDLNmFdxZvTD1seRkKUrbjOmrm@{C-z{E= zWtF(Daz8b-=6GBsR{6`Q!tw^@+m%@Pj$iYqN<3PrpOjX$ztV0st}!pJ#GRG$t<~G> z&A9ZMg_V~qe`suBelmaqEcO@2AB2bA{{u(N=YX90wtUB-I)$)yI zL`IEVQ;8c_*D;@|!pinx@JcMJYo1w&l}j_TrV^`;e^)I}HjnK2)HJoy{`g9qS&36C zabsDE*;|eE&G)OY@;q->;?TH_V3u#fgfFO5UeNhDL^lMn;B{);)HQ-K}Y;XlP_;sAyzlWMrr~ zabrr0jNI?_K0lYotmo)?zTfA0zQ^x*3XbDGUVDGe&-wq)bzbLn-S;}(n7DSHtNxI5 z+%TEpRsPx_G@|){QSG*SC zcGwM{iC#a?6`o~&`B3>6dv>}yk?_HC+2bzvY`B5%KA$gplA98lhxr#k@^2Q`C%7rG zYfl%iG@WoE?A*f@dG788MbaDcq@O%HUDZk}e;-u%sAtrTi|Z2H_(ia5H8JKiMl<0tb9H2qU0GTxg#cXz#T1L*{H z3Xi)Ck?~y?>T|r_#Z`v77W#G$bsdb3vkqMQS|kSJFuq})o4(HSExq2x%_gXRsj7!v zySgb+^WlqTuebpcZ}_XG3%_IWtD)*S*kw9vgTkY36w2NhH~$_eUH?PVcR=Z>P#0~o z_{~uE)eo3oH9}CUyF&Z;5TA|oA|ATr@bV-*hOa`{p5BV_wjlY$9=zNB|*~9hidQKP?tgFGYv~A z&+r2L7#GER$)EKD7Gcj$MsLV;>5E|JuC5&BV=vps(kp>VzXmG3mqYuD-X3?uo?Wgc z)%;qa>NVqa+)YE@PWvjH>yl^GwWUdSy2|~`zXM7qEH+&Pm2ahI+|`8k7O&ZR?QiKN zd&XQ8D&JnOqi!$^9|`Tv=~kacsB$!gy20zHTMZRI=>RLoDNwo!s$DB&XPze=W;y}t zI@X&d|Cq}@-0Yc9^(chFt2-h!p}or6xh{$H^XP}h{d{Uzite22M&X8e8(nSAcx336 z9gz+=42Ph~I~>|`K4SJ5RJ#@(Y58?Pm9x$3xO)it{tv@n_^8!qB-i|ljw5)MdCQ>MvE)?KMNsuE^<;g9>W4Pz4Rc)ea;3AsYlq`wv{RXdPeS!W z;h9$NAvi?%7}WJM^DM}E92e0UpO=5!WsB$vuRC3%NImPzA@gNMWE>WqEx)-gE|O2% zIhJq5x#N*K@~MIHi^E#ZD$Txe6=dD7sj>0bf4Ovm%eWGD z&2_c4koZxN>r>rT(!00;k$S}HA?bRu?@YPD^38>6ueONkDX4vB=8f|2axszp<|tIZ z4@*aGM>U!b&`i-u<*TP30vvLnX z^=I1S*cnf!{KWEgaKmv+TzVgN#&3^Edu9IA{3?D1X}8>dG49GeXrA7`6fSYe%Vm-DE%4vaozOnbemuz=}k#*IMBs^Y5u_r@{74%sCBY_ z*wX8Pny;eNPSQ7WM2W*&dIyV9`}?U^19PyCzw4S%HA02CQt5L zVAAN0NXA_A^JE=~huV|*Gd9n{J!#LOMAM$szhl1X)ll>5Zm${tBK!C9J**zJQ1$Ee zjJp}ns7p(-_&J`8=RM7@8LHgr3#7Z;q-WeE?Iq1T_Uv@&$zgoYn5%>ZzuOV1_nPqo z^U+PAy)Cp)K&4;1x5Y1A2x;evMbcb1ME3nnDY9p|;1t>8M)oIVr@hYgb)LHzs@|2* zukWY79vORy^#^LaPD8EhSt}I3({)4HbI*7^(vM%-S=brB8J|~p++~T;-CTnw`xO|& zuf5#DjZru3HT$}=u``d#&V^i`(km2yuB#U5uY?PvcXOp8{ncWdk570TiM0(kGmBx4||m~`DR}ta{n!IT}!XF_N}@Uys|dd@|){=Ja=`|;`)WI=URo&b5++t^6})nqU!oki_tyYptv@H`xoh5 zT`$zU9r~i|b6oxnko7(JMo4-YH;DqXkV?>y9cUVg%6v~hbnhDRDC+UX5Zd} zo%uWkWiNO{=^W{TK5?GQeFD<1lb*@0xgSlsW1ev%>wepl@@F0Ux#d>~<6Zl^gr^mM zj>~yQ@uIE}Y98dn4F_&??a!KSh3dx_V8#gNHG}3~=E?aGRQY0|PI=D!McMPc<~+bN z=0-%?scp!@`=RomhF!-U$NH`CIWFZlX0H}$$GqQ4$6TFf+_k?XzXM&_D>iP%pvpf2 zm43>&{Mk>5tb@ZM^LQq-*S{`1`&5zf_c&Di9;oX>^JeVC&v-+Ox*U;qFMiYf3ZdG& z8fx4QcpY`4o-x{Qp(F&kezmU+;({ zyleIjPv$XHd*tshdp(pM4|P(o+2@-JRh}wO_EDbP=R*09Bv^ReT+^F&la9KEMAN(`6#<;ucEB-ObRqqcrP$!y<(zxP}ykGhRe= zX6k0&e(6y0oQVDWG|2kWDPn)zGwQncQ}{erx&P)!_b}H>sB+e(V`p9uiG+_H09j{) z1Em+c{(~Ut40?9Dl!L8&bx`&uk##3IQ@YbV4psh~LrkyqjJao^@~b-(`-U`EaF~Tx zXF=jOi!L)Pwv;D(y2ZIyY}cZ@%ltPFDQiT7r69KD?H03eO7kP6-C--NThu;P87M1 z_v~_sCvA=-QQkbL>v37J!rNU3R6nGjjAq_fiPWbKj=#Wthu8F zI^lB`FGplNR4$i}8(9}BOJz@U?hLbwKHoBF?(aqJuanQ&9H}SYeCS~9xfb3mZb)~% z=RwN(1XMc~o^Rn5BH@FT7XAWM_zf3Yc$-MMYQG@OJn)RVR#D^k639M0;ZlW1UAoA* zV9P26TM>ZsFbXhmz zzhQ}U4T{J4pU8Et^cHExsb{Ba5;vr}coSs4r`#sJz_m4-U#rOY9J(Dc-jnaJ^7KNL zqxl>1TkpzRAp4&5JEh~U5USiSdd>aZUD&yPwuzkAw|&$6T19kgtLYX`)5E>tQu)fi*A&Ri2Gd`E^3o_aUhIPC~Uy#j|D)2E}%l=oxjHo^f|VsN+!a z3ZIi-mrH+Mj5#N=f64lVbkt=GnXZ2U(k>&Ob6vr&OxKCTD;T!?8=zl5ek~@rN|A9k z`XXfiUi%wJxf`I?zw8lT+T8FPN7vnLXooN@o{0EE1kD3K<_&W73^& z8mj(zuh5RfD~0lF^o+YUScZMvYpxrwDm>l({qkSm97!PkdZ=_qH;X(Ecth-T#S*>=UDBJDel=A5#I2Bim=TGe zv<*Jbx+>BRwIbub=`9N%gl&Y+NHbpw-nMpYn6mK1KZfOpD%Y4N_ix+LT0cbArQttW zyiL;p{{x(lOWI+2yMLV&Q8%Ij0MC-puAm2IUxnYQNUMLhV~c@+o`QbPv?| z@F-M!7wo`J`;y9~)_=&rk&JfWJP<~OUanq52o$;A9_YI$35mdV+?q=Z) zP`Vc?zv|shH_U${QvckJNb(+N)}hh8A?;ec$n@rMRXeA-dqBikIs8^G#P4 zC_Ub-I$rkqF27Kkb2QH`m;LEC{JM|{WzT>r&$3XT;K{x#w7=+e%q={@{L@9Q??X`K zDgKP?G1mfB-n1gq1F&q6aVE|99Q$louM;i5?33Q$9&1OW0P4PHS|r_>Vhc|=Me&%o zpL-*cg)@2P$K9l7C;wZB{8)#f z+A*V4y3;L#s#ldX<*7K`^bpkZn1(Z~eEqQZS9!k9l%^^<@1xU-p>m z^5nU&XQvy#06X)lx)O3un0p~)eiVuLyOkpM4pW8$T>7xD98A3PEE!*Zx~Bk?jw{#j70M-h}QrWZ$!kN5E0pTIoX+aBIBXpMzgox zWcEH$`{xG8{yF2z3eR#yw?Nvh0ct)?dY#}3zlxoH=@%L2*-fD}QMA3X%P1#wKarQxQqG!fW>JBI&i?Z}X%TD!n$CK>C}Y*6n`T zNq_JGg>(J;k?As#cIp#p|Fmwa&oI<{ntTvD-CJf#D}HVxdP9)%ZIH4 zj7Mq8o!_JIxGV5v-4SWe=0`-HJ3cDEg|76+(kZT?*T%^Rl)de-HzK8^7lRtlIgh^) zDM1%OjoVF7`HcSra=)DMQ?pk=L!|#(`pvKO zNp#olF8AjaKV?9Sx&o1L8hhI8$y3@6J#@GjyLxinf7NuU z$i5`wHS=%sjJroYqwaaA@@)_8Q=x7dH~)&)ExZY;-J_euxRG@u=?&%+<;;RAXAPWr zlJkWL)3sZ~sB3{*cgnX)$6VH=*^5NVm%mM#b575-F6v1>u$%PyyzX+jZ_AJN^XzgB zQ>Mi>{6=9r-0bb0F8_~&GtZN@+x)Hjll)_@W7_H!{F(h1{uxl^tb`g5i8E;WC3nt* z&#wf^zR7EzyM^}TT_=3|6+p$Wg6gLVuQ?YGxqeJ~-RW8q%)cMXzj3bV0jPCgVxHMk zce8XBK($M@C)bTcY0f#J`mMxk&M8BC((Yz&gYxTv(SEM4Q01?iKN0Cbw?Wx^U<{5z z^-ppV@wl$#LZ7}g=`4q;*NI*;uRNpf<}kcLWS>&Er}@`=#@tY-C&kV^UETu7`T3Mc zx-(Gul zN!UX=DId3fNIypLIRAs{x0p2ZWJ1*Z`2^&;GnfzAe~*3A?0v_IoSQ<$%Q(*JpHhIG za^)Rw;rX6XR|_>>hrH%F=Q6^{w+PCf^(oV(BJ(S|5b`{&5h{F4nszTe0n-2ZCrNYu zBhubApEJKW)VV<3sj?@y;IxUz@J~7SfFrOUs=SG%X3v6}2N_W5<-!5{N}%#x722=x zjJozvcZ53YbW5)tY8*~M#j9RndbMZFrJaGMf8rwT8kAXh29$psYCjS^%hKzCvTuPZ z*QCfeDEvIs{YJU@H9)1;;mLEfv(3NEGwL>ZQZ5)!ucULraeA)BYY|zm6Duse0;u&g z|2)%IK(+74g|tf_*MW;Ie#Is7wkJs)bHFnEoHr`3sZm*UBL#IO{92i4Dg zQ2pEE!{e^klk$b(`PW)HgPvTkt~1>R6+iiU=}uP*l}@$SI;Uhl{)BSY6VCZ)6_kII zH1*8*qT;bH^z3vMp{|E&uR&?{MI|@LkNbU3-qVFjCpTj8>qYz~LtX7AB2DBw09CH| zjpipR-gu}dMXo;uU$Xd{MB1&Q!ThH^c~9ocrlU~t3vQNKp>BqikMD@A3GJ_j_RX*i zd(fhEcrQa_U7z-v^Q}A4^h4WS3TOTLrpWUKm`%JEsPa{|n!R0Q9OQn>{GBKJOQ`>Gl~Cz4!Y0bs44Yw8;jHt~wc&V%iZ>~; zua9?{?hzS>_3JF1R#;B_UZ{TRhAMYr%>1)N+O0=qy!Ne!TqmYP{AN6PU$V<|H%ueF z(Tx+4bU1mx**)3M<~|_JJ_9BaKJ%lAND?f0Xd;pf`yN&}&%r#oKKGb^EmXZz9Tt@sx_I}vG9I?rJz{p9B%=LJQ- zu=Xv0jf9s$wO<8nK-Y!#W^a$W>LI1e`OB}Y-c?ZJB6-;K5~z0S_hf#W>Mi_k-(SvG6ue?mt7_=gIS+R|)4iQqOCUb*E%p{++z{0J+~CeBE^ZW|8}Pk#)^Y zSbk}5%FcP^7SnlK%|C5YN;Dq3t5;;I!2z`5pOjUJo_Si$gs# zWA%99uL|e6!Mo;{4gEaxn(?|rcIpNFI1JwO{-sd5S(!{pS zWZ$0v*$+*Nl7;s` zrTcQIEB7>g1yp$_L!G?K5FrDb4@3F%;Kkc zcDfi;x;aN#_!v|^CwsW zmqMMRHHwVOF_HF z_86RgnEer)ffF#mFX?3S&xVQUe5iPp&|hytJq|TrM`b798P86)_!Q}=yUR1~;-Oyl zIoWyd%aixaMB2Tu#Nsc59h75vsH>pzZ4I?C=4L{B%c;cUeZryTiqE({4Kh!1N-e!A z�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

OEP_>zN0WZ(nJjW^PMUgMSgvrUEH!$Z zmcu%@P}T5A_ceRyi*weD)FtPK#JPTe44ID^Nv<^jX;%`=GCDAoUZ;;kHwfKLr2eS9 zB6n)Vp|N9~NMu7FRrOzdW(eo^H6n7HGnn*%;&dOm;e~6bT6CZZ4GkPU0$=SZiMpsu zs5L7o+T9dVq;Vs&(tt7XyhjXrv=K1vbym$G>BeIi6yg~gq7gfLOJUBw(dke);Z}W3gj+4*4Z80-$3i*h$p)P73=A?p z#2fT55os_?Z4=z-^j4Fy+LEx5@s-n4Q?-l&TrEW@YEb30xT2Xm$(7mkq9vhoipivr zN@wAX9!;B!9!;x63E*q#(6hPhN5-pAQU7A6Vd$Yq9(mVZ} zd~-Y$DiS5mMB`RRxg3h@$wic!spx8Qfvmo9BNN$nU3eK^QY7+?#(TbLxn}${YCF~ z;n3*oYwTP|>d%gu0V*7(n>w}1r_`GSVV)<-siSjg)gTj7H+z~oe?$l%@kxW>gd;@t z7$*6!bO|a~KnYFJpyHKsq#|XnZe-d=?YRzRBmb2ts}A{T5`=&S>4{)kebDN=zTa1x zxcf}(GR1XhX9k|v1tgp(Qt-%Q&AXZp~`6q;}gtL`t6|VD1hnF++ml#%ACW% zYhtc{@uCf?09Z){b#eEj+M#3qi46i zu=TVCEKlYbI3rnUFc}5jIcrXa4&jS)E@iTkw#CdzQ>Dk-1Gzafke2UKLcKbY)tP0y zX{%pJy;R02a;2E3m|r4ViZTe(JGHTcLw3za7$gVXiVi4e=|y5K0|idvt~P0xHkP^Z z4}?{7(VL9QQyt~lbm^btoB}Oq!;qMLBwSMngm^ab`|>GM*ub z`lfR#{Z-!SsOI`4#zbdSlZ2geP&C0d6q! z(Vxu+I=S{0nd_m711Wt#upRj20COwBm66C}#b4rG#H!|5QRP?*>Z-GiD36-$yW2He1+ zMFa^ol{F6<#H^f)(_5!yui+xeQ>8QN^!?LwD46t!>zO3Ug~o;!OOo|m4Qqrm2lz8) zSk8hC1+k`IxgH36OSBU zPIr>i>P2FnilRPUiybY?#BS?MKwHdMo#~S~9ai^qQR&m_M@BQ1?4Yo7qqCWp%Cy#z z%?|0-vsc}S(!$J1s|bxpPZ{+nh*^yKW_sm(mP)o7J85PvPXuj6m&|U=bfQL|#cYhW zh&)Wh+WrqCB)gSyRFWh|JSKC_wSksz4`3-W13EC0LZ zC1KZ)<>+(){p6)cN;^5u*izCR zRN4SmD9kQ$M73iSq&Ya&7MGlsqsQw9rR2`YWNLK!pmMn~nf#==sLAMC;f)FqmV1HZ z1_!x*QBO1EpPjH+cEbUqGBRNiK_uoHq4~m>k-GJJJjR&NjUua9ZC8Hx5 zLV60Gt|)z>jTO04FKF2mrN+F79=@MzEb939wl?t z?G&kFQH3QNCXV5jh%h=Ng9lyKNm_Ve5;Y44HiDgM>WRLTDy>k6C(Sc1pSM<*0O}EI z9CCGp>8N60OAjg1X)vAXd7w$gN#3~%p@puV$rIIEFS3K9$+>B`p@Gy(xXfAKMBkR# zo`u4+_D}IzE|*-)WLHn{wHPTnuQ8sIskY3l>cW^>A_?7;^c^6=WwVx7RMb@3G_bk& z7)+i5rK0O~{}e$6)xpi7qh%f~X67c8nP{TrdV^#BGFomjAZ9_=AZ2c^Osn%P=6TZQ z(|5$Q5EW&CDV#{34h%oTv4+|(CX(p+bVeslLqKXNVaEKTWE^!ZUd_av5~fwEq+@6` zBGOd0v8>8K;D}PGeD2ZGdb#dWv|`7~X&ZS|gwXj9)0viqfLNa8_)*h$30gmI+iwUKF!5t=AJ=grTPey6*8-KFdWa zIvw%1B8Hrk<+ge7-4XkY9BezW4MtZxOW~!dC@mR-5;>rkB)Rl}+K^~c?(}UegCq%N zpq@M_fO*-y+ZJ8X)X{Bv2HEo+IF;EgFGxES`t2hNLf4LzKiNTf4rg7*C zt;sM=)>XW!c&3D{v&Gs!(yXeAWilpu(wyj9)!di?i)4m_c&Utvo!l|hb5~YnJi;LA z67Egd-kXPJABS+&9sP z1xyA;Eu(1It`!W-P-Z6+O;g0aWK&9oM3b39L!23eHV(<0EaJK;OtDy;DULM7nn)r& z<8qc&h1E@C7??Dd#WQv+KFGp6uC^1*I40OA>6NvKqNpDDSVz*`Gi?}7lMOr9{!vx> zes)@dXvgW0#tPz?n4_aZLqcQ5hNALsNYl_E)jZTiI;C_xR|@|u<A={cJdRZA|X!`EvIqL>BhwEaM=B3g%RF_~>KC6pFth-#54 zOGfEfnMol{%Qkk=-b~KYdP2I<8nb-_9m0;NL=vTe>a%7*_e}B2rd*`yL~|~J*LsF? zy}UEaMXt}{!ZAA}$krL@Ih4bR&2VTC&W;pod}LI4VBtl5^Hw#LjyM$dEE3R#o1bFmR<%}Hv)D40UGgd60mWX+-Ff?DecacAi*Jx^)28T)rKRxEFfRC=#j zh|!Q81NOSA(6F*&F-93vQi%vWJBo8%sVub#Cs@dr#dW54L5L z1uf)ydd;Hk%zmD|qDk6bQIqZ?8b#;TBSMoi2+<`HqLHRGQ3oMXw&k86do>fe{8tmE ze7f?Jp?@WPDFEfJNV?mtv&c9%W1}WSJSLV-otEf-(p;Q&RHiZ)kLh*1^xSdmH!g7I z#rjoRn)K?iXR)akpxYK|I`gCKVzHJQw^68Cg=eY!ztUK z#Len|xK6g{O1pBd=E>wW&~hf9*;Qz!h9sbkR8^8K*2hd+wUg!1qVdR3%^oE(3p=9K zQTA+@y_ac=fVCY`{Kk5rXTLjqb=_;5vBQ};7X^suEj#Q}U8H-w;GNshSg9Yx!n|(E zX5X5bvbBh1FD8?Cn32uCN`sS0vQuS_Z6ke^66LWH*40b~O(>g4f}~r_HI`x zjP1rLl&jn5dz6{CVE;4?CNxop)w_)J923q6|IDtMP-upNgIv$3Nwx>tv@#2T>_-$WmZ>N@FIix)qJr!u^mKkfNfw>yxnY!?ZytY} zz0z;=P;y6l6YugY0@m2~g}|rZ>Y-lUZN5#y-!Z}6P(Zm0YPJn0ca%GKxsL)T_q)rp z>p|{B{71Ix$om7AaDFAL0yT5xyP_4xO!CS`Pg#WrXx!37Kxp6?L z9^d4=XTD#IU*d0G9#pIFcid(Cx%h9!fA2>o{Oo1iUP0OF{$Tt!Uc|Yw(0l3wNNci3n0_sBPb>Vus<)OTJq-!E~%*g&ZyNt?jX}-Bv4751 z@>`;D_$&EdY`@=>3aST*-vhst|D`zRY2vTjX8hm4FZa=Rwcp=K2Gt{cp9wulZxr9R z;2*f(_(#?U)hOt{4gci(AHE(`$Kb!w`uCh2R70u9JnJ7_$N9m;fBjD;y?0|lbp_w| zK4bE`0{=67@A|r-*Ezwt(eVHCorb@i&JC)1{2y5V7W{vBo%(;pgkN-CP(4rl4z@fS z&k3rR@E21b(th5H2GtJy_daXVzX$(0(2Klg;&;I>=kouW`j+qy*KiImZTGxS&G#d! zgK8)7?|Rwz_f-W|lJpO@{<)PweQ(*bFB$rKDuU`A!vEI#Bl!P@zXN`u|J^Y6n$ccH z+V=7n+RF!gFL=RxKb`OE_+I*)NiVdBbF2COd&(#LeuMUSJo)Qt+v}@*@AwYkpElp$ zUD)kZLlHFdNiT!dZ@X zkB!WL6RFb1hB7rHzNAzS$TAN`9I}5&Vx@E7jJ#YoonitvT`sB*g`MwuCr zO*Z}%{??D&qw3(!{zng0i%Z~^;8x(S!QFtn1$R5{Uff39k8uy<9>YD3`yK9C+)KC} zxYu!S;r8I($NdBMDK6_H%7g2P>xC=C9fd2!4abeaO~K8^EyPve>TpYN%W+rZzJ*(h zyASsu?w7cya4+HB!hMMA^l=Z>8+QcmSln^Ak+`Wix&NoL=1>RjQs|)XLE%(<*dX_u z$lWJ$4~j^dEFDhnJ&`+G+;^qOFNfsd{Vq6(CpYW~%}#_9n(|F3N`H`6E9VO@Sj9Q) zz(=p89wdl;+;^aKuy{$`{W!tpd}Mj#41am#%zk;CI~B66-{en`XYkT`cJ zNdDxJGwS3K`KcemKLM}gk#elLKB)3Gm^%fYwRrj6cL;m|c*)O;uJG?&7gVp{m;Alv z!ar*9lFv6>bf#Ing)@1==dwM4oy`H}Cx+C%ZV}z5H(Ww9Df7=()6~r3N>V-A2jUB|EE%q>2tTmzqoIu8a zi2;tq5GLvMHS#KpK8`J}RlJs$YoBIq-F9(O&%`t6cngjn#w{^X);H9_5!U{7jV}wHaM)kT#LH_X0TK%hajZtdp$Z z#;diZ6Sjy?3_z!fxyx*lVGWgJn&o#k0Ug8Ivs+rZT|7-2rr80ZE$6bEUiRn7QiP_B z)z#kP%@=GtmZBKgB~!-hGU91tsJq&}Gzqa58qK+aJwd5PS=_? zi8FzjCIbnQK#-6Gh=ywtFoqa9Gd;t19A89eNySEd!4$RI(6!tQws_(BFkdH z`nSKCEk<5cAT_w2gbOKYb*S*wRz0f|E| z;I z3=0a@9@iJJ=73;Z`od*SrCzhUHr-+VCG>`C#_)UNJPvOi4Qtz5`&L%Y+tVaEl->aP zmA$}0u4^^K?wnk*ldw*VRe`aDwYml2r?;^=a6$N{4JS_~)QkMi`GaYUX5RwvH zHC498Gl6yE*keqt1^m@TRxMfTwmeQcYC!>BSXUV~SE<27rMFU&5LswZqu6+?De>#m zTRJbRXm6rREC)?afPD zTSq$FUAh&>?%ENzQK-Q58xc zv9{Qw-rIVw+a*rg+i?Rb#-pQqEmyjfXcstZurgqXwP=-bQ{5*$y>i2x>>FC$J z4Ea?U_veUbssyW|zl)3OGPh2yZIT~$V=Vq@pIucfDD;*EMZ*$QvM`!}28{VVA`LCw zG7P%YGASlt@S6aIvE|Sv#J)P(J9T5@=cdQkDdI%LgVy*P5I=osUyeepFBoWn#zxZB zXZNSf0M|ybdkr3Vz2fkLmP1s|fN&ip`A-wD7KB=;bX>Zc$%^m+6CA8A9W&oZb(K^q zq_7TSScBcm-|TBF3v}h3nqN0(hk0&7d*}s-QARqec!3s<;~rDsKE^sMuXK!>eIS*X%1d+ed!J3VAX+o!|hI zH#cbV+BHbjMe2*HG43sKNz~ab10N~L?2v~|^>a}%a9b%Ph4xi#Ax;p(Q{yQ%TaY&$ z^d@C-)D*a=mYj(bj1Rjfo3dzqnwm5D>`3G$CCgNChLwHiSPJ=Kbq4fG`V z%N7^E;1rL-V9(}2o@lDFhTBNX)}U)I$4Wg@awKz2#w?X@HpxN zUGlEPjFPF&seQKi{id8%prWY6&0ci8Foj{Hqz~6!CW5Psl6EU?5=#ug83K=~6*P6( z1>Hral+%SZY{(gQBdgQ9Tl|Km%~+1`povRhfX6qQ>o`cEHZU2ISO%{<+%$A|fH6>` zWj3_1(7Y~v^;C#y8rxk(d~~>LwY3=}+t5?&- zV|)`1wvEBm=B!y2l?n7vzQLk;dm5H#DtqG^Ljz!_)`>`YN--WtjYSg(PhSP2$@f_67q?GS(pNjva%tgAGl~@-G|6 zk%7^+2(SQ@)`}R3{w0p8h|sN(v=wuy!=Uenw)ks>D!lF=W*1c5i_Wh>gKq4u(uA$7x0 zlfyvCARQqd!%jX!)v{mEm@_G*h|j>Nw3p3B&lU==I>~7>u&SJGA3L46`soJ9VOBEq zaHVjk@(kv3xZ0hipe@v21zb>B6&CX+Gb_F}aK#QfV+(~31)S+T_7G&6XM_a%F#*8|^cdR*s7ibZ|bW$=MdIRg!(bG1)tEN{jodEuL(_Y}T zW#{T9mn)PNuLJ2RX^lX)V;ylVykS>cS{SW>d`S^koY&TtOV0G>Wb6@E%~ch#U}^$v z6VCvRs!rEd#vZWE!o#1dTwayAeJ|8(jDfSY@vkh-FqT{BS!awyV}?yL?;y#%O%$_0 z1Zx>VZyou+jbKK3fx&@Uhe~XpVzI?4% zQJR4h0w-d5dZ}yBngxD(;b6yLh|ot498N+r*+9A);M?6jsb zTA;I6AcV^1$8nMzp~yn|S9;-+^X!~((Gn$fH!NO*(NWPPMj0Q3gzzRpG?LY`M&?i# zmw_zgbl?x7?VF$Dlnd1v;j+a9T9w95RG}h&x8#n0D1Iz*7f22^I|vr?r)sZDbvJ@M zutuZeh9|xI$#JY&iZzqHQ|S@vwu2GuV^T4Im}X_(n2NM45wtc#w=7j5X+S9pNloOE{v#2G<`^U-2ET zuii1+9h=8ciY2#_Gg_<+Ul@Gk^qz$S2a#9S*tk(h07%XueAn$UA(`quhkazQoI^;r zwcn>kIXQ=+(%t>Jk(Je$G+{zg!0C(s{@fRk-HqZ-|CiCprt3#12LaoICVA&txEKDb zzEKJ7FWV6^Zztp+2@;1X7i!DkfX!C_okPeRNiFP z)c(%@w;!FD%){UGH)Bke@9x_sCa2)P>LDkK^y+&iCX4Z3;{8|RUxt6)r(OB2cTY?{ z`sxYEEMMO>pP87n5x@Q}7r*jOWXXwt>_z84?^6?#)rz0!>YMs;WOW}#w%f<=LHzl| zKX#`}|7zOvt98341HS(MxOHN35%Ht{*0q20Ey%j#pZAD^f3HtZOs=NBCth&*PrPYj zvJU_0-v7OSoS3|y^hIBO0sl4lpL>HVZx_nD9{+|q*S^^wqd%WTZuWI9{>&RDCbts5 z$*2FuCnhF$;P3S9+kE}Rc>HI1{}}w=!T;FJKK&<=&BkB<3FqJc zpOC%AU-JGNH%?4`gMVM2|9Jc_;@^CWOaChJ@5*|=$)|r8`FF#A!Pi~;e*6(9dp`~T zE==z{?cJ03rQ{dRxbMTrU*do40au<@z;yhhugm;BrQMU$eSLpV`nM84%lnnS`n#3* zfty_Z+xffti)FGph~L{MIAR-dRq4_o)rw5k5V-38i^nGWer0rWUy?>4m3}=5fz9GE&*Kq#tM<)+~-xh=W z@BQx#|4$-3d?*D#;5f}%1kQ{nX;<`87hrdHLTE>`?P45Gy6llLcH+3f#g^t|ney|+ zc&_H)GNLpt*Wtsd40_K@NLUlGk?X2kIM8D@x6#;=)P$*U>iFqZ*P&UgLC$Q3Q@x#$ zbH3RP$4_>8o}AZAEtk7*yL9ed;UlC3>HwOpoA8dd$pw|s05v%|nWf7fxP!r%1(hR@ z22sRt3#~iA_f;(`$v-)?LQLeU)P%MRV6Mli@j(Gaz!N_{N*i$S;x;l z8DmZosq>I?8f;l5$vRWq;B|q1yJgaqdR}s1Dfd$XD1Gx}09!^bOz#i%eUvPEo$j2} zn4@TS`Q9bjI!<{VE6^3ghOye_l?Ls|C>tlbwaEn#9YcChwuV3%Vj2dKFu_gFNYaIN zCmOX_H(Mm6n^_nZQDn|i=y-|92!tlYp45eHh9KyKb$KOV(!Ld$;YZ#*#&GuCO@nc$ z^v?DkKu68%r+sZLx*E5RNhaccaF|Q~>I0w?I^Fua-G_zs5dRK0U9CFea>Cyy95lhG zGU*x!PcFpY?ZfnznZnlLzsZNGwF>)Z{I$N(1>iW(?dN;(_Zx0RALRVZKZ&ph&K#5M zLFR#fcl+CeZ7%*u;T zTvMy_f1kg1r;j(#F2Q{Oe=oz`GvNHIYxMtfpFxMKe@wCuZ4KX#4xEs*EE<#C^$R@wdyZ=&AKphQ;yW@7GS5V7e<|EEK+<57Yjv z@zFP#FzF&J#D%aUeAvn;Y%XD{^};CZ6rb+OC~T=ucY74ZpM$=M`%Oq?=oP6qlESz5 z7UE9*+X+cNB;+^F_xXuK$NilCJ$Q(Gov#}@Za3P}K)%TzWNcW!o1;0cb~X}s?+3;t z16|CUgR{B#BJDhexVx?zlN5W#By~~Tv&0=oTqkjlGf$5qF7&g$N&1bc`hNkzX1_W6W8a>bbBHO#TAqkMur#GTAs|56n9bN+56-{vdF zBnznTnJ8||q%7`a;$DM4e4~LO$CSqanj4|A?_|0&e2{zx(3Z`N?G)m|*lG{Bp17B&OJ6*9KSY_IC#>@y2FDfX z&o2?T?=@qR1DJ!|QGJu5xF_B(5@|9wpz#4KCk7QCxczr+m|+ zxJ!xq4*4GXh|70c6n9<}r+mFp+((G}9{HZRZcMVCvArgWyDEyCM%=$eaZ?$iAChkp zb3*I=M^RiOaX%q$w2%8;6n8LjKO=6_-@AOdh79&|i2DU`?d!)R`Y;qA2bkqd39d9mPFB+#kqy`A1#8zl-ATjpCH=<|yuQ;$9@* z9UpV~{v(QeIEqug$D+8O6Q>36$j4p2Uqo?FMsdpbs>xZu{E;~696ooW%eQY7_nRnA z`3h0oDAx2i^6h&QbA|q#6UFU8f9^)yExte7qPTIyO(5r}UE>GO^f9G)dPolW*5qB_g5BazkqquJo*FfBj zK5p+rvOfD7agD_F`?$s^?tbE?5I4`q&57bZOWaiACi=Luqqy6NJBqkxE_dzhkK#T~ z+%d#G;Nz}};yz5=al~!#ad$*<|3KUv;yQiY15w^0+SK~HGQ`m@@%nQ)YX7e+ z7kd5CdTb}`?UTI;y}|15o-NS#bKjPwm)_z@@NX{f$ik}2y88>2Jeg_l&C*`=9_S(J zFLOQ_j^1Jn!?D;*8Rsio0G(6)J-((g?4h-e_p_9=;x9e$KIeaG^qAx~QQudWv+Mn? z{jL7DI(~ZD!SE1t?Qr-@F$@Eox$h=GV=?RPmF-nMFIAnr1jFQuT)OAK0bPHG`m!Ah%cmSl_q(Qm9cnHnS4b`8=R!Ty%sKUi3Bx146@$~Y7$8MiDXX1>kc5<2;L3&^?PV1&$oa)#dg>t}GXyjXom1LKB2JDq7@)fetsRi)SQ zb1Wvue#+XT#AbxjaexZRtV-ZIDd$;Hh+gTgnQ{*W0HL-D|{Qt7ruC&|A_X59ibGZ32C?V z8+gG=^VBR?{y|k`h$nv-VUIpC81^ldy|uU)h9+?4Ze-XMHw(D$`DO;I%ISaH`H%bN z#N@ZMqZGwgz%X~ru1697JY%A7+N17w6JuZ>`G@mupx=jsGrN|V>S8(RTGrnsK4EJX z5NuV35Y4B+{}WGa^bfLmQr)I|zR#Tcp=-1LzVpd3$>q4me+>S?AHKzeh41hq+*vg2 zLm^zh>&aLBJ?8T+d~{-R67Eo6Uv;|byP8o|=^Ds8oNxM12DhPBJ{Z|m`s_}eB2}J% z^D5;)FJyr%iNhilQpkQ02aDR3Sit2RCK^}>hu1NGodh(Db)hcV3qqj)Lw-D;E!*49 zD4(#18I_iF7WJ5Df)_lHIKmKiRHb1)2ug|o*GpS97EX}p({?JD53`0;wJ?3EutlN5&_2K7v7}%k zh-^(JQ|O{!PFcd9H+0@weCMCHS9{Z&3b)ogghsi zf92IRhA>VrGNMRZUnc}bM5=2&|D7?z5R4#zF1*=ki zU^3MY9)`&*MIoK1CZpU2&WIT&&cZ?$R)V~-EL9=oV$YPJu7Z+}1J=LPgK`{le*;pE zKu*u=jAy{mH&HK$I;pfNHLMYE*2OaQ(d?{?%1~tOt5T=4(z?_ur5@z_eLK{GAhXf< zfzbswNIGzIU6pAOdN0$aah&vR=s(l+)w62Vnl@RPrpg%cE(Vppjmk9XkVU+QZP29= zV?$FW;xi0tQ84@#uUHu^fSo3;8v9||2o+^hWLvtfqNsF&sVLqTuQq|=TBl_;SP!XY zL!HWzH=FT_*a`6sYs?E}gRbFmR)FZ^hiMIE`v86=?V{`eydyQf0bG+)ekDz$>;UY4 zH3QZ0a+!g0_pj0>-I{@|zZwe|v<0RYL`~J!wFVowamXpnkv`*#0g#v5zRgIQfsA*y z^x9^JEkfqKMaW=6VB0K0V)79)mym^+zT2Wj$ZGp~@gC>L$1d$tn?bg-j+C)PJK~vG zg^UWPwlV)|91<&>TxJf(}kb&Y>bf*}H+{QKV7i%ZdACp?`MKGI^+-qZGR`1Tl z`qc5?lGCd7ZF=+8b@6KDdpW|S|2%5eSd%Ba=2uQ%`lUn1noLanvrb=nW4-eq_-m(+ zycoY^LH=#C)9)Sc{XO`lzkA}Zo$SQbk30R{pZ?1E$KaQ~?v37m^Z#@Dxy!si|6Qlw z``j;G`uumCe(s&#e<10lpWE*JA0@r?wXb=jYtQ*Vb22;^{K3ie-2GFhUwqFWo&WPc za{AX7Omgs^{u`&CeVvcL^_NZ`yZDkze=L6KTleqp;Q#&4oqqX!dFOxhCr;n`BA@@1 zr=7m_Jn#SUFPwgL$>$$Ke(6_Vf?x7`=RD)|q1V6Q>ihDKoqqKqpZ=#$IsNK=COY_L z0*~oezrof2iA_#F{dD{qkM9G&^v4(N>*8N{!s&Z&dcE_XgZjP&s*|Jmu<{o#jBKm8f{ zQ~J{Le&F=uFWTL;=VRY@`sJ%%>-G0EuPI60P^@UNcY)|vi3fbf~WKyK@>vB@pX+4|duJmHIFo?>0iYx3zfBvB};K9ntvugm5>H|)N_+}s>Qyp5 zC9;o$5i(!p283Qs479<>H}}|s{+F6FM!{#v>Xs38&?c+x)%WODn#`EhEq1i@%hJDX zu~v+Uyr3D~1H0C$Nx87T-;0Vjt3V@W91fL)C!x&q%>V~vFfZyWAe6i zwCgPZvF~_u6hSf>s&UV#bD!>5nN*M&-J%$;(`;2?%*cL$zPktYcAjr9#XVu>jY>UB z>517`xCcfKHcI5xnxTDyrnkK+s$MR|z^LmQN`)1Ld~wN?8O>8>9KICMV%{=3iam9n z+f&YZVWR2uPMYg*^c4Kn-#2+LP%}V#kk*yHU8Xx7Q^|RTuotl1p>&d84PpE_=u=#f zYy3WWf_(kyCuDe5nKsd;S-AKc9r?q0RlMXHm%li;?IG`Xh#U9P(D5PN=BhS?@akW| zaPXga>yzIA%OC%{HvJazK0l`tmJqJrYFOg9m-}x{gy)sIuoxH1Y^Qm) zIHb!R-`|e)0OZ@-J3IT`#X~>yzSZp9wIHd+qp`vYEC={jtm}NR8q0zRjgUINH@=P~ zJAdJ<*dQBjh(oCe4Dngj!>(`}9~Mf6iQ~?&OA>X0hb_EDtkxnt@8nBC8>P2NI*5PTrbVn8(h;R~nCUR%8m<&r4=SZFIa$=x z>QOd8IPSk9hp65i(QWJUuvD}<*m2C-3a;KE%Oh+#k+XhzlU;MzUPf?7$Nu=5+Pl-v>4i&RM{Ads-;m4=yOxLm{s-!*MR?}IMI;Qwz~ zjxDKWW0TGm+n#rDX|+S7XZYl*v1Xg$Pf1;}%M5Ifo#W`DfnDp8arl2vy!QNezp5_T z3;%=XI{($X)FpZRvlcqKsviHL_-~}mqMNQ8RhLY~|HMk?@5C>?k{12V(U_TRBYW4j<)c38Vf2qagKbpR(9*Yj*AM9{_^IVOwc^C1`e(V-+$5?%U z`~zpY_P%QL;IaD<@t3!{_FX%SvAluw4~YK-;1Z>`pw3{2Z2J7Hj8N8=eko2hT&(Nom+k4nTy9JbAdg4H&FLH=Ey?E?|R>c4N*VFFuZ`i?$4m_=Mq1fd3tjD z*yJ1vx{osS{hBhi_DNs2i8(tQ-Ln{mJ>g+&4TevT$zXWsf(*uL7|P(0pQj9ht>u>i)o-ajIvO&?(#8sV4?(!&ieebFpVD$CCm6)VCox1z*3AIi?#DC-yf zZX!G)60CGtT5Cn#tBVKt@+Ux&bYL@%lBJ@?PRKu<^;fJE-Pp!!6Ho?}+~qQJ1e5fD z(RS`tQ_;}vE$yaR%e-Sf&+2vSdCIE?kKggfz_0c3D~Q(~GZDY$SFNvpbvAcKm9xLA z)5i02Ds==rF&sVaxU6`7R_h{$bixyFrOhAQZ7_Tx&G!7pFdPx-_1A)7y6=mh)M!IB z4DYQm4)@Z2eRtQ$U#sm+(KytK4`Ellwl0zTpm*2vD|fSZxAQA^w|AfCSME#ReVt#q zN4@(Vzj8nE?ic*Z{non|`IXyscjtEFS8i|b_TyLXVDB3Fm7D6_G5pHS@oql9atpmX zn_szB?>hLE>+|lN{K{SI-4*=GebBq>`IWobyW9DdyW6|Z^DFly@4n8j+@s!ok6*c; zc=ro_<$mkki~P#%I>EW!_?6q+yZ!i;JJ`EMe&wcmcMQLBbG)0+uiQfK&gNIH)w>RU z<@&sPC%ex9`PT(3JJXq01DW!>O4{>0kKuwehe z7r)bfVi;b%6&N;G!LZXBT~+ahZ;wyj`AO!$-E~Q4cWXb-$VjuCeX6y)rGmBVV*Os@ z-g>sD5He`C^R_rsLrasKaEv?F@c6?#4y5wiLk@y_#v8KJWHrP~+ZXv{W%@PFi$VprAAcS5V z(YuABh}?rDj)2l+97@LFrcaDbPQ0R|IyJz zO0yLI1C%$^nCs5^TcnS_R`NVl71pV8s=~^I-B%TMK4JG%g3b&rG?VtI9eTK}@dkzv_v3&gmTk0vRg3HBT!@!VYGle$ zV`wSqEp3cT*B@H1KB;f2w?hoE<$j(g;)!7wpFPOt_BU(0f6_=W=bNWc31)`cDNYue zZ78Q$VTU&zaU_w)6P%v{_Thzha%3;8SYxd~&rGFqW(0jLj{YF<3b|vCJytL`)K6L7 zJY`C~pAAzc=cdlLDN}&Uxr|HZ6{yhJ)FH8;vl)~-#ZM0g0Cp=E1|Yn$c%nd&_AIl# z13otW)ZRs$tCPPQj(F4j$vIbX^OWX#Yl{U|RGK>ySuxhq|7Is#Abb|+)j+>$Ulu0O zzCIqeB^YzWzZxeR=0eKmG>yI-Jg^`{Le!`&-<8INbmX zOYV=$;|{3R2z17{X@0uui-z_kWT6gzxi+OWX9+*yP?HjZN;vZOeDZm*KbmdzMG_?sYmeG{5>@&)@oH@O!Th zd$SK~i_-P@u$%b(j8Au`53>TQ{`-l~D_rwS{@(u#c=wMxdhn0?)+LAFR~r;RmA@r3 zc!2k-D812gz?~V-O!qRc!LRg7NMHTM^xCe_mcmoQcXR3A_&XW@f6|AaW&FZ-qfc`S z;elRL9B+Ay`U+z`)c4u_UED(dJ5;*npAJv{Y&&_kX0k99#c%=}3WG{8TZT{)D4wPX z6v}?sj+rgJBsPS(zhr))+}+#P(9+p6)2XShDh>F*Jd1dyJrqj0P3-cf+o~M-L*|{5 zKW+Z3*>ev$I!Eq?b&YxC7T_B>H^SRLR(LdB4R6hp#F+h|N#J=y{!92&a(LAp_YE+63dV(I<7Y}K1A zu4nBnmcdsf_AHFizG}P)?X2LWDFgd@rS8ePykxW}MCYs`&lF75o z5K27N-FAeOmH-Pf_S#I|@{mqv`CwCX)Q@&g-iI9DI&hyp-BCR7oWqyD$PdP0il4XZ zIK!v4;vZ+fnY7!uWa;>EiT=LfHRF8`k0%4uA8r&VM5Q8yE4e+V9-`YaRaE@XsS&xcs9B)g^c0 zzr)8rieLA?r&F)uUx#1!y-$xFXY}i54n$S}+n~4j{L}HvHt1;lqHlk9K%Mo?bHJiK z3{L$igeRjdAqWn2ss$s)FJ8a`GGJwZTGk1XtO;I4APS z*&jFR%URoPgIj5m+>Y3T%@+8h2sIR2|H`)%A^ZyREfdD5f`O=$4`I0-=2q5XR!**{ zO1#RLSMmJ*otO{h-@$m+w0+Y3KLWea0mR@H_2q$0ZNF zfjqc=+&tU>>6PxS{7%O`^u}??1GsJZ9wPrmug~(RJnlKDQm6X>s->vA$3V(-*W$? zfzx9st!pXu7;55Fm6q3t87@0Ub#VsF544v$bT8o!xw^_R6^I3hn$6Pso!}|uKeEmuznoxWDyXliFf&XD# z{)nO570TVx?_Kn#J}EV}x436s8^XrN(fnA>@7z_kayy=09foM#1#t(4(7t8%DcKfv z8>-@b2%;cdb&1EKyR>#*meqX~#?}z~>+?pu!o4CFXWd8_^3E(QjjEDmGsHg++uqvV z-8mzd(=)T~71{i3_aZHs+wyIip|HgGpZ9JHg~H?+`rjpQ%g^-f3*e%GI1f!6cj2dp za9K89r$L$%T=TnkZ=JH?>_S_^?&PVggtP;5EM6Do;6}{2E0zEO6 zZOhkq6uMlq!s)gJai^KgrMoA#TSBbUwbLo;bH;;yXw$tT#pmBrTvJqQW*>TJAt!lE zw5r4qDz>gsvs$GwBy^#7c%2@pRp@|6PPDy)D_da#kWuInPx%aY0=VvRnQi>zfH3M# zV8X?4XF0?KXw1oYGOVgqZkmMd^Ud`$$dwiPwrbMEmDijzEY(J&Uh0<@d;_m-BjSw`YKA%Eao8n06}qtgx7Zs6%Co=av| zw5#lez@G}C+4k+P+p8XNM%c~iJ{p?HigXeHX$iiKdG{hvxu?|9&SNaDn*-N4bg8Xk~c-TS-7z6AG1#smqZZ7f{^m$t^t9(tdw_Vo;usf6F=<@E#dysLHoZN9|^QIk6 z-)a0-@0S))_1|#QEvCHE)N#p1T=-gQgmn_f>~o zMY=}{I3bqfm?N3jj+3YnD+KS!%D7BdE>DAd^*t^p}eov z2n(`%4N-agIp~XNi@))AZ%TCPVHvE0GSvvEpe>M7+-+)I@?pxjX{d5$RMHirqcNCx zIAgq>Z?%0cqUE1p%(msLhT*kG)+Li@fAbJ9G*rRR9Kmp3^Y+7V#}{|Ex0coR%~J-$ z@L-Lw$9x+FLnXHlS&+r`_{_wxM9$lB57Qu19FDDDKBb>xzbWx)_g?rxY=! z8JO_!-A~wkQ5uDRgRn-2u688V<(PcNf1Z%tDtP#iu2zpKlrFGmx>S?0(F0xSd@>0&sldyt< zSZAJVPDDZbxu%2~_Eo1ci}kJD{Q&Po2@RHdil$v@3YwpL*&?{$5 zIEm@z6pP{liq6Ecq*6(^vA1JD{X82=9=V1-1pRWSB3B?YHkPK?-`7nJ86Cjpb1yb+ zjJqHhW;b;pg3wVt8Pq4DZy-5~W4u$y~n}%bMgS*{YGAZ5kCuRJ$;@WI`tw%g8z#k9?UikGO1yJAiZo2TT5g;P(8k zBBzLU0is|NVV2=}9a$}(4#L5#1Xhob#AUvz{%&5vVdiw?tgS|p`@4DY1v44GL2Ie2 z+h$icHbqRjBCm-^hP6(;1tlM90Z%QZAh zm}as|HDsbFO;h3UX|+p|WX{ydexhm)uPm)Y-&6B9L$2{*#fwlk#RCtqrjoX4 zYGL}+DMwB_a_Y3BrZyiw^~h;cOHD@{KGnBhZLe5Y>5#`QOXY)8ERbym6=1o>H#AKt zG*2#A*|~Z(r!YPGiakwJodod_h32Wv)24@%mhkZAw&`tCnwKAS7Qy2XY*M5xgJZ9;p*9@Qk+hj?#>C+`z0n$BuEv!ig&6AgB8W zeQzyINFF-@x^P~d$qi3#8JAqL9Ql#rxMb5g&|b^9i#UtBg|oS1z&-tT?jrczW8Pr8 zAffAP5FHIx&7x{C!E~BF+>3mYk#VigvoNb%Mz? zs*UpBh5yI68x}c#!yI%P@lT#V&dy^UbL*1Nab9X#=;9mcuNR5GrOo-r(ub0Z+?Vt! zPv2pLEq$xY|DVU#B{T7lehd9Z+;@(vvpb7+`cU-Ud+}F)y+7JLc{_P7!(EAc4EIA^ z7vTrAO-N3`or(K6?vuEuaKFNhS}`HX;SRwaj$4bn0Czp^CS3Spy7EVyqe9H)lNjd( zmHoa5IKFyf*2dL7{$#@Aa};uz$$k+mi%+X8=i?{2GFts_XiN2PQ>ijvb$sw^rUwl{ zGypbREifZf`TFJcVGlImRJPgO{gmEYB4(dJ7va?-Po(v1g(?)E|;v-${xt6P?{)u$TXJ)t8AFjdav8* z5n;>9SXxlTX*G7b^xX`OWQ@i8URxZHrEYbHA6GRYH6Z1geiqMG69}cW3l>=y1n{jC z!`+%Q>bLf;9;7I(IP3*M8^7YCiKe7$c%x&CN-b;e!FsljG5Ayw{D zUw9H-2b6pRDpx+M4Qzg()W?LbKieig4PyGA-OI1dZO+$tM98%CNJD?g6@> zf$HhZ?15nHL^0_!LRfQ37Zp=Zon6Q!%a*Ya`jEOjgzF1!OhyQ(m2|~yT_gI_nU<nKWUK<;y8v8OBx6O5#ho}p=Jv4FimX3#KRR?Kwj@&&sGwO3Xa(hv=|p3N#yS~!-yDkqS~j0w z&l0x#<*T}eFqUE1J&c>%VBub*i&jR0?lev%5 zY-e3n!b$zJ!Y1zu(B@LK#xb4yk)_J#Pc zjl+~*cRyxPL3qc`%uktow6nPAud-~hH|H8meWJGn=Sin|tx-Qh+2EvSeO7B%X@#Z4 zoRQ}0;S3khBIS}5AOV!LDg9;G2~6yek8B-WmiMn%2{Hzi^pH<0lWvgN!JIl*7-D&8 zpqp|uI=(!&sp}4ZUgehL(XUplglx1oHo{b+Qr8c)M$w?}0G1BQTf`ZV20L4yAx}$@ z>0Hi<*9P-KGoXZ-i*|82BFrh}Xcn_gxv)7%OhRDjvJVUoTI%wv#_xdn11-Jd3-w@h z>OdxjF`<|ZT_sa(7G|VBO1*(uC+ucBLR%5NU+!o7L7UxWly8cyh&Q;6L0pW%dw@eq z!c7`q)lGdF5UuR;gr|fk3|YS`(T1v>)3?s)w;0*vK*#)4dwCVhrA?-G9o1p`xiCG( zt{wh}SFYM!V~GYMSai5ic&_cV*AIFHuG8uX6H9~(j3_FDMz+FPPVF7}xu*qa@}B02}4Zyq#qY zPdlKpYdYBD{6KUT!T$Z7xoS+$pu5)R8w~$yL+zl!ZrAc?IKZc+*d+xjC(kCTrn3j? z&rdG8ho08ew%uvJg>(Mjb-L5==yN9|8`rwC=m&k+o&3(~bzz_NVT(K96_DKswH$S&~vhh5} zS9tQQy5t{7_t1x&|GQ__CGVoG#S5H&2L4;{zp%#fExx&^F1ecYmtW-KZ(dNBJl{Sc zdH#Io-w*$_#LvVpKF7Dus7r3Zzvvnl{}KG3z`w@_od2fN>yl67Z>MjJFM|Ky@K0Ok zdylH z>M!PVJOQ6$p-=F@dj|6u_IdZ%yu5gdOtujq0 zYv3|>U;JSIxM96_kX{9`TXwaIg3M$#ov_ZzcIevPmX*3qnH%IeCBh-GE)EumKjG31 zfej;2OKC}5Lm8cDyQ7FKJ3TjP-GU6tJs@xGV0OrdNr@p~wl|QS;UjjO-lkA|RwO4} zD(47cgk;(<%30v0#{w~CG_6t9ws8g!LIEOw^AV8QJ*xWjYwykM2Hi>jZ|{eWOY#HC zy6P7AT3adS!uM8=t!lmD23Pk)|GTwzXl{n@Z6gT7>S4mrbN0x>@Wv5@;pkz)Fm>t3 z!tk^AjNDurHB1;rdK^AIf-pQtSvzArl&CkzKEL|99b41qQ`T2l(?1E+33rcLavI5rm<6C&BQ{ zg(J5fMgzmnSP%D&APkRD*3N*TYXo6fKTH@tUK+d}c7*0TZUkXiG)x$3;iVmc;n{bO z+TK4tBU_0UAUjUIU~y}okaig9}N-;-{yOsoB24rQIr9`|20 z_BiD~`y$u>wdT@;AKm^v?uB=49}Lwn35M5g1%{BPuYK@b+7TGOID#90CkS zojbBHtf$^!Gh#>2(>GJr&R7p`A3+#;h6%$LRt+A99l@=KZ6^$;*PvTx?<5#DUodiW z>Ccq4Gv?CgMi7Q?4ikpmx<+;`HB)bcM;M#7VSjk$9|!Lbr&87f><`xrQO=hxbZvjQ z1`LmVatHQ@cWxgHPv0~chJAMchL?5#hX2@37#_HJFbqGWtnD3##eQ73hgW$u^^Vm3 za0g}Wj5U4c2*R*>C&BQ#5rkpdFk!g4cVzL>ch4WWx%4b$4QDQmGz=GwAPgVfNiclw zypbD+M<{DJ<527Tup{(R?+C(h#ZH1@{s_X*vXfw_A3+$7-AOP!Gca=NVb@{8Fw*xx z|1^Ry+)r7g4Uhj=DsA#24Y|imxmF^q*I|HiUL9gtxtmf3GdHYdK->^0I`X zUHydZ=F{bU#g`Jcmk$f=`Y>TX_H{J)be|xs*7xa^y!puei|$}r+jw7tJF)Mz)+MjU zEo`Z?J7c}0`rOC7%wLT{esoSHJfG$s^b5GSpC7~@U<~jG##-Oki@b4-n{!T`*(Xvt zp|5U4ZlczA;WFO3d`DgK2jquz4iW7o`48Cyn#&zV$=_or?;iddUrJwYt-IJO4B_~iGZ^Qmj~ z1C?dSj^<+8(sSwHc2t)sTUYnfhHZW4{9DK_2V6gQ2Vr;|7@qm+U>MrJTp3o~_TU!` z7tja8fnht>w5;bf*gBRjk`vg^Eb8Sfx)c2{W>%Uii$}P*>e(F3Si01HjqqHetbI1{ zI)`7blihl8MTZ%_wX)H3KyPAAd(lnjR;)Une}R>($-j!CC1)K<^F~Ffw{^*?rKDZs zYCGf*=>@Jp*%Tuvf_Df=QpILTWY2VJzqZJ&Mk>cM0Mw zQG09Er|6KprMt)LDx(*((lo|E#y!&XvKF*p(4*J&o!7-X!`>z`B`w!hlcAqeNHlZ> zd93;c7nLT*h3*0*Zui~b&zhe{1gun@KMkV8(e zIq93U$fELdoH)PQahP=z>SFo1R?7)y9bj&F|H#5tnlezqcb2oqsTZ9~W#%EDtrRVj zxij)}+`5>{kMyQ03+h0Bww&K`K@D1SlPgPGlbgq`+s+uG6^7XqSuJIk;$K_0RQIGJ zH!ve>#|ddWPM{r{n|kcY&&;6OS~2@=fZXWC@f8!!7OH7R9o}SyJ2h>6r?BkfdHa&@pr@S}2UT(`NH(snqUu zeT~vt+YYIgH4Sw&HMW&jfk?d8Yt*;@|E4-^HINexmmu`*(H8Wc;u3{+BMNJ@{XG z#Fh6&{P$A-UB4Qa>_UBC`TM%$HJ75t_;Y8E=v@5oAb!$MUHX~$cfmjT*Umo?|FM)e z*_ZcA>N^qtc<=u={QK+;y!5x=xd4Cl_rQbLgrfgW|NmSc1RM7^(hk|w)VIFIyxr{Q z-4*n4^;bcg`*)&dSC#Sf_uU-0@Ua7`v+s~UK40813>dyg`|sWg3@=o{a4+*!-z`tL z-z#567(P2p7}j06<#8AahCP1ZVEFjU2*VeFA@GXMs+tE|8|+$hX<}6wI_H)CXI%2} z8hx;}^0yQp&!z9a0x)cP?B#{w*;fFD#V<1q-{8FcPCsZDf#)CeYfwRxeu8bfpSk&b z*@wZ!AK2o%Y57yxZ#IHkXW}+I>GJIh?$q~%t<0rcz}Y%)KM4LD&UxDk9pb-H(SFE@ z4%0FiP-=r<@$bdTFi7~bwbbGNL`B#BGKwW+%gi0+awRVzlA{#T~P{DJf8JMExfzpg$_ zS2z%psdLcEwlk|N3iINHfhww8ECpYpto+kosCu`znH^p;NT)qO#n+O8@#?Zh;5t|x&sl0(cYp@bto*hU#>b8rdmU~ z@D73Q4?-A!4*ISq@BPm>92O$=PQu#XREDX%&X+2~Li+f(`=G(?i{r!JqPrLT*7eP2 zXoKkPP0u=-aua^h(U0L59oldOb};cj;Qe#)i>|)M``hq~uD!+kKZaj)?KR&24g8{O zFY*3S>$#JHF7EgKH{;)y?_}B?zW4I?1>UbdTK}gkE~KgcRl3!~Ot)y5>81}OoyNL) zK54A0=Tmii<&SBbJLs=)FSVg+o+$13=Lh$}K0d4#eYUY`{;7=ceeVY7ZCv=)4`U97 zwAH^c3?JGK7&iRT!L_3>JYA!Is@po0KZapF;~8dd@wv)Ae~^B)`^S8KuW z&=$twxa+xh2ZxQs7sK!y=(9lUKf8tcYt>r;19v)~hKAelLS;XMeDi7h6;hfA$gH z%41~IzB0nyMHHdQA@ea@hFLof6uP+z)(BN3PXY8|vX5y0P=xs26$U=70r^9%0f#i7 zJ6X01F`1;yBBYDhM7Hz86wJk%wK4H}IeK86GPO(F*PA_L!cikwK-4Q_L0mo>Ujk9$y+QHvxW#fGh%2V1SZ>ckz z><^7~euB*AdNY2N`_#>Yabmolz8u}RUk!Xuyt=ZTH{idWI>L90kH3cB7$?Xk`cY9` z7mced=i*Nw_l4Wir~T!|S20HY;T5oZ*IeFC%*x-eVa!8K2DIm=h?#gWIJ z&%<)6{;YgHFM21B<2fb`jX$9I-G-cqSpr?jO=zFVdlWw4-be~_K~T@|VevU;t`7_I zL+Q@&VevU;31OmHwO?th^|kmg(Gnr7(}(4wur)sH;3(`pKCB@M`v)J^7=?YrhfRsX zKH$S3cJszJ0=R_&p}^2clAc!Nj}BseC2$5@&MNU{*_^m*Jb{A?mjhY zOmf+++1z}bvgTCPyzsUxzA7s9u0A*`KMkz$$80ZdV2Bp}QE8nltc!=lZMPT{gkX}> zp2zUU>V#&UtQ4p>%`RhiDf0z+j%N z%iHW^GpSB3-hpc!>1J~m$k|@zO%-nUnYrp5T7r6-26K~xqRc`y?KM7xf2I|a&cL4Q zEVaO*XfMN6>6UfNRaOH%;i0y55|90!AI#2JE%n3e_ZmZCL393T>tj1q-fa#4`N6Es zNxYG<--Kj3zh~llap76k@J_1dFzT5gSwn0AAsNpudZQCrjH-uToeT;#<9&F8WdUDF zh9Q35Gs-Gq8;q)_mcO;tF5?{-Gh2^Ac6-U#*|T;`!%jUl%dGVesPcf7h1+d7wz_%V zn#YY)VJ78gUIh6>oWPKBA{ds77Te1fyl8>M0+UA>BN$!Te!{z{YnVGK+u`=3ZBmtC z4T>!CHk@-sZ`~gf!m3jZqML+>5sr}fP}DX}GTABJn|D9O7uP3V#Pf%4eSZD;BM#>Z zH*5F$1^(Ty%lHWjdmaAxUC_56+}{K?bCC->s6!nNZzH;qp&R~ZY(CyPik5w~du?$q(g zUAPNy^Kkp%9#Z~O#wT~+25@t6d*EhK&c3)OP9C3Z#5IxsmgBO1yYU3*g}LLClaD9Q z?D5I!Sy`OY-FNKxX?)9k6PryHXRP!?^Dk~ z195JA+wFD9l4)7`z@M=M{P+4#aelue!vim!lcf!5=GF)caq(}Ar>#&E@e)T_A&bWg15Uo8i%*g$Ing8%E-r= zhWYp0#aaF>WqIHA+~qIddfFJ)_mC&>DmE1>^RCCgXba_4&=kO`uSlNGs&e8s-+os% z=i=~f{d+c#c<}l`N*Zui;9iXGE%w;nec+nz_SXC%2fD}XV9_JkQ}pk$_{Xe0X;3dS zx<(a%Hubo*u1&n9?OrnsFZ3DqZ;=F`eceo?TM36$y9cuuyLgNdll5g@J9O`a>3Icf ztB!QrLBHsQXU@1gLcZ8zIshR_(Mm#Vxa3PNfN$gryX02Lmz>5ko@Yxwmf^MsTPo+7 z(q2^~OyRY@YyWv<=1{G&tHZWa&RMTJ6nlG%1F3d_9z}tkEZcQ!8ePbxfBFai5EJX- zG{qc*jQPjc7;zHb`zRM&4T;00dY@Hx` z`=M?imqW2>Wq$b?A+L+MCZ$ScM@_vzi%E1e??Bm89=*DmYdCz`k&|6|_eO#@+HRn8 zFzB~6sAZQ4DTZ$G*$gC6SMIe6>ulc~-wzAjKYK<+ZBe1_Wr6&x)8=7UI|WA1 zRBj1=Q=q_bb|!+JW);sy1)Jz2ruw^9^sOu;$HPj}(VUTA=A=ETA(!_S>)o3KW+R{6 z#|u9VdR_SpXWJf%7$f-6Lw|OD;R<{eM+YA5N!wxa!+Ipq^=BnC5w9)H5W2`tVku*b z_QY>BIy3z|F}6U~!pjiD?yQA?dHS@MP#dr9mU=kX6|hxqFA>eKheT{>(w5a9KRrLC zdF~1Im5pmyUVrww<LUPb)~j?9*{V`Q0Do1V@8ybgXK*cUOt*>@{^V~h}Mc* zQBHYkdg7+~l^VMCcqnerv^}W6SxtG|+cU*p?#>Ij`4*rQ4oyqI)xXz+=&2LIhuDW* zs7Yj1^mo~t454K?c#m%UjpEh|QGjr6cY9X_4p7%;NPu>;!Z^d0cn+7Y)e9t*uOh?~ z8*FX50ybH~DA;pFl0tS9PBQ2%@qDY8Zk1(IUrV2R4#l$31RmBoo~w6bH!TTEF2h6) z73tUwm&s2a){sOL;5spjvz4om7WlU-7!FvjPGTgKSV*y4%7xV?r8VTavS|X6>isJT zKiFGYu8&E~O+AYrfd^iV(+fV9EXT20?=|uA6VGdO%C`L+$L5v%NxjxZOCRr*@nW6B z20FNVgc~X{8Rc9tzsP~2kik(|N8b7UERIB*{t!0sNf};mQsBV zG5NLd%uH~b(RB)7V!6eAW5a4arUz79mn}1Z=o6aQUd|ap2W$hdRHJb`b$omQ?j2$f z4NGjARc#zRHl)aW9{^exSt2nBrOd?$`FS3Wlj)OyAwXT2K51eVWo6A;FniuSX`L~R z?NI?5(=m+3pdeu)<|ELSP*km^Y(q=j@*TM@s?{7P?w{^B;t&XfnGS#!fw5up-7UO* zWN##Zk%Q8nkeNmrHG+mEJO)=<=Z0B(ODIAhc$plKIul)Q^`LX$IBv%m^kNaO!dUKH zJi1o%i%3}+ikaLZI%8-iy& z;8vc)v7OG1W7xjZrVO#Q!TZt6?XK`fk9a9ih(_%|@JTQ3lzJPTN~q8sn8b#~ceG(D zw90H(^gX~x@#>efbW|1#UOSe^;#8-{-$=TF!JcU=?(=Lk2gqCNHelAK&m0OQRkVe$~E&cEt>y@E5H#P4ZL4& zOAW+gmxUP-5EIGaWO%%zDD`HX?KV(SBJn|A<^JU!#pEcG?Zl9mJv_)l&gO4=A)oFe zRxRr{=hv@2eW$7Jb~P6r*Cy&Il&_J7KuMt9id|nZ^EUAHVcm+M)erC#_iK|sFsC5AiycU=c0mnhmX^QuAiih3?bFG zGGiRM-6Mbmg31|CK|?>gUT_qUKeI9b?iiWpsH{HG;YUHOJUi>XrDG=yaBS^*kl zgYMAm4W8g_5cJ5V{yisdz@gi(d_k;Bh(HsIYz zo@R`cM$eS=x}9w7O;5KUrRzTI{)Vj8^R9p`R^>SsnrJKASFqLU7)=AUS>1hA&o*(D&*l0(?+VCO$+C&Qm<Skj9m?(gQM>#sIzI0*xKn@3`SaUOs1G>o ze9m?*T03I!WNlMr*+!dh2rL{{HYJN2VC=l!bGa7Th8FgMK>G5^)J~@udt&H@j!-+9 z!yVh$Oby^G+)5(|*7bnppe4!;OY}dC=Ai}~(FJdlBA{SVMr6tc&7G!@eW6Uc+OhF$ z=wOcOq~dA_TS7RQSs{UkeNUE`DY^Y@2w6R+Yv|D%=n=ojCd$-!UKGx)B_8ZpFwweB>ZSy@?z z^hNKby{+FE+}0tA9aeCBUv^U@r?|KV3=h!<`tskZORkUF@c`ighKmV*YV;eEH${E= zOoz)?^uJRc-ZBiMKZtw-a*E|e*f$!6oZ^S+`y2gO-f=Jb?$|$jX_Xt>cm1o=x8LC7 zkHLTABJ^$;Kgj~F`S-fy6z0g2SGx2s9ld9=4F6*M>YH2tt1kKItI?|}JAd1Q*aReg z1Lf~R{Ik?|X>LMtK%a|$-vf0?8}X0-gY#eeP+f8-^*wRDt8aJe+dz3wu5s~AU#m-g z+lv1GN09NLyjy7BE)VnWu8)85t98k3{NwgaUZlQu?|&Ho z&+(t`{oi==p2-*RPxt;=_`iey0PjCz)}G13_{WFzGxtosivJnkUw0q7XEG1}RqI{* zj|JZI@$Z9Q{qxM%>ylrg7xnlRuK!k(|03ci;aB|8pU1`({^q}T`ER-3*)MqPS{Hxq zeRau)(1V(ZU*oX||98K&douA-7k}G-VsnwTdlBnFvbcNv2k#2gf9rk!yqf-5hyQu+ z|JYaRlJ`^J<(IhpZ=rqH=Mn#`ce?n? zzeszY#g5yif(T0oEP3NnbnjOW(BB z;H|5XJ-Tsx;;tOM{wb6?M;j@{@`oYrSXj;UI{g);KMgu#ZX9-W)1mXZ=xcYdbSa#` zn$Kk1+cdGZV54_ENdbL~(qhHMAEh}SVPISOY8!OD>R5)^X73t4xnMTxT*<1?Nk($? zb&OOI-!&^#nYGTMY+n!w$$fVsua28^+xX z!yk9~bxd-nf3aXxkmJ?Battz+#tTx6lZI4#V(CcvRV9BG zIoyYYMj3qYG)EH*1^?Ef6M#HDPo++zFe)g`^k0x$`>Omvb||oEOV6zUNRDGed%|;DWCFiKi^epV!{Q zal6>sQR+S7a4)4G9H>LPsMn_aY|8FO+5v9REG26?;&8~y5=svJorPSeIm_C?QK%!! zs%H7qmcJ|yS>U|EQX{cWu2Y((XN7_78kR)m_#=|2W(OxIE1=ny-j=O3JU{!4*_Ex% zdMpU}ELpo8*7?%LC7|p;xi@iB9cl!{XVuev?)+HDWhGgoT`AUYX``bgS+jHXmb6|= zbuC;ChShHts=a^^LKUQRVt*z19JbT)WIXF^IDl9pjs?$UM(#c}+@=kL?(%|8 zMxXetJcr;si_=dX20`7Lm6J`p6tqphgWe5i4r4DJ_IqQi{`E>S% zgQ{APm8`YvSK!t%g%uQM37rO7D{W(!rPDujST3hh!Wf+a)sI7i?nYQwPRRE3c0*!IJOI3CjFLfpBP!QSd#c}1@bQH>P6?^GsrHcT zMif~eyYvMu29%_HL8wfY6a5S@%6)k$m#rPR;ks1{#W5(0kXGt4#tLwxVEUYZ8X#1k z!XNZ$m+1yPGm7K1UA0--SZ!^5tS6(f-oc^B2|I^|8s#-f`nFO zLoh@GJ%QsI7*eN{kF=|d^ocrW8|jE`>JD(VCo8sr!m8}?;R5v3J@AQs>CWko|DZ1U zau+&hPdonu-*a{ki_f}q{|E3_e`EdyKF~8R{h{A?`7imk^I!S@T>guGM;h&JSt-l73?t4vSzo%fs;8roVg`e#|`BNIM0~Z@$ZU9seCq zIseKh;qT#J|8wU*_D9SE;9Tm{FDAX_!T8NC{&PQs4}gE4pE>`x$zS~)7IX&-Jp(O7 z?t+WMx@&}~j91}&7J2Pcn+a2v^z&hHL0crF!zJ(J;QK@YQE<}qY ztNJinrsGUc5vc+;&SG3wfnun7p6Qj?P4o=vlN`CQma`U&I8aSTDe7njln2TM8wJUNYCK`?iSeT_wy5rSV2~zG ztL9$O!>yDM3&++Nk4U{hhUucr^a&?4_?CryeN+xo*r{r*pBo&<$fxdsL28!VIG;J1 zsm0A7igH@qK3yR;fY1IG20K@OSYKz)VVwhRf)+?#Z)FY+Cs8_pq~RbG1!#bZInI?R zlclKykXoTl-2=pusegOLJXTIWe<`vOa9K(3s+Z^tbf{Yst_q4kmcdq`KVF55h?Vzo ziHyN-qjG`AK?cF z_YKw8u6J}&XwYg-CzP8!Za31G(y_KxnBcB!DawDqBs`hxGGd8ay2rS>)> zr>(HHMO#Q-M5&{@*t*O$u(DVD?9AonlOh`IfL*AR-lz}VL6zCxDVkzPb4oFgUk%1~ zG6@Z>-57vug&)@4Dt%Oet&PcZo7`ITE45Xu0}>e?GSt9=m18CtxPLbrw$~$mZRj-H(*-2HsUG10^XYV35z^J7#h(5o_T)$9EX{kL<{hWV zeFHtr2sU3?X)$fWbRw_p=IFg5&yTjwkTy_0%IIm@*@c{>R+pig*3t`Qt>drovgT!L z5o;JG(^~F_9AdpjhYHc)~b#c@nAgM^3v?tDWN2=0Kw$)ocEbWv+i{@=S&hKVU zTo^ig2Y#Qzrq!0dmCx2C$Ki(hMvXVM@1ddxg~u>F4-CQf#h`@S5U@2EzTn$`?GSK0 zF>c#n7@*zv0(T5c+}sZkuQ=Hp*YCCXYkmJo_(eHa&e!?-hqz8(?&cbKRPJKZ>l>;} z#i`t4Rk@R*a(DYTj@9t;Oc`H63<8Dq& zUF|*nVyWi)+F{Mw-Hbb03Q^mIGxyBtT0{YW<%blb3FW$LXYz>+t-Zlhwf&vTvAh6X z>rCHp!bMBhQQ~uZx?5Hni)+!s+4+WIVO4?qjT28^h^&HkWUoKUV)J)BIra+VEg>3A zsn-$XUbMDB%Qm!#6Eb>D97vsF1WOf(deoH`vhuA~HIKs;r>Z7c`qHI5S~s33kYd?e z2nAiHQWq~ziFkNRv8!K}ftt&lE1RdkX^Jbzsp5J@uuuX-Y;OsYpF2yVP6FS1MW_0+ zVG0ef7C4R4w6WHGhB-51K+^-rrc)*4Y4+o6U|j7^-rk)H85$|`51=f?n}X2toP1WW ziDQqTu%bYdrynKd{Z2^dmAvlP)O@(StuWg09MLQfs0)qVhAB;lA7M$`yEwO4z_jTK z2%|>|7l84uRaU~3rXw3cdf;b!XlRO3zooyUoer^h3wP*L4WtK~jyTec3CvlrFyAnz zIM88YqYH{_fD<_f`f9S-#>+P}@haLBkx8_1o;wUElMLsn!+5k%xZGx|MhsSn=86TP zl*?S^NUEuP9@NUwI(xXG)mv*ro!u&VNQ>;4Lsz|dfSHArdsw^ z!}-lw0aRfy4g-K(y>U0^&!4n50u)mfPxlwd@pkc=U)@ZpwgmA zJmA)Oj(bvTGcg+vHon+r)1-8rO;={c4elN-f9oPHhYTh^ldK*;N-`c17aWaF^=t=D zcxg@zp`vEtf3O|@DlO-RxngasXaM`^S>gIJhNsNEB|I&+i=%xQuR|ujTb^z&%L?UD zKgT6S^1{!~CDuPqn0*L9)9D&u@_SSL0tWIeklRy^%r_r7j81ivhjiM3%iA}c*PeRy^_V}fSq-E-H>A4i$j$W@^k|WyensZG3 zzGHJNn|LS^gR5G-K50W==Q5)w_=T`()DJtGenrcezr8Ei&()(S)gLJ-Q3==jj066+ zz1&(hBabz)e7epD%?Y$IbVFZFuGu`U_pLXHF6$EbXRIySn4(~nT(JnnkwGUOPMsqm zhvjewhLO1w6P%`TT{b9YJKSrP%BEmlB3HuS~4Y!8}^eSsM+Q@m* zx~1Q4p;#d-R=0s?ns+`uXN!gObIO@=rwlGKYM(1q790zgS-7&LU4ky)cxI-NAjj6u zS;1INsS`>w3+aZ2GnDVh6vzD!@+_izErn;EVkrhLhV+17a=6M37M7U3TFLcaf6L0O ziNYY7QSO|R6T_mnm0Kd)8n(3gMU396*;qyIq${D2J0U)Bfi!KYh7+8})`21I8suOQ zurl*&P3?qHGNrhCa`_&)MDqU!zH0yEjrVcCJHh$eN9~_9;&0yFox6XM?4KNtfArqY z|381OOQz$$e=p~M_)m4o>7VD_nAbXg$BT8zzu{>~=86L;Y*`zPYIz4kvQB!7b|;HKfuz`Y%}2KO%9)wqw~ z?!tW*_b~1|xIg2@eqlm#5UvpyzMALvo?clB;kbj+x1L9~lP=R@t=?W{8esIQNteGx z-A&TND-dboB(Hg2@4~@RT<1APb2``2?`l8Kong~vXl}W@lC1|G$U< zISD3FP*Ct3RLn`788U$Y2?m@@1{lcAT)2gFn9Q8X44IiT%q15rT3XRsOD#WZHLX;s zMMX;$6$KTMDpjh8sHk{HMMX+mRJ18+t{XW6D-<0F^smGwt8Vx zUft&Il9&Q`9CAl6&BU^d!kp8)nDreM8C+|pBTLs^VS5xyQ?tXApg@m~YL)j)Sn6;m z=`52Hd1v#0%kk*c>lF5OE&~X`kf1`SjyW1>i|IH)lqZqE_9}zWo1P<0w3$DskxuL5 znq?N*d!nv1FG+G!`gs*871h0U;nQ1Q(4a;=JIoUv-aAq=MZMJ!wNQJDZCX*THA<(k zr_ zofWA!f?ziuST8P>bv}+4wk#axLI(u%*p)%YE00zrk^b@I^8Tms-+!|VTcpeCy3`K z(2Puwcf@W%!%f{qjDcZ0dR8vyr0xJ3WkL)IB0$635Ls22_;wmbF*Lz@w~)hZr5Qr| zZD?YM#V=GlpNq)`H5}WKjCCV7#~w*;E_#e=gyLjJY#gq#GfKijV2YJ?zJzpSZB@cX zO%78Ajl<)}XihrV65?;jBss8F?1rLPFKA%uOls79+@u(T7Ks)@+rfx#Xj~v|u{~+L z67nIbJDbWT{jgGK;l~P=#Ho|iTEIXfsvIn&<~3mza~F`D?y=#t8Pc3#88cJAs9l7;lVweIe{rvClJ~%*nDuKS_rc4{+k_VRsxev@;f6(7YZmnKYNd+E#&L3}{(! z>8u9WCflHV5loC|gA@s3z_1XLSYvVq#8|5PKpw~imlbhyK()GK06A`4kvX;wmEIGX z+tG>*p5}4gLK|I&sawZkyknChyTg>SRoXRC3gsBiY@<2I&#T+UsyfPqg=fU~4CU_~ z(7KvS4JDVbp}#UXQeMq^zKKIsr07&CH=o1#r;eDCc6-q7ZnNHoQTONg8 zp)YiNMgA9EWD90#qaEgSkkx_(T0G(1WbuFoq17tgSBq>waFkT#g6n8ciG2vpVO7hT z_1JX~jVG$5GO?8))#!Fzw6kNEUN8)nY~17SYa}XX|R2OW{;aD{Dt(56%STbZ5J*Q>YZ8`iVoG==?EN z=a5b%3!zTIyqUE%QddH8gS;-Qk~anwQxzUs=Bxu~67)f8bF#K^QIZc&A!eE3R8YfV zc1#SrXH^^rMFtAaI&dkt?}GVoR=C1lGQvZMfO`O*G{_nDv=kCe58nlxipOCbbd~)} zoVHWW%?*B>(P+~U=8tEjDx#l|q}!1~IlNAz2;0F}e=0MOPbQy632XNhM$f6L?TTpn zu5Jh|1QU{AtFKaP7KE);nqwFa3y$1#gW5M0q;$swk^*ed;0vt_imfKZjI+&`Cq-b~ z(aVb)x-F`f3y!_3L%@DJVzpHttWuuT`P`s=5m6Ztm`IVeo+AD1P;rgG_=YL$_ey0B zY_-L(KFC#jA@(O(uhmm``Yw!G+Mm9@1UxrQK3qj>+IlsuXy3`gZK%c~@^v*flr^Jn zt9z_^jHNt~Qdiu!<)mp9PVHJ(s-le|dZC{P!p0eb2w5$91&Jd6ZvX|Kmr5l|ms`KW}DjT1xzD zi=IY$SC5d_SNV1gW$7>8trD`I*5lsiPOlC>MNYKh2$xNrH@BF)p0e}sUf_qH?Xt7K zKeU*WL`nIWl#Iq2K=Y>XdYZ<_d+3uARA?2aGSNq9r99Szzb$kDw>0G(lJ2Klq5bI3F*6liA^*Y0gj92^0e#3(u0oBMi8XpR! zx?3<-k#Fz`rfuFh9$>~m1v%1i98eQ#vegG$XC;5yM{a5*6?POg&m3_Sf+f0bf?5~X zw7kSrl%b9`&fMi7#a zl2VC{I6DBdfM2a_k@Gv#65}*Uk{;Ev6v#!vjL1OUh_D~184&FcrZ*OTu2@j#%zP}Q zV8mERk#Xi@VXe_vXi#Q07EqFGEDAFmi);kteh18|g`5Z05dJ-93Scx2Nz~i?}0o|L9%SRH}6Y89T7UB8uj+ zanT)UG5SCY%C&J#rB{bUd-5~e-9I+rr9yWxXtyWY%`y`ufY?w>43T9x7Vr~t3Np!c z<_7fSpeh@phYkekq$y^^IdEJdXkv^Ky;Y*&ulm=nE zUIl@sZPJxABPWb@_Xu=fqSl$CneCz^mmibnb#nyB^RQ$AUFVL zAAe3M%ELIR+eT)TmAhz*v@yHZB{Bq5?{Q`tseGe6pJ0}Th@sBNdN{l`6wc}#99Y|A zXGOKi&U5O?KFNo*ZH3{Bq{ES$>>!2RXfO>I)`1*Yp&;@)cxK7h{xB}A-5>M5+M7~X zO>E%|D}Cy*`~O&L?XoSqKZUWajMOm93NzQrW92DgM4QP-Az^s1N;l_a&gMzDX*5(B zuvjB;aYBu}$Eai7dQcf*d^d87N}jnAN2L3B3Wl1T5|vdmqoG+9jrGnX(+d;7`$AkG z?c)Eqn+R)Eyfem8a*Vt&eG9FfcA~8PF*~6|+Gqh0Tx!{7knDqon^ikUh>>x(gl3oNe&-&bTR1#-g=_Le@eJ~*Pg$? zWkPqAisq~Ky2T!T-}8#*i}r!C!+VQG^F4d*aSq@5f};6$U30v{*T1ls43K{wmM_=J zi#-45JilnZUf&qtmmgD1#);n<^8eH46wP<*)vcc2Umj63U#-_7k(Qj|^Q4!r)ukc* z?W8wft4$vMnq!N}E6A@c2g|qWtPp>g^zyBG##Av| z-Db)5Nl|^#qZPq?yCLG;3mM+BTT6OwrsZmk9@$)7u5@T=Gw!^wO(bJritn-Yu z`DCA*sdae!Bu!>vXub~TY)WfEs`_HrZ&-J_`XJY&Z72Yw zXLiyOoK&W0Zhec=N(TLxd>ysj&?&r3+kFKNxwh2j(q5fFmnJw4sO_0>a^o|G+=I83 z`Wzx+QG)pu5Q->`2nISEK`N6|!>G@IHJm(jXy04fQ5hY^P8c^#l3J)DjP4_*z zP_@FMMT<(EYu2yZu&Isdv3A|2&i0NHA9YY(Lk+XTOiGYeWb6ptrxhiXOd~bPw=TrX zra(Y_^%JdiMcWWTQVct=Cr2hDr(GCAVuvO_7=cEy68H4$tlthRQ+38n$t_sXS^snF zU7HYIz?JaXaa&47iU?y za3^9=?7)1vcE)I!XHAwl20A*skaSLrboKR?`*0|MI!9k`=n5M;BYf0ATDe%3i~4by z29s{Vg^RgO*Je^A#d4GjAs&$E4SiB~$_sKBk}}d7VDx*fK-yuZd34`M6}OzG*Nf}{ z=-nbA3 zeVYkfNpZd!Z8FU}HE5D07{j9jVr@Diq!hYq5lssYqvMmrDp45}578)(Tp~kjpIWNA zRoa)rIG{E~qVOZPN@{o<&pkPvu3j4T1AIq3S047oEUZf57}?XPm$y|+)M1NMZ+_Ve zG2@b1S9F#EM5w}bxIN>jLb_onDK+TBJBD>HeOQ21Ru&b88iYVlV!Z@WS93Hpb_5Z$ z?p&$J*Iz^Bkd;Op&dkT!>s8Zn%w)^2uF4I1E5ry&)(}mt`Ayaf^cUwnQl@QOt)N4`jr#v);v1N-LgC!0Sulju#t8?~1W9eeV`^8;h65;QY%?VWhY zkwd4k(j@ILsR$%T{X2FVD||0;^YO*x`M_77=J2`}>^6Yg0{krCr(@@F<0&3~%#vbq zBH_1$^bajACNBj(CWQAN$6gJ1>8T$7IKsC8KYFI0MZbaaKJXdJ5Ah2pOy0XVg$E<0 zIJfc4Hm25?O`_lj3bI?{pxU*DgJKlBUDJMq*^sdc&H|XGV6VI%1b!v#v?HnOo*1u6 ziB|Z(hdZuK!!+4EV)o%i&TGp@v5*BDRX>;GF+j1bxIIro3pD1K_e<>Kgvw@jC?2*e zcfu0f0JKau>9zsW@G^f-F-@%;zqZmE_>X*Iu5A;wM~#0sGd6<(IQs1A=`zH$`KNS5 z_VxFPlYE>n49|VVole+Z>V5a-g876zV(DZYx{~l`*R|(rzRj=u);T;kIiT*_pEgL_ zs7?niM`m%J<8|kW#pGS28w&8@!0!dV?_3Z6I(596_}8D~^Wy3Tb*{(z=HpL3!EirV z^5FL(2sEWQJPhv?6q^kZVNXnGnxarTf0~!JE_pop)K7s>jsHXVA8HKpH^Tjg7@zNk zfqmooe>mL#=TnNw3H(O*JsE%b`TOnvqiu-e@dfJN`T?KE=bcXKpW#+-%ZyLic;RAp**9QXpZ?r>m{eXY>x&D{H^?wcJ@KVk| zZpb!4T%w7}M{qM>O8(;Nq_l#Kk}30a??jKrc8o~vq*-UtCDD{_AX}>S^(oP@fEi#1 z;Cg1dY=)gX?B_|%CMQ9dy#UpYP6*Qg=wbcOi@KkO_5Q-xNTEaHdbkHBg}aQw zgtDs66KN9TUFJ9Q7CrgxVP|eP3R}B6S3S;FX<~qta!=!PV0mdnWehXDFslsH7J+9N zMIz(OT*3!AP}smafdE}A$RQ>CPKBIE>>1#xM}NN^gP3CH01{IMGL)J6zormQg&9)w ztgaY1;>4QIs0MuWC!pC2?{ZpqKzlK{1Ne^5JKVCen0yg&gORkzaD<^PwRrtI`!NSoejnl z5WFC*jOJMEqQ+%Wf~*>`mQKdxz|?fD!`Vc8X=C_mq)FYfe%;2-^CSpxZ>K24O3;S@ zp?6?x`vlULUZ>I~1eIF`c}ms?&`8fE`!QmX zw-tnNNO*xlE4W1lOmin= zJg&^MiccUI?5#qxt&5-vskmDgFer$_4tZ~^(V6ZU-7_*SPaq?l07))voh=94-8;93 z-nIj99Rc8BGdvjFoZu-FGlqe+GYgya0srMX7c1lm<~Y0rChVyA@!~d8@|}RW?ouE8 z)}=DaH$RggV301Z+h|S^;u5R+#heOqK|L|-?mWb~B#@EOV4N=1Leo4MH6i{n2v8Mh zRkP`0%9*-U12QD9W^f7LGQ%Sh?tkr$^uEPjSP zvL%t5b<0vOP3~cFD)W5BlamY2!xVljfw3#1ICgeQo3pDDlxw^fOFWW#71jlRGfnY; zq`9>v=}W88#{^B;hx*p3jOkUv)iprTQBJF-Q2}m?pj1a(=hw0>1xsWKpEVUiiX)Y( z@k?qlwi`os#e%2zUf6cA4q^)JP%3ji3njB#%t)$gGt?d^=7c^5n+|jc%zuZvPam*-k29Th)=HzB*0!zQM|oyc8V(otQJx58 zt`A{2;yJSy!`QEXa!Ls}LALGdHgv4oyk`BBeKmu+iy&+4IqovDY-9>r%7Q&QS{*HG zu;SuJM{}aZx;JL7t0AWr#|PAM;9z~s+_MBxHm-PZsxZ8>jQu;y+bT}eHQz}%ymJ6| zR?_&%(_2<3kKE)qO`3L&%{ZH5a&`A=XE{aEJ~;Mad9gr2peYy}k(!>cue8o}SJcjI zN=L&a8B+CDc9w^_FRrqqWkys-t<`*#L4+^Hb``97An9fe-NnIPE->42TP8+JET7tF zFkbc*JqIPWLOfb1qhmLF%^o%zT(9K$=YzeJ2E~)D>RywrKE$dw$TknO=pn@(q5MOL1gOO57u{8#qa18>KKR9~>ZoKCNrKXHv!Ok9zSu~*y^wPFLh7!tv@lPYL9#1q&u1MThWRR&Z5Rc%M51)~e}p1*h!{T>SF^4)F5Y~%|MJKvgu z!z9n@MR8gqV{`Q`)fhJOTz50DgK8?2{*{Xb?aiiWUrSa+%Vg9cbxPc346f;wD}2VaY%&U{i%ML`yeO z=2;Dv*?Pae7U`Pms3|4dF&a-!97>W1iJ&zN<)Y~QClx4eV>fC}r%-#C7+F$Aj|;Ud z_)@$=p_>JfXLC9rN?ea5mLLvAU+(lo5EJbD4vVRC%`4r$DHu*(0{W)-Oo1<*%xR+$N8Jy#330JFb9Gh#M?*u0u1;F&Ru1 z>C!F^XZaDU7oT*}Np58!Rkd}RG+|g9*fTB!);<~Uk+jOQHGCN%=d|CI^6}?w6=v5xVp3tsQ0Hk7Z2D&kWzq#yv1M1~ z<90aMu_DTq+}JXjd%Ez|#(! zHLxJ|ffcHKqo;VUw!nRdGRkmrvJD4yq^2&jwhS*^>BZ<#*%SD?v z?|NQx^>Z=;H44ftmW>94Xv)vDM?+suDif5&#thPx<~{{!vv4PGy;a+m_(=gf-(03- zC!O`s-!`DikIhQZq!RASI`Bybf_?yzvpsUS*=u83RAU&Oj>4Lw%ljUw=p5`+dw2O6b)K(fIq z3$G`1+EJ61ErYz=TO^}He&VDV>C}g}ngqD}Wb;KCv2g>e7hr^~7BqbgTOy_cyk?9r zdAX3iDlXF`O7>(Dj_IwYq&gf=(K)1}hSV*$IyGEGtOzwm-t-3I99IAM+AADZ>846O zX?4jZG2Qn}`^sj!k83#6H48r>BAGv3Oz#SDpI;@UL2fc30>qlasS3@V_ zWPQg=T5Mx{tf{}ve@m#h{iJL_2PoRek7u#}!m}*0YOpW`&+vxdrvowqwTnpX$;Db$ zYl4idJDDLJ<^`Y4r?1(LGSR=ElkiN+ zA&IVB^oZ`%4Fd`QI^fk(z1*{+I&O_*N&{kQErtqT9uI$DMp=+-DUM}YBuWNwIoeCcR5}hYtCXr1mzcoWry# zr4vm171$OxK-Lw3@cBc`7iAMilo7xcfq1>p?lN4UI7++tVd26;K1}3YLVw z)}iRw*-fDW+hF^TP(kNsOj;^`+?~c)U`ff2)pQt!L@l5kT5R@{y~#Q9Gg1|%5h8s) zb<2ocoDfR%;cvlb9-=hYG@*rfB}Vu`gX-Ai=wmiAp%Ft_d3B%x&bmlPe65@wIp3*l z1Th1w;puHE_=OPzZOkVGI}c8oCZDm=4592%)}~S~Mk2J+6p#%^tY&)fuV9;bzQ`M* zz+bz$j%CRjXNZGf)7SwgKA=aJqfR!ht-k}$korr)U##|Va&cfPFNsolL$&${Vxqf% zVSQy3@`Pg~{~Uy3I_ZsPS&ky=COUSA6OBpznx25D=WV#7Z!a4}eTlsfi=K-;jBv5c z{eRXzbt67M*zr zS``ymmGnUxI$@^gFw)2xlSDTOM0`{`Q+MF;ES-^13$jug(a|(ibVFIYO@Hyu=AOTyZgkU%qw!4avPUB34EV#susvZbxnLRpPn_?T= z=k<_4Y9_T%=|;kQMlt~m$^?l8zdwhiX3JQj`gG`-kM{)Q3KWsBk1<0!j6t z)zp?jy=7HaeNkrFfkkkN&7O3^ZDU9~R2fGpVH{sieNU_mI$*R~4U{k)c74j`rz+&M zj!|OyG*Ooh6Ke4!u;Hvcsgyszy4H*kvUYhMh)3DfLiwr?mn}~x=Qz)(lqgi%%@K8- z-AHGSx?Jeu^{~#*D#1GM>7xxOS8#B-DME0q8fhL#OX-+cu$OC#W!iHpVamxHF)?F% zyjv0M+Y%8>WPKW^l+|XK){D@9RAv~CBWfh+lJ~dZJ6P;azCX3d#d87_T+r%drkNpX zc0^GqYz~Wy$ugLS$3YCN(o*UG2hGi#YtK6KOuwy7FQ|}LfAyQIQs8Gta~?*?x;@(j zgnZ378!Z5LUI0lCYI(Bgl~a0gSaH#&Ceos+IYQK|R<*)WFIRrxhaQH9bfeP5SE)FS z;W8?m#vq!n(fhT2cZ*gbvbG22-dlz1@agofb!W$hqu$E$qnjW&&T)6awz!O;qSd@^ zgN9`T(VI%=+W#Vy=kW%^0#ngtQcM$aj+M8t6vJ1#bQyktcdhC^piqWzl@3QpTL$~K z2A(9W473N{Q5=aBacG`p9P|j$MTSlF+{K-0q!DXRaCa!^2;*Xms4`^T2rQPRhvTOI z{AkL}lJQKQOBLcGErk`XEhA`8q#7@I%!e=5Qifj^mASKTtjl?;sFCT%mLW`?YNtKK zGh1vL5Dtl^tCG1*$1yb6j%ARVnip-JeWMjVZ!?8qf+4dsxX-`##jgneT{{PVJqw$p z4HA_!bK04GU9pU=SPGv)IlOtE8hiY*bN88eU1sbU8mZO+Hhbz72m^{t)i>%GlNLYD zUJ+(X5gPYIkP6x;4kcS(B`Z^}<#$nt>4jzsr|1P(KhKmG%a^BR%`@cAn=Rn^u2|3c z)b8VO!QNZl#YPxZ<RTf;r<+{>CmS;yju1yZ|FKf=t8e-r;QEoI2pihSUzk6r+F+>z{lF8%3Uf$@A$v-^Npa@8c;Q*N^dh3eP)u9?0`6Jf&;< zJ)W}e{7;^ac`EHV%JE;_Y5=kwG(R6d{Jsd{{# zr_z6ur_w*jQ+~34$@6fY$=A6&p67FU&gQv*=K`L`^DOgxDNp&9Ud?kG&kK0Il;6>B`5Jbg6DI2 zzKCZB&t*K<@m$4oJ`Ezh%gUdM9-&rkE*$n)DgH}QOg=gWCM{oC`B z%{&+IT+Q7Z;Ov1Mdy+Rlx5DzUMvMS!;h{}=Gy?|J%Vz&{6` z__@PPm16Qc;G3U1+vdnC&MPKQ`Rcsnp`Us9qrJuCX~0(n_-f!o1^?8;k0$=JfG-dE zR|!8F_}WmvwZJa`z9!^93%Cs2{g|ikA1o%zfCobQubo>=+JHMk{vYlsCT9ZA3h-9o zwZPXr?CrgLTQS)Ld}SzaA>n_!JcA!0e2e1$x0m;^?qbpnyzIX`{e_gb9rys?1L(gV z!iRuwdC1{UT~tiQfRBFA;U9GslS_eT9WdMa`&GcN1ip2a!!HGX4e*3Q4k6utrehmD` zk39S~;Qt1`GQi`&zXm=wz%K%R%Ga>h_@T#txcn5G5 zcv*m#0FMFR^KFlR0Pt?$tpOg|R80PA82tK{hc5+w#UOMqzz=N%CjM;)djDJt{3_r( zzv1yu1pe{Pxye-lzHvh_c^%;$z-sRmz<;guU-$SwT#ui?{<+DqUv&8O!0!XT=Wd5j z2L4;(-vB;qJU+V)zlXrr-0R_20>2CRj;}eq0rSA&be8aK;Uj;lD_~Fq01;9rD-~AQuukzX0(gGg?toBa;mw~VPy@x+= zRxvpa_?9nw_+NJxlaqjNyvN~w!rOos2Kak~pQUi(Ydju06MO@{>`{lCfVTj5hWuW0 z2KQ_Le=F2?5pWf_In3`{PcJ5WfUgbkM&LgK9tiFEKJn}SE`grEZn&5XURpH%;WFUC zp<;4afXnb_`db{H%ffSIc%BuW8^d!;c=m+nV0ey&XDt6R;4ApOk>6YR{Ug8Y_`Q$c z&HO&k?;d_X-IBUJ3`sQRywc zNcLCbl>!z~b`~*?gRhkwhV2;JHZjVsDJE|!ZQj_%PJ->v>AJLWbxUd0DCf{krL#s` znq-DI&ed{-n&^lQ)?d>Qbw{sVe6+u@G@ zZ#^4)KGfldflL3%JvdKyxXk-Vh5YC<&HwX&>;LX;^>4qY4sWDSwHJ9BWuC}yO@L41 zeUM)#`6zrB@7M5)^%T7Q(z(fHq2BKS&e!`J!1;PVk2W0p(YeV$h`$kdC%+?4_x%5i z_b*bPJK8h&gM5qaQvGfLj_p?cZm&y!7jQoPx5;nWTwhndMp*sdIuoC<@lTO9ZvNSL zPoTSt-%4hU)D?92i0mnf*uiM&c}X+h1!wI{tDIS5K>{;o2^ph8ImSG9QC$`PoMaQ6 zSd~hrQ+Q=JQYLAC$0#l6@RxTtl`sZiPF1)v7TFagMTsW0LW&`?_|ondyVV$i`FQP~ zp91M@h5IhKFvCQ95+{a(8Huy|tG$@#m0v?KluBGtL?DeFp9evd z+3@J2i4}tk*|V33SgxO~tA;VlYBSf2eWevOWt11F0y5jzASkO+Um05km#`uIY%viq z*9v(0?TynnVTuPuUVs>@T3yka&u)7zyF$pWHZp?Y@p10+#p-F4!*ks@l=ep!GR@xT z!)I(ihkI&{%hXfRi@fri^41jnl9e^RUdi{#q_nX|rs|4P+4}-PWsABl?csiUxIVWQ zb0$jf+Gw>5VvSidWc~R*4jFqIWv>ymG*WiL;4SpDUUNO2g*@(_Ru=o~FP zV%?S{Tl2k}Ph>`@$LEvgF^p~{Ev??N)c!wy>%v5urc6uR8_4%sxf{`|of+3yD=g?P ztyodowt)5D*65TC|!s?*#oGYTDT5pw|fw=4yb#j`m5{9*PnU9)Z9@)+;O{uDkwz)N_4 zIlrp|{1?1`h2Iqc{wD9w{2B5>VDVE&@&5cHYvJGjH~jD)dHA`6{{nb(fZqZ9pTGwM z_+H?{em*bx(N?d|^LhU$yu`z2d-_4(4+38q;MW2l_=UO2eIfq!z}?TmH(UfIJy>o8{b+(_`7&Nm+(A%{2$Lv9@ygf|0m(2_|_J}Kg0X&gy-QO^KD_s{~_KF{$(vZ7x=ylJpaRZznAoRxRq~v zL-plE%-WNZo7CwP*SA_I0;r**e*23HPc5Dd0nD>7pJP%*| zJ>*iGJpU^R|2yz658wS?=l|5-%}ZWE zcphHNx64ELGTu)hJP&W<+p-W|;r%Bstc72}w}&@){+IK9(6P1f-}CLd5dIIm&pN6W zzKL($A^fAfFC%>(zK3r|hVZZPeh%Sz_+h@?{W35A=e&;+o`;|QDDxqV-}!$wdHN#2J1BYJmBr+Nv!<6vOjrM$&pJ1qzkC}$M;qd< zbMBhyr9X0=$E$C{Z~vs2eCr9eVe2&OkZ;3xb8T2U&Ga`<(T2*O7L&W5U>ok6W*yFr z2jD2MVlOE3LyqR19mD!?yc@6MLlxd!SA~~qUmv^tt+>gMT?cv}9@!a7-(rdTG-akt z)dk5}`qh0`TMP;-i2sW_P7EHXN7#eFjdLs?vS*8rr)}N!2&d~>kWr^eXY;x(GZx_6 zS*w5q1G~|a!TGZ|_MizG^EA8Ed@14DOl5@P#lXdR~SLMi45%Q%+rd?$=1=n+` zXQ~O5R%U1f_fnzLqwgG=Q`y~9F@L_LGHM8H#pRK%;O6EM7viXdbd)|Kew*EW$U=;~ zTth9lew#dgrk22Mj%{uc+Ze-rNI2C zI*Nc@&g)9etXglmLa+!JL%@IxdJr9pr_4`I=IpAOr_SK#1o`c?J7y;j z@w->QN=E1R0$YJS$IW#-j%CDL4FYC|ZYkkpK-%`>@cB{X= zv(YsHjx_lVzzcKmzYW79Z_C18Lfx*}p20fnyQ4dU+X!zP&hr1KN9HDPr!KL)vk7k< z%;LX6>DhC{^4~cho+TIm&4jn+^3z%30lD%wkY9y1$MoK+?En1tCB!X-paI%A)!)?-te%R0zU zp6T31V3R5QyN0X^7Kzp@an)$@ccH9J_5y2yWHx5)EtNCTdZyJ5DLhL2tc2m7fU>!N z(3R7Olg#%;>yne3aW%sAE)~wZbllY4vZJNDrF79nT&Bh12%W(WlUr)S#D_M?djbS7 zm|7csFo!y0w8$1k3Wlilb?biaSoI(+i&cj-oSwV=O}(~-#aK$C%~5yLUCd{_CoR8v zxAdc2Fl(kECLAviIhW6>j`bTl+9AfPpt3L>=6$k)cZTRs!$f)G1KSX|%k*TU^k|VS ztuqH;T)b2OWj4uai|$r2=PefE3U=wJjwSi(BXmzgaS!d{IF?>R9V zL$bzCC}?aQ+e9=Yt;25st=0TQ2OHxyR znOUiKgA13~Fh{z`mFDK;e%pj&lC&?g%s2QIMY)W^1dUWf3#?B^#Yx9AAlO*7!2E1+ z;WS9t&Asc*;$CC-x*@StlOv1E65i~>V%QZqfs(^yd?LyMN!Tb%3S}D|?!!iC8#u1?%E*btQk4a=nM^6M~ zm-C93$gg<=ta%rOg{3k+^_n-;+7rL)y!)$fntENk@GTzptG}N*PRwgMPu)$jaLm{B z!3O2ZulWZE&;Q9^`So?**BRVG6hAMR~$oIUF12^(8%u<>FA=1NGUD)TB zL56K&J6OiHkfmBqrl5M|-MK@XcCCI|NZj0Dx5zSawA|n#%pDJ5NXlY5T-i=hJ2_t? zo8j)^{bu8)H10jER9@S?mXxF2I367yBP|v+e%U=sxR83cZ+Cku+tKNV;#S$wSzL&K zf15f{h^a&&F8;TwyTXBXw5i>_XwjZhdADL|-VlKeFr;G-_3Ga)37qEpH7Xio?Tru zd^;K-zU0w2j0fC4ci#Ejk9oj~iW}a249kyhHe)e7M`wc_axp2YU@eO?->3jfA^l<1 zBwzUEGL&Lex)fQ@(`QgBx!euIC**f7odoKBKY^rYt=cgMPO8UWuq|?Z+#s3vx@t4uLEANRZF%qJ*=+M6~a()P%hnT?8`Aj zXJVyW$C$J2r^fJvF{nEG*OZhpe43QDu~bFV6-!Y^`yd_QM7w$al2({5!f>U6tfJQa z#I>kCtLp-}F=Su3OK^t00Qv4wopRw*;ji`)BI|WaPfOBM84!_5`@qWJ zn@9jLSQe&02J1w#7p=vHQwp;SxCi0tYr)QwBINIe=74r|PD zyIYVa56YXRGAi#m4)a4p8uf-@jV%(s)VZk}%sh_vP#J+)vqX=lWYD9VQJXZZ4ceO< zTqUXRc{S9cOxa46)d+Ti5NTiKC4Y0^{N&ev?m7wo^v+_k7x?}FSApLO ze0P9P1pX)BTLOF_@VkMp3-G7kQA}Q<_;@Z|yi*tOVV0N)(q zzaID_z(XPYeBh4*pC906;7 z_-nwe0X`Y{+rUQ$coy*Y75@s)?-|z=lZSv03E}U1dofuF{6MJh$UhX5p8?^gm;GUzo+~Yf$t0X{XO|D2fj1FmjIszd~<-$23`exZGaC0J`?z=0RM>o zSOdH)P2R&D_GRoHzJ!h0o!B3Ijy>ULi^*c%fAH_vS@65*^Tp&dcXM~y9mV9$ zpP~PF|MI7c$sgZUO#bqVj4$b5`h{ZhmU}$!C>~_B9j{hVNtG@i#>Q*UlHfq{k3!|WL6X`Nyg zRp;m$)ztr4Hbv;i`cb%Z8V;|50yGyGu;rp9{rH?Ik2IAo$>~|Z{B9j%VQC8?93$jagpPs|J5 zY9F@Hr+SP2ckwFrk{!DUf%I%w`dj>K%`wWQb`w;g}YSeTxF&_e)?BZ#)!hK~7#};dO z(^h(*IwF@tm~4!MrlmPbS=gMQ;Z99`XK9uz1^*GfFu+k+nN9)eY6qEbWexNtiy0FG z7~V^y7p(zOK50ra_R&$aMJmPyHign*9k1Yl3H%;ju_WNaz&N=Mj4vrU{tt|Eugn;p zkF{NecaOs(P7_=%jAQyTC0;BJcp({(LsPYZI7v;r)W@yhkDg0P zTNvG~bi)?#eb6St3VD1B^~xulq+<;Sp6jplfJuf4rIukd7}7(eoTh|3CAMi}ZY2kr z*}Vt!)z*nEY3gX(!VD$Y^y(*FJWsIuyL>_o`@h0!PrdPK8LKU)>^fcJE?r85+l7 z9SNs4TbgWH(6FAGJ2tdxgRo(Xnm;=5gmSgy4Nd*O1UVyn1j~|IBbeETU@K&lu2n6` z`k<^3hR#d%6}QC9gG8~>C4Y|V%W_i&4OxhYK-gx~y&ijg4k>sNjv9*oFGS630S<`s zB;qEX&QLqjZb%raPFsjCnqdsIu=$KN4?Z+wG>Xrp`|1vK7#}07YVgxtEQ+l zRi>kW_tU@}s|HrO+$3A5a%+>=MIHt%acBuqG(ah@GMO=n<%vHD zbYmaUr_;iGdHZT1`Z#`1Fir0rK&3-Y!_)3yQ2KRkOTG_nLk1PfmoT|S3))t;W9}BZ zsjaQlwzAaLURt@bw6eX_-d@umwu*^eXxRKGv$c$8zS?0tPhiZB_kL#}!{F&f1FfO; z7Xo-mBKx{14qDjQh3{!~+v}NF4a2~&HkfHjxP=;Gjtty*F4&A_gwrG1VKc+vpn~0O zEF7cwm6?sFv0koivz&`$5qR$LYlt~U87{RMk(3Kp(ztkju+ld!uXH3j1iV|&y#Q)aD(eaFU{5Abc>!_lJ5T%0bIHOqFX5{rY5GVJd9fwre@iHQRz`X% zBOt--cM_9ww1{AL#STrUWFSY9gQS?jEz@M7eqFg_#tc0}Wz;(!>dsZR1^?mHIQd$=GQ3d0F(m5D5NNjH4 z4Qh8P;A50;#KcU{-Q&7a-L^Mzqpf2UFiaC92Kj_a^Mex#@`9eGQhgg0ls3_>Szzv1 zM%JM^`wdgT(JW<2TpSm7IlfgaRPgCNsWuQAyWUEbSV%LasZM>#S-Uz@Y+|pLD>Y+t zncU_a+4q5-LJ|~aQSG)5C!MkNHGK(zh%B>|j_pVVY!V-4lqs+dX=2@KlF3($`Ksp> zLwMS05ifELaHMdS*@&CBQt~kn-Nq{I$8bi*m7T6#m*Q&htuMI?SDeLkuFeoyP^qPu zSSmJt-?Ax>y#JavmKdZARcM&i3BRVXY~Oy`Rzzcv?u+FBA0!>y!KP5yiioaBHrP8Xx zq28D-E7O7zM2$XG3aXoKp4?U$-&LWzb3BI>&*U=y+-xrgeX&kQ9Yo8IFti{Y(}2rb zec}w#A$(qLhT76NZH!&!6fTWYKQg&$An6<(h!UAtfCMR=4NAD8r)U7wnZ8viIWk8d z8V}8qTCyps+#q|kvfhSuOQWQ9TZMpF4S@Adu`;$t!VBt@)*;&u*;c{bKuCiF%LVVP zu{P2l-lI?F)*wU`j*x&%*TjZ4Jzq{)KOhyPPjRLsSL7f+i3k`c)VR6H3 zT9Q@TD{0MR5dzC0&O|UGJt~<4jE!+K+X0oir>Egs-W9anMFB){ldJ!-q6XW zn&>`p%Lc%6BuN!J>(}gd-#Z^Ue138(KmDDGZHIjG=}&Rq-sf?qdjH~&<|e-l`5gZY z&b4mzbFhm)Ir&`bzgw}>xZ8CRPkR64@aJ4JH#zc)9{wL6oE-kaXK`-&h1upO^QMnY z4nK?XFaH-$|Ct8m=XFlcdiMO}SJuiTdF#7tbu`20DId|!LJ`cilCp~Ln4Mh0?}_{k z+_(Sq`8K?SHbnc-HR8uAea-1e%2ll$n;{@W+_b)&rQeDCaJ zrfuk<4beVy;0ca{>h$YtYx_ZMc;LF)Z;k4n|2ES$Jj~pQ<8b|ZW>!`WE_ED~3^OnG z*40;Sc<}wx&-aplo%uM-V{XN9SoqJ=FH8Ma--c)2$QgBmHoWY!)6e&cPtLpz3vzAP z{sh}_Cv8~JpbZbtpbgERnt2<(m}|o^*H6E{8jZuzA4iwrUA1`#mu7vw_FEqJ>)-Er z9BsHS*M_bq*oL!iEhfKwXKj7ehAU^#hAVEL`8Yf^M_WJr1lzFpwqnxJpbfL{tZi3) z-{;}xf17z5j>xrP7Ib_jfAw>E>A$kZHE6@-GibxTkE0Dg1DE7qT7OqR!EyK%xU{1| z8+O%w^U@msfB0u+J`PQ}acF;nN5aeI|1=J_-CFxCA71}{ z%xyDo!*^*zT&G(bwBgE|r!K#KPQT>_`~o*v<37u`r%iJl9=&PiZAieS$S*zEpbeMR z^=rQ0>f7+E58&&$K^qQdoi0za4R_oz^ENEY&4+8B;Cy)bhlm!yy7anS8;+z8X7X1*4ox@X>%Ku7KJdZm=i7YC%-isfv_bb* z=&$kwap{M&VW2@9&Yr;@_g?7WOvhm->vY7W4?mH;DEqi0K2=Osutw$ojQ56KPWSJQ z4^6)fdAm&xlw^aCpek>kS;AOv8+V{1mcl=+oykb%$cCQmGT51e=u?YD+nGc;Jb2 z%507BO0MEm5oJu|*SXm4eH`x&Ed~6dcDWLagp#2!lOskW_*^=RNH^dJiMxijO>Flv zHsXfDK>U|)$3}-Mfjr|}oHH85Q9k4S7(VrL16P)p1j4ye(-1?QvWk{W>2t0F5Arv$?6^qC! zmW}n8r*56pp4c~&rcg^^qj@{QqK5m)aB&^_)J|1K-7!E=H_{E-T_Id8In|X)V-4bQ zTE17N7#O_0?vAGZs;(V!cwv=ZNq1FJnAh~$A_|o*!l@oHhe{2HLAp+U0U-+WVF=CS z3;a+{b|a`~Z(}>d>}#|3;WnobS>EYXMJwLkQJ%9WO40V@pgV6|Jmnk^(ikyLPFLIqiaC5OhjXz`>f|Y?oEeE+^Nin=HUZ zby2r)T4X-}burGty1n*uD5j$UT6Kx$XOPANQjnn|Y&Q&BBUpaK$1pa|^Yo@6? zuIgC1`HZfOo7y&QEH#(VpXHE;BTFok!G!r*$#++&W(yJ zh^IbI=XD>dlsF=b$u_TTlyG7g|6FJyD51_C(G>I%+E-ScYpM6z_KvLPIv$sWe=IyJ zcHPResB9K9P?g{~3}UJSDo@OE5-Yp0?VOIb)vIaWM(J+FL=40Bo|cFhoPz0q*7DFD zgX(F%3}xA@?r1xkJZyN;J$AJYSPl%uId&|Yst&G{G(xo9217I{bU}GbQ27V-d?E}N z3g@Dbk8X5&ysi_-2_4_ot?3-~ZUP5V<(#PDfaeJ`b2)ESyB%?Yu8*qWYM@!MLcCBL zGHlCPm`lMun7G1&2;Fk2f$=72N_*L zA8DCZ&wB1B4oj$SJr{&Onw0Z8)ifu#-*a00SCTP#G2ygWJ@Kwz_-@gDk&pe@Q~d46 zeAh4j$)C6V-N!fm!e9J;^^tz&_%5DpU-EOiHoC&w*u=d z?0w(Fei8VP5IzKa5AZ|xc>Jbs6qD}&9~0t#8~7pMyF>WPfq$#?-}XB*q+`rBYf@a86F>myHG|0)gF7756MEf>{h8y zSBaU2M|rz2V~OfEJGTyw2rV~a4p+%8m>`&LyH$vd!x(pEvZ^?u%lSvoj=qvz)$Ese zfUD8jsH>c#I-(b82lZ4|EM^V24q=9%h6{g(I|w+A?r;Rp-M`e?ZA{W;sSr)+sQAHU z+a#x|C~ws?Dk?hJXXd*Sn)TnX-te_S#%VQ`hm?+By(}w;b(PCQw+F@gph>@aUHjQx zo7Y16CM*-vfVYnu&*Wow58C&zPEvV>g~IJU1!ZwM&dbL^gG?NpDIZ(Bf|<(H)F@_6 zSKDjHdD2a>!7}G~&^wku>E)ExZJ<11Q`+Lgvu$ti$eO{=zmO4bQh&oR??6ejg~ z<|LsL%xRgrM%`esK@High_-tBusQ@=I@h`FesqBuh-OF{^vFc46ro^?H>p_WMdY~$ zWPqhXYU3~^)lx@WyOurL+0k}JTjyF#A5BFg)LMubItFD>I0n>Pw2RZ`RTm<3yU#dS zLvtNudNg!J)H0HWWzg<+RLK!+bCIPgsI5|kVi{6#LBYv1I8}>?K;zXy$GX$$HV8L* zP$56_)#aXZr8$GMH|dm<#xWhnQaZA1aFn%;wk6k8^cczr6(K8L2+Nde8LL!wl+oY} znp#5mJpmCHgGu>fl&x3D5!gvad1FV%*rfIy!C2g-RH4M#)5ED&A1r7Eg&fqdqTzC& znk@?xr)%ET_+ga5mjT zE+7=zj_}Lv`0~TOA-xMG!aW*~6B#Xah*3-PXWTvLbs)ip^-MUf2vl~l- zc9don9J2f}QIuJAlui3v23fWW1XpxQ3nw@_+Kp$c68758m!%cb)Ug3_X4}drqnn5K zPTNR$N?#A1yyr$!&GBp4%g!W{o33Axcm!`;!SaxgJ@~LO(;?%~z(_M|jBO%9nQrtO z=NFnkUDDdD&ylV;z#@_~-MkFTktDJOGx1!v(Ws?pExYbuisPeW{D34Nan6O#?6#Yq zG(kikbO}9n@xCQu@(Al3bmWWlDzeBiY7}l5?uS|ylp%vZo$iiQUmeRR*gVO4md;@X zDFh#g3@0BOW@0SqUKu$%7 zeLklIOM^;>$E~mt;u=fnsR(hHU0@1xJLD3sQxhrmxz`k`Qac>J(rEnS6tyvevvGuz zbk1~Njc0;|^zj$uDB$>NxU7-`QU?@i@ao0e*KQ+thXs#v!;J$!naKHrN8_gB+E* z&1Tt=QWinPcWYtejIm#i85kq!oPgBi>ow$YF5Ix{dFRIsYaNIsE*;&g$Rt~zhP4je zZf^3tkK)*stm2KVeB6W}l1{as6&W&)D4=20`A(1TyVCpeCy-TK7W83w*w!>Kys|p` zGAIg?^KfAVVfr2}EF&hgySZ=%6_?Bt99a9A=+PfNy@&f&clhB*Dr87;7?kfW zcwBtb8+$y0YY^<-3uZ;(oJCg_e@OdI7))>(CoqPJx)^YzNq(@|I`rVoh3+UMj_!`M zCPsJMjuJm>cr*^wAe7;8OP#qHNN&E6DlD$2wy6%J7JCk`%LL0QKP~4Tm9d^~>=-0& zkz~YZpv}FQi(kVLt$6!0ZhQ>?tvH~^7Y*hCk58$HUQHcd`q%$sW132QS4)@xZo>3^D zL*tj~+>5)EOlGi&F3V+Q8&Yx;V`6j++@i-u8C8Uch(0`Z+(_&64TR8M7&q_2Jsk^a zuN2~81JuKeMW&>JM)AUp$87pI%RX$$!4-Ku7;K_wS5Z15~|E$ zwg!6AAVcIhE>}>9n5+snr_%4y5OI7LXRrZHf_SGT`SQZ~$>MIenY#6b_#x!?dVX)= zcLTqh`F)C?{;p}6pS*+LKl9VyA1#`n%;l%Q_wnsUejnraNq*laU;X9NOcf{QaUt|h zfB#bVjNykprIcLs)Kc;_o^Ls@l)P|ODY@bovy&;2(5|GyXE4|Acz?*qP{-^5afe=7JG&XTkeX>M}M5uW~ez@7XKIle2Mall6Dog8zBE)0pgep7+^ZwDBy)VA%`2Pv;yrKY0ds zKs`X8YA<#iu*U4rx-q-FZp%S;o^P2a~|u5n$*q`v)J=$r0+^o`bX&2`mO&j(4P zwO#MB$I$b)eA8O5ciA`Sx$yYOIL~Jb(^G%{NStU7;a_V1UomS=a@1ql{^TBD{ayLn z*)@9jzva%itACxvn+3he|J@Ywcvn)&f1dPy?=x!CO^OgcsD1ITN*kj7_rne7%HD(K zBu6}&)$RHhc^P{ewBaqk%Hj02xZ}~QK(FUzIkLNFM525)mlpBZo{64l19LmQX+k8+SobtU*Zm#6zp$~V}91M+0 zr3Ke0(mL#1$F3~(IBOgAOhA<>?8h89nnm|5pG2D&lgg+01?iS;x5+E2RU*x5mlO$g z^(xzYZNfwT+PCB4l1-Ycwdtxo?IL52elZ%yw`qOQ{+Za$2AK_`L=gpiV;}=|ce}QQ zrQC|CC~%6jNBSeGH8o%hd~tM;7}Y8Y=Kc{G1g?7racEfBtew0mHJF&KC)R_5ITNr& zxPZj3d$`MejCGB%$L}6m5d-nsIXSe&E_N+T3xN0>jVY2GG?#p%wxT|}7F4E9_(FD` zpLt}PR9LsZFr3P7Y=ml%Q9fpi1mSox!g^v~G0ICrt!vVn&Ii7?vcDIU)}4)f!L&`} zqj8^k#)L1hkx@l-6wknrN(Z^>4efs`x&UaGsSqHPiMYWjdX){k97+x1n@wZjPOfaU zn+n^jh6V%UEv4nn6otpUI0P*{O*^?kXvwlt>#}9bj$3@BttTvRUA%nBNu`Si zhDsf~5r)R-M0rhuzP;T6DZEr<^Vv=^ z!jYrs3_~YPCf4!H#wI0;4(kvBdAgRwa7JS{CQst#MzpKi7Y5uF=p~0?Zk9J%EJbG@606DcQF;^+WGV~~PO;Sov7ShH zn01>H`C!e3n|@qg{#`MP(SPmvG5Zzx)d*T(z5(9RX~ zV{E7H)9!Bfet19a{wV!)8?bo9cQzR3Sr^Yse!ar^&cB(W57Z-hp7T7$=FHGdFQ@Fs z`=>id*EFb;Y(F1hY~KZ5>2Cy_doup=ZP-H_BJW>$f^B%!KHBitPcJ3?{GO~fY&@rD z?dq}e#6Wf1DiwBy1vJcFT#O|UYFB98ThcjJo5N* zIc-=U65JQsu=F)^lG`dXYtMt&JHLE>DLHM&oMhLTGfTU_`Zfyx){o~V*PrTgmEXO4 zZZh|kPAi61aZeP#)<1XnFL|&3yN+}*t={u_{gS-ayw&AppCIgj_smVM`Ui(EIBkBS zvhII{)199JA53^Ru=@1*FP)#9%kRhy9>0tCQz-wDbsoQ?L0t}9$~nbZbCL(>^Z57P z4zKg|L)o|AGq0~AUNgV=*F^m~r_tB{N`9(eIVR+JNBGv1`_|}H{c#`tq4b|8&C%e? z)fao;mU-9uxToL4*8|u8DP8<~1L2Xr-m*PwM-1QBQ+xW`UvscU5w2YguH8&Mt~z6K zJ~tg!O8%JN5&WKvzq}3r4A12IklAOa+vUvOK7SQ*daDGAuP|u7!{S=YiJ@)SM$1hs z2gT(};RSXuN2RLIHh+Dm_x6*0U1rF& zQS%$rxVD)M`au=0iImtKnD<}rYr!qgDcK#E_XPOQfprJw?E$U;>kiBt1H1%ScVJ!{ z;5oo{=VgGua%9Qww7ep~9|G2$mJNbb(Y+z82B@I;b>eLs z+dDgxZA-elE*S}T3|=yUBns`oF&SP$3E5z;z!!mA_+Wx5sx)>A>ZBc*s3TQLr97@% zYRP+>GZjNDH>(oJ$r1-Es|dPLXDEP&WI9}DS1?lSr?$^3)n-`CceBsNT|r!=-ZjhT~SBjE@>_DLoO2gZ)I*INHn$5BCbh zxurRBwLKgcV9x?|wC!?nP@cdcHTGiC+1ka6*&@~70Bx)Zi&Lhc$O85JiD60`9Oy&t z^L#@LK*Nk!@iVzVq?e1Lx$qf2qh8-ShhXu*B2~6)TwqpQOA=5Jr#C&2ixnluHjo0a zrPLno?r7i8-hBKLxESsewM(NpN2pC|b*)dgBE zNAGv|&w(EVzWF;2zxsKlC668O*ny87 z{Mg)D=&|DH_vR)m4m~uLBlWCi%{U-~F9yE+kPIFMZkv{0}MrTzR)DJlFou03VXe?+d_}{UXcn>%g}?mcc&&Zk?6o{~++tff@XB z;I>?QcB99*`Oz%>?+M@hs|;2j<^S?~H`gwP;71#hlAR#Av4_rIu-@cQ1fJ23MFJ_5 z#hO`=h6#$&w28LI*bL>w?m+y`JEi;A*)V184~JQqV;(C@$-KEiuR9p8Z=%iA z4^mdb)YzcxxU*DR!(Mi1Vu(U6H*^V2V-)(~r37E9OKTgSLd z7{!gTR%Wp#h9|{~u_m%uSfE?2b0secCH7~rCgoHr#aL%%u^N;ZV+~}n_K{a-7Hc1Q z4Q8<#({F_u7y~bChLwdj*2O5& zOQM191W3SrzB+)j+s4J8!U*_`#JEONYG27t4Kbsyuw3e3q67=7TMA9{UQB{re<*vz zP!~6=%xaUnBq(aO=j$5Jy_~8Ti>G5_ zaTy(u_PHto?-i&=%A$!`NNLf2DG1wP-RorX5M?N0Ha+4|D6FY)!)C9I5^U&jaA2rA zQXpI2q3XnV$eHsCVZ#$l5yqh^97vY{SkZD%%PIJx=qrj9`S zis~^i5$T1|&$r*csJ(v4SvBp1+CIP(qcR#QERfW1jOuo9a6&)*D(8{p)DbMna}; zQ0^(5tz&exRWXp*v<|vEY{=H(kT!bJiK{Z5D8&Rv21PC;U0q6m(oC1ybt;9waok!#KJNr3~h_EyZ3!05Y+0T7Tiq|60XW1NyC@x^Nw}4aJkDhr}>dtwG6K4feMR$?S=CO*eTP@j0wy>3kv!P;) zxO>wAVQOn&SY5+bnyVVW7ESfQuK{=;+lZ846pgeFqfHVyYu|0N&$Q}H_LCBdx{{RE zul1~HFIAdedoyo%-d-=*?t=`tYbAt6qg}U94VR9fR)Ni->g?6VUp~wdG z#I5qJ)w=K1+Tl$#3Z?(jW`W%Tz5e-tob^#@FV+Eks zlxAZZFp8=g&>3MC*4HYv8HQ}xKA`%Jdlx7tk;;%c=z8%W&>w}JptzdRVT>yU2M1Jf zI|0Ie3>Km5iuTeZqRL zqV47iCL_7!3O9zfL0vTy|-cLk(AEvAEN>Qt`oDN2pbf#SGST4jiib$Q>Za=N& zMnsX_^{o25EC3?n&@&nm9F;b#&+VjjA@{VD_0*hWNAN)bkPJKwJg@y*27@qJ&2xA41@@BPH*@OKvR z#}_s8tM+MY<$X(YvUFkXw+o3^p4pr{c}8>6L7KM^&Ti-LO!}2JC%end$#U{3-EO{j zp4XhbYsbRmfo08B-z6*3`&X6O^m?NvqQ2?WZhE z?myS_e_G`_lRJs>)*yr1w%ETPS(YYu^1bU> z{{0P0)8u2s2hR5R(sG(KeQ`muh`y-&H&EaEDSvMGeiP;Y8Zyb-&+_y$`7WEv*U~Le{WveZ1$jc zflGR>3VHwT;yjIgDExEh&XbaE@bFWUZgW%kH05Wp4`cK{o?{zkOitv<`amY#N2#Y$ zSB7jTpI`UR68@C`AZ|H)q}3%N2%ki`$OTHBUvD6pHpW-_sY1S99~_zqWX+Z;FK_ zZw9}gT<-Js<7-$4h<_x+cM1klo8z&P7~P%7+CAf6GO25EU*C^MExUT zl=tmG{&R~rBy33Pls#Hz%(oy>%rXmURNxup#+*YECP1eW^seZbMYas1t)9r7F(bP& z8Is^IR5{Y25en2#UcbcqN+2GBofqGanI<0)Ew!D#rv0XBg<%dZHiN{*rDY~{rzpQg z8c#itrV=a+V5nuRx@rSA_K!%HiUXtc@-;X#GKaLqWIvZD%H%ORk+g0~>Is-#E4h$` zgqN;Cj4?4WG=O@%f3Sjv6gU12Q(m?Pwd($3CR@D5T_6JH%Unzhg%g~ZNLC?3w{Um1 zxL23mjqA7%JvL6B;X`qPLL0BwN7jlaM1~Yj)_?+BYwiSP1zIZ8cyo4$0fGJ&tPZci zv`$1PKyAfSu~^r(wQ1iPHDGPJcTEtZE5X`y{hCZ(ZZ9a{`D@ZW>$z1VZ4HiGs_BN+ ztMP~`4~eji(R+}56=N93v^Me>5_JM@MFVhPjoo^`HoY=0J-iuQ0}8E8yYmlD?!GtLy0mX0LvXNl50ko7%(ze<4ks7WdFp0 zHi4(Q#%B%Og7J-@y1D^`#soMVP7Q_mleXIG=4A;uIAJcTfWxn#ZcO>9$(f+FN{fL-xBtNwmrF=7X&Kzkft}xiFn?tRT>rk6K@s+$EDO z?5G}1JTFPOi+<7H9bKcqwuasBvUS?5`ZWDpDFVqvp)mm$#L9(fdR%Qu zDX0v~QmEHUYD?EmscviRd05$RT;87ExT0MrIcqxTg}TH-Yi($WFi-0SD5AHLL)Z`m zR*`_w&?(&-pyYx`Q`Zza*q{}mrXsYhF}rln^dyL_FI^H?-VLyJ0xkm`A;<-DF+HC2AoXMFnVJ(b!<&Vf)sbkXs8SI z)q~@3zzUoIPycA&o;_xJjh8=W2-B+u^4MTIR9cGwC`uwTZZ!bxY2l)OFKr)D8aL!p~+ifyR65f zDAvdtoo98b5qDl=I?~NdGlU2;uyboSvOw17m&zIr*dE7-FR~Cx1&Nm+9V?nQ# zihjnhs$bu1am!nNeB&Mz#$YGUM>+E{Z`{ub9VTAnyYxNENc4O8^O}>c^|_ox?=Ixs zdbV8LoP1(cbFz)!@!g%Y<(0g9KJQ{bp1cVDmA@#fQQl7we;+XD zFXXNA?%BL+^!#_jS+Kr+ZF91CV-9D%tMKlV8*(^Hmhr$EWM90GaMrs4-aW`)gtOkg zi})aa5zcydKJmv_HzyI!g6ms|S1!%rtaqDv_c(P#I1ARZS2ibqQ-HI|JDqgfXkS0S zl}~>UgBy>4Yg_rPH2V7#W!=pCM$dmY?A504fm567aQr*q-{v|TkLe=pl{cn~urHPu zVP8xaVXt?Og3lZ3aD13|bB_bZ?_w;ze0dIgl{d`0$}~70eFIKji!I;^mxHyhPm`O8 z-+G1f>)-7}u1LI@xW@cL#D9hO?VCKln)u+0;OE2l&tH!HKi?Pey@~Yeh}S==_X+CL z^B&Ubc^^L2z6{RkxhK4{NZmhb%M;J{x_^6vx8+vmh}w1=ZC6_sU*>IpU6;3IaGkfM zd!x(r{+4=#gS$yz|EQe!ETyg}m)izhPvogNw}xD9Q(awW77E+?!qj5V2w~xq{XFLd z&57i4_W`rxk;|n$+q=>gW&Xp|dhCc_hT7WKCKnwScdS^pY=x97Jp*X{C(^5A3g1cV zkb1yRx1tykGbDElx}*%2N@iXK)dlZFG-o$PQB*$$kN8xEIx*M5a^T6WdlQqg@UiSr zT_WE?)>s9c3K#Rqjv(lI$cF;mFPuWY#T`&%@@Lz+E0~R}lMfE3b@aZbX|VRW>)Qgg zgT&41mV;a9=gGZRY$m%g$w9j{^5DP`C(W&?A)&d1cF(HOb|sRU84nLZnR=;Kj&Z8} z+`lC1#ykP_4UV~CgSEt}^xjn)b=laaqw3w2s4NVu105gmlbtLV(kn}H z5eiD^(g@P8F|G#knZ8T%3IuFA0U~gSM?w4QAEEy36s+pdm`Mayv(N-YAw%%P6LXkn z9&+r_6*}^EqpRWoo2stJUrv~YNM;B2O_(2T?ic8g!Q~Kobz8kMBRE?Ln4V&|GfN69 zz>Bk!DONP-!}@fL{$<^(?@d_yipyr!URxHXYpWHM8|~G!7bZWH8&=S%ZAM|xFQv6O zA9~J^px)+RW(+^@Pi@0uYHe)EYi5{4a8h^k-mO)&mexbkkPKYaBB+_@{qADnbC70D zEE@uwTO!Nj-tDsre2qY+YXw+}fLNH1&V_+a?M=XAgIHEw+M~pEteBRx+qc+`?!gz53=^lQu!|GdG(&S73xFFe0S!%-@i2oV! zheP}l;v0d%&DZ(&zq&e2mXZIaUCu9_Mf_so_h0MrwVTtVllZL_=P!TfDz~v&#N5=n zqsMG&7%PoMqbH745muM52B>{SSg9R?UlI1#@=oI+%sLuOHO}Y%y0`i7d(%YYyzN&! zzJT~+-(8s8@FtHxu#LG-xy>Q|Pt37P7cNZBy3N0TyeCbzGM3AK+2dT+nhcVD@+A(l zo42RQIPnK}dz_}3-O;u>m@Fqg9ZWWxQ_$SmlM}a_WyC+iR@93%He?72vXTDL;Yc-x z+qofGlI`}vZNjs|Ler#n5>IEV<;f${v#3*k==LIiWl>9t>yX`l< zZ(E6f`W}40zr(-3g80{nuO_a(eVF(+`RjhW$N!n%tM_n@^=+QNi{JH6aU5^q`xoZc zr#QZNjSUU*hW=gYv>88qlyAjM=g{uskvD7|H`C$q);>h}qr-b-&^m6sIy4@?_h6hp z5#o^0GJ>hD6I&stvwroMMP(bvvz~YTZ2vNckwGxTr*o3I<#c|O(dx?XcXcwU$nW}h z8PT|BUaPPJqEtkVj$O;cBIG@~HYLqDE$@rH#Nxu@J(Y{orV!k5YzM7wqJh zDd5AYOS|+24-51i`+~tT)YbtUl9>|PNa9eMP7F*~5rY&g+SzWDslv43#1rCCM#-)x z6fy1)^435ALTia13m3*q+%Zb8A?owH;yIErF*+8LC}+bm$PzAzKgNLdn19-MMg8=} zVJ6)Yi$ddGHMSB$Rp#OtXrQll7Q%oL!HpJ#9wAEVlUoTyDNNEjeU)Z%JUAxAk_~|B ziilOHD^?>eMPsd@fj1o-;h-8=D5QuL=hbl{I2z;*%Kw7bAOk72t?G-8cmYwT5n=aG zE{A;rUz};;G-AcWE%`VF?k(mom%7mV))!|;Y)rBH$_=w3bFrMC!p%&jbqq*TDjd4i zPacbTZvRTdoKM$R;U%{%a}W|3X(^`OL$ZKU-}@~CkW?(>smtK$G^mr~y5t-yITbrG z%58H7_AKV30NAY#gPA2AMB6xGH!vxw#~P%SosOAzM7(kdg6gj-qdnnj=*T5m`U5$7G|s_hsc zk3ilxInKlxm#D^o*oIT*>lY>0^4H1V3;5Gh{QcVS?yY^P(JcocC|<1Zv$|E#SpNZv}B_w)A`{5`?n zkNIn@EJ{}Jx0SzL{KZGM(GU`Lw?tb&SwElG#KO2}G?O6pJr6Z8P`s3NNdt51RVwf@PfRyS@W8^zvCE4D3B6eR(yNoHNOK#5W4p#3>~ zGx51QMer@5Z+I*;uA_3Of*>=L(w-M4*|52l;WJAXmvi|yiY?eef%Aw2t(&;0v3{8v zAqYP5%kd;W;np|2C+WzhW#|YbN1r76s1hJZ0Tow&8xatiVl++xUgflt+xTt-2GylF z6(1j@aRE}SD4ar;KZSDg;(qjLA9ot@?+2jAi9hjS$Md%k?*qp^@R7i|Je{X-i7qD!3nCY+8mV;HhnA_%4+H_H@Ij#rh`du1qD#tjyJ zG@SJi91e#qqa-^=lSqNxxZKX~T{j0);FOsTqgMdYgLZ>lT4C39W<>LPM?+-KZ#R^$IJ}ePhFCf7I~2l9xR$=)h1U4>d7XED<~aV zlOv!+jyuHRcnA}0RI@%&AqoWAmS1@vp@i|G3j|3Mj*2lj>Y>*kT`O6W^|}bPyat0> zDTkUgH3qqI()Ci#kHGtGCfvc_b^N`Qza#v;hQHVIr>7-^l1H2ye#?LB((t>u9)FH^ z=UJ{KdB;7+w;o^n)v4)p4&ihA(&VB0o0A{iJ@vb)_~OAd)HF4C@^hZ&uH$S&u@86C zhh?G2-~B}6y6bCf`^MCC>cbo9L(k`%lYg709cLe<59>bbW&Xu9dF$Ko>$Lm9&p7Y< zx77PV;@zM2b!o%?v_83we^G7~@u4Vliuh5KdqjNEyC{c>_@j4Gwi5A4@1kra;+Ni~ z{0Z(6-}Fwnqj$o;M$h@kMwCwczS1fFu`kui$rOLl{#sd$;{D-WY_sAwhIg^eioZI% zi)~i?_2FF_>Q%ha!&*8zWQup+;9B8SM0JnuDDi-RX4YAykXa9NF5 zKQooqX+*D|?3JM-RqX}X^Wz;hiZ=@F+QoTVcocc=n~*jwGAyo8yDVefN*fR@aHPOb zoyL+f#TF&%tTNiULWd!ac;68&Y{18)H+~OFNNWPOco>f1m^3f!2H77+YU= z(Y;G{J&3VPCLqu_Wm&W-SsEKYnqifombO;o++~erjN66s>Ps+q9y9%+4}HvAF4?sl zx?{ugatvA&AblZQsH-lPz_eZkn8yVxpzARFrUAOZ-8$jfATPYTT%CBc zQ%(lMn<4h}TV`hoH;ylRU zi~C{rVC6c(kt6nN&jWmo)U+|i?O4pq70_MVmv+6Vo135w0W-v(iVo#cj;CrvEJJT& zZjk_xVc6)3gvpMgX$X;~1k?uhG@)VsIPDtL4yi8CF>?dVm{nP~qhKWy;Go(B2BPn6 zcywet3`|WnSaShCihW|Ph!8>m*0`b3y%0c}n);_%zF%fou1|nz zt1mU03OcNVSGwBC5KU<`5d;Dj>tOC->!2!O9req8N<9ZSlh!XWw+Ra}uun6aA(rKb zlr>s1H7H(WH|2yA|B(^o{6%GGa-c0cNe?l9YFuAY01Si~6-9hovtx2tsi;gRqXnBlVa9 z0HnHTcc#k^YLG*+^+)P~kTt&QT zHTUUIzTye-`X}~5?=Pj_qR;d^|69|K!Q~UFr78YXqnE+9K)6x==xp6(^+T6b^D*b_E|EvQ;Ks6$EYznl&pA4Ja5UXrEJz+q`E zidoepxbG?yv>bM_Orj%VW%c_T*jHHxB}`&Px05og)=+PLM`J}!yT`P$*(zVzwQRQ{ z!ER5hbrmPh$nNl@?f3QpiFm=HWnGu<+HE9S_~+c>_e#OV3U93V}qybqWFrt=vjxzQVAKvb=2e3N6zpBcViD<5XOxO_`Ecz4GVWx-5mt zjH1(7YrLwMAs^Z@RVY8#hvUU^D&<@*BSUP&aN^X-#Q3&1IVkDbNQZ0%p%W15h{Dmq zJNTSpXM!zVJuK8MlhT;AQ~~zto||5=qf||-9y-)0I5+b{vo-^zpSBiBF@l7KD;WB5 zwLUqXa#jlK=6#&r2cgY93~p)mV)$i1%qIp76UIxLBh61ox^uw1=`HJUO{Ym{Kua*V zS8APM(AUSvuh0WO4-AfhnK%}J6kzb^g^P8xCo}$#R@Qlqt9>B9KA9R0LJD6)2+25v zen7r-b<&m+M)%%0I64X6xtD=cwK|AboeU>3A^Q6UqR0|pW-udq?Nqpg!|FFpmU&xsPzQ6FjyDeC7DyRXiQrhFbT@SkNA!h7 z++K%IOuA8>#3`7>bZaa_n3Bq0gYJ$GDzaRKzJ|op!FHXR^+sD|lHzefcw}O6DY;U$ z+j>_mm3EmY0-fP!3ZNt01WNzoC=lE#XXX97|7X3+*E>d6vQNz#Ff#yDt}}2$DV)Qm zIr`AhnioAjheNV;p5hFrk$Q45rlb(kF4zj~7R&fvkY5PfX0AWj;<%=rBxnO0P4~jP zWv-Jgyy55a+GvB=iek2l>JqH1i>IsVUOX@6zBqiiB!sI&$mJ^bEDtSNj@NfR%R^Pm zS9%G$-t~EUe{s58Wh`Hvu29w$%hMIgvf`q2g<7*>Rk}jyxCM5F(s4uVMf4oz!Dbm( zx3ZFGbl^Lr?CyhIN`a5(YIV^HNGe!P3l}PvAR?-A{+;)PR?vd} zQ4^CPYI4>*YYgi*auvJ7xe|JW!$%`4Y<&%0bTdSk^ozAQrWKf>F@`x_4L3_gGFZS} zK-lyI2^JhVYlL|;LIxHJQ5#m(b`yo^h#XD=={UDKGb`xZfbL$hgf^lAq!MV^t%0$q zA-e!W>^uFm?G4~jGkzG`vB_}rU$a&bZY%-()g^9-9!uoo7=W>YS>aKC7^_>ms)nvk zAQ>dBnnr2b>@_A*^ej^fv#!BbK}DM&kVHP6KE35H6WLeLTO5x>@ULs zn;=Uxtz4X8TV5S$RK?(47qH{K5&WlJcF&HWrm|4*`e%278^wd7?*>eCMhmfaJ1~I% zXJ8Ri7sNjMCN)4PV+~WmXcdjSa>io+XpX@~52b0(D2+GrU87hb$!PR&pq4Q*za#WI{W;8zNgKwa7a1Rf5(+X^Z;}<3!ukK6fx&t7sSG z2D#Qj-)+Ch=1pAv+S4Q9O6$BW&`~1o#k(>C@MU6Go{MI6NSHYv?a@6FnTBN$4?~01 zgEr-=wD4NyhV_~mx7R=;w6+Uc!_I-zs4zhp9vMxLGTel|1c55MKx^RXX+4s>4$Wqe zI#Z)-`p~QSWh-=-4Q6kw)T>9P$XjqWj=p#pSE!jCrBF-i%HS!{8{%<|Oh&KvkvtC7rh^oBOc_T$(sV+^(gsFd=5ujZfY3EF2 zG;AZ36ZhUOncmAkIS}KesX^4@!TicZX-PI4M)r%c)9Q%es0}Fez|?SKpd1f! z2cK(AAvqqb!_qH9{+@oWa8%HtzQpw{3Fcvn~j0!8QA7GP% zD-cIQc|!rS%rK12Ayn(2lwNS6BH!1L8>8?aOqa!_O%e*)vJP2CE3|b8nOw1K$GeS~ zsiap>!2~x_O)NIlOg2Sc1%A0sh%EPM;EsIC;UNqfs*5JDY63rO{xI$lXLURI+Tj@>(y~WzAnVZYrb)r2O0sXyay&RyU+p_Z~HpQx|$PwbgNF&RTDscicsE zZC%iMt4=ZOy%H7ke{Hj^(Rov9+H4J!8Ueo!f|%HVy>YoJ+;C(PiFo7KzQMx-{T)UC zIQ-1_o2v2M+8PNVB8jhdJN9Izy`h*WZ>msx7i&i(hf&lRQbH(ct27$igyCA`*o)~8 zD>RdYm+lc#KI@>|M80cn&{}8Cf!p|<$@fnZKcBdCjeCBTdmV}2^<)3Ojr2bte&mP# z{a@dZCbP!yHS`}Ie<$(!rx%ke5xWeb6ksAQm^RTO2$O4Dw<|-fdexp@AY%%G3$QNN zwvRK74x<%f4pw~F@{p;xrQ1k_{m!r8rl?5`F6%Zp8w=zl6bie^KHOkZqb4!SYuHP% z;t0gLJNs}H)r}%dYKVxC!M0W8UwH+6lg{xQ<;CD=bcF!617rLV%7+!v!Yz$;WhV+pZiNtiM%7822BesEhp&dBtM!tKN%*?(Vn{wyDjG&5(%f5+^{J5Px8vPBA&(F#=Cn$x`iR#%X!!6 zDeB-qMjF|4>UpT?=ceS#8v=GW8Y!*`^~ zFY;Ia$o4cooxo%8;ZtIC+E9M@D?bUg5~RB77Hn6D3r3BfnaPHpYc%Ve-(*C!y0VVN z?Zl~Mu^^JUN&4#CwM~3}>OfsU4pCTI0fiT#6yec^(c$4r+LN6MyhgT3+zQ=u4f`ij zzCeq?U%N`&IcQU{?*lo5Bk$mhb!*pFv=gg9>&_wR_x2xP@#P4ddSQhb748yXO)>Rs zz(qM=IL9u9i^jq!CP@QWYx} zA-@G`|v@bzYjDpI1;?UB4mBAsp)yo1CU>+=P1rO;j&QwiG1Ko*uP90{AX^V3lS#X6$3+&Y%UDb7>HUC)T9FOP*OY396cr+gJ;^xB`T_+3 zRzW-1(T?ah1;-F{?=u#M9X~8Xu_Ic&Ohe7Md1oQ>!>J`LR}MHkSL&P}trWh>IST}a zc~5c1Cp%4O!=}7(%{K%xR)AZP^da`cq!)T2;KSEarl3DC9%u}&Np7Nta_WNHVlWCN z5hO-SdrL-j*ue@N?$G-s`FlTR5nQO`|2xtLKiQ9 zO+*i6&FhGkk6Qj2`hgC;_VYJBpqhUGGKg8--;ijoSX-7}n-m6+e&e8Rn1I9&cwfNl z2*IabBlv`*C6MPhBA8lVdsg2RU>2*@30it(ixapAQ=5AiHz`>L@`4N}P}~Aj)|shI zutPv$f@P&h8Ls)yT2rWLYT35z=A~;|iIU373G*mFcx(`fAg)7?4j4u^YGr7J@Yz5C z!XTS)kzlwEDys%OHymS*Accy>$MNQZSU=SyAqDii;S$SDcBfSE6d`&Z^Bb?%LkH;RMRd8l7INNM_>UJy>-9q+mm1v%l&Ue>~z!N_q?lZOezI7LpR|*>+I8Ih zr3TCPYfYkz05FN0wV^Oy2Zo`WbQCC%Xc7_8*Q`Ct9aw2K%DcdMahxVlMat1*b}n0g zwYeKMpuH;~p~lzZcBkkbOWL~2g8U*i`oZ#RFYV-`7YN8jh=n_MxXDA3jO>#}Lxh*0 zoaNRqMY%$<(Jx|C0-63SjkLuuG8bD9>y9-?I>Q}>8VJ<-$&pA&>6yZxwB^d$WNE6$_WeHT#u!8nTU9~0K-JP4EXP~$uwE_~<9?n+V8r6X^q^|v; z)LQR)ro4--Q(0j#v7hY!YOc)ZVp;gjNQ7^^-{aIyNaPVa4aL#q6b3t#x~|1YpqAYk zk|}@vvn#s~Ah7SEzjX9N3AOgJfe2~ihLclNc}vRPhS5WY^Orj7?F zXO)U~R1|PB2%4PUk$!Sqt9#@Lq$jO8YZ)40+_N}^AOj7Jr#&wHghw+nw5z7iA-%c` z?nD_(#!&`Ux)4Whee+w+9fpEvm2+&y(fia07sN(K02Is?gC-H{H#esh+ym96B@^z~ z^cC7BFkf-5+Sz7X{Nil%Q3EUE46L?hpBU5lTiCxr1{1R6&}!}s6Wv2>6tq}bT3<`S zIKz6z3GS!E8HrM6*B^CA?4AsTti)J>JyAJpOxBiZs~1SaL8!Q>N5YoohyCp-w7|<1 zcNjVA=vt^DdN~vOT0(u-^2?Y$pS@ZL= zKavZ*dvZ~d1_9CevvXNhcy-)?e51Vk{jsFR*)IRRH2J&VJ$jm(PdmOg6lHd=FZ5w? z>G<+DYN2FypMP(f+yNXu(Et`>wEfCsw7*fg)4e-DyMI{aOxVPt$TcpO27Mef}fDnS}QfHW7Z6Fg|DV`#q=5xA*UOcbc3_{QQ$W{;c0llM9HSPF&}y z9{jB|xrBJ*b)SsdZw*GsJ zkCE=~Q0^bUFHMdRuPpR>R}rs&8kPGR@<`UJ<5ERjsLw07&RA576N2+ub>l0z?*?|o zN8|9Fx^%_w@wdiMQr{?h)_aYg+7)HbdZ%&LyC}ETJB_j4MLz<1*XSws@y+zTJtXS; zDe-+HbM}FG^OF}A`l+*S-N5Xv$&%!qPb0pM;zRX{LyoUH`z|XbwjrdrXh@7d@%=)U ze`Su7^lN2~hqBrJ{a98!1uT&xyLUJpVvD)?%Z85<_k`JsO4wK7@U1)uQH}!1a$Q_! zN+-!>EQu?Z5yke&VjE|CdCu1Gdr$ZX!5du1qrtT@t*BT~EW)V2x|bqLq#kg094_h}d<2Iep>4 z5xeodRkgLZi9b=cUBq_7SNPzpYgiOVh|)mOc{+5-nBGWH>KA8(k4^y~;=uI5w5a=Z zpJS`IFsS=BYzJ%#a5Z@#vq3%loRcQ{gtza3(kPYI%Tb2t%m#DC##=3Xn2i9n7J7Q;a-pW1%Y8^R#|HZjLfdjoJ>zKW5knK0dX>Vg_Q8nUl*JZ>tZnL< z9|CB#!3!O;Y>h5vw?xWhJ`}S&m(fgRUe&pw z>w;uEo)?3So)0O6{=@*baZFfsAlwfVmy?lo%Y%LwiwYKnf&FNHbWCU5%F%t1`?##I zOLoydV@*G8;wffR1`=NdG8#LBSH!ns3EqSgFQOA`6;Lu%5{fv>S^lEN1a|e z$7Ov};cjOZj@o9}QJc<+txb3}`;%yxmxulJC1Jm+-;-bY+J(vPvz=yn?}s?6j^D$F zQ>U$7OI-K57vs{;-v4a>{_>Bc^~ELsvV38(>RJB1|HD(i>t6ZC&-40T|Isx0bK3Qu zc8|Y=xcn|Qmp%V|l&|{dws`!viObjdInVX<&-s17NB+KZJ^pO+e^upO=<&bdyY7AO zBraO<8+?C+?-kN3{t4ph&mEMfxcZ}e-@AU!^FK;_{iXOUc#eNxKwS60pMRFeE0q5@ z<;|u%(KW9ju6x|?2JVIO!QUKYw>Wu+by>;&Ixc=ezu#?kUn!cakpZ z{2vZwPnWO$ea*Rhe0k~lT%oOsi=Mg}+_>dqsiIHYQ|!aN{{?+`_=2Bp9~K|Z{dArW zF5lOdkFS7seu%&OuGC=oz)hmM{izuT__+VY9C|I|a8}3sq?37Y9?2d7zx2F2jKdc~ zIrg&f&pPtRPiJNE@!4J!$KiIy;Z>omFH`^R=hXJ$Vb+Z4p87sKVux+u^-VDC6i-&>{{bi`&VXK7|kI@z{ODXGib}JeU4vjqt=EJ6^H$P zH*&5Zk$|}brQl>$CB4e3GTI74Kv!>PWtmR~9j%v^-3$Ot=$&L@^kVxkANR%~?AdPi z50+_~mhdeW>so`7_Yx=HUW(sRj=3V115goWJnX_d*$rTRoJpXZ>NJ8%8(VfebSAln z>yxcoI_F&t!4=7HhhxXNyP*2BzFl|eK^LrEs1Di9U{}ww~c`} zgT!f(sIPAV+kN!5N@F7PSW&o++ffYe=^7at8HSb9EdZE<6w!@{p@l} z0BlPMzD9nbOaLu4v*i~a79nDzZ*Z#SN*)8Tw+u~NG(UIzDzpg;No)9kyLLU+7J{g;P9~uf;S#G$=Dl>m@km65#wxe+@NB* znc=097Bv}cvI*!Bm(=YnQ59aVdWjN@SvZ!kk+Dfe~GE>0-6FmMhWTTfm zZTaRuOp})pf8_a2JDyK`75+VM5Ao{%#-@_^x)A^Kd(!09r2o`qo?iRmuM!_F#NST* zd+YM=zf1hJh4>#3pIeCENBk|9=IOsg{G3AkYsBBRHvj$v@wP&I=F73aUXy=cNPJx( zzL@y^tMl(Gh_@Bu8;F14lKlHN;>!#1y~OXnIR9QH-c^X-O#Ff8<==me__c-jZ!7<* z{QJk0zYzaC@yA!@-@iuuM;GPs?-M^#_`dKad|wy7UqF0$A-<9L-7E6^J;W=8_+H|V zF3-P@62H9=e>w3Ph4?S)`?5U!ZxX+@5Pv`M=0f});-6ZYr~d-+bs_#+cc;nU5}zI7 zvxwI}>k$|E(UHvU0J1bclTmL(8!aqNNL4sH5Onp-H$SoCBAh5CWNW<9Ha)gZjt$wG zA}LYubZrJ8P#@^Uu>bT+{OsBirD5ZUC;hc)m9z%fVQChs=n*T}@spW}ZFE z$-gBkdS!G#pG%cpgKM(Sm#s?=ql4|CIf8WrG^5OpV#mX@qiN)TJ9L%F+h5A9LZ!k{ zf*j^q0V1QYU-?;%fTLdn%<~U>Oy1Mr^M4^?x+E)LW-fpFFG0 zptb`2_h2vRc~ta$>ezb(w;a~7!no9;@6Qx_lg+PKl)P!{!ek5KcK-DIH1Bp$#_kQS z-~IY$(`0X5e2{qCdjEd^eQ9!IUHm5EkB9G9d?rn9CH@F>SQG7f!KYI-uja8si1iyD zOem z5tGhtCC5%$ki1Mt$Q>h;jZP7D7b+=yF<^LTXFtr=H+Q6<9T*iHC0P!MvobYA6wJkJ2!c3NfB~$DORqtc{H5+TLtTOEb$I<<4 zn@**&!xeVmpl>jnu)GNR9_*xi4?wH4_ecq!?&T^P&k>9>*}rh@Yo6U}OsVpmS!xtI zrW8vi`Y`f6)Vfa|RE(%GPDhF{&IC*%hLOVC|cgf*{S!lz=I znnEl|*}ARMuaUR~+;Y2yrE93i2aw zElRfu{Q5KIvhxSyGY9cCZFYiN^FB{tks-8@G3&zodI1VYogfB81o#@W~OGCBrAPmWq5T_H;U? zo>(D9yUMteIT>n+Q`0B25IsUBpt{IaT}iM0V%lNz!|5%9&NaQ=o4ewXJ>gwYS?8F*wiix)@EKIG zlaSIW3y*BW)*+`FA+@>)QU)5ydPp>vxdBkb-8k#hpx7p8-8LuBnQ*;dNSsTWt4D_S zj>1!E>(?PYxYf`W8KD-o(K3|A4_?c?znh#-|I(jxKiw}ZO5V27GBT0_ey@~5wK8tl&qrQ`V$p=|H|im-|B zZwY4+evMFf5sf5xF zokb|izm#ysLhe=~oJqKpu!-RE$d?pSz+Wq* zfQJ-Pz&8}8N%9z>+WiEf+WjAds_#dHs;}v0uWv44N_-*V<%DMtzKZZ{LKUz?A%JgH z$RX>c3R8T@E4(~O)+!`Jr$U}Ch2-lF@y!Zpz&3?6V247=yEc4(i9#CGr;zp^P)I$) zA*?FoIixU6l9z?}D-~Xjemlfpr|?xt^2>zFNPjyapOZHe@;Z6DzSFMvD5O2Vr;zsi zzC!B1TVb+b;k_0nulf@YlP?fzT)s${68#U&3BQe5&)LW)biO(^(&hfw*x zN0<`+fbep{nXmTxOA5(wszNfHrH~9M;j2j3qBs?l6_Rn4LOxuokY_!i>c5gu^=}~* zp6wu1J6=qvd2>CX=FI@1=FPznjuWb#M+h~4UP-9=^IAg9pI;)>{COjx=FeLRHGkes zsQL4|gzDc%2xsx*ZoMb`BSNM7jN*j%6K?MXUkSGnewA=B;nxYb5gx!QQ2)7c>CEQ7P zKH(n1lL+?_&LJEjJelxD!kL6O5zZofEnySkZGtVR0&^2`0^0`0-@mbtArZAw-5@>zeTu&@_&!8 zneZ;cMTCDym=b=LP|sf|PWW{~mH%Br)ps)chsryHQ01LRsCt$Y&L{s`!XCnI!fOe4 z626#lKjDiAZzSv`d=23)!Z#A`AbcmG>iGcSxx_zCxRdZc!i9u?PWW8Hza@MY;kO7+ zCHxn{XAs8ci(f;h&)=2*kS4eMeQK|}%dS0XmHu;NKeE)I$29`Am8+TEn)BNmIx)?jBV_o?C?zY#GdWvRol7~}faD{Q%?qXZn514w_oT>_lK@K4~$Ms=!TN)0C zX!M49^b;BoXe>+{jxiuz*2JR?h?tvF9FRI)ZF)kwTD(VPW(UVovKMr} zk%h@XAzodHesHVX!Zj-6cga&%f2z z_L>ACQXGqAq!Ue`=WW3FM4lS^EA9b0+H>Hc^k|7U&C~Sdw2*JxHI4Jvms#w?*9(1k&(qL{N5HE_&mYkKUp-16?y7jc z%{v?CuP?LMhwsw|&2>GGJ`H_%*ED^Y6W~AHID9hnq5DNA-iK!}A7UTQVji8y(+HP# zPt%7>j?ss^LmyUMdwgy9ZQ8wg(AUt(eqXE0f_M!%Zv<+8Rj4TDoZLFbr#HcCuFFt^IV)Bx!(9w43GG$FsG zrGD+hrbP(`es(OuFG(*WXhTv&)%Z?{WvdlVK^A0?p(>2{kVu+QLQHPmwQ5BGVeMoZ zoq8iJSI-w)utell-^3EC!w}No1%)LIQWYQB@+biW5&KdqElX7_c4c=t-4w!@= zdZnek)Ph?ieqA@tzY=n}qa-9^B*twa)?Gz0VCe#R-gW(g8L@^2KsZWipj#UN|9BPA zUTB+~b8>#%TyVq-Qq!w+aytsktTfY$NJ@_UtJow2r`{rK9p{UHC&RC9nGl}K2^c9P zccYe#kwj9i`#uEIOlr(m@{wEGGtk9c1e$gX5KL`zY%)+3IgDgeSAGbt6j6k1T?L_d zsTCv-wzkE(OfGNkd%P3Dz;cK)EOz_)q};+eC{&S;oayddoNfIKUV_Y^lwu;C9fgyH zk(b!@cv@HT5sh+c*(KKxsn`h(Nl{oE^(3Ny8I!EH5{w(hAHjrnI9kd&N@m`uBq+w` z2Av$h7j5@GN+?vS5y3V(mMPC}QXd4*jRwv_>f9p|rMS&%El7{i`m7$X2+qRr%RRIN z=rYSNzENxU_*x^x0=Vwj25qghNA!B%koo5YtI^(a6GPBS#P20D_cK+mxlgjAjy7JI z2)vv)KWff=Om%@u$wmFHFk)&$ zru=pC6-O7YlMi#Iy<9}VkNAC~8ciLxx1}qa(^|v8azy;PLS(1>@_4glY85LPSQlJ; zp=op9*+I>$GUFIVcL+5Ii=%T1%*O@?`ml$tEk1T;oi8{l+sr#IFst9;qYQRD)-}nhLY(bS8j)L*k_Vn+HR{nS~zp}7gY1HSyJ`* z2BKZ5Cmg#4e8KCNwljIups1@rs%$yQfCft}--yb+g_Etd%XuMH!Ap|0mQ_!THbrYt zj!|`&SX*Ta+oNuF2|MDkvhI`%zyM<*zVD;le`~CL*m);$!^GCj^^(A)W;aH9Hf>NO5N6@D zj)|FFG7!r{C}Zc~xYjyvr>QApuPB>(?UkLQ7&3qMz7mAya6^@unAH?Q+w`7lt%)ol zHAfcBb|7BZtZ5#~vc!0!;_z}j7&*1tOpn^js0DgRxb5pbCJlh3ldC>t=pi4{U_?!` zGc`733OYCKZ%XK;30f>Pc>SInnXH;L$WEyOG9$eF6uDWE2xqWgp*FYNFvpX@KMaGL z!_-z8TkM>$GeujpjB!YpRFJfApfN3A1MtNU1Pf<};}sTeRL;Fr*^tEvZ{jgVdD48E z)|NIl$&FD#-zMiQ$k-%Pe?OAZo9~&Q9Dy#a629`E79<0NuOYsL@HWDW34eod(WmAo zd-=YY_}hukC44{OdSoUa$z>*z?R?$0dWg^&j&1XZb#PU!GrgBu~;e$({A+j^t0#uNa@W4V}QJ^Y}}McNgOOiQiU; zf9pnMK85%jsc*;U^ZMURyz8@hc~1^vE6;cp`CM;_|Eux%)bH1hNAY|7Em_gEU(RJe zpS}nD`Dk9x*N8WR50bO%ku2%t=TsMdK#l-8MBD{8iJJ*KsqgB`Q(XRLe(~$rms7@TLY^0egxkJ0KRNrK)8q?}r%5k=_0M&@*zqy1r@G_l zvZ|Q3*oP0%2h9gPX9akA?8N?+-=AOm$8_3EE5GC4=7q36;o^X6Po)nJ(1)kvQ6HB7 zlee=`d4Cz&ehc9bPg>k4$qBuC@QsTS$pG}|nilOX?)ZZHg7E|$cX3hH+PbwTb#Dor zK6JD$YJlh(I0$)TuCJa_0f7q9F(a<4c`8j%Mrd{2kyzWta@vXU7zBt@k4HEaG)^a= zgY3EhaWcVLNN(KR1s;1{pGuOn0Y)OKgbFA5;)x1wyW|c!?cHpSev?dulG$TXQZ!ok z64~JDX*DG*&`W}F?!zJ5Pcu?2n$lR&$49DB=?1r;@_ju!r%AOvjGZXPtRe`+ebVJ{ zN|Egzc3HkbNkH7rc0!0?;S)Juu|$35$|OyfrD=~FL*muMj#ud>9eJKLw>GlqQK7k~ zUCjHJt%begR#@(7nnY}aQCwC}ho!b7r{Gvf$d$2OP*qT(p@zCtbtErmQY(9_qeEPv zniUK*z~&Kk!LQ2l&KbpIsSsqi^=oXo$(YoWcoT|^ZEUD)vhsUIBn{xiCYPT|PLKX$HG2*DHAJ6F$-qkOe2n#=Y~?SYf^PIb2ReIh!SS=F;CS z$in?G5}0*_E50&$WiR=I3-djGiY4nUQ^MIOe-8qNihP*Em}G|28sQpaNisMszY~D~ zOOI$}*_j2pSL<(aPy7egWzmCrX8hB9|M3+5)xQ3M|45ULhvz4&`P0)L%GvhV{AA&i zsm1R7zK7wH1+Dx$_ZyyPXUJRp-srdJ>boAVZLesj_tf=4H1ET8=^B+M8ufv1I<0ou zzop4bq1|SaPc-Ut=$GjozwI>S;J-U9b;qL~Ka03%&YS<))Bl*bXwF67^6&e;mnNc7 zPya`czv#P8d%f-dIIZ{%>JtroQ^^1Ff5o>6@gpJr6XK$QJ3{=E#P2>0+AXwC{n6bQ zs~^c}&-y+VrZrO_-nhtZFB5|tpx4alXFHZWt6b0OjaLrE`>e&M!HjF#GGpx|8~7&X zF1S_F#P9`^iOijJ?!jDJcW|+8zOsVE+Gbb21$i-Q$r|l)cHGY2MK1*U7PmdW*Vh~^ zwZgKRXQidt=7J*!8YWv@FTtfMW=cAMVYOPOj!;~IcUF%O%48gN))7{u+*5Px2+MI0 zAow?HLDVQ1K*LIJg+@6pq5)=XkbUem$*S0CF5}XD;acyp?2ZgJH#XaaA%bcqu*y~n zwi9Rz1P@LeMK|DXgm17_&3=@?ZbE1UDw6E&ACWsOwx=+X?5)%wfdNfZ>yW}5m#*Ur zHx9JqBN{T8WKRQugoD~!?Bdl-?U9!pyjr;Y!S=HJB!{v~%;)Ye09EG*1Yeg_C~AYz zLfK&FlwkiTs3wPSbQct?D|Bj~0;Q!}?*uGJEdf__Aat5x(s(dM{W42P@mM@HXneEX zGz^)*+u_HVXdWjYI`*QCGg+}JNM$Q?)}02FHdLjtAyvDQ)v0eO-nbg&0tj&2;~^OI z+vq}nYDn<4u?aa5ZYNckdtU2}1C+B|FTJ$Q!jMn3u>LA&h9=bMlUt2M;AEXkUm92RFO)Z!nt3QS|2zvBB4 z9w0Tsfg`Ff8!jUF(~L`~DaI*FGmqU`lMVha$m{_^;JmqOlS_~&+Af6((&ubRM$yEz zhcUOWhZEeT9u{0FX6+(kiTXJKSj81h1yX`u*s8_-f!z024+dY1bnjB+=uncorbF#u zs3Lq2o7?S(>bRl3gv_wzD72;&TM|}9emibE!t$J5w^_`ES=`hBP~zc8_0ROk(z5hY z6WD@i**sF)4qVvH&AqF@;3P!=LpWg;_AaJqKph2kZiEe(O5963BRw&y>*&FDs2p9e zMfDo^)^HG#vDCgZG1>-+fH?x(PsWi%B#|l~7;~HkjJ30TH2!L?HZq*D{zR!oSlnB~ zp&PEv{bVAlvY0tU5O_cXwn z#;h%axD6-dlilTnf?;A5Z@Bmbb)QIXT+1Y=F%6-yCNN^Rkt&6i0>xW;L^pY;qbkzr zLMb~+K8*oMRHw*Gezp@U@fsYU>Key2*9(f*YwbhU15Tom4o7z4?K!1=cF%N>>trGy z%G1`zily?xScF2f7sYeGtgrS_#7b)mj_-%d6Ne{cq%q!tH3-YXm|sq?Z_MvrXl>~s zks-*y{{7X(Ep2w(M*PZ;zU%ykc!9Zh;7{b=oIm-Oz>5`m1o2b5|D~3nDt?c@i@f7= zDD&xfB#S)zKhtT8`r7PV{`hprB8z?Kpbu^x%Nd_1kKO<28Y%vF{*1-Reeh^EhjL_- z`L=(bpWOPy{N&z~y$=f;$WrGN3O!z#u=vS4zwhJw`ky%eIm!5mUmYSY{__#qqQ3ss zkJCgtnY;eOzmE|Yzx%xqKZCgV&q>Nt{+oZ~{AVS^JBW+_d@%5zfAhmMSq$Wgzsy?CD|W;lKe5f$|yeC+v)|tX4WC1)TqY-%b-=lc0;>!4~kA} z?uq5LZ9v9Q$qi{%S_i|l8k37z?$ZfA2^0gR0bH2OjQt80)m{%EA-b|8f4UNPs zJ=j29zTIr;afVWxGAx6UF#^3a+LRa>r(L4d*NANJ8*}+V1sOY$L6_|>a{W1Lp~W`{ zW^HwkrLqNz{zvwGG`^yy^^);IeFeE_&RQ6$5h>-G9JYD5fHyJ)ndH!_H+*Y#VY~H^ z0~=1yPwDSwwn-HtD!HZ-?20lAgA5i0h<8Roc97|Vgq&R$S7MezfU@X=$S#=)ZHOeQ zD2q~0SJw;oa0#O*#${<}vlCAlx1o0FB(muaa_&MR{x;YES~u?g$1#S2GO;2z?AWd% zm#3}f_`1jkMVQ9Uv}gQ@azq{iVn-0L!n&^Bs81^z6c%_AZ(=QOs>6Zb z1b7Miz&ycnQ_F&glf46(PnJ-glZx2E6lgZlq~c6$m|P&?bYomy%85S77lu2s5k3d; zjYhCw7-B^f1T#=$Mn7`_9+S>k_SU^?T*6i;Y^U?`3^INZgf-r6N8YGe3M>RoH*=<8 zv*nZ6C-^AP8i8jHr?J(aKp+|E95}zMj9%KEiwlix7Bhy^6D*}dDouwtf9NsPS&gVb zD{y<5t8TTb^Hflm> zBSVHfC3rNUhw4J93N>L{iB?cHOua#w`v5;MIaGm-X0%_8$WvN9`zBG<`qS zbGyuLjo2JkISsb`_BCDKbDgr>8o}=Q+ya6^E;CjRtON9R<`fNSTg#yq&H9!~iwO{Y zTiOo~1lpK106_uj7BjpKrCEJZbd5QtF(M2hLQ}EK5}TUv6F$oM&N}I&>dVSpt8B5b ze1lO|E(Mz+*yO@!xu8#5E^LXrf^|;&m#;R1lKodk21X~PR1Bu3tZ|`3Wr(GRupxQ@ zXT`qp>rUs3NBHF*IF0-!bS--H?dI_Av5-!As^Q&|-kdUNq;+h)d`4z7W5RxMN`)(8FB7dkB|6_zgW09>H5$4$u|DTUvLy(AH;??>7)yhSb{X!}*Nk)q|?gl4sId zQ|U+b0k${9!>J@IzKM*8(|%D$g!*=6ynS{rntY(JATUeay|-2vrsz&v@WY2VNi=6` z_t|JCEMmeoU0pC5W_V`49M%kN>n3twQI0kqNG!PCMoUDfN)lQv^>#fC7o@OB+fA(6 z3YE+@BK8~rQZlb7o-f;p1-ogs;jjtQfx=E-zhkO=WKhnBv_khpa&R5qAamNqQF0GtilC)kA(CNyX6&G6j@yLer?KHUnh}Tl+>T_M+k8N(HMHfZC(w?^KBA6e zcnZvdK=?Ce2Z|~UM+B2)8d+~FK`HT>2HT}!G^t}@?6)%^<<^-|202^z;tW(sC!&yX z&#((UO=jus2~=v@y3FP>T4wjc7B_SeSz+M-_htE`>7){+#}OeEG)hK8@Lr`k_2To{ zcr=H2)I5hNg@XVLKUjy9FxTIP$-F`9gbLGFCKkeP+lwI@3v5lU&Q?RMM$x6#2;;u| zGC>5PMkhrrtSPZf3&SsHGAIhUhCS?;8{zz(EfvO-GI1uL(-`$IL$;7t7)d5nSy_V% z-5!yt$<#g?(^xQ|Vaz#ZqTyCr)~Ze;g5#{H?EvLritY%)Jxh=U!=?H*+F+Q{-+6;5 ztn{`_CHDqKU{=Bs1Vn1g@-rJ8b#S@SrG|QnHsGymNzp1+dY=0w_-%R?d;Yb0k}tfe)Gj2v!?3$i2Acr%YX z{RoC*T{U&JKG%&Qrdh8UpQ(PGwbXn?_u{f8`NlwdJaMGM%#WggiKCGwekd|cwjCYQ zo~pJ+*jMSIy_m3LZw$JBtT*;I7Na@N`T4BK*kzrFN&#`mY~e;K)XU+HtAK0=6*4@f z5|puQ^yUMLoZjs^$LY}+|Kqcr{*3V^zKec+vf0!B&NCL9O!v`{|F=jldUW=w{{4w( zJ3ai#@clEyW$*p2`3uZG{iCNZHW}&n7JB?El=t#CN>(x`px6^Ow)@&?4a<@dX3)Q_uew@>=95|BS(#Jp8}B zkMZ~8A>NtO<80a7HyPZ}*4UH;($1Z>OHP;B2&T@fGUsjgL!PE>(#TTWwu&ju<)}^{ zB2lRvY7fQ;VMFutba9(RPv+~j6a9N^*=Ds4D>PIynr*Y*H5KE=u1%dguIk;he#fRw zUEBBcbicT(j9B4tIE5Lri-k6^G=#Ur%xs&5zH5@zHa-~cOpLNhAt%%dn1d=L4{6lp zjH?NK51-`yH5S1S8Azai111PKSjO4o^Cc(h)eVw49CIE3#W6H-SY0yhMRwT}ly5tyE zYSfG4!?29$m6SX~kuWg1mq%}G27cO_qeVH`=I5RAazqX59r)uDt3Ye(eLY0D47~St#P1gsTsc7Y0%HCLxxE{JiE6V0L;??GMag zPzkw#f|+T$*bj_TS;N>UpgjqPHVYKCa}>c;lQzp9Au3ZO-4v|Y?=>6ZW)OnULsiD!ya;#QUOjyU_!X|nx zBQr&(n7K$WiJCK z$YvK(aiQ#_nU!!0?!;hqp8)1^Usu+oIQB9Gs-;E|?~hj}blPA&>z{-Zwzs&6DC)L| z9$2Qp%Eim1d?7Oc*b-KSCk$h5hrE?ft;)_97m@{lBa;FWkEsc6$NNHoE zqS;}|1gaXFMlyNzvSv2Op|;b`ya#E*lrsf__^-y57p70$$=)2|#y6X1>e?f{`J|@h zumbT&FKZ^EXi$B9t)ZKz2Q{+oD-s98VkhIxWiSUeb+<k*R7wE#Mv$iT`?;}qN_$UqHg8z4Ykr2}8KT1U;XF*%}0 z0!dJ32^a0CG}i}5pkB}i81hu|?Y|CO?z!X;=RgoaXux?yBj4~`r!^yasdLLS&Z&JT z8GcvYyO_QhiuTk=Oz{jwy1JM~zs0+JD$QwkomFiDpBX6JDRD3i}ch`+m@q7HOc0P1&UasnW zpb%HPKUs*Y-5)5#)vmV{;)2_4#Eau_Qz5Q#7%s#$u6HiU(`y_aFMN;fjN$()_*XyP z_4sw7_<20|^4~G9>*ulhb!%ZB*U$T>d!Ej>4~lj#~KI00y<#~?RcCpxp zg>TLEq6246?L&QAr;Do(Ur84yCj-mV_|p^5`s??fT1Kv)DOIMZ`Cn}cGF&8I*0 zK6KNEr{j@5@~qaW?Tcl99wRb{4-R-yit;kiQT4N{DtBz0k~qIuO}EsRK;h zOo*Q+(cIZ3tC^V3$l}1K!~aX=wO_)f0krLdob|Nx4P3^8iqP(2hN6X>hDEmH1;&_o zH4xOD&cRHKLO!~fK+5(5gP7Eh_Z>jf?M-NOZYCIS;!jLsJ&O0FepVuDtVnoxJX0~3 zaUnPXuZs^ui7-SZI|qdfi;70%_u2d+$&td|fr&%9iN~pXIqS;oR#c{!$T`Yd?g1_o zhjp;uRAI+Z!;yp$7@lzM(7HMG%tw$sWyY=mrwiv`X6!>|^i2ebbsln|? zD&ahnhOE%&+pY9V1j2CNfJ)02sMxAd4fo*20GL6{cW z>5VcD&KW*&Wxy0+FPw^65am3rS%2XAyCSzoqOJf|bGsZg*$sll!qiFd5IoGG^$ zGw{!_Bz781FPztx5==7zrb~9E0fZ3_?Wv!%*ZAwkUyZf_R>N#=-~?MiB0BoiEjR%? zHC{;j(C9Kh`L}yZIIth3dAtL|;5c>Xq#Ek*6YBEGr7uykU-+m|3=2T(^>GBe;ny>c zn>c8Uw7DG*8nTGtP@|Qd_c`R1oZlKp@1t?A?gO_;WWu)MajS5;8&?-hPai!yswqH3 zNm*5$m#G^3w}xE2(vbq@Ck5w0pqD_p?wa%?P_eEE`gRq2NgT49oNjqX*Ibb>ryjvNUH8^S z2xyXc_q7rh6$v_*6%y-2nkO?QNL=RyYE4*`jP!I1WsZZZc8##9%6&@7z*Lh?YoLar zH5hruVfDe=S3>L)J^lF6c}Y|m>}Z*qS&XK^)gs7b#|F7A;BYXzuC|xFvAzZ)i88?$ z4KWi|flobWdd8jKYUh>$t{*da`!JUx{z#>s8Hs7P@IISCty#!qt091t1S`2+}_6l@%oYG}Z20FEv%Cr7fX%WY=# zo0(DD2-#q;)~t(98h<>+u*4y5zvV359F8n@#D{atKh;wb^7$j|tUiAh|*&9nLj7_O!BEHq^FigqqtxK|7F4T@d zc(8iV7aL8I$uYJBn|y4Hc=7y_LR$hd^jQd`WqG2ZshHOn&PpX|;-n zN9m>S)AcEBPa|@eWm(**;!4#r4s2SdjHuwG9b8R!cOg#Rl>B&@36{NkEr%`y<|;tT z9&;=lbIP|dP4Q)J)@Sqv_Np!8d8WAT89AfVS`kmUX}wf(C!87*jltw#6|dYGO|F$9 zE|%J6LQ}07aiCd$Ao8`y@{j5&h}&s3M|L%~@fu6Fl^5w!Q*x<*P3WAW@qH?E3ux(! zKptS!bG;UtZ^Ra?Ig zP*!_!rxau2ts^sJ1wI^Y2Vp+l3ijCx=v|dQ{jnMX+%u$SE}-Y#S}bKY!X)C@7Krf{Mr0k=4 z5)N*G+H!3i8L=Ek1TJ>7<(AQ08JPE;LT=9)Jky4a)u0?U!2)4&nU@n?TbPp5$Tr|E zD&+7$e}~2U4or?540W(S?-Wj=(aW1030UA!3Z#ml7-wys(7WH*asK*(gC8S*JsZPK zH|kph>uTd9JK=yPo}3klLFtp*1Nq#xaZe8nOpa?R;)P(`925ih%o$Jp^m04BmMSGJ zal=~yVTmmh`xp|#F&0L#gx3#_mK)IA*O$q>WdtP})5Irf#8hK7UAL7Pwt%wf%4Msc zCzAD&<*Qc&d>$G#|2r3?OS)yFKPTcw$(&~YhUZ=(~6GopZZsylUV;~#c6g3-* zjL@>p#S2m@fi(=16RmqS;r4Rwkz#C9D2x-6p-8tVuMyW_NV0E6wHVN~J*c1d$!at5 zJ(&B1(~5@uk>e>Mu?cE2yvm9P?c&ttW1xpzx2F-v(gkHJ9fBDNYqTFs;7)Lyh3M1* z*82tnHMGxeXOKuq9arx%v+BvQ;M^t_E-o0?<)i3b>sAF{s>lvE9~TzCiX!HXH>-*1 zb56n}Q_R1P4wE=#6D$Bo1Y!X`g>}B1YH2C8sM0>xT!0>gIPR^+#W?P}LV_Y^d|ZUY z+ECk~Qqg0L=9$?7$OzpgpN=BCr%e_Y03;aZ_ped2JG}^Cfj*T0%i&;OG?Qv8WaiQc z2vXyD%?5%}D?eHx-F$_XZzl1+E~ha1*hE3mlGg2AbZ0~H)(&m;jV=>`nZl)}UlP7xM}Uu{&Z@zuWZ!7;=z zzLT;P9vm2BPO|j-Sy3U0B^5DX4ur!FlbO-D#~+b0LE>T?7s-u)vBT`q;cc&ZToxV9 z3NGJ5EEuW^FihP3$N8X^@Z^@!bmZ%QZ*3->Bt~ zyV23V0~38^R&^G-yotk4pkkvwtfXJ z$X3w0YS#zx{B{$ZqqBf5LIea^?UaaC(;$}dH!h}_rj(t^8pQ9R?xkLwk4@fVx|3B+ z9izhxdpCkXmL$19iqcCh{vw=APopgjtd!uRgu>^?Nho55nu-p5G-`czwb@rBj^$j-%@*zqw^eC&~>9I0i zv0=lSwDpRsceJG|%d3+@bXEDHbj7metCp`=wleuX7Ye&w(5xAc1EhKP@y}BJ^vs-j z@~0HcIB9j0f;q3Vm$Sb|rlwi5VIGs2vrc{%sb|ia{eBBh-lrt9PJV}Cvrhhy#b%#F z_F1#WtgJaBe42d%|J@%zA?0q*=3OeUR{E zD`L*9H&Vo$S+nlp)m*)LkiXIn{&_Cdyp-^ig)^5eB+41hcp3^Qyn*-&5wyym-Azx=F7tQ8SZyU9@xNYQ3ICjxz{n ze_x;1Eaqo(@4T6p>Z0a(FDEv0o!!|yuSvfz`xL3>%v+_jmoFtr>%8;yyR(Pi?epHL z-|N+=W%K@8={H`>`<3&*uHRjQ`aNs@w+Uu$vdEnIAJ>=7SMu-5dGl{kB*|bCvW+9-lp5t?lXI-$hpg&N)rxJNY{A zOT1`Wsv?tlRsCM}34YE>PSu-PzjrzRp8608XMNayeuMbzYt)`oe@=t4^UHiYS@q1l zg?|JrYrwkXG`a3Nsq?G6ncXz&YaHbH1rUE$^7p(Bxc`4BLAW0e^=~2V(>wHheOADKpEutHz zTu-EFxduNuMabW@LceF7BIIwnNWbTtBIIvcspRv>-p@Nj{-#x5;b&=1)5RN9l90dY zl1~0jP7(4qt=4NH|1${<`J2`(;pe>Gc}=zv;3+=I5MKR`GAs z<;!^AdWw+0sk4{g?Wep`zt^i#%T5vUH*I_|?^iYp`J1|4s^7DkHJ(kIEHbBA$ltWN zn}1i%YZmf1U9HHa^O`SLSz8p@IImenHf_`Lan-zLA%D~MPW}b?=Lmd@DAK@pa$@u3 z0^$ok%!dW9)IW;SO}&^kOKImTvzoj>1uqc5J*CEhG|%JH9Klhow1R(<%u&*x&*O&t zO+CFdaN)}V=Zu9aX6P4Y`rSTneLqPT{XEf2LD6L4T}pDMlDvv{XA;hM>z^vg8?q$d zRgzRm-psqylKiuhyf;hoIwfgUl0V3jEaKgw&&DLDo=bHzmVJfz^;W{i`Fz@Jd#QYS z%mC~6cz^m!`Dez(dVj_r>*po=Nl_%=H(iU(X9ApHcD`XN>V;r(T?*2G4FFT6YsZ_etX%adKSqMphK)OkQ5CQ}Uh#DX) zB48tn2q*}MVNpR4aUE2^1yod2L|jM54VQ5laTx~{{V|G&yW)lp;;y6I_x(;)Cyw*n z|GoG5-+S{sRr&Vwo$oAls_N@HoLzj!_l4y&He}(Sf%8ZmTgX7@U=;2K$Rq9K!oB#% zBW-G72WasK)E2%A3Xin0h1cUBk3b(}xuJApChWR1(NIgzM2+Yn{EPelcg;lRH%RSH z$wss>zsQBzZ=Od)PfF&aSY7yPSY`9+Y=C`uDKvSx_Q_Ob-iV6$uHgJ+^2+U#SD=s3R`scrciaS#m8vX?$=}cW@ z_!o+xGj*xqKb>H}wzHtWsGg?mV%j=`u;WafG0X6`u0R<=M7Yd;nKsYv4!F{OlJw=r0j_eUE}midSJGw-Fg#mD&*}if zwR35|!NyihhJVcokZ-hqqVD-~0S|Si&V%kn)NQg?u>OCde6!t3f7UJny~Wx|_0Z+6em=F9{Q9fbci%#pmn(#FHFw5G=W}9PVk;JM5SvQ1|;S(b3B*Y*u zFhRr$ri}fZUHrPo*0S)OlP~Xp3;3%G=8>+qiHuXqSxuw zt1K*~!*O7W1}>_-5tG!1KY^XhzG%ik+Nm#rYhMdEZ7u~3`%HuE4w9^xW7;aAXXX~(Mj zpqdxHkYdg1WgrD%-iM@(R7Zdmhqs~S(nhH`8lfzl!E#2cIY27IM`)l$wF0RMCun-S znuG|%!XKcPX~(IlKx)HlXkdcE4;qZR@I>^*w8?4}bQ;3la85fx9fZG);e6CIEg{yL z!Wn4(v?;0!1V)7Mvj`*YM3n&29L}b1)74ziTEhRJ&P>HYJ3jmizJioCOR7CFd^`(1 zRW-m)B3#09PE#EqFfDvLy*^#t1lr8-M;PI0trDF%;V=y>Q@g;K7q+Q$rrL{t3&Yn_ zY`MAzg|>#V!<&(|Lj4M4S$HpNdX8$wzvbblF(ss}lqOjfE~N*n)YGWkn(&2e({t5F zP`xPp7Av<};cKME+VDhl`n2=JgLUEUEN6|vH=~Rz!!v05d{u*THigI1zy&G*WOH~8 z%ehcpiN@Fx{+>D)N#(YN^XS{fQt0;ZaQ1^s1i34G2jli9LGBILu+X)FJP`hx0Qid2Q*GLJt^b z4_12NDUdfuGBW4i1<-H)1?Mcrh)0ko5KqKE^LZA2!D|5h=3bmdid{vdw5T}+c-n7XDG>vpy5r_{{%KyJWiXXOqt< z;%xGhCs<|$%pMHUrE5iW14T*QMp3Dx1j^jcAY68z2tDix?f#umP)nw6Calp7iYz=-{fTLH#xDI zv)Fg8KUK6AQj1<*oYW!~q!Gj1ifX6bKuL2f2kMPC0`!}=;w(y!0MMQh0*AV05$$hz zQABrpqMs#2#r`D9XZ{0IPHo!O3s7qZZ}yC|TjiSI;5np`wvC>f4u0Tlq}@iPfE{AU zw-dJQLblNzjAYQB3TtV163($p>F8aoXrBEcr?k82TY;U+M!1J?v3)$d(w_;J*^i+e z((a`TmG+CY`4{>SGtybi)ga5nuMBew3%Q^5FdJy=!Mngj|HoOH=^p@eFa)AEVAFzm z8s#6_FY+JYoOAehvWA)9l=jB2B7g<4Hkb=Q8`PcSc6Q*srJ(xFN>7OMqZX3TnNKl9 zZyqH=BR!#6Ng=T*k{O%R-WrWq*^}wqN6#bJhCQ9|$AnG0g~2;OIAE`)f1ePx?T;9T zPYDNYj;6HF2 zf015g_o40~+KkzAIkSCDxYo{L!yYDFXRoK7ZwNQouhY+O2{+nb($04r^iB2-+W($5 zN7xnz$`6E_?X&6skAz$7x7gr65gu=ULz$lmPqgo&5C5jkguQ|AuY{-B58#~k8{wJu zD};{_o)ezUvJ6FJUij}UK*>dMVR$V|ND)qJxR$Q^1X&iofORtkSss3gh4=+o70zc= zQw3QQ9?4=XK`si$1s+EMee6ik+ZCWm;H$ z0z5p4t(BuVe;VNtl!%D38D2|E9n`tt1j6{CpOKa;h#f9~g|s{+6JfXq!_`r7!pjN& zhMtQ@f1K0u!sRrbuh_>6!hLC=P)rwxFJL*H#9EmV`I#1q)CnMVu+vIZ8A27lnx&Vz zeigAEon60{Fc4*`D+B^Y1Yd15(z>W`sGOHpp)R7bkM=7SrvoGWH7#{j7vrB9u4glJ zQ&&2q!(-4OZ`=t&ydMwm<&rJavQDGsC~kG4`-Pze)0r@0=csVm!gro*sirI1HSmp z5YBS>;Yvymbk1!?WG_SBTk-N5IY77jr~#relp3_h&=Zc-dFLO5lNwEb&AtY zWEb1EpW-z=!mDRmy;>{gHqac`XIyW&M*6Yk`m4J|0Q=)=54r5p7X zT`nNg255LQ;em=5{>Y_JOdF(qYGj-nH9U`lVz9!GXb}irz9kS`P6fF>X)DW!e86Ic zs6iq+%oF8WR*P~nhY?PAev<>hZ?e1jP4=72D=>V6fi7Gf+AX+x1)uFib#W<*GPXx6KS&Z_*5Zd46lgIcHSN$-t)lp z^MLW=wz2@g!*G^Hf&%kw}j%8|B`V%zl7ohAk>=IW}(dV3jY}|l-45l+@5KY*2CfyoJ zIB0XjYp02Dj(rG?07uX*V9znN??HQCmnsAvNqs?OpSK80g#b&}) z_GHSBBpkD!Lq~E(6Rx%U(S8fzI{O+lk~4;IgZ&w0#u09`zei_qPM|+cb_->u5FTL< zM{_z;Dbs8(rvKA;X=||uFqAVWGu|G9hICG%%tVA~E~Lz!G~I;}Gry*XJ+`Ape)Arj zrI{Hh-4_@pJ+Np1G8@1$FQ(FLn(~{kfsipG%i7riLFC}d%4i#0Ss8k8?L|zoZ2A+h z2SYh4ldx^`_B%^nI$+?Us4OWy$3B-b;z6FR5Vx!li^t-da5mv$yAFdcD@?e|Zl=5p z%u2fhVd-jB_O)o2Ea_e`y9?r+CEcsm{wv{*^r6n?EpL`|wFY}10+Ut10nlilM1Klt zzX^|P(EwSUK4e|(OzYpQ>srWWX3&OV7oi<8rGBOz<76Q9!&8Q*IO?5OAn!LBp>(Pi zVvx!V7&gp1DBVj&D6hHc-FdytF9TJTihp=nP>v$h=AFQWk?yIs&K8BG82bWha7(HxpwZ zfPZ5_@|zbR8eN`7_*FNu`+%r67vpt}xYUg<9R}`vDwct92`!Gne4(P86*F;ltb7Mb&lDNP z0`N*y3#-%hd(d71t($RCit!czF!Xzt?wi5-L{p^ZRTshwHJ-(&T`*bxmPN~cnZZ_0`mv1aq=?J}b05A}!6|4omTeK)L}^@jC&$2B4QGQ1dh>AA?d^50!6FoztMe#tcj{Do23! z8)&PA*5X?~6W@891EN)o`+rU3>!|JvL5qOqh7En<5>SY-6{=4`BdVpW;$0xWhelAF z@4}m;f>|K5@qAb$6z;*;QA@dAs3zKh{X>*miIykP*MQa{%hOP2(&Qnc%VsS!)LFb; zn2M3qI~^lToy{VA>sPhZo?@uw6n&Yz#f1fc49-~{A)3~4;S<`jLE~vlFH{dY7?bz1HI4WixIP8w8abnRRDg9CPP{|2eiJRWkS&nbLB;@TsKYgFE*AK zrEEMzz56;ahd@CKgKDn-bTn#L83SV^7*kwJXG3I6$}%|62b_uE7?l>FlK`Ealrg$T zL8Av=vsNBNW6lR*n=8~Rh62?_pC7?F6C9(0$s(VC-}zqDP~FevaQD|>Xbrg95DNEM zyK#>@7G0@CjZ-nGRYL6?G*MqZ`chB5EUoqJ=vuV$)3mW0)+#$(qQg`SE^VO-mEAzQ z9JcF|G*<3RaE7~_@h)evcuUTBaIS^UY3(_x-snEVRdG#Via@;>(+#d9;@sz6)aF*u zy4OSc9sqO&gF?TLV?V2#0_>GEO<+}ofEyZFM!y4sOyHK0e>>;kx7eH3!WhSn+WbPH z9w=|I|NM%2>w)qXyJlCA^gt0MJ_aa!4WU!Qy&0$;C~wo`XF&DHct?+nD;HMoL@|#P z<82`d`H$up$L2^`VIZvdXJXbHXH@QTBXUi9`IMyy;y!RVZ9U;~mP&ZpqGM?R?OJQ} z`3gdel~Gj=XVgKurSgzv(T~&OLC#gMs}QZG;lee z?U>Uq0m%q-=>T}fPJm`0l!x<4)CvSTp_iI73EP3uq@TPJa4_%$B|5j3-SuU{#r2om%a*$|62@c{|1(AQDPy0j41%T95B;l{*`?pPMLHC4~J7@ zPXP-|1CkoQlQdk@0QVwn1~5F0)EdHpKm`O-YbpM_q_EW9w3il0?R%J(R!~Df1PU-I zEVUoWObUAr|0O9bwfXX5M1A!uRIrS;c zOZ!4J=Ub3cYUG-sc7hQ34xP;<7#&tdfUH-!^(az}ejF1pyuqa?Z!j4*v4q_qt`Xw9 zChGYK)o)sY>RT8aQQmi@+{6+`1I=%pW2D@2445hFM-)g&Tj?2xQDFwkNZEFrFq=EI zo^ghea{F^&UIS*)A(XNU?iK$CpgX3PQ&E_{#2dwdwYcj7jd@}oEeP6R&^ENAm4em` z8s8UDZiQS*xXyDIYrL!!cXKs&wP_aBf_6MKi-rK00l>%`!@zyW2#g1<82{Dgj+k-_ zw;@C+9}`Sj-&!;SOgdgP3&31zhFJeni|U74LDUf)0QsWTK=}^G=yz4f^ zz_>KUSj8SYTt!i4w}(Od6wL0aV4wn;l8WjSS)e=u09E`Mj_w556Dq9Y60m9M70Oit zVAPHBDEq(!RR;prQRrUxC#y9L)M?e;`*yMegGcape01$dRXt#PAxAZ+ae^>$sd z#IQ%RS7OikC{g(p=aBIrZkJLo#1+3`(_M#?*)W8|I1D%>_0ZRkg~qH?pgfb4{F`301g8vZh#tRy75qAO_zdp z3}~F`<|k=f3@^qQ9SaWUJ694NX&xvtRdwEpA*kZw`6>|gV7&(>iY^1nna3zUpMDQe zTR~`&+H}B}(ao;=d?i+vZ013_dk{OF80F3ZR=fkMY(Qo;=mso$5hP9=J>CHz&0(7C zT%89pd=tc@Pr<^95v{T!S)%6L2CKTGO^}ZEg6qLV@!&IHUA}@cM+IulzKmk=Zwv}} zn^m4AYCl2-vM7LWK6RC5Nzu&RVwL8IL44`d=we*{p9XmYUp|-7S)>Bsju%rSFvzv3 zMPe!jW$EUv(#;bGH(@7_r_k=0>amB#GEq01~nC4904$ zN`O!&W#0;MDeE#R>v|TAvM!gh9wUbGE|>D&WO*~7$?}R80+8#>MF3ceQ5a*zj$uFc z`|?(m7=?UXs7_}8_4^7)Sjw^d1zXMUD)DCgTf=@ zy87;LkVnQ%{kf^YL4CYj@%14_Fb?@Z))&j-oTIo<@()R*AIN9Upnd7a}uiK;rs zI~`!Eo8$cmU`OY86EvLnG3L?3cb3la zz7k~wopw3ij?VFB+zK3><87kj7dtw~yEEW2N9TAC0bJ=kiSg=RJ`ZqJmd^2}%@|<0Am{9|e^^`u4qVWwLj*g&nyq`n?CZC|DRq_RpdsmI$xA1oy z(gmOMbc!_ox`!{-S>S<(e}keF_qE6J8L4050pXnVksqL~oYKyi%tlRsnBm+}0(kWM zkPJB2mI59#6J*dD3j;x!2Njo1i}T*E2K}P&0^<1 z+MGn2l}-+ZVEPH8L614V5>8OQ&iMt?V)_)yH#)b_{#4ROID2Vx8sTQ=$}WIs5N>g1 zR{%bV@ObB$Lck{zp6HB1z0zk9PB=eMW)5vmGg2iD-a3_8t`6U4T5}mG!(o2AHJACb zrja9Q@K%!|8WE{sO2i@}HcS|1gc-+{<^&>4gSUn&wzVC(KLq3`(FsPF2Ja#{5vIXg z$Eq)I-Oh_JrNnBMH0y#0)8MUI$qrViBgnTgRzu@UJ$)GFZ=I_;LHeQy z)8MVusvD5C5vIXg=ZOdFB20s~)~G(6-p-nvLCw>82vcOz z>oVySk4M%~r!5VhJyp`+t$7@!nYJ~bX^gt_E@;3a?`UZfmEg^8ID{1i7787Fx7dV_nv@?Kqfw_Y6sgee7ZG8&7 zEWQi0Zv7f$Ba3P9);4->X7M$ubsG%_9Hzlr+X>qa)8H+g2JbNM)w+}Ind6jlM$u{T z4%6VRyXjkj!!&s79>T>A)8MT?6E1TeLn+q1bfMB=8oc!v`VccRSj=vaaF0|fkL0nQz&ekW^48oc#JUlAC9vltwc z6p}VHnFep|O^DD8Pl)rQE>%J&Y4FyY=ZesUp3s)0kk}N-%+1zY7o)xo)8MU-6hde? zOoO*RCTu!PgSQS44mhhh<$glgc0R({`jl|cna<#SMmWb|8oc#6$9JB?G-uZik%>@(h4hHOe0K#w{jHcPb0!Kcq<~x zW`t?*RtNPM{skgTgST=8u_H`_xAGJx!eE4H@K#5~2`?wYGI%CoH!bt3&@8oX8N`o%POtF!AD-+xHSVQ;5azFB z^4D%MER9^I!CN)$lDTDY*LVUUf!x`GtMy!_!CSS8$=rVPSe)g`!e1onfzBHUBbRCL zR&T}2YwiIQY4uS{MPmguXphUSHVxMsromf%6|Wh&OoO-T6sMhBJ`A$@DPGfanFepw ztLMbrE}B~cb6jt^MwkX~^;e&W0LPqo$Yqx6%M4L+j_SBDPM;4{j(^fnx(!Dmz)ht@S6rom_EGaSBRqIF;3{Ve;URP?=J4%hW)r9E+I+sf%p7)r zu$j-dmzl!_3FPzbW#-6dQEIK7&$pMEqlh%v`Hi$Snn;tKe-)82U*p_t=kFony}gv% z*h^tqF5Y;1`82rOfQQ&U4| zjnJzc%wh$Kq`_xobI_aYv>8?Gd<8mfJu7%B`jZrwrB|L(T$YRgQx@}@9&nhpo|R2; z+xZy2W`$pZ13`yr>sdK0KgVI(dY0Ui;WnIb2hs~1rmbh?a?M=qFl{|6pKzJOwDqh4 z%2YZ`ThHo3xXNMLx`ty8)7CXy>o9FStK#tvyq+^{JxiypJ4{>8(rN1s)7G=92O|hg z4%61NV*dj_N8~eYJuA*|;pH<@l^Gi5s@s9HQ75ebahAz~BTUZ|>?VfETy;BriwN<} zq_p{yNg;Zy=k!9!RSyQ6_~euCl7ra<4Trhv!7!hIn+|i;gA$^E!(8>CgvfT7s~*gy zv7p0T^aGAqg_299DD;?&l2b&33Im}fLjwBp&n5!NfO}N%!u6nSAaGk?k z_23x74GweFgX0J{I^UxQ1W(Yd%Ut!K&Q*7YV>|_?Ql{Bqu6j`Csyob856+&g)Na8@HHH<6d$ z1sPgiCRo!M+Zp276bU$83jv222VSyh!la3Cjt}h2V7QQ(-4f|=r?&Yt+^KCo)pR|d zhKuxkYVItCjp8x1VP{!?qYb9yXJxP?{4fOFP5qPAO>v z0`0!`>@4~JaWPOTrPgRT0}Y^RHGDhm^cL9Y^Z-jtO%cC+VCd>;g7#a(r737H6-W_p zJKcb;fYb^iYD!Y8MQm!{TH5(GMg+BQW3&%auW?eZQt@ZJ_NVOYa+tg~GCT2ffV+eE~UQ}L+D9iAfE5j>EHZPyEOQ$)5U-Dvv(Ku z#-a*LR-y#C=19sSgxqcy!n;P5O34x=qo$( z+%x>77+#Vz{FKWX>*IIMFOWM$Q2h8cZ-s@A?mAQiM_M2z3`=gA&)r_yX4&MY5lQ+R+ zl@25s)1Xmxep2pSpgnXTY42v*>j~W{;^PNhU{A?dYy=VWF?{?u>7(X62%VlXTr~bV zZ48I_9I;V=u&DD*b_o)DiH&11iYk_ID4lQe?(PTZRIg({xKJe3_}C~2p8*T;69KFQ zP!I85NNZS(EQ?v7T>_em8|D5I=q{FME(0$irTm?xNYynbf@w^*h{pQ>ul{o}G?&V7 zOj$oi2X~nScLvz;O|W(qN_tY4&TN5R$o^V^tN9aPZ2`+D@6Q3STl&Ku5F4fRd=Pc% znzJ}ry2h^tUh}DI9u@ISx6)!gqc&M0pR?Y}Qre!hs5yU2TGTin=2bJFP9;P$W&OPB zx8ZjZT^O%}F;?d)m}*z%`gy&W>b`!V5gP)D+aVDf1wdDC1skSN=ALOF)=Bl!F%?(8 zK{tz3N5FpHrf>3%uDpn;5(x$G2l?BRQqk-ItY$gXAAoTb9cVRrmErdqskmw&ng(si zRU_5NrtR|e<*>9`ENy~Xqm()q93526X@*tZq#8dBcx(&A8LQY+0G>o~M)^E+T6Mb^ z+nY4DBWX-?u1Olx_@gxTo@dP1kYc<@W8G6Ye}2Q!lm}XiIM%(`8)m{d0M#lP{DP)o zIn}!gE~)QWR|Gm9gDP7h4~p$tf*q>?tbc+Pn+QNR!CU3fEt38{2Si-7FcRlLRR=?J z_{t+TAME#`+-(T}nQFS9z`=2V{*tD3Z-K6!7KAaLs>{JWNYym}egt52@5ZXWLRHdq zRZCz_s|thbPhC|(uVz(!ycoVpHCA;SRDDNb9RbC*s;XEo{3;@z?064B%7IjDCjhB+ z_kXk1&Zn6@py@&VLb7yW{4H6!pdSM5gFOH+k?7Lr^p?ys7n|3IKeTX>h4Fv8jy?E$ z$7<+UjdpAf{+Sp^_!p4zk$Odn(UER;0-zfwr2=j?%aDtKXiDSQ7&N+ZG$#wI<_ej3 zT}j~GY9U?*V@COnjM!SSL887Kv?Oh4&KTN|UZwFxz+?3gucnQ@UqP#x7R7-}p$fLvT=`i}sB*|y&yXt1h-Jo#?m zihLu029G^}iUX(=Gp@wXPgq+c{yLO7f+j<`ty{sY5i5q2v`ya=pi~EJjrcVLp{ZL2 z(gc>X2Eb|p>j2zCU^9Sy00zzjkoq&vH`envgbrra`Ue0EA@CG{;{e2uf#osq=AYUH zRb#}LgOmX2GfiTyX8Z!sW`o9*bp~=N&is`ct|Z77i?0KF5!fXzdkNXdXN+$GV+9z! zlMG|fcF?3TP@%?eIseX(`So$oTcwgian;s6Z-z{G7sJyES?A7>wd5VdWvzRXXa>*% z`T~BE$ae*2ErU5 zYV+$5u6qZhFJZUta{vyG{@>$-vD>c&g7D1P?upfdA!0268a(y@%EzWb*zIT|0J5V! zqkZu%)SRm4fOQdCD7FfK^ti!X{BHtQCoZ*?qlg@kX0fbd02dOd0>FM%R|nwl0P33n z>?hCy;1Ga*cfbgT?5UoKj^K!iY63Jd495_fXz+vw(9Qtbh}{EyxnLQwZ2%czV<>;a zqk6Grc7ulb6=C}a3aF9`cQ0O@PJpsr6V`G~xB+O>8A!K%>x3{~f#z`Bga~qoWvs!pt0qy2i^QY&utrVhGl--3*hrl~ zP7gjQQVD`B5Q+t^)n0Z&2BlOGgcOA zU+Qki?37qM(-mV*LcCAzgsw$hdh$oR`%=07eGX^^-^&8$hm$u)Z2pl*6&|heIxpO5`S-L^+ALJ#t1kw4z5(cg|4hV zN~K%A^`9>7dJ(30^>OMR;Ag{lzh($S-#CoRQr8p6JSdJ`17>_8nEyc4UjviX*JJZc z#P>vSUT1V>0eIhyj%IUiiuVNhAjtT+SDU8K`pl=}j_Yp9*$}I93#e%?hWHw>fnEW_ z|9b(yA>u!xfHPc8nM!58<~xirqpW6%re6TFE3RPR%tkv$myhd#xoXkf!$3CUWJ)aDbrd4sHhgX}&8ayYgT zbLCzG+Qj}akXpYH!@cq#c6&bZiEoA-`rQaC2)T^9_+LPzW8*bZ`uwAybpg#7I)JS< zg8sY!nx2h5OFA)vP8br&3p`q9`?s@*c(`_%CMJ5nnl3kAHfcX{fo)++&TG} z!{EeG>bt_xlR~$jL2RHa$A;<39juJ83F8X?@Vnmb-s~WZaVS9FmkN3*Q0>fJbmn=Y zU(w3lwDK|0no1A#VYKxq;E)q;37~i#3OWjfFF-M9NDSTPX&|i>RBj@h7XiQA#nC(C ztAVqXZV{UNiafs7r9Iq6tGU{xvGVNIefi+#DG>Fv_g)ny=lLKFf*<{t0r2}CK$i2! zH5^a_*5TZ5H>4i|_PQs_`&YRYJ=liF zjsZ@?m{kFB1|D=40JmI_Uqs1&qCh!+RjuBao0hE*SqGZhyr&1II=Ly=oM16WpT$e6I~UlF|`nYQ>cGdPh3D-fbM_|xS?-@Vums1FfWGzb0T=` zR%-Lv5bcS_a{>7{=WVEFEjCgylqES>2Z6_1AAME1HjoRj_SKJP3&5iX>|Iu04)5(x0CfP4C%1kkunEBW z9e_L@f*Erm+`ko6{H`Cfh0)L6oPv8tbPF)*R|DEY<%Lwf6xi#)VmXlESgNT5;I)lj zyewS_-I^58*-_YLSWMts0{9+=aRsW=^=z)ErpwaK!Z_zod1eT9G%-91KPi=u)mw>S zSvOOv`4F(`>1?c7sbA`#+_2)pp}F6Zjz?Oaka%Sx`IahaR_j%{p1ShyIy*8*fp1lI(oB~aXpq0FjtYJ zxuwS)a9FFszvIwO88{qq$0a#NEC!kkpn3oeP+Q?LWs%O=R^J>9cjX360N^@d#G2rl z+$ppG5Hphja2!4&X5_bXv6(Kjc@}hEbM5mwuo`&V!jNq$3&SH>`ey=cQz0NcvUJR< z^$5jA%Y$e_^;qf-*hodt)#j7H)r0IYY5q>=WO|T2CWCAc@L^9toI@2=;HnTobMH^F zQfLxoM7{D*sPR0jUQw|kNe_@qj{(CliX>fte+M?0O5U@U;YA7Hs<=4 zR4&ZdkH^Fhmej9h5=M+tX#sp!NgIyz_6(~u-ohje`_gy|L&H5GOv4!v{SU+SV2R;Q z9~Hy!hw>myodChox>68676Rw11M;44{3x>IhU#-+VKT#H^1X(QPUqtWN)_q%Ro7GW zDb8ReLMXu{wN&0*m0+hcLv@xnS6xa6=Rjn*h+y^G71uZQwp?k|^RS?0-<3;d$r&eO z;JqhIW9%+Yb0bBs1=VN`0Nwo3AdJq_@EdrcPeU{CBS;$KPb#`H8^Xo2DmjDjirga7 zb;LvL4H}<7dn}WOHl9xH1KVGuogN4&p2oL`NI?3+np1;3_QL` ziQNp~D2#~sb^zl5Tn1@&7)arD28iq(H9G;E2rhaQ`_MSH?95wIjMeNw5BS&g#nsot z>&wBs10D?M1z^+`%!hg4*AE8v0?4s7P~@Z{|#+Wz4Pm)@F}uS03eYB{(Pt z999poF^>IrA_xP4s5ktpaTC_y;q~*t90#lQ%K)5CU^Re?StxPEZZ z!|U$>^G*8oD1f^$1;*ZkDE*2Za;?UG_JGt|wWqOc59s6p-8`U=2Q+#>vjc1u z@sR97@r28X|Bgdzb6n1`zvIwatIIk0cbvuGoC6MT+RsdK@N~}ctcC;<7 z+=Fej=Ep&M*2T}l{o!8V|8#M9()>B_k6j$)$G!r7C;QA{0MaE>FiS96q5l6-^X6=D zN?a;^&jZfxU#Dq)d_Ob|tAt9|z}P<+r~_w4n}JvZaNdN(S^)5!c6^$vd)Xg!7lLy` zJKa{`57F_n06fiZa|r+%*(p-;s4spkXspaTf3SB4IA681w*&Ytnt8!h2{rs@{r7@X z;!;`v_kgqheKbvaar}_0-tq@^Q3}@=eWA&fd8!WGH`NSD!a>as!(^8r@PM8ZTy4o z7I0eH>23w?I|jPjJ>4Cy?(#qAz5veJHr@Dc;7nM!MbrHDkt0V|q6J(7fBl1jL*TsB zW+3)0aEFEe2!M?i58SMS{nH5CBy9C8>g*0a}0hazKd}WDgwWG0aEAn|NWBqo@y#7Uk6J`2{{UjT_W$BIO*&y`pMRNP!(^gcEp0$;R> zz-=k6z^$IZDMs&Ebn~~XL|^~}s^i5VWGemy+V6W-L4}WG_j)R+M)d$zJ*r+1ohm%~ zl)C@yNnB-AhYKNbnfhELs%hgq18;!_yMCQ*R3GB<_a?=(P`~ef!<885No+K#pDKaG zgNk|3eqTN$s{IVu3rdG{+mQlob&;oYol*S+EAytBAv%^Paiu3Q%&5LJ3W)=1jY#ao zgLv`mAy49Sqq;ABkECo9i8p_BCH8s}ZyVLUSxQ;T3nK9gk{HCsFF>W`x?xOhEP=@C zl+Q(E_s_0K;Se_fHyG7>IzwV(N+w8tU)+-zE6-2n?E%u!uBCCIJjcoIbJZw~VW-&v2SBu1p-@6hocoJV4 z)qF3ByNDekvHv?);tQZs%mLK*V%B$tZ=Z;Kci0ul9O~A0uu=Uh8+?QBSCP1%64SzX zJmN`oG^$fsn~lCAko>;gX=w02vH$-n_k4ce4zHulgn%9*Sw{5^7Tnn!CrSk$78un( zl!CHW?&JKv5uVZ}ub{Y5I*I-FQu88^s%Nm!%LMlOnju|X&4^v@QqCbIturX=^zS5m z_j(pT_biSys(Wyh-DmCt$?rQEm8(9?Ui6STB1Fonb1_DkGu)}k4M@ zKUv+o==rPWaMarG3xFd1YOJTz7gp(8ntzDs^k6xQ*?P8Lm-9G%V>uUiI)0;i7t3+{ zOGGD+%a{aoTA2Bse;`3AgjeIpVsRc#&w+Oftn*N&v#OO70p#*+q8 zK=Q#St)MZ5i{3b+=Ibi7JHAB=UpPQbrX;4T55aPZ`MC0~6_;``X> zu=sGim=|yMq3+S)0^WrpL$%Fd`OUvUHsL^)M}B!C!n)!pC`wEQg-3qnlpI8shyP=h zI2O|s5C7pr6=KB0|4rgygn&mu{)yh_auNsNBagzIL@ktgbQ+(y9lAWCd5KdHc^=W+ zDKEkdkD{$9iL;@@BieJyWVp(sXmd(p9h7)<8kCreHsw*!DNzc29vw#}Mj~iDibo_S zA;3I>4^Qa<3J>dfmGHi8S~50KfWmlm9F;hLxbtu-6L}Eiku^H;Oc_!)a73-dc0_?k z)~Li|LBrrtnv>`czj#D@Bt}A;N9U`iTmU&9)?SrpK+JhWD-tWmtx6mKiAVafg!f^mibUdi zv;mLueu@3?n@4%y#AN9329_IXqW6Wib{kG!hHv2d10@o9;B5Ir8n zixW9u@+e-C*ol8Ux)vqQ1(Qedg2a5pgGcfF#DzY*b;40RJMkd?@hF~?_!j?o6rYm# z8(M-#J{|y|Bp%(mCr-yd9^DJ4+=(FYDEgO51VG{u&NFr&k9Q)*R!kV~XQY1Xjq8@e zyN*;t{u(h1{(t<8RO)%~;$9qSQ^cMBt9t}L2kGB`T^HYv(i;Om23EU`f%(y>5>(jz zXq15MJ{lzs#K9K_k{^vq0j1qXqqs3}0wi~1V1h^iyacCto+{*10yr%?imLjfQ9nSy z+ZgyZs`D2D{!s+~&o&1BFa@)ed^AcV{~v7(yc%Wvw~c{6N73HKz=u&zvAZ#F2>s04 z7&r#l+ZcEgn7aRMW8kHrdm95Ymfps|4S@ew z8w0c1+>L=*l_2Yeiygx!zXoHSg!sFSfqx{M#j={3O)NNAYv+P0+M||cQeFSc{n=4Ml6f`*WHZ*+%H8*hr8L6NNx;#5PIImz}&>a-58jH z-p0UFFl5_p3{2G97+A!-je$kZ+ZdRfe;mPF2z~2E$ zZVXHhk{bgnl#|>TxDH5iW8h36$&G=pL1QI124>}w8w0b@tj}>=b|47??fP-5B_8fZQ1PIw-jt1G5Hh=UpJ3(%l%C^yJ3C^C9nU416CzzxgoE zSuC1IkS7pN!asLo;5PvJ&9`wDDRvc+(xUFh!2cE@exX5x7>YI_S5j{bTn?7stfC}` zcz;jQa5n}XF8pTl>Guh3e0~ur?UGr-pGQ9RSCOAQ!7?l0ZVbF$L^o2D)H^9Em6Sla z8v{QiLXUew|NNa$P)qV-25IZx6UhUVWXVTb&M9O;`1OF)<7f^l?DeYFdCb$~|({pcQU@CbV z0~7wgvoSDz^EL)1>}?E8*xMMGE_fRQ(}$Rm%3`hqSuPds7m?ELXFc4Ff$swo{U2v( zrriK^GYP~t2AdY#je*}6`A=}p`Qdl6`in?uZ=_(Z^P2&j#UMXGqYdiLaXUNk-U<=o zF5M!;`B4jf&H~+yfty8WtS2-#DI_*Uk{bh$w-L$7?42L&La_0%RKgz<_BIA4>}?E8 z*xMMGu(vTVVQ*t#j&E;c;BA1tje!Y!8v_&eHU{QU_cjJ5-P;(LHoc93340p@6ZSR+ zChTntOxW8Pn1kNi7??J_je!Y!8v_&eHU=i_Z46A<+ZdQOy^Vnhdm952_BIA4oZJ|g zNOEIfMk2W}FgeMMfr%tH1}2i+7??+!&Zha${g3$&G1$?`S^)_(DeNZ1%y`^7IJVPjy{1|5$x4(G;L4n-af=f|vW8ffG7k;w?&T{$TN=gs( z6{uZuV_;rhy^Vo~h{gzN&>ojtZ5pmO{2~%I2Ie)x+ZdSBj<+!|uj$^#!0W}_Mw(j! zb6jt^M%;~o`GpO?xq|}FL66HWT^=#LK=(EV7Q6f+5;g`F*xeYI7k+PJVDYJuP2Q;e z;}?;zF>pty`OPAnr5G-!f?S`pm1TGv12>82F`g*bvRagrIgD_^!$<7o% z49wM`yD>1=px(y7-y&rHZDU|rp2NfvsCgR$b4~fb*cez}%DC&rf8QAR5tm*Gj(f7=+ClRUqw#O;Q>je)uT}?E8*xMMG zu(vU=h{M!O@<-#8(fcG=;Ksl&(-J%6?>7b}nO{}9ng4$zyZ&x~vN7;lRL$KOn4q^Y zFh2(7Z4CSv=-$S_?*gu}x6sCrS8?_>2Ihx+yp4gsBkXMqEQq%;Fn_3@+!&Zha${g3 z$&G;-tpD5?IQ2XbH^Z_l0I)GIOXm;dgKYTVy}*J*QB4y3CS_&d(dFQ)-ypss<7bLOvrev-35cUS?UFUS?U_%3jk0_JwhDxGuC|+sDF0W;th%p#4A(z!h5n z=NRT?xKqxIkD%=wrvpC;CO$d2ZML16q3nDBr^h8p#`AZt$iRR z?-dODVR(@xFBb6imaDq~$)T>fs4q&<%m3%$ThLECW_nM6sRTQkBT!5*{Q(F^f2{!= z4dUS(7KTqEe!=wXK+gySbKb*$o4;rX%6kgKK8}VvkZc;M^y?5nX=+evdV!hyq}J_N zkmKpf+YDDXpJeE=npFTj-5`A{_=SdNp&lXs5HS7b2%IySxEBajaw}T!w_& zJ4=wMlaJ?)sQX5EA4*#yI?Jgu5IO~+VGk#DhPOacbRPN+4>L`h`&fn^rXM->v*>xD z9fb1?b1;5V6H4drxAE;5+WMge*L!SE8}Z8j+nabKYviN+KI)2M7z>NBzVfTpys%iS z6QsZ>Xy^(7hC7te9~Pp|0$0)HXt|WarjzFxzUZ5%lNmh;5%5Qsk!J2%@WP` z2s-?Qwck7*=j;z*AQ);;D}aP09s|^-64#-Ts-zT3M!^?|qAoUg4Fn4Z&&Mw%3r8<9 z@H_Bvy2v`X}0_?sRb4ue*7Dgu`god*gwW%`v-%-PB^rb1qq(IJk$6y1Y(s=`qVT2aQ& zu;PoZL$55Cp2U4`D}i>`(XrjcQW zx-*b=3tg-tNGCbu!K(f`$%<(fh&8DgWm>*gT8EN-IY>3JPD`enp>7ZQSJ4bjSVTqX6UQfGJ(<7awtWoX z36$hK9y*b~=+?xkLeyH*sD);>LnrN_fQ+h{V#-;t&4e?7Euvn)eu87-48jPC9a=Jr zig~QYQmrTvTqcER;WI^%!ppBn3a@A&zl}X{%Ot`nZvOUhz!i8x5(3*BGou3rG z=t~N3!h?j+#aeg_XP!&6@H+bZC&Ch#%c8ih=$5{m77V+bBXnImH`cqB1EDMXCxx%l z!UgPYSBo&)?3x4xBm&n;(avdSU@Evyisq=g;dBa&R(}TM zH1^C+!xt&=dO7wEb`JxZPvKhS?XMgl&P*S6-0H;M)!=*r!KU_$U{slf+(FbKBdKGj# znt}eF8BK>PPIMCjkrjOz++g$@RwQ}>;OuA&a5y>`mB@+yfN~?z3Qk1qGCMDWGct0Y z{>drM?f9>|0(R)lO1!Jq{db=frbotGBA`d`e!}QnfzZ20Q`n>n?@8y< zuD|cPZiYTOkpgdV=KR?0eSy%YD?xNlp4V!GKGQ`!#K!;J)e3~Z+>#Xds-3{UTmd_D z_$3N(OSsTCT0o}LZwZ^WSo@B`;^dECC9VC`&f3qeH8b=pfA6hF!*3#hM?oQMeF$n; zqMo8xEcpu-Vv*t#h8ez}{n2z+EO;A$qC4b-($x7><43bX0e7Jz(M}ghGdz~Du(VqE zpR|!7Vs`jwhS3%zXml_`S!y#)NzH=V6v<(AAISOhu}V|xFkz!uGnA{IBN6W9sq;0_ z4&|#Kk_HM~UwUvD7U~s6{zV@mUWuiy!l$)R=&XiA#?%UBo+7U?P?CO*m?s!|JRQ@TJ8skWhIdbY{LWi_s4dbO9Sab?nTLeFri zY%S)9dY*&Vx{eo_mpF8+vpAu@#!+HD!}`6!L13N5NWabgZf#)y`hY#V)3}q-?GCWt zT4ByvU$BQ-?_-pQ4zXWajckVR*#oUP6!?XG&Ducl2zye|01iaIVy7v3it|&Zsweyg z6+_bg#iJIVW`rWrfW_nR6YEe%X|Bp=GkushYV1WtU}V9@iNo-hfQD zqo1;^z%-eiH4|A~rhO1SD?3OyV1I(5vO~Q0w(aZCNwTx$*53YxGGW3w_I8w#ExCbt zb{L%_J3@MaeGwv(-QiT&DK;`!qg5NSJJPB=w8)OOJ+#P<>W3Dy(c0PhR1Vnl2^SEy zZJUl35)Rrwz)p52!a4SSG*)&I;XL~)I#J9B6xe-OaLHiAq1fI@-BQA3o!>&`vpe&i z)>K86oj+rJ$~4-kvU4FrP_EI!%FdlwlM0O%RCadIU$QGTnqS%Z5JTEkqtQzHesa6B zlq&l}dQwF=W)EQadJwL)N6?d=3lV@i+>NjW{3f4__|5(B+N`8=)g+tzvU_@WK7%Zq zfpXMXKP{;Hq1xq)R^qhM1wS$!>z9jI+5L!?D)Ncgr=D1mPsF(X0&fLOl=FVyl{3n= zqW;R#N)=sP+mj>dhimDL)jw z+0ScN*GgVO!O+(%qpS`QRNJ++cRg#{wY9nA@Mae|U}zt89BZ}{zc*-RWH*m4M@HBg zttW#)@E>UVD!vR=#~%mOxBlRY9)}=&&IJ6z0)(FOgT$W5(Z&`WMvw2ox&*9YNtRKa zavOdd2O64p2^u8zJb)*I?>=9QJ&iu9rUxOlL_D|-Jng}BdT4DsfJ;Wu$5~$Z>R{@&b4vqstAWdjqDoRfz41WO)t5+y``dgw9*@K`9Fwz z6X+<4?SH&G>0}aS(hLwX69|w%ga`}?BtVEEgiHtt6Ci}hE?W>05fK4FkxfKIWKmGW zh&&&Ur-%xOh=@Mi5H|!w<%y!ABJPMA?*Gr{R&^&)zrW>w{^$HTXPUd!ty{NlRaaMc zZY9$d-JYXY1{&ShGT=(2SC^vtj#OJSKLbI_x=N&b+o0QeNQEWQtdToUJ*3u>XjaP& zm0Ssdz7hi0kuUZ46~)g0&$}GM%`A(i6(@mTKnLtajae4xmC@r+W&WF>nHXC6%&3({ zU>|@A0*?ZiO5gzi%K`Lc!GaHfZ2?yB1%Mv_^!gq^=ou)!AD;ZAo$9<9pdA5iCumG_ z3lGOc=QhB-vhXy>HY!(rY-GmWhs0?R3nc=02|$NhW~im6^{PXg0@@pp8!R;WJCCUgbfF0&gBx8dN+R8s04&4r#4>UervJ++thas>HoB%k#YYwINg4PX@hGmVsvqL2mS*u9g4CV7rRNubfLxpio* z*$B{9>9VLjlm!~=+TzMNwG@N1M@z!?!V2Io)xpOCe_P{dZ|@nvoiHqV3JlXP)8$go zOC`=0aOiTR`(@r-0{`a9AN4E2m)RdYOuDgb%`-DgXblSI!sKEUWq9%Y-_T|d87tL7 zWZWNl>_TJ7RD>XOT};|WGP(&h3qg^c{Q#~eu=y4LJTn+cPxv6d4REIz`QZj zM2G>lJbADTy!Zplyp^!nm8EqfNO2wR|WV$m-G%Sk(4a=h7YLO}HjY={whOZaY zC>x~lTQojS<24$;QsbKyem=`?Rj`qs$VufylvsZbf^8R~sUV2;V%do(v0kjvuvqh+ zqR*ndg4;2X2l8G~zTMLdD-C~&4$yEvnLeVTjr8Lr?o)o7hHh)?V~KrYSX-%0!R^Fv z&j>vONhmag4D1SOcRhBG%x6VWh76wPOs;-ZO~=ji+ljMZ5@(~o&UJ%$Bh}&@jHtG^ zq1hlvE5!y4OY0lgX}yMjWsEfz1?;M2UcGmI7>!a`)at@KiB5$sLuciQw-kPm_yBh4 zbSaz#3-eOYHjQ)1oOg`)Rl?^(LtYtY5QT37&Otas8r2PblqdbF@X5f#;7KZkxH1fJr}^6sbs=b^6$B=eHMi-}AA_mH7* zKEt$WcaYx&FyJsQ<qx?r)3c5j>Zwy1TK;>;?Kd6`ukk=x#6eQj?PAgK~8Q5CA zX@0EHdm|(utS}@VAPUWc&?^Nc(0nO1pU|39L8a!-M(B*zT%<^UqdE4$dYVg!Lh}RE zJOrB8P;)t`wD}sXImZZ%28lM;{EwPv)YrTRXfZT@OU=`v`9IXWPisD^HD?>8N3>>6 zm38h#y6vH{XcBMw9(0-9ToaAVsi1Lc5AD?L?IKJy)pB-+pei3a014j72Pg?^b_{VlA@WQB$XiHM)v79Nv9@siJhVE>8#W zUZHMJM&H@Eu}r{F=!3_t$7LXV)*WFhlkOfFwZsSVK2rHml(7!t=95ta{sVl#BfR{Z zm%DJuUx`aPhI~&76}${=G_ZoV0Bj)eA%GtM^!ge=<`8I;b@c=Q1JJ~qF<@!k99n0s zUV{+LoazY8)j|(xA=QLg(6hu5S))Z>*CMhcvsSNzp3r9SIJN$wc+ze30qd$1e+*^@ zvd~VgqbWQ>TiD66J}*23&UuN(Rky#SO{P&Sj&4wP}A zWIlxgqVp91)OkZ)o!07|=&{0+;PLASXjYWoXH-23!?F`7tz|MDR?qJHS|;SfHE77d4jhVZ?^(h;HKV=#Lw)D22$Zn~1gBY&z9x(`GaF4u);LB*d7 z!y&!1>UR4eu4jr-?F_ie+#gld9evRh9kUp2$>(P-cL1n#Br4LR&q^yo@_%_jcl^Hv z5(T{h8~{+!UpN(mhvWbIptx@?yqy5G1>-^a1R|k%Ak$ALT}zG7a?t3JUp0+0B8P!d zx&fRpr0I}ZurgE*0$ZQjU5I8^BQymhw!K7=^n9uUf&)r&4)@*-DQdYITJUG%SQK!y zXYO}^BMxxF0Y1|}C<@alXN0>|1u};9I1D9f-V+WF^8|P@<>ILpT$=W-a0ekK(J*WE zR>};DyR!^I@y7}y%^rru$S z2QQK{lYxX-;7-aE&AA4&BG4$k)X}7;Zuq`%1bFKmI;|?40?HO$8ZlJ32>4z{f)i%p zMo_OaWrn+{o$XZjgRQ6y@Is zpi4f6a|HryG*}msVqSP5CCsYOa+KrqUVpII>k?6T(ks0WjM~Q{w0JZKd}z5+BrCC? zD4nVc*DYvNal3OTI8|a!d(2Sz&w<1=J^8Nzm`mU|fcpTHpMYdDNd5@514tE_qm*H( zPXL5IgAAYAzLcufzRP!@$pc*I5TFU@id593IukL2r`gI*NO;9N0S~UA$KHnE6%aIv zT5!2IOPj$N z_%`D2bOV204EJ$P1Mf2dpB$OyL7^Ncn0}hZ4{@U zrC6+d$!Er*b3`mQR`$vv78@)3$?4y~i>9r_LXMd2irGr6=pEc@%#D)$;tVX=h(0rG ze!|nMguq6NYHMIv%{sJf~U!)Q_r@1sHlk8E#mvbdwM2zbv05bGn` z+?%BAS`bSsc4A6KS=~#}#y3a?BL&*Fi?&B0s5Z;Di?+&*DCC2b(zac+y-sag{;aM1 zEGV$r7@{>kEgHXtu(I!I(bzbQTb1>wI{!v#eOk1h2S%w4Mm-zLlR&`+gt1j?eMYqQ zfw0p0jA)%et?lb+eMYoiO|3b9(VDNdM#05w{qv&r4p-~*qIDOwR@Bq_yl8!qT1Wgv z>lCeZnAZBDX#LdH`l4u!D~8qu^|Zcd@r6ZmFiMw!!Pg>gFAZXh-wG;+uK9|!6w33D zf_4GK^Irro96;v1koY&_c@SgxK47VoKV3}AE6-p)01USn!#ryJ zPWjfLJwo{afWwqOrsYe&0>B7R26D#ZvZTCVm(ozxOL_ETY5UhGs`}|;X}jGAZLfr= zA7xbUe=HtN1EX{l81;L9IwsV@CTup)>^ z+Y~BWKNGFDxmrIHtvjgoA&AVVa*=`A311k^drqj{%hK`g6TF zB=j-WoH@GUSeZx9L0UB@R`&4%C8#(RqP0$nl}V^Q7^UsOsPCj4t@SmnHD0v#gRs&X zFIq39){=T!<3;OSYOVOQ*38)$&J3tf4FJA1`Vs1#PREuZS4Qah&~C7~1YpV-9kii+ zpz(gz&ZQ0ItSs`cfJgf;aCt`PO)WpvrMdE%C$xO%GY!meg^bKe2u3Q)Yzb$}&T3l# zvgh7WyFWA60j6jmbVvhF)oKcz(6l49w9HdZf$sp^jb8e?4l@=W<1N#u;&5FB41UBU zz5!z+|5}i0fafm(um?c-LlA%yjX7kK`Uj{NQqCM&NhVxq6x<3twJ%mHHDpv(?gNA2 zS8zY@USO2I1d7xBSA)Y2(xhATs06um%bzr`+)c|an=v1zTf8Q1z zj}hmWMZkG``cS0#0`|DbH!KC8-|A>Q6L?-Gt9@6h9Y~zJX66aOuO-fGs7RB_IrHDZ z2hrsfyY-sj>lmhL%6}NN=fSLW7!`X!iC%s5x`O=xj)4`Lgfe_L`zmH=hOX=msCTnd z!D94(;Ii;Y1e)|X^iy1I2&oK2g}Du6KGb~Hj*)b)xHDglSHK*;5& zQGG2)>vgr9%2g>N^o6F4bZM-1Hl)vK&ee4}*6IV-;h`$(aa9YaZ>7ntCDRX{JfsxO zzz&YNO}v!~;&k{B$9!T4N+fTSNL~UDRhw6+)bijL)Al+Ff&V}{1ff-WPo2o&~fs6qpMpb@l^<`d*_d$@eAOUGay>q!9PkH|De`+ zV9=vFj?wBRplpWLsfeLIGNb+~ZfsQn<{B{Df;mrD`G-{56D(EbA5!Hg;FX&pTI-fS zq#@UUQMwI``ffP@w;a+MJ+huz?`rhOdggIzjC-PPBRm#6>Md$)3`YG%oJJjdG;YmC zz%{05{Sm?{&P>r-`Bgm|O<8v}KwOlb`?HOq6`*he?Fx;UOZd9sAV{2Qs)Xch0CeW! zVkUI7hgFI`goQEZgY0*CYKbK1J*VqJSwti0Gw-l{&U9Bxe>s{2kt)AAFqV*wa-ScOyeNUrrrf7{BqVb@sF+((d zNsT|$)0iO|y_L{t?ESNy?LncP&uFb7(b@sRs`Vk!+7EbTK16FuJpvttY8<<6pGy0)=+&)mpoX)~Labon4ikPu0`dRWvq*Q0alcXgmQ5?QD!Wi~XJ_ z8oNSR*_kIAtAJOYsi!qhv|d83KmSFm|4C)%1g$k+wB86|<d-P)}<=(OLjT>9Rj-?TbI`GmdJF5z#o>)ff?tOM&+cLQIX!h{gNaW)S=H&b$>G zG1(Yq#LB-MI2i-R11LWTPA704g!Y0tpgay%!Sw)+0jPXm+gPv)l+Qsa{p`=ih4zBN zq5m{g=y|*JfTp?gxKaKqNNrJ5`vJ-`1Ed|^3mwl4kan~OUTHs7w-*P9XL^EB8U&+$ zFSZ7SbJqf`b)aay$kjSfw9cj0ZuPVd6s;?%weT-mM}R_G-_%-%iq?l+twTlYL28{+ zPwP;NTZ|u2>nt$1W$L=1Z&oa#mA6BTiqWFc#EMx(+i2043cT{xdKyQI#%wT3YyPaU zJnBD4ZVfwUp>wHqx@aBjYQ0LdUI)BqDJoanoHH#xk=zAhUYCxDiCNZlQ1LkMjOv-# z%e>l}1-$QA6nF#Hs&Cw`wfIQGHGgO+D&VzGOJa`fb#;>lSk zrTXVi@#I?Im2b03$g7cdr^L}CV3d9YM!o0^eTL;7t2-{%$Xz-|-=%-n2C8j(*#ek} zHVy-uTL3ohVmfj{V?pDcyMs%UWx3qFGjsJVGII(5d2F8nKpxupEIl9C14XDMLv293{Z zvHwU^eN6iX_Vc=fcbufLD7{#ox^Kcf*5PveS+aS&dm^^mhZ)9*qaMm}zkd?Zr8z|T z;rtq)qW4`Y87bStC%Di)3&u!9%6r(zF#N-vuOMx6&(ktv*<~% zAQ$u!2=^)i5Sj*w18C8&K-k-H={Q0bG=AjjM;X#)!R@O+<0~_aqSLTq0%}0>4YPsy z7^DXL1X`s-EU?al1ga?T16V|Wrx5P~kU0qjj zVMMlk+m;J@W3lOKWfL}!vc=j5QIY!SH(Sg&sLkjq*w?^H3sIOgqBiv)5W5g@bR!hW z7xMAOXnwF|PNnLY=xOmSjE*z#$Gzs`ynVz(S1n32MsMH^L=%ch;5nNPp_GJW9NAi; zoP+^bZkT(NjtUUQz<#62Ry=PRW8RGdD2cYm&Tj}i9yf>jF>;x7+fy3Nbb4bxgj}K| zu^!VFqt!dKGd$Udc|*oL+65mxETz-OFh_OMTLio?1aPH*mvsern}Dq-`w+o#3H0Z+ ztVn%;KK>|XcmA68HmjY)&I!FHIJu*%E8!OYlB%me%EnhA_ysyuUj*g+CEZ#5GzJiV z!ON?eNti!7v$_jB!C&x->i(^F-)%+6Eu3*=8Ze9P&sgLv?@rV&KZWwTz=Tng|sqhi@uiCx>r8z)lWd>U47W z(z3tH;adTDCx`D?z)lWdmi@aNzL$XRKwkD_~J3^7;LA+01n?F&YZqZ zOsE{bccTKG!&d^1`K3g{&EfkF$~ifFp8;2;LA{KEP7dGxm?rDw@FnWx@D(v9hp)&v zIeaCPRTD2{JtZa^;^y!r$IanO#LeM5H33tTlf(CBAZ`xdy+Bf%Z1zIi0P`y#ZVun` zY{X2HKQPO9@NFy*H-~Q$rb;)5Zwe4Mhi_{jZVum`DC6evy&v|vIee+j&Eb0zmAW~6 zlfiLw_+~)c-{o5S~UaNHceXMngle4hv6 z=I|W^@3=X9**G_cFDrF(_!4n*_!4n*_!4n*_!4n*_%bN|lEasgs&n}AUZZpIUW#(~ zlTKV4QU!m0UO*g-|8y?il>lR`wYZ8DyIiD{sLsW^Q-t<7LTpm4kd{=rcu$DrN0j7H z{nn8*bS~cCg>T_D*N~oV0zj8nxp-TG5M!m2&+@tCyBBcS0G*4sOhgA#l+y$06`>i9&@J_Zw4?`j6VGa%ViIF*pd@R4tiB`_8#)*7Ga`AwkvvsjlC|q5wZhuL zbK5r}{-Yz#9KOmGAzu^20at2nB}EhYM?#L&5TDXDYujsh5CjmK3A z%>tmRA_NZ0>Rh}xis&tl=w??`^e0i?$;BJSSk<|BWp3BGcxkzliWxG{MQmOB=F`cvdqQWSPL-T)b?D&c%Bvn23K|r9+njP|gsD zeGE1==v=&aiu^seCO%wG*2%@YM+ElaDhiLfLMk{^F5dS<=wnBS^PH+xT&HvKS`Aot z16)N@8vsg3bc!T%@%pgt*132WGyZfgUcyNGgN2mm6k#V9FJUJaFJUJaFJUJaFUPl& zi+40&Cl@baCl@baCl@b=x|55SbSD=tbvn6t2|KxX2|KxX2|KxX2|KxXIq02SywvIB z;w9|l;w9|l;w9|l;w9|l;-yX}7cXHa7cXHa7cXHq7cUVv7cV{G=HeyC&BaT^&BaT^ z&BaT^&BaT^&BaT^&BaT^&BaT^&BaT^&Be>M)aK%45J)cGP3Uze7cb{eHy1ApySaD^ z;6yhUFA+BvuS|qaE?!P}ZZ2NVX>KlF#<-h{m#W=dywp~ki#G^!Bp2@owCi?^FHdVz z*`;&wD!X(pUe1QKxp=p+Fmv(t!F|ig#hU^hZZ2LzK|tJGymNuLxp+r&967mo zR{*Ka#rq}daB}fpgldp#9@j+PDb-rk$;Eq(Fc*-?<&=y#!^y>ahcNHPRfgm)N5C(T zo-MefbaL@Br*DjPkOk(!dt4EzG0Y8QHy1B&uTC!BpQQxf^-2|7Hr1BU*63Wkyk|JM zcscDjxp;X`cXIKTp*-@8Qr#@n$aRxeqI2<17J+FLpoLsMsrrbig|?H6SM=&!yaMZ7 zyu9%{xp>8KWe&s@Cwpw7v~%XJ)c@m5joSO|DKKaH!Ci9!>UBT0M}8WD@737;6q# z@$@6D6vclS@f3Zs7T39W?|^~K#mlU{Iv1}*vChRSkAJ?u$;EpB@;bjQCkLJ1HVI)8 zW2N9KBZE<+#*bPye8KADFA$;L6zUC|Mz}&UphYs_e(WUq<5TVcPX&5QnU5sQT5WC3UephbaZ!HH~oS`Mv@r!D3>C}n)s$p+f&*07tz9IqBNCCZEV~& zJ3=Q3cM8xHc&0UZ+kvEy18^&pO~S-(o_8~L{?5A+q_)J{%?0!vq}ts8;Aa9W03?jX zD7zPB+M|IzQ6d$a-dCfoyFjChGM)j@70j`kIfIUhnl;~OaR8h`aL#`Rz#NxtwEqZr z1Ptn$frc3!&ViBw;7LezoJcoi(1ZBny!QU*@J1D|s+hVNOBpLrVhD5`)_QUG$@osw zK6mR9Q@}}u5_Z}j!jXIhEwVrx2bvN37hQcn!><^$9$8{gY7P3U(-#clqr5x53SLGKyve9`8F*~dOgJ+a zG8(RtMMp4O&9;8PVo)8 zxY1z~piU4CyCuJ2$?+_?MVIUWo@4GSZpkBnSn+jk$)8#Bc9uM*OI}r{AL2h2%uzgvkkK=`5=MccOrb1RDK zVn&CKAanuuW>Pdpb)aT+gEeg2 z_S%9O1)$L_&)3pg^wU%_yOfOW5mN2Hhq=|Tn$cJ7GooXBYy+eq8n&3J9I`_BSGGVb>`c! z1bG|QMZWfOS@Hz{WsPBi^k$XTTW^eGPG&?)+4DfQh_QcYYaE{{l9z zGvAB(ZxN6$!~C}i$g^AhYXy7@#rzKw%&zEx=TZC`rDi)vK{jlaUHi5v`&lsgYuqH; zIgizsk$nSdk9d%dUMFmF*lP8i>!n7|Qu;oSeM}yI=hI zE3)~w-TXBUWUqrE{59#G{W$*PuW?THW%!T3#$B^{uqc1N_Stu!2!Dyi+0IM3#6H<{4Zn1Q_kA}zg@jsF{-kH@;xF;jW+qF-LFiKKtbbR%Y(2>QodZNywj zFwXX2B^on553tWprLL<8+x{`*CmJy`-as9GdpGKinMwJe-3+fpVrH{pDRx5yRLmT{ zC`z^Gq90 ze!1p(yDus$lHoJ42;h)8sNKUq7LL7mF~KEaToNZhk>{O4RFT4=>RAT^;##zWV=b!@ zu1&m_=feH~e2sg7JtT#o4c(rh{{m>ljK@_P6)TW-&LmJ9&MU!IU3`1W*@yeU_zu!K zI|KB1Nr!3KSs=xSNRPAcrOdEg1R0)#ELPgESw7;+Q}qd8M1kQM)(MbdFD`@u!(#zk z_VxV$kC-4DPC?u=lG4-=!vBd4Ind%8`!T)x+Ojg4YJA_o5%Gy)ttSu7iEsKPq!Z%e zyW~UCezzE;?2qAL!`=X;@j2T8T1J9DzWYK7q+=As=l&uB=iuM?9&CeUR}s#mNSw_- zC5^v;HOJY93FlMBr)G;)AUBoiD!~`u>q+XAN(<{$+FL4BdWuAkk&qbQCkh@?!XGeA31&0dJ-oyEcdQzJJn9J?XuqG1F%l@nN>m$5a9F5jM}a zg>J5-@xG_%y`eP0h@+_+07+=4DCa!n;H?Z#R}AI`kF_)r4c$SG^G-g2|Lpa+crT-% zVb8(1_Fl%94VDqO8w2|}Z?Q=>Xg10!a^gS6b-VCH;a1>QnnbYuJR`4X$crP?(0m%t2rh*~nTp+o@VQ7bUgvlL~{2-4T z^Nuus1FbOF94+;Z5^cpnFXk=pMP@$4N`oCR!ForV+$1UwHpbOE&Rhg-6~UKTW`fDy ztqT6)0WwjVJuEnsl}{#ObC92uJq0j?@S8vHG+4x z`5`z{fSRNdP+1h)(Sg2g7K2ESoFw+OO3$cA`VNKotzu40+hCdQhv4>J%W)$Rn@Lo|T zc(0J)wIwKp9%p!Xn51{wHIVo8r)O?>5};*0i)$nLh`(4~K;$bn&kL-4$%gr-4s zilHJ>O4M@^n|LEnv$QN5R}o@A*9vJ#Zfkp&b`i;3N^+$3btDbXX@K6Fc$%eU4I`iJ zxullQx5?gR(}h2qe3oBMzI#DQHoz02i*C7FME^-qQXiwJG*TSpd52C|@r(!^aD+an zClsqB`8L_R`U{afOG(!3Me$m7x{a+-kN4Ijuq-PDSCP!CFG-zRoNtr8xAhV6h$BA1 z6&GW9p*BodmVC5rS(`xdOk@Pzy->>D$grP?h1?#4g%ENlzt*>pi;wTGn1% zrO+V&swITLVOdWr>fiW*h<@UT;%-y7(bFj3@MR2%9PcJhlzt|R_5Mrl0RAh+Pd2=p zX}{&4a`9Bd`)?|avm2q5_ddcty9Ik{3;pT0$8bue8y28wA<5)&vyV$v3V|}_Y13Uft4l* zvL-m3s{JP0vd&1JMaMNV83fHTyiLsC;iTYj_Ew_FS=0!YQlhC8wt~y4DapJQoVZ{c zIy4}NFUZ4zy+M=Hp+6X+yOK>#dx^o{QIofs$(bz}Y)jS6O~!aiusapB5Y?%{C9J2V zXiGPef2M|3=5$Cj^Lf+E3t)AS@07i*wOxFt>}{j%;yYz;y2&{)&Pe`+QFWf#020lD z-gf3aEX?y=y&2{#h#0|dsOfx@6Pp#xV>h%nA7J6&kF=?S`6duwkkxxTn!8cdAM8S{ zA@eklL?d}Wz1_*|3)RVY(Ui{SWBAXqp2RhVi!b#EmfVFc?qVJl=G$a)F($*(Nd7mq zWShKITh@=b%HZ~+@oL-(q-P60NhNP(zvh^&Az@h=xXMk4>nT-W6Iy2^GuFIaP2Oaa zPtojdCSPh<)(DoMJ}$ayOK5BOPTAYtS2 z)!hhnTy<$Be5dTazwUZTJel;h${)kjP{UnX~Em*gwGe5dT~sbIcS_7<4D{U_f- z^Lr_q_)ghds9?TR_VzYAz+}tnjH^_`MO7?UDYbPO$((Y%MdlC@<$6{`xuR8~oXnww z6P{&p09Y2o&9WFb4R6En_504_8qu!6-ODGZP#X5@@Qklr9(FPk0U`L7~ue-Aj$KjDgM zBcUN>eD+spa)O@|G|s@ZIJG73hGy?wCRcC?emiS2)sBU*-8mX!_cJ~@;x{jpW-nbezHx=w2By)#m8vgfiW6I9E7GO%1 z&(0qK=h$t0ppPJ(At|S!R1bT*@PPq4jfIHe72^Uc^%YKXU#gBlV)8ZuI zKF<=iT6~5b1G_|!xE8y}>3=V3&GEJ19)Uf8NWQN{A$1KTQtWH7mdGGFtK8S(D3QwE zxK`)~+sV)@H*XJ52EzUaa5=R-_9UcYiK3b8Ma!bB3>umoOKG)-B9gLLv83-iHry74kZ8iP`RZUDkD&mlg zvnxsgHze${qwzrO_Y?Np)p!i{Hzu5DClhW$IA}BJhd+^Uid|g@xGCXO!!xKakfc7S zw|NjjYFW<%^z>qk#vKP}Ss&mkgOEY4hN`SPJbZnf5YJ3gmKBSuxSelzYR9vhR$Gp_ z^eQ8xk$)3-b||66vC-CKiF#|ugBA2BTZ{LX2w;QyMi(o5iYe$(5a2aP^R3TN&Ck#HY@C&bme%;RM~?# z@mEu37~Hf4Zt`$btkHS&nCBbN8-+eWi!AF)T&0`oDAmn$liVT%h0I~dcy3~$OQ;H) zevtKCh9GV14FPQaAH;5g)ueG>AU5-rHIWT82+b)2lGugv+{9_J^)lF(P@34FAQ__E zc}euvj*CRE8W+dl&O{%Z5@+{Dy@?5geKtRNO0)_4?d@o8qI_SGXfLFUjF+Ho!sUq) z-B{lema&s+=VHx~C}StxE~mVVoeVpPutaG`dp)`|Q6e+TJ`Y`#D3O_CKS?;5_2$~! z(G`gjrTO;T@M&TS$4;SLO?z6<<;D2&3VoN@@**@lA+Bko$!seRGH$94GPZe;aZ_=T zWq59H4R@3H4;BviSfl5Cg7!NAE$bw%0XbMWkZ;B{$0(OJ^fXteX@mNk&04b+sqVqT0e?CK zTg$=1tq1a8VGj=$4)|F<)je1^(0HkcO~7C3ww8m1(;kQOqFc+s!mZ_C;ns4naGD$} zoHjNGQJy9T3#ZA!!fA4_aGE+;*z+5`n3%~r+=GP!Nqd2($-%;{j+2(O%fsRrMtYCD4 zm3fuR%2F&4vzNNW9EO%ic4s^(CAmt{YX#afbbNamc_CWi<9WJ)&Z7zbgAM6Q{l2H^ zi5}Eyq;`R@vipfkTEOntP{K^>fwo1Z$uX8`k79^gX*b~-lXfpk#-=R*>`9YjEYsu| z%QQL0GVM_`$(wct1sa-bsY>kfD^(;nF}Hx+ zYAWUg^Ja`BRBHtS=6^_pc|mi5BKiW&%`>io6m1KSu?)0OL%bD_u?(~{Ihn?>&1q&@ zs#9ZYUEnmwPaE?vJ*x_&I|bqb?aX2nXoYiq0vV#yP$K7xh-Ea33v@ImQKy7JNSdu> zI@QW_mbqWabg3(YKLTgH*b50f%Zb^?V=MzNaPazgjAh_e4jmtlu?!sHDDgeZ_PxbH z;Nvltfp;12J|1HkILXLP;xU$iQ;b_5&x8tm&It8=fKeVe!?^SnvKxM21p0W4W#AXa zn(tPEe=w5T@EFTLjLD#Bvk&uJAi>OrpWE;l%RnRP|8yQ>8E7gUn9gG?1If~BZ8osO zTS;fN`IK!rPx`3M3DVn}X>e5=9%C8E6wkKdF_wWGaiMXZdyHk^0`m!YBTbI6Op{|Q z)8rV-G6t>^l@Ai>Er=D2CsHH``rZokF{5$23-TDtK#A%DlFQ^S zsDiMc(u3n|0tIF%q}%Wq%RpF+X~SbI1AV31HXpDTBBIgo*!`eap0X3-lI}OA5F_1=sAp_aKM#_%C9X~nP8+^RMW4UCK`3y`|o@ISOYBrxG ztmKwQSmL#OkXk`4;6{ajQwc{I?Z!>7Hj>k}Q#P1BmkaU0zBj!WvfXSr7)P)4QsME~{8Wge3VC#jt;3 zZ8_3b`$4w5tEwTyn!6G9*{6E|?#`lqy8-2M>1x)H16sQY6UQ0JJ$eB|8+x9?|Mr8l zqd>`vU~RoA)a5?xh#Q{{YxBSt{K#77QC%Z~ z2`SAR>|qU^Fi|%5(iX#JGLz;$dE~db3~a7z;78ESbqx=q=H{{;<4}+U%O2cd0(yKh=G{sLi&gPkPDe|P@vw6sAiacrfZ60!(B2OBL zHV-*XNu-rQy9uU_6nWA}v3ba8O435;Ni`ZS!kEubNv2kLBuZ&k`$&}1Og$1^g1I0? z9*E=Ysf6W$*k|*Q(-e8^@Y_7(G^Hh<84_(Ca+=bLaL`^$BU0&s6r1N2rKHiIRGWvK zrnDxUo^c$FPm#~3c*to6KkrIO=W^RJTV`ampbOe6v_(b+4>?V74>`@?A*U%BirYLR z;|yKu9&&2)kkb?yKpkx!a+)Gvb!6E*x+nOFG>M2jn7L*aO)2!JW*qzJ=B2 z_rSmAH$-Zs*zW7Ld*>W@!jUdA`p53zBebv+=zNJqiEtK0<+zGl(sBB zC1)`&xH-@=&!BKK zi<2NvQtecQ8QCqVcdcnAWk8TyC*~a{w**4dn*d&C^2=8v>i|7+G|KD*sZN(0=9^J8 z#K`er(lu=lL&+Qpo_Nak)OyPH$XM!H%@*Hcb~+z_FtD11I9iSFQsGM0*Invc#p=4R z3`1ZwYv|sX?GP{*U4QE)78*!nZWA!R5a3z?M^W;20Y4&mhg85!oaQOA_ z;tYysAjAqK71ZDuyBWR>M%msn3@3vdL+YAecpBRi%vrX(OaK=WlybCeXqUs#mMNORDtejIELHY_~$#VBJo+89AWwq-S)5w*ICZCpLf zh)f3mdhmPB0I(7Og=U~DBXJkuW0G=Qa1-teG2shRM(~hwMx>8Qx zDQ^o7)7xmh<+;FL(fHLUSpxhpRGiYZ*}A+@&PM;BsWVa8Sm5ul)&&4Q0f0G(ck2E; zO2eGUL30KipTr>(@eMc!^b7?DCQ?Mc4gJ*>srZIN@E=ieFXIn^q|jw3G-w+Bq~{+| zn@FfID*2hCd7q#ukW~YL=#WgkN}JB# zD%wKw-lNl0e9@mNUxgSK_D@66{njY7A%%fi^BQhdz2#Q0U$p#)Cia#fRrrOMV#qK` z6?zrWB5CFUxh)(f4ijFK!Znkzt$YrV{{ZgJW#WN1g%OQ2waR2-c}r}HUcGyMnb_#y zd*_#lXO4+l9IaR;&T-J!Zm;0z66$ipB4iC0K=Azy6 z3-E^yFcAM)ICT;K#qnH7Bise$8ll{8ZaE{|PtzK~T&2q>9}ilZ#xZy!Q-E_Ym(K%` zSIY>m(1i!o77niitpzF>Un^I>1+?k4c=#z@j)&*!N+SnA;{;KD3cx+J!jUh4Q(^h< z0Cv}5*srP*;g$f{t~YAcm3IT}<2u5Hz}bf4N&tHHKrCdz)&D>&^pmC1yB4Dj=fw@- zXt7^I8b5aCX{#YbhI04s`pW@a3LtJOfH43T0~kiJ;R}I13oP6W1v6j|Q)aQMYe6dj zEgQ52ie|0GF;;rT^Pmx4rjE&XO44LddM zvpTfrG|fVDlwn$H|U0FT6{0_`*?}P<{loJG3P3myu(@84yM!7RFtO3XGBGKwAgk5iFuhx)-8vzL(+q zCfr`~Chu-P$UM^E3JCiSM&aoOkD3rJk`toN39|*5Jrltk3!QYs9I*lCG#Mkifs9+K zv5*yP=FQcN*#tZbWg>ZCGKRt>04_t}5=iM-3Ri$ew~cjaPLGY!oEgFqhZfH!4OP#E z?r=H~#_w8P6vS{BUFiPWLXj1kW|U4sytPEA79jFNW zyaHe|fbiP@wgVU=+9Ww<_$$z!1Z|F{Nq9&Utkc^X7_Ly)!Fg&~ zsqn{%A7k%tkKvN_W8$)m+#$=zM$>@HGIED3BL@R7l4a^nS*BhEyzD|Qz8{U@(+%$? z{p6;!D~4+f-aY2=_Wqct=j>dBb;9E@G;1{qhmXP118~|?IjUPY#miA^GPfgOF}JHp z{dY*d4#|&1k`cvjbe5ec#cmA89!4@xNS$+~@HZl$U4z9cPqS3R0E;rv^kS$IhE{z@ zD?3Ppbp)$IoY%P?HiP#KoPN;?AAGOT^t-;_f5BBLy($Q?w{t1%Unig>HsgcgsC7>KeKY4iK-+ zfbc{J^Jyg&O<zsvR>Rj+fiBra6-#|HK zp*ZCXj8rkD@RaGmC8idNlk$j*6BdaRh5?sHk;U>TvY4p&;0E!*y}*?ZmWU7D1U_;n zYRB`d@g7=Jc7HQiwMwiqFO2L4>kk-hM3w^*M{NK=NAbL5wuLU@pEq)Ct=bN6aOprt z-3MVd`g|=++J4aZEHva~*x}@u_QyfU^W4PsU3_L7lFaRg#I__F8?)nbx zQSMTB>Q#=r){DE!ffq49#d0v(6mLo7#IpS4u%(uiPZeA5fw1NSJ({M|L{3iCV z!n+veLBX*vq~q$K#ML_DXE_%gjNzL8dEzpdUK7`R3|x8guy`_NrZaaP`P1C>di}ZU zsF>r-U2n?V)dq#bThO#5cxM?J#t4(xLJHeT`V{{U#{ZbS@aT+{DSa1polnhWhftDp z*)}OzA;Z^s`g2An=0-?yE_=?EGQ#hJ#<}d6rs2*PIR~2Z`x#Kpd>I;XNCK$_Y##0l z;`e;<`%sv!{GKm&wb~ji@z_&( zA!>D;n&Enh@Vh9ioL(qSKLcFFYj5ckoA#%`REgId030vxS zP7t3A)-R>!CxBNj z@!S}(CVu@={Mr#sQGWeW{Mw(m`1MP16!wL5yefP>aCNWzTE|-j?~P}qmKVSbFGp1! z*&by(BC5`ojI_kPQ!1Cp)r~X+pb@?uIv6i;FqZ9y-pD42ie+2Cf?NTiu5IE@~Hm89oBt-O-Tyl@Yoj(t=7LgE$k( z@ZhMaG{Wy_qo1r}^k=ToQ#sAX#&QX9&NX@scJh?bvGUR3e`usU=PLYt;?f%)`3}mQ z?KDE+A>gVJ@v&;FZAKF<2Vm)g>oAW0Xa6$=pi*JcK11{QwetH>YddueaEm7Rvehn6t zsD1A!ZhZej3md$l42vW=K!yW!1h5$Ogu4J(3E&}Z1ZK%_E@`WHw> zRUTT34C-97SAm!==KMf&_@M$gpP+k_uK~H@1c%F+*x3-{L!w#Jtx%#14+UpLK_0{+ z3&7^fh@MLTY(pK|7slwDL0t-BoXNstQ016)AYth+W|RCsYRoqIf9&ul@c%Gq8}R~w z(l?`wk*86R0dpJb9DWqkS*+{~sC*7IM*1O?3*d9|PlCUO{2-`&6bokn;4|IxV51ND zu#^kZ6R_`?ONtbLBoW3cU!Z@&_o4>w-||HyTXG$)*uNdcKv+E%VFSKA+HD0Ok9NBN zh?0*0a2qC40c}U1Em8%5GT{*b=;RBvR>VqVB4{#{FKilygKn@^fsh_WUm3+5wk1ME z3F83TRwg@qH_F32_N@A0Q_(?6We?iH%1e0CoMyJY7SG%4h#gSwgDP{GWuafkIrw;X z$$0k1cy@;L#KkC7&7O!ng;MNwI6VC=q;>+pLv%~{)sVSfY?%Y$5?NW-2!1c{k);sc z4dGk}mwi9;T@d{&%Ln?3y|nrIe|W3V`pz z|KS+`*qNO1*qLe>%e!|aR!&BE9{8src<%4{k@et9XKw@`oxKHsboLGajF`wC0Nllm zJmXMa(i9`y4bZm~f*Vl3nQerNK>8h|$%>?RR%CgMfm)n;Ol>USZfiug!TZvVLjc&0 zjk=K9AW&;+%oO31;Ike3{+=H>2Y&oSXpBPb0{9#t5rAx7v`5X-pe_KULDv9~0Im2( zA$qW#wG#w&pJ|H#9kmB2M>Sj48GmUN1uvSXV$H18?C{rO&7qJAwSi6MVR?DdvD5U6 zF?k#n1Up8P8K)1%nm18SLTHZR4W#k$ zm@0;?!&E<<=z9nXA&sR42O%#{<#(Iy`yiYgeE0+~&r)<6fZ=m-@#Cfvc^~qLbk=DA z(&;|{NChSQJAjS=QlN+NgkfCV^1rIb0Ar|SLJKJ)fSC80U$R06AD$0pF{&8Z5fX5g zoDn>{4Ak+UhVwvW=gimIWgiMb5iSOUF~fr+RkfItuw=u$mW9~{Tt-P`1OVy5(EvDw z6i)@9?ZlJ_ggyOVSG^IL4w?k`YyfO4PV8pio&~xM?liNa5=)@k|F#PI0jU}=B1<9C z9o9yc1Hk(OBeDv>00L_O@a_~@2VgiT;SB(Io4T+>wSbGsdqJB(@y!6Ppww0Xym4Kt zrLgh}?*NT=u9bC4?gH%^mfQp21_Dn3SViC&0Cy4C4`4HamjG-ha1g*=0!IM6K;TUP zM+m$P;9UYI0GuXp62P|vP67BGKu@|P{t_`idi8`@ct#N0Jz?Z@i? z7ugDXjF{}@bcp6l{?L5%r0h_1jOI)FA;61d$0HQI39+(F;kdIZ`~dJW+2QCU4ZvIJ z$gOAur-Sf%0NfJ)2I0lY0*Xy0jH^{yo&)^KTEXxD;C!BcRMW0Sw!y8D1Iy8edUv_ebMi{ zhdq`9afb0#e+c1aeT`H<93tV?Csa>t2aCPKg>4RKoZ1d+nu=QIm4{JY4*mz4hiSEV z7;u&aYz(=jE&fy0eFvlKWOVv+t8;0>>}_efR_kt0Prq=k+-8vHz>FV z1%@94^$e(E-UfhSIs6pSOH)%x zQIF8;`3hwI1sPq&2rmGEFB>1xg)oYGF4r^)0XN3-TRuPBxB`gzNc4*XVR|ZPd9Z0{ zF@XLAasiAb(9r>!0=Np4aZcgk6`(8uW%x({cM`Z5z%c;fBvi2d5>yZE+MkgW(4@Ut znmMAD8SVz!UKE&GhgJX@cOw_o(#nT{cB{rYNlXO(0?LJ_1K>ARPq<8u8}>I}Ss2AN z;5$ArB0pmo$VB9adpN(H(#1H1H3N;C7hEl~h!ZqMn9;!3^@*Cp5PK6eTA86~d=5Dc z+7VclUn>{+88p5W4adR~_R?_8L^Hy>LF4ZJ?XD79&v#Oo=gm6vJdKe(@nW?nj%9oK zD=55K7vxRr5OA3|-vl6cug?Iy3wvJCQgBG*jAoV_@8kOi&ERYu1kQOQk^+F!wlQ%n zRutv|b(X3AwR61VEa+69AiRT*9w0p93~b zjLoe?EcXKGZqzljAAlDDjQkk_4JhESzjxSiOAx)*2db-_z=<4${Aq^UI{>}|&=Lj7 zr8Vz^hJ1HM&vO9S!%nfP^RSjOKbHGS3RGgkhX0ZW8)^dnSZ-I%QK4EheJr=D%ZSSa ztP0*kTqfXCa{Kxk_{dynOM2s;2*Nw2T2uv=_4!SlnsMO?#j_z3wJ|kD# zkH>Tn=(eB!RKOTD8XVqUA*!}*xi!f>QT&HyRDIJIEed-oaig3B(JX1;TsH8kOD`d( zHz-%ZsIn3Slv(0=z~XE;Av_P#UifS}WL@RznGS3`OMx#pu}R5&kZ5%{^+d0O@TJU1 z&|)}2e2y0jbyfWHP4i+gVjYU*iV>hF2>}C6iQyjI_Csm6x0jw!%~ zvz}!HSl1&2Sl?j+tTW~&0Ic`l1X#5Ito;-zG@#)!0JLEc0h)0!0h+Rh0L>}6830Y1 z0ALE8{>q2?>&9PZUWi~k3UmWHYcLQv(d>y>-oa1C$D2 z10;qwJ|DXUs3LL}RN1!v8GwxVkqbV;ItzkWRbc8w2q*? zQ%ft~4B8hO=fZ9WaM@1S4M3Kk`v7pZ>A4?3-RIS)lj<|dND=^k#T{wuQ1To~KZi2f zp-gosiyX=-hjOn&xeq{h7#i6MfKQ^4-2nJ(8h#1@A4xZ&wQ#7+KrcDWLjd^5_@riX zUOx(25p^8{(4W9bEgm@qU>GT99Lje9s!93Xp+v#YQ%Ugwkf&omfH|Zj0+5H@REL%B zP_i6K4uHiJ&IPcNK(S_p`vKsDKY6HX3B5l=Gb7^xtf%-?M|_4Bzq5|`0!RE-0RN)+ z?EvI4cRc`k%-sw?9&@(<*hZO$06alpHvlR1j05ZkAdkWy0oYHO(*O<=u+jT`I1VQP zcn6dW++tJ@aDJt$TZ1Ey%{c)0fo-G!03$A30)SulU8DPpqGXC3%b&lUjxs8i1l;8M>%0IcUJR|9sy zK$Cjj0U-692EcmGxKj1&ISanjW1Ygo9VT&hGuksC5jcGr=>(t^G(-vR_S# z(MT@wW4zlel-t^H;G@z}n%^owvARpkall+d*1o{3x*G!KQmKvdsNQGXZJw}&`i+5bg7qSUB5SO~oX9bk<(c&-e z)lJ5K{LF^ma`DMReE}goI+4qu2gI@}DB(KOthwVNRL35DKr9=~+67~O&L9TM9uUjc zYRi<0UD`5*!LmX4TOlQgFJO93{J%4ke@Fv!@$m{=xU(-T+aZQdb`32Wtqt8FhQ6f@ z-61YKrw!d9h9<9sC|syi1#6~>Qsq+cJAex<2%|L;sy9+kiR!E0ywbdS`!0BTfh z-6f`y&V8$qv<5ESBbLquHfkwE>n*>Xfh~cge89!;)1sKtYKT~4=mXNJ_-?KEX;J(X zF?4|{^B${N@jq2lcXSNrr1PRUoAS0q#S&H|^T&&#+*n1NaxlwCBL@GfQbokzUxifz z>$wh!_@wuL5ToesTsHNPXs&Ua`n*^`IsMl8~g5 zr0?_jdcUvhTs!OY-`C@D&GY^G@qE4BKd$R~UuS36tJ<}8JU>4?B2Khdq2@3YCgq4s zO3We^=!k@EhSs2sFy#k(HK-;1h8+JB!bwBLc~Enn5Y95qc|tgEA?Ie8@>%e2Id9F! zxozIUsfvoMn$^VU@hF$+6Y_^bQISSmL!-xlB1m4)l0mSE`3}!q4R6xlo^FJ1m3D{4 zf1+zc6css~Ecf#Ew^P0%5fwQUl5v%pP_E))9Cv3b;8Ow-*GSt?il5`~xr~t}l`?K) zrHr`JNWP$VJWGn06)M3sX1XzcVPgn-D#0EKhWR1rr3Bk3Sk@GR-b%0)f^p{&u#vn! zY5e*$=qi`Cp!gToq({Vi-04@>fTR7*vGx$sCaaFi^C3TT#w;&y} z;4}tO{^lH)7DK+*q<+ZXZjax|K^%$;KgP_3RpoMJ0|(zh7#>Xr1Y2Vf@knkQJX4I4 zE;uq`gP)-%JktA22tvst?h`ZkN*z4X;;2&+v}%f^_YN*W5FY6j!3`xSQj8=0wcsUe zTzEuX4Dypq9+{1T=~+w?muMW1xnDA)n4*r1|o_-8Tx zLIp>*Kez}P^6=ggY>xkUcqa#w(J>z0vB5j);&BQ`(?Juap<_JaJ~V^>Xo?RAa5VP? zx8Oe>>3xGuFr_@w2L&&plRVOI4BlRh53X?Jw+j9z1HZY%(IPh333fc1$4z()q&!+z zL`_I7!gt1SwC-;PyJOw(NIxDti@x*lEuPS_35FU+-1}zmXLOTC)(=51{^Q}hFL(^o z#ltr@cs1O4m_33+uEnnqaQNm0;}ML9@BZMkNQ{SXey|GZ^6)(v{2ksrd<%lZJK+-< z9KMHwv!UeSdpNir1I5GlNbpZ&%fq)YI2`eL_!b2ZV1{`39ta+THxJ*EU|&SyVU`3t z!;VMlb-{iZY98J(!N-v+5AV3(J9#*zakRQM_&y@>$Ziqriby=X!Qd~T=i!|YoEnK2 z+T$?W20LSDcr>pQd>LKj;hPq;st?uaJb^C+&@Tm;5D#}AQHB{Dh5qu0`eVY^h{Yqy zV+LDc0rF^*5PSvc@@V4=T6K%kdj+T9)Z`KMTd-MEoOn1|Et`;pTLq7(6Xt}~^$mkZ zR9iFnDmup_?U^9!Yw&0|IrstM^0=y2aA{YpUL0))2fsq5Jepk>T!jC4_+|(BxAW@n z=Ywa^IUc_0!Sx{G;hPc6z<)e^GlO5?KOVkWK?80)eD?&u$N2Fuy9KX7Bp$xIf_u{N zi5m{zlwc?Hokw_rN6gKkIkAuzRQwZI_ zQwIYOb=P^sY3!MbVUC*Ojl_cYsKQ41z&W0`DW5tJI5%DuHX>&}Fbf+ovv$CCVI$8` z>_?*J426A>=Xd(vJ07?=UKKW?Z#R#lu#raYqZbfB7dDaw$K9ZKG%{SQ4-@_BY53Ka z`Y`S>d!dzbu%+Lao9u|k_X=8&vzfqD$Fm@XyAL2jh<#K#=WtR z^A(hjHIv{)Bvse5?=S9wcnte5?=SzR}EwL8*`RVcdhwk!V!- z5}Dgg<|N1}eXI}T9&Yla?eAlK821S2c9oCyVccWn74d_7tPkV9)#NMlhx(pl)G}I%rV`dUg8@@>U+&XG?x4Nl3=dsLt~|H4&&TsK8eX#wMk04(3Z^gKs^@?Ez`L84xW|u!y{jij=H8b9qg=1z zXC00aj|BdJ@Sph4^*)2oJpdTx`Y(Qp6_<)wDN`2%x$nCyMiH1kG2%RjjI<@|!?@>V zK^5i7r6o`CYb;B{b&~nr-(B<-)U!V~g!HTraPl!0;`<{&(@MU1vtMqgAjN>G+=PVl0mV)-pC8Tqg3mNIazbe>#`W3f7- zTnYFomaPCnfrV2K3G2hSA89Y%+KLeIce_S*90kQ{f*@ z``S_;#=T|{`X0~MM7W<}vPL}X!?@Qne^)%e>EwQvPB9+VhjFhX_IMg{rc`|x&k(S= zpJx}7Jn2ky13OyJ^9?U-FEFT4l#3M=WU}@HsKF4#Y@jBC>sH!t`A+Q5;Aax6 zsDx|{*C1Zl4#Z#`M@g+DAxuY88L1`0`Y`T;JQ=YI!A~)|);2oDfUfNvqA&Z3QI%yB zw2g#QEaO(XzZ!_K@(g5h$M;~c4bM%)Cx~4h)`xL_OB~~w#r(b__IQqS98MA^cy8k0 zeNUX^Il{}&DW2u^Jk6QK4{L!Nc-C^TPZKxxus)3Y3~`2s^Umz~>us)3Y7oPgvJX^{CD>+L& zu{>RVBd+jp$-6HSS9(|<#{D~Se-G=!xGxb`c~~FDeVLqtJgg7n{*!p9XET1fuMiLS zus)3YFXBf4>K8)LxTjO}&gNzU%nu$KvhjB+rW3rF+VcafhO!a-lAW_no z>EoEVqopy&$NDhtSZU1ju|AADP8tvTSRcmik;X#ba0aa{jU_(ThjAyE?8|Z^ne}1Z zUXzO;CCBYE&!g>QeHeF=c?}2+Unwn;#o6V1kW4A&Txeo^tPkU^D-Dm2^f+ znBs9aG4n7~zNL(wuJdAj7e3H&S)`xMoFn6Qj@v%OPJJ;O6Gt$?FtS!yMJV%Y>_s|`8 zEAtxoCbK?_yS4c|aFpw1{7mBJOYLNn+px!N%w3}Vm`ZNOB(pw@yS>Rfdot_8xI383gzjIY<1UT6E=|Jv zFz##2tzy8BHzh-EzEr&Tz@oP4$*d3K?x=WKAI9BDVb+In7n;2NC$m0`yR*uvh~r$O zFzds(yO@n&8s*BwPYJ_KRRT8;p;$)pF^1`CmWgSlWy&3`GUYu3B)s57xp)FZxwzb- zTwFJ`AHnIH5R=J0qKEZiVzRgaH$0z18Iv80*>!nXA0|fChw-pJOiXjxq=RBA-0DVR zI-*=}1J;)MFty^iuk`FS@nGwb8H;Cqm|C?PlP#X##;O%xLe6;BhpAPEHXaY_!_-pG zI-uJPx@6XeaX)Ty2N#zRn?IPeLtz}-`ZN4AJbA=zh+Q6hqG7~dMI7VFM(EhKVh*a| z)c2

P#@i#l!{{l8Iqs`5PkO5`>6tPqB+0{Qn}=9c}}x*WVM{u@@%ZGnK@h2n|mp zap7V(#_(k)Mr_eE$a6dy#9f{O&h@M!?)n*i=6ep%zT2~qw@p1pT=FWhEAQJ%uM+kQ_W!8lJ`-M?Tdd+fM+vI6A+F|MB4V=v8xQ7TU@?6LP?8sqBkg?(H- zPtzN)z{Jm!5%Tk7C_nDal|06CUu)n@a(FzfD


absp(8Bg{q$nol2)|K(Jjs<62 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

Obm;#p+@B7A^={ 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%0D)lvqZg;uRVb3TE48mZOB@4MPo(L@+x)~Q z8KESJ$1<@u$M$1w^l_7_lRA^B%fUMdsqGISL8eS~Cm_z`OOW129Fu+IY`8u=eQ20b zJ;O`C`H#}a8tt$2H5t7*Zw`Tcj<$9TmY_QdZUJvLN-Wq4a1lU}FHv|8IDZ1C@L_+5qeVFnVw@ErhC%sp{FlA*#9oy!$EkCxABz)&TrOupFS(2!I6u zJpkISLT2p1jK`3(kZ$ zs(p?R$~;g#2jCSXF$4@)#R+lz*wG1#5lJsym|p3fwICm-?I<;GYuFKLk1c zS^rQ2cxng#jL*B_u58>i0axuo&D^S8Ks!-Q{yT73-cWxD_#gBHrL^Fd((|nb%}YqA z@C*er{)#zimJb2Pd=L}H>^=@qjzzc!z~a^l+*B+q=K0*Jnp@E)=K4m$-_Vrit&*3{ zSo5~0!Sy^tVbi2bDA=BA#3dB${172sLc!8GfcCOrUvc^HSchOgfpiH4Yc?ZQ8&M4# z#R$(O6s%37)lX5$Nvu?=8Jtdsg}8)*vj~xu=AGkbg*;!r1?P-mR)$B1ItKu?ODHt_ z4q$N!g+>r+mr!V=)C;$(USOql#Dw@bG~+YWm@c8vOp&BZC^Sn1-AM>lpG_Ec9Bk%8 zb84x|$;S{1olWezlTMjpgyvp`GPFx5G>`JxPHVib4J|kXtX)E(bALfO+9ecPn1iO( zE}_sOdf>H7D75%AVC@nLEu~KF5(+J&W!fbal0!JEopAXj#z3G;D70xW3P`)O0ZnGLe;5PSshxx@9cY%}yg^({Y&!pf zjMb4i?DT=d+Ui8?I635ZCXPBUlV3s{clOi+cOlMpdQ+w=agK8vWsV}wcOIimDRGf= zIr-gaf3Xv704^i$=sZMRPTa{+CjnOwcXlRIzLL1asiU6m#9f^Bw7CayS7#0RJ&BKU zULvj{E_DLLy@mWbC(@F#=q`Om`l zd^F?j?7A#&nB^HQ|`%pR=R z>)L;2A1!&b|I8z_|I9vCx#(c+KeLA^9yg)=XZCPa2SWSL>=9}W2<<^7 zZQ6fk&z08E{xf@l>Il`^e`cSnDnV%fnY~!0X88Uydx^>dq5Ws}d5XV| z)BZDisdS01Li^9`%Y@MW zGkc8;3hh6$8`VfO?*mvbI8w!bW>5bBBQ@2rXVAN&2k*>ggLkG3N;w0=7QS}|hCS;B zj%xbd>KdSzngu@7D?a1^dZQ zvm47qvL_{3%IG5{rAfsjXRoUh$y0pEWk*ViVl7UOoV}hWJK+1*zBpYzzi(FmbPN_8 zG*_~YQ?OCDuX$ARKFz$;`(ZM#ltNX8_~q;^loY?5z4d3npvfOqOQtLUT_6!sm{C2+Q!kzwCT+q7TKzKvM>2V zEjI?wFK6G$dWc`nzT3tu!P`AtrCW;ubYlpjHAtog@ypqJszkmYuJMsa$ZEfw{qjT+ zXuwqza{JQMorZkA-F{`M2wmU{asAXnhghKa>=YriU(Pm#(0(~PD1`RQ+4yo4v}wPb9T7tNAzntA#ab?qfIU7IbKzZ6PXXlD)?U%FLh&InJXXmNC z7=&4lU7*gVUG&S@g`QpX%h_!`yXcp*ixk&H&o5`UQ=^b4E8Fg%K44~^kzp6Bd%3vC z85wp*#f44#=eO-Bs}j2l30<-PA9@ z*x=(<6X&)}cJGGxRLL-d8Gc1aa;K#yI@dPsm$NGsZ@=P~v%9N5NsevIL4DkgHRbTEpA0>Ic~IHF4B&>NAb%=+H-5J{c@2GyZCBB&d7)q zvt7e-MnemSQ?#F2d((??RilBZbU zD1;s_Q4@R9>B*`Xaz=(zMK=9%JcmvEa!xM>MYUhf zso}W?+ArtS@*D&0mvj2lDD9VX27U^@_RBegej(O=IcKmC+Arq}e*>j@emQ3Z3C}O* zj3nXt<($#HgL!^AXACQXux@#h+X2mT!-ijurT-mtRGzN+{w7Ki)g&WmQdTAkO^#AJ z%1(%iq-;=v=Ho~Tu^nlpD8?BX6s2#&qs1@h9QP3nOm)&)@(r`>xYM#_)X5ncY1w+m zePs!}s+_T-b*ZTR~qNaRqQPWOc^Yz&pZae8jIa|YR&lb>UYq%Y5 z1oqC>aJ%vSx47*hEx1sK+b%Wy5V%3}FmUX>6Ks zdfiLSQ7dMG@44+Rftc^MBUYZEvEgm$l#JnkdoB8*M;i?fYu=CDf9rtJ~O{o*}`1(`bBkh$} z+)gm9&C93!UQv)I?c?Epu>8L$u_cpv|DrZhzc_*Zs}28hO5TDT%KTk0Y-6_~ zFc3l++E^a^kip^EhTo7^?MC0@hxEItroiCA6|AV2RFYVM->(otOkY`Q!KqN=W% zFRr$(0giw?vG6Eqt-Oa=z){kQMR3xUiFCUPs4bdnsDYx$XgAQKPttTg(@xVEmXAkj z1}o8e5VQpru^Cd%2QxA0RFHfnotQKQh^vv&Uc2Fj<(r6bLgAbDL$ZUoMO)Im2jErc zpnY;&?A`@gJO#pO-S93BpYP!r;YOz!?1?2o-mYgMF)W(eX5+P-_)v99+DM$A{zi9^ zq)}Z#7cYQ#w&;?NVsymM+n}-|KMxP}3MrkovwJp(a!O8&@FTjpzGBDnWF%90MruP4lowr zsJoy9=IHEKf+N{)B4GA=o6D3^PbqbjGJm&y$ji3GzcNnDPe9j!P@B)BK|CkrSt@z~ zz#fgleuMz_2|DRma3pC`^Q5ltLU;){-F}5|S5Ny-U=At3$1(AOS8Wcrh6)EGdo5LD z1KdVX1n?9=HNd9;w$p7K;>GHo*UW)%iKk~Y@>jGR|{I;p6%42_3h@OefR6NVp_h5leazoM8fCX4#{|fP#kye$Soc@3`awyT{Q#E|`~%=Q zfP=^dqlZyS4`NAefaqPz1Z`LR7zNM{wP-cm-b> zXsg-RkX;3Kt*~2zjr_)4WDf#+F4^4|Ldi(fj@_R^s#`fDGbozMEa!v3;3~(+% z9PE`GD}wgCO7Ca32ucT|82f24|FO`zyK^kzpip`UNpFKGZB$ac882n&Idom5 zwap9C66)lAYR(wNEQ-?RWs0wmVmp*D+_5fC^b}}&K{GPd`60Ft^HvCid47oXZDgwR zL&AAja~27wT%R9$3Dhigen{v&)Nw7Q$Y_Cs3)0RDvoV{hb6af2y-?A4ayDfbTk*?8 zWmR$?1ryH)s?KmxV_Tx?92e1bKr7T)E~-LQsh;XM7qPuy#?+B6Dn3b69qXb!xg&w9 zqg_N-0PV#dI1+YpE-?>oY>EN*29RC_PcdiM%$FXvnIDr`Np~#I#YDoC1?IctJ_Xv( z;6~SgA@f=34@l1`_6+!RylONYE71@wqqG2$HVm5%BXPC#Ze)G$S^;l zyCEm(+oxUZ+r6bP0q-QP=_+``(HNAZadz|2 z@9g5r*qNTn5>(olJVX;`D<9!GAGQ>Z0&M^i6;=bdnm`P|BLLdiqD7NI`4=cf^8hp& z17HP!o&c)W07zK>$MT|00A`YPH-Os->;>=~fhPbYUkKn3fR+T_1kf8m)kgpl*6+Nm z=sN(*NI4~x6_@pKp^@B}kDJCFVdnZ~SbC*^Qq&MXk3+EENfd-Fbe@4hXCsimV{F(C zIZcf21&xDi^a%hQcT3Bmjw9VmBBe&Ui$S{tBV8tPVM-b4WRR=D;s9fld;N*!i5Q*? z_xhg&aI;g?4Sw{n8vW)Yi%X!6qhFC$hY_(IOTpof>KDchee6|3Fm~#(kL5^)sRxmK zx=xP5m1cv+VQYh?(JDP|y1e6QnakVFD6K^$ueX>%TG5YQf z>01$fvQi|ZfA18Hs*%3sGMd=ODIaE@`Zy(}o9g3~0_)?H9Aca5OQt;(}| zw&Hw_Myh&ty7cV4v3Ac6O3%Iuxaz4P-BTaEO!e%BqWLNC)$$?gu?pNqC5MhK$nGGE z(9-j3E_$yEB{42Sr#%H`2tXTKqR0Vlu?Bv%1g0bt-z z0E1Z58<9&j6ygY9E_2xd+Ac^G-Ui?q0&4-hOJF5{lLQt3@LUYw5&)e6V9EjXI#i+U z@(AB9syYeUK#F|<;35L=0+>hORRC8LI0)c20Hq%wF&E5NBjum_COTWY6Pgd6cL~-< z%@!EV*uc3&sljRj&3ObwWX(0h23BdH^f>_Rs>hUeEIZo$4ieYyQ0Nhb(p}JHWoeJT z*aQOXpQ)&9TEqoUF=*_c?KO?-HLS26T?y za&r+AnS<{w6}$P&5}7jHFrxzIY-T02bzcc`&gC3KN)-I^D8TJyos=`0GNtk=J?9?E zbWrd*(mN`64(VkI9zl0^Qt&@0(^TQ3YN#Faye9) z6QIr>%CZ#t2{26E(5NH@b~o)zI(Z9mPTUh zB8**Z_W7-_V&-6a+S3L36*g#z>la8^=mXGsB7!xOTa*Lr3SdR80sKUu1Ay+60Q3Z~ z0zlOu014|4EibwNz)NIJ0`N6ibA`2fdDUeCtXW=k9e}fxxdlLv$&lG5taZz)9uQ!| z@}kE9Tmn|n^8i*8cmu%81U>|iIR(JC0J;FEIt?IU{b$Ro643Jb*jbbYU;$;q05%fH z1MmrfD1iQ#0O0rM76Pd110Z4jrsY-V2~fMd=pq0QP==qqeU|{g2AVV#z*PWR5LgeO z20+yv0PuvqywAM=EIOAnRi{F?v4YP1+RZQJ%1ku@;xbcRN`N!f%>+18?IFOK>JA0N{8u0-lF(KLuCiz zFB8=w(Rd`{wnG*Zq1a1d<1|g$NPYlGF6M6&$-&BzrCzw1%lUUzdbU?&q;@V?DMOei7Vjbs zz{2x`tlq^YqqIn;&&10)SkGqeq?fG0zl+x&rCBs3=tFxtH+?NL>C;RU~?y zpM#@esDAN;w#rb(x!HX9fPr>X`io9|@42aI7E+6M{x_-XqoZ&iBNbM!8l?!SHAo&}44z>gEW)$aN3$@FX0<_o@an zyR_Yd@H_Z@^zyX50)7hIHLQwMUYD?jzYcZv_(FFuBbo-*@PTJAZ%zbmCnzVbe}hcY zc%=Em7`%8aJ(Y~hHY=HR7C^f1v_+!TyM(QgcM>eY~A1g2f^1ofb!>z8QrvbXm#4_aT zGQC$5b9w#^?gr`s!EW6-c=ke@QSA z|NY;71?)M7pX!t))gvg*C0C}{d1pj*F`iE!68FmI-|M1Kd$uwO5@XQjyG+h7i%qHmd^ZJKp zPA9;YKbyMd685L@`iE!Ut;i$b=NElF^C_R<=k*WIB04L}pXLL+*oQ`t?O)~wyd)oR z#Q!RFF6|9C-~SZp%Vq;^op#~;iw)0Z)L9G|maU*=9Rb6%%c;MMpVvP;S1yEnx&K$D zz3OVfJ<~3nhP11hHs-%H0Qz;5@9*bXN6(tIpjZ13(p@*umqY#2@Ra3QHw5qqe*^50 zd2XisC_k@%cs3Fq>*w_k&n>LB$?6LOEJ{6T2p%`x7oZ%=B*c1`0;@+7Je>w=fZ4K` zicQRB7m-cTi4I#Joq8Im^{)^`0|4@qwFb*6%|}P|yv4>*wd#vt2a$ohQx?SXzd?fd z0G|hKVdru~0))LCP@`VoB|n4f=ap{XR0-QG>YLumwpog8VobE;sxG zNLFw&kpbopK(d1j@QKR}*{F|5FopRHG8y77Klld~RGZ^~v<{A<>Y-*8npbh~6Ep%` zZWsupU627jak*hAkd8qH_{8OgnMl(m$f#4e-0&XkEe|rlCoVToTP(-`pSau*1X3kO z`Ea?RACUgR`n2sLb0oA?2N~cKmm4^%4GsPWGX*X;u-GGl4DgA|4XvPOR4|A6OgB9c z7#qBoR?jxqfi^zK0H3(rK<`WrGQcM;H#`o`v>*d~;&Q|D_-9s-0X}iL;SOXvFUSC& zxZJQ4$f6(veByG$X&}pjPkVt}CRMT`$N-T1sUKImm5xlQyaXJ`CM&Yfy&qtWPndx zZeZc=4l=+eE;lgKoxw`BgKGuZ9pu3>Ty7v|Z;$~#ak+uWzTl6{=XyaN4e|~zE;q1I zJP~AoPh4)`M126=iY--NZa7R(T~c6-PmlX9{02lhfO-T#ybAy5OA1c|^thkLuSl`V zMM{b4OA23z(08^Fi&Q71CDkQ`09XiLhF|H(Eo@0cUs5O*eku9%Y_B>#kBIuNtrq?; z^4aSzA>a9dW)?s`4(7Xlsfb=qQBrvtOc_PRhQ5lhMTB^DLxi3>N2s2XR96vR6v@{p z$((uIvre5ZV>5P=8-EtbGqz*~Dm_k;I<>gEiqIT3~?!rTI8e>{ZwM;O9+(Imk=2B&g0&IUrDqRfU=AbI83WAA^crLpRz@Hra7(< zRh0KipibZ2^HJ(FzPk2pmtj7Q?`V8Gq$<+5W$n9%ioJdY>h$d-Z21|e)3=KS4)|FL z-+hFGe!hS4?dGJA;s2CF(;nKESQ)ofh?oHa|wav(3cPxgA?r^zfz(67?LWXK(q#IYS5Pu_|-3u`v`s;FlJ|+tbGaL zI}tdEUs0Hd(LxE)6NbKoP!Cjm@9`JodIN)cXPT$vrgMJ3;^nJtr zo#AJoPT#ld0B89b;LrCR;cPzxb^5+19P$4^ojHCpzJ3j+;`c4w==x3l#-%o_Q`1x%O-_L~0{ohm1zuDKx@~pibX!gva{%!7tzMgva|26aItn zck}kYH|k|s1uhEW`W}kHm5@y3StGbpaGW<=iR@K7%go$|xVIdRiO9%rYVg!F=Ia-<=*xW$| z>cl04E0{RQIUAP{?gwH88K@JN5Z1BR1=~_b4j4S+rF zoAKL#Go@OVh8U<5mk`tu_lL;ja!R_T5n`ZDTtavO6p#Bbex=`jWee03NRJj=U50kE zUfY>xBmvJ1$jrhOk?QCi+l&wcb>b2Nr`Hezb>b32Yy9JJvka02mrZpkv^Dw?0_Tj7 zi_s{*pHzOt)S5dK zWtDePdi5m)$wOa4;KU!|Ee~8m5Sz;B=W+$>O9;I3;c@%$E7@>aRFA9Ty1a}K+W{^i z6p3g%Ta;^3CCb4ZN;u$o-0T1zH=CQs&35Cx3Eel4+=8n-KLd3p=W;D+`1yUdkIDRS!HNMoSRlvJ+g z+-VHdnc`mv*qg>cohfq9!}2pwXG(wrG(Qe@KU9PsWkug^at)S>3kel)kbf+!vsBPd ze;dLoXs5pk;gTcxWyBT0?I>VAG zklkqrz(%}~&=y7W^Fv`)SAq<21Gw8hB=q{*Q?~pf(DVHf!ac46+}gi|aK#b)7W?0( zeC#^V+hu-2xYzB3-I?Fu!Op4_#GA>Woz{RQ$hDo7c_op7M7mg+<k&mUN$|KSE1iZW*E>SKJXeaO zELJ@3Nnj!6+Y)#3U=!c{OZH6yio5*ms;;-yBU1x%`c(f!CRHQ>+aXY2Mis?+UnRHs|fz5ZJ=U_>Ux z;TU$!3jm7!sNlA_U}o0`MPF9nfRY+Xv%av^r=`}ZPfJzmJ$286Q>_u$?@LbH)?YA`LM6n#Tn zmljvNG+n$;;gPgVig^9g?gAX94$I$^a28>99~Qw~L{j4)0cK?2$K&qJ4%i(cDc;cl zJ??S%6`R=|)u5u*Qv8Toif^R|t)@^9)C2E|)Qvo90tjC?Wv-DQ2;^ey@E74HP@f>; zPN9ke=>r-dNB^T3bpldWuirzNkg~Zo+Df3I*zDiTTrvm;{kNds2Qmp~_$L#VGG_Vt z4b6a*G28z+=}l=?1O=gK;S1-@HAV$GGEZenXM%?R5S`NHdNC!DLw2|R5cm4~Vks5q zP8F6vm1gxM9PmFxnHb@q{{$w7K;;;u&G0|KBK0Pm<^P0m6-~_cUrhNvgd_f9>g-22 z-_K7^2Kp0j?H@_`0fdYF&vDEhM7W*5jQXnycl6(i$tN(Fa2NmAlo>*}+K}}X42+}92)L;=q}wx6B$Jt-kQoA&`x+*iL{%R5O(10LZ;su{Mw_5_HS#oT z%R{&aA}@9uG2>NuQ`K1BSPS|R(ev+O5^{5=iHU?vmCUR z=r{*`3~19Ak#7ld%$6evHAc=^5P-TNzQE&38ZW47bqDo@BO` zq^1d!-#%IbR*I0h>9t<(3D+33$j>SZ)_}f8?A~_ zx|c8mG+`t^^I@iV0V1vEOhCjcLA|r#VlQO>1s5-XC|rz+i?jvl3`jRo`JEUK9B&?e(nfR>wFyNSOLzz9gRlQ9l$;C zA(N87A9w?eLsjG;a8_)4O_p09%yc!y^+{RI48b@GKj17}lgF)E7pa;hcaE#Enb zjH1UdbeSIWO2}YPLN(qF70uTIRlNb8K??pzzbNX=dPp-VFhb-zW#Zk8RC}82tVQA7 zHd5~jUqhS~uh1`n7SdSbf@rpwI0hOD&j4j7HloWp40RD>y=~pbERpGoH^!?Y~96GMCIE}xrul^Ei(l}o;-ffd$=;ygINFbhCi0FelQt^mH$ z#bcFr1FZ@)7cytP%){>xR(_?8LF-j0iRbFCE69I8Hmc!OZ8z>Qo9WgL`tsqE=@BXT2% zbniiJlQS^o?1;DNrKQlkRdnqF9eolljZq1e%N6HtbRk3m6O8P*l&Stux#^T=&n99muL=XGe;Zz@toU0Veo(Ow4LwxZ}qmg;3_8-glW z1zpT@{isBGb^TZ)auh83dy8Uef3s_T1KupeDE<+z-KL?u46|nZba`T zKPIIq2hq(6tbGPgMQx=nW0K_@W+_LS(~1Lz;>;bjlgQ> zHXhOVLIaJ^8RWXai(c|EoHhda}+Xpx5T&6l1l~8S%f2HQWxu8cf+c}VfYbe zPXoZFwH_9-4Dr(h2dV|&v+r-$e0uU)(CF!>G>wCo__%2;IEU*bbM^zLR(Q?mQrQXi z+~zs}8Xv52OCbltfZS5JO{_c*R+ix6Y^`9I1M7+sD$KRMx+?}@8yVVl9wrtW8`147 zl-44Xfl%4LLpii>6(vWZr2Wy(z_*E`lNaN-v%kGM1bb^Xj#5eUzekvj!E6x%lPy)5 z&6dZrO5KV<=IZG*(zM@E0fl=dO)=6GwgYn)(nQJuJObbiNKpYBZC}t1fcCvZ(}Q>6 zP|d*<0f+}kdG|oo0y>7~MwV$HUzoD^i>w0eZ6xU7&`<>!FLO45p*0wh4l}gc zOToejHEvG(*R@$^{SP6eM! zvdBjOcwY10T5zEU0}yCjDW<_7WuUm@un8cU zkaBa7gLySeRt#Ew{A<>(MH=PSt68Y$P{zWJ;BraUyaIr76qi=j7|R&d(rhV{cMQyS zqT?WR6xIM`l@*Q$z^StE5&(SKGNM1-g;b#gX0QmvyCv1*s5~_rh7veK|Aws9Y#2(Q zjUAS<@8c+MMgq5q7ZXK2HxlM8z}oRkSY~Dd6(y|yd10%`0LJ03d@mQW%@R0{ws;O1 zCbU#;l%Xsk`Ktt00+%Pa0Ep`U03sN?jnzn7f((l#rv23Qt(QLE`D9A(gJwwjLs43AUu zvlgBjCwxW=M}lQ;qcaRzEljzrU6=)0Z_pwI0BG%f4pX%zqp%npx~6G4fP;0J6;^6S zqy_*Lf2`B8Kx06ozW+Eh>Z60k>tuz~0Psnta1j9M%N1xGMm_l?a|O>B*4tYJLeI;v zY3}>G`5XS}nTqklSCzoy2o;}#S$`N?R7Ebjnl=0a)J1*n-BzrLVVKEdii#E44!8_E zTIr31I%EsB!4|RaR;1nq@LB;s%mH}4fDD}*yg|UJ?E%VTe8n2%5R_;3ipMttlvmmn z?^44(BKssa%`W3(du$yBFaD)=k9~oa2mk!}vAI1BgMa>_*gw&W_}3u0*K^RoztBaV z*i!Ub{xv9yl|c{x8V-%Uj$-jI_+@My1o@XSJk|jA@UKzRSa2(t_)9IXv=1o8?!*wo zzl<5Nr_oFKmpMH)0G9AC^XAx>&D8f-@)h3sssiI~H(iuh_*% z!@rE`*h%bc@h{xI*Sc;fCjNYHo3Tq#T>gbiVy}YBzpUig@6++YEByIe#yX=j@UKB( z>`hb-|H3_DOHeNUc}~Y-UU&|Fo)a-Yo)`GnIJXy{UHIoaX7;+bk74l7_m0^s?$o7m z9~z9?I6W4>>NDEKa7G&w?^S)K@jr8x@_#50@%?DA|0M+Riy;1&5X7+DNI{8=|GN;x z6#r8Q;@6OvA&5Iu)1}mOP6%R>8G<+s|LPFLJWwhjh<{}gu3%kV3EClu9|LHIAkK%+ z^Hb1-4Ofr;fd484aSiBp2x8o=!mFWFz8Z2>3Sx&K?tvVf5X3~B5X40O&mo9?P#GVB zxEb)YoiHp7gQ$^46vZUL?WU}RAg0NG4nfR%fJ_ls5`vgk#)lxr-iM9r5XAjqARdY_ zUGFZ(Z-66L!d?MC1@0bJMk+@r*YJD6OQH(n{X4)i?!O4Xs=1!OLp9eG1>oYp(JB8^ z&G!HABf#pb@9x~aD3uNb{5Zk7K)^m6`*pth?ymdlyAA{_YmP2(v%KSSj{T;B5_jx3 z1;>7!ufDtOufAW4oEF+iA+L`8)-b6$_Ui&@2LgTwunq)F@P8Kw_y<&?3Ir^Y|4)H{ zuSXt#6$tnnWNilm{tfx4ufBWYzWVNo`|7(V?yK*fxUar@;=cN>kNwJ5-#u|(efPwD z_1zQq)pvdDSHAl0iTmoiC+@57p17~R>tnz2)pvdDSHAl0vA_D>14Uv{)W^>BSKmpj z`|3MKrvOQK0rTH|^JVU|Qe=0_GWiClGK?AWk6Q z3?NP*;JZ;-P9R_w&Its}Or1c$M4UjtM4UjtM4UjtM4UjtY!v?`5HMS+4g~xtz!WQK z#ttM>jdvzXpd0T@X_WFI^CY3`51A*;S`2v|K==uO9``f&O=H&l3-AZT8TdyB5dH+9 z$Nd$4MT$*Dq?D)*Ae@AB4Dv}*2$u3@LOByKF$#rWBCJZ z92w)z2q)dK1Y#cd3Z|mQTb)#*pGpilBb;<6C3OJd2LO89kKk7l@ie3=10isjRtFG% zS42OuMSpcfMgJ7a+W~|(qSQKoFwImSDo@%$%hiX4x-hEM$*MELNpGiuinD9@6@~oNyAqN*lrzFf$J&ZeM_Y*FqZ0atuG0a8hl|i? zTWEnJBsxWs0faBaaT6Ut_-!^5`A~V%=Y;J5!i4Pr!i4Pr!i4Pr!i4Pr!tCF60O1D# z+W~|L+W~|L+W~~x)$IVnq}u_6snZT1OxO+}OxO+}OxO+}Ojv!WJn7%;^mYJY>a+t0 z6Se~g6Se~g6Se~g6Se~gQ>Pt3n6Mo{n6Mo{n6MK-n1~ZVn4WL~2$SOk5GLXT5GLXT z5GJBNRGyS*5^(|u6LA6v6LA6v6LA6v6LA6vvn+K1gxLrrfbeP5x*b56z2vb{K0O6@HM*;}9!;~c- zDo<)=D!X__IH|d|i)VzBA|^+}x&XonNFxD+H!(5K2q)#6Ga=#x5az(<1Q5QPiRDA( zNv+JoK%4-=53={#0fc$Hxh{ZkIaJ#Lg!cmWxcB2XD1m>aE7<{rUlAq`mIk>DlWyq* z5dKD(C-5ts+lSdq^;?1TXyJUQJgJ=-hJ?q>m5)q6TuG?}Tpc?BggL$10fYxgiXluv zeOzwUrO?*s0K%Lz>;S?XcI*JcoYU<9!gWW0C4ey3TUv<@Ap8%>@1M-?2-0!crSc=D z*6(%zVbQAt2n)*4RbFlitOE!~AnI`!;8(KYaw@>}NnKv*L*+>o z<{%M0&lcrcR*7;jhY}8W9ydDxV#7*>u-(`Jgt#p7NLmYfl$m7-Xm5q`N2*TIB$z`ztMrJ)-yp=5QPk|8ZnK3blVp;p)Y zXn9H_Y=mPxlaH3CWWEhe_%gk}i=EDrb(UI{TWKm?kJ(Tf_*A7kIs-_(G{~m}Qhk$| z?v80_gvsO^)-Id~NlnqRKa*kgrYt^;e$dXtAE~p=A5nSm{Ia6kA4aF0mi{n0M;H6U z=vx3gA4Z=mcBEx^(Xgf5X^rZ1r!}h6t>|8h=aG5*PG4m~>NG6zo`bNL!jJ?`NV*s`X;_H;ktfb}30 zrHe^H>vGD7=^2)ZT1>A;A zY_&)RoI$vq^$)_0m~ThxLHIa5lk_eYzu=ahMIV$~<7iJ~(qo3Z9B(nxoBYPIdV}?n z@eae9SBf@MpE?ZdZ>XW5_yxPq8w-F0zlJ~Db2?z`Q;%aj$JD?>b#7k~KxrtM^5LQe zzClnJ{;dS6!h!a(P=6{486RVyrg$3!momd!Lm)L!8JMlvU&93jv906p$c@tc}~OueD}MA%`iEd;aW zD!fQD{0odwXC4AX*>7nNa#B4=;0hpqQ@bHeR;X8vlcus8Bqh!MPa7kR#j{l*iBBE0 zp2cVqdXzTd!~Q*50r8C%UE`?hG#r#2dipL$*E7%Ky^@iI{1F$q8I+}qvJP^rFC$&F zbrdAaXxybG1kjj`P|8tg2tNzl3@<~?xthc#OfwR~@1RWX@HlwD6JCbjM8mxft_)es z(ftuY|91dA?vwbf|0xs%LS4*^hG-k&kFMsb=GveEW*XijxQ)i&!iy@~06+TPq{j@z z4{tJPj^Q%gL+Gsl(>LA?KPj>Ln?!6p#fIS12d?nnp(3G4Y{~+|-DJSb@rI{K^-M(K z49|z{N#U`0zwZtI4fguNl~9-*z7UQ}2~PtBZ%=-s7lYlI$Ayqrd4ygD9)1)4G@A^> zK{8kP474PK*P+#+7M}+a3TRA%V}#ii zbs+6ythtKSq1wkq(j)?^eOxRE2LD8OC)D(1QTRF)CQ1EHFoVc2orjY{6D4ya{R);~ zlG&gERkmTe$%1&(o3H^-5i$6FDf)aUrzz5V+%521zdlrYL(|LwK(a2HGsy@|mxM+- z52=J^sFE7)AE>kW2uV1G2@_b!q1h%oT>9%KxN~&E({#~XWsA``8FH$Mb02_ccs`o6 z8BXee`UIgjy4%ksL+9YV)DPDpo8IOMZ5U?WA@n*@69D zDe0&reeO^JyLj>w93cv6MRFH*o#=}M@1pD4Q-AW)tidvBH5wl&we9Zq4ibmAiQSW7 zt1BGFZ$fx78ml|}1JZcHFM^vG?hZI9JRBbPhBraR7rp~B$>CBIDJ47_uodo(PLLWN zhBoC7FGSX9;a-3P;o)d<^})f!UHS}dm!xjTQ*pG$xT3cAq{)8$oV8D(190FlEZsw%tnWJp%7K7u}p<(wnF2cp@8(N@uJEY&7rI1btyc(7rDC^##xx@|jWZQw1EHCDc!90-&Qh|{S!Wa0Wt+ov zi0DFZ&Ls?|SfK?&nJ|OJSf~<;2Ny{uN_ep(r0}xK9pOvkgqOz&U*-s}yr04?Sszy@ z;l`-`(3No}UF8U`eviVu(h#~v2@mGTbFC6yN1LxBERI?0#Z;wg`UYw+tX%fcb#Z2_ z*P6Yd4Lq2sgl|^DS!ivcjUvoCyR|O`!~?fU*8b^pF%;Y`S+iH&c_9S`uxD=;4RpoU zH6(t6h926c8j}dzEov>3^zEEE#o(QPcWk&?iAHDz8%pv5Dp}o&vY9f|A=&tsJ>d-cSl~3mu)zH_)LSbZN55=DeGZOx{g@?4_HMUnjVa zPB0p`g$-%|eS8#8ejG-RHp69T4zBPGkV^mP!wq1g zFZ>W}N)A6F1JM!Ct#At3durGRQ~cpga70@8Rd560pTMmbUIn;*xEOGHxCaUm44+26 z4Z?YBhHNqim%$k6xzBPHVW^JzoNiK9=!Ko&TVJrGFG_8R>`SVb``9C1*46C|9X@31 zdX38f!`hGOA#{X%j2Pa~n_p9x3~_I9h|_KPs1~q7?}V~Jl=l0sWTqPXdm^BE@NvRu zT;9-!9VqOk2_H%0Ql@{bO?QVr>ra9AIC6fjTc0=d)pQX36Q<2GLSL&a_OtT8(W$(l z@7Fp4Kg0?AOAA<`laEti>V(Bc=qDv0!|Bh2-Ii$kH-*K>UyeK4evQ+1Mr(72e)|yu zsyF;D0$3G>OtV=IYD~QDQY)6MnX|A+Nf3rR{b9C8w_dT}8#4`n217~aTqgSxz7Kiz zLPxyq6G?Y^4SkWUlBK^z9VsGarT3v5EkOd%97;2jyM@_h87(DUrP$+vTod4*jkc?o;c>+B`T|77{zW+zBqLQlWX z_MUtr+t(*-*-eMwgnsA?w%g=%j#=Nbg(iPo3h)HmWpX*I;S^h7@?;A9hixtSMuLB^ zC1vxwrXi2XMw5Mj<5Q|B$H3oa!g^BwIRocUH$n}h0&|AU!ywp5YAyRtR(MmXtn9B@ zmKIV+*&mQzAnwm@&#c;rXR~YR{dVF)quFMZLJeP?&AsqOco0TBGkht?uJB6uAR&Az zpZy$F+1>mY66s^?{=x*UXjG-D1Csm5qmF74eU%=g zxfSXrtM6=nq%71^jL9yfk9$kD*&nkO`iVxP*#)QvW%e-hJS^11+i5n994QO;beX3w z&_>EiY?L-q77wFUXJNMIo3&7oJ&Eeah%zH}Q7=3iG)(>x4C`CK4O2Q9_|MwX6|n3c zx~-+bq*EV7u_76%cS6$QMXwCM+M~S`BXCCAo?Pg%zC)wU2oUyKU!oKl zviD(Gx1;@K$lgc5`iU~K_Yt&qBA1LHEW<0SbhNt++55<{R>RpDp@*R-+elrB2Gb>@ z5w*&eRz_ysCQU}B+N7C;hLjQJ4u#j6K{$)BWmz;-HbMf{Y3RvlLVD0Tj&_jIlyHW1 zGmXfm2ePbEW}HKVvaN$m+l+7|@*WDG(VS15Gv9ic+*Zt`we=}2X-&A;>Pq(&5^iTz(UPLS=VHqT zb;lY&O!Nl)Z2{PwPvhE<+<4edU8Rj~Yo3S7tk?ww;R5`c;Wxo^h1=Z6j&$C=kPDaL z*AqUpn+t&n+qn?f0g5*qz^^ZS``s8A!aYDwF;YA3!HjPfT@R&^8}Em@HmU?ojYu*y zn#BrjVnkj+0yC=6#@ND#7PBoZG)$`)O3V_L3Cs5#fZJL5tg%eWv?tv%Qm+A$ZFVHb zvZ$*IK`bfn0o+X`&S&Cs!d`1NWh&~6_)W~97v%$yTWMwQDrROj4MxVGOlBX2HVIm7 z$n8fB8P-v17(h4+E@crtZhFr>VJ8>^NoYI+PLjT24(|{3;YwIwgfm(6@WQ}2l;{uv_4O_I^auL3ko!x7lych6wB5wVQMZBI_ z1*`!yc`f0ff4*U^dm9QftkF9`U9SpwoZ4@EAM|V(!yR9Ie+Jfg+}tIue*ns|&1tFU z7ho3njIz^HnGm}pEYS=ZJ>BVNnEy;cyy+Wg*epq6rT-)jlr(|#-Apq_#DeKx(p7T> z$wTou|b>Wmg==)4t{*`SruyTXzjaM5jr z#m1Qn*%cPEE`W6_Em~*f|8pl&T`L>kW-p!cT1i=eTQb)PgYs*Xe2Y0O<@J8^dCFcy zP#~1!dO!1{MK}1FOWw`w@9Sie${WaRG<+bAeld+!bmq5Sq+8{295T21+1*>^4P%z~ z2?rKqrx%9jUqau^R(2<~RwbV8lz6sN;@PUi@Yr07a!AkCoB!f2q)+zIiDo;UKG`Q8 z!|nq(d@wQc@1ofAUJ<)Mi#_jk#Gdymu@CQsSgESl>$F&@)E52GQ5f`MnM--SKGi-T zSCGtT;L2zM1V#N9dbp#)Bo1=xyxIN?)R+^S%S zVg56LZ>aL#rH>9uE_v2&2S%};Wt*QSO~@Rs^Pi?#7wnxT_O>dJdq7KFtcAQY9DSC# zzC#vy*Uxca=!&vx2d9XO=2918M+{DpN09ud=ogPvo!OuWJhT{(YB8v7k5q8pE~-va z?PL-YD7Zi(?RXXa`q`lS{12HJwN47NR9@N|Fl3W&BM^e3ihKd6$S3;8LK1TIG$U5AROmMri?V7j74UJnnLs zJCayw+JTQJaW5oKZc9Ir#DTFuu7>^tK@{b`{3rGxO|?gCIH7H*_DE~sQx{l#$fXrE zB19{O2-K=T8o@9R-QB7Hk1&XfB?BIcHj$3G*DY%KJ$DxEUbm<{xIKCJo|{Bqdhqf{;*y#Vvki#8n*aU*{_+gei@9nITy+NPJQwkEx_`r2=*?LWbfh@S`ixNqErqnzYs%1T9nG6 zCv+)pJfjRtB)@jRie>azn#y+D8+h~p)Y6W0C~b?&nhWtO_qs|x(42FqM!SA&MpNZT z>Iq16L#s1u3$Z*anmY$ZDb8Z3Zttd>rpgBWEyQ!Nw$u22;^}D){w8o5I^ATCZL}PQ zT39e?yaVx6nX!alO+1O!q~yl~Z!;BBm{_%t7)AnxT}xT+iE8`~;(KY?Op!hgytJkh zZsNkXpTol9-#GqUCrr;}5N@~3!Ha-LM?g4yJK}dhn7&zrdz8~aV~hym^MNl1exb(a z;dbU);JHY%NYTu;ZE=Hl0T{JlM8VkP2rCXNVF?uN1)q-yw&Lf2KdN!^j{-mBq%}IY zI=hWyb^MO?fio@gGRh1HGw5K{51=;y7pjfi#h_(?Rs&i{(@>0(a?nPDrew6uMyKaE zb|y(DD}w%x(kl6^&|U`UBC6) z5nVSAzk?H!$Cz#Lxsk=ewz$KN3c){ab~lMw@!hgS0G4YBxdGSGpiy!HT2?@d(tsMe z5`^nO;A1EqfLbg29kh+0sZY|q0Zy0Ez($)!r|z74Hp#GKbwMi6E$yMm+DQ!TUg;B?Y~$z1@O6fp!{#<@W(-e-)hdS~s`xF{>YJcmnsr z6OEFiAlhwzDe5zt3xzEGV7i=LW~F{)B?=x9%W!T|u2Az9pm+78NGvWM)_yTPpw?kb1-tZ)wq_c6`A+u=SZ+&6^#n&v*^ zaGw|M7sCBQb3byphlKm9aL;P)?+*6`;aXSIs`};1sw{X%+5Dn#n+i8yb2~ZQmxSAv z+_L4+{2d$iDh&*W7%Kyn(<_FgWCB-TH>l(jAgO-(vvwV1d*2C?Ik@)*{F8WwznhK9 z2k}o0#Ii-~8Hkl10;w0W?ERz&@^^FWP5e%z9hI+Oy)zFfFiJpiX&F*{1=0pE%TEG0 zz@#4lKnQaDZjPPB?{^^fT!vJrCncY_TFd7FsG_99@52;jYao3ZMZ$lTsjYEE2KXW% zX6i@Hn3bt@iJ2Mo+g6)-5gth-^-9XwgSMz z0HOsDPDRo^5T#eW*+yAg&@wniR0Q4KPm`xvCBmeY$u%=R~$ZUeG(v}^YIRvg~ zt7H+yMX81`()AJX0t|o(%9EMAuTYKr8#uG}QIBx^pbS^bedLiyJ;L`BmeJ`lcDL7L z#a9K>UY50CJ#4{p%6Uzm>W`pMYFY4_yifQIcoE<8fd37g(()Scc@D@tB6?;3=M?mY zblBT~RnTjjpdP~=q6wS(I>YVngZ3(zJ#9wpYfwH0CH515p9%a1An95FNhm@wfqDRD z11PJ7I$0U*0?-;B&4N<8dkGr$e$cq!E7r8dpuGqh7b`s#&1`E#kAcLc+;}a{I{1m-Iy$wr6YLAXjw&%R1OcZ1mh1^G<-W!R6 zvr(_qxpe0$X13E^rfejZh5o@d6RSot2_L)1Ej{+VVrpgKpz0TYXKyl;qT_y z6Zl;VV(d8p&k*2&mWFEp90$-3z`)gTbQgT)Aoe9FbIJM=fcg9pgCW7-Mkx@1tsm39r zvO6^pb!oXtT8}*LFlRp)T*+Uq7H!)6jULT|i?md%=;j zZIq|h4%Ohlqj|`&!vf%6YaETaY#DHdX6>*RfD5%j*FdnW7PzdWE4k@(5ZJ|1=bKq$ zxgc$ZQ+sCtNIb*e&84RxlMk5{kcdS=dV~JwTZ@wfc+MiY78T*|DH#DO=V>^~gD(^{ z&*;agS54=gcF?fXvW+$ta+qjf*n8Tr)3R�}T9_$b?^tncdfR=rUvq~ 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≫nsuoXZ@OfoS-)8W?2?UUtx{Q+Y&7e4 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

eLa%IgWn(F>@~sfA90Slsgd(x+62Gv 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

v&acCB8*)H*J6hp1Bk*FJ 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�x8QIDZnN;O-h>R|Pwe5)AQG_? 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 z%0A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

iDHg$$5B6o_FZ44Cx8>X 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 s4Wt)jmEdj%=ZYF;X#p_v& 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

&*%2fB4>brg?p15a5~;?XPVP=d$y;=s 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 z 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%0DsMxgI1^U<{IF!m29dzCe=| z;X09Qt_`WUR-OJ00s$5vunzaxGvIciA7)+HgG%&&$hb-##QFwf3t3vNYOVp%bs;=td7*tUJkepb$lH(Mr1wr!f+$ z*PP;-LtY!#6n3Br)i?kbt&BO1OGpdVH`2~V4m5`g?TfbC$MzMW)H+ITLgceXHd#uo z8L}j?ol=YvOj-$SgJfA1WNBmlGH6YcWyX3ycCqrWmw2nN8p&|+@N?X&?OY#7fs5Op zXZ@H$R!2}DrhN}5|CV*bMeG;&bt{%50f|V3ivzR|;{;Z826b(twnuWUe6r-7Hnx$a z$m%9buhmbMLF*b>My)jVQKqapvXryG(rld|x1!{Xahfcb(T^gIh4fg}90wWYI7rD^ zqm?Yfq5a%*j{5*d(F7Me|BgCZZ~`u-zsNS?^m)F+p$9`4LEM*uaT>Ff+A_4ljdAl7 zF}4i5aV4}|@jtQcsO#fB2N#$7*;ib_00uFHYZ${#G=4Q0pF%qoX~+xJPtaa=g=aIW z;3D%I)R2SN!JuAGy8%tu^UY`0k5NC4(YEt53ayP)foGa#((3Sz{L&Pz5mWNe2eXbiw!qfKk{)EE?m8YT3x7KHO{X=a0Kl* zgHE_;|33SH3mAe6|62M#d`6O0NtRyg7Fm{YeMyd$PnI@olq|Qbc&y?TdV$Me_w?|KIcd7@hxMT>D3^7esoEWU^#h6=d0OohM6=b%`t~U*_6Ehn07U zYYe@YdA}gzD@F%dlDIad$Li#|lhm&n-T=oBHCEEs8IN+Sl`LgL#!+$;dcS21a(zhx z*OOFQ-DJtQW^{aq?Lq&DQS@D|Idoc=$bCq>ZX|I1N%p9bPnJe&hAdnDm2-+3tLz5b ziDs+%d)(6)wX()IZ|LUQm3FRMIcN2d<+3$M9>&CN&OO%u(CD3Hd(n7@jYI1#7Ss+pq^NDrr|?Kbp~kF1Sd&$Fm6O z*otk~4Hp%(D^Z1GIF2s3So1TE5jt=V=g|)r$v@{>LK-&0MaC~Ub{N4Z?qV7)s%ZBt zP*43O&x1Lh2WWze$bWNPKIHhK68lgM7rnpYykV&q=dDB{lHekP_C{<%VW_@~b`|#F zK&Y;EQcRq;8Yys5NBt1$5qXUDU=>`X(O!ovw1(7k#oTjgFN^bHkpLI{&x`XOERXZzelw20Z!@UhqCSaxD5T$o?x`{B9(e|d z+()w6+Deu>tC1`tRwDP8v{*A_slIERC(HUD8^dIYoi@_Q6167DGR1u-liWWN`Khs) zEO}NtSq5f|8M3V6zDlz9m+rBf7)Q>1qme9~R`M**2IN?MWbt&LA@ac3LY8js7pda> zOJ2m-NiIW&H9(eT&bQpgB&L=a(YQEI=B(1^a1A1r^DRl7YiYGoIp30J^^zrzb1PL= zD_JtR4y4R#AWNe)OqRG6MiJRXE$uqg<8Y{cm-cM_sf9zYy6!G-pr%+hu@V9Hvr^`gPbWIidk z#>tW&n(yjL?m$W9`j%&@pM6oBcLi55j1k;{i_i#H z9yj{e#CbAkjgV#iOO1py=7sk%*hr$Cj8v=%)eFv^|f2FqR%)LS;hc_-0XQloD`-gUGkSzI|j7qXJ!bSY6d0t^Hvf(0!b}kB08LDT#hJC^wRKmsBX5J%+ zd2O7x0xmYv-h^yah3aFpH~b;r(~yO1MB(B-{SOeE%`t|H{4Hz~b|Uq4K|S(%t}B$H z4K9}DvOP$|R=ChHXt%U~GG^sxalFuL4Uvb@&GyK!rR|j_E1hkUG`34>tzojH<`@}d zDYN#HtI%Y%u$?ksO_QbPkBmXGH0K#TWSNAEGjCv>7{@KR=!`p>;97%=k^+w1 z0`=J<&I7#doLjhv{wdFY3}Of_s{f4p8OP9uGdK$ud*8wOu^%<4#Ra%fdkS|k9jaHn zlVgN^s75P>;6nSp{0&AbS+cDPvP8BT32)^2i+rnyETvXrKGzG$#^IX*J`q*47QwiTUL4_W%GtQ}nYn6ReE68~mnlq?mcMh#i&(SYH%8WUyAf$_H) z^}85@w6`0BWJ%{d$*lGNF?K(2QEqkO$Dhlc>m6}KGBPrv$%x3v$jBxm;}RJe85tQF z*<_PTMlQKztV{0X<$B3jBO{xPTrx6p$yj%CXI<7MBb$sh*2u`nCL)`RjEIbg?DzR{ zzQ=iTue-nR>-Bzp&wS5${+;JM&y04vw|ghg0IIn^H5fwzw^U9Y&mJmN=slc=*kxqC zm-)s#oO-?=-e+|FHTNEE4XkMlzdv=K8vlm1(a4;9fU&S~vzg;!3bU}WW+HrJG{HtU?Q^L32=5KpSapawL;!WL z5o%*iqY0N`BmEy(Yw+VBY;+uE?r|DdVB^ro`Ew&Wa0ND!9egh${geDT9yTJhcOK>Z z5rvID>Sqwcw*RI7JpDe`cEL~a-GrSei+G)_I13wcFQ=5VhdTVKlq~YN$0Gg#qi8R4 zj)a;ci~J9=K2fK7$ReteWKrB?^z5S_C4Xnkl11=CM%Ldm*BDauVczR#{IGG5+=@Zg ziwLnM#F(mNU5E+gdyKh3mdYWEa+P(EK2$z#B*~(Xbt7awEnxjLVNy+#XHd#I5eXGy z9f-`28M9=O$2t(1M~rIjnHV~1OmKfh_Aw(ww$VpBhI1Hk)qS7g+_3^hu+c%g6UPyA z)wg%DCQye1uyKR-EleT(v#EOT7g&Gj#{dR#5jO5uFF48H-ynbuD8pvhsHeRL%{YUz zxBwdo+BYzT+nB?mFQ)o8^>7Vn!(rHvS`(Ua00$vsY*c-N-yGP12H23fKCNz$MLP2) z%G43ExTI>CE774Q$RdaN6ZNW-EbgfC!D;N`SjVt^P`@=4@!^Wxq<~cwg#$luD z`(Ec75*UY#wo(3m_y^26@=$;h*w{A4eBclc!^ZTFc&>2=&UNk|R=~!+eSZ3)_w>){ zwrSKu*yrk(KH2voYO?S3*y8HH@Do0dGvC+-8^hE`Foq;Dz-)OK?> zxkta`nLssc6i+hmSdTf_kb4|gIowwv_g8FITgjqLohJ8T^4rGH5Z@aZ<-Q7M*eEB9 z&8Whx@^U{#wkjYOBBbWY!gs~UA&Ww_pDeDZ;CK1HM!|>?C5xKx853j?x@wfLZbXfm zA&U~$kO(VTKVqvoOOB!EnlVcj6+bj0WRX-AtTS;$-6qeXoAn^#YLfLJGJk9olSQ?f zB#ZupF-@L9gf$_etP7FHS`c2=gQ!%!WKng)*ha2J-p`E^ve>9jl6&Aw8i`-k`i;>@7Co?$q&RzurW=04)a+4TlRr$*htLq-He-5ma&?Mb7VyPO@m7HI9%)r|Kq) zxSAk~DK$?P-ai;wWHG5CbIgwG@%(`w86&ihuIE2I0YMP7cX|U zqcDB3vj#R!P&X;xfA_rj4b9=SK4An6mdK;q$bHC>^17xzvx(Ebdp84 z8Y7DWpRt)Nn$!uh7*w~(v*=oCG-WUrGs~!>Bhwfmi_9k(0kX(jZp@Q~|H;NCauxcY zve+3w?Ng1SY_1O-Pcxz`7dxW<=|)}-`@@*JO`et7GmJ{I@a3lFKa+M2{3vzRbDy=? zIg1z)urW=$Vio(rHrOb7_F`ufs?iS{w%$Ok$5k(*E#vng;;PHJRjN_4*!4`V4<5fU zN)~cnqL%Xz4S9wypKHXhN`LNRN9=%&7TT?7!x5ZB3^s1iz6DRgVrK_ltkwrEABCh<;W1dl`y2&;MXb&QeORoBb)qKVfZotOw=P!2lq6tS}BmV_FV<^Hl z*vNV@YZ`?Jz{Zwh<_*zsaHY;--s{>v6S z>kxpAtFK+`T*Ek=O{seDb&H)nIDpJb<_uS0Bk=mgPB}JVGi=Phk-6Qn*vUr|Y@B@4 zVy72cvhm0w{rvM%o8(5D`~>)tgy27{V}Y1m3dP*?=+xaW~$!*ja_!NUKfN z*YG*4wUw@VCAFQ%pysZ(Q9BE%t#*yCdOPa~TTzScI0PHF-@*OEJk|tL^}KhoAFRPz z*pUBbc>wYZ$@4OVQl1Ynpz3)p#H=bRx~#$OsJff^NvQf zY9ot5HBT1BB}P42RKLO)CX4x;o6=cz@`p9BJWmheBM5(GH zi*^+wi-hv>?1>^ZL>3XALouL|WRb~pC;}=-7Og6i=T3ywF>)uIHygEES@S4=s}UiK z0hJ_+%xy+9S&Z`hh#sC3k=$-H@QjEaRnGGw=G8i$lK^T}kZj`y?OT|_q8-cwe6S&7 z>(wE08zxi%<3zP;B8xGV`7X{MLD-OXyNZ*=m?{XdKZI12EQZtsS{{ZKLBr^7<>bbQ2ScM&~ z`sIB*7r26}7{e579Q-@h589C1oT}gc5br_E!?U0JgE83H5$5+0>aiR9&;}dXALhI3 z0QbIyF|bibtsc9v7yGc~(NzBcV=v$$Ha*5Y#2(n#caYzlIEF6tV9VpY?=W>JHEu^M z-wW7<%eYD3EmyzPwtU3Y+}mxV7DNbzuJP`Am_8e|ALTm)J8%Q@$Y@LT@24F`3tDj$ zr(k3KVZH}ZjyAO87;Kb%ob9pv2=5@+IP*!?2V%%O>Z<=E>jhVk)5RQrjq^Fg~=kK=E)*h zZ%mOz+iqi!EQVAK&xz(4;pL9VjTjgR6}IZ+GG^}E$4*+HBS}+o>S4N%6UdbDbK0!^1O+d>fo6X ztvoNnbI`~ki=vMjd8|J%sOSs$oaTYafI(d#8f|746E8tFsJZz z7?GpgQ{x2ExWD)u&qq>*xLQJThFS9N&qv}pGpE!gz%&4lba9!wEnSFe3qDOiE zne~OdGe(dsW>xXOaIM&+wv&U1!-ljoqeeMdgw!Be%&5GtavW5{#@t!nt^dk*0QSL# zm$uaR-c!%ybLkV*yU+37#c7;@4exn=cOVm4u(65u7Svz|b|VHG)&I$N4z^nl}5`VtJLA1lhdD=H|3v;-Gv~Q>S^Jv#1 zh?)@3C*}Ml)=bT;=;8d(i|Ndw;}x0ArX!$@Rs~ zM%Xy`fAsJEF@J}XV7*{DY_w2!o}fNVt@0=Qc@s6TvGS*!H|nt)Hl&_|VuW1vJG9d# zm@~Aa14nTZJ+LuFdlqw;ch#kx_A}nc@WO^XYhCIlS!A9y){{%n#`7dbR7H&UKdxW| z<^N_x$s(KQOO&V@vIwgfS+xF#F+>*fe2F5SCsC)`$f8pf4=_KdQB!2m`ZZ&KEIb#C zb>sjhRp-~)7lu{!AnzO;Knv!-VXWY}%|?L=kVS>6A&WZIL>8?oLKc&1o-BOdG;+vd z74lH3YRRHWb&y4$8X}9N^6;JzeibH*PIZwSM^bse#Tr0?svwI|RmD3*^e7+i2N70P zyeCBDzYIs-1L#x^?*b7}A+o4bBV6y=vL$8 z350px#e`b(eby7|RfH@qsEcHANqI(@Pn4@&WYMmUk|QYjfze792^F};wIi--e#mtq zp~}bDH}ZJbh$QbHQIasiyeCA9Y9))zaif(iqH2_PgBY7I#>qmSbKz6V$u_2Mu&!_OES z3v(y)1dm!l&PMN?QSm3!y4dxKULBMaYhV~{Kc zo@{tHwy02{73q#>fQ_lAraRM^!J6z;eL6SYnMK+&Ss;smwm_8I9X({?@aWm z0kRlXat@+|PrT*o8J6MmvsR3O4NcE!4KV>H{xkOfhr6j=6`8)zsFY7*}CqlJ+gkU>4~wVV$4} zX|C;MP8w8%EaIvyk8?%vIff^n^@m~=B8v`H!`z4p=0_w|?do*?9kZOr^NmvGN_4ML zFC?R<$mo0#_Xd?*v#8~KMbAqO=Ve?cGS?g4m#3~f;}L4eMk&frj!oDC8+$6!oqgDk zFb*LB8^PD6I|ZAVTU5eE1MNL%L^F2vn&R5K;d9o=UrICT%jCQ*n(=^UDi-?MmMe@tW?$gW@qF_ZqWuyK&~FJ5p_Z0UMb+B>rH>_*)VGuR~zhy2F#17cF zIm3G$)0jc)@7NYL*4*a%6UC^5jldsyrm+n>a5v^TC#=G1*yy8u7IBQ@Ci4E2>fid% z5@#nG&;lDW=OZfb3frJgO_4?5yG9FH45=})s2DM#WN{At@N+Ljfr^ra|Ee)e7RBE; zn#m%rvPOBHP@^Jb(W7Ey5m#M5;P(i!uNebmQT{`toh*h_^^bUGqF>cs=N@821%AwR zqg~CAMRmexB8yqI@+Z7o(Wbh|qF;@W#iXhmXRZ-e5whr0-k9YnikFt zqn0efDoz%8KR4RQVn$UZ**AKX_ZJ)wldAkC^M+0}MHY9I@0a|(!%F0!|5t{?vm*j3 zK^C1nM_q#FMtG);a|R_$aF{IfAc7KP4|1s!DJdBCV9*Ps`D$VoE_$c1QC zN6DgFIS=xjVnF41*bZGPMi#@WkLOyPS3_hGUy^#>hkZ+&8@P#@rK$RkWo(Nx7=ex2 zOpfs+_KD)&oh=d zO&Gvs*l4C5#zCBQ)$?+fIQdwOBG@=Z`wY&a-&N0kCiCfM&e4mz@vJ4zCLBXQY-Fxl z;;g`Gtc8s(+8NJY;w(oVY{XslRj&Fp^;xW-mg}n5(hgz|&SC%;aS1nJL;7Oqhm5h2 zm$$?zKmet%ag=r^`Ve!~&(pqzY0SCmmuX+YIBvS?;pZ%I4&Wf#V8fHY#3@Gw`fwJP zVZ;Ai<^{zlfsK>2dvO7mT=ijT7x4VR2OA0M6PUrgjM3P@m?|WmM?Y*_pjN}@{K6&9 z8rVoupTsn7!(q%5jZ0g-#Myu{96%Rhu(5{rTCBr*Y{V0dJ4F2$WZPSqhCQc%>%1<| z9>hgl!Vo4f59b9-oHVS&4qQV5v#?>eyUO@c)YG>I?KtWhC;J`770B3Y7{hfWAln>p zjd%CS`5dS3B;@!vT;r~;VP6bO#yg^#tf z!nJ;EEtguMt6oC83^mx{s>>Q}f~?W14XOQ0tsheBb=9Rd4>=ck=A>`H)h~V9Ut;E3 zu0{F|@J!lB@_7=sFpU{(arMi#gOF{auDaCZS(lnT<2KrOR*&EWPPv|2TRTlHhJM6d z{d3YTTjErs2HVjF8@aR#QG~Uw`f1uxT*PHp-PW#9n?MqCuKwIt@jZnAN?}84MJR^! zRiF|!vdURMIE}(rr|MEWiXv*~FpTkg`VZ5;o?1OlqVIp{x5qokn4>y2N|yazhmHK# za8D7(CD^E@U4tM_yXu{<x`8@XgZDpdzrjH$XTo=G&TcCx5=iqTFMC(wG;4Fp0Eas$Y&htj5S9spR;XXj4;UQC(>akVVGpjbgIchFT<4h;tX&oVSRnnkt?x zbgAJtaxTc;Vg$*eM@^AM;7vxDEXGu6HO~-Q)CgJRz1e6Xi=@iiN*(p8hb*R4;4K^n zVHGEf%o?MHEV@*ZEQ;Q0G?B%C@^0haqDn=`BB2W2#`AMB``sd2JMs-jws zizYQd7T&iTRb&xS39`7M?vNeUPqpeHiz3#HXi=SH5miHEk;S^oLEN>zyzk_<7jjU5 z)u@7vOYdS^jA9NpMnmlH-5dwUVPk9;?`@1@4mQH|d|%=?hGAptZoUJt19h+==h(q{ zh>M7$YKM`{d58keL99{5WKpM1kh?L;`3cWXql7F%%K0mfi!N1F$8k{j9wSZ`P46`# zWYMig$>Js^QN;C$S(W`h&KI@n1X+x!BCcC(Kq*>P*87=bRI2!%)clP74fBiy=5Pm| z#wE@ocws}fDWFeus$Q}c}FZydOyI*GD@OYq7;umocTyMm<@q{1EF4 z-LR27z&Sn2cTo#}j)INa$Jhq@F#sF$N0{4B@czVY*x22{{2b*RuoX56KFPYkTC9T& zTU$@9)Kwp1+hJTs+NYRHWWdI4+NUGT8KQ`xA2xcpw!nU)f-E8`Nfzc z`qeO5OsHA1@O{MCLvBQi>L8156(x(ZuZ^rKG|9OE;(VWac}^MeYUg^hExH+-IFw43p;(ZjX_ zpD`xBz}#RKHnL9g4nPiaVIxR8ggWeU)!S(w!Eu~+)z8q5B8GG5#{_K1=kplCHCH|B ziyR+0$c2sdv^Ss(<*s^=b_jLY<*G05;m>_oi5%Dn&@MqK%3SsBw0B@9>Rj~}+O25A zVORYW?bA4esH;9qdjzAn=BnSOJ%>9|`%>zBa%lUJhkRGPjP^!sLZz!-N4p*k*yE}n zrhNoQ5pmU{v}5SUc~`wR#`&WUBd~Gu9M2GXaS=8~X(up&+phZ2ukrV5IF3QsX#FOC ze}ZW&il^!|!+ejT4sB@15!h(GPrdlR`EwG=QGrTqhK>8xWo^qk7Q4}aNi|Crvd)C8 zD{YkPLe`Oxbt7b*2w4|G)`5`wzHsklz9IKj$bA%Y--O&JA@@aGQc1F?J7pXv zi?gcepLow;o9ZQto2sCf_XKvTZn79x{x7rUuw8YM#YN>g&G!n*RG2KHDnS-CUonQr z!q;c4C5ugJ|3C9RiJNDPu7BY-49-N2OJ8Ms#LpUa|H^g4!@3mns_oxcGZ^=ZuAr$2+SE0K$huI;K4%q_NK1U6*N6sS_N2&ynybg2ols9_z6IyFTW zRjd~=gkel7FKb5lRV`VxsZO$pD-UZ)Y(Od6m8`D?*U4yCJwN6<4RLjuJd7-^Q)H`h zvZzqAWa0aXQA8GXs)sCkVI%LSJdaR(g={N&RpHIl_R?Of){{jU$}s~Q(yscY;r(5zK6;ybhe_PRH0EGq?;Q67htUfg zzIlFUp%^<*hkDppo#x|zYxg-tXn>7FwA;{*VOKr;pwBssBRCBkt&4rm2@E2Zo~lPO zea>-oWBZeQP8cod#c7Q|h_Bqwq3L9NH>>H=h4;%hx_?%V9 zM*&u&2y0Oc8zZ!*aT~L)`s!ygFDSu2*yy2sN$St?IVWM`0__P*Vjg$ktV;Dq@_f#D z+&~gG_C43I1Z|;5rhny1O>%s_%TB&)I`U z?1hcq)!Y|c!wuLddA`pn!$wrWMo%I46n%)oM&boN=ja-r6G10z#MUw&7(^U4cD&f< z>_i>*z{X+P?KpxHuKFPDIEFFls@E2?59~rcY|PX4zl1e_b+B=c_8=}I?y5)Dv9{2Q z)36bzeHGU*=BhWn)aM+;A+*7UJj?m2iYyvbi04?es9v)0|K4aOixD+N7At4@4S;~! zK@K6TVq`I^(*MBk8f2;!WRauRkVUatPZp(WBUx0c8nT#FHN1Dkuxk1v?@_d&9la{S z`$u^HWQ55gqWZ|9{EiVKi#BzP+=-k&8=Yh^f>G2uKK{LPtV1>N0M8~C@g5Tes+BB~ zs+sqhNUCBF>jWha849`RTQd9vZz<`{uL9-$NN-tsis`c7g@YNMc~=S1X(ojUKGCP z7`w>z=*>48c?XICRnB`%bgOdSUt&nzA`2hyFOiP|czACKd4Gva-dCbkCCDPeyGwXq zXcQN*9+3Saqn9jd*BW86=vH~WkHkh5B#SoHPZr){qmlQHDCK=3ngYhmD^l-~>#ySb z0E@~Q0~@o9$=P5;$zoKMypr{VklIHUhtZChnkLU6RBHGi;a!Pss6|Ybl(9bqRWn&c z)EROVLC#YQs4(X%GGA>JkVU6Tl10u&BT2Tg>NVUy6k-k5A%OL$!!9(y#{SoGKXDYj zuyLW5^?`BZyggO7wLEH7uKLI>-tm|~;JsWoHo!(P?I)^lqaMUAT*eiQz{aKf)aTyE zcRjqjSz{=`YS`Gbhi4X1oP&*6Bi~!t+su68I97is)h~TXwEZpX;_p)Rgw`+Y^Eo?Q z^)^075yLsynD`*;yUFL&u%8fibBqJ79?`|@0q(W?+YA-jm-yGTL>cbXsW)C z&n-BJBRGn!uKt~m^L>ptlCV+S%Gy8)HlPd}QGw0a0;erCzWOlx{utNZ$-RP&t<-B! zi&ga7I6->^^9Z)5>Zka8MeAvYPXJ0FpsEJ zdl=SzfClq`Ikj6$+#SN&v>RDsv=453aHRI=`oP?@jieSu~bCySQN#vobDyup|w z&!eWw$lk(rAfn3O#Q9=KC963XWWL$(ZRNbtrE1^8HKV%5m?ewRw;I*ksKa@iv4&iP zUX@qNJwUf=d^`6YBioIpckrG^PSA*x#l$;}btF{(UopRE zsxvxw@lHTY$@@#l`$z=pjXJVuQ6prL_dcVSEM`>YZk}hfsm#A-{;*ZW$l?~JP~Ko1 zA$MRzWxb!@1E^M=WKp`u7$S>y-c=&F-z^T8*kU-u*a^E@U4!+R38wAB_ZAly@2N&v8GH)ooOKf#(FCFB-w#)br(hn=#mc zQk0_^VYH$R9f+WNi0i;SY~)g3h5KzIV}0LAjko)#y~2I?ZmKTrY3%zR*Nbj+UFEq& zKL+6cermjoIdPvcoujF7GDh}QaE(9TjjOuNh&oDE+$8M;3u^7~XI4djLUI_$}5edR5jX<_kj@M$k2{ zmu^zW2u5+_m)sYmP4djZ#!cGUzha&dzjl0UBT5zt)%!cvD4K5@)wA4RxU1TrWJV57Ey05alZk z|I>Nq(5k#SOC1qXdCy?2;TSqm!#Wa8s+BB;Rpm3ePPD5`)|Y5f{bW(ani8_kM9Z^{ zI9cT88Kq=V^jsrO7B?}80@h3+YE=j8Mr5xxTFD~w`9?Wecvw@SLe;XaL{#}$S7NBh zm?DeNi&E>%yLPFQf#p~M8#1O(&60(melh48ms`wQ$3C3H1$bYQ+Rx0(mpZp`2Wv`L zQz(axI@-Ii2Pe>n7;MBhEp!`yNwB76WROEM}F5xfJQ} z>AcF^mZ|+@aZb&U#p-oN5m^LOJz4aqBw1{Jsd0uZZmFCA-)Y#O_K`(cCCDP{Wkw}g zMARf%m7|~f{lhCbu?lx_Twyua2Yn-{bA~d(Cz9Ud>8LdB#=Z+ zh<7dyp$#^MX^-G4W)OQf>j|E};{Ak7Y{Vvn(Sl<*jsXlJyN-E9JsL2GIC9^!)LDgL zj3B%#b=pJdcA*XJ zm_QPNX6^^VXu&01M$?D*UPj*j)N!Xiveemfi0eWlY;1Scj=1WHk1}U%JRi6M8@t+> zTU`9aQs)M2$QtZZ)oKP=kWfQ4tV_(QEpO%g(W@?!<49~Xn%~C!BB#~}lZE%~#xPkl zZa0R=BKQu&^G?pL-g{b?%#3!#yiP_CFX^ zA7d_2!u=Ay4x@oAhSkU?S$oJkYGi$i_YR6wEmjmeKz^zX1Ic#)Oi)#M}*@o;p$bLkd%K0qwjTTjLoZmtS{G*X1i}Eh&h^R@jjhmn2 z`}G9R7;<4l+Urqo>L*X}XBrG34jZy< zr3#TnhdNH~Le3X>kBgH=Ia#!*Ua~0uqA^Pr(H`a=U0*V0$fA?u3*VQGI`qY**$QZ|gUyub{pXd9MDw)Y}ljIoQ}Vz;7RH!88_qjqj-od^ceLHpb{1M}q#6 zC#X+Q&!nD(TvvZ1^>!S?S=cBUC`o4SWZQo!&IEr!DnEe*Nt>L}Ixbt2oVn43nDn?=B@_p(BL;SYH8f-=_@-OoYU15E|Mg_G>Y(WTn(DofO=7MY7 z>F-j*8H`{Yr@zO!{eZQ7Ew#TPYQwmK5nM$Qx3T>DX6#zm_=`W}T|dToqH{d8pDWZy za23~KBb{+8kq^7wTG}?Y)82)B@Lf;UcmIgz6A_$*jR0fHQH?D>;kO3o;69J)A9LLa z)*F3Z?ceM=PlvuNtUxwwq|x?Z5i(qL_t@30x;%69>i9X<8lvh7Sxl=_|IRxJ1Ipje zydtig0nP*StZ$L_b)$kT99hR0RwWmCRuK56F-sO>tXCoHRLHs$w^i1+xpr(u6=qm3 zqUM_6$bCat75tQYhCWq3LBGb%pK;$%k4vzzYl<3nqaQYEe#3VRcHj_fL}+*61O{;l zmtjNN*D--A1{f^%S7={hGmO9l=7E$Hrdc-Vx`EOQD zK-xJsjIHDvj4IF1Sv#muN62DUZAkKGJ=Cj{3^PZv&*Wo9=|T2S&3`*JUnR85uo0VF zbr};@^S@{PBKQYmk}Se=M&2Je4@{`0dA_5N{F4#A!}TEZ&qk1Jqt27z>_!vX(2gUp z(R!b{?4w=PI~k4`R;6hf{M~GZGp}+U%y7h*s$`!+j?;nchf>Guqa8&I=UnwJZ-#RL zaa@Cq(#0804`z^_o~kE(8O|-tVjj-Y3?~gX?pOCSrVKUM?iyd7k>PB@W>mw*EbTi; zTbAK?un1oGFaaBLI>{6(ft>CDbv*{S|V5J!n)jWKqc6i?t|5y*f*dA;`Q6=SfBdS=2I* zqFaTZoZ$$6wvqR=)O>c(j-ej|u6q8{*$1|x4mP&?`HXrrz{cdWIA?fPaSYgy+AMZZ zYjV}49mXMayXr&FX5KN7$8!T4UfRo1hJCJj$8$2AK@{dQPq49t_5en3)m3kzed-D7 z%b%O!tb`wVurc*Kt_!o6L)vQYJ#6$oKf}3<&cY1mIBX=TO=A_ct**MveOR@S#YJ_6 zJOa;3qnIq#qXY?+#{KXhu4;3*S4gP#XYf9RKi8-yiw@OC785GxnLM-TP*vPl5mpJZ zm{&pWr|452?w1IvL9&Q*pTwjJai2sv^Dicqm-!Z@Dvx;%m zA&VJRzk&6F0afx!_KS8kK^8fsMhRJjU_;sys{0Y{6AH?VNwTPYl`%vX^ROXpZ#mBz z{Hm2~L)x9Hd1Hnn=3iq3E4UvRQi0cIIHFq>Zc6RP`#SD5GO-*s*3;gAGL*aOS1b7* z#{{xppBmrv2F?L3IEi++s3M*PjZk8lmwaRW)%sI6rl(SQy_a2hstzJu=xgmD%& zCf><@Fo`M5pzvM1D{%-mY=6%V-e<7kqn&{jSOw`@?%Gb~tX4IUMVE?_#e|Z16f2a> zp9rfMS*&0VMMz~cPolHR=pu{qHyYkIu_h2wNwV-(8$q(@R!OqRW`0G5>LrU=RkfA( z9V*{qRMapQ#cwtI+gO8WP&M2S5mj~D`A$Ssg@arxqTGW43^R`+6f$PXqW9fK&Cb+) zsHMFFJ5h(-m_QO!urWtF?XUO^1TTDOLNgA+#u3_`IF2ryKsQcdOC8sN9k9_z`v6+d ziZ-ly5A%Rh*r=o3i~~5~syDdmov!-sUCasEFbW%T?X#+la}o_4Q&h6OC}q6xyf?L- zk9H=OVph|zs_(rVhe24(XPjCG-5BBun#RbjCcd@IE=u? z3~lfG`7;HwuoBnza9)^%4H-9wJ4j>9M*3u&4R@b=e^re2xyI%F4ewTLz;@Uubk%EI z_0^61oG#m^%?>ZbXo46;qt6@UlNKuLfNExk&pGF5?PDFo8*w?`8j} zf{i-b&Df6vXhl{N^M-ubSWkN^YOoEpsK*{`{5$^qfNI!~@g*pgepF%$s&Vgrg4A}P z4n2Qs_E&Y!{_eLg_qK9A1G*1;9>@564sw37Pa9#{EjWk>x^SkM?-ZPejUn3Ck-!9Q zV&+4v9W2`am*cMKxN&kj{W8vm^vQmtPxezvpNz4wg7$i(u}}AYSMu49RmevH)?gh1 zf6ux@5H>=z8_v;XN2XGDR52wz<*0;9tTq1}rbfXV8LZ9N?uph@^quy1IxayS= z<`P?R=rgQU#9+hrUp>Yu5v{si|8wdycgoKgd1;ps4{$YQIiC5w4g^GVJH zQPpvjcRZ$41@kKc%#j#mF2tfv-skA}tPv%PDYg7K-}5L^yU5}Y+7N|}bF?pE2$wO8 zYe-;47ta|AU}GcgS_H8R4cK&ozb`{AY*bRO!d7g99lzmotXWhucAIN_2kjo5#${K% z(^ZeV>RY<`4nPC?VMDI1l;epe#*6yT8+nWqN!R#E+P5%`8O)*K3#=P7!^T0{hj9cQ zh`@J}-&9x$8~L=?q8RHCKp86Fe35&HOxW<#F2*{n#|Gs0@O&cx8l{#14e8 z8;xi`#knB@8=I-icBj8YeuDZi^^LCjAnhx-ig6?{+ROV7H(?{8{j2_o`9t!a{`4<% zomh?)$i^xZU><3wnLpU@(_W1=C_*uAVFru7k{VaQXBk(D7RXS;*f@Bf`kevZ4PRq!kqH~CXcwXg#jbi{kbCkC`cMWN z$7o-}9pqk2)eqCYiX_s%nX1pyPLFd;48X>zOT3rh{WjMR8@Ip1`X1)JfhO3<_%7=k zIU~$D4&w-HoPL778TxM{?R#7cieO`!@gDl7Fbx|s_o=5d#vZ$p_PzUC{(tn#Hujw5 zm^Svh>K9z~U8DT&KpZz=W1jYfAMiY1QcLkQ8c;6FZv<(1X&2c#yIT> zOrdCu_Y)dmV*~9{l*9I|yq@ZB{}J26LoLHqm$jX(wvxp@)j<|f}oNVNv95&?K%2gFv>_!7(YLqO3e>C=xMOYmoizDhJS)5au z^Q_!6)!A9(9%bfGLh&XJ-p3b>o5Eo(NSPq|Y3728x&NI1} ze&!yR z8%f%?kny5r&Pv!g{^Di)`<9kD-8cyw`-+!2`_YCW*yyI+gHz~r)la>I^@9t@cq!Wj zmhs<0No`k3tsEOsflb(kosh9Txa1mtiTVvpA>CD%_F8PfF5J7F+hE*t=b&GLKz{@%jnJbMXS@>8FqERKt!g+>KP8O|d zm@Kk$jUZX{s421tu(m{lijl>Xs$so}0p(f6`bUN8A&dHF8_i_VraH-@SM`&{kQyV4 zNma}`7Okp>EaECj7QN3gM)H^O&mk;x>Yi&1kwvt?sN`7?na?+zHOv>XUTAC}m!gAp zEV9-bBV^$zHs;B~`?AzJ9C|tJ5^BhTjY8UMu?_*OM+QBpLGmLRnJu2j9z4h~cBWsx_ziv)m&w1- z@ZR(CQ;Q(*c$$+>c5U}Yvl&ybW41G9-NG1e3;TUb`en1%LhbLMztQaDQBTW*k1=L< z`sHs7@=LvJ$*b1|DOy2)i3{+5Rx^BjEeakfY+&ye{kf{f{9OoCfnmXX)8 z_%ZLnhaX?m`p`!_haUVWW6LwTiyq17DN6f6hFrgpZQ2f*^C-*6Zdvr$LkB&NKiJCX zS7*#FtIx>h*6KLtqiIe*ZI1t_x8>o-79D)(aZl@mA7SkOm?xRH0nVeJZRGs?`gxeo zEwsxrvQpRZs*Jz~xC$93+f=hAWqesi=HUl6Wq548k-D_qYeB}hQZHQ?zc9}W^Dp%{ zb-6~y%luc``R9@rjx$Mr{VJb1{?g&cpLF)|Nw4)WQ1IL&FI{i?s5XRiKzGR=3dKg>ASdEY%|H}!JH zvF7Z0*=CkYYTG1ZG8e|Ao)%*IC}EYu&#@YiO@n@OHw=?~Ixu08wF zMX42g_m~m-&3^CRle>MR|4U!?ku;}j;e0Y>Z3g9_G7oahI{IAqs$7c)pu@fg{^Ff;cfbAgH{NHzMW0M_>P(+pXPsP#J?{v8frUPEpY3@M zQ@>(&1qlg^O5W$>@k zpeEN{e9YWGdmn1}Ec49wsLUnbKju5i&gT&Q{)PRe-X{z5M_tC)^j}TZ$}+mc50quZ!VjcfXZG!N#Xf7^6LW?b0Z+A(8 zk=-ScBqYHEBZ(xEh!GP^Fs=p_SG1VYNR=u^v|GEiTcy8l{ZUJmDort6mFm`R?KYxa zD^^rgw7>87%$&J@-o5N*KiTX(bIzPObLPyMGiT=B_a|!iVgE_}5kCq10vvp-{)+jb z^cA8$nHQw*_=Jbo1;TSoWjO&{x8MTt(JlFE)n)E4O#Bp_H?&*wJqBF6)HQyiV9Pg9 zJ`4M$p9sW8>Ax(?*J!(wpYl@srEYv5*MRRxvgfw^qUSv#enj~d{>n?;y#v1~;HRLo zVqA>J@lC%_l&1ZzUkt^eJwY4l1MY~ipecx!nfugR^Jl!&MIx*5 z4^cZG1`fZJkm>{-wD9*>R4+{%`NLy|BX77jjTI!y38=p6E zr^4G2IQIqPqZMBZn9mB=N8l#F^}sh+{=I-}u@y|1vjge$KRJ_GK95qbSE7OZUB4`~7`y0XVTG(Dh4wH}`MV zJ%_g0{UsAqXqzK|ZTu>2Dz9;r=fnpD_I`*@ygT#NIv$f>1~0MknDJ=!zR&T{c2BIC zzBgD|PXe9+fBI^Fe|&6LzPkM}jWOD=&!nGa-+I1k=9-Ot5RaMINAVNDp9O7OKJ3?3 z)}gP#uBE-0_;7E&!~1{vI@NdGzv>*Q5BmwP6PDx8tu@dgyo;Y(m@nzNGMQWS&FsU_ z8THLJ#=h0W4#X`1*CX<~v2%7``|rj^BYyFQKse^~Gyq!0NY;iBM;&&1B(^gRd~*=r z_;SIsjQCaHJH%hqzj;?_Rw8||x9hPleEuIK4wT#n>Yv`|TrN zrJb>~3V$#H&qv^o2jF0Q$@;BNPo+)(&;Ic*;bp)pcn;>xSU$C`{=lr`v~ia2`4)U~ zvW>TT6UN3#+xKnbE8tT!PVDw~HpcgnZV7Y)B1381O5KyD;lE7W8t|dwhlyJUZc6Gm zM%Rf^`UlP@(v6*K+_|c>ov&^joK9+=l1>diP3%3C z&rqFpyb(S_#yhMt#n0Za`{poSWgfpco$51ksSUWc*MTbnXZ@|q$Ej^LJST1En^~*0 zygi}32j$JuR+xS=La(yVqnvgZ_2-J;Q%Ku2IqdJXZ#}?YZ2G2arp#%M|2;7{kjRn0)BJ{eAh3hZLT>im+~J0ey4t&0iJqK>UZ5GJL3n=gFgoRr91F{{5<$A;4j&s ze(kTs>rcm}7x?J7sBZ2BZYSAhfsfOT@;)2GTXC7XwC27_?4cF7XGx#@IjHrn+W|Km zgVVlD0@u2Oo>qb1$&Naoo3?W^-j0r)2VZsR&iu!Lj~hqr_s4)w8mDF8cIsR1S9ivD z0N=lZZjL3?SJ}=1pCnsVeY}n6xO4&E8Pm4%o&ml^@GjPNeq(J1T=lP&)^lwFx6@d! zoCn|Wyq#@f9{8QcV?6<{KD++c)1h++)kQPPqk7gl*8peYt*}2IM0vC5&y*{#Ih6NA z^s4&V25zT$e@TPN5uOXmyA}9u!`rQ68XHUjmwI+WY|xe;N#B&0*g#{bsms%LPZP6G zXv03?NBKIXJ@NqJ|Dfg<{PqIyR!#(?MHIs>-mOu zNg35C@A(IG-Ujxlcjv1qBipVUOUquN$-)hQ*YOZ3uWn7iE*f0$PU}sr=V-u4NOL8pSyw2B=K{7?#K^#Uvqtq)BCCC zVBh^#qj$|oPzIKdp?p7{qk32TXMv|)qWEY#gj))@VgULKo~aYUsfW_3S^N`o=5zmJ zcK^wJ8SR7gv!Lg`*T$=2V=P}q`5?*>dpldzHe1F`o0OTft$>dRZP?E!{Sxryz$^TD z3v2yVz$V8pzR!ERO;TW*3IFZ4rSa(;+OS(&JZ$1!B1h>~-mc^8WWFxCH>14O@6cG% z@w-jWgMpSdM?uqx=Rp5&(43I!ZW%OeTXm=XJBM=8aK5rVCS4owPk@)hH2^mZTp&l~ z^fU_`c`DyyfHML3cmzISVb$vb;921v-p3SBM!9<4nNIOJAlH@AK8}Ef{ZKnrStd~) z?Bg8Zo-i+GliR@chjBN#aY07g-Ug9=M)&uHUrD9jit_m{Vo7*hG2Dnm`*K;k1owI&<04e{)pOF*ao6JDgOlM zd*7#i%gqfLN8*kE*91D)f}S-Z1$i`mh{;E+cR3t4(zir;bDY*ue*yK6nEH}4r5;$` zG6TELBRIcsdLO>CNc&w;LA+H-wDCic~mf7Z6U{y1&(sWD?v z%r9oVPs$k3M+(mmYMkcIT;Ywlc;66Mf zz|fOlcc5@I^D3;CCLLVGBVY`Q%D;?yN2Hz|Lzk*On!Yz*YipU2qz$pH&bjzlfi^?@ z2JrU2ip~w055!&a;Zj`GJ_zT26?dXQ%X!Rp3EvBNKc1s&A$36fBJfWL-i@!<>(&MT z`0SgA5F_0rGVeVeYlc4X`Si=*iW{1@ki3BhfRBKO;p?o;CQ|ao=yh^TW@7P zox0A{Q{3&k-e}+JKWc0QDwDSQ08`!oKmW84J+z z{ySasB-ejEJ5oSBwlnH*xN~@LS3cAJnAxLbN_{r#%sdZs40TelYdE43+HznF#6J+1`+E~Z1?HmI32_a;tx3Jc(i0W0Py8~+h_so{Y97Jb!N|2ThV*;H zw*p@UhZ;LiaNp*Vw*2u+(tqZWDby)-I#+buTs$dbN`AAz^@?oabyelr27Vg&sP9tz z)IYjB0Pp-_ZktmfZTlGT9a3M;Pj1w4WZRp-O-b9Kv*9fW ztv>JTh@&53z0^O2$F3T1i%;7V{0T2E zx%14|=BukwmwYl`)G;uzo!09?`H-}2$GdO`MRVh`4E!eGV)!1a)4|EdUB5!UoNaCa zHz~aRaaVc9|JlXE?yffL%%a?kmyuKH*HPYVHAR5Ij?()20WAh5tN_B zRE)J>mYdXvBnMC$1nYysCNxbVJD z>-KzA>)LbM!F*K#^z6?faG4$a3Tc+UW?~@K!3yBPWF26?|8`M=w$c1=nul;}GU7k8 zR;i39KrsJFaN{s;Vt@Q#Ur+mPbXD4|0U&%nDhL3 zzE0=k()WxltE?-4hosNpT;w#Ixc0T>`))7hY)fVB2afeae$)Gdz&(&QBp<7tKR&gI z@i4kkUI>-_y|9j3(+}XUgl~=d3Gbd=`91BLZh_*o4}(86eljN4lv0{)(3trViftON zg>2MKa9_)Q?|A|Ctv^zqY5m6Gd{vZ|a0_UMK+ESid@t~$z_We!kMIKEG0}TmO!5BM z{Wf{eQ?4H;x3vs>F#*pxz7BjB@V$7B#Bic3;*SAu?ofu-b#Kbr1Zg&ZqWZMDv9U05 zjXyPcVXPfoYs~u`c*95A?>rBF0Qe)2FY1G+JMupV{Irf;I{{UkbmGdNMUKk@sixk0NU6e_kNM3g~(&_hw=zE@#u{Q7a<_K<%X0B$QWGSy(awpH! zlcZmLlJr%-cwzEz{&DO&KyTtYfBq?MBnC%X)|&@z5YKJ-3~!>_34heXqI)~L&V+5I z4RJ31Xr1bs3$LU0F@`#Q(vHjH-$oy=_%jK3ZL{^6nN$;efR)oZ;G-TsP>753a*xgm z$~caF8-7;C?%_k;69T+gYC}(H=NXdQO~oA*mQdz4El_MtzYxpOlno?hkf%` z;J6wr&HAMod@3Qquk6En65fWaFRGK&uVrMdjrC)UyWU}Jh4ME)FXPrZ!bJqV7ry%H)C@}^IrNN%VKgxQ5$2QR$hdAlF!dbekk((-$)?r zlzx!5@S7Pq3nwqaF9fVMN4NzrbsLE15Wc!&AIE0^beR5PgRD0KIJk%6Gs|aCZq790 zZCK?v@>`kIF4SS$talV}51s>Zyu!(`&po;J*Fj$pdUMaP#`4Ksma%(Qf3Kmq5#XZl z{HZ)21CDy3|Drs{0e1_3x4zgc?$ON6%;8c+c9l{7nHR**ee$aZj&!Q0R={R&=90ta z4Os7P@h=4{N3khm?^l=RhLqPLX=L7%_^U?m1NmCz)$+oO?AIf4fj4AhAIjPII~jcs zgR%R5o_o_j6ITR|{zK2H)E-ArK8NzX(OhFOKbiAT3Y^MX+YH-HlJ%H*_aNxES$FaG zQmMJ$&BWe~p$x=t0RLj)8y9n8BLq6?pR~{aKkx~7hOKFwE_O)V0C4O}g1t;xX#d@Y{pH_i>`J<&VkUL7$QRCusI6SO zFO!0~LjEvb+vx-T62ZHE;0|ecpT>5MfNl$Pv9`b*`B1*D06b|&_v@Nm61O|MTLaA% zrd{3lNj$~+bq6w<+oH~|&|D?`Bk_a4FTp`2ysI@^mhN`%YLUM2D(6p~jjMjffm;UO z=pKo_k9E6VhPGrZOMH&^&Rvg%F4*h%S0Bv8og>}2OCmj!ckQ$MdqI0P$M#Ef#oI=w z%cAjzcWtyJ{h?B#>p7RSkFD2bWL_oNzyRawzKf^G>frX|=wYx;nTm*L!Dx{>Yf2SG$-1yp=THn2&tI>?dSw9*oolyp~+I)m!uH z_8&2IDR*=(tnN>xZU??e`st4o?UA@y;AZd~b1u~E;XqjFwsBXpR^)Nl8uZ&E-kUK= zm9FJ28f!bB5Lz!AY`eXn059^qnTmDr684JpJ9Q3pu_L1-kVA{XJXDrMz;x_?P zrr?}ldCgnR-bCxwTbR6wZwB1r*E=j%-|!6<+8y!3Vf-P+yxRBUz)kvf`|P#3YxNyJ zm96z5-A9@ETCltaQEu9Hb<#RvsB;Tr#c=1%$O@0Q)v4qfG+^AF{PHD zLOGvxOtpL+**$2N`w?vwW?W9tv3uP=>dUI~UeCVL*s z*t52Rd{2q(1bq|R8N3p4Jm^gP7}HLBzPYm`I`Wn&H``(Tjej!pS;v_AV|i*-<0j{a z#1@Df+yS=+Tr;Y3uLP~Sb9&a>^F>`R-29ZePux6k9P7Zk{>tFG?)v+9CWTi3*}&#-V0rpe${*l{S_N3+4tPXeGm0adFsDx^g`Pu+zhy147uZ_eclA_nA8ui z8H%4>*PKuoujAYCEv)C5LzG(X9`mJ)LHlbUQqa@EbfL&d!%CYhToaKQ>C{K=! z6da1YpTcn(`=L1t(K_RV!8;;*v-cXm&g756wlEENNMyCPi7%z(0Bc`!TbSp9xAz*+ z+XrCV+ShsD`vfmzEcX-&fGJ<@$B1vFuO&GUSHJEj+P*!*dv(4_$9M|3)5&wVCw-0a z3EJM!&tTW3{crT{GxrlI)A-NPpG+#XPmlc=Bf$Hm|GG@}@KumKxE`~g+lMeG(pfua z{B@J@3vsQ$ZQwa(uYj`@e&NKd%cO10WF?jjzURd9L6mobE|gbzg^`>11>hG1@8%@F zVHw_YlWr)Rb>H2HtO3RRn&-VA>wwB#Rgp~{7rEo&u5N}Cj`k#I&ACz>EfOT4ZN*>8 zFj1McdHINqyLCK!s4{yv$3({6T+H=uFBH{cc}(ugrtlgX_Np=Q5AV3V8Of_i&ZrYo z&~_+8E}u|s1M}j-8S~;SRtFb3cN%1^h)z> z7vi^puT7F~FV26rd|oxblC^u%P;4dZ5P1y(f0?vp=kS5Rn}wbEs-RggKzhjB`w2l;!@(pC{yaNQFgET2Ppm-N&3ozxX^ zo51x;9p~5Zj)U*l=sQW*^SfEeB?fa+uSBp>WAWWDGBz66XNZ1ScOJOqu1!7Og83#M`PA&s%AJHj zOeOmk;)a3ao{H=&Cxi zsX=Ksb}g9AdJoI`6Rl5p0rf{-niah%JOfzI^oai$VB!@2Nx(V4l#}>R1HK2(x|i1S zrmMp8*I4>4lsDixuwN59C9hH7I5t5$)p{p@V=NYUf7HoT_cAm7O4|UqF@aAna7BZ2 zITGrb?au-?i083Oc>B5{X&%gHY^pVB{E8UAycs{*4(X5GnzirVmYg$JCFG$^R%%}MIJ9Lbt9&!j~PAlI}15Y2TJ~P^v0&v}Z zIIjTR3ZCO+q>Ykh`cC+Vcp60D{#kl)x3LY@8F-C}7w~b0=vpQ7HK6nhZR31lxLZ;CtjA938J_%7Hz3leXb56B|YKK)4t9Zs4ge`V+$a zfH`)wZNyTtua4Fw?KEgtK-*ww-8}`xZ2{M1`Dkp%F=D-ryA|h;Jz)K|hj$UW@ahuLTT7xD zz7!q2S77u@UfZvSpOikhxU*!O*`F=Ywu~5mhxOd`hhst95OA~+>Xh&>-~yfx*ce#L zr);^+@jChwD8Cr=S{@x^j_c?xn5UpSTSmHApV8s1u=C~)J?R(jHE~9C45R$n$J3zS z0DU)}gK-IIi7Vb`<^}sgxC=1v9qQcH@?MlTn{tW&Ip(CFLir}1OJdc%`329rRq`XW zEz*vU8oS@8@6op97t3C0zN1O}2Job{G2<0Om>KP>K)dTnZKt1cPLVk;M zJ)r9pS(va{*XJyh*WGw6n;osi$UBjC0~$K-hov>m?8?#xzs zZ9WNJ17qr^M7OSgD*qJl^!WiB>YOH^XW|GJNG1L`yRY-zNel9ZO5B0obSmeLECub!uifU3EG;sTsYqe(9V^P zzlWc0a0Z}b(fHO2=R5Z#Xlow2aJ~~yf;KgNe!gn6!=R0`S;e0`4?gp@`1-25PT()p z<`R+LlS28OZvPysoJpPJs4&`qj9i=iO$k z1M8B++gx8}fs4e~{`!I+RMB0T^4b7>(a6XcNe&Jb*Yuu}^;_Zrwle@+<4*D4TTI+c z+Uei-_Y#C31$>dT>Bp~ifQefGZX3_cr$lluc*)G16_M`5l%9{o#-Gg~uG9GE{&o^?+?Vmbo3EpuN&A^U z)G@Q?75GlOwsX-V{+^Gt&j3uE;xCE7&$sl-`!c|nfL>!bjZev|dk5SIa1*F!_W}2^ z9`(t3nfHa_CfDail%GiIGv6rxJ2NKaadyV+OEhMu9~9nyl#RW+rT8h}honEDIVJWl z_1~XO-75G%p7)ND*Snp}gP=Eey<+TWA7sAU+{-5Ku@7iG?4Ld3-c#tKl?}EZ^Po+9 zXH33_`B_PP={Syj2zyD?)o~jKd|dkBVrPeIp39~liQo!=DdQ>N1`SU4hIi`sn6$0d z51Y0W?gGsHlj^t^@PzPi_igWE603kRwy_TUiv{mw>otzWr@8de^V9TS0L=$MV{+Zj zSBz+XRGylTB)3JsLYc1t4echf{~Xo`P3b-hx?bs9$i7~!85E_vWImg^rj%|#=^AXi zBcNNAc4O>|-zxHMkh20E_l}RMjXB-AaUTNiMbc&|?qfUDdmOmdgnAc!EStJLf>S#f z1&;j)oN>vWER}U0_~!#poysp%cAI@M_5Eew8l^6L?pw;P#+!A{zH)z}cMAgFHUO>a zwj20);p_Stcw5l-ecPa;tm<=Xj^VC>v>6&Z#^EmirL-qNyOrdt_`dNs%y~2Wa_r;q zYa&l*f9Lws_h%YEIKNQ;8hhW0^-rA#-*G&fIwErW_3sJPUjcqGrhV}dl&?M8T^ z>I`s^`RB&G`jakqu6_%@?c~3|rE5iCPU+*n|DO>Gd-gWm_RKe67mgvJAhF)Zex|?qh#bI;`?F zt!OMB@MU-}|0bL)>-dd=W>Wg#*3$>{e2TJF{iDlux_P7e=mU<=3J*r$kqCSw0#90) zzL;&z06vN5n6o1O-eTYb0lq!=JQm6yVqThe{|c7pB=GgnZD8J0`wy~@s)L1p(mvuF z3fJtyYH(n82mY@%T(w#<{~fLaxFXsL?sv4_1aRHJF%OFUi+t}*eZm>wNM~bT7r$=# zSoUujjq*ZY5~(O0{z0iTX#^tjdp-;HcZF+%Sg}rYufq+@~VD3nV0tK1ZbK9 z{i2MNe;ws5Nw&)y5&RrFI;XZ&_hoa2uRgE=a4yML;H=g=XTC4bwwl&3pOV`eFG~-H z+Uoh5X-j4813YJRrvBb*bq=4O#f6RGkJ?Y>bg0knKD6>{1|DXZ^e!#FarSj_JUS0@ z_`PzYL-##eUQNSqfR=ubR_&n$by~%Tgx0@(`PEAAz4n}*x*7eC(4GtLOTo}_7NWAw z0>8uE^64^rD6TfX_MduoDK;*@38i{@0=Tz|9z!vY)7#(^#-G|bfVmr%WfJ(2q%q%{ zhb;9njw(y;Tcxt7{X7G>N+>m2a-3|#y=BKxO*2-(-l zcd(BO*vlEf1)smM7rdRIW03mq9mfE3Ww-Fxv2Wgh55m~v^_|FXv`xA5A{qPd#kZ?E zngM=HY$#?u#_vP$Hym_qYrk*yBK#(Zji+8kpHhW>v8@r{bAdjO0lviVv$H#Gdk*-- zdrN!K_I$ps)$-o+19SHva+Zwu?A%zwmSUe>Om_}EGSb(QHMh~jk0NS6HhyU4qV~J) zN4h6*{g#gpstry8zb5_k;~gERfi3v_xHkFiyb<%BBy~6T;~nVUkgwIYrhlTbz2BC~ zS@lz0mu%dQ!~N?Jw->AqyMUhv%L(%t;Sf5S)1VnFp&1O(bZnoW&neI(@lknOf2Kay z$y@Jrm~Tr`Cuber^_6d{bp+S3@t-4iAo>mYKz@nnUfu!KF`fQj$Srj1CFu;V+dVOmw{^*oXHPrA5vxIGQS#t zql`JgT}eJEu)ZpNPo_LoNb;@i`L#?sD?Uc)N6O1neM$WBo!zqZLqe}QU8^kL(T8pW zznDq%p}61m5?K?qzbEtM;zQN;R{`5KQvHwfpP8qYry7!EE#}9{(szlh1*^Npi^@|+ zMaO}>oQJm_P^SI)G-!sSG$ZCc7wZ4ArBx~w9@v^p9-3|f2io0B~c5%6W0}Vf}olSo+8+aL1`_TI9 z@B`qbW7`LKBdj<2&+g#oLJvS$Iu2b8<@PR2$TvEBnghNE`~vrT`!yd+8G?702)8_h z`$nk4{wdu28}JoKpeVd`xIBfcfeyZ=yIk@soUg1u3b=r0&EISJ49fE{ zMmgJzmVZ8h{_6?!-$r>{yITq6_=0~deKpDpG4eDely^t?urE=49~;N-P=HS79^tzI z=RnIbCVVeolT#0mG3}T51>i^U99+NH7IBT&l*^q-g|7fi-U=Uzz`cNjvJ3(ytbjOZkXGWddp)T zxEaBPbOFcb)_+;&*e?E-hJ#O{xsvS;IA)F^~-t{b9ekzC9J*w3Gkk~ z!CwpQ-avk!rC@ni-Dvt4h=mZ#-7ayZ+S~|eT0zf^ujO$a2^7Bo{3`GfJvloVzp325 zBk0a%WbUwUr+_;myhC}h#y4QaFQA+>J$));h^GFI0L>C;jGeeO2Dz0xr60C10yHQGIKcXv@Jz;TJ{V z)(E^m0(VB>Ll#z>?*Uv0%ZV%Hk_UySG&xSrjSf4DlPl zMRam7m~&N`a<6fFJsmIT#y>AAfIs;)gKkRN3i}vjXRB4770~n~$Wu3@W9)24Rdtt(2h?`p^M=G%Ra=@PpfNUW&dTa- z`3lNS9w@Yj$2Wp~ML2i>6QpX&Rz;NFl2OWO7-XidH|nwQ3}(t(HSY<*09ZoJOx-&AhTW5RgV z=?d^mMsF&Uv!TfcwQj)2@{ATfR{PZS=JM1S>PP0&_0HwMrxbvveVhR82A<>Il~S6y zBju@f&;)$TO}eJ5k9Yz!8PKS%&HQW* zMi)oRI`bK=(}(f_(_i&@&VMcgN7q zFHc88`EWw{Y(n`;LitvtTy3oG9Y&7|7b9?g1U?dh=OXY@1U?&qGZW$V>MX2dUIZMq z6P4|FgmyKCR>!yHonbwzoerR!XF5so|KL&ey>3r=f6$J%fTvHuymdCIvKQV}F7NRL z=Cqr;3&0&W^>lvlzJfc9R~`eC#?J)bSy$QDfjc5R;(grUyG#7DYyUWK%sb+qfy(Xq zKgR3(n1%P4H6lP4By;?#e;;QFkR?C|U+BlL+Mj;VErBlJvz$+;pVIZntvk+#9RY4i z`Wp3NZ;ZMy=XYz~i`>iS`4IfO^eejd zzgO0N?c3NK=3L3RzCJXr^B+#8QCnPn)Wv~12b?|Eeni(yXN%X^=_xUg&cQ{{aZR#& zX3!u`2ZiG6=k;tPJV&)JsgL4}2lXRkIl|-%{R(Y#5;P{J4ef943dR~rd;DXFuSJJ3 z`4490KV;5)$hZEO$>{`rm&(-&+^CVOLFI{Eie7y3T`sgR%-vI+}`_&{|yi2y9T<+q~F$-bG?)D}^@+b^)#TW@z7l>u zV3U(FdkM}lmiME)h-W)LZsPRNHs*ngYop%QeH{2!JV#<|NZ>z)990?*KS$^2-tG_C)v zHX53@923_8#Ov-^b-9gt&BEL4efi8bn@*X1M11bP^zD4+?rE>0k1v(WJK}-4j`IP3 z9_pCXd^tYvs^d8dJZUkW%>C`>)yaZwV;Zy7NUEXLcqrd3xj#G|iZ{Y_Q zsD}I={-XOL4`6icR#2C^uwxVY?kL;e1il-6j`0(YN5|LAe2v<@j{gMkfi_;o@sIN< zt8B@J$^GjCn^3xX#QRECcb~rcE^FcG{RePACJLN4)Qz&+=8?lv(B~W7c<`D zl1o!PO#Fx1SSWtz)2Tq4Bi}X9HRBoQAucD+@;zsDy!<|J{D^A??sSqYT*tqduOm;= zRzHC`DYVWQ1Npy?mmKcV_r%%7`lGlb|4lQWCl+7Euq*c5pa zeiZO7JW~&Zj{`2?+0Fs6Czh|Gd|cXywgdEo4vkom6V ztC8|L%WDheW*&sb^hO<1)l18{a{1nRWG>>{)NaX;c}w{U-!bRL5#J|sf%w#ayE7lk zcoo-S?b{_WIMr_vIQB>39>9A57x0&S2LSKKGxVbS*gnl$Db2@spi!M{g64MciS+d@ z?J9j7+q?0*syp$y_9h|0WwBbi2JnFq~;@Nqe=QRW78 z{F=U}=glQ&`HaM0fonl-3^M#F3^I{A^{R`6z@3&6FC?S|qAoC!EPzvq9*L6ko)~9h8`7Z$15blS2FOK-Lz&{^&j*Y$-r{h+=Y4S4;7kq)V*W}2_V+?ei z(ni4F0@k^*0=$vI_%GG*7Rvi<+ku$E>8-eTAIeHelFnBTLe zd_zBS=VH1~!C9XlA5k{a9RuB}$P?qg1Mfeo{G(f%XLff~8@(QLN0t0qe{AwFp?HXQ zd+|+W<&*KqiXQ{seq)SyoHK>-j{r|Qh>Hs-!wKNm1Roe1=DV*q z?otRJu)XEQ4?IF)UixC_V~sBRjb zQX#)372B8n@H_UmW~rNjd_}4pGHKl*z~-)eTnu=>#H~s@_SA}<-{Jj`AJd)LQxS?W zHUSsVF8@-F>ZeuMTzSAI>7QQa`==$)Oo2Y+p91epl26Y?6_PhB`A!<&nS98+GfBF! zr$eV1+F$H^!8?^j$A7V8{x#}*6XdrE{4ivT%M~b(ftm_?FTuStU3i^+XPP|D z0&o0=kH0g3?|$aa_$A;cL_aQ8k#md!%E-U#Sru~561O*0TRRDw9xp*J?fKPQ`e~vU zOaHRB(iu`<&+|i-E zPrsld)d{1B9p`qv1HV6i#!J_fNAAGOe0)jRM`c&R`gjx)GqpYT29WSd5^&ks_J* zjJp|6)Y&@o!1Y+1J-fdpa5O1#y!5A7A-_EvtMAgE5%3O0x@c|}$LFN?de@W&9z z+CVt7&&3Ur<6s|IUWanp2>Nog?DBl3V9Q%kJ}2eDF*zV(LVDIc3z|VZ)9<TvP~>N=U0@}k#Qhy960(J8^4L} zS-ytyRw)mx(}39q@ikW(8|JtXt_94w8_dUXJY1a%n!&N#(Y-U zN3W_#`c0bw{GL#)$}{+~3OQ$rjo0{&>$}YNoGANT7h*2yS19hiJs9_D`)%m(6;K{e;S~Jd( zy|;(NnLA9u8I*h0HZs>$q}F8~l;p1VBQtzPb60HR-1VR}vTF{|>El$d*$dfw`p8q6 zy`Hv{y8$+kG~ckd@*Xwk)of?6lyZYaOhYg|8- z?#5t_xd0v9;{cxF)Ub4Gn4k zT;FkK;ODfJ?ilD=!7Jc9L-JF%!5ES7@z22TqaMHCr|_kBnfQ+SCB6ah2A+ez+v(k6 zzNtri?cEikL)s4{e<}AM%BvMPp6e-m1z_@JOu@PXfN7`t{+E_7pu8hcuCk2ogXp0I1a3P0`Mt32j0>2Zp0=ZrY-pK zH@KM4t?|lh8#uKI@+!Z#Lhk%1z6NlxAD05AZ_u`12$;_{?svaUP-ojd1bl6#}UBu;d**@w0Ad@q8yaI;Xc)Y8$ZY*er50OK*n5kk{WgSWc3@a zPfft_jw`>Z6Yv#o?0Vkl=Wr=&AK*ce)#U;48;pC})veutvEW=H?Fwk?gx18Wv~iYi zp!_N+ck-*$ZM$^^kl&&5ePyGq+j_r|H(=xL_nh}*xqdBf^Xl(8tG)&vC|S?oH-&eb zo13`YMp-G}8PM}?UZ4%{b%A-LbTx0%b;!IZfUaE&~&|ND1l^lThV74=g@>P__ z|w+-)ihk>kIp&kEXE!!8z^w@`kek8c!?xH*_J8;5nv&#@+c9QaPtuKMh&-AYh2OM=p# z0xj>eC+z22@$#a4r-yvEAE~gv1uNrlHN~P%g8C`|?pnc}-1n((aX#Xpac{UwYH7Mb zlajVW>&GhsOZk0)XK9PPyJw8=;P?{m1#Et!)*oNRO#(LzI@l*|UA~P$TVcJ-AE^&E zzO~Ahx1yZ7Rvx{8r-g^lUuidiqb`+a?fXq!s&kHf*j5k9Cxu7Y#z$TY zf1q>@lV1zUgY+%7odJ|{{fSu@yur|+7Ou3KZy(7fO#3=Jt9<1*zYj4kR@@43bs}S_ z9yWmEoUXERYyyU>h_#QQ$8hHoc(bmR+6Vhin!+C|jXypt-;Z+gW}gXn0^Y`Rf(>`X zq(g7xVHjm){f-a%vJ$?^!W=uo-GKXqf5=W<{S&}LO%6U8ftMoi3SiX@`9E&q0(cN! z1Kfq@z}kWvk>(p5v^CPyf2hK~%T$sh;};#h!$^o||IUGyeyL#VZUY{`Gx)22xXXA2 zW5?v*Kc{Cj#vYZ|6v`>P$}t1@q_MZ?x2M|jL*A#Emr*_TJX#^&!ilagv@f>#LEu3i z?6<4C1RUoN*1^zw%v!hmBgQ8N`XshWz6-#el)9087|-6XGJ96i4bOvz^reJu$a`PD zma>sG_z(NHUME<2-UY1FlK-X)$^Jy~uF>%$)NE{VMx8 z|3%y-J*MO0=8cRqaj8EwevA4hTnpIPQ9w@M6hD}N*S1aqADN@lKl1(ta1G!Uuu;c1 z|M3cWA0ryG(1uvI2t3r`cy$8q7GCzO3eWTbq@4w>S#Z7&VEG!#xgS$mzXAApLRYGn zsy{RFK>>KyEdZVo+F*RPSK>2m_atac|4h5|d#t;TawDsoJNRuf-DR0MM!J^c=1xUi z+)6tj%>rm1#&bkZ9yZi2w?`RB+x6$LCw!AP!N>Ka-|Nw(iBBZ`)F&%a-w@so6JdnT_$Y-Fvs7nwMC{Ab^MxvYcx2Cah1ma%JV2!ySWE2`y6~HRB1l}ocd|D zw_std`)R=a(uQwyI=AZn#^ll5-UmsC`|O<=@|p*JR_eO**#h2guTuSYd>U~}CSkmb zdPiViz9an{FK|V`&B4XbXx!uTzdO)=)8FlkpFa=2c1h=u&)+*>egi;s1^lM?(zsmI zhS;j=@z`f|k1f9Pb@Y`^kDsfMZ-)f*SdX8TtkSxv<cQ&TtocYiPMv8*RJfr zN?eP(XIH-7yKR#uG;Kx^(+qoO^3SRRKVJ-&p&n0p4T8SI=#2C2dXAya#S_4d2`=nQn;wS^S{sRexANl%915tz zKF$9#=DpB`-|c!3Noj3k>6FITrVX{9?k{OSq}+YSS?BmM;Q9Mm+K)v?@7smW$(k=~ zoLS;ik-G^vQSa6esQ$kCD>~kBbK>nXCseN1HM8H;{&fOwg`9RDifd^qZC(n7MV?>CS?zXnjR1AKyKVrt{Zfuro2gQNa~F)-m{rxE*s4(gP+ zm+)!8JXa(i!kd7ptKc4-j78`s0JBdzH#xsZ zcM9c2zg+HbDX!)_>JxoGqqu3{dZnJ5Cu0B7H&-v*2dz8&-xbl{6BC`X?k9k|AABS6 zCcZ=O!cEss<9AEqlX@&TvhI@CD)0f_^e`8sGL&zW-f>b~J#ZZ3=)QqGyMUV(T)1x> zOXAmo&zN=K&AUo(S<0A`?%em(PshfdPR{lJG4W(@&q&$GBlCUDb}A9 zuKj^K57N9O_Y?Lo1Pix)QrVY4&-ZuK=Fb4`2dw!}9k=2S)y93B)H)Nu6;Ma#8=tAe zV<p#2Fmzi}!b${aL$TNVxJ&t}~elef^J*iND+|0#%eyO=vw8F2{@mQ1)jn*4 zrVsRiZxg|f`F&8j-pX8RS>z1a0#?6tXBietZL_W_XYaKIawU8h?$zeo0PJ(^Q*x;> zv>DMo?ru2UBMx-W&hO5k-gs%fkT21>REKDXvg=&Z@(z>_n{t^aT7DAc6M^ztJX6+= zr{=7mmHZv#lJ(g6s3G8Kx3(Re-x<8>Z3g%m_^8;sXrIj2YCFwObL~(r@bS+oC`Vry z4>=58?Ry;f4CK)MOaLwh`lIEmC~x-Vb#|1yC>K5JkTpCSH=I3-JT7S2ZUKJ@_W_RN zx7-;8?UXd*py|hRaE(yhIpB(d6F=SXIbkvsndGk(Mq9tI3ID|#Y)1TbSO#Xka= z&k8>ZSl2$%9|znDe4JeozXALZ@Fn-<@OyT*-?;Q-`@eyG2h3rWxWx==59dDy48kn zui(X(f~8%3cCv0%j?Rm7_C8X{nL#5GPV&1!+YkCN`c{$cmviEOHBKnl@@kY9rH+gv_WLr9 zvbEEG^nhkgXxu#2`$zKLt+EL+IGDgkbhs_;bwtf1!Imvm%?q|q&)5ioI`z%3Gw5A=Y&Vh+~T>`Uz*=zBW**2i*vZn z!De9f_-3@q(*^t)@D13jcbmyNicOP8<8Np@=6s0wXyT3oH;DSd_tNjM?>`Y=`~1?n zoGZl50M{gK`{z;Yb5PfWo4^ciEN4 zRVYv5@o{?EEyNpm{5J2G(P*&G-xH7u(9bKw|`nv7C&J zC~ua!QtooTs`mll=^Jc};>KWQWoiS(-_GedqxwtN?`hx~rGB{I%P41lB;pgD-dA3jlkY!8#-__# zFyGOjY)6_k4l?Kd+Q(xF<);$LwUa%C z$~iBh^LJ|lciurq*~D)Ho&&rLIO?}aL;Au06K^BLo!$Z0*-~1MGO^xC;24`WSa=oi zS=qD3_|dlfR$01762@Bp#7lA_f0Nb+JO(?6^uhb{K>h<83YYZLzIU~mm?~0F?1yqr z0#Cb*Ss$JL8rpOAE>38_E#pES^?Qw7YkrCL#q!aF^3_PW_PMTT;(HyJCcxBRbncRO zA8>S1)~?(+F>yn{6@b&6GwqM%lPJ&07{r~`d{@qDRBzM!bv}mo1KPJ`;H_PYf6z8I zP)=Lp+8#OoV&>sG#v96G;XpV>QywcQH#}l&WiR5{>x^G#pQbw0@3~mb=MP*XWYM`t zJxAwD{U-cB=-4*#g!f!-hJA27Jf>qia&cSFX`v2RJKmg<-l9vZVOXh^63S9Qe+apI;wka zrLXBUHrHb5>j5Wzt7EU8(eKA)iA?B>zRT9{>4NV`$Id5r{(AsF)AJHswTL|d9&p93 zPeX@IAGJ>-fIHD1&T(`dk@Ggr8}@k#_yIfz)>*Lw;u^Z)v!MR~4z3~FRh~VV#mxin z{ek=P&6eNH)rfm#-jvuhLV9ziUCejzYaQApS*zLJ*2_(t?(*hHK4rTqvIonvhqBqj z8PxMWny+myKU98L&Xq7Q)wbQ?Yt;tKny6!T4CQ=QcmXhNK>NQ4cocA;j}F&zT`n~b zTrkJ1e9i(Fw54-^3!qiKS6#0;R(C(55p%Js9yILh8t{{N4)`ngE`rx)-a^o}273Km z2J4OhCQj{e9B>EhD73C4(93pJW)J4Fhbpp%%c*nzim0!=YA5UJO_;+n&H-5;Fy9Gd zduRKMPY>vbXN~d$XxiU1uh4y9fX9{Q8*JopSS=?q(cPmu6yZ($o&>yx#YYZY~n8pPO0{{p!-Bo~d} zIDqQ~|Cb)4tNdWTTI(FY1N;-~6k*z5a&^>3W?!TED&L0q%hCla$K()VrzlU(lDFrp zIah;gX*J;CpJMNLmy2EHnL0WhKNN zAo=$o|7ozab+5&|gTGGr#zRNC&Hs)Lc`v`ttrt2M#19eIc#oMUG4bIW0-plkySo^G zkR_roX8kj$Z@wky$0r4g`w4KA+4c!Xn$nj}{=+e1{rcBy{3^DNHz$S0;Rh1%s`q)| z`Ka)QdZJ7jo{oSIhOB9*M;>vf3L|4GX|IM zUBVA5ua^5XK8b19^FIs7_=#UCg+(;Uw?x8HeIO z;aU9v_K*7V!O8R@umzZY{sWQ(pB(Ec_-jDKiD*xGO_*K*Al6jBCDsYj~AIq9Y)Rtu4Vg(W3Zq@vuN}B9zuqf@ z_1+UxkM_g%J`db`{CeJg>yxz2-kIb!r+`ap^Xv}wYX3;<`D?AVHwYZZD(Ke~Hv`bytY6$By@rNEe=czw!MKr&e?BIgnWN9a_sV5WwzDx zL0uo*eyM=vQTB(#Zvejyez9wED{iHrG40>E59vLk((h2+079i(nlt;LNPdqi z6rB78%ct&7+#XlQ1$#w&<#vxhcBeqYb_0DZ`KAkH+CC4R%3gO2enw=E%dw72ETXb^ z|EZoC`QxHGIRPBRbUIrCoC(0o5&Rlp#tB;g>y}>I`Uc=u-~;`1{=e?ydNx-o#~^UQ zc8355+qowKk6KvUeGu@A6WUz_t|Nj|`E!33Znp|>u-%Iya7_d*01oP}5pb{{O%b>` zQvbyfxM*SZmz{tcMRwoUb=h~3XfLDZ!5;&@AyWS;)Neu=>#qUd^$VO!(KzqGu3gy4 z+lYd{jn<}dAM4fsy{-!qQ{XoP&3=)34aO3L>vor=hCt8ff`vx`pTl#&N8y%_pBH1D zfzRgb`%B^2l4DMM@pF2QL1b_-191-n7dStZeY>{32%MQa;df$2?VU!}-&o$+kCW!o zf6%d!_H|!v?(rSiEqh_o^?+_r`YLpyhp3J^s>)JJprh?@-6y;ZxI0j?h?@17|wlXlepu+nZ06cTq}2gnr$2BzF_Vl z#O9)6UMxQZuhn4duB%J6&!8r*ocd=e`(*Ya(zxV2&&2H0c`vQ%6?6_`ZahJKAm>b zId4;5J%DGxD-i2S>_s^@fs3pm_@eS&c=~~uGY%CN9)9;dQ40I>)9FdK` z0ppS-IA?axPUe3xc|PsqHGum{`8fSA0KWlzByM$fKL6GDy$ogC+5y+`wd8u!JK)xV zGxGZLO8e4rTKAiQy#YS`qdwt1!1qgE1Nhr_<*V&4tKqZaNSm28M&t+mF`;*DagDix z_Nn@u`&Sc-*Mp9AmIX?Mt!$$^K6IpH-Y1PisTRLy?y34&`C4>@8(=1)-QXb;#XB4C%$3M zG2>}ZgnV$_S>(fOXf%D_lDILIziWmeqes6-;y&k)!{MV+0S5{ zspHV~gz@FthhD(TqLY&R=6D%y1F}sWv$}7Zy)k^V`&K#SZb3QM2Q61Q_oKW|$^(4{ zto~pgc-m~tUS*K`P?fQ2J(oHqc9*cOe#PAXqbz5>wR4-T-^RKtyh8h$Hr!}9&AqC& zSvY6TUE;^~-7>b?kG}8ZQj5Yf{?4W9zVKZWKdXM~0gsA)+}Y3TL-P-K)>Zu<2Tb`? z&pO^~DDRST-{!T=`i*eh)BrfhLuKg>mm^Ly?`2^!6@K6N4CjyT~;0Gq4$2p}s9p4Ju=6fRW4B%XVehx6(P@OIVCO?cJbFOmKrM%Aq z$7h8%BJg$u&i&ZXYaglsuc3ZvA8wL9(08$~=RkK%WN>SsR}6mi6M?Gooc;-VWBhYT zPV8w7v*Hr&_H?~%6cK7<)U z{gHMBv}O(keB7YP=MvxaGqqpGt4G%e;s=4J{K{_va0}o-Y#@6M9gk(;c^0npX90H$ zy^N*FRoHV6@^AjR8EdWI9f5};@PvhRoaO=dhULL6I@Lw{?yJ$6YT(&c=6^$W<;n{Q z7OZDsBq6z69JRaDxWte6H%RFI8#%OL%;o?E!xZbxZB}MmHye z>lN3+=4WGE%PRFzYeFv;1U2 z`RPbGbwm1Xl+OttUvFI&H|tfVCNu0`Ol-C{-;(WmYW840d*~_I!&TYt-Px;mU7jCE zU*zRm+Cw*jsIP+M*;rATc!yK_umT#=V|~V39{CK%gR-7O`IMB0_ry&WKbEVszX1`7 z|8PW{?aE~jR^W4MxTRAtH+!G}+A;YK?5ecqsWJWJ?`|G3-&P~-)NV5lIxaI7R(;L^ zZWbAReJbuWaGeI{Y)$#pR~eg79b5(2=J8(2%LZCLl2HCZl-u0Zfgt@7$}f{PbHYda zyoK_4l*gVG^ZF5dwEa!wIw&kkcVX^ zz%(U#Wm{WMRU5LomB^h>9!?b_cRp!@GJbn1Q>}Oo+|LYsGh6j@3Un=?aWHi6eJRim z)v3Lf*a~d*uVsxcSox|ht(0%0hGKKR3jupk9j}7sMMg&T2@*F`u3f)c8U5`InWNFM zYJP56>SoZ|cla1%%Y8&yBY+zNt`}_tbFtJR>zxK}MA{Fpf8u9=@2;k*BtJHk2>!a8?a09@#NIjDyirOOKnoG-4HE;IBwh9)WL%pQ^HvKK@ ztbk@1&w+m9lauz0|A2X*pCoPT^D0wgc*epW%@v}*p{qb*f2^~JI>%7Q?rXfm0sAC= z@Yl^8QGA=lQ@6x#0pBe3oqdM#+uD!D2KWo{PocTy;q~;;yHn)3{u`C4?owJA3*uXT zv(n}u+^=epmnOuUDp{hI_$d#U_Rx6QEMe&9p*Rk3eVTR4UKCRZLgJN8~DK1JKvdZEtO z!2WNX+NHgMZk;B=X#2Ktx{kxU&yRQ*{>fIGMJJGRkc#+z+ z&qr|!z%@kL(0-l;ZYP^py4wG9VRYRWNH=kTbW0aVw|#+hO)We3gLbIOi{$Fget3cxm1)W6lQa9|v zen4GrJFcm4e7RP$&OGYSUt>MxFI8o<{B%P3o~z>NiwWf;3FXHU%FiT}SHCR2-HwFv z(S-8j3FT)K%4@nb_J)2Cv#Wku6Uqk?$|n=b7ZS?PB$Ve4hUL-u(undI8Aq3c!d<^T z;dR+97x6dx+fePh@%0+LWvViy zt~P!lX0OzqU&wfmAaSC!z1Lu!i1&y5mfTCqK&#_iyjJ@r`zM^W^yPEttB%h!@Z=lJ z_i_9e6Ux^k<=W1k>yQTkANb!;%%QRMDDVmI;(FhYyeOdS$y#rvJ-heUi~`yaKXe23 zrQ+{PVs+Q|^&8a&?A{W$NMCF3`jN-bO}Z|-IlxyjUHy6BIY*-FlG;MC&+OqNYYx9= zd%5QJ+0HiT%>FK;C0P~spX5DSTMt{bh=(AYf ze4Cz8gvXqEApSJ)C-GeJ-AR6<=#crI8tJBQ5BGBxa5?I!JdXnAJ$aR90dU~1sH59J zImcD&HePPNkwM%NaI_z_mlePh;2Zni7{5~T zr@p=P428!08m3*e%_-oD;A{PW_%+qZ8gLDQb8A93*95JbxvNs%g{RM#97cD(O6{cy zxFysru@|0295%lt&wg!zj(yVayr^9i?shV}cd$v{i}DQU)h_xhtTOilZua@%-4}BY zhy7sv8Q@n1A2ZM7Jy2{SfG=43!Pi#W@8gAX+yh>h$#IisVOaBC0UEx`d$~`u0-EFC z8OeP%dRLm92lz@IhV`$e3cZWplZ`u0x{c2ZVb>8^;$`nE_HwKph4vtAPVDax(hn;}Oq`i=Dxh=45 zmUWV{t$_9K%&v|93L?{M~oQFPa>8m%}m&N1Gj^{4S3h*>u7Imzj$Be|0nHz;Of50`|-==-h{yAhE}Xt zY5k~JQTbMMOwqAQ5|YxER@#z;w%F2^R!nJ2D^^riQE7{nW!PcG$&_hSbWvGFhnhLm zOi`IK7hR^ALyZ+{?3jx+x~RYR`#I-1pU>yqdm;0eSJT|*yr1)&=bZDL=lnk(d$+9C z_Z9dCY9MWqe9c2!5{tzwqdYdeD?3>HRdaV;btoA&wwGr-&DJRUklH@x!Fy~y+5c)} ztIiW6TkQLF{yN>AZk>)gkKU*2GtR#T{O*m~RO)_Xld4BG=*o0~Jjw>zYm#iJsz?3X z*VjYKqGrsr=e%XdTlJTRe)A}JeS6S0Qu*ik^P}mE1LrxU0_ij+A2NF=ESsbI(LUDW z#eH5)w{zSZ$72EY^(aU6$t%EpodauM)$f2mM>;Vd#1ZFqP0L}Ee{?hD`dpfn#FRCr1CU7P}=6HGReMfe< zsQCF}l*&K(Fvc>4%5!^mW=rxPV?MrV((Jp%)}oWp2s)~sN5C@&I?iL>SJ1i{eRs%X z_p@P6=KH+NYtvtuHO-tp(Y~9dwo~&S^vQ+v-+>nU&d?rur*uEc_0e~+k5*a7fKL{Z z#k&7|C~M%oIkNhrvQ~jFOFek~(>6SYg;(2I4w~-#-x#0o`SI{9Ao?rXOLXka@;-@) zY~%aQJYC-=)9|qZ;VT8g8$J-16Il792=Bpfk$+!Ncd2=iY#0Ago)hcv(C1Lk_5-G^ z*!OkrFM3s}UCP)c|I+@+w*WrBO)7SJ9jx(#Zf@$@jm8@X)+Koe+mvD_fVBd1Z>-|C zU)HRv?(OIkKV{o2@!T5nt+ZLz5#t6QF>CF4+uR=W)(ZJf zgReJ#KJksu)^50+7YSy=z$4e1T9tpqLoK<0XH^NPMi%uA)8lC*M z$+)L?VvPp;Y{zzPCUwg2iaBj7VcVw+VlBV|{AL}K?g8D6-?m-d!gi&+hk?}tQ~IPw z*L*6(qkfvQr*^@%fwzh5P!GkXfn8bvdkh%QDn!a&^rg&-Pn)w<&hEe$;4iTzVC_ZB zOJw|x2a{M{wU%e>@3qWga}B)N;jd|w4WBQ}mndsXnhk0Y(t3Io1q2b*jDHDX#UhQ1Y<*gIpEED<$ zwEN3h@AQd`GYqWJVs@MoS%nYFavpr9zt8dge75k)BD;1$nWO)p>jIB~(21yp@-7mz`eAWNs`uRd}N*cZ3W1MKcvkfr)F<|ro zfu*NFPvUpZ`Qv-d8V2JuET}wFHyXDS;f3NV&)PaXny=9>P3=e7BuZC(+0?7jwI1E*(XAfc>CwF& zJ?PP+maaoSSvQlQJK}lP_f@u);p;oruATlTJb9-*I`fryeyTxpomKrs4QToW*_%cm zq~Xm4!n+ED4;BcYC=fndAbhDn_-cXh)M8wJEyn=i-SKjSACc0Fm80f&*pm|=F6(0o z;pXhOwZR99u99QWz|}?;!9#wfS3SDqt8u*6(%NoYL60MT#Fo((!@VWe4|O>TzCq!O z`A65MwSO&V9uV5jB_{I?R@Mx7dvayr+?eyVv2S5%yv*0NFO2CBU89S|)Al-yc*~Mr z*p>sUOZ$>p1M%kewaLFQ>!Q*w{@IMXb9kn+m5o+T;+wkn==y2sV$1P%_Y3FY!m?HU zrV!VZN2s6HXJXm-Rjr3c(6lq_Kh3u<;9-@&2Y3p&>eUOnPxzheuqDI$TC2p{Z`!)U zxJM9oBpx?>t1^s>@(<%SgP&#A`7b$f!*s)*LBqC{;l(4BqB4#_##Ev7^U2s3%Fz4| zek*7E7v=%4n%ey1mY)2=ttj(0GV^d4amV86tG?UIu%d0_;vEF5dAs?c`nUh9(chc5 zLWVm6igI^nCA-{jXrcYd3CL)N4xS9OEf-Jbq|~?Rh`ATz@nUV<@rLm*&!~Z1##=_b z)_6WOPtteO-pE(=?VR$!S&E!eaO1lJ;P>Ao(tI5U#=7-%y(OZnD}&+hnD*iE;_RHu zm&?m>@Y*rGj+bNpOxsEQznQt0wyQqS%%|V3w2UT!8(%E*BD7Hy%jk>X zWBb!|zHDig^EJ@+?08=N)F-5l>RNL_zC=5G{Or=*>EbMae}Z^hSpWkRq&brVmaVRpv8thE%eZu0Nt zYx`OKKE`Uo7dyB3M%O0LzLmFWMb~O$yswM$s;vzFAa1`SmS)?K`UgE~@~yTJ-kXAF z)!t3*z2b*DZg6%S`d`SYRJq_|8fw!Te-7b##@c`D?m>*DHIGMs1ihs^@}0xP2Z|tD z^LXsIX%B%-`-h-id%6$blj0)lwz3xfqj5@p950s)XtpWh{<=fuUYyGY-U=)-t`Zv{ z)&;ChF!3cg>fR-1yl5lDXA0msGJGri`6ar^;2c*Tpp*-DkK3D_5)s;w3-D z_#oGQcVHL!Bf2(0zOlzJegz-WQaL<1Ad6rs>)_AelSG!c=1*yVZq`qwoPMrtCeNBE z_Zi-8_Pfa2`M9nr=i#LWZ!vpta=t&fO@Tc*58?+a&Q6Xr6=7 zHc5ZZ@G68)psw@o8*a}Yzi~%)`ljMcl8uh-lW`9I2K{}$eVLYQH$Uh>+Yc;n>u+`a zHM)k@67F?D-U@i;z#mzkyEr?Z!j4#llm*kA_}v!!_LtbVypP9ph^+$a#c%(tpz7QH z`@CbR?b*p-dv-dwmp01wM_I?gYh{^r=6&WZR$^^9VYMcD#(b}lGZQ3lgdo+asi@SB z)x-Sy6{+R4Ds?3gbX?&d;-sV=jMo#_afH#|RFuL3C zj1W5sY)INw&RPaghSwmx6~F0cq?xmj`3H5Ss@!E%9tw^Tkqpqn>SncxP#;8#9sa z1|0~$*b-(RX56Rph6~`T=QQvZi66FE+8Sja2S!_t`pTWrOU5v2>J@FnlsoiFtl5+q zxo8L4AB&#EjseS{=wkC$-etsF!t|ZwSx0cE~2wr;jdm1~DaJ&09hU#BZQ7ZNgAHy?L@_j9qDdjZ+>z6cLduYA`wyXFI z@BzW4PO#*DyX!|8KRBz@w#$eg!CPD!e-t>|mQ5RTX>$gNw#fMNz&r3;zu^$r@XXnz z`R)|gC$9))9|q59@JH*EAEDQLFFZ-@LG}`_rQ(XEDswTduU25y`TQt%0FRjUUh3X+ z4(eXgH|xE={jdxU-GFurzRtLw?50H*;)}q|on|THOLUAt?1#YWOd4Fjm#dU2x8f<< zz9MCRulb${jmZzFJ(F+# zsipFce9Trc_D|k#>X1Aq&MnP%U*DC@(Wj|z58Jfnf3dnWF)aGU^l))o&(m@b<1+tD zcN!SSY-skbO>6!d&R3gu@p|3*1LCNRDe#$jrqtUtthd0*{|+#FCqlaOjW*6QCC}V5N)r>}CuJWh z`B3=bC75IWzUma>wLYs<#y4PM8Hvp@yx$9FnKFD5;l|&@>y_9du*2ZX^G+VVHx-Dk zeE`QKE?If_4@8T(^~~TfO^b3F5QOi=Y!_%9eKN+r~O`@@%{Gf zN=fpNJAXy~Q_nXx&*ctp9x66Zp5{8(xA^8fGPh+ri-YjYBl!rZ|qEVH&hg3m5A{$&1M z70+MSi{YcCKD>Du-Y-sKft~eA-#|TPUIKqukoTR!OW#1=#7m(E{)zc+_uZ~t6yECw z8i=FzSn;w_xwq>1AB>tAA@`fu^mi+_Vy^lp@xFqDz)qVGA0>dnyequ71(H8rhAj-4dyd;PQT`t zm)iHhTsy7B@tQqmII#FMmf|Iy4b{JxDk489s;Ch#}ox3fR|CNHtX zWoCS(bOmT#uOfbqM^}SpIn>$s0cZ?iU}Jgw&5rD;WN|W02T9#2uW7d#v-o)ii{Q(^ zkKwn6!)qkFbzDX{2luG$xbY2EKW-M=(6mbSmL|TFD@*E~GFE_(0gv?ga*qYH)3>iv z+n1YLOcq^Z=8lvx1Dv`ePHYTDYzbJT4dIrpe(O+%3sMLET&?ytoO`;aH2j{>eML9v z`XaIYz_flyPk?59u>MF-f)4PT^+S3dbbUvGzHWPVVN>x>pR4sl{?(6_$~V!y@|Qdk z@BcXF955RXXZ^fR>qpZ4M9#Ps^&_8!m9iyI#Vp#c^n>xSFUym7%_F69<|O97w`CWS zN%MU(=97Gfz}Jl5v3i`xmryIrIF~%9!P8)PV)aC<{*&7O#PndE2ALYwOn`c{;&k?)k*Z&ZX7+b?y6N>jCpc zd}tf_V?HV8H29kEJ64CYXlb?%$`Hux`QZIusV!=&vZV_M2K(ZX6)%*P7-b;KR|l{kir> z8|%9hes&pt8Nd0LbSLP9wA)BMMDc&oIZAxL$+vIHTY|h{@WZX3zT*7UmG}|h?4wwp z=zm|S>lVanzNKwLFj>=3xxK*5_`&T5yk2d9ao2#ihH_;?MAK~i*KnNVr#S-5kH@@G z<`OWNnUodjW1#ya4e4Jo4}3M%cX;cO{5b8I@#lckN83K%#XE%X9tn4O+sC}A9>KRu z66MomnVddcsj3Vtu(gKgsHOh0l@MxI^-@({jj z>nRNEScYXb2|kvGmf?&?&s$pME`mM^e$P+v*2;DC6Iy1||E}%Zm6;qy*L+odw^ZK4 zjQA^8o(sT6;<}^WxT+V*Z~2~i+ubcu<3PuU(3ST7}~_$vHTnX4{azihY{P> z@@o7~?MtlR!<}O->v3TD;wpX;c(=%Q?M5CJSJ@paxnr;Z{LKF#uwjWC)!p1HP@YrZ zd1jpF3Ugc~tgq@H=o+)r;Z7ES+T9p%>Z9}lk3QtlM=Y&6oB%x(*8w&Y&UKiV-XF%( z820E%OKZ8zg62h|J)ADkEeAp1FS}5%6hR|yHk7#_<-PUP8V=3 zz5!v(L-TR0vx)7-#tYbOGH>qg#Iu}-B5&@h+{B|g-go6MHlTPH@O*k{SquY@`2Sdb z7oBYBk9t^6D!1k*+J0OMY5vzrF2j znk&+7yvuSv0Uo~&HQkoS3S(2iOuz1Ai(OOZ8ZaK%vHhCt!KlpNt%GHLmK(3m=A|0g zw9EnW%pY;1xA=MCS`l?P^mCnmK{5!j5$3$blj^}Cc6 zt9q>fKO}f;eBwHcjsJw*Bp)p;Da8RO-wV{k7Tw?%{GomkY<@)`dhwLj~VaWP5ra{}0? zq~+`YKHv0VwKmTKC$YaJZ8>jUG$;SrtTi%Ubx$~(i@qa-_i5Z&Ue|w)fVWT5j+7H} zP=YrVRlhaxO!++6MIJ)GraWW6%F_?m$9;drslsy9Rt|!vSJHC*<8Ac)noi}f^Q2?T zO3Qi@JS`$a{D6#GHU2SRCcn|LmhMyLA1uGt-r4B87a!vdTUup|gILCQ9VPqFVmlzgIn^{AEC|*b=aAi64$l6st>= z<(%12yO;phFY#>Ng4-l-TCS<0GCKzn+^oNDFT=UE@Js;fsS|w0=eoY_M%tI^Fbmw+ zhxFrjFp&(>W!&ndIn%9lE$9?5)v*qAm+0thH#T+}1zyOfKb!|sxd%3onH3j_PrxJUesgG8%VxVWip2L#_7Bpa}USqn%`;gv7D5iw{)FNYZ>$kes2#S znK$p4Z_iHAUT0vhx1cq+vQ8H+kI(190-Mefu+#F!L+svL@#D#C6?OC1h$`NMy}UBD zAE{Solf)V`F-#gwE#wfJ0cO@*@||IPGnazIH<5R~+|)zl{L?O+wP{uVMV`Uz#ypK% z%Vf;qt*gtqB<7EDswlTSTTPb!nM3945Bn)VU#7vc-a+Xk!^SfsqdJ9`Lc*^+PK4Ec_MZ%pLH z^u$`IEG>%NQeJPRDJw0@Axj4~y>ZaR|bIKCeBD~PKWYwVye3eB~2hKmJ?Ea@{ z{fOUmx=eZDDr*tptTWW7lciWiRhd1H1iAJ%B>$!^@zl3&Jytg$X+Y;Kk|$+Ie*~cNjMri7~WBqgeMC}#^(Ganf;4eo|sv{<(`J4(vq^0VStn zBxWE{5SPazB=&u*{E0fGFZszc*Wo$uPndZp>nOOeEODunp|dj?j}hAktVgi8ZD^ZX z20jnxoOg_k(R1(Rqa~8AJaPN2H!Z+ z^V$)7P}p)bk89vv%jI=rl@)x4{Dk0PKcTj~)LNEUlDc=7i_91@`DyRd?>Jln85#Wb z$9svlVQ==*GJD>_&NFa^n!Lo8f$_J}$1ELKd=>Ns_>Fd_bN|>kC@G`jvNC@SQS5}+ z7%*dZQioWk4cD=VuNA;G{f;)BgG9#cSarG+^KJSS%2)u;6{4f0(WCnZ#Il#G{(`kf zv4%XDrrQN=&+F_OH+g!lDATjk(e($hIpS5XD3dktoOuF24z(*= zP1_{j{Ca#Bn|BS#*V!IxGbnF!cSq$+1Fx4pB9br8fpB4jzL0iAIm=i2a%Ab!;Z;|y zk9Ti?&uoCNZGbmky?*+`z`KwYI|sn}*-bJ>*8Cj<9)#oOUq+Jfa^gzE|{Dn_mUqB=Kbq=gwcT?rQe8{ie4>&x%l0H59fU)=z&zh?dP2RFbMHo!}+ zU0;6t2KeL#_{s)&?R93nX6IcPH<>fiT7S*JBYm>-FN%*Az_ou_2CnCbXsh4x=wlxJ zLrbgtRnY6DU*EMpKDYtCumN83%Jt>9Z-7r0z_ol+Ur)!W4e+@Q@Fn1^b9+v}eVrP~Wk7dhosXa>|-&PMS-hNY=TPH7+R@KeA=H`uE8UCV{!r?R;k^jYcMpTu0mi{t0XG{*()Xpz31H4S{>*#_nmk8uacd@A z(~)@|!&A5FnA67pG*7L}h%4zQ{v*$c>*Hu)Px>u_%@wpPmP)uhL_^gb}y>k#du$%WObH|B%gSW-k zuxN7(pF}u+YkCJj+qz+y;5`WAbCv%naITwa`X@lQfR4NKO%DL`_#Ui{mI^h z*2O8{fygm+q4KM4SNRf-dA;a^^EpN@#$i6Xz_&}{r$&l)mdd1TkNHRHm^|+XkFl>< zSz-p03p3R`?7p!m8a>Lz6=!rR>@{NLTEZ_VO zpAbD46F@DG%Ddt=OFN}rZ3rJiePh0-?Krvr4E)K^!?2aRb)4sX1=e7DxO^&QPoCP> z=$c5xZgCR=TexB;H3Mad z<~TlFgvUfxeh=^zaQb!f_kyk$ewPm^Ut*KM`UTT{tkP^o-rB&edniDeQD0jJdh%UZ zn|v+GdvhYOEB_hp*`ngz#oSb2eDXIB8DB#^NcVyMIDY3@V@Tprnb-s7fsIrBXX=w< z{(VS&X;e?9+l1aWHFd!@OS~0yJAPX`+>xzFx2Muq7GGH^d-XVc4SQ@U z+hr)Trp9=a|HpVNH^y5oPmOQZHC-9U;H6Y^ zE+>7}ru5b6bVn+^yZH9l*SbsOoC)(ckGQ9#ebUw;jh6N7NSVDuW9NakZlT~CBSkH1)6}KqKKLE!8)E%+cz$Ep zoZp~tB7g7wX8qmv%h>)gwsVIy7Wy~xt$>fV9$ANRGEEsJcb2+}48LvP8iqOh9e*I) z^P%hm9zE~TOCG)A(I-8+WHc_n+N0||y2YbAJ-W}Mhdp}2qh~z&kVh|j^l^_qWofm| z%-hQ3JED>P*4-_-#k7Zt7VUrSm#@`V3?Oa=>P_hpkDl=81D0;K^*#sM+|hF9+G^76 zThdpSq_5hXzIs!-Bc0xz;@$PvWNYG|vlqY1`kjB!jL%hvWlL)stDsF9*2eR+JwB*# z7thCaY})Ni3O+{5XzlIr7ifdlj$Qc}AF~rntr_&R;m5iW)wP+%{b;|SU0<~$TbXW8 zr>{i5>T&a}(v)dN^{xL4^aIi#Z&W7t=ah-++cmE1vaUb#+7rKI-oqSUwdrbUj523n zdA7a7)M)^nNq2#s75!uVcRdDMmFiC`9@2T1jHz5ZzarX4Y%lB4KBC*ooYM9)jF$v_y4WVRKHoo8-yHJXP$n_SNm7tx;e`I=8f)Yacs9djqwQLRps_E z(w>Mfya#;{j^q{C%ULceeoacpRpdYZ!O&kv$3FqmYyKPDEe3vpCY3~CM zf3vKq>ph@{@!Q+$ak@RRj?BQysGiwax9w-Z(|ZOy`_F)9?hJUodj>p-k8GT;3(kP2 z?F@MCJ_DY~b$GOXKMx-MR{Cq8`AtKu?^V#lp#A!;LKy9#_oHReZ>@FeeiE_w0wbU8 z1KnFB#6At|4I%dWXuSHrElWHv#IB5D*8;mL#N>@A)#V^C^M0lD+t)?oJ+=;3d$4f4 zTi3x3tb_e<9W3}*;qzAVuhTkQ0^TfgWgq7nZt_%uW}2B(2*X;70 zV^Lpy@84lFdDv$ei|B z>+>yr3g;OmJ#TG|`=PgIt2LjCpVsw2SLVEnuv5<$Qup4!*L6H^T!!^PE&tTKjy;_m z=i5&Mv zS%-Az>zH%4r z1!OqRs5`td&k^u&tdGfpf8Hld>z_83Q}<;(Z|3Zd`m{v#Il2yy_E#fcQ5%i>7p<4d zMVvno#*O}>W$kPs9TMFo+GE(2rb-`HP!*&k5Theg#<;vp(utmXQ zex?>5AaZ_Y?wdN7$c^8$T$b1qm;GwJ2dM4$A@G>K(3QFCV-5j3SK^C*(0jD5y&VPK zY~-ttihW}|07f5F^)EWMaXPwpx3rwv!DITt*xrCkYY6z1NlVwtp^xm1VMRV1cU65W zT+3zJEufbrUaSlUaX1n4f7vYH8?N#I1IKRBc?#*(k74iWU&DC}=~~b%KgF9t2NAm4 z((G@^KWu5NlX6{E`eBAoBfJGXc3(ndF#I^e2P8aqFG*!~9x-bLb}lI8#JIf(AC3*q$$$9q1qXQ%SU5Dxe0%4rI8oy0fg$FgVq#Za!=pVSMn)W7NeP~5JGH3Mrm z@|Z5ZKV@Ok>8r}pSC_W% zQ;5sSY(u#2Q=@fJ@_lW??oNwbl%=l~eSmXb4nJhx`b_r5H$uRtWis=hy7w05Tg!D3 z825IRcNsME5*?Q+Z{>>Fr%}2JH0wa=7K>|{wSt}n9w{?zpE!*f*5xVi(Jt&<#_5vz zf!SA!>Z0XS53Dhaqvti9F1^5;fvavapi`EPw&wt0^M8juF5np{Pv?)YcZP*d7#(#Z z&-@SLdNS_}UqW~)S)k74{j{IReHG|^)>gU8S z5UYDs=a3P-YvnVL(*DVFkUYgwr);;yHy6cMe^^G*G9kV62xLDN?)#B`5$F7qH-;eN< z5}xm_(p^%QDx>EKZHuAbqKpxQQ(jab+5oYGzy?Hqe*Yai|r46G4pI^VV1>=jeLd0@>J zv*%dk&bR7t3OLUvC|&yN&_)@*!lTde=xWf>_!oM3gGay2qnkZ?mq)jOrfvcLQlC!H z6ZjpeS8O!Mb1#nP1bF)5JQxRu@0*C6-{`#G?n6MzZT1~G;>*BiL`G~()6DZIT2_Pq z8;)5RXAHFZMAGA+X$#KoK%4n}?z^MI7|g3pubfufHGQ_$bIEU2=Xk%vw1$C^Pj#EL zw8otUZOTp7Dqg2+6^z^RJ8g#;J6vkU4h-)>xNSrDa%MKAvd0jfMOw@o`KCY*<2Mcz zhG&g%*jn-G-{-+!YtA7_eBiWSy%$FR$MB;F9}&5cI&g0>Vvh%F3TAuByi3A3-6(+$ ziR1Q{f>+wNB#6%e=NW3xA0~$)4l%rNvb{|6aJ(oZ?|oPw=EmuYZ%XFJ1Dlsx;N7B^ z^N((xpgg1N@Mt=#;L&=t?HPO7p}!d_&iJ

S+~No9Ga!r|xW}`rQW9aEX*n&ic({ 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 z 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 o^C$fgqYDS9zHq}hx!TEw>lx|` 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

N|PS82519BR@hw$=&R`}|Cs+<+Qh3%qO)3+O^ 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 b_-+62<@D-%L8YU2?*Q+g9Jy7+E$RLj(FxQ% literal 0 HcmV?d00001 diff --git a/android/armeabi-v7a/libpython3.5m.so b/android/armeabi-v7a/libpython3.5m.so new file mode 100644 index 0000000000000000000000000000000000000000..e8e3aedec8e4359bcd021065e33e20dca35ce436 GIT binary patch literal 8821596 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 z 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

5w8?Z{Ziwa{oJt|bCd0$|Ywk3ET! zJJ}SSmxIh;K2!*Mgb3^T5TFDe^D{z^INWaq9+ZPc`dVZjMR3zL40EQU?X;{;D!TyL z5&JOYeJDb96UqIXONG41$IRdXx;Hf1E;J1V4*GgqD|^G4KG}N3)%)J>lVPbO8e%Qn zCiaGq;J}WsTI6WM-^+8UY~6tzCB?U@kehqjEGk_;4c{e|{V4sSu%;NaRo|JnJh<676A7yU>A4Qe5 zjo)6=orN@nrLzz^3y=*As}T@G(o~j4h=NW4XY3GksuPf?ql4(H0bEdV1mY4BHpNi{ zmoyNd4IwBv<2uugppbx+qBIhgLY8W>_4k~rP7}cQ`+xuBcl%b|Tg$Cmx6VEHoadaA zAN2KcHmET@1&L=?6tQxsFCkcLWjPSRmAw6$0OID&QnMO5x z$+Mo@w||7qWhkIFKVi)n5hk|#_vY@6tY`!#rE&D(cxJ+LeRC?FJ-97~RpezmV8iO{ z&B1yJaVf23xsK6J&4tPw)wmhHL<>tB*gU1|`jWoQsLxfGsm5c)YuN`bIm}~ogqBh1 z7Z~yKIyj~{r+5-L66kI->uru4M@>$Ihrt_1c=LY8w+{GJ%!W7Sq7M+&InJpX1sfSl zCR&);nCnoNeG0qQO2`5#>dBuXO2*eP_)cy4)X{IC7WbVxvt;JOxo;I|$6bWKE=}2I zys19Mu1d;rRKcE5RaV3HJGA58DSoMVPVOYxXX6F$jj<@h7G^_+q#6;r@a+qCXj-<8 zOgA3ZLz;f#Ug(&Q6)f!SQdbbJ3GXS>)TmWOu%!+}1}mw^18oph>Szz~zDw;z@OEv= zEb>|6h+3428cnv(JfX-JHz68z7TSuNY0vgqGLA|X7e(iU4I$Qs2E_N&A|g1uDNe5a zrjiZ3PAu~)QO0!Q15Fegl;RzI;@`;EhNus1DAS3v0`;@S=XNpHUm3UjZ1FZ9BCHWo zU5=`{&z@UCEuL*skJ7lwBjtW+LD!AZRsU}>PO}=9Vf;+IWMm6N2ph~=vsF4yvFw;F zM)+7FVG3@6EZ09uSE?!bkg*F>G)qgp;kvF?54&z8j^N<(;)9$!jdfnA8x z=fYo0i!{g2B_Pr?7v2PUOmYjb^eIlOsMV^4Udh1wB&W}dbta2?tyMH>=ap16GGG^S z9nB%CLo9iSu*AXA!sQW=Te6Qo%Bvak5%rTUoQuaXk>5t{r}R4F?mUb1jZbS2akrPH%WHh)_$(n_)M^Y(-}ua# zy~Hd{7WlnrF*H)=$+V3OTyu!f3*o(r<(hERq}eh8HPNW4)>O+iy-<^68ycty7kXV< z{^+*L%by8zM~kLNgF6oBT;-l-eiyJ218}ZcV+KZ-?)PsuGypzJX1r*K?Bh9#)=Wn% zxqdy)C?{`PW5Wei;y1py%x~cN2hUTX@O2G{57khTN&2>>Q!&O#zj)9V$|k^;{CngA zk`Jjr-b-2_5jNg0<%0{LxiPDekTlaS{o|1ojIaTa9EZW9HcKiknH)dZ&W7DMGcbHV zTCUO&!M*6vfF6Y{1VzeJ=+Xu$>zvv3Gv5mOYIGZH#vqTh3%DJ+m!hpN0!HS%TZR3- zs%Z8B+DF)}8ZNxHk~6LE#r5SP*0QQdL?_6qQ&kOej)%0I83zk$$b|}XQ@M@iwK?j; zTg+<^S60S1O{)?+c6D$0cd2ULc2aEi-YuzoZ|g`zmfRqPo^Jt$2!0cc{j3^p6v;F! zD<}Wfq5@I{-j)Z`OuaUzPc!T&ov~P@t6MC*83-{8e07Y(`KQk{%Zhj+VbtK&fcHj$|IK+Nt>4RGm z5#wj*wsCm61Uy}+)v%f**6LNp8r{m!)v8s9BBBnj)~-Y}pH(3>nw4SjoxH_Q{AHY# zo?xIA{g7Eb`TG`)kc5a#X;^2;cX_p<{&}pDdtq$!^4qr&Ld7o?bu4t1J5D=jZaWp2 zCyR4+VjgVX%&uLMu4@2f!;hAoa_C;uR*fn<%{v^>slYEud6}vzy^K|*gSwQ1&SyAv z;v8VP70U}fkUr?Wyd|7v%JRB=$1+)NyAnA1N;ZTGtI~=6VG(7)9S+L6y(D2WH;;?_ z)+lzu%i^R+`o6JV+;Ht1pT`;ADsVxF?v#lTFR{!jcW%1Ax%J!c9Lreqx-F8Pq!yOIt8(z3u-tF;|P*>UT zL_=~~Lql3aNkc;})2vQ}ANFkV{Yvw~$Aqe@j6Ed8F8dJUs1e&d|@dgdjdy7vvptK$YSJW+)Q5c8EFZR{l=hRS>#d9=#)x#-&|WBtbMS_4C|{T z+!3B#s_ze$FT1XMdZ4^Z8nTO8xArVswDa7*7bOSpjFKk@V(;3uZVR3>Y!{W*kXf|*lFPe>np($i)Hb3nU%R|`q^Hb|>l zNi&Lg0bORctHaDra5Of2xmZQ=k%%%}&0Uoq!^*|54L;$86Nn==gsH~T7d_BAo?n*} z(@ZNgidVs)f$rUs0=i|uSKkg=?)}5Df=HF1c{E;pONoZ5QeVKA|01^nemzXF^US83~XHHcaOFI_HtIVb+0#S|Tj)+KUFUNzN+b6@c) zZUetTvYcUwuOa%*QN;4pa23uaK)i){_VbDG&75dg^gL;$Hz5fM`1es;m;f;hs9o?X&s@VIVjEXI48ha}?O_B&swyJMVQw$u(^pUUf2 zj!a{}zlE<$Ee>11zHB}HWzJu}em?z=mv_5={<$ppn0Woa`$94>(VMi8Ej;VJt`0rg2>ZmJy^JsC9_BUsEPM%m>3af}B58Gw zzG+2{%EByv5g5J!3r}Bxdd0D`>P6en{dEzv+C9!gUAbo8+Oz5>Az>{i`EGaU}RoW*ZM=1;6b!8Gkp%k5zcU_As`gThbB_t8$7Wtp!J~pf6}` z++C|+d7cbn-w>avhn3MT>8$Lvn`Yo{T*?Ni<2MDDBD9&=8&}Qjr(F70E>6;NW2TO= zJ#7tfTr7SfE{3n>RI6rqavh(8`_&xWC)0H8q2adS1*o^`gneb>UBu1N9*u#WZ4-q_ zctxMS8BA+Sa+A7X~wOjav z7_8zXhmXkgmY1@eI=SX zSb?WQj+-FYLtj66}!H6{L2yM z1g#amgrAZXqTZirPby0*3nNYobRr5qOKfGP`Y>EgC1~uX#zOgig>=nqHAU{trpQOM zh9pTGaJ;3xA;o#p3Cv9*H1x-ceA;RHg1M0X82RP!q@fy#hzeLk&=*f@39HY{uAK=R z!^G)6!yv>KIR^jjk=Z;e&vLqb&oYZsIkO_q%qey-w0`OyLB>Np<1p`%)?B4Ev8HU4 zE2Ia0+R&)jGqW;7xkP9Z_16+aM25m&Y24focbOydLYjMM{B?nlkLqMoOcJt3t??~-qm=hAJ!H` z<&<$h9#0T2WS9G;|M=a`gz^zC6(=}Iszg5hn;TTAA@H`8rD7`tN3Spa(zcEeA!(j! z#oOhqN^qROdB-~ltCNQNy**L!0lU}1(u;hFOw}A~RvoO)2|bE+<;d_JcU7aM@bgoK zqq0kL=aqe7&TuM{n|GSNF0M9b$^Eu7TbTzd;gulAp#^S2b5wP~pkqV&2>tTMbNvcP zDn+{aorrNAgQ%A_aO&BhOuIq7S2$H;_kf>|u-$_1?_lt%ff|^e=3DE}7Zmw_~l_<87*78Q^WoE*~n! z@42zOrHPfdOZyvcEdOs)c3G#CaZ~xerb?7sZYtl|w78t1$4`86HJg)QouY?6Ux{{PL?lHOXtt>Z>kW%$bqxHcsM^(|^fl@B zR!59ItxQ+jo44gg*_E|Nh|Jrm-0P)-=Zvt{op({;|DhdpVJ)mR0W*5GYnQW>*UU-c z_mu!?Ip+kwbWW0E-<*w(Fqa-<>5Cvd`_gb8#nlH)_Ris~s!prgwiZ5??=!Bo;Gf z81P#(x;Hq57wcM!W1#5^S;Z1{s}?!>KuV$Uv}0a68lpdR+?NRpg3P|Hm|rFcx-GCK zNLDPu7Fi+r82zMmH`YNcWrSNFzzS5((0h*i3^>ampY`QWPdWOEp<1n{)7B*;2=@M@ zgCC@c<*MPa?%T>);!8P|zkjfJS2=xi4DnxgFIJ7bue;WBWaTW!Nc=#5(=m zpH!*YV%=gkJOneC4>-P&oC@AW=E+>qIk&z#QQUwTpR5wzTZ}$Kq~It<-W@*dq)4pV z<{xaw{SD7rupno_y$i~w$h$p$2F2JH%wCW>YQcir7u>aAK^_3QGu%$R z=cNKmz1v-ft*5b7< zBp_N_dx(_lOWiT+P~wZYRKf1 z-QL%qxitQxQpme#eLv=;Y_|sdM~!ri9}FKK%4UE@PJLIgUmJ<-JCQ1oDv>@y`V{Gv z388Em(o&?Skp7PJ2vRxHgGePv_aXfW>24$&k`?I=q;W{2kWS)Wzakk98QD+B1*BCA zjqE7$7NlmRBS?pl_S75M>xD+kU9Y0%;f$LtQ-bA;>8f zLWDwxb-W`x#ds_RJ~zAhm7UTFNRTQT(dUpq;hnn6`MAuaIqCd~k}Z7coK}A0oOH*D zIa@%b38h?Gn#ye{E1m0?UTaI`v=_)$;p;YfXSp3Gp%aHL4VGaSLA@`616_31%nsa! z_8c(6R|WA+k(igXSUuG6pw~K``wABT06T-8qs9zAr;*zJ&ETb`+{?4%D^~mEwV)>K&SFYLfXQ_;b8u;-pJLY?Dn+p9??iL)63O3ut z;`N9c0G&B3*PavdZ3Xg~GZ8;vs~mT*#yQ!R#a%??!DeY0ybZuVqHI@%Hs`{ZVbe}& z5+T*xxx$1(Jdb{MOgXAlXRyr-I<*-0YGzf}DcS;bEm@mAP zqifzoGY~`Uvs}r$8Ec{Gx#e@Zq$k^N5lA0842VL}X)pf)5q-gnU@za9RK9vL*@F&} zTTS1p(5`T8x5?bzS$ykP&|Ye7msGijuG31G9cLd~RPdaCwbOdUx728h43_O~@8X3Y7zZeQx#FGt}@oDWa$m73WFSG1@6-Of4PeXegZVO&q3Vha6odbU@`a&L79FFwc-E-2%d)S3ajXynAV3%1g{5Ri`CNxX6fh*U`SN=A5 z<<&iq9M@m@;lP#iVY5?^Zjvnw{E*6iS81tuNr0d0J1WI*E45pae5Q!lWl5Elf)?HZ zOc6HRZ7zJ?XF5BiUpjkX@6XuF##6!5C7$Y4y7!ngE($YX25elGaKLw8=SjW+v!bEt z6a4<-zK5H|X}6>RaasDCR+WRRjm47)&UVS&p~K!S*xQ7?#qx6?Vwa3b>4`{rBo5I+ zsb%xcyv06D*ddKVJ8T&5{;|J%FG?%gZba%C-02G+OfTn*o}K5uc=?sH?4_T)J0vsC z%Jf|DV*h2$*A{z;Jw#B87a_BpNf?17mXuV%EcXcHhc6Zu%9*w_E;FDNn+%`ks&u`3 z7|MnP%Ek*}PyGtpgp{j#P`(d6J0vfz^}ajNhB26J0o91^OmXgzn*9j{X^8pROR!K) zCef4d&KUWqOw@nnkCp2!e3U?Eb%CZ`1YWlf?$tkVFP+dAdwqjCx}DN$AC0YUw90yE z6MXq~`-6VxoHA$2G-a%UyFHKm4J7jQydL>dB%(3BM<}#qW8IP|A>0z%i_nX#;!YNi z;uETJ9fz^DqBR52|EFwE$(F)D2@A`+r1P-*Aa4A}%J#A(=ihCAm+QV0$mRgHDYn1K z`(F#=%HMW9f*7-_Vb4G)BbqhzhmJtf80*SG3}m0jpma{1`(0*)|Y1)vKnzv%o9 z@jhFesxQa0gG=sJ!YsOH zPAxarqe`3Of#tA)G>%1(E+2ufdzLbzCGy*-4-~C!{1(#N##A+wlkPU^gIGSkYS5P0 zs&?qd2UU%Sj@z<1ZdELAsVb0VkLRHiF}K9jlD;Q~?_WDTw;$}GKY;g5D(RHYb=h4p zwf(DO`QluScp7@o6xU8^6TPv~(5@%_MFR8_^*vZ`3n+ih3l zAR%MP8sPJ@xn{g)1-WA3(u902WTk#pm-Jm%$m)eo>O*}^P0k(Cf{zv7b#M9WoYbd& zsiHGVm^oSF&PTtj>#{ie0{Kfls1d@UWl~}v@01>s$528*KebMJ{(KVYr(XR_>ouP5 z=x_zUt;2Zfi$rtPCz!Kn?6e~9p08G8`}8P^(X0oKt{-}#2y3^)&ic#jG4%YSSkG0# zXVT#D9DAK5m@A2hSm%%P#kHny>VkxEW zu|No@#er?gnIS#Arm-vNkHZ(tHB9}kuc5a98Kej@i z&VgDkVApq(ZzvQydts&B@# zFY3INdre+db11#s`Mv}3yf5Uj-A(r=z2f6CJEhjnwLZ>5en6=tFZ2F19oE^%(^c-8 zoPO@N%I;6Hm(#I+X#iySW>=T=_x4-4`-R{5O%6ZwA*6ZjlIFK#jXHE9mrzdE8{uMa zj^a{z!O)m|W+C|9M1RgLy+EI$N2>_K1LitwtWc`UitDkJp15zzmJR)yEb@@sO& zH5+S3$vSmS3+7$;(q#B{LW5=CW=zp2yNjbc^s4ESrT|NBJ{DH18Xe28wnpG8HP*vk z?W#~t|EBJZ@-hwXpvK));8s}G#&T+vUmAn6G|lSFk)C9m1=bi1KwhihJzf)Oc3W%% zgm@c04b2ARL8GRVycE9K+1IJ?#gVlZZlJtM8{}RmeQ~y*JR|hkvKE|kpG`+#-*5tG z)J|aM=)5O8Pk5r&E#9(V7(ZMy<4(Yb8L?Lbj$^ZS*9j>VPRd`oR zf%I$zj&+xl&^n`o7Sv0F);(ds1}T2Rvmt29x)iLZke8rM zgX#_Nr`MZ{C?qM~B5M-(LNzRM2x$~PszEC4Fu|4yem(t)u2qHipoLdK(v7}*+|2%p zYdlmHL*L@0aBhJ7-OEVZlEaNtKd|4+Q zJp)@;v8lZn-{#Yuqk*a-|EI@;-Zx1uy$)D|ZG5h%)@-xa%^4_!h@Bys+@xEwJe|@{ zh;L=#lIC_wSAkfd5jGz4;qVrPcCqx)L3@K+;1hh9kXBCPpi6r95BzkpjE(LsWuO=O zjdNI1T6tB@m(82YNiXwudADAsQ~I?1bMFvdHF1cY4S!iiCybV*44=yyVR7*sygL*6 z+KRj{a*9d495JZ}aj(H&V45whNAJaU_7kFk6geXG?Z|W{f<9#8X=j|JRW0ubPb$vM zMDJvxM~U{IlkLHMjpdHq5_Ta&v#+Ggfk=pI^&HAS)8x)6=X34wer<=(U`SQ>+0z}G zlJ3>~#u8f1Teyu_FMc4e=aV6sIng!_*l6lEvfYEMMZ5(oJz7(rJ_g;%Eun1WXGU4B zuow0p{h*!8bfmZ{8hdja@<@VE0ZdYotf@kbKeiMUxmK^kmy+qCNY;#33q4V66g#0m zuGpd-W3$B}Zm3Nq5( za!r(6!}uN2?Di8q8$61kVC!z1Yo%M!0x5UhlusA?vj|@gp=6|O`=LX*f|Mak2J*hXJ$2Oxh;G# z|EctFM^4;jw>>*I&d{_#R58fJW&cT}tNj1cRI()KDktPZQz#rL(TG9cAF95rR&Oe;?a-aC2t z<9C}1`w8FhpJN-^ZlEpoo@WtTy@a>&#@H!2QzoflHy-X(3*pX?LU^nytS;6-ilVV+ zVtn-lU9&}%`W<6C>6y&EHcCP)*!-i<&)gy+Zb3#~)MSwU}q zJ@MkCm#`i+v*wjCY+bXNB@KgbQzSxQ?t{E&Bi}2ZdTgOJ8gDymPgt)CB-_)KF%3f(R5*5j1kDcSQuRMbF+0Dtz9vNwWA2 z;OxRjv?7L1cVu~BUpe~H_DbKmSW`Z(`QwThwgcDo)rWA2wq9Ifen0L>D}9sq@mA;0 zyxl&_u1ZX_D}G!xLNPc{ST<~9N$=T9OZpS92kG8Pdq3g>p`{_j@ZgenFtaL1;z-=> zGpW#bBa)crqgXzMw?eZX!{3cOJfojImjAO|@daXOjAyIRkC*;!WW&);^1J>atk?|o zhTx2=ckA=V!m@6M^aW&921Gt6mgCX?e#FeqrIS84GZ3&Z~z{aJ&xQT*nxQT*T90sRG?C+zwokpz^MI1Wb!)7)C_XRFB zw~|Yp){k2azah_9dy^lQ(N-bKHQ4qipJqk!)HKXFPg_TTzR!`r>_U#>Ct0vR3;SMA ztWAHxjQ#fF7_7NkrD-TV3a@AS3(4|PdDuVbA*&Akg-lhebcc+u`q~p|E92XXYjS#d zl+jC?j~nS9tbmFz;}N$BntlLdk^Bs$;k$VXd1n0!b`--xuRz<-cdIIdBKLPJ$l0D7z65i)iU8ki%vK;xcdy`!YJ2x}a)Igr?-#eh& zL(4j8l7HHLMi60ev2`{j`UI4laEck+;#y^HgS$0KZ{N))j+%x>t1(VWa%_@UemX-tPq;h{|4tUvhU@ zU}63zaUt-r6^(;=)$N41J|XjDr1$yJI}6v&svj&~#N1Hq^h@6cErNR5hAQo#x!J%C z7LQ>BRXTeWsKJ*#VVyBTC35X}^N@#MAFTr;c?|di`24)a+Y)V9@k$H}FOU(j=rNkN z!a%z_AW_c(&Sl!AAK`y`2jXp#ozN!Ugi#WHb(1}-aXH@I8{qf*UUx41w~9YrrB!>Z z&nRr-^IZ`=q661MPDK3}innOTTYMcoe$GuuofdZbkTTcO{8fZ&haWVvPjUT|%VXp@ zfso2yqMtXph9edb+1j5bIl?wIcQ34uvM_cw1uU`*4cF#F(^%9_c=v*dwIVu8l$aSQ zxDjb1IM3Eg&VVP>YrR4}WfEBW@4WoaJTHorB>kV{nglEP(a2uQ72dS+(8D z-|rlrkj1T)hM&)LPKx6lYo#UU46X@WCT1nrQ$V^xp07_q8W4I+E&d%AUM5$)G{zq( zoOZB;wbE1PQp=)27yVL+KgIRF!y#|~3ZArELblqQ2#N9vj39CvRbQRb;@YeFT^}-<0FUL=1VpS!1hwy>MG4YkkRv?3P z&C_i;+;o{o?IVz$x2$XmrxIrHhLMjrqYy7gl^*V48CTo|IIb|j%hpS$I_C+0bHN4x z^7Gun$pv+gpXI=#NIm>}+>h(1j6XsnQ3S4@thI4GM$&Xo7OpW~zQ#yUgCEkb19iR`yxBqo0_;;igNY5jEg!BP; z(>2Kdg=B(F&L})-u@m1^5BpAK)*B=aZIt~j!Im-{ZG@k4&_I&Gjl+6xA^)4)F9ODv zuDP!eCSJh`Rf0_X2cJo{4n3OLy4h{)r=aI~K?*0W8@GU-X1fE6gg08a8nXCBPn4xi>MqDi| zXAL85yjbW~|A^+@=f?UK*LULjzrPTJc>r_+&rs|f1k9<@CbTUmk?Hog zVz`d}hPcDTcs!>Wt(gTZLRRA`KC97<>)w1^Xy7yoKD?nLp^SbYJ71x%BAmHJ~FmjeoT8+Tet#S=Z_US#tYYik>FF1R(-MA471 zGlw)!X~Z~{MzpB4sl702{Hl@8S%`(rE|}HqLb93(Ic0qo-k%ol{@!ayrTTD0-@fUH zW%s8=yFd5-K@ER@n#(gl7~z~PUo{$j><4R9LT;IARP4h3D4!{p$Dn+OT&^A!yDSvt z%01#xo+6iPN5%5@kB5vriKVY_=R<#i6-v7C*dTFbyNWYAGr8|DHdUZ1PDmg$t5dk& z;Jc8#9xeK~9=5=bdyo6X4M=ruR`rT@EA`H8=%3S44XDaJ?oqar=$&mjzXy7!g`K^w zcY5QwmA0DEreqDnGsG^uKYbuDC`w!6kERHQ)X;1FbM3fgr_nb`5A-;jKkmJYOB7r2 zMIH6*@M@|DiRtpQ6ysUewb8TK+C~PRWg?#C9e2Hy)Akm;Z7Gp-RqnOYxK;&)&zio% zyg=CG_Q9bt-&u$6@6H$_`#G6>${WC~{Jf_kuM&Q-x@~pItGvz05|;$lY%#&u8?@4a zU1owC-hRlZIC!VQk-~34m+HVRU5itCF*rvtVK90V@Ho%9aYDFd| zNttb`n%=zXw%+!o+)US9yb1Pq%kuO>El1w^SQzQ0RAI1t7>5>_-DYW&yu)p9l$uvnSJ zvaC=8st6xN-~$v{^o^+gYiKXBO^NV)>!Lo*0bPj)-yDZ`_p?{a3Eum-AH7)F1UwqB z^wXYe9u0m8`f(D1d{;}r@-F^AnD>%G*&?I~NFQU|y^*M_6aOUou5OU6N;lfCpY5(+ z<42H?;Qm@V&z)I)*~!UQf%oCzuEIL^t_6@A%E%xmZ=UGz16 z^R=1Tab0R#uY8u+TlPN&e_t5gifrgHXDV08pO$`ayT-Zw9{eiEs)yRP2-m^tBah;q z?v)NVg`=Iy_JO88f$e1Ri>BX0jBcODOC3H|CT-IN#Xg{OA7Q{F6AZ8RyT#b*PQW;!{l#Xp4z> z70B8u@~&U^lGVQfv)R90s>DflHR@?^uWJcbX39QE3z$PK-t99Z)}kpJG#bZRajXgS zg78#`$KcSktC%L!B5Iggyj?yr3rDWOk9F6ztFkP1mWf%# zlAS|(4Tk3?I|I7YW8%|(gOgT68Lk*e~JQb_g92_8?0e%0Xg+@y_+MuF# z{0q9HL5l3>F)>SSO9k3;E80>ax20~+7~7nHPAS}z^pshzIh2HVlw>akmpefG4A;EU ze8M|@UJ}-|iuK2;rc`-7ozBNN5M{Sys4Rbo=Ht1Saw3k>7dd-gb)H;1E~aD@KbO4a z9~(K|D3E>rdr};}o>sTZTWdm;Z+K(;tO-745@Q}?86Ugn1fINGPO3clcIkk>do8^- z_~g~zq^B%gEM)rw#D~z%6?pcFMy$`9D)G$uc=nT@o7rCEMc98F+d0Td4nZDc`{V6= z+(j6Ra?cugva+}~zL+H1H5(UG41l###_2mx52>7i*%+jOp zN!!{c6r^)$SWlC_c`afbW^(UIyW8@hSHBGGyI->U$!fJ7Itsj@GGhs!#Hpa4 zUn}iCl`OQd{)f^F(`9+xAn{A+Y2C1R>ptRxQxl=pnP`7LxUL8n5^SJYW0mMo-MxdD zdhj89BTw7ki6gTH32UU~=gqDSFYdiqY0}BhHukhKVwb@#on}lk)?9Ai8fjsVUJyWc z)=HaxJL=7r^>#@vx(dLF6Qgyh%QVQ+W%< zJ@sA2`D7tl-by+D8RR|M&6@W^IQ6FOQb;FDBpnlCqx#jGLcZ88)pcZXpCLZtqkIY< z=4|FwLKtKmPb)X?3&2_jw&82}8uN_HKUsnxuigt&@pH`P)u$B?rFfpQOfy z#Gvd~<56hb7$F{a3Kw4lzmvI*B^;4{3CJ#bdXovqYAUOdMt!U*?jWHX>3wv+*FSZ2 zfA6iqQBT~?b_sUZDL+BRNVMZ;>9IY^95F5q_7&&{_cJl9@-s8LXE)g{NYi=&=dkdt zm0Ts)W@XM2*LEofXj@RG+>s zSLNuAViq@5@QdM<(kM)ozvC?ML>Jvhy1{KT-9$k3D(ZtUTfF^eKLmQpLZ@5Q# z@T^;IILigxfX3|tZb0MK33ZdBJ^k_9*V9iJWMj#=yCuE=?PHJPYi{9z6S5ruO=SFZ zUux!d>9x)f!EA%ho35X&P{(fSHXhXN`=(mc$niwWYI61jXjwpp3w-y__&%P(dzk{h zdNlayo!IVxF9*^wk-qL+EOZCQ1~9@A5T3wLuMdnRT|xIam@Zq)8yXkwHM8e&JX!Qv z`4i>ST?c{Tnhwg`OB{g}T4>9O@>r*0rDx7la=-L_6Y)5pi#RWgD}>z8%HKQx3Nzj` z-Uf9>3vbWs<0Lw7%1bOO1Sb_QsykI2?@R)+SJ4lIy|I!g zm=SjF{hSflR|)jXR)(W=yEIXjvyg?YwyvV_=RIZ?8Uvmh`R#26<{e{XEr^LW6x$wb zi`cFp?uqZu&A#qU#X&kY@hRdSJaGzoL7_~3 z={~tPv*3Nn${&OmXa>zec=J;J0SCOnKJs?!iARzgI#_mTMkT>#QMA=y&1^JqnT_ZZ znNL*ss0h%T@XQqP)eePYMhrnjqa$5E$s)h{Uv;Fc7r}ur>_iWJ^c(%*N3Sc|dgPHJ&md!=T ze8|P-ztKBI`*Zp4e9Pc3lEG)pcfRGBrS^^MIBJKUFrsKd zirj{9q0`j|c9(tR?-_^#i}FRs0)KEb*6v1mCcR_vg$(X@uecj>EpsSag8aS#zz0Ep zdJpucBwHTD+4xnMe?~7}46bW3{OJ0u2kEfd(axK>M)CYHZXjOg+KKjOk7G58%g$;{n9vnasZtLKY1f=D7(Myzuvon zeWBLQ}^#X=AEDU6b(txCTSCY$`xCiJS}VL@vTb5Rs`#AKfk2i%j- zGmAINk_Uyy2yKE-3$!EcOQYPjIcQ4>Qolk&{UYd`S3pCU;En>vM%yv&-hr)t;DCFV z8=VDZ39gmp2~H#5+iB*O<>`dG%M0P#XB_rcqFhuM2vjPhg9Td|6Ib zJ$!vamZ(AUODjPI1ZVFc@1^$;0)X-9G56)%H%Sfddpl+Ug^!yZq+HODf#)K=i{?c| z)5e-MMoW3;o{fG#Wl%))&i_h)Gdk!21BC-Qfu=(g$u99%c@Ulcvt#I7pPmZT{wbxfwT_v$!msM z70o=uuA6ymS2e;FsR%QEfxCNM^iz;SJnBtE`;*~w&j#5t@7gBW&9PzLuyBVZE`R{O-gDv>_&B&CnXcwLyODNp2jw{om^K&JB0{X0;% zTdw;H>b3{#T!Fexa$OPXHU#Uo1nORs>vB-HJXp6jP**9}jYi$VVBM>Mx_NTl5Y){L z)-4Xy70Y#I)D;EmD6SPfgH^5zMcss8-2;KTOu4S33zopax<3W#;^ew>sOuZ7D+tsX za@`Kp?GM)V4%F?E>o%dT zE?B1t)V(9u)u3)ouz+p4--2~V0(HDxSAjZvuly=f*>c?s)MW+hJ`U7n$aNg*l7n?`1?tRlT^8z0!MdtIomQ?(>+(Y$ zuZ+&;QKM<@099#{;=9^|<%{HUpIqLjOA3}hB$r>3%k^CsgXMGNa#1dC>pUMUzgI3l zBbT4+Yz>wd%H^lz@}E1s!Sac6`7d($_njw#CK`#HQ^LVg)h+KYDF5lDH5-g9A z%MZ)tTRVRUmiLm&56b25c77KuhfiYkgIg}I>HKf7{0i29n&xlh@_%%G9V|aBmwzFb zFX{Yuu>424e7{`&c;~)g`2o3nuUuZ%*%U1Qmt4MEF8@nsL$Lf4xqO#ges|~2VEIRK z`F6RS>)aMBe_JlElgr0-ejF@+LoWY7E+5{xC0PEFT)s&zPwadzSpKwJ{*GMUzjI@- z{1Lf)gIpfkxjtC_pj^I2F7N874VKT6%d6$`-#gw6mQR(-Uz5vEc2ot+bL8?Ba(Q#d ztHJWIa`|$({68Hp2g}ps@?~=QXB{sD%j4zpXXWx89ZQ4dedO{=xqNfSGr@AbT>g|? zzOLiRV0jzn9)0sdlq;S^5JPmg65o6lct9<96+7tte((t;$SqyUelqeo*iS+JC~}Hn z@FemL$e%z?aSIkAuSEV7a)#^t9eD4dqWGk3+r$xgn6l$*jCT8pkb0 zc^2{)kWWCq9Cgk^7K0An!oF zkB-B2zCup+06!qN;5?f1E@A%{{{yPSQ%4`q&kAnfWg@LjX#*Qz2QhrKI4 z^x!_ocoH(V$QY5!(n|Ol48?k8Eo?KkN%Pvetrlt#|4#=@T-?WI#^HV%nInwhvw-w`(6{Ehqm-hm?ma~GgvY8t9ZrNKlAPOUN5S$RPZN1 z?er1EblED&3v&8ZxZyJ^ov*Cau1T$9t^ zT`L`KjoGZeEy}8~Xng!P8iCIG#U0JTHwX7k^RM33F)a1x7L8A3yy}gW(Um(sG_!BN z`Q{ta)u>W3>%-jo@6;*1J>hqTLw=nyCPWC6w=_biocA3={%6zqBtnWOh1qTPm+fEM z!%DE%v}bS=GGjcbLtA-zuy)lI1v$x5nW$b&GFf18D*qNw);N{o)yiKCrHoa* zgw|+tZ;@p1*0vq}wdn!NEp6Vq0n6DCupM-CP8pmM=;vF4UjjlEq+tsc6 zwQEXN7c~kke7k+U-6i~qXSY1*seyWs+)VpV3?kFCU->x^4fi@2{7S%SHwh1ay}?#YSHog8-H(aEEmUL!BG;W_Y) z4fO0cs!?$xFL?iAi@QC=`lPkmz7O_@$9)xxr(LQ{m|f_zE`oRYY+pPY0^vfUJTQGf!bwFU-;rIygka5 zowUWS6ZT!MoPI~5*}B=z!$#&7uGKyX{dT{d>?~PQL&=jR6EVx?KqAl5C%9Mhy-QXC zGqBPg?Yi5MV^=#@mfTv%R#T*##p+e_YV6JSD*JcPo5t8@IbMTL^!u=`pJgWxEfZml zNfx2ClKpg+a9@dPwB~|E_cKdSSw^fb`RsD#U1`=MB`jf+P z<>-6oT`|-77fp`b=#pty{14A8xrUOHOqo(Z&`U)s~9mJwJVb!EF~^^dVK zKFUs7HO1x>vJuF|3sxl?cg}Cw@$9Sd%#JZ8{3D*NLt2isstjvJAk1=*Ka>dK!%{R$B8DECy3y zH|#MbHT;hlyEXQ$IdPsE$4p14Ymy!IjU}@jq0ZHgl_e>d<+k$M?6XQRS`r7_QfJ~F z&O2PbD~~0m-}NYbwm(|pYgDBfJURU8l368cXI05S^v!g;uW_b>rDnL7@k?@2k5mJ_ zKB+`45DtEleWs(@v8-gKV}z4xHAhyL6gXyy!&j?sRrlY~x-?RCfY7q> z98mEI3~%cfNGI!nZ5W9WH2QQZq*}mA`k_H}l6{$Sx4n(31kwiV2A=e|+XqV@n$xRa z#`_M?w;D&Wqnp0Pqs=|(+soqLx_Z*LV>q@aef#~v>*-ruS+V0r`gQ=vC}U|BYE60D zu}?m0FsGcd#u2`=5VCMHEa66=%>5hbCzSdx0`;3AW$CWpE7y0oy}7Kqth?=V+wVjDjcxBAYogzsm*;H6y1<0EeW(ub8m@#D=%xmQEl^}naezF0IJ zxtM3khh?oa&c*6?&CC%R${t0+J*Itl`QiVmx|3|Ts|qL{+%RZ{()sgM*-5q1 znp5zM{ra>`uYMT$ehfDmoLn}N5)UCe{fg%WTU=tqg$bb%m)AWBJ;o6I8-pAzyzUKk zyXMi5s#mv!)V!HM(4IAhFgjbE#t?q68{9>3|x3bVV_|h{E=xYXxkviSw%6rt8 zEAQ5?TExGO@p=f6hlnN(bQ`OtU3%JXSak@|=I!eB5RjCZtTwe;KtN!4PyLGoWfeW?NN+W;!bAAHwJ2le&^DHrPOIX#kE#ZiF zw+eoCS8`RDK_g(lJl&UAF+I*$HDFtKt%ZwNZD`Fiqb!r2hI00%p=x^EF=l|5mJoO* zNXNJ`oC>K;<*22)c1?q!7Qd@s7Vqo~X;*DF)?}xB=gGcPX@hv`f2D(e(0BmwBHIF3EJ~Zmi94)piD`X39M?7brgMnQju?~ zR`K56yIr~VXQzf0%nFzdo5!H0_k#ks6TpA$^AAK@yNIAw62p2KSO}O~7Tt zIyu*8`19xdM|@pgiqkYE#FiafX)4ZD{0MeOGpmv6&Z(h4+p>A{X8lI+){d89U-&Yg zTcQ!Z1}5PpzQ(@Pu^MGx^Gi|oGRnTSvY=n7hzN8xqm?-E#U|g2t6Aly4MhWNj)MI-K-6{S!;B2l*+9V$rG2m zZ`3D|ZpMG*;g7dU7u&lLRXW-3e$IPlINHZLmENmC@wWn7-D!)VSMn`h1-+8bn&6`I zv&E*${el7QALdub8(UOqp~oJ#Js$MyvK9UeWsBKYy`EoqXgAzRz$+~%pmo?2)-LHY zL;^bnUGfi7UZ=7uyI%4wz$+DLnfe4}|JTqVs?m)exA)I?T0j9)Vb8q=sNe^|LD3iT zgY-GBoZ{-nbL{q*gdbpAtLW(H9^F2aCpRefW$BxP68(RA$*$ykX&*f3`<%39&d1)} z0Y7|%_k0qoF|seZQRhdzd8j7^_a7yXqGpe*w;g}lyA<=l^_D`47U0_R(7DfC;_*Jx zA^p4K(zK6DKnLmRtNsu@bH}BL9~XIx&@$M$r1-DcJ`RDc9BIEavNjYm{;O0wiTJ`E z@i4YRuQD3v{UE&}`+&RS((sQ}@_p|AgZrq)9P|u?eLyJYAkvMAA&`Hx7})#=jWTBW zHNAq5Fvu9M?-36)H!jqzN(nm_X;X8NLH);8X%p$nM@M2^O8Q3NB+%;1ZpE%KE`T@y zt}0ov4X~^?vvIgK&8a%>mi$PdUsVRuHq8*fA~cPQ4Vfwo5cQfUcS@n!Li(@XoL(H( zuIGf3B3JiYy@uquRoGYZp1sVm#X+l8LsJx|fuDwrB~eagowS8dDk(4f6_&4fGXZPY zYqqW?aENcdZ|~S!`lEGKycJm zO=|qEXi|eV8~Ibxov_($LtXd&WbB{ov41=EzsEk=MEwfgm10|RMS9(@jKQ9M!RN$< zxHpj(gOFdPCvaqnYcQw{gKY7l+X7A2lYekdDc)KuKfzkempinr%#@4h$E;Or(&Ee$ zkQRwfFC4IdB&FVywvVH;^GOoB&>KCq9}6U`qMQK*uwBNti2(LXz-e(e^g zwgx_MR(qwYwr)gOjkFzTcv{n&*P2-hQmHnSZJ!$>%fSBMZQkK+;09`Yv!&`r*sAFx zL*UU5-$xHbl!9cLA^y@pd}d{t;^ROpTjx=Dbwd1HuJ& z1=`Qhb~?Y?M?#$=`?~W**=K@s#`QiEh{N8;|Cz79!0uOnw^izBj~6~<^o5LRqqlt7 zt%FrBOGLyLcdk#H-sXM4p%yrwrRYQc0q5(d^o(ZqT+sMS&4lYKlD)oHGzwVT_@#oj z6Fjq=EJ>PE0W>bXi&&r})^ytlKr71zPo6{8l@wWOQ_kgzoa96#aAd8hS3m zoAiQAa#1JwHjH%t%qNxANZYxF51T)MFlbp?!pq=2!~O zIL!T5o1;g~qIQzKrI+jxK0>6F&;1`bco+HS-C4P*q?-!B7jLCv{S_xHp~y#(`*@-N zVXiGD{e)P4ONl}QB85{twPkfBOKP<%aq4|@7vx!2{C zuKIZ(7P_$(Tcyiabpj{}a4rhf+T_TFFZnGcN*{E$>l9y%($;`AdPbmiGBRbcVimj_ zbesH?4p)b=+mHxHLEiUByRV09S|D%=U4LIwYQ%5%*QB0=wJV~AipjV zvLBt7zz61|SEr&^lWmU#5Z-+#mLvR_(({tv$qUUad5q9^+c@wjncPWfv0rd%xeR!y zB3`lp^!Z#%6gZwt%-YWZlfYv&PutI2Rb@tdl;^$n-ktD0Mg4iuGZdb?Cdf84=mT4- zOrwZP4TIKz*7xzXX12SUVsC_S=~JJpd&*&upl?z`fnbjRL_b`)$);U9$O9gX5rA2c$7;n)@c~RM7TFzmZ+}OAL!Z zPIFK19&-;%B)fcN-ce>9*k7RCebMe6WHk_&d9X%9jBjOiT_Zg%+ug5u!^|e)y7n$3 ztK>~i9cJav8#EYajNZG9in|ZTkguA>+^9R3aieVg!Et8u=Zkm2K1IgT&aYwmgHz!t z$siiRyIu0+3)|vV>5~tqLJ~X)yj5%Q?1#wOK(X)jEyY=E7qlSi;US&`n_fQi4Br10 zPbR!m_z+3f2JFG;t$Z{>?%y?0U?*skX6_)=VuKxK>XRNiO1Eihi4(l&oBdV)qw zA)bYauUDSni|^8o*})(4PKQs)BCK$~mkz_HE!8fs{9gLVcQckI-1RipQTcZk;VtPd zSX7b4ZOZ@iq0eW+^ zUE)bY-T$xaz9PJl32h|R6JJm)#@XQE+$Qc8?tN~jmkoxEFSQbDNu-RAJPqE#+%Mkm z9x}2Nd`saN&!hiqU=!|(VUs(IEDedqK5?XZpIkro?Nw&Ej(FDFZm6>c>h!2fzo9NA zP#1!_fj88J2kNw_i@c#uT&3_ElO4}FQy@3MH`s$$OX0@g$&Yu!gP7;Rl6Omp$LXRt z6iFvah`-TcgiV0=Dwa(A#=MdbN{EI}ZQqb{eJn)P-CeWXv^zp;zZj-(8Mg6CQj`n?AtKm0mm5EILI|F7Mppebg}c2 zS6iLGty6NhllHQbJL5JrlsYttn(Am!7^yus?u46c+BK`GwUII^_%@Fdx@!8~4|#?L zuk~%GuExSq?BOi;YH9D;jlruNY|n|?>)z{Bu5niWnvc1O6X=rE{*8`S=xVmuAAp<( z{D*y`W3Bz4C8dz@l+H2PE(Iu<+p8RZx~mlYWvl(9_j72EN*#3GS-aP(m*u7pVVuW- zo~6wMeZOjyd6CgX-+I^uK883Mi!dG$11V3>Jr9kcbxbNa-DSSTGL?C&a!CP8B)YRk zrUXo^siau03VmB!Nyk3oQ)u<|vI_rUB5lHWtp z+a|#8#$B9FrvI;;N?}CH%uTt7%k*G7e3=R%+-y)}J?POAE(Cs-GeDORPn8?Y zz0D1Uk0Yfngww;9sE)hr)!``k3j1GZ=l_jTl1wV}|B&|P@lDkE|M+`yHR+jBj?k8p z9$=v$p#?19QPOm18!iF00_&!tekNeCuI{eqQa}`MpooQfRB?B?gvNqPtfeTrtF9k6 zk+NzFGKyNHC@B;sJ!rnq*G$re!hV1Ief<8ICY{W@=RNP^b-$i3PqR#OKa*)L_>yIw z{BBoT#{L_7S}so!H@>IzC5i01Ck;$>TOzCdRL?SBRQ4U^w*4d(VmuhoGRV3`9JWXL zu~*qa!w@r1H0U>-5h;Tqao*5nai>D=rd>>XZfa0I@0aVK%}lvgY=fS3jU_+04sz-h z?WJmFs%SL#N}1gu3rGKbF64TPtre$?+%9L5`|rSp6|jd6<8zm@%CUUec7S{@zq8Fr zHRTi;-$d_#JZ>LQEAnKSwaS_-SAbjrpCU{Bw`7&8aVe7hqo}C+m@^y5BH5nNkoYFT z4l#vLAHdDO>@2BIwomMPt1r6KMWy~_S-|IhOZcG`G78pTBCIpDu&AX9nfPx}f z2(!o0>}tJl!B+Sq>}X^^31PO?_pS1GVUJq29{GhYm}FUS^lZ{ksY=XvA)`3!GCPDK z51Q>}(7q)y?elbj_L;|sBS24;Tuk+rt=4GokElEUHQwc3SUZ08YCyfzr~w!gh!y`$ zRR%JDXwk@Y?hLse3#}2#E&EaWpI`<@q#GFgjle59Xmx@&Cw54-#xv&YUG;aVFW{1=Qt%)SLe^vmwE{#xO|9%xpx;&ZWNN&8&J6)K=ALbQJ zM~`X;XfxQt&I+FYC$CML2wVCkX&YAUl@yeXKXh($1;dEFF6W3o;(Y;;=^av){2yuc z7XEg$`Gbs2z|=n(3+(0div1>3hRdV;R%5Dn7L`7 zJ?1nw$;9*ISpI=jSy}h}R%k_vWmyyY*7#WQ|Fz94so8}fe)Ew&t$K*~8{i`JNO7Ho zZiS=V)%Tm3j}#C2^%aNw(d#2h3yA-kIpn#17DNnSvi^AI?5At*ETov7@vygILgoLOv=7UT14R26BGYRRVMt(D3H zH7=L5+#fGixIq>Bv|$%C^MUgRoXbs*pGk8< zfs&v0iZeQB);D$hc5evlZ)L~rdlkDA1CNXVMaq&r!&@ZN&jx768Bd$oKiUoKT$7%? zf`eaYVrNk+hU^l|9EWio3;BX&-U{hTlV)-DNJ9fNl2v@Mhs)G^r}DKz59k|9YZu_f z0!|N?<^q-OLG4bKHkH@#KKy>E_s-;OPkyq+GpVk^l?&vBCTRh^S>FG*G>YuwPl6vjWnvNgxe;oorjS)WWQ+Z@Ub6d@7`!=W zfr$V*sYgVk3$m;Rv;OG=}IATo;gta9^htKVW;OZW4&YehtTE$NWvv< zi(pG3{NqW;y0t)Vxsm8HtSSt&jqaL^3KdkHBHZ3T&aF**7&QZWq|umzrFbueXKr#Q zi`=+)!auwW#XZ^{6SlgEV)=pLOYtHvT*XqO*pO=Q{!@Qd>}YyqqudXvGL&2T{8e*H z6{HyQSE$VzpHr4X=X#bo6YxF>j^)n74go823`T)!y#yxbid<%dH%*@5bl7866uTzw z6gabT2l;0@fW1tT)=yZ`sx-R)?I4OXVdjT?dXFam+rv%Jd6jH?#j>k`^;l^q%el1F zjIkPw@mBWr^gbJ+l4a>fRxH`gzJCIEd^qx)7o_jrlQqQw`lvYIfAav}f@8q{q`?{U zE=k7@Dyj8oVm_!fpx1a9a0)*;cHi} zvjcV*!X`&0OxR2(1~F15^i*I@hhpvbNZnoaf|ca285}}OBahh>v6HUrRMvL5f0m8E4&H|3!UTb&6k0iH!Fe3Z zr#ruc#lHz{9C8nwiGgcAG&5_0oFrP*%kTMA*ES&=?^&Lwpy$3PO*%-H}hr_i5kH-JC_=V5GXCluIZ3=mx`M zIaD6kZm9&k=8)@SM>el3B?K$@K4A@xZyv~1!t0sVqJ})}OGhc8n{RW_dYrZvYjHK= zXipQ3haF0|AkFTakqoT~l*|b9_gX3HQZ{@T7f^2s)CDLywUP$1>p5>G*6?+mpm{t| zy)HT7z>FJuGw3aa}vhUt=A7gm56qUcDAQjA@yebf=YdYmDUiBcJ7cK9+x{ zwK}QN`g7|zj2{!arJogVEc!~Q{KRlUed3>k2lx2Q^%A_6Aj?Nkf z%dCgC?QfWeH5eK~u!Ls@@3{_;sgEf(;QU%uKpDGl+XV9z|>`eum_90XQ&{pn8?Fy3p zW5t*vNJu+bB@ls8t!TgWGx~bYLx>*%X>V`H3SK33oKgI*RVz*Gvr`6k5XVS+`F`TF zl#d^Si0?R0viw$Ct&tv8+EK_@)@0Oez%HSEb5UA;fcz8z=`itB{+y@El?gfFh;$P) z5tez{GtqejK4)b|YWU@S9A7VzS2d!K7u8Ced&v9mKwl2vIQA#tfTBO7FU8xn{47~V zB{@LJ5q$;mw(;_QdJ;CJSPye?K&H*j>yY*w;Ly(`NOo!uow+CtKR_NE*X3r+gwLbkA_wb^Zgl`VIEf2lJ3yzA#ZGT#d6pWs-5e^n}h2z&$qThS?}sy zl+({LRGZYBG@DeuF}<8+rAM;`Z^N1-GiD4vn2b?8ss>cSin|GY53?_;w$Rg}WV>dY zM^#03VO8bj*Qn)dI)Ok}#!mBf%&%Htq{A>D$8*d+>FiymACMpX&!i7pbf5@J`uM#z9lt*GIYc zwnjpR=th0PvA`%N`SLv}rZb{%&)q0%?X2s{{GOe{Hq2#*H?c13 zvDC-boaUI(mmGJ-Tcy(-EdiD*q0(#HGf-tnSoS>572zDv)j19D^_f_@?C|;3>P7ig z((l?7+Mf$FAhPB8=B}+>!#~ZljjX!GZ#1{~2iK@itF&C@BL8GdWZTC&mc@K~DiCq2 ze?VYcp0!T)P7>ZIVDS3hVh^F<#lz1H?gj4;+0DD9kAoaHf`7D6D~qH$dKSo>Ub-%T zxCxed(o-R_30yNXuN3iQ%hrN=FVM=Y2fS>;177OS1GN6+d^UY!Ew61iV7=dbBnQ<6 z3OUt=*9CREUNf3!6K?f+0z`Vv~KB- zz0(ABH8*XVL&tA*KLT5cx{@$L)z#6|L-RA%AJIcP8;~Xh)YUBWxMuTdQ4c;3`MhxXDBE`p0u+$D+Mt zAs^hB2Z@XFeq^dn9t!06SpNt*{s)q6LUAeM0;k}qw7Dxz)v!7|t1eipcPMzoqqbKN zzd*m7$1mp{QKDiIyuMF93-@Z$9^E=miObW$rWNQ#r3n`k4!L5G)3Dwe?@4rkI%F?$ zoD>plClSwt>_FhODE2EtSViSf*^)w7Qoy4}TfhoJOU=ExXa~F)Jvx*~$c}m$DMa6( z$2CN?D?trn_-A0HQs_Z^8#=Wq6F+E!Vu_}ht!i?-Nli1pFusQ>lHf_%R|dKzMcG|3md#<>n~rJH~gr1M2~ z6Z&+dxUaq9x5t`A23sHIQSbhD zs~w~9Jp+eGm{UnNFZa=1ze=TzBCy__ae{60+j3*B^7getTbsW!ol)EC^1JeT1 zPu*?c)CoZ<`LeY0*CE06{Lup@cE=pb4}zBs+Q{Dp!YU#<0o<|Pyr6IFNFSXTg8F+e zSO+)n62<~4lMv$S+N^QWEwj$e%h_Vh&U@7o<#v|UpN&2U3&76eQrZHIXfBhv$)^**I6MfFYI2A!| z=U#^YET{{u4%3CGl5VPpR>pUzv3z;0-6T{V9C&W8^kz3`jd>WMNj>}ub~K_6)ZpVMdG%dz>fyLWO>c-^M1y z9={bdw$PPV5aEHucvHBRrl0a_s{^&+&FU&p^d9M}Zt{*(<)NyXq4=5kh@a6P!;H`9 zk>U@K+~k|lE&b4l&sB*S3sy||m}>qbLFfFyIWaHUl`wmz^Kn}O>J$&^vq2kgU~dn=hWkcnr4{LH|4g z>)%<=$6}f@%eew^)w*`QF2cK0Xp^;qrOqe8(S`uEy*7C72od8x&gw#r?!KXCvHBeSl(Eju1!s=$61HL0oOJA<>yszCshYZeN|v*#;NtP!twjYFJyCKj zM3jT>4@l?zzqBq#jlxe<3;el`Yvt?d>W4P^+f20b4NRf;@Mc z7{ZebdHm?N8&Ls3z5W2!Fc7NI&Kb|ZojLF>;@pI6eEI&}D^2JOMI#%wQsflpd0EP6 zi;^XU(`CT)T47?laeP>q$ezUUC!EU#|02wPmKsF;hiuN$BhuD56p84t!&-{xWgjkG zU8=sP3=u{F>2F~*Ykum}bH0<2&qFvEgdMAe)s!Jm*_elzw?-{2jSt!ON$-&*(MvMi z_4k^X<0#qlV|l{Er1c!bbKsY#Z5sSPn%BTzuJt{Rc+YcQGjwc)|88q!jXK=_?Q&q2 z^Ld!_V~yJ489~__k+I1CRsriHAo&`%;~J6!*I7XyR;{g#fK}2DbO2U?!-5*9-T-P~ zZ$-okwR1p@&3eEyuSf{(G4Q(6;C0;?(}d&G5hXc-j}wc6`^|^_b}f2$Cb-`+@%<;S zNhHp;0=$r{0=;tlwg6s8I_9>n8OgWFypWUQ;0Oonv}caIQf`u~6%@*R(I^rh%;mYw z@Kbi>C&zo{)eq!tw1P$;&%<2T1)ge6{_zTLoub3`Yp?@bVCE5`q8BYkKfdsM8$|u@ zkL1`Zsr>W$sucClIN~H>6H;%bQB+pjnV%Kw25Wq4nTh=l<9yOM)*n&3&2 zGdydou^7AcJtgi`z8sY5*&d5~h|FI=u_SEA|1+84^bNcW7PZ|e&SQea8a`ntP4?jo6{ zU+muQR`R_^LOLLe{W#c;X>A?pvy&&(D^|{`nIpt5nO?^qqcsW3mA)8J<+)gu4`L^C zsGJgzZijED1#7b18w0CsOrHd#%y3BW=s6Xd-!AOEtI0t=%yrhRwY6FBUy(dQbCWKt zwZaQh3GSj+RT@0V3`k?hn&r}e21=s|u_QXt9Hb7rKsA4b1!A1I->TZ8267>4J6;+k z?r_oI*uLTv_7)DZk5DD1qAt#&^CX3>%G?H1kt0YM zBD_j9Ka;Rm+KJVx7PY=i?4t9s4P}pXS0GN#Kxd#U#gLfDhoY?GP_6cG&j2_1Gw=7X zc|UiLiIt#Ff5PWre3BeUwbs;K&?flt-sGb4zUL>(@(?|LS@8L%5Fta)_c!c;4K|@L z#&gv`&uqRg~`E=SvZtn~X8rE4}CcwpADQ&i;n4(U;!4Ve7?b6+THOqxygW zDNpuJLN174qfke1a-Hz1HKF-7zh>k*@MYp^uM@@hD7myF`lUu^T zEI&GIUs4T^q23HJ?XrFON4z2JOWJq$<9i$ORztZ7qs3vtYYp-aE$zz04y7Hu1XrH+ z(7U(7Ll>-+w(4)z82AK%#tJW9DBHKakEfjhPorM4#xtNF;ro~7#039Yp+Kv=#+vFG z8srDb@^eRZ9dax3m$|FTZH7G`YYES-aw+3~qA%uQao>ng9tXwok+1YD(6Y#1HwR-q zE;!!spU;U#{>U)cF$(2cX)zv){Z^S)=s`)_I_X^i)MPX6AHdQaVo-RnWP>x z?Z(r>Nm(WsWuGqYbk0k@#o0V;b`9`1f-pVS+=m zj9swDMKnYH8%eYFSXZ8#n}i7S%hn~WbGB58`6nJj*kL3`BzWRM1I7#6Wgc@!X9?&f zt%BP-E$*nW7Kq2t8lBx`cBcoUZ=r+1Hwil{+Id@tQ#wyEGsv;r zBMrI~(?_HHax{HAXarHtm#&f>L;lrw?}Trao{3MgReS)Qmi(mpye8@Q@RL#u1I1`` zOJCwiTF)&lONFe$Zv@JbACVR+I;TriI$#Wxp4el?cR)v?1&J{bQ>w+k^U3^0@5!+Z98W?-E-um)zrN*IwnXJf6$KX|=j zPlT1N!d;Lf#8<|8^3oV;L~fRz{Dr0ePw6(tNk>F_I?2zl-=&IcU`t6k&b`fGU9)PEVBQ@x?&+%F;Ky^;>z}&s}F-IP2Nk zh4u(=^jMxOLqKT(FW1PD^Y?)l#5wjt;bcjbbsFrPgCn6gLCP@db-Rk856$2gU^ShT zqQM0ogeNSfJu@noPXH%QaOkQ@hq6P5x*aRM9rCNzQ|`W9mQ6Asn}jqUmNi!PtW?b$ z-KRsbEXCVWHS@F93HI;g3W-<|&;W;uGvl>NTVRee`lc5Yj zAKYeX$r)K2gROo3U5flfxpN^JNVz4nZ-|Z!>7!$V`{|6*s6B?tC>`b~`rmV{m zn#kq4TvqQN#X=!JID%SeZzT7sDphX}6>kiVW(QWr0`$v==t&3qFdN@bdt*h?(0Zla zhzHT}w|R=ew<)hk1RZPlPKUO0L|OsQ{W_}AJY^;_Z|UmmU_;RHu~+ErboE?07T~lu zUL2^mDEfPN_RYvEuGu3MfRlgX?G);TY0kxo^WTAL9rOI! zN?KB{^ml0Cv7TI1zEN6jLaXh-hT)*c_ez9=-5!*4+4y69Qlz3MYy0%%%~FXHJ@FK3 z6@&hU>rq4xNY?mo_gQAsFpim$p4Rf*TEKf66Z5HLFpU_DSx^#%Ok2MbcN0;qy8i>W$zlD%D1{SAa}C2o-XL3Y*n z%23yDXkiifdmU^gG!ITe(KF#kNdHu*lYYQX`bpL&lX_HJh$rtV9gaw|UaANWpM*MS zGutdZ6SQKCz1_qHErQ()pS>R{ai{-D#?<)6!Hz*Prp9*-G_kA6nA@C-aXDmY7 zxi}(m;LJ>&tf?Yy2#Ap3G?;4cbxjA(91~Gmc+BFrWrGMG+{ov<~PY z8sB?BVIf(SEP4;sYth2TatlM{7L4F8_u}5&xR-2tN=-&Z9*_3K1$z>Kb~bmLgFV^M zo#`Sg4@rT&(vo@|+WeQ?<{63>frN@YRkRt6qXg}ey)qi8b>Y3b4{Z>grbxYBsr)_a z*Eez-pUG{IKjGiEL6;8RpAdF`JbE*?yWAbuCo!wNpaxl54|248R_tiWs|B48wI1;v z_3#I|_3B{jo6+{YINm)(GNP0}k{@AznjcZ5lk?f~g!S;%7=Wg_&N_nUHV*L&3!9U8 zc}{56L}N|{p}JRGDa}cl+;+6M4E0ioe!YIl;$qbl9s3F5?H3Ev9bBJOk$p<8jk@N> zTahn?eyDIPLSHVgA+N@pHiLJWvF4SLdR?BuUin=ncPV%+yV1sJ)MLBaIM;WDkMlnH zZhbuUc4*%?ufYAgaX;0O9N{ZDc>e~yoHM}&M6%Zmh-MrZf33wnNE9O7$qpl8QE0_= zNu{v)Ud&Ayke~54#D*&Q8NGNeL#&xfjx|g1Ro1h{Hk`Y%CgvV#B}P%Hsd-ZB24xsn zQ}fG(CUz3{F1&?w98|_yo+C#WCZRr-KF=#HuGiYNeSV%j(rt2ktZ_B&`*Dw+;9mfHS3aG2aRVCQ_ z&?-qIRGT^9Y3OAkiv|7vJuJR?eUYQ*f)Pa5i1h-8D#vY(ZXv65x^sEyHu&XE3hL5y zL{?|=ov0c}=qp*J%S+EYa!MZ{q$+4Z;T7%%T8C-u$^MZ7`b2o^B!7isF_k&Kr{Vb* z^)j9|Y-lpw>XM#A-C@LJU6;a!+9kvSYxyB_O+qwefT37_MBBJ@wL>Sy+q>n;4SwmT zOEs=ocdWe^R#1}RW86{pOVBjPk{j*TLq@=^glAJ%y4LZLLk+7P>c67>L7)rNFOr=t zi2EX&j43RpIRf}3x=L-OrV{vl0g_#YiSb3cT^Mu3Hfs^v%vEZDRH9CQ2XVKsJ$kg& z32x0+4XSEucZR(@>CN}(_f$e`y4>}jkpO+#rKh!qW*E$b7 zUHI&r56;eDSZJASWBGlbjkaI^ymH*j5hLZ#PvOVdfgs_GlWEBi9?>YTY(b7Km!9s3 z6y>VkoVtl9B}L7i12VhWfv8gYLXD^~o0#zVt1 zacy+pwYwXq17SIU(O0f*;l9MRPXw>EIC6y7t)I4J;qTv%n*}ABE6+;L1r`X#1pS@6 z8v5zr4aiP)4&ys*-vHM$g)c0KeD%10Tm^?-4*@Oxi!|j@A#w{ByQkZy_wAv#rTx9Z z_js`mc?Gx{bDt&17$I41#FPPb+!vU>jc4hF1t!l_v@;0$*bkoRc+dA6lZH=s&^M~- z*D{R0zhc!Lqxzrw5gXkZB^dC`&q3C8ODEs&dD+l!&9iVkb`#&wLsqy;Uu?k zfLfR|30T;8!WfI7YQ{XY02jrx#v0MW%%I5(Zg$aP9@ z;Og62GQxTb9TS6=(XQV_RF52>mgMuz($fqZskv$vy0>@Ja4D2^Jh-O9bH_gr$9=9FwKf%VpQkCFu zmpGDxtwqP3>d~=;O~6DCMgg0VPETgz65o~=^q|ccN;n*+MduOHcmg+H#llxL2UD* z*gdc!PpG~xs#}BTJA?706ankQ&=zjeudPE1vw+Y2u<#J@v{*2*Cp?o=;pf%v*ek42 zZ2Vt6p@`%D>R-g&{V#6LMlFQD$@WcPLq|N0nu;~6_}gY__mXb|`)gi0dbPIlC0G== zO=I}GGBX?RGHZAhe|K^&|B_@nbAv52eflkicD(4Md- zm@P%w6X(MA1bJs(l8&8Lug}Bh*QeE6Rn(jBK`FuIVZut)x6H?bFR z{QF%4OUdz!UW?yLU-Y(1kAVj?Sfj`f5;rj4lbhTw`wskhbA4~U z7ipoGBrQK^t_Lf2rEMzzz4SI(SPZ;7pm>7Hmq7ks?}|WlHflGr@8Mf$mu3O|D2*S^ zTmAaDI;*-F@v0-aoKCb0&r0LpC&)3hbDyp~;eTsY1TO#~$S)%V0V#H#c4HQz>-92X zCs(P3993$+6B2I*kTTwprgxG|v|GHRNL%%=?Mt8rP{#fRkFI*TYccA&Y(ZVg68r5% zT>{#|S}D%ZI`_R~#s9vZNbJv5!822F zrnP5Q!D`;*`HNNGY_%5<#v|%gvd!symw+nB1w)VDV9)D2YsXnyeUEhx5^;xTihWw& zZ*+&Rm8i^Z-J!ux^EqA|x zO~FC9yOZ##!?{R&PQ-CD4w9K!+bZre#L3X-C&+Ulj14yG&bb;`eqtf7-z02D9Og9C z-I**SwCg+@3be@A&^J=V*7??wqEFHYv-~9~@${|sPujGMWSNir6&6UemXnSLgl%`v zwpUqI-@GmD?R-)Mor{d@X1-48C)mz9Ja$CLG+||OhL_+&bqRA%e;9kSKikMQa9h~x z2H{2PU{7>6MkbZZVQo>7dH$&K&rsXioBWwSdi~SvGr!*G67IJZ37;X~jLU9m9h|lx zpQU{`ujYTuh^T%X@}0dU9o1}~C@1~FC-|gB_+fz_=gBHk!G8O&?R)9gAbK>*9MaP7 zXUjz8q#d}nq%JLZ<)De*!`}@}1X&?eNAG;lw>Mnuzbg-Sy?{!T6|Nz{yOMC%s7pbP zmKo8U+~;+I)HX>cX7v59@KITt2aUMro_lm37Ms|f@u)Xbhy@z3&_pxx6LMDbPdh_(Kg#y!Nb2xxSgTtzlfwA;bbI`mV77pJ9FnW)`9U(_R06uzVH! z!CYSgDqX=oprfoU@-A<)8jh>d6#p_e$uIpC+Qj)_uSt7{M1`mZ9ls7pQ+3bty0A{R=fh`IOEw{3pbAT<+VWjGZ&G32xwIJ%+1{3h zb&eBFvQ=`9FB$YQvyP>&f#yc~8_nCt4vGp^;(@8+>j7!rrGfFlk+PTiKgR>_#q+nK zFD%=@rWGjuc&t0!Q$PUDtB9TTII2IqG5OZX+)YtUn9(S|WJ3mfw8xRhy7e8~ZK@mE zTQwIBTDmRy$$I3WbI{kwuJO>VlUTkrjx8d4&0L~gFT%I0U!N#MP`%TQ3Kru+^jZ(E z^s-K5yz6zqvD{cO59gA7tv%0+n%!nT$*1e$P$$b`$xN-MID)Lt8!3Z8lO9=_#G%?W~`cAZcFRBD_apdQvw~9VK z2DONieDvg)mR#sN$({87cb8(sK}9N=2PFAwd(J{`Nb;F`>58aMXiU{HLHTEs^zAQk zGLL$}irA(<=~+7F^z2>(+qO~9tT>l}b#^2Er@f~Eb(!O9x^#`aE>eU#U?AolW8;x4 zsII#^>$nDMemft1oe3WA=p$I`pgbY3CCfS=^cJ6OO&CAq*f8W{%=eG7)LrPhFSdC| zpQTstRkf|`_E&=Akf3jvgl9M2EZd&vK8+o^ znx8y(J-@hYrR{c3bCh!57MCsJxF(DJ25}9dlNbB-;PDIm`ulcULOo@AGIL13Eu---I%B3PQEMM_kM)@ z%YMIdmLiAVmF{{!@PwYVU5k8UeBS(syx#J+!E(s$K~>xJ6y=Zss!~$XY2!wv3#e6r znlHtC1>#QLm7c#8Upx^~1KD2|I0rdVp)9?`Kg!HaR_eZEU-S$f|C2X0Xfxa--FYUR zRy}NF>uxl$`*s`H@6uA3aFe`VQgqFe3ul6Z??x;pt&j+BHdcIc**KSC@4Q7!7$0}+ zTAWk2tyK*!o8|gWh`)OQJ#kt-{e>McPE5DIYE>U6tNw1O=lyg!&V^zBIAlpD#{<66 zu2&7`ag`?|-xs(kb`Tj$cT<%&-wE7#O@jN~9 z&{xA>`DuXc^~jx(=l-7hqmR>k2S8uO&SBT+`5|&npz39cy&WyT*DKaB9uuB-CTOFW zB7z@OnE56|$~Y(#u$V_w+J(gBAG*HuKVjbKngj&s;ljV9rIc&L>%6Rbj4@k%ddh5*k>VDfc4Xkpdgxre2Rry)}9g%@edH&!Eq*0K&L6fyj~G9#p- zNQ}t{S+-KJ6LwQvA@t}vVVz(ysgF`Wc1v0H$aU=1*Xd}4U^8OrF8MjP;W^P*%h3+2 z{KWIEut4dkQXos;AzyLp6<3gse(y9Bdv-hdxyT=|n2TuA7FNhKrI>1_09&X6T!J+Y z`77Zw&@~C@tJWJ`_^f=@bv@A{8`IBm^kLE=VLw3b2gf-iko$9J|p=Xy(EK@^f}d|BTKg) z8Aq>wQZRxnD!+ZaZn?0iY`#X-r0BCp{BHqidpRm#>O7dOHJRA)gsXnG6>)ZQE2ri2 zL@5{gjpG!$sFo|aEJVfEL7rc8<*438me`*Nt*Vv%n$RBD+nK3MlR91T$eKQ zw8HdQ>2n&?kj~$RZ+5p-*iAA+{GVk$H#36Q2IU26gIiaE8~p>O`U zO|O#m&(vtkMz%@%{M3z(zqA`QnBQRbA!RH6O&T7cGa(Mf111abHwhvg|YwOEd$#)%D_Iy zcUfl~6+4H^m;kPFt3Si6YoDj){Tby$YzzDuSjQRVnJ$VKo#Xpoe;)5| z)191iklX4UTdxzJwWfLVkqc;o6r0=d=89t1+7&mrhm4^7jJwN*bg-2s)JAFYuQ$)f z+peESzrA|dZ(D-*DlrFlPBGzqDlF6KYV#nMwQQqSb=1Unw3_(xnR#WbgO!)h%tzgs z8oVK6`9jOGD7RcWapr|2#!zilmWA_Rm!Njkb(}L18T={U8O}xcO!T5%;}NvI!8+Kx zYQ@$S8>~j}jIu>##d-5JQB4uW70yS1L7?|kJChPitR*wbXVQ}?9*4v6Mg(Kwaysq1 zX_H|;**6%~GyAGMg0|BCHJ}%lqs4s(`i6snWGdYh!0Qxw0oeMEUfByxPxABxOs zL!OF~r*+{C;wO}G^FbgJYp(_ND?Qd1*`qLavTkLByh9o~$u<`diKpQW-d)nZ9uw&G z;^jH+7+4o6jtO@*UuaDNdW}N8&$pOu3SvKNbmUMSlc#EvWjjo=Y=;>J8z7;dX?7`S z&njTe)=HoEk~J+^RBxeJ_(nyR@@TeF{NaI_6#1wTcS#h7*5Ntbx=Sj@x1YR(+7gP% z4WXn}N{(O2`}9h-iPim4&+f#h4>iz-%6%9b)(7MwLINYK+gj;4`T2v8ai*#Yz4aq_ zYv8uXHC_(Pq~}k@Qzbk=^*8Vr^_(dn@tnZ#^Vu$~rXPfXz&x^$z0&Srd3*-{U&iMn85s{~^T8G|?k$F}@#%lUvf!9JhxWIj{Ri<$ zyy3}Ov+M~SDL-YXEQ@fcJ@YVjOK@DC?;n-tE{U$8cJ)@8d&t;Z^^N}v&Vg^T6;QKv zzFYl@4G}Z_HS%^zgP}*L5y4ywErseQDBgie$&4N;JZ3cdG8ugugwLJ{keOaHfPUVL z%2}T`t`S(e(fLWEJ>O(&mue1>EEU727Oetq$-_2DN&!lJr~=JV=tPj1SO9em6paY6 z9v1y%AYtWvif?M5n?%2EEzmdLLjI&|J-h*WbIW5YXEfG zek@j5c8B~lE`|IVgCT1JZ-oESzi!?r*CJs!zkTLIE-l()X&%^{H2jsAXEKk0oF2#X zPV5~g*R8uJ#g<>Do-*2}*4?fF4$jfpz5_j+=m)N)hBwLauDhg?2CBbZDb<`=Uba;W z>_x$c6}e=Pe=!3aDt!A(z+ zTJID{VjJQdWm`~i;rKGaI9Bb6Z08~ePrlf?6Ve3H9}Za_po#EVwR=Vb%P7=0jrSY> zLQAzarpbtW&5OuRmHh$&xkK*aQ7qY98|)NpR_i z>S56e zQD4U8)ZdM#uK&hgVws3G+bgmiT+XWE?fj=WQ(yLojhjwan1DB>LUpH#3V$p0EM4wd zl)IWwC2X6ZeEOigT0ZRzt|1PRZB$53wc)BVdNxxD&?CmFAg9{E=i?nJ;bsT5i8?1M za@*A{E{V^7`)dfD!QLNTV z*Vp*_DEfC%`d?&w%>!~%9@cHRluxm0Ut`tWEiBTchIW@;@g8K!<26wpukdk7r*VQj zO!`)Wu$ac_`oqZYPY@3KHL%@$J#%?kwKn3YGSinu-67gdnbmLnOUyK@RBfrmGEJ_Z zBS{IUWMRhsY7OE<<66wGvL-(PUz!D5gd1yfA?je=j?Z(624=ey2&}~a9}buG(YY1a zW5${|o)By9@Ytb$w=jKEvwt^Yd~Wrm^K3M1v5irvOKgDUdYp{y58d)98|&_8IF%FZ{@cbOG@eh}ueb-0s)hG*ymLIf0t9utC>hL=ino67xFC8jN|g zaXx=@fxeMY9+WZA@mY|X2n7@REux9iWsPT7U#=o@8t_!_G39(eeV&Thg+@E~qV&T- z%69j|Pk9hdF0!db@aEafOn!_k;ad0_&PdHcpX6BaEC0TElk1S9p;zrCOw4>xY|3^$ zfv8Il&LwzA?e zCN>&JEMnIYQ7}=1mG)szu6q}1?$N4?l4BB#4f)Xezhn_jA&WwXmqtRdCp4&pUiTySpYV6oJYqZH_tkdU zx^1fJh2(_IHtx#1-f7O-O;jgAr1GJ@Ny?z&sq7~yfp;xHecj1whW51+b8Ib-I z_~^nT_gC=i>$Dq&_$0q}i<+;hTf|$2@0Z4Q;To)Tiulvm(t|a8XawN%F?{J+np}sL zzW8!nTJ|k0Etx;J@RQc0zWOY?Br%vh{y^UvGKiMps_OaZZ%?Pj*3zo3)@=Q>m8(AP zkIqoyUn-?(1!jDZLdyMi;F0 zqLkF7tmN=Imh9T=S~3vZ^RUf=d-lq_f2Z_JU=*J#ej)8d1swNbEaRLwjg`5-YxiXyPKm3In{1n+STMZKnnZP6H;)L=_Jy@+&@ z<&c6vrre+V5$lXtZRDOQE#&mA2u>UgZa%P&lwn&jIFU`lK{D~a+L4fnV}Nz8?5~_k zn)Apeq7=i6K7?$HI7`WQHV?j+$-NZ)V{(7xuVtC;2*mGhhpsJo669|cIKLZq3pzUw z-?s<9oAJGZ>E-h|L9fh4sp{+`St1@Z3h{uO45&MgJmOh;KB;J#+!N9WM}v>;mF|`G zqLDynxgcfBvnqLjMhS_+a6I15GUEFzm%D(*r4s)oJq@pmG8+Ay2KMowZF{4%=qy#M zhd(I8#C|{4z#hZrYn9|*haI$#-@omayeN))Izw7^5H6^pS8ayuBNx z1JM0#$%MW7shGz(S=SrIhg zGn9Yik%nToJO_>XBD}S*OI&u(J~?{;^OmOEN&0a(Mn*a2V})!D03KoEgJ~guFiRbb zC%zOAV2!8=dtNS{_w9k5(!${LatA!`G1x&SqOJi+?&W!io*D4_z4)Da(*Juv`c;kz z(nD{dXD$X3F+DTfb_MH5;}@x^)A&#? zNWUO0Q=1-;es0v@?@x_t{5{#I!e6nG!{6i3UV+)!NSHvOenz0eY9{Px;qR%H=V~aP z;g|PcdBb<$qPwg7q#!l(ht6sm7-Z&!;6sKlp39iZqXF`v>gm6k#-*!s6UaIIrn(b=5 zSML5ASAJPS2YXQEA=|CgdiY+*9Uk56h$5244ugtj;;x8GbO(ptu|{zu;>lj5eeonb z-xQN%`j57cy%I0mJ`zM@F=aSDVxv0QG)Dclkh3iz944YoAzR2s>4!6leP}(N_t(4h ztN_mx@Ldzko+1iQZ{&WTHQI1qjo(pcoS#vaz{hv6-$#0*XGP0Bqbtq0@~s}?a|_-2 z*?Rfy=sdk$6|n!6w@XAjgVBx(pV9anT%5cA5#%6|bepj%4p8Ro>r;4eC9QjHGZ^E&m8FY zUi4cvJeqZlFtJzhy?noF>@eiUt2}Dx_o*WCalMI@F|?uu^_ha$a2biPMz#UxVW{V# z^lh-WmrGPB+KSfPEWJcJqonGZBEJbr_C6xH1u0?z6~BF(M5Ivf9ovltzPLH)TuJM6f4M|t;k2ZW}%4REjVMYwB~t} zoX~0UP2(kB2coqaH931$yoUeZTtV7@$_OT=@MJw2dvq!I>NQ7?`rkr(Z^e^N9_cB< z$d=$OmUnWQ!x7i6x9Hl|=(3!3$b3$BzGjW{e%xv-WY>IyNO|Ixhzv*08X>OIS~Yja zh*5>}QRPzk)o|Ib@!i0YCJ6_!wka9)yPrcWUlRN*_*6O92*s`_*Ea$uMgS!tqVP*d z9ErZ}gUUG#&QYvPqVL?ni6#U44EKz{XA3^{`zwSJ_w7LAS`2wI;;0@{>f%cZ?x4bb z8H>W48u!}-qMogR1FmR$lm8V|_uOhlRxQ47lD|iy8kZq#WxpHBA(nk53)GCYK%dS- zpP$Eb6_3O+*8)5japOmgc<#tcnJ$xkc(9FF@fGZB@_)x2-6o{_RBA3O(lf}O5cZ5G z^o7+d&_W;qwuB4B}-mlTrK9zQ^y2nTxhc~=Pc%!p^c zr%z-r;90|0>e)m1j)>UQ2)z9V6z7h;7S$Oe>k5bvSfKZ61?~o|V+6E?apVUVlOb8; z;%dZWBQFE>!_CO-7YcxK#K!w!6*9~Ag!8Qrx)O>gD%>$K#kadF*A1)2y2JCO}MP(>mnq2@GYf8`e`2U-p{{{Mr z;2w;glcW;rJ6W`pzMpG-3~}3`zRv+3cS2!4a&DB~FGGJL#JEB$uk`=U|FZw|EZ|+@ z9Ugnez@+<$$HmBNXqOxOZT4ffb(0>qE%YY?u{Omwxy$C)L>plZ-7nP#l2Or4YvVVzN(%2%X8ShrTsHFH zx6CQN*E>%^LLKURwFec$T*-yg`DB^jg}CXz{0iRkg1*`!TF}obi)@32tT=F<70R8{ zN98$@jq8AikVfxO#QhLGXc}f>?N38bz!;R{`*wV%J*RgalMcUsnbbG)hoL01`tw)8 zdQ(&ftS%tbQG9ed;Z@wU2$>sfY*O8ZdZ_!B9M@>{6^ z9QMK$nmjl8>sC3o12tsV*3L#e7Wrqn9g6)+T}d8W#YU-CU)@`)+DZOef!~2#wkH2} zBiZ-=8hG_o1lu8Ld(HevUv2=rh7HX6K`z5p&TYTSx!qSeS9_In`>r@wQ+83>fv4BN z@&Z~D7KMSHUgg|dS2?$v)4NVc_w>@asX!J8dx+*sz$AX)RDebSb^oJ089~V-$K?`){y2hbZf|1ldjai;iKLU z$)7jDI`a(V{wR;ht>|yCr+`+5v{6uIQ0KuzfSEJc1iJv?F=21XHDRNQ)A^_(w)qj; z!@wDNyN_dp+fpfpPtotSPk~?JAS?{hXCSSirS*Q&=gS+SiV5rH5!*#XDW<@B-+?_w zNEj49@M}vr${qMs<3FD?utfBy{~bpEf4;*!T<=SudwQjt{h2QHLkfDqaNlzc;X8$R z(R;X#eD|dP>zY=TrMeCwmbM(RL}FuX5v{m~ZQO;d(i74X-2>50tOEJt#=Fv>ixS>1 zX{*RwLf%q&!&nt)9@;kUza%w*QWv@|NxwjAoH5eO8Daul^w#k z{Ln~tWmslpTB)GxTgwJ@unFnVboMz$yO)=xcOcj9?j*w7z09_3!TR_!^s8Th`coyK z-c+A;*~D|}tE_FFfaD3B>hqj$kX`^LKGB+vK_>PI4)Dfn2FV#RM(sU<=0cv$IElLv z{>s_!@W7QAo6l8?!VF7*7Si}Z}))QH-PDpFtQ?x49xC$`~&4J-E zO^D_1cTug?9o?FgQ7y?u**s+}D$>=xU4B=2gJ}-YexPAanFx9C4QNv}E+w{$NUZBl}7^D_MGk+`4Y)C1C1(D>aP&@X`Ow;PgO zb2p8G-t{f;BJc|vtYQaf=XB1Wz=cLeHcp zZRq(+tE~SZcHlYC!CO`|4%QQ%gLhG%r;->i|x zu^UI)%NDD3M`@kh5HPy9Dd!L)M-(Ry6bCXX^jDAnmAp7;u(RB$_EcHIQY;!fqtp7IN4r zAWkoZ7jKj0QP)^tj*$;HJg?8&C%1l%yc^Q*e-~?FU#v2)W_(J(s2vBy*aBn~O?7A4 zvx-8q$u7+l?eaY8TSgU+#@IbQ~*#;!tq4Ok_t8R@`>iQs}^-o~~UkV|p(G4$V&` z57{U_pQR(hr*e-p9kL|zZLPS=p2^=;bQ0sPMnsf)D?{x49%%~X0OotPf^z)wP*MIj z_LC(^nEz;5Le+Q|*%!(8`~f@BIB%5uR{L%8|0_@47151ix1cx=K#ua(u12>U4L$eWrYGk=V9uI->kpR}NTI|9hU#2R!@# z{PJRUp3gHg&&)h?&ph*t*O|~8CD-Gl^or{%6~)F5e0FtMZm)!%aa)XSL*&;z74@+M zW)6&)jF)59;nmHaSc9+}``NcZ+Ac7=o1q_lH?zM)b@9iu0TI2zw>H$pudCecOy>7U zIqQKwr?qSujUn0;>GE zgK%pDxC=}W47*3o)?sX>*gsQj>6>xm|0iSD%s^vTx*5^U-r6vVW*{GH8x{7_d+E*4 zwt*CAeiObfFrmh-uQfqC^k3-pdSZ6VdcBy;ZP=|AbA%oc`+M7sKVww)FQ5< z>l#^Rr99|hv^aC-4va^*5pIpy+6%G|A$YgMKrdY7YP%G9zu}J;=e{(~>g93119rF@ z^TtY9kP~kSGntRJ3SW#r2Yni=t{V;NAMbd}2O$Q$Jsq3@y;<%>CC2x#uhu4x$sH8C zcE@miqp1j-n*gyM#$Z^dO0d^TIG%(J_go+vQvraU{7vjxb680Y$y= z0-l(v-sjvYRUIf*UF~Y{E4*5{AE{C`4!i~Z(l4rizT@qIc3bV?n-SA~1~jZdJ5KQ< z`pi5Hjj>{vS9=Vuh+*%nu@p1TGI@y&;O+XG9k`ksm=D6B+{UKuHQ=<)1nH)*b^dyJ z`aR)VWhM5MyJxo_D9?z+c~@28I{Rn?%jpGI@63tVO;V&s;3nyB(AL4^0m8s3_w-NV zScsm2rvlg!~WO!HX zjy>jD(Q4j+wQ=1u&1hY1W88wMke_WHy4>8_%fc%rnAg08-XunaB z@e=O2dK4*de}J?yiK!1FeeC|^<0HJxpu9Z-csIPzB7@FhnU~z|%iJRCxsqDgHIvEJ z$cmneL2tHYcnq{6Nc*0b&@cCL)z!8C0(!_`Ryh5+Z_rj3Kt3k~V+w1xM#$;lyrGl3 zo{jfRA7q^{q|Q~Y#90D+6Kk!$tDzZA4%z&ez0j#x&&KmXY_$PB$4XBo%Q7CaEKEz^ zc_9&dCI4c*@c|@7xL%I)ezb1+Kzp;0*6h%Cs{;LBFmv`QX-@jMws3b(KZ}s%==n>E zZk03Xw^OcfxH{n=d=-_jnd<#j^N6doLc!gG#U5?A2{8P(@9ym~nyoLz^K);E*|RHa zF|Sn_WILCItO#zVAMa}4d;9J7+%U`_-FmkV-iOjv#<=x&l(z}J&IP5!a#}vc>hM zyL~2Je5*epg-k!4p$0(rC|0x1yv|tNqNOa@k5}PTHISfj$KC?d(iWuuP57ZfCgQ=> zJ$4!}4|q^QwI$O9Jjf5Le!Rgg>4tEB==I4R!c64vdJ&r$DFWE~_&4F^0d^+A9hiE@ zpKDC_g1X|3LX?kz-2fke*JjwgpmlZ7xRSj?&_auqGL!4l%ii9wlSYv?#vQ`&xKpi3=EtoV?tSll$@r;?CUtm(XO878dW`trfif zrJ1uDyBMRq+}dz97+>t2XtSG#H;;Hd1Tv1!BjDZkI;Fj7IEVM{7&lLKX0yJ{ICBp3Z#55+k*~p_;VGndvZ--m%@G$?N^>aJK-s4|9sn@J9|>e?Snn>xDsa( zZsBfXnk)LwKwl0SiTQA|!cVL4)^K5GgEHq0e?RxZX`l zb_h!$QRex;>BSD{iD4~Oyk#%}^tU~)s?kZqwnG0k^LoaoYg5D7d`^w{*BQ z@VR0bVhbsl1^hQ79>6^YE47{qKJ@E4$#8*5A`Yj9G zfS>Rn-gyrGl?69$`Ew(Hf3)6Tg=^)#2iw%${;W;?d++~lQ@?{|S)r24f&KE)2l7;* zMp}N)UjqD*;g84JScAJQ55?I=!{Yq*DdL<0nn{RL5Br}Z50_aN&`n2Mm&45ue%M;M zAKOc-&>=ltac;5}{o0>6n_}(8mG6cY$WGzfz-1_0j$%B#4Q+^6(>?<|YR|BKZ7yya z(9ZC{zSx;(x-^dq|4Of8JaP(M*e|=4VG;F|?0#|(`sP&Z4td#qFoVL~Qd-@KcXW3M z%W59&(;weGW^3y!H~l$noga6k){l#Nh0bu0Vx~*?=$+@0Ji-p&FYg2BfNCM}q1X5c zf5}#|vDSXwpKFP?+MAu-K5(AGR&oo} zR|OkhnOu-R4r!cLB?P@?}o5_r8qBPr@u~^P}_?}VD^HbvPk3=*DJJ0oK0x# z(6Wh>64rWTF0lqY_&U*S+~ox$>R19LZ#iy6X>h8s`I8csP`{E?LjMi0DIbH=zNgi&t84=P|SlRHpz z)t~!hJoXuI#@G&LjPhOL38N7bri%0(!bq1NomR`7HQ@T|=;N}eZ^;lA)wO|y?hc{b zJ f+@tM=oj86W9LI~q;(f8Tg7O+Wox57;$E`;EcpWK+tx;EEb?P%I4Vr5&xEiOu z8RG6#M!DGdg#BKw`$C)~9~XX-TIIw2F~?uFFsZ0NT&KFhv}Stm#9c=(`#z(* zr!QWHJ~$W#E}}NT9l{<-zK89G9R>x~(iYn9Vs*u2v?v z#I(2}CT}~t>%Wnk0+&d*#5A~Y=uehN@=W*p6LAz^ai?0uyAr|nFN8NJw`%?ki@URB zR3u6`3H^l{{n&9xTt8{X$nkS5EKL(-?OE=-;-%GA_j8YVyc9EwDGEMCNd&{iF9ba( zvmHUTCFCO4^`3BxX$H=IwEVa}Zxs!^I2&u%^TK;L@tRWf==gQP^+qeE=}uNLZpIz# zh={X)Rz}OP3&nb`X%bbIhGq?E2-3fE@iU{beKqvpHPSD5Eao8NsE$KoxPEHB!aU7h z0-dl-CyFmh#W#j-0QM8LwBUX8NA3WMdEk1@ZrDwYv1daMkmfu%)RNNb>>YJSxK#ak zT3>uD9o>!kj$f4a(g#2ru$zwpeR#Ok(i$O;^&EYaDek8nYUP&piSClg}B3+xJu@I>b&8)q{Z^2@honlu$t}ddZtv4eQxv~IN6iO3@j=_ zJ#K>?Q#IetEMI#Mx|7UQ&sv)0Tihxp&X|I_tg2x*I@xU~+!4_SW-~ofVN_R`X6HK7 z9~AcoT8{tH#N@6vqs0{%j~F}bd`qb&k1{~ zp^FvigI?GmInMu~kvPbGZ8W9OJ>wd7ULU@BaX&Y#ygxSG&(9{i+ZMK-K8m(eR``Xm zvKA@I$k2XQm|@6h$j=wT+`3ccVQ6Dz*!${wp1lnuM@?%f&0MSx+y`OueZG%LjNDIw zA@_dlfzV@p-{nC**Yhf>p^c2jn>WV=U#TuWIPP(Mo-cZ|9~_ES@qEnlxndjlyAp{~ zZ3Yd-T=#*G`F(Uhps!K(eBYQc(&$%txmwskvZ~AP=6%JfO!oTPe^@%f$tXwt#0laS z*|Ae$R5RKdH|v>ZDG{H6yH;8Wzlrc&>>=S?fY@55MjaQfg1#}6&9}sSn;vMnOg^VE z?vmEmN3PdL_^Pjuo639Xu?uSY4fitH&XhZA|I&TE2el(Vn#V``gZuO!EQMlAse!yLy@5!2L z9}Icj)2>y6VlxMgRY6y4Bd2lFv*=GEFbiCp{RLK8T6;f3kaUtIa~h+VChPNffA}ZY zDtFZNqO;}C;xzJ(&>!PUSi^e~g$<{2$I3fnE_TwjDn;?ooOM)a6OtP{Cj8bQ1GB$j zrqo=j9rt&e*#4BPhx|PBI#es{_b|s}QZn^7V%7+SH|1>47BX^GxBa+Lb|u$wT}SS1 zJJvc5%!Og+tnJ7R!8vU++|iNmYDN;_?2gWTu57A-&J>(bit&6=Ekiu2+Iqb?YlM$( zDln(H#QSlj@pu~rdu}Rv3kw zUIM*cOdm5lYho+VApJ4u*ca;+t7-M4>7y-?>NPT6mNxSj0=orXd`h?cn

eXxSK-u7kf%Nlk|%sYYW6;jyN7=&_Rd--fl-No1> zo9o&c`MrjF9I~$M?Y&+Y+F>Cyn!7s}Pwa`^`Uvz`j>2vc!_j92(dq2+I=p+VA6O*b zMC1DWjXs9W13HEW>pMoU@fW*d711;5gn07VsR*lSoI-Rg6kDe+Mpfqj<;<2i&u{i+mm^c_ynFz`467NJjRn%#FK-rM|o0F`xHEJZi>RLG5LI2o~)91@>9Xn@nrSC ze%!3{{#@(`s0A28B9Tu)9BPXZp}$)u;@NyRkO6Yc-RlT#8;o_R{1j6=S= zg9p!m2RF|6b28XDu>Z(aa#`0IPwt?Pz2IsCUG|{{SBQpm&u3_77Txc2)rQ0;@Much zaH-E7#^y2V`aU;E;?dxSKKBOkXf5W~j>7&A^tnIPuzI6^tk3O%KDS4GpX+p?-s~lx z{iQy)-y?l)MP?`Txt$vN+#69edZO3ekmsGSEOT<4KT^6`>s8bSl)3eObUx!YV`)e& z_EkOYUM&5bIIcm%7c|i_iB;A+WAlH*j|LaQo{_-1$GoE@ykxwZ`Q0 zDcfJgj2YtCbvyUz+TWFb{J6Zo{JGq0C1-;D9_%r&V_}bm+mpwxJ_(QWq;0~Jc_M$5 zC(iD~6Ly~XFi+mEewsdso$6S~=Tq{;*s)u>fhIE8fQ@7E4gUciLkrD9uB(;+@8#nub#k@jQ`-tt*S?O;*2JqjCqVFR?6xB)pllq zC-eUoo;af=o{WD=p6t4UGl5h7-16^~TnOyRuv@@>2DT5}p3IY*PvA+(fAD11qdcjY zOFTJ@RsO^Eq_Xm9+Rhu`$tCjnwDn}J#FL}hPghSiUdCGIq(7JNt&$6Z9SXblgg?#+ zah81Pzj%_E^mu}BD;0W@LZj@N?U#Cs-cNM2S61vREjc3-(ow$WHE zd<}g+^}d~j0f=3^*Th~@S>RGW5gRg&igPn=i{O!lhzp3Pmu)iE8%D$Tnu2 z;mwd0gC^p>(`UEadtxWPa3XFUalMAYZUap-RnVd00XbdyeE%a3MDvK<+}Tq6xhQdUs;T@W4BZ}{(F<0d@&mD zQ%?4n9^IL1KPamlx6^~X_g9W#GMaCN^vBsk3zuAf5Yo~f&Z{xJuv~gCa}DVAr@Kq% zgx=D5IM+R{=zcq%ofL}u{Wg;ia_H0kGu*o3dQ30+EQ#x*=8H_1$*wSQ&_W~Qf5+Tx z_F3HTjAX7Y&A0<(ViK-6mrPgQZtTtO;Z%lTZ_=qu_HsCsFWj8UOXy#&FQZ{E9^qrQr4ZFF%kbyocWYjVJ=eYY@TwZ|m z>yUojsu_=aSS+lH<0JEBKwzYqm$$AZ5$fC2VBZZfQ4t4i;>^=13 zA2^|MgGMM8ZV{vxpHv zd(97=qs6PrA3~NoHt{2OkJGGnGrgD}1RaJ6jPuU!6&E-o7Is2h?2PU6y`e>N`y8fA zl=)f&nmeT@*n-~H;(ErDTYHFGC=avLBI&hCB;g)zar0mI&z;9z*b zco%1SJlz&IIo`6W5?J4oXYQN8_2u|1GcHxqufgkMScRNxO0{&xv~ zl<+?TFPlg7=SlSE5&c=9L-^GaekI{kfj>m}-zEG}!v74sERpCWN^}y5&TOQU@M9!= zIN|lcn+d;K!mlKJD)5I0|GR`gO8B3Fm(3^o^CkN8iT)hWC;S)*A5M5Z@MglVmhdYH zp9=gT!v8Mej}rc8;AKffKS`pWMD*u^4&hfz_?3iD1ztn=F%mwU@Ot1eQ}CIL8du~p z#XO%GfI1DxXEkm%VWz<9DTVu83U`#k{Y>F(QaD>fIGYsChH!OBD-c>$Zhcs$F~xP)=>EKi!5TNA*m1c_IV!{GtC@Wh|IVbo53`C#`o2U@${+f^L{kpF#~~E~_M$Rg%jpxU40YwUWzP$%X02-asxJB$o}6%Lce?B9~2)%O=TX z6I?zemro^^PbHU6RWlO{8#Ox}mw2>MV~qKSeZrBN!_e!&(s|ft1*P*a7nc~NHsH+* zX!cO$z{ghAw#?P=u@!Wh6g9O+y0Oq(5l46gTzztIb5l_?Dk3NPFtF?vU7e7d!(OP4 zGKQn%o0LQ)u5|Z0JrXbLx-b(wi8t6d<7YzAy*fe2kpxZ@G* zt}@g8{ub_LzGdJ#FAu4XhE|O9Dj~u3C-i3b?TkBB`get_n~;RSTaZlC(?$Co+~&i| zF*$a2D?Xtb^+Cp3&M~&?lZiVg!N#%}Hq$?3x|tmp5geBtt;8GV%HHvrK|SR~xZTv= z!`{EA>;Ryt;=M^_@U8NR*)mn7umCz{8NKZ$Ig=lO#2Z_IPRC4`<2Rdhi7&Y;Pff%P z=N}qs&c`*Y?1($k?e-DH_L*+CPbmUp-72z@WAVE$c{_fOCkM_}K$m`(b!?vkuM%^W zA<4$T8T*Z~GX}*eG1FI$NZ%jXtI-*aK`X6fJ`)z+i?MIN9VD0a3^?P7H#|`*dhf># z*Nc(N|Il83MQrV9H&zOt-?M^CAKYL(Qe$VJq}qZT3ZDtX?u~>V`^j)yd-Jd>daH8K z(emwazS%tu*g=`W?f~}3NqZlx{xIv#JS+TJ37rtKLD0I|9bsy3?9J5R&AV2725xc{ zW_G|k!mI_n9x|c-S>a!4<$0`Oh1L>xi)Ec#N4TPwhCl<0ajnp;Dl)TvPigtx&R^F{ zK(@o}UXngpv-Ff7-FIg5V^()tqE4(j>P>P;|Ac#T&wf%@wxHK2t=4g!eb;$qmI#rx7hEBOp;to1R_%Cs zwr``NpzLeLD5Ez@*E=TCc%{rEMA6q1a=$9b{i<5m_XwFaZS5_;bW4Y{@!-yg%cmP# zjV#4|SKlw?z`6~tj+UjjfXvPXSIrT52m*9qTAx@Q7=DS&qQ^VIQ8?R+IR865? zpkLe-dK!Y3hNNp1w3oAK)Q&RWEg447^^33va&V9gY4q1OO0N|9RQVzt$M3hw0zK2^ zcD$v49T8vLFmFriG>-q=s!N;<4aFB+^9JE9f>!tIs8I5&T_-VzY z>ANf}5w6z#iPBc4@1M_Z5+uj%ud-H+y*8ySyFbZ!jmTDRnW%5H0ocm1*CzXimNJ>j z63*>3lkBgAE)zLUX@3=-Bbic;Z)LSYveGO4<@2w^y^@W0iWT1A1~+J@zR`Q^{q-jJ zat&M-(kwjyxAzZ1n)OCY2eq7@_9mO7_5QrQdMM)LdJQOI>)(Dw*n9A72A3B678(&d zSsOtfvr&4Z3@^xI_A2z=f>wI~QkE+3^r*yR9OHlybT_p;(a<9QtZG}vD4fD->=^cG z!r=Z!OIEJ#NW}b z3PC=)1UCaT0+3I-_ZBbgdPJ5q$-s@|k>VS@vZ5EVeeBIPx6wCG_vaTO2O|obZ@F9U zLzotPe_(=v@z=N5v{f+OQ$t>q3wpUDq(^E0Wxu7Zz0qb!%my`Ii}&U@ruplP(EeWY zj2)Q{!<~k{VRqHS;kH|t+-bD_OOiVseNp6@H#p~=zN=i^2fi- zbkD-jT;DC&+eEMH)^DS>eW7ymWO7&YFIi6D6|CmBInOq@T`Th(caep_dvDl%(plb{ zugu^E;q}(8Tu&x%-Zk4ZLl$JwmK5RkRoBK_8f|X8=_GWwZ5kz(QL(wjW>MdBi%sbf z$6TLkj$u4F=9-{dlsLgHCaAn`ACVt(b%%Wlc96=uB5Tnx*Ff0&U=M|T9CoCt z8UID)F;`>gui0cr|Q!7XPx?UKCvMmt| zaJgKPT&gurU@uxv@GhEzTRKakmxXhXxBN_4P&vEwEc9J-cDWvD=`6m-r_Nq1#nKD0 z)ZUBC?rL8Up@vM|3D?k0XXp*_n3*qB7w#?6ETr zwKdE2Vjlj%yyT$cB{O!FhXus6&7O(<|MhWeN3m9V7J5bp;)Pn-e);W|UR+>Fh)+Nx zyvEt4khypP=eb^X-6~V2A2BxL%Uuz!?u{As0cOt(<(3GSYP8$H2v?Whvfwhj1P%T6 zg^Ms-PvR9Q$+ghHk6*Rhz*d>ZTt?W(Tt4bWac5mdpJT3;h}%uoB5q2^G1n5nYgJKL z#r1?%QQU!B=w2Im)S46}{$7_c@un*5#xMonK~5L$SHJb={)Q=pL8?@Zwk*pWfVIdztVL#G7JJMU zrdot=2fnA%_h{8LsO%+XXu-B}k^-Z_5%3$X`eG69!SN~w5ZTWnq^WdbyMbxxf!XN1XrD z)!2@=WI0)ITm6R6io$8G0IbW}6;%p5?oG$cupQ3$7GzGtY>(Y>{1o^3#qlGy;RZ`1 z`y{&m_?ghj1#K4t&Xx~^p67uvToiyA zpiM@LR&kcYNXMnOwVyTOriO_NK%Nes!^wp#{YBi|kOhyuX7!S7+NAAv{v7)ENSD`M zFKEsv4wV(kf*s|u{wK@1EgzFsEOw%#XPVib4Z<7hO==m>HP{HhYbc?Q%<6)15>Ha`{*&VY2GthbKDnnXlVmF@Yn8BH= z+g_%@WJ_p<-mmaQdanl>5f;`6PH3-WbzvIrX&eD$O%Y&cT7`bWYev+-1g8$@3YZ)Anuy6dz2ohwnc1{^zU6X_JIDcUYU54+zYitS)^}a&oF#| zJr+?j+oyupJ-<>`N>##{I%O_OHwZF|ShId<+!WfGX-irzYW2Huc2&fh2CAI#Q{iS! z72a+#E%3|C(^eHJ>?;g+qCe2ui!6pTN$=aI!kK$lA?HvltgK^qi#YzG$s8fWiq*s| z4XG0J*tOvJVpA_8=4@Ei)0rK;5r{Lu1@Oi8416Hx zc^x~0{!rVai0Q+t5}M+4o%0-{|I)ZQ)Q9!h(hg3e61I0!B@|)|&BBbgZZO*uxn5o+ zXsV|`He$t~_E`T99TA*4(WS!4bG0zJrlOqd_UJ94`}cpiUazrnHAqcuWuYC~i*DBq z3p0$p_O|!35RY`PFB_$^(W=*3-pB=drON{vZSmMF$L$hXx)Q5ZMPQ`M8@hczu2F6| z>DsOG+>(KJXuY=hW{Rs!CDt{bn|_4L!?n!|v3z;k&AYJt(H1FkqID5CxBwgkk6BN0 zzZTy=AI)tz9c^y^?;JjO!->^>4*O2-TfAvhmtj<|x!yz?d#|9sWO~yUe5Dk}*ylXC zpC!ZQV}*eC?N)MAzw+l6DwJpu&*PmYev~_2aBPNg*v%x)x;={q83sKxs(w>F71~B^ z>JiX5#CEsNp-&CUHtSpBe#=JGhdU*sNit&vjmjR7U|NMe6eb^H(ECHWgvq}!T}9Qx z0Z8f`6lEnAJg#MY2sA2k&^a+2`(yklrj2?aWKx1-I^Z5E*Q^QNSk>i=J z-rCTId)udGdqUf_`1*{f?fO$8x|*~1MhH-Yex_mhe%wsx%&*FW{0?L|_ExOu)bxZm zMtQ~cLSK$wj!t^PVD9>lK8=72cKLAV16A%c3s79=eApYq>dzW;AAIl4EjWO^JN!jB zoxYp23Vv&f%&|00>sX>-Uq@3o$A&bu^F%EBvfDVvw^p@tPB8nrX5}1znAMJ>$?R)G zD(5INsU363=bI@LiuZL_@W0qP6%T~1N@-HuANEPBtT?Fq4Eq4U*|y;BI(}uUf-lb- zg73vCZpDLOk4PEZeZGAtptn<=?Y`W;x8it`0(&Mt#d*N}Vr^8sANFsyY=n+S=$*Ow z`2NOP(7k)9+7V0f7udXu)s7hiZ?>u(GXd%N@$mgtp4u^s@PFFWj@hvaJ~CJB5C{{T zvbW+w(!djH$8Gw4199%H_zkg#ru@ivNl`oE2;VVvZ^hrh##t47j{>#hE@AgjoDPBw zpnV6Bj`v5LuOZF~!v7AulkiP|zXtq|#JxGTc8JLZnj@`VfGz;?MtqgzS4dItm-5w) zL*%zV^78{A9e*A8)}Zk-;eWI#k>|q%8xhY>$qN2rj@t1HVScjht*A^&w5z3Z4zj&g ztae`UWo74X4FVibu))?6@LYmxEONkee7{F1BVjI}^y2{O_^%MRcb?jrNcfGmM(~+H z@Kl@HInQ@hx!O6OzQ4eCl5YmSZ_sy=tu6fiL+~{#%E?(y@J|-C^C}=6zZ|r8<*J?6 z2rozY>%I#9jU2V}U&2g7Idw|%KB0Err0+@aaf?FEM93th>Mr5G0L2P|axDseLOxOy z$nrbQHXN}U34Ybu0dOVxnn9@%2u?>>7eODPlm{d19P*z8{9HgfzBl4ZK$;Q=Uup&S zopA&&2bbal75v6*aDp%uz$60G9R9Bn=6x&ULOH=<78W*%U>Ft&@z66|H^5BLW8`_973^&f)!OXYfvz9xVI4k7s8v%m?$ z?6vN#7)$BBN#8r++}7qw_EARWIOX}OMY^9lcr#Sd{L5d0F==Qx5Zk-zxy z3f>1k=MjdrphRHa0cIg#1QXSNf)^nENl6_4E?V3o!dyp;$pjrWDforCdn;z69KSRT zLVVWd0GCmqt9jeJu1kXV##{tsuD$q87_5{Lj2fc~03cdq! zJDD(b6x$?%tKb?P`^n|K6^Y1`1~iI@My*A`KbNI(wotG*yO=r0C9}q{iN5Oa#oBVe zWajp&X>Ubx(gM`4K>F60`yhRP5%pu{rhrcoJl*^wAB@;e)7RU8{*2AJw6|gr;&msU z6_ZOLT+YP)cuDQ-40>|D3Zs7jARYe=(sTj2=t1#(U}+87-3U%Kv-0aga4&@Knk?r( zJD_$xLzor7bWiRF4)&(+@#e&VvEz{-v&NMbw^(X%(;)BkS49*OYFluKoK~s?Oi8&gFj>7LXc^7LO z8o+Y?oivR@3rNR@!q0*%jU$Bo95HDep$a*#J)m){C(KNfKSG5Q+z}G*T#QHNz| z9Ac0B6UCoMe%^tf`8Yk#MW_XYIStH0V2%K@gfKZKKhPHY=Ft?EjTdtM7V@_^Sk5c6 zH4d>qe+6M*1I81WW#p$>8q4eJMCUc|XDRyB5&0U&8|3N%3b$e*6#)#N%xM0UIu!md z0mhud)E00l;qy`%9UlCU^B6J z8a@!ER|yQ}V5t8Zhd^+1(074;R<6eBgR+(LFQ#go%>n5k2O{Uk6=IggN2O_;t>|k9pw=k+;v9`rPvJT< zemUEa>kYX2!}S7ON0DnQq$3QFj{n1ic8zq5#g_t-%I<17NC<1-M`8H7Jc_&Z3! zDNytRCN+@dIxcM(+VUy1%Iqe*@@m&eJ$I62=A0`@pn>e~pgiIVxol zVwoJw;7ZoAo#P3fm5P?_j3jtO3R<>vGvcqy);OaGHwf{M1El5uO_TF&k*604{|m)G zf#7+FZDO#Tzk>KD5#}f`(ZO}X0_5Xc!mOek?;}`9VWqa0U^(b#0@CsaK))6g_7lDh zD0~B&{ea0LOaaCC9l1p0a%^bUhsBw_Yoor9W8@au35hwD7XCBkg8flGk2{8Z3M z1D(l)4@pCR=6sRhz9Pp6K8biI>g4Sn7}-pqZ?srv1-0x)jHU`PRD z3BIMJT1OIn?Q$ z^@QM#Da`;cCio}Y5Bxgh;1&8R1@tO$b!2f0R z^%~-T1N%PR5pxP*@@*|pe>|ppAnbBre&9c|$$35Mf|=YuK|B`ZAs`ENf-oZ~hp7aw zf@>OF_ri50VeVQ`KFE`n&qT@bNF7_v$gz?fh#1)VNY3xK`2n6q@D#LBlnTKvq%Kw` z=bItaY{JY3{W-wA4GddD$$1~FWl;tMCn1+{x_8P^0`#p!c($TTuxlO3gxPIv1>Xw@ zew#whCwLirCh2Cv-$MGf;Cqp75x!rg@BPHf#RRWLj$Q$z<-?GpWN_v+!XHDJB}iK+ z(&i-0Z0vJ2M*Ce$U#gVlh}%Z+XlsAKY%M0|zqYWt%hqdhzOU^Ez6tWk)@*XV5%Tk< zE)e-K(|1?w@Ss!(&amvQXn|I~*&^rNP@WdT`XLQgg4&>*T`1MJ>1#apDo`>6_oTd} z5Zo00QweGe|91FaL0|2W$CZGz{GTX&8S?lp;rCEkzeDhNgk6RF{)XDTnlO8TS);2J zCLQ?t4rk)H;*srtS&09jYm$sj(F>#zV}!CLsJR`kDp0Y_*G79q5Jue}}#jDel_@PlF!^LDS)9 zF#O!5ulc}N0Mhck!Bf_kT9X;2uPup)_cek?TUcAKCjXw;Q_(tH1b=AxfnSL5mGpH4 zP!;&>Lb=xxW*+8|T1O4RjZq5s;93XQI>HPsRsgdJm{o+iN#*o5 z!ACG2z5__hTM*Y*$l1GucSoqzNbmA2ouiS0ad|IRC8$s2`V!URwFJKipX)&X9_XhN z=4X@Ec~2+9uA$BmNMXN0j5jJKTA}mV%@ECbSJnw%Dj<9=jcISGONxp zRMFwG&XMlR=nbJX4I{Ti#Ihb(EnjDm^Ur7L92>|_H1O}CH%>Z$`9&ZLb-~;g^aBY_ z7IQ_g4}1my((-?U!U&ct!lwh@HLwVHIo| zH!Gq0=7dC>=n||PTf^G_ZRRT&4l<}=lcA11(kG&S1V+Fxg z;MB^%)|YgSee|6M-}?b+`C2ol+D56)A(zjI1K$(8k#g`Y!OIciI|^|bAvRKoEOJSO zOE$R_!(|=0&8HKi>upoJHStw?4?0Yu$d_o;;l`P}`Obw+upq4k7W&EoLLLK6~ zF3=R}&|sxBHaEg?ozl@3ZQsot=IE_s;dZ5R4vQ(&Sx523W0g}dw$F)B$KhZ$Zw+-E zf^Fu_X`zl#Kr%ih?GQf+U!#Nhi=oa+1;dTUiYL@@mMCmY3w7QGR?9a+I`jph&ZUIc zq=q_c!4G+^9${JPJ+MO&>TH_KC`2Lmq0Ytx_l8fFUoC&dB;%VO2zB}pzHyq~Q5#q% zT+12d*ci+xu-zZM;{>@LOw&6(l4bm{{85g#D8?bFVOT-P_~)S$n&SqmIqq4Q5ilcR zG%z|fX9|I>hdoLi;RvK~-f6>&!yTguZiRJSm@{ZROXG3mGR(P0$Kan+!<_p8Y55IE zONnp8X9yFL7UAd)n%5DdSd+d)IwKrc z$Tb!8%K>S5HRvaR{y&8O5p=GB&U5(@PPs43(aWg|izA$c3I-cff&d2*ycDzg2**td z)dywY81dc07c0LA?CRADEpsEB!Q^)e@*3gnPw=Fa2-I;BkcWB*8DRv^$Fk?hgMa0BQJ(X)?Y^L4@-Z;b*5tI8UQoFXTly&k*Ji zm`%VG5#}`31QAY8g5OL72YoR^K%P$!W*=fd2}pz9SBCX} zgp()y_gGaR#RSJvjHe0i0s4P}!sKk^f-uRzoB?JIFn0)(i`|U~=WT*F+9I3|KpH+0 z^p}DDUBaJ4ycJ023wdP*R-(_NmG4a5?sOv_?ZSz-pLM&Vbux4Ff?Id<@Zk(@47kh` z;j9d1U#-%T5EC1fWV}x*s}pRrlkqRvP$!%&iYYMl5HCj>E9t8SP-I}O-~|q_@lVFD zrqr^rQO5T|s@T}6;VV%CCLy(KWR&rHfPWF8{?0-kDduqOn}JsZcP0);lg}IQIT=1L zz~^mpZN)eMNW=dDnpG$lC*i-Kx_Fo1(Tp3xXtk)R0%3Ln;|i`7BD2RjeUn)ld{PD% zkCn=FWlAf+$-WHV#O48*^|u=SBg9aXH`cj?Tn^jDI`^SuHh_i?(KwE|+gK`Z89z5= ztn(gL-|1Onoz2PhpmnUX1t1N-6m&iV9e={lMC}{v6w6{XQau)TGg!>GLBCZpT5axF zrypU)fM%QITA?CqK9%ZsHqT-?mD_r&ESOP#0hE{I84WVNQSMywlV(dSZcKhUq;@Oz zAm}x4R6$Tk${{{51@ege+5=O`e`N#BwKhgm#%I}NeCL7}$+b?xwN8=oeg)$QS7r;6 zsEx6y9d))B3>>e>e}UX8fXOl$2sYw`f2=v2;K`_g-PL)_c*1Ig7_3h^vLY|igQxJ#Djikpc%O{ow2n&fXa z{H5f#CVy|HG(l}s=FISsah@_6p5Bu|eYcEj3DXLu157)Za=DBPP{_FLZZd8wj0(8U zF#TYjf$0s?2Sx)E40DpGcLJ9ytwn&l79q`fNp}yu5gW2e8(!>&w3+!YElnwndn}zL zE_p(-L978ES`P8IPH>UvA%?zx=Zz;!K_5hldq4!ebvPSKw`Q9Z;*!uP)1Z4~ce z%q7O=Y^8YjSP$`|DHb)KWs&h~a<>rP$I_%Y>FzfRy^(Vn-xt2BEiF)rYCebc{MqZt zm%br?mxzW2J3N?W;nz_-8h$izujRxLE=|H|flJI0+jp;qw%^*SaojOQ zBmF|wB=WzyA=U9x$gT((nG zaHm>x2^)KZ?*w+#Q^Gu_yWHY?)uYgM9pB9wU{g z$}G~;@cZEVc9zQUpiu zGWQE|y)5+y6)3aXob80WXRdE2Yt8lTBv=YN6=ARCWRSmX3HK{-_MDA`8)vEykt}Nx2$os*m?zL%i=uAwEEeJvk-{u}-4A4U|94d4q6T z>_~`X?PZDY?^|M|@_2=O)VG;;EK?=?0>b;4+Yv80{%5RmL>jZCzULLoc**Y^^81lQ zJI=zXW@6nsldu!bUQ)RBlv)kX*8fxCF1G33616eFP6l=|LUHKzI7gK!>2A>?U-XC^ zzawo_@d4B*j$fA6v3N2;AEh;s%K2qeeQW4t;rRFi;TXj~EC?e?@1;F^W)wlw(%Aj< z=~?1vJsxXzR@*p!T$&6m@Jsth_)_zUsF8=W#1Xqc$}67yB&EeseXTZg{ICNa@>!FIRNvfC zA34na_8OL7+)Hj%SaXZ1y_B}xd2QEjL!IEr`4Vm%KSs)rNC{>dW~?;qov8M+nr~}v$!+xwbZki6Dz9sP1mSS zznd0Xyo#Xcv_Ppu_N9nz2y1%NA>JV6@C@dkwL)z{4AK7~wZ2|_MDtR#f8@nhFa@dh z%@(d@R0kT83RXwl3iK z)v3)TuFOr57e6=rp3o~tZ1*!IIvqeKtUyO}oS<{kra>D1%2N~O*M{(e8&a&5LgLJY zADPcu{i3`f7p|gH!*x_$J!fTQFb4d<9d3ws{Zc)uu9TCd^zIBg_Jr`7p^ai(w{WKE4$8IN0N1 zUV@nnGYw`sOmG(&7Y92Y#sR~_RKPf4MmCpmLtsY0JO^_c<|Irp%o&)wEzti^POf8q zUS$2*aO%p>^nJ}%-wGF{vN8F@l|zIdjk;AQw8%X`Upuh!yhr77+Ex>MPl%y;H^;9a zj;gT>$MN6he@A|UQtMmz+cvKUTGk+xQD560a6LHhEAsh4N_|~gLhBT0mIIw>`Ck}r zmVH4!qEniKLY~y3e9=CRSwA6{sZxlx2r)VDL&6oNupFe7Z82QA%;w=7e+{w#YfRgn zM|JE=lcFhJM7g+?+EFUMDTqOAeZe+)@m$n1A?sZV+gFO=AM|N0^H&n?2dw!%wx$`j zmx*on{SmZiUYbeaenYs%d2bm;mc2z`Po*q(W_EaVUEBch3Ny+3+7i!dpFxbzKZGzW<64l*QXqiW^ruf#VCZ` zjZWr+1p5O{F|{EM9k2|c-2#q}wzVo&60X+jA#vyf?0x)Z-F2_oRENV-J}>*!5OncVa(~q-_VHdc=9~Bm zT9I@7dx$gNIt{Itr8^0yog$SNB`RH0tYz=Pt!dHdvJK?tbxZwhWwf-C#!WSeA2AlR zzI<`iO~jn^p0FlcY{QWj)Ma3LUrHq^-&&t9c2NE&Slbtit?E&B=y$OOq)cM?;QkY38iv^K8|n ziH3eKEXPiB@8Sf4RF=lH3xRpFb-B~@rPzu$*yPAXX2C4-(;g@3B7d4mX?V}3lS=+& z@*(0mya&kfX?fzvoQ$(_u|+EzO6hYc{42JT7b6WXmx?X;FSFW_ZyJMM6pjyVXt6=yo4-^Rp^_bdTB6MxPSg?_xbd3AjX}1> zrGpGR?BXb#gp+eIr9;7k+Fkt(yP&C(#rI`H$Z#p;ZEUYz>}B9eIZ2)ZQ{-u0;ym2e zR}+NxGVdhDUD(56!eK_kya4kOOf<}7m>DqBVP?ThOh6deG4V1k5%vt&aWHdX#=&ho zOblpFg*_Q&I{Sv11Kcc_IGA`C;V&6i2vY=e2IeoAb1>&&#Bp|~wVl-4wvzU+IQ|ya zx$@y3+u7b0#xRWg{9&MyWBGM%(sRa_HW63BILwHP91`DgIFhilft}X{ngI) zxH!mXu-T{@=l@<8cM@imWw~?Qt}h6lgA%F{UMUb;Xccx)wmU~CSh!!!?TfdPpAg7o zi}4&ZALQ9uwJq+cGC!ke|H{ir&OgbT^$-^S96EItc{~Dn- zPi&$7M7v4;>qP5avs-a2>#_J+%Z<`k2xm2qB+gV=zAhC<*+_G1%sL9Bx!zl5k79qS z=`WZ)F%!zl8k3^pP%Mk*S4;O&afBUfo^GfSj^uGF zt~2fj(we!u)MD#xP8E$cGpCw_->#Ayr<#bbF4EVdHm4fPFOOnjM#I37c#Jxd96S3?i~@Hb)>-5K&Q}E@0b3)EX~sQKM|QXuP$N(2@(c zidqCO1f(Sj2F0qi)ps|Lw-BHn@v@MhY`C411hT*HoU;i5@ooG6eE#`lcFt{Po|$=O z=9%Yt=6US>X{M|BOvCSx$g_VJ6Z>Q}&5Z+oC*iujj{Y@G*7mu(B5~_v?fKs#_kW$d zI%^vKKbX92EB$L%_rs)Wzl-jNNtvR?EC0Ecj!XO9n^-sEm)4}*@9w}@_zK|!!byZq zgwqJ;5Y8j$J3&Ju4kLVgf+7Ed@EHQUVGF$ku*%uT0dNsFo1AZISYwfpQz1Du~)NAdx z7T0~;o~vVGU#)&gwG=d61!AvOueIObsn_&(b_ANfnAo3H-)Xj@2`%DeKFo@`2N=jet#3e_rt&${8b$Qj^MA1SJxS` z?;-8J{7+guax8O!hLou#x2vmpRQRMd);u1Wk0XhxjCWNWDMj-JB z9KzSgZyLT`hU+ARn_Xnza>Qu}R)kZNiSHH{kyhc_?z%i5rm8)d(*GM1>Bqj9*b~%u z+HX9r&5W{7d0dB@ zF^@EB{rt`3?dRXVJKJwQWY6IarRCULOhsHyw6rQG)xRlcFf?STej3#sq*`mSEt}4h zS>_zeAuHb8P2c#ppLgA@_q)%G!X4u$_VSw;gmg7GYm2!^mt#O~Mn89erp+m0a+t$? zU-7$G>g!I~|BO$JJLj8e@N=cU9n>bxt%{xSdu<+m@3+20!tc5$*D3p+*>~1w=oex6YyJHP~NQ|lriZ}OvcNm1)U>pTYExqkG!Gs_Z5k(yt6|93I|l{?5_ z;#lD}wHc>>lk}Kp5Nyn3+o!;SyyL#mHVcPF5wI6$6i-F#e$ldS4zQ;+3L2qQhLRghMzGa2c63_`X?j%9q zLPW067V=G&{buPox4~bWR^3IgOzMs#2`7TffTdxC@?F-HtdNmgmdSY@2rbiXaywcK zRV7v9il0LG2;q$#LxAUT=Y7jE{JuiHf98eoL$=cPAn!a83}-$N3hTZOa#d+=v-(X8 zzA^gwQu1=Aw#fnYMw^*^N zxfZMCFf)o3ZU%)*g=(Tl;U+5mP}%yRGW4a+!j+buUQtK^6|T5}P#I`0eNb&b@0&cN zCDh1t_#G*ah4T{q`_Ar<({-?M7EcYVAcpgz{m+$A8z8!l4|Gh2E|&LHD^83Dp4zE# zmfxiPRx25H+b*35Tg4)gNG7{5rDBf3a*z$Bv0R?XA3X#3`yiiZZ8pR6Ju5BCBvLr@ z18+*jiv~mMY{QIZU1t)j>&#+_bXS?%n_2<9(XH^>FfUQO+b3ECzA;uvx~cpoY7dxX zSvNAPqw1~R8Q$l;Y2NwXb>17i72ZAGcyDz57s}gT$9sD{Ontl;_FMMB>d~fyCB8FL zmzRiJOU55##b2hyS8$;;6Bn}cO`TkfB|xn|asGP%Nz$0CF+`eOCV1y8NQH$J9{#+q z^>&Ps;Ic^9dV?9(^>~5a|3tw@7#Gye5w)Dk@Phb6!9O|-rqaNUl43xSP@xZ{S@a>h z`CY&;C_pXp82t$$S4?~}+nHo$JG0D;)S_fL1(-syZICMR&C^e!O!zrMX*8LWOg zC@^07@f`0`hN)jU{l`ncn)XxGD%XxLca#{9K3*^(aIEx;$g?e9M&LBR0~pPLgpeKW zbpL>MTD>3{dC? zDkK(_OdXSH_L7XK`dIG-@1x!(e3jyLi+6dS5be60AhwAczJl*Th5yLC69 zj0)^QdV_x&phP<|Xh()fx0IE5O$&yi$M~4&AN^vq5^sx=ek}bhN|tS2Za((y8M#04 zU!TiLkLR-fCvtZO1gW~TCeminU#i%}1G`jslGW1URqO&h9N^*ZS@3e_0_)LE!g)HZ z94S~EV8)erOT=An>Bx)0Ic47mDV%*Zp?KMsl1OvP#sc^L71W@-`W;qBmp|whGjiF^ z@R)k94sg0c@A>YR+~NxAx{JWRFKo$=dDh*5Z<8@kKP^9X+K#nL*<}?Bb%WvWeTZPJ&w#ydUy9xPwEXMS znc~Cl6i=pif;dJ<_Dt~F#i!-_PCGB8tn zW4&FRO|+b5pUx1=$gS>VPX_Yp%Sljk+T0=NXkI(r9P-Lg;y}47*UW8oB)2@|w)F?O z*(13ysNyr3L89J*<(9# z+4m&p3%?ySysoOagbnyoT{iYh*7;o!&vdn^sZ~>K#U+q;`AF{Hk4+~|fu>q>n&f;R z*dKfX9^qcV%F*r{k6ARXYMq-4VC*_qfV0NtDLNlyM{Mq78CckxNM3xvuj?dJjw!H3J%O%kYtwaW z0Y71@$0)Icsn%_zp3|;V*o~&pP^)gOx!Zbi{fSC4wcW}$mGI5wLV9QTMpE70Vhjx> zNMkd1!^(9#Z`HwGJ@X=4JF|UCv{Q-o>1ur?IcS?`6D?=;z(dZP!T&Rj5HUsbxEgd3|Uo6Wz^p7Afp{qSojqr~`Z_c7~nNs2N#1rQOP$ zZW*t{6GMk5dJ8;#&lPS|Y`!syZJ$(<8eod#fL(A%p2iy$)(ROO$v}Pg8Ogz~QMl3sb@=c~T78XNeBwmP;qH8VE4Oe{su`$?6YO_+l32MGBeu!!5{g^gS#k5f> zrWG8D7vl%uS*6}7ta5*QI8Vj1@!ydg33x_5kgtQ6GGD6C)-7==p6Mu_iIui>z=AJ< zXa6|%Yy{7|z|QXjANJ$fao_D&k>ilVWjy=z3OswW?RLfCvWXPWn)>l<^O4&XyDd(n zc(yNsXTY)1z_n=hMG<)BoAMh$#WL$`*nu~6R9cv7+fZG#u9o81EQO;z!t1Kd-Mqro z&HxToqIcdC5bb+u2sDRx<@oletiCAa)8C70|* z9oSlGopNf)xub0D)DjCY%zFif&GWOsqj>44=cvM!1B;D0-9}k4np+?An67#nMn7wq z^+DTsDN$tXY{v@zK>?}sq+5S}uEMRS<76h_{;d#;+7n<^NxN0w*>XE*F+;~n{&(=R zcnp?{=PCuLPXX){r(qputQR79g*?(2;AuAS^luTol3LHHcy;C)cs20*Pk>jScW_)E zUM<54K}3FoX?=N9($p7DOeJx`QV$W$!r*D_?;pk0e)yBIdxuKN!awB)x@=f0#ik_c z<4^pj{5I^1UI^r>*B|0K6tGCd;qZcXnW*#THx-KwOE_4qEQgm&Zaa3}&7S)b$?G~3 zxenzT*E7F2tS7$@%X`9h(cVa@2B)h|*1egalmAvv&I4AWm^!ddS%*=k}PSK}_sH>-6YpTkxz6 z9(Fd$_U=9pAA9<}#{LEVJ<9hA40)>4rpr1^w59iGAYjBr$ zX;woA+8@5B$*x+Wq>$eT$j1ZnUS%viy_WAyRo|?0Cjjbs_s4~N<#B!rcg`hhi&1{r)BUF zz9f+d2zLX18jFaj9Z_8cwYpnx!1`)3w9@qvD>a98nj?~@jASnxwpA!8DQs)%WMY`W zFBTZE=VW87&7kqiLCcpf8|64$1e>)bmx`Kbyakr@6OTBZ34S8k?N7OjnhgR?tM}7% z`aqVFKsd>J+oyt2@+jGa&IPRW9=^L#VBp<_?g`_YodWgW1N)yUj0T|u^!j@D(6*WF zt4uT7OW^L^Je-w`J>1L8xSe?8X)6>{DzKj?Y{<@VIkv!(##yKf-6zal&?_&v1k2Xu z)Hd24G~an;XM=o>DUi{4OXMrMnweS|CDpqP zM_^+)t;{>o%c#A1*|!oM4~yW5rQZErTPPUm>*hcFJds#nCVeU5BE-PYDG5TF@Bw=N zH#gV2pY-_79P#Ny$Qz@FRv58!GDh~WeS4#21A1#G&5f7Z?p&(1P^C za&2n4mi}^SnG5oU`zf5kBR2qw^Xe|%dQJE!1i|2sLC_YAFHKPGR;NjuF`I?u{N5a3 z4;$DZS6|u!{~4QsL&kum)T(}El2i<+WGNn0>Pz{E&FhWw-HO`#m1*~C`^%&-Urvs(CR`TW1m24p;M1UJ=)buekGsEzRKP zjRYTfs=zLf7zpVNG;>hnHW8xBB5 zwfAZH_{lZFuD~m9#($yhMT{)U9WUCY7kI2J#ofheoWS}!#KNX%jOuq`(OZFh3-Xl$ z?nte;$-SkSdY~ZoEnXe?+eF0LU#Rm^`OEP|iNyIf173`m^A@my6=HJXAc?m9a*_56 z+oQu=Yr=e0*m(I#4!ATqj*=y>G@7x?dlp|$NAJ32S$APxJX8j&|crX`;QRr;5t}>r*_~kNbiW-fZd$GuC!i#@||>jMSexK;e)fw z%~(e*hE}?&7(0_p#?CAg1H128)%6BWU0svLWx-1S{bdAp&CLz(h&Argws){TvVmkp zM+}(h>FPQ`i6eKy!^Lqqs+(8+Xtnv?#aHGACU9cD0bEx4)i`{0oBCCE7b}>mXEpJ) z8ns3+XT9&E6kF|0dnCTjE*y~G>0+z<-p8rbTLC^FZ@O3!FKM7vtXxkS_7RY!22|KBE zE+9$5e9Gia2=Ggf%S%=NKqa8YO!c(B?yffKrDEcz_+0_NPi?R`KTEYZPyMirK2i$1 zd!147MZ0s$kyIuDGGfV)oJI=Z+sb?R<=LL zLSDdE@#6czBaFUPE0YJ^90jg+6=mPs!&_ z_1lBT+DGldue_+)gZ~L)>T72OVoHZnzdf^ic#?_`k3eZSAKEZoaGlv)7$wxYR|}vr zs`CTCNhhPSkL*_Iwo{w!Wj65#~glBubkA>m*ZgMIL!5Jusr~4-Ks|dZM~=a z+y-G-=`-736i7Cu3yvvMH$`>Yc%zUaMx!-!HOAF5N=CI&oN+GDaE9*2v3nwM4aJQw zoM0G-Fdd%Nske`3!mKm}u%vcbI#xv!N3A>R*j%iK=x5uD?t*6Yv<<<2vnoG69V9th znnxrtV?PV(8gjrJq&{^R|5Ngfr%bB#{l|WqNaA*pEM^V2j;smGe+skPZF}Q(K^Hjk zWP|#I)fMa&nA3GUYGAhwK@Y5r~LxugJ zl7i;HAx4m9;2ASo8w2Cfjt7JKdZ*xsjDS7uMs);`=AX|?B$TsE_aZtSgT2Dw1E6mL z!?6BumF-;?N$1dcvq~AXX_D9?AL(^AX5bwo(ci6dOqX|wuhCJFjP<=9EB4hK))g3W z9db^$1NnPdZ{A?Pv}99boq=y1$fbqWO~4ACZ!I`D-m;>`4mqZqlR9K8(lr>)x6-+D z?+Kgh06gF(-L&ljPo51AA@?EPf;!^LeH>7y+6mP5rcY#aq z!u7r%;i0=ie|m?2m&W8r1@?pPF$Z)N^+sc$Smab%C^coSdoJ_|K~uq}MEYG+mm@3( z;XT$+YV6+wZjdi@(_JR?XP{q0nmK&8=RBRKm6=t-;EExFd7S}!)MHA)_K&dVW}s^^ zy757*Wssm5A$v0t>5ei=XW7l5tD?=JuvL?j#;TH6&`xI1PLRBUH@~T~BsoA=vnc;V zkY|?~Osx}=i-5ad_AblO9oBZc%I{1)+!<4k{y|d@zv(Htz5PDy7MU0~=zcb4NkpnN zldh)DEO;t$m649Ad|@9<{qo6NkE8Kn`c*^%UEs;|%u1pBN8VHAE*9YJi??2tqlpi z>MJ#n&XYb!{unNogo3_5Qyq{BJ~yd(onY)J(V07@5@W|Ii@BqUo#gR*$gsEFwL)vwUAq_Af<`DCUS;So0$)IKE zJMLu{9)Al@QUS$K8M`UMW--;1v=8!bo_>`spxsiQ+f?^oW@fsR0iATDZ^~fmxRy#@l6V~-cNBbU<+JW18+NMT-f&UKCUrX#Dgv3$U2hfGY>A-SUr*bJEHOmKOG zu^m^#M90_!z=ScT!h|uV!jz-J$faS7q1~TT+x<}$CX6z)yVhEB-aPjWX)fPo5Q>_H zf&VyPe7(`3@=zyB8PJ^99i#l+4f2z_p+nP_4v&KxHz!HlAU~@NlhV|g@Pxb*p6{GH zf0ahL5BnkOdxIDjkzrKUCoFp4>{D@1d3BF`wD75gIYPU9uGhP8ZWBtmf-|{6o`IFB ze6PW~c*zh?iNf7Sd7`8l?goeM?ixZ0Zc8NQPSCiBi*`j}Ew_P3oP)h+6g)Vtl10eN zF8D3e?C?~&O7@<%H8GBSyfv0)3YTZ&_44R2odt{bZfi7>pX@S{L30wx;~}0ryelf* zu+DlUwdobNrADb6Hd}A_jG}xDQB?@1_x7M!Rh|-Z&P}%{+8eRlC^HMDn)cbw)0-6IVS$t!;mA!9%4quE;VAG9}PXzlPwPkPsuY*uo8`*2WLX^ z?@Rqmda`Mv;1mw0{;r zWnvZ6_Cbni(*el*s7&T_$oxJpL48NgjzB-l{|F>8q%OlVZ7Iz)N0ot?TknA+=IW>9 zV48;+`-=P1w$W1jQf3(25luLxF(3`7uDTf|RGP#$f6zg!%iRV*Jf)pyIs;1=Jej-+ za=mh4utKT_L2~<_fvqcPY%IuUj*NPc_=HFN%_^kmgOg;;WC0 zr&|Bfq1U$uBYyUX6Y_vq!9M-z?NozRSCb&>f1ely42nM^j5Er|7V1w;Hyfg|t& zIF5x_^V0+HFX)Ks9K@0u2k6ePdK0B}JKn(C&G2P*`5gnhRy!2%&+xTwE2*LPUvyE8 zt*}#HpRdw$tK@^<86jo)!!3zFiq~OzNAK0R8rs!({twHB&3NN{@)HIjN}&3y4smS_ zca(XJWRlfm;47@L(>IenvR?jG??`DHA@)z?trtnPYbWWnG2aIVL6dMfF1Vli|0!@FH=7D{XhVc~zrfh!7_Z zhA*@OkYY^0j8+d1znA3WJ-OgsQ*PH#e^rSAp6~KRTj4Efx!!ei=D`{zIKxva{_)10kdRy?GJJb ze8ye~gn~v~{{z<@enSIe$DYt>Y`|{Dsc)F*P3*_^pPouqcQ0)>Cz7%kt>h@;>vkE| z&1=N`6pfKF4tqLCG$ue6#U8PH=sZrPkTUq7Hh~>s+8QJ98Vuo)QZV)CRuOw40#R1pfAl>?PXnogH zZhf1fM?Y(-r(GW0lhj1HJsAIca!V;3#a;&c!FW}lhf(!;&?YJkfHgmKQTGct?phqW zTXzqr0No>5@P}J-Tk%3#J7$z2u;w<;LT=HA3s3%|c32ld$uYEM+#POtH>oto^$ zRh9?7&MNtX4vlvE==2b>9U+`UcjVlmeLLu$JuF|>%&0xEtas{8-Bp@g7JouSlWSm) zq?OzDYIZN8a2 zojd`jSAG^A+U-;9!W7guU-j!e$-lcZ9HXm( zqhX}yO?L|P^EsXEa9$NZPN#4M;}k=IPSGLe5VMF`#7x1-;H~Lzxw*r*&&T~JMUx^| zl4j}qA>>m8%pFrW^x~sUQ~T@p&r6qkvG~gRiCX=xZ~kqheuZHMd@|abdoEF}g(Z>N z%+f&lGKADg1N5N1^b~QFs-8=yvwQ|0nn4!?=&YzZ-K{UQ1ug=`q^$ zsyzGNvSFdidGlx+nzsY_(Y$ePLCxEtmc`+oMcdS*|H&Pz=8b!_O+DsliUmndNxRRoiFZTov(}ti!s<*61oWMzkju0H%RuJS_^P8{MYELg`Hd z*5Plvi2c`+)xNa2UFH?6NKNbIkGk%cu16hM>fIK;l=t1l)^ULE+lxl@)jYqh;wAE0 z60HZ7dO)&7AX!pt4q1qf&CiC^5R#94A&?o0Ve^GNPmLQ?O(#ceEoq>92u@i*7hnd# z>5yA-_5w5+Vh%Bb6C8`upL6H7;NHS247e6o<^leinui_fXdZT)EuneX)jT=GEb@2> zc^K6^GF7e)9UXr@nIoK({}C<{boGT1O4WBl)qz`qgURMMZ%V|G^+fXg*SxxZW3`Cv z!Ngv=UMrYIikFaKr0iESlLcLePyd43b{Nvq{6Dz6THbNZ%Wh9faFB^H+97jb)nHTG#mlkL)lUD#kw9 z@yOz`KQ8=gAtx=uN_l*tKn9Lk_sY^I~^ zn}x3|-0XE!c$X|vYjRS)G5oWI*^3fzp62+%mlkpvnH7r{Ej+uD&3t5&w`IqRXz5#l ztNr<97AtnUqk`CrLq61A!Cs%zM8kwcQt}n0N9E!=;Z{*ETu1q&!o2&Jc@7a>>%E}5 z4-><|F;iV#0}i`IEia^9H8Ee>UAqG0tM>8^L2b zJ73Is2wdesCDb8m49p{3B1nOxi0aT&iu1DRl}xbJN6&^1h1(JiRFIxoDj> z23!dpwAt3loxK$IG+GdI(~6PP63OqrJ= zfHCBS>K)^Elo4sOxXqpIANTIBG5;@y)H~wqTFO;t^+5OKwcwXn3+9O=AJ%t#kg-sn z_JIA2sJ^ANH5s-CG-|KB3XqeW8v?iNoB%0xM#Xf4v2|HSEZ&9XNodRSfmbDPVsTc= z;GZ)MeAtKiJRZ9-oRZ3*?OoGNXDI@!=bOb$VZHlcGxdeE=SZcOmF$md>MmbM~SgC0w%vTxasVi(c_^ zem0*2_c6h)lias4l1s_9e^4^{+@iM@FCqCm0}Fz`O!F@JGZ~FMUq+sL{N9C5@S<_j z;lAueQIL;c-TJ6gxw?BF@5Jr^81Xx898kU&IWYvfW<$t6gd$ZYlL{=?PLIC(j;`!L z)0I7$0!+A?_WZ2tG9GA@UC~}9-x?@hk|c(6c+h0n{<>`Rk)TZq^ zCk@zj7VWhQ(EhL&?Y;2L5c0nW^c2BRtg2ChL8um})Ta=$A6n03QP*Sx)>s3y2lY}| z9(sv!o`x3bBV~UUV;alTs2BA6o1lqzH+Nv2JR@?7z=!#5pJO`-7_N^ zvdPs#acPAI^1toJ6i@XxbK^JWi~1Ui=xA(!#zhK7p+)+GJm#X)OLESG$F~@=;;{V4 zMaHT4bq%)&N5J#A3)BKr6W2g$1~pugd%GY9w2|Bsey2z>-qU~s9H}m`wI!A&P5VlnRoBT+Ty%<_bZDm*Yz_2j?YB2oAY_*KT5XN2vg zhH8vjLb=mX)zQ@{B45+F+IH0T`pk0+e{HRPt@O1{Ry}#}xW`oUDrP)$P1H6^O^UP$ z6d8MLog8(^`K7VrCc|jqV|hxCwVG-m5C0Ne8%_#Nfc_UwDVQl|%TdmZ^}|KZxg(!T zJI|8`tSxn>OqIX2Ff^H={4Ex8mc`}qLPv1(`MK^L_{InMRm?W7CVCrFV`%tHv2OYd zJwt4YoxKX!tz z*_`(nKAzg=3_?6_mcc&=cc}O zub89i>9~Vr#JIo>Qi?@4c2Q_3%VAXSKf7uWs68 zBjsaxZg-BClWe1NgoP=8lasrnYOg*w75#%JIpT0hgCe!54}$+Bowb(aOg<;Q$%)Jj z9PoeHxwbbo-hf@;8#*IeCo5&PBMLZ7XME7UdBbi@B&Uz^bAkE-U6}EHM2KKaZ;30ZiviWH`n1?JAx}t9XtX^KQB( z*7cNpIkUY=#q-a)qEtM;LB;bggLgus(KrCl?+|VRo`3aU;Q7lw8}K})AJ5sf1F`%W zb*D)}-&}>|Tm;Lxm`TT?faS4QV7V@Wj?XTQ*)n?oj!y)RUz8sVUkk^l_v5$+ zI6fnAE85&Qd1iYJ#ceXPJ#KVV3mcluE`)@GVtPjTqH-@i=ROv=Zp{leSQ*Sd^ozxz z7~R6qGR9H9u$+ELzj~=$D(A)~2BXvw5vz`f|4{~xh-&4B_#g8hjfnpwU6eW^{ytzt z{B^*HI0pRHG_f%IpNs;&(=l=5#6)6jBUyF`e7xTn$rnm!ES>x5EZ?wwxnNn1 zdHzLfP4a3>{SMf!F#5kx4vwXB`xlBIu>ot^KO*;^AU1&p9bA)GQ;*ejh#{)A4Vv-> z^==*R=uX-U9ZfUz`gmy;R@RRd#(4_stn+vqH0TWVnN6|ar+qAsR)!xp)Db(S5sft; z%ehJdu&*7Z-!qo37{`<(AE^9^k9(p3$(*rtG)CiU7GQ`$JOi-}@l?dISP?ctPqMkv z*udmdtxu!VAQ>Cje5&=C=)6-I?zGg`xOFX9d9Gu|27@;WeP0>|d^s3j4pYD64uDra zey6)5kS@I28J?UH;2S3HjIK)p9dhu5ZD&j!U%OKFpZKKFre1w|g3{^_RmQ4!AD+nB ziIvn+D_J_jg}QulW{vNQ6LFA`a^z=B8gU4dGj2#VNv4L`0{KJY7IPg_GZDKSeeV-r zrX=rhvu)s4rFI3=z)5B;Q@>1De?2(d-u><~F;CjYeWA?X`LonqVTXHUTVE~M0ks%} zT4Xv+`B8@#BkVl?*fQ&ZhfA!77bDCodA`}~FgbXMa~LGOgOdynocVANiFZ7JJ;1({ zN@#oxs>BJcF`oww4Ig#r=-#0C?;ScFq@ZW@mCtz&VO`n{2^NQwBU5qeaCh^5;Z7l8 z%O`RSB7WdH&))bHsSLf9&WV`}g3q zbCwn59P7Jb}VK-x_{*k(tT_SGojTe>9A{+ z5BAE{Va9nj(1x}26M5++CdVMyk1Z=rsBK8CEdf@Mmpce&KGwG`xLm{jS(2^qpCkIhNaZMxSsa?ST{OS^Pd~;cxRTwUzGR0g6H9y2LF^&EsiA#i6e* z_SNo=KwsTvgP!;%$d9xHoQ+d4Li=(dc#bm(wnIUuY5`#2bDW8={R0$4(gsRH6!x#) zbf2ZOTql%#JHB*$Kc8rwoUII%66$QD7p7E|utx{iI-9H##R)yyQf`ZtuH0oM{$O5A zs73l8JVic~=RaVlov6-(|9s;zWe|9yk20_}Bu6NN74n7eQ`May_JGS=MTx|^%1Fll zlPB*c^2Cbx^Z(_E>Gwub@(0ig_Zi8Xh&Mh3Ths0s^2@P_WXu5`yiVAHsYt}GEK2C( zjaUyFq+WSGcJOjQUk1YIk#U(pGVI^YHfI zZ#JiF#3-utk-Q53=!zF z(lm+EEM+(}9hksOs$YsUqm_j6Ta@hb_ew?u-gXn6qo~XRJ(R$RN!~>-z$j=Fk`m5&mM_V;krQ?gfcRv)6kGmX;6$3?BG-(P%8t);7(D_)M4_oD+d;+ z{FMe=&-K3oEd>3@*@u|S9j-y4VKKJ^28EJioPlZ5PH2NT4{cS?%wz^~D;yPQPa{?v z^0Yf8PzBB$J>PS7t?)`BKluHGUm`1Ck!EzE;`y`0EKfDCq1$MZx1ryR53Z<26R$`yaoGnWv^aM z3%rJ0jPmTt#w3zok4_}Vor%CXJ#fweDjd8UZgFFN#ap7v3ouw!UH~BG05M0gFd1#| zJv7Ocz4w(t+uKjFqt*VjM{vMiWfyzo?OoX4yY|T!nwfEX-LY-7$Gwpr$B9FN6Nd!$ zvnW*-&>&+aO*^v>!cBn7g+S#c1EHG-=v3JFs4HMI0=Buk0<688rkp zb?9y;Ybh7eo6oAsf}Foc9)X?Kb@;YNp43(QE{&&kEmh;vE=@BbSBe22+bk6cSxC#o z@PVH%0FO|%b6`#iaS!Qnx%WoT*|63k-qw0k9%j)$vzHB=D#YH)uL@ zBprivlf&Aa3*5!&G7Wp_sJ6UEnuSq`BpLzZ^QM8AJP(+B5L}XhyhI8+9iKhjbbP9^ zy{GRfqho3?&cgPMPfd4J8=u|stzl=AUFeqU!rEwr4qMoR-b&eF07vn8z&^7 zCJt4XI}RtaDO8E!?M*cH_f|J;P_GighBW9)4TJrrl9NX)kv!3J>gnyTgQ}gMVRQz< z=q}zTPx!CkANd3L=_zK~Ggrg^Y486H`TM;Z zrX|gne(?R}@|Z|@%_wjEHOp(;z5WO3uPpCxNV{x6dD)*`4c`yTdm3qecFpo$+WnlG zUJn{({{8VG-yB20KDGEl)##<32Kh+Oc$I!JwrcvllS0S3px@i1!`PdI{LW%e3@LzP zg%|WXP8-v+7Jv0_>a^+S+1NszpW00P6V6RSE8qt0{DofU!L>Fgq=+7HPx=UF+zJxOBcOBN%+t=Hyf2of4GHKV-(y?&o&VA6*>6`l~23?Y$dXKhH zQf?yI{8#Nf3atUtx=FO{?UfqWVB*5N85 z+h-x$XZ5J}GQfE{kRd%*MuyQk>Q+O0-fXBDD>Mq*g=8r_;^xD22R6uM%Wpgns`9v&Ns-fcM)QF*e?$9fpCY%Pc97>jkkI?()k4W%mj^F~!*f@#m^4g@KBW#D4jfnO? zIl_E62Q$tAoF)FVe``rmGv-x^b^ImBICcd&$4*FCa0Vl=zk_FHxMxgZrL4wJJXA+* zI8MgS3}u?AMS@#!_Ue-Sz{M5VHNOUJ2aSsCw@0DJi5ESQN z8bC$<6)~(rVb7?Ows>&zV4YRsJIPeOGhCDnnV%kaKJ~6d$*C@Af_|KtTQf5>pHGwY z4c7}y#$18QD=)!z3Hge)O#<46t6w+&k0s_##+VdfMkWXJirGiGrKfJ=a5j~z;TrVd z(*%zMj~no9UmFf`!ES)-cyN9}V&E(6CD=f=lHxN0%9-uY>PnP6-%&uy1!zv$N}}sf zFyCYDWXG4Y(gA3kF9x-oewlff_qkxye+AD&jzelr4>=A;a(O88NN{KY zb9h<7oq;cuJ!6@X#`>1Im+SZAu+0oD)h$iyxXlI(p;r{PSP6bwM$&u0NFMjnwulKB zq&V@zv%177X-5|1&xspwmkq98tafh$1q^9c>il=rRMvoAg1)So3&n78;ynYde~y;q zBF~pdPZqe&bW~Dm;vUF4T%m6&drN5@4$P%x>-{DvTtIv1?n5!SqCI9i?8Oy&nx#Em z3Jre^FF9Hdc4=C>RwG=YMs}O@mR2K{*61-6wkW`sA`UlANo!eY$ewDDxUP!D|JDScf+@DW7b&O!k`Yc4NVfg z|5eMcG9Lwm@#@{f>K%o05XHaHuW%ZJWoEWNjhYQ7v{n&FEmHw$*&GVnaP=A`BF$S# zDPo32g_X>nuhotARtoK{;actD2Hf@44{z->702||us>CzRuccEnumHv%Zl8`(o}ks z)$N5hGaoyWgf9A0McT*aPJ=mh!Ni4`-)jA#hZTjHq1#wm+d+}5%Qd}?U_4x_rZHOi z@wBGuH7z{>`j<1?1by6) z{6=a&`Wrd@qO+-JFOSu&7Q5kd7;E{E%u_0Am3N!?S1-G;cwt1#qWROIiDXnW&iR)n zL$}}FWQEStx`j(&^-d?|H_ijciQ0W4xqO=uZ(hQidij#7U!>{$Uy}c|w_y)YDiM@j z7Mz)~H}RCNcY$BO_ra#yBbuW)KdfBV5}A#i+guU+G1%}S&=Jw}b`?-H^O`o0sXzHs zGNquOh6X0=kmSDz&AYA8X)Gxf`e~+m`AKM&D|=%h15ZLtpMzE-$$8M9Pj!7^hkGRK zYu^Do+=~N!x~AX^U8N8DwyJdjUD=j@uWMSGzQ;YO<+85nk87D~xkAfS&DHULYMDNV zTnDMS_Gy`F^v6KH8`U#iE>HhX)#^YC6}(3|EL4x}qy5l*MtD6vk^KE#jRt&QT-Zoy z<8S38WwUr3I=MC%BT)O{FUw!P%R}N+5axurjlBAeLCHj4(Jv@x>t)&hF6h|iZHtX$ zZ4^(QM*KM9qFp50f*!+p7tei-o5Z5VSG-qpogHGfH%$lyb@*yOzAD<=`~DDe2!YAf zG{O7yyf4XRyO%+O>!Q2^aQwK2_j1{PifVY{EDr3*#HQ=pVoPHqy+0T>Yv2hX-vsSb zOMsp{xg>wQTZ_lx>;S$0W0P^f3F&(IXTTO7b$c@{kxU1!9!Km%YLDrOjl9HczyXTasia=OZ(2LMOQl!%!?13<44esKr*G(aZrX?C;AdXmA7xE-UHAn<$5`p58?bjs zgGOU+#hc<(RXc8wbV+^-yI-o81KoM`oHEYNPgmj0wL&{CR@IMlqIGp>T`DisP9IPz z|FZoeS6M#x8rq%)n5ODiP+12ZIS&;tm*drz*Weq{MEf6F;H7Sn?pNw@QtUD>(18<1 zIEh#2@D}a8BrgPP7u3Bf-Jyi#7n@1*^Qn~YA{S@0fBCD-_T#^<6K-$U>wE$iP&Ltt z!?M5GCt@E_oSL!?(t#X!51`i@+@@n!j`x*4#9kr6E{tsk_}!XrAn%_zKsONWn?dyh zr}o8ErQy4)yxxoos$I(kCOmBLIsuWQ>|J z$5Z54E_>UPrH>l%)S2%wb`%?_&0br7K0ob$vqF8N>(7;@pq64V3#xmBtzGn754b%m zD9#k1O&@=Uo+s4{<7e=~_-SS8Il4zZ4sjSXvo^}nT~xQ|b}1h=5{#|eM6zzP+jNBL zO(us+A^pRAsqWcN1;0)qnNCLz<`|qo0H^7zzMT-$zZ2@Wo5bYm0&xrS^9KduBo-$( z#whX5{QQ`JO`5G_;fnE($WII4tOKm&@}Mb4U{4cQZbBRzh@*Ro+&D@tV9p13&k=W< z0l%5ZgWkE30~68MUM|0SlAeLBPEI7PW*%o9pWdE4gW8iyo<`4x>9*3E>TB!{?1-Sf z9*`U_w?MmP_N2yax|;CHIN!9S%|CCdjLg6$;pMIjNEKgyo!_*+gv5jX3C9Mtv(Dnb|RISnAj{-)}9lTCrGU@)CK>vX;e;iDK-C>OXOD{@ZD!~e+aa;lK zFV#kL0oC^H8_`7=%k}C`{V{bc8&usejAIkVG4}L+C99fbWeYFC#!-FAeAI!Xb+DWA zTsZAV_r9nH?j~V`qc*r25io2dqddnZV2nK!dasuq`KJ!Xc!LMF+D5`w+sM?w^@2Ua z)S)Ms0ZznArj8PZWWM8$X`2bX;S8LaWyZ)sQ^zXxDc5FqOo3JbGe!wcf;C~3-^p+~ z(6>Bxz06pXqPJuJHx^nPc1D^8jb3veJe%ot{wQcQlPs(XS+q?y2IpdIPVDBTsM6>G zw2lG16t1Dqn$U82@QFS*;+@dCk-D8m0fy8Tm|b*cb48cpk?n= zlBA0=2T0m6t7TN^dkjh`Jh5o&ON@W|fc3?N_P7ID7EZJoEo)iE`CvHXZ17K_qXJf# zDrN?-f)d!)WEfZj&1k$EqmRlHC?Budkg+tcPoq(lsb<0Q5&eqFRQtZFF=SMwwceqP zT9sNIEd3xKF|KvafG?sTn;j!m%6X@+m+mdobqEH~lBql0J%KUm{ZrK6iF%(WRjXRl z+Ic|C3kJ*!1|t2ktdB+pjnFUKHT4+JII;d&PwXyt84Bf|gBT zi%7neH(Xk}lb(p-S_iiI!sKjt1<1y!h}TtZZIvd6wl<~7e(uQhlYc#pCcNg>;bqDC4rcTap-h%Re4&C(&7~PJF5rGXTbzmQIm?`cj*&(A| zCuDoHl2tu%O|!cIn%%0NI5fLeJ#lDq_v?w%k}qp^D|`Db_(ibj>Kgs0`saN$()7<2 zSgg2gucA)=rz&+P&6#nD$U}06EsH>kK7<=?SvU)mX z)fHhO?OlHk^o{N=G5c+>r=_pqR)^)5Uanr>K=sfU`gL_AH~SbnDh*hZ?q^2L3P3jx zG$i~ERLsIz2SQJ=tp(+mKgEyr3Hq;C?X6^QMSUBVXU zs1)Rt7nlc4w(w{+lYafe2?J70Lz?lhtZ=rGS$jFJ61?e_jfzF8X=IVtH0Z8{$M7Ai z2(@|8EsyHr()C9QaE`kGyzB=;40m^l!S57+YZqC14;>8HBvW;EC{Mpm2+mx)Jy<$e zSmrTR^Dp+yO%VsxB&=p(z0`)5Huy^nw>Fy^;sk0{n1L?cyfUtaZ%D3q9@Nov!_Cyc zkcDr+iC_yW@eK!HGj2@9@6jrBZh^Lq4%#+4B0XGYtfAa=Q$vGjs6j7>7A>czeC}RO zp(NAzhMidJ=PobC3XYu<;c|F?Gqs!a2oH})4!VLnK$AOuVzALU6_%BZ{=d+j)gwH1 zEE&)lqZIpd?tP*0%L(XrHspe9y)fr$(mW*@{Cu7zfbU@)h3=lh_A0lbWq!&c_o68} z>6NM0HPBYiw5~SQuW<8qMa?>4Y(+u^Ul00+3qZE}*R#v@jpCq+suD{LJ@ssU(G_~E zlFDXD=n`TEHk*$4m^?PnfKxKsY3O%x1-onIjKfe*YH|gfSg7rhgV<%R|mQc?>B7hzkVFe2H}C~CAVgSLhK%!82b zye;Mim=2z0Iym!pI~awZ1zDyEe#B$QOCFK30LuoPK@e5b-gm4}P!oMnDvM~0FV$(ygN zO{13e*~+`B*19wNI4{g66?#fs$X)TVRa82%7B<3bOU?y8>EIaRfb_yTTYz0Xn@eCE z$y44?W|eozo1nY4@5~oIzQaZIKArGCL8hY$C9YIUoTB7J%Jch@hS2gp_1z_|#XcJT z!+2+;ynQ}a6=(VUb1?#6>CO;LDCJKVIrW=Sl^JTO8zZHTsm#V`X3Qk( zGbMhLQKIYMV_5&FP0bqw{aT70J@WNo4Ldq~^z^QFsus9l1TLsMQA0zKz}4w`^jKGC zpEB0*J^HgaJtCMJ@T|O2o_fmMKyicb(6PCG9@ZuC^=ep^#c2=T*N{SM$oA+5(Hef( zJ0(pg4E9^F8KxYh zyntOI^Z#gj^Z2I9?0@{Z+0%4yDcyi>Kxsh=1u2WRg!ED<0s@X~YSEc7MIAfp%z$(x z#RU|X(jc~tE2x8j(26K!E2uN$HZuu}(-s&npafgMlooE90{Okqy-AuDWEr~rc;34*6J0T|E_>c**!A2Z0+y(} zNE3qJf0pYKZ*kWl+8=iqb^x^FF4W~^qE?B$iXJ&wArn1)t997OyY090YFkXbs`{+> zV^_~yeBZ@}m)W&=x25Z0fg91^v4z*$l0b7oyQM;hSBvm!MFlcrE2r=a(WQsh?)Iw{ zd{INsRrYo1tFNQ(b%yYsF~=tXySqsOa_n3NOIHIYx4Q5NAi{pxres*n-Kbo|Y0PR% z9eM|pn%S^F*bNf;!iTUt?=`bqHapa|^m>(#;uj@~Vuf=cU@%lHg^{Hwt+SX6X)?}{qiVAUHE6do(Z^9Z=j3~e=C3#Z` z{?{y|_jtedJSU;r%ko>;CCls7ZaV91u?I`*3r?1yUccIjacVTSX_BpcF!8spBi`qX zE5(&Neqa0tsfsm5&|&79u9-_%<}-FV^UdO1I*|Ovn90>f?a7CWAMw?@)`;6Ze{dQg zhX=2b%;$Ihc1JIn_w6lHmKv<2i6sf|2)9O@P}#oZ*-$;W&*er~ADR+oHQ2&xb=Gj3 zEiuaaknlJ67^=b2&*H-%tFb3lSOxkT=qjqP|+x0rv8RzjGA zGTND*?|I1 z&Tz(~Wes?cP0??lvOE--^s#GqH)3836Ex4)xzQ;DHq!6{*P;p)?C?hsKM)1SRMh7TM0GE`uO~&Yx6M$E|GE?95z5C%|J$(8Mv|R+B z8gQ2`#~#quP?3LHY1?c31Aft;s^ajAydc_s0ROmgdyPLkehup0!0)a&norU0v{<$R z|1EXj07aYj%QMhK@*MV1x6qy8qwd?x9_n`as9P#g_aUg;R^d8D)McJri1S^Uy4Ul1 zIM+j6e^58mN1f94*R~LDBGA~ci}r4cax>Sf7Q+bE@vWs9y(iFJs{ma+U`Z9ho_QDu z4DpDBjV_1vr_@-}Np3mqI&HP4royOc34vAJE&2Z!9Oc40=1+TR6z+0%XE6 zSMjshopN*0g<&90c}@HM{W&pr3d|jPi#@iqTBEEAWJd?OiK(sHT8+&L%V*}(35YX! z#pm2=>@fwdrz&`Xq(uqD(T^?PyWbru^C`N4WTpKC8~!^~+m26)Pv{mGUZpV>puQ7z zw#+mT*i;3R_BI1qyhy58M2y(gwNJiU3f95=Ue~&G;zYfCrR(B&aLd)ubCnFd_Fn~i zj_bR94<`Qz`Kdv^v0y*#+*5c8ITWEoe`_Y{))`wIx$wjc5vmj5bBfWO%_0O2(ZCkO z*?|-^Aq@ybEbH$MoXa=dk8^>l(#olZcFqufHdXr8BiGZV8gQ05($2E?1UldB!kt#* zPVWx!-^t<_ZKhvxqeqv}z2ZuagJ1r6@Al1me&_FZ7)GoVRXgPC-xj$37zb5#UX}3A z36K8D*$0#7U}VEFvi#0FcFaW8Y4A8ged9>>jl*QlY< z4-SmpK0Ya=&4jG;zf1C+->KL^^zIArUDb!ft{;`QkhZC;89Uy`-DN>EBn$G|A{q*A zpyAyh8nmDxB|t-d=j}U)if2GYw~va(?Y+5%YMuaQpFe}lWncxiyymlII8cTH+73&d&qKQuE>f#68&e) zQ`}h$8T8O9E#jf8@K(`v0QlgNmHM(Jz2P`k_IybqRW^z&*O)$c+Jk7`25RY!xIeg4 z>!}a$qV{SJFPQ853YJyiIttHC#{T-dKr{0|(9Bq+nfY8gX(J!6XJ%N(dls6TFvmxM zJ8K=eW>_(L(x_*kQ8QtE4LL4xPSWU3=^UTAZ1^S36peHki}8(ghOc@nr=Ge^JnySc zdr;`9o~F6_!mX=(*7u9tUc7;|Qo*txcKEq7J!qEhmqt)(_s>y`G)G)Gaf#+hZ@`S@ z!Uryx&#P=6(R7U)Xt}hc;x7JI4NnHfr@{ER!T!;uL2J?Pi>0wGM|_}cCoCapRD&6^ zoTT|X)h+u!nf2X)?qi7tAH{Lq|N4Q}V}57eb`^N~twm+a zZkSqJG)-QSW6#ojFAAFPBhq|-bB$#BFmbEbIvi`C7+8mM-Pt*{g+l`C&;m(2292`~ zI5{_4h4*y#NZ!iM&$r)f6@Kkoh5x`R{KAlS~FRTzO)_{Prhz)MaJMPAM|ua~g?s5gf3 zl9tt7)Z*K;K9_dU`poYv*m1M<+3pEmpDQ~LY`@w1{KWZU&}dF<_pi_AF_H;gr_OTN zXNGT+ymQoiEz;b645x{BZ`}5k#TMUe-TNbPHeXEGE^9d2C;Th7N0W^@D{Hcqoz2_# z@>yqT4A;aguRMl-ZKpBhi}!7pwTxQ08MVKGTx2&aDZbx#=hPobP8J8riL4hsm8_S1 zjQKxFiY(E7Nr^Xk#P1R9$?vQN()P_HrN|R3Dce81*(iHU%Ge;@9{7+X<@|?!t>Y0l zdq4lNM^f(b(fmuvZwk`aIX$|7bhe(6zDDgycW-^|5iLGm=1IJi*L#n?{;8|CJbd!u z%{ctIQx`<@QBdpGBpz|LxA{l;1kf*!iVIq{=6r8IE+^o}tq$_z-e08>x~21f(b4Zr zj~{nu1^IC&D#(vxPm>?_v6;L$=GtYE{5XT;rPTHC>8ozp2k2P!z(AIvunywiL*FVk zau0v-l4n(tTg$k7 z7AfyQAD)!il08}=q)}HM-+w@NcCwKJj}sLti3;YUVq!h@1dTe5$lCfsyJ&4oy`8aLv!|6!@|4!!gNAOhroR)p-WZySz;Pi4Ir{5wk89A!NX_~LA zc|G<`R)FswU~3WInd|ozH{*P{yEo?x5RvtB`*}92>aX z&yqwA#64Oek+RKBzIEp~*%u`~E%Wio5a81yiBCtz_3&v!1<9v@3xUPy5nb10o9&b( zm{VkP7V*vK;Q<{08Ks^sEE5=tWU-~pmt>S1^RC33t(G3I-Rz@+F3>SaETtRSC)_}Bq1 zeS53SC6@iO16B4et@P>2%mjQ^=lg7Ly`M7{aOQ}_nR!^djXsYigAva9KOAAW&q9pH z>EQC4oGhz@EHxijE`TSg$7OHEfNReS+?Tn|Sx8!($ZSDe2z}h- z(}Do5A-dKmtg2ciVhh9V6j`_~E^sR<%XTVZ$^8b|Xw21K!NHpQsUo+00pj7VRq0ZM z{QN44Jr}q#D!z9o11Tf9pKRsDo9FSb0iT>IP^`uR*WXcru=)&LZK`y&uW_|zR3!fK z%=d0#j9=nmdwdA$#}NIb4F{GC=9m3QHp%Zk^!vk){;04mDqPv=-HtsV=$GR5-oI2~ zzGh>-?z%d}IhY^el>a+$b&!*;H#p#550c{Aq@fnWZ!Gcojc?*zE@B?64@ED3ahaQ} zRI7dYKsIzOkV;qt*YeuVJb}CIp=6JJyyPbicEB29-?VX@URt-YSmDf7P+=G;`-wxP zD2Ez;Vl#TOsRMrEa!0V$;ho5hTfqMf)~RkiGuI22qU3{@>Mh);B8>4& z_scaTc6|hEI-O7RJ)6{YgKVoM#Du_aG zE-^k)rg(3+jB|L_LjJjIZDg}BtZkzCqiYipb(x5`eYqp4VTCzQ@(RfURKN9C=NCa# zR$Inn6?jBz_Z#@FJYws$o)I(GJCZl}QNSDAhTef(#4m#QPF7zNYMO}e`RG8`!+Fc4 z(uxNgHV5t}c}hcjJf))Kl;gyoYdG(rT<)jrGy`OV4)u9T&Ekw}GI|G2kFtN`!|zxW zl<7Tc0;r0E(A&-4ZfcH(J*+=KoWa)wT5jWv|mpJP>@!oQ2RK-2; z^_KM>LBQ7=BoOydmq++_H+Xr?;>D|eFK=zYvkUFx<{71OKVx}xU2YXpADXbceseVf@Xt!wI=bh0e*P_7-btDyztg%sLGsBH1G=OLHfjZY^8C)E z9fpzl;@y%*Hk9@D$YgFk3V%%28qH4s%BJ5hanria@AOD;kJq1$CyaJp3iU%g3u-ACo8+y1>Qbcs)2y_rrViVylYcaOxmzH%_E zyGIT>KJ3fOzdE%+REBSt=lV5w%vpc`I=|25{+AY5{lnm4D34PWg-6`7Ux^IPkOPX{RjFt72KBzt5dq@${Pbv`4Pvo(=k&TI1M2jDawWDLXtACoF$Omc{Ib zhl}r*sudoZ=KtM;o>1hodV$Za#^m-D$X~f8E`SYSxnW%X-@NSm&GYE5 ztB42(wyi269)G!rp$?Wl0aXSI_;jEYcZsiFOBBAK4kM#DyialI+4y7uFQSu2n6Q{W z8O^0HkZcqBWCA{MT%+7HnO@4h@s5%2+Y^=T%fBxR74|%IPIjaFfmGM<%0|p(oHUmm zlfy7iXRsSkZgRCWYbUN#9znT%23Ex)plG8WS&}x2<;v(*X5n>o(eYXDh)?_N&wG&@ zuCqLfEQLRrk>j9z%cwg!v3OD-1Nb%IcFsoLueMFc?g*+Y$qCB)^=F||?9Fgg=}J~o z?NR0($Vz)m2MoO!^cwZ&xz!l+khk6?P5};O%1)M^hE>X5^N2XLOULQFWi)aWsdoL4 zFE-HQW5_(360i-F;AsN#K>C9N{RDYrJ>O=xIxv%#PF5`U5d{F&+FPeOn{8^lZAdMDOkZZLea%rI%7dcQA1|&U_LWwCGB*ZglEm%h%h^0 z-}})mUK9W1_V=XDbr2#3RuE;$D^!^wj?q&7d$4Dlv@A~0NuLCFYi00xlh)|bx212l z*Ccapi9G+=f!Rkr#o$b-x8DTNT@Jd_@Vr5yU&H6z@m!sb&zVLmK!I8!l7HfuU;b_4 zZ>TOJV~UWA`YH7>1#Wv$%r>?z>?sik_2$}@42UQqERvsTxYK<-zX^3BUk6TuUy(?~DPK>I6Q_iY!mQ6o!LtyAKxLe+9OeoiBD z7SokhWv$9)OROmjIoW%p40#uS^Gp#aTU_nS7WY?2d<0%nH(2bm$eYMOo;bg>urSv? z3^|0&*!PPX{Cs5D+kE@NX5`CdpySqfble)@P*zKNu4Xi}M=`HYOfeyg)qO(Lc?t_v ze5%9$dw(Cc6kc6B5jBsu*q;&?UsQ~Uz2OQf#0=c%*>D1=MkmA{2*ZXyBffa8*{K>4 zdXsNk@a-t?pPk%@-H4~05Wm4MK6lEij>lX)aYTzbRq;chg@*XF&@xFv<=ODds8>`- zGcghos05AbXbR+#@c*=SjDae_j&_MP_+O7P`LQ6KKAxO$s%+@{Qp=^F^9vB%4TwPW z9r>nYyFGA&Um45>~kCy3W=sH_j>^%?yCpLh-Zl0)1E7UE4u@(+pIU$}d?ogq;? z19YB*9{%rm?MCe2)*xO}{lA||;&mnd@8NZ*kJkfyyzZe97%4c4mFeX&EOqN5%{L+a4!1b$lruUEV&)nVYr{N1Qz8cbNbTU zl3$g|dl>cU$hT0vZ#W+{qm=I_)r4Ztvw9K3=1@h?Y%}Y(8guxM8}CVGuWn&aiK8#D zYScO=OZGS_YyEoP(?*rGta0PXIMimv*OQNkdYMKQ{LBlf%S;=@a38t@YuxlC)o6wD zT6FG>!{^=7=hv_0p$dzoMZpgE#A{4e^9gq9uc0`yL45scj6fXx4tp9^NO61?pNH>l z^iD|z_8&B(*P{>y*5{OPys#i>HjFe`NFeg+;H;C_CC5epOKc&=w z{&5$*J^XpwoU$}>zyI5Wb-Y1*!S`*_eliMHml)qIqhR&L=Gq`W4oYcvR$^7Cfm7In z%@uMyGJrG?Z{C1Dp+rR<@(63Nr~B~@siqHpBJipRpDS-aVQKsExkx6fP8O700QYCMti5NBCCNK;$}xBH~iypz#(c6fUoJP6MP6 zy>N8)RPs80PrY!)lFu<16)}VFDAXMe?whB}qV5T^Dp!Ka2|g;9gG#cL5`-z{g^wHtrJ+Sxyi8@tG_VcSZV;0_ za{n8MNx)zkTUSik*w^3T^LLY5*><*%)xSdAq@Zy!=#hchUu zpo2aN0XA=l7FK30s@>ax6yX-Aa}iFSD#`y+Ii?{>eMscG&LjR{LBEC#;vvsjVOHx` z97{QbGi$29)F4asl>LbrY%oyn(RVXaS#DCSe{4p#DGNL)htF6xV;gL!a+7NPqtMRk z^+ko2OMkLZ?RX;cQ{~$63GT>(h3=FB>H&Y7ojQOVXn!i={w8$|s-42$bdN^Y4rKpJ zopu!HQmu$k;iR?}A5`I* zXSS*f-{jR-r5V2`4MI){9-7`;v=UUGiXp;xIcFE&MvHsPDe_-4BFO-0Z* zfpCs*ayfT7We&s_5eK+j;=nS~s>L)i;;7Od7-y|!b4}uBQqGL`ie`tVnhVs5KP9rC z{I%lSo8#DRkf(8YjKbriq)@gEk58ee%CPnZA`^N5x+0aKjwKb+?-f70E=O`;=Qa4z z(oqEjyKpUQ2O6}0f8T1}S~{_$=YP~`mwn zA3lr%x45JKdT}`lNrW9+A=+?#O+*++4RNbcQ=L zG}o=dvkuP+JgY(vJMn78pDxdzc>tZ5?mhyWZbhxJvuU<4XpQeqb-3;{+^yKqs@Ll~ zmlf}HtEB7G|F~BjeU{K_h!|tncCIYQ*XVM!ZEPs+TTXXnohzp@4Qtb;`0pS5j!a4L zJE~9`YhzQG5KLLf5nOv_zDC;?K2)ah=ccGio$z^^LKjsztJSPS2P)l{ZJaLJHpTR3 z0esXGAD>pf3_ezXkI(CMRnPFO;~7g0uAkG4^F<4d@ILbz(BEPv?rB>M#LMEhr2h=y z+&Y&hv092ZCj{xed0Hbr4<~HLp~|l^p<0BY|Jvmrtr80k9Cg& zFQGQ767vy0t95%gkm8opn z@LJUQ>J`?P&P6IzRST0NP#rplH`qd}yTt3#c^K8nkQPYfB9Bp2Jl>^5g=@6UP@5W{Ga&dd_-Oj@sZFBkHW+3Y%vRWOpmrbY2vExgcXp+ za}$gBE8^Jh#jq*3h@_J~Dh=q1g6w&3?m9wvGTPYT#C7N<_Nut%`cxsoM3g^^*wp0X zk+#U(Md(wr0@NjNA;*lo7GsR6{-gN!i%~Yn9kfVfPFN^>5 zpXwoBq~k+>oH-S6mR^r4_`8@~#4+X(a3Z*ulO zinm|z*WPK%diL4}k?U@TZl|3#)tA|Dvz=DLqCPX5gR=yt*{CSO2X73%Nbpn;y(ke*+Ic)&&IdH(dTmuhYAnN{f8r~#%8 z;$!JApttTE^yj6@-ONTV_llFHf9hG?{-~<}n7`BXa}r;b=5ph;p{KJ=uyjq+umc?H z4#y5~%-$b6K!mgdL@OiY9bgq3fjYqoHd5B{IxBU*(V%ls#1^vbFN<3}$4;@4s^hdf z#G`K!?GCYcrrjZu{>M0}r;!e?_137ZVb;j4q1H&-8`uL3724W!iHfWU>;NBFQfLPl zslg7g3Yx0`RSq-5mqGvMO4?u1uJddEB3b+EbUJANooCX z+I9Z7_Z@DZ)tZ#1%QdzdvWWuh1TR9Tr5RgwX+AoF{+H+p`k&}}v+%PfJ?#M!ZMws+ zdtSe)7>)kB-x7V7nv@cK9fuXDteqt2u@i8pB%TCsU}*?djeOn4LLzN*P4HB~&8L;m zft!}lyc4e%PHu+AORC3+V~*5gj1%$Kk{5di-^EM68zlWM`i9?Cd#c^j_VoPv^}^FlTF{l6sTf_<%B9j3JDm|#w0nhy zM^yFbOBNmpeHkgqMW`dZHlmllv|7TUb*6h>7DAyfi$WxQsUm$D27RfwX=+2Nk^6t$ zg7^hhp~(6&l=Nj~f(yQYJrdXs{ecJ7{3LNHNz#+rW5A`$0cu+%Y09r9P1%B4vyPVE z2zO79lr-gRpQhB*TtUqFekpS*>7c2^;;{x~iEf zzN+{s)1~<_X0A%vON*9tlkboK-yt2yL=r-HubwAv(Fre`e1}fNgH{YY{*e;>J6BGB z(iCH|c70@#kSKJ68>nCML2+u=DPc1IyQ1H?GTi7MjD1km-6W{Hfg7Hp9Cc6}*QJ2& zY_gNTJq1)kMe`*2Flp_|{ymtVFM&TF(Ox_}4p8J-R#aSvx zB2Rrm7nD6Je1x@l`;mK#X0=AINGJ<|H?05m7sv%eb~cN28`x(Z%7>J&cKrV<-CF52 z-d`B$4tZPY)@;M;>GEqey`CVyR?+J$`L&W>Co0g(T>f9NP4-SpgvD9A?cS`6=G%#a zi3w#IP@sOX4+YsuSXDg~DE$=NIzNg(>Wek6d00cF>Gt2cGMx)jUVbV8d zxgL}LpI>&~xv@Qk-J99J893N%epwRHl9W(J^r~`$X;H$CCpu*6IUy0=KG|M{PSxhw zZry;$Q48Q*=OCNQdnIIt0^YSUAf0o5l6uR(0_2O8V<4Y|`B4i4Q^xM~h`)nBJ-^;7 zesxn%TK3+^Z+o`x;hAdwVaQU%EadZlA!R)?|Fm;KqGIzQ@m6Grd#~KpXU^xJljnTfxAJ`Z=Xxc4 zb(-t`|G`ri#mDxOXYUcs_;wkrzgeA@$K2xQ|3NkSxxHn($*b%{yipb+%-weDA*=5XD)b@uEY64)Q6ugG@uAOoMa| zy}Irfvo!oKiq`1IwHO#K;uHYRbjx zpEK*H`CeE3ysUxZooYKjtw{QG&CiI(rZQm~Y|ZPyF8Ym7;QMa*&ui*$_r3o8&-3di z`CgaddJ}xFm;Rj6K)>{gdEPsPTYc}|8+dn_mq)J7bbd1bviKnKVkq`|n^0h$@<(T7uuK8=wi!G~|OU;_@p8q7e5i|2jG3T1AAwp;q&tq?QA(E6aJp+;K-RPiUgtfrT z>qUb%OsF^O>&r?xVPLU)exsOiU5+fN_y-zPfLHStzlf-h7`La4T zekIGRMWJQ3X6m?!mhFBJ{%4eyZG#S*hesLyr{380c&>zklVgM) z(ctOXX9wR@*5wEx;ipCip_sBXWfkGJY9t&}=r~}v8j3@KWoieOX^lAUdP=>j7I;lH zUa>2HkXkOjeNo1ibbS`bVtofq>ST|3 zQw^KT#qx{P6)t@lD$&rXFMUnAndL%P>cZNGhacjRr-(WY_nvldgsxHT4y_#MRvgqdQtk3Syr*hJ zq}oEU7$jaH*QufXIxrV@<1crDWzV;Ni5wrYPj9E{+mJy5S*iyt3LwuF@L!1xnUu`+ z386*6GDF^3PI?f|L*L9ivhw$!BNcTUiFJptCNUfpRI~XeF$A+rE9f7N4`JCcRyYur z;_SgeRvt@P;TvTln}>RI!CAmR=Idw8vVREVDSq#q)v8aL)%s0^3U$!7Ik}$?$0=HQf|?;8T8*M;G~NL?eBGq9V>)w|It zV)QW}UUIgzk_`}HFBfND=;1Y0t30@)r$VU283wtO?bj-jUuQh~-aToo|3qgU|DJTB zvz8CFrdP4FepPW*{j1`AXFCS_CUlu64?f_#`(m`BxCOpD?e~u$MoTA=+A6)3DqJ)U z((cosU)^GL_r0feHMH03uTuYD<{GyOxMhx5c#Z+8(oXo@uvH6RBaNd|_ z*0caQI?`PX_)XtjGrCipAYU)|{9e8u<)QVxOVfe{@T&d>P0n1;RGfeh5N)nBD$H2> zqZK78`}77mvjtJ{tap5wIBx(8gUcO=oM09)(jHSo(mUq-?45u2?OC^+ch`UGd!2cn zt~|2hE8qVq=W*_zuCYFkZc4}nlQ5Q#+Y#12PZuKW zEl%V2;*=S=ns0MBfz0K9Mu)vEg|R0m@BH=IW{Qakhb`xD9tpmXGqND1Hy^JIub-Y_O80 z9_Z#EA#igN>UMTH8%pan#2SYPRzI9#pg(LT@Z-lBfCMx8B%OQ=1$woXh1nMH;k8%9 zKVMU1UU0~on`Pe>(5th3y0$0JdfK!!ep>NzX@*yrIBPB+zxlFQ>YgZsV5NpO=Ar&| zK5BU!=v)3Dk=!Ky<;+E2grE@8b@J~@zSr6GqYa&<<&nzLa0Y_ zE|43>995&v^=m{9MCk9|!d~kVyCtaYIx!YaYKowSUZ-yeDl=MhMF04YTvAbOWURbjik3q9=9``s!b@LhrQ4Yya ze(!8r={%@uJ2vZ_((D%*1*fi4Asjt+FK1mCqZ(zU7s*P@yz zwS5m|8aRf!V`nRc+wS6oskkpU=8V*j(lu2SSM0@pz1ok%kDhiFz(3~QCRjm07!0*g z%u8#HhW#?zGYRL%PfK_ae1>zyBPs1&OZgXC70TBLIm|jBNMH)YL+C+FRo#OM?HPqGHcfFn*cgVolY0`;H z4C#xKmACY78Yb;KRrj#buu9QetF|5;>*~0%5&Yfg#W}=Ra{@h30zFXjBgWi;JS#=A z6R*_kR8<`!cMaIdH7rwcJSQi!?3A-?;PuShLzRYiM=?beF zD4=pLMJ-U-2+2Zii*1x~kk!CJR^l6Pnh8CH@O2duHcpCN)11Jot3Be!UCPQY8^Q%G zkV8GLH#z~dXgHQ?0Tbe+FD%^MxRB?vDseJL6&Tfpo1q0hFZ`xWr`+6lh-bslNB!|(tv@Y~ZN!;PTB2#X zDb{pXy|R`KGgPCqKw3!6OXo~%I&7w|y1r^N7?NycBcc*Ur-Vm=TJVl%Eq}q)xYQ); zZvGQz5~{U#H!kA2>_ps?OIwJ0DR8fazI&mE%VV*P@Gw*2O_3%QPV9eaN1k_0_-5QK z^`&!07WP4>Xzf~nc_A!T)~>IRIWia=8Ey(&Kgc9;<85%m&q&yHc4c}@Nn-7K z_;2dk=<+)?p+|vFjXEH$eJkl_UmcJEy3U)9Z)fK<(l1i@^Jhsa@;f^vbfr8WFJ$Qe zPBNt9X<0fXe%yB>KP)s$8e}DTkwZmQ+mH@nH_t}iYEQB`__^TBT+9~cD*Y|vW@z+1 z;EEPpY4~4B$0_$$0j_Ln(`pqb*vOUQA9n0bBFUJ_?}lXf?MJh0+P6NYLN2EAdyIdQD4Wnj*-hl42>8jgLTG)ET=a7%656ja(VArYJ}D8}LFR$D zUFN~v{4Qr=b&~CA+*27?AFGTT+Zec@=($&)^^xEC-S)m*=n((q{raqTq+S}+ME?1+ ze}Nh*XSUOZr zqG~es`1|Iq<^$9ZV5F*LoM~vQ^AAiI$J0FSYy8NR)!O-^5%NwFhW_x+ z3jR7Si|`7p=$W!dC!Jd};n(P<5$Iu|MGp($XFt01%R(J$ArU>Yb^-riX`|ZdJFspP z5rgno6)^;Vxrh;tv~mri5YgBbLhM=PbC93?C~^}Pp#E|KY?&IbMhO0Y9rC|o1Mg_s zrZf6h;`I)v|67{27o_)wT>r_*hV&hioQK-8XH&&y9<<7etI;=D?|r{Z`#XdGmdVTU zW)Zyrbm3w&2`=EvA;{?PYvsaJZa( z@AfEq48#k$s8-BEY*mM>5w8zVGq|p<@Az`$TvaCS8i-yVl$qL(PeLDMHbUK^0VQ|i zZf?hLf!(5O>0cc0%W;l3TT$bkDr_`=1f4aSM<&5>+EEi>DM@=hx=;E1>p(uB&Ne5B z>sB*noroD&d3{RqkLdg$^-5rJzHCNa9NRHN2U@~G1CL>z`VD3sd<5fJSkcGsGn9Mb46J~h=>a+$TAB*HLoEh&W507vCR$cp= z@xB&S?Hu>eI>Pgr{m4NUa`c7bwbO8Sw%l~Y3{4FRUhV!^u(=}{!+9&74<2{xSTfe> zY*Q#Aoh!rp3-fvHI*s)T^c4^dYq*>?hfN4|B_jt|gFaZo_|v z-q63}BVZ3jnr0X3TFQ#c=$^h2FS=STg)sS-vI01Fqf?Vy4kRk=DIWArt2jEr%cY$*1;D;l%|rU&%x@SWx67M;GuZ1 z8mRPVkIT{+j3PqSb%LE)$0Khi4ZpY|uJb5ugG}E!+3=ZmS)N(;v_Ouz38?>lWqMM* z{JkDs#RlgHC*7fS%35$kuj^KzQgmHmqcoGl%E)HY*_E}Ufm%NYcFPLU4OD`;rak7W z`tjv!FxqL*+Q`)6&|92i!t$lKf*6ks`4!@6d~>3S;@uQW_2(zk-lTk6%UVA|?dhBW zYy%#IwLoVO$~ii=^G^8jc>Oy(d&PnSIUk4e>hgZBln8YB0A9f(xL>>vuK*qB?5bfA zc5YalBgNGGQO>?cT&epRP<2_xdShry3i{4*W4fFS2)Fc(vZa7J(BYk&eW+oev#7~~ z;LB6p22}=}WSXNx;m^OZWSPk-mR}tuMSN7p$p0Pd&a58>U3Ur|{S{Py(p;)r1{4qQ zYdfr~;L7pXUKXRja(u7Ra5y@sE4&r8%cP&+i&ngc+I6*h7jz}O#Sxm5DdS>y3X(2W5y`fQA7y6X&}LLIu&}FPV4kX zuZYirZnY!R=kd2YuAK6BQDv@93Elly5-Q+X3Eh3WnW{=21-3h~mi1ChtCFQ01rC|4 zZH@q2>dQ?m^-{6Nw8EsczKp2x*A@CU&Je*j@l$xj(+vu$qsN-8bbpfa5iqY07%w^M z_;LJ_y&32TL|D{=!sTp!*D-jd)=T1(Kw(g>3A=x@e zngSK-3>s-FKe^!m&`!D9!^KDDFO@vB$19d661MKA*T^m){5sP3$Heq5KNiUJAatb3 z{3a)jj}W-fDNh>T9N+jJ!1y{hvef;)@u`E*SaAA>(aybLwCRD-KDM`Kv~1XIcB1OC zXhug2qAJ@*Rg>FKl^sag1+GCAaz10isovaa@^PmPn7zau`+vn9Htci90plU?=LH{s z_Bu`r)mX9A$BJe(c;v?ru|FyvfyF@-{$N4IHb%eFH~KX|;XiKCw@o&L^Y=k2$GH^- zbO&h)n%!IL3NJxZ^8B>DssCnn*ZSzk?5_Dkau~7#cNeNojzl*ia}V7M+(Y}&&4$gf%XHo)(Rr(#s5~nE;FYN?+8a#cn!-_#>k1!7 z??w*h%FF`+j6921@)>wcDN z(RJ?ur{bG|mHUd#N%jSge8u8XJ?FP{(J@lEEDl9Jfry+3(!;5E z9c6#d7;R6*9!R+bonrsp+9K^Vstr4CCM+0ct`e7cNw1l{>hp`1N)>&pjPcY}Q2`H=tujWRC_-%~WtU6? zhcAn7dzH{i(;cvtELlKS$uVCRW3SH^im<=P-Ny9xq10{cG3quJ1uGxBEpkA-slog4 zK=~UuABo|W^o?|i;?x+6c*1hIEZ&0?@q;*Pld)Vbi)XIMST1zOB7A<_=P~qHPJe;z z7KYr6`S?|?&pywV&i~{&iJvMx`|2qFS)gO@;c zNfnSKk@@h%Qf?&Y7`zNQ4I@Jv2d^0nG^R^HZ_zc}H{!H|8@$u}2D+WncS`O-HUqxn zuW!91p2G={-Oi0Y?<6TqgS|n09zXTcnaFPO&fQdpMZF!#52Nmm6M+(y#lHdjC6Q;h zsO<)-xjPRiZLtpcECkEdD5Y+wTc^kcIE@ znz`P#)FA)%4T@SDGtE{ zlubSOri@);g?$^j&ahp#L%prbgj|fu@DH_H#`Bbw5t_rTXRk&f=SYFm&`V-zHH-Gc&=-)RqHmLSy@=>)!VJ+tM zN%5BR^oz4jHUERtXSrmz1#-I1I(_ya&}ICUEhl{u9G2Z2@av8`V@T&iudD%YUP2q) ze=x?T<27fFYS1CdDK>h=yBZlly;s+z%~EXRwv-~%F5euQLx?ZwI1PFV93q5SqAroKboD?^CG{7lPA);~_IgHe`n5B$IRgY#HOXYGWmaHzJSc+m@9%`r6 z$UIBu_n14xQqP)twQp={-`M^PYrLqQ>c44h3Rr~bxrNze_}h1c`SpG4hEjNat&G+4 zq-bn2V02%;9>?r>jGctDuP@_CmrNzi{Q_!v;@6RW>@q3Q^KxSSxblz9{h_n8&{urk8O93l-^Io z`z*_7=O%44UT(Qv_$#`&N+{!qZvb7`;=k4)T&us7>l^P@Gg;&3x%(ksU@&?!shX0D zDRL6Om=oGjzg6e4xC->~^%U1lv2(cJ_fEP)_;GGzIB5d>CaNjI_Z#`!Ec1dLy|AUd zBo7^|u=ZJ-vt3+r{i0K@?uYD7^@^wVvBpo{ma#bLOx?l{oDs<@wuJj|F9u@<89K)6 zZcD&Qo$F358xQp2^&smAD9a zf=WUDJlD$wX71Om@`?49+Bo*ZC;iy#czzC#2<+2q%^|!Zl`tt1v6{9w(*KDDo zAMvN>&3b%lz=@bwe6!KD>-oCh-l5{dc|x4ZMkjZwy;UB2%pCJjc0&qg`3rd9qT{cq za(pJ|^ZEyiVLf6D3Fckmedy$<;kAw`aUis90rL7bnFm5gu}shLQLyzz@eB7hVX<$_ z1?al2*{a;aS#g>R8CPw6$NYmB1uO61r5X#JBFCJVbHo1GDW1R9vws%jTJz1T(7EKK zJ60%`D&RGajmTxvKn_LGefS#peV7~l zxT(^JQ&re)og$s&kHI;+bebL>IQ!=iZ^I5g8Syq`M7_Dwm@e5Z?+30LjjN`WNL1S; zoB>CwJElY_{CyrLOve4xZ*sY#O{bg@#SuYvN3n;cXaf?l7?-774IX1| zAHZVqSasaMDE_jvI*x_IW+2Rz{(LfWye-J;pjeB0e-8dz4qaN%;E%I(_%bVI!fx>C41yG z{O__8PU9%}M5v)h6r=B5`s%bBHJTgM{$V($_lW&51{zV>{zvKw$1nmTENJl4dC5m- zKS5s4ZeWVbS62n00p14WPi|s1YAyYFM}#N9kdO0RUE&?MJ|88m6!=S{`_ITW6Bdwi zeeb;C=;9c7l|M*cWs-YMy|U&Vqtcb_@dQ58;*7;V*9ERuD++`x8DG=@i;q*RTU)3;4$tWA@8BJMR(Na6 zpKr1*Q?B-`%LB7knpT(}uTKQRh%)6z@e?3qE;B2o*nhg@TU1YFLh=nel+0_2BHdNt z=l85r>k;jlEk}C-Cul((1cK1#6*gO;*1iD#mRlU+>mV?&f;w_DbYR+x$U9{llLc7d z@>sHQ=05{jPK!0uj!_&`=U7*~E@(}?<8}%}{e8Y@+9}GUK<`df9kWhHbns5()pd#+ zfby(q0p;)`pDzBfWQFM+ApxH#ts>4Tls2IRy*Jrt^Fee2$um)xxFJhK@hjjqtrK5> zjv$Kswnl+#hsA%I_<b7QBdNepi^9T z_2v|GiqBkKD%}AcQgMe1QY`6FoLvx_DqTN>Uil6`JHoj&^`7__qdJj0bJHQC0tgz$8^}b>TV@E7|C25Bi&<>85#1U6HC&U z$j=WfNe$dpcdhrRwCJJazpLjearWfZ+4V!sT>j9Kky0dSQXrDlSA+Cj-y}o*>_z;) zMDMjI;eYxz^}j{^f^=g2`UIQ-;BjSr9Q);Sz~LT0fH6GY&Ktlc;o%iC4#>V4t=lhs zC)ewxb$h5Ac6~tKqFI+h+|@H9W1s#+$6cdp$jCa5vWAljg_jv!S7g`<=-A zx^WH0{)aUj=K{{~J+X{{WSR)C_{3g{4z0`*?e@)WFrR|9J=9;Zq-UwZ}*NyxW2CuFYe zL2K_%fwlLJB)1LH$|&*Oxti`gO1`syZFGpQNq1gCc1S=v|M_q3+=B*5=%B*PgXzlC;>+?*IR5ZQ9lU-CBzuH-Ncs9l#!27srHETBgD4 z7sn1@WAJDiLu+mN0lys(18*zX4xpN#e{TnLi93BgzW?9Y0WR198^r!s|C1fiCH~ga z+YVSRK6ak$fZZ?0u`lpA`f)rPU?EKRj5Mr_)a9b({L1t*OCt9_z6F0^WP6JH=-s_%je#`ZMm-oMfzkc5x)Ex7`isT4byk66&f7OYUj;NO4+KE<6j`+-u_?BqVMByYc0{0{L65mz-J zewc_{l3nJ)1{3`HPB905y(n?)Heq!6T*Tjyg@^h_y*)XQC7sB_I}=u>A%>fF27X{< zQ+nx=(na8*;RJh?rH|&9l%|+F(chw^G}8p6$CUm;y7?iRzp}d4UISVqGhqL|nyb7L1ruB`i zx=?}Zh8*uF>A@~!K@qj@NoN*^oWD;>NncVrnolub7uUlZ*p1m8X!`XM;zbHFFP4;c zicflo{{u|FTA~wn8S9Ua#}y?1cd}QU&={P%O?&Oyx?29#nF+Qv{8J`HRqR_ztF`!~ zdtPN+ZO8nR?!|TSZzPx#UsqZ6>sYFG9b#aS%j+}EF=py`RW0=&9&di>oJwU(R8)T@ zwsvKf3>DN>Yef-wt*9|$)c@%c*)Rs!F5Dgc7j}uqeTWW!m8w1#aJr)p7C$(x1C^GlQM4!C)xBN# zW$~}1cNA9LRz)qdYPW6>OK}JEy|K`p_xpO2*7{H(G)I3?yg>Q|UEx-b8g=^GJs8Y^{DMu%rJC4S49v<^igZfG)<##1Zx&o#xjOu^_KkI%_FF{1|5;!D}t?rfaPg6sr%X(P>%`ys5Ibkjpi^a2~+E}cDk#j}XHw6*MZ`mr2oZ0=oiQ5O&j zJ)v~y_~qigKWX5L?`(J#n&+(sisoEFU&P1;8UfDt(lbk*g{IErU1F2>q0&5lpy@YD zfKg|DDm$h*yL2fu?VHB%6I;#ZQbl$wveU=ex$K3ADvU<{Uc70!nA18Jd3P7>E7OPz zUMVZk>G+59A@dNIQt?hgnu)p@fb%PIoItx_e#8;=59$?@9&kNa;!i?ojDUsBDm~1SBk6Nrfw^q$^Ev ztLRGLp*+4aoO+G8pjaEn58zkT{Y}((8ZWXHlh4N+KE610ZTrPYPptinnWfxsX2^Qh zq({4S5oyTpRiz@%TgleliEq9oK8WaiWif@z{ex zT2lCvz_2BLBVsD?|4&zQu)CcUw|Z%J+kalMwhZTNuf!wM2ojNkxpRpRUu#1T3I!k4 zBum7b#?TX)=7&mqdZ&ch=lF7wAQQK^5Pzh5p6H&O-0E=eFIdVAQ(<3>bg;H5h_w3W zYyMAB!k>)ke0X!xG7dALm?$DY>1jsqsigP7JG|G!E1-E`pPURU%3L5IHe8sZ1}4+)rqe-z6<_sxPl2?5Hx}>$VV{$?o|BdA>eO%ca&`? zzmYFC^|Ky8Z-T$MmsPGXg;@9DTL$TGsC6%1he?0Kt$XkqSUJGyvKlR}zgePcqxdMG zZ?X}~?CGu)wyAxxVsc(Wrn)&hTWR0aK9YrG&S^@>n$`MTTx9d6_9co0U|CO{Xb?8F z=P2}et;$sk+0eeXr{||LA%@>GVBnO9tf+O!g;W+?vRXp&l^*S-As+2zZbDqan1=T* z&!4jMvgOf(t~Hiq;l0a?jgeNMYCIahIpQ#|Lb*S8=+%X-6{*~1%P3gi@U9MC`pLpF zB5jZ09P0n0>`TC#s?zuGz1fo{P4^wr1!$WV0!1mHwxsE$B_If>WzlItoq(evn-x^T zq64B>8qhRh6Lbavp>Z3lV8Q+8jQ$fArxZF|R4BGkQYhSX|G(!ZEoB?VKF{gBx!XDC zJKJ}@<^8((F}QNF_7u<*qIY7Y7VaO%{Sq!@eNffJDixlJ-l+vnbVj?@2~6wS|KlV> z2G_jud8YmWL=Gfx^~YQ0+5;$eh$qw@vR)e-Ru*Ajjydpw(#$l*!wd^4mvPj4^83S+Vwpbv_+&PwBGwLnOUP6r zZ{ekQqu(N--kL5QY(RemZKMMCC31&4oU!D~|LYg}bwzOh>$8)g30F8110Ip3d}vd$ zuyRt>wW}bLPD`LHNLhM0m5P*v)SV9BNTh!vQOVtW4lol450?PlQ)zY-yA|?IG78lg zgPJmhEuq{P9SlG8(DJbILsb%2S}`JR7TjpFe3?JeN8=9b!fY}Q5&LsLou=@VwIU9^ zUUGuGO_g58zN_um@V!LSI=MB<8N1;neZuh=M>OI;Y%)fljBo^3sO?@pwp;By<@5g4 zXNoC{Hl6aF8=)3P?T>wCVSs-d`Y>=xj^ z#n_Fn;=Asea&`l*RW+Xq4y&nZJ`|jLX|45OES;Krd5v{i>D$d#CMTWvYtxNuLYS<# zuNWU#3D3NX!G@Ycu}oU<$wi*&rQ4gWR8H!1HCxjee1i+7@x+DTXy}xl;%1hZ8|6I!5XGfF;s*cW+hrj(v7P^CgQ1<;JliHv7*$d zlPFQ0kQ1K0x8@BYC$ErGOYmK8CUvOWQEDBPlMY`ftgb^jn~y%YN62{~a`py`Jo}s9 z2-Y2!2w!D{UokbC0;P+rsST7P4CPoeMx6C_^ZaMuzQQ~}HwFzQrNOG3DCH0zgkusJ z4ta3mM78awMkTZ0mrb%TPY7GV{wrSzb0Nv`X+E)8JQUjCoCvfG97ucHFs6piS^>Ia zO-38!UfR=pC#dE`eX^4FiO17uzvQ444UP7ref0Pv^`v#808(Zlae=C8qkN37xai3P2 zUSsnygqnEbp_-r@+G&zNQB!X_jj0p*4f49L=8ZIxS5G_LjdmL5t|+yR%t`aN(=gIb z+ja?G9u#P&&(KbZz3oJP#roR`xksTSqCiQ)P?GCgO8H+~iea{#X3}!8dTJVtOnm9G zj1-J0-Ayeg7g~-%%LRLOald|$2yXD}%d+G|@R>N~rDzht7bg0c@xRuSuh3}ILhe*X zSk0k~+)HJF_F3m|A4OGjPB3+84O(bbIFt3x730(_?qbFWpik6{k zxD1NBkU_@I0z#XziqiL*t;)}E{|Vd^0e@j@u%xCK&oILIj2etl;eJsKu*!#vkjJbP z>pkMeHQ{z+xRq&UnAJ5b*OFlrS|}1DDaYSJLaw9HMs$rAxwd5Z$5G$*5ynv&N&wmq z#8V`H(mG;1P4a&uIF9sMh67PmK(twoTUl#Ay(-;`S}0 z?b9;vqh-c`ZznA?27J4}WyYYb#$XIxYnig%mazp|X8m<7^ID&lS%Q`s7HF9l`?SnU zH?+*+8(L;gpO%^3+cJ;#w#m;N;vRVs2no|Hp4!|c--Xp@ESTw$h)8x_OF zjjxh^Qp_}qnVhR*_Q5{lrg_faKIPh&a&cPD)y;cOouj>?$bS9$QEFgTI*f>PQZ;h^O4kn{@B4{FI38Z@H^d4dIGX7w&x3f{rvj( z{uFrcm(ob83hxnqXnp0=_b-R$S@9l;J(pz(hR;DKc#4PVrT1xlHo$&?Jg^H;%;TFtf~tCHVCb|4qAJ zN88uaj>^nwnYk~OeU;bwdbH=upzG|>T6M{mLNo^2c+qgenJ2Rp^ziKda<_tbrX6vxQMZEChXzfvd?Zc{Ub9Asaj4(&^=}YQXY5?LgH6wx}KknQP$Qwf3nm*Pk zBz{UyRK07lL&V(hVxX46Ym^SeziV0)Nj;Gur}p4D@~l+o>+fIMGhxyF(mfLRHj&<* z$ZDan{1G@$mw4bPrfN?__~eE|Y%;9(N_piuYreug*ZgFk(tQC*?g1{zBH42oRv?M! z1rqelM6s^*(Uu>!V#rh||0jAmnK@tF zr{!dOvW5D;Ecg{Qxk)|Ms3$4a>`p4>OnO$d;q`Nrh z#2edgJqqr}C|JX9?z%P#^81W}I^R3+;3MPUIbM5FjTVLN958Z=(9Q;=181bvW9Y;6 zadK)Hem{?+8z~!hJYv*ccM;kc%rL}DqML8|g4mLi2)YT7sgf@~3Hmbbov_$WV>RQ* zY`O#^;}=N4tu8Y6(6A^XIEu^K{Zei*JG$4JhvEDZOcLGcf=4RsJHLTVIGJZR!&WzX zL(o2g>}_RRO=wdVc7?ggmN;7%XpxKD4>!@tulpt$I?bw$#DlEE%xqX{65HC*qa?zA zsjUs?GU316_Lw2G%#Iy5!HXzaF#wh>IV+6gkzQF=J8-j%{_2ZD{bnZfsIJT1we z$|jbQd`K?2u#vtomnh`2)A)PsH|FnpJyqY}rQKbplS>EaMIQPd!L#))U=dc)_avA8 zMW5s;!H)7V=I{q0=|gJXFVMmMoAJ`j3do#dUG(r+Xx#>Ke@RR9Y%hIm6nQGXrtdSm zT+DDfDV$rP*Lr4`J~sNq2O)Y@jdNTQ?7l_##!7rE4&R{>!y5j*SeIki;!=4PS_m`b z?9?2$u4XcHB!$a^Y6jpqclj9DDL%bi<%~_hdSj{Oo4ayPKZrY5tqs6=TMiXSuB!OsBHhi%$3hg#&4NMS~1uw zLzD%%2-kn7k_U2G!gG?qb3-}umN@V$9lo&STO(bw3(0jA{JqK7`f+oGul=d;`ma52 zdXAreA%q+4ns(juQtqL^Z}K*Is`$do#$e}A)(UN)gxw4Ma2orPUUodhp#_Im0qm{4 zM#ae(Lax5q~)f4NS^!?WH^s`-ry1`hWg?;zwW2-FYy0D8jN%zR!;T9aUjxb&e6RMe}d4_;`uV$Po7CNYDC31v)by{3^O z)_RnFyyqH%Im`XCk3K65+!!hC8mx}$+H8)@QZJn!0}UCO>AMhbjW%SuO(v|n!_QZx zawayZG)yW#7HN*`Gl~av^y8pA$x*om=$ky>H;Ne*8AXOM!Z*CYvQ?ef##WpmUkvMD zoN)s0EX54p?>xCSrGwI4u1^rSXhMh4k#Z{dqp**~?!d&>|JC@KTTyYCpROSG0knlf5b15=OUJQPB)1k;*32WUr=3<5aoPH zKe6F$I(EG#AT_MOXjqRgC~V}v(pHB5DqA$h$7PHU@&)1*c)@d;dp1A!lG94&1*><5 zmE75hJ63TOqxtJeWXK)_qm_|XK&csvp- z(ihjoIH`;}Us2iiX0aR+#)Bfv=tECxD`GJpt;@gv2#JECa=(40D7O-kY*_qef@Pk` zY=$okJ~ortAfHIf;5gowtkv2D*`bn9)0%(s@DNCT=-_xfO`f{`ZsHNGJ(e9)S_Vun zg?LPZs-(;(sL*ELpg$$XfqCQXMV00_MIAAaJkY6ob^7>DV*9}Kl-Ar*Y=sg*k@|6 z&kVsnQ;mJ*Fwp#ru+J>q7sExk)R2zri~pDXW-fYsSz9z0zLVfQ-|7uweY9P{U5pwD|q->4CsnWEuYpm2tG19suvH zx>LSS7cLVbqkM!TkUkX!p!D|6FlT7RwAdIYJ@h3#-ROCCVnYcXzdqu4oFi6POSC6X z`Bvj=O32e!;Yj4_Rvd$Hd;v$`GGQE@$2cP2TM3>2Sr30Yawnn$Lyvm!(xv5L6?MLX zga2xz5&JUta@q1|2jWDjVE3_&ZtfmQr^h*Sy$7w46-uCFJ$j7FP&SG*M}f0MC!Nk8 zcRU_3hhjV>?ArX-Sm|*p1M}8s$;mA5GOg5oIzOmpB!_cdt0zvm4jf%vkfxc@Aa>q8 zXY1pA5^cPXG2|ioM^G~(>gnaOBg-H~!_(SLzzC)_|E#abk2#M0#52){iym>#%xeJF z0oLnn(5?~PTJT{KpXA_W1(h4ntjW09u&fb7M#Df3O+gMFYWty4BZ|TNgwj(zr5`Jl zKI*2@hk3h)kkTt_?&fgbpOjuSFD{5NP$>DiTa{dh6ec;+oi?C`p0|mm4gU|Njy?Vb z%10u|N;pz(&0tdQz1Nldr^^aN8T4xeZ!S0DwNRn9xUvHrlm3W@ls=C+3cq85>Q8G< z=jY$H2G&3ghNA{n)L_PEVb-`HA##hq22{LH1KJZ>GN5JA7#HRZ(Gjh66Uz+q2&H!k zrJwdlnD8WNB{5oQChAJ4PAE<&Kc>Md=reCsdWH#w#4@h@5m-_v5pSk%+1Xq59lhiv zkiLbo2i4rg;T&b3{8`xt@~k}IM27~!x*)^fcTjFp2b~f92Ym;9fkF>io}X}>^osby z#z(Y14f+I=gmP2cugpXgGV3#;LT~xMvk6>D*_q3greCzMY#Z_GHfPijNf1!b3CuK zpY*7(6BeT+Mbdr+V0o~aLU->+A53-xNZwB~8O z(mh`B{+oJN)lu*|vn_EhzqPLnc8bkBY

c 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 z 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

~Uv1^pCuT%QCvpP99z&ExP5X|bPX2v&diAlK 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

txqu?k8(xT(GIl0hiGrZ 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%0AJteHCW$)V5q)w4q11u3ntG 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%0A_s)}7X$Hk>w|Hk~$~a!*@Md8hnS!Kv_6 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⁣z&igL-F8VI} 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%0AtRl7{Hak8m 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 X4u==y&b9wqX(TD)@Bg2f9LEMBzEf2{%8I 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 Kl69Mz>j>9ebOzq^$~Ouaf)wgljH6?zth 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

l&`Mx5^urT1}7VTYjMVUiBI9|fYUa` z@e&82?S|GXpb_{)h$i2FHX@+mch8;BK7giH)Q{qaJMwlwK0Zysr)%+P$V`A807K^k zq-~fu;q^L8gIMbP9;3?@JQ-3nI-Va%L@ev6 z5*NM*+^Xqv46z^K`1ybCa(g)bF!tRkj+f{LP2DRDXtbYL15KmS&uE(TUgA<{4bh$I zXJ9^&RVu|vuSdwXZH-lfYF%(i)TS2Hu{ctPLoSrYIK#l$TPJiv!AsDawX` z@?DDZmw?ii#%&qe8nUG>PtMq4c%zdDmb#l9<_#=K2|Qg#;F&<6P|MqM))BM&yt6wy zrS`fL9Jnk+c`Kk?lA^pDP_9o=-U}%Arzjr=lxI?uPaGxiI6b*o4qvIo@q9zKlL$KC z@VDGey12#Bah@kp+~Vl)e}NDFhrxzl!gnHNA($QN$s?gO!2}$s)89 z1jGO?6VMjmeF5D7GVW!b_XVI<{*a;kKSqSHMyMJ()&3tlWETI=g;DHv;@!pe*gpfx z^`hiM`CB_EPe_LMWx7{n)U1-lWw8Gc`zP2dVHc%ky6f#XqN>!u^HORFHMO)#q|VYh z7AvjPY$xRZDfw-+hY5g6J zmeyq{j+cngp+3VXcTtNLhc*P-%>j+2G|?WKmW00kC%0%JC$@N{jZGHXn@TCMXh)bMk{Q04(W!hhC1jz0@4j?Y7rI^ zM`Wl(HX?E)B3%72I#Z-uAkC82j6h3Qf}({WQGl~0@-QMBq*ZhXvfA4!@-E0XNi!0z zX)p06?rTN=8zO&-G#styZ`9=|(r~n*f05#Ni7c8@XnqZ7tZ#`Zv~kEaA{x%NmuLx1 z(Qg;f6#Xh_ihggS1<{A5L>d{;bTw#&Ia9hN$ zwfm4p_b2a5wi-Sc+})R4Z+qqS!tK7q;ZK3J6m4A|9HW zjZ?(6dz;6N`#IcxNv1Pi!|0xaR*+a&--h*TQ~FPs{?F2nA*OIReaDDAK(k(A5$@?; z#zXsMF_{Vjjt&a#Uo#bY|3Xialn z?HK2Ao#IRZ)hWai+BM7(&+_5#vT+4y(Eto(f>dK>g#GsSDINHXxQ@N1|CF8g6z`_L zE8x3hme*x!C%WAi2T{>DmP`WC`A*Ln04EPqFWn!I8+nhs9%WHl2~Qhbf6G_ca|aNP z^BM--J@#nJluX;*z$PkgP&x)Ho=kj^WEI+K#qH|8Gg% z!;v)I@c{jj>`^jO@-)IWs9xeez(oY?CG>)6QSv-A`B3!%z)BZQmoxey7a?WawS|kT>RzC1`KTkbFk^7JlZ@ z$8zS&3?+%22SkB9vIw)0pDu8rZpGKQ<4Khd00<`UX)hlF2d)Ep9inPEv&l%Ex{ z!mRyiqK}ol`pJxKl5yKZ{>Pl(4qkkaaDI$AH*tP7!PjAQpMe#{M6){4ALK$}k%38w z^_F;xyteH^B%0sD-M1%(BeDsRW==%6FNyKcG`dAbQ*Cvx=Yl{^w$D_jE`y-`!Bn|x zt58;^68$s0;GzTfddw~e%#wa3IneHcRuW4BYXQ`F$)x}f0r0j3ow^w%yVGFJcC-I8_X_c#sy|3~sBzIQC(xxY+Sg_oCO)QRM5P;U;U_n#pSK zG;$?E=1DoRA3!OT_z6JyRfLxME9b-fs!Qot6$5w)CP7qwQLw22G4p52lLB~a=|1%v zx+fQznObDd#wX|ENpkT`p|-BflG^t|?Rd=4V|lN6JWG%vX&c7s^z>vMd2EH@PEQTJ z57c$^;i5sbtd1T?b#y^ZM;EvRTZ4?ITf=V2m1(6~{|+-=aSluADlshct`H;i2+Q49 zC~25Sz#C!1e64uhe}Nvv#!I{ovS%2fM@XyKSp@L|Xj-F}1T>C~-APe?B$&uW!-3?` z9f-K4@;=#aO1s@B!%NyPF2K2`QbP9LS7(I0;sG$e6T>b{f0K4U7?q+si$3mIrr*;mxd+lO@JgNr zP>Lja;k%Bw=9R+@V_wXy8DTEPs8i}D!gO>6AyxD)~GZdL`&R~oe*L*hvg_&g&KxD1t-w8)r?DA>jfD2 z-V8{BJvE&;re|`8=r~(3;5zkhGx(8kJE{J`@OC@slH&^y^-%Nr1_J~Mn^d zDLJzP!!BpKo8Sr<-50A}CM%wJiOC>J=+|5yETMbOfEet4kkUf5i0|=sEgae5R9v28 z=2jvXu^tReBzrK&JiLa6To2|Nz7xD^E#eA%DmGg9$1y}RWOAXIyeMUIW6I=0Gx1@{ zyY4UIMTwX1;{+vUzuD@rP z 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%0DaRL&xDnhVv^Z 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

pISjds@d$gnQpQ-q7;BhimCO>P#Yh5cq{UKN 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≻6@tv&&^P~s`$3`Z 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�lT?V?# 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 z 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�cqYx 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%0De==~HQio*3}R|VV&;Ko=3MvVUi+{N15r-Mw` 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�B}Z61OhknfbbQLUb zQ36qTTqhNxavqp`_gkoT3-yfh^_6}v6k;=+KAw+k@c%P{I<5yW_o2>q-BLZ)6yWdt zkqB6`+{ZuD&px-VZ0XQu)`p*vx60vAJS@f{#cu8hKlgcgxCEB@?AOn&U&2d9ezoMA z_{R}&1UOb*$qF5E`v0}gKxV@8>;Ehsz-&nTPbSzOCGrR7BQ~d-T#KC;qtqZ|LLl^A z^V4oIDuX@~6*rja3Dw>cevpHTYNqauckgOYS4xi>+KxV-jP`jcqdt6$+i!~<5Jmh# zV{#G!Tz!R*EOWN+&z2fyQ=EV+1W44 z(W>SK5USlP3pckH$L?-J4h}rC%^Vt4j_|nZufnrxpEkiaEHyNXJ)pW){B{duw2v!r zkveyFqWXrnUNCvkbAp%RrSv!?<})R-vvc^t)Tr|iE&&sZs&a8uBb@qoedfmz`VMxH z-H2%+hX?u%V)yJ*dM#9yQS|tkU*`j#YIL~%cxseYo#N99MJWqi-W|3CP3`Qc!5ShC zPDM!r7@HENwx)hu$aU+(_02*$W@go4i=^zdeRA?`eLRr v8CxsDP55YVNyP#2- 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 Date: Sat, 17 Mar 2018 07:41:58 +0100 Subject: [PATCH 095/538] fixed sequencer rotations --- .../UnrealEnginePython/Private/UObject/UEPySequencer.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index ed9330355..3bd6669d3 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -751,9 +751,12 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) section_transform->AddKey(time, ty, (EMovieSceneKeyInterpolation)interpolation); section_transform->AddKey(time, tz, (EMovieSceneKeyInterpolation)interpolation); - FTransformKey rx = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::X, transform.Rotator().Roll, unwind); - FTransformKey ry = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::Y, transform.Rotator().Pitch, unwind); - FTransformKey rz = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::Z, transform.Rotator().Yaw, unwind); + /*FTransformKey rx = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::X, transform.GetRotation().Rotator().Roll, unwind); + FTransformKey ry = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::Y, transform.GetRotation().Rotator().Pitch, unwind); + FTransformKey rz = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::Z, transform.GetRotation().Rotator().Yaw, unwind);*/ + FTransformKey rx = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::X, transform.GetRotation().Euler().X, unwind); + FTransformKey ry = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::Y, transform.GetRotation().Euler().Y, unwind); + FTransformKey rz = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::Z, transform.GetRotation().Euler().Z, unwind); section_transform->AddKey(time, rx, (EMovieSceneKeyInterpolation)interpolation); section_transform->AddKey(time, ry, (EMovieSceneKeyInterpolation)interpolation); section_transform->AddKey(time, rz, (EMovieSceneKeyInterpolation)interpolation); From 51631743596eeabfd5547f9f1d58020a2363c14f Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 17 Mar 2018 08:18:44 +0100 Subject: [PATCH 096/538] fixed warnings in 4.18 --- ...tSyntaxHighlighterTextLayoutMarshaller.cpp | 4 ++++ .../Private/PyCommandlet.cpp | 4 ++++ .../UnrealEnginePython/Private/UEPyEngine.cpp | 20 ++++++++++++++++++ .../Private/UObject/UEPyPhysics.cpp | 21 +++++++++++++------ .../UnrealEnginePython.Build.cs | 3 ++- 5 files changed, 45 insertions(+), 7 deletions(-) diff --git a/Source/PythonEditor/Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.cpp b/Source/PythonEditor/Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.cpp index b6303bf18..57b63d6a2 100644 --- a/Source/PythonEditor/Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.cpp +++ b/Source/PythonEditor/Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.cpp @@ -311,7 +311,11 @@ void FPYRichTextSyntaxHighlighterTextLayoutMarshaller::ParseTokens(const FString FRunInfo RunInfo(TEXT("SyntaxHighlight.PY.Normal")); FTextBlockStyle TextBlockStyle = SyntaxTextStyle.NormalTextStyle; +#if ENGINE_MINOR_VERSION + const bool bIsWhitespace = FString(TokenText).TrimEnd().IsEmpty(); +#else const bool bIsWhitespace = FString(TokenText).TrimTrailing().IsEmpty(); +#endif if(!bIsWhitespace) { bool bHasMatchedSyntax = false; diff --git a/Source/UnrealEnginePython/Private/PyCommandlet.cpp b/Source/UnrealEnginePython/Private/PyCommandlet.cpp index 33c243450..42d80c422 100644 --- a/Source/UnrealEnginePython/Private/PyCommandlet.cpp +++ b/Source/UnrealEnginePython/Private/PyCommandlet.cpp @@ -30,7 +30,11 @@ int32 UPyCommandlet::Main(const FString& CommandLine) const FRegexPattern myPattern(RegexString); FRegexMatcher myMatcher(myPattern, *CommandLine); myMatcher.FindNext(); +#if ENGINE_MINOR_VERSION >= 18 + FString PyCommandLine = myMatcher.GetCaptureGroup(0).TrimStart().TrimEnd(); +#else FString PyCommandLine = myMatcher.GetCaptureGroup(0).Trim().TrimTrailing(); +#endif TArray PyArgv; PyArgv.Add(FString()); diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index e4f5b1b50..9a9333a86 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -11,6 +11,10 @@ #include "PackageTools.h" #endif +#if ENGINE_MINOR_VERSION >= 18 +#include "HAL/PlatformApplicationMisc.h" +#endif + PyObject *py_unreal_engine_log(PyObject * self, PyObject * args) { @@ -165,12 +169,20 @@ PyObject *py_unreal_engine_get_up_vector(PyObject * self, PyObject * args) PyObject *py_unreal_engine_get_content_dir(PyObject * self, PyObject * args) { +#if ENGINE_MINOR_VERSION >= 18 + return PyUnicode_FromString(TCHAR_TO_UTF8(*FPaths::ProjectContentDir())); +#else return PyUnicode_FromString(TCHAR_TO_UTF8(*FPaths::GameContentDir())); +#endif } PyObject *py_unreal_engine_get_game_saved_dir(PyObject * self, PyObject * args) { +#if ENGINE_MINOR_VERSION >= 18 + return PyUnicode_FromString(TCHAR_TO_UTF8(*FPaths::ProjectSavedDir())); +#else return PyUnicode_FromString(TCHAR_TO_UTF8(*FPaths::GameSavedDir())); +#endif } PyObject * py_unreal_engine_get_game_user_developer_dir(PyObject *, PyObject *) @@ -1237,13 +1249,21 @@ PyObject *py_unreal_engine_clipboard_copy(PyObject * self, PyObject * args) return nullptr; } +#if ENGINE_MINOR_VERSION >= 18 + FPlatformApplicationMisc::ClipboardCopy(UTF8_TO_TCHAR(text)); +#else FGenericPlatformMisc::ClipboardCopy(UTF8_TO_TCHAR(text)); +#endif Py_RETURN_NONE; } PyObject *py_unreal_engine_clipboard_paste(PyObject * self, PyObject * args) { FString clipboard; +#if ENGINE_MINOR_VERSION >= 18 + FPlatformApplicationMisc::ClipboardPaste(clipboard); +#else FGenericPlatformMisc::ClipboardPaste(clipboard); +#endif return PyUnicode_FromString(TCHAR_TO_UTF8(*clipboard)); } \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyPhysics.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyPhysics.cpp index 95d278def..4abfde503 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyPhysics.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyPhysics.cpp @@ -137,10 +137,13 @@ PyObject *py_ue_add_angular_impulse(ue_PyUObject * self, PyObject * args) if (py_obj_b_vel_change && PyObject_IsTrue(py_obj_b_vel_change)) b_vel_change = true; +#if ENGINE_MINOR_VERSION >= 18 + primitive->AddAngularImpulseInRadians(impulse, f_bone_name, b_vel_change); +#else primitive->AddAngularImpulse(impulse, f_bone_name, b_vel_change); +#endif - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } @@ -237,10 +240,13 @@ PyObject *py_ue_add_torque(ue_PyUObject * self, PyObject * args) if (py_obj_b_accel_change && PyObject_IsTrue(py_obj_b_accel_change)) b_accel_change = true; +#if ENGINE_MINOR_VERSION >= 18 + primitive->AddTorqueInRadians(torque, f_bone_name, b_accel_change); +#else primitive->AddTorque(torque, f_bone_name, b_accel_change); +#endif - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } @@ -369,10 +375,13 @@ PyObject *py_ue_set_physics_angular_velocity(ue_PyUObject * self, PyObject * arg f_bone_name = FName(UTF8_TO_TCHAR(bone_name)); } +#if ENGINE_MINOR_VERSION >= 18 + primitive->SetPhysicsAngularVelocityInDegrees(new_ang_vel, add_to_current, f_bone_name); +#else primitive->SetPhysicsAngularVelocity(new_ang_vel, add_to_current, f_bone_name); +#endif - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_ue_get_physics_angular_velocity(ue_PyUObject * self, PyObject * args) diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index 09ec39aad..9021467dd 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -125,7 +125,8 @@ public UnrealEnginePython(TargetInfo Target) "RenderCore", "MovieSceneCapture", "Landscape", - "Foliage" + "Foliage", + "ApplicationCore" // ... add private dependencies that you statically link with here ... } ); From 63dcf3cafeecc5556187f1f80d855cfdd506e13b Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 17 Mar 2018 08:21:22 +0100 Subject: [PATCH 097/538] fixed 4.15 support --- Source/UnrealEnginePython/UnrealEnginePython.Build.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index 9021467dd..a35f3f615 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -126,7 +126,9 @@ public UnrealEnginePython(TargetInfo Target) "MovieSceneCapture", "Landscape", "Foliage", +#if WITH_FORWARDED_MODULE_RULES_CTOR "ApplicationCore" +#endif // ... add private dependencies that you statically link with here ... } ); From f81ebcd79bfafb5506cf82ad9b897535aea683a6 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 17 Mar 2018 08:26:12 +0100 Subject: [PATCH 098/538] fixed typo --- .../Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/PythonEditor/Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.cpp b/Source/PythonEditor/Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.cpp index 57b63d6a2..53417bf6b 100644 --- a/Source/PythonEditor/Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.cpp +++ b/Source/PythonEditor/Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.cpp @@ -311,7 +311,7 @@ void FPYRichTextSyntaxHighlighterTextLayoutMarshaller::ParseTokens(const FString FRunInfo RunInfo(TEXT("SyntaxHighlight.PY.Normal")); FTextBlockStyle TextBlockStyle = SyntaxTextStyle.NormalTextStyle; -#if ENGINE_MINOR_VERSION +#if ENGINE_MINOR_VERSION >= 18 const bool bIsWhitespace = FString(TokenText).TrimEnd().IsEmpty(); #else const bool bIsWhitespace = FString(TokenText).TrimTrailing().IsEmpty(); From 7bfcc878809a1a9f298dcb33b7c93944197f0f99 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 17 Mar 2018 08:33:59 +0100 Subject: [PATCH 099/538] more robust build system --- .../UnrealEnginePython/UnrealEnginePython.Build.cs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index a35f3f615..7f82c936c 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -126,13 +126,21 @@ public UnrealEnginePython(TargetInfo Target) "MovieSceneCapture", "Landscape", "Foliage", -#if WITH_FORWARDED_MODULE_RULES_CTOR - "ApplicationCore" -#endif // ... add private dependencies that you statically link with here ... } ); +#if WITH_FORWARDED_MODULE_RULES_CTOR + BuildVersion Version; + if (BuildVersion.TryRead(out Version)) + { + if (Version.MinorVersion >= 18) + { + PrivateDependencyModuleNames.Add("ApplicationCore"); + } + } +#endif + DynamicallyLoadedModuleNames.AddRange( new string[] From 91438909f9ca0e80d2469f39d0b76b39e4acdebf Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 17 Mar 2018 09:11:41 +0100 Subject: [PATCH 100/538] fixed 4.17 --- Source/UnrealEnginePython/UnrealEnginePython.Build.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index 7f82c936c..2b28c6916 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -130,9 +130,10 @@ public UnrealEnginePython(TargetInfo Target) } ); + #if WITH_FORWARDED_MODULE_RULES_CTOR BuildVersion Version; - if (BuildVersion.TryRead(out Version)) + if (BuildVersion.TryRead(BuildVersion.GetDefaultFileName(), out Version)) { if (Version.MinorVersion >= 18) { From 02327ae88fd9cc3571411d10f17be6cff3890ded Mon Sep 17 00:00:00 2001 From: getnamo Date: Sun, 18 Mar 2018 18:01:25 +0000 Subject: [PATCH 101/538] streaming work --- Content/Scripts/upycmd.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Content/Scripts/upycmd.py b/Content/Scripts/upycmd.py index f32e4fa28..bd2798e51 100644 --- a/Content/Scripts/upycmd.py +++ b/Content/Scripts/upycmd.py @@ -78,6 +78,27 @@ def run(process, path=_PythonHomePath, verbose=True): ue.log(stdoutdata[1]) return stdoutdata[1] #return the data for dependent functions +def runStreaming(process, callback=None, path=_PythonHomePath, verbose=True): + #todo: change folder + fullcommand = FolderCommand(path) + process + + if verbose: + print("Started cmd <" + fullcommand + ">") + + #streaming version + popenobj = subprocess.Popen(fullcommand, stdout=subprocess.PIPE) + output = '' + for line in iter(process.stdout.readline, ''): + #sys.stdout.write(line) + print(line) + output += line + + + if verbose: + print("cmd Result: ") + print(output) + return output #return the data for dependent functions + #convenience override def runLogOutput(process, path=_PythonHomePath): fullcommand = FolderCommand(path) + process From a943cea73f564565a85b4bfa23525cf3076e2b9d Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 20 Mar 2018 18:21:21 +0100 Subject: [PATCH 102/538] added slate file picker example --- .../Private/UObject/UEPySequencer.cpp | 15 +++++++-------- examples/slate_file_path_picker.py | 18 ++++++++++++++++++ 2 files changed, 25 insertions(+), 8 deletions(-) create mode 100644 examples/slate_file_path_picker.py diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index 3bd6669d3..ca46e7904 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -163,7 +163,7 @@ PyObject *py_ue_sequencer_find_possessable(ue_PyUObject *self, PyObject * args) return PyErr_Format(PyExc_Exception, "unable to find uobject with GUID \"%s\"", guid); Py_RETURN_UOBJECT(u_obj); - } +} PyObject *py_ue_sequencer_find_spawnable(ue_PyUObject *self, PyObject * args) { @@ -284,7 +284,7 @@ PyObject *py_ue_sequencer_add_actor(ue_PyUObject *self, PyObject * args) } return PyUnicode_FromString(TCHAR_TO_UTF8(*new_guid.ToString())); - } +} PyObject *py_ue_sequencer_add_actor_component(ue_PyUObject *self, PyObject * args) { @@ -702,9 +702,10 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) float time; PyObject *py_value; int interpolation = 0; - if (!PyArg_ParseTuple(args, "fO|i:sequencer_section_add_key", &time, &py_value, &interpolation)) + PyObject *py_unwind = nullptr; + if (!PyArg_ParseTuple(args, "fO|iO:sequencer_section_add_key", &time, &py_value, &interpolation, &py_unwind)) { - return NULL; + return nullptr; } if (!self->ue_object->IsA()) @@ -740,7 +741,7 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) { if (ue_PyFTransform *py_transform = py_ue_is_ftransform(py_value)) { - bool unwind = false; + bool unwind = (py_unwind && PyObject_IsTrue(py_unwind)); FTransform transform = py_transform->transform; @@ -751,9 +752,7 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) section_transform->AddKey(time, ty, (EMovieSceneKeyInterpolation)interpolation); section_transform->AddKey(time, tz, (EMovieSceneKeyInterpolation)interpolation); - /*FTransformKey rx = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::X, transform.GetRotation().Rotator().Roll, unwind); - FTransformKey ry = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::Y, transform.GetRotation().Rotator().Pitch, unwind); - FTransformKey rz = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::Z, transform.GetRotation().Rotator().Yaw, unwind);*/ + FTransformKey rx = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::X, transform.GetRotation().Euler().X, unwind); FTransformKey ry = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::Y, transform.GetRotation().Euler().Y, unwind); FTransformKey rz = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::Z, transform.GetRotation().Euler().Z, unwind); diff --git a/examples/slate_file_path_picker.py b/examples/slate_file_path_picker.py new file mode 100644 index 000000000..92674fed3 --- /dev/null +++ b/examples/slate_file_path_picker.py @@ -0,0 +1,18 @@ +import unreal_engine as ue +from unreal_engine import SFilePathPicker, SWindow, FLinearColor +from unreal_engine.structs import ButtonStyle, SlateBrush, SlateColor + +# a style is required for the file picker +style = ButtonStyle(Normal=SlateBrush(TintColor=SlateColor(SpecifiedColor=FLinearColor(1, 0, 0)))) + + +window = SWindow(client_size=(576,576), title='Hello', modal=True) + +def path_picked(path): + print(path) + window.request_destroy() + +picker = SFilePathPicker(browse_title='Hello', browse_button_style=style, on_path_picked=path_picked) +window.set_content(picker) + +window.add_modal() \ No newline at end of file From ca1a3c9f4bcd6707e0e4475b0d3ee8778cb5beed Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 20 Mar 2018 19:15:55 +0100 Subject: [PATCH 103/538] added api for importing fbx transform curves --- .../UnrealEnginePython/Private/UEPyModule.cpp | 2 + .../Private/UObject/UEPySequencer.cpp | 176 +++++++++++++++++- .../Private/UObject/UEPySequencer.h | 1 + 3 files changed, 178 insertions(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 64b381c3c..27c30014e 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -920,6 +920,8 @@ static PyMethodDef ue_PyUObject_methods[] = { { "sequencer_remove_camera_cut_track", (PyCFunction)py_ue_sequencer_remove_camera_cut_track, METH_VARARGS, "" }, { "sequencer_remove_master_track", (PyCFunction)py_ue_sequencer_remove_master_track, METH_VARARGS, "" }, { "sequencer_remove_track", (PyCFunction)py_ue_sequencer_remove_track, METH_VARARGS, "" }, + { "sequencer_import_fbx_transform", (PyCFunction)py_ue_sequencer_import_fbx_transform, METH_VARARGS, "" }, + #endif { "sequencer_sections", (PyCFunction)py_ue_sequencer_sections, METH_VARARGS, "" }, { "sequencer_track_sections", (PyCFunction)py_ue_sequencer_track_sections, METH_VARARGS, "" }, diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index ca46e7904..46b74a9c8 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -20,6 +20,8 @@ #include "Sections/MovieSceneVectorSection.h" #include "Runtime/MovieScene/Public/MovieSceneFolder.h" #include "Runtime/MovieScene/Public/MovieSceneSpawnable.h" +#include "Editor/UnrealEd/Public/FbxImporter.h" +#include "Editor/MovieSceneTools/Public/MatineeImportTools.h" #endif #if WITH_EDITOR @@ -752,7 +754,7 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) section_transform->AddKey(time, ty, (EMovieSceneKeyInterpolation)interpolation); section_transform->AddKey(time, tz, (EMovieSceneKeyInterpolation)interpolation); - + FTransformKey rx = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::X, transform.GetRotation().Euler().X, unwind); FTransformKey ry = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::Y, transform.GetRotation().Euler().Y, unwind); FTransformKey rz = FTransformKey(EKey3DTransformChannel::Rotation, EAxis::Z, transform.GetRotation().Euler().Z, unwind); @@ -1017,5 +1019,177 @@ PyObject *py_ue_sequencer_get_display_name(ue_PyUObject *self, PyObject * args) return PyErr_Format(PyExc_Exception, "the uobject does not expose the GetDefaultDisplayName() method"); } + +PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * args) +{ + ue_py_check(self); + + char *filename; + char *nodename; + PyObject *py_force_front_x_axis = nullptr; + + if (!PyArg_ParseTuple(args, "ss|o:sequencer_import_fbx_transform", &filename, &nodename, &py_force_front_x_axis)) + return nullptr; + + UMovieScene3DTransformSection *section = ue_py_check_type(self); + if (!section) + return PyErr_Format(PyExc_Exception, "uobject is not a UMovieScene3DTransformSection"); + + UnFbx::FFbxImporter* FbxImporter = UnFbx::FFbxImporter::GetInstance(); + + UnFbx::FBXImportOptions* ImportOptions = FbxImporter->GetImportOptions(); + bool bConverteScene = ImportOptions->bConvertScene; + bool bConverteSceneUnit = ImportOptions->bConvertSceneUnit; + bool bForceFrontXAxis = ImportOptions->bForceFrontXAxis; + + ImportOptions->bConvertScene = true; + ImportOptions->bConvertSceneUnit = true; + ImportOptions->bForceFrontXAxis = py_force_front_x_axis && PyObject_IsTrue(py_force_front_x_axis); + + FString FbxFilename = FString(UTF8_TO_TCHAR(filename)); + FString FbxNodeName = FString(UTF8_TO_TCHAR(nodename)); + + const FString Extension = FPaths::GetExtension(FbxFilename); + if (!FbxImporter->ImportFromFile(FbxFilename, Extension, true)) + { + FbxImporter->ReleaseScene(); + ImportOptions->bConvertScene = bConverteScene; + ImportOptions->bConvertSceneUnit = bConverteSceneUnit; + ImportOptions->bForceFrontXAxis = bForceFrontXAxis; + return PyErr_Format(PyExc_Exception, "unable to import Fbx file"); + } + + UnFbx::FFbxCurvesAPI CurveAPI; + FbxImporter->PopulateAnimatedCurveData(CurveAPI); + + TArray AllNodeNames; + CurveAPI.GetAllNodeNameArray(AllNodeNames); + + for (FString NodeName : AllNodeNames) + { + if (NodeName != FbxNodeName) + continue; + + // Look for transforms explicitly + FInterpCurveFloat Translation[3]; + FInterpCurveFloat EulerRotation[3]; + FInterpCurveFloat Scale[3]; + FTransform DefaultTransform; + CurveAPI.GetConvertedTransformCurveData(NodeName, Translation[0], Translation[1], Translation[2], EulerRotation[0], EulerRotation[1], EulerRotation[2], Scale[0], Scale[1], Scale[2], DefaultTransform); + + for (int32 ChannelIndex = 0; ChannelIndex < 3; ++ChannelIndex) + { + EAxis::Type ChannelAxis = EAxis::X; + if (ChannelIndex == 1) + { + ChannelAxis = EAxis::Y; + } + else if (ChannelIndex == 2) + { + ChannelAxis = EAxis::Z; + } + section->GetTranslationCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetLocation()[ChannelIndex]); + section->GetRotationCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetRotation().Euler()[ChannelIndex]); + section->GetScaleCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetScale3D()[ChannelIndex]); + } + + float MinTime = FLT_MAX; + float MaxTime = -FLT_MAX; + + const int NumCurves = 3; // Trans, Rot, Scale + for (int32 CurveIndex = 0; CurveIndex < NumCurves; ++CurveIndex) + { + for (int32 ChannelIndex = 0; ChannelIndex < 3; ++ChannelIndex) + { + EAxis::Type ChannelAxis = EAxis::X; + if (ChannelIndex == 1) + { + ChannelAxis = EAxis::Y; + } + else if (ChannelIndex == 2) + { + ChannelAxis = EAxis::Z; + } + + FInterpCurveFloat* CurveFloat = nullptr; + FRichCurve* ChannelCurve = nullptr; + bool bNegative = false; + + if (CurveIndex == 0) + { + CurveFloat = &Translation[ChannelIndex]; + ChannelCurve = §ion->GetTranslationCurve(ChannelAxis); + if (ChannelIndex == 1) + { + bNegative = true; + } + } + else if (CurveIndex == 1) + { + CurveFloat = &EulerRotation[ChannelIndex]; + ChannelCurve = §ion->GetRotationCurve(ChannelAxis); + if (ChannelIndex == 1 || ChannelIndex == 2) + { + bNegative = true; + } + } + else if (CurveIndex == 2) + { + CurveFloat = &Scale[ChannelIndex]; + ChannelCurve = §ion->GetScaleCurve(ChannelAxis); + } + + if (ChannelCurve != nullptr && CurveFloat != nullptr) + { + ChannelCurve->Reset(); + + for (int32 KeyIndex = 0; KeyIndex < CurveFloat->Points.Num(); ++KeyIndex) + { + MinTime = FMath::Min(MinTime, CurveFloat->Points[KeyIndex].InVal); + MaxTime = FMath::Max(MaxTime, CurveFloat->Points[KeyIndex].InVal); + + float ArriveTangent = CurveFloat->Points[KeyIndex].ArriveTangent; + if (KeyIndex > 0) + { + ArriveTangent = ArriveTangent / (CurveFloat->Points[KeyIndex].InVal - CurveFloat->Points[KeyIndex - 1].InVal); + } + + float LeaveTangent = CurveFloat->Points[KeyIndex].LeaveTangent; + if (KeyIndex < CurveFloat->Points.Num() - 1) + { + LeaveTangent = LeaveTangent / (CurveFloat->Points[KeyIndex + 1].InVal - CurveFloat->Points[KeyIndex].InVal); + } + + if (bNegative) + { + ArriveTangent = -ArriveTangent; + LeaveTangent = -LeaveTangent; + } + + FMatineeImportTools::SetOrAddKey(*ChannelCurve, CurveFloat->Points[KeyIndex].InVal, CurveFloat->Points[KeyIndex].OutVal, ArriveTangent, LeaveTangent, CurveFloat->Points[KeyIndex].InterpMode); + } + + ChannelCurve->RemoveRedundantKeys(KINDA_SMALL_NUMBER); + ChannelCurve->AutoSetTangents(); + } + } + } + + section->SetStartTime(MinTime); + section->SetEndTime(MaxTime); + + FbxImporter->ReleaseScene(); + ImportOptions->bConvertScene = bConverteScene; + ImportOptions->bConvertSceneUnit = bConverteScene; + ImportOptions->bForceFrontXAxis = bConverteScene; + Py_RETURN_NONE; + } + + FbxImporter->ReleaseScene(); + ImportOptions->bConvertScene = bConverteScene; + ImportOptions->bConvertSceneUnit = bConverteSceneUnit; + ImportOptions->bForceFrontXAxis = bForceFrontXAxis; + return PyErr_Format(PyExc_Exception, "unable to find specified node in Fbx file"); +} #endif diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h index 4e10c1187..9ceec7a36 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h @@ -30,6 +30,7 @@ PyObject *py_ue_sequencer_remove_spawnable(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_remove_camera_cut_track(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_remove_master_track(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_remove_track(ue_PyUObject *, PyObject *); +PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *, PyObject *); #endif PyObject *py_ue_sequencer_sections(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_possessables(ue_PyUObject *, PyObject *); From cd985c315d68155aa776dc3f4aecc9520699798b Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 20 Mar 2018 20:59:00 +0100 Subject: [PATCH 104/538] fixed 4.17 support --- .../Private/UObject/UEPySequencer.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index 46b74a9c8..46ac552d9 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -20,7 +20,11 @@ #include "Sections/MovieSceneVectorSection.h" #include "Runtime/MovieScene/Public/MovieSceneFolder.h" #include "Runtime/MovieScene/Public/MovieSceneSpawnable.h" +#if ENGINE_MINOR_VERSION < 18 +#include "Editor/UnrealEd/Private/FbxImporter.h" +#else #include "Editor/UnrealEd/Public/FbxImporter.h" +#endif #include "Editor/MovieSceneTools/Public/MatineeImportTools.h" #endif @@ -1063,7 +1067,11 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar FbxImporter->PopulateAnimatedCurveData(CurveAPI); TArray AllNodeNames; +#if ENGINE_MINOR_VERSION < 18 + CurveAPI.GetAnimatedNodeNameArray(AllNodeNames); +#else CurveAPI.GetAllNodeNameArray(AllNodeNames); +#endif for (FString NodeName : AllNodeNames) { @@ -1075,6 +1083,7 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar FInterpCurveFloat EulerRotation[3]; FInterpCurveFloat Scale[3]; FTransform DefaultTransform; +#if ENGINE_MINOR_VERSION >= 18 CurveAPI.GetConvertedTransformCurveData(NodeName, Translation[0], Translation[1], Translation[2], EulerRotation[0], EulerRotation[1], EulerRotation[2], Scale[0], Scale[1], Scale[2], DefaultTransform); for (int32 ChannelIndex = 0; ChannelIndex < 3; ++ChannelIndex) @@ -1092,6 +1101,10 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar section->GetRotationCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetRotation().Euler()[ChannelIndex]); section->GetScaleCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetScale3D()[ChannelIndex]); } +#else + CurveAPI.GetConvertedTransformCurveData(NodeName, Translation[0], Translation[1], Translation[2], EulerRotation[0], EulerRotation[1], EulerRotation[2], Scale[0], Scale[1], Scale[2]); + +#endif float MinTime = FLT_MAX; float MaxTime = -FLT_MAX; From a7e500b2c7980cce7c86595f943a9186304def7f Mon Sep 17 00:00:00 2001 From: Steven Shan Date: Thu, 22 Mar 2018 14:48:33 -0400 Subject: [PATCH 105/538] updated PlottingGraphWithMatplotlibAndUnrealEnginePython.md --- tutorials/PlottingGraphsWithMatplotlibAndUnrealEnginePython.md | 2 +- .../plotter.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tutorials/PlottingGraphsWithMatplotlibAndUnrealEnginePython.md b/tutorials/PlottingGraphsWithMatplotlibAndUnrealEnginePython.md index 8ff7795c7..4d9c5246a 100644 --- a/tutorials/PlottingGraphsWithMatplotlibAndUnrealEnginePython.md +++ b/tutorials/PlottingGraphsWithMatplotlibAndUnrealEnginePython.md @@ -194,7 +194,7 @@ class PlotComponent: dpi = 72.0 self.texture = ue.create_transient_texture(width, height, EPixelFormat.PF_R8G8B8A8) - self.uobject.get_owner().StaticMesh.OverrideMaterials[0].set_material_texture_parameter('Graph', self.texture) + self.uobject.get_owner().StaticMeshComponent.OverrideMaterials[0].set_material_texture_parameter('Graph', self.texture) self.fig = plt.figure(1) self.fig.set_dpi(dpi) diff --git a/tutorials/PlottingGraphsWithMatplotlibAndUnrealEnginePython_Assets/plotter.py b/tutorials/PlottingGraphsWithMatplotlibAndUnrealEnginePython_Assets/plotter.py index e8e8418a4..6466adee2 100644 --- a/tutorials/PlottingGraphsWithMatplotlibAndUnrealEnginePython_Assets/plotter.py +++ b/tutorials/PlottingGraphsWithMatplotlibAndUnrealEnginePython_Assets/plotter.py @@ -14,7 +14,7 @@ def begin_play(self): dpi = 72.0 self.texture = ue.create_transient_texture(width, height, EPixelFormat.PF_R8G8B8A8) - self.uobject.get_owner().StaticMesh.OverrideMaterials[0].set_material_texture_parameter('Graph', self.texture) + self.uobject.get_owner().StaticMeshComponent.OverrideMaterials[0].set_material_texture_parameter('Graph', self.texture) self.fig = plt.figure(1) self.fig.set_dpi(dpi) From 63dab96f35496f0ea6b02f7a66bae76940ace36c Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 27 Mar 2018 14:57:06 +0200 Subject: [PATCH 106/538] added 4.19 support --- tools/release_win64.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/release_win64.py b/tools/release_win64.py index 3af62aabf..fae164c77 100644 --- a/tools/release_win64.py +++ b/tools/release_win64.py @@ -5,7 +5,7 @@ import shutil import zipfile -UE_VERSIONS = ['4.15', '4.16', '4.17', '4.18'] +UE_VERSIONS = ['4.15', '4.16', '4.17', '4.18', '4.19'] PYTHON_VERSIONS = ["C:/Program Files/Python36", "C:/Program Files/Python35", "C:/Python27"] RELEASE_DIR = sys.argv[1].rstrip('/') From a14a1ae710c332c2f1433977d1ecf82e4e5883ba Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 28 Mar 2018 20:39:00 +0200 Subject: [PATCH 107/538] added support for fixed array properties --- .../Private/PythonDelegate.cpp | 2 +- .../Private/PythonFunction.cpp | 6 +- .../UnrealEnginePython/Private/UEPyModule.cpp | 164 +++++++++--------- .../UnrealEnginePython/Private/UEPyModule.h | 4 +- .../Private/UEPyUScriptStruct.cpp | 32 +++- .../Private/UObject/UEPyObject.cpp | 41 ++++- .../Private/UObject/UEPyObject.h | 1 + 7 files changed, 149 insertions(+), 101 deletions(-) diff --git a/Source/UnrealEnginePython/Private/PythonDelegate.cpp b/Source/UnrealEnginePython/Private/PythonDelegate.cpp index 35955e817..fa484ba67 100644 --- a/Source/UnrealEnginePython/Private/PythonDelegate.cpp +++ b/Source/UnrealEnginePython/Private/PythonDelegate.cpp @@ -39,7 +39,7 @@ void UPythonDelegate::ProcessEvent(UFunction *function, void *Parms) for (; PArgs && argn < signature->NumParms && ((PArgs->PropertyFlags & (CPF_Parm | CPF_ReturnParm)) == CPF_Parm); ++PArgs) { UProperty *prop = *PArgs; - PyObject *arg = ue_py_convert_property(prop, (uint8 *)Parms); + PyObject *arg = ue_py_convert_property(prop, (uint8 *)Parms, 0); if (!arg) { unreal_engine_py_log_error(); diff --git a/Source/UnrealEnginePython/Private/PythonFunction.cpp b/Source/UnrealEnginePython/Private/PythonFunction.cpp index f63aeb8b9..796661999 100644 --- a/Source/UnrealEnginePython/Private/PythonFunction.cpp +++ b/Source/UnrealEnginePython/Private/PythonFunction.cpp @@ -56,7 +56,7 @@ void UPythonFunction::CallPythonCallable(FFrame& Stack, RESULT_DECL) if (prop->PropertyFlags & CPF_ReturnParm) continue; if (!on_error) { - PyObject *arg = ue_py_convert_property(prop, (uint8 *)Stack.Locals); + PyObject *arg = ue_py_convert_property(prop, (uint8 *)Stack.Locals, 0); if (!arg) { unreal_engine_py_log_error(); on_error = true; @@ -76,7 +76,7 @@ void UPythonFunction::CallPythonCallable(FFrame& Stack, RESULT_DECL) if (prop->PropertyFlags & CPF_ReturnParm) continue; if (!on_error) { - PyObject *arg = ue_py_convert_property(prop, frame); + PyObject *arg = ue_py_convert_property(prop, frame, 0); if (!arg) { unreal_engine_py_log_error(); on_error = true; @@ -108,7 +108,7 @@ void UPythonFunction::CallPythonCallable(FFrame& Stack, RESULT_DECL) #if defined(UEPY_MEMORY_DEBUG) UE_LOG(LogPython, Warning, TEXT("FOUND RETURN VALUE")); #endif - if (ue_py_convert_pyobject(ret, return_property, frame)) { + if (ue_py_convert_pyobject(ret, return_property, frame, 0)) { // copy value to stack result value FMemory::Memcpy(RESULT_PARAM, frame + function->ReturnValueOffset, return_property->ArrayDim * return_property->ElementSize); } diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 27c30014e..570f5b9ce 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -454,6 +454,7 @@ static PyMethodDef ue_PyUObject_methods[] = { { "has_property", (PyCFunction)py_ue_has_property, METH_VARARGS, "" }, { "get_uproperty", (PyCFunction)py_ue_get_uproperty, METH_VARARGS, "" }, { "get_property_struct", (PyCFunction)py_ue_get_property_struct, METH_VARARGS, "" }, + { "get_property_array_dim", (PyCFunction)py_ue_get_property_array_dim, METH_VARARGS, "" }, { "functions", (PyCFunction)py_ue_functions, METH_VARARGS, "" }, @@ -755,7 +756,7 @@ static PyMethodDef ue_PyUObject_methods[] = { { "has_world", (PyCFunction)py_ue_has_world, METH_VARARGS, "" }, { "get_game_viewport", (PyCFunction)py_ue_get_game_viewport, METH_VARARGS, "" }, - + { "game_viewport_client_set_rendering_flag", (PyCFunction)py_ue_game_viewport_client_set_rendering_flag, METH_VARARGS, "" }, { "get_world_location_at_distance_along_spline", (PyCFunction)py_ue_get_world_location_at_distance_along_spline, METH_VARARGS, "" }, @@ -921,7 +922,7 @@ static PyMethodDef ue_PyUObject_methods[] = { { "sequencer_remove_master_track", (PyCFunction)py_ue_sequencer_remove_master_track, METH_VARARGS, "" }, { "sequencer_remove_track", (PyCFunction)py_ue_sequencer_remove_track, METH_VARARGS, "" }, { "sequencer_import_fbx_transform", (PyCFunction)py_ue_sequencer_import_fbx_transform, METH_VARARGS, "" }, - + #endif { "sequencer_sections", (PyCFunction)py_ue_sequencer_sections, METH_VARARGS, "" }, { "sequencer_track_sections", (PyCFunction)py_ue_sequencer_track_sections, METH_VARARGS, "" }, @@ -1019,7 +1020,7 @@ static PyObject *ue_PyUObject_getattro(ue_PyUObject *self, PyObject *attr_name) { // swallow previous exception PyErr_Clear(); - return ue_py_convert_property(u_property, (uint8 *)self->ue_object); + return ue_py_convert_property(u_property, (uint8 *)self->ue_object, 0); } UFunction *function = self->ue_object->FindFunction(FName(UTF8_TO_TCHAR(attr))); @@ -1116,7 +1117,7 @@ static int ue_PyUObject_setattro(ue_PyUObject *self, PyObject *attr_name, PyObje UProperty *u_property = u_struct->FindPropertyByName(FName(UTF8_TO_TCHAR(attr))); if (u_property) { - if (ue_py_convert_pyobject(value, u_property, (uint8*)self->ue_object)) + if (ue_py_convert_pyobject(value, u_property, (uint8*)self->ue_object, 0)) { return 0; } @@ -1225,7 +1226,7 @@ static PyObject *ue_PyUObject_call(ue_PyUObject *self, PyObject *args, PyObject UProperty *u_property = ue_struct_get_field_from_name(u_script_struct, struct_key); if (u_property) { - if (!ue_py_convert_pyobject(value, u_property, data)) + if (!ue_py_convert_pyobject(value, u_property, data, 0)) { FMemory::Free(data); return PyErr_Format(PyExc_Exception, "invalid value for UProperty"); @@ -1768,60 +1769,58 @@ AActor *ue_get_actor(ue_PyUObject *py_obj) } // convert a property to a python object -PyObject *ue_py_convert_property(UProperty *prop, uint8 *buffer) +PyObject *ue_py_convert_property(UProperty *prop, uint8 *buffer, int32 index) { if (auto casted_prop = Cast(prop)) { - bool value = casted_prop->GetPropertyValue_InContainer(buffer); + bool value = casted_prop->GetPropertyValue_InContainer(buffer, index); if (value) { - Py_INCREF(Py_True); - return Py_True; + Py_RETURN_TRUE; } - Py_INCREF(Py_False); - return Py_False; + Py_RETURN_FALSE; } if (auto casted_prop = Cast(prop)) { - int value = casted_prop->GetPropertyValue_InContainer(buffer); + int value = casted_prop->GetPropertyValue_InContainer(buffer, index); return PyLong_FromLong(value); } if (auto casted_prop = Cast(prop)) { - uint32 value = casted_prop->GetPropertyValue_InContainer(buffer); + uint32 value = casted_prop->GetPropertyValue_InContainer(buffer, index); return PyLong_FromUnsignedLong(value); } if (auto casted_prop = Cast(prop)) { - long long value = casted_prop->GetPropertyValue_InContainer(buffer); + long long value = casted_prop->GetPropertyValue_InContainer(buffer, index); return PyLong_FromLongLong(value); } if (auto casted_prop = Cast(prop)) { - uint64 value = casted_prop->GetPropertyValue_InContainer(buffer); + uint64 value = casted_prop->GetPropertyValue_InContainer(buffer, index); return PyLong_FromUnsignedLongLong(value); } if (auto casted_prop = Cast(prop)) { - float value = casted_prop->GetPropertyValue_InContainer(buffer); + float value = casted_prop->GetPropertyValue_InContainer(buffer, index); return PyFloat_FromDouble(value); } if (auto casted_prop = Cast(prop)) { - uint8 value = casted_prop->GetPropertyValue_InContainer(buffer); + uint8 value = casted_prop->GetPropertyValue_InContainer(buffer, index); return PyLong_FromUnsignedLong(value); } #if ENGINE_MINOR_VERSION >= 15 if (auto casted_prop = Cast(prop)) { - void *prop_addr = casted_prop->ContainerPtrToValuePtr(buffer); + void *prop_addr = casted_prop->ContainerPtrToValuePtr(buffer, index); uint64 enum_index = casted_prop->GetUnderlyingProperty()->GetUnsignedIntPropertyValue(prop_addr); return PyLong_FromUnsignedLong(enum_index); } @@ -1829,25 +1828,25 @@ PyObject *ue_py_convert_property(UProperty *prop, uint8 *buffer) if (auto casted_prop = Cast(prop)) { - FString value = casted_prop->GetPropertyValue_InContainer(buffer); + FString value = casted_prop->GetPropertyValue_InContainer(buffer, index); return PyUnicode_FromString(TCHAR_TO_UTF8(*value)); } if (auto casted_prop = Cast(prop)) { - FText value = casted_prop->GetPropertyValue_InContainer(buffer); + FText value = casted_prop->GetPropertyValue_InContainer(buffer, index); return PyUnicode_FromString(TCHAR_TO_UTF8(*value.ToString())); } if (auto casted_prop = Cast(prop)) { - FName value = casted_prop->GetPropertyValue_InContainer(buffer); + FName value = casted_prop->GetPropertyValue_InContainer(buffer, index); return PyUnicode_FromString(TCHAR_TO_UTF8(*value.ToString())); } if (auto casted_prop = Cast(prop)) { - auto value = casted_prop->GetObjectPropertyValue_InContainer(buffer); + auto value = casted_prop->GetObjectPropertyValue_InContainer(buffer, index); if (value) { Py_RETURN_UOBJECT(value); @@ -1857,7 +1856,7 @@ PyObject *ue_py_convert_property(UProperty *prop, uint8 *buffer) if (auto casted_prop = Cast(prop)) { - auto value = casted_prop->GetPropertyValue_InContainer(buffer); + auto value = casted_prop->GetPropertyValue_InContainer(buffer, index); if (value) { Py_RETURN_UOBJECT(value); @@ -1873,50 +1872,49 @@ PyObject *ue_py_convert_property(UProperty *prop, uint8 *buffer) // check for FVector if (casted_struct == TBaseStructure::Get()) { - FVector vec = *casted_prop->ContainerPtrToValuePtr(buffer); + FVector vec = *casted_prop->ContainerPtrToValuePtr(buffer, index); return py_ue_new_fvector(vec); } if (casted_struct == TBaseStructure::Get()) { - FRotator rot = *casted_prop->ContainerPtrToValuePtr(buffer); + FRotator rot = *casted_prop->ContainerPtrToValuePtr(buffer, index); return py_ue_new_frotator(rot); } if (casted_struct == TBaseStructure::Get()) { - FTransform transform = *casted_prop->ContainerPtrToValuePtr(buffer); + FTransform transform = *casted_prop->ContainerPtrToValuePtr(buffer, index); return py_ue_new_ftransform(transform); } if (casted_struct == FHitResult::StaticStruct()) { - FHitResult hit = *casted_prop->ContainerPtrToValuePtr(buffer); + FHitResult hit = *casted_prop->ContainerPtrToValuePtr(buffer, index); return py_ue_new_fhitresult(hit); } if (casted_struct == TBaseStructure::Get()) { - FColor color = *casted_prop->ContainerPtrToValuePtr(buffer); + FColor color = *casted_prop->ContainerPtrToValuePtr(buffer, index); return py_ue_new_fcolor(color); } if (casted_struct == TBaseStructure::Get()) { - FLinearColor color = *casted_prop->ContainerPtrToValuePtr(buffer); + FLinearColor color = *casted_prop->ContainerPtrToValuePtr(buffer, index); return py_ue_new_flinearcolor(color); } - return py_ue_new_uscriptstruct(casted_struct, casted_prop->ContainerPtrToValuePtr(buffer)); + return py_ue_new_uscriptstruct(casted_struct, casted_prop->ContainerPtrToValuePtr(buffer, index)); } return PyErr_Format(PyExc_TypeError, "unsupported UStruct type"); } if (auto casted_prop = Cast(prop)) { - auto value = casted_prop->GetPropertyValue_InContainer(buffer); + auto value = casted_prop->GetPropertyValue_InContainer(buffer, index); UObject *strong_obj = value.Get(); if (strong_obj) { Py_RETURN_UOBJECT(strong_obj); } // nullptr - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } if (auto casted_prop = Cast(prop)) @@ -1926,7 +1924,7 @@ PyObject *ue_py_convert_property(UProperty *prop, uint8 *buffer) if (auto casted_prop = Cast(prop)) { - FScriptArrayHelper_InContainer array_helper(casted_prop, buffer); + FScriptArrayHelper_InContainer array_helper(casted_prop, buffer, index); UProperty *array_prop = casted_prop->Inner; @@ -1941,7 +1939,7 @@ PyObject *ue_py_convert_property(UProperty *prop, uint8 *buffer) for (int i = 0; i < array_helper.Num(); i++) { - PyObject *item = ue_py_convert_property(array_prop, array_helper.GetRawPtr(i)); + PyObject *item = ue_py_convert_property(array_prop, array_helper.GetRawPtr(i), 0); if (!item) { Py_DECREF(py_list); @@ -1957,7 +1955,7 @@ PyObject *ue_py_convert_property(UProperty *prop, uint8 *buffer) #if ENGINE_MINOR_VERSION >= 15 if (auto casted_prop = Cast(prop)) { - FScriptMapHelper_InContainer map_helper(casted_prop, buffer); + FScriptMapHelper_InContainer map_helper(casted_prop, buffer, index); PyObject *py_dict = PyDict_New(); @@ -1968,14 +1966,14 @@ PyObject *ue_py_convert_property(UProperty *prop, uint8 *buffer) uint8 *ptr = map_helper.GetPairPtr(i); - PyObject *py_key = ue_py_convert_property(map_helper.KeyProp, ptr); + PyObject *py_key = ue_py_convert_property(map_helper.KeyProp, ptr, 0); if (!py_key) { Py_DECREF(py_dict); return NULL; } - PyObject *py_value = ue_py_convert_property(map_helper.ValueProp, ptr); + PyObject *py_value = ue_py_convert_property(map_helper.ValueProp, ptr, 0); if (!py_value) { Py_DECREF(py_dict); @@ -1996,7 +1994,7 @@ PyObject *ue_py_convert_property(UProperty *prop, uint8 *buffer) } // convert a python object to a property -bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) +bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, int32 index) { if (PyBool_Check(py_obj)) @@ -2006,11 +2004,11 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) return false; if (PyObject_IsTrue(py_obj)) { - casted_prop->SetPropertyValue_InContainer(buffer, true); + casted_prop->SetPropertyValue_InContainer(buffer, true, index); } else { - casted_prop->SetPropertyValue_InContainer(buffer, false); + casted_prop->SetPropertyValue_InContainer(buffer, false, index); } return true; } @@ -2020,42 +2018,42 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) if (auto casted_prop = Cast(prop)) { PyObject *py_long = PyNumber_Long(py_obj); - casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsLong(py_long)); + casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsLong(py_long), index); Py_DECREF(py_long); return true; } if (auto casted_prop = Cast(prop)) { PyObject *py_long = PyNumber_Long(py_obj); - casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsUnsignedLong(py_long)); + casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsUnsignedLong(py_long), index); Py_DECREF(py_long); return true; } if (auto casted_prop = Cast(prop)) { PyObject *py_long = PyNumber_Long(py_obj); - casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsLongLong(py_long)); + casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsLongLong(py_long), index); Py_DECREF(py_long); return true; } if (auto casted_prop = Cast(prop)) { PyObject *py_long = PyNumber_Long(py_obj); - casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsUnsignedLongLong(py_long)); + casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsUnsignedLongLong(py_long), index); Py_DECREF(py_long); return true; } if (auto casted_prop = Cast(prop)) { PyObject *py_float = PyNumber_Float(py_obj); - casted_prop->SetPropertyValue_InContainer(buffer, PyFloat_AsDouble(py_float)); + casted_prop->SetPropertyValue_InContainer(buffer, PyFloat_AsDouble(py_float), index); Py_DECREF(py_float); return true; } if (auto casted_prop = Cast(prop)) { PyObject *py_long = PyNumber_Long(py_obj); - casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsUnsignedLong(py_long)); + casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsUnsignedLong(py_long), index); Py_DECREF(py_long); return true; } @@ -2063,7 +2061,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) if (auto casted_prop = Cast(prop)) { PyObject *py_long = PyNumber_Long(py_obj); - void *prop_addr = casted_prop->ContainerPtrToValuePtr(buffer); + void *prop_addr = casted_prop->ContainerPtrToValuePtr(buffer, index); casted_prop->GetUnderlyingProperty()->SetIntPropertyValue(prop_addr, (uint64)PyLong_AsUnsignedLong(py_long)); Py_DECREF(py_long); return true; @@ -2078,17 +2076,17 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) { if (auto casted_prop = Cast(prop)) { - casted_prop->SetPropertyValue_InContainer(buffer, UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_obj))); + casted_prop->SetPropertyValue_InContainer(buffer, UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_obj)), index); return true; } if (auto casted_prop = Cast(prop)) { - casted_prop->SetPropertyValue_InContainer(buffer, UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_obj))); + casted_prop->SetPropertyValue_InContainer(buffer, UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_obj)), index); return true; } if (auto casted_prop = Cast(prop)) { - casted_prop->SetPropertyValue_InContainer(buffer, FText::FromString(UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_obj)))); + casted_prop->SetPropertyValue_InContainer(buffer, FText::FromString(UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_obj))), index); return true; } return false; @@ -2098,7 +2096,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) { if (auto casted_prop = Cast(prop)) { - FScriptArrayHelper_InContainer helper(casted_prop, buffer); + FScriptArrayHelper_InContainer helper(casted_prop, buffer, index); if (auto item_casted_prop = Cast(casted_prop->Inner)) { @@ -2128,7 +2126,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) { if (auto casted_prop = Cast(prop)) { - FScriptArrayHelper_InContainer helper(casted_prop, buffer); + FScriptArrayHelper_InContainer helper(casted_prop, buffer, index); if (auto item_casted_prop = Cast(casted_prop->Inner)) { @@ -2158,7 +2156,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) { if (auto casted_prop = Cast(prop)) { - FScriptArrayHelper_InContainer helper(casted_prop, buffer); + FScriptArrayHelper_InContainer helper(casted_prop, buffer, index); UProperty *array_prop = casted_prop->Inner; Py_ssize_t pylist_len = PyList_Size(py_obj); @@ -2176,7 +2174,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) for (int i = 0; i < (int)pylist_len; i++) { PyObject *py_item = PyList_GetItem(py_obj, i); - if (!ue_py_convert_pyobject(py_item, array_prop, helper.GetRawPtr(i))) + if (!ue_py_convert_pyobject(py_item, array_prop, helper.GetRawPtr(i), 0)) { return false; } @@ -2191,7 +2189,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) { if (auto casted_prop = Cast(prop)) { - FScriptArrayHelper_InContainer helper(casted_prop, buffer); + FScriptArrayHelper_InContainer helper(casted_prop, buffer, index); UProperty *array_prop = casted_prop->Inner; Py_ssize_t pytuple_len = PyTuple_Size(py_obj); @@ -2209,7 +2207,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) for (int i = 0; i < (int)pytuple_len; i++) { PyObject *py_item = PyTuple_GetItem(py_obj, i); - if (!ue_py_convert_pyobject(py_item, array_prop, helper.GetRawPtr(i))) + if (!ue_py_convert_pyobject(py_item, array_prop, helper.GetRawPtr(i), 0)) { return false; } @@ -2225,7 +2223,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) { if (auto casted_prop = Cast(prop)) { - FScriptMapHelper_InContainer map_helper(casted_prop, buffer); + FScriptMapHelper_InContainer map_helper(casted_prop, buffer, index); PyObject *py_key = nullptr; PyObject *py_value = nullptr; @@ -2235,15 +2233,15 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) while (PyDict_Next(py_obj, &pos, &py_key, &py_value)) { - int32 index = map_helper.AddDefaultValue_Invalid_NeedsRehash(); - uint8 *ptr = map_helper.GetPairPtr(index); + int32 hindex = map_helper.AddDefaultValue_Invalid_NeedsRehash(); + uint8 *ptr = map_helper.GetPairPtr(hindex); - if (!ue_py_convert_pyobject(py_key, casted_prop->KeyProp, ptr)) + if (!ue_py_convert_pyobject(py_key, casted_prop->KeyProp, ptr, 0)) { return false; } - if (!ue_py_convert_pyobject(py_value, casted_prop->ValueProp, ptr)) + if (!ue_py_convert_pyobject(py_value, casted_prop->ValueProp, ptr, 0)) { return false; } @@ -2265,7 +2263,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) { if (casted_prop->Struct == TBaseStructure::Get()) { - *casted_prop->ContainerPtrToValuePtr(buffer) = py_vec->vec; + *casted_prop->ContainerPtrToValuePtr(buffer, index) = py_vec->vec; return true; } } @@ -2278,7 +2276,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) { if (casted_prop->Struct == TBaseStructure::Get()) { - *casted_prop->ContainerPtrToValuePtr(buffer) = py_rot->rot; + *casted_prop->ContainerPtrToValuePtr(buffer, index) = py_rot->rot; return true; } } @@ -2291,7 +2289,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) { if (casted_prop->Struct == TBaseStructure::Get()) { - *casted_prop->ContainerPtrToValuePtr(buffer) = py_transform->transform; + *casted_prop->ContainerPtrToValuePtr(buffer, index) = py_transform->transform; return true; } } @@ -2304,7 +2302,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) { if (casted_prop->Struct == TBaseStructure::Get()) { - *casted_prop->ContainerPtrToValuePtr(buffer) = py_color->color; + *casted_prop->ContainerPtrToValuePtr(buffer, index) = py_color->color; return true; } } @@ -2317,7 +2315,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) { if (casted_prop->Struct == TBaseStructure::Get()) { - *casted_prop->ContainerPtrToValuePtr(buffer) = py_color->color; + *casted_prop->ContainerPtrToValuePtr(buffer, index) = py_color->color; return true; } } @@ -2330,7 +2328,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) { if (casted_prop->Struct == FHitResult::StaticStruct()) { - *casted_prop->ContainerPtrToValuePtr(buffer) = py_hit->hit; + *casted_prop->ContainerPtrToValuePtr(buffer, index) = py_hit->hit; return true; } } @@ -2345,7 +2343,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) { if (casted_prop->Struct == py_u_struct->u_struct) { - uint8 *dest = casted_prop->ContainerPtrToValuePtr(buffer); + uint8 *dest = casted_prop->ContainerPtrToValuePtr(buffer, index); FMemory::Memcpy(dest, py_u_struct->data, py_u_struct->u_struct->GetStructureSize()); return true; } @@ -2360,17 +2358,17 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) { if (auto casted_prop = Cast(prop)) { - casted_prop->SetPropertyValue_InContainer(buffer, ue_obj->ue_object); + casted_prop->SetPropertyValue_InContainer(buffer, ue_obj->ue_object, index); return true; } else if (auto casted_prop_soft_class = Cast(prop)) { - casted_prop_soft_class->SetPropertyValue_InContainer(buffer, FSoftObjectPtr(ue_obj->ue_object)); + casted_prop_soft_class->SetPropertyValue_InContainer(buffer, FSoftObjectPtr(ue_obj->ue_object), index); return true; } else if (auto casted_prop_soft_object = Cast(prop)) { - casted_prop_soft_object->SetPropertyValue_InContainer(buffer, FSoftObjectPtr(ue_obj->ue_object)); + casted_prop_soft_object->SetPropertyValue_InContainer(buffer, FSoftObjectPtr(ue_obj->ue_object), index); return true; } @@ -2385,7 +2383,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) // ensure the object type is correct, otherwise crash could happen (soon or later) if (!ue_obj->ue_object->IsA(casted_prop->PropertyClass)) return false; - casted_prop->SetObjectPropertyValue_InContainer(buffer, ue_obj->ue_object); + casted_prop->SetObjectPropertyValue_InContainer(buffer, ue_obj->ue_object, index); return true; } else if (auto casted_prop_soft_object = Cast(prop)) @@ -2393,7 +2391,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) { if (!ue_obj->ue_object->IsA(casted_prop_soft_object->PropertyClass)) return false; - casted_prop_soft_object->SetPropertyValue_InContainer(buffer, FSoftObjectPtr(ue_obj->ue_object)); + casted_prop_soft_object->SetPropertyValue_InContainer(buffer, FSoftObjectPtr(ue_obj->ue_object), index); return true; } @@ -2406,13 +2404,13 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer) auto casted_prop_class = Cast(prop); if (casted_prop_class) { - casted_prop_class->SetPropertyValue_InContainer(buffer, nullptr); + casted_prop_class->SetPropertyValue_InContainer(buffer, nullptr, index); return true; } auto casted_prop = Cast(prop); if (casted_prop) { - casted_prop->SetObjectPropertyValue_InContainer(buffer, nullptr); + casted_prop->SetObjectPropertyValue_InContainer(buffer, nullptr, index); return true; } return false; @@ -2618,8 +2616,8 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * #endif } #endif + } } - } Py_ssize_t tuple_len = PyTuple_Size(args); @@ -2638,7 +2636,7 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * py_ue_destroy_params(u_function, buffer); return PyErr_Format(PyExc_TypeError, "unable to get pyobject for property %s", TCHAR_TO_UTF8(*prop->GetName())); } - if (!ue_py_convert_pyobject(py_arg, prop, buffer)) + if (!ue_py_convert_pyobject(py_arg, prop, buffer, 0)) { py_ue_destroy_params(u_function, buffer); return PyErr_Format(PyExc_TypeError, "unable to convert pyobject to property %s (%s)", TCHAR_TO_UTF8(*prop->GetName()), TCHAR_TO_UTF8(*prop->GetClass()->GetName())); @@ -2650,7 +2648,7 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * PyObject *dict_value = PyDict_GetItemString(kwargs, prop_name); if (dict_value) { - if (!ue_py_convert_pyobject(dict_value, prop, buffer)) + if (!ue_py_convert_pyobject(dict_value, prop, buffer, 0)) { py_ue_destroy_params(u_function, buffer); return PyErr_Format(PyExc_TypeError, "unable to convert pyobject to property %s (%s)", TCHAR_TO_UTF8(*prop->GetName()), TCHAR_TO_UTF8(*prop->GetClass()->GetName())); @@ -2678,7 +2676,7 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * UProperty *prop = *Props; if (prop->GetPropertyFlags() & CPF_ReturnParm) { - ret = ue_py_convert_property(prop, buffer); + ret = ue_py_convert_property(prop, buffer, 0); if (!ret) { // destroy params @@ -2706,7 +2704,7 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * // skip return param as it must be always the first if (prop->GetPropertyFlags() & CPF_ReturnParm) continue; - PyObject *py_out = ue_py_convert_property(prop, buffer); + PyObject *py_out = ue_py_convert_property(prop, buffer, 0); if (!py_out) { Py_DECREF(multi_ret); @@ -2731,7 +2729,7 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * Py_INCREF(Py_None); return Py_None; -} + } PyObject *ue_bind_pyevent(ue_PyUObject *u_obj, FString event_name, PyObject *py_callable, bool fail_on_wrong_property) { @@ -3147,7 +3145,7 @@ bool do_ue_py_check_childstruct(PyObject *py_obj, UScriptStruct* parent_u_struct #if PY_MAJOR_VERSION >= 3 static PyObject *init_unreal_engine() { - + PyObject *new_unreal_engine_module = PyModule_Create(&unreal_engine_module); if (!new_unreal_engine_module) return nullptr; diff --git a/Source/UnrealEnginePython/Private/UEPyModule.h b/Source/UnrealEnginePython/Private/UEPyModule.h index 375245a1c..c6ef80e41 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.h +++ b/Source/UnrealEnginePython/Private/UEPyModule.h @@ -31,8 +31,8 @@ ue_PyUObject *ue_get_python_uobject(UObject *); ue_PyUObject *ue_get_python_uobject_inc(UObject *); UWorld *ue_get_uworld(ue_PyUObject *); AActor *ue_get_actor(ue_PyUObject *); -PyObject *ue_py_convert_property(UProperty *, uint8 *); -bool ue_py_convert_pyobject(PyObject *, UProperty *, uint8 *); +PyObject *ue_py_convert_property(UProperty *, uint8 *, int32); +bool ue_py_convert_pyobject(PyObject *, UProperty *, uint8 *, int32); ue_PyUObject *ue_is_pyuobject(PyObject *); void ue_bind_events_for_py_class_by_attribute(UObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp index 7b230baf8..da8747bb1 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp @@ -6,7 +6,8 @@ static PyObject *py_ue_uscriptstruct_get_field(ue_PyUScriptStruct *self, PyObject * args) { char *name; - if (!PyArg_ParseTuple(args, "s:get_field", &name)) + int index = 0; + if (!PyArg_ParseTuple(args, "s|i:get_field", &name, &index)) { return nullptr; } @@ -15,14 +16,30 @@ static PyObject *py_ue_uscriptstruct_get_field(ue_PyUScriptStruct *self, PyObjec if (!u_property) return PyErr_Format(PyExc_Exception, "unable to find property %s", name); - return ue_py_convert_property(u_property, self->data); + return ue_py_convert_property(u_property, self->data, index); +} + +static PyObject *py_ue_uscriptstruct_get_field_array_dim(ue_PyUScriptStruct *self, PyObject * args) +{ + char *name; + if (!PyArg_ParseTuple(args, "s:get_field_array_dim", &name)) + { + return nullptr; + } + + UProperty *u_property = self->u_struct->FindPropertyByName(FName(UTF8_TO_TCHAR(name))); + if (!u_property) + return PyErr_Format(PyExc_Exception, "unable to find property %s", name); + + return PyLong_FromLongLong(u_property->ArrayDim); } static PyObject *py_ue_uscriptstruct_set_field(ue_PyUScriptStruct *self, PyObject * args) { char *name; PyObject *value; - if (!PyArg_ParseTuple(args, "sO:set_field", &name, &value)) + int index = 0; + if (!PyArg_ParseTuple(args, "sO|i:set_field", &name, &value, &index)) { return nullptr; } @@ -32,7 +49,7 @@ static PyObject *py_ue_uscriptstruct_set_field(ue_PyUScriptStruct *self, PyObjec return PyErr_Format(PyExc_Exception, "unable to find property %s", name); - if (!ue_py_convert_pyobject(value, u_property, self->data)) + if (!ue_py_convert_pyobject(value, u_property, self->data, index)) { return PyErr_Format(PyExc_Exception, "unable to set property %s", name); } @@ -81,7 +98,7 @@ PyObject *py_ue_uscriptstruct_as_dict(ue_PyUScriptStruct * self, PyObject * args TFieldIterator SArgs(self->u_struct); for (; SArgs; ++SArgs) { - PyObject *struct_value = ue_py_convert_property(*SArgs, self->data); + PyObject *struct_value = ue_py_convert_property(*SArgs, self->data, 0); if (!struct_value) { Py_DECREF(py_struct_dict); @@ -113,6 +130,7 @@ static PyObject *py_ue_uscriptstruct_ref(ue_PyUScriptStruct *, PyObject *); static PyMethodDef ue_PyUScriptStruct_methods[] = { { "get_field", (PyCFunction)py_ue_uscriptstruct_get_field, METH_VARARGS, "" }, { "set_field", (PyCFunction)py_ue_uscriptstruct_set_field, METH_VARARGS, "" }, + { "get_field_array_dim", (PyCFunction)py_ue_uscriptstruct_get_field_array_dim, METH_VARARGS, "" }, { "fields", (PyCFunction)py_ue_uscriptstruct_fields, METH_VARARGS, "" }, { "get_struct", (PyCFunction)py_ue_uscriptstruct_get_struct, METH_VARARGS, "" }, { "clone", (PyCFunction)py_ue_uscriptstruct_clone, METH_VARARGS, "" }, @@ -175,7 +193,7 @@ static PyObject *ue_PyUScriptStruct_getattro(ue_PyUScriptStruct *self, PyObject { // swallow previous exception PyErr_Clear(); - return ue_py_convert_property(u_property, self->data); + return ue_py_convert_property(u_property, self->data, 0); } } } @@ -192,7 +210,7 @@ static int ue_PyUScriptStruct_setattro(ue_PyUScriptStruct *self, PyObject *attr_ UProperty *u_property = get_field_from_name(self->u_struct, attr); if (u_property) { - if (ue_py_convert_pyobject(value, u_property, self->data)) + if (ue_py_convert_pyobject(value, u_property, self->data, 0)) { return 0; } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp index 5420dd74a..3f8444a49 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp @@ -658,7 +658,8 @@ PyObject *py_ue_set_property(ue_PyUObject *self, PyObject * args) char *property_name; PyObject *property_value; - if (!PyArg_ParseTuple(args, "sO:set_property", &property_name, &property_value)) + int index = 0; + if (!PyArg_ParseTuple(args, "sO|i:set_property", &property_name, &property_value, &index)) { return NULL; } @@ -679,7 +680,7 @@ PyObject *py_ue_set_property(ue_PyUObject *self, PyObject * args) return PyErr_Format(PyExc_Exception, "unable to find property %s", property_name); - if (!ue_py_convert_pyobject(property_value, u_property, (uint8 *)self->ue_object)) + if (!ue_py_convert_pyobject(property_value, u_property, (uint8 *)self->ue_object, index)) { return PyErr_Format(PyExc_Exception, "unable to set property %s", property_name); } @@ -957,7 +958,8 @@ PyObject *py_ue_get_property(ue_PyUObject *self, PyObject * args) ue_py_check(self); char *property_name; - if (!PyArg_ParseTuple(args, "s:get_property", &property_name)) + int index = 0; + if (!PyArg_ParseTuple(args, "s|i:get_property", &property_name, &index)) { return NULL; } @@ -977,7 +979,36 @@ PyObject *py_ue_get_property(ue_PyUObject *self, PyObject * args) if (!u_property) return PyErr_Format(PyExc_Exception, "unable to find property %s", property_name); - return ue_py_convert_property(u_property, (uint8 *)self->ue_object); + return ue_py_convert_property(u_property, (uint8 *)self->ue_object, index); +} + +PyObject *py_ue_get_property_array_dim(ue_PyUObject *self, PyObject * args) +{ + + ue_py_check(self); + + char *property_name; + if (!PyArg_ParseTuple(args, "s:get_property_array_dim", &property_name)) + { + return NULL; + } + + UStruct *u_struct = nullptr; + + if (self->ue_object->IsA()) + { + u_struct = (UStruct *)self->ue_object; + } + else + { + u_struct = (UStruct *)self->ue_object->GetClass(); + } + + UProperty *u_property = u_struct->FindPropertyByName(FName(UTF8_TO_TCHAR(property_name))); + if (!u_property) + return PyErr_Format(PyExc_Exception, "unable to find property %s", property_name); + + return PyLong_FromLongLong(u_property->ArrayDim); } #if WITH_EDITOR @@ -1593,7 +1624,7 @@ PyObject *py_ue_as_dict(ue_PyUObject * self, PyObject * args) TFieldIterator SArgs(u_struct); for (; SArgs; ++SArgs) { - PyObject *struct_value = ue_py_convert_property(*SArgs, (uint8 *)u_object); + PyObject *struct_value = ue_py_convert_property(*SArgs, (uint8 *)u_object, 0); if (!struct_value) { Py_DECREF(py_struct_dict); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.h b/Source/UnrealEnginePython/Private/UObject/UEPyObject.h index a941f2ce9..fbdfea731 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.h @@ -23,6 +23,7 @@ PyObject *py_ue_get_property_struct(ue_PyUObject *, PyObject *); PyObject *py_ue_properties(ue_PyUObject *, PyObject *); PyObject *py_ue_call(ue_PyUObject *, PyObject *); PyObject *py_ue_get_property(ue_PyUObject *, PyObject *); +PyObject *py_ue_get_property_array_dim(ue_PyUObject *, PyObject *); PyObject *py_ue_get_uproperty(ue_PyUObject *, PyObject *); PyObject *py_ue_get_property_class(ue_PyUObject *, PyObject *); PyObject *py_ue_has_property(ue_PyUObject *, PyObject *); From 75a66aae7f3cb240478688b35130ab7ab00586c4 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 30 Mar 2018 09:48:23 +0200 Subject: [PATCH 108/538] added curve_generator script --- examples/curve_generator.py | 43 +++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 examples/curve_generator.py diff --git a/examples/curve_generator.py b/examples/curve_generator.py new file mode 100644 index 000000000..7c5582055 --- /dev/null +++ b/examples/curve_generator.py @@ -0,0 +1,43 @@ +import unreal_engine as ue +from unreal_engine.classes import CurveFloatFactory, CurveVectorFactory +from unreal_engine.structs import RichCurve, RichCurveKey +import time + +factory = CurveFloatFactory() + +curve = factory.factory_create_new('/Game/CustomFloatCurve' + str(int(time.time()))) + +keys = [] + +for i in range(0, 100): + keys.append(RichCurveKey(Time=i, Value=i)) + +# use ref() to set struct values on-the-fly +curve.FloatCurve.ref().Keys = keys + +curve.post_edit_change() + +ue.open_editor_for_asset(curve) + +factory = CurveVectorFactory() + +curve = factory.factory_create_new('/Game/CustomVectorCurve' + str(int(time.time()))) + +# one curve list for each axis +keys_x = [] +keys_y = [] +keys_z = [] + +for i in range(0, 100): + keys_x.append(RichCurveKey(Time=i * 0.1, Value=i * 0.1)) + keys_y.append(RichCurveKey(Time=i * 0.1, Value=i * 0.1)) + keys_z.append(RichCurveKey(Time=i * 0.1, Value=i * 0.1)) + +# FloatCurves is a native array, use property index (0=x, 1=y, 2=z) +curve.set_property('FloatCurves', RichCurve(Keys=keys_x), 0) +curve.set_property('FloatCurves', RichCurve(Keys=keys_y), 1) +curve.set_property('FloatCurves', RichCurve(Keys=keys_z), 2) + +curve.post_edit_change() + +ue.open_editor_for_asset(curve) \ No newline at end of file From 1260013001f851575a5ba55874fde915c69bde99 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 2 Apr 2018 17:52:31 +0200 Subject: [PATCH 109/538] fixed non editor build --- Source/UnrealEnginePython/Private/UEPyModule.cpp | 11 +++++++++-- .../Private/UObject/UEPySkeletal.cpp | 11 ++++++++++- .../Private/UnrealEnginePythonPrivatePCH.h | 2 ++ .../Private/Wrappers/UEPyFMorphTargetDelta.cpp | 2 +- .../Private/Wrappers/UEPyFSoftSkinVertex.cpp | 6 +++++- .../Private/Wrappers/UEPyFSoftSkinVertex.h | 6 ++++++ 6 files changed, 33 insertions(+), 5 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 570f5b9ce..da4c1d033 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -852,14 +852,18 @@ static PyMethodDef ue_PyUObject_methods[] = { { "skeleton_add_bone", (PyCFunction)py_ue_skeleton_add_bone, METH_VARARGS, "" }, #endif +#if WITH_EDITOR #if ENGINE_MINOR_VERSION > 12 { "skeletal_mesh_set_soft_vertices", (PyCFunction)py_ue_skeletal_mesh_set_soft_vertices, METH_VARARGS, "" }, { "skeletal_mesh_get_soft_vertices", (PyCFunction)py_ue_skeletal_mesh_get_soft_vertices, METH_VARARGS, "" }, #endif { "skeletal_mesh_get_lod", (PyCFunction)py_ue_skeletal_mesh_get_lod, METH_VARARGS, "" }, + { "skeletal_mesh_get_raw_indices", (PyCFunction)py_ue_skeletal_mesh_get_raw_indices, METH_VARARGS, "" }, +#endif { "skeletal_mesh_set_skeleton", (PyCFunction)py_ue_skeletal_mesh_set_skeleton, METH_VARARGS, "" }, +#if WITH_EDITOR #if ENGINE_MINOR_VERSION > 12 { "skeletal_mesh_get_bone_map", (PyCFunction)py_ue_skeletal_mesh_get_bone_map, METH_VARARGS, "" }, { "skeletal_mesh_set_bone_map", (PyCFunction)py_ue_skeletal_mesh_set_bone_map, METH_VARARGS, "" }, @@ -870,17 +874,18 @@ static PyMethodDef ue_PyUObject_methods[] = { { "skeletal_mesh_get_required_bones", (PyCFunction)py_ue_skeletal_mesh_get_required_bones, METH_VARARGS, "" }, { "skeletal_mesh_lods_num", (PyCFunction)py_ue_skeletal_mesh_lods_num, METH_VARARGS, "" }, { "skeletal_mesh_sections_num", (PyCFunction)py_ue_skeletal_mesh_sections_num, METH_VARARGS, "" }, -#if WITH_EDITOR + #pragma warning(suppress: 4191) { "skeletal_mesh_build_lod", (PyCFunction)py_ue_skeletal_mesh_build_lod, METH_VARARGS | METH_KEYWORDS, "" }, #endif { "skeletal_mesh_register_morph_target", (PyCFunction)py_ue_skeletal_mesh_register_morph_target, METH_VARARGS, "" }, +#if WITH_EDITOR { "skeletal_mesh_to_import_vertex_map", (PyCFunction)py_ue_skeletal_mesh_to_import_vertex_map, METH_VARARGS, "" }, { "morph_target_populate_deltas", (PyCFunction)py_ue_morph_target_populate_deltas, METH_VARARGS, "" }, { "morph_target_get_deltas", (PyCFunction)py_ue_morph_target_get_deltas, METH_VARARGS, "" }, - +#endif // Timer { "set_timer", (PyCFunction)py_ue_set_timer, METH_VARARGS, "" }, @@ -1432,7 +1437,9 @@ void unreal_engine_init_py_module() ue_python_init_fraw_anim_sequence_track(new_unreal_engine_module); +#if WITH_EDITOR ue_python_init_fsoft_skin_vertex(new_unreal_engine_module); +#endif ue_python_init_fmorph_target_delta(new_unreal_engine_module); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp index 3d11753e7..00dd975f0 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp @@ -197,6 +197,8 @@ PyObject *py_ue_skeleton_add_bone(ue_PyUObject *self, PyObject * args) } #endif +#if WITH_EDITOR + #if ENGINE_MINOR_VERSION > 12 PyObject *py_ue_skeletal_mesh_set_soft_vertices(ue_PyUObject *self, PyObject * args) { @@ -276,6 +278,7 @@ PyObject *py_ue_skeletal_mesh_set_soft_vertices(ue_PyUObject *self, PyObject * a } #endif + #if ENGINE_MINOR_VERSION > 12 PyObject *py_ue_skeletal_mesh_get_soft_vertices(ue_PyUObject *self, PyObject * args) { @@ -391,6 +394,7 @@ PyObject *py_ue_skeletal_mesh_get_lod(ue_PyUObject *self, PyObject * args) return py_list; } + PyObject *py_ue_skeletal_mesh_get_raw_indices(ue_PyUObject *self, PyObject * args) { @@ -436,6 +440,7 @@ PyObject *py_ue_skeletal_mesh_get_raw_indices(ue_PyUObject *self, PyObject * arg return py_list; } +#endif PyObject *py_ue_skeletal_mesh_set_skeleton(ue_PyUObject * self, PyObject * args) { @@ -472,6 +477,7 @@ PyObject *py_ue_skeletal_mesh_set_skeleton(ue_PyUObject * self, PyObject * args) Py_RETURN_NONE; } +#if WITH_EDITOR #if ENGINE_MINOR_VERSION > 12 PyObject *py_ue_skeletal_mesh_set_bone_map(ue_PyUObject *self, PyObject * args) { @@ -808,7 +814,9 @@ PyObject *py_ue_skeletal_mesh_set_required_bones(ue_PyUObject *self, PyObject * Py_RETURN_NONE; } +#endif +#if WITH_EDITOR PyObject *py_ue_skeletal_mesh_lods_num(ue_PyUObject *self, PyObject * args) { ue_py_check(self); @@ -850,7 +858,6 @@ PyObject *py_ue_skeletal_mesh_sections_num(ue_PyUObject *self, PyObject * args) return PyLong_FromLong(resource->LODModels[lod_index].Sections.Num()); } -#if WITH_EDITOR PyObject *py_ue_skeletal_mesh_build_lod(ue_PyUObject *self, PyObject * args, PyObject * kwargs) { ue_py_check(self); @@ -1086,6 +1093,7 @@ PyObject *py_ue_skeletal_mesh_register_morph_target(ue_PyUObject *self, PyObject Py_RETURN_NONE; } +#if WITH_EDITOR PyObject *py_ue_morph_target_populate_deltas(ue_PyUObject *self, PyObject * args) { ue_py_check(self); @@ -1210,3 +1218,4 @@ PyObject *py_ue_skeletal_mesh_to_import_vertex_map(ue_PyUObject *self, PyObject return py_list; } +#endif diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h index 6bd720b0a..43f76dc8c 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h +++ b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h @@ -47,7 +47,9 @@ #include "Wrappers/UEPyFRandomStream.h" #include "Wrappers/UEPyFPythonOutputDevice.h" +#if WITH_EDITOR #include "Wrappers/UEPyFSoftSkinVertex.h" +#endif #include "Wrappers/UEPyFMorphTargetDelta.h" #include "Wrappers/UEPyFObjectThumbnail.h" diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFMorphTargetDelta.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFMorphTargetDelta.cpp index 0b39d4073..d4ff05d7b 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFMorphTargetDelta.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFMorphTargetDelta.cpp @@ -73,7 +73,7 @@ static PyObject *ue_PyFMorphTargetDelta_str(ue_PyFMorphTargetDelta *self) static PyTypeObject ue_PyFMorphTargetDeltaType = { PyVarObject_HEAD_INIT(NULL, 0) "unreal_engine.FMorphTargetDelta", /* tp_name */ - sizeof(ue_PyFSoftSkinVertex), /* tp_basicsize */ + sizeof(ue_PyFMorphTargetDelta), /* tp_basicsize */ 0, /* tp_itemsize */ 0, /* tp_dealloc */ 0, /* tp_print */ diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFSoftSkinVertex.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSoftSkinVertex.cpp index 1cce29b12..bdddc1e70 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFSoftSkinVertex.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSoftSkinVertex.cpp @@ -1,5 +1,7 @@ #include "UnrealEnginePythonPrivatePCH.h" +#if WITH_EDITOR + static PyObject *py_ue_fsoft_skin_vertex_get_color(ue_PyFSoftSkinVertex *self, void *closure) { return py_ue_new_fcolor(self->ss_vertex.Color); @@ -361,4 +363,6 @@ PyObject *py_ue_new_fsoft_skin_vertex(FSoftSkinVertex ss_vertex) ue_PyFSoftSkinVertex *ret = (ue_PyFSoftSkinVertex *)PyObject_New(ue_PyFSoftSkinVertex, &ue_PyFSoftSkinVertexType); new(&ret->ss_vertex) FSoftSkinVertex(ss_vertex); return (PyObject *)ret; -} \ No newline at end of file +} + +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFSoftSkinVertex.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSoftSkinVertex.h index edc386582..7a61535ae 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFSoftSkinVertex.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSoftSkinVertex.h @@ -1,6 +1,8 @@ #pragma once #include "UnrealEnginePython.h" +#if WITH_EDITOR + #include "Runtime/Engine/Public/SkeletalMeshTypes.h" #if ENGINE_MINOR_VERSION > 18 @@ -12,7 +14,9 @@ struct ue_PyFSoftSkinVertex { PyObject_HEAD /* Type-specific fields go here. */ + FSoftSkinVertex ss_vertex; + uint16 material_index; uint32 smoothing_group; }; @@ -22,3 +26,5 @@ void ue_python_init_fsoft_skin_vertex(PyObject *); PyObject *py_ue_new_fsoft_skin_vertex(FSoftSkinVertex); ue_PyFSoftSkinVertex *py_ue_is_fsoft_skin_vertex(PyObject *); + +#endif From 2af4ebb66a8e347d65045697e04ccf62794e907f Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 2 Apr 2018 18:16:46 +0200 Subject: [PATCH 110/538] fixed #363 --- Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.cpp index e91f2dc49..3ab29cc8f 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.cpp @@ -28,7 +28,9 @@ static PyObject *py_ue_ftransform_get_relative_transform(ue_PyFTransform *self, static PyObject *py_ue_ftransform_get_matrix(ue_PyFTransform *self, PyObject * args) { - FMatrix matrix = self->transform.ToMatrixWithScale(); + FTransform transform = self->transform; + transform.NormalizeRotation(); + FMatrix matrix = transform.ToMatrixWithScale(); UScriptStruct *u_struct = FindObject(ANY_PACKAGE, UTF8_TO_TCHAR("Matrix")); if (!u_struct) { From e61e0021a4f0c34c7b7b6c5c5b1bc1987c693eeb Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 3 Apr 2018 10:15:29 +0200 Subject: [PATCH 111/538] removed useless debug --- Source/UnrealEnginePython/Private/UEPyModule.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index da4c1d033..da999c148 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -125,7 +125,6 @@ static PyObject *py_ue_get_py_proxy(ue_PyUObject *self, PyObject * args) if (self->py_proxy) { Py_INCREF(self->py_proxy); - UE_LOG(LogPython, Error, TEXT("PROXY %d"), self->py_proxy->ob_refcnt); return (PyObject *)self->py_proxy; } From b44186fd6796c15c92a227da8863915bfd5b5b65 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 3 Apr 2018 19:30:20 +0200 Subject: [PATCH 112/538] fixed refcnt bug in deferred actor spawn, #364 --- Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp index f705074ef..916bfa60f 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp @@ -791,7 +791,7 @@ PyObject *py_ue_actor_spawn(ue_PyUObject * self, PyObject * args, PyObject *kwar AActor *actor = world->SpawnActorDeferred(u_class, transform); if (!actor) return PyErr_Format(PyExc_Exception, "unable to spawn a new Actor"); - ue_PyUObject *py_actor = ue_get_python_uobject(actor); + ue_PyUObject *py_actor = ue_get_python_uobject_inc(actor); if (!py_actor) return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); @@ -802,6 +802,7 @@ PyObject *py_ue_actor_spawn(ue_PyUObject * self, PyObject * args, PyObject *kwar PyObject *void_ret = py_ue_set_property(py_actor, Py_BuildValue("OO", py_key, PyDict_GetItem(kwargs, py_key))); if (!void_ret) { + Py_DECREF(py_iter); return PyErr_Format(PyExc_Exception, "unable to set property for new Actor"); } } From 09157b7d0a76d524ebe18f3e8a6567e4d7cc6e2a Mon Sep 17 00:00:00 2001 From: efeng Date: Wed, 4 Apr 2018 16:52:17 +1200 Subject: [PATCH 113/538] Added "set static switch parameter" for material instance --- .../UnrealEnginePython/Private/UEPyModule.cpp | 1 + .../Private/UObject/UEPyMaterial.cpp | 67 +++++++++++++++++++ .../Private/UObject/UEPyMaterial.h | 1 + 3 files changed, 69 insertions(+) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index da999c148..4b82e9fbc 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -943,6 +943,7 @@ static PyMethodDef ue_PyUObject_methods[] = { // Material { "set_material", (PyCFunction)py_ue_set_material, METH_VARARGS, "" }, { "set_material_scalar_parameter", (PyCFunction)py_ue_set_material_scalar_parameter, METH_VARARGS, "" }, + { "set_material_static_switch_parameter", (PyCFunction)py_ue_set_material_static_switch_parameter, METH_VARARGS, "" }, { "set_material_vector_parameter", (PyCFunction)py_ue_set_material_vector_parameter, METH_VARARGS, "" }, { "set_material_texture_parameter", (PyCFunction)py_ue_set_material_texture_parameter, METH_VARARGS, "" }, { "get_material_scalar_parameter", (PyCFunction)py_ue_get_material_scalar_parameter, METH_VARARGS, "" }, diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp index 381e3ee6a..50c26b099 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp @@ -48,6 +48,73 @@ PyObject *py_ue_set_material_scalar_parameter(ue_PyUObject *self, PyObject * arg } +PyObject *py_ue_set_material_static_switch_parameter(ue_PyUObject *self, PyObject * args) +{ + + ue_py_check(self); + + char *switchName = nullptr; + PyObject *py_bool = nullptr; + if (!PyArg_ParseTuple(args, "sO:set_material_static_switch_parameter", &switchName, &py_bool)) + { + return NULL; + } + + FName parameterName(UTF8_TO_TCHAR(switchName)); + + bool switchValue = false; + if (PyObject_IsTrue(py_bool)) + { + switchValue = true; + } + + bool valid = false; + +#if WITH_EDITOR + if (self->ue_object->IsA()) + { + UMaterialInstance *material_instance = (UMaterialInstance *)self->ue_object; + valid = true; + FStaticParameterSet staticParameterSet = material_instance->GetStaticParameters(); + + bool isExisting = false; + for (auto& parameter : staticParameterSet.StaticSwitchParameters) + { + if (parameter.bOverride && parameter.ParameterInfo.Name == parameterName) + { + parameter.Value = switchValue; + isExisting = true; + break; + } + } + + if (!isExisting) + { + FStaticSwitchParameter SwitchParameter; + SwitchParameter.ParameterInfo.Name = parameterName; + SwitchParameter.Value = switchValue; + + SwitchParameter.bOverride = true; + staticParameterSet.StaticSwitchParameters.Add(SwitchParameter); + } + + + material_instance->UpdateStaticPermutation(staticParameterSet); + + } + + +#endif + + if (!valid) + { + return PyErr_Format(PyExc_Exception, "uobject is not a MaterialInstance"); + } + + Py_RETURN_NONE; + +} + PyObject *py_ue_get_material_scalar_parameter(ue_PyUObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.h b/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.h index a97a13082..e5d0b07ec 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.h @@ -5,6 +5,7 @@ PyObject *py_ue_set_material_scalar_parameter(ue_PyUObject *, PyObject *); +PyObject *py_ue_set_material_static_switch_parameter(ue_PyUObject *, PyObject *); PyObject *py_ue_set_material_vector_parameter(ue_PyUObject *, PyObject *); PyObject *py_ue_set_material_texture_parameter(ue_PyUObject *, PyObject *); From e1965f8c1e57b5320d8c774c4621a25b1b8e6c98 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 6 Apr 2018 18:32:39 +0200 Subject: [PATCH 114/538] added support for UInterfaceProperty, fixes #366 --- Source/UnrealEnginePython/Private/UEPyModule.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index da999c148..a28d4fd84 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -2393,14 +2393,20 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in return true; } else if (auto casted_prop_soft_object = Cast(prop)) - { if (!ue_obj->ue_object->IsA(casted_prop_soft_object->PropertyClass)) return false; casted_prop_soft_object->SetPropertyValue_InContainer(buffer, FSoftObjectPtr(ue_obj->ue_object), index); return true; } - + else if (auto casted_prop_interface = Cast(prop)) + { + // ensure the object type is correct, otherwise crash could happen (soon or later) + if (!ue_obj->ue_object->GetClass()->ImplementsInterface(casted_prop_interface->InterfaceClass)) + return false; + casted_prop_interface->SetPropertyValue_InContainer(buffer, FScriptInterface(ue_obj->ue_object), index); + return true; + } } return false; } @@ -2622,8 +2628,8 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * #endif } #endif - } } + } Py_ssize_t tuple_len = PyTuple_Size(args); @@ -2735,7 +2741,7 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * Py_INCREF(Py_None); return Py_None; - } +} PyObject *ue_bind_pyevent(ue_PyUObject *u_obj, FString event_name, PyObject *py_callable, bool fail_on_wrong_property) { @@ -3102,7 +3108,7 @@ UFunction *unreal_engine_add_function(UClass *u_class, char *name, PyObject *py_ #endif return function; -} + } FGuid *ue_py_check_fguid(PyObject *py_obj) { From 80522da49efe9eba8242360a5a5312ca35ea7e1e Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 6 Apr 2018 18:40:36 +0200 Subject: [PATCH 115/538] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f18f3d6b9..c133cfe88 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # UnrealEnginePython Embed Python in Unreal Engine 4 -Teaser: https://twitter.com/KNLstudio/status/932657812466843648 +Teaser (by Kite & Lightning): https://twitter.com/KNLstudio/status/932657812466843648 # How and Why ? @@ -28,6 +28,8 @@ The currently supported Unreal Engine versions are 4.12, 4.13, 4.14, 4.15, 4.16, We support official python.org releases as well as IntelPython and Anaconda distributions. +Note: this plugin has nothing to do with the experimental 'PythonScriptPlugin' included in Unreal Engine >= 4.19. This plugin aims at full integration with engine and editor (included the Slate api), as well as support for the vast majority of python features like asyncio, coroutines, threads and third party modules. + # Binary installation on Windows (64 bit) Check in the releases page (https://github.com/20tab/UnrealEnginePython/releases) if there is a binary version that matches your configuration (otherwise open an issue asking us for it [please specify the python version too]) and download it. From fdc97131ab8a69cefe1840b0d99207214197e06d Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 6 Apr 2018 18:41:12 +0200 Subject: [PATCH 116/538] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c133cfe88..47ae8b15e 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ The currently supported Unreal Engine versions are 4.12, 4.13, 4.14, 4.15, 4.16, We support official python.org releases as well as IntelPython and Anaconda distributions. -Note: this plugin has nothing to do with the experimental 'PythonScriptPlugin' included in Unreal Engine >= 4.19. This plugin aims at full integration with engine and editor (included the Slate api), as well as support for the vast majority of python features like asyncio, coroutines, threads and third party modules. +Note: this plugin has nothing to do with the experimental 'PythonScriptPlugin' included in Unreal Engine >= 4.19. This plugin aims at full integration with engine and editor (included the Slate api), as well as support for the vast majority of python features like asyncio, coroutines, generators, threads and third party modules. # Binary installation on Windows (64 bit) From eefcf3d64133bbc341ef4b0a260f4f45c1d54e0b Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 7 Apr 2018 17:24:56 +0200 Subject: [PATCH 117/538] refactored slate api for new memory management system --- .../Private/Slate/UEPyFMenuBuilder.cpp | 2 +- .../Private/Slate/UEPyFToolBarBuilder.cpp | 5 +- .../Private/Slate/UEPyIDetailsView.cpp | 62 ++--- .../Private/Slate/UEPySAssetDropTarget.cpp | 10 +- .../Private/Slate/UEPySBorder.cpp | 60 +++-- .../Private/Slate/UEPySBox.cpp | 21 +- .../Private/Slate/UEPySBoxPanel.cpp | 7 +- .../Private/Slate/UEPySButton.cpp | 23 +- .../Private/Slate/UEPySCanvas.cpp | 25 +-- .../Private/Slate/UEPySCheckBox.cpp | 22 +- .../Private/Slate/UEPySColorBlock.cpp | 10 +- .../Private/Slate/UEPySCompoundWidget.cpp | 13 +- .../Private/Slate/UEPySDockTab.cpp | 39 ++-- .../Private/Slate/UEPySEditableTextBox.cpp | 55 +++-- .../Private/Slate/UEPySEditorViewport.cpp | 23 +- .../Private/Slate/UEPySFilePathPicker.cpp | 10 +- .../Private/Slate/UEPySGraphEditor.cpp | 24 +- .../Private/Slate/UEPySGraphPanel.cpp | 212 +++++++++--------- .../Private/Slate/UEPySGridPanel.cpp | 43 ++-- .../Private/Slate/UEPySHeaderRow.cpp | 107 ++++----- .../Private/Slate/UEPySHorizontalBox.cpp | 101 ++++----- .../Private/Slate/UEPySImage.cpp | 44 ++-- .../Private/Slate/UEPySLevelViewport.cpp | 42 ++-- .../Slate/UEPySMultiLineEditableText.cpp | 61 ++--- .../Private/Slate/UEPySNodePanel.cpp | 2 - .../Private/Slate/UEPySNumericEntryBox.cpp | 4 +- .../Slate/UEPySObjectPropertyEntryBox.cpp | 11 +- .../Private/Slate/UEPySOverlay.cpp | 31 +-- .../Private/Slate/UEPySProgressBar.cpp | 22 +- .../Private/Slate/UEPySPythonComboBox.cpp | 76 ++++--- .../Slate/UEPySPythonEditorViewport.cpp | 84 +++---- .../Private/Slate/UEPySPythonListView.cpp | 206 +++++++++-------- .../Slate/UEPySPythonMultiColumnTableRow.cpp | 49 ++-- .../Slate/UEPySPythonMultiColumnTableRow.h | 175 ++++++++------- .../Private/Slate/UEPySPythonShelf.cpp | 6 +- .../Private/Slate/UEPySPythonTreeView.cpp | 8 +- .../Private/Slate/UEPySPythonWidget.cpp | 51 ++--- .../Private/Slate/UEPySRotatorInputBox.cpp | 10 +- .../Private/Slate/UEPySScrollBox.cpp | 25 +-- .../Private/Slate/UEPySSlider.cpp | 33 +-- .../Private/Slate/UEPySSpacer.cpp | 2 +- .../Private/Slate/UEPySSplitter.cpp | 20 +- .../Private/Slate/UEPySTableViewBase.cpp | 31 ++- .../Private/Slate/UEPySTextBlock.cpp | 51 +++-- .../Private/Slate/UEPySTreeView.cpp | 8 +- .../Private/Slate/UEPySVectorInputBox.cpp | 12 +- .../Private/Slate/UEPySVerticalBox.cpp | 43 ++-- .../Private/Slate/UEPySViewport.cpp | 21 +- .../Private/Slate/UEPySWidget.cpp | 118 +++++----- .../Private/Slate/UEPySWidget.h | 26 ++- .../Private/Slate/UEPySWindow.cpp | 72 +++--- .../Private/Slate/UEPySlate.cpp | 109 ++++----- .../Private/Slate/UEPySlate.h | 52 ++--- .../UEPyFSlateApplication.cpp | 10 +- .../Private/UObject/UEPyCapture.cpp | 12 +- .../Private/UObject/UEPyViewport.cpp | 20 +- .../Private/UObject/UEPyWidgetComponent.cpp | 12 +- .../Public/PythonHouseKeeper.h | 30 +-- 58 files changed, 1236 insertions(+), 1227 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp index 1b128f24f..27c503a07 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp @@ -32,7 +32,7 @@ static PyObject *py_ue_fmenu_builder_end_section(ue_PyFMenuBuilder *self, PyObje static PyObject *py_ue_fmenu_builder_make_widget(ue_PyFMenuBuilder *self, PyObject * args) { ue_PySWidget *ret = (ue_PySWidget *)PyObject_New(ue_PySWidget, &ue_PySWidgetType); - new (&ret->s_widget) TSharedRef(self->menu_builder.MakeWidget()); + new (&ret->Widget) TSharedRef(self->menu_builder.MakeWidget()); return (PyObject *)ret; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp index 8a5fe212f..8b10d3222 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp @@ -102,10 +102,7 @@ static PyObject *py_ue_ftool_bar_builder_end_block_group(ue_PyFToolBarBuilder *s static PyObject *py_ue_ftool_bar_builder_make_widget(ue_PyFToolBarBuilder *self, PyObject * args) { - ue_PySWidget *ret = (ue_PySWidget *)PyObject_New(ue_PySWidget, &ue_PySWidgetType); - ue_py_setup_swidget(ret); - ret->s_widget = self->tool_bar_builder.MakeWidget(); - return (PyObject *)ret; + return (PyObject *)py_ue_new_swidget(self->tool_bar_builder.MakeWidget(), &ue_PySWidgetType); } static PyMethodDef ue_PyFToolBarBuilder_methods[] = { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyIDetailsView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyIDetailsView.cpp index 3fb5f2c1c..57461571d 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyIDetailsView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyIDetailsView.cpp @@ -8,40 +8,40 @@ #include "UEPyIDetailsView.h" -#define sw_idetails_view StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) - static PyObject *py_ue_idetails_view_set_object(ue_PyIDetailsView *self, PyObject * args, PyObject *kwargs) { - PyObject *py_in_obj = nullptr; - PyObject *py_force_refresh = nullptr; + ue_py_slate_cast(IDetailsView); + + PyObject *py_in_obj = nullptr; + PyObject *py_force_refresh = nullptr; - char *kwlist[] = { - (char *)"uobject", - (char *)"force_refresh", - nullptr - }; + char *kwlist[] = { + (char *)"uobject", + (char *)"force_refresh", + nullptr + }; - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|O:set_object", kwlist, &py_in_obj, &py_force_refresh)) - { - return nullptr; - } + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|O:set_object", kwlist, &py_in_obj, &py_force_refresh)) + { + return nullptr; + } - UObject *u_object = ue_py_check_type(py_in_obj); - if (!u_object) - { - return PyErr_Format(PyExc_Exception, "argument is not a UObject"); - } + UObject *u_object = ue_py_check_type(py_in_obj); + if (!u_object) + { + return PyErr_Format(PyExc_Exception, "argument is not a UObject"); + } - const bool bForceRefresh = py_force_refresh && PyObject_IsTrue(py_force_refresh); + const bool bForceRefresh = py_force_refresh && PyObject_IsTrue(py_force_refresh); - sw_idetails_view->SetObject(u_object, bForceRefresh); + py_IDetailsView->SetObject(u_object, bForceRefresh); - Py_RETURN_NONE; + Py_RETURN_NONE; } static PyMethodDef ue_PyIDetailsView_methods[] = { #pragma warning(suppress: 4191) - { "set_object", (PyCFunction)py_ue_idetails_view_set_object, METH_VARARGS | METH_KEYWORDS, "" }, + { "set_object", (PyCFunction)py_ue_idetails_view_set_object, METH_VARARGS | METH_KEYWORDS, "" }, { NULL } /* Sentinel */ }; @@ -73,24 +73,24 @@ PyTypeObject ue_PyIDetailsViewType = { 0, /* tp_weaklistoffset */ 0, /* tp_iter */ 0, /* tp_iternext */ - ue_PyIDetailsView_methods, /* tp_methods */ + ue_PyIDetailsView_methods, /* tp_methods */ }; void ue_python_init_idetails_view(PyObject *ue_module) { - ue_PyIDetailsViewType.tp_base = &ue_PySCompoundWidgetType; + ue_PyIDetailsViewType.tp_base = &ue_PySCompoundWidgetType; - if (PyType_Ready(&ue_PyIDetailsViewType) < 0) - return; + if (PyType_Ready(&ue_PyIDetailsViewType) < 0) + return; - Py_INCREF(&ue_PyIDetailsViewType); - PyModule_AddObject(ue_module, "IDetailsView", (PyObject *)&ue_PyIDetailsViewType); + Py_INCREF(&ue_PyIDetailsViewType); + PyModule_AddObject(ue_module, "IDetailsView", (PyObject *)&ue_PyIDetailsViewType); } ue_PyIDetailsView *py_ue_is_idetails_view(PyObject *obj) { - if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyIDetailsViewType)) - return nullptr; - return (ue_PyIDetailsView *)obj; + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyIDetailsViewType)) + return nullptr; + return (ue_PyIDetailsView *)obj; } #endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySAssetDropTarget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySAssetDropTarget.cpp index a3cc0df61..68aef5430 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySAssetDropTarget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySAssetDropTarget.cpp @@ -3,8 +3,6 @@ #include "UEPySAssetDropTarget.h" -#define sw_asset_drop_target StaticCastSharedRef(self->s_drop_target.s_compound_widget.s_widget.s_widget) - static PyMethodDef ue_PySAssetDropTarget_methods[] = { { NULL } /* Sentinel */ @@ -41,14 +39,16 @@ PyTypeObject ue_PySAssetDropTargetType = { ue_PySAssetDropTarget_methods, /* tp_methods */ }; -static int ue_py_sasset_drop_target_init(ue_PySAssetDropTarget *self, PyObject *args, PyObject *kwargs) { +static int ue_py_sasset_drop_target_init(ue_PySAssetDropTarget *self, PyObject *args, PyObject *kwargs) +{ ue_py_slate_setup_farguments(SAssetDropTarget); - ue_py_snew(SAssetDropTarget, s_drop_target.s_compound_widget.s_widget); + ue_py_snew(SAssetDropTarget); return 0; } -void ue_python_init_sasset_drop_target(PyObject *ue_module) { +void ue_python_init_sasset_drop_target(PyObject *ue_module) +{ ue_PySAssetDropTargetType.tp_init = (initproc)ue_py_sasset_drop_target_init; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySBorder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySBorder.cpp index 198307ed5..ccb311495 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySBorder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySBorder.cpp @@ -4,46 +4,41 @@ #include "UEPySBorder.h" -#define sw_border StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) - static PyObject *py_ue_sborder_clear_content(ue_PySBorder *self, PyObject * args) { - - sw_border->ClearContent(); + ue_py_slate_cast(SBorder); + py_SBorder->ClearContent(); Py_RETURN_NONE; } static PyObject *py_ue_sborder_set_content(ue_PySBorder *self, PyObject * args) { + ue_py_slate_cast(SBorder); + PyObject *py_content; if (!PyArg_ParseTuple(args, "O:set_content", &py_content)) { - return NULL; - } - - ue_PySWidget *py_swidget = py_ue_is_swidget(py_content); - if (!py_swidget) - { - return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); + return nullptr; } + TSharedPtr child = py_ue_is_swidget(py_content); + if (!child.IsValid()) + return nullptr; - Py_INCREF(py_swidget); + py_SBorder->SetContent(child.ToSharedRef()); - - sw_border->SetContent(py_swidget->s_widget->AsShared()); - - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_sborder_set_padding(ue_PySBorder *self, PyObject * args) { + ue_py_slate_cast(SBorder); + PyObject *py_padding; if (!PyArg_ParseTuple(args, "O:set_padding", &py_padding)) { - return NULL; + return nullptr; } FMargin *margin = ue_py_check_struct(py_padding); @@ -59,42 +54,42 @@ static PyObject *py_ue_sborder_set_padding(ue_PySBorder *self, PyObject * args) Py_DECREF(py_float); } - sw_border->SetPadding(*margin); + py_SBorder->SetPadding(*margin); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_sborder_set_h_align(ue_PySBorder *self, PyObject * args) { + ue_py_slate_cast(SBorder); int align; if (!PyArg_ParseTuple(args, "i:set_h_align", &align)) { - return NULL; + return nullptr; } - sw_border->SetHAlign((EHorizontalAlignment)align); + py_SBorder->SetHAlign((EHorizontalAlignment)align); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_sborder_set_v_align(ue_PySBorder *self, PyObject * args) { + ue_py_slate_cast(SBorder); int align; if (!PyArg_ParseTuple(args, "i:set_v_align", &align)) { - return NULL; + return nullptr; } - sw_border->SetVAlign((EVerticalAlignment)align); + py_SBorder->SetVAlign((EVerticalAlignment)align); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_sborder_set_border_image(ue_PySBorder *self, PyObject * args) { + ue_py_slate_cast(SBorder); PyObject *py_brush; if (!PyArg_ParseTuple(args, "O:set_border_image", &py_brush)) { @@ -105,10 +100,9 @@ static PyObject *py_ue_sborder_set_border_image(ue_PySBorder *self, PyObject * a if (!brush) return PyErr_Format(PyExc_Exception, "argument is not a FSlateBrush"); - sw_border->SetBorderImage(brush); + py_SBorder->SetBorderImage(brush); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyMethodDef ue_PySBorder_methods[] = { @@ -165,7 +159,7 @@ static int ue_py_sborder_init(ue_PySBorder *self, PyObject *args, PyObject *kwar ue_py_slate_farguments_struct("foreground_color", ForegroundColor, FSlateColor); ue_py_slate_farguments_fvector2d("content_scale", ContentScale); ue_py_slate_farguments_fvector2d("desired_size_scale", DesiredSizeScale); - ue_py_snew(SBorder, s_compound_widget.s_widget); + ue_py_snew(SBorder); return 0; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySBox.cpp index a64b6946d..de0386a09 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySBox.cpp @@ -3,29 +3,22 @@ #include "UEPySBox.h" - -#define sw_box StaticCastSharedRef(self->s_panel.s_widget.s_widget) - static PyObject *py_ue_sbox_set_content(ue_PySBox *self, PyObject * args) { + ue_py_slate_cast(SBox); PyObject *py_content; if (!PyArg_ParseTuple(args, "O:set_content", &py_content)) { return NULL; } - ue_PySWidget *py_swidget = py_ue_is_swidget(py_content); - if (!py_swidget) - { - return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); - } - - Py_INCREF(py_swidget); + TSharedPtr child = py_ue_is_swidget(py_content); + if (!child.IsValid()) + return nullptr; - sw_box->SetContent(py_swidget->s_widget->AsShared()); + py_SBox->SetContent(child.ToSharedRef()); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyMethodDef ue_PySBox_methods[] = { @@ -81,7 +74,7 @@ static int ue_py_sbox_init(ue_PySBox *self, PyObject *args, PyObject *kwargs) ue_py_slate_farguments_optional_foptional_size("min_desired_height", MinDesiredHeight); ue_py_slate_farguments_optional_foptional_size("min_desired_width", MinDesiredWidth); - ue_py_snew(SBox, s_panel.s_widget); + ue_py_snew(SBox); return 0; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySBoxPanel.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySBoxPanel.cpp index bd055e94f..b7501d759 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySBoxPanel.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySBoxPanel.cpp @@ -4,12 +4,11 @@ #include "UEPySBoxPanel.h" -#define sw_box_panel StaticCastSharedRef(self->s_panel.s_widget.s_widget) - -static PyObject *py_ue_sbox_panel_clear_children(ue_PySGridPanel *self, PyObject * args) +static PyObject *py_ue_sbox_panel_clear_children(ue_PySBoxPanel *self, PyObject * args) { + ue_py_slate_cast(SBoxPanel); - sw_box_panel->ClearChildren(); + py_SBoxPanel->ClearChildren(); Py_RETURN_NONE; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp index f99bf5e9f..0a990dbc4 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp @@ -3,28 +3,26 @@ #include "UEPySButton.h" -#define sw_button StaticCastSharedRef(self->s_border.s_compound_widget.s_widget.s_widget) - static PyObject *py_ue_sbutton_is_pressed(ue_PySButton *self, PyObject * args) { + ue_py_slate_cast(SButton); - if (sw_button->IsPressed()) + if (py_SButton->IsPressed()) { - Py_INCREF(Py_True); - return Py_True; + Py_RETURN_TRUE; } - Py_INCREF(Py_False); - return Py_False; + Py_RETURN_FALSE; } static PyObject *py_ue_sbutton_bind_on_clicked(ue_PySButton *self, PyObject * args) { + ue_py_slate_cast(SButton); PyObject *py_callable; if (!PyArg_ParseTuple(args, "O:bind_on_clicked", &py_callable)) { - return NULL; + return nullptr; } if (!PyCalllable_Check_Extended(py_callable)) @@ -33,14 +31,13 @@ static PyObject *py_ue_sbutton_bind_on_clicked(ue_PySButton *self, PyObject * ar } FOnClicked handler; - TSharedRefpy_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_border.s_compound_widget.s_widget.s_widget, py_callable); + TSharedRefpy_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_border.s_compound_widget.s_widget.Widget, py_callable); py_delegate->SetPyCallable(py_callable); handler.BindSP(py_delegate, &FPythonSlateDelegate::OnClicked); - sw_button->SetOnClicked(handler); + py_SButton->SetOnClicked(handler); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyMethodDef ue_PySButton_methods[] = { @@ -109,7 +106,7 @@ static int ue_py_sbutton_init(ue_PySButton *self, PyObject *args, PyObject *kwar ue_py_slate_farguments_optional_enum("touch_method", TouchMethod, EButtonTouchMethod::Type); ue_py_slate_farguments_optional_enum("v_align", VAlign, EVerticalAlignment); - ue_py_snew(SButton, s_border.s_compound_widget.s_widget); + ue_py_snew(SButton); return 0; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySCanvas.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySCanvas.cpp index 056de71d7..943e88133 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySCanvas.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySCanvas.cpp @@ -4,17 +4,17 @@ #include "UEPySCanvas.h" -#define sw_canvas StaticCastSharedRef(self->s_panel.s_widget.s_widget) - static PyObject *py_ue_scanvas_clear_children(ue_PySCanvas *self, PyObject * args) { - sw_canvas->ClearChildren(); + ue_py_slate_cast(SCanvas); + py_SCanvas->ClearChildren(); Py_RETURN_NONE; } static PyObject *py_ue_scanvas_add_slot(ue_PySCanvas *self, PyObject * args, PyObject *kwargs) { + ue_py_slate_cast(SCanvas); PyObject *py_content; int h_align = 0; int v_align = 0; @@ -39,16 +39,12 @@ static PyObject *py_ue_scanvas_add_slot(ue_PySCanvas *self, PyObject * args, PyO return NULL; } - ue_PySWidget *py_swidget = py_ue_is_swidget(py_content); - if (!py_swidget) - { - return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); - } - - Py_INCREF(py_swidget); + TSharedPtr child = py_ue_is_swidget(py_content); + if (!child.IsValid()) + return nullptr; - SCanvas::FSlot &fslot = sw_canvas->AddSlot(); - fslot.AttachWidget(py_swidget->s_widget->AsShared()); + SCanvas::FSlot &fslot = py_SCanvas->AddSlot(); + fslot.AttachWidget(child.ToSharedRef()); fslot.HAlign((EHorizontalAlignment)h_align); fslot.VAlign((EVerticalAlignment)v_align); @@ -90,8 +86,7 @@ static PyObject *py_ue_scanvas_add_slot(ue_PySCanvas *self, PyObject * args, PyO } } - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyMethodDef ue_PySCanvas_methods[] = { @@ -134,7 +129,7 @@ PyTypeObject ue_PySCanvasType = { static int ue_py_scanvas_init(ue_PySCanvas *self, PyObject *args, PyObject *kwargs) { - ue_py_snew_simple(SCanvas, s_panel.s_widget); + ue_py_snew_simple(SCanvas); return 0; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySCheckBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySCheckBox.cpp index 4aa458a8e..ee69c39b7 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySCheckBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySCheckBox.cpp @@ -4,14 +4,14 @@ #include "UEPySCheckBox.h" -#define sw_check_box StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) - -static PyObject *py_ue_scheck_box_is_checked(ue_PySCheckBox *self, PyObject * args) { - - if (sw_check_box->IsChecked()) { +static PyObject *py_ue_scheck_box_is_checked(ue_PySCheckBox *self, PyObject * args) +{ + ue_py_slate_cast(SCheckBox); + if (py_SCheckBox->IsChecked()) + { Py_RETURN_TRUE; } - + Py_RETURN_FALSE; } @@ -51,19 +51,21 @@ PyTypeObject ue_PySCheckBoxType = { ue_PySCheckBox_methods, /* tp_methods */ }; -static int ue_py_scheck_box_init(ue_PySCheckBox *self, PyObject *args, PyObject *kwargs) { - +static int ue_py_scheck_box_init(ue_PySCheckBox *self, PyObject *args, PyObject *kwargs) +{ + ue_py_slate_setup_farguments(SCheckBox); ue_py_slate_farguments_struct("border_background_color", BorderBackgroundColor, FSlateColor); ue_py_slate_farguments_struct("foreground_color", ForegroundColor, FSlateColor); ue_py_slate_farguments_enum("is_checked", IsChecked, ECheckBoxState); ue_py_slate_farguments_event("on_check_state_changed", OnCheckStateChanged, FOnCheckStateChanged, CheckBoxChanged); - ue_py_snew(SCheckBox, s_compound_widget.s_widget); + ue_py_snew(SCheckBox); return 0; } -void ue_python_init_scheck_box(PyObject *ue_module) { +void ue_python_init_scheck_box(PyObject *ue_module) +{ ue_PySCheckBoxType.tp_init = (initproc)ue_py_scheck_box_init; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySColorBlock.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySColorBlock.cpp index 6a98b951f..775b1fe1a 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySColorBlock.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySColorBlock.cpp @@ -3,8 +3,6 @@ #include "UEPySColorBlock.h" -#define sw_color_block StaticCastSharedRef(self->s_leaf_widget.s_widget.s_widget) - static PyMethodDef ue_PySColorBlock_methods[] = { { NULL } /* Sentinel */ }; @@ -40,7 +38,8 @@ PyTypeObject ue_PySColorBlockType = { ue_PySColorBlock_methods, /* tp_methods */ }; -static int ue_py_scolor_block_init(ue_PySColorBlock *self, PyObject *args, PyObject *kwargs) { +static int ue_py_scolor_block_init(ue_PySColorBlock *self, PyObject *args, PyObject *kwargs) +{ ue_py_slate_setup_farguments(SColorBlock); ue_py_slate_farguments_flinear_color("color", Color); @@ -51,11 +50,12 @@ static int ue_py_scolor_block_init(ue_PySColorBlock *self, PyObject *args, PyObj ue_py_slate_farguments_fvector2d("size", Size); ue_py_slate_farguments_bool("use_srgb", UseSRGB); - ue_py_snew(SColorBlock, s_leaf_widget.s_widget); + ue_py_snew(SColorBlock); return 0; } -void ue_python_init_scolor_block(PyObject *ue_module) { +void ue_python_init_scolor_block(PyObject *ue_module) +{ ue_PySColorBlockType.tp_init = (initproc)ue_py_scolor_block_init; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySCompoundWidget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySCompoundWidget.cpp index 7e95d9787..494c10a51 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySCompoundWidget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySCompoundWidget.cpp @@ -3,12 +3,12 @@ #include "UEPySCompoundWidget.h" -#define sw_compound_widget StaticCastSharedRef(self->s_widget.s_widget) static PyObject *py_ue_scompound_widget_get_color_and_opacity(ue_PySCompoundWidget *self, PyObject * args) { + ue_py_slate_cast(SCompoundWidget); - FLinearColor color = sw_compound_widget->GetColorAndOpacity(); + FLinearColor color = py_SCompoundWidget->GetColorAndOpacity(); return py_ue_new_flinearcolor(color); } @@ -16,11 +16,13 @@ static PyObject *py_ue_scompound_widget_get_color_and_opacity(ue_PySCompoundWidg static PyObject *py_ue_scompound_widget_set_color_and_opacity(ue_PySCompoundWidget *self, PyObject * args) { + ue_py_slate_cast(SCompoundWidget); + PyObject *py_color; if (!PyArg_ParseTuple(args, "O:set_color_and_opacity", &py_color)) { - return NULL; + return nullptr; } ue_PyFLinearColor *py_linear_color = py_ue_is_flinearcolor(py_color); @@ -29,10 +31,9 @@ static PyObject *py_ue_scompound_widget_set_color_and_opacity(ue_PySCompoundWidg return PyErr_Format(PyExc_Exception, "argument is not a FLinearColor"); } - sw_compound_widget->SetColorAndOpacity(py_linear_color->color); + py_SCompoundWidget->SetColorAndOpacity(py_linear_color->color); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyMethodDef ue_PySCompoundWidget_methods[] = { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySDockTab.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySDockTab.cpp index a26329821..04698326e 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySDockTab.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySDockTab.cpp @@ -4,31 +4,32 @@ #include "UEPySDockTab.h" -#define sw_dock_tab StaticCastSharedRef(self->s_border.s_compound_widget.s_widget.s_widget) - - -static PyObject *py_ue_sdock_tab_set_label(ue_PySButton *self, PyObject * args) { +static PyObject *py_ue_sdock_tab_set_label(ue_PySDockTab *self, PyObject * args) +{ + ue_py_slate_cast(SDockTab); char *label; - if (!PyArg_ParseTuple(args, "s:set_label", &label)) { - return NULL; + if (!PyArg_ParseTuple(args, "s:set_label", &label)) + { + return nullptr; } - sw_dock_tab->SetLabel(FText::FromString(UTF8_TO_TCHAR(label))); + py_SDockTab->SetLabel(FText::FromString(UTF8_TO_TCHAR(label))); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } -static PyObject *py_ue_sdock_tab_request_close_tab(ue_PySButton *self, PyObject * args) { - - sw_dock_tab->RequestCloseTab(); +static PyObject *py_ue_sdock_tab_request_close_tab(ue_PySDockTab *self, PyObject * args) +{ + ue_py_slate_cast(SDockTab); + py_SDockTab->RequestCloseTab(); Py_RETURN_NONE; } -static PyObject *py_ue_sdock_tab_new_tab_manager(ue_PySButton *self, PyObject * args) { - - TSharedRef tab_manager = FGlobalTabmanager::Get()->NewTabManager(sw_dock_tab); +static PyObject *py_ue_sdock_tab_new_tab_manager(ue_PySDockTab *self, PyObject * args) +{ + ue_py_slate_cast(SDockTab); + TSharedRef tab_manager = FGlobalTabmanager::Get()->NewTabManager(py_SDockTab); return py_ue_new_ftab_manager(tab_manager); } @@ -71,7 +72,8 @@ PyTypeObject ue_PySDockTabType = { ue_PySDockTab_methods, /* tp_methods */ }; -static int ue_py_sdock_tab_init(ue_PySDockTab *self, PyObject *args, PyObject *kwargs) { +static int ue_py_sdock_tab_init(ue_PySDockTab *self, PyObject *args, PyObject *kwargs) +{ ue_py_slate_setup_farguments(SDockTab); ue_py_slate_farguments_struct("content_padding", ContentPadding, FMargin); @@ -81,11 +83,12 @@ static int ue_py_sdock_tab_init(ue_PySDockTab *self, PyObject *args, PyObject *k ue_py_slate_farguments_optional_enum("tab_role", TabRole, ETabRole); - ue_py_snew(SDockTab, s_border.s_compound_widget.s_widget); + ue_py_snew(SDockTab); return 0; } -void ue_python_init_sdock_tab(PyObject *ue_module) { +void ue_python_init_sdock_tab(PyObject *ue_module) +{ ue_PySDockTabType.tp_base = &ue_PySBorderType; ue_PySDockTabType.tp_init = (initproc)ue_py_sdock_tab_init; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySEditableTextBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySEditableTextBox.cpp index 76c0f3ef5..b46e1beef 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySEditableTextBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySEditableTextBox.cpp @@ -4,49 +4,54 @@ #include "UEPySEditableTextBox.h" +static PyObject *py_ue_seditable_text_box_select_all_text(ue_PySEditableTextBox *self, PyObject * args) +{ + ue_py_slate_cast(SEditableTextBox); -#define sw_editable_text_box StaticCastSharedRef(self->s_border.s_compound_widget.s_widget.s_widget) + py_SEditableTextBox->SelectAllText(); -static PyObject *py_ue_seditable_text_box_select_all_text(ue_PySEditableTextBox *self, PyObject * args) { - - sw_editable_text_box->SelectAllText(); - - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } -static PyObject *py_ue_seditable_text_box_clear_selection(ue_PySEditableTextBox *self, PyObject * args) { +static PyObject *py_ue_seditable_text_box_clear_selection(ue_PySEditableTextBox *self, PyObject * args) +{ + ue_py_slate_cast(SEditableTextBox); - sw_editable_text_box->ClearSelection(); + py_SEditableTextBox->ClearSelection(); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } -static PyObject *py_ue_seditable_text_box_get_selected_text(ue_PySEditableTextBox *self, PyObject * args) { +static PyObject *py_ue_seditable_text_box_get_selected_text(ue_PySEditableTextBox *self, PyObject * args) +{ + ue_py_slate_cast(SEditableTextBox); - FText text = sw_editable_text_box->GetSelectedText(); + FText text = py_SEditableTextBox->GetSelectedText(); return PyUnicode_FromString(TCHAR_TO_UTF8(*text.ToString())); } -static PyObject *py_ue_seditable_text_box_get_text(ue_PySEditableTextBox *self, PyObject * args) { +static PyObject *py_ue_seditable_text_box_get_text(ue_PySEditableTextBox *self, PyObject * args) +{ + ue_py_slate_cast(SEditableTextBox); - FText text = sw_editable_text_box->GetText(); + FText text = py_SEditableTextBox->GetText(); return PyUnicode_FromString(TCHAR_TO_UTF8(*text.ToString())); } -static PyObject *py_ue_seditable_text_box_set_text(ue_PySEditableTextBox *self, PyObject * args) { +static PyObject *py_ue_seditable_text_box_set_text(ue_PySEditableTextBox *self, PyObject * args) +{ + ue_py_slate_cast(SEditableTextBox); char *text; - if (!PyArg_ParseTuple(args, "s:set_text", &text)) { - return NULL; + if (!PyArg_ParseTuple(args, "s:set_text", &text)) + { + return nullptr; } - sw_editable_text_box->SetText(FText::FromString(UTF8_TO_TCHAR(text))); + py_SEditableTextBox->SetText(FText::FromString(UTF8_TO_TCHAR(text))); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyMethodDef ue_PySEditableTextBox_methods[] = { @@ -89,7 +94,8 @@ PyTypeObject ue_PySEditableTextBoxType = { ue_PySEditableTextBox_methods, /* tp_methods */ }; -static int ue_py_seditable_text_box_init(ue_PySEditableTextBox *self, PyObject *args, PyObject *kwargs) { +static int ue_py_seditable_text_box_init(ue_PySEditableTextBox *self, PyObject *args, PyObject *kwargs) +{ ue_py_slate_setup_farguments(SEditableTextBox); ue_py_slate_farguments_bool("allow_context_menu", AllowContextMenu); @@ -117,11 +123,12 @@ static int ue_py_seditable_text_box_init(ue_PySEditableTextBox *self, PyObject * ue_py_slate_farguments_optional_enum("text_shaping_method", TextShapingMethod, ETextShapingMethod); ue_py_slate_farguments_enum("virtual_keyboard_type", VirtualKeyboardType, EKeyboardType); - ue_py_snew(SEditableTextBox, s_border.s_compound_widget.s_widget); + ue_py_snew(SEditableTextBox); return 0; } -void ue_python_init_seditable_text_box(PyObject *ue_module) { +void ue_python_init_seditable_text_box(PyObject *ue_module) +{ ue_PySEditableTextBoxType.tp_init = (initproc)ue_py_seditable_text_box_init; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySEditorViewport.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySEditorViewport.cpp index b7fd4aaf7..78aaf5aa0 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySEditorViewport.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySEditorViewport.cpp @@ -1,22 +1,24 @@ -#if WITH_EDITOR + #include "UnrealEnginePythonPrivatePCH.h" -#include "UEPySViewport.h" +#if WITH_EDITOR +#include "UEPySViewport.h" -#define sw_editor_viewport StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) +static PyObject *py_ue_seditor_viewport_enable_stereo_rendering(ue_PySEditorViewport *self, PyObject * args) +{ + ue_py_slate_cast(SEditorViewport); -static PyObject *py_ue_seditor_viewport_enable_stereo_rendering(ue_PySEditorViewport *self, PyObject * args) { PyObject *py_bool; - if (!PyArg_ParseTuple(args, "O:enable_stereo_rendering", &py_bool)) { - return NULL; + if (!PyArg_ParseTuple(args, "O:enable_stereo_rendering", &py_bool)) + { + return nullptr; } - sw_editor_viewport->EnableStereoRendering(PyObject_IsTrue(py_bool) ? true : false); + py_SEditorViewport->EnableStereoRendering(PyObject_IsTrue(py_bool) ? true : false); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyMethodDef ue_PySEditorViewport_methods[] = { @@ -55,7 +57,8 @@ PyTypeObject ue_PySEditorViewportType = { ue_PySEditorViewport_methods, /* tp_methods */ }; -void ue_python_init_seditor_viewport(PyObject *ue_module) { +void ue_python_init_seditor_viewport(PyObject *ue_module) +{ ue_PySEditorViewportType.tp_base = &ue_PySCompoundWidgetType; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.cpp index 66c131ab0..d5a52c65d 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.cpp @@ -3,8 +3,6 @@ #if WITH_EDITOR #if ENGINE_MINOR_VERSION > 13 -#define sw_file_path_picker StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) - static PyMethodDef ue_PySFilePathPicker_methods[] = { { NULL } /* Sentinel */ @@ -41,7 +39,8 @@ PyTypeObject ue_PySFilePathPickerType = { ue_PySFilePathPicker_methods, /* tp_methods */ }; -static int ue_py_sfile_path_picker_init(ue_PySFilePathPicker *self, PyObject *args, PyObject *kwargs) { +static int ue_py_sfile_path_picker_init(ue_PySFilePathPicker *self, PyObject *args, PyObject *kwargs) +{ ue_py_slate_setup_farguments(SFilePathPicker); ue_py_slate_farguments_optional_struct_ptr("browse_button_image", BrowseButtonImage, FSlateBrush); @@ -55,11 +54,12 @@ static int ue_py_sfile_path_picker_init(ue_PySFilePathPicker *self, PyObject *ar ue_py_slate_farguments_bool("is_read_only", IsReadOnly); ue_py_slate_farguments_event("on_path_picked", OnPathPicked, FOnPathPicked, OnStringChanged); - ue_py_snew(SFilePathPicker, s_compound_widget.s_widget); + ue_py_snew(SFilePathPicker); return 0; } -void ue_python_init_sfile_path_picker(PyObject *ue_module) { +void ue_python_init_sfile_path_picker(PyObject *ue_module) +{ ue_PySFilePathPickerType.tp_init = (initproc)ue_py_sfile_path_picker_init; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySGraphEditor.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySGraphEditor.cpp index ddedcb2de..4a389cbaf 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySGraphEditor.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySGraphEditor.cpp @@ -1,11 +1,10 @@ -#if WITH_EDITOR -#include "UnrealEnginePythonPrivatePCH.h" -#include "UEPySGraphEditor.h" +#include "UnrealEnginePythonPrivatePCH.h" +#if WITH_EDITOR +#include "UEPySGraphEditor.h" -#define sw_graph_editor StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) static PyMethodDef ue_PySGraphEditor_methods[] = { @@ -43,22 +42,29 @@ PyTypeObject ue_PySGraphEditorType = { ue_PySGraphEditor_methods, /* tp_methods */ }; -static int ue_py_sgraph_editor_init(ue_PySGraphEditor *self, PyObject *args, PyObject *kwargs) { +static int ue_py_sgraph_editor_init(ue_PySGraphEditor *self, PyObject *args, PyObject *kwargs) +{ PyObject *py_graph; - if (!PyArg_ParseTuple(args, "O", &py_graph)) { + if (!PyArg_ParseTuple(args, "O", &py_graph)) + { return -1; } UEdGraph *graph = ue_py_check_type(py_graph); - if (!graph) { + if (!graph) + { PyErr_SetString(PyExc_Exception, "argument is not a EdGraph"); return -1; } - new (&self->s_compound_widget.s_widget.s_widget) TSharedRef(SNew(SGraphEditor).GraphToEdit(graph)); + ue_py_slate_setup_farguments(SGraphEditor); + arguments.GraphToEdit(graph); + ue_py_snew(SGraphEditor); + return 0; } -void ue_python_init_sgraph_editor(PyObject *ue_module) { +void ue_python_init_sgraph_editor(PyObject *ue_module) +{ ue_PySGraphEditorType.tp_init = (initproc)ue_py_sgraph_editor_init; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp index 03a611652..3d50bbcab 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp @@ -9,130 +9,130 @@ /* static PyObject *py_ue_sgraph_panel_add_slot(ue_PySGraphPanel* self, PyObject *args, PyObject *kwargs) { - PyObject *py_content; - int z_order = -1; - int h_align = 0; - PyObject *padding = nullptr; - int v_align = 0; - - char *kwlist[] = { (char *)"widget", - (char *)"z_order", - (char *)"h_align", - (char *)"padding", - (char *)"v_align", - nullptr }; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|iiOi:add_slot", kwlist, - &py_content, - &z_order, - &h_align, - &padding, - &v_align)) - { - return nullptr; - } - - ue_PySWidget *py_swidget = py_ue_is_swidget(py_content); - if (!py_swidget) - { - return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); - } - - Py_INCREF(py_swidget); - self->s_nodePanel.s_panel.s_widget.py_swidget_slots.Add(py_swidget); - - sw_graph_panel; - - SOverlay::FOverlaySlot &fslot = sw_graph_panel->//sw_overlay->AddSlot(z_order); - fslot.AttachWidget(py_swidget->s_widget->AsShared()); - fslot.HAlign((EHorizontalAlignment)h_align); - if (padding) - { - if (PyTuple_Check(padding)) - { - FMargin margin; - if (!PyArg_ParseTuple(padding, "f|fff", &margin.Left, &margin.Top, &margin.Right, &margin.Bottom)) - { - return PyErr_Format(PyExc_Exception, "invalid padding value"); - } - fslot.Padding(margin); - } - else if (PyNumber_Check(padding)) - { - PyObject *py_float = PyNumber_Float(padding); - fslot.Padding(PyFloat_AsDouble(py_float)); - Py_DECREF(py_float); - } - else - { - return PyErr_Format(PyExc_Exception, "invalid padding value"); - } - } - fslot.VAlign((EVerticalAlignment)v_align); - - Py_INCREF(self); - return (PyObject *)self; + PyObject *py_content; + int z_order = -1; + int h_align = 0; + PyObject *padding = nullptr; + int v_align = 0; + + char *kwlist[] = { (char *)"widget", + (char *)"z_order", + (char *)"h_align", + (char *)"padding", + (char *)"v_align", + nullptr }; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|iiOi:add_slot", kwlist, + &py_content, + &z_order, + &h_align, + &padding, + &v_align)) + { + return nullptr; + } + + ue_PySWidget *py_swidget = py_ue_is_swidget(py_content); + if (!py_swidget) + { + return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); + } + + Py_INCREF(py_swidget); + self->s_nodePanel.s_panel.s_widget.py_swidget_slots.Add(py_swidget); + + sw_graph_panel; + + SOverlay::FOverlaySlot &fslot = sw_graph_panel->//sw_overlay->AddSlot(z_order); + fslot.AttachWidget(py_swidget->s_widget->AsShared()); + fslot.HAlign((EHorizontalAlignment)h_align); + if (padding) + { + if (PyTuple_Check(padding)) + { + FMargin margin; + if (!PyArg_ParseTuple(padding, "f|fff", &margin.Left, &margin.Top, &margin.Right, &margin.Bottom)) + { + return PyErr_Format(PyExc_Exception, "invalid padding value"); + } + fslot.Padding(margin); + } + else if (PyNumber_Check(padding)) + { + PyObject *py_float = PyNumber_Float(padding); + fslot.Padding(PyFloat_AsDouble(py_float)); + Py_DECREF(py_float); + } + else + { + return PyErr_Format(PyExc_Exception, "invalid padding value"); + } + } + fslot.VAlign((EVerticalAlignment)v_align); + + Py_INCREF(self); + return (PyObject *)self; } */ static PyMethodDef ue_PySGraphPanel_methods[] = { - //{"add_slot", (PyCFunction)py_ue_sgraph_panel_add_slot, METH_VARARGS | METH_KEYWORDS, "" }, - { NULL } /* Sentinel */ + //{"add_slot", (PyCFunction)py_ue_sgraph_panel_add_slot, METH_VARARGS | METH_KEYWORDS, "" }, + { NULL } /* Sentinel */ }; PyTypeObject ue_PySGraphPanelType = { - PyVarObject_HEAD_INIT(NULL, 0) - "unreal_engine.SGraphPanel", /* tp_name */ - sizeof(ue_PySGraphPanel), /* tp_basicsize */ - 0, /* tp_itemsize */ - 0, /* tp_dealloc */ - 0, /* tp_print */ - 0, /* tp_getattr */ - 0, /* tp_setattr */ - 0, /* tp_reserved */ - 0, /* tp_repr */ - 0, /* tp_as_number */ - 0, /* tp_as_sequence */ - 0, /* tp_as_mapping */ - 0, /* tp_hash */ - 0, /* tp_call */ - 0, /* tp_str */ - 0, /* tp_getattro */ - 0, /* tp_setattro */ - 0, /* tp_as_buffer */ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ - "Unreal Engine SGraphPanel", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - ue_PySGraphPanel_methods, /* tp_methods */ + PyVarObject_HEAD_INIT(NULL, 0) + "unreal_engine.SGraphPanel", /* tp_name */ + sizeof(ue_PySGraphPanel), /* tp_basicsize */ + 0, /* tp_itemsize */ + 0, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ + "Unreal Engine SGraphPanel", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + ue_PySGraphPanel_methods, /* tp_methods */ }; //why do you need to return an integer? static int ue_py_sgraph_panel_init(ue_PySGraphPanel *self, PyObject *args, PyObject *kwargs) { - //so for right now, let's just have this commented out to see if we get any errors - //if says we don't have s_nodePanel - ue_py_snew_simple(SGraphPanel, s_nodePanel.s_panel.s_widget);//s_nodePanel.s_panel); - //ue_py_snew(SGraphPanel, s_nodePanel.s_panel.s_widget); + //so for right now, let's just have this commented out to see if we get any errors + //if says we don't have s_nodePanel + ue_py_snew_simple(SGraphPanel);//s_nodePanel.s_panel); + //ue_py_snew(SGraphPanel, s_nodePanel.s_panel.s_widget); - return 0; + return 0; } -void ue_python_init_sgraph_panel(PyObject *ue_module) +void ue_python_init_sgraph_panel(PyObject *ue_module) { - //ue_PySGraphPanelType.tp_init = (initproc)ue_py_sgraph_panel_init; - //ue_PySGraphPanelType.tp_call = (ternaryfunc)py_ue_sgraph_panel_add_slot; - ue_PySGraphPanelType.tp_base = &ue_PySNodePanelType; + //ue_PySGraphPanelType.tp_init = (initproc)ue_py_sgraph_panel_init; + //ue_PySGraphPanelType.tp_call = (ternaryfunc)py_ue_sgraph_panel_add_slot; + ue_PySGraphPanelType.tp_base = &ue_PySNodePanelType; - if (PyType_Ready(&ue_PySGraphPanelType) < 0) - return; + if (PyType_Ready(&ue_PySGraphPanelType) < 0) + return; - Py_INCREF(&ue_PySGraphPanelType); - PyModule_AddObject(ue_module, "SGraphPanel", (PyObject *)&ue_PySGraphPanelType); + Py_INCREF(&ue_PySGraphPanelType); + PyModule_AddObject(ue_module, "SGraphPanel", (PyObject *)&ue_PySGraphPanelType); } #endif diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySGridPanel.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySGridPanel.cpp index 41c826117..377f616e0 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySGridPanel.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySGridPanel.cpp @@ -4,37 +4,38 @@ #include "UEPySGridPanel.h" -#define sw_grid_panel StaticCastSharedRef(self->s_panel.s_widget.s_widget) +static PyObject *py_ue_sgrid_panel_clear_children(ue_PySGridPanel *self, PyObject * args) +{ -static PyObject *py_ue_sgrid_panel_clear_children(ue_PySGridPanel *self, PyObject * args) { + ue_py_slate_cast(SGridPanel); + py_SGridPanel->ClearChildren(); - sw_grid_panel->ClearChildren(); - - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } -static PyObject *py_ue_sgrid_panel_add_slot(ue_PySGridPanel *self, PyObject * args) { +static PyObject *py_ue_sgrid_panel_add_slot(ue_PySGridPanel *self, PyObject * args) +{ + ue_py_slate_cast(SGridPanel); PyObject *py_content; int col; int row; int layer = 0; - if (!PyArg_ParseTuple(args, "Oii|i:add_slot", &py_content, &col, &row, &layer)) { + if (!PyArg_ParseTuple(args, "Oii|i:add_slot", &py_content, &col, &row, &layer)) + { return NULL; } - ue_PySWidget *py_swidget = py_ue_is_swidget(py_content); - if (!py_swidget) { - return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); + TSharedPtr Content = py_ue_is_swidget(py_content); + if (!Content.IsValid()) + { + return nullptr; } - // TODO: decrement reference when destroying parent - Py_INCREF(py_swidget); - SGridPanel::FSlot &fslot = sw_grid_panel->AddSlot(col, row, SGridPanel::Layer(layer)); - fslot.AttachWidget(py_swidget->s_widget->AsShared()); - Py_INCREF(self); - return (PyObject *)self; + SGridPanel::FSlot &fslot = py_SGridPanel->AddSlot(col, row, SGridPanel::Layer(layer)); + fslot.AttachWidget(Content.ToSharedRef()); + + Py_RETURN_SLATE_SELF; } static PyMethodDef ue_PySGridPanel_methods[] = { @@ -74,12 +75,14 @@ PyTypeObject ue_PySGridPanelType = { ue_PySGridPanel_methods, /* tp_methods */ }; -static int ue_py_sgrid_panel_init(ue_PySGridPanel *self, PyObject *args, PyObject *kwargs) { - ue_py_snew_simple(SGridPanel, s_panel.s_widget); +static int ue_py_sgrid_panel_init(ue_PySGridPanel *self, PyObject *args, PyObject *kwargs) +{ + ue_py_snew_simple(SGridPanel); return 0; } -void ue_python_init_sgrid_panel(PyObject *ue_module) { +void ue_python_init_sgrid_panel(PyObject *ue_module) +{ ue_PySGridPanelType.tp_init = (initproc)ue_py_sgrid_panel_init; ue_PySGridPanelType.tp_call = (ternaryfunc)py_ue_sgrid_panel_add_slot; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.cpp index d3b01bfd7..75d475ba1 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.cpp @@ -2,67 +2,68 @@ #include "UEPySHeaderRow.h" -#define sw_header_row StaticCastSharedRef(self->s_border.s_compound_widget.s_widget.s_widget) - -static PyObject *py_ue_sheader_row_add_column(ue_PySHeaderRow *self, PyObject *args, PyObject *kwargs) +static PyObject *py_ue_sheader_row_add_column(ue_PySHeaderRow *self, PyObject *args, PyObject *kwargs) { - int32 retCode = [&]() { - ue_py_slate_setup_farguments(SHeaderRow::FColumn); + ue_py_slate_cast(SHeaderRow); + + + int32 retCode = [&]() { + ue_py_slate_setup_farguments(SHeaderRow::FColumn); - // first of all check for values - PyObject *py_columnid = ue_py_dict_get_item(kwargs, "column_id"); - if (!py_columnid) { - PyErr_SetString(PyExc_TypeError, "you must specify the column_id"); - return -1; - } + // first of all check for values + PyObject *py_columnid = ue_py_dict_get_item(kwargs, "column_id"); + if (!py_columnid) + { + PyErr_SetString(PyExc_TypeError, "you must specify the column_id"); + return -1; + } - ue_py_slate_farguments_optional_string("column_id", ColumnId); + ue_py_slate_farguments_optional_string("column_id", ColumnId); - ue_py_slate_farguments_text("default_label", DefaultLabel); - ue_py_slate_farguments_text("default_tooltip", DefaultTooltip); + ue_py_slate_farguments_text("default_label", DefaultLabel); + ue_py_slate_farguments_text("default_tooltip", DefaultTooltip); - ue_py_slate_farguments_optional_enum("h_align_header", HAlignHeader, EHorizontalAlignment); - ue_py_slate_farguments_optional_enum("v_align_header", VAlignHeader, EVerticalAlignment); + ue_py_slate_farguments_optional_enum("h_align_header", HAlignHeader, EHorizontalAlignment); + ue_py_slate_farguments_optional_enum("v_align_header", VAlignHeader, EVerticalAlignment); - ue_py_slate_farguments_float("fill_width", FillWidth); - ue_py_slate_farguments_optional_float("fixed_width", FixedWidth); - ue_py_slate_farguments_float("manual_width", ManualWidth); + ue_py_slate_farguments_float("fill_width", FillWidth); + ue_py_slate_farguments_optional_float("fixed_width", FixedWidth); + ue_py_slate_farguments_float("manual_width", ManualWidth); - ue_py_slate_farguments_optional_named_slot("header_content", HeaderContent); - ue_py_slate_farguments_optional_struct("header_content_padding", HeaderContentPadding, FMargin); + ue_py_slate_farguments_optional_named_slot("header_content", HeaderContent); + ue_py_slate_farguments_optional_struct("header_content_padding", HeaderContentPadding, FMargin); - ue_py_slate_farguments_optional_named_slot("menu_content", MenuContent); + ue_py_slate_farguments_optional_named_slot("menu_content", MenuContent); - ue_py_slate_farguments_optional_enum("h_align_cell", HAlignCell, EHorizontalAlignment); - ue_py_slate_farguments_optional_enum("v_align_cell", VAlignCell, EVerticalAlignment); + ue_py_slate_farguments_optional_enum("h_align_cell", HAlignCell, EHorizontalAlignment); + ue_py_slate_farguments_optional_enum("v_align_cell", VAlignCell, EVerticalAlignment); - ue_py_slate_farguments_enum("sort_mode", SortMode, EColumnSortMode::Type); - ue_py_slate_farguments_enum("sort_priority", SortPriority, EColumnSortPriority::Type); + ue_py_slate_farguments_enum("sort_mode", SortMode, EColumnSortMode::Type); + ue_py_slate_farguments_enum("sort_priority", SortPriority, EColumnSortPriority::Type); - ue_py_slate_farguments_event("on_sort", OnSort, FOnSortModeChanged, OnSort); + ue_py_slate_farguments_event("on_sort", OnSort, FOnSortModeChanged, OnSort); - ue_py_slate_farguments_bool("should_generate_widget", ShouldGenerateWidget); + ue_py_slate_farguments_bool("should_generate_widget", ShouldGenerateWidget); - //sw_header_row->AddColumn( - // SHeaderRow::Column(FName(UTF8_TO_TCHAR(column_id))) - // .DefaultLabel(FText::FromString(UTF8_TO_TCHAR(default_label))) - // .DefaultTooltip(FText::FromString(UTF8_TO_TCHAR(default_tooltip))) - // .FixedWidth(fixed_width) - // .HAlignCell((EHorizontalAlignment)cell_h_align) - // .VAlignCell((EVerticalAlignment)cell_v_align) - //); + //sw_header_row->AddColumn( + // SHeaderRow::Column(FName(UTF8_TO_TCHAR(column_id))) + // .DefaultLabel(FText::FromString(UTF8_TO_TCHAR(default_label))) + // .DefaultTooltip(FText::FromString(UTF8_TO_TCHAR(default_tooltip))) + // .FixedWidth(fixed_width) + // .HAlignCell((EHorizontalAlignment)cell_h_align) + // .VAlignCell((EVerticalAlignment)cell_v_align) + //); - sw_header_row->AddColumn(arguments); - return 0; - }(); + py_SHeaderRow->AddColumn(arguments); + return 0; + }(); - if (retCode != 0) - { - return PyErr_Format(PyExc_Exception, "could not add column slot"); - } + if (retCode != 0) + { + return PyErr_Format(PyExc_Exception, "could not add column slot"); + } - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyMethodDef ue_PySHeaderRow_methods[] = { @@ -102,15 +103,17 @@ PyTypeObject ue_PySHeaderRowType = { ue_PySHeaderRow_methods, /* tp_methods */ }; -static int ue_py_sheader_row_init(ue_PySHeaderRow *self, PyObject *args, PyObject *kwargs) { - ue_py_snew_simple(SHeaderRow, s_border.s_compound_widget.s_widget); +static int ue_py_sheader_row_init(ue_PySHeaderRow *self, PyObject *args, PyObject *kwargs) +{ + ue_py_snew_simple(SHeaderRow); return 0; } -void ue_python_init_sheader_row(PyObject *ue_module) { +void ue_python_init_sheader_row(PyObject *ue_module) +{ ue_PySHeaderRowType.tp_init = (initproc)ue_py_sheader_row_init; - ue_PySHeaderRowType.tp_call = (ternaryfunc)py_ue_sheader_row_add_column; + ue_PySHeaderRowType.tp_call = (ternaryfunc)py_ue_sheader_row_add_column; ue_PySHeaderRowType.tp_base = &ue_PySBorderType; @@ -123,8 +126,8 @@ void ue_python_init_sheader_row(PyObject *ue_module) { ue_PySHeaderRow * py_ue_is_sheader_row(PyObject *obj) { - if (!PyObject_IsInstance(obj, (PyObject *)&ue_PySHeaderRowType)) - return nullptr; - return (ue_PySHeaderRow *)obj; + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PySHeaderRowType)) + return nullptr; + return (ue_PySHeaderRow *)obj; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySHorizontalBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySHorizontalBox.cpp index 56a42c4a0..7f769ccba 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySHorizontalBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySHorizontalBox.cpp @@ -4,61 +4,62 @@ #include "UEPySHorizontalBox.h" -#define sw_horizontal_box StaticCastSharedRef(self->s_box_panel.s_panel.s_widget.s_widget) - - static PyObject *py_ue_shorizontal_box_add_slot(ue_PySHorizontalBox *self, PyObject * args, PyObject *kwargs) { - int32 retCode = [&]() { - ue_py_slate_setup_hack_slot_args(SHorizontalBox, sw_horizontal_box); - ue_py_slate_farguments_float("fill_width", FillWidth); - ue_py_slate_farguments_float("max_width", MaxWidth); - ue_py_slate_farguments_optional_enum("h_align", HAlign, EHorizontalAlignment); - ue_py_slate_farguments_optional_enum("v_align", VAlign, EVerticalAlignment); - - //NOTE: Padding slot in slate is weird and manually supports different parameter constructions - if (PyObject *padding = ue_py_dict_get_item(kwargs, "padding")) - { - if (PyTuple_Check(padding)) - { - FMargin margin; - if (!PyArg_ParseTuple(padding, "f|fff", &margin.Left, &margin.Top, &margin.Right, &margin.Bottom)) - { - PyErr_SetString(PyExc_TypeError, "invalid padding value"); - return -1; - } - arguments.Padding(margin); - } - else if (PyNumber_Check(padding)) - { - PyObject *py_float = PyNumber_Float(padding); - arguments.Padding(PyFloat_AsDouble(py_float)); - Py_DECREF(py_float); - } - else - { - ue_py_slate_farguments_struct("padding", Padding, FMargin); - } - } - PyObject *py_auto_width = ue_py_dict_get_item(kwargs, "auto_width"); - if (py_auto_width && PyObject_IsTrue(py_auto_width)) - { arguments.AutoWidth(); } - - return 0; - }(); - - if (retCode != 0) - { - return PyErr_Format(PyExc_Exception, "could not add horizontal slot"); - } - - Py_INCREF(self); - return (PyObject *)self; + ue_py_slate_cast(SHorizontalBox); + + int32 retCode = [&]() { + ue_py_slate_setup_hack_slot_args(SHorizontalBox, py_SHorizontalBox); + ue_py_slate_farguments_float("fill_width", FillWidth); + ue_py_slate_farguments_float("max_width", MaxWidth); + ue_py_slate_farguments_optional_enum("h_align", HAlign, EHorizontalAlignment); + ue_py_slate_farguments_optional_enum("v_align", VAlign, EVerticalAlignment); + + //NOTE: Padding slot in slate is weird and manually supports different parameter constructions + if (PyObject *padding = ue_py_dict_get_item(kwargs, "padding")) + { + if (PyTuple_Check(padding)) + { + FMargin margin; + if (!PyArg_ParseTuple(padding, "f|fff", &margin.Left, &margin.Top, &margin.Right, &margin.Bottom)) + { + PyErr_SetString(PyExc_TypeError, "invalid padding value"); + return -1; + } + arguments.Padding(margin); + } + else if (PyNumber_Check(padding)) + { + PyObject *py_float = PyNumber_Float(padding); + arguments.Padding(PyFloat_AsDouble(py_float)); + Py_DECREF(py_float); + } + else + { + ue_py_slate_farguments_struct("padding", Padding, FMargin); + } + } + PyObject *py_auto_width = ue_py_dict_get_item(kwargs, "auto_width"); + if (py_auto_width && PyObject_IsTrue(py_auto_width)) + { + arguments.AutoWidth(); + } + + return 0; + }(); + + if (retCode != 0) + { + return PyErr_Format(PyExc_Exception, "could not add horizontal slot"); + } + + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_shorizontal_box_num_slots(ue_PySHorizontalBox *self, PyObject * args) { - return PyLong_FromLong(sw_horizontal_box->NumSlots()); + ue_py_slate_cast(SHorizontalBox); + return PyLong_FromLong(py_SHorizontalBox->NumSlots()); } static PyMethodDef ue_PySHorizontalBox_methods[] = { @@ -101,7 +102,7 @@ PyTypeObject ue_PySHorizontalBoxType = { static int ue_py_shorizontal_box_init(ue_PySHorizontalBox *self, PyObject *args, PyObject *kwargs) { - ue_py_snew_simple(SHorizontalBox, s_box_panel.s_panel.s_widget); + ue_py_snew_simple(SHorizontalBox); return 0; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySImage.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySImage.cpp index 232d6f4af..222bfd6fc 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySImage.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySImage.cpp @@ -3,12 +3,13 @@ #include "UEPySImage.h" -#define sw_image StaticCastSharedRef(self->s_leaf_widget.s_widget.s_widget) - -static PyObject *py_ue_simage_set_brush(ue_PySImage *self, PyObject * args) { +static PyObject *py_ue_simage_set_brush(ue_PySImage *self, PyObject * args) +{ + ue_py_slate_cast(SImage); PyObject *py_brush; - if (!PyArg_ParseTuple(args, "O:set_brush", &py_brush)) { - return NULL; + if (!PyArg_ParseTuple(args, "O:set_brush", &py_brush)) + { + return nullptr; } FSlateBrush *brush = ue_py_check_struct(py_brush); @@ -17,17 +18,19 @@ static PyObject *py_ue_simage_set_brush(ue_PySImage *self, PyObject * args) { self->brush = *brush; - sw_image->SetImage(&self->brush); + py_SImage->SetImage(&self->brush); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } -static PyObject *py_ue_simage_set_texture(ue_PySImage *self, PyObject * args) { +static PyObject *py_ue_simage_set_texture(ue_PySImage *self, PyObject * args) +{ + ue_py_slate_cast(SImage); PyObject *py_texture; PyObject *py_linear_color = nullptr; - if (!PyArg_ParseTuple(args, "O|O:set_texture", &py_texture, &py_linear_color)) { - return NULL; + if (!PyArg_ParseTuple(args, "O|O:set_texture", &py_texture, &py_linear_color)) + { + return nullptr; } UTexture2D *texture = ue_py_check_type(py_texture); @@ -36,9 +39,11 @@ static PyObject *py_ue_simage_set_texture(ue_PySImage *self, PyObject * args) { FLinearColor tint(1, 1, 1, 1); - if (py_linear_color) { + if (py_linear_color) + { ue_PyFLinearColor *py_color = py_ue_is_flinearcolor(py_linear_color); - if (!py_color) { + if (!py_color) + { return PyErr_Format(PyExc_Exception, "argument is not a FLinearColor"); } tint = py_color->color; @@ -53,10 +58,9 @@ static PyObject *py_ue_simage_set_texture(ue_PySImage *self, PyObject * args) { self->brush.TintColor = tint; #endif - sw_image->SetImage(&self->brush); + py_SImage->SetImage(&self->brush); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyMethodDef ue_PySImage_methods[] = { @@ -97,18 +101,20 @@ PyTypeObject ue_PySImageType = { ue_PySImage_methods, /* tp_methods */ }; -static int ue_py_simage_init(ue_PySImage *self, PyObject *args, PyObject *kwargs) { +static int ue_py_simage_init(ue_PySImage *self, PyObject *args, PyObject *kwargs) +{ ue_py_slate_setup_farguments(SImage); ue_py_slate_farguments_struct("color_and_opacity", ColorAndOpacity, FSlateColor); ue_py_slate_farguments_optional_struct_ptr("image", Image, FSlateBrush); ue_py_slate_farguments_event("on_mouse_button_down", OnMouseButtonDown, FPointerEventHandler, OnMouseEvent); - ue_py_snew(SImage, s_leaf_widget.s_widget); + ue_py_snew(SImage); return 0; } -void ue_python_init_simage(PyObject *ue_module) { +void ue_python_init_simage(PyObject *ue_module) +{ ue_PySImageType.tp_init = (initproc)ue_py_simage_init; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.cpp index 981cacce6..ad00023b5 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.cpp @@ -6,61 +6,61 @@ #include "LevelEditor.h" #include "Editor/LevelEditor/Public/ILevelEditor.h" -#define sw_level_viewport StaticCastSharedRef(self->s_editor_viewport.s_compound_widget.s_widget.s_widget) - static PyObject *py_ue_slevel_viewport_get_world(ue_PySLevelViewport *self, PyObject * args) { - Py_RETURN_UOBJECT(sw_level_viewport->GetWorld()); + ue_py_slate_cast(SLevelViewport); + Py_RETURN_UOBJECT(py_SLevelViewport->GetWorld()); } static PyObject *py_ue_slevel_viewport_set_show_bounds(ue_PySLevelViewport *self, PyObject * args) { + ue_py_slate_cast(SLevelViewport); PyObject *py_bool; if (!PyArg_ParseTuple(args, "O:set_show_bounds", &py_bool)) { - return NULL; + return nullptr; } - sw_level_viewport->GetViewportClient()->SetShowBounds(PyObject_IsTrue(py_bool) ? true : false); + py_SLevelViewport->GetViewportClient()->SetShowBounds(PyObject_IsTrue(py_bool) ? true : false); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_slevel_viewport_set_show_stats(ue_PySLevelViewport *self, PyObject * args) { + ue_py_slate_cast(SLevelViewport); PyObject *py_bool; if (!PyArg_ParseTuple(args, "O:set_show_stats", &py_bool)) { - return NULL; + return nullptr; } - sw_level_viewport->GetViewportClient()->SetShowStats(PyObject_IsTrue(py_bool) ? true : false); + py_SLevelViewport->GetViewportClient()->SetShowStats(PyObject_IsTrue(py_bool) ? true : false); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_slevel_viewport_set_view_mode(ue_PySLevelViewport *self, PyObject * args) { + ue_py_slate_cast(SLevelViewport); int mode; if (!PyArg_ParseTuple(args, "i:set_view_mode", &mode)) { - return NULL; + return nullptr; } - sw_level_viewport->GetViewportClient()->SetViewMode((EViewModeIndex)mode); + py_SLevelViewport->GetViewportClient()->SetViewMode((EViewModeIndex)mode); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_slevel_viewport_set_exposure_settings(ue_PySPythonEditorViewport *self, PyObject * args) { + ue_py_slate_cast(SLevelViewport); PyObject *py_settings; if (!PyArg_ParseTuple(args, "O:set_exposure_settings", &py_settings)) { - return NULL; + return nullptr; } FExposureSettings *settings = ue_py_check_struct(py_settings); @@ -69,10 +69,9 @@ static PyObject *py_ue_slevel_viewport_set_exposure_settings(ue_PySPythonEditorV return PyErr_Format(PyExc_Exception, "argument is not a FExposureSettings"); } - sw_level_viewport->GetViewportClient()->ExposureSettings = *settings; + py_SLevelViewport->GetViewportClient()->ExposureSettings = *settings; - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } /* @@ -137,9 +136,10 @@ static int ue_py_slevel_viewport_init(ue_PySLevelViewport *self, PyObject *args, ue_py_slate_farguments_optional_bool("realtime", Realtime); ue_py_slate_farguments_optional_enum("viewport_type", ViewportType, ELevelViewportType); - ue_py_snew(SLevelViewport, s_editor_viewport.s_compound_widget.s_widget); + ue_py_snew(SLevelViewport); + ue_py_slate_cast(SLevelViewport); - EditorModule.GetFirstLevelEditor()->AddStandaloneLevelViewport(sw_level_viewport); + EditorModule.GetFirstLevelEditor()->AddStandaloneLevelViewport(py_SLevelViewport); return 0; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySMultiLineEditableText.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySMultiLineEditableText.cpp index 568d920b2..371f3355f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySMultiLineEditableText.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySMultiLineEditableText.cpp @@ -4,58 +4,63 @@ #include "UEPySEditableTextBox.h" +static PyObject *py_ue_smulti_line_editable_text_select_all_text(ue_PySMultiLineEditableText *self, PyObject * args) +{ + ue_py_slate_cast(SMultiLineEditableText); -#define sw_multi_line_editable_text StaticCastSharedRef(self->s_widget.s_widget) + py_SMultiLineEditableText->SelectAllText(); -static PyObject *py_ue_smulti_line_editable_text_select_all_text(ue_PySMultiLineEditableText *self, PyObject * args) { - - sw_multi_line_editable_text->SelectAllText(); - - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } -static PyObject *py_ue_smulti_line_editable_text_clear_selection(ue_PySMultiLineEditableText *self, PyObject * args) { +static PyObject *py_ue_smulti_line_editable_text_clear_selection(ue_PySMultiLineEditableText *self, PyObject * args) +{ + ue_py_slate_cast(SMultiLineEditableText); + py_SMultiLineEditableText->ClearSelection(); - sw_multi_line_editable_text->ClearSelection(); - - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } -static PyObject *py_ue_smulti_line_editable_text_get_selected_text(ue_PySMultiLineEditableText *self, PyObject * args) { - +static PyObject *py_ue_smulti_line_editable_text_get_selected_text(ue_PySMultiLineEditableText *self, PyObject * args) +{ + ue_py_slate_cast(SMultiLineEditableText); - FText text = sw_multi_line_editable_text->GetSelectedText(); + FText text = py_SMultiLineEditableText->GetSelectedText(); return PyUnicode_FromString(TCHAR_TO_UTF8(*text.ToString())); } -static PyObject *py_ue_smulti_line_editable_text_get_text(ue_PySMultiLineEditableText *self, PyObject * args) { +static PyObject *py_ue_smulti_line_editable_text_get_text(ue_PySMultiLineEditableText *self, PyObject * args) +{ + ue_py_slate_cast(SMultiLineEditableText); - FText text = sw_multi_line_editable_text->GetText(); + FText text = py_SMultiLineEditableText->GetText(); return PyUnicode_FromString(TCHAR_TO_UTF8(*text.ToString())); } -static PyObject *py_ue_smulti_line_editable_text_get_plain_text(ue_PySMultiLineEditableText *self, PyObject * args) { +static PyObject *py_ue_smulti_line_editable_text_get_plain_text(ue_PySMultiLineEditableText *self, PyObject * args) +{ + ue_py_slate_cast(SMultiLineEditableText); - FText text = sw_multi_line_editable_text->GetPlainText(); + FText text = py_SMultiLineEditableText->GetPlainText(); return PyUnicode_FromString(TCHAR_TO_UTF8(*text.ToString())); } -static PyObject *py_ue_smulti_line_editable_text_set_text(ue_PySMultiLineEditableText *self, PyObject * args) { +static PyObject *py_ue_smulti_line_editable_text_set_text(ue_PySMultiLineEditableText *self, PyObject * args) +{ + ue_py_slate_cast(SMultiLineEditableText); char *text; - if (!PyArg_ParseTuple(args, "s:set_text", &text)) { + if (!PyArg_ParseTuple(args, "s:set_text", &text)) + { return NULL; } - sw_multi_line_editable_text->SetText(FText::FromString(UTF8_TO_TCHAR(text))); + py_SMultiLineEditableText->SetText(FText::FromString(UTF8_TO_TCHAR(text))); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } @@ -100,7 +105,8 @@ PyTypeObject ue_PySMultiLineEditableTextType = { ue_PySMultiLineEditableText_methods, /* tp_methods */ }; -static int ue_py_smulti_line_editable_text_init(ue_PySMultiLineEditableText *self, PyObject *args, PyObject *kwargs) { +static int ue_py_smulti_line_editable_text_init(ue_PySMultiLineEditableText *self, PyObject *args, PyObject *kwargs) +{ ue_py_slate_setup_farguments(SMultiLineEditableText); @@ -111,11 +117,12 @@ static int ue_py_smulti_line_editable_text_init(ue_PySMultiLineEditableText *sel ue_py_slate_farguments_text("text", Text); - ue_py_snew(SMultiLineEditableText, s_widget); + ue_py_snew(SMultiLineEditableText); return 0; } -void ue_python_init_smulti_line_editable_text(PyObject *ue_module) { +void ue_python_init_smulti_line_editable_text(PyObject *ue_module) +{ ue_PySMultiLineEditableTextType.tp_init = (initproc)ue_py_smulti_line_editable_text_init; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.cpp index d239341f4..59423e6e2 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.cpp @@ -4,8 +4,6 @@ #if WITH_EDITOR #include "UEPySNodePanel.h" -#define sw_node_panel StaticCastSharedRef(self->s_panel.s_widget) - static PyMethodDef ue_PySNodePanel_methods[] = { { NULL } /* Sentinel */ }; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.cpp index a073b7b98..c541b26db 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.cpp @@ -71,7 +71,7 @@ static int ue_py_snumeric_entry_box_init(ue_PySNumericEntryBox *self, PyObject * ue_py_slate_farguments_event("on_value_changed", OnValueChanged, FOnInt32ValueChanged, OnInt32Changed); ue_py_slate_farguments_event("on_value_committed", OnValueCommitted, FOnInt32ValueCommitted, OnInt32Committed); - ue_py_snew(SNumericEntryBox, s_compound_widget.s_widget); + ue_py_snew(SNumericEntryBox); } else { @@ -99,7 +99,7 @@ static int ue_py_snumeric_entry_box_init(ue_PySNumericEntryBox *self, PyObject * ue_py_slate_farguments_event("on_value_changed", OnValueChanged, FOnFloatValueChanged, OnFloatChanged); ue_py_slate_farguments_event("on_value_committed", OnValueCommitted, FOnFloatValueCommitted, OnFloatCommitted); - ue_py_snew(SNumericEntryBox, s_compound_widget.s_widget); + ue_py_snew(SNumericEntryBox); } return 0; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySObjectPropertyEntryBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySObjectPropertyEntryBox.cpp index c8684fcac..29e71da51 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySObjectPropertyEntryBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySObjectPropertyEntryBox.cpp @@ -3,9 +3,6 @@ #include "UEPySObjectPropertyEntryBox.h" -#define sw_object_property_entry_box StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) - - static PyMethodDef ue_PySObjectPropertyEntryBox_methods[] = { { NULL } /* Sentinel */ }; @@ -41,7 +38,8 @@ PyTypeObject ue_PySObjectPropertyEntryBoxType = { ue_PySObjectPropertyEntryBox_methods, /* tp_methods */ }; -static int ue_py_sobject_property_entry_box_init(ue_PySObjectPropertyEntryBox *self, PyObject *args, PyObject *kwargs) { +static int ue_py_sobject_property_entry_box_init(ue_PySObjectPropertyEntryBox *self, PyObject *args, PyObject *kwargs) +{ ue_py_slate_setup_farguments(SObjectPropertyEntryBox); ue_py_slate_farguments_optional_bool("allow_clear", AllowClear); @@ -57,11 +55,12 @@ static int ue_py_sobject_property_entry_box_init(ue_PySObjectPropertyEntryBox *s ue_py_slate_farguments_event("on_object_changed", OnObjectChanged, FOnSetObject, OnAssetChanged); ue_py_slate_farguments_event("on_should_filter_asset", OnShouldFilterAsset, FOnShouldFilterAsset, OnShouldFilterAsset); - ue_py_snew(SObjectPropertyEntryBox, s_compound_widget.s_widget); + ue_py_snew(SObjectPropertyEntryBox); return 0; } -void ue_python_init_sobject_property_entry_box(PyObject *ue_module) { +void ue_python_init_sobject_property_entry_box(PyObject *ue_module) +{ ue_PySObjectPropertyEntryBoxType.tp_init = (initproc)ue_py_sobject_property_entry_box_init; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySOverlay.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySOverlay.cpp index fadef42f4..9eb9457e7 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySOverlay.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySOverlay.cpp @@ -3,11 +3,10 @@ #include "UEPySBox.h" - -#define sw_overlay StaticCastSharedRef(self->s_panel.s_widget.s_widget) - static PyObject *py_ue_soverlay_add_slot(ue_PySOverlay *self, PyObject * args, PyObject *kwargs) { + ue_py_slate_cast(SOverlay); + PyObject *py_content; int z_order = -1; int h_align = 0; @@ -31,16 +30,12 @@ static PyObject *py_ue_soverlay_add_slot(ue_PySOverlay *self, PyObject * args, P return nullptr; } - ue_PySWidget *py_swidget = py_ue_is_swidget(py_content); - if (!py_swidget) - { - return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); - } - - Py_INCREF(py_swidget); + TSharedPtr Child = py_ue_is_swidget(py_content); + if (!Child.IsValid()) + return nullptr; - SOverlay::FOverlaySlot &fslot = sw_overlay->AddSlot(z_order); - fslot.AttachWidget(py_swidget->s_widget->AsShared()); + SOverlay::FOverlaySlot &fslot = py_SOverlay->AddSlot(z_order); + fslot.AttachWidget(Child.ToSharedRef()); fslot.HAlign((EHorizontalAlignment)h_align); if (padding) { @@ -66,13 +61,13 @@ static PyObject *py_ue_soverlay_add_slot(ue_PySOverlay *self, PyObject * args, P } fslot.VAlign((EVerticalAlignment)v_align); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_soverlay_get_num_widgets(ue_PySOverlay *self, PyObject * args) { - return PyLong_FromLong(sw_overlay->GetNumWidgets()); + ue_py_slate_cast(SOverlay); + return PyLong_FromLong(py_SOverlay->GetNumWidgets()); } static PyMethodDef ue_PySOverlay_methods[] = { @@ -113,11 +108,9 @@ PyTypeObject ue_PySOverlayType = { ue_PySOverlay_methods, /* tp_methods */ }; -static int ue_py_soverlay_init(ue_PySBox *self, PyObject *args, PyObject *kwargs) +static int ue_py_soverlay_init(ue_PySOverlay *self, PyObject *args, PyObject *kwargs) { - - ue_py_snew_simple(SOverlay, s_panel.s_widget); - + ue_py_snew_simple(SOverlay); return 0; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySProgressBar.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySProgressBar.cpp index eb47a2faf..6406efc40 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySProgressBar.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySProgressBar.cpp @@ -3,17 +3,17 @@ #include "UEPySProgressBar.h" -#define sw_progress_bar StaticCastSharedRef(self->s_leaf_widget.s_widget.s_widget) - -static PyObject *py_ue_sprogress_bar_set_percent(ue_PySProgressBar *self, PyObject *args) { +static PyObject *py_ue_sprogress_bar_set_percent(ue_PySProgressBar *self, PyObject *args) +{ + ue_py_slate_cast(SProgressBar); float percent; - if (!PyArg_ParseTuple(args, "f", &percent)) { + if (!PyArg_ParseTuple(args, "f", &percent)) + { return nullptr; } - sw_progress_bar->SetPercent(percent); + py_SProgressBar->SetPercent(percent); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyMethodDef ue_PySProgressBar_methods[] = { @@ -52,7 +52,8 @@ PyTypeObject ue_PySProgressBarType = { ue_PySProgressBar_methods, /* tp_methods */ }; -static int ue_py_sprogress_bar_init(ue_PySProgressBar *self, PyObject *args, PyObject *kwargs) { +static int ue_py_sprogress_bar_init(ue_PySProgressBar *self, PyObject *args, PyObject *kwargs) +{ ue_py_slate_setup_farguments(SProgressBar); ue_py_slate_farguments_optional_struct_ptr("background_image", BackgroundImage, FSlateBrush); @@ -65,11 +66,12 @@ static int ue_py_sprogress_bar_init(ue_PySProgressBar *self, PyObject *args, PyO ue_py_slate_farguments_optional_float("refresh_rate", RefreshRate); ue_py_slate_farguments_optional_struct_ptr("style", Style, FProgressBarStyle); - ue_py_snew(SProgressBar, s_leaf_widget.s_widget); + ue_py_snew(SProgressBar); return 0; } -void ue_python_init_sprogress_bar(PyObject *ue_module) { +void ue_python_init_sprogress_bar(PyObject *ue_module) +{ ue_PySProgressBarType.tp_init = (initproc)ue_py_sprogress_bar_init; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonComboBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonComboBox.cpp index 83dedef20..4e8f7b22b 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonComboBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonComboBox.cpp @@ -4,42 +4,47 @@ #include "UEPySPythonComboBox.h" -#define sw_python_combo_box StaticCastSharedRef(self->s_panel.s_widget.s_widget) - -static PyObject *py_ue_spython_combo_box_clear_selection(ue_PySPythonComboBox *self, PyObject * args) { - sw_python_combo_box->ClearSelection(); - Py_INCREF(self); - return (PyObject *)self; +static PyObject *py_ue_spython_combo_box_clear_selection(ue_PySPythonComboBox *self, PyObject * args) +{ + ue_py_slate_cast(SPythonComboBox); + py_SPythonComboBox->ClearSelection(); + Py_RETURN_SLATE_SELF; } -static PyObject *py_ue_spython_combo_box_get_selected_item(ue_PySPythonComboBox *self, PyObject * args) { - - TSharedPtr ptr_item = sw_python_combo_box->GetSelectedItem(); +static PyObject *py_ue_spython_combo_box_get_selected_item(ue_PySPythonComboBox *self, PyObject * args) +{ + ue_py_slate_cast(SPythonComboBox); + TSharedPtr ptr_item = py_SPythonComboBox->GetSelectedItem(); if (!ptr_item.IsValid()) return PyErr_Format(PyExc_Exception, "invalid shared pointer to python item"); - Py_INCREF(ptr_item.Get()->py_object); - return ptr_item.Get()->py_object; + Py_INCREF(ptr_item->py_object); + return ptr_item->py_object; } -static PyObject *py_ue_spython_combo_box_set_selected_item(ue_PySPythonComboBox *self, PyObject * args) { +static PyObject *py_ue_spython_combo_box_set_selected_item(ue_PySPythonComboBox *self, PyObject * args) +{ + ue_py_slate_cast(SPythonComboBox); + PyObject *py_item; - if (!PyArg_ParseTuple(args, "O", &py_item)) { + if (!PyArg_ParseTuple(args, "O", &py_item)) + { return nullptr; } - for (TSharedPtr item : *(sw_python_combo_box->PythonOptionsSource)) { + for (TSharedPtr item : *(py_SPythonComboBox->PythonOptionsSource)) + { // just for being safe if (!item.IsValid()) continue; - if (py_item == item.Get()->py_object) { - sw_python_combo_box->SetSelectedItem(item); + if (py_item == item->py_object) + { + py_SPythonComboBox->SetSelectedItem(item); break; } } - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyMethodDef ue_PySPythonComboBox_methods[] = { @@ -80,24 +85,28 @@ PyTypeObject ue_PySPythonComboBoxType = { ue_PySPythonComboBox_methods, /* tp_methods */ }; -static int ue_py_spython_combo_box_init(ue_PySPythonComboBox *self, PyObject *args, PyObject *kwargs) { +static int ue_py_spython_combo_box_init(ue_PySPythonComboBox *self, PyObject *args, PyObject *kwargs) +{ ue_py_slate_setup_farguments(SPythonComboBox); // first of all check for values PyObject *values = ue_py_dict_get_item(kwargs, "options_source"); - if (!values) { + if (!values) + { PyErr_SetString(PyExc_Exception, "you must specify the combo box items"); return -1; } values = PyObject_GetIter(values); - if (!values) { + if (!values) + { PyErr_SetString(PyExc_Exception, "values field is not an iterable"); return -1; } TArray> *items = new TArray>(); - while (PyObject *item = PyIter_Next(values)) { + while (PyObject *item = PyIter_Next(values)) + { Py_INCREF(item); items->Add(TSharedPtr(new FPythonItem(item))); } @@ -105,17 +114,17 @@ static int ue_py_spython_combo_box_init(ue_PySPythonComboBox *self, PyObject *ar arguments.OptionsSource(items); - ue_PySWidget *s_widget_content = nullptr; + TSharedPtr child = nullptr; PyObject *content = ue_py_dict_get_item(kwargs, "content"); - if (content) { - s_widget_content = py_ue_is_swidget(content); - if (!s_widget_content) { - PyErr_SetString(PyExc_Exception, "content is not a SWidget"); + if (content) + { + child = py_ue_is_swidget(content); + if (!child.IsValid()) + { return -1; } - Py_INCREF(s_widget_content); - arguments.Content()[s_widget_content->s_widget]; + arguments.Content()[child.ToSharedRef()]; } ue_py_slate_farguments_optional_struct_ptr("button_style", ButtonStyle, FButtonStyle); @@ -136,15 +145,18 @@ static int ue_py_spython_combo_box_init(ue_PySPythonComboBox *self, PyObject *ar ue_py_slate_farguments_event("on_selection_changed", OnSelectionChanged, TSlateDelegates>::FOnSelectionChanged, OnSelectionChanged); - ue_py_snew(SPythonComboBox, s_panel.s_widget); + ue_py_snew(SPythonComboBox); + + ue_py_slate_cast(SPythonComboBox); // keep track of the list, so we can delete on destruction - sw_python_combo_box->PythonOptionsSource = items; + py_SPythonComboBox->PythonOptionsSource = items; return 0; } -void ue_python_init_spython_combo_box(PyObject *ue_module) { +void ue_python_init_spython_combo_box(PyObject *ue_module) +{ ue_PySPythonComboBoxType.tp_base = &ue_PySPanelType; ue_PySPythonComboBoxType.tp_init = (initproc)ue_py_spython_combo_box_init; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.cpp index 7874cf9d5..fd1567dc9 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.cpp @@ -1,19 +1,19 @@ -#if WITH_EDITOR -#include "UnrealEnginePythonPrivatePCH.h" - -#include "UEPySPythonEditorViewport.h" +#include "UnrealEnginePythonPrivatePCH.h" +#if WITH_EDITOR -#define sw_python_editor_viewport StaticCastSharedRef(self->s_editor_viewport.s_compound_widget.s_widget.s_widget) +#include "UEPySPythonEditorViewport.h" static PyObject *py_ue_spython_editor_viewport_get_world(ue_PySPythonEditorViewport *self, PyObject * args) { - Py_RETURN_UOBJECT(sw_python_editor_viewport->GetPythonWorld()); + ue_py_slate_cast(SPythonEditorViewport); + Py_RETURN_UOBJECT(py_SPythonEditorViewport->GetPythonWorld()); } static PyObject *py_ue_spython_editor_viewport_set_show_bounds(ue_PySPythonEditorViewport *self, PyObject * args) { + ue_py_slate_cast(SPythonEditorViewport); PyObject *py_bool; if (!PyArg_ParseTuple(args, "O:set_show_bounds", &py_bool)) { @@ -21,14 +21,14 @@ static PyObject *py_ue_spython_editor_viewport_set_show_bounds(ue_PySPythonEdito } - sw_python_editor_viewport->GetViewportClient()->SetShowBounds(PyObject_IsTrue(py_bool) ? true : false); + py_SPythonEditorViewport->GetViewportClient()->SetShowBounds(PyObject_IsTrue(py_bool) ? true : false); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_spython_editor_viewport_set_show_stats(ue_PySPythonEditorViewport *self, PyObject * args) { + ue_py_slate_cast(SPythonEditorViewport); PyObject *py_bool; if (!PyArg_ParseTuple(args, "O:set_show_stats", &py_bool)) { @@ -36,33 +36,33 @@ static PyObject *py_ue_spython_editor_viewport_set_show_stats(ue_PySPythonEditor } - sw_python_editor_viewport->GetViewportClient()->SetShowStats(PyObject_IsTrue(py_bool) ? true : false); + py_SPythonEditorViewport->GetViewportClient()->SetShowStats(PyObject_IsTrue(py_bool) ? true : false); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_spython_editor_viewport_set_view_mode(ue_PySPythonEditorViewport *self, PyObject * args) { + ue_py_slate_cast(SPythonEditorViewport); int mode; if (!PyArg_ParseTuple(args, "i:set_view_mode", &mode)) { - return NULL; + return nullptr; } - sw_python_editor_viewport->GetViewportClient()->SetViewMode((EViewModeIndex)mode); + py_SPythonEditorViewport->GetViewportClient()->SetViewMode((EViewModeIndex)mode); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_spython_editor_viewport_set_exposure_settings(ue_PySPythonEditorViewport *self, PyObject * args) { + ue_py_slate_cast(SPythonEditorViewport); PyObject *py_settings; if (!PyArg_ParseTuple(args, "O:set_exposure_settings", &py_settings)) { - return NULL; + return nullptr; } FExposureSettings *settings = ue_py_check_struct(py_settings); @@ -72,14 +72,14 @@ static PyObject *py_ue_spython_editor_viewport_set_exposure_settings(ue_PySPytho } - sw_python_editor_viewport->GetViewportClient()->ExposureSettings = *settings; + py_SPythonEditorViewport->GetViewportClient()->ExposureSettings = *settings; - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_spython_editor_viewport_set_view_location(ue_PySPythonEditorViewport *self, PyObject * args) { + ue_py_slate_cast(SPythonEditorViewport); float x = 0, y = 0, z = 0; FVector vec; @@ -104,14 +104,14 @@ static PyObject *py_ue_spython_editor_viewport_set_view_location(ue_PySPythonEdi vec.Z = z; } - sw_python_editor_viewport->GetViewportClient()->SetViewLocation(vec); + py_SPythonEditorViewport->GetViewportClient()->SetViewLocation(vec); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_spython_editor_viewport_set_view_rotation(ue_PySPythonEditorViewport *self, PyObject * args) { + ue_py_slate_cast(SPythonEditorViewport); float roll = 0, pitch = 0, yaw = 0; FRotator rot; @@ -136,27 +136,28 @@ static PyObject *py_ue_spython_editor_viewport_set_view_rotation(ue_PySPythonEdi rot.Yaw = yaw; } - sw_python_editor_viewport->GetViewportClient()->SetViewRotation(rot); + py_SPythonEditorViewport->GetViewportClient()->SetViewRotation(rot); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_spython_editor_viewport_simulate(ue_PySPythonEditorViewport *self, PyObject * args) { + ue_py_slate_cast(SPythonEditorViewport); PyObject *py_bool; if (!PyArg_ParseTuple(args, "O:simulate", &py_bool)) { return NULL; } - sw_python_editor_viewport->Simulate(PyObject_IsTrue(py_bool) != 0); + py_SPythonEditorViewport->Simulate(PyObject_IsTrue(py_bool) != 0); Py_RETURN_NONE; } static PyObject *py_ue_spython_editor_viewport_set_light_color(ue_PySPythonEditorViewport *self, PyObject * args) { + ue_py_slate_cast(SPythonEditorViewport); PyObject *py_obj; if (!PyArg_ParseTuple(args, "O", &py_obj)) @@ -166,14 +167,14 @@ static PyObject *py_ue_spython_editor_viewport_set_light_color(ue_PySPythonEdito if (!py_fcolor) return PyErr_Format(PyExc_Exception, "argument is not a FColor"); - sw_python_editor_viewport->GetPreviewScene()->SetLightColor(py_fcolor->color); + py_SPythonEditorViewport->GetPreviewScene()->SetLightColor(py_fcolor->color); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_spython_editor_viewport_set_light_direction(ue_PySPythonEditorViewport *self, PyObject * args) { + ue_py_slate_cast(SPythonEditorViewport); float roll = 0, pitch = 0, yaw = 0; FRotator rot; @@ -198,42 +199,41 @@ static PyObject *py_ue_spython_editor_viewport_set_light_direction(ue_PySPythonE rot.Yaw = yaw; } - sw_python_editor_viewport->GetPreviewScene()->SetLightDirection(rot); + py_SPythonEditorViewport->GetPreviewScene()->SetLightDirection(rot); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_spython_editor_viewport_set_sky_brightness(ue_PySPythonEditorViewport *self, PyObject * args) { + ue_py_slate_cast(SPythonEditorViewport); float brightness; if (!PyArg_ParseTuple(args, "f", &brightness)) return nullptr; - sw_python_editor_viewport->GetPreviewScene()->SetSkyBrightness(brightness); + py_SPythonEditorViewport->GetPreviewScene()->SetSkyBrightness(brightness); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_spython_editor_viewport_set_light_brightness(ue_PySPythonEditorViewport *self, PyObject * args) { + ue_py_slate_cast(SPythonEditorViewport); float brightness; if (!PyArg_ParseTuple(args, "f", &brightness)) return nullptr; - sw_python_editor_viewport->GetPreviewScene()->SetLightBrightness(brightness); + py_SPythonEditorViewport->GetPreviewScene()->SetLightBrightness(brightness); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_spython_editor_viewport_get_light(ue_PySPythonEditorViewport *self, PyObject * args) { - - UDirectionalLightComponent *light = sw_python_editor_viewport->GetPreviewScene()->DirectionalLight; + ue_py_slate_cast(SPythonEditorViewport); + UDirectionalLightComponent *light = py_SPythonEditorViewport->GetPreviewScene()->DirectionalLight; Py_RETURN_UOBJECT(light); } @@ -441,7 +441,7 @@ PyTypeObject ue_PySPythonEditorViewportType = { static int ue_py_spython_editor_viewport_init(ue_PySPythonEditorViewport *self, PyObject *args, PyObject *kwargs) { - ue_py_snew_simple(SPythonEditorViewport, s_editor_viewport.s_compound_widget.s_widget); + ue_py_snew_simple(SPythonEditorViewport); return 0; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp index e8eb44747..053836895 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp @@ -7,111 +7,115 @@ void SPythonListView::SetHeaderRow(TSharedPtr InHeaderRowWidget) { - HeaderRow = InHeaderRowWidget; + HeaderRow = InHeaderRowWidget; } -#define sw_python_list_view StaticCastSharedRef(self->s_list_view.s_table_view_base.s_compound_widget.s_widget.s_widget) - -static PyObject *py_ue_spython_list_view_get_selected_items(ue_PySPythonListView *self, PyObject * args) { +static PyObject *py_ue_spython_list_view_get_selected_items(ue_PySPythonListView *self, PyObject * args) +{ + ue_py_slate_cast(SPythonListView); PyObject *py_list = PyList_New(0); - TArray> items = sw_python_list_view->GetSelectedItems(); + TArray> items = py_SPythonListView->GetSelectedItems(); - for (auto item : items) { + for (auto item : items) + { PyList_Append(py_list, item->py_object); } return py_list; } -static PyObject *py_ue_spython_list_view_clear_selection(ue_PySPythonListView *self, PyObject * args) +static PyObject *py_ue_spython_list_view_clear_selection(ue_PySPythonListView *self, PyObject * args) { - sw_python_list_view->ClearSelection(); + ue_py_slate_cast(SPythonListView); + py_SPythonListView->ClearSelection(); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } -static PyObject *py_ue_spython_list_view_get_num_items_selected(ue_PySPythonListView *self, PyObject * args) { - return PyLong_FromLong(sw_python_list_view->GetNumItemsSelected()); +static PyObject *py_ue_spython_list_view_get_num_items_selected(ue_PySPythonListView *self, PyObject * args) +{ + ue_py_slate_cast(SPythonListView); + return PyLong_FromLong(py_SPythonListView->GetNumItemsSelected()); } static PyObject *py_ue_spython_list_view_set_header_row(ue_PySPythonListView *self, PyObject * args) { - PyObject *py_content; + ue_py_slate_cast(SPythonListView); + PyObject *py_content; if (!PyArg_ParseTuple(args, "O:set_header_row", &py_content)) { - return NULL; + return nullptr; } - ue_PySHeaderRow *py_sheader_row = py_ue_is_sheader_row(py_content); - if (!py_sheader_row) - { - return PyErr_Format(PyExc_Exception, "argument is not a SHeaderRow"); - } + TSharedPtr HeaderRow = py_ue_is_swidget(py_content); + if (!HeaderRow.IsValid()) + { + return nullptr; + } - Py_INCREF(py_sheader_row); - sw_python_list_view->SetHeaderRow(StaticCastSharedRef(py_sheader_row->s_border.s_compound_widget.s_widget.s_widget->AsShared())); + py_SPythonListView->SetHeaderRow(HeaderRow); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_spython_list_view_update_item_source_list(ue_PySPythonListView *self, PyObject * args) { - PyObject *values; - if (!PyArg_ParseTuple(args, "O:update_item_source_list", &values)) - { - return NULL; - } - - values = PyObject_GetIter(values); - if (!values) { - return PyErr_Format(PyExc_Exception, "argument is not an iterable"); - } - - //NOTE: ikrimae: Increment first so we don't decrement and destroy python objects that - //we're passing in e.g. if you pass the same item source array into update_items(). - //Might not be necessary but I'm not too familiar with python's GC - TArray> tempNewArray; - while (PyObject *item = PyIter_Next(values)) { - Py_INCREF(item); - tempNewArray.Add(TSharedPtr(new FPythonItem(item))); - } - - for (TSharedPtr& item : self->item_source_list) - { - Py_XDECREF(item->py_object); - } - self->item_source_list.Empty(); - - Move>>(self->item_source_list, tempNewArray); - Py_RETURN_NONE; + PyObject *values; + if (!PyArg_ParseTuple(args, "O:update_item_source_list", &values)) + { + return NULL; + } + + values = PyObject_GetIter(values); + if (!values) + { + return PyErr_Format(PyExc_Exception, "argument is not an iterable"); + } + + //NOTE: ikrimae: Increment first so we don't decrement and destroy python objects that + //we're passing in e.g. if you pass the same item source array into update_items(). + //Might not be necessary but I'm not too familiar with python's GC + TArray> tempNewArray; + while (PyObject *item = PyIter_Next(values)) + { + Py_INCREF(item); + tempNewArray.Add(TSharedPtr(new FPythonItem(item))); + } + + for (TSharedPtr& item : self->item_source_list) + { + Py_XDECREF(item->py_object); + } + self->item_source_list.Empty(); + + Move>>(self->item_source_list, tempNewArray); + Py_RETURN_NONE; } static PyMethodDef ue_PySPythonListView_methods[] = { { "get_selected_items", (PyCFunction)py_ue_spython_list_view_get_selected_items, METH_VARARGS, "" }, { "get_num_items_selected", (PyCFunction)py_ue_spython_list_view_get_num_items_selected, METH_VARARGS, "" }, { "clear_selection", (PyCFunction)py_ue_spython_list_view_clear_selection, METH_VARARGS, "" }, - { "set_header_row", (PyCFunction)py_ue_spython_list_view_set_header_row, METH_VARARGS, "" }, - { "update_item_source_list", (PyCFunction)py_spython_list_view_update_item_source_list, METH_VARARGS, "" }, + { "set_header_row", (PyCFunction)py_ue_spython_list_view_set_header_row, METH_VARARGS, "" }, + { "update_item_source_list", (PyCFunction)py_spython_list_view_update_item_source_list, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; static void ue_PySPythonListView_dealloc(ue_PySPythonListView *self) { #if defined(UEPY_MEMORY_DEBUG) - UE_LOG(LogPython, Warning, TEXT("Destroying ue_PySPythonListView %p"), self); + UE_LOG(LogPython, Warning, TEXT("Destroying ue_PySPythonListView %p"), self); #endif - for (TSharedPtr& item : self->item_source_list) - { - Py_XDECREF(item->py_object); - } - self->item_source_list.Empty(); + for (TSharedPtr& item : self->item_source_list) + { + Py_XDECREF(item->py_object); + } + self->item_source_list.Empty(); - Py_TYPE(self)->tp_free((PyObject *)self); + Py_TYPE(self)->tp_free((PyObject *)self); } PyTypeObject ue_PySPythonListViewType = { @@ -119,7 +123,7 @@ PyTypeObject ue_PySPythonListViewType = { "unreal_engine.SPythonListView", /* tp_name */ sizeof(ue_PySPythonListView), /* tp_basicsize */ 0, /* tp_itemsize */ - (destructor)ue_PySPythonListView_dealloc, /* tp_dealloc */ + (destructor)ue_PySPythonListView_dealloc, /* tp_dealloc */ 0, /* tp_print */ 0, /* tp_getattr */ 0, /* tp_setattr */ @@ -145,44 +149,49 @@ PyTypeObject ue_PySPythonListViewType = { ue_PySPythonListView_methods, /* tp_methods */ }; -static int ue_py_spython_list_view_init(ue_PySPythonListView *self, PyObject *args, PyObject *kwargs) { +static int ue_py_spython_list_view_init(ue_PySPythonListView *self, PyObject *args, PyObject *kwargs) +{ ue_py_slate_setup_farguments(SPythonListView); - // first of all check for values - PyObject *values = ue_py_dict_get_item(kwargs, "list_items_source"); - if (!values) { - PyErr_SetString(PyExc_Exception, "you must specify list items"); - return -1; - } - - values = PyObject_GetIter(values); - if (!values) { - Py_DECREF(values); - return -1; - } - - new(&self->item_source_list) TArray>(); - while (PyObject *item = PyIter_Next(values)) { - Py_INCREF(item); - self->item_source_list.Add(TSharedPtr(new FPythonItem(item))); - } - arguments.ListItemsSource(&self->item_source_list); - - { - PyObject *value = ue_py_dict_get_item(kwargs, "header_row"); - if (value) { - if (ue_PySHeaderRow *_py_swidget = py_ue_is_sheader_row(value)) { - - Py_INCREF(_py_swidget); - arguments.HeaderRow(StaticCastSharedRef(((ue_PySWidget *)_py_swidget)->s_widget)); - } - else { - PyErr_SetString(PyExc_TypeError, "unsupported type for attribute " "header_row"); - return -1; - } - } - } + // first of all check for values + PyObject *values = ue_py_dict_get_item(kwargs, "list_items_source"); + if (!values) + { + PyErr_SetString(PyExc_Exception, "you must specify list items"); + return -1; + } + + values = PyObject_GetIter(values); + if (!values) + { + Py_DECREF(values); + return -1; + } + + new(&self->item_source_list) TArray>(); + while (PyObject *item = PyIter_Next(values)) + { + Py_INCREF(item); + self->item_source_list.Add(TSharedPtr(new FPythonItem(item))); + } + arguments.ListItemsSource(&self->item_source_list); + + { + PyObject *value = ue_py_dict_get_item(kwargs, "header_row"); + if (value) + { + if (ue_PySHeaderRow *_py_swidget = py_ue_is_sheader_row(value)) + { + arguments.HeaderRow(StaticCastSharedRef(((ue_PySWidget *)_py_swidget)->Widget)); + } + else + { + PyErr_SetString(PyExc_TypeError, "unsupported type for attribute " "header_row"); + return -1; + } + } + } ue_py_slate_farguments_optional_enum("allow_overscroll", AllowOverscroll, EAllowOverscroll); ue_py_slate_farguments_optional_bool("clear_selection_on_click", ClearSelectionOnClick); @@ -198,11 +207,12 @@ static int ue_py_spython_list_view_init(ue_PySPythonListView *self, PyObject *ar ue_py_slate_farguments_optional_float("wheel_scroll_multiplier", WheelScrollMultiplier); #endif - ue_py_snew(SPythonListView, s_list_view.s_table_view_base.s_compound_widget.s_widget); + ue_py_snew(SPythonListView); return 0; } -void ue_python_init_spython_list_view(PyObject *ue_module) { +void ue_python_init_spython_list_view(PyObject *ue_module) +{ ue_PySPythonListViewType.tp_init = (initproc)ue_py_spython_list_view_init; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.cpp index a4d8b3d2a..4a080b5d1 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.cpp @@ -3,9 +3,6 @@ #include "UEPySPythonMultiColumnTableRow.h" - -#define sw_python_multicolumn_table_row StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) - static PyMethodDef ue_PySPythonMultiColumnTableRow_methods[] = { { NULL } /* Sentinel */ }; @@ -41,38 +38,40 @@ PyTypeObject ue_PySPythonMultiColumnTableRowType = { ue_PySPythonMultiColumnTableRow_methods, /* tp_methods */ }; -static int ue_py_spython_multicolumn_table_row_init(ue_PySPythonMultiColumnTableRow *self, PyObject *args, PyObject *kwargs) { +static int ue_py_spython_multicolumn_table_row_init(ue_PySPythonMultiColumnTableRow *self, PyObject *args, PyObject *kwargs) +{ - PyObject *py_object = nullptr; - if (!PyArg_ParseTuple(args, "O", &py_object)) - { - return -1; - } + PyObject *py_object = nullptr; + if (!PyArg_ParseTuple(args, "O", &py_object)) + { + return -1; + } - ue_PySTableViewBase* py_owner_table_view_base = py_ue_is_stable_view_base(py_object); - if (!py_owner_table_view_base) { - PyErr_SetString(PyExc_Exception, "Argument is not a STableViewBase"); - return -1; - } + ue_PySTableViewBase* py_owner_table_view_base = py_ue_is_stable_view_base(py_object); + if (!py_owner_table_view_base) + { + PyErr_SetString(PyExc_Exception, "Argument is not a STableViewBase"); + return -1; + } - Py_INCREF(py_owner_table_view_base); - ue_py_snew_simple_with_req_args( - SPythonMultiColumnTableRow, s_compound_widget.s_widget, - StaticCastSharedRef(py_owner_table_view_base->s_compound_widget.s_widget.s_widget), - (PyObject *)self); + Py_INCREF(py_owner_table_view_base); + ue_py_snew_simple_with_req_args( + SPythonMultiColumnTableRow, + StaticCastSharedRef(py_owner_table_view_base->s_compound_widget.s_widget.Widget), + (PyObject *)self); return 0; } void ue_python_init_spython_multicolumn_table_row(PyObject *ue_module) { - ue_PySPythonMultiColumnTableRowType.tp_base = &ue_PySCompoundWidgetType; - ue_PySPythonMultiColumnTableRowType.tp_init = (initproc)ue_py_spython_multicolumn_table_row_init; + ue_PySPythonMultiColumnTableRowType.tp_base = &ue_PySCompoundWidgetType; + ue_PySPythonMultiColumnTableRowType.tp_init = (initproc)ue_py_spython_multicolumn_table_row_init; - if (PyType_Ready(&ue_PySPythonMultiColumnTableRowType) < 0) - return; + if (PyType_Ready(&ue_PySPythonMultiColumnTableRowType) < 0) + return; - Py_INCREF(&ue_PySPythonMultiColumnTableRowType); - PyModule_AddObject(ue_module, "SPythonMultiColumnTableRow", (PyObject *)&ue_PySPythonMultiColumnTableRowType); + Py_INCREF(&ue_PySPythonMultiColumnTableRowType); + PyModule_AddObject(ue_module, "SPythonMultiColumnTableRow", (PyObject *)&ue_PySPythonMultiColumnTableRowType); } ue_PySPythonMultiColumnTableRow *py_ue_is_spython_multicolumn_table_row(PyObject *obj) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h index 21ccda269..8d949c4bb 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h @@ -11,98 +11,99 @@ extern PyTypeObject ue_PySCompoundWidgetType; extern PyTypeObject ue_PySTableViewBaseType; -class SPythonMultiColumnTableRow : public SMultiColumnTableRow> { +class SPythonMultiColumnTableRow : public SMultiColumnTableRow> +{ public: - SLATE_BEGIN_ARGS(SPythonMultiColumnTableRow) { } - SLATE_END_ARGS(); - - void Construct(const FArguments& InArgs, const TSharedRef& InOwnerTableView, PyObject *in_py_self) - { - SetPyObject(in_py_self); - SMultiColumnTableRow>::Construct(FSuperRowType::FArguments(), InOwnerTableView); - } - - TSharedRef GenerateWidgetForColumn(const FName& ColumnName) - { - FScopePythonGIL gil; - - if (!PyObject_HasAttrString(self, (char *)"generate_widget_for_column")) - return SNullWidget::NullWidget; - - PyObject *py_callable_generate_widget_for_column = PyObject_GetAttrString(self, (char *)"generate_widget_for_column"); - if (!PyCalllable_Check_Extended(py_callable_generate_widget_for_column)) - { - UE_LOG(LogPython, Error, TEXT("generate_widget_for_column is not a callable")); - return SNullWidget::NullWidget; - } - - PyObject *ret = PyObject_CallFunction(py_callable_generate_widget_for_column, (char *)"s", TCHAR_TO_UTF8(*ColumnName.ToString())); - if (!ret) - { - unreal_engine_py_log_error(); - return SNullWidget::NullWidget; - } - - ue_PySWidget *s_widget = py_ue_is_swidget(ret); - if (!s_widget) - { - Py_DECREF(ret); - UE_LOG(LogPython, Error, TEXT("returned value is not a SWidget")); - return SNullWidget::NullWidget; - } - - TSharedRef value = s_widget->s_widget; - Py_DECREF(ret); - return value; - } - - - FReply OnMouseButtonDoubleClick(const FGeometry& InMyGeometry, const FPointerEvent& InMouseEvent) - { - FScopePythonGIL gil; - - if (PyObject_HasAttrString(self, (char *)"on_mouse_button_double_click")) - { - PyObject *py_callable_on_mouse_button_double_click = PyObject_GetAttrString(self, (char *)"on_mouse_button_double_click"); - if (!PyCalllable_Check_Extended(py_callable_on_mouse_button_double_click)) - { - UE_LOG(LogPython, Error, TEXT("on_mouse_button_double_click is not a callable")); - return FReply::Unhandled(); - } - - PyObject *ret = PyObject_CallFunction(py_callable_on_mouse_button_double_click, (char *)"OO", py_ue_new_fgeometry(InMyGeometry), py_ue_new_fpointer_event(InMouseEvent)); - if (!ret) - { - unreal_engine_py_log_error(); - return FReply::Unhandled(); - } - - if (ret == Py_False) - { - Py_DECREF(ret); - return FReply::Unhandled(); - } - Py_DECREF(ret); - return FReply::Handled(); - } - else - { - return SPythonMultiColumnTableRow::OnMouseButtonDoubleClick(InMyGeometry, InMouseEvent); - } - } - - void SetPyObject(PyObject *py_obj) - { - self = py_obj; - } + SLATE_BEGIN_ARGS(SPythonMultiColumnTableRow) {} + SLATE_END_ARGS(); + + void Construct(const FArguments& InArgs, const TSharedRef& InOwnerTableView, PyObject *in_py_self) + { + SetPyObject(in_py_self); + SMultiColumnTableRow>::Construct(FSuperRowType::FArguments(), InOwnerTableView); + } + + TSharedRef GenerateWidgetForColumn(const FName& ColumnName) + { + FScopePythonGIL gil; + + if (!PyObject_HasAttrString(self, (char *)"generate_widget_for_column")) + return SNullWidget::NullWidget; + + PyObject *py_callable_generate_widget_for_column = PyObject_GetAttrString(self, (char *)"generate_widget_for_column"); + if (!PyCalllable_Check_Extended(py_callable_generate_widget_for_column)) + { + UE_LOG(LogPython, Error, TEXT("generate_widget_for_column is not a callable")); + return SNullWidget::NullWidget; + } + + PyObject *ret = PyObject_CallFunction(py_callable_generate_widget_for_column, (char *)"s", TCHAR_TO_UTF8(*ColumnName.ToString())); + if (!ret) + { + unreal_engine_py_log_error(); + return SNullWidget::NullWidget; + } + + TSharedPtr Widget = py_ue_is_swidget(ret); + if (!Widget.IsValid()) + { + Py_DECREF(ret); + UE_LOG(LogPython, Error, TEXT("returned value is not a SWidget")); + return SNullWidget::NullWidget; + } + + Py_DECREF(ret); + return Widget.ToSharedRef(); + } + + + FReply OnMouseButtonDoubleClick(const FGeometry& InMyGeometry, const FPointerEvent& InMouseEvent) + { + FScopePythonGIL gil; + + if (PyObject_HasAttrString(self, (char *)"on_mouse_button_double_click")) + { + PyObject *py_callable_on_mouse_button_double_click = PyObject_GetAttrString(self, (char *)"on_mouse_button_double_click"); + if (!PyCalllable_Check_Extended(py_callable_on_mouse_button_double_click)) + { + UE_LOG(LogPython, Error, TEXT("on_mouse_button_double_click is not a callable")); + return FReply::Unhandled(); + } + + PyObject *ret = PyObject_CallFunction(py_callable_on_mouse_button_double_click, (char *)"OO", py_ue_new_fgeometry(InMyGeometry), py_ue_new_fpointer_event(InMouseEvent)); + if (!ret) + { + unreal_engine_py_log_error(); + return FReply::Unhandled(); + } + + if (ret == Py_False) + { + Py_DECREF(ret); + return FReply::Unhandled(); + } + Py_DECREF(ret); + return FReply::Handled(); + } + else + { + return SPythonMultiColumnTableRow::OnMouseButtonDoubleClick(InMyGeometry, InMouseEvent); + } + } + + void SetPyObject(PyObject *py_obj) + { + self = py_obj; + } private: - PyObject *self = nullptr; + PyObject * self = nullptr; - TSharedPtr RowPythonObject; + TSharedPtr RowPythonObject; }; -typedef struct { - ue_PySCompoundWidget s_compound_widget; +typedef struct +{ + ue_PySCompoundWidget s_compound_widget; /* Type-specific fields go here. */ } ue_PySPythonMultiColumnTableRow; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonShelf.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonShelf.cpp index 267af55c3..a543f0884 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonShelf.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonShelf.cpp @@ -109,7 +109,7 @@ static int ue_py_spython_shelf_init(ue_PySPythonShelf *self, PyObject *args, PyO return -1; } - FContentBrowserModule& module = FModuleManager::Get().LoadModuleChecked(TEXT("ContentBrowser")); + FContentBrowserModule& Module = FModuleManager::Get().LoadModuleChecked(TEXT("ContentBrowser")); FAssetPickerConfig asset_picker_config; asset_picker_config.InitialAssetViewType = EAssetViewType::Tile; @@ -173,8 +173,8 @@ static int ue_py_spython_shelf_init(ue_PySPythonShelf *self, PyObject *args, PyO asset_picker_config.OnAssetSelected = handler; } - new(&self->s_compound_widget.s_widget.s_widget) TSharedRef(module.Get().CreateAssetPicker(asset_picker_config)); - ue_py_register_swidget((SWidget *)&self->s_compound_widget.s_widget.s_widget.Get(), (ue_PySWidget *)self); + new(&self->s_compound_widget.s_widget.Widget) TSharedRef(Module.Get().CreateAssetPicker(asset_picker_config)); + return 0; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonTreeView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonTreeView.cpp index 17d9909e0..1c41e8991 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonTreeView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonTreeView.cpp @@ -5,18 +5,16 @@ #include "UEPySPythonTreeView.h" - -#define sw_python_tree_view StaticCastSharedRef(self->s_tree_view.s_list_view.s_table_view_base.s_compound_widget.s_widget.s_widget) - static PyObject *py_ue_spython_tree_view_set_item_expansion(ue_PySPythonTreeView *self, PyObject * args) { + ue_py_slate_cast(SPythonTreeView); PyObject *py_item; PyObject *py_bool; if (!PyArg_ParseTuple(args, "OO:set_item_expansion", &py_item, &py_bool)) { return nullptr; } - sw_python_tree_view->SetPythonItemExpansion(py_item, PyObject_IsTrue(py_bool) ? true : false); + py_SPythonTreeView->SetPythonItemExpansion(py_item, PyObject_IsTrue(py_bool) ? true : false); Py_RETURN_NONE; } @@ -109,7 +107,7 @@ static int ue_py_spython_tree_view_init(ue_PySPythonTreeView *self, PyObject *ar #endif ue_py_slate_farguments_event("on_get_children", OnGetChildren, TSlateDelegates>::FOnGetChildren, GetChildren); - ue_py_snew(SPythonTreeView, s_tree_view.s_list_view.s_table_view_base.s_compound_widget.s_widget); + ue_py_snew(SPythonTreeView); return 0; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp index 4369af222..67a3e8e68 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp @@ -3,10 +3,9 @@ #include "UEPySPythonWidget.h" -#define sw_python_widget StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) - static PyObject *py_ue_spython_widget_set_active(ue_PySPythonWidget *self, PyObject *args) { + ue_py_slate_cast(SPythonWidget); PyObject *py_bool = nullptr; if (!PyArg_ParseTuple(args, "|O:set_active", &py_bool)) { @@ -26,45 +25,42 @@ static PyObject *py_ue_spython_widget_set_active(ue_PySPythonWidget *self, PyObj } } - sw_python_widget->SetActive(bActive); - Py_INCREF(self); - return (PyObject *)self; + py_SPythonWidget->SetActive(bActive); + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_spython_widget_set_content(ue_PySPythonWidget *self, PyObject *args) { - PyObject *py_content; - if (!PyArg_ParseTuple(args, "O:set_content", &py_content)) - { - return NULL; - } - - ue_PySWidget *py_swidget = py_ue_is_swidget(py_content); - if (!py_swidget) - { - return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); - } + ue_py_slate_cast(SPythonWidget); + PyObject *py_content; + if (!PyArg_ParseTuple(args, "O:set_content", &py_content)) + { + return NULL; + } - Py_INCREF(py_swidget); + TSharedPtr Content = py_ue_is_swidget(py_content); + if (!Content.IsValid()) + { + return nullptr; + } - sw_python_widget->SetContent(py_swidget->s_widget->AsShared()); + py_SPythonWidget->SetContent(Content.ToSharedRef()); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_spython_widget_clear_content(ue_PySPythonWidget *self, PyObject *args) { - sw_python_widget->ClearContent(); + ue_py_slate_cast(SPythonWidget); + py_SPythonWidget->ClearContent(); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyMethodDef ue_PySPythonWidget_methods[] = { { "set_active", (PyCFunction)py_ue_spython_widget_set_active, METH_VARARGS | METH_KEYWORDS, "" }, - { "set_content", (PyCFunction)py_ue_spython_widget_set_content, METH_VARARGS, "" }, - { "clear_content", (PyCFunction)py_ue_spython_widget_clear_content, METH_VARARGS, "" }, + { "set_content", (PyCFunction)py_ue_spython_widget_set_content, METH_VARARGS, "" }, + { "clear_content", (PyCFunction)py_ue_spython_widget_clear_content, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; @@ -101,8 +97,9 @@ PyTypeObject ue_PySPythonWidgetType = { static int ue_py_spython_widget_init(ue_PySPythonWidget *self, PyObject *args, PyObject *kwargs) { - ue_py_snew_simple(SPythonWidget, s_compound_widget.s_widget); - sw_python_widget->SetPyObject((PyObject *)self); + ue_py_snew_simple(SPythonWidget); + ue_py_slate_cast(SPythonWidget); + py_SPythonWidget->SetPyObject((PyObject *)self); return 0; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySRotatorInputBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySRotatorInputBox.cpp index 2c1f16293..0cbae41d4 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySRotatorInputBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySRotatorInputBox.cpp @@ -2,8 +2,6 @@ #include "UEPySRotatorInputBox.h" -#define sw_rotator_input_box StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) - static PyMethodDef ue_PySRotatorInputBox_methods[] = { { NULL } /* Sentinel */ @@ -40,7 +38,8 @@ PyTypeObject ue_PySRotatorInputBoxType = { ue_PySRotatorInputBox_methods, /* tp_methods */ }; -static int ue_py_srotator_input_box_init(ue_PySRotatorInputBox *self, PyObject *args, PyObject *kwargs) { +static int ue_py_srotator_input_box_init(ue_PySRotatorInputBox *self, PyObject *args, PyObject *kwargs) +{ ue_py_slate_setup_farguments(SRotatorInputBox); ue_py_slate_farguments_optional_bool("allow_responsive_layout", AllowResponsiveLayout); @@ -57,11 +56,12 @@ static int ue_py_srotator_input_box_init(ue_PySRotatorInputBox *self, PyObject * ue_py_slate_farguments_tfloat("pitch", Pitch); ue_py_slate_farguments_tfloat("yaw", Yaw); - ue_py_snew(SRotatorInputBox, s_compound_widget.s_widget); + ue_py_snew(SRotatorInputBox); return 0; } -void ue_python_init_srotator_input_box(PyObject *ue_module) { +void ue_python_init_srotator_input_box(PyObject *ue_module) +{ ue_PySRotatorInputBoxType.tp_init = (initproc)ue_py_srotator_input_box_init; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySScrollBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySScrollBox.cpp index 0684c89c0..70d48dd97 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySScrollBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySScrollBox.cpp @@ -4,10 +4,9 @@ #include "UEPySScrollBox.h" -#define sw_scroll_box StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) - static PyObject *py_ue_sscroll_box_add_slot(ue_PySScrollBox *self, PyObject * args, PyObject *kwargs) { + ue_py_slate_cast(SScrollBox); PyObject *py_content; int h_align = 0; int v_align = 0; @@ -22,29 +21,27 @@ static PyObject *py_ue_sscroll_box_add_slot(ue_PySScrollBox *self, PyObject * ar &h_align, &v_align)) { - return NULL; + return nullptr; } - ue_PySWidget *py_swidget = py_ue_is_swidget(py_content); - if (!py_swidget) + TSharedPtr Content = py_ue_is_swidget(py_content); + if (!Content.IsValid()) { - return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); + return nullptr; } - Py_INCREF(py_swidget); - - SScrollBox::FSlot &fslot = sw_scroll_box->AddSlot(); - fslot.AttachWidget(py_swidget->s_widget->AsShared()); + SScrollBox::FSlot &fslot = py_SScrollBox->AddSlot(); + fslot.AttachWidget(Content.ToSharedRef()); fslot.HAlign((EHorizontalAlignment)h_align); fslot.VAlign((EVerticalAlignment)v_align); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_sscroll_box_clear_children(ue_PySScrollBox *self, PyObject * args) { - sw_scroll_box->ClearChildren(); + ue_py_slate_cast(SScrollBox); + py_SScrollBox->ClearChildren(); Py_RETURN_NONE; } @@ -100,7 +97,7 @@ static int ue_py_sscroll_box_init(ue_PySScrollBox *self, PyObject *args, PyObjec ue_py_slate_farguments_optional_fvector2d("scroll_bar_thickness", ScrollBarThickness); ue_py_slate_farguments_optional_struct_ptr("style", Style, FScrollBoxStyle); - ue_py_snew(SScrollBox, s_compound_widget.s_widget); + ue_py_snew(SScrollBox); return 0; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySSlider.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySSlider.cpp index aa7d41770..03346b58d 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySSlider.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySSlider.cpp @@ -3,23 +3,24 @@ #include "UEPySSlider.h" - -#define sw_slider StaticCastSharedRef(self->s_leaf_widget.s_widget.s_widget) - -static PyObject *py_ue_sslider_set_value(ue_PySSlider *self, PyObject * args) { +static PyObject *py_ue_sslider_set_value(ue_PySSlider *self, PyObject * args) +{ + ue_py_slate_cast(SSlider); float value; - if (!PyArg_ParseTuple(args, "f:set_value", &value)) { - return NULL; + if (!PyArg_ParseTuple(args, "f:set_value", &value)) + { + return nullptr; } - sw_slider->SetValue(value); + py_SSlider->SetValue(value); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } -static PyObject *py_ue_sslider_get_value(ue_PySSlider *self, PyObject * args) { - return PyFloat_FromDouble(sw_slider->GetValue()); +static PyObject *py_ue_sslider_get_value(ue_PySSlider *self, PyObject * args) +{ + ue_py_slate_cast(SSlider); + return PyFloat_FromDouble(py_SSlider->GetValue()); } static PyMethodDef ue_PySSlider_methods[] = { @@ -59,8 +60,9 @@ PyTypeObject ue_PySSliderType = { ue_PySSlider_methods, /* tp_methods */ }; -static int ue_py_sslider_init(ue_PySSlider *self, PyObject *args, PyObject *kwargs) { - +static int ue_py_sslider_init(ue_PySSlider *self, PyObject *args, PyObject *kwargs) +{ + ue_py_slate_setup_farguments(SSlider); ue_py_slate_farguments_bool("indent_handle", IndentHandle); @@ -78,11 +80,12 @@ static int ue_py_sslider_init(ue_PySSlider *self, PyObject *args, PyObject *kwar ue_py_slate_farguments_optional_struct_ptr("style", Style, FSliderStyle); ue_py_slate_farguments_float("value", Value); - ue_py_snew(SSlider, s_leaf_widget.s_widget); + ue_py_snew(SSlider); return 0; } -void ue_python_init_sslider(PyObject *ue_module) { +void ue_python_init_sslider(PyObject *ue_module) +{ ue_PySSliderType.tp_init = (initproc)ue_py_sslider_init; ue_PySSliderType.tp_base = &ue_PySLeafWidgetType; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySSpacer.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySSpacer.cpp index 70637e7ad..d821c8fe6 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySSpacer.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySSpacer.cpp @@ -46,7 +46,7 @@ static int ue_py_sspacer_init(ue_PySSpacer *self, PyObject *args, PyObject *kwar ue_py_slate_farguments_fvector2d("size", Size); - ue_py_snew(SSpacer, s_leaf_widget.s_widget); + ue_py_snew(SSpacer); return 0; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySSplitter.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySSplitter.cpp index d4f5e783a..7ff63183c 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySSplitter.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySSplitter.cpp @@ -3,10 +3,9 @@ #include "UEPySSplitter.h" -#define sw_splitter StaticCastSharedRef(self->s_panel.s_widget.s_widget) - static PyObject *py_ue_ssplitter_add_slot(ue_PySSplitter *self, PyObject * args, PyObject *kwargs) { + ue_py_slate_cast(SSplitter); PyObject *py_content; int index = -1; float size_value = -1; @@ -23,15 +22,13 @@ static PyObject *py_ue_ssplitter_add_slot(ue_PySSplitter *self, PyObject * args, return nullptr; } - ue_PySWidget *py_swidget = py_ue_is_swidget(py_content); - if (!py_swidget) + TSharedPtr Child = py_ue_is_swidget(py_content); + if (!Child.IsValid()) { - return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); + return nullptr; } - Py_INCREF(py_swidget); - - SSplitter::FSlot &fslot = sw_splitter->AddSlot(index); + SSplitter::FSlot &fslot = py_SSplitter->AddSlot(index); if (size_value > -1) { fslot.SizeValue = size_value; @@ -40,10 +37,9 @@ static PyObject *py_ue_ssplitter_add_slot(ue_PySSplitter *self, PyObject * args, { fslot.SizingRule = (SSplitter::ESizeRule)sizing_rule; } - fslot.AttachWidget(py_swidget->s_widget->AsShared()); + fslot.AttachWidget(Child.ToSharedRef()); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyMethodDef ue_PySSplitter_methods[] = { @@ -94,7 +90,7 @@ static int ue_py_ssplitter_init(ue_PySSplitter *self, PyObject *args, PyObject * ue_py_slate_farguments_optional_enum("resize_mode", ResizeMode, ESplitterResizeMode::Type); ue_py_slate_farguments_optional_struct_ptr("style", Style, FSplitterStyle); - ue_py_snew(SSplitter, s_panel.s_widget); + ue_py_snew(SSplitter); return 0; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySTableViewBase.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySTableViewBase.cpp index 8165fea28..e76edfcbf 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySTableViewBase.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySTableViewBase.cpp @@ -4,48 +4,47 @@ #include "UEPySTableViewBase.h" -#define sw_table_view_base StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) - static PyObject *py_ue_stable_view_base_set_item_height(ue_PySTableViewBase *self, PyObject * args) { + ue_py_slate_cast(STableViewBase); float size; if (!PyArg_ParseTuple(args, "f:set_item_height", &size)) { - return NULL; + return nullptr; } - sw_table_view_base->SetItemHeight(size); + py_STableViewBase->SetItemHeight(size); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_stable_view_base_set_item_width(ue_PySTableViewBase *self, PyObject * args) { + ue_py_slate_cast(STableViewBase); float size; if (!PyArg_ParseTuple(args, "f:set_item_width", &size)) { - return NULL; + return nullptr; } - sw_table_view_base->SetItemWidth(size); + py_STableViewBase->SetItemWidth(size); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_stable_view_base_request_list_refresh(ue_PySTableViewBase *self, PyObject * args) { - sw_table_view_base->RequestListRefresh(); + ue_py_slate_cast(STableViewBase); + py_STableViewBase->RequestListRefresh(); - Py_RETURN_NONE; + Py_RETURN_NONE; } static PyMethodDef ue_PySTableViewBase_methods[] = { { "set_item_height", (PyCFunction)py_ue_stable_view_base_set_item_height, METH_VARARGS, "" }, { "set_item_width", (PyCFunction)py_ue_stable_view_base_set_item_width, METH_VARARGS, "" }, - { "request_list_refresh", (PyCFunction)py_ue_stable_view_base_request_list_refresh, METH_VARARGS, "" }, + { "request_list_refresh", (PyCFunction)py_ue_stable_view_base_request_list_refresh, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; @@ -94,7 +93,7 @@ void ue_python_init_stable_view_base(PyObject *ue_module) ue_PySTableViewBase * py_ue_is_stable_view_base(PyObject *obj) { - if (!PyObject_IsInstance(obj, (PyObject *)&ue_PySTableViewBaseType)) - return nullptr; - return (ue_PySTableViewBase *)obj; + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PySTableViewBaseType)) + return nullptr; + return (ue_PySTableViewBase *)obj; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySTextBlock.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySTextBlock.cpp index 1b43e0885..9726dab89 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySTextBlock.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySTextBlock.cpp @@ -4,42 +4,47 @@ #include "UEPySTextBlock.h" -#define sw_text_block StaticCastSharedRef(self->s_leaf_widget.s_widget.s_widget) - -static PyObject *py_ue_stext_block_set_text(ue_PySTextBlock *self, PyObject * args) { +static PyObject *py_ue_stext_block_set_text(ue_PySTextBlock *self, PyObject * args) +{ + ue_py_slate_cast(STextBlock); char *text; - if (!PyArg_ParseTuple(args, "s:set_text", &text)) { - return NULL; + if (!PyArg_ParseTuple(args, "s:set_text", &text)) + { + return nullptr; } - sw_text_block->SetText(FString(UTF8_TO_TCHAR(text))); + py_STextBlock->SetText(FString(UTF8_TO_TCHAR(text))); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } -static PyObject *py_ue_stext_block_set_color_and_opacity(ue_PySTextBlock *self, PyObject * args) { +static PyObject *py_ue_stext_block_set_color_and_opacity(ue_PySTextBlock *self, PyObject * args) +{ + + ue_py_slate_cast(STextBlock); PyObject *py_color; - if (!PyArg_ParseTuple(args, "O:set_color_and_opacity", &py_color)) { - return NULL; + if (!PyArg_ParseTuple(args, "O:set_color_and_opacity", &py_color)) + { + return nullptr; } ue_PyFLinearColor *py_linear_color = py_ue_is_flinearcolor(py_color); - if (!py_linear_color) { + if (!py_linear_color) + { return PyErr_Format(PyExc_Exception, "argument is not a FLinearColor"); } - sw_text_block->SetColorAndOpacity(py_linear_color->color); + py_STextBlock->SetColorAndOpacity(py_linear_color->color); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } -static PyObject *py_ue_stext_block_get_text(ue_PySTextBlock *self, PyObject * args) { - - return PyUnicode_FromString(TCHAR_TO_UTF8(*sw_text_block->GetText().ToString())); +static PyObject *py_ue_stext_block_get_text(ue_PySTextBlock *self, PyObject * args) +{ + ue_py_slate_cast(STextBlock); + return PyUnicode_FromString(TCHAR_TO_UTF8(*py_STextBlock->GetText().ToString())); } @@ -81,8 +86,9 @@ PyTypeObject ue_PySTextBlockType = { ue_PySTextBlock_methods, /* tp_methods */ }; -static int ue_py_stext_block_init(ue_PySTextBlock *self, PyObject *args, PyObject *kwargs) { - +static int ue_py_stext_block_init(ue_PySTextBlock *self, PyObject *args, PyObject *kwargs) +{ + ue_py_slate_setup_farguments(STextBlock); ue_py_slate_farguments_bool("autowrap_text", AutoWrapText); @@ -105,11 +111,12 @@ static int ue_py_stext_block_init(ue_PySTextBlock *self, PyObject *args, PyObjec ue_py_slate_farguments_enum("wrapping_policy", WrappingPolicy, ETextWrappingPolicy); ue_py_slate_farguments_float("wrap_text_at", WrapTextAt); - ue_py_snew(STextBlock, s_leaf_widget.s_widget); + ue_py_snew(STextBlock); return 0; } -void ue_python_init_stext_block(PyObject *ue_module) { +void ue_python_init_stext_block(PyObject *ue_module) +{ ue_PySTextBlockType.tp_init = (initproc)ue_py_stext_block_init; ue_PySTextBlockType.tp_base = &ue_PySLeafWidgetType; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySTreeView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySTreeView.cpp index bec4f3b17..cfa94c340 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySTreeView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySTreeView.cpp @@ -3,17 +3,17 @@ #include "UEPySTreeView.h" -#define sw_tree_view StaticCastSharedRef>>(self->s_list_view.s_table_view_base.s_compound_widget.s_widget.s_widget) - static PyObject *py_ue_stree_view_request_tree_refresh(ue_PySTreeView *self, PyObject * args) { - sw_tree_view->RequestTreeRefresh(); + ue_py_slate_cast_named(STreeView>, py_STreeView); + py_STreeView->RequestTreeRefresh(); Py_RETURN_NONE; } static PyObject *py_ue_stree_view_clear_expanded_items(ue_PySTreeView *self, PyObject * args) { - sw_tree_view->ClearExpandedItems(); + ue_py_slate_cast_named(STreeView>, py_STreeView); + py_STreeView->ClearExpandedItems(); Py_RETURN_NONE; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySVectorInputBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySVectorInputBox.cpp index f5c950e0a..4bb480f89 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySVectorInputBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySVectorInputBox.cpp @@ -2,8 +2,6 @@ #include "UEPySVectorInputBox.h" -#define sw_vector_input_box StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) - static PyMethodDef ue_PySVectorInputBox_methods[] = { { NULL } /* Sentinel */ @@ -40,11 +38,12 @@ PyTypeObject ue_PySVectorInputBoxType = { ue_PySVectorInputBox_methods, /* tp_methods */ }; -static int ue_py_svector_input_box_init(ue_PySVectorInputBox *self, PyObject *args, PyObject *kwargs) { +static int ue_py_svector_input_box_init(ue_PySVectorInputBox *self, PyObject *args, PyObject *kwargs) +{ ue_py_slate_setup_farguments(SVectorInputBox); #if ENGINE_MINOR_VERSION > 15 - ue_py_slate_farguments_optional_bool("allow_spin", AllowSpin); + ue_py_slate_farguments_optional_bool("allow_spin", AllowSpin); #endif ue_py_slate_farguments_optional_bool("allow_responsive_layout", AllowResponsiveLayout); ue_py_slate_farguments_optional_bool("color_axis_labels", bColorAxisLabels); @@ -59,11 +58,12 @@ static int ue_py_svector_input_box_init(ue_PySVectorInputBox *self, PyObject *ar ue_py_slate_farguments_tfloat("y", Y); ue_py_slate_farguments_tfloat("z", Z); - ue_py_snew(SVectorInputBox, s_compound_widget.s_widget); + ue_py_snew(SVectorInputBox); return 0; } -void ue_python_init_svector_input_box(PyObject *ue_module) { +void ue_python_init_svector_input_box(PyObject *ue_module) +{ ue_PySVectorInputBoxType.tp_init = (initproc)ue_py_svector_input_box_init; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.cpp index dd1a48896..f6eab351f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.cpp @@ -4,9 +4,9 @@ #include "UEPySVerticalBox.h" -#define sw_vertical_box StaticCastSharedRef(self->s_box_panel.s_panel.s_widget.s_widget) - -static PyObject *py_ue_svertical_box_add_slot(ue_PySVerticalBox *self, PyObject * args, PyObject *kwargs) { +static PyObject *py_ue_svertical_box_add_slot(ue_PySVerticalBox *self, PyObject * args, PyObject *kwargs) +{ + ue_py_slate_cast(SVerticalBox); PyObject *py_content; int h_align = 0; float max_height = 0; @@ -31,19 +31,19 @@ static PyObject *py_ue_svertical_box_add_slot(ue_PySVerticalBox *self, PyObject &padding, &v_align, &fill_height, - &py_auto_height)) { - return NULL; + &py_auto_height)) + { + return nullptr; } - ue_PySWidget *py_swidget = py_ue_is_swidget(py_content); - if (!py_swidget) { - return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); + TSharedPtr Child = py_ue_is_swidget(py_content); + if (!Child.IsValid()) + { + return nullptr; } - - Py_INCREF(py_swidget); - SVerticalBox::FSlot &fslot = sw_vertical_box->AddSlot(); - fslot.AttachWidget(py_swidget->s_widget->AsShared()); + SVerticalBox::FSlot &fslot = py_SVerticalBox->AddSlot(); + fslot.AttachWidget(Child.ToSharedRef()); fslot.HAlign((EHorizontalAlignment)h_align); if (max_height != 0) fslot.MaxHeight(max_height); @@ -75,12 +75,13 @@ static PyObject *py_ue_svertical_box_add_slot(ue_PySVerticalBox *self, PyObject if (py_auto_height && PyObject_IsTrue(py_auto_height)) fslot.AutoHeight(); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } -static PyObject *py_ue_svertical_box_num_slots(ue_PySHorizontalBox *self, PyObject * args) { - return PyLong_FromLong(sw_vertical_box->NumSlots()); +static PyObject *py_ue_svertical_box_num_slots(ue_PySVerticalBox *self, PyObject * args) +{ + ue_py_slate_cast(SVerticalBox); + return PyLong_FromLong(py_SVerticalBox->NumSlots()); } static PyMethodDef ue_PySVerticalBox_methods[] = { @@ -121,16 +122,18 @@ PyTypeObject ue_PySVerticalBoxType = { ue_PySVerticalBox_methods, /* tp_methods */ }; -static int ue_py_svertical_box_init(ue_PySHorizontalBox *self, PyObject *args, PyObject *kwargs) { - +static int ue_py_svertical_box_init(ue_PySHorizontalBox *self, PyObject *args, PyObject *kwargs) +{ + ue_py_slate_setup_farguments(SVerticalBox); - ue_py_snew(SVerticalBox, s_box_panel.s_panel.s_widget); + ue_py_snew(SVerticalBox); return 0; } -void ue_python_init_svertical_box(PyObject *ue_module) { +void ue_python_init_svertical_box(PyObject *ue_module) +{ ue_PySVerticalBoxType.tp_init = (initproc)ue_py_svertical_box_init; ue_PySVerticalBoxType.tp_call = (ternaryfunc)py_ue_svertical_box_add_slot; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySViewport.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySViewport.cpp index 51a5e4ee1..765f90d74 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySViewport.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySViewport.cpp @@ -3,18 +3,19 @@ #include "UEPySViewport.h" -#define sw_viewport StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) -static PyObject *py_ue_sviewport_enable_stereo_rendering(ue_PySViewport *self, PyObject * args) { +static PyObject *py_ue_sviewport_enable_stereo_rendering(ue_PySViewport *self, PyObject * args) +{ + ue_py_slate_cast(SViewport); PyObject *py_bool; - if (!PyArg_ParseTuple(args, "O:enable_stereo_rendering", &py_bool)) { + if (!PyArg_ParseTuple(args, "O:enable_stereo_rendering", &py_bool)) + { return NULL; } - sw_viewport->EnableStereoRendering(PyObject_IsTrue(py_bool) ? true : false); + py_SViewport->EnableStereoRendering(PyObject_IsTrue(py_bool) ? true : false); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyMethodDef ue_PySViewport_methods[] = { @@ -53,12 +54,14 @@ PyTypeObject ue_PySViewportType = { ue_PySViewport_methods, /* tp_methods */ }; -static int ue_py_sviewport_init(ue_PySViewport *self, PyObject *args, PyObject *kwargs) { - ue_py_snew_simple(SViewport, s_compound_widget.s_widget); +static int ue_py_sviewport_init(ue_PySViewport *self, PyObject *args, PyObject *kwargs) +{ + ue_py_snew_simple(SViewport); return 0; } -void ue_python_init_sviewport(PyObject *ue_module) { +void ue_python_init_sviewport(PyObject *ue_module) +{ ue_PySViewportType.tp_init = (initproc)ue_py_sviewport_init; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp index 8b2b40421..b5426e7fa 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp @@ -7,16 +7,16 @@ static PyObject *ue_PySWidget_str(ue_PySWidget *self) { #if PY_MAJOR_VERSION >= 3 return PyUnicode_FromFormat("", - TCHAR_TO_UTF8(*self->s_widget->GetTypeAsString()), &self->s_widget.Get(), self->s_widget.GetSharedReferenceCount(), self->ob_base.ob_refcnt); + TCHAR_TO_UTF8(*self->Widget->GetTypeAsString()), &self->Widget.Get(), self->Widget.GetSharedReferenceCount(), self->ob_base.ob_refcnt); #else return PyUnicode_FromFormat("", - TCHAR_TO_UTF8(*self->s_widget->GetTypeAsString()), &self->s_widget.Get(), self->s_widget.GetSharedReferenceCount()); + TCHAR_TO_UTF8(*self->Widget->GetTypeAsString()), &self->s_widget.Get(), self->Widget.GetSharedReferenceCount()); #endif } static PyObject *py_ue_swidget_get_children(ue_PySWidget *self, PyObject * args) { - FChildren *children = self->s_widget->GetChildren(); + FChildren *children = self->Widget->GetChildren(); PyObject *py_list = PyList_New(0); for (int32 i = 0; i < children->Num(); i++) { @@ -65,10 +65,9 @@ static PyObject *py_ue_swidget_set_visibility(ue_PySWidget *self, PyObject * arg break; } - self->s_widget->SetVisibility(visibility); + self->Widget->SetVisibility(visibility); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_swidget_set_tooltip_text(ue_PySWidget *self, PyObject * args) @@ -79,10 +78,9 @@ static PyObject *py_ue_swidget_set_tooltip_text(ue_PySWidget *self, PyObject * a return NULL; } - self->s_widget->SetToolTipText(FText::FromString(UTF8_TO_TCHAR(text))); + self->Widget->SetToolTipText(FText::FromString(UTF8_TO_TCHAR(text))); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_swidget_set_cursor(ue_PySWidget *self, PyObject * args) @@ -93,7 +91,7 @@ static PyObject *py_ue_swidget_set_cursor(ue_PySWidget *self, PyObject * args) return NULL; } - self->s_widget->SetCursor((EMouseCursor::Type)cursor); + self->Widget->SetCursor((EMouseCursor::Type)cursor); Py_INCREF(self); return (PyObject *)self; @@ -107,10 +105,9 @@ static PyObject *py_ue_swidget_set_enabled(ue_PySWidget *self, PyObject * args) return NULL; } - self->s_widget->SetEnabled(PyObject_IsTrue(py_bool) ? true : false); + self->Widget->SetEnabled(PyObject_IsTrue(py_bool) ? true : false); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } #if ENGINE_MINOR_VERSION > 12 @@ -128,13 +125,12 @@ static PyObject *py_ue_swidget_bind_on_mouse_button_down(ue_PySWidget *self, PyO } FPointerEventHandler handler; - TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->Widget, py_callable); handler.BindSP(py_delegate, &FPythonSlateDelegate::OnMouseEvent); - self->s_widget->SetOnMouseButtonDown(handler); + self->Widget->SetOnMouseButtonDown(handler); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_swidget_bind_on_mouse_button_up(ue_PySWidget *self, PyObject * args) @@ -151,13 +147,12 @@ static PyObject *py_ue_swidget_bind_on_mouse_button_up(ue_PySWidget *self, PyObj } FPointerEventHandler handler; - TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->Widget, py_callable); handler.BindSP(py_delegate, &FPythonSlateDelegate::OnMouseEvent); - self->s_widget->SetOnMouseButtonUp(handler); + self->Widget->SetOnMouseButtonUp(handler); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_swidget_bind_on_mouse_double_click(ue_PySWidget *self, PyObject * args) @@ -174,13 +169,12 @@ static PyObject *py_ue_swidget_bind_on_mouse_double_click(ue_PySWidget *self, Py } FPointerEventHandler handler; - TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->Widget, py_callable); handler.BindSP(py_delegate, &FPythonSlateDelegate::OnMouseEvent); - self->s_widget->SetOnMouseDoubleClick(handler); + self->Widget->SetOnMouseDoubleClick(handler); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_swidget_bind_on_mouse_move(ue_PySWidget *self, PyObject * args) @@ -197,13 +191,12 @@ static PyObject *py_ue_swidget_bind_on_mouse_move(ue_PySWidget *self, PyObject * } FPointerEventHandler handler; - TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_widget, py_callable); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->Widget, py_callable); handler.BindSP(py_delegate, &FPythonSlateDelegate::OnMouseEvent); - self->s_widget->SetOnMouseMove(handler); + self->Widget->SetOnMouseMove(handler); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } #endif @@ -211,37 +204,33 @@ static PyObject *py_ue_swidget_bind_on_mouse_move(ue_PySWidget *self, PyObject * static PyObject *py_ue_swidget_has_keyboard_focus(ue_PySWidget *self, PyObject * args) { - if (self->s_widget->HasKeyboardFocus()) + if (self->Widget->HasKeyboardFocus()) { - Py_INCREF(Py_True); - return Py_True; + Py_RETURN_TRUE; } - Py_INCREF(Py_False); - return Py_False; + Py_RETURN_FALSE; } static PyObject *py_ue_swidget_set_keyboard_focus(ue_PySWidget *self, PyObject * args) { - - FSlateApplication::Get().SetKeyboardFocus(self->s_widget, EFocusCause::SetDirectly); - Py_INCREF(self); - return (PyObject *)self; + FSlateApplication::Get().SetKeyboardFocus(self->Widget, EFocusCause::SetDirectly); + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_swidget_get_type(ue_PySWidget *self, PyObject * args) { - return PyUnicode_FromString(TCHAR_TO_UTF8(*(self->s_widget->GetTypeAsString()))); + return PyUnicode_FromString(TCHAR_TO_UTF8(*(self->Widget->GetTypeAsString()))); } static PyObject *py_ue_swidget_get_cached_geometry(ue_PySWidget *self, PyObject * args) { - return py_ue_new_fgeometry(self->s_widget->GetCachedGeometry()); + return py_ue_new_fgeometry(self->Widget->GetCachedGeometry()); } static PyObject *py_ue_swidget_get_shared_reference_count(ue_PySWidget *self, PyObject * args) { - return PyLong_FromLong(self->s_widget.GetSharedReferenceCount()); + return PyLong_FromLong(self->Widget.GetSharedReferenceCount()); } static PyObject *py_ue_swidget_invalidate(ue_PySWidget *self, PyObject * args) @@ -251,7 +240,7 @@ static PyObject *py_ue_swidget_invalidate(ue_PySWidget *self, PyObject * args) { return nullptr; } - self->s_widget->Invalidate((EInvalidateWidget)invalidate_mode); + self->Widget->Invalidate((EInvalidateWidget)invalidate_mode); Py_RETURN_NONE; } @@ -276,7 +265,7 @@ static PyObject *py_ue_swidget_on_mouse_button_down(ue_PySWidget *self, PyObject return PyErr_Format(PyExc_Exception, "argument is not a FPointerEvent"); } - FReply reply = self->s_widget->OnMouseButtonDown(geometry->geometry, pointer->pointer); + FReply reply = self->Widget->OnMouseButtonDown(geometry->geometry, pointer->pointer); if (reply.IsEventHandled()) { @@ -307,7 +296,7 @@ static PyObject *py_ue_swidget_on_mouse_button_up(ue_PySWidget *self, PyObject * return PyErr_Format(PyExc_Exception, "argument is not a FPointerEvent"); } - FReply reply = self->s_widget->OnMouseButtonUp(geometry->geometry, pointer->pointer); + FReply reply = self->Widget->OnMouseButtonUp(geometry->geometry, pointer->pointer); if (reply.IsEventHandled()) { @@ -317,7 +306,24 @@ static PyObject *py_ue_swidget_on_mouse_button_up(ue_PySWidget *self, PyObject * Py_RETURN_FALSE; } + +static PyObject *py_ue_swidget_new_ref(ue_PySWidget *self, PyObject * args) +{ + PyObject *py_widget; + if (!PyArg_ParseTuple(args, "O:new_ref", &py_widget)) + { + return nullptr; + } + + TSharedPtr Widget = py_ue_is_swidget(py_widget); + if (!Widget.IsValid()) + return nullptr; + + return (PyObject *)py_ue_new_swidget(Widget.ToSharedRef(), &ue_PySWidgetType); +} + static PyMethodDef ue_PySWidget_methods[] = { + { "new_ref", (PyCFunction)py_ue_swidget_new_ref, METH_VARARGS, "" }, { "get_shared_reference_count", (PyCFunction)py_ue_swidget_get_shared_reference_count, METH_VARARGS, "" }, { "get_cached_geometry", (PyCFunction)py_ue_swidget_get_cached_geometry, METH_VARARGS, "" }, { "get_children", (PyCFunction)py_ue_swidget_get_children, METH_VARARGS, "" }, @@ -345,13 +351,15 @@ static void ue_PySWidgett_dealloc(ue_PySWidget *self) #if defined(UEPY_MEMORY_DEBUG) UE_LOG(LogPython, Warning, TEXT("Destroying ue_PySWidget %p mapped to %s %p (slate refcount: %d)"), self, *self->s_widget->GetTypeAsString(), &self->s_widget.Get(), self->s_widget.GetSharedReferenceCount()); #endif - Py_DECREF(self->py_dict); - ue_py_unregister_swidget(&self->s_widget.Get()); + + if (self->weakreflist != nullptr) + PyObject_ClearWeakRefs((PyObject *)self); + // decrement widget reference count // but only if python vm is still fully active (hack to avoid crashes on editor shutdown) if (Py_IsInitialized()) { - self->s_widget = SNullWidget::NullWidget; + self->Widget = SNullWidget::NullWidget; } else { @@ -400,7 +408,8 @@ ue_PySWidget_new(PyTypeObject *type, PyObject *args, PyObject *kwds) self = (ue_PySWidget *)type->tp_alloc(type, 0); if (self != NULL) { - ue_py_setup_swidget(self); + new(&self->Widget) TSharedRef(SNullWidget::NullWidget); + self->weakreflist = nullptr; } return (PyObject *)self; @@ -409,10 +418,8 @@ ue_PySWidget_new(PyTypeObject *type, PyObject *args, PyObject *kwds) void ue_python_init_swidget(PyObject *ue_module) { ue_PySWidgetType.tp_new = ue_PySWidget_new; - - ue_PySWidgetType.tp_getattro = PyObject_GenericGetAttr; - ue_PySWidgetType.tp_setattro = PyObject_GenericSetAttr; - ue_PySWidgetType.tp_dictoffset = offsetof(ue_PySWidget, py_dict); + // support for weak references, useful for tests + ue_PySWidgetType.tp_weaklistoffset = offsetof(ue_PySWidget, weakreflist); if (PyType_Ready(&ue_PySWidgetType) < 0) return; @@ -421,10 +428,5 @@ void ue_python_init_swidget(PyObject *ue_module) PyModule_AddObject(ue_module, "SWidget", (PyObject *)&ue_PySWidgetType); } -ue_PySWidget *py_ue_is_swidget(PyObject *obj) -{ - if (!PyObject_IsInstance(obj, (PyObject *)&ue_PySWidgetType)) - return nullptr; - return (ue_PySWidget *)obj; -} + diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h index ac3ca3645..bc4ed8384 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h @@ -4,19 +4,35 @@ extern PyTypeObject ue_PySWidgetType; -class UPythonSlateDelegate; typedef struct ue_PySWidget ue_PySWidget; struct ue_PySWidget { PyObject_HEAD /* Type-specific fields go here. */ - - TSharedRef s_widget; - PyObject *py_dict; + TSharedRef Widget; + PyObject *weakreflist; }; void ue_python_init_swidget(PyObject *); -ue_PySWidget *py_ue_is_swidget(PyObject *); +template +TSharedPtr py_ue_is_swidget(PyObject *py_obj) +{ + if (!PyObject_IsInstance(py_obj, (PyObject *)&ue_PySWidgetType)) + { + PyErr_SetString(PyExc_Exception, "object is not an SWidget"); + return nullptr; + } + return StaticCastSharedRef(((ue_PySWidget *)py_obj)->Widget); +} + +#define ue_py_slate_cast(T) ue_PySWidget *py_self_swidget = (ue_PySWidget *)self;\ + TSharedRef py_ ## T = StaticCastSharedRef(py_self_swidget->Widget) + +#define ue_py_slate_cast_named(T, name) ue_PySWidget *py_self_swidget = (ue_PySWidget *)self;\ + TSharedRef name = StaticCastSharedRef(py_self_swidget->Widget) + +#define Py_RETURN_SLATE_SELF Py_INCREF(self);\ + return (PyObject *)self diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp index 7d22b4671..5534baeff 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp @@ -7,24 +7,23 @@ #include "UEPySWindow.h" -#define sw_window StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) - static PyObject *py_ue_swindow_set_title(ue_PySWindow *self, PyObject * args) { + ue_py_slate_cast(SWindow); char *title; if (!PyArg_ParseTuple(args, "s:set_title", &title)) { - return NULL; + return nullptr; } - sw_window->SetTitle(FText::FromString(UTF8_TO_TCHAR(title))); + py_SWindow->SetTitle(FText::FromString(UTF8_TO_TCHAR(title))); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_swindow_resize(ue_PySWindow *self, PyObject * args) { + ue_py_slate_cast(SWindow); int width; int height; if (!PyArg_ParseTuple(args, "ii:resize", &width, &height)) @@ -33,70 +32,69 @@ static PyObject *py_ue_swindow_resize(ue_PySWindow *self, PyObject * args) } - sw_window->Resize(FVector2D(width, height)); + py_SWindow->Resize(FVector2D(width, height)); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_swindow_minimize(ue_PySWindow *self, PyObject * args) { - sw_window->Minimize(); + ue_py_slate_cast(SWindow); + py_SWindow->Minimize(); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_swindow_set_content(ue_PySWindow *self, PyObject * args) { + ue_py_slate_cast(SWindow); PyObject *py_content; if (!PyArg_ParseTuple(args, "O:set_content", &py_content)) { - return NULL; + return nullptr; } - ue_PySWidget *py_swidget = py_ue_is_swidget(py_content); - if (!py_swidget) + TSharedPtr Content = py_ue_is_swidget(py_content); + if (!Content.IsValid()) { - return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); + return nullptr; } - Py_INCREF(py_swidget); - sw_window->SetContent(py_swidget->s_widget->AsShared()); + py_SWindow->SetContent(Content.ToSharedRef()); - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_swindow_set_sizing_rule(ue_PySWindow *self, PyObject * args) { + ue_py_slate_cast(SWindow); int rule; if (!PyArg_ParseTuple(args, "i:set_sizing_rule", &rule)) { - return NULL; + return nullptr; } #if ENGINE_MINOR_VERSION > 15 - sw_window->SetSizingRule((ESizingRule)rule); + py_SWindow->SetSizingRule((ESizingRule)rule); #else - sw_window->SetSizingRule((ESizingRule::Type)rule); + py_SWindow->SetSizingRule((ESizingRule::Type)rule); #endif - Py_INCREF(self); - return (PyObject *)self; + Py_RETURN_SLATE_SELF; } static PyObject *py_ue_swindow_get_handle(ue_PySWindow *self, PyObject * args) { - return PyLong_FromLongLong((long long)sw_window->GetNativeWindow()->GetOSWindowHandle()); + ue_py_slate_cast(SWindow); + return PyLong_FromLongLong((long long)py_SWindow->GetNativeWindow()->GetOSWindowHandle()); } static PyObject *py_ue_swindow_request_destroy(ue_PySWindow *self, PyObject * args) { - - sw_window->RequestDestroyWindow(); + ue_py_slate_cast(SWindow); + py_SWindow->RequestDestroyWindow(); Py_RETURN_NONE; } @@ -104,18 +102,20 @@ static PyObject *py_ue_swindow_request_destroy(ue_PySWindow *self, PyObject * ar #if WITH_EDITOR static PyObject *py_ue_swindow_add_modal(ue_PySWindow *self, PyObject * args) { + ue_py_slate_cast(SWindow); TSharedPtr parent_window; if (FModuleManager::Get().IsModuleLoaded("MainFrame")) { parent_window = FModuleManager::LoadModuleChecked("MainFrame").GetParentWindow(); } - FSlateApplication::Get().AddModalWindow(StaticCastSharedRef(sw_window->AsShared()), parent_window, false); + FSlateApplication::Get().AddModalWindow(StaticCastSharedRef(py_SWindow->AsShared()), parent_window, false); Py_RETURN_NONE; } #endif static PyObject *py_ue_swindow_add_child(ue_PySWindow *self, PyObject * args) { + ue_py_slate_cast(SWindow); PyObject *py_obj; if (!PyArg_ParseTuple(args, "O:add_child", &py_obj)) { @@ -129,8 +129,8 @@ static PyObject *py_ue_swindow_add_child(ue_PySWindow *self, PyObject * args) } FSlateApplication::Get().AddWindowAsNativeChild( - StaticCastSharedRef(py_swindow_child->s_compound_widget.s_widget.s_widget), - sw_window); + StaticCastSharedRef(py_swindow_child->s_compound_widget.s_widget.Widget), + py_SWindow); Py_RETURN_NONE; } @@ -228,7 +228,9 @@ static int ue_py_swindow_init(ue_PySWindow *self, PyObject *args, PyObject *kwar ue_py_slate_farguments_optional_bool("use_os_window_border", UseOSWindowBorder); ue_py_slate_farguments_optional_struct("user_resize_border", UserResizeBorder, FMargin); - ue_py_snew(SWindow, s_compound_widget.s_widget); + ue_py_snew(SWindow); + + ue_py_slate_cast(SWindow); #if WITH_EDITOR // is it a modal window ? @@ -243,17 +245,17 @@ static int ue_py_swindow_init(ue_PySWindow *self, PyObject *args, PyObject *kwar if (on_closed && PyCalllable_Check_Extended(on_closed)) { FOnWindowClosed handler; - TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_compound_widget.s_widget.s_widget, on_closed); + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_compound_widget.s_widget.Widget, on_closed); handler.BindSP(py_delegate, &FPythonSlateDelegate::OnWindowClosed); - sw_window->SetOnWindowClosed(handler); + py_SWindow->SetOnWindowClosed(handler); } // is it a child ? PyObject *is_child = ue_py_dict_get_item(kwargs, "child"); if (!(is_child && PyObject_IsTrue(is_child))) { - FSlateApplication::Get().AddWindow(StaticCastSharedRef(sw_window->AsShared()), true); + FSlateApplication::Get().AddWindow(py_SWindow, true); } return 0; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp index 3064f7997..affe74a25 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp @@ -299,16 +299,17 @@ TSharedPtr FPythonSlateDelegate::OnGetAssetContextMenu(const TArray Widget = py_ue_is_swidget(ret); + if (!Widget.IsValid()) { Py_DECREF(ret); + PyErr_Clear(); UE_LOG(LogPython, Error, TEXT("returned value is not a SWidget")); return nullptr; } - TSharedPtr value = s_widget->s_widget; + TSharedRef RefWidget = Widget.ToSharedRef(); Py_DECREF(ret); - return value; + return RefWidget; } void FPythonSlateDelegate::MenuPyAssetBuilder(FMenuBuilder &Builder, TArray SelectedAssets) @@ -352,17 +353,17 @@ TSharedRef FPythonSlateDelegate::OnGenerateWidget(TSharedPtr Widget = py_ue_is_swidget(ret); + if (!Widget.IsValid()) { Py_DECREF(ret); UE_LOG(LogPython, Error, TEXT("returned value is not a SWidget")); + PyErr_Clear(); return SNullWidget::NullWidget; } - TSharedRef value = s_widget->s_widget; - - Py_INCREF(ret); - return value; + TSharedRef RefWidget = Widget.ToSharedRef(); + Py_DECREF(ret); + return RefWidget; } TSharedRef FPythonSlateDelegate::OnGetMenuContent() @@ -376,16 +377,17 @@ TSharedRef FPythonSlateDelegate::OnGetMenuContent() return SNullWidget::NullWidget; } - ue_PySWidget *s_widget = py_ue_is_swidget(ret); - if (!s_widget) + TSharedPtr Widget = py_ue_is_swidget(ret); + if (!Widget.IsValid()) { Py_DECREF(ret); + PyErr_Clear(); UE_LOG(LogPython, Error, TEXT("returned value is not a SWidget")); return SNullWidget::NullWidget; } - TSharedRef value = s_widget->s_widget; + TSharedRef RefWidget = Widget.ToSharedRef(); Py_DECREF(ret); - return value; + return RefWidget; } void FPythonSlateDelegate::OnSelectionChanged(TSharedPtr py_item, ESelectInfo::Type select_type) @@ -417,16 +419,17 @@ TSharedPtr FPythonSlateDelegate::OnContextMenuOpening() return nullptr; } - ue_PySWidget *s_widget = py_ue_is_swidget(ret); - if (!s_widget) + TSharedPtr Widget = py_ue_is_swidget(ret); + if (!Widget.IsValid()) { Py_DECREF(ret); + PyErr_Clear(); UE_LOG(LogPython, Error, TEXT("returned value is not a SWidget")); return nullptr; } - TSharedPtr value = s_widget->s_widget; + TSharedRef RefWidget = Widget.ToSharedRef(); Py_DECREF(ret); - return value; + return RefWidget; } void FPythonSlateDelegate::SimpleExecuteAction() @@ -695,15 +698,18 @@ TSharedRef FPythonSlateDelegate::GenerateRow(TSharedPtr if (ue_PySPythonMultiColumnTableRow *spython_multicolumn_table_row = py_ue_is_spython_multicolumn_table_row(ret)) { - Py_INCREF(spython_multicolumn_table_row); - TSharedRef value = StaticCastSharedRef(spython_multicolumn_table_row->s_compound_widget.s_widget.s_widget->AsShared()); - return value; + return StaticCastSharedRef(spython_multicolumn_table_row->s_compound_widget.s_widget.Widget->AsShared()); } - else if (ue_PySWidget *s_widget = py_ue_is_swidget(ret)) + + TSharedPtr Widget = py_ue_is_swidget(ret); + Py_DECREF(ret); + if (Widget.IsValid()) { - return SNew(STableRow>, OwnerTable).Content()[s_widget->s_widget]; + return SNew(STableRow>, OwnerTable).Content()[Widget.ToSharedRef()]; } + PyErr_Clear(); + UE_LOG(LogPython, Error, TEXT("python callable did not return a SWidget")); return SNew(STableRow>, OwnerTable); @@ -735,60 +741,28 @@ void FPythonSlateDelegate::GetChildren(TSharedPtr InItem, TArray *py_slate_mapping; - ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget) { ue_PySWidget *ret = nullptr; - auto it = py_slate_mapping->find(&s_widget.Get()); - // not found, it means it is an SWidget not generated from python - if (it == py_slate_mapping->end()) + + if (s_widget->GetType().Compare(FName("SWindow")) == 0) { - if (s_widget->GetType().Compare(FName("SWindow")) == 0) - { - return py_ue_new_swidget(s_widget, &ue_PySWindowType); - } - if (s_widget->GetType().Compare(FName("SDockTab")) == 0) - { - return py_ue_new_swidget(s_widget, &ue_PySDockTabType); - } - else - { - return py_ue_new_swidget(s_widget, &ue_PySWidgetType); - } + return py_ue_new_swidget(s_widget, &ue_PySWindowType); + } + if (s_widget->GetType().Compare(FName("SDockTab")) == 0) + { + return py_ue_new_swidget(s_widget, &ue_PySDockTabType); } else { - ret = it->second; + return py_ue_new_swidget(s_widget, &ue_PySWidgetType); } - Py_INCREF(ret); - return ret; -} - -void ue_py_setup_swidget(ue_PySWidget *self) -{ -#if defined(UEPY_MEMORY_DEBUG) - UE_LOG(LogPython, Warning, TEXT("Allocating new %s..."), UTF8_TO_TCHAR(self->ob_base.ob_type->tp_name)); -#endif - self->py_dict = PyDict_New(); - new(&self->s_widget) TSharedRef(SNullWidget::NullWidget); -} -void ue_py_register_swidget(SWidget *s_widget, ue_PySWidget *py_s_widget) -{ - (*py_slate_mapping)[s_widget] = py_s_widget; -} - -void ue_py_unregister_swidget(SWidget *s_widget) -{ - (*py_slate_mapping).erase(s_widget); } void ue_python_init_slate(PyObject *module) { - py_slate_mapping = new std::map(); - ue_python_init_swidget(module); ue_python_init_scompound_widget(module); ue_python_init_swindow(module); @@ -1423,15 +1397,14 @@ PyObject * py_unreal_engine_create_wrapper_from_pyswidget(PyObject *self, PyObje return NULL; } - ue_PySWidget *py_swidget = py_ue_is_swidget(py_object); - if (!py_swidget) + TSharedPtr Widget = py_ue_is_swidget(py_object); + if (!Widget.IsValid()) { - return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); + return nullptr; } - Py_INCREF(py_swidget); FPythonSWidgetWrapper py_swidget_wrapper; - py_swidget_wrapper.Widget = py_swidget->s_widget; + py_swidget_wrapper.Widget = Widget; return py_ue_new_uscriptstruct(FPythonSWidgetWrapper::StaticStruct(), (uint8 *)&py_swidget_wrapper); } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h index 99a8ffc7b..a27ddd6b8 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h @@ -125,35 +125,26 @@ PyObject *py_unreal_engine_destroy_color_picker(PyObject *, PyObject *); PyObject *py_unreal_engine_play_sound(PyObject *, PyObject *); -void ue_py_register_swidget(SWidget *, ue_PySWidget *); -void ue_py_unregister_swidget(SWidget *); - -void ue_py_setup_swidget(ue_PySWidget *); - - PyObject *ue_py_dict_get_item(PyObject *, const char *); template ue_PySWidget *py_ue_new_swidget(TSharedRef s_widget, PyTypeObject *py_type) { ue_PySWidget *ret = (ue_PySWidget *)PyObject_New(T, py_type); - ue_py_setup_swidget(ret); + new(&ret->Widget) TSharedRef(s_widget); - ret->s_widget = s_widget; - - ue_py_register_swidget(&s_widget.Get(), ret); return ret; } -#define ue_py_snew_base(T, field, required, arguments) self->field.s_widget = TSharedRef(MakeTDecl(#T, __FILE__, __LINE__, required) <<= arguments); ue_py_register_swidget((SWidget *)&self->field.s_widget.Get(), (ue_PySWidget *)self) +#define ue_py_snew_base(T, required, arguments) ((ue_PySWidget *)self)->Widget = TSharedRef(MakeTDecl(#T, __FILE__, __LINE__, required) <<= arguments); -#define ue_py_snew_simple(T, field) ue_py_snew_base(T, field, RequiredArgs::MakeRequiredArgs(), T::FArguments()) +#define ue_py_snew_simple(T) ue_py_snew_base(T, RequiredArgs::MakeRequiredArgs(), T::FArguments()) -#define ue_py_snew_simple_with_req_args(T, field, ... ) ue_py_snew_base(T, field, RequiredArgs::MakeRequiredArgs(__VA_ARGS__), T::FArguments()) +#define ue_py_snew_simple_with_req_args(T, ... ) ue_py_snew_base(T, RequiredArgs::MakeRequiredArgs(__VA_ARGS__), T::FArguments()) -#define ue_py_snew(T, field) ue_py_snew_base(T, field, RequiredArgs::MakeRequiredArgs(), arguments) +#define ue_py_snew(T) ue_py_snew_base(T, RequiredArgs::MakeRequiredArgs(), arguments) -#define ue_py_snew_with_args(T, field, args) ue_py_snew_base(T, field, RequiredArgs::MakeRequiredArgs(args), arguments) +#define ue_py_snew_with_args(T, args) ue_py_snew_base(T, RequiredArgs::MakeRequiredArgs(args), arguments) ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); @@ -165,7 +156,7 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); if (PyCalllable_Check_Extended(value)) {\ _base handler;\ ue_PySWidget *py_swidget = (ue_PySWidget *)self;\ - TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(py_swidget->s_widget, value);\ + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(py_swidget->Widget, value);\ handler.Bind(py_delegate, &FPythonSlateDelegate::_func);\ arguments._attribute(handler);\ } @@ -177,7 +168,7 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); if (PyCalllable_Check_Extended(value)) {\ _base handler;\ ue_PySWidget *py_swidget = (ue_PySWidget *)self;\ - TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(py_swidget->s_widget, value);\ + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(py_swidget->Widget, value);\ handler.BindSP(py_delegate, &FPythonSlateDelegate::_func);\ arguments._attribute(handler);\ } @@ -417,11 +408,11 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); #define ue_py_slate_farguments_optional_named_slot(param, attribute) { PyObject *value = ue_py_dict_get_item(kwargs, param);\ if (value) {\ - if (ue_PySWidget *py_swidget = py_ue_is_swidget(value)) {\ - Py_INCREF(py_swidget);\ + TSharedPtr Child = py_ue_is_swidget(value);\ + if (Child.IsValid()) {\ arguments.attribute()\ [\ - py_swidget->s_widget\ + Child.ToSharedRef()\ ];\ }\ else {\ @@ -468,13 +459,12 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); #define ue_py_slate_farguments_required_slot(param) { PyObject *value = ue_py_dict_get_item(kwargs, param);\ value = value ? value : PyTuple_GetItem(args, 0);\ - if (ue_PySWidget *py_swidget = value ? py_ue_is_swidget(value) : nullptr) {\ - Py_INCREF(py_swidget);\ - ue_PySWidget *self_py_swidget = py_ue_is_swidget((PyObject*)self);\ - arguments.AttachWidget(py_swidget->s_widget->AsShared());\ - }\ - else {\ - PyErr_SetString(PyExc_TypeError, "unsupported type for required slot " param); \ + TSharedPtr Widget = py_ue_is_swidget(value);\ + if (Widget.IsValid())\ + arguments.AttachWidget(Widget.ToSharedRef());\ + else\ + {\ + PyErr_SetString(PyExc_TypeError, "unsupported type for required slot " param);\ return -1;\ }\ } @@ -505,11 +495,11 @@ class FPythonSlateDelegate : public FPythonSmartDelegate FReply OnKeyDown(const FGeometry &geometry, const FKeyEvent &key_event); void OnTextChanged(const FText &text); void OnTextCommitted(const FText &text, ETextCommit::Type commit_type); - void OnInt32Changed(int32 value); - void OnInt32Committed(int32 value, ETextCommit::Type commit_type); + void OnInt32Changed(int32 value); + void OnInt32Committed(int32 value, ETextCommit::Type commit_type); void OnFloatChanged(float value); void OnFloatCommitted(float value, ETextCommit::Type commit_type); - void OnSort(const EColumnSortPriority::Type SortPriority, const FName& ColumnName, const EColumnSortMode::Type NewSortMode); + void OnSort(const EColumnSortPriority::Type SortPriority, const FName& ColumnName, const EColumnSortMode::Type NewSortMode); void OnLinearColorChanged(FLinearColor color); @@ -534,7 +524,7 @@ class FPythonSlateDelegate : public FPythonSmartDelegate TSharedPtr OnContextMenuOpening(); TSharedRef OnGenerateWidget(TSharedPtr py_item); - TSharedRef OnGetMenuContent(); + TSharedRef OnGetMenuContent(); void OnSelectionChanged(TSharedPtr py_item, ESelectInfo::Type select_type); void SimpleExecuteAction(); diff --git a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp index 21935b116..337724e33 100644 --- a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp +++ b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp @@ -64,15 +64,13 @@ static PyObject *py_ue_set_all_user_focus(PyObject *cls, PyObject * args) return nullptr; } - ue_PySWidget *py_swidget = py_ue_is_swidget(py_widget); - if (!py_swidget) + TSharedPtr Widget = py_ue_is_swidget(py_widget); + if (!Widget.IsValid()) { - return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); + return nullptr; } - TSharedPtr widget_ptr(py_swidget->s_widget); - - FSlateApplication::Get().SetAllUserFocus(widget_ptr, (EFocusCause)focus_cause); + FSlateApplication::Get().SetAllUserFocus(Widget, (EFocusCause)focus_cause); Py_RETURN_NONE; } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp index 02aec9493..affd7f43a 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp @@ -265,7 +265,7 @@ struct FInEditorMultiCapture : TSharedFromThis void NextCapture(bool bIsSimulating) { - + FEditorDelegates::EndPIE.RemoveAll(this); // remove item from the TArray; CaptureObjects.RemoveAt(0); @@ -389,15 +389,11 @@ PyObject *py_ue_capture_initialize(ue_PyUObject * self, PyObject * args) #if WITH_EDITOR if (py_widget) { - ue_PySWidget *s_widget = py_ue_is_swidget(py_widget); - if (!s_widget) - return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); - - if (s_widget->s_widget->GetType().Compare(FName("SPythonEditorViewport")) == 0) + TSharedPtr Viewport = py_ue_is_swidget(py_widget); + if (Viewport.IsValid()) { - TSharedRef s_viewport = StaticCastSharedRef(s_widget->s_widget); - capture->Initialize(s_viewport->GetSceneViewport()); + capture->Initialize(Viewport->GetSceneViewport()); capture->StartWarmup(); } else diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp index 0ac579604..bceba077f 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp @@ -151,16 +151,13 @@ PyObject *py_ue_add_viewport_widget_content(ue_PyUObject *self, PyObject * args) return PyErr_Format(PyExc_Exception, "cannot retrieve GameViewportClient from UWorld"); } - ue_PySWidget *py_swidget = py_ue_is_swidget(py_widget); - if (!py_swidget) + TSharedPtr content = py_ue_is_swidget(py_widget); + if (!content.IsValid()) { - return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); + return nullptr; } - // Do not increment reference count as it is assumed this function is used in a PyComponent/PyActor/ that can holds reference to - // it in various ways - // Py_INCREF(py_swidget); - viewport->AddViewportWidgetContent(py_swidget->s_widget, z_order); + viewport->AddViewportWidgetContent(content.ToSharedRef()); Py_RETURN_NONE; } @@ -181,14 +178,13 @@ PyObject *py_ue_remove_viewport_widget_content(ue_PyUObject *self, PyObject * ar if (!viewport) return PyErr_Format(PyExc_Exception, "object is not a GameViewportClient"); - ue_PySWidget *py_swidget = py_ue_is_swidget(py_widget); - if (!py_swidget) + TSharedPtr content = py_ue_is_swidget(py_widget); + if (!content.IsValid()) { - return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); + return nullptr; } - Py_DECREF(py_swidget); - viewport->RemoveViewportWidgetContent(py_swidget->s_widget); + viewport->RemoveViewportWidgetContent(content.ToSharedRef()); Py_RETURN_NONE; } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.cpp index a548be8f6..a973a8b2d 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.cpp @@ -18,16 +18,16 @@ PyObject *py_ue_set_slate_widget(ue_PyUObject * self, PyObject * args) } UWidgetComponent *widget_component = ue_py_check_type(self); - UPyUserWidget *py_user_widget = ue_py_check_type(self); + UPyUserWidget *py_user_widget = ue_py_check_type(self); if (!widget_component && !py_user_widget) return PyErr_Format(PyExc_Exception, "uobject is not a UWidgetComponent or UPyUserWidget"); - ue_PySWidget *s_widget = py_ue_is_swidget(py_widget); - if (!s_widget) - return PyErr_Format(PyExc_Exception, "argument is not a SWidget"); + TSharedPtr Widget = py_ue_is_swidget(py_widget); + if (!Widget.IsValid()) + return nullptr; - if (widget_component) { widget_component->SetSlateWidget(s_widget->s_widget); } - else { py_user_widget->SetSlateWidget(s_widget->s_widget); } + if (widget_component) { widget_component->SetSlateWidget(Widget); } + else { py_user_widget->SetSlateWidget(Widget.ToSharedRef()); } Py_RETURN_NONE; } diff --git a/Source/UnrealEnginePython/Public/PythonHouseKeeper.h b/Source/UnrealEnginePython/Public/PythonHouseKeeper.h index 0063db4df..3067f2048 100644 --- a/Source/UnrealEnginePython/Public/PythonHouseKeeper.h +++ b/Source/UnrealEnginePython/Public/PythonHouseKeeper.h @@ -31,17 +31,6 @@ class FUnrealEnginePythonHouseKeeper } }; - struct FPythonSWidgetTracker - { - TWeakPtr Owner; - ue_PySWidget *PySWidget; - - FPythonSWidgetTracker(TSharedRef InOwner, ue_PySWidget *InPySWidget) - { - Owner = InOwner; - PySWidget = InPySWidget; - } - }; struct FPythonSWidgetDelegateTracker { @@ -181,7 +170,7 @@ class FUnrealEnginePythonHouseKeeper { int32 Garbaged = 0; #if defined(UEPY_MEMORY_DEBUG) - UE_LOG(LogPython, Display, TEXT("Garbage collecting %d delegates"), PyDelegatesTracker.Num()); + UE_LOG(LogPython, Display, TEXT("Garbage collecting %d UObject delegates"), PyDelegatesTracker.Num()); #endif for (int32 i = PyDelegatesTracker.Num() - 1; i >= 0; --i) { @@ -194,6 +183,21 @@ class FUnrealEnginePythonHouseKeeper } } + +#if defined(UEPY_MEMORY_DEBUG) + UE_LOG(LogPython, Display, TEXT("Garbage collecting %d Slate delegates"), PySlateDelegatesTracker.Num()); +#endif + + for (int32 i = PySlateDelegatesTracker.Num() - 1; i >= 0; --i) + { + FPythonSWidgetDelegateTracker &Tracker = PySlateDelegatesTracker[i]; + if (!Tracker.Owner.IsValid()) + { + PyDelegatesTracker.RemoveAt(i); + Garbaged++; + } + + } return Garbaged; } @@ -236,8 +240,6 @@ class FUnrealEnginePythonHouseKeeper TMap UObjectPyMapping; TArray PyDelegatesTracker; - - TArray PySlateTracker; TArray PySlateDelegatesTracker; TArray> PyStaticSlateDelegatesTracker; }; From 3589f03a1b355c99edd6346201938bf8a42c67a3 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 7 Apr 2018 18:35:03 +0200 Subject: [PATCH 118/538] fixed slate GC delegates --- .../Private/Slate/UEPySlate.h | 28 ++++++++++++------- .../Public/PythonHouseKeeper.h | 16 ++++++++++- 2 files changed, 33 insertions(+), 11 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h index a27ddd6b8..49101d978 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h @@ -136,11 +136,17 @@ template ue_PySWidget *py_ue_new_swidget(TSharedRef s_widge return ret; } -#define ue_py_snew_base(T, required, arguments) ((ue_PySWidget *)self)->Widget = TSharedRef(MakeTDecl(#T, __FILE__, __LINE__, required) <<= arguments); +#define ue_py_snew_base(T, required, arguments) ((ue_PySWidget *)self)->Widget = TSharedRef(MakeTDecl(#T, __FILE__, __LINE__, required) <<= arguments);\ + for(TSharedRef Delegate : DeferredSlateDelegates)\ + {\ + FUnrealEnginePythonHouseKeeper::Get()->TrackDeferredSlateDelegate(Delegate, ((ue_PySWidget *)self)->Widget);\ + } -#define ue_py_snew_simple(T) ue_py_snew_base(T, RequiredArgs::MakeRequiredArgs(), T::FArguments()) +#define ue_py_snew_simple(T) TArray> DeferredSlateDelegates;\ + ue_py_snew_base(T, RequiredArgs::MakeRequiredArgs(), T::FArguments()) -#define ue_py_snew_simple_with_req_args(T, ... ) ue_py_snew_base(T, RequiredArgs::MakeRequiredArgs(__VA_ARGS__), T::FArguments()) +#define ue_py_snew_simple_with_req_args(T, ... ) TArray> DeferredSlateDelegates;\ + ue_py_snew_base(T, RequiredArgs::MakeRequiredArgs(__VA_ARGS__), T::FArguments()) #define ue_py_snew(T) ue_py_snew_base(T, RequiredArgs::MakeRequiredArgs(), arguments) @@ -155,9 +161,9 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); if (value) {\ if (PyCalllable_Check_Extended(value)) {\ _base handler;\ - ue_PySWidget *py_swidget = (ue_PySWidget *)self;\ - TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(py_swidget->Widget, value);\ + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewDeferredSlateDelegate(value);\ handler.Bind(py_delegate, &FPythonSlateDelegate::_func);\ + DeferredSlateDelegates.Add(py_delegate);\ arguments._attribute(handler);\ } @@ -167,9 +173,9 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); if (value) {\ if (PyCalllable_Check_Extended(value)) {\ _base handler;\ - ue_PySWidget *py_swidget = (ue_PySWidget *)self;\ - TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(py_swidget->Widget, value);\ + TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewDeferredSlateDelegate(value);\ handler.BindSP(py_delegate, &FPythonSlateDelegate::_func);\ + DeferredSlateDelegates.Add(py_delegate);\ arguments._attribute(handler);\ } @@ -453,9 +459,10 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); #define ue_py_slate_setup_farguments(_type) _type::FArguments arguments;\ - ue_py_slate_farguments_bool("is_enabled", IsEnabled);\ - ue_py_slate_farguments_text("tool_tip_text", ToolTipText);\ - ue_py_slate_farguments_fvector2d("render_transform_pivot", RenderTransformPivot) + TArray> DeferredSlateDelegates;\ + ue_py_slate_farguments_bool("is_enabled", IsEnabled); \ + ue_py_slate_farguments_text("tool_tip_text", ToolTipText); \ + ue_py_slate_farguments_fvector2d("render_transform_pivot", RenderTransformPivot) #define ue_py_slate_farguments_required_slot(param) { PyObject *value = ue_py_dict_get_item(kwargs, param);\ value = value ? value : PyTuple_GetItem(args, 0);\ @@ -470,6 +477,7 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); } #define ue_py_slate_setup_hack_slot_args(_type, _swidget_ref) _type::FSlot &arguments = _swidget_ref->AddSlot();\ + TArray> DeferredSlateDelegates;\ ue_py_slate_farguments_required_slot("widget"); void ue_python_init_slate(PyObject *); diff --git a/Source/UnrealEnginePython/Public/PythonHouseKeeper.h b/Source/UnrealEnginePython/Public/PythonHouseKeeper.h index 3067f2048..1c665fd8f 100644 --- a/Source/UnrealEnginePython/Public/PythonHouseKeeper.h +++ b/Source/UnrealEnginePython/Public/PythonHouseKeeper.h @@ -193,7 +193,7 @@ class FUnrealEnginePythonHouseKeeper FPythonSWidgetDelegateTracker &Tracker = PySlateDelegatesTracker[i]; if (!Tracker.Owner.IsValid()) { - PyDelegatesTracker.RemoveAt(i); + PySlateDelegatesTracker.RemoveAt(i); Garbaged++; } @@ -226,6 +226,20 @@ class FUnrealEnginePythonHouseKeeper return Delegate; } + TSharedRef NewDeferredSlateDelegate(PyObject *PyCallable) + { + TSharedRef Delegate = MakeShareable(new FPythonSlateDelegate()); + Delegate->SetPyCallable(PyCallable); + + return Delegate; + } + + void TrackDeferredSlateDelegate(TSharedRef Delegate, TSharedRef Owner) + { + FPythonSWidgetDelegateTracker Tracker(Delegate, Owner); + PySlateDelegatesTracker.Add(Tracker); + } + TSharedRef NewStaticSlateDelegate(PyObject *PyCallable) { TSharedRef Delegate = MakeShareable(new FPythonSlateDelegate()); From e5c23b8638fdc1de68332e0ac2eb0c2e72eb1064 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 8 Apr 2018 13:05:25 +0200 Subject: [PATCH 119/538] first round of pch removal --- .../Private/Blueprint/UEPyEdGraph.cpp | 2 +- .../Private/Blueprint/UEPyEdGraph.h | 5 +- .../Private/Blueprint/UEPyEdGraphPin.cpp | 81 +++-- .../UEPyICollectionManager.cpp | 32 +- .../ConsoleManager/UEPyIConsoleManager.cpp | 3 - .../Private/Fbx/UEPyFbxIOSettings.cpp | 20 +- .../Private/Fbx/UEPyFbxImporter.cpp | 2 +- .../Private/Fbx/UEPyFbxManager.cpp | 38 ++- .../Private/Fbx/UEPyFbxMesh.cpp | 4 +- .../Private/Fbx/UEPyFbxNode.cpp | 87 +++-- .../Private/Fbx/UEPyFbxNode.h | 11 +- .../Private/Fbx/UEPyFbxObject.cpp | 119 ++++--- .../Private/Fbx/UEPyFbxPose.cpp | 61 ++-- .../Private/Fbx/UEPyFbxProperty.cpp | 4 +- .../Private/Fbx/UEPyFbxScene.cpp | 5 +- .../Private/Http/UEPyIHttpBase.cpp | 35 +- .../Private/Http/UEPyIHttpRequest.cpp | 4 +- .../Private/Http/UEPyIHttpResponse.cpp | 14 +- .../UEPyFMaterialEditorUtilities.cpp | 5 +- Source/UnrealEnginePython/Private/PyActor.cpp | 1 - .../Private/PyCharacter.cpp | 1 - .../Private/PyCommandlet.cpp | 1 - Source/UnrealEnginePython/Private/PyHUD.cpp | 2 +- .../Private/PyNativeWidgetHost.cpp | 3 +- Source/UnrealEnginePython/Private/PyPawn.cpp | 2 +- .../Private/PyUserWidget.cpp | 4 +- .../PythonBlueprintFunctionLibrary.cpp | 2 +- .../Private/PythonComponent.cpp | 2 +- .../Private/PythonDelegate.cpp | 2 +- .../Private/PythonFunction.cpp | 2 +- .../Private/PythonScript.cpp | 2 +- .../Private/PythonSmartDelegate.cpp | 2 +- .../Private/Slate/UEPyFCharacterEvent.cpp | 4 +- .../Private/Slate/UEPyFCharacterEvent.h | 5 +- .../Private/Slate/UEPyFGeometry.cpp | 2 - .../Private/Slate/UEPyFInputEvent.cpp | 23 +- .../Private/Slate/UEPyFKeyEvent.cpp | 14 +- .../Private/Slate/UEPyFMenuBuilder.cpp | 8 +- .../Private/Slate/UEPyFMenuBuilder.h | 15 +- .../Private/Slate/UEPyFModifierKeysState.cpp | 2 - .../Private/Slate/UEPyFPaintContext.cpp | 2 - .../Private/Slate/UEPyFPointerEvent.cpp | 2 - .../Private/Slate/UEPyFSlateIcon.cpp | 42 +-- .../Private/Slate/UEPyFSlateStyleSet.cpp | 172 +++++----- .../Private/Slate/UEPyFSlateStyleSet.h | 11 +- .../Private/Slate/UEPyFTabManager.cpp | 8 +- .../Private/Slate/UEPyFTabSpawnerEntry.cpp | 14 +- .../Private/Slate/UEPyFToolBarBuilder.cpp | 2 - .../Private/Slate/UEPyIDetailsView.cpp | 4 +- .../Slate/UEPyIStructureDetailsView.cpp | 4 +- .../Private/Slate/UEPySAssetDropTarget.cpp | 5 +- .../Private/Slate/UEPySBorder.cpp | 2 - .../Private/Slate/UEPySBox.cpp | 1 - .../Private/Slate/UEPySBoxPanel.cpp | 2 - .../Private/Slate/UEPySButton.cpp | 1 - .../Private/Slate/UEPySCanvas.cpp | 1 - .../Private/Slate/UEPySCheckBox.cpp | 3 - .../Private/Slate/UEPySColorBlock.cpp | 2 - .../Private/Slate/UEPySCompoundWidget.cpp | 3 - .../Private/Slate/UEPySDockTab.cpp | 3 - .../Private/Slate/UEPySDropTarget.cpp | 8 +- .../Private/Slate/UEPySEditableTextBox.cpp | 2 +- .../Private/Slate/UEPySEditorViewport.cpp | 4 +- .../Private/Slate/UEPySFilePathPicker.cpp | 1 - .../Private/Slate/UEPySGraphEditor.cpp | 4 +- .../Private/Slate/UEPySGraphPanel.cpp | 4 +- .../Private/Slate/UEPySGridPanel.cpp | 2 - .../Private/Slate/UEPySHeaderRow.cpp | 2 +- .../Private/Slate/UEPySHorizontalBox.cpp | 2 - .../Private/Slate/UEPySImage.cpp | 3 - .../Private/Slate/UEPySLeafWidget.cpp | 4 +- .../Private/Slate/UEPySLevelViewport.cpp | 6 +- .../Private/Slate/UEPySLevelViewport.h | 8 +- .../Private/Slate/UEPySListView.cpp | 6 +- .../Slate/UEPySMultiLineEditableText.cpp | 3 +- .../Slate/UEPySMultiLineEditableText.h | 7 +- .../Private/Slate/UEPySNodePanel.cpp | 72 ++--- .../Private/Slate/UEPySNumericEntryBox.cpp | 123 +++---- .../Private/Slate/UEPySNumericEntryBox.h | 6 +- .../Slate/UEPySObjectPropertyEntryBox.cpp | 4 +- .../Private/Slate/UEPySOverlay.cpp | 3 +- .../Private/Slate/UEPySPanel.cpp | 1 - .../Private/Slate/UEPySProgressBar.cpp | 3 - .../Private/Slate/UEPySPythonComboBox.cpp | 1 - .../Slate/UEPySPythonEditorViewport.cpp | 4 +- .../Private/Slate/UEPySPythonEditorViewport.h | 35 +- .../Private/Slate/UEPySPythonListView.cpp | 1 - .../Slate/UEPySPythonMultiColumnTableRow.cpp | 1 - .../Slate/UEPySPythonMultiColumnTableRow.h | 8 +- .../Private/Slate/UEPySPythonShelf.cpp | 4 +- .../Private/Slate/UEPySPythonTreeView.cpp | 4 +- .../Private/Slate/UEPySPythonWidget.cpp | 2 - .../Private/Slate/UEPySPythonWidget.h | 42 ++- .../Private/Slate/UEPySRotatorInputBox.cpp | 2 +- .../Private/Slate/UEPySScrollBox.cpp | 2 - .../Private/Slate/UEPySSlider.cpp | 2 - .../Private/Slate/UEPySSpacer.cpp | 5 - .../Private/Slate/UEPySSpacer.h | 2 +- .../Private/Slate/UEPySSplitter.cpp | 3 - .../Private/Slate/UEPySSplitter.h | 5 +- .../Private/Slate/UEPySTableViewBase.cpp | 1 - .../Private/Slate/UEPySTextBlock.cpp | 2 - .../Private/Slate/UEPySTreeView.cpp | 2 - .../Private/Slate/UEPySVectorInputBox.cpp | 1 - .../Private/Slate/UEPySVerticalBox.cpp | 2 - .../Private/Slate/UEPySViewport.cpp | 1 - .../Private/Slate/UEPySWidget.cpp | 1 - .../Private/Slate/UEPySWidget.h | 9 + .../Private/Slate/UEPySWindow.cpp | 4 +- .../Private/Slate/UEPySlate.cpp | 6 +- .../Private/Slate/UEPySlate.h | 114 +------ .../UEPyFSlateApplication.cpp | 2 - .../SlateApplication/UEPyFSlateApplication.h | 2 +- .../Private/UEPyAssetUserData.cpp | 2 +- .../Private/UEPyAssetUserData.h | 3 +- .../Private/UEPyCallable.cpp | 22 +- .../UnrealEnginePython/Private/UEPyEditor.cpp | 9 +- .../UnrealEnginePython/Private/UEPyEditor.h | 2 +- .../UnrealEnginePython/Private/UEPyEngine.cpp | 2 +- .../Private/UEPyEnumsImporter.cpp | 2 +- .../Private/UEPyEnumsImporter.h | 7 +- .../Private/UEPyIPlugin.cpp | 2 +- .../UnrealEnginePython/Private/UEPyModule.cpp | 59 +++- .../UnrealEnginePython/Private/UEPyModule.h | 21 +- .../Private/UEPySubclassing.cpp | 4 +- .../UnrealEnginePython/Private/UEPyTicker.cpp | 1 - .../UnrealEnginePython/Private/UEPyTicker.h | 9 +- .../UnrealEnginePython/Private/UEPyTimer.cpp | 1 - Source/UnrealEnginePython/Private/UEPyTimer.h | 10 +- .../Private/UEPyUClassesImporter.cpp | 2 +- .../Private/UEPyUScriptStruct.cpp | 2 +- .../Private/UEPyUScriptStruct.h | 6 +- .../Private/UEPyUStructsImporter.cpp | 23 +- .../Private/UEPyVisualLogger.cpp | 2 +- .../Private/UEPyVisualLogger.h | 4 +- .../Private/UObject/UEPyActor.cpp | 7 +- .../Private/UObject/UEPyActor.h | 13 +- .../Private/UObject/UEPyAnimSequence.cpp | 65 ++-- .../Private/UObject/UEPyAnimSequence.h | 7 +- .../Private/UObject/UEPyAttaching.cpp | 2 +- .../Private/UObject/UEPyAttaching.h | 3 +- .../Private/UObject/UEPyAudio.cpp | 2 +- .../Private/UObject/UEPyCapture.cpp | 4 +- .../Private/UObject/UEPyCapture.h | 2 +- .../Private/UObject/UEPyController.cpp | 2 +- .../Private/UObject/UEPyDataTable.cpp | 2 +- .../Private/UObject/UEPyExporter.cpp | 2 +- .../Private/UObject/UEPyExporter.h | 2 +- .../Private/UObject/UEPyHUD.cpp | 2 +- .../Private/UObject/UEPyHUD.h | 3 +- .../Private/UObject/UEPyInput.cpp | 6 +- .../Private/UObject/UEPyInput.h | 2 +- .../Private/UObject/UEPyLandscape.cpp | 4 +- .../Private/UObject/UEPyLandscape.h | 2 +- .../Private/UObject/UEPyMaterial.cpp | 7 +- .../Private/UObject/UEPyMaterial.h | 2 +- .../Private/UObject/UEPyMovements.cpp | 306 ++++++++++++------ .../Private/UObject/UEPyMovements.h | 2 +- .../Private/UObject/UEPyNavigation.cpp | 4 +- .../Private/UObject/UEPyNavigation.h | 2 +- .../Private/UObject/UEPyObject.cpp | 4 +- .../Private/UObject/UEPyPackage.cpp | 19 +- .../Private/UObject/UEPyPawn.cpp | 2 +- .../Private/UObject/UEPyPhysics.cpp | 2 +- .../Private/UObject/UEPyPhysics.h | 2 +- .../Private/UObject/UEPyPlayer.cpp | 2 +- .../Private/UObject/UEPyPlayer.h | 2 +- .../Private/UObject/UEPySequencer.cpp | 2 +- .../Private/UObject/UEPySkeletal.cpp | 4 +- .../Private/UObject/UEPySkeletal.h | 2 +- .../Private/UObject/UEPySpline.cpp | 33 +- .../Private/UObject/UEPySpline.h | 2 +- .../Private/UObject/UEPyStaticMesh.cpp | 13 +- .../Private/UObject/UEPyStaticMesh.h | 2 +- .../Private/UObject/UEPyTexture.cpp | 2 +- .../Private/UObject/UEPyTexture.h | 2 +- .../Private/UObject/UEPyTraceAndSweep.cpp | 3 +- .../Private/UObject/UEPyTraceAndSweep.h | 2 +- .../Private/UObject/UEPyTransform.cpp | 5 +- .../Private/UObject/UEPyUserDefinedStruct.cpp | 2 +- .../Private/UObject/UEPyViewport.cpp | 2 +- .../Private/UObject/UEPyWidget.cpp | 2 +- .../Private/UObject/UEPyWidget.h | 2 +- .../Private/UObject/UEPyWidgetComponent.cpp | 2 +- .../Private/UObject/UEPyWidgetComponent.h | 2 +- .../Private/UObject/UEPyWorld.cpp | 6 +- .../Private/UObject/UEPyWorld.h | 6 +- .../Private/UnrealEnginePython.cpp | 20 +- .../Private/UnrealEnginePythonPrivatePCH.h | 120 ------- .../Private/Voice/UEPyIVoiceCapture.cpp | 2 - .../Private/Wrappers/UEPyESlateEnums.cpp | 71 ++-- .../Private/Wrappers/UEPyFARFilter.cpp | 2 +- .../Private/Wrappers/UEPyFAssetData.cpp | 2 +- .../Private/Wrappers/UEPyFAssetData.h | 10 +- .../Private/Wrappers/UEPyFColor.cpp | 2 +- .../Wrappers/UEPyFEditorViewportClient.cpp | 2 +- .../Wrappers/UEPyFEditorViewportClient.h | 4 +- .../Private/Wrappers/UEPyFHitResult.cpp | 2 +- .../Private/Wrappers/UEPyFLinearColor.cpp | 2 +- .../Wrappers/UEPyFMorphTargetDelta.cpp | 2 +- .../Private/Wrappers/UEPyFMorphTargetDelta.h | 2 + .../Private/Wrappers/UEPyFObjectThumbnail.cpp | 2 +- .../Wrappers/UEPyFPythonOutputDevice.cpp | 17 +- .../Wrappers/UEPyFPythonOutputDevice.h | 32 +- .../Private/Wrappers/UEPyFQuat.cpp | 125 ++++--- .../Private/Wrappers/UEPyFRandomStream.cpp | 2 +- .../Wrappers/UEPyFRawAnimSequenceTrack.cpp | 83 +++-- .../Private/Wrappers/UEPyFRawMesh.cpp | 2 +- .../Private/Wrappers/UEPyFRawMesh.h | 9 +- .../Private/Wrappers/UEPyFRotator.cpp | 2 +- .../Private/Wrappers/UEPyFRotator.h | 4 +- .../Private/Wrappers/UEPyFSocket.cpp | 45 ++- .../Private/Wrappers/UEPyFSoftSkinVertex.cpp | 2 +- .../Private/Wrappers/UEPyFSoftSkinVertex.h | 2 + .../Wrappers/UEPyFStringAssetReference.cpp | 1 - .../Private/Wrappers/UEPyFTransform.cpp | 2 +- .../Private/Wrappers/UEPyFVector.cpp | 2 +- .../Private/Wrappers/UEPyFViewportClient.cpp | 2 +- Source/UnrealEnginePython/Public/PyActor.h | 2 +- .../UnrealEnginePython/Public/PyCharacter.h | 37 ++- .../UnrealEnginePython/Public/PythonClass.h | 13 +- .../Public/PythonHouseKeeper.h | 13 +- .../Public/PythonSmartDelegate.h | 5 +- .../Public/UnrealEnginePython.h | 71 +++- .../UnrealEnginePython.Build.cs | 1 + 225 files changed, 1627 insertions(+), 1334 deletions(-) delete mode 100644 Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h diff --git a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp index 1e82e45d7..2ea84adb5 100644 --- a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp +++ b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyEdGraph.h" #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.h b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.h index d14c85770..e41bf709b 100644 --- a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.h +++ b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.h @@ -2,7 +2,10 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" +#include "UEPyCallable.h" + +#include "UEPyEdGraphPin.h" #if WITH_EDITOR PyObject *py_ue_graph_add_node_call_function(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp index c9fc2441c..23f9f934b 100644 --- a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp +++ b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp @@ -1,25 +1,28 @@ +#include "UEPyEdGraphPin.h" #if WITH_EDITOR - -#include "UnrealEnginePythonPrivatePCH.h" #include "Runtime/Engine/Classes/EdGraph/EdGraphPin.h" #include "Editor/UnrealEd/Public/Kismet2/BlueprintEditorUtils.h" -static PyObject *py_ue_edgraphpin_make_link_to(ue_PyEdGraphPin *self, PyObject * args) { +static PyObject *py_ue_edgraphpin_make_link_to(ue_PyEdGraphPin *self, PyObject * args) +{ PyObject *other_pin; - if (!PyArg_ParseTuple(args, "O:make_link_to", &other_pin)) { + if (!PyArg_ParseTuple(args, "O:make_link_to", &other_pin)) + { return NULL; } ue_PyEdGraphPin *py_other_pin = py_ue_is_edgraphpin(other_pin); - if (!py_other_pin) { + if (!py_other_pin) + { return PyErr_Format(PyExc_Exception, "argument is not a UEdGraphPin"); } self->pin->MakeLinkTo(py_other_pin->pin); - if (UBlueprint *bp = Cast(self->pin->GetOwningNode()->GetGraph()->GetOuter())) { + if (UBlueprint *bp = Cast(self->pin->GetOwningNode()->GetGraph()->GetOuter())) + { FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified(bp); } @@ -27,22 +30,27 @@ static PyObject *py_ue_edgraphpin_make_link_to(ue_PyEdGraphPin *self, PyObject * return Py_None; } -static PyObject *py_ue_edgraphpin_connect(ue_PyEdGraphPin *self, PyObject * args) { +static PyObject *py_ue_edgraphpin_connect(ue_PyEdGraphPin *self, PyObject * args) +{ PyObject *other_pin; - if (!PyArg_ParseTuple(args, "O:connect", &other_pin)) { + if (!PyArg_ParseTuple(args, "O:connect", &other_pin)) + { return NULL; } ue_PyEdGraphPin *py_other_pin = py_ue_is_edgraphpin(other_pin); - if (!py_other_pin) { + if (!py_other_pin) + { return PyErr_Format(PyExc_Exception, "argument is not a UEdGraphPin"); } - if (!self->pin->GetSchema()->TryCreateConnection(self->pin, py_other_pin->pin)) { + if (!self->pin->GetSchema()->TryCreateConnection(self->pin, py_other_pin->pin)) + { return PyErr_Format(PyExc_Exception, "unable to connect pins"); } - if (UBlueprint *bp = Cast(self->pin->GetOwningNode()->GetGraph()->GetOuter())) { + if (UBlueprint *bp = Cast(self->pin->GetOwningNode()->GetGraph()->GetOuter())) + { FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified(bp); } @@ -50,20 +58,24 @@ static PyObject *py_ue_edgraphpin_connect(ue_PyEdGraphPin *self, PyObject * args return Py_None; } -static PyObject *py_ue_edgraphpin_break_link_to(ue_PyEdGraphPin *self, PyObject * args) { +static PyObject *py_ue_edgraphpin_break_link_to(ue_PyEdGraphPin *self, PyObject * args) +{ PyObject *other_pin; - if (!PyArg_ParseTuple(args, "O:break_link_to", &other_pin)) { + if (!PyArg_ParseTuple(args, "O:break_link_to", &other_pin)) + { return NULL; } ue_PyEdGraphPin *py_other_pin = py_ue_is_edgraphpin(other_pin); - if (!py_other_pin) { + if (!py_other_pin) + { return PyErr_Format(PyExc_Exception, "argument is not a UEdGraphPin"); } self->pin->BreakLinkTo(py_other_pin->pin); - if (UBlueprint *bp = Cast(self->pin->GetOwningNode()->GetGraph()->GetOuter())) { + if (UBlueprint *bp = Cast(self->pin->GetOwningNode()->GetGraph()->GetOuter())) + { FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified(bp); } @@ -78,7 +90,8 @@ static PyMethodDef ue_PyEdGraphPin_methods[] = { { NULL } /* Sentinel */ }; -static PyObject *py_ue_edgraphpin_get_name(ue_PyEdGraphPin *self, void *closure) { +static PyObject *py_ue_edgraphpin_get_name(ue_PyEdGraphPin *self, void *closure) +{ #if ENGINE_MINOR_VERSION > 18 return PyUnicode_FromString(TCHAR_TO_UTF8(*(self->pin->PinName.ToString()))); #else @@ -86,7 +99,8 @@ static PyObject *py_ue_edgraphpin_get_name(ue_PyEdGraphPin *self, void *closure) #endif } -static PyObject *py_ue_edgraphpin_get_category(ue_PyEdGraphPin *self, void *closure) { +static PyObject *py_ue_edgraphpin_get_category(ue_PyEdGraphPin *self, void *closure) +{ #if ENGINE_MINOR_VERSION > 18 return PyUnicode_FromString(TCHAR_TO_UTF8(*(self->pin->PinType.PinCategory.ToString()))); #else @@ -94,7 +108,8 @@ static PyObject *py_ue_edgraphpin_get_category(ue_PyEdGraphPin *self, void *clos #endif } -static PyObject *py_ue_edgraphpin_get_sub_category(ue_PyEdGraphPin *self, void *closure) { +static PyObject *py_ue_edgraphpin_get_sub_category(ue_PyEdGraphPin *self, void *closure) +{ #if ENGINE_MINOR_VERSION > 18 return PyUnicode_FromString(TCHAR_TO_UTF8(*(self->pin->PinType.PinSubCategory.ToString()))); #else @@ -102,12 +117,15 @@ static PyObject *py_ue_edgraphpin_get_sub_category(ue_PyEdGraphPin *self, void * #endif } -static PyObject *py_ue_edgraphpin_get_default_value(ue_PyEdGraphPin *self, void *closure) { +static PyObject *py_ue_edgraphpin_get_default_value(ue_PyEdGraphPin *self, void *closure) +{ return PyUnicode_FromString(TCHAR_TO_UTF8(*(self->pin->DefaultValue))); } -static int py_ue_edgraphpin_set_default_value(ue_PyEdGraphPin *self, PyObject *value, void *closure) { - if (value && PyUnicode_Check(value)) { +static int py_ue_edgraphpin_set_default_value(ue_PyEdGraphPin *self, PyObject *value, void *closure) +{ + if (value && PyUnicode_Check(value)) + { char *str = PyUnicode_AsUTF8(value); self->pin->DefaultValue = UTF8_TO_TCHAR(str); return 0; @@ -116,16 +134,20 @@ static int py_ue_edgraphpin_set_default_value(ue_PyEdGraphPin *self, PyObject *v return -1; } -static PyObject *py_ue_edgraphpin_get_default_object(ue_PyEdGraphPin *self, void *closure) { +static PyObject *py_ue_edgraphpin_get_default_object(ue_PyEdGraphPin *self, void *closure) +{ UObject *u_object = self->pin->DefaultObject; - if (!u_object) { + if (!u_object) + { Py_RETURN_NONE; } Py_RETURN_UOBJECT(u_object); } -static int py_ue_edgraphpin_set_default_object(ue_PyEdGraphPin *self, PyObject *value, void *closure) { - if (value && ue_is_pyuobject(value)) { +static int py_ue_edgraphpin_set_default_object(ue_PyEdGraphPin *self, PyObject *value, void *closure) +{ + if (value && ue_is_pyuobject(value)) + { ue_PyUObject *py_obj = (ue_PyUObject *)value; self->pin->DefaultObject = py_obj->ue_object; return 0; @@ -187,7 +209,8 @@ static PyTypeObject ue_PyEdGraphPinType = { }; -void ue_python_init_edgraphpin(PyObject *ue_module) { +void ue_python_init_edgraphpin(PyObject *ue_module) +{ ue_PyEdGraphPinType.tp_new = PyType_GenericNew; if (PyType_Ready(&ue_PyEdGraphPinType) < 0) @@ -197,13 +220,15 @@ void ue_python_init_edgraphpin(PyObject *ue_module) { PyModule_AddObject(ue_module, "EdGraphPin", (PyObject *)&ue_PyEdGraphPinType); } -PyObject *py_ue_new_edgraphpin(UEdGraphPin *pin) { +PyObject *py_ue_new_edgraphpin(UEdGraphPin *pin) +{ ue_PyEdGraphPin *ret = (ue_PyEdGraphPin *)PyObject_New(ue_PyEdGraphPin, &ue_PyEdGraphPinType); ret->pin = pin; return (PyObject *)ret; } -ue_PyEdGraphPin *py_ue_is_edgraphpin(PyObject *obj) { +ue_PyEdGraphPin *py_ue_is_edgraphpin(PyObject *obj) +{ if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyEdGraphPinType)) return nullptr; return (ue_PyEdGraphPin *)obj; diff --git a/Source/UnrealEnginePython/Private/CollectionManager/UEPyICollectionManager.cpp b/Source/UnrealEnginePython/Private/CollectionManager/UEPyICollectionManager.cpp index d75ce9153..b91116dfe 100644 --- a/Source/UnrealEnginePython/Private/CollectionManager/UEPyICollectionManager.cpp +++ b/Source/UnrealEnginePython/Private/CollectionManager/UEPyICollectionManager.cpp @@ -1,8 +1,7 @@ -#if WITH_EDITOR -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPyICollectionManager.h" +#if WITH_EDITOR + #include "Developer/CollectionManager/Public/CollectionManagerModule.h" static PyObject *py_ue_icollection_manager_get_collections(PyObject *cls, PyObject * args) @@ -11,7 +10,8 @@ static PyObject *py_ue_icollection_manager_get_collections(PyObject *cls, PyObje ICollectionManager &CollectionManager = FCollectionManagerModule::GetModule().Get(); TArray collections; CollectionManager.GetCollections(collections); - for (FCollectionNameType name_type : collections) { + for (FCollectionNameType name_type : collections) + { PyList_Append(py_list, Py_BuildValue((char *)"(si)", TCHAR_TO_UTF8(*name_type.Name.ToString()), (int)name_type.Type)); } return py_list; @@ -41,7 +41,8 @@ static PyObject *py_ue_icollection_manager_get_root_collections(PyObject *cls, P ICollectionManager &CollectionManager = FCollectionManagerModule::GetModule().Get(); TArray collections; CollectionManager.GetRootCollections(collections); - for (FCollectionNameType name_type : collections) { + for (FCollectionNameType name_type : collections) + { PyList_Append(py_list, Py_BuildValue((char *)"(si)", TCHAR_TO_UTF8(*name_type.Name.ToString()), (int)name_type.Type)); } return py_list; @@ -59,7 +60,8 @@ static PyObject *py_ue_icollection_manager_get_child_collection_names(PyObject * ICollectionManager &CollectionManager = FCollectionManagerModule::GetModule().Get(); TArray names; CollectionManager.GetChildCollectionNames(FName(UTF8_TO_TCHAR(name)), (ECollectionShareType::Type)type, (ECollectionShareType::Type)child_type, names); - for (FName cname : names) { + for (FName cname : names) + { PyList_Append(py_list, PyUnicode_FromString(TCHAR_TO_UTF8(*cname.ToString()))); } return py_list; @@ -77,7 +79,8 @@ static PyObject *py_ue_icollection_manager_get_child_collections(PyObject *cls, ICollectionManager &CollectionManager = FCollectionManagerModule::GetModule().Get(); TArray collections; CollectionManager.GetChildCollections(FName(UTF8_TO_TCHAR(name)), (ECollectionShareType::Type)type, collections); - for (FCollectionNameType name_type : collections) { + for (FCollectionNameType name_type : collections) + { PyList_Append(py_list, Py_BuildValue((char *)"(si)", TCHAR_TO_UTF8(*name_type.Name.ToString()), (int)name_type.Type)); } return py_list; @@ -93,7 +96,8 @@ static PyObject *py_ue_icollection_manager_get_collection_names(PyObject *cls, P ICollectionManager &CollectionManager = FCollectionManagerModule::GetModule().Get(); TArray names; CollectionManager.GetCollectionNames((ECollectionShareType::Type)type, names); - for (FName name : names) { + for (FName name : names) + { PyList_Append(py_list, PyUnicode_FromString(TCHAR_TO_UTF8(*name.ToString()))); } return py_list; @@ -109,7 +113,8 @@ static PyObject *py_ue_icollection_manager_get_root_collection_names(PyObject *c ICollectionManager &CollectionManager = FCollectionManagerModule::GetModule().Get(); TArray names; CollectionManager.GetRootCollectionNames((ECollectionShareType::Type)type, names); - for (FName name : names) { + for (FName name : names) + { PyList_Append(py_list, PyUnicode_FromString(TCHAR_TO_UTF8(*name.ToString()))); } return py_list; @@ -394,7 +399,8 @@ static PyObject *py_ue_icollection_manager_get_assets_in_collection(PyObject *cl if (CollectionManager.GetAssetsInCollection(FName(UTF8_TO_TCHAR(name)), (ECollectionShareType::Type)type, paths, (ECollectionRecursionFlags::Flags)recursion)) { PyObject *py_list = PyList_New(0); - for (FName path : paths) { + for (FName path : paths) + { PyList_Append(py_list, PyUnicode_FromString(TCHAR_TO_UTF8(*path.ToString()))); } return py_list; @@ -418,7 +424,8 @@ static PyObject *py_ue_icollection_manager_get_objects_in_collection(PyObject *c if (CollectionManager.GetObjectsInCollection(FName(UTF8_TO_TCHAR(name)), (ECollectionShareType::Type)type, paths, (ECollectionRecursionFlags::Flags)recursion)) { PyObject *py_list = PyList_New(0); - for (FName path : paths) { + for (FName path : paths) + { PyList_Append(py_list, PyUnicode_FromString(TCHAR_TO_UTF8(*path.ToString()))); } return py_list; @@ -442,7 +449,8 @@ static PyObject *py_ue_icollection_manager_get_classes_in_collection(PyObject *c if (CollectionManager.GetClassesInCollection(FName(UTF8_TO_TCHAR(name)), (ECollectionShareType::Type)type, paths, (ECollectionRecursionFlags::Flags)recursion)) { PyObject *py_list = PyList_New(0); - for (FName path : paths) { + for (FName path : paths) + { PyList_Append(py_list, PyUnicode_FromString(TCHAR_TO_UTF8(*path.ToString()))); } return py_list; diff --git a/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp b/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp index 31af0269e..cd39cd599 100644 --- a/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp +++ b/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp @@ -1,6 +1,3 @@ - -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPyIConsoleManager.h" static PyObject *py_ue_iconsole_manager_add_history_entry(PyObject *cls, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxIOSettings.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxIOSettings.cpp index a7091921c..4cec37355 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxIOSettings.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxIOSettings.cpp @@ -1,9 +1,10 @@ +#include "UEPyFbxIOSettings.h" + #if ENGINE_MINOR_VERSION > 12 -#include "UnrealEnginePythonPrivatePCH.h" #if WITH_EDITOR -#include "UEPyFbx.h" + static PyMethodDef ue_PyFbxIOSettings_methods[] = { { NULL } /* Sentinel */ @@ -42,15 +43,18 @@ static PyTypeObject ue_PyFbxIOSettingsType = { 0, /* tp_getset */ }; -static int py_ue_fbx_io_settings_init(ue_PyFbxIOSettings *self, PyObject * args) { +static int py_ue_fbx_io_settings_init(ue_PyFbxIOSettings *self, PyObject * args) +{ PyObject *py_object; char *name; - if (!PyArg_ParseTuple(args, "Os", &py_object, &name)) { + if (!PyArg_ParseTuple(args, "Os", &py_object, &name)) + { return -1; } ue_PyFbxManager *py_fbx_manager = py_ue_is_fbx_manager(py_object); - if (!py_fbx_manager) { + if (!py_fbx_manager) + { PyErr_SetString(PyExc_Exception, "argument is not a FbxManager"); return -1; } @@ -59,7 +63,8 @@ static int py_ue_fbx_io_settings_init(ue_PyFbxIOSettings *self, PyObject * args) return 0; } -void ue_python_init_fbx_io_settings(PyObject *ue_module) { +void ue_python_init_fbx_io_settings(PyObject *ue_module) +{ ue_PyFbxIOSettingsType.tp_new = PyType_GenericNew;; ue_PyFbxIOSettingsType.tp_init = (initproc)py_ue_fbx_io_settings_init; if (PyType_Ready(&ue_PyFbxIOSettingsType) < 0) @@ -69,7 +74,8 @@ void ue_python_init_fbx_io_settings(PyObject *ue_module) { PyModule_AddObject(ue_module, "FbxIOSettings", (PyObject *)&ue_PyFbxIOSettingsType); } -ue_PyFbxIOSettings *py_ue_is_fbx_io_settings(PyObject *obj) { +ue_PyFbxIOSettings *py_ue_is_fbx_io_settings(PyObject *obj) +{ if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyFbxIOSettingsType)) return nullptr; return (ue_PyFbxIOSettings *)obj; diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxImporter.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxImporter.cpp index 96f003948..432271a18 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxImporter.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxImporter.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFbxImporter.h" #if ENGINE_MINOR_VERSION > 12 #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxManager.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxManager.cpp index b62a20ba8..5f72bfccf 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxManager.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxManager.cpp @@ -1,18 +1,22 @@ +#include "UEPyFbxManager.h" + #if ENGINE_MINOR_VERSION > 12 -#include "UnrealEnginePythonPrivatePCH.h" #if WITH_EDITOR -#include "UEPyFbx.h" -static PyObject *py_ue_fbx_manager_set_io_settings(ue_PyFbxManager *self, PyObject *args) { + +static PyObject *py_ue_fbx_manager_set_io_settings(ue_PyFbxManager *self, PyObject *args) +{ PyObject *py_object; - if (!PyArg_ParseTuple(args, "O", &py_object)) { + if (!PyArg_ParseTuple(args, "O", &py_object)) + { return nullptr; } ue_PyFbxIOSettings *py_fbx_io_settings = py_ue_is_fbx_io_settings(py_object); - if (!py_fbx_io_settings) { + if (!py_fbx_io_settings) + { return PyErr_Format(PyExc_Exception, "argument is not a FbxIOSettings"); } @@ -21,14 +25,17 @@ static PyObject *py_ue_fbx_manager_set_io_settings(ue_PyFbxManager *self, PyObje Py_RETURN_NONE; } -static PyObject *py_ue_fbx_manager_create_missing_bind_poses(ue_PyFbxManager *self, PyObject *args) { +static PyObject *py_ue_fbx_manager_create_missing_bind_poses(ue_PyFbxManager *self, PyObject *args) +{ PyObject *py_object; - if (!PyArg_ParseTuple(args, "O", &py_object)) { + if (!PyArg_ParseTuple(args, "O", &py_object)) + { return nullptr; } ue_PyFbxScene *py_fbx_scene = py_ue_is_fbx_scene(py_object); - if (!py_fbx_scene) { + if (!py_fbx_scene) + { return PyErr_Format(PyExc_Exception, "argument is not a FbxScene"); } @@ -44,7 +51,8 @@ static PyMethodDef ue_PyFbxManager_methods[] = { { NULL } /* Sentinel */ }; -static void ue_py_fbx_manager_dealloc(ue_PyFbxManager *self) { +static void ue_py_fbx_manager_dealloc(ue_PyFbxManager *self) +{ if (self->fbx_manager) self->fbx_manager->Destroy(); #if PY_MAJOR_VERSION < 3 @@ -87,12 +95,14 @@ static PyTypeObject ue_PyFbxManagerType = { 0, /* tp_getset */ }; -static int py_ue_fbx_manager_init(ue_PyFbxManager *self, PyObject * args) { +static int py_ue_fbx_manager_init(ue_PyFbxManager *self, PyObject * args) +{ self->fbx_manager = FbxManager::Create(); return 0; } -void ue_python_init_fbx_manager(PyObject *ue_module) { +void ue_python_init_fbx_manager(PyObject *ue_module) +{ ue_PyFbxManagerType.tp_new = PyType_GenericNew;; ue_PyFbxManagerType.tp_init = (initproc)py_ue_fbx_manager_init; if (PyType_Ready(&ue_PyFbxManagerType) < 0) @@ -103,13 +113,15 @@ void ue_python_init_fbx_manager(PyObject *ue_module) { } -ue_PyFbxManager *py_ue_is_fbx_manager(PyObject *obj) { +ue_PyFbxManager *py_ue_is_fbx_manager(PyObject *obj) +{ if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyFbxManagerType)) return nullptr; return (ue_PyFbxManager *)obj; } -void ue_python_init_fbx(PyObject *module) { +void ue_python_init_fbx(PyObject *module) +{ ue_python_init_fbx_manager(module); ue_python_init_fbx_io_settings(module); ue_python_init_fbx_importer(module); diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.cpp index cf367203e..0a1816a78 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.cpp @@ -1,5 +1,5 @@ -#include "UnrealEnginePythonPrivatePCH.h" -#include "UEPyFbx.h" + +#include "UEPyFbxMesh.h" #if WITH_EDITOR #if ENGINE_MINOR_VERSION > 12 diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.cpp index 15dfa0170..364ffc8ce 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.cpp @@ -1,88 +1,107 @@ -#include "UnrealEnginePythonPrivatePCH.h" -#include "UEPyFbx.h" +#include "UEPyFbxNode.h" #if WITH_EDITOR #if ENGINE_MINOR_VERSION > 12 -static PyObject *py_ue_fbx_node_get_child_count(ue_PyFbxNode *self, PyObject *args) { +static PyObject *py_ue_fbx_node_get_child_count(ue_PyFbxNode *self, PyObject *args) +{ return PyLong_FromLong(self->fbx_node->GetChildCount()); } -static PyObject *py_ue_fbx_node_get_name(ue_PyFbxNode *self, PyObject *args) { +static PyObject *py_ue_fbx_node_get_name(ue_PyFbxNode *self, PyObject *args) +{ return PyUnicode_FromString(self->fbx_node->GetName()); } -static PyObject *py_ue_fbx_node_get_local_translation(ue_PyFbxNode *self, PyObject *args) { +static PyObject *py_ue_fbx_node_get_local_translation(ue_PyFbxNode *self, PyObject *args) +{ FbxDouble3 fbx_vec = self->fbx_node->LclTranslation.Get(); return py_ue_new_fvector(FVector(fbx_vec[0], fbx_vec[1], fbx_vec[2])); } -static PyObject *py_ue_fbx_node_get_local_rotation(ue_PyFbxNode *self, PyObject *args) { +static PyObject *py_ue_fbx_node_get_local_rotation(ue_PyFbxNode *self, PyObject *args) +{ FbxDouble3 fbx_vec = self->fbx_node->LclRotation.Get(); return py_ue_new_fvector(FVector(fbx_vec[0], fbx_vec[1], fbx_vec[2])); } -static PyObject *py_ue_fbx_node_get_local_scaling(ue_PyFbxNode *self, PyObject *args) { +static PyObject *py_ue_fbx_node_get_local_scaling(ue_PyFbxNode *self, PyObject *args) +{ FbxDouble3 fbx_vec = self->fbx_node->LclScaling.Get(); return py_ue_new_fvector(FVector(fbx_vec[0], fbx_vec[1], fbx_vec[2])); } -static PyObject *py_ue_fbx_node_get_child(ue_PyFbxNode *self, PyObject *args) { +static PyObject *py_ue_fbx_node_get_child(ue_PyFbxNode *self, PyObject *args) +{ int index; - if (!PyArg_ParseTuple(args, "i", &index)) { + if (!PyArg_ParseTuple(args, "i", &index)) + { return nullptr; } FbxNode *fbx_node = self->fbx_node->GetChild(index); - if (!fbx_node) { + if (!fbx_node) + { return PyErr_Format(PyExc_Exception, "unable to retrieve FbxNode at index %d", index); } return py_ue_new_fbx_node(fbx_node); } -static PyObject *py_ue_fbx_node_get_parent(ue_PyFbxNode *self, PyObject *args) { +static PyObject *py_ue_fbx_node_get_parent(ue_PyFbxNode *self, PyObject *args) +{ FbxNode *fbx_node = self->fbx_node->GetParent(); - if (!fbx_node) { + if (!fbx_node) + { return PyErr_Format(PyExc_Exception, "unable to retrieve FbxNode parent"); } return py_ue_new_fbx_node(fbx_node); } -static PyObject *py_ue_fbx_node_get_node_attribute(ue_PyFbxNode *self, PyObject *args) { +static PyObject *py_ue_fbx_node_get_node_attribute(ue_PyFbxNode *self, PyObject *args) +{ FbxNodeAttribute *fbx_node_attribute = self->fbx_node->GetNodeAttribute(); - if (!fbx_node_attribute) { + if (!fbx_node_attribute) + { return PyErr_Format(PyExc_Exception, "unable to retrieve FbxNodeAttribute"); } return py_ue_new_fbx_object(fbx_node_attribute); } -static PyObject *py_ue_fbx_node_get_node_attribute_count(ue_PyFbxNode *self, PyObject *args) { +static PyObject *py_ue_fbx_node_get_node_attribute_count(ue_PyFbxNode *self, PyObject *args) +{ return PyLong_FromLong(self->fbx_node->GetNodeAttributeCount()); } -static PyObject *py_ue_fbx_node_get_node_attribute_by_index(ue_PyFbxNode *self, PyObject *args) { +static PyObject *py_ue_fbx_node_get_node_attribute_by_index(ue_PyFbxNode *self, PyObject *args) +{ int index; - if (!PyArg_ParseTuple(args, "i", &index)) { + if (!PyArg_ParseTuple(args, "i", &index)) + { return nullptr; } FbxNodeAttribute *fbx_node_attribute = self->fbx_node->GetNodeAttributeByIndex(index); - if (!fbx_node_attribute) { + if (!fbx_node_attribute) + { return PyErr_Format(PyExc_Exception, "unable to retrieve FbxNodeAttribute at index %d", index); } return py_ue_new_fbx_object(fbx_node_attribute); } -static PyObject *py_ue_fbx_node_get_mesh(ue_PyFbxNode *self, PyObject *args) { +static PyObject *py_ue_fbx_node_get_mesh(ue_PyFbxNode *self, PyObject *args) +{ FbxMesh *fbx_mesh = self->fbx_node->GetMesh(); - if (!fbx_mesh) { + if (!fbx_mesh) + { return PyErr_Format(PyExc_Exception, "unable to retrieve FbxMesh from FbxNode"); } return py_ue_new_fbx_mesh(fbx_mesh); } -static PyObject *py_ue_fbx_node_evaluate_local_transform(ue_PyFbxNode *self, PyObject *args) { +static PyObject *py_ue_fbx_node_evaluate_local_transform(ue_PyFbxNode *self, PyObject *args) +{ float t; - if (!PyArg_ParseTuple(args, "f", &t)) { + if (!PyArg_ParseTuple(args, "f", &t)) + { return nullptr; } FbxTime time; @@ -98,9 +117,11 @@ static PyObject *py_ue_fbx_node_evaluate_local_transform(ue_PyFbxNode *self, PyO return py_ue_new_ftransform(transform); } -static PyObject *py_ue_fbx_node_evaluate_global_transform(ue_PyFbxNode *self, PyObject *args) { +static PyObject *py_ue_fbx_node_evaluate_global_transform(ue_PyFbxNode *self, PyObject *args) +{ float t; - if (!PyArg_ParseTuple(args, "f", &t)) { + if (!PyArg_ParseTuple(args, "f", &t)) + { return nullptr; } FbxTime time; @@ -166,15 +187,18 @@ static PyTypeObject ue_PyFbxNodeType = { 0, /* tp_getset */ }; -static int py_ue_fbx_node_init(ue_PyFbxNode *self, PyObject * args) { +static int py_ue_fbx_node_init(ue_PyFbxNode *self, PyObject * args) +{ PyObject *py_object; char *name; - if (!PyArg_ParseTuple(args, "Os", &py_object, &name)) { + if (!PyArg_ParseTuple(args, "Os", &py_object, &name)) + { return -1; } ue_PyFbxManager *py_fbx_manager = py_ue_is_fbx_manager(py_object); - if (!py_fbx_manager) { + if (!py_fbx_manager) + { PyErr_SetString(PyExc_Exception, "argument is not a FbxManager"); return -1; } @@ -183,7 +207,8 @@ static int py_ue_fbx_node_init(ue_PyFbxNode *self, PyObject * args) { return 0; } -void ue_python_init_fbx_node(PyObject *ue_module) { +void ue_python_init_fbx_node(PyObject *ue_module) +{ ue_PyFbxNodeType.tp_new = PyType_GenericNew;; ue_PyFbxNodeType.tp_init = (initproc)py_ue_fbx_node_init; if (PyType_Ready(&ue_PyFbxNodeType) < 0) @@ -193,13 +218,15 @@ void ue_python_init_fbx_node(PyObject *ue_module) { PyModule_AddObject(ue_module, "FbxNode", (PyObject *)&ue_PyFbxNodeType); } -PyObject *py_ue_new_fbx_node(FbxNode *fbx_node) { +PyObject *py_ue_new_fbx_node(FbxNode *fbx_node) +{ ue_PyFbxNode *ret = (ue_PyFbxNode *)PyObject_New(ue_PyFbxNode, &ue_PyFbxNodeType); ret->fbx_node = fbx_node; return (PyObject *)ret; } -ue_PyFbxNode *py_ue_is_fbx_node(PyObject *obj) { +ue_PyFbxNode *py_ue_is_fbx_node(PyObject *obj) +{ if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyFbxNodeType)) return nullptr; return (ue_PyFbxNode *)obj; diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.h b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.h index 2fd7d6f84..48d17b4ce 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.h +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.h @@ -1,14 +1,17 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" +#include "Wrappers/UEPyFVector.h" +#include "Wrappers/UEPyFTransform.h" #if WITH_EDITOR #if ENGINE_MINOR_VERSION > 12 #include -struct ue_PyFbxNode { +struct ue_PyFbxNode +{ PyObject_HEAD - /* Type-specific fields go here. */ - FbxNode *fbx_node; + /* Type-specific fields go here. */ + FbxNode *fbx_node; }; diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxObject.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxObject.cpp index b9d902a32..62b89fb91 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxObject.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxObject.cpp @@ -1,28 +1,34 @@ -#if ENGINE_MINOR_VERSION > 12 -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFbxObject.h" + +#if ENGINE_MINOR_VERSION > 12 #if WITH_EDITOR -#include "UEPyFbx.h" -static PyObject *py_ue_fbx_object_get_name(ue_PyFbxObject *self, PyObject *args) { + +static PyObject *py_ue_fbx_object_get_name(ue_PyFbxObject *self, PyObject *args) +{ return PyUnicode_FromString(self->fbx_object->GetName()); } -static PyObject *py_ue_fbx_object_get_class_name(ue_PyFbxObject *self, PyObject *args) { +static PyObject *py_ue_fbx_object_get_class_name(ue_PyFbxObject *self, PyObject *args) +{ return PyUnicode_FromString(self->fbx_object->GetClassId().GetName()); } -static PyObject *py_ue_fbx_object_get_member_count(ue_PyFbxObject *self, PyObject *args) { +static PyObject *py_ue_fbx_object_get_member_count(ue_PyFbxObject *self, PyObject *args) +{ FbxCollection *fbx_collection = FbxCast(self->fbx_object); if (!fbx_collection) return PyErr_Format(PyExc_Exception, "unable to cast to FbxCollection"); return PyLong_FromLong(fbx_collection->GetMemberCount()); } -static PyObject *py_ue_fbx_object_get_member(ue_PyFbxObject *self, PyObject *args) { +static PyObject *py_ue_fbx_object_get_member(ue_PyFbxObject *self, PyObject *args) +{ int index; - if (!PyArg_ParseTuple(args, "i", &index)) { + if (!PyArg_ParseTuple(args, "i", &index)) + { return nullptr; } FbxCollection *fbx_collection = FbxCast(self->fbx_object); @@ -34,14 +40,17 @@ static PyObject *py_ue_fbx_object_get_member(ue_PyFbxObject *self, PyObject *arg return py_ue_new_fbx_object(fbx_collection->GetMember(index)); } -static PyObject *py_ue_fbx_object_get_next_property(ue_PyFbxObject *self, PyObject *args) { +static PyObject *py_ue_fbx_object_get_next_property(ue_PyFbxObject *self, PyObject *args) +{ PyObject *py_object; - if (!PyArg_ParseTuple(args, "O", &py_object)) { + if (!PyArg_ParseTuple(args, "O", &py_object)) + { return nullptr; } ue_PyFbxProperty *py_fbx_property = py_ue_is_fbx_property(py_object); - if (!py_fbx_property) { + if (!py_fbx_property) + { return PyErr_Format(PyExc_Exception, "argument is not a FbxProperty"); } @@ -51,30 +60,35 @@ static PyObject *py_ue_fbx_object_get_next_property(ue_PyFbxObject *self, PyObje return py_ue_new_fbx_property(fbx_property); } -static PyObject *py_ue_fbx_object_get_first_property(ue_PyFbxObject *self, PyObject *args) { +static PyObject *py_ue_fbx_object_get_first_property(ue_PyFbxObject *self, PyObject *args) +{ FbxProperty fbx_property = self->fbx_object->GetFirstProperty(); if (!fbx_property.IsValid()) Py_RETURN_NONE; return py_ue_new_fbx_property(fbx_property); } -static PyObject *py_ue_fbx_object_get_channels_count(ue_PyFbxObject *self, PyObject *args) { +static PyObject *py_ue_fbx_object_get_channels_count(ue_PyFbxObject *self, PyObject *args) +{ FbxAnimCurveNode *fbx_anim_curve_node = FbxCast(self->fbx_object); if (!fbx_anim_curve_node) return PyErr_Format(PyExc_Exception, "object is not a FbxAnimCurveNode"); return PyLong_FromLong(fbx_anim_curve_node->GetChannelsCount()); } -static PyObject *py_ue_fbx_object_to_node(ue_PyFbxObject *self, PyObject *args) { +static PyObject *py_ue_fbx_object_to_node(ue_PyFbxObject *self, PyObject *args) +{ FbxNode *fbx_node = FbxCast(self->fbx_object); if (!fbx_node) return PyErr_Format(PyExc_Exception, "object is not a FbxNode"); return py_ue_new_fbx_node(fbx_node); } -static PyObject *py_ue_fbx_object_get_channel_name(ue_PyFbxObject *self, PyObject *args) { +static PyObject *py_ue_fbx_object_get_channel_name(ue_PyFbxObject *self, PyObject *args) +{ int index; - if (!PyArg_ParseTuple(args, "i", &index)) { + if (!PyArg_ParseTuple(args, "i", &index)) + { return nullptr; } FbxAnimCurveNode *fbx_anim_curve_node = FbxCast(self->fbx_object); @@ -83,9 +97,11 @@ static PyObject *py_ue_fbx_object_get_channel_name(ue_PyFbxObject *self, PyObjec return PyUnicode_FromString(fbx_anim_curve_node->GetChannelName(index)); } -static PyObject *py_ue_fbx_object_get_curve_count(ue_PyFbxObject *self, PyObject *args) { +static PyObject *py_ue_fbx_object_get_curve_count(ue_PyFbxObject *self, PyObject *args) +{ int channel; - if (!PyArg_ParseTuple(args, "i", &channel)) { + if (!PyArg_ParseTuple(args, "i", &channel)) + { return nullptr; } FbxAnimCurveNode *fbx_anim_curve_node = FbxCast(self->fbx_object); @@ -94,10 +110,12 @@ static PyObject *py_ue_fbx_object_get_curve_count(ue_PyFbxObject *self, PyObject return PyLong_FromLong(fbx_anim_curve_node->GetCurveCount(channel)); } -static PyObject *py_ue_fbx_object_get_curve(ue_PyFbxObject *self, PyObject *args) { +static PyObject *py_ue_fbx_object_get_curve(ue_PyFbxObject *self, PyObject *args) +{ int channel; int index = 0; - if (!PyArg_ParseTuple(args, "i|i:get_curve", &channel, &index)) { + if (!PyArg_ParseTuple(args, "i|i:get_curve", &channel, &index)) + { return nullptr; } FbxAnimCurveNode *fbx_anim_curve_node = FbxCast(self->fbx_object); @@ -109,16 +127,19 @@ static PyObject *py_ue_fbx_object_get_curve(ue_PyFbxObject *self, PyObject *args return py_ue_new_fbx_object(fbx_anim_curve_node->GetCurve(channel, index)); } -static PyObject *py_ue_fbx_object_key_get_count(ue_PyFbxObject *self, PyObject *args) { +static PyObject *py_ue_fbx_object_key_get_count(ue_PyFbxObject *self, PyObject *args) +{ FbxAnimCurve *fbx_anim_curve = FbxCast(self->fbx_object); if (!fbx_anim_curve) return PyErr_Format(PyExc_Exception, "object is not a FbxAnimCurve"); return PyLong_FromLong(fbx_anim_curve->KeyGetCount()); } -static PyObject *py_ue_fbx_object_key_get_value(ue_PyFbxObject *self, PyObject *args) { +static PyObject *py_ue_fbx_object_key_get_value(ue_PyFbxObject *self, PyObject *args) +{ int index; - if (!PyArg_ParseTuple(args, "i", &index)) { + if (!PyArg_ParseTuple(args, "i", &index)) + { return nullptr; } FbxAnimCurve *fbx_anim_curve = FbxCast(self->fbx_object); @@ -127,9 +148,11 @@ static PyObject *py_ue_fbx_object_key_get_value(ue_PyFbxObject *self, PyObject * return PyFloat_FromDouble(fbx_anim_curve->KeyGetValue(index)); } -static PyObject *py_ue_fbx_object_key_get_seconds(ue_PyFbxObject *self, PyObject *args) { +static PyObject *py_ue_fbx_object_key_get_seconds(ue_PyFbxObject *self, PyObject *args) +{ int index; - if (!PyArg_ParseTuple(args, "i", &index)) { + if (!PyArg_ParseTuple(args, "i", &index)) + { return nullptr; } FbxAnimCurve *fbx_anim_curve = FbxCast(self->fbx_object); @@ -138,9 +161,11 @@ static PyObject *py_ue_fbx_object_key_get_seconds(ue_PyFbxObject *self, PyObject return PyFloat_FromDouble(fbx_anim_curve->KeyGetTime(index).GetSecondDouble()); } -static PyObject *py_ue_fbx_object_key_get_left_tangent(ue_PyFbxObject *self, PyObject *args) { +static PyObject *py_ue_fbx_object_key_get_left_tangent(ue_PyFbxObject *self, PyObject *args) +{ int index; - if (!PyArg_ParseTuple(args, "i", &index)) { + if (!PyArg_ParseTuple(args, "i", &index)) + { return nullptr; } FbxAnimCurve *fbx_anim_curve = FbxCast(self->fbx_object); @@ -149,9 +174,11 @@ static PyObject *py_ue_fbx_object_key_get_left_tangent(ue_PyFbxObject *self, PyO return PyFloat_FromDouble(fbx_anim_curve->KeyGetLeftDerivative(index)); } -static PyObject *py_ue_fbx_object_key_get_right_tangent(ue_PyFbxObject *self, PyObject *args) { +static PyObject *py_ue_fbx_object_key_get_right_tangent(ue_PyFbxObject *self, PyObject *args) +{ int index; - if (!PyArg_ParseTuple(args, "i", &index)) { + if (!PyArg_ParseTuple(args, "i", &index)) + { return nullptr; } FbxAnimCurve *fbx_anim_curve = FbxCast(self->fbx_object); @@ -160,9 +187,11 @@ static PyObject *py_ue_fbx_object_key_get_right_tangent(ue_PyFbxObject *self, Py return PyFloat_FromDouble(fbx_anim_curve->KeyGetRightDerivative(index)); } -static PyObject *py_ue_fbx_object_key_get_interp_mode(ue_PyFbxObject *self, PyObject *args) { +static PyObject *py_ue_fbx_object_key_get_interp_mode(ue_PyFbxObject *self, PyObject *args) +{ int index; - if (!PyArg_ParseTuple(args, "i", &index)) { + if (!PyArg_ParseTuple(args, "i", &index)) + { return nullptr; } FbxAnimCurve *fbx_anim_curve = FbxCast(self->fbx_object); @@ -194,9 +223,11 @@ static PyObject *py_ue_fbx_object_key_get_interp_mode(ue_PyFbxObject *self, PyOb return PyLong_FromUnsignedLong(uint64(Mode)); } -static PyObject *py_ue_fbx_object_key_get_tangent_mode(ue_PyFbxObject *self, PyObject *args) { +static PyObject *py_ue_fbx_object_key_get_tangent_mode(ue_PyFbxObject *self, PyObject *args) +{ int index; - if (!PyArg_ParseTuple(args, "i", &index)) { + if (!PyArg_ParseTuple(args, "i", &index)) + { return nullptr; } FbxAnimCurve *fbx_anim_curve = FbxCast(self->fbx_object); @@ -205,8 +236,8 @@ static PyObject *py_ue_fbx_object_key_get_tangent_mode(ue_PyFbxObject *self, PyO ERichCurveTangentMode Mode = RCTM_Auto; // Convert the interpolation type from FBX to Unreal. - if ( fbx_anim_curve->KeyGetInterpolation(index) == - FbxAnimCurveDef::eInterpolationCubic ) + if (fbx_anim_curve->KeyGetInterpolation(index) == + FbxAnimCurveDef::eInterpolationCubic) { switch (fbx_anim_curve->KeyGetTangentMode(index)) { @@ -295,15 +326,18 @@ static PyTypeObject ue_PyFbxObjectType = { 0, /* tp_getset */ }; -static int py_ue_fbx_object_init(ue_PyFbxObject *self, PyObject * args) { +static int py_ue_fbx_object_init(ue_PyFbxObject *self, PyObject * args) +{ PyObject *py_object; char *name; - if (!PyArg_ParseTuple(args, "Os", &py_object, &name)) { + if (!PyArg_ParseTuple(args, "Os", &py_object, &name)) + { return -1; } ue_PyFbxManager *py_fbx_manager = py_ue_is_fbx_manager(py_object); - if (!py_fbx_manager) { + if (!py_fbx_manager) + { PyErr_SetString(PyExc_Exception, "argument is not a FbxManager"); return -1; } @@ -312,7 +346,8 @@ static int py_ue_fbx_object_init(ue_PyFbxObject *self, PyObject * args) { return 0; } -void ue_python_init_fbx_object(PyObject *ue_module) { +void ue_python_init_fbx_object(PyObject *ue_module) +{ ue_PyFbxObjectType.tp_new = PyType_GenericNew;; ue_PyFbxObjectType.tp_init = (initproc)py_ue_fbx_object_init; if (PyType_Ready(&ue_PyFbxObjectType) < 0) @@ -322,13 +357,15 @@ void ue_python_init_fbx_object(PyObject *ue_module) { PyModule_AddObject(ue_module, "FbxObject", (PyObject *)&ue_PyFbxObjectType); } -PyObject *py_ue_new_fbx_object(FbxObject *fbx_object) { +PyObject *py_ue_new_fbx_object(FbxObject *fbx_object) +{ ue_PyFbxObject *ret = (ue_PyFbxObject *)PyObject_New(ue_PyFbxObject, &ue_PyFbxObjectType); ret->fbx_object = fbx_object; return (PyObject *)ret; } -ue_PyFbxObject *py_ue_is_fbx_object(PyObject *obj) { +ue_PyFbxObject *py_ue_is_fbx_object(PyObject *obj) +{ if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyFbxObjectType)) return nullptr; return (ue_PyFbxObject *)obj; diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxPose.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxPose.cpp index b332503ac..898d0b0e6 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxPose.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxPose.cpp @@ -1,47 +1,59 @@ +#include "UEPyFbxPose.h" + #if ENGINE_MINOR_VERSION > 12 -#include "UnrealEnginePythonPrivatePCH.h" #if WITH_EDITOR -#include "UEPyFbx.h" -static PyObject *py_ue_fbx_pose_get_count(ue_PyFbxPose *self, PyObject *args) { + +static PyObject *py_ue_fbx_pose_get_count(ue_PyFbxPose *self, PyObject *args) +{ return PyLong_FromLong(self->fbx_pose->GetCount()); } -static PyObject *py_ue_fbx_pose_get_name(ue_PyFbxPose *self, PyObject *args) { +static PyObject *py_ue_fbx_pose_get_name(ue_PyFbxPose *self, PyObject *args) +{ return PyUnicode_FromString(self->fbx_pose->GetName()); } -static PyObject *py_ue_fbx_pose_is_bind_pose(ue_PyFbxPose *self, PyObject *args) { - if (self->fbx_pose->IsBindPose()) { +static PyObject *py_ue_fbx_pose_is_bind_pose(ue_PyFbxPose *self, PyObject *args) +{ + if (self->fbx_pose->IsBindPose()) + { Py_RETURN_TRUE; } Py_RETURN_FALSE; } -static PyObject *py_ue_fbx_pose_is_rest_pose(ue_PyFbxPose *self, PyObject *args) { - if (self->fbx_pose->IsRestPose()) { +static PyObject *py_ue_fbx_pose_is_rest_pose(ue_PyFbxPose *self, PyObject *args) +{ + if (self->fbx_pose->IsRestPose()) + { Py_RETURN_TRUE; } Py_RETURN_FALSE; } -static PyObject *py_ue_fbx_pose_get_node(ue_PyFbxPose *self, PyObject *args) { +static PyObject *py_ue_fbx_pose_get_node(ue_PyFbxPose *self, PyObject *args) +{ int index; - if (!PyArg_ParseTuple(args, "i", &index)) { + if (!PyArg_ParseTuple(args, "i", &index)) + { return nullptr; } FbxNode *fbx_node = self->fbx_pose->GetNode(index); - if (!fbx_node) { + if (!fbx_node) + { return PyErr_Format(PyExc_Exception, "unable to retrieve FbxNode at index %d", index); } return py_ue_new_fbx_node(fbx_node); } -static PyObject *py_ue_fbx_pose_find(ue_PyFbxPose *self, PyObject *args) { +static PyObject *py_ue_fbx_pose_find(ue_PyFbxPose *self, PyObject *args) +{ PyObject *py_obj; - if (!PyArg_ParseTuple(args, "O", &py_obj)) { + if (!PyArg_ParseTuple(args, "O", &py_obj)) + { return nullptr; } @@ -56,12 +68,14 @@ static PyObject *py_ue_fbx_pose_find(ue_PyFbxPose *self, PyObject *args) { return PyLong_FromLong(index); } -static PyObject *py_ue_fbx_pose_get_transform(ue_PyFbxPose *self, PyObject *args) { +static PyObject *py_ue_fbx_pose_get_transform(ue_PyFbxPose *self, PyObject *args) +{ int index; - if (!PyArg_ParseTuple(args, "i", &index)) { + if (!PyArg_ParseTuple(args, "i", &index)) + { return nullptr; } - + FbxMatrix fbx_matrix = self->fbx_pose->GetMatrix(index); FbxAMatrix matrix = *(FbxAMatrix *)&fbx_matrix; FTransform transform; @@ -118,15 +132,18 @@ static PyTypeObject ue_PyFbxPoseType = { 0, /* tp_getset */ }; -static int py_ue_fbx_pose_init(ue_PyFbxPose *self, PyObject * args) { +static int py_ue_fbx_pose_init(ue_PyFbxPose *self, PyObject * args) +{ PyObject *py_object; char *name; - if (!PyArg_ParseTuple(args, "Os", &py_object, &name)) { + if (!PyArg_ParseTuple(args, "Os", &py_object, &name)) + { return -1; } ue_PyFbxManager *py_fbx_manager = py_ue_is_fbx_manager(py_object); - if (!py_fbx_manager) { + if (!py_fbx_manager) + { PyErr_SetString(PyExc_Exception, "argument is not a FbxManager"); return -1; } @@ -135,7 +152,8 @@ static int py_ue_fbx_pose_init(ue_PyFbxPose *self, PyObject * args) { return 0; } -void ue_python_init_fbx_pose(PyObject *ue_module) { +void ue_python_init_fbx_pose(PyObject *ue_module) +{ ue_PyFbxPoseType.tp_new = PyType_GenericNew;; ue_PyFbxPoseType.tp_init = (initproc)py_ue_fbx_pose_init; if (PyType_Ready(&ue_PyFbxPoseType) < 0) @@ -145,7 +163,8 @@ void ue_python_init_fbx_pose(PyObject *ue_module) { PyModule_AddObject(ue_module, "FbxPose", (PyObject *)&ue_PyFbxPoseType); } -PyObject *py_ue_new_fbx_pose(FbxPose *fbx_pose) { +PyObject *py_ue_new_fbx_pose(FbxPose *fbx_pose) +{ ue_PyFbxPose *ret = (ue_PyFbxPose *)PyObject_New(ue_PyFbxPose, &ue_PyFbxPoseType); ret->fbx_pose = fbx_pose; return (PyObject *)ret; diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxProperty.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxProperty.cpp index 62a076746..5c6183797 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxProperty.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxProperty.cpp @@ -1,9 +1,9 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFbxProperty.h" #if ENGINE_MINOR_VERSION > 12 #if WITH_EDITOR -#include "UEPyFbx.h" + static PyObject *py_ue_fbx_property_get_name(ue_PyFbxProperty *self, PyObject *args) { return PyUnicode_FromString(self->fbx_property.GetName()); diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxScene.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxScene.cpp index 33700db16..df9e9af0e 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxScene.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxScene.cpp @@ -1,9 +1,10 @@ +#include "UEPyFbxScene.h" #if ENGINE_MINOR_VERSION > 12 -#include "UnrealEnginePythonPrivatePCH.h" + #if WITH_EDITOR -#include "UEPyFbx.h" + static PyObject *py_ue_fbx_scene_get_root_node(ue_PyFbxScene *self, PyObject *args) { FbxNode *fbx_node = self->fbx_scene->GetRootNode(); diff --git a/Source/UnrealEnginePython/Private/Http/UEPyIHttpBase.cpp b/Source/UnrealEnginePython/Private/Http/UEPyIHttpBase.cpp index 0c87f6960..1ee41c1b2 100644 --- a/Source/UnrealEnginePython/Private/Http/UEPyIHttpBase.cpp +++ b/Source/UnrealEnginePython/Private/Http/UEPyIHttpBase.cpp @@ -1,48 +1,58 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyIHttpBase.h" -static PyObject *py_ue_ihttp_base_get_content_length(ue_PyIHttpBase *self, PyObject * args) { +static PyObject *py_ue_ihttp_base_get_content_length(ue_PyIHttpBase *self, PyObject * args) +{ return PyLong_FromLong((int)self->http_base->GetContentLength()); } -static PyObject *py_ue_ihttp_base_get_url(ue_PyIHttpBase *self, PyObject * args) { +static PyObject *py_ue_ihttp_base_get_url(ue_PyIHttpBase *self, PyObject * args) +{ return PyUnicode_FromString(TCHAR_TO_UTF8(*self->http_base->GetURL())); } -static PyObject *py_ue_ihttp_base_get_content_type(ue_PyIHttpBase *self, PyObject * args) { +static PyObject *py_ue_ihttp_base_get_content_type(ue_PyIHttpBase *self, PyObject * args) +{ return PyUnicode_FromString(TCHAR_TO_UTF8(*self->http_base->GetContentType())); } -static PyObject *py_ue_ihttp_base_get_content(ue_PyIHttpBase *self, PyObject * args) { +static PyObject *py_ue_ihttp_base_get_content(ue_PyIHttpBase *self, PyObject * args) +{ TArray data = self->http_base->GetContent(); return PyBytes_FromStringAndSize((char *)data.GetData(), data.Num()); } -static PyObject *py_ue_ihttp_base_get_header(ue_PyIHttpBase *self, PyObject * args) { +static PyObject *py_ue_ihttp_base_get_header(ue_PyIHttpBase *self, PyObject * args) +{ char *key; - if (!PyArg_ParseTuple(args, "s:get_header", &key)) { + if (!PyArg_ParseTuple(args, "s:get_header", &key)) + { return NULL; } return PyUnicode_FromString(TCHAR_TO_UTF8(*self->http_base->GetHeader(UTF8_TO_TCHAR(key)))); } -static PyObject *py_ue_ihttp_base_get_url_parameter(ue_PyIHttpBase *self, PyObject * args) { +static PyObject *py_ue_ihttp_base_get_url_parameter(ue_PyIHttpBase *self, PyObject * args) +{ char *key; - if (!PyArg_ParseTuple(args, "s:get_url_parameter", &key)) { + if (!PyArg_ParseTuple(args, "s:get_url_parameter", &key)) + { return NULL; } return PyUnicode_FromString(TCHAR_TO_UTF8(*self->http_base->GetURLParameter(UTF8_TO_TCHAR(key)))); } -static PyObject *py_ue_ihttp_base_get_all_headers(ue_PyIHttpBase *self, PyObject * args) { +static PyObject *py_ue_ihttp_base_get_all_headers(ue_PyIHttpBase *self, PyObject * args) +{ TArray headers = self->http_base->GetAllHeaders(); PyObject *py_headers = PyList_New(0); - for (FString item : headers) { + for (FString item : headers) + { PyObject *py_header = PyUnicode_FromString(TCHAR_TO_UTF8(*item)); PyList_Append(py_headers, py_header); Py_DECREF(py_header); @@ -102,7 +112,8 @@ PyTypeObject ue_PyIHttpBaseType = { }; -void ue_python_init_ihttp_base(PyObject *ue_module) { +void ue_python_init_ihttp_base(PyObject *ue_module) +{ ue_PyIHttpBaseType.tp_new = PyType_GenericNew; if (PyType_Ready(&ue_PyIHttpBaseType) < 0) diff --git a/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.cpp b/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.cpp index 5147c25c9..714c2b914 100644 --- a/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.cpp +++ b/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.cpp @@ -1,5 +1,7 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyIHttpRequest.h" + +#include "UEPyIHttpResponse.h" #include "Runtime/Online/HTTP/Public/HttpManager.h" diff --git a/Source/UnrealEnginePython/Private/Http/UEPyIHttpResponse.cpp b/Source/UnrealEnginePython/Private/Http/UEPyIHttpResponse.cpp index 1dd21189a..93652e691 100644 --- a/Source/UnrealEnginePython/Private/Http/UEPyIHttpResponse.cpp +++ b/Source/UnrealEnginePython/Private/Http/UEPyIHttpResponse.cpp @@ -1,13 +1,15 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyIHttpResponse.h" -static PyObject *py_ue_ihttp_response_get_response_code(ue_PyIHttpResponse *self, PyObject * args) { +static PyObject *py_ue_ihttp_response_get_response_code(ue_PyIHttpResponse *self, PyObject * args) +{ return PyLong_FromLong(self->http_response->GetResponseCode()); } -static PyObject *py_ue_ihttp_response_get_content_as_string(ue_PyIHttpResponse *self, PyObject * args) { +static PyObject *py_ue_ihttp_response_get_content_as_string(ue_PyIHttpResponse *self, PyObject * args) +{ return PyUnicode_FromString(TCHAR_TO_UTF8(*self->http_response->GetContentAsString())); } @@ -57,7 +59,8 @@ static PyTypeObject ue_PyIHttpResponseType = { 0, }; -void ue_python_init_ihttp_response(PyObject *ue_module) { +void ue_python_init_ihttp_response(PyObject *ue_module) +{ ue_PyIHttpResponseType.tp_new = PyType_GenericNew; ue_PyIHttpResponseType.tp_base = &ue_PyIHttpBaseType; @@ -69,7 +72,8 @@ void ue_python_init_ihttp_response(PyObject *ue_module) { PyModule_AddObject(ue_module, "IHttpResponse", (PyObject *)&ue_PyIHttpResponseType); } -PyObject *py_ue_new_ihttp_response(IHttpResponse *response) { +PyObject *py_ue_new_ihttp_response(IHttpResponse *response) +{ ue_PyIHttpResponse *ret = (ue_PyIHttpResponse *)PyObject_New(ue_PyIHttpResponse, &ue_PyIHttpResponseType); ret->http_response = response; ret->base.http_base = response; diff --git a/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.cpp b/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.cpp index 661105f14..a9ca04c2c 100644 --- a/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.cpp +++ b/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.cpp @@ -1,9 +1,8 @@ -#include "UnrealEnginePythonPrivatePCH.h" - +#include "UEPyFMaterialEditorUtilities.h" #if WITH_EDITOR -#include "UEPyFMaterialEditorUtilities.h" + diff --git a/Source/UnrealEnginePython/Private/PyActor.cpp b/Source/UnrealEnginePython/Private/PyActor.cpp index a7fa60170..aa899da73 100644 --- a/Source/UnrealEnginePython/Private/PyActor.cpp +++ b/Source/UnrealEnginePython/Private/PyActor.cpp @@ -1,6 +1,5 @@ // Copyright 20Tab S.r.l. -#include "UnrealEnginePythonPrivatePCH.h" #include "PyActor.h" #include "PythonDelegate.h" diff --git a/Source/UnrealEnginePython/Private/PyCharacter.cpp b/Source/UnrealEnginePython/Private/PyCharacter.cpp index ce5954922..72c9afcbd 100644 --- a/Source/UnrealEnginePython/Private/PyCharacter.cpp +++ b/Source/UnrealEnginePython/Private/PyCharacter.cpp @@ -1,6 +1,5 @@ // Copyright 20Tab S.r.l. -#include "UnrealEnginePythonPrivatePCH.h" #include "PyCharacter.h" diff --git a/Source/UnrealEnginePython/Private/PyCommandlet.cpp b/Source/UnrealEnginePython/Private/PyCommandlet.cpp index 42d80c422..cc26e3f01 100644 --- a/Source/UnrealEnginePython/Private/PyCommandlet.cpp +++ b/Source/UnrealEnginePython/Private/PyCommandlet.cpp @@ -1,6 +1,5 @@ // Copyright 20Tab S.r.l. -#include "UnrealEnginePythonPrivatePCH.h" #include "PyCommandlet.h" #include "Regex.h" diff --git a/Source/UnrealEnginePython/Private/PyHUD.cpp b/Source/UnrealEnginePython/Private/PyHUD.cpp index dbedc3027..b2b3f0f5a 100644 --- a/Source/UnrealEnginePython/Private/PyHUD.cpp +++ b/Source/UnrealEnginePython/Private/PyHUD.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" + #include "PyHUD.h" #include "PythonDelegate.h" diff --git a/Source/UnrealEnginePython/Private/PyNativeWidgetHost.cpp b/Source/UnrealEnginePython/Private/PyNativeWidgetHost.cpp index 486887f6b..ed63392c9 100644 --- a/Source/UnrealEnginePython/Private/PyNativeWidgetHost.cpp +++ b/Source/UnrealEnginePython/Private/PyNativeWidgetHost.cpp @@ -1,7 +1,6 @@ -#include "UnrealEnginePythonPrivatePCH.h" + #include "PyNativeWidgetHost.h" -#include "UnrealEnginePython.h" diff --git a/Source/UnrealEnginePython/Private/PyPawn.cpp b/Source/UnrealEnginePython/Private/PyPawn.cpp index 066716863..cc1381469 100644 --- a/Source/UnrealEnginePython/Private/PyPawn.cpp +++ b/Source/UnrealEnginePython/Private/PyPawn.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" + #include "PyPawn.h" diff --git a/Source/UnrealEnginePython/Private/PyUserWidget.cpp b/Source/UnrealEnginePython/Private/PyUserWidget.cpp index a7efd3b92..888b2dd3c 100644 --- a/Source/UnrealEnginePython/Private/PyUserWidget.cpp +++ b/Source/UnrealEnginePython/Private/PyUserWidget.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" + #include "PyUserWidget.h" #include "PyNativeWidgetHost.h" @@ -10,6 +10,8 @@ #include "Widgets/Layout/SBox.h" #include "UMGStyle.h" #include "Runtime/UMG/Public/Blueprint/WidgetTree.h" +#include "Slate/UEPyFKeyEvent.h" +#include "Slate/UEPyFPointerEvent.h" void UPyUserWidget::NativeConstruct() { diff --git a/Source/UnrealEnginePython/Private/PythonBlueprintFunctionLibrary.cpp b/Source/UnrealEnginePython/Private/PythonBlueprintFunctionLibrary.cpp index 0bc4837ce..4b07d454b 100644 --- a/Source/UnrealEnginePython/Private/PythonBlueprintFunctionLibrary.cpp +++ b/Source/UnrealEnginePython/Private/PythonBlueprintFunctionLibrary.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" + #include "PythonBlueprintFunctionLibrary.h" diff --git a/Source/UnrealEnginePython/Private/PythonComponent.cpp b/Source/UnrealEnginePython/Private/PythonComponent.cpp index 1d8879494..466f4718a 100644 --- a/Source/UnrealEnginePython/Private/PythonComponent.cpp +++ b/Source/UnrealEnginePython/Private/PythonComponent.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" + #include "PythonComponent.h" diff --git a/Source/UnrealEnginePython/Private/PythonDelegate.cpp b/Source/UnrealEnginePython/Private/PythonDelegate.cpp index fa484ba67..a98fe1f97 100644 --- a/Source/UnrealEnginePython/Private/PythonDelegate.cpp +++ b/Source/UnrealEnginePython/Private/PythonDelegate.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" + #include "PythonDelegate.h" UPythonDelegate::UPythonDelegate() diff --git a/Source/UnrealEnginePython/Private/PythonFunction.cpp b/Source/UnrealEnginePython/Private/PythonFunction.cpp index 796661999..25176eabd 100644 --- a/Source/UnrealEnginePython/Private/PythonFunction.cpp +++ b/Source/UnrealEnginePython/Private/PythonFunction.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" + #include "PythonFunction.h" diff --git a/Source/UnrealEnginePython/Private/PythonScript.cpp b/Source/UnrealEnginePython/Private/PythonScript.cpp index 84f4e2fbd..a53ddfd6d 100644 --- a/Source/UnrealEnginePython/Private/PythonScript.cpp +++ b/Source/UnrealEnginePython/Private/PythonScript.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" + #include "PythonScript.h" static void callback(void *arg) { diff --git a/Source/UnrealEnginePython/Private/PythonSmartDelegate.cpp b/Source/UnrealEnginePython/Private/PythonSmartDelegate.cpp index 62e72dcaf..0f7af8ac6 100644 --- a/Source/UnrealEnginePython/Private/PythonSmartDelegate.cpp +++ b/Source/UnrealEnginePython/Private/PythonSmartDelegate.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" + #include "PythonSmartDelegate.h" FPythonSmartDelegate::FPythonSmartDelegate() diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFCharacterEvent.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFCharacterEvent.cpp index b56af1690..0fc8f37bf 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFCharacterEvent.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFCharacterEvent.cpp @@ -1,7 +1,9 @@ -#include "UnrealEnginePythonPrivatePCH.h" + #include "UEPyFCharacterEvent.h" +#include "UEPyFModifierKeysState.h" + static PyObject *py_ue_fcharacter_event_get_character(ue_PyFCharacterEvent *self, PyObject * args) { TCHAR c = self->character_event.GetCharacter(); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFCharacterEvent.h b/Source/UnrealEnginePython/Private/Slate/UEPyFCharacterEvent.h index 7070e0ee5..f5806960a 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFCharacterEvent.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFCharacterEvent.h @@ -1,12 +1,11 @@ #pragma once -#include "UnrealEnginePython.h" - #include "UEPyFInputEvent.h" extern PyTypeObject ue_PyFInputEventType; -typedef struct { +typedef struct +{ /* Type-specific fields go here. */ ue_PyFInputEvent f_input; FCharacterEvent character_event; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFGeometry.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFGeometry.cpp index 503bc028f..c50928d1c 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFGeometry.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFGeometry.cpp @@ -1,5 +1,3 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPyFGeometry.h" static PyObject *py_ue_fgeometry_get_local_size(ue_PyFGeometry *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFInputEvent.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFInputEvent.cpp index 0c0e88096..dae734a10 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFInputEvent.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFInputEvent.cpp @@ -1,28 +1,31 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPyFInputEvent.h" -static PyObject *py_ue_finput_event_to_text(ue_PyFInputEvent *self, PyObject * args) { +static PyObject *py_ue_finput_event_to_text(ue_PyFInputEvent *self, PyObject * args) +{ return PyUnicode_FromString(TCHAR_TO_UTF8(*self->input.ToText().ToString())); } -static PyObject *py_ue_finput_event_get_user_index(ue_PyFInputEvent *self, PyObject * args) { +static PyObject *py_ue_finput_event_get_user_index(ue_PyFInputEvent *self, PyObject * args) +{ return PyLong_FromUnsignedLong(self->input.GetUserIndex()); } -static PyObject *py_ue_finput_event_is_alt_down(ue_PyFInputEvent *self, PyObject * args) { +static PyObject *py_ue_finput_event_is_alt_down(ue_PyFInputEvent *self, PyObject * args) +{ if (self->input.IsAltDown()) Py_RETURN_TRUE; Py_RETURN_FALSE; } -static PyObject *py_ue_finput_event_is_command_down(ue_PyFInputEvent *self, PyObject * args) { +static PyObject *py_ue_finput_event_is_command_down(ue_PyFInputEvent *self, PyObject * args) +{ if (self->input.IsCommandDown()) Py_RETURN_TRUE; Py_RETURN_FALSE; } -static PyObject *py_ue_finput_event_is_control_down(ue_PyFInputEvent *self, PyObject * args) { +static PyObject *py_ue_finput_event_is_control_down(ue_PyFInputEvent *self, PyObject * args) +{ if (self->input.IsControlDown()) Py_RETURN_TRUE; Py_RETURN_FALSE; @@ -74,7 +77,8 @@ PyTypeObject ue_PyFInputEventType = { ue_PyFInputEvent_methods, /* tp_methods */ }; -void ue_python_init_finput_event(PyObject *ue_module) { +void ue_python_init_finput_event(PyObject *ue_module) +{ ue_PyFInputEventType.tp_new = PyType_GenericNew; if (PyType_Ready(&ue_PyFInputEventType) < 0) @@ -84,7 +88,8 @@ void ue_python_init_finput_event(PyObject *ue_module) { PyModule_AddObject(ue_module, "FInputEvent", (PyObject *)&ue_PyFInputEventType); } -PyObject *py_ue_new_finput_event(FInputEvent input) { +PyObject *py_ue_new_finput_event(FInputEvent input) +{ ue_PyFInputEvent *ret = (ue_PyFInputEvent *)PyObject_New(ue_PyFInputEvent, &ue_PyFInputEventType); new(&ret->input) FInputEvent(input); return (PyObject *)ret; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFKeyEvent.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFKeyEvent.cpp index 0d90a7d98..153c763e2 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFKeyEvent.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFKeyEvent.cpp @@ -1,13 +1,13 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPyFKeyEvent.h" -static PyObject *py_ue_fkey_event_get_key(ue_PyFKeyEvent *self, PyObject * args) { +static PyObject *py_ue_fkey_event_get_key(ue_PyFKeyEvent *self, PyObject * args) +{ FKey key = self->key_event.GetKey(); return py_ue_new_uscriptstruct(FKey::StaticStruct(), (uint8*)&key); } -static PyObject *py_ue_fkey_event_get_key_name(ue_PyFKeyEvent *self, PyObject * args) { +static PyObject *py_ue_fkey_event_get_key_name(ue_PyFKeyEvent *self, PyObject * args) +{ FKey key = self->key_event.GetKey(); return PyUnicode_FromString(TCHAR_TO_UTF8(*key.ToString())); } @@ -78,7 +78,8 @@ static int ue_py_fkey_event_init(ue_PyFKeyEvent *self, PyObject *args, PyObject } -void ue_python_init_fkey_event(PyObject *ue_module) { +void ue_python_init_fkey_event(PyObject *ue_module) +{ ue_PyFKeyEventType.tp_base = &ue_PyFInputEventType; ue_PyFKeyEventType.tp_init = (initproc)ue_py_fkey_event_init; @@ -90,7 +91,8 @@ void ue_python_init_fkey_event(PyObject *ue_module) { PyModule_AddObject(ue_module, "FKeyEvent", (PyObject *)&ue_PyFKeyEventType); } -PyObject *py_ue_new_fkey_event(FKeyEvent key_event) { +PyObject *py_ue_new_fkey_event(FKeyEvent key_event) +{ ue_PyFKeyEvent *ret = (ue_PyFKeyEvent *)PyObject_New(ue_PyFKeyEvent, &ue_PyFKeyEventType); new(&ret->key_event) FKeyEvent(key_event); new(&ret->f_input.input) FInputEvent(key_event); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp index 27c503a07..abe3d0891 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp @@ -1,12 +1,6 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPyFMenuBuilder.h" -#include "Runtime/Slate/Public/Framework/Commands/UIAction.h" -#if WITH_EDITOR -#include "Developer/AssetTools/Public/AssetToolsModule.h" -#include "Developer/AssetTools/Public/IAssetTools.h" -#endif + static PyObject *py_ue_fmenu_builder_begin_section(ue_PyFMenuBuilder *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.h b/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.h index 4b091e4f7..de5056209 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.h @@ -1,13 +1,20 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPySlate.h" + +#include "Runtime/Slate/Public/Framework/Commands/UIAction.h" +#if WITH_EDITOR +#include "Developer/AssetTools/Public/AssetToolsModule.h" +#include "Developer/AssetTools/Public/IAssetTools.h" +#endif #include "Runtime/Slate/Public/Framework/MultiBox/MultiBoxBuilder.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - FMenuBuilder menu_builder; + /* Type-specific fields go here. */ + FMenuBuilder menu_builder; } ue_PyFMenuBuilder; void ue_python_init_fmenu_builder(PyObject *); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.cpp index fa998a860..6c4779a61 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.cpp @@ -1,5 +1,3 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPyFModifierKeysState.h" static PyObject *py_ue_fmodifier_keys_state_are_caps_locked(ue_PyFModifierKeysState *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFPaintContext.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFPaintContext.cpp index dc72b112b..383acf3f0 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFPaintContext.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFPaintContext.cpp @@ -1,5 +1,3 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPyFPaintContext.h" static FSlateBrush global_simple_brush; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp index 0a13b1e51..259717238 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp @@ -1,5 +1,3 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPyFPointerEvent.h" static PyObject *py_ue_fpointer_event_get_effecting_button(ue_PyFPointerEvent *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp index c0618e126..23ab90e6f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp @@ -1,15 +1,14 @@ -#include "UnrealEnginePythonPrivatePCH.h" #include "UEPyFSlateIcon.h" static PyObject *py_ue_fslate_icon_get_icon(ue_PyFSlateIcon *self, PyObject * args) { - PyObject *ret = py_ue_new_uscriptstruct(FSlateBrush::StaticStruct(), (uint8*)self->icon.GetIcon()); - return ret; + PyObject *ret = py_ue_new_uscriptstruct(FSlateBrush::StaticStruct(), (uint8*)self->icon.GetIcon()); + return ret; } static PyMethodDef ue_PyFSlateIcon_methods[] = { - { "get_icon", (PyCFunction)py_ue_fslate_icon_get_icon, METH_VARARGS, "" }, + { "get_icon", (PyCFunction)py_ue_fslate_icon_get_icon, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; @@ -50,27 +49,33 @@ static PyTypeObject ue_PyFSlateIconType = { ue_PyFSlateIcon_methods, /* tp_methods */ }; -static int ue_py_fslate_icon_init(ue_PyFSlateIcon *self, PyObject *args, PyObject *kwargs) { +static int ue_py_fslate_icon_init(ue_PyFSlateIcon *self, PyObject *args, PyObject *kwargs) +{ char *style_set = nullptr; char *style = nullptr; - if (!PyArg_ParseTuple(args, "|ss", &style_set, &style)) { + if (!PyArg_ParseTuple(args, "|ss", &style_set, &style)) + { return -1; } - if (style_set) { - if (!style) { + if (style_set) + { + if (!style) + { PyErr_SetString(PyExc_ValueError, "you have not specified as style name"); return -1; } new(&self->icon) FSlateIcon(FName(style_set), FName(style)); } - else { - new(&self->icon) FSlateIcon(); + else + { + new(&self->icon) FSlateIcon(); } return 0; } -void ue_python_init_fslate_icon(PyObject *ue_module) { +void ue_python_init_fslate_icon(PyObject *ue_module) +{ ue_PyFSlateIconType.tp_new = PyType_GenericNew; ue_PyFSlateIconType.tp_init = (initproc)ue_py_fslate_icon_init; @@ -84,13 +89,14 @@ void ue_python_init_fslate_icon(PyObject *ue_module) { ue_PyFSlateIcon *py_ue_new_fslate_icon(const FSlateIcon slate_icon) { - ue_PyFSlateIcon *ret = (ue_PyFSlateIcon *)PyObject_New(ue_PyFSlateIcon, &ue_PyFSlateIconType); - ret->icon = slate_icon; - return ret; + ue_PyFSlateIcon *ret = (ue_PyFSlateIcon *)PyObject_New(ue_PyFSlateIcon, &ue_PyFSlateIconType); + ret->icon = slate_icon; + return ret; } -ue_PyFSlateIcon *py_ue_is_fslate_icon(PyObject *obj) { - if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyFSlateIconType)) - return nullptr; - return (ue_PyFSlateIcon *)obj; +ue_PyFSlateIcon *py_ue_is_fslate_icon(PyObject *obj) +{ + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyFSlateIconType)) + return nullptr; + return (ue_PyFSlateIcon *)obj; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp index 7f5e7e45e..ebea3c3d9 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp @@ -1,4 +1,3 @@ -#include "UnrealEnginePythonPrivatePCH.h" #include "UEPyFSlateStyleSet.h" #include "SlateTypes.h" @@ -89,123 +88,124 @@ static PyObject *py_ue_fslate_style_set_set(ue_PyFSlateStyleSet *self, PyObject return PyErr_Format(PyExc_ValueError, "unsupported value type"); } -namespace { - template - PyObject* pyGetWidgetStyle(FSlateStyleSet& InStyle, FName PropertyName) - { - const WidgetStyleType styleWidgetStyle = InStyle.GetWidgetStyle(PropertyName); - return py_ue_new_uscriptstruct(WidgetStyleType::StaticStruct(), (uint8*)&styleWidgetStyle); - } +namespace +{ + template + PyObject* pyGetWidgetStyle(FSlateStyleSet& InStyle, FName PropertyName) + { + const WidgetStyleType styleWidgetStyle = InStyle.GetWidgetStyle(PropertyName); + return py_ue_new_uscriptstruct(WidgetStyleType::StaticStruct(), (uint8*)&styleWidgetStyle); + } } static PyObject *py_ue_fslate_style_set_get(ue_PyFSlateStyleSet *self, PyObject * args) { - if (!(self && self->style_set)) - return PyErr_Format(PyExc_Exception, "fstyleset is in invalid state"); + if (!(self && self->style_set)) + return PyErr_Format(PyExc_Exception, "fstyleset is in invalid state"); - char *name = nullptr; - PyObject *py_type = nullptr; + char *name = nullptr; + PyObject *py_type = nullptr; if (!PyArg_ParseTuple(args, "sO:get", &name, &py_type)) return NULL; - PyObject *ret = nullptr; + PyObject *ret = nullptr; if (ue_py_check_struct(py_type)) { - const FSlateSound& styleSound = self->style_set->GetSound(FName(name)); - ret = py_ue_new_uscriptstruct(FSlateSound::StaticStruct(), (uint8*)&styleSound); + const FSlateSound& styleSound = self->style_set->GetSound(FName(name)); + ret = py_ue_new_uscriptstruct(FSlateSound::StaticStruct(), (uint8*)&styleSound); } else if (ue_py_check_struct(py_type)) { - if (const FSlateBrush* styleBrush = self->style_set->GetBrush(FName(name))) - { - ret = py_ue_new_uscriptstruct(FSlateBrush::StaticStruct(), (uint8*)styleBrush); - } + if (const FSlateBrush* styleBrush = self->style_set->GetBrush(FName(name))) + { + ret = py_ue_new_uscriptstruct(FSlateBrush::StaticStruct(), (uint8*)styleBrush); + } } else if (ue_py_check_struct(py_type)) { - const FSlateColor styleSlateColor = self->style_set->GetSlateColor(FName(name)); - ret = py_ue_new_uscriptstruct(FSlateColor::StaticStruct(), (uint8*)&styleSlateColor); + const FSlateColor styleSlateColor = self->style_set->GetSlateColor(FName(name)); + ret = py_ue_new_uscriptstruct(FSlateColor::StaticStruct(), (uint8*)&styleSlateColor); } - else if (ue_py_check_struct(py_type)) + else if (ue_py_check_struct(py_type)) { - const FSlateFontInfo styleFontInfo = self->style_set->GetFontStyle(FName(name)); - ret = py_ue_new_uscriptstruct(FSlateFontInfo::StaticStruct(), (uint8*)&styleFontInfo); + const FSlateFontInfo styleFontInfo = self->style_set->GetFontStyle(FName(name)); + ret = py_ue_new_uscriptstruct(FSlateFontInfo::StaticStruct(), (uint8*)&styleFontInfo); } - else if (ue_py_check_childstruct(py_type)) - { + else if (ue_py_check_childstruct(py_type)) + { - typedef TFunction WStyleGetter; - typedef TPair WStylePair; + typedef TFunction WStyleGetter; + typedef TPair WStylePair; #if ENGINE_MINOR_VERSION > 15 - static const WStylePair validWidgetStyleUStructList[] = { - WStylePair{ FTextBlockStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FButtonStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FComboButtonStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FComboBoxStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FHyperlinkStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FEditableTextStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FScrollBarStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FEditableTextBoxStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FInlineEditableTextBlockStyle::StaticStruct(), WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, - WStylePair{ FProgressBarStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FExpandableAreaStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FSearchBoxStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FSliderStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FVolumeControlStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FInlineTextImageStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FSpinBoxStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FSplitterStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FTableRowStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FTableColumnHeaderStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FHeaderRowStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FDockTabStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FScrollBoxStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FScrollBorderStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - WStylePair{ FWindowStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle (InStyle, InName); }) }, - }; - - - for(WStylePair widgetStyleUStruct : validWidgetStyleUStructList) - { - if (do_ue_py_check_struct(py_type, widgetStyleUStruct.Key)) - { - ret = widgetStyleUStruct.Value(*self->style_set, FName(name)); - break; - } - } + static const WStylePair validWidgetStyleUStructList[] = { + WStylePair{ FTextBlockStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FButtonStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FComboButtonStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FComboBoxStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FHyperlinkStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FEditableTextStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FScrollBarStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FEditableTextBoxStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FInlineEditableTextBlockStyle::StaticStruct(), WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FProgressBarStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FExpandableAreaStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FSearchBoxStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FSliderStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FVolumeControlStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FInlineTextImageStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FSpinBoxStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FSplitterStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FTableRowStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FTableColumnHeaderStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FHeaderRowStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FDockTabStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FScrollBoxStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FScrollBorderStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + WStylePair{ FWindowStyle::StaticStruct() , WStyleGetter([](FSlateStyleSet& InStyle, FName InName) { return pyGetWidgetStyle(InStyle, InName); }) }, + }; + + + for (WStylePair widgetStyleUStruct : validWidgetStyleUStructList) + { + if (do_ue_py_check_struct(py_type, widgetStyleUStruct.Key)) + { + ret = widgetStyleUStruct.Value(*self->style_set, FName(name)); + break; + } + } #endif - - if (!ret) - { - return PyErr_Format(PyExc_ValueError, "Unsupported FSlateWidgetStyle type. Add it manually."); - } - } - else if (py_ue_is_flinearcolor(py_type)) + + if (!ret) + { + return PyErr_Format(PyExc_ValueError, "Unsupported FSlateWidgetStyle type. Add it manually."); + } + } + else if (py_ue_is_flinearcolor(py_type)) + { + ret = py_ue_new_flinearcolor(self->style_set->GetColor(FName(name))); + } + else if (PyNumber_Check(py_type)) { - ret = py_ue_new_flinearcolor(self->style_set->GetColor(FName(name))); + ret = PyFloat_FromDouble(self->style_set->GetFloat(FName(name))); } - else if (PyNumber_Check(py_type)) + else { - ret = PyFloat_FromDouble(self->style_set->GetFloat(FName(name))); + return PyErr_Format(PyExc_ValueError, "unsupported value type"); } - else - { - return PyErr_Format(PyExc_ValueError, "unsupported value type"); - } - if (!ret) - return PyErr_Format(PyExc_Exception, "Retrieved style object is in invalid state"); + if (!ret) + return PyErr_Format(PyExc_Exception, "Retrieved style object is in invalid state"); - return ret; + return ret; } static PyMethodDef ue_PyFSlateStyleSet_methods[] = { { "set_content_root", (PyCFunction)py_ue_fslate_style_set_set_content_root, METH_VARARGS, "" }, { "set", (PyCFunction)py_ue_fslate_style_set_set, METH_VARARGS, "" }, - { "get", (PyCFunction)py_ue_fslate_style_set_get, METH_VARARGS, "" }, + { "get", (PyCFunction)py_ue_fslate_style_set_get, METH_VARARGS, "" }, { "register", (PyCFunction)py_ue_fslate_style_set_register, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; @@ -255,16 +255,16 @@ static int ue_py_fslate_style_set_init(ue_PyFSlateStyleSet *self, PyObject *args { return -1; } - //TODO: roberto: ikrimae- I think this leaks? How is FSlateIcon destroyed ever? + //TODO: roberto: ikrimae- I think this leaks? How is FSlateIcon destroyed ever? self->style_set = new FSlateStyleSet(name); return 0; } ue_PyFSlateStyleSet* py_ue_new_fslate_style_set(FSlateStyleSet* styleSet) { - ue_PyFSlateStyleSet *ret = (ue_PyFSlateStyleSet *)PyObject_New(ue_PyFSlateStyleSet, &ue_PyFSlateStyleSetType); - ret->style_set = styleSet; - return ret; + ue_PyFSlateStyleSet *ret = (ue_PyFSlateStyleSet *)PyObject_New(ue_PyFSlateStyleSet, &ue_PyFSlateStyleSetType); + ret->style_set = styleSet; + return ret; } void ue_python_init_fslate_style_set(PyObject *ue_module) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.h b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.h index 58ffe57fd..feb3abaa5 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.h @@ -1,11 +1,14 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPySlate.h" +#include "Wrappers/UEPyFColor.h" +#include "Wrappers/UEPyFLinearColor.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - FSlateStyleSet *style_set; + /* Type-specific fields go here. */ + FSlateStyleSet *style_set; } ue_PyFSlateStyleSet; ue_PyFSlateStyleSet* py_ue_new_fslate_style_set(FSlateStyleSet* styleSet); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFTabManager.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFTabManager.cpp index 4949239de..6afa81fca 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFTabManager.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFTabManager.cpp @@ -1,5 +1,3 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPyFTabManager.h" @@ -46,7 +44,8 @@ static PyTypeObject ue_PyFTabManagerType = { }; -void ue_python_init_ftab_manager(PyObject *ue_module) { +void ue_python_init_ftab_manager(PyObject *ue_module) +{ ue_PyFTabManagerType.tp_new = PyType_GenericNew; if (PyType_Ready(&ue_PyFTabManagerType) < 0) @@ -56,7 +55,8 @@ void ue_python_init_ftab_manager(PyObject *ue_module) { PyModule_AddObject(ue_module, "FTabManager", (PyObject *)&ue_PyFTabManagerType); } -PyObject *py_ue_new_ftab_manager(TSharedRef tab_manager) { +PyObject *py_ue_new_ftab_manager(TSharedRef tab_manager) +{ ue_PyFTabManager *ret = (ue_PyFTabManager *)PyObject_New(ue_PyFTabManager, &ue_PyFTabManagerType); new(&ret->tab_manager) TSharedRef(tab_manager); return (PyObject *)ret; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFTabSpawnerEntry.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFTabSpawnerEntry.cpp index 71022af3f..d577a951a 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFTabSpawnerEntry.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFTabSpawnerEntry.cpp @@ -1,9 +1,8 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPyFTabSpawnerEntry.h" -static PyObject *py_ue_ftab_spawner_entry_set_display_name(ue_PyFTabSpawnerEntry *self, PyObject * args) { +static PyObject *py_ue_ftab_spawner_entry_set_display_name(ue_PyFTabSpawnerEntry *self, PyObject * args) +{ char *name; if (!PyArg_ParseTuple(args, "s:set_display_name", &name)) return NULL; @@ -14,7 +13,8 @@ static PyObject *py_ue_ftab_spawner_entry_set_display_name(ue_PyFTabSpawnerEntry return (PyObject *)self; } -static PyObject *py_ue_ftab_spawner_entry_set_tooltip_text(ue_PyFTabSpawnerEntry *self, PyObject * args) { +static PyObject *py_ue_ftab_spawner_entry_set_tooltip_text(ue_PyFTabSpawnerEntry *self, PyObject * args) +{ char *tooltip; if (!PyArg_ParseTuple(args, "s:set_tooltip_text", &tooltip)) return NULL; @@ -72,7 +72,8 @@ static PyTypeObject ue_PyFTabSpawnerEntryType = { }; -void ue_python_init_ftab_spawner_entry(PyObject *ue_module) { +void ue_python_init_ftab_spawner_entry(PyObject *ue_module) +{ ue_PyFTabSpawnerEntryType.tp_new = PyType_GenericNew; if (PyType_Ready(&ue_PyFTabSpawnerEntryType) < 0) @@ -82,7 +83,8 @@ void ue_python_init_ftab_spawner_entry(PyObject *ue_module) { PyModule_AddObject(ue_module, "FTabSpawnerEntry", (PyObject *)&ue_PyFTabSpawnerEntryType); } -PyObject *py_ue_new_ftab_spawner_entry(FTabSpawnerEntry *spawner_entry) { +PyObject *py_ue_new_ftab_spawner_entry(FTabSpawnerEntry *spawner_entry) +{ ue_PyFTabSpawnerEntry *ret = (ue_PyFTabSpawnerEntry *)PyObject_New(ue_PyFTabSpawnerEntry, &ue_PyFTabSpawnerEntryType); ret->spawner_entry = spawner_entry; return (PyObject *)ret; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp index 8b10d3222..8de519c53 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp @@ -1,5 +1,3 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPyFToolBarBuilder.h" #include "Runtime/Slate/Public/Framework/Commands/UIAction.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyIDetailsView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyIDetailsView.cpp index 57461571d..32e8a1f09 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyIDetailsView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyIDetailsView.cpp @@ -1,11 +1,11 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyIDetailsView.h" #if WITH_EDITOR #include "Editor/PropertyEditor/Public/IDetailsView.h" -#include "UEPyIDetailsView.h" + static PyObject *py_ue_idetails_view_set_object(ue_PyIDetailsView *self, PyObject * args, PyObject *kwargs) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp index dea026a94..adaa1008b 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp @@ -1,8 +1,8 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyIStructureDetailsView.h" #if WITH_EDITOR -#include "UEPyIStructureDetailsView.h" + #include "IStructureDetailsView.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySAssetDropTarget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySAssetDropTarget.cpp index 68aef5430..ce0cf7712 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySAssetDropTarget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySAssetDropTarget.cpp @@ -1,8 +1,7 @@ -#if WITH_EDITOR -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPySAssetDropTarget.h" +#if WITH_EDITOR + static PyMethodDef ue_PySAssetDropTarget_methods[] = { { NULL } /* Sentinel */ diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySBorder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySBorder.cpp index ccb311495..3aff74d85 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySBorder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySBorder.cpp @@ -1,6 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPySBorder.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySBox.cpp index de0386a09..5b46e2501 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySBox.cpp @@ -1,5 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" #include "UEPySBox.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySBoxPanel.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySBoxPanel.cpp index b7501d759..688fe7a70 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySBoxPanel.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySBoxPanel.cpp @@ -1,6 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPySBoxPanel.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp index 0a990dbc4..c9646d0f8 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp @@ -1,5 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" #include "UEPySButton.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySCanvas.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySCanvas.cpp index 943e88133..e8e241cd8 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySCanvas.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySCanvas.cpp @@ -1,5 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" #include "UEPySCanvas.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySCheckBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySCheckBox.cpp index ee69c39b7..5f734acd7 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySCheckBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySCheckBox.cpp @@ -1,6 +1,3 @@ - -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPySCheckBox.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySColorBlock.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySColorBlock.cpp index 775b1fe1a..a34792e1a 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySColorBlock.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySColorBlock.cpp @@ -1,6 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPySColorBlock.h" static PyMethodDef ue_PySColorBlock_methods[] = { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySCompoundWidget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySCompoundWidget.cpp index 494c10a51..9e0556199 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySCompoundWidget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySCompoundWidget.cpp @@ -1,6 +1,3 @@ - -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPySCompoundWidget.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySDockTab.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySDockTab.cpp index 04698326e..338b4175a 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySDockTab.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySDockTab.cpp @@ -1,7 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" - - #include "UEPySDockTab.h" static PyObject *py_ue_sdock_tab_set_label(ue_PySDockTab *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySDropTarget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySDropTarget.cpp index 5d38fd4e6..62710997e 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySDropTarget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySDropTarget.cpp @@ -1,7 +1,8 @@ +#include "UEPySDropTarget.h" + #if WITH_EDITOR -#include "UnrealEnginePythonPrivatePCH.h" -#include "UEPySDropTarget.h" + static PyMethodDef ue_PySDropTarget_methods[] = { @@ -39,7 +40,8 @@ PyTypeObject ue_PySDropTargetType = { ue_PySDropTarget_methods, /* tp_methods */ }; -void ue_python_init_sdrop_target(PyObject *ue_module) { +void ue_python_init_sdrop_target(PyObject *ue_module) +{ ue_PySDropTargetType.tp_base = &ue_PySCompoundWidgetType; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySEditableTextBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySEditableTextBox.cpp index b46e1beef..da05e6cf7 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySEditableTextBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySEditableTextBox.cpp @@ -1,5 +1,5 @@ -#include "UnrealEnginePythonPrivatePCH.h" + #include "UEPySEditableTextBox.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySEditorViewport.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySEditorViewport.cpp index 78aaf5aa0..376fdbefa 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySEditorViewport.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySEditorViewport.cpp @@ -1,9 +1,9 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPySEditorViewport.h" #if WITH_EDITOR -#include "UEPySViewport.h" + static PyObject *py_ue_seditor_viewport_enable_stereo_rendering(ue_PySEditorViewport *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.cpp index d5a52c65d..3928dfa30 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.cpp @@ -1,4 +1,3 @@ -#include "UnrealEnginePythonPrivatePCH.h" #include "UEPySFilePathPicker.h" #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySGraphEditor.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySGraphEditor.cpp index 4a389cbaf..5d1def0a0 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySGraphEditor.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySGraphEditor.cpp @@ -1,9 +1,9 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPySGraphEditor.h" #if WITH_EDITOR -#include "UEPySGraphEditor.h" + diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp index 3d50bbcab..349cd1c1b 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySGraphPanel.cpp @@ -1,8 +1,8 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPySGraphPanel.h" #if WITH_EDITOR #if ENGINE_MINOR_VERSION > 15 -#include "UEPySGraphPanel.h" + #define sw_graph_panel StaticCastSharedRef(self->s_nodePanel.s_panel.s_widget) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySGridPanel.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySGridPanel.cpp index 377f616e0..8fd149a40 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySGridPanel.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySGridPanel.cpp @@ -1,6 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPySGridPanel.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.cpp index 75d475ba1..6598a6bd9 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" + #include "UEPySHeaderRow.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySHorizontalBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySHorizontalBox.cpp index 7f769ccba..7d82abc95 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySHorizontalBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySHorizontalBox.cpp @@ -1,6 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPySHorizontalBox.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySImage.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySImage.cpp index 222bfd6fc..91264b436 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySImage.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySImage.cpp @@ -1,6 +1,3 @@ - -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPySImage.h" static PyObject *py_ue_simage_set_brush(ue_PySImage *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySLeafWidget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySLeafWidget.cpp index 3198c3630..a24a90e74 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySLeafWidget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySLeafWidget.cpp @@ -1,5 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" #include "UEPySLeafWidget.h" @@ -38,7 +37,8 @@ PyTypeObject ue_PySLeafWidgetType = { ue_PySLeafWidget_methods, /* tp_methods */ }; -void ue_python_init_sleaf_widget(PyObject *ue_module) { +void ue_python_init_sleaf_widget(PyObject *ue_module) +{ ue_PySLeafWidgetType.tp_base = &ue_PySWidgetType; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.cpp index ad00023b5..a1a5b0e69 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.cpp @@ -1,7 +1,9 @@ +#include "UEPySLevelViewport.h" + #if WITH_EDITOR -#include "UnrealEnginePythonPrivatePCH.h" -#include "UEPySLevelViewport.h" + + #include "LevelEditor.h" #include "Editor/LevelEditor/Public/ILevelEditor.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.h b/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.h index 29eac85f4..c2316b7fa 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.h @@ -1,9 +1,6 @@ #pragma once -#include "UnrealEnginePython.h" - - -#include "UEPySEditorViewport.h" +#include "UEPySlate.h" #include "Editor/LevelEditor/Public/SLevelViewport.h" #include "Editor/LevelEditor/Private/SLevelEditor.h" @@ -12,7 +9,8 @@ extern PyTypeObject ue_PySLevelViewportType; -typedef struct { +typedef struct +{ ue_PySEditorViewport s_editor_viewport; /* Type-specific fields go here. */ } ue_PySLevelViewport; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySListView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySListView.cpp index 898ecd580..a8c5190e8 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySListView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySListView.cpp @@ -1,10 +1,7 @@ -#include "UnrealEnginePythonPrivatePCH.h" #include "UEPySListView.h" -#define sw_slist_view StaticCastSharedRef>>(self->s_table_view_base.s_compound_widget.s_widget.s_widget) - static PyMethodDef ue_PySListView_methods[] = { { NULL } /* Sentinel */ }; @@ -41,7 +38,8 @@ PyTypeObject ue_PySListViewType = { }; -void ue_python_init_slist_view(PyObject *ue_module) { +void ue_python_init_slist_view(PyObject *ue_module) +{ ue_PySListViewType.tp_base = &ue_PySTableViewBaseType; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySMultiLineEditableText.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySMultiLineEditableText.cpp index 371f3355f..31c62c6ec 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySMultiLineEditableText.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySMultiLineEditableText.cpp @@ -1,7 +1,6 @@ -#include "UnrealEnginePythonPrivatePCH.h" -#include "UEPySEditableTextBox.h" +#include "UEPySMultiLineEditableText.h" static PyObject *py_ue_smulti_line_editable_text_select_all_text(ue_PySMultiLineEditableText *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySMultiLineEditableText.h b/Source/UnrealEnginePython/Private/Slate/UEPySMultiLineEditableText.h index 9f339c136..8b4d2442e 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySMultiLineEditableText.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySMultiLineEditableText.h @@ -1,14 +1,13 @@ #pragma once -#include "UnrealEnginePython.h" - -#include "UEPySWidget.h" +#include "UEPySlate.h" #include "Runtime/Slate/Public/Widgets/Text/SMultiLineEditableText.h" extern PyTypeObject ue_PySMultiLineEditableTextType; -typedef struct { +typedef struct +{ ue_PySWidget s_widget; /* Type-specific fields go here. */ } ue_PySMultiLineEditableText; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.cpp index 59423e6e2..7916b516f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySNodePanel.cpp @@ -1,55 +1,55 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPySNodePanel.h" #if WITH_EDITOR -#include "UEPySNodePanel.h" + static PyMethodDef ue_PySNodePanel_methods[] = { - { NULL } /* Sentinel */ + { NULL } /* Sentinel */ }; PyTypeObject ue_PySNodePanelType = { - PyVarObject_HEAD_INIT(NULL, 0) - "unreal_engine.SNodePanel", /* tp_name */ - sizeof(ue_PySNodePanel), /* tp_basicsize */ - 0, /* tp_itemsize */ - 0, /* tp_dealloc */ - 0, /* tp_print */ - 0, /* tp_getattr */ - 0, /* tp_setattr */ - 0, /* tp_reserved */ - 0, /* tp_repr */ - 0, /* tp_as_number */ - 0, /* tp_as_sequence */ - 0, /* tp_as_mapping */ - 0, /* tp_hash */ - 0, /* tp_call */ - 0, /* tp_str */ - 0, /* tp_getattro */ - 0, /* tp_setattro */ - 0, /* tp_as_buffer */ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ - "Unreal Engine SNode Panel", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - ue_PySNodePanel_methods, /* tp_methods */ + PyVarObject_HEAD_INIT(NULL, 0) + "unreal_engine.SNodePanel", /* tp_name */ + sizeof(ue_PySNodePanel), /* tp_basicsize */ + 0, /* tp_itemsize */ + 0, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ + "Unreal Engine SNode Panel", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + ue_PySNodePanel_methods, /* tp_methods */ }; void ue_python_init_snode_panel(PyObject *ue_module) { - ue_PySNodePanelType.tp_base = &ue_PySPanelType; + ue_PySNodePanelType.tp_base = &ue_PySPanelType; - if (PyType_Ready(&ue_PySNodePanelType) < 0) - return; + if (PyType_Ready(&ue_PySNodePanelType) < 0) + return; - Py_INCREF(&ue_PySNodePanelType); - PyModule_AddObject(ue_module, "SNodePanel", (PyObject *)&ue_PySNodePanelType); + Py_INCREF(&ue_PySNodePanelType); + PyModule_AddObject(ue_module, "SNodePanel", (PyObject *)&ue_PySNodePanelType); } #endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.cpp index c541b26db..0a05685da 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.cpp @@ -1,5 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" #include "UEPySNumericEntryBox.h" @@ -42,70 +41,72 @@ PyTypeObject ue_PySNumericEntryBoxType = { ue_PySNumericEntryBox_methods, /* tp_methods */ }; -static int ue_py_snumeric_entry_box_init(ue_PySNumericEntryBox *self, PyObject *args, PyObject *kwargs) { - - PyObject *py_numeric_type = ue_py_dict_get_item(kwargs, "numeric_type"); - if (py_numeric_type && PyLong_Check(py_numeric_type)) - { - ue_py_slate_setup_farguments(SNumericEntryBox); - - ue_py_slate_farguments_optional_bool("allow_spin", AllowSpin); - ue_py_slate_farguments_optional_struct("border_background_color", BorderBackgroundColor, FSlateColor); - ue_py_slate_farguments_optional_struct("border_foreground_color", BorderForegroundColor, FSlateColor); - ue_py_slate_farguments_int("delta", Delta); - ue_py_slate_farguments_optional_struct_ptr("editable_text_box_style", EditableTextBoxStyle, FEditableTextBoxStyle); - ue_py_slate_farguments_struct("font", Font, FSlateFontInfo); - ue_py_slate_farguments_optional_struct("label_padding", LabelPadding, FMargin); - ue_py_slate_farguments_optional_enum("label_v_align", LabelVAlign, EVerticalAlignment); - ue_py_slate_farguments_tint("max_slider_value", MaxSliderValue); - ue_py_slate_farguments_tint("max_value", MaxValue); - ue_py_slate_farguments_float("min_desired_value_width", MinDesiredValueWidth); - ue_py_slate_farguments_tint("min_slider_value", MinSliderValue); - ue_py_slate_farguments_tint("min_value", MinValue); - ue_py_slate_farguments_struct("override_text_margin", OverrideTextMargin, FMargin); - ue_py_slate_farguments_float("slider_exponent", SliderExponent); - ue_py_slate_farguments_optional_text("undetermined_string", UndeterminedString); - ue_py_slate_farguments_tint("value", Value); - ue_py_slate_farguments_event("on_begin_slider_movement", OnBeginSliderMovement, FSimpleDelegate, SimpleExecuteAction); - ue_py_slate_farguments_event("on_end_slider_movement", OnEndSliderMovement, FOnInt32ValueChanged, OnInt32Changed); - ue_py_slate_farguments_event("on_value_changed", OnValueChanged, FOnInt32ValueChanged, OnInt32Changed); - ue_py_slate_farguments_event("on_value_committed", OnValueCommitted, FOnInt32ValueCommitted, OnInt32Committed); - - ue_py_snew(SNumericEntryBox); - } - else - { - ue_py_slate_setup_farguments(SNumericEntryBox); - - ue_py_slate_farguments_optional_bool("allow_spin", AllowSpin); - ue_py_slate_farguments_optional_struct("border_background_color", BorderBackgroundColor, FSlateColor); - ue_py_slate_farguments_optional_struct("border_foreground_color", BorderForegroundColor, FSlateColor); - ue_py_slate_farguments_float("delta", Delta); - ue_py_slate_farguments_optional_struct_ptr("editable_text_box_style", EditableTextBoxStyle, FEditableTextBoxStyle); - ue_py_slate_farguments_struct("font", Font, FSlateFontInfo); - ue_py_slate_farguments_optional_struct("label_padding", LabelPadding, FMargin); - ue_py_slate_farguments_optional_enum("label_v_align", LabelVAlign, EVerticalAlignment); - ue_py_slate_farguments_tfloat("max_slider_value", MaxSliderValue); - ue_py_slate_farguments_tfloat("max_value", MaxValue); - ue_py_slate_farguments_float("min_desired_value_width", MinDesiredValueWidth); - ue_py_slate_farguments_tfloat("min_slider_value", MinSliderValue); - ue_py_slate_farguments_tfloat("min_value", MinValue); - ue_py_slate_farguments_struct("override_text_margin", OverrideTextMargin, FMargin); - ue_py_slate_farguments_float("slider_exponent", SliderExponent); - ue_py_slate_farguments_optional_text("undetermined_string", UndeterminedString); - ue_py_slate_farguments_tfloat("value", Value); - ue_py_slate_farguments_event("on_begin_slider_movement", OnBeginSliderMovement, FSimpleDelegate, SimpleExecuteAction); - ue_py_slate_farguments_event("on_end_slider_movement", OnEndSliderMovement, FOnFloatValueChanged, OnFloatChanged); - ue_py_slate_farguments_event("on_value_changed", OnValueChanged, FOnFloatValueChanged, OnFloatChanged); - ue_py_slate_farguments_event("on_value_committed", OnValueCommitted, FOnFloatValueCommitted, OnFloatCommitted); - - ue_py_snew(SNumericEntryBox); - } +static int ue_py_snumeric_entry_box_init(ue_PySNumericEntryBox *self, PyObject *args, PyObject *kwargs) +{ + + PyObject *py_numeric_type = ue_py_dict_get_item(kwargs, "numeric_type"); + if (py_numeric_type && PyLong_Check(py_numeric_type)) + { + ue_py_slate_setup_farguments(SNumericEntryBox); + + ue_py_slate_farguments_optional_bool("allow_spin", AllowSpin); + ue_py_slate_farguments_optional_struct("border_background_color", BorderBackgroundColor, FSlateColor); + ue_py_slate_farguments_optional_struct("border_foreground_color", BorderForegroundColor, FSlateColor); + ue_py_slate_farguments_int("delta", Delta); + ue_py_slate_farguments_optional_struct_ptr("editable_text_box_style", EditableTextBoxStyle, FEditableTextBoxStyle); + ue_py_slate_farguments_struct("font", Font, FSlateFontInfo); + ue_py_slate_farguments_optional_struct("label_padding", LabelPadding, FMargin); + ue_py_slate_farguments_optional_enum("label_v_align", LabelVAlign, EVerticalAlignment); + ue_py_slate_farguments_tint("max_slider_value", MaxSliderValue); + ue_py_slate_farguments_tint("max_value", MaxValue); + ue_py_slate_farguments_float("min_desired_value_width", MinDesiredValueWidth); + ue_py_slate_farguments_tint("min_slider_value", MinSliderValue); + ue_py_slate_farguments_tint("min_value", MinValue); + ue_py_slate_farguments_struct("override_text_margin", OverrideTextMargin, FMargin); + ue_py_slate_farguments_float("slider_exponent", SliderExponent); + ue_py_slate_farguments_optional_text("undetermined_string", UndeterminedString); + ue_py_slate_farguments_tint("value", Value); + ue_py_slate_farguments_event("on_begin_slider_movement", OnBeginSliderMovement, FSimpleDelegate, SimpleExecuteAction); + ue_py_slate_farguments_event("on_end_slider_movement", OnEndSliderMovement, FOnInt32ValueChanged, OnInt32Changed); + ue_py_slate_farguments_event("on_value_changed", OnValueChanged, FOnInt32ValueChanged, OnInt32Changed); + ue_py_slate_farguments_event("on_value_committed", OnValueCommitted, FOnInt32ValueCommitted, OnInt32Committed); + + ue_py_snew(SNumericEntryBox); + } + else + { + ue_py_slate_setup_farguments(SNumericEntryBox); + + ue_py_slate_farguments_optional_bool("allow_spin", AllowSpin); + ue_py_slate_farguments_optional_struct("border_background_color", BorderBackgroundColor, FSlateColor); + ue_py_slate_farguments_optional_struct("border_foreground_color", BorderForegroundColor, FSlateColor); + ue_py_slate_farguments_float("delta", Delta); + ue_py_slate_farguments_optional_struct_ptr("editable_text_box_style", EditableTextBoxStyle, FEditableTextBoxStyle); + ue_py_slate_farguments_struct("font", Font, FSlateFontInfo); + ue_py_slate_farguments_optional_struct("label_padding", LabelPadding, FMargin); + ue_py_slate_farguments_optional_enum("label_v_align", LabelVAlign, EVerticalAlignment); + ue_py_slate_farguments_tfloat("max_slider_value", MaxSliderValue); + ue_py_slate_farguments_tfloat("max_value", MaxValue); + ue_py_slate_farguments_float("min_desired_value_width", MinDesiredValueWidth); + ue_py_slate_farguments_tfloat("min_slider_value", MinSliderValue); + ue_py_slate_farguments_tfloat("min_value", MinValue); + ue_py_slate_farguments_struct("override_text_margin", OverrideTextMargin, FMargin); + ue_py_slate_farguments_float("slider_exponent", SliderExponent); + ue_py_slate_farguments_optional_text("undetermined_string", UndeterminedString); + ue_py_slate_farguments_tfloat("value", Value); + ue_py_slate_farguments_event("on_begin_slider_movement", OnBeginSliderMovement, FSimpleDelegate, SimpleExecuteAction); + ue_py_slate_farguments_event("on_end_slider_movement", OnEndSliderMovement, FOnFloatValueChanged, OnFloatChanged); + ue_py_slate_farguments_event("on_value_changed", OnValueChanged, FOnFloatValueChanged, OnFloatChanged); + ue_py_slate_farguments_event("on_value_committed", OnValueCommitted, FOnFloatValueCommitted, OnFloatCommitted); + + ue_py_snew(SNumericEntryBox); + } return 0; } -void ue_python_init_snumeric_entry_box(PyObject *ue_module) { +void ue_python_init_snumeric_entry_box(PyObject *ue_module) +{ ue_PySNumericEntryBoxType.tp_init = (initproc)ue_py_snumeric_entry_box_init; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.h b/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.h index 6fa9e7c09..e142a28d6 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.h @@ -1,14 +1,14 @@ #pragma once -#include "UnrealEnginePython.h" -#include "UEPySCompoundWidget.h" +#include "UEPySlate.h" #include "Runtime/Slate/Public/SlateFwd.h" extern PyTypeObject ue_PySNumericEntryBoxType; -typedef struct { +typedef struct +{ ue_PySCompoundWidget s_compound_widget; /* Type-specific fields go here. */ } ue_PySNumericEntryBox; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySObjectPropertyEntryBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySObjectPropertyEntryBox.cpp index 29e71da51..f7ddbecc0 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySObjectPropertyEntryBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySObjectPropertyEntryBox.cpp @@ -1,7 +1,7 @@ +#include "UEPySObjectPropertyEntryBox.h" + #if WITH_EDITOR -#include "UnrealEnginePythonPrivatePCH.h" -#include "UEPySObjectPropertyEntryBox.h" static PyMethodDef ue_PySObjectPropertyEntryBox_methods[] = { { NULL } /* Sentinel */ diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySOverlay.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySOverlay.cpp index 9eb9457e7..3652785b3 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySOverlay.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySOverlay.cpp @@ -1,7 +1,6 @@ -#include "UnrealEnginePythonPrivatePCH.h" -#include "UEPySBox.h" +#include "UEPySOverlay.h" static PyObject *py_ue_soverlay_add_slot(ue_PySOverlay *self, PyObject * args, PyObject *kwargs) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPanel.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPanel.cpp index 3a1a86af9..8ac16e1e8 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPanel.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPanel.cpp @@ -1,5 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" #include "UEPySPanel.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySProgressBar.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySProgressBar.cpp index 6406efc40..a0c1a98e8 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySProgressBar.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySProgressBar.cpp @@ -1,6 +1,3 @@ - -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPySProgressBar.h" static PyObject *py_ue_sprogress_bar_set_percent(ue_PySProgressBar *self, PyObject *args) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonComboBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonComboBox.cpp index 4e8f7b22b..1babd8d3a 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonComboBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonComboBox.cpp @@ -1,5 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" #include "UEPySPythonComboBox.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.cpp index fd1567dc9..649b842ca 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.cpp @@ -1,9 +1,9 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPySPythonEditorViewport.h" #if WITH_EDITOR -#include "UEPySPythonEditorViewport.h" +#include "Components/DirectionalLightComponent.h" static PyObject *py_ue_spython_editor_viewport_get_world(ue_PySPythonEditorViewport *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.h b/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.h index 11f7bd320..ef4704d0f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.h @@ -1,9 +1,6 @@ #pragma once -#include "UnrealEnginePython.h" - - -#include "UEPySEditorViewport.h" +#include "UEPySlate.h" #include "Editor/UnrealEd/Public/SEditorViewport.h" #include "Editor/UnrealEd/Public/EditorViewportClient.h" @@ -11,38 +8,50 @@ #include "Editor/UnrealEd/Public/SCommonEditorViewportToolbarBase.h" #include "Editor/UnrealEd/Public/STransformViewportToolbar.h" +#include "Wrappers/UEPyFRotator.h" + +#include "EngineUtils.h" + extern PyTypeObject ue_PySEditorViewportType; -typedef struct { +typedef struct +{ ue_PySEditorViewport s_editor_viewport; /* Type-specific fields go here. */ } ue_PySPythonEditorViewport; void ue_python_init_spython_editor_viewport(PyObject *); -class SPythonEditorViewport : public SEditorViewport, public ICommonEditorViewportToolbarInfoProvider { +class SPythonEditorViewport : public SEditorViewport, public ICommonEditorViewportToolbarInfoProvider +{ public: - UWorld *GetPythonWorld(); + UWorld * GetPythonWorld(); virtual void Tick(const FGeometry& AllottedGeometry, const double InCurrentTime, const float InDeltaTime); - void Simulate(bool start) { - if (start) { - if (!bSimulate) { + void Simulate(bool start) + { + if (start) + { + if (!bSimulate) + { bSimulate = true; GetWorld()->BeginPlay(); } } - else { + else + { bSimulate = false; } } - FPreviewScene * GetPreviewScene() { + FPreviewScene * GetPreviewScene() + { return PreviewScene; } - TSharedPtr GetSceneViewport() { + TSharedPtr GetSceneViewport() + { return SceneViewport; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp index 053836895..89d9617f3 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp @@ -1,5 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" #include "UEPySPythonListView.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.cpp index 4a080b5d1..4d3f5fb6b 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.cpp @@ -1,5 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" #include "UEPySPythonMultiColumnTableRow.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h index 8d949c4bb..008db3eac 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h @@ -1,12 +1,10 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPySlate.h" + +#include "UEPyUScriptStruct.h" -#include "UEPySCompoundWidget.h" #include "UEPyFGeometry.h" -#include "UEPyFPaintContext.h" -#include "UEPyFCharacterEvent.h" -#include "UEPyFKeyEvent.h" #include "UEPyFPointerEvent.h" extern PyTypeObject ue_PySCompoundWidgetType; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonShelf.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonShelf.cpp index a543f0884..743242aff 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonShelf.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonShelf.cpp @@ -1,9 +1,9 @@ +#include "UEPySPythonShelf.h" #if WITH_EDITOR -#include "UnrealEnginePythonPrivatePCH.h" #if ENGINE_MINOR_VERSION > 14 -#include "UEPySPythonShelf.h" + #include "Editor/ContentBrowser/Public/ContentBrowserModule.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonTreeView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonTreeView.cpp index 1c41e8991..5815ca2c5 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonTreeView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonTreeView.cpp @@ -1,9 +1,9 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPySPythonTreeView.h" #include "Runtime/Slate/Public/Widgets/Views/STreeView.h" -#include "UEPySPythonTreeView.h" + static PyObject *py_ue_spython_tree_view_set_item_expansion(ue_PySPythonTreeView *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp index 67a3e8e68..840e38cdd 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.cpp @@ -1,6 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPySPythonWidget.h" static PyObject *py_ue_spython_widget_set_active(ue_PySPythonWidget *self, PyObject *args) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.h b/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.h index 698cea267..76174978c 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.h @@ -1,13 +1,11 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPySWidget.h" + +#include "Widgets/SCompoundWidget.h" + +#include "Runtime/UMG/Public/Blueprint/UserWidget.h" -#include "UEPySCompoundWidget.h" -#include "UEPyFGeometry.h" -#include "UEPyFPaintContext.h" -#include "UEPyFCharacterEvent.h" -#include "UEPyFKeyEvent.h" -#include "UEPyFPointerEvent.h" extern PyTypeObject ue_PySPythonWidgetType; @@ -218,7 +216,7 @@ class SPythonWidget : public SCompoundWidget const FWidgetStyle & InWidgetStyle, bool bParentEnabled) const override { - int32 MaxLayer = SCompoundWidget::OnPaint(Args, AllottedGeometry, MyClippingRect, OutDrawElements, LayerId, InWidgetStyle, bParentEnabled); + int32 MaxLayer = SCompoundWidget::OnPaint(Args, AllottedGeometry, MyClippingRect, OutDrawElements, LayerId, InWidgetStyle, bParentEnabled); FScopePythonGIL gil; @@ -275,8 +273,8 @@ class SPythonWidget : public SCompoundWidget void SetPyObject(PyObject *py_obj) { - Py_XDECREF(self); - Py_INCREF(py_obj); + Py_XDECREF(self); + Py_INCREF(py_obj); self = py_obj; } @@ -292,21 +290,21 @@ class SPythonWidget : public SCompoundWidget } } - void SetContent(TSharedRef InContent) - { - ChildSlot - [ - InContent - ]; - } + void SetContent(TSharedRef InContent) + { + ChildSlot + [ + InContent + ]; + } - void ClearContent() - { - ChildSlot.DetachWidget(); - } + void ClearContent() + { + ChildSlot.DetachWidget(); + } protected: - PyObject *self; + PyObject * self; TWeakPtr ActiveTimerHandle; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySRotatorInputBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySRotatorInputBox.cpp index 0cbae41d4..cb3095dde 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySRotatorInputBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySRotatorInputBox.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" + #include "UEPySRotatorInputBox.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySScrollBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySScrollBox.cpp index 70d48dd97..0fa1ba8b0 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySScrollBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySScrollBox.cpp @@ -1,6 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPySScrollBox.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySSlider.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySSlider.cpp index 03346b58d..b6c15883f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySSlider.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySSlider.cpp @@ -1,6 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPySSlider.h" static PyObject *py_ue_sslider_set_value(ue_PySSlider *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySSpacer.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySSpacer.cpp index d821c8fe6..8b29aac82 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySSpacer.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySSpacer.cpp @@ -1,10 +1,5 @@ - -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPySSpacer.h" -#define sw_spacer StaticCastSharedRef(self->s_leaf_widget.s_widget.s_widget) - static PyMethodDef ue_PySSpacer_methods[] = { { NULL } /* Sentinel */ }; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySSpacer.h b/Source/UnrealEnginePython/Private/Slate/UEPySSpacer.h index b1891980c..d799b052e 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySSpacer.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySSpacer.h @@ -1,6 +1,6 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #include "UEPySLeafWidget.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySSplitter.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySSplitter.cpp index 7ff63183c..cbce68dfe 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySSplitter.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySSplitter.cpp @@ -1,6 +1,3 @@ - -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPySSplitter.h" static PyObject *py_ue_ssplitter_add_slot(ue_PySSplitter *self, PyObject * args, PyObject *kwargs) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySSplitter.h b/Source/UnrealEnginePython/Private/Slate/UEPySSplitter.h index 266e7cd2e..cd57dcf79 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySSplitter.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySSplitter.h @@ -1,6 +1,6 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #include "UEPySPanel.h" @@ -8,7 +8,8 @@ extern PyTypeObject ue_PySSplitterType; -typedef struct { +typedef struct +{ ue_PySPanel s_panel; /* Type-specific fields go here. */ } ue_PySSplitter; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySTableViewBase.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySTableViewBase.cpp index e76edfcbf..4ea887d13 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySTableViewBase.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySTableViewBase.cpp @@ -1,5 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" #include "UEPySTableViewBase.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySTextBlock.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySTextBlock.cpp index 9726dab89..c7a6d013c 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySTextBlock.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySTextBlock.cpp @@ -1,6 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPySTextBlock.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySTreeView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySTreeView.cpp index cfa94c340..baf459796 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySTreeView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySTreeView.cpp @@ -1,6 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPySTreeView.h" static PyObject *py_ue_stree_view_request_tree_refresh(ue_PySTreeView *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySVectorInputBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySVectorInputBox.cpp index 4bb480f89..3902a7f7e 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySVectorInputBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySVectorInputBox.cpp @@ -1,4 +1,3 @@ -#include "UnrealEnginePythonPrivatePCH.h" #include "UEPySVectorInputBox.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.cpp index f6eab351f..82e2109ec 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.cpp @@ -1,6 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPySVerticalBox.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySViewport.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySViewport.cpp index 765f90d74..3862b0700 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySViewport.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySViewport.cpp @@ -1,5 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" #include "UEPySViewport.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp index b5426e7fa..22c157603 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp @@ -1,5 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" #include "UEPySWidget.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h index bc4ed8384..d7a193a61 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h @@ -2,6 +2,15 @@ #include "UnrealEnginePython.h" +#include "UEPyFGeometry.h" +#include "UEPyFPaintContext.h" + +#include "UEPyFInputEvent.h" +#include "UEPyFPointerEvent.h" +#include "UEPyFKeyEvent.h" +#include "UEPyFCharacterEvent.h" +#include "UEPyFModifierKeysState.h" + extern PyTypeObject ue_PySWidgetType; typedef struct ue_PySWidget ue_PySWidget; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp index 5534baeff..f7f587f8e 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp @@ -1,11 +1,11 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPySWindow.h" #if WITH_EDITOR #include "Editor/MainFrame/Public/Interfaces/IMainFrameModule.h" #endif -#include "UEPySWindow.h" + static PyObject *py_ue_swindow_set_title(ue_PySWindow *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp index affe74a25..a92535a0e 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp @@ -1,5 +1,5 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPySlate.h" #if WITH_EDITOR #include "LevelEditor.h" @@ -26,6 +26,10 @@ #include "UEPySlate.h" #include "PyNativeWidgetHost.h" +#include "Wrappers/UEPyFAssetData.h" + +#include "Sound/SoundBase.h" + FReply FPythonSlateDelegate::OnMouseEvent(const FGeometry &geometry, const FPointerEvent &pointer_event) { FScopePythonGIL gil; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h index 49101d978..2d1931fcb 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #include "SlateBasics.h" #include "SlateExtras.h" @@ -15,8 +15,6 @@ #include "UnrealEdMisc.h" #endif -#include - #include "UEPySWidget.h" #include "UEPySCompoundWidget.h" @@ -75,6 +73,7 @@ #include "UEPyFKeyEvent.h" #include "UEPyFCharacterEvent.h" #include "UEPyFModifierKeysState.h" +#include "Wrappers/UEPyESlateEnums.h" #if WITH_EDITOR #include "UEPySEditorViewport.h" @@ -95,7 +94,7 @@ #include "Runtime/Core/Public/Misc/Attribute.h" #include "Runtime/Slate/Public/Framework/Application/SlateApplication.h" -#include "PythonDelegate.h" +#include "UEPySlateDelegate.h" PyObject *py_unreal_engine_get_editor_window(PyObject *, PyObject *); @@ -493,110 +492,3 @@ struct FPythonItem }; -class FPythonSlateDelegate : public FPythonSmartDelegate -{ - -public: - FReply OnMouseEvent(const FGeometry &geometry, const FPointerEvent &pointer_event); - FReply OnClicked(); - - FReply OnKeyDown(const FGeometry &geometry, const FKeyEvent &key_event); - void OnTextChanged(const FText &text); - void OnTextCommitted(const FText &text, ETextCommit::Type commit_type); - void OnInt32Changed(int32 value); - void OnInt32Committed(int32 value, ETextCommit::Type commit_type); - void OnFloatChanged(float value); - void OnFloatCommitted(float value, ETextCommit::Type commit_type); - void OnSort(const EColumnSortPriority::Type SortPriority, const FName& ColumnName, const EColumnSortMode::Type NewSortMode); - - void OnLinearColorChanged(FLinearColor color); - - void OnStringChanged(const FString &text); - - TSharedRef SpawnPythonTab(const FSpawnTabArgs& args); - - TSharedRef GenerateRow(TSharedPtr InItem, const TSharedRef& OwnerTable); - void GetChildren(TSharedPtr InItem, TArray>& OutChildren); - -#if WITH_EDITOR - void OnAssetDoubleClicked(const FAssetData& AssetData); - TSharedPtr OnGetAssetContextMenu(const TArray& SelectedAssets); - void OnAssetSelected(const FAssetData& AssetData); - TSharedRef OnExtendContentBrowserMenu(const TArray &SelectedAssets); - void MenuPyAssetBuilder(FMenuBuilder &Builder, TArray SelectedAssets); - void OnAssetChanged(const FAssetData &AssetData); - bool OnShouldFilterAsset(const FAssetData& AssetData); -#endif - - void OnWindowClosed(const TSharedRef &Window); - - TSharedPtr OnContextMenuOpening(); - TSharedRef OnGenerateWidget(TSharedPtr py_item); - TSharedRef OnGetMenuContent(); - void OnSelectionChanged(TSharedPtr py_item, ESelectInfo::Type select_type); - - void SimpleExecuteAction(); - void ExecuteAction(PyObject *py_obj); - - FText GetterFText() const; - FString GetterFString() const; - float GetterFloat() const; - TOptional GetterTFloat() const; - int GetterInt() const; - bool GetterBool() const; - - FVector2D GetterFVector2D() const; - FLinearColor GetterFLinearColor() const; - void CheckBoxChanged(ECheckBoxState state); - - - template T GetterIntT() const - { - FScopePythonGIL gil; - - PyObject *ret = PyObject_CallFunction(py_callable, nullptr); - if (!ret) - { - unreal_engine_py_log_error(); - return (T)0; - } - if (!PyNumber_Check(ret)) - { - PyErr_SetString(PyExc_ValueError, "returned value is not a number"); - Py_DECREF(ret); - return (T)0; - } - - PyObject *py_int = PyNumber_Long(ret); - int n = PyLong_AsLong(py_int); - Py_DECREF(py_int); - Py_DECREF(ret); - return (T)n; - } - - template T GetterStructT() const - { - FScopePythonGIL gil; - - PyObject *ret = PyObject_CallFunction(py_callable, nullptr); - if (!ret) - { - unreal_engine_py_log_error(); - return T(); - } - - T *u_struct = ue_py_check_struct(ret); - if (!u_struct) - { - PyErr_SetString(PyExc_ValueError, "returned value is not a UStruct"); - Py_DECREF(ret); - return T(); - } - - T u_struct_copy = *u_struct; - Py_DECREF(ret); - return u_struct_copy; - } -}; - - diff --git a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp index 337724e33..48697a66d 100644 --- a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp +++ b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp @@ -1,6 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPyFSlateApplication.h" diff --git a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.h b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.h index 8c9caa4f3..93e77440d 100644 --- a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.h +++ b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.h @@ -1,6 +1,6 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" typedef struct { diff --git a/Source/UnrealEnginePython/Private/UEPyAssetUserData.cpp b/Source/UnrealEnginePython/Private/UEPyAssetUserData.cpp index 1ca8e7d13..0742386d3 100644 --- a/Source/UnrealEnginePython/Private/UEPyAssetUserData.cpp +++ b/Source/UnrealEnginePython/Private/UEPyAssetUserData.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyAssetUserData.h" #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/UEPyAssetUserData.h b/Source/UnrealEnginePython/Private/UEPyAssetUserData.h index 9506d13c3..aa23fbb1d 100644 --- a/Source/UnrealEnginePython/Private/UEPyAssetUserData.h +++ b/Source/UnrealEnginePython/Private/UEPyAssetUserData.h @@ -2,9 +2,10 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #if WITH_EDITOR +#include "EditorFramework/AssetImportData.h" PyObject *py_ue_asset_import_data(ue_PyUObject *, PyObject *); PyObject *py_ue_asset_import_data_set_sources(ue_PyUObject *, PyObject *); #endif diff --git a/Source/UnrealEnginePython/Private/UEPyCallable.cpp b/Source/UnrealEnginePython/Private/UEPyCallable.cpp index 719b10e10..08841d239 100644 --- a/Source/UnrealEnginePython/Private/UEPyCallable.cpp +++ b/Source/UnrealEnginePython/Private/UEPyCallable.cpp @@ -1,23 +1,26 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyCallable.h" // destructor -static void ue_pycallable_dealloc(ue_PyCallable *self) { +static void ue_pycallable_dealloc(ue_PyCallable *self) +{ #if defined(UEPY_MEMORY_DEBUG) UE_LOG(LogPython, Warning, TEXT("Destroying ue_PyCallable %p mapped to UFunction %p"), self, self->u_function); #endif Py_TYPE(self)->tp_free((PyObject *)self); } -static PyObject* ue_pycallable_call(ue_PyCallable *self, PyObject *args, PyObject *kw) { +static PyObject* ue_pycallable_call(ue_PyCallable *self, PyObject *args, PyObject *kw) +{ if (!self->u_function || !self->u_target || !self->u_function->IsValidLowLevel() || !self->u_target->IsValidLowLevel() || self->u_function->IsPendingKillOrUnreachable() || - self->u_target->IsPendingKillOrUnreachable()) { + self->u_target->IsPendingKillOrUnreachable()) + { return PyErr_Format(PyExc_Exception, "UFunction/UObject is in invalid state for python callable"); } - + return py_ue_ufunction_call(self->u_function, self->u_target, args, 0, kw); } @@ -54,7 +57,8 @@ static PyTypeObject ue_PyCallableType = { 0, }; -void ue_python_init_callable(PyObject *ue_module) { +void ue_python_init_callable(PyObject *ue_module) +{ ue_PyCallableType.tp_new = PyType_GenericNew; if (PyType_Ready(&ue_PyCallableType) < 0) @@ -64,14 +68,16 @@ void ue_python_init_callable(PyObject *ue_module) { PyModule_AddObject(ue_module, "Callable", (PyObject *)&ue_PyCallableType); } -PyObject *py_ue_new_callable(UFunction *u_function, UObject *u_target) { +PyObject *py_ue_new_callable(UFunction *u_function, UObject *u_target) +{ ue_PyCallable *ret = (ue_PyCallable *)PyObject_New(ue_PyCallable, &ue_PyCallableType); ret->u_function = u_function; ret->u_target = u_target; return (PyObject *)ret; } -ue_PyCallable *py_ue_is_callable(PyObject *obj) { +ue_PyCallable *py_ue_is_callable(PyObject *obj) +{ if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyCallableType)) return nullptr; return (ue_PyCallable *)obj; diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index 50ff5b6d0..f2329bdf7 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -1,6 +1,7 @@ +#include "UEPyEditor.h" + #if WITH_EDITOR -#include "UnrealEnginePythonPrivatePCH.h" #include "Developer/AssetTools/Public/AssetToolsModule.h" #include "Editor/UnrealEd/Classes/Factories/Factory.h" @@ -28,6 +29,12 @@ #include "Developer/Settings/Public/ISettingsModule.h" #include "Engine/Blueprint.h" +#include "Wrappers/UEPyFARFilter.h" +#include "Wrappers/UEPyFVector.h" +#include "Wrappers/UEPyFAssetData.h" +#include "Wrappers/UEPyFEditorViewportClient.h" + +#include "UEPyIPlugin.h" PyObject *py_unreal_engine_editor_play_in_viewport(PyObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.h b/Source/UnrealEnginePython/Private/UEPyEditor.h index 36e24c6ad..56c42a18b 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.h +++ b/Source/UnrealEnginePython/Private/UEPyEditor.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index 9a9333a86..a8544b0cd 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -1,6 +1,6 @@ // Copyright 20Tab S.r.l. -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyEngine.h" #include "Kismet/KismetSystemLibrary.h" #include "Kismet/KismetMathLibrary.h" diff --git a/Source/UnrealEnginePython/Private/UEPyEnumsImporter.cpp b/Source/UnrealEnginePython/Private/UEPyEnumsImporter.cpp index a502e6325..eff16bae4 100644 --- a/Source/UnrealEnginePython/Private/UEPyEnumsImporter.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEnumsImporter.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyEnumsImporter.h" static PyObject *ue_PyEnumsImporter_getattro(ue_PyEnumsImporter *self, PyObject *attr_name) { diff --git a/Source/UnrealEnginePython/Private/UEPyEnumsImporter.h b/Source/UnrealEnginePython/Private/UEPyEnumsImporter.h index 3e4fddc28..03daf1d99 100644 --- a/Source/UnrealEnginePython/Private/UEPyEnumsImporter.h +++ b/Source/UnrealEnginePython/Private/UEPyEnumsImporter.h @@ -2,11 +2,12 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ + /* Type-specific fields go here. */ } ue_PyEnumsImporter; PyObject *py_ue_new_enumsimporter(); diff --git a/Source/UnrealEnginePython/Private/UEPyIPlugin.cpp b/Source/UnrealEnginePython/Private/UEPyIPlugin.cpp index bee1b113a..d178b3f83 100644 --- a/Source/UnrealEnginePython/Private/UEPyIPlugin.cpp +++ b/Source/UnrealEnginePython/Private/UEPyIPlugin.cpp @@ -1,8 +1,8 @@ +#include "UEPyIPlugin.h" #if WITH_EDITOR -#include "UnrealEnginePythonPrivatePCH.h" #include "Runtime/Projects/Public/Interfaces/IPluginManager.h" static PyObject *py_ue_iplugin_get_name(ue_PyIPlugin *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index a28d4fd84..1eeb5ca6f 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyModule.h" #include "UEPyEngine.h" #include "UEPyTimer.h" @@ -47,12 +47,61 @@ #include "Editor/BlueprintGraph/Public/BlueprintActionDatabase.h" #endif +#include "Wrappers/UEPyESlateEnums.h" + +#include "Wrappers/UEPyFVector.h" +#include "Wrappers/UEPyFHitResult.h" +#include "Wrappers/UEPyFRotator.h" +#include "Wrappers/UEPyFTransform.h" +#include "Wrappers/UEPyFColor.h" +#include "Wrappers/UEPyFLinearColor.h" +#include "Wrappers/UEPyFSocket.h" +#include "Wrappers/UEPyFQuat.h" + +#include "Wrappers/UEPyFRawAnimSequenceTrack.h" + +#include "Wrappers/UEPyFRandomStream.h" + +#include "Wrappers/UEPyFPythonOutputDevice.h" +#if WITH_EDITOR +#include "Wrappers/UEPyFSoftSkinVertex.h" +#endif +#include "Wrappers/UEPyFMorphTargetDelta.h" +#include "Wrappers/UEPyFObjectThumbnail.h" + +#include "Wrappers/UEPyFViewportClient.h" +#if WITH_EDITOR +#include "Wrappers/UEPyFEditorViewportClient.h" +#endif + +#include "UEPyCallable.h" +#include "UEPyUClassesImporter.h" +#include "UEPyEnumsImporter.h" +#include "UEPyUStructsImporter.h" + +#include "UEPyUScriptStruct.h" + +#if WITH_EDITOR +#include "Wrappers/UEPyFAssetData.h" +#include "Wrappers/UEPyFARFilter.h" +#include "Wrappers/UEPyFRawMesh.h" +#include "Wrappers/UEPyFStringAssetReference.h" +#include "UObject/UEPyAnimSequence.h" +#include "Blueprint/UEPyEdGraphPin.h" +#include "UEPyIPlugin.h" +#include "CollectionManager/UEPyICollectionManager.h" +#include "MaterialEditorUtilities/UEPyFMaterialEditorUtilities.h" +#endif + +#include "Slate/UEPySlate.h" +#include "Http/UEPyIHttp.h" +#include "ConsoleManager/UEPyIConsoleManager.h" +#include "SlateApplication/UEPyFSlateApplication.h" +#include "Voice/UEPyIVoiceCapture.h" -#include "PythonDelegate.h" #include "PythonFunction.h" #include "PythonClass.h" -#include "Slate/UEPySlate.h" #if ENGINE_MINOR_VERSION < 18 #define USoftObjectProperty UAssetObjectProperty @@ -1732,7 +1781,7 @@ void unreal_engine_py_log_error() } PyErr_Clear(); -} + } // retrieve a UWorld from a generic UObject (if possible) UWorld *ue_get_uworld(ue_PyUObject *py_obj) @@ -3108,7 +3157,7 @@ UFunction *unreal_engine_add_function(UClass *u_class, char *name, PyObject *py_ #endif return function; - } +} FGuid *ue_py_check_fguid(PyObject *py_obj) { diff --git a/Source/UnrealEnginePython/Private/UEPyModule.h b/Source/UnrealEnginePython/Private/UEPyModule.h index c6ef80e41..bd39595ca 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.h +++ b/Source/UnrealEnginePython/Private/UEPyModule.h @@ -4,26 +4,7 @@ #include "PythonDelegate.h" #include "PythonSmartDelegate.h" #include "UEPyUScriptStruct.h" - - - -//#include "UEPyModule.generated.h" - -typedef struct -{ - PyObject_HEAD - /* Type-specific fields go here. */ - UObject *ue_object; - // reference to proxy class (can be null) - PyObject *py_proxy; - // the __dict__ - PyObject *py_dict; - // if true RemoveFromRoot will be called at object destruction time - int auto_rooted; -} ue_PyUObject; - - - +#include "PythonHouseKeeper.h" void unreal_engine_py_log_error(); diff --git a/Source/UnrealEnginePython/Private/UEPySubclassing.cpp b/Source/UnrealEnginePython/Private/UEPySubclassing.cpp index a7e7f19ab..8939f046e 100644 --- a/Source/UnrealEnginePython/Private/UEPySubclassing.cpp +++ b/Source/UnrealEnginePython/Private/UEPySubclassing.cpp @@ -1,4 +1,6 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyModule.h" +#include "PythonClass.h" +#include "UObject/UEPyObject.h" int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *kwds) { diff --git a/Source/UnrealEnginePython/Private/UEPyTicker.cpp b/Source/UnrealEnginePython/Private/UEPyTicker.cpp index 73af0f7a5..25f558f49 100644 --- a/Source/UnrealEnginePython/Private/UEPyTicker.cpp +++ b/Source/UnrealEnginePython/Private/UEPyTicker.cpp @@ -1,4 +1,3 @@ -#include "UnrealEnginePythonPrivatePCH.h" #include "UEPyTicker.h" diff --git a/Source/UnrealEnginePython/Private/UEPyTicker.h b/Source/UnrealEnginePython/Private/UEPyTicker.h index 0972a3055..d63d0f11b 100644 --- a/Source/UnrealEnginePython/Private/UEPyTicker.h +++ b/Source/UnrealEnginePython/Private/UEPyTicker.h @@ -2,12 +2,13 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - FDelegateHandle dhandle; + /* Type-specific fields go here. */ + FDelegateHandle dhandle; bool garbaged; TSharedPtr delegate_ptr; } ue_PyFDelegateHandle; diff --git a/Source/UnrealEnginePython/Private/UEPyTimer.cpp b/Source/UnrealEnginePython/Private/UEPyTimer.cpp index f00a22b3c..78705ff56 100644 --- a/Source/UnrealEnginePython/Private/UEPyTimer.cpp +++ b/Source/UnrealEnginePython/Private/UEPyTimer.cpp @@ -1,4 +1,3 @@ -#include "UnrealEnginePythonPrivatePCH.h" #include "UEPyTimer.h" diff --git a/Source/UnrealEnginePython/Private/UEPyTimer.h b/Source/UnrealEnginePython/Private/UEPyTimer.h index aec770fae..db8631b3f 100644 --- a/Source/UnrealEnginePython/Private/UEPyTimer.h +++ b/Source/UnrealEnginePython/Private/UEPyTimer.h @@ -2,12 +2,14 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" +#include "Engine/EngineTypes.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - FTimerHandle thandle; + /* Type-specific fields go here. */ + FTimerHandle thandle; TWeakObjectPtr world; TSharedPtr delegate_ptr; } ue_PyFTimerHandle; diff --git a/Source/UnrealEnginePython/Private/UEPyUClassesImporter.cpp b/Source/UnrealEnginePython/Private/UEPyUClassesImporter.cpp index 1d2ee0a28..cf2f4b8b4 100644 --- a/Source/UnrealEnginePython/Private/UEPyUClassesImporter.cpp +++ b/Source/UnrealEnginePython/Private/UEPyUClassesImporter.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyUClassesImporter.h" static PyObject *ue_PyUClassesImporter_getattro(ue_PyUClassesImporter *self, PyObject *attr_name) { diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp index da8747bb1..cac103f1e 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp @@ -1,6 +1,6 @@ // Copyright 20Tab S.r.l. -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyUScriptStruct.h" static PyObject *py_ue_uscriptstruct_get_field(ue_PyUScriptStruct *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h index d7fcba2e2..8630ab43c 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h @@ -1,12 +1,12 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" typedef struct { PyObject_HEAD - /* Type-specific fields go here. */ - UScriptStruct *u_struct; + /* Type-specific fields go here. */ + UScriptStruct *u_struct; uint8 *data; // if 1, data points to un-owned memory int is_ptr; diff --git a/Source/UnrealEnginePython/Private/UEPyUStructsImporter.cpp b/Source/UnrealEnginePython/Private/UEPyUStructsImporter.cpp index 873824889..2df9d20fe 100644 --- a/Source/UnrealEnginePython/Private/UEPyUStructsImporter.cpp +++ b/Source/UnrealEnginePython/Private/UEPyUStructsImporter.cpp @@ -1,13 +1,18 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyUStructsImporter.h" -static PyObject *ue_PyUStructsImporter_getattro(ue_PyUStructsImporter *self, PyObject *attr_name) { +static PyObject *ue_PyUStructsImporter_getattro(ue_PyUStructsImporter *self, PyObject *attr_name) +{ PyObject *py_attr = PyObject_GenericGetAttr((PyObject *)self, attr_name); - if (!py_attr) { - if (PyUnicodeOrString_Check(attr_name)) { + if (!py_attr) + { + if (PyUnicodeOrString_Check(attr_name)) + { char *attr = PyUnicode_AsUTF8(attr_name); - if (attr[0] != '_') { + if (attr[0] != '_') + { UScriptStruct *u_struct = FindObject(ANY_PACKAGE, UTF8_TO_TCHAR(attr)); - if (u_struct) { + if (u_struct) + { // swallow old exception PyErr_Clear(); Py_RETURN_UOBJECT(u_struct); @@ -51,7 +56,8 @@ static PyTypeObject ue_PyUStructsImporterType = { 0, }; -void ue_python_init_ustructsimporter(PyObject *ue_module) { +void ue_python_init_ustructsimporter(PyObject *ue_module) +{ ue_PyUStructsImporterType.tp_new = PyType_GenericNew; if (PyType_Ready(&ue_PyUStructsImporterType) < 0) @@ -61,7 +67,8 @@ void ue_python_init_ustructsimporter(PyObject *ue_module) { PyModule_AddObject(ue_module, "UStructsImporter", (PyObject *)&ue_PyUStructsImporterType); } -PyObject *py_ue_new_ustructsimporter() { +PyObject *py_ue_new_ustructsimporter() +{ ue_PyUStructsImporter *ret = (ue_PyUStructsImporter *)PyObject_New(ue_PyUStructsImporter, &ue_PyUStructsImporterType); return (PyObject *)ret; } diff --git a/Source/UnrealEnginePython/Private/UEPyVisualLogger.cpp b/Source/UnrealEnginePython/Private/UEPyVisualLogger.cpp index 8ec49d0ae..b84d3357c 100644 --- a/Source/UnrealEnginePython/Private/UEPyVisualLogger.cpp +++ b/Source/UnrealEnginePython/Private/UEPyVisualLogger.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyVisualLogger.h" #include "Runtime/Engine/Public/VisualLogger/VisualLogger.h" diff --git a/Source/UnrealEnginePython/Private/UEPyVisualLogger.h b/Source/UnrealEnginePython/Private/UEPyVisualLogger.h index 4dff1740d..4a09f2252 100644 --- a/Source/UnrealEnginePython/Private/UEPyVisualLogger.h +++ b/Source/UnrealEnginePython/Private/UEPyVisualLogger.h @@ -2,7 +2,9 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" +#include "Wrappers/UEPyFVector.h" +#include "Wrappers/UEPyFcolor.h" PyObject *py_ue_vlog(ue_PyUObject *, PyObject *); PyObject *py_ue_vlog_cylinder(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp index 916bfa60f..6209b2ca5 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp @@ -1,9 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" - -#include "Runtime/LevelSequence/Public/LevelSequenceActor.h" -#include "Runtime/LevelSequence/Public/LevelSequence.h" -#include "PythonComponent.h" -#include "UEPyObject.h" +#include "UEPyActor.h" PyObject *py_ue_actor_has_tag(ue_PyUObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyActor.h b/Source/UnrealEnginePython/Private/UObject/UEPyActor.h index 5e46abbb1..2d8fb3690 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyActor.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyActor.h @@ -2,7 +2,18 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" +#include "EngineUtils.h" + +#include "Runtime/LevelSequence/Public/LevelSequenceActor.h" +#include "Runtime/LevelSequence/Public/LevelSequence.h" + +#include "PythonComponent.h" +#include "Kismet/GameplayStatics.h" +#include "Wrappers/UEPyFVector.h" +#include "Wrappers/UEPyFRotator.h" +#include "UObject/UEPyObject.h" +#include "UObject/UObjectThreadContext.h" PyObject *py_ue_actor_has_tag(ue_PyUObject *, PyObject *); PyObject *py_ue_actor_begin_play(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp index 215b0fb63..5478e0848 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp @@ -1,9 +1,8 @@ -#include "UnrealEnginePythonPrivatePCH.h" -#include "Animation/AnimSequence.h" -#include "Animation/BlendSpaceBase.h" -#include "Animation/AnimMontage.h" +#include "UEPyAnimSequence.h" -PyObject *py_ue_anim_get_skeleton(ue_PyUObject * self, PyObject * args) { + +PyObject *py_ue_anim_get_skeleton(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); UAnimationAsset *anim = ue_py_check_type(self); @@ -11,7 +10,8 @@ PyObject *py_ue_anim_get_skeleton(ue_PyUObject * self, PyObject * args) { return PyErr_Format(PyExc_Exception, "UObject is not a UAnimationAsset."); USkeleton *skeleton = anim->GetSkeleton(); - if (!skeleton) { + if (!skeleton) + { Py_RETURN_NONE; } @@ -21,7 +21,8 @@ PyObject *py_ue_anim_get_skeleton(ue_PyUObject * self, PyObject * args) { #if WITH_EDITOR #if ENGINE_MINOR_VERSION > 13 -PyObject *py_ue_anim_sequence_get_raw_animation_data(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_anim_sequence_get_raw_animation_data(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); UAnimSequence *anim_seq = ue_py_check_type(self); @@ -30,7 +31,8 @@ PyObject *py_ue_anim_sequence_get_raw_animation_data(ue_PyUObject * self, PyObje PyObject *py_list = PyList_New(0); - for (FRawAnimSequenceTrack rast : anim_seq->GetRawAnimationData()) { + for (FRawAnimSequenceTrack rast : anim_seq->GetRawAnimationData()) + { PyObject *py_item = py_ue_new_fraw_anim_sequence_track(rast); PyList_Append(py_list, py_item); Py_DECREF(py_item); @@ -39,7 +41,8 @@ PyObject *py_ue_anim_sequence_get_raw_animation_data(ue_PyUObject * self, PyObje return py_list; } -PyObject *py_ue_anim_sequence_get_raw_animation_track(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_anim_sequence_get_raw_animation_track(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); int index; @@ -56,7 +59,8 @@ PyObject *py_ue_anim_sequence_get_raw_animation_track(ue_PyUObject * self, PyObj return py_ue_new_fraw_anim_sequence_track(anim_seq->GetRawAnimationTrack(index)); } -PyObject *py_ue_anim_sequence_add_new_raw_track(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_anim_sequence_add_new_raw_track(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); char *name; @@ -70,12 +74,15 @@ PyObject *py_ue_anim_sequence_add_new_raw_track(ue_PyUObject * self, PyObject * FRawAnimSequenceTrack *rast = nullptr; - if (py_rast) { + if (py_rast) + { ue_PyFRawAnimSequenceTrack *py_f_rast = py_ue_is_fraw_anim_sequence_track(py_rast); - if (py_f_rast) { + if (py_f_rast) + { rast = &py_f_rast->raw_anim_sequence_track; } - else { + else + { return PyErr_Format(PyExc_Exception, "argument is not a FRawAnimSequenceTrack."); } } @@ -92,25 +99,27 @@ PyObject *py_ue_anim_sequence_add_new_raw_track(ue_PyUObject * self, PyObject * return PyLong_FromLong(index); } -PyObject *py_ue_add_anim_composite_section(ue_PyUObject * self, PyObject * args) { - ue_py_check(self); +PyObject *py_ue_add_anim_composite_section(ue_PyUObject * self, PyObject * args) +{ + ue_py_check(self); - char *name; - float time; - if (!PyArg_ParseTuple(args, "sf:add_anim_composite_section", &name, &time)) - return nullptr; + char *name; + float time; + if (!PyArg_ParseTuple(args, "sf:add_anim_composite_section", &name, &time)) + return nullptr; - UAnimMontage *anim = ue_py_check_type(self); - if (!anim) - return PyErr_Format(PyExc_Exception, "UObject is not a UAnimMontage."); + UAnimMontage *anim = ue_py_check_type(self); + if (!anim) + return PyErr_Format(PyExc_Exception, "UObject is not a UAnimMontage."); - return PyLong_FromLong(anim->AddAnimCompositeSection(FName(UTF8_TO_TCHAR(name)), time)); + return PyLong_FromLong(anim->AddAnimCompositeSection(FName(UTF8_TO_TCHAR(name)), time)); } #endif #endif -PyObject *py_ue_anim_set_skeleton(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_anim_set_skeleton(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); PyObject *py_skeleton; @@ -126,11 +135,12 @@ PyObject *py_ue_anim_set_skeleton(ue_PyUObject * self, PyObject * args) { return PyErr_Format(PyExc_Exception, "argument is not a USkeleton."); anim->SetSkeleton(skeleton); - + Py_RETURN_NONE; } -PyObject *py_ue_get_blend_parameter(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_get_blend_parameter(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); int index; @@ -149,7 +159,8 @@ PyObject *py_ue_get_blend_parameter(ue_PyUObject * self, PyObject * args) { return py_ue_new_uscriptstruct(FBlendParameter::StaticStruct(), (uint8 *)¶meter); } -PyObject *py_ue_set_blend_parameter(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_set_blend_parameter(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); int index; diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h index 4bae0606b..d106682d5 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h @@ -1,9 +1,12 @@ #pragma once +#include "UEPyModule.h" +#include "Animation/AnimSequence.h" +#include "Animation/BlendSpaceBase.h" +#include "Animation/AnimMontage.h" +#include "Wrappers/UEPyFRawAnimSequenceTrack.h" -#include "UnrealEnginePython.h" - PyObject *py_ue_anim_get_skeleton(ue_PyUObject *, PyObject *); #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAttaching.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyAttaching.cpp index 4fd21b6b0..c94dceab2 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAttaching.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAttaching.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyAttaching.h" diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAttaching.h b/Source/UnrealEnginePython/Private/UObject/UEPyAttaching.h index eaf1ffd25..be80e4cf6 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAttaching.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAttaching.h @@ -2,7 +2,8 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" +#include "Wrappers/UEPyFTransform.h" PyObject *py_ue_get_socket_location(ue_PyUObject *, PyObject *); PyObject *py_ue_get_socket_rotation(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAudio.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyAudio.cpp index 8f319db59..b9c677851 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAudio.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAudio.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyAudio.h" #include "Sound/SoundWaveProcedural.h" PyObject *py_ue_queue_audio(ue_PyUObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp index affd7f43a..e4735026a 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyCapture.h" #include "Runtime/MovieSceneCapture/Public/MovieSceneCapture.h" @@ -17,6 +17,8 @@ for a queue of UMovieSceneCapture objects #include "Slate/SceneViewport.h" #include "AutomatedLevelSequenceCapture.h" +#include "Slate/UEPySPythonEditorViewport.h" + struct FInEditorMultiCapture : TSharedFromThis { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.h b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.h index 1ef58340d..6049f3bb6 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.h @@ -1,7 +1,7 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_capture_initialize(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyController.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyController.cpp index 3dcd6e2a2..e172dfe7e 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyController.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyController.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyController.h" PyObject *py_ue_controller_posses(ue_PyUObject * self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyDataTable.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyDataTable.cpp index a41e4df26..11450d5b6 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyDataTable.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyDataTable.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyDataTable.h" #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyExporter.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyExporter.cpp index 3edbc509d..4f10efbdb 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyExporter.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyExporter.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyExporter.h" #include "Exporters/Exporter.h" diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyExporter.h b/Source/UnrealEnginePython/Private/UObject/UEPyExporter.h index 72eda9b35..32518724d 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyExporter.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyExporter.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_export_to_file(ue_PyUObject *, PyObject *); \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyHUD.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyHUD.cpp index fde17cb6f..981188001 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyHUD.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyHUD.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyHUD.h" #include "Runtime/Engine/Classes/GameFramework/HUD.h" PyObject *py_ue_hud_draw_2d_line(ue_PyUObject *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyHUD.h b/Source/UnrealEnginePython/Private/UObject/UEPyHUD.h index d39041f90..6153c09a5 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyHUD.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyHUD.h @@ -2,7 +2,8 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" +#include "Wrappers/UEPyFLinearColor.h" PyObject *py_ue_hud_draw_2d_line(ue_PyUObject *self, PyObject * args); PyObject *py_ue_hud_draw_line(ue_PyUObject *self, PyObject * args); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyInput.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyInput.cpp index 47578a83b..a5c8cf2ef 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyInput.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyInput.cpp @@ -1,4 +1,8 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyInput.h" + +#include "Kismet/GameplayStatics.h" +#include "Engine/World.h" +#include "GameFramework/PlayerInput.h" PyObject *py_ue_is_input_key_down(ue_PyUObject *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyInput.h b/Source/UnrealEnginePython/Private/UObject/UEPyInput.h index 169df1fc3..9e8481c16 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyInput.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyInput.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_is_input_key_down(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyLandscape.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyLandscape.cpp index 900c1434a..baa26a807 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyLandscape.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyLandscape.cpp @@ -1,8 +1,10 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyLandscape.h" #include "Runtime/Landscape/Classes/LandscapeProxy.h" #include "Runtime/Landscape/Classes/LandscapeInfo.h" #if WITH_EDITOR + +#include "Wrappers/UEPyFRawMesh.h" PyObject *py_ue_create_landscape_info(ue_PyUObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyLandscape.h b/Source/UnrealEnginePython/Private/UObject/UEPyLandscape.h index 84060a343..e9c7ab19e 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyLandscape.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyLandscape.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #if WITH_EDITOR PyObject *py_ue_create_landscape_info(ue_PyUObject *self, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp index 381e3ee6a..52796060f 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp @@ -1,12 +1,17 @@ +#include "UEPyMaterial.h" -#include "UnrealEnginePythonPrivatePCH.h" #if WITH_EDITOR #include "Editor/UnrealEd/Classes/MaterialGraph/MaterialGraph.h" #include "Editor/UnrealEd/Public/Kismet2/BlueprintEditorUtils.h" #include "Editor/UnrealEd/Classes/MaterialGraph/MaterialGraphSchema.h" #endif +#include "Materials/MaterialInstanceConstant.h" +#include "Materials/MaterialInstanceDynamic.h" +#include "Wrappers/UEPyFLinearColor.h" +#include "Wrappers/UEPyFVector.h" + PyObject *py_ue_set_material_scalar_parameter(ue_PyUObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.h b/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.h index a97a13082..06340efb2 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.h @@ -1,6 +1,6 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyMovements.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyMovements.cpp index 3ea892907..d325ddefe 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyMovements.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyMovements.cpp @@ -1,29 +1,43 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyMovements.h" +#include "Components/ActorComponent.h" +#include "GameFramework/Pawn.h" +#include "GameFramework/PlayerController.h" +#include "GameFramework/Character.h" +#include "Wrappers/UEPyFVector.h" +#include "Wrappers/UEPyFRotator.h" +#include "GameFramework/CharacterMovementComponent.h" -PyObject *py_ue_add_controller_yaw_input(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_add_controller_yaw_input(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); float val; - if (!PyArg_ParseTuple(args, "f:add_controller_yaw_input", &val)) { + if (!PyArg_ParseTuple(args, "f:add_controller_yaw_input", &val)) + { return NULL; } APawn *pawn = nullptr; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { pawn = (APawn *)self->ue_object; } - else if (UActorComponent *component = ue_py_check_type(self)) { + else if (UActorComponent *component = ue_py_check_type(self)) + { AActor *actor = component->GetOwner(); - if (actor) { - if (actor->IsA()) { + if (actor) + { + if (actor->IsA()) + { pawn = (APawn *)actor; } } } - else if (APlayerController *player = ue_py_check_type(self)) { + else if (APlayerController *player = ue_py_check_type(self)) + { player->AddYawInput(val); Py_RETURN_NONE; } @@ -36,30 +50,37 @@ PyObject *py_ue_add_controller_yaw_input(ue_PyUObject *self, PyObject * args) { Py_RETURN_NONE; } -PyObject *py_ue_add_controller_pitch_input(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_add_controller_pitch_input(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); float val; - if (!PyArg_ParseTuple(args, "f:add_controller_pitch_input", &val)) { + if (!PyArg_ParseTuple(args, "f:add_controller_pitch_input", &val)) + { return NULL; } APawn *pawn = nullptr; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { pawn = (APawn *)self->ue_object; } - else if (self->ue_object->IsA()) { + else if (self->ue_object->IsA()) + { UActorComponent *component = (UActorComponent *)self->ue_object; AActor *actor = component->GetOwner(); - if (actor) { - if (actor->IsA()) { + if (actor) + { + if (actor->IsA()) + { pawn = (APawn *)actor; } } } - else if (APlayerController *player = ue_py_check_type(self)) { + else if (APlayerController *player = ue_py_check_type(self)) + { player->AddPitchInput(val); Py_RETURN_NONE; } @@ -72,29 +93,36 @@ PyObject *py_ue_add_controller_pitch_input(ue_PyUObject *self, PyObject * args) Py_RETURN_NONE; } -PyObject *py_ue_add_controller_roll_input(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_add_controller_roll_input(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); float val; - if (!PyArg_ParseTuple(args, "f:add_controller_roll_input", &val)) { + if (!PyArg_ParseTuple(args, "f:add_controller_roll_input", &val)) + { return NULL; } APawn *pawn = nullptr; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { pawn = (APawn *)self->ue_object; } - else if (UActorComponent *component = ue_py_check_type(self)) { + else if (UActorComponent *component = ue_py_check_type(self)) + { AActor *actor = component->GetOwner(); - if (actor) { - if (actor->IsA()) { + if (actor) + { + if (actor->IsA()) + { pawn = (APawn *)actor; } } } - else if (APlayerController *player = ue_py_check_type(self)) { + else if (APlayerController *player = ue_py_check_type(self)) + { player->AddRollInput(val); Py_RETURN_NONE; } @@ -107,7 +135,8 @@ PyObject *py_ue_add_controller_roll_input(ue_PyUObject *self, PyObject * args) { Py_RETURN_NONE; } -PyObject *py_ue_add_movement_input(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_add_movement_input(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -115,24 +144,30 @@ PyObject *py_ue_add_movement_input(ue_PyUObject *self, PyObject * args) { float scale = 1; PyObject *py_force = nullptr; bool force = false; - if (!PyArg_ParseTuple(args, "O|fO:add_movement_input", &py_obj_movement, &scale, &py_force)) { + if (!PyArg_ParseTuple(args, "O|fO:add_movement_input", &py_obj_movement, &scale, &py_force)) + { return NULL; } - if (py_force && PyObject_IsTrue(py_force)) { + if (py_force && PyObject_IsTrue(py_force)) + { force = true; } APawn *pawn = nullptr; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { pawn = (APawn *)self->ue_object; } - else if (self->ue_object->IsA()) { + else if (self->ue_object->IsA()) + { UActorComponent *component = (UActorComponent *)self->ue_object; AActor *actor = component->GetOwner(); - if (actor) { - if (actor->IsA()) { + if (actor) + { + if (actor->IsA()) + { pawn = (APawn *)actor; } } @@ -152,20 +187,25 @@ PyObject *py_ue_add_movement_input(ue_PyUObject *self, PyObject * args) { return Py_None; } -PyObject *py_ue_get_control_rotation(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_get_control_rotation(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); APawn *pawn = nullptr; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { pawn = (APawn *)self->ue_object; } - else if (self->ue_object->IsA()) { + else if (self->ue_object->IsA()) + { UActorComponent *component = (UActorComponent *)self->ue_object; AActor *actor = component->GetOwner(); - if (actor) { - if (actor->IsA()) { + if (actor) + { + if (actor->IsA()) + { pawn = (APawn *)actor; } } @@ -178,20 +218,25 @@ PyObject *py_ue_get_control_rotation(ue_PyUObject *self, PyObject * args) { return py_ue_new_frotator(rot); } -PyObject *py_ue_jump(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_jump(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); ACharacter *character = nullptr; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { character = (ACharacter *)self->ue_object; } - else if (self->ue_object->IsA()) { + else if (self->ue_object->IsA()) + { UActorComponent *component = (UActorComponent *)self->ue_object; AActor *actor = component->GetOwner(); - if (actor) { - if (actor->IsA()) { + if (actor) + { + if (actor->IsA()) + { character = (ACharacter *)actor; } } @@ -206,20 +251,25 @@ PyObject *py_ue_jump(ue_PyUObject *self, PyObject * args) { return Py_None; } -PyObject *py_ue_crouch(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_crouch(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); ACharacter *character = nullptr; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { character = (ACharacter *)self->ue_object; } - else if (self->ue_object->IsA()) { + else if (self->ue_object->IsA()) + { UActorComponent *component = (UActorComponent *)self->ue_object; AActor *actor = component->GetOwner(); - if (actor) { - if (actor->IsA()) { + if (actor) + { + if (actor->IsA()) + { character = (ACharacter *)actor; } } @@ -234,20 +284,25 @@ PyObject *py_ue_crouch(ue_PyUObject *self, PyObject * args) { return Py_None; } -PyObject *py_ue_stop_jumping(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_stop_jumping(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); ACharacter *character = nullptr; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { character = (ACharacter *)self->ue_object; } - else if (self->ue_object->IsA()) { + else if (self->ue_object->IsA()) + { UActorComponent *component = (UActorComponent *)self->ue_object; AActor *actor = component->GetOwner(); - if (actor) { - if (actor->IsA()) { + if (actor) + { + if (actor->IsA()) + { character = (ACharacter *)actor; } } @@ -262,20 +317,25 @@ PyObject *py_ue_stop_jumping(ue_PyUObject *self, PyObject * args) { return Py_None; } -PyObject *py_ue_uncrouch(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_uncrouch(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); ACharacter *character = nullptr; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { character = (ACharacter *)self->ue_object; } - else if (self->ue_object->IsA()) { + else if (self->ue_object->IsA()) + { UActorComponent *component = (UActorComponent *)self->ue_object; AActor *actor = component->GetOwner(); - if (actor) { - if (actor->IsA()) { + if (actor) + { + if (actor->IsA()) + { character = (ACharacter *)actor; } } @@ -291,7 +351,8 @@ PyObject *py_ue_uncrouch(ue_PyUObject *self, PyObject * args) { } -PyObject *py_ue_launch(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_launch(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -300,20 +361,25 @@ PyObject *py_ue_launch(ue_PyUObject *self, PyObject * args) { PyObject *py_z_override = nullptr; bool xy_override = false; bool z_override; - if (!PyArg_ParseTuple(args, "O|OO:launch", &py_obj_force, &py_xy_override, &z_override)) { + if (!PyArg_ParseTuple(args, "O|OO:launch", &py_obj_force, &py_xy_override, &z_override)) + { return NULL; } ACharacter *character = nullptr; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { character = (ACharacter *)self->ue_object; } - else if (self->ue_object->IsA()) { + else if (self->ue_object->IsA()) + { UActorComponent *component = (UActorComponent *)self->ue_object; AActor *actor = component->GetOwner(); - if (actor) { - if (actor->IsA()) { + if (actor) + { + if (actor->IsA()) + { character = (ACharacter *)actor; } } @@ -322,11 +388,13 @@ PyObject *py_ue_launch(ue_PyUObject *self, PyObject * args) { if (!character) return PyErr_Format(PyExc_Exception, "uobject is not a character"); - if (py_xy_override && PyObject_IsTrue(py_xy_override)) { + if (py_xy_override && PyObject_IsTrue(py_xy_override)) + { xy_override = true; } - if (py_z_override && PyObject_IsTrue(py_z_override)) { + if (py_z_override && PyObject_IsTrue(py_z_override)) + { z_override = true; } @@ -341,20 +409,25 @@ PyObject *py_ue_launch(ue_PyUObject *self, PyObject * args) { return Py_None; } -PyObject *py_ue_is_jumping(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_is_jumping(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); ACharacter *character = nullptr; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { character = (ACharacter *)self->ue_object; } - else if (self->ue_object->IsA()) { + else if (self->ue_object->IsA()) + { UActorComponent *component = (UActorComponent *)self->ue_object; AActor *actor = component->GetOwner(); - if (actor) { - if (actor->IsA()) { + if (actor) + { + if (actor->IsA()) + { character = (ACharacter *)actor; } } @@ -363,7 +436,8 @@ PyObject *py_ue_is_jumping(ue_PyUObject *self, PyObject * args) { if (!character) return PyErr_Format(PyExc_Exception, "uobject is not a character"); - if (character->IsJumpProvidingForce()) { + if (character->IsJumpProvidingForce()) + { Py_INCREF(Py_True); return Py_True; } @@ -372,20 +446,25 @@ PyObject *py_ue_is_jumping(ue_PyUObject *self, PyObject * args) { return Py_False; } -PyObject *py_ue_is_crouched(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_is_crouched(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); ACharacter *character = nullptr; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { character = (ACharacter *)self->ue_object; } - else if (self->ue_object->IsA()) { + else if (self->ue_object->IsA()) + { UActorComponent *component = (UActorComponent *)self->ue_object; AActor *actor = component->GetOwner(); - if (actor) { - if (actor->IsA()) { + if (actor) + { + if (actor->IsA()) + { character = (ACharacter *)actor; } } @@ -394,7 +473,8 @@ PyObject *py_ue_is_crouched(ue_PyUObject *self, PyObject * args) { if (!character) return PyErr_Format(PyExc_Exception, "uobject is not a character"); - if (character->bIsCrouched) { + if (character->bIsCrouched) + { Py_INCREF(Py_True); return Py_True; } @@ -403,20 +483,25 @@ PyObject *py_ue_is_crouched(ue_PyUObject *self, PyObject * args) { return Py_False; } -PyObject *py_ue_is_falling(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_is_falling(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); ACharacter *character = nullptr; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { character = (ACharacter *)self->ue_object; } - else if (self->ue_object->IsA()) { + else if (self->ue_object->IsA()) + { UActorComponent *component = (UActorComponent *)self->ue_object; AActor *actor = component->GetOwner(); - if (actor) { - if (actor->IsA()) { + if (actor) + { + if (actor->IsA()) + { character = (ACharacter *)actor; } } @@ -426,9 +511,11 @@ PyObject *py_ue_is_falling(ue_PyUObject *self, PyObject * args) { return PyErr_Format(PyExc_Exception, "uobject is not a character"); UMovementComponent *movement = character->GetMovementComponent(); - if (movement && movement->IsA()) { + if (movement && movement->IsA()) + { UCharacterMovementComponent *character_movement = (UCharacterMovementComponent *)movement; - if (character_movement->IsFalling()) { + if (character_movement->IsFalling()) + { Py_INCREF(Py_True); return Py_True; } @@ -438,20 +525,25 @@ PyObject *py_ue_is_falling(ue_PyUObject *self, PyObject * args) { return Py_False; } -PyObject *py_ue_is_flying(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_is_flying(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); ACharacter *character = nullptr; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { character = (ACharacter *)self->ue_object; } - else if (self->ue_object->IsA()) { + else if (self->ue_object->IsA()) + { UActorComponent *component = (UActorComponent *)self->ue_object; AActor *actor = component->GetOwner(); - if (actor) { - if (actor->IsA()) { + if (actor) + { + if (actor->IsA()) + { character = (ACharacter *)actor; } } @@ -461,9 +553,11 @@ PyObject *py_ue_is_flying(ue_PyUObject *self, PyObject * args) { return PyErr_Format(PyExc_Exception, "uobject is not a character"); UMovementComponent *movement = character->GetMovementComponent(); - if (movement && movement->IsA()) { + if (movement && movement->IsA()) + { UCharacterMovementComponent *character_movement = (UCharacterMovementComponent *)movement; - if (character_movement->IsFlying()) { + if (character_movement->IsFlying()) + { Py_INCREF(Py_True); return Py_True; } @@ -473,20 +567,25 @@ PyObject *py_ue_is_flying(ue_PyUObject *self, PyObject * args) { return Py_False; } -PyObject *py_ue_can_jump(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_can_jump(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); ACharacter *character = nullptr; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { character = (ACharacter *)self->ue_object; } - else if (self->ue_object->IsA()) { + else if (self->ue_object->IsA()) + { UActorComponent *component = (UActorComponent *)self->ue_object; AActor *actor = component->GetOwner(); - if (actor) { - if (actor->IsA()) { + if (actor) + { + if (actor->IsA()) + { character = (ACharacter *)actor; } } @@ -495,7 +594,8 @@ PyObject *py_ue_can_jump(ue_PyUObject *self, PyObject * args) { if (!character) return PyErr_Format(PyExc_Exception, "uobject is not a character"); - if (character->CanJump()) { + if (character->CanJump()) + { Py_INCREF(Py_True); return Py_True; } @@ -504,20 +604,25 @@ PyObject *py_ue_can_jump(ue_PyUObject *self, PyObject * args) { return Py_False; } -PyObject *py_ue_can_crouch(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_can_crouch(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); ACharacter *character = nullptr; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { character = (ACharacter *)self->ue_object; } - else if (self->ue_object->IsA()) { + else if (self->ue_object->IsA()) + { UActorComponent *component = (UActorComponent *)self->ue_object; AActor *actor = component->GetOwner(); - if (actor) { - if (actor->IsA()) { + if (actor) + { + if (actor->IsA()) + { character = (ACharacter *)actor; } } @@ -526,7 +631,8 @@ PyObject *py_ue_can_crouch(ue_PyUObject *self, PyObject * args) { if (!character) return PyErr_Format(PyExc_Exception, "uobject is not a character"); - if (character->CanCrouch()) { + if (character->CanCrouch()) + { Py_INCREF(Py_True); return Py_True; } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyMovements.h b/Source/UnrealEnginePython/Private/UObject/UEPyMovements.h index 13729feb3..4b597660b 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyMovements.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyMovements.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_add_controller_yaw_input(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyNavigation.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyNavigation.cpp index 859475fc3..5a158f87a 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyNavigation.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyNavigation.cpp @@ -1,6 +1,6 @@ -#include "UnrealEnginePythonPrivatePCH.h" - +#include "UEPyNavigation.h" +#include "AI/Navigation/NavigationSystem.h" PyObject *py_ue_simple_move_to_location(ue_PyUObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyNavigation.h b/Source/UnrealEnginePython/Private/UObject/UEPyNavigation.h index f09f464a6..48e0cc497 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyNavigation.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyNavigation.h @@ -2,6 +2,6 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_simple_move_to_location(ue_PyUObject *, PyObject *); \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp index 3f8444a49..742ec4adc 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyObject.h" #include "PythonDelegate.h" #include "PythonFunction.h" @@ -8,6 +8,8 @@ #include "ObjectTools.h" #include "UnrealEd.h" #include "Runtime/Core/Public/HAL/FeedbackContextAnsi.h" + +#include "Wrappers/UEPyFObjectThumbnail.h" #endif PyObject *py_ue_get_class(ue_PyUObject * self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyPackage.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyPackage.cpp index 26c0ed481..30312f2fd 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyPackage.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyPackage.cpp @@ -1,10 +1,12 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyPackage.h" -PyObject *py_ue_package_is_dirty(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_package_is_dirty(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not an UPackage"); } UPackage *package = (UPackage *)self->ue_object; @@ -13,18 +15,21 @@ PyObject *py_ue_package_is_dirty(ue_PyUObject *self, PyObject * args) { Py_RETURN_FALSE; } -PyObject *py_ue_package_get_filename(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_package_get_filename(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); - if (!self->ue_object->IsA()) { + if (!self->ue_object->IsA()) + { return PyErr_Format(PyExc_Exception, "uobject is not an UPackage"); } - + UPackage *package = (UPackage *)self->ue_object; return PyUnicode_FromString(TCHAR_TO_UTF8(*package->FileName.ToString())); } -PyObject *py_ue_package_make_unique_object_name(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_package_make_unique_object_name(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyPawn.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyPawn.cpp index 9a2f8124f..cbeafe0a0 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyPawn.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyPawn.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyPawn.h" PyObject *py_ue_pawn_get_controller(ue_PyUObject * self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyPhysics.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyPhysics.cpp index 4abfde503..fc3a88cd7 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyPhysics.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyPhysics.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyPhysics.h" #if ENGINE_MINOR_VERSION >= 18 #include "Runtime/Engine/Public/DestructibleInterface.h" diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyPhysics.h b/Source/UnrealEnginePython/Private/UObject/UEPyPhysics.h index 853068e41..2932a20e3 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyPhysics.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyPhysics.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_set_simulate_physics(ue_PyUObject *, PyObject *); PyObject *py_ue_add_impulse(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyPlayer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyPlayer.cpp index 745c1f426..15ca2e6a5 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyPlayer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyPlayer.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyPlayer.h" PyObject *py_ue_get_player_controller(ue_PyUObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyPlayer.h b/Source/UnrealEnginePython/Private/UObject/UEPyPlayer.h index 09a342a08..62422e83a 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyPlayer.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyPlayer.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_create_player(ue_PyUObject *, PyObject *); PyObject *py_ue_get_num_players(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index 46ac552d9..fee163e55 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPySequencer.h" #include "Runtime/MovieScene/Public/MovieScene.h" #include "Runtime/MovieScene/Public/MovieScenePossessable.h" diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp index 00dd975f0..2c5ce2800 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp @@ -1,8 +1,10 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPySkeletal.h" #include "Runtime/Engine/Public/ComponentReregisterContext.h" #if WITH_EDITOR #include "Developer/MeshUtilities/Public/MeshUtilities.h" +#include "Wrappers/UEPyFMorphTargetDelta.h" +#include "Wrappers/UEPyFSoftSkinVertex.h" #if ENGINE_MINOR_VERSION > 18 #include "Runtime/Engine/Public/Rendering/SkeletalMeshModel.h" #endif diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.h b/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.h index e40a40f49..3b32e9e03 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_get_anim_instance(ue_PyUObject *, PyObject *); PyObject *py_ue_set_skeletal_mesh(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySpline.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySpline.cpp index 77cd215a4..e0142e011 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySpline.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySpline.cpp @@ -1,23 +1,27 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPySpline.h" #include "Components/SplineComponent.h" -PyObject *py_ue_get_spline_length(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_get_spline_length(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); USplineComponent *spline = nullptr; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { spline = (USplineComponent *)self->ue_object; } - else { + else + { return PyErr_Format(PyExc_Exception, "uobject is not a USplineComponent"); } - if (!spline) { + if (!spline) + { return PyErr_Format(PyExc_Exception, "unable to get spline object"); } @@ -25,29 +29,34 @@ PyObject *py_ue_get_spline_length(ue_PyUObject * self, PyObject * args) { } -PyObject *py_ue_get_world_location_at_distance_along_spline(ue_PyUObject * self, PyObject * args) { +PyObject *py_ue_get_world_location_at_distance_along_spline(ue_PyUObject * self, PyObject * args) +{ ue_py_check(self); float distance = 0; - if (!PyArg_ParseTuple(args, "f:get_world_location_at_distance_along_spline", &distance)) { + if (!PyArg_ParseTuple(args, "f:get_world_location_at_distance_along_spline", &distance)) + { return NULL; } USplineComponent *spline = nullptr; - if (self->ue_object->IsA()) { + if (self->ue_object->IsA()) + { spline = (USplineComponent *)self->ue_object; } - else { + else + { return PyErr_Format(PyExc_Exception, "uobject is not a USplineComponent"); } - if (!spline) { + if (!spline) + { return PyErr_Format(PyExc_Exception, "unable to get spline object"); } - - + + FVector location = spline->GetWorldLocationAtDistanceAlongSpline(distance); return py_ue_new_fvector(location); } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySpline.h b/Source/UnrealEnginePython/Private/UObject/UEPySpline.h index 5fb9d747c..27f686c3b 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySpline.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPySpline.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_get_spline_length(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyStaticMesh.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyStaticMesh.cpp index 350a0b3fe..a665caa78 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyStaticMesh.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyStaticMesh.cpp @@ -1,15 +1,16 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyStaticMesh.h" #if WITH_EDITOR -PyObject *py_ue_static_mesh_build(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_static_mesh_build(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); UStaticMesh *mesh = ue_py_check_type(self); if (!mesh) return PyErr_Format(PyExc_Exception, "uobject is not a UStaticMesh"); - + #if ENGINE_MINOR_VERSION > 13 mesh->ImportVersion = EImportStaticMeshVersion::LastVersion; #endif @@ -18,7 +19,8 @@ PyObject *py_ue_static_mesh_build(ue_PyUObject *self, PyObject * args) { Py_RETURN_NONE; } -PyObject *py_ue_static_mesh_create_body_setup(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_static_mesh_create_body_setup(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -31,7 +33,8 @@ PyObject *py_ue_static_mesh_create_body_setup(ue_PyUObject *self, PyObject * arg Py_RETURN_NONE; } -PyObject *py_ue_static_mesh_get_raw_mesh(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_static_mesh_get_raw_mesh(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyStaticMesh.h b/Source/UnrealEnginePython/Private/UObject/UEPyStaticMesh.h index ae17a44e5..cb85c9b08 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyStaticMesh.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyStaticMesh.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #if WITH_EDITOR PyObject *py_ue_static_mesh_build(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp index 52ec3c289..149f830a9 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyTexture.h" #include "Runtime/Engine/Public/ImageUtils.h" #include "Runtime/Engine/Classes/Engine/Texture.h" diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyTexture.h b/Source/UnrealEnginePython/Private/UObject/UEPyTexture.h index 6bdc09f89..449a623f4 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyTexture.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyTexture.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_texture_get_data(ue_PyUObject *, PyObject *); PyObject *py_ue_render_target_get_data(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyTraceAndSweep.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyTraceAndSweep.cpp index 3b399cd3c..da03926a3 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyTraceAndSweep.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyTraceAndSweep.cpp @@ -1,6 +1,7 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyTraceAndSweep.h" #include "Kismet/KismetSystemLibrary.h" +#include "Wrappers/UEPyFHitResult.h" PyObject *py_ue_line_trace_single_by_channel(ue_PyUObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyTraceAndSweep.h b/Source/UnrealEnginePython/Private/UObject/UEPyTraceAndSweep.h index 4f4c4f0e9..f5f255757 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyTraceAndSweep.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyTraceAndSweep.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_line_trace_single_by_channel(ue_PyUObject *, PyObject *); PyObject *py_ue_line_trace_multi_by_channel(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyTransform.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyTransform.cpp index d6f2041da..cd7bc790a 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyTransform.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyTransform.cpp @@ -1,4 +1,7 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyTransform.h" + +#include "Wrappers/UEPyFVector.h" +#include "Wrappers/UEPyFHitResult.h" static bool check_vector_args(PyObject *args, FVector &vec, bool &sweep, bool &teleport_physics) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyUserDefinedStruct.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyUserDefinedStruct.cpp index ddfda0edd..75cedf6e6 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyUserDefinedStruct.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyUserDefinedStruct.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyUserDefinedStruct.h" #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp index bceba077f..42481d794 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyViewport.h" #if WITH_EDITOR #include "LevelEditor.h" diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyWidget.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyWidget.cpp index bac67a6d8..5244bf162 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyWidget.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyWidget.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyWidget.h" #include "Runtime/UMG/Public/Components/Widget.h" diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyWidget.h b/Source/UnrealEnginePython/Private/UObject/UEPyWidget.h index c08e02e71..d257ef8de 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyWidget.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyWidget.h @@ -1,7 +1,7 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_take_widget(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.cpp index a973a8b2d..e69d7636e 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyWidgetComponent.h" #include "Runtime/UMG/Public/Components/WidgetComponent.h" diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.h b/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.h index f9f3440be..485491478 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.h @@ -1,7 +1,7 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_set_slate_widget(ue_PyUObject *, PyObject *); \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp index fa58027fa..26a39195d 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp @@ -1,8 +1,6 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyWorld.h" + -#include "Runtime/Engine/Classes/Kismet/KismetSystemLibrary.h" -#include "Runtime/Foliage/Public/FoliageType.h" -#include "Runtime/Foliage/Public/InstancedFoliageActor.h" PyObject *py_ue_world_exec(ue_PyUObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyWorld.h b/Source/UnrealEnginePython/Private/UObject/UEPyWorld.h index 47cde2bfc..f83035721 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyWorld.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyWorld.h @@ -1,9 +1,11 @@ #pragma once +#include "UEPyModule.h" +#include "Runtime/Engine/Classes/Kismet/KismetSystemLibrary.h" +#include "Runtime/Foliage/Public/FoliageType.h" +#include "Runtime/Foliage/Public/InstancedFoliageActor.h" -#include "UnrealEnginePython.h" - PyObject *py_ue_quit_game(ue_PyUObject *, PyObject *); PyObject *py_ue_play(ue_PyUObject *, PyObject *); PyObject *py_ue_world_exec(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 75c50e3c1..2d62d00cd 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -1,12 +1,16 @@ -// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. +// Copyright 20Tab S.r.l. -#include "UnrealEnginePythonPrivatePCH.h" +#include "UnrealEnginePython.h" #include "PythonBlueprintFunctionLibrary.h" #include "HAL/IConsoleManager.h" +#include "HAL/PlatformFilemanager.h" #if ENGINE_MINOR_VERSION < 13 #include "ClassIconFinder.h" #endif +#include "Styling/SlateStyleRegistry.h" +#include "Interfaces/IPluginManager.h" + #if ENGINE_MINOR_VERSION >= 18 #define PROJECT_CONTENT_DIR FPaths::ProjectContentDir() #else @@ -82,7 +86,7 @@ bool FUnrealEnginePythonModule::PythonGILAcquire() return false; #endif return true; - } +} void FUnrealEnginePythonModule::UESetupPythonInterpreter(bool verbose) { @@ -209,7 +213,7 @@ void FUnrealEnginePythonModule::StartupModule() #endif FPlatformMisc::SetEnvironmentVar(TEXT("PYTHONHOME"), *PythonHome); Py_SetPythonHome(home); -} + } if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("RelativeHome"), PythonHome, GEngineIni)) { @@ -223,7 +227,7 @@ void FUnrealEnginePythonModule::StartupModule() #endif Py_SetPythonHome(home); -} + } FString IniValue; if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("ProgramName"), IniValue, GEngineIni)) @@ -332,7 +336,7 @@ void FUnrealEnginePythonModule::StartupModule() PathVars.Append(OurPythonPaths); FString ModifiedPath = FString::Join(PathVars, PathDelimiter); FPlatformMisc::SetEnvironmentVar(TEXT("PATH"), *ModifiedPath); - } + } #if PY_MAJOR_VERSION >= 3 init_unreal_engine_builtin(); @@ -373,7 +377,7 @@ void FUnrealEnginePythonModule::StartupModule() // release the GIL PythonGILRelease(); - } +} void FUnrealEnginePythonModule::ShutdownModule() { @@ -469,7 +473,7 @@ void FUnrealEnginePythonModule::RunStringSandboxed(char *str) Py_EndInterpreter(py_new_state); PyThreadState_Swap(_main); return; -} + } PyObject *global_dict = PyModule_GetDict(m); PyObject *eval_ret = PyRun_String(str, Py_file_input, global_dict, global_dict); diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h b/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h deleted file mode 100644 index 43f76dc8c..000000000 --- a/Source/UnrealEnginePython/Private/UnrealEnginePythonPrivatePCH.h +++ /dev/null @@ -1,120 +0,0 @@ -// Copyright 20Tab S.r.l. - -#pragma once - -//#define UEPY_MEMORY_DEBUG 1 -//#define UEPY_THREADING 1 - -#include "UnrealEnginePython.h" - -// You should place include statements to your module's private header files here. You only need to -// add includes for headers that are used in most of your module's source files though. - -#include "Engine.h" -#if WITH_EDITOR -#include "Editor.h" -#endif - -#include "Runtime/Launch/Resources/Version.h" - - -#if defined(UNREAL_ENGINE_PYTHON_ON_MAC) -#include -#include -#elif defined(UNREAL_ENGINE_PYTHON_ON_LINUX) -#include -#include -#else -#include -#include -#endif - -#include "UEPyModule.h" - -#include "Wrappers/UEPyESlateEnums.h" - -#include "Wrappers/UEPyFVector.h" -#include "Wrappers/UEPyFHitResult.h" -#include "Wrappers/UEPyFRotator.h" -#include "Wrappers/UEPyFTransform.h" -#include "Wrappers/UEPyFColor.h" -#include "Wrappers/UEPyFLinearColor.h" -#include "Wrappers/UEPyFSocket.h" -#include "Wrappers/UEPyFQuat.h" - -#include "Wrappers/UEPyFRawAnimSequenceTrack.h" - -#include "Wrappers/UEPyFRandomStream.h" - -#include "Wrappers/UEPyFPythonOutputDevice.h" -#if WITH_EDITOR -#include "Wrappers/UEPyFSoftSkinVertex.h" -#endif -#include "Wrappers/UEPyFMorphTargetDelta.h" -#include "Wrappers/UEPyFObjectThumbnail.h" - -#include "Wrappers/UEPyFViewportClient.h" -#if WITH_EDITOR -#include "Wrappers/UEPyFEditorViewportClient.h" -#endif - -#include "UEPyCallable.h" -#include "UEPyUClassesImporter.h" -#include "UEPyEnumsImporter.h" -#include "UEPyUStructsImporter.h" - -#include "UEPyUScriptStruct.h" - -#if WITH_EDITOR -#include "Wrappers/UEPyFAssetData.h" -#include "Wrappers/UEPyFARFilter.h" -#include "Wrappers/UEPyFRawMesh.h" -#include "Wrappers/UEPyFStringAssetReference.h" -#include "UObject/UEPyAnimSequence.h" -#include "Blueprint/UEPyEdGraphPin.h" -#include "UEPyIPlugin.h" -#include "CollectionManager/UEPyICollectionManager.h" -#include "MaterialEditorUtilities/UEPyFMaterialEditorUtilities.h" -#endif - -#include "Slate/UEPySlate.h" -#include "Http/UEPyIHttp.h" -#include "ConsoleManager/UEPyIConsoleManager.h" -#include "SlateApplication/UEPyFSlateApplication.h" -#include "Voice/UEPyIVoiceCapture.h" - -#include "PythonHouseKeeper.h" - - -#define ue_py_check(py_u) if (!FUnrealEnginePythonHouseKeeper::Get()->IsValidPyUObject(py_u))\ - return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state") - -#define ue_py_check_int(py_u) if (!FUnrealEnginePythonHouseKeeper::Get()->IsValidPyUObject(py_u))\ - {\ - PyErr_SetString(PyExc_Exception, "PyUObject is in invalid state");\ - return -1;\ - } - -#if PY_MAJOR_VERSION < 3 -char *PyUnicode_AsUTF8(PyObject *py_str); -int PyGILState_Check(); -#endif -bool PyUnicodeOrString_Check(PyObject *py_obj); - -#define Py_RETURN_UOBJECT(py_uobj) ue_PyUObject *ret = ue_get_python_uobject_inc(py_uobj);\ - if (!ret)\ - return PyErr_Format(PyExc_Exception, "uobject is in invalid state");\ - return (PyObject *)ret; - -#define Py_RETURN_UOBJECT_NOINC(py_uobj) ue_PyUObject *ret = ue_get_python_uobject(py_uobj);\ - if (!ret)\ - return PyErr_Format(PyExc_Exception, "uobject is in invalid state");\ - return (PyObject *)ret; - -#if ENGINE_MINOR_VERSION < 16 -template -struct TStructOpsTypeTraitsBase2 : TStructOpsTypeTraitsBase -{ - -}; -#endif diff --git a/Source/UnrealEnginePython/Private/Voice/UEPyIVoiceCapture.cpp b/Source/UnrealEnginePython/Private/Voice/UEPyIVoiceCapture.cpp index 16233dbc1..6bba831b1 100644 --- a/Source/UnrealEnginePython/Private/Voice/UEPyIVoiceCapture.cpp +++ b/Source/UnrealEnginePython/Private/Voice/UEPyIVoiceCapture.cpp @@ -1,6 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" - #include "UEPyIVoiceCapture.h" diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp index 71113bd09..0b52f0502 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp @@ -1,18 +1,18 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyESlateEnums.h" static PyObject *py_ue_eslate_enums_get(ue_PyESlateEnums *self, void *closure) { - return PyLong_FromLong(self->val); + return PyLong_FromLong(self->val); } static PyGetSetDef ue_PyESlateEnums_getseters[] = { - { (char*)"val", (getter)py_ue_eslate_enums_get, 0, (char *)"", NULL }, - { NULL } /* Sentinel */ + { (char*)"val", (getter)py_ue_eslate_enums_get, 0, (char *)"", NULL }, + { NULL } /* Sentinel */ }; static PyObject *ue_PyESlateEnums_str(ue_PyESlateEnums *self) { - return PyUnicode_FromFormat("", PyLong_FromLong(self->val)); + return PyUnicode_FromFormat("", PyLong_FromLong(self->val)); } static PyTypeObject ue_PyESlateEnumsType = { @@ -35,7 +35,7 @@ static PyTypeObject ue_PyESlateEnumsType = { 0, /* tp_getattro */ 0, /* tp_setattro */ 0, /* tp_as_buffer */ - Py_TPFLAGS_DEFAULT, /* tp_flags */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ "Unreal Engine ESlateEnums", /* tp_doc */ 0, /* tp_traverse */ 0, /* tp_clear */ @@ -45,54 +45,55 @@ static PyTypeObject ue_PyESlateEnumsType = { 0, /* tp_iternext */ 0, /* tp_methods */ 0, - ue_PyESlateEnums_getseters, + ue_PyESlateEnums_getseters, }; -static int ue_py_eslate_enums_init(ue_PyESlateEnums *self, PyObject *args, PyObject *kwargs) { - int val = 0; - if (!PyArg_ParseTuple(args, "i", &val)) - return -1; +static int ue_py_eslate_enums_init(ue_PyESlateEnums *self, PyObject *args, PyObject *kwargs) +{ + int val = 0; + if (!PyArg_ParseTuple(args, "i", &val)) + return -1; - self->val = val; - return 0; + self->val = val; + return 0; } void ue_python_init_eslate_enums(PyObject *ue_module) { - ue_PyESlateEnumsType.tp_new = PyType_GenericNew; + ue_PyESlateEnumsType.tp_new = PyType_GenericNew; - ue_PyESlateEnumsType.tp_init = (initproc)ue_py_eslate_enums_init; + ue_PyESlateEnumsType.tp_init = (initproc)ue_py_eslate_enums_init; - if (PyType_Ready(&ue_PyESlateEnumsType) < 0) - return; + if (PyType_Ready(&ue_PyESlateEnumsType) < 0) + return; - Py_INCREF(&ue_PyESlateEnumsType); - PyModule_AddObject(ue_module, "ESlateEnums", (PyObject *)&ue_PyESlateEnumsType); + Py_INCREF(&ue_PyESlateEnumsType); + PyModule_AddObject(ue_module, "ESlateEnums", (PyObject *)&ue_PyESlateEnumsType); - auto add_native_enum = [](const char *enum_name, uint8 val) - { - ue_PyESlateEnums* native_enum = (ue_PyESlateEnums *)PyObject_New(ue_PyESlateEnums, &ue_PyESlateEnumsType); - native_enum->val = val; - PyDict_SetItemString(ue_PyESlateEnumsType.tp_dict, enum_name, (PyObject *)native_enum); - }; + auto add_native_enum = [](const char *enum_name, uint8 val) + { + ue_PyESlateEnums* native_enum = (ue_PyESlateEnums *)PyObject_New(ue_PyESlateEnums, &ue_PyESlateEnumsType); + native_enum->val = val; + PyDict_SetItemString(ue_PyESlateEnumsType.tp_dict, enum_name, (PyObject *)native_enum); + }; #if ENGINE_MINOR_VERSION > 15 #define ADD_NATIVE_ENUM(EnumType, EnumVal) add_native_enum(#EnumType "." #EnumVal, (uint8)EnumType::Type::EnumVal) - ADD_NATIVE_ENUM(EUserInterfaceActionType, None ); - ADD_NATIVE_ENUM(EUserInterfaceActionType, Button ); - ADD_NATIVE_ENUM(EUserInterfaceActionType, ToggleButton ); - ADD_NATIVE_ENUM(EUserInterfaceActionType, RadioButton ); - ADD_NATIVE_ENUM(EUserInterfaceActionType, Check ); - ADD_NATIVE_ENUM(EUserInterfaceActionType, CollapsedButton); + ADD_NATIVE_ENUM(EUserInterfaceActionType, None); + ADD_NATIVE_ENUM(EUserInterfaceActionType, Button); + ADD_NATIVE_ENUM(EUserInterfaceActionType, ToggleButton); + ADD_NATIVE_ENUM(EUserInterfaceActionType, RadioButton); + ADD_NATIVE_ENUM(EUserInterfaceActionType, Check); + ADD_NATIVE_ENUM(EUserInterfaceActionType, CollapsedButton); #undef ADD_NATIVE_ENUM #endif - + } ue_PyESlateEnums *py_ue_is_eslate_enums(PyObject *obj) { - if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyESlateEnumsType)) - return nullptr; - return (ue_PyESlateEnums *)obj; + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyESlateEnumsType)) + return nullptr; + return (ue_PyESlateEnums *)obj; } diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.cpp index c9d8e00d0..eb5a04c69 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFARFilter.h" #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp index ea4251cc0..dfc936b32 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFAssetData.h" #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.h index 32bccc070..76837892a 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.h @@ -1,12 +1,14 @@ #pragma once -#include "UnrealEnginePython.h" + +#include "UEPyModule.h" #if WITH_EDITOR -struct ue_PyFAssetData { +struct ue_PyFAssetData +{ PyObject_HEAD - /* Type-specific fields go here. */ - FAssetData asset_data; + /* Type-specific fields go here. */ + FAssetData asset_data; }; PyObject *py_ue_new_fassetdata(FAssetData); diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFColor.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFColor.cpp index f57609c41..d71188d97 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFColor.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFColor.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFColor.h" static PyObject *py_ue_fcolor_to_hex(ue_PyFColor *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.cpp index 6a30692df..1db221438 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFEditorViewportClient.h" #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.h index e36a9afa5..b1fbc5bab 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.h @@ -1,7 +1,9 @@ #pragma once #include "UnrealEnginePython.h" +#include "Wrappers/UEPyFViewportClient.h" -struct ue_PyFEditorViewportClient { +struct ue_PyFEditorViewportClient +{ ue_PyFViewportClient viewport_client; /* Type-specific fields go here. */ TSharedRef editor_viewport_client;; diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFHitResult.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFHitResult.cpp index 6aeb0ce83..b0dc45b7d 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFHitResult.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFHitResult.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFHitResult.h" static PyObject *py_ue_fhitresult_get_reversed_hit(ue_PyFHitResult *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFLinearColor.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFLinearColor.cpp index d9537a0bd..056411506 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFLinearColor.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFLinearColor.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFLinearColor.h" static PyObject *py_ue_flinearcolor_to_fcolor(ue_PyFLinearColor *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFMorphTargetDelta.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFMorphTargetDelta.cpp index d4ff05d7b..1c697717a 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFMorphTargetDelta.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFMorphTargetDelta.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFMorphTargetDelta.h" static PyObject *py_ue_fmorph_target_delta_get_position_delta(ue_PyFMorphTargetDelta *self, void *closure) { diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFMorphTargetDelta.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFMorphTargetDelta.h index 4b0c81788..77ce41314 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFMorphTargetDelta.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFMorphTargetDelta.h @@ -1,6 +1,8 @@ #pragma once #include "UnrealEnginePython.h" +#include "Wrappers/UEPyFVector.h" + #if ENGINE_MINOR_VERSION > 12 #include "Runtime/Engine/Classes/Animation/MorphTarget.h" diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFObjectThumbnail.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFObjectThumbnail.cpp index 6a41265a5..fd82cbbb8 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFObjectThumbnail.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFObjectThumbnail.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFObjectThumbnail.h" static PyObject *py_ue_fobject_thumbnail_get_image_width(ue_PyFObjectThumbnail *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFPythonOutputDevice.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFPythonOutputDevice.cpp index 08ad98052..56919c354 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFPythonOutputDevice.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFPythonOutputDevice.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFPythonOutputDevice.h" static PyMethodDef ue_PyFPythonOutputDevice_methods[] = { @@ -11,7 +11,8 @@ static PyObject *ue_PyFPythonOutputDevice_str(ue_PyFPythonOutputDevice *self) self->device); } -static void ue_PyFPythonOutputDevice_dealloc(ue_PyFPythonOutputDevice *self) { +static void ue_PyFPythonOutputDevice_dealloc(ue_PyFPythonOutputDevice *self) +{ delete(self->device); #if PY_MAJOR_VERSION < 3 self->ob_type->tp_free((PyObject*)self); @@ -53,13 +54,16 @@ static PyTypeObject ue_PyFPythonOutputDeviceType = { 0, }; -static int ue_py_fpython_output_device_init(ue_PyFPythonOutputDevice *self, PyObject *args, PyObject *kwargs) { +static int ue_py_fpython_output_device_init(ue_PyFPythonOutputDevice *self, PyObject *args, PyObject *kwargs) +{ PyObject *py_serialize; - if (!PyArg_ParseTuple(args, "O", &py_serialize)) { + if (!PyArg_ParseTuple(args, "O", &py_serialize)) + { return -1; } - if (!PyCallable_Check(py_serialize)) { + if (!PyCallable_Check(py_serialize)) + { PyErr_SetString(PyExc_TypeError, "argument is not a callable"); return -1; } @@ -69,7 +73,8 @@ static int ue_py_fpython_output_device_init(ue_PyFPythonOutputDevice *self, PyOb return 0; } -void ue_python_init_fpython_output_device(PyObject *ue_module) { +void ue_python_init_fpython_output_device(PyObject *ue_module) +{ ue_PyFPythonOutputDeviceType.tp_new = PyType_GenericNew; ue_PyFPythonOutputDeviceType.tp_init = (initproc)ue_py_fpython_output_device_init; diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFPythonOutputDevice.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFPythonOutputDevice.h index 02a57e3e9..d38cedfb1 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFPythonOutputDevice.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFPythonOutputDevice.h @@ -1,48 +1,56 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #include "Runtime/Core/Public/Misc/OutputDevice.h" -class FPythonOutputDevice : FOutputDevice { +class FPythonOutputDevice : FOutputDevice +{ public: - FPythonOutputDevice() { + FPythonOutputDevice() + { GLog->AddOutputDevice(this); GLog->SerializeBacklog(this); } - ~FPythonOutputDevice() { - if (GLog) { + ~FPythonOutputDevice() + { + if (GLog) + { GLog->RemoveOutputDevice(this); } Py_XDECREF(py_serialize); } - void SetPySerialize(PyObject *py_callable) { + void SetPySerialize(PyObject *py_callable) + { py_serialize = py_callable; Py_INCREF(py_serialize); } protected: - virtual void Serialize(const TCHAR * V, ELogVerbosity::Type Verbosity, const class FName& Category) override { + virtual void Serialize(const TCHAR * V, ELogVerbosity::Type Verbosity, const class FName& Category) override + { if (!py_serialize) return; PyObject *ret = PyObject_CallFunction(py_serialize, (char *)"sis", TCHAR_TO_UTF8(V), Verbosity, TCHAR_TO_UTF8(*Category.ToString())); - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); } Py_XDECREF(ret); } private: - PyObject *py_serialize; + PyObject * py_serialize; }; -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - FPythonOutputDevice *device; + /* Type-specific fields go here. */ + FPythonOutputDevice *device; } ue_PyFPythonOutputDevice; void ue_python_init_fpython_output_device(PyObject *); \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFQuat.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFQuat.cpp index 843e9cb78..74d914848 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFQuat.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFQuat.cpp @@ -1,9 +1,11 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFQuat.h" #if ENGINE_MINOR_VERSION > 12 -static PyObject *py_ue_fquat_angular_distance(ue_PyFQuat *self, PyObject * args) { +static PyObject *py_ue_fquat_angular_distance(ue_PyFQuat *self, PyObject * args) +{ FQuat q; - if (!py_ue_quat_arg(args, q)) { + if (!py_ue_quat_arg(args, q)) + { return nullptr; } @@ -11,31 +13,38 @@ static PyObject *py_ue_fquat_angular_distance(ue_PyFQuat *self, PyObject * args) } #endif -static PyObject *py_ue_fquat_euler(ue_PyFQuat *self, PyObject * args) { +static PyObject *py_ue_fquat_euler(ue_PyFQuat *self, PyObject * args) +{ return py_ue_new_fvector(self->quat.Euler()); } -static PyObject *py_ue_fquat_get_axis_x(ue_PyFQuat *self, PyObject * args) { +static PyObject *py_ue_fquat_get_axis_x(ue_PyFQuat *self, PyObject * args) +{ return py_ue_new_fvector(self->quat.GetAxisX()); } -static PyObject *py_ue_fquat_get_axis_y(ue_PyFQuat *self, PyObject * args) { +static PyObject *py_ue_fquat_get_axis_y(ue_PyFQuat *self, PyObject * args) +{ return py_ue_new_fvector(self->quat.GetAxisY()); } -static PyObject *py_ue_fquat_get_axis_z(ue_PyFQuat *self, PyObject * args) { +static PyObject *py_ue_fquat_get_axis_z(ue_PyFQuat *self, PyObject * args) +{ return py_ue_new_fvector(self->quat.GetAxisZ()); } -static PyObject *py_ue_fquat_inverse(ue_PyFQuat *self, PyObject * args) { +static PyObject *py_ue_fquat_inverse(ue_PyFQuat *self, PyObject * args) +{ return py_ue_new_fquat(self->quat.Inverse()); } -static PyObject *py_ue_fquat_get_normalized(ue_PyFQuat *self, PyObject * args) { +static PyObject *py_ue_fquat_get_normalized(ue_PyFQuat *self, PyObject * args) +{ return py_ue_new_fquat(self->quat.GetNormalized()); } -static PyObject *py_ue_fquat_vector(ue_PyFQuat *self, PyObject * args) { +static PyObject *py_ue_fquat_vector(ue_PyFQuat *self, PyObject * args) +{ return py_ue_new_fvector(self->quat.Vector()); } @@ -57,12 +66,15 @@ static PyMethodDef ue_PyFQuat_methods[] = { { NULL } /* Sentinel */ }; -static PyObject *py_ue_fquat_get_x(ue_PyFQuat *self, void *closure) { +static PyObject *py_ue_fquat_get_x(ue_PyFQuat *self, void *closure) +{ return PyFloat_FromDouble(self->quat.X); } -static int py_ue_fquat_set_x(ue_PyFQuat *self, PyObject *value, void *closure) { - if (value && PyNumber_Check(value)) { +static int py_ue_fquat_set_x(ue_PyFQuat *self, PyObject *value, void *closure) +{ + if (value && PyNumber_Check(value)) + { PyObject *f_value = PyNumber_Float(value); self->quat.X = PyFloat_AsDouble(f_value); Py_DECREF(f_value); @@ -72,12 +84,15 @@ static int py_ue_fquat_set_x(ue_PyFQuat *self, PyObject *value, void *closure) { return -1; } -static PyObject *py_ue_fquat_get_y(ue_PyFQuat *self, void *closure) { +static PyObject *py_ue_fquat_get_y(ue_PyFQuat *self, void *closure) +{ return PyFloat_FromDouble(self->quat.Y); } -static int py_ue_fquat_set_y(ue_PyFQuat *self, PyObject *value, void *closure) { - if (value && PyNumber_Check(value)) { +static int py_ue_fquat_set_y(ue_PyFQuat *self, PyObject *value, void *closure) +{ + if (value && PyNumber_Check(value)) + { PyObject *f_value = PyNumber_Float(value); self->quat.Y = PyFloat_AsDouble(f_value); Py_DECREF(f_value); @@ -87,12 +102,15 @@ static int py_ue_fquat_set_y(ue_PyFQuat *self, PyObject *value, void *closure) { return -1; } -static PyObject *py_ue_fquat_get_z(ue_PyFQuat *self, void *closure) { +static PyObject *py_ue_fquat_get_z(ue_PyFQuat *self, void *closure) +{ return PyFloat_FromDouble(self->quat.Z); } -static int py_ue_fquat_set_z(ue_PyFQuat *self, PyObject *value, void *closure) { - if (value && PyNumber_Check(value)) { +static int py_ue_fquat_set_z(ue_PyFQuat *self, PyObject *value, void *closure) +{ + if (value && PyNumber_Check(value)) + { PyObject *f_value = PyNumber_Float(value); self->quat.Z = PyFloat_AsDouble(f_value); Py_DECREF(f_value); @@ -102,12 +120,15 @@ static int py_ue_fquat_set_z(ue_PyFQuat *self, PyObject *value, void *closure) { return -1; } -static PyObject *py_ue_fquat_get_w(ue_PyFQuat *self, void *closure) { +static PyObject *py_ue_fquat_get_w(ue_PyFQuat *self, void *closure) +{ return PyFloat_FromDouble(self->quat.W); } -static int py_ue_fquat_set_w(ue_PyFQuat *self, PyObject *value, void *closure) { - if (value && PyNumber_Check(value)) { +static int py_ue_fquat_set_w(ue_PyFQuat *self, PyObject *value, void *closure) +{ + if (value && PyNumber_Check(value)) + { PyObject *f_value = PyNumber_Float(value); self->quat.W = PyFloat_AsDouble(f_value); Py_DECREF(f_value); @@ -169,34 +190,42 @@ static PyTypeObject ue_PyFQuatType = { }; -static PyObject *ue_py_fquat_add(ue_PyFQuat *self, PyObject *value) { +static PyObject *ue_py_fquat_add(ue_PyFQuat *self, PyObject *value) +{ FQuat quat = self->quat; ue_PyFQuat *py_quat = py_ue_is_fquat(value); - if (py_quat) { + if (py_quat) + { quat += py_quat->quat; } return py_ue_new_fquat(quat); } -static PyObject *ue_py_fquat_sub(ue_PyFQuat *self, PyObject *value) { +static PyObject *ue_py_fquat_sub(ue_PyFQuat *self, PyObject *value) +{ FQuat quat = self->quat; ue_PyFQuat *py_quat = py_ue_is_fquat(value); - if (py_quat) { + if (py_quat) + { quat -= py_quat->quat; } return py_ue_new_fquat(quat); } -static PyObject *ue_py_fquat_mul(ue_PyFQuat *self, PyObject *value) { - if (ue_PyFVector *py_vec = py_ue_is_fvector(value)) { +static PyObject *ue_py_fquat_mul(ue_PyFQuat *self, PyObject *value) +{ + if (ue_PyFVector *py_vec = py_ue_is_fvector(value)) + { FVector vec = self->quat * py_vec->vec; return py_ue_new_fvector(vec); } - if (ue_PyFQuat *py_quat = py_ue_is_fquat(value)) { + if (ue_PyFQuat *py_quat = py_ue_is_fquat(value)) + { FQuat quat = self->quat * py_quat->quat; return py_ue_new_fquat(quat); } - else if (PyNumber_Check(value)) { + else if (PyNumber_Check(value)) + { FQuat quat = self->quat; PyObject *f_value = PyNumber_Float(value); float f = PyFloat_AsDouble(f_value); @@ -207,10 +236,12 @@ static PyObject *ue_py_fquat_mul(ue_PyFQuat *self, PyObject *value) { return PyErr_Format(PyExc_TypeError, "unsupported argument type"); } -static PyObject *ue_py_fquat_div(ue_PyFQuat *self, PyObject *value) { +static PyObject *ue_py_fquat_div(ue_PyFQuat *self, PyObject *value) +{ FQuat quat = self->quat; - if (PyNumber_Check(value)) { + if (PyNumber_Check(value)) + { PyObject *f_value = PyNumber_Float(value); float f = PyFloat_AsDouble(f_value); if (f == 0) @@ -225,12 +256,15 @@ static PyObject *ue_py_fquat_div(ue_PyFQuat *self, PyObject *value) { PyNumberMethods ue_PyFQuat_number_methods; -static Py_ssize_t ue_py_fquat_seq_length(ue_PyFQuat *self) { +static Py_ssize_t ue_py_fquat_seq_length(ue_PyFQuat *self) +{ return 4; } -static PyObject *ue_py_fquat_seq_item(ue_PyFQuat *self, Py_ssize_t i) { - switch (i) { +static PyObject *ue_py_fquat_seq_item(ue_PyFQuat *self, Py_ssize_t i) +{ + switch (i) + { case 0: return PyFloat_FromDouble(self->quat.X); case 1: @@ -245,7 +279,8 @@ static PyObject *ue_py_fquat_seq_item(ue_PyFQuat *self, Py_ssize_t i) { PySequenceMethods ue_PyFQuat_sequence_methods; -static int ue_py_fquat_init(ue_PyFQuat *self, PyObject *args, PyObject *kwargs) { +static int ue_py_fquat_init(ue_PyFQuat *self, PyObject *args, PyObject *kwargs) +{ float x = 0, y = 0, z = 0, w = 1; if (!PyArg_ParseTuple(args, "|ffff", &x, &y, &z, &w)) return -1; @@ -258,7 +293,8 @@ static int ue_py_fquat_init(ue_PyFQuat *self, PyObject *args, PyObject *kwargs) return 0; } -void ue_python_init_fquat(PyObject *ue_module) { +void ue_python_init_fquat(PyObject *ue_module) +{ ue_PyFQuatType.tp_new = PyType_GenericNew; ue_PyFQuatType.tp_init = (initproc)ue_py_fquat_init; @@ -282,24 +318,29 @@ void ue_python_init_fquat(PyObject *ue_module) { PyModule_AddObject(ue_module, "FQuat", (PyObject *)&ue_PyFQuatType); } -PyObject *py_ue_new_fquat(FQuat quat) { +PyObject *py_ue_new_fquat(FQuat quat) +{ ue_PyFQuat *ret = (ue_PyFQuat *)PyObject_New(ue_PyFQuat, &ue_PyFQuatType); ret->quat = quat; return (PyObject *)ret; } -ue_PyFQuat *py_ue_is_fquat(PyObject *obj) { +ue_PyFQuat *py_ue_is_fquat(PyObject *obj) +{ if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyFQuatType)) return nullptr; return (ue_PyFQuat *)obj; } -bool py_ue_quat_arg(PyObject *args, FQuat &quat) { +bool py_ue_quat_arg(PyObject *args, FQuat &quat) +{ - if (PyTuple_Size(args) == 1) { + if (PyTuple_Size(args) == 1) + { PyObject *arg = PyTuple_GetItem(args, 0); ue_PyFQuat *py_quat = py_ue_is_fquat(arg); - if (!py_quat) { + if (!py_quat) + { PyErr_Format(PyExc_TypeError, "argument is not a FQuat"); return false; } diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRandomStream.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRandomStream.cpp index a61509f18..86cbc3a3b 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRandomStream.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRandomStream.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UePyFRandomStream.h" static PyObject *py_ue_frandomstream_frand(ue_PyFRandomStream *self, PyObject * args) { return PyFloat_FromDouble(self->rstream.FRand()); diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawAnimSequenceTrack.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawAnimSequenceTrack.cpp index 300608cc9..af69b254c 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawAnimSequenceTrack.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawAnimSequenceTrack.cpp @@ -1,8 +1,10 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFRawAnimSequenceTrack.h" -static PyObject *py_ue_fraw_anim_sequence_track_get_pos_keys(ue_PyFRawAnimSequenceTrack *self, void *closure) { +static PyObject *py_ue_fraw_anim_sequence_track_get_pos_keys(ue_PyFRawAnimSequenceTrack *self, void *closure) +{ PyObject *py_list = PyList_New(0); - for (FVector vec : self->raw_anim_sequence_track.PosKeys) { + for (FVector vec : self->raw_anim_sequence_track.PosKeys) + { PyObject *py_vec = py_ue_new_fvector(vec); PyList_Append(py_list, py_vec); Py_DECREF(py_vec); @@ -10,9 +12,11 @@ static PyObject *py_ue_fraw_anim_sequence_track_get_pos_keys(ue_PyFRawAnimSequen return py_list; } -static PyObject *py_ue_fraw_anim_sequence_track_get_scale_keys(ue_PyFRawAnimSequenceTrack *self, void *closure) { +static PyObject *py_ue_fraw_anim_sequence_track_get_scale_keys(ue_PyFRawAnimSequenceTrack *self, void *closure) +{ PyObject *py_list = PyList_New(0); - for (FVector vec : self->raw_anim_sequence_track.ScaleKeys) { + for (FVector vec : self->raw_anim_sequence_track.ScaleKeys) + { PyObject *py_vec = py_ue_new_fvector(vec); PyList_Append(py_list, py_vec); Py_DECREF(py_vec); @@ -20,9 +24,11 @@ static PyObject *py_ue_fraw_anim_sequence_track_get_scale_keys(ue_PyFRawAnimSequ return py_list; } -static PyObject *py_ue_fraw_anim_sequence_track_get_rot_keys(ue_PyFRawAnimSequenceTrack *self, void *closure) { +static PyObject *py_ue_fraw_anim_sequence_track_get_rot_keys(ue_PyFRawAnimSequenceTrack *self, void *closure) +{ PyObject *py_list = PyList_New(0); - for (FQuat quat : self->raw_anim_sequence_track.RotKeys) { + for (FQuat quat : self->raw_anim_sequence_track.RotKeys) + { PyObject *py_quat = py_ue_new_fquat(quat); PyList_Append(py_list, py_quat); Py_DECREF(py_quat); @@ -30,22 +36,28 @@ static PyObject *py_ue_fraw_anim_sequence_track_get_rot_keys(ue_PyFRawAnimSequen return py_list; } -static int py_ue_fraw_anim_sequence_track_set_pos_keys(ue_PyFRawAnimSequenceTrack *self, PyObject *value, void *closure) { +static int py_ue_fraw_anim_sequence_track_set_pos_keys(ue_PyFRawAnimSequenceTrack *self, PyObject *value, void *closure) +{ TArray pos; - if (value) { + if (value) + { PyObject *py_iter = PyObject_GetIter(value); - if (py_iter) { + if (py_iter) + { bool failed = false; - while (PyObject *py_item = PyIter_Next(py_iter)) { + while (PyObject *py_item = PyIter_Next(py_iter)) + { ue_PyFVector *py_vec = py_ue_is_fvector(py_item); - if (!py_vec) { + if (!py_vec) + { failed = true; break; } pos.Add(py_vec->vec); } Py_DECREF(py_iter); - if (!failed) { + if (!failed) + { self->raw_anim_sequence_track.PosKeys = pos; return 0; } @@ -55,22 +67,28 @@ static int py_ue_fraw_anim_sequence_track_set_pos_keys(ue_PyFRawAnimSequenceTrac return -1; } -static int py_ue_fraw_anim_sequence_track_set_scale_keys(ue_PyFRawAnimSequenceTrack *self, PyObject *value, void *closure) { +static int py_ue_fraw_anim_sequence_track_set_scale_keys(ue_PyFRawAnimSequenceTrack *self, PyObject *value, void *closure) +{ TArray scale; - if (value) { + if (value) + { PyObject *py_iter = PyObject_GetIter(value); - if (py_iter) { + if (py_iter) + { bool failed = false; - while (PyObject *py_item = PyIter_Next(py_iter)) { + while (PyObject *py_item = PyIter_Next(py_iter)) + { ue_PyFVector *py_vec = py_ue_is_fvector(py_item); - if (!py_vec) { + if (!py_vec) + { failed = true; break; } scale.Add(py_vec->vec); } Py_DECREF(py_iter); - if (!failed) { + if (!failed) + { self->raw_anim_sequence_track.ScaleKeys = scale; return 0; } @@ -80,22 +98,28 @@ static int py_ue_fraw_anim_sequence_track_set_scale_keys(ue_PyFRawAnimSequenceTr return -1; } -static int py_ue_fraw_anim_sequence_track_set_rot_keys(ue_PyFRawAnimSequenceTrack *self, PyObject *value, void *closure) { +static int py_ue_fraw_anim_sequence_track_set_rot_keys(ue_PyFRawAnimSequenceTrack *self, PyObject *value, void *closure) +{ TArray rot; - if (value) { + if (value) + { PyObject *py_iter = PyObject_GetIter(value); - if (py_iter) { + if (py_iter) + { bool failed = false; - while (PyObject *py_item = PyIter_Next(py_iter)) { + while (PyObject *py_item = PyIter_Next(py_iter)) + { ue_PyFQuat *py_quat = py_ue_is_fquat(py_item); - if (!py_quat) { + if (!py_quat) + { failed = true; break; } rot.Add(py_quat->quat); } Py_DECREF(py_iter); - if (!failed) { + if (!failed) + { self->raw_anim_sequence_track.RotKeys = rot; return 0; } @@ -158,7 +182,8 @@ static PyTypeObject ue_PyFRawAnimSequenceTrackType = { -void ue_python_init_fraw_anim_sequence_track(PyObject *ue_module) { +void ue_python_init_fraw_anim_sequence_track(PyObject *ue_module) +{ ue_PyFRawAnimSequenceTrackType.tp_new = PyType_GenericNew; if (PyType_Ready(&ue_PyFRawAnimSequenceTrackType) < 0) @@ -168,13 +193,15 @@ void ue_python_init_fraw_anim_sequence_track(PyObject *ue_module) { PyModule_AddObject(ue_module, "FRawAnimSequenceTrack", (PyObject *)&ue_PyFRawAnimSequenceTrackType); } -ue_PyFRawAnimSequenceTrack *py_ue_is_fraw_anim_sequence_track(PyObject *obj) { +ue_PyFRawAnimSequenceTrack *py_ue_is_fraw_anim_sequence_track(PyObject *obj) +{ if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyFRawAnimSequenceTrackType)) return nullptr; return (ue_PyFRawAnimSequenceTrack *)obj; } -PyObject *py_ue_new_fraw_anim_sequence_track(FRawAnimSequenceTrack raw_anim_sequence_track) { +PyObject *py_ue_new_fraw_anim_sequence_track(FRawAnimSequenceTrack raw_anim_sequence_track) +{ ue_PyFRawAnimSequenceTrack *ret = (ue_PyFRawAnimSequenceTrack *)PyObject_New(ue_PyFRawAnimSequenceTrack, &ue_PyFRawAnimSequenceTrackType); new(&ret->raw_anim_sequence_track) FRawAnimSequenceTrack(raw_anim_sequence_track); return (PyObject *)ret; diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawMesh.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawMesh.cpp index 04164b490..f6109c692 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawMesh.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawMesh.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFRawMesh.h" #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawMesh.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawMesh.h index a004a128a..9d0dcb721 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawMesh.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawMesh.h @@ -3,14 +3,17 @@ #if WITH_EDITOR +#include "Wrappers/UEPyFColor.h" + #if ENGINE_MINOR_VERSION > 13 #include "Developer/RawMesh/Public/RawMesh.h" -struct ue_PyFRawMesh { +struct ue_PyFRawMesh +{ PyObject_HEAD - /* Type-specific fields go here. */ - FRawMesh raw_mesh; + /* Type-specific fields go here. */ + FRawMesh raw_mesh; }; diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRotator.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRotator.cpp index 896a49f66..45d4c2369 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRotator.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRotator.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFRotator.h" static PyObject *py_ue_frotator_get_vector(ue_PyFRotator *self, PyObject * args) { FVector vec = self->rot.Vector(); diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRotator.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRotator.h index 02db8f74f..a4ea71a84 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRotator.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRotator.h @@ -1,8 +1,8 @@ #pragma once - - #include "UnrealEnginePython.h" +#include "UEPyFVector.h" +#include "UEPyFQuat.h" typedef struct { PyObject_HEAD diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFSocket.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSocket.cpp index 1c47cfbce..4f6066342 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFSocket.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSocket.cpp @@ -1,9 +1,11 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFSocket.h" -static PyObject *py_ue_fsocket_start_receiver(ue_PyFSocket *self, PyObject * args) { +static PyObject *py_ue_fsocket_start_receiver(ue_PyFSocket *self, PyObject * args) +{ - if (self->udp_receiver) { + if (self->udp_receiver) + { return PyErr_Format(PyExc_Exception, "receiver already started"); } @@ -15,24 +17,30 @@ static PyObject *py_ue_fsocket_start_receiver(ue_PyFSocket *self, PyObject * arg return Py_None; } -static void sock_close(ue_PyFSocket *self) { - if (self->sock) { +static void sock_close(ue_PyFSocket *self) +{ + if (self->sock) + { self->sock->Close(); ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->DestroySocket(self->sock); self->sock = nullptr; } } -static void sock_stop_receiver(ue_PyFSocket *self) { - if (self->udp_receiver) { +static void sock_stop_receiver(ue_PyFSocket *self) +{ + if (self->udp_receiver) + { self->udp_receiver->Stop(); delete(self->udp_receiver); self->udp_receiver = nullptr; } } -static PyObject *py_ue_fsocket_stop_receiver(ue_PyFSocket *self, PyObject * args) { - if (!self->udp_receiver) { +static PyObject *py_ue_fsocket_stop_receiver(ue_PyFSocket *self, PyObject * args) +{ + if (!self->udp_receiver) + { return PyErr_Format(PyExc_Exception, "receiver not started"); } @@ -42,9 +50,11 @@ static PyObject *py_ue_fsocket_stop_receiver(ue_PyFSocket *self, PyObject * args return Py_None; } -static PyObject *py_ue_fsocket_close(ue_PyFSocket *self, PyObject * args) { +static PyObject *py_ue_fsocket_close(ue_PyFSocket *self, PyObject * args) +{ - if (self->udp_receiver) { + if (self->udp_receiver) + { return PyErr_Format(PyExc_Exception, "you have to stop its receiver before closing a socket"); } @@ -71,11 +81,12 @@ static PyObject *ue_PyFSocket_str(ue_PyFSocket *self) TCHAR_TO_UTF8(*self->sock->GetDescription())); } -static void ue_py_fsocket_dealloc(ue_PyFSocket *self) { - +static void ue_py_fsocket_dealloc(ue_PyFSocket *self) +{ + sock_stop_receiver(self); sock_close(self); - + } static PyTypeObject ue_PyFSocketType = { @@ -111,7 +122,8 @@ static PyTypeObject ue_PyFSocketType = { 0, }; -static int ue_py_fsocket_init(ue_PyFSocket *self, PyObject *args, PyObject *kwargs) { +static int ue_py_fsocket_init(ue_PyFSocket *self, PyObject *args, PyObject *kwargs) +{ char *socket_desc; char *socket_addr; int port_number; @@ -128,7 +140,8 @@ static int ue_py_fsocket_init(ue_PyFSocket *self, PyObject *args, PyObject *kwar return 0; } -void ue_python_init_fsocket(PyObject *ue_module) { +void ue_python_init_fsocket(PyObject *ue_module) +{ ue_PyFSocketType.tp_new = PyType_GenericNew; ue_PyFSocketType.tp_init = (initproc)ue_py_fsocket_init; diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFSoftSkinVertex.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSoftSkinVertex.cpp index bdddc1e70..64e168222 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFSoftSkinVertex.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSoftSkinVertex.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFSoftSkinVertex.h" #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFSoftSkinVertex.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSoftSkinVertex.h index 7a61535ae..4355f1887 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFSoftSkinVertex.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSoftSkinVertex.h @@ -11,6 +11,8 @@ #endif +#include "Wrappers/UEPyFColor.h" + struct ue_PyFSoftSkinVertex { PyObject_HEAD /* Type-specific fields go here. */ diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFStringAssetReference.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFStringAssetReference.cpp index ec600856d..6b800b881 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFStringAssetReference.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFStringAssetReference.cpp @@ -1,4 +1,3 @@ -#include "UnrealEnginePythonPrivatePCH.h" #include "UEPyFStringAssetReference.h" diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.cpp index 3ab29cc8f..3e8f0251c 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFTransform.h" static PyObject *py_ue_ftransform_inverse(ue_PyFTransform *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFVector.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFVector.cpp index ba9ffa9ef..3380d82df 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFVector.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFVector.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFVector.h" static PyObject *py_ue_fvector_length(ue_PyFVector *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFViewportClient.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFViewportClient.cpp index 9b2dfe9fd..9b404a1b7 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFViewportClient.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFViewportClient.cpp @@ -1,4 +1,4 @@ -#include "UnrealEnginePythonPrivatePCH.h" +#include "UEPyFViewportClient.h" static PyObject *py_ue_fviewport_client_get_world(ue_PyFViewportClient *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Public/PyActor.h b/Source/UnrealEnginePython/Public/PyActor.h index dcc03fbde..c3129174e 100644 --- a/Source/UnrealEnginePython/Public/PyActor.h +++ b/Source/UnrealEnginePython/Public/PyActor.h @@ -2,7 +2,7 @@ #include "GameFramework/Actor.h" - +#include "UEPyModule.h" #include "PyActor.generated.h" diff --git a/Source/UnrealEnginePython/Public/PyCharacter.h b/Source/UnrealEnginePython/Public/PyCharacter.h index f1136c9cf..6c91fdbfb 100644 --- a/Source/UnrealEnginePython/Public/PyCharacter.h +++ b/Source/UnrealEnginePython/Public/PyCharacter.h @@ -2,6 +2,9 @@ #include "GameFramework/Character.h" +#include "UEPyModule.h" +#include "Wrappers/UEPyFRotator.h" + #include "PyCharacter.generated.h" @@ -31,53 +34,53 @@ class UNREALENGINEPYTHON_API APyCharacter : public ACharacter virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override; - UPROPERTY(EditAnywhere , Category = "Python") - FString PythonModule; + UPROPERTY(EditAnywhere, Category = "Python") + FString PythonModule; UPROPERTY(EditAnywhere, Category = "Python") - FString PythonClass; + FString PythonClass; UPROPERTY(EditAnywhere, Category = "Python") - bool PythonTickForceDisabled; + bool PythonTickForceDisabled; UPROPERTY(EditAnywhere, Category = "Python") - bool PythonDisableAutoBinding; + bool PythonDisableAutoBinding; UFUNCTION(BlueprintCallable, Category = "Python") - void CallPyCharacterMethod(FString method_name, FString args); + void CallPyCharacterMethod(FString method_name, FString args); UFUNCTION(BlueprintCallable, Category = "Python") - bool CallPyCharacterMethodBool(FString method_name, FString args); + bool CallPyCharacterMethodBool(FString method_name, FString args); UFUNCTION(BlueprintCallable, Category = "Python") - FString CallPyCharacterMethodString(FString method_name, FString args); + FString CallPyCharacterMethodString(FString method_name, FString args); UFUNCTION(BlueprintCallable, Category = "Python") - float CallPyCharacterMethodFloat(FString method_name, FString args); + float CallPyCharacterMethodFloat(FString method_name, FString args); UFUNCTION(BlueprintCallable, Category = "Python") - void SetPythonAttrInt(FString attr, int Integer); + void SetPythonAttrInt(FString attr, int Integer); UFUNCTION(BlueprintCallable, Category = "Python") - void SetPythonAttrFloat(FString attr, float Float); + void SetPythonAttrFloat(FString attr, float Float); UFUNCTION(BlueprintCallable, Category = "Python") - void SetPythonAttrString(FString attr, FString String); + void SetPythonAttrString(FString attr, FString String); UFUNCTION(BlueprintCallable, Category = "Python") - void SetPythonAttrBool(FString attr, bool Boolean); + void SetPythonAttrBool(FString attr, bool Boolean); UFUNCTION(BlueprintCallable, Category = "Python") - void SetPythonAttrVector(FString attr, FVector Vector); + void SetPythonAttrVector(FString attr, FVector Vector); UFUNCTION(BlueprintCallable, Category = "Python") - void SetPythonAttrRotator(FString attr, FRotator Rotator); + void SetPythonAttrRotator(FString attr, FRotator Rotator); UFUNCTION(BlueprintCallable, Category = "Python") - void SetPythonAttrObject(FString attr, UObject *Object); + void SetPythonAttrObject(FString attr, UObject *Object); private: - PyObject *py_character_instance; + PyObject * py_character_instance; // mapped uobject, required for debug and advanced reflection ue_PyUObject *py_uobject; }; diff --git a/Source/UnrealEnginePython/Public/PythonClass.h b/Source/UnrealEnginePython/Public/PythonClass.h index f1d448aa7..da3345b4b 100644 --- a/Source/UnrealEnginePython/Public/PythonClass.h +++ b/Source/UnrealEnginePython/Public/PythonClass.h @@ -1,6 +1,6 @@ #pragma once - +#include "UEPyModule.h" #include "PythonClass.generated.h" UCLASS() @@ -10,16 +10,19 @@ class UPythonClass : public UClass public: - void SetPyConstructor(PyObject *callable) { + void SetPyConstructor(PyObject *callable) + { py_constructor = callable; Py_INCREF(py_constructor); } - void CallPyConstructor(ue_PyUObject *self) { + void CallPyConstructor(ue_PyUObject *self) + { if (!py_constructor) return; PyObject *ret = PyObject_CallObject(py_constructor, Py_BuildValue("(O)", self)); - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); return; } @@ -31,6 +34,6 @@ class UPythonClass : public UClass private: - PyObject *py_constructor; + PyObject * py_constructor; }; diff --git a/Source/UnrealEnginePython/Public/PythonHouseKeeper.h b/Source/UnrealEnginePython/Public/PythonHouseKeeper.h index 1c665fd8f..b50796b24 100644 --- a/Source/UnrealEnginePython/Public/PythonHouseKeeper.h +++ b/Source/UnrealEnginePython/Public/PythonHouseKeeper.h @@ -1,6 +1,11 @@ #pragma once -#include "UnrealEnginePythonPrivatePCH.h" +#include "UnrealEnginePython.h" +#include "UObject/UObjectGlobals.h" +#include "UObject/WeakObjectPtr.h" +#include "Widgets/SWidget.h" +#include "Slate/UEPySlateDelegate.h" +#include "PythonDelegate.h" class FUnrealEnginePythonHouseKeeper { @@ -152,7 +157,7 @@ class FUnrealEnginePythonHouseKeeper UE_LOG(LogPython, Error, TEXT("UObject at %p %s is in use"), Object, *Object->GetName()); #endif } - } + } for (UObject *Object : BrokenList) { @@ -163,7 +168,7 @@ class FUnrealEnginePythonHouseKeeper return Garbaged; - } + } int32 DelegatesGC() @@ -256,4 +261,4 @@ class FUnrealEnginePythonHouseKeeper TArray PySlateDelegatesTracker; TArray> PyStaticSlateDelegatesTracker; -}; + }; diff --git a/Source/UnrealEnginePython/Public/PythonSmartDelegate.h b/Source/UnrealEnginePython/Public/PythonSmartDelegate.h index 22296a298..1d4b5c1f7 100644 --- a/Source/UnrealEnginePython/Public/PythonSmartDelegate.h +++ b/Source/UnrealEnginePython/Public/PythonSmartDelegate.h @@ -1,6 +1,7 @@ #pragma once -#include "UnrealEnginePythonPrivatePCH.h" +#include "UnrealEnginePython.h" +#include "Factories/Factory.h" class FPythonSmartDelegate : public TSharedFromThis { @@ -22,7 +23,7 @@ class FPythonSmartDelegate : public TSharedFromThis protected: - PyObject *py_callable; + PyObject * py_callable; }; diff --git a/Source/UnrealEnginePython/Public/UnrealEnginePython.h b/Source/UnrealEnginePython/Public/UnrealEnginePython.h index 35ef5031b..809ac735d 100644 --- a/Source/UnrealEnginePython/Public/UnrealEnginePython.h +++ b/Source/UnrealEnginePython/Public/UnrealEnginePython.h @@ -1,4 +1,4 @@ -// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. +// Copyright 20Tab S.r.l. #pragma once @@ -6,20 +6,79 @@ #pragma clang diagnostic ignored "-Wdelete-non-virtual-dtor" #endif -#include "ModuleManager.h" -#include "Engine.h" -#include "Runtime/Launch/Resources/Version.h" -#include "Runtime/SlateCore/Public/Styling/ISlateStyle.h" -#include "Runtime/SlateCore/Public/Styling/SlateStyle.h" +//#define UEPY_MEMORY_DEBUG 1 +//#define UEPY_THREADING 1 + +#if defined(UNREAL_ENGINE_PYTHON_ON_MAC) +#include +#include +#elif defined(UNREAL_ENGINE_PYTHON_ON_LINUX) +#include +#include +#else +#include +#include +#endif + + +#include "CoreMinimal.h" +#include "ModuleManager.h" +#include "Styling/SlateStyle.h" // We need to make sure reference structs do not mistaken for callable #define PyCalllable_Check_Extended(value) PyCallable_Check(value) && py_ue_is_uscriptstruct(value) == nullptr +typedef struct +{ + PyObject_HEAD + /* Type-specific fields go here. */ + UObject *ue_object; + // reference to proxy class (can be null) + PyObject *py_proxy; + // the __dict__ + PyObject *py_dict; + // if true RemoveFromRoot will be called at object destruction time + int auto_rooted; +} ue_PyUObject; + #if ENGINE_MINOR_VERSION >= 18 #define FStringAssetReference FSoftObjectPath #endif +#define ue_py_check(py_u) if (!FUnrealEnginePythonHouseKeeper::Get()->IsValidPyUObject(py_u))\ + return PyErr_Format(PyExc_Exception, "PyUObject is in invalid state") + +#define ue_py_check_int(py_u) if (!FUnrealEnginePythonHouseKeeper::Get()->IsValidPyUObject(py_u))\ + {\ + PyErr_SetString(PyExc_Exception, "PyUObject is in invalid state");\ + return -1;\ + } + +#if PY_MAJOR_VERSION < 3 +char *PyUnicode_AsUTF8(PyObject *py_str); +int PyGILState_Check(); +#endif +bool PyUnicodeOrString_Check(PyObject *py_obj); + +#define Py_RETURN_UOBJECT(py_uobj) ue_PyUObject *ret = ue_get_python_uobject_inc(py_uobj);\ + if (!ret)\ + return PyErr_Format(PyExc_Exception, "uobject is in invalid state");\ + return (PyObject *)ret; + +#define Py_RETURN_UOBJECT_NOINC(py_uobj) ue_PyUObject *ret = ue_get_python_uobject(py_uobj);\ + if (!ret)\ + return PyErr_Format(PyExc_Exception, "uobject is in invalid state");\ + return (PyObject *)ret; + +#if ENGINE_MINOR_VERSION < 16 +template +struct TStructOpsTypeTraitsBase2 : TStructOpsTypeTraitsBase +{ + +}; +#endif + DECLARE_LOG_CATEGORY_EXTERN(LogPython, Log, All); diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index 2b28c6916..cafc8a468 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -79,6 +79,7 @@ public UnrealEnginePython(TargetInfo Target) #endif { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; PublicIncludePaths.AddRange( new string[] { From b8f4f23f80edaeadf90b0e3cfc660007875a6e30 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 8 Apr 2018 13:05:34 +0200 Subject: [PATCH 120/538] first round of pch removal [2] --- .../Private/Slate/UEPySlateDelegate.h | 118 ++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h new file mode 100644 index 000000000..f2582f5b1 --- /dev/null +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h @@ -0,0 +1,118 @@ +#pragma once + + +#include "SlateBasics.h" +#include "SlateExtras.h" + +#include "PythonSmartDelegate.h" + +struct FPythonItem; + + +class FPythonSlateDelegate : public FPythonSmartDelegate +{ + +public: + FReply OnMouseEvent(const FGeometry &geometry, const FPointerEvent &pointer_event); + FReply OnClicked(); + + FReply OnKeyDown(const FGeometry &geometry, const FKeyEvent &key_event); + void OnTextChanged(const FText &text); + void OnTextCommitted(const FText &text, ETextCommit::Type commit_type); + void OnInt32Changed(int32 value); + void OnInt32Committed(int32 value, ETextCommit::Type commit_type); + void OnFloatChanged(float value); + void OnFloatCommitted(float value, ETextCommit::Type commit_type); + void OnSort(const EColumnSortPriority::Type SortPriority, const FName& ColumnName, const EColumnSortMode::Type NewSortMode); + + void OnLinearColorChanged(FLinearColor color); + + void OnStringChanged(const FString &text); + + TSharedRef SpawnPythonTab(const FSpawnTabArgs& args); + + TSharedRef GenerateRow(TSharedPtr InItem, const TSharedRef& OwnerTable); + void GetChildren(TSharedPtr InItem, TArray>& OutChildren); + +#if WITH_EDITOR + void OnAssetDoubleClicked(const FAssetData& AssetData); + TSharedPtr OnGetAssetContextMenu(const TArray& SelectedAssets); + void OnAssetSelected(const FAssetData& AssetData); + TSharedRef OnExtendContentBrowserMenu(const TArray &SelectedAssets); + void MenuPyAssetBuilder(FMenuBuilder &Builder, TArray SelectedAssets); + void OnAssetChanged(const FAssetData &AssetData); + bool OnShouldFilterAsset(const FAssetData& AssetData); +#endif + + void OnWindowClosed(const TSharedRef &Window); + + TSharedPtr OnContextMenuOpening(); + TSharedRef OnGenerateWidget(TSharedPtr py_item); + TSharedRef OnGetMenuContent(); + void OnSelectionChanged(TSharedPtr py_item, ESelectInfo::Type select_type); + + void SimpleExecuteAction(); + void ExecuteAction(PyObject *py_obj); + + FText GetterFText() const; + FString GetterFString() const; + float GetterFloat() const; + TOptional GetterTFloat() const; + int GetterInt() const; + bool GetterBool() const; + + FVector2D GetterFVector2D() const; + FLinearColor GetterFLinearColor() const; + void CheckBoxChanged(ECheckBoxState state); + + + template T GetterIntT() const + { + FScopePythonGIL gil; + + PyObject *ret = PyObject_CallFunction(py_callable, nullptr); + if (!ret) + { + unreal_engine_py_log_error(); + return (T)0; + } + if (!PyNumber_Check(ret)) + { + PyErr_SetString(PyExc_ValueError, "returned value is not a number"); + Py_DECREF(ret); + return (T)0; + } + + PyObject *py_int = PyNumber_Long(ret); + int n = PyLong_AsLong(py_int); + Py_DECREF(py_int); + Py_DECREF(ret); + return (T)n; + } + + template T GetterStructT() const + { + FScopePythonGIL gil; + + PyObject *ret = PyObject_CallFunction(py_callable, nullptr); + if (!ret) + { + unreal_engine_py_log_error(); + return T(); + } + + T *u_struct = ue_py_check_struct(ret); + if (!u_struct) + { + PyErr_SetString(PyExc_ValueError, "returned value is not a UStruct"); + Py_DECREF(ret); + return T(); + } + + T u_struct_copy = *u_struct; + Py_DECREF(ret); + return u_struct_copy; + } +}; + + From 1c4932f8ebbb5d2e3952973057ae05f0f1ba7c7c Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 8 Apr 2018 16:24:39 +0200 Subject: [PATCH 121/538] disabled unity build --- .../Private/Blueprint/UEPyEdGraphPin.h | 11 ++- .../ConsoleManager/UEPyIConsoleManager.h | 4 +- .../UnrealEnginePython/Private/Fbx/UEPyFbx.h | 2 +- .../Private/Fbx/UEPyFbxIOSettings.cpp | 2 +- .../Private/Fbx/UEPyFbxIOSettings.h | 9 +- .../Private/Fbx/UEPyFbxImporter.h | 9 +- .../Private/Fbx/UEPyFbxManager.cpp | 2 +- .../Private/Fbx/UEPyFbxManager.h | 9 +- .../Private/Fbx/UEPyFbxMesh.cpp | 2 + .../Private/Fbx/UEPyFbxMesh.h | 6 +- .../Private/Fbx/UEPyFbxNode.cpp | 4 + .../Private/Fbx/UEPyFbxNode.h | 2 - .../Private/Fbx/UEPyFbxObject.cpp | 2 +- .../Private/Fbx/UEPyFbxObject.h | 2 +- .../Private/Fbx/UEPyFbxPose.cpp | 2 +- .../Private/Fbx/UEPyFbxPose.h | 11 ++- .../Private/Fbx/UEPyFbxProperty.cpp | 2 +- .../Private/Fbx/UEPyFbxProperty.h | 2 +- .../Private/Fbx/UEPyFbxScene.cpp | 53 ++++++---- .../Private/Fbx/UEPyFbxScene.h | 2 +- .../Private/Http/UEPyIHttpBase.h | 2 +- .../Private/Http/UEPyIHttpRequest.h | 15 +-- .../Private/Http/UEPyIHttpResponse.h | 7 +- .../UEPyFMaterialEditorUtilities.h | 2 +- .../Private/PyCommandlet.cpp | 4 +- .../PythonBlueprintFunctionLibrary.cpp | 7 +- .../Private/PythonDelegate.cpp | 1 + .../Private/PythonSmartDelegate.cpp | 2 + .../Private/Slate/UEPyFGeometry.h | 9 +- .../Private/Slate/UEPyFInputEvent.h | 2 +- .../Private/Slate/UEPyFMenuBuilder.cpp | 11 +-- .../Private/Slate/UEPyFPaintContext.cpp | 2 + .../Private/Slate/UEPyFPaintContext.h | 9 +- .../Private/Slate/UEPyFPointerEvent.cpp | 2 + .../Private/Slate/UEPyFPointerEvent.h | 5 +- .../Private/Slate/UEPyFSlateIcon.cpp | 3 +- .../Private/Slate/UEPyFSlateIcon.h | 9 +- .../Private/Slate/UEPyFTabManager.h | 9 +- .../Private/Slate/UEPyFToolBarBuilder.cpp | 19 ++-- .../Private/Slate/UEPyFToolBarBuilder.h | 9 +- .../Slate/UEPyIStructureDetailsView.cpp | 9 +- .../Private/Slate/UEPyIStructureDetailsView.h | 13 ++- .../Private/Slate/UEPySButton.h | 3 - .../Private/Slate/UEPySCompoundWidget.h | 7 +- .../Private/Slate/UEPySDockTab.cpp | 2 + .../Private/Slate/UEPySDockTab.h | 6 +- .../Private/Slate/UEPySEditorViewport.h | 6 +- .../Private/Slate/UEPySLeafWidget.h | 2 - .../Private/Slate/UEPySLevelViewport.cpp | 4 +- .../Private/Slate/UEPySLevelViewport.h | 2 +- .../Private/Slate/UEPySNumericEntryBox.cpp | 3 - .../Private/Slate/UEPySNumericEntryBox.h | 2 +- .../Private/Slate/UEPySPanel.h | 4 - .../Private/Slate/UEPySPythonEditorViewport.h | 4 +- .../Private/Slate/UEPySPythonListView.cpp | 4 +- .../Private/Slate/UEPySPythonListView.h | 15 +-- .../Slate/UEPySPythonMultiColumnTableRow.cpp | 2 + .../Slate/UEPySPythonMultiColumnTableRow.h | 7 +- .../Private/Slate/UEPySPythonWidget.h | 4 +- .../Private/Slate/UEPySScrollBox.cpp | 2 +- .../Private/Slate/UEPySSlider.h | 6 +- .../Private/Slate/UEPySSplitter.h | 2 - .../Private/Slate/UEPySTextBlock.h | 6 +- .../Private/Slate/UEPySVectorInputBox.h | 6 +- .../Private/Slate/UEPySVerticalBox.cpp | 2 +- .../Private/Slate/UEPySVerticalBox.h | 6 +- .../Private/Slate/UEPySViewport.h | 2 - .../Private/Slate/UEPySWidget.h | 10 +- .../Private/Slate/UEPySWindow.h | 2 - .../Private/Slate/UEPySlate.cpp | 78 +++++++++++++++ .../Private/Slate/UEPySlate.h | 97 +++---------------- .../Private/Slate/UEPySlateDelegate.h | 2 +- .../Private/Slate/UEPySlatePythonItem.h | 13 +++ .../UEPyFSlateApplication.cpp | 1 + .../UnrealEnginePython/Private/UEPyCallable.h | 9 +- .../UnrealEnginePython/Private/UEPyEngine.cpp | 4 +- .../UnrealEnginePython/Private/UEPyEngine.h | 2 +- .../UnrealEnginePython/Private/UEPyIPlugin.h | 11 ++- .../UnrealEnginePython/Private/UEPyModule.cpp | 28 +++--- .../UnrealEnginePython/Private/UEPyModule.h | 8 ++ .../Private/UEPySubclassing.cpp | 12 +++ .../Private/UEPyUClassesImporter.h | 7 +- .../Private/UEPyUStructsImporter.h | 7 +- .../Private/UEPyVisualLogger.h | 2 - .../Private/UObject/UEPyAudio.cpp | 54 +++++++---- .../Private/UObject/UEPyAudio.h | 2 +- .../Private/UObject/UEPyCapture.cpp | 3 + .../Private/UObject/UEPyController.h | 2 +- .../Private/UObject/UEPyDataTable.h | 2 +- .../Private/UObject/UEPyHUD.h | 2 +- .../Private/UObject/UEPyLandscape.cpp | 7 +- .../Private/UObject/UEPyObject.h | 2 +- .../Private/UObject/UEPyPackage.h | 2 +- .../Private/UObject/UEPyPawn.h | 2 +- .../Private/UObject/UEPyPlayer.cpp | 7 ++ .../Private/UObject/UEPySequencer.h | 2 +- .../Private/UObject/UEPyStaticMesh.cpp | 4 + .../Private/UObject/UEPyTexture.cpp | 2 + .../Private/UObject/UEPyTraceAndSweep.cpp | 1 + .../Private/UObject/UEPyUserDefinedStruct.h | 2 +- .../Private/UObject/UEPyViewport.cpp | 2 + .../Private/UObject/UEPyViewport.h | 2 +- .../Private/UObject/UEPyWidget.cpp | 1 + .../Private/UObject/UEPyWidgetComponent.cpp | 1 + .../Private/UObject/UEPyWorld.cpp | 6 +- .../Private/UObject/UEPyWorld.h | 4 +- .../Private/UnrealEnginePython.cpp | 1 + .../Private/Wrappers/UEPyFARFilter.h | 9 +- .../Private/Wrappers/UEPyFAssetData.cpp | 1 + .../Private/Wrappers/UEPyFColor.h | 9 +- .../Private/Wrappers/UEPyFHitResult.h | 2 +- .../Private/Wrappers/UEPyFLinearColor.h | 9 +- .../Private/Wrappers/UEPyFQuat.h | 9 +- .../Private/Wrappers/UEPyFRandomStream.h | 9 +- .../Wrappers/UEPyFRawAnimSequenceTrack.h | 9 +- .../Private/Wrappers/UEPyFRawMesh.h | 4 +- .../Wrappers/UEPyFStringAssetReference.h | 9 +- .../Private/Wrappers/UEPyFTransform.h | 2 +- .../Private/Wrappers/UEPyFVector.h | 9 +- .../Private/Wrappers/UEPyFViewportClient.h | 11 ++- .../UnrealEnginePython/Public/PyCharacter.h | 3 - Source/UnrealEnginePython/Public/PyHUD.h | 2 +- Source/UnrealEnginePython/Public/PyPawn.h | 2 +- .../UnrealEnginePython/Public/PyUserWidget.h | 32 +++--- .../Public/PythonBlueprintFunctionLibrary.h | 7 +- .../Public/PythonComponent.h | 44 ++++----- .../Public/PythonDelegate.h | 6 +- .../Public/PythonFunction.h | 2 +- .../UnrealEnginePython/Public/PythonScript.h | 12 +-- .../UnrealEnginePython.Build.cs | 1 + 130 files changed, 545 insertions(+), 462 deletions(-) create mode 100644 Source/UnrealEnginePython/Private/Slate/UEPySlatePythonItem.h diff --git a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.h b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.h index 3d32a54a1..3883bac69 100644 --- a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.h +++ b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.h @@ -1,15 +1,18 @@ #pragma once +#include "UEPyModule.h" + #if WITH_EDITOR -#include "UnrealEnginePython.h" + #include "Runtime/Engine/Classes/EdGraph/EdGraphPin.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - UEdGraphPin *pin; + /* Type-specific fields go here. */ + UEdGraphPin *pin; } ue_PyEdGraphPin; PyObject *py_ue_new_edgraphpin(UEdGraphPin *); diff --git a/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.h b/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.h index 01815ccfd..d0204dcfb 100644 --- a/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.h +++ b/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.h @@ -1,13 +1,13 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #include "Runtime/Core/Public/HAL/IConsoleManager.h" typedef struct { PyObject_HEAD - /* Type-specific fields go here. */ + /* Type-specific fields go here. */ } ue_PyIConsoleManager; class FPythonSmartConsoleDelegate : public FPythonSmartDelegate diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbx.h b/Source/UnrealEnginePython/Private/Fbx/UEPyFbx.h index 4991574ac..8aa62ac37 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbx.h +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbx.h @@ -1,6 +1,6 @@ #pragma once #if ENGINE_MINOR_VERSION > 12 -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxIOSettings.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxIOSettings.cpp index 4cec37355..c736e7f08 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxIOSettings.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxIOSettings.cpp @@ -4,7 +4,7 @@ #if WITH_EDITOR - +#include "UEPyFbx.h" static PyMethodDef ue_PyFbxIOSettings_methods[] = { { NULL } /* Sentinel */ diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxIOSettings.h b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxIOSettings.h index 0b3bf55a5..5e2f7ce2e 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxIOSettings.h +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxIOSettings.h @@ -1,14 +1,15 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #if WITH_EDITOR #include -struct ue_PyFbxIOSettings { +struct ue_PyFbxIOSettings +{ PyObject_HEAD - /* Type-specific fields go here. */ - FbxIOSettings *fbx_io_settings; + /* Type-specific fields go here. */ + FbxIOSettings *fbx_io_settings; }; diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxImporter.h b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxImporter.h index 551bb36df..6e39606d8 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxImporter.h +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxImporter.h @@ -1,14 +1,15 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #if WITH_EDITOR #include -struct ue_PyFbxImporter { +struct ue_PyFbxImporter +{ PyObject_HEAD - /* Type-specific fields go here. */ - FbxImporter *fbx_importer; + /* Type-specific fields go here. */ + FbxImporter *fbx_importer; }; diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxManager.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxManager.cpp index 5f72bfccf..0a8fe98f1 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxManager.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxManager.cpp @@ -4,7 +4,7 @@ #if WITH_EDITOR - +#include "UEPyFbx.h" static PyObject *py_ue_fbx_manager_set_io_settings(ue_PyFbxManager *self, PyObject *args) { diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxManager.h b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxManager.h index 1f15f0a62..7612cf5f4 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxManager.h +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxManager.h @@ -1,14 +1,15 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #if WITH_EDITOR #include -struct ue_PyFbxManager { +struct ue_PyFbxManager +{ PyObject_HEAD - /* Type-specific fields go here. */ - FbxManager *fbx_manager; + /* Type-specific fields go here. */ + FbxManager *fbx_manager; }; diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.cpp index 0a1816a78..b54d12aa0 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.cpp @@ -4,6 +4,8 @@ #if WITH_EDITOR #if ENGINE_MINOR_VERSION > 12 +#include "UEPyFbx.h" + static PyObject *py_ue_fbx_mesh_get_polygon_count(ue_PyFbxMesh *self, PyObject *args) { return PyLong_FromLong(self->fbx_mesh->GetPolygonCount()); diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.h b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.h index be525201f..8ce531152 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.h +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxMesh.h @@ -1,5 +1,5 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #if WITH_EDITOR #if ENGINE_MINOR_VERSION > 12 @@ -9,8 +9,8 @@ struct ue_PyFbxMesh { PyObject_HEAD - /* Type-specific fields go here. */ - FbxMesh *fbx_mesh; + /* Type-specific fields go here. */ + FbxMesh *fbx_mesh; }; diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.cpp index 364ffc8ce..976fe8602 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.cpp @@ -2,6 +2,10 @@ #if WITH_EDITOR #if ENGINE_MINOR_VERSION > 12 + +#include "UEPyFbx.h" + + static PyObject *py_ue_fbx_node_get_child_count(ue_PyFbxNode *self, PyObject *args) { return PyLong_FromLong(self->fbx_node->GetChildCount()); diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.h b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.h index 48d17b4ce..9ccf8f847 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.h +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxNode.h @@ -1,7 +1,5 @@ #pragma once #include "UEPyModule.h" -#include "Wrappers/UEPyFVector.h" -#include "Wrappers/UEPyFTransform.h" #if WITH_EDITOR #if ENGINE_MINOR_VERSION > 12 diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxObject.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxObject.cpp index 62b89fb91..ffd304ba5 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxObject.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxObject.cpp @@ -4,7 +4,7 @@ #if ENGINE_MINOR_VERSION > 12 #if WITH_EDITOR - +#include "UEPyFbx.h" static PyObject *py_ue_fbx_object_get_name(ue_PyFbxObject *self, PyObject *args) { diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxObject.h b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxObject.h index 0ebb320ef..0c04d2673 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxObject.h +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxObject.h @@ -1,5 +1,5 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxPose.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxPose.cpp index 898d0b0e6..6d0390297 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxPose.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxPose.cpp @@ -4,7 +4,7 @@ #if WITH_EDITOR - +#include "UEPyFbx.h" static PyObject *py_ue_fbx_pose_get_count(ue_PyFbxPose *self, PyObject *args) { diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxPose.h b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxPose.h index 5c8bda476..4ddeaa1c6 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxPose.h +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxPose.h @@ -1,19 +1,20 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #if WITH_EDITOR #include -struct ue_PyFbxPose { +struct ue_PyFbxPose +{ PyObject_HEAD - /* Type-specific fields go here. */ - FbxPose *fbx_pose; + /* Type-specific fields go here. */ + FbxPose *fbx_pose; }; void ue_python_init_fbx_pose(PyObject *); -PyObject *py_ue_new_fbx_pose(FbxNode *); +PyObject *py_ue_new_fbx_pose(FbxPose *); #endif diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxProperty.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxProperty.cpp index 5c6183797..b6e513550 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxProperty.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxProperty.cpp @@ -3,7 +3,7 @@ #if ENGINE_MINOR_VERSION > 12 #if WITH_EDITOR - +#include "UEPyFbx.h" static PyObject *py_ue_fbx_property_get_name(ue_PyFbxProperty *self, PyObject *args) { return PyUnicode_FromString(self->fbx_property.GetName()); diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxProperty.h b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxProperty.h index 9ec42ff2e..5b975f64e 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxProperty.h +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxProperty.h @@ -1,5 +1,5 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxScene.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxScene.cpp index df9e9af0e..8fd9ca67c 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxScene.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxScene.cpp @@ -4,28 +4,34 @@ #if WITH_EDITOR +#include "UEPyFbx.h" - -static PyObject *py_ue_fbx_scene_get_root_node(ue_PyFbxScene *self, PyObject *args) { +static PyObject *py_ue_fbx_scene_get_root_node(ue_PyFbxScene *self, PyObject *args) +{ FbxNode *fbx_node = self->fbx_scene->GetRootNode(); - if (!fbx_node) { + if (!fbx_node) + { return PyErr_Format(PyExc_Exception, "unable to get RootNode from FbxScene"); } return py_ue_new_fbx_node(fbx_node); } -static PyObject *py_ue_fbx_scene_get_src_object_count(ue_PyFbxScene *self, PyObject *args) { +static PyObject *py_ue_fbx_scene_get_src_object_count(ue_PyFbxScene *self, PyObject *args) +{ return PyLong_FromLong(self->fbx_scene->GetSrcObjectCount()); } -static PyObject *py_ue_fbx_scene_get_pose_count(ue_PyFbxScene *self, PyObject *args) { +static PyObject *py_ue_fbx_scene_get_pose_count(ue_PyFbxScene *self, PyObject *args) +{ return PyLong_FromLong(self->fbx_scene->GetPoseCount()); } -static PyObject *py_ue_fbx_scene_get_src_object(ue_PyFbxScene *self, PyObject *args) { +static PyObject *py_ue_fbx_scene_get_src_object(ue_PyFbxScene *self, PyObject *args) +{ int index; - if (!PyArg_ParseTuple(args, "i", &index)) { + if (!PyArg_ParseTuple(args, "i", &index)) + { return nullptr; } FbxObject *fbx_object = self->fbx_scene->GetSrcObject(index); @@ -35,9 +41,11 @@ static PyObject *py_ue_fbx_scene_get_src_object(ue_PyFbxScene *self, PyObject *a return py_ue_new_fbx_object(fbx_object); } -static PyObject *py_ue_fbx_scene_get_pose(ue_PyFbxScene *self, PyObject *args) { +static PyObject *py_ue_fbx_scene_get_pose(ue_PyFbxScene *self, PyObject *args) +{ int index; - if (!PyArg_ParseTuple(args, "i", &index)) { + if (!PyArg_ParseTuple(args, "i", &index)) + { return nullptr; } FbxPose *fbx_pose = self->fbx_scene->GetPose(index); @@ -47,7 +55,8 @@ static PyObject *py_ue_fbx_scene_get_pose(ue_PyFbxScene *self, PyObject *args) { return py_ue_new_fbx_pose(fbx_pose); } -static PyObject *py_ue_fbx_scene_convert(ue_PyFbxScene *self, PyObject *args) { +static PyObject *py_ue_fbx_scene_convert(ue_PyFbxScene *self, PyObject *args) +{ FbxScene *scene = self->fbx_scene; FbxAxisSystem::ECoordSystem coord_system = FbxAxisSystem::eRightHanded; @@ -56,7 +65,8 @@ static PyObject *py_ue_fbx_scene_convert(ue_PyFbxScene *self, PyObject *args) { FbxAxisSystem unreal(up_vector, front_vector, coord_system); - if (scene->GetGlobalSettings().GetAxisSystem() != unreal) { + if (scene->GetGlobalSettings().GetAxisSystem() != unreal) + { FbxRootNodeUtility::RemoveAllFbxRoots(scene); unreal.ConvertScene(scene); } @@ -66,12 +76,14 @@ static PyObject *py_ue_fbx_scene_convert(ue_PyFbxScene *self, PyObject *args) { Py_RETURN_NONE; } -static PyObject *py_ue_fbx_scene_triangulate(ue_PyFbxScene *self, PyObject *args) { +static PyObject *py_ue_fbx_scene_triangulate(ue_PyFbxScene *self, PyObject *args) +{ FbxScene *scene = self->fbx_scene; FbxGeometryConverter converter(scene->GetFbxManager()); - if (converter.Triangulate(scene, true)) { + if (converter.Triangulate(scene, true)) + { Py_RETURN_TRUE; } @@ -122,15 +134,18 @@ static PyTypeObject ue_PyFbxSceneType = { 0, /* tp_getset */ }; -static int py_ue_fbx_scene_init(ue_PyFbxScene *self, PyObject * args) { +static int py_ue_fbx_scene_init(ue_PyFbxScene *self, PyObject * args) +{ PyObject *py_object; char *name; - if (!PyArg_ParseTuple(args, "Os", &py_object, &name)) { + if (!PyArg_ParseTuple(args, "Os", &py_object, &name)) + { return -1; } ue_PyFbxManager *py_fbx_manager = py_ue_is_fbx_manager(py_object); - if (!py_fbx_manager) { + if (!py_fbx_manager) + { PyErr_SetString(PyExc_Exception, "argument is not a FbxManager"); return -1; } @@ -139,7 +154,8 @@ static int py_ue_fbx_scene_init(ue_PyFbxScene *self, PyObject * args) { return 0; } -void ue_python_init_fbx_scene(PyObject *ue_module) { +void ue_python_init_fbx_scene(PyObject *ue_module) +{ ue_PyFbxSceneType.tp_new = PyType_GenericNew;; ue_PyFbxSceneType.tp_init = (initproc)py_ue_fbx_scene_init; if (PyType_Ready(&ue_PyFbxSceneType) < 0) @@ -149,7 +165,8 @@ void ue_python_init_fbx_scene(PyObject *ue_module) { PyModule_AddObject(ue_module, "FbxScene", (PyObject *)&ue_PyFbxSceneType); } -ue_PyFbxScene *py_ue_is_fbx_scene(PyObject *obj) { +ue_PyFbxScene *py_ue_is_fbx_scene(PyObject *obj) +{ if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyFbxSceneType)) return nullptr; return (ue_PyFbxScene *)obj; diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxScene.h b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxScene.h index 9ec9e31ac..61ccd8e6c 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxScene.h +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxScene.h @@ -1,5 +1,5 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/Http/UEPyIHttpBase.h b/Source/UnrealEnginePython/Private/Http/UEPyIHttpBase.h index e6a68a83f..05f26e807 100644 --- a/Source/UnrealEnginePython/Private/Http/UEPyIHttpBase.h +++ b/Source/UnrealEnginePython/Private/Http/UEPyIHttpBase.h @@ -1,6 +1,6 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #include "Runtime/Online/HTTP/Public/HttpModule.h" #include "Runtime/Online/HTTP/Public/Interfaces/IHttpBase.h" diff --git a/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.h b/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.h index 4873942f6..024900747 100644 --- a/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.h +++ b/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.h @@ -1,14 +1,15 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #include "Runtime/Online/HTTP/Public/Interfaces/IHttpRequest.h" #include "Runtime/Online/HTTP/Public/HttpModule.h" - +#include "UEPyIHttpBase.h" extern PyTypeObject ue_PyIHttpBaseType; -typedef struct { +typedef struct +{ ue_PyIHttpBase base; /* Type-specific fields go here. */ TSharedRef http_request; @@ -25,14 +26,16 @@ class FPythonSmartHttpDelegate : public FPythonSmartDelegate void OnRequestComplete(FHttpRequestPtr request, FHttpResponsePtr response, bool successful); void OnRequestProgress(FHttpRequestPtr request, int32 sent, int32 received); - void SetPyHttpRequest(ue_PyIHttpRequest *request) { + void SetPyHttpRequest(ue_PyIHttpRequest *request) + { py_http_request = request; Py_INCREF(py_http_request); } - ~FPythonSmartHttpDelegate() { + ~FPythonSmartHttpDelegate() + { Py_XDECREF(py_http_request); } protected: - ue_PyIHttpRequest *py_http_request; + ue_PyIHttpRequest * py_http_request; }; diff --git a/Source/UnrealEnginePython/Private/Http/UEPyIHttpResponse.h b/Source/UnrealEnginePython/Private/Http/UEPyIHttpResponse.h index 52250bbe7..65c199bee 100644 --- a/Source/UnrealEnginePython/Private/Http/UEPyIHttpResponse.h +++ b/Source/UnrealEnginePython/Private/Http/UEPyIHttpResponse.h @@ -1,13 +1,16 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #include "Runtime/Online/HTTP/Public/Interfaces/IHttpResponse.h" #include "Runtime/Online/HTTP/Public/HttpModule.h" +#include "UEPyIHttpBase.h" + extern PyTypeObject ue_PyIHttpBaseType; -typedef struct { +typedef struct +{ ue_PyIHttpBase base; /* Type-specific fields go here. */ IHttpResponse *http_response; diff --git a/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.h b/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.h index 7e6b7d5d3..d0fbc49c0 100644 --- a/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.h +++ b/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.h @@ -1,6 +1,6 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/PyCommandlet.cpp b/Source/UnrealEnginePython/Private/PyCommandlet.cpp index cc26e3f01..3a6d35d58 100644 --- a/Source/UnrealEnginePython/Private/PyCommandlet.cpp +++ b/Source/UnrealEnginePython/Private/PyCommandlet.cpp @@ -2,6 +2,8 @@ #include "PyCommandlet.h" +#include "UEPyModule.h" + #include "Regex.h" UPyCommandlet::UPyCommandlet(const FObjectInitializer& ObjectInitializer) @@ -92,7 +94,7 @@ int32 UPyCommandlet::Main(const FString& CommandLine) strcpy_s(argv[i], PyArgv[i].Len() + 1, TCHAR_TO_UTF8(*PyArgv[i].ReplaceEscapedCharWithChar())); #endif #endif - } +} PySys_SetArgv(PyArgv.Num(), argv); diff --git a/Source/UnrealEnginePython/Private/PythonBlueprintFunctionLibrary.cpp b/Source/UnrealEnginePython/Private/PythonBlueprintFunctionLibrary.cpp index 4b07d454b..2bef39d34 100644 --- a/Source/UnrealEnginePython/Private/PythonBlueprintFunctionLibrary.cpp +++ b/Source/UnrealEnginePython/Private/PythonBlueprintFunctionLibrary.cpp @@ -2,13 +2,14 @@ #include "PythonBlueprintFunctionLibrary.h" -void UPythonBlueprintFunctionLibrary::ExecutePythonScript(FString script) { +void UPythonBlueprintFunctionLibrary::ExecutePythonScript(FString script) +{ FUnrealEnginePythonModule &PythonModule = FModuleManager::GetModuleChecked("UnrealEnginePython"); PythonModule.RunFile(TCHAR_TO_UTF8(*script)); } void UPythonBlueprintFunctionLibrary::ExecutePythonString(const FString& PythonCmd) { - FUnrealEnginePythonModule &PythonModule = FModuleManager::GetModuleChecked("UnrealEnginePython"); - PythonModule.RunString(TCHAR_TO_UTF8(*PythonCmd)); + FUnrealEnginePythonModule &PythonModule = FModuleManager::GetModuleChecked("UnrealEnginePython"); + PythonModule.RunString(TCHAR_TO_UTF8(*PythonCmd)); } diff --git a/Source/UnrealEnginePython/Private/PythonDelegate.cpp b/Source/UnrealEnginePython/Private/PythonDelegate.cpp index a98fe1f97..0ed596d4b 100644 --- a/Source/UnrealEnginePython/Private/PythonDelegate.cpp +++ b/Source/UnrealEnginePython/Private/PythonDelegate.cpp @@ -1,5 +1,6 @@ #include "PythonDelegate.h" +#include "UEPyModule.h" UPythonDelegate::UPythonDelegate() { diff --git a/Source/UnrealEnginePython/Private/PythonSmartDelegate.cpp b/Source/UnrealEnginePython/Private/PythonSmartDelegate.cpp index 0f7af8ac6..e2eae421b 100644 --- a/Source/UnrealEnginePython/Private/PythonSmartDelegate.cpp +++ b/Source/UnrealEnginePython/Private/PythonSmartDelegate.cpp @@ -1,6 +1,8 @@ #include "PythonSmartDelegate.h" +#include "UEPyModule.h" + FPythonSmartDelegate::FPythonSmartDelegate() { py_callable = nullptr; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFGeometry.h b/Source/UnrealEnginePython/Private/Slate/UEPyFGeometry.h index 4ffeb0518..f983f1007 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFGeometry.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFGeometry.h @@ -1,13 +1,14 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #include "Runtime/SlateCore/Public/Layout/Geometry.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - FGeometry geometry; + /* Type-specific fields go here. */ + FGeometry geometry; } ue_PyFGeometry; void ue_python_init_fgeometry(PyObject *); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFInputEvent.h b/Source/UnrealEnginePython/Private/Slate/UEPyFInputEvent.h index eab8515b7..3541a5381 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFInputEvent.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFInputEvent.h @@ -1,6 +1,6 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #include "Runtime/SlateCore/Public/Input/Events.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp index abe3d0891..1aa92d703 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp @@ -1,6 +1,6 @@ #include "UEPyFMenuBuilder.h" - +#include "Wrappers/UEPyESlateEnums.h" static PyObject *py_ue_fmenu_builder_begin_section(ue_PyFMenuBuilder *self, PyObject * args) { @@ -11,16 +11,14 @@ static PyObject *py_ue_fmenu_builder_begin_section(ue_PyFMenuBuilder *self, PyOb self->menu_builder.BeginSection(name, FText::FromString(UTF8_TO_TCHAR(text))); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject *py_ue_fmenu_builder_end_section(ue_PyFMenuBuilder *self, PyObject * args) { self->menu_builder.EndSection(); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject *py_ue_fmenu_builder_make_widget(ue_PyFMenuBuilder *self, PyObject * args) @@ -80,8 +78,7 @@ static PyObject *py_ue_fmenu_builder_add_menu_separator(ue_PyFMenuBuilder *self, self->menu_builder.AddMenuSeparator(f_name); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFPaintContext.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFPaintContext.cpp index 383acf3f0..367ca07ce 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFPaintContext.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFPaintContext.cpp @@ -1,5 +1,7 @@ #include "UEPyFPaintContext.h" +#include "UEPyFGeometry.h" + static FSlateBrush global_simple_brush; static PyObject *py_ue_fpaint_context_draw_line(ue_PyFPaintContext *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFPaintContext.h b/Source/UnrealEnginePython/Private/Slate/UEPyFPaintContext.h index 1d50e7dfd..cb2af2acd 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFPaintContext.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFPaintContext.h @@ -1,13 +1,14 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #include "Runtime/UMG/Public/Blueprint/UserWidget.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - FPaintContext paint_context; + /* Type-specific fields go here. */ + FPaintContext paint_context; } ue_PyFPaintContext; void ue_python_init_fpaint_context(PyObject *); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp index 259717238..028d18f42 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp @@ -1,5 +1,7 @@ #include "UEPyFPointerEvent.h" +#include "UEPyFModifierKeysState.h" + static PyObject *py_ue_fpointer_event_get_effecting_button(ue_PyFPointerEvent *self, PyObject * args) { FKey key = self->pointer.GetEffectingButton(); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.h b/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.h index e66ad673f..91aca2a59 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.h @@ -1,12 +1,11 @@ #pragma once -#include "UnrealEnginePython.h" - #include "UEPyFInputEvent.h" extern PyTypeObject ue_PyFInputEventType; -typedef struct { +typedef struct +{ /* Type-specific fields go here. */ ue_PyFInputEvent f_input; FPointerEvent pointer; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp index 23ab90e6f..a3ff52b7f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp @@ -3,8 +3,7 @@ static PyObject *py_ue_fslate_icon_get_icon(ue_PyFSlateIcon *self, PyObject * args) { - PyObject *ret = py_ue_new_uscriptstruct(FSlateBrush::StaticStruct(), (uint8*)self->icon.GetIcon()); - return ret; + return py_ue_new_uscriptstruct(FSlateBrush::StaticStruct(), (uint8*)self->icon.GetIcon()); } static PyMethodDef ue_PyFSlateIcon_methods[] = { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.h b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.h index b32b07af5..9df78f927 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.h @@ -1,13 +1,14 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #include "Runtime/SlateCore/Public/Textures/SlateIcon.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - FSlateIcon icon; + /* Type-specific fields go here. */ + FSlateIcon icon; } ue_PyFSlateIcon; void ue_python_init_fslate_icon(PyObject *); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFTabManager.h b/Source/UnrealEnginePython/Private/Slate/UEPyFTabManager.h index 66890ebe4..5221910de 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFTabManager.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFTabManager.h @@ -1,13 +1,14 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #include "Runtime/Slate/Public/Framework/Docking/TabManager.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - TSharedRef tab_manager; + /* Type-specific fields go here. */ + TSharedRef tab_manager; } ue_PyFTabManager; PyObject *py_ue_new_ftab_manager(TSharedRef); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp index 8de519c53..71712c822 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp @@ -1,5 +1,6 @@ #include "UEPyFToolBarBuilder.h" +#include "UEPyFSlateIcon.h" #include "Runtime/Slate/Public/Framework/Commands/UIAction.h" static PyObject *py_ue_ftool_bar_builder_begin_section(ue_PyFToolBarBuilder *self, PyObject * args) @@ -10,16 +11,14 @@ static PyObject *py_ue_ftool_bar_builder_begin_section(ue_PyFToolBarBuilder *sel self->tool_bar_builder.BeginSection(FName(name)); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject *py_ue_ftool_bar_builder_end_section(ue_PyFToolBarBuilder *self, PyObject * args) { self->tool_bar_builder.EndSection(); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject *py_ue_ftool_bar_builder_add_tool_bar_button(ue_PyFToolBarBuilder *self, PyObject * args) @@ -59,8 +58,7 @@ static PyObject *py_ue_ftool_bar_builder_add_tool_bar_button(ue_PyFToolBarBuilde self->tool_bar_builder.AddToolBarButton(FUIAction(handler), FName(hook), FText::FromString(UTF8_TO_TCHAR(label)), FText::FromString(UTF8_TO_TCHAR(tooltip)), py_slate_icon->icon); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject *py_ue_ftool_bar_builder_add_separator(ue_PyFToolBarBuilder *self, PyObject * args) @@ -77,8 +75,7 @@ static PyObject *py_ue_ftool_bar_builder_add_separator(ue_PyFToolBarBuilder *sel self->tool_bar_builder.AddSeparator(f_name); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } @@ -86,16 +83,14 @@ static PyObject *py_ue_ftool_bar_builder_begin_block_group(ue_PyFToolBarBuilder { self->tool_bar_builder.BeginBlockGroup(); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject *py_ue_ftool_bar_builder_end_block_group(ue_PyFToolBarBuilder *self, PyObject * args) { self->tool_bar_builder.EndBlockGroup(); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject *py_ue_ftool_bar_builder_make_widget(ue_PyFToolBarBuilder *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.h b/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.h index 992798517..56f8870a6 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.h @@ -1,13 +1,14 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPySlate.h" #include "Runtime/Slate/Public/Framework/MultiBox/MultiBoxBuilder.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - FToolBarBuilder tool_bar_builder; + /* Type-specific fields go here. */ + FToolBarBuilder tool_bar_builder; } ue_PyFToolBarBuilder; void ue_python_init_ftool_bar_builder(PyObject *); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp index adaa1008b..fed47d42a 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp @@ -3,8 +3,9 @@ #if WITH_EDITOR -#include "IStructureDetailsView.h" +#include "Editor/PropertyEditor/Public/PropertyEditorModule.h" +#include "UEPySWidget.h" //#define sw_idetails_view StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) @@ -68,10 +69,6 @@ static PyObject *py_ue_istructure_details_view_set_structure_data(ue_PyIStructur static PyObject *py_ue_istructure_details_view_get_widget(ue_PyIStructureDetailsView *self, PyObject * args) { - if (!self->istructure_details_view.IsValid()) - { - return PyErr_Format(PyExc_Exception, "IStructureDetailsView is not valid"); - } TSharedPtr ret_widget = self->istructure_details_view->GetWidget(); if (!ret_widget.IsValid()) @@ -194,7 +191,7 @@ static int ue_py_istructure_details_view_init(ue_PyIStructureDetailsView *self, Py_INCREF(self->ue_py_struct); TSharedPtr struct_scope = MakeShared(ue_py_struct->u_struct, ue_py_struct->data); FPropertyEditorModule& PropertyEditorModule = FModuleManager::GetModuleChecked("PropertyEditor"); - self->istructure_details_view = PropertyEditorModule.CreateStructureDetailView(view_args, struct_view_args, struct_scope); + new(&self->istructure_details_view) TSharedRef(PropertyEditorModule.CreateStructureDetailView(view_args, struct_view_args, struct_scope)); return 0; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.h b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.h index 54db231bf..60006989d 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.h @@ -1,13 +1,16 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" + +#include "IStructureDetailsView.h" #if WITH_EDITOR -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - TSharedPtr istructure_details_view; - ue_PyUScriptStruct *ue_py_struct; + /* Type-specific fields go here. */ + TSharedRef istructure_details_view; + ue_PyUScriptStruct *ue_py_struct; } ue_PyIStructureDetailsView; void ue_python_init_istructure_details_view(PyObject *); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySButton.h b/Source/UnrealEnginePython/Private/Slate/UEPySButton.h index 0cf39561d..5f09791f0 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySButton.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySButton.h @@ -1,8 +1,5 @@ #pragma once -#include "UnrealEnginePython.h" - - #include "UEPySBorder.h" #include "Runtime/Slate/Public/Widgets/Input/SButton.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySCompoundWidget.h b/Source/UnrealEnginePython/Private/Slate/UEPySCompoundWidget.h index 65adee30a..b73d8ebf1 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySCompoundWidget.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySCompoundWidget.h @@ -1,14 +1,11 @@ #pragma once - -#include "UnrealEnginePython.h" - - #include "UEPySWidget.h" extern PyTypeObject ue_PySCompoundWidgetType; -typedef struct { +typedef struct +{ ue_PySWidget s_widget; /* Type-specific fields go here. */ } ue_PySCompoundWidget; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySDockTab.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySDockTab.cpp index 338b4175a..d8beb88ad 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySDockTab.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySDockTab.cpp @@ -1,6 +1,8 @@ #include "UEPySDockTab.h" +#include "UEPyFTabManager.h" + static PyObject *py_ue_sdock_tab_set_label(ue_PySDockTab *self, PyObject * args) { ue_py_slate_cast(SDockTab); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySDockTab.h b/Source/UnrealEnginePython/Private/Slate/UEPySDockTab.h index 42f28f228..f1be66f1b 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySDockTab.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySDockTab.h @@ -1,15 +1,13 @@ #pragma once -#include "UnrealEnginePython.h" - - #include "UEPySBorder.h" #include "Runtime/Slate/Public/Widgets/Docking/SDockTab.h" extern PyTypeObject ue_PySDockTabType; -typedef struct { +typedef struct +{ ue_PySBorder s_border; /* Type-specific fields go here. */ } ue_PySDockTab; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySEditorViewport.h b/Source/UnrealEnginePython/Private/Slate/UEPySEditorViewport.h index aafedd8a0..e0675419e 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySEditorViewport.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySEditorViewport.h @@ -1,15 +1,13 @@ #pragma once -#include "UnrealEnginePython.h" - - #include "UEPySCompoundWidget.h" #include "Editor/UnrealEd/Public/SEditorViewport.h" extern PyTypeObject ue_PySEditorViewportType; -typedef struct { +typedef struct +{ ue_PySCompoundWidget s_compound_widget; /* Type-specific fields go here. */ } ue_PySEditorViewport; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySLeafWidget.h b/Source/UnrealEnginePython/Private/Slate/UEPySLeafWidget.h index 126d6669d..ffa84c904 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySLeafWidget.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySLeafWidget.h @@ -1,7 +1,5 @@ #pragma once -#include "UnrealEnginePython.h" - #include "UEPySWidget.h" #include "Runtime/SlateCore/Public/Widgets/SLeafWidget.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.cpp index a1a5b0e69..fd8cce68b 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.cpp @@ -56,7 +56,7 @@ static PyObject *py_ue_slevel_viewport_set_view_mode(ue_PySLevelViewport *self, Py_RETURN_SLATE_SELF; } -static PyObject *py_ue_slevel_viewport_set_exposure_settings(ue_PySPythonEditorViewport *self, PyObject * args) +static PyObject *py_ue_slevel_viewport_set_exposure_settings(ue_PySLevelViewport *self, PyObject * args) { ue_py_slate_cast(SLevelViewport); PyObject *py_settings; @@ -77,7 +77,7 @@ static PyObject *py_ue_slevel_viewport_set_exposure_settings(ue_PySPythonEditorV } /* -PyObject *py_ue_spython_editor_viewport_simulate(ue_PySPythonEditorViewport *self, PyObject * args) { +PyObject *py_ue_spython_editor_viewport_simulate(ue_PySLevelViewport *self, PyObject * args) { sw_python_editor_viewport->GetViewportClient()->SetIsSimulateInEditorViewport(true); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.h b/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.h index c2316b7fa..0ba352c09 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.h @@ -1,6 +1,6 @@ #pragma once -#include "UEPySlate.h" +#include "UEPySEditorViewport.h" #include "Editor/LevelEditor/Public/SLevelViewport.h" #include "Editor/LevelEditor/Private/SLevelEditor.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.cpp index 0a05685da..5f4df21bc 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.cpp @@ -3,9 +3,6 @@ #include "UEPySNumericEntryBox.h" -#define sw_float_numeric_entry_box StaticCastSharedRef>(self->s_compound_widget.s_widget.s_widget) - - static PyMethodDef ue_PySNumericEntryBox_methods[] = { { NULL } /* Sentinel */ }; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.h b/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.h index e142a28d6..dd73a90c4 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.h @@ -1,7 +1,7 @@ #pragma once -#include "UEPySlate.h" +#include "UEPySCompoundWidget.h" #include "Runtime/Slate/Public/SlateFwd.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPanel.h b/Source/UnrealEnginePython/Private/Slate/UEPySPanel.h index 0c12eee66..40a121073 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPanel.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPanel.h @@ -1,9 +1,5 @@ #pragma once - -#include "UnrealEnginePython.h" - - #include "UEPySWidget.h" extern PyTypeObject ue_PySPanelType; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.h b/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.h index ef4704d0f..cbd9bef3e 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.h @@ -1,6 +1,6 @@ #pragma once -#include "UEPySlate.h" +#include "UEPySEditorViewport.h" #include "Editor/UnrealEd/Public/SEditorViewport.h" #include "Editor/UnrealEd/Public/EditorViewportClient.h" @@ -8,8 +8,6 @@ #include "Editor/UnrealEd/Public/SCommonEditorViewportToolbarBase.h" #include "Editor/UnrealEd/Public/STransformViewportToolbar.h" -#include "Wrappers/UEPyFRotator.h" - #include "EngineUtils.h" extern PyTypeObject ue_PySEditorViewportType; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp index 89d9617f3..79f9fed20 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.cpp @@ -1,8 +1,8 @@ - - #include "UEPySPythonListView.h" +#include "UEPySHeaderRow.h" + void SPythonListView::SetHeaderRow(TSharedPtr InHeaderRowWidget) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.h b/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.h index 8e981336a..482a4e23e 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonListView.h @@ -1,24 +1,25 @@ #pragma once -#include "UnrealEnginePython.h" - #include "UEPySListView.h" extern PyTypeObject ue_PySPythonListViewType; -class SPythonListView : public SListView> { +class SPythonListView : public SListView> +{ public: - ~SPythonListView() { + ~SPythonListView() + { delete(ItemsSource); } - void SetHeaderRow(TSharedPtr InHeaderRowWidget); + void SetHeaderRow(TSharedPtr InHeaderRowWidget); }; -typedef struct { +typedef struct +{ ue_PySListView s_list_view; /* Type-specific fields go here. */ - TArray> item_source_list; + TArray> item_source_list; } ue_PySPythonListView; void ue_python_init_spython_list_view(PyObject *); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.cpp index 4d3f5fb6b..4f40f1106 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.cpp @@ -2,6 +2,8 @@ #include "UEPySPythonMultiColumnTableRow.h" +#include "UEPySTableViewBase.h" + static PyMethodDef ue_PySPythonMultiColumnTableRow_methods[] = { { NULL } /* Sentinel */ }; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h index 008db3eac..4ed260580 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h @@ -1,11 +1,6 @@ #pragma once -#include "UEPySlate.h" - -#include "UEPyUScriptStruct.h" - -#include "UEPyFGeometry.h" -#include "UEPyFPointerEvent.h" +#include "UEPySCompoundWidget.h" extern PyTypeObject ue_PySCompoundWidgetType; extern PyTypeObject ue_PySTableViewBaseType; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.h b/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.h index 76174978c..52d927c08 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonWidget.h @@ -1,8 +1,6 @@ #pragma once -#include "UEPySWidget.h" - -#include "Widgets/SCompoundWidget.h" +#include "UEPySCompoundWidget.h" #include "Runtime/UMG/Public/Blueprint/UserWidget.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySScrollBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySScrollBox.cpp index 0fa1ba8b0..3a22a5c92 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySScrollBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySScrollBox.cpp @@ -54,7 +54,7 @@ static PyMethodDef ue_PySScrollBox_methods[] = { PyTypeObject ue_PySScrollBoxType = { PyVarObject_HEAD_INIT(NULL, 0) "unreal_engine.SScrollBox", /* tp_name */ - sizeof(ue_PySNumericEntryBox), /* tp_basicsize */ + sizeof(ue_PySScrollBox), /* tp_basicsize */ 0, /* tp_itemsize */ 0, /* tp_dealloc */ 0, /* tp_print */ diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySSlider.h b/Source/UnrealEnginePython/Private/Slate/UEPySSlider.h index 964996eec..4526af97f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySSlider.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySSlider.h @@ -1,15 +1,13 @@ #pragma once -#include "UnrealEnginePython.h" - - #include "UEPySLeafWidget.h" #include "Runtime/Slate/Public/Widgets/Input/SSlider.h" extern PyTypeObject ue_PySSliderType; -typedef struct { +typedef struct +{ ue_PySLeafWidget s_leaf_widget; /* Type-specific fields go here. */ } ue_PySSlider; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySSplitter.h b/Source/UnrealEnginePython/Private/Slate/UEPySSplitter.h index cd57dcf79..a91bca7e2 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySSplitter.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySSplitter.h @@ -1,7 +1,5 @@ #pragma once -#include "UEPyModule.h" - #include "UEPySPanel.h" #include "Runtime/Slate/Public/Widgets/Layout/SSplitter.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySTextBlock.h b/Source/UnrealEnginePython/Private/Slate/UEPySTextBlock.h index f4f2e8355..03f71a178 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySTextBlock.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySTextBlock.h @@ -1,15 +1,13 @@ #pragma once -#include "UnrealEnginePython.h" - - #include "UEPySLeafWidget.h" #include "Runtime/Slate/Public/Widgets/Text/STextBlock.h" extern PyTypeObject ue_PySTextBlockType; -typedef struct { +typedef struct +{ ue_PySLeafWidget s_leaf_widget; /* Type-specific fields go here. */ } ue_PySTextBlock; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySVectorInputBox.h b/Source/UnrealEnginePython/Private/Slate/UEPySVectorInputBox.h index 02b23e73f..b46d090db 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySVectorInputBox.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySVectorInputBox.h @@ -1,15 +1,13 @@ #pragma once -#include "UnrealEnginePython.h" - - #include "UEPySCompoundWidget.h" #include "Runtime/Slate/Public/Widgets/Input/SVectorInputBox.h" extern PyTypeObject ue_PySVectorInputBoxType; -typedef struct { +typedef struct +{ ue_PySCompoundWidget s_compound_widget; /* Type-specific fields go here. */ } ue_PySVectorInputBox; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.cpp index 82e2109ec..96c5db166 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.cpp @@ -120,7 +120,7 @@ PyTypeObject ue_PySVerticalBoxType = { ue_PySVerticalBox_methods, /* tp_methods */ }; -static int ue_py_svertical_box_init(ue_PySHorizontalBox *self, PyObject *args, PyObject *kwargs) +static int ue_py_svertical_box_init(ue_PySVerticalBox *self, PyObject *args, PyObject *kwargs) { ue_py_slate_setup_farguments(SVerticalBox); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.h b/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.h index a11ad3f46..3f7af270f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.h @@ -1,15 +1,13 @@ #pragma once -#include "UnrealEnginePython.h" - - #include "UEPySBoxPanel.h" #include "Runtime/SlateCore/Public/Widgets/SBoxPanel.h" extern PyTypeObject ue_PySVerticalBoxType; -typedef struct { +typedef struct +{ ue_PySBoxPanel s_box_panel; /* Type-specific fields go here. */ } ue_PySVerticalBox; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySViewport.h b/Source/UnrealEnginePython/Private/Slate/UEPySViewport.h index e038dd97f..3c1750ba5 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySViewport.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySViewport.h @@ -1,7 +1,5 @@ #pragma once -#include "UnrealEnginePython.h" - #include "UEPySCompoundWidget.h" #include "Runtime/Slate/Public/Widgets/SViewport.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h index d7a193a61..83979500b 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h @@ -1,6 +1,6 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPySlate.h" #include "UEPyFGeometry.h" #include "UEPyFPaintContext.h" @@ -13,15 +13,7 @@ extern PyTypeObject ue_PySWidgetType; -typedef struct ue_PySWidget ue_PySWidget; -struct ue_PySWidget -{ - PyObject_HEAD - /* Type-specific fields go here. */ - TSharedRef Widget; - PyObject *weakreflist; -}; void ue_python_init_swidget(PyObject *); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.h b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.h index 396c860de..097ff8db9 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.h @@ -1,7 +1,5 @@ #pragma once -#include "UnrealEnginePython.h" - #include "UEPySCompoundWidget.h" #include "Runtime/SlateCore/Public/Widgets/SWindow.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp index a92535a0e..d487bb97d 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp @@ -30,6 +30,84 @@ #include "Sound/SoundBase.h" +#include "UEPySWidget.h" +#include "UEPySCompoundWidget.h" +#include "UEPySWindow.h" +#include "UEPySBorder.h" +#include "UEPySButton.h" +#include "UEPySLeafWidget.h" +#include "UEPySTextBlock.h" +#include "UEPySEditableTextBox.h" +#include "UEPySMultiLineEditableText.h" +#include "UEPySPanel.h" +#include "UEPySGridPanel.h" +#include "UEPySBoxPanel.h" +#include "UEPySHorizontalBox.h" +#include "UEPySVerticalBox.h" +#include "UEPySViewport.h" + + +#include "UEPySImage.h" +#include "UEPySDockTab.h" +#include "UEPySTableViewBase.h" +#include "UEPySListView.h" +#include "UEPySPythonListView.h" +#include "UEPySPythonMultiColumnTableRow.h" +#include "UEPySTreeView.h" +#include "UEPySPythonTreeView.h" +#include "UEPySSplitter.h" +#include "UEPySHeaderRow.h" +#include "UEPySCheckBox.h" +#include "UEPySNumericEntryBox.h" +#include "UEPySCanvas.h" +#include "UEPySSlider.h" +#include "UEPySVectorInputBox.h" +#include "UEPySRotatorInputBox.h" +#include "UEPySPythonComboBox.h" +#include "UEPySScrollBox.h" +#include "UEPySColorBlock.h" +#include "UEPySBox.h" +#include "UEPySProgressBar.h" +#include "UEPySSpacer.h" +#include "UEPySPythonWidget.h" +#include "UEPySOverlay.h" + +#include "UEPyFTabManager.h" +#include "UEPyFTabSpawnerEntry.h" +#include "UEPyFMenuBuilder.h" +#include "UEPyFToolBarBuilder.h" +#include "UEPyFSlateIcon.h" +#include "UEPyFSlateStyleSet.h" + +#include "UEPyFGeometry.h" +#include "UEPyFPaintContext.h" + +#include "UEPyFInputEvent.h" +#include "UEPyFPointerEvent.h" +#include "UEPyFKeyEvent.h" +#include "UEPyFCharacterEvent.h" +#include "UEPyFModifierKeysState.h" +#include "Wrappers/UEPyESlateEnums.h" + +#if WITH_EDITOR +#include "UEPySEditorViewport.h" +#include "UEPySLevelViewport.h" +#include "UEPySPythonEditorViewport.h" +#include "UEPySGraphEditor.h" +#include "UEPySPythonShelf.h" +#include "UEPySFilePathPicker.h" +#include "UEPySDropTarget.h" +#include "UEPySAssetDropTarget.h" +#include "UEPySObjectPropertyEntryBox.h" +#include "UEPyIDetailsView.h" +#include "UEPyIStructureDetailsView.h" +#include "UEPySNodePanel.h" +#include "UEPySGraphPanel.h" +#endif + +#include "Runtime/Core/Public/Misc/Attribute.h" +#include "Runtime/Slate/Public/Framework/Application/SlateApplication.h" + FReply FPythonSlateDelegate::OnMouseEvent(const FGeometry &geometry, const FPointerEvent &pointer_event) { FScopePythonGIL gil; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h index 2d1931fcb..cc5d7f465 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h @@ -1,7 +1,5 @@ #pragma once - - #include "UEPyModule.h" #include "SlateBasics.h" @@ -16,85 +14,20 @@ #endif -#include "UEPySWidget.h" -#include "UEPySCompoundWidget.h" -#include "UEPySWindow.h" -#include "UEPySBorder.h" -#include "UEPySButton.h" -#include "UEPySLeafWidget.h" -#include "UEPySTextBlock.h" -#include "UEPySEditableTextBox.h" -#include "UEPySMultiLineEditableText.h" -#include "UEPySPanel.h" -#include "UEPySGridPanel.h" -#include "UEPySBoxPanel.h" -#include "UEPySHorizontalBox.h" -#include "UEPySVerticalBox.h" -#include "UEPySViewport.h" - - -#include "UEPySImage.h" -#include "UEPySDockTab.h" -#include "UEPySTableViewBase.h" -#include "UEPySListView.h" -#include "UEPySPythonListView.h" -#include "UEPySPythonMultiColumnTableRow.h" -#include "UEPySTreeView.h" -#include "UEPySPythonTreeView.h" -#include "UEPySSplitter.h" -#include "UEPySHeaderRow.h" -#include "UEPySCheckBox.h" -#include "UEPySNumericEntryBox.h" -#include "UEPySCanvas.h" -#include "UEPySSlider.h" -#include "UEPySVectorInputBox.h" -#include "UEPySRotatorInputBox.h" -#include "UEPySPythonComboBox.h" -#include "UEPySScrollBox.h" -#include "UEPySColorBlock.h" -#include "UEPySBox.h" -#include "UEPySProgressBar.h" -#include "UEPySSpacer.h" -#include "UEPySPythonWidget.h" -#include "UEPySOverlay.h" - -#include "UEPyFTabManager.h" -#include "UEPyFTabSpawnerEntry.h" -#include "UEPyFMenuBuilder.h" -#include "UEPyFToolBarBuilder.h" -#include "UEPyFSlateIcon.h" -#include "UEPyFSlateStyleSet.h" - -#include "UEPyFGeometry.h" -#include "UEPyFPaintContext.h" - -#include "UEPyFInputEvent.h" -#include "UEPyFPointerEvent.h" -#include "UEPyFKeyEvent.h" -#include "UEPyFCharacterEvent.h" -#include "UEPyFModifierKeysState.h" -#include "Wrappers/UEPyESlateEnums.h" -#if WITH_EDITOR -#include "UEPySEditorViewport.h" -#include "UEPySLevelViewport.h" -#include "UEPySPythonEditorViewport.h" -#include "UEPySGraphEditor.h" -#include "UEPySPythonShelf.h" -#include "UEPySFilePathPicker.h" -#include "UEPySDropTarget.h" -#include "UEPySAssetDropTarget.h" -#include "UEPySObjectPropertyEntryBox.h" -#include "UEPyIDetailsView.h" -#include "UEPyIStructureDetailsView.h" -#include "UEPySNodePanel.h" -#include "UEPySGraphPanel.h" -#endif +#include "UEPySWidget.h" +#include "UEPySlateDelegate.h" +#include "UEPySlatePythonItem.h" -#include "Runtime/Core/Public/Misc/Attribute.h" -#include "Runtime/Slate/Public/Framework/Application/SlateApplication.h" +typedef struct ue_PySWidget ue_PySWidget; -#include "UEPySlateDelegate.h" +struct ue_PySWidget +{ + PyObject_HEAD + /* Type-specific fields go here. */ + TSharedRef Widget; + PyObject *weakreflist; +}; PyObject *py_unreal_engine_get_editor_window(PyObject *, PyObject *); @@ -481,14 +414,6 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); void ue_python_init_slate(PyObject *); -struct FPythonItem -{ - PyObject *py_object = nullptr; - FPythonItem(PyObject *item) - { - py_object = item; - } -}; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h index f2582f5b1..f1420941d 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h @@ -6,7 +6,7 @@ #include "PythonSmartDelegate.h" -struct FPythonItem; +#include "UEPySlatePythonItem.h" class FPythonSlateDelegate : public FPythonSmartDelegate diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlatePythonItem.h b/Source/UnrealEnginePython/Private/Slate/UEPySlatePythonItem.h new file mode 100644 index 000000000..76bd5e2af --- /dev/null +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlatePythonItem.h @@ -0,0 +1,13 @@ +#pragma once + +#include "UnrealEnginePython.h" + +struct FPythonItem +{ + PyObject *py_object = nullptr; + + FPythonItem(PyObject *item) + { + py_object = item; + } +}; \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp index 48697a66d..270eaf586 100644 --- a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp +++ b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp @@ -1,6 +1,7 @@ #include "UEPyFSlateApplication.h" +#include "Slate/UEPySWidget.h" static PyObject *py_ue_get_average_delta_time(PyObject *cls, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UEPyCallable.h b/Source/UnrealEnginePython/Private/UEPyCallable.h index 3dd77e764..fc6a933a2 100644 --- a/Source/UnrealEnginePython/Private/UEPyCallable.h +++ b/Source/UnrealEnginePython/Private/UEPyCallable.h @@ -2,12 +2,13 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - UFunction *u_function; + /* Type-specific fields go here. */ + UFunction *u_function; UObject *u_target; } ue_PyCallable; diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index a8544b0cd..da6097825 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -11,6 +11,8 @@ #include "PackageTools.h" #endif +#include "UnrealEngine.h" + #if ENGINE_MINOR_VERSION >= 18 #include "HAL/PlatformApplicationMisc.h" #endif @@ -1255,7 +1257,7 @@ PyObject *py_unreal_engine_clipboard_copy(PyObject * self, PyObject * args) FGenericPlatformMisc::ClipboardCopy(UTF8_TO_TCHAR(text)); #endif Py_RETURN_NONE; -} + } PyObject *py_unreal_engine_clipboard_paste(PyObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.h b/Source/UnrealEnginePython/Private/UEPyEngine.h index 40e78f182..bbe3d8fa8 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.h +++ b/Source/UnrealEnginePython/Private/UEPyEngine.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_unreal_engine_log(PyObject *, PyObject *); PyObject *py_unreal_engine_log_warning(PyObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UEPyIPlugin.h b/Source/UnrealEnginePython/Private/UEPyIPlugin.h index b822a3bef..2f550eeaf 100644 --- a/Source/UnrealEnginePython/Private/UEPyIPlugin.h +++ b/Source/UnrealEnginePython/Private/UEPyIPlugin.h @@ -1,15 +1,18 @@ #pragma once +#include "UEPyModule.h" + #if WITH_EDITOR -#include "UnrealEnginePython.h" + #include "Runtime/Projects/Public/Interfaces/IPluginManager.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - IPlugin *plugin; + /* Type-specific fields go here. */ + IPlugin *plugin; } ue_PyIPlugin; PyObject *py_ue_new_iplugin(IPlugin *); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 1eeb5ca6f..2f6f30e46 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -102,6 +102,10 @@ #include "PythonFunction.h" #include "PythonClass.h" +#if ENGINE_MINOR_VERSION >= 15 +#include "Engine/UserDefinedEnum.h" +#endif + #if ENGINE_MINOR_VERSION < 18 #define USoftObjectProperty UAssetObjectProperty @@ -1122,9 +1126,9 @@ static PyObject *ue_PyUObject_getattro(ue_PyUObject *self, PyObject *attr_name) #else return PyLong_FromLong(u_enum->FindEnumIndex(item.Key)); #endif - } } } + } #endif if (self->ue_object->IsA()) { @@ -1136,7 +1140,7 @@ static PyObject *ue_PyUObject_getattro(ue_PyUObject *self, PyObject *attr_name) return PyLong_FromLong(u_enum->FindEnumIndex(FName(UTF8_TO_TCHAR(attr)))); #endif } - } + } if (function) { @@ -1144,8 +1148,8 @@ static PyObject *ue_PyUObject_getattro(ue_PyUObject *self, PyObject *attr_name) PyErr_Clear(); return py_ue_new_callable(function, self->ue_object); } - } } +} return ret; } @@ -1431,17 +1435,7 @@ UClass *unreal_engine_new_uclass(char *name, UClass *outer_parent) return new_object; } -// hack for avoiding loops in class constructors (thanks to the Unreal.js project for the idea) -UClass *ue_py_class_constructor_placeholder = nullptr; -static void UEPyClassConstructor(UClass *u_class, const FObjectInitializer &ObjectInitializer) -{ - if (UPythonClass *u_py_class_casted = Cast(u_class)) - { - ue_py_class_constructor_placeholder = u_class; - } - u_class->ClassConstructor(ObjectInitializer); - ue_py_class_constructor_placeholder = nullptr; -} + int unreal_engine_py_init(ue_PyUObject *, PyObject *, PyObject *); @@ -1726,7 +1720,7 @@ void unreal_engine_py_log_error() if (zero) { msg = PyBytes_AsString(zero); - } +} #else msg = PyString_AsString(PyObject_Str(value)); #endif @@ -2674,11 +2668,11 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * prop->ImportText(*default_key_value, prop->ContainerPtrToValuePtr(buffer), PPF_None, NULL); #else prop->ImportText(*default_key_value, prop->ContainerPtrToValuePtr(buffer), PPF_Localized, NULL); -#endif - } #endif } +#endif } +} Py_ssize_t tuple_len = PyTuple_Size(args); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.h b/Source/UnrealEnginePython/Private/UEPyModule.h index bd39595ca..6a5dfb260 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.h +++ b/Source/UnrealEnginePython/Private/UEPyModule.h @@ -6,6 +6,14 @@ #include "UEPyUScriptStruct.h" #include "PythonHouseKeeper.h" +// common wrappers +#include "Wrappers/UEPyFVector.h" +#include "Wrappers/UEPyFRotator.h" +#include "Wrappers/UEPyFQuat.h" +#include "Wrappers/UEPyFTransform.h" +#include "Wrappers/UEPyFColor.h" +#include "Wrappers/UEPyFLinearColor.h" + void unreal_engine_py_log_error(); ue_PyUObject *ue_get_python_uobject(UObject *); diff --git a/Source/UnrealEnginePython/Private/UEPySubclassing.cpp b/Source/UnrealEnginePython/Private/UEPySubclassing.cpp index 8939f046e..b0afc78a5 100644 --- a/Source/UnrealEnginePython/Private/UEPySubclassing.cpp +++ b/Source/UnrealEnginePython/Private/UEPySubclassing.cpp @@ -2,6 +2,18 @@ #include "PythonClass.h" #include "UObject/UEPyObject.h" +// hack for avoiding loops in class constructors (thanks to the Unreal.js project for the idea) +UClass *ue_py_class_constructor_placeholder = nullptr; +static void UEPyClassConstructor(UClass *u_class, const FObjectInitializer &ObjectInitializer) +{ + if (UPythonClass *u_py_class_casted = Cast(u_class)) + { + ue_py_class_constructor_placeholder = u_class; + } + u_class->ClassConstructor(ObjectInitializer); + ue_py_class_constructor_placeholder = nullptr; +} + int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *kwds) { diff --git a/Source/UnrealEnginePython/Private/UEPyUClassesImporter.h b/Source/UnrealEnginePython/Private/UEPyUClassesImporter.h index 6a514b7a5..a20574749 100644 --- a/Source/UnrealEnginePython/Private/UEPyUClassesImporter.h +++ b/Source/UnrealEnginePython/Private/UEPyUClassesImporter.h @@ -2,11 +2,12 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ + /* Type-specific fields go here. */ } ue_PyUClassesImporter; PyObject *py_ue_new_uclassesimporter(); diff --git a/Source/UnrealEnginePython/Private/UEPyUStructsImporter.h b/Source/UnrealEnginePython/Private/UEPyUStructsImporter.h index 172416a98..d40c9bb59 100644 --- a/Source/UnrealEnginePython/Private/UEPyUStructsImporter.h +++ b/Source/UnrealEnginePython/Private/UEPyUStructsImporter.h @@ -2,11 +2,12 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ + /* Type-specific fields go here. */ } ue_PyUStructsImporter; PyObject *py_ue_new_ustructsimporter(); diff --git a/Source/UnrealEnginePython/Private/UEPyVisualLogger.h b/Source/UnrealEnginePython/Private/UEPyVisualLogger.h index 4a09f2252..4f61ef91c 100644 --- a/Source/UnrealEnginePython/Private/UEPyVisualLogger.h +++ b/Source/UnrealEnginePython/Private/UEPyVisualLogger.h @@ -3,8 +3,6 @@ #include "UEPyModule.h" -#include "Wrappers/UEPyFVector.h" -#include "Wrappers/UEPyFcolor.h" PyObject *py_ue_vlog(ue_PyUObject *, PyObject *); PyObject *py_ue_vlog_cylinder(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAudio.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyAudio.cpp index b9c677851..93f6e14b0 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAudio.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAudio.cpp @@ -1,25 +1,31 @@ #include "UEPyAudio.h" + #include "Sound/SoundWaveProcedural.h" +#include "Kismet/GameplayStatics.h" -PyObject *py_ue_queue_audio(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_queue_audio(ue_PyUObject *self, PyObject * args) +{ // Writes from a Python buffer object to a USoundWaveProcedural class ue_py_check(self); Py_buffer sound_buffer; - if (!PyArg_ParseTuple(args, "y*:queue_audio", &sound_buffer)) { + if (!PyArg_ParseTuple(args, "y*:queue_audio", &sound_buffer)) + { return NULL; } USoundWaveProcedural *sound_wave_procedural = ue_py_check_type(self); - if (!sound_wave_procedural) { + if (!sound_wave_procedural) + { // Clean up PyBuffer_Release(&sound_buffer); return PyErr_Format(PyExc_Exception, "UObject is not a USoundWaveProcedural."); } // Convert the buffer uint8 *buffer = (uint8 *)sound_buffer.buf; - if (buffer == nullptr) { + if (buffer == nullptr) + { // Clean up PyBuffer_Release(&sound_buffer); return PyErr_Format(PyExc_Exception, "Invalid sound buffer."); @@ -34,24 +40,28 @@ PyObject *py_ue_queue_audio(ue_PyUObject *self, PyObject * args) { Py_RETURN_NONE; } -PyObject *py_ue_get_available_audio_byte_count(ue_PyUObject *self, PyObject * args) { - +PyObject *py_ue_get_available_audio_byte_count(ue_PyUObject *self, PyObject * args) +{ + ue_py_check(self); USoundWaveProcedural *sound_wave_procedural = ue_py_check_type(self); - if (!sound_wave_procedural) { + if (!sound_wave_procedural) + { return PyErr_Format(PyExc_Exception, "UObject is not a USoundWaveProcedural."); } - + return PyLong_FromLong(sound_wave_procedural->GetAvailableAudioByteCount()); } -PyObject *py_ue_reset_audio(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_reset_audio(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); USoundWaveProcedural *sound_wave_procedural = ue_py_check_type(self); - if (!sound_wave_procedural) { + if (!sound_wave_procedural) + { return PyErr_Format(PyExc_Exception, "UObject is not a USoundWaveProcedural."); } @@ -60,7 +70,8 @@ PyObject *py_ue_reset_audio(ue_PyUObject *self, PyObject * args) { Py_RETURN_NONE; } -PyObject *py_ue_sound_get_data(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sound_get_data(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); USoundWave *sound = ue_py_check_type(self); @@ -76,12 +87,14 @@ PyObject *py_ue_sound_get_data(ue_PyUObject *self, PyObject * args) { return py_data; } -PyObject *py_ue_sound_set_data(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_sound_set_data(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); Py_buffer sound_buffer; - if (!PyArg_ParseTuple(args, "y*:sound_set_data", &sound_buffer)) { + if (!PyArg_ParseTuple(args, "y*:sound_set_data", &sound_buffer)) + { return NULL; } @@ -100,7 +113,8 @@ PyObject *py_ue_sound_set_data(ue_PyUObject *self, PyObject * args) { Py_RETURN_NONE; } -PyObject *py_ue_play_sound_at_location(ue_PyUObject *self, PyObject * args) { +PyObject *py_ue_play_sound_at_location(ue_PyUObject *self, PyObject * args) +{ ue_py_check(self); @@ -110,15 +124,18 @@ PyObject *py_ue_play_sound_at_location(ue_PyUObject *self, PyObject * args) { float pitch = 1; float start = 0; - if (!PyArg_ParseTuple(args, "OO|fff:play_sound_at_location", &sound, &py_location, &volume, &pitch, &start)) { + if (!PyArg_ParseTuple(args, "OO|fff:play_sound_at_location", &sound, &py_location, &volume, &pitch, &start)) + { return NULL; } USoundBase *sound_object = nullptr; - if (ue_is_pyuobject(sound)) { + if (ue_is_pyuobject(sound)) + { sound_object = ue_py_check_type(sound); } - else if (PyUnicodeOrString_Check(sound)) { + else if (PyUnicodeOrString_Check(sound)) + { sound_object = FindObject(ANY_PACKAGE, UTF8_TO_TCHAR(PyUnicode_AsUTF8(sound))); } @@ -131,6 +148,5 @@ PyObject *py_ue_play_sound_at_location(ue_PyUObject *self, PyObject * args) { UGameplayStatics::PlaySoundAtLocation(self->ue_object, sound_object, location->vec, volume, pitch, start); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAudio.h b/Source/UnrealEnginePython/Private/UObject/UEPyAudio.h index b783c5c1b..671dd6bc1 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAudio.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAudio.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_queue_audio(ue_PyUObject *self, PyObject * args); PyObject *py_ue_play_sound_at_location(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp index e4735026a..0b8aa72b3 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp @@ -18,6 +18,9 @@ for a queue of UMovieSceneCapture objects #include "AutomatedLevelSequenceCapture.h" #include "Slate/UEPySPythonEditorViewport.h" +#include "GameFramework/GameModeBase.h" +#include "GameFramework/GameMode.h" + struct FInEditorMultiCapture : TSharedFromThis { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyController.h b/Source/UnrealEnginePython/Private/UObject/UEPyController.h index 964f82c05..70140638f 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyController.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyController.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_controller_posses(ue_PyUObject *, PyObject *); PyObject *py_ue_controller_unposses(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyDataTable.h b/Source/UnrealEnginePython/Private/UObject/UEPyDataTable.h index a08ee72b5..5552d4d2c 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyDataTable.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyDataTable.h @@ -1,7 +1,7 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_data_table_add_row(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyHUD.h b/Source/UnrealEnginePython/Private/UObject/UEPyHUD.h index 6153c09a5..64d2d2847 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyHUD.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyHUD.h @@ -3,7 +3,7 @@ #include "UEPyModule.h" -#include "Wrappers/UEPyFLinearColor.h" + PyObject *py_ue_hud_draw_2d_line(ue_PyUObject *self, PyObject * args); PyObject *py_ue_hud_draw_line(ue_PyUObject *self, PyObject * args); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyLandscape.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyLandscape.cpp index baa26a807..883a6ba0f 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyLandscape.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyLandscape.cpp @@ -1,10 +1,13 @@ #include "UEPyLandscape.h" -#include "Runtime/Landscape/Classes/LandscapeProxy.h" -#include "Runtime/Landscape/Classes/LandscapeInfo.h" + #if WITH_EDITOR #include "Wrappers/UEPyFRawMesh.h" +#include "Runtime/Landscape/Classes/LandscapeProxy.h" +#include "Runtime/Landscape/Classes/LandscapeInfo.h" +#include "GameFramework/GameModeBase.h" + PyObject *py_ue_create_landscape_info(ue_PyUObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.h b/Source/UnrealEnginePython/Private/UObject/UEPyObject.h index fbdfea731..ce3a85dff 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_get_class(ue_PyUObject *, PyObject *); PyObject *py_ue_is_a(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyPackage.h b/Source/UnrealEnginePython/Private/UObject/UEPyPackage.h index e3f086f2d..d64b0d6b3 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyPackage.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyPackage.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_package_is_dirty(ue_PyUObject *, PyObject *); PyObject *py_ue_package_get_filename(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyPawn.h b/Source/UnrealEnginePython/Private/UObject/UEPyPawn.h index dea9f55c1..c885caf57 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyPawn.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyPawn.h @@ -2,6 +2,6 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_pawn_get_controller(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyPlayer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyPlayer.cpp index 15ca2e6a5..1a7be4f29 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyPlayer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyPlayer.cpp @@ -1,4 +1,11 @@ #include "UEPyPlayer.h" +#include "Kismet/GameplayStatics.h" +#include "Engine/World.h" +#include "GameFramework/PlayerController.h" +#include "GameFramework/HUD.h" +#include "GameFramework/GameMode.h" +#include "GameFramework/PlayerState.h" +#include "GameFramework/GameModeBase.h" PyObject *py_ue_get_player_controller(ue_PyUObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h index 9ceec7a36..54c748b94 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_sequencer_master_tracks(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_possessable_tracks(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyStaticMesh.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyStaticMesh.cpp index a665caa78..405c9152e 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyStaticMesh.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyStaticMesh.cpp @@ -1,7 +1,11 @@ #include "UEPyStaticMesh.h" + #if WITH_EDITOR +#include "Engine/StaticMesh.h" +#include "Wrappers/UEPyFRawMesh.h" + PyObject *py_ue_static_mesh_build(ue_PyUObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp index 149f830a9..66f8a4c66 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp @@ -2,6 +2,8 @@ #include "Runtime/Engine/Public/ImageUtils.h" #include "Runtime/Engine/Classes/Engine/Texture.h" +#include "Engine/TextureRenderTarget2D.h" +#include "Engine/Texture2D.h" PyObject *py_ue_texture_update_resource(ue_PyUObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyTraceAndSweep.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyTraceAndSweep.cpp index da03926a3..797e3f675 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyTraceAndSweep.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyTraceAndSweep.cpp @@ -2,6 +2,7 @@ #include "Kismet/KismetSystemLibrary.h" #include "Wrappers/UEPyFHitResult.h" +#include "Kismet/GameplayStatics.h" PyObject *py_ue_line_trace_single_by_channel(ue_PyUObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyUserDefinedStruct.h b/Source/UnrealEnginePython/Private/UObject/UEPyUserDefinedStruct.h index 23d7a7d05..9e973ea0e 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyUserDefinedStruct.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyUserDefinedStruct.h @@ -1,7 +1,7 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_struct_add_variable(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp index 42481d794..2bf915745 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp @@ -6,6 +6,8 @@ #include "Editor/UnrealEd/Public/LevelEditorViewport.h" #endif +#include "Slate/UEPySWidget.h" + PyObject *py_unreal_engine_get_game_viewport_client(PyObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyViewport.h b/Source/UnrealEnginePython/Private/UObject/UEPyViewport.h index f5a31a9b7..d8e23549a 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyViewport.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyViewport.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_unreal_engine_get_game_viewport_client(PyObject *, PyObject *); #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyWidget.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyWidget.cpp index 5244bf162..5c6794c04 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyWidget.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyWidget.cpp @@ -2,6 +2,7 @@ #include "Runtime/UMG/Public/Components/Widget.h" +#include "Slate/UEPySWidget.h" PyObject *py_ue_take_widget(ue_PyUObject * self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.cpp index e69d7636e..284223c61 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyWidgetComponent.cpp @@ -3,6 +3,7 @@ #include "Runtime/UMG/Public/Components/WidgetComponent.h" #include "PyUserWidget.h" +#include "Slate/UEPySWidget.h" PyObject *py_ue_set_slate_widget(ue_PyUObject * self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp index 26a39195d..6c77b7e43 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp @@ -1,6 +1,10 @@ #include "UEPyWorld.h" - +#include "Runtime/Engine/Classes/Kismet/KismetSystemLibrary.h" +#include "Runtime/Foliage/Public/FoliageType.h" +#include "Runtime/Foliage/Public/InstancedFoliageActor.h" +#include "EngineUtils.h" +#include "Kismet/GameplayStatics.h" PyObject *py_ue_world_exec(ue_PyUObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyWorld.h b/Source/UnrealEnginePython/Private/UObject/UEPyWorld.h index f83035721..283f5abf7 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyWorld.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyWorld.h @@ -1,9 +1,7 @@ #pragma once #include "UEPyModule.h" -#include "Runtime/Engine/Classes/Kismet/KismetSystemLibrary.h" -#include "Runtime/Foliage/Public/FoliageType.h" -#include "Runtime/Foliage/Public/InstancedFoliageActor.h" + PyObject *py_ue_quit_game(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 2d62d00cd..40cb054f4 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -1,6 +1,7 @@ // Copyright 20Tab S.r.l. #include "UnrealEnginePython.h" +#include "UEPyModule.h" #include "PythonBlueprintFunctionLibrary.h" #include "HAL/IConsoleManager.h" #include "HAL/PlatformFilemanager.h" diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.h index 3f237af14..bd8a525a6 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.h @@ -1,15 +1,16 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #if WITH_EDITOR #include "AssetRegistryModule.h" #include "Runtime/AssetRegistry/Public/ARFilter.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - FARFilter filter; + /* Type-specific fields go here. */ + FARFilter filter; PyObject *class_names; PyObject *object_paths; PyObject *package_names; diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp index dfc936b32..6cb186f8b 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFAssetData.cpp @@ -3,6 +3,7 @@ #if WITH_EDITOR #include "ObjectTools.h" +#include "Wrappers/UEPyFObjectThumbnail.h" static PyObject *py_ue_fassetdata_get_asset(ue_PyFAssetData *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFColor.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFColor.h index 51b5c5c56..ef75b1832 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFColor.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFColor.h @@ -2,12 +2,13 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - FColor color; + /* Type-specific fields go here. */ + FColor color; } ue_PyFColor; PyObject *py_ue_new_fcolor(FColor); diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFHitResult.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFHitResult.h index c3180d244..fe352e80d 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFHitResult.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFHitResult.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" typedef struct { PyObject_HEAD diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFLinearColor.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFLinearColor.h index f1185b745..986ecd2aa 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFLinearColor.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFLinearColor.h @@ -2,12 +2,13 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - FLinearColor color; + /* Type-specific fields go here. */ + FLinearColor color; } ue_PyFLinearColor; PyObject *py_ue_new_flinearcolor(FLinearColor); diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFQuat.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFQuat.h index 531417e65..1a39ce0a8 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFQuat.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFQuat.h @@ -1,13 +1,14 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #include "Runtime/Core/Public/Math/Quat.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - FQuat quat; + /* Type-specific fields go here. */ + FQuat quat; } ue_PyFQuat; PyObject *py_ue_new_fquat(FQuat); diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRandomStream.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRandomStream.h index 935ee2751..3dd27d19d 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRandomStream.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRandomStream.h @@ -2,12 +2,13 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - FRandomStream rstream; + /* Type-specific fields go here. */ + FRandomStream rstream; } ue_PyFRandomStream; void ue_python_init_frandomstream(PyObject *); \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawAnimSequenceTrack.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawAnimSequenceTrack.h index 9c194c98d..199429cfe 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawAnimSequenceTrack.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawAnimSequenceTrack.h @@ -1,13 +1,14 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #include "Runtime/Engine/Classes/Animation/AnimSequence.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - FRawAnimSequenceTrack raw_anim_sequence_track; + /* Type-specific fields go here. */ + FRawAnimSequenceTrack raw_anim_sequence_track; } ue_PyFRawAnimSequenceTrack; PyObject *py_ue_new_fraw_anim_sequence_track(FRawAnimSequenceTrack); diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawMesh.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawMesh.h index 9d0dcb721..ba6ad8a90 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawMesh.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawMesh.h @@ -1,10 +1,8 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #if WITH_EDITOR -#include "Wrappers/UEPyFColor.h" - #if ENGINE_MINOR_VERSION > 13 #include "Developer/RawMesh/Public/RawMesh.h" diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFStringAssetReference.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFStringAssetReference.h index f70e84329..02fb7c8cc 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFStringAssetReference.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFStringAssetReference.h @@ -2,16 +2,17 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #if ENGINE_MINOR_VERSION < 18 #include "Runtime/CoreUObject/Public/Misc/StringAssetReference.h" #endif -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - FStringAssetReference fstring_asset_reference; + /* Type-specific fields go here. */ + FStringAssetReference fstring_asset_reference; } ue_PyFStringAssetReference; PyObject *py_ue_new_fstring_asset_reference(FStringAssetReference); diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.h index 74c23f214..3cb64312f 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" typedef struct { PyObject_HEAD diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFVector.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFVector.h index bdc9df770..e23935943 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFVector.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFVector.h @@ -2,12 +2,13 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" -typedef struct { +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - FVector vec; + /* Type-specific fields go here. */ + FVector vec; } ue_PyFVector; PyObject *py_ue_new_fvector(FVector); diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFViewportClient.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFViewportClient.h index 1e13913b9..f15877bca 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFViewportClient.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFViewportClient.h @@ -1,12 +1,15 @@ #pragma once -#include "UnrealEnginePython.h" + +#include "UEPyModule.h" +#include "UnrealClient.h" extern PyTypeObject ue_PyFViewportClientType; -struct ue_PyFViewportClient { +struct ue_PyFViewportClient +{ PyObject_HEAD - /* Type-specific fields go here. */ - TSharedRef viewport_client;; + /* Type-specific fields go here. */ + TSharedRef viewport_client;; }; void ue_python_init_fviewport_client(PyObject *); diff --git a/Source/UnrealEnginePython/Public/PyCharacter.h b/Source/UnrealEnginePython/Public/PyCharacter.h index 6c91fdbfb..d77f03dc2 100644 --- a/Source/UnrealEnginePython/Public/PyCharacter.h +++ b/Source/UnrealEnginePython/Public/PyCharacter.h @@ -1,10 +1,7 @@ #pragma once #include "GameFramework/Character.h" - #include "UEPyModule.h" -#include "Wrappers/UEPyFRotator.h" - #include "PyCharacter.generated.h" diff --git a/Source/UnrealEnginePython/Public/PyHUD.h b/Source/UnrealEnginePython/Public/PyHUD.h index de5ffdd40..01923c2ce 100644 --- a/Source/UnrealEnginePython/Public/PyHUD.h +++ b/Source/UnrealEnginePython/Public/PyHUD.h @@ -2,7 +2,7 @@ #include "GameFramework/HUD.h" - +#include "UEPyModule.h" #include "PyHUD.generated.h" diff --git a/Source/UnrealEnginePython/Public/PyPawn.h b/Source/UnrealEnginePython/Public/PyPawn.h index 974c930a2..54660671b 100644 --- a/Source/UnrealEnginePython/Public/PyPawn.h +++ b/Source/UnrealEnginePython/Public/PyPawn.h @@ -2,7 +2,7 @@ #include "GameFramework/Pawn.h" - +#include "UEPyModule.h" #include "PyPawn.generated.h" diff --git a/Source/UnrealEnginePython/Public/PyUserWidget.h b/Source/UnrealEnginePython/Public/PyUserWidget.h index 20b856f32..ec350abb4 100644 --- a/Source/UnrealEnginePython/Public/PyUserWidget.h +++ b/Source/UnrealEnginePython/Public/PyUserWidget.h @@ -1,7 +1,7 @@ #pragma once #include "Runtime/UMG/Public/Blueprint/UserWidget.h" - +#include "UEPyModule.h" #include "PyUserWidget.generated.h" @@ -12,7 +12,7 @@ class UNREALENGINEPYTHON_API UPyUserWidget : public UUserWidget GENERATED_BODY() public: - UPyUserWidget(const FObjectInitializer& ObjectInitializer); + UPyUserWidget(const FObjectInitializer& ObjectInitializer); ~UPyUserWidget(); virtual void NativeConstruct() override; @@ -33,37 +33,37 @@ class UNREALENGINEPYTHON_API UPyUserWidget : public UUserWidget virtual FReply NativeOnKeyDown(const FGeometry & InGeometry, const FKeyEvent & InKeyEvent) override; UPROPERTY(EditAnywhere, Category = "Python", BlueprintReadWrite, meta = (ExposeOnSpawn = true)) - FString PythonModule; + FString PythonModule; UPROPERTY(EditAnywhere, Category = "Python", BlueprintReadWrite, meta = (ExposeOnSpawn = true)) - FString PythonClass; + FString PythonClass; UPROPERTY(EditAnywhere, Category = "Python", BlueprintReadWrite, meta = (ExposeOnSpawn = true)) - bool PythonTickForceDisabled; + bool PythonTickForceDisabled; UPROPERTY(EditAnywhere, Category = "Python", BlueprintReadWrite, meta = (ExposeOnSpawn = true)) - bool PythonPaintForceDisabled; + bool PythonPaintForceDisabled; UFUNCTION(BlueprintCallable, Category = "Python") - void CallPythonUserWidgetMethod(FString method_name, FString args); + void CallPythonUserWidgetMethod(FString method_name, FString args); - UPROPERTY(EditAnywhere, Category = "Python", BlueprintReadWrite) - TWeakObjectPtr PyNativeWidgetHost; + UPROPERTY(EditAnywhere, Category = "Python", BlueprintReadWrite) + TWeakObjectPtr PyNativeWidgetHost; #if WITH_EDITOR - virtual const FText GetPaletteCategory() override; + virtual const FText GetPaletteCategory() override; #endif - void SetSlateWidget(TSharedRef InContent); - virtual void ReleaseSlateResources(bool bReleaseChildren) override; + void SetSlateWidget(TSharedRef InContent); + virtual void ReleaseSlateResources(bool bReleaseChildren) override; protected: - // UWidget interface - virtual TSharedRef RebuildWidget() override; - // End of UWidget interface + // UWidget interface + virtual TSharedRef RebuildWidget() override; + // End of UWidget interface private: - PyObject *py_user_widget_instance; + PyObject * py_user_widget_instance; // mapped uobject, required for debug and advanced reflection ue_PyUObject *py_uobject; }; diff --git a/Source/UnrealEnginePython/Public/PythonBlueprintFunctionLibrary.h b/Source/UnrealEnginePython/Public/PythonBlueprintFunctionLibrary.h index c8f5cad7c..6a58c6b3b 100644 --- a/Source/UnrealEnginePython/Public/PythonBlueprintFunctionLibrary.h +++ b/Source/UnrealEnginePython/Public/PythonBlueprintFunctionLibrary.h @@ -2,6 +2,7 @@ #include "Kismet/BlueprintFunctionLibrary.h" +#include "UEPyModule.h" #include "PythonBlueprintFunctionLibrary.generated.h" @@ -12,9 +13,9 @@ class UNREALENGINEPYTHON_API UPythonBlueprintFunctionLibrary : public UBlueprint public: UFUNCTION(BlueprintCallable, Exec, Category = "Python") - static void ExecutePythonScript(FString script); + static void ExecutePythonScript(FString script); - UFUNCTION(BlueprintCallable, Exec, Category = "Python") - static void ExecutePythonString(const FString& PythonCmd); + UFUNCTION(BlueprintCallable, Exec, Category = "Python") + static void ExecutePythonString(const FString& PythonCmd); }; diff --git a/Source/UnrealEnginePython/Public/PythonComponent.h b/Source/UnrealEnginePython/Public/PythonComponent.h index aa08c70af..a6e9c4ffc 100644 --- a/Source/UnrealEnginePython/Public/PythonComponent.h +++ b/Source/UnrealEnginePython/Public/PythonComponent.h @@ -1,7 +1,7 @@ #pragma once #include "Components/ActorComponent.h" - +#include "UEPyModule.h" #include "PythonComponent.generated.h" @@ -26,67 +26,67 @@ class UNREALENGINEPYTHON_API UPythonComponent : public UActorComponent virtual void InitializeComponent() override; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Python") - FString PythonModule; + FString PythonModule; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Python") - FString PythonClass; + FString PythonClass; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Python") - bool PythonTickForceDisabled; + bool PythonTickForceDisabled; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Python") - bool PythonDisableAutoBinding; + bool PythonDisableAutoBinding; UFUNCTION(BlueprintCallable, Category = "Python") - void InitializePythonComponent(); + void InitializePythonComponent(); UFUNCTION(BlueprintCallable, Category = "Python") - void CallPythonComponentMethod(FString method_name, FString args); + void CallPythonComponentMethod(FString method_name, FString args); UFUNCTION(BlueprintCallable, Category = "Python") - bool CallPythonComponentMethodBool(FString method_name, FString args); + bool CallPythonComponentMethodBool(FString method_name, FString args); UFUNCTION(BlueprintCallable, Category = "Python") - FString CallPythonComponentMethodString(FString method_name, FString args); + FString CallPythonComponentMethodString(FString method_name, FString args); UFUNCTION(BlueprintCallable, Category = "Python") - TMap CallPythonComponentMethodMap(FString method_name, FString args); + TMap CallPythonComponentMethodMap(FString method_name, FString args); UFUNCTION(BlueprintCallable, Category = "Python") - void CallPythonComponentMethodStringArray(FString method_name, FString args, TArray &output_strings); + void CallPythonComponentMethodStringArray(FString method_name, FString args, TArray &output_strings); UFUNCTION(BlueprintCallable, Category = "Python") - float CallPythonComponentMethodFloat(FString method_name, FString args); + float CallPythonComponentMethodFloat(FString method_name, FString args); UFUNCTION(BlueprintCallable, Category = "Python") - int CallPythonComponentMethodInt(FString method_name, FString args); + int CallPythonComponentMethodInt(FString method_name, FString args); UFUNCTION(BlueprintCallable, Category = "Python") - UObject *CallPythonComponentMethodObject(FString method_name, UObject *arg); + UObject *CallPythonComponentMethodObject(FString method_name, UObject *arg); UFUNCTION(BlueprintCallable, Category = "Python") - void SetPythonAttrInt(FString attr, int Integer); + void SetPythonAttrInt(FString attr, int Integer); UFUNCTION(BlueprintCallable, Category = "Python") - void SetPythonAttrFloat(FString attr, float Float); + void SetPythonAttrFloat(FString attr, float Float); UFUNCTION(BlueprintCallable, Category = "Python") - void SetPythonAttrString(FString attr, FString String); + void SetPythonAttrString(FString attr, FString String); UFUNCTION(BlueprintCallable, Category = "Python") - void SetPythonAttrBool(FString attr, bool Boolean); + void SetPythonAttrBool(FString attr, bool Boolean); UFUNCTION(BlueprintCallable, Category = "Python") - void SetPythonAttrVector(FString attr, FVector Vector); + void SetPythonAttrVector(FString attr, FVector Vector); UFUNCTION(BlueprintCallable, Category = "Python") - void SetPythonAttrRotator(FString attr, FRotator Rotator); + void SetPythonAttrRotator(FString attr, FRotator Rotator); UFUNCTION(BlueprintCallable, Category = "Python") - void SetPythonAttrObject(FString attr, UObject *Object); + void SetPythonAttrObject(FString attr, UObject *Object); private: - PyObject *py_component_instance; + PyObject * py_component_instance; // mapped uobject, required for debug and advanced reflection ue_PyUObject *py_uobject; }; diff --git a/Source/UnrealEnginePython/Public/PythonDelegate.h b/Source/UnrealEnginePython/Public/PythonDelegate.h index 2a80205c6..01d0f70b7 100644 --- a/Source/UnrealEnginePython/Public/PythonDelegate.h +++ b/Source/UnrealEnginePython/Public/PythonDelegate.h @@ -1,6 +1,6 @@ #pragma once - +#include "UnrealEnginePython.h" #include "PythonDelegate.generated.h" UCLASS() @@ -19,11 +19,11 @@ class UPythonDelegate : public UObject void PyInputAxisHandler(float value); protected: - UFunction *signature; + UFunction * signature; bool signature_set; UFUNCTION() - void PyFakeCallable(); + void PyFakeCallable(); PyObject *py_callable; diff --git a/Source/UnrealEnginePython/Public/PythonFunction.h b/Source/UnrealEnginePython/Public/PythonFunction.h index 4db68c686..a2b195a01 100644 --- a/Source/UnrealEnginePython/Public/PythonFunction.h +++ b/Source/UnrealEnginePython/Public/PythonFunction.h @@ -1,6 +1,6 @@ #pragma once - +#include "UEPyModule.h" #include "PythonFunction.generated.h" UCLASS() diff --git a/Source/UnrealEnginePython/Public/PythonScript.h b/Source/UnrealEnginePython/Public/PythonScript.h index 15ecaa284..48426e8e2 100644 --- a/Source/UnrealEnginePython/Public/PythonScript.h +++ b/Source/UnrealEnginePython/Public/PythonScript.h @@ -1,6 +1,6 @@ #pragma once -#include "UnrealEnginePython.h" +#include "UEPyModule.h" #include "UObject/Object.h" #include "PythonScript.generated.h" @@ -12,19 +12,19 @@ class UPythonScript : public UObject public: UPROPERTY(EditAnywhere, Category = "Python") - FString ScriptPath; + FString ScriptPath; UPROPERTY(EditAnywhere, Category = "Python") - FString FunctionToCall; + FString FunctionToCall; UPROPERTY(EditAnywhere, Category = "Python") - TArray FunctionArgs; + TArray FunctionArgs; UFUNCTION() - void Run(); + void Run(); UFUNCTION() - void RunSandboxed(); + void RunSandboxed(); void CallSpecificFunctionWithArgs(); }; diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index cafc8a468..3002eb189 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -80,6 +80,7 @@ public UnrealEnginePython(TargetInfo Target) { PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + bFasterWithoutUnity = true; PublicIncludePaths.AddRange( new string[] { From 1e57bb85dbdeb5b4f6892e3aa35389c23762b1df Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 8 Apr 2018 16:28:05 +0200 Subject: [PATCH 122/538] fixed non-unity build --- .../Private/PythonScript.cpp | 30 +++++++++++++------ .../UnrealEnginePython/Public/PythonScript.h | 1 - 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/Source/UnrealEnginePython/Private/PythonScript.cpp b/Source/UnrealEnginePython/Private/PythonScript.cpp index a53ddfd6d..d07b1fd24 100644 --- a/Source/UnrealEnginePython/Private/PythonScript.cpp +++ b/Source/UnrealEnginePython/Private/PythonScript.cpp @@ -1,27 +1,36 @@ #include "PythonScript.h" -static void callback(void *arg) { +#include "UEPyModule.h" + + +static void callback(void *arg) +{ UPythonScript *self = (UPythonScript *)arg; self->CallSpecificFunctionWithArgs(); } -void UPythonScript::Run() { +void UPythonScript::Run() +{ FUnrealEnginePythonModule &PythonModule = FModuleManager::GetModuleChecked("UnrealEnginePython"); PythonModule.RunFile(TCHAR_TO_UTF8(*ScriptPath)); - if (!FunctionToCall.IsEmpty()) { + if (!FunctionToCall.IsEmpty()) + { CallSpecificFunctionWithArgs(); } } -void UPythonScript::RunSandboxed() { +void UPythonScript::RunSandboxed() +{ FUnrealEnginePythonModule &PythonModule = FModuleManager::GetModuleChecked("UnrealEnginePython"); PythonModule.RunFileSandboxed(TCHAR_TO_UTF8(*ScriptPath), callback, this); } -void UPythonScript::CallSpecificFunctionWithArgs() { +void UPythonScript::CallSpecificFunctionWithArgs() +{ PyObject *function_to_call = PyDict_GetItemString(PyEval_GetGlobals(), TCHAR_TO_UTF8(*FunctionToCall)); - if (!function_to_call) { + if (!function_to_call) + { UE_LOG(LogPython, Error, TEXT("unable to find function %s"), *FunctionToCall); return; } @@ -32,16 +41,19 @@ void UPythonScript::CallSpecificFunctionWithArgs() { if (n > 0) args = PyTuple_New(n); - for (int i = 0; i < n; i++) { + for (int i = 0; i < n; i++) + { PyTuple_SetItem(args, i, PyUnicode_FromString(TCHAR_TO_UTF8(*FunctionArgs[i]))); } PyObject *ret = PyObject_Call(function_to_call, args, nullptr); Py_DECREF(args); - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); } - else { + else + { Py_DECREF(ret); } } \ No newline at end of file diff --git a/Source/UnrealEnginePython/Public/PythonScript.h b/Source/UnrealEnginePython/Public/PythonScript.h index 48426e8e2..a1fbd47fd 100644 --- a/Source/UnrealEnginePython/Public/PythonScript.h +++ b/Source/UnrealEnginePython/Public/PythonScript.h @@ -1,6 +1,5 @@ #pragma once -#include "UEPyModule.h" #include "UObject/Object.h" #include "PythonScript.generated.h" From 3bc82df6ea0106593a53b05568c7ab2d1e535caa Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 8 Apr 2018 20:40:28 +0200 Subject: [PATCH 123/538] fixed 4.15 support --- .../Private/Fbx/UEPyFbxObject.cpp | 2 + .../UEPyFMaterialEditorUtilities.cpp | 6 +- .../Private/PyCharacter.cpp | 148 +++++++++++------- .../Private/Slate/UEPyFModifierKeysState.h | 5 +- .../Slate/UEPyIStructureDetailsView.cpp | 5 +- .../Private/Slate/UEPySGraphEditor.cpp | 4 +- .../Private/Slate/UEPySImage.cpp | 2 + .../Private/Slate/UEPySlateDelegate.h | 2 + .../UnrealEnginePython/Private/UEPyEngine.cpp | 4 +- .../UnrealEnginePython/Private/UEPyTimer.cpp | 3 + .../Private/UObject/UEPyActor.cpp | 4 + .../Private/UObject/UEPyAttaching.cpp | 3 +- .../Private/UObject/UEPyAttaching.h | 1 - .../Private/UObject/UEPyController.cpp | 4 + .../Private/UObject/UEPyHUD.cpp | 3 +- .../Private/UObject/UEPyMaterial.cpp | 3 + .../Private/UObject/UEPyNavigation.cpp | 2 + .../Private/UObject/UEPyPawn.cpp | 2 + .../Private/UObject/UEPyPhysics.cpp | 4 + .../Private/UObject/UEPySequencer.cpp | 8 +- .../Private/UObject/UEPySkeletal.cpp | 2 + .../Private/UObject/UEPyTraceAndSweep.cpp | 1 + .../Private/UObject/UEPyTransform.cpp | 2 +- .../Private/UObject/UEPyTransform.h | 2 +- .../Wrappers/UEPyFEditorViewportClient.cpp | 19 +-- .../Wrappers/UEPyFEditorViewportClient.h | 3 + .../Private/Wrappers/UEPyFHitResult.cpp | 1 + .../Private/Wrappers/UEPyFHitResult.h | 9 +- .../Private/Wrappers/UEPyFRawMesh.cpp | 2 + .../Private/Wrappers/UEPyFViewportClient.cpp | 2 + .../Public/PyNativeWidgetHost.h | 18 +-- .../UnrealEnginePython/Public/PythonScript.h | 1 + .../Public/UnrealEnginePython.h | 2 + 33 files changed, 183 insertions(+), 96 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxObject.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxObject.cpp index ffd304ba5..a4937b7e3 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxObject.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxObject.cpp @@ -6,6 +6,8 @@ #include "UEPyFbx.h" +#include "Runtime/Engine/Classes/Curves/RichCurve.h" + static PyObject *py_ue_fbx_object_get_name(ue_PyFbxObject *self, PyObject *args) { return PyUnicode_FromString(self->fbx_object->GetName()); diff --git a/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.cpp b/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.cpp index a9ca04c2c..0b80f1466 100644 --- a/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.cpp +++ b/Source/UnrealEnginePython/Private/MaterialEditorUtilities/UEPyFMaterialEditorUtilities.cpp @@ -2,10 +2,8 @@ #include "UEPyFMaterialEditorUtilities.h" #if WITH_EDITOR - - - - +#include "Materials/Material.h" +#include "Runtime/Engine/Classes/EdGraph/EdGraph.h" static PyObject *py_ue_paste_nodes_here(PyObject *cls, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/PyCharacter.cpp b/Source/UnrealEnginePython/Private/PyCharacter.cpp index 72c9afcbd..5b6c8c02c 100644 --- a/Source/UnrealEnginePython/Private/PyCharacter.cpp +++ b/Source/UnrealEnginePython/Private/PyCharacter.cpp @@ -2,7 +2,7 @@ #include "PyCharacter.h" - +#include "Components/InputComponent.h" APyCharacter::APyCharacter() { @@ -17,7 +17,7 @@ APyCharacter::APyCharacter() // Called when the game starts void APyCharacter::PreInitializeComponents() { - + Super::PreInitializeComponents(); @@ -29,13 +29,15 @@ void APyCharacter::PreInitializeComponents() FScopePythonGIL gil; py_uobject = ue_get_python_uobject(this); - if (!py_uobject) { + if (!py_uobject) + { unreal_engine_py_log_error(); return; } PyObject *py_character_module = PyImport_ImportModule(TCHAR_TO_UTF8(*PythonModule)); - if (!py_character_module) { + if (!py_character_module) + { unreal_engine_py_log_error(); return; } @@ -43,7 +45,8 @@ void APyCharacter::PreInitializeComponents() #if WITH_EDITOR // todo implement autoreload with a dictionary of module timestamps py_character_module = PyImport_ReloadModule(py_character_module); - if (!py_character_module) { + if (!py_character_module) + { unreal_engine_py_log_error(); return; } @@ -55,13 +58,15 @@ void APyCharacter::PreInitializeComponents() PyObject *py_character_module_dict = PyModule_GetDict(py_character_module); PyObject *py_character_class = PyDict_GetItemString(py_character_module_dict, TCHAR_TO_UTF8(*PythonClass)); - if (!py_character_class) { + if (!py_character_class) + { UE_LOG(LogPython, Error, TEXT("Unable to find class %s in module %s"), *PythonClass, *PythonModule); return; } py_character_instance = PyObject_CallObject(py_character_class, NULL); - if (!py_character_instance) { + if (!py_character_instance) + { unreal_engine_py_log_error(); return; } @@ -71,7 +76,8 @@ void APyCharacter::PreInitializeComponents() PyObject_SetAttrString(py_character_instance, (char *)"uobject", (PyObject *)py_uobject); // disable ticking if no tick method is exposed - if (!PyObject_HasAttrString(py_character_instance, (char *)"tick") || PythonTickForceDisabled) { + if (!PyObject_HasAttrString(py_character_instance, (char *)"tick") || PythonTickForceDisabled) + { SetActorTickEnabled(false); } @@ -80,12 +86,14 @@ void APyCharacter::PreInitializeComponents() ue_bind_events_for_py_class_by_attribute(this, py_character_instance); - if (!PyObject_HasAttrString(py_character_instance, (char *)"pre_initialize_components")) { + if (!PyObject_HasAttrString(py_character_instance, (char *)"pre_initialize_components")) + { return; } PyObject *pic_ret = PyObject_CallMethod(py_character_instance, (char *)"pre_initialize_components", NULL); - if (!pic_ret) { + if (!pic_ret) + { unreal_engine_py_log_error(); return; } @@ -105,7 +113,8 @@ void APyCharacter::PostInitializeComponents() return; PyObject *pic_ret = PyObject_CallMethod(py_character_instance, (char *)"post_initialize_components", NULL); - if (!pic_ret) { + if (!pic_ret) + { unreal_engine_py_log_error(); return; } @@ -126,7 +135,8 @@ void APyCharacter::BeginPlay() return; PyObject *bp_ret = PyObject_CallMethod(py_character_instance, (char *)"begin_play", NULL); - if (!bp_ret) { + if (!bp_ret) + { unreal_engine_py_log_error(); return; } @@ -137,7 +147,7 @@ void APyCharacter::BeginPlay() // Called every frame void APyCharacter::Tick(float DeltaTime) { - + Super::Tick(DeltaTime); @@ -149,7 +159,8 @@ void APyCharacter::Tick(float DeltaTime) // no need to check for method availability, we did it in begin_play PyObject *ret = PyObject_CallMethod(py_character_instance, (char *)"tick", (char *)"f", DeltaTime); - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); return; } @@ -159,7 +170,7 @@ void APyCharacter::Tick(float DeltaTime) void APyCharacter::CallPyCharacterMethod(FString method_name, FString args) { - + if (!py_character_instance) return; @@ -167,14 +178,17 @@ void APyCharacter::CallPyCharacterMethod(FString method_name, FString args) FScopePythonGIL gil; PyObject *ret = nullptr; - if (args.IsEmpty()) { + if (args.IsEmpty()) + { ret = PyObject_CallMethod(py_character_instance, TCHAR_TO_UTF8(*method_name), NULL); } - else { + else + { ret = PyObject_CallMethod(py_character_instance, TCHAR_TO_UTF8(*method_name), (char *)"s", TCHAR_TO_UTF8(*args)); } - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); return; } @@ -183,7 +197,7 @@ void APyCharacter::CallPyCharacterMethod(FString method_name, FString args) void APyCharacter::SetPythonAttrObject(FString attr, UObject *object) { - + if (!py_character_instance) return; @@ -191,109 +205,118 @@ void APyCharacter::SetPythonAttrObject(FString attr, UObject *object) FScopePythonGIL gil; ue_PyUObject *py_obj = ue_get_python_uobject(object); - if (!py_obj) { + if (!py_obj) + { PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); unreal_engine_py_log_error(); return; } - if (PyObject_SetAttrString(py_character_instance, TCHAR_TO_UTF8(*attr), (PyObject *)py_obj) < 0) { + if (PyObject_SetAttrString(py_character_instance, TCHAR_TO_UTF8(*attr), (PyObject *)py_obj) < 0) + { UE_LOG(LogPython, Error, TEXT("Unable to set attribute %s"), *attr); } } void APyCharacter::SetPythonAttrString(FString attr, FString s) { - + if (!py_character_instance) return; FScopePythonGIL gil; - if (PyObject_SetAttrString(py_character_instance, TCHAR_TO_UTF8(*attr), PyUnicode_FromString(TCHAR_TO_UTF8(*s))) < 0) { + if (PyObject_SetAttrString(py_character_instance, TCHAR_TO_UTF8(*attr), PyUnicode_FromString(TCHAR_TO_UTF8(*s))) < 0) + { UE_LOG(LogPython, Error, TEXT("Unable to set attribute %s"), *attr); } } void APyCharacter::SetPythonAttrFloat(FString attr, float f) { - + if (!py_character_instance) return; FScopePythonGIL gil; - if (PyObject_SetAttrString(py_character_instance, TCHAR_TO_UTF8(*attr), PyFloat_FromDouble(f)) < 0) { + if (PyObject_SetAttrString(py_character_instance, TCHAR_TO_UTF8(*attr), PyFloat_FromDouble(f)) < 0) + { UE_LOG(LogPython, Error, TEXT("Unable to set attribute %s"), *attr); } } void APyCharacter::SetPythonAttrInt(FString attr, int n) { - + if (!py_character_instance) return; FScopePythonGIL gil; - if (PyObject_SetAttrString(py_character_instance, TCHAR_TO_UTF8(*attr), PyLong_FromLong(n)) < 0) { + if (PyObject_SetAttrString(py_character_instance, TCHAR_TO_UTF8(*attr), PyLong_FromLong(n)) < 0) + { UE_LOG(LogPython, Error, TEXT("Unable to set attribute %s"), *attr); } } void APyCharacter::SetPythonAttrVector(FString attr, FVector vec) { - + if (!py_character_instance) return; FScopePythonGIL gil; - if (PyObject_SetAttrString(py_character_instance, TCHAR_TO_UTF8(*attr), py_ue_new_fvector(vec)) < 0) { + if (PyObject_SetAttrString(py_character_instance, TCHAR_TO_UTF8(*attr), py_ue_new_fvector(vec)) < 0) + { UE_LOG(LogPython, Error, TEXT("Unable to set attribute %s"), *attr); } } void APyCharacter::SetPythonAttrRotator(FString attr, FRotator rot) { - + if (!py_character_instance) return; FScopePythonGIL gil; - if (PyObject_SetAttrString(py_character_instance, TCHAR_TO_UTF8(*attr), py_ue_new_frotator(rot)) < 0) { + if (PyObject_SetAttrString(py_character_instance, TCHAR_TO_UTF8(*attr), py_ue_new_frotator(rot)) < 0) + { UE_LOG(LogPython, Error, TEXT("Unable to set attribute %s"), *attr); } } void APyCharacter::SetPythonAttrBool(FString attr, bool b) { - + if (!py_character_instance) return; FScopePythonGIL gil; - + PyObject *py_bool = Py_False; - if (b) { + if (b) + { py_bool = Py_True; } - if (PyObject_SetAttrString(py_character_instance, TCHAR_TO_UTF8(*attr), py_bool) < 0) { + if (PyObject_SetAttrString(py_character_instance, TCHAR_TO_UTF8(*attr), py_bool) < 0) + { UE_LOG(LogPython, Error, TEXT("Unable to set attribute %s"), *attr); } } bool APyCharacter::CallPyCharacterMethodBool(FString method_name, FString args) { - + if (!py_character_instance) return false; @@ -301,20 +324,24 @@ bool APyCharacter::CallPyCharacterMethodBool(FString method_name, FString args) FScopePythonGIL gil; PyObject *ret = nullptr; - if (args.IsEmpty()) { + if (args.IsEmpty()) + { ret = PyObject_CallMethod(py_character_instance, TCHAR_TO_UTF8(*method_name), NULL); } - else { + else + { ret = PyObject_CallMethod(py_character_instance, TCHAR_TO_UTF8(*method_name), (char *)"s", TCHAR_TO_UTF8(*args)); } - - if (!ret) { + + if (!ret) + { unreal_engine_py_log_error(); return false; } - if (PyObject_IsTrue(ret)) { + if (PyObject_IsTrue(ret)) + { Py_DECREF(ret); return true; } @@ -325,7 +352,7 @@ bool APyCharacter::CallPyCharacterMethodBool(FString method_name, FString args) float APyCharacter::CallPyCharacterMethodFloat(FString method_name, FString args) { - + if (!py_character_instance) return false; @@ -333,22 +360,26 @@ float APyCharacter::CallPyCharacterMethodFloat(FString method_name, FString args FScopePythonGIL gil; PyObject *ret = nullptr; - if (args.IsEmpty()) { + if (args.IsEmpty()) + { ret = PyObject_CallMethod(py_character_instance, TCHAR_TO_UTF8(*method_name), NULL); } - else { + else + { ret = PyObject_CallMethod(py_character_instance, TCHAR_TO_UTF8(*method_name), (char *)"s", TCHAR_TO_UTF8(*args)); } - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); return false; } float value = 0; - if (PyNumber_Check(ret)) { + if (PyNumber_Check(ret)) + { PyObject *py_value = PyNumber_Float(ret); value = PyFloat_AsDouble(py_value); Py_DECREF(py_value); @@ -360,7 +391,7 @@ float APyCharacter::CallPyCharacterMethodFloat(FString method_name, FString args FString APyCharacter::CallPyCharacterMethodString(FString method_name, FString args) { - + if (!py_character_instance) return FString(); @@ -368,20 +399,24 @@ FString APyCharacter::CallPyCharacterMethodString(FString method_name, FString a FScopePythonGIL gil; PyObject *ret = nullptr; - if (args.IsEmpty()) { + if (args.IsEmpty()) + { ret = PyObject_CallMethod(py_character_instance, TCHAR_TO_UTF8(*method_name), NULL); } - else { + else + { ret = PyObject_CallMethod(py_character_instance, TCHAR_TO_UTF8(*method_name), (char *)"s", TCHAR_TO_UTF8(*args)); } - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); return FString(); } PyObject *py_str = PyObject_Str(ret); - if (!py_str) { + if (!py_str) + { Py_DECREF(ret); return FString(); } @@ -408,7 +443,8 @@ void APyCharacter::SetupPlayerInputComponent(class UInputComponent* input) // no need to check for method availability, we did it in begin_play PyObject *ret = PyObject_CallMethod(py_character_instance, (char *)"setup_player_input_component", (char *)"O", ue_get_python_uobject(input)); - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); return; } @@ -422,10 +458,12 @@ void APyCharacter::EndPlay(const EEndPlayReason::Type EndPlayReason) FScopePythonGIL gil; - if (PyObject_HasAttrString(py_character_instance, (char *)"end_play")) { + if (PyObject_HasAttrString(py_character_instance, (char *)"end_play")) + { PyObject *ep_ret = PyObject_CallMethod(py_character_instance, (char *)"end_play", (char*)"i", (int)EndPlayReason); - if (!ep_ret) { + if (!ep_ret) + { unreal_engine_py_log_error(); } @@ -444,7 +482,7 @@ APyCharacter::~APyCharacter() Py_XDECREF(py_character_instance); - + #if defined(UEPY_MEMORY_DEBUG) UE_LOG(LogPython, Warning, TEXT("Python ACharacter (mapped to %p) wrapper XDECREF'ed"), py_uobject ? py_uobject->py_proxy : nullptr); #endif diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h b/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h index 97b5190da..c0c386a01 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h @@ -1,12 +1,13 @@ #pragma once #include "UnrealEnginePython.h" +#include "Runtime/Core/Public/GenericPlatform/GenericApplication.h" typedef struct { PyObject_HEAD - /* Type-specific fields go here. */ - FModifierKeysState modifier; + /* Type-specific fields go here. */ + FModifierKeysState modifier; } ue_PyFModifierKeysState; void ue_python_init_fmodifier_keys_state(PyObject *); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp index fed47d42a..3832be0b8 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp @@ -6,8 +6,7 @@ #include "Editor/PropertyEditor/Public/PropertyEditorModule.h" #include "UEPySWidget.h" - -//#define sw_idetails_view StaticCastSharedRef(self->s_compound_widget.s_widget.s_widget) +#include "Editor/PropertyEditor/Public/IDetailsView.h" static PyObject *ue_PyIStructureDetailsView_str(ue_PyIStructureDetailsView *self) @@ -61,7 +60,7 @@ static PyObject *py_ue_istructure_details_view_set_structure_data(ue_PyIStructur if (py_force_refresh && PyObject_IsTrue(py_force_refresh)) { self->istructure_details_view->GetDetailsView()->ForceRefresh(); - } +} #endif Py_RETURN_NONE; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySGraphEditor.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySGraphEditor.cpp index 5d1def0a0..a5d9ace16 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySGraphEditor.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySGraphEditor.cpp @@ -3,9 +3,7 @@ #if WITH_EDITOR - - - +#include "Runtime/Engine/Classes/EdGraph/EdGraph.h" static PyMethodDef ue_PySGraphEditor_methods[] = { { NULL } /* Sentinel */ diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySImage.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySImage.cpp index 91264b436..d94571971 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySImage.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySImage.cpp @@ -1,5 +1,7 @@ #include "UEPySImage.h" +#include "Engine/Texture2D.h" + static PyObject *py_ue_simage_set_brush(ue_PySImage *self, PyObject * args) { ue_py_slate_cast(SImage); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h index f1420941d..c6bba8cfe 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h @@ -8,6 +8,8 @@ #include "UEPySlatePythonItem.h" +#include "AssetData.h" + class FPythonSlateDelegate : public FPythonSmartDelegate { diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index da6097825..6fdcbc302 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -9,9 +9,11 @@ #include "Developer/DesktopPlatform/Public/DesktopPlatformModule.h" #if WITH_EDITOR #include "PackageTools.h" +#include "Editor.h" #endif #include "UnrealEngine.h" +#include "Runtime/Engine/Classes/Engine/GameViewportClient.h" #if ENGINE_MINOR_VERSION >= 18 #include "HAL/PlatformApplicationMisc.h" @@ -1257,7 +1259,7 @@ PyObject *py_unreal_engine_clipboard_copy(PyObject * self, PyObject * args) FGenericPlatformMisc::ClipboardCopy(UTF8_TO_TCHAR(text)); #endif Py_RETURN_NONE; - } +} PyObject *py_unreal_engine_clipboard_paste(PyObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UEPyTimer.cpp b/Source/UnrealEnginePython/Private/UEPyTimer.cpp index 78705ff56..7bd98a03b 100644 --- a/Source/UnrealEnginePython/Private/UEPyTimer.cpp +++ b/Source/UnrealEnginePython/Private/UEPyTimer.cpp @@ -1,6 +1,9 @@ #include "UEPyTimer.h" +#include "Engine/World.h" +#include "Runtime/Engine/Public/TimerManager.h" + static PyObject *py_ue_ftimerhandle_clear(ue_PyFTimerHandle *self, PyObject * args) { if (!self->world.IsValid()) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp index 6209b2ca5..3e992e2e5 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp @@ -1,5 +1,9 @@ #include "UEPyActor.h" +#if WITH_EDITOR +#include "Editor.h" +#endif + PyObject *py_ue_actor_has_tag(ue_PyUObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAttaching.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyAttaching.cpp index c94dceab2..fa94aa950 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAttaching.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAttaching.cpp @@ -1,6 +1,7 @@ #include "UEPyAttaching.h" - +#include "Components/SceneComponent.h" +#include "GameFramework/Actor.h" PyObject *py_ue_get_socket_location(ue_PyUObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAttaching.h b/Source/UnrealEnginePython/Private/UObject/UEPyAttaching.h index be80e4cf6..e80be26a9 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAttaching.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAttaching.h @@ -3,7 +3,6 @@ #include "UEPyModule.h" -#include "Wrappers/UEPyFTransform.h" PyObject *py_ue_get_socket_location(ue_PyUObject *, PyObject *); PyObject *py_ue_get_socket_rotation(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyController.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyController.cpp index e172dfe7e..15519285a 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyController.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyController.cpp @@ -1,5 +1,9 @@ #include "UEPyController.h" +#include "GameFramework/Controller.h" +#include "GameFramework/HUD.h" +#include "GameFramework/Pawn.h" +#include "GameFramework/PlayerController.h" PyObject *py_ue_controller_posses(ue_PyUObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyHUD.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyHUD.cpp index 981188001..8f1aadee0 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyHUD.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyHUD.cpp @@ -1,5 +1,6 @@ #include "UEPyHUD.h" -#include "Runtime/Engine/Classes/GameFramework/HUD.h" +#include "GameFramework/HUD.h" +#include "Engine/Texture.h" PyObject *py_ue_hud_draw_2d_line(ue_PyUObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp index 52796060f..4126c5338 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp @@ -11,6 +11,9 @@ #include "Materials/MaterialInstanceDynamic.h" #include "Wrappers/UEPyFLinearColor.h" #include "Wrappers/UEPyFVector.h" +#include "Engine/Texture.h" +#include "Components/PrimitiveComponent.h" +#include "Engine/StaticMesh.h" PyObject *py_ue_set_material_scalar_parameter(ue_PyUObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyNavigation.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyNavigation.cpp index 5a158f87a..44584ea54 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyNavigation.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyNavigation.cpp @@ -1,6 +1,8 @@ #include "UEPyNavigation.h" #include "AI/Navigation/NavigationSystem.h" +#include "GameFramework/Pawn.h" +#include "Engine/World.h" PyObject *py_ue_simple_move_to_location(ue_PyUObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyPawn.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyPawn.cpp index cbeafe0a0..26565827c 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyPawn.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyPawn.cpp @@ -1,5 +1,7 @@ #include "UEPyPawn.h" +#include "GameFramework/Pawn.h" +#include "GameFramework/Controller.h" PyObject *py_ue_pawn_get_controller(ue_PyUObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyPhysics.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyPhysics.cpp index fc3a88cd7..bd8036577 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyPhysics.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyPhysics.cpp @@ -2,8 +2,12 @@ #if ENGINE_MINOR_VERSION >= 18 #include "Runtime/Engine/Public/DestructibleInterface.h" +#else +#include "Components/DestructibleComponent.h" #endif +#include "Components/PrimitiveComponent.h" + PyObject *py_ue_set_simulate_physics(ue_PyUObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index fee163e55..1fbdc70fb 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -28,6 +28,10 @@ #include "Editor/MovieSceneTools/Public/MatineeImportTools.h" #endif +#include "GameFramework/Actor.h" +#include "Runtime/LevelSequence/Public/LevelSequence.h" +#include "Engine/World.h" + #if WITH_EDITOR PyObject *py_ue_sequencer_changed(ue_PyUObject *self, PyObject * args) { @@ -1100,7 +1104,7 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar section->GetTranslationCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetLocation()[ChannelIndex]); section->GetRotationCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetRotation().Euler()[ChannelIndex]); section->GetScaleCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetScale3D()[ChannelIndex]); - } + } #else CurveAPI.GetConvertedTransformCurveData(NodeName, Translation[0], Translation[1], Translation[2], EulerRotation[0], EulerRotation[1], EulerRotation[2], Scale[0], Scale[1], Scale[2]); @@ -1196,7 +1200,7 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar ImportOptions->bConvertSceneUnit = bConverteScene; ImportOptions->bForceFrontXAxis = bConverteScene; Py_RETURN_NONE; - } +} FbxImporter->ReleaseScene(); ImportOptions->bConvertScene = bConverteScene; diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp index 2c5ce2800..79986f4fb 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp @@ -10,6 +10,8 @@ #endif #endif +#include "Animation/AnimInstance.h" + PyObject *py_ue_get_anim_instance(ue_PyUObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyTraceAndSweep.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyTraceAndSweep.cpp index 797e3f675..053a31fc7 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyTraceAndSweep.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyTraceAndSweep.cpp @@ -3,6 +3,7 @@ #include "Kismet/KismetSystemLibrary.h" #include "Wrappers/UEPyFHitResult.h" #include "Kismet/GameplayStatics.h" +#include "Engine/World.h" PyObject *py_ue_line_trace_single_by_channel(ue_PyUObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyTransform.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyTransform.cpp index cd7bc790a..952d61423 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyTransform.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyTransform.cpp @@ -1,6 +1,6 @@ #include "UEPyTransform.h" -#include "Wrappers/UEPyFVector.h" +#include "GameFramework/Actor.h" #include "Wrappers/UEPyFHitResult.h" static bool check_vector_args(PyObject *args, FVector &vec, bool &sweep, bool &teleport_physics) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyTransform.h b/Source/UnrealEnginePython/Private/UObject/UEPyTransform.h index e0d9724c8..3624e5f1a 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyTransform.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyTransform.h @@ -2,7 +2,7 @@ -#include "UnrealEnginePython.h" +#include "UEPyModule.h" PyObject *py_ue_get_actor_location(ue_PyUObject *, PyObject *); PyObject *py_ue_get_actor_rotation(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.cpp index 1db221438..9e36b459f 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.cpp @@ -2,6 +2,7 @@ #if WITH_EDITOR + static PyObject *py_ue_feditor_viewport_client_take_high_res_screen_shot(ue_PyFEditorViewportClient *self, PyObject * args) { self->editor_viewport_client->TakeHighResScreenShot(); @@ -85,14 +86,14 @@ static PyObject *py_ue_feditor_viewport_client_set_view_location(ue_PyFEditorVie static PyObject *py_ue_feditor_viewport_client_set_realtime(ue_PyFEditorViewportClient *self, PyObject * args) { - PyObject* bInRealtime; - PyObject* bStoreCurrentValue; - if (!PyArg_ParseTuple(args, "OO", &bInRealtime, &bStoreCurrentValue)) - return nullptr; - - self->editor_viewport_client->SetRealtime(PyObject_IsTrue(bInRealtime) ? true : false, - PyObject_IsTrue(bStoreCurrentValue) ? true : false); - Py_RETURN_NONE; + PyObject* bInRealtime; + PyObject* bStoreCurrentValue; + if (!PyArg_ParseTuple(args, "OO", &bInRealtime, &bStoreCurrentValue)) + return nullptr; + + self->editor_viewport_client->SetRealtime(PyObject_IsTrue(bInRealtime) ? true : false, + PyObject_IsTrue(bStoreCurrentValue) ? true : false); + Py_RETURN_NONE; } static PyMethodDef ue_PyFEditorViewportClient_methods[] = { @@ -106,7 +107,7 @@ static PyMethodDef ue_PyFEditorViewportClient_methods[] = { { "get_scene_depth_at_location", (PyCFunction)py_ue_feditor_viewport_client_get_scene_depth_at_location, METH_VARARGS, "" }, { "set_look_at_location", (PyCFunction)py_ue_feditor_viewport_client_set_look_at_location, METH_VARARGS, "" }, { "set_view_location", (PyCFunction)py_ue_feditor_viewport_client_set_view_location, METH_VARARGS, "" }, - { "set_realtime", (PyCFunction)py_ue_feditor_viewport_client_set_realtime, METH_VARARGS, "" }, + { "set_realtime", (PyCFunction)py_ue_feditor_viewport_client_set_realtime, METH_VARARGS, "" }, { nullptr } /* Sentinel */ }; diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.h index b1fbc5bab..ade5a7764 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.h @@ -2,6 +2,9 @@ #include "UnrealEnginePython.h" #include "Wrappers/UEPyFViewportClient.h" + +#include "Editor/UnrealEd/Public/EditorViewportClient.h" + struct ue_PyFEditorViewportClient { ue_PyFViewportClient viewport_client; diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFHitResult.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFHitResult.cpp index b0dc45b7d..0ca0277e5 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFHitResult.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFHitResult.cpp @@ -1,5 +1,6 @@ #include "UEPyFHitResult.h" +#include "GameFramework/Actor.h" static PyObject *py_ue_fhitresult_get_reversed_hit(ue_PyFHitResult *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFHitResult.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFHitResult.h index fe352e80d..0ab274626 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFHitResult.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFHitResult.h @@ -4,10 +4,13 @@ #include "UEPyModule.h" -typedef struct { +#include "Engine/EngineTypes.h" + +typedef struct +{ PyObject_HEAD - /* Type-specific fields go here. */ - FHitResult hit; + /* Type-specific fields go here. */ + FHitResult hit; } ue_PyFHitResult; PyObject *py_ue_new_fhitresult(FHitResult); diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawMesh.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawMesh.cpp index f6109c692..d6f8f24d2 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawMesh.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRawMesh.cpp @@ -4,6 +4,8 @@ #if ENGINE_MINOR_VERSION > 13 +#include "Engine/StaticMesh.h" + static PyObject *py_ue_fraw_mesh_set_vertex_positions(ue_PyFRawMesh *self, PyObject * args) { PyObject *data; diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFViewportClient.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFViewportClient.cpp index 9b404a1b7..31bd02496 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFViewportClient.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFViewportClient.cpp @@ -1,5 +1,7 @@ #include "UEPyFViewportClient.h" +#include "Engine/World.h" + static PyObject *py_ue_fviewport_client_get_world(ue_PyFViewportClient *self, PyObject * args) { UWorld *u_world = self->viewport_client->GetWorld(); diff --git a/Source/UnrealEnginePython/Public/PyNativeWidgetHost.h b/Source/UnrealEnginePython/Public/PyNativeWidgetHost.h index fa20c574f..756ac9b0e 100644 --- a/Source/UnrealEnginePython/Public/PyNativeWidgetHost.h +++ b/Source/UnrealEnginePython/Public/PyNativeWidgetHost.h @@ -3,7 +3,7 @@ #pragma once #include "UObject/Class.h" - +#include "UnrealEnginePython.h" #include "Components/NativeWidgetHost.h" #include "PyNativeWidgetHost.generated.h" @@ -12,34 +12,34 @@ USTRUCT(BlueprintType) struct UNREALENGINEPYTHON_API FPythonSWidgetWrapper { - GENERATED_USTRUCT_BODY() + GENERATED_USTRUCT_BODY() - TSharedPtr Widget; + TSharedPtr Widget; }; template<> struct TStructOpsTypeTraits : public TStructOpsTypeTraitsBase2 { - enum + enum { WithCopy = true, }; }; /** - * + * */ UCLASS() class UNREALENGINEPYTHON_API UPyNativeWidgetHost : public UNativeWidgetHost { - GENERATED_BODY() + GENERATED_BODY() - UPyNativeWidgetHost(const FObjectInitializer& ObjectInitializer); + UPyNativeWidgetHost(const FObjectInitializer& ObjectInitializer); #if WITH_EDITOR - virtual const FText GetPaletteCategory() override; + virtual const FText GetPaletteCategory() override; #endif - + }; diff --git a/Source/UnrealEnginePython/Public/PythonScript.h b/Source/UnrealEnginePython/Public/PythonScript.h index a1fbd47fd..06caf9640 100644 --- a/Source/UnrealEnginePython/Public/PythonScript.h +++ b/Source/UnrealEnginePython/Public/PythonScript.h @@ -1,6 +1,7 @@ #pragma once #include "UObject/Object.h" +#include "UObject/ScriptMacros.h" #include "PythonScript.generated.h" UCLASS(MinimalAPI) diff --git a/Source/UnrealEnginePython/Public/UnrealEnginePython.h b/Source/UnrealEnginePython/Public/UnrealEnginePython.h index 809ac735d..f10cf9d73 100644 --- a/Source/UnrealEnginePython/Public/UnrealEnginePython.h +++ b/Source/UnrealEnginePython/Public/UnrealEnginePython.h @@ -25,6 +25,8 @@ #include "CoreMinimal.h" #include "ModuleManager.h" #include "Styling/SlateStyle.h" +#include "UObject/ScriptMacros.h" +#include "Runtime/Launch/Resources/Version.h" // We need to make sure reference structs do not mistaken for callable #define PyCalllable_Check_Extended(value) PyCallable_Check(value) && py_ue_is_uscriptstruct(value) == nullptr From 59ec6f90cd7f3472e6106af644e109f83665c326 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 9 Apr 2018 08:39:23 +0200 Subject: [PATCH 124/538] fixed 4.19 build --- .../UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h b/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h index c0c386a01..07143d3fa 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h @@ -1,7 +1,10 @@ #pragma once #include "UnrealEnginePython.h" + +#if ENGINE_MINOR_VERSION <= 15 #include "Runtime/Core/Public/GenericPlatform/GenericApplication.h" +#endif typedef struct { From 37ed558395700179e5ac540b0c728454fe84f160 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 9 Apr 2018 09:33:08 +0200 Subject: [PATCH 125/538] reorganized headers --- Source/UnrealEnginePython/Private/PyActor.cpp | 3 +- .../Private/PyCharacter.cpp | 2 +- Source/UnrealEnginePython/Private/PyHUD.cpp | 2 +- Source/UnrealEnginePython/Private/PyPawn.cpp | 2 +- .../Private/PythonComponent.cpp | 187 ++++++++++++------ .../Private/PythonFunction.cpp | 2 +- Source/UnrealEnginePython/Public/PyActor.h | 2 +- .../UnrealEnginePython/Public/PyCharacter.h | 2 +- Source/UnrealEnginePython/Public/PyHUD.h | 2 +- Source/UnrealEnginePython/Public/PyPawn.h | 2 +- .../UnrealEnginePython/Public/PyUserWidget.h | 2 +- .../Public/PythonBlueprintFunctionLibrary.h | 2 +- .../UnrealEnginePython/Public/PythonClass.h | 4 +- .../Public/PythonComponent.h | 2 +- .../Public/PythonFunction.h | 2 +- 15 files changed, 139 insertions(+), 79 deletions(-) diff --git a/Source/UnrealEnginePython/Private/PyActor.cpp b/Source/UnrealEnginePython/Private/PyActor.cpp index aa899da73..fd42173cd 100644 --- a/Source/UnrealEnginePython/Private/PyActor.cpp +++ b/Source/UnrealEnginePython/Private/PyActor.cpp @@ -1,8 +1,7 @@ // Copyright 20Tab S.r.l. #include "PyActor.h" - -#include "PythonDelegate.h" +#include "UEPyModule.h" APyActor::APyActor() { diff --git a/Source/UnrealEnginePython/Private/PyCharacter.cpp b/Source/UnrealEnginePython/Private/PyCharacter.cpp index 5b6c8c02c..91748bd05 100644 --- a/Source/UnrealEnginePython/Private/PyCharacter.cpp +++ b/Source/UnrealEnginePython/Private/PyCharacter.cpp @@ -1,7 +1,7 @@ // Copyright 20Tab S.r.l. #include "PyCharacter.h" - +#include "UEPyModule.h" #include "Components/InputComponent.h" APyCharacter::APyCharacter() diff --git a/Source/UnrealEnginePython/Private/PyHUD.cpp b/Source/UnrealEnginePython/Private/PyHUD.cpp index b2b3f0f5a..4f9f27df7 100644 --- a/Source/UnrealEnginePython/Private/PyHUD.cpp +++ b/Source/UnrealEnginePython/Private/PyHUD.cpp @@ -1,6 +1,6 @@ #include "PyHUD.h" - +#include "UEPyModule.h" #include "PythonDelegate.h" APyHUD::APyHUD() diff --git a/Source/UnrealEnginePython/Private/PyPawn.cpp b/Source/UnrealEnginePython/Private/PyPawn.cpp index cc1381469..287391a60 100644 --- a/Source/UnrealEnginePython/Private/PyPawn.cpp +++ b/Source/UnrealEnginePython/Private/PyPawn.cpp @@ -1,6 +1,6 @@ #include "PyPawn.h" - +#include "UEPyModule.h" APyPawn::APyPawn() { diff --git a/Source/UnrealEnginePython/Private/PythonComponent.cpp b/Source/UnrealEnginePython/Private/PythonComponent.cpp index 466f4718a..dcfc73591 100644 --- a/Source/UnrealEnginePython/Private/PythonComponent.cpp +++ b/Source/UnrealEnginePython/Private/PythonComponent.cpp @@ -1,7 +1,6 @@ #include "PythonComponent.h" - - +#include "UEPyModule.h" UPythonComponent::UPythonComponent() { @@ -18,20 +17,23 @@ UPythonComponent::UPythonComponent() bWantsInitializeComponent = true; } -void UPythonComponent::InitializePythonComponent() { +void UPythonComponent::InitializePythonComponent() +{ if (PythonModule.IsEmpty()) return; FScopePythonGIL gil; py_uobject = ue_get_python_uobject(this); - if (!py_uobject) { + if (!py_uobject) + { unreal_engine_py_log_error(); return; } PyObject *py_component_module = PyImport_ImportModule(TCHAR_TO_UTF8(*PythonModule)); - if (!py_component_module) { + if (!py_component_module) + { unreal_engine_py_log_error(); return; } @@ -39,7 +41,8 @@ void UPythonComponent::InitializePythonComponent() { #if WITH_EDITOR // todo implement autoreload with a dictionary of module timestamps py_component_module = PyImport_ReloadModule(py_component_module); - if (!py_component_module) { + if (!py_component_module) + { unreal_engine_py_log_error(); return; } @@ -51,13 +54,15 @@ void UPythonComponent::InitializePythonComponent() { PyObject *py_component_module_dict = PyModule_GetDict(py_component_module); PyObject *py_component_class = PyDict_GetItemString(py_component_module_dict, TCHAR_TO_UTF8(*PythonClass)); - if (!py_component_class) { + if (!py_component_class) + { UE_LOG(LogPython, Error, TEXT("Unable to find class %s in module %s"), *PythonClass, *PythonModule); return; } py_component_instance = PyObject_CallObject(py_component_class, NULL); - if (!py_component_instance) { + if (!py_component_instance) + { unreal_engine_py_log_error(); return; } @@ -68,7 +73,8 @@ void UPythonComponent::InitializePythonComponent() { // disable ticking if no tick method is exposed - if (!PyObject_HasAttrString(py_component_instance, (char *)"tick") || PythonTickForceDisabled) { + if (!PyObject_HasAttrString(py_component_instance, (char *)"tick") || PythonTickForceDisabled) + { PrimaryComponentTick.bCanEverTick = false; PrimaryComponentTick.SetTickFunctionEnable(false); } @@ -78,12 +84,14 @@ void UPythonComponent::InitializePythonComponent() { ue_bind_events_for_py_class_by_attribute(this, py_component_instance); - if (!PyObject_HasAttrString(py_component_instance, (char *)"initialize_component")) { + if (!PyObject_HasAttrString(py_component_instance, (char *)"initialize_component")) + { return; } PyObject *ic_ret = PyObject_CallMethod(py_component_instance, (char *)"initialize_component", NULL); - if (!ic_ret) { + if (!ic_ret) + { unreal_engine_py_log_error(); } Py_XDECREF(ic_ret); @@ -107,12 +115,14 @@ void UPythonComponent::BeginPlay() FScopePythonGIL gil; - if (!PyObject_HasAttrString(py_component_instance, (char *)"begin_play")) { + if (!PyObject_HasAttrString(py_component_instance, (char *)"begin_play")) + { return; } PyObject *bp_ret = PyObject_CallMethod(py_component_instance, (char *)"begin_play", NULL); - if (!bp_ret) { + if (!bp_ret) + { unreal_engine_py_log_error(); } Py_XDECREF(bp_ret); @@ -126,10 +136,12 @@ void UPythonComponent::EndPlay(const EEndPlayReason::Type EndPlayReason) FScopePythonGIL gil; - if (PyObject_HasAttrString(py_component_instance, (char *)"end_play")) { + if (PyObject_HasAttrString(py_component_instance, (char *)"end_play")) + { PyObject *ep_ret = PyObject_CallMethod(py_component_instance, (char *)"end_play", (char*)"i", (int)EndPlayReason); - if (!ep_ret) { + if (!ep_ret) + { unreal_engine_py_log_error(); } @@ -154,7 +166,8 @@ void UPythonComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActo // no need to check for method availability, we did it in component initialization PyObject *ret = PyObject_CallMethod(py_component_instance, (char *)"tick", (char *)"f", DeltaTime); - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); return; } @@ -170,14 +183,17 @@ void UPythonComponent::CallPythonComponentMethod(FString method_name, FString ar FScopePythonGIL gil; PyObject *ret = nullptr; - if (args.IsEmpty()) { + if (args.IsEmpty()) + { ret = PyObject_CallMethod(py_component_instance, TCHAR_TO_UTF8(*method_name), NULL); } - else { + else + { ret = PyObject_CallMethod(py_component_instance, TCHAR_TO_UTF8(*method_name), (char *)"s", TCHAR_TO_UTF8(*args)); } - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); return; } @@ -192,13 +208,15 @@ void UPythonComponent::SetPythonAttrObject(FString attr, UObject *object) FScopePythonGIL gil; ue_PyUObject *py_obj = ue_get_python_uobject(object); - if (!py_obj) { + if (!py_obj) + { PyErr_Format(PyExc_Exception, "PyUObject is in invalid state"); unreal_engine_py_log_error(); return; } - if (PyObject_SetAttrString(py_component_instance, TCHAR_TO_UTF8(*attr), (PyObject *)py_obj) < 0) { + if (PyObject_SetAttrString(py_component_instance, TCHAR_TO_UTF8(*attr), (PyObject *)py_obj) < 0) + { UE_LOG(LogPython, Error, TEXT("Unable to set attribute %s"), *attr); } } @@ -210,7 +228,8 @@ void UPythonComponent::SetPythonAttrString(FString attr, FString s) FScopePythonGIL gil; - if (PyObject_SetAttrString(py_component_instance, TCHAR_TO_UTF8(*attr), PyUnicode_FromString(TCHAR_TO_UTF8(*s))) < 0) { + if (PyObject_SetAttrString(py_component_instance, TCHAR_TO_UTF8(*attr), PyUnicode_FromString(TCHAR_TO_UTF8(*s))) < 0) + { UE_LOG(LogPython, Error, TEXT("Unable to set attribute %s"), *attr); } } @@ -222,7 +241,8 @@ void UPythonComponent::SetPythonAttrFloat(FString attr, float f) FScopePythonGIL gil; - if (PyObject_SetAttrString(py_component_instance, TCHAR_TO_UTF8(*attr), PyFloat_FromDouble(f)) < 0) { + if (PyObject_SetAttrString(py_component_instance, TCHAR_TO_UTF8(*attr), PyFloat_FromDouble(f)) < 0) + { UE_LOG(LogPython, Error, TEXT("Unable to set attribute %s"), *attr); } } @@ -236,7 +256,8 @@ void UPythonComponent::SetPythonAttrInt(FString attr, int n) FScopePythonGIL gil; - if (PyObject_SetAttrString(py_component_instance, TCHAR_TO_UTF8(*attr), PyLong_FromLong(n)) < 0) { + if (PyObject_SetAttrString(py_component_instance, TCHAR_TO_UTF8(*attr), PyLong_FromLong(n)) < 0) + { UE_LOG(LogPython, Error, TEXT("Unable to set attribute %s"), *attr); } } @@ -248,7 +269,8 @@ void UPythonComponent::SetPythonAttrVector(FString attr, FVector vec) FScopePythonGIL gil; - if (PyObject_SetAttrString(py_component_instance, TCHAR_TO_UTF8(*attr), py_ue_new_fvector(vec)) < 0) { + if (PyObject_SetAttrString(py_component_instance, TCHAR_TO_UTF8(*attr), py_ue_new_fvector(vec)) < 0) + { UE_LOG(LogPython, Error, TEXT("Unable to set attribute %s"), *attr); } } @@ -260,7 +282,8 @@ void UPythonComponent::SetPythonAttrRotator(FString attr, FRotator rot) FScopePythonGIL gil; - if (PyObject_SetAttrString(py_component_instance, TCHAR_TO_UTF8(*attr), py_ue_new_frotator(rot)) < 0) { + if (PyObject_SetAttrString(py_component_instance, TCHAR_TO_UTF8(*attr), py_ue_new_frotator(rot)) < 0) + { UE_LOG(LogPython, Error, TEXT("Unable to set attribute %s"), *attr); } } @@ -273,11 +296,13 @@ void UPythonComponent::SetPythonAttrBool(FString attr, bool b) FScopePythonGIL gil; PyObject *py_bool = Py_False; - if (b) { + if (b) + { py_bool = Py_True; } - if (PyObject_SetAttrString(py_component_instance, TCHAR_TO_UTF8(*attr), py_bool) < 0) { + if (PyObject_SetAttrString(py_component_instance, TCHAR_TO_UTF8(*attr), py_bool) < 0) + { UE_LOG(LogPython, Error, TEXT("Unable to set attribute %s"), *attr); } } @@ -290,20 +315,24 @@ bool UPythonComponent::CallPythonComponentMethodBool(FString method_name, FStrin FScopePythonGIL gil; PyObject *ret = nullptr; - if (args.IsEmpty()) { + if (args.IsEmpty()) + { ret = PyObject_CallMethod(py_component_instance, TCHAR_TO_UTF8(*method_name), NULL); } - else { + else + { ret = PyObject_CallMethod(py_component_instance, TCHAR_TO_UTF8(*method_name), (char *)"s", TCHAR_TO_UTF8(*args)); } - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); return false; } - if (PyObject_IsTrue(ret)) { + if (PyObject_IsTrue(ret)) + { Py_DECREF(ret); return true; } @@ -320,22 +349,26 @@ float UPythonComponent::CallPythonComponentMethodFloat(FString method_name, FStr FScopePythonGIL gil; PyObject *ret = nullptr; - if (args.IsEmpty()) { + if (args.IsEmpty()) + { ret = PyObject_CallMethod(py_component_instance, TCHAR_TO_UTF8(*method_name), NULL); } - else { + else + { ret = PyObject_CallMethod(py_component_instance, TCHAR_TO_UTF8(*method_name), (char *)"s", TCHAR_TO_UTF8(*args)); } - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); return 0; } float value = 0; - if (PyNumber_Check(ret)) { + if (PyNumber_Check(ret)) + { PyObject *py_value = PyNumber_Float(ret); value = PyFloat_AsDouble(py_value); Py_DECREF(py_value); @@ -353,22 +386,26 @@ int UPythonComponent::CallPythonComponentMethodInt(FString method_name, FString FScopePythonGIL gil; PyObject *ret = nullptr; - if (args.IsEmpty()) { + if (args.IsEmpty()) + { ret = PyObject_CallMethod(py_component_instance, TCHAR_TO_UTF8(*method_name), NULL); } - else { + else + { ret = PyObject_CallMethod(py_component_instance, TCHAR_TO_UTF8(*method_name), (char *)"s", TCHAR_TO_UTF8(*args)); } - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); return 0; } int value = 0; - if (PyNumber_Check(ret)) { + if (PyNumber_Check(ret)) + { PyObject *py_value = PyNumber_Long(ret); value = PyLong_AsLong(py_value); Py_DECREF(py_value); @@ -386,20 +423,24 @@ FString UPythonComponent::CallPythonComponentMethodString(FString method_name, F FScopePythonGIL gil; PyObject *ret = nullptr; - if (args.IsEmpty()) { + if (args.IsEmpty()) + { ret = PyObject_CallMethod(py_component_instance, TCHAR_TO_UTF8(*method_name), NULL); } - else { + else + { ret = PyObject_CallMethod(py_component_instance, TCHAR_TO_UTF8(*method_name), (char *)"s", TCHAR_TO_UTF8(*args)); } - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); return FString(); } PyObject *py_str = PyObject_Str(ret); - if (!py_str) { + if (!py_str) + { Py_DECREF(ret); return FString(); } @@ -421,24 +462,29 @@ UObject *UPythonComponent::CallPythonComponentMethodObject(FString method_name, FScopePythonGIL gil; PyObject *ret = nullptr; - if (!arg) { + if (!arg) + { ret = PyObject_CallMethod(py_component_instance, TCHAR_TO_UTF8(*method_name), NULL); } - else { + else + { PyObject *py_arg_uobject = (PyObject *)ue_get_python_uobject(arg); - if (!py_arg_uobject) { + if (!py_arg_uobject) + { unreal_engine_py_log_error(); return nullptr; } ret = PyObject_CallMethod(py_component_instance, TCHAR_TO_UTF8(*method_name), (char *)"O", py_arg_uobject); } - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); return nullptr; } - if (ue_is_pyuobject(ret)) { + if (ue_is_pyuobject(ret)) + { ue_PyUObject *py_obj = (ue_PyUObject *)ret; return py_obj->ue_object; } @@ -446,7 +492,8 @@ UObject *UPythonComponent::CallPythonComponentMethodObject(FString method_name, } #if ENGINE_MINOR_VERSION >= 15 -TMap UPythonComponent::CallPythonComponentMethodMap(FString method_name, FString args){ +TMap UPythonComponent::CallPythonComponentMethodMap(FString method_name, FString args) +{ TMap output_map; if (!py_component_instance) @@ -455,32 +502,38 @@ TMap UPythonComponent::CallPythonComponentMethodMap(FString me FScopePythonGIL gil; PyObject *ret = nullptr; - if (args.IsEmpty()) { + if (args.IsEmpty()) + { ret = PyObject_CallMethod(py_component_instance, TCHAR_TO_UTF8(*method_name), NULL); } - else { + else + { ret = PyObject_CallMethod(py_component_instance, TCHAR_TO_UTF8(*method_name), (char *)"s", TCHAR_TO_UTF8(*args)); } - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); return output_map; } - if (!PyDict_Check(ret)) { + if (!PyDict_Check(ret)) + { UE_LOG(LogPython, Error, TEXT("return value is not a dict")); return output_map; } - PyObject *py_keys = PyDict_Keys(ret); + PyObject *py_keys = PyDict_Keys(ret); Py_ssize_t len = PyList_Size(py_keys); - for (Py_ssize_t i = 0; i < len; i++) { + for (Py_ssize_t i = 0; i < len; i++) + { PyObject *py_key = PyList_GetItem(py_keys, i); PyObject *py_str_key = PyObject_Str(py_key); PyObject *py_str_value = PyObject_Str(PyDict_GetItem(ret, py_key)); - if (!py_str_key || !py_str_value) { + if (!py_str_key || !py_str_value) + { Py_DECREF(ret); return output_map; } @@ -513,28 +566,34 @@ void UPythonComponent::CallPythonComponentMethodStringArray(FString method_name, FScopePythonGIL gil; PyObject *ret = nullptr; - if (args.IsEmpty()) { + if (args.IsEmpty()) + { ret = PyObject_CallMethod(py_component_instance, TCHAR_TO_UTF8(*method_name), NULL); } - else { + else + { ret = PyObject_CallMethod(py_component_instance, TCHAR_TO_UTF8(*method_name), (char *)"s", TCHAR_TO_UTF8(*args)); } - if (!ret) { + if (!ret) + { unreal_engine_py_log_error(); return; } - if (!PyList_Check(ret)) { + if (!PyList_Check(ret)) + { UE_LOG(LogPython, Error, TEXT("return value is not a list")); return; } Py_ssize_t len = PyList_Size(ret); - for (Py_ssize_t i = 0; i < len; i++) { + for (Py_ssize_t i = 0; i < len; i++) + { PyObject *py_str = PyObject_Str(PyList_GetItem(ret, i)); - if (!py_str) { + if (!py_str) + { Py_DECREF(ret); return; } @@ -549,7 +608,7 @@ void UPythonComponent::CallPythonComponentMethodStringArray(FString method_name, } Py_DECREF(ret); - } +} UPythonComponent::~UPythonComponent() diff --git a/Source/UnrealEnginePython/Private/PythonFunction.cpp b/Source/UnrealEnginePython/Private/PythonFunction.cpp index 25176eabd..8cb3cccc7 100644 --- a/Source/UnrealEnginePython/Private/PythonFunction.cpp +++ b/Source/UnrealEnginePython/Private/PythonFunction.cpp @@ -1,6 +1,6 @@ #include "PythonFunction.h" - +#include "UEPyModule.h" void UPythonFunction::SetPyCallable(PyObject *callable) diff --git a/Source/UnrealEnginePython/Public/PyActor.h b/Source/UnrealEnginePython/Public/PyActor.h index c3129174e..e2bfe95ae 100644 --- a/Source/UnrealEnginePython/Public/PyActor.h +++ b/Source/UnrealEnginePython/Public/PyActor.h @@ -2,7 +2,7 @@ #include "GameFramework/Actor.h" -#include "UEPyModule.h" +#include "UnrealEnginePython.h" #include "PyActor.generated.h" diff --git a/Source/UnrealEnginePython/Public/PyCharacter.h b/Source/UnrealEnginePython/Public/PyCharacter.h index d77f03dc2..675cd810f 100644 --- a/Source/UnrealEnginePython/Public/PyCharacter.h +++ b/Source/UnrealEnginePython/Public/PyCharacter.h @@ -1,7 +1,7 @@ #pragma once #include "GameFramework/Character.h" -#include "UEPyModule.h" +#include "UnrealEnginePython.h" #include "PyCharacter.generated.h" diff --git a/Source/UnrealEnginePython/Public/PyHUD.h b/Source/UnrealEnginePython/Public/PyHUD.h index 01923c2ce..8948cdcbf 100644 --- a/Source/UnrealEnginePython/Public/PyHUD.h +++ b/Source/UnrealEnginePython/Public/PyHUD.h @@ -2,7 +2,7 @@ #include "GameFramework/HUD.h" -#include "UEPyModule.h" +#include "UnrealEnginePython.h" #include "PyHUD.generated.h" diff --git a/Source/UnrealEnginePython/Public/PyPawn.h b/Source/UnrealEnginePython/Public/PyPawn.h index 54660671b..513a2cc24 100644 --- a/Source/UnrealEnginePython/Public/PyPawn.h +++ b/Source/UnrealEnginePython/Public/PyPawn.h @@ -2,7 +2,7 @@ #include "GameFramework/Pawn.h" -#include "UEPyModule.h" +#include "UnrealEnginePython.h" #include "PyPawn.generated.h" diff --git a/Source/UnrealEnginePython/Public/PyUserWidget.h b/Source/UnrealEnginePython/Public/PyUserWidget.h index ec350abb4..76a7c0dc9 100644 --- a/Source/UnrealEnginePython/Public/PyUserWidget.h +++ b/Source/UnrealEnginePython/Public/PyUserWidget.h @@ -1,7 +1,7 @@ #pragma once #include "Runtime/UMG/Public/Blueprint/UserWidget.h" -#include "UEPyModule.h" +#include "UnrealEnginePython.h" #include "PyUserWidget.generated.h" diff --git a/Source/UnrealEnginePython/Public/PythonBlueprintFunctionLibrary.h b/Source/UnrealEnginePython/Public/PythonBlueprintFunctionLibrary.h index 6a58c6b3b..51acdc180 100644 --- a/Source/UnrealEnginePython/Public/PythonBlueprintFunctionLibrary.h +++ b/Source/UnrealEnginePython/Public/PythonBlueprintFunctionLibrary.h @@ -2,7 +2,7 @@ #include "Kismet/BlueprintFunctionLibrary.h" -#include "UEPyModule.h" +#include "UnrealEnginePython.h" #include "PythonBlueprintFunctionLibrary.generated.h" diff --git a/Source/UnrealEnginePython/Public/PythonClass.h b/Source/UnrealEnginePython/Public/PythonClass.h index da3345b4b..c814cd7ad 100644 --- a/Source/UnrealEnginePython/Public/PythonClass.h +++ b/Source/UnrealEnginePython/Public/PythonClass.h @@ -1,8 +1,10 @@ #pragma once -#include "UEPyModule.h" +#include "UnrealEnginePython.h" #include "PythonClass.generated.h" +void unreal_engine_py_log_error(); + UCLASS() class UPythonClass : public UClass { diff --git a/Source/UnrealEnginePython/Public/PythonComponent.h b/Source/UnrealEnginePython/Public/PythonComponent.h index a6e9c4ffc..5cc497bc1 100644 --- a/Source/UnrealEnginePython/Public/PythonComponent.h +++ b/Source/UnrealEnginePython/Public/PythonComponent.h @@ -1,7 +1,7 @@ #pragma once #include "Components/ActorComponent.h" -#include "UEPyModule.h" +#include "UnrealEnginePython.h" #include "PythonComponent.generated.h" diff --git a/Source/UnrealEnginePython/Public/PythonFunction.h b/Source/UnrealEnginePython/Public/PythonFunction.h index a2b195a01..162b70950 100644 --- a/Source/UnrealEnginePython/Public/PythonFunction.h +++ b/Source/UnrealEnginePython/Public/PythonFunction.h @@ -1,6 +1,6 @@ #pragma once -#include "UEPyModule.h" +#include "UnrealEnginePython.h" #include "PythonFunction.generated.h" UCLASS() From 6cc1f1b412307aaca146b8760b387518f30f3069 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 9 Apr 2018 17:12:41 +0200 Subject: [PATCH 126/538] osx fixes --- .../Private/Slate/UEPySMultiLineEditableText.h | 4 ++-- .../Private/Slate/UEPySWidget.h | 17 ----------------- .../Private/Slate/UEPySlate.h | 18 +++++++++++++++++- .../Private/Slate/UEPySlateDelegate.h | 3 +++ 4 files changed, 22 insertions(+), 20 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySMultiLineEditableText.h b/Source/UnrealEnginePython/Private/Slate/UEPySMultiLineEditableText.h index 8b4d2442e..913859b16 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySMultiLineEditableText.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySMultiLineEditableText.h @@ -1,6 +1,6 @@ #pragma once -#include "UEPySlate.h" +#include "UEPySWidget.h" #include "Runtime/Slate/Public/Widgets/Text/SMultiLineEditableText.h" @@ -12,4 +12,4 @@ typedef struct /* Type-specific fields go here. */ } ue_PySMultiLineEditableText; -void ue_python_init_smulti_line_editable_text(PyObject *); \ No newline at end of file +void ue_python_init_smulti_line_editable_text(PyObject *); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h index 83979500b..fe865240e 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h @@ -11,23 +11,6 @@ #include "UEPyFCharacterEvent.h" #include "UEPyFModifierKeysState.h" -extern PyTypeObject ue_PySWidgetType; - - - -void ue_python_init_swidget(PyObject *); - -template -TSharedPtr py_ue_is_swidget(PyObject *py_obj) -{ - if (!PyObject_IsInstance(py_obj, (PyObject *)&ue_PySWidgetType)) - { - PyErr_SetString(PyExc_Exception, "object is not an SWidget"); - return nullptr; - } - return StaticCastSharedRef(((ue_PySWidget *)py_obj)->Widget); -} - #define ue_py_slate_cast(T) ue_PySWidget *py_self_swidget = (ue_PySWidget *)self;\ TSharedRef py_ ## T = StaticCastSharedRef(py_self_swidget->Widget) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h index cc5d7f465..f68e78d77 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h @@ -15,10 +15,13 @@ -#include "UEPySWidget.h" #include "UEPySlateDelegate.h" #include "UEPySlatePythonItem.h" +void ue_python_init_swidget(PyObject *); + +extern PyTypeObject ue_PySWidgetType; + typedef struct ue_PySWidget ue_PySWidget; struct ue_PySWidget @@ -29,6 +32,19 @@ struct ue_PySWidget PyObject *weakreflist; }; +template +TSharedPtr py_ue_is_swidget(PyObject *py_obj) +{ + if (!PyObject_IsInstance(py_obj, (PyObject *)&ue_PySWidgetType)) + { + PyErr_SetString(PyExc_Exception, "object is not an SWidget"); + return nullptr; + } + return StaticCastSharedRef(((ue_PySWidget *)py_obj)->Widget); +} + + + PyObject *py_unreal_engine_get_editor_window(PyObject *, PyObject *); PyObject *py_unreal_engine_find_slate_style(PyObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h index c6bba8cfe..575896ca7 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h @@ -10,6 +10,9 @@ #include "AssetData.h" +void unreal_engine_py_log_error(); +template T *ue_py_check_struct(PyObject *); + class FPythonSlateDelegate : public FPythonSmartDelegate { From c21f72d362db2f55ed0e503f33963cb68027b182 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 10 Apr 2018 19:29:15 +0200 Subject: [PATCH 127/538] refactored editor commands --- .../UnrealEnginePython/Private/UEPyEditor.cpp | 40 +++++-------------- 1 file changed, 10 insertions(+), 30 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index f2329bdf7..f992b6971 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -188,62 +188,42 @@ PyObject *py_unreal_engine_editor_command_build(PyObject * self, PyObject * args PyObject *py_unreal_engine_editor_command_save_current_level(PyObject * self, PyObject * args) { - - if (!GEditor) - return PyErr_Format(PyExc_Exception, "no GEditor found"); - FLevelEditorActionCallbacks::Save(); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_unreal_engine_editor_command_save_all_levels(PyObject * self, PyObject * args) { - if (!GEditor) - return PyErr_Format(PyExc_Exception, "no GEditor found"); - FLevelEditorActionCallbacks::SaveAllLevels(); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_unreal_engine_editor_save_all(PyObject * self, PyObject * args) { - if (!GEditor) - return PyErr_Format(PyExc_Exception, "no GEditor found"); - FEditorFileUtils::SaveDirtyPackages(false, true, true, false, false, false); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_unreal_engine_editor_command_build_lighting(PyObject * self, PyObject * args) { - if (!GEditor) - return PyErr_Format(PyExc_Exception, "no GEditor found"); - FLevelEditorActionCallbacks::BuildLightingOnly_Execute(); - Py_INCREF(Py_None); - return Py_None; + + Py_RETURN_NONE; } PyObject *py_unreal_engine_editor_deselect_actors(PyObject * self, PyObject * args) { - if (!GEditor) - return PyErr_Format(PyExc_Exception, "no GEditor found"); - GEditor->SelectNone(true, true, false); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_unreal_engine_editor_play(PyObject * self, PyObject * args) @@ -432,7 +412,7 @@ PyObject *py_unreal_engine_import_asset(PyObject * self, PyObject * args) if (py_sync && PyObject_IsTrue(py_sync)) { sync_to_browser = true; - } +} FAssetToolsModule& AssetToolsModule = FModuleManager::LoadModuleChecked("AssetTools"); TArray objects = AssetToolsModule.Get().ImportAssets(files, UTF8_TO_TCHAR(destination), factory, sync_to_browser); @@ -742,7 +722,7 @@ PyObject *py_unreal_engine_delete_asset(PyObject * self, PyObject * args) Py_INCREF(Py_None); return Py_None; -} + } PyObject *py_unreal_engine_delete_object(PyObject * self, PyObject * args) { @@ -1431,7 +1411,7 @@ PyObject *py_unreal_engine_blueprint_set_variable_visibility(PyObject * self, Py if (!PyArg_ParseTuple(args, "OsO:blueprint_set_variable_visibility", &py_blueprint, &name, &visibility)) { return NULL; - } +} if (!ue_is_pyuobject(py_blueprint)) { @@ -1883,7 +1863,7 @@ PyObject *py_unreal_engine_move_selected_actors_to_level(PyObject *self, PyObjec if (!PyArg_ParseTuple(args, "O:move_selected_actors_to_level", &py_level)) { return NULL; - } +} ULevel *level = ue_py_check_type(py_level); if (!level) From a77e19ff46b83a42f46b32a773ecbe4c54437bc1 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 11 Apr 2018 11:40:24 +0200 Subject: [PATCH 128/538] improved slate api --- .../Private/Slate/UEPySHorizontalBox.cpp | 85 ++++------- .../Private/Slate/UEPySTextBlock.cpp | 31 +--- .../Private/Slate/UEPySVerticalBox.cpp | 133 +++++------------- .../Private/Slate/UEPySWidget.h | 31 ++++ .../Private/Slate/UEPySWindow.cpp | 55 ++++---- .../Private/Slate/UEPySlate.h | 37 +++++ 6 files changed, 152 insertions(+), 220 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySHorizontalBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySHorizontalBox.cpp index 7d82abc95..579615ebb 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySHorizontalBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySHorizontalBox.cpp @@ -12,37 +12,8 @@ static PyObject *py_ue_shorizontal_box_add_slot(ue_PySHorizontalBox *self, PyObj ue_py_slate_farguments_float("max_width", MaxWidth); ue_py_slate_farguments_optional_enum("h_align", HAlign, EHorizontalAlignment); ue_py_slate_farguments_optional_enum("v_align", VAlign, EVerticalAlignment); - - //NOTE: Padding slot in slate is weird and manually supports different parameter constructions - if (PyObject *padding = ue_py_dict_get_item(kwargs, "padding")) - { - if (PyTuple_Check(padding)) - { - FMargin margin; - if (!PyArg_ParseTuple(padding, "f|fff", &margin.Left, &margin.Top, &margin.Right, &margin.Bottom)) - { - PyErr_SetString(PyExc_TypeError, "invalid padding value"); - return -1; - } - arguments.Padding(margin); - } - else if (PyNumber_Check(padding)) - { - PyObject *py_float = PyNumber_Float(padding); - arguments.Padding(PyFloat_AsDouble(py_float)); - Py_DECREF(py_float); - } - else - { - ue_py_slate_farguments_struct("padding", Padding, FMargin); - } - } - PyObject *py_auto_width = ue_py_dict_get_item(kwargs, "auto_width"); - if (py_auto_width && PyObject_IsTrue(py_auto_width)) - { - arguments.AutoWidth(); - } - + ue_py_slate_farguments_call("auto_width", AutoWidth); + ue_py_slate_farguments_padding("padding", Padding); return 0; }(); @@ -67,36 +38,7 @@ static PyMethodDef ue_PySHorizontalBox_methods[] = { { NULL } /* Sentinel */ }; -PyTypeObject ue_PySHorizontalBoxType = { - PyVarObject_HEAD_INIT(NULL, 0) - "unreal_engine.SHorizontalBox", /* tp_name */ - sizeof(ue_PySHorizontalBox), /* tp_basicsize */ - 0, /* tp_itemsize */ - 0, /* tp_dealloc */ - 0, /* tp_print */ - 0, /* tp_getattr */ - 0, /* tp_setattr */ - 0, /* tp_reserved */ - 0, /* tp_repr */ - 0, /* tp_as_number */ - 0, /* tp_as_sequence */ - 0, /* tp_as_mapping */ - 0, /* tp_hash */ - 0, /* tp_call */ - 0, /* tp_str */ - 0, /* tp_getattro */ - 0, /* tp_setattro */ - 0, /* tp_as_buffer */ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ - "Unreal Engine SHorizontalBox", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - ue_PySHorizontalBox_methods, /* tp_methods */ -}; +DECLARE_UE_PY_SLATE_WIDGET(SHorizontalBox); static int ue_py_shorizontal_box_init(ue_PySHorizontalBox *self, PyObject *args, PyObject *kwargs) { @@ -104,6 +46,23 @@ static int ue_py_shorizontal_box_init(ue_PySHorizontalBox *self, PyObject *args, return 0; } +PyNumberMethods ue_PySHorizontalBox_number_methods; + +static PyObject *ue_py_shorizontal_box_add(ue_PySHorizontalBox *self, PyObject *value) +{ + ue_py_slate_cast(SHorizontalBox); + + TSharedPtr Child = py_ue_is_swidget(value); + if (!Child.IsValid()) + { + return nullptr; + } + + SHorizontalBox::FSlot &fslot = py_SHorizontalBox->AddSlot(); + fslot.AttachWidget(Child.ToSharedRef()); + + Py_RETURN_SLATE_SELF; +} void ue_python_init_shorizontal_box(PyObject *ue_module) { @@ -111,6 +70,10 @@ void ue_python_init_shorizontal_box(PyObject *ue_module) ue_PySHorizontalBoxType.tp_init = (initproc)ue_py_shorizontal_box_init; ue_PySHorizontalBoxType.tp_call = (ternaryfunc)py_ue_shorizontal_box_add_slot; + memset(&ue_PySHorizontalBox_number_methods, 0, sizeof(PyNumberMethods)); + ue_PySHorizontalBoxType.tp_as_number = &ue_PySHorizontalBox_number_methods; + ue_PySHorizontalBox_number_methods.nb_add = (binaryfunc)ue_py_shorizontal_box_add; + ue_PySHorizontalBoxType.tp_base = &ue_PySBoxPanelType; if (PyType_Ready(&ue_PySHorizontalBoxType) < 0) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySTextBlock.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySTextBlock.cpp index c7a6d013c..a994186a5 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySTextBlock.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySTextBlock.cpp @@ -53,36 +53,7 @@ static PyMethodDef ue_PySTextBlock_methods[] = { { NULL } /* Sentinel */ }; -PyTypeObject ue_PySTextBlockType = { - PyVarObject_HEAD_INIT(NULL, 0) - "unreal_engine.STextBlock", /* tp_name */ - sizeof(ue_PySTextBlock), /* tp_basicsize */ - 0, /* tp_itemsize */ - 0, /* tp_dealloc */ - 0, /* tp_print */ - 0, /* tp_getattr */ - 0, /* tp_setattr */ - 0, /* tp_reserved */ - 0, /* tp_repr */ - 0, /* tp_as_number */ - 0, /* tp_as_sequence */ - 0, /* tp_as_mapping */ - 0, /* tp_hash */ - 0, /* tp_call */ - 0, /* tp_str */ - 0, /* tp_getattro */ - 0, /* tp_setattro */ - 0, /* tp_as_buffer */ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ - "Unreal Engine STextBlock", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - ue_PySTextBlock_methods, /* tp_methods */ -}; +DECLARE_UE_PY_SLATE_WIDGET(STextBlock); static int ue_py_stext_block_init(ue_PySTextBlock *self, PyObject *args, PyObject *kwargs) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.cpp index 96c5db166..b5063de25 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySVerticalBox.cpp @@ -5,73 +5,22 @@ static PyObject *py_ue_svertical_box_add_slot(ue_PySVerticalBox *self, PyObject * args, PyObject *kwargs) { ue_py_slate_cast(SVerticalBox); - PyObject *py_content; - int h_align = 0; - float max_height = 0; - PyObject *padding = nullptr; - int v_align = 0; - float fill_height = 0; - PyObject *py_auto_height = nullptr; - - char *kwlist[] = { (char *)"widget", - (char *)"h_align", - (char *)"max_height", - (char *)"padding", - (char *)"v_align", - (char *)"fill_height", - (char *)"auto_height", - nullptr }; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|ifOifO:add_slot", kwlist, - &py_content, - &h_align, - &max_height, - &padding, - &v_align, - &fill_height, - &py_auto_height)) - { - return nullptr; - } - - TSharedPtr Child = py_ue_is_swidget(py_content); - if (!Child.IsValid()) - { - return nullptr; - } - SVerticalBox::FSlot &fslot = py_SVerticalBox->AddSlot(); - fslot.AttachWidget(Child.ToSharedRef()); - fslot.HAlign((EHorizontalAlignment)h_align); - if (max_height != 0) - fslot.MaxHeight(max_height); - if (fill_height) - fslot.FillHeight(fill_height); - if (padding) + int32 retCode = [&]() { + ue_py_slate_setup_hack_slot_args(SVerticalBox, py_SVerticalBox); + ue_py_slate_farguments_float("fill_height", FillHeight); + ue_py_slate_farguments_float("max_height", MaxHeight); + ue_py_slate_farguments_optional_enum("h_align", HAlign, EHorizontalAlignment); + ue_py_slate_farguments_optional_enum("v_align", VAlign, EVerticalAlignment); + ue_py_slate_farguments_call("auto_height", AutoHeight); + ue_py_slate_farguments_padding("padding", Padding); + return 0; + }(); + + if (retCode != 0) { - if (PyTuple_Check(padding)) - { - FMargin margin; - if (!PyArg_ParseTuple(padding, "f|fff", &margin.Left, &margin.Top, &margin.Right, &margin.Bottom)) - { - return PyErr_Format(PyExc_Exception, "invalid padding value"); - } - fslot.Padding(margin); - } - else if (PyNumber_Check(padding)) - { - PyObject *py_float = PyNumber_Float(padding); - fslot.Padding(PyFloat_AsDouble(py_float)); - Py_DECREF(py_float); - } - else - { - return PyErr_Format(PyExc_Exception, "invalid padding value"); - } + return PyErr_Format(PyExc_Exception, "could not add vertical slot"); } - fslot.VAlign((EVerticalAlignment)v_align); - if (py_auto_height && PyObject_IsTrue(py_auto_height)) - fslot.AutoHeight(); Py_RETURN_SLATE_SELF; } @@ -89,52 +38,40 @@ static PyMethodDef ue_PySVerticalBox_methods[] = { { NULL } /* Sentinel */ }; -PyTypeObject ue_PySVerticalBoxType = { - PyVarObject_HEAD_INIT(NULL, 0) - "unreal_engine.SVerticalBox", /* tp_name */ - sizeof(ue_PySVerticalBox), /* tp_basicsize */ - 0, /* tp_itemsize */ - 0, /* tp_dealloc */ - 0, /* tp_print */ - 0, /* tp_getattr */ - 0, /* tp_setattr */ - 0, /* tp_reserved */ - 0, /* tp_repr */ - 0, /* tp_as_number */ - 0, /* tp_as_sequence */ - 0, /* tp_as_mapping */ - 0, /* tp_hash */ - 0, /* tp_call */ - 0, /* tp_str */ - 0, /* tp_getattro */ - 0, /* tp_setattro */ - 0, /* tp_as_buffer */ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ - "Unreal Engine SVerticalBox", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - ue_PySVerticalBox_methods, /* tp_methods */ -}; +DECLARE_UE_PY_SLATE_WIDGET(SVerticalBox); static int ue_py_svertical_box_init(ue_PySVerticalBox *self, PyObject *args, PyObject *kwargs) { - - ue_py_slate_setup_farguments(SVerticalBox); - - ue_py_snew(SVerticalBox); + ue_py_snew_simple(SVerticalBox); return 0; } +PyNumberMethods ue_PySVerticalBox_number_methods; + +static PyObject *ue_py_svertical_box_add(ue_PySVerticalBox *self, PyObject *value) +{ + ue_py_slate_cast(SVerticalBox); + + TSharedPtr Child = py_ue_is_swidget(value); + if (!Child.IsValid()) + { + return nullptr; + } + + SVerticalBox::FSlot &fslot = py_SVerticalBox->AddSlot(); + fslot.AttachWidget(Child.ToSharedRef()); + + Py_RETURN_SLATE_SELF; +} void ue_python_init_svertical_box(PyObject *ue_module) { ue_PySVerticalBoxType.tp_init = (initproc)ue_py_svertical_box_init; ue_PySVerticalBoxType.tp_call = (ternaryfunc)py_ue_svertical_box_add_slot; + memset(&ue_PySVerticalBox_number_methods, 0, sizeof(PyNumberMethods)); + ue_PySVerticalBoxType.tp_as_number = &ue_PySVerticalBox_number_methods; + ue_PySVerticalBox_number_methods.nb_add = (binaryfunc)ue_py_svertical_box_add; ue_PySVerticalBoxType.tp_base = &ue_PySBoxPanelType; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h index fe865240e..bd77a6831 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.h @@ -20,3 +20,34 @@ #define Py_RETURN_SLATE_SELF Py_INCREF(self);\ return (PyObject *)self +#define DECLARE_UE_PY_SLATE_WIDGET(WIDGETTYPE) PyTypeObject ue_Py##WIDGETTYPE##Type = {\ +PyVarObject_HEAD_INIT(NULL, 0)\ +"unreal_engine." #WIDGETTYPE, /* tp_name */\ +sizeof(ue_Py##WIDGETTYPE), /* tp_basicsize */\ +0, /* tp_itemsize */\ +0, /* tp_dealloc */\ +0, /* tp_print */\ +0, /* tp_getattr */\ +0, /* tp_setattr */\ +0, /* tp_reserved */\ +0, /* tp_repr */\ +0, /* tp_as_number */\ +0, /* tp_as_sequence */\ +0, /* tp_as_mapping */\ +0, /* tp_hash */\ +0, /* tp_call */\ +0, /* tp_str */\ +0, /* tp_getattro */\ +0, /* tp_setattro */\ +0, /* tp_as_buffer */\ +Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */\ +"Unreal Engine " #WIDGETTYPE, /* tp_doc */\ +0, /* tp_traverse */\ +0, /* tp_clear */\ +0, /* tp_richcompare */\ +0, /* tp_weaklistoffset */\ +0, /* tp_iter */\ +0, /* tp_iternext */\ +ue_Py##WIDGETTYPE##_methods, /* tp_methods */\ +} + diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp index f7f587f8e..87ea5e430 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp @@ -60,7 +60,6 @@ static PyObject *py_ue_swindow_set_content(ue_PySWindow *self, PyObject * args) return nullptr; } - py_SWindow->SetContent(Content.ToSharedRef()); Py_RETURN_SLATE_SELF; @@ -151,36 +150,8 @@ static PyMethodDef ue_PySWindow_methods[] = { { NULL } /* Sentinel */ }; -PyTypeObject ue_PySWindowType = { - PyVarObject_HEAD_INIT(NULL, 0) - "unreal_engine.SWindow", /* tp_name */ - sizeof(ue_PySWindow), /* tp_basicsize */ - 0, /* tp_itemsize */ - 0, /* tp_dealloc */ - 0, /* tp_print */ - 0, /* tp_getattr */ - 0, /* tp_setattr */ - 0, /* tp_reserved */ - 0, /* tp_repr */ - 0, /* tp_as_number */ - 0, /* tp_as_sequence */ - 0, /* tp_as_mapping */ - 0, /* tp_hash */ - 0, /* tp_call */ - 0, /* tp_str */ - 0, /* tp_getattro */ - 0, /* tp_setattro */ - 0, /* tp_as_buffer */ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ - "Unreal Engine SWindow", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - ue_PySWindow_methods, /* tp_methods */ -}; + +DECLARE_UE_PY_SLATE_WIDGET(SWindow); static int ue_py_swindow_init(ue_PySWindow *self, PyObject *args, PyObject *kwargs) { @@ -261,12 +232,34 @@ static int ue_py_swindow_init(ue_PySWindow *self, PyObject *args, PyObject *kwar return 0; } +PyNumberMethods ue_PySWindow_number_methods; + +static PyObject *ue_py_swindow_lshift(ue_PySWindow *self, PyObject *value) +{ + ue_py_slate_cast(SWindow); + + TSharedPtr Content = py_ue_is_swidget(value); + if (!Content.IsValid()) + { + return nullptr; + } + + py_SWindow->SetContent(Content.ToSharedRef()); + + Py_RETURN_SLATE_SELF; +} + + void ue_python_init_swindow(PyObject *ue_module) { ue_PySWindowType.tp_init = (initproc)ue_py_swindow_init; ue_PySWindowType.tp_call = (ternaryfunc)py_ue_swindow_set_content; + memset(&ue_PySWindow_number_methods, 0, sizeof(PyNumberMethods)); + ue_PySWindowType.tp_as_number = &ue_PySWindow_number_methods; + ue_PySWindow_number_methods.nb_lshift = (binaryfunc)ue_py_swindow_lshift; + ue_PySWindowType.tp_base = &ue_PySCompoundWidgetType; if (PyType_Ready(&ue_PySWindowType) < 0) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h index f68e78d77..161ff686d 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h @@ -387,6 +387,43 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); }\ } +#define ue_py_slate_farguments_call(param, attribute) { PyObject *value = ue_py_dict_get_item(kwargs, param);\ + if (value && PyObject_IsTrue(value)) {\ + arguments.attribute();\ + }\ +} + +#define ue_py_slate_farguments_padding(param, attribute) { PyObject *padding = ue_py_dict_get_item(kwargs, param);\ + if (padding)\ + {\ + if (PyTuple_Check(padding))\ + {\ + FMargin margin;\ + if (!PyArg_ParseTuple(padding, "f|fff", &margin.Left, &margin.Top, &margin.Right, &margin.Bottom))\ + {\ + PyErr_SetString(PyExc_TypeError, "invalid padding value");\ + return -1;\ + }\ + arguments.attribute(margin);\ + }\ + else if (PyNumber_Check(padding))\ + {\ + PyObject *py_float = PyNumber_Float(padding); \ + arguments.attribute(PyFloat_AsDouble(py_float)); \ + Py_DECREF(py_float); \ + }\ + else if (FMargin *u_struct = ue_py_check_struct(padding))\ + {\ + arguments.attribute(*u_struct); \ + }\ + else\ + {\ + PyErr_SetString(PyExc_TypeError, "invalid padding value"); \ + return -1; \ + }\ + }\ +} + #define ue_py_slate_farguments_optional_bool(param, attribute) { PyObject *value = ue_py_dict_get_item(kwargs, param);\ if (value) {\ From 33ac302e704bad6b4e424127b0a703e267eba937 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 11 Apr 2018 15:28:02 +0200 Subject: [PATCH 129/538] added SDirectoryPicker --- .../Private/Slate/UEPySColorBlock.h | 3 - .../Private/Slate/UEPySDirectoryPicker.cpp | 62 +++++++++++++++++++ .../Private/Slate/UEPySDirectoryPicker.h | 20 ++++++ .../Private/Slate/UEPySEditableTextBox.h | 2 - .../Private/Slate/UEPySFilePathPicker.cpp | 31 +--------- .../Private/Slate/UEPySFilePathPicker.h | 5 +- .../Private/Slate/UEPySHeaderRow.h | 2 - .../Slate/UEPySObjectPropertyEntryBox.cpp | 31 +--------- .../Private/Slate/UEPySlate.cpp | 2 + 9 files changed, 88 insertions(+), 70 deletions(-) create mode 100644 Source/UnrealEnginePython/Private/Slate/UEPySDirectoryPicker.cpp create mode 100644 Source/UnrealEnginePython/Private/Slate/UEPySDirectoryPicker.h diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySColorBlock.h b/Source/UnrealEnginePython/Private/Slate/UEPySColorBlock.h index 9bc920583..3a7235073 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySColorBlock.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySColorBlock.h @@ -1,8 +1,5 @@ #pragma once -#include "UnrealEnginePython.h" - - #include "UEPySLeafWidget.h" #include "Runtime/Slate/Public/Widgets/Colors/SColorBlock.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySDirectoryPicker.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySDirectoryPicker.cpp new file mode 100644 index 000000000..bda93bbc3 --- /dev/null +++ b/Source/UnrealEnginePython/Private/Slate/UEPySDirectoryPicker.cpp @@ -0,0 +1,62 @@ +#include "UEPySDirectoryPicker.h" + +#if WITH_EDITOR +#if ENGINE_MINOR_VERSION > 13 + + +static PyObject *py_ue_sdirectory_picker_get_directory(ue_PySDirectoryPicker *self, PyObject * args) +{ + ue_py_slate_cast(SDirectoryPicker); + FString Directory = py_SDirectoryPicker->GetDirectory(); + + return PyUnicode_FromString(TCHAR_TO_UTF8(*Directory)); +} + +static PyObject *py_ue_sdirectory_picker_get_file_path(ue_PySDirectoryPicker *self, PyObject * args) +{ + ue_py_slate_cast(SDirectoryPicker); + FString FilePath = py_SDirectoryPicker->GetFilePath(); + + return PyUnicode_FromString(TCHAR_TO_UTF8(*FilePath)); +} + + +static PyMethodDef ue_PySDirectoryPicker_methods[] = { + { "get_directory", (PyCFunction)py_ue_sdirectory_picker_get_directory, METH_VARARGS, "" }, + { "get_file_path", (PyCFunction)py_ue_sdirectory_picker_get_file_path, METH_VARARGS, "" }, + { NULL } /* Sentinel */ +}; + +DECLARE_UE_PY_SLATE_WIDGET(SDirectoryPicker); + +DECLARE_DELEGATE_OneParam(FOnDirectoryChanged, const FString& /*Directory*/); + +static int ue_py_sdirectory_picker_init(ue_PySDirectoryPicker *self, PyObject *args, PyObject *kwargs) +{ + ue_py_slate_setup_farguments(SDirectoryPicker); + + ue_py_slate_farguments_optional_text("message", Message); + ue_py_slate_farguments_optional_string("directory", Directory); + ue_py_slate_farguments_optional_string("file", File); + ue_py_slate_farguments_bool("is_enabled", IsEnabled); + ue_py_slate_farguments_event("on_directory_changed", OnDirectoryChanged, FOnDirectoryChanged, OnStringChanged); + + ue_py_snew(SDirectoryPicker); + return 0; +} + +void ue_python_init_sdirectory_picker(PyObject *ue_module) +{ + + ue_PySDirectoryPickerType.tp_init = (initproc)ue_py_sdirectory_picker_init; + + ue_PySDirectoryPickerType.tp_base = &ue_PySCompoundWidgetType; + + if (PyType_Ready(&ue_PySDirectoryPickerType) < 0) + return; + + Py_INCREF(&ue_PySDirectoryPickerType); + PyModule_AddObject(ue_module, "SDirectoryPicker", (PyObject *)&ue_PySDirectoryPickerType); +} +#endif +#endif diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySDirectoryPicker.h b/Source/UnrealEnginePython/Private/Slate/UEPySDirectoryPicker.h new file mode 100644 index 000000000..b089e831f --- /dev/null +++ b/Source/UnrealEnginePython/Private/Slate/UEPySDirectoryPicker.h @@ -0,0 +1,20 @@ +#pragma once + +#include "UEPySCompoundWidget.h" + +#if WITH_EDITOR +#if ENGINE_MINOR_VERSION > 13 + +#include "Developer/DesktopWidgets/Public/Widgets/Input/SDirectoryPicker.h" + +extern PyTypeObject ue_PySDirectoryPickerType; + +typedef struct +{ + ue_PySCompoundWidget s_compound_widget; + /* Type-specific fields go here. */ +} ue_PySDirectoryPicker; + +void ue_python_init_sdirectory_picker(PyObject *); +#endif +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySEditableTextBox.h b/Source/UnrealEnginePython/Private/Slate/UEPySEditableTextBox.h index 619f3615d..597be25f9 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySEditableTextBox.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySEditableTextBox.h @@ -1,7 +1,5 @@ #pragma once -#include "UnrealEnginePython.h" - #include "UEPySBorder.h" #include "Runtime/Slate/Public/Widgets/Input/SEditableTextBox.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.cpp index 3928dfa30..c35118c96 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.cpp @@ -7,36 +7,7 @@ static PyMethodDef ue_PySFilePathPicker_methods[] = { { NULL } /* Sentinel */ }; -PyTypeObject ue_PySFilePathPickerType = { - PyVarObject_HEAD_INIT(NULL, 0) - "unreal_engine.SFilePathPicker", /* tp_name */ - sizeof(ue_PySFilePathPicker), /* tp_basicsize */ - 0, /* tp_itemsize */ - 0, /* tp_dealloc */ - 0, /* tp_print */ - 0, /* tp_getattr */ - 0, /* tp_setattr */ - 0, /* tp_reserved */ - 0, /* tp_repr */ - 0, /* tp_as_number */ - 0, /* tp_as_sequence */ - 0, /* tp_as_mapping */ - 0, /* tp_hash */ - 0, /* tp_call */ - 0, /* tp_str */ - 0, /* tp_getattro */ - 0, /* tp_setattro */ - 0, /* tp_as_buffer */ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ - "Unreal Engine SFilePathPicker", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - ue_PySFilePathPicker_methods, /* tp_methods */ -}; +DECLARE_UE_PY_SLATE_WIDGET(SFilePathPicker); static int ue_py_sfile_path_picker_init(ue_PySFilePathPicker *self, PyObject *args, PyObject *kwargs) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.h b/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.h index b87bd4ac5..f71c64a77 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySFilePathPicker.h @@ -1,7 +1,5 @@ #pragma once -#include "UnrealEnginePython.h" - #include "UEPySCompoundWidget.h" #if WITH_EDITOR @@ -10,7 +8,8 @@ extern PyTypeObject ue_PySFilePathPickerType; -typedef struct { +typedef struct +{ ue_PySCompoundWidget s_compound_widget; /* Type-specific fields go here. */ } ue_PySFilePathPicker; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.h b/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.h index 0a3129456..0a23b16d7 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySHeaderRow.h @@ -1,7 +1,5 @@ #pragma once -#include "UnrealEnginePython.h" - #include "UEPySBorder.h" #include "Runtime/Slate/Public/Widgets/Views/SHeaderRow.h" diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySObjectPropertyEntryBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySObjectPropertyEntryBox.cpp index f7ddbecc0..d398f4caf 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySObjectPropertyEntryBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySObjectPropertyEntryBox.cpp @@ -7,36 +7,7 @@ static PyMethodDef ue_PySObjectPropertyEntryBox_methods[] = { { NULL } /* Sentinel */ }; -PyTypeObject ue_PySObjectPropertyEntryBoxType = { - PyVarObject_HEAD_INIT(NULL, 0) - "unreal_engine.SObjectPropertyEntryBox", /* tp_name */ - sizeof(ue_PySObjectPropertyEntryBox), /* tp_basicsize */ - 0, /* tp_itemsize */ - 0, /* tp_dealloc */ - 0, /* tp_print */ - 0, /* tp_getattr */ - 0, /* tp_setattr */ - 0, /* tp_reserved */ - 0, /* tp_repr */ - 0, /* tp_as_number */ - 0, /* tp_as_sequence */ - 0, /* tp_as_mapping */ - 0, /* tp_hash */ - 0, /* tp_call */ - 0, /* tp_str */ - 0, /* tp_getattro */ - 0, /* tp_setattro */ - 0, /* tp_as_buffer */ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ - "Unreal Engine SObjectPropertyEntryBox", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - ue_PySObjectPropertyEntryBox_methods, /* tp_methods */ -}; +DECLARE_UE_PY_SLATE_WIDGET(SObjectPropertyEntryBox); static int ue_py_sobject_property_entry_box_init(ue_PySObjectPropertyEntryBox *self, PyObject *args, PyObject *kwargs) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp index d487bb97d..5b64fa041 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp @@ -96,6 +96,7 @@ #include "UEPySGraphEditor.h" #include "UEPySPythonShelf.h" #include "UEPySFilePathPicker.h" +#include "UEPySDirectoryPicker.h" #include "UEPySDropTarget.h" #include "UEPySAssetDropTarget.h" #include "UEPySObjectPropertyEntryBox.h" @@ -901,6 +902,7 @@ void ue_python_init_slate(PyObject *module) ue_python_init_spython_shelf(module); #if ENGINE_MINOR_VERSION > 13 ue_python_init_sfile_path_picker(module); + ue_python_init_sdirectory_picker(module); #endif #endif ue_python_init_sdrop_target(module); From 987c5031a54a8ed2b6826ad96ac53d6723502d30 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 22 Apr 2018 11:49:04 +0200 Subject: [PATCH 130/538] fixed non editor build --- .../Private/Slate/UEPyFModifierKeysState.h | 2 ++ .../Private/Slate/UEPyIStructureDetailsView.h | 4 +++- .../Private/Slate/UEPySAssetDropTarget.h | 6 +++--- .../UnrealEnginePython/Private/Slate/UEPySDropTarget.h | 6 +++--- .../Private/Slate/UEPySEditorViewport.h | 3 +++ .../Private/Slate/UEPySLevelViewport.h | 5 ++++- .../Private/Slate/UEPySObjectPropertyEntryBox.h | 9 +++++---- .../Private/Slate/UEPySPythonEditorViewport.h | 4 ++++ Source/UnrealEnginePython/Private/UEPyModule.cpp | 3 ++- Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp | 2 ++ .../UnrealEnginePython/Private/UObject/UEPySkeletal.cpp | 8 ++------ .../UnrealEnginePython/Private/UObject/UEPyViewport.cpp | 2 ++ Source/UnrealEnginePython/Private/UnrealEnginePython.cpp | 2 ++ .../Private/Wrappers/UEPyESlateEnums.cpp | 2 ++ .../Private/Wrappers/UEPyFEditorViewportClient.h | 5 +++++ Source/UnrealEnginePython/Public/PythonSmartDelegate.h | 2 ++ 16 files changed, 46 insertions(+), 19 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h b/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h index 07143d3fa..a97b3cc5d 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h @@ -4,6 +4,8 @@ #if ENGINE_MINOR_VERSION <= 15 #include "Runtime/Core/Public/GenericPlatform/GenericApplication.h" +#else +#include "Runtime/ApplicationCore/Public/GenericPlatform/GenericApplication.h" #endif typedef struct diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.h b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.h index 60006989d..c7f80939c 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.h @@ -2,9 +2,11 @@ #include "UEPyModule.h" -#include "IStructureDetailsView.h" #if WITH_EDITOR + +#include "IStructureDetailsView.h" + typedef struct { PyObject_HEAD diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySAssetDropTarget.h b/Source/UnrealEnginePython/Private/Slate/UEPySAssetDropTarget.h index 83b4fd83c..134b69549 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySAssetDropTarget.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySAssetDropTarget.h @@ -1,10 +1,9 @@ #pragma once -#include "UnrealEnginePython.h" - - #include "UEPySDropTarget.h" +#if WITH_EDITOR + #include "Editor/EditorWidgets/Public/SAssetDropTarget.h" extern PyTypeObject ue_PySAssetDropTargetType; @@ -15,3 +14,4 @@ typedef struct { } ue_PySAssetDropTarget; void ue_python_init_sasset_drop_target(PyObject *); +#endif diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySDropTarget.h b/Source/UnrealEnginePython/Private/Slate/UEPySDropTarget.h index ffa37b87b..620567af6 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySDropTarget.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySDropTarget.h @@ -1,10 +1,9 @@ #pragma once -#include "UnrealEnginePython.h" - - #include "UEPySCompoundWidget.h" +#if WITH_EDITOR + #include "Editor/EditorWidgets/Public/SDropTarget.h" extern PyTypeObject ue_PySDropTargetType; @@ -15,3 +14,4 @@ typedef struct { } ue_PySDropTarget; void ue_python_init_sdrop_target(PyObject *); +#endif diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySEditorViewport.h b/Source/UnrealEnginePython/Private/Slate/UEPySEditorViewport.h index e0675419e..207b14904 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySEditorViewport.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySEditorViewport.h @@ -2,6 +2,8 @@ #include "UEPySCompoundWidget.h" +#if WITH_EDITOR + #include "Editor/UnrealEd/Public/SEditorViewport.h" extern PyTypeObject ue_PySEditorViewportType; @@ -13,3 +15,4 @@ typedef struct } ue_PySEditorViewport; void ue_python_init_seditor_viewport(PyObject *); +#endif diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.h b/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.h index 0ba352c09..c833c2086 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySLevelViewport.h @@ -2,6 +2,8 @@ #include "UEPySEditorViewport.h" +#if WITH_EDITOR + #include "Editor/LevelEditor/Public/SLevelViewport.h" #include "Editor/LevelEditor/Private/SLevelEditor.h" #include "Editor/UnrealEd/Public/EditorViewportClient.h" @@ -15,4 +17,5 @@ typedef struct /* Type-specific fields go here. */ } ue_PySLevelViewport; -void ue_python_init_slevel_viewport(PyObject *); \ No newline at end of file +void ue_python_init_slevel_viewport(PyObject *); +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySObjectPropertyEntryBox.h b/Source/UnrealEnginePython/Private/Slate/UEPySObjectPropertyEntryBox.h index f9335f75d..d96de803b 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySObjectPropertyEntryBox.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySObjectPropertyEntryBox.h @@ -1,17 +1,18 @@ #pragma once -#include "UnrealEnginePython.h" - - #include "UEPySCompoundWidget.h" +#if WITH_EDITOR + #include "Editor/PropertyEditor/Public/PropertyCustomizationHelpers.h" extern PyTypeObject ue_PySObjectPropertyEntryBoxType; -typedef struct { +typedef struct +{ ue_PySCompoundWidget s_compound_widget; /* Type-specific fields go here. */ } ue_PySObjectPropertyEntryBox; void ue_python_init_sobject_property_entry_box(PyObject *); +#endif diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.h b/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.h index cbd9bef3e..f38cadff9 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonEditorViewport.h @@ -2,6 +2,8 @@ #include "UEPySEditorViewport.h" +#if WITH_EDITOR + #include "Editor/UnrealEd/Public/SEditorViewport.h" #include "Editor/UnrealEd/Public/EditorViewportClient.h" #include "Runtime/Engine/Public/PreviewScene.h" @@ -65,3 +67,5 @@ class SPythonEditorViewport : public SEditorViewport, public ICommonEditorViewpo bool bSimulate; }; + +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 2f6f30e46..89597c2f8 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -930,9 +930,10 @@ static PyMethodDef ue_PyUObject_methods[] = { #pragma warning(suppress: 4191) { "skeletal_mesh_build_lod", (PyCFunction)py_ue_skeletal_mesh_build_lod, METH_VARARGS | METH_KEYWORDS, "" }, #endif +#if WITH_EDITOR { "skeletal_mesh_register_morph_target", (PyCFunction)py_ue_skeletal_mesh_register_morph_target, METH_VARARGS, "" }, -#if WITH_EDITOR + { "skeletal_mesh_to_import_vertex_map", (PyCFunction)py_ue_skeletal_mesh_to_import_vertex_map, METH_VARARGS, "" }, { "morph_target_populate_deltas", (PyCFunction)py_ue_morph_target_populate_deltas, METH_VARARGS, "" }, diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp index 742ec4adc..2fdb8bde4 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp @@ -2,6 +2,8 @@ #include "PythonDelegate.h" #include "PythonFunction.h" +#include "Components/ActorComponent.h" +#include "Engine/UserDefinedEnum.h" #if WITH_EDITOR #include "Runtime/AssetRegistry/Public/AssetRegistryModule.h" diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp index 79986f4fb..c456e1c96 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp @@ -1057,7 +1057,7 @@ PyObject *py_ue_skeletal_mesh_build_lod(ue_PyUObject *self, PyObject * args, PyO Py_RETURN_NONE; } -#endif + PyObject *py_ue_skeletal_mesh_register_morph_target(ue_PyUObject *self, PyObject * args) { @@ -1083,21 +1083,17 @@ PyObject *py_ue_skeletal_mesh_register_morph_target(ue_PyUObject *self, PyObject return PyErr_Format(PyExc_Exception, "the MorphTarget has no valid data"); #endif -#if WITH_EDITOR mesh->PreEditChange(nullptr); -#endif mesh->RegisterMorphTarget(morph); -#if WITH_EDITOR mesh->PostEditChange(); -#endif + mesh->MarkPackageDirty(); Py_RETURN_NONE; } -#if WITH_EDITOR PyObject *py_ue_morph_target_populate_deltas(ue_PyUObject *self, PyObject * args) { ue_py_check(self); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp index 2bf915745..41cbea974 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyViewport.cpp @@ -7,6 +7,8 @@ #endif #include "Slate/UEPySWidget.h" +// required for GEngine access +#include "Engine/Engine.h" PyObject *py_unreal_engine_get_game_viewport_client(PyObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 40cb054f4..87500af40 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -10,7 +10,9 @@ #endif #include "Styling/SlateStyleRegistry.h" +#if WITH_EDITOR #include "Interfaces/IPluginManager.h" +#endif #if ENGINE_MINOR_VERSION >= 18 #define PROJECT_CONTENT_DIR FPaths::ProjectContentDir() diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp index 0b52f0502..4352312ba 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyESlateEnums.cpp @@ -1,5 +1,7 @@ #include "UEPyESlateEnums.h" +#include "Runtime/Slate/Public/Framework/Commands/UICommandInfo.h" + static PyObject *py_ue_eslate_enums_get(ue_PyESlateEnums *self, void *closure) { return PyLong_FromLong(self->val); diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.h index ade5a7764..86efd709b 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFEditorViewportClient.h @@ -1,5 +1,8 @@ #pragma once #include "UnrealEnginePython.h" + +#if WITH_EDITOR + #include "Wrappers/UEPyFViewportClient.h" @@ -17,3 +20,5 @@ void ue_python_init_feditor_viewport_client(PyObject *); PyObject *py_ue_new_feditor_viewport_client(TSharedRef); ue_PyFEditorViewportClient *py_ue_is_feditor_viewport_client(PyObject *); + +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Public/PythonSmartDelegate.h b/Source/UnrealEnginePython/Public/PythonSmartDelegate.h index 1d4b5c1f7..e0e967d11 100644 --- a/Source/UnrealEnginePython/Public/PythonSmartDelegate.h +++ b/Source/UnrealEnginePython/Public/PythonSmartDelegate.h @@ -1,7 +1,9 @@ #pragma once #include "UnrealEnginePython.h" +#if WITH_EDITOR #include "Factories/Factory.h" +#endif class FPythonSmartDelegate : public TSharedFromThis { From bf22a1df4248eafd293f7ee974da439c03b4d371 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 22 Apr 2018 12:45:37 +0200 Subject: [PATCH 131/538] check for name in blueprint factory creation --- .../UnrealEnginePython/Private/UEPyEditor.cpp | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index f992b6971..1d404b1cb 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -412,7 +412,7 @@ PyObject *py_unreal_engine_import_asset(PyObject * self, PyObject * args) if (py_sync && PyObject_IsTrue(py_sync)) { sync_to_browser = true; -} + } FAssetToolsModule& AssetToolsModule = FModuleManager::LoadModuleChecked("AssetTools"); TArray objects = AssetToolsModule.Get().ImportAssets(files, UTF8_TO_TCHAR(destination), factory, sync_to_browser); @@ -722,7 +722,7 @@ PyObject *py_unreal_engine_delete_asset(PyObject * self, PyObject * args) Py_INCREF(Py_None); return Py_None; - } +} PyObject *py_unreal_engine_delete_object(PyObject * self, PyObject * args) { @@ -1411,7 +1411,7 @@ PyObject *py_unreal_engine_blueprint_set_variable_visibility(PyObject * self, Py if (!PyArg_ParseTuple(args, "OsO:blueprint_set_variable_visibility", &py_blueprint, &name, &visibility)) { return NULL; -} + } if (!ue_is_pyuobject(py_blueprint)) { @@ -1750,17 +1750,17 @@ PyObject *py_ue_factory_create_new(ue_PyUObject *self, PyObject * args) char *name; if (!PyArg_ParseTuple(args, "s:factory_create_new", &name)) { - return NULL; + return nullptr; } - if (!self->ue_object->IsA()) + UFactory *factory = ue_py_check_type(self); + if (!factory) return PyErr_Format(PyExc_Exception, "uobject is not a Factory"); UPackage *outer = CreatePackage(nullptr, UTF8_TO_TCHAR(name)); if (!outer) return PyErr_Format(PyExc_Exception, "unable to create package"); - UFactory *factory = (UFactory *)self->ue_object; UClass *u_class = factory->GetSupportedClass(); char *obj_name = strrchr(name, '/') + 1; @@ -1769,6 +1769,15 @@ PyObject *py_ue_factory_create_new(ue_PyUObject *self, PyObject * args) return PyErr_Format(PyExc_Exception, "invalid object name"); } + // avoid duplicates + if (u_class->IsChildOf()) + { + if (FindObject(outer, UTF8_TO_TCHAR(obj_name))) + { + return PyErr_Format(PyExc_Exception, "a blueprint with this name already exists in the package"); + } + } + UObject *u_object = factory->FactoryCreateNew(u_class, outer, FName(UTF8_TO_TCHAR(obj_name)), RF_Public | RF_Standalone, nullptr, GWarn); if (!u_object) @@ -1863,7 +1872,7 @@ PyObject *py_unreal_engine_move_selected_actors_to_level(PyObject *self, PyObjec if (!PyArg_ParseTuple(args, "O:move_selected_actors_to_level", &py_level)) { return NULL; -} + } ULevel *level = ue_py_check_type(py_level); if (!level) @@ -1876,7 +1885,7 @@ PyObject *py_unreal_engine_move_selected_actors_to_level(PyObject *self, PyObjec #endif Py_RETURN_NONE; -} + } PyObject *py_unreal_engine_move_actor_to_level(PyObject *self, PyObject * args) { From 10b5c5f64f5aa293427ae15e4655520320e45b49 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 22 Apr 2018 12:46:29 +0200 Subject: [PATCH 132/538] added blueprint_generator example --- examples/widget_blueprint_generator.py | 37 ++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 examples/widget_blueprint_generator.py diff --git a/examples/widget_blueprint_generator.py b/examples/widget_blueprint_generator.py new file mode 100644 index 000000000..ec68c1b6d --- /dev/null +++ b/examples/widget_blueprint_generator.py @@ -0,0 +1,37 @@ +import unreal_engine as ue + +from unreal_engine.classes import Image, CanvasPanelSlot, TextBlock, WidgetBlueprintFactory +from unreal_engine.structs import AnchorData, Anchors, Vector2D, Margin + +import time + +widget = WidgetBlueprintFactory().factory_create_new( "/Game/W_MyWidgetBlueprint" + str(int(time.time())) ) + +widget.modify() + +widgetTree = widget.WidgetTree + + +slot = CanvasPanelSlot('', widgetTree) +image = Image('', widgetTree) + +slot.Content = image + +slot2 = CanvasPanelSlot('', widgetTree) +text_block = TextBlock('', widgetTree) +text_block.Text = 'Hello World' + +slot2.Content = text_block + +widgetTree.RootWidget.Slots = [slot, slot2] +widgetTree.AllWidgets = [ widgetTree.RootWidget, image, text_block ] + +slot.LayoutData = AnchorData(Offsets=Margin(Left=0, Top=0, Right=300, Bottom=300)) + +slot2.LayoutData = AnchorData(Anchors=Anchors(Minimum=Vector2D(X=0.5, Y=0.5), Maximum=Vector2D(X=1, Y=1))) + +widget.post_edit_change() + +ue.compile_blueprint(widget) + +ue.open_editor_for_asset(widget) \ No newline at end of file From 5096b38e3508d8c0510f8b2c52e115dea7e310ea Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 22 Apr 2018 13:31:38 +0200 Subject: [PATCH 133/538] added a blueprint example generator --- examples/blueprint_example_generator.py | 49 +++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 examples/blueprint_example_generator.py diff --git a/examples/blueprint_example_generator.py b/examples/blueprint_example_generator.py new file mode 100644 index 000000000..cfff157b8 --- /dev/null +++ b/examples/blueprint_example_generator.py @@ -0,0 +1,49 @@ +import unreal_engine as ue +from unreal_engine.classes import BlueprintFactory, DirectionalLightComponent, K2Node_Event + +import time + +# create new blueprint from factory +bpFactory = BlueprintFactory() +bp = bpFactory.factory_create_new('/Game/test' + str(int(time.time()))) + +# add intensity variable +intensity = ue.blueprint_add_member_variable(bp, 'intensity', 'float') +# set its visibility to True +ue.blueprint_set_variable_visibility(bp, 'intensity', True) + +# add directional light component +directLightComponent = ue.add_component_to_blueprint(bp,DirectionalLightComponent, "Directional_light") + +# add node variables (get) to the graph +intensity_node = bp.UberGraphPages[0].graph_add_node_variable_get('intensity', None, 200, 100) +directional_light_node = bp.UberGraphPages[0].graph_add_node_variable_get('Directional_light', None, 200, 0) + +# add the SetIntensity node (from DirectionalLightComponent) +directional_light_set_intensity = bp.UberGraphPages[0].graph_add_node_call_function(DirectionalLightComponent.SetIntensity, 400, 0) + +# link variables +intensity_node.node_find_pin('intensity').make_link_to(directional_light_set_intensity.node_find_pin('NewIntensity')) +directional_light_node.node_find_pin('Directional_light').make_link_to(directional_light_set_intensity.node_find_pin('self')) + +# a commodity function for finding an event node +def get_event_node(event_name): + for node in bp.UberGraphPages[0].Nodes: + if node.is_a(K2Node_Event): + if node.EventReference.MemberName == event_name: + return node + +# get the ReceiveBeginPlay event node +begin_play_node = get_event_node('ReceiveBeginPlay') + +# link BeginPlay to SetIntensity +begin_play_node.node_find_pin('then').make_link_to(directional_light_set_intensity.node_find_pin('execute')) + +# compile the blueprint +ue.compile_blueprint(bp) + +# open related editor +ue.open_editor_for_asset(bp) + +# spawn it +ue.get_editor_world().actor_spawn(bp.GeneratedClass) \ No newline at end of file From 7e35da44cf59721b760fad13c27b46dac2286214 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 22 Apr 2018 20:06:33 +0200 Subject: [PATCH 134/538] added node_function_entry_set_pure() --- .../Private/Blueprint/UEPyEdGraph.cpp | 56 +++++++++++++++++++ .../Private/Blueprint/UEPyEdGraph.h | 2 + .../UnrealEnginePython/Private/UEPyEditor.cpp | 19 ++----- .../UnrealEnginePython/Private/UEPyModule.cpp | 2 + 4 files changed, 66 insertions(+), 13 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp index 2ea84adb5..b149995fb 100644 --- a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp +++ b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp @@ -12,6 +12,7 @@ #include "Editor/BlueprintGraph/Classes/EdGraphSchema_K2_Actions.h" #include "Editor/AIGraph/Classes/AIGraph.h" #include "Editor/AIGraph/Classes/AIGraphNode.h" +#include "Editor/BlueprintGraph/Classes/K2Node_FunctionEntry.h" PyObject *py_ue_graph_add_node_call_function(ue_PyUObject * self, PyObject * args) { @@ -479,6 +480,61 @@ PyObject *py_ue_node_find_pin(ue_PyUObject * self, PyObject * args) return ret; } +PyObject *py_ue_node_function_entry_set_pure(ue_PyUObject * self, PyObject * args) +{ + + ue_py_check(self); + + PyObject *py_bool = nullptr; + if (!PyArg_ParseTuple(args, "O:node_function_entry_set_pure", &py_bool)) + { + return nullptr; + } + + UK2Node_FunctionEntry *node = ue_py_check_type(self); + if (!node) + return PyErr_Format(PyExc_Exception, "uobject is not a K2Node_FunctionEntry"); + + UEdGraph *graph = node->GetGraph(); + + if (!graph) + return PyErr_Format(PyExc_Exception, "unable to get graph from node"); + + UBlueprint *blueprint = FBlueprintEditorUtils::FindBlueprintForGraph(graph); + if (!blueprint) + return PyErr_Format(PyExc_Exception, "unable to get blueprint from node"); + + UClass *Class = blueprint->SkeletonGeneratedClass; + UFunction *function = nullptr; + for (TFieldIterator FunctionIt(Class, EFieldIteratorFlags::IncludeSuper); FunctionIt; ++FunctionIt) + { + if (*FunctionIt->GetName() == graph->GetName()) + { + function = *FunctionIt; + break; + } + } + + if (!function) + return PyErr_Format(PyExc_Exception, "unable to get function from node"); + + node->Modify(); + function->Modify(); + + if (PyObject_IsTrue(py_bool)) + { + function->FunctionFlags |= FUNC_BlueprintPure; + node->AddExtraFlags(FUNC_BlueprintPure); + } + else + { + function->FunctionFlags &= ~FUNC_BlueprintPure; + node->ClearExtraFlags(FUNC_BlueprintPure); + } + + Py_RETURN_NONE; +} + PyObject *py_ue_node_create_pin(ue_PyUObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.h b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.h index e41bf709b..a573f05ec 100644 --- a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.h +++ b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.h @@ -21,6 +21,8 @@ PyObject *py_ue_node_pins(ue_PyUObject *, PyObject *); PyObject *py_ue_node_find_pin(ue_PyUObject *, PyObject *); PyObject *py_ue_node_create_pin(ue_PyUObject *, PyObject *); +PyObject *py_ue_node_function_entry_set_pure(ue_PyUObject *, PyObject *); + PyObject *py_ue_node_get_title(ue_PyUObject *, PyObject *); PyObject *py_ue_node_allocate_default_pins(ue_PyUObject *, PyObject *); PyObject *py_ue_node_reconstruct(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index 1d404b1cb..c6f7c8eca 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -1410,18 +1410,12 @@ PyObject *py_unreal_engine_blueprint_set_variable_visibility(PyObject * self, Py PyObject *visibility; if (!PyArg_ParseTuple(args, "OsO:blueprint_set_variable_visibility", &py_blueprint, &name, &visibility)) { - return NULL; - } - - if (!ue_is_pyuobject(py_blueprint)) - { - return PyErr_Format(PyExc_Exception, "argument is not a UObject"); + return nullptr; } - ue_PyUObject *py_obj = (ue_PyUObject *)py_blueprint; - if (!py_obj->ue_object->IsA()) - return PyErr_Format(PyExc_Exception, "uobject is not a UBlueprint"); - UBlueprint *bp = (UBlueprint *)py_obj->ue_object; + UBlueprint *bp = ue_py_check_type(py_blueprint); + if (!bp) + return PyErr_Format(PyExc_Exception, "uobject is not a Blueprint"); bool visible = false; if (PyObject_IsTrue(visibility)) @@ -1431,8 +1425,7 @@ PyObject *py_unreal_engine_blueprint_set_variable_visibility(PyObject * self, Py FBlueprintEditorUtils::SetBlueprintOnlyEditableFlag(bp, FName(UTF8_TO_TCHAR(name)), !visible); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_unreal_engine_blueprint_add_new_timeline(PyObject * self, PyObject * args) @@ -1885,7 +1878,7 @@ PyObject *py_unreal_engine_move_selected_actors_to_level(PyObject *self, PyObjec #endif Py_RETURN_NONE; - } +} PyObject *py_unreal_engine_move_actor_to_level(PyObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 89597c2f8..e537f2446 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -583,6 +583,8 @@ static PyMethodDef ue_PyUObject_methods[] = { { "node_find_pin", (PyCFunction)py_ue_node_find_pin, METH_VARARGS, "" }, { "node_create_pin", (PyCFunction)py_ue_node_create_pin, METH_VARARGS, "" }, + { "node_function_entry_set_pure", (PyCFunction)py_ue_node_function_entry_set_pure, METH_VARARGS, "" }, + { "node_allocate_default_pins", (PyCFunction)py_ue_node_allocate_default_pins, METH_VARARGS, "" }, { "node_reconstruct", (PyCFunction)py_ue_node_reconstruct, METH_VARARGS, "" }, From 083a470cc2eb7e19a1cc4dda4224cc5c4bb1f0e3 Mon Sep 17 00:00:00 2001 From: Stan Prokop Date: Sun, 22 Apr 2018 21:21:38 +0200 Subject: [PATCH 135/538] Fixed typo, Bulding -> Building --- tutorials/WritingAColladaFactoryWithPython.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/WritingAColladaFactoryWithPython.md b/tutorials/WritingAColladaFactoryWithPython.md index befd94c7d..3ea454911 100644 --- a/tutorials/WritingAColladaFactoryWithPython.md +++ b/tutorials/WritingAColladaFactoryWithPython.md @@ -94,7 +94,7 @@ obviously we still have not added data to our StaticMesh, so in our Content Brow ![Empty mesh](https://github.com/20tab/UnrealEnginePython/blob/master/tutorials/WritingAColladaFactoryWithPython_Assets/empty_mesh.png) -## Bulding the new mesh +## Building the new mesh The following part is a bit complex and requires heavy understanding of the UE4 internals. From 3bbe14611756a1cf44e36d3a281b7e4806be07a6 Mon Sep 17 00:00:00 2001 From: Mathieu Bernard Date: Mon, 23 Apr 2018 07:19:19 +0200 Subject: [PATCH 136/538] fixed typo in UEPyFRandomStream.cpp This caused a compilation error when packaging my project with UE-4.19 --- .../UnrealEnginePython/Private/Wrappers/UEPyFRandomStream.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRandomStream.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRandomStream.cpp index 86cbc3a3b..d315dd2f0 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFRandomStream.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFRandomStream.cpp @@ -1,4 +1,4 @@ -#include "UePyFRandomStream.h" +#include "UEPyFRandomStream.h" static PyObject *py_ue_frandomstream_frand(ue_PyFRandomStream *self, PyObject * args) { return PyFloat_FromDouble(self->rstream.FRand()); From 593f9158b3cc8f20719cdc66102f0b4ca34741b9 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 23 Apr 2018 16:44:30 +0200 Subject: [PATCH 137/538] improved addition of member variables --- .../UnrealEnginePython/Private/UEPyEditor.cpp | 52 +++++++++++-------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index c6f7c8eca..802d3a876 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -1360,46 +1360,52 @@ PyObject *py_unreal_engine_blueprint_add_member_variable(PyObject * self, PyObje PyObject *py_blueprint; char *name; - char *in_type; + PyObject *py_type; PyObject *py_is_array = nullptr; - if (!PyArg_ParseTuple(args, "Oss|O:blueprint_add_member_variable", &py_blueprint, &name, &in_type, &py_is_array)) + if (!PyArg_ParseTuple(args, "OsO|O:blueprint_add_member_variable", &py_blueprint, &name, &py_type, &py_is_array)) { - return NULL; + return nullptr; } - if (!ue_is_pyuobject(py_blueprint)) - { - return PyErr_Format(PyExc_Exception, "argument is not a UObject"); - } + UBlueprint *bp = ue_py_check_type(py_blueprint); + if (!bp) + return PyErr_Format(PyExc_Exception, "uobject is not a Blueprint"); - ue_PyUObject *py_obj = (ue_PyUObject *)py_blueprint; - if (!py_obj->ue_object->IsA()) - return PyErr_Format(PyExc_Exception, "uobject is not a UBlueprint"); - UBlueprint *bp = (UBlueprint *)py_obj->ue_object; + FEdGraphPinType pin; - bool is_array = false; - if (py_is_array && PyObject_IsTrue(py_is_array)) - is_array = true; + if (PyUnicode_Check(py_type)) + { + char *in_type = PyUnicode_AsUTF8(py_type); + + bool is_array = false; + if (py_is_array && PyObject_IsTrue(py_is_array)) + is_array = true; #if ENGINE_MINOR_VERSION > 14 - FEdGraphPinType pin; - pin.PinCategory = UTF8_TO_TCHAR(in_type); + pin.PinCategory = UTF8_TO_TCHAR(in_type); #if ENGINE_MINOR_VERSION >= 17 - pin.ContainerType = is_array ? EPinContainerType::Array : EPinContainerType::None; + pin.ContainerType = is_array ? EPinContainerType::Array : EPinContainerType::None; #else - pin.bIsArray = is_array; + pin.bIsArray = is_array; #endif #else - FEdGraphPinType pin(UTF8_TO_TCHAR(in_type), FString(""), nullptr, is_array, false); + FEdGraphPinType pin2(UTF8_TO_TCHAR(in_type), FString(""), nullptr, is_array, false); + pin = pin2; #endif + } + else + { + FEdGraphPinType *pinptr = ue_py_check_struct(py_type); + if (!pinptr) + return PyErr_Format(PyExc_Exception, "argument is not a EdGraphPinType"); + pin = *pinptr; + } if (FBlueprintEditorUtils::AddMemberVariable(bp, UTF8_TO_TCHAR(name), pin)) { - Py_INCREF(Py_True); - return Py_True; + Py_RETURN_TRUE; } - Py_INCREF(Py_False); - return Py_False; + Py_RETURN_FALSE; } PyObject *py_unreal_engine_blueprint_set_variable_visibility(PyObject * self, PyObject * args) From aa02da9dd001dd6822ed329d83c9096d856da3a2 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 23 Apr 2018 16:53:49 +0200 Subject: [PATCH 138/538] implemented UWeakObjectProperty --- Source/UnrealEnginePython/Private/UEPyModule.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index e537f2446..ea7aee985 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -2423,6 +2423,11 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in casted_prop_soft_object->SetPropertyValue_InContainer(buffer, FSoftObjectPtr(ue_obj->ue_object), index); return true; } + else if (auto casted_prop_weak_object = Cast(prop)) + { + casted_prop_weak_object->SetPropertyValue_InContainer(buffer, FWeakObjectPtr(ue_obj->ue_object), index); + return true; + } return false; } From bc4325c56a3f0823545bc94b13bf061bb4ac52bc Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 23 Apr 2018 17:06:49 +0200 Subject: [PATCH 139/538] added blueprint member variables examples --- examples/blueprint_variables.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 examples/blueprint_variables.py diff --git a/examples/blueprint_variables.py b/examples/blueprint_variables.py new file mode 100644 index 000000000..906c41f9e --- /dev/null +++ b/examples/blueprint_variables.py @@ -0,0 +1,23 @@ +import unreal_engine as ue + +from unreal_engine.classes import Material, BlueprintFactory, Blueprint, Actor, Texture2D +from unreal_engine.structs import EdGraphPinType, Vector, Rotator +from unreal_engine.enums import EPinContainerType + +import time + +bp = ue.create_blueprint(Actor, '/Game/FooActor' + str(int(time.time()))) + +pin = EdGraphPinType(PinCategory='object', PinSubCategoryObject=Material) +ue.blueprint_add_member_variable(bp, 'TestMat', pin) + +pin = EdGraphPinType(PinCategory='class', PinSubCategoryObject=Texture2D) +ue.blueprint_add_member_variable(bp, 'TestTextureClass', pin) + +pin = EdGraphPinType(PinCategory='struct',PinSubCategoryObject=Vector) +ue.blueprint_add_member_variable(bp, 'TestVector', pin) + +pin = EdGraphPinType(PinCategory='struct',PinSubCategoryObject=Rotator,ContainerType=EPinContainerType.Array) +ue.blueprint_add_member_variable(bp, 'TestRotator', pin) + +ue.open_editor_for_asset(bp) From 23b4518c0e902b44ceba71b492a9128560c578d3 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 23 Apr 2018 18:22:27 +0200 Subject: [PATCH 140/538] added map example --- examples/blueprint_variables.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/examples/blueprint_variables.py b/examples/blueprint_variables.py index 906c41f9e..639c2ec33 100644 --- a/examples/blueprint_variables.py +++ b/examples/blueprint_variables.py @@ -1,7 +1,7 @@ import unreal_engine as ue -from unreal_engine.classes import Material, BlueprintFactory, Blueprint, Actor, Texture2D -from unreal_engine.structs import EdGraphPinType, Vector, Rotator +from unreal_engine.classes import Material, BlueprintFactory, Blueprint, Actor, Texture2D, SkeletalMesh +from unreal_engine.structs import EdGraphPinType, Vector, Rotator, EdGraphTerminalType from unreal_engine.enums import EPinContainerType import time @@ -20,4 +20,7 @@ pin = EdGraphPinType(PinCategory='struct',PinSubCategoryObject=Rotator,ContainerType=EPinContainerType.Array) ue.blueprint_add_member_variable(bp, 'TestRotator', pin) +pin = EdGraphPinType(PinCategory='string',ContainerType=EPinContainerType.Map,PinValueType=EdGraphTerminalType(TerminalCategory='object',TerminalSubCategoryObject=SkeletalMesh)) +ue.blueprint_add_member_variable(bp, 'TestMap', pin) + ue.open_editor_for_asset(bp) From cb19b3859f52330ccae02cc04990ec14d686d19d Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 23 Apr 2018 20:08:59 +0200 Subject: [PATCH 141/538] added default values for blueprint variables --- Source/UnrealEnginePython/Private/UEPyEditor.cpp | 10 ++++++++-- examples/blueprint_variables.py | 10 ++++++---- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index 802d3a876..2a1ac4fca 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -1362,7 +1362,8 @@ PyObject *py_unreal_engine_blueprint_add_member_variable(PyObject * self, PyObje char *name; PyObject *py_type; PyObject *py_is_array = nullptr; - if (!PyArg_ParseTuple(args, "OsO|O:blueprint_add_member_variable", &py_blueprint, &name, &py_type, &py_is_array)) + char *default_value = nullptr; + if (!PyArg_ParseTuple(args, "OsO|Os:blueprint_add_member_variable", &py_blueprint, &name, &py_type, &py_is_array, &default_value)) { return nullptr; } @@ -1400,7 +1401,12 @@ PyObject *py_unreal_engine_blueprint_add_member_variable(PyObject * self, PyObje pin = *pinptr; } - if (FBlueprintEditorUtils::AddMemberVariable(bp, UTF8_TO_TCHAR(name), pin)) + FString DefaultValue = FString(""); + + if (default_value) + DefaultValue = FString(default_value); + + if (FBlueprintEditorUtils::AddMemberVariable(bp, UTF8_TO_TCHAR(name), pin, DefaultValue)) { Py_RETURN_TRUE; } diff --git a/examples/blueprint_variables.py b/examples/blueprint_variables.py index 639c2ec33..642975f36 100644 --- a/examples/blueprint_variables.py +++ b/examples/blueprint_variables.py @@ -9,18 +9,20 @@ bp = ue.create_blueprint(Actor, '/Game/FooActor' + str(int(time.time()))) pin = EdGraphPinType(PinCategory='object', PinSubCategoryObject=Material) -ue.blueprint_add_member_variable(bp, 'TestMat', pin) +ue.blueprint_add_member_variable(bp, 'TestMat', pin, None, '/Engine/MapTemplates/Materials/BasicAsset03.BasicAsset03') pin = EdGraphPinType(PinCategory='class', PinSubCategoryObject=Texture2D) ue.blueprint_add_member_variable(bp, 'TestTextureClass', pin) pin = EdGraphPinType(PinCategory='struct',PinSubCategoryObject=Vector) -ue.blueprint_add_member_variable(bp, 'TestVector', pin) +ue.blueprint_add_member_variable(bp, 'TestVector', pin, None, '17,22,30') pin = EdGraphPinType(PinCategory='struct',PinSubCategoryObject=Rotator,ContainerType=EPinContainerType.Array) -ue.blueprint_add_member_variable(bp, 'TestRotator', pin) +ue.blueprint_add_member_variable(bp, 'TestRotator', pin, None, '((Pitch=0.000000,Yaw=3.000000,Roll=0.000000),(Pitch=1.000000,Yaw=0.000000,Roll=0.000000))') pin = EdGraphPinType(PinCategory='string',ContainerType=EPinContainerType.Map,PinValueType=EdGraphTerminalType(TerminalCategory='object',TerminalSubCategoryObject=SkeletalMesh)) -ue.blueprint_add_member_variable(bp, 'TestMap', pin) +ue.blueprint_add_member_variable(bp, 'TestMap', pin, None, '(("firstKey", SkeletalMesh\'"/Game/Skel001"\'),("secondKey", SkeletalMesh\'"/Game/Skel002"\'))') + +ue.compile_blueprint(bp) ue.open_editor_for_asset(bp) From acfb20f9567ba026fa4f6b09db8dddc01643a23a Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 24 Apr 2018 17:15:23 +0200 Subject: [PATCH 142/538] improved delegates --- .../UnrealEnginePython/Private/UEPyEditor.cpp | 16 +++------- .../UnrealEnginePython/Private/UEPyModule.cpp | 31 ++++++++++++++---- .../Private/UObject/UEPyObject.cpp | 32 +++++++++++++++++++ .../Private/UObject/UEPyObject.h | 1 + 4 files changed, 62 insertions(+), 18 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index 2a1ac4fca..3f02117e2 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -1476,18 +1476,12 @@ PyObject *py_unreal_engine_blueprint_add_function(PyObject * self, PyObject * ar char *name; if (!PyArg_ParseTuple(args, "Os:blueprint_add_function", &py_blueprint, &name)) { - return NULL; - } - - if (!ue_is_pyuobject(py_blueprint)) - { - return PyErr_Format(PyExc_Exception, "argument is not a UObject"); + return nullptr; } - - ue_PyUObject *py_obj = (ue_PyUObject *)py_blueprint; - if (!py_obj->ue_object->IsA()) - return PyErr_Format(PyExc_Exception, "uobject is not a UBlueprint"); - UBlueprint *bp = (UBlueprint *)py_obj->ue_object; + + UBlueprint *bp = ue_py_check_type(py_blueprint); + if (!bp) + return PyErr_Format(PyExc_Exception, "argument is not a UBlueprint"); UEdGraph *graph = FBlueprintEditorUtils::CreateNewGraph(bp, FName(UTF8_TO_TCHAR(name)), UEdGraph::StaticClass(), UEdGraphSchema_K2::StaticClass()); FBlueprintEditorUtils::AddFunctionGraph(bp, graph, true, nullptr); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index ea7aee985..1531f978d 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -540,6 +540,7 @@ static PyMethodDef ue_PyUObject_methods[] = { { "set_name", (PyCFunction)py_ue_set_name, METH_VARARGS, "" }, { "bind_event", (PyCFunction)py_ue_bind_event, METH_VARARGS, "" }, + { "delegate_bind_ufunction", (PyCFunction)py_ue_delegate_bind_ufunction, METH_VARARGS, "" }, { "get_py_proxy", (PyCFunction)py_ue_get_py_proxy, METH_VARARGS, "" }, @@ -1129,9 +1130,9 @@ static PyObject *ue_PyUObject_getattro(ue_PyUObject *self, PyObject *attr_name) #else return PyLong_FromLong(u_enum->FindEnumIndex(item.Key)); #endif + } } } - } #endif if (self->ue_object->IsA()) { @@ -1143,7 +1144,7 @@ static PyObject *ue_PyUObject_getattro(ue_PyUObject *self, PyObject *attr_name) return PyLong_FromLong(u_enum->FindEnumIndex(FName(UTF8_TO_TCHAR(attr)))); #endif } - } + } if (function) { @@ -1151,8 +1152,8 @@ static PyObject *ue_PyUObject_getattro(ue_PyUObject *self, PyObject *attr_name) PyErr_Clear(); return py_ue_new_callable(function, self->ue_object); } + } } -} return ret; } @@ -1723,7 +1724,7 @@ void unreal_engine_py_log_error() if (zero) { msg = PyBytes_AsString(zero); -} + } #else msg = PyString_AsString(PyObject_Str(value)); #endif @@ -1778,7 +1779,7 @@ void unreal_engine_py_log_error() } PyErr_Clear(); - } +} // retrieve a UWorld from a generic UObject (if possible) UWorld *ue_get_uworld(ue_PyUObject *py_obj) @@ -1974,6 +1975,11 @@ PyObject *ue_py_convert_property(UProperty *prop, uint8 *buffer, int32 index) Py_RETURN_UOBJECT(casted_prop); } + if (auto casted_prop = Cast(prop)) + { + Py_RETURN_UOBJECT(casted_prop); + } + if (auto casted_prop = Cast(prop)) { FScriptArrayHelper_InContainer array_helper(casted_prop, buffer, index); @@ -2677,10 +2683,10 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * #else prop->ImportText(*default_key_value, prop->ContainerPtrToValuePtr(buffer), PPF_Localized, NULL); #endif - } + } #endif + } } -} Py_ssize_t tuple_len = PyTuple_Size(args); @@ -2820,6 +2826,17 @@ PyObject *ue_bind_pyevent(ue_PyUObject *u_obj, FString event_name, PyObject *py_ // re-assign multicast delegate casted_prop->SetPropertyValue_InContainer(u_obj->ue_object, multiscript_delegate); } + else if (auto casted_prop = Cast(u_property)) + { + + FScriptDelegate script_delegate = casted_prop->GetPropertyValue_InContainer(u_obj->ue_object); + UPythonDelegate *py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewDelegate(u_obj->ue_object, py_callable, casted_prop->SignatureFunction); + // fake UFUNCTION for bypassing checks + script_delegate.BindUFunction(py_delegate, FName("PyFakeCallable")); + + // re-assign multicast delegate + casted_prop->SetPropertyValue_InContainer(u_obj->ue_object, script_delegate); + } else { if (fail_on_wrong_property) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp index 2fdb8bde4..a6b207989 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp @@ -1232,6 +1232,38 @@ PyObject *py_ue_bind_event(ue_PyUObject * self, PyObject * args) return ue_bind_pyevent(self, FString(event_name), py_callable, true); } +PyObject *py_ue_delegate_bind_ufunction(ue_PyUObject * self, PyObject * args) +{ + ue_py_check(self); + + char *delegate_name; + PyObject *py_obj; + char *fname; + + if (!PyArg_ParseTuple(args, "sOs:delegate_bind_ufunction", &delegate_name, &py_obj, &fname)) + return nullptr; + + UProperty *u_property = self->ue_object->GetClass()->FindPropertyByName(FName(delegate_name)); + if (!u_property) + return PyErr_Format(PyExc_Exception, "unable to find property %s", delegate_name); + + UDelegateProperty *Prop = Cast(u_property); + if (!Prop) + return PyErr_Format(PyExc_Exception, "property is not a UDelegateProperty"); + + UObject *Object = ue_py_check_type(py_obj); + if (!Object) + return PyErr_Format(PyExc_Exception, "argument is not a UObject"); + + FScriptDelegate script_delegate; + script_delegate.BindUFunction(Object, FName(fname)); + + // re-assign multicast delegate + Prop->SetPropertyValue_InContainer(self->ue_object, script_delegate); + + Py_RETURN_NONE; +} + #if PY_MAJOR_VERSION >= 3 PyObject *py_ue_add_function(ue_PyUObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.h b/Source/UnrealEnginePython/Private/UObject/UEPyObject.h index ce3a85dff..7f3c95fb7 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.h @@ -72,6 +72,7 @@ PyObject *py_ue_class_get_flags(ue_PyUObject *, PyObject *); PyObject *py_ue_class_set_flags(ue_PyUObject *, PyObject *); PyObject *py_ue_get_obj_flags(ue_PyUObject *, PyObject *); PyObject *py_ue_set_obj_flags(ue_PyUObject *, PyObject *); +PyObject *py_ue_delegate_bind_ufunction(ue_PyUObject *, PyObject *); #if WITH_EDITOR From 68de48540202a8c5b9b777216557fae51c3b9078 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 24 Apr 2018 18:28:18 +0200 Subject: [PATCH 143/538] improved node creation --- .../Private/Blueprint/UEPyEdGraph.cpp | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp index b149995fb..f6bea58c3 100644 --- a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp +++ b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp @@ -290,56 +290,56 @@ PyObject *py_ue_graph_add_node(ue_PyUObject * self, PyObject * args) PyObject *py_node_class; int x = 0; int y = 0; - PyObject *py_data = nullptr; + char *metadata = nullptr; + PyObject *py_data = nullptr; + if (!PyArg_ParseTuple(args, "O|iisO:graph_add_node", &py_node_class, &x, &y, &metadata, &py_data)) { - return NULL; + return nullptr; } - if (!self->ue_object->IsA()) - { + UEdGraph *graph = ue_py_check_type(self); + if (!graph) return PyErr_Format(PyExc_Exception, "uobject is not a UEdGraph"); - } - - UEdGraph *graph = (UEdGraph *)self->ue_object; - if (!ue_is_pyuobject(py_node_class)) - { + UObject *u_obj = ue_py_check_type(py_node_class); + if (!u_obj) return PyErr_Format(PyExc_Exception, "argument is not a UObject"); - } UEdGraphNode *node = nullptr; - ue_PyUObject *py_obj = (ue_PyUObject *)py_node_class; - if (py_obj->ue_object->IsA()) + if (UClass *u_class = Cast(u_obj)) { - UClass *u_class = (UClass *)py_obj->ue_object; if (!u_class->IsChildOf()) { return PyErr_Format(PyExc_Exception, "argument is not a child of UEdGraphNode"); } - node = (UEdGraphNode *)NewObject(graph, u_class); + node = NewObject(graph, u_class); node->PostLoad(); } - else if (py_obj->ue_object->IsA()) + else { - node = (UEdGraphNode *)py_obj->ue_object; - if (node->GetOuter() != graph) + node = Cast(u_obj); + if (node) { - node->Rename(*node->GetName(), graph); + if (node->GetOuter() != graph) + + node->Rename(*node->GetName(), graph); } } if (!node) - { return PyErr_Format(PyExc_Exception, "argument is not a supported type"); - } + node->CreateNewGuid(); node->PostPlacedNewNode(); node->SetFlags(RF_Transactional); - node->AllocateDefaultPins(); + if (node->Pins.Num() == 0) + { + node->AllocateDefaultPins(); + } node->NodePosX = x; node->NodePosY = y; From 986de7ee2f3e26bd9018a6d03ee416e7c049ad44 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 25 Apr 2018 09:36:02 +0200 Subject: [PATCH 144/538] improved build system --- Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp | 2 +- Source/UnrealEnginePython/Public/UnrealEnginePython.h | 4 ++++ Source/UnrealEnginePython/UnrealEnginePython.Build.cs | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp index 22c157603..1af968f8c 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp @@ -9,7 +9,7 @@ static PyObject *ue_PySWidget_str(ue_PySWidget *self) TCHAR_TO_UTF8(*self->Widget->GetTypeAsString()), &self->Widget.Get(), self->Widget.GetSharedReferenceCount(), self->ob_base.ob_refcnt); #else return PyUnicode_FromFormat("", - TCHAR_TO_UTF8(*self->Widget->GetTypeAsString()), &self->s_widget.Get(), self->Widget.GetSharedReferenceCount()); + TCHAR_TO_UTF8(*self->Widget->GetTypeAsString()), &self->Widget.Get(), self->Widget.GetSharedReferenceCount()); #endif } diff --git a/Source/UnrealEnginePython/Public/UnrealEnginePython.h b/Source/UnrealEnginePython/Public/UnrealEnginePython.h index f10cf9d73..17977f86d 100644 --- a/Source/UnrealEnginePython/Public/UnrealEnginePython.h +++ b/Source/UnrealEnginePython/Public/UnrealEnginePython.h @@ -17,6 +17,10 @@ #include #include #else +#include +#ifndef SIZEOF_PID_T +#define SIZEOF_PID_T 4 +#endif #include #include #endif diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index 3002eb189..5a3638384 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -80,7 +80,8 @@ public UnrealEnginePython(TargetInfo Target) { PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; - bFasterWithoutUnity = true; + string enableUnityBuild = System.Environment.GetEnvironmentVariable("UEP_ENABLE_UNITY_BUILD"); + bFasterWithoutUnity = string.IsNullOrEmpty(enableUnityBuild); PublicIncludePaths.AddRange( new string[] { From 36eaf88d84088b56d4cc28685d0b4a2adf02eb2a Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 25 Apr 2018 09:54:35 +0200 Subject: [PATCH 145/538] fixed variable reuse in casting --- Source/UnrealEnginePython/Private/UEPyModule.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 1531f978d..37c135793 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -2826,16 +2826,16 @@ PyObject *ue_bind_pyevent(ue_PyUObject *u_obj, FString event_name, PyObject *py_ // re-assign multicast delegate casted_prop->SetPropertyValue_InContainer(u_obj->ue_object, multiscript_delegate); } - else if (auto casted_prop = Cast(u_property)) + else if (auto casted_prop_delegate = Cast(u_property)) { - FScriptDelegate script_delegate = casted_prop->GetPropertyValue_InContainer(u_obj->ue_object); - UPythonDelegate *py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewDelegate(u_obj->ue_object, py_callable, casted_prop->SignatureFunction); + FScriptDelegate script_delegate = casted_prop_delegate->GetPropertyValue_InContainer(u_obj->ue_object); + UPythonDelegate *py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewDelegate(u_obj->ue_object, py_callable, casted_prop_delegate->SignatureFunction); // fake UFUNCTION for bypassing checks script_delegate.BindUFunction(py_delegate, FName("PyFakeCallable")); // re-assign multicast delegate - casted_prop->SetPropertyValue_InContainer(u_obj->ue_object, script_delegate); + casted_prop_delegate->SetPropertyValue_InContainer(u_obj->ue_object, script_delegate); } else { From 0fc78111fb3b2607abab2b0a118142a40982919f Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 25 Apr 2018 12:29:30 +0200 Subject: [PATCH 146/538] added zoom to python editor --- .../Private/SPythonEditableText.cpp | 31 +++++++++++++++++-- .../Private/SPythonEditableText.h | 3 ++ 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/Source/PythonEditor/Private/SPythonEditableText.cpp b/Source/PythonEditor/Private/SPythonEditableText.cpp index a08562204..4ca086e27 100644 --- a/Source/PythonEditor/Private/SPythonEditableText.cpp +++ b/Source/PythonEditor/Private/SPythonEditableText.cpp @@ -20,6 +20,7 @@ void SPythonEditableText::Construct(const FArguments& InArgs) .OnCursorMoved(this, &SPythonEditableText::OnCursorMoved) ); OnExecuted = InArgs._OnExecuted; + CurrentScale = 1; } FReply SPythonEditableText::OnKeyChar(const FGeometry& MyGeometry, const FCharacterEvent& InCharacterEvent) @@ -71,17 +72,41 @@ FReply SPythonEditableText::OnKeyChar(const FGeometry& MyGeometry, const FCharac return Reply; } +FReply SPythonEditableText::OnMouseWheel(const FGeometry& MyGeometry, const FPointerEvent& InPointerEvent) +{ + if (FSlateApplication::Get().GetModifierKeys().IsControlDown()) + { + if (InPointerEvent.GetWheelDelta() > 0) + { + CurrentScale += 0.1; + } + else if (InPointerEvent.GetWheelDelta() < 0) + { + CurrentScale -= 0.1; + } + + if (CurrentScale < 1) + CurrentScale = 1; + SetRenderTransform(FSlateRenderTransform(CurrentScale)); + return FReply::Handled(); + } + return SMultiLineEditableText::OnMouseWheel(MyGeometry, InPointerEvent); +} + FReply SPythonEditableText::OnKeyDown(const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent) { FReply Reply = FReply::Unhandled(); - if (InKeyEvent.GetKeyCode() == 9) { + if (InKeyEvent.GetKeyCode() == 9) + { Reply = FReply::Handled(); } - else if (InKeyEvent.IsControlDown() && InKeyEvent.GetKeyCode() == 13) { + else if (InKeyEvent.IsControlDown() && InKeyEvent.GetKeyCode() == 13) + { Reply = FReply::Handled(); OnExecuted.Execute(); } - else { + else + { Reply = SMultiLineEditableText::OnKeyDown(MyGeometry, InKeyEvent); } diff --git a/Source/PythonEditor/Private/SPythonEditableText.h b/Source/PythonEditor/Private/SPythonEditableText.h index 0c96034c1..ea82779a5 100644 --- a/Source/PythonEditor/Private/SPythonEditableText.h +++ b/Source/PythonEditor/Private/SPythonEditableText.h @@ -39,9 +39,12 @@ class SPythonEditableText : public SMultiLineEditableText private: virtual FReply OnKeyChar(const FGeometry& MyGeometry,const FCharacterEvent& InCharacterEvent) override; virtual FReply OnKeyDown(const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent) override; + virtual FReply OnMouseWheel(const FGeometry& MyGeometry, const FPointerEvent& InPointerEvent) override; FOnExecuted OnExecuted; + float CurrentScale; + int32 CurrentLine; int32 CurrentColumn; }; \ No newline at end of file From 26cd3e54a833c7abe74336abd125a613ff4dd5af Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 25 Apr 2018 12:32:32 +0200 Subject: [PATCH 147/538] force unity build when releasing --- tools/release_win64.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/release_win64.py b/tools/release_win64.py index fae164c77..0ad3fbc60 100644 --- a/tools/release_win64.py +++ b/tools/release_win64.py @@ -19,6 +19,7 @@ def zipdir(path, zh, base): def msbuild(project, python_version, variant): base_environ = os.environ base_environ.update({'PYTHONHOME': python_version}) + base_environ.update({'UEP_ENABLE_UNITY_BUILD': '1'}) if variant == 'threaded_': base_environ.update({'UEP_ENABLE_THREADS': '1'}) #vs = '"C:/Program Files (x86)/MSBuild/14.0/Bin/MSBuild.exe"' From c109123e08baafc72803d77823cce5412f87ab1b Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 25 Apr 2018 14:12:42 +0200 Subject: [PATCH 148/538] fixed 4.16 build --- .../UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h b/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h index a97b3cc5d..3b718915c 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h @@ -2,7 +2,7 @@ #include "UnrealEnginePython.h" -#if ENGINE_MINOR_VERSION <= 15 +#if ENGINE_MINOR_VERSION <= 16 #include "Runtime/Core/Public/GenericPlatform/GenericApplication.h" #else #include "Runtime/ApplicationCore/Public/GenericPlatform/GenericApplication.h" From d21ef16d94dc99078e56f556aeb389e4cd7b496d Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 25 Apr 2018 15:20:45 +0200 Subject: [PATCH 149/538] fixed 4.17 build --- .../UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h b/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h index 3b718915c..663f1007b 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFModifierKeysState.h @@ -2,7 +2,7 @@ #include "UnrealEnginePython.h" -#if ENGINE_MINOR_VERSION <= 16 +#if ENGINE_MINOR_VERSION <= 17 #include "Runtime/Core/Public/GenericPlatform/GenericApplication.h" #else #include "Runtime/ApplicationCore/Public/GenericPlatform/GenericApplication.h" From aa3567c9bedc118b64390afcd67e34dfff4999ea Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 25 Apr 2018 17:39:13 +0200 Subject: [PATCH 150/538] added preliminary script for mac auto build --- tools/build_mac.sh | 1 + 1 file changed, 1 insertion(+) create mode 100644 tools/build_mac.sh diff --git a/tools/build_mac.sh b/tools/build_mac.sh new file mode 100644 index 000000000..646fe368a --- /dev/null +++ b/tools/build_mac.sh @@ -0,0 +1 @@ +UEP_ENABLE_UNITY_BUILD=1 mono "/Users/Shared/Epic Games/UE_4.19/Engine/Binaries/DotNET/UnrealBuildTool.exe" PyTest418 Development Mac -project="/Users/roberto/Documents/Unreal Projects/PyTest418/PyTest418.uproject" -editorrecompile From 5f9d966d44d5a1564244987e45138c5366a53621 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Thu, 26 Apr 2018 17:03:54 +0200 Subject: [PATCH 151/538] added DefaultTextValue to pins --- .../Private/Blueprint/UEPyEdGraphPin.cpp | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp index 23f9f934b..01e92d85b 100644 --- a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp +++ b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp @@ -134,6 +134,25 @@ static int py_ue_edgraphpin_set_default_value(ue_PyEdGraphPin *self, PyObject *v return -1; } +static PyObject *py_ue_edgraphpin_get_default_text_value(ue_PyEdGraphPin *self, void *closure) +{ + return PyUnicode_FromString(TCHAR_TO_UTF8(*(self->pin->DefaultTextValue))); +} + +static int py_ue_edgraphpin_set_default_text_value(ue_PyEdGraphPin *self, PyObject *value, void *closure) +{ + if (value && PyUnicode_Check(value)) + { + char *str = PyUnicode_AsUTF8(value); + self->pin->DefaultTextValue = UTF8_TO_TCHAR(str); + return 0; + } + PyErr_SetString(PyExc_TypeError, "value is not a string"); + return -1; +} + + + static PyObject *py_ue_edgraphpin_get_default_object(ue_PyEdGraphPin *self, void *closure) { UObject *u_object = self->pin->DefaultObject; @@ -161,6 +180,7 @@ static PyGetSetDef ue_PyEdGraphPin_getseters[] = { { (char*)"category", (getter)py_ue_edgraphpin_get_category, NULL, (char *)"", NULL }, { (char*)"sub_category", (getter)py_ue_edgraphpin_get_sub_category, NULL, (char *)"", NULL }, { (char*)"default_value", (getter)py_ue_edgraphpin_get_default_value, (setter)py_ue_edgraphpin_set_default_value, (char *)"", NULL }, + { (char*)"default_text_value", (getter)py_ue_edgraphpin_get_default_text_value, (setter)py_ue_edgraphpin_set_default_text_value, (char *)"", NULL }, { (char*)"default_object", (getter)py_ue_edgraphpin_get_default_object, (setter)py_ue_edgraphpin_set_default_object, (char *)"", NULL }, { NULL } /* Sentinel */ }; @@ -234,4 +254,4 @@ ue_PyEdGraphPin *py_ue_is_edgraphpin(PyObject *obj) return (ue_PyEdGraphPin *)obj; } -#endif \ No newline at end of file +#endif From 5276c4309aba8c0f46a0b38e8833d89fb2eb2896 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Thu, 26 Apr 2018 17:09:54 +0200 Subject: [PATCH 152/538] fixed pin DefaultTextValue --- .../UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp index 01e92d85b..8a25ade4a 100644 --- a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp +++ b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp @@ -136,7 +136,7 @@ static int py_ue_edgraphpin_set_default_value(ue_PyEdGraphPin *self, PyObject *v static PyObject *py_ue_edgraphpin_get_default_text_value(ue_PyEdGraphPin *self, void *closure) { - return PyUnicode_FromString(TCHAR_TO_UTF8(*(self->pin->DefaultTextValue))); + return PyUnicode_FromString(TCHAR_TO_UTF8(*(self->pin->DefaultTextValue.ToString()))); } static int py_ue_edgraphpin_set_default_text_value(ue_PyEdGraphPin *self, PyObject *value, void *closure) @@ -144,7 +144,7 @@ static int py_ue_edgraphpin_set_default_text_value(ue_PyEdGraphPin *self, PyObje if (value && PyUnicode_Check(value)) { char *str = PyUnicode_AsUTF8(value); - self->pin->DefaultTextValue = UTF8_TO_TCHAR(str); + self->pin->DefaultTextValue = FText::FromString(UTF8_TO_TCHAR(str)); return 0; } PyErr_SetString(PyExc_TypeError, "value is not a string"); From 8729f2c136f32780d1ba5347bab49533544a2189 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Thu, 26 Apr 2018 17:37:04 +0200 Subject: [PATCH 153/538] added node_pin_type_changed and node_pin_default_value_changed --- .../Private/Blueprint/UEPyEdGraph.cpp | 53 +++++++++++++++++++ .../Private/Blueprint/UEPyEdGraph.h | 3 ++ .../UnrealEnginePython/Private/UEPyModule.cpp | 4 +- 3 files changed, 59 insertions(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp index f6bea58c3..dcf9b5718 100644 --- a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp +++ b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp @@ -582,4 +582,57 @@ PyObject *py_ue_node_create_pin(ue_PyUObject * self, PyObject * args) Py_INCREF(ret); return ret; } + + +PyObject *py_ue_node_pin_type_changed(ue_PyUObject * self, PyObject * args) +{ + + ue_py_check(self); + + PyObject *py_pin; + if (!PyArg_ParseTuple(args, "O:node_pin_type_changed", &py_pin)) + { + return nullptr; + } + + UEdGraphNode *node = ue_py_check_type(self); + if (!node) + return PyErr_Format(PyExc_Exception, "uobject is not a UEdGraphNode"); + + ue_PyEdGraphPin *pin = py_ue_is_edgraphpin(py_pin); + if (!pin) + return PyErr_Format(PyExc_Exception, "argument is not a EdGraphPin"); + + node->PinTypeChanged(pin->pin); + + Py_RETURN_NONE; +} + +PyObject *py_ue_node_pin_default_value_changed(ue_PyUObject * self, PyObject * args) +{ + + ue_py_check(self); + + PyObject *py_pin; + if (!PyArg_ParseTuple(args, "O:node_pin_default_value_changed", &py_pin)) + { + return nullptr; + } + + UEdGraphNode *node = ue_py_check_type(self); + if (!node) + return PyErr_Format(PyExc_Exception, "uobject is not a UEdGraphNode"); + + ue_PyEdGraphPin *pin = py_ue_is_edgraphpin(py_pin); + if (!pin) + return PyErr_Format(PyExc_Exception, "argument is not a EdGraphPin"); + + node->PinDefaultValueChanged(pin->pin); + + Py_RETURN_NONE; +} + + + + #endif diff --git a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.h b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.h index a573f05ec..fdb9ce65b 100644 --- a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.h +++ b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.h @@ -21,6 +21,9 @@ PyObject *py_ue_node_pins(ue_PyUObject *, PyObject *); PyObject *py_ue_node_find_pin(ue_PyUObject *, PyObject *); PyObject *py_ue_node_create_pin(ue_PyUObject *, PyObject *); +PyObject *py_ue_node_pin_type_changed(ue_PyUObject *, PyObject *); +PyObject *py_ue_node_pin_default_value_changed(ue_PyUObject *, PyObject *); + PyObject *py_ue_node_function_entry_set_pure(ue_PyUObject *, PyObject *); PyObject *py_ue_node_get_title(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 37c135793..64e632737 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -583,6 +583,8 @@ static PyMethodDef ue_PyUObject_methods[] = { { "node_get_title", (PyCFunction)py_ue_node_get_title, METH_VARARGS, "" }, { "node_find_pin", (PyCFunction)py_ue_node_find_pin, METH_VARARGS, "" }, { "node_create_pin", (PyCFunction)py_ue_node_create_pin, METH_VARARGS, "" }, + { "node_pin_type_changed", (PyCFunction)py_ue_node_pin_type_changed, METH_VARARGS, "" }, + { "node_pin_default_value_changed", (PyCFunction)py_ue_node_pin_default_value_changed, METH_VARARGS, "" }, { "node_function_entry_set_pure", (PyCFunction)py_ue_node_function_entry_set_pure, METH_VARARGS, "" }, @@ -3232,4 +3234,4 @@ static PyObject *init_unreal_engine() return new_unreal_engine_module; } -#endif \ No newline at end of file +#endif From dc163e9a69a69571b53998132f1e2304e7a748fa Mon Sep 17 00:00:00 2001 From: Hugh Macdonald Date: Fri, 27 Apr 2018 17:40:28 +0100 Subject: [PATCH 154/538] Add graph_add_node_dynamic_cast to allow creation of dynamic cast nodes by type --- .../Private/Blueprint/UEPyEdGraph.cpp | 55 +++++++++++++++++++ .../Private/Blueprint/UEPyEdGraph.h | 1 + .../UnrealEnginePython/Private/UEPyModule.cpp | 1 + 3 files changed, 57 insertions(+) diff --git a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp index dcf9b5718..1355bef6d 100644 --- a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp +++ b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp @@ -4,6 +4,7 @@ #include "Runtime/Engine/Classes/EdGraph/EdGraph.h" #include "Editor/BlueprintGraph/Classes/K2Node_CallFunction.h" +#include "Editor/BlueprintGraph/Classes/K2Node_DynamicCast.h" #include "Editor/BlueprintGraph/Classes/EdGraphSchema_K2.h" #include "Editor/BlueprintGraph/Classes/K2Node_CustomEvent.h" #include "Editor/BlueprintGraph/Classes/K2Node_VariableGet.h" @@ -380,6 +381,60 @@ PyObject *py_ue_graph_add_node(ue_PyUObject * self, PyObject * args) Py_RETURN_UOBJECT(node); } +PyObject *py_ue_graph_add_node_dynamic_cast(ue_PyUObject * self, PyObject * args) +{ + + ue_py_check(self); + + PyObject *py_node_class; + int x = 0; + int y = 0; + + char *metadata = nullptr; + PyObject *py_data = nullptr; + + if(!PyArg_ParseTuple(args, "O|iis:graph_add_node_dynamic_cast", &py_node_class, &x, &y, &metadata)) + { + return nullptr; + } + + UEdGraph *graph = ue_py_check_type(self); + if(!graph) + return PyErr_Format(PyExc_Exception, "uobject is not a UEdGraph"); + + UClass *u_class = ue_py_check_type(py_node_class); + if(!u_class) + return PyErr_Format(PyExc_Exception, "argument is not a UClass"); + + UK2Node_DynamicCast *node = NewObject(graph); + node->TargetType = u_class; + node->SetPurity(false); + node->AllocateDefaultPins(); + + node->CreateNewGuid(); + node->PostPlacedNewNode(); + node->SetFlags(RF_Transactional); + node->NodePosX = x; + node->NodePosY = y; + + if(metadata == nullptr || strlen(metadata) == 0) + { + UEdGraphSchema_K2::SetNodeMetaData(node, FNodeMetadata::DefaultGraphNode); + } + else + { + UEdGraphSchema_K2::SetNodeMetaData(node, FName(UTF8_TO_TCHAR(metadata))); + } + graph->AddNode(node); + + if(UBlueprint *bp = Cast(node->GetGraph()->GetOuter())) + { + FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified(bp); + } + + Py_RETURN_UOBJECT(node); +} + PyObject *py_ue_node_pins(ue_PyUObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.h b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.h index fdb9ce65b..03061426b 100644 --- a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.h +++ b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.h @@ -13,6 +13,7 @@ PyObject *py_ue_graph_add_node_custom_event(ue_PyUObject *, PyObject *); PyObject *py_ue_graph_add_node_variable_get(ue_PyUObject *, PyObject *); PyObject *py_ue_graph_add_node_variable_set(ue_PyUObject *, PyObject *); PyObject *py_ue_graph_add_node(ue_PyUObject *, PyObject *); +PyObject *py_ue_graph_add_node_dynamic_cast(ue_PyUObject *, PyObject *); PyObject *py_ue_graph_add_node_event(ue_PyUObject *, PyObject *); PyObject *py_ue_graph_get_good_place_for_new_node(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 64e632737..df4161725 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -576,6 +576,7 @@ static PyMethodDef ue_PyUObject_methods[] = { { "graph_add_node_variable_set", (PyCFunction)py_ue_graph_add_node_variable_set, METH_VARARGS, "" }, { "graph_add_node", (PyCFunction)py_ue_graph_add_node, METH_VARARGS, "" }, + { "graph_add_node_dynamic_cast", (PyCFunction)py_ue_graph_add_node_dynamic_cast, METH_VARARGS, "" }, { "graph_add_node_event", (PyCFunction)py_ue_graph_add_node_event, METH_VARARGS, "" }, { "graph_get_good_place_for_new_node", (PyCFunction)py_ue_graph_get_good_place_for_new_node, METH_VARARGS, "" }, From 7c7402d77f5805ee389658d48922be97e18d1d17 Mon Sep 17 00:00:00 2001 From: Hugh Macdonald Date: Sun, 29 Apr 2018 15:19:28 +0100 Subject: [PATCH 155/538] Allow classes to be assigned to Properties that are defined as taking a UObject --- Source/UnrealEnginePython/Private/UEPyModule.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index df4161725..85cfce3d4 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -2437,6 +2437,14 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in casted_prop_weak_object->SetPropertyValue_InContainer(buffer, FWeakObjectPtr(ue_obj->ue_object), index); return true; } + else if (auto casted_prop = Cast(prop)) + { + // ensure the object type is correct, otherwise crash could happen (soon or later) + if (!ue_obj->ue_object->IsA(casted_prop->PropertyClass)) + return false; + casted_prop->SetObjectPropertyValue_InContainer(buffer, ue_obj->ue_object, index); + return true; + } return false; } From d14aed2f4767d1f763d9e5c5d7770d00fff4eaf2 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 30 Apr 2018 07:13:05 +0000 Subject: [PATCH 156/538] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 47ae8b15e..8ff3f252c 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ The currently supported Unreal Engine versions are 4.12, 4.13, 4.14, 4.15, 4.16, We support official python.org releases as well as IntelPython and Anaconda distributions. -Note: this plugin has nothing to do with the experimental 'PythonScriptPlugin' included in Unreal Engine >= 4.19. This plugin aims at full integration with engine and editor (included the Slate api), as well as support for the vast majority of python features like asyncio, coroutines, generators, threads and third party modules. +Note: this plugin has nothing to do with the experimental 'PythonScriptPlugin' included in Unreal Engine >= 4.19. We aim at full integration with engine and editor (included the Slate api), as well as support for the vast majority of python features like asyncio, coroutines, generators, threads and third party modules. # Binary installation on Windows (64 bit) From 6a3f0700b979d7dd3861af6b09abed8aed008f4e Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 30 Apr 2018 10:23:15 +0200 Subject: [PATCH 157/538] added support for python generators in component tick --- .../Private/PythonComponent.cpp | 29 +++++++++++++++++++ .../Public/PythonComponent.h | 5 ++++ 2 files changed, 34 insertions(+) diff --git a/Source/UnrealEnginePython/Private/PythonComponent.cpp b/Source/UnrealEnginePython/Private/PythonComponent.cpp index dcfc73591..313ddfbbe 100644 --- a/Source/UnrealEnginePython/Private/PythonComponent.cpp +++ b/Source/UnrealEnginePython/Private/PythonComponent.cpp @@ -13,8 +13,11 @@ UPythonComponent::UPythonComponent() PythonTickForceDisabled = false; PythonDisableAutoBinding = false; + PythonTickEnableGenerator = false; bWantsInitializeComponent = true; + + py_generator = nullptr; } void UPythonComponent::InitializePythonComponent() @@ -163,6 +166,23 @@ void UPythonComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActo FScopePythonGIL gil; + if (PythonTickEnableGenerator && py_generator) + { + PyObject *ret = PyIter_Next(py_generator); + if (!ret) + { + if (PyErr_Occurred()) + { + unreal_engine_py_log_error(); + } + Py_DECREF(py_generator); + py_generator = nullptr; + return; + } + Py_DECREF(ret); + return; + } + // no need to check for method availability, we did it in component initialization PyObject *ret = PyObject_CallMethod(py_component_instance, (char *)"tick", (char *)"f", DeltaTime); @@ -171,6 +191,15 @@ void UPythonComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActo unreal_engine_py_log_error(); return; } + + if (PythonTickEnableGenerator) + { + py_generator = PyObject_GetIter(ret); + if (!py_generator) + { + UE_LOG(LogPython, Error, TEXT("tick is not a python generator")); + } + } Py_DECREF(ret); } diff --git a/Source/UnrealEnginePython/Public/PythonComponent.h b/Source/UnrealEnginePython/Public/PythonComponent.h index 5cc497bc1..1f8a13dc1 100644 --- a/Source/UnrealEnginePython/Public/PythonComponent.h +++ b/Source/UnrealEnginePython/Public/PythonComponent.h @@ -37,6 +37,9 @@ class UNREALENGINEPYTHON_API UPythonComponent : public UActorComponent UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Python") bool PythonDisableAutoBinding; + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Python") + bool PythonTickEnableGenerator; + UFUNCTION(BlueprintCallable, Category = "Python") void InitializePythonComponent(); @@ -89,5 +92,7 @@ class UNREALENGINEPYTHON_API UPythonComponent : public UActorComponent PyObject * py_component_instance; // mapped uobject, required for debug and advanced reflection ue_PyUObject *py_uobject; + + PyObject *py_generator; }; From 551c3d08cf58a19790759e5fb14e2fdc453628c0 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 30 Apr 2018 12:06:33 +0200 Subject: [PATCH 158/538] fixed line numbering in the editor --- Source/PythonEditor/Private/SPythonEditor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/PythonEditor/Private/SPythonEditor.cpp b/Source/PythonEditor/Private/SPythonEditor.cpp index e8eaafa5d..b192e7eef 100644 --- a/Source/PythonEditor/Private/SPythonEditor.cpp +++ b/Source/PythonEditor/Private/SPythonEditor.cpp @@ -144,7 +144,7 @@ FText SPythonEditor::GetLineAndColumn() const int32 Column; PythonEditableText->GetLineAndColumn(Line, Column); - FString LineAndColumn = FString::Printf(TEXT("Line: %d Column: %d"), Line, Column); + FString LineAndColumn = FString::Printf(TEXT("Line: %d Column: %d"), Line + 1, Column); return FText::FromString(LineAndColumn); } From a959ba800f36902142726e1cf6151f8503dac331 Mon Sep 17 00:00:00 2001 From: Hugh Macdonald Date: Mon, 30 Apr 2018 12:31:43 +0100 Subject: [PATCH 159/538] Add additional search paths for python modules --- Source/PythonEditor/Private/PythonProject.cpp | 2 +- .../Private/UnrealEnginePython.cpp | 73 +++++++++++++++---- .../Public/UnrealEnginePython.h | 2 +- 3 files changed, 60 insertions(+), 17 deletions(-) diff --git a/Source/PythonEditor/Private/PythonProject.cpp b/Source/PythonEditor/Private/PythonProject.cpp index 50cfd4377..2890a81a6 100644 --- a/Source/PythonEditor/Private/PythonProject.cpp +++ b/Source/PythonEditor/Private/PythonProject.cpp @@ -7,5 +7,5 @@ UPythonProject::UPythonProject(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) { FUnrealEnginePythonModule &PythonModule = FModuleManager::GetModuleChecked("UnrealEnginePython"); - Path = PythonModule.ScriptsPath; + Path = PythonModule.ScriptsPaths[0]; } diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 87500af40..4aa3351f7 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -112,9 +112,18 @@ void FUnrealEnginePythonModule::UESetupPythonInterpreter(bool verbose) PyObject *py_zip_path = PyUnicode_FromString(zip_path); PyList_Insert(py_path, 0, py_zip_path); - char *scripts_path = TCHAR_TO_UTF8(*ScriptsPath); - PyObject *py_scripts_path = PyUnicode_FromString(scripts_path); - PyList_Insert(py_path, 0, py_scripts_path); + + int i = 0; + for (FString ScriptsPath : ScriptsPaths) + { + char *scripts_path = TCHAR_TO_UTF8(*ScriptsPath); + PyObject *py_scripts_path = PyUnicode_FromString(scripts_path); + PyList_Insert(py_path, i++, py_scripts_path); + if (verbose) + { + UE_LOG(LogPython, Log, TEXT("Python Scripts search path: %s"), UTF8_TO_TCHAR(scripts_path)); + } + } char *additional_modules_path = TCHAR_TO_UTF8(*AdditionalModulesPath); PyObject *py_additional_modules_path = PyUnicode_FromString(additional_modules_path); @@ -123,7 +132,6 @@ void FUnrealEnginePythonModule::UESetupPythonInterpreter(bool verbose) if (verbose) { UE_LOG(LogPython, Log, TEXT("Python VM initialized: %s"), UTF8_TO_TCHAR(Py_GetVersion())); - UE_LOG(LogPython, Log, TEXT("Python Scripts search path: %s"), UTF8_TO_TCHAR(scripts_path)); } } @@ -258,12 +266,12 @@ void FUnrealEnginePythonModule::StartupModule() if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("ScriptsPath"), IniValue, GEngineIni)) { - ScriptsPath = IniValue; + ScriptsPaths.Add(IniValue); } if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("RelativeScriptsPath"), IniValue, GEngineIni)) { - ScriptsPath = FPaths::Combine(*PROJECT_CONTENT_DIR, *IniValue); + ScriptsPaths.Add(FPaths::Combine(*PROJECT_CONTENT_DIR, *IniValue)); } if (GConfig->GetString(UTF8_TO_TCHAR("Python"), UTF8_TO_TCHAR("AdditionalModulesPath"), IniValue, GEngineIni)) @@ -286,20 +294,24 @@ void FUnrealEnginePythonModule::StartupModule() ZipPath = FPaths::Combine(*PROJECT_CONTENT_DIR, *IniValue); } - if (ScriptsPath.IsEmpty()) + FString ProjectScriptsPath = FPaths::Combine(*PROJECT_CONTENT_DIR, UTF8_TO_TCHAR("Scripts")); + if (FPaths::DirectoryExists(ProjectScriptsPath)) { - ScriptsPath = FPaths::Combine(*PROJECT_CONTENT_DIR, UTF8_TO_TCHAR("Scripts")); + ScriptsPaths.Add(ProjectScriptsPath); } - if (ZipPath.IsEmpty()) + for (TSharedRefplugin : IPluginManager::Get().GetEnabledPlugins()) { - ZipPath = FPaths::Combine(*PROJECT_CONTENT_DIR, UTF8_TO_TCHAR("ue_python.zip")); + FString PluginScriptsPath = FPaths::Combine(plugin->GetContentDir(), UTF8_TO_TCHAR("Scripts")); + if (FPaths::DirectoryExists(PluginScriptsPath)) + { + ScriptsPaths.Add(PluginScriptsPath); + } } - if (!FPaths::DirectoryExists(ScriptsPath)) + if (ZipPath.IsEmpty()) { - IPlatformFile& PlatformFile = FPlatformFileManager::Get().GetPlatformFile(); - PlatformFile.CreateDirectory(*ScriptsPath); + ZipPath = FPaths::Combine(*PROJECT_CONTENT_DIR, UTF8_TO_TCHAR("ue_python.zip")); } // To ensure there are no path conflicts, if we have a valid python home at this point, @@ -496,10 +508,26 @@ void FUnrealEnginePythonModule::RunFile(char *filename) { FScopePythonGIL gil; FString full_path = UTF8_TO_TCHAR(filename); + bool foundFile = false; if (!FPaths::FileExists(filename)) { - full_path = FPaths::Combine(*ScriptsPath, full_path); + for (FString ScriptsPath : ScriptsPaths) + { + full_path = FPaths::Combine(*ScriptsPath, full_path); + if (FPaths::FileExists(full_path)) + { + foundFile = true; + break; + } + } + } + + if (!foundFile) + { + UE_LOG(LogPython, Error, TEXT("Unable to find file %s"), filename); + return; } + #if PY_MAJOR_VERSION >= 3 FILE *fd = nullptr; @@ -544,9 +572,24 @@ void FUnrealEnginePythonModule::RunFileSandboxed(char *filename, void(*callback) { FScopePythonGIL gil; FString full_path = filename; + bool foundFile = false; if (!FPaths::FileExists(filename)) { - full_path = FPaths::Combine(*ScriptsPath, full_path); + for (FString ScriptsPath : ScriptsPaths) + { + full_path = FPaths::Combine(*ScriptsPath, full_path); + if (FPaths::FileExists(full_path)) + { + foundFile = true; + break; + } + } + } + + if (!foundFile) + { + UE_LOG(LogPython, Error, TEXT("Unable to find file %s"), filename); + return; } PyThreadState *_main = PyThreadState_Get(); diff --git a/Source/UnrealEnginePython/Public/UnrealEnginePython.h b/Source/UnrealEnginePython/Public/UnrealEnginePython.h index 17977f86d..00728f215 100644 --- a/Source/UnrealEnginePython/Public/UnrealEnginePython.h +++ b/Source/UnrealEnginePython/Public/UnrealEnginePython.h @@ -105,7 +105,7 @@ class UNREALENGINEPYTHON_API FUnrealEnginePythonModule : public IModuleInterface void UESetupPythonInterpreter(bool); - FString ScriptsPath; + TArray ScriptsPaths; FString ZipPath; FString AdditionalModulesPath; From 0d2a9a0b1184afe4a75f9257f3d265d0f2500b0a Mon Sep 17 00:00:00 2001 From: Stanislav Prokop Date: Mon, 30 Apr 2018 13:51:27 +0200 Subject: [PATCH 160/538] Script to generate pyi stubs. --- tools/generate_pyi_stubs.py | 152 ++++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 tools/generate_pyi_stubs.py diff --git a/tools/generate_pyi_stubs.py b/tools/generate_pyi_stubs.py new file mode 100644 index 000000000..8afbac0e3 --- /dev/null +++ b/tools/generate_pyi_stubs.py @@ -0,0 +1,152 @@ +import re +import os +import sys +import unreal_engine as ue + + +# TODO: there are invalid names like 'IsInAir?' and 'EUserInterfaceActionType.None' +VALID_NAME_PATTERN = re.compile('^[_a-zA-Z][_a-zA-Z0-9]*$') +FILTERED_NAMES = { + '__new__', '__doc__', + '__str__', '__repr__', '__name__', + '__loader__', '__spec__', '__package__', + '__loader__', '__hash__', '__weakref__' +} + +# This list is kinda reliable for descriptors implemented in C, it's ugly to get their types +# https://docs.python.org/3/library/inspect.html#fetching-attributes-statically +DESCRIPTORS = {'getset_descriptor', 'member_descriptor'} + + +def is_valid_name(name): + return VALID_NAME_PATTERN.match(name) is not None and name not in FILTERED_NAMES + + +def filter_names(names): + return (name for name in names if is_valid_name(name)) + + +def filter_attributes(attributes): + return {name: value for name, value in attributes.items() if is_valid_name(name)} + + +def get_type_name(obj): + type_ = type(obj) + try: + return type_.__qualname__ + except AttributeError: + return type_.__name__ + + +def is_class(t): + return isinstance(t, type) + + +def is_callable(obj): + return hasattr(obj, '__call__') + + +def write_function(file, name, indent): + file.write(indent) + # TODO: ideally methods functions should be handled differently, like have self + # but we don't know arguments and if it's staticmethod or classmethod anyway + file.write("def {}(*args, **kwargs) -> 'typing.Any': ...\n".format(name)) + + +def write_variable(file, name, value, indent): + type_name = get_type_name(value) + file.write(indent) + + if isinstance(value, property) or value is None or type_name in DESCRIPTORS: + variable_type = 'typing.Any' + else: + variable_type = '{}'.format(type_name) + + file.write( + "{}: '{}'\n".format(name, variable_type) + ) + + +def write_class(file, name, value, indent): + file.write(indent) + file.write("class {}:\n".format(name)) + attributes = filter_attributes(vars(value)) + + if not attributes: + file.write(indent) + file.write(" pass\n") + else: + for attribute_name, attribute_value in attributes.items(): + write_object(file, attribute_name, attribute_value, indent + ' ') + + file.write('\n') + file.write('\n') + + +def write_object(file, name, value, indent): + # TODO: https://github.com/20tab/UnrealEnginePython/issues/394 ESlateEnums contains invalid attributes + if not is_valid_name(name): + return + + if is_class(value): + write_class(file, name, value, indent) + elif is_callable(value): + write_function(file, name, indent) + else: + write_variable(file, name, value, indent) + + +def write_ue_classes(file, classes): + for class_ in classes: + file.write("class {}:\n".format(class_.get_name())) + + attributes_count = 0 + + for property_ in filter_names(class_.properties()): + file.write(" ") + file.write("{}: 'typing.Any'\n".format(property_)) + attributes_count += 1 + + for function_ in filter_names(class_.functions()): + file.write(" ") + file.write("def {}(*args, **kwargs) -> 'typing.Any': pass\n".format(function_)) + attributes_count += 1 + + if attributes_count == 0: + file.write(" ") + file.write("pass\n") + + file.write("\n") + + +def generate_pyi_stubs(directory, include_reflection=False): + """ + Generates pyi file. Note include_reflection has not been implemented yet. + """ + # include_reflection is still WIP and bit unusable, because: + # * the result file is very large and PyCharm by default ignores such files + # * it contains some invalid identifiers ('IsInAir?') + if include_reflection: + raise NotImplementedError + + package_dir = os.path.join(directory, 'unreal_engine') + os.mkdir(package_dir) + + init_path = os.path.join(package_dir, '__init__.pyi') + with open(init_path, mode='w') as file: + file.write('import typing') + file.write('\n\n') + + ue_public = vars(ue) + for name, value in filter_attributes(ue_public).items(): + write_object(file, name, value, '') + file.write('\n') + + if include_reflection: + classes_path = os.path.join(package_dir, 'classes.pyi') + with open(classes_path, mode='w') as file: + write_ue_classes(file, ue.all_classes()) + + +if __name__ == '__main__': + generate_pyi_stubs(sys.argv[1]) From 8275b8ccecf5a3ea6331102a45067fce94eac1a9 Mon Sep 17 00:00:00 2001 From: Hugh Macdonald Date: Mon, 30 Apr 2018 14:18:55 +0100 Subject: [PATCH 161/538] Fix the name of the .h file to modify to enable threading --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8ff3f252c..a5606a6f7 100644 --- a/README.md +++ b/README.md @@ -866,7 +866,7 @@ By the way, if you want to play with experimental threading support, just uncomm //#define UEPY_THREADING 1 ``` -on top of UnrealEnginePythonPrivatePCH.h and rebuild the plugin. +on top of UnrealEnginePython.h and rebuild the plugin. As with native threads, do not modify (included deletion) UObjects from non-main threads. From 3e1867c78e4b75eac58234763e5323043c2a16d8 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 30 Apr 2018 17:02:23 +0200 Subject: [PATCH 162/538] added automation skel infrastructure --- .../Private/PythonAutomationModule.cpp | 19 ++++ .../UEPyFAutomationEditorCommonUtils.cpp | 86 +++++++++++++++++++ .../UEPyFAutomationEditorCommonUtils.h | 13 +++ .../Public/PythonAutomationModule.h | 14 +++ .../PythonAutomation.Build.cs | 34 ++++++++ .../UnrealEnginePython/Private/UEPyModule.cpp | 19 +--- .../UnrealEnginePython/Private/UEPyModule.h | 6 +- .../Private/UnrealEnginePython.cpp | 16 ++++ .../Public/UnrealEnginePython.h | 7 ++ UnrealEnginePython.uplugin | 27 +++--- 10 files changed, 211 insertions(+), 30 deletions(-) create mode 100644 Source/PythonAutomation/Private/PythonAutomationModule.cpp create mode 100644 Source/PythonAutomation/Private/UEPyFAutomationEditorCommonUtils.cpp create mode 100644 Source/PythonAutomation/Private/UEPyFAutomationEditorCommonUtils.h create mode 100644 Source/PythonAutomation/Public/PythonAutomationModule.h create mode 100644 Source/PythonAutomation/PythonAutomation.Build.cs diff --git a/Source/PythonAutomation/Private/PythonAutomationModule.cpp b/Source/PythonAutomation/Private/PythonAutomationModule.cpp new file mode 100644 index 000000000..2f0a07841 --- /dev/null +++ b/Source/PythonAutomation/Private/PythonAutomationModule.cpp @@ -0,0 +1,19 @@ +// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. + +#include "PythonAutomationModule.h" +#include "UnrealEnginePython.h" +#include "UEPyFAutomationEditorCommonUtils.h" + +IMPLEMENT_MODULE(FPythonAutomationModule, PythonAutomation); + + +void FPythonAutomationModule::StartupModule() +{ + PyObject *py_automation_module = ue_py_register_module("unreal_engine.automation"); + ue_python_init_fautomation_editor_common_utils(py_automation_module); +} + +void FPythonAutomationModule::ShutdownModule() +{ + +} diff --git a/Source/PythonAutomation/Private/UEPyFAutomationEditorCommonUtils.cpp b/Source/PythonAutomation/Private/UEPyFAutomationEditorCommonUtils.cpp new file mode 100644 index 000000000..0ae56b44e --- /dev/null +++ b/Source/PythonAutomation/Private/UEPyFAutomationEditorCommonUtils.cpp @@ -0,0 +1,86 @@ + +#include "UEPyFAutomationEditorCommonUtils.h" + +#include "UnrealEnginePython.h" +#include "Engine/World.h" + + +static PyObject *py_ue_fautomation_editor_common_utils_run_pie(PyObject *cls, PyObject * args) +{ + FAutomationEditorCommonUtils::RunPIE(); + Py_RETURN_NONE; +} + +static PyObject *py_ue_fautomation_editor_common_utils_load_map(PyObject *cls, PyObject * args) +{ + char *map_name; + if (!PyArg_ParseTuple(args, "s:load_map", &map_name)) + return nullptr; + FAutomationEditorCommonUtils::LoadMap(FString(UTF8_TO_TCHAR(map_name))); + Py_RETURN_NONE; +} + +static PyObject *py_ue_fautomation_editor_common_utils_create_new_map(PyObject *cls, PyObject * args) +{ + Py_RETURN_UOBJECT(FAutomationEditorCommonUtils::CreateNewMap()); +} + +static PyMethodDef ue_PyFAutomationEditorCommonUtils_methods[] = { + { "run_pie", (PyCFunction)py_ue_fautomation_editor_common_utils_run_pie, METH_VARARGS | METH_CLASS, "" }, + { "load_map", (PyCFunction)py_ue_fautomation_editor_common_utils_load_map, METH_VARARGS | METH_CLASS, "" }, + { "create_new_map", (PyCFunction)py_ue_fautomation_editor_common_utils_create_new_map, METH_VARARGS | METH_CLASS, "" }, + + { NULL } /* Sentinel */ +}; + + +static PyTypeObject ue_PyFAutomationEditorCommonUtilsType = { + PyVarObject_HEAD_INIT(NULL, 0) + "unreal_engine.FAutomationEditorCommonUtils", /* tp_name */ + sizeof(ue_PyFAutomationEditorCommonUtils), /* tp_basicsize */ + 0, /* tp_itemsize */ + 0, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ + "Unreal Engine AutomationEditorCommonUtils", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + ue_PyFAutomationEditorCommonUtils_methods, /* tp_methods */ + 0, + 0, +}; + +static int py_ue_fautomation_editor_common_utils_init(ue_PyFAutomationEditorCommonUtils *self, PyObject * args) +{ + PyErr_SetString(PyExc_Exception, "FAutomationEditorCommonUtils is a singleton"); + return -1; +} + +void ue_python_init_fautomation_editor_common_utils(PyObject *ue_module) +{ + ue_PyFAutomationEditorCommonUtilsType.tp_new = PyType_GenericNew; + ue_PyFAutomationEditorCommonUtilsType.tp_init = (initproc)py_ue_fautomation_editor_common_utils_init; + + if (PyType_Ready(&ue_PyFAutomationEditorCommonUtilsType) < 0) + return; + + Py_INCREF(&ue_PyFAutomationEditorCommonUtilsType); + PyModule_AddObject(ue_module, "FAutomationEditorCommonUtils", (PyObject *)&ue_PyFAutomationEditorCommonUtilsType); +} diff --git a/Source/PythonAutomation/Private/UEPyFAutomationEditorCommonUtils.h b/Source/PythonAutomation/Private/UEPyFAutomationEditorCommonUtils.h new file mode 100644 index 000000000..b4b870bb9 --- /dev/null +++ b/Source/PythonAutomation/Private/UEPyFAutomationEditorCommonUtils.h @@ -0,0 +1,13 @@ +#pragma once + +#include "UnrealEnginePython.h" + +#include "Tests/AutomationEditorCommon.h" + +typedef struct +{ + PyObject_HEAD + /* Type-specific fields go here. */ +} ue_PyFAutomationEditorCommonUtils; + +void ue_python_init_fautomation_editor_common_utils(PyObject *); diff --git a/Source/PythonAutomation/Public/PythonAutomationModule.h b/Source/PythonAutomation/Public/PythonAutomationModule.h new file mode 100644 index 000000000..c0f9c6d16 --- /dev/null +++ b/Source/PythonAutomation/Public/PythonAutomationModule.h @@ -0,0 +1,14 @@ +// Copyright 1998-2018 20Tab S.r.l. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "ModuleInterface.h" + +class FPythonAutomationModule : public IModuleInterface +{ +public: + virtual void StartupModule(); + virtual void ShutdownModule(); + +}; diff --git a/Source/PythonAutomation/PythonAutomation.Build.cs b/Source/PythonAutomation/PythonAutomation.Build.cs new file mode 100644 index 000000000..6a7f85e65 --- /dev/null +++ b/Source/PythonAutomation/PythonAutomation.Build.cs @@ -0,0 +1,34 @@ +// Copyright 1998-2018 20Tab S.r.l All Rights Reserved. + +using UnrealBuildTool; +using System.IO; + +public class PythonAutomation : ModuleRules +{ +#if WITH_FORWARDED_MODULE_RULES_CTOR + public PythonAutomation(ReadOnlyTargetRules Target) : base(Target) +#else + public PythonAutomation(TargetInfo Target) +#endif + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + PrivateIncludePaths.AddRange( + new string[] { + "PythonConsole/Private", + // ... add other private include paths required here ... + } + ); + + PrivateDependencyModuleNames.AddRange( + new string[] { + "Core", + "CoreUObject", // @todo Mac: for some reason it's needed to link in debug on Mac + "Engine", + "UnrealEd", + "UnrealEnginePython" + } + ); + + } +} diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 85cfce3d4..22c2feea0 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -1549,21 +1549,10 @@ void unreal_engine_init_py_module() ue_python_init_ivoice_capture(new_unreal_engine_module); - PyObject *py_sys = PyImport_ImportModule("sys"); - PyObject *py_sys_dict = PyModule_GetDict(py_sys); + ue_py_register_magic_module("unreal_engine.classes", py_ue_new_uclassesimporter); + ue_py_register_magic_module("unreal_engine.enums", py_ue_new_enumsimporter); + ue_py_register_magic_module("unreal_engine.structs", py_ue_new_ustructsimporter); - PyObject *py_sys_modules = PyDict_GetItemString(py_sys_dict, "modules"); - PyObject *u_classes_importer = py_ue_new_uclassesimporter(); - Py_INCREF(u_classes_importer); - PyDict_SetItemString(py_sys_modules, "unreal_engine.classes", u_classes_importer); - - PyObject *u_enums_importer = py_ue_new_enumsimporter(); - Py_INCREF(u_enums_importer); - PyDict_SetItemString(py_sys_modules, "unreal_engine.enums", u_enums_importer); - - PyObject *u_structs_importer = py_ue_new_ustructsimporter(); - Py_INCREF(u_structs_importer); - PyDict_SetItemString(py_sys_modules, "unreal_engine.structs", u_structs_importer); PyDict_SetItemString(unreal_engine_dict, "ENGINE_MAJOR_VERSION", PyLong_FromLong(ENGINE_MAJOR_VERSION)); PyDict_SetItemString(unreal_engine_dict, "ENGINE_MINOR_VERSION", PyLong_FromLong(ENGINE_MINOR_VERSION)); @@ -3187,7 +3176,7 @@ UFunction *unreal_engine_add_function(UClass *u_class, char *name, PyObject *py_ #endif return function; -} + } FGuid *ue_py_check_fguid(PyObject *py_obj) { diff --git a/Source/UnrealEnginePython/Private/UEPyModule.h b/Source/UnrealEnginePython/Private/UEPyModule.h index 6a5dfb260..b193e0a10 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.h +++ b/Source/UnrealEnginePython/Private/UEPyModule.h @@ -6,7 +6,7 @@ #include "UEPyUScriptStruct.h" #include "PythonHouseKeeper.h" -// common wrappers +// common wrappersno #include "Wrappers/UEPyFVector.h" #include "Wrappers/UEPyFRotator.h" #include "Wrappers/UEPyFQuat.h" @@ -15,9 +15,7 @@ #include "Wrappers/UEPyFLinearColor.h" -void unreal_engine_py_log_error(); -ue_PyUObject *ue_get_python_uobject(UObject *); -ue_PyUObject *ue_get_python_uobject_inc(UObject *); + UWorld *ue_get_uworld(ue_PyUObject *); AActor *ue_get_actor(ue_PyUObject *); PyObject *ue_py_convert_property(UProperty *, uint8 *, int32); diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 87500af40..73ff5d51b 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -622,6 +622,22 @@ void FUnrealEnginePythonModule::RunFileSandboxed(char *filename, void(*callback) PyThreadState_Swap(_main); } +void ue_py_register_magic_module(char *name, PyObject *(*func)()) +{ + PyObject *py_sys = PyImport_ImportModule("sys"); + PyObject *py_sys_dict = PyModule_GetDict(py_sys); + + PyObject *py_sys_modules = PyDict_GetItemString(py_sys_dict, "modules"); + PyObject *u_module = func(); + Py_INCREF(u_module); + PyDict_SetItemString(py_sys_modules, name, u_module); +} + +PyObject *ue_py_register_module(char *name) +{ + return PyImport_AddModule(name); +} + #undef LOCTEXT_NAMESPACE IMPLEMENT_MODULE(FUnrealEnginePythonModule, UnrealEnginePython) diff --git a/Source/UnrealEnginePython/Public/UnrealEnginePython.h b/Source/UnrealEnginePython/Public/UnrealEnginePython.h index 17977f86d..e7fc4c353 100644 --- a/Source/UnrealEnginePython/Public/UnrealEnginePython.h +++ b/Source/UnrealEnginePython/Public/UnrealEnginePython.h @@ -48,6 +48,9 @@ typedef struct int auto_rooted; } ue_PyUObject; +UNREALENGINEPYTHON_API void ue_py_register_magic_module(char *name, PyObject *(*)()); +UNREALENGINEPYTHON_API PyObject *ue_py_register_module(char *); + #if ENGINE_MINOR_VERSION >= 18 #define FStringAssetReference FSoftObjectPath #endif @@ -67,6 +70,10 @@ int PyGILState_Check(); #endif bool PyUnicodeOrString_Check(PyObject *py_obj); +UNREALENGINEPYTHON_API void unreal_engine_py_log_error(); +UNREALENGINEPYTHON_API ue_PyUObject *ue_get_python_uobject(UObject *); +UNREALENGINEPYTHON_API ue_PyUObject *ue_get_python_uobject_inc(UObject *); + #define Py_RETURN_UOBJECT(py_uobj) ue_PyUObject *ret = ue_get_python_uobject_inc(py_uobj);\ if (!ret)\ return PyErr_Format(PyExc_Exception, "uobject is in invalid state");\ diff --git a/UnrealEnginePython.uplugin b/UnrealEnginePython.uplugin index a7ed3dabb..f07e0ffb9 100644 --- a/UnrealEnginePython.uplugin +++ b/UnrealEnginePython.uplugin @@ -14,22 +14,27 @@ "CanContainContent": true, "IsBetaVersion": true, "Installed": false, - "Modules": [ + "Modules": [ { "Name": "UnrealEnginePython", "Type": "Runtime", "LoadingPhase": "Default" }, - { - "Name": "PythonConsole", - "Type": "Editor", - "LoadingPhase": "PostDefault" - }, - { - "Name" : "PythonEditor", - "Type" : "Editor", - "LoadingPhase": "PostDefault" - } + { + "Name": "PythonAutomation", + "Type": "Editor", + "LoadingPhase": "PostDefault" + }, + { + "Name": "PythonConsole", + "Type": "Editor", + "LoadingPhase": "PostDefault" + }, + { + "Name": "PythonEditor", + "Type": "Editor", + "LoadingPhase": "PostDefault" + } ], "Plugins": [ { From 38c93990246fcf2e9125f5ebad8dc76583a034a2 Mon Sep 17 00:00:00 2001 From: Hugh Macdonald Date: Wed, 2 May 2018 22:43:44 +0100 Subject: [PATCH 163/538] Add support for FSlowTask --- .../UnrealEnginePython/Private/UEPyModule.cpp | 3 + .../Private/Wrappers/UEPyFSlowTask.cpp | 162 ++++++++++++++++++ .../Private/Wrappers/UEPyFSlowTask.h | 17 ++ 3 files changed, 182 insertions(+) create mode 100644 Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.cpp create mode 100644 Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.h diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 22c2feea0..395b7e384 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -82,6 +82,7 @@ #include "UEPyUScriptStruct.h" #if WITH_EDITOR +#include "Wrappers/UEPyFSlowTask.h" #include "Wrappers/UEPyFAssetData.h" #include "Wrappers/UEPyFARFilter.h" #include "Wrappers/UEPyFRawMesh.h" @@ -439,6 +440,7 @@ static PyMethodDef unreal_engine_methods[] = { { "clipboard_copy", py_unreal_engine_clipboard_copy, METH_VARARGS, "" }, { "clipboard_paste", py_unreal_engine_clipboard_paste, METH_VARARGS, "" }, + #pragma warning(suppress: 4191) { "copy_properties_for_unrelated_objects", (PyCFunction)py_unreal_engine_copy_properties_for_unrelated_objects, METH_VARARGS | METH_KEYWORDS, "" }, @@ -1517,6 +1519,7 @@ void unreal_engine_init_py_module() #if WITH_EDITOR + ue_python_init_fslowtask(new_unreal_engine_module); ue_python_init_swidget(new_unreal_engine_module); ue_python_init_farfilter(new_unreal_engine_module); ue_python_init_fassetdata(new_unreal_engine_module); diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.cpp new file mode 100644 index 000000000..bd66405d7 --- /dev/null +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.cpp @@ -0,0 +1,162 @@ +#include "UEPyFSlowTask.h" + +#include "Misc/FeedbackContext.h" + +#if WITH_EDITOR + +static PyObject *py_ue_fslowtask_initialize(ue_PyFSlowTask *self, PyObject * args) +{ + self->slowtask.Initialize(); + + Py_RETURN_NONE; +} + +static PyObject *py_ue_fslowtask_destroy(ue_PyFSlowTask *self, PyObject * args) +{ + self->slowtask.Destroy(); + + Py_RETURN_NONE; +} + +static PyObject *py_ue_fslowtask_make_dialog_delayed(ue_PyFSlowTask *self, PyObject * args) +{ + float threshold; + int show_cancel_button = 0; + int allow_in_pie = 0; + if(!PyArg_ParseTuple(args, "f|ii:make_dialog_delayed", &threshold, &show_cancel_button, &allow_in_pie)) + { + return nullptr; + } + + self->slowtask.MakeDialogDelayed(threshold, show_cancel_button, allow_in_pie); + + Py_RETURN_NONE; +} + +static PyObject *py_ue_fslowtask_make_dialog(ue_PyFSlowTask *self, PyObject * args) +{ + int show_cancel_button = 0; + int allow_in_pie = 0; + if(!PyArg_ParseTuple(args, "|ii:make_dialog", &show_cancel_button, &allow_in_pie)) + { + return nullptr; + } + + self->slowtask.MakeDialog(show_cancel_button, allow_in_pie); + + Py_RETURN_NONE; +} + +static PyObject *py_ue_fslowtask_enter_progress_frame(ue_PyFSlowTask *self, PyObject * args) +{ + float expected_work_this_frame = 1.0; + char *text = ""; + if(!PyArg_ParseTuple(args, "|fs:enter_progress_frame", &expected_work_this_frame, &text)) + { + return nullptr; + } + + self->slowtask.EnterProgressFrame(expected_work_this_frame, FText::FromString(UTF8_TO_TCHAR(text))); + + Py_RETURN_NONE; +} + +static PyObject *py_ue_fslowtask_get_current_message(ue_PyFSlowTask *self, PyObject * args) +{ + FText current_message = self->slowtask.GetCurrentMessage(); + return PyUnicode_FromString(TCHAR_TO_UTF8(*current_message.ToString())); +} + +static PyObject *py_ue_fslowtask_received_user_cancel(ue_PyFSlowTask *self, PyObject * args ) +{ + if(GWarn->ReceivedUserCancel()) + { + Py_INCREF(Py_True); + return Py_True; + } + Py_INCREF(Py_False); + return Py_False; +} + +static PyMethodDef ue_PyFSlowTask_methods[] = { + { "initialize", (PyCFunction)py_ue_fslowtask_initialize, METH_VARARGS, "" }, + { "destroy", (PyCFunction)py_ue_fslowtask_destroy, METH_VARARGS, "" }, + { "make_dialog_delayed", (PyCFunction)py_ue_fslowtask_make_dialog_delayed, METH_VARARGS, "" }, + { "make_dialog", (PyCFunction)py_ue_fslowtask_make_dialog, METH_VARARGS, "" }, + { "enter_progress_frame", (PyCFunction)py_ue_fslowtask_enter_progress_frame, METH_VARARGS, "" }, + { "get_current_message", (PyCFunction)py_ue_fslowtask_get_current_message, METH_VARARGS, "" }, + { "received_user_cancel", (PyCFunction)py_ue_fslowtask_received_user_cancel, METH_VARARGS, "" }, + { NULL } /* Sentinel */ +}; + +static PyTypeObject ue_PyFSlowTaskType = { + PyVarObject_HEAD_INIT(NULL, 0) + "unreal_engine.FSlowTask", /* tp_name */ + sizeof(ue_PyFSlowTask), /* tp_basicsize */ + 0, /* tp_itemsize */ + 0, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ +#if PY_MAJOR_VERSION < 3 + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_CHECKTYPES, /* tp_flags */ +#else + Py_TPFLAGS_DEFAULT, /* tp_flags */ +#endif + "Unreal Engine FSlowTask", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + ue_PyFSlowTask_methods, /* tp_methods */ + 0, + 0, +}; + +static int py_ue_fslowtask_init(ue_PyFSlowTask *self, PyObject * args) +{ + float amount_of_work; + char *default_message = ""; + int enabled = 1; + if(!PyArg_ParseTuple(args, "f|si:__init__", &amount_of_work, &default_message, &enabled)) + { + return -1; + } + + new(&self->slowtask) FSlowTask(amount_of_work, FText::FromString(UTF8_TO_TCHAR(default_message)), enabled); + return 0; +} + +void ue_python_init_fslowtask(PyObject *ue_module) +{ + ue_PyFSlowTaskType.tp_new = PyType_GenericNew; + ue_PyFSlowTaskType.tp_init = (initproc)py_ue_fslowtask_init; + + if (PyType_Ready(&ue_PyFSlowTaskType) < 0) + return; + + Py_INCREF(&ue_PyFSlowTaskType); + PyModule_AddObject(ue_module, "FSlowTask", (PyObject *)&ue_PyFSlowTaskType); +} + +ue_PyFSlowTask *py_ue_is_fslowtask(PyObject *obj) +{ + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyFSlowTaskType)) + return nullptr; + return (ue_PyFSlowTask *)obj; +} + +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.h new file mode 100644 index 000000000..53623cedd --- /dev/null +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.h @@ -0,0 +1,17 @@ +#pragma once +#include "UnrealEnginePython.h" + +#if WITH_EDITOR + +struct ue_PyFSlowTask { + PyObject_HEAD + /* Type-specific fields go here. */ + + FSlowTask slowtask; +}; + +void ue_python_init_fslowtask(PyObject *); + +ue_PyFSlowTask *py_ue_is_fslowtask(PyObject *); + +#endif From 845700256b6e33d35d49fce1fca57c0fd95a9947 Mon Sep 17 00:00:00 2001 From: Hugh Macdonald Date: Thu, 3 May 2018 09:34:21 +0100 Subject: [PATCH 164/538] Add usage example for FSlowTask --- examples/slow_task.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 examples/slow_task.py diff --git a/examples/slow_task.py b/examples/slow_task.py new file mode 100644 index 000000000..f3f8f54b7 --- /dev/null +++ b/examples/slow_task.py @@ -0,0 +1,28 @@ +from unreal_engine import FSlowTask +import time + +# Create an FSlowTask object, defining the amount of work that +# will be done, and the initial message. +t = FSlowTask(10, "Doing Something") +t.initialize() + +# Make the dialog, and include a Cancel button (default is not to +# allow a cancel button). +t.make_dialog(True) + +time.sleep(1) + +for i in range(10) : + # Update the progress bar. Note that the first argument is the + # amount of work to be done this frame, not the overall work + # done so far. + t.enter_progress_frame(1, "Progress Position : {}".format(i)) + time.sleep(0.2) + + # If there was a cancel button included, we can check if it was + # pressed. + if t.received_user_cancel(): + print("Cancelled") + break + +t.destroy() From e93afc9cbeb82448874a1601ca9e512316257864 Mon Sep 17 00:00:00 2001 From: Hugh Macdonald Date: Thu, 3 May 2018 11:05:15 +0100 Subject: [PATCH 165/538] FSlowTask : Adjust to use PyObjects for boolean values rather than ints --- .../Private/Wrappers/UEPyFSlowTask.cpp | 46 +++++++++++++++---- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.cpp index bd66405d7..9e7e9fbd1 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.cpp @@ -21,13 +21,25 @@ static PyObject *py_ue_fslowtask_destroy(ue_PyFSlowTask *self, PyObject * args) static PyObject *py_ue_fslowtask_make_dialog_delayed(ue_PyFSlowTask *self, PyObject * args) { float threshold; - int show_cancel_button = 0; - int allow_in_pie = 0; - if(!PyArg_ParseTuple(args, "f|ii:make_dialog_delayed", &threshold, &show_cancel_button, &allow_in_pie)) + PyObject *py_show_cancel_button = nullptr; + PyObject *py_allow_in_pie = nullptr; + if(!PyArg_ParseTuple(args, "f|OO:make_dialog_delayed", &threshold, &py_show_cancel_button, &py_allow_in_pie)) { return nullptr; } + bool show_cancel_button = false; + if (nullptr != py_show_cancel_button && PyObject_IsTrue(py_show_cancel_button)) + { + show_cancel_button = true; + } + + bool allow_in_pie = false; + if (nullptr != py_allow_in_pie && PyObject_IsTrue(py_allow_in_pie)) + { + allow_in_pie = true; + } + self->slowtask.MakeDialogDelayed(threshold, show_cancel_button, allow_in_pie); Py_RETURN_NONE; @@ -35,13 +47,25 @@ static PyObject *py_ue_fslowtask_make_dialog_delayed(ue_PyFSlowTask *self, PyObj static PyObject *py_ue_fslowtask_make_dialog(ue_PyFSlowTask *self, PyObject * args) { - int show_cancel_button = 0; - int allow_in_pie = 0; - if(!PyArg_ParseTuple(args, "|ii:make_dialog", &show_cancel_button, &allow_in_pie)) + PyObject *py_show_cancel_button = nullptr; + PyObject *py_allow_in_pie = nullptr; + if(!PyArg_ParseTuple(args, "|OO:make_dialog", &py_show_cancel_button, &py_allow_in_pie)) { return nullptr; } + bool show_cancel_button = false; + if (nullptr != py_show_cancel_button && PyObject_IsTrue(py_show_cancel_button)) + { + show_cancel_button = true; + } + + bool allow_in_pie = false; + if (nullptr != py_allow_in_pie && PyObject_IsTrue(py_allow_in_pie)) + { + allow_in_pie = true; + } + self->slowtask.MakeDialog(show_cancel_button, allow_in_pie); Py_RETURN_NONE; @@ -130,12 +154,18 @@ static int py_ue_fslowtask_init(ue_PyFSlowTask *self, PyObject * args) { float amount_of_work; char *default_message = ""; - int enabled = 1; - if(!PyArg_ParseTuple(args, "f|si:__init__", &amount_of_work, &default_message, &enabled)) + PyObject *py_enabled = nullptr; + if(!PyArg_ParseTuple(args, "f|sO:__init__", &amount_of_work, &default_message, &py_enabled)) { return -1; } + bool enabled = true; + if (nullptr != py_enabled && !PyObject_IsTrue(py_enabled)) + { + enabled = false; + } + new(&self->slowtask) FSlowTask(amount_of_work, FText::FromString(UTF8_TO_TCHAR(default_message)), enabled); return 0; } From 8eb8bb48ca2293cb56ee924c16ba75438cd1f0ba Mon Sep 17 00:00:00 2001 From: slartibaartfast Date: Mon, 7 May 2018 13:09:00 -0400 Subject: [PATCH 166/538] apply (char *) to static strings, exclude TSharedRefplugin from non editor builds to resolve issue 412 --- Source/PythonAutomation/Private/PythonAutomationModule.cpp | 2 +- Source/UnrealEnginePython/Private/UEPyModule.cpp | 6 +++--- Source/UnrealEnginePython/Private/UnrealEnginePython.cpp | 5 +++-- .../UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.cpp | 6 +++--- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Source/PythonAutomation/Private/PythonAutomationModule.cpp b/Source/PythonAutomation/Private/PythonAutomationModule.cpp index 2f0a07841..498670948 100644 --- a/Source/PythonAutomation/Private/PythonAutomationModule.cpp +++ b/Source/PythonAutomation/Private/PythonAutomationModule.cpp @@ -9,7 +9,7 @@ IMPLEMENT_MODULE(FPythonAutomationModule, PythonAutomation); void FPythonAutomationModule::StartupModule() { - PyObject *py_automation_module = ue_py_register_module("unreal_engine.automation"); + PyObject *py_automation_module = ue_py_register_module((char *)"unreal_engine.automation"); ue_python_init_fautomation_editor_common_utils(py_automation_module); } diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 395b7e384..801ad4ca0 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -1552,9 +1552,9 @@ void unreal_engine_init_py_module() ue_python_init_ivoice_capture(new_unreal_engine_module); - ue_py_register_magic_module("unreal_engine.classes", py_ue_new_uclassesimporter); - ue_py_register_magic_module("unreal_engine.enums", py_ue_new_enumsimporter); - ue_py_register_magic_module("unreal_engine.structs", py_ue_new_ustructsimporter); + ue_py_register_magic_module((char *)"unreal_engine.classes", py_ue_new_uclassesimporter); + ue_py_register_magic_module((char *)"unreal_engine.enums", py_ue_new_enumsimporter); + ue_py_register_magic_module((char *)"unreal_engine.structs", py_ue_new_ustructsimporter); PyDict_SetItemString(unreal_engine_dict, "ENGINE_MAJOR_VERSION", PyLong_FromLong(ENGINE_MAJOR_VERSION)); diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 480b4e75d..25e52896e 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -300,6 +300,7 @@ void FUnrealEnginePythonModule::StartupModule() ScriptsPaths.Add(ProjectScriptsPath); } + #if WITH_EDITOR for (TSharedRefplugin : IPluginManager::Get().GetEnabledPlugins()) { FString PluginScriptsPath = FPaths::Combine(plugin->GetContentDir(), UTF8_TO_TCHAR("Scripts")); @@ -308,6 +309,7 @@ void FUnrealEnginePythonModule::StartupModule() ScriptsPaths.Add(PluginScriptsPath); } } + #endif if (ZipPath.IsEmpty()) { @@ -461,7 +463,7 @@ FString FUnrealEnginePythonModule::Pep8ize(FString Code) return NewCode; } -// run a python string in a new sub interpreter +// run a python string in a new sub interpreter void FUnrealEnginePythonModule::RunStringSandboxed(char *str) { FScopePythonGIL gil; @@ -684,4 +686,3 @@ PyObject *ue_py_register_module(char *name) #undef LOCTEXT_NAMESPACE IMPLEMENT_MODULE(FUnrealEnginePythonModule, UnrealEnginePython) - diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.cpp index 9e7e9fbd1..71669f418 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.cpp @@ -74,7 +74,7 @@ static PyObject *py_ue_fslowtask_make_dialog(ue_PyFSlowTask *self, PyObject * ar static PyObject *py_ue_fslowtask_enter_progress_frame(ue_PyFSlowTask *self, PyObject * args) { float expected_work_this_frame = 1.0; - char *text = ""; + char *text = (char *)""; if(!PyArg_ParseTuple(args, "|fs:enter_progress_frame", &expected_work_this_frame, &text)) { return nullptr; @@ -153,7 +153,7 @@ static PyTypeObject ue_PyFSlowTaskType = { static int py_ue_fslowtask_init(ue_PyFSlowTask *self, PyObject * args) { float amount_of_work; - char *default_message = ""; + char *default_message = (char *)""; PyObject *py_enabled = nullptr; if(!PyArg_ParseTuple(args, "f|sO:__init__", &amount_of_work, &default_message, &py_enabled)) { @@ -189,4 +189,4 @@ ue_PyFSlowTask *py_ue_is_fslowtask(PyObject *obj) return (ue_PyFSlowTask *)obj; } -#endif \ No newline at end of file +#endif From 710b391fbdf0d5d3484e3cf69059323d5236bb0a Mon Sep 17 00:00:00 2001 From: slartibaartfast Date: Tue, 8 May 2018 09:39:09 -0400 Subject: [PATCH 167/538] Use PublicDefinitions instead of Definitions --- .../UnrealEnginePython/UnrealEnginePython.Build.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index 5a3638384..38a28a535 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -11,7 +11,7 @@ public class UnrealEnginePython : ModuleRules private string pythonHome = ""; // otherwise specify the path of your python installation //private string pythonHome = "C:/Program Files/Python36"; - // this is an example for Homebrew on Mac + // this is an example for Homebrew on Mac //private string pythonHome = "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/"; // on Linux an include;libs syntax is expected: //private string pythonHome = "/usr/local/include/python3.6;/usr/local/lib/libpython3.6.so" @@ -217,7 +217,7 @@ public UnrealEnginePython(TargetInfo Target) string libPath = GetMacPythonLibFile(pythonHome); PublicLibraryPaths.Add(Path.GetDirectoryName(libPath)); PublicDelayLoadDLLs.Add(libPath); - Definitions.Add(string.Format("UNREAL_ENGINE_PYTHON_ON_MAC")); + PublicDefinitions.Add(string.Format("UNREAL_ENGINE_PYTHON_ON_MAC")); } else if (Target.Platform == UnrealTargetPlatform.Linux) { @@ -242,13 +242,13 @@ public UnrealEnginePython(TargetInfo Target) PublicIncludePaths.Add(items[0]); PublicAdditionalLibraries.Add(items[1]); } - Definitions.Add(string.Format("UNREAL_ENGINE_PYTHON_ON_LINUX")); + PublicDefinitions.Add(string.Format("UNREAL_ENGINE_PYTHON_ON_LINUX")); } string enableThreads = System.Environment.GetEnvironmentVariable("UEP_ENABLE_THREADS"); if (!string.IsNullOrEmpty(enableThreads)) { - Definitions.Add("UEPY_THREADING"); + PublicDefinitions.Add("UEPY_THREADING"); System.Console.WriteLine("*** Enabled Python Threads support ***"); } @@ -257,8 +257,8 @@ public UnrealEnginePython(TargetInfo Target) private bool IsPathRelative(string Path) { bool IsRooted = Path.StartsWith("\\", System.StringComparison.Ordinal) || // Root of the current directory on Windows. Also covers "\\" for UNC or "network" paths. - Path.StartsWith("/", System.StringComparison.Ordinal) || // Root of the current directory on Windows, root on UNIX-likes. - // Also covers "\\", considering normalization replaces "\\" with "//". + Path.StartsWith("/", System.StringComparison.Ordinal) || // Root of the current directory on Windows, root on UNIX-likes. + // Also covers "\\", considering normalization replaces "\\" with "//". (Path.Length >= 2 && char.IsLetter(Path[0]) && Path[1] == ':'); // Starts with ":" return !IsRooted; } From c2b53730ece93026040fde3be8b98d65ab7dec76 Mon Sep 17 00:00:00 2001 From: slartibaartfast Date: Mon, 14 May 2018 10:02:00 -0400 Subject: [PATCH 168/538] Revert PublicDefinitions back to Definitions --- Source/UnrealEnginePython/UnrealEnginePython.Build.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index 38a28a535..9831618d3 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -217,7 +217,7 @@ public UnrealEnginePython(TargetInfo Target) string libPath = GetMacPythonLibFile(pythonHome); PublicLibraryPaths.Add(Path.GetDirectoryName(libPath)); PublicDelayLoadDLLs.Add(libPath); - PublicDefinitions.Add(string.Format("UNREAL_ENGINE_PYTHON_ON_MAC")); + Definitions.Add(string.Format("UNREAL_ENGINE_PYTHON_ON_MAC")); } else if (Target.Platform == UnrealTargetPlatform.Linux) { @@ -242,13 +242,13 @@ public UnrealEnginePython(TargetInfo Target) PublicIncludePaths.Add(items[0]); PublicAdditionalLibraries.Add(items[1]); } - PublicDefinitions.Add(string.Format("UNREAL_ENGINE_PYTHON_ON_LINUX")); + Definitions.Add(string.Format("UNREAL_ENGINE_PYTHON_ON_LINUX")); } string enableThreads = System.Environment.GetEnvironmentVariable("UEP_ENABLE_THREADS"); if (!string.IsNullOrEmpty(enableThreads)) { - PublicDefinitions.Add("UEPY_THREADING"); + Definitions.Add("UEPY_THREADING"); System.Console.WriteLine("*** Enabled Python Threads support ***"); } From aeb6b8d75a2d3c76e0eba24e27996b1130901c04 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 18 May 2018 11:00:35 +0200 Subject: [PATCH 169/538] fixed ScriptsPath management --- Source/UnrealEnginePython/Private/UnrealEnginePython.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 25e52896e..521c0ce8b 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -295,10 +295,11 @@ void FUnrealEnginePythonModule::StartupModule() } FString ProjectScriptsPath = FPaths::Combine(*PROJECT_CONTENT_DIR, UTF8_TO_TCHAR("Scripts")); - if (FPaths::DirectoryExists(ProjectScriptsPath)) + if (!FPaths::DirectoryExists(ProjectScriptsPath)) { - ScriptsPaths.Add(ProjectScriptsPath); + FPlatformFileManager::Get().GetPlatformFile().CreateDirectory(*ProjectScriptsPath); } + ScriptsPaths.Add(ProjectScriptsPath); #if WITH_EDITOR for (TSharedRefplugin : IPluginManager::Get().GetEnabledPlugins()) From 2472962f4615f6d689cb8d91e155f27ab0dc0b99 Mon Sep 17 00:00:00 2001 From: Ronan <34050280+rdsgautier@users.noreply.github.com> Date: Tue, 29 May 2018 10:01:43 -0400 Subject: [PATCH 170/538] fix rename asset definition have the same behaviour than context menu rename in content browser. --- .../UnrealEnginePython/Private/UEPyEditor.cpp | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index 3f02117e2..4517e0f4e 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -613,9 +613,8 @@ PyObject *py_unreal_engine_get_long_package_path(PyObject * self, PyObject * arg PyObject *py_unreal_engine_rename_asset(PyObject * self, PyObject * args) { char *path; - char *package_name; char *object_name; - if (!PyArg_ParseTuple(args, "sss:rename_asset", &path, &package_name, &object_name)) + if (!PyArg_ParseTuple(args, "ss:rename_asset", &path, &object_name)) { return NULL; } @@ -628,21 +627,20 @@ PyObject *py_unreal_engine_rename_asset(PyObject * self, PyObject * args) if (!asset.IsValid()) return PyErr_Format(PyExc_Exception, "unable to find asset %s", path); - UObject *u_object = asset.GetAsset(); - ObjectTools::FPackageGroupName pgn; - pgn.ObjectName = UTF8_TO_TCHAR(object_name); - pgn.GroupName = FString(""); - pgn.PackageName = UTF8_TO_TCHAR(package_name); + FAssetToolsModule& AssetToolsModule = FModuleManager::LoadModuleChecked("AssetTools"); - TSet refused_packages; - FText error_text; - if (!ObjectTools::RenameSingleObject(u_object, pgn, refused_packages, error_text, nullptr, false)) + UObject *u_object = asset.GetAsset(); + TArray AssetsAndNames; + const FString PackagePath = FPackageName::GetLongPackagePath(u_object->GetOutermost()->GetName()); + const FString newname(UTF8_TO_TCHAR(object_name)); + new(AssetsAndNames) FAssetRenameData(u_object, PackagePath, newname); + if (!AssetToolsModule.Get().RenameAssets(AssetsAndNames)) { return PyErr_Format(PyExc_Exception, "unable to rename asset %s", path); } Py_INCREF(Py_None); - return Py_None; + return Py_None; } PyObject *py_unreal_engine_duplicate_asset(PyObject * self, PyObject * args) From 4d97118fd9fe348748f372d2aa73c1400e9d0caa Mon Sep 17 00:00:00 2001 From: Ronan <34050280+rdsgautier@users.noreply.github.com> Date: Wed, 30 May 2018 17:23:27 -0400 Subject: [PATCH 171/538] Fix engine version compiler issue --- Source/UnrealEnginePython/Private/UEPyEditor.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index 4517e0f4e..b20f60dc1 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -634,10 +634,14 @@ PyObject *py_unreal_engine_rename_asset(PyObject * self, PyObject * args) const FString PackagePath = FPackageName::GetLongPackagePath(u_object->GetOutermost()->GetName()); const FString newname(UTF8_TO_TCHAR(object_name)); new(AssetsAndNames) FAssetRenameData(u_object, PackagePath, newname); +#if ENGINE_MINOR_VERSION < 19 + AssetToolsModule.Get().RenameAssets(AssetsAndNames); +#else if (!AssetToolsModule.Get().RenameAssets(AssetsAndNames)) { return PyErr_Format(PyExc_Exception, "unable to rename asset %s", path); } +#endif Py_INCREF(Py_None); return Py_None; From 706916ce485b921fd8aa3657c9cf42e3f2706fb3 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 2 Jun 2018 18:29:59 +0200 Subject: [PATCH 172/538] fixed 4.18 build --- Source/UnrealEnginePython/Private/UnrealEnginePython.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 521c0ce8b..005e2ac6c 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -527,7 +527,7 @@ void FUnrealEnginePythonModule::RunFile(char *filename) if (!foundFile) { - UE_LOG(LogPython, Error, TEXT("Unable to find file %s"), filename); + UE_LOG(LogPython, Error, TEXT("Unable to find file %s"), UTF8_TO_TCHAR(filename)); return; } @@ -591,7 +591,7 @@ void FUnrealEnginePythonModule::RunFileSandboxed(char *filename, void(*callback) if (!foundFile) { - UE_LOG(LogPython, Error, TEXT("Unable to find file %s"), filename); + UE_LOG(LogPython, Error, TEXT("Unable to find file %s"), UTF8_TO_TCHAR(filename)); return; } From dbbb99dbff9e729518a55e1f6505dc941d6527ec Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 2 Jun 2018 20:08:15 +0200 Subject: [PATCH 173/538] added set_material_by_name() --- .../UnrealEnginePython/Private/UEPyModule.cpp | 1 + .../Private/UObject/UEPyMaterial.cpp | 88 +++++++++++-------- .../Private/UObject/UEPyMaterial.h | 1 + 3 files changed, 52 insertions(+), 38 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 801ad4ca0..6cf20d738 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -1004,6 +1004,7 @@ static PyMethodDef ue_PyUObject_methods[] = { // Material { "set_material", (PyCFunction)py_ue_set_material, METH_VARARGS, "" }, + { "set_material_by_name", (PyCFunction)py_ue_set_material_by_name, METH_VARARGS, "" }, { "set_material_scalar_parameter", (PyCFunction)py_ue_set_material_scalar_parameter, METH_VARARGS, "" }, { "set_material_vector_parameter", (PyCFunction)py_ue_set_material_vector_parameter, METH_VARARGS, "" }, { "set_material_texture_parameter", (PyCFunction)py_ue_set_material_texture_parameter, METH_VARARGS, "" }, diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp index 4126c5338..ee0d5b4a6 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp @@ -15,6 +15,56 @@ #include "Components/PrimitiveComponent.h" #include "Engine/StaticMesh.h" +PyObject *py_ue_set_material_by_name(ue_PyUObject *self, PyObject * args) +{ + + ue_py_check(self); + + char *slot_name; + PyObject *py_mat; + if (!PyArg_ParseTuple(args, "sO:set_material_by_name", &slot_name, &py_mat)) + { + return nullptr; + } + + UPrimitiveComponent *primitive = ue_py_check_type(self); + if (!primitive) + return PyErr_Format(PyExc_Exception, "uobject is not a UPrimitiveComponent"); + + UMaterialInterface *material = ue_py_check_type(py_mat); + if (!material) + return PyErr_Format(PyExc_Exception, "argument is not a UMaterialInterface"); + + primitive->SetMaterialByName(FName(UTF8_TO_TCHAR(slot_name)), material); + + Py_RETURN_NONE; +} + +PyObject *py_ue_set_material(ue_PyUObject *self, PyObject * args) +{ + + ue_py_check(self); + + int slot; + PyObject *py_mat; + if (!PyArg_ParseTuple(args, "iO:set_material", &slot, &py_mat)) + { + return nullptr; + } + + UPrimitiveComponent *primitive = ue_py_check_type(self); + if (!primitive) + return PyErr_Format(PyExc_Exception, "uobject is not a UPrimitiveComponent"); + + UMaterialInterface *material = ue_py_check_type(py_mat); + if (!material) + return PyErr_Format(PyExc_Exception, "argument is not a UMaterialInterface"); + + primitive->SetMaterial(slot, material); + + Py_RETURN_NONE; +} + PyObject *py_ue_set_material_scalar_parameter(ue_PyUObject *self, PyObject * args) { @@ -308,44 +358,6 @@ PyObject *py_ue_create_material_instance_dynamic(ue_PyUObject *self, PyObject * Py_RETURN_UOBJECT(material_dynamic); } -PyObject *py_ue_set_material(ue_PyUObject *self, PyObject * args) -{ - - ue_py_check(self); - - int index; - PyObject *py_material = nullptr; - - if (!PyArg_ParseTuple(args, "iO:set_material", &index, &py_material)) - { - return NULL; - } - - if (!self->ue_object->IsA()) - { - return PyErr_Format(PyExc_Exception, "uobject is not a UPrimitiveComponent"); - } - - UPrimitiveComponent *component = (UPrimitiveComponent *)self->ue_object; - - if (!ue_is_pyuobject(py_material)) - { - return PyErr_Format(PyExc_Exception, "argument is not a UObject"); - } - - ue_PyUObject *py_obj = (ue_PyUObject *)py_material; - - if (!py_obj->ue_object->IsA()) - { - return PyErr_Format(PyExc_Exception, "uobject is not a UMaterialInterface"); - } - - UMaterialInterface *material_interface = (UMaterialInterface *)py_obj->ue_object; - - component->SetMaterial(index, material_interface); - - Py_RETURN_NONE; -} #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.h b/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.h index 06340efb2..f2b0516c0 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.h @@ -17,6 +17,7 @@ PyObject *py_ue_create_material_instance_dynamic(ue_PyUObject *, PyObject *); PyObject *py_ue_set_material(ue_PyUObject *, PyObject *); +PyObject *py_ue_set_material_by_name(ue_PyUObject *, PyObject *); #if WITH_EDITOR PyObject *py_ue_set_material_parent(ue_PyUObject *, PyObject *); From 450d9bb97b3697287fbf432e43929947508e392f Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 5 Jun 2018 09:48:49 +0200 Subject: [PATCH 174/538] fixed http api --- .../Private/Http/UEPyIHttpRequest.cpp | 30 +++++++++---------- .../Private/Http/UEPyIHttpRequest.h | 11 +++++-- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.cpp b/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.cpp index 714c2b914..0369ee146 100644 --- a/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.cpp +++ b/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.cpp @@ -16,8 +16,7 @@ static PyObject *py_ue_ihttp_request_set_verb(ue_PyIHttpRequest *self, PyObject self->http_request->SetVerb(UTF8_TO_TCHAR(verb)); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject *py_ue_ihttp_request_set_url(ue_PyIHttpRequest *self, PyObject * args) @@ -31,8 +30,7 @@ static PyObject *py_ue_ihttp_request_set_url(ue_PyIHttpRequest *self, PyObject * self->http_request->SetURL(UTF8_TO_TCHAR(url)); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject *py_ue_ihttp_request_set_header(ue_PyIHttpRequest *self, PyObject * args) @@ -47,8 +45,7 @@ static PyObject *py_ue_ihttp_request_set_header(ue_PyIHttpRequest *self, PyObjec self->http_request->SetHeader(UTF8_TO_TCHAR(key), UTF8_TO_TCHAR(value)); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject *py_ue_ihttp_request_append_to_header(ue_PyIHttpRequest *self, PyObject * args) @@ -63,8 +60,7 @@ static PyObject *py_ue_ihttp_request_append_to_header(ue_PyIHttpRequest *self, P self->http_request->AppendToHeader(UTF8_TO_TCHAR(key), UTF8_TO_TCHAR(value)); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject *py_ue_ihttp_request_set_content(ue_PyIHttpRequest *self, PyObject * args) @@ -90,8 +86,7 @@ static PyObject *py_ue_ihttp_request_set_content(ue_PyIHttpRequest *self, PyObje self->http_request->SetContent(data); } - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject *py_ue_ihttp_request_tick(ue_PyIHttpRequest *self, PyObject * args) @@ -107,24 +102,21 @@ static PyObject *py_ue_ihttp_request_tick(ue_PyIHttpRequest *self, PyObject * ar self->http_request->Tick(delta_seconds); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject *py_ue_ihttp_request_process_request(ue_PyIHttpRequest *self, PyObject * args) { self->http_request->ProcessRequest(); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject *py_ue_ihttp_request_cancel_request(ue_PyIHttpRequest *self, PyObject * args) { self->http_request->CancelRequest(); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject *py_ue_ihttp_request_get_status(ue_PyIHttpRequest *self, PyObject * args) @@ -210,6 +202,8 @@ static PyObject *py_ue_ihttp_request_bind_on_process_request_complete(ue_PyIHttp py_delegate->SetPyHttpRequest(self); self->http_request->OnProcessRequestComplete().BindSP(py_delegate, &FPythonSmartHttpDelegate::OnRequestComplete); + self->on_process_request_complete = py_delegate; + Py_RETURN_NONE; } @@ -266,6 +260,8 @@ static void ue_PyIHttpRequest_dealloc(ue_PyIHttpRequest *self) #if defined(UEPY_MEMORY_DEBUG) UE_LOG(LogPython, Warning, TEXT("Destroying ue_PyIHttpRequest %p mapped to IHttpRequest %p"), self, &self->http_request.Get()); #endif + self->on_process_request_complete = nullptr; + self->on_request_progress = nullptr; Py_DECREF(self->py_dict); Py_TYPE(self)->tp_free((PyObject *)self); } @@ -312,6 +308,8 @@ static int ue_py_ihttp_request_init(ue_PyIHttpRequest *self, PyObject *args, PyO return -1; } new(&self->http_request) TSharedRef(FHttpModule::Get().CreateRequest()); + new(&self->on_process_request_complete) TSharedPtr(nullptr); + new(&self->on_request_progress) TSharedPtr(nullptr); self->py_dict = PyDict_New(); if (verb) { diff --git a/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.h b/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.h index 024900747..c1c7d65bc 100644 --- a/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.h +++ b/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.h @@ -8,17 +8,18 @@ extern PyTypeObject ue_PyIHttpBaseType; +class FPythonSmartHttpDelegate; + typedef struct { ue_PyIHttpBase base; /* Type-specific fields go here. */ TSharedRef http_request; + TSharedPtr on_process_request_complete; + TSharedPtr on_request_progress; PyObject *py_dict; } ue_PyIHttpRequest; - -void ue_python_init_ihttp_request(PyObject *); - class FPythonSmartHttpDelegate : public FPythonSmartDelegate { @@ -39,3 +40,7 @@ class FPythonSmartHttpDelegate : public FPythonSmartDelegate protected: ue_PyIHttpRequest * py_http_request; }; + + + +void ue_python_init_ihttp_request(PyObject *); \ No newline at end of file From 5dcd2254e2e2e557d9b2a1fcc0a687b9c97286ab Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 5 Jun 2018 10:14:58 +0200 Subject: [PATCH 175/538] fixed 4.15 build --- Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp | 2 ++ Source/UnrealEnginePython/Private/UEPyModule.cpp | 6 +++--- Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.h | 5 +++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp index 1355bef6d..3dc7fade0 100644 --- a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp +++ b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraph.cpp @@ -408,7 +408,9 @@ PyObject *py_ue_graph_add_node_dynamic_cast(ue_PyUObject * self, PyObject * args UK2Node_DynamicCast *node = NewObject(graph); node->TargetType = u_class; +#if ENGINE_MINOR_VERSION > 15 node->SetPurity(false); +#endif node->AllocateDefaultPins(); node->CreateNewGuid(); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 6cf20d738..f7b962cdd 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -2430,12 +2430,12 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in casted_prop_weak_object->SetPropertyValue_InContainer(buffer, FWeakObjectPtr(ue_obj->ue_object), index); return true; } - else if (auto casted_prop = Cast(prop)) + else if (auto casted_prop_base = Cast(prop)) { // ensure the object type is correct, otherwise crash could happen (soon or later) - if (!ue_obj->ue_object->IsA(casted_prop->PropertyClass)) + if (!ue_obj->ue_object->IsA(casted_prop_base->PropertyClass)) return false; - casted_prop->SetObjectPropertyValue_InContainer(buffer, ue_obj->ue_object, index); + casted_prop_base->SetObjectPropertyValue_InContainer(buffer, ue_obj->ue_object, index); return true; } diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.h index 53623cedd..8abd0693f 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.h +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFSlowTask.h @@ -1,14 +1,15 @@ #pragma once #include "UnrealEnginePython.h" +#include "Misc/SlowTask.h" #if WITH_EDITOR -struct ue_PyFSlowTask { +typedef struct { PyObject_HEAD /* Type-specific fields go here. */ FSlowTask slowtask; -}; +} ue_PyFSlowTask; void ue_python_init_fslowtask(PyObject *); From 61400a50b039d89a52179e05424e997325208d59 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 6 Jun 2018 09:51:24 +0200 Subject: [PATCH 176/538] improved foliage api --- .../UnrealEnginePython/Private/UEPyModule.cpp | 9 +- .../Private/UObject/UEPyFoliage.cpp | 134 ++++++++++++++++++ .../Private/UObject/UEPyFoliage.h | 11 ++ .../Private/UObject/UEPyWorld.cpp | 60 -------- .../Private/UObject/UEPyWorld.h | 4 - .../Private/Wrappers/UEPyFFoliageInstance.cpp | 106 ++++++++++++++ .../Private/Wrappers/UEPyFFoliageInstance.h | 14 ++ 7 files changed, 273 insertions(+), 65 deletions(-) create mode 100644 Source/UnrealEnginePython/Private/UObject/UEPyFoliage.cpp create mode 100644 Source/UnrealEnginePython/Private/UObject/UEPyFoliage.h create mode 100644 Source/UnrealEnginePython/Private/Wrappers/UEPyFFoliageInstance.cpp create mode 100644 Source/UnrealEnginePython/Private/Wrappers/UEPyFFoliageInstance.h diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index f7b962cdd..6e73dda95 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -36,6 +36,7 @@ #include "UObject/UEPyUserDefinedStruct.h" #include "UObject/UEPyDataTable.h" #include "UObject/UEPyExporter.h" +#include "UObject/UEPyFoliage.h" #include "UEPyAssetUserData.h" @@ -74,6 +75,8 @@ #include "Wrappers/UEPyFEditorViewportClient.h" #endif +#include "Wrappers/UEPyFFoliageInstance.h" + #include "UEPyCallable.h" #include "UEPyUClassesImporter.h" #include "UEPyEnumsImporter.h" @@ -785,9 +788,12 @@ static PyMethodDef ue_PyUObject_methods[] = { #if WITH_EDITOR { "add_foliage_asset", (PyCFunction)py_ue_add_foliage_asset, METH_VARARGS, "" }, + { "get_foliage_instances", (PyCFunction)py_ue_get_foliage_instances, METH_VARARGS, "" }, #endif { "get_instanced_foliage_actor_for_current_level", (PyCFunction)py_ue_get_instanced_foliage_actor_for_current_level, METH_VARARGS, "" }, - + { "get_instanced_foliage_actor_for_level", (PyCFunction)py_ue_get_instanced_foliage_actor_for_level, METH_VARARGS, "" }, + { "get_foliage_types", (PyCFunction)py_ue_get_foliage_types, METH_VARARGS, "" }, + { "add_actor_component", (PyCFunction)py_ue_add_actor_component, METH_VARARGS, "" }, { "add_instance_component", (PyCFunction)py_ue_add_instance_component, METH_VARARGS, "" }, @@ -1518,6 +1524,7 @@ void unreal_engine_init_py_module() ue_python_init_enumsimporter(new_unreal_engine_module); ue_python_init_ustructsimporter(new_unreal_engine_module); + ue_python_init_ffoliage_instance(new_unreal_engine_module); #if WITH_EDITOR ue_python_init_fslowtask(new_unreal_engine_module); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyFoliage.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyFoliage.cpp new file mode 100644 index 000000000..09855fb31 --- /dev/null +++ b/Source/UnrealEnginePython/Private/UObject/UEPyFoliage.cpp @@ -0,0 +1,134 @@ +#include "UEPyFoliage.h" + +#include "Runtime/Foliage/Public/FoliageType.h" +#include "Runtime/Foliage/Public/InstancedFoliageActor.h" +#include "Wrappers/UEPyFFoliageInstance.h" + +PyObject *py_ue_get_instanced_foliage_actor_for_current_level(ue_PyUObject *self, PyObject * args) +{ + ue_py_check(self); + + UWorld *world = ue_get_uworld(self); + if (!world) + return PyErr_Format(PyExc_Exception, "unable to retrieve UWorld from uobject"); + + Py_RETURN_UOBJECT(AInstancedFoliageActor::GetInstancedFoliageActorForCurrentLevel(world, true)); +} + +PyObject *py_ue_get_instanced_foliage_actor_for_level(ue_PyUObject *self, PyObject * args) +{ + ue_py_check(self); + + ULevel *level = ue_py_check_type(self); + if (!level) + return PyErr_Format(PyExc_Exception, "uobject is not a ULevel"); + + Py_RETURN_UOBJECT(AInstancedFoliageActor::GetInstancedFoliageActorForLevel(level, true)); +} + +PyObject *py_ue_get_foliage_types(ue_PyUObject *self, PyObject * args) +{ + ue_py_check(self); + + AInstancedFoliageActor *foliage_actor = ue_py_check_type(self); + if (!foliage_actor) + return PyErr_Format(PyExc_Exception, "uobject is not a AInstancedFoliageActor"); + + PyObject *py_list = PyList_New(0); + + TArray FoliageTypes; + + foliage_actor->FoliageMeshes.GetKeys(FoliageTypes); + + for (UFoliageType *FoliageType : FoliageTypes) + { + PyList_Append(py_list, (PyObject*)ue_get_python_uobject(FoliageType)); + } + + return py_list; +} + +#if WITH_EDITOR +PyObject *py_ue_get_foliage_instances(ue_PyUObject *self, PyObject * args) +{ + ue_py_check(self); + + PyObject *py_foliage_type; + + if (!PyArg_ParseTuple(args, "O:get_foliage_instances", &py_foliage_type)) + { + return nullptr; + } + + AInstancedFoliageActor *foliage_actor = ue_py_check_type(self); + if (!foliage_actor) + return PyErr_Format(PyExc_Exception, "uobject is not a AInstancedFoliageActor"); + + UFoliageType *foliage_type = ue_py_check_type(py_foliage_type); + if (!foliage_type) + return PyErr_Format(PyExc_Exception, "argument is not a UFoliageType"); + + if (!foliage_actor->FoliageMeshes.Contains(foliage_type)) + { + return PyErr_Format(PyExc_Exception, "specified UFoliageType not found in AInstancedFoliageActor"); + } + + FFoliageMeshInfo& info = foliage_actor->FoliageMeshes[foliage_type].Get(); + + PyObject *py_list = PyList_New(0); + + for (FFoliageInstance& instance : info.Instances) + { + PyList_Append(py_list, py_ue_new_ffoliage_instance(instance)); + } + + return py_list; +} + + +PyObject *py_ue_add_foliage_asset(ue_PyUObject *self, PyObject * args) +{ + + ue_py_check(self); + + PyObject *py_uobject; + + if (!PyArg_ParseTuple(args, "O:add_foliage_asset", &py_uobject)) + { + return nullptr; + } + + UWorld *world = ue_get_uworld(self); + if (!world) + return PyErr_Format(PyExc_Exception, "unable to retrieve UWorld from uobject"); + + UObject *u_object = ue_py_check_type(py_uobject); + if (!u_object) + return PyErr_Format(PyExc_Exception, "argument is not a UObject"); + + UFoliageType *foliage_type = nullptr; + + AInstancedFoliageActor *ifa = AInstancedFoliageActor::GetInstancedFoliageActorForCurrentLevel(world, true); + if (u_object->IsA()) + { + foliage_type = ifa->GetLocalFoliageTypeForMesh((UStaticMesh *)u_object); + if (!foliage_type) + { + ifa->AddMesh((UStaticMesh *)u_object, &foliage_type); + } + } + else if (u_object->IsA()) + { + foliage_type = (UFoliageType *)u_object; + ifa->AddFoliageType(foliage_type); + + } + + if (!foliage_type) + return PyErr_Format(PyExc_Exception, "unable to add foliage asset"); + + Py_RETURN_UOBJECT(foliage_type); + +} +#endif + diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyFoliage.h b/Source/UnrealEnginePython/Private/UObject/UEPyFoliage.h new file mode 100644 index 000000000..e92b7818f --- /dev/null +++ b/Source/UnrealEnginePython/Private/UObject/UEPyFoliage.h @@ -0,0 +1,11 @@ +#pragma once + +#include "UEPyModule.h" + +PyObject *py_ue_get_instanced_foliage_actor_for_current_level(ue_PyUObject *, PyObject *); +PyObject *py_ue_get_instanced_foliage_actor_for_level(ue_PyUObject *, PyObject *); +PyObject *py_ue_get_foliage_types(ue_PyUObject *, PyObject *); +#if WITH_EDITOR +PyObject *py_ue_get_foliage_instances(ue_PyUObject *, PyObject *); +PyObject *py_ue_add_foliage_asset(ue_PyUObject *, PyObject *); +#endif diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp index 6c77b7e43..f0afe587f 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp @@ -1,8 +1,6 @@ #include "UEPyWorld.h" #include "Runtime/Engine/Classes/Kismet/KismetSystemLibrary.h" -#include "Runtime/Foliage/Public/FoliageType.h" -#include "Runtime/Foliage/Public/InstancedFoliageActor.h" #include "EngineUtils.h" #include "Kismet/GameplayStatics.h" @@ -316,61 +314,3 @@ PyObject *py_ue_set_current_level(ue_PyUObject *self, PyObject * args) Py_RETURN_FALSE; } -PyObject *py_ue_get_instanced_foliage_actor_for_current_level(ue_PyUObject *self, PyObject * args) -{ - ue_py_check(self); - - UWorld *world = ue_get_uworld(self); - if (!world) - return PyErr_Format(PyExc_Exception, "unable to retrieve UWorld from uobject"); - - Py_RETURN_UOBJECT(AInstancedFoliageActor::GetInstancedFoliageActorForCurrentLevel(world, true)); -} - -#if WITH_EDITOR -PyObject *py_ue_add_foliage_asset(ue_PyUObject *self, PyObject * args) -{ - - ue_py_check(self); - - PyObject *py_uobject; - - if (!PyArg_ParseTuple(args, "O:add_foliage_asset", &py_uobject)) - { - return nullptr; - } - - UWorld *world = ue_get_uworld(self); - if (!world) - return PyErr_Format(PyExc_Exception, "unable to retrieve UWorld from uobject"); - - UObject *u_object = ue_py_check_type(py_uobject); - if (!u_object) - return PyErr_Format(PyExc_Exception, "argument is not a UObject"); - - UFoliageType *foliage_type = nullptr; - - AInstancedFoliageActor *ifa = AInstancedFoliageActor::GetInstancedFoliageActorForCurrentLevel(world, true); - if (u_object->IsA()) - { - foliage_type = ifa->GetLocalFoliageTypeForMesh((UStaticMesh *)u_object); - if (!foliage_type) - { - ifa->AddMesh((UStaticMesh *)u_object, &foliage_type); - } - } - else if (u_object->IsA()) - { - foliage_type = (UFoliageType *)u_object; - ifa->AddFoliageType(foliage_type); - - } - - if (!foliage_type) - return PyErr_Format(PyExc_Exception, "unable to add foliage asset"); - - Py_RETURN_UOBJECT(foliage_type); - -} -#endif - diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyWorld.h b/Source/UnrealEnginePython/Private/UObject/UEPyWorld.h index 283f5abf7..fddb850a2 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyWorld.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyWorld.h @@ -30,7 +30,3 @@ PyObject *py_ue_set_current_level(ue_PyUObject *, PyObject *); PyObject *py_ue_get_world_type(ue_PyUObject *, PyObject *); -PyObject *py_ue_get_instanced_foliage_actor_for_current_level(ue_PyUObject *, PyObject *); -#if WITH_EDITOR -PyObject *py_ue_add_foliage_asset(ue_PyUObject *, PyObject *); -#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFFoliageInstance.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFFoliageInstance.cpp new file mode 100644 index 000000000..f777f3172 --- /dev/null +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFFoliageInstance.cpp @@ -0,0 +1,106 @@ +#include "UEPyFFoliageInstance.h" + +#include "Wrappers/UEPyFVector.h" +#include "Wrappers/UEPyFRotator.h" + +static PyObject *ue_PyFFoliageInstance_str(ue_PyFFoliageInstance *self) +{ + return PyUnicode_FromFormat("", + &self->instance); +} + +static PyObject *py_ue_ffoliage_instance_get_location(ue_PyFFoliageInstance *self, void *closure) +{ + return py_ue_new_fvector(self->instance.Location); +} + +static PyObject *py_ue_ffoliage_instance_get_draw_scale3d(ue_PyFFoliageInstance *self, void *closure) +{ + return py_ue_new_fvector(self->instance.DrawScale3D); +} + +static PyObject *py_ue_ffoliage_instance_get_flags(ue_PyFFoliageInstance *self, void *closure) +{ + return PyLong_FromUnsignedLong(self->instance.Flags); +} + +static PyObject *py_ue_ffoliage_instance_get_pre_align_rotation(ue_PyFFoliageInstance *self, void *closure) +{ + return py_ue_new_frotator(self->instance.PreAlignRotation); +} + +static PyObject *py_ue_ffoliage_instance_get_rotation(ue_PyFFoliageInstance *self, void *closure) +{ + return py_ue_new_frotator(self->instance.Rotation); +} + +static PyObject *py_ue_ffoliage_instance_get_zoffset(ue_PyFFoliageInstance *self, void *closure) +{ + return PyFloat_FromDouble(self->instance.ZOffset); +} + + +static PyGetSetDef ue_PyFFoliageInstance_getseters[] = { + { (char *)"location", (getter)py_ue_ffoliage_instance_get_location, nullptr, (char *)"", NULL }, + { (char *)"draw_scale3d", (getter)py_ue_ffoliage_instance_get_draw_scale3d, nullptr, (char *)"", NULL }, + { (char *)"flags", (getter)py_ue_ffoliage_instance_get_flags, nullptr, (char *)"", NULL }, + { (char *)"pre_align_rotation", (getter)py_ue_ffoliage_instance_get_pre_align_rotation, nullptr, (char *)"", NULL }, + { (char *)"rotation", (getter)py_ue_ffoliage_instance_get_rotation, nullptr, (char *)"", NULL }, + { (char *)"zoffset", (getter)py_ue_ffoliage_instance_get_zoffset, nullptr, (char *)"", NULL }, + { NULL } /* Sentinel */ +}; + +static PyTypeObject ue_PyFFoliageInstanceType = { + PyVarObject_HEAD_INIT(NULL, 0) + "unreal_engine.FFoliageInstance", /* tp_name */ + sizeof(ue_PyFFoliageInstance), /* tp_basicsize */ + 0, /* tp_itemsize */ + 0, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + (reprfunc)ue_PyFFoliageInstance_str, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ +#if PY_MAJOR_VERSION < 3 + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_CHECKTYPES, /* tp_flags */ +#else + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ +#endif + "Unreal Engine FFoliageInstance", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + 0, /* tp_methods */ + 0, + ue_PyFFoliageInstance_getseters, +}; + +void ue_python_init_ffoliage_instance(PyObject *ue_module) +{ + ue_PyFFoliageInstanceType.tp_new = PyType_GenericNew; + + if (PyType_Ready(&ue_PyFFoliageInstanceType) < 0) + return; + + Py_INCREF(&ue_PyFFoliageInstanceType); + PyModule_AddObject(ue_module, "FoliageInstance", (PyObject *)&ue_PyFFoliageInstanceType); +} + +PyObject *py_ue_new_ffoliage_instance(FFoliageInstance instance) +{ + ue_PyFFoliageInstance *ret = (ue_PyFFoliageInstance *)PyObject_New(ue_PyFFoliageInstance, &ue_PyFFoliageInstanceType); + ret->instance = instance; + return (PyObject *)ret; +} \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFFoliageInstance.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFFoliageInstance.h new file mode 100644 index 000000000..64034333f --- /dev/null +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFFoliageInstance.h @@ -0,0 +1,14 @@ +#pragma once +#include "UnrealEnginePython.h" + +#include "InstancedFoliage.h" + +typedef struct +{ + PyObject_HEAD + FFoliageInstance instance; +} ue_PyFFoliageInstance; + +void ue_python_init_ffoliage_instance(PyObject *); + +PyObject *py_ue_new_ffoliage_instance(FFoliageInstance instance); From 45c1f9902d077a16e07c99e8910d664b15d06a82 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 6 Jun 2018 09:53:12 +0200 Subject: [PATCH 177/538] Update Foliage_API.md --- docs/Foliage_API.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/docs/Foliage_API.md b/docs/Foliage_API.md index 2893045f6..e7e5ac5de 100644 --- a/docs/Foliage_API.md +++ b/docs/Foliage_API.md @@ -38,3 +38,24 @@ You can get a reference to the AInstancedFoliageActor of a world using: ```python foliage_actor = world.get_instanced_foliage_actor_for_current_level() ``` + +## Iterating instances + +You can get a FFoliageInstance struct for each instance (grouped by UFoliageType): + +```python +import unreal_engine as ue + +foliage_actor = ue.get_editor_world().get_instanced_foliage_actor_for_current_level() + +for foliage_type in foliage_actor.get_foliage_types(): + print('Foliage Type: {0}'.format(foliage_type.get_name())) + for foliage_instance in foliage_actor.get_foliage_instances(foliage_type): + print(foliage_instance.location) + print(foliage_instance.draw_scale3d) + print(foliage_instance.pre_align_rotation) + print(foliage_instance.rotation) + print(foliage_instance.flags) + print(foliage_instance.zoffset) + print('*' * 20) +``` From df714f63f958a32aa8f99d0914a99cf742afd7bb Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Thu, 7 Jun 2018 15:36:30 +0200 Subject: [PATCH 178/538] fixed 4.15 build --- Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp index f0afe587f..a649ce2aa 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp @@ -192,7 +192,7 @@ PyObject *py_ue_get_game_viewport(ue_PyUObject *self, PyObject * args) if (!viewport_client) return PyErr_Format(PyExc_Exception, "world has no GameViewportClient"); - Py_RETURN_UOBJECT(viewport_client); + Py_RETURN_UOBJECT((UObject *)viewport_client); } From 8790915e4b41fc78af0b996f465983e4cf434ece Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Thu, 7 Jun 2018 16:28:36 +0200 Subject: [PATCH 179/538] added automation module to the build tool --- tools/release_win64.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/release_win64.py b/tools/release_win64.py index 0ad3fbc60..2c4574e14 100644 --- a/tools/release_win64.py +++ b/tools/release_win64.py @@ -64,7 +64,7 @@ def git(project): msbuild(sln, python_version, variant) commandlet(ue_version, project) end = time.time() - for item in ('UE4Editor.modules', 'UE4Editor-UnrealEnginePython.dll', 'UE4Editor-PythonConsole.dll', 'UE4Editor-PythonEditor.dll'): + for item in ('UE4Editor.modules', 'UE4Editor-UnrealEnginePython.dll', 'UE4Editor-PythonConsole.dll', 'UE4Editor-PythonEditor.dll', 'UE4Editor-PythonAutomation.dll'): shutil.copyfile('D:/{0}/Plugins/UnrealEnginePython/Binaries/Win64/{1}'.format(project, item), '{0}/UnrealEnginePython/Binaries/Win64/{1}'.format(RELEASE_DIR, item)) if python_sanitized == 'python36': shutil.copyfile('D:/{0}/Plugins/UnrealEnginePython/Binaries/Win64/{1}'.format(project, item), '{0}/Embedded/UnrealEnginePython/Binaries/Win64/{1}'.format(RELEASE_DIR, item)) From 6ba51a9ab8707a47b14c864a4bc67f58747a25f7 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Thu, 7 Jun 2018 18:18:26 +0200 Subject: [PATCH 180/538] fixed gil in automation module --- Source/PythonAutomation/Private/PythonAutomationModule.cpp | 3 ++- Source/UnrealEnginePython/Private/UnrealEnginePython.cpp | 2 +- Source/UnrealEnginePython/Public/UnrealEnginePython.h | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Source/PythonAutomation/Private/PythonAutomationModule.cpp b/Source/PythonAutomation/Private/PythonAutomationModule.cpp index 498670948..063581df7 100644 --- a/Source/PythonAutomation/Private/PythonAutomationModule.cpp +++ b/Source/PythonAutomation/Private/PythonAutomationModule.cpp @@ -9,7 +9,8 @@ IMPLEMENT_MODULE(FPythonAutomationModule, PythonAutomation); void FPythonAutomationModule::StartupModule() { - PyObject *py_automation_module = ue_py_register_module((char *)"unreal_engine.automation"); + FScopePythonGIL gil; + PyObject *py_automation_module = ue_py_register_module("unreal_engine.automation"); ue_python_init_fautomation_editor_common_utils(py_automation_module); } diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 005e2ac6c..a10a4870b 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -679,7 +679,7 @@ void ue_py_register_magic_module(char *name, PyObject *(*func)()) PyDict_SetItemString(py_sys_modules, name, u_module); } -PyObject *ue_py_register_module(char *name) +PyObject *ue_py_register_module(const char *name) { return PyImport_AddModule(name); } diff --git a/Source/UnrealEnginePython/Public/UnrealEnginePython.h b/Source/UnrealEnginePython/Public/UnrealEnginePython.h index c65364bb2..6e1e4eab0 100644 --- a/Source/UnrealEnginePython/Public/UnrealEnginePython.h +++ b/Source/UnrealEnginePython/Public/UnrealEnginePython.h @@ -49,7 +49,7 @@ typedef struct } ue_PyUObject; UNREALENGINEPYTHON_API void ue_py_register_magic_module(char *name, PyObject *(*)()); -UNREALENGINEPYTHON_API PyObject *ue_py_register_module(char *); +UNREALENGINEPYTHON_API PyObject *ue_py_register_module(const char *); #if ENGINE_MINOR_VERSION >= 18 #define FStringAssetReference FSoftObjectPath From 3a91404c46c8deb536879e7ed3e30c2ee82e6397 Mon Sep 17 00:00:00 2001 From: Hugh Macdonald Date: Mon, 11 Jun 2018 15:05:48 +0100 Subject: [PATCH 181/538] Fix misnamed method in Subclassing API docs --- docs/Subclassing_API.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Subclassing_API.md b/docs/Subclassing_API.md index ff583ba7e..87c3a23e3 100644 --- a/docs/Subclassing_API.md +++ b/docs/Subclassing_API.md @@ -173,7 +173,7 @@ class Hero(Character): # this new static method will be available to blueprints def FunnyStaticMethod(): ue.print_string('I am a static method') - FunnyNewMethod.static = True + FunnyStaticMethod.static = True ``` Events can be easily exposed like this: From 4466385b56f3c4d4c3b1880a256fcc15eeb22cba Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 13 Jun 2018 22:58:52 +0200 Subject: [PATCH 182/538] improved threading support --- .../Private/PythonEditorStyle.cpp | 2 - .../Private/PythonProjectEditor.cpp | 22 --- .../Private/PythonProjectEditor.h | 7 +- .../Private/PythonProjectEditorCommands.cpp | 1 - .../Private/PythonProjectEditorCommands.h | 1 - .../Private/PythonProjectEditorToolbar.cpp | 1 - Source/PythonEditor/Private/SPythonEditor.cpp | 12 -- Source/PythonEditor/Private/SPythonEditor.h | 2 - .../Private/PythonScript.cpp | 6 - .../Private/Slate/UEPyFMenuBuilder.cpp | 2 +- .../Private/Slate/UEPyFToolBarBuilder.cpp | 2 +- .../Private/Slate/UEPySButton.cpp | 2 +- .../Slate/UEPySPythonMultiColumnTableRow.h | 4 +- .../Private/Slate/UEPySPythonShelf.cpp | 6 +- .../Private/Slate/UEPySPythonWidget.h | 16 +- .../Private/Slate/UEPySWidget.cpp | 8 +- .../Private/Slate/UEPySWindow.cpp | 2 +- .../Private/Slate/UEPySlate.cpp | 12 +- .../Private/Slate/UEPySlate.h | 4 +- .../UnrealEnginePython/Private/UEPyEditor.cpp | 54 +++--- .../UnrealEnginePython/Private/UEPyModule.cpp | 17 +- .../Private/UObject/UEPyInput.cpp | 6 +- .../Private/UnrealEnginePython.cpp | 177 ++---------------- .../Public/PythonHouseKeeper.h | 3 +- .../UnrealEnginePython/Public/PythonScript.h | 3 - .../Public/UnrealEnginePython.h | 27 +-- tests/test_actor.py | 2 + tests/test_blueprint.py | 3 + tests/test_clipboard.py | 5 +- 29 files changed, 87 insertions(+), 322 deletions(-) diff --git a/Source/PythonEditor/Private/PythonEditorStyle.cpp b/Source/PythonEditor/Private/PythonEditorStyle.cpp index 02da9d8cc..e5d528399 100644 --- a/Source/PythonEditor/Private/PythonEditorStyle.cpp +++ b/Source/PythonEditor/Private/PythonEditorStyle.cpp @@ -58,8 +58,6 @@ void FPythonEditorStyle::Initialize() StyleSet->Set("PythonEditor.SaveAll.Small", new IMAGE_BRUSH("UI/SaveAll_40x", Icon16x16)); StyleSet->Set("PythonEditor.Execute", new IMAGE_BRUSH("UI/Excute_x40", Icon40x40)); StyleSet->Set("PythonEditor.Execute.Small", new IMAGE_BRUSH("UI/Excute_x40", Icon16x16)); - StyleSet->Set("PythonEditor.ExecuteInSandbox", new IMAGE_BRUSH("UI/Excute_x40", Icon40x40)); - StyleSet->Set("PythonEditor.ExecuteInSandbox.Small", new IMAGE_BRUSH("UI/Excute_x40", Icon16x16)); StyleSet->Set("PythonEditor.PEP8ize", new IMAGE_BRUSH("UI/Excute_x40", Icon40x40)); StyleSet->Set("PythonEditor.PEP8ize.Small", new IMAGE_BRUSH("UI/Excute_x40", Icon16x16)); } diff --git a/Source/PythonEditor/Private/PythonProjectEditor.cpp b/Source/PythonEditor/Private/PythonProjectEditor.cpp index acd711638..5563605fa 100644 --- a/Source/PythonEditor/Private/PythonProjectEditor.cpp +++ b/Source/PythonEditor/Private/PythonProjectEditor.cpp @@ -268,11 +268,6 @@ void FPythonProjectEditor::BindCommands() FCanExecuteAction::CreateSP(this, &FPythonProjectEditor::CanExecute) ); - ToolkitCommands->MapAction(FPythonProjectEditorCommands::Get().ExecuteInSandbox, - FExecuteAction::CreateSP(this, &FPythonProjectEditor::ExecuteInSandbox_Internal), - FCanExecuteAction::CreateSP(this, &FPythonProjectEditor::CanExecute) - ); - ToolkitCommands->MapAction(FPythonProjectEditorCommands::Get().PEP8ize, FExecuteAction::CreateSP(this, &FPythonProjectEditor::PEP8ize_Internal), FCanExecuteAction::CreateSP(this, &FPythonProjectEditor::CanExecute) @@ -503,12 +498,6 @@ void FPythonProjectEditor::PEP8ize_Internal() PEP8ize(); } -void FPythonProjectEditor::ExecuteInSandbox_Internal() -{ - Execute(); -} - - bool FPythonProjectEditor::Execute() { if (DocumentManager.IsValid() && DocumentManager->GetActiveTab().IsValid()) @@ -520,17 +509,6 @@ bool FPythonProjectEditor::Execute() return true; } -bool FPythonProjectEditor::ExecuteInSandbox() -{ - if (DocumentManager.IsValid() && DocumentManager->GetActiveTab().IsValid()) - { - TSharedRef PythonEditorRef = StaticCastSharedRef(DocumentManager->GetActiveTab()->GetContent()); - PythonEditorRef->ExecuteInSandbox(); - } - - return true; -} - bool FPythonProjectEditor::PEP8ize() { if (DocumentManager.IsValid() && DocumentManager->GetActiveTab().IsValid()) diff --git a/Source/PythonEditor/Private/PythonProjectEditor.h b/Source/PythonEditor/Private/PythonProjectEditor.h index c44886bbd..1255ec35e 100644 --- a/Source/PythonEditor/Private/PythonProjectEditor.h +++ b/Source/PythonEditor/Private/PythonProjectEditor.h @@ -61,8 +61,6 @@ class FPythonProjectEditor : public FWorkflowCentricApplication, public FGCObjec bool Execute(); - bool ExecuteInSandbox(); - bool PEP8ize(); FString GetSafeName(bool IsDirectory); @@ -82,8 +80,6 @@ class FPythonProjectEditor : public FWorkflowCentricApplication, public FGCObjec void Execute_Internal(); - void ExecuteInSandbox_Internal(); - void PEP8ize_Internal(); bool CanNew() const; @@ -105,4 +101,7 @@ class FPythonProjectEditor : public FWorkflowCentricApplication, public FGCObjec TSharedPtr ToolbarBuilder; static TWeakPtr PythonEditor; + + virtual bool CanSaveAsset() const override { return false; } + virtual bool CanFindInContentBrowser() const override { return false; } }; diff --git a/Source/PythonEditor/Private/PythonProjectEditorCommands.cpp b/Source/PythonEditor/Private/PythonProjectEditorCommands.cpp index 84ef134d0..46433a9e9 100644 --- a/Source/PythonEditor/Private/PythonProjectEditorCommands.cpp +++ b/Source/PythonEditor/Private/PythonProjectEditorCommands.cpp @@ -21,7 +21,6 @@ void FPythonProjectEditorCommands::RegisterCommands() UI_COMMAND(Save, "Save", "Save the currently active document.", EUserInterfaceActionType::Button, FInputGesture(EModifierKey::Control, EKeys::S)); UI_COMMAND(SaveAll, "Save All", "Save all open documents.", EUserInterfaceActionType::Button, FInputGesture(EModifierKey::Control | EModifierKey::Shift, EKeys::S)); UI_COMMAND(Execute, "Execute", "Execute Current Python File.", EUserInterfaceActionType::Button, FInputGesture(EModifierKey::Control, EKeys::Enter)); - UI_COMMAND(ExecuteInSandbox, "Execute In Sandbox", "Execute Current Python File in a Sandbox.", EUserInterfaceActionType::Button, FInputGesture(EModifierKey::Control | EModifierKey::Shift, EKeys::Enter)); UI_COMMAND(PEP8ize, "PEP8-ize", "Enforce PEP8 to the current code.", EUserInterfaceActionType::Button, FInputGesture(EModifierKey::Control | EModifierKey::Shift, EKeys::P)); } diff --git a/Source/PythonEditor/Private/PythonProjectEditorCommands.h b/Source/PythonEditor/Private/PythonProjectEditorCommands.h index e80d753e4..3e5d41cb1 100644 --- a/Source/PythonEditor/Private/PythonProjectEditorCommands.h +++ b/Source/PythonEditor/Private/PythonProjectEditorCommands.h @@ -15,7 +15,6 @@ class FPythonProjectEditorCommands : public TCommands Save; TSharedPtr SaveAll; TSharedPtr Execute; - TSharedPtr ExecuteInSandbox; TSharedPtr PEP8ize; /** Initialize commands */ virtual void RegisterCommands() override; diff --git a/Source/PythonEditor/Private/PythonProjectEditorToolbar.cpp b/Source/PythonEditor/Private/PythonProjectEditorToolbar.cpp index 4731a1d02..4c9861c6e 100644 --- a/Source/PythonEditor/Private/PythonProjectEditorToolbar.cpp +++ b/Source/PythonEditor/Private/PythonProjectEditorToolbar.cpp @@ -36,7 +36,6 @@ void FPythonProjectEditorToolbar::FillEditorToolbar(FToolBarBuilder& ToolbarBuil ToolbarBuilder.BeginSection(TEXT("CodeExcute")); { ToolbarBuilder.AddToolBarButton(FPythonProjectEditorCommands::Get().Execute); - ToolbarBuilder.AddToolBarButton(FPythonProjectEditorCommands::Get().ExecuteInSandbox); ToolbarBuilder.AddToolBarButton(FPythonProjectEditorCommands::Get().PEP8ize); } ToolbarBuilder.EndSection(); diff --git a/Source/PythonEditor/Private/SPythonEditor.cpp b/Source/PythonEditor/Private/SPythonEditor.cpp index b192e7eef..230205acf 100644 --- a/Source/PythonEditor/Private/SPythonEditor.cpp +++ b/Source/PythonEditor/Private/SPythonEditor.cpp @@ -108,18 +108,6 @@ void SPythonEditor::Execute() const PythonModule.RunString(TCHAR_TO_UTF8(*SelectionString)); } -void SPythonEditor::ExecuteInSandbox() const -{ - Save(); - FUnrealEnginePythonModule &PythonModule = FModuleManager::GetModuleChecked("UnrealEnginePython"); - - FString SelectionString = PythonEditableText->GetSelectedText().ToString(); - if (SelectionString.Len() == 0) { - SelectionString = PythonEditableText->GetText().ToString(); - } - PythonModule.RunStringSandboxed(TCHAR_TO_UTF8(*SelectionString)); -} - void SPythonEditor::PEP8ize() const { Save(); diff --git a/Source/PythonEditor/Private/SPythonEditor.h b/Source/PythonEditor/Private/SPythonEditor.h index 701de077e..8643f5238 100644 --- a/Source/PythonEditor/Private/SPythonEditor.h +++ b/Source/PythonEditor/Private/SPythonEditor.h @@ -16,8 +16,6 @@ class SPythonEditor : public SCompoundWidget void Execute() const; - void ExecuteInSandbox() const; - void GotoLineAndColumn(int32 LineNumber, int32 ColumnNumber); void PEP8ize() const; diff --git a/Source/UnrealEnginePython/Private/PythonScript.cpp b/Source/UnrealEnginePython/Private/PythonScript.cpp index d07b1fd24..1ce9d653f 100644 --- a/Source/UnrealEnginePython/Private/PythonScript.cpp +++ b/Source/UnrealEnginePython/Private/PythonScript.cpp @@ -20,12 +20,6 @@ void UPythonScript::Run() } } -void UPythonScript::RunSandboxed() -{ - FUnrealEnginePythonModule &PythonModule = FModuleManager::GetModuleChecked("UnrealEnginePython"); - PythonModule.RunFileSandboxed(TCHAR_TO_UTF8(*ScriptPath), callback, this); -} - void UPythonScript::CallSpecificFunctionWithArgs() { PyObject *function_to_call = PyDict_GetItemString(PyEval_GetGlobals(), TCHAR_TO_UTF8(*FunctionToCall)); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp index 1aa92d703..45912dd6f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp @@ -38,7 +38,7 @@ static PyObject *py_ue_fmenu_builder_add_menu_entry(ue_PyFMenuBuilder *self, PyO if (!PyArg_ParseTuple(args, "ssO|OO:add_menu_entry", &label, &tooltip, &py_callable, &py_obj, &py_uiaction_obj)) return nullptr; - if (!PyCalllable_Check_Extended(py_callable)) + if (!PyCallable_Check(py_callable)) { return PyErr_Format(PyExc_Exception, "argument is not callable"); } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp index 71712c822..18c52faf4 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFToolBarBuilder.cpp @@ -38,7 +38,7 @@ static PyObject *py_ue_ftool_bar_builder_add_tool_bar_button(ue_PyFToolBarBuilde return PyErr_Format(PyExc_Exception, "argument is not a FSlateIcon"); } - if (!PyCalllable_Check_Extended(py_callable)) + if (!PyCallable_Check(py_callable)) { return PyErr_Format(PyExc_Exception, "argument is not callable"); } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp index c9646d0f8..3f7561e96 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySButton.cpp @@ -24,7 +24,7 @@ static PyObject *py_ue_sbutton_bind_on_clicked(ue_PySButton *self, PyObject * ar return nullptr; } - if (!PyCalllable_Check_Extended(py_callable)) + if (!PyCallable_Check(py_callable)) { return PyErr_Format(PyExc_Exception, "argument is not callable"); } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h index 4ed260580..8b2f0b5aa 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h @@ -24,7 +24,7 @@ class SPythonMultiColumnTableRow : public SMultiColumnTableRow py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewSlateDelegate(self->s_compound_widget.s_widget.Widget, on_closed); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp index 5b64fa041..acf64ed4e 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp @@ -1283,7 +1283,7 @@ PyObject *py_unreal_engine_add_menu_extension(PyObject * self, PyObject * args) if (!menu_extension_interface) return PyErr_Format(PyExc_Exception, "module %s is not supported", module); - if (!PyCalllable_Check_Extended(py_callable)) + if (!PyCallable_Check(py_callable)) return PyErr_Format(PyExc_Exception, "argument is not callable"); TSharedRef *commands = new TSharedRef(new FPythonSlateCommands()); @@ -1316,7 +1316,7 @@ PyObject *py_unreal_engine_add_menu_bar_extension(PyObject * self, PyObject * ar FLevelEditorModule &ExtensibleModule = FModuleManager::LoadModuleChecked("LevelEditor"); - if (!PyCalllable_Check_Extended(py_callable)) + if (!PyCallable_Check(py_callable)) return PyErr_Format(PyExc_Exception, "argument is not callable"); TSharedRef *commands = new TSharedRef(new FPythonSlateCommands()); @@ -1349,7 +1349,7 @@ PyObject *py_unreal_engine_add_tool_bar_extension(PyObject * self, PyObject * ar FLevelEditorModule &ExtensibleModule = FModuleManager::LoadModuleChecked("LevelEditor"); - if (!PyCalllable_Check_Extended(py_callable)) + if (!PyCallable_Check(py_callable)) return PyErr_Format(PyExc_Exception, "argument is not callable"); TSharedRef *commands = new TSharedRef(new FPythonSlateCommands()); @@ -1377,7 +1377,7 @@ PyObject *py_unreal_engine_add_asset_view_context_menu_extension(PyObject * self return NULL; } - if (!PyCalllable_Check_Extended(py_callable)) + if (!PyCallable_Check(py_callable)) return PyErr_Format(PyExc_Exception, "argument is not callable"); FContentBrowserModule &ContentBrowser = FModuleManager::LoadModuleChecked("ContentBrowser"); @@ -1403,7 +1403,7 @@ PyObject *py_unreal_engine_register_nomad_tab_spawner(PyObject * self, PyObject return NULL; } - if (!PyCalllable_Check_Extended(py_callable)) + if (!PyCallable_Check(py_callable)) return PyErr_Format(PyExc_Exception, "argument is not callable"); FOnSpawnTab spawn_tab; @@ -1506,7 +1506,7 @@ PyObject *py_unreal_engine_open_color_picker(PyObject *self, PyObject *args, PyO return nullptr; } - if (!PyCalllable_Check_Extended(py_callable)) + if (!PyCallable_Check(py_callable)) { return PyErr_Format(PyExc_Exception, "on_color_committed must be a callable"); } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h index 161ff686d..01524d275 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h @@ -107,7 +107,7 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); {\ PyObject *value = ue_py_dict_get_item(kwargs, _param);\ if (value) {\ - if (PyCalllable_Check_Extended(value)) {\ + if (PyCallable_Check(value)) {\ _base handler;\ TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewDeferredSlateDelegate(value);\ handler.Bind(py_delegate, &FPythonSlateDelegate::_func);\ @@ -119,7 +119,7 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); {\ PyObject *value = ue_py_dict_get_item(kwargs, _param);\ if (value) {\ - if (PyCalllable_Check_Extended(value)) {\ + if (PyCallable_Check(value)) {\ _base handler;\ TSharedRef py_delegate = FUnrealEnginePythonHouseKeeper::Get()->NewDeferredSlateDelegate(value);\ handler.BindSP(py_delegate, &FPythonSlateDelegate::_func);\ diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index b20f60dc1..5f2c593e1 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -144,8 +144,7 @@ PyObject *py_unreal_engine_allow_actor_script_execution_in_editor(PyObject * sel GAllowActorScriptExecutionInEditor = enable; - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } @@ -644,7 +643,7 @@ PyObject *py_unreal_engine_rename_asset(PyObject * self, PyObject * args) #endif Py_INCREF(Py_None); - return Py_None; + return Py_None; } PyObject *py_unreal_engine_duplicate_asset(PyObject * self, PyObject * args) @@ -1064,21 +1063,17 @@ PyObject *py_unreal_engine_create_blueprint(PyObject * self, PyObject * args) char *name; if (!PyArg_ParseTuple(args, "Os:create_blueprint", &py_parent, &name)) { - return NULL; + return nullptr; } UClass *parent = UObject::StaticClass(); if (py_parent != Py_None) { - if (!ue_is_pyuobject(py_parent)) - { - return PyErr_Format(PyExc_Exception, "argument is not a UObject"); - } - ue_PyUObject *py_obj = (ue_PyUObject *)py_parent; - if (!py_obj->ue_object->IsA()) + UClass *new_parent = ue_py_check_type(py_parent); + if (!new_parent) return PyErr_Format(PyExc_Exception, "uobject is not a UClass"); - parent = (UClass *)py_obj->ue_object; + parent = new_parent; } if (name[0] != '/') @@ -1145,7 +1140,7 @@ PyObject *py_unreal_engine_reload_blueprint(PyObject * self, PyObject * args) PyObject *py_blueprint; if (!PyArg_ParseTuple(args, "O:reload_blueprint", &py_blueprint)) { - return NULL; + return nullptr; } if (!ue_is_pyuobject(py_blueprint)) @@ -1153,12 +1148,15 @@ PyObject *py_unreal_engine_reload_blueprint(PyObject * self, PyObject * args) return PyErr_Format(PyExc_Exception, "argument is not a UObject"); } - ue_PyUObject *py_obj = (ue_PyUObject *)py_blueprint; - if (!py_obj->ue_object->IsA()) + UBlueprint *bp = ue_py_check_type(py_blueprint); + if (!bp) return PyErr_Format(PyExc_Exception, "uobject is not a UBlueprint"); - UBlueprint *bp = (UBlueprint *)py_obj->ue_object; - UBlueprint *reloaded_bp = FKismetEditorUtilities::ReloadBlueprint(bp); + UBlueprint *reloaded_bp = nullptr; + + Py_BEGIN_ALLOW_THREADS + reloaded_bp = FKismetEditorUtilities::ReloadBlueprint(bp); + Py_END_ALLOW_THREADS Py_RETURN_UOBJECT(reloaded_bp); } @@ -1169,24 +1167,18 @@ PyObject *py_unreal_engine_compile_blueprint(PyObject * self, PyObject * args) PyObject *py_blueprint; if (!PyArg_ParseTuple(args, "O:compile_blueprint", &py_blueprint)) { - return NULL; - } - - if (!ue_is_pyuobject(py_blueprint)) - { - return PyErr_Format(PyExc_Exception, "argument is not a UObject"); + return nullptr; } - ue_PyUObject *py_obj = (ue_PyUObject *)py_blueprint; - if (!py_obj->ue_object->IsA()) + UBlueprint *bp = ue_py_check_type(py_blueprint); + if (!bp) return PyErr_Format(PyExc_Exception, "uobject is not a UBlueprint"); - UBlueprint *bp = (UBlueprint *)py_obj->ue_object; + Py_BEGIN_ALLOW_THREADS FKismetEditorUtilities::CompileBlueprint(bp); + Py_END_ALLOW_THREADS - Py_INCREF(Py_None); - return Py_None; - + Py_RETURN_NONE; } PyObject *py_unreal_engine_replace_blueprint(PyObject * self, PyObject * args) @@ -1401,7 +1393,7 @@ PyObject *py_unreal_engine_blueprint_add_member_variable(PyObject * self, PyObje if (!pinptr) return PyErr_Format(PyExc_Exception, "argument is not a EdGraphPinType"); pin = *pinptr; - } +} FString DefaultValue = FString(""); @@ -1480,7 +1472,7 @@ PyObject *py_unreal_engine_blueprint_add_function(PyObject * self, PyObject * ar { return nullptr; } - + UBlueprint *bp = ue_py_check_type(py_blueprint); if (!bp) return PyErr_Format(PyExc_Exception, "argument is not a UBlueprint"); @@ -1864,7 +1856,7 @@ PyObject *py_unreal_engine_add_level_to_world(PyObject *self, PyObject * args) #endif Py_RETURN_UOBJECT(level_streaming); -} + } PyObject *py_unreal_engine_move_selected_actors_to_level(PyObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 6e73dda95..6f9009c4b 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -157,20 +157,9 @@ static PyObject *py_unreal_engine_exec(PyObject * self, PyObject * args) return NULL; } FUnrealEnginePythonModule &PythonModule = FModuleManager::GetModuleChecked("UnrealEnginePython"); + UEPyGlobalState = PyEval_SaveThread(); PythonModule.RunFile(filename); - Py_INCREF(Py_None); - return Py_None; -} - -static PyObject *py_unreal_engine_sandbox_exec(PyObject * self, PyObject * args) -{ - char *filename = nullptr; - if (!PyArg_ParseTuple(args, "s:sandbox_exec", &filename)) - { - return NULL; - } - FUnrealEnginePythonModule &PythonModule = FModuleManager::GetModuleChecked("UnrealEnginePython"); - PythonModule.RunFileSandboxed(filename, nullptr, nullptr); + PyEval_RestoreThread(UEPyGlobalState); Py_RETURN_NONE; } @@ -402,8 +391,6 @@ static PyMethodDef unreal_engine_methods[] = { #endif { "py_exec", py_unreal_engine_exec, METH_VARARGS, "" }, - { "sandbox_exec", py_unreal_engine_sandbox_exec, METH_VARARGS, "" }, - { "get_engine_defined_action_mappings", py_unreal_engine_get_engine_defined_action_mappings, METH_VARARGS, "" }, { "get_viewport_screenshot", py_unreal_engine_get_viewport_screenshot, METH_VARARGS, "" }, diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyInput.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyInput.cpp index a5c8cf2ef..78fa7d3cf 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyInput.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyInput.cpp @@ -384,7 +384,7 @@ PyObject *py_ue_bind_action(ue_PyUObject *self, PyObject * args) return NULL; } - if (!PyCalllable_Check_Extended(py_callable)) + if (!PyCallable_Check(py_callable)) { return PyErr_Format(PyExc_Exception, "object is not a callable"); } @@ -431,7 +431,7 @@ PyObject *py_ue_bind_axis(ue_PyUObject *self, PyObject * args) return NULL; } - if (!PyCalllable_Check_Extended(py_callable)) + if (!PyCallable_Check(py_callable)) { return PyErr_Format(PyExc_Exception, "object is not a callable"); } @@ -479,7 +479,7 @@ PyObject *py_ue_bind_key(ue_PyUObject *self, PyObject * args) return NULL; } - if (!PyCalllable_Check_Extended(py_callable)) + if (!PyCallable_Check(py_callable)) { return PyErr_Format(PyExc_Exception, "object is not a callable"); } diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index a10a4870b..3e8cac2f1 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -67,29 +67,9 @@ bool PyUnicodeOrString_Check(PyObject *py_obj) #define LOCTEXT_NAMESPACE "FUnrealEnginePythonModule" +UNREALENGINEPYTHON_API PyThreadState* UEPyGlobalState; -void FUnrealEnginePythonModule::PythonGILRelease() -{ -#if defined(UEPY_THREADING) - if (PyGILState_Check() == 1) - { - ue_python_gil = PyEval_SaveThread(); - } -#endif -} -bool FUnrealEnginePythonModule::PythonGILAcquire() -{ -#if defined(UEPY_THREADING) - if (PyGILState_Check() == 0) - { - PyEval_RestoreThread((PyThreadState *)ue_python_gil); - return true; - } - return false; -#endif - return true; -} void FUnrealEnginePythonModule::UESetupPythonInterpreter(bool verbose) { @@ -301,7 +281,7 @@ void FUnrealEnginePythonModule::StartupModule() } ScriptsPaths.Add(ProjectScriptsPath); - #if WITH_EDITOR +#if WITH_EDITOR for (TSharedRefplugin : IPluginManager::Get().GetEnabledPlugins()) { FString PluginScriptsPath = FPaths::Combine(plugin->GetContentDir(), UTF8_TO_TCHAR("Scripts")); @@ -310,7 +290,7 @@ void FUnrealEnginePythonModule::StartupModule() ScriptsPaths.Add(PluginScriptsPath); } } - #endif +#endif if (ZipPath.IsEmpty()) { @@ -393,8 +373,7 @@ void FUnrealEnginePythonModule::StartupModule() } // release the GIL - PythonGILRelease(); - + UEPyGlobalState = PyEval_SaveThread(); } void FUnrealEnginePythonModule::ShutdownModule() @@ -405,7 +384,7 @@ void FUnrealEnginePythonModule::ShutdownModule() UE_LOG(LogPython, Log, TEXT("Goodbye Python")); if (!BrutalFinalize) { - PythonGILAcquire(); + PyGILState_Ensure(); Py_Finalize(); } } @@ -413,6 +392,7 @@ void FUnrealEnginePythonModule::ShutdownModule() void FUnrealEnginePythonModule::RunString(char *str) { FScopePythonGIL gil; + PyObject *eval_ret = PyRun_String(str, Py_file_input, (PyObject *)main_dict, (PyObject *)local_dict); if (!eval_ret) { @@ -424,6 +404,8 @@ void FUnrealEnginePythonModule::RunString(char *str) FString FUnrealEnginePythonModule::Pep8ize(FString Code) { + FScopePythonGIL gil; + PyObject *pep8izer_module = PyImport_ImportModule("autopep8"); if (!pep8izer_module) { @@ -464,48 +446,6 @@ FString FUnrealEnginePythonModule::Pep8ize(FString Code) return NewCode; } -// run a python string in a new sub interpreter -void FUnrealEnginePythonModule::RunStringSandboxed(char *str) -{ - FScopePythonGIL gil; - - PyThreadState *_main = PyThreadState_Get(); - - PyThreadState *py_new_state = Py_NewInterpreter(); - if (!py_new_state) - { - UE_LOG(LogPython, Error, TEXT("Unable to create new Python interpreter")); - return; - } - PyThreadState_Swap(nullptr); - PyThreadState_Swap(py_new_state); - - UESetupPythonInterpreter(false); - - setup_stdout_stderr(); - - PyObject *m = PyImport_AddModule("__main__"); - if (m == NULL) - { - UE_LOG(LogPython, Error, TEXT("Unable to create new global dict")); - Py_EndInterpreter(py_new_state); - PyThreadState_Swap(_main); - return; - } - PyObject *global_dict = PyModule_GetDict(m); - - PyObject *eval_ret = PyRun_String(str, Py_file_input, global_dict, global_dict); - if (!eval_ret) - { - unreal_engine_py_log_error(); - Py_EndInterpreter(py_new_state); - PyThreadState_Swap(_main); - return; - } - - Py_EndInterpreter(py_new_state); - PyThreadState_Swap(_main); -} void FUnrealEnginePythonModule::RunFile(char *filename) { @@ -524,6 +464,10 @@ void FUnrealEnginePythonModule::RunFile(char *filename) } } } + else + { + foundFile = true; + } if (!foundFile) { @@ -570,103 +514,6 @@ void FUnrealEnginePythonModule::RunFile(char *filename) } -// run a python script in a new sub interpreter (useful for unit tests) -void FUnrealEnginePythonModule::RunFileSandboxed(char *filename, void(*callback)(void *arg), void *arg) -{ - FScopePythonGIL gil; - FString full_path = filename; - bool foundFile = false; - if (!FPaths::FileExists(filename)) - { - for (FString ScriptsPath : ScriptsPaths) - { - full_path = FPaths::Combine(*ScriptsPath, full_path); - if (FPaths::FileExists(full_path)) - { - foundFile = true; - break; - } - } - } - - if (!foundFile) - { - UE_LOG(LogPython, Error, TEXT("Unable to find file %s"), UTF8_TO_TCHAR(filename)); - return; - } - - PyThreadState *_main = PyThreadState_Get(); - - PyThreadState *py_new_state = Py_NewInterpreter(); - if (!py_new_state) - { - UE_LOG(LogPython, Error, TEXT("Unable to create new Python interpreter")); - return; - } - PyThreadState_Swap(nullptr); - PyThreadState_Swap(py_new_state); - - UESetupPythonInterpreter(false); - - setup_stdout_stderr(); - - PyObject *m = PyImport_AddModule("__main__"); - if (m == NULL) - { - UE_LOG(LogPython, Error, TEXT("Unable to create new global dict")); - Py_EndInterpreter(py_new_state); - PyThreadState_Swap(_main); - return; - } - PyObject *global_dict = PyModule_GetDict(m); - -#if PY_MAJOR_VERSION >= 3 - FILE *fd = nullptr; - -#if PLATFORM_WINDOWS - if (fopen_s(&fd, TCHAR_TO_UTF8(*full_path), "r") != 0) - { - UE_LOG(LogPython, Error, TEXT("Unable to open file %s"), *full_path); - return; - } -#else - fd = fopen(TCHAR_TO_UTF8(*full_path), "r"); - if (!fd) - { - UE_LOG(LogPython, Error, TEXT("Unable to open file %s"), *full_path); - return; - } -#endif - - PyObject *eval_ret = PyRun_File(fd, TCHAR_TO_UTF8(*full_path), Py_file_input, global_dict, global_dict); - fclose(fd); - if (!eval_ret) - { - unreal_engine_py_log_error(); - Py_EndInterpreter(py_new_state); - PyThreadState_Swap(_main); - return; - } - Py_DECREF(eval_ret); -#else - // damn, this is horrible, but it is the only way i found to avoid the CRT error :( - FString command = FString::Printf(TEXT("execfile(\"%s\")"), *full_path); - PyObject *eval_ret = PyRun_String(TCHAR_TO_UTF8(*command), Py_file_input, global_dict, global_dict); - if (!eval_ret) - { - unreal_engine_py_log_error(); - Py_EndInterpreter(py_new_state); - PyThreadState_Swap(_main); - return; - } -#endif - - if (callback) - callback(arg); - - Py_EndInterpreter(py_new_state); - PyThreadState_Swap(_main); -} void ue_py_register_magic_module(char *name, PyObject *(*func)()) { diff --git a/Source/UnrealEnginePython/Public/PythonHouseKeeper.h b/Source/UnrealEnginePython/Public/PythonHouseKeeper.h index b50796b24..56e4dfd92 100644 --- a/Source/UnrealEnginePython/Public/PythonHouseKeeper.h +++ b/Source/UnrealEnginePython/Public/PythonHouseKeeper.h @@ -71,8 +71,9 @@ class FUnrealEnginePythonHouseKeeper void RunGCDelegate() { - FScopePythonGIL gil; + PyGILState_STATE state = PyGILState_Ensure(); RunGC(); + PyGILState_Release(state); } int32 RunGC() diff --git a/Source/UnrealEnginePython/Public/PythonScript.h b/Source/UnrealEnginePython/Public/PythonScript.h index 06caf9640..4203cd26e 100644 --- a/Source/UnrealEnginePython/Public/PythonScript.h +++ b/Source/UnrealEnginePython/Public/PythonScript.h @@ -23,9 +23,6 @@ class UPythonScript : public UObject UFUNCTION() void Run(); - UFUNCTION() - void RunSandboxed(); - void CallSpecificFunctionWithArgs(); }; diff --git a/Source/UnrealEnginePython/Public/UnrealEnginePython.h b/Source/UnrealEnginePython/Public/UnrealEnginePython.h index 6e1e4eab0..8322642a7 100644 --- a/Source/UnrealEnginePython/Public/UnrealEnginePython.h +++ b/Source/UnrealEnginePython/Public/UnrealEnginePython.h @@ -8,7 +8,6 @@ //#define UEPY_MEMORY_DEBUG 1 -//#define UEPY_THREADING 1 #if defined(UNREAL_ENGINE_PYTHON_ON_MAC) #include @@ -32,9 +31,6 @@ #include "UObject/ScriptMacros.h" #include "Runtime/Launch/Resources/Version.h" -// We need to make sure reference structs do not mistaken for callable -#define PyCalllable_Check_Extended(value) PyCallable_Check(value) && py_ue_is_uscriptstruct(value) == nullptr - typedef struct { PyObject_HEAD @@ -99,16 +95,11 @@ class UNREALENGINEPYTHON_API FUnrealEnginePythonModule : public IModuleInterface { public: - bool PythonGILAcquire(); - void PythonGILRelease(); - virtual void StartupModule() override; virtual void ShutdownModule() override; void RunString(char *); - void RunStringSandboxed(char *); void RunFile(char *); - void RunFileSandboxed(char *, void(*callback)(void *arg), void *arg); void UESetupPythonInterpreter(bool); @@ -131,30 +122,20 @@ class UNREALENGINEPYTHON_API FUnrealEnginePythonModule : public IModuleInterface TSharedPtr StyleSet; }; - +UNREALENGINEPYTHON_API extern PyThreadState* UEPyGlobalState; struct FScopePythonGIL { + FScopePythonGIL() { -#if defined(UEPY_THREADING) - UnrealEnginePythonModule = FModuleManager::LoadModuleChecked("UnrealEnginePython"); - safeForRelease = UnrealEnginePythonModule.PythonGILAcquire(); -#endif + PyEval_RestoreThread(UEPyGlobalState); } ~FScopePythonGIL() { -#if defined(UEPY_THREADING) - if (safeForRelease) - { - UnrealEnginePythonModule.PythonGILRelease(); - } -#endif + UEPyGlobalState = PyEval_SaveThread(); } - - FUnrealEnginePythonModule UnrealEnginePythonModule; - bool safeForRelease; }; diff --git a/tests/test_actor.py b/tests/test_actor.py index 3b0d0e7fe..b2ef6e832 100644 --- a/tests/test_actor.py +++ b/tests/test_actor.py @@ -58,3 +58,5 @@ def test_get_components(self): +if __name__ == '__main__': + unittest.main(exit=False) diff --git a/tests/test_blueprint.py b/tests/test_blueprint.py index 408996564..5f755848f 100644 --- a/tests/test_blueprint.py +++ b/tests/test_blueprint.py @@ -50,3 +50,6 @@ def test_event(self): new_actor.TestEvent() self.assertEqual(new_actor.get_actor_location(), FVector(17, 30, 22)) + +if __name__ == '__main__': + unittest.main(exit=False) diff --git a/tests/test_clipboard.py b/tests/test_clipboard.py index bdabedf73..3416ef31d 100644 --- a/tests/test_clipboard.py +++ b/tests/test_clipboard.py @@ -9,4 +9,7 @@ def test_copy_and_paste(self): def test_copy_and_paste_red_light(self): ue.clipboard_copy('Hello from red light test') - self.assertNotEqual(ue.clipboard_paste(), 'Hello from python unit test') \ No newline at end of file + self.assertNotEqual(ue.clipboard_paste(), 'Hello from python unit test') + +if __name__ == '__main__': + unittest.main(exit=False) From c6285f53b18dcdf03834a8dc9c54f59d89826dcb Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 13 Jun 2018 23:14:14 +0200 Subject: [PATCH 183/538] allow threads while capturing --- Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp index 0b8aa72b3..526d7d9c9 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp @@ -343,7 +343,9 @@ PyObject *py_unreal_engine_in_editor_capture(PyObject * self, PyObject * args) Captures.Add(capture); } + Py_BEGIN_ALLOW_THREADS FInEditorMultiCapture::CreateInEditorMultiCapture(Captures); + Py_END_ALLOW_THREADS Py_RETURN_NONE; } From c3fa588024a2113e04e3b087fd266f3d43648fb6 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 13 Jun 2018 23:46:41 +0200 Subject: [PATCH 184/538] more threading fixes --- .../UnrealEnginePython/Private/UEPyEngine.cpp | 35 ++--- .../Private/UObject/UEPyActor.cpp | 124 ++++++++++-------- 2 files changed, 81 insertions(+), 78 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index 6fdcbc302..8057a79dd 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -530,21 +530,13 @@ PyObject *py_unreal_engine_new_object(PyObject * self, PyObject * args) uint64 flags = (uint64)(RF_Public); if (!PyArg_ParseTuple(args, "O|OsK:new_object", &obj, &py_outer, &name, &flags)) { - return NULL; - } - - if (!ue_is_pyuobject(obj)) - { - return PyErr_Format(PyExc_Exception, "argument is not a UObject"); + return nullptr; } - ue_PyUObject *py_obj = (ue_PyUObject *)obj; - - if (!py_obj->ue_object->IsA()) + UClass *obj_class = ue_py_check_type(obj); + if (!obj_class) return PyErr_Format(PyExc_Exception, "uobject is not a UClass"); - UClass *obj_class = (UClass *)py_obj->ue_object; - FName f_name = NAME_None; if (name && strlen(name) > 0) @@ -556,22 +548,21 @@ PyObject *py_unreal_engine_new_object(PyObject * self, PyObject * args) if (py_outer && py_outer != Py_None) { - if (!ue_is_pyuobject(py_outer)) - { + outer = ue_py_check_type(py_outer); + if (!outer) return PyErr_Format(PyExc_Exception, "argument is not a UObject"); - } - - ue_PyUObject *py_outer_obj = (ue_PyUObject *)py_outer; - - outer = py_outer_obj->ue_object; } - UObject *new_object = NewObject(outer, obj_class, f_name, (EObjectFlags)flags); + UObject *new_object = nullptr; + Py_BEGIN_ALLOW_THREADS; + new_object = NewObject(outer, obj_class, f_name, (EObjectFlags)flags); + if (new_object) + new_object->PostLoad(); + Py_END_ALLOW_THREADS; + if (!new_object) return PyErr_Format(PyExc_Exception, "unable to create object"); - new_object->PostLoad(); - Py_RETURN_UOBJECT(new_object); } @@ -579,7 +570,7 @@ PyObject *py_unreal_engine_get_mutable_default(PyObject * self, PyObject * args) { PyObject *obj; - if (!PyArg_ParseTuple(args, "O|Os:new_object", &obj)) + if (!PyArg_ParseTuple(args, "O|Os:get_mutable_default", &obj)) { return NULL; } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp index 3e992e2e5..cc5b070dd 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp @@ -116,14 +116,15 @@ PyObject *py_ue_actor_destroy_component(ue_PyUObject * self, PyObject * args) if (!component) return PyErr_Format(PyExc_Exception, "argument is not a UActorComponent"); + Py_BEGIN_ALLOW_THREADS #if ENGINE_MINOR_VERSION >= 17 - component->DestroyComponent(); + component->DestroyComponent(); #else - actor->K2_DestroyComponent(component); + actor->K2_DestroyComponent(component); #endif + Py_END_ALLOW_THREADS - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_ue_actor_destroy(ue_PyUObject * self, PyObject * args) @@ -137,9 +138,11 @@ PyObject *py_ue_actor_destroy(ue_PyUObject * self, PyObject * args) return PyErr_Format(PyExc_Exception, "uobject is not an AActor"); } - actor->Destroy(); + Py_BEGIN_ALLOW_THREADS + actor->Destroy(); + Py_END_ALLOW_THREADS - Py_RETURN_NONE; + Py_RETURN_NONE; } @@ -401,29 +404,16 @@ PyObject *py_ue_add_actor_component(ue_PyUObject * self, PyObject * args) PyObject *py_parent = nullptr; if (!PyArg_ParseTuple(args, "Os|O:add_actor_component", &obj, &name, &py_parent)) { - return NULL; + return nullptr; } - if (!self->ue_object->IsA()) - { + AActor *actor = ue_py_check_type(self); + if (!actor) return PyErr_Format(PyExc_Exception, "uobject is not an AActor"); - } - - AActor *actor = (AActor *)self->ue_object; - if (!ue_is_pyuobject(obj)) - { - return PyErr_Format(PyExc_Exception, "argument is not a UObject"); - } - - ue_PyUObject *py_obj = (ue_PyUObject *)obj; - - if (!py_obj->ue_object->IsA()) - { + UClass *u_class = ue_py_check_type(obj); + if (!u_class) return PyErr_Format(PyExc_Exception, "argument is not a UClass"); - } - - UClass *u_class = (UClass *)py_obj->ue_object; if (!u_class->IsChildOf()) { @@ -440,24 +430,31 @@ PyObject *py_ue_add_actor_component(ue_PyUObject * self, PyObject * args) return PyErr_Format(PyExc_Exception, "argument is not a USceneComponent"); } } + UActorComponent *component = nullptr; + Py_BEGIN_ALLOW_THREADS; + component = NewObject(actor, u_class, FName(UTF8_TO_TCHAR(name)), RF_Public); + if (component) + { - UActorComponent *component = NewObject(actor, u_class, FName(UTF8_TO_TCHAR(name)), RF_Public); - if (!component) - return PyErr_Format(PyExc_Exception, "unable to create component"); + if (py_parent && component->IsA()) + { + USceneComponent *scene_component = (USceneComponent *)component; + scene_component->SetupAttachment(parent_component); + } - if (py_parent && component->IsA()) - { - USceneComponent *scene_component = (USceneComponent *)component; - scene_component->SetupAttachment(parent_component); - } + if (actor->GetWorld() && !component->IsRegistered()) + { + component->RegisterComponent(); + } - if (actor->GetWorld() && !component->IsRegistered()) - { - component->RegisterComponent(); + if (component->bWantsInitializeComponent && !component->HasBeenInitialized() && component->IsRegistered()) + component->InitializeComponent(); } - if (component->bWantsInitializeComponent && !component->HasBeenInitialized() && component->IsRegistered()) - component->InitializeComponent(); + Py_END_ALLOW_THREADS; + + if (!component) + return PyErr_Format(PyExc_Exception, "unable to create component"); Py_RETURN_UOBJECT(component); } @@ -472,7 +469,7 @@ PyObject *py_ue_add_python_component(ue_PyUObject * self, PyObject * args) char *class_name; if (!PyArg_ParseTuple(args, "sss:add_python_component", &name, &module_name, &class_name)) { - return NULL; + return nullptr; } AActor *actor = ue_py_check_type(self); @@ -481,20 +478,27 @@ PyObject *py_ue_add_python_component(ue_PyUObject * self, PyObject * args) return PyErr_Format(PyExc_Exception, "uobject is not an AActor"); } - UPythonComponent *component = NewObject(actor, FName(UTF8_TO_TCHAR(name)), RF_Public); - if (!component) - return PyErr_Format(PyExc_Exception, "unable to create component"); + UPythonComponent *component = nullptr; + Py_BEGIN_ALLOW_THREADS; + component = NewObject(actor, FName(UTF8_TO_TCHAR(name)), RF_Public); - component->PythonModule = FString(UTF8_TO_TCHAR(module_name)); - component->PythonClass = FString(UTF8_TO_TCHAR(class_name)); - - if (actor->GetWorld() && !component->IsRegistered()) + if (component) { - component->RegisterComponent(); + component->PythonModule = FString(UTF8_TO_TCHAR(module_name)); + component->PythonClass = FString(UTF8_TO_TCHAR(class_name)); + + if (actor->GetWorld() && !component->IsRegistered()) + { + component->RegisterComponent(); + } + + if (component->bWantsInitializeComponent && !component->HasBeenInitialized() && component->IsRegistered()) + component->InitializeComponent(); } + Py_END_ALLOW_THREADS; - if (component->bWantsInitializeComponent && !component->HasBeenInitialized() && component->IsRegistered()) - component->InitializeComponent(); + if (!component) + return PyErr_Format(PyExc_Exception, "unable to create component"); Py_RETURN_UOBJECT(component); } @@ -782,14 +786,18 @@ PyObject *py_ue_actor_spawn(ue_PyUObject * self, PyObject * args, PyObject *kwar rotation = py_rotation->rot; } + AActor *actor = nullptr; + if (kwargs && PyDict_Size(kwargs) > 0) { FTransform transform; transform.SetTranslation(location); transform.SetRotation(rotation.Quaternion()); - AActor *actor = world->SpawnActorDeferred(u_class, transform); - if (!actor) - return PyErr_Format(PyExc_Exception, "unable to spawn a new Actor"); + Py_BEGIN_ALLOW_THREADS + actor = world->SpawnActorDeferred(u_class, transform); + Py_END_ALLOW_THREADS + if (!actor) + return PyErr_Format(PyExc_Exception, "unable to spawn a new Actor"); ue_PyUObject *py_actor = ue_get_python_uobject_inc(actor); if (!py_actor) return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); @@ -806,13 +814,17 @@ PyObject *py_ue_actor_spawn(ue_PyUObject * self, PyObject * args, PyObject *kwar } } Py_DECREF(py_iter); - UGameplayStatics::FinishSpawningActor(actor, transform); - return (PyObject *)py_actor; + Py_BEGIN_ALLOW_THREADS + UGameplayStatics::FinishSpawningActor(actor, transform); + Py_END_ALLOW_THREADS + return (PyObject *)py_actor; } - AActor *actor = world->SpawnActor(u_class, &location, &rotation); - if (!actor) - return PyErr_Format(PyExc_Exception, "unable to spawn a new Actor"); + Py_BEGIN_ALLOW_THREADS + actor = world->SpawnActor(u_class, &location, &rotation); + Py_END_ALLOW_THREADS + if (!actor) + return PyErr_Format(PyExc_Exception, "unable to spawn a new Actor"); Py_RETURN_UOBJECT(actor); } From 73e4ea5fe68b89e7df3d415634ea10bb08074811 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Thu, 14 Jun 2018 16:44:44 +0200 Subject: [PATCH 185/538] more threading fixes --- .../Private/Slate/UEPySWindow.cpp | 2 + .../UnrealEnginePython/Private/UEPyModule.cpp | 78 +++++- .../Private/UObject/UEPyActor.cpp | 246 ++++++++---------- .../Private/UObject/UEPyObject.cpp | 16 +- .../Private/UObject/UEPyTexture.cpp | 21 +- .../Private/UObject/UEPyTransform.cpp | 64 +++-- 6 files changed, 253 insertions(+), 174 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp index f56f59d70..88bcdc1cd 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp @@ -107,7 +107,9 @@ static PyObject *py_ue_swindow_add_modal(ue_PySWindow *self, PyObject * args) { parent_window = FModuleManager::LoadModuleChecked("MainFrame").GetParentWindow(); } + Py_BEGIN_ALLOW_THREADS; FSlateApplication::Get().AddModalWindow(StaticCastSharedRef(py_SWindow->AsShared()), parent_window, false); + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } #endif diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 6f9009c4b..dffa50ebd 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -780,7 +780,7 @@ static PyMethodDef ue_PyUObject_methods[] = { { "get_instanced_foliage_actor_for_current_level", (PyCFunction)py_ue_get_instanced_foliage_actor_for_current_level, METH_VARARGS, "" }, { "get_instanced_foliage_actor_for_level", (PyCFunction)py_ue_get_instanced_foliage_actor_for_level, METH_VARARGS, "" }, { "get_foliage_types", (PyCFunction)py_ue_get_foliage_types, METH_VARARGS, "" }, - + { "add_actor_component", (PyCFunction)py_ue_add_actor_component, METH_VARARGS, "" }, { "add_instance_component", (PyCFunction)py_ue_add_instance_component, METH_VARARGS, "" }, @@ -2052,11 +2052,15 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in return false; if (PyObject_IsTrue(py_obj)) { + Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, true, index); + Py_END_ALLOW_THREADS; } else { + Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, false, index); + Py_END_ALLOW_THREADS; } return true; } @@ -2066,42 +2070,54 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in if (auto casted_prop = Cast(prop)) { PyObject *py_long = PyNumber_Long(py_obj); + Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsLong(py_long), index); + Py_END_ALLOW_THREADS; Py_DECREF(py_long); return true; } if (auto casted_prop = Cast(prop)) { PyObject *py_long = PyNumber_Long(py_obj); + Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsUnsignedLong(py_long), index); + Py_END_ALLOW_THREADS; Py_DECREF(py_long); return true; } if (auto casted_prop = Cast(prop)) { PyObject *py_long = PyNumber_Long(py_obj); + Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsLongLong(py_long), index); + Py_END_ALLOW_THREADS; Py_DECREF(py_long); return true; } if (auto casted_prop = Cast(prop)) { PyObject *py_long = PyNumber_Long(py_obj); + Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsUnsignedLongLong(py_long), index); + Py_END_ALLOW_THREADS; Py_DECREF(py_long); return true; } if (auto casted_prop = Cast(prop)) { PyObject *py_float = PyNumber_Float(py_obj); + Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, PyFloat_AsDouble(py_float), index); + Py_END_ALLOW_THREADS; Py_DECREF(py_float); return true; } if (auto casted_prop = Cast(prop)) { PyObject *py_long = PyNumber_Long(py_obj); + Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsUnsignedLong(py_long), index); + Py_END_ALLOW_THREADS; Py_DECREF(py_long); return true; } @@ -2110,7 +2126,9 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { PyObject *py_long = PyNumber_Long(py_obj); void *prop_addr = casted_prop->ContainerPtrToValuePtr(buffer, index); + Py_BEGIN_ALLOW_THREADS; casted_prop->GetUnderlyingProperty()->SetIntPropertyValue(prop_addr, (uint64)PyLong_AsUnsignedLong(py_long)); + Py_END_ALLOW_THREADS; Py_DECREF(py_long); return true; } @@ -2124,17 +2142,23 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { if (auto casted_prop = Cast(prop)) { + Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_obj)), index); + Py_END_ALLOW_THREADS; return true; } if (auto casted_prop = Cast(prop)) { + Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_obj)), index); + Py_END_ALLOW_THREADS; return true; } if (auto casted_prop = Cast(prop)) { + Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, FText::FromString(UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_obj))), index); + Py_END_ALLOW_THREADS; return true; } return false; @@ -2150,7 +2174,9 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { Py_ssize_t pybytes_len = PyBytes_Size(py_obj); + uint8 *buf = (uint8 *)PyBytes_AsString(py_obj); + Py_BEGIN_ALLOW_THREADS; // fix array helper size if (helper.Num() < pybytes_len) { @@ -2161,8 +2187,9 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in helper.RemoveValues(pybytes_len, helper.Num() - pybytes_len); } - uint8 *buf = (uint8 *)PyBytes_AsString(py_obj); + FMemory::Memcpy(helper.GetRawPtr(), buf, pybytes_len); + Py_END_ALLOW_THREADS; return true; } } @@ -2180,7 +2207,9 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { Py_ssize_t pybytes_len = PyByteArray_Size(py_obj); + uint8 *buf = (uint8 *)PyByteArray_AsString(py_obj); + Py_BEGIN_ALLOW_THREADS; // fix array helper size if (helper.Num() < pybytes_len) { @@ -2191,8 +2220,9 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in helper.RemoveValues(pybytes_len, helper.Num() - pybytes_len); } - uint8 *buf = (uint8 *)PyByteArray_AsString(py_obj); + FMemory::Memcpy(helper.GetRawPtr(), buf, pybytes_len); + Py_END_ALLOW_THREADS; return true; } } @@ -2311,7 +2341,9 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { if (casted_prop->Struct == TBaseStructure::Get()) { + Py_BEGIN_ALLOW_THREADS; *casted_prop->ContainerPtrToValuePtr(buffer, index) = py_vec->vec; + Py_END_ALLOW_THREADS; return true; } } @@ -2324,7 +2356,9 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { if (casted_prop->Struct == TBaseStructure::Get()) { + Py_BEGIN_ALLOW_THREADS; *casted_prop->ContainerPtrToValuePtr(buffer, index) = py_rot->rot; + Py_END_ALLOW_THREADS; return true; } } @@ -2337,7 +2371,9 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { if (casted_prop->Struct == TBaseStructure::Get()) { + Py_BEGIN_ALLOW_THREADS; *casted_prop->ContainerPtrToValuePtr(buffer, index) = py_transform->transform; + Py_END_ALLOW_THREADS; return true; } } @@ -2350,7 +2386,9 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { if (casted_prop->Struct == TBaseStructure::Get()) { + Py_BEGIN_ALLOW_THREADS; *casted_prop->ContainerPtrToValuePtr(buffer, index) = py_color->color; + Py_END_ALLOW_THREADS; return true; } } @@ -2363,7 +2401,9 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { if (casted_prop->Struct == TBaseStructure::Get()) { + Py_BEGIN_ALLOW_THREADS; *casted_prop->ContainerPtrToValuePtr(buffer, index) = py_color->color; + Py_END_ALLOW_THREADS; return true; } } @@ -2376,7 +2416,9 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { if (casted_prop->Struct == FHitResult::StaticStruct()) { + Py_BEGIN_ALLOW_THREADS; *casted_prop->ContainerPtrToValuePtr(buffer, index) = py_hit->hit; + Py_END_ALLOW_THREADS; return true; } } @@ -2391,8 +2433,10 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { if (casted_prop->Struct == py_u_struct->u_struct) { + Py_BEGIN_ALLOW_THREADS; uint8 *dest = casted_prop->ContainerPtrToValuePtr(buffer, index); FMemory::Memcpy(dest, py_u_struct->data, py_u_struct->u_struct->GetStructureSize()); + Py_END_ALLOW_THREADS; return true; } } @@ -2406,22 +2450,30 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { if (auto casted_prop = Cast(prop)) { + Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, ue_obj->ue_object, index); + Py_END_ALLOW_THREADS; return true; } else if (auto casted_prop_soft_class = Cast(prop)) { + Py_BEGIN_ALLOW_THREADS; casted_prop_soft_class->SetPropertyValue_InContainer(buffer, FSoftObjectPtr(ue_obj->ue_object), index); + Py_END_ALLOW_THREADS; return true; } else if (auto casted_prop_soft_object = Cast(prop)) { + Py_BEGIN_ALLOW_THREADS; casted_prop_soft_object->SetPropertyValue_InContainer(buffer, FSoftObjectPtr(ue_obj->ue_object), index); + Py_END_ALLOW_THREADS; return true; } else if (auto casted_prop_weak_object = Cast(prop)) { + Py_BEGIN_ALLOW_THREADS; casted_prop_weak_object->SetPropertyValue_InContainer(buffer, FWeakObjectPtr(ue_obj->ue_object), index); + Py_END_ALLOW_THREADS; return true; } else if (auto casted_prop_base = Cast(prop)) @@ -2429,7 +2481,9 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in // ensure the object type is correct, otherwise crash could happen (soon or later) if (!ue_obj->ue_object->IsA(casted_prop_base->PropertyClass)) return false; + Py_BEGIN_ALLOW_THREADS; casted_prop_base->SetObjectPropertyValue_InContainer(buffer, ue_obj->ue_object, index); + Py_END_ALLOW_THREADS; return true; } @@ -2444,14 +2498,18 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in // ensure the object type is correct, otherwise crash could happen (soon or later) if (!ue_obj->ue_object->IsA(casted_prop->PropertyClass)) return false; + Py_BEGIN_ALLOW_THREADS; casted_prop->SetObjectPropertyValue_InContainer(buffer, ue_obj->ue_object, index); + Py_END_ALLOW_THREADS; return true; } else if (auto casted_prop_soft_object = Cast(prop)) { if (!ue_obj->ue_object->IsA(casted_prop_soft_object->PropertyClass)) return false; + Py_BEGIN_ALLOW_THREADS; casted_prop_soft_object->SetPropertyValue_InContainer(buffer, FSoftObjectPtr(ue_obj->ue_object), index); + Py_END_ALLOW_THREADS; return true; } else if (auto casted_prop_interface = Cast(prop)) @@ -2459,7 +2517,9 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in // ensure the object type is correct, otherwise crash could happen (soon or later) if (!ue_obj->ue_object->GetClass()->ImplementsInterface(casted_prop_interface->InterfaceClass)) return false; + Py_BEGIN_ALLOW_THREADS; casted_prop_interface->SetPropertyValue_InContainer(buffer, FScriptInterface(ue_obj->ue_object), index); + Py_END_ALLOW_THREADS; return true; } } @@ -2471,13 +2531,17 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in auto casted_prop_class = Cast(prop); if (casted_prop_class) { + Py_BEGIN_ALLOW_THREADS; casted_prop_class->SetPropertyValue_InContainer(buffer, nullptr, index); + Py_END_ALLOW_THREADS; return true; } auto casted_prop = Cast(prop); if (casted_prop) { + Py_BEGIN_ALLOW_THREADS; casted_prop->SetObjectPropertyValue_InContainer(buffer, nullptr, index); + Py_END_ALLOW_THREADS; return true; } return false; @@ -2649,8 +2713,8 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * return PyErr_Format(PyExc_Exception, "UFunction has no SuperFunction"); } u_function = u_function->GetSuperFunction(); + } } - } //NOTE: u_function->PropertiesSize maps to local variable uproperties + ufunction paramaters uproperties uint8 *buffer = (uint8 *)FMemory_Alloca(u_function->ParmsSize); @@ -2732,7 +2796,9 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * FScopeCycleCounterUObject ObjectScope(u_obj); FScopeCycleCounterUObject FunctionScope(u_function); + Py_BEGIN_ALLOW_THREADS; u_obj->ProcessEvent(u_function, buffer); + Py_END_ALLOW_THREADS; PyObject *ret = nullptr; @@ -2796,7 +2862,7 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * Py_INCREF(Py_None); return Py_None; -} + } PyObject *ue_bind_pyevent(ue_PyUObject *u_obj, FString event_name, PyObject *py_callable, bool fail_on_wrong_property) { @@ -3114,9 +3180,9 @@ UFunction *unreal_engine_add_function(UClass *u_class, char *name, PyObject *py_ if (p->HasAnyPropertyFlags(CPF_ReturnParm)) { function->ReturnValueOffset = p->GetOffset_ForUFunction(); - } } } + } if (parent_function) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp index cc5b070dd..3e381dcdb 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp @@ -12,24 +12,19 @@ PyObject *py_ue_actor_has_tag(ue_PyUObject * self, PyObject * args) char *tag; if (!PyArg_ParseTuple(args, "s:actor_has_tag", &tag)) { - return NULL; + return nullptr; } - if (!self->ue_object->IsA()) - { + AActor *actor = ue_py_check_type(self); + if (!actor) return PyErr_Format(PyExc_Exception, "uobject is not an AActor"); - } - - AActor *actor = (AActor *)self->ue_object; if (actor->ActorHasTag(FName(UTF8_TO_TCHAR(tag)))) { - Py_INCREF(Py_True); - return Py_True; + Py_RETURN_TRUE; } - Py_INCREF(Py_False); - return Py_False; + Py_RETURN_FALSE; } PyObject *py_ue_actor_begin_play(ue_PyUObject * self, PyObject * args) @@ -41,11 +36,15 @@ PyObject *py_ue_actor_begin_play(ue_PyUObject * self, PyObject * args) if (!actor) return PyErr_Format(PyExc_Exception, "uobject is not an AActor"); + Py_BEGIN_ALLOW_THREADS; + #if ENGINE_MINOR_VERSION > 14 actor->DispatchBeginPlay(); #else actor->BeginPlay(); #endif + Py_END_ALLOW_THREADS; + Py_RETURN_NONE; } @@ -54,13 +53,9 @@ PyObject *py_ue_get_actor_bounds(ue_PyUObject * self, PyObject * args) ue_py_check(self); - - if (!self->ue_object->IsA()) - { + AActor *actor = ue_py_check_type(self); + if (!actor) return PyErr_Format(PyExc_Exception, "uobject is not an AActor"); - } - - AActor *actor = (AActor *)self->ue_object; FVector origin; FVector extent; @@ -68,7 +63,6 @@ PyObject *py_ue_get_actor_bounds(ue_PyUObject * self, PyObject * args) actor->GetActorBounds(false, origin, extent); return Py_BuildValue("OO", py_ue_new_fvector(origin), py_ue_new_fvector(extent)); - } PyObject *py_ue_get_actor_component(ue_PyUObject * self, PyObject * args) @@ -138,11 +132,11 @@ PyObject *py_ue_actor_destroy(ue_PyUObject * self, PyObject * args) return PyErr_Format(PyExc_Exception, "uobject is not an AActor"); } - Py_BEGIN_ALLOW_THREADS - actor->Destroy(); - Py_END_ALLOW_THREADS + Py_BEGIN_ALLOW_THREADS; + actor->Destroy(); + Py_END_ALLOW_THREADS; - Py_RETURN_NONE; + Py_RETURN_NONE; } @@ -222,8 +216,7 @@ PyObject *py_ue_set_actor_label(ue_PyUObject *self, PyObject * args) actor->SetActorLabel(UTF8_TO_TCHAR(label), true); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_ue_find_actor_by_label(ue_PyUObject * self, PyObject * args) @@ -288,11 +281,12 @@ PyObject *py_ue_register_component(ue_PyUObject *self, PyObject * args) UActorComponent *component = (UActorComponent *)self->ue_object; + Py_BEGIN_ALLOW_THREADS; if (!component->IsRegistered()) component->RegisterComponent(); + Py_END_ALLOW_THREADS; - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_ue_component_is_registered(ue_PyUObject *self, PyObject * args) @@ -300,21 +294,16 @@ PyObject *py_ue_component_is_registered(ue_PyUObject *self, PyObject * args) ue_py_check(self); - if (!self->ue_object->IsA()) - { + UActorComponent *component = ue_py_check_type(self); + if (!component) return PyErr_Format(PyExc_Exception, "uobject is not a component"); - } - - UActorComponent *component = (UActorComponent *)self->ue_object; if (component->IsRegistered()) { - Py_INCREF(Py_True); - return Py_True; + Py_RETURN_TRUE; } - Py_INCREF(Py_False); - return Py_False; + Py_RETURN_FALSE; } PyObject *py_ue_setup_attachment(ue_PyUObject *self, PyObject * args) @@ -323,16 +312,26 @@ PyObject *py_ue_setup_attachment(ue_PyUObject *self, PyObject * args) ue_py_check(self); PyObject *py_component; - if (!PyArg_ParseTuple(args, "O:setup_attachment", &py_component)) + char *socket_name = nullptr; + + if (!PyArg_ParseTuple(args, "O|s:setup_attachment", &py_component)) return nullptr; USceneComponent *child = ue_py_check_type(self); if (!child) - { return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); - } - UActorComponent *parent = ue_py_check_type(py_component); + USceneComponent *parent = ue_py_check_type(py_component); + if (!parent) + return PyErr_Format(PyExc_Exception, "argument is not a USceneComponent"); + + FName SocketName = NAME_None; + if (socket_name) + SocketName = FName(UTF8_TO_TCHAR(socket_name)); + + Py_BEGIN_ALLOW_THREADS; + child->SetupAttachment(parent, SocketName); + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } @@ -345,8 +344,10 @@ PyObject *py_ue_unregister_component(ue_PyUObject * self, PyObject * args) if (!component) return PyErr_Format(PyExc_Exception, "uobject is not an UActorComponent"); + Py_BEGIN_ALLOW_THREADS; if (component->IsRegistered()) component->UnregisterComponent(); + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } @@ -359,7 +360,9 @@ PyObject *py_ue_destroy_component(ue_PyUObject * self, PyObject * args) if (!component) return PyErr_Format(PyExc_Exception, "uobject is not an UActorComponent"); + Py_BEGIN_ALLOW_THREADS; component->DestroyComponent(); + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } @@ -388,7 +391,10 @@ PyObject *py_ue_add_instance_component(ue_PyUObject * self, PyObject * args) return PyErr_Format(PyExc_Exception, "argument is not a UActorComponent"); } + Py_BEGIN_ALLOW_THREADS; actor->AddInstanceComponent(component); + Py_END_ALLOW_THREADS; + Py_RETURN_NONE; } @@ -512,7 +518,7 @@ PyObject *py_ue_actor_create_default_subobject(ue_PyUObject * self, PyObject * a char *name; if (!PyArg_ParseTuple(args, "Os:actor_create_default_subobject", &obj, &name)) { - return NULL; + return nullptr; } AActor *actor = ue_py_check_type(self); @@ -526,7 +532,12 @@ PyObject *py_ue_actor_create_default_subobject(ue_PyUObject * self, PyObject * a if (!FUObjectThreadContext::Get().TopInitializer()) return PyErr_Format(PyExc_Exception, "CreateDefaultSubobject() can be called only in a constructor"); - UObject *ret_obj = actor->CreateDefaultSubobject(FName(UTF8_TO_TCHAR(name)), UObject::StaticClass(), u_class, false, false, true); + UObject *ret_obj = nullptr; + + Py_BEGIN_ALLOW_THREADS; + ret_obj = actor->CreateDefaultSubobject(FName(UTF8_TO_TCHAR(name)), UObject::StaticClass(), u_class, false, false, true); + Py_END_ALLOW_THREADS; + if (!ret_obj) return PyErr_Format(PyExc_Exception, "unable to create component"); @@ -560,32 +571,23 @@ PyObject *py_ue_add_actor_root_component(ue_PyUObject * self, PyObject * args) char *name; if (!PyArg_ParseTuple(args, "Os:add_actor_root_component", &obj, &name)) { - return NULL; + return nullptr; } - if (!self->ue_object->IsA()) - { + AActor *actor = ue_py_check_type(self); + if (!actor) return PyErr_Format(PyExc_Exception, "uobject is not an AActor"); - } - AActor *actor = (AActor *)self->ue_object; - if (!ue_is_pyuobject(obj)) - { - return PyErr_Format(PyExc_Exception, "argument is not a UObject"); - } - - ue_PyUObject *py_obj = (ue_PyUObject *)obj; - - if (!py_obj->ue_object->IsA()) - { - return PyErr_Format(PyExc_Exception, "argument is not a class"); - } + UClass *u_class = ue_py_check_type(obj); + if (!u_class) + return PyErr_Format(PyExc_Exception, "argument is not a UClass"); - USceneComponent *component = NewObject(actor, (UClass *)py_obj->ue_object, FName(UTF8_TO_TCHAR(name)), RF_Public); + USceneComponent *component = NewObject(actor, u_class, FName(UTF8_TO_TCHAR(name)), RF_Public); if (!component) return PyErr_Format(PyExc_Exception, "unable to create component"); + Py_BEGIN_ALLOW_THREADS; actor->SetRootComponent(component); if (actor->GetWorld() && !component->IsRegistered()) @@ -596,6 +598,8 @@ PyObject *py_ue_add_actor_root_component(ue_PyUObject * self, PyObject * args) if (component->bWantsInitializeComponent && !component->HasBeenInitialized() && component->IsRegistered()) component->InitializeComponent(); + Py_END_ALLOW_THREADS; + Py_RETURN_UOBJECT(component); } @@ -610,29 +614,20 @@ PyObject *py_ue_actor_has_component_of_type(ue_PyUObject * self, PyObject * args return NULL; } - if (!ue_is_pyuobject(obj)) - { - return PyErr_Format(PyExc_Exception, "argument is not a UObject"); - } - - ue_PyUObject *py_obj = (ue_PyUObject *)obj; - - if (!self->ue_object->IsA()) - { + AActor *actor = ue_get_actor(self); + if (!actor) return PyErr_Format(PyExc_Exception, "uobject is not an AActor"); - } - AActor *actor = (AActor *)self->ue_object; + UClass *u_class = ue_py_check_type(obj); + if (!u_class) + return PyErr_Format(PyExc_Exception, "argument is not a UClass"); - if (actor->GetComponentByClass((UClass *)py_obj->ue_object)) + if (actor->GetComponentByClass(u_class)) { - Py_INCREF(Py_True); - return Py_True; + Py_RETURN_TRUE; } - Py_INCREF(Py_False); - return Py_False; - + Py_RETURN_TRUE; } PyObject *py_ue_get_actor_component_by_type(ue_PyUObject * self, PyObject * args) @@ -643,38 +638,19 @@ PyObject *py_ue_get_actor_component_by_type(ue_PyUObject * self, PyObject * args PyObject *obj; if (!PyArg_ParseTuple(args, "O:get_actor_component_by_type", &obj)) { - return NULL; - } - - ue_PyUObject *py_obj = nullptr; - - if (ue_is_pyuobject(obj)) - { - py_obj = (ue_PyUObject *)obj; - } - // shortcut for finding class by string - else if (PyUnicodeOrString_Check(obj)) - { - char *class_name = PyUnicode_AsUTF8(obj); - UClass *u_class = FindObject(ANY_PACKAGE, UTF8_TO_TCHAR(class_name)); - - if (u_class) - { - py_obj = ue_get_python_uobject(u_class); - } + return nullptr; } - if (!py_obj) - return PyErr_Format(PyExc_Exception, "argument is not a UObject"); - AActor *actor = ue_get_actor(self); if (!actor) return PyErr_Format(PyExc_Exception, "uobject is not an AActor"); - if (!py_obj->ue_object->IsA()) + UClass *u_class = ue_py_check_type(obj); + if (!u_class) return PyErr_Format(PyExc_Exception, "argument is not a UClass"); - UActorComponent *component = actor->GetComponentByClass((UClass *)py_obj->ue_object); + + UActorComponent *component = actor->GetComponentByClass(u_class); if (component) { Py_RETURN_UOBJECT(component); @@ -692,40 +668,20 @@ PyObject *py_ue_get_actor_components_by_type(ue_PyUObject * self, PyObject * arg PyObject *obj; if (!PyArg_ParseTuple(args, "O:get_actor_components_by_type", &obj)) { - return NULL; - } - - ue_PyUObject *py_obj = nullptr; - - if (ue_is_pyuobject(obj)) - { - py_obj = (ue_PyUObject *)obj; - } - // shortcut for finding class by string - else if (PyUnicodeOrString_Check(obj)) - { - char *class_name = PyUnicode_AsUTF8(obj); - UClass *u_class = FindObject(ANY_PACKAGE, UTF8_TO_TCHAR(class_name)); - - if (u_class) - { - py_obj = ue_get_python_uobject(u_class); - } + return nullptr; } - if (!py_obj) - return PyErr_Format(PyExc_Exception, "argument is not a UObject"); - - if (!py_obj->ue_object->IsA()) - return PyErr_Format(PyExc_Exception, "argument is not a UClass"); - AActor *actor = ue_get_actor(self); if (!actor) return PyErr_Format(PyExc_Exception, "uobject is not an AActor"); + UClass *u_class = ue_py_check_type(obj); + if (!u_class) + return PyErr_Format(PyExc_Exception, "argument is not a UClass"); + PyObject *components = PyList_New(0); - for (UActorComponent *component : actor->GetComponentsByClass((UClass *)py_obj->ue_object)) + for (UActorComponent *component : actor->GetComponentsByClass(u_class)) { ue_PyUObject *item = ue_get_python_uobject(component); if (item) @@ -793,11 +749,11 @@ PyObject *py_ue_actor_spawn(ue_PyUObject * self, PyObject * args, PyObject *kwar FTransform transform; transform.SetTranslation(location); transform.SetRotation(rotation.Quaternion()); - Py_BEGIN_ALLOW_THREADS - actor = world->SpawnActorDeferred(u_class, transform); - Py_END_ALLOW_THREADS - if (!actor) - return PyErr_Format(PyExc_Exception, "unable to spawn a new Actor"); + Py_BEGIN_ALLOW_THREADS; + actor = world->SpawnActorDeferred(u_class, transform); + Py_END_ALLOW_THREADS; + if (!actor) + return PyErr_Format(PyExc_Exception, "unable to spawn a new Actor"); ue_PyUObject *py_actor = ue_get_python_uobject_inc(actor); if (!py_actor) return PyErr_Format(PyExc_Exception, "uobject is in invalid state"); @@ -814,17 +770,17 @@ PyObject *py_ue_actor_spawn(ue_PyUObject * self, PyObject * args, PyObject *kwar } } Py_DECREF(py_iter); - Py_BEGIN_ALLOW_THREADS - UGameplayStatics::FinishSpawningActor(actor, transform); - Py_END_ALLOW_THREADS - return (PyObject *)py_actor; + Py_BEGIN_ALLOW_THREADS; + UGameplayStatics::FinishSpawningActor(actor, transform); + Py_END_ALLOW_THREADS; + return (PyObject *)py_actor; } - Py_BEGIN_ALLOW_THREADS - actor = world->SpawnActor(u_class, &location, &rotation); - Py_END_ALLOW_THREADS - if (!actor) - return PyErr_Format(PyExc_Exception, "unable to spawn a new Actor"); + Py_BEGIN_ALLOW_THREADS; + actor = world->SpawnActor(u_class, &location, &rotation); + Py_END_ALLOW_THREADS; + if (!actor) + return PyErr_Format(PyExc_Exception, "unable to spawn a new Actor"); Py_RETURN_UOBJECT(actor); } @@ -834,16 +790,18 @@ PyObject *py_ue_get_overlapping_actors(ue_PyUObject * self, PyObject * args) ue_py_check(self); - AActor *actor = ue_get_actor(self); - if (!actor) - return PyErr_Format(PyExc_Exception, "cannot retrieve actor from UObject"); - + PyObject *class_filter = nullptr; if (!PyArg_ParseTuple(args, "|O:get_overlapping_actors", &class_filter)) { - return NULL; + return nullptr; } + AActor *actor = ue_get_actor(self); + if (!actor) + return PyErr_Format(PyExc_Exception, "cannot retrieve actor from UObject"); + + UClass *filtering = AActor::StaticClass(); if (class_filter) @@ -899,7 +857,9 @@ PyObject *py_ue_actor_set_level_sequence(ue_PyUObject * self, PyObject * args) return PyErr_Format(PyExc_Exception, "argument is not a LevelSequence"); } + Py_BEGIN_ALLOW_THREADS; actor->SetSequence(sequence); + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp index a6b207989..6fb25cb3b 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp @@ -665,7 +665,7 @@ PyObject *py_ue_set_property(ue_PyUObject *self, PyObject * args) int index = 0; if (!PyArg_ParseTuple(args, "sO|i:set_property", &property_name, &property_value, &index)) { - return NULL; + return nullptr; } UStruct *u_struct = nullptr; @@ -914,11 +914,15 @@ PyObject *py_ue_call(ue_PyUObject *self, PyObject * args) char *call_args; if (!PyArg_ParseTuple(args, "s:call", &call_args)) { - return NULL; + return nullptr; } FOutputDeviceNull od_null; - if (!self->ue_object->CallFunctionByNameWithArguments(UTF8_TO_TCHAR(call_args), od_null, NULL, true)) + bool success = false; + Py_BEGIN_ALLOW_THREADS; + success = self->ue_object->CallFunctionByNameWithArguments(UTF8_TO_TCHAR(call_args), od_null, NULL, true); + Py_END_ALLOW_THREADS; + if (!success) { return PyErr_Format(PyExc_Exception, "error while calling \"%s\"", call_args); } @@ -934,7 +938,7 @@ PyObject *py_ue_broadcast(ue_PyUObject *self, PyObject *args) char *property_name; if (!PyArg_ParseTuple(args, "s:broadcast", &property_name)) { - return NULL; + return nullptr; } UProperty *u_property = self->ue_object->GetClass()->FindPropertyByName(FName(UTF8_TO_TCHAR(property_name))); @@ -946,7 +950,9 @@ PyObject *py_ue_broadcast(ue_PyUObject *self, PyObject *args) FMulticastScriptDelegate multiscript_delegate = casted_prop->GetPropertyValue_InContainer(self->ue_object); uint8 *parms = (uint8 *)FMemory_Alloca(casted_prop->SignatureFunction->PropertiesSize); FMemory::Memzero(parms, casted_prop->SignatureFunction->PropertiesSize); + Py_BEGIN_ALLOW_THREADS; multiscript_delegate.ProcessMulticastDelegate(parms); + Py_END_ALLOW_THREADS; } else { @@ -965,7 +971,7 @@ PyObject *py_ue_get_property(ue_PyUObject *self, PyObject * args) int index = 0; if (!PyArg_ParseTuple(args, "s|i:get_property", &property_name, &index)) { - return NULL; + return nullptr; } UStruct *u_struct = nullptr; diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp index 66f8a4c66..4cc75c9dc 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp @@ -14,7 +14,9 @@ PyObject *py_ue_texture_update_resource(ue_PyUObject *self, PyObject * args) if (!texture) return PyErr_Format(PyExc_Exception, "object is not a Texture"); + Py_BEGIN_ALLOW_THREADS; texture->UpdateResource(); + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } @@ -209,15 +211,16 @@ PyObject *py_ue_texture_set_data(ue_PyUObject *self, PyObject * args) FMemory::Memcpy(blob, py_buf.buf, wanted_len); tex->PlatformData->Mips[mipmap].BulkData.Unlock(); + Py_BEGIN_ALLOW_THREADS; tex->MarkPackageDirty(); #if WITH_EDITOR tex->PostEditChange(); #endif tex->UpdateResource(); + Py_END_ALLOW_THREADS; - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_unreal_engine_compress_image_array(PyObject * self, PyObject * args) @@ -245,7 +248,9 @@ PyObject *py_unreal_engine_compress_image_array(PyObject * self, PyObject * args TArray output; + Py_BEGIN_ALLOW_THREADS; FImageUtils::CompressImageArray(width, height, colors, output); + Py_END_ALLOW_THREADS; return PyBytes_FromStringAndSize((char *)output.GetData(), output.Num()); } @@ -268,8 +273,11 @@ PyObject *py_unreal_engine_create_checkerboard_texture(PyObject * self, PyObject if (!color_two) return PyErr_Format(PyExc_Exception, "argument is not a FColor"); - UTexture2D *texture = FImageUtils::CreateCheckerboardTexture(color_one->color, color_two->color, checker_size); - + UTexture2D *texture = nullptr; + + Py_BEGIN_ALLOW_THREADS; + texture = FImageUtils::CreateCheckerboardTexture(color_one->color, color_two->color, checker_size); + Py_END_ALLOW_THREADS; Py_RETURN_UOBJECT(texture); } @@ -288,7 +296,9 @@ PyObject *py_unreal_engine_create_transient_texture(PyObject * self, PyObject * if (!texture) return PyErr_Format(PyExc_Exception, "unable to create texture"); + Py_BEGIN_ALLOW_THREADS; texture->UpdateResource(); + Py_END_ALLOW_THREADS; Py_RETURN_UOBJECT(texture); } @@ -308,8 +318,9 @@ PyObject *py_unreal_engine_create_transient_texture_render_target2d(PyObject * s if (!texture) return PyErr_Format(PyExc_Exception, "unable to create texture render target"); + Py_BEGIN_ALLOW_THREADS; texture->InitCustomFormat(width, height, (EPixelFormat)format, py_linear && PyObject_IsTrue(py_linear)); - + Py_END_ALLOW_THREADS; Py_RETURN_UOBJECT(texture); } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyTransform.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyTransform.cpp index 952d61423..d4f5b8bf2 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyTransform.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyTransform.cpp @@ -234,7 +234,11 @@ PyObject *py_ue_set_actor_location(ue_PyUObject *self, PyObject * args) PyErr_Format(PyExc_Exception, "uobject is not an actor or a component"); FHitResult hit; - bool success = actor->SetActorLocation(vec, sweep, &hit, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); + bool success = false; + + Py_BEGIN_ALLOW_THREADS; + success = actor->SetActorLocation(vec, sweep, &hit, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); + Py_END_ALLOW_THREADS; if (!sweep) { @@ -264,7 +268,9 @@ PyObject *py_ue_add_actor_world_offset(ue_PyUObject *self, PyObject * args) PyErr_Format(PyExc_Exception, "uobject is not an actor or a component"); FHitResult hit; + Py_BEGIN_ALLOW_THREADS; actor->AddActorWorldOffset(vec, sweep, &hit, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); + Py_END_ALLOW_THREADS; if (!sweep) { @@ -290,7 +296,9 @@ PyObject *py_ue_add_actor_local_offset(ue_PyUObject *self, PyObject * args) PyErr_Format(PyExc_Exception, "uobject is not an actor or a component"); FHitResult hit; + Py_BEGIN_ALLOW_THREADS; actor->AddActorLocalOffset(vec, sweep, &hit, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); + Py_END_ALLOW_THREADS; if (!sweep) { @@ -316,8 +324,9 @@ PyObject *py_ue_add_actor_world_rotation(ue_PyUObject *self, PyObject * args) if (!actor) return PyErr_Format(PyExc_Exception, "uobject is not an actor or a component"); FHitResult hit; + Py_BEGIN_ALLOW_THREADS; actor->AddActorWorldRotation(quat, sweep, &hit, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); - + Py_END_ALLOW_THREADS; if (!sweep) { Py_RETURN_NONE; @@ -341,8 +350,10 @@ PyObject *py_ue_add_actor_local_rotation(ue_PyUObject *self, PyObject * args) if (!actor) return PyErr_Format(PyExc_Exception, "uobject is not an actor or a component"); FHitResult hit; - actor->AddActorLocalRotation(quat, sweep, &hit, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); + Py_BEGIN_ALLOW_THREADS; + actor->AddActorLocalRotation(quat, sweep, &hit, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); + Py_END_ALLOW_THREADS; if (!sweep) { Py_RETURN_NONE; @@ -359,16 +370,17 @@ PyObject *py_ue_set_actor_scale(ue_PyUObject *self, PyObject * args) FVector vec; if (!py_ue_vector_arg(args, vec)) - return NULL; + return nullptr; AActor *actor = ue_get_actor(self); if (!actor) PyErr_Format(PyExc_Exception, "uobject is not an actor or a component"); + Py_BEGIN_ALLOW_THREADS; actor->SetActorScale3D(vec); + Py_END_ALLOW_THREADS; - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } @@ -385,7 +397,14 @@ PyObject *py_ue_set_actor_rotation(ue_PyUObject *self, PyObject * args) AActor *actor = ue_get_actor(self); if (!actor) return PyErr_Format(PyExc_Exception, "uobject is not an actor or a component"); - if (actor->SetActorRotation(quat, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None)) + + bool success = false; + + Py_BEGIN_ALLOW_THREADS; + success = actor->SetActorRotation(quat, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); + Py_END_ALLOW_THREADS; + + if (success) { Py_RETURN_TRUE; } @@ -406,7 +425,9 @@ PyObject *py_ue_set_actor_transform(ue_PyUObject *self, PyObject * args) if (!actor) PyErr_Format(PyExc_Exception, "uobject is not an actor or a component"); + Py_BEGIN_ALLOW_THREADS; actor->SetActorTransform(t); + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } @@ -546,7 +567,9 @@ PyObject *py_ue_set_world_location(ue_PyUObject *self, PyObject * args) if (self->ue_object->IsA()) { + Py_BEGIN_ALLOW_THREADS; ((USceneComponent *)self->ue_object)->SetWorldLocation(vec, sweep, &hit, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); + Py_END_ALLOW_THREADS; if (!sweep) { Py_RETURN_NONE; @@ -564,7 +587,9 @@ PyObject *py_ue_set_world_rotation(ue_PyUObject *self, PyObject * args) return NULL; if (self->ue_object->IsA()) { + Py_BEGIN_ALLOW_THREADS; ((USceneComponent *)self->ue_object)->SetWorldRotation(rot); + Py_END_ALLOW_THREADS; Py_INCREF(Py_None); return Py_None; } @@ -580,9 +605,10 @@ PyObject *py_ue_set_world_scale(ue_PyUObject *self, PyObject * args) if (self->ue_object->IsA()) { + Py_BEGIN_ALLOW_THREADS; ((USceneComponent *)self->ue_object)->SetWorldScale3D(vec); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; + Py_END_ALLOW_THREADS; } return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } @@ -600,7 +626,10 @@ PyObject *py_ue_set_world_transform(ue_PyUObject *self, PyObject * args) if (!component) return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); + Py_BEGIN_ALLOW_THREADS; component->SetWorldTransform(t); + Py_END_ALLOW_THREADS; + Py_RETURN_NONE; } @@ -617,7 +646,9 @@ PyObject *py_ue_set_relative_transform(ue_PyUObject *self, PyObject * args) if (!component) return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); + Py_BEGIN_ALLOW_THREADS; component->SetRelativeTransform(t); + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } @@ -630,9 +661,10 @@ PyObject *py_ue_set_relative_location(ue_PyUObject *self, PyObject * args) if (self->ue_object->IsA()) { + Py_BEGIN_ALLOW_THREADS; ((USceneComponent *)self->ue_object)->SetRelativeLocation(vec); - Py_INCREF(Py_None); - return Py_None; + Py_END_ALLOW_THREADS; + Py_RETURN_NONE; } return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } @@ -645,9 +677,10 @@ PyObject *py_ue_set_relative_rotation(ue_PyUObject *self, PyObject * args) return NULL; if (self->ue_object->IsA()) { + Py_BEGIN_ALLOW_THREADS; ((USceneComponent *)self->ue_object)->SetRelativeRotation(rot); - Py_INCREF(Py_None); - return Py_None; + Py_END_ALLOW_THREADS; + Py_RETURN_NONE; } return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } @@ -661,9 +694,10 @@ PyObject *py_ue_set_relative_scale(ue_PyUObject *self, PyObject * args) if (self->ue_object->IsA()) { + Py_BEGIN_ALLOW_THREADS; ((USceneComponent *)self->ue_object)->SetRelativeScale3D(vec); - Py_INCREF(Py_None); - return Py_None; + Py_END_ALLOW_THREADS; + Py_RETURN_NONE; } return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } From 22e07b0491c5a288ef7384ac3f204fe5f5554ca7 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 15 Jun 2018 16:16:45 +0200 Subject: [PATCH 186/538] Update YourFirstAutomatedPipeline.md --- tutorials/YourFirstAutomatedPipeline.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tutorials/YourFirstAutomatedPipeline.md b/tutorials/YourFirstAutomatedPipeline.md index c2a775127..f0cf00832 100644 --- a/tutorials/YourFirstAutomatedPipeline.md +++ b/tutorials/YourFirstAutomatedPipeline.md @@ -459,8 +459,6 @@ Its event graph manages the Speed variable for the blend space and the idle time ```python from unreal_engine.classes import AnimBlueprintFactory -anim_bp_factory = AnimBlueprintFactory() -anim_bp_factory.TargetSkeleton = slicer_mesh.Skeleton # ensure no blueprint with the same name exists # find_asset() returns None if the asset does not exist @@ -468,6 +466,9 @@ anim_bp = ue.find_asset('/Game/Kaiju/Slicer/slicer_AnimBP.slicer_AnimBP') if anim_bp: ue.delete_asset(anim_bp.get_path_name()) +anim_bp_factory = AnimBlueprintFactory() +anim_bp_factory.TargetSkeleton = slicer_mesh.Skeleton + anim_bp = anim_bp_factory.factory_create_new('/Game/Kaiju/Slicer/slicer_AnimBP') ``` From 8b26a21bd3547403bd78bf5faefa7e14908416a4 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 15 Jun 2018 16:30:55 +0200 Subject: [PATCH 187/538] multithreading for editor and materials --- .../UnrealEnginePython/Private/UEPyEditor.cpp | 181 +++++++++++------- .../UnrealEnginePython/Private/UEPyModule.cpp | 82 ++------ .../Private/UObject/UEPyMaterial.cpp | 13 +- .../Private/UObject/UEPyObject.cpp | 41 ++-- 4 files changed, 163 insertions(+), 154 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index 5f2c593e1..0583d51ff 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -71,8 +71,9 @@ PyObject *py_unreal_engine_editor_play_in_viewport(PyObject * self, PyObject * a if (!EditorModule.GetFirstActiveViewport().IsValid()) return PyErr_Format(PyExc_Exception, "no active LevelEditor Viewport"); + Py_BEGIN_ALLOW_THREADS; GEditor->RequestPlaySession(py_vector == nullptr, EditorModule.GetFirstActiveViewport(), true, &v, &r); - + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } @@ -91,8 +92,9 @@ PyObject *py_unreal_engine_request_play_session(PyObject * self, PyObject * args bool bAtPlayerStart = py_at_player_start && PyObject_IsTrue(py_at_player_start); bool bSimulate = py_simulate_in_editor && PyObject_IsTrue(py_simulate_in_editor); + Py_BEGIN_ALLOW_THREADS; GEditor->RequestPlaySession(bAtPlayerStart, nullptr, bSimulate); - + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } @@ -121,8 +123,9 @@ PyObject *py_unreal_engine_console_exec(PyObject * self, PyObject * args) return NULL; } + Py_BEGIN_ALLOW_THREADS; GEditor->Exec(GEditor->GetEditorWorldContext().World(), UTF8_TO_TCHAR(command), *GLog); - + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } @@ -179,40 +182,41 @@ PyObject *py_unreal_engine_editor_command_build(PyObject * self, PyObject * args if (!GEditor) return PyErr_Format(PyExc_Exception, "no GEditor found"); + Py_BEGIN_ALLOW_THREADS; FLevelEditorActionCallbacks::Build_Execute(); - - Py_INCREF(Py_None); - return Py_None; + Py_END_ALLOW_THREADS; + Py_RETURN_NONE; } PyObject *py_unreal_engine_editor_command_save_current_level(PyObject * self, PyObject * args) { + Py_BEGIN_ALLOW_THREADS; FLevelEditorActionCallbacks::Save(); - + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } PyObject *py_unreal_engine_editor_command_save_all_levels(PyObject * self, PyObject * args) { - + Py_BEGIN_ALLOW_THREADS; FLevelEditorActionCallbacks::SaveAllLevels(); - + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } PyObject *py_unreal_engine_editor_save_all(PyObject * self, PyObject * args) { - + Py_BEGIN_ALLOW_THREADS; FEditorFileUtils::SaveDirtyPackages(false, true, true, false, false, false); - + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } PyObject *py_unreal_engine_editor_command_build_lighting(PyObject * self, PyObject * args) { - + Py_BEGIN_ALLOW_THREADS; FLevelEditorActionCallbacks::BuildLightingOnly_Execute(); - + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } @@ -255,12 +259,14 @@ PyObject *py_unreal_engine_editor_play(PyObject * self, PyObject * args) r = rotator->rot; } + Py_BEGIN_ALLOW_THREADS; #if ENGINE_MINOR_VERSION >= 17 const FString mobile_device = FString(""); GEditor->RequestPlaySession(&v, &r, false, false, mobile_device); #else GEditor->RequestPlaySession(&v, &r, false, false); #endif + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } @@ -274,23 +280,16 @@ PyObject *py_unreal_engine_editor_select_actor(PyObject * self, PyObject * args) PyObject *obj; if (!PyArg_ParseTuple(args, "O:editor_select_actor", &obj)) { - return NULL; + return nullptr; } - if (!ue_is_pyuobject(obj)) - return PyErr_Format(PyExc_Exception, "invalid uobject"); - - ue_PyUObject *py_actor = (ue_PyUObject *)obj; - - if (!py_actor->ue_object->IsA()) + AActor *actor = ue_py_check_type(obj); + if (!actor) return PyErr_Format(PyExc_Exception, "uobject is not an Actor"); - AActor *actor = (AActor *)py_actor->ue_object; - GEditor->SelectActor(actor, true, true); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_unreal_engine_import_asset(PyObject * self, PyObject * args) @@ -306,7 +305,7 @@ PyObject *py_unreal_engine_import_asset(PyObject * self, PyObject * args) PyObject *py_sync = nullptr; if (!PyArg_ParseTuple(args, "Os|OO:import_asset", &assetsObject, &destination, &obj, &py_sync)) { - return NULL; + return nullptr; } FString Result; @@ -413,12 +412,15 @@ PyObject *py_unreal_engine_import_asset(PyObject * self, PyObject * args) sync_to_browser = true; } + TArray objects; + + Py_BEGIN_ALLOW_THREADS; FAssetToolsModule& AssetToolsModule = FModuleManager::LoadModuleChecked("AssetTools"); - TArray objects = AssetToolsModule.Get().ImportAssets(files, UTF8_TO_TCHAR(destination), factory, sync_to_browser); + objects = AssetToolsModule.Get().ImportAssets(files, UTF8_TO_TCHAR(destination), factory, sync_to_browser); + Py_END_ALLOW_THREADS; if (objects.Num() == 1) { - UObject *object = objects[0]; Py_RETURN_UOBJECT(object); } @@ -448,14 +450,19 @@ PyObject *py_unreal_engine_import_asset(PyObject * self, PyObject * args) PyObject *py_unreal_engine_editor_tick(PyObject * self, PyObject * args) { float delta_seconds = FApp::GetDeltaTime(); - PyObject *py_bool = nullptr; - if (!PyArg_ParseTuple(args, "|fO:editor_tick", &delta_seconds, &py_bool)) + PyObject *py_idle = nullptr; + if (!PyArg_ParseTuple(args, "|fO:editor_tick", &delta_seconds, &py_idle)) { return NULL; } - GEditor->Tick(delta_seconds, (py_bool && PyObject_IsTrue(py_bool)) ? true : false); + bool bIdle = false; + if (py_idle && PyObject_IsTrue(py_idle)) + bIdle = true; + Py_BEGIN_ALLOW_THREADS; + GEditor->Tick(delta_seconds, bIdle); + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } @@ -470,11 +477,14 @@ PyObject *py_unreal_engine_message_dialog_open(PyObject * self, PyObject * args) if (!PyArg_ParseTuple(args, "is:message_dialog_open", &app_msg_type, &text)) { - return NULL; + return nullptr; } - EAppReturnType::Type ret = FMessageDialog::Open((EAppMsgType::Type) app_msg_type, FText::FromString(UTF8_TO_TCHAR(text))); + EAppReturnType::Type ret; + Py_BEGIN_ALLOW_THREADS; + ret = FMessageDialog::Open((EAppMsgType::Type) app_msg_type, FText::FromString(UTF8_TO_TCHAR(text))); + Py_END_ALLOW_THREADS; return PyLong_FromLong(ret); } @@ -490,6 +500,9 @@ PyObject *py_unreal_engine_create_modal_save_asset_dialog(PyObject * self, PyObj return nullptr; } + FString ret; + + Py_BEGIN_ALLOW_THREADS; FSaveAssetDialogConfig config; config.DialogTitleOverride = FText::FromString(FString(UTF8_TO_TCHAR(title))); config.DefaultPath = FString(UTF8_TO_TCHAR(path)); @@ -497,8 +510,8 @@ PyObject *py_unreal_engine_create_modal_save_asset_dialog(PyObject * self, PyObj config.ExistingAssetPolicy = ESaveAssetDialogExistingAssetPolicy::AllowButWarn; FContentBrowserModule &ContentBrowserModule = FModuleManager::LoadModuleChecked("ContentBrowser"); - FString ret = ContentBrowserModule.Get().CreateModalSaveAssetDialog(config); - + ret = ContentBrowserModule.Get().CreateModalSaveAssetDialog(config); + Py_END_ALLOW_THREADS; if (ret.IsEmpty()) { Py_RETURN_NONE; @@ -642,8 +655,7 @@ PyObject *py_unreal_engine_rename_asset(PyObject * self, PyObject * args) } #endif - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_unreal_engine_duplicate_asset(PyObject * self, PyObject * args) @@ -721,8 +733,7 @@ PyObject *py_unreal_engine_delete_asset(PyObject * self, PyObject * args) } } - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_unreal_engine_delete_object(PyObject * self, PyObject * args) @@ -760,8 +771,7 @@ PyObject *py_unreal_engine_delete_object(PyObject * self, PyObject * args) } } - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } @@ -1155,10 +1165,10 @@ PyObject *py_unreal_engine_reload_blueprint(PyObject * self, PyObject * args) UBlueprint *reloaded_bp = nullptr; Py_BEGIN_ALLOW_THREADS - reloaded_bp = FKismetEditorUtilities::ReloadBlueprint(bp); + reloaded_bp = FKismetEditorUtilities::ReloadBlueprint(bp); Py_END_ALLOW_THREADS - Py_RETURN_UOBJECT(reloaded_bp); + Py_RETURN_UOBJECT(reloaded_bp); } PyObject *py_unreal_engine_compile_blueprint(PyObject * self, PyObject * args) @@ -1175,10 +1185,10 @@ PyObject *py_unreal_engine_compile_blueprint(PyObject * self, PyObject * args) return PyErr_Format(PyExc_Exception, "uobject is not a UBlueprint"); Py_BEGIN_ALLOW_THREADS - FKismetEditorUtilities::CompileBlueprint(bp); + FKismetEditorUtilities::CompileBlueprint(bp); Py_END_ALLOW_THREADS - Py_RETURN_NONE; + Py_RETURN_NONE; } PyObject *py_unreal_engine_replace_blueprint(PyObject * self, PyObject * args) @@ -1393,7 +1403,7 @@ PyObject *py_unreal_engine_blueprint_add_member_variable(PyObject * self, PyObje if (!pinptr) return PyErr_Format(PyExc_Exception, "argument is not a EdGraphPinType"); pin = *pinptr; -} + } FString DefaultValue = FString(""); @@ -1771,14 +1781,23 @@ PyObject *py_ue_factory_create_new(ue_PyUObject *self, PyObject * args) } } - UObject *u_object = factory->FactoryCreateNew(u_class, outer, FName(UTF8_TO_TCHAR(obj_name)), RF_Public | RF_Standalone, nullptr, GWarn); + UObject *u_object = nullptr; - if (!u_object) - return PyErr_Format(PyExc_Exception, "unable to create new object from factory"); + Py_BEGIN_ALLOW_THREADS; + u_object = factory->FactoryCreateNew(u_class, outer, FName(UTF8_TO_TCHAR(obj_name)), RF_Public | RF_Standalone, nullptr, GWarn); - FAssetRegistryModule::AssetCreated(u_object); - outer->MarkPackageDirty(); + if (u_object) + { + FAssetRegistryModule::AssetCreated(u_object); + outer->MarkPackageDirty(); + } + + Py_END_ALLOW_THREADS; + if (!u_object) + { + return PyErr_Format(PyExc_Exception, "unable to create new object from factory"); + } Py_RETURN_UOBJECT(u_object); } @@ -1807,14 +1826,20 @@ PyObject *py_ue_factory_import_object(ue_PyUObject *self, PyObject * args) return PyErr_Format(PyExc_Exception, "unable to create package"); bool canceled = false; - UObject *u_object = factory->ImportObject(factory->ResolveSupportedClass(), outer, FName(*object_name), RF_Public | RF_Standalone, UTF8_TO_TCHAR(filename), nullptr, canceled); + UObject *u_object = nullptr; + + Py_BEGIN_ALLOW_THREADS; + u_object = factory->ImportObject(factory->ResolveSupportedClass(), outer, FName(*object_name), RF_Public | RF_Standalone, UTF8_TO_TCHAR(filename), nullptr, canceled); + if (u_object) + { + FAssetRegistryModule::AssetCreated(u_object); + outer->MarkPackageDirty(); + } + Py_END_ALLOW_THREADS; if (!u_object) return PyErr_Format(PyExc_Exception, "unable to create new object from factory"); - FAssetRegistryModule::AssetCreated(u_object); - outer->MarkPackageDirty(); - Py_RETURN_UOBJECT(u_object); } @@ -1856,7 +1881,7 @@ PyObject *py_unreal_engine_add_level_to_world(PyObject *self, PyObject * args) #endif Py_RETURN_UOBJECT(level_streaming); - } +} PyObject *py_unreal_engine_move_selected_actors_to_level(PyObject *self, PyObject * args) { @@ -2036,7 +2061,13 @@ PyObject *py_unreal_engine_editor_undo(PyObject * self, PyObject * args) if (!GEditor || !GEditor->Trans) return PyErr_Format(PyExc_Exception, "no GEditor found"); - if (GEditor->Trans->Undo()) + bool bSuccess; + + Py_BEGIN_ALLOW_THREADS; + bSuccess = GEditor->Trans->Undo(); + Py_END_ALLOW_THREADS; + + if (bSuccess) { Py_RETURN_TRUE; } @@ -2050,14 +2081,15 @@ PyObject *py_unreal_engine_editor_redo(PyObject * self, PyObject * args) if (!GEditor || !GEditor->Trans) return PyErr_Format(PyExc_Exception, "no GEditor found"); - if (GEditor->Trans->Redo()) - { - Py_INCREF(Py_True); - return Py_True; - } + bool bSuccess; - Py_INCREF(Py_False); - return Py_False; + Py_BEGIN_ALLOW_THREADS; + bSuccess = GEditor->Trans->Redo(); + Py_END_ALLOW_THREADS; + + if (bSuccess) + Py_RETURN_TRUE; + Py_RETURN_FALSE; } @@ -2174,7 +2206,9 @@ PyObject *py_unreal_engine_play_preview_sound(PyObject * self, PyObject * args) if (!sound) return PyErr_Format(PyExc_Exception, "argument is not a USoundBase"); + Py_BEGIN_ALLOW_THREADS; GEditor->PlayPreviewSound(sound); + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } @@ -2223,12 +2257,14 @@ PyObject * py_unreal_engine_show_viewer(PyObject * self, PyObject * args) char *category_name; char *section_name; - if (!PyArg_ParseTuple(args, "sss:register_settings", &container_name, &category_name, §ion_name)) + if (!PyArg_ParseTuple(args, "sss:show_viewer", &container_name, &category_name, §ion_name)) return nullptr; if (ISettingsModule* SettingsModule = FModuleManager::GetModulePtr("Settings")) { + Py_BEGIN_ALLOW_THREADS; SettingsModule->ShowViewer(container_name, category_name, section_name); + Py_END_ALLOW_THREADS; } else { @@ -2309,15 +2345,21 @@ PyObject *py_unreal_engine_editor_sync_browser_to_assets(PyObject * self, PyObje } } + bool bFocus = false; + if (py_focus && PyObject_IsTrue(py_focus)) + bFocus = true; + + Py_BEGIN_ALLOW_THREADS; if (asset_data.Num() > 0) { - ContentBrowserModule.Get().SyncBrowserToAssets(asset_data, false, py_focus && PyObject_IsTrue(py_focus)); + ContentBrowserModule.Get().SyncBrowserToAssets(asset_data, false, bFocus); } if (uobjects.Num() > 0) { - ContentBrowserModule.Get().SyncBrowserToAssets(uobjects, false, py_focus && PyObject_IsTrue(py_focus)); + ContentBrowserModule.Get().SyncBrowserToAssets(uobjects, false, bFocus); } + Py_END_ALLOW_THREADS; Py_DECREF(py_iter); @@ -2359,9 +2401,14 @@ PyObject *py_unreal_engine_export_assets(PyObject * self, PyObject * args) Py_DECREF(py_iter); - FAssetToolsModule& AssetToolsModule = FModuleManager::LoadModuleChecked("AssetTools"); + #if ENGINE_MINOR_VERSION > 16 + Py_BEGIN_ALLOW_THREADS; + FAssetToolsModule& AssetToolsModule = FModuleManager::LoadModuleChecked("AssetTools"); AssetToolsModule.Get().ExportAssets(UObjects, FString(UTF8_TO_TCHAR(filename))); + Py_END_ALLOW_THREADS; +#else + return PyErr_Format(PyExc_Exception, "Asset exporting not supported in this engine version"); #endif Py_RETURN_NONE; diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index dffa50ebd..5ecac8ea4 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -2052,15 +2052,11 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in return false; if (PyObject_IsTrue(py_obj)) { - Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, true, index); - Py_END_ALLOW_THREADS; } else { - Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, false, index); - Py_END_ALLOW_THREADS; } return true; } @@ -2070,54 +2066,42 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in if (auto casted_prop = Cast(prop)) { PyObject *py_long = PyNumber_Long(py_obj); - Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsLong(py_long), index); - Py_END_ALLOW_THREADS; Py_DECREF(py_long); return true; } if (auto casted_prop = Cast(prop)) { PyObject *py_long = PyNumber_Long(py_obj); - Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsUnsignedLong(py_long), index); - Py_END_ALLOW_THREADS; Py_DECREF(py_long); return true; } if (auto casted_prop = Cast(prop)) { PyObject *py_long = PyNumber_Long(py_obj); - Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsLongLong(py_long), index); - Py_END_ALLOW_THREADS; Py_DECREF(py_long); return true; } if (auto casted_prop = Cast(prop)) { PyObject *py_long = PyNumber_Long(py_obj); - Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsUnsignedLongLong(py_long), index); - Py_END_ALLOW_THREADS; Py_DECREF(py_long); return true; } if (auto casted_prop = Cast(prop)) { PyObject *py_float = PyNumber_Float(py_obj); - Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, PyFloat_AsDouble(py_float), index); - Py_END_ALLOW_THREADS; Py_DECREF(py_float); return true; } if (auto casted_prop = Cast(prop)) { PyObject *py_long = PyNumber_Long(py_obj); - Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, PyLong_AsUnsignedLong(py_long), index); - Py_END_ALLOW_THREADS; Py_DECREF(py_long); return true; } @@ -2126,9 +2110,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { PyObject *py_long = PyNumber_Long(py_obj); void *prop_addr = casted_prop->ContainerPtrToValuePtr(buffer, index); - Py_BEGIN_ALLOW_THREADS; casted_prop->GetUnderlyingProperty()->SetIntPropertyValue(prop_addr, (uint64)PyLong_AsUnsignedLong(py_long)); - Py_END_ALLOW_THREADS; Py_DECREF(py_long); return true; } @@ -2142,23 +2124,17 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { if (auto casted_prop = Cast(prop)) { - Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_obj)), index); - Py_END_ALLOW_THREADS; return true; } if (auto casted_prop = Cast(prop)) { - Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_obj)), index); - Py_END_ALLOW_THREADS; return true; } if (auto casted_prop = Cast(prop)) { - Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, FText::FromString(UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_obj))), index); - Py_END_ALLOW_THREADS; return true; } return false; @@ -2176,7 +2152,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in Py_ssize_t pybytes_len = PyBytes_Size(py_obj); uint8 *buf = (uint8 *)PyBytes_AsString(py_obj); - Py_BEGIN_ALLOW_THREADS; + // fix array helper size if (helper.Num() < pybytes_len) { @@ -2189,7 +2165,6 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in FMemory::Memcpy(helper.GetRawPtr(), buf, pybytes_len); - Py_END_ALLOW_THREADS; return true; } } @@ -2209,7 +2184,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in Py_ssize_t pybytes_len = PyByteArray_Size(py_obj); uint8 *buf = (uint8 *)PyByteArray_AsString(py_obj); - Py_BEGIN_ALLOW_THREADS; + // fix array helper size if (helper.Num() < pybytes_len) { @@ -2222,7 +2197,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in FMemory::Memcpy(helper.GetRawPtr(), buf, pybytes_len); - Py_END_ALLOW_THREADS; + return true; } } @@ -2341,9 +2316,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { if (casted_prop->Struct == TBaseStructure::Get()) { - Py_BEGIN_ALLOW_THREADS; *casted_prop->ContainerPtrToValuePtr(buffer, index) = py_vec->vec; - Py_END_ALLOW_THREADS; return true; } } @@ -2356,9 +2329,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { if (casted_prop->Struct == TBaseStructure::Get()) { - Py_BEGIN_ALLOW_THREADS; *casted_prop->ContainerPtrToValuePtr(buffer, index) = py_rot->rot; - Py_END_ALLOW_THREADS; return true; } } @@ -2371,9 +2342,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { if (casted_prop->Struct == TBaseStructure::Get()) { - Py_BEGIN_ALLOW_THREADS; *casted_prop->ContainerPtrToValuePtr(buffer, index) = py_transform->transform; - Py_END_ALLOW_THREADS; return true; } } @@ -2386,9 +2355,8 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { if (casted_prop->Struct == TBaseStructure::Get()) { - Py_BEGIN_ALLOW_THREADS; + *casted_prop->ContainerPtrToValuePtr(buffer, index) = py_color->color; - Py_END_ALLOW_THREADS; return true; } } @@ -2401,9 +2369,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { if (casted_prop->Struct == TBaseStructure::Get()) { - Py_BEGIN_ALLOW_THREADS; *casted_prop->ContainerPtrToValuePtr(buffer, index) = py_color->color; - Py_END_ALLOW_THREADS; return true; } } @@ -2416,9 +2382,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { if (casted_prop->Struct == FHitResult::StaticStruct()) { - Py_BEGIN_ALLOW_THREADS; *casted_prop->ContainerPtrToValuePtr(buffer, index) = py_hit->hit; - Py_END_ALLOW_THREADS; return true; } } @@ -2433,10 +2397,8 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { if (casted_prop->Struct == py_u_struct->u_struct) { - Py_BEGIN_ALLOW_THREADS; uint8 *dest = casted_prop->ContainerPtrToValuePtr(buffer, index); FMemory::Memcpy(dest, py_u_struct->data, py_u_struct->u_struct->GetStructureSize()); - Py_END_ALLOW_THREADS; return true; } } @@ -2450,30 +2412,26 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { if (auto casted_prop = Cast(prop)) { - Py_BEGIN_ALLOW_THREADS; casted_prop->SetPropertyValue_InContainer(buffer, ue_obj->ue_object, index); - Py_END_ALLOW_THREADS; return true; } else if (auto casted_prop_soft_class = Cast(prop)) { - Py_BEGIN_ALLOW_THREADS; casted_prop_soft_class->SetPropertyValue_InContainer(buffer, FSoftObjectPtr(ue_obj->ue_object), index); - Py_END_ALLOW_THREADS; return true; } else if (auto casted_prop_soft_object = Cast(prop)) { - Py_BEGIN_ALLOW_THREADS; + casted_prop_soft_object->SetPropertyValue_InContainer(buffer, FSoftObjectPtr(ue_obj->ue_object), index); - Py_END_ALLOW_THREADS; + return true; } else if (auto casted_prop_weak_object = Cast(prop)) { - Py_BEGIN_ALLOW_THREADS; + casted_prop_weak_object->SetPropertyValue_InContainer(buffer, FWeakObjectPtr(ue_obj->ue_object), index); - Py_END_ALLOW_THREADS; + return true; } else if (auto casted_prop_base = Cast(prop)) @@ -2481,9 +2439,9 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in // ensure the object type is correct, otherwise crash could happen (soon or later) if (!ue_obj->ue_object->IsA(casted_prop_base->PropertyClass)) return false; - Py_BEGIN_ALLOW_THREADS; + casted_prop_base->SetObjectPropertyValue_InContainer(buffer, ue_obj->ue_object, index); - Py_END_ALLOW_THREADS; + return true; } @@ -2498,18 +2456,18 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in // ensure the object type is correct, otherwise crash could happen (soon or later) if (!ue_obj->ue_object->IsA(casted_prop->PropertyClass)) return false; - Py_BEGIN_ALLOW_THREADS; + casted_prop->SetObjectPropertyValue_InContainer(buffer, ue_obj->ue_object, index); - Py_END_ALLOW_THREADS; + return true; } else if (auto casted_prop_soft_object = Cast(prop)) { if (!ue_obj->ue_object->IsA(casted_prop_soft_object->PropertyClass)) return false; - Py_BEGIN_ALLOW_THREADS; + casted_prop_soft_object->SetPropertyValue_InContainer(buffer, FSoftObjectPtr(ue_obj->ue_object), index); - Py_END_ALLOW_THREADS; + return true; } else if (auto casted_prop_interface = Cast(prop)) @@ -2517,9 +2475,9 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in // ensure the object type is correct, otherwise crash could happen (soon or later) if (!ue_obj->ue_object->GetClass()->ImplementsInterface(casted_prop_interface->InterfaceClass)) return false; - Py_BEGIN_ALLOW_THREADS; + casted_prop_interface->SetPropertyValue_InContainer(buffer, FScriptInterface(ue_obj->ue_object), index); - Py_END_ALLOW_THREADS; + return true; } } @@ -2531,17 +2489,17 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in auto casted_prop_class = Cast(prop); if (casted_prop_class) { - Py_BEGIN_ALLOW_THREADS; + casted_prop_class->SetPropertyValue_InContainer(buffer, nullptr, index); - Py_END_ALLOW_THREADS; + return true; } auto casted_prop = Cast(prop); if (casted_prop) { - Py_BEGIN_ALLOW_THREADS; + casted_prop->SetObjectPropertyValue_InContainer(buffer, nullptr, index); - Py_END_ALLOW_THREADS; + return true; } return false; diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp index ee0d5b4a6..8c5f6e88d 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyMaterial.cpp @@ -265,20 +265,13 @@ PyObject *py_ue_set_material_texture_parameter(ue_PyUObject *self, PyObject * ar PyObject *textureObject = nullptr; if (!PyArg_ParseTuple(args, "sO:set_texture_parameter", &textureName, &textureObject)) { - return NULL; - } - - if (!ue_is_pyuobject(textureObject)) - { - return PyErr_Format(PyExc_Exception, "argument is not a UObject"); + return nullptr; } - ue_PyUObject *py_obj = (ue_PyUObject *)textureObject; - if (!py_obj->ue_object->IsA()) + UTexture *ue_texture = ue_py_check_type(textureObject); + if (!ue_texture) return PyErr_Format(PyExc_Exception, "uobject is not a UTexture"); - UTexture *ue_texture = (UTexture *)py_obj->ue_object; - FName parameterName(UTF8_TO_TCHAR(textureName)); bool valid = false; diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp index 6fb25cb3b..62a148eb7 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp @@ -291,7 +291,9 @@ PyObject *py_ue_post_edit_change(ue_PyUObject *self, PyObject * args) ue_py_check(self); #if WITH_EDITOR + Py_BEGIN_ALLOW_THREADS; self->ue_object->PostEditChange(); + Py_END_ALLOW_THREADS; #endif Py_RETURN_NONE; } @@ -325,8 +327,10 @@ PyObject *py_ue_post_edit_change_property(ue_PyUObject *self, PyObject * args) return PyErr_Format(PyExc_Exception, "unable to find property %s", prop_name); #if WITH_EDITOR + Py_BEGIN_ALLOW_THREADS; FPropertyChangedEvent changed(prop, change_type); self->ue_object->PostEditChangeProperty(changed); + Py_END_ALLOW_THREADS; #endif Py_RETURN_NONE; } @@ -336,7 +340,9 @@ PyObject *py_ue_modify(ue_PyUObject *self, PyObject * args) ue_py_check(self); #if WITH_EDITOR + Py_BEGIN_ALLOW_THREADS; self->ue_object->Modify(); + Py_END_ALLOW_THREADS; #endif Py_RETURN_NONE; } @@ -372,7 +378,9 @@ PyObject *py_ue_pre_edit_change(ue_PyUObject *self, PyObject * args) } #if WITH_EDITOR + Py_BEGIN_ALLOW_THREADS; self->ue_object->PreEditChange(prop); + Py_END_ALLOW_THREADS; #endif Py_RETURN_NONE; } @@ -558,8 +566,7 @@ PyObject *py_ue_set_name(ue_PyUObject *self, PyObject * args) if (self->ue_object->Rename(UTF8_TO_TCHAR(name))) { - Py_INCREF(Py_True); - return Py_True; + Py_RETURN_TRUE; } Py_RETURN_FALSE; @@ -650,7 +657,9 @@ PyObject *py_ue_save_config(ue_PyUObject *self, PyObject * args) ue_py_check(self); + Py_BEGIN_ALLOW_THREADS; self->ue_object->SaveConfig(); + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } @@ -947,10 +956,10 @@ PyObject *py_ue_broadcast(ue_PyUObject *self, PyObject *args) if (auto casted_prop = Cast(u_property)) { + Py_BEGIN_ALLOW_THREADS; FMulticastScriptDelegate multiscript_delegate = casted_prop->GetPropertyValue_InContainer(self->ue_object); uint8 *parms = (uint8 *)FMemory_Alloca(casted_prop->SignatureFunction->PropertiesSize); FMemory::Memzero(parms, casted_prop->SignatureFunction->PropertiesSize); - Py_BEGIN_ALLOW_THREADS; multiscript_delegate.ProcessMulticastDelegate(parms); Py_END_ALLOW_THREADS; } @@ -1176,12 +1185,10 @@ PyObject *py_ue_is_rooted(ue_PyUObject *self, PyObject * args) if (self->ue_object->IsRooted()) { - Py_INCREF(Py_True); - return Py_True; + Py_RETURN_TRUE; } - Py_INCREF(Py_False); - return Py_False; + Py_RETURN_FALSE; } @@ -1192,8 +1199,7 @@ PyObject *py_ue_add_to_root(ue_PyUObject *self, PyObject * args) self->ue_object->AddToRoot(); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_ue_auto_root(ue_PyUObject *self, PyObject * args) @@ -1814,7 +1820,10 @@ PyObject *py_ue_import_custom_properties(ue_PyUObject * self, PyObject * args) } FFeedbackContextAnsi context; + + Py_BEGIN_ALLOW_THREADS; self->ue_object->ImportCustomProperties(UTF8_TO_TCHAR(t3d), &context); + Py_END_ALLOW_THREADS; TArray errors; context.GetErrors(errors); @@ -1867,12 +1876,10 @@ PyObject *py_ue_asset_reimport(ue_PyUObject * self, PyObject * args) if (FReimportManager::Instance()->Reimport(self->ue_object, ask_for_new_file, show_notification, f_filename)) { - Py_INCREF(Py_True); - return Py_True; + Py_RETURN_TRUE; } - Py_INCREF(Py_False); - return Py_False; + Py_RETURN_FALSE; } PyObject *py_ue_duplicate(ue_PyUObject * self, PyObject * args) @@ -1894,11 +1901,15 @@ PyObject *py_ue_duplicate(ue_PyUObject * self, PyObject * args) TSet refused; + UObject *new_asset = nullptr; + + Py_BEGIN_ALLOW_THREADS; #if ENGINE_MINOR_VERSION < 14 - UObject *new_asset = ObjectTools::DuplicateSingleObject(self->ue_object, pgn, refused); + new_asset = ObjectTools::DuplicateSingleObject(self->ue_object, pgn, refused); #else - UObject *new_asset = ObjectTools::DuplicateSingleObject(self->ue_object, pgn, refused, (py_overwrite && PyObject_IsTrue(py_overwrite))); + new_asset = ObjectTools::DuplicateSingleObject(self->ue_object, pgn, refused, (py_overwrite && PyObject_IsTrue(py_overwrite))); #endif + Py_END_ALLOW_THREADS; if (!new_asset) return PyErr_Format(PyExc_Exception, "unable to duplicate object"); From 4c47cbc8ad8b9870d22f2030b79478772ec5b0f6 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 15 Jun 2018 16:53:05 +0200 Subject: [PATCH 188/538] multithreading for commandlets --- Source/UnrealEnginePython/Private/PyCommandlet.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/PyCommandlet.cpp b/Source/UnrealEnginePython/Private/PyCommandlet.cpp index 3a6d35d58..b2bd9bd31 100644 --- a/Source/UnrealEnginePython/Private/PyCommandlet.cpp +++ b/Source/UnrealEnginePython/Private/PyCommandlet.cpp @@ -94,12 +94,16 @@ int32 UPyCommandlet::Main(const FString& CommandLine) strcpy_s(argv[i], PyArgv[i].Len() + 1, TCHAR_TO_UTF8(*PyArgv[i].ReplaceEscapedCharWithChar())); #endif #endif -} + } PySys_SetArgv(PyArgv.Num(), argv); + Py_BEGIN_ALLOW_THREADS; + FUnrealEnginePythonModule &PythonModule = FModuleManager::GetModuleChecked("UnrealEnginePython"); PythonModule.BrutalFinalize = true; PythonModule.RunFile(TCHAR_TO_UTF8(*Filepath)); + + Py_END_ALLOW_THREADS; return 0; } From 37afc4c65dcd407d8320193d5126b4e192b9e51d Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 15 Jun 2018 17:41:42 +0200 Subject: [PATCH 189/538] fixed transactions in commandlets --- Source/UnrealEnginePython/Private/PyCommandlet.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Source/UnrealEnginePython/Private/PyCommandlet.cpp b/Source/UnrealEnginePython/Private/PyCommandlet.cpp index b2bd9bd31..1f5bd0671 100644 --- a/Source/UnrealEnginePython/Private/PyCommandlet.cpp +++ b/Source/UnrealEnginePython/Private/PyCommandlet.cpp @@ -3,6 +3,9 @@ #include "PyCommandlet.h" #include "UEPyModule.h" +#if WITH_EDITOR +#include "Editor.h" +#endif #include "Regex.h" @@ -16,6 +19,11 @@ int32 UPyCommandlet::Main(const FString& CommandLine) { FScopePythonGIL gil; +#if WITH_EDITOR + // this allows commandlet's to use factories + GEditor->Trans = GEditor->CreateTrans(); +#endif + TArray Tokens, Switches; TMap Params; ParseCommandLine(*CommandLine, Tokens, Switches, Params); From 14de0249f3242266bbacf8e582c105150285383d Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 16 Jun 2018 15:48:56 +0200 Subject: [PATCH 190/538] thread safe FARFilter --- .../Private/PyCommandlet.cpp | 1 + .../UEPyFSlateApplication.cpp | 13 +++++++++ .../UnrealEnginePython/Private/UEPyEditor.cpp | 19 +++++++----- .../UnrealEnginePython/Private/UEPyEngine.cpp | 29 +++++++++++++++---- .../UnrealEnginePython/Private/UEPyEngine.h | 2 ++ .../UnrealEnginePython/Private/UEPyModule.cpp | 1 + .../Private/UnrealEnginePython.cpp | 1 - 7 files changed, 53 insertions(+), 13 deletions(-) diff --git a/Source/UnrealEnginePython/Private/PyCommandlet.cpp b/Source/UnrealEnginePython/Private/PyCommandlet.cpp index 1f5bd0671..1e8f4a832 100644 --- a/Source/UnrealEnginePython/Private/PyCommandlet.cpp +++ b/Source/UnrealEnginePython/Private/PyCommandlet.cpp @@ -22,6 +22,7 @@ int32 UPyCommandlet::Main(const FString& CommandLine) #if WITH_EDITOR // this allows commandlet's to use factories GEditor->Trans = GEditor->CreateTrans(); + #endif TArray Tokens, Switches; diff --git a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp index 270eaf586..939503264 100644 --- a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp +++ b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp @@ -2,6 +2,7 @@ #include "UEPyFSlateApplication.h" #include "Slate/UEPySWidget.h" +#include "Runtime/SlateRHIRenderer/Public/Interfaces/ISlateRHIRendererModule.h" static PyObject *py_ue_get_average_delta_time(PyObject *cls, PyObject * args) { @@ -151,7 +152,19 @@ static PyObject *py_ue_process_key_char_event(PyObject *cls, PyObject * args) Py_RETURN_FALSE; } +static PyObject *py_ue_create(PyObject *cls, PyObject * args) +{ + FSlateApplication::InitHighDPI(); + FSlateApplication::Create(); + + TSharedRef SlateRenderer = FModuleManager::Get().LoadModuleChecked("SlateRHIRenderer").CreateSlateRHIRenderer(); + FSlateApplication::Get().InitializeRenderer(SlateRenderer); + + Py_RETURN_NONE; +} + static PyMethodDef ue_PyFSlateApplication_methods[] = { + { "create", (PyCFunction)py_ue_create, METH_VARARGS | METH_CLASS, "" }, { "get_average_delta_time", (PyCFunction)py_ue_get_average_delta_time, METH_VARARGS | METH_CLASS, "" }, { "get_cursor_radius", (PyCFunction)py_ue_get_cursor_radius, METH_VARARGS | METH_CLASS, "" }, { "get_delta_time", (PyCFunction)py_ue_get_delta_time, METH_VARARGS | METH_CLASS, "" }, diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index 0583d51ff..2cd2e08a1 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -823,21 +823,26 @@ PyObject *py_unreal_engine_get_assets_by_filter(PyObject * self, PyObject * args if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|O:get_assets_by_filter", kw_names, &pyfilter, &py_return_asset_data)) { - return NULL; + return nullptr; } - ue_PyFARFilter *filter = py_ue_is_farfilter(pyfilter); - if (!filter) + ue_PyFARFilter *py_filter = py_ue_is_farfilter(pyfilter); + if (!py_filter) return PyErr_Format(PyExc_Exception, "Arg is not a FARFilter"); - if (!GEditor) - return PyErr_Format(PyExc_Exception, "no GEditor found"); + FARFilter& Filter = py_filter->filter; + + py_ue_sync_farfilter((PyObject *)py_filter); - py_ue_sync_farfilter((PyObject *)filter); TArray assets; + + Py_BEGIN_ALLOW_THREADS; + FAssetRegistryModule& AssetRegistryModule = FModuleManager::GetModuleChecked("AssetRegistry"); AssetRegistryModule.Get().SearchAllAssets(true); - AssetRegistryModule.Get().GetAssets(filter->filter, assets); + AssetRegistryModule.Get().GetAssets(Filter, assets); + + Py_END_ALLOW_THREADS; bool return_asset_data = false; if (py_return_asset_data && PyObject_IsTrue(py_return_asset_data)) diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index 8057a79dd..2f3b3e749 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -19,6 +19,8 @@ #include "HAL/PlatformApplicationMisc.h" #endif +#include "Runtime/Launch/Public/LaunchEngineLoop.h" + PyObject *py_unreal_engine_log(PyObject * self, PyObject * args) { @@ -479,21 +481,38 @@ PyObject *py_unreal_engine_guid_to_string(PyObject * self, PyObject * args) PyObject *py_unreal_engine_slate_tick(PyObject * self, PyObject * args) { + Py_BEGIN_ALLOW_THREADS; FSlateApplication::Get().PumpMessages(); FSlateApplication::Get().Tick(); + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } PyObject *py_unreal_engine_engine_tick(PyObject * self, PyObject * args) { float delta_seconds = FApp::GetDeltaTime(); - PyObject *py_bool = nullptr; - if (!PyArg_ParseTuple(args, "|fO:engine_tick", &delta_seconds, &py_bool)) + PyObject *py_idle = nullptr; + if (!PyArg_ParseTuple(args, "|fO:engine_tick", &delta_seconds, &py_idle)) { - return NULL; + return nullptr; } - GEngine->Tick(delta_seconds, (py_bool && PyObject_IsTrue(py_bool)) ? true : false); + bool bIdle = false; + if (py_idle && PyObject_IsTrue(py_idle)) + bIdle = true; + + Py_BEGIN_ALLOW_THREADS; + GEngine->Tick(delta_seconds, bIdle); + Py_END_ALLOW_THREADS; + + Py_RETURN_NONE; +} + +PyObject *py_unreal_engine_tick_rendering_tickables(PyObject * self, PyObject * args) +{ + Py_BEGIN_ALLOW_THREADS; + TickRenderingTickables(); + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } @@ -1250,7 +1269,7 @@ PyObject *py_unreal_engine_clipboard_copy(PyObject * self, PyObject * args) FGenericPlatformMisc::ClipboardCopy(UTF8_TO_TCHAR(text)); #endif Py_RETURN_NONE; -} + } PyObject *py_unreal_engine_clipboard_paste(PyObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.h b/Source/UnrealEnginePython/Private/UEPyEngine.h index bbe3d8fa8..21745f1f5 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.h +++ b/Source/UnrealEnginePython/Private/UEPyEngine.h @@ -47,6 +47,8 @@ PyObject *py_unreal_engine_engine_tick(PyObject *, PyObject *); PyObject *py_unreal_engine_slate_tick(PyObject *, PyObject *); PyObject *py_unreal_engine_get_delta_time(PyObject *, PyObject *); +PyObject *py_unreal_engine_tick_rendering_tickables(PyObject *, PyObject *); + PyObject *py_unreal_engine_all_classes(PyObject *, PyObject *); PyObject *py_unreal_engine_all_worlds(PyObject *, PyObject *); PyObject *py_unreal_engine_tobject_iterator(PyObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 5ecac8ea4..69a7abae1 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -361,6 +361,7 @@ static PyMethodDef unreal_engine_methods[] = { #endif { "engine_tick", py_unreal_engine_engine_tick, METH_VARARGS, "" }, + { "tick_rendering_tickables", py_unreal_engine_tick_rendering_tickables, METH_VARARGS, "" }, #if WITH_EDITOR { "all_viewport_clients", py_unreal_engine_all_viewport_clients , METH_VARARGS, "" }, #endif diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 3e8cac2f1..d50843fab 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -172,7 +172,6 @@ namespace { cmdString += argStr.TrimQuotes() + '\n'; } - UPythonBlueprintFunctionLibrary::ExecutePythonString(cmdString); } } From ddd9c3794123572708be2839d2b234734683a23a Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 17 Jun 2018 17:00:54 +0200 Subject: [PATCH 191/538] updated Automation module to the new multitrheading api --- .../Private/UEPyFAutomationEditorCommonUtils.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Source/PythonAutomation/Private/UEPyFAutomationEditorCommonUtils.cpp b/Source/PythonAutomation/Private/UEPyFAutomationEditorCommonUtils.cpp index 0ae56b44e..d0576d48d 100644 --- a/Source/PythonAutomation/Private/UEPyFAutomationEditorCommonUtils.cpp +++ b/Source/PythonAutomation/Private/UEPyFAutomationEditorCommonUtils.cpp @@ -7,7 +7,9 @@ static PyObject *py_ue_fautomation_editor_common_utils_run_pie(PyObject *cls, PyObject * args) { + Py_BEGIN_ALLOW_THREADS; FAutomationEditorCommonUtils::RunPIE(); + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } @@ -16,7 +18,9 @@ static PyObject *py_ue_fautomation_editor_common_utils_load_map(PyObject *cls, P char *map_name; if (!PyArg_ParseTuple(args, "s:load_map", &map_name)) return nullptr; + Py_BEGIN_ALLOW_THREADS; FAutomationEditorCommonUtils::LoadMap(FString(UTF8_TO_TCHAR(map_name))); + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } From 1a958acdeaa6de2447f80593dc4cc1e5407083ee Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 19 Jun 2018 12:38:03 +0200 Subject: [PATCH 192/538] ported to $.15 --- Source/PythonEditor/Private/PythonProjectEditor.h | 3 +++ .../Private/SlateApplication/UEPyFSlateApplication.cpp | 2 ++ 2 files changed, 5 insertions(+) diff --git a/Source/PythonEditor/Private/PythonProjectEditor.h b/Source/PythonEditor/Private/PythonProjectEditor.h index 1255ec35e..197878b7e 100644 --- a/Source/PythonEditor/Private/PythonProjectEditor.h +++ b/Source/PythonEditor/Private/PythonProjectEditor.h @@ -4,6 +4,7 @@ #include "WorkflowCentricApplication.h" #include "Editor/Kismet/Public/WorkflowOrientedApp/WorkflowTabManager.h" +#include "Runtime/Launch/Resources/Version.h" class FPythonProjectEditor : public FWorkflowCentricApplication, public FGCObject { @@ -103,5 +104,7 @@ class FPythonProjectEditor : public FWorkflowCentricApplication, public FGCObjec static TWeakPtr PythonEditor; virtual bool CanSaveAsset() const override { return false; } +#if ENGINE_MINOR_VERSION > 15 virtual bool CanFindInContentBrowser() const override { return false; } +#endif }; diff --git a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp index 939503264..fe41e7536 100644 --- a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp +++ b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp @@ -154,7 +154,9 @@ static PyObject *py_ue_process_key_char_event(PyObject *cls, PyObject * args) static PyObject *py_ue_create(PyObject *cls, PyObject * args) { +#if ENGINE_MINOR_VERSION > 15 FSlateApplication::InitHighDPI(); +#endif FSlateApplication::Create(); TSharedRef SlateRenderer = FModuleManager::Get().LoadModuleChecked("SlateRHIRenderer").CreateSlateRHIRenderer(); From 92d1dccd1ad316dfe3dfa29fbd55338b1459a2e5 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 19 Jun 2018 13:09:35 +0200 Subject: [PATCH 193/538] 4.16 fixes --- Source/PythonEditor/Private/PythonProjectEditor.h | 2 +- .../Private/SlateApplication/UEPyFSlateApplication.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/PythonEditor/Private/PythonProjectEditor.h b/Source/PythonEditor/Private/PythonProjectEditor.h index 197878b7e..f795eb213 100644 --- a/Source/PythonEditor/Private/PythonProjectEditor.h +++ b/Source/PythonEditor/Private/PythonProjectEditor.h @@ -104,7 +104,7 @@ class FPythonProjectEditor : public FWorkflowCentricApplication, public FGCObjec static TWeakPtr PythonEditor; virtual bool CanSaveAsset() const override { return false; } -#if ENGINE_MINOR_VERSION > 15 +#if ENGINE_MINOR_VERSION > 16 virtual bool CanFindInContentBrowser() const override { return false; } #endif }; diff --git a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp index fe41e7536..af7492f18 100644 --- a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp +++ b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp @@ -154,7 +154,7 @@ static PyObject *py_ue_process_key_char_event(PyObject *cls, PyObject * args) static PyObject *py_ue_create(PyObject *cls, PyObject * args) { -#if ENGINE_MINOR_VERSION > 15 +#if ENGINE_MINOR_VERSION > 16 FSlateApplication::InitHighDPI(); #endif FSlateApplication::Create(); From a8fe207e557594cb340f47e9b181c4f9b5a337ea Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 19 Jun 2018 13:26:31 +0200 Subject: [PATCH 194/538] fixed 4.17 --- Source/PythonEditor/Private/PythonProjectEditor.h | 2 +- .../Private/SlateApplication/UEPyFSlateApplication.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/PythonEditor/Private/PythonProjectEditor.h b/Source/PythonEditor/Private/PythonProjectEditor.h index f795eb213..828f8b19c 100644 --- a/Source/PythonEditor/Private/PythonProjectEditor.h +++ b/Source/PythonEditor/Private/PythonProjectEditor.h @@ -104,7 +104,7 @@ class FPythonProjectEditor : public FWorkflowCentricApplication, public FGCObjec static TWeakPtr PythonEditor; virtual bool CanSaveAsset() const override { return false; } -#if ENGINE_MINOR_VERSION > 16 +#if ENGINE_MINOR_VERSION > 17 virtual bool CanFindInContentBrowser() const override { return false; } #endif }; diff --git a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp index af7492f18..b988c64f7 100644 --- a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp +++ b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp @@ -154,7 +154,7 @@ static PyObject *py_ue_process_key_char_event(PyObject *cls, PyObject * args) static PyObject *py_ue_create(PyObject *cls, PyObject * args) { -#if ENGINE_MINOR_VERSION > 16 +#if ENGINE_MINOR_VERSION > 17 FSlateApplication::InitHighDPI(); #endif FSlateApplication::Create(); From 28b14b82919fa051ba23426380de3bf80acbba17 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 19 Jun 2018 13:54:12 +0200 Subject: [PATCH 195/538] ported to 4.18 --- .../Private/SlateApplication/UEPyFSlateApplication.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp index b988c64f7..e05cfe8fe 100644 --- a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp +++ b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp @@ -154,7 +154,7 @@ static PyObject *py_ue_process_key_char_event(PyObject *cls, PyObject * args) static PyObject *py_ue_create(PyObject *cls, PyObject * args) { -#if ENGINE_MINOR_VERSION > 17 +#if ENGINE_MINOR_VERSION > 18 FSlateApplication::InitHighDPI(); #endif FSlateApplication::Create(); From 8704fab5390ba183d25a0750dbf22a7150f1ef9e Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 22 Jun 2018 13:02:19 +0200 Subject: [PATCH 196/538] first round of patches for 4.20 support --- .../UnrealEnginePython/Private/PyUserWidget.cpp | 8 ++++++++ .../Private/UObject/UEPyObject.cpp | 6 +++++- .../Private/UObject/UEPySkeletal.cpp | 15 +++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/PyUserWidget.cpp b/Source/UnrealEnginePython/Private/PyUserWidget.cpp index 888b2dd3c..c1e4e3915 100644 --- a/Source/UnrealEnginePython/Private/PyUserWidget.cpp +++ b/Source/UnrealEnginePython/Private/PyUserWidget.cpp @@ -72,10 +72,18 @@ void UPyUserWidget::NativeConstruct() PyObject_SetAttrString(py_user_widget_instance, (char*)"uobject", (PyObject *)py_uobject); if (PythonTickForceDisabled) +#if ENGINE_MINOR_VERSION < 20 bCanEverTick = false; +#else + bHasScriptImplementedTick = false; +#endif if (PythonPaintForceDisabled) +#if ENGINE_MINOR_VERSION < 20 bCanEverPaint = false; +#else + bHasScriptImplementedPaint = false; +#endif if (!PyObject_HasAttrString(py_user_widget_instance, (char *)"construct")) return; diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp index 62a148eb7..8a848dee8 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp @@ -1535,9 +1535,13 @@ PyObject *py_ue_add_property(ue_PyUObject * self, PyObject * args) } UMapProperty *u_map = (UMapProperty *)scope; - +#if ENGINE_MINOR_VERSION < 20 u_property->SetPropertyFlags(flags); u_property2->SetPropertyFlags(flags); +#else + u_property->SetPropertyFlags((EPropertyFlags)flags); + u_property2->SetPropertyFlags((EPropertyFlags)flags); +#endif if (u_property->GetClass() == UObjectProperty::StaticClass()) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp index c456e1c96..0ac97e646 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySkeletal.cpp @@ -902,7 +902,12 @@ PyObject *py_ue_skeletal_mesh_build_lod(ue_PyUObject *self, PyObject * args, PyO #else resource->LODModels.Add(new FSkeletalMeshLODModel()); #endif + +#if ENGINE_MINOR_VERSION < 20 mesh->LODInfo.AddZeroed(); +#else + mesh->AddLODInfo(); +#endif } else { @@ -920,10 +925,20 @@ PyObject *py_ue_skeletal_mesh_build_lod(ue_PyUObject *self, PyObject * args, PyO FSkeletalMeshLODModel& LODModel = resource->LODModels[lod_index]; #endif +#if ENGINE_MINOR_VERSION < 20 mesh->LODInfo[lod_index].LODHysteresis = 0.02; +#else + mesh->GetLODInfo(lod_index)->LODHysteresis = 0.02; +#endif FSkeletalMeshOptimizationSettings settings; + +#if ENGINE_MINOR_VERSION < 20 mesh->LODInfo[lod_index].ReductionSettings = settings; +#else + mesh->GetLODInfo(lod_index)->ReductionSettings = settings; +#endif + LODModel.NumTexCoords = 1; From 734dff378d8c2a3b7b20a28a1435fb255f1a17ad Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 22 Jun 2018 14:53:11 +0200 Subject: [PATCH 197/538] more 4.20 fixes --- .../Private/UObject/UEPyCapture.cpp | 9 ++++++--- .../Private/UObject/UEPyNavigation.cpp | 11 +++++++++-- .../Private/UObject/UEPyObject.cpp | 17 ++++++++++++++++- .../Private/UObject/UEPySequencer.cpp | 3 +++ .../Private/Wrappers/UEPyFARFilter.cpp | 4 ++++ 5 files changed, 38 insertions(+), 6 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp index 526d7d9c9..886c9dca5 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp @@ -344,10 +344,10 @@ PyObject *py_unreal_engine_in_editor_capture(PyObject * self, PyObject * args) } Py_BEGIN_ALLOW_THREADS - FInEditorMultiCapture::CreateInEditorMultiCapture(Captures); + FInEditorMultiCapture::CreateInEditorMultiCapture(Captures); Py_END_ALLOW_THREADS - Py_RETURN_NONE; + Py_RETURN_NONE; } PyObject *py_ue_set_level_sequence_asset(ue_PyUObject *self, PyObject *args) @@ -371,8 +371,11 @@ PyObject *py_ue_set_level_sequence_asset(ue_PyUObject *self, PyObject *args) if (!capture) return PyErr_Format(PyExc_Exception, "uobject is not a UAutomatedLevelSequenceCapture"); +#if ENGINE_MINOR_VERSION < 20 capture->SetLevelSequenceAsset(sequence->GetPathName()); - +#else + capture->LevelSequenceAsset = FSoftObjectPath(sequence->GetPathName()); +#endif Py_RETURN_NONE; } #endif diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyNavigation.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyNavigation.cpp index 44584ea54..84e33582b 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyNavigation.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyNavigation.cpp @@ -1,6 +1,10 @@ #include "UEPyNavigation.h" +#if ENGINE_MINOR_VERSION < 20 #include "AI/Navigation/NavigationSystem.h" +#else +#include "Blueprint/AIBlueprintHelperLibrary.h" +#endif #include "GameFramework/Pawn.h" #include "Engine/World.h" @@ -43,9 +47,12 @@ PyObject *py_ue_simple_move_to_location(ue_PyUObject *self, PyObject * args) if (!controller) return PyErr_Format(PyExc_Exception, "Pawn has no controller"); +#if ENGINE_MINOR_VERSION < 20 world->GetNavigationSystem()->SimpleMoveToLocation(controller, vec); +#else + UAIBlueprintHelperLibrary::SimpleMoveToLocation(controller, vec); +#endif - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp index 8a848dee8..adf0801d5 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp @@ -729,8 +729,11 @@ PyObject *py_ue_set_property_flags(ue_PyUObject *self, PyObject * args) if (!u_property) return PyErr_Format(PyExc_Exception, "unable to find property %s", property_name); - +#if ENGINE_MINOR_VERSION < 20 u_property->SetPropertyFlags(flags); +#else + u_property->SetPropertyFlags((EPropertyFlags)flags); +#endif Py_RETURN_NONE; } @@ -762,7 +765,11 @@ PyObject *py_ue_add_property_flags(ue_PyUObject *self, PyObject * args) return PyErr_Format(PyExc_Exception, "unable to find property %s", property_name); +#if ENGINE_MINOR_VERSION < 20 u_property->SetPropertyFlags(u_property->GetPropertyFlags() | flags); +#else + u_property->SetPropertyFlags(u_property->GetPropertyFlags() | (EPropertyFlags)flags); +#endif Py_RETURN_NONE; } @@ -1503,7 +1510,11 @@ PyObject *py_ue_add_property(ue_PyUObject * self, PyObject * args) { UArrayProperty *u_array = (UArrayProperty *)scope; u_array->AddCppProperty(u_property); +#if ENGINE_MINOR_VERSION < 20 u_property->SetPropertyFlags(flags); +#else + u_property->SetPropertyFlags((EPropertyFlags)flags); +#endif if (u_property->GetClass() == UObjectProperty::StaticClass()) { UObjectProperty *obj_prop = (UObjectProperty *)u_property; @@ -1628,7 +1639,11 @@ PyObject *py_ue_add_property(ue_PyUObject * self, PyObject * args) } } +#if ENGINE_MINOR_VERSION < 20 u_property->SetPropertyFlags(flags); +#else + u_property->SetPropertyFlags((EPropertyFlags)flags); +#endif u_property->ArrayDim = 1; UStruct *u_struct = (UStruct *)self->ue_object; diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index 1fbdc70fb..d2d16843d 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -13,13 +13,16 @@ #include "Editor/UnrealEd/Public/Toolkits/AssetEditorManager.h" #include "Private/LevelSequenceEditorToolkit.h" #include "Tracks/MovieSceneCameraCutTrack.h" +#if ENGINE_MINOR_VERSION < 20 #include "Sections/IKeyframeSection.h" +#endif #include "Sections/MovieSceneFloatSection.h" #include "Sections/MovieSceneBoolSection.h" #include "Sections/MovieScene3DTransformSection.h" #include "Sections/MovieSceneVectorSection.h" #include "Runtime/MovieScene/Public/MovieSceneFolder.h" #include "Runtime/MovieScene/Public/MovieSceneSpawnable.h" +#include "Runtime/MovieScene/Public/MovieScenePossessable.h" #if ENGINE_MINOR_VERSION < 18 #include "Editor/UnrealEd/Private/FbxImporter.h" #else diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.cpp index eb5a04c69..7b9182f17 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.cpp @@ -330,7 +330,11 @@ void py_ue_sync_farfilter(PyObject *pyobj) for (int i = 0; i < (int)pyset_len; i++) { py_item = PyList_GetItem(pyset, i); +#if ENGINE_MINOR_VERSION < 20 pyfilter->filter.TagsAndValues.AddUnique(ukey, UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_item))); +#else + pyfilter->filter.TagsAndValues.AddUnique(ukey, FString(UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_item)))); +#endif } } } From b30b1843a83068d59344d3e5ab048b1bd289b186 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 22 Jun 2018 15:04:45 +0200 Subject: [PATCH 198/538] re-indenting --- .../UnrealEnginePython/Private/UObject/UEPySequencer.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index d2d16843d..ebe132316 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -757,7 +757,6 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) bool unwind = (py_unwind && PyObject_IsTrue(py_unwind)); FTransform transform = py_transform->transform; - FTransformKey tx = FTransformKey(EKey3DTransformChannel::Translation, EAxis::X, transform.GetLocation().X, unwind); FTransformKey ty = FTransformKey(EKey3DTransformChannel::Translation, EAxis::Y, transform.GetLocation().Y, unwind); FTransformKey tz = FTransformKey(EKey3DTransformChannel::Translation, EAxis::Z, transform.GetLocation().Z, unwind); @@ -944,7 +943,7 @@ PyObject *py_ue_sequencer_remove_track(ue_PyUObject *self, PyObject * args) Py_RETURN_TRUE; Py_RETURN_FALSE; -} + } #endif @@ -1107,7 +1106,7 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar section->GetTranslationCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetLocation()[ChannelIndex]); section->GetRotationCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetRotation().Euler()[ChannelIndex]); section->GetScaleCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetScale3D()[ChannelIndex]); - } + } #else CurveAPI.GetConvertedTransformCurveData(NodeName, Translation[0], Translation[1], Translation[2], EulerRotation[0], EulerRotation[1], EulerRotation[2], Scale[0], Scale[1], Scale[2]); @@ -1203,13 +1202,13 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar ImportOptions->bConvertSceneUnit = bConverteScene; ImportOptions->bForceFrontXAxis = bConverteScene; Py_RETURN_NONE; -} + } FbxImporter->ReleaseScene(); ImportOptions->bConvertScene = bConverteScene; ImportOptions->bConvertSceneUnit = bConverteSceneUnit; ImportOptions->bForceFrontXAxis = bForceFrontXAxis; return PyErr_Format(PyExc_Exception, "unable to find specified node in Fbx file"); -} + } #endif From afa7a79d8c99ce8f2d15e0a161fab32dc2f476c5 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 22 Jun 2018 19:22:23 +0200 Subject: [PATCH 199/538] more solid threading support --- .../ConsoleManager/UEPyIConsoleManager.cpp | 17 ++++- .../ConsoleManager/UEPyIConsoleManager.h | 39 ++++++++++++ .../UnrealEnginePython/Private/UEPyModule.cpp | 4 +- .../Private/UObject/UEPyTransform.cpp | 63 +++++++++---------- .../Private/UnrealEnginePython.cpp | 2 +- .../Public/PythonHouseKeeper.h | 3 +- .../Public/UnrealEnginePython.h | 8 +-- 7 files changed, 89 insertions(+), 47 deletions(-) diff --git a/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp b/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp index cd39cd599..b3b7c7d62 100644 --- a/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp +++ b/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.cpp @@ -434,6 +434,10 @@ static PyObject *py_ue_iconsole_manager_unregister_object(PyObject *cls, PyObjec return PyErr_Format(PyExc_Exception, "unable to find console object \"%s\"", key); } + + FPythonSmartConsoleDelegate::UnregisterPyDelegate(c_object); + + IConsoleManager::Get().UnregisterConsoleObject(c_object, false); Py_RETURN_NONE; @@ -539,6 +543,9 @@ void FPythonSmartConsoleDelegate::OnConsoleCommand(const TArray < FString > & In Py_DECREF(ret); } +// static TArray declaration +TArray FPythonSmartConsoleDelegate::PyDelegatesMapping; + static PyObject *py_ue_iconsole_manager_register_command(PyObject *cls, PyObject * args) { char *key; @@ -565,10 +572,14 @@ static PyObject *py_ue_iconsole_manager_register_command(PyObject *cls, PyObject FConsoleCommandWithArgsDelegate console_delegate; console_delegate.BindSP(py_delegate, &FPythonSmartConsoleDelegate::OnConsoleCommand); - if (!IConsoleManager::Get().RegisterConsoleCommand(UTF8_TO_TCHAR(key), help ? UTF8_TO_TCHAR(help) : UTF8_TO_TCHAR(key), console_delegate, 0)) - { + + + c_object = IConsoleManager::Get().RegisterConsoleCommand(UTF8_TO_TCHAR(key), help ? UTF8_TO_TCHAR(help) : UTF8_TO_TCHAR(key), console_delegate, 0); + if (!c_object) return PyErr_Format(PyExc_Exception, "unable to register console command \"%s\"", key); - } + + // this allows the delegates to not be destroyed + FPythonSmartConsoleDelegate::RegisterPyDelegate(c_object, py_delegate); Py_RETURN_NONE; } diff --git a/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.h b/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.h index d0204dcfb..eb88b2077 100644 --- a/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.h +++ b/Source/UnrealEnginePython/Private/ConsoleManager/UEPyIConsoleManager.h @@ -10,11 +10,50 @@ typedef struct /* Type-specific fields go here. */ } ue_PyIConsoleManager; +class FPythonSmartConsoleDelegate; +struct FPythonSmartConsoleDelegatePair +{ + IConsoleObject *Key; + TSharedRef Value; + + FPythonSmartConsoleDelegatePair(IConsoleObject *InKey, TSharedRef InValue) : Key(InKey), Value(InValue) + { + + } +}; + class FPythonSmartConsoleDelegate : public FPythonSmartDelegate { public: void OnConsoleCommand(const TArray < FString > &InArgs); + + static void RegisterPyDelegate(IConsoleObject *InKey, TSharedRef InValue) + { + FPythonSmartConsoleDelegatePair Pair(InKey, InValue); + PyDelegatesMapping.Add(Pair); + } + + static void UnregisterPyDelegate(IConsoleObject *Key) + { + int32 Index = -1; + for (int32 i = 0; i < PyDelegatesMapping.Num(); i++) + { + if (PyDelegatesMapping[i].Key == Key) + { + Index = i; + break; + } + } + + if (Index >= 0) + { + PyDelegatesMapping.RemoveAt(Index); + } + } + +private: + static TArray PyDelegatesMapping; }; void ue_python_init_iconsole_manager(PyObject *); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 69a7abae1..d5af14b67 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -157,9 +157,9 @@ static PyObject *py_unreal_engine_exec(PyObject * self, PyObject * args) return NULL; } FUnrealEnginePythonModule &PythonModule = FModuleManager::GetModuleChecked("UnrealEnginePython"); - UEPyGlobalState = PyEval_SaveThread(); + Py_BEGIN_ALLOW_THREADS; PythonModule.RunFile(filename); - PyEval_RestoreThread(UEPyGlobalState); + Py_END_ALLOW_THREADS; Py_RETURN_NONE; } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyTransform.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyTransform.cpp index d4f5b8bf2..34ae1eade 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyTransform.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyTransform.cpp @@ -236,9 +236,7 @@ PyObject *py_ue_set_actor_location(ue_PyUObject *self, PyObject * args) FHitResult hit; bool success = false; - Py_BEGIN_ALLOW_THREADS; success = actor->SetActorLocation(vec, sweep, &hit, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); - Py_END_ALLOW_THREADS; if (!sweep) { @@ -268,9 +266,8 @@ PyObject *py_ue_add_actor_world_offset(ue_PyUObject *self, PyObject * args) PyErr_Format(PyExc_Exception, "uobject is not an actor or a component"); FHitResult hit; - Py_BEGIN_ALLOW_THREADS; + actor->AddActorWorldOffset(vec, sweep, &hit, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); - Py_END_ALLOW_THREADS; if (!sweep) { @@ -296,9 +293,7 @@ PyObject *py_ue_add_actor_local_offset(ue_PyUObject *self, PyObject * args) PyErr_Format(PyExc_Exception, "uobject is not an actor or a component"); FHitResult hit; - Py_BEGIN_ALLOW_THREADS; actor->AddActorLocalOffset(vec, sweep, &hit, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); - Py_END_ALLOW_THREADS; if (!sweep) { @@ -324,9 +319,9 @@ PyObject *py_ue_add_actor_world_rotation(ue_PyUObject *self, PyObject * args) if (!actor) return PyErr_Format(PyExc_Exception, "uobject is not an actor or a component"); FHitResult hit; - Py_BEGIN_ALLOW_THREADS; + actor->AddActorWorldRotation(quat, sweep, &hit, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); - Py_END_ALLOW_THREADS; + if (!sweep) { Py_RETURN_NONE; @@ -351,9 +346,9 @@ PyObject *py_ue_add_actor_local_rotation(ue_PyUObject *self, PyObject * args) return PyErr_Format(PyExc_Exception, "uobject is not an actor or a component"); FHitResult hit; - Py_BEGIN_ALLOW_THREADS; + actor->AddActorLocalRotation(quat, sweep, &hit, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); - Py_END_ALLOW_THREADS; + if (!sweep) { Py_RETURN_NONE; @@ -376,9 +371,9 @@ PyObject *py_ue_set_actor_scale(ue_PyUObject *self, PyObject * args) if (!actor) PyErr_Format(PyExc_Exception, "uobject is not an actor or a component"); - Py_BEGIN_ALLOW_THREADS; + actor->SetActorScale3D(vec); - Py_END_ALLOW_THREADS; + Py_RETURN_NONE; @@ -400,9 +395,9 @@ PyObject *py_ue_set_actor_rotation(ue_PyUObject *self, PyObject * args) bool success = false; - Py_BEGIN_ALLOW_THREADS; + success = actor->SetActorRotation(quat, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); - Py_END_ALLOW_THREADS; + if (success) { @@ -425,9 +420,9 @@ PyObject *py_ue_set_actor_transform(ue_PyUObject *self, PyObject * args) if (!actor) PyErr_Format(PyExc_Exception, "uobject is not an actor or a component"); - Py_BEGIN_ALLOW_THREADS; + actor->SetActorTransform(t); - Py_END_ALLOW_THREADS; + Py_RETURN_NONE; } @@ -567,9 +562,9 @@ PyObject *py_ue_set_world_location(ue_PyUObject *self, PyObject * args) if (self->ue_object->IsA()) { - Py_BEGIN_ALLOW_THREADS; + ((USceneComponent *)self->ue_object)->SetWorldLocation(vec, sweep, &hit, teleport_physics ? ETeleportType::TeleportPhysics : ETeleportType::None); - Py_END_ALLOW_THREADS; + if (!sweep) { Py_RETURN_NONE; @@ -587,11 +582,10 @@ PyObject *py_ue_set_world_rotation(ue_PyUObject *self, PyObject * args) return NULL; if (self->ue_object->IsA()) { - Py_BEGIN_ALLOW_THREADS; + ((USceneComponent *)self->ue_object)->SetWorldRotation(rot); - Py_END_ALLOW_THREADS; - Py_INCREF(Py_None); - return Py_None; + + Py_RETURN_NONE; } return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } @@ -605,10 +599,9 @@ PyObject *py_ue_set_world_scale(ue_PyUObject *self, PyObject * args) if (self->ue_object->IsA()) { - Py_BEGIN_ALLOW_THREADS; + ((USceneComponent *)self->ue_object)->SetWorldScale3D(vec); - Py_RETURN_NONE; - Py_END_ALLOW_THREADS; + } return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); } @@ -626,9 +619,9 @@ PyObject *py_ue_set_world_transform(ue_PyUObject *self, PyObject * args) if (!component) return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); - Py_BEGIN_ALLOW_THREADS; + component->SetWorldTransform(t); - Py_END_ALLOW_THREADS; + Py_RETURN_NONE; } @@ -646,9 +639,9 @@ PyObject *py_ue_set_relative_transform(ue_PyUObject *self, PyObject * args) if (!component) return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); - Py_BEGIN_ALLOW_THREADS; + component->SetRelativeTransform(t); - Py_END_ALLOW_THREADS; + Py_RETURN_NONE; } @@ -661,9 +654,9 @@ PyObject *py_ue_set_relative_location(ue_PyUObject *self, PyObject * args) if (self->ue_object->IsA()) { - Py_BEGIN_ALLOW_THREADS; + ((USceneComponent *)self->ue_object)->SetRelativeLocation(vec); - Py_END_ALLOW_THREADS; + Py_RETURN_NONE; } return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); @@ -677,9 +670,9 @@ PyObject *py_ue_set_relative_rotation(ue_PyUObject *self, PyObject * args) return NULL; if (self->ue_object->IsA()) { - Py_BEGIN_ALLOW_THREADS; + ((USceneComponent *)self->ue_object)->SetRelativeRotation(rot); - Py_END_ALLOW_THREADS; + Py_RETURN_NONE; } return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); @@ -694,9 +687,9 @@ PyObject *py_ue_set_relative_scale(ue_PyUObject *self, PyObject * args) if (self->ue_object->IsA()) { - Py_BEGIN_ALLOW_THREADS; + ((USceneComponent *)self->ue_object)->SetRelativeScale3D(vec); - Py_END_ALLOW_THREADS; + Py_RETURN_NONE; } return PyErr_Format(PyExc_Exception, "uobject is not a USceneComponent"); diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index d50843fab..ebe38ebfa 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -372,7 +372,7 @@ void FUnrealEnginePythonModule::StartupModule() } // release the GIL - UEPyGlobalState = PyEval_SaveThread(); + PyThreadState *UEPyGlobalState = PyEval_SaveThread(); } void FUnrealEnginePythonModule::ShutdownModule() diff --git a/Source/UnrealEnginePython/Public/PythonHouseKeeper.h b/Source/UnrealEnginePython/Public/PythonHouseKeeper.h index 56e4dfd92..b50796b24 100644 --- a/Source/UnrealEnginePython/Public/PythonHouseKeeper.h +++ b/Source/UnrealEnginePython/Public/PythonHouseKeeper.h @@ -71,9 +71,8 @@ class FUnrealEnginePythonHouseKeeper void RunGCDelegate() { - PyGILState_STATE state = PyGILState_Ensure(); + FScopePythonGIL gil; RunGC(); - PyGILState_Release(state); } int32 RunGC() diff --git a/Source/UnrealEnginePython/Public/UnrealEnginePython.h b/Source/UnrealEnginePython/Public/UnrealEnginePython.h index 8322642a7..b0aaf4d13 100644 --- a/Source/UnrealEnginePython/Public/UnrealEnginePython.h +++ b/Source/UnrealEnginePython/Public/UnrealEnginePython.h @@ -122,19 +122,19 @@ class UNREALENGINEPYTHON_API FUnrealEnginePythonModule : public IModuleInterface TSharedPtr StyleSet; }; -UNREALENGINEPYTHON_API extern PyThreadState* UEPyGlobalState; - struct FScopePythonGIL { + PyGILState_STATE state; + FScopePythonGIL() { - PyEval_RestoreThread(UEPyGlobalState); + state = PyGILState_Ensure(); } ~FScopePythonGIL() { - UEPyGlobalState = PyEval_SaveThread(); + PyGILState_Release(state); } }; From 36a5c984af6c88cf45d9a3a4fd0f3ea249eff48d Mon Sep 17 00:00:00 2001 From: Hugh Macdonald Date: Sun, 24 Jun 2018 10:53:58 +0100 Subject: [PATCH 200/538] Modify sequencer example to change how cameras are assigned to the camera cut track, based on changes in UE4 since 4.18 --- examples/sequencer_scripting.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/examples/sequencer_scripting.py b/examples/sequencer_scripting.py index ce73c1380..dc8c64a7d 100644 --- a/examples/sequencer_scripting.py +++ b/examples/sequencer_scripting.py @@ -3,8 +3,9 @@ from unreal_engine.classes import MovieSceneAudioTrack, LevelSequenceFactoryNew, MovieSceneSkeletalAnimationTrack, Character, SkeletalMesh, MovieScene3DTransformTrack, CineCameraActor import time -from unreal_engine.structs import FloatRange, FloatRangeBound +from unreal_engine.structs import FloatRange, FloatRangeBound, MovieSceneObjectBindingID from unreal_engine import FTransform, FVector +from unreal_engine.enums import EMovieSceneObjectBindingSpace # create a new level sequence asset @@ -78,9 +79,9 @@ cine_camera2 = world.actor_spawn(CineCameraActor) camera2_guid = seq.sequencer_add_actor(cine_camera2) -# assign the two cameras to the camera cut sections (via guid) -camera1.CameraGuid = ue.string_to_guid(camera_guid) -camera2.CameraGuid = ue.string_to_guid(camera2_guid) +# assign the two cameras to the camera cut sections (via binding id) +camera1.CameraBindingID = MovieSceneObjectBindingID( Guid=ue.string_to_guid( camera_guid ), Space=EMovieSceneObjectBindingSpace.Local ) +camera2.CameraBindingID = MovieSceneObjectBindingID( Guid=ue.string_to_guid( camera2_guid ), Space=EMovieSceneObjectBindingSpace.Local ) # set cameras time slots camera1.StartTime = 0 From 2ac59065d100328b275d580f2ddbb273c5e935da Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 24 Jun 2018 15:26:27 +0200 Subject: [PATCH 201/538] added collision api --- .../UnrealEnginePython/Private/UEPyModule.cpp | 7 +++ .../Private/UObject/UEPyStaticMesh.cpp | 56 +++++++++++++++++++ .../Private/UObject/UEPyStaticMesh.h | 6 ++ 3 files changed, 69 insertions(+) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index d5af14b67..de746a921 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -1012,6 +1012,13 @@ static PyMethodDef ue_PyUObject_methods[] = { { "static_mesh_set_collision_for_lod", (PyCFunction)py_ue_static_mesh_set_collision_for_lod, METH_VARARGS, "" }, { "static_mesh_set_shadow_for_lod", (PyCFunction)py_ue_static_mesh_set_shadow_for_lod, METH_VARARGS, "" }, { "get_raw_mesh", (PyCFunction)py_ue_static_mesh_get_raw_mesh, METH_VARARGS, "" }, + + { "static_mesh_generate_kdop10x", (PyCFunction)py_ue_static_mesh_generate_kdop10x, METH_VARARGS, "" }, + { "static_mesh_generate_kdop10y", (PyCFunction)py_ue_static_mesh_generate_kdop10y, METH_VARARGS, "" }, + { "static_mesh_generate_kdop10z", (PyCFunction)py_ue_static_mesh_generate_kdop10z, METH_VARARGS, "" }, + { "static_mesh_generate_kdop18", (PyCFunction)py_ue_static_mesh_generate_kdop18, METH_VARARGS, "" }, + { "static_mesh_generate_kdop26", (PyCFunction)py_ue_static_mesh_generate_kdop26, METH_VARARGS, "" }, + #endif // Viewport diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyStaticMesh.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyStaticMesh.cpp index 405c9152e..deb05477e 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyStaticMesh.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyStaticMesh.cpp @@ -5,6 +5,62 @@ #include "Engine/StaticMesh.h" #include "Wrappers/UEPyFRawMesh.h" +#include "Editor/UnrealEd/Private/GeomFitUtils.h" + +static PyObject *generate_kdop(ue_PyUObject *self, const FVector *directions, uint32 num_directions) +{ + UStaticMesh *mesh = ue_py_check_type(self); + if (!mesh) + return PyErr_Format(PyExc_Exception, "uobject is not a UStaticMesh"); + + TArray DirArray; + for (uint32 i = 0; i < num_directions; i++) + { + DirArray.Add(directions[i]); + } + + if (GenerateKDopAsSimpleCollision(mesh, DirArray) == INDEX_NONE) + { + return PyErr_Format(PyExc_Exception, "unable to generate KDop vectors"); + } + + PyObject *py_list = PyList_New(0); + for (FVector v : DirArray) + { + PyList_Append(py_list, py_ue_new_fvector(v)); + } + return py_list; +} + +PyObject *py_ue_static_mesh_generate_kdop10x(ue_PyUObject *self, PyObject * args) +{ + ue_py_check(self); + return generate_kdop(self, KDopDir10X, 10); +} + +PyObject *py_ue_static_mesh_generate_kdop10y(ue_PyUObject *self, PyObject * args) +{ + ue_py_check(self); + return generate_kdop(self, KDopDir10Y, 10); +} + +PyObject *py_ue_static_mesh_generate_kdop10z(ue_PyUObject *self, PyObject * args) +{ + ue_py_check(self); + return generate_kdop(self, KDopDir10Z, 10); +} + +PyObject *py_ue_static_mesh_generate_kdop18(ue_PyUObject *self, PyObject * args) +{ + ue_py_check(self); + return generate_kdop(self, KDopDir18, 18); +} + +PyObject *py_ue_static_mesh_generate_kdop26(ue_PyUObject *self, PyObject * args) +{ + ue_py_check(self); + return generate_kdop(self, KDopDir26, 26); +} PyObject *py_ue_static_mesh_build(ue_PyUObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyStaticMesh.h b/Source/UnrealEnginePython/Private/UObject/UEPyStaticMesh.h index cb85c9b08..219d68761 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyStaticMesh.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyStaticMesh.h @@ -8,4 +8,10 @@ PyObject *py_ue_static_mesh_build(ue_PyUObject *, PyObject *); PyObject *py_ue_static_mesh_create_body_setup(ue_PyUObject *, PyObject *); PyObject *py_ue_static_mesh_get_raw_mesh(ue_PyUObject *, PyObject *); + +PyObject *py_ue_static_mesh_generate_kdop10x(ue_PyUObject *, PyObject *); +PyObject *py_ue_static_mesh_generate_kdop10y(ue_PyUObject *, PyObject *); +PyObject *py_ue_static_mesh_generate_kdop10z(ue_PyUObject *, PyObject *); +PyObject *py_ue_static_mesh_generate_kdop18(ue_PyUObject *, PyObject *); +PyObject *py_ue_static_mesh_generate_kdop26(ue_PyUObject *, PyObject *); #endif \ No newline at end of file From 8896fc9462c71482173ff0426dca99f7bcef26c0 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 24 Jun 2018 15:27:08 +0200 Subject: [PATCH 202/538] added kdop example --- examples/kdop.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 examples/kdop.py diff --git a/examples/kdop.py b/examples/kdop.py new file mode 100644 index 000000000..c68facde6 --- /dev/null +++ b/examples/kdop.py @@ -0,0 +1,13 @@ +import unreal_engine as ue +from unreal_engine.structs import KAggregateGeom + + +mesh = ue.get_selected_assets()[0] + +mesh.BodySetup.AggGeom = KAggregateGeom() + +mesh.static_mesh_generate_kdop26() +mesh.static_mesh_generate_kdop18() +mesh.static_mesh_generate_kdop10x() +mesh.static_mesh_generate_kdop10y() +mesh.static_mesh_generate_kdop10z() From e718a2602fecf36a678245ae5bd814edcfc67c18 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 24 Jun 2018 15:28:29 +0200 Subject: [PATCH 203/538] threading is now on by default --- Source/UnrealEnginePython/UnrealEnginePython.Build.cs | 7 ------- 1 file changed, 7 deletions(-) diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index 9831618d3..ddde97f39 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -245,13 +245,6 @@ public UnrealEnginePython(TargetInfo Target) Definitions.Add(string.Format("UNREAL_ENGINE_PYTHON_ON_LINUX")); } - string enableThreads = System.Environment.GetEnvironmentVariable("UEP_ENABLE_THREADS"); - if (!string.IsNullOrEmpty(enableThreads)) - { - Definitions.Add("UEPY_THREADING"); - System.Console.WriteLine("*** Enabled Python Threads support ***"); - } - } private bool IsPathRelative(string Path) From 138430d3085c4d64af4392e891a2f06bb8feb359 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 24 Jun 2018 15:30:54 +0200 Subject: [PATCH 204/538] improved build system --- tools/release_win64.py | 43 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/tools/release_win64.py b/tools/release_win64.py index 2c4574e14..4a9740472 100644 --- a/tools/release_win64.py +++ b/tools/release_win64.py @@ -16,12 +16,10 @@ def zipdir(path, zh, base): filename = os.path.join(root, file) zh.write(filename, os.path.relpath(filename, base)) -def msbuild(project, python_version, variant): +def msbuild(project, python_version): base_environ = os.environ base_environ.update({'PYTHONHOME': python_version}) base_environ.update({'UEP_ENABLE_UNITY_BUILD': '1'}) - if variant == 'threaded_': - base_environ.update({'UEP_ENABLE_THREADS': '1'}) #vs = '"C:/Program Files (x86)/MSBuild/14.0/Bin/MSBuild.exe"' vs = '"C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/MSBuild/15.0/Bin/MSBuild.exe"' process = subprocess.Popen('{0} {1} /m /t:Rebuild /p:Configuration="Development Editor" /p:Platform=Win64'.format(vs, project), env=base_environ) @@ -56,28 +54,27 @@ def git(project): sln = os.path.join('D:/', project, '{0}.sln'.format(project)) git(project) for python_version in PYTHON_VERSIONS: - for variant in ('', 'threaded_'): - python_sanitized = os.path.basename(python_version).lower() - start = time.time() - print('\n\n***** building {0} for {1} ({2}) *****\n\n'.format(sln, python_version, variant)) - sys.stdout.flush() - msbuild(sln, python_version, variant) - commandlet(ue_version, project) - end = time.time() - for item in ('UE4Editor.modules', 'UE4Editor-UnrealEnginePython.dll', 'UE4Editor-PythonConsole.dll', 'UE4Editor-PythonEditor.dll', 'UE4Editor-PythonAutomation.dll'): - shutil.copyfile('D:/{0}/Plugins/UnrealEnginePython/Binaries/Win64/{1}'.format(project, item), '{0}/UnrealEnginePython/Binaries/Win64/{1}'.format(RELEASE_DIR, item)) - if python_sanitized == 'python36': - shutil.copyfile('D:/{0}/Plugins/UnrealEnginePython/Binaries/Win64/{1}'.format(project, item), '{0}/Embedded/UnrealEnginePython/Binaries/Win64/{1}'.format(RELEASE_DIR, item)) - filename = 'UnrealEnginePython_{0}_{1}_{2}_{3}win64.zip'.format(os.path.basename(RELEASE_DIR), ue_version.replace('.','_'), python_sanitized, variant) + python_sanitized = os.path.basename(python_version).lower() + start = time.time() + print('\n\n***** building {0} for {1} *****\n\n'.format(sln, python_version)) + sys.stdout.flush() + msbuild(sln, python_version) + commandlet(ue_version, project) + end = time.time() + for item in ('UE4Editor.modules', 'UE4Editor-UnrealEnginePython.dll', 'UE4Editor-PythonConsole.dll', 'UE4Editor-PythonEditor.dll', 'UE4Editor-PythonAutomation.dll'): + shutil.copyfile('D:/{0}/Plugins/UnrealEnginePython/Binaries/Win64/{1}'.format(project, item), '{0}/UnrealEnginePython/Binaries/Win64/{1}'.format(RELEASE_DIR, item)) + if python_sanitized == 'python36': + shutil.copyfile('D:/{0}/Plugins/UnrealEnginePython/Binaries/Win64/{1}'.format(project, item), '{0}/Embedded/UnrealEnginePython/Binaries/Win64/{1}'.format(RELEASE_DIR, item)) + filename = 'UnrealEnginePython_{0}_{1}_{2}_win64.zip'.format(os.path.basename(RELEASE_DIR), ue_version.replace('.','_'), python_sanitized) + zh = zipfile.ZipFile(os.path.join(RELEASE_DIR, filename), 'w', zipfile.ZIP_DEFLATED) + zipdir(os.path.join(RELEASE_DIR, 'UnrealEnginePython'), zh, RELEASE_DIR) + zh.close() + if python_sanitized == 'python36': + filename = 'UnrealEnginePython_{0}_{1}_{2}_embedded_win64.zip'.format(os.path.basename(RELEASE_DIR), ue_version.replace('.','_'), python_sanitized) zh = zipfile.ZipFile(os.path.join(RELEASE_DIR, filename), 'w', zipfile.ZIP_DEFLATED) - zipdir(os.path.join(RELEASE_DIR, 'UnrealEnginePython'), zh, RELEASE_DIR) + zipdir(os.path.join(RELEASE_DIR, 'Embedded/UnrealEnginePython'), zh, os.path.join(RELEASE_DIR, 'Embedded')) zh.close() - if python_sanitized == 'python36': - filename = 'UnrealEnginePython_{0}_{1}_{2}_{3}embedded_win64.zip'.format(os.path.basename(RELEASE_DIR), ue_version.replace('.','_'), python_sanitized, variant) - zh = zipfile.ZipFile(os.path.join(RELEASE_DIR, filename), 'w', zipfile.ZIP_DEFLATED) - zipdir(os.path.join(RELEASE_DIR, 'Embedded/UnrealEnginePython'), zh, os.path.join(RELEASE_DIR, 'Embedded')) - zh.close() - print('\n\n***** built {0} for {1} in {2} seconds [{3}]*****\n\n'.format(project, python_version, end-start, filename)) + print('\n\n***** built {0} for {1} in {2} seconds [{3}]*****\n\n'.format(project, python_version, end-start, filename)) main_end = time.time() print('release ready after {0} seconds'.format(main_end-main_start)) From 4207c05c46a7052ccf76cd1b07feba895d5f44fa Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 24 Jun 2018 15:41:06 +0200 Subject: [PATCH 205/538] do not build python3.5 versions in automatic releases --- Source/UnrealEnginePython/Private/UnrealEnginePython.cpp | 4 ---- tools/release_win64.py | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index ebe38ebfa..7de2f0aac 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -67,10 +67,6 @@ bool PyUnicodeOrString_Check(PyObject *py_obj) #define LOCTEXT_NAMESPACE "FUnrealEnginePythonModule" -UNREALENGINEPYTHON_API PyThreadState* UEPyGlobalState; - - - void FUnrealEnginePythonModule::UESetupPythonInterpreter(bool verbose) { diff --git a/tools/release_win64.py b/tools/release_win64.py index 4a9740472..f4f13e7e2 100644 --- a/tools/release_win64.py +++ b/tools/release_win64.py @@ -6,7 +6,7 @@ import zipfile UE_VERSIONS = ['4.15', '4.16', '4.17', '4.18', '4.19'] -PYTHON_VERSIONS = ["C:/Program Files/Python36", "C:/Program Files/Python35", "C:/Python27"] +PYTHON_VERSIONS = ["C:/Program Files/Python36", "C:/Python27"] RELEASE_DIR = sys.argv[1].rstrip('/') From 02934496da83cfb2824741177015c0482540fe3e Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 24 Jun 2018 19:15:02 +0200 Subject: [PATCH 206/538] Update README.md --- README.md | 113 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 62 insertions(+), 51 deletions(-) diff --git a/README.md b/README.md index a5606a6f7..e5a39d3f7 100644 --- a/README.md +++ b/README.md @@ -780,55 +780,77 @@ It allows you to run, create, modify and delete scripts directly from the UE edi The first pull request for the editor has been issued by https://github.com/sun5471 so many thanks to him ;) -Integration with PyQT ---------------------- +Integration with Qt4/Qt5/PySide2 +-------------------------------- -To correctly integrates PyQT with UnrealEngine the python plugin must correctly setup the GIL (and this is done) and exceptions must be managed ad-hoc (not doing it will result in a deadlock whenever a qt signal handler raises an exception) +Thanks to solid GIL management, you can integrate Qt python apps in Unreal Engine 4. -This is an example of having a QT window along the editor to trigger asset reimporting (pay attention to the sys.excepthook usage): +Pay attention to not call app.exec_() as it will result in Qt taking control of the UE loop. Instead use a ticker to integrate the Qt loop in the editor loop: -```py -from PyQt5.QtWidgets import QApplication, QWidget, QListWidget -import unreal_engine as ue +```python + +# save is as ueqt.py import sys -import traceback +import unreal_engine as ue +import PySide2 +from PySide2 import QtWidgets + +app = QtWidgets.QApplication(sys.argv) -def ue_exception(_type, value, back): - ue.log_error(value) - tb_lines = traceback.format_exception(_type, value, back) - for line in tb_lines: - ue.log_error(line) +def ticker_loop(delta_time): + app.processEvents() + return True -sys.excepthook = ue_exception +ticker = ue.add_ticker(ticker_loop) +``` +now you can start writing your gui (this is a simple example loading asset thumbnail): + +```python +import ueqt +from PySide2 import QtCore, QtWidgets, QtGui +import unreal_engine as ue -skeletal_mappings = {} +from unreal_engine import FARFilter -def selected_skeletal_mesh(item): - uobject = skeletal_mappings[item.data()] - ue.log('Ready to reimport: ' + uobject.get_name()) - uobject.asset_reimport() +_filter = FARFilter() +_filter.class_names = ['SkeletalMesh', 'Material'] -#check if an instance of the application is already running -app = QApplication.instance() -if app is None: - app = QApplication([]) -else: - print("App already running.") +class MyWidget(QtWidgets.QWidget): + def __init__(self): + super().__init__() + self.vertical = QtWidgets.QVBoxLayout() + self.scroll = QtWidgets.QScrollArea() + self.content = QtWidgets.QWidget() + self.scroll.setWidget(self.content) + self.scroll.setWidgetResizable(True) + self.layout = QtWidgets.QVBoxLayout() + + for asset_data in ue.get_assets_by_filter(_filter, True): + try: + thumbnail = asset_data.get_thumbnail() + except: + continue -win = QWidget() -win.setWindowTitle('Unreal Engine 4 skeletal meshes reimporter') + label = QtWidgets.QLabel() + data = thumbnail.get_uncompressed_image_data() + image = QtGui.QImage(data, 256, 256, QtGui.QImage.Format_RGB32) + label.setPixmap(QtGui.QPixmap.fromImage(image).scaled(256, 256)) + self.layout.addWidget(label) -wlist = QListWidget(win) -for asset in ue.get_assets_by_class('SkeletalMesh'): - wlist.addItem(asset.get_name()) - skeletal_mappings[asset.get_name()] = asset - -wlist.clicked.connect(selected_skeletal_mesh) -wlist.show() + self.content.setLayout(self.layout) + self.vertical.addWidget(self.scroll) + self.setLayout(self.vertical) + + + +widget = MyWidget() +widget.resize(800, 600) +widget.show() -win.show() ``` +(no need to allocate a new Qt app, or start it, as the UE4 Editor, thanks to to ueqt module is now the Qt app itself) + Memory management ----------------- @@ -848,25 +870,14 @@ To run the unit tests (ensure to run them on an empty/useless project to avoid m ```python import unreal_engine as ue -ue.sandbox_exec(ue.find_plugin('UnrealEnginePython').get_base_dir() + '/run_tests.py') +ue.py_exec(ue.find_plugin('UnrealEnginePython').get_base_dir() + '/run_tests.py') ``` if you plan to add new features to the plugin, including a test suite in your pull request will be really appreciated ;) -Threading (Experimental) +Threading ------------------------ -By default the plugin is compiled without effective python threads support. This is for 2 main reasons: - -* we still do not have numbers about the performance impact of constantly acquiring and releasing the GIL -* we need a better test suite - -By the way, if you want to play with experimental threading support, just uncomment - -```c -//#define UEPY_THREADING 1 -``` - -on top of UnrealEnginePython.h and rebuild the plugin. +Since release 20180624 threading is fully supported. As with native threads, do not modify (included deletion) UObjects from non-main threads. @@ -908,12 +919,12 @@ What is going on here in `BadGuy` is that self.uobject is a reference to the PyA Status and Known issues ----------------------- -The project could be considered in beta state. - Exposing the full ue4 api is a huge amount of work, feel free to make pull requests for your specific needs. We still do not have a plugin icon ;) +We try to do our best to "protect" the user, but you can effectively crash UE from python as you are effectively calling the C/C++ api + Contacts and Commercial Support ------------------------------- From 28b1f987558a5585fc358da1f1af8da30a0428e5 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 26 Jun 2018 08:59:04 +0200 Subject: [PATCH 207/538] fixed #450 --- .../UnrealEnginePython/Private/UEPyModule.cpp | 46 +++++++++++-------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index de746a921..178d09f69 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -1440,7 +1440,11 @@ UClass *unreal_engine_new_uclass(char *name, UClass *outer_parent) new_object->AssembleReferenceTokenStream(); #if WITH_EDITOR - FBlueprintActionDatabase::Get().RefreshClassActions(new_object); + // this is required for avoiding startup crashes #405 + if (GEditor) + { + FBlueprintActionDatabase::Get().RefreshClassActions(new_object); + } #endif return new_object; @@ -2439,7 +2443,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { casted_prop_weak_object->SetPropertyValue_InContainer(buffer, FWeakObjectPtr(ue_obj->ue_object), index); - + return true; } else if (auto casted_prop_base = Cast(prop)) @@ -2447,9 +2451,9 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in // ensure the object type is correct, otherwise crash could happen (soon or later) if (!ue_obj->ue_object->IsA(casted_prop_base->PropertyClass)) return false; - + casted_prop_base->SetObjectPropertyValue_InContainer(buffer, ue_obj->ue_object, index); - + return true; } @@ -2464,18 +2468,18 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in // ensure the object type is correct, otherwise crash could happen (soon or later) if (!ue_obj->ue_object->IsA(casted_prop->PropertyClass)) return false; - + casted_prop->SetObjectPropertyValue_InContainer(buffer, ue_obj->ue_object, index); - + return true; } else if (auto casted_prop_soft_object = Cast(prop)) { if (!ue_obj->ue_object->IsA(casted_prop_soft_object->PropertyClass)) return false; - + casted_prop_soft_object->SetPropertyValue_InContainer(buffer, FSoftObjectPtr(ue_obj->ue_object), index); - + return true; } else if (auto casted_prop_interface = Cast(prop)) @@ -2483,9 +2487,9 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in // ensure the object type is correct, otherwise crash could happen (soon or later) if (!ue_obj->ue_object->GetClass()->ImplementsInterface(casted_prop_interface->InterfaceClass)) return false; - + casted_prop_interface->SetPropertyValue_InContainer(buffer, FScriptInterface(ue_obj->ue_object), index); - + return true; } } @@ -2497,17 +2501,17 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in auto casted_prop_class = Cast(prop); if (casted_prop_class) { - + casted_prop_class->SetPropertyValue_InContainer(buffer, nullptr, index); - + return true; } auto casted_prop = Cast(prop); if (casted_prop) { - + casted_prop->SetObjectPropertyValue_InContainer(buffer, nullptr, index); - + return true; } return false; @@ -2679,8 +2683,8 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * return PyErr_Format(PyExc_Exception, "UFunction has no SuperFunction"); } u_function = u_function->GetSuperFunction(); - } } + } //NOTE: u_function->PropertiesSize maps to local variable uproperties + ufunction paramaters uproperties uint8 *buffer = (uint8 *)FMemory_Alloca(u_function->ParmsSize); @@ -2713,8 +2717,8 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * #endif } #endif + } } - } Py_ssize_t tuple_len = PyTuple_Size(args); @@ -3146,9 +3150,9 @@ UFunction *unreal_engine_add_function(UClass *u_class, char *name, PyObject *py_ if (p->HasAnyPropertyFlags(CPF_ReturnParm)) { function->ReturnValueOffset = p->GetOffset_ForUFunction(); + } } } - } if (parent_function) { @@ -3202,11 +3206,15 @@ UFunction *unreal_engine_add_function(UClass *u_class, char *name, PyObject *py_ #endif #if WITH_EDITOR - FBlueprintActionDatabase::Get().RefreshClassActions(u_class); + // this is required for avoiding startup crashes #405 + if (GEditor) + { + FBlueprintActionDatabase::Get().RefreshClassActions(u_class); + } #endif return function; - } +} FGuid *ue_py_check_fguid(PyObject *py_obj) { From 76fd962d4653dae62a43ab3313b24eaa3def382d Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 26 Jun 2018 09:03:11 +0200 Subject: [PATCH 208/538] fixed UPythonFunction destructor --- Source/UnrealEnginePython/Private/PythonFunction.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Source/UnrealEnginePython/Private/PythonFunction.cpp b/Source/UnrealEnginePython/Private/PythonFunction.cpp index 8cb3cccc7..04b62ea8b 100644 --- a/Source/UnrealEnginePython/Private/PythonFunction.cpp +++ b/Source/UnrealEnginePython/Private/PythonFunction.cpp @@ -121,6 +121,7 @@ void UPythonFunction::CallPythonCallable(FFrame& Stack, RESULT_DECL) UPythonFunction::~UPythonFunction() { + FScopePythonGIL gil; Py_XDECREF(py_callable); FUnrealEnginePythonHouseKeeper::Get()->UnregisterPyUObject(this); #if defined(UEPY_MEMORY_DEBUG) From 604b969908a1ae66ba3b402a0b15f4e18eb7e949 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 26 Jun 2018 15:23:14 +0200 Subject: [PATCH 209/538] added IAssetEditorInstance wrapper --- .../UnrealEnginePython/Private/UEPyEditor.cpp | 60 ++++++++-- .../UnrealEnginePython/Private/UEPyEditor.h | 2 + .../UnrealEnginePython/Private/UEPyModule.cpp | 4 + .../Wrappers/UEPyIAssetEditorInstance.cpp | 103 ++++++++++++++++++ .../Wrappers/UEPyIAssetEditorInstance.h | 21 ++++ 5 files changed, 180 insertions(+), 10 deletions(-) create mode 100644 Source/UnrealEnginePython/Private/Wrappers/UEPyIAssetEditorInstance.cpp create mode 100644 Source/UnrealEnginePython/Private/Wrappers/UEPyIAssetEditorInstance.h diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index 2cd2e08a1..f83f641ed 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -33,6 +33,7 @@ #include "Wrappers/UEPyFVector.h" #include "Wrappers/UEPyFAssetData.h" #include "Wrappers/UEPyFEditorViewportClient.h" +#include "Wrappers/UEPyIAssetEditorInstance.h" #include "UEPyIPlugin.h" @@ -997,25 +998,66 @@ PyObject *py_unreal_engine_get_selected_assets(PyObject * self, PyObject * args) return assets_list; } +PyObject *py_unreal_engine_get_all_edited_assets(PyObject * self, PyObject * args) +{ + TArray assets = FAssetEditorManager::Get().GetAllEditedAssets(); + PyObject *assets_list = PyList_New(0); + + for (UObject *asset : assets) + { + ue_PyUObject *ret = ue_get_python_uobject(asset); + if (ret) + { + PyList_Append(assets_list, (PyObject *)ret); + } + } + + return assets_list; +} + PyObject *py_unreal_engine_open_editor_for_asset(PyObject * self, PyObject * args) { PyObject *py_obj; if (!PyArg_ParseTuple(args, "O:open_editor_for_asset", &py_obj)) { - return NULL; + return nullptr; } UObject *u_obj = ue_py_check_type(py_obj); if (!u_obj) return PyErr_Format(PyExc_Exception, "argument is not a UObject"); + if (FAssetEditorManager::Get().OpenEditorForAsset(u_obj)) { - Py_INCREF(Py_True); - return Py_True; + Py_RETURN_TRUE; } - Py_INCREF(Py_False); - return Py_False; + Py_RETURN_FALSE; +} + +PyObject *py_unreal_engine_find_editor_for_asset(PyObject * self, PyObject * args) +{ + PyObject *py_obj; + PyObject *py_bool = nullptr; + + if (!PyArg_ParseTuple(args, "O|O:find_editor_for_asset", &py_obj, &py_bool)) + { + return nullptr; + } + + UObject *u_obj = ue_py_check_type(py_obj); + if (!u_obj) + return PyErr_Format(PyExc_Exception, "argument is not a UObject"); + + bool bFocus = false; + if (py_bool && PyObject_IsTrue(py_bool)) + bFocus = true; + + IAssetEditorInstance *instance = FAssetEditorManager::Get().FindEditorForAsset(u_obj, bFocus); + if (!instance) + return PyErr_Format(PyExc_Exception, "no editor found for asset"); + + return py_ue_new_iasset_editor_instance(instance); } PyObject *py_unreal_engine_close_editor_for_asset(PyObject * self, PyObject * args) @@ -1024,7 +1066,7 @@ PyObject *py_unreal_engine_close_editor_for_asset(PyObject * self, PyObject * ar if (!PyArg_ParseTuple(args, "O:close_editor_for_asset", &py_obj)) { - return NULL; + return nullptr; } UObject *u_obj = ue_py_check_type(py_obj); @@ -1032,16 +1074,14 @@ PyObject *py_unreal_engine_close_editor_for_asset(PyObject * self, PyObject * ar return PyErr_Format(PyExc_Exception, "argument is not a UObject"); FAssetEditorManager::Get().CloseAllEditorsForAsset(u_obj); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_unreal_engine_close_all_asset_editors(PyObject * self, PyObject * args) { FAssetEditorManager::Get().CloseAllAssetEditors(); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_unreal_engine_set_fbx_import_option(PyObject * self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.h b/Source/UnrealEnginePython/Private/UEPyEditor.h index 56c42a18b..74268b4d7 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.h +++ b/Source/UnrealEnginePython/Private/UEPyEditor.h @@ -91,6 +91,8 @@ PyObject *py_unreal_engine_get_asset_referencers(PyObject *, PyObject *); PyObject *py_unreal_engine_get_asset_dependencies(PyObject *, PyObject *); PyObject *py_unreal_engine_open_editor_for_asset(PyObject *, PyObject *); +PyObject *py_unreal_engine_find_editor_for_asset(PyObject *, PyObject *); +PyObject *py_unreal_engine_get_all_edited_assets(PyObject *, PyObject *); PyObject *py_unreal_engine_close_editor_for_asset(PyObject *, PyObject *); PyObject *py_unreal_engine_close_all_asset_editors(PyObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 178d09f69..8a96c04f6 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -73,6 +73,7 @@ #include "Wrappers/UEPyFViewportClient.h" #if WITH_EDITOR #include "Wrappers/UEPyFEditorViewportClient.h" +#include "Wrappers/UEPyIAssetEditorInstance.h" #endif #include "Wrappers/UEPyFFoliageInstance.h" @@ -262,6 +263,8 @@ static PyMethodDef unreal_engine_methods[] = { { "create_property_view", (PyCFunction)py_unreal_engine_create_property_view, METH_VARARGS | METH_KEYWORDS, "" }, { "open_editor_for_asset", py_unreal_engine_open_editor_for_asset, METH_VARARGS, "" }, + { "find_editor_for_asset", py_unreal_engine_find_editor_for_asset, METH_VARARGS, "" }, + { "get_all_edited_assets", py_unreal_engine_get_all_edited_assets, METH_VARARGS, "" }, { "close_editor_for_asset", py_unreal_engine_close_editor_for_asset, METH_VARARGS, "" }, { "close_all_asset_editors", py_unreal_engine_close_all_asset_editors, METH_VARARGS, "" }, { "allow_actor_script_execution_in_editor", py_unreal_engine_allow_actor_script_execution_in_editor , METH_VARARGS, "" }, @@ -1505,6 +1508,7 @@ void unreal_engine_init_py_module() ue_python_init_fviewport_client(new_unreal_engine_module); #if WITH_EDITOR ue_python_init_feditor_viewport_client(new_unreal_engine_module); + ue_python_init_iasset_editor_instance(new_unreal_engine_module); #endif ue_python_init_fpython_output_device(new_unreal_engine_module); diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyIAssetEditorInstance.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyIAssetEditorInstance.cpp new file mode 100644 index 000000000..47bd92fbd --- /dev/null +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyIAssetEditorInstance.cpp @@ -0,0 +1,103 @@ +#include "UEPyIAssetEditorInstance.h" + +#if WITH_EDITOR + + + +static PyObject *py_ue_iasset_editor_instance_close_window(ue_PyIAssetEditorInstance *self, PyObject * args) +{ + self->editor_instance->CloseWindow(); + Py_RETURN_NONE; +} + +static PyObject *py_ue_iasset_editor_instance_focus_window(ue_PyIAssetEditorInstance *self, PyObject * args) +{ + self->editor_instance->FocusWindow(); + Py_RETURN_NONE; +} + +static PyObject *py_ue_iasset_editor_instance_get_editor_name(ue_PyIAssetEditorInstance *self, PyObject * args) +{ + return PyUnicode_FromString(TCHAR_TO_UTF8(*self->editor_instance->GetEditorName().ToString())); +} + +static PyObject *py_ue_iasset_editor_instance_get_last_activation_time(ue_PyIAssetEditorInstance *self, PyObject * args) +{ + return PyFloat_FromDouble(self->editor_instance->GetLastActivationTime()); +} + +static PyMethodDef ue_PyIAssetEditorInstance_methods[] = { + { "close_window", (PyCFunction)py_ue_iasset_editor_instance_close_window, METH_VARARGS, "" }, + { "focus_window", (PyCFunction)py_ue_iasset_editor_instance_focus_window, METH_VARARGS, "" }, + { "get_editor_name", (PyCFunction)py_ue_iasset_editor_instance_get_editor_name, METH_VARARGS, "" }, + { "get_last_activation_time", (PyCFunction)py_ue_iasset_editor_instance_get_last_activation_time, METH_VARARGS, "" }, + { nullptr } /* Sentinel */ +}; + +static PyObject *ue_PyIAssetEditorInstance_str(ue_PyIAssetEditorInstance *self) +{ + return PyUnicode_FromFormat("", + &self->editor_instance); +} + +static PyTypeObject ue_PyIAssetEditorInstanceType = { + PyVarObject_HEAD_INIT(NULL, 0) + "unreal_engine.IAssetEditorInstance", /* tp_name */ + sizeof(ue_PyIAssetEditorInstance), /* tp_basicsize */ + 0, /* tp_itemsize */ + 0, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + (reprfunc)ue_PyIAssetEditorInstance_str, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ +#if PY_MAJOR_VERSION < 3 + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_CHECKTYPES, /* tp_flags */ +#else + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ +#endif + "Unreal Engine IAssetEditorInstance", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + ue_PyIAssetEditorInstance_methods, /* tp_methods */ + 0, +}; + +void ue_python_init_iasset_editor_instance(PyObject *ue_module) +{ + ue_PyIAssetEditorInstanceType.tp_new = PyType_GenericNew; + + if (PyType_Ready(&ue_PyIAssetEditorInstanceType) < 0) + return; + + Py_INCREF(&ue_PyIAssetEditorInstanceType); + PyModule_AddObject(ue_module, "IAssetEditorInstance", (PyObject *)&ue_PyIAssetEditorInstanceType); +} + +ue_PyIAssetEditorInstance *py_ue_is_iasset_editor_instance(PyObject *obj) +{ + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyIAssetEditorInstanceType)) + return nullptr; + return (ue_PyIAssetEditorInstance *)obj; +} + +PyObject *py_ue_new_iasset_editor_instance(IAssetEditorInstance *editor_instance) +{ + ue_PyIAssetEditorInstance *ret = (ue_PyIAssetEditorInstance *)PyObject_New(ue_PyIAssetEditorInstance, &ue_PyIAssetEditorInstanceType); + ret->editor_instance = editor_instance; + return (PyObject *)ret; +} +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyIAssetEditorInstance.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyIAssetEditorInstance.h new file mode 100644 index 000000000..a2d04496d --- /dev/null +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyIAssetEditorInstance.h @@ -0,0 +1,21 @@ +#pragma once +#include "UnrealEnginePython.h" + +#if WITH_EDITOR + +#include "Editor/UnrealEd/Public/Toolkits/AssetEditorManager.h" + +struct ue_PyIAssetEditorInstance +{ + PyObject_HEAD + /* Type-specific fields go here. */ + IAssetEditorInstance *editor_instance; +}; + +void ue_python_init_iasset_editor_instance(PyObject *); + +PyObject *py_ue_new_iasset_editor_instance(IAssetEditorInstance *); + +ue_PyIAssetEditorInstance *py_ue_is_iasset_editor_instance(PyObject *); + +#endif \ No newline at end of file From 62517fb2ec271eafaf2a33478e8af834f23c65f2 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 26 Jun 2018 15:27:33 +0200 Subject: [PATCH 210/538] added asset_editors.py example --- examples/asset_editors.py | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 examples/asset_editors.py diff --git a/examples/asset_editors.py b/examples/asset_editors.py new file mode 100644 index 000000000..3b7f1d037 --- /dev/null +++ b/examples/asset_editors.py @@ -0,0 +1,6 @@ +import unreal_engine as ue + +for _asset in ue.get_all_edited_assets(): + editor = ue.find_editor_for_asset(_asset) + print('{0} - {1}'.format(editor.get_editor_name(), editor.get_last_activation_time())) + editor.focus_window() \ No newline at end of file From fd489e8007d6fd35d9f08feb95a8a5ea37f9bec7 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 29 Jun 2018 12:57:59 +0200 Subject: [PATCH 211/538] Update FixingMixamoRootMotionWithPython.md --- tutorials/FixingMixamoRootMotionWithPython.md | 37 ++++++++++++++----- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/tutorials/FixingMixamoRootMotionWithPython.md b/tutorials/FixingMixamoRootMotionWithPython.md index 3abb1266d..6bea40e5a 100644 --- a/tutorials/FixingMixamoRootMotionWithPython.md +++ b/tutorials/FixingMixamoRootMotionWithPython.md @@ -16,7 +16,7 @@ Once our mixamo assets are imported we need to do the following steps: * Modify the SkeletalMesh bone influences as indexes will be shifted after the adding of a new bone -* Split the 'Hips' related animation curve in two other curves, one containing the root motion (translations, relative to local axis origin) that will be mapped to the 'root' track, and the other mapped to the 'Hips' track that will contain only rotations. +* Split the 'Hips' related animation curve in two other curves, one containing the root motion (translations, relative to local axis origin) that will be mapped to the 'root' track, and the other mapped to the 'Hips' track that will contain only rotations. The 'root' track must be the first one. To avoid damages, we will generate a copy of each asset, so you will be able to always use the original ones. @@ -326,16 +326,13 @@ class RootMotionFixer: new_anim.NumFrames = animation.NumFrames new_anim.SequenceLength = animation.SequenceLength - # iterate each track to copy/fix + # first step is generatin the 'root' track + # we need to do it before anything else, as the 'root' track must be the 0 one for index, name in enumerate(animation.AnimationTrackNames): - data = animation.get_raw_animation_track(index) if name == bone: + data = animation.get_raw_animation_track(index) # extract root motion - root_motion = [position - data.pos_keys[0] for position in data.pos_keys] - - # remove root motion from original track (but leave a single key for position, otherwise the track will break) - data.pos_keys = [data.pos_keys[0]] - new_anim.add_new_raw_track(name, data) + root_motion = [(position - data.pos_keys[0]) for position in data.pos_keys] # create a new track (the root motion one) root_data = FRawAnimSequenceTrack() @@ -343,14 +340,36 @@ class RootMotionFixer: # ensure empty rotations ! root_data.rot_keys = [FQuat()] - # add the track + # add the track new_anim.add_new_raw_track('root', root_data) + break + else: + raise DialogException('Unable to find bone {0}'.format(bone)) + + # now append the original tracks, but removes the position keys + # from the original root bone + for index, name in enumerate(animation.AnimationTrackNames): + data = animation.get_raw_animation_track(index) + if name == bone: + # remove root motion from original track + data.pos_keys = [data.pos_keys[0]] + new_anim.add_new_raw_track(name, data) else: new_anim.add_new_raw_track(name, data) new_anim.save_package() ``` +The two 'for loops' is where the fix happens. Take into account that some animation could require additional manipulation, +as an example you may want to remove z and x transformations for a running loop: + +```python +# extract root motion +root_motion = [((position - data.pos_keys[0]) * FVector(0, 1, 0)) for position in data.pos_keys] +``` + +And always remember that modifying the z axis in root motion, requires your Character to be in 'Flying' movement mode. + Now add support for AnimSequence in your final loop: ```python From ef01c4e566f56f093ad4d7d07fddaddd82b44bb8 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 29 Jun 2018 12:59:32 +0200 Subject: [PATCH 212/538] Update mixamo.py --- .../mixamo.py | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/tutorials/FixingMixamoRootMotionWithPython_Assets/mixamo.py b/tutorials/FixingMixamoRootMotionWithPython_Assets/mixamo.py index 9445e3c1f..9e269f4c7 100644 --- a/tutorials/FixingMixamoRootMotionWithPython_Assets/mixamo.py +++ b/tutorials/FixingMixamoRootMotionWithPython_Assets/mixamo.py @@ -122,15 +122,13 @@ def split_hips(self, animation, bone='Hips'): new_anim.NumFrames = animation.NumFrames new_anim.SequenceLength = animation.SequenceLength + # first step is generatin the 'root' track + # we need to do it before anything else, as the 'root' track must be the 0 one for index, name in enumerate(animation.AnimationTrackNames): - data = animation.get_raw_animation_track(index) if name == bone: + data = animation.get_raw_animation_track(index) # extract root motion - root_motion = [position - data.pos_keys[0] for position in data.pos_keys] - - # remove root motion from original track - data.pos_keys = [data.pos_keys[0]] - new_anim.add_new_raw_track(name, data) + root_motion = [(position - data.pos_keys[0]) for position in data.pos_keys] # create a new track (the root motion one) root_data = FRawAnimSequenceTrack() @@ -138,8 +136,20 @@ def split_hips(self, animation, bone='Hips'): # ensure empty rotations ! root_data.rot_keys = [FQuat()] - # add the track + # add the track new_anim.add_new_raw_track('root', root_data) + break + else: + raise DialogException('Unable to find bone {0}'.format(bone)) + + # now append the original tracks, but removes the position keys + # from the original root bone + for index, name in enumerate(animation.AnimationTrackNames): + data = animation.get_raw_animation_track(index) + if name == bone: + # remove root motion from original track + data.pos_keys = [data.pos_keys[0]] + new_anim.add_new_raw_track(name, data) else: new_anim.add_new_raw_track(name, data) From f8bd3ed041cf45e1f54bf399a63cc3f82fefa0ba Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 29 Jun 2018 13:01:25 +0200 Subject: [PATCH 213/538] added update_compressed_track_map_from_raw --- Source/UnrealEnginePython/Private/UEPyModule.cpp | 1 + .../Private/UObject/UEPyAnimSequence.cpp | 14 ++++++++++++++ .../Private/UObject/UEPyAnimSequence.h | 1 + 3 files changed, 16 insertions(+) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 8a96c04f6..b89cc84e1 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -644,6 +644,7 @@ static PyMethodDef ue_PyUObject_methods[] = { { "get_raw_animation_data", (PyCFunction)py_ue_anim_sequence_get_raw_animation_data, METH_VARARGS, "" }, { "get_raw_animation_track", (PyCFunction)py_ue_anim_sequence_get_raw_animation_track, METH_VARARGS, "" }, { "add_new_raw_track", (PyCFunction)py_ue_anim_sequence_add_new_raw_track, METH_VARARGS, "" }, + { "update_compressed_track_map_from_raw", (PyCFunction)py_ue_anim_sequence_update_compressed_track_map_from_raw, METH_VARARGS, "" }, #endif { "add_anim_composite_section", (PyCFunction)py_ue_add_anim_composite_section, METH_VARARGS, "" }, #endif diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp index 5478e0848..3da827b99 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp @@ -21,6 +21,20 @@ PyObject *py_ue_anim_get_skeleton(ue_PyUObject * self, PyObject * args) #if WITH_EDITOR #if ENGINE_MINOR_VERSION > 13 +PyObject *py_ue_anim_sequence_update_compressed_track_map_from_raw(ue_PyUObject * self, PyObject * args) +{ + ue_py_check(self); + + UAnimSequence *anim_seq = ue_py_check_type(self); + if (!anim_seq) + return PyErr_Format(PyExc_Exception, "UObject is not a UAnimSequence."); + + anim_seq->UpdateCompressedTrackMapFromRaw(); + + Py_RETURN_NONE; +} + + PyObject *py_ue_anim_sequence_get_raw_animation_data(ue_PyUObject * self, PyObject * args) { ue_py_check(self); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h index d106682d5..608c257ef 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h @@ -14,6 +14,7 @@ PyObject *py_ue_anim_sequence_get_raw_animation_data(ue_PyUObject *, PyObject *) PyObject *py_ue_anim_sequence_get_raw_animation_track(ue_PyUObject *, PyObject *); PyObject *py_ue_anim_sequence_add_new_raw_track(ue_PyUObject *, PyObject *); PyObject *py_ue_add_anim_composite_section(ue_PyUObject *, PyObject *); +PyObject *py_ue_anim_sequence_update_compressed_track_map_from_raw(ue_PyUObject *, PyObject *); #endif PyObject *py_ue_anim_set_skeleton(ue_PyUObject *, PyObject *); From 8e98a1876eb869f3dbebd74db3d447d30e85f1e1 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 29 Jun 2018 15:28:47 +0200 Subject: [PATCH 214/538] added update_raw_track() and apply_raw_anim_changes() --- .../UnrealEnginePython/Private/UEPyModule.cpp | 5 + .../Private/UObject/UEPyAnimSequence.cpp | 120 +++++++++++++++++- .../Private/UObject/UEPyAnimSequence.h | 4 + 3 files changed, 126 insertions(+), 3 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index b89cc84e1..89e2942c5 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -639,12 +639,17 @@ static PyMethodDef ue_PyUObject_methods[] = { { "get_blend_parameter", (PyCFunction)py_ue_get_blend_parameter, METH_VARARGS, "" }, { "set_blend_parameter", (PyCFunction)py_ue_set_blend_parameter, METH_VARARGS, "" }, + { "get_bone_transform", (PyCFunction)py_ue_anim_get_bone_transform, METH_VARARGS, "" }, + { "extract_root_motion", (PyCFunction)py_ue_anim_extract_root_motion, METH_VARARGS, "" }, + #if WITH_EDITOR #if ENGINE_MINOR_VERSION > 13 { "get_raw_animation_data", (PyCFunction)py_ue_anim_sequence_get_raw_animation_data, METH_VARARGS, "" }, { "get_raw_animation_track", (PyCFunction)py_ue_anim_sequence_get_raw_animation_track, METH_VARARGS, "" }, { "add_new_raw_track", (PyCFunction)py_ue_anim_sequence_add_new_raw_track, METH_VARARGS, "" }, { "update_compressed_track_map_from_raw", (PyCFunction)py_ue_anim_sequence_update_compressed_track_map_from_raw, METH_VARARGS, "" }, + { "update_raw_track", (PyCFunction)py_ue_anim_sequence_update_raw_track, METH_VARARGS, "" }, + { "apply_raw_anim_changes", (PyCFunction)py_ue_anim_sequence_apply_raw_anim_changes, METH_VARARGS, "" }, #endif { "add_anim_composite_section", (PyCFunction)py_ue_add_anim_composite_section, METH_VARARGS, "" }, #endif diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp index 3da827b99..494e64875 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp @@ -18,6 +18,61 @@ PyObject *py_ue_anim_get_skeleton(ue_PyUObject * self, PyObject * args) Py_RETURN_UOBJECT((UObject *)skeleton); } +PyObject *py_ue_anim_get_bone_transform(ue_PyUObject * self, PyObject * args) +{ + ue_py_check(self); + + int track_index; + float frame_time; + PyObject *py_b_use_raw_data = nullptr; + + if (!PyArg_ParseTuple(args, "if|O:get_bone_transform", &track_index, &frame_time, &py_b_use_raw_data)) + { + return nullptr; + } + + UAnimSequence *anim = ue_py_check_type(self); + if (!anim) + return PyErr_Format(PyExc_Exception, "UObject is not a UAnimSequence."); + + bool bUseRawData = false; + if (py_b_use_raw_data && PyObject_IsTrue(py_b_use_raw_data)) + bUseRawData = true; + + FTransform OutAtom; + anim->GetBoneTransform(OutAtom, track_index, frame_time, bUseRawData); + + return py_ue_new_ftransform(OutAtom); +} + +PyObject *py_ue_anim_extract_root_motion(ue_PyUObject * self, PyObject * args) +{ + ue_py_check(self); + + float start_time; + float delta_time; + PyObject *py_b_allow_looping = nullptr; + + if (!PyArg_ParseTuple(args, "ff|O:extract_root_motion", &start_time, &delta_time, &py_b_allow_looping)) + { + return nullptr; + } + + UAnimSequence *anim = ue_py_check_type(self); + if (!anim) + return PyErr_Format(PyExc_Exception, "UObject is not a UAnimSequence."); + + bool bAllowLooping = false; + if (py_b_allow_looping && PyObject_IsTrue(py_b_allow_looping)) + bAllowLooping = true; + + return py_ue_new_ftransform(anim->ExtractRootMotion(start_time, delta_time, bAllowLooping)); +} + + + + + #if WITH_EDITOR #if ENGINE_MINOR_VERSION > 13 @@ -73,6 +128,32 @@ PyObject *py_ue_anim_sequence_get_raw_animation_track(ue_PyUObject * self, PyObj return py_ue_new_fraw_anim_sequence_track(anim_seq->GetRawAnimationTrack(index)); } +PyObject *py_ue_anim_sequence_apply_raw_anim_changes(ue_PyUObject * self, PyObject * args) +{ + ue_py_check(self); + + UAnimSequence *anim_seq = ue_py_check_type(self); + if (!anim_seq) + return PyErr_Format(PyExc_Exception, "UObject is not a UAnimSequence."); + + + if (anim_seq->DoesNeedRebake()) + { + anim_seq->Modify(true); + anim_seq->BakeTrackCurvesToRawAnimation(); + } + + if (anim_seq->DoesNeedRecompress()) + { + anim_seq->Modify(true); + anim_seq->RequestSyncAnimRecompression(false); + } + + Py_RETURN_NONE; +} + + + PyObject *py_ue_anim_sequence_add_new_raw_track(ue_PyUObject * self, PyObject * args) { ue_py_check(self); @@ -105,14 +186,47 @@ PyObject *py_ue_anim_sequence_add_new_raw_track(ue_PyUObject * self, PyObject * int32 index = anim_seq->AddNewRawTrack(FName(UTF8_TO_TCHAR(name)), rast); - if (anim_seq->DoesNeedRebake()) - anim_seq->BakeTrackCurvesToRawAnimation(); - anim_seq->MarkRawDataAsModified(); + anim_seq->MarkPackageDirty(); return PyLong_FromLong(index); } +PyObject *py_ue_anim_sequence_update_raw_track(ue_PyUObject * self, PyObject * args) +{ + ue_py_check(self); + + int track_index; + PyObject *py_rast; + if (!PyArg_ParseTuple(args, "iO:update_raw_track", &track_index, &py_rast)) + return nullptr; + + UAnimSequence *anim_seq = ue_py_check_type(self); + if (!anim_seq) + return PyErr_Format(PyExc_Exception, "UObject is not a UAnimSequence."); + + ue_PyFRawAnimSequenceTrack *py_f_rast = py_ue_is_fraw_anim_sequence_track(py_rast); + if (!py_f_rast) + { + return PyErr_Format(PyExc_Exception, "argument is not a FRawAnimSequenceTrack."); + } + + anim_seq->Modify(); + + FRawAnimSequenceTrack& RawRef = anim_seq->GetRawAnimationTrack(track_index); + + RawRef.PosKeys = py_f_rast->raw_anim_sequence_track.PosKeys; + RawRef.RotKeys = py_f_rast->raw_anim_sequence_track.RotKeys; + RawRef.ScaleKeys = py_f_rast->raw_anim_sequence_track.ScaleKeys; + + anim_seq->MarkRawDataAsModified(); + anim_seq->MarkPackageDirty(); + + Py_RETURN_NONE; +} + + + PyObject *py_ue_add_anim_composite_section(ue_PyUObject * self, PyObject * args) { ue_py_check(self); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h index 608c257ef..d71b68788 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h @@ -13,10 +13,14 @@ PyObject *py_ue_anim_get_skeleton(ue_PyUObject *, PyObject *); PyObject *py_ue_anim_sequence_get_raw_animation_data(ue_PyUObject *, PyObject *); PyObject *py_ue_anim_sequence_get_raw_animation_track(ue_PyUObject *, PyObject *); PyObject *py_ue_anim_sequence_add_new_raw_track(ue_PyUObject *, PyObject *); +PyObject *py_ue_anim_sequence_update_raw_track(ue_PyUObject *, PyObject *); PyObject *py_ue_add_anim_composite_section(ue_PyUObject *, PyObject *); PyObject *py_ue_anim_sequence_update_compressed_track_map_from_raw(ue_PyUObject *, PyObject *); +PyObject *py_ue_anim_sequence_apply_raw_anim_changes(ue_PyUObject *, PyObject *); #endif PyObject *py_ue_anim_set_skeleton(ue_PyUObject *, PyObject *); +PyObject *py_ue_anim_get_bone_transform(ue_PyUObject *, PyObject *); +PyObject *py_ue_anim_extract_root_motion(ue_PyUObject *, PyObject *); PyObject *py_ue_get_blend_parameter(ue_PyUObject *, PyObject *); PyObject *py_ue_set_blend_parameter(ue_PyUObject *, PyObject *); From 09ca1d5a675e456b9d95cec3b291ef47400aa08f Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 29 Jun 2018 18:03:24 +0200 Subject: [PATCH 215/538] added support for python 3.7 --- .../Private/Blueprint/UEPyEdGraphPin.cpp | 4 ++-- Source/UnrealEnginePython/Private/PyActor.cpp | 2 +- .../Private/PyCharacter.cpp | 2 +- Source/UnrealEnginePython/Private/PyHUD.cpp | 2 +- Source/UnrealEnginePython/Private/PyPawn.cpp | 2 +- .../Private/PythonComponent.cpp | 8 +++---- .../UnrealEnginePython/Private/UEPyEditor.cpp | 4 ++-- .../UnrealEnginePython/Private/UEPyEngine.cpp | 22 ++++++++----------- .../Private/UEPyEnumsImporter.cpp | 2 +- .../UnrealEnginePython/Private/UEPyModule.cpp | 10 ++++----- .../Private/UEPySubclassing.cpp | 16 +++++++------- .../Private/UEPyUClassesImporter.cpp | 2 +- .../Private/UEPyUScriptStruct.cpp | 8 +++---- .../Private/UEPyUStructsImporter.cpp | 2 +- .../Private/UObject/UEPySequencer.cpp | 3 +-- .../Private/UnrealEnginePython.cpp | 15 +++++++++---- .../Wrappers/UEPyFStringAssetReference.cpp | 2 +- .../Public/UnrealEnginePython.h | 4 +++- .../UnrealEnginePython.Build.cs | 15 +++++++++++++ 19 files changed, 72 insertions(+), 53 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp index 8a25ade4a..9be4f3220 100644 --- a/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp +++ b/Source/UnrealEnginePython/Private/Blueprint/UEPyEdGraphPin.cpp @@ -126,7 +126,7 @@ static int py_ue_edgraphpin_set_default_value(ue_PyEdGraphPin *self, PyObject *v { if (value && PyUnicode_Check(value)) { - char *str = PyUnicode_AsUTF8(value); + const char *str = UEPyUnicode_AsUTF8(value); self->pin->DefaultValue = UTF8_TO_TCHAR(str); return 0; } @@ -143,7 +143,7 @@ static int py_ue_edgraphpin_set_default_text_value(ue_PyEdGraphPin *self, PyObje { if (value && PyUnicode_Check(value)) { - char *str = PyUnicode_AsUTF8(value); + const char *str = UEPyUnicode_AsUTF8(value); self->pin->DefaultTextValue = FText::FromString(UTF8_TO_TCHAR(str)); return 0; } diff --git a/Source/UnrealEnginePython/Private/PyActor.cpp b/Source/UnrealEnginePython/Private/PyActor.cpp index fd42173cd..763d91fb6 100644 --- a/Source/UnrealEnginePython/Private/PyActor.cpp +++ b/Source/UnrealEnginePython/Private/PyActor.cpp @@ -273,7 +273,7 @@ FString APyActor::CallPythonActorMethodString(FString method_name, FString args) return FString(); } - char *str_ret = PyUnicode_AsUTF8(py_str); + const char *str_ret = UEPyUnicode_AsUTF8(py_str); FString ret_fstring = FString(UTF8_TO_TCHAR(str_ret)); diff --git a/Source/UnrealEnginePython/Private/PyCharacter.cpp b/Source/UnrealEnginePython/Private/PyCharacter.cpp index 91748bd05..e104a1851 100644 --- a/Source/UnrealEnginePython/Private/PyCharacter.cpp +++ b/Source/UnrealEnginePython/Private/PyCharacter.cpp @@ -421,7 +421,7 @@ FString APyCharacter::CallPyCharacterMethodString(FString method_name, FString a return FString(); } - char *str_ret = PyUnicode_AsUTF8(py_str); + const char *str_ret = UEPyUnicode_AsUTF8(py_str); FString ret_fstring = FString(UTF8_TO_TCHAR(str_ret)); diff --git a/Source/UnrealEnginePython/Private/PyHUD.cpp b/Source/UnrealEnginePython/Private/PyHUD.cpp index 4f9f27df7..0d31b1ab4 100644 --- a/Source/UnrealEnginePython/Private/PyHUD.cpp +++ b/Source/UnrealEnginePython/Private/PyHUD.cpp @@ -228,7 +228,7 @@ FString APyHUD::CallPythonHUDMethodString(FString method_name, FString args) return FString(); } - char *str_ret = PyUnicode_AsUTF8(py_str); + const char *str_ret = UEPyUnicode_AsUTF8(py_str); FString ret_fstring = FString(UTF8_TO_TCHAR(str_ret)); diff --git a/Source/UnrealEnginePython/Private/PyPawn.cpp b/Source/UnrealEnginePython/Private/PyPawn.cpp index 287391a60..e10d9f8e7 100644 --- a/Source/UnrealEnginePython/Private/PyPawn.cpp +++ b/Source/UnrealEnginePython/Private/PyPawn.cpp @@ -225,7 +225,7 @@ FString APyPawn::CallPythonPawnMethodString(FString method_name) return FString(); } - char *str_ret = PyUnicode_AsUTF8(py_str); + const char *str_ret = UEPyUnicode_AsUTF8(py_str); FString ret_fstring = FString(UTF8_TO_TCHAR(str_ret)); diff --git a/Source/UnrealEnginePython/Private/PythonComponent.cpp b/Source/UnrealEnginePython/Private/PythonComponent.cpp index 313ddfbbe..11082d6ac 100644 --- a/Source/UnrealEnginePython/Private/PythonComponent.cpp +++ b/Source/UnrealEnginePython/Private/PythonComponent.cpp @@ -474,7 +474,7 @@ FString UPythonComponent::CallPythonComponentMethodString(FString method_name, F return FString(); } - char *str_ret = PyUnicode_AsUTF8(py_str); + const char *str_ret = UEPyUnicode_AsUTF8(py_str); FString ret_fstring = FString(UTF8_TO_TCHAR(str_ret)); @@ -567,8 +567,8 @@ TMap UPythonComponent::CallPythonComponentMethodMap(FString me return output_map; } - char *str_key = PyUnicode_AsUTF8(py_str_key); - char *str_value = PyUnicode_AsUTF8(py_str_value); + const char *str_key = UEPyUnicode_AsUTF8(py_str_key); + const char *str_value = UEPyUnicode_AsUTF8(py_str_value); FString ret_fstring_key = FString(UTF8_TO_TCHAR(str_key)); FString ret_fstring_value = FString(UTF8_TO_TCHAR(str_value)); @@ -627,7 +627,7 @@ void UPythonComponent::CallPythonComponentMethodStringArray(FString method_name, return; } - char *str_ret = PyUnicode_AsUTF8(py_str); + const char *str_ret = UEPyUnicode_AsUTF8(py_str); FString ret_fstring = FString(UTF8_TO_TCHAR(str_ret)); diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index f83f641ed..2dbb1de07 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -342,7 +342,7 @@ PyObject *py_unreal_engine_import_asset(PyObject * self, PyObject * args) } else if (PyUnicodeOrString_Check(obj)) { - char *class_name = PyUnicode_AsUTF8(obj); + const char *class_name = UEPyUnicode_AsUTF8(obj); UClass *u_class = FindObject(ANY_PACKAGE, UTF8_TO_TCHAR(class_name)); if (u_class) { @@ -1425,7 +1425,7 @@ PyObject *py_unreal_engine_blueprint_add_member_variable(PyObject * self, PyObje if (PyUnicode_Check(py_type)) { - char *in_type = PyUnicode_AsUTF8(py_type); + const char *in_type = UEPyUnicode_AsUTF8(py_type); bool is_array = false; if (py_is_array && PyObject_IsTrue(py_is_array)) diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index 2f3b3e749..b06286976 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -33,12 +33,11 @@ PyObject *py_unreal_engine_log(PyObject * self, PyObject * args) PyObject *stringified = PyObject_Str(py_message); if (!stringified) return PyErr_Format(PyExc_Exception, "argument cannot be casted to string"); - char *message = PyUnicode_AsUTF8(stringified); + const char *message = UEPyUnicode_AsUTF8(stringified); UE_LOG(LogPython, Log, TEXT("%s"), UTF8_TO_TCHAR(message)); Py_DECREF(stringified); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_unreal_engine_log_warning(PyObject * self, PyObject * args) @@ -52,12 +51,11 @@ PyObject *py_unreal_engine_log_warning(PyObject * self, PyObject * args) PyObject *stringified = PyObject_Str(py_message); if (!stringified) return PyErr_Format(PyExc_Exception, "argument cannot be casted to string"); - char *message = PyUnicode_AsUTF8(stringified); + const char *message = UEPyUnicode_AsUTF8(stringified); UE_LOG(LogPython, Warning, TEXT("%s"), UTF8_TO_TCHAR(message)); Py_DECREF(stringified); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_unreal_engine_log_error(PyObject * self, PyObject * args) @@ -71,12 +69,11 @@ PyObject *py_unreal_engine_log_error(PyObject * self, PyObject * args) PyObject *stringified = PyObject_Str(py_message); if (!stringified) return PyErr_Format(PyExc_Exception, "argument cannot be casted to string"); - char *message = PyUnicode_AsUTF8(stringified); + const char *message = UEPyUnicode_AsUTF8(stringified); UE_LOG(LogPython, Error, TEXT("%s"), UTF8_TO_TCHAR(message)); Py_DECREF(stringified); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_unreal_engine_add_on_screen_debug_message(PyObject * self, PyObject * args) @@ -98,14 +95,13 @@ PyObject *py_unreal_engine_add_on_screen_debug_message(PyObject * self, PyObject PyObject *stringified = PyObject_Str(py_message); if (!stringified) return PyErr_Format(PyExc_Exception, "argument cannot be casted to string"); - char *message = PyUnicode_AsUTF8(stringified); + const char *message = UEPyUnicode_AsUTF8(stringified); GEngine->AddOnScreenDebugMessage(key, time_to_display, FColor::Green, FString::Printf(TEXT("%s"), UTF8_TO_TCHAR(message))); Py_DECREF(stringified); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } PyObject *py_unreal_engine_print_string(PyObject * self, PyObject * args) @@ -137,7 +133,7 @@ PyObject *py_unreal_engine_print_string(PyObject * self, PyObject * args) PyObject *stringified = PyObject_Str(py_message); if (!stringified) return PyErr_Format(PyExc_Exception, "argument cannot be casted to string"); - char *message = PyUnicode_AsUTF8(stringified); + const char *message = UEPyUnicode_AsUTF8(stringified); GEngine->AddOnScreenDebugMessage(-1, timeout, color, FString(UTF8_TO_TCHAR(message))); diff --git a/Source/UnrealEnginePython/Private/UEPyEnumsImporter.cpp b/Source/UnrealEnginePython/Private/UEPyEnumsImporter.cpp index eff16bae4..403865174 100644 --- a/Source/UnrealEnginePython/Private/UEPyEnumsImporter.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEnumsImporter.cpp @@ -7,7 +7,7 @@ static PyObject *ue_PyEnumsImporter_getattro(ue_PyEnumsImporter *self, PyObject { if (PyUnicodeOrString_Check(attr_name)) { - char *attr = PyUnicode_AsUTF8(attr_name); + const char *attr = UEPyUnicode_AsUTF8(attr_name); if (attr[0] != '_') { UEnum *u_enum = FindObject(ANY_PACKAGE, UTF8_TO_TCHAR(attr)); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 89e2942c5..462afafd8 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -1081,7 +1081,7 @@ static PyObject *ue_PyUObject_getattro(ue_PyUObject *self, PyObject *attr_name) { if (PyUnicodeOrString_Check(attr_name)) { - char *attr = PyUnicode_AsUTF8(attr_name); + const char *attr = UEPyUnicode_AsUTF8(attr_name); // first check for property UStruct *u_struct = nullptr; if (self->ue_object->IsA()) @@ -1180,7 +1180,7 @@ static int ue_PyUObject_setattro(ue_PyUObject *self, PyObject *attr_name, PyObje // first of all check for UProperty if (PyUnicodeOrString_Check(attr_name)) { - char *attr = PyUnicode_AsUTF8(attr_name); + char *attr = (char *)PyUnicode_AsUTF8(attr_name); // first check for property UStruct *u_struct = nullptr; if (self->ue_object->IsA()) @@ -1287,7 +1287,7 @@ static PyObject *ue_PyUObject_call(ue_PyUObject *self, PyObject *args, PyObject } if (!PyUnicodeOrString_Check(key)) continue; - char *struct_key = PyUnicode_AsUTF8(key); + const char *struct_key = UEPyUnicode_AsUTF8(key); PyObject *value = PyDict_GetItem(kw, key); if (!value) @@ -1300,7 +1300,7 @@ static PyObject *ue_PyUObject_call(ue_PyUObject *self, PyObject *args, PyObject break; } - UProperty *u_property = ue_struct_get_field_from_name(u_script_struct, struct_key); + UProperty *u_property = ue_struct_get_field_from_name(u_script_struct, (char *)struct_key); if (u_property) { if (!ue_py_convert_pyobject(value, u_property, data, 0)) @@ -2960,7 +2960,7 @@ UFunction *unreal_engine_add_function(UClass *u_class, char *name, PyObject *py_ if (!PyUnicodeOrString_Check(key)) continue; - char *p_name = PyUnicode_AsUTF8(key); + const char *p_name = UEPyUnicode_AsUTF8(key); PyObject *value = PyDict_GetItem(annotations, key); if (!value) diff --git a/Source/UnrealEnginePython/Private/UEPySubclassing.cpp b/Source/UnrealEnginePython/Private/UEPySubclassing.cpp index b0afc78a5..57c2552b9 100644 --- a/Source/UnrealEnginePython/Private/UEPySubclassing.cpp +++ b/Source/UnrealEnginePython/Private/UEPySubclassing.cpp @@ -31,9 +31,9 @@ int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *kwds) PyObject *class_attributes = PyTuple_GetItem(args, 2); PyObject *class_name = PyDict_GetItemString(class_attributes, (char *)"__qualname__"); - char *name = PyUnicode_AsUTF8(class_name); + const char *name = UEPyUnicode_AsUTF8(class_name); // check if parent is a uclass - UClass *new_class = unreal_engine_new_uclass(name, (UClass *)parent->ue_object); + UClass *new_class = unreal_engine_new_uclass((char *)name, (UClass *)parent->ue_object); if (!new_class) return -1; @@ -59,7 +59,7 @@ int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *kwds) } if (!PyUnicodeOrString_Check(key)) continue; - char *class_key = PyUnicode_AsUTF8(key); + const char *class_key = UEPyUnicode_AsUTF8(key); PyObject *value = PyDict_GetItem(class_attributes, key); @@ -277,15 +277,15 @@ int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *kwds) PyObject *override_name = PyObject_GetAttrString(value, (char *)"override"); if (override_name && PyUnicodeOrString_Check(override_name)) { - class_key = PyUnicode_AsUTF8(override_name); + class_key = UEPyUnicode_AsUTF8(override_name); } else if (override_name && PyUnicodeOrString_Check(override_name)) { - class_key = PyUnicode_AsUTF8(override_name); + class_key = UEPyUnicode_AsUTF8(override_name); } else if (!override_name) PyErr_Clear(); - if (!unreal_engine_add_function(new_class, class_key, value, func_flags)) + if (!unreal_engine_add_function(new_class, (char *)class_key, value, func_flags)) { UE_LOG(LogPython, Error, TEXT("unable to add function %s"), UTF8_TO_TCHAR(class_key)); return -1; @@ -340,7 +340,7 @@ int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *kwds) PyObject *mc_key = PyList_GetItem(keys, i); PyObject *mc_value = PyDict_GetItem(found_additional_props, mc_key); - char *mc_name = PyUnicode_AsUTF8(mc_key); + const char *mc_name = UEPyUnicode_AsUTF8(mc_key); UProperty *u_property = ObjectInitializer.GetObj()->GetClass()->FindPropertyByName(FName(UTF8_TO_TCHAR(mc_name))); if (u_property) { @@ -380,7 +380,7 @@ int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *kwds) PyObject *value = PyDict_GetItem(u_py_class_casted->py_uobject->py_dict, key); if (PyUnicode_Check(key)) { - char *key_name = PyUnicode_AsUTF8(key); + const char *key_name = UEPyUnicode_AsUTF8(key); if (!strcmp(key_name, (char *)"__additional_uproperties__")) continue; } diff --git a/Source/UnrealEnginePython/Private/UEPyUClassesImporter.cpp b/Source/UnrealEnginePython/Private/UEPyUClassesImporter.cpp index cf2f4b8b4..193d300e3 100644 --- a/Source/UnrealEnginePython/Private/UEPyUClassesImporter.cpp +++ b/Source/UnrealEnginePython/Private/UEPyUClassesImporter.cpp @@ -7,7 +7,7 @@ static PyObject *ue_PyUClassesImporter_getattro(ue_PyUClassesImporter *self, PyO { if (PyUnicodeOrString_Check(attr_name)) { - char *attr = PyUnicode_AsUTF8(attr_name); + const char *attr = UEPyUnicode_AsUTF8(attr_name); if (attr[0] != '_') { UClass *u_class = FindObject(ANY_PACKAGE, UTF8_TO_TCHAR(attr)); diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp index cac103f1e..f40258177 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp @@ -186,9 +186,9 @@ static PyObject *ue_PyUScriptStruct_getattro(ue_PyUScriptStruct *self, PyObject { if (PyUnicodeOrString_Check(attr_name)) { - char *attr = PyUnicode_AsUTF8(attr_name); + const char *attr = UEPyUnicode_AsUTF8(attr_name); // first check for property - UProperty *u_property = get_field_from_name(self->u_struct, attr); + UProperty *u_property = get_field_from_name(self->u_struct, (char *)attr); if (u_property) { // swallow previous exception @@ -205,9 +205,9 @@ static int ue_PyUScriptStruct_setattro(ue_PyUScriptStruct *self, PyObject *attr_ // first of all check for UProperty if (PyUnicodeOrString_Check(attr_name)) { - char *attr = PyUnicode_AsUTF8(attr_name); + const char *attr = UEPyUnicode_AsUTF8(attr_name); // first check for property - UProperty *u_property = get_field_from_name(self->u_struct, attr); + UProperty *u_property = get_field_from_name(self->u_struct, (char *)attr); if (u_property) { if (ue_py_convert_pyobject(value, u_property, self->data, 0)) diff --git a/Source/UnrealEnginePython/Private/UEPyUStructsImporter.cpp b/Source/UnrealEnginePython/Private/UEPyUStructsImporter.cpp index 2df9d20fe..6710864a1 100644 --- a/Source/UnrealEnginePython/Private/UEPyUStructsImporter.cpp +++ b/Source/UnrealEnginePython/Private/UEPyUStructsImporter.cpp @@ -7,7 +7,7 @@ static PyObject *ue_PyUStructsImporter_getattro(ue_PyUStructsImporter *self, PyO { if (PyUnicodeOrString_Check(attr_name)) { - char *attr = PyUnicode_AsUTF8(attr_name); + const char *attr = UEPyUnicode_AsUTF8(attr_name); if (attr[0] != '_') { UScriptStruct *u_struct = FindObject(ANY_PACKAGE, UTF8_TO_TCHAR(attr)); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index ebe132316..d139ee03c 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -73,8 +73,7 @@ PyObject *py_ue_sequencer_changed(ue_PyUObject *self, PyObject * args) } - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } #endif diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 7de2f0aac..5df85247c 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -27,9 +27,10 @@ void init_unreal_engine_builtin(); const char *ue4_module_options = "linux_global_symbols"; #endif -#if PY_MAJOR_VERSION < 3 -char *PyUnicode_AsUTF8(PyObject *py_str) + +const char *UEPyUnicode_AsUTF8(PyObject *py_str) { +#if PY_MAJOR_VERSION < 3 if (PyUnicode_Check(py_str)) { PyObject *unicode = PyUnicode_AsUTF8String(py_str); @@ -40,9 +41,15 @@ char *PyUnicode_AsUTF8(PyObject *py_str) // just a hack to avoid crashes return (char *)""; } - return PyString_AsString(py_str); + return (const char *)PyString_AsString(py_str); +#elif PY_MINOR_VERSION < 7 + return (const char *)PyUnicode_AsUTF8(py_str); +#else + return PyUnicode_AsUTF8(py_str); +#endif } +#if PY_MAJOR_VERSION < 3 int PyGILState_Check() { PyThreadState * tstate = _PyThreadState_Current; @@ -434,7 +441,7 @@ FString FUnrealEnginePythonModule::Pep8ize(FString Code) return Code; } - char *pep8ized = PyUnicode_AsUTF8(ret); + const char *pep8ized = UEPyUnicode_AsUTF8(ret); FString NewCode = FString(pep8ized); Py_DECREF(ret); diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFStringAssetReference.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFStringAssetReference.cpp index 6b800b881..ac0ba1dc4 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFStringAssetReference.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFStringAssetReference.cpp @@ -73,7 +73,7 @@ static int ue_py_fstring_asset_reference_init(ue_PyFStringAssetReference *self, if (PyUnicode_Check(py_object)) { - char *value = PyUnicode_AsUTF8(py_object); + const char *value = UEPyUnicode_AsUTF8(py_object); self->fstring_asset_reference = FStringAssetReference(FString(UTF8_TO_TCHAR(value))); return 0; } diff --git a/Source/UnrealEnginePython/Public/UnrealEnginePython.h b/Source/UnrealEnginePython/Public/UnrealEnginePython.h index b0aaf4d13..dc74c812f 100644 --- a/Source/UnrealEnginePython/Public/UnrealEnginePython.h +++ b/Source/UnrealEnginePython/Public/UnrealEnginePython.h @@ -60,8 +60,10 @@ UNREALENGINEPYTHON_API PyObject *ue_py_register_module(const char *); return -1;\ } + +const char *UEPyUnicode_AsUTF8(PyObject *py_str); + #if PY_MAJOR_VERSION < 3 -char *PyUnicode_AsUTF8(PyObject *py_str); int PyGILState_Check(); #endif bool PyUnicodeOrString_Check(PyObject *py_obj); diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index ddde97f39..fdbe6507b 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -18,6 +18,7 @@ public class UnrealEnginePython : ModuleRules private string[] windowsKnownPaths = { + "C:/Program Files/Python37", "C:/Program Files/Python36", "C:/Program Files/Python35", "C:/Python27", @@ -26,9 +27,11 @@ public class UnrealEnginePython : ModuleRules private string[] macKnownPaths = { + "/Library/Frameworks/Python.framework/Versions/3.7", "/Library/Frameworks/Python.framework/Versions/3.6", "/Library/Frameworks/Python.framework/Versions/3.5", "/Library/Frameworks/Python.framework/Versions/2.7", + "/System/Library/Frameworks/Python.framework/Versions/3.7", "/System/Library/Frameworks/Python.framework/Versions/3.6", "/System/Library/Frameworks/Python.framework/Versions/3.5", "/System/Library/Frameworks/Python.framework/Versions/2.7" @@ -36,11 +39,15 @@ public class UnrealEnginePython : ModuleRules private string[] linuxKnownIncludesPaths = { + "/usr/local/include/python3.7", + "/usr/local/include/python3.7m", "/usr/local/include/python3.6", "/usr/local/include/python3.6m", "/usr/local/include/python3.5", "/usr/local/include/python3.5m", "/usr/local/include/python2.7", + "/usr/include/python3.7", + "/usr/include/python3.7m", "/usr/include/python3.6", "/usr/include/python3.6m", "/usr/include/python3.5", @@ -50,6 +57,10 @@ public class UnrealEnginePython : ModuleRules private string[] linuxKnownLibsPaths = { + "/usr/local/lib/libpython3.7.so", + "/usr/local/lib/libpython3.7m.so", + "/usr/local/lib/x86_64-linux-gnu/libpython3.7.so", + "/usr/local/lib/x86_64-linux-gnu/libpython3.7m.so", "/usr/local/lib/libpython3.6.so", "/usr/local/lib/libpython3.6m.so", "/usr/local/lib/x86_64-linux-gnu/libpython3.6.so", @@ -60,6 +71,10 @@ public class UnrealEnginePython : ModuleRules "/usr/local/lib/x86_64-linux-gnu/libpython3.5m.so", "/usr/local/lib/libpython2.7.so", "/usr/local/lib/x86_64-linux-gnu/libpython2.7.so", + "/usr/lib/libpython3.7.so", + "/usr/lib/libpython3.7m.so", + "/usr/lib/x86_64-linux-gnu/libpython3.7.so", + "/usr/lib/x86_64-linux-gnu/libpython3.7m.so", "/usr/lib/libpython3.6.so", "/usr/lib/libpython3.6m.so", "/usr/lib/x86_64-linux-gnu/libpython3.6.so", From cb96c5fac549790c7e7b99520cd61070dbfb08fe Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 30 Jun 2018 09:07:18 +0200 Subject: [PATCH 216/538] Create MemoryManagement.md --- docs/MemoryManagement.md | 47 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 docs/MemoryManagement.md diff --git a/docs/MemoryManagement.md b/docs/MemoryManagement.md new file mode 100644 index 000000000..29db5b3b8 --- /dev/null +++ b/docs/MemoryManagement.md @@ -0,0 +1,47 @@ +# Managing Memory + +## UObject + +A UObject is one of the fundamental parts of Unreal Engine. It represents an engine/editor object tracked by Unreal Engine Garbage Collector. + +Each UObject is constantly tracked, and whenever the Garbage Collector runs (generally every 60 seconds or in very specific parts of the engine/editor loop, like when entering PIE mode) +it checks if the UObject has still references to other UObjects, and in negative case (no references) it will be destroyed. + +You can trigger a Garbage Collector run from python with: + +```python +import unreal_engine as ue +ue.console_exec('obj gc') +``` + +## py_UEObject + +this is the low-level C struct representing the python mapping between a PyObject (c struct representing a python object) and a UObject. +Whenever you create a py_UEObject (from the UE python api) another GC (related to the python plugin) will start tracking it. + +Whenever the UE GC runs, the UNrealEnginePython GC will run too, checking if a UObject mapped to a py_UEObject is still alive. + +If the UObject mapped to a python object is dead, an exception will be triggered. + +This is an example: + +```python +import unreal_engine as ue + +from unreal_engine.classes import BlueprintFactory + +factory = BlueprintFactory() +# run GC +ue.console_exec('obj gc') +# this will raise an exception as the UObject mapped to factory has been destroyed by the GC run +print(factory) +``` + +By running this script you will end with something like this: + +``` +PyUObject is in invalid state +Traceback (most recent call last): + File "", line XX, in +Exception: PyUObject is in invalid state +``` From e0d2e0a7c0ea78ca144d688fcdd1da7cad8e74aa Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 30 Jun 2018 09:17:02 +0200 Subject: [PATCH 217/538] Update MemoryManagement.md --- docs/MemoryManagement.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/docs/MemoryManagement.md b/docs/MemoryManagement.md index 29db5b3b8..9b29d0749 100644 --- a/docs/MemoryManagement.md +++ b/docs/MemoryManagement.md @@ -45,3 +45,34 @@ Traceback (most recent call last): File "", line XX, in Exception: PyUObject is in invalid state ``` + +Very long scripts, that do lot of stuff, often triggering UE4 GC, could be blocked in the middle of their execution by this kind of errors. In such a case (like you would do in C++) you need to inform the UE GC on how to deal with them (for avoiding their destruction). + +Pay attention, as once you tell the UE GC to not destroy a UObject, that UObject (and its python mapping) will stay in memory (so you will end with a leak) + +## Strategy 1: Setting UObject flags to govern the GC + +When you create a UObject (from the C++ side, via the NewObject api call) you can specify a bitmask of flags. By default the python api only use the RF_Public flag: + +https://api.unrealengine.com/INT/API/Runtime/CoreUObject/UObject/EObjectFlags/index.html + +You can change this bitmask with the set_obj_flags() python function: + +```python +import unreal_engine as ue + +from unreal_engine.classes import BlueprintFactory + +factory = BlueprintFactory() +# assign mask 0x00000001|0x00000002 +factory.set_obj_flags(ue.RF_PUBLIC|ue.RF_STANDALONE) +# run GC +ue.console_exec('obj gc') +# this will normally print the UObject repr +print(factory) +``` + +The RF_Standalone flag (RF_STANDALONE in python api) will marks a UObject as 'standalone' so it will remain resident in memory forever. +This is a pretty raw approach (unless you are sure that you need a resident object). For having more control the second strategy will be way more better... + +## Strategy 2: The Root Set From 78317b294b9a04b2cfff70a298dc77efecf29298 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 30 Jun 2018 09:37:59 +0200 Subject: [PATCH 218/538] Update MemoryManagement.md --- docs/MemoryManagement.md | 75 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/docs/MemoryManagement.md b/docs/MemoryManagement.md index 9b29d0749..735d92a86 100644 --- a/docs/MemoryManagement.md +++ b/docs/MemoryManagement.md @@ -73,6 +73,81 @@ print(factory) ``` The RF_Standalone flag (RF_STANDALONE in python api) will marks a UObject as 'standalone' so it will remain resident in memory forever. + +Eventually you can reset/set the flags: + +```python +import unreal_engine as ue + +factory = BlueprintFactory() +factory.set_obj_flags(ue.RF_PUBLIC|ue.RF_STANDALONE) + + +ue.console_exec('obj gc') + +print(factory) + +# the second True argument will reset the flags (otherwise set_obj_flags will work in append mode) +# eventually you can call factory.reset_obj_flags() +factory.set_obj_flags(ue.RF_PUBLIC, True) + +ue.console_exec('obj gc') + +print(factory) +``` + +The second print will raise the error. + This is a pretty raw approach (unless you are sure that you need a resident object). For having more control the second strategy will be way more better... ## Strategy 2: The Root Set + +The root set is a very specific part of the GC tree. If you want to hold control of a UObject lifecycle in an efficient way, you can use the related python api: + +```python +import unreal_engine as ue + +factory = BlueprintFactory() +factory.add_to_root() + +ue.console_exec('obj gc') + +print(factory) + +factory.remove_from_root() + +ue.console_exec('obj gc') + +print(factory) +``` + +as before, the first GC run will not destroy the UObject (as it is in the root set), while the second one will remove if from the memory as it is no more in the root set. + +A funny approach to memory management of UObject from python is by using a Tracker object: + +```python +class Tracker: + + def __init__(self): + self.uobjects = [] + + def track(self, uobject): + uobject.add_to_root() + self.uobjects.append(uobject) + return uobject + + def __del__(self): + for uobject in self.uobjects: + uobject.remove_from_root() + +tracker = Tracker() +``` + +Now you can create UObject from python and track them automatically. When the python GC destroys the tracker object, all of the UObject's tracked by it will be destroyed too: + +```python +factory = tracker.track(BlueprintFactory()) +``` + +As an example when running a script multiple times, the 'tracker' id will be overwritten, triggering the destruction of the mapped python object (and its __del__ method) + From d43f83cdb611d854f5ee3894cb22c5f17fb5e71d Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 30 Jun 2018 09:38:15 +0200 Subject: [PATCH 219/538] Update MemoryManagement.md --- docs/MemoryManagement.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/MemoryManagement.md b/docs/MemoryManagement.md index 735d92a86..6d195f6da 100644 --- a/docs/MemoryManagement.md +++ b/docs/MemoryManagement.md @@ -149,5 +149,5 @@ Now you can create UObject from python and track them automatically. When the py factory = tracker.track(BlueprintFactory()) ``` -As an example when running a script multiple times, the 'tracker' id will be overwritten, triggering the destruction of the mapped python object (and its __del__ method) +As an example when running a script multiple times, the 'tracker' id will be overwritten, triggering the destruction of the mapped python object (and its ```__del__``` method) From 68fd1acfea00a447a69739c18279d3f53b0eb45d Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 30 Jun 2018 09:44:00 +0200 Subject: [PATCH 220/538] improved flags management --- .../UnrealEnginePython/Private/UEPyModule.cpp | 2 + .../Private/UObject/UEPyObject.cpp | 41 ++++++++++++++++--- .../Private/UObject/UEPyObject.h | 2 + 3 files changed, 40 insertions(+), 5 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 462afafd8..889a412fd 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -721,6 +721,8 @@ static PyMethodDef ue_PyUObject_methods[] = { { "class_set_flags", (PyCFunction)py_ue_class_set_flags, METH_VARARGS, "" }, { "get_obj_flags", (PyCFunction)py_ue_get_obj_flags, METH_VARARGS, "" }, { "set_obj_flags", (PyCFunction)py_ue_set_obj_flags, METH_VARARGS, "" }, + { "clear_obj_flags", (PyCFunction)py_ue_clear_obj_flags, METH_VARARGS, "" }, + { "reset_obj_flags", (PyCFunction)py_ue_reset_obj_flags, METH_VARARGS, "" }, #if WITH_EDITOR { "class_get_config_name", (PyCFunction)py_ue_class_get_config_name, METH_VARARGS, "" }, diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp index adf0801d5..735502935 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp @@ -83,16 +83,47 @@ PyObject *py_ue_set_obj_flags(ue_PyUObject * self, PyObject * args) ue_py_check(self); uint64 flags; - if (!PyArg_ParseTuple(args, "K:set_obj_flags", &flags)) + PyObject *py_reset = nullptr; + if (!PyArg_ParseTuple(args, "K|O:set_obj_flags", &flags, &py_reset)) { return nullptr; } + if (py_reset && PyObject_IsTrue(py_reset)) + { + self->ue_object->ClearFlags(self->ue_object->GetFlags()); + } + self->ue_object->SetFlags((EObjectFlags)flags); Py_RETURN_NONE; } +PyObject *py_ue_clear_obj_flags(ue_PyUObject * self, PyObject * args) +{ + + ue_py_check(self); + + uint64 flags; + if (!PyArg_ParseTuple(args, "K:clear_obj_flags", &flags)) + { + return nullptr; + } + + self->ue_object->ClearFlags((EObjectFlags)flags); + + Py_RETURN_NONE; +} + +PyObject *py_ue_reset_obj_flags(ue_PyUObject * self, PyObject * args) +{ + + ue_py_check(self); + + self->ue_object->ClearFlags(self->ue_object->GetFlags()); + + Py_RETURN_NONE; +} #if WITH_EDITOR PyObject *py_ue_class_set_config_name(ue_PyUObject * self, PyObject * args) @@ -723,7 +754,7 @@ PyObject *py_ue_set_property_flags(ue_PyUObject *self, PyObject * args) else { u_struct = (UStruct *)self->ue_object->GetClass(); - } +} UProperty *u_property = u_struct->FindPropertyByName(FName(UTF8_TO_TCHAR(property_name))); if (!u_property) @@ -771,7 +802,7 @@ PyObject *py_ue_add_property_flags(ue_PyUObject *self, PyObject * args) u_property->SetPropertyFlags(u_property->GetPropertyFlags() | (EPropertyFlags)flags); #endif Py_RETURN_NONE; -} + } PyObject *py_ue_get_property_flags(ue_PyUObject *self, PyObject * args) { @@ -1543,7 +1574,7 @@ PyObject *py_ue_add_property(ue_PyUObject * self, PyObject * args) if (is_array || is_map) scope->MarkPendingKill(); return PyErr_Format(PyExc_Exception, "unable to allocate new UProperty"); - } + } UMapProperty *u_map = (UMapProperty *)scope; #if ENGINE_MINOR_VERSION < 20 @@ -1592,7 +1623,7 @@ PyObject *py_ue_add_property(ue_PyUObject * self, PyObject * args) u_map->ValueProp = u_property2; u_property = u_map; - } +} #endif if (u_class == UMulticastDelegateProperty::StaticClass()) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.h b/Source/UnrealEnginePython/Private/UObject/UEPyObject.h index 7f3c95fb7..fbc74e328 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.h @@ -72,6 +72,8 @@ PyObject *py_ue_class_get_flags(ue_PyUObject *, PyObject *); PyObject *py_ue_class_set_flags(ue_PyUObject *, PyObject *); PyObject *py_ue_get_obj_flags(ue_PyUObject *, PyObject *); PyObject *py_ue_set_obj_flags(ue_PyUObject *, PyObject *); +PyObject *py_ue_clear_obj_flags(ue_PyUObject *, PyObject *); +PyObject *py_ue_reset_obj_flags(ue_PyUObject *, PyObject *); PyObject *py_ue_delegate_bind_ufunction(ue_PyUObject *, PyObject *); From c6dd4c8caeee3299e8e9dd0289a97d46b29caf19 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 30 Jun 2018 09:46:09 +0200 Subject: [PATCH 221/538] Update MemoryManagement.md --- docs/MemoryManagement.md | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/docs/MemoryManagement.md b/docs/MemoryManagement.md index 6d195f6da..3d1d0db0b 100644 --- a/docs/MemoryManagement.md +++ b/docs/MemoryManagement.md @@ -52,7 +52,7 @@ Pay attention, as once you tell the UE GC to not destroy a UObject, that UObject ## Strategy 1: Setting UObject flags to govern the GC -When you create a UObject (from the C++ side, via the NewObject api call) you can specify a bitmask of flags. By default the python api only use the RF_Public flag: +When you create a UObject (from the C++ side, via the ```NewObject``` api call) you can specify a bitmask of flags. By default the python api only use the RF_Public flag: https://api.unrealengine.com/INT/API/Runtime/CoreUObject/UObject/EObjectFlags/index.html @@ -79,6 +79,8 @@ Eventually you can reset/set the flags: ```python import unreal_engine as ue +from unreal_engine.classes import BlueprintFactory + factory = BlueprintFactory() factory.set_obj_flags(ue.RF_PUBLIC|ue.RF_STANDALONE) @@ -107,6 +109,8 @@ The root set is a very specific part of the GC tree. If you want to hold control ```python import unreal_engine as ue +from unreal_engine.classes import BlueprintFactory + factory = BlueprintFactory() factory.add_to_root() @@ -151,3 +155,34 @@ factory = tracker.track(BlueprintFactory()) As an example when running a script multiple times, the 'tracker' id will be overwritten, triggering the destruction of the mapped python object (and its ```__del__``` method) +## Low-level UObject creation api + +Til now you have seen how to create new UObject's in a very pythonic way: + +```python +from unreal_engine.classes import BlueprintFactory, Material, MaterialFactoryNew + +bp_factory = BlueprintFactory() +material = Material() +# the first argument here (None) is the outer UObject +material_with_a_name = Material(None, 'FooBar001') +mat_factory = MaterialFactoryNew() +``` + +While the automagic python UObject creation api is really handy, sometime you want lower-level access to the ```NewObject``` C++ api: + +```python +import unreal_engine as ue +from unreal_engine.classes import Material + +material = ue.new_object(Material, None, 'DumbMaterial001', ue.RF_PUBLIC|ue.RF_STANDALONE) +`` + +or for more dynamic class specification: + +```python +import unreal_engine as ue + +# you can reference to Unreal classes with a string +material = ue.new_object(ue.find_class('Material'), None, 'DumbMaterial001', ue.RF_PUBLIC|ue.RF_STANDALONE) +``` From 5a0818299338d5523b55c5947d167ae74448f12b Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 30 Jun 2018 09:46:53 +0200 Subject: [PATCH 222/538] Update MemoryManagement.md --- docs/MemoryManagement.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/MemoryManagement.md b/docs/MemoryManagement.md index 3d1d0db0b..b94c7b498 100644 --- a/docs/MemoryManagement.md +++ b/docs/MemoryManagement.md @@ -176,7 +176,7 @@ import unreal_engine as ue from unreal_engine.classes import Material material = ue.new_object(Material, None, 'DumbMaterial001', ue.RF_PUBLIC|ue.RF_STANDALONE) -`` +``` or for more dynamic class specification: From 8e60bc895e06352b3e4ebc58592a78eb0be66f64 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 30 Jun 2018 10:04:18 +0200 Subject: [PATCH 223/538] Update MemoryManagement.md --- docs/MemoryManagement.md | 47 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/docs/MemoryManagement.md b/docs/MemoryManagement.md index b94c7b498..2f157d1c1 100644 --- a/docs/MemoryManagement.md +++ b/docs/MemoryManagement.md @@ -186,3 +186,50 @@ import unreal_engine as ue # you can reference to Unreal classes with a string material = ue.new_object(ue.find_class('Material'), None, 'DumbMaterial001', ue.RF_PUBLIC|ue.RF_STANDALONE) ``` + + +## UStruct + +UStruct's are the UE representation of low-level C/C++ structs. They work both as POD (Plain Old Data, like in C) and as class-like objects (with methods, but no encapsulation). From the Blueprint point of view, UStruct's are POD (generally in the form of User Defined Structs), while in the C++ api, most of them have regular methods. + +UStruct in the python api are passed by value (as there is no way to track them safely, so dangling pointers could spawn up all over the place), and this leads to some common headache: + +```python +from unreal_engine.structs import StaticMeshSourceModel, MeshBuildSettings +lod1 = StaticMeshSourceModel(BuildSettings=MeshBuildSettings(bRecomputeNormals=False, bRecomputeTangents=True, bUseMikkTSpace=True, bBuildAdjacencyBuffer=True, bRemoveDegenerates=True)) +``` + +In this example we are generating a new LOD for a StaticMesh using the StaticMeshSourceModel UStruct (https://api.unrealengine.com/INT/API/Runtime/Engine/Engine/FStaticMeshSourceModel/index.html) + +now you may think that the following code will modify the bRecomputeNormals of lod1: + +```python +# WRONG you are working on a copy !!! +lod1.BuildSettings.bRecomputeNormals = True +``` + +but (as you read in the comment) it is wrong as lod1.BuildSettings will return a copy of the original MeshBuildSettings UStruct, so technically you are updating a brand new structure that will be destroyed soon after. + +Instead you should recreate and assign a whole new MeshBuildSettings: + +```python +lod1.BuildSettings = MeshBuildSettings(bRecomputeNormals=True, bRecomputeTangents=True, bUseMikkTSpace=True, bBuildAdjacencyBuffer=True, bRemoveDegenerates=True) +``` + +If you need you can make a copy/clone of a struct to avoid copy/paste code: + +```python +mesh_build_settings = lod1.BuildSettings.clone() +mesh_build_settings.bRecomputeNormals = True +lod1.BuildSettings = mesh_build_settings +``` + +This kind of work-mode is not very pythonic (and generally unintuitive) but it is the safest way to avoid very-hard-to-debug crashes triggered by dangling pointers generated by the way structures works in UE. + +If instead, you know what you are doing, you can work in pass-by-ref mode with structures: + +```python +lod1.BuildSettings.ref().bRecomputeNormals = True +``` + +The ref() method will return a new structure that contains a reference/pointer to the original one. This is possible as whenever we create a new UStruct we save its value as well as its pointer. Obviously ref() can point to a non valid memory area, in such a case expect any kind of evilness ;) From 8005df797159c8b5fcbfb06b73622a9c5036d4f4 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 30 Jun 2018 10:05:56 +0200 Subject: [PATCH 224/538] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index e5a39d3f7..70e59d5aa 100644 --- a/README.md +++ b/README.md @@ -513,6 +513,8 @@ ts.dumb = DumbStruct(Foo=17, Bar=22) ts.ref().dumb.foo().Foo = 22 ``` +More details here: https://github.com/20tab/UnrealEnginePython/blob/master/docs/MemoryManagement.md + The ue_site.py file ------------------- @@ -860,6 +862,7 @@ Starting from release 20180226 a new memory management system has been added (FU The same system works for delegates, as well as Slate. +More details here: https://github.com/20tab/UnrealEnginePython/blob/master/docs/MemoryManagement.md Unit Testing ------------ From 8a7fffb0f76dcb2beb7f655fa766dacf1e7e283b Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 30 Jun 2018 11:01:49 +0200 Subject: [PATCH 225/538] Update ManagingAssets.md --- docs/ManagingAssets.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/docs/ManagingAssets.md b/docs/ManagingAssets.md index 47f6ece72..18e2b6899 100644 --- a/docs/ManagingAssets.md +++ b/docs/ManagingAssets.md @@ -154,6 +154,27 @@ if asset002.asset_can_reimport(): asset002.asset_reimport() ``` +The signature of asset_reimport() is the following: + +```python +success = asset_reimport(open_file_dialog, report_dialog, filename_to_import) +``` + +open_file_dialog will trigger an open file widget for selecting the file to import if the object has no file mapped to it. + +report_dialog will show the notify widget reporting the status of the operation + +filename_to_import allows you to specify which file to import for the asset + +The function returns a boolean value + +You can programmatically change the filename assigned to an asset in this way: + +```python +mesh.asset_import_data_set_sources('D:/sword.fbx') +``` + + Creating Assets - From 99059aef0005e77c4d438d45ebec684b3f4b3083 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 30 Jun 2018 11:23:58 +0200 Subject: [PATCH 226/538] finalized tagging api --- .../UnrealEnginePython/Private/UEPyModule.cpp | 7 ++ .../Private/UObject/UEPyActor.cpp | 70 ++++++++++++++++++- .../Private/UObject/UEPyActor.h | 2 + 3 files changed, 78 insertions(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 889a412fd..e2d02ebb4 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -769,6 +769,7 @@ static PyMethodDef ue_PyUObject_methods[] = { #pragma warning(suppress: 4191) { "actor_spawn", (PyCFunction)py_ue_actor_spawn, METH_VARARGS | METH_KEYWORDS, "" }, { "actor_has_tag", (PyCFunction)py_ue_actor_has_tag, METH_VARARGS, "" }, + { "component_has_tag", (PyCFunction)py_ue_component_has_tag, METH_VARARGS, "" }, { "get_actor_bounds", (PyCFunction)py_ue_get_actor_bounds, METH_VARARGS, "" }, { "line_trace_single_by_channel", (PyCFunction)py_ue_line_trace_single_by_channel, METH_VARARGS, "" }, @@ -799,11 +800,17 @@ static PyMethodDef ue_PyUObject_methods[] = { { "get_actor_root_component", (PyCFunction)py_ue_get_actor_root_component, METH_VARARGS, "" }, { "add_actor_root_component", (PyCFunction)py_ue_add_actor_root_component, METH_VARARGS, "" }, { "get_actor_component_by_type", (PyCFunction)py_ue_get_actor_component_by_type, METH_VARARGS, "" }, + { "get_actor_component_by_class", (PyCFunction)py_ue_get_actor_component_by_type, METH_VARARGS, "" }, { "get_component_by_type", (PyCFunction)py_ue_get_actor_component_by_type, METH_VARARGS, "" }, + { "get_component_by_class", (PyCFunction)py_ue_get_actor_component_by_type, METH_VARARGS, "" }, { "get_component", (PyCFunction)py_ue_get_actor_component, METH_VARARGS, "" }, { "get_actor_component", (PyCFunction)py_ue_get_actor_component, METH_VARARGS, "" }, { "get_actor_components_by_type", (PyCFunction)py_ue_get_actor_components_by_type, METH_VARARGS, "" }, { "get_components_by_type", (PyCFunction)py_ue_get_actor_components_by_type, METH_VARARGS, "" }, + { "get_actor_components_by_class", (PyCFunction)py_ue_get_actor_components_by_type, METH_VARARGS, "" }, + { "get_components_by_class", (PyCFunction)py_ue_get_actor_components_by_type, METH_VARARGS, "" }, + { "get_actor_components_by_tag", (PyCFunction)py_ue_get_actor_components_by_tag, METH_VARARGS, "" }, + { "get_components_by_tag", (PyCFunction)py_ue_get_actor_components_by_tag, METH_VARARGS, "" }, { "add_python_component", (PyCFunction)py_ue_add_python_component, METH_VARARGS, "" }, diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp index 3e381dcdb..12650d871 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyActor.cpp @@ -27,6 +27,29 @@ PyObject *py_ue_actor_has_tag(ue_PyUObject * self, PyObject * args) Py_RETURN_FALSE; } +PyObject *py_ue_component_has_tag(ue_PyUObject * self, PyObject * args) +{ + + ue_py_check(self); + + char *tag; + if (!PyArg_ParseTuple(args, "s:component_has_tag", &tag)) + { + return nullptr; + } + + UActorComponent *component = ue_py_check_type(self); + if (!component) + return PyErr_Format(PyExc_Exception, "uobject is not an UActorComponent"); + + if (component->ComponentHasTag(FName(UTF8_TO_TCHAR(tag)))) + { + Py_RETURN_TRUE; + } + + Py_RETURN_FALSE; +} + PyObject *py_ue_actor_begin_play(ue_PyUObject * self, PyObject * args) { @@ -692,6 +715,51 @@ PyObject *py_ue_get_actor_components_by_type(ue_PyUObject * self, PyObject * arg } +PyObject *py_ue_get_actor_components_by_tag(ue_PyUObject * self, PyObject * args) +{ + + ue_py_check(self); + + char *tag; + PyObject *py_uclass = nullptr; + if (!PyArg_ParseTuple(args, "s|O:get_actor_components_by_tag", &tag, &py_uclass)) + { + return nullptr; + } + + AActor *actor = ue_get_actor(self); + if (!actor) + return PyErr_Format(PyExc_Exception, "uobject is not an AActor"); + + PyObject *components = PyList_New(0); + + UClass *u_class = UActorComponent::StaticClass(); + + if (py_uclass) + { + u_class = ue_py_check_type(py_uclass); + if (!u_class) + { + return PyErr_Format(PyExc_Exception, "argument is not a UClass"); + } + + if (!u_class->IsChildOf()) + { + return PyErr_Format(PyExc_Exception, "argument is not a UClass inheriting from UActorComponent"); + } + } + + for (UActorComponent *component : actor->GetComponentsByTag(u_class, FName(UTF8_TO_TCHAR(tag)))) + { + ue_PyUObject *item = ue_get_python_uobject(component); + if (item) + PyList_Append(components, (PyObject *)item); + } + + return components; + +} + PyObject *py_ue_actor_spawn(ue_PyUObject * self, PyObject * args, PyObject *kwargs) { @@ -790,7 +858,7 @@ PyObject *py_ue_get_overlapping_actors(ue_PyUObject * self, PyObject * args) ue_py_check(self); - + PyObject *class_filter = nullptr; if (!PyArg_ParseTuple(args, "|O:get_overlapping_actors", &class_filter)) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyActor.h b/Source/UnrealEnginePython/Private/UObject/UEPyActor.h index 2d8fb3690..29e13ca96 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyActor.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyActor.h @@ -16,6 +16,7 @@ #include "UObject/UObjectThreadContext.h" PyObject *py_ue_actor_has_tag(ue_PyUObject *, PyObject *); +PyObject *py_ue_component_has_tag(ue_PyUObject *, PyObject *); PyObject *py_ue_actor_begin_play(ue_PyUObject *, PyObject *); PyObject *py_ue_get_actor_bounds(ue_PyUObject *, PyObject *); PyObject *py_ue_get_actor_component(ue_PyUObject *, PyObject *); @@ -37,6 +38,7 @@ PyObject *py_ue_add_actor_root_component(ue_PyUObject *, PyObject *); PyObject *py_ue_actor_has_component_of_type(ue_PyUObject *, PyObject *); PyObject *py_ue_get_actor_component_by_type(ue_PyUObject *, PyObject *); PyObject *py_ue_get_actor_components_by_type(ue_PyUObject *, PyObject *); +PyObject *py_ue_get_actor_components_by_tag(ue_PyUObject *, PyObject *); PyObject *py_ue_actor_spawn(ue_PyUObject * self, PyObject *, PyObject *); PyObject *py_ue_get_overlapping_actors(ue_PyUObject *, PyObject *); From 26c909275531e9b95db2c47952da5ee22ef1d3ef Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 30 Jun 2018 11:32:24 +0200 Subject: [PATCH 227/538] Create Tagging_API.md --- docs/Tagging_API.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 docs/Tagging_API.md diff --git a/docs/Tagging_API.md b/docs/Tagging_API.md new file mode 100644 index 000000000..2895c471d --- /dev/null +++ b/docs/Tagging_API.md @@ -0,0 +1,37 @@ +# The Tagging API + +You can 'tag' actor and components. + +A tag is a string (well, an FName internally) you assign to your actors and components. Each of them can have multiple tags. + +## Tagging Actors + +The 'Tags' properties allows you to tag actors: + +```python +your_actor.Tags = ['foo', 'Bar', tEsT'] +``` + +You can eventually fast-check an actor for the availability of a tag: + +```python +if your_actor.actor_has_tag('foo'): + ue.log('Success') +``` + +Finding all actors with a tag is unfortuntaley a slow operation (in C++, Blueprint and obviously python): + +```python +import unreal_engine as ue + +def find_all_actors_with_tag(world, tag): + for actor in world.all_actors(): + if actor.actor_has_tag(tag): + yield actor + + +world = ue.get_editor_world() + +for actor in find_all_actors_with_tag(world, 'foo'): + print(actor) +``` From 849df3b82f1423f005a0033f14e6f472853b1d3f Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 30 Jun 2018 11:40:55 +0200 Subject: [PATCH 228/538] Update Tagging_API.md --- docs/Tagging_API.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/docs/Tagging_API.md b/docs/Tagging_API.md index 2895c471d..30246f322 100644 --- a/docs/Tagging_API.md +++ b/docs/Tagging_API.md @@ -35,3 +35,46 @@ world = ue.get_editor_world() for actor in find_all_actors_with_tag(world, 'foo'): print(actor) ``` + +Eventually you can use the blueprint api: + +```python +import unreal_engine as ue +from unreal_engine.classes import GameplayStatics + +world = ue.get_editor_world() + +# blueprint ufunctions returns a tuple (as UFunctions can returns multiple values) +actors, = GameplayStatics.GetAllActorsWithTag(world, 'one') +for actor in actors: + print(actor) +``` + +## Tagging Components + +You can tag components too using the property 'ComponentTags': + +```python +your_component.ComponentTags = ['one', 'two', 'three'] +``` + +Fast-check of tag availability can be done with the component_has_tag() function: + +```python +if your_component.component_has_tag('one'): + print('yes') +``` + +While you can get the list of actor's component tagged with the specific value: + +```python +component_list = your_actor.get_components_by_tag('two') +``` + +The function can take an optional argument specifying which classes of ActorComponent must be taken into account: + +```python +from unreal_engine.classes import SceneComponent +# search all the components children of the class SceneComponent and tagged with 'two' +component_list = your_actor.get_components_by_tag('two', SceneComponent) +``` From 55104f049b45b636af52e3264f449d4d4632b07d Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 30 Jun 2018 11:48:35 +0200 Subject: [PATCH 229/538] Update README.md --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 70e59d5aa..ed2a4f83f 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,12 @@ Embed Python in Unreal Engine 4 Teaser (by Kite & Lightning): https://twitter.com/KNLstudio/status/932657812466843648 +Fixing Mixamo RootMotion tuturial: https://github.com/20tab/UnrealEnginePython/blob/master/tutorials/FixingMixamoRootMotionWithPython.md + +Funny snippets for working with StaticMesh and SkeletalMesh assets: https://github.com/20tab/UnrealEnginePython/blob/master/tutorials/SnippetsForStaticAndSkeletalMeshes.md + +More tutorials: https://github.com/20tab/UnrealEnginePython/tree/master/tutorials + # How and Why ? This is a plugin embedding a whole Python VM (versions 3.x [the default and suggested one] and 2.7) In Unreal Engine 4 (both the editor and runtime). From 39e8f0519b6d08c45ea35b5f645a0484918cbe32 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 30 Jun 2018 12:07:50 +0200 Subject: [PATCH 230/538] Create rotate_texture.py --- examples/rotate_texture.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 examples/rotate_texture.py diff --git a/examples/rotate_texture.py b/examples/rotate_texture.py new file mode 100644 index 000000000..97246b1e2 --- /dev/null +++ b/examples/rotate_texture.py @@ -0,0 +1,15 @@ +from PIL import Image +import unreal_engine as ue +from unreal_engine.classes import Texture2D + +def rotate_selected_assets_data(degrees): + for asset in ue.get_selected_assets(): + if asset.is_a(Texture2D): + tex = ue.load_object(Texture2D, asset.get_path_name()) + data = tex.texture_get_data() + size = (asset.Blueprint_GetSizeX(), asset.Blueprint_GetSizeY()) + + img = Image.frombytes("RGB", size, data) + img.show() + out = img.rotate(degrees, expand=1) + tex.texture_set_data(out.tobytes()) From 9d857920f8b8285871f88a9546b0c4f0ac193af6 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 30 Jun 2018 12:49:40 +0200 Subject: [PATCH 231/538] Update rotate_texture.py --- examples/rotate_texture.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/examples/rotate_texture.py b/examples/rotate_texture.py index 97246b1e2..6d0de0834 100644 --- a/examples/rotate_texture.py +++ b/examples/rotate_texture.py @@ -5,11 +5,17 @@ def rotate_selected_assets_data(degrees): for asset in ue.get_selected_assets(): if asset.is_a(Texture2D): - tex = ue.load_object(Texture2D, asset.get_path_name()) - data = tex.texture_get_data() - size = (asset.Blueprint_GetSizeX(), asset.Blueprint_GetSizeY()) - - img = Image.frombytes("RGB", size, data) - img.show() - out = img.rotate(degrees, expand=1) - tex.texture_set_data(out.tobytes()) + data = asset.texture_get_source_data() + + size = (asset.texture_get_width(), asset.texture_get_height()) + + img = Image.frombytes('RGBA', size, bytes(data)) + + out = img.rotate(degrees) + + asset.texture_set_source_data(out.tobytes()) + + + + +rotate_selected_assets_data(45) From 560a5d0a24dc929e008919a1f138a8b906f69bd8 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 30 Jun 2018 12:50:05 +0200 Subject: [PATCH 232/538] improved ue_site management, added texture_set_source_data() --- .../UnrealEnginePython/Private/UEPyModule.cpp | 2 + .../Private/UObject/UEPyAnimSequence.cpp | 51 ++++++++++++++---- .../Private/UObject/UEPyAnimSequence.h | 1 + .../Private/UObject/UEPyTexture.cpp | 53 ++++++++++++++++++- .../Private/UObject/UEPyTexture.h | 1 + .../Private/UnrealEnginePython.cpp | 13 +++-- 6 files changed, 105 insertions(+), 16 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index e2d02ebb4..7677b5385 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -640,6 +640,7 @@ static PyMethodDef ue_PyUObject_methods[] = { { "set_blend_parameter", (PyCFunction)py_ue_set_blend_parameter, METH_VARARGS, "" }, { "get_bone_transform", (PyCFunction)py_ue_anim_get_bone_transform, METH_VARARGS, "" }, + { "extract_bone_transform", (PyCFunction)py_ue_anim_extract_bone_transform, METH_VARARGS, "" }, { "extract_root_motion", (PyCFunction)py_ue_anim_extract_root_motion, METH_VARARGS, "" }, #if WITH_EDITOR @@ -973,6 +974,7 @@ static PyMethodDef ue_PyUObject_methods[] = { #if WITH_EDITOR { "texture_get_source_data", (PyCFunction)py_ue_texture_get_source_data, METH_VARARGS, "" }, + { "texture_set_source_data", (PyCFunction)py_ue_texture_set_source_data, METH_VARARGS, "" }, #endif // Sequencer diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp index 494e64875..2110c7887 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp @@ -23,7 +23,7 @@ PyObject *py_ue_anim_get_bone_transform(ue_PyUObject * self, PyObject * args) ue_py_check(self); int track_index; - float frame_time; + float frame_time; PyObject *py_b_use_raw_data = nullptr; if (!PyArg_ParseTuple(args, "if|O:get_bone_transform", &track_index, &frame_time, &py_b_use_raw_data)) @@ -45,6 +45,35 @@ PyObject *py_ue_anim_get_bone_transform(ue_PyUObject * self, PyObject * args) return py_ue_new_ftransform(OutAtom); } +PyObject *py_ue_anim_extract_bone_transform(ue_PyUObject * self, PyObject * args) +{ + ue_py_check(self); + + PyObject *py_sources; + float frame_time; + + if (!PyArg_ParseTuple(args, "Of:extract_bone_transform", &py_sources, &frame_time)) + { + return nullptr; + } + + UAnimSequence *anim = ue_py_check_type(self); + if (!anim) + return PyErr_Format(PyExc_Exception, "UObject is not a UAnimSequence."); + + ue_PyFRawAnimSequenceTrack *rast = py_ue_is_fraw_anim_sequence_track(py_sources); + if (rast) + { + FTransform OutAtom; + anim->ExtractBoneTransform(rast->raw_anim_sequence_track, OutAtom, frame_time); + + return py_ue_new_ftransform(OutAtom); + } + + return PyErr_Format(PyExc_Exception, "argument is not an FRawAnimSequenceTrack"); + +} + PyObject *py_ue_anim_extract_root_motion(ue_PyUObject * self, PyObject * args) { ue_py_check(self); @@ -138,16 +167,16 @@ PyObject *py_ue_anim_sequence_apply_raw_anim_changes(ue_PyUObject * self, PyObje if (anim_seq->DoesNeedRebake()) - { - anim_seq->Modify(true); - anim_seq->BakeTrackCurvesToRawAnimation(); - } + { + anim_seq->Modify(true); + anim_seq->BakeTrackCurvesToRawAnimation(); + } - if (anim_seq->DoesNeedRecompress()) - { - anim_seq->Modify(true); - anim_seq->RequestSyncAnimRecompression(false); - } + if (anim_seq->DoesNeedRecompress()) + { + anim_seq->Modify(true); + anim_seq->RequestSyncAnimRecompression(false); + } Py_RETURN_NONE; } @@ -214,7 +243,7 @@ PyObject *py_ue_anim_sequence_update_raw_track(ue_PyUObject * self, PyObject * a anim_seq->Modify(); FRawAnimSequenceTrack& RawRef = anim_seq->GetRawAnimationTrack(track_index); - + RawRef.PosKeys = py_f_rast->raw_anim_sequence_track.PosKeys; RawRef.RotKeys = py_f_rast->raw_anim_sequence_track.RotKeys; RawRef.ScaleKeys = py_f_rast->raw_anim_sequence_track.ScaleKeys; diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h index d71b68788..cc6d3bb9d 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h @@ -20,6 +20,7 @@ PyObject *py_ue_anim_sequence_apply_raw_anim_changes(ue_PyUObject *, PyObject *) #endif PyObject *py_ue_anim_set_skeleton(ue_PyUObject *, PyObject *); PyObject *py_ue_anim_get_bone_transform(ue_PyUObject *, PyObject *); +PyObject *py_ue_anim_extract_bone_transform(ue_PyUObject *, PyObject *); PyObject *py_ue_anim_extract_root_motion(ue_PyUObject *, PyObject *); PyObject *py_ue_get_blend_parameter(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp index 4cc75c9dc..b5172b8ff 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyTexture.cpp @@ -79,7 +79,7 @@ PyObject *py_ue_texture_get_source_data(ue_PyUObject *self, PyObject * args) if (!PyArg_ParseTuple(args, "|i:texture_get_data", &mipmap)) { - return NULL; + return nullptr; } UTexture2D *tex = ue_py_check_type(self); @@ -96,6 +96,55 @@ PyObject *py_ue_texture_get_source_data(ue_PyUObject *self, PyObject * args) tex->Source.UnlockMip(mipmap); return bytes; } + +PyObject *py_ue_texture_set_source_data(ue_PyUObject *self, PyObject * args) +{ + + ue_py_check(self); + + Py_buffer py_buf; + int mipmap = 0; + + if (!PyArg_ParseTuple(args, "z*|i:texture_set_source_data", &py_buf, &mipmap)) + { + return NULL; + } + + UTexture2D *tex = ue_py_check_type(self); + if (!tex) + return PyErr_Format(PyExc_Exception, "object is not a Texture2D"); + + + if (!py_buf.buf) + return PyErr_Format(PyExc_Exception, "invalid data"); + + if (mipmap >= tex->GetNumMips()) + return PyErr_Format(PyExc_Exception, "invalid mipmap id"); + + int32 wanted_len = py_buf.len; + int32 len = tex->Source.GetSizeX() * tex->Source.GetSizeY() * 4; + // avoid making mess + if (wanted_len > len) + { + UE_LOG(LogPython, Warning, TEXT("truncating buffer to %d bytes"), len); + wanted_len = len; + } + + const uint8 *blob = tex->Source.LockMip(mipmap); + + FMemory::Memcpy((void *)blob, py_buf.buf, wanted_len); + + tex->Source.UnlockMip(mipmap); + Py_BEGIN_ALLOW_THREADS; + tex->MarkPackageDirty(); +#if WITH_EDITOR + tex->PostEditChange(); +#endif + + tex->UpdateResource(); + Py_END_ALLOW_THREADS; + Py_RETURN_NONE; +} #endif PyObject *py_ue_render_target_get_data(ue_PyUObject *self, PyObject * args) @@ -274,7 +323,7 @@ PyObject *py_unreal_engine_create_checkerboard_texture(PyObject * self, PyObject return PyErr_Format(PyExc_Exception, "argument is not a FColor"); UTexture2D *texture = nullptr; - + Py_BEGIN_ALLOW_THREADS; texture = FImageUtils::CreateCheckerboardTexture(color_one->color, color_two->color, checker_size); Py_END_ALLOW_THREADS; diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyTexture.h b/Source/UnrealEnginePython/Private/UObject/UEPyTexture.h index 449a623f4..e14559b3d 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyTexture.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyTexture.h @@ -23,4 +23,5 @@ PyObject *py_ue_texture_update_resource(ue_PyUObject *, PyObject *); #if WITH_EDITOR PyObject *py_unreal_engine_create_texture(PyObject * self, PyObject *); PyObject *py_ue_texture_get_source_data(ue_PyUObject *, PyObject *); +PyObject *py_ue_texture_set_source_data(ue_PyUObject *, PyObject *); #endif diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 5df85247c..380adacf1 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -370,8 +370,15 @@ void FUnrealEnginePythonModule::StartupModule() } else { - // TODO gracefully manage the error - unreal_engine_py_log_error(); + if (PyErr_ExceptionMatches(PyExc_ModuleNotFoundError)) + { + UE_LOG(LogPython, Log, TEXT("ue_site Python module not found")); + PyErr_Clear(); + } + else + { + unreal_engine_py_log_error(); + } } // release the GIL @@ -511,7 +518,7 @@ void FUnrealEnginePythonModule::RunFile(char *filename) { unreal_engine_py_log_error(); return; - } +} #endif } From 2f64a70eae314b193a3386987dbef1a13afb7d46 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 30 Jun 2018 13:27:43 +0200 Subject: [PATCH 233/538] first round of merges for Kite & Lightning pull request #445 --- .../Private/Fbx/UEPyFbxProperty.cpp | 55 +++++++++++++---- .../Private/Slate/UEPyFMenuBuilder.cpp | 7 +-- .../Private/Slate/UEPySBox.cpp | 35 +++++++++++ .../Private/Slate/UEPySCheckBox.cpp | 60 ++++++++++++++++++- .../UnrealEnginePython/Private/UEPyEngine.cpp | 2 + .../UnrealEnginePython/Private/UEPyModule.cpp | 3 +- 6 files changed, 143 insertions(+), 19 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxProperty.cpp b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxProperty.cpp index b6e513550..37eaa2a2a 100644 --- a/Source/UnrealEnginePython/Private/Fbx/UEPyFbxProperty.cpp +++ b/Source/UnrealEnginePython/Private/Fbx/UEPyFbxProperty.cpp @@ -5,29 +5,36 @@ #include "UEPyFbx.h" -static PyObject *py_ue_fbx_property_get_name(ue_PyFbxProperty *self, PyObject *args) { +static PyObject *py_ue_fbx_property_get_name(ue_PyFbxProperty *self, PyObject *args) +{ return PyUnicode_FromString(self->fbx_property.GetName()); } -static PyObject *py_ue_fbx_property_get_double3(ue_PyFbxProperty *self, PyObject *args) { +static PyObject *py_ue_fbx_property_get_double3(ue_PyFbxProperty *self, PyObject *args) +{ FbxDouble3 value = self->fbx_property.Get(); return Py_BuildValue((char *)"(fff)", value[0], value[1], value[2]); } -static PyObject *py_ue_fbx_property_get_string(ue_PyFbxProperty *self, PyObject *args) { - return PyUnicode_FromString(self->fbx_property.Get()); +static PyObject *py_ue_fbx_property_get_string(ue_PyFbxProperty *self, PyObject *args) +{ + return PyUnicode_FromString(self->fbx_property.Get()); } -static PyObject *py_ue_fbx_property_is_valid(ue_PyFbxProperty *self, PyObject *args) { - if (self->fbx_property.IsValid()) { +static PyObject *py_ue_fbx_property_is_valid(ue_PyFbxProperty *self, PyObject *args) +{ + if (self->fbx_property.IsValid()) + { Py_RETURN_TRUE; } Py_RETURN_FALSE; } -static PyObject *py_ue_fbx_property_get_curve_node(ue_PyFbxProperty *self, PyObject *args) { +static PyObject *py_ue_fbx_property_get_curve_node(ue_PyFbxProperty *self, PyObject *args) +{ PyObject *py_object; - if (!PyArg_ParseTuple(args, "O", &py_object)) { + if (!PyArg_ParseTuple(args, "O", &py_object)) + { return nullptr; } @@ -45,10 +52,28 @@ static PyObject *py_ue_fbx_property_get_curve_node(ue_PyFbxProperty *self, PyObj return py_ue_new_fbx_object(fbx_anim_curve_node); } +static PyObject *py_ue_fbx_property_get_bool(ue_PyFbxProperty *self, PyObject *args) +{ + if (self->fbx_property.Get()) + Py_RETURN_TRUE; + + Py_RETURN_FALSE; + +} + +static PyObject *py_ue_fbx_property_get_int(ue_PyFbxProperty *self, PyObject *args) +{ + return PyLong_FromLong(self->fbx_property.Get()); + +} + + static PyMethodDef ue_PyFbxProperty_methods[] = { { "get_name", (PyCFunction)py_ue_fbx_property_get_name, METH_VARARGS, "" }, { "get_double3", (PyCFunction)py_ue_fbx_property_get_double3, METH_VARARGS, "" }, - { "get_string", (PyCFunction)py_ue_fbx_property_get_string, METH_VARARGS, "" }, + { "get_string", (PyCFunction)py_ue_fbx_property_get_string, METH_VARARGS, "" }, + { "get_bool", (PyCFunction)py_ue_fbx_property_get_bool, METH_VARARGS, "" }, + { "get_int", (PyCFunction)py_ue_fbx_property_get_int, METH_VARARGS, "" }, { "is_valid", (PyCFunction)py_ue_fbx_property_is_valid, METH_VARARGS, "" }, { "get_curve_node", (PyCFunction)py_ue_fbx_property_get_curve_node, METH_VARARGS, "" }, { NULL } /* Sentinel */ @@ -87,12 +112,14 @@ static PyTypeObject ue_PyFbxPropertyType = { 0, /* tp_getset */ }; -static int py_ue_fbx_property_init(ue_PyFbxProperty *self, PyObject * args) { +static int py_ue_fbx_property_init(ue_PyFbxProperty *self, PyObject * args) +{ PyErr_SetString(PyExc_Exception, "instantiating a new FbxProperty is currently not supported"); return -1; } -void ue_python_init_fbx_property(PyObject *ue_module) { +void ue_python_init_fbx_property(PyObject *ue_module) +{ ue_PyFbxPropertyType.tp_new = PyType_GenericNew;; ue_PyFbxPropertyType.tp_init = (initproc)py_ue_fbx_property_init; if (PyType_Ready(&ue_PyFbxPropertyType) < 0) @@ -102,13 +129,15 @@ void ue_python_init_fbx_property(PyObject *ue_module) { PyModule_AddObject(ue_module, "FbxProperty", (PyObject *)&ue_PyFbxPropertyType); } -PyObject *py_ue_new_fbx_property(FbxProperty fbx_property) { +PyObject *py_ue_new_fbx_property(FbxProperty fbx_property) +{ ue_PyFbxProperty *ret = (ue_PyFbxProperty *)PyObject_New(ue_PyFbxProperty, &ue_PyFbxPropertyType); ret->fbx_property = fbx_property; return (PyObject *)ret; } -ue_PyFbxProperty *py_ue_is_fbx_property(PyObject *obj) { +ue_PyFbxProperty *py_ue_is_fbx_property(PyObject *obj) +{ if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyFbxPropertyType)) return nullptr; return (ue_PyFbxProperty *)obj; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp index 45912dd6f..d0d5a5549 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFMenuBuilder.cpp @@ -34,8 +34,8 @@ static PyObject *py_ue_fmenu_builder_add_menu_entry(ue_PyFMenuBuilder *self, PyO char *tooltip; PyObject *py_callable; PyObject *py_obj = nullptr; - PyObject *py_uiaction_obj = nullptr; - if (!PyArg_ParseTuple(args, "ssO|OO:add_menu_entry", &label, &tooltip, &py_callable, &py_obj, &py_uiaction_obj)) + int ui_action_type = EUserInterfaceActionType::Button; + if (!PyArg_ParseTuple(args, "ssO|Oi:add_menu_entry", &label, &tooltip, &py_callable, &py_obj, &ui_action_type)) return nullptr; if (!PyCallable_Check(py_callable)) @@ -57,9 +57,8 @@ static PyObject *py_ue_fmenu_builder_add_menu_entry(ue_PyFMenuBuilder *self, PyO handler.BindSP(py_delegate, &FPythonSlateDelegate::SimpleExecuteAction); } - ue_PyESlateEnums *py_uiaction_enum = py_uiaction_obj ? py_ue_is_eslate_enums(py_uiaction_obj) : nullptr; self->menu_builder.AddMenuEntry(FText::FromString(UTF8_TO_TCHAR(label)), FText::FromString(UTF8_TO_TCHAR(tooltip)), FSlateIcon(), FUIAction(handler), NAME_None, - py_uiaction_enum ? (EUserInterfaceActionType::Type)(py_uiaction_enum->val) : EUserInterfaceActionType::Button); + (EUserInterfaceActionType::Type)ui_action_type); Py_RETURN_NONE; } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySBox.cpp index 5b46e2501..1aa250e0e 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySBox.cpp @@ -20,8 +20,42 @@ static PyObject *py_ue_sbox_set_content(ue_PySBox *self, PyObject * args) Py_RETURN_SLATE_SELF; } +static PyObject *py_ue_sbox_set_height_override(ue_PySBox *self, PyObject * args) +{ + ue_py_slate_cast(SBox); + + float height_override = 0; + if (!PyArg_ParseTuple(args, "f:set_height_override", &height_override)) + { + return NULL; + } + + if (height_override != 0) + py_SBox->SetHeightOverride(height_override); + + Py_RETURN_NONE; +} + +static PyObject *py_ue_sbox_set_width_override(ue_PySBox *self, PyObject * args) +{ + ue_py_slate_cast(SBox); + + float width_override = 0; + if (!PyArg_ParseTuple(args, "f:set_width_override", &width_override)) + { + return NULL; + } + + if (width_override != 0) + py_SBox->SetWidthOverride(width_override); + + Py_RETURN_NONE; +} + static PyMethodDef ue_PySBox_methods[] = { { "set_content", (PyCFunction)py_ue_sbox_set_content, METH_VARARGS, "" }, + { "set_height_override", (PyCFunction)py_ue_sbox_set_height_override, METH_VARARGS, "" }, + { "set_width_override", (PyCFunction)py_ue_sbox_set_width_override, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; @@ -65,6 +99,7 @@ static int ue_py_sbox_init(ue_PySBox *self, PyObject *args, PyObject *kwargs) ue_py_slate_farguments_optional_enum("v_align", VAlign, EVerticalAlignment); ue_py_slate_farguments_struct("padding", Padding, FMargin); ue_py_slate_farguments_optional_foptional_size("height_override", HeightOverride); + ue_py_slate_farguments_optional_foptional_size("width_override", WidthOverride); #if ENGINE_MINOR_VERSION > 12 ue_py_slate_farguments_optional_foptional_size("max_aspect_ratio", MaxAspectRatio); #endif diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySCheckBox.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySCheckBox.cpp index 5f734acd7..509ebd66f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySCheckBox.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySCheckBox.cpp @@ -12,8 +12,49 @@ static PyObject *py_ue_scheck_box_is_checked(ue_PySCheckBox *self, PyObject * ar Py_RETURN_FALSE; } +static PyObject *py_ue_scheck_box_set_is_checked(ue_PySCheckBox *self, PyObject * args) +{ + ue_py_slate_cast(SCheckBox); + PyObject * py_bool; + if (!PyArg_ParseTuple(args, "O:set_is_checked", &py_bool)) + { + return NULL; + } + + ECheckBoxState CheckedState = PyObject_IsTrue(py_bool) ? ECheckBoxState::Checked : ECheckBoxState::Unchecked; + + py_SCheckBox->SetIsChecked(TAttribute(CheckedState)); + + Py_RETURN_NONE; + +} + +static PyObject *py_ue_scheck_box_set_content(ue_PySCheckBox *self, PyObject * args) +{ + ue_py_slate_cast(SCheckBox); + PyObject * py_content; + if (!PyArg_ParseTuple(args, "O:set_content", &py_content)) + { + return NULL; + } + + TSharedPtr child = py_ue_is_swidget(py_content); + if (!child.IsValid()) + { + return nullptr; + } + + + + py_SCheckBox->SetContent(child.ToSharedRef()); + + Py_RETURN_SLATE_SELF; +} + static PyMethodDef ue_PySCheckBox_methods[] = { { "is_checked", (PyCFunction)py_ue_scheck_box_is_checked, METH_VARARGS, "" }, + { "set_content", (PyCFunction)py_ue_scheck_box_set_content, METH_VARARGS, "" }, + { "set_is_checked", (PyCFunction)py_ue_scheck_box_set_is_checked, METH_VARARGS, "" }, { NULL } /* Sentinel */ }; @@ -56,7 +97,23 @@ static int ue_py_scheck_box_init(ue_PySCheckBox *self, PyObject *args, PyObject ue_py_slate_farguments_struct("foreground_color", ForegroundColor, FSlateColor); ue_py_slate_farguments_enum("is_checked", IsChecked, ECheckBoxState); ue_py_slate_farguments_event("on_check_state_changed", OnCheckStateChanged, FOnCheckStateChanged, CheckBoxChanged); - + ue_py_slate_farguments_optional_struct_ptr("style", Style, FCheckBoxStyle); + ue_py_slate_farguments_optional_enum("type", Type, ESlateCheckBoxType::Type); + ue_py_slate_farguments_event("on_check_state_changed", OnCheckStateChanged, FOnCheckStateChanged, CheckBoxChanged); + ue_py_slate_farguments_enum("is_checked", IsChecked, ECheckBoxState); + ue_py_slate_farguments_optional_enum("h_align", HAlign, EHorizontalAlignment); + ue_py_slate_farguments_struct("padding", Padding, FMargin); + ue_py_slate_farguments_enum("click_method", ClickMethod, EButtonClickMethod::Type); + ue_py_slate_farguments_optional_bool("is_focusable", IsFocusable); + ue_py_slate_farguments_optional_struct_ptr("unchecked_image", UncheckedImage, FSlateBrush); + ue_py_slate_farguments_optional_struct_ptr("unchecked_hoveredimage", UncheckedHoveredImage, FSlateBrush); + ue_py_slate_farguments_optional_struct_ptr("unchecked_pressedimage", UncheckedPressedImage, FSlateBrush); + ue_py_slate_farguments_optional_struct_ptr("checked_image", CheckedImage, FSlateBrush); + ue_py_slate_farguments_optional_struct_ptr("checked_hoveredimage", CheckedHoveredImage, FSlateBrush); + ue_py_slate_farguments_optional_struct_ptr("checked_pressedimage", CheckedPressedImage, FSlateBrush); + ue_py_slate_farguments_optional_struct_ptr("undetermined_image", UndeterminedImage, FSlateBrush); + ue_py_slate_farguments_optional_struct_ptr("undetermined_hoveredimage", UndeterminedHoveredImage, FSlateBrush); + ue_py_slate_farguments_optional_struct_ptr("undetermined_pressedimage", UndeterminedPressedImage, FSlateBrush); ue_py_snew(SCheckBox); return 0; } @@ -65,6 +122,7 @@ void ue_python_init_scheck_box(PyObject *ue_module) { ue_PySCheckBoxType.tp_init = (initproc)ue_py_scheck_box_init; + ue_PySCheckBoxType.tp_call = (ternaryfunc)py_ue_scheck_box_set_content; ue_PySCheckBoxType.tp_base = &ue_PySCompoundWidgetType; diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index b06286976..f9404251a 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -504,6 +504,7 @@ PyObject *py_unreal_engine_engine_tick(PyObject * self, PyObject * args) Py_RETURN_NONE; } +#if WITH_EDITOR PyObject *py_unreal_engine_tick_rendering_tickables(PyObject * self, PyObject * args) { Py_BEGIN_ALLOW_THREADS; @@ -512,6 +513,7 @@ PyObject *py_unreal_engine_tick_rendering_tickables(PyObject * self, PyObject * Py_RETURN_NONE; } +#endif PyObject *py_unreal_engine_get_delta_time(PyObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 7677b5385..44de231de 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -364,8 +364,9 @@ static PyMethodDef unreal_engine_methods[] = { #endif { "engine_tick", py_unreal_engine_engine_tick, METH_VARARGS, "" }, - { "tick_rendering_tickables", py_unreal_engine_tick_rendering_tickables, METH_VARARGS, "" }, + #if WITH_EDITOR + { "tick_rendering_tickables", py_unreal_engine_tick_rendering_tickables, METH_VARARGS, "" }, { "all_viewport_clients", py_unreal_engine_all_viewport_clients , METH_VARARGS, "" }, #endif { "slate_tick", py_unreal_engine_slate_tick, METH_VARARGS, "" }, From f35e7de58a5fc15c969f2ba605731dcd0b406a96 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 30 Jun 2018 13:48:17 +0200 Subject: [PATCH 234/538] prepare automated builds for python 3.7 --- tools/release_win64.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/release_win64.py b/tools/release_win64.py index f4f13e7e2..ac69767e8 100644 --- a/tools/release_win64.py +++ b/tools/release_win64.py @@ -6,7 +6,7 @@ import zipfile UE_VERSIONS = ['4.15', '4.16', '4.17', '4.18', '4.19'] -PYTHON_VERSIONS = ["C:/Program Files/Python36", "C:/Python27"] +PYTHON_VERSIONS = ["C:/Program Files/Python36", "C:/Program Files/Python37", "C:/Python27"] RELEASE_DIR = sys.argv[1].rstrip('/') From 149184554c65ebfa2de27604e0e2490780a25b92 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 30 Jun 2018 14:25:31 +0200 Subject: [PATCH 235/538] python2.7/python3.5 fixes --- .../Private/Http/UEPyIHttpRequest.cpp | 2 +- .../Private/Slate/UEPySPythonShelf.cpp | 4 ++-- .../Private/Slate/UEPySlate.cpp | 4 ++-- .../Private/Slate/UEPySlate.h | 8 ++++---- .../Private/UEPyAssetUserData.cpp | 4 ++-- .../UnrealEnginePython/Private/UEPyModule.cpp | 18 +++++++++--------- .../Private/UEPySubclassing.cpp | 6 +++--- .../Private/UObject/UEPyAudio.cpp | 2 +- .../Private/UObject/UEPyObject.cpp | 2 +- .../Private/UnrealEnginePython.cpp | 4 ++++ .../Private/Wrappers/UEPyFARFilter.cpp | 8 ++++---- 11 files changed, 33 insertions(+), 29 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.cpp b/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.cpp index 0369ee146..fb0248a4b 100644 --- a/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.cpp +++ b/Source/UnrealEnginePython/Private/Http/UEPyIHttpRequest.cpp @@ -74,7 +74,7 @@ static PyObject *py_ue_ihttp_request_set_content(ue_PyIHttpRequest *self, PyObje if (PyUnicode_Check(py_obj)) { - self->http_request->SetContentAsString(UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_obj))); + self->http_request->SetContentAsString(UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(py_obj))); } else if (PyBytes_Check(py_obj)) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonShelf.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySPythonShelf.cpp index d965045e0..1142a74fa 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonShelf.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonShelf.cpp @@ -123,7 +123,7 @@ static int ue_py_spython_shelf_init(ue_PySPythonShelf *self, PyObject *args, PyO { if (PyUnicode_Check(item)) { - FName class_name = FName(UTF8_TO_TCHAR(PyUnicode_AsUTF8(item))); + FName class_name = FName(UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(item))); asset_picker_config.Filter.ClassNames.Add(class_name); } } @@ -136,7 +136,7 @@ static int ue_py_spython_shelf_init(ue_PySPythonShelf *self, PyObject *args, PyO { if (PyUnicode_Check(item)) { - FName collection_name = FName(UTF8_TO_TCHAR(PyUnicode_AsUTF8(item))); + FName collection_name = FName(UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(item))); asset_picker_config.Collections.Add(FCollectionNameType(collection_name, ECollectionShareType::CST_Local)); } } diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp index acf64ed4e..9325796f1 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp @@ -557,7 +557,7 @@ FText FPythonSlateDelegate::GetterFText() const return FText(); } - FText text = FText::FromString(PyUnicode_AsUTF8(str)); + FText text = FText::FromString(UEPyUnicode_AsUTF8(str)); Py_DECREF(str); Py_DECREF(ret); return text; @@ -581,7 +581,7 @@ FString FPythonSlateDelegate::GetterFString() const return FString(); } - FString fstr = UTF8_TO_TCHAR(PyUnicode_AsUTF8(str)); + FString fstr = UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(str)); Py_DECREF(str); Py_DECREF(ret); return fstr; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h index 01524d275..bce3e89b3 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h @@ -138,14 +138,14 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); #define ue_py_slate_farguments_text(param, attribute) ue_py_slate_up(FText, GetterFText, param, attribute)\ else if (PyUnicode_Check(value)) {\ - arguments.attribute(FText::FromString(UTF8_TO_TCHAR(PyUnicode_AsUTF8(value))));\ + arguments.attribute(FText::FromString(UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(value))));\ }\ ue_py_slate_down(param) #define ue_py_slate_farguments_string(param, attribute) ue_py_slate_up(FString, GetterFString, param, attribute)\ else if (PyUnicode_Check(value)) {\ - arguments.attribute(UTF8_TO_TCHAR(PyUnicode_AsUTF8(value)));\ + arguments.attribute(UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(value)));\ }\ ue_py_slate_down(param) @@ -344,14 +344,14 @@ ue_PySWidget *ue_py_get_swidget(TSharedRef s_widget); #define ue_py_slate_farguments_optional_string(param, attribute) { PyObject *value = ue_py_dict_get_item(kwargs, param);\ if (PyUnicode_Check(value)) {\ - arguments.attribute(UTF8_TO_TCHAR(PyUnicode_AsUTF8(value)));\ + arguments.attribute(UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(value)));\ }\ } #define ue_py_slate_farguments_optional_text(param, attribute) { PyObject *value = ue_py_dict_get_item(kwargs, param);\ if (value) {\ if (PyUnicode_Check(value)) {\ - arguments.attribute(FText::FromString(UTF8_TO_TCHAR(PyUnicode_AsUTF8(value))));\ + arguments.attribute(FText::FromString(UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(value))));\ }\ else {\ PyErr_SetString(PyExc_TypeError, "unsupported type for attribute " param); \ diff --git a/Source/UnrealEnginePython/Private/UEPyAssetUserData.cpp b/Source/UnrealEnginePython/Private/UEPyAssetUserData.cpp index 0742386d3..d774cd159 100644 --- a/Source/UnrealEnginePython/Private/UEPyAssetUserData.cpp +++ b/Source/UnrealEnginePython/Private/UEPyAssetUserData.cpp @@ -51,7 +51,7 @@ PyObject *py_ue_asset_import_data_set_sources(ue_PyUObject * self, PyObject * ar if (PyUnicode_Check(py_files)) { - filenames.Add(FString(UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_files)))); + filenames.Add(FString(UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(py_files)))); } else { @@ -68,7 +68,7 @@ PyObject *py_ue_asset_import_data_set_sources(ue_PyUObject * self, PyObject * ar Py_DECREF(py_iter); return PyErr_Format(PyExc_Exception, "argument is not a string or an interable of strings"); } - filenames.Add(FString(UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_item)))); + filenames.Add(FString(UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(py_item)))); } Py_DECREF(py_iter); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 44de231de..c71cc6c3e 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -1192,7 +1192,7 @@ static int ue_PyUObject_setattro(ue_PyUObject *self, PyObject *attr_name, PyObje // first of all check for UProperty if (PyUnicodeOrString_Check(attr_name)) { - char *attr = (char *)PyUnicode_AsUTF8(attr_name); + const char *attr = UEPyUnicode_AsUTF8(attr_name); // first check for property UStruct *u_struct = nullptr; if (self->ue_object->IsA()) @@ -1792,13 +1792,13 @@ void unreal_engine_py_log_error() PyObject *item = PyList_GetItem(ret, i); if (item) { - UE_LOG(LogPython, Error, TEXT("%s"), UTF8_TO_TCHAR(PyUnicode_AsUTF8(PyObject_Str(item)))); + UE_LOG(LogPython, Error, TEXT("%s"), UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(PyObject_Str(item)))); } } } else { - UE_LOG(LogPython, Error, TEXT("%s"), UTF8_TO_TCHAR(PyUnicode_AsUTF8(PyObject_Str(ret)))); + UE_LOG(LogPython, Error, TEXT("%s"), UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(PyObject_Str(ret)))); } } @@ -2158,17 +2158,17 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in { if (auto casted_prop = Cast(prop)) { - casted_prop->SetPropertyValue_InContainer(buffer, UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_obj)), index); + casted_prop->SetPropertyValue_InContainer(buffer, UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(py_obj)), index); return true; } if (auto casted_prop = Cast(prop)) { - casted_prop->SetPropertyValue_InContainer(buffer, UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_obj)), index); + casted_prop->SetPropertyValue_InContainer(buffer, UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(py_obj)), index); return true; } if (auto casted_prop = Cast(prop)) { - casted_prop->SetPropertyValue_InContainer(buffer, FText::FromString(UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_obj))), index); + casted_prop->SetPropertyValue_InContainer(buffer, FText::FromString(UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(py_obj))), index); return true; } return false; @@ -2574,7 +2574,7 @@ void ue_bind_events_for_py_class_by_attribute(UObject *u_obj, PyObject *py_class PyObject *py_attr_name = PyList_GetItem(attrs, i); if (!py_attr_name || !PyUnicodeOrString_Check(py_attr_name)) continue; - PyObject *item = PyObject_GetAttrString(py_class, PyUnicode_AsUTF8(py_attr_name)); + PyObject *item = PyObject_GetAttrString(py_class, UEPyUnicode_AsUTF8(py_attr_name)); if (item && PyCallable_Check(item)) { // check for ue_event signature @@ -2583,7 +2583,7 @@ void ue_bind_events_for_py_class_by_attribute(UObject *u_obj, PyObject *py_class { if (PyUnicode_Check(event_signature)) { - FString event_name = FString(UTF8_TO_TCHAR(PyUnicode_AsUTF8(event_signature))); + FString event_name = FString(UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(event_signature))); TArray parts; int n = event_name.ParseIntoArray(parts, UTF8_TO_TCHAR(".")); if (n < 1 || n > 2) @@ -2652,7 +2652,7 @@ void ue_autobind_events_for_pyclass(ue_PyUObject *u_obj, PyObject *py_class) PyObject *py_attr_name = PyList_GetItem(attrs, i); if (!py_attr_name || !PyUnicodeOrString_Check(py_attr_name)) continue; - FString attr_name = UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_attr_name)); + FString attr_name = UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(py_attr_name)); if (!attr_name.StartsWith("on_", ESearchCase::CaseSensitive)) continue; // check if the attr is a callable diff --git a/Source/UnrealEnginePython/Private/UEPySubclassing.cpp b/Source/UnrealEnginePython/Private/UEPySubclassing.cpp index 57c2552b9..b770b9149 100644 --- a/Source/UnrealEnginePython/Private/UEPySubclassing.cpp +++ b/Source/UnrealEnginePython/Private/UEPySubclassing.cpp @@ -21,9 +21,9 @@ int unreal_engine_py_init(ue_PyUObject *self, PyObject *args, PyObject *kwds) if (PyTuple_Size(args) == 3) { // TODO make it smarter on error checking - UE_LOG(LogPython, Warning, TEXT("%s"), UTF8_TO_TCHAR(PyUnicode_AsUTF8(PyObject_Str(PyTuple_GetItem(args, 0))))); - UE_LOG(LogPython, Warning, TEXT("%s"), UTF8_TO_TCHAR(PyUnicode_AsUTF8(PyObject_Str(PyTuple_GetItem(args, 1))))); - UE_LOG(LogPython, Warning, TEXT("%s"), UTF8_TO_TCHAR(PyUnicode_AsUTF8(PyObject_Str(PyTuple_GetItem(args, 2))))); + UE_LOG(LogPython, Warning, TEXT("%s"), UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(PyObject_Str(PyTuple_GetItem(args, 0))))); + UE_LOG(LogPython, Warning, TEXT("%s"), UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(PyObject_Str(PyTuple_GetItem(args, 1))))); + UE_LOG(LogPython, Warning, TEXT("%s"), UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(PyObject_Str(PyTuple_GetItem(args, 2))))); PyObject *parents = PyTuple_GetItem(args, 1); ue_PyUObject *parent = (ue_PyUObject *)PyTuple_GetItem(parents, 0); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAudio.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyAudio.cpp index 93f6e14b0..b2f193257 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAudio.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAudio.cpp @@ -136,7 +136,7 @@ PyObject *py_ue_play_sound_at_location(ue_PyUObject *self, PyObject * args) } else if (PyUnicodeOrString_Check(sound)) { - sound_object = FindObject(ANY_PACKAGE, UTF8_TO_TCHAR(PyUnicode_AsUTF8(sound))); + sound_object = FindObject(ANY_PACKAGE, UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(sound))); } if (!sound_object) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp index 735502935..b7d0821c7 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp @@ -533,7 +533,7 @@ PyObject *py_ue_call_function(ue_PyUObject * self, PyObject * args, PyObject *kw if (PyUnicodeOrString_Check(func_id)) { - function = self->ue_object->FindFunction(FName(UTF8_TO_TCHAR(PyUnicode_AsUTF8(func_id)))); + function = self->ue_object->FindFunction(FName(UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(func_id)))); } if (!function) diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 380adacf1..a89e8e10d 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -370,6 +370,7 @@ void FUnrealEnginePythonModule::StartupModule() } else { +#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 6 if (PyErr_ExceptionMatches(PyExc_ModuleNotFoundError)) { UE_LOG(LogPython, Log, TEXT("ue_site Python module not found")); @@ -379,6 +380,9 @@ void FUnrealEnginePythonModule::StartupModule() { unreal_engine_py_log_error(); } +#else + unreal_engine_py_log_error(); +#endif } // release the GIL diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.cpp index 7b9182f17..a5cc54555 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.cpp @@ -297,7 +297,7 @@ void ue_sync_farfilter_name_array(PyObject *pylist, TArray &uelist) for (int i = 0; i < (int)pylist_len; i++) { PyObject *py_item = PyList_GetItem(pylist, i); - uelist.Add(FName(UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_item)))); + uelist.Add(FName(UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(py_item)))); } } @@ -316,7 +316,7 @@ void py_ue_sync_farfilter(PyObject *pyobj) for (int i = 0; i < (int)pyset_len; i++) { py_item = PyList_GetItem(pyset, i); - pyfilter->filter.RecursiveClassesExclusionSet.Add(FName(UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_item)))); + pyfilter->filter.RecursiveClassesExclusionSet.Add(FName(UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(py_item)))); } PyObject *pykey, *pyvalue; @@ -325,13 +325,13 @@ void py_ue_sync_farfilter(PyObject *pyobj) pyfilter->filter.TagsAndValues.Reset(); while (PyDict_Next(pyfilter->tags_and_values, &pypos, &pykey, &pyvalue)) { - ukey = UTF8_TO_TCHAR(PyUnicode_AsUTF8(pykey)); + ukey = UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(pykey)); pyset_len = PySet_Size(pyvalue); for (int i = 0; i < (int)pyset_len; i++) { py_item = PyList_GetItem(pyset, i); #if ENGINE_MINOR_VERSION < 20 - pyfilter->filter.TagsAndValues.AddUnique(ukey, UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_item))); + pyfilter->filter.TagsAndValues.AddUnique(ukey, UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(py_item))); #else pyfilter->filter.TagsAndValues.AddUnique(ukey, FString(UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_item)))); #endif From 0093ad0e55f838166e853c2496df6306458fca5a Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 2 Jul 2018 10:10:12 +0200 Subject: [PATCH 236/538] improved asset renaming and duplication --- .../UnrealEnginePython/Private/UEPyEditor.cpp | 36 ++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index 2dbb1de07..3e126526d 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -626,10 +626,11 @@ PyObject *py_unreal_engine_get_long_package_path(PyObject * self, PyObject * arg PyObject *py_unreal_engine_rename_asset(PyObject * self, PyObject * args) { char *path; - char *object_name; - if (!PyArg_ParseTuple(args, "ss:rename_asset", &path, &object_name)) + char *destination; + PyObject *py_only_soft = nullptr; + if (!PyArg_ParseTuple(args, "ss|O:rename_asset", &path, &destination, &py_only_soft)) { - return NULL; + return nullptr; } if (!GEditor) @@ -642,11 +643,29 @@ PyObject *py_unreal_engine_rename_asset(PyObject * self, PyObject * args) FAssetToolsModule& AssetToolsModule = FModuleManager::LoadModuleChecked("AssetTools"); - UObject *u_object = asset.GetAsset(); TArray AssetsAndNames; - const FString PackagePath = FPackageName::GetLongPackagePath(u_object->GetOutermost()->GetName()); - const FString newname(UTF8_TO_TCHAR(object_name)); - new(AssetsAndNames) FAssetRenameData(u_object, PackagePath, newname); + FAssetRenameData RenameData; + RenameData.Asset = asset.GetAsset(); + + FString Destination = FString(UTF8_TO_TCHAR(destination)); + + if (Destination.StartsWith("/")) + { + RenameData.NewPackagePath = FPackageName::GetLongPackagePath(Destination); + RenameData.NewName = FPackageName::GetShortName(Destination); + } + else + { + RenameData.NewPackagePath = FPackageName::GetLongPackagePath(UTF8_TO_TCHAR(path)); + RenameData.NewName = Destination; + } + + if (py_only_soft && PyObject_IsTrue(py_only_soft)) + { + RenameData.bOnlyFixSoftReferences = true; + } + + AssetsAndNames.Add(RenameData); #if ENGINE_MINOR_VERSION < 19 AssetToolsModule.Get().RenameAssets(AssetsAndNames); #else @@ -695,6 +714,7 @@ PyObject *py_unreal_engine_duplicate_asset(PyObject * self, PyObject * args) return PyErr_Format(PyExc_Exception, "unable to duplicate asset %s", path); } + FAssetRegistryModule::AssetCreated(new_asset); Py_RETURN_UOBJECT(new_asset); } @@ -1909,7 +1929,7 @@ PyObject *py_unreal_engine_add_level_to_world(PyObject *self, PyObject * args) if (py_bool && PyObject_IsTrue(py_bool)) { streaming_mode_class = ULevelStreamingAlwaysLoaded::StaticClass(); - } +} #if ENGINE_MINOR_VERSION >= 17 ULevelStreaming *level_streaming = EditorLevelUtils::AddLevelToWorld(u_world, UTF8_TO_TCHAR(name), streaming_mode_class); From 2d15cc3f47a8dc4d0d1dff2602289322b6aa1f1f Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 2 Jul 2018 10:20:04 +0200 Subject: [PATCH 237/538] Update ManagingAssets.md --- docs/ManagingAssets.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/docs/ManagingAssets.md b/docs/ManagingAssets.md index 18e2b6899..f93ee3c0f 100644 --- a/docs/ManagingAssets.md +++ b/docs/ManagingAssets.md @@ -63,13 +63,21 @@ materials = ue.get_assets_by_class('Material') Moving/Renaming assets - -The rename_asset() function allows you to change the package and object name of an asset: +The rename_asset() function allows you to change the name of an asset: ```python -ue.rename_asset('/Game/Materials/Mat001.Foobar', '/Game/NewMaterials/Mat001', 'FooBarUpdated') +ue.rename_asset('/Game/Materials/Mat001.Foobar', 'FooBarUpdated') ``` -this will result in the /Game/NewMaterials/Mat001.FooBarUpdated asset. Beware, as the unreal editor retain the so called 'Redirector Object' that is basically a reference to the original object, so you will not be able to re-use the old name until you reload the editor. +this will result in the /Game/Materials/FooBarUpdated.FooBarUpdated asset. Beware, as the unreal editor retain the so called 'Redirector Object' that is basically a reference to the original object, so you will not be able to re-use the old name until you reload the editor. + +If you specify a full path as the destination, you can 'move' the asset: + +```python +ue.rename_asset('/Game/Materials/Mat001.Foobar', '/Game/Ops/FooBarUpdated') +``` + +will results in /Game/Ops/FooBarUpdated.FooBarUpdated asset Duplicating assets - From 6d98dc2ddb16e662112a73fb35209ac30adcb3b0 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Mon, 2 Jul 2018 10:42:30 +0200 Subject: [PATCH 238/538] added add_key_to_sequence() --- .../UnrealEnginePython/Private/UEPyModule.cpp | 1 + .../Private/UObject/UEPyAnimSequence.cpp | 23 +++++++++++++++++++ .../Private/UObject/UEPyAnimSequence.h | 1 + 3 files changed, 25 insertions(+) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index c71cc6c3e..faebea674 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -652,6 +652,7 @@ static PyMethodDef ue_PyUObject_methods[] = { { "update_compressed_track_map_from_raw", (PyCFunction)py_ue_anim_sequence_update_compressed_track_map_from_raw, METH_VARARGS, "" }, { "update_raw_track", (PyCFunction)py_ue_anim_sequence_update_raw_track, METH_VARARGS, "" }, { "apply_raw_anim_changes", (PyCFunction)py_ue_anim_sequence_apply_raw_anim_changes, METH_VARARGS, "" }, + { "add_key_to_sequence", (PyCFunction)py_ue_anim_add_key_to_sequence, METH_VARARGS, "" }, #endif { "add_anim_composite_section", (PyCFunction)py_ue_add_anim_composite_section, METH_VARARGS, "" }, #endif diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp index 2110c7887..b569374f0 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp @@ -157,6 +157,29 @@ PyObject *py_ue_anim_sequence_get_raw_animation_track(ue_PyUObject * self, PyObj return py_ue_new_fraw_anim_sequence_track(anim_seq->GetRawAnimationTrack(index)); } +PyObject *py_ue_anim_add_key_to_sequence(ue_PyUObject * self, PyObject * args) +{ + ue_py_check(self); + + float frame_time; + char *track_name; + PyObject *py_transform; + if (!PyArg_ParseTuple(args, "fsO:add_key_to_sequence", &frame_time, &track_name, &py_transform)) + return nullptr; + + UAnimSequence *anim_seq = ue_py_check_type(self); + if (!anim_seq) + return PyErr_Format(PyExc_Exception, "UObject is not a UAnimSequence."); + + ue_PyFTransform *ue_py_transform = py_ue_is_ftransform(py_transform); + if (!ue_py_transform) + return PyErr_Format(PyExc_Exception, "argument is not a FTransform."); + + anim_seq->AddKeyToSequence(frame_time, FName(UTF8_TO_TCHAR(track_name)), ue_py_transform->transform); + + Py_RETURN_NONE; +} + PyObject *py_ue_anim_sequence_apply_raw_anim_changes(ue_PyUObject * self, PyObject * args) { ue_py_check(self); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h index cc6d3bb9d..afc0be7f9 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.h @@ -17,6 +17,7 @@ PyObject *py_ue_anim_sequence_update_raw_track(ue_PyUObject *, PyObject *); PyObject *py_ue_add_anim_composite_section(ue_PyUObject *, PyObject *); PyObject *py_ue_anim_sequence_update_compressed_track_map_from_raw(ue_PyUObject *, PyObject *); PyObject *py_ue_anim_sequence_apply_raw_anim_changes(ue_PyUObject *, PyObject *); +PyObject *py_ue_anim_add_key_to_sequence(ue_PyUObject *, PyObject *); #endif PyObject *py_ue_anim_set_skeleton(ue_PyUObject *, PyObject *); PyObject *py_ue_anim_get_bone_transform(ue_PyUObject *, PyObject *); From eba8c0e28cc3cc9ffb3f14b0e5e8dc51b6a34517 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 3 Jul 2018 09:01:37 +0200 Subject: [PATCH 239/538] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ed2a4f83f..2e84847f3 100644 --- a/README.md +++ b/README.md @@ -797,7 +797,7 @@ Pay attention to not call app.exec_() as it will result in Qt taking control of ```python -# save is as ueqt.py +# save it as ueqt.py import sys import unreal_engine as ue import PySide2 From 9aeb22b19bf0415dee183283dfce4acfb929f14d Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 3 Jul 2018 10:14:32 +0200 Subject: [PATCH 240/538] fixed slate SWidget creation --- Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp | 4 ++-- Source/UnrealEnginePython/Private/Slate/UEPySlate.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp index a020d6941..651a9e341 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp @@ -345,7 +345,7 @@ static PyMethodDef ue_PySWidget_methods[] = { { NULL } /* Sentinel */ }; -static void ue_PySWidgett_dealloc(ue_PySWidget *self) +static void ue_PySWidget_dealloc(ue_PySWidget *self) { #if defined(UEPY_MEMORY_DEBUG) UE_LOG(LogPython, Warning, TEXT("Destroying ue_PySWidget %p mapped to %s %p (slate refcount: %d)"), self, *self->s_widget->GetTypeAsString(), &self->s_widget.Get(), self->s_widget.GetSharedReferenceCount()); @@ -373,7 +373,7 @@ PyTypeObject ue_PySWidgetType = { "unreal_engine.SWidget", /* tp_name */ sizeof(ue_PySWidget), /* tp_basicsize */ 0, /* tp_itemsize */ - (destructor)ue_PySWidgett_dealloc, /* tp_dealloc */ + (destructor)ue_PySWidget_dealloc, /* tp_dealloc */ 0, /* tp_print */ 0, /* tp_getattr */ 0, /* tp_setattr */ diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h index bce3e89b3..a74eb455d 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h @@ -80,7 +80,7 @@ template ue_PySWidget *py_ue_new_swidget(TSharedRef s_widge ue_PySWidget *ret = (ue_PySWidget *)PyObject_New(T, py_type); new(&ret->Widget) TSharedRef(s_widget); - + ret->weakreflist = nullptr; return ret; } From 134cc8a522aeff917831813e9adb432d7bf78c5b Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 3 Jul 2018 11:10:46 +0200 Subject: [PATCH 241/538] added SWindow.set_as_owner(wid) --- .../Private/Slate/UEPySWindow.cpp | 20 +++++++++++++++++ .../Private/UnrealEnginePython.cpp | 2 +- .../Public/UnrealEnginePython.h | 22 ++++++++++--------- .../UnrealEnginePython.Build.cs | 2 -- 4 files changed, 33 insertions(+), 13 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp index 88bcdc1cd..0a1f1886b 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp @@ -5,6 +5,10 @@ #include "Editor/MainFrame/Public/Interfaces/IMainFrameModule.h" #endif +#if PLATFORM_WINDOWS +#include "Windows/AllowWindowsPlatformTypes.h" +#endif + static PyObject *py_ue_swindow_set_title(ue_PySWindow *self, PyObject * args) @@ -90,6 +94,21 @@ static PyObject *py_ue_swindow_get_handle(ue_PySWindow *self, PyObject * args) return PyLong_FromLongLong((long long)py_SWindow->GetNativeWindow()->GetOSWindowHandle()); } +static PyObject *py_ue_swindow_set_as_owner(ue_PySWindow *self, PyObject * args) +{ + ue_py_slate_cast(SWindow); + long long window_ptr; + if (!PyArg_ParseTuple(args, "L:set_as_owner", &window_ptr)) + { + return nullptr; + } + void *whnd = py_SWindow->GetNativeWindow()->GetOSWindowHandle(); +#if PLATFORM_WINDOWS + SetWindowLongPtr((HWND)window_ptr, GWLP_HWNDPARENT, (LONG_PTR)whnd); +#endif + Py_RETURN_NONE; +} + static PyObject *py_ue_swindow_request_destroy(ue_PySWindow *self, PyObject * args) { ue_py_slate_cast(SWindow); @@ -144,6 +163,7 @@ static PyMethodDef ue_PySWindow_methods[] = { { "set_client_size", (PyCFunction)py_ue_swindow_resize, METH_VARARGS, "" }, { "set_content", (PyCFunction)py_ue_swindow_set_content, METH_VARARGS, "" }, { "get_handle", (PyCFunction)py_ue_swindow_get_handle, METH_VARARGS, "" }, + { "set_as_owner", (PyCFunction)py_ue_swindow_set_as_owner, METH_VARARGS, "" }, { "request_destroy", (PyCFunction)py_ue_swindow_request_destroy, METH_VARARGS, "" }, #if WITH_EDITOR { "add_modal", (PyCFunction)py_ue_swindow_add_modal, METH_VARARGS, "" }, diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index a89e8e10d..3c1dc013b 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -23,7 +23,7 @@ void unreal_engine_init_py_module(); void init_unreal_engine_builtin(); -#if defined(UNREAL_ENGINE_PYTHON_ON_LINUX) +#if PLATFORM_LINUX const char *ue4_module_options = "linux_global_symbols"; #endif diff --git a/Source/UnrealEnginePython/Public/UnrealEnginePython.h b/Source/UnrealEnginePython/Public/UnrealEnginePython.h index dc74c812f..21f47ef4d 100644 --- a/Source/UnrealEnginePython/Public/UnrealEnginePython.h +++ b/Source/UnrealEnginePython/Public/UnrealEnginePython.h @@ -9,13 +9,22 @@ //#define UEPY_MEMORY_DEBUG 1 -#if defined(UNREAL_ENGINE_PYTHON_ON_MAC) + + + +#include "CoreMinimal.h" +#include "ModuleManager.h" +#include "Styling/SlateStyle.h" +#include "UObject/ScriptMacros.h" +#include "Runtime/Launch/Resources/Version.h" + +#if PLATFORM_MAC #include #include -#elif defined(UNREAL_ENGINE_PYTHON_ON_LINUX) +#elif PLATFORM_LINUX #include #include -#else +#elif PLATFORM_WINDOWS #include #ifndef SIZEOF_PID_T #define SIZEOF_PID_T 4 @@ -24,13 +33,6 @@ #include #endif - -#include "CoreMinimal.h" -#include "ModuleManager.h" -#include "Styling/SlateStyle.h" -#include "UObject/ScriptMacros.h" -#include "Runtime/Launch/Resources/Version.h" - typedef struct { PyObject_HEAD diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index fdbe6507b..ab6305799 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -232,7 +232,6 @@ public UnrealEnginePython(TargetInfo Target) string libPath = GetMacPythonLibFile(pythonHome); PublicLibraryPaths.Add(Path.GetDirectoryName(libPath)); PublicDelayLoadDLLs.Add(libPath); - Definitions.Add(string.Format("UNREAL_ENGINE_PYTHON_ON_MAC")); } else if (Target.Platform == UnrealTargetPlatform.Linux) { @@ -257,7 +256,6 @@ public UnrealEnginePython(TargetInfo Target) PublicIncludePaths.Add(items[0]); PublicAdditionalLibraries.Add(items[1]); } - Definitions.Add(string.Format("UNREAL_ENGINE_PYTHON_ON_LINUX")); } } From f03994d2d9d614520429c9e18580f1d1fe3c0e10 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 3 Jul 2018 11:14:00 +0200 Subject: [PATCH 242/538] Update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 2e84847f3..fbcd00934 100644 --- a/README.md +++ b/README.md @@ -855,10 +855,14 @@ widget = MyWidget() widget.resize(800, 600) widget.show() +root_window = ue.get_editor_window() +root_window.set_as_owner(widget.winId()) ``` (no need to allocate a new Qt app, or start it, as the UE4 Editor, thanks to to ueqt module is now the Qt app itself) +Note the 2 final lines: they 'attach' the Qt window as a 'child' of the editor root window. Note that on windows platform this is not simple parenting but 'ownership'. + Memory management ----------------- From 1cde2e87e0b56319c2389235dd0a2279b4fd27bf Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 3 Jul 2018 13:04:46 +0200 Subject: [PATCH 243/538] fixed linux build --- Source/UnrealEnginePython/Private/PyCommandlet.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/UnrealEnginePython/Private/PyCommandlet.cpp b/Source/UnrealEnginePython/Private/PyCommandlet.cpp index 1e8f4a832..5e9770b7e 100644 --- a/Source/UnrealEnginePython/Private/PyCommandlet.cpp +++ b/Source/UnrealEnginePython/Private/PyCommandlet.cpp @@ -90,14 +90,14 @@ int32 UPyCommandlet::Main(const FString& CommandLine) { #if PY_MAJOR_VERSION >= 3 argv[i] = (wchar_t*)malloc(PyArgv[i].Len() + 1); -#if defined(UNREAL_ENGINE_PYTHON_ON_MAC) || defined(UNREAL_ENGINE_PYTHON_ON_LINUX) +#if PLATFORM_MAC || PLATFORM_LINUX wcsncpy(argv[i], *PyArgv[i].ReplaceEscapedCharWithChar(), PyArgv[i].Len() + 1); #else wcscpy_s(argv[i], PyArgv[i].Len() + 1, *PyArgv[i].ReplaceEscapedCharWithChar()); #endif #else argv[i] = (char*)malloc(PyArgv[i].Len() + 1); -#if defined(UNREAL_ENGINE_PYTHON_ON_MAC) || defined(UNREAL_ENGINE_PYTHON_ON_LINUX) +#if PLATFORM_MAC || PLATFORM_LINUX strncpy(argv[i], TCHAR_TO_UTF8(*PyArgv[i].ReplaceEscapedCharWithChar()), PyArgv[i].Len() + 1); #else strcpy_s(argv[i], PyArgv[i].Len() + 1, TCHAR_TO_UTF8(*PyArgv[i].ReplaceEscapedCharWithChar())); From dad6583aeb520f8d54f93dd0650f3a19b27aa17c Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 3 Jul 2018 17:31:13 +0200 Subject: [PATCH 244/538] added support for execute in main thread for mac --- .../Private/PythonEditorStyle.cpp | 2 + .../Private/PythonProjectEditor.cpp | 28 +++++++++- .../Private/PythonProjectEditor.h | 8 +++ .../Private/PythonProjectEditorCommands.cpp | 3 + .../Private/PythonProjectEditorCommands.h | 5 +- .../Private/PythonProjectEditorToolbar.cpp | 5 +- Source/PythonEditor/Private/SPythonEditor.cpp | 17 +++++- Source/PythonEditor/Private/SPythonEditor.h | 6 +- .../UnrealEnginePython/Private/UEPyEngine.cpp | 56 +++++++++++++++++-- .../UnrealEnginePython/Private/UEPyEngine.h | 4 +- .../UnrealEnginePython/Private/UEPyModule.cpp | 3 + .../Private/UnrealEnginePython.cpp | 22 ++++++++ .../Public/UnrealEnginePython.h | 5 ++ 13 files changed, 153 insertions(+), 11 deletions(-) diff --git a/Source/PythonEditor/Private/PythonEditorStyle.cpp b/Source/PythonEditor/Private/PythonEditorStyle.cpp index e5d528399..89f60a08a 100644 --- a/Source/PythonEditor/Private/PythonEditorStyle.cpp +++ b/Source/PythonEditor/Private/PythonEditorStyle.cpp @@ -58,6 +58,8 @@ void FPythonEditorStyle::Initialize() StyleSet->Set("PythonEditor.SaveAll.Small", new IMAGE_BRUSH("UI/SaveAll_40x", Icon16x16)); StyleSet->Set("PythonEditor.Execute", new IMAGE_BRUSH("UI/Excute_x40", Icon40x40)); StyleSet->Set("PythonEditor.Execute.Small", new IMAGE_BRUSH("UI/Excute_x40", Icon16x16)); + StyleSet->Set("PythonEditor.ExecuteInMainThread", new IMAGE_BRUSH("UI/Excute_x40", Icon40x40)); + StyleSet->Set("PythonEditor.ExecuteInMainThread.Small", new IMAGE_BRUSH("UI/Excute_x40", Icon16x16)); StyleSet->Set("PythonEditor.PEP8ize", new IMAGE_BRUSH("UI/Excute_x40", Icon40x40)); StyleSet->Set("PythonEditor.PEP8ize.Small", new IMAGE_BRUSH("UI/Excute_x40", Icon16x16)); } diff --git a/Source/PythonEditor/Private/PythonProjectEditor.cpp b/Source/PythonEditor/Private/PythonProjectEditor.cpp index 5563605fa..2a5f23d36 100644 --- a/Source/PythonEditor/Private/PythonProjectEditor.cpp +++ b/Source/PythonEditor/Private/PythonProjectEditor.cpp @@ -267,6 +267,12 @@ void FPythonProjectEditor::BindCommands() FExecuteAction::CreateSP(this, &FPythonProjectEditor::Execute_Internal), FCanExecuteAction::CreateSP(this, &FPythonProjectEditor::CanExecute) ); +#if PLATFORM_MAC + ToolkitCommands->MapAction(FPythonProjectEditorCommands::Get().ExecuteInMainThread, + FExecuteAction::CreateSP(this, &FPythonProjectEditor::ExecuteInMainThread_Internal), + FCanExecuteAction::CreateSP(this, &FPythonProjectEditor::CanExecute) + ); +#endif ToolkitCommands->MapAction(FPythonProjectEditorCommands::Get().PEP8ize, FExecuteAction::CreateSP(this, &FPythonProjectEditor::PEP8ize_Internal), @@ -493,6 +499,26 @@ void FPythonProjectEditor::Execute_Internal() Execute(); } +#if PLATFORM_MAC +void FPythonProjectEditor::ExecuteInMainThread_Internal() +{ + ExecuteInMainThread(); +} + +bool FPythonProjectEditor::ExecuteInMainThread() +{ + if (DocumentManager.IsValid() && DocumentManager->GetActiveTab().IsValid()) + { + TSharedRef PythonEditorRef = StaticCastSharedRef(DocumentManager->GetActiveTab()->GetContent()); + PythonEditorRef->ExecuteInMainThread(); + } + + return true; +} + + +#endif + void FPythonProjectEditor::PEP8ize_Internal() { PEP8ize(); @@ -539,4 +565,4 @@ bool FPythonProjectEditor::CanExecute() const } ////////////////////////////////////////////////////////////////////////// -#undef LOCTEXT_NAMESPACE \ No newline at end of file +#undef LOCTEXT_NAMESPACE diff --git a/Source/PythonEditor/Private/PythonProjectEditor.h b/Source/PythonEditor/Private/PythonProjectEditor.h index 828f8b19c..f5306be78 100644 --- a/Source/PythonEditor/Private/PythonProjectEditor.h +++ b/Source/PythonEditor/Private/PythonProjectEditor.h @@ -62,6 +62,10 @@ class FPythonProjectEditor : public FWorkflowCentricApplication, public FGCObjec bool Execute(); +#if PLATFORM_MAC + bool ExecuteInMainThread(); +#endif + bool PEP8ize(); FString GetSafeName(bool IsDirectory); @@ -81,6 +85,10 @@ class FPythonProjectEditor : public FWorkflowCentricApplication, public FGCObjec void Execute_Internal(); +#if PLATFORM_MAC + void ExecuteInMainThread_Internal(); +#endif + void PEP8ize_Internal(); bool CanNew() const; diff --git a/Source/PythonEditor/Private/PythonProjectEditorCommands.cpp b/Source/PythonEditor/Private/PythonProjectEditorCommands.cpp index 46433a9e9..8fda045bf 100644 --- a/Source/PythonEditor/Private/PythonProjectEditorCommands.cpp +++ b/Source/PythonEditor/Private/PythonProjectEditorCommands.cpp @@ -21,6 +21,9 @@ void FPythonProjectEditorCommands::RegisterCommands() UI_COMMAND(Save, "Save", "Save the currently active document.", EUserInterfaceActionType::Button, FInputGesture(EModifierKey::Control, EKeys::S)); UI_COMMAND(SaveAll, "Save All", "Save all open documents.", EUserInterfaceActionType::Button, FInputGesture(EModifierKey::Control | EModifierKey::Shift, EKeys::S)); UI_COMMAND(Execute, "Execute", "Execute Current Python File.", EUserInterfaceActionType::Button, FInputGesture(EModifierKey::Control, EKeys::Enter)); +#if PLATFORM_MAC + UI_COMMAND(ExecuteInMainThread, "Execute In Main Thread", "Execute Current Python File in the Main Thread.", EUserInterfaceActionType::Button, FInputGesture(EModifierKey::Control, EKeys::Enter)); +#endif UI_COMMAND(PEP8ize, "PEP8-ize", "Enforce PEP8 to the current code.", EUserInterfaceActionType::Button, FInputGesture(EModifierKey::Control | EModifierKey::Shift, EKeys::P)); } diff --git a/Source/PythonEditor/Private/PythonProjectEditorCommands.h b/Source/PythonEditor/Private/PythonProjectEditorCommands.h index 3e5d41cb1..cdfb663de 100644 --- a/Source/PythonEditor/Private/PythonProjectEditorCommands.h +++ b/Source/PythonEditor/Private/PythonProjectEditorCommands.h @@ -15,7 +15,10 @@ class FPythonProjectEditorCommands : public TCommands Save; TSharedPtr SaveAll; TSharedPtr Execute; +#if PLATFORM_MAC + TSharedPtr ExecuteInMainThread; +#endif TSharedPtr PEP8ize; /** Initialize commands */ virtual void RegisterCommands() override; -}; \ No newline at end of file +}; diff --git a/Source/PythonEditor/Private/PythonProjectEditorToolbar.cpp b/Source/PythonEditor/Private/PythonProjectEditorToolbar.cpp index 4c9861c6e..8b4c1953f 100644 --- a/Source/PythonEditor/Private/PythonProjectEditorToolbar.cpp +++ b/Source/PythonEditor/Private/PythonProjectEditorToolbar.cpp @@ -36,8 +36,11 @@ void FPythonProjectEditorToolbar::FillEditorToolbar(FToolBarBuilder& ToolbarBuil ToolbarBuilder.BeginSection(TEXT("CodeExcute")); { ToolbarBuilder.AddToolBarButton(FPythonProjectEditorCommands::Get().Execute); +#if PLATFORM_MAC + ToolbarBuilder.AddToolBarButton(FPythonProjectEditorCommands::Get().ExecuteInMainThread); +#endif ToolbarBuilder.AddToolBarButton(FPythonProjectEditorCommands::Get().PEP8ize); } ToolbarBuilder.EndSection(); -} \ No newline at end of file +} diff --git a/Source/PythonEditor/Private/SPythonEditor.cpp b/Source/PythonEditor/Private/SPythonEditor.cpp index 230205acf..9a97ca31e 100644 --- a/Source/PythonEditor/Private/SPythonEditor.cpp +++ b/Source/PythonEditor/Private/SPythonEditor.cpp @@ -108,6 +108,21 @@ void SPythonEditor::Execute() const PythonModule.RunString(TCHAR_TO_UTF8(*SelectionString)); } +#if PLATFORM_MAC +void SPythonEditor::ExecuteInMainThread() const +{ + Save(); + FUnrealEnginePythonModule &PythonModule = FModuleManager::GetModuleChecked("UnrealEnginePython"); + + FString SelectionString = PythonEditableText->GetSelectedText().ToString(); + if (SelectionString.Len() == 0) { + SelectionString = PythonEditableText->GetText().ToString(); + } + PythonModule.RunStringInMainThread(TCHAR_TO_UTF8(*SelectionString)); +} +#endif + + void SPythonEditor::PEP8ize() const { Save(); @@ -137,4 +152,4 @@ FText SPythonEditor::GetLineAndColumn() const return FText::FromString(LineAndColumn); } -#undef LOCTEXT_NAMESPACE \ No newline at end of file +#undef LOCTEXT_NAMESPACE diff --git a/Source/PythonEditor/Private/SPythonEditor.h b/Source/PythonEditor/Private/SPythonEditor.h index 8643f5238..97401f633 100644 --- a/Source/PythonEditor/Private/SPythonEditor.h +++ b/Source/PythonEditor/Private/SPythonEditor.h @@ -16,6 +16,10 @@ class SPythonEditor : public SCompoundWidget void Execute() const; +#if PLATFORM_MAC + void ExecuteInMainThread() const; +#endif + void GotoLineAndColumn(int32 LineNumber, int32 ColumnNumber); void PEP8ize() const; @@ -33,4 +37,4 @@ class SPythonEditor : public SCompoundWidget TSharedPtr PythonEditableText; mutable bool bDirty; -}; \ No newline at end of file +}; diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index f9404251a..d26b8535a 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -21,6 +21,10 @@ #include "Runtime/Launch/Public/LaunchEngineLoop.h" +#if PLATFORM_MAC +#include "Runtime/Core/Public/Mac/CocoaThread.h" +#endif + PyObject *py_unreal_engine_log(PyObject * self, PyObject * args) { @@ -703,7 +707,8 @@ PyObject *py_unreal_engine_tobject_iterator(PyObject * self, PyObject * args) PyObject *py_unreal_engine_create_and_dispatch_when_ready(PyObject * self, PyObject * args) { PyObject *py_callable; - if (!PyArg_ParseTuple(args, "O:create_and_dispatch_when_ready", &py_callable)) + int named_thread = (int)ENamedThreads::GameThread; + if (!PyArg_ParseTuple(args, "O|i:create_and_dispatch_when_ready", &py_callable, &named_thread)) { return NULL; } @@ -713,6 +718,7 @@ PyObject *py_unreal_engine_create_and_dispatch_when_ready(PyObject * self, PyObj Py_INCREF(py_callable); + FGraphEventRef task = FFunctionGraphTask::CreateAndDispatchWhenReady([&]() { FScopePythonGIL gil; PyObject *ret = PyObject_CallObject(py_callable, nullptr); @@ -725,16 +731,56 @@ PyObject *py_unreal_engine_create_and_dispatch_when_ready(PyObject * self, PyObj unreal_engine_py_log_error(); } Py_DECREF(py_callable); - }, TStatId(), nullptr, ENamedThreads::GameThread); + }, TStatId(), nullptr, (ENamedThreads::Type)named_thread); + + Py_BEGIN_ALLOW_THREADS; FTaskGraphInterface::Get().WaitUntilTaskCompletes(task); + Py_END_ALLOW_THREADS; // TODO Implement signal triggering in addition to WaitUntilTaskCompletes // FTaskGraphInterface::Get().TriggerEventWhenTaskCompletes - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } + +#if PLATFORM_MAC +PyObject *py_unreal_engine_main_thread_call(PyObject * self, PyObject * args) +{ + PyObject *py_callable; + if (!PyArg_ParseTuple(args, "O|:main_thread_call", &py_callable)) + { + return NULL; + } + + if (!PyCallable_Check(py_callable)) + return PyErr_Format(PyExc_TypeError, "argument is not callable"); + + Py_INCREF(py_callable); + + Py_BEGIN_ALLOW_THREADS; + MainThreadCall(^{ + FScopePythonGIL gil; + PyObject *ret = PyObject_CallObject(py_callable, nullptr); + if (ret) + { + Py_DECREF(ret); + } + else + { + unreal_engine_py_log_error(); + } + Py_DECREF(py_callable); + }); + Py_END_ALLOW_THREADS; + + Py_RETURN_NONE; +} +#endif + + + + PyObject *py_unreal_engine_get_game_viewport_size(PyObject *self, PyObject * args) { @@ -1278,4 +1324,4 @@ PyObject *py_unreal_engine_clipboard_paste(PyObject * self, PyObject * args) FGenericPlatformMisc::ClipboardPaste(clipboard); #endif return PyUnicode_FromString(TCHAR_TO_UTF8(*clipboard)); -} \ No newline at end of file +} diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.h b/Source/UnrealEnginePython/Private/UEPyEngine.h index 21745f1f5..1168fd11b 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.h +++ b/Source/UnrealEnginePython/Private/UEPyEngine.h @@ -95,4 +95,6 @@ PyObject *py_unreal_engine_editor_get_pie_viewport_size(PyObject *, PyObject *); #endif - +#if PLATFORM_MAC +PyObject *py_unreal_engine_main_thread_call(PyObject *, PyObject *); +#endif diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index faebea674..736e8b798 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -385,6 +385,9 @@ static PyMethodDef unreal_engine_methods[] = { { "create_and_dispatch_when_ready", py_unreal_engine_create_and_dispatch_when_ready, METH_VARARGS, "" }, +#if PLATFORM_MAC + { "main_thread_call", py_unreal_engine_main_thread_call, METH_VARARGS, "" }, +#endif { "add_ticker", py_unreal_engine_add_ticker, METH_VARARGS, "" }, { "remove_ticker", py_unreal_engine_remove_ticker, METH_VARARGS, "" }, diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 3c1dc013b..f28dbb302 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -20,6 +20,10 @@ #define PROJECT_CONTENT_DIR FPaths::GameContentDir() #endif +#if PLATFORM_MAC +#include "Runtime/Core/Public/Mac/CocoaThread.h" +#endif + void unreal_engine_init_py_module(); void init_unreal_engine_builtin(); @@ -404,6 +408,7 @@ void FUnrealEnginePythonModule::ShutdownModule() void FUnrealEnginePythonModule::RunString(char *str) { + MainThreadCall(^{ FScopePythonGIL gil; PyObject *eval_ret = PyRun_String(str, Py_file_input, (PyObject *)main_dict, (PyObject *)local_dict); @@ -413,8 +418,25 @@ void FUnrealEnginePythonModule::RunString(char *str) return; } Py_DECREF(eval_ret); + }); +} + +#if PLATFORM_MAC +void FUnrealEnginePythonModule::RunStringInMainThread(char *str) +{ + MainThreadCall(^{ + RunString(str); + }); } +void FUnrealEnginePythonModule::RunFileInMainThread(char *filename) +{ + MainThreadCall(^{ + RunFile(filename); + }); +} +#endif + FString FUnrealEnginePythonModule::Pep8ize(FString Code) { FScopePythonGIL gil; diff --git a/Source/UnrealEnginePython/Public/UnrealEnginePython.h b/Source/UnrealEnginePython/Public/UnrealEnginePython.h index 21f47ef4d..05946d66d 100644 --- a/Source/UnrealEnginePython/Public/UnrealEnginePython.h +++ b/Source/UnrealEnginePython/Public/UnrealEnginePython.h @@ -105,6 +105,11 @@ class UNREALENGINEPYTHON_API FUnrealEnginePythonModule : public IModuleInterface void RunString(char *); void RunFile(char *); +#if PLATFORM_MAC + void RunStringInMainThread(char *); + void RunFileInMainThread(char *); +#endif + void UESetupPythonInterpreter(bool); TArray ScriptsPaths; From 5298b9fa854a86833c3226885c05356570489cf3 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 3 Jul 2018 17:35:40 +0200 Subject: [PATCH 245/538] added exec_in_main_thread() to mac --- .../UnrealEnginePython/Private/UEPyModule.cpp | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 736e8b798..e2b433984 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -164,6 +164,23 @@ static PyObject *py_unreal_engine_exec(PyObject * self, PyObject * args) Py_RETURN_NONE; } + +#if PLATFORM_MAC +static PyObject *py_unreal_engine_exec_in_main_thread(PyObject * self, PyObject * args) +{ + char *filename = nullptr; + if (!PyArg_ParseTuple(args, "s:exec_in_main_thread", &filename)) + { + return NULL; + } + FUnrealEnginePythonModule &PythonModule = FModuleManager::GetModuleChecked("UnrealEnginePython"); + Py_BEGIN_ALLOW_THREADS; + PythonModule.RunFileInMainThread(filename); + Py_END_ALLOW_THREADS; + Py_RETURN_NONE; +} +#endif + static PyObject *py_ue_get_py_proxy(ue_PyUObject *self, PyObject * args) { @@ -398,6 +415,10 @@ static PyMethodDef unreal_engine_methods[] = { { "exec", py_unreal_engine_exec, METH_VARARGS, "" }, #endif { "py_exec", py_unreal_engine_exec, METH_VARARGS, "" }, +#if PLATFORM_MAC + { "exec_in_main_thread", py_unreal_engine_exec_in_main_thread, METH_VARARGS, "" }, + { "py_exec_in_main_thread", py_unreal_engine_exec_in_main_thread, METH_VARARGS, "" }, +#endif { "get_engine_defined_action_mappings", py_unreal_engine_get_engine_defined_action_mappings, METH_VARARGS, "" }, From 2bbf338a0526461b6b1d237f869fdce91ed0ef88 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 3 Jul 2018 17:47:22 +0200 Subject: [PATCH 246/538] fixed win32 build --- Source/UnrealEnginePython/Private/UnrealEnginePython.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index f28dbb302..e851f2215 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -408,7 +408,6 @@ void FUnrealEnginePythonModule::ShutdownModule() void FUnrealEnginePythonModule::RunString(char *str) { - MainThreadCall(^{ FScopePythonGIL gil; PyObject *eval_ret = PyRun_String(str, Py_file_input, (PyObject *)main_dict, (PyObject *)local_dict); @@ -418,7 +417,6 @@ void FUnrealEnginePythonModule::RunString(char *str) return; } Py_DECREF(eval_ret); - }); } #if PLATFORM_MAC From c86285a3693bf62ecbbd35c9e8a5404ff42b9a70 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Tue, 3 Jul 2018 17:55:36 +0200 Subject: [PATCH 247/538] fixed ExecuteInMainThread command chord --- Source/PythonEditor/Private/PythonProjectEditorCommands.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/PythonEditor/Private/PythonProjectEditorCommands.cpp b/Source/PythonEditor/Private/PythonProjectEditorCommands.cpp index 8fda045bf..2c3ccf68a 100644 --- a/Source/PythonEditor/Private/PythonProjectEditorCommands.cpp +++ b/Source/PythonEditor/Private/PythonProjectEditorCommands.cpp @@ -22,7 +22,7 @@ void FPythonProjectEditorCommands::RegisterCommands() UI_COMMAND(SaveAll, "Save All", "Save all open documents.", EUserInterfaceActionType::Button, FInputGesture(EModifierKey::Control | EModifierKey::Shift, EKeys::S)); UI_COMMAND(Execute, "Execute", "Execute Current Python File.", EUserInterfaceActionType::Button, FInputGesture(EModifierKey::Control, EKeys::Enter)); #if PLATFORM_MAC - UI_COMMAND(ExecuteInMainThread, "Execute In Main Thread", "Execute Current Python File in the Main Thread.", EUserInterfaceActionType::Button, FInputGesture(EModifierKey::Control, EKeys::Enter)); + UI_COMMAND(ExecuteInMainThread, "Execute In Main Thread", "Execute Current Python File in the Main Thread.", EUserInterfaceActionType::Button, FInputGesture(EModifierKey::Control | EModifierKey::Shift, EKeys::Enter)); #endif UI_COMMAND(PEP8ize, "PEP8-ize", "Enforce PEP8 to the current code.", EUserInterfaceActionType::Button, FInputGesture(EModifierKey::Control | EModifierKey::Shift, EKeys::P)); From 19afb57beff5ab56a579accbb7f10994f80270ab Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 4 Jul 2018 06:46:37 +0200 Subject: [PATCH 248/538] added unreal_engine.get_package_filename() --- .../UnrealEnginePython/Private/UEPyEngine.cpp | 19 +++++++++++++++++-- .../UnrealEnginePython/Private/UEPyEngine.h | 1 + .../UnrealEnginePython/Private/UEPyModule.cpp | 1 + 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index d26b8535a..eff9f23d8 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -320,6 +320,21 @@ PyObject *py_unreal_engine_unload_package(PyObject * self, PyObject * args) Py_RETURN_NONE; } + +PyObject *py_unreal_engine_get_package_filename(PyObject * self, PyObject * args) +{ + char *name; + if (!PyArg_ParseTuple(args, "s:get_package_filename", &name)) + { + return NULL; + } + + FString Filename; + if (!FPackageName::DoesPackageExist(FString(UTF8_TO_TCHAR(name)), nullptr, &Filename)) + return PyErr_Format(PyExc_Exception, "package does not exist"); + + return PyUnicode_FromString(TCHAR_TO_UTF8(*Filename)); +} #endif PyObject *py_unreal_engine_load_class(PyObject * self, PyObject * args) @@ -771,7 +786,7 @@ PyObject *py_unreal_engine_main_thread_call(PyObject * self, PyObject * args) unreal_engine_py_log_error(); } Py_DECREF(py_callable); - }); + }); Py_END_ALLOW_THREADS; Py_RETURN_NONE; @@ -1313,7 +1328,7 @@ PyObject *py_unreal_engine_clipboard_copy(PyObject * self, PyObject * args) FGenericPlatformMisc::ClipboardCopy(UTF8_TO_TCHAR(text)); #endif Py_RETURN_NONE; - } +} PyObject *py_unreal_engine_clipboard_paste(PyObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.h b/Source/UnrealEnginePython/Private/UEPyEngine.h index 1168fd11b..6a95cbb01 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.h +++ b/Source/UnrealEnginePython/Private/UEPyEngine.h @@ -37,6 +37,7 @@ PyObject *py_unreal_engine_load_enum(PyObject *, PyObject *); PyObject *py_unreal_engine_load_package(PyObject *, PyObject *); #if WITH_EDITOR PyObject *py_unreal_engine_unload_package(PyObject *, PyObject *); +PyObject *py_unreal_engine_get_package_filename(PyObject *, PyObject *); #endif PyObject *py_unreal_engine_string_to_guid(PyObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index e2b433984..5f6de34d7 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -219,6 +219,7 @@ static PyMethodDef unreal_engine_methods[] = { { "load_package", py_unreal_engine_load_package, METH_VARARGS, "" }, #if WITH_EDITOR { "unload_package", py_unreal_engine_unload_package, METH_VARARGS, "" }, + { "get_package_filename", py_unreal_engine_get_package_filename, METH_VARARGS, "" }, #endif { "get_forward_vector", py_unreal_engine_get_forward_vector, METH_VARARGS, "" }, { "get_up_vector", py_unreal_engine_get_up_vector, METH_VARARGS, "" }, From 0fbead02d04993bec03709bfb9860abe41725670 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 4 Jul 2018 06:59:49 +0200 Subject: [PATCH 249/538] fixed package_get_filename() --- .../Private/UObject/UEPyPackage.cpp | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyPackage.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyPackage.cpp index 30312f2fd..3c042f9db 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyPackage.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyPackage.cpp @@ -3,13 +3,12 @@ PyObject *py_ue_package_is_dirty(ue_PyUObject *self, PyObject * args) { - ue_py_check(self); - if (!self->ue_object->IsA()) - { + + UPackage *package = ue_py_check_type(self); + if (!package) return PyErr_Format(PyExc_Exception, "uobject is not an UPackage"); - } - UPackage *package = (UPackage *)self->ue_object; + if (package->IsDirty()) Py_RETURN_TRUE; Py_RETURN_FALSE; @@ -19,13 +18,15 @@ PyObject *py_ue_package_get_filename(ue_PyUObject *self, PyObject * args) { ue_py_check(self); - if (!self->ue_object->IsA()) - { + UPackage *package = ue_py_check_type(self); + if (!package) return PyErr_Format(PyExc_Exception, "uobject is not an UPackage"); - } - UPackage *package = (UPackage *)self->ue_object; - return PyUnicode_FromString(TCHAR_TO_UTF8(*package->FileName.ToString())); + FString Filename; + if (!FPackageName::DoesPackageExist(package->GetPathName(), nullptr, &Filename)) + return PyErr_Format(PyExc_Exception, "package does not exist"); + + return PyUnicode_FromString(TCHAR_TO_UTF8(*Filename)); } PyObject *py_ue_package_make_unique_object_name(ue_PyUObject *self, PyObject * args) From 8722202b21d32c3ae1793c4aac977787ef0d3ff0 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 4 Jul 2018 07:54:28 +0200 Subject: [PATCH 250/538] Create MigrateAssets.md --- docs/MigrateAssets.md | 106 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 docs/MigrateAssets.md diff --git a/docs/MigrateAssets.md b/docs/MigrateAssets.md new file mode 100644 index 000000000..15f8989d0 --- /dev/null +++ b/docs/MigrateAssets.md @@ -0,0 +1,106 @@ +# Assets migration + +Assets migration is a procedure allowing you to export the assets of a project into another unreal engine project. + +When triggering it from the editor, you will get a list of packages to export and where to save them. + +Here we will see how to automate the task from python + +## Step1 getting asset dependencies + +An important topic you need to understand, is that you export packages not single assets. Packages are mapped into real files. + +Packages can contain multiple assets (albeit highly discouraged). + +When we want to migrate an asset we need to get its package and all othe packages referenced by the asset (as an example, a blueprint +with a StaticMeshComponent, holds a reference to the StaticMesh asset, so weneed to export it to). + +The unreal_engine.get_asset_dependencies(package_name) will do the trick: + +```python +import unreal_engine as ue + +# get the currently selected asset +asset = ue.get_selected_assets()[0] + +# retrieve the package path +package_path = asset.get_outermost().get_path_name() +print(package_path) + +def recursive_deps(pkg_path, deps): + deps.append(pkg_path) + for _dep in ue.get_asset_dependencies(pkg_path): + if _dep not in deps: + if not _dep.startswith('/Engine') and not _dep.startswith('/Script'): + recursive_deps(_dep, deps) + + +deps = [] + +recursive_deps(package_path, deps) + +print(deps) +``` + +## Step2: fixing dirty packages + +A package is marked as dirty when it has been modified without saving it. In this step we will check each package we need to +migrate and we will eventually save it: + +```python +for _dep in deps: + # load the package + pkg = ue.load_package(_dep) + # check for dirty packages + if pkg.package_is_dirty(): + pkg.save_package() +``` + +## Step3: copying .uasset files in the destination project + +This is the last step, we retieve the filename of each package and will copy it in the destination directory. + +Full script for migration: + +```python +import unreal_engine as ue +import os +from shutil import copyfile + +# get the currently selected asset +asset = ue.get_selected_assets()[0] + +# retrieve the package path +package_path = asset.get_outermost().get_path_name() +print(package_path) + +def recursive_deps(pkg_path, deps): + deps.append(pkg_path) + for _dep in ue.get_asset_dependencies(pkg_path): + if _dep not in deps: + if not _dep.startswith('/Engine') and not _dep.startswith('/Script'): + recursive_deps(_dep, deps) + + +deps = [] + +recursive_deps(package_path, deps) + +print(deps) + +destination = 'D:/UdemyCast/Content' + +for _dep in deps: + # check for dirty packages + pkg = ue.load_package(_dep) + if pkg.package_is_dirty(): + pkg.save_package() + src = pkg.package_get_filename() + sub = src.split('/Content/', 1)[1] + dst = os.path.join(destination, sub) + copyfile(src, dst) + +print('asset migrated') +``` + +Ensure the destination directory is a /Content directory in UE4 project From 52247bd353e8729fc823353d1d2a36140dcfafcf Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 4 Jul 2018 07:54:50 +0200 Subject: [PATCH 251/538] Update MigrateAssets.md --- docs/MigrateAssets.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/MigrateAssets.md b/docs/MigrateAssets.md index 15f8989d0..69d677532 100644 --- a/docs/MigrateAssets.md +++ b/docs/MigrateAssets.md @@ -6,7 +6,7 @@ When triggering it from the editor, you will get a list of packages to export an Here we will see how to automate the task from python -## Step1 getting asset dependencies +## Step1: getting asset dependencies An important topic you need to understand, is that you export packages not single assets. Packages are mapped into real files. From 2393013fff333d54a33a18d5f33a0ddbb9b0294f Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 4 Jul 2018 11:27:29 +0200 Subject: [PATCH 252/538] added on_main_frame_creation_finished() hook --- .../Private/PythonSmartDelegate.cpp | 17 ++++++++++++ .../UnrealEnginePython/Private/UEPyEditor.cpp | 27 ++++++++++++++++--- .../UnrealEnginePython/Private/UEPyEditor.h | 1 + .../UnrealEnginePython/Private/UEPyModule.cpp | 1 + .../Public/PythonSmartDelegate.h | 1 + 5 files changed, 44 insertions(+), 3 deletions(-) diff --git a/Source/UnrealEnginePython/Private/PythonSmartDelegate.cpp b/Source/UnrealEnginePython/Private/PythonSmartDelegate.cpp index e2eae421b..4d3ba6fd0 100644 --- a/Source/UnrealEnginePython/Private/PythonSmartDelegate.cpp +++ b/Source/UnrealEnginePython/Private/PythonSmartDelegate.cpp @@ -3,6 +3,10 @@ #include "UEPyModule.h" +#if WITH_EDITOR +#include "Slate/UEPySWindow.h" +#endif + FPythonSmartDelegate::FPythonSmartDelegate() { py_callable = nullptr; @@ -59,6 +63,19 @@ void FPythonSmartDelegate::PyFOnAssetPostImport(UFactory *factory, UObject *u_ob } Py_DECREF(ret); +} + +void FPythonSmartDelegate::PyFOnMainFrameCreationFinished(TSharedPtr InRootWindow, bool bIsNewProjectWindow) +{ + FScopePythonGIL gil; + PyObject *ret = PyObject_CallFunction(py_callable, (char *)"OO", py_ue_new_swidget(InRootWindow.ToSharedRef(), &ue_PySWindowType), bIsNewProjectWindow ? Py_True : Py_False); + if (!ret) + { + unreal_engine_py_log_error(); + return; + } + Py_DECREF(ret); + } #endif diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index 3e126526d..60141b569 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -34,6 +34,7 @@ #include "Wrappers/UEPyFAssetData.h" #include "Wrappers/UEPyFEditorViewportClient.h" #include "Wrappers/UEPyIAssetEditorInstance.h" +#include "Editor/MainFrame/Public/Interfaces/IMainFrameModule.h" #include "UEPyIPlugin.h" @@ -1753,9 +1754,29 @@ PyObject *py_unreal_engine_editor_on_asset_post_import(PyObject * self, PyObject if (!PyCallable_Check(py_callable)) return PyErr_Format(PyExc_Exception, "object is not a callable"); - TSharedRef py_delegate = MakeShareable(new FPythonSmartDelegate); + // will brutally leak + FPythonSmartDelegate *py_delegate = new FPythonSmartDelegate(); py_delegate->SetPyCallable(py_callable); - FEditorDelegates::OnAssetPostImport.AddSP(py_delegate, &FPythonSmartDelegate::PyFOnAssetPostImport); + FEditorDelegates::OnAssetPostImport.AddRaw(py_delegate, &FPythonSmartDelegate::PyFOnAssetPostImport); + Py_RETURN_NONE; +} + +PyObject *py_unreal_engine_on_main_frame_creation_finished(PyObject * self, PyObject * args) +{ + PyObject *py_callable; + if (!PyArg_ParseTuple(args, "O:on_main_frame_creation_finished", &py_callable)) + { + return NULL; + } + + if (!PyCallable_Check(py_callable)) + return PyErr_Format(PyExc_Exception, "object is not a callable"); + + // will brutally leak + FPythonSmartDelegate *py_delegate = new FPythonSmartDelegate(); + py_delegate->SetPyCallable(py_callable); + IMainFrameModule& MainFrameModule = FModuleManager::LoadModuleChecked(TEXT("MainFrame")); + MainFrameModule.OnMainFrameCreationFinished().AddRaw(py_delegate, &FPythonSmartDelegate::PyFOnMainFrameCreationFinished); Py_RETURN_NONE; } @@ -1929,7 +1950,7 @@ PyObject *py_unreal_engine_add_level_to_world(PyObject *self, PyObject * args) if (py_bool && PyObject_IsTrue(py_bool)) { streaming_mode_class = ULevelStreamingAlwaysLoaded::StaticClass(); -} + } #if ENGINE_MINOR_VERSION >= 17 ULevelStreaming *level_streaming = EditorLevelUtils::AddLevelToWorld(u_world, UTF8_TO_TCHAR(name), streaming_mode_class); diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.h b/Source/UnrealEnginePython/Private/UEPyEditor.h index 74268b4d7..ef618daff 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.h +++ b/Source/UnrealEnginePython/Private/UEPyEditor.h @@ -54,6 +54,7 @@ PyObject *py_unreal_engine_get_blueprint_components(PyObject *, PyObject *); PyObject *py_unreal_engine_editor_play(PyObject *, PyObject *); PyObject *py_unreal_engine_editor_on_asset_post_import(PyObject *, PyObject *); +PyObject *py_unreal_engine_on_main_frame_creation_finished(PyObject *, PyObject *); PyObject *py_unreal_engine_editor_command_build(PyObject *, PyObject *); PyObject *py_unreal_engine_editor_command_build_lighting(PyObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 5f6de34d7..c3af26aae 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -363,6 +363,7 @@ static PyMethodDef unreal_engine_methods[] = { { "move_actor_to_level", py_unreal_engine_move_actor_to_level, METH_VARARGS, "" }, { "editor_on_asset_post_import", py_unreal_engine_editor_on_asset_post_import, METH_VARARGS, "" }, + { "on_main_frame_creation_finished", py_unreal_engine_on_main_frame_creation_finished, METH_VARARGS, "" }, // transactions diff --git a/Source/UnrealEnginePython/Public/PythonSmartDelegate.h b/Source/UnrealEnginePython/Public/PythonSmartDelegate.h index e0e967d11..31f61fb59 100644 --- a/Source/UnrealEnginePython/Public/PythonSmartDelegate.h +++ b/Source/UnrealEnginePython/Public/PythonSmartDelegate.h @@ -21,6 +21,7 @@ class FPythonSmartDelegate : public TSharedFromThis #if WITH_EDITOR void PyFOnAssetPostImport(UFactory *factory, UObject *u_object); + void PyFOnMainFrameCreationFinished(TSharedPtr InRootWindow, bool bIsNewProjectWindow); #endif protected: From c6e064ba9c700a47b999fd3b73ed362fef9a3511 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 4 Jul 2018 19:18:58 +0200 Subject: [PATCH 253/538] more solid add_level_to_world() --- Source/UnrealEnginePython/Private/UEPyEditor.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index 60141b569..3e91be0da 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -1946,12 +1946,17 @@ PyObject *py_unreal_engine_add_level_to_world(PyObject *self, PyObject * args) return PyErr_Format(PyExc_Exception, "argument is not a UWorld"); } + if (!FPackageName::DoesPackageExist(UTF8_TO_TCHAR(name), nullptr, nullptr)) + return PyErr_Format(PyExc_Exception, "package does not exist"); + UClass *streaming_mode_class = ULevelStreamingKismet::StaticClass(); if (py_bool && PyObject_IsTrue(py_bool)) { streaming_mode_class = ULevelStreamingAlwaysLoaded::StaticClass(); } + + #if ENGINE_MINOR_VERSION >= 17 ULevelStreaming *level_streaming = EditorLevelUtils::AddLevelToWorld(u_world, UTF8_TO_TCHAR(name), streaming_mode_class); #else From 8560ed2d5d916c497ba0a72e0c112e0f47d31afc Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 6 Jul 2018 20:40:27 +0200 Subject: [PATCH 254/538] added meaningful sys.argv --- .../Private/UnrealEnginePython.cpp | 47 ++++++++++++++----- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index e851f2215..0fcb1adf2 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -80,13 +80,38 @@ bool PyUnicodeOrString_Check(PyObject *py_obj) void FUnrealEnginePythonModule::UESetupPythonInterpreter(bool verbose) { + const TCHAR* CommandLine = FCommandLine::GetOriginal(); + const SIZE_T CommandLineSize = FCString::Strlen(CommandLine) + 1; + TCHAR* CommandLineCopy = new TCHAR[CommandLineSize]; + FCString::Strcpy(CommandLineCopy, CommandLineSize, CommandLine); + const TCHAR* ParsedCmdLine = CommandLineCopy; + TArray Args; + for (;;) + { + FString Arg = FParse::Token(ParsedCmdLine, 0); + if (Arg.Len() <= 0) + break; + Args.Add(Arg); + } + +#if PY_MAJOR_VERSION >= 3 + wchar_t **argv = (wchar_t **)FMemory::Malloc(sizeof(wchar_t *) * (Args.Num() + 1)); +#else + char **argv = (char **)FMemory::Malloc(sizeof(char *) * (Args.Num() + 1)); +#endif + argv[Args.Num()] = nullptr; + + for (int32 i = 0; i < Args.Num(); i++) + { #if PY_MAJOR_VERSION >= 3 - wchar_t *argv[] = { UTF8_TO_TCHAR("UnrealEngine"), NULL }; + argv[i] = (wchar_t *)(*Args[i]); #else - char *argv[] = { (char *)"UnrealEngine", NULL }; + argv[i] = TCHAR_TO_UTF8(*Args[i]); #endif - PySys_SetArgv(1, argv); + } + + PySys_SetArgv(Args.Num(), argv); unreal_engine_init_py_module(); @@ -387,11 +412,11 @@ void FUnrealEnginePythonModule::StartupModule() #else unreal_engine_py_log_error(); #endif - } + } // release the GIL PyThreadState *UEPyGlobalState = PyEval_SaveThread(); -} + } void FUnrealEnginePythonModule::ShutdownModule() { @@ -422,16 +447,16 @@ void FUnrealEnginePythonModule::RunString(char *str) #if PLATFORM_MAC void FUnrealEnginePythonModule::RunStringInMainThread(char *str) { - MainThreadCall(^{ - RunString(str); - }); + MainThreadCall(^{ + RunString(str); + }); } void FUnrealEnginePythonModule::RunFileInMainThread(char *filename) { - MainThreadCall(^{ - RunFile(filename); - }); + MainThreadCall(^{ + RunFile(filename); + }); } #endif From 7765c7bcfce5521a315f350a7a08509b5d7ecbdb Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 8 Jul 2018 08:38:24 +0200 Subject: [PATCH 255/538] added shutdown method --- Source/UnrealEnginePython/Private/UEPyModule.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index c3af26aae..545e9f350 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -195,11 +195,21 @@ static PyObject *py_ue_get_py_proxy(ue_PyUObject *self, PyObject * args) Py_RETURN_NONE; } +static PyObject *py_unreal_engine_shutdown(PyObject *self, PyObject * args) +{ + + GIsRequestingExit = true; + + Py_RETURN_NONE; +} + static PyMethodDef unreal_engine_methods[] = { { "log", py_unreal_engine_log, METH_VARARGS, "" }, { "log_warning", py_unreal_engine_log_warning, METH_VARARGS, "" }, { "log_error", py_unreal_engine_log_error, METH_VARARGS, "" }, + { "shutdown", py_unreal_engine_shutdown, METH_VARARGS, "" }, + { "add_on_screen_debug_message", py_unreal_engine_add_on_screen_debug_message, METH_VARARGS, "" }, { "print_string", py_unreal_engine_print_string, METH_VARARGS, "" }, @@ -383,7 +393,7 @@ static PyMethodDef unreal_engine_methods[] = { #endif { "engine_tick", py_unreal_engine_engine_tick, METH_VARARGS, "" }, - + #if WITH_EDITOR { "tick_rendering_tickables", py_unreal_engine_tick_rendering_tickables, METH_VARARGS, "" }, { "all_viewport_clients", py_unreal_engine_all_viewport_clients , METH_VARARGS, "" }, @@ -2766,8 +2776,8 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * #endif } #endif - } } + } Py_ssize_t tuple_len = PyTuple_Size(args); @@ -2881,7 +2891,7 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * Py_INCREF(Py_None); return Py_None; - } +} PyObject *ue_bind_pyevent(ue_PyUObject *u_obj, FString event_name, PyObject *py_callable, bool fail_on_wrong_property) { From 4dbf21c20b99c285613aab805778ea37c9843f4a Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 11 Jul 2018 07:40:04 +0200 Subject: [PATCH 256/538] added is_loading_assets() and wait_for_assets() --- .../UnrealEnginePython/Private/UEPyEditor.cpp | 39 +++++++++++++++++-- .../UnrealEnginePython/Private/UEPyEditor.h | 2 + .../UnrealEnginePython/Private/UEPyModule.cpp | 3 ++ 3 files changed, 40 insertions(+), 4 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index 3e91be0da..ab330510f 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -36,6 +36,8 @@ #include "Wrappers/UEPyIAssetEditorInstance.h" #include "Editor/MainFrame/Public/Interfaces/IMainFrameModule.h" +#include "Runtime/Core/Public/HAL/ThreadHeartBeat.h" + #include "UEPyIPlugin.h" PyObject *py_unreal_engine_editor_play_in_viewport(PyObject * self, PyObject * args) @@ -541,6 +543,35 @@ PyObject *py_unreal_engine_get_asset(PyObject * self, PyObject * args) Py_RETURN_UOBJECT(asset.GetAsset()); } +PyObject *py_unreal_engine_is_loading_assets(PyObject * self, PyObject * args) +{ + if (!GEditor) + return PyErr_Format(PyExc_Exception, "no GEditor found"); + + FAssetRegistryModule& AssetRegistryModule = FModuleManager::GetModuleChecked("AssetRegistry"); + if (AssetRegistryModule.Get().IsLoadingAssets()) + Py_RETURN_TRUE; + Py_RETURN_FALSE; +} + +PyObject *py_unreal_engine_wait_for_assets(PyObject * self, PyObject * args) +{ + if (!GEditor) + return PyErr_Format(PyExc_Exception, "no GEditor found"); + + FAssetRegistryModule& AssetRegistryModule = FModuleManager::GetModuleChecked("AssetRegistry"); + while (AssetRegistryModule.Get().IsLoadingAssets()) + { + Py_BEGIN_ALLOW_THREADS; + AssetRegistryModule.Get().Tick(-1.0f); + FThreadHeartBeat::Get().HeartBeat(); + FPlatformProcess::SleepNoStats(0.0001f); + Py_END_ALLOW_THREADS; + } + + Py_RETURN_NONE; +} + PyObject *py_unreal_engine_find_asset(PyObject * self, PyObject * args) { char *path; @@ -1938,7 +1969,7 @@ PyObject *py_unreal_engine_add_level_to_world(PyObject *self, PyObject * args) if (!PyArg_ParseTuple(args, "Os|O:add_level_to_world", &py_world, &name, &py_bool)) { return NULL; - } +} UWorld *u_world = ue_py_check_type(py_world); if (!u_world) @@ -1955,7 +1986,7 @@ PyObject *py_unreal_engine_add_level_to_world(PyObject *self, PyObject * args) streaming_mode_class = ULevelStreamingAlwaysLoaded::StaticClass(); } - + #if ENGINE_MINOR_VERSION >= 17 ULevelStreaming *level_streaming = EditorLevelUtils::AddLevelToWorld(u_world, UTF8_TO_TCHAR(name), streaming_mode_class); @@ -1972,7 +2003,7 @@ PyObject *py_unreal_engine_add_level_to_world(PyObject *self, PyObject * args) #endif Py_RETURN_UOBJECT(level_streaming); -} + } PyObject *py_unreal_engine_move_selected_actors_to_level(PyObject *self, PyObject * args) { @@ -2477,7 +2508,7 @@ PyObject *py_unreal_engine_export_assets(PyObject * self, PyObject * args) if (!py_iter) { return PyErr_Format(PyExc_Exception, "argument is not an iterable of UObject"); - } +} while (PyObject *py_item = PyIter_Next(py_iter)) { diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.h b/Source/UnrealEnginePython/Private/UEPyEditor.h index ef618daff..50939e4d8 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.h +++ b/Source/UnrealEnginePython/Private/UEPyEditor.h @@ -13,6 +13,8 @@ PyObject *py_unreal_engine_editor_deselect_actors(PyObject *, PyObject *); PyObject *py_unreal_engine_editor_select_actor(PyObject *, PyObject *); PyObject *py_unreal_engine_import_asset(PyObject *, PyObject *); PyObject *py_unreal_engine_get_asset(PyObject *, PyObject *); +PyObject *py_unreal_engine_is_loading_assets(PyObject *, PyObject *); +PyObject *py_unreal_engine_wait_for_assets(PyObject *, PyObject *); PyObject *py_unreal_engine_find_asset(PyObject *, PyObject *); PyObject *py_unreal_engine_delete_object(PyObject *, PyObject *); PyObject *py_unreal_engine_get_assets(PyObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 545e9f350..eaa99c2a8 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -310,6 +310,9 @@ static PyMethodDef unreal_engine_methods[] = { { "get_selected_assets", py_unreal_engine_get_selected_assets, METH_VARARGS, "" }, { "get_assets_by_class", py_unreal_engine_get_assets_by_class, METH_VARARGS, "" }, + { "is_loading_assets", py_unreal_engine_is_loading_assets, METH_VARARGS, "" }, + { "wait_for_assets", py_unreal_engine_wait_for_assets, METH_VARARGS, "" }, + { "sync_browser_to_assets", py_unreal_engine_editor_sync_browser_to_assets, METH_VARARGS, "" }, { "get_asset_referencers", py_unreal_engine_get_asset_referencers, METH_VARARGS, "" }, From fabb4c23699525ab9baf00025e1b1822856a3716 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 18 Jul 2018 11:17:20 +0200 Subject: [PATCH 257/538] no more PCH --- .../PythonAutomation.Build.cs | 2 + Source/PythonConsole/Private/PyFbxFactory.cpp | 1 - .../Private/PythonConsoleModule.cpp | 2 +- .../Private/PythonConsolePrivatePCH.h | 9 ----- .../Private/PythonScriptFactory.cpp | 1 - .../PythonConsole/Private/SPythonConsole.cpp | 2 +- Source/PythonConsole/Private/SPythonConsole.h | 9 +++-- Source/PythonConsole/Private/SPythonLog.cpp | 7 +++- Source/PythonConsole/Private/SPythonLog.h | 5 ++- Source/PythonConsole/PythonConsole.Build.cs | 4 ++ .../PythonEditor/Private/DirectoryScanner.cpp | 3 +- ...tSyntaxHighlighterTextLayoutMarshaller.cpp | 2 +- ...extSyntaxHighlighterTextLayoutMarshaller.h | 1 + Source/PythonEditor/Private/PythonEditor.cpp | 5 ++- .../Private/PythonEditorCustomization.cpp | 1 - .../Private/PythonEditorPrivatePCH.h | 28 ------------- .../Private/PythonEditorStyle.cpp | 40 ++++++++++--------- Source/PythonEditor/Private/PythonProject.cpp | 3 +- .../Private/PythonProjectEditor.cpp | 8 +++- .../Private/PythonProjectEditorCommands.cpp | 4 +- .../Private/PythonProjectEditorToolbar.cpp | 4 +- .../Private/PythonProjectItem.cpp | 1 - .../Private/PythonSyntaxTokenizer.cpp | 1 - .../PythonEditor/Private/SProjectViewItem.cpp | 2 +- .../PythonEditor/Private/SProjectViewItem.h | 3 ++ .../Private/SPythonEditableText.cpp | 2 +- Source/PythonEditor/Private/SPythonEditor.cpp | 7 +++- Source/PythonEditor/Private/SPythonEditor.h | 2 + .../Private/SPythonProjectEditor.cpp | 4 +- .../Private/SPythonProjectEditor.h | 4 ++ .../Private/WhiteSpaceTextRun.cpp | 3 +- Source/PythonEditor/PythonEditor.Build.cs | 5 +++ 32 files changed, 93 insertions(+), 82 deletions(-) delete mode 100644 Source/PythonConsole/Private/PythonConsolePrivatePCH.h delete mode 100644 Source/PythonEditor/Private/PythonEditorPrivatePCH.h diff --git a/Source/PythonAutomation/PythonAutomation.Build.cs b/Source/PythonAutomation/PythonAutomation.Build.cs index 6a7f85e65..e2f80b814 100644 --- a/Source/PythonAutomation/PythonAutomation.Build.cs +++ b/Source/PythonAutomation/PythonAutomation.Build.cs @@ -12,6 +12,8 @@ public PythonAutomation(TargetInfo Target) #endif { PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + string enableUnityBuild = System.Environment.GetEnvironmentVariable("UEP_ENABLE_UNITY_BUILD"); + bFasterWithoutUnity = string.IsNullOrEmpty(enableUnityBuild); PrivateIncludePaths.AddRange( new string[] { diff --git a/Source/PythonConsole/Private/PyFbxFactory.cpp b/Source/PythonConsole/Private/PyFbxFactory.cpp index 3cbf1a1a2..9ead5c2d4 100644 --- a/Source/PythonConsole/Private/PyFbxFactory.cpp +++ b/Source/PythonConsole/Private/PyFbxFactory.cpp @@ -1,4 +1,3 @@ -#include "PythonConsolePrivatePCH.h" #include "PyFbxFactory.h" #include "FbxMeshUtils.h" diff --git a/Source/PythonConsole/Private/PythonConsoleModule.cpp b/Source/PythonConsole/Private/PythonConsoleModule.cpp index d9800bd36..e152c9ebc 100644 --- a/Source/PythonConsole/Private/PythonConsoleModule.cpp +++ b/Source/PythonConsole/Private/PythonConsoleModule.cpp @@ -1,6 +1,6 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. -#include "PythonConsolePrivatePCH.h" +#include "PythonConsoleModule.h" #include "SPythonConsole.h" #include "SPythonLog.h" #include "Editor/WorkspaceMenuStructure/Public/WorkspaceMenuStructureModule.h" diff --git a/Source/PythonConsole/Private/PythonConsolePrivatePCH.h b/Source/PythonConsole/Private/PythonConsolePrivatePCH.h deleted file mode 100644 index 7d5eec1f9..000000000 --- a/Source/PythonConsole/Private/PythonConsolePrivatePCH.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. - -#pragma once - -#include "UnrealEd.h" -#include "PythonConsoleModule.h" -#include "SlateBasics.h" - - diff --git a/Source/PythonConsole/Private/PythonScriptFactory.cpp b/Source/PythonConsole/Private/PythonScriptFactory.cpp index 1b1828a7c..91f7cad58 100644 --- a/Source/PythonConsole/Private/PythonScriptFactory.cpp +++ b/Source/PythonConsole/Private/PythonScriptFactory.cpp @@ -1,4 +1,3 @@ -#include "PythonConsolePrivatePCH.h" #include "PythonScriptFactory.h" #include "PythonScript.h" diff --git a/Source/PythonConsole/Private/SPythonConsole.cpp b/Source/PythonConsole/Private/SPythonConsole.cpp index 7f3590f32..7d9fa36da 100644 --- a/Source/PythonConsole/Private/SPythonConsole.cpp +++ b/Source/PythonConsole/Private/SPythonConsole.cpp @@ -1,6 +1,6 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. -#include "PythonConsolePrivatePCH.h" +#include "SPythonConsole.h" #include "PythonConsoleModule.h" #include "SPythonConsole.h" #include "SPythonLog.h" diff --git a/Source/PythonConsole/Private/SPythonConsole.h b/Source/PythonConsole/Private/SPythonConsole.h index b74d72252..c880d68e0 100644 --- a/Source/PythonConsole/Private/SPythonConsole.h +++ b/Source/PythonConsole/Private/SPythonConsole.h @@ -2,6 +2,9 @@ #pragma once +#include "SlateCore.h" +#include "EditorStyle.h" +#include "PythonConsoleModule.h" /** * Debug console widget, designed to be summoned on top of a viewport or window @@ -10,14 +13,14 @@ class SPythonConsole : public SCompoundWidget { public: - SLATE_BEGIN_ARGS( SPythonConsole ) + SLATE_BEGIN_ARGS(SPythonConsole) { } SLATE_END_ARGS() - /** Constructs this widget */ - void Construct( const FArguments& InArgs, const EPythonConsoleStyle::Type InStyle, FPythonConsoleModule* PythonConsoleModule, const FPythonConsoleDelegates* PythonConsoleDelegates ); + /** Constructs this widget */ + void Construct(const FArguments& InArgs, const EPythonConsoleStyle::Type InStyle, FPythonConsoleModule* PythonConsoleModule, const FPythonConsoleDelegates* PythonConsoleDelegates); /** Call to set focus to this debug console's editable text box */ void SetFocusToEditableText(); diff --git a/Source/PythonConsole/Private/SPythonLog.cpp b/Source/PythonConsole/Private/SPythonLog.cpp index 14c74b28f..4b91cc146 100644 --- a/Source/PythonConsole/Private/SPythonLog.cpp +++ b/Source/PythonConsole/Private/SPythonLog.cpp @@ -1,6 +1,5 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. -#include "PythonConsolePrivatePCH.h" #include "SPythonLog.h" #include "SScrollBorder.h" #include "GameFramework/GameMode.h" @@ -8,7 +7,11 @@ #include "GameFramework/GameState.h" #include "SSearchBox.h" #include "Runtime/Launch/Resources/Version.h" -//#include "UnrealEnginePython.h" +#include "Runtime/Slate/Public/Framework/Text/SlateTextLayout.h" +#include "Editor/EditorStyle/Public/Classes/EditorStyleSettings.h" +#include "SlateBasics.h" +#include "EditorStyle.h" + #define LOCTEXT_NAMESPACE "PythonConsole" diff --git a/Source/PythonConsole/Private/SPythonLog.h b/Source/PythonConsole/Private/SPythonLog.h index 8f3e0d511..8f3f924a6 100644 --- a/Source/PythonConsole/Private/SPythonLog.h +++ b/Source/PythonConsole/Private/SPythonLog.h @@ -3,8 +3,9 @@ #pragma once #include "BaseTextLayoutMarshaller.h" #include "TextFilterExpressionEvaluator.h" - -#include "UnrealEnginePython/Public/UnrealEnginePython.h" +#include "SlateCore.h" +#include "UnrealEnginePython.h" +#include "Runtime/Slate/Public/Widgets/Input/SMultiLineEditableTextBox.h" class FPythonLogTextLayoutMarshaller; class SSearchBox; diff --git a/Source/PythonConsole/PythonConsole.Build.cs b/Source/PythonConsole/PythonConsole.Build.cs index 5fa8b759b..29476f1dc 100644 --- a/Source/PythonConsole/PythonConsole.Build.cs +++ b/Source/PythonConsole/PythonConsole.Build.cs @@ -11,6 +11,10 @@ public PythonConsole(ReadOnlyTargetRules Target) : base(Target) public PythonConsole(TargetInfo Target) #endif { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + string enableUnityBuild = System.Environment.GetEnvironmentVariable("UEP_ENABLE_UNITY_BUILD"); + bFasterWithoutUnity = string.IsNullOrEmpty(enableUnityBuild); + PrivateIncludePaths.AddRange( new string[] { "PythonConsole/Private", diff --git a/Source/PythonEditor/Private/DirectoryScanner.cpp b/Source/PythonEditor/Private/DirectoryScanner.cpp index 1edc98793..ff4c6b085 100644 --- a/Source/PythonEditor/Private/DirectoryScanner.cpp +++ b/Source/PythonEditor/Private/DirectoryScanner.cpp @@ -1,7 +1,8 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. -#include "PythonEditorPrivatePCH.h" #include "DirectoryScanner.h" +#include "Runtime/Core/Public/Misc/IQueuedWork.h" +#include "Runtime/Core/Public/GenericPlatform/GenericPlatformFile.h" #include "PythonProjectItem.h" TArray FDirectoryScanner::CommandQueue; diff --git a/Source/PythonEditor/Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.cpp b/Source/PythonEditor/Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.cpp index 53417bf6b..f0b15596e 100644 --- a/Source/PythonEditor/Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.cpp +++ b/Source/PythonEditor/Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.cpp @@ -1,8 +1,8 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. -#include "PythonEditorPrivatePCH.h" #include "PYRichTextSyntaxHighlighterTextLayoutMarshaller.h" #include "WhiteSpaceTextRun.h" +#include "Runtime/Launch/Resources/Version.h" FPYRichTextSyntaxHighlighterTextLayoutMarshaller::FPYRichTextSyntaxHighlighterTextLayoutMarshaller(TSharedPtr< FPythonSyntaxTokenizer > InTokenizer, const FSyntaxTextStyle& InSyntaxTextStyle) : Tokenizer(MoveTemp(InTokenizer)) diff --git a/Source/PythonEditor/Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.h b/Source/PythonEditor/Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.h index 52ce856a3..2fe2f343b 100644 --- a/Source/PythonEditor/Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.h +++ b/Source/PythonEditor/Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.h @@ -5,6 +5,7 @@ #include "PythonSyntaxTokenizer.h" #include "PlainTextLayoutMarshaller.h" #include "ITextDecorator.h" +#include "PythonEditorStyle.h" class FPYRichTextSyntaxHighlighterTextLayoutMarshaller : public FPlainTextLayoutMarshaller diff --git a/Source/PythonEditor/Private/PythonEditor.cpp b/Source/PythonEditor/Private/PythonEditor.cpp index 5c72aa548..3f845277b 100644 --- a/Source/PythonEditor/Private/PythonEditor.cpp +++ b/Source/PythonEditor/Private/PythonEditor.cpp @@ -1,10 +1,13 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. -#include "PythonEditorPrivatePCH.h" #include "ModuleManager.h" #include "AssetToolsModule.h" #include "AssetEditorToolkit.h" #include "LevelEditor.h" +#include "PythonEditorStyle.h" +#include "PythonProjectEditor.h" +#include "PythonProject.h" +#include "Runtime/Slate/Public/Framework/MultiBox/MultiBoxBuilder.h" static const FName PythonEditorTabName( TEXT( "PythonEditor" ) ); diff --git a/Source/PythonEditor/Private/PythonEditorCustomization.cpp b/Source/PythonEditor/Private/PythonEditorCustomization.cpp index 3211546fb..b3fd53ce9 100644 --- a/Source/PythonEditor/Private/PythonEditorCustomization.cpp +++ b/Source/PythonEditor/Private/PythonEditorCustomization.cpp @@ -1,6 +1,5 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. -#include "PythonEditorPrivatePCH.h" #include "PythonEditorCustomization.h" UPythonEditorCustomization::UPythonEditorCustomization(const FObjectInitializer& ObjectInitializer) diff --git a/Source/PythonEditor/Private/PythonEditorPrivatePCH.h b/Source/PythonEditor/Private/PythonEditorPrivatePCH.h deleted file mode 100644 index dac15ddc2..000000000 --- a/Source/PythonEditor/Private/PythonEditorPrivatePCH.h +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. - -#pragma once - - -/* Private dependencies - *****************************************************************************/ - -#include "Core.h" -#include "CoreUObject.h" -#include "SlateBasics.h" -#include "EditorStyle.h" -#include "PropertyEditing.h" -#include "UnrealEd.h" -#include "DirectoryWatcherModule.h" -#include "IPluginManager.h" - - -/* Private includes - *****************************************************************************/ - -#include "PythonEditorStyle.h" -#include "PythonProject.h" -#include "PythonProjectEditorCommands.h" -#include "PythonProjectEditor.h" -#include "PythonProjectItem.h" -#include "UnrealEnginePython/Public/UnrealEnginePython.h" - diff --git a/Source/PythonEditor/Private/PythonEditorStyle.cpp b/Source/PythonEditor/Private/PythonEditorStyle.cpp index 89f60a08a..06f30e2ec 100644 --- a/Source/PythonEditor/Private/PythonEditorStyle.cpp +++ b/Source/PythonEditor/Private/PythonEditorStyle.cpp @@ -1,7 +1,11 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. -#include "PythonEditorPrivatePCH.h" +#include "PythonEditorStyle.h" #include "EditorStyleSet.h" +#include "SlateCore.h" +#include "Runtime/SlateCore/Public/Styling/SlateStyle.h" +#include "Runtime/Projects/Public/Interfaces/IPluginManager.h" + TSharedPtr< FSlateStyleSet > FPythonEditorStyle::StyleSet = nullptr; @@ -33,12 +37,12 @@ static const FVector2D Icon267x140(170.0f, 50.0f); void FPythonEditorStyle::Initialize() { // Only register once - if( StyleSet.IsValid() ) + if (StyleSet.IsValid()) { return; } - StyleSet = MakeShareable(new FSlateStyleSet("PythonEditor") ); + StyleSet = MakeShareable(new FSlateStyleSet("PythonEditor")); StyleSet->SetContentRoot(IPluginManager::Get().FindPlugin("UnrealEnginePython")->GetBaseDir() / TEXT("Resources")); @@ -64,7 +68,7 @@ void FPythonEditorStyle::Initialize() StyleSet->Set("PythonEditor.PEP8ize.Small", new IMAGE_BRUSH("UI/Excute_x40", Icon16x16)); } - const FSlateFontInfo Consolas10 = TTF_FONT("Font/DroidSansMono", 9); + const FSlateFontInfo Consolas10 = TTF_FONT("Font/DroidSansMono", 9); const FTextBlockStyle NormalText = FTextBlockStyle() .SetFont(Consolas10) @@ -88,28 +92,28 @@ void FPythonEditorStyle::Initialize() StyleSet->Set("SyntaxHighlight.PY.Define", FTextBlockStyle(NormalText).SetColorAndOpacity(FLinearColor(FColor(0xffa6e22a)))); // light grey - StyleSet->Set("TextEditor.Border", new BOX_BRUSH("UI/TextEditorBorder", FMargin(4.0f/16.0f), FLinearColor(0.02f,0.02f,0.02f,1))); + StyleSet->Set("TextEditor.Border", new BOX_BRUSH("UI/TextEditorBorder", FMargin(4.0f / 16.0f), FLinearColor(0.02f, 0.02f, 0.02f, 1))); const FEditableTextBoxStyle EditableTextBoxStyle = FEditableTextBoxStyle() - .SetBackgroundImageNormal( FSlateNoResource() ) - .SetBackgroundImageHovered( FSlateNoResource() ) - .SetBackgroundImageFocused( FSlateNoResource() ) - .SetBackgroundImageReadOnly( FSlateNoResource() ); - + .SetBackgroundImageNormal(FSlateNoResource()) + .SetBackgroundImageHovered(FSlateNoResource()) + .SetBackgroundImageFocused(FSlateNoResource()) + .SetBackgroundImageReadOnly(FSlateNoResource()); + StyleSet->Set("TextEditor.EditableTextBox", EditableTextBoxStyle); } // Project editor { - StyleSet->Set("ProjectEditor.Border", new BOX_BRUSH("UI/TextEditorBorder", FMargin(4.0f/16.0f), FLinearColor(0.048f,0.048f,0.048f,1))); + StyleSet->Set("ProjectEditor.Border", new BOX_BRUSH("UI/TextEditorBorder", FMargin(4.0f / 16.0f), FLinearColor(0.048f, 0.048f, 0.048f, 1))); - StyleSet->Set("ProjectEditor.Icon.Project", new IMAGE_BRUSH("UI/FolderClosed", Icon16x16, FLinearColor(0.25f,0.25f,0.25f,1))); - StyleSet->Set("ProjectEditor.Icon.Folder", new IMAGE_BRUSH("UI/FolderClosed", Icon16x16, FLinearColor(0.25f,0.25f,0.25f,1))); + StyleSet->Set("ProjectEditor.Icon.Project", new IMAGE_BRUSH("UI/FolderClosed", Icon16x16, FLinearColor(0.25f, 0.25f, 0.25f, 1))); + StyleSet->Set("ProjectEditor.Icon.Folder", new IMAGE_BRUSH("UI/FolderClosed", Icon16x16, FLinearColor(0.25f, 0.25f, 0.25f, 1))); StyleSet->Set("ProjectEditor.Icon.File", new IMAGE_BRUSH("UI/PythonEditor_16x", Icon16x16)); StyleSet->Set("ProjectEditor.Icon.GenericFile", new IMAGE_BRUSH("UI/GenericFile", Icon16x16)); } - FSlateStyleRegistry::RegisterSlateStyle( *StyleSet.Get() ); + FSlateStyleRegistry::RegisterSlateStyle(*StyleSet.Get()); } #undef IMAGE_BRUSH @@ -120,17 +124,17 @@ void FPythonEditorStyle::Initialize() void FPythonEditorStyle::Shutdown() { - if( StyleSet.IsValid() ) + if (StyleSet.IsValid()) { - FSlateStyleRegistry::UnRegisterSlateStyle( *StyleSet.Get() ); - ensure( StyleSet.IsUnique() ); + FSlateStyleRegistry::UnRegisterSlateStyle(*StyleSet.Get()); + ensure(StyleSet.IsUnique()); StyleSet.Reset(); } } const ISlateStyle& FPythonEditorStyle::Get() { - return *( StyleSet.Get() ); + return *(StyleSet.Get()); } const FName& FPythonEditorStyle::GetStyleSetName() diff --git a/Source/PythonEditor/Private/PythonProject.cpp b/Source/PythonEditor/Private/PythonProject.cpp index 2890a81a6..d49148fe3 100644 --- a/Source/PythonEditor/Private/PythonProject.cpp +++ b/Source/PythonEditor/Private/PythonProject.cpp @@ -1,6 +1,7 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. -#include "PythonEditorPrivatePCH.h" +#include "PythonProject.h" +#include "UnrealEnginePython.h" UPythonProject::UPythonProject(const FObjectInitializer& ObjectInitializer) diff --git a/Source/PythonEditor/Private/PythonProjectEditor.cpp b/Source/PythonEditor/Private/PythonProjectEditor.cpp index 2a5f23d36..fc7c7482f 100644 --- a/Source/PythonEditor/Private/PythonProjectEditor.cpp +++ b/Source/PythonEditor/Private/PythonProjectEditor.cpp @@ -1,12 +1,18 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. -#include "PythonEditorPrivatePCH.h" +#include "PythonProjectEditor.h" #include "SPythonEditor.h" #include "SPythonProjectEditor.h" #include "SDockTab.h" #include "PythonProjectEditorToolbar.h" #include "Editor/Kismet/Public/WorkflowOrientedApp/WorkflowUObjectDocuments.h" #include "Editor/Kismet/Public/WorkflowOrientedApp/ApplicationMode.h" +#include "PythonProjectItem.h" +#include "PythonEditorStyle.h" +#include "PythonProject.h" +#include "PythonProjectEditorCommands.h" +#include "Runtime/Core/Public/HAL/PlatformFilemanager.h" +#include "Runtime/Core/Public/Misc/MessageDialog.h" #define LOCTEXT_NAMESPACE "PythonEditor" TWeakPtr FPythonProjectEditor::PythonEditor; diff --git a/Source/PythonEditor/Private/PythonProjectEditorCommands.cpp b/Source/PythonEditor/Private/PythonProjectEditorCommands.cpp index 2c3ccf68a..598049d73 100644 --- a/Source/PythonEditor/Private/PythonProjectEditorCommands.cpp +++ b/Source/PythonEditor/Private/PythonProjectEditorCommands.cpp @@ -1,7 +1,7 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. -#include "PythonEditorPrivatePCH.h" - +#include "PythonProjectEditorCommands.h" +#include "PythonEditorStyle.h" #define LOCTEXT_NAMESPACE "PythonProjectEditorCommands" diff --git a/Source/PythonEditor/Private/PythonProjectEditorToolbar.cpp b/Source/PythonEditor/Private/PythonProjectEditorToolbar.cpp index 8b4c1953f..8b47d47b4 100644 --- a/Source/PythonEditor/Private/PythonProjectEditorToolbar.cpp +++ b/Source/PythonEditor/Private/PythonProjectEditorToolbar.cpp @@ -1,10 +1,12 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. -#include "PythonEditorPrivatePCH.h" #include "PythonProjectEditorToolbar.h" #include "LevelEditorActions.h" #include "SourceCodeNavigation.h" #include "EditorStyleSet.h" +#include "Runtime/Slate/Public/Framework/MultiBox/MultiBoxExtender.h" +#include "PythonProjectEditor.h" +#include "PythonProjectEditorCommands.h" void FPythonProjectEditorToolbar::AddEditorToolbar(TSharedPtr Extender) diff --git a/Source/PythonEditor/Private/PythonProjectItem.cpp b/Source/PythonEditor/Private/PythonProjectItem.cpp index 615c6fcd0..a7440c0b0 100644 --- a/Source/PythonEditor/Private/PythonProjectItem.cpp +++ b/Source/PythonEditor/Private/PythonProjectItem.cpp @@ -1,6 +1,5 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. -#include "PythonEditorPrivatePCH.h" #include "PythonProjectItem.h" #include "DirectoryScanner.h" #include "Developer/DirectoryWatcher/Public/IDirectoryWatcher.h" diff --git a/Source/PythonEditor/Private/PythonSyntaxTokenizer.cpp b/Source/PythonEditor/Private/PythonSyntaxTokenizer.cpp index 91c587cb6..e3f82bfc8 100644 --- a/Source/PythonEditor/Private/PythonSyntaxTokenizer.cpp +++ b/Source/PythonEditor/Private/PythonSyntaxTokenizer.cpp @@ -1,6 +1,5 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. -#include "PythonEditorPrivatePCH.h" #include "PythonSyntaxTokenizer.h" #include "BreakIterator.h" diff --git a/Source/PythonEditor/Private/SProjectViewItem.cpp b/Source/PythonEditor/Private/SProjectViewItem.cpp index b99afa509..926578872 100644 --- a/Source/PythonEditor/Private/SProjectViewItem.cpp +++ b/Source/PythonEditor/Private/SProjectViewItem.cpp @@ -1,9 +1,9 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. -#include "PythonEditorPrivatePCH.h" #include "SProjectViewItem.h" #include "SInlineEditableTextBlock.h" #include "BreakIterator.h" +#include "PythonEditorStyle.h" #define LOCTEXT_NAMESPACE "ProjectViewItem" diff --git a/Source/PythonEditor/Private/SProjectViewItem.h b/Source/PythonEditor/Private/SProjectViewItem.h index 3cce4f8cf..2ebf7a507 100644 --- a/Source/PythonEditor/Private/SProjectViewItem.h +++ b/Source/PythonEditor/Private/SProjectViewItem.h @@ -2,6 +2,9 @@ #pragma once +#include "SlateCore.h" +#include "PythonProjectItem.h" + class SProjectViewItem : public SCompoundWidget { public: diff --git a/Source/PythonEditor/Private/SPythonEditableText.cpp b/Source/PythonEditor/Private/SPythonEditableText.cpp index 4ca086e27..2797e629f 100644 --- a/Source/PythonEditor/Private/SPythonEditableText.cpp +++ b/Source/PythonEditor/Private/SPythonEditableText.cpp @@ -1,7 +1,7 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. -#include "PythonEditorPrivatePCH.h" #include "SPythonEditableText.h" +#include "PythonEditorStyle.h" void SPythonEditableText::Construct(const FArguments& InArgs) diff --git a/Source/PythonEditor/Private/SPythonEditor.cpp b/Source/PythonEditor/Private/SPythonEditor.cpp index 9a97ca31e..e7542c651 100644 --- a/Source/PythonEditor/Private/SPythonEditor.cpp +++ b/Source/PythonEditor/Private/SPythonEditor.cpp @@ -1,10 +1,15 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. -#include "PythonEditorPrivatePCH.h" #include "SPythonEditor.h" #include "SMultiLineEditableText.h" #include "PYRichTextSyntaxHighlighterTextLayoutMarshaller.h" #include "SPythonEditableText.h" +#include "Runtime/Core/Public/Misc/FileHelper.h" +#include "PythonProjectItem.h" +#include "Runtime/Slate/Public/Widgets/Layout/SGridPanel.h" +#include "PythonEditorStyle.h" +#include "Runtime/Slate/Public/Widgets/Text/STextBlock.h" +#include "UnrealEnginePython.h" #define LOCTEXT_NAMESPACE "PythonEditor" diff --git a/Source/PythonEditor/Private/SPythonEditor.h b/Source/PythonEditor/Private/SPythonEditor.h index 97401f633..b75d497eb 100644 --- a/Source/PythonEditor/Private/SPythonEditor.h +++ b/Source/PythonEditor/Private/SPythonEditor.h @@ -2,6 +2,8 @@ #pragma once +#include "SlateCore.h" + class SPythonEditor : public SCompoundWidget { public: diff --git a/Source/PythonEditor/Private/SPythonProjectEditor.cpp b/Source/PythonEditor/Private/SPythonProjectEditor.cpp index f3240b843..a326bac3a 100644 --- a/Source/PythonEditor/Private/SPythonProjectEditor.cpp +++ b/Source/PythonEditor/Private/SPythonProjectEditor.cpp @@ -1,10 +1,12 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. -#include "PythonEditorPrivatePCH.h" #include "SPythonProjectEditor.h" #include "SProjectViewItem.h" #include "DirectoryScanner.h" #include "SThrobber.h" +#include "PythonEditorStyle.h" +#include "PythonProjectEditor.h" +#include "PythonProject.h" #define LOCTEXT_NAMESPACE "PythonProjectEditor" diff --git a/Source/PythonEditor/Private/SPythonProjectEditor.h b/Source/PythonEditor/Private/SPythonProjectEditor.h index 9479a7545..1e4d524ea 100644 --- a/Source/PythonEditor/Private/SPythonProjectEditor.h +++ b/Source/PythonEditor/Private/SPythonProjectEditor.h @@ -2,6 +2,10 @@ #pragma once +#include "SlateCore.h" +#include "Runtime/Slate/Public/Widgets/Views/STreeView.h" +#include "PythonProjectItem.h" + class SPythonProjectEditor : public SCompoundWidget { public: diff --git a/Source/PythonEditor/Private/WhiteSpaceTextRun.cpp b/Source/PythonEditor/Private/WhiteSpaceTextRun.cpp index d035f96c1..c25e4477d 100644 --- a/Source/PythonEditor/Private/WhiteSpaceTextRun.cpp +++ b/Source/PythonEditor/Private/WhiteSpaceTextRun.cpp @@ -1,7 +1,8 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. -#include "PythonEditorPrivatePCH.h" #include "WhiteSpaceTextRun.h" +#include "Runtime/Slate/Public/Framework/Application/SlateApplication.h" +#include "Runtime/SlateCore/Public/Fonts/FontMeasure.h" TSharedRef< FWhiteSpaceTextRun > FWhiteSpaceTextRun::Create( const FRunInfo& InRunInfo, const TSharedRef< const FString >& InText, const FTextBlockStyle& Style, const FTextRange& InRange, int32 NumSpacesPerTab ) { diff --git a/Source/PythonEditor/PythonEditor.Build.cs b/Source/PythonEditor/PythonEditor.Build.cs index ecd04d8b8..11b024164 100644 --- a/Source/PythonEditor/PythonEditor.Build.cs +++ b/Source/PythonEditor/PythonEditor.Build.cs @@ -10,6 +10,11 @@ public PythonEditor(ReadOnlyTargetRules Target) : base(Target) public PythonEditor(TargetInfo Target) #endif { + + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + string enableUnityBuild = System.Environment.GetEnvironmentVariable("UEP_ENABLE_UNITY_BUILD"); + bFasterWithoutUnity = string.IsNullOrEmpty(enableUnityBuild); + PrivateIncludePaths.AddRange( new string[] { "PythonEditor/Private", From 0dcbb7e868a1dc4d088a3b118f90ebd2551f2b69 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 18 Jul 2018 12:25:56 +0200 Subject: [PATCH 258/538] fixed 4.15 build --- Source/PythonConsole/Private/SPythonLog.h | 1 + .../PYRichTextSyntaxHighlighterTextLayoutMarshaller.h | 2 +- Source/PythonEditor/Private/PythonEditorCustomization.h | 1 + Source/PythonEditor/Private/PythonProjectEditorToolbar.h | 3 +++ Source/PythonEditor/Private/PythonProjectItem.h | 1 + Source/PythonEditor/Private/PythonSyntaxTokenizer.h | 2 ++ Source/PythonEditor/Private/SPythonEditableText.cpp | 1 + Source/PythonEditor/Private/SPythonEditor.cpp | 1 + Source/PythonEditor/Private/SPythonEditor.h | 1 + Source/UnrealEnginePython/Private/UEPyEditor.cpp | 9 +++++++-- Source/UnrealEnginePython/Public/PythonSmartDelegate.h | 1 + 11 files changed, 20 insertions(+), 3 deletions(-) diff --git a/Source/PythonConsole/Private/SPythonLog.h b/Source/PythonConsole/Private/SPythonLog.h index 8f3f924a6..85175eade 100644 --- a/Source/PythonConsole/Private/SPythonLog.h +++ b/Source/PythonConsole/Private/SPythonLog.h @@ -6,6 +6,7 @@ #include "SlateCore.h" #include "UnrealEnginePython.h" #include "Runtime/Slate/Public/Widgets/Input/SMultiLineEditableTextBox.h" +#include "Runtime/Slate/Public/Widgets/Input/SEditableTextBox.h" class FPythonLogTextLayoutMarshaller; class SSearchBox; diff --git a/Source/PythonEditor/Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.h b/Source/PythonEditor/Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.h index 2fe2f343b..4c259b322 100644 --- a/Source/PythonEditor/Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.h +++ b/Source/PythonEditor/Private/PYRichTextSyntaxHighlighterTextLayoutMarshaller.h @@ -1,7 +1,7 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. #pragma once - +#include "Runtime/SlateCore/Public/Styling/SlateTypes.h" #include "PythonSyntaxTokenizer.h" #include "PlainTextLayoutMarshaller.h" #include "ITextDecorator.h" diff --git a/Source/PythonEditor/Private/PythonEditorCustomization.h b/Source/PythonEditor/Private/PythonEditorCustomization.h index 581b9f178..4565247e3 100644 --- a/Source/PythonEditor/Private/PythonEditorCustomization.h +++ b/Source/PythonEditor/Private/PythonEditorCustomization.h @@ -2,6 +2,7 @@ #pragma once +#include "UnrealEd.h" #include "PythonEditorCustomization.generated.h" USTRUCT() diff --git a/Source/PythonEditor/Private/PythonProjectEditorToolbar.h b/Source/PythonEditor/Private/PythonProjectEditorToolbar.h index 5d12de604..3b2dee5b9 100644 --- a/Source/PythonEditor/Private/PythonProjectEditorToolbar.h +++ b/Source/PythonEditor/Private/PythonProjectEditorToolbar.h @@ -2,6 +2,9 @@ #pragma once +#include "PythonProjectEditor.h" +#include "Runtime/Slate/Public/Framework/MultiBox/MultiBoxBuilder.h" + class FPythonProjectEditorToolbar : public TSharedFromThis { public: diff --git a/Source/PythonEditor/Private/PythonProjectItem.h b/Source/PythonEditor/Private/PythonProjectItem.h index 4d3372fb7..7e4363e28 100644 --- a/Source/PythonEditor/Private/PythonProjectItem.h +++ b/Source/PythonEditor/Private/PythonProjectItem.h @@ -2,6 +2,7 @@ #pragma once +#include "UnrealEd.h" #include "PythonProjectItem.generated.h" /** Types of project items. Note that the enum ordering determines the tree sorting */ diff --git a/Source/PythonEditor/Private/PythonSyntaxTokenizer.h b/Source/PythonEditor/Private/PythonSyntaxTokenizer.h index 4235cf8df..a016b055a 100644 --- a/Source/PythonEditor/Private/PythonSyntaxTokenizer.h +++ b/Source/PythonEditor/Private/PythonSyntaxTokenizer.h @@ -1,6 +1,8 @@ // Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. #pragma once +#include "Runtime/Slate/Public/Framework/Text/SyntaxTokenizer.h" + /** * Tokenize the text based upon the given rule set */ diff --git a/Source/PythonEditor/Private/SPythonEditableText.cpp b/Source/PythonEditor/Private/SPythonEditableText.cpp index 2797e629f..183c6f862 100644 --- a/Source/PythonEditor/Private/SPythonEditableText.cpp +++ b/Source/PythonEditor/Private/SPythonEditableText.cpp @@ -2,6 +2,7 @@ #include "SPythonEditableText.h" #include "PythonEditorStyle.h" +#include "Runtime/Slate/Public/Framework/Application/SlateApplication.h" void SPythonEditableText::Construct(const FArguments& InArgs) diff --git a/Source/PythonEditor/Private/SPythonEditor.cpp b/Source/PythonEditor/Private/SPythonEditor.cpp index e7542c651..43d7d6e08 100644 --- a/Source/PythonEditor/Private/SPythonEditor.cpp +++ b/Source/PythonEditor/Private/SPythonEditor.cpp @@ -9,6 +9,7 @@ #include "Runtime/Slate/Public/Widgets/Layout/SGridPanel.h" #include "PythonEditorStyle.h" #include "Runtime/Slate/Public/Widgets/Text/STextBlock.h" +#include "Runtime/Slate/Public/Widgets/Layout/SScrollBar.h" #include "UnrealEnginePython.h" diff --git a/Source/PythonEditor/Private/SPythonEditor.h b/Source/PythonEditor/Private/SPythonEditor.h index b75d497eb..81b73a366 100644 --- a/Source/PythonEditor/Private/SPythonEditor.h +++ b/Source/PythonEditor/Private/SPythonEditor.h @@ -3,6 +3,7 @@ #pragma once #include "SlateCore.h" +#include "Runtime/Slate/Public/Widgets/Layout/SScrollBar.h" class SPythonEditor : public SCompoundWidget { diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index ab330510f..efb7df597 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -676,13 +676,15 @@ PyObject *py_unreal_engine_rename_asset(PyObject * self, PyObject * args) FAssetToolsModule& AssetToolsModule = FModuleManager::LoadModuleChecked("AssetTools"); TArray AssetsAndNames; + FString Destination = FString(UTF8_TO_TCHAR(destination)); + +#if ENGINE_MINOR_VERSION > 15 FAssetRenameData RenameData; RenameData.Asset = asset.GetAsset(); - FString Destination = FString(UTF8_TO_TCHAR(destination)); - if (Destination.StartsWith("/")) { + RenameData.NewPackagePath = FPackageName::GetLongPackagePath(Destination); RenameData.NewName = FPackageName::GetShortName(Destination); } @@ -696,6 +698,9 @@ PyObject *py_unreal_engine_rename_asset(PyObject * self, PyObject * args) { RenameData.bOnlyFixSoftReferences = true; } +#else + FAssetRenameData RenameData(TWeakObjectPtr(asset.GetAsset()), FPackageName::GetLongPackagePath(UTF8_TO_TCHAR(path)), Destination.StartsWith("/") ? FPackageName::GetShortName(Destination) : Destination); +#endif AssetsAndNames.Add(RenameData); #if ENGINE_MINOR_VERSION < 19 diff --git a/Source/UnrealEnginePython/Public/PythonSmartDelegate.h b/Source/UnrealEnginePython/Public/PythonSmartDelegate.h index 31f61fb59..3a1047835 100644 --- a/Source/UnrealEnginePython/Public/PythonSmartDelegate.h +++ b/Source/UnrealEnginePython/Public/PythonSmartDelegate.h @@ -3,6 +3,7 @@ #include "UnrealEnginePython.h" #if WITH_EDITOR #include "Factories/Factory.h" +#include "Runtime/SlateCore/Public/Widgets/SWindow.h" #endif class FPythonSmartDelegate : public TSharedFromThis From a31fedaf1223db443e8d04deab085786e0004daa Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 18 Jul 2018 12:58:23 +0200 Subject: [PATCH 259/538] fixed 4.16 build --- Source/UnrealEnginePython/Private/UEPyEditor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index efb7df597..5581551df 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -678,7 +678,7 @@ PyObject *py_unreal_engine_rename_asset(PyObject * self, PyObject * args) TArray AssetsAndNames; FString Destination = FString(UTF8_TO_TCHAR(destination)); -#if ENGINE_MINOR_VERSION > 15 +#if ENGINE_MINOR_VERSION > 16 FAssetRenameData RenameData; RenameData.Asset = asset.GetAsset(); From 866b2368ca86a30f4d911c2ff1cb21b636a4e2f4 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 18 Jul 2018 13:27:04 +0200 Subject: [PATCH 260/538] fixed 4.17 build --- Source/UnrealEnginePython/Private/UEPyEditor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index 5581551df..be35655e3 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -678,7 +678,7 @@ PyObject *py_unreal_engine_rename_asset(PyObject * self, PyObject * args) TArray AssetsAndNames; FString Destination = FString(UTF8_TO_TCHAR(destination)); -#if ENGINE_MINOR_VERSION > 16 +#if ENGINE_MINOR_VERSION > 17 FAssetRenameData RenameData; RenameData.Asset = asset.GetAsset(); From 75914157a503ad552fe495d8064f6732f799ba7a Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 18 Jul 2018 18:29:17 +0200 Subject: [PATCH 261/538] first round of ref-by-default struct --- .../UnrealEnginePython/Private/UEPyUScriptStruct.cpp | 6 +++--- .../UnrealEnginePython/Private/UEPyUScriptStruct.h | 12 ++++++------ .../Private/UObject/UEPyDataTable.cpp | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp index f40258177..c8bfd3917 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp @@ -16,7 +16,7 @@ static PyObject *py_ue_uscriptstruct_get_field(ue_PyUScriptStruct *self, PyObjec if (!u_property) return PyErr_Format(PyExc_Exception, "unable to find property %s", name); - return ue_py_convert_property(u_property, self->data, index); + return ue_py_convert_property(u_property, self->u_struct_ptr, index); } static PyObject *py_ue_uscriptstruct_get_field_array_dim(ue_PyUScriptStruct *self, PyObject * args) @@ -49,7 +49,7 @@ static PyObject *py_ue_uscriptstruct_set_field(ue_PyUScriptStruct *self, PyObjec return PyErr_Format(PyExc_Exception, "unable to find property %s", name); - if (!ue_py_convert_pyobject(value, u_property, self->data, index)) + if (!ue_py_convert_pyobject(value, u_property, self->u_struct_ptr, index)) { return PyErr_Format(PyExc_Exception, "unable to set property %s", name); } @@ -80,7 +80,7 @@ static PyObject *py_ue_uscriptstruct_get_struct(ue_PyUScriptStruct *self, PyObje static PyObject *py_ue_uscriptstruct_clone(ue_PyUScriptStruct *self, PyObject * args) { - return py_ue_new_uscriptstruct(self->u_struct, self->data); + return py_ue_new_uscriptstruct(self->u_struct, self->u_struct_ptr); } PyObject *py_ue_uscriptstruct_as_dict(ue_PyUScriptStruct * self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h index 8630ab43c..93343ac47 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h @@ -5,13 +5,13 @@ typedef struct { PyObject_HEAD - /* Type-specific fields go here. */ - UScriptStruct *u_struct; - uint8 *data; - // if 1, data points to un-owned memory - int is_ptr; + /* Type-specific fields go here. */ + UScriptStruct *u_struct; + uint8 *u_struct_ptr; // points to the original struct memory (do not try this at home !) - uint8 *original_data; + uint8 *original_ptr; + // if set, the struct is responsible for freeing memory + int u_struct_owned; } ue_PyUScriptStruct; PyObject *py_ue_new_uscriptstruct(UScriptStruct *, uint8 *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyDataTable.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyDataTable.cpp index 11450d5b6..7e2ebcef5 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyDataTable.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyDataTable.cpp @@ -38,7 +38,7 @@ PyObject *py_ue_data_table_add_row(ue_PyUObject * self, PyObject * args) if (!row) return PyErr_Format(PyExc_Exception, "unable to add row"); data_table->RowStruct->InitializeStruct(row); - data_table->RowStruct->CopyScriptStruct(row, u_struct->data); + data_table->RowStruct->CopyScriptStruct(row, u_struct->u_struct_ptr); Py_RETURN_NONE; From 2951d21e7be787d8dff1f005fef1816156526f77 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Wed, 18 Jul 2018 18:47:12 +0200 Subject: [PATCH 262/538] added UnrealEnginePython plugin foler in sys.path --- Source/UnrealEnginePython/Private/UnrealEnginePython.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 0fcb1adf2..568b9903d 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -320,6 +320,12 @@ void FUnrealEnginePythonModule::StartupModule() { ScriptsPaths.Add(PluginScriptsPath); } + + // allows third parties to include their code in the main plugin directory + if (plugin->GetName() == "UnrealEnginePython") + { + ScriptsPaths.Add(plugin->GetBaseDir()); + } } #endif From bd84b4d43e44f4b3d4b766091caeb2aa3291d46b Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Thu, 19 Jul 2018 07:36:36 +0200 Subject: [PATCH 263/538] first round for 4.20 sull support --- .../Private/Slate/UEPyFSlateStyleSet.cpp | 2 ++ .../Private/Slate/UEPySNumericEntryBox.h | 2 +- .../Private/Slate/UEPySlate.cpp | 1 + .../Private/Slate/UEPySlate.h | 3 +-- .../Private/Slate/UEPySlateDelegate.h | 3 --- .../Private/UEPyAssetUserData.cpp | 4 ++++ .../Private/UObject/UEPyCapture.cpp | 2 ++ .../Private/UObject/UEPySequencer.cpp | 22 ++++++++++++++++++- .../Public/UnrealEnginePython.h | 3 --- .../UnrealEnginePython.Build.cs | 1 + 10 files changed, 33 insertions(+), 10 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp index ebea3c3d9..06de35eaf 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp @@ -1,6 +1,8 @@ #include "UEPyFSlateStyleSet.h" #include "SlateTypes.h" +#include "Runtime/SlateCore/Public/Styling/SlateStyleRegistry.h" +#include "Runtime/SlateCore/Public/Sound/SlateSound.h" #include "Map.h" static PyObject *py_ue_fslate_style_set_set_content_root(ue_PyFSlateStyleSet *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.h b/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.h index dd73a90c4..8ef90337b 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySNumericEntryBox.h @@ -3,7 +3,7 @@ #include "UEPySCompoundWidget.h" -#include "Runtime/Slate/Public/SlateFwd.h" +#include "Runtime/Slate/Public/Widgets/Input/SNumericEntryBox.h" extern PyTypeObject ue_PySNumericEntryBoxType; diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp index 9325796f1..7afa450b1 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp @@ -108,6 +108,7 @@ #include "Runtime/Core/Public/Misc/Attribute.h" #include "Runtime/Slate/Public/Framework/Application/SlateApplication.h" +#include "Runtime/SlateCore/Public/Styling/SlateStyleRegistry.h" FReply FPythonSlateDelegate::OnMouseEvent(const FGeometry &geometry, const FPointerEvent &pointer_event) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h index a74eb455d..b7ee58622 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.h @@ -2,8 +2,7 @@ #include "UEPyModule.h" -#include "SlateBasics.h" -#include "SlateExtras.h" +#include "Runtime/SlateCore/Public/Widgets/DeclarativeSyntaxSupport.h" #if WITH_EDITOR diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h index 575896ca7..5ba21a870 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h @@ -1,9 +1,6 @@ #pragma once -#include "SlateBasics.h" -#include "SlateExtras.h" - #include "PythonSmartDelegate.h" #include "UEPySlatePythonItem.h" diff --git a/Source/UnrealEnginePython/Private/UEPyAssetUserData.cpp b/Source/UnrealEnginePython/Private/UEPyAssetUserData.cpp index d774cd159..33adc2637 100644 --- a/Source/UnrealEnginePython/Private/UEPyAssetUserData.cpp +++ b/Source/UnrealEnginePython/Private/UEPyAssetUserData.cpp @@ -23,7 +23,11 @@ PyObject *py_ue_asset_import_data(ue_PyUObject * self, PyObject * args) PyDict_SetItemString(py_source_file, "absolute_filepath", PyUnicode_FromString(TCHAR_TO_UTF8(*import_data->ResolveImportFilename(import_info->SourceFiles[i].RelativeFilename, NULL)))); PyDict_SetItemString(py_source_file, "relative_filepath", PyUnicode_FromString(TCHAR_TO_UTF8(*import_info->SourceFiles[i].RelativeFilename))); PyDict_SetItemString(py_source_file, "timestamp", PyLong_FromLong(import_info->SourceFiles[i].Timestamp.ToUnixTimestamp())); +#if ENGINE_MINOR_VERSION > 19 + PyDict_SetItemString(py_source_file, "filehash", PyUnicode_FromString(TCHAR_TO_UTF8(*LexToString(import_info->SourceFiles[i].FileHash)))); +#else PyDict_SetItemString(py_source_file, "filehash", PyUnicode_FromString(TCHAR_TO_UTF8(*LexicalConversion::ToString(import_info->SourceFiles[i].FileHash)))); +#endif PyList_SetItem(ret, i, py_source_file); } return ret; diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp index 886c9dca5..fa26c6ac8 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp @@ -20,6 +20,8 @@ for a queue of UMovieSceneCapture objects #include "Slate/UEPySPythonEditorViewport.h" #include "GameFramework/GameModeBase.h" #include "GameFramework/GameMode.h" +#include "Runtime/CoreUObject/Public/Serialization/ObjectReader.h" +#include "Runtime/CoreUObject/Public/Serialization/ObjectWriter.h" struct FInEditorMultiCapture : TSharedFromThis diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index d139ee03c..07a285894 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -732,7 +732,9 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) PyObject *f_value = PyNumber_Float(py_value); float value = PyFloat_AsDouble(f_value); Py_DECREF(f_value); +#if ENGINE_MINOR_VERSION < 20 section_float->AddKey(time, value, (EMovieSceneKeyInterpolation)interpolation); +#endif Py_RETURN_NONE; } } @@ -744,7 +746,9 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) bool value = false; if (PyObject_IsTrue(py_value)) value = true; +#if ENGINE_MINOR_VERSION < 20 section_bool->AddKey(time, value, (EMovieSceneKeyInterpolation)interpolation); +#endif Py_RETURN_NONE; } } @@ -756,6 +760,7 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) bool unwind = (py_unwind && PyObject_IsTrue(py_unwind)); FTransform transform = py_transform->transform; +#if ENGINE_MINOR_VERSION < 20 FTransformKey tx = FTransformKey(EKey3DTransformChannel::Translation, EAxis::X, transform.GetLocation().X, unwind); FTransformKey ty = FTransformKey(EKey3DTransformChannel::Translation, EAxis::Y, transform.GetLocation().Y, unwind); FTransformKey tz = FTransformKey(EKey3DTransformChannel::Translation, EAxis::Z, transform.GetLocation().Z, unwind); @@ -777,7 +782,7 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) section_transform->AddKey(time, sx, (EMovieSceneKeyInterpolation)interpolation); section_transform->AddKey(time, sy, (EMovieSceneKeyInterpolation)interpolation); section_transform->AddKey(time, sz, (EMovieSceneKeyInterpolation)interpolation); - +#endif Py_RETURN_NONE; } } @@ -787,13 +792,16 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) if (ue_PyFVector *py_vector = py_ue_is_fvector(py_value)) { FVector vec = py_vector->vec; +#if ENGINE_MINOR_VERSION < 20 FVectorKey vx = FVectorKey(EKeyVectorChannel::X, vec.X); FVectorKey vy = FVectorKey(EKeyVectorChannel::Y, vec.Y); FVectorKey vz = FVectorKey(EKeyVectorChannel::Z, vec.Z); + section_vector->AddKey(time, vx, (EMovieSceneKeyInterpolation)interpolation); section_vector->AddKey(time, vy, (EMovieSceneKeyInterpolation)interpolation); section_vector->AddKey(time, vz, (EMovieSceneKeyInterpolation)interpolation); +#endif Py_RETURN_NONE; } @@ -1102,9 +1110,11 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar { ChannelAxis = EAxis::Z; } +#if ENGINE_MINOR_VERSION < 20 section->GetTranslationCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetLocation()[ChannelIndex]); section->GetRotationCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetRotation().Euler()[ChannelIndex]); section->GetScaleCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetScale3D()[ChannelIndex]); +#endif } #else CurveAPI.GetConvertedTransformCurveData(NodeName, Translation[0], Translation[1], Translation[2], EulerRotation[0], EulerRotation[1], EulerRotation[2], Scale[0], Scale[1], Scale[2]); @@ -1136,7 +1146,9 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar if (CurveIndex == 0) { CurveFloat = &Translation[ChannelIndex]; +#if ENGINE_MINOR_VERSION < 20 ChannelCurve = §ion->GetTranslationCurve(ChannelAxis); +#endif if (ChannelIndex == 1) { bNegative = true; @@ -1145,7 +1157,9 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar else if (CurveIndex == 1) { CurveFloat = &EulerRotation[ChannelIndex]; +#if ENGINE_MINOR_VERSION < 20 ChannelCurve = §ion->GetRotationCurve(ChannelAxis); +#endif if (ChannelIndex == 1 || ChannelIndex == 2) { bNegative = true; @@ -1154,7 +1168,9 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar else if (CurveIndex == 2) { CurveFloat = &Scale[ChannelIndex]; +#if ENGINE_MINOR_VERSION < 20 ChannelCurve = §ion->GetScaleCurve(ChannelAxis); +#endif } if (ChannelCurve != nullptr && CurveFloat != nullptr) @@ -1184,7 +1200,9 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar LeaveTangent = -LeaveTangent; } +#if ENGINE_MINOR_VERSION < 20 FMatineeImportTools::SetOrAddKey(*ChannelCurve, CurveFloat->Points[KeyIndex].InVal, CurveFloat->Points[KeyIndex].OutVal, ArriveTangent, LeaveTangent, CurveFloat->Points[KeyIndex].InterpMode); +#endif } ChannelCurve->RemoveRedundantKeys(KINDA_SMALL_NUMBER); @@ -1193,8 +1211,10 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar } } +#if ENGINE_MINOR_VERSION < 20 section->SetStartTime(MinTime); section->SetEndTime(MaxTime); +#endif FbxImporter->ReleaseScene(); ImportOptions->bConvertScene = bConverteScene; diff --git a/Source/UnrealEnginePython/Public/UnrealEnginePython.h b/Source/UnrealEnginePython/Public/UnrealEnginePython.h index 05946d66d..f16fc9a64 100644 --- a/Source/UnrealEnginePython/Public/UnrealEnginePython.h +++ b/Source/UnrealEnginePython/Public/UnrealEnginePython.h @@ -9,9 +9,6 @@ //#define UEPY_MEMORY_DEBUG 1 - - - #include "CoreMinimal.h" #include "ModuleManager.h" #include "Styling/SlateStyle.h" diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index ab6305799..5dc82cccf 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -144,6 +144,7 @@ public UnrealEnginePython(TargetInfo Target) "MovieSceneCapture", "Landscape", "Foliage", + "AIModule" // ... add private dependencies that you statically link with here ... } ); From 137b75f904dc19ecbec7b4fe7ab1c935248d7e46 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Thu, 19 Jul 2018 08:20:48 +0200 Subject: [PATCH 264/538] pass all structs by ref --- .../Slate/UEPyIStructureDetailsView.cpp | 4 +- .../Private/Slate/UEPySlate.cpp | 2 +- .../UnrealEnginePython/Private/UEPyModule.cpp | 8 +-- .../Private/UEPyUScriptStruct.cpp | 59 ++++++++----------- .../Private/UEPyUScriptStruct.h | 3 - 5 files changed, 31 insertions(+), 45 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp index 3832be0b8..be76f8f1b 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyIStructureDetailsView.cpp @@ -52,7 +52,7 @@ static PyObject *py_ue_istructure_details_view_set_structure_data(ue_PyIStructur Py_XDECREF(self->ue_py_struct); self->ue_py_struct = ue_py_struct; Py_INCREF(self->ue_py_struct); - TSharedPtr struct_scope = MakeShared(ue_py_struct->u_struct, ue_py_struct->data); + TSharedPtr struct_scope = MakeShared(ue_py_struct->u_struct, ue_py_struct->u_struct_ptr); FPropertyEditorModule& PropertyEditorModule = FModuleManager::GetModuleChecked("PropertyEditor"); self->istructure_details_view->SetStructureData(struct_scope); @@ -188,7 +188,7 @@ static int ue_py_istructure_details_view_init(ue_PyIStructureDetailsView *self, self->ue_py_struct = ue_py_struct; Py_INCREF(self->ue_py_struct); - TSharedPtr struct_scope = MakeShared(ue_py_struct->u_struct, ue_py_struct->data); + TSharedPtr struct_scope = MakeShared(ue_py_struct->u_struct, ue_py_struct->u_struct_ptr); FPropertyEditorModule& PropertyEditorModule = FModuleManager::GetModuleChecked("PropertyEditor"); new(&self->istructure_details_view) TSharedRef(PropertyEditorModule.CreateStructureDetailView(view_args, struct_view_args, struct_scope)); diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp index 7afa450b1..615186cfe 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp @@ -1190,7 +1190,7 @@ PyObject *py_unreal_engine_create_structure_detail_view(PyObject *self, PyObject { Py_INCREF(ue_py_struct); ret->ue_py_struct = ue_py_struct; - struct_scope = MakeShared(ue_py_struct->u_struct, ue_py_struct->data); + struct_scope = MakeShared(ue_py_struct->u_struct, ue_py_struct->u_struct_ptr); } FPropertyEditorModule& PropertyEditorModule = FModuleManager::GetModuleChecked("PropertyEditor"); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index eaa99c2a8..9cccab9ac 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -1368,7 +1368,7 @@ static PyObject *ue_PyUObject_call(ue_PyUObject *self, PyObject *args, PyObject } } } - return py_ue_wrap_uscriptstruct(u_script_struct, data); + return py_ue_new_uscriptstruct(u_script_struct, data); } return PyErr_Format(PyExc_Exception, "the specified uobject has no __call__ support"); } @@ -2472,7 +2472,7 @@ bool ue_py_convert_pyobject(PyObject *py_obj, UProperty *prop, uint8 *buffer, in if (casted_prop->Struct == py_u_struct->u_struct) { uint8 *dest = casted_prop->ContainerPtrToValuePtr(buffer, index); - FMemory::Memcpy(dest, py_u_struct->data, py_u_struct->u_struct->GetStructureSize()); + FMemory::Memcpy(dest, py_u_struct->u_struct_ptr, py_u_struct->u_struct->GetStructureSize()); return true; } } @@ -3288,7 +3288,7 @@ FGuid *ue_py_check_fguid(PyObject *py_obj) if (ue_py_struct->u_struct == FindObject(ANY_PACKAGE, UTF8_TO_TCHAR((char *)"Guid"))) { - return (FGuid*)ue_py_struct->data; + return (FGuid*)ue_py_struct->u_struct_ptr; } return nullptr; @@ -3303,7 +3303,7 @@ uint8 * do_ue_py_check_struct(PyObject *py_obj, UScriptStruct* chk_u_struct) if (ue_py_struct->u_struct == chk_u_struct) { - return ue_py_struct->data; + return ue_py_struct->u_struct_ptr; } return nullptr; diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp index c8bfd3917..33e0024cb 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp @@ -78,10 +78,7 @@ static PyObject *py_ue_uscriptstruct_get_struct(ue_PyUScriptStruct *self, PyObje Py_RETURN_UOBJECT(self->u_struct); } -static PyObject *py_ue_uscriptstruct_clone(ue_PyUScriptStruct *self, PyObject * args) -{ - return py_ue_new_uscriptstruct(self->u_struct, self->u_struct_ptr); -} +static PyObject *py_ue_uscriptstruct_clone(ue_PyUScriptStruct *, PyObject *); PyObject *py_ue_uscriptstruct_as_dict(ue_PyUScriptStruct * self, PyObject * args) { @@ -98,7 +95,7 @@ PyObject *py_ue_uscriptstruct_as_dict(ue_PyUScriptStruct * self, PyObject * args TFieldIterator SArgs(self->u_struct); for (; SArgs; ++SArgs) { - PyObject *struct_value = ue_py_convert_property(*SArgs, self->data, 0); + PyObject *struct_value = ue_py_convert_property(*SArgs, self->u_struct_ptr, 0); if (!struct_value) { Py_DECREF(py_struct_dict); @@ -143,7 +140,7 @@ static PyMethodDef ue_PyUScriptStruct_methods[] = { static PyObject *ue_PyUScriptStruct_str(ue_PyUScriptStruct *self) { return PyUnicode_FromFormat("", - TCHAR_TO_UTF8(*self->u_struct->GetName()), self->u_struct->GetStructureSize(), self->data); + TCHAR_TO_UTF8(*self->u_struct->GetName()), self->u_struct->GetStructureSize(), self->u_struct_ptr); } static UProperty *get_field_from_name(UScriptStruct *u_struct, char *name) @@ -193,7 +190,7 @@ static PyObject *ue_PyUScriptStruct_getattro(ue_PyUScriptStruct *self, PyObject { // swallow previous exception PyErr_Clear(); - return ue_py_convert_property(u_property, self->data, 0); + return ue_py_convert_property(u_property, self->u_struct_ptr, 0); } } } @@ -210,7 +207,7 @@ static int ue_PyUScriptStruct_setattro(ue_PyUScriptStruct *self, PyObject *attr_ UProperty *u_property = get_field_from_name(self->u_struct, (char *)attr); if (u_property) { - if (ue_py_convert_pyobject(value, u_property, self->data, 0)) + if (ue_py_convert_pyobject(value, u_property, self->u_struct_ptr, 0)) { return 0; } @@ -229,9 +226,9 @@ static void ue_PyUScriptStruct_dealloc(ue_PyUScriptStruct *self) #if defined(UEPY_MEMORY_DEBUG) UE_LOG(LogPython, Warning, TEXT("Destroying ue_PyUScriptStruct %p with size %d"), self, self->u_struct->GetStructureSize()); #endif - if (!self->is_ptr) + if (self->u_struct_owned) { - FMemory::Free(self->data); + FMemory::Free(self->u_struct_ptr); } Py_TYPE(self)->tp_free((PyObject *)self); } @@ -289,25 +286,20 @@ static int ue_py_uscriptstruct_init(ue_PyUScriptStruct *self, PyObject *args, Py } self->u_struct = (UScriptStruct *)py_u_obj->ue_object; - self->data = (uint8*)FMemory::Malloc(self->u_struct->GetStructureSize()); - self->u_struct->InitializeStruct(self->data); + self->u_struct_ptr = (uint8*)FMemory::Malloc(self->u_struct->GetStructureSize()); + self->u_struct->InitializeStruct(self->u_struct_ptr); #if WITH_EDITOR - self->u_struct->InitializeDefaultValue(self->data); + self->u_struct->InitializeDefaultValue(self->u_struct_ptr); #endif - self->original_data = self->data; - self->is_ptr = 0; + self->u_struct_owned = 1; return 0; } -// get the original pointer of a struct +// get the original pointer of a struct (dumb function for backward compatibility with older scripts from +// a dark age where strctures were passed by value) static PyObject *py_ue_uscriptstruct_ref(ue_PyUScriptStruct *self, PyObject * args) { - ue_PyUScriptStruct *ret = (ue_PyUScriptStruct *)PyObject_New(ue_PyUScriptStruct, &ue_PyUScriptStructType); - ret->u_struct = self->u_struct; - ret->data = self->original_data; - ret->original_data = ret->data; - ret->is_ptr = 1; - return (PyObject *)ret; + return (PyObject *)self; } static PyObject *ue_py_uscriptstruct_richcompare(ue_PyUScriptStruct *u_struct1, PyObject *py_obj, int op) @@ -318,7 +310,7 @@ static PyObject *ue_py_uscriptstruct_richcompare(ue_PyUScriptStruct *u_struct1, return PyErr_Format(PyExc_NotImplementedError, "can only compare with another UScriptStruct"); } - bool equals = (u_struct1->u_struct == u_struct2->u_struct && !memcmp(u_struct1->data, u_struct2->data, u_struct1->u_struct->GetStructureSize())); + bool equals = (u_struct1->u_struct == u_struct2->u_struct && !memcmp(u_struct1->u_struct_ptr, u_struct2->u_struct_ptr, u_struct1->u_struct->GetStructureSize())); if (op == Py_EQ) { @@ -358,23 +350,20 @@ PyObject *py_ue_new_uscriptstruct(UScriptStruct *u_struct, uint8 *data) { ue_PyUScriptStruct *ret = (ue_PyUScriptStruct *)PyObject_New(ue_PyUScriptStruct, &ue_PyUScriptStructType); ret->u_struct = u_struct; - uint8 *struct_data = (uint8*)FMemory::Malloc(u_struct->GetStructureSize()); - ret->u_struct->InitializeStruct(struct_data); - ret->u_struct->CopyScriptStruct(struct_data, data); - ret->data = struct_data; - ret->original_data = data; - ret->is_ptr = 0; + ret->u_struct_ptr = data; + ret->u_struct_owned = 0; return (PyObject *)ret; } -// generate a new python UScriptStruct from an already allocated data block -PyObject *py_ue_wrap_uscriptstruct(UScriptStruct *u_struct, uint8 *data) +static PyObject *py_ue_uscriptstruct_clone(ue_PyUScriptStruct *self, PyObject * args) { ue_PyUScriptStruct *ret = (ue_PyUScriptStruct *)PyObject_New(ue_PyUScriptStruct, &ue_PyUScriptStructType); - ret->u_struct = u_struct; - ret->data = data; - ret->original_data = data; - ret->is_ptr = 0; + ret->u_struct = self->u_struct; + uint8 *struct_data = (uint8*)FMemory::Malloc(self->u_struct->GetStructureSize()); + ret->u_struct->InitializeStruct(struct_data); + ret->u_struct->CopyScriptStruct(struct_data, self->u_struct_ptr); + ret->u_struct_ptr = struct_data; + ret->u_struct_owned = 1; return (PyObject *)ret; } diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h index 93343ac47..28f0689cf 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h @@ -8,14 +8,11 @@ typedef struct /* Type-specific fields go here. */ UScriptStruct *u_struct; uint8 *u_struct_ptr; - // points to the original struct memory (do not try this at home !) - uint8 *original_ptr; // if set, the struct is responsible for freeing memory int u_struct_owned; } ue_PyUScriptStruct; PyObject *py_ue_new_uscriptstruct(UScriptStruct *, uint8 *); -PyObject *py_ue_wrap_uscriptstruct(UScriptStruct *, uint8 *); ue_PyUScriptStruct *py_ue_is_uscriptstruct(PyObject *); UProperty *ue_struct_get_field_from_name(UScriptStruct *, char *); From 16ff08583cccfc1aba146db7e404b5866f87df4d Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Thu, 19 Jul 2018 09:35:14 +0200 Subject: [PATCH 265/538] fixed user defined struct --- .../UnrealEnginePython/Private/UEPyUScriptStruct.cpp | 12 ++++++++++++ .../UnrealEnginePython/Private/UEPyUScriptStruct.h | 1 + .../Private/UObject/UEPyUserDefinedStruct.cpp | 4 ++-- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp index 33e0024cb..e26a2aecd 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp @@ -355,6 +355,18 @@ PyObject *py_ue_new_uscriptstruct(UScriptStruct *u_struct, uint8 *data) return (PyObject *)ret; } +PyObject *py_ue_new_owned_uscriptstruct(UScriptStruct *u_struct, uint8 *data) +{ + ue_PyUScriptStruct *ret = (ue_PyUScriptStruct *)PyObject_New(ue_PyUScriptStruct, &ue_PyUScriptStructType); + ret->u_struct = u_struct; + uint8 *struct_data = (uint8*)FMemory::Malloc(u_struct->GetStructureSize()); + ret->u_struct->InitializeStruct(struct_data); + ret->u_struct->CopyScriptStruct(struct_data, data); + ret->u_struct_ptr = struct_data; + ret->u_struct_owned = 1; + return (PyObject *)ret; +} + static PyObject *py_ue_uscriptstruct_clone(ue_PyUScriptStruct *self, PyObject * args) { ue_PyUScriptStruct *ret = (ue_PyUScriptStruct *)PyObject_New(ue_PyUScriptStruct, &ue_PyUScriptStructType); diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h index 28f0689cf..9f8952d1c 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h @@ -13,6 +13,7 @@ typedef struct } ue_PyUScriptStruct; PyObject *py_ue_new_uscriptstruct(UScriptStruct *, uint8 *); +PyObject *py_ue_new_owned_uscriptstruct(UScriptStruct *, uint8 *); ue_PyUScriptStruct *py_ue_is_uscriptstruct(PyObject *); UProperty *ue_struct_get_field_from_name(UScriptStruct *, char *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyUserDefinedStruct.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyUserDefinedStruct.cpp index 75cedf6e6..d62ab63e5 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyUserDefinedStruct.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyUserDefinedStruct.cpp @@ -33,7 +33,7 @@ PyObject *py_ue_struct_add_variable(ue_PyUObject * self, PyObject * args) FStructureEditorUtils::OnStructureChanged(u_struct, FStructureEditorUtils::EStructureEditorChangeInfo::AddedVariable); - return py_ue_new_uscriptstruct(FindObject(ANY_PACKAGE, UTF8_TO_TCHAR((char *)"Guid")), (uint8 *)&var->VarGuid); + return py_ue_new_owned_uscriptstruct(FindObject(ANY_PACKAGE, UTF8_TO_TCHAR((char *)"Guid")), (uint8 *)&var->VarGuid); } PyObject *py_ue_struct_get_variables(ue_PyUObject * self, PyObject * args) @@ -50,7 +50,7 @@ PyObject *py_ue_struct_get_variables(ue_PyUObject * self, PyObject * args) PyObject *py_list = PyList_New(0); for (FStructVariableDescription description : variables) { - PyList_Append(py_list, py_ue_new_uscriptstruct(FStructVariableDescription::StaticStruct(), (uint8*)&description)); + PyList_Append(py_list, py_ue_new_owned_uscriptstruct(FStructVariableDescription::StaticStruct(), (uint8*)&description)); } return py_list; } From 217386b823025218134ca2a1d87c8f1d1698d4af Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Thu, 19 Jul 2018 09:38:21 +0200 Subject: [PATCH 266/538] fixed ref() usage --- Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp index e26a2aecd..4e945c9a6 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp @@ -299,6 +299,7 @@ static int ue_py_uscriptstruct_init(ue_PyUScriptStruct *self, PyObject *args, Py // a dark age where strctures were passed by value) static PyObject *py_ue_uscriptstruct_ref(ue_PyUScriptStruct *self, PyObject * args) { + Py_INCREF(self); return (PyObject *)self; } From b4705aba02b75f43b210340e678f8b601a8d3408 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Thu, 19 Jul 2018 11:41:54 +0200 Subject: [PATCH 267/538] first round of 4.20 sequencer fixes --- .../Private/UObject/UEPySequencer.cpp | 59 +++++++++++++++++-- 1 file changed, 54 insertions(+), 5 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index 07a285894..820978f01 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -711,14 +711,24 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) ue_py_check(self); - float time; + PyObject *py_value; int interpolation = 0; PyObject *py_unwind = nullptr; + +#if ENGINE_MINOR_VERSION < 20 + float time; if (!PyArg_ParseTuple(args, "fO|iO:sequencer_section_add_key", &time, &py_value, &interpolation, &py_unwind)) { return nullptr; } +#else + unsigned int frame_number; + if (!PyArg_ParseTuple(args, "IO|iO:sequencer_section_add_key", &frame_number, &py_value, &interpolation, &py_unwind)) + { + return nullptr; + } +#endif if (!self->ue_object->IsA()) return PyErr_Format(PyExc_Exception, "uobject is not a MovieSceneSection"); @@ -734,8 +744,15 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) Py_DECREF(f_value); #if ENGINE_MINOR_VERSION < 20 section_float->AddKey(time, value, (EMovieSceneKeyInterpolation)interpolation); -#endif Py_RETURN_NONE; +#else + FFrameNumber FrameNum; + FrameNum.Value = frame_number; + FMovieSceneFloatChannel &Channel = (FMovieSceneFloatChannel &)section_float->GetChannel(); + int32 RetValue = Channel.AddLinearKey(FrameNum, value); + return PyLong_FromLong(RetValue); +#endif + } } @@ -748,6 +765,11 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) value = true; #if ENGINE_MINOR_VERSION < 20 section_bool->AddKey(time, value, (EMovieSceneKeyInterpolation)interpolation); +#else + FFrameNumber FrameNum; + FrameNum.Value = frame_number; + int32 RetValue = section_bool->GetChannel().GetData().AddKey(FrameNum, value); + return PyLong_FromLong(RetValue); #endif Py_RETURN_NONE; } @@ -782,6 +804,8 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) section_transform->AddKey(time, sx, (EMovieSceneKeyInterpolation)interpolation); section_transform->AddKey(time, sy, (EMovieSceneKeyInterpolation)interpolation); section_transform->AddKey(time, sz, (EMovieSceneKeyInterpolation)interpolation); +#else + // TODO #endif Py_RETURN_NONE; } @@ -801,6 +825,16 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) section_vector->AddKey(time, vx, (EMovieSceneKeyInterpolation)interpolation); section_vector->AddKey(time, vy, (EMovieSceneKeyInterpolation)interpolation); section_vector->AddKey(time, vz, (EMovieSceneKeyInterpolation)interpolation); +#else + FFrameNumber FrameNum; + FrameNum.Value = frame_number; + FMovieSceneFloatChannel &Channel = (FMovieSceneFloatChannel &)section_vector->GetChannel(0); + int32 RetValueX = Channel.AddLinearKey(FrameNum, vec.X); + Channel = (FMovieSceneFloatChannel &)section_vector->GetChannel(1); + int32 RetValueY = Channel.AddLinearKey(FrameNum, vec.Y); + Channel = (FMovieSceneFloatChannel &)section_vector->GetChannel(2); + int32 RetValueZ = Channel.AddLinearKey(FrameNum, vec.Z); + return Py_BuildValue("(fff)", RetValueX, RetValueY, RetValueZ); #endif Py_RETURN_NONE; @@ -950,7 +984,7 @@ PyObject *py_ue_sequencer_remove_track(ue_PyUObject *self, PyObject * args) Py_RETURN_TRUE; Py_RETURN_FALSE; - } +} #endif @@ -1114,6 +1148,8 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar section->GetTranslationCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetLocation()[ChannelIndex]); section->GetRotationCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetRotation().Euler()[ChannelIndex]); section->GetScaleCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetScale3D()[ChannelIndex]); +#else + // TODO #endif } #else @@ -1148,6 +1184,8 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar CurveFloat = &Translation[ChannelIndex]; #if ENGINE_MINOR_VERSION < 20 ChannelCurve = §ion->GetTranslationCurve(ChannelAxis); +#else + // TODO #endif if (ChannelIndex == 1) { @@ -1159,6 +1197,8 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar CurveFloat = &EulerRotation[ChannelIndex]; #if ENGINE_MINOR_VERSION < 20 ChannelCurve = §ion->GetRotationCurve(ChannelAxis); +#else + // TODO #endif if (ChannelIndex == 1 || ChannelIndex == 2) { @@ -1170,6 +1210,8 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar CurveFloat = &Scale[ChannelIndex]; #if ENGINE_MINOR_VERSION < 20 ChannelCurve = §ion->GetScaleCurve(ChannelAxis); +#else + // TODO #endif } @@ -1202,6 +1244,8 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar #if ENGINE_MINOR_VERSION < 20 FMatineeImportTools::SetOrAddKey(*ChannelCurve, CurveFloat->Points[KeyIndex].InVal, CurveFloat->Points[KeyIndex].OutVal, ArriveTangent, LeaveTangent, CurveFloat->Points[KeyIndex].InterpMode); +#else + // TODO #endif } @@ -1214,6 +1258,11 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar #if ENGINE_MINOR_VERSION < 20 section->SetStartTime(MinTime); section->SetEndTime(MaxTime); +#else + // TODO + const TRange Range; + //Range.SetLowerBoundValue(); + section->SetRange(Range); #endif FbxImporter->ReleaseScene(); @@ -1221,13 +1270,13 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar ImportOptions->bConvertSceneUnit = bConverteScene; ImportOptions->bForceFrontXAxis = bConverteScene; Py_RETURN_NONE; - } + } FbxImporter->ReleaseScene(); ImportOptions->bConvertScene = bConverteScene; ImportOptions->bConvertSceneUnit = bConverteSceneUnit; ImportOptions->bForceFrontXAxis = bForceFrontXAxis; return PyErr_Format(PyExc_Exception, "unable to find specified node in Fbx file"); - } +} #endif From 98b6b688dd0cd955e3c9b119a7cc26f3ec191e2e Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Thu, 19 Jul 2018 12:28:37 +0200 Subject: [PATCH 268/538] more sequencer porting for 4.20 --- .../UnrealEnginePython/Private/UEPyModule.cpp | 1 + .../Private/UObject/UEPySequencer.cpp | 67 +++++++++++++++++-- .../Private/UObject/UEPySequencer.h | 1 + 3 files changed, 63 insertions(+), 6 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 9cccab9ac..1fcef3a27 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -1023,6 +1023,7 @@ static PyMethodDef ue_PyUObject_methods[] = { { "sequencer_possessable_tracks", (PyCFunction)py_ue_sequencer_possessable_tracks, METH_VARARGS, "" }, { "sequencer_get_camera_cut_track", (PyCFunction)py_ue_sequencer_get_camera_cut_track, METH_VARARGS, "" }, #if WITH_EDITOR + { "sequencer_set_playback_range", (PyCFunction)py_ue_sequencer_set_playback_range, METH_VARARGS, "" }, { "sequencer_folders", (PyCFunction)py_ue_sequencer_folders, METH_VARARGS, "" }, { "sequencer_create_folder", (PyCFunction)py_ue_sequencer_create_folder, METH_VARARGS, "" }, { "sequencer_set_display_name", (PyCFunction)py_ue_sequencer_set_display_name, METH_VARARGS, "" }, diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index 820978f01..ce1320ae7 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -706,6 +706,43 @@ PyObject *py_ue_sequencer_add_master_track(ue_PyUObject *self, PyObject * args) } #if WITH_EDITOR + +PyObject *py_ue_sequencer_set_playback_range(ue_PyUObject *self, PyObject * args) +{ + + ue_py_check(self); + + ULevelSequence *seq = ue_py_check_type(self); + if (!seq) + return PyErr_Format(PyExc_Exception, "uobject is not a LevelSequence"); + UMovieScene *scene = seq->GetMovieScene(); + +#if ENGINE_MINOR_VERSION < 20 + float start_time; + float end_time; + if (!PyArg_ParseTuple(args, "ff:sequencer_set_playback_range", &start_time, end_time)) + { + return nullptr; + } + + scene->SetPlaybackRange(start_time, end_time); +#else + unsigned int start_frame; + int duration; + if (!PyArg_ParseTuple(args, "Ii:sequencer_set_playback_range", &start_frame, &duration)) + { + return nullptr; + } + + FFrameNumber StartFrame; + StartFrame.Value = start_frame; + scene->SetPlaybackRange(StartFrame, duration); +#endif + + Py_RETURN_NONE; +} + + PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) { @@ -805,7 +842,21 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) section_transform->AddKey(time, sy, (EMovieSceneKeyInterpolation)interpolation); section_transform->AddKey(time, sz, (EMovieSceneKeyInterpolation)interpolation); #else - // TODO + FFrameNumber FrameNum; + FrameNum.Value = frame_number; + int32 RetValueTX = section_transform->GetChannelProxy().GetChannel(0)->AddLinearKey(FrameNum, transform.GetLocation().X); + int32 RetValueTY = section_transform->GetChannelProxy().GetChannel(1)->AddLinearKey(FrameNum, transform.GetLocation().Y); + int32 RetValueTZ = section_transform->GetChannelProxy().GetChannel(2)->AddLinearKey(FrameNum, transform.GetLocation().Z); + + int32 RetValueRX = section_transform->GetChannelProxy().GetChannel(3)->AddLinearKey(FrameNum, transform.GetRotation().Euler().X); + int32 RetValueRY = section_transform->GetChannelProxy().GetChannel(4)->AddLinearKey(FrameNum, transform.GetRotation().Euler().Y); + int32 RetValueRZ = section_transform->GetChannelProxy().GetChannel(5)->AddLinearKey(FrameNum, transform.GetRotation().Euler().Z); + + int32 RetValueSX = section_transform->GetChannelProxy().GetChannel(6)->AddLinearKey(FrameNum, transform.GetScale3D().X); + int32 RetValueSY = section_transform->GetChannelProxy().GetChannel(7)->AddLinearKey(FrameNum, transform.GetScale3D().Y); + int32 RetValueSZ = section_transform->GetChannelProxy().GetChannel(8)->AddLinearKey(FrameNum, transform.GetScale3D().Z); + + return Py_BuildValue("((III)(III)(III))", RetValueTX, RetValueTY, RetValueTZ, RetValueRX, RetValueRY, RetValueRZ, RetValueSX, RetValueSY, RetValueSZ); #endif Py_RETURN_NONE; } @@ -1075,6 +1126,10 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar { ue_py_check(self); +#if ENGINE_MINOR_VERSION >= 20 + return PyErr_Format(PyExc_Exception, "sequencer_import_fbx_transform still not supported on 4.20"); +#endif + char *filename; char *nodename; PyObject *py_force_front_x_axis = nullptr; @@ -1149,7 +1204,7 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar section->GetRotationCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetRotation().Euler()[ChannelIndex]); section->GetScaleCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetScale3D()[ChannelIndex]); #else - // TODO + // TODO ?? #endif } #else @@ -1185,7 +1240,7 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar #if ENGINE_MINOR_VERSION < 20 ChannelCurve = §ion->GetTranslationCurve(ChannelAxis); #else - // TODO + // TODO ??? #endif if (ChannelIndex == 1) { @@ -1198,7 +1253,7 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar #if ENGINE_MINOR_VERSION < 20 ChannelCurve = §ion->GetRotationCurve(ChannelAxis); #else - // TODO + // TODO ??? #endif if (ChannelIndex == 1 || ChannelIndex == 2) { @@ -1211,7 +1266,7 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar #if ENGINE_MINOR_VERSION < 20 ChannelCurve = §ion->GetScaleCurve(ChannelAxis); #else - // TODO + // TODO ??? #endif } @@ -1245,7 +1300,7 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar #if ENGINE_MINOR_VERSION < 20 FMatineeImportTools::SetOrAddKey(*ChannelCurve, CurveFloat->Points[KeyIndex].InVal, CurveFloat->Points[KeyIndex].OutVal, ArriveTangent, LeaveTangent, CurveFloat->Points[KeyIndex].InterpMode); #else - // TODO + // TODO ??? #endif } diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h index 54c748b94..cd09e7864 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h @@ -9,6 +9,7 @@ PyObject *py_ue_sequencer_possessable_tracks(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_track_sections(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_get_camera_cut_track(ue_PyUObject *, PyObject *); #if WITH_EDITOR +PyObject *py_ue_sequencer_set_playback_range(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_folders(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_create_folder(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_set_display_name(ue_PyUObject *, PyObject *); From 281bf42505e7c74c4e8f9373bdf459f5902cc7a6 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Thu, 19 Jul 2018 12:33:19 +0200 Subject: [PATCH 269/538] fixed 4.19 --- Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index ce1320ae7..9dd2f3e0d 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -720,7 +720,7 @@ PyObject *py_ue_sequencer_set_playback_range(ue_PyUObject *self, PyObject * args #if ENGINE_MINOR_VERSION < 20 float start_time; float end_time; - if (!PyArg_ParseTuple(args, "ff:sequencer_set_playback_range", &start_time, end_time)) + if (!PyArg_ParseTuple(args, "ff:sequencer_set_playback_range", &start_time, &end_time)) { return nullptr; } From 21e51d7854ec93e595ae26ce4091fc25369070b0 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Thu, 19 Jul 2018 12:46:40 +0200 Subject: [PATCH 270/538] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fbcd00934..714b8adda 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Once the plugin is installed and enabled, you get access to the 'PythonConsole' All of the exposed engine features are under the 'unreal_engine' virtual module (it is completely coded in c into the plugin, so do not expect to run 'import unreal_engine' from a standard python shell) -The currently supported Unreal Engine versions are 4.12, 4.13, 4.14, 4.15, 4.16, 4.17, 4.18 and 4.19 +The currently supported Unreal Engine versions are 4.12, 4.13, 4.14, 4.15, 4.16, 4.17, 4.18, 4.19 and 4.20 We support official python.org releases as well as IntelPython and Anaconda distributions. From c9b0177bfb8c1de25590e890e8a3017b64cd6ecc Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Thu, 19 Jul 2018 13:43:06 +0200 Subject: [PATCH 271/538] 4.20 improvements --- .../Private/UObject/UEPySequencer.cpp | 41 ++++++++----------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index 9dd2f3e0d..c8d22d44f 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -734,8 +734,7 @@ PyObject *py_ue_sequencer_set_playback_range(ue_PyUObject *self, PyObject * args return nullptr; } - FFrameNumber StartFrame; - StartFrame.Value = start_frame; + FFrameNumber StartFrame((int32)start_frame); scene->SetPlaybackRange(StartFrame, duration); #endif @@ -783,10 +782,9 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) section_float->AddKey(time, value, (EMovieSceneKeyInterpolation)interpolation); Py_RETURN_NONE; #else - FFrameNumber FrameNum; - FrameNum.Value = frame_number; + FFrameNumber FrameNum((int32)frame_number); FMovieSceneFloatChannel &Channel = (FMovieSceneFloatChannel &)section_float->GetChannel(); - int32 RetValue = Channel.AddLinearKey(FrameNum, value); + int32 RetValue = Channel.AddCubicKey(FrameNum, value); return PyLong_FromLong(RetValue); #endif @@ -803,8 +801,7 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) #if ENGINE_MINOR_VERSION < 20 section_bool->AddKey(time, value, (EMovieSceneKeyInterpolation)interpolation); #else - FFrameNumber FrameNum; - FrameNum.Value = frame_number; + FFrameNumber FrameNum((int32)frame_number); int32 RetValue = section_bool->GetChannel().GetData().AddKey(FrameNum, value); return PyLong_FromLong(RetValue); #endif @@ -842,19 +839,18 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) section_transform->AddKey(time, sy, (EMovieSceneKeyInterpolation)interpolation); section_transform->AddKey(time, sz, (EMovieSceneKeyInterpolation)interpolation); #else - FFrameNumber FrameNum; - FrameNum.Value = frame_number; - int32 RetValueTX = section_transform->GetChannelProxy().GetChannel(0)->AddLinearKey(FrameNum, transform.GetLocation().X); - int32 RetValueTY = section_transform->GetChannelProxy().GetChannel(1)->AddLinearKey(FrameNum, transform.GetLocation().Y); - int32 RetValueTZ = section_transform->GetChannelProxy().GetChannel(2)->AddLinearKey(FrameNum, transform.GetLocation().Z); + FFrameNumber FrameNum((int32)frame_number); + int32 RetValueTX = section_transform->GetChannelProxy().GetChannel(0)->AddCubicKey(FrameNum, transform.GetLocation().X); + int32 RetValueTY = section_transform->GetChannelProxy().GetChannel(1)->AddCubicKey(FrameNum, transform.GetLocation().Y); + int32 RetValueTZ = section_transform->GetChannelProxy().GetChannel(2)->AddCubicKey(FrameNum, transform.GetLocation().Z); - int32 RetValueRX = section_transform->GetChannelProxy().GetChannel(3)->AddLinearKey(FrameNum, transform.GetRotation().Euler().X); - int32 RetValueRY = section_transform->GetChannelProxy().GetChannel(4)->AddLinearKey(FrameNum, transform.GetRotation().Euler().Y); - int32 RetValueRZ = section_transform->GetChannelProxy().GetChannel(5)->AddLinearKey(FrameNum, transform.GetRotation().Euler().Z); + int32 RetValueRX = section_transform->GetChannelProxy().GetChannel(3)->AddCubicKey(FrameNum, transform.GetRotation().Euler().X); + int32 RetValueRY = section_transform->GetChannelProxy().GetChannel(4)->AddCubicKey(FrameNum, transform.GetRotation().Euler().Y); + int32 RetValueRZ = section_transform->GetChannelProxy().GetChannel(5)->AddCubicKey(FrameNum, transform.GetRotation().Euler().Z); - int32 RetValueSX = section_transform->GetChannelProxy().GetChannel(6)->AddLinearKey(FrameNum, transform.GetScale3D().X); - int32 RetValueSY = section_transform->GetChannelProxy().GetChannel(7)->AddLinearKey(FrameNum, transform.GetScale3D().Y); - int32 RetValueSZ = section_transform->GetChannelProxy().GetChannel(8)->AddLinearKey(FrameNum, transform.GetScale3D().Z); + int32 RetValueSX = section_transform->GetChannelProxy().GetChannel(6)->AddCubicKey(FrameNum, transform.GetScale3D().X); + int32 RetValueSY = section_transform->GetChannelProxy().GetChannel(7)->AddCubicKey(FrameNum, transform.GetScale3D().Y); + int32 RetValueSZ = section_transform->GetChannelProxy().GetChannel(8)->AddCubicKey(FrameNum, transform.GetScale3D().Z); return Py_BuildValue("((III)(III)(III))", RetValueTX, RetValueTY, RetValueTZ, RetValueRX, RetValueRY, RetValueRZ, RetValueSX, RetValueSY, RetValueSZ); #endif @@ -877,14 +873,13 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) section_vector->AddKey(time, vy, (EMovieSceneKeyInterpolation)interpolation); section_vector->AddKey(time, vz, (EMovieSceneKeyInterpolation)interpolation); #else - FFrameNumber FrameNum; - FrameNum.Value = frame_number; + FFrameNumber FrameNum((int32)frame_number); FMovieSceneFloatChannel &Channel = (FMovieSceneFloatChannel &)section_vector->GetChannel(0); - int32 RetValueX = Channel.AddLinearKey(FrameNum, vec.X); + int32 RetValueX = Channel.AddCubicKey(FrameNum, vec.X); Channel = (FMovieSceneFloatChannel &)section_vector->GetChannel(1); - int32 RetValueY = Channel.AddLinearKey(FrameNum, vec.Y); + int32 RetValueY = Channel.AddCubicKey(FrameNum, vec.Y); Channel = (FMovieSceneFloatChannel &)section_vector->GetChannel(2); - int32 RetValueZ = Channel.AddLinearKey(FrameNum, vec.Z); + int32 RetValueZ = Channel.AddCubicKey(FrameNum, vec.Z); return Py_BuildValue("(fff)", RetValueX, RetValueY, RetValueZ); #endif From 530efa6e674719770f422aadfef8261250de55db Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Thu, 19 Jul 2018 14:15:45 +0200 Subject: [PATCH 272/538] fixed 4.15 --- .../Private/Slate/UEPySPythonMultiColumnTableRow.h | 10 +++++++--- .../UnrealEnginePython/Private/Slate/UEPySWidget.cpp | 2 ++ .../UnrealEnginePython/Private/Slate/UEPySWindow.cpp | 2 +- .../Private/Slate/UEPySlateDelegate.h | 5 ++++- .../Private/SlateApplication/UEPyFSlateApplication.cpp | 1 + Source/UnrealEnginePython/Private/UEPyEngine.cpp | 2 ++ Source/UnrealEnginePython/Private/UEPyModule.cpp | 1 + Source/UnrealEnginePython/Private/UEPyTicker.h | 1 + .../UnrealEnginePython/Private/UObject/UEPyCapture.cpp | 2 ++ .../UnrealEnginePython/Private/UObject/UEPyWorld.cpp | 1 + .../UnrealEnginePython/Private/UnrealEnginePython.cpp | 4 ++++ 11 files changed, 26 insertions(+), 5 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h index 8b2f0b5aa..c9342730f 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySPythonMultiColumnTableRow.h @@ -1,10 +1,14 @@ #pragma once #include "UEPySCompoundWidget.h" +#include "UnrealEnginePython.h" +#include "Runtime/Slate/Public/Widgets/Views/STableRow.h" +#include "Runtime/Slate/Public/Widgets/Views/STableViewBase.h" +#include "Runtime/Slate/Public/Widgets/Views/SListView.h" extern PyTypeObject ue_PySCompoundWidgetType; extern PyTypeObject ue_PySTableViewBaseType; -class SPythonMultiColumnTableRow : public SMultiColumnTableRow> +class SPythonMultiColumnTableRow : public SMultiColumnTableRow> { public: SLATE_BEGIN_ARGS(SPythonMultiColumnTableRow) {} @@ -13,7 +17,7 @@ class SPythonMultiColumnTableRow : public SMultiColumnTableRow& InOwnerTableView, PyObject *in_py_self) { SetPyObject(in_py_self); - SMultiColumnTableRow>::Construct(FSuperRowType::FArguments(), InOwnerTableView); + SMultiColumnTableRow>::Construct(FSuperRowType::FArguments(), InOwnerTableView); } TSharedRef GenerateWidgetForColumn(const FName& ColumnName) @@ -91,7 +95,7 @@ class SPythonMultiColumnTableRow : public SMultiColumnTableRow RowPythonObject; + TSharedPtr RowPythonObject; }; typedef struct diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp index 651a9e341..62c7a3e33 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWidget.cpp @@ -2,6 +2,8 @@ #include "UEPySWidget.h" +#include "Runtime/Slate/Public/Framework/Application/SlateApplication.h" + static PyObject *ue_PySWidget_str(ue_PySWidget *self) { #if PY_MAJOR_VERSION >= 3 diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp index 0a1f1886b..5e1fec5b9 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySWindow.cpp @@ -9,7 +9,7 @@ #include "Windows/AllowWindowsPlatformTypes.h" #endif - +#include "Runtime/Slate/Public/Framework/Application/SlateApplication.h" static PyObject *py_ue_swindow_set_title(ue_PySWindow *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h b/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h index 5ba21a870..f2290e0d8 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlateDelegate.h @@ -4,7 +4,10 @@ #include "PythonSmartDelegate.h" #include "UEPySlatePythonItem.h" - +#include "Runtime/Slate/Public/Widgets/Views/SHeaderRow.h" +#include "Runtime/Slate/Public/Widgets/Docking/SDockTab.h" +#include "Runtime/Slate/Public/Widgets/Views/STableRow.h" +#include "Runtime/Slate/Public/Framework/MultiBox/MultiBoxExtender.h" #include "AssetData.h" void unreal_engine_py_log_error(); diff --git a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp index e05cfe8fe..0bd05ecea 100644 --- a/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp +++ b/Source/UnrealEnginePython/Private/SlateApplication/UEPyFSlateApplication.cpp @@ -2,6 +2,7 @@ #include "UEPyFSlateApplication.h" #include "Slate/UEPySWidget.h" +#include "Runtime/Slate/Public/Framework/Application/SlateApplication.h" #include "Runtime/SlateRHIRenderer/Public/Interfaces/ISlateRHIRendererModule.h" static PyObject *py_ue_get_average_delta_time(PyObject *cls, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index eff9f23d8..9eaba5eee 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -25,6 +25,8 @@ #include "Runtime/Core/Public/Mac/CocoaThread.h" #endif +#include "Runtime/Slate/Public/Framework/Application/SlateApplication.h" +#include "Runtime/CoreUObject/Public/UObject/UObjectIterator.h" PyObject *py_unreal_engine_log(PyObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 1fcef3a27..4d2bcb5b4 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -111,6 +111,7 @@ #include "Engine/UserDefinedEnum.h" #endif +#include "Runtime/Core/Public/UObject/PropertyPortFlags.h" #if ENGINE_MINOR_VERSION < 18 #define USoftObjectProperty UAssetObjectProperty diff --git a/Source/UnrealEnginePython/Private/UEPyTicker.h b/Source/UnrealEnginePython/Private/UEPyTicker.h index d63d0f11b..79a830c65 100644 --- a/Source/UnrealEnginePython/Private/UEPyTicker.h +++ b/Source/UnrealEnginePython/Private/UEPyTicker.h @@ -3,6 +3,7 @@ #pragma once #include "UEPyModule.h" +#include "Runtime/Core/Public/Containers/Ticker.h" typedef struct { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp index fa26c6ac8..1977a60a6 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyCapture.cpp @@ -22,6 +22,8 @@ for a queue of UMovieSceneCapture objects #include "GameFramework/GameMode.h" #include "Runtime/CoreUObject/Public/Serialization/ObjectReader.h" #include "Runtime/CoreUObject/Public/Serialization/ObjectWriter.h" +#include "Runtime/Slate/Public/Framework/Application/SlateApplication.h" +#include "Runtime/Core/Public/Containers/Ticker.h" struct FInEditorMultiCapture : TSharedFromThis diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp index a649ce2aa..074fbc93e 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyWorld.cpp @@ -3,6 +3,7 @@ #include "Runtime/Engine/Classes/Kismet/KismetSystemLibrary.h" #include "EngineUtils.h" #include "Kismet/GameplayStatics.h" +#include "Runtime/CoreUObject/Public/UObject/UObjectIterator.h" PyObject *py_ue_world_exec(ue_PyUObject *self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 568b9903d..3728f29b0 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -31,6 +31,10 @@ void init_unreal_engine_builtin(); const char *ue4_module_options = "linux_global_symbols"; #endif +#include "Runtime/Core/Public/Misc/CommandLine.h" +#include "Runtime/Core/Public/Misc/ConfigCacheIni.h" +#include "Runtime/Core/Public/GenericPlatform/GenericPlatformFile.h" + const char *UEPyUnicode_AsUTF8(PyObject *py_str) { From 68ffd6d2bc7edfe31503a1e475cd41bd1f8ddb03 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Thu, 19 Jul 2018 19:39:57 +0200 Subject: [PATCH 273/538] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 714b8adda..96314a31d 100644 --- a/README.md +++ b/README.md @@ -906,7 +906,7 @@ Sometimes you may have a UObject and know that it is backed by a python object. This would be resolved as shown below: -``` +```python import unreal_engine as ue class Explosive: From b5084eb016de8ae099056bc9ad933b0bdc6c43bc Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 20 Jul 2018 08:47:30 +0200 Subject: [PATCH 274/538] improved struct handling --- .../Private/Slate/UEPyFKeyEvent.cpp | 2 +- .../Private/Slate/UEPyFPointerEvent.cpp | 2 +- .../Private/Slate/UEPyFSlateIcon.cpp | 2 +- .../Private/Slate/UEPyFSlateStyleSet.cpp | 13 ++++++------- .../UnrealEnginePython/Private/Slate/UEPySlate.cpp | 2 +- Source/UnrealEnginePython/Private/UEPyEngine.cpp | 4 ++-- Source/UnrealEnginePython/Private/UEPyModule.cpp | 2 +- .../Private/UEPyUScriptStruct.cpp | 9 +++++++++ .../UnrealEnginePython/Private/UEPyUScriptStruct.h | 1 + .../Private/UObject/UEPyAnimSequence.cpp | 2 +- .../Private/UObject/UEPyDataTable.cpp | 6 +++--- .../Private/UObject/UEPySequencer.cpp | 4 ++-- .../Private/Wrappers/UEPyFTransform.cpp | 2 +- 13 files changed, 30 insertions(+), 21 deletions(-) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFKeyEvent.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFKeyEvent.cpp index 153c763e2..836b9357d 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFKeyEvent.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFKeyEvent.cpp @@ -3,7 +3,7 @@ static PyObject *py_ue_fkey_event_get_key(ue_PyFKeyEvent *self, PyObject * args) { FKey key = self->key_event.GetKey(); - return py_ue_new_uscriptstruct(FKey::StaticStruct(), (uint8*)&key); + return py_ue_new_owned_uscriptstruct(FKey::StaticStruct(), (uint8*)&key); } static PyObject *py_ue_fkey_event_get_key_name(ue_PyFKeyEvent *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp index 028d18f42..2e557954c 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFPointerEvent.cpp @@ -5,7 +5,7 @@ static PyObject *py_ue_fpointer_event_get_effecting_button(ue_PyFPointerEvent *self, PyObject * args) { FKey key = self->pointer.GetEffectingButton(); - return py_ue_new_uscriptstruct(FKey::StaticStruct(), (uint8*)&key); + return py_ue_new_owned_uscriptstruct(FKey::StaticStruct(), (uint8*)&key); } static PyObject *py_ue_fpointer_event_get_effecting_button_name(ue_PyFPointerEvent *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp index a3ff52b7f..72b8d5ca0 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateIcon.cpp @@ -3,7 +3,7 @@ static PyObject *py_ue_fslate_icon_get_icon(ue_PyFSlateIcon *self, PyObject * args) { - return py_ue_new_uscriptstruct(FSlateBrush::StaticStruct(), (uint8*)self->icon.GetIcon()); + return py_ue_new_owned_uscriptstruct(FSlateBrush::StaticStruct(), (uint8*)self->icon.GetIcon()); } static PyMethodDef ue_PyFSlateIcon_methods[] = { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp index 06de35eaf..e669f2019 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPyFSlateStyleSet.cpp @@ -13,8 +13,7 @@ static PyObject *py_ue_fslate_style_set_set_content_root(ue_PyFSlateStyleSet *se self->style_set->SetContentRoot(path); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject *py_ue_fslate_style_set_register(ue_PyFSlateStyleSet *self, PyObject * args) @@ -96,7 +95,7 @@ namespace PyObject* pyGetWidgetStyle(FSlateStyleSet& InStyle, FName PropertyName) { const WidgetStyleType styleWidgetStyle = InStyle.GetWidgetStyle(PropertyName); - return py_ue_new_uscriptstruct(WidgetStyleType::StaticStruct(), (uint8*)&styleWidgetStyle); + return py_ue_new_owned_uscriptstruct(WidgetStyleType::StaticStruct(), (uint8*)&styleWidgetStyle); } } @@ -116,24 +115,24 @@ static PyObject *py_ue_fslate_style_set_get(ue_PyFSlateStyleSet *self, PyObject if (ue_py_check_struct(py_type)) { const FSlateSound& styleSound = self->style_set->GetSound(FName(name)); - ret = py_ue_new_uscriptstruct(FSlateSound::StaticStruct(), (uint8*)&styleSound); + ret = py_ue_new_owned_uscriptstruct(FSlateSound::StaticStruct(), (uint8*)&styleSound); } else if (ue_py_check_struct(py_type)) { if (const FSlateBrush* styleBrush = self->style_set->GetBrush(FName(name))) { - ret = py_ue_new_uscriptstruct(FSlateBrush::StaticStruct(), (uint8*)styleBrush); + ret = py_ue_new_owned_uscriptstruct(FSlateBrush::StaticStruct(), (uint8*)styleBrush); } } else if (ue_py_check_struct(py_type)) { const FSlateColor styleSlateColor = self->style_set->GetSlateColor(FName(name)); - ret = py_ue_new_uscriptstruct(FSlateColor::StaticStruct(), (uint8*)&styleSlateColor); + ret = py_ue_new_owned_uscriptstruct(FSlateColor::StaticStruct(), (uint8*)&styleSlateColor); } else if (ue_py_check_struct(py_type)) { const FSlateFontInfo styleFontInfo = self->style_set->GetFontStyle(FName(name)); - ret = py_ue_new_uscriptstruct(FSlateFontInfo::StaticStruct(), (uint8*)&styleFontInfo); + ret = py_ue_new_owned_uscriptstruct(FSlateFontInfo::StaticStruct(), (uint8*)&styleFontInfo); } else if (ue_py_check_childstruct(py_type)) { diff --git a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp index 615186cfe..93c91afc7 100644 --- a/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp +++ b/Source/UnrealEnginePython/Private/Slate/UEPySlate.cpp @@ -1490,7 +1490,7 @@ PyObject * py_unreal_engine_create_wrapper_from_pyswidget(PyObject *self, PyObje FPythonSWidgetWrapper py_swidget_wrapper; py_swidget_wrapper.Widget = Widget; - return py_ue_new_uscriptstruct(FPythonSWidgetWrapper::StaticStruct(), (uint8 *)&py_swidget_wrapper); + return py_ue_new_owned_uscriptstruct(FPythonSWidgetWrapper::StaticStruct(), (uint8 *)&py_swidget_wrapper); } PyObject *py_unreal_engine_open_color_picker(PyObject *self, PyObject *args, PyObject *kwargs) diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index 9eaba5eee..6943eb8ec 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -467,7 +467,7 @@ PyObject *py_unreal_engine_string_to_guid(PyObject * self, PyObject * args) if (FGuid::Parse(FString(str), guid)) { - return py_ue_new_uscriptstruct(FindObject(ANY_PACKAGE, UTF8_TO_TCHAR((char *)"Guid")), (uint8 *)&guid); + return py_ue_new_owned_uscriptstruct(FindObject(ANY_PACKAGE, UTF8_TO_TCHAR((char *)"Guid")), (uint8 *)&guid); } return PyErr_Format(PyExc_Exception, "unable to build FGuid"); @@ -478,7 +478,7 @@ PyObject *py_unreal_engine_new_guid(PyObject * self, PyObject * args) FGuid guid = FGuid::NewGuid(); - return py_ue_new_uscriptstruct(FindObject(ANY_PACKAGE, UTF8_TO_TCHAR((char *)"Guid")), (uint8 *)&guid); + return py_ue_new_owned_uscriptstruct(FindObject(ANY_PACKAGE, UTF8_TO_TCHAR((char *)"Guid")), (uint8 *)&guid); } PyObject *py_unreal_engine_guid_to_string(PyObject * self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 4d2bcb5b4..b577421a2 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -1370,7 +1370,7 @@ static PyObject *ue_PyUObject_call(ue_PyUObject *self, PyObject *args, PyObject } } } - return py_ue_new_uscriptstruct(u_script_struct, data); + return py_ue_new_owned_uscriptstruct_zero_copy(u_script_struct, data); } return PyErr_Format(PyExc_Exception, "the specified uobject has no __call__ support"); } diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp index 4e945c9a6..28df03059 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.cpp @@ -368,6 +368,15 @@ PyObject *py_ue_new_owned_uscriptstruct(UScriptStruct *u_struct, uint8 *data) return (PyObject *)ret; } +PyObject *py_ue_new_owned_uscriptstruct_zero_copy(UScriptStruct *u_struct, uint8 *data) +{ + ue_PyUScriptStruct *ret = (ue_PyUScriptStruct *)PyObject_New(ue_PyUScriptStruct, &ue_PyUScriptStructType); + ret->u_struct = u_struct; + ret->u_struct_ptr = data; + ret->u_struct_owned = 1; + return (PyObject *)ret; +} + static PyObject *py_ue_uscriptstruct_clone(ue_PyUScriptStruct *self, PyObject * args) { ue_PyUScriptStruct *ret = (ue_PyUScriptStruct *)PyObject_New(ue_PyUScriptStruct, &ue_PyUScriptStructType); diff --git a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h index 9f8952d1c..1078cf686 100644 --- a/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h +++ b/Source/UnrealEnginePython/Private/UEPyUScriptStruct.h @@ -14,6 +14,7 @@ typedef struct PyObject *py_ue_new_uscriptstruct(UScriptStruct *, uint8 *); PyObject *py_ue_new_owned_uscriptstruct(UScriptStruct *, uint8 *); +PyObject *py_ue_new_owned_uscriptstruct_zero_copy(UScriptStruct *, uint8 *); ue_PyUScriptStruct *py_ue_is_uscriptstruct(PyObject *); UProperty *ue_struct_get_field_from_name(UScriptStruct *, char *); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp index b569374f0..7eafe7b51 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyAnimSequence.cpp @@ -336,7 +336,7 @@ PyObject *py_ue_get_blend_parameter(ue_PyUObject * self, PyObject * args) const FBlendParameter & parameter = blend->GetBlendParameter(index); - return py_ue_new_uscriptstruct(FBlendParameter::StaticStruct(), (uint8 *)¶meter); + return py_ue_new_owned_uscriptstruct(FBlendParameter::StaticStruct(), (uint8 *)¶meter); } PyObject *py_ue_set_blend_parameter(ue_PyUObject * self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyDataTable.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyDataTable.cpp index 7e2ebcef5..6f09a9412 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyDataTable.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyDataTable.cpp @@ -110,7 +110,7 @@ PyObject *py_ue_data_table_as_dict(ue_PyUObject * self, PyObject * args) for (TMap::TConstIterator RowMapIter(data_table->RowMap.CreateConstIterator()); RowMapIter; ++RowMapIter) { - PyDict_SetItemString(py_dict, TCHAR_TO_UTF8(*RowMapIter->Key.ToString()), py_ue_new_uscriptstruct(data_table->RowStruct, RowMapIter->Value)); + PyDict_SetItemString(py_dict, TCHAR_TO_UTF8(*RowMapIter->Key.ToString()), py_ue_new_owned_uscriptstruct(data_table->RowStruct, RowMapIter->Value)); } return py_dict; @@ -158,7 +158,7 @@ PyObject *py_ue_data_table_find_row(ue_PyUObject * self, PyObject * args) return PyErr_Format(PyExc_Exception, "key not found in UDataTable"); } - return py_ue_new_uscriptstruct(data_table->RowStruct, *data); + return py_ue_new_owned_uscriptstruct(data_table->RowStruct, *data); } PyObject *py_ue_data_table_get_all_rows(ue_PyUObject * self, PyObject * args) @@ -174,7 +174,7 @@ PyObject *py_ue_data_table_get_all_rows(ue_PyUObject * self, PyObject * args) for (TMap::TConstIterator RowMapIter(data_table->RowMap.CreateConstIterator()); RowMapIter; ++RowMapIter) { - PyList_Append(py_list, py_ue_new_uscriptstruct(data_table->RowStruct, RowMapIter->Value)); + PyList_Append(py_list, py_ue_new_owned_uscriptstruct(data_table->RowStruct, RowMapIter->Value)); } return py_list; diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index c8d22d44f..e4e0ed154 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -200,7 +200,7 @@ PyObject *py_ue_sequencer_find_spawnable(ue_PyUObject *self, PyObject * args) ULevelSequence *seq = (ULevelSequence *)self->ue_object; FMovieSceneSpawnable *spawnable = seq->MovieScene->FindSpawnable(f_guid); - PyObject *ret = py_ue_new_uscriptstruct(spawnable->StaticStruct(), (uint8 *)spawnable); + PyObject *ret = py_ue_new_owned_uscriptstruct(spawnable->StaticStruct(), (uint8 *)spawnable); Py_INCREF(ret); return ret; } @@ -453,7 +453,7 @@ PyObject *py_ue_sequencer_possessables(ue_PyUObject *self, PyObject * args) for (int32 i = 0; i < scene->GetPossessableCount(); i++) { FMovieScenePossessable possessable = scene->GetPossessable(i); - PyObject *py_possessable = py_ue_new_uscriptstruct(possessable.StaticStruct(), (uint8 *)&possessable); + PyObject *py_possessable = py_ue_new_owned_uscriptstruct(possessable.StaticStruct(), (uint8 *)&possessable); PyList_Append(py_possessables, py_possessable); } diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.cpp index 3e8f0251c..568ac06c8 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFTransform.cpp @@ -36,7 +36,7 @@ static PyObject *py_ue_ftransform_get_matrix(ue_PyFTransform *self, PyObject * a { return PyErr_Format(PyExc_Exception, "unable to get Matrix struct"); } - return py_ue_new_uscriptstruct(u_struct, (uint8 *)&matrix); + return py_ue_new_owned_uscriptstruct(u_struct, (uint8 *)&matrix); } static PyMethodDef ue_PyFTransform_methods[] = { From 8bb7f3e0d3524608a500e4f74074d3a8902d5396 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 20 Jul 2018 09:40:24 +0200 Subject: [PATCH 275/538] avoid duplicated user defined structs --- Source/UnrealEnginePython/Private/UEPyEditor.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Source/UnrealEnginePython/Private/UEPyEditor.cpp b/Source/UnrealEnginePython/Private/UEPyEditor.cpp index be35655e3..de4e70173 100644 --- a/Source/UnrealEnginePython/Private/UEPyEditor.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEditor.cpp @@ -1903,6 +1903,14 @@ PyObject *py_ue_factory_create_new(ue_PyUObject *self, PyObject * args) } } + if (u_class->IsChildOf()) + { + if (FindObject(outer, UTF8_TO_TCHAR(obj_name))) + { + return PyErr_Format(PyExc_Exception, "a structure with this name already exists in the package"); + } + } + UObject *u_object = nullptr; Py_BEGIN_ALLOW_THREADS; From 658f398f52e18754a16f88bc1db91cde81122aad Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 20 Jul 2018 10:03:47 +0200 Subject: [PATCH 276/538] fixed dumb logic error in RunFile --- Source/UnrealEnginePython/Private/UnrealEnginePython.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 3728f29b0..e4441caba 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -519,12 +519,13 @@ void FUnrealEnginePythonModule::RunFile(char *filename) { FScopePythonGIL gil; FString full_path = UTF8_TO_TCHAR(filename); + FString original_path = full_path; bool foundFile = false; if (!FPaths::FileExists(filename)) { for (FString ScriptsPath : ScriptsPaths) { - full_path = FPaths::Combine(*ScriptsPath, full_path); + full_path = FPaths::Combine(*ScriptsPath, original_path); if (FPaths::FileExists(full_path)) { foundFile = true; From 2d0e3445c110200dd5021c6514495a960a3ceb25 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 20 Jul 2018 11:17:53 +0200 Subject: [PATCH 277/538] improved build system for embedded python installation --- .../UnrealEnginePython/UnrealEnginePython.Build.cs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index 5dc82cccf..5e6500e29 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -206,7 +206,7 @@ public UnrealEnginePython(TargetInfo Target) { if (pythonHome == "") { - pythonHome = DiscoverPythonPath(windowsKnownPaths); + pythonHome = DiscoverPythonPath(windowsKnownPaths, "Win64"); if (pythonHome == "") { throw new System.Exception("Unable to find Python installation"); @@ -222,7 +222,7 @@ public UnrealEnginePython(TargetInfo Target) { if (pythonHome == "") { - pythonHome = DiscoverPythonPath(macKnownPaths); + pythonHome = DiscoverPythonPath(macKnownPaths, "Mac"); if (pythonHome == "") { throw new System.Exception("Unable to find Python installation"); @@ -270,10 +270,11 @@ private bool IsPathRelative(string Path) return !IsRooted; } - private string DiscoverPythonPath(string[] knownPaths) + private string DiscoverPythonPath(string[] knownPaths, string binaryPath) { // insert the PYTHONHOME content as the first known path List paths = new List(knownPaths); + paths.Insert(0, Path.Combine(ModuleDirectory, "../../Binaries", binaryPath)); string environmentPath = System.Environment.GetEnvironmentVariable("PYTHONHOME"); if (!string.IsNullOrEmpty(environmentPath)) paths.Insert(0, environmentPath); @@ -304,7 +305,9 @@ private string DiscoverPythonPath(string[] knownPaths) private string DiscoverLinuxPythonIncludesPath() { - foreach (string path in linuxKnownIncludesPaths) + List paths = new List(linuxKnownIncludesPaths); + paths.Insert(0, Path.Combine(ModuleDirectory, "../../Binaries", "Linux", "include")); + foreach (string path in paths) { string headerFile = Path.Combine(path, "Python.h"); if (File.Exists(headerFile)) @@ -317,6 +320,9 @@ private string DiscoverLinuxPythonIncludesPath() private string DiscoverLinuxPythonLibsPath() { + List paths = new List(linuxKnownLibsPaths); + paths.Insert(0, Path.Combine(ModuleDirectory, "../../Binaries", "Linux", "lib")); + paths.Insert(0, Path.Combine(ModuleDirectory, "../../Binaries", "Linux", "lib64")); foreach (string path in linuxKnownLibsPaths) { if (File.Exists(path)) From 3df940b594edcd4b3629fa1c2a327e7aae577342 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 20 Jul 2018 11:37:21 +0200 Subject: [PATCH 278/538] fixed python2.7 build --- Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.cpp index a5cc54555..7d039f65c 100644 --- a/Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.cpp +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFARFilter.cpp @@ -333,7 +333,7 @@ void py_ue_sync_farfilter(PyObject *pyobj) #if ENGINE_MINOR_VERSION < 20 pyfilter->filter.TagsAndValues.AddUnique(ukey, UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(py_item))); #else - pyfilter->filter.TagsAndValues.AddUnique(ukey, FString(UTF8_TO_TCHAR(PyUnicode_AsUTF8(py_item)))); + pyfilter->filter.TagsAndValues.AddUnique(ukey, FString(UTF8_TO_TCHAR(UEPyUnicode_AsUTF8(py_item)))); #endif } } From 46fdcc1f82f7b0cfdd86d5c74f45aedf1adbe9ae Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 20 Jul 2018 11:44:53 +0200 Subject: [PATCH 279/538] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 96314a31d..8a16fd989 100644 --- a/README.md +++ b/README.md @@ -954,3 +954,4 @@ Such a big project requires constant sponsorship, special thanks go to: * GoodTH.INC https://www.goodthinc.com/ (they are sponsoring the sequencer api) +* Quixel AB https://megascans.se/ (built their integration tool over UnrealEnginePython giving us tons of useful feedbacks and ideas) From 1cb98a99291c621feef831b0180da7c39fa0aef0 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Fri, 20 Jul 2018 16:41:36 +0200 Subject: [PATCH 280/538] improved sequencer api for 4.20 --- .../Private/UObject/UEPyObject.cpp | 4 + .../Private/UObject/UEPySequencer.cpp | 82 ++++++------------- 2 files changed, 31 insertions(+), 55 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp index b7d0821c7..7aff3af94 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPyObject.cpp @@ -14,6 +14,10 @@ #include "Wrappers/UEPyFObjectThumbnail.h" #endif +#include "Runtime/Core/Public/Misc/OutputDeviceNull.h" +#include "Runtime/CoreUObject/Public/Serialization/ObjectWriter.h" +#include "Runtime/CoreUObject/Public/Serialization/ObjectReader.h" + PyObject *py_ue_get_class(ue_PyUObject * self, PyObject * args) { diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index e4e0ed154..431566798 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -68,7 +68,7 @@ PyObject *py_ue_sequencer_changed(ue_PyUObject *self, PyObject * args) #if ENGINE_MINOR_VERSION < 13 sequencer->NotifyMovieSceneDataChanged(); #else - sequencer->NotifyMovieSceneDataChanged(EMovieSceneDataChangeType::Unknown); + sequencer->NotifyMovieSceneDataChanged(EMovieSceneDataChangeType::RefreshAllImmediately); #endif } @@ -82,8 +82,8 @@ PyObject *py_ue_sequencer_possessable_tracks(ue_PyUObject *self, PyObject * args ue_py_check(self); - char *guid; - if (!PyArg_ParseTuple(args, "s:sequencer_possessable_tracks", &guid)) + PyObject *py_possessable; + if (!PyArg_ParseTuple(args, "O:sequencer_possessable_tracks", &py_possessable)) { return NULL; } @@ -92,7 +92,25 @@ PyObject *py_ue_sequencer_possessable_tracks(ue_PyUObject *self, PyObject * args return PyErr_Format(PyExc_Exception, "uobject is not a LevelSequence"); FGuid f_guid; - if (!FGuid::Parse(FString(guid), f_guid)) + if (PyUnicodeOrString_Check(py_possessable)) + { + const char *guid = UEPyUnicode_AsUTF8(py_possessable); + if (!FGuid::Parse(FString(guid), f_guid)) + { + return PyErr_Format(PyExc_Exception, "invalid GUID"); + } + } + else + { + FMovieScenePossessable *possessable = (FMovieScenePossessable *)do_ue_py_check_struct(py_possessable, FMovieScenePossessable::StaticStruct()); + if (possessable) + { + f_guid = possessable->GetGuid(); + } + + } + + if (!f_guid.IsValid()) { return PyErr_Format(PyExc_Exception, "invalid GUID"); } @@ -747,24 +765,19 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) ue_py_check(self); +#if ENGINE_MINOR_VERSION >= 20 + return PyErr_Format(PyExc_Exception, "for engine >= 4.20 you need to use the reflection api"); +#else + PyObject *py_value; int interpolation = 0; PyObject *py_unwind = nullptr; - -#if ENGINE_MINOR_VERSION < 20 float time; if (!PyArg_ParseTuple(args, "fO|iO:sequencer_section_add_key", &time, &py_value, &interpolation, &py_unwind)) { return nullptr; } -#else - unsigned int frame_number; - if (!PyArg_ParseTuple(args, "IO|iO:sequencer_section_add_key", &frame_number, &py_value, &interpolation, &py_unwind)) - { - return nullptr; - } -#endif if (!self->ue_object->IsA()) return PyErr_Format(PyExc_Exception, "uobject is not a MovieSceneSection"); @@ -778,16 +791,8 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) PyObject *f_value = PyNumber_Float(py_value); float value = PyFloat_AsDouble(f_value); Py_DECREF(f_value); -#if ENGINE_MINOR_VERSION < 20 section_float->AddKey(time, value, (EMovieSceneKeyInterpolation)interpolation); Py_RETURN_NONE; -#else - FFrameNumber FrameNum((int32)frame_number); - FMovieSceneFloatChannel &Channel = (FMovieSceneFloatChannel &)section_float->GetChannel(); - int32 RetValue = Channel.AddCubicKey(FrameNum, value); - return PyLong_FromLong(RetValue); -#endif - } } @@ -798,13 +803,7 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) bool value = false; if (PyObject_IsTrue(py_value)) value = true; -#if ENGINE_MINOR_VERSION < 20 section_bool->AddKey(time, value, (EMovieSceneKeyInterpolation)interpolation); -#else - FFrameNumber FrameNum((int32)frame_number); - int32 RetValue = section_bool->GetChannel().GetData().AddKey(FrameNum, value); - return PyLong_FromLong(RetValue); -#endif Py_RETURN_NONE; } } @@ -816,7 +815,6 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) bool unwind = (py_unwind && PyObject_IsTrue(py_unwind)); FTransform transform = py_transform->transform; -#if ENGINE_MINOR_VERSION < 20 FTransformKey tx = FTransformKey(EKey3DTransformChannel::Translation, EAxis::X, transform.GetLocation().X, unwind); FTransformKey ty = FTransformKey(EKey3DTransformChannel::Translation, EAxis::Y, transform.GetLocation().Y, unwind); FTransformKey tz = FTransformKey(EKey3DTransformChannel::Translation, EAxis::Z, transform.GetLocation().Z, unwind); @@ -838,22 +836,6 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) section_transform->AddKey(time, sx, (EMovieSceneKeyInterpolation)interpolation); section_transform->AddKey(time, sy, (EMovieSceneKeyInterpolation)interpolation); section_transform->AddKey(time, sz, (EMovieSceneKeyInterpolation)interpolation); -#else - FFrameNumber FrameNum((int32)frame_number); - int32 RetValueTX = section_transform->GetChannelProxy().GetChannel(0)->AddCubicKey(FrameNum, transform.GetLocation().X); - int32 RetValueTY = section_transform->GetChannelProxy().GetChannel(1)->AddCubicKey(FrameNum, transform.GetLocation().Y); - int32 RetValueTZ = section_transform->GetChannelProxy().GetChannel(2)->AddCubicKey(FrameNum, transform.GetLocation().Z); - - int32 RetValueRX = section_transform->GetChannelProxy().GetChannel(3)->AddCubicKey(FrameNum, transform.GetRotation().Euler().X); - int32 RetValueRY = section_transform->GetChannelProxy().GetChannel(4)->AddCubicKey(FrameNum, transform.GetRotation().Euler().Y); - int32 RetValueRZ = section_transform->GetChannelProxy().GetChannel(5)->AddCubicKey(FrameNum, transform.GetRotation().Euler().Z); - - int32 RetValueSX = section_transform->GetChannelProxy().GetChannel(6)->AddCubicKey(FrameNum, transform.GetScale3D().X); - int32 RetValueSY = section_transform->GetChannelProxy().GetChannel(7)->AddCubicKey(FrameNum, transform.GetScale3D().Y); - int32 RetValueSZ = section_transform->GetChannelProxy().GetChannel(8)->AddCubicKey(FrameNum, transform.GetScale3D().Z); - - return Py_BuildValue("((III)(III)(III))", RetValueTX, RetValueTY, RetValueTZ, RetValueRX, RetValueRY, RetValueRZ, RetValueSX, RetValueSY, RetValueSZ); -#endif Py_RETURN_NONE; } } @@ -863,7 +845,6 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) if (ue_PyFVector *py_vector = py_ue_is_fvector(py_value)) { FVector vec = py_vector->vec; -#if ENGINE_MINOR_VERSION < 20 FVectorKey vx = FVectorKey(EKeyVectorChannel::X, vec.X); FVectorKey vy = FVectorKey(EKeyVectorChannel::Y, vec.Y); FVectorKey vz = FVectorKey(EKeyVectorChannel::Z, vec.Z); @@ -872,22 +853,13 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) section_vector->AddKey(time, vx, (EMovieSceneKeyInterpolation)interpolation); section_vector->AddKey(time, vy, (EMovieSceneKeyInterpolation)interpolation); section_vector->AddKey(time, vz, (EMovieSceneKeyInterpolation)interpolation); -#else - FFrameNumber FrameNum((int32)frame_number); - FMovieSceneFloatChannel &Channel = (FMovieSceneFloatChannel &)section_vector->GetChannel(0); - int32 RetValueX = Channel.AddCubicKey(FrameNum, vec.X); - Channel = (FMovieSceneFloatChannel &)section_vector->GetChannel(1); - int32 RetValueY = Channel.AddCubicKey(FrameNum, vec.Y); - Channel = (FMovieSceneFloatChannel &)section_vector->GetChannel(2); - int32 RetValueZ = Channel.AddCubicKey(FrameNum, vec.Z); - return Py_BuildValue("(fff)", RetValueX, RetValueY, RetValueZ); -#endif Py_RETURN_NONE; } } return PyErr_Format(PyExc_Exception, "unsupported section type: %s", TCHAR_TO_UTF8(*section->GetClass()->GetName())); +#endif } PyObject *py_ue_sequencer_add_camera_cut_track(ue_PyUObject *self, PyObject * args) From 01c46e82b935dd3182171d096646071910e3d360 Mon Sep 17 00:00:00 2001 From: getnamo Date: Sat, 21 Jul 2018 02:18:00 +0100 Subject: [PATCH 281/538] compile fixes for 4.20 fork --- .../Private/PipConsoleManager.cpp | 3 +- .../Private/PythonComponent.cpp | 1 - .../UnrealEnginePython/Private/UEPyEngine.cpp | 29 +---- .../UnrealEnginePython/Private/UEPyLambda.cpp | 1 + .../Private/UnrealEnginePython.cpp | 15 +-- .../Public/PipConsoleManager.h | 1 + .../UnrealEnginePython.Build.cs | 102 +++++++++--------- UnrealEnginePython.uplugin | 2 +- 8 files changed, 62 insertions(+), 92 deletions(-) diff --git a/Source/UnrealEnginePython/Private/PipConsoleManager.cpp b/Source/UnrealEnginePython/Private/PipConsoleManager.cpp index 7a55b212b..01939be8a 100644 --- a/Source/UnrealEnginePython/Private/PipConsoleManager.cpp +++ b/Source/UnrealEnginePython/Private/PipConsoleManager.cpp @@ -1,8 +1,9 @@ // Fill out your copyright notice in the Description page of Project Settings. +#include "PipConsoleManager.h" #include "UnrealEnginePythonPrivatePCH.h" #include "IPluginManager.h" -#include "PipConsoleManager.h" + UPipConsoleManager::UPipConsoleManager(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) diff --git a/Source/UnrealEnginePython/Private/PythonComponent.cpp b/Source/UnrealEnginePython/Private/PythonComponent.cpp index 85d98b7c0..9a5401cd7 100644 --- a/Source/UnrealEnginePython/Private/PythonComponent.cpp +++ b/Source/UnrealEnginePython/Private/PythonComponent.cpp @@ -153,7 +153,6 @@ void UPythonComponent::EndPlay(const EEndPlayReason::Type EndPlayReason) Py_XDECREF(ep_ret); } - Py_DECREF(bp_ret); Super::EndPlay(EndPlayReason); } diff --git a/Source/UnrealEnginePython/Private/UEPyEngine.cpp b/Source/UnrealEnginePython/Private/UEPyEngine.cpp index 97699f2f0..4ee7ff66f 100644 --- a/Source/UnrealEnginePython/Private/UEPyEngine.cpp +++ b/Source/UnrealEnginePython/Private/UEPyEngine.cpp @@ -770,16 +770,10 @@ PyObject *py_unreal_engine_create_and_dispatch_when_ready(PyObject * self, PyObj FGraphEventRef task = FFunctionGraphTask::CreateAndDispatchWhenReady([&, py_callable_s, py_params_s]() { //UE_LOG(LogPython, Log, TEXT("In task graph, are in game thread? %d"), IsInGameThread()); - -<<<<<<< HEAD -======= - - FGraphEventRef task = FFunctionGraphTask::CreateAndDispatchWhenReady([&]() { ->>>>>>> pr/9 FScopePythonGIL gil; PyObject *ret = nullptr; PyObject *py_tuple_params = nullptr; - + //do we have parameters? if (py_params_s) { @@ -793,16 +787,14 @@ PyObject *py_unreal_engine_create_and_dispatch_when_ready(PyObject * self, PyObj } //did we get a valid return from our call? - if (ret) + if (ret) { Py_DECREF(ret); } - else + else { unreal_engine_py_log_error(); } -<<<<<<< HEAD - if (py_params_s) { Py_DECREF(py_params_s); @@ -813,21 +805,9 @@ PyObject *py_unreal_engine_create_and_dispatch_when_ready(PyObject * self, PyObj } Py_DECREF(py_callable_s); }, TStatId(), nullptr, ENamedThreads::GameThread); - + Py_INCREF(Py_None); return Py_None; -======= - Py_DECREF(py_callable); - }, TStatId(), nullptr, (ENamedThreads::Type)named_thread); - - - Py_BEGIN_ALLOW_THREADS; - FTaskGraphInterface::Get().WaitUntilTaskCompletes(task); - Py_END_ALLOW_THREADS; - // TODO Implement signal triggering in addition to WaitUntilTaskCompletes - // FTaskGraphInterface::Get().TriggerEventWhenTaskCompletes - - Py_RETURN_NONE; } @@ -862,7 +842,6 @@ PyObject *py_unreal_engine_main_thread_call(PyObject * self, PyObject * args) Py_END_ALLOW_THREADS; Py_RETURN_NONE; ->>>>>>> pr/9 } #endif diff --git a/Source/UnrealEnginePython/Private/UEPyLambda.cpp b/Source/UnrealEnginePython/Private/UEPyLambda.cpp index 731a87ba8..9b395172d 100644 --- a/Source/UnrealEnginePython/Private/UEPyLambda.cpp +++ b/Source/UnrealEnginePython/Private/UEPyLambda.cpp @@ -1,3 +1,4 @@ +#include "UEPyLambda.h" #include "UnrealEnginePythonPrivatePCH.h" PyObject * py_ue_run_on_game_thread(PyObject* PyFunction, PyObject* Args) diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index ff2f8a6cc..db81d190d 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -435,12 +435,6 @@ void FUnrealEnginePythonModule::StartupModule() } else { -<<<<<<< HEAD - // TODO gracefully manage the error - UE_LOG(LogPython, Warning, TEXT("ue_site not found (if you don't use the startup file ignore this warning)")); - //unreal_engine_py_log_error(); - } -======= #if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 6 if (PyErr_ExceptionMatches(PyExc_ModuleNotFoundError)) { @@ -455,7 +449,6 @@ void FUnrealEnginePythonModule::StartupModule() unreal_engine_py_log_error(); #endif } ->>>>>>> pr/9 // release the GIL PyThreadState *UEPyGlobalState = PyEval_SaveThread(); @@ -635,7 +628,7 @@ PyObject *ue_py_register_module(const char *name) void FUnrealEnginePythonModule::AddPathToSysPath(const FString& Path) { - PythonGILAcquire(); + FScopePythonGIL gil; PyObject *py_sys = PyImport_ImportModule("sys"); PyObject *py_sys_dict = PyModule_GetDict(py_sys); @@ -644,8 +637,6 @@ void FUnrealEnginePythonModule::AddPathToSysPath(const FString& Path) char *charPath = TCHAR_TO_UTF8(*Path); PyObject *py_scripts_path = PyUnicode_FromString(charPath); PyList_Insert(py_path, 0, py_scripts_path); - - PythonGILRelease(); } void FUnrealEnginePythonModule::AddPythonDependentPlugin(const FString& PluginName) @@ -660,7 +651,7 @@ void FUnrealEnginePythonModule::AddPythonDependentPlugin(const FString& PluginNa FString PyModulePath = FString::Printf(TEXT("%s/upymodule.json"), *ScriptsPath); FString RunImport = FString::Printf(TEXT("import upymodule_importer\nupymodule_importer.parseJson('%s')"), *PyModulePath); - PythonGILAcquire(); + FScopePythonGIL gil; if (PyRun_SimpleString(TCHAR_TO_UTF8(*RunImport)) == 0) { UE_LOG(LogPython, Log, TEXT("%s Plugin upymodule.json parsed"), *PluginName); @@ -668,8 +659,6 @@ void FUnrealEnginePythonModule::AddPythonDependentPlugin(const FString& PluginNa else { unreal_engine_py_log_error(); } - - PythonGILRelease(); } #undef LOCTEXT_NAMESPACE diff --git a/Source/UnrealEnginePython/Public/PipConsoleManager.h b/Source/UnrealEnginePython/Public/PipConsoleManager.h index 51cbec9d7..d1c9f051c 100644 --- a/Source/UnrealEnginePython/Public/PipConsoleManager.h +++ b/Source/UnrealEnginePython/Public/PipConsoleManager.h @@ -2,6 +2,7 @@ #pragma once +#include "Runtime/Engine/Classes/GameFramework/CheatManager.h" #include "PipConsoleManager.generated.h" /** diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index 9d4e2625a..0c717084e 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -23,9 +23,9 @@ protected string ThirdPartyPythonHome // otherwise specify the path of your python installation - //private string pythonHome = "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/"; + //private string PythonHome = "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/"; // on Linux an include;libs syntax is expected: - //private string pythonHome = "/usr/local/include/python3.6;/usr/local/lib/libpython3.6.so" + //private string PythonHome = "/usr/local/include/python3.6;/usr/local/lib/libpython3.6.so" //Swap python versions here private string PythonType = "Python36"; @@ -229,62 +229,62 @@ public UnrealEnginePython(TargetInfo Target) }); } - if ((Target.Platform == UnrealTargetPlatform.Win64) || (Target.Platform == UnrealTargetPlatform.Win32)) - { - if (UseThirdPartyPython) - { - PythonHome = ThirdPartyPythonHome; + if ((Target.Platform == UnrealTargetPlatform.Win64) || (Target.Platform == UnrealTargetPlatform.Win32)) + { + if (UseThirdPartyPython) + { + PythonHome = ThirdPartyPythonHome; - System.Console.WriteLine("Using Embedded Python at: " + PythonHome); - PublicIncludePaths.Add(PythonHome); - string libPath = Path.Combine(PythonHome, "Lib", string.Format("{0}.lib", PythonType.ToLower())); + System.Console.WriteLine("Using Embedded Python at: " + PythonHome); + PublicIncludePaths.Add(PythonHome); + string libPath = Path.Combine(PythonHome, "Lib", string.Format("{0}.lib", PythonType.ToLower())); - System.Console.WriteLine("full lib path: " + libPath); - PublicLibraryPaths.Add(Path.GetDirectoryName(libPath)); - PublicAdditionalLibraries.Add(libPath); + System.Console.WriteLine("full lib path: " + libPath); + PublicLibraryPaths.Add(Path.GetDirectoryName(libPath)); + PublicAdditionalLibraries.Add(libPath); string dllPath = Path.Combine(BinariesPath, "Win64", string.Format("{0}.dll", PythonType.ToLower())); - RuntimeDependencies.Add(new RuntimeDependency(dllPath)); + RuntimeDependencies.Add(dllPath); } - else if (PythonHome == "") - { - pythonHome = DiscoverPythonPath(windowsKnownPaths, "Win64"); - if (pythonHome == "") - { - throw new System.Exception("Unable to find Python installation"); - } - - System.Console.WriteLine("Using Python at: " + PythonHome); - PublicIncludePaths.Add(PythonHome); - string libPath = GetWindowsPythonLibFile(PythonHome); - PublicLibraryPaths.Add(Path.GetDirectoryName(libPath)); - PublicAdditionalLibraries.Add(libPath); - } - } - - //other platforms - else + else if (PythonHome == "") + { + PythonHome = DiscoverPythonPath(windowsKnownPaths, "Win64"); + if (PythonHome == "") + { + throw new System.Exception("Unable to find Python installation"); + } + + System.Console.WriteLine("Using Python at: " + PythonHome); + PublicIncludePaths.Add(PythonHome); + string libPath = GetWindowsPythonLibFile(PythonHome); + PublicLibraryPaths.Add(Path.GetDirectoryName(libPath)); + PublicAdditionalLibraries.Add(libPath); + } + } + + //other platforms + else + { + if (PythonHome == "") + { + PythonHome = DiscoverPythonPath(macKnownPaths, "Mac"); + if (PythonHome == "") + { + throw new System.Exception("Unable to find Python installation"); + } + System.Console.WriteLine("Using Python at: " + PythonHome); + PublicIncludePaths.Add(PythonHome); + PublicAdditionalLibraries.Add(Path.Combine(PythonHome, "Lib", string.Format("{0}.lib", PythonType))); + } + System.Console.WriteLine("Using Python at: " + PythonHome); + PublicIncludePaths.Add(PythonHome); + string libPath = GetMacPythonLibFile(PythonHome); + PublicLibraryPaths.Add(Path.GetDirectoryName(libPath)); + PublicDelayLoadDLLs.Add(libPath); + } + if (Target.Platform == UnrealTargetPlatform.Linux) { if (PythonHome == "") - { - pythonHome = DiscoverPythonPath(macKnownPaths, "Mac"); - if (pythonHome == "") - { - throw new System.Exception("Unable to find Python installation"); - } - System.Console.WriteLine("Using Python at: " + PythonHome); - PublicIncludePaths.Add(PythonHome); - PublicAdditionalLibraries.Add(Path.Combine(PythonHome, "Lib", string.Format("{0}.lib", PythonType))); - } - System.Console.WriteLine("Using Python at: " + pythonHome); - PublicIncludePaths.Add(pythonHome); - string libPath = GetMacPythonLibFile(pythonHome); - PublicLibraryPaths.Add(Path.GetDirectoryName(libPath)); - PublicDelayLoadDLLs.Add(libPath); - } - else if (Target.Platform == UnrealTargetPlatform.Linux) - { - if (pythonHome == "") { string includesPath = DiscoverLinuxPythonIncludesPath(); if (includesPath == null) diff --git a/UnrealEnginePython.uplugin b/UnrealEnginePython.uplugin index 085171bac..348fed5f0 100644 --- a/UnrealEnginePython.uplugin +++ b/UnrealEnginePython.uplugin @@ -1,7 +1,7 @@ { "FileVersion": 3, "Version": 1, - "VersionName": "1.5.0", + "VersionName": "1.6.0", "FriendlyName": "UnrealEnginePython", "Description": "Embed a Python VM in your project", "Category": "Scripting Languages", From dc16692f236e727bf89d78c8c7b0d3025a13c80b Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 21 Jul 2018 08:43:02 +0200 Subject: [PATCH 282/538] manage SystemExit exception --- .../Private/UnrealEnginePython.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index e4441caba..58db4b6c6 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -448,6 +448,11 @@ void FUnrealEnginePythonModule::RunString(char *str) PyObject *eval_ret = PyRun_String(str, Py_file_input, (PyObject *)main_dict, (PyObject *)local_dict); if (!eval_ret) { + if (PyErr_ExceptionMatches(PyExc_SystemExit)) + { + PyErr_Clear(); + return; + } unreal_engine_py_log_error(); return; } @@ -566,6 +571,11 @@ void FUnrealEnginePythonModule::RunFile(char *filename) fclose(fd); if (!eval_ret) { + if (PyErr_ExceptionMatches(PyExc_SystemExit)) + { + PyErr_Clear(); + return; + } unreal_engine_py_log_error(); return; } @@ -576,6 +586,11 @@ void FUnrealEnginePythonModule::RunFile(char *filename) PyObject *eval_ret = PyRun_String(TCHAR_TO_UTF8(*command), Py_file_input, (PyObject *)main_dict, (PyObject *)local_dict); if (!eval_ret) { + if (PyErr_ExceptionMatches(PyExc_SystemExit)) + { + PyErr_Clear(); + return; + } unreal_engine_py_log_error(); return; } From 8ee93a46385ce2bdc9db23c41994f80fb0fac383 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 21 Jul 2018 11:19:39 +0200 Subject: [PATCH 283/538] added FFrameNumber type --- .../UnrealEnginePython/Private/UEPyModule.cpp | 7 + .../Private/UObject/UEPySequencer.cpp | 265 +++++++++++++++++- .../Private/UObject/UEPySequencer.h | 1 + .../Private/Wrappers/UEPyFFrameNumber.cpp | 83 ++++++ .../Private/Wrappers/UEPyFFrameNumber.h | 19 ++ examples/sequencer_scripting.py | 45 ++- 6 files changed, 382 insertions(+), 38 deletions(-) create mode 100644 Source/UnrealEnginePython/Private/Wrappers/UEPyFFrameNumber.cpp create mode 100644 Source/UnrealEnginePython/Private/Wrappers/UEPyFFrameNumber.h diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index b577421a2..1da9e8e9e 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -91,6 +91,7 @@ #include "Wrappers/UEPyFARFilter.h" #include "Wrappers/UEPyFRawMesh.h" #include "Wrappers/UEPyFStringAssetReference.h" + #include "UObject/UEPyAnimSequence.h" #include "Blueprint/UEPyEdGraphPin.h" #include "UEPyIPlugin.h" @@ -98,6 +99,8 @@ #include "MaterialEditorUtilities/UEPyFMaterialEditorUtilities.h" #endif +#include "Wrappers/UEPyFFrameNumber.h" + #include "Slate/UEPySlate.h" #include "Http/UEPyIHttp.h" #include "ConsoleManager/UEPyIConsoleManager.h" @@ -1025,6 +1028,7 @@ static PyMethodDef ue_PyUObject_methods[] = { { "sequencer_get_camera_cut_track", (PyCFunction)py_ue_sequencer_get_camera_cut_track, METH_VARARGS, "" }, #if WITH_EDITOR { "sequencer_set_playback_range", (PyCFunction)py_ue_sequencer_set_playback_range, METH_VARARGS, "" }, + { "sequencer_set_section_range", (PyCFunction)py_ue_sequencer_set_section_range, METH_VARARGS, "" }, { "sequencer_folders", (PyCFunction)py_ue_sequencer_folders, METH_VARARGS, "" }, { "sequencer_create_folder", (PyCFunction)py_ue_sequencer_create_folder, METH_VARARGS, "" }, { "sequencer_set_display_name", (PyCFunction)py_ue_sequencer_set_display_name, METH_VARARGS, "" }, @@ -1552,6 +1556,9 @@ void unreal_engine_init_py_module() ue_python_init_flinearcolor(new_unreal_engine_module); ue_python_init_fquat(new_unreal_engine_module); +#if ENGINE_MINOR_VERSION >= 20 + ue_python_init_fframe_number(new_unreal_engine_module); +#endif ue_python_init_frandomstream(new_unreal_engine_module); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index 431566798..f71b77dc3 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -15,6 +15,8 @@ #include "Tracks/MovieSceneCameraCutTrack.h" #if ENGINE_MINOR_VERSION < 20 #include "Sections/IKeyframeSection.h" +#else +#include "Wrappers/UEPyFFrameNumber.h" #endif #include "Sections/MovieSceneFloatSection.h" #include "Sections/MovieSceneBoolSection.h" @@ -35,6 +37,31 @@ #include "Runtime/LevelSequence/Public/LevelSequence.h" #include "Engine/World.h" + +#if ENGINE_MINOR_VERSION >= 20 +static bool magic_get_frame_number(UMovieScene *MovieScene, PyObject *py_obj, FFrameNumber *dest) +{ + ue_PyFFrameNumber *py_frame_number = py_ue_is_fframe_number(py_obj); + if (py_frame_number) + { + *dest = py_frame_number->frame_number; + return true; + } + + if (PyNumber_Check(py_obj)) + { + PyObject *f_value = PyNumber_Float(py_obj); + float value = PyFloat_AsDouble(f_value); + Py_DECREF(f_value); + *dest = MovieScene->GetTickResolution().AsFrameNumber(value); + return true; + } + + return false; + +} +#endif + #if WITH_EDITOR PyObject *py_ue_sequencer_changed(ue_PyUObject *self, PyObject * args) { @@ -745,44 +772,111 @@ PyObject *py_ue_sequencer_set_playback_range(ue_PyUObject *self, PyObject * args scene->SetPlaybackRange(start_time, end_time); #else - unsigned int start_frame; - int duration; - if (!PyArg_ParseTuple(args, "Ii:sequencer_set_playback_range", &start_frame, &duration)) + PyObject *py_start; + PyObject *py_end; + if (!PyArg_ParseTuple(args, "OO:sequencer_set_playback_range", &py_start, &py_end)) { return nullptr; } - FFrameNumber StartFrame((int32)start_frame); - scene->SetPlaybackRange(StartFrame, duration); + FFrameNumber FrameStart; + FFrameNumber FrameEnd; + + if (!magic_get_frame_number(scene, py_start, &FrameStart)) + return PyErr_Format(PyExc_Exception, "range must use float or FrameNumber"); + + if (!magic_get_frame_number(scene, py_end, &FrameEnd)) + return PyErr_Format(PyExc_Exception, "range must use float or FrameNumber"); + + scene->SetPlaybackRange(TRange::Inclusive(FrameStart, FrameEnd)); + #endif Py_RETURN_NONE; } - -PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) +PyObject *py_ue_sequencer_set_section_range(ue_PyUObject *self, PyObject * args) { ue_py_check(self); -#if ENGINE_MINOR_VERSION >= 20 - return PyErr_Format(PyExc_Exception, "for engine >= 4.20 you need to use the reflection api"); + UMovieSceneSection *section = ue_py_check_type(self); + if (!section) + return PyErr_Format(PyExc_Exception, "uobject is not a MovieSceneSection"); + +#if ENGINE_MINOR_VERSION < 20 + float start_time; + float end_time; + if (!PyArg_ParseTuple(args, "ff:sequencer_set_section_range", &start_time, &end_time)) + { + return nullptr; + } + + section->StartTime = start_time; + section->EndTime = end_time; #else + PyObject *py_start; + PyObject *py_end; + if (!PyArg_ParseTuple(args, "OO:sequencer_set_section_range", &py_start, &py_end)) + { + return nullptr; + } + + UMovieSceneTrack *Track = section->GetTypedOuter(); + if (!Track) + return PyErr_Format(PyExc_Exception, "unable to retrieve track from section"); + UMovieScene *MovieScene = Track->GetTypedOuter(); + if (!MovieScene) + return PyErr_Format(PyExc_Exception, "unable to retrieve scene from section"); + + FFrameNumber FrameStart; + FFrameNumber FrameEnd; + + if (!magic_get_frame_number(MovieScene, py_start, &FrameStart)) + return PyErr_Format(PyExc_Exception, "range must use float or FrameNumber"); + + if (!magic_get_frame_number(MovieScene, py_end, &FrameEnd)) + return PyErr_Format(PyExc_Exception, "range must use float or FrameNumber"); + + section->SetRange(TRange::Inclusive(FrameStart, FrameEnd)); +#endif + + Py_RETURN_NONE; +} + +PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) +{ + ue_py_check(self); + + float time; PyObject *py_value; int interpolation = 0; PyObject *py_unwind = nullptr; - float time; + if (!PyArg_ParseTuple(args, "fO|iO:sequencer_section_add_key", &time, &py_value, &interpolation, &py_unwind)) { return nullptr; } - if (!self->ue_object->IsA()) + UMovieSceneSection *section = ue_py_check_type(self); + if (!section) return PyErr_Format(PyExc_Exception, "uobject is not a MovieSceneSection"); - UMovieSceneSection *section = (UMovieSceneSection *)self->ue_object; +#if ENGINE_MINOR_VERSION >= 20 + UMovieSceneTrack *Track = section->GetTypedOuter(); + if (!Track) + return PyErr_Format(PyExc_Exception, "unable to retrieve track from section"); + UMovieScene *MovieScene = Track->GetTypedOuter(); + if (!MovieScene) + return PyErr_Format(PyExc_Exception, "unable to retrieve scene from section"); + + FFrameNumber FrameNumber = MovieScene->GetTickResolution().AsFrameNumber(time); + EMovieSceneKeyInterpolation InterpolationMode = (EMovieSceneKeyInterpolation)interpolation; + + section->Modify(); +#endif if (auto section_float = Cast(section)) { @@ -791,7 +885,32 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) PyObject *f_value = PyNumber_Float(py_value); float value = PyFloat_AsDouble(f_value); Py_DECREF(f_value); +#if ENGINE_MINOR_VERSION < 20 section_float->AddKey(time, value, (EMovieSceneKeyInterpolation)interpolation); +#else + FMovieSceneFloatChannel& Channel = (FMovieSceneFloatChannel&)section_float->GetChannel(); + int32 RetValue = -1; + switch (InterpolationMode) + { + case(EMovieSceneKeyInterpolation::Auto): + RetValue = Channel.AddCubicKey(FrameNumber, value, RCTM_Auto); + break; + case(EMovieSceneKeyInterpolation::User): + RetValue = Channel.AddCubicKey(FrameNumber, value, RCTM_User); + case(EMovieSceneKeyInterpolation::Break): + RetValue = Channel.AddCubicKey(FrameNumber, value, RCTM_Break); + break; + case(EMovieSceneKeyInterpolation::Linear): + RetValue = Channel.AddLinearKey(FrameNumber, value); + break; + case(EMovieSceneKeyInterpolation::Constant): + RetValue = Channel.AddConstantKey(FrameNumber, value); + break; + default: + return PyErr_Format(PyExc_Exception, "unsupported interpolation"); + } + return PyLong_FromLong(RetValue); +#endif Py_RETURN_NONE; } } @@ -803,7 +922,13 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) bool value = false; if (PyObject_IsTrue(py_value)) value = true; +#if ENGINE_MINOR_VERSION < 20 section_bool->AddKey(time, value, (EMovieSceneKeyInterpolation)interpolation); +#else + FMovieSceneBoolChannel& Channel = section_bool->GetChannel(); + int32 RetValue = Channel.GetData().AddKey(FrameNumber, value); + return PyLong_FromLong(RetValue); +#endif Py_RETURN_NONE; } } @@ -815,6 +940,7 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) bool unwind = (py_unwind && PyObject_IsTrue(py_unwind)); FTransform transform = py_transform->transform; +#if ENGINE_MINOR_VERSION < 20 FTransformKey tx = FTransformKey(EKey3DTransformChannel::Translation, EAxis::X, transform.GetLocation().X, unwind); FTransformKey ty = FTransformKey(EKey3DTransformChannel::Translation, EAxis::Y, transform.GetLocation().Y, unwind); FTransformKey tz = FTransformKey(EKey3DTransformChannel::Translation, EAxis::Z, transform.GetLocation().Z, unwind); @@ -837,6 +963,81 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) section_transform->AddKey(time, sy, (EMovieSceneKeyInterpolation)interpolation); section_transform->AddKey(time, sz, (EMovieSceneKeyInterpolation)interpolation); Py_RETURN_NONE; +#else + int RetValueTX, RetValueTY, RetValueTZ = -1; + int RetValueRX, RetValueRY, RetValueRZ = -1; + int RetValueSX, RetValueSY, RetValueSZ = -1; + FMovieSceneFloatChannel *ChannelTX = section_transform->GetChannelProxy().GetChannel(0); + FMovieSceneFloatChannel *ChannelTY = section_transform->GetChannelProxy().GetChannel(1); + FMovieSceneFloatChannel *ChannelTZ = section_transform->GetChannelProxy().GetChannel(2); + FMovieSceneFloatChannel *ChannelRX = section_transform->GetChannelProxy().GetChannel(3); + FMovieSceneFloatChannel *ChannelRY = section_transform->GetChannelProxy().GetChannel(4); + FMovieSceneFloatChannel *ChannelRZ = section_transform->GetChannelProxy().GetChannel(5); + FMovieSceneFloatChannel *ChannelSX = section_transform->GetChannelProxy().GetChannel(6); + FMovieSceneFloatChannel *ChannelSY = section_transform->GetChannelProxy().GetChannel(7); + FMovieSceneFloatChannel *ChannelSZ = section_transform->GetChannelProxy().GetChannel(8); + + switch (InterpolationMode) + { + case(EMovieSceneKeyInterpolation::Auto): + RetValueTX = ChannelTX->AddCubicKey(FrameNumber, transform.GetTranslation().X, RCTM_Auto); + RetValueTY = ChannelTY->AddCubicKey(FrameNumber, transform.GetTranslation().Y, RCTM_Auto); + RetValueTZ = ChannelTZ->AddCubicKey(FrameNumber, transform.GetTranslation().Z, RCTM_Auto); + RetValueRX = ChannelRX->AddCubicKey(FrameNumber, transform.GetRotation().Euler().X, RCTM_Auto); + RetValueRY = ChannelRY->AddCubicKey(FrameNumber, transform.GetRotation().Euler().Y, RCTM_Auto); + RetValueRZ = ChannelRZ->AddCubicKey(FrameNumber, transform.GetRotation().Euler().Z, RCTM_Auto); + RetValueSX = ChannelSX->AddCubicKey(FrameNumber, transform.GetScale3D().X, RCTM_Auto); + RetValueSY = ChannelSY->AddCubicKey(FrameNumber, transform.GetScale3D().Y, RCTM_Auto); + RetValueSZ = ChannelSZ->AddCubicKey(FrameNumber, transform.GetScale3D().Z, RCTM_Auto); + break; + case(EMovieSceneKeyInterpolation::User): + RetValueTX = ChannelTX->AddCubicKey(FrameNumber, transform.GetTranslation().X, RCTM_User); + RetValueTY = ChannelTY->AddCubicKey(FrameNumber, transform.GetTranslation().Y, RCTM_User); + RetValueTZ = ChannelTZ->AddCubicKey(FrameNumber, transform.GetTranslation().Z, RCTM_User); + RetValueRX = ChannelRX->AddCubicKey(FrameNumber, transform.GetRotation().Euler().X, RCTM_User); + RetValueRY = ChannelRY->AddCubicKey(FrameNumber, transform.GetRotation().Euler().Y, RCTM_User); + RetValueRZ = ChannelRZ->AddCubicKey(FrameNumber, transform.GetRotation().Euler().Z, RCTM_User); + RetValueSX = ChannelSX->AddCubicKey(FrameNumber, transform.GetScale3D().X, RCTM_User); + RetValueSY = ChannelSY->AddCubicKey(FrameNumber, transform.GetScale3D().Y, RCTM_User); + RetValueSZ = ChannelSZ->AddCubicKey(FrameNumber, transform.GetScale3D().Z, RCTM_User); + case(EMovieSceneKeyInterpolation::Break): + RetValueTX = ChannelTX->AddCubicKey(FrameNumber, transform.GetTranslation().X, RCTM_Break); + RetValueTY = ChannelTY->AddCubicKey(FrameNumber, transform.GetTranslation().Y, RCTM_Break); + RetValueTZ = ChannelTZ->AddCubicKey(FrameNumber, transform.GetTranslation().Z, RCTM_Break); + RetValueRX = ChannelRX->AddCubicKey(FrameNumber, transform.GetRotation().Euler().X, RCTM_Break); + RetValueRY = ChannelRY->AddCubicKey(FrameNumber, transform.GetRotation().Euler().Y, RCTM_Break); + RetValueRZ = ChannelRZ->AddCubicKey(FrameNumber, transform.GetRotation().Euler().Z, RCTM_Break); + RetValueSX = ChannelSX->AddCubicKey(FrameNumber, transform.GetScale3D().X, RCTM_Break); + RetValueSY = ChannelSY->AddCubicKey(FrameNumber, transform.GetScale3D().Y, RCTM_Break); + RetValueSZ = ChannelSZ->AddCubicKey(FrameNumber, transform.GetScale3D().Z, RCTM_Break); + break; + case(EMovieSceneKeyInterpolation::Linear): + RetValueTX = ChannelTX->AddLinearKey(FrameNumber, transform.GetTranslation().X); + RetValueTY = ChannelTY->AddLinearKey(FrameNumber, transform.GetTranslation().Y); + RetValueTZ = ChannelTZ->AddLinearKey(FrameNumber, transform.GetTranslation().Z); + RetValueRX = ChannelRX->AddLinearKey(FrameNumber, transform.GetRotation().Euler().X); + RetValueRY = ChannelRY->AddLinearKey(FrameNumber, transform.GetRotation().Euler().Y); + RetValueRZ = ChannelRZ->AddLinearKey(FrameNumber, transform.GetRotation().Euler().Z); + RetValueSX = ChannelSX->AddLinearKey(FrameNumber, transform.GetScale3D().X); + RetValueSY = ChannelSY->AddLinearKey(FrameNumber, transform.GetScale3D().Y); + RetValueSZ = ChannelSZ->AddLinearKey(FrameNumber, transform.GetScale3D().Z); + break; + case(EMovieSceneKeyInterpolation::Constant): + RetValueTX = ChannelTX->AddConstantKey(FrameNumber, transform.GetTranslation().X); + RetValueTY = ChannelTY->AddConstantKey(FrameNumber, transform.GetTranslation().Y); + RetValueTZ = ChannelTZ->AddConstantKey(FrameNumber, transform.GetTranslation().Z); + RetValueRX = ChannelRX->AddConstantKey(FrameNumber, transform.GetRotation().Euler().X); + RetValueRY = ChannelRY->AddConstantKey(FrameNumber, transform.GetRotation().Euler().Y); + RetValueRZ = ChannelRZ->AddConstantKey(FrameNumber, transform.GetRotation().Euler().Z); + RetValueSX = ChannelSX->AddConstantKey(FrameNumber, transform.GetScale3D().X); + RetValueSY = ChannelSY->AddConstantKey(FrameNumber, transform.GetScale3D().Y); + RetValueSZ = ChannelSZ->AddConstantKey(FrameNumber, transform.GetScale3D().Z); + break; + default: + return PyErr_Format(PyExc_Exception, "unsupported interpolation"); + } + return Py_BuildValue("((iii)(iii)(iii))", RetValueTX, RetValueTY, RetValueTZ, RetValueRX, RetValueRY, RetValueRZ, RetValueSX, RetValueSY, RetValueSZ); +#endif } } @@ -845,6 +1046,7 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) if (ue_PyFVector *py_vector = py_ue_is_fvector(py_value)) { FVector vec = py_vector->vec; +#if ENGINE_MINOR_VERSION < 20 FVectorKey vx = FVectorKey(EKeyVectorChannel::X, vec.X); FVectorKey vy = FVectorKey(EKeyVectorChannel::Y, vec.Y); FVectorKey vz = FVectorKey(EKeyVectorChannel::Z, vec.Z); @@ -853,13 +1055,50 @@ PyObject *py_ue_sequencer_section_add_key(ue_PyUObject *self, PyObject * args) section_vector->AddKey(time, vx, (EMovieSceneKeyInterpolation)interpolation); section_vector->AddKey(time, vy, (EMovieSceneKeyInterpolation)interpolation); section_vector->AddKey(time, vz, (EMovieSceneKeyInterpolation)interpolation); +#else + int RetValueVX, RetValueVY, RetValueVZ = -1; + + FMovieSceneFloatChannel& ChannelX = (FMovieSceneFloatChannel&)section_vector->GetChannel(0); + FMovieSceneFloatChannel& ChannelY = (FMovieSceneFloatChannel&)section_vector->GetChannel(1); + FMovieSceneFloatChannel& ChannelZ = (FMovieSceneFloatChannel&)section_vector->GetChannel(2); + + switch (InterpolationMode) + { + case(EMovieSceneKeyInterpolation::Auto): + RetValueVX = ChannelX.AddCubicKey(FrameNumber, vec.X, RCTM_Auto); + RetValueVY = ChannelY.AddCubicKey(FrameNumber, vec.Y, RCTM_Auto); + RetValueVZ = ChannelZ.AddCubicKey(FrameNumber, vec.Z, RCTM_Auto); + break; + case(EMovieSceneKeyInterpolation::User): + RetValueVX = ChannelX.AddCubicKey(FrameNumber, vec.X, RCTM_User); + RetValueVY = ChannelY.AddCubicKey(FrameNumber, vec.Y, RCTM_User); + RetValueVZ = ChannelZ.AddCubicKey(FrameNumber, vec.Z, RCTM_User); + case(EMovieSceneKeyInterpolation::Break): + RetValueVX = ChannelX.AddCubicKey(FrameNumber, vec.X, RCTM_Break); + RetValueVY = ChannelY.AddCubicKey(FrameNumber, vec.Y, RCTM_Break); + RetValueVZ = ChannelZ.AddCubicKey(FrameNumber, vec.Z, RCTM_Break); + break; + case(EMovieSceneKeyInterpolation::Linear): + RetValueVX = ChannelX.AddLinearKey(FrameNumber, vec.X); + RetValueVY = ChannelY.AddLinearKey(FrameNumber, vec.Y); + RetValueVZ = ChannelZ.AddLinearKey(FrameNumber, vec.Z); + break; + case(EMovieSceneKeyInterpolation::Constant): + RetValueVX = ChannelX.AddConstantKey(FrameNumber, vec.X); + RetValueVY = ChannelY.AddConstantKey(FrameNumber, vec.Y); + RetValueVZ = ChannelZ.AddConstantKey(FrameNumber, vec.Z); + break; + default: + return PyErr_Format(PyExc_Exception, "unsupported interpolation"); + } + return Py_BuildValue("(iii)", RetValueVX, RetValueVY, RetValueVZ); +#endif Py_RETURN_NONE; } } return PyErr_Format(PyExc_Exception, "unsupported section type: %s", TCHAR_TO_UTF8(*section->GetClass()->GetName())); -#endif } PyObject *py_ue_sequencer_add_camera_cut_track(ue_PyUObject *self, PyObject * args) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h index cd09e7864..ac22a41a7 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.h @@ -10,6 +10,7 @@ PyObject *py_ue_sequencer_track_sections(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_get_camera_cut_track(ue_PyUObject *, PyObject *); #if WITH_EDITOR PyObject *py_ue_sequencer_set_playback_range(ue_PyUObject *, PyObject *); +PyObject *py_ue_sequencer_set_section_range(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_folders(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_create_folder(ue_PyUObject *, PyObject *); PyObject *py_ue_sequencer_set_display_name(ue_PyUObject *, PyObject *); diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFFrameNumber.cpp b/Source/UnrealEnginePython/Private/Wrappers/UEPyFFrameNumber.cpp new file mode 100644 index 000000000..bb939c680 --- /dev/null +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFFrameNumber.cpp @@ -0,0 +1,83 @@ +#include "UEPyFFrameNumber.h" + +#if ENGINE_MINOR_VERSION >= 20 + +static PyObject *ue_PyFFrameNumber_str(ue_PyFFrameNumber *self) +{ + return PyUnicode_FromFormat("", + self->frame_number.Value); +} + +static PyTypeObject ue_PyFFrameNumberType = { + PyVarObject_HEAD_INIT(NULL, 0) + "unreal_engine.FMFrameNumber", /* tp_name */ + sizeof(ue_PyFFrameNumber), /* tp_basicsize */ + 0, /* tp_itemsize */ + 0, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + (reprfunc)ue_PyFFrameNumber_str, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ +#if PY_MAJOR_VERSION < 3 + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_CHECKTYPES, /* tp_flags */ +#else + Py_TPFLAGS_DEFAULT, /* tp_flags */ +#endif + "Unreal Engine FFrameNumber", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + 0, /* tp_methods */ + 0, + 0, +}; + +static int py_ue_fframe_number_init(ue_PyFFrameNumber *self, PyObject * args) +{ + int value = 0; + if (!PyArg_ParseTuple(args, "i", &value)) + return -1; + new(&self->frame_number) FFrameNumber(value); + return 0; +} + +void ue_python_init_fframe_number(PyObject *ue_module) +{ + ue_PyFFrameNumberType.tp_new = PyType_GenericNew; + ue_PyFFrameNumberType.tp_init = (initproc)py_ue_fframe_number_init; + + if (PyType_Ready(&ue_PyFFrameNumberType) < 0) + return; + + Py_INCREF(&ue_PyFFrameNumberType); + PyModule_AddObject(ue_module, "FFrameNumber", (PyObject *)&ue_PyFFrameNumberType); +} + +ue_PyFFrameNumber *py_ue_is_fframe_number(PyObject *obj) +{ + if (!PyObject_IsInstance(obj, (PyObject *)&ue_PyFFrameNumberType)) + return nullptr; + return (ue_PyFFrameNumber *)obj; +} + +PyObject *py_ue_new_fframe_number(FFrameNumber frame_number) +{ + ue_PyFFrameNumber *ret = (ue_PyFFrameNumber *)PyObject_New(ue_PyFFrameNumber, &ue_PyFFrameNumberType); + new(&ret->frame_number) FFrameNumber(frame_number); + return (PyObject *)ret; +} + +#endif \ No newline at end of file diff --git a/Source/UnrealEnginePython/Private/Wrappers/UEPyFFrameNumber.h b/Source/UnrealEnginePython/Private/Wrappers/UEPyFFrameNumber.h new file mode 100644 index 000000000..33bb29b1a --- /dev/null +++ b/Source/UnrealEnginePython/Private/Wrappers/UEPyFFrameNumber.h @@ -0,0 +1,19 @@ +#pragma once +#include "UnrealEnginePython.h" + +#if ENGINE_MINOR_VERSION >= 20 + +#include "Runtime/Core/Public/Misc/FrameNumber.h" + +struct ue_PyFFrameNumber { + PyObject_HEAD + /* Type-specific fields go here. */ + FFrameNumber frame_number; +}; + +void ue_python_init_fframe_number(PyObject *); + +PyObject *py_ue_new_fframe_number(FFrameNumber); + +ue_PyFFrameNumber *py_ue_is_fframe_number(PyObject *); +#endif diff --git a/examples/sequencer_scripting.py b/examples/sequencer_scripting.py index dc8c64a7d..b1bc4d1c1 100644 --- a/examples/sequencer_scripting.py +++ b/examples/sequencer_scripting.py @@ -1,7 +1,7 @@ # the Sequencer API support has been sponsored by Matthew Whelan (http://www.mattwhelan.com/) import unreal_engine as ue -from unreal_engine.classes import MovieSceneAudioTrack, LevelSequenceFactoryNew, MovieSceneSkeletalAnimationTrack, Character, SkeletalMesh, MovieScene3DTransformTrack, CineCameraActor +from unreal_engine.classes import MovieSceneAudioTrack, LevelSequenceFactoryNew, MovieSceneSkeletalAnimationTrack, Character, SkeletalMesh, MovieScene3DTransformTrack, CineCameraActor, AnimSequence import time from unreal_engine.structs import FloatRange, FloatRangeBound, MovieSceneObjectBindingID from unreal_engine import FTransform, FVector @@ -12,6 +12,11 @@ factory = LevelSequenceFactoryNew() seq = factory.factory_create_new('/Game/MovieMaster' + str(int(time.time()))) +if ue.ENGINE_MINOR_VERSION >= 20 + print(seq.MovieScene.TickResolution.Numerator) + +seq.sequencer_set_playback_range(0, 30) + # add an audio track (without sound section ;) to the sequence audio = seq.sequencer_add_master_track(MovieSceneAudioTrack) @@ -22,7 +27,7 @@ character = world.actor_spawn(Character) # notify modifications are about to happen... character.modify() -character.Mesh.SkeletalMesh = ue.load_object(SkeletalMesh, '/Game/InfinityBladeAdversaries/Enemy/Enemy_Bear/Enemy_Bear.Enemy_Bear') +character.Mesh.SkeletalMesh = ue.load_object(SkeletalMesh, '/Game/Mannequin/Character/Mesh/SK_Mannequin.SK_Mannequin') # finalize the actor character.post_edit_change() @@ -35,35 +40,28 @@ # create 3 animations sections (assign AnimSequence field to set the animation to play) anim_sequence = anim.sequencer_track_add_section() -anim_sequence.StartTime = 1 -anim_sequence.EndTime = 3 +anim_sequence.sequencer_set_section_range(1, 3) +anim_sequence.Params.Animation = ue.load_object(AnimSequence, '/Game/Mannequin/Animations/ThirdPersonRun.ThirdPersonRun') anim_sequence.RowIndex = 0 anim_sequence2 = anim.sequencer_track_add_section() anim_sequence2.RowIndex = 1 -anim_sequence2.StartTime = 2 -anim_sequence2.EndTime = 5 +anim_sequence2.sequencer_set_section_range(2, 5) anim_sequence3 = anim.sequencer_track_add_section() anim_sequence3.RowIndex = 1 anim_sequence3.SlotName = 'Hello' -anim_sequence3.StartTIme = 0 -anim_sequence3.EndTime = 30 +anim_sequence3.sequencer_set_section_range(0, 30) # add a transform track/section in one shot to the actor transform = seq.sequencer_add_track(MovieScene3DTransformTrack, guid).sequencer_track_add_section() -transform.StartTime = 0 -transform.EndTime = 5 +transform.sequencer_set_section_range(0, 50) -# add keyframes to the transform section -transform.sequencer_section_add_key(0, FTransform(FVector(0, 0, 17 * 100))) -transform.sequencer_section_add_key(1, FTransform(FVector(0, 0, 22 * 100))) -transform.sequencer_section_add_key(2, FTransform(FVector(0, 0, 26 * 100))) -transform.sequencer_section_add_key(2.5, FTransform(FVector(0, 0, 30 * 100))) - -# set playback range -float_range = FloatRange(LowerBound=FloatRangeBound(Value=0), UpperBound=FloatRangeBound(Value=10)) -seq.MovieScene.PlaybackRange = float_range +# add keyframes to the transform section (from 4.20 you can directly use teh reflection api, and the methods returns the frame numbers) +print(transform.sequencer_section_add_key(0, FTransform(FVector(0, 0, 17 * 100)))) +print(transform.sequencer_section_add_key(1.1, FTransform(FVector(0, 0, 22 * 100)))) +print(transform.sequencer_section_add_key(2.2, FTransform(FVector(0, 0, 26 * 100)))) +print(transform.sequencer_section_add_key(3.3, FTransform(FVector(0, 0, 30 * 100)))) # add camera cut track (can be only one) camera_cut_track = seq.sequencer_add_camera_cut_track() @@ -83,12 +81,9 @@ camera1.CameraBindingID = MovieSceneObjectBindingID( Guid=ue.string_to_guid( camera_guid ), Space=EMovieSceneObjectBindingSpace.Local ) camera2.CameraBindingID = MovieSceneObjectBindingID( Guid=ue.string_to_guid( camera2_guid ), Space=EMovieSceneObjectBindingSpace.Local ) -# set cameras time slots -camera1.StartTime = 0 -camera1.EndTime = 3.5 - -camera2.StartTime = 3.5 -camera2.EndTime = 5 +# set cameras ranges +camera1.sequencer_set_section_range(3.5, 5) +camera2.sequencer_set_section_range(0.5, 17) # notify the sequence editor that something heavily changed (True will focus to the sequence editor) seq.sequencer_changed(True) From f362c4921f8ed6d6c86875dc4ff56db4822ab59d Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 21 Jul 2018 11:25:17 +0200 Subject: [PATCH 284/538] fixed 4.19 --- Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index f71b77dc3..e41fd3e0a 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -789,7 +789,7 @@ PyObject *py_ue_sequencer_set_playback_range(ue_PyUObject *self, PyObject * args return PyErr_Format(PyExc_Exception, "range must use float or FrameNumber"); scene->SetPlaybackRange(TRange::Inclusive(FrameStart, FrameEnd)); - + #endif Py_RETURN_NONE; @@ -812,8 +812,8 @@ PyObject *py_ue_sequencer_set_section_range(ue_PyUObject *self, PyObject * args) return nullptr; } - section->StartTime = start_time; - section->EndTime = end_time; + section->SetRange(TRange::Inclusive(start_time, end_time)); + #else PyObject *py_start; PyObject *py_end; From 4b56fbc1bc244b4c1371aa7d0898cf9823a9fe97 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 21 Jul 2018 11:40:57 +0200 Subject: [PATCH 285/538] fixed 4.15 --- .../UnrealEnginePython/Private/UObject/UEPySequencer.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index e41fd3e0a..21ff15759 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -95,7 +95,11 @@ PyObject *py_ue_sequencer_changed(ue_PyUObject *self, PyObject * args) #if ENGINE_MINOR_VERSION < 13 sequencer->NotifyMovieSceneDataChanged(); #else +#if ENGINE_MINOR_VERSION > 15 sequencer->NotifyMovieSceneDataChanged(EMovieSceneDataChangeType::RefreshAllImmediately); +#else + sequencer->NotifyMovieSceneDataChanged(EMovieSceneDataChangeType::Unknown); +#endif #endif } @@ -812,7 +816,12 @@ PyObject *py_ue_sequencer_set_section_range(ue_PyUObject *self, PyObject * args) return nullptr; } +#if ENGINE_MINOR_VERSION > 15 section->SetRange(TRange::Inclusive(start_time, end_time)); +#else + section->SetRange(TRange(TRangeBound::Inclusive(start_time), TRangeBound::Inclusive(end_time))); +#endif + #else PyObject *py_start; From a587e874f6c0720c607e5d82e60352d9565f0ac1 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 21 Jul 2018 11:54:48 +0200 Subject: [PATCH 286/538] fixed 4.16 --- Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index 21ff15759..564fb1068 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -95,7 +95,7 @@ PyObject *py_ue_sequencer_changed(ue_PyUObject *self, PyObject * args) #if ENGINE_MINOR_VERSION < 13 sequencer->NotifyMovieSceneDataChanged(); #else -#if ENGINE_MINOR_VERSION > 15 +#if ENGINE_MINOR_VERSION > 16 sequencer->NotifyMovieSceneDataChanged(EMovieSceneDataChangeType::RefreshAllImmediately); #else sequencer->NotifyMovieSceneDataChanged(EMovieSceneDataChangeType::Unknown); @@ -816,7 +816,7 @@ PyObject *py_ue_sequencer_set_section_range(ue_PyUObject *self, PyObject * args) return nullptr; } -#if ENGINE_MINOR_VERSION > 15 +#if ENGINE_MINOR_VERSION > 16 section->SetRange(TRange::Inclusive(start_time, end_time)); #else section->SetRange(TRange(TRangeBound::Inclusive(start_time), TRangeBound::Inclusive(end_time))); From 566bf86e826a44791866842e58a08fcbbaab826e Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sat, 21 Jul 2018 12:15:52 +0200 Subject: [PATCH 287/538] fixed 4.17 --- Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index 564fb1068..0e229ae00 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -816,7 +816,7 @@ PyObject *py_ue_sequencer_set_section_range(ue_PyUObject *self, PyObject * args) return nullptr; } -#if ENGINE_MINOR_VERSION > 16 +#if ENGINE_MINOR_VERSION > 17 section->SetRange(TRange::Inclusive(start_time, end_time)); #else section->SetRange(TRange(TRangeBound::Inclusive(start_time), TRangeBound::Inclusive(end_time))); From 0393f40181988789eeec95d1cd9d6eec811ec2a2 Mon Sep 17 00:00:00 2001 From: Roberto De Ioris Date: Sun, 22 Jul 2018 20:26:56 +0200 Subject: [PATCH 288/538] Android support --- .../Private/PyCommandlet.cpp | 4 +- .../UnrealEnginePython/Private/UEPyModule.cpp | 2 +- .../Private/UObject/UEPySequencer.cpp | 57 +- .../Private/UnrealEnginePython.cpp | 64 +- .../Public/UnrealEnginePython.h | 3 + .../UnrealEnginePython.Build.cs | 10 + .../UnrealEnginePython_APL.xml | 24 + android/armeabi-v7a/libcrystax.so | Bin 0 -> 3531200 bytes android/armeabi-v7a/libpython2.7.so | Bin 0 -> 7108156 bytes android/armeabi-v7a/libpython3.5m.so | Bin 0 -> 8821596 bytes android/python27/include/Python-ast.h | 535 ++++ android/python27/include/Python.h | 178 ++ android/python27/include/abstract.h | 1396 ++++++++++ android/python27/include/asdl.h | 45 + android/python27/include/ast.h | 13 + android/python27/include/bitset.h | 32 + android/python27/include/boolobject.h | 36 + android/python27/include/bufferobject.h | 33 + android/python27/include/bytearrayobject.h | 57 + android/python27/include/bytes_methods.h | 75 + android/python27/include/bytesobject.h | 27 + android/python27/include/cStringIO.h | 73 + android/python27/include/cellobject.h | 28 + android/python27/include/ceval.h | 153 ++ android/python27/include/classobject.h | 83 + android/python27/include/cobject.h | 89 + android/python27/include/code.h | 107 + android/python27/include/codecs.h | 167 ++ android/python27/include/compile.h | 40 + android/python27/include/complexobject.h | 66 + android/python27/include/datetime.h | 239 ++ android/python27/include/descrobject.h | 94 + android/python27/include/dictobject.h | 156 ++ android/python27/include/dtoa.h | 15 + android/python27/include/enumobject.h | 17 + android/python27/include/errcode.h | 36 + android/python27/include/eval.h | 25 + android/python27/include/fileobject.h | 97 + android/python27/include/floatobject.h | 140 + android/python27/include/frameobject.h | 89 + android/python27/include/funcobject.h | 76 + android/python27/include/genobject.h | 40 + android/python27/include/graminit.h | 87 + android/python27/include/grammar.h | 93 + android/python27/include/import.h | 71 + android/python27/include/intobject.h | 81 + android/python27/include/intrcheck.h | 15 + android/python27/include/iterobject.h | 23 + android/python27/include/listobject.h | 68 + android/python27/include/longintrepr.h | 103 + android/python27/include/longobject.h | 135 + android/python27/include/marshal.h | 25 + android/python27/include/memoryobject.h | 74 + android/python27/include/metagrammar.h | 18 + android/python27/include/methodobject.h | 93 + android/python27/include/modsupport.h | 134 + android/python27/include/moduleobject.h | 24 + android/python27/include/node.h | 41 + android/python27/include/object.h | 1013 ++++++++ android/python27/include/objimpl.h | 354 +++ android/python27/include/opcode.h | 162 ++ android/python27/include/osdefs.h | 63 + android/python27/include/parsetok.h | 64 + android/python27/include/patchlevel.h | 43 + android/python27/include/pgen.h | 18 + android/python27/include/pgenheaders.h | 42 + android/python27/include/py_curses.h | 176 ++ android/python27/include/pyarena.h | 62 + android/python27/include/pycapsule.h | 56 + android/python27/include/pyconfig.h | 20 + android/python27/include/pyconfig_arm64_v8a.h | 1282 ++++++++++ android/python27/include/pyconfig_armeabi.h | 1282 ++++++++++ .../python27/include/pyconfig_armeabi_v7a.h | 1282 ++++++++++ .../include/pyconfig_armeabi_v7a_hard.h | 1282 ++++++++++ android/python27/include/pyconfig_mips.h | 1282 ++++++++++ android/python27/include/pyconfig_mips64.h | 1282 ++++++++++ android/python27/include/pyconfig_x86.h | 1282 ++++++++++ android/python27/include/pyconfig_x86_64.h | 1282 ++++++++++ android/python27/include/pyctype.h | 31 + android/python27/include/pydebug.h | 41 + android/python27/include/pyerrors.h | 329 +++ android/python27/include/pyexpat.h | 48 + android/python27/include/pyfpe.h | 176 ++ android/python27/include/pygetopt.h | 18 + android/python27/include/pymacconfig.h | 102 + android/python27/include/pymactoolbox.h | 217 ++ android/python27/include/pymath.h | 192 ++ android/python27/include/pymem.h | 122 + android/python27/include/pyport.h | 941 +++++++ android/python27/include/pystate.h | 200 ++ android/python27/include/pystrcmp.h | 23 + android/python27/include/pystrtod.h | 45 + android/python27/include/pythonrun.h | 182 ++ android/python27/include/pythread.h | 41 + android/python27/include/rangeobject.h | 28 + android/python27/include/setobject.h | 99 + android/python27/include/sliceobject.h | 44 + android/python27/include/stringobject.h | 210 ++ android/python27/include/structmember.h | 99 + android/python27/include/structseq.h | 41 + android/python27/include/symtable.h | 98 + android/python27/include/sysmodule.h | 31 + android/python27/include/timefuncs.h | 26 + android/python27/include/token.h | 85 + android/python27/include/traceback.h | 31 + android/python27/include/tupleobject.h | 61 + android/python27/include/ucnhash.h | 33 + android/python27/include/unicodeobject.h | 1413 ++++++++++ android/python27/include/warnings.h | 23 + android/python27/include/weakrefobject.h | 82 + android/python27/stdlib.zip | Bin 0 -> 1685351 bytes android/python35/include/Python-ast.h | 600 +++++ android/python35/include/Python.h | 135 + android/python35/include/abstract.h | 1285 ++++++++++ android/python35/include/accu.h | 37 + android/python35/include/asdl.h | 45 + android/python35/include/ast.h | 22 + android/python35/include/bitset.h | 32 + android/python35/include/bltinmodule.h | 14 + android/python35/include/boolobject.h | 34 + android/python35/include/bytearrayobject.h | 62 + android/python35/include/bytes_methods.h | 46 + android/python35/include/bytesobject.h | 129 + android/python35/include/cellobject.h | 29 + android/python35/include/ceval.h | 207 ++ android/python35/include/classobject.h | 58 + android/python35/include/code.h | 126 + android/python35/include/codecs.h | 236 ++ android/python35/include/compile.h | 73 + android/python35/include/complexobject.h | 69 + android/python35/include/datetime.h | 243 ++ android/python35/include/descrobject.h | 105 + android/python35/include/dictobject.h | 147 ++ android/python35/include/dtoa.h | 19 + .../python35/include/dynamic_annotations.h | 499 ++++ android/python35/include/enumobject.h | 17 + android/python35/include/errcode.h | 38 + android/python35/include/eval.h | 27 + android/python35/include/fileobject.h | 47 + android/python35/include/fileutils.h | 142 ++ android/python35/include/floatobject.h | 128 + android/python35/include/frameobject.h | 95 + android/python35/include/funcobject.h | 89 + android/python35/include/genobject.h | 68 + android/python35/include/graminit.h | 87 + android/python35/include/grammar.h | 93 + android/python35/include/import.h | 130 + android/python35/include/intrcheck.h | 21 + android/python35/include/iterobject.h | 25 + android/python35/include/listobject.h | 81 + android/python35/include/longintrepr.h | 103 + android/python35/include/longobject.h | 207 ++ android/python35/include/marshal.h | 28 + android/python35/include/memoryobject.h | 70 + android/python35/include/metagrammar.h | 18 + android/python35/include/methodobject.h | 94 + android/python35/include/modsupport.h | 155 ++ android/python35/include/moduleobject.h | 85 + android/python35/include/namespaceobject.h | 17 + android/python35/include/node.h | 44 + android/python35/include/object.h | 1028 ++++++++ android/python35/include/objimpl.h | 363 +++ android/python35/include/odictobject.h | 43 + android/python35/include/opcode.h | 142 ++ android/python35/include/osdefs.h | 47 + android/python35/include/parsetok.h | 108 + android/python35/include/patchlevel.h | 35 + android/python35/include/pgen.h | 18 + android/python35/include/pgenheaders.h | 42 + android/python35/include/py_curses.h | 177 ++ android/python35/include/pyarena.h | 64 + android/python35/include/pyatomic.h | 252 ++ android/python35/include/pycapsule.h | 59 + android/python35/include/pyconfig.h | 20 + android/python35/include/pyconfig_arm64_v8a.h | 1530 +++++++++++ android/python35/include/pyconfig_armeabi.h | 1530 +++++++++++ .../python35/include/pyconfig_armeabi_v7a.h | 1530 +++++++++++ .../include/pyconfig_armeabi_v7a_hard.h | 1530 +++++++++++ android/python35/include/pyconfig_mips.h | 1530 +++++++++++ android/python35/include/pyconfig_mips64.h | 1530 +++++++++++ android/python35/include/pyconfig_x86.h | 1530 +++++++++++ android/python35/include/pyconfig_x86_64.h | 1530 +++++++++++ android/python35/include/pyctype.h | 33 + android/python35/include/pydebug.h | 36 + android/python35/include/pyerrors.h | 475 ++++ android/python35/include/pyexpat.h | 53 + android/python35/include/pyfpe.h | 176 ++ android/python35/include/pygetopt.h | 21 + android/python35/include/pyhash.h | 149 ++ android/python35/include/pylifecycle.h | 124 + android/python35/include/pymacconfig.h | 102 + android/python35/include/pymacro.h | 91 + android/python35/include/pymath.h | 212 ++ android/python35/include/pymem.h | 188 ++ android/python35/include/pyport.h | 900 +++++++ android/python35/include/pystate.h | 278 ++ android/python35/include/pystrcmp.h | 23 + android/python35/include/pystrhex.h | 17 + android/python35/include/pystrtod.h | 41 + android/python35/include/pythonrun.h | 195 ++ android/python35/include/pythread.h | 93 + android/python35/include/pytime.h | 181 ++ android/python35/include/rangeobject.h | 27 + android/python35/include/setobject.h | 107 + android/python35/include/sliceobject.h | 50 + android/python35/include/structmember.h | 76 + android/python35/include/structseq.h | 49 + android/python35/include/symtable.h | 117 + android/python35/include/sysmodule.h | 43 + android/python35/include/token.h | 90 + android/python35/include/traceback.h | 73 + android/python35/include/tupleobject.h | 73 + android/python35/include/typeslots.h | 85 + android/python35/include/ucnhash.h | 36 + android/python35/include/unicodeobject.h | 2267 +++++++++++++++++ android/python35/include/warnings.h | 54 + android/python35/include/weakrefobject.h | 86 + android/python35/stdlib.zip | Bin 0 -> 1997511 bytes 218 files changed, 50324 insertions(+), 43 deletions(-) create mode 100644 Source/UnrealEnginePython/UnrealEnginePython_APL.xml create mode 100644 android/armeabi-v7a/libcrystax.so create mode 100644 android/armeabi-v7a/libpython2.7.so create mode 100644 android/armeabi-v7a/libpython3.5m.so create mode 100644 android/python27/include/Python-ast.h create mode 100644 android/python27/include/Python.h create mode 100644 android/python27/include/abstract.h create mode 100644 android/python27/include/asdl.h create mode 100644 android/python27/include/ast.h create mode 100644 android/python27/include/bitset.h create mode 100644 android/python27/include/boolobject.h create mode 100644 android/python27/include/bufferobject.h create mode 100644 android/python27/include/bytearrayobject.h create mode 100644 android/python27/include/bytes_methods.h create mode 100644 android/python27/include/bytesobject.h create mode 100644 android/python27/include/cStringIO.h create mode 100644 android/python27/include/cellobject.h create mode 100644 android/python27/include/ceval.h create mode 100644 android/python27/include/classobject.h create mode 100644 android/python27/include/cobject.h create mode 100644 android/python27/include/code.h create mode 100644 android/python27/include/codecs.h create mode 100644 android/python27/include/compile.h create mode 100644 android/python27/include/complexobject.h create mode 100644 android/python27/include/datetime.h create mode 100644 android/python27/include/descrobject.h create mode 100644 android/python27/include/dictobject.h create mode 100644 android/python27/include/dtoa.h create mode 100644 android/python27/include/enumobject.h create mode 100644 android/python27/include/errcode.h create mode 100644 android/python27/include/eval.h create mode 100644 android/python27/include/fileobject.h create mode 100644 android/python27/include/floatobject.h create mode 100644 android/python27/include/frameobject.h create mode 100644 android/python27/include/funcobject.h create mode 100644 android/python27/include/genobject.h create mode 100644 android/python27/include/graminit.h create mode 100644 android/python27/include/grammar.h create mode 100644 android/python27/include/import.h create mode 100644 android/python27/include/intobject.h create mode 100644 android/python27/include/intrcheck.h create mode 100644 android/python27/include/iterobject.h create mode 100644 android/python27/include/listobject.h create mode 100644 android/python27/include/longintrepr.h create mode 100644 android/python27/include/longobject.h create mode 100644 android/python27/include/marshal.h create mode 100644 android/python27/include/memoryobject.h create mode 100644 android/python27/include/metagrammar.h create mode 100644 android/python27/include/methodobject.h create mode 100644 android/python27/include/modsupport.h create mode 100644 android/python27/include/moduleobject.h create mode 100644 android/python27/include/node.h create mode 100644 android/python27/include/object.h create mode 100644 android/python27/include/objimpl.h create mode 100644 android/python27/include/opcode.h create mode 100644 android/python27/include/osdefs.h create mode 100644 android/python27/include/parsetok.h create mode 100644 android/python27/include/patchlevel.h create mode 100644 android/python27/include/pgen.h create mode 100644 android/python27/include/pgenheaders.h create mode 100644 android/python27/include/py_curses.h create mode 100644 android/python27/include/pyarena.h create mode 100644 android/python27/include/pycapsule.h create mode 100644 android/python27/include/pyconfig.h create mode 100644 android/python27/include/pyconfig_arm64_v8a.h create mode 100644 android/python27/include/pyconfig_armeabi.h create mode 100644 android/python27/include/pyconfig_armeabi_v7a.h create mode 100644 android/python27/include/pyconfig_armeabi_v7a_hard.h create mode 100644 android/python27/include/pyconfig_mips.h create mode 100644 android/python27/include/pyconfig_mips64.h create mode 100644 android/python27/include/pyconfig_x86.h create mode 100644 android/python27/include/pyconfig_x86_64.h create mode 100644 android/python27/include/pyctype.h create mode 100644 android/python27/include/pydebug.h create mode 100644 android/python27/include/pyerrors.h create mode 100644 android/python27/include/pyexpat.h create mode 100644 android/python27/include/pyfpe.h create mode 100644 android/python27/include/pygetopt.h create mode 100644 android/python27/include/pymacconfig.h create mode 100644 android/python27/include/pymactoolbox.h create mode 100644 android/python27/include/pymath.h create mode 100644 android/python27/include/pymem.h create mode 100644 android/python27/include/pyport.h create mode 100644 android/python27/include/pystate.h create mode 100644 android/python27/include/pystrcmp.h create mode 100644 android/python27/include/pystrtod.h create mode 100644 android/python27/include/pythonrun.h create mode 100644 android/python27/include/pythread.h create mode 100644 android/python27/include/rangeobject.h create mode 100644 android/python27/include/setobject.h create mode 100644 android/python27/include/sliceobject.h create mode 100644 android/python27/include/stringobject.h create mode 100644 android/python27/include/structmember.h create mode 100644 android/python27/include/structseq.h create mode 100644 android/python27/include/symtable.h create mode 100644 android/python27/include/sysmodule.h create mode 100644 android/python27/include/timefuncs.h create mode 100644 android/python27/include/token.h create mode 100644 android/python27/include/traceback.h create mode 100644 android/python27/include/tupleobject.h create mode 100644 android/python27/include/ucnhash.h create mode 100644 android/python27/include/unicodeobject.h create mode 100644 android/python27/include/warnings.h create mode 100644 android/python27/include/weakrefobject.h create mode 100644 android/python27/stdlib.zip create mode 100644 android/python35/include/Python-ast.h create mode 100644 android/python35/include/Python.h create mode 100644 android/python35/include/abstract.h create mode 100644 android/python35/include/accu.h create mode 100644 android/python35/include/asdl.h create mode 100644 android/python35/include/ast.h create mode 100644 android/python35/include/bitset.h create mode 100644 android/python35/include/bltinmodule.h create mode 100644 android/python35/include/boolobject.h create mode 100644 android/python35/include/bytearrayobject.h create mode 100644 android/python35/include/bytes_methods.h create mode 100644 android/python35/include/bytesobject.h create mode 100644 android/python35/include/cellobject.h create mode 100644 android/python35/include/ceval.h create mode 100644 android/python35/include/classobject.h create mode 100644 android/python35/include/code.h create mode 100644 android/python35/include/codecs.h create mode 100644 android/python35/include/compile.h create mode 100644 android/python35/include/complexobject.h create mode 100644 android/python35/include/datetime.h create mode 100644 android/python35/include/descrobject.h create mode 100644 android/python35/include/dictobject.h create mode 100644 android/python35/include/dtoa.h create mode 100644 android/python35/include/dynamic_annotations.h create mode 100644 android/python35/include/enumobject.h create mode 100644 android/python35/include/errcode.h create mode 100644 android/python35/include/eval.h create mode 100644 android/python35/include/fileobject.h create mode 100644 android/python35/include/fileutils.h create mode 100644 android/python35/include/floatobject.h create mode 100644 android/python35/include/frameobject.h create mode 100644 android/python35/include/funcobject.h create mode 100644 android/python35/include/genobject.h create mode 100644 android/python35/include/graminit.h create mode 100644 android/python35/include/grammar.h create mode 100644 android/python35/include/import.h create mode 100644 android/python35/include/intrcheck.h create mode 100644 android/python35/include/iterobject.h create mode 100644 android/python35/include/listobject.h create mode 100644 android/python35/include/longintrepr.h create mode 100644 android/python35/include/longobject.h create mode 100644 android/python35/include/marshal.h create mode 100644 android/python35/include/memoryobject.h create mode 100644 android/python35/include/metagrammar.h create mode 100644 android/python35/include/methodobject.h create mode 100644 android/python35/include/modsupport.h create mode 100644 android/python35/include/moduleobject.h create mode 100644 android/python35/include/namespaceobject.h create mode 100644 android/python35/include/node.h create mode 100644 android/python35/include/object.h create mode 100644 android/python35/include/objimpl.h create mode 100644 android/python35/include/odictobject.h create mode 100644 android/python35/include/opcode.h create mode 100644 android/python35/include/osdefs.h create mode 100644 android/python35/include/parsetok.h create mode 100644 android/python35/include/patchlevel.h create mode 100644 android/python35/include/pgen.h create mode 100644 android/python35/include/pgenheaders.h create mode 100644 android/python35/include/py_curses.h create mode 100644 android/python35/include/pyarena.h create mode 100644 android/python35/include/pyatomic.h create mode 100644 android/python35/include/pycapsule.h create mode 100644 android/python35/include/pyconfig.h create mode 100644 android/python35/include/pyconfig_arm64_v8a.h create mode 100644 android/python35/include/pyconfig_armeabi.h create mode 100644 android/python35/include/pyconfig_armeabi_v7a.h create mode 100644 android/python35/include/pyconfig_armeabi_v7a_hard.h create mode 100644 android/python35/include/pyconfig_mips.h create mode 100644 android/python35/include/pyconfig_mips64.h create mode 100644 android/python35/include/pyconfig_x86.h create mode 100644 android/python35/include/pyconfig_x86_64.h create mode 100644 android/python35/include/pyctype.h create mode 100644 android/python35/include/pydebug.h create mode 100644 android/python35/include/pyerrors.h create mode 100644 android/python35/include/pyexpat.h create mode 100644 android/python35/include/pyfpe.h create mode 100644 android/python35/include/pygetopt.h create mode 100644 android/python35/include/pyhash.h create mode 100644 android/python35/include/pylifecycle.h create mode 100644 android/python35/include/pymacconfig.h create mode 100644 android/python35/include/pymacro.h create mode 100644 android/python35/include/pymath.h create mode 100644 android/python35/include/pymem.h create mode 100644 android/python35/include/pyport.h create mode 100644 android/python35/include/pystate.h create mode 100644 android/python35/include/pystrcmp.h create mode 100644 android/python35/include/pystrhex.h create mode 100644 android/python35/include/pystrtod.h create mode 100644 android/python35/include/pythonrun.h create mode 100644 android/python35/include/pythread.h create mode 100644 android/python35/include/pytime.h create mode 100644 android/python35/include/rangeobject.h create mode 100644 android/python35/include/setobject.h create mode 100644 android/python35/include/sliceobject.h create mode 100644 android/python35/include/structmember.h create mode 100644 android/python35/include/structseq.h create mode 100644 android/python35/include/symtable.h create mode 100644 android/python35/include/sysmodule.h create mode 100644 android/python35/include/token.h create mode 100644 android/python35/include/traceback.h create mode 100644 android/python35/include/tupleobject.h create mode 100644 android/python35/include/typeslots.h create mode 100644 android/python35/include/ucnhash.h create mode 100644 android/python35/include/unicodeobject.h create mode 100644 android/python35/include/warnings.h create mode 100644 android/python35/include/weakrefobject.h create mode 100644 android/python35/stdlib.zip diff --git a/Source/UnrealEnginePython/Private/PyCommandlet.cpp b/Source/UnrealEnginePython/Private/PyCommandlet.cpp index 5e9770b7e..e8df51ef3 100644 --- a/Source/UnrealEnginePython/Private/PyCommandlet.cpp +++ b/Source/UnrealEnginePython/Private/PyCommandlet.cpp @@ -92,12 +92,14 @@ int32 UPyCommandlet::Main(const FString& CommandLine) argv[i] = (wchar_t*)malloc(PyArgv[i].Len() + 1); #if PLATFORM_MAC || PLATFORM_LINUX wcsncpy(argv[i], *PyArgv[i].ReplaceEscapedCharWithChar(), PyArgv[i].Len() + 1); +#elif PLATFORM_ANDROID + wcsncpy(argv[i], (const wchar_t *)*PyArgv[i].ReplaceEscapedCharWithChar(), PyArgv[i].Len() + 1); #else wcscpy_s(argv[i], PyArgv[i].Len() + 1, *PyArgv[i].ReplaceEscapedCharWithChar()); #endif #else argv[i] = (char*)malloc(PyArgv[i].Len() + 1); -#if PLATFORM_MAC || PLATFORM_LINUX +#if PLATFORM_MAC || PLATFORM_LINUX || PLATFORM_ANDROID strncpy(argv[i], TCHAR_TO_UTF8(*PyArgv[i].ReplaceEscapedCharWithChar()), PyArgv[i].Len() + 1); #else strcpy_s(argv[i], PyArgv[i].Len() + 1, TCHAR_TO_UTF8(*PyArgv[i].ReplaceEscapedCharWithChar())); diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp index 1da9e8e9e..43507dade 100644 --- a/Source/UnrealEnginePython/Private/UEPyModule.cpp +++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp @@ -2774,7 +2774,7 @@ PyObject *py_ue_ufunction_call(UFunction *u_function, UObject *u_obj, PyObject * { if (!prop->IsInContainer(u_function->ParmsSize)) { - return PyErr_Format(PyExc_Exception, "Attempting to import func param property that's out of bounds. %s", *u_function->GetName()); + return PyErr_Format(PyExc_Exception, "Attempting to import func param property that's out of bounds. %s", TCHAR_TO_UTF8(*u_function->GetName())); } #if WITH_EDITOR FString default_key = FString("CPP_Default_") + prop->GetName(); diff --git a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp index 0e229ae00..aa01fa5d8 100644 --- a/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp +++ b/Source/UnrealEnginePython/Private/UObject/UEPySequencer.cpp @@ -15,8 +15,6 @@ #include "Tracks/MovieSceneCameraCutTrack.h" #if ENGINE_MINOR_VERSION < 20 #include "Sections/IKeyframeSection.h" -#else -#include "Wrappers/UEPyFFrameNumber.h" #endif #include "Sections/MovieSceneFloatSection.h" #include "Sections/MovieSceneBoolSection.h" @@ -37,6 +35,10 @@ #include "Runtime/LevelSequence/Public/LevelSequence.h" #include "Engine/World.h" +#if ENGINE_MINOR_VERSION >= 20 +#include "Wrappers/UEPyFFrameNumber.h" +#endif + #if ENGINE_MINOR_VERSION >= 20 static bool magic_get_frame_number(UMovieScene *MovieScene, PyObject *py_obj, FFrameNumber *dest) @@ -1342,8 +1344,8 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar ue_py_check(self); #if ENGINE_MINOR_VERSION >= 20 - return PyErr_Format(PyExc_Exception, "sequencer_import_fbx_transform still not supported on 4.20"); -#endif + return PyErr_Format(PyExc_Exception, "sequencer_import_fbx_transform() is still not supported in this engine version"); +#else char *filename; char *nodename; @@ -1403,6 +1405,7 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar #if ENGINE_MINOR_VERSION >= 18 CurveAPI.GetConvertedTransformCurveData(NodeName, Translation[0], Translation[1], Translation[2], EulerRotation[0], EulerRotation[1], EulerRotation[2], Scale[0], Scale[1], Scale[2], DefaultTransform); + for (int32 ChannelIndex = 0; ChannelIndex < 3; ++ChannelIndex) { EAxis::Type ChannelAxis = EAxis::X; @@ -1414,14 +1417,13 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar { ChannelAxis = EAxis::Z; } -#if ENGINE_MINOR_VERSION < 20 + section->GetTranslationCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetLocation()[ChannelIndex]); section->GetRotationCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetRotation().Euler()[ChannelIndex]); section->GetScaleCurve(ChannelAxis).SetDefaultValue(DefaultTransform.GetScale3D()[ChannelIndex]); -#else - // TODO ?? -#endif - } + } + + #else CurveAPI.GetConvertedTransformCurveData(NodeName, Translation[0], Translation[1], Translation[2], EulerRotation[0], EulerRotation[1], EulerRotation[2], Scale[0], Scale[1], Scale[2]); @@ -1443,7 +1445,7 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar else if (ChannelIndex == 2) { ChannelAxis = EAxis::Z; - } + } FInterpCurveFloat* CurveFloat = nullptr; FRichCurve* ChannelCurve = nullptr; @@ -1452,11 +1454,7 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar if (CurveIndex == 0) { CurveFloat = &Translation[ChannelIndex]; -#if ENGINE_MINOR_VERSION < 20 ChannelCurve = §ion->GetTranslationCurve(ChannelAxis); -#else - // TODO ??? -#endif if (ChannelIndex == 1) { bNegative = true; @@ -1465,11 +1463,7 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar else if (CurveIndex == 1) { CurveFloat = &EulerRotation[ChannelIndex]; -#if ENGINE_MINOR_VERSION < 20 ChannelCurve = §ion->GetRotationCurve(ChannelAxis); -#else - // TODO ??? -#endif if (ChannelIndex == 1 || ChannelIndex == 2) { bNegative = true; @@ -1478,11 +1472,7 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar else if (CurveIndex == 2) { CurveFloat = &Scale[ChannelIndex]; -#if ENGINE_MINOR_VERSION < 20 ChannelCurve = §ion->GetScaleCurve(ChannelAxis); -#else - // TODO ??? -#endif } if (ChannelCurve != nullptr && CurveFloat != nullptr) @@ -1504,7 +1494,7 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar if (KeyIndex < CurveFloat->Points.Num() - 1) { LeaveTangent = LeaveTangent / (CurveFloat->Points[KeyIndex + 1].InVal - CurveFloat->Points[KeyIndex].InVal); - } + } if (bNegative) { @@ -1512,33 +1502,26 @@ PyObject *py_ue_sequencer_import_fbx_transform(ue_PyUObject *self, PyObject * ar LeaveTangent = -LeaveTangent; } -#if ENGINE_MINOR_VERSION < 20 FMatineeImportTools::SetOrAddKey(*ChannelCurve, CurveFloat->Points[KeyIndex].InVal, CurveFloat->Points[KeyIndex].OutVal, ArriveTangent, LeaveTangent, CurveFloat->Points[KeyIndex].InterpMode); -#else - // TODO ??? -#endif - } + + } ChannelCurve->RemoveRedundantKeys(KINDA_SMALL_NUMBER); ChannelCurve->AutoSetTangents(); - } - } + } +} } -#if ENGINE_MINOR_VERSION < 20 + section->SetStartTime(MinTime); section->SetEndTime(MaxTime); -#else - // TODO - const TRange Range; - //Range.SetLowerBoundValue(); - section->SetRange(Range); -#endif + FbxImporter->ReleaseScene(); ImportOptions->bConvertScene = bConverteScene; ImportOptions->bConvertSceneUnit = bConverteScene; ImportOptions->bForceFrontXAxis = bConverteScene; +#endif Py_RETURN_NONE; } diff --git a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp index 58db4b6c6..c165acf68 100644 --- a/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp +++ b/Source/UnrealEnginePython/Private/UnrealEnginePython.cpp @@ -35,6 +35,13 @@ const char *ue4_module_options = "linux_global_symbols"; #include "Runtime/Core/Public/Misc/ConfigCacheIni.h" #include "Runtime/Core/Public/GenericPlatform/GenericPlatformFile.h" +#include "Runtime/Core/Public/HAL/FileManagerGeneric.h" + +#if PLATFORM_ANDROID +#include "Android/AndroidJNI.h" +#include "Android/AndroidApplication.h" +#endif + const char *UEPyUnicode_AsUTF8(PyObject *py_str) { @@ -223,9 +230,9 @@ FAutoConsoleCommand ExecPythonStringCommand( *NSLOCTEXT("UnrealEnginePython", "CommandText_Cmd", "Execute python string").ToString(), FConsoleCommandWithArgsDelegate::CreateStatic(consoleExecString)); + void FUnrealEnginePythonModule::StartupModule() { - BrutalFinalize = false; // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module @@ -377,8 +384,57 @@ void FUnrealEnginePythonModule::StartupModule() FPlatformMisc::SetEnvironmentVar(TEXT("PATH"), *ModifiedPath); } + + #if PY_MAJOR_VERSION >= 3 init_unreal_engine_builtin(); +#if PLATFORM_ANDROID + extern FString GOBBFilePathBase; + extern FString GFilePathBase; + extern FString GExternalFilePath; + extern FString GPackageName; + extern int32 GAndroidPackageVersion; + FString OBBDir1 = GOBBFilePathBase + FString(TEXT("/Android/obb/") + GPackageName); + FString OBBDir2 = GOBBFilePathBase + FString(TEXT("/obb/") + GPackageName); + FString MainOBBName = FString::Printf(TEXT("main.%d.%s.obb"), GAndroidPackageVersion, *GPackageName); + FString PatchOBBName = FString::Printf(TEXT("patch.%d.%s.obb"), GAndroidPackageVersion, *GPackageName); + FString UnrealEnginePython_OBBPath; + if (FPaths::FileExists(*(OBBDir1 / MainOBBName))) + { + UnrealEnginePython_OBBPath = OBBDir1 / MainOBBName / FApp::GetProjectName() / FString(TEXT("Content/Scripts")); + } + else if (FPaths::FileExists(*(OBBDir2 / MainOBBName))) + { + UnrealEnginePython_OBBPath = OBBDir2 / MainOBBName / FApp::GetProjectName() / FString(TEXT("Content/Scripts")); + } + if (FPaths::FileExists(*(OBBDir1 / PatchOBBName))) + { + UnrealEnginePython_OBBPath = OBBDir1 / PatchOBBName / FApp::GetProjectName() / FString(TEXT("Content/Scripts")); + } + else if (FPaths::FileExists(*(OBBDir2 / PatchOBBName))) + { + UnrealEnginePython_OBBPath = OBBDir1 / PatchOBBName / FApp::GetProjectName() / FString(TEXT("Content/Scripts")); + } + + if (!UnrealEnginePython_OBBPath.IsEmpty()) + { + ScriptsPaths.Add(UnrealEnginePython_OBBPath); + } + + FString FinalPath = GFilePathBase / FString("UE4Game") / FApp::GetProjectName() / FApp::GetProjectName() / FString(TEXT("Content/Scripts")); + ScriptsPaths.Add(FinalPath); + + FString BasePythonPath = FinalPath / FString(TEXT("stdlib.zip")) + FString(":") + FinalPath; + + if (!UnrealEnginePython_OBBPath.IsEmpty()) + { + BasePythonPath += FString(":") + UnrealEnginePython_OBBPath; + } + + UE_LOG(LogPython, Warning, TEXT("Setting Base Path to %s"), *BasePythonPath); + + Py_SetPath(Py_DecodeLocale(TCHAR_TO_UTF8(*BasePythonPath), NULL)); +#endif #endif Py_Initialize(); @@ -422,11 +478,11 @@ void FUnrealEnginePythonModule::StartupModule() #else unreal_engine_py_log_error(); #endif - } + } // release the GIL PyThreadState *UEPyGlobalState = PyEval_SaveThread(); - } +} void FUnrealEnginePythonModule::ShutdownModule() { @@ -593,7 +649,7 @@ void FUnrealEnginePythonModule::RunFile(char *filename) } unreal_engine_py_log_error(); return; -} + } #endif } diff --git a/Source/UnrealEnginePython/Public/UnrealEnginePython.h b/Source/UnrealEnginePython/Public/UnrealEnginePython.h index f16fc9a64..dc28c08f2 100644 --- a/Source/UnrealEnginePython/Public/UnrealEnginePython.h +++ b/Source/UnrealEnginePython/Public/UnrealEnginePython.h @@ -21,6 +21,9 @@ #elif PLATFORM_LINUX #include #include +#elif PLATFORM_ANDROID +#include +#include #elif PLATFORM_WINDOWS #include #ifndef SIZEOF_PID_T diff --git a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs index 5e6500e29..e55f35131 100644 --- a/Source/UnrealEnginePython/UnrealEnginePython.Build.cs +++ b/Source/UnrealEnginePython/UnrealEnginePython.Build.cs @@ -258,6 +258,16 @@ public UnrealEnginePython(TargetInfo Target) PublicAdditionalLibraries.Add(items[1]); } } + else if (Target.Platform == UnrealTargetPlatform.Android) + { + PublicIncludePaths.Add(System.IO.Path.Combine(ModuleDirectory, "../../android/python35/include")); + PublicLibraryPaths.Add(System.IO.Path.Combine(ModuleDirectory, "../../android/armeabi-v7a")); + PublicAdditionalLibraries.Add("python3.5m"); + + string APLName = "UnrealEnginePython_APL.xml"; + string RelAPLPath = Utils.MakePathRelativeTo(System.IO.Path.Combine(ModuleDirectory, APLName), Target.RelativeEnginePath); + AdditionalPropertiesForReceipt.Add("AndroidPlugin", RelAPLPath); + } } diff --git a/Source/UnrealEnginePython/UnrealEnginePython_APL.xml b/Source/UnrealEnginePython/UnrealEnginePython_APL.xml new file mode 100644 index 000000000..9145ba7c0 --- /dev/null +++ b/Source/UnrealEnginePython/UnrealEnginePython_APL.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/armeabi-v7a/libcrystax.so b/android/armeabi-v7a/libcrystax.so new file mode 100644 index 0000000000000000000000000000000000000000..aea07cb5d34a3f28501b2ed41a090b8c77144885 GIT binary patch literal 3531200 zcmdR%e|%rl{rGR&GzrRzvYMKpBPh}zC_2(MrPZovgRt^$lJ`4J+INz7^M0pEDawkP znzFLaikhOfqT4!x+G@(WDY}o&I*N{>wvKLUI=cBjU+2EgJtyy`X{dj`_mTU)=XqY| zyw2`sx3km~EgYYa^f1-%G4+;u`J&^ScjtFw`5SiTzh#-3o zezJFCFN5vAKP*`c5Xk@jLl}-RIyZyS48;U*Ni>SqwwsiL-S)#lwxUh=5cVbUEl)wWqOh-=J4;7QBx5WmJa5KM%H>=)cecN8ySruFc{` zc+*n!VYujQ026}aU02zah1ADSh<0A6*IEzbjjS@2TA4_15cfCtxi31$sb z`{8YMF8$STfZW>m7To*&?)0EA{QK~#d%Fjv%Kw75e6wrNi=)`TH|cCjb_v98;l6P4 z?e0Mj!C2;1xoM4OUI|nX(FDH^;08czCCz!4BOW?(gIYGYai^D6t_EQg+ z{h~`yq~T}6v*6_#{yKR36L~>_%ICs%lk&X{E?!3c;uibwg=;*12%ZaHid7*e5sW#~>i~b)jD^^yGPP@0W9f8cn|kyv>vE53hMCHyFuL;vdAZ z^f9OZPzjH587<$w@M2GXjD&yR*>?gggOV-3li>O9<_4|UDf)-N<(_<)$p7Wyp9L@V zi;&y=R(o35) zM3-Qprgtwq(nj0{r8h#pXdD7|o9o(DF zLGv*3m*CRNa?Q9d@n3=ac=9*k`FXj)3T;pCzy+TCZ}7|?<_2@~Lwz5>eUaPo;$wL5 zQ2L+7{|~%$eQw16g)@X7srGayT=|H+U<0&`Z9S!&LcmUi7?xX3S3J->D|2!KmVf-jm`6ci?xI7> z-iUmR%5Q;-e(m(%3(tXPtNa(R-DG@v67KaI##h`@9>0V8!X?Tt!#%gS@%lA*`v={l z@_ZYvA^bXR51+wy6aD*|$xP@Yd?>v9;k;mDUYOodS@Pqv_(Ztqp}gq)Q4BA8+Vz)F za6adMTfXDqzVHyzlKgxJwwt6sDU0i}xH*fjfY+dJ7I8)2EV%3$*S>Ft%i$g>za5Ul zG*=V;PB;nM@?8YafHNw82)3Kp_bYe{aw$eh@2M>LGgqJ<_prly3tO`VB6n^!>c!UH*;=@e>S`bx$Q4Mgx6?%k-rV+|IW=nj;CUZ zVOw9*;V~XR1DC_LzV_XN_U-Yda0@K!L1&@0k49s{$uyXp5Hreh6lq0Gx=Kq zmw24N5A_RM{ble(kMD+4u+{$$c(KQ)evSDJZ1rCaZ}#|i@HW`$-xo*z9~@r{_lB+h z`{7cL{|V2At^QN?rTuz56J7}S)%-mVuk`o;8vQ2N>aTD19=`(5g{}U+OypO2JQWU@G+X^o!aY3BIe`4b*8cP0As*iePlT=h&G3AW zPd$+S0T-!#*TTUIj$eX{U~B*JU#Gu#`~$cYPHOzO;pH9==p6)wFFJiQ;Bt?jg=fQ7 z|Ir6wpU2n1i(#w(PjIi793Sxw$`iKs*TYLaZiP3%R{u8-W<2%yyKu0^>3bPYdVDwo z+dA0lPr>-N7`FP4;R1D}$G5}fu(khvc%{dueUtM2Kd0|nc%sKI!gFD(f54%% zSC4Olm%>*6M!3(*jt3M_zOc3byKt+=FTsatA9J( z`!9}19Zh?It-eR$a*q!`hWx@-e-pgcuR47P9?N*+aU5OlwX*U%^{F&L4pN zF(4>pVXEWX8`o!}*`g*M?iC2jDeV=9~K8H`q5=nI(S!sv>yS_MsD*v2%Zny_EQ3{cs?)6?>KmYmwpwzHs~7k*70B} zTuA#D1+qRo6P`DrYp{iRyQF_BT$-sj+zux&4| z!An@Qq?wrTe}gx|W0=>9{?Fi9)m?)!+OhDSr=hP3d-6kjdcj49IQ@n2YPheaKNQX> z=o*#BI0^p;E^;)z7`*PzuEBQlC;FS)H2=MN=5i;|_PeryVR}F7^-KC#_OaJQX^J;hy@?{$SW_SVi4p#klz`Ztf50)t30}p2LG1)7$ z|3P>Li?A~_{-f~Px4Q-#l~=%X|I{_uto#DJcs1$M9wh&-!i8J9MfLR#yd8b>H2f!U zk4;X0&bMiApLLC{uY1AeCvee-eftIn1c$+ksGqqS{{(pMpSuQ&bUkbcT=?%jNjVIE zHr&c0agm0<08V-3pMW%W~7v?#w0ul~Gi zG~WFKW|bjWsPgUbVz~D=!t`@br~X-FF4FXS!YjVfEm|M@2Ap$nw_uRA=f3dZL%K!n zFN8~uMt@EykHafiBwwZSdbsED z-OPPGiGLZKJfd5)9ykkbg=cB~-V6_+yq0VHAHjvQj@|mFVFM(&mR$m-m2HXCWgbPj&%Tvmy37!BKYy7L=V01UL?kw^f z;1z#$}d3mWK8+Fl-lH*?b?rS10#c+51{KK}quDCrh#*Yy4ZmyhTc zjW2(b_%NqLQ-7bpJx4ivyJP4Wc$w@_Pupg_|IDJT8Qjle+~us&63N=Ui7F zr^935jX{{+D7dK9^|uRQyGi@Hw3zw&McsmRoMNPWCc}0Ud8*iw$b+B>&P;OY&46ds zcZ<&F*TH>~ZvKB8yk#Q!(flofgXV6*jP7B2KZj?hy9FyXKaazGYP&_}n`cCRWlmJz zt6{r|Jueqq3hjF}i#NbCXHcK2e-k|NM%Ui{4R5-#TeM#EIlL8~p!VhsrM(i~w!Z`5 z(wUTh5ZZqzY&Wr|AH0g2P9t$kc@BYlFuy8L9s~FMuB)F4cq?qruSvM%S|`6;!ZSay z@#nyW*SY$<8(w&QSRXQ;-0QKVzZhP6LpL*@68S?Oi~N^x5`DHmt$-K6z0}?pBs{!D z`DJ)arJEnGgV&J0?fg-HvC5-hgYfmQ(^4y zs~ilYJiq70!(4bUJXhs=!>c^`{_s|~Oy!5cYpBm5u$0G99!q(g0QZ;^+9UFlJQn#G za3S)1jen-cB0m={LO#DsSpVn4tGLOyP1FAlyyE-ag3Wq9sem_ba^rIiY&U67by=K- z=Z(z?ijhfrm%%fibnRm%JgX!pNNW1m!*&yW-}iW5_;z^7t(1?3zY|Ul&xz*yi{PAp zc8}&8KZ8p?>>i!}e+ds>(k)o4{rNd~4*9Y5^+!0kEi5mw_boUdw)MRY?hD)gwdZik zpPQz(J$@4|M?M2J68{)@Eo{%HgW=@uu05O!&v>9)5bqX-Pr&n$+x~h5T!MVC>YE2I zK)zJ-zX;xVOZQ+N6)frf6b_g#+477cNCUNA-OSujeMRP5PcewU@CcGK8`YwhGe(ZQETn3k_{Wrji;FR(rxYq(VKKvRkhi!Sj2G90* z8{7&n(fIiznE!KsvRJt%9KX}qe;8Z?+xhxHxYyk-y>sDmc#OtR!i(Su%HM;7h18Go zVmJ<4`Sb7!*p4Tg;Z5*%4d3NV>gOIe-#q{x^AneTA-wf5SDvTCbCHkC3G1^IUh;%H ze^y0fzBT>3;nnE3_O-$*VHppky}S<3@#LSt%RKql&Z2xh zJ{q3!8+ZOW177f%>mQ@xZ8!0}j_NOk*J1CXZeexkPr?D^k<{>if|GEu@<$@qO~#LHS^Rkx=Z&m(f1H39uXN{! z6ucc?tomBumZm*}mb`F%;YK*9cYH6r=vh}^55mRIalNJW^EABT_uYc^s&5TEf%(x8 zSk_NA!VCW3`sb%`fhXU86#c#bUM7EX{aFaFCj2thHyWP#yyJ`DL95;Qaxz>FZ_@C$ z!0Z0*o=2Du7r)Rgn5gn4!aQGQpO1MIp3U_^FO{!^d;QVPS6_rz{h#Zfo8U1=w)tBQ=e+5{uY^Z>{31NZ<5%D{u+7h#@OC&~^YZ9-j;6yyf(j z!-G7ogySAJ!1FwAfmeEbHM|wJ`MUuweB0^26)yMqPI$J*_rtBQ&CgPJBivWZ>v4F@ ze(rjDC7i#}$zOmA_IL7ia6jaB{p0WOtalmTRbN*c!n&fpbi6nq=mQtN$9SjXWk0yz zCU-tMTjYOd{L%Ooa5?dXW&F4tUX0w1M>oQ=n2Z)`_y^%NuucCra4*ImnJ-EFb#Ue% zoUb(f_u!cyxcE8eFdt;SZJz4u0k4MpD(?qxfhQ;*43GJzE6>B>7PwgD{oqzu#!ETB z4uZFOd^%k8FE{?436FtGHT-yZ0bHVdDZByhrS><#TR(FB?Q*zyt4r@%cm{0en{!3} zG3!C9??-U_6E}W60Jp+asj>H0aPQaLc>5B(rZ^{;i?~R9j;3Xa(2`}_`AiT`uZ^Mf{J_}yzaT&ZEd)9Oh?XQC8?m;#qxGrVD4_vm@PYv84aIDI$5n_=5N=fgwDk8Pj# z!t>E*?R^Md3)}07N8yQwyY;=N;90O;uXqmLaD-$ycXtV{1exG!w=7r;5kyZD805p4U@KzNlW z9|CWM2W$Fg!u|TY_+#O6c&o}Ug2%A9YwfFqTVN}%hm$8ec?&!rUZmwQ6CT2PX&>e5 z;Bt6|^3Cuzc&YM_;l-!8{N4wzhHZWxf#W=+ny=v>gOl)JnH=izm3%vWY zec{rfv`3A9JX~`8US_6Z!*bLD#xocX!qDtLt_uZL@v=0xX@%izt( zZTtVO#2=Sq#yeSmxfx!6UMLs-5nMDpCz^l!3@(Ok{r?hPNct<(zUA=TGjpQ*1uwxl z=v$}qx8UvPy7w3U1y5Y;%0Fiu_ImtvIOXxtaEr%7;4LFueulz>NWX`scP?BE+x%Vt z&+_EeaPU)Se~ZYc<^*w#e*;`J(yfOsfG5H!mHz}@b&r!TgV!MMtMcXWqNE#tpMkd` zpQ!cydpLP_jyz&%+S}`J84p>HRNe|N7@ZScAN?0D8RPm-&UoyB?Rxj#aLrg(KfU0! zuZbwg1cE(tX|a(#`Oe8SeZr zAGYmD#>0Ez0@_;+=}Y@s=CR2C0QW^sH#71-do1#IVB21W{{`D^KOCRKW6F4+M$0ds zj$c&g%D*REdN1{(<5_QbChKcsh%5RE;2{@q{iX4bgf}eCG4IKV{A76cyVRG49|q55 zeYIS947~7s_rA}i@QiZKwsmsqQxF|;ZQ+r;7=fXX8{_zTIH!05z@WQy854;D@ zc#rc{@6i73aIb_L-@BiW{csN|Sjy|`a4-eA+IuuydYKy!PKQ_4y79aOo-o<*Xm~4Z z`}26XALS?QNAzC=Z=%22@i_*UHoEp-1J51g)M_bXOjqz;Ta1hil+osz3h%@()veru_DY=fU>;QV82k>i>i+J~4|= zgA1>8o8Up{mioIC?sJvnYPb}(^;-w8o9X)B40uhD8;!5C;Kj2z z-)niygA1;68;cHUkCU3nTx*x-dN`Bc^@9>$v=XZqrXt&{}0X}Pb%k<@eNCI zqWi@M!Sf!@31({g1#quNXkW^M;6?C4<cXS{6vdMMuj=g{A5d*1|)WIVL(bqgH##>Y?Lx$q**f47UM|FPYJ0_8p7 zGT2@}9SAR_Jq=NL0o;@Gr`3Nn+z+ZpEa1rOr zV&xc|f~~v;UT~3HuWyD|!x;^KExfSG=YGI%L${+w%%zkux~=ZnWZmNvS= zW05}xx4!DemzUsD?tfYP*TMyFF!|N?_9|TF-LHECo(0?R@4_t`9sdJf1l#)g81D0q z%U{<^sK0kzdF~Alh6^;kgW>Y`oW7&rS#Z9}2f<4>x#ty5gYEMRay}ReFXR4_t*=pV z!25=)Immc%9vuI`wU>+F)gQX?t^&62%Zk1lc<>e%zX4ADv%5K;iM+*Q(f?hE|1Z~H zz6Te;W7Ph6aPlLUzXkAokMD(7!ZXy~pTWgj!}LV|qwofJkjkHeM}F+qcUQta|J^-$ zUgkwuULv*S@e14*?yd1(hljuumEVCEz_x#EhF5UDv;BE1yc+pp4Zj`E@ciEx<(x|? zZn#ysC%ouC-J|R2-f;e>?tD`KkAzD!d?CCJjw=_zLq2o%4~8egR(=M&61M&0OnA_C zS6=79YvCoTuNM2&wryvi$&S@1S^q1NwBaLvAX z(fMW`-1}k5Pvv*O^SkoCx}Klzg_j!mF0$M*aC?3165S6l?iyhl`HRWz9a+*Dc2Q zGnnfa)wc({?S$NDy>nl9aS{2+3Bw;G;h*RG3u@n?aKR|_ss1D3rR3M9cN}c)nn;j#S;Fs+@O!@KMS_yE8))(xt5o38N7+~1Hubm?6K&JN%%eTg4tUB z33$V3zQ3ScD{@|vfaze4$PxMgqF&o%rtaA7O$LFG5YBhSqZmT39SgROqC z=ST3?^N?%&yWoZAyYFKxg6CgIepUWc*tR!`|8sc5rF{Q^Q-b7Y8N8*6?^h^42G`W` zJrb>-C*b0GCw~fV81h38U!6SX`(h6|r@oP)sXm;CGlZ~9ek)ZY$TOr(fL->6T34emelK&Io zqB*(I{huLlz)SLF41((m|dnVeR&VlEjo)`7+GPvhL?2U?%=;KIjqqxsPNaLQhUYWB7i;_^Y{z>^uMsX<=f<-Zc+G3M(e=lb@J86Ce=WS#lh1+k`F@Jjm*npj zcre^s`G;_+C%+S(30r;l!*e}e3NM6vX#6MOO&e)n$}1%PJLF&ackmY2%3p+M^F1HB zzp-a6JjdhL;JF^Z1uuEuozLEfOZd1=vBv)po(>4eRsY9!q|=!v%a##?DuAD{0>! zxbbdpxX_dLh9}Uzd#U~-;NGM1g1K5>N5Nb9-q7|gq5a3hDKGq~@ZvE%|El57fVXUQ z_KtvyK4yH^@p2SA`%})R%46Z4L0-^9c#g-{!1G~yez_jr0Ne7v2`-@jS@{oO+aD#pJ0$#m zdC~RkJ@AVCDNh=J$nW=9?Efh|zYpg}wQngr?~uG;q4J|}PC;I@{_!-t`~>uAeLN4B z_RfpW|7+mh2jxZc&p*LyU^{-i2G9Bi^C#8+S9l%Vs{AfI_h1)(GhBjwHvGR}Yp>+z zKX3u|W;A|K#r*S|dC~e%9y}Lbt@3@~S+pN1e~Evf$5I}L!*;wCJ{I2Yg&*Lt$WMdk zATL(^L*W9iyv~7#z`ay{5nKvSRGtVgh0B#|;C$wnR-S?v@^VIr%CCTHklXR%T6hiP z|00#&D00FNR-O;Hc;WAXGvCgO)^8WXvpxCG;e5`IHhwE?=etr~zk%(1S@>DFyf7~s zf1Za|!8SjCgbR+&i|${qgHy1TzbWBiJAS{*xSQnslT4^?BhsJ!+!%_OZa|Teuu&V?Y&s}Xt)?2qC5zm z;mOZ{?fG2N8v)z?B3zoq6S8;`Jf?qM^t^E+Trj}RN3MiR2XeiV6Sm*$JeK_21aCVz zFId_&94~K!i>c2(YVV!!1ds2BTReUQw(}#g_pvPgHSEuio`s8sy76ocY{zej|0j6W zxs*TUEBuCiT|<368|%}kng)K*8Fu%FrIkd zd&`5@d%QPnH(8GH9As~7%Gc(51#LAbR%FIvxe3@*ATFS`DI2A&5eb^iJi zynYMgh1$Cj4kqSB&sY5&o>TAo*MH#Ub#8pgt)@)i1w@nb-5;KpbnllO0&jtfRDKM+ z47UAYFg&ZuwTI#G95~SSc%g72FM2+D3f!ZX@kZ^P4wp=JP{9eVd6Z<<|@Dhun@|hr;n8RTXYojQYbGyxey1`^UI(vi%8TB& zx)Pqy?CiTSEBtNn4CFINOYFTrOa2JF4SBxGSBbnO9DgMIU*S0mU44HDZ$NI_Uw$p^ zce*?O^nvXr`8yn*f0>(aody?N?)uO9@C4YVpMvAC)qf+r3eG{7*z*9KGsD&IQ*f!U z_NR65f-7A3kKl!{)xY;-&R4K)pNGS}uSBl#hrl_@U3rd%$9Vi5xZoRKVjmDn{Z-;IEE`#kR z<$rw^{|L_cuIo>~geSl@{tIv%onLyJeQ`_v4uZFNd>q{82AAGYcqDAoyBHo+#rH+Dy=34GKjizMI^JImFZaf?Ti`7o zFN9Zk{0O|+;}viz>1|Z|*26_VcJrZ+;X&VXJYyZE8i(ngnD_jN_seOkwkUpHFdib=I`AyEgJUad= z%FEijA8a=Xe{dEbm&K>TGmdiWh2yj2Ratyl7T=J?Kg{BVS-dQZpMz&$zip3y&XT{M z#oedc+(~;6f_>nHcW^z6+qC~I`JwP?uY3l=YhXLRodu`7^I;j>ccB}v;&2A;t@@|J z%V1mISHX4@d#;Cj+~cmlegrRi(zU;b;1cA8gcW|oG!*gM4|Nr2{@DOxM`gx7?FStaxCtUcjv;TN_B0NatW8rzQ zt*`IE3p}oY7kS(aFY$Obyv*Zy@bXr7J$#>p_jnn+?J>8W@Edp{JYVg33101me+^#m z@q6%Q*yi`2aN*;we73`-uI|M+zO9Wc^Mqg9&Pwb;l5t`tbymg!k&Bpywr<7O4th@gIE8W{OEXB2e18& z%l`~`o5$aS`>b&Jza8!iZ`Sg=5AON2lRpLbhHd?=lJM|0P49KM&oi7qls|$8uVg+< z0Z9M&9G<_*%}@4iqJRC~U9TPtFMU32zjA$hG%VkvTCesD$dVVst$%Ut@qBoz$5Y_> zTEC+28o2a-Zhm|-oWGscrtC4SlTVXri%fiDNc!J7%!etvA7r^V`RVqIjwp#&?(OEnJ z9{hLOqpq(^&5~aaFQ$AasQia;kyjp%zy%&Z3m1F*E{6BE*`vAD-hwgmW4=#ZF zP}WlaW8fjMJ-=4LB_3ZU;pwk~HT)0Ya#%Kre-G^U@1Mec|NbTH_ot`fLG-UejsHRx z{{{B@=X>x1!rS)vaTa&IobeF(MAf%X7Jmcw$D7!7Gu^QTgdvJQ`k$ zoP%jk7iMu4?4OU4@TSkHZ?(TEi?4x4a{jRG<$GCtD_n})oY$>sp)o_?bS91<6--KGDw^OoP}Ni#OHPO^?N~*0TqV70Cq2QVvds z`kL(R;G3zaBt}~6E-G20Cti`MkbRR7=ySsA@%T`&d}mqUKkkwL}ueCMjbp5`l{6QtS+6YtxGU`?9kOSjnj=UnXH-;L$?GB z_z!zk4HOPZ;x7%eiFPO{H{*ykhR#HNCP>uBQ_bQKQ$k1WB&!VrG18tf&_qc4&-I?#&gc{wJBkzyao9N>a^U3p+JTd&)s2{z?RyduhFSzx zD`gRBb%RqwefA)Rj|`47!0RAI0?uvJMwqUcmWYK(MSft+s*O~HeyUh<5IcM9s1fzk z`kyqMf;zWya-u48P9js&5Fb%GI5xS#c$D@picPLFzN1Pm%g*A-an5D6$#nk#lNn4h zv6@6Om1rDQI=V_Ugag=!K_VJ4ZuIz*Vp4sKTAfrgc6?FnZI-`q{yNfia%^%{vLc=CWKj*K6~rc2HZ*YRt>>hWNK)SI z7$+Oeo3O($y=idDN?fBidD78&+M zDzB=hqVcP!yms|O7InJv+EwEQWT$7`XeOF%&qUFH99CYts@k!rBTZV~M%7nUdF?BU z4C`Fwon(5Rom=n5Fxru#$R=0pJ1z5*OyBFgLE}bq8L^Z4>qu8SHg%+GaM=4oyLP(< zJJuGN*10MiWU7#>YMV+X)aIEXJIpbJI-&wcoKvg>yb)-p$O=Hz=*IkFo zBEvdYdEsbR&E>^z_PUM~MK*P!`of{E^9GF@&4qo3!)E)s+Oer4RXWgxx^}w;JJuGN z*10M?*$kU36UlPcZuP(pHAPl+q7qLwgXb48Y20X*?RHX&9V%5}y6kvfZx7 zU8swU>s&>K7jQM0db5j(Bij@7qgXqI+& z?Y{Fw>_wi<#O_x6F7-ubcdp*UZdYTL4R){EJJb|e)rndU``i~WDZ5&1Vmq&u{vD=a z&)f2yfQCSt@ugQJM zRNArkOC%EYPtD8j*8VQ_MP_%Z`UmtkC+r#)mm8YRJ*eF|Y42KFWZkYC!GQkZX#d4b z%dVpS{bQ3O4LctIcAZ!|mVeo_28Jhouh4h9RdhmSlz~n)jQ%=&S2Q+OOy9j>p+ilP zRl9Bwc98D8N!b-dVkYv=+d;=^v}5d-NWzZaVLo=Z>Z8-aPSiy{?x9UniQzfN*Z{1&!OGz6NkBS)QQT)d;fdrA`Klh zid`nwj^$rAEj#W{?x9UniP|j_qI2xE<@PzV3&D){Y z2F50PIyz`1ok*}9`@ej8C+f+?vu^j>NvD)X+4w>YCA_Wi)isok^hFkSzM*uauKmYt z+T7(R?N3ATbnLpJc!76V>uJaS_8N+(qJ#8ooqD0ax`xuB(kL4pHk84WdF7xcQ8mRq z_!!8;|2thn9w-mA@90Uv)`iYVI9^ngdZ63~To7nLFUo^si5v5-=g`Gt33n#0NMno@=#1qqMs}ixy z^i)D#B9fQlVi(spPnO>b`HfeYdccbpJ2I!#H<$s6FG!dGJNQYp?dXY)EYIo$*BHDs z!>ftR=0k`0m^T!wlYF5q6!@G;q%{CS0yj1^)yKnd)@j}$3Ey(8P9*B3Me0kB)roj* zx(!Fkp~Ae1q#^N7@jla(T3#xuPBf)>VGva`##nVC7O&>5PXlQtHt|?hs)^M>-h$$N zKI;+AaAK*3R23Fx(zOG8sqqV6IFzBL`? zOpDnUnpY;n5W~&eT#~JL!W5UhqS-htW~w1pGGHh;%!m3cp;S*i)4=->v0>uYIH7^O zz=nmf*wm(m#zdWp=oRYHc<}+1>QPxciPoD|@|?U`cp|STW>n%iYoo|DwMCV+85=p7 zuBol|!&k)PHrd+hYU7kH%G-Of*d(Pg#S9!eoPQI-+{saSBDoG&4?1&G4W`l`XwY zZ9Vt3qS8u71<_c+3xFEEj&~|+)GcQfuY{VCp(b=@8sfYe=&~cP3G#L|?@h;I=Z_Jo z7!wAR;^M8RFfc&-Zj&)tPH3o4g!K?cnS?%UZ?Y{weZ|kDJt|aP9VVM;kT+0`WR$$4 z9J(fHCe&X9#xh$+p})iw@34L~ZYt7}iaTeNNTcLkgEqPVjRZg`ub#GudFCi935-s4 zm6?WSIi%&74%nrvnyWGmb(KQ$Zm21y;Z2Q=)cLrk`otL1Sn!TDLgo~aMk%j0o8L@h zNF03+leX~*U5u7ukVLV;G`htw02XV|u(~Rnc*8VNSJyC&%f%S|jE0&{m>2A&V>C>w zPNpg*S($xbGiG|UC*&pmxWrCX)JhHw@)BPr=0$Gg4c10!Ig$!*f0|dsLrSNT=6!v$ zA|r2T6Drjd#g=wu6*X0dFWVClr=A2Fd6&JSwobf)lzsEtyyJepWrJzbhvO;Ww>(TPp>%J7CJEe~Dt9&kf-ykdG#(O5M| zUfFG^qwSd@b|ZaVL)@2RV;Iu&^qi)QcwyR{D9kvV6~C#zwz{FQF5r_1yerI4bA{BJ z`2}OrkIlRH7R>v^)1ay#a!Tx~Ks;Oca6?lDkvOM`7W|De&)s4Y;XQ(wD~sx&*1Q}} zRhgstmCmUSbCAkV2d}mA!aUuO@Afh&px@EfrNgCanRQJgPg4T1n-4;W&w!vhZbBtm z5>+&Q=@pH<9!*urM%;gIcfmM=7$1B5;*!UVX8a3>;$sIzQ-W+6kf}wHtf~5j9_56>DrKl2i+0 zW-Qad=+c~^C3qS=VN;6Nxg#OfWLr?ZpF{lHHVZtG4GmM|MQ_y``NS%xOCj-LiydWy zI}-LksUzt?zSFUD#hPOKL8Lv_H`P@p8e^PoImb2DGRgD|mjL3;{L1CVjMaRqBl0t? zn8sD%;)Z3wx@BF8*}IKw0-AEPK8)(&0A)Rz>UZ!mvD%ihRiBs|R*Q}8`L`RP;|zPT z8xzf(B_qQSvo1zUr4`USh z{tRta$#5G1KR<{@^+IZL8Ynw>n05DQ3mK=wvEOM8$Au^vqIg;;Q*+viK1H;nhIA9N z)!Gc-95UxibJ=6HGmn^*h{@O_12JV_G99a9fNE-_#V}ZpIDfdEk1=>_xy2^2Qjn6b z?GP`Bm4p*4f3kblu>OOK1{P`5vxW^A*ndC-qeB;0O|=>MWRc9;NHfhaXuj*j3PX}1 zhWSB7GF4L{N2zd*mGp=y9Qm?OW0Ip$!EsV!MXH9QTtS(!33qKg(SX0G2?y=kbRP6Rvcj$lLZ9?FTlLRJb1jmSL7w zCs$3rO!~2e=E^ct!D!a8dJUBwAzQsurs^rrL?d4U>rlG}LYW^tOScml)paaH@x2-@ z8D%0;S1H%l2F*n_EEkfYhrP6vVa@n3D`tS>Vzb_aqG&ykEINstSwTNs=oVjdt!g4` zVzG0^kFKbntRtv*o*_`%ijWHwTbWav66QNbrb3u-CG5Ch>zGl|T-~~H(vE)W%>}Y# z1(Qgoxym@(n~#AKv7r(zPPM0ZhbZ1;w)C@*?0kn1+Nu*>k- z9vX0_#^#I09_G?-x6KSFawR1FM;kL_n{_GC$LMAK`DJGgwk6>*$iT=<^nO;#QS=o~-O5vQP@DzK8&m>Qq-iO znp{Mj8p^YwDYPNez^Mc&NAt_cB^gNLXPu9AGtVtz^;4IO-(fqpj!+d#`;miKjLVrC zdqluxe?{7UiBH=}eS!hi3or>#R-(O=(Lz^ctyJ)JBans7Tvy;YBX%z<_C< zJN!%`GX=hbM`BaVmuAX;0hzm0XA}b!F(pt9Gth8W_pJNsyPF<)o(u^ z$mvGzHh88q;uTc$!)M}x>P&(aKZ9A>l#5vNoirC!A~A|fyHzK*Jd9s>kQQecxmloS z*LtaydaePhi&?q%^`W*qL?|%ObCd*&BK^YHCj|9%Pw@Mi^cPCoc> z5g%iuHP|mbN}+|#(sVB`m(8L@R-L43($&*;sCHJFny3*I#++V#mfC1jjLnSfQtlF` zZDrG0S?7y>!`zr<0{IeNb(%F285up(rm1ImXq!^CWKWidqVU?vJfB#)jvG2Af2J@r z4hPpP`SvA~LVj(hja=42y3;&&b#rJbexXB;VKC!`lLl+PLRjTmr+D%Bh!M$0pQ65q zfF;t}I+2)bN{(p(3f=sM`kHNQ6(-Fpu3dNK1EEvQ z0&L`vU}i-&RyV~Q^&oY_ys?hP#no=mEKd5f@iq|pdkxB5GV?i2rheRA#5CiaG(Cm~6T~K$G%YP1HK)jB9VWDjC0*N`tV54sFsn6FmkNgq*W4*C z8b=k2>E__)&v?;z^oT0!V<#SV-obftnl}7cjMHbVCF%xYPJOkuJJKq+&ahEsD9u`hDRaj{fiLE=E;EURVwUl2Y`OlGyUf`FF3I?! z760?#MRD6C2sOoxoi9%8Iny?IobO5cfDM1LnbWr%%(#^0hfIt7Of9hTm%LglVC=Z&zOlK=MtH8XD%}z z{>@w_XAokB*HD$RPF8tYqLFD~(tNqPO75AYGbufoF9H)>?_7iy+1nWS+glo;z>*{& zfjHP0tU}4NB}T%coH?dbCiBEHCZ#I5+eNR}U@FZtOrh{(qQ`J2&d?!;mTJDBY*dMh z3m0QG2V*tkoHf)qGXzLWe&rCZ3#!ZbkZnOpm7}acnz1nSPKt?mn>$Jzql|`bBQy6y z42N+{c3^WqkE3eFZqY&QvbJH*uD`DczyqFfn~z6d&QM}?7B7?)J#t`WQ6;txX|J|-|4B`7?Y2J)B5?exBS$Eq2#;Tgs3rJ*6z=D zvW1w|5|vf)FE&-z zUw$P!a&MFmKl4FxMAe~8W)P9U_?aK3)pGqVKQc*gh->DP!Q`S~dQmXBe=xm&Fu6Y9 z|Ivlt{Fa8q<3xP;TRq6R`3iWoX>C*Zihm->3UwNVG4A{uq)b5lcz9O0Hla+R7n!e; z_b&>;lq?@OH@EWThtidb0Dwp5sZ+fF4V(ROIo|5 z6odJ&z3*Ec;Eg`>o8WOAc6q*_I&_&vOyi)n4=_K*qpm;gT23hPLvizqN1RI(`N4x< zJfs%%fS-KUo*%iwqwCa~(LkOzsOR|zL~`4%f@?I^QR*s8a2|Hx91=PuD&vIwh=+XD z-ssT-El2d}0Z-F_q>a>S?nAd}U8a#mEH@kQHbFyE!r}?tbc>{Epy7eOVo+j-OLXx8 z$;-skJl7fiT2ZwpqAg1Z6JH#3qVRy({rUd{Vtx2akT5~{RX`G|4iDlR#x}!>{P5fn zzm%dhVUrztRDDcb?A4TRMPuc3>1mP6^TZlNVI8n?SHV9cm+A^h9hBMmIaWoq+1pK zRtIrL8S}#vE8*;j|F40vAxU?$89i8?9ufKvNRa=NA0_#3!)Yx-|mP3*m zed;;jVO-6tsY0$}^?%XG69|&8k`cqsKPxu+yz@t#KZ1Ylkc!I0l#ub!vJj!o|I}Dr zriD^uY%pzu8;(476AwZ?u~6x#k`ZIej0T#OJkKW@8WX9c+^A#~rl}=ns;fHA+FiP; zu{M?AloJYkqZ28a(dq2GZM<;twM`V6;b&<#S=XepMBzW9Xsa~5YpF`Z1|_E&xdv_H z*<3-5hsGIaie*G@)@UG#+RIk>s6BpZ7PTArZ#-c?YKEA0jSD4NiTJ@a4dX>EWg!=2BC)05 zN8GsuZOhb;<9c=2c}%`!NMthWH&87MBMF;^+7-5@9mQ(Q&ctfbPQ_X?JCnCJMyGUf^5 zw$gBXZR-~fnQi^TA+xQYH>TUkL^IF4hG$+$Hpac3x{7+9!e|U@K0Iw)ccG&zjZCGq5%k=N|LFuPhrqGP1|pDAP76$vUA>+fZUecs7d?FbYjy z4%;kCI5qmfi%pZ8R@%?n_|SUfzdTjd$c-!(oJh^+p-koJqKavg0$v(P*v=3tw)cJ+ zAHx3-#tU)AE&rL$`cZKTTtD&u(?p3KcFaXVI9}9+|2B(5C7mi#P8(;a)dd4A9Vi)(9 z4`NN?egOZPY;x&|CRSQ7ZqE0y&OiXoX!&?_6oX*ho{oD1EZxHc}=ni%JPJOpEhRs>eE?%6X+i$Q_Xvm4tOHi0X@h8EB=Y85yt&kaX(hv zj}>nls~Swo0w9kIr&)E2)Kw2?VqMBMR*7YU#rX~IP;LyIt5L&Mno!2^=VBg z1XV`~#Z6I5p@*(^3Q3lPrI^nTOO9q5mw%ubm%DtP|2Xc?@G5KUf-_6GZLl-ZP6e@& z7%yaS$vIFer5(K&o^ww5PV|asIG3rR0aaoJ%R<~>Rg=$3WQLz9uj~41<$pqsFmG^& z?+tshGaDMK67eu{RxC4DXwNUk6N=+_|CR4?N9oFI%He-^R6|P4jWsV-^}k@;_!ve; z5rxMK`xXzQU-Kj$D;eBt=f4J5a(9~VA?Pzvp`ScP8otM%aht+QlQ+EN`Svgr%Xmqa z(^$l#FEdu#a*||A8{}?@R~X~vzd^QBsn&mIp?6Z9CR#gn8Tm6%QF}X7B`>drSs9mA zaXayL;kC+aI9r2}zHs{2PW92EWn$<{BCTzki0W?Z8HM#KP6K*Arl_03tX1xA=i{k6PZ0Vuw1(-)*c4h|UfASXNgh+4lnFIYN`%Lxa#ESWGZfUTM`CKoVd6|O zWO$VxVLf1PXs4JVB<>I7pc?o!ldaf zG(J``E31xAH^?!bREIv6Aru68IYDr5ZV)`q|F?grdl1CnKXE*Xy%_)Vx&^@xaGy-r zzjY0QLiSr>**4>rZ6RTfR`*@#vD*gRW#~JX{ZZmfVSksft2F-Y_@7Q1-)8>@?izGl zjr&OC2XK^a7CP=F&OqF`xN`|7TYo+F)#D~T9!37HfKzI{;1pCdnt2w^G{$2JJ$e+UR296)0cOJHEhHoRi`S_*q zlkMvqO9(I9L+BlZ{MQ_BVqZhJhlnHFuW(qVGT(fI(!=isr#oq%jIY&K*k;CDB1_G4eI>4@xX^xdI)gkyv~PvvK;e<{Z& z@y}Cz?-A}|+YKh55R>^mrU5ZP&P z2H7;VGr`;GXYi{GDce~-8yaU6=@T^!5t-veE@vHupn3O*m% zFX4Rl{nQSzdo;2iu%E&{0NGxo{|IqjXP51CJsv{*UlZ>iggKM2$H2EDYk`Nc2gIwy zU$)QjpQ7$Oj{hO-O8g!{HViIRoeB6^+-1mRYeLUnq%j%4_t4jf`+EHP6X!9){Dk93 zxC{F__B-)A5kJ`m5vNM^#yL*L?_k2nmO|G$bo~%M9@#*St@xj>;h)uTTR0Y~J`<6j zGYNAD{x7q?rQ!GHcmn$D_E-2w&4c)Tg6w{{h;(PF?w9d@Ox;UW&ver2L)gbP?u&%k zP8``TXa60tTM1K2yc3ACntd|zTEhPr_lK%)4q-mUeX8o2qxwZpIsU`p?Gl!~g0KV7 z`vGCQ;(rN#zhnOpzvDS3(0{1v`8WI&{xSUaRlkFXb1?2#kxk^dnd2;uY4k2c_Fazq z6aE$A-M~?{t@wYe@rA2#{}B0$_*cV!L5FPh9Iqq(^BkwKuO?hQIz|(26nq>q+0Ms( zl&7y4xom$yr)>QQw>M#a#V*@N91qdBp^y7L4n6OKdvn}E{KMJD682t=`!)P))t%;e zhnMbanm?=UHnrntggYGf-U!Yh{Mj1+WOO&8`(cjf;CGuwdg=qJ;LsT-)kC1;@^S4Y-g%pH`P6Wa6iX=GdjPIyO1yqgt;G{4WEZ>E=SqE zj-PCQ!LOP98p5@(?}d9K$7aI4ihCaJ<)rr{;qSryF2@+M!#Li+{;JwCS@mA8$InCc z!9aK_@vh}KUj4p?`w9F$)3Ut~p2>bG`eeHt_hj5hDL+WKe%NBSH{nUhdJ*n3^vG5W zU&j6j_MDIZ&vDlf=QkWL;rJu`KHyl({xJI=@Q)LB58{3Zr`YZG7P4;WS)zW&5;ull z1N1@F8m7Y~ox3+wEDxO(o1b_-|vE?N!3Q zuX?8u_9XlsCd}c4-2?8*{w(sV;49f>>xSQ{>~_0_@Dtcm_)YZu|AXIC?9Y>iL>+{4V=Y{Qgb27dh5yyp!H=_IKECB>pStxm)A?5x*qv z?fBhG{L|QvQdtVWbI_AS&j9wnYnnarpMahg!aYa)y*VC_-}edAjQ>pH{D*x7`=#u5 zyG!Ds<6_l+Deg0g{~h-IkjeHF_ABvUhTqBThZ6Pyjdb5z%X9KTPvH}Sil z{inG1A^x4jI}F)3;IB(uWU?*5{aa+s_iHJ9>l*B|5f;(uHoN-N8mn=;}z_(ZGdkgtZc8V-$3GQ#D5|F14%p1@y#$ua2Yb$ z?m|AE{m<-O*{8GL!~Q+OzD=0B&~+HLJdXQ0_Wh9!)pR8OZ{ZOfZ$kDr_CihjYW!vU z2|SPZcO#q0{-F9_qdGppZw9+;XA{nD>#+9<{NE@1dW|#7OZO%8K7c%zI1dr&EM%|2 zmvQ_n;Va|_242|J(TUdRvRSWdiA_^pKhOV}P9$FS!jyI%7#1ipqabJ&OD zw*u~~vLxbOaomk#AzJ#Q!?vIrtsUKA61*zt8d8M$rEf<^}W~i(i8M z4g8K$-3Op+GVbl7^Z)bhTVH|whjpOi$PQ#*M6}lz2z-KuJ? zN3Pv-obx53f15ZnJBWAvPGo27#NYS+g%6!{f4!68B-rSzu*YU`d-#oZJg4BdZ#(|& zc|GBI9^kpf`BWC~pT&X&>i4uBzwBXEI}z7-elpC=W&c0+aq7Q>OO_nm+9LEZOc`Ms9KK3<_P(f7=9 zk7&nkKS&|+gV;~Rv+pj#`tiigsiNKO8qfE2+>f$XqWk~x^*->CPG|rBNis=hSIQtr zS1PFu4ULL6ZBtEatRUK`K@g-2f*=?KK`{BpAe$XF2(rzTsFai`L8`&Dq74mFji+g! zw4H2n*B~?{G}W#By|1~?KF?LJ=ljd+b?y6euJh+U_qopf@60{355p^L-t(59M#ulr zhXQ;h6wHN}+x%tHKUI|vu>M`(m#{*cw=?<;Rc?p;`3_-ut*!r_@^7}j7nSe-l6P2V z9^8XEo8UI=8tWg%_n_5+N3eTr+w|d%|D^JpmA+r;|FV@%Q$BGWL3-Tgy=3zoc(?Tl=9Ko>3&@Zy z`v;Y`L!M4vrp*`M)jKl&4=&>KQ#M!F zw*A}jy-K+N+}HYs&_$oBdj!7!QobbVuaSNW+XXFuDHq0T+u3N#Uq<@dHg5;^-68%T zoVRsv{eR@2@&E8&V*OFJd86&eezq;iN??Dn>2~xCCVzRh?BCp^d0f@8E_0tPvm-r5 zncrY%eabKS>usS=U@`f-+4QIJO}m}%Q|1Ni8k;^-wfQlX-nD+If2qn_z<(IFyY-c+ za#D5$`yF{-RCUB3pxk=8)NbpA^jQrUYmX&{V=wO?fCnH+Qxyloa9Yl$B{P*ziR!@lD<|l`8(XU zaRPi4|C9LsZhd>FOSu2^;%mbyt#5-Z^DoOCMT<$FWBXEPofp8J*>(%8g8PyG0p;>l zKX=rBjl6@gGp*xFbeq-Rqx=B+TlnPfvsf*5hD~2U{*2XOoar z>d4)=t8+iu&rhV-GNC#6364p^Z#Y;~5ce+Bs|TUQtREcx%) zGUC4z{R-_Ku6$+qpTTztzV*ugN7{?yUx$4Y|9kKzyN&-=+wyo=mmvKhW#(=D58>6e zOwjrU;Tqb|e?$0+ZT|Od-nU67v3Ie5Q#g1!!_yUiEhE4J>J zDHFh-puGIOkN?-C`>~_ZZP-^SvjOX}b)?+M=s9fH9X`reO9p>;+qOi{%0K))L;jW4 z{|(wI!v2YWfco9AND8UHIm#YJnZ2;Hu&Z`#hcc7s@8R2-Hb2H{(Qn)Qzmk6}zRj5Y z{l@Y^OV`U9DCJM4UNQCnd0u!d7PEc)E%}9{zXKbvcdUO6`a$&T)H#>@O49Q8fs6FN zt>pg#|54UgX3N||`MWXsE4M5_SD}xv{d>=rO&7BNRNy;MJJ3hka=(KAWP3N##zoLJ zYl7$z@`|udTXzOsi(me}$M!ammcK1j`XM&#CQY~P%axHwF&E*x2Hyqb zw_~?sYiZ*Pa6kA9>>l!uq1>%#`OC)Eps&LJk59EH`KM6#X7Uff;^I($i}?C5`P+xO z&s!a#j{JQC-~G1DVe&Sz-40vkMD#ywxdMDiYz5zssdox?0(zXfpR?t^Ys(&h|0no5 z$$J(3G$wx|q+iDW1o~oZ9eNGEFTfh=-iemKlx^n}Tkj2N2irp4BjkNT`D;o4h5RA( zkMJ#^Z^FJv`q#Gp`REsI8yWb{rv8_y*Jtx(TYo3Ld&#yb zBRY~7z(K16?}(3jKx z7-inD{r(zl-i&R=e;xJz1y?EOhw^tgWlzKk$g9RbWcv`a`~=_8#IcCI1!DAETSe+XpRwet)VSZ^z$Fgzh`}KQSK%5tv3BK`98MwJpNNC_haf;z*FIG?S_6z{$|o| zQs>{;G3e_kAE(^C@DqGZl##zl_$S-;J>>lkTbsl4Hg)#KPA2bld^`R|@kQ``7dsIB zbL!8+i%CBYJ1JX3;p1$bG5nuU<}RB)n)C>^Zuk`W9^2k1Z68Gb#iY-1i<|Z2k7LJ?uAAE~?bZTL?ieHz=j0`9{$CeV*z_uD$htht(1%^9^8`9d`8&}1Z%=&dDRVL=e=BTf$6u=z=iu|9ze$<1(0j3s&%uje zF70i!{b?XAf1PaW2>F9M{vlr~M?6(}Sj9Cs@4qJ{`#w|xJ$1KM!6P6Q}la^DK z)0Q)qvzBv~Ny|mcl;x7;vgL~9s^vCI)8_7<$I@$=XX&%dw=A$Mv@EtPu`IPLvn;o) zu&lJKvh-V4Th>_CS_UlZEbA>BEQ6MfmQ9w;mLba)%T~)a%dlmaWyG?_GHTgp*>5>u z8M7R+9JU;>j9ZRcj#-XdCM+i`CoQKer!8kJXD#O}la`B?Da$3xWy=-IRZDZd8+Wgz z&$7U>*s|2J+_KWrZ&_m*u&lQXS~gjREL$zZmJ!RSWxr+2a@aC%IcAx#oV1*_oV83^ zrYx5&S1rvAcKRZqn3F$ zy8ZQ8=35q67FyPJy5$0v(`T$rpTA}-XD#O}la`B?Da$3xWy=-IRm*Lb=1jMJkEPc# z&(dd^Z&_ejXjyDodXd{sVYADa<*?<5<*4PDWy*5Na@lgla@8_*vD@zQ4z{`J{OetA zvs}EvO^@B^a@;auIbk_vIc+)GZp&L1cf08l%b6ZGJ!?5hzV)L@pV{vj;(nn;NIbn5%SrI=sajU}1GR!t%7Z+mL9v^skge(|% zh4*HdJmElw@daKMR0W z!WS})Px4{8svQ_fGo@GiTALfZ4u2{B7K8qj4k`KM&hs%~>$^Qo1mwaf%4^x&sl7DQL zi3qs~j|z{^GJQfG*!zXQ&N2hSzh;@3@XahUBur(QVIdD4BSIE`;zAYzV<>rrCCM>5c^Q7DdS*FUe#GAKVoSS*R!x@?t=#@C4rL7M{p@wy=&h5FsCSRSH>Ltr8x~dXw-})=Y%Q z8&e}ZopmZ<1D`<%PvY|{;o+>~3HdOxL3kGHa>8?1dk~&$Oq1|D;xA+&A|$+k_zQWF ztyS1e{Dqehe_@DW5VjZ-5ne(3g)ACGh1U^(VH@!m-a!0?yAprljl^FVCjP>9;xFtV z{=!b;FT9!f3nRo|$Rbffcq{Q2-cJ05EPPH0`-s2rPU0`Ti}(xgCjP>H;xD|H_zUxi zzmWU0CE)<^7v4ksg+s(&ct7zMK0y4tA@^+_p`ZILA@^x{Lhj>yLhj@8h1|Cl2w4a( z6rPx2iiLFeCSXiJR`$Y3eU|jRYETRejy(gR0~5Hrbc*S z2G<#QQHBW!d0D7VcyWfQ7xLk2gYfbU6BJ&V!F3N_m0_BMS7(@J;rSURB;AqQcG$(CubB2itBN=8$ zcuR&E7T%g+MufLzn7A;UVMc{~*gPiOm|@0+n=(v77|k#fLOv{+6!LP|l&~+uObc1$ zoe|!}eYB7disyuT5`WqA^WUm*_5P#u+5r5$<@fZF#@fY$TVYBeh z#9#PF;xGIQ@fRkEzi^TG3%3$~;a`cr@J-?`Oc8(KTf|>DPyB^T#9#Oa;xBxc_zU@9 zd01G^@h@aiJuX}({=&Z#f8p2YxBxzlgtZJMkC(oA?W_;rJJNGtD+(b|xRRz}!sZ5$5syBixDS3?Uz+ z`h>gkd?Mrn_5$JOc-|52!}FG~i03R}G0#=P&-2_N+?VGa;d-8Hg!}WnB>V!;MZ!{^ ze}o6{93woC=QH7#c%Bh{ndc}W9}v_D58=5>$Ol9XLKdcjLOwKU6!KwTlkg~>e}pwW z_XzotLyPc)Ow%f?%QS7mBY7?qp2TyOur|{~ghywZ9w8qXM}?PBJ~ST%`^kT z(=ts=SemMJg#JvE6dum=sqnZ=lM?bF?vn6ZnPypdex_LwHf5Ss z;RVEBcp>qRKo-9}!e-(xU*f8n#lUw8}g7rsRNg)b6+;mgEdI7R%0 zuM&UZH1QX{PW**@z}h1GJ@FUL5`W=;6Mx|^h`(@-_zV9?{Dp54f8pE2U-%aB7ygO( z3;#;|g?}La!U*vfwh({e--y5PHsUYrA^yURnPyygCGi)o5P#u^#9#Ok@fZG+_zOQK z{=!w_FWg4_g&z=q;dbIL%-}g%n8owDkPn%bg?#Y2B3$MCFZ5=aZNjx&fNz0(0O=9# z%=5aC4=D45yJZ=lFh9%W3%Oty2=`)rK=|1#Q!M-(&!@uuvP`Lvb(b>X`@~SO`h`;bao=1gcS*AwF2gS9*gR@LP_~k59C**^ddf{ie{}X;C%LIiLJogH} znq``Vym-?rJS@wEgd14b5b|MhtMI5S(l1y# zud)6hWIba*_;uDFgnY0yB&_3kTgZzcBf{_V94$P9^#@^)^#|cuJogLFVf{gPF6$4% z^H_fno}Xo=gctH0Exdqr8)0*nnH65j^S|)2ERz(r@cb{llK2a+ApXLuiNBDSidKYe zS!Pvu1MwGziT|yzgZK+?CjP=>h`*2z7Jb4^#9wGQ{)K#)Stz`n_zUkM{=#dCzwi~} zFMN&o3-4haMfd>gO~MC>zwjZ}3xp%YU-%gD7ygv^3!fnV!Y7Hp@Tn|QFC1gtL--8w z7mgEu;d8`acmVMi_7Q(!g7^!6N&JN`5P#vXh`;c9uK&V+aQq8D;rJJR$n{_N5!ZiV z2iJe$i^N|zK>US!5P#vz#9#Ou;xFvx_!quP{Ds$W{0p}bf8i^{UpP(tg@*VGvx&cO zcj7P1B>uuR#9#Ot@fZG%_zT}4{z6_DNeMs0`CphM{=#|UFI*)4Le{mm2|pnIx4{+S zFZ_`B3qKMA;+}8@vCjP?p9#bde1)_T47d)mx7|t|7VJGK*;UON= zB>alUGz-7sF(Kih9@8S^#j#c)AJDf6i;2JRyB^ae-dQ7>nkN6AkBK|^NBB&C!5r5%*9#bvkg|iyrAn_N*JSHIgA@LUu z6MrEuT{H-PA0qz3A>uE5g7^#f;QBAzi|fDevt0j$zasv^mx;e{ ziuem(A^yTwiNA1~_zU^+`hbuxvY2H#9zn@L36@P*5`!0+_5NJ%X+GCC)QJid90@j z_aXkmJy=f_u45flxRv;Cg!9B-xIgQYLSD+r6ZR8-;XTA($crom!mqKuC-i5VV&R5t zQzER+Hl@PDvQ3%r$ZS(CJSy8%2zhy?Qdq;fpzxS%;}_Pl&MEvZ>zqPf9;y`{$2zC* zSk^s-C$ruuJcadL;dio4P{_+ujl$De2NpJDn`U8Swh0Npp3Ub|kS`y%3hP+k6<(Ze z!oo{f*A?m<_He&ufu)}5z>SFs)|WW9Mt$U5|_kag!dA?wXa zVF&RSvfi8$vL3x8WW9M=7-l_Pcr)=A@&eR0;Y}=z_CnU1Jwn!_y}~ZmcZIjGzALAY`37C}jP*Q5YlsLe{ODg{)hLghRw%_%QJo{+Rd+ zJf7tRxZ;a1`=TqORR-~#a%=Cb}P{5$a%zEAvx9}s`x3h@`7$@O1&B-el8 zD)ATc116=yJy_Ql-k)X4h5Ud~g^(Y}s1z3Gm@47tbBtfeOIy{#64v#F`{kHg;r=-$ zAmm3r>V*8jRlV?l9Md4=hsuINer%>ucu0bgR-KrJIxvDqXL1 zK0bgR-KrJIxvDqXL1K?gfu5_u=#Yz__?Ni#Tv{8C>MUB7GDW#K2&ni8w^rX@WrN@+x zD?O}qOzD25qe@4V4lCWNbV%tYrGrY>D;-d}Mrps&l}eW@U8;1k(gjNUl=doZlwSQn zjla?3*f7N=K9qE8VJeNa-e}gG$#c9Z6p^}N=KEBC>>V1Rq2q@O-cuqu2(vsbdAz}r7M*#SGrW`Vx*f%=>nyFN_&+yR$sw0(du@0{6#M-ol-if^sLg;N>3`CP9EqRN{5tgQaY$~z0v`tYn1jYU8!`r(xpllD_x+pPie2xM(Nd0)c7l% zQaY*htkTm;Pb!^IdQ9oK(!)x}lwoI;eEL(gCGwl=drKsdTy0 zrAikoU7)m2X|K{o>D7O$@mD&fbW-VArKgpiR63#bn9^~jhn0>g-LG_1>4?%{rCXH_ zDcz)WQ0aQ514`E@?N_=|>2jq@l`dAgKxv=SUZsuFtJ~E0E1gn0sr0PU(@IY&oltsA z>A2FvO2?G$S30V6MCq{7txAWKZc;j^biL96rE8S-D_yB{xzeRd7b{($v`=ZT(njgk zf2r|TI;C_{=~<D(KrAw7AR=PlGpVD5XjnbV%a^qA6drH7S{Dc!GhROyJ) zVWnG@4k_KFbWrJfr2|UWDD79eQt5J~OO-BGx7>%LN>3|2 zsdPf=F{R^54=Wv0x?kz2(h;S@O1CN*f%=>nyFN_&+yO0U|r==At2ol-if^sLg;N>3`CP9EqRN{5tgQaY$~z0v`tYn1jYU8!`r(xpllD_x+pPie2xM(I_%7M&h{ zrBg~Lm7Z04TIorp6H1RM9anl->6p^}N=KEBC>>V1Rq2q@O-cuqu2(vsbdAz}r7M*# zSGrW`Vx1m}W zl};!rISj}Dm|_Aq|ync$CQpMJ*;$0>3*f7N=K9qE8VJeNa-e}gG$#c z9ZG4-OrF2s1S*53yo>V%a^qA6drH7S{ zDc!GhROyJ)VWnG@4k_KFbWrJfr2|UWDD79eQt5J~OO-BGxLaMK3FzQaY*htkTm;Pb!^IdQ9oK(!)x}lwoI;eEL(gCGwl=drKsdTy0rAikoU7)m2X|K}8>dV#ozvyMVE-gBxbW-VArKgpi zR63#bn9^~jhn0>g-LG_1>4?%{^zzXMy_J#ZNb&;=$>QJ^XQ#xRvs3cVPDyx+lV{GD z=d0Z7@{-}LdA|0o-q1~3cTT*{w;*4ClW*G0A5C6wAU5CbkIg@s*gQXKHqVRyaQr*d zW`@CHb52Hd+F4^xoBt;M>_BJI8L*}K)tIPPptrZ4@xTX!Dc@I84x!*^cP8#;w=oBFr%#XIN0?b}bI z&VtnOm_hbwQ*z&rw!b}dP_D@%o#%6X8NN-)1OKu8?U7s8n3A)3N7H}MTZUMamrH(Z zA)`39kX1hTCO^jG?Do<2cM9=mm2XO#^3CL*xWKo(*M4RD!Mx=io6q~l_IDbKbIt6l zYfLNKXk{DHo@_(5?<2p0Hu&cK0^{<`-lRo)!_N)}D9am<3$?|Aj+DQA%(#-Chx6}G&v#(0Uz==SZ~M}NjUq1YID91BYt z4*znE@i7)9{z0dN{q*>WH~Z-E#pYv-b-wt}=@|N-P2I;ln%pPXOwsl@Ci}S0_JcEg z%mYKYykh1TbtHyTr~Sk2ZwJ4aYv$NidVaC*`Sdy8C*wBwraM12JJ%Dt8?lnl<(m2! z@0T8T&|7CN-}s>k#^zTu>D%&5c`^H$BU*`^4sVXucTWkY31U zU$W_Ic6n^Rfqt2IU@Jf0@Jxm|eSrgGebk{O|!`G!?z$^>EyYblrQizL0p=WhK9W%;K2LaFR8`}HQ{mS;9P zQs&@v-suaR^Va4SZ%L2EPK+5}+;B4K|1Po}>g+_nc1!E1vpcNXbs2sMTB#@HBo2eS$hAJaHF~hb)7^&Td3~|@`_f|*;QDfE7C#lU zw%X2z+yvMD;-0OZ@&P+9?%*4U?!1Wpt%G*Xu=C=?|CtwgzmRyw7V;9ClHG?4xcxl1 zk9sGh=hN+flYMmSiEqbzTJ7Z8>F?T_-mhI459#Y+Qr11^h+oRYje9M<%=S5_IJPT4 z(n4IV5<$91lkDE6;vjSS+VyLU&i|^)_oBVmiYHlMeA^B#N=onL7>ZQ;G` z+t+%-wWyz+jBFDN@Z+I!t@YtR2-PKa54XA2R>= z`KPsczCNcQv~g=5^Dj)91@XY2lr^z!G|m;hFa zEgvrTrpIsPUViN&bDry7`o1%heU~|(#W*}@x5NGY+6l_YHBa&etv{Q6l5+va$vnqt z`r5vH__L|l2ixE7SLHX`^86gY+AihaX#E6yZAkfVwtjxLX>Eh@x9`}lFP1gWz6VI} zm;=Tn7na+fO=Z%bKeDema2964|AO3eEzAh-R@0vp3dut)9jDEDr1&mN?0 zzSSz%`+K_%X-vv-n00tp`X0=a5l;FzhUHimjug4ap`3r@zAEUK`##3$|L43<-SmC& zj{Br?8{2Q#eO%=@G0aIhzYQ}EvVDnty8Lm^roPM=H(avDl>f|Yd|0?}jj7(?HA4^O znu$wuP5DQ;rjqXwRbfkaa;-Zn*Nnpm7Q*T+M=s7aW97M~x;odC;amNk*EC#{YYNfJ z=*S;(P04OvGqK)l3SRV@fpuOpp75HHGjmPzfw?Bce-Q5(@tQj7l%d<^a!u<)UQ;4| ztTx~^v*q;b`CQZW1MYK6y{3!rJ5Bz{YvvyJn&z*2%~V;gSqbNw3j7nF@tU@`yk_#s zT(f)!{lP}DNi2q$KCh{M)@#Zy$~BF7w84HRZs*(^%r$|xa*ZEdg$XOM@hI1IEbo`} z8^&(VHN*2>6EoB$U434ziNF>qGsQUkopyffHD#oi^VgUu`rOr#YnD#VHABa+AK2I? z`F@yu*UYt&L%ANH>#(`fToWD0HQ~FxCVHTk@A>gvFl-L1Zf75#qyIJahK;!GT64A7;RaQZg(@o|n+C>G3TpBM{2cg7Q>%dlE3A1i%Q zV&&yG4~PfWe?qRQ<5{;qo4LW*RR24d-;az%|1WllEo_5x>KC$MEw@>YsoLf%CH0$#bQ`VR*^Fj?oJ~Lf>=ts{ zNCmr{BGmr#yPYo5G7gb* zT%Q+T6rb#K-s9a)mF;r@{vrIKv)sOwl8%#JwCQTnhz1JJ+4#-s~c0 zr?|WJF-qCFv)%F&4|F^EjqHCX<9Y;h6zjqG;XS7UD;wpQdBQAI(T^J1$P3H;%%)@; z={nL=jcz-&q=TeQ(9Lfk-AuZi`j1gx>NMkP!{^6W5_jix1YZxnJbb0rw~TK9-`o@3 z&gXvW)=l6W!M6?Hj=D*F(T4<_B8b{>d>D$|lC7vly=>$}FPS z;Sa-qOFrBmPC)5z-c=lzL)}jCxo*t+x;Ykuv4!et<_(s@e6;BcZFDBigY0|PmDD8$ zQ>1IoqaWnUakWSr`Q(?A_G2OP8_5r#XD}%<1V^z6Z1qX@=|{AY!?4v7Taj~QMa=`7F&>QMDfkw>%*60eKCBC z_=fPUSYI693cgW%I}e$K_?X+r6zLMmc;j1~Hn!=DZJ{pbwezW;>z3()1^6m4|M}g{ zBR}C}YBE%ovfHh-nSb}YtHJlrdW}I#=a;BS@i`P((*bLB)oU?t5 zaqG?0CBL7%JksLt$2Wj)7@wr&co@Yuf-mn{*H;>0j7WQJodMDlq?2rWnQckE61Lxh zRbzFS?-s@wrm!(=5}U;eX|rK1$H|544_t3z3$^GEE{!b=ljh35(DNPYpgm@b6Cv-j zLGBe{&RJ$*1-}>nBk7VpH2t2J^IxEu^Zf-JLnGbJUOzPH1**N z)Z==!if`m6uFp#u&xMSIEmK0;M|#et`$-p)F5cNKKTW!nboq1cc~jb5##f0iWXn{u zoodoGl#%nOl&Qm4hp!%=q*HCwq24mbV32xw*LOP~qfNNoSwTO-^{kINtH*N9>*e}# zDc45odmnS_hshg|H2W;=t&koj?PEM89j5#!=>l7RnskD+vE^f=r${gE?6wytJxh9& zZAtwE=|$2LHoZc6ne+_h>vwU>lx|`lu-(F3H}Um6#<`I6deW;mb~{h84@0DLNY`9S zf6!g{-(x=`$1%^*lW-g6H|;!6w>!mHIW~&*VKT=}MtgdW`(S7%uECsVWS&OIZzJsu zxam345z>*LyT{EE=_qMA=K5}PePy&UAa%lZ!?m1VW3&kt33|9h_xqD&3xiI}_nDCs)V zZ9jC=i=>03CDx7O?tV8lGlw(V(_;~8bMH-CC?n^Y1oftE-R0Zcor;cjry6U#qum)k zq1_q7X3>QwvY%(h7W!zXkA3+P`{q5TJ$(&Nk=}_lhmp(Z%jNCPBvy3=F@3z<=|7x) zLD{b^*n+KMDXjU4cBcW8bHz4KyW{x`{UyFp@e!98OtFo9gWNw-W(=JdJ zbGwtkr0n#G)NgF({)>I+V;}0;oz_w21U5{1jPw$^@J{NUMEtPemCQBTYN4%}bKQ29 zNry=<+H@oR>LD%Xm=NV<}o^C{X3oa*+u{GN8lkFI-~z75kS(k-{NJ6)KZ$5PiY&ggy7tLOo=7hQQT zOxYKhI|^n=rN`<1|FOGHx;2k!?x4-UiNB?1!|M zf~!~?z6LDv^LFQ-arSMb-Ptq7y(H;SPrI|7{VEt>E}(mwIZwAyk232i(^|{18QtiN zz)5^we2o`#Y+==yJfqFx_Yk89>3(eQU~C}?^Q3=KdyQ_UENMeurJoa|S1%b%_jBbr z*EfT237_oS+)t<`}u4kT%w>ud;6SmOT2K+}oA6rOJej2@0%kgn6$10ZhDCf&d zIB#NAnCxo;#;`cHC;MAg= zvHCp6>L$i8%ysxU;>kI#`clrX(HBBy&>5kfQPSyo2xYq-@}?hU-qBX+?LFyO zwxT0gKUNs)akfFZ)~;+~Txq|Oa{1w&^l@XT--MR!2HM5XHH`lFsTaVi*q18yql#@y zj4JIuRL~#U{s3*sJ}lFJ>6eeT_V95H4)!?xz8X7N-Tla8yvwNLIjhH+fs0rxx*lsfo_+;3I{OB=#uBFq(sEBVKEQh(Jy@YTzsB0! zahA^z@@>Cr*{3l5SivHf^*Bqr_Bd169Oiqx$0^2wyY)Ebm-je+7{K~Ypbv29@*Zat zcAd@k*{)n;>e=1|X_-%}hO_|)Pn#n(nU)ZzMM zj{4Z|McNyu?(&KBqfz#iZLvK*FLG8N;hc3JcAa}1mhRq@K95vF8TTIA8$c(1NStqH zysqeRMo1?+=~F)YSJ&h0#<=;>W3*F8`&Hd;8*=_{?W0_j`9-<)l&d9A=0Y3k9MX-X zd(Z`xP4|oPG9Mdhr}QMow2K)3e9&p6pN;fU=1A}&x33MSyT^I`ZSGhU?BT{bmG6$* zst{if){ITDFT+F3o0cBO3B?vhX?p-2Jh#W0?CWu6v63k3Hz)Nt@6fkcHL*c&TQ}%L zj%4mIZW8+e+RFEF9o&<7L|&XS$y?p`1Z3VM$(OiIKQrh|Ka5@L_Irx5={bCpJGKd1 zCqez$I~hl|?Rm__E!Jx&evKRVki)Ia6+sS4kRY^#+v-;MKJ^CQOS zWX6wjt54Do*1)>Tl+ObxIE6R6 zWy4SRI8kf`pC>}x&*ONcZhm~D6aF#h)_bs@xv^-w#T}T!1B8GZF+cUv=e_c(Rh4E-mG$f+KDo{` z_jB$;f9@=^&^FxTT*|s#ob>n@=O)r4t>_42)`S(f`#09_?%!y=JMQsece^8FZa;=w z-R&+A|mQI(x9a;(K}>e+}ngtP2~(Jid)i32`nxrq`+XY_IbL zv(4O@p(f6a_{!){*`(Wt%7=TozQ||OT#qR0 zO`uQhb!zZu5Q{LBbpTVqy#@Qj%Q5Mg1z+k-k7*U#mbsF@jy@z}3yY+O$y<+JLARp4 zXb<@j^e5;Dx*uH+o3ML!Hwzz3rm?Q?P=+?zPNV#V^poRX)@{RgGsmvR z_HxH{iaeReCHK;2A90Ruar_tcI(?`2I-^j|E%JQTLR)>;^g6Xq4?49sW50IiWz9ow z+^T6$#=%e9GCziX=C&8V#cjWf`jgb(_HwT?hb>{n_w_pESm-ysP5=vHLu^;h+l%N4 zYz6Z+_c{ewuz|55uN0GgrCWEF0-{rbx^FOg_c^*PgC_<~nz-%(c0F zlIxj|xJk_XwDmD-c=^6M7sShpC@1 zKCim-!N9y*y4`s&OO!hAyik$ow9lzl}PKF3_! z$e3Z?-d?8?+c(VhlMmM1gHua{jwf*Q6ekn7Bp2Jp2uad4PV(j)9 zbo>w6V}|xBNz2@-ILY8yOQ~iKac%SpR?Il@15@c zd!BUXt)Y%wm$uc}aiEWKJWSls>ul$lDoTCXP9yz0k7F+XOyWvEXYmi=TfBtvf3?^7 zYl7o-knunt^#aG{bIf~m3I1yO*z;Pivp>4=d5%}~hS#_+KaTO)rPqmKbyyHI?efs8Z9ZoA&h1FmUSd+iQiNO(=gx)0m-<{{j7Y3c> zWJh}JW9PVi3)0q~nbUon-99#w?&-Ase1dzR1$W=Ns4sIkMIU5Mek|a&Gempd0Ou6y zP2xMC&Mb^3I-EC%!!YSX&)~DLV23jkrCfW5GfUn#h+W?C9ZtbdJ6Id88l;dnAS9N*y`PChJ#)i3~CVHb?RJ}BqV!e4Yai@)UhaW?yWw!3d~zRi!j&yohe zlxw5h%WOY!Kl2tnez`mE$F}m`C-30O93JIeTiM4r?a4fyy}ctnKWiWFNFVn#KV*#P ze?^9Qdy;numg{oO=+j=)FYiwDzbUvr$JGBmm;Y0h{d|OXMGjz_=u}&diC_ij!nM3V z1mpB=-~-0{HMT_?b)?&{eyr|j>N1vPFY=BM>Bb9lO>AG@TKghp!_>v5cg{7Fi@C-- z=uQ7teHFg(HMGMv%g`(ICm+@l&nSKAXN*=_bIr`z#O)B?QTaS$#JfO+ujZPDOy2vU zy;91wz3er?|7Nb-kYk!KuZK2ycc{OUIlwzL!{1?UoX^;jC%+k9zCZ8E@P1Fp*XYkb z8Os-`&zozrq#GV3hTGZh1I!EJUryao#$k0=`oRCY?!TQk`QGB4mn~k?aut2ycbrSG zRo-7}DQ0fa_rT?nmt&Tud4C7S{zweqSQh=N%r%W@`3-3KeejuYGj7aP?_YSw=T^q$ zO6CP~bDZt0v@qwe8LWXhlKLm_)u5wT*=f0^{xaf&F2p9UV0^{se@&m)Y(sm|dHkON zUCh5S(luC&Ia4-5j4x*&_wbq_;uOwizLPFHgP83`EEr?|I>v+c2ln@xQ5Yy-tU1=o zTNpRyWe@bp_OaRhh)sz3^DtxgSN7H8HItdSCWvqDW!_CXpZUbxZDo5smva2kW*4ly znDKzABXW7ai+7-y=c!Bhy>GT%!uYOGFORmS&SQLuMUXsCoc3V@bGG#|-ald-8qTGE zlN>X9@Lh;~__{cM1RL4c>RjW&S5d_KPffXIYLqdg4@(zP_vl=+${eUY zl$bt~YX1Cz^$2&W%ydaqsfkN8{xk&Ni+)E2O_pUdvX_%_np?$D?a6 z>u_GUf_DZ;uj4wIX#^#^nUaulh+8p1VHnG{Q9nQDj<;`JEFs>hmA1L!?g{YBb~yQuvJXf%lv)h z?a|>34KaqKOVQDD_zaSC-vdRCJhSw7x_uwGg3qJz%e}?WiACva)9?cCCG1|5-j|Wh zMecQqdUBl_eZn1s@I*&?-vdyt*+IC1O<*$^|KYW>`wwCZ6^$LvU(PWL9?~sc9Zn_b zLwLT6ws4I_r|P(VA8!`6(RXh(_aYwdGhhg|!9}>}s z?AJKy0`4=as24&v&}Qp{%&9xspKSIAtH$cF#v_RbOkq>lEa^ZFb+BS=y1T>Kr`_<` z6!&<{<5DR1HI*6AbvOqGSzm^7f6;sj?VVKQbdi?z zHkorvS8}gFy$Xl9{36CXRdRn(xraMftFCnCu%CJo#~Jz}Z8x0n?(f)NJDd%~rJ6S8 zlYFjB+cUr7-UWZ~sSc;~Y4&%|4yP=K7-3bIAFDm8!x@DMIFQR&u@(}0kk3#lJ9MWz z$6{A^IDZZCSuB)$bou-u^&{r=-EOSpS*|d;(ODnm-kUhB;+OlXY04+DvTN8Lw#+^( zvwwZGEqxz?>3!Ubals0(5v&dC!K(W?W-wWM8yn-^ahUc<4t&u`)i?1u z?;7Ut)wIR25a69E{&R1q1(R*1U|y2Xk0b0?E9aP#`ONND*m>@85~933ueH#Q#BTf) zw_ant+uj^?iYJ+iSRdAfd0*m~g#|EtK}Y)Y-q>5@q1O}dIJyp_YaJwCsz#8zSq`mDkb-Vp04wpJ6|Q z-R;hil2hEcmA>g78#2F2sNeW9V@Y4Cp^SSKzB+Vd9rOGx=E=`EMtb9d+e8#*BG2M!KqvarrgxVA1F4^W9j?upiRT*{j`{gdTC{dSY*P9HKCWO=DB1 zbvSR*X6jnf=!V}guixo#-u@fDi`;lDkj>bYm_1^cmuHEY}b?fCaIpR~QHKTcJGLdd^@RXyYiZ<)ipK__mRj zb?XVz^87ppt6wT|N+~P-Ya|^YU1`(x7w}#PzJ^=ecm?0$y~H28=jF!Fy0L6}$(@_c zr@H5{*^Aw_RyVq_?V|o?eqk13Y&(LkeUJS}#uoA)<=EJVW8^c;QLGIMV?D<*=U@_B z!OZsV_dgwzN{UNyhk1K zeb4YY`@PuPZp`vuc8{$k`XqC78dQ;PlD z$8{C%1}9)*9oHPn_F-}j*_XP7_(w?3lDA`xqmDKfNw4CUc_3w%ujM^1{41xqb9I&c ziW}XSc@v%KGBQVMcVYiY2Vlc-oNHkmE8sgpC0Hd^?eFAS9{mpYDYPkT|BGk3<2Xcr z-X$IQVv+Nl%tg}MNSE%~>8#(~EHps*>|g}ScZXZ{=3G`{VExztHjIs6WByL3IHS`kJG|4WgF!e1<5&w;^3zVIalVte$U5~B=eR=mm}te9 zPg=&=%XrIt>c>}t&(D5JdX#iI>FML$bmai^6<<}GI}iP|k{c%(sGTR>v4T~TWJfQ#3)7IWqqiRO+%o;>S^N#K32Vb58;BbmhY2_ZO;)FqhfR}?b`ayO@LlHH#crR2r29$B zz771u^@Z^b;gfkcaW>mz+v#}Xe~mtm!LM%+0J$ zCyZ5N0jv=V9l?Bt6WAo?WzPD}VT>-}y`3A}eQYJ&NLuDx(+_x`^a^*|q37H=SwsG= z+>^Gw=N@m(q`Rmq`w^ku%GS?n1Enknn3x9+4*I9oP z{u%tu)<0RtK6AZIj|XK&$?Mug-N&%MxyMI@vND%?4tB>;$_{nW24$r$)#q~jVI^2{ zi2b9T_lkKx_$2ntq0gjuBOUiJx3L5^Rm~Vra9-Mj`HW`^V1lwGl#N0!jKO!L zF7zBQ=*Tm;Y;%%ycz@a`<=qp;K2zyNAhD zReAsC)TO)9X*$&xpbY^|k_KC7uo9w1ZM6u23DELZEB-JV7Ki@<*5g}Z&3Xd>*--^eR@F>a>~o)2KReu+M{ z8M!6TXv#bs1#iBE>k_{EaRaz}arfaiU5Z?P4}E+Z?M(Ou!YvhyKe*QkM<^@$8t}*A z--rKh{G0KU)Sp}u;Mq@jGGXbdN%MlZM~M6Scx*KMCeqX%)(b&e>%*Sf^yZAznQvkE(G`w62F8v z;opuw&rcV=$PDgTT#EcnF9di_qugQQehsWw@xKAS&CNaD75J0!1*e((lZyGRZ*VSz z_%YYs?aOo{ZgX(!>gm-xMkYi4XL#-&Nm5`PZiEu+YKqa*0^xOKSuaNBT)aYhw1;@WU=+!$Q$Md+oz z{_}!*rcuwU#7!kmxF;7OZ^g99pAPzBvSzw2mLQb_zXLnw<12j{`4r!XZxTNlUv(ThaJM)0lhn_;R>QIYk4c~F@$Oy<{pa;~7mknQmt4-c zh@cVJ<_XfW5-dhYWz?Y0R1NXkK1hiTAvPTV! zF>{N3j`|u&m)?2+nw5Xa=Zbuw%&VVUiiJ$v=wd^E{$7&+k$%y7deG?$A22P@DMZsy93|&Ic>oAUcL{xjDs5k{4K%< z2umNdT@c9965^gFE>{e<6Mls7m@fqBHxu4QIMWt{w-FvB{BSY+DB+i>>oC6R+(O-& z>)M1@2<|%Ma$8V#MF;X&4bLBgCS3MR@FDyHuH_Wq;y0j!r&{xa-i_FVk+s zH{lYvskldQPvf@WQdcns;My;w4E3~qHGthrcp+icGmY;B#qUS?o?ral#`oL_#dn92 zJ>KK5968v+o=5}xGY@~7y_hrEzhy7)h0n5&_%e6X2ZDXJh3t)`*_U}{Jo`>*_I!TB zUeRB%w^Pkt&wcD+lE3d#_SojJ2ljdPUMSmkGkdMivVTNenmxk~_Jteyp2fb;!|W#w z;+~1HC-^P)-0EV+%}d$KyM=rFz>JXA&i+^8aHY}8Uf;d!JEae?H}ygG{yxmU(1YB? zCoTCy_M$({zTXS%>9Lo*fI46O74#67;!T7>TxSn^vA41JG@HH5x$FhL3jXW|-pqH3 zy{*ZLyPiEG_GG91H+zC^h4Feba5q8QMeM;5{{ZwR$ukDmelPpAFR-U{9eZ-WX5VrS zduzD%FS2L40Uof2wf6~VS;l_x1-!_T*z4&%6TKg1BzUXC`X%8R`PX?%B5bAYM!w%= zT(VQ|&Qu#0ym``0Cqn^b?H0{Dip##^Jj$z$I$6z8$ zO5XD0tr^iZm$G{6ByHTyIzcv{BCPv1;Y5Go0{W5O+Pj7FlW~(si$c@nxa73Ipmhbq zSnXX%S^}r{+XSP!2;=9#U4cwaehL|UFtp7C~G7$)NA|igZS-2 zJ!+dMZ+VD+eG@F(O#Fg8GxNWteS~`$dgRy8HVNJ#iP0{4+hqiAfP9254sWjbe6;h1mGKV26Y}Ie-ecjdoBfr1yGM@f ziQ?Nwj@%D^dA%VQ!RMWq(LW*oNWPKQD&A+=TEjQ*v+O6&!O9}ePXQ}d{EkuPtRl{O z(?;*1>>>SssH1Aa#k|otGtV1+cRY3iUf(0H&Y;!#ZIN<$XK1V5hB3jtN^!_+B$3^) z4IH;q)=2gF@+3H073Q5eBbD)Z>+hfu=Y7T^4ucBwjvBI`e@*##U+D#4DF6TQ>%`ur zeH$!nF4|BsB|Z5~^4^I%kU}5*C41<|+{yB7AkVG1ZRC4^e3F5^z-h#9iqn6RS!YsC z_i=fv$mn`80gcVHZ%cwXW_;xfKc?(6>BpSCV;}S1^EsS;*m=!**lDDV_tMs-e)7k{ z{oXLa{njwS%?=aXmBR%0E5ii$hGBv`Ynb3(JWOye945GD3=`bgFv0zm{nqqDf-y+C z#!T@R8e>J6u{dG{Z+s<;hhBKzmM-RvTl7+C+zTzg;OEuoDCwnV%s>bIO!c9Q8b@Ay zXfJU;C2Zqje}DJSL(6-Aej4!_$16V{dpWfHp+m;!dw(7;(^INLzfN?Z@KGJYCj?$* zI_vBORutUgRWU5Vtn&onCvg>D`Pt9SWx%Scd|B|{{gop8uk`+0@6ZNN|1ka!0IMAT zhX{WM_s8NdKIyH#7W_7N)R`M$g)W~})aB1ChKK+BnDfunw|7pU z&xOn3E*v`kwd`ZgJ;k(Vh!c!RC-*=tYz@}08@!FQb& z#)HGWBUU~hm^pBPm*TZ-!WcM)?5xwA4)Cl2uIgyQj<^N5P2j0;47{tsTXpsluQ-Jj z-$OXYcQtuczhUuSLSm5@r~b~eb}sR!m3lkiPcydS{2VYl1OBLO=K(JbthvC_Soh2= z(DjYSd>Z#&f{ZaHJ_DUTf06-zK1uz1r#$9}KY|g#{`C2i4EQsf^k+!lJN_|V!h%1^ z@57((JFO@12RH{iaMwxhr(N)3WH7LsUpKCF;@GVXiILv3e18IXhJ|dx`*{2e@36JQ zQT#P!@eRfJ2)3)S1X(PD7c)kB)$x&@V8)Cyyeo_4suO2;dXHFfmlxyW#kiBfIT5dq zmDOL4S8G}P@8N|VBYRZ#s(khHa5C%M^s^%`otKa;9oXP{1Me{JpjOj%ejm-CFZ#01 zGjkquZXmDtEm@SUQnIrozn1F8eloEI|B`%0vd{aJeC#e?hSUbU37VkZ24IJ%d*@#v zZ^$2ZoU`L&YOlwfTHrL0Hvt~XD?EhfF7oay<{3#I*}2Li`Ii0=uF@eNrB1y&TLDbj zbtN3lGW_0G#P6aq{G>>}JV%is!6(XF`~_HMoSjy#32 z+j$;1l{XVTVa*%Fx6^1F@n80}Y--b}_1{C?kQk)D%kG}Z96|B*`Cl^6_&V{}&ZB+W z4fJR{>+Dh8zzvblFnXDj1Td?Q!Vcz8l7YT6M;PygN5V-kwo}$T51t9Hc&3hb7R|;a z_ZpZlstwI6dfhF8@5{@>oYQ&eg)}h4H@!Kkw)#BvKEOOvV~yTW{6lXijv;?WYYYC{ z+OzTz!s^=^2PT1IiGS%EgSBTP@il**Rbyns|IOS%d2cV$3{Rl>Y9B_#TH_u0V0HeE z4_^Y$W;oPyhxl89r@0{Wru;I>#;D&9Cp2edU4-~v;$Ow?XI|l$cCeOa7~S;S;=9XF z=-uTGoH6>YvwP@Q!P~WpE4^L&2y+PW?G$MF+ait@`Lzz;v+5M)ENi?odZy;Je*K## zviaL$JM5jKvd-!yyX{@?l}xYkE*_D#b7yCr%ilA{URUGT>I3VV^1Nq0gE{9en|Ge` zMtq;k+-j?2%;fuFe-86Ce{L?B&^z>T+Vq>q$`_zbbDIS}m7Mf>|IGJ1z7tw=z}YP$ zjD@(lIQ6Y*2H-)fQRhYexE##lCJuiPe>P@jl`k*^FdwcYG7{#Hg9qW0GI8(~xNLM0*t4kBng7PvNWMD$X?sI_kv+B%x!Q5P-DjHiZS@z~6%#I*Qe#T*ukyZ5owpfX z_J$f{?!9Td+qlG*ZkU_HbV!14-~ZTmo}a+C zY)gfuQ<~w8k>l=Ma=kYR8P~guYoJAUBGo6Vp*?271IF(LdnIR9Ia7(Va80-!q8YiR zepCHS>m1GKQ|XaLZ3=cY`(McrahrT9M@C-->Yb7W2PQ&gRYV z6&Q^rz30mo<$^UM_5{dp(f(==zx`Q9x}UiCsK0TtA#4HaXRYDLCg7~YNrrqGGwv>Y zy{xX=sH>Coh~$ej@g+@I^{y-C16FLUU?&+P5`EYntG#;iEd-y1(4oA-OE#70Sw!A> zMR==n*0K?{x7Up^f3Yt2*M;5&SpBdha1*x-?$s4YgAF>%qMd zT$`XXg5L>mzlwVhJ_`o${Bc8gnO0J5>Ncvsf{S1aCdzoU*6;+k)aN%8>q9T{W^S@x z_?7Bxgc4wt(dO$y!5+i*Ea4N;O65Fwz*n6<+Wb@f>`c zcpe@C&lP2O&ML$6FnA4?;i>S=ZxPRJZxheghrqM14A1s5JheBlsSHnr7rsS2A9Z_oaXKCU^OLUh|(Vu&Bl&*lZPL^7CiM8WK#uXj#`a~* zkZsSr&IwytXW@jqe3{UkPveDbfT8kFo%s9t1HHc5%bw7F^NQ^kNnGInH&ifY-YPrI zHNivUnvY8&>#RuK<<~!ku~g&e`!qf<4)$Hd_{SJm8vkS;XbdE--bgKG91hlyBE@m` ztBKJd)3 zwflwS@%KP-{oY>oD)zDmqP>jX+`3>Ng!K~65%_B%+G8+`Yx3GN(7xk2!12#YQ)fpJ zj`k3=FCd$7Jn5X7a3jWe_LQ>DIKm6q7b*WAU4OrhI#^%H8$Sy6AyhV5!i)77g{Kz7 z|Mj28{+Ci~GI3yraizV85*|8BpmmzVtSz-q;ygUA{UXlIc{h+))DrcWBh-vk?8earCzNAv2VqHP6zpQmR5M{%&qpl#J4BN_Z?jOJ=`6b$h&dW zSAzKx^r`IgMPGGJJF(7qhP^SJH3{n7_ZI7YkbE0(2R2Y2^{#`~KLmT*TZDZF`Ih09 z0DIE}?g;=}a-y>X+N(O*e*lYDN{81QeEQ*2TKjLDWoY-?IpymAPgfXs`}?cfFZAV* zayrj_GrT2d_vjUr##NrxW}Rm0^w3NZcOO7vD*pVLKe}(mtzq zZLwbM8+HOm?d9*`7VB+OdGb1UQY9el&?s0 z_q&ViKpHiq=G zlM(JA@IDOqMke*pzbx-v#Pi>XZUcVltf0={Kx-6I>r;^fl{)t!c{veg| z@@l93ewnQE6W?F&ooyIy;e;}08yQ#U1`IRneEB~)r-0KwvUTI2!yb7R>*x7M>SDLT zmyLh(^k2+B_TgR2+WKN!XS}4BwO_2f+%Y+*^QW7C`f>lvl`)ugzV!G?ck|0D-B^zQ z0Jm2muWfFF#hYWsRQBaL8<3`ci~dC4idbLgZq7{Sb>KD@&*p%~{%~rst#dnO;;93h z&jJ?zS01J9!V|jeNJBmPxXX<+guP!=?u{o_xbMGkrTgQLt#l^?--jFjmRAkjNcCM@TiPminnFCpsC`8R#*4A9w$Za2jJk6jbN-T2!)uU2ktuzABp`kpq7SXa5> z39D@3C0P{Rx{G7lq$LKuvy)-YIj0SkhQuTDw!$t~`eeFub|UPKsmwT0v%643{FsY!PR)ew!hZqln;)vu*`NIV zAG#vn0?%}>Y9#Fv9^^bFZB=Ru?osVeq(mF_c4{BxGM{eQ48nQG6#8q%r0;F>A{T$H z5KesBK5JTo9Zq(09xRI*=RBd>Dv^CqcYea=a=(7~oUiDkKAW?3)ZbvN_Z}YytVE3~ z8f&ubYIGxbnei)JE3PvwDd!WWv0rsn z!LN^*`u}9o!A)oGK1^8cEd0-ohuvMmaV#|KsI$S1v`bu_ah9w!A?s@YOMzz**0*W* z+{0O(`z_?537$_PKAMBc zw?~Ng$ZR$3`5oF(>ocK=bL^gruD8Pzy6qOif;%(uazSM!PpilE*k6aX9{NW(G2Q+@ z@KG?s6V?{OH{My$ca%1Z8nk}~863ORmX2|BfcmHUcr@_^yT(e}3Ww;Q!YgWB zZ%1mE<|vn=&2}I&`y=Uf2h7AwH_~~V7wH5>`W|0L=*+oceSx#5&`+IaqSrRj4dFzZ z?@QdUG24#D=OFVb=bOOM{~bzi#dA8Z-sSRNaW?(MsjgjRo9M;<4;s7~#o4m+O|SnG zrhkro4mhplzMamvn~5o$0a|%f2dTZ9&aWqLy?;)v7rp!calg%gW;332u|yBn`26J^ zryWZRrhS#qQ!{?C%Nfh9p)@)nS9idq-Kxvl23^1z-s}c+7`z|tDLs;_LWeH)zD6DN zTc>iuC2l2cVkW1$;n_aEL5Wl;JFhSd;95TJX>FTPIql&?Bdfk7W@L3zj=dub_Q_D`rcRItNLq* z{z;j9ZGD}62KcL)YQov`-wXrjm1#aTV%wo-DNB3-hiG2{u#gvmP|cxu;3 z;!^tmOb31FoQ2$t8cTTgQacKMlBtMYN4XBhX8IERr~w}L3irhMA9d5bvrtK!PdAM7 z#z-D$hj8uMg5nM1TJ*4SM}$6R#Y4cD$(jCc7hSNw9-eZO*ojc5nQL>y&eFmG==S>; z`8W%EzyIxkM-n}GBY31g3Jl7CL&c6e3j^F$j97PhA^2&6-)inF*2Kx{_rY7ekdH%$ zvx<1}Jz{ko5Dttb`7j$B(F{98(#khO<%wGa{FP^n@&0PMcO0^ zoue)42z1`9&_2W0x5$&P3*%$!Y;7Z>#=|b{CH~13N*xj!0)6 z>B}DC64Ft$pY)=U$bKFD_bt@}JV>6IpZ>;?D&-wX-Z15q)<_$N;Njfyei_cPlLn8J zMxPlynfzv)@!i5U058R3FI0tVk9=+bZ5>H`uMlaj_Ly6YK0>|N zXnQvQl>158l868Cp%;E0Hu6Wq+=W^3bYLUZJ^OLDMRTO@qc?5ZeNgjW?4ra9x7omM zL8ja3^PDGl{5vu6@r=8HZFKpWIxqPX-eN_U#BcS&lPFK$=1vPX$n?CKWE_Q7 z1IRZu1#i!AvivuP-WW zB2S2PKW*+}r(yzW@Tp?LqQYj<7$baKE}PqPT-p{p4WDid(y+(NVRCu>QY)`NEx}a6|i0Cuzi``AeVr;Fi!h@d_ zB2z^}uM@r)Jh5HF7cVMsPP}RrWkSG~9iaT`Q#JNa3N;6mf0Yw<$d9cWb{5f}Ij3rK z2SIS-KPi|E%G2e9Yju~q%MI7|7B2q?_pHQcc+qZ4hPZQMEXSr??Tt+?hd-CNJ&9Ge z_;05E3)>fcm$JQ$cHY4b868P%#6D#%60eioQLft`XF4p&=}%~n8F{racdq?5ZKe*t zO{r77Qu~>?>E3wBL3)ZCN=`j=qAgQ+8wu)niu`BFJutynK8^G>y)DsHw*ZO<3pS5Sp-}5UyQS(D{D&QW)2C ztR2IXWE+!@dctE@6hh{z0)4uw1UDpn%hQ4LF52xqe@UOF-8yaj)FNchKL?*T()5*1 z&duk#89Te&*U~RLp=6h9#lxO-TdNiJ$MVU^uop>oy9pxifA?ar0nNDJMcx$Su~zQm2a@2-M*^<9N%3OhzRpE01i zwwrY=-8t&Ek>fo^oVG~L$40^C`r=)MFlA(y2{*>sW%~cZx>oMRL7&-q3wBD6ZB}2K z=TN#wKgFKz$o~*O_R+h&7vB>CXU0p$WUb4j&|Sa#U^Jgb2brAlKXUdmY|Ui8lkhy! zmYvOAJMBv0slJ+|~ahWx>V#Tfto9_ELm%W{?DNG1mG$Rb$t&m&fqgE!FWv{O*n?j+jr(U=$K)q80ok#Zx_uXfxjV4ln=Kxo zzg}cK{J~R4UYbQ*-I$eb8)cfMM<+ltavDx_*@IS{*SEeNesbsHz4bn?zkv<#Q{Tp2 zTxR16N7=ZGkF#-~k&P?)D%rSY^c`>Go`H^0zLChuQcv$WNVa4TSeQdWq4Su8u%l_Be#$%^j88cuOkh98V1o9z-R=^sN4YVCqhpZ?e9iO6B>4}P&Y<6D zep;cqUv7!5bpiE9_|;<=+0|N~<=qeTaKAS~^>s22oY0G$fJd^|zDWAU;GRL>ry0+l z^&(k~(~Id7&lF_0sXrRXvq_p6e+n6z?i7d%@f{*g;XL86(u(1q5sna!6vICu93>nr zhJQr3f^bDKypM1t;mTqdTYq$naI6^q0pSser@RqyaG*^_qC@11zJShD9+?>33{90A zdThzD+1bOqUHnvN!Lg=tI4DF)-lCzt?`7=rxoZH=@ID_<$aMk*~wsb z19KMnG)Ac2zn5)=T{w&H#r`}kSfhHg^%-=>evNq{3w^@6ZD?$lt+#XhHJTJ_G^yj) zXteI7H5!w(8sWwGyg_xFtkY<%r#VMosa*ja#!qO7q>5`bY1V4A-jfQ}YJ&OU7yQ0u zrk1)EOAh8o|C_IE=7? z2iz#*lm!o~3}C0Eld);DS!WjY*UhJG$=l5Qt8Eb7W36y&9P%ZX+coxLXeWO<>kJwZ z+HSc$GMRPiwqd_vBZepwvX>$b6!0-J1u>36IWjoElhxU95pY_oE zRruIW`8NC*{uTI@_|x!NU(R2KkNuLLiq9HGehPjVKZ)N)JtGFQPSTd^c?{Jz@?buI8tfn8+t-{Al_P9rF@OY0cn>cdy>Vh$eeTr+oiw$)t^$(=W5$_NF&=9^B^x$GJ7{j|uTvBE3O3y}dyl-7q;A>r zQw`D@r~|&pMmMoxL+5tmX9`+JPlImv}b-Q*@i>tS-E9 z_NaX1eXA+IGp{z0T`gVt33LEsw9YH|dkQnnl=e@yitc*DxWZox29Nd>xY+cmv8;J~ zoP9NH!Z_`AotbsULc7*Rjby*4d&BAN` z{CI0|o$Sbv)x~;1c3&lFbG7epB%fLwTAaIPQFPzci!R;Qw`BL;+^Ea<_Hh&;o@4C` z9fmGpF4lq$z=y~0`R%d${Pc~jQ*+#bYCr#ag5E6j>fH~$m7zU6!PDAgDXx+>)_z&sSi}EKukp6OcH|}O z)Pu^0+#H;oJ9amIQmW7UqW#MA8VeJ=MIoJ)p2#{EZ%m9IbD^)hv<_slwiKQ;*56-E zPt17HR7T?rx{Ecz#CJW}k72^^4t%XsS5@aS_N>IC%%S_dCaVvb-&rVqi>9f(qw+_` z(QYa`8F(tMHJq@u!-rdfsj~>BdP?x$EKPVRZz;W$U-2i#mBNBwD#sed!Ds)0Rx+mR z&a+wl#F2xynTGwy-8pg_Iforcnn<{Um|_@jK4AH6`f}Ma>nA-UUlE$)tZYC{8_^*JWwlB4L zH}q8#uRQ<2_awfxe=y%LmQ60k{~crRJlbOnyq3J_|6x8?!X>@f$AvjcRjKSv+Fy!; zXA5hW=!!}3N^9to6TM#T*?)t+%sLzDvd$MC=L`w$*eX~S`F&V3@|q8`hv(~i$qQ$* z4o-$f6B+|qn65ehakAjcf!dkAAURMw`*L6*8)|cFbrgB2m3-iv@UR{irY((XE070Z z`ntI!lkbOTlA%e^BAGCehi4@ZgpVLI;8mr%#PiAVUJqG0c$jl}Hx^~VL>59;NfvH9 zCJRPU7UH`Ke*05iGOe|K)hC*#+Pz*$4*v0tKn@hI^c?k++MI#wXq$o09TkZ+>^tb~ zq-^-`EqW^{uubZVymov$x8M7McuxDmb4RlD*U+W6Wa+p0Q}HF|l95r$2aGR(!&1IW zGQqy!e)2k1#P#dHRKLQz5}dg~*E!k)ioqXr$7*=oBiV#c40F@-e+Rz5p+3Et^(ACX za@T~O3}wJG#a?G$mV7hwpM$r}7Go# z4P|NCTNMqBew^Ow3HlB6)l*-XakPFsIJGm!zvh)*Hw542j_dV0Z|e2x)0esPx_dq5 zRQYLX@Y|NnC;GrIZBth-YmeYy^?DY5EK7gES;h z{iH$k@f_W0UU8s?IiU2h#%J0;Fa7%(dwH}TdC^DyThiDO9g^OnlIhQabGPV%64JrL3=*=Gj(eEwdF zC4SCuPC-T@DgO*^KAdChWG`HMPdJr5T3&4(A*}U9lW)do#;Yu4fdcuK)R+Y{EcR804x#<#m*OtE}peoS8sj6TL)a1>5Vuu&G`<#HSS8MXnbrAWXz{WI4&4H>X=SRq+CmM zA#+BO|KYH*?4i&Wsz1kj`M9}{@>V_L3F~;QRrK;EQ!nwo-Ynu%xHeo1`I=L^yhNJ+ z?T}1@v;0z@X|m7*^pO%Sk{g}p4*FBChuk3JL7Bb3I&$PbocSm?fscQFGtq7DqI}rV znTG3}u$6t1ezK!F;m=9^GiTC0IuomNkZM1@!`1S!;@M^9e4h;;>wBN!TjLNsa;^{4 z_xR498-p*&yv}Jc&!taD_Gjk*3SVcqu3@cI@tU6);5w!_2OD)quW!>d!RO@YwO+&E zYA>E*Oio~%QLonJ+p7D$^q78cbtue#n?3C%d;7hSR@Q0FGLCkt->+oes=WPPLy~zb z_53U(J8edu!+W&z%>3uUIsGzknnS0NWL+_>^(gkj(FaO@oHg{Zhgw*Z%N;QNwUJ9$ zv+6Hsj4>N7v|;J!2Fe*W_H_C#Z=}|=jXAs<;XS;&7MVt-dyKJak@|Q9ywhXQ z&AErc7n>!E4sH$X(0FQ<*I=#kk{?>@C7T#iv47Pso8e`t-=D*Gy0zbHZ=ug7Y>l~2 zn)079c>{_#*6A2`dOi1J(43t zH7sWxGR7W#j<&%5iymNp$a+`$5Mvl~4UP5c2k5O@%{LmbuNvtevYW>Mi+D$H#t>J+ zi+9G4>Rhc|C-=a&x$uoMEn1sYy2ZXx6K#_{4LM{ymJQz8DH|}GzqO{umhB$veAugj z&!?Kkd9`P<2DU;xM9z#JJ14o=aBHE8bacoDBa?kFW?T>MDZhWrS^+;F%sMG#F)}#P zy(jxjq1$3Uf$VLx`kY8s`;3dRC)aybjH}6ed%eWStTQTWxK;OcJCkYud%^Q>6R$k4 zy_eQR@2Od6siHqh7fWVd!5%ZKgMQ1tanNTUytOdW_@w&mhOm)+&?xJ(_Z!a?s#xEN za7K1nmbIe6#ctvv;k4cxMchd6*qZHglAGZ7ean0tdcff(>y_t2;BY1~-)i-GUqye! zEy>7?{Akh*+D>v|X5kP0sv)t?mya2w9hFaCKGyki5Ig^ve54Pd7m$&Xd|ZfZNJcd0 zG;4Lvp_}$64|UZX7;8&LBo~qo$%SM^GE$Na^i=I}@{uc-j{vWhGQ52GI1l-V(Du|7 zVl7bV1L&WoIP&p+-ZGQY* zY=v|$?Mj~+WUuj){NIhzQ+F1kgW!|8#jWH#U8wr%Jo+NsnChiGw4|V=^DkWOb1R&j z)$8$QB>L!Da2Ov7WPvk@@Dh2Dd>pJ`y|N?^pO<}p0uCdKI1GH^&2fl;qv{)(;=R!n zW5-GGz&8IqJk$qOf4C@*SC-d53myQgRDa`VgZeAdcNQwdgLH`p*W{1ZpQe8J7ET9z z&>n@)hq=ApXHQc9L)0Ioe*VAVj-$Nitc+~fSF{cSFMYli`KL1w5&lCX+0g5WmpY@U ze#Bb99ig#7+ucO`IADmsf}=L<;J?%KMyPDqkj?oMtIG|s_HN$Dx_dm}9rn4|NdBPx zz`t0h>KCkJ1bDQUba4lITKe0d9m8c~n~^Q)*E{_F)6LmF*_D$0bNv2uhu=>g;s44? z`t@z~pOfj=?3?IU^u#g!8sODYhL_)eK1u&!j5Rq|6lL8*>5pIwHl@q@54>v~4D{>j zii$wL4nFKjerU(@YCnShzy|T##OMz6tFxLjr_;56v;mvx!D`0Oqxu!SYTk%`eH8uL zS&2?w>1{Cf7P{i>|Jdlb9C|3%?>!j5%SjZ_t9Fg6_0gIax}3>&ugBin=-$)dV~%z; zfR#hnARD1-=9N1blbE|V#_5+i+LUug{#ZnRS6K41#+OIdDy?y$KtFye=$FUY4r(pgmLX~tlKHQ=2Vy7$J_1)VPr#j_hi($m&#Xq(}W9Wjfs6I}n*c&bpt z-dDs5xvQWl!P$C^7o!Mo@9c9zFWhpJmM#46Sc#U9Xt6{KZ_|nv=8lq0;m+9_pO#RG zmZn~hv#|7S(UPq-t+7Yx(K?Cf2p8#?`RAe|B%0QH+wI$&QI_F`npgRKR&8=PQl!I1 z?nQ^O3OZ8x8qvX;gXYGfBWwh8FjolLg#MK%(GedTx-tIB^CssGTI0Q^o(CNv=ol~j z577pU@ip;`y#rY>r>`zZ-B`3bjz)$!NKdq2S-4XDW4v?(qESKcs$Qxz&SeZaBe0_QSum`S;#8OH(I2y}qq7`e$-VM?CAOvP;U~af zcB=_(mB{m#(Vg#Jz`OzbgY`XB=ZyRg{Kh=t?t$h@e|OC8*})!_=0U4fFFJ~L#r`VVTQ}ZHKTfHSY{2$-uzZe`O*~UD zcF-=lYByu>*1OuibFq6-D|P3Bx+M#Pxphu*0d+sZIaEvY!RwsK@czpuqmwzA)?xhm zq&E`MiNQS}*=E(q#{<+W`B;%-&y@Xf$%b@_WMdn$k(^6iMfn&BZ#91`&97of=^oD8 z+gY8V_s{RBz1jcv+d5<~Vf}xWQ^~u}I+JhF-Wr=ajaQyGXm@Op`X;q~mUhl$oo}#r zsQy-hALl>K{IL|>9E_zad_7go9yWYEs;98Q4j!<{n?`O^%wN*CbM|c!d9TYyZ{$2& zDj0X8Hsh`hJ;>)EcV{J+8XLpOzQU)00V2MA#9YOfU(qtQNK5!6w6NZJlosTz{!!#G zZgVb*HmO%R_*03zj*qCG>zo?mj2rt4C3_+Y%rCR=(8-e3^zXCUIYe zHyvN(Uh^AAj%0CfWgVn#%*od~Qg0GJ>rLYS*mV&9jd}DUIMz>MuAhScIs?vn89MJ$ z#$WVZj`i4_)?=}aax22pPv@b3X61Naojn@P>IUiLLq?YAtU$O^wjjKOCsFiRO(I)+ z7CI@E2q}2>#4UuJ`o+U);ewDSw*bPlWZ!bKysc4_Xfmr2_hEEc7WnD(AspP^Z?U!26^; zFjB|U|54?KXBE_?^HRcF^LNghRegxG3h?J%2kUcJ`~Qcg^hv~v&Jr)m`EmhiqFFpR z8IR5(T|Ct~Q^cSTa}VCXL;h;iNU)wZwk7Ly%;=*}U7c@t`+hizeUUcSY5DeASpU25 zQR&R@7L=!bC+`)cE_Icz{2engUiATFhO-UrZpLflzu`FRx+j)g0?N-9ey6>)X zI;Ld2>5~hE_MI8#@W8i$4U87*uCX32bW8#EIAC)ZL}@CgGNFfo%|40Bwb@13b}w(t z&jt2%`TC|6PKOKZslXmrgq;H}Fvg+Rs}qkGI-sMS{q7iNF4{;_Ih6@F0h=`lm21lt zVY5fqXnz6N9r=cjc000LI(B9#UxaM|8yMq(9ZEb}=zt$SY{u#~(o|0Qb#Fp;y2`b& zMlPN-TJ!yTJhc;hoDxj!Gp}yVxU(p$wY%}mfgYtluYEM*Hpf|e9n3mO`b?Pi3t=a` z7kqU-c@$$_*hb&S>5HVR??$wr6<@`ngIfm}^zKZ@_Fopj@gukra z?)mmeBfseToVg(G`^23-!q|WNs9E{i5ysXlYy9xm+wn&b*7+%&kC)ywQ&+f?kX@sb z|D4MZ_UCRZy+s!-vMbY!Z}j;d@R&ya)$2IB+PBml(YM^z+6MQ?ogV5m6PIB#rSg+F zhphXCS|gjldG7V>*Jw;PYnOBWz&Kc)W4(_w=(|6X3+_l&Tbz}G9@hK!#2Du)jG47& zJiE(?bN1b6mu(+5<0iugYx;hFKRtg}yr+(HSaoLYou`Ma*>Rl->?wr)Xz)nRa$xg~IU9uyxl9yW*?mPm)&Hp zyW9=+UC#Q!Ev|odC^OAp4>jpKj6-`?w=8#;U9`+T@~-N!UyIooTY+4Ip%@6uOm-0 z9PWpVHqYpC=aNr%N+n~WU1vFIgZu|7j4GY=6pT+)82dM$|D1EfN0+*TBcF3df%nF5 zKId%ukLP@SI+=EDqJHF+y}Mv+kUrEM;R)o`ny_R7nm5pH_YnRkokx*PpmQh|>tBpv z`BU+EeI-v{sUMlm){aCE%g)v~Ase}PCn7%qoWy7GGc<_HGX79jd6ZXm#X`XuR^%ri zC$6IF64xR<*2j7EzO1t((_?pYmegM-w~%vNg5smEQtu*Y39zsJ43 zqsRSPTaSCrhkINLIT!~`=b_7*umK~TKl09HejZ8e^P16}mB=%1W!N`aN1neie&l)W zk3|yy3C}z7Va|8xoEU32#Qo3{&Ef1a`zzTa&ohP)_cXjGZg4s0@qQW&_boO4e(=ci zf7f@U!ao9MRw0y909|DcCvwXNhy`boBj+88@@>)^=8oQ>an3|V~4+5D-;oVL_@FPqevPV63J zq!yXf*~^aap{K6wbvu9)qn*r-MacXtWN4AAvz$|j*V#YyqiocuS}<`fXPr40rm+|u z_9M;HfFrulIrao>F`Z5KX`wFB_n^Jek**A*yUkkY7~SQj9q!j5D`}_8+Zca}H12Mn zByH0WX`6>g+cHGj)*;fi4Ux8eh_u1lH>Y9a5NVr+NZUL_+Lj^GwhocDZHTn(L!=GX z4ME=!X`6;f+dM?tmLbx%4w1HPh_vlPqz%>&LEjK*n}$f+JVe@-A=0)Ek+yA!wCzKr z4K@rx-w}Ki&syy6p1<5}9b`-cr)rzHtCqQy?oyjO$6ghF^q#ea5H>?Ab&kN6 zn{RM8le`(_efbtQrhJ{)3@O%Fuupa`%((M_xBKNKu5hZzC~c)TkYT;iU~M3?((A|0 zY0s?p2Ee_&6S$0F^MJp*V~N`deDT1nTU&@yR`6=vwS|6Q^&Y0U}?;ewJTT`6f zh6a;5gxf-J>WAhGFy}+x?n4yJFMcy4P;p!aOQtkHpO*eIe<(W8I6dd(ZmrXKgtOUnC15Yq7nt zcAwJN$Sf|AMhf{E?craK)dz(EWs5_?t#8i5tdpf@h;^4s0qh<+o#+C+EEw|DPzR&-KN zC;SDkB^G5e+}o#Y$Xevjv8pU&9XXp%+-7&5vnhl;A`@Gt>~prx*yn7!34Qo=#nG3@ zqjpli7kss!*?asheO52aJo-Z9c6rNtTg>-&Qg1xO+EB;@lm=_aw$4v$g;*FGM|^g`N2@_RFUiNcpE`h#Rzvb==+p$vVDb%H8nRBf&L`UlY$*`j>X z_ElNh6*()lzvM(ZPcp!Igx?0z?V7_%cIK%~>_Ap{3yX0ikXPxVKu)_{jS;F(@-zV7 z1`Ko=@TA|QucU`|w=8xgmjmf;ca~tN9jLD#x!v8;>&wpDrX{XR=r?^0u4)vIKe!@@fu0U?9(=*Vs#t)7u!kmf8J-(3)N2N&k*i zI|5U@m#%9~Bct(K?2JJf!W+Yk&B&70%{8v+to!blgYj58eK5k zx@4bI6IxrCPdV*b)!39ftCzK(<+fyM7I6_|W6SmXoXs=$F&FN(xBe}%+9O@Nwy+{g zdt1m7`g{A=(Z}e_1(cB-3Sa5Kkwv+waA|*Zr1WDY{bxRHE!mQ8lsqk@oaAZbAbOIt zD)LBPB$twz7_uqdDSatD=*uMXRZTtfI^l08dY?j?J`i*fBkkz_bqm%A0>nH?Lgm3 zzI|DQ-%I!|>CAa)(&Oky@<|4Fx7^|`pe~JRqEoW1yEURw{p@Do_JXta?$l4UrZzD6 zHBa&!C0_;{YtTF5Sp-?ycmRDhi*Yv%FRxnVrZRyZ(Yq+^gYb$x8gpl5kyUsknrdk8 zzD{gS;?4r@U-MjmK5w zk^WsseUi88?0RoSoU}2kTKeZHSz9F0-}o6(f(vY>m5BS;iY=s&A0IjHmsK zc^bQL9PdSgd=>(mT>K1DQaVNsmcR z+q39C@&W>9_KG+#Ntb?`Z-}O4ZYyEg73yCaXZvYC z$(_dNfkE~xfGxSwy8eK18{;?SUuHZ&FD)dG?v!ioTy|;*yHI?V9+iyMz>_N4-n4t| zO~^rtc#VUbuSO3cPtsYwz5<6WUkr3pRW@U9U4%}m!DdB{q>ChTBdOn?6J!GW&;Yi^ z$9YM~tj4sZb}RVEE^h}O`{@3d*lBCt#Ja!o*%@1N47I7oRoS;1S6hjzqAzSiZe;K6 zu4a97&f3BP%5489@U|qU%NbLs8#x_34V}7islD<2{C8!VzLs8vok^dx(J2XJ7J6qT z&~L=0Y|6r~NV3P?-O77K8RQDysog}^0B4M1_b~rLM*FQk|4p5+^cL%d1K>7~x_w(* zx&S)$7KZp8GXfiI_l4cA_$s`54fH4V1@9pQowd8muB5yoKk(Sc;fm0imD1iO=PERDWEzeY*# z=R9|H7G7mn`)?sh&(9+qhHt3^x*S-$JJ{y{KfUFo`^D0k;lwTWe8TFNmB5?e7fa-5(DG%b-0wfxQqOB*oVrdw@F#{qR6@nJ9VG{|%$d=B-8W zq`y(u-?N6^BHENc{xz=#UuPH3e}O(0Cts5P0%zS?XNjZ8JNsIW_+S**!Ea>kTxnzZ zkLa(k?tb2V+M{Hxoc8kY3N z{G-j?j6+?F0k3-%ocA@Y!=6dp0B5UTVhy>p&+S~*-LvjzV_gv+-qy(yORE> z^DG*d!{|uxcBWdHO|ZEJevQ$4=_yDX`+;` zri@A1FfgFUd7ia;*(wpz1z&O8Z}j8P%bXcJKEKYcC_j6${u)pT4tp#Ir@@1@ZOdKl zCnS)AbN;@^-zPnnw$}b&W#@9cBtQR~eNWT6)Q!d$+eTkDZ)MabzwpA`I}G<_9}Kf^ z6V7NqX1W6{qicEN>r0%IH`w32k^LFLi9&<+B*5L#y?^aX80Z+iAC{o4*`s%~f1$k# z&IgSCcix*b(G$G&Mqk-wa<5#M>LzON|zzOwAQt?c{b zW#3noegChr?^N0M^s?_6W#2Q)zGszvUtRWnP1*OgW#0k5Gaa3i>=?&>c9M4}C*J9C z|I;y3@Rok0ytXyR_X7okwU%-06)S15dc4sWK{0I{J#c=MB6+t1~q8 z#qGC?KdgRKA7Hg8~usDTJGMETkeKw3p1^H-|*|@&{|d8&>f1y ze)vrAhzXD6ol)>G!DDm@k4QNl$rJFPEsw(^c|0EKOTr_L?$MjE+*$VP5&X9JonDJ| zr>FA^W@2YSbc$ZlsWj0kTKw}1*dpx{p)=jct z=^fOs`*`(NX59K8EO(!T_9vk$lH~14`&gUO-|KZ>oAYFO9~bZtFNKTA9qbNh^l{-G zmVnNgdBOH^5uL)NNaxw{>s{e@*4S=Gd6cHMH+ZiL`4MmT{5k58yr>@4p>u81;{KSP zPj<3roy+FW`Fxk#oLTRkgTAatFSk{vY5XYQ^`AhW^v4;{7>7Q_&7*vtK|iQWEwQC< z&G@U(oN|!a`^C3E2fb%eC-3TPNYkhEA~1Gp2KAA(DIcSf6{F?O@Rk{yCyJ@2Xne_E}{-)13{`Y^E76 zI48w98iz9i{@Z@C1>VcKg6|*~kLqkCZ#lnfyLkK=&JxVb@1(53`H#g$*3p>)>0F&D z801{B^lcBc^-Nf9uYHtrDTg?Ff<2aiuJ$>1{xFpIX(2RrUBQ?APGo;hpuf+Z&v=(E z>TlwF{Y`pFe^<9{G- zqp|o;3o+i+_2oKEeZZBDuCTse=(wq6_f z(KY!>-f8XtpZW>ij$}M$Q4jak{CcRP1$Y|sDtR}%1DgCXk30HpK3&)3Rn{N#L>J{t zbX9aRUsgTo&rr{``3h@}Eu3oW829R^2Oh@YVL3grBP!xWdT5W>3G|rQ6MEZP<=c+Z z(_?Qbrw6_Xr@HZ7{`h(v--`5zZnbmoRn`xdc?QNc#$6Q?F4#!zKI_3ttfXD$lLaE zdc-&AIVs=%M0p$R`hO#D8&%K$19{t2PR}sP+vak5hEd+Ol+!be^0u{{o?(=?ZRPX~ zqkh|7PR}svx54hR{xgj7wo&zz`p+=R+op1QhEd)&m(w$h^0uX%o?(=?t>yF#qr7b^ zr)L=DZF@OA!zgcqJ!So880BrF>M8Y~VU)K`<@5}rylpP0XBg#eOF2EmC~sTK=@~|O z+g47`Fv{EZa(aeQ-UfTi`p+=R+eXz>>OaFMZ=1^L8Af^ATu#q0%G;K5dWKQnwwBW~ zjPkavoStEnx9#Qh45PdaE-LFk!zgbXRZpq^45PelDyL@{ zPR}sP+qQCgPL#LKvUQ|*u)Y(l^`EdFLYmfxwDxeawf+jugKa-b4{tH2Z?LsTQUCtp zI+E(?Dz5KX!TOliLqdt-`k2;3w7)@GX?@IJ57C~y)>ka=ioH$-NBt$-HX*7v%)e;@zhN=Vzf^@AtRxj>hkTdu;j3*=y~X$p3Nxr@gK}xZ`Z_J{#p)C{x<|Qy#^| zv`<93@^|pAroZ;&@BanwBKvoob3N_^E6d%t4))%!ceUo!v6Hud$MIG%dntO~S+E1S zWDja5u*U&gcZEp{?h5k;jP}F)Jt$zudxQJa#tQdhc*S0JzA-o7t#4&7DgfxdyKb{+elM6V8w6fV0mNzkdpE?LVHJCymJSCk*a@;vD9X|3>2e^u_;2X#f zyb$hc2eq-k=UGmV&#N+e{JpkgywaZH7+bUld1zPvt?suA@9HOdU8}F(YZ~M{Ws3WY zS>BgntzYkY$I@xe8Svijx!q2q`r1 z-qtF;<+%Q1ym33W*JiIZA2Ghpd9&buA+@I-H&)h}xlEisSsP{_CT#IejlvIU*#$f^Rquv!=xW+idteJg{iog> z>W^;BT+BNSnYxXsi%tB{!cZ^qz0p9&T;lRZEdQ&@xfIT@)FxKCweiQG^*V>m=_)h+ zOTT`-&kimA|0sspi&=rZ#L36`BK`-k*B*>7bM&@=^xeWb&NqX@!n$rxe9+zra^!rM zdW65u;;!I-V!=P8H)l=ykmy;FTW0Ir!cltC_3#3EfGgQq=t7SRJ*l=@?uyoJOt+c% zp@lB=xX07eEq=g*Eyi=a^WSTK%UI?}#urZHd_QuzaAKFY0Gas7E4&qv2+s7F$m69y zW6ue_Jsi68^pXx52Hkm+uP25_cV1e;dl+=*!yX>p*@sRj=}zh6lKz~F z?(|+pcTQCQ=bdlf5!d)6y?osGMZR)fEuHday1FEjx_fgrd+GDB4;nbTsc~QT{95?W zh>xRlgu|~kQ#U$VHW%=Zjr*z}JT!h9{yCUp{W=FjA65Pi`h!1yN?$^g{tqD-KfB#2 z@#46Tjio)UKj--Q$zhU#&Yg@kjG-C_HGXOzcpi0?#?ghGvHP=(rMcOzY_WK2FqR6Y z+HxItBqOww-Z|mzfcyg9Ig!0*aL)N!^xmjXX57?=)_9$tTjS08${Nm*a#oda^8Pja ze+TER^^HFlzYRZ)uk*AW_&WF7j^BXahOhGk)A05F$W(mY$#2D*7$F$ScDt)tnpH$jp2I|epO-$|Fs&tQNE#y|J%lWD`p&Af!kPN z9GuM<^rI2R!BhD5qQ=3`;{F|XI&LNIBe+8m#wpxqDZ7BY_4wlnUx!6MG};|5rdqPUBZ9-&Wo0t>!(F8fex#>GkkQZ`+ps@4>XExLZj# zc*AxKeLiNb=FH=hjO*R5HQ4JJkuJx#i~MxGJBeLr^AAUA8+63ezD1WaN>P; zqQ~cb1LqBHtuXc^8IP4-Ibn4{XL;XS$+=N%i1!RZSMQ%dSF}i%^mU1@r{MWp#d+>Y za1Ir5K4%D=ul*BnetJaE7ANAY_8E^{M0ktubhUq6?XUm&<~%3u{~^^$*l+&?@%*or z>>*j?PG>x!1@KTwo~@-{Y&`uyV~ zjL`|&Q+23M1>cvr`mf&8DvV|0hTzYrKY>5JC*jX=?TM`Fzp=i>xT!aT(&ty@6WG8# zoF(c>aL0uCwCvds=Tdd%pSNI~CwNCic}0u*y}o%X-g$yIbPUcazpKjF|9^=)8}KTs zYwypTk0c~98At*c5e7x2h&oYFM8pF@p@R1CA)-(lMXMF7$B$Mkw4Nk<2?T?vwJ0)3 zZF{Y4gVt)j+Is*|irS*s*3$O9bIveLjgq3?wpwfR{{C~$!RS@4@4dHu^JJbmYi7^h zYp=cb+H0-7_TIOibgQ@d`Ng?+SQGZ$Cl}|G*Hz>*l6d~lvA##^HoiNK?~|;@NOI;e zH2$3EZ|CKU_NkggJ~4}P25rU)^bFf2?lX*&W}ip)TvQAg@@u2^jgie#a@dmGmg9(} za#mu;wFQQ&^;yJ2(|>KXA!VCSuFSph!=BfMfir91bLL#_>oPZ7yRY-OWA3I2e=&g zI^b)8D}XD3Q^3~%9|Bwjd^PYFfvbUgj_0fp;Kz?|#m4gdzPw)md?oMu0oMS30r(2w zTHre1%Yi=++#h%V@MXZ40uKZ}6nH-HCBSUX=pP1rF>n*`AmGD+KL>mf@L=E}z@G)4 z2mJTJu7A_dwgooNemEGpO4|-4&0OAHNSY&fekAY(z;l3y0Urf?KJaYdqk)eBJ`Z>n z@NnQy0nY@U0XzcuSm5cvN#K#d#{qu^_*~%QflmNF2Y4Frd(g%K?tnH^fg5;#BJkO~ z|1|JPz@vbt08a)U4SX{2S-@ukp8`AvcoJ|U@TtIKfhPh_06qK8#sMez{SY)cP2VaH;IYaRxDj{~@EG7zfX@Uz3;1N<(ZG{|rvQ%vJ_-2K zz-I%W2;2ZX6?hu31AGGTIl$)v9}j#S@MnPEg%%@$zXL6jz|(nuEbs{4&j6kY{3+n! zz_WnQ13m`$XyDnv=K~)FJPdda@CCp}0v`cHfDZ>A z1pHU{qzU+&(Bm-Ri+O(ua6Ru21)dLlDeyqx0l=35e;&9$a2@dFz*hj*0@nb40r*Pb ze!zW!7XV)cYynpTe-Zd<;40ulfUg052YOTjyU-&Ad@b)QfXjJ*9q{$QeSph=Zvg%h za4B#J@Rxya1dap8fNui+3UCxS0(>*@LSPfv0A2+ARp6e(=_AK&3%&+?3-Eiue*+#5 zkKAIr{=LxS-SE9jde{Fe@81DlgzQ-e{5J4kfNuu=3hDkz<&T< z0DL8IC-CoqzW{s%Z~(j)_;TRS1N*=^;LCt71-acLDz#cn0uv;GY4%0GtH=6ZCiZiMz>fis1wIw{N5GE)j{!af_=muc0G|vz8u(%0 z&A_98PXg`${sHibzz*>Dfgb{Xi}pAHcsb>N7x;MI9|!y(@BamOB=E7o-vRzM@Ce{f z0e=hl0pQ`l#{hp5coXo^z()b!54;h07_js@7kC5k5x_%%?*m>BYy-iiwzG$n@eY~6l{~7gV5=t&gGtg ze3U)a?-(!Ja8iVG;o5>d?CJagJ@+8C*2&TTY-_O@Z)j^BbCCLc>VHt5?-%M*v>RkY z%GMfskn#@sAC$MWP+qK;Z72G~3%00{as3ma(GYA=*(XtaHa72nIeryu2DR_#;&9*5 zK?VFmn+hANw@nQbeti3)^M-bHFPpk(Pg71^rL{KBJ&vu7O~pBmRx38u4D8UBTxe5K zmh6yu7P>UPx@zX$Y;3!e*i&8hv*~1!^=&$%ZO=2~7w3M7eva+J{{AiK-O|Tf_a2zH zpst)Z;$3z6?m+ZE8XuIA<{5d-qwa?vqzxWASRMZhzrlo$X!8&AsOi+?CgUq$Uli&% z$NvrWQN2~)7ge`#zY*83pr0DDi|CVA;O{VvH-d<_*pvTb(dj>{lWm55+V6^yi|ceI zw)Vsf?GEtQe!}wEu)p`m`bVz&AJnr4pNDuSQfR->KhjQLrQOtKr`}Gye|sO~$)~Z? zIAbhgtoSN^F?}=eApCXC!EpND;4knKuL#Fc*899=IZp?-6!05x5d4n%U&gQWL;SC` znsYc$t;qM<>)ss2{5$7}bs#%LzuJS~7tV=)oc#T7(C_~Rzt7-<5q|v-g5NJRXaD~R zzvTt`^*acD-}@)v*Sl?J(l>6?IdBEq)g1)4rT+xnK92WvUaZ=-<{@mvsV6dz0dp4`xq-< zHHeAJ`_Jz=;6JalSH{CO_F8l7$ML~=6mSzx4Yaw|Ee~@RFNxV+>r~F@7;e2BI6R-1 z!QaZf<}m7T<2ya&qYLvx(T|uPDxNc``6H9}qQROf)0^JU<$Oq;4Si2|mTi)A;qr4y zGx60XYi99o!8@E?g`Gj{Nhs?s8;7sgbNxel>BceY{-0z?$HbiWClTL$V4lekoo4u& ze=uq_-^5&$Xr+CL3iC|J)DP;#9li8oqnBP>(5v#gFtIN&VoA^+`>>A)YmA?Wg13D1 z*ofKMoy^g#$j{NqpFeCJb8!zY3FqsyugI*M^K*9E%U1JtBe`qtPX2Pu-)XNG&EbvV zu6aD|MH9~Bao1d)<~1~*H;23C^lG_lPH!A{&FjtLp1LwWzc-EFn&Z_Iddy_UAG5XU>7FXP=so2aY`mZukF_aXS;-7K2+TqoLbz2f=OO zKN+_qxP2DfzRn&2YGZS#;cH)f&1-6%xa_j?dU{qw8}91V{IYmVYufevR%~9yXK^Ug zI`LdN&(20pD2?XWs(Ba14tg@mxjprZnai2!FB%-iHhED4n-!aI(coP{6ZdiCG0@{X ziPOB4kGx463m%OpGq(70yrj%&@y zKQ$g(eoZv$DHbuNea4_k_Nr!lQO!B|rKXX7GkfgGCneuh80)~ZX(^pIlIIu2E(|a9 zjgN{8_#tOzeymLSFYNp2*nb)`KdFx@_I6&MVxOr{pZf3^yGFQ#W9UC{j4i|}Tmg@8 zc3U~)tA9QHRQ0I%7`ztz6Y;tbytGfoqv)O{?WVXM!|{B@qiD~qNXbn9tiSg>D0v_r z<5}Gxdwra%j^FWC#iiOU7MC%|ZsT2>o|(gtFJWHc82r(E>HL%V^5}!`CFk4yxB2qh z*bDzJeEDPI_LW|K{g2c0yEvEeAExIsekqnlda88PVmysGjJWTSivxmZ!}0fogN$)o zh2K9)H$Z1A>d~PNUFbta{EEJq`h(!N?jMOCZ6{yRDC{H70~ z4~G3%^I;#?kKg{=Kd>LGpP;*h{TTbqDcJ1tS<1#72d#wXkc05!F5&mT*pJ!Y^8<4V z)xB(|nND}-aE&jt$7YqAcKxypXEhb@JoF%Ve(Qf3&yVu0eq4XvOM7puHhkH_?ceQr z?S6i*=Fa>8&(;UGfPW=1j*4Te#J2qTpFRkGnZ37qzrW#~55h-(=>4BQ^!>CCrLX-E z{H|cx+~{SM?E5zrzU*Dzk3W=tCiUt4{$H4jD#pucZt4W^naB9e8QSRZ%;SvP8azxM zA7@*P|6AU+kR2iWV*h)bA51(JIs&?Fo-XJGq0TQGc@guYp{~pPP*l3E;s)&&?&!Mq z%kakxAKj7p6wWfW-0Vw#>)A7gymT(wk^G*<+4AK>IdjCCo{Kpxd!+}*>BD0T=_nV5 zv1)@X%0t&0NZaW5mhi6k)BT_H%CDN=N%Fhi>G}N%a8RBPJ6k>F$sUv+$P>8$-8iGv zB|eucJR_NW!#OkNkj!*`j%>JvE=(Ms&SO-(@2+=y!ni$?-`G-HN?D_mvf7yQ!$z=( zo3k5(YwbV&z7O@&9581uJ|SO$`U&!QH-y+D__E5yxtsSb&K*MB{AEwJ=1ybJu|tTl ztH6#ho&7<|CQs_1@5(YWusICEmyNFCbJ=r!tQkQMb6{oG#6U596|9%JBE$NcOn1Q9 zsP)4$luJKU+@S{_7Jv7LCq^Ml?mq*Y3mU^~yHyVR+tzb-b}pL9&y`VTm*&&V%6UF# z1(wIGM}mzfC?E$3 z)q&2RWc}j(q5U-UDb`~_j~I22*^dMjj9oFShHt1l{qG&>(HA;tEHnEWeibx5fEVpj zg}$cmR1d>&H<^a}$o(g@XNA`*v@y?o+jae|)c?qw%buChT-9c1{KU%KqT}y@cXg(q z?8O<`MT1`qZC~p8VCQ&Zl?NjO)DIa`#pALoP2+m_VJ0-l+kZC=R$sk{yjVL+|5BQj z=6ZfUu zZ{)s&`EFrhPyf!I#mGLza7(s^ejA&3WMT|;-o5;7W%koS z6LVz|o=az(06k;QPmp03Wn-gOhw@D_7avd1YDjL@_=f#rr+hL~cHACxWSXFV}aa$jg4htK!7gzKvs=P0cZ|7A(;CQ5nkOdD*k6 zxA2huC!BJ~-D$#WsP@iW>`jWX=X~G$I-~gRRUf18YSw66n4MG$KT)SiwJibXgobru zY+;=&dIK~q&k(PkaUY2`+}9bQO%lTv2S;*d^cd_i{A1<4ZJ%1`Kafi{kmNJx-;U6C zrbqmyxgkjGT^w9*{qgtu-Y_mV>05SxnaFVsXog4Wb$?rez87l%_w72xIgs>?bS*wT-HW+t@@Xq*T#^37V|I3 zC$U`_>lwQP!*jD6?cJTGNn0C6u9-|pzr_I(q*+lG)KzyOT8yQY}pnr^kZi(39 z0C`aVyuBe9h%FMaH*{)#B~m%vH-_HcIS~8@I*a4dY4W(`eT1TybVbHx=yiNZFRe>Z z`#nTmhruVsI<1Z5>%zRifx1W!|IK%(3piGQqxfhbbqRTzvc%7iIQNBh9+SC)c4R&d z`J%dt*B&xR$Tp znd8Y5yI~6Yp!j?^c}HlkFh-32H%a;rbBa1|ZzS*Jx0jA5-))qB7e$BEx#eRhQ~9Zl zBtM){CGcqp{7HQFIMRZr_PjO|u0JUSpCzfgw?24U^h$g?kc^61-=Y64^URhV(nWF}5uAwo$*Ra2-||n0yz0!*e?`2)>x7GtqZO8+bk` zO1X=3Rh;ijKM&7WQ2T!e{*_)INi>G~W3)qjl0QFd6wfVw%a0i2K9al6xG1BJCi^9z zU;DB4lYn_Qs(&!@juLpSE!aw)eZU2tV;vHDT)H2!)#!3+E$D?j1s~g}VJ(>IG6!97 zsmI#zC)8ge9(AcT0_4CGrcF#9&!W5+9lG%eIJ2z4sqGuYuU+byJhxK=0^6{HQshjj z!8y*hyODU&jmlT~EAKz_^gO6Jx~eSSu;#|Oqbi8GCxLJOa82dNZXZJB^$8T1_AL!^FZN}LO&r?U$-%j=o zrXSwM8Xea0bsQh`X=l%851xZ=)A#Y5zL!dI&V;ub9_br=37OhsWPH}kW_yy`{kW0# zV(=rex0@x~Id>#0n#YU>kcWK(>+wE;##hUNCmydtUcswL`h~ZV_}{kR40y9L^*(Qw zg7-EH-sG7xtm=K<Y2Vn-uZsT zz7H9A&uh$$qdgM|ox78tKZ-d|7W>^J@W5uy_;^CHZ2D*E)Aa2ztb2+!Eb*){HDNk* zg9oo;OpMSU6jy0te^fz>*C}5%ug>OBKOaVYB|o(Os*y2h(;2Pawh%XXQ)80T5}w6v z$S&piPVO=8L%ECh+w>g%P|V9qrG|g;w|ibI$_VCmcTWFZ8?r6G55bw^kweHI$*x!M z56HIJpE&N-+SK}BfBLB%;TaprX3s!=7_6V9j(b8mkbzd-?!7Ve9_{52OH{_`>ybF) zp>!bCe{q6+j+GxUdHrGkW_X;oV2Oi0;VZ2|Ri)5QSLwup1Y(w?^m{${?XIHc-V@`s+(>b+m%-%%aGsC=v z|6#(v3H-A<)27+0N^t(o#n1~m6w5pusQ$5Jzo0U688UknYyKK@vCQJV;x)yNDi7q; zgH@TdS7mYLoJpT>?%f-+HzUK*f54~JxrF?h!?9!kGU!;iYTy}*wo==~ncIX1{E&x{ zxfXIvW6ocDde%vPTkt?Ek=|?34rB7)U>nnh(7lp(+VkAZU^|E7NQSmye%MLF$G_bh z_0-2$-^uw=NsOVx-sM>9fD_FG0Q?XB0tfHy=VF%FG`HoKfL{|o-U22qZmsq zbSI0Lcg^ErYj0a5+Od~+E$4`-Ki9UimcH*@ouv)nWFSYjX|QoAYeI2cF6fYGOP|wFPhA|3cPix|eexd2ijf z*Weq2cd;fnyXFhu_DT%W!U*6DtIW0&BEFo=_c*0 zC3e;agZOS3yd8Bon+^V8EUDMIK^nug=RE$B5izG9ygV~2-AVHt5yq$dd4DsYnNc5} zQv=?jNenrJt~j=myscC#@=p5P`rtv;opvW)<_V37;z`yraAptR!7rkTa1$*eX=EYw z*L;%ELAyA2?Tsd8c#-5*&cd4I^>MaSXZ$O6^IkJeo!VU=-FieR`>$8>U1`HAuL2%I zd7*zbg73V1J?t9B))|F*==mqFht6LcRggX63;E?DE05b}cI0u5On>eX;a`#DoSp>F zY&Saz-r0Y~WIygiJ;QagH$V#$*$EGA8o78w5btm|?>}L(AKF>z+dRgRK=%K@?@oO^ zvGUPw>#uKg6DM1au9O>CG5z&%_{-)($D_t}(9Ul5M)AAuL0g=_Xbv+#!@-UjFCnAU`?hSj#6-#*_35qrL8rr5{FxqKr1;!Nl@llysw_#x#s zst^CxM7K#TWABbUKU8w>gC24WWg<_p8{FN<{9nWpleY5xHhyo9IFsPj{2mO0Y16le ztAnUr*lb-W9bGB%H{rJ@BO6%nMp*{5#_v`EEho{Yk(E!quDxwi&WHN?!8g$?lWf?LMs9 z?-}wL+GM_0k4?~CU)p{7!pFPK3}X*`ARZV1&kX55A$JRMZo=T!TvcVYA3-MdRDZ@F z%QuEG->b8l!*AK^NP2QOk1qUPX5Tg8-p6pWTJMa^X+`F)9mwzRQ$P7LqedO$Am_G; z4}oh#eju)cZ=0}3tF36RkvSgAz$akb-8pGtM^$s*H1?!R*vp!I$o}$CeMyJEG78B7a`qLpNME${VQeg*Bvg)P@Fa$4WRqjOnN>U4zTX?(%5?xO!WDqI#m1|R47 z@W=3P<-*O~vV+^p<6*wR+&r%j`0m`-4|#NIZl1o$5VvC?4@sx8W5jOUYtS}xf7ES- z&%hzsnrk+}|1=9ef2un=cS*N3VnBBd^>&PwoPodeS=yj+?&$8x3s3HTc5WUAcz369 z>|@=N7o6C=y@1yj!AtwpOqO0^wR*AB9_~i=b{YF^|Ki4L=6`$HOJ_W?qiN;v70;aU z?pHP>YbNbJTLYvaLCEaxey2ogjI%p?a6><3m z=bD{K`XU^qK4nwe_U+ObXchYu_PRx%vI>35QlFacA5ERrhW~>9-fkEI?xeFxXGdO= z9`ND*^=k?hT^YhpyM-BAMZYMVJwu7l8w;x-1x#% z&P^aM>2njUu_fmgo*$rd936=9w*K4DLGw#0Lw1#!T!K89;r|dE!f`mA_tWUN^i_Cp z8~ndVItMZ*E5Aso<8CfZAw%i&lBM#!g!X6nO*pqvt}>MGACWClD?h%z{LP-%O89N0 z-K>5iH_>qzqnh08Pk?^7E8P@9fmmN@cZpbkNnfKjo_*?FD(aOT|WV+66l)fI;k>Apd!gr*l-|h)<0?!|+ zOmGt&^j!Lbber$1_n@2z$23gVf|L!C?5XR`l~2N(GXuzQ}6tXCfJpub#rS>OTA zDdmZt!`hlXk{jYB*(U9@N7(k(d4bOQI~CqUe=iU1M{8@SBh3xJo#PMUc^S3?dtTJY z-z`0O7VjhM_M>DF9G-FmW~=}c+TH67Jo69p0h_zKlrQ;9BZOU_Sd6) z%B(B$`=`l6`Lb6S=V7^7@q_rH4xC0olQ3^^dzdzr9-r@{d7f2z^|R6f{=&I7-4<`6 zeayrx>>2owJj{e!Q`^p+u{o0B8|oeFpkI@p>6GUbXHZJ}zP+jEwPN|AhsNKxc!u7< zx?9@RD;_tLpN?B&Iu)=nV#xUu_8VgE}JtEYB=TPtV zv31=V=fww%ErT`wYHq=FTG(f_Fh-MSK;P1stnW33Or?$5NAN8=hr^sZ=TQd6f**C4 z%sugdUV+|n_QVC~8HGM+qGy~$KMm!Klb16Nw7||SFX1_D;}_+EXr(wH*%H3S^f0Y-X7w%FxS(@h0^NnXzCFM2Te3}cd4_z2JNp%NiCzwV650ErchtTF zeR)Rq0q}{!XPm{?6~$JFIJ*_odSL8$l;2SsyBj`|j2xgk!`B*XRNr^+&(mNtKBxx^ z<-y;fT%S%GewTeVjJvL z`AztmLmK|)c2k>O%{%pB(eZwGzDWNcyw|fQw(wziP<|k2LcPq)#2kDb>SWT*KCG9W zPT3j<%R4Buoi<9UkI(c=z?FI*7!R=n_ekE+xzS2cS-d}$IQNOr zO1{~$1o?G5OTNo;wQ0sD>NXzywQs9KJ_a&M?IE6T02Uq9cBQ>^);PRAxu9Ps6=#Qj ztG;`VV(K!|Q8<5>Z(_#X!7bon*>|&se0eSce?;){7%8=HI`;tYN{#$Deiy$b0~IfK zDr1i74z6aOv}=a@v1V3aUq7p7_@DB)Tci~%T9GdM4zxpOVLUm^|2udY@X1H@$4KG3 zV*Rz}hVnG*XG7fogM5^y=q5ZWGLqMlqqF>m%#y9YrEU*}$T!K&Vhxj(S9^=a%oAz$Dpf7D>GCr{WU}rV$VtSKvKO?q9KK@#CHTp?7 zepQe*=CtoMr zBmb2TH+kxh!}u+EHw`|p-M0A6;&!(!$^VYafx;{)n`)sk~lkr&(>e_kiWoc>{lr z4K8os(|Hr0&h*S%o%_ufvOU{Z`4vX17ky@xUyBTiowk0TiGMT0rdydI6Fm8T8V66v z#n}^E^$Pt!x0%0`G^=lw!(|s4S0_4;PEE>%<~viu9}EGbSBSdaz8JW zYni-%h)O)cUe?|i((60vrZprHKQvK0=V{&QX^oL|no!T7Ef$A%Pl=zzpNqo!<@x(% zWMSSfvA~Pj-w5QFP~Ami)zdYN2jwe`B4Z-fi~haPPJAPIC7Bb&H)7hzX}&So51!xK z=%ZPE1H4IjNO#V^i)yD3(GD}W!6*1tm@B7j#lA8Zxw$g)zF$SYYUQo+i#8&1Voy=0!oSHlJO}y8IoY(M zY%rC5Gv%Q}hPs7*L%XbGNi^wZFD>Ar{K~AE-bv8j1aIMb9q-2QT=6ZUwf3q+KJAH; z*JZqueA7GmAc!y9ZFb;4?Qm<9ZX~$GY`vEb|Grs@v+wC7&VeX;PfrAO`v@zPj5jBkwg)_`|)M!L1mAQp$YRpwEM zu_=t#Ctf)DJo#DGuOtgUP6o>FBDpo0G{yOj?bxbP;BA)eMR38I_!he%OdS9xoFDG$|qUm=}L4%@rnA?sFd_)`~s^PgY zJXia&e`)kG^eNW!cB!3}ugZ{2l$_L@xzRp9w}$uXt6{s^^Ftq#`shf~iZ&Y0E73oD z`h<=`N{-7vD;rRJQnaPFKpTw#!cRUu+2P2c zI>x|y4uI&=JISmne1N7ZS8}J= z-_(!9tBW?k=g`SOw=ZpX%`LQ7STAU$dJRv6J{s%@H#?iOYJ;eA2eL%-uh7%FE2uf+ zn(QX#R!nDi_D#N*kL)w(M)|bsvXoVCgnr8!op}@L1JoV)H><`>xZ8|`yZcdi*6i4^ zcN%$$&qSMtNE`Me^-&wYBjxweymt~G7x)}So#dC%yK{J_d+4X3KJryfQQg|nX~~wcplOhJY*+HKH&%OQ>@<<518pj_I*(t$IR?c@muM4G<}7qcj9Sq zegIy56ux|f`vdUGqda>wVqe_BxbOhiqfPLt6B`nko@jx5#m1IQ2>IQ(y>pr;y@$CX zbej7onm00y9ed&X!Q#WS=8hgLpM`kvP3mhb{84x5f>GVi z6l`7M+jmYvFDv%x;P2=sb01}X3;BE_Nc~T|`Uv=o zjxlR}u>AG->xGw>PgSZ}Ea~c${}dJo5heJg@4VVqxfePZ+M`YQEim0&j}PpH;uJ?+n{~2)dr+ z1^prP*W9QyX^m}px)lBJHhs6~i`V#aQ%IBZefCdae9^j#3u~ZV9NI-LVePHxSPmYd zT4n`08i`WB`3w=Q{uITrXiad1# za$M=eYsj{`D#~t!uBN+VZy9x$ye#sq__+kS#8b>W@J=!?-j1vzPXpL-(>d|GjKTT@qFh>@c$@zaT@s+<>HU=1*uO+ehF9@$;C zprc!J?IjE2-I0ZD`zqm;Lynq=9B&J5fdAAk;=zl_^TX}W`td!ozhlPNgSFsn*)5u*2wG# z(~5o}pHOx!GD9*M9$`G4?vJ3I#nUS5Hp(i}^hT8nO&fWya!gn8rp$ZNE=9T?&O7nr z9m=;!`Ofyyx5|H0z*Tq&*Hg(`ILJRN9#t%3Z`_G%!q#BDfU|x(`EP6JXx;iL@-DW$ z(XlnG$BTStP~QLPRS%5=HvntgF7j0qxT_66iQLv0T8$5rz8TV2yeFK6`>qd_L)p=5 zc=i;ulkf9i!JGM-F8R*F`44b^5gx1s7Hx%_zImQBl8cg2BPH_;*FT;$D@A`}tzy~J zls5-o5^0!k_Si?M zOT5x+S$9Brrvaz9Yh9Q0Ps3gwM4DXlv*1+XT*{}Cy^YN0=jS)KIpBmJK`{C6eCXbM zpJP~M9`x3H+#dPKH)Y!R$HCvU-ptEY=ovM_I7`-b&dN?9meA-};TbM64*bh3>4l8T z&M!Kvn&36!fNCCEfxMiRB}RIL>C8sII*a!IO%TbbzQn&bH5pp>Xwy$)w59ZK!)*?f zXH4-ye8ZZWY|M6jV%fV)=to-z$AXLa<2dg33Ri3()wPUqKy7at6LJHo2efE5Jhyc= zzC_dbHSvoRa%TIjIi5jJ(q$5)3)hOSFf;E2=Ecq4_-J2$sg-7p9Pd51Cj6$5?oY(A zmSq?#s9ztO_A{=cuMhQDZ|N~F?Tu4ALo?B-wqS>fE~<~lm~x)ST;d$@txOzm{Y~q475A!s6{jD>joIOxXw*z+?8K#8ZG0UwC%Icxer+PX zU3(vE4@sR1vjSSE4}M?x(GL$7FIv1U$32{gVUm*X|36pYm^0HjayuI@`|?xh$a53wpnY<4(ZZ&yIUz)nu+pheYTpv6Y zmz$N(W3FgHS*rWL>38C?Fn!E&v%gY$`W@ex)oN2~5_|iB4|xo+&D<7j+-O64Xa5sx z;8)R-xrzdQI||=M^Y%_XJcbOQpMgt^z9sy}QJ$Gr-wosQLtfEd0`gHE8`6D-Vv^yd z8UB3kR(d%)H#{er;x8(5BzNeysg|I~>%}&b9(AYcL*8a$at@qpU}SiB7X3L-L*a8@ zo+hEZds;TTP2CbPbOv}TdAS#DSkoz+I0ByiM%8$crlmE@^$mE$Qfq^sQ%0qY&BYk6 zve_doHwL;E@nBpH`>2)pMzECcBKRgn`&#(u6 zzm0_i* zn=1|?lr6{~jfs*4N2J}FFZ1nowIe(|BpGL|%kJ?*( zjhPX93FExxqgn#sei7#~uaUHRCKTIJQwdRzs#^E^andNR-)DhXB^&e%LL+;z^G0tT1O^(pn zjpB_8cxWJLB8j}Ng_8c@y0>U?d-aO&uwod)|om>Cy8`$PfNdj1)9wCpQ8QcvmRpC zg!a@n_{Ff%8yZ&T=h}&BLqD#|+piiA&#> zdxpT5=)miw3qL?Prm;JazSAeEwLx4>$W-tW|C*`R+)&|Sy#n2)`)AW8HqRH5Z-nuY zm?wOk7x~EhZSeSRt%2hAkxEOumX~=~Gp=eL-_6=CznOnGGHU{B=c=qzMH!i9^cnWk zKsTX}uBhPq)5E-X2W8+?D!jo#xcrXxk?cL6e3fTdE@Lu%es_%T;oG&MU0AL|Ss9Hb zl-o3)a_35ukY}l)UnD-DeEMIPnHOmX&$qLHjoVdMOQyQ~d!}tQxUB9*N z1$|Uhc=SWFmb~I&$CYv zPf!XzR`oSmmpZ5|3~V~H$>^uw$HE(GCv4+-)AO`u;AR-6psb8hwg8 zvKX z-6!Lw&I5@#M)38pe62sD9L9%Y`)JId-XV`lK1zq0MSo3c?OBr8WN=ZPj;9WN7-vdp z!zUfqg%I-+pRkrbG0R7ml^d)Hj}L9_qz$^vCfDzO8Gaym?=bS-WV+cj*AsV3PPy48 zWAUr^74nVnZ3y#9EaXHX&uO;SN8IKq?}&YyXC&6J zpBwnwmv|~?>(I2`!+H<(nLGpXV`j+o87V@uU}!GXU#OcPdgdb?dS=uxiwRk zcqNHDyjY@T@0tsa@=B8rc%h#&1;3Gp)|r<&cVXvhUWWa7@PR_@2g{M=^6}L+VUxHk zS*ynQ&AOx*`%p`tdI5g1*#EPV{Y4J=#S(eH*jv0)`kmZk;G`HZdkpf9OZ~wpgC34( z<<|7XEZ>Mh6Q?y&9pQHbn(#Yn^4o+a{1%Uc(-S7oOlV`%PefnSXcbR{Il8zoe4%9WiduY! z?Awrw4{i2JvaO!x_sZP1(Ut9Oqoc0d5NUTC5KbdvnKkGZ^H{ema@?37ohc+2CgHnf8E}Z{OCvYFovgDZSbj`MDyNY@xjvFYxOjCs&lY*c0uN zOIlCGT)I;q#N4xU1zCukVqZXKEbleHkF0FJASYRJQf`4Lkzf>WldeBfqN(&lzjVUzS{C z-B%3W{kOY%UQ=w;(~@22(zKZ`xfSiZrt>s?LpeW_4CwXE5BP?$q3irYo=j@hFHf>= zGKrik_*8jT{+Ysi?3wbWUfq4uW^mI82=EZ zb!hV@^`9l^Q|VwY@6wy%M&%)8Mh7thWs~BDQ;DpkO}4a%x6xk{v%1OI}nKe7z77Z7s=J-rd;k(u zns*8G&*^E;NHRC=tbs=Dd!sh%i`hr7jC&tv8}*o#4cAPkqw-_;$m|ue1uOa1u*4HH z)tA;qn~)F5_Pu5Hd7jc6&a3q6*;%vjopjjHzmoB?icyMYp7*u)KxJkza)Y*j)*5?a z&N%e3b3>T`z0n^Fecxk`|AOv#4)rwYH|m>t8T~1%W#&W=NdbSx6H+np{ERTvjoNDdPcKO*s2{({f>;D-0C+BavKKN>}|pK zQR=+E`KdoBJ${-I6&cpCTeYmKpj{~ESk`&zU4!Rl2P|5hjdQQ`YDf2sUgj$=!*Gur zZ@3M8N2asV{q%jM<(jIy(onCg(n&@PSS0$ozMhNLdXDVr+D|_-n#fmnBk#==^Im6n zbw<*pNun21$MaKK3p9&AZ=q}*s|srYKyn)2lsiRH+N zCHeMJKf)g6TYnhksXdj4zQ=Elo}SL3^VF9#-0C%+o5)4Ne3lcByf%0PIkYs=1b-|+ z?^1o+a{I~8a9#}Z^9-`xGXed^%?eCoiQO-s(-(dZk{ zNpy=Q-0ba@TfD7WE16y&Y_Tta=V$ngBYVsYJO+JNW%9C0ds4uYJHH2B%x(H6@+ss$ zWFq6uo<8kMa;1qSULTkA_MW}vmg_tC8@7`^hHfJ}x{os%*)}^Hb(VY4#H}8CLA+AZ z#5%hs?GyO&fo~q?8~OkBjrNORz6l+BHumT8T#Pc_01rJEetX0d=pWEHtF`zBb&_s@ zpE36+`3z*eyJUYQ@Md5uqy1;)Po^zcH@_?KLN?;e_Xd#8BBrL&x|lWWJa2j-+k9dx z^v71Ya7iY5^WF6`QDP-(hvN% z;3GlCYX1)DTjqo`{D$sgC2}!O@?Cp>Yz*aerE`f_$M_m8_+O%|%Y^T;=wf%PjF^)K zk6EFPB>hY>eajJ&llWW6KiaUW1D*Q`<{^b85TN3cFi-dW5T+A8rULI&Sk8 z!4vR6Fje`duq$|{-z7HXTCP6{S)o`Y@znmfcmh7oytMZ?^ukKw#Vd#r!$;iJhkF@U zDOU+soGZo^<%)1UK$>rIZQ{D0Ya`d+xZdUZE7v<*Z*%>H>(5+&;`$G+x47QqdV^~} z*B`mMx%P3r&IM7zSoK%A!}wjDT)*c6;Vv4pi_Y2w(Yp`;T{LzV`al=!uDV*evaAbG z{fc%mJU|>vTV0&?nWXWI{vbPdU?`tv`jZ!K9xVP|1bK*- z&_;HK$*-~)YoRCO#EK}oN*O+ev;i+UiI?D!Jyqsv zuUgL-8y#=jOR~GdGBlr>(cJAc{HIBudA@Z<`d5rwbF#Dp>_#6_`?-%uXLq68%{dqseJ@B?>{LmoPHZP?W*Sm^4YA=^U`aVd3v`jwaPOxukg*}TrrLO zuEX1z-%EeN8**O^n}Rb?jXAr+*t7H%iU-+JmO920T*f>IZQUiBPN6?Sv#>2!@|(KA zI-H{fjoQbS!gAADue(0DTx%K`n=Rgzrkb#w+|8EZZc;ncA|H`wd&X?p5VUudbXR8X z>HIuv7t`pa{pJqZ7hh1?UAv%dUp3!87y7r(_m`6YjjVy_4-MyXwyJoomRL^7*ZtDJ zoqIaPcgwDA^^65y-=`RM{5h;aQ`}>F_RG*&F%Vzj{%Q23qoA?+<(H_}W$g2DJ@@Ol zuH{N`eTHXObN?dORa^_WuH^ax*A-lsbA6ucGOkOx=5t-bbum{H*XOt{;$lv`i#3*A zbGa_$x_}G+W*7d(uGw7Yah*w7Gr7;;n$DHvI)P_V8{S0TD)wl!XwCX5qwsg>x_s=u z?7=}D>}v;4+)X@qlKP4!ck+7{{c=WOUGo}X?IROm&By}Iw`hwP>uQ~^hiS#H7QZ!D zyNtC4Ch|=3jlh#I7Tq!0g6H@xnS2ZHm2YTofLk%oN%RHfJCU|Ih5HE7O@R*{<2%_1 zk18+jk8qcdVKaA!_dnpSI;t&`r#6PMXM#01RYfeM@>g4mXH>56564t+X7c8>BS)`%a)ZziSnXo7zvGWPFBSE8YD3mHI|G z^H=KU<(Zc{H%QKo*(rz4qM=&^nzHuEU@a?X`*hcpg@~_p@g_ z%RZXK+&OJIhxJm zdYj~r_JHbRyBisAH?xm@wv^wJJ0(q*WQa}4^l85&Bl;ry%Ef2H!FdYbNGH&5$$0T& zjh?&Uj7}d#2FX{U=V5y4Q(Uu7pTMW$X8Y^g1pScuE4`j+o^{ZH=NE*}RiSOSM`kT^>Q+i_Hq?0^TSigiUffp|Dkw@&+ z^jP;S)k}PDtN)>oLqF-L`>&bo6W{N7)svAEv$Jiazp?~>y2ZL7OY<1`2rStl)BP&m z?Od5(3)P4GcdUGpy+{Tkzp)EeK2|kl<>P}@=9Gn-tEMdM7+emIymG_~*#-SIPw;s! ziCuE&v5l|Cz*qgOKlqj`>~o->3csRkh=L1cN0(8iX#FsC7acpei*DcNuKGX3eNYlV zyK!f*iQkHY8%A9}?5F%G@3j757kZZCtPj2oJcYJ14cAwm^LTb?YJJc%#DfmZN80Nj zs3jKLYG40ow7tb;e~ON%bA`vV2TGY|6pv{B@Z{9xIpze2d&%>nW7 ze9^va8MAE$z2Uyl{XArmD@l7m?=9(JtYF|9-~k z;0L1(!#g7n{~XsxribSfjKbfO*OVHWWAkIk-N(g^%;BsH;~G9VzbDYH2VNisC*Q`S z`%lQtve-jz(+k<<&{yqUY~P*}s{IWkC;K00e`v({*^K!!v&Z7!7)M+6oKfxn5m~N% zOlskG!3MF$dX}{FXT{$L{ySLLCptfi{xEsvnC@EYTO8B+@_Pn*lBwUrzx6K^_?P*W z3pECcw+;h8@z$Z-#ajcoS8%W6E*`7l&bs}s=L+BA6FB?%!te9h@AP$W7=3heZWcJ5 z!*9uE=~h6|tAZkF?Gx@IjLvhNb|Ij1`5(~);3BI2Q>zmgcBDO-jFhL<1HDx2=< zEa7|8u>6d{ow>U*#)Zg&L5DN05vQM&-?Tm)-!kii)!C)UZPy?D%(UFB4Dv{{ZlZ6~ zr`@aQ*9-1DAhTzY9^Ub^kKInm2+C}KeKNF3W=B7>>UO@rv!}Yc)yR0Qf2^L|n#{B< znPs4VrrlPqwTr=Dx+eW58;71n9W;!)DCnW`xi#46n$Y}J%9uo3N{5Uf$23NoHse5e zm%og@1n#Zu%WxifPfE1q=JXpvf2Q8}Y0IF!WZpnxHe@##oWnL8o}LIlh@YhIyxof* z6yvQt++KP7<@S6YrR4Es;kois{_+V=qOWxq((pWv?=!-)crky;q$0n)K|2<8C&|)~ zr;mCet2i=bVkoPYk(cma!d?8-%3b`_%w77+E!^L3|DYc7Tk@Uf4+$>Ku;-p|OSpcO zcbjK`Tea~M_Km!c`$K=2!q_;8K6a_qrgf#*JF9|Jf^$2_v(&Nh3Ax!F#7nbI!Cy`L z2tV0j(g(LvhLOQ9lxYhH0EJKI_(^MhKpT~-F4_|?YDc^)OJ?|cX}2RrXbkiG1@zY zDV`+Oo_EL4en(|4!FP0i_Hxe48rPq_aNr~Hw&H?o(bF}~n%H11LtDLN$N|zE`zW@c$v!2_O8d(k_eFHNJyly)GxssW zU*)+kLI=&G*0T?^FF960n@Y!i9=Rjh^`qXGznkZ?1bmjLcr@fSt&w^Y`J=c%So zO4;9JFCq1F$TPzC zJGdt^(AQ&L#Hf_c7F?%tu_MEMaHaPou*Jw<`YJq=RbL*HcR%6dF@Ui%&(jrcc{37@arK4%Dm9vE_`41IMz(;d7uTrOC{F9kN zwzU)MZ)CDjmv5jU@uRs!dVO#>-zbjSXkuLmbgayL-YbJ=WcNi`r!4=T%DDzU8I65_ zZ=ie}>7;iZ9rD#o>|)u6^Kxe)J0)+#_t)~Q79XhM3MTWLIf;;t4Jywf4RcSTtLmlu z@!W@W^v~HH3;M}-sxqSu>2NQ+DDQMWQJQ?@#}uvfjZMF<&DsWBpH!8a{e1^}q16lyb@^*gq80r|cFZL?oAH`fvq-`WSqU57}EEJ#mjuD(fl6K($M8j(HnnjBp=9Jbq+o+N-s1 z5Bi?e&wGsiR;16Xd?S3BLoF}j`x~BF;GucdvI4HeXg#>emc6qay;A3WwFQUWCOlmK z2%bl&n?bCA>Sr-`LM-cnm{f?!|2)lM*K6LblC)3tdJiv`R~CF9uV|d1UORbjS@Mlc zSA1oCE$d{>)WqB-#miv_GCuA$t>{+0x5WpPtKZ$tk%7PiMtppIfjv19%HX%n=$c3>J~Giq3=U7CCnp1tX(0GZobi2K8SjS z^yMxb6r&XS^HcN%`SZc=?(b{}%H7+%RrvE?HW=UN^CO{|);!MAcg(++P+s^O8C2>} zAItS`NHNxu&ahqoD(*Mwcf0rjU8{_JlWn#2?gRe*Q}N}Gq+g!G{ba7uT&#!aVhvB% ziChg_4%cSVba4HE>-${a;~K&9PjL|LuA{hyaUIEZ1lLe5n~SxnT^JEvhjR_$ zI*g0p<*q}y){)l$?)|yyxUjprYPj&PclG76xT?8Wv))AvU>EBgy3jd7-GR88u+GvS zu7WnQ!^Pt!^tgdF^@h`2S6tI~6)K418Z7tvQg{C+0`%(JqRoqwYLLL|A z1Sn$=d7D;C?gmT#Ecw>v`K&(+=LCjZ`8fg2HFU!dBW-LCNB%C&UDEH9@EL7tAzL&C zR-@;}hc01$V3yxvukxJa#BhEf3ZGQ#S%zm0^8?Hagyj(fY-CU{(di*NT{J>9Rh4}&W zX%oGgy;keE;s}WPNFi-Rc9zBbfT8(;>7w}(`0WGp12;g&BF-Vc{8lf9Jmu339@WOnh*gj_L=<_C0EieX&s z4e5?yQxf}RBzManD1DhZnJrp_6vD)8#NnG8XiMot@JQIM%lWOoBVQZiW!Qe&R|{JB zSAkKp?{~sA+4~tk#?Yqi7ivynmaqAQl7!2A!fd~U7%wZO zxrFn58y&iovFw#$%q6e~dBj;4&Lv0(?Kih3oJ+8oOVB((HQ$alX71jCT#}7<747pA z{GXqhO5_w3EKe zejM4W!ZBcue;oJT^Aw*V%_8Om7`MC7MY@jSqRqST?{*!*eJB@WQP&VI9CuxZa}DBB zzeWys9m+M3YXBGHOcx!s3*Sn(cU3>`$Y*p}Xnm+;2flK6;>FMhe--U3AN-Zv5Ad{2AEfQY(~=*) z)^sRO_!k)v+PgjE;jzzonmiRFs&o~^i7tXi29jo5%&1=s4VObxlUR>RXE=K^xY=K> zW)7b=sk57MKjeFzDWvus&G%|gwO2Glo7(O+>2oG~2(6TFoP5=OYR4FLP}{0q)t<$+ zytvSoZQ!lCqMvt}_AdkBmWH=XgEI@!@(8Exq?~r(|rFd%e>erAF<{!!4vy1c|b0i_;Oh9yFxrAIf|{AZG;xoqi|LL zvd&Qd7md~bNyj(O73K=WgB8g1k`!x*@Uu%FxsZ9bYHL6^XOJGcArQUPue4XGv0!cJ ze^S4zPW{TC1^#+pMtLb{q;xZpXpe09&yjXf ziZzP*-o@{qS{|kuX`s7WEnaO#{R!Q|y2{hJP}2WocMM^kNjisqYkuL&QR6}FYc2fe z!4bZN&M=+!yifCGetrNb)J?^PiFZ8u^O{HRmaROB@;* z?f7!ZQ?^nG_*OGVat`^2Yhcr^e@J0o1iwx|pV(wL3mzWM@8`~VExGAN<8pbpb` zjtuBB3VzxCvpetmL3Hc5J6ht#s)7&poAJ2uax88<$)){-e#m7y5%};VPkw3jp%^^G zesB7$8!T%^}eZNeeeL~TZ%y@_E@n;FY#WqFNaRQ z;kRU)Vvbdg+Ws|oMs|;Bv7QJ#=8$iZ{?Y--uU>5i59ebB@aw@_p&hb`{3;C2ZsR_R zG|KY}q!*tVi92$tCwgcN@yDLl`lA2VX#7Bam6xv^-mSe*CNDg-drGf;me^S3!X5YI z=R)3MKO5nzd};q0`ePXDu$nqbFKngUQtr*%`*6R7dz|}Mx$Ar+*|0b8TlTBwpAOis zDfD&5+;zOWiTq>G>B_?IO6)ib8~Q-nrhMAlcrTf;D7ijJx$A?k0LPQdJ?1UIk3Cb} zE4<;(`Uf0m{iEzt@Tg<0e;}S{b)(j09p%X--ZaXICol2D*HMQ)*e<(tMwVxpxYL@6 zc5sGjQe*erEd0F@IY3+_dmHgv^{?odpNS{uXJU!@8OjN1qWLx1h)HmfO{hHe8(zwa zK2dNV3tVAcL0_EiqlbojvWIDS2d-g0((gq_<#oEgPl=z-3+K}GJkImR1J6IW7BWoV zo-a@Rd?M+JcC>8u9I}OW_bb!+JvS>8#K4iRo^;xKB!)}|-)*$-?ilpocU1L02AfTC zbQ}E0Tza|MRo|(v%@!^TJG#YlhcegoY=K`+Gc`9i$7e3LepDJ+k%0e*Gobu!W+L{I zc<(LxmF8!(X3Xs9)i0$V!Q)k#_jSxz6Mi53Mw77}tJMa`;@V;Ohf?Uf;G_CV2Ps={ z`@Y2)`W5BRb6@C=Tuc+C^~YQ?gs1-J!q>0i5?;Z&OS~2rl|-V2 z_b7?wC5ee9R^J4H#zsLAMUR(U#&I$w5@QU;0-A|Yaga;KAx6)s^3d37WF}5t=bKFW z{rz`UK}*bh^F3cZ&v{OreO-I)wbxpE?X~xwRvZD`x3|5*{GI@U?a+ksD4pc}(6m*av5q_2tMY}0a_;Nh=nld!>)rU%p(ky!uph*| z_RzDM#H(w5OrDh2Y4|pqzTZ{Zhe0dyYw)q_sSOS`*9849d*CybHat!n+A85UQ%7|T zM0)r?C=GbfIr?fZ@inw7MqEvtvLz#4hW4Bqob}Rr8ni6inCRVjFMazaCyGey_E}KjLR7d_6>4 zu=^)1XFht1AAXs%=#c}GL6R3g;9D|Cd_pqFcBZ3;%?x|VUxn#0cv6;f#a~4Ok~wj2 z7VAo;|D#JN&xT$^vtubwFlaqY>rT=mWE+vbpz@Q{`O%WHtojpg<$;cjFOTvfSHf#4 zZ>ZeUzJK-0`?RB(vX$ph@D@+`uW4mK;*A6~BT#7=%t4K&>fm{$lrTb9rvMJ&i|gMpK^pt@ny~s z8u)c({g!jIzp8tC&RlZhAFA?vIAI!pb7&(vK`8uwO?;R94nB*rb1JNkai=jSTGF`N z$l8MKUls^Iq9LC?RG-{Nyyzn4UK?ocA^bcA3~}g1`$Fdt7iaw;Vf9A6O z&HY^EAY+tYd1VuIX^-$F9q{`qyJAb9M|$nG5Ik24M&OCLRT%G%E)$HvO&^4-Snu)4 zJC<+e5oW$*=0%iy3p(Pxq-FiNw1Du(iND|zvSW@VT(E0? zUkiWJcZ~HUeaHCL7}t3naoLWcgW>QBo!3#rTXb|7bRoRB)U9~}{FM8&%KW<#o~8MM zY;;>Gx6H?T+3V72{Gjc|jzDMQF(xL&JopZ4GYPZjYo_sMR^8h7e5lt{jJv+Qh_RTk z8qudOH*+uVIBb!g9d&3N&{oY2Zc!fUeGE7xN4S45y6MjSYr;2>Hk)FckuILP0=;NX z34g%WF)46H+)v^E7QQFdIoF3rANmP%u7yT!YtHp3>CYG`{a|JZ+u|;FYFR(9;W>3K zIu-o79^Sl9KR}in{a`Zs0X%BN37g9L!ST$Kk;&Q{(M3D{Nl8$lfp9gnIKUfD$(hmfSZ8erQFov)Z7Gt+Infow^!%Q(# zYp^f!RWp_|uy^*(|3s zN{9wB=yW;!ukze!$-US6`PlG{z-;)~7WncurG;n0Q2UeBfvq+eTUKRk~A(itY> zgCjYpu^}7@PVqhUo#d0wd#=i-rIkK>r^25kGd_)u@qfUp_?5m#qci@IZyQ?U-iSbc z2er_=_RrUB=nib>bfZr$O_$e)!gQ)Mxmz-~>j^ zuSB21VO5?8hnq+z+E@bZSEi@yh;DD$n~yxsFk{+ zsB>?sdR!d6#zEHpjCkoZ=x>|{)j5(jwSZ$I+p*IP)VhAS6nGc-J!U_?_PXip5awwi zeH6yB<+-cw2!EflWSbH%t@T8olHGdz@IMr{wWp|kY#wW0G4gBQ(AdLdTf8e6t9>Hy zAg6$STO89`I**NG>@bGp(-X)49Gnf*@J!NWDZ>ZfVfvaWLLGt0QwWtnyBiuZMwkacU<`x>ufX|wh!d91$yKfJcQ zF0JzS@(hh{pg$$+rXSK?lrM3d^%fhMW1rN?8b{Y2{Crq*ET>8G{TseLaCH0Rj?xHZ zk=m8`EC5k z>fQ3W2gL6g3a4OH+XRdJDO5K+k#%#@lc)B8^unpqtIb2p5uU9jE8d?5p5?czGYb*`2WzJ56Jho+VigBfb%-u|5JNH#glG6@Bg><=nRB<+SS0j zVMzO~IOpT-6OXa!C(~aUKb%3?57NFG`U_tDzwWP}lkczEN4e^+XA}qA$MGK8KDA+J ze?6&q(tVb<`m)+5>Mwn3-*Gi;)!DRzz24%v@htG?{4kY)7C4)rxzKI+?^4R~D!!EB zcM0-quB$Wq1eeCA?(Mbk0rC7cbf%S}#VAfb`JXqiAAFx(Hea^O3O0*9;_^LmIQQUC z=OFfhaK@uM-Q16GGWFCs3E8$wtivT`e~|Bh<7f|EkLf$%sR1~!L6ju>zf3yW&uw_0 zgRE@)LQ^o?z`M%OzvSyxm9qYOAu@$L(%WQzG4>T;L)Mp&eVntkBog0Hy{yxQrvh(1 zK0A%R=0-h{RY_a#C5oEk2_Nv6q~(`!lE4-td|3HAqC}dET7J{h=#{Z?^bh%)xg*0F z))d(OStRkB1moYUOxmLI4UVZ_@wA6wwYc<{cq?reZqyg*XU&1tf700x_x()|f+xx= ztx{Uvj?cWG|5@o78SYtx&L=Z2jee1;@X%CGw4Hq7$z~sBx@;G(@z`@kxW>#FXgmwg z8*^rP+yju|(+du-lvU-&g`TKDo~o`=l|fo7K9Xkw4@$hzO|-5odF1lwEOxE&Ukkp* zWcB}|()anVaqJJdLvtZvWxDT*&;#C)T(7rUN;T>y^b_%^*tm`o`b-p?q&3_wGv=$~ z-GUdz-M^OU?}H=DE$bvzeT1_^%pAbzBH(>YfphT>YA?>peAwT4ydTbH??pYfFv0yK zdWm$EN97~Uf9WerkKpVJ>KFZ5z|)*T&lmi($$}=(C2BZnsD|@KlB2+x#&Qeg#nD0I zUM6o_(;r3NJrZyApOP;xXC`cOz0^i0vu3B`uGxITasF$gGX85LkMlPeSTdZYg?&nG z{)O68X{&Uzq58{O;>0um^Nwe5Mr=ANYwF3Jp_S|iN5A??*pMlgm7uKp0{6R6hJ_7C z>(Ro|#0)rT0v7sQc%6w(E&sWxhj)avt?i++>6I`+n+#saFPu)NjNpv24yZ9GJy3d) z#^ zgQ6$JXkMjxW+~;-m{IT>qsDDo?IbuEtY#Mx9kxh@+d9_s%A%TfQRl z9g%+t{cGTo?}&kmF{wHGN9-@CwQ_svnZL4TZ(!pLffloepEL=4H!U8)rgQwJAA|2U zu<2}r1bp6RJt{V#o&L>5<*^R$=Rara@#G@Grtz=3v{ylO=?oB^^`ZIaMDQ$pTUqp( zba|e4W{!0{_|AghVRVI_qV{Jr^vb5Te}9GxZ`GcR8p<6;A4^AVfbS-9*o!U7BmM^Z zO1xLRUGqDQDe>M52^a632>x~MMt$$Y(XigTbdUEy{q#EP@l(sVGFX(1yfFt)H1u2v>o@|tIAibjHs)>E0L}PQT&13BxL{xp zhv}mR`m5gbUAfQSAUqK)k50b?Sx7zg>F(n6Z*~-aI-q{KqnKkyloe$;iZ@z~;8=-&kAGF#M9pDyE4d_(8S zieLO)rHxfOtatE9rmdpKM~B2|JPeI{fH={LVC$^FCcb_kY*xnKF4)v2bi-Zh8@B)- z14i+nmpCv+tENm!M$w!z~f(umfM4ld)|qviMpUj}~Jr%|BHSC@wK3iS5` zXpZs(yZDv*UgbW2GR2AM%Ze@HYsj{#l&7*p$B9B$JY0Ops>lS^-S)`@#mT1||JvwYa5mFHP95D2esj^kDO|YcKfd3lyj-O` zj3U&vA4lW=29Eae`~z?_l;;aaPKD=Jar9AFnct(seT?7#g>d0${3qaOD)@P0Dstar z9J#%b&Qy}lZ~88UOv0ZPS&Q$@eNmiq46mRpCwHImGiy#QG-rqDY#qrLCzoT+`BY@h z=dMEcDdt@(-o7yy+)F>})2CW@c5>ZOv)dU77dm4}^JyDCd#u`Y;C!04%O~oB3hpNIPM9{X zFnf9u;7U43)jp~FL#0c`;C+_GT)?TE|At;Roq0wRalp3g^Ssd+OUHSaZv!rD>Ha44 z?APMJB%LF66l0(Kv(Vr4UEMn*{Mx-doKJ~NFU7Oi6!Q2XXVye_0-MEIrkdNmO`GdD z7gcH0wvI}i=Js2OOTl03z`tPSp5qqw9@TIUafyj0D$_-!&A=!-o5qRd{?6Fo<2mFV z@QJ@B{Y;R+Zm0E>IBOP+8`?Wp=Zhob;i(RK2Kc_3dTASNNy~Qk9Jp$v3|nKu@XOTY z!Hj8|YtISmQvSH9)|%)L;TX6r;7bDgY{8yQ7gqtB{92MOets&~%9fb(B}MlpjlD3i z8%AMkw2~93`xMp7_`8_@=yK8Fd`qr7l$qdc+yv*VyJnpz*TUJ2BkTDdHssskJ2~V# z#rHhc1>gZSq>ttJR^Rg-!ADwS)QxX+a_pn!{TtGK&3cpI2Hy$y4AxF`#?^MZ2OqZb zS>mlp;MO|Do=3|0v<7u8c{E?E&&!8I{SALg%_%k!o^T#`8{DD~3^u5~!S zX;@)ZIOuLD&3v(cv{l&5wvXIM`IFC_+&|hj<&?uLXLG-3mOg{7%=v?h?aYP6cnUc2 z8BB0?EOZH-&NXLa*U%QhvXgcR5A2b8u9_Do9^>EX$Itv{JK*nrrQol{xry1|0}E)K_0o+tg15;Hc>K zi44AEjI)G`JS_A?|M3_2SB1AHNXu9>dy9S+(75&21^~ z1%#ezpraV;^HVxGGhykX@CzM_!uno(uz=Tv2I^U(a-qlDdH&YEf`!B_<5|hW`noy0 z>j>JQxvp)EEFDI;{-^lQzQ~$+tif@|N)7sa3>#ccj(f0cNUuGU zaoT^bOaGwj6JL~#ZVW^F84|Z>BEcVv{?_t;^JnWaccU0%Yc-T1Lhb7H##RFMe zX74-t68W{?ZxA`6H6s|n;txASYsj1`T;K%SFy|$@q+{K+3EZyMIC9aq<}v2#I7{(U zmAJXcbt5m3dsen{ADxI+gG$-&P^WAuYOC&X5^QRxCm4ChxXXdKm9(*g_O5K;VNLmN z!7G0&;T4=?pO${v`SyJND^Bw%&RqGc_{)aGpZf{%HxG$F?Gxg^IVAo|pAi4;A@Rq5 zLi|-j;y?EZ@iz{MKjIVOZyFN+nM(ZU2&=X~(aRi?_KzY?zK(Z*XU(Aw#8VC~ z(%nWn&0~^`Z|RYC3SN>fuYJTbe(3hH#sW%u0omcE3G-}VWXq!PKz{U zNIszNCl_!Y+nmEn{UcbX|B{0q#eSUzi}e_%8~g4({fSBU^z;3W^h0DZgESK90LmhX8*cY%J&>+*Zgcz(|sd;{hpaToBY&Eog_aFQ+CddB4BM`@wcarc5>!M380_-Eiacx}oz5CnI@zzZt~-W$6V62J=A@^NLr5oG z$ec+EjFQ8qJld{j5Z+AXU%(z>t}_@(h_Y_F*ybP*xp>9EUE8}fwU#QPM;2aXs{ek^) z){Eu-RiB($DbwtyB#+9ZPw0;=rf-B-^^NJ5NdK-txP`O~ixR<& zKX@~JL)iy`PsxTCXkWFDR#)He}&zDcYC@_r1%bb?$G&wcc-;Z|Q8x z%L5FB$-MJhqw7iEZg=ho);cr8HtG9L`P^{)G) z+s3V|aVK@xz`tW{yfr6ko3s+T_De41+UOpHM=ufH_XD*rD2<|A=^jd}Z`Qhu&MTha zq_E3psXu>rWc31re|MC3cTm^G=mYSH9Crt0?uk0QF6<49{N{#QepdXI@WrxhRW9o4C~UHj4#7lZ)3Plcw)}0`J~`g z8u{Z22c7iu)6NRoF|(8*zLq@#HfN64TK+g2`$;xGxI0c-ov)B!|FX``xR7-5bXNc_ z84Jj!OeR?C?+mTnq9EyC7ktkj+>M`8a1Zsa^-l}q;Pn~rGy~hdI^7l68mi15AK0^D2&%ua6LSGQGhR0QD=+@&o^3wyW447r*~G6qb*PQz=?kSW*^83+HHw%r8H#p%Boboz`tJ$z2IXfZde zlwpG>%fgldY{S9#+H_wyRsGwWF5>T$)O~hC>lTe3h`*mvW`cX}k@w6g&yIngTFqYt zx6a)&bI2UJ8+f&7lk9kQioQ;B-Xrr8@e$26^6vJ~CS7x32Xx;VD8I(%T8DBAOBqXw z>x&K&e5~0>en{u30d}QrG~shftotx_@kye5&BNDGZY2K$_Djl-m3rFwUaWdmXF@o4 zbe@Lldd<+TXjHKL4*2sHJODUi@CL!9dy&_Av*G#vrg~?^X5iYsuCQ?fV`D?Tvv6~a zGr{Yg`I9kurAn0AMdBrH{oUG z-Y)9`%{@3P=ibP&r2kGYPVw%DWJgv%>RoOBYvhrSn&IEH-N`SHL`w}R?0`9R4s=`F zr(WxUFpU=7Cpe4MWo<$G7vdS#>9T@r8)J61(dWj}KkJ+~!l%Sr{dBQSxXrJQ z8d9sGwbt)GRt|jixpjr#k(c#N>c>9NT1z|ChnB@1X&K}Kys<8OMbKSX63A9&Y=V}r z{z=-jNBrGp+$9)y_+htpd-N@3)RFdS;8r=0h`-Vo_~EtIkXLzPmApoO%~3A=)yjf{ z0(3y$I?{=L)}`MF^T8X)t_w=b(tfxsvoxsT{DwMU<-R^68-A94Q1RF!tfc5cdu*kz zuXQdAuNNLTbB8rkhAOsI@UMKjcK~=-KV!WSmitCJ=_1olPGNbZ`$=@BhUng+-nH(w zQ23Uu9r{bk)-PDsxo?=T;nXKM1-sfP*q3qs##(1ycwPktwI4rDcoaBbja27A*E#HU zrEI~V`aRWKk&l6RgXTkSS*~gv$!AD-YHM5>NuM%u5jfhAk2|4Dl~IMYoqC71P3;<^ z^3fN5W6IY0gkM_U`&t;IAMF%v$!$0As158tG&a_Rbw~6(>7_?Vhk%yxk>T7KV3saX zud_8Mcg#3sb)|mGy(2RC3h4Vv`_^XP2-i86P{$?V`raMke;7KwCiqSknF>sl*T}r1 zRqK%G0+Dn@TWxGa_G5Ff`Bpo}^Szohn{FF?cNFlee=KYeD+!aGJf4Rp(W_!U;{&}) zx`5iI@wpB?Wi7f@j4>`fOJh*y!_}o12lxi8{v;jiWsL>kQ=fa_rN)J?TI#Q!NIF+I zNPIfYezuS6T9ns1)?W3Ay4Ei!Q+TP$h_UEfRb4Cp{c_v_-U=IQFJcX;K2fSOs@Utpm!};5Klh|5g1+z6R2F&0Hx3?Btifk;aMi>O5_*v8QXDdhDc?ve_En z48f;)mhh^1LY(w=4!CK195`aV!UKL_%nbw&dku^YGo9ib9l-@ZJI&CGY%<7Lmvsul z&jFA4EfwRLG<<4nj=cJG zr|6>8>~4xQjx{f9aDge!-GiKA+MQ=lWiYr~I@&MuPlw9_`YqoRDO|GUSFFp^&eAWn zJ`X)SYyCd_Wx6A9(&*pTMs$ZaLY>DW8DjOamYT!IN_UeOJ!b=Y>rUjA;o*w~C%$4W z_|w!RX^-&-gJ(j+z*KHKYYE|$N*m?>^K0=IKM;={DBo2%y;xK5!)J3l(TDs{x~Ooo z)?FWV2H3qB18WQLR&O(5(i?Y%onCjauCOT_uX3T$0chaa+~#l>Wr|m*-z38|*X)9Z z>H~CPc&TK1gY^*fpAPThzjzfoa?`Mk-x$wuH(IYBFU(vKx%LXuUl3w9#U6flaeX`f zx(%6| z{y$Dw489X<2Wy|mDX{IuZ3&Z5eH(qL0dIQX6N{vPGjlP{j54DPIC z)?50P>cR(CbCetT?~pd{2^X_VonCveHa{C&IA-sS<(Kz`2xjpX;Td}seeTQmmos>J zqt`dAh$ca6W5AKM;lY0CK=fx254jU1b4W2Byjt>>uc)!1k%J$;-u}D0eY)Zj{7idl zZdO^|Ls8x5x>%EZ2%lB)sLrTQ?J7KkOyC?eXBo0)S=1LYj!0_-`)#<1Ec4MXbzwW9 zzq89|`^u>A2H*%5MT@NNJ$*Bk2i!B>MU&Wuq3yY)Z&0sI8^+K-T95d$+6Etfu@c^Z zjG951{OQzY$Lfy0q`o7sojY^n`gZnXz=s64Xej~Q!k_HS4U{K;^lCpRWGhcEY#Dv~ z_2`hBqrOQiq95N#dbc~0y;;8bb&PMp%6P+eC3tCbFSt+jL>B-@0$Rrx4f?$Z`-<7u zVPmgusm*jZA`2Sh^Oug6U!~w>4Ql{CTLQ*tv)ar5O}qsoyqdMQGEII(|G`0meW*GM zU-81l2}9cbMexx{I?0=ZkqbHgH=tM4eJ+PRjPq%b-+kj4Tb#>K;60OjvY1nrY90US z^^G}mj-LF~Bs&VzB&X(-jsTB!-)G-n&hT!dZ^1uGTE}G#hBb}yIMY~a_I3alesvYx z6UN^09gO9s68<2D$IB+G``*+~CLQh5_>bR8{}KK!Z~5PvK7vNs56eS(?D}sLSC|G3 zQ8zjh<&jr&FZ4CeTZv?wmA+zdM1RzP2M!`PIyVzajayLUVN&loIl zcQkV;t&0{W^-?E1jPUY*jZxrGJa4VjCkmU;zc?d_^$epYv$kgTa25RcSacD1M{6v@ z+>?w8&I`YWU)WM_nXzk#rfbNDy#=50-e~-^h0!|i zO+)M0kz1D*_UrEJorl7^z>Qr%zo0KH7yZj#80{5aD|&EsZ&|)l#$lAvHtxR2okZPU z2R538QCs_coGCB=jk#I_T#Z6O-FHXsxP|bka@~p_PG0$B2qxYA$M;Fp2^}HF8Beka zT&KQr(?xs+T7OSJsm!+ag=+gs#>Q&P4WuWc8!n7~OZ<5Iz9@?=Ky$-R%6Pi)5c3P} z?*R@MIK}^8Havne9I?pg{EM~TCD?f`X>YLZTN&s4EuBfCv29tG2XS`+`_Rk0z;f6} zfNr~Ahgu^U*< z4s_ZbQB9t4?eB<&_wI<2xgFf;z9nkGCOnL^^}&v46n6X3tQCwX?7$wn1OM$U(Wl%U zQEPrn^l2YkfA5y)Gr29%A>=zW*n*$nmS`O54|BIf>B;^5(k*Je9g)jDc`5Xz^fmqc z2YXu>m(+zkZ=%eR=^gkw?}%D@3CmHh%bqOKjHaGO(v2$YpspR94Y?&cBE2PQCC|a+ zIg&I-QRf)a92)G1##85nUSJ{L*xnt{(YYnfOo(-hwc_=gMGr3GdV{)C}$jHxc-jlc*0H~>?p#HBcA4B*lgny3k&ljk(0Dg#{M*KwLk0bt6 z;y+LPMHcw7ejiQB?}(<8W(H|I(ws<|(?~NXE4Y9!yCb?Fvn9Ha^pi6?qAyxIqSNzR zqBF>I5_!Kso-@h&W%5iR?^)zKoAf7>?@OdVhkU2xfR}vdlJ7k7olp8S>1UF57HMab z=CsT<_$BviS=%D$|222fI^i_#IzaDgJ@?YCVqd1K_>J4UigpfJ3IC}>kHrs` zHD&qG{LIL9$rITg@Z-Za_FLwNJ=_abmJP@R^qTVA|BScF_Q2{ms(v5Fn5)jQ4&{G& zF4`MS9M>hDIWT4ewtmL1&3KwTj`5iG!?~66tt@vtr~Ej!wAR;U=Vq*;AHXiLO9O9$ zu-BOfOBYLE_m10l_kR|iQ(sA|aQxaL>`|?++bg5Ph^wJJmgb}4-Nx@G0oylcZ?-;L z$#?Gc-5VM6o9dXaCah&c8GTLo zrHuw2@lBP1Y%P6g;7ylg15_Ay-WoqT@l9`17cvZ;N_7C6_8l;=^O-CUg$FXiRZYjEYXOVqS;YZMcd?3CrJkn<2=2GzW-6~#FIpgDQ zY$Uxla^@?g2NymZy&?NZ7FnCSD|nUjOVp0<9E$D5V%+%U_30Z06E?X%#mg=XE}R>f z4}%{z`6pwe7nYK4*^YJ<^@%2$?XKtr;+QWMA5#8oy7*S5O+O;sG4|HkrN{W+KsmHO zoW_`LwpT2+zwZ1$@xoAay|1nE}E!!7a`M&6qTl)KL zpZDYa{juJ@XySwDG(lf9Z%==JBFDR{zrTjGwWJwd=!@z}GmbRFNHdc(Nz%+DO_S3X z%^uU=?+`zmIvR=Z3%ZIUiJy_{Dvoyh7#qwDtQAojn9_ay{gO{3tiGs$@(*iZpAN8m z%EyLY=!<3n&*86#Cij6a-g&??j{k=dFSyb#0%M}T|47oz ztncstEbp)I{v7Ywgnyp*6sxP)MxL)w?hys>0=!2%q;CcuzCX+N1iporV|)9e!@=7` z!Y2@Z4EerFzT-UJQ~LWo;wL$M(P#3&OPb>eA8z&TInnQnPRRB}=~ci(dY8Q8p5!hL zi+X@#3Tg2R?EgY9^^oQy(jE@{r#O5A$5irvi8LpZUS~l}_xhp~X{Pn|MW>QR=e;Z4 zY}zJ#CkijVZF^@j7o7`#KQoFsXGVEv8)q+YZpdWD_-NgKx$$kzchsJu)&z4t-ODis zTGan(BW9OAt1;@Xh@>w`Phu@2Y!i>5Kg|3Xeu7T9cwU12QH>Q(k|g!d@2i%SS7r` zvpFxO^(V;p*syddHq76oy%#Hpb9f`$2ljGCu3(yyF2iHs0#3mrxT-J-9>FDe1ef3u zTxv_r0dRdCI0TQv1>2Rv9lZB$!>_b1ls5ZCwFXyj>3cS3d$D(|!oz4AA_w0hzHQ{L z;xn|vW*^67hyKj@C7(WFKPPKow9E3JzLYk_0(g1>y0BUQ^p*xoTl{ba`nzoEXY!7_ ze&_MOkuF}+@`LXSsQ5+m+l}1nT!_Sk)=mu^_FwyJc+&l0@evkH# z=NSV$msVgonR1$;Pi!cL9;FL4J6)U45?ul(bQnL8I*i<+4CEGfN2vYWC7||=@k_@U zSjsZNLnb&gSG2TQ%*W{Oo#|lo3cJ}Riz;grimGMgx!}4B@@f#kF z>auqQZT7>F_PV)^jH?3Ym5eLTLv(haY&hD37zdWIDb7X6VSmYXM{d9w0tM`G4szD* zj;u^Ka;;47q7^2wC2ak`KN}lzSIsKu`{{4**WL2`w^H;)x;Huo8M+jIsw&-HgkRK$ z;ES0Ri^jCc56d{S4z8rM~r z;oY-&hS#yV#zkfj?^<1()lRMbd0tm{-0N?AVCBFl`!ppCw-lTg?06#@nToQZ-+=+jSJ}x2e>rbJh_+1e;L1X{g z&Re=-b=^g}BK;nUcWaEqC|C1c!8#uP%Rtt61=bba{Le`b6rLx7U-^?*z>>(_E#D~3 z4I}xB2u7W`q_wB>gh%Kh=Fy+T4Wo_|73QTmAE+mKoOWrSvEwc`YYVY7xZStDP+lX( z*1fBZ^_6;`GO5RA%-B9S$Ws^mFz@UPbx&nIcEuFsX^xY~%7%Awn4tgZ+g)o@JHa{U zyqf(nb4s!!)dHvHJA%o;4c<-{Y?*ZNc)WLx7~|TXt~71b{~5(Q>Efy6H(|&T z(Rxhbto6v|?RcvVj1AfQqgcALn9pxFuwc7+DGAK-(XGnQ!?DR|pAxu-cW%S(wu$$~ zXkumTN~cu&u)iAI?GZgt4{O<+%b>l}+amSnf%%+ZwV@Tw6K!W%@V>?v^o-90_DIo3 z`D`QRUIWN^bN>7r&<67_bJm~Qrn6kMk0n9d_Scmzu}`%1!1~(qYYdH5aVgyXr(mVd zqs60zr%D?&hfsVq?FW@~_%*dw!*t%D>W?aM*uIh*$!B|aa1Qh8s1tlV?c7bDn)4-A zYY){Jwbj*LD*PtkJ#lY-z&?lw8|T3F-=Yn`_%Q#GH|%FG_qpIOXVw&YqBWJe7$fNT zL1_(X>kHe>d`feu;j|-Gfd9bCvC9zxm~L&{Z|DnsRJ ztzYG+493P{hjAUZnsk?CQsoF%(JTCebkFY@PFa(NlrR5BHi z7W2B?$V!=$}#Jy~zcGVf}AZ4Iq7eXVu-9QFuD{!3lOMdTNa%8%x0?#S*+ z!S^y(1>epL?yg0b>KDJqSIBbii)yo%1?w{1q5KKztnMHn?iSWi<4$L>hB7*-yWKe> z$Y;A*JH;O;yAfZcjmDQG3(eTO&Mg{SJ#c)gG8T@YuM0*O;BLrNPw`n7ouw6ihYlio zdh=%JIGNVojR}d&4A#G(FE=P@tk=8aBEjAX9Vu;Wv|svvfJt*>%fhFjLX#g6###%y zNf~F~A-%v-Iy1mhsE?JBnKCwzGb?*!RQdyp>_TS8`%@X@>fcu@uXQPjoxB`{m;L z)K*9fABxn>##-h=G3U!M&RysJW8YT)w9%eBUDl)VyNNm7%v&x4NA1B6fG_6WQH%Cz zkp0X>t^KN>4oY6!eiU?_HXTexSDL-15sMBk1$m z%tGOl_0zH*F^V@B!{4KxV8h$^A~9c>7R3wGqL?);`VVkucqDLC*U=v3JOg-V zX(VA&u~kVYvfWfsu*axxqG-_W4pJWLiP?q0g_(hV*8tiM4!J)73jw zJe2S1l-^*w*hAVhF8iXjh3$dbA=`7_!50$Vq%%jyB{cpvVGo!tS@guOfE}NN;-54Y z)vio$bT45)x~Zz)GscmzKO;;qJL>ja``#!H9;;(t_>dg=p()STIobmn z(^dxk3L4ZN20KTaeA*8kN*6s>bi&+iTbsrFb7m-exo7l}StaIp$%fRu(Tr)L8SZzZ z4T))sg8BmA!GqBy*nTc)!{*i?dHl-T32@dBpo<3QVAnV&in-?)JGAm6l!Vf=m7AL!RyI_Y;A`q#Q&or@g|`oEL3;+f(vbk#RYdI<(g|ky@-h|M&$gE-tLr;rB-U;3x0C&OS-zohfV!^t*h9Bx7{H!ZCCF zaD9MHDE-RYY7@5aC)5^XUn^^c1E-D1u^+W3x|w;g<`?Rd=H>U+JYjflV0>5)J%BbO zALS=1I%og}yO;jRA-}Taxy^^9*PNKib<)nCS$q~sC*|QcE zJJ|y|!@8Sv(~B2BMgE-pa^vVSJ<;5Dovkr9d=Y+sZgxp=c!oZ`0X`J`9M~?=*)Pdj z;<2S-J6Thcv*ibr8mV~;c#zy{e1kO79bll(*&80}w;PuQwsjkP&PqzhN)(=A%-v@0 zPISQ+eHQ*Fb8?-XtFrNXdtwG>p~+_5hAl)mWj-3Mf_`GdnFD0}r_fiPV{Ddc8oL5F zO`42fn!y^s@~K@)FW*Otv7+`WOt!!kz@RYcBHiC29K722NV#susd3kzxrsfr8?n_r z@)_m9_Zj$g*QE4v=eVU|Y|^s+I{bB&Upk`YlAk_>pALvGxst!s(O@;Aw=kc87NzGS zuS=p$ofp38pS5<+Ju;l*_2d@TR5)|Hfx7H=>T)@o+*=TgK5kKHQ=<%h!0Ovd~S(!>crPyZeCFkk}L_?DI5*HP5k9DIi}=eh#n zsy1_Z@Rt)MgDwoaue@U`?fNZqtCwUuszpbDFBlzMx{l^`^l$0r3O}s37DwVo&FHGb zh_ed9rD(5!zrerBpNO_}7KMjIFs=Bj)cxU8sYj6+{|avI#Ao-l@R`i1q?=Y;>zo?? zs&FSd-fzlsL4J7Y*+tfvlA8akyvIDoAvi=n+%uUu$aKO}*qdVNL+nhGXm=Z9Yr>6# z?|vFMHBZraGIECU#H-Z~osF6kPY@ps(#5mD$A^@Kj4%CCWoGVJJD6Su7yT!T~NW-@2IC{5^@7NSJ^Z0O99`b zL^m_=Rk?=vYF+4CFNv-t8)i87L@M)4(%9}allE)WdCm}6Uf^54Q*F>fdn5e>PUGz1 zKD5xz_?pRmsT;Vn#eYh)Hk!1}L-OYNPCuHkf=3e89G)>e;xUp#W*=b|y!XOmQs|xZ zGxqU;c5umgUO_&yfS3O&#ed(g=NUr zx#2nJ-tEYcI#Z7J8O;gb6kl}H#i`JglVabGqkTU!OJC%B9eY>Q_xK7ew#5es?;^Y% z{6B4JUro9+0IkF+Q|oE5G&lg(4!#rEHWJSL(OULsXiQ_PDeBzI>(G~L9F0Zp7ggP< zw9bw+K27Vqt)@QaqpR~Sx@V<~4ww5bC_{eg)p9N&jmE|>U{P7p1OKe@fJtkq@|#k4 zd2FzDgAWb=*{@JJ_Yxc0A8&&Gm=kNin(X~*Z?z3-_baqp<3RiPV;<+w>P;IvsZ%np zHkht)A3j}J5&p_s5jGSu*w(cmfP<44~YK1;ar=ADwHyAhne{7tjhO%0%%!JT_#m+_eKX^BGPsfK zuq^)`#^P$>&ENzaJpqnn^AfLdtd-HcKM%gEzOIJN)qEvvyRXAqo?KB zH;27;QqIwsf`{0%QUm=d@17QX>56SGajDKgK6WHB3lqIn8@G>pxB5IMrxt*LJYqi1Xm zW7C%Qe}paL7TWYR?8orV@Lgaw<1Xcg3nbg&XEBd)2E6O@Te0!8FJE+p9kPwSOtbE# zG@>`9Q$3%m#E&OlJpT;R=#EwSKo2vx-(c)-4)VYJy^(#c%dsK%FgIa*K(phy`=L7C z_`llj^-C$g2YT%(4$JzX>!atU=?9;_p&l#8oz1<}EqMrDj)dmdF(=h{V82~4o@bsw z*)jAS**2vQ9)nC;$2>xNjZS6!tS#&`@N+kJFubrJm_l1+JDLhD4nP;8(_w|{g0Zwk z=i-ZAMJKYK;me;~NB$T-X=}Zm=(t^h<{fe5Xe!_y6JUJpzc^btztf!OvCbh)p*~n@YaABu^0sg8!6wS)t{aSD=+0vcn{MM}a zdSoEJ-zEHYR-Z|Krych6Qf7@uUpx3|(Z}n&T|;=|u2A~| z<~VB@|BL^MH)7jftvz(2%?04s>NR@{7_#@Xe#O}#;2=rd*Xf_3`{`o9sy3^AY7aP{ z&`n>}K@);yZC3k_E|P!kYVp82;#9}e@IGLUVlF;_gq`Dp8}I7iOu}?$%|#VjlFkWF zZC&U6Zb(~xH>53`$$J2wA4yv@$5B0BP+M~8B4J40w(b>#VJhjf_En26Z0B_tXcD4 zv_HmY+z>XI_{oH6-;dfHtJH(O9lk2K7_XluUbKFk@`Ce2&6{(5bcR|EzNLG;v-BC~ z?#mvqmosxF7uG~uQ(HohdUSTz4^PpUTN-@|T3`-j?!vLKCtt%D!IyX7DxNEO@LwOe zoaZv0`8>#tflGPN8%(-+yf5bYD$iGV27%>8)>Cbl`(J?Bau?GMY?<%}-IXAFR{Vy+ zfvazQ_7 z>1LN^LCaP_I!n&z&9?i>+xXjt7X*LouY-47GPl&}n zUMyN0Sb>dIc#BP9jR_nIcZ%Bw7x;TR%lT15(m`V;o#p`tF`x0k5qM}l$jKE)5NCTg z&>yE36&?dt_QNElbC1aRrRRCqqa*y=p`Ga5?ZuhyKtH@?z}o9lrhZPQ`997P`ANch zab?1Kl1Jw(B!V?>x6_Z3`BR~>Gei0uoNUb$!gyMGGv_(LzgWX7UX=P{zs`_N(q}(@ zf$@;iz2r~sxrloer!PAdUEv|d3wPyN;)U?2Ky;UA z&(mHC^+kQUd=`at)hmdT{;GXvXBa+#ZF1O6CHgCly`yF-bS@n@t}#tI=|zdke{4Gg z_UT>p2j>fb1I3pJL;oqoXsf>8;@kfw>j*#QCNlatnDlV@Y(!|umtKWmi}(U|yw(@- zQ_#AA=3us0Gb)MMBkvFl{8kz14BbE zw*FjCF-iZ`X8kail8*~=9JmtTs2(2DkeU-TU_)p~cVjn0hs&1Na}&H71Em@le0e;y zFJ}5Et96~$9Ai!MZ5Q64bqR|)Mcdz@t(v<)ug^&r&Jli#!hj(`ALxIM`78A&)gJZB z2aLPNujhOWt0&sQ`iR0!+Y0#hlFw$17Moh}2f+ustzaYVUmD!*+C@Lbc_Pqw%TcV^vFz|ITm-jgBX6pu}mR~r8eq3&DLxh9}(JRf0{O?8P`Vt znpwQjjdsUU#>cpv*HYfCu zvpl^#i+Gmald$qP*I6@o9KP$Z?_N!tb?%P2>$^e+;APj;zYfFxT}fwkM)m0G3!tm9 z)v$8jPa2JP7PusJ}NH>Zlb ze-IRR-{5?(J8Knp$I?3(tFJH@=q}S%23vOaxA?q3WB4M*(*G3Q;3(ajjJ?;;b1U>) zO_x%-S53N`DL0meE`vA!MmlJn@@_Wuz5(rS-IvbBKSFlESY|ssTJ-%&lyz0!CUCkf zI%rBqXmjR#Vn%0pY6Tb4TiPnPyBFN4-{f~(#pg1@o(7*DIBWo)V|nU%hWa%hJA`IV z28R_JP4XvMWMrm0csy11-%6zJ3g9gRmdpMSgIn+hPrQ+{BhIqp{YrGB`!;E4i};3j6>Yo#JsEyuY#r*ug^_qJ>uxWt#`g9$aMxF9hwrUwvWWyLBRM zzeW9zP0xluYh10_C#MLu8QLoS@5T_a`3Mq z_?3Hu0F421p@fq-7^bqPc_@Hm!B3`lpd06I|*jcAh&VjPvK%8kzseK-A z;Y|8QGq_o_G-18|%{r@(=UE=%N^R2oL3{1xlO@~p(d08{zhwQ;&(J1tqc+uML^E0w zn^QUjm`9SX>wq?0ZQ68!@r_vk&4{+qare>86U5K`1e#H}XrT_ct2A>tVUrIifA6&C z_nfz&yl3?zqgUJ;$#*10d)6&MZ{?li{rWfRtPJlF2lSiz>@3Qa-B3Pq7VD`0PC2r{ zOW)PnpT?NRt;VUw?#ZNAI})@*_kJl)giQQf_ zXYK)QZKhtWp@=?G;6^ai0YjBOE+Sq!z)<=Sk9ro^)c^SkezZ>c;etBrn#K5g@_wA> zV|a0(XN$gfdZM+TfQ$5$5BhV*)|GC@kFFD6;Kz8xE740@)7GEhL)r(;US{?fs;#nJ zizb1=tS48~*rbV7(#)jHz5iTS8u1Bb&UF9Sk8H(;y1&eZ1InzXIk3$CZFyDLJ_(L$ zU7ClhJ!+ry?U@$$w~V+x^kbFtwC#eKTbjEy?5&g9!_h}ie{b~gnb-%)G&opi!J}t}(seEFIj`fM z!=drVvmVaG`HA##4F(36GIe*tgGbbrCTcD}{>)OW(JuaAa(n5mFLaiMeX+AN6`SoS z>Jh9%%ToCt`=))LskCWmxL`g38~aeWTdsTfeZgLP>rsDr71|XHUpah4=~LwY=&*AP z3|~L7y>v14FFd6a-nbtI`7`dH*QTdG_$_PE)VELk!B_tH(Z)l+`9sK3zuu{m5yqdv zlWm{}J%KeIZwq4_dmQ~Ezq_N*H{f$-&MDnP^GESXn>>ugQhw59;XBAW<9p@#(5sc) z>-}EzZ{&7EYE5*L8N+izWWYZEm+EtM6R$YUO+DH@5q@9gZ5Cr*yy8mA`~~$N z&D-*NSs#=B>NkmBJ}tPQvHNMC>et+O0sA=0a-00nr(+>&Y4-`V^9j=X=Zi^bW$-VX{ofh9rMYw7YQ3NG435)&C|yOc z$p6QpUd!7a-AKI`5MK6&omE;%TzS0BE^($@}W!+h+|4-Oa66iX&0)z0cd9D6e+sAn;z{7q6`pcugZmr~#Zag;8e%kI?o$p*a zq`voZQ~5R2btP}gHQ}*J_yc^4K6QqL>Y7h^s^?PP zD+sH?H;()k@ZU{%75;Anv(m;i1{gR04z6yflyg4mUf@6S%dDey4as*6b*iq@3A>y$ zw;+?pAX9Hf&xw1Yw{jo+k@9W_AD^M$RmU#A1!uMX3#nh{`Y3KYakGdMJRar#g#WK} z<7dgUh^Oo7I%^EiPp(4u<++(B!}H#i+_~`qc7+bs$QkQ8_tawC?9}+9-@X8iwLu$Z z?20b1bwj}HUA{Z2K{iOHPtmwQ*VMP-;x1#Exvuao-;9lwvaECv*Ep;JC)InC;wh!2 zT;{~jR?>;Cm8K!vQ~Vk2vNBr3u?F^ho&T(7vM*SBlv_EIkFgByGo0sW>hw!HX?u0- zYwxsZ^uGyfNSE)ht=6mX|3mmtSW?n6!To#GqkX}XE8p+(ExL}SfYqg4_$_GdS~d^b zWacqN(!5C6ZCBJ;t1d@(=DC6=ThR;OKv$D&7j89YlH6!l+raS=hPJK@1k3HFz3HO( zmexVp=ULSJ;x>g-e=TW#1Ki>}viFG=lrKm5W-gY#C%T!mhDJ<(mCtf$vo>=c@WyC- zs>ASn$$0ti-UHmM4I7?6D&@zmR9Ple#0K>%<7~Z0t-Q;6EbDykuhp-?Az41uj zmGAW5eVuVh8e>le55Hu-Zu$nDj&V+xX0R=CPmXZJ8ciHuV*(eSp?W;^IdcKxuca>L zk^AbBpP}Tj9VpKaO1kfnx%ui0=_I>M+KOz`osN==Rsc)|*;wHd!9(csJ$rPwjndF z%`L2@wlF5}NyASwB^m$MaJ3DAOTIgT>%TOHXh#Bn0F;+~`^*m>k`^DXfe)`M+v(*G zV}o1W$sn1mdmMGX#0Qkq#kkjffC=Kua|mFe@8DfEq-}YJG|f4|Jh${^(Qumm4E~zv zSol#5zJfJ3tnSzR>>mYF@7352eqcLGidMEfmNt-9V_xOQ zi7&&=IX~b!c|+%D-KSb(`~bP%hjdQwnrIDW)@JYT=R8aHS!nEQJo@2(kzZ|8->5$3 zlgUJ?ygnd)ELp2@Bb$WM|GrY6%6|sG7p;Se|33^&$o&DbbIXu`6B<(ub#{CADkuI%VEer{4!I( z@4`#H*{louO%t)_30C>`@8zsZo3!`?CL1YBzDdLRFFp5YXi7X-`P(Ez;oI2qk-z1z ziIp&|aai~~>An~%6*Os1S)Ioyt?=h&?=kcDqiACpzgGwFdiuYEH9h>$2)CVki}ZC; z-z%>{FRIL^w0B|Kkb1|%lcoD#N*d}bUFwNn)F$6jLg3JE@~_suU%FS@{XFn%q9`v=|!_qwTb zih^Bm-dyocc zO}y4y^6 zZ7BEkZ0Nb&tR0!}3a$n7GzVOB2KB*=Ptlo$zv_Xw)*h>ByXKqpqJh7iUgy~Au1E_% z>=D?MXv}K)U#M@boZ1VVv^xgh!d_R3XZ`R7=_Q$TF-DqE8RntH>-^OQ_x|Yf$G)(; z20I0^dqO>T8Xb4a3%fg6o2W@&7IfMdgy?D~VZSM*HQw+CgP!3xEB44Qqdwai#jQ@t z>4e`bGV{_auU1{y)fk7}*OX?XTx7R zID9Udn!PZ5pHAFSHqW}Y3;euH}`Wf z@0w-K!>-4-&>Qgrd)3TY5EEif4%lXfC>M(@Yn9eXnA@4z&6kmrnTM}+NMVh;+T1O4Rt?+>RWArF}j}ADn7k-7VfL}Da z2lzCyD~nvt_+bGUB)e-p{O`cAm6E-od|uug!ngVho};lSeL9vR9qEl;0qo$&=)^ix z7Z}hp*>6(Ou>TA(@h{`heZBQ1ro#JNd5gt^Q=6|x!RLiQ`Sxi4r zj{GJh?{$B`GuT|7!JhLpc#~fdWB#wo{;A4_zT-M;QRRa}$?yNMe8zxQ*xwHxM@V)A+RuMrTKqXkD;p#_WGDT8&m$wakBj~hTpoR@ zvtX5`9iQ9wMtrQHQQ(>|hPBWJ^5M&}*mfQYG_TWrt4gbI?2{83@cA@j8$YiG=nXv` z+MZRitYu~Trj3nOhweMZ?z7zBuz~TxTxLQubCpSlY7BAa9_2CDTO4zjLD%qHx0Ca9 zJE7}Y<-Ls+ScS9qz|%j2|AcfO+OPB)OXBBo&YY&5CEI!9?P=aL_;Wk_mVPjI1NrS* ztF}Jh8H|Xr7sGW)%Y76R4-4p18@|+d5b_^ePpf#n`dK&@om$YS#*FE2#)#$mq1GDh z0y=`mO99&?bJ)=p8W62l`@HwYvLF1$-=AAFci=qE{I%=hsN>w8qRYB@(#Iz&cUQ1? z)5DRU#%`Hmj27-HpWjZo^5M|FQ!886gY91KH@vF6Z&dVB11$DQ#P{|@|A%q>B;_Ot zQ$Cer@*4PFp`%e9?)SFBhxj zDxb>z4CSc(k~zPt@@a(=PP;fzr-)5CHgh(5lvY5l6O+Z&6Pa$@P6fy4A6XEW&E^~cLC`%mzV6c z@JD}vG8F$9@d^iqxNK(=DQijvZplZLb6=&5xzvA4p~b*gPrAuN+SgFv?8r*G`J}s9 zZFD&^!Ci>o(!%JLR7=#wyzbHp?2ffCy28LRr}S0c>zPkZ_36WWc|Iv0q9-f1CDurz zHjnuy?=i?mr*L0%ThJ0M377W&=t^*3!I%7j)czYPaA0pY_|hF2-=kjL*E%f4{=MGL z0IL`6DEo&%llgYPLsmIlRAt^afV)OK+MI<=0y1b?}A7 zJOezlcozQ3v34(YtZT1vtOCzuo@YvqwUuWv&viVppMv%m7(N-DIEzUughwk0N!IXi$ z0Nu#c@vR_5TFFq%#a+_Jjo-zUp-i|0UMD#t;d!-LL+~`wYZhAT*erVowDxZNzi#q< z$&>VJ%rBO}FJjs7MaIEor6aG>J{_eMZ|Jn%80_F(eb$^u@lPt9i>;IJ6ABl#*C-4t zZX0p(ov|1*H>*G3Ir8^gPr0jZhDW&QL*$uJT3s)|ui7d%`RMi|Y5$Eud-aXb_8YM) zArrt;v%Jfe^^1k{Gq5~B+4}vK$~83fMYFd}d$pu%YYYjN`$#ALiOsC0`jrQt7WfEv zAr)5#;=9_Dpgk8FuUC>@cSyn;Yv5|6pZY|Tl83HgEUH}<(mViN=}eEu*1%(-2kqae zGS=0G-a@#3qjekkB+9lVzv{0<;bhUPox+@yrhl>X!VBJLlM>n&RYT3sY&?b3$L^R;NT~bABxpa-lgWQ*96}f@3mXWr*hv39HISC{GxxC z@ZCz@Y2?N4-|VmXD)qgdayyIgH~I{oGSb2OwCG*u0&{*!L+dGmUHyMO;o|?2e*|Nn zXX{nrQ|0#yJkk>xkF_60ban>#)EW2Mr_s$`SMi3Eh|6BXc*}CG+>+2gD}5>UaAb`v zX^fwUE8n6G$hVwbCYzpg26siEbJHwr)(&SL_h5_KQ3+{CekHbhdR=LB2awKXR9)Pu zJ%up3$nunIQ)#{_p0mKGpg;2PPQ1>T5`LktjQo+52E8m}&htjrGkgHOQT-}Ap3)=< zj|hL{ea_ItZRUHRzT)gZ?L|d*dT@D!3v}Pmhw!w}hw$f@<8K+QDLi#Kdvn08{~r7z zXX9hTug5d<-L2LP9{EtGudg@P+Bf zmyD}$4d{{JoG4v_bkB0`pybWFXphByIN?!t$Hyk)e*(V5FTbpBl*M=i*E>v_V+enR zG{Uda+!3Xrk2A@8*cb3OjDPl8rP*VZ%97?J#?=sO*|~78wuV**7i%mI%0GE!-R4Zd zbY(Sk!?@tQa`M<|%07)WPLyAHl}~f`dzF_waeC6&ZN$HWc;(Z$w+ZWe4w$5)q_B;~ zbArYDhxNVS)ij^#{R4WZpC09Xdosk!1++_Z{MP=E-c`02;g2zo9^=(E@&3N3F3Ef7 z$@gqPMoo?4yg#^|G6bLC`bCug=Zt;(tkv}ra;$iz_>SaP$=i~ph1>I~zb^Wu9gjdW zio1d`PNlv+>M(seXYH`&R@phA`>sRA!3`eSeFq$>gF7PEfHLYQHI623n~vdI*@@g zvTImwKXIIO$XcQqgUrvVs12;!jtoTW?L?{ zY59~^_VhEyb?vxJ{TH55yG{G2NxzKr`Ka7~;XC7bMDZI1>k#K_<9lN0nfXBScKR-K zfIR2hfgd~fIio{~PvmHylxi&mAA?8Jj z-_MKGzK|DjCjsFf&?e>mK4t0KBc^}mi{EBcm&(LWommvEm4BD^{2lGNXexS{frEVt z(95F{EXc&HXM2sSqkfi+UE_4R_#d$D0A~ii>RRBssBr|}oSedQ8}wl&9ff6+ZjZv< zgtPEb^{r?_>l|%4bVcBe*W5Vgq-z^%;G)G=?z~l6-D{H0Ejw5|TfAq8@7+1hpH`Zw z>}w_5I;Ve_{p=$fn(}h4qOtWIQt%pD1AkxC$Bea+ONhhIVC1|g4&00sBYu1}aqr;0 z0x$N@Znb9fJH+oaei!lk;v(ii9``K1f55S_{N8`1W8FUsUQKu<&$=^Pt;xh~J)_ks zUEx?g{5m|(pU%2FPpH3h<{tjRX3haGxp({2N#X+@I77SoK)(?URzf^ zvK1$-RkR-)Ko&X61rE_Qa$dsnk|~3;^J(h}WP{tM0Q)5PgpCb#N^DbXQ@e`m0{L?1 z&}+J>?I?>s{XzHfh{2Y~&%2Jh>};*3vT5qVrFs zZ}z}DFgAG#_Vo2(M!0+f^eO!4 zUHKLFTgJ4;2>x?j1uL{?_R;=6+AjHF1~`?RsJ8cNyfY8zEaB<70nVQoz_((+jN4xq zDF?oyvag~Y5B#5f`v(5FZ(k?BA^)YXfL**teCOZQCcP6@8$>(3&{hXLG#~xyj3T|q z`IUFK=mEHAz#qlG6&799FAe#e@v8t2i2`&$8+FE2yQRD4kPp??60!*E6Zn93rTE@% zpi-F;tBd5v2!mXGtcGQ z+z#oK6E)V5;TYFlPT@x1@|PfgmJQA4fg$OK{DJlvyT0vvx0RlF4V>@xWA zpv#I^I~AI6T;%ss=r1R_{ae~$cqcR``9eJEtHcRk(yP_(_Ub|(`^S_o2@l{$a~10W zhTkaN-EsOt7`E~YeQQX(d7kd9HT+ThOgy4Br?aBCGg>r3A3V$V34BvIYvS_RcPn0J z>K1Rro~*noL;2T|PI-S!UhMbgY{^cm@*L;h!pp#WQD@UF^woBa6Wx`Xi0W3GuZi+I zrIji8>A_b1$}IPer8ozMb3Rt4c;JsKryw7tu$4`buZHlf-?aL)%A88ukO8JzIqJ&& zbXa}W#(8!*`jE9I<|=DYY0~&dD4qI7GK2VG%+J+7CHhG=IoaXl$2tj`GyYpeb2f&# zQ{gQ7O>xFf1pW^?DOuOK)W}*L!ll~OPCntQ6!FJ@zeG5y1o8X7>b+12v|ctN8`@Ij z(`V;c(rFRF($nHkj6#+_{PDT&9V@i_zUjNi1AWv`L&NIr`(?L^~R<3Rl0 z&|jWDgWsF>!ly%}G2IYEQ?fK(32NQRUd%8@Gi$zfPGmn9ymu zt)3w1!l#Phz-O;u6?WLLZPeGSIrEHzQ z)I#2ry<)h9@_NYAZA~`isa%!EItpX=qQ>MRHnY<0x}PqCo^EvHt&|b_?J^H_?TGA( z@((t;1#!~nPieC8-ajS{^HAms=uLK3vdvBYrG{o*W808Djyn{14lE;vr9D5HKAqR_ z42%~xW@ESNjN;H+ABQfJDfI*JCMRtePEK7vtg{f;VLM_zcwFPPy*v{+|03q>3m@uq zXVw{`k0)~`E`I~gu4O!F{h>SW1U7h1l5Q<=pHP33egpHeaPe{8g}<-! zZDkbqVMC*#@5dz(|I}P@74!C0%wM8KL*w{xoJc<5Y5~77e-N!%%kLu5M>k1zprnMU6<|PKll8f)VSYyg> z%%@K*WL)81@e}zqX^B^yeDW19{$g1==SZ?xxCXU1>yhvA#vS&?odudi@Hg^4FbU%ERv? zTU}3CYmvPNl}G-%pB<+yiWjZLX;hBp8|g#__xKu}V#4P9B=GojP`2JA+%wL(cN^K= zDR54;a9?~W?qyrB{AcN#RdwZ4znDJr2Mq38#^Syh;=Tl2bH{;K@#EoM@$E&g_Adq( z^Z~vDvf)_PlZ*`)KMpHX=FZbZZi!{*mn1aKu{Dj@)u&89NM9@CBPLx9+dtzr?1v<0 zjNx|x&0p$2!*7Z@^i4QdSpA^A=As4tsz094JGxWC)IYajXZqU9;T%X*jbzcy*qmj|o;*o5cPKNd29@~gl0@J;o(E_|@$HD(t!2j!yInB_C? zxHtJTtIS=@c?HI|&i0UwBA%#m-oyTpUhH@ILVqyb?+<2F`;q1Qg95%>GmHJf9?CE8 z+qdstWb_{Nj%Sh4J;DY~t1<;Y&q?f?<19`usj+HR*CJ!S^|^iivs&M#J?6}L@J_pP zeiC|=KbL{~SMR4ix&8M}$MIi5pHQFLj3wz38W(2F=G1p{&00(Q)}^%&SKtEuQfV#P zV*FRDPX>45+xLFxk%|X(HZ``&jW%bIiH3>e57~Wse=U&{Z!S;aw?qAD%A`Cix2aB< z9qQNnfz#j|ScP}fpWuo1=x)f7jiGJ@6-C-N&f z#I`DfjG*@06+7S}u zpX}Zq+-$e_(%W=*bc-*4qKnZrpp|UDFS+U>)q(9?`CE$pzV3(-PdQHg1-@e+Wqnt? z)`28j7FnD$>+JQUOg?i)Rlt7(fd>p!q*fWqFI=%3GF2|ExYwi|dyqS5KeuJl!yxMK#dF)`;d84|I zj_Up}@e3=Q&(hA`CB+T7^&5dRF~Mv6Oz&m4zLEE~OKx0DWtT5?c zf+NFODT2Y!ZFO~U=RVPm+rS3jrF2#PMS3!Fgh_WGF|1-U5c-0?%~b^Fzx<`~NxO9L^n1{Agu8P5$X++4mhi0b(Ny+7QI5`9Z_P9AO4x6*YmFaT7Tb9{JV$UQMHem_IKk~@~>%sHR+e?vyFDMNWx zmT01f@F-nO+TV}gy+}CGdNTVP6)x=OsUK!M3Gc16U-*=5L;b_JHF!tHGkBLjQ+wt1 z;Ka@HyS60b)UoU2b%INjK0qz z{?ev+l~<0+`z*f~M(N%~y7R}R`vl+TM&D21d+|N2X}=d=7@nzKDrtKWR+0Q1uvbAP?&9DTFVFD&X%KJ8CcJiai-1|r)Oa^A?E zv)BhX+p(rS;8Glb1`YJ;?dbXi3+re zuAVGGH$}!BG-SqP?uNiBg9~tEVgEMgqf}Yz^`1nQl^$btN#B`VeF6Bwvqq)M$Y)11 z_%Qt-7-X9fZYJc|HzToBlKXe0YCA1CyCaw3Yj_~~O4Z+}4){Js1-~mquOYt>v zSW}6=>#Pj}QxPBG_pugh+Dl)SD#1roei^%vXhn5XX97I_fWFkPfrq$9co$5!kxqJ3 zobDgSq|f_aMnTf3S<_aGDb;;GHtAp+2kdGw_R#IQYKb&>?b}cs}PC9ePP9hqQX- zy5)IyK7L#oTwyaH??+W1eAg+n@67c&5U?_iJ>cg#XE8;el&wMk0=3^QbH~%Un$sSX zy-n>+mY4a$-;ml(8578>e0Kh4yCzsG{NyC=mdOtK3DJ23AM%v()iSVQLu+qpK-$T>A=#M!bgX3}JO>=IdOWuOkF6V20ebCT1btj7GMxq^Tdc^NM zRqaN1JA^)sbvLb($ai1&UBS1R&d$f?EcxcVhMo75%mu9dhwHw*imwm`)>bdPk6pg{ zccIr?Rqwc#sy9{oB{t!WR(2=wu-_{`c(BG4`rnA1m2NSofgYOC9+b9qOGrDnmZU7k z{z=&6Ye$GjLl`o?cqm1Slh>+>b#r6RDG@vkV|Wb_Za@=w%r0rjjnm_1-! zZM4zorpkwYioIndCwe2@_4yw*w4Z5qZzYgCeG~aaKQ}5rcEG8G9qtX*JZF3T%$e&= z{$wGv6HnAQL1&)bR|#^=eTm8sYi%l<^(n=7>M|6#_3fvdPS*hM&1Z1G#%M{A0k44=_C^O9G88Ku)&x8mMT+%r*JXA~zr z@u?`TJBrH__e2z@J=CUeITIbq+_@B8Ts{+T=l%)X`e>uS&#&Fh!+BM^jP4FTHFhN@ z-g)6mX;AUsq3m)#-RPL{>)~s1ek18Ft7)B1@TaNI&dr1tPN@qA^4Y>>u(N-vaKL^h z_T#=C8szShUH<_-!Aq?U?(T}<)xPaymb3SWyS=HN(wKTA*TnT;e=zF++Gjp{_8QuY zUotx0eDEOOpd4_tu?8X9w(~EHzB6TItdiD(#g|tHXK2h-;8#Ou9o+8SaBzEZ^}*s> zXHkv=PPA^qcxrqPI%+S=Ubg_AxPW!SzYXM{WY$yj&qyD+@4!0u9#E%blDMqDRapg< zH6Iyk{-mt+xj=OCYH(-pH^!#YrE&zD;M$xgS8hub(sB_Hn<3@M`6sKqp}w zbGN%W|B>&C-$7sKo8XxUZE4u`i7T@a4pW*eaF zF!x09&GU=m_oXKp*=S#TXb+e(eRw#o0~vep8qT`Ap8Mg1yOXsKQ~LsQ)khO~?-AzT z$2FFrJJ|$BlqR<2vFIXBdIn2$70wEk5b2TzK3;47lV6XB_GTaFVQQ3f`GObR)* zY|XA0aR)Q>C2$E^Msc!t2hwgA2sqYytBFe|A-x5 zvL!M@4L#$iR#*637kn4|E-0J1x@MP{56j4p#2rSvo9E^Si8FEr^@_HQJWl(?ceHQp z8^9?$;}GfYj_QUF*3hX(es)Z_UJNfXwjjs-uiJt;u>rk^P0xQNyWW4%zQy9fKU>T* zvAu-8GPXa-)#KT>n(0zL*Kek8#?mEpm$?Ld#B_O7M3;$(E_0@z2Yk__Xj61q62D}< zkMrF}=`vyFuKjc=`nx3CU)R`qKVtz#VQ5b>U@FTu_P3QReRB;TkSwV=^S);T_ub-q&>r*vTY?_4&_n*Rtd*7jR5*ru z#?Y5&DLH+K(O(49>znB1?|J`3?}7A^_;1h)ci8O9^1Q&D^Kv}*wb+3#dKnt|OW1*z zUnKAy0PuSipw1pN=Nn0Gg!kLh zso+tvSxdH%>^*_;%Ge&kv5qpv8)M&2a)&20-8{x-o3wG9@k6+8T0AZz{zv*d zW4`y}xIPEJR>nqm1TSe`G2cJN`O;y&U3WUxKKMXfF8a^lx8pS6G}WFxpntx>H+1`v z<~(3(@T*OEV&3;<;^OdF9ym7tZB6-OK6fi|ad>R{)y?T6p7uGVkHXjgnY?X>cVPR~ zmQOU79gWv(Rdy5}3(JR^(z_9lUPN3R9-IE+ru5sRaVXg%4v$Sgw<&$hgItv#jlZ$! z&uC5`!8}vxUk3h@n$pL-Wd?C^cx?H{G^LOENUzF|+A=o%VNK~{o{>}eYVr{Qn^?9{*$0|Gp`GJidQNTpYfB9C{mX zoG-j1q&LmG@tE5gmmQ7e_goN;ujVvQ#%ZE)dnRdQb4IVLb+eXg&UYwd-$N#ny+=0w zr_Ys6=r)SzDKD~4C!3DG{UnONP`X}L_ax1c9FWoX$D(g`5&KecMM`!y#b2rV(P3mC zXAJ=V#WFf8YdY{>tLWC}qQf|z>{AyuE+J0_AHWZu$2WX&XYsE4l-kIjsVwu`$)oiV zo!6P6yt^se&R-D7pZE;QX+x*S9zPY^@KJXDbo@`wVm%YPS{3+n|3*4|IIMEQsy>p^ z-Nn#DS9BI$?PzrN-q21~>veB``gn7GvDzqqF)OoNFrj-}g_W{B@63}nwT8P$%b~5U zSFoU`S)2*r6jttP;|#XFQTgcX@>9R32e_3_KH4c{CVT2q))ZuC?B69H9n@FZKJhz| z9?tm-vZ-O;2dC&ydRCaV?>N54y*-fcR3Et4ep>l%`oLKUPEfc|4p`S3c^lza zhs`UV^-za;T-w!Z-phgXuD3L$)B5SP$8wJS@%w!jdf@FbPEH}O%8(DkyUq)J7_`Ts zTwv`9cot__^FvS8+K<-$+3&o?;IFi^E#2GEYhJe-W60 z({`hM2U)N22ilVGy~Z}|gVWh}ZG4OhTKfh*!B2beHH}|R=xUY-grjJMA z)_s^U+*-pmcmmE6aLT_}>yfXv-iqA+2<>=0UTaOVj|hLT(e+loH{^SlYr=(WY?GsR z;o+COr}2~d%Au^wPHnZW9;aH*HrNZvo@%wx$^bz;@L+3_& zbHGy{<(vo}X1Vkg_+)&t9?kwN@b$kL8*!Z4UdsROkbTAu{b(?o^h)#FS4iVVX@XZs zGe1i6>?@>M5T$wQ71CT3rFr}n(iEdK54}Q~g;AOZNHez0i})s9B0G@U9^>X~aas%f zpi5eurFvDA7MtP$Y3~{*Z7E9owlQgM9VhLzQCj&$Hp8%LoV3?PX|ZJ;kao#9X%|On zr;bVci8yUj-^-6c?Q`=XJ{Cc*toL!>(Yjzk6n7PIKO#=>&X3|s#63xz;JPS^yOy|r zB2M)eqqyscgZ{e~^1hg`>eKkw*k1^bI*2h{bTx@hkCc?ZbsX86Sfa_l4`i;!7Iudv3v}m}lD?otN;RGGo|gylBon z$mh;1_|LR)_|FvTi22Vd;A`eT3nG}{KcnzyjK(lc0iI_5^J;ttzOYlgC5Hdi_|IY{ zuIaRGS`%N%z6@VU-!wj7`TG3*eC2QF?=ySm)K3HSQ_?7s3-0ql(9cL^sZ5oD9AjX=Rb}L~SH2Q-XPE;l$UtS* zr%UW*Dx%l=thH1AMU*|WG7!uv4+OJI1A$u{2&$2~Uf{ zml5uX!j}{7jlv5F=cDiygr`U0D+$kt!XF^q7ljuQE=1uE5}p}_KSX#|6#g*b*-`i^ z!fqaTpy^z0AoySTt-;qd?=yBJcYRr5=5y=j(C6ni#+vR>Tg*7qdVj1>U{9&BUIg8R z=bR$L)wBk!Jq7Jmd7B?1Ts5x@e!q`PSve>O84CKAZyBJAXx<- z&cG9#wjb`Plh0Sax;e!fFT=&GJ=FH(S0&n6$DK$Sf?N0B2=;E|oHXNzHV*L zb6z2KAG41X+)L&@AdWgMp198sp&sN9WIy-@ZQ6-UC!FfOMetltm^#f@Ws z8@5e6P59J0c{4u6FYkrduj0{~nDk7IbGsa_&nAnEdGwcmpBMVXwdQE6+UZiBrN^s1 zNL!7r!&;R5lMSARqB6*z^uSZ)_8_1PosDL3MygX@otRMY?DkS6kPI%pGQ;~33Ky6| zSqBxpns@1Ttf#dUi@x6Fuj1e<$l_II0`>P+Zw=J%>Vr05b2!sYXGw^MA%}Na?n?IL zp`+nf7LEb8Lp}y7C(frbWZpWj;^A4cHk2RFvD&b!n z=~bd*vu7ye=b2;y`l_z3>n^Es#0&5Rshvdm?b&rf#mD~}99h6=Rl_}q@|PZPj|ryZ zmp?HZ;%}Ys4ed{kc$@T}_9!e|6{oZ!wmDWOPbt#%;&J>w>Kbnx9|_HipJ+^o=SW`@ z?+EFBzI-eU{}UfN`Ca|>SL1u|62tdSp17ayS=6n56OWAf9=;JHt5!MI3zJ)|Mf{G1 z_t=+#_mA*x$(;=3ardvN9j~^3MQ|K5NAuxpy}U+JXW z=5zUow{C@ll2er4ws`jt9bN*V^mN&+GT%_l!jbrz?;QtY} zy=jjN=Mj(WoCsfw)-IW^7{caEfQ;^0MXnjtz7-p~OV9_>Zxepk{>*z1zxcM8@5p{5$b=*K zf|~ojbq*o4H$tCs*Q>?d@74%}G1A5(UcUI$P{#QtG;nPcmcPkW(b-BR`c30*B4@ZA zuX)_A499WD@Q%UL?2A#FgLrpb$x%-S8vk=7hmI*{8fkR)Oi- z`xlztC-MH3ruWzJo?;!k*c6v>**9(C_rux-{E0DfQ;GYdctlg1UNn3rf)9QLy*K`o zIN4Ltqcg{3y+$xs^JREWnrxPFTSiFdHNo*4-ZwS9Z*49ceAQHL)Auc7-ha+}y6L+Q zUpT6`-OOdbB;3nc@!D_lMfl}D@O`+U|9OqK7QK$6u_LFb<7cExWP!1DU2wd{C2*Ho z2jpX$vA82y{9NDEjsfaZSnZKNqxw`b=hP@4^pYty#lJC%Uq=12t__O_ur+wzUSg4%24pJYGflc^-<%~|aAV?QoFv!PD_zlNXvIeU!v!FQ2Q z24CwQW94JKnS6iF9^(z~rJeW_HTxIJ_M$mO{L_N>CKY~_J;tJmm)m2!4|xM5U$#=7Qg%evB6niS~;J7@WhD2#4DBHGrsJ<%N3ycgHL%KMA$#hs7O)lB(a zG5_7q{C6GUcl24{a!$?cK`h{VjSRWK##fUzh`s~$LD{WeXk&k*Z4NNs%Q##)h4m}G zr=cf}bH`ih9}|twGi+?}eH+aFxSlN=%$c&&`&I@zUs-$Rl9Zvdpc6yL`K0UVU1`!P zUgs3(eug~py;1zBA6Z#ndhyD-?&xvg&(lhr1Aee*{^R^PSCEy`0ZbYqPDB zvt}QoleMsO+-%@YXSu(Cb6j=Kews5O+wsMo z2n_Ai`>%|lbW^zs>t2MvM7cWOJE499Ctn69+OzcNdso$^3r?{5IV)4`>E|3;e(eFy zV(#~k6ISEGf+S64&JS`yB*r1b6S$t!0v;r zEj(Z6*|fX=iGezId>Oy}gRC2Oi#G_K$^PxZ^ex!0dO4eh_dIs3KEi7EOvPot15diB z?&Q7=Eq;sldq^j`{JQS%?&>C;^lIG+srF2$FZE}TubeG&E+YE|j=#|_JUyj+P&PJ}oeB1gIK@-y3I9evfe*fu>)0h3!pTkC z#rAXlI;eMQ?m(9pLdk;tSLw=lYxxMSmSXCP(_aSHQ zR5@OPC*7btmhw*p{HL zI%i1oYn3*^gUDOlguRLLa^3DATS`(!k}{I$Tjp$>u1`P{;%Ou2;8Or>f`_)J)Fy>z z5LP=BE)W*{3WNI;;~L%>+9OoP&ne?u@7cfZJNEmNeE%BXt%5h|-+Vxtf~Wf}Mnp@= zs#p6q;X9Qc8Cm5&ME={&dpY6vflnESY8f07*2lUp0)@Wq_o zcXKeK`(^|8n@J~oQ;Ipz$!!V}_-mpw>{OewS^ALgcjuS~*qf24uNh7}yu`m7+-g4s zk@ud|TB-7BoNIp5ofb2Z_f&Um2NMkNoqMcE?&{&YzDbU2&u=m?S=L9g zmc91%X=_ue`Cg0{7GodeiRHO7HGZKt;Y_x(Bj?EG`qt-8AztSO7A($^U{1BM7tucO z;c|BJW`eTQh2N!%rj5M0d074_izt5q&tA%T2D`>HeAC$%Ib$2Y$=Ce%ICETzIt#3S zd`S2&x^-+8U5YCbcZK5EA2}_GD-&0Y(t%Ht&Li%9Q95)p6IUhfJjDTLg1BNN2k)f~ zqLKOT=HS?p*KmvBxg6RXsXG4!Iw+9W&MxJXhwlJh51X*;BBH03 zf>)DoLGA-BR&Rm@T|PDWfZrIqq?sajzf6ZOR(MaPnNx^f^7g_3!M|>*k#|y zY2&2pi^_R_RF3I~s2svwx#&A(?xt@jpR=_H>*>aCU@zaxd~{+PZNdVucpmxpJ;i{3@wj&%dF$8vu+eOHC9 z@OZjBxz@|z<4kIn~7r%hR>bX_&Dj(AEo`!vuNMRUEv>!Jcsi7xZ1uvv4S>p{|@r> z3o4tvE9?QP9Sc6hd+hulC~sbarDe*S*Ep5(QmTiνf`L-Tzrb!m_H{lNL3?^gTw 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