From 55cdecd95137a197664c9ed6307d746d2d7e95b6 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Tue, 17 May 2022 17:24:00 +0200 Subject: [PATCH 01/70] Implement support for Redshift Proxy export in Houdini Tested with Houdini 19.0.589 + Redshift 3.5.01 --- openpype/hosts/houdini/api/lib.py | 2 + .../plugins/create/create_redshift_proxy.py | 49 +++++++++++++++++++ .../houdini/plugins/publish/collect_frames.py | 2 +- .../plugins/publish/collect_output_node.py | 3 ++ .../plugins/publish/extract_redshift_proxy.py | 48 ++++++++++++++++++ 5 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 openpype/hosts/houdini/plugins/create/create_redshift_proxy.py create mode 100644 openpype/hosts/houdini/plugins/publish/extract_redshift_proxy.py diff --git a/openpype/hosts/houdini/api/lib.py b/openpype/hosts/houdini/api/lib.py index 603519069a..96ca019f8f 100644 --- a/openpype/hosts/houdini/api/lib.py +++ b/openpype/hosts/houdini/api/lib.py @@ -130,6 +130,8 @@ def get_output_parameter(node): elif node_type == "arnold": if node.evalParm("ar_ass_export_enable"): return node.parm("ar_ass_file") + elif node_type == "Redshift_Proxy_Output": + return node.parm("RS_archive_file") raise TypeError("Node type '%s' not supported" % node_type) diff --git a/openpype/hosts/houdini/plugins/create/create_redshift_proxy.py b/openpype/hosts/houdini/plugins/create/create_redshift_proxy.py new file mode 100644 index 0000000000..52c81240fa --- /dev/null +++ b/openpype/hosts/houdini/plugins/create/create_redshift_proxy.py @@ -0,0 +1,49 @@ +import hou +from openpype.hosts.houdini.api import plugin + + +class CreateRedshiftProxy(plugin.Creator): + """Redshift Proxy""" + + label = "Redshift Proxy" + family = "redshiftproxy" + icon = "magic" + + def __init__(self, *args, **kwargs): + super(CreateRedshiftProxy, self).__init__(*args, **kwargs) + + # Remove the active, we are checking the bypass flag of the nodes + self.data.pop("active", None) + + # Redshift provides a `Redshift_Proxy_Output` node type which shows + # a limited set of parameters by default and is set to extract a + # Redshift Proxy. However when "imprinting" extra parameters needed + # for OpenPype it starts showing all its parameters again. It's unclear + # why this happens. + # TODO: Somehow enforce so that it only shows the original limited + # attributes of the Redshift_Proxy_Output node type + self.data.update({"node_type": "Redshift_Proxy_Output"}) + + def _process(self, instance): + """Creator main entry point. + + Args: + instance (hou.Node): Created Houdini instance. + + """ + parms = { + "RS_archive_file": '$HIP/pyblish/`chs("subset")`.$F4.rs', + } + + if self.nodes: + node = self.nodes[0] + path = node.path() + parms["RS_archive_sopPath"] = path + + instance.setParms(parms) + + # Lock some Avalon attributes + to_lock = ["family", "id"] + for name in to_lock: + parm = instance.parm(name) + parm.lock(True) diff --git a/openpype/hosts/houdini/plugins/publish/collect_frames.py b/openpype/hosts/houdini/plugins/publish/collect_frames.py index fac40b4d2b..9bd43d8a09 100644 --- a/openpype/hosts/houdini/plugins/publish/collect_frames.py +++ b/openpype/hosts/houdini/plugins/publish/collect_frames.py @@ -20,7 +20,7 @@ class CollectFrames(pyblish.api.InstancePlugin): order = pyblish.api.CollectorOrder label = "Collect Frames" - families = ["vdbcache", "imagesequence", "ass"] + families = ["vdbcache", "imagesequence", "ass", "redshiftproxy"] def process(self, instance): diff --git a/openpype/hosts/houdini/plugins/publish/collect_output_node.py b/openpype/hosts/houdini/plugins/publish/collect_output_node.py index 938ee81cc3..0130c0a8da 100644 --- a/openpype/hosts/houdini/plugins/publish/collect_output_node.py +++ b/openpype/hosts/houdini/plugins/publish/collect_output_node.py @@ -12,6 +12,7 @@ class CollectOutputSOPPath(pyblish.api.InstancePlugin): "imagesequence", "usd", "usdrender", + "redshiftproxy" ] hosts = ["houdini"] @@ -54,6 +55,8 @@ class CollectOutputSOPPath(pyblish.api.InstancePlugin): else: out_node = node.parm("loppath").evalAsNode() + elif node_type == "Redshift_Proxy_Output": + out_node = node.parm("RS_archive_sopPath").evalAsNode() else: raise ValueError( "ROP node type '%s' is" " not supported." % node_type diff --git a/openpype/hosts/houdini/plugins/publish/extract_redshift_proxy.py b/openpype/hosts/houdini/plugins/publish/extract_redshift_proxy.py new file mode 100644 index 0000000000..eb7e0d5677 --- /dev/null +++ b/openpype/hosts/houdini/plugins/publish/extract_redshift_proxy.py @@ -0,0 +1,48 @@ +import os + +import pyblish.api +import openpype.api +from openpype.hosts.houdini.api.lib import render_rop + + +class ExtractRedshiftProxy(openpype.api.Extractor): + + order = pyblish.api.ExtractorOrder + 0.1 + label = "Extract Redshift Proxy" + families = ["redshiftproxy"] + hosts = ["houdini"] + + def process(self, instance): + + ropnode = instance[0] + + # Get the filename from the filename parameter + # `.evalParm(parameter)` will make sure all tokens are resolved + output = ropnode.evalParm("RS_archive_file") + staging_dir = os.path.normpath(os.path.dirname(output)) + instance.data["stagingDir"] = staging_dir + file_name = os.path.basename(output) + + self.log.info("Writing Redshift Proxy '%s' to '%s'" % (file_name, + staging_dir)) + + render_rop(ropnode) + + output = instance.data["frames"] + + if "representations" not in instance.data: + instance.data["representations"] = [] + + representation = { + "name": "rs", + "ext": "rs", + "files": output, + "stagingDir": staging_dir, + } + + # A single frame may also be rendered without start/end frame. + if "frameStart" in instance.data and "frameEnd" in instance.data: + representation["frameStart"] = instance.data["frameStart"] + representation["frameEnd"] = instance.data["frameEnd"] + + instance.data["representations"].append(representation) \ No newline at end of file From be1453b4e7971ad3f20f87de0167865b38746340 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Tue, 17 May 2022 17:27:40 +0200 Subject: [PATCH 02/70] Fix new line --- .../hosts/houdini/plugins/publish/extract_redshift_proxy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/hosts/houdini/plugins/publish/extract_redshift_proxy.py b/openpype/hosts/houdini/plugins/publish/extract_redshift_proxy.py index eb7e0d5677..c754d60c59 100644 --- a/openpype/hosts/houdini/plugins/publish/extract_redshift_proxy.py +++ b/openpype/hosts/houdini/plugins/publish/extract_redshift_proxy.py @@ -45,4 +45,4 @@ class ExtractRedshiftProxy(openpype.api.Extractor): representation["frameStart"] = instance.data["frameStart"] representation["frameEnd"] = instance.data["frameEnd"] - instance.data["representations"].append(representation) \ No newline at end of file + instance.data["representations"].append(representation) From 0f84e7d92a661f99e347bedb110928f014b37eec Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Tue, 17 May 2022 17:28:40 +0200 Subject: [PATCH 03/70] Remove unused import --- openpype/hosts/houdini/plugins/create/create_redshift_proxy.py | 1 - 1 file changed, 1 deletion(-) diff --git a/openpype/hosts/houdini/plugins/create/create_redshift_proxy.py b/openpype/hosts/houdini/plugins/create/create_redshift_proxy.py index 52c81240fa..da4d80bf2b 100644 --- a/openpype/hosts/houdini/plugins/create/create_redshift_proxy.py +++ b/openpype/hosts/houdini/plugins/create/create_redshift_proxy.py @@ -1,4 +1,3 @@ -import hou from openpype.hosts.houdini.api import plugin From 9cb5372d69e30e35a441c952178bb1aa2802e5a7 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Mon, 13 Jun 2022 16:29:09 +0200 Subject: [PATCH 04/70] use client functions to query data in standalone publisher plugins --- .../publish/collect_bulk_mov_instances.py | 11 +++--- .../plugins/publish/collect_hierarchy.py | 36 ++++++++++--------- .../plugins/publish/collect_matching_asset.py | 5 +-- .../publish/validate_task_existence.py | 20 ++++------- 4 files changed, 33 insertions(+), 39 deletions(-) diff --git a/openpype/hosts/standalonepublisher/plugins/publish/collect_bulk_mov_instances.py b/openpype/hosts/standalonepublisher/plugins/publish/collect_bulk_mov_instances.py index 3e7fb19c00..052a97af7d 100644 --- a/openpype/hosts/standalonepublisher/plugins/publish/collect_bulk_mov_instances.py +++ b/openpype/hosts/standalonepublisher/plugins/publish/collect_bulk_mov_instances.py @@ -3,7 +3,7 @@ import json import pyblish.api from openpype.lib import get_subset_name_with_asset_doc -from openpype.pipeline import legacy_io +from openpype.client import get_asset_by_name class CollectBulkMovInstances(pyblish.api.InstancePlugin): @@ -24,12 +24,9 @@ class CollectBulkMovInstances(pyblish.api.InstancePlugin): def process(self, instance): context = instance.context + project_name = context.data["projectEntity"]["name"] asset_name = instance.data["asset"] - - asset_doc = legacy_io.find_one({ - "type": "asset", - "name": asset_name - }) + asset_doc = get_asset_by_name(project_name, asset_name) if not asset_doc: raise AssertionError(( "Couldn't find Asset document with name \"{}\"" @@ -52,7 +49,7 @@ class CollectBulkMovInstances(pyblish.api.InstancePlugin): self.subset_name_variant, task_name, asset_doc, - legacy_io.Session["AVALON_PROJECT"] + project_name ) instance_name = f"{asset_name}_{subset_name}" diff --git a/openpype/hosts/standalonepublisher/plugins/publish/collect_hierarchy.py b/openpype/hosts/standalonepublisher/plugins/publish/collect_hierarchy.py index 77163651c4..78e63f7ef0 100644 --- a/openpype/hosts/standalonepublisher/plugins/publish/collect_hierarchy.py +++ b/openpype/hosts/standalonepublisher/plugins/publish/collect_hierarchy.py @@ -3,7 +3,7 @@ import re from copy import deepcopy import pyblish.api -from openpype.pipeline import legacy_io +from openpype.client import get_asset_by_id, get_project class CollectHierarchyInstance(pyblish.api.ContextPlugin): @@ -61,27 +61,32 @@ class CollectHierarchyInstance(pyblish.api.ContextPlugin): **instance.data["anatomyData"]) def create_hierarchy(self, instance): - parents = list() - hierarchy = list() - visual_hierarchy = [instance.context.data["assetEntity"]] + asset_doc = instance.context.data["assetEntity"] + project_doc = instance.context.data["projectEntity"] + project_name = project_doc["name"] + visual_hierarchy = [asset_doc] + current_doc = asset_doc while True: - visual_parent = legacy_io.find_one( - {"_id": visual_hierarchy[-1]["data"]["visualParent"]} - ) - if visual_parent: - visual_hierarchy.append(visual_parent) - else: - visual_hierarchy.append( - instance.context.data["projectEntity"]) + visual_parent_id = current_doc["data"]["visualParent"] + visual_parent = None + if visual_parent_id: + visual_parent = get_asset_by_id(project_name, visual_parent_id) + + if not visual_parent: + visual_hierarchy.append(project_doc) break + visual_hierarchy.append(visual_parent) + current_doc = visual_parent # add current selection context hierarchy from standalonepublisher + parents = list() for entity in reversed(visual_hierarchy): parents.append({ "entity_type": entity["data"]["entityType"], "entity_name": entity["name"] }) + hierarchy = list() if self.shot_add_hierarchy: parent_template_patern = re.compile(r"\{([a-z]*?)\}") # fill the parents parts from presets @@ -129,9 +134,8 @@ class CollectHierarchyInstance(pyblish.api.ContextPlugin): self.log.debug(f"Hierarchy: {hierarchy}") self.log.debug(f"parents: {parents}") + tasks_to_add = dict() if self.shot_add_tasks: - tasks_to_add = dict() - project_doc = legacy_io.find_one({"type": "project"}) project_tasks = project_doc["config"]["tasks"] for task_name, task_data in self.shot_add_tasks.items(): _task_data = deepcopy(task_data) @@ -150,9 +154,7 @@ class CollectHierarchyInstance(pyblish.api.ContextPlugin): task_name, list(project_tasks.keys()))) - instance.data["tasks"] = tasks_to_add - else: - instance.data["tasks"] = dict() + instance.data["tasks"] = tasks_to_add # updating hierarchy data instance.data["anatomyData"].update({ diff --git a/openpype/hosts/standalonepublisher/plugins/publish/collect_matching_asset.py b/openpype/hosts/standalonepublisher/plugins/publish/collect_matching_asset.py index 9d94bfdc91..82d7247b2b 100644 --- a/openpype/hosts/standalonepublisher/plugins/publish/collect_matching_asset.py +++ b/openpype/hosts/standalonepublisher/plugins/publish/collect_matching_asset.py @@ -4,7 +4,7 @@ import collections import pyblish.api from pprint import pformat -from openpype.pipeline import legacy_io +from openpype.client import get_assets class CollectMatchingAssetToInstance(pyblish.api.InstancePlugin): @@ -119,8 +119,9 @@ class CollectMatchingAssetToInstance(pyblish.api.InstancePlugin): def _asset_docs_by_parent_id(self, instance): # Query all assets for project and store them by parent's id to list + project_name = instance.context.data["projectEntity"]["name"] asset_docs_by_parent_id = collections.defaultdict(list) - for asset_doc in legacy_io.find({"type": "asset"}): + for asset_doc in get_assets(project_name): parent_id = asset_doc["data"]["visualParent"] asset_docs_by_parent_id[parent_id].append(asset_doc) return asset_docs_by_parent_id diff --git a/openpype/hosts/standalonepublisher/plugins/publish/validate_task_existence.py b/openpype/hosts/standalonepublisher/plugins/publish/validate_task_existence.py index 4c761c7a4c..19ea1a4778 100644 --- a/openpype/hosts/standalonepublisher/plugins/publish/validate_task_existence.py +++ b/openpype/hosts/standalonepublisher/plugins/publish/validate_task_existence.py @@ -1,9 +1,7 @@ import pyblish.api -from openpype.pipeline import ( - PublishXmlValidationError, - legacy_io, -) +from openpype.client import get_assets +from openpype.pipeline import PublishXmlValidationError class ValidateTaskExistence(pyblish.api.ContextPlugin): @@ -20,15 +18,11 @@ class ValidateTaskExistence(pyblish.api.ContextPlugin): for instance in context: asset_names.add(instance.data["asset"]) - asset_docs = legacy_io.find( - { - "type": "asset", - "name": {"$in": list(asset_names)} - }, - { - "name": 1, - "data.tasks": 1 - } + project_name = context.data["projectEntity"]["name"] + asset_docs = get_assets( + project_name, + asset_names=asset_names, + fields=["name", "data.tasks"] ) tasks_by_asset_names = {} for asset_doc in asset_docs: From c01f65a9176413a388248986950162d21428da91 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Mon, 13 Jun 2022 17:02:34 +0200 Subject: [PATCH 05/70] removed unused import --- .../standalonepublisher/plugins/publish/collect_hierarchy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/hosts/standalonepublisher/plugins/publish/collect_hierarchy.py b/openpype/hosts/standalonepublisher/plugins/publish/collect_hierarchy.py index 78e63f7ef0..7922ca7f31 100644 --- a/openpype/hosts/standalonepublisher/plugins/publish/collect_hierarchy.py +++ b/openpype/hosts/standalonepublisher/plugins/publish/collect_hierarchy.py @@ -3,7 +3,7 @@ import re from copy import deepcopy import pyblish.api -from openpype.client import get_asset_by_id, get_project +from openpype.client import get_asset_by_id class CollectHierarchyInstance(pyblish.api.ContextPlugin): From 7c7c1486a401f2b260f013bf3c9dce0b3f123575 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Mon, 13 Jun 2022 18:15:28 +0200 Subject: [PATCH 06/70] use own rest api endpoint instead of using private from avalon --- .../webserver_service/webpublish_routes.py | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py b/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py index 70324fc39c..fcf9f10ffe 100644 --- a/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py +++ b/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py @@ -17,14 +17,24 @@ from openpype.lib.remote_publish import ( REPROCESS_STATUS ) from openpype.pipeline import AvalonMongoDB -from openpype_modules.avalon_apps.rest_api import _RestApiEndpoint from openpype.settings import get_project_settings +from openpype_modules.webserver.base_routes import RestApiEndpoint log = PypeLogger.get_logger("WebServer") +class ResourceRestApiEndpoint(RestApiEndpoint): + def __init__(self, resource): + self.resource = resource + super(ResourceRestApiEndpoint, self).__init__() + + @property + def dbcon(self): + return self.resource.dbcon + + class RestApiResource: """Resource carrying needed info and Avalon DB connection for publish.""" def __init__(self, server_manager, executable, upload_dir, @@ -67,7 +77,7 @@ class OpenPypeRestApiResource(RestApiResource): self.dbcon = mongo_client[database_name]["webpublishes"] -class ProjectsEndpoint(_RestApiEndpoint): +class ProjectsEndpoint(ResourceRestApiEndpoint): """Returns list of dict with project info (id, name).""" async def get(self) -> Response: output = [] @@ -84,7 +94,7 @@ class ProjectsEndpoint(_RestApiEndpoint): ) -class HiearchyEndpoint(_RestApiEndpoint): +class HiearchyEndpoint(ResourceRestApiEndpoint): """Returns dictionary with context tree from assets.""" async def get(self, project_name) -> Response: query_projection = { @@ -183,7 +193,7 @@ class TaskNode(Node): self["attributes"] = {} -class BatchPublishEndpoint(_RestApiEndpoint): +class BatchPublishEndpoint(ResourceRestApiEndpoint): """Triggers headless publishing of batch.""" async def post(self, request) -> Response: # Validate existence of openpype executable @@ -288,7 +298,7 @@ class BatchPublishEndpoint(_RestApiEndpoint): ) -class TaskPublishEndpoint(_RestApiEndpoint): +class TaskPublishEndpoint(ResourceRestApiEndpoint): """Prepared endpoint triggered after each task - for future development.""" async def post(self, request) -> Response: return Response( @@ -298,7 +308,7 @@ class TaskPublishEndpoint(_RestApiEndpoint): ) -class BatchStatusEndpoint(_RestApiEndpoint): +class BatchStatusEndpoint(ResourceRestApiEndpoint): """Returns dict with info for batch_id.""" async def get(self, batch_id) -> Response: output = self.dbcon.find_one({"batch_id": batch_id}) @@ -318,7 +328,7 @@ class BatchStatusEndpoint(_RestApiEndpoint): ) -class UserReportEndpoint(_RestApiEndpoint): +class UserReportEndpoint(ResourceRestApiEndpoint): """Returns list of dict with batch info for user (email address).""" async def get(self, user) -> Response: output = list(self.dbcon.find({"user": user}, @@ -338,7 +348,7 @@ class UserReportEndpoint(_RestApiEndpoint): ) -class ConfiguredExtensionsEndpoint(_RestApiEndpoint): +class ConfiguredExtensionsEndpoint(ResourceRestApiEndpoint): """Returns dict of extensions which have mapping to family. Returns: @@ -378,7 +388,7 @@ class ConfiguredExtensionsEndpoint(_RestApiEndpoint): ) -class BatchReprocessEndpoint(_RestApiEndpoint): +class BatchReprocessEndpoint(ResourceRestApiEndpoint): """Marks latest 'batch_id' for reprocessing, returns 404 if not found.""" async def post(self, batch_id) -> Response: batches = self.dbcon.find({"batch_id": batch_id, From 00c3554a5c1be7c07f48e6d018e275e2defd714f Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Mon, 13 Jun 2022 18:18:16 +0200 Subject: [PATCH 07/70] renamed 'OpenPypeRestApiResource' to 'WebpublishRestApiResource' --- .../webserver_service/webpublish_routes.py | 9 ++++----- .../webserver_service/webserver_cli.py | 15 +++++++-------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py b/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py index fcf9f10ffe..d4aca1a797 100644 --- a/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py +++ b/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py @@ -20,9 +20,7 @@ from openpype.pipeline import AvalonMongoDB from openpype.settings import get_project_settings from openpype_modules.webserver.base_routes import RestApiEndpoint - - -log = PypeLogger.get_logger("WebServer") +log = PypeLogger.get_logger("WebpublishRoutes") class ResourceRestApiEndpoint(RestApiEndpoint): @@ -69,9 +67,10 @@ class RestApiResource: ).encode("utf-8") -class OpenPypeRestApiResource(RestApiResource): +class WebpublishRestApiResource: """Resource carrying OP DB connection for storing batch info into DB.""" - def __init__(self, ): + + def __init__(self): mongo_client = OpenPypeMongoConnection.get_mongo_client() database_name = os.environ["OPENPYPE_DATABASE_NAME"] self.dbcon = mongo_client[database_name]["webpublishes"] diff --git a/openpype/hosts/webpublisher/webserver_service/webserver_cli.py b/openpype/hosts/webpublisher/webserver_service/webserver_cli.py index 909ea38bc6..f18aac1168 100644 --- a/openpype/hosts/webpublisher/webserver_service/webserver_cli.py +++ b/openpype/hosts/webpublisher/webserver_service/webserver_cli.py @@ -10,7 +10,7 @@ from openpype.lib import PypeLogger from .webpublish_routes import ( RestApiResource, - OpenPypeRestApiResource, + WebpublishRestApiResource, HiearchyEndpoint, ProjectsEndpoint, ConfiguredExtensionsEndpoint, @@ -27,7 +27,7 @@ from openpype.lib.remote_publish import ( ) -log = PypeLogger().get_logger("webserver_gui") +log = PypeLogger.get_logger("webserver_gui") def run_webserver(*args, **kwargs): @@ -86,27 +86,26 @@ def run_webserver(*args, **kwargs): ) # reporting - openpype_resource = OpenPypeRestApiResource() - batch_status_endpoint = BatchStatusEndpoint(openpype_resource) + webpublish_resource = WebpublishRestApiResource() + batch_status_endpoint = BatchStatusEndpoint(webpublish_resource) server_manager.add_route( "GET", "/api/batch_status/{batch_id}", batch_status_endpoint.dispatch ) - user_status_endpoint = UserReportEndpoint(openpype_resource) + user_status_endpoint = UserReportEndpoint(webpublish_resource) server_manager.add_route( "GET", "/api/publishes/{user}", user_status_endpoint.dispatch ) - webpublisher_batch_reprocess_endpoint = \ - BatchReprocessEndpoint(openpype_resource) + batch_reprocess_endpoint = BatchReprocessEndpoint(webpublish_resource) server_manager.add_route( "POST", "/api/webpublish/reprocess/{batch_id}", - webpublisher_batch_reprocess_endpoint.dispatch + batch_reprocess_endpoint.dispatch ) server_manager.start_server() From 444b8aa67347121b44762120768fa6b84249eb3d Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Mon, 13 Jun 2022 18:19:35 +0200 Subject: [PATCH 08/70] use query functions from client --- .../webserver_service/webpublish_routes.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py b/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py index d4aca1a797..cfbb0939b5 100644 --- a/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py +++ b/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py @@ -2,11 +2,15 @@ import os import json import datetime -from bson.objectid import ObjectId import collections -from aiohttp.web_response import Response import subprocess +from bson.objectid import ObjectId +from aiohttp.web_response import Response +from openpype.client import ( + get_projects, + get_assets, +) from openpype.lib import ( OpenPypeMongoConnection, PypeLogger, @@ -80,7 +84,7 @@ class ProjectsEndpoint(ResourceRestApiEndpoint): """Returns list of dict with project info (id, name).""" async def get(self) -> Response: output = [] - for project_doc in self.dbcon.projects(): + for project_doc in get_projects(): ret_val = { "id": project_doc["_id"], "name": project_doc["name"] @@ -105,10 +109,7 @@ class HiearchyEndpoint(ResourceRestApiEndpoint): "type": 1, } - asset_docs = self.dbcon.database[project_name].find( - {"type": "asset"}, - query_projection - ) + asset_docs = get_assets(project_name, field=query_projection.keys()) asset_docs_by_id = { asset_doc["_id"]: asset_doc for asset_doc in asset_docs From 840f1a431490f0dea02b8e5f9990cc8f5451e1f3 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Mon, 13 Jun 2022 18:20:15 +0200 Subject: [PATCH 09/70] separated endpoints to those with dbcon and without --- .../webserver_service/webpublish_routes.py | 36 ++++++++++++------- .../webserver_service/webserver_cli.py | 6 ++-- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py b/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py index cfbb0939b5..b1041bf6cb 100644 --- a/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py +++ b/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py @@ -20,7 +20,6 @@ from openpype.lib.remote_publish import ( ERROR_STATUS, REPROCESS_STATUS ) -from openpype.pipeline import AvalonMongoDB from openpype.settings import get_project_settings from openpype_modules.webserver.base_routes import RestApiEndpoint @@ -32,6 +31,8 @@ class ResourceRestApiEndpoint(RestApiEndpoint): self.resource = resource super(ResourceRestApiEndpoint, self).__init__() + +class WebpublishApiEndpoint(ResourceRestApiEndpoint): @property def dbcon(self): return self.resource.dbcon @@ -49,9 +50,6 @@ class RestApiResource: studio_task_queue = collections.deque().dequeu self.studio_task_queue = studio_task_queue - self.dbcon = AvalonMongoDB() - self.dbcon.install() - @staticmethod def json_dump_handler(value): if isinstance(value, datetime.datetime): @@ -193,7 +191,7 @@ class TaskNode(Node): self["attributes"] = {} -class BatchPublishEndpoint(ResourceRestApiEndpoint): +class BatchPublishEndpoint(WebpublishApiEndpoint): """Triggers headless publishing of batch.""" async def post(self, request) -> Response: # Validate existence of openpype executable @@ -298,7 +296,7 @@ class BatchPublishEndpoint(ResourceRestApiEndpoint): ) -class TaskPublishEndpoint(ResourceRestApiEndpoint): +class TaskPublishEndpoint(WebpublishApiEndpoint): """Prepared endpoint triggered after each task - for future development.""" async def post(self, request) -> Response: return Response( @@ -308,8 +306,12 @@ class TaskPublishEndpoint(ResourceRestApiEndpoint): ) -class BatchStatusEndpoint(ResourceRestApiEndpoint): - """Returns dict with info for batch_id.""" +class BatchStatusEndpoint(WebpublishApiEndpoint): + """Returns dict with info for batch_id. + + Uses 'WebpublishRestApiResource'. + """ + async def get(self, batch_id) -> Response: output = self.dbcon.find_one({"batch_id": batch_id}) @@ -328,8 +330,12 @@ class BatchStatusEndpoint(ResourceRestApiEndpoint): ) -class UserReportEndpoint(ResourceRestApiEndpoint): - """Returns list of dict with batch info for user (email address).""" +class UserReportEndpoint(WebpublishApiEndpoint): + """Returns list of dict with batch info for user (email address). + + Uses 'WebpublishRestApiResource'. + """ + async def get(self, user) -> Response: output = list(self.dbcon.find({"user": user}, projection={"log": False})) @@ -348,7 +354,7 @@ class UserReportEndpoint(ResourceRestApiEndpoint): ) -class ConfiguredExtensionsEndpoint(ResourceRestApiEndpoint): +class ConfiguredExtensionsEndpoint(WebpublishApiEndpoint): """Returns dict of extensions which have mapping to family. Returns: @@ -388,8 +394,12 @@ class ConfiguredExtensionsEndpoint(ResourceRestApiEndpoint): ) -class BatchReprocessEndpoint(ResourceRestApiEndpoint): - """Marks latest 'batch_id' for reprocessing, returns 404 if not found.""" +class BatchReprocessEndpoint(WebpublishApiEndpoint): + """Marks latest 'batch_id' for reprocessing, returns 404 if not found. + + Uses 'WebpublishRestApiResource'. + """ + async def post(self, batch_id) -> Response: batches = self.dbcon.find({"batch_id": batch_id, "status": ERROR_STATUS}).sort("_id", -1) diff --git a/openpype/hosts/webpublisher/webserver_service/webserver_cli.py b/openpype/hosts/webpublisher/webserver_service/webserver_cli.py index f18aac1168..1ed8f22b2c 100644 --- a/openpype/hosts/webpublisher/webserver_service/webserver_cli.py +++ b/openpype/hosts/webpublisher/webserver_service/webserver_cli.py @@ -69,16 +69,14 @@ def run_webserver(*args, **kwargs): ) # triggers publish - webpublisher_task_publish_endpoint = \ - BatchPublishEndpoint(resource) + webpublisher_task_publish_endpoint = BatchPublishEndpoint(resource) server_manager.add_route( "POST", "/api/webpublish/batch", webpublisher_task_publish_endpoint.dispatch ) - webpublisher_batch_publish_endpoint = \ - TaskPublishEndpoint(resource) + webpublisher_batch_publish_endpoint = TaskPublishEndpoint(resource) server_manager.add_route( "POST", "/api/webpublish/task", From d4e78369f019a8ebc46dd3702d8efc676d4f4473 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Tue, 14 Jun 2022 14:03:12 +0200 Subject: [PATCH 10/70] added new function to retrieve only archived assets --- openpype/client/__init__.py | 2 + openpype/client/entities.py | 83 +++++++++++++++++++++++++++++++++++-- 2 files changed, 82 insertions(+), 3 deletions(-) diff --git a/openpype/client/__init__.py b/openpype/client/__init__.py index 16b1dcf321..e3b4ef5132 100644 --- a/openpype/client/__init__.py +++ b/openpype/client/__init__.py @@ -5,6 +5,7 @@ from .entities import ( get_asset_by_id, get_asset_by_name, get_assets, + get_archived_assets, get_asset_ids_with_subsets, get_subset_by_id, @@ -41,6 +42,7 @@ __all__ = ( "get_asset_by_id", "get_asset_by_name", "get_assets", + "get_archived_assets", "get_asset_ids_with_subsets", "get_subset_by_id", diff --git a/openpype/client/entities.py b/openpype/client/entities.py index a56288c1e8..0827e12288 100644 --- a/openpype/client/entities.py +++ b/openpype/client/entities.py @@ -135,8 +135,16 @@ def get_asset_by_name(project_name, asset_name, fields=None): return conn.find_one(query_filter, _prepare_fields(fields)) -def get_assets( - project_name, asset_ids=None, asset_names=None, archived=False, fields=None +# NOTE this could be just public function? +# - any better variable name instead of 'standard'? +# - same approach can be used for rest of types +def _get_assets( + project_name, + asset_ids=None, + asset_names=None, + standard=True, + archived=False, + fields=None ): """Assets for specified project by passed filters. @@ -149,6 +157,8 @@ def get_assets( project_name (str): Name of project where to look for queried entities. asset_ids (list[str|ObjectId]): Asset ids that should be found. asset_names (list[str]): Name assets that should be found. + standard (bool): Query standart assets (type 'asset'). + archived (bool): Query archived assets (type 'archived_asset'). fields (list[str]): Fields that should be returned. All fields are returned if 'None' is passed. @@ -157,10 +167,15 @@ def get_assets( passed filters. """ - asset_types = ["asset"] + asset_types = [] + if standard: + asset_types.append("asset") if archived: asset_types.append("archived_asset") + if not asset_types: + return [] + if len(asset_types) == 1: query_filter = {"type": asset_types[0]} else: @@ -182,6 +197,68 @@ def get_assets( return conn.find(query_filter, _prepare_fields(fields)) +def get_assets( + project_name, + asset_ids=None, + asset_names=None, + archived=False, + fields=None +): + """Assets for specified project by passed filters. + + Passed filters (ids and names) are always combined so all conditions must + match. + + To receive all assets from project just keep filters empty. + + Args: + project_name (str): Name of project where to look for queried entities. + asset_ids (list[str|ObjectId]): Asset ids that should be found. + asset_names (list[str]): Name assets that should be found. + archived (bool): Add also archived assets. + fields (list[str]): Fields that should be returned. All fields are + returned if 'None' is passed. + + Returns: + Cursor: Query cursor as iterable which returns asset documents matching + passed filters. + """ + + return _get_assets( + project_name, asset_ids, asset_names, True, archived, fields + ) + + +def get_archived_assets( + project_name, + asset_ids=None, + asset_names=None, + fields=None +): + """Archived assets for specified project by passed filters. + + Passed filters (ids and names) are always combined so all conditions must + match. + + To receive all archived assets from project just keep filters empty. + + Args: + project_name (str): Name of project where to look for queried entities. + asset_ids (list[str|ObjectId]): Asset ids that should be found. + asset_names (list[str]): Name assets that should be found. + fields (list[str]): Fields that should be returned. All fields are + returned if 'None' is passed. + + Returns: + Cursor: Query cursor as iterable which returns asset documents matching + passed filters. + """ + + return _get_assets( + project_name, asset_ids, asset_names, False, True, fields + ) + + def get_asset_ids_with_subsets(project_name, asset_ids=None): """Find out which assets have existing subsets. From a57318823310729b281ced80390d8dad8f786fb5 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Tue, 14 Jun 2022 14:03:40 +0200 Subject: [PATCH 11/70] use query functions in sync to avalon event --- .../event_sync_to_avalon.py | 53 ++++++++----------- 1 file changed, 23 insertions(+), 30 deletions(-) diff --git a/openpype/modules/ftrack/event_handlers_server/event_sync_to_avalon.py b/openpype/modules/ftrack/event_handlers_server/event_sync_to_avalon.py index b5f199b3e4..a4e791aaf0 100644 --- a/openpype/modules/ftrack/event_handlers_server/event_sync_to_avalon.py +++ b/openpype/modules/ftrack/event_handlers_server/event_sync_to_avalon.py @@ -12,6 +12,12 @@ from pymongo import UpdateOne import arrow import ftrack_api +from openpype.client import ( + get_project, + get_assets, + get_archived_assets, + get_asset_ids_with_subsets +) from openpype.pipeline import AvalonMongoDB, schema from openpype_modules.ftrack.lib import ( @@ -149,12 +155,11 @@ class SyncToAvalonEvent(BaseEvent): @property def avalon_entities(self): if self._avalon_ents is None: + project_name = self.cur_project["full_name"] self.dbcon.install() - self.dbcon.Session["AVALON_PROJECT"] = ( - self.cur_project["full_name"] - ) - avalon_project = self.dbcon.find_one({"type": "project"}) - avalon_entities = list(self.dbcon.find({"type": "asset"})) + self.dbcon.Session["AVALON_PROJECT"] = project_name + avalon_project = get_project(project_name) + avalon_entities = list(get_assets(project_name)) self._avalon_ents = (avalon_project, avalon_entities) return self._avalon_ents @@ -284,28 +289,21 @@ class SyncToAvalonEvent(BaseEvent): self._avalon_ents_by_ftrack_id[ftrack_id] = doc @property - def avalon_subsets_by_parents(self): - if self._avalon_subsets_by_parents is None: - self._avalon_subsets_by_parents = collections.defaultdict(list) - self.dbcon.install() - self.dbcon.Session["AVALON_PROJECT"] = ( - self.cur_project["full_name"] + def avalon_asset_ids_with_subsets(self): + if self._avalon_asset_ids_with_subsets is None: + project_name = self.cur_project["full_name"] + self._avalon_asset_ids_with_subsets = get_asset_ids_with_subsets( + project_name ) - for subset in self.dbcon.find({"type": "subset"}): - self._avalon_subsets_by_parents[subset["parent"]].append( - subset - ) - return self._avalon_subsets_by_parents + + return self._avalon_asset_ids_with_subsets @property def avalon_archived_by_id(self): if self._avalon_archived_by_id is None: self._avalon_archived_by_id = {} - self.dbcon.install() - self.dbcon.Session["AVALON_PROJECT"] = ( - self.cur_project["full_name"] - ) - for asset in self.dbcon.find({"type": "archived_asset"}): + project_name = self.cur_project["full_name"] + for asset in get_archived_assets(project_name): self._avalon_archived_by_id[asset["_id"]] = asset return self._avalon_archived_by_id @@ -327,7 +325,7 @@ class SyncToAvalonEvent(BaseEvent): avalon_project, avalon_entities = self.avalon_entities self._changeability_by_mongo_id[avalon_project["_id"]] = False self._bubble_changeability( - list(self.avalon_subsets_by_parents.keys()) + list(self.avalon_asset_ids_with_subsets) ) return self._changeability_by_mongo_id @@ -449,14 +447,9 @@ class SyncToAvalonEvent(BaseEvent): if not entity: # if entity is not found then it is subset without parent if entity_id in unchangeable_ids: - _subset_ids = [ - str(sub["_id"]) for sub in - self.avalon_subsets_by_parents[entity_id] - ] - joined_subset_ids = "| ".join(_subset_ids) self.log.warning(( - "Parent <{}> for subsets <{}> does not exist" - ).format(str(entity_id), joined_subset_ids)) + "Parent <{}> with subsets does not exist" + ).format(str(entity_id))) else: self.log.warning(( "In avalon are entities without valid parents that" @@ -483,7 +476,7 @@ class SyncToAvalonEvent(BaseEvent): self._avalon_ents_by_parent_id = None self._avalon_ents_by_ftrack_id = None self._avalon_ents_by_name = None - self._avalon_subsets_by_parents = None + self._avalon_asset_ids_with_subsets = None self._changeability_by_mongo_id = None self._avalon_archived_by_id = None self._avalon_archived_by_name = None From 177be6880f7bcf1de63a39ed07cd26a742345236 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Tue, 14 Jun 2022 14:34:31 +0200 Subject: [PATCH 12/70] added versions argument to get_versions --- openpype/client/entities.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/openpype/client/entities.py b/openpype/client/entities.py index 0827e12288..6e1f4c556b 100644 --- a/openpype/client/entities.py +++ b/openpype/client/entities.py @@ -505,6 +505,7 @@ def _get_versions( project_name, subset_ids=None, version_ids=None, + versions=None, standard=True, hero=False, fields=None @@ -535,6 +536,16 @@ def _get_versions( return [] query_filter["_id"] = {"$in": version_ids} + if versions is not None: + versions = list(versions) + if not versions: + return [] + + if len(versions) == 1: + query_filter["name"] = versions[0] + else: + query_filter["name"] = {"$in": versions} + conn = _get_project_connection(project_name) return conn.find(query_filter, _prepare_fields(fields)) @@ -544,6 +555,7 @@ def get_versions( project_name, version_ids=None, subset_ids=None, + versions=None, hero=False, fields=None ): @@ -557,6 +569,8 @@ def get_versions( Filter ignored if 'None' is passed. subset_ids (list[str]): Subset ids that will be queried. Filter ignored if 'None' is passed. + versions (list[int]): Version names (as integers). + Filter ignored if 'None' is passed. hero (bool): Look also for hero versions. fields (list[str]): Fields that should be returned. All fields are returned if 'None' is passed. @@ -569,6 +583,7 @@ def get_versions( project_name, subset_ids, version_ids, + versions, standard=True, hero=hero, fields=fields From e6ddd6797d0ee9689d57b8bfd1e585dc55babffc Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Tue, 14 Jun 2022 15:30:29 +0200 Subject: [PATCH 13/70] use query functions in prepare project --- .../action_prepare_project.py | 14 ++++---------- .../event_handlers_user/action_prepare_project.py | 14 ++++---------- 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/openpype/modules/ftrack/event_handlers_server/action_prepare_project.py b/openpype/modules/ftrack/event_handlers_server/action_prepare_project.py index 975e49cb28..361aa98d16 100644 --- a/openpype/modules/ftrack/event_handlers_server/action_prepare_project.py +++ b/openpype/modules/ftrack/event_handlers_server/action_prepare_project.py @@ -1,8 +1,8 @@ import json +from openpype.client import get_project from openpype.api import ProjectSettings from openpype.lib import create_project -from openpype.pipeline import AvalonMongoDB from openpype.settings import SaveWarningExc from openpype_modules.ftrack.lib import ( @@ -363,12 +363,8 @@ class PrepareProjectServer(ServerAction): project_name = project_entity["full_name"] # Try to find project document - dbcon = AvalonMongoDB() - dbcon.install() - dbcon.Session["AVALON_PROJECT"] = project_name - project_doc = dbcon.find_one({ - "type": "project" - }) + project_doc = get_project(project_name) + # Create project if is not available # - creation is required to be able set project anatomy and attributes if not project_doc: @@ -376,9 +372,7 @@ class PrepareProjectServer(ServerAction): self.log.info("Creating project \"{} [{}]\"".format( project_name, project_code )) - create_project(project_name, project_code, dbcon=dbcon) - - dbcon.uninstall() + create_project(project_name, project_code) project_settings = ProjectSettings(project_name) project_anatomy_settings = project_settings["project_anatomy"] diff --git a/openpype/modules/ftrack/event_handlers_user/action_prepare_project.py b/openpype/modules/ftrack/event_handlers_user/action_prepare_project.py index 0b14e7aa2b..e9dc11de9f 100644 --- a/openpype/modules/ftrack/event_handlers_user/action_prepare_project.py +++ b/openpype/modules/ftrack/event_handlers_user/action_prepare_project.py @@ -1,8 +1,8 @@ import json +from openpype.client import get_project from openpype.api import ProjectSettings from openpype.lib import create_project -from openpype.pipeline import AvalonMongoDB from openpype.settings import SaveWarningExc from openpype_modules.ftrack.lib import ( @@ -389,12 +389,8 @@ class PrepareProjectLocal(BaseAction): project_name = project_entity["full_name"] # Try to find project document - dbcon = AvalonMongoDB() - dbcon.install() - dbcon.Session["AVALON_PROJECT"] = project_name - project_doc = dbcon.find_one({ - "type": "project" - }) + project_doc = get_project(project_name) + # Create project if is not available # - creation is required to be able set project anatomy and attributes if not project_doc: @@ -402,9 +398,7 @@ class PrepareProjectLocal(BaseAction): self.log.info("Creating project \"{} [{}]\"".format( project_name, project_code )) - create_project(project_name, project_code, dbcon=dbcon) - - dbcon.uninstall() + create_project(project_name, project_code) project_settings = ProjectSettings(project_name) project_anatomy_settings = project_settings["project_anatomy"] From 77d496d88bc1a4c7e0aea436512d695ee72c92bd Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Tue, 14 Jun 2022 16:05:51 +0200 Subject: [PATCH 14/70] use query in applications action --- .../ftrack/event_handlers_user/action_applications.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/openpype/modules/ftrack/event_handlers_user/action_applications.py b/openpype/modules/ftrack/event_handlers_user/action_applications.py index b25bc1b5cb..102f04c956 100644 --- a/openpype/modules/ftrack/event_handlers_user/action_applications.py +++ b/openpype/modules/ftrack/event_handlers_user/action_applications.py @@ -1,5 +1,6 @@ import os +from openpype.client import get_project from openpype_modules.ftrack.lib import BaseAction from openpype.lib.applications import ( ApplicationManager, @@ -7,7 +8,6 @@ from openpype.lib.applications import ( ApplictionExecutableNotFound, CUSTOM_LAUNCH_APP_GROUPS ) -from openpype.pipeline import AvalonMongoDB class AppplicationsAction(BaseAction): @@ -25,7 +25,6 @@ class AppplicationsAction(BaseAction): super(AppplicationsAction, self).__init__(*args, **kwargs) self.application_manager = ApplicationManager() - self.dbcon = AvalonMongoDB() @property def discover_identifier(self): @@ -110,12 +109,7 @@ class AppplicationsAction(BaseAction): if avalon_project_doc is None: ft_project = self.get_project_from_entity(entity) project_name = ft_project["full_name"] - if not self.dbcon.is_installed(): - self.dbcon.install() - self.dbcon.Session["AVALON_PROJECT"] = project_name - avalon_project_doc = self.dbcon.find_one({ - "type": "project" - }) or False + avalon_project_doc = get_project(project_name) or False event["data"]["avalon_project_doc"] = avalon_project_doc if not avalon_project_doc: From 7945ca0011c54eaed02655c64481c8dc2dd6bd6d Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Tue, 14 Jun 2022 16:06:12 +0200 Subject: [PATCH 15/70] use query functions in delete old versions action --- .../action_delete_old_versions.py | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/openpype/modules/ftrack/event_handlers_user/action_delete_old_versions.py b/openpype/modules/ftrack/event_handlers_user/action_delete_old_versions.py index a0bf6622e9..3400c509ab 100644 --- a/openpype/modules/ftrack/event_handlers_user/action_delete_old_versions.py +++ b/openpype/modules/ftrack/event_handlers_user/action_delete_old_versions.py @@ -5,7 +5,12 @@ import uuid import clique from pymongo import UpdateOne - +from openpype.client import ( + get_assets, + get_subsets, + get_versions, + get_representations +) from openpype.api import Anatomy from openpype.lib import StringTemplate, TemplateUnsolved from openpype.pipeline import AvalonMongoDB @@ -198,10 +203,9 @@ class DeleteOldVersions(BaseAction): self.log.debug("Project is set to {}".format(project_name)) # Get Assets from avalon database - assets = list(self.dbcon.find({ - "type": "asset", - "name": {"$in": avalon_asset_names} - })) + assets = list( + get_assets(project_name, asset_names=avalon_asset_names) + ) asset_id_to_name_map = { asset["_id"]: asset["name"] for asset in assets } @@ -210,10 +214,9 @@ class DeleteOldVersions(BaseAction): self.log.debug("Collected assets ({})".format(len(asset_ids))) # Get Subsets - subsets = list(self.dbcon.find({ - "type": "subset", - "parent": {"$in": asset_ids} - })) + subsets = list( + get_subsets(project_name, asset_ids=asset_ids) + ) subsets_by_id = {} subset_ids = [] for subset in subsets: @@ -230,10 +233,9 @@ class DeleteOldVersions(BaseAction): self.log.debug("Collected subsets ({})".format(len(subset_ids))) # Get Versions - versions = list(self.dbcon.find({ - "type": "version", - "parent": {"$in": subset_ids} - })) + versions = list( + get_versions(project_name, subset_ids=subset_ids) + ) versions_by_parent = collections.defaultdict(list) for ent in versions: @@ -295,10 +297,9 @@ class DeleteOldVersions(BaseAction): "message": msg } - repres = list(self.dbcon.find({ - "type": "representation", - "parent": {"$in": version_ids} - })) + repres = list( + get_representations(project_name, version_ids=version_ids) + ) self.log.debug( "Collected representations to remove ({})".format(len(repres)) From af0b97fafe625ad1094627435c22e33e5881a2d8 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Tue, 14 Jun 2022 16:07:47 +0200 Subject: [PATCH 16/70] use query functions in delivery action --- .../event_handlers_user/action_delivery.py | 152 ++++++++---------- 1 file changed, 66 insertions(+), 86 deletions(-) diff --git a/openpype/modules/ftrack/event_handlers_user/action_delivery.py b/openpype/modules/ftrack/event_handlers_user/action_delivery.py index 86d88ef7cc..47f2853820 100644 --- a/openpype/modules/ftrack/event_handlers_user/action_delivery.py +++ b/openpype/modules/ftrack/event_handlers_user/action_delivery.py @@ -3,8 +3,13 @@ import copy import json import collections -from bson.objectid import ObjectId - +from openpype.client import ( + get_project, + get_assets, + get_subsets, + get_versions, + get_representations +) from openpype.api import Anatomy, config from openpype_modules.ftrack.lib import BaseAction, statics_icon from openpype_modules.ftrack.lib.avalon_sync import CUST_ATTR_ID_KEY @@ -18,11 +23,9 @@ from openpype.lib.delivery import ( process_single_file, process_sequence ) -from openpype.pipeline import AvalonMongoDB class Delivery(BaseAction): - identifier = "delivery.action" label = "Delivery" description = "Deliver data to client" @@ -30,11 +33,6 @@ class Delivery(BaseAction): icon = statics_icon("ftrack", "action_icons", "Delivery.svg") settings_key = "delivery_action" - def __init__(self, *args, **kwargs): - self.dbcon = AvalonMongoDB() - - super(Delivery, self).__init__(*args, **kwargs) - def discover(self, session, entities, event): is_valid = False for entity in entities: @@ -57,9 +55,7 @@ class Delivery(BaseAction): project_entity = self.get_project_from_entity(entities[0]) project_name = project_entity["full_name"] - self.dbcon.install() - self.dbcon.Session["AVALON_PROJECT"] = project_name - project_doc = self.dbcon.find_one({"type": "project"}, {"name": True}) + project_doc = get_project(project_name, fields=["name"]) if not project_doc: return { "success": False, @@ -68,8 +64,7 @@ class Delivery(BaseAction): ).format(project_name) } - repre_names = self._get_repre_names(session, entities) - self.dbcon.uninstall() + repre_names = self._get_repre_names(project_name, session, entities) items.append({ "type": "hidden", @@ -198,17 +193,21 @@ class Delivery(BaseAction): "title": title } - def _get_repre_names(self, session, entities): - version_ids = self._get_interest_version_ids(session, entities) + def _get_repre_names(self, project_name, session, entities): + version_ids = self._get_interest_version_ids( + project_name, session, entities + ) if not version_ids: return [] - repre_docs = self.dbcon.find({ - "type": "representation", - "parent": {"$in": version_ids} - }) - return list(sorted(repre_docs.distinct("name"))) + repre_docs = get_representations( + project_name, + version_ids=version_ids, + fields=["name"] + ) + repre_names = {repre_doc["name"] for repre_doc in repre_docs} + return list(sorted(repre_names)) - def _get_interest_version_ids(self, session, entities): + def _get_interest_version_ids(self, project_name, session, entities): # Extract AssetVersion entities asset_versions = self._extract_asset_versions(session, entities) # Prepare Asset ids @@ -235,14 +234,18 @@ class Delivery(BaseAction): subset_names.add(asset["name"]) version_nums.add(asset_version["version"]) - asset_docs_by_ftrack_id = self._get_asset_docs(session, parent_ids) + asset_docs_by_ftrack_id = self._get_asset_docs( + project_name, session, parent_ids + ) subset_docs = self._get_subset_docs( + project_name, asset_docs_by_ftrack_id, subset_names, asset_versions, assets_by_id ) version_docs = self._get_version_docs( + project_name, asset_docs_by_ftrack_id, subset_docs, version_nums, @@ -290,6 +293,7 @@ class Delivery(BaseAction): def _get_version_docs( self, + project_name, asset_docs_by_ftrack_id, subset_docs, version_nums, @@ -300,11 +304,11 @@ class Delivery(BaseAction): subset_doc["_id"]: subset_doc for subset_doc in subset_docs } - version_docs = list(self.dbcon.find({ - "type": "version", - "parent": {"$in": list(subset_docs_by_id.keys())}, - "name": {"$in": list(version_nums)} - })) + version_docs = list(get_versions( + project_name, + subset_ids=subset_docs_by_id.keys(), + versions=version_nums + )) version_docs_by_parent_id = collections.defaultdict(dict) for version_doc in version_docs: subset_doc = subset_docs_by_id[version_doc["parent"]] @@ -345,6 +349,7 @@ class Delivery(BaseAction): def _get_subset_docs( self, + project_name, asset_docs_by_ftrack_id, subset_names, asset_versions, @@ -354,11 +359,11 @@ class Delivery(BaseAction): asset_doc["_id"] for asset_doc in asset_docs_by_ftrack_id.values() ] - subset_docs = list(self.dbcon.find({ - "type": "subset", - "parent": {"$in": asset_doc_ids}, - "name": {"$in": list(subset_names)} - })) + subset_docs = list(get_subsets( + project_name, + asset_ids=asset_doc_ids, + subset_names=subset_names + )) subset_docs_by_parent_id = collections.defaultdict(dict) for subset_doc in subset_docs: asset_id = subset_doc["parent"] @@ -385,15 +390,21 @@ class Delivery(BaseAction): filtered_subsets.append(subset_doc) return filtered_subsets - def _get_asset_docs(self, session, parent_ids): - asset_docs = list(self.dbcon.find({ - "type": "asset", - "data.ftrackId": {"$in": list(parent_ids)} - })) + def _get_asset_docs(self, project_name, session, parent_ids): + asset_docs = list(get_assets( + project_name, fields=["_id", "name", "data.ftrackId"] + )) + asset_docs_by_id = {} + asset_docs_by_name = {} asset_docs_by_ftrack_id = {} for asset_doc in asset_docs: + asset_id = str(asset_doc["_id"]) + asset_name = asset_doc["name"] ftrack_id = asset_doc["data"].get("ftrackId") + + asset_docs_by_id[asset_id] = asset_doc + asset_docs_by_name[asset_name] = asset_doc if ftrack_id: asset_docs_by_ftrack_id[ftrack_id] = asset_doc @@ -406,15 +417,15 @@ class Delivery(BaseAction): avalon_mongo_id_values = query_custom_attributes( session, [attr_def["id"]], parent_ids, True ) - entity_ids_by_mongo_id = { - ObjectId(item["value"]): item["entity_id"] - for item in avalon_mongo_id_values - if item["value"] - } - missing_ids = set(parent_ids) - for entity_id in set(entity_ids_by_mongo_id.values()): - if entity_id in missing_ids: + for item in avalon_mongo_id_values: + if not item["value"]: + continue + asset_id = item["value"] + entity_id = item["entity_id"] + asset_doc = asset_docs_by_id.get(asset_id) + if asset_doc: + asset_docs_by_ftrack_id[entity_id] = asset_doc missing_ids.remove(entity_id) entity_ids_by_name = {} @@ -427,36 +438,10 @@ class Delivery(BaseAction): for entity in not_found_entities } - expressions = [] - if entity_ids_by_mongo_id: - expression = { - "type": "asset", - "_id": {"$in": list(entity_ids_by_mongo_id.keys())} - } - expressions.append(expression) - - if entity_ids_by_name: - expression = { - "type": "asset", - "name": {"$in": list(entity_ids_by_name.keys())} - } - expressions.append(expression) - - if expressions: - if len(expressions) == 1: - filter = expressions[0] - else: - filter = {"$or": expressions} - - asset_docs = self.dbcon.find(filter) - for asset_doc in asset_docs: - if asset_doc["_id"] in entity_ids_by_mongo_id: - entity_id = entity_ids_by_mongo_id[asset_doc["_id"]] - asset_docs_by_ftrack_id[entity_id] = asset_doc - - elif asset_doc["name"] in entity_ids_by_name: - entity_id = entity_ids_by_name[asset_doc["name"]] - asset_docs_by_ftrack_id[entity_id] = asset_doc + for asset_name, entity_id in entity_ids_by_name.items(): + asset_doc = asset_docs_by_name.get(asset_name) + if asset_doc: + asset_docs_by_ftrack_id[entity_id] = asset_doc return asset_docs_by_ftrack_id @@ -490,7 +475,6 @@ class Delivery(BaseAction): session.commit() try: - self.dbcon.install() report = self.real_launch(session, entities, event) except Exception as exc: @@ -516,7 +500,6 @@ class Delivery(BaseAction): else: job["status"] = "failed" session.commit() - self.dbcon.uninstall() if not report["success"]: self.show_interface( @@ -558,16 +541,13 @@ class Delivery(BaseAction): if not os.path.exists(location_path): os.makedirs(location_path) - self.dbcon.Session["AVALON_PROJECT"] = project_name - self.log.debug("Collecting representations to process.") version_ids = self._get_interest_version_ids(session, entities) - repres_to_deliver = list(self.dbcon.find({ - "type": "representation", - "parent": {"$in": version_ids}, - "name": {"$in": repre_names} - })) - + repres_to_deliver = list(get_representations( + project_name, + representation_names=repre_names, + version_ids=version_ids + )) anatomy = Anatomy(project_name) format_dict = get_format_dict(anatomy, location_path) From ac48f50fdffb2e1650ce3681679b3ad822b3889c Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Tue, 14 Jun 2022 16:07:58 +0200 Subject: [PATCH 17/70] use query action in fill workfile attribute --- .../event_handlers_user/action_fill_workfile_attr.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/openpype/modules/ftrack/event_handlers_user/action_fill_workfile_attr.py b/openpype/modules/ftrack/event_handlers_user/action_fill_workfile_attr.py index c7237a1150..d30c41a749 100644 --- a/openpype/modules/ftrack/event_handlers_user/action_fill_workfile_attr.py +++ b/openpype/modules/ftrack/event_handlers_user/action_fill_workfile_attr.py @@ -7,6 +7,10 @@ import datetime import ftrack_api +from openpype.client import ( + get_project, + get_assets, +) from openpype.api import get_project_settings from openpype.lib import ( get_workfile_template_key, @@ -14,7 +18,6 @@ from openpype.lib import ( Anatomy, StringTemplate, ) -from openpype.pipeline import AvalonMongoDB from openpype_modules.ftrack.lib import BaseAction, statics_icon from openpype_modules.ftrack.lib.avalon_sync import create_chunks @@ -248,10 +251,8 @@ class FillWorkfileAttributeAction(BaseAction): # Find matchin asset documents and map them by ftrack task entities # - result stored to 'asset_docs_with_task_entities' is list with # tuple `(asset document, [task entitis, ...])` - dbcon = AvalonMongoDB() - dbcon.Session["AVALON_PROJECT"] = project_name # Quety all asset documents - asset_docs = list(dbcon.find({"type": "asset"})) + asset_docs = list(get_assets(project_name)) job_entity["data"] = json.dumps({ "description": "(1/3) Asset documents queried." }) @@ -276,7 +277,7 @@ class FillWorkfileAttributeAction(BaseAction): # Keep placeholders in the template unfilled host_name = "{app}" extension = "{ext}" - project_doc = dbcon.find_one({"type": "project"}) + project_doc = get_project(project_name) project_settings = get_project_settings(project_name) anatomy = Anatomy(project_name) templates_by_key = {} From dd07bbe9b248cf0096e318c25fa73365217222fb Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Tue, 14 Jun 2022 16:31:32 +0200 Subject: [PATCH 18/70] use query functions in event user assiment --- .../event_user_assigment.py | 23 ++++--------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/openpype/modules/ftrack/event_handlers_server/event_user_assigment.py b/openpype/modules/ftrack/event_handlers_server/event_user_assigment.py index 593fc5e596..82b79e986b 100644 --- a/openpype/modules/ftrack/event_handlers_server/event_user_assigment.py +++ b/openpype/modules/ftrack/event_handlers_server/event_user_assigment.py @@ -1,11 +1,9 @@ import re import subprocess +from openpype.client import get_asset_by_id, get_asset_by_name from openpype_modules.ftrack.lib import BaseEvent from openpype_modules.ftrack.lib.avalon_sync import CUST_ATTR_ID_KEY -from openpype.pipeline import AvalonMongoDB - -from bson.objectid import ObjectId from openpype.api import Anatomy, get_project_settings @@ -36,8 +34,6 @@ class UserAssigmentEvent(BaseEvent): 3) path to publish files of task user was (de)assigned to """ - db_con = AvalonMongoDB() - def error(self, *err): for e in err: self.log.error(e) @@ -101,26 +97,16 @@ class UserAssigmentEvent(BaseEvent): :rtype: dict """ parent = task['parent'] - self.db_con.install() - self.db_con.Session['AVALON_PROJECT'] = task['project']['full_name'] - + project_name = task["project"]["full_name"] avalon_entity = None parent_id = parent['custom_attributes'].get(CUST_ATTR_ID_KEY) if parent_id: - parent_id = ObjectId(parent_id) - avalon_entity = self.db_con.find_one({ - '_id': parent_id, - 'type': 'asset' - }) + avalon_entity = get_asset_by_id(project_name, parent_id) if not avalon_entity: - avalon_entity = self.db_con.find_one({ - 'type': 'asset', - 'name': parent['name'] - }) + avalon_entity = get_asset_by_name(project_name, parent["name"]) if not avalon_entity: - self.db_con.uninstall() msg = 'Entity "{}" not found in avalon database'.format( parent['name'] ) @@ -129,7 +115,6 @@ class UserAssigmentEvent(BaseEvent): 'success': False, 'message': msg } - self.db_con.uninstall() return avalon_entity def _get_hierarchy(self, asset): From 951a23484e98c1831063c81306ed9f298f957ce5 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Tue, 14 Jun 2022 16:31:51 +0200 Subject: [PATCH 19/70] use query functions in RV action --- .../ftrack/event_handlers_user/action_rv.py | 71 +++++++++++-------- 1 file changed, 40 insertions(+), 31 deletions(-) diff --git a/openpype/modules/ftrack/event_handlers_user/action_rv.py b/openpype/modules/ftrack/event_handlers_user/action_rv.py index 040ca75582..2480ea7f95 100644 --- a/openpype/modules/ftrack/event_handlers_user/action_rv.py +++ b/openpype/modules/ftrack/event_handlers_user/action_rv.py @@ -5,9 +5,16 @@ import json import ftrack_api +from openpype.client import ( + get_asset_by_name, + get_subset_by_name, + get_version_by_name, + get_representation_by_name +) +from openpype.api import Anatomy from openpype.pipeline import ( get_representation_path, - legacy_io, + AvalonMongoDB, ) from openpype_modules.ftrack.lib import BaseAction, statics_icon @@ -255,9 +262,10 @@ class RVAction(BaseAction): "Component", list(event["data"]["values"].values())[0] )["version"]["asset"]["parent"]["link"][0] project = session.get(link["type"], link["id"]) - os.environ["AVALON_PROJECT"] = project["name"] - legacy_io.Session["AVALON_PROJECT"] = project["name"] - legacy_io.install() + project_name = project["full_name"] + dbcon = AvalonMongoDB() + dbcon.Session["AVALON_PROJECT"] = project_name + anatomy = Anatomy(project_name) location = ftrack_api.Session().pick_location() @@ -281,37 +289,38 @@ class RVAction(BaseAction): if online_source: continue - asset = legacy_io.find_one({"type": "asset", "name": parent_name}) - subset = legacy_io.find_one( - { - "type": "subset", - "name": component["version"]["asset"]["name"], - "parent": asset["_id"] - } + subset_name = component["version"]["asset"]["name"] + version_name = component["version"]["version"] + representation_name = component["file_type"][1:] + + asset_doc = get_asset_by_name( + project_name, parent_name, fields=["_id"] ) - version = legacy_io.find_one( - { - "type": "version", - "name": component["version"]["version"], - "parent": subset["_id"] - } + subset_doc = get_subset_by_name( + project_name, + subset_name=subset_name, + asset_id=asset_doc["_id"] ) - representation = legacy_io.find_one( - { - "type": "representation", - "parent": version["_id"], - "name": component["file_type"][1:] - } + version_doc = get_version_by_name( + project_name, + version=version_name, + subset_id=subset_doc["_id"] ) - if representation is None: - representation = legacy_io.find_one( - { - "type": "representation", - "parent": version["_id"], - "name": "preview" - } + repre_doc = get_representation_by_name( + project_name, + version_id=version_doc["_id"], + representation_name=representation_name + ) + if not repre_doc: + repre_doc = get_representation_by_name( + project_name, + version_id=version_doc["_id"], + representation_name="preview" ) - paths.append(get_representation_path(representation)) + + paths.append(get_representation_path( + repre_doc, root=anatomy.roots, dbcon=dbcon + )) return paths From 38f058fca0ffaeef4cbe888433e3593fb282b048 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Tue, 14 Jun 2022 16:32:34 +0200 Subject: [PATCH 20/70] use query functions in delete asset action --- .../action_delete_asset.py | 97 +++++++++---------- 1 file changed, 45 insertions(+), 52 deletions(-) diff --git a/openpype/modules/ftrack/event_handlers_user/action_delete_asset.py b/openpype/modules/ftrack/event_handlers_user/action_delete_asset.py index ee5c3d0d97..b5b4ec5ac5 100644 --- a/openpype/modules/ftrack/event_handlers_user/action_delete_asset.py +++ b/openpype/modules/ftrack/event_handlers_user/action_delete_asset.py @@ -4,6 +4,7 @@ from datetime import datetime from bson.objectid import ObjectId +from openpype.client import get_assets, get_subsets from openpype.pipeline import AvalonMongoDB from openpype_modules.ftrack.lib import BaseAction, statics_icon from openpype_modules.ftrack.lib.avalon_sync import create_chunks @@ -91,11 +92,9 @@ class DeleteAssetSubset(BaseAction): continue ftrack_id = entity.get("entityId") - if not ftrack_id: - continue - - ftrack_ids.append(ftrack_id) - + if ftrack_id: + ftrack_ids.append(ftrack_id) + if project_in_selection: msg = "It is not possible to use this action on project entity." self.show_message(event, msg, True) @@ -120,48 +119,49 @@ class DeleteAssetSubset(BaseAction): "message": "Invalid selection for this action (Bug)" } - if entities[0].entity_type.lower() == "project": - project = entities[0] - else: - project = entities[0]["project"] - + project = self.get_project_from_entity(entities[0], session) project_name = project["full_name"] self.dbcon.Session["AVALON_PROJECT"] = project_name - selected_av_entities = list(self.dbcon.find({ - "type": "asset", - "data.ftrackId": {"$in": ftrack_ids} - })) + asset_docs = list(get_assets( + project_name, + fields=["_id", "name", "data.ftrackId", "data.parents"] + )) + selected_av_entities = [] + found_ftrack_ids = set() + asset_docs_by_name = collections.defaultdict(list) + for asset_doc in asset_docs: + ftrack_id = asset_doc["data"].get("ftrackId") + if ftrack_id: + found_ftrack_ids.add(ftrack_id) + selected_av_entities.append(asset_doc) + + asset_name = asset_doc["name"] + asset_docs_by_name[asset_name].append(asset_doc) + found_without_ftrack_id = {} - if len(selected_av_entities) != len(ftrack_ids): - found_ftrack_ids = [ - ent["data"]["ftrackId"] for ent in selected_av_entities - ] - for ftrack_id, entity in entity_mapping.items(): - if ftrack_id in found_ftrack_ids: + for ftrack_id, entity in entity_mapping.items(): + if ftrack_id in found_ftrack_ids: + continue + + av_ents_by_name = asset_docs_by_name[entity["name"]] + if not av_ents_by_name: + continue + + ent_path_items = [ent["name"] for ent in entity["link"]] + parents = ent_path_items[1:len(ent_path_items)-1:] + # TODO we should say to user that + # few of them are missing in avalon + for av_ent in av_ents_by_name: + if av_ent["data"]["parents"] != parents: continue - av_ents_by_name = list(self.dbcon.find({ - "type": "asset", - "name": entity["name"] - })) - if not av_ents_by_name: - continue - - ent_path_items = [ent["name"] for ent in entity["link"]] - parents = ent_path_items[1:len(ent_path_items)-1:] - # TODO we should say to user that - # few of them are missing in avalon - for av_ent in av_ents_by_name: - if av_ent["data"]["parents"] != parents: - continue - - # TODO we should say to user that found entity - # with same name does not match same ftrack id? - if "ftrackId" not in av_ent["data"]: - selected_av_entities.append(av_ent) - found_without_ftrack_id[str(av_ent["_id"])] = ftrack_id - break + # TODO we should say to user that found entity + # with same name does not match same ftrack id? + if "ftrackId" not in av_ent["data"]: + selected_av_entities.append(av_ent) + found_without_ftrack_id[str(av_ent["_id"])] = ftrack_id + break if not selected_av_entities: return { @@ -206,10 +206,7 @@ class DeleteAssetSubset(BaseAction): items.append(id_item) asset_ids = [ent["_id"] for ent in selected_av_entities] - subsets_for_selection = self.dbcon.find({ - "type": "subset", - "parent": {"$in": asset_ids} - }) + subsets_for_selection = get_subsets(project_name, asset_ids=asset_ids) asset_ending = "" if len(selected_av_entities) > 1: @@ -459,13 +456,9 @@ class DeleteAssetSubset(BaseAction): if len(assets_to_delete) > 0: map_av_ftrack_id = spec_data["without_ftrack_id"] # Prepare data when deleting whole avalon asset - avalon_assets = self.dbcon.find( - {"type": "asset"}, - { - "_id": 1, - "data.visualParent": 1, - "data.ftrackId": 1 - } + avalon_assets = get_assets( + project_name, + fields=["_id", "data.visualParent", "data.ftrackId"] ) avalon_assets_by_parent = collections.defaultdict(list) for asset in avalon_assets: From 46e22241bd8d7d61b427f9d0f4fff930cc7549a2 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Tue, 14 Jun 2022 16:32:55 +0200 Subject: [PATCH 21/70] use query functions in store thumbnails to avalon --- .../action_store_thumbnails_to_avalon.py | 56 ++++++++++--------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/openpype/modules/ftrack/event_handlers_user/action_store_thumbnails_to_avalon.py b/openpype/modules/ftrack/event_handlers_user/action_store_thumbnails_to_avalon.py index 62fdfa2bdd..d655dddcaf 100644 --- a/openpype/modules/ftrack/event_handlers_user/action_store_thumbnails_to_avalon.py +++ b/openpype/modules/ftrack/event_handlers_user/action_store_thumbnails_to_avalon.py @@ -5,6 +5,14 @@ import requests from bson.objectid import ObjectId +from openpype.client import ( + get_project, + get_asset_by_id, + get_assets, + get_subset_by_name, + get_version_by_name, + get_representations +) from openpype_modules.ftrack.lib import BaseAction, statics_icon from openpype.api import Anatomy from openpype.pipeline import AvalonMongoDB @@ -385,7 +393,7 @@ class StoreThumbnailsToAvalon(BaseAction): db_con.Session["AVALON_PROJECT"] = project_name - avalon_project = db_con.find_one({"type": "project"}) + avalon_project = get_project(project_name) output["project"] = avalon_project if not avalon_project: @@ -399,19 +407,17 @@ class StoreThumbnailsToAvalon(BaseAction): asset_mongo_id = parent["custom_attributes"].get(CUST_ATTR_ID_KEY) if asset_mongo_id: try: - asset_mongo_id = ObjectId(asset_mongo_id) - asset_ent = db_con.find_one({ - "type": "asset", - "_id": asset_mongo_id - }) + asset_ent = get_asset_by_id(project_name, asset_mongo_id) except Exception: pass if not asset_ent: - asset_ent = db_con.find_one({ - "type": "asset", - "data.ftrackId": parent["id"] - }) + asset_docs = get_assets(project_name, asset_names=[parent["name"]]) + for asset_doc in asset_docs: + ftrack_id = asset_doc.get("data", {}).get("ftrackId") + if ftrack_id == parent["id"]: + asset_ent = asset_doc + break output["asset"] = asset_ent @@ -422,13 +428,11 @@ class StoreThumbnailsToAvalon(BaseAction): ) return output - asset_mongo_id = asset_ent["_id"] - - subset_ent = db_con.find_one({ - "type": "subset", - "parent": asset_mongo_id, - "name": subset_name - }) + subset_ent = get_subset_by_name( + project_name, + subset_name=subset_name, + asset_id=asset_ent["_id"] + ) output["subset"] = subset_ent @@ -439,11 +443,11 @@ class StoreThumbnailsToAvalon(BaseAction): ).format(subset_name, ent_path) return output - version_ent = db_con.find_one({ - "type": "version", - "name": version, - "parent": subset_ent["_id"] - }) + version_ent = get_version_by_name( + project_name, + version, + subset_ent["_id"] + ) output["version"] = version_ent @@ -454,10 +458,10 @@ class StoreThumbnailsToAvalon(BaseAction): ).format(version, subset_name, ent_path) return output - repre_ents = list(db_con.find({ - "type": "representation", - "parent": version_ent["_id"] - })) + repre_ents = list(get_representations( + project_name, + version_ids=[version_ent["_id"]] + )) output["representations"] = repre_ents return output From be2238718b402b2428335b61643cf0bab2165776 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Tue, 14 Jun 2022 16:46:14 +0200 Subject: [PATCH 22/70] use query functions in avalon sync --- openpype/modules/ftrack/lib/avalon_sync.py | 70 +++++++++++----------- 1 file changed, 36 insertions(+), 34 deletions(-) diff --git a/openpype/modules/ftrack/lib/avalon_sync.py b/openpype/modules/ftrack/lib/avalon_sync.py index e4ba651bfd..68b5c62c53 100644 --- a/openpype/modules/ftrack/lib/avalon_sync.py +++ b/openpype/modules/ftrack/lib/avalon_sync.py @@ -6,6 +6,14 @@ import numbers import six +from openpype.client import ( + get_project, + get_assets, + get_archived_assets, + get_subsets, + get_versions, + get_representations +) from openpype.api import ( Logger, get_anatomy_settings @@ -576,6 +584,10 @@ class SyncEntitiesFactory: self.ft_project_id = ft_project_id self.entities_dict = entities_dict + @property + def project_name(self): + return self.entities_dict[self.ft_project_id]["name"] + @property def avalon_ents_by_id(self): """ @@ -660,9 +672,9 @@ class SyncEntitiesFactory: (list) of assets """ if self._avalon_archived_ents is None: - self._avalon_archived_ents = [ - ent for ent in self.dbcon.find({"type": "archived_asset"}) - ] + self._avalon_archived_ents = list( + get_archived_assets(self.project_name) + ) return self._avalon_archived_ents @property @@ -730,7 +742,7 @@ class SyncEntitiesFactory: """ if self._subsets_by_parent_id is None: self._subsets_by_parent_id = collections.defaultdict(list) - for subset in self.dbcon.find({"type": "subset"}): + for subset in get_subsets(self.project_name): self._subsets_by_parent_id[str(subset["parent"])].append( subset ) @@ -1421,8 +1433,8 @@ class SyncEntitiesFactory: # Avalon entities self.dbcon.install() self.dbcon.Session["AVALON_PROJECT"] = ft_project_name - avalon_project = self.dbcon.find_one({"type": "project"}) - avalon_entities = self.dbcon.find({"type": "asset"}) + avalon_project = get_project(ft_project_name) + avalon_entities = get_assets(ft_project_name) self.avalon_project = avalon_project self.avalon_entities = avalon_entities @@ -2258,46 +2270,37 @@ class SyncEntitiesFactory: self._delete_subsets_without_asset(subsets_to_remove) def _delete_subsets_without_asset(self, not_existing_parents): - subset_ids = [] - version_ids = [] repre_ids = [] to_delete = [] + subset_ids = [] for parent_id in not_existing_parents: subsets = self.subsets_by_parent_id.get(parent_id) if not subsets: continue for subset in subsets: - if subset.get("type") != "subset": - continue - subset_ids.append(subset["_id"]) + if subset.get("type") == "subset": + subset_ids.append(subset["_id"]) - db_subsets = self.dbcon.find({ - "_id": {"$in": subset_ids}, - "type": "subset" - }) - if not db_subsets: - return - - db_versions = self.dbcon.find({ - "parent": {"$in": subset_ids}, - "type": "version" - }) - if db_versions: - version_ids = [ver["_id"] for ver in db_versions] - - db_repres = self.dbcon.find({ - "parent": {"$in": version_ids}, - "type": "representation" - }) - if db_repres: - repre_ids = [repre["_id"] for repre in db_repres] + db_versions = get_versions( + self.project_name, + subset_ids=subset_ids, + fields=["_id"] + ) + version_ids = [ver["_id"] for ver in db_versions] + db_repres = get_representations( + self.project_name, + version_ids=version_ids, + fields=["_id"] + ) + repre_ids = [repre["_id"] for repre in db_repres] to_delete.extend(subset_ids) to_delete.extend(version_ids) to_delete.extend(repre_ids) - self.dbcon.delete_many({"_id": {"$in": to_delete}}) + if to_delete: + self.dbcon.delete_many({"_id": {"$in": to_delete}}) # Probably deprecated def _check_changeability(self, parent_id=None): @@ -2779,8 +2782,7 @@ class SyncEntitiesFactory: def report(self): items = [] - project_name = self.entities_dict[self.ft_project_id]["name"] - title = "Synchronization report ({}):".format(project_name) + title = "Synchronization report ({}):".format(self.project_name) keys = ["error", "warning", "info"] for key in keys: From ce63c7c96dd5b3c9ab28d766e87390f7c5334eb2 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Tue, 14 Jun 2022 16:46:27 +0200 Subject: [PATCH 23/70] use query functions in integrate ftrack hierarchy --- .../publish/integrate_hierarchy_ftrack.py | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/openpype/modules/ftrack/plugins/publish/integrate_hierarchy_ftrack.py b/openpype/modules/ftrack/plugins/publish/integrate_hierarchy_ftrack.py index 73398941eb..1a5d74bf26 100644 --- a/openpype/modules/ftrack/plugins/publish/integrate_hierarchy_ftrack.py +++ b/openpype/modules/ftrack/plugins/publish/integrate_hierarchy_ftrack.py @@ -3,7 +3,8 @@ import collections import six import pyblish.api from copy import deepcopy -from openpype.pipeline import legacy_io +from openpype.client import get_asset_by_id + # Copy of constant `openpype_modules.ftrack.lib.avalon_sync.CUST_ATTR_AUTO_SYNC` CUST_ATTR_AUTO_SYNC = "avalon_auto_sync" @@ -82,9 +83,6 @@ class IntegrateHierarchyToFtrack(pyblish.api.ContextPlugin): auto_sync_state = project[ "custom_attributes"][CUST_ATTR_AUTO_SYNC] - if not legacy_io.Session: - legacy_io.install() - self.ft_project = None # disable termporarily ftrack project's autosyncing @@ -93,14 +91,14 @@ class IntegrateHierarchyToFtrack(pyblish.api.ContextPlugin): try: # import ftrack hierarchy - self.import_to_ftrack(hierarchy_context) + self.import_to_ftrack(project_name, hierarchy_context) except Exception: raise finally: if auto_sync_state: self.auto_sync_on(project) - def import_to_ftrack(self, input_data, parent=None): + def import_to_ftrack(self, project_name, input_data, parent=None): # Prequery hiearchical custom attributes hier_custom_attributes = get_pype_attr(self.session)[1] hier_attr_by_key = { @@ -222,7 +220,7 @@ class IntegrateHierarchyToFtrack(pyblish.api.ContextPlugin): six.reraise(tp, value, tb) # Incoming links. - self.create_links(entity_data, entity) + self.create_links(project_name, entity_data, entity) try: self.session.commit() except Exception: @@ -255,9 +253,9 @@ class IntegrateHierarchyToFtrack(pyblish.api.ContextPlugin): # Import children. if 'childs' in entity_data: self.import_to_ftrack( - entity_data['childs'], entity) + project_name, entity_data['childs'], entity) - def create_links(self, entity_data, entity): + def create_links(self, project_name, entity_data, entity): # Clear existing links. for link in entity.get("incoming_links", []): self.session.delete(link) @@ -270,9 +268,15 @@ class IntegrateHierarchyToFtrack(pyblish.api.ContextPlugin): six.reraise(tp, value, tb) # Create new links. - for input in entity_data.get("inputs", []): - input_id = legacy_io.find_one({"_id": input})["data"]["ftrackId"] - assetbuild = self.session.get("AssetBuild", input_id) + for asset_id in entity_data.get("inputs", []): + asset_doc = get_asset_by_id(project_name, asset_id) + ftrack_id = None + if asset_doc: + ftrack_id = asset_doc["data"].get("ftrackId") + if not ftrack_id: + continue + + assetbuild = self.session.get("AssetBuild", ftrack_id) self.log.debug( "Creating link from {0} to {1}".format( assetbuild["name"], entity["name"] From 07751a929219f64d5514a42c30e0d466afadf345 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Tue, 14 Jun 2022 17:37:29 +0200 Subject: [PATCH 24/70] hound fixes --- .../ftrack/event_handlers_user/action_delete_asset.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/openpype/modules/ftrack/event_handlers_user/action_delete_asset.py b/openpype/modules/ftrack/event_handlers_user/action_delete_asset.py index b5b4ec5ac5..6dae3a4ca1 100644 --- a/openpype/modules/ftrack/event_handlers_user/action_delete_asset.py +++ b/openpype/modules/ftrack/event_handlers_user/action_delete_asset.py @@ -94,7 +94,7 @@ class DeleteAssetSubset(BaseAction): ftrack_id = entity.get("entityId") if ftrack_id: ftrack_ids.append(ftrack_id) - + if project_in_selection: msg = "It is not possible to use this action on project entity." self.show_message(event, msg, True) @@ -149,7 +149,8 @@ class DeleteAssetSubset(BaseAction): continue ent_path_items = [ent["name"] for ent in entity["link"]] - parents = ent_path_items[1:len(ent_path_items)-1:] + end_index = len(ent_path_items) - 1 + parents = ent_path_items[1:end_index:] # TODO we should say to user that # few of them are missing in avalon for av_ent in av_ents_by_name: From 180fd1f843b9a7d7fa9046964c1f155b17412c94 Mon Sep 17 00:00:00 2001 From: DMO Date: Wed, 15 Jun 2022 13:40:57 +0900 Subject: [PATCH 25/70] We want to strip namespaces by default for mvUsd. --- openpype/hosts/maya/plugins/create/create_multiverse_usd.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/hosts/maya/plugins/create/create_multiverse_usd.py b/openpype/hosts/maya/plugins/create/create_multiverse_usd.py index 034714d51b..adf0acc7c2 100644 --- a/openpype/hosts/maya/plugins/create/create_multiverse_usd.py +++ b/openpype/hosts/maya/plugins/create/create_multiverse_usd.py @@ -16,7 +16,7 @@ class CreateMultiverseUsd(plugin.Creator): self.data.update(lib.collect_animation_data(True)) self.data["fileFormat"] = ["usd", "usda", "usdz"] - self.data["stripNamespaces"] = False + self.data["stripNamespaces"] = True self.data["mergeTransformAndShape"] = False self.data["writeAncestors"] = True self.data["flattenParentXforms"] = False From 5af098d18afc6156165964fcd696e35afd0bf6be Mon Sep 17 00:00:00 2001 From: DMO Date: Wed, 15 Jun 2022 16:14:39 +0900 Subject: [PATCH 26/70] Adding Options to the main Studio Settings. --- .../defaults/project_settings/maya.json | 8 ++++ .../schemas/schema_maya_create.json | 38 +++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/openpype/settings/defaults/project_settings/maya.json b/openpype/settings/defaults/project_settings/maya.json index 4cdfe1ca5d..aaf47479b8 100644 --- a/openpype/settings/defaults/project_settings/maya.json +++ b/openpype/settings/defaults/project_settings/maya.json @@ -159,6 +159,14 @@ "defaults": [ "Main" ] + }, + "CreateMultiverseLook": { + "enabled": true, + "publish_mip_map": true + }, + "CreateMultiverseUsd": { + "enabled": true, + "strip_namespaces": true } }, "publish": { diff --git a/openpype/settings/entities/schemas/projects_schema/schemas/schema_maya_create.json b/openpype/settings/entities/schemas/projects_schema/schemas/schema_maya_create.json index 6dc10ed2a5..4dd54c81a0 100644 --- a/openpype/settings/entities/schemas/projects_schema/schemas/schema_maya_create.json +++ b/openpype/settings/entities/schemas/projects_schema/schemas/schema_maya_create.json @@ -124,6 +124,44 @@ ] }, + { + "type": "dict", + "collapsible": true, + "key": "CreateMultiverseLook", + "label": "Create Multiverse Look", + "checkbox_key": "enabled", + "children": [ + { + "type": "boolean", + "key": "enabled", + "label": "Enabled" + }, + { + "type": "boolean", + "key": "publish_mip_map", + "label": "Publish Mip Maps" + } + ] + }, + { + "type": "dict", + "collapsible": true, + "key": "CreateMultiverseUsd", + "label": "Create Multiverse USD", + "checkbox_key": "enabled", + "children": [ + { + "type": "boolean", + "key": "enabled", + "label": "Enabled" + }, + { + "type": "boolean", + "key": "strip_namespaces", + "label": "Strip Namespaces" + } + ] + }, { "type": "schema_template", "name": "template_create_plugin", From 1d22b862d1e95b56e64b8ae8db7234f7ed6eeb5e Mon Sep 17 00:00:00 2001 From: DMO Date: Wed, 15 Jun 2022 18:39:31 +0900 Subject: [PATCH 27/70] Adding ExtractAlembic to settings and setting the defaults to what they were, so nothing changes here except the option to remove certain items from families. --- .../defaults/project_settings/maya.json | 24 ++++++++++++------- .../schemas/schema_maya_publish.json | 24 +++++++++++++++++++ 2 files changed, 40 insertions(+), 8 deletions(-) diff --git a/openpype/settings/defaults/project_settings/maya.json b/openpype/settings/defaults/project_settings/maya.json index aaf47479b8..df54e44c56 100644 --- a/openpype/settings/defaults/project_settings/maya.json +++ b/openpype/settings/defaults/project_settings/maya.json @@ -65,6 +65,14 @@ "defaults": [], "joint_hints": "jnt_org" }, + "CreateMultiverseLook": { + "enabled": true, + "publish_mip_map": true + }, + "CreateMultiverseUsd": { + "enabled": true, + "strip_namespaces": true + }, "CreateAnimation": { "enabled": true, "defaults": [ @@ -159,14 +167,6 @@ "defaults": [ "Main" ] - }, - "CreateMultiverseLook": { - "enabled": true, - "publish_mip_map": true - }, - "CreateMultiverseUsd": { - "enabled": true, - "strip_namespaces": true } }, "publish": { @@ -383,6 +383,14 @@ "optional": true, "active": true }, + "ExtractAlembic": { + "enabled": true, + "families": [ + "pointcache", + "model", + "vrayproxy" + ] + }, "ValidateRigContents": { "enabled": false, "optional": true, diff --git a/openpype/settings/entities/schemas/projects_schema/schemas/schema_maya_publish.json b/openpype/settings/entities/schemas/projects_schema/schemas/schema_maya_publish.json index 2e5bc64e1c..bbe0418139 100644 --- a/openpype/settings/entities/schemas/projects_schema/schemas/schema_maya_publish.json +++ b/openpype/settings/entities/schemas/projects_schema/schemas/schema_maya_publish.json @@ -490,6 +490,30 @@ "label": "ValidateUniqueNames" } ] + }, + { + "type": "label", + "label": "Extractors" + }, + { + "type": "dict", + "collapsible": true, + "key": "ExtractAlembic", + "label": "Extract Alembic", + "checkbox_key": "enabled", + "children": [ + { + "type": "boolean", + "key": "enabled", + "label": "Enabled" + }, + { + "key": "families", + "label": "Families", + "type": "list", + "object_type": "text" + } + ] } ] }, From 21d68b0d13914a13bbfc12040ee342b260a116ce Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Wed, 15 Jun 2022 14:35:40 +0200 Subject: [PATCH 28/70] use get last version for subset in collect published files --- .../publish/collect_published_files.py | 74 ++++++------------- 1 file changed, 22 insertions(+), 52 deletions(-) diff --git a/openpype/hosts/webpublisher/plugins/publish/collect_published_files.py b/openpype/hosts/webpublisher/plugins/publish/collect_published_files.py index bdd3caccfd..20e277d794 100644 --- a/openpype/hosts/webpublisher/plugins/publish/collect_published_files.py +++ b/openpype/hosts/webpublisher/plugins/publish/collect_published_files.py @@ -13,9 +13,13 @@ import tempfile import math import pyblish.api + +from openpype.client import ( + get_asset_by_name, + get_last_version_by_subset_name +) from openpype.lib import ( prepare_template_data, - get_asset, get_ffprobe_streams, convert_ffprobe_fps_value, ) @@ -23,7 +27,6 @@ from openpype.lib.plugin_tools import ( parse_json, get_subset_name_with_asset_doc ) -from openpype.pipeline import legacy_io class CollectPublishedFiles(pyblish.api.ContextPlugin): @@ -56,8 +59,9 @@ class CollectPublishedFiles(pyblish.api.ContextPlugin): self.log.info("task_sub:: {}".format(task_subfolders)) + project_name = context.data["project_name"] asset_name = context.data["asset"] - asset_doc = get_asset() + asset_doc = get_asset_by_name(project_name, asset_name) task_name = context.data["task"] task_type = context.data["taskType"] project_name = context.data["project_name"] @@ -80,7 +84,9 @@ class CollectPublishedFiles(pyblish.api.ContextPlugin): family, variant, task_name, asset_doc, project_name=project_name, host_name="webpublisher" ) - version = self._get_last_version(asset_name, subset_name) + 1 + version = self._get_next_version( + project_name, asset_doc, subset_name + ) instance = context.create_instance(subset_name) instance.data["asset"] = asset_name @@ -219,55 +225,19 @@ class CollectPublishedFiles(pyblish.api.ContextPlugin): config["families"], config["tags"]) - def _get_last_version(self, asset_name, subset_name): - """Returns version number or 0 for 'asset' and 'subset'""" - query = [ - { - "$match": {"type": "asset", "name": asset_name} - }, - { - "$lookup": - { - "from": os.environ["AVALON_PROJECT"], - "localField": "_id", - "foreignField": "parent", - "as": "subsets" - } - }, - { - "$unwind": "$subsets" - }, - { - "$match": {"subsets.type": "subset", - "subsets.name": subset_name}}, - { - "$lookup": - { - "from": os.environ["AVALON_PROJECT"], - "localField": "subsets._id", - "foreignField": "parent", - "as": "versions" - } - }, - { - "$unwind": "$versions" - }, - { - "$group": { - "_id": { - "asset_name": "$name", - "subset_name": "$subsets.name" - }, - 'version': {'$max': "$versions.name"} - } - } - ] - version = list(legacy_io.aggregate(query)) + def _get_next_version(self, project_name, asset_doc, subset_name): + """Returns version number or 1 for 'asset' and 'subset'""" - if version: - return version[0].get("version") or 0 - else: - return 0 + version_doc = get_last_version_by_subset_name( + project_name, + subset_name, + asset_doc["_id"], + fields=["name"] + ) + version = 1 + if version_doc: + version += int(version_doc["name"]) + return version def _get_number_of_frames(self, file_url): """Return duration in frames""" From 75b6acb0a4af5491e5a38a287f8ead9f88381123 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Wed, 15 Jun 2022 18:47:58 +0200 Subject: [PATCH 29/70] OP-3214 - removed wrong targets on Extractor This caused missing extractors that should be running on a farm (Slate extractor for Nuke...). Explicitly set all plugins creating jobs on DL to be triggered only on local. --- openpype/api.py | 2 -- .../plugins/publish/submit_aftereffects_deadline.py | 1 + .../plugins/publish/submit_harmony_deadline.py | 1 + .../deadline/plugins/publish/submit_maya_deadline.py | 1 + .../publish/submit_maya_remote_publish_deadline.py | 3 ++- .../deadline/plugins/publish/submit_nuke_deadline.py | 1 + .../deadline/plugins/publish/submit_publish_job.py | 1 + openpype/plugin.py | 12 ------------ 8 files changed, 7 insertions(+), 15 deletions(-) diff --git a/openpype/api.py b/openpype/api.py index e049a683c6..9ce745b653 100644 --- a/openpype/api.py +++ b/openpype/api.py @@ -44,7 +44,6 @@ from . import resources from .plugin import ( Extractor, - Integrator, ValidatePipelineOrder, ValidateContentsOrder, @@ -87,7 +86,6 @@ __all__ = [ # plugin classes "Extractor", - "Integrator", # ordering "ValidatePipelineOrder", "ValidateContentsOrder", diff --git a/openpype/modules/deadline/plugins/publish/submit_aftereffects_deadline.py b/openpype/modules/deadline/plugins/publish/submit_aftereffects_deadline.py index b6584f239e..de8df3dd9e 100644 --- a/openpype/modules/deadline/plugins/publish/submit_aftereffects_deadline.py +++ b/openpype/modules/deadline/plugins/publish/submit_aftereffects_deadline.py @@ -33,6 +33,7 @@ class AfterEffectsSubmitDeadline( hosts = ["aftereffects"] families = ["render.farm"] # cannot be "render' as that is integrated use_published = True + targets = ["local"] priority = 50 chunk_size = 1000000 diff --git a/openpype/modules/deadline/plugins/publish/submit_harmony_deadline.py b/openpype/modules/deadline/plugins/publish/submit_harmony_deadline.py index 912f0f4026..2cf502224f 100644 --- a/openpype/modules/deadline/plugins/publish/submit_harmony_deadline.py +++ b/openpype/modules/deadline/plugins/publish/submit_harmony_deadline.py @@ -238,6 +238,7 @@ class HarmonySubmitDeadline( order = pyblish.api.IntegratorOrder + 0.1 hosts = ["harmony"] families = ["render.farm"] + targets = ["local"] optional = True use_published = False diff --git a/openpype/modules/deadline/plugins/publish/submit_maya_deadline.py b/openpype/modules/deadline/plugins/publish/submit_maya_deadline.py index 8562c85f7d..9964e3c646 100644 --- a/openpype/modules/deadline/plugins/publish/submit_maya_deadline.py +++ b/openpype/modules/deadline/plugins/publish/submit_maya_deadline.py @@ -287,6 +287,7 @@ class MayaSubmitDeadline(pyblish.api.InstancePlugin): order = pyblish.api.IntegratorOrder + 0.1 hosts = ["maya"] families = ["renderlayer"] + targets = ["local"] use_published = True tile_assembler_plugin = "OpenPypeTileAssembler" diff --git a/openpype/modules/deadline/plugins/publish/submit_maya_remote_publish_deadline.py b/openpype/modules/deadline/plugins/publish/submit_maya_remote_publish_deadline.py index 4f82818d6d..57572fcb24 100644 --- a/openpype/modules/deadline/plugins/publish/submit_maya_remote_publish_deadline.py +++ b/openpype/modules/deadline/plugins/publish/submit_maya_remote_publish_deadline.py @@ -10,7 +10,7 @@ import openpype.api import pyblish.api -class MayaSubmitRemotePublishDeadline(openpype.api.Integrator): +class MayaSubmitRemotePublishDeadline(pyblish.api.InstancePlugin): """Submit Maya scene to perform a local publish in Deadline. Publishing in Deadline can be helpful for scenes that publish very slow. @@ -31,6 +31,7 @@ class MayaSubmitRemotePublishDeadline(openpype.api.Integrator): order = pyblish.api.IntegratorOrder hosts = ["maya"] families = ["publish.farm"] + targets = ["local"] def process(self, instance): settings = get_project_settings(os.getenv("AVALON_PROJECT")) diff --git a/openpype/modules/deadline/plugins/publish/submit_nuke_deadline.py b/openpype/modules/deadline/plugins/publish/submit_nuke_deadline.py index 94c703d66d..ca68c87f9a 100644 --- a/openpype/modules/deadline/plugins/publish/submit_nuke_deadline.py +++ b/openpype/modules/deadline/plugins/publish/submit_nuke_deadline.py @@ -23,6 +23,7 @@ class NukeSubmitDeadline(pyblish.api.InstancePlugin): hosts = ["nuke", "nukestudio"] families = ["render.farm", "prerender.farm"] optional = True + targets = ["local"] # presets priority = 50 diff --git a/openpype/modules/deadline/plugins/publish/submit_publish_job.py b/openpype/modules/deadline/plugins/publish/submit_publish_job.py index 0583c25b57..860d9fd01b 100644 --- a/openpype/modules/deadline/plugins/publish/submit_publish_job.py +++ b/openpype/modules/deadline/plugins/publish/submit_publish_job.py @@ -103,6 +103,7 @@ class ProcessSubmittedJobOnFarm(pyblish.api.InstancePlugin): order = pyblish.api.IntegratorOrder + 0.2 icon = "tractor" deadline_plugin = "OpenPype" + targets = ["local"] hosts = ["fusion", "maya", "nuke", "celaction", "aftereffects", "harmony"] diff --git a/openpype/plugin.py b/openpype/plugin.py index 6637ad1d8b..bb9bc2ff85 100644 --- a/openpype/plugin.py +++ b/openpype/plugin.py @@ -18,16 +18,6 @@ class InstancePlugin(pyblish.api.InstancePlugin): super(InstancePlugin, cls).process(cls, *args, **kwargs) -class Integrator(InstancePlugin): - """Integrator base class. - - Wraps pyblish instance plugin. Targets set to "local" which means all - integrators should run on "local" publishes, by default. - "remote" targets could be used for integrators that should run externally. - """ - targets = ["local"] - - class Extractor(InstancePlugin): """Extractor base class. @@ -38,8 +28,6 @@ class Extractor(InstancePlugin): """ - targets = ["local"] - order = 2.0 def staging_dir(self, instance): From f87f461578b4eb2308aaff68d5576ff1743156cf Mon Sep 17 00:00:00 2001 From: pberto Date: Thu, 16 Jun 2022 15:07:01 +0900 Subject: [PATCH 30/70] docs: updated / simplified docs in light of upcoming changes --- website/docs/artist_hosts_maya_multiverse.md | 21 +++++++++++++++++- website/docs/assets/maya-multiverse_setup.png | Bin 164855 -> 458197 bytes 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/website/docs/artist_hosts_maya_multiverse.md b/website/docs/artist_hosts_maya_multiverse.md index e6520bafa0..a173e79125 100644 --- a/website/docs/artist_hosts_maya_multiverse.md +++ b/website/docs/artist_hosts_maya_multiverse.md @@ -65,6 +65,25 @@ the one depicted here: ![Maya - Multiverse Setup](assets/maya-multiverse_setup.png) + +``` +{ + "MULTIVERSE_PATH": "/Path/to/Multiverse-{MULTIVERSE_VERSION}", + "MAYA_MODULE_PATH": "{MULTIVERSE}/Maya;{MAYA_MODULE_PATH}" +} + +{ + "MULTIVERSE_VERSION": "7.1.0-py27" +} + +``` + +The Multiverse Maya module file (.mod) pointed above contains all the necessary +environment variables to run Multiverse. + +The OpenPype settings will contain blocks to enable/disable the Multiverse +Creators and Loader, along with sensible studio setting. + For more information about setup of Multiverse please refer to the relative page on the [Multiverse official documentation](https://multi-verse.io/docs). @@ -94,7 +113,7 @@ You can choose the USD file format in the Creators' set nodes: - Assets: `.usd` (default) or `.usda` or `.usdz` - Compositions: `.usda` (default) or `.usd` - Overrides: `.usda` (default) or `.usd` -- Looks: `.ma` +- Looks: `.ma` (default) ![Maya - Multiverse Asset Creator](assets/maya-multiverse_openpype_asset_creator.png) diff --git a/website/docs/assets/maya-multiverse_setup.png b/website/docs/assets/maya-multiverse_setup.png index 8aa89ef7e504272e7b5f9abbfea0ec0ca3d1d783..72bdb0d3798f5e7234812ae3d8d8e70e2dac1bdf 100644 GIT binary patch literal 458197 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

HTBs}V9(6pl^D4!Z% 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�I+5`6?ezxjcdNB~pt+w%?zc5fPz%bdYAu~y zGau!G=C?5}P8FA+doHI=SA*z%!S9b2YxRsKEL_z$H72yG_Ah}Z3S6cF=m%|VXtf_c zWh-kBC}8Y#lKSc$Y#sVnc5kL~Ei_e;#j^Iu983yaYj{xJa+r?=G6Dj&wDDq})|1g1 z_b)RPvK2q2rV#Hm_kCk)aj>&lO@`yc*m&zvP@C2V%_DC)k<-13Hrhg2xFfeIct`q9 zaF7C(s{{(Nsd6lpep}P)L-wyRWM*gWx$(DT=QoAqFWy)4>7bvmymR|r`9UC8w33>j z4^*?+nT&rLh#fG%O_G)bMhe=sqZs;`V2?zgNTC@M&ZW|QexDZ2p7y}v-J!VIXb;k@ zYTAf`$KzYR3+C$Z-2A%T71)G-gp5i-(5-WBMP53n9)pUIfHO_%nQf_=-2!ebdUa#_ z%`W~4(pKEEYUreFfTQr^ZdG!N?}XGqKF^I3Xx(RJOJuWd$`a>9m31A13rqSsVHS}RNC^?EOP z-|7GQNxEbCC#sWg+ehao;Og(`o&NZQ!cJPJWyfK^`YjIN;<~dOh1Vn4PAKjp9BCeV zYEi=#E48xHe4?d0M+R>{=z!$d_MK`sDmS{Sz=?8~EE!6_{0S6_SQ$n#v*R1JjP&nHQaOS$Eg zfJ;*6=dG|0lO3v*t-oLSKbh6n%1Zs^?;}l5 z{52KY80mO_6rkrWKt?yT-U zxZDYs*3D@Zq|=??Z%Oi)YY9*^iLPmqN~(~BRJ4*NVW1f_Zhr9J@Qe+ZJn)yH+B6Z z(eB$$tCzu&GWEeWl}g-B@f^MYQczHu;GR$Z2R(NFgs|8Nzu4qreYDZuS%RO_v;4Y0 zGvZ91n>gC)a>eQP=9_wh%SEALX{v_o6amrwn2O{Xd&St~$i;5qrX?e-T|y}oLT$@4 zVGnLLhijDZkO5%uAr=i#TwNoy)4^%F!w1hO=1g1fPvSBQEb8@#&Iq6O@<~j3eEIFK z1#Ysn*Guk4D_tj5UMtIKsmq>d6cBG^8*eoYB{9F8sO*j^Xw( zn&x`tt#j3BcgP-yBedBcJsI+r@|)RnWTU!!rQ;5m1SQCLVyASs|9f5z+8g&9Jx-2? z1rMuT?j)2w+7weyy`v&ZY&TY&o^!#B09T+7Y>p__0fmzFJxSwnrC8O{?KTF6!#1v- zKfNL&V5@QYm%{ijUyk83zHBl?OPEveF5E0l%ar_EQR=RjhH5O@D@@+;uFAB3nuqwx zF&+W?B7PjZF$ne?j|bHSE=gG1+V^6|fn5Y`H#C-~qvr|UEpx6_^!yGJ>|sp#z*sM&pL#AoCCR>Uyu>p;+vqoz z@|&Dt!W~Nu1PDPxeR5}pJ7|4uDt#6;>+?rXu;e%19jVrb>E{eYjYHstO6F`8lKbuA zTzVn_a2NwNRM0PZP?{K2t_L7mCf55o&mPh}%&W56qNu=;{g=Q}LcJYj#*FgA2sq)Sm_?WvrR z(>|hNZfWhkz8NO}CSK&~O%XE{8?=t>gK5Qe^U}u_nsLZy70)miV?4bdCln)+pA0?e zF8efgr{>46Uxj(ZUpU!Bpi4cbE)|BsbbIRA8ODXMg^>^#Ts}s*2TrFm!s4!~l%5 z>aOI?@gUf+y?)?&P*;$j{}J^C;^2o6imn_ng_?9;pXU|i(B6=D+69qwLE4DosR<%( z@ognp5BHYAy1m-%W|!#T_MU{lD4~i1HY;}D+M!$%S@QLyCa=wBMHu87t^}&QUS<)D z_npu@Hwq7gD6HZjv;`ib16skhhqd>ibHy_%L|I)jF!n;+Lo2?6x$QY(=gdkHHtAt( zTkfmx!(NmxcB94`an!0c3zacs-4%?%yi8hP9@cO-w&%d8g4Q|_cL9Y!t3JH*;Bu|( zZDCUteEGwlk2e?X_G5ixSw~jQS{=RfHU2D#^pI<>tbqFrzM7LmVa;T#cGKN{bSrj7 z7^&|#ic&_rH@2=IHnlpfVQcVTL$>+uM)B7F(C?Im)jMN^%Zl4z!|x9$MuCy;bh#he zdz1F=c>};aOV-BF*?v{hF24^{_qo)j`SWO+!$~zZB z9UY`Echg;4=kcwU6`SX4O;kchcHlevx-+q!oJAl1^5#dwEH5So4&$#*6+Y$0`z2qS z&6>1x*uP?TldFv3sHuF@sFas?P+b-8H*`TarPEMQy5djGYogE1N8AOS(Ytb6voExo z+hslsW{%Txzd+R~F>wSM!d(Bb+vg9eZr4wE9YS>7>`g?h*YTVwrk?^ce17w}T$Iyl zZmv;_{ZWGg8&5Z{>Byg|rFFm3##k{rETqK5K-{?z)sL1UGE~7T8}e;n*NE`$PpLFQ z2`vE@Ebv?)178bmLQPfcPppguoayL48(SzIa+}L1SGePlxn`{^?r&PC*Z%eIsmUEh zwcZajb%L_g+fZ9^}@Ec@)|8TWDN99Zvj ztvhP=Hzn|R5hXJ5krSs+;y%9?s{8^S&>kQ#mgtZJ`76{IgIm@p|kqyHqY$9#I-zGtX< z>v~dHn50c;io3)Cf0K{(RWjL>)N1QYnz39Mp?@b}*pci|NA#AfqGy82g1uL?*UIz; zY1Nff;3ddZlgMFr6gcil{wpy2BR>4&b?DA5py82m#im1zrMELfCRDQF4|~1*Z=|aR z@~_#V+jK}OJ78PFU|BVfI;t;8H?mz|_cKvyG`pBKQW?&(RAs%SXjrV++LK&KPeW-D zx$ZlIhq!0r6;<+UXx($;A)=ql)BGhJqoYz=iWH8!4?3E#Ko`De==L#WPOuzcc94n> z>f;p+)^(C8MibhtIQ2KQ3i*ZZsUhcM8wDnEVi@{#;1~oEgnuGS>k{4TetdaX${-2k z{OoA;d0Aih*Ye~$GFM*CUR4z;{IHBw`h|!5wTJ(7fq&O3V0jp)dyiIGd!=pL!ZO+~ zwy#{}R*PK=D6$E+jtqv>{#v*o^F2Ew_{iT%nI9TL9nQ%IL&MwqiS|ySs1LgFiXO%s zyK<-!;AasL3Wwn>4FX#s1V`Ms@|QAbsXuGGq3KZ0v0~vzqbFvQ@vW7Nf5JXr3VDkj zs`<7fenMYs`xVDz#iQ9f0!hr+`CJ?=)aItKo1h`Ol}MVP?_?k%Qv*PvNZXsY<{iUE8^(nsqN|=WQ4hd&?V6m}1VFwSs;2fmkN(^J0kNxPhhq5*neO+pRP?8s&oy zv2!>O__ZU~dO#afL_P-YZE&{U3LmRe&Lz>OG;X`vFx(oxB`Lj39ug2^3pr*n0ueT} z#7@UcDjC zi7e;aj7qKEIoC=ZNFU?tg>S69mv*U9Z2mMZSYmKj_p?EChPH?9Pv4`;f9bsb@__&F zy_CRXYg<209lR+Ln9Qv(x3fHx zw&8u9ycS^5ZZFb@nhTMA!18$vHC^e`ZRK@P!pOfOwEj0eUp1+X3$LNi%D&GwF{SgAz~H49myI+WlSofD?@F z+w1ZB$Ljv=RbR(h@O7RLTEMTs&W6;8=sj^>$jNL|FFdB(Naqvf=t)b&T&B@j*zAsvbVoU}UUh7_c61gxFZ=OVX zMp<0bU&%KCP4hTlOsgbG7NXN^yIX+x`omg&K2U>K7cXdJKbUs24}n!GK9Bg=`gD>2 ztnqxgox?xN=)Xx||DlBa{Za~=@46bui(kKUz0*kN%s1wKL?G5STt1Fu6N%3>(e`dg zHVCHy{~jQJ2*i&%YEgnKPkHRmev3Eq=tE>!z#nR;G9`KJ9nxnTGvy7fGJvaxDKBeF zUopQcjAJ@>l5{JFLx9FuBuQqO8G%V)tpC{02?d>qqUVme7kdllf2oC9v7AidZ&VBY zbN}gVx~p5U-FitsuaSwY?~Cg&24N1Je2%e?Ppg3aTl@9k%$xqRacY(K4e(<|N*gz` z6&?QYh1X1r{7q&0?`s2&Z@oM>%PBEy%URZ5{ip`h*mW(IYIb!mDX$N9{gbJ)aeWfe ztf$YmmZ4hdJcGl@yd-j2E!_h>>n7T)SjI$IN~L7rA=BytF}Oss%}v>@WvnBu{h757 z$qq!$ICn<)mUtbI@X;8JwNR}ACtXg*4~MvSZ$*ZF@TNv&I8)k+r2?ul>2Kc?rSfUH z_KvnurO?_u2Hz?^`W5y#)*T4XR#Tq)zyyD@G?7G@dY zj`6>u_5awme^}-|QoIlSdVU5$DoUrudN39qk9^H!$l$EY^;60|kmJO0;cMX>HIVhT zvI}hOfi)Mz=<`J93Q1(*pnB9-vm^zNUFo(1Z#sp?5Q@r^!TTu@#BkFB8VF<`3_jsc zlL=uk8ou?NTwBx4S~xjLQRP5bvb{lUQ23jcbaC8+a4;PH{ILiopi@;);XqmUN9P#% zM;uLT%kkEWmFip*(6;!OXXxo-MT49V_-X+5pOsmuAC#+CdiqRmE)8X0`yZU@-#l%3 zwip2R)LhUM-wBlH9J^-t~hEl55qR*{!Rk?b`AU|Y~kcZ4Vm20rp>fINnm)%e5=>#RFh3>6n%b>^E>%Vv)fC)xX~&$cN;%|1DP)W7zVp~@ zdI>GU%+N%3+aA3#Tf(P4y+|<%`yDvC-%Ag#B^87xmVdk>EuYqWRpsf=+rOX-=>N8# zlW;cw2o)hyNhj!GD1nmDA8Qb(7+v-uuFC(dE2!zx+tUkF1%qiOMVzN*O=E{XQ?V(5`cg6 z=M+ZFf6ws1qWzxD>XkqGuF9+)q&a(4TUH1|^voX;kRUE~sk_d~Gr^YtEtU*^%G(1- z5#9=%yQ=hb>h!;Agnthn+8QSi)8hD;Qh{Ehu)H^=@`+Ywf*2V8sAjh^?L4a^QolRN zW_F(NGy2TXZ0M|i!QlBbC5pjp>20#}de&Qcq2ofia!6OSLQXnZOXayjW`)Yu>|(Do z+FNF&H6~20**z&0)L@oEi}=DBNVjd!nUlb=sb=x()EA5ly+iDu3?&HLUtXXKWr1D4 zD_9>RWII!mMl`!3F1%LYkM;rR_VPp8LO!?#=}6(V=LACKV0eU0KGa7KM(KnNZ^r&Q zWpcznwM4=_UM*|9?)Lb<29VJoJOaE@no^F?aoDhP1g&viY-_{nE!VpGspJSvu8(5p z68h*oh9KV!abPalyKhbA0FXsGEBhX1+oK*%=|#v=Vn}p_*NssbzyK-f26=Sn)B|E65Hb#Ct&^tUcuua2PelUG2OayvMYI~cy}wKjrsOS z9B)f8v53#(d4Cb-R?dxpLB9`QkveOM{o<{HVUcQ^mf#fR1ttO?%|b39RZ2fQJsaVG zM)xa_1@VJ3f_QkZz1N8w()Ez1)DinWZ$hkpeYO;;70{!s z=Ij_wKsBN)Yl~Sz==$Y!nnZ$cg<-S=;=g3?dXuuatGAB6yxYMd#fNGyn#G!7q}m^V6iblQ&$%hx&UAt7X6jVhozJDNk|yWl*bHe4hVXyI zHg)ySNPknvfh^`aTT^JgRDE-{Ya)pK9JxD!U&qyfx=v6c@4Y!P!RQDudLjRu82ndyf$ zwF!>SDYv(e6o1sXf0AMGGbyr;Y!)!`F4y3&iUo{b2L5nDY zmhuU2>UgcHJL0r@D}N1B{=aK1oxnU#KriYu>*1x-b-d24E4e7SXoQb=ckTkQO+P;Z zqM`;evA0Er8mobC+=nRo2_%_Cver;+MmKKkn8U&IZa3-Wl0I%g#wXsakjXSXRI#5# z`@w6dJ8VUi=LEN|HlR-MJ%sZrs773D-RA!$np7k5{t{eBmH1%aS zk@inybz61;gXU>lcFxw5OQR_>Stds2>CW4)ar}Lij$rcmtCn8p(=*94!I4AMevc7k z-5z?T5`y~wE;G}q?BQO+-eUS*nL)c()_eee2K8&M!!kzSDLuX!7g##kJ&dLP@;D zisdkUA;C08*}FC%1mp4_(H#H!#Yw`U=W{@yi=O?YrYto7Q-wa z8TLAoKvfVal%&KkXulH5oAA1EpMsQXtuarn{4SNL4ZU~Yo_(_vlay+nSOLi3frbNV zR+C3Yf79swy^#L59O=<4%L_oTIpuv{$=Z_9EU>;^Y+X&sTj<60PRNZvPfI(0Oo3F) zCKqS3nRe@A&RxZMX4d!>kYC0UWGJgkGFs%z9AUbBIK%l9#BDcai{+H-5`S%_yT`WdYoz9-F@; zCD|TW&uU}Z7sCKhb0wYnI;DkqrL~ymb3|v7jHmtt(ac1|$M&p4$ZmX<(~=@Fc$~hK z6Q{PNLL8*Gyf}EpC~;OUG34Ke`u$ueu5AUeuQ1Lk0kKnIyf#w^NGx5%ht#n1QurAn#QA0}8vzr%RAN7AM z@X_xGViM}`dx7t&K7?q-JjPpb`rVdBZb&d;LgR@OBeQcs3$QBXYhw}|gp9b(LJ%QW z8{=jfK9>;A^@H2??t}-HTqM<6y<>{HMWdRn31Hi{SfHnVdE{YId}H!Z^+F-S`mM}0JWu6MboI;=lsw92urHHha0y=L7 zAZZ{s_Xs?r0I+iztzVd7s=|mHh>);h{|kTV0Drfn{O{8lCDF%?FFGe2l;w9?lUs!Q z+Qh`9%TqTi`s=T!y>mp*nmJaf!i17f8~sdr-6 z!kl;$5%vmi`gUt*0c~-c9T~n$5O3b-R+1H>H0OCu<>2sYLaqSPlbglmu^AmWN^WDe zsUfO@efConJ>Wy!+d93L&G84*K(;2PS(gxGFZO?J-!blZb!DKHpo*>h6Z*k#LzFt{ zED?DHf?qIN;H;e(M8BFzma`vIt3R8iFa7_TnCc_~b)NiOkSX#GnFy6aO3%T|JgAlMs`?tay0P%_KR$Ci=EAK}o zeTKB!K=AJVSqGZ_*5I@Ftl4~GI3W1>Yn7HWpp!q15=FD&63aW;}M#dGXDm`8=969%Se4bl^IonGTO~F1ec3-5Y z7O{=lwP&d0IZCT5_h)3Nof9YVsl!Ny6n}dDuSgF8_${UIK5_AbFiE+HlLN_ZE+Mrg ztXA0Mv=8>nsvLv>TeM&K=bbM_On|6{QA?Ss-$fb*N^Bmx#qL`4o?J3 zUNqBESk(8N@c`dg(9^0Gqp;|8cCowveop_jI042JW3b^1n*8plKhHJpiEWsMPkDY< zH0!fbT2U7 zGn2~!TpYF68x>#Q4>mCxmoJ4LI-)mCC)5>kXkWfOtnC=xV(}q$Br7MRR#03_$l_&? zh3-I*j^Sn0#x|urSb&tkF_X zIp9fG*F_%UEWK-{TKz@cBMJUvz6$X($mG)7v|qO2?ji53fc9_RHJ=1va(7zXq{B+H zc#{5z-GPZ$(Nft+=#0O8zkw6ZSn&nS)ViYn;{)kQj{8bP zMi~^b?8rfqst_WB>RN_0cf^4(Bn9szJj*w3Ix=?R{@&S+R9Zq86i{P+Dgh5C*EtO25;&I?2I}_D^v}HWG(*t$`!@> zsy`ic3~|ZHM3bU^D-;@8ORBlK7r0DL#$|Ago^2ep!q@8sr+{1|!RZlxt!ZsIN$ppW z^c@O`{>XWLxy9Va){)45KOd9CuT?u6n4NBqMt%h^B?i`NV}%1b2y0!$O=(ucODpL^ z0_mJ-!)#5!_rQFW4&lGP=kf*G)jo4l%tW}?3dWv&D`mpUS_#!ZxUQIr+LNa(6&aw^ zo*b~CZrmU@OY9Um?F&c@4IiWz)$T4*73wCGhC`=<=C=TUU6>aHbSlAS+l}7}r@b)t z8CR+gPq_3?z52h$sl%w>Db&P3537lnu$R!TNIB?5NHS-$I07Q-a5^$P^a7_fOKqEL z5}TI7>{U6{pjse4SuO!F)E14h$d6Dpj_jzB_k5VE?M>CO$4~|{5MwL|$Jul~juaot zaPXHmw0524f>!~7-29D=maY<8rx5$cL+Qm5DyBH?LN)I6lZ)QMzdLL)<(uL!XsrzY+-#yWLM7#v zg}r^JBjM5%fpXfsX@U<^cbbXl9Ez9$1|!L(MpYUNd8=GHf)V`mEh_!I(Z)+cqNWM| z?8N!srO@aNmKV;?g4e6B2mvp}^oDk?0@>H^o1%oD&o6DYF);^?d+kcTSl2xLx;5Q& z{S(yhG-haBcVWaey9uZE9F|()gM2iYpX)55LcEHe$rb!+IkDfxv%CsULON|nfLyf> zAnHULKV_=?HDB?|Z(0gjbruDy801)JIg3mQ!Z;0-&Xd*5c3ij60+0Iv?Z=EE8n=*c zI83)@+#+U}_4<7K5NX~zTgXY{v3)wka3d91g^YC#|R!$#K7XB$W;RvAcUzJv`K==Wvndxp7EoPtbhn$W0kUn~?FFcRJz) zwk;cO2OOjyFJdH(FC%7N*mtb+m=oOeEsEo@SN~hFvFgWI86+hqQ+Z{$@hKpJRRm=Q zX6RU22SYF}nk^0w&{Ge|{|xqFbHd-e-Ju1^svg+@j!*ypO_*tlR~0>(l;#|5qHjJs=34M)LHA)Ghu{Z77;1; z9zeO6Kgs-8KJY($1x+_?O=cx|JxKc6Y|g@5@g$a;Je-h0GME4w(k^HVQrd<_*Y(L6 zo}Bj0R*Se-s@Fb~R9fK_u4B7BSU`JOEOl=Lo9(IPpn%JOHuwA)HZZ z!cp-K=Wj5+v|0(UP(v+WwsPrHFzXd@MGb2VM~;WxU>|5ro4Gcak!8##hH%^Kwt47l zoAWI4HjSuz`LQIGJkX1Ns_Ts2)@8Rv&#yLE?W7^{%4OT{Ar=9;mM>^Njx_g4f5c?0 zKlvx_#0gYhU8#dmmWC-)aJ`Ic2g)w_*UkS@Vy@m~OazoGh7VJx+E0tI&Y@;&_M7f= zGJ_%F=mnlFrB@0nv~{i1A6l1mF^&p3t_xik@;cxDOC>nck}JZmIak84I2{(HScvT_)Q-@6CCtw=3p9xxfM^mKP>o zP>E`L!=#CbfcYrJfK>muYkdua-%M>{exo4zJuvWwdfDsIyYWko%M0y;#5ThQr|=Sj zMX%7#wl1!B9@d=Oe=n-&rO!+BaTRCJCl&8?F zKM<4DT`9;XeLUpWgunxx;C!TQj&@Dbg*=e?uAg6{T!qTbo%M6L(Bfw(B#;<^KM!E17YQ1 z`c9{539TEkHr%c&`pSxENTQd~Mg$O~imY$fTe_pN9)^c`5*&^-z>|`$;d&~(8FjEe z8y~h$l=}9`b=6oARqd;+-LBsin$br%IoUoeqghDThG15PO6a#1hC@7WMwUW-P|=-< zk&B^Ou7GG!ZEE+E=9J*|{XjdL>QCsd_+KNF;OaDNz=o!<`&2sYkkum^_CIXL5z?ff>#GviQk`6h}qg4aRZ4qfOaQcLe#QRx!`7~RRuNp>{)>2y9X!4m* zTZbeVoRq-@WZ7<8^KPlbDjcZ~Hw5ulw{dYWzVUq=yjgqd6yIp$+WY@f!Ab*G&B=>8U>f4=j^$Oy^e)$SCoh+&C>L1*)8GVD=FvWpV(Cn1tab*CB#8>pU+dOLv zX3C!x5FQ}b8(&VZL!z{H1`8y%hCb&qKhj4ri{brre@Bh(_6L+abdRo z4tHI~^w@3+XJKw(%E}C;&!5W08Eer_CixI;!nJANt3dNZ-GWW(Dz8D}E@ zW9w#jk0&Yl^ec$VQm^C?w*4^pVYm7gxde2$FzkIZ+Zay14y((sz~vvb6D5l0J6@Xy zg?-vS7X#;Jl)R^_rv(WQJpb6(>6nr|yYHi@k=ObBVED{JZm)nafLW7*d+304XrVh) z+xDTGVr%e|2$gZIXNoGL*=dG3I=zmo%WawpITaBXq<+U+`nA*e`c2&X^O}atN53DW zuEhW7wLBQ09G#8oP(x^UV*;4XZ3b#8D9n<+mg$O`RFpbHGmayt>|qdg0QY^KZ1--!n3#A#h#~ z-mC|#JA~fc6+2xIZkQU1Z=!m=1cX3a>yV!AsZq@Z(YAuf5if@>9^`;T4>c;gP*$DN zDLs{+LV%K4?{_aIE)aO~i)$B>VG}eVdkz#tHF7jES0Tsx?d!9n9Or_&*c3#otvD|ze*w!RJ0~u&KfX=S|!I9tEiy+#G5TsU16!3ER`N(OSx;6 z3;k2bTcO0;_Z3WFynz*cF^1YGMf>m+doSZKUOc>u7w_M!Z63WYlEU^jXntWb(c(W6 zEyT#H+d=b1jff}3E&Y>0leXODNuT;>?cS3_ z;-?FM0ws%M8*f18_1O^AOn1E5 zRtSRMDg}unUtHh{d+hJ@r=i0z&8DAj%WzCCw)R)^BmTz?=~7%CeuCQ!(vOH&_-mWR zwwf*A@D<=!F3T*H0HQi105igFR$u_z#pO+azT!oNITA!1=WBl9V8i)Irf18x?e@NC zjN>7W5_)2+y*ww%W7p4Xl1|+G`XASB!0|iXK6-P)Ob>9pF4vUGLFHoQB0hhJcP&KF!ek`uQgBOGZ9 z+-_Hh!FaXj=e|p6`;cs`w;!QVcbEaH2$n4cMj_S(OXIzUSkJu`xg2n7V8qtErMu{n zN@Shz)A`nZiRKEZN(766Fp1a}?6ptTw~C{6>sYa6y03&P2CI{i9lT4HfXE_sUrF`~ zYTC*S3nCxbqPOj#+f9m^fOQ&W0F$%g6%ZYPpslqz=-!&?s*3ww;p4>tx0%t3xn69= z=Va_*e#dl6@`5ps|9MS)+XD1yd|-=W(SOwHj4GUX*cii$SInTYo9u|_SqI}KwJ)qS zi4cN2bu{m{3&3X$pAKpp`s4*U(7!`)?UC9z3mSt^JSosVN`h~pWa zMYDxGNOs7veybsF;t!&#luwYC?KNln$^rx|Wb8YUNyJW>zRn;qx&;SX;|s?%v@%IsGaU8kEj%G;n{ z{f?NmFR6~b*gSS+9C8tG5u(X4z{5)M@2znE<`L_Me^Vj7?6~aoUEqt6+z}QM;X>^Q zlEdesY|T#&@MyOiF7KS4iLXHTC3Nz(xP+K9q?SUdLuaOc-05^TXFd!gbSqC9f!q+L zvtPF|NO4wO&sb{dF-F?%v--j26PBwJ^d*gP%I=QpPBZ>BJ7P ztg~Wb4@wa%2QC#kvM^R#<(Rv0bg;1z$0jG_b=d!BIW%a#`9@Og-uTfGhebzj*|;U2 zY%)9#ua$k-Tpk8`MGBYQcv}FAg#eQ|9^{@V)QEK~8!7Ed(#XFI@97Qt(U@2|0t}JpJS?=^ zx3a`q01!&jN~xTj`u4PktG87nH#M03iP}Hd^9LNdv$i+@e%*%>ZKn&DX}yQACFr<1>z?D<0{%N(AVi zI$lrKzt0@9P{67NDcNT52c^_=HzniMw&-bw!&Z(mn`w&7)L8{!!&?fLA_lp%AlwHU zML)c$Elgh)t-B@q7l%I^qUo&tnaoqW6*@paz-}+z!ei7X*lji&4wK!XIcIb^+Ra3$ z%EEW2?K?i+;O*p*(Y$s5xzOvheio zo-*kjn_P9dA7x~MbuW3N&RH{a*}K>G-pIhG&W?`ver)eH>e^DwF^6GrqQWmT(cQwr zw(v1FP`LcU$xqC^*iDzgJV&To3Hzp2yJmZ9&$_a7EhfGc4n*6d> zw`-|CdfzJ`R4yesssI}PT37{Xd@qiGXp7Z8I3&%%;71#k??AD=tBR|4RK{KuZM13c zKQZTE-%|MJEC4D+sCeGmH;w_1xxG8v2EBdgL3>XTB5oQr7BTB{{s-&4&bWG>u~JHt zE8MLpL*@;W3BwH?E?iT2N=BT-(py2%NM?MS0IHrcsS8@>PFWC$(Y<@WHbkwty0v5z zV9>Z zs#i71$FiYe&k$J?-^HU6BucO!wH6@1@!52B{ib96;zW}<*wLCrF2I9Q*~60S{e335 z_;BbOLzq4Kh4pQ}XV&)|9i5@X;J%rBoDb^5yvzzWo}up3K{M}RndX-EQN}*i1S@M; z_lsjL7Dn{DvZib(YJuPX*cK;;o~+D;sQA_I^L+{Q9twK(P}`( z(g{Ad*38P=F}^*X9sM?6eJNh;AtYaO{%7wcF2DMNj&~Phr2EyK$8RZ%XWf*m*cxz~ z0PL~)V3wECt`~CSTMzR=9X6lwk~^pOlueCkl!@Xs8>2IX_bKgzJzmN2CXT>{I{(NGWA@(Qf#ok_!7w4sqi!yBd zzk+i&{g#I!kP#<0ookzTi<5zo&vs#jO6w1+<0lxhPZshHD6;nch@buAKh=Aac@bBE zQNce6cdzrP3F(ao!>&v{;Z_r0{(p?UcU04Bw>9b(6ckNB_NGH9Di&HqN+>~^h%~$O z78Q|Bq?!Z~Bp?t#6r=?e1*J!N?*ycT4pO9(Kq!GElu*1s_q)#>_k3r6XWV}XB!dCT zvz}GwoGULzgIjqoT$dK-`X>I;5KOagDJdS9WZ%Gw0(hxnWoaa;ts%LvH$#`c5E~B&~Pd7bpiY20dUOX48*dn zO~Gb2fjGE6J(@F}97P;<@(1mG)>nMAd=HR%-+BXR-X*5EC?Y%k|Z+Z@lE2|CymX^snq4!hfm&^52tlGi;OGRPh-@EhZ zzZ&%9-y^s_eM4 zt8@F_`@nuHAjw;+hQ7qx!>g)vx{UQewN!-b0D-+sYux z4J|QNTcg{0oBB^y>o*NC@S%pCsh-Ja>AP>*wNSLcf587?4g*lBfZ>s;|0A!sZ?&E#&+ z3b|K%k;f8~CwIGtXOjjj?!B+-sFtX7*LAJ9n0abJJ-Zv)Z# z_kSZ$Vyc587mOm$v1NtOIP$G|)LLm8o~E8E;iQew{K6z!rB=J4UETJF?gz;W zc(qo7-C6_wXp4An5S0OkQYLt7aR8wVtL5wEd6Ly6K$R;<;cXgAT*+GX z-vy!Xxr=JC1`A~T>UN`^SP&fbVO!OZH;VAUN8^}UR#FT^eRh9-_1W^xpWB%#iI6=S zanO%`{`PkZyM5G|PW)zP$kO=^WH&s=IQ(`R;ACv(g(o$t3PzU}M>$F8&00V1l&n^y zI6p_+rk(D!N%J%wrRmI?26T4{t7^x|7_dwXX8e!&0{(-qo#n)u?3Ls? z8&P(8-$sQQy0{yxHrMiyY~w3iCTDA%pQ>5(6JKXEE~$0iHuf^P(&c-SQ>xe}sYxBt zfSsEjUrPIb9xRB(!O+8k^GO_QZ|yzP@iNXd^D!C!RM=5^60$MrWfvaR?CGdHG+1i8*#?uG_F1wfxi)RjY1IrmO^T(}q0t-3dzLz(~NIFf=;1pDrBQvm?M z)`_zV5;!PxBItxi2wTOdDz&G|bY{rvn!+uw47sqMEl-f9vipSr&>rZ~aAkOA4Oa|a zpgFQ(9K{G5R7f%v3wr&k7=s=0#a_a`xVzltb(Y;%pY2TdyDHH z!y|x}Q@qtE2c}VRI-RT{J2~z3d%ie-x3k zdY(grAi~VP|ArnEpbcA6Dk!Mr*Z5U2-@`9*i`a}gV;YS|t_HlV&;7odSi*ykc{ZNW zK_H5VmU+rYRo6Yy{SH!Jy|Fn;$G41;q1XK}Kv9)VI^@Py{a2kPPxgMunpR$I#KB8> zwU0lq798MM+B|qb;t8AZ3)PG`UiP}~SMlwo_WQ@ohU$?Db=yfXUgW~g$R@|}fB>$YwufJ??KUI5qn`R)LP?fBSLt?Bj>IOB|bfwTc>cU9&4k-EJA z=6v)9N8J?d`UAXQcUi{~@~=;x$C)h#)tAH!3f*A8oU|@zu@3y6Nk1i;2|%O~iJJ=? zb+oz;ochY^vf`~+lJ>v)Asf+P0G_Of$V;W&nF`^47NNN<{M1u5kFo0z@8q5PD>=MD zIbDf{RnaNzP`cR>I1)Pq#vhZoT6;WbW*sRH%}xEYMh(T#jnP7GNhZz*(wz76LU4rC z#K1kliz8zdET7f$mv4F9cKI$<=>92a)?KVh{LL84#H zZp~d_<|V@X?!QUl{cb2-mx0<{UdztkPc!uQ-re$>ouihk4pul<7l-%9RvC|#$r=Z!3^WeIw_pRG66M4O!#NU1gd1W>C7So6% zre)oAL@xH7nMbc_e7#{5{QPBj&GPHWjzqZMqaU!L?NnV*4hg(}CH7nOva=gde~!i) zqW}G9{|XMHRZ9-}yIh7{JUA34wdAoh?@lvdAfmv&;U)~4=BVgw(>t*ST)iNVi|EtQ zPHhh~?Cjp3%X0uym4_LXSI`a9tmy4$>5Iag2i8b2V3@U)i{Hfd`z#fw6T^1KwFhxI zQkLIvDA_|Yrd2h*s3SPn5gwJ7>Anbp*YVe4!kT6NT%VW#Z)bMh!s7_P9;(_ts;lE& z^}xWYW#Ke-3W46^-Wx@~Z%X&b^y)Rw@-e@--mIYP0c1=izk)Wq*~arfS~ux(h2GFT z7JEbg6DQ|&g2W5kn|JhXB!4+~m-`6&kvO*#ez zV8oovPK7#|Q9@<8IoS^fUlIRr5B3U@3XaWvi$lT%V-lp50~D=K(qD8(v|NbY{U|(K z_aJOS7myRqG+X5pYg4uKmoU7-8qhHlvvd`qX^*rSxZ~7R2(b#y(*>G-Swc-vCE{X? ziOvwK`z|o09mrU7$YrLi{3r=$MmNO>b@B_lEEmP*YBlS}cD(Grbn}Yt(h++^)BwRI zIsfIUju*^4vp>;b6#GR#;e#O+>`pFqG+IeZ7K%6bp1I8hQ)Re4%&O&QBPoQsF$O7vp&8a`>Yn!1WgVWs!+ zZ~e?z9@SW!>rc6Dtn?E-O!{oLR;`=uflZ{1KbvIhGf~;knyy=|q<&H~)s)a)buVjj z`py+A)XJA;5lowlUKrkEe*dQX+G->ny}5XKv)4eVETl^27%9jm$c>|7=unf?)VEsE{`Jg(n|cU1lGZBCNeLIC_7*w=qU*W%Uk@4LM0()~u{frM_~QQ>MO8^8T%=NY{N6TkLY3Hs+1c!kN#5pC|Y zF_d@K*Kio8S-6=kqiE)MM;1WRe5v#NRF`n`eRHp!%dFbns@EnvfJuN=V9{9qGc-)LVj!GRqiA+P9-O_h zN<%RRhx^tiSy$PL9yQWssUGi2w`oI*rB=V<54N26htFp&7Hkbg_i>c&nOoIr`#*s0Y|=9S}``2wFLX%6!nFljX9T5Fad0h`q{xGyOSLW z-BMXN1v5>D;4i@qID7<~q^#tK+%?VG=5qhprN9NL80O;e&L3SOl!>FpaB^tORJO|5 zlvh_&)udf2;KaErKt)J^%LY;rWpE{%^g!xt$on!eb&dO!wX))8W2{dRy!~l@lku(5 z&m?6_DUQy0Dg|-kx)o{rUoz_ACr1vX7y7w9Uk^ zYTivw?T6jHX9{c(UAg?AZ7*qALt&q4XH(|6Ry^zLT%hS|!YgfZJ!pqIc`113P9Ak=}Ir6KE1i=cCe(~bFL1CsM$82Efo!!n4c@(P$gvEpo<=ZL{+j8pA9JshO7mVyddaR|#w5aT?aA%_ zAVu10jk1BaZ_TW1_}H%0dO9cCY#IAaq6?N5OZS-xoA+L3mNg;sN`{RfKUncLfRIE3 zZ2qCn+;sHfSkRN<;$`oQzR80uo*(IxG>+A+;u&U;a3-|ziJ zvDI?!h3BWd{Us8yZ{f zDKDwsY*cEMtH+?9*rmp(2`oSKZ*tU}mD}dI4+5NVYW%`k#b@!mG*s9W54>`*XbGrlCoa?p>Z;S0y zE;h&qcYAvshl!~;XP&YAo7nU}S8@ip9A1a3JwJRW^yMWB{_o~mGXl@NDJd8IBBKeu zyRGr}Qx2AL!L%-B8gC#A2Qajnp|Z6@M2Lecrge!LZzA)e%YOr@s$7@HZ11;5m=9_D z+iGx!I(1LP(OgMsS|#YpB~p;dr0Vh)oTC#58OKTboM2kDT4EOm+}@vnJnT&a`>l`nA7?d3*LQ3DGk2il$e` z2!Cjl_s{@$p;=mOuGjdG;vbQ~A(4T&= zc7L&f<0^k$069fv4L$*{ab}hXdDXF69xg7VWKNtJ_xz%!?SIc+PvyU*wf`i!_F>`* zFKG|3(pv7)3%YWgxMQ{khoOF4b|Iisr?gnbBHQgN^;CfvQ>!$tng^1B=pJ5@!~VFe zqsfw#=k@I*t{`?T=E8e@>`CV#s+rtuG{AUKN>YI5c}u??QU}MU{Wls(D}2OXkv=B`9h& z2h3m}7r_y9D0ueELrp|c_J{cT=BrTw0#+gZu1aD7=1(aVlc=2oj5E&>H6Gs=wRBMr zGXuy@^oI9G)8EC~ zat2`65<-4N9HTn{OwIC7m^%s(R*mof{uQ zuWru$7ccNGjpyCBCM34Hb$6oyWacl(j^T669oLl7~#sT z&DXB>NtYq^d)uV|1dOG3lU6TT9HgbERdJ?uu7J7ynhiP>SOQUA(24vx1c3St+6?P( z1|)Og_2zQ8o5i5Igtpzw76onTt8ml8$g-pHnK9{yF13=NXpr|PY2s2oI(IM?40*~O z)v9<^K&ln^6ap9S4L?1wu-T}%YS}DOOewz-zTVtp&=ws-)x&CGw(WIA)D5WiQhatp zk8GE@<`9{u@Ek$R=f!>3FP^m(csl zXK76u0E-_kZe>S%%)=O=T2uZ)}6LXuw@N6|0A6F9@M}tmnF36qX9OA;6 zRu+Sq|PhZ3+`6xD-WzE6=uRM=9mS)bdew>}41(}x+~FJheh3P%JfLZRdn?CRJ5#Rj-J|71`0^{;*R)>Dn9sAPDagy6E% zg+NfEWOqSeYF4)Pjt|r>w8WHxC|iR3CATFkL*dYwr}UvJ%g$3CNHQ8>fSycq+I6c4MN9d}D*cVth6 z*UF5l${%tY;(xbniHdfJG6x7Sw^G!ic+8F>w9CTiPvt1l88K4`h%iDO zioe@JtR5-(AM(r!kziiC2!0Abo$ z1D9hkLr%sJiL&Z9KE)2i#Bl&QImnE>6m)~c$``bAnY|yA7wnPV9Kk$q_}B7j=Oef4 zA6tBSZf}sK%5SB;K1Xq}wqX-JI2AI=9$yKFL)7_r`(+bKM<=%*2_xve-d5@}?WZ{c z7xdE;2=tDLt8P!jffxOk7KfRAADPPKkC#V?M)qcqjwpd2@i14k9!0x>681U(@>)YHJ=J5pd3~Xe&!W+2cUdy!3Yn=~{ zH6razuK+{#5SIrh|7Yt=oSPyR43v|IZ~Q=dTozok{+vXRCvbS^rn3n{w) z7bC%epxMW;(>lnqoBgAdwqS@g58B(_3C`f5_LhMTSe8Y2m32zQ+xYJjts)euxq91S zgBTo&6F$P@@}w-Y*2WgS_h1J7m$&M97S4?@SkD>iLqL{$vYI6q-phNAwi(KyAH&#< z>x2eeKKg3yPw4iz9R?1a@d5=p?;L2duz z)159MG!cR2-(ReyT>e|M|F6^C;=EHLN9Q~o@6~--wr5OW&XJ1+I1*9ODPPFQ3`l`lEEE5 zKs1d~wxp8X7l&cYek?)9&Te_Aq1*h{DTuGTrIue-W3a|T_Sk3)iq&f%AXThO|6^Lv z!bY6G|(HERs&=-T1e7lq=9_37T=Ct@{AN z{WveoTnW753*ZbzVbMys@o;8@3$B3tLY}bT;2Nd$Siez} z`R^L#?4p9}1wZNb=C=!mutyRM3y}jQ)sdx^G2-MnBTX?cz`JaE7S*$81hM1PYgXMD zlx|n+=2HKNuZ5+hD{qL8I%~EyO&dioRj#r>bYJMh-_`HzIt1C!@oxo@PBhxb0vX1F z4Er=pq5SI5f0^iiv)fgk$CaN&8+j$caz|^!@8Piov=wUFU!2Cs0;eOySR*|tiG;w} z$2_xx8AW11kWXV1i|`UPaBuZCE}1Y#EmxUZ((Mts3i&TbDY>K(r4NcR6(zh)4*Lt$ zKL(Np;+JJMd_27U6}*s@;{4Y`xwx(QGRqZODebx-`mw`^l?p38EjbY+*QwgrS3_s7 zK%R2K@;opznluTpS4kTDV>+{U7C?93L-Dlwh&_#hwar_$H<;TI=jH|R7n_YDFC7oL z@`5JvE}lD-Tt6jb@vm**N(1}vAX3^lA_e7Xq^@z&I;v52*;9!!=lbL$Z_V6Cv?a(} zFcREo9`~od0YoC758Y!?mrq6kSVSU&YQ5pla=33`yW6U2wj``;gux|qNrgdQn0)XM zqrcV_RqAp!Cg!!Pfn1M^gX16Q6q~C0b%f?+#6%*ZP99?Ku(lX%JEMq;7UG1?O>=Vw zpOz171qfvd-4%|~bxaq{gKMG)v|}zJiWxyjI2h2THDuz4_O>4nYvp|3vzGRCFvsspvEGr$BqA1)QKxx;WYj+U4bzDbp?)c z=FtBUw-kBT1VIBoIW+|ClD3fVr-Zuhi!?n6vZqQOTTlOREfQf#dl z+)1)?%ZizR-A+{X8Hw(_H{2NZe%AAVBG~`BgPB9hb_Bc*CcU|xapqXOKD+sIYjGv^ z!n1rfG6bLW7FdBAHu5Zgz+*x`5mJ9zB8e9WN>MfFRO@h`B{+csTVgE~*Y4zzjyR(& zUs~GA=w>ona&0f7y^~25ADSMaTXPY?C_tV~FtkDZw_mdO-~E!pLoC_%$LuspBOUB7 z8jxgoo23LkdcP^y^yf9l80d?d)!}MzpyPZ-r&QJhQ|}v)RZhr4=t<4PD*BKr;oU+N zq&1~2j~lUHnYoh}QwQkkM9jYrd*Ehc2P~Ueh`_0J2`F5(D>x5U=jZhk+X-Zcz561K zhhrsGi(eR=Fwj(P_1|M6K3vnxj2W?nh#s)Aw?dD7LF`eiwET?f&Wd$8$sl%zh?644 zql1ddI1F7iC-c;T8)yS&#+U>4a~c6__ynW>f4Shli*@qf23>suTMd%MR`V&ViV#l) zS={|3mO>P1mRNG;@fV-%ftJ?RM*T(YKZVueXsqULZ5?e?91Ps!ewt5Y6>qq9PYO}i z{lqAmolWmlH_ovXd^IUgAm}l7!=C$Jr5irJv##;qm<>7U5U0dR36HaXpv?>xQ(u=$ zs73OhaGg_1gni3y9y(ybq)|VVzM5l!GVEM43|ol{=z7^z((kRRWx3ZoZEynJVveF% zO^%+z1L}x8k;?ySuYW%&#_jJalcM}AVM%rc@hvM<`n04qh+{lzPAv5#U?%W`ZA17H zxm6YUW5&o1{{@zgDfZNxdt0P~t*d@r!jMu?+sj>hm(av2wYa+hgSbq&*diTnr|SCc zK?vbK&OB7L`%If5kXD)=*5P(VN>hS*wvK}>4ihf-Y0WZ9c=g92U_X=8*2H~ z9O)sE&d6HnepM91fY|V^0@gjzx)>*Vngy)fe5*JeaC5v5AIEv@-?F^F z+x+%woW=V7ICHg$z*(PDc=?4l8%i2=r@F7=j&_H^Q)95GJ9Kj`q~YFt&ud+GL$s*8 z(~I!?N)8TT8^z<8mc@J}5j22|AGnNTb+!*xI7ov-$*+=VQC6dh+!Ftq z0sZ}?F*vvs==dp4@2pXMzgLKLa)e5cgR4)7oJ>72Cyr()ku&V>@vFl{wjYN`zbbD(>BCXc&o?_fh)zfr%dRQBSHjh$fZ7W)R%7(S zLq@V2mWh^txN>DNz)Vq>_bKk~Kq)!A0;yv}aMbFBJ4EXqiPBbBKD{e_UtD80Ve_yB z>i>G4;ysFoMY-|nbH+ev_7YXUF7ADQm2n4Kvl(2cP0Nyx2+u#OPH5ne@Vv5KkCqDtDtfCNcpk0!sbOP&xnfwr5W@@F<0Llpz7$KB zNPzDYT0m+(Mh~I30|{}HTx{vA`gH5=F;>(fqR9yu6I;8~?42O}e=`K7|ME8fbNco} z<8P z1^Pdaiz-C~>n6VednaKNbn#ztQmsDRx^@IJG}2z`s293>kd+UCJl&Rh4N_2rO}t`9gNfRYdmDb#4|~2xL|xv^A%bVVEu=DlKm^ED zgcC+nEW=PJvmWVuUn2~u!q^E^DWy|MGiX2889l5kM>d5#)4VzySN;X}B01IOPJHEw zBYY5?&^ZzIV=2-J@R?&nS?&bIN9(7;Dcp=M$(!fuN7faAY>pHCvf>?yFAbSdQo9rG zwmPdTqSP4^Qrr5mY_0lRHbp?)5B26A z8pX`I3%pA-V{|Yhqrf8#VrAgC@%t^Eq27ouI2zIJ?6l>mcm-eR`h+{U*)x_HuMINe z4B&PZsh&u!=47t_^(U3L11Z1Wj{_88J?n9I2pcZ3* zhJ?mQgje(cF+Gt_+yCJ2=8(?+Jx0C*9d_fvOKkvBrZOJRLE>3|QxiATy$w7Sy>D+A zjKlNOefJ2$(vuH!F+V=jG&k&MI@|Rey~!$mk=*ymXXPJcW1vX~7L?$UoQw|$Qk zZ7HYV^L^WZGbX93uo_xpD5Eh_L+#tzEzB&)M&YE5r+KmmeCq~NbFH(3W|^!J;2pTw z!rvE~Xlq>OZF@_6*iLY%^fkzYi!|-l?5L6R6#_;qTN{ijl70;)c7q?e<2mm9{tb~GlW@9P<4!enpVLCT{7TwT_-@)UmTaFrN$a^ z$}LdpVO}>L$eFs(W|-l4Yi{0?hq12xq{jXO|C>=$yZ6h;!+FEwLjlFd#MZ+DS%8dJ z>8QKO9>vHqIkF;2%P%s9Djwr#JF~Rc{F<$1e?fJ*yPrkjYa@Q&`K+()|45u=6!z!^ za+{{#x2HQ2J678aF4`nKAu7^bIX=@CLBZviO5I1@0|0^F1;3^0QM3>cY4Oi^k|BRM zUb-$7FY?PZa9w}9^k@4xy)&NA=BdBXB`uYRZpanLqrXNpv&Sjm8#_2ZTzGS`Kg_^k$TeVHue_|(Ia}qrDTjR!9+Y(WE(<6c1 z!O)LD9Yu0D2}l)CHLQh^EoKmARGg)U3~PbaJZ)7FSM3;Al@=LK(ePg4r1yAp7SG{j zmFq*wdEbr8s-dj8WhKR5gyH>Bf4Sn?J!Bo%iKZ@c)czqK3U3bHx^>Q-XCWGtf@S8} z3D#74r&W*2fHRX((7PYk6it*V8@+HSEL)&2~5Sn)9N8kbBD6B2xk_iUy#UL^fj z_NHU9hV#bLUyj9$TSl9+#+fF}?Q-eNyWOqH^+;uSg`&N)*M8@rSf>xCyfiy?q;ry= zq?R3zq8$Ct{q2Nu7V;u%0X&k!4yX|T2mahft9i|QV$h`0ew{r%>DZKLtQ*#ee~`t0 z^b@(?OcOdWxx(6dL3@xR3urAyTSo&@;%jYN_C#>pRv(B6^tnNtUCFxNn{FA1aoL4J z9ryEZ4rjrpBi?ZVZBDKjJ<;WGk)lJ1rje@=KAK3;d6c?4y(yAHd4H&8I@% z^IB7dBPYg7K!8-QHM9C%j#p_3gy4f#SQq4Iew_%|y7E&-uhhaqV=+8%dE_y69Qb5&FVS)O z{A+cFCufXFaQf5Qmi?X5M#a8v0NIM>Dr27VO35#N}ljC;4iyR08~<%Zv5iPnOY+?YU*=eOFXg z$9RP_9;XIjx}d!%9oTrP5lH&Xp<+&6@|P94Ot>M7JEZW6W3_p4za&nx!UyAc$h;vd z>GD&2>$FiFd_Ahh{LAnKjzI4u;=4*XoEy(taBoUCXK+ICTu*@)MV#(7ai|AsI8hLjMj-~A^QgvNL zL&OLxLO$DujkVV`&uiZx>X?hnd@QW6-w$U~KrIhf6!K))+z2H^VW(%Rzg(kTS`=`t;pR;|Ek zHbtq45-PbP^cph0N0W;Aylw^`%+XtK%DrFcBmAeoFPDkH=oRt&bmc3_A=Wd2@084Z zQ_C#q)h)UIG|G-14W2fV!C#dtGscXMb~tx7t;7X(K4|_XMbBb1*LS+n9-w8T(TwTR z%>F-qHXLpUx3E~_JhaGb*SP(yzDyRkA1 z4A7yh?mQf@_M~culA&9uUK-}o?=EXe?Vll4uejt;KS<$52cRl>eb#npqO3kkm;FV= z;LKq+LhtaT{zo=;hMcOO@S!Ozm_rG`21J@V-bCN~OT9EOdVv5!u(mCRg+|)$Q|X1< zE=`Fc00N9l*wF|SN~jD3WD{EBNx=M)$e~UA14yadok`~y+F`P)m!ky;{bsc`maP_sX)S-}@a3AYi4Ts%5`Or$1p-eBE0 zJ^;XVPNbZjSD9qqo55Om#JPy_`DW}u)(-)?F3Vmc*%-REQiyxmowW8)fPraZ3_p4##w~5uQs6jP^=A57t7^KOl^`+KLAXO_69sL;)HQA`-zzji+5m_n{84 zYE!@D$8@Q6#&{LkZykp6BY@6W2o$Ny*G>Ea3}Hk_G#P)!65{h;i6%&r=Kad~1oc3) zy86pmtVO}pn({f?GGDR+P?cM2xjnzkQPKQ6dt3hR+1m+`!_{B+yF6?)YgkJziw7KH zZaFu&@p%qUT(D&7?=f7_c7pGz?-sp{CnXp>t&DlhRH7=kGji$q|8=501IAD3%ECWeVY{oD*ZL|}_nlZ3q#WHX1bqbWHA>^PPhxg);tacz&X zWtn=TfOqangCsu(Z;lV+H+*1uCXEd~GQf59o|3PskWr)n+k2l}%v>KogxLDy(e1cV zTw}$RM?kn(C|)~O;y!Wx#wjy6k->waV$!T?n9-kY6d)Z$5GhIr^5E^;#EZQulc;Bq zZ@-)TG)s0Oc!KYJXto>s49i(K8`cQT$6C-Y69ZC|NLHO{{}coEJm$|#H+eq=^-_mnSCB2rn zMJon-v*gyp5v*=(0$Z=UsAZe+MuQ2om4i@lvIgze`rbfb*e3;PF}cIt#G+PH0?+VK z@6z6gA5)Y5uJadvPD~)moE^#lkPU49!P-t5k;>g%&!M-5vq;(^(AD>P*c&99H;1U@ zf)7x=7X8+9AK-yhbp!7oL|{xRin?_xBcrIt_yW zL8l#iI6m!`1sp4}7u7783Q`WZ;OecpVQz7E`+TdX+BOA16?}jMv_;}|CHNrh5N|-G zPPeC@cr_R5eHWNYFGY5<7{K-&y&xu~P!M6un9GI9x&UGp1YBOQUHYe^Ic5==?COS= z-bLnT^YHo~o6cUTuxhRtIevX&=5eYLd+@zJZefm+ficTTm<0(c+gRO>)pDap)W6i5Z^=i!&dp54NPPJp$-dTLHumL1Sy7`r-GAA{PPng z|BMm&wbFFGYU+iq(by_+d)-FfDp~a_bziVUPVr-?dr?#V=M}1=*6v#%z51-bMQ#UH zlc|bw!Y%zJ4RtF-T`AK~U3(?A>sPotf)(zWrK|2mlO`k=9PQ!M_zo6jU~HyfqO#Ro ztLpL$&CiCyL%y0`&8g;p$!(y1;a#cpfqV)Vs5@`7fU54ar_LAeCt`lY^U|BZOD`x7 zN~S#~^?71&Y(cx-F;KMSOwA$MptN7)1fg~zgHM^-PY%6yYr%c?6Hg??YOCD|ZCc1& zN`Ny9ttOQeuI7?VO^!eu|6Dq^89}xOZ+{QKl3x;EjX}5lqPhn9Lvhl(PAe?&BZA;hd)`E8+A>M!^4<)k&WXoK8aoF~F zTwQRMwt&%-r6vJe4q=Yk4Yl7jO}LsW1WB=r$tvfEA5+(nL(SoUnHL;Eeh)@G`H>tc zKy^Sy$-|39!U@IQZ{aiLE(7x}a7z%qN61NYHgGVx{C>mj7wj?CrmqYS+nDi@BvGUPsc?4GP7D^ zf+l)MHAoWdqHJ|rqjTBBrZGutk~#l_bSCpUe<=BmCnKUWK%jH1E;|~#~C)pPm)U19Nr=l)pBd{jpMkO`BYV?ZV z5Hcyg0Bf-`-rY`i8`{0kr}$6F`R?X#&!E`1U)coYtec|9mcNHmQ;t&s+$>Mi*HMh# z2CCQ_Ce_Yp({~!F7LO+x3Fu2{v+g zH>#L(-N(c>2vFa~j8B#o$5>+SsI88y-9QQjFbD7VmkjS|rtMD9`v4`FEJ9g^Ki$$L zGXUF}cz~WY=`ZJ)hMhdEzYa7!EQJGmbaYHp6`)L}iJ#`1$M5(o0CvM{q@1zJxTmh# zM!1v^>!W;90QI2rKqzxf{ZDiPk@+mVCF9_b^}~Wo-6vQJf04lLp~Plfbclg!N9eEC`J@AY9f$9Wi=;_0ee<;X`e|B z=xyot>z2R|6sc}3oG|b_BiqVxsX`!SFj`}z*D4)@#OFR4$U(keyS8NL_oq25KE#ld zGxPt2trRn70N4sit|d_wL^gKO0Kzk5|Jzs2+MmkqBC^tn@p>*%o4FU1lBD{waV{Uv z{1n+%mu5Ays&BA>ZzoDruiF{sifPeYcbi0xMH7niJDHZc5`Ppg(eTd%DXPNW` zMOL4TTS)W!3D8Y`ok>G)Ry@>6!-xd!K^G&W(~T#0HVOTqNB=&|-t*J2NfiAvmwe^9 zwMq@y{dxHy=d@x-2@(LKMwp=_-AZ>B0It;5vcX)X*`TQNAX?8{&)!t}x}}Z!1X`N5 zUptA}{XDi-uDQ>;U&q(@BRlPO0ah@;onvO#%T&{&Xi%%x-1r|bO`Q}#3n0aAQbDAz zzty`#%d~;y+Lj-SkOZ^vbYd9z)~=6p<;I7sqp~|T5H))F(UpZK`RTfW(tlENVw;+H zubA@B>GW0{YIx{yTv?mfvvujojbdIGH$VjRCYu&0q8rGK>cfK4I8rKlZr|5Jr^R@& z`W+FtR#gwG({0_;_wzy;ted||^CPH=3-!R}JRJbg*L!7!hH_mVDV|IOw>`84=-kva z=e3%x>jm>^`1FZ~WzN0yq? znwoVzvak={;e|m^w1&$8m$K>=(w1q2cir6&b>XLvU$V*SG0pFJ9aqp>H6CIdt9?iYK%YF4LgYGJ-TwP}HOUNvi{eau!rH$0pW@ZGr@ zJb!Dy!GFKsnbkQQ8PwU!CEKagIrWfaQZ;_Evtmfp&kJjA!uW}>)4U?@dK0~vC1u2s)uW8*j)c*(J8gL<16Jo)O-J7VGcuD8S z7c3#`L+5)8#pIxOfx@M@q%BCr=wd;M{ov74>I|HPn~|9nV|HV^?l6No&V*TfM!RkH zuo|^-?;FL-p4n&Nh9q%8_gZ`XB4#Bbf~A&9rnu%~zvZR8KAl`wT|bv~IFc5!3b0cF z>eAJjAhMl}sdH|TK_wH=V^WqDeyyTeEJdm4EE~>p#Sf}*wo^xxO`-ADfjQ3G`wbDn za#{>R{PE;Y)nN!?M+#)ru22^oxLIn}x1X_MnrIzpR3TGyw$e8kc%TszMku#S+<=we zXvxo?-!fa8wG)=Ri0r?mpL$D4*29)hzpmLb)2kN0w`VC#TOdf5&Uv~++6VrmI=pj! zjqLu!9=*LfLO~mXa3c}3uaX`q%N0@ioLmlI4Y8_Yj}|9ajty_R>YFELRQdimV|KG@ zrO5EWkKVlTlWNv0>NghGr8S#Y9p--cJ#1xf1z8vFhTq?Eioc~|WHaP9zQKU3;OnMD zor?4YjBWN8bf&i$TeIbk=E(icJ_#F5H7)g8+R&$Z$>>Y(P?`rj8@R)f_kK~ho-Y;i zS*cli-1`PYux+j06nE>3ow!3+dT=l3V1jKvVGohMF+C*FVp|!Kg!ZSGM`*2cQA!6a zIeaQ<%T>LDju;F`OG#p>tYvw=)48T%uWFiG&C^0J)j z_`5C*T8H=g`D`jw?ABjwi^%#b)G1QkT5L(l&pT*aa2hhWKETW9|FvoY{ z%Bixs(+RZDDyg9#+rSUBqf5w_Yv@)hf3?fuEd$a{jBC{$Y!>t>$k$aD{Z)|na0eCe z?B>)6*4Lbbet%rx(Z{@M$iWNRq+ne+1Q?*5N9;6NWPPA-?}P{Et-Ehl&0;NTXS25V z$%)AJu<7cn^(d47ga-D%i^cfve-(>kWgFMDZJ$yyC-UB=ybWvjyaXjAX}=ULdPNG& zy*`0h)h~qGCf+2VxUlR{F4$_u3EzzvURWB3FQJIhLx~>C$bWUKYO^TSMlAZ#2KC45 zByNn-Tp@o8a~}TD&?R=hcZ<^3wjrUPd};02rEBtU&&~0)YDC=gN}>FZu=UV?G}JVruR8PJ^3X90PudJdxrfj#<_9d?jd5h()RN|uZ-Ot^lO3^b&_Z{)BDCWn&NA@v zys^J_yRy#Zioo3^e70TFYX?cE&AW7L(6Su$OVtY#Z3f|rB$9X3hcwFBTO$3O4)c}y zTgkJ8x$rGJ^pPsY%fps z&c?b2!x|3b48^)KClfE*)gwXo3~M_x9~gBvwS2jg(F-Id?*)>Op)rh7r@eU7&prcI zV7Zj>@bXn%j%=un&jSsKmAm>Kh$c=__U3>^9na0ZRLImuUmpZc?Ar?D(x$%M*uvLo zEioBZeN$+(YX{fM1vbGwMIb);%+F<@QohQP#1Cr^i-P(rBOdPo{FcMpNf4%V3;XnHl(x&4Ve zZ6S5oV>{QKJ`b;2yo-h2JOGZf?9eCWr2GiqwdviR2xztVl!ol6XN#y)x*f-7PWrY6 z85mY3ttLVb11fjEf2-BTvzDZiR=f}LF1vyI`Pi3Bs;ml4 z%X0ph6gE9#D2gS79l9f;F0r^p3w~_1L6Gp!CDZm|rr+hdbD4Wd5dd*`Nb+V|l&vyU zg}FI$R#;EILUD596AwdmshOWc_4UNX!`Gt1lMtu8g0TvK%C;yPeO!|(_gHI#^pVg3 zDZglTE;-wYl{;vw$h93>%cr=&o1mlYfb|d;aw9VEs4^RDp)chdmId4*GDlN0J*E*{ z7&HmT$CN(C4FvEuQGVFD(UQ19E(>Q<0f{jMY#hGCz4Vu1@7Az;V%z&QC!9h^j;FD# z^n4$qjLz&_*j=tNl~q>hszQX|jCw&cIoT!48nny;(co^te+ESFZelF;kKZI}?OH~K zLA2Jwr~W$p7{+A+YmPa;??-ifb9V|@UYP857UJYx&jkuh{G@4QxX<`{g6`hfdz)@n z#xLQ}KN#D$FnLQb(69z#nT|`HN$~X@PW#~ZJ{APkUSaNfNnn%snfFZ8uh#7SYbi|EJwu zs2cRvPtEJl-Fc$4_3HGHg_ZML%%bhyf)3jUsM}-b*0&O|w2V=W=CbE(eVg6#wYg!? ztbWbx@y%tw&tY85=M25}D6q+XOZ3AX6`Vzp6S$y=(9e2toH9GTA`}_G&S(*%F*6*$ zt+WiT)v?$Mx&G%uEB<|CS|Ex5V7Emyj`Quc|;* zHBVqmr{}sZbG0c&1Q_%6PpwqXNyRMjJ33Nov*+C!lea8w6lqqxHKby#;dNo_IacpW?2X-)RQfeEW~UMbC!rInXMT>J zxJ{S@%2W8K4DQ{$M-fHNML+7g91+2oixmqZJHk_YfSaIp6_j_KR0NER5Cls;EXx+K z&3pmHYwn+U-qBPm7233@(TFx`^>0y&_-h6so;Za}?VE;be;e<1w?{WVM#92JjOF7jT;0cQ`pSJh;k z%`cicmn^;OHS{#qRpSi}HL_znmQzj=tX1SxH(Vd3=jDJ7RtyGhck z+8LnZS1OJvh+TZ)?^@buhOA5M>>F7yn|;7WVO9{Adv~T}i-J~)O+zf(*nWyc>X;*- zU8qCRKci#O|MVEI*~!AB1~l6NoH@%QGs zytU>Dbf;U60ASV`_1LzEaB!x~UTiQIOyD!BY{q+sH%1h?>2=r3C}uu2zNpqq4`sm^ z*j#Hd^8^s)M(pa;Mw1ZpCG-j!>J*NPGlf7<+llJzTiycb;8WKc!D7tlr2MwF1As5jQzC59IN6(!_F?ge-4l`-eC zwX0MX?y=O+yseoZXLYZw_5rk7pH-zgz}^8I$ZqQ91S%B8svlkf$SctOdE!rHWoN0X zm4Tl`s)Z7C+?5c?J6%>GBVYr`!@BD``b{d0&kvpNm!||w=-3!@#|C_nkJ}={@PLBs zicvPs^Jyj1opjTIwqy%91T>)`Um;R`6+V9j3Vf#<@5=bjBd$Q*i}~kKBeo>4iczNq zm^eHVgsbV>Chmq*?ychzML#VunN#HlcKfJ3%T|S1Je1y{hW)Xfy0=(yF~9uNnq_UJ zFTC!Ij*{})laRcS?qZdVv6o^##u9*UzIR>YzwGZW^JoN zAc^Cx#QHtcQj4H(d1XI|w@0sHf_shTO_9uak4(JlYMD3LE+U&_U9J;&cMkgF|BlTM z4}GEZWTLcNn4fhp8WgnXIS=6Jy2hu+&m&o@Tz<;YI;%=Ye;_)PTBs}YbyxGJW}IX7 zJ!{tfWbtj30xDg2u0R~ zc#VSifDX-98&J5-*!a0z*oFjKAPq3d8hX|f4^m1HDEe^2LDWZXa$=w(8i~p1a?W4u zU3CJqqaQ60MA=MFdf3gZhyRMcs;ctp6)hU&&o#L?)g;7M*cBm~N|m-vwzz#P|L|JP%^e4Z3iDaHvlBQ?W`0$v(Mk*TQf9{ylJSO^op*YY8M1i`BR)7sZ)^WG{prVP zHtG{EhVF}*)h|~+)P$tM{WMyZZePA+gG-$ClsG>&L!o5J$ zo^5!uZ?xk5DrA`q>$5pznq^r(3FB0`5h3RLh}m;oFthz~I%?wtjk)Km>yHvqzl`zO zqMNYJZ{^ED_35LpyfatK0EEnEeSjZAjjHddC*JV-DViR}uM1=m zn~pJJtIwvtJ`;70|8fPSEk?~ib0V1oUjR)I>aV(hn`vuZ9H5Q<0*0!0Wa(U$3e!id znZ35Ot};-2j)#`oqPBq$c(?VSL!$d8k7pxaz}&AMKZ%|1LON$yuU(G-sY7zeov_pg zvHY=6-I$`CJ53|ZBo5&YzN<0!%!ok4JI}c`_cxT+#`AFu$Wd|ckUXHIfKtp6f+ zgQ0(uLqrNKhAe76Ymw3nOw^|dCEg()SFW1b#LHJu!LNjVIAMGSOxQqszpQz&Kwdd} zpU5IJo@?MQU$WXbU%yv9V}_ zJlL9sO4$Yt2}r{#d2g@l*I2oEKmd;dXUg7B>IQ>|kPnEZvmZYgB}rfP?Cc#KO5GQt zTLsM7MI_9YR|XZ1YUHiw2)mG2=nE%p07H6{5DsRvLUoew=q5e(P$0izzvu7?TeH_fQN57{jaDP%JZHc+CuSg zNqxY1_r50dkLkGX2L3o>?Hi(U8ZJA+dTy+mFR|JIdB(<A7ALz5K?DZ!^3{>5e`~AS1R` zd;(l3|A**g(nBS-ya0$D-^I_w{Rr=!U$r~prD9OHanfBI09)A}46v@4 zC6P2~e z_%iy|*3&h)rD7IJ+mJvP(Gy6u*h*!!0Z@_PdT^{6(Q)2wi97>z zqjC;XLs3ZOJx}WUdnQK64&s3;o~vlI&9+J`$)}TLB`8Qu3+EE?S$1u zX?H);ak!Jde;G4mkyba|;6DZt?D+@w%z8|jBlPSofBDMRMu!||)lQIHV(_fhw!r>@ zjpp|fm-=Ti!tUiEcR(Sn2cI{$mrrJ=-D|F6)Im#6(H^ND2?rBbgB3y5pG7H$)Sp(K z!<8ek1e}Q3E!nSq5h7%YPvwCreEH`5R2Wu>RWkzSy+Mhqb``V2r202^bu!DS#axIz zfSWA>fI}+U>Uh89ODC;|B3(1w5tb>m4854*eAmR%CR5n~v$%38!FY;?67}JVJ;1Gc zDJuFxqLbr_V2FsN(7Tk1;V%xN3(DY79a9r;sw7rBkX3Y3;u4K9YqzH4u7#w*;2|aK z>V;KYw2b0}wZ{);bP-}*(`lU!AscgQt;TzW!MTcW@g;aYfBEF`{=lL6?Dru2?vmfN zkb|+Q0Q2*5rPO!xg;HF%$TW)~Gjpfu>fyz?y}KWxoJgZv7Zm8{kKWVP_}%OC2rFqY z5YD<-P<>%EuszS`YZ;RTFxvrlPjwOAY%HP{gVn|bDoNHs$@zH+R&YUU|2u({AA&!X z*RaTCMzu42fnf0wKNd(UF&@kDIo#jQzDS3&%yx034(fNIx7`qKvI;|+t_Pmgjc+by zO|5ek4ZBrc9rdEiO)sqoSG$IlbXC$41P4|pQ?Qv;ph`l=X-LlQpp|c%!Y_t@C51`r zyGpW-AHTMLH^6{m&v<3MIAE?3pI*mUa$k=&6T1OqpXNis^zF~HSfu4ZTx4|1@H{gBJq$&Y)?G-WD@8RzHzP!cLc*X9>+tzPPilYEhzfB9p+kYv-{J=E!^Rr;{vTz@1VhV-`h_fkhTg6^SSlA zZMXWfy+GRcjtUg@a<~ndboi*TLT9Ukv?hgySTchz)oet1Gn2Cup-()P19W(a5tacT z9`t_wR-3*vMH(F{TDzQgW*v@WpvqTjgW5}fg1D{Q4~J(tf)ZE0`O@ANXrBEYwHHs? z931&EygUoKj64WyQ|Q~-yO9ixH~y@laDGdWS-hEK^#ATV$eU3QS%Lmf`Pm&|R=3x+5N?en4|S3FbqT1< zxD;3)!uIl36(cI~{^x>Gp(z@3Fi#0Qm51iUq?wDln*`5InYHv~Yv=hkcYN4uh6%=3 z;(qD(tAi(#>YTsPhgaS#{s5n38ZQ{V>l=|jqFMhbqL5CQcI){yQRJ^9i4tlq>9jqS z`{Hq;8mnfR2HR$GbVY32*JCADV}J^2hu8Vm=Hmw&B|HAlz}yJZb*|kxUJIrVVnd`q z^HtJkV$+p>Xn5zPVPbw4e@nsS57Ff^O4u)<3;USrvJQtjB~jw?#Q}X#>6P`DWom%uKT1@?LHwNBb4vgqUhD!b@(3 z81({E@DC`p$uBdXZ~8%`*iB`7_>KI`$Jz)cNrE!lgk3J z2y+5vA~zwXaib5b&yNhF0%*HIs>8W&ISE?y4P}NWYhvc_+%p#Qc*Ys<#kiq+LM(t9 z=M+UTem`pG-b!ehWK2J31x9CS`9BF)++kS7wN24?13AN3_EURLPhfvfTqNF%0~{U! z`&nRarGlWM9R&o+?@iCS6|ObAn+7eG8a9A%fW1vtv_j>V#q!*f#QAAAKU6>2ZFi}!jB)le zAFLm;ztIQpRLBlmslf9j?-&JR;#@6e@kI)FOOju2F%gpLC+epK`=buHMW{l*ZxR1u z%>+zpi&)T2iI`-~^#Od1oM^}n#lcWU^Wq2JqUC(+Z!6)RjMyZ|;V)#>z^75Va8tLf=Zz%iKQg(r)mYLNEht{RK&(^Lr z3qSba>=5X4u1iiMY$?#=jTWVyeiPq?w0#VWuG>M}*x<=F?_MKtmMeYP%#AZ~b@Al* z%!jqh2eEDrS8Qz zQ+Ix8^RP0fI87o)QN9EQwk=@ zq7Z?R4y48X9 zq*N(iFdGMMI)0QD;L!Sg<$ubxv}4}HjA?5>+5J>2*qo6rm95kzs0BW$g;<}bkD++Swu3nCJX^|dltsOtGX>$k^ z@SR(%*~W6N=SDA9$gJ!^lrbKSMNS)t?QGb(aL9*El10JW%hA-t3USjI;l$eVm5|TK ztwG03eL<@$P`nFzqme^fHY2GQXbPve$B&j!rvuVkDTX2m50QP(8F{sbt@vwO)y{>i zR}dY4HpYK{l{vMwbzXBhCF^qM?eBEPEY=u}4zfQNRCNkFyk*(d(4Lv{YBabN5cnK* zNqIUF>S$Cl>8SY$*chK~UjO0yz(b8NO zhRpMt(L<@mI!=S!zQMxAYi4{sH+W1# z3q%3^dqb8)13FMzQdf_J&ze+B{>{4$#fKK?JUdHoG6fj$%n{dBoeh~IOHJE6*;vb~ zN^e9lTO)EWxje;u5Z(*X_YS%N9J=IIj?FHKkh$4uDsn(A)_2UGXV45?MzggwGO-+t z1y9d8YEveLaAmjh%Tp~_=#Pku6Q`=g?da0IhLN8OOh@eNL=EYZWegp{U=z|jW zJjCp4F`LiJQ&VY${Ox4sO!2P>0nlV}fpahVp~bR_@0(sQm*z|E$ux0@Atyl@V*J56 z_!6Mc90k%uYi*Iek*i%Fq9j5(IxxsTp~-C!?9n0Nvnno+%mY53=^G6IKlUSX%%5M0 zk%lB2R!NIKnOzGYk>K}k{Hz6DNFK6qXo!)n38qvqo~CC1dWgJ-&yKb#9*w)nM#Y!a zIriP^3z)?u+T8aEz^k7a>b~jE^`xde*&H>}sLXxFd>6TuX~jTu!vcV{UOu64ln( zHPj&zRGmW4RRw^BTk!D_?veX(zmSe!0H&23Yc#HAzL%y6TNfu>E~|CU*0#@ux1fcV z2K;VX!=Cl@UA6&4ta1$7e?uu1mR3Zu(ztt14EV7V8d|;d^u3W{{&m;IcNhXI<>aY6 z2b220yFDSV$D8wxwhkfcc7BxDg}BM$Q^r1kRy;^nehIVq+TGFA%vhD7KcUKgcZZyb zT6Fp0WxspAsnxjCVR5TZoZyX{eWuwS3Ag&>Jq1Wj6B+rm$yNr^ zAeoO#_SEkvPr>jw0{oV8`sJFxJjb#kZj=9M5zSm@eR_q`Rweru?Z&YAyuY+ka6t}z zS+|V2%Jvt{f^25x@cA; zlOR^!w#f+>09ogyb%cJnSaY%*^DAJy>RPeT@na{YB?wPsVTBE3f7H}@*WRq9nyA>m z(>`hCMhjyazI-i3z|1FYXJ$(_AEs(@x8B4(<%%g^3rx$d{`3hJ72DIgeB#pKNmn@1 zcMk@%>+*cc%DlI!_VWB*JO)b(8zTVfI_UDd$?mAgwvm%u5CW?4zSQ}A47!R51XnNg6 z(XfhE>gePs9RLgP6)!mexcWCmU2Bi|Q{lVDDfT$QmNwHL#?jA$3tQ1|R#|OsB;X0k zT8Z)&4=H1UgHeE=+o_%qC?AmvxGy^7+NYGbEh~0x-(t4Mkw}DHe@H{nxil~?*o!h4 zr#kKhAFOuTpa+1f_6x6{+^6p<4?5Z{^tZ1x^{WdueHaU4}u ze?yYv4-w}|Bb8~%%{T)t;hwCnXIe)&?g@G~D4xJ+RJ@G5<*@{asSdcgl6hVFCkgC< zUmgJPQgS?R0}-p1tAm{B|K*6J*%`(tCl+lM$%dPyDcou-wpUt4I{+Dwsy^|O-`+(2 zci1k5T*!|vM!+FH#%+&vgW`P`X3i%o2Hc_1=8`GOR8 z>3ZVDcN~o;X7yrf6TtVtVwfJw8R}g<nToJC9uF;8Qv! z{6wDRCKud*pzfJlmuHF!xBYVF(hRlSjN~NdIkyv4TnmoYcI`|;EjWo9z;pF;_kVnj zb>Du08@pk_k-DGL9tx;n$e{tr_&5c*Q_{`nTR`}aA|X4~UMmRa_9kJ_S;r3zsqSQfG3=Lgwie{U*?7W*Z&nYr)YZ6_W2 zvhvniizC>cr-VBqlTJuNwnutH-0uU9Pp7K6t8WJVk{#hPY=^h42oay1)`ovMo+xAH z5Uco0XpbPduoWTv+__DaHyWe1dyhqUlXo}1$yz9?^y!zYSypI`3}@M{tMyicMC*=D zK%&hX_K3sTrz=v;_o-gUU5`(_@?W)1Ub$ACQTUxWk|3SN&2sX zCV4!{rB6Z($|bI&T80fMUQ|?M{IEoqy2=cD#u}LtH-U?setS_86{hZcTzHKqF*1!W za2PE%P>i(TsDtkgqs@1gezc}(#1M+zd=Rcs7iydy$XWS9&3-AjR_~L`*To+_y6D!; z3#wdm;}aIQ^=nG^J<4-!a;_mX_L0l?)}f~U<29ohK8sBvm~&gD5!$9E;oc-Sko}UW zc4_O>wXM&_wv&c7RVTe;L{@kGl?;H1Ez~DR=_0^-6xMS+E zF&t)o!yUONLOz?*@*%N4t|$EQ4Ek)sk7!iXH%;TmcsHwn)dq?YaqowV{p?3o&9y~+>Di{= z2hOfrV--f z2xAjF!mH`G{HL($X@e8o*Zq9~QsR}5kI%AwY})i_6>OOLs4U5(xRtdWMTT+4wO&^R zfvUMJ&t!=37RhZ-jhGWCjvMTy!_fzpPJhKn#u9R!sP<-Hkw`+bxT=2F-zB31DRktVVR4VTg71R;MXa_g$8Fmh^^^qb?!&x4P_j)q? zWeJCF0nw)$R0Q>0*aA0~#5V;iSx;8$KYA z$3+6E$`F?Dws$gM`AhIgiSE{+QrgsC#E1(=HJLTqJj3 zPx~fO88_=1h{ap_{F5Y5CF)%lIZ*SKgGRrW*4~ZoE{`kT4-24kUo;dewf&Mde{PSQ zfqtK7F=Xhv90bKGIS>#CxRy6LcEB%_4{*#2`RQJ$emO)T5MI9AO&o| z8Rg6FyDcTBN_qFT470fd`pfDNtDcIguWPA;IBVwOQPXMWQcp9#;Vnddc5IPfxDUxd z0anN@cO~sh`7@nQVk!bp5jx5V>XXmph51hJlX(_+i6enz)}wEioN$0c<-76bZX4mN zkhAFnYOtkY)K)}c$!nDbaq?r3?~fF6Oy9s(O995R?xtaQ?Unr1y_?!i{EuYi!Pr7Y zY*ep=mY>V`W3e}hLasw4=MU@$wP%X8fbbPHHU97h#Nx_bkU;3(!Rcsns3>kcVm=^* zUVV#5PxxlS`nN4}lF%{BAL`Cqxn5*DdV3=bokLvAoGkO7CG0y#NNKiZjP-B`Bn-l5 z6t!#}4EMSYTAPHM_iC(;{Br@AQayjjTAmp}rG20)J`k?v48GfLd{$4)*Fa5dkzFc) zJ%k_@vlAIAbvdHkSFF!XbhlM%kYAJSCDD4oZJ&@di(Q*vyrQdBfZOKuzR{(*(_#LA3j_GEFK94r_G*S02HX~JAP68T7P7Tjzx&AYB#?c z`Za95lh@FyBf8EzJ4eQ3NOdhWv7goD-sKM~sadsKiB)FPY^+`ywrD@dj}X}!ANZjn zUo=?$&hQ=i$fWM^Q>m#}PYCPAP(>@@!EX0$3zLaiopg?R5vSb@_*+AinZCW=Ttr@{ z(g~=&)d0-YInEHd*j!=o{M)X+-SyVu?ERwnK5L0Los|pJvk_gNBdb5}7YDoo^W4hs zfV#M;L&hew9lLTbOC7va+qf-0j;AU--EDpf!4lw*FAgXmpD>j6Vh#O$R#$ZXXOQF9 zn`i_3C0gl>xS}<=R9y!(R)@(g3qL<#;j^L-XF72p!R>2Wi-+68MGO0L`&I2-7|khx zEjfqbfld~i!TCxyNrmaG{xZNIJyQzu*`&)D9#2n8D~Dwk~JFVzrS_0<$$-h6F$202dO!&l3j&yVZeYp zxcTx+Zk1q>E$-4cG~3?h=!;upA}%b^!XUMD(~tF2&jqI@t#Y*|e~rGcAV)b;JrD~q zRJi}K*pq$M>V(H=Yr+r+bMD>ybYIhR2p*UPCU9$(b+}HnXFg*5U^!IX9%+;O6lE63 zrw7uBCKq)GKU@NQaTew@%Zk>>Ri+?5sYl8CJQeh3IQ)EksIl=a2DxZt)`~ z!fg2-M{{u3+T1KzZoX3C{3xj@Z9SaIQWlXE-6XB?XRkX6NC)72$lw80 z4vnG#7`2cqBVbF}-7@1<%Lm9iY5#t&JD2#5Sa__J)|a0(SV|x0ylj{|nCzo%aV-+S zz6c1jv3{~CyX`Cok9AnC9EpI#gtWedDH^uop#e*YCp2mGuS+(2FsV&9v}U)!T_Fn{ z0f73Aqjr<>iyKD&x-|Za(XlNsGXPevy2RP~RqwyG0G|2u0|I-i79L8g5O$3;eqVnP zZT?O@128t6_xH!C$A0@5At96yKLbjJgFB3Y~4V# z?r1H3mP47tfq~Ci5di~>7-7NlR!U{gLI(5rbi4Ja4HS@o0)wlmTuZ2j~W*vVw(HwRt3yGzI4H?!o2kCzf z3m1Mzw0k0typ9cY7qwrLpeD_V)a`cpsM|zAX<3Na6w)u;!h_*t^4-;H#r3)#LEK(r_*9T7OPL59quem zHABBWXDk-s{PYU&8&+sf%2(Z7d~9kTo8Ueiu`F&pR zNh|*SwdCM zUFs8;=bxk}5QfL~9coA`424mHgWHYwzAnZp>LTO)m0EAH^3*V_UFMpP9Qbu&D-C)EIsA6n&c0&Ob~F( zZ#2o*mJ1$av_IEOB%*&b!Y3!a^T3rWKriaY>%SKGZ;A?>C(9?@4&G9Ft)JS&egu1a z$!_7;8yx2pUD`H->uOO3hqOvia+Ao~_40?!W6S|*u~CK7rHc)b#79$&_g`(^aCz4f zn&gO_0Z5hO{$7iwTpC{2MU06R;$ywFZiuUkD=^@0*@b5-{Hsj;S55Xm*Ox^sG?bm# zbq1SwLg?EhS&S|1kLokMd|n>vUDFXs8B#mEhW?_he*x-)k658>A#K<9$P-bKQ;LQr zC!xMGk?Q%!p_3y_a^#QYo~_30@q?W_1+>1r@4}>BZbYYu%T62Ya888GYY5jEI2l}- zbn^X|Xc?Oq$6GmjS%i;01{cjgEy4#v-+rNF<;WbpfyGC$2>H4kiF}kOvN7mMhW6h% za&O#{8O2$#GZgQ1sOYzQk95(YS)s6d`JJ=%7oS^OEodHPRg?pxS90Qi zi%~AWV-%1%9Jt)CQb67E1Z?8k7b97$v!@#X9^DjR3uz*Mv40^E^qfY4nTQ<&Q%8bl zyo|Q+Co+P0uO{_@upPnAC3kYs+%;C3aQGJ)K?5<%KO_&c#(})6#ttm2A+;pX}tLPx{=(Z0(D9pEuFmDm!vH>-GS5maTeNNVVK z$GMJq;+bcsmtD@p62Tql8{82%GlgCrY z-F9_nb`|{;Pz3zuqG_)4=Z8RKf?MMDi!$JwVBLL{#FUPC^dsX&2>Y?DBF($ zKlDVz0HFJ;)MQJRnx5%wq0KwQgJufcW}q><{6rvc%QNI;p~RLg5Hwf(o7d(go8yLV z6}^^QaRmE)1P|0U^r#C}@GzgFdW9_rs{ zY`gcr(b&XL`JR*9zuv$N>?!_3frQB>1I$Bk?HT)3en%u-T4PuQ_9b-mfNT|}ZLrvH z*x_(pMCR_G;czsh{3?xaeBc?){Gx89QjG>Z{j(fUwcmItT$}*T9nCFWJMS{`$b|}j zn{9F$extrjEF}0{{0j$Hoik*QUxCfaW*v6#q?gulf=$De5ey42Jh}I zv!}9(X-FDQr}2tK+{u5_Q=uL87masH2k9M5$f(Lv(eAL)ej^mFJp)r7_u&o09LOC$ z)s|vJ2I;xe6b&O?r%DHL74}G4QUszA=vKVB%9?UqQvQ)7ca@5_s_vy!-upU7uDcNK zG{wIe*Ff1VV4qF$dUeR4#0FHF&3DAl%-dnhd|mq++-+#Da#9Ul_Xd_@!4D-~ht2H)=3_z9QJm5mNKZGaK?i8KK z@cE4$b*)y)?XmP`PU)G83VXUA)G{}h$Me<(Tea@no=@%xaNcaiKkjlepi{wV}N}y86kuso~PRCngD$C|g z_hFHJuT63@FTi(|B?*&$Ai_tOR8}Y2$%;e8+MJq_=YZH9jyA6?`4b4BivL>x<@g;y zaZ%>mKLA68iKi3pJpN+d0b(vpikF%%;UDmrHrq?ny3Mx4`}!nz6vOq9otEDgygSt- zn>{dN5ijIDITY;8R9M(_*V;60=WVjp91$jEi0ee??RZF~f|9<^!)yx;1qxK*BCSfD;)0jWps z+L_!kU~aD?2@?Gt3WUH&wgXR&AF>xNq4aOJ_uN{5p-?5B*wZd^M?&2~zGRprUESb! z=B8cF764zv(Im5ML{y%qOa&If-xX%uBR-l10(M~^T76f?&&?$1Yu%`_(gwu?3H)hl z8ExtmKys?H*8rCLBvCEs{6Brx|IbIg&YSuxK-h}CSA3Z(fA#u=>x46p!HkEBm)6{n z-qO0x9N&wDRV}Jh_Cw>C$(Af={{=D+sb{MttLDUyh&93;{yW)7;c>qBExdLB;U1AU zwY2$-Dr)3mHdH0kieqyqfKzCu=~EMRqq#E2S`!{B^E%`BsXB2AUHX$0^^B{apw`#7M=jRVs^w3wb6n&W)z>@LdaHkC1_Vt7FY_o0+rBS|B8WGg)izZ?Cn_Uf(%m zoL}Gh%NQ`2bH4MP&->i>eLcrPtWA8H>>)!T?2A6%Xj4)M9`_b5>_Jr2Em<~Ebt(Dl zZt;O9yt!sF6gosP)(!augD^Etph86ugf{BsK6##5*N zu3-PnbKu8wN}x*v<_sr*R_8efJp?%gJv}t@I=$sv1W)8Q5YO2BUA~@3-@w(IEpPMV z1XXhe-Qdx8?V}Xs`p?f_l3=y#N5)TV_ZPa<1<=f<0k*=a zrcW%}ZzadH%|0G4gV`qz%9;-M?f(Q2qF$+idV^~nDyzKKkBHI44nU1oV->iB)gqTX zFSK1$mg_gqGQHkak?K{PE#0Puh2C=RAF>6uRLDJdmRmCV6h!&{#A+yU>KIketOZpB4#0c~}UG%2bC@;G_* zMo;w2Lgrq{-8?+_o|O*j5p_r;#k4YA0<0OY-crp5U0;D9O#u@nrv| zlGkdigQzuagnEe2!%BIh>qt2j1mwh?Le8<_q*pJH8&dwZssq-h7GQ|W3M>JmU;%#i zLwt{X779f?7P24B$EH1+FHoK9?PX1pnEWnFXtx+8*iYrpIy$$8&Z1`XW7nvzy8J_f z@8jLGA8-;uDf|mH({DAYh#MZ1u73qL)#Hl2XK9h5Ff(!-s}; z=BLr#PR;SQIs72qUY)}4gP=AIU2Y-n*K zjXNiS$4+apB}d_1XNINY0#|u@E*AvA8KEq6#F?l*+r4f-|k-(uUhIKw71jPMtiTGIi-|-ok!sGzSyX#^5Dk(Y|0UFf)N~-h^OQip;rNi z$oAOw>~*#m=8g7-@c~|$^E{F9St?5bB?~_WV}Ir$2JJ3m&09uoEJwGzxwd}Bm6aEd zWL1f5(au?m$z7F zjKd7*wRa*?`Oi@_e{(Au4Id*s@sp*A&IrXdLOIKaKU%(4Y`W(_;fu)|6L-xkJdM99 z<2_9>;&ATQBN@e;Jm+<~ul+&I_FW7X~l&1a6zA->EMb zLJ8}Dwd-2Ws16baz32w!)1~4lk$DSTAU(zDW?nhO#8=zb8W9dk{QJxI)Ut(#6RBhi z*1D2XpZZK`4L>q)-Jz5~t9zB8-@m%aDu4%z@Pb=aOzv7lXOg<4p=+cH(L>AbE3M5T zQZE!P`9=pB705}CG;iIpwmO#^UP{*ES{kV@jKE`?RgUK1F0LlruHMIX(tUlZL03k}>><#B37!1a zr$)7lH{_s?>STdH+Eq?yE)*4%Wj^bElK%bl#g!b3NT3;PmFpeYqCfwxP9<6X3y?17r<2Dh1vf03_tRC%s25BHTT#9lp(#y&SLM~PbI z3d|PzQOv~LKUx+R?)4!ZcYfdHT3~N;NpQgq@?Vo~fd3O$AMT6`YHTa>0lb2PHWnIeK{$*6YL@#`eEO z-`wsMN3`#BC3(l=6*rKni1`@>9FKT_2UqqWqQCUB6HFs^wptEmWl{M;;HBZc;n;n} z?uVY6$-n|G>Y1vn9Eh4wRg0X;PQhjHeYE2C4?>3RL@}d{(GYoL9C#j?rCB%yiyJ26 z7Dl_UFOa=qITP$bQGI$YY(_)FfULbU-z$|x5IXty>wH~j@ABVNR+VnLkeYwRqtUp8 zd@#M8J3QCKw*p6b^*>5;X3WaQNrNFNz^oZyDB6E&A_6~rE6YZTp^Vr3?9(4j@%AoBAV5M4DDE@dPvWq)hl#frW;Xs;1f-fJbk4Y9^@oFKCI-mK3oP<}NpC&t`Tui?^|3W{Yf&qvo%EW(n))Mll6`T*O6 zUdC7?&!rSGD(LXj07CPmFqG3f+;0qxe#5llQYFYl`{@w^6Gg{)iYM1kk3->G`UlL;b4FI!&pa#^H191Cu#D!?KJB@=dr<6v?9 z4>n_(q7tD-bO%swt@dx}UIXn4oI&0q|CDq8oA+4j_luMU%W=qNtLj_)z6 zm3&XSU5ixLjv^#VHT5)#sQYcly;issFSu>%!;w7*rVra7UYcLG$g(8OHYjJ$=#ioe zt@5jwnZiYxC$>fv9e_#&LLUp8q=JSp8d2$qz0WSSUb}QRy}RTI*_l^ZlT%s1F%zBh zzAPu$>8=j9;A#G!SS>knJk{q`|CI~{$@M2k42DMAvd6?BA5TxWw>-94k_QzP^8I+H za|{#9#vBVA{JQ6bgAhYwWG&FHL3#Al)|fXW$kbCRf;k_v?On6Phh8twmH)e1n^WY_ z=gR~P5dcmfnyx8h3+W9n3NZ;y4=GAAZaPC)xLy-%-~M`8J~ioJd=yyM@!Y~NHzSJq z1(;VqDjGfHW&`&k^EXGV`BlZ{Plg2&=+#t z{Mg4TUor3n3O6ifj`3s$Z;_Y9faOcPajQk7XdM^~xTn0rrcHSOog87}d-P8Hza4r1 zP$q#NUKHhi`yF^&fmY5D8S#XJVuul|u8}zdgg2DVrRz6ed=ZvQdxFg1mr@FUC&H$* zC;>DwPi*yWRO`;O(YE43j2wxp_t!niTit*b8JuT@;yk?i^OlDF#6hKLZs%3Ih2agf zMl)EosR?xcfR~OBq{Em6og-@>r0euy3H^fE-Z*dF$K%4AIWJ#PzF>60eflUa@adiZ{_Fcx+ZTEC9$@wZ zNbZq5N!6jbT5k;;Pc(~Ivx>8#M1}>+Bh9Y~2PP`Ux)G%auZ@}#ZpR2>q@25ebUD}&GAm=vqMY>v}4y$qknnWjtf9;T6fV0xM|vaf08hL}Dt*b#G<|H$(T zm0RYv46( zvTCRXVVPdGI-}bQJ>7O65imL*6yh}xEW0KJ;A3;;?>D0L-`~*y0M4$)J@@~u)Y<^l zjwg5!7J3&WvO<48hpq^rmA&?Zk_hQX!H?wLs{4i`%0M7LN~JaDlHDxX1$H zYRd=Mu=tLCNpcdP_qD_}`q3K!5BwLWukW z#{a(xtv7}DF7kJsb^m;a%1Q9)<(47kVu#eykd)+w7FoTIJ>T}{<|ImqhjT!bR8KSK zd1HFB1WDA~tgE>}Q;GdLg=(}P|OVsRNe?b1`!RQmN@636h z&+frJ?XZWRM|rhtWr;>IbwpV%ZghXj8cvKU(nter0%(X=ZF0YtDVF&|Ji{`JULq%j z0nD{S58(_pdDx8U8@USy;{U!hG-SK^6!7*&5OIeQo2{sGoEQn;G*S14r82OfH>a}* zMW?0xQG_{jRmVjmu&Z5XDm)_{XDQphGidut?!#f&c5_Oa(XB&3Tqzsv1a;*spKbaU z7Nb3jUr#rZ9T(ItU=6uOQh)0d);QTez?}yB(*9Q zAQJOZ{^sb;`U!Mpp1VNQRmV!UMi*rx7ki3?a|z3SVd2n=W&9i9;u%mqd1f@u;UltK zn|$D!?1~5#eMZT1*sWEwYa&K!#YKb8w`BfhVDRLm$Pg4xTCikB->&cebOyF91+X%@ z&}BZ)RNrfIX}l`ZI>(-%Q4t^M`T0H`kNuV8)&qpq&6~Y{%|fiFI~AIXj56O?Rd31v zo!lOLneFDmrZumSu6HV@z!Db-ZnLnrYn>HJZEt=M1UwimPg7H-(LS8>v4am?N#ESI zCj9D$D~6G2t74#jKNu0$zJs!9b#q3Ya$I|g8EfWcnU;Db>IZzWT}y**EU zf&NpS`2L#h2|$95+d%%$)@cu3?NMEdtxAE@Qi_l>^6c?qLp{IDF<ig$8Az4YYuhg5)gha-FyQ2yX z$J)KhxA#OEefaL*;@c}OD!#IS{1V3nOHGhGoSi@$?((r}vCV~d)~DgFYfex0j;VF= z*pK(~6><`!BBdr`)Q{OuO!?+DkI2h2p@k0QKZ&PeLh7|Zg%ptR5* zNwE|QhXS79D>j*2xh;;r=i{+fh#pw! zv|&CLWeu92myqJ3gQ;&>6qgxmJ;)g|s5eqXgZA;0SKUq{hZmz4D5gZ$r2f;(aFWMY zjpyy*J^qZPD6893y(yPjWTlJMFWqUQ`25p+3}MWuV@ML$w1s#T^GG(A9~JxJEz|}Z@AJ(Fu!)`e zWm&-Py1!31cHgLp@N3y;Cl8AX%ew^MTrw{Ph6xQhUsxK$TlcSiy0+KObANxG7s1+*))n-; z;oL5xz+;>SdT`N|)?fap^I!t#A}jX+y)1uczcwdak$M$@tL_eBxT7BP87;yK@6@F4 z`n#v8x;+@FvV&pfjEc@x(}cl))jn*$@7*XOuI2M`Ofw)*bvNKoGNgH|5UlCJl_K$? z?%#~sH^1p8E!SUO`H9w~C4XJm?v}47i`z{orn$ibhiCgo1D$xo3@y_W4B@)WE;H$k zZmisyLb3Vtqn3Pr1^C+XjREzvnXQiv5B00BJDQJiOtG4hxV;gTxAO~G61v%W{bnyh zNi4>;EM0Z85?d?fiVHaN0vE%#=XbZH9!;2Ip7pU@+_E3m zZE$5`dAC_jbEk4Q>0Yiwu#C!f-ift*w=ImCm|qKzSIy$s(9p{4T<2ot(viC0PmFfZ z?uU39iZw)sQ{!XCR%psh?pyJhyMtC}wJ4FDO2M1+7r+HFDnWLB&KpvXegq|OzVY0r zD;hkVG}nZ#`#4?sa|he8A-*&E3K+m99e++wW(h3pvs88K(Tu3WF70O%SEk<+vuADY zkLDR>kD9xkI+3E8SyD{aG2bq;m=3>s5BCWwdUAzU0^{37r0;lq?=+ImWz3FvN%`z- zT$rnqHZk12HOKkqo$zhw-X|}`rhtZ>dc(6dg_=UnKIv8c&F_r!LM%mnc7^>j>Y3U? z>@cnM!y5aOvl6qHa*gPnc~#8jiNa_@(ZDD`GH2*mscZU={X;Xapr(p>c@*$C`jCG` zp6Gx05iYl@C!)>aU*_imXUy;)y>-u2BUuY)mu**SZ&XsdOq2I=b@VT2-{alaV=i%DH^p0&|n$h4&`_tX&@sjmN zx&5;ncualZuAKU=(8cTJb4B2sf~{x;r-g%fYh%~luDGy|qQ&wv5@3mR0Yr74eaXy< zXi$60H38XkYYFN#ZD5a0ojHQKQf$++K|*Qgbd2HowFF2_m!`e<$jUI)Uvd70h4@*E z!DX7!hskB3Yu@0xT4%p!u#u`@*a-F6ZdSJrwEHYBU`V=yv;cJR<2^Ri>+d1P+ihC^ z%}J0F{fB{oiHr@C2J`p|Z=DEFQr*4%YDsHI%rTWqJ9Xc^$Ylv5^>TCj-yllN><5i6 zD&s34N@T^enz5kxcTsB0v8^|6%K$Hl6v97#xIpnijr(kc8WSZ!HqRUCaca0I&M$f< zS9$Q(#%LP5jJ(K&+gmJ0vOqkd5&{!%y<2b@-8u(GLH)9~+Z?3Ye09U`OqAP!9z6B3 zx8w`nlh*y?+b;6zXfAmfwaG8Cmj`@0tLC@GW6wQwh=94AMKF_3ql(vt1M_e;`>Jxg z)9Jg~lhuStX>}j+A_G&ruoaP`y-Qt&*bs*%C=+U~_`0B15YWm&rNacwf~tY^{!L0I z*K6zp7ZH|`f@b0?ftt6q)SMC?I|ROTe%|(Nm#V+D-=wJ49fhGjYYBHn3?z= zyWM_|+S!eez=YAsDvwT3y@u!R!E<)taAL9m@@(#II`n~{5>|>6NuM&=44tj9Ia0zX z;54h-mWIgq00^&Yd9Wm*t1@nK_uhhFUFZ(E!%h8hL6ky?HK3`{w-W%b1sLCVy)s#{ z8oCFoUp8}N`~vbq;tV+cf>V*TMn~)GJe*%=Og@>QE+&I#ZVluxRR0=Hc&oDKDX{bm zq)o;R)oOZU&U3m-h5Cf%CZ!)OU%f^Fi>#_9rnR&i+Yz4-SFJ|VmLjD~SiK4oY+R$j zEoxM#A$%t95!^n*!bIGgalKm4)1J~NKKa!uccVZj5ZIolbVv!v3Gk*CaHLX}$R2(e z74wOo-TQ~ky^H;EOfj&jJ2|Wx)##eR zEH~?{qduuW)(^AE9#m8q#fr35K;)@p-U@8;*)*i?$hdPh&d1H6U&_H3?P z(M*Ml@n%PlS!B1Y0$2Kd&gd*9SB+~Y-*MV_JRG6+zA2%FV5c3mf`8MQzHtNjTL$`B z@HnEX+&Lb4t-^%YBZ4sg?S4h8!Szvr#4gCM;*x;bT<kW(-f6`n|f@(^R^H(zoF84PNCc99Rq|iQCBTcy*cYGhu zGOp?MGs(W579%3K4AQ2(V1VX|Z-JC+<26nj|9h?EByraTO^YM}l!$i|PoJCXNI5gw z)WDWsvGW%X*hOUKeQo+HTR(lxc8l>y(GIkuT;qwfSKaOz7w5d<;pT!`-r5=;+ znZ#xLnQ`jmHh6QGHkT-rDL2wnnOPMiMtU!3RKC_}os^qSamI07o!i`9eX%;+5%-AN z2kUGq6&N7qPp)H4ympU0sfRk%1^bx6nYE7$Tf{KVT4t-?jgKb0zvAtJzmKF-OqR0b z1}?6ygl^WJuhW4osxsTgG>0~cALEQP{!%vEs_gX&Xrse@?*J_{#pc~fNg7rog9D}; zo&>klrrLpYWxH%D$~NckrdUp|BpDRwgIW$64^tL&q z>dF_`0rHUgi+l^ctf{1BiD%SPIF+^HY*?k?ko_^(ns(tv^qex~ua+JoD=#reACI~+ zwzr?_frB1Vq$0dOZWs4@ZXLeSbz@R!zpDFEmX!r!xS}*;vs1uC8<;&y*xa3d@ylg) z+?>hqsn_Mi?Kj&H%?rNS+0 zn9R(v(YVGDUIcDyWQ`rSb@f;MHlp%1?Q#Ekuu}@uRZ`g1%EXmm&Yp)XJ7PQ!}4LXcsRU79%bUqYs z>MKc4=@db6xfebGMVb;@+}C>mA8(wUvr|jiuPhaZyoif>=GBTw_J#Q-zeRiR=ef*iOOBk%(bWE{6$?p0aPxdY%-NK_Q)?fYui#WX%gvQey(thCymg-&7o){E5wXr_rK?F&R2Ks9No80rhXp#b|Se77yDh@PgN3yYXy z&;qP~g*vENjr@#$s(%_e3-;;-lKasx>ALLLE&yo66Xcp7DE=88ps_c1w*z7v^IuL$-nSUSjPYt<^+&m8Djl zvF?!TwX}JjD=@&T<|6U4qw5iQq=&|3eQ}RLKwPMAaU~XXv_V9UZjNO^^1GE-PnZXStDfvhEl`ViK+LrgC1E~ zt6hbmQwLVW_gSV*7>zEQ$r1FyZuZ0#cD7xil|uYa@J!{2>9E~XDnDQ64*hi5WvV}# z;MiR3_^XI&%gg;%Hyk84^gJdca7sYkGXfsl;n29&up~$%Ps9$7o#>aB?eE}`znh@4 z1!5dkS{lnb;R5&E=7t9Op4v9%%045%jWSNKY#F73IOShhek|{F1Kj>V^7E&W5xrVz z=&1&5bf+cW!g8vTJ@!<|l}6O(^oPc>cg3I1vK@wb=`J0q3D#}As4L8DKYo=F>I8?i zqyD3bt=*1eTOk*zNw?rqx6i=D7A7c4L}F3vwx_^&%5pHOh7uu{cXHhKhfik~V+Fe@ zsUe}h%Pgw>V)<;R)N%Z^NpODPVtr86qVbB<5u66})9Kg69$wRGMmPYtj?$ z(q0Pk+izfCNT6^m;{uyuohYI#619Z10E*C>HSgsdLkm;ctqp^(nHHW!!9;j~n54xG#Fk82TqIVBXLGxbU!IvVW!O=6V*K1Dd3wg2l3SvH_ zXQ|Hi?D`pCmeZy45&zc1O9^Xubq1`CqtsmXt~$?&NMI?FGK&K6un=w3A11?)A9wyl z_n81D`vGvDgozW|3kh+E?S4^IfazEjVN@C?=+SEh+2GdQHb6Q$T(!(yxxhb|19vKl z=A#vl01f)H`)#itD%xP@yi$42x#g^LBIa0e@c#?h$Dr~J)*uF{G7Mgu;13q*iE&bnj`g%y)t-ff8N1jZh6C*Hax^oo+97!wm_;I{;445&@|{wVaS*}~wE zGdz(#2$P?$GgE`+;ScD|39-R1>=h0B65iaKzR{B(yv)9Vc|GpUXyV$rn#wlriO6BmY?bbgg#wRXDK; zDl1FesU{AB5d`0X<)AuVKQPy;{C!CrXk^?NvPinq+S`%)Iq{zG$2rAing^r3mzG1Q zQEnZ}5A(fN8ARX7Uml5hIA``6%|JV`qZ#MPh4^vn;7!Q5wb&N*>o!T-K`@d$G5=Ku zKtD<(Hi4li6LZOz&_E9-d6Vkxc^JZl7P{L-CMo2*1aWslt^Bnvtli^AAl(Yq#)6ek zgWGERm#`0sZd#6_&M~b=-CNfzZg-%1!l+9L@U72~W)|*QOMtUZ%%Q zzsKN?P-0)j0nARVk&Vr6j!pnwW6381M2v;yQm(Uz6~33LdZw?sw2_(mxR8;n-tkp# zJX;$3SKpNWmAw{n01!)1t~ep5xv+;%I%aaKW2S-p>>_klpt48KT@(@JyBZ7FJ~b<4 zJfcy$d5VW2s3snTW z{*S&-_kZ|44HDPcLzh4g#FfayDo48dcsz|h{3nW1ebUI^QIx{sD2JZ&8G*AIRJU3$ zx$k^70gs4#ldCkhvJ>8vJI!GHj7^gPf2)W2-DrX2Kw<)tq~_;z$<0XD_kkq(xm0AA zN?Fa8)NTQ6!=bBQSWeb&tA``SJA!!ih|%CCqp~m)swN4R=JrS+syl{}!q>qwyKKDc zETAD3&A=l(+g+-q)rUsk6}7>1W){C$YsV^Mb=oTKMt@O0Oc({jf1CCq-`{+7U#o{E z`Oz)_t02sVw)9iBk>@CPCpeY=X+4z5hRXp)pY1|wirZHE=%IzJII9OefmXzT)NrW4 z=X-x?Ctm*jfKW9|(s1|O2^k?IpQ8M3jz#ncKU4=NjPtmAsJEzM+eGXxi>ZTo8GI-a zk83UN7qLiNDY0qZBx7widSA0Y)y;|E;|izWVXvLHiHgGYAr*3gVd zn=dnw5Gu%Pyd)yE^OnogBRCE;__k|Y{_)pqa4A9ay%D@Y%$Xa$-*YAea0ddX-VMx|)qCr^;9$~4{w6hDXI*qq~gP9=hCR+>UJM5?EcLojk&kh<3G~b@%{OR0n5x_SH5yi205m zEK##&Ys2|N(&`r|+qEn1JS|s>b;_j3n+4(ozoyfj)d@GI99P}y$l`hv{P5L$pqfk+ z-zi#t9Z>IWGVpH-j;+U@0}OEH0uv(?-6=7b0shu0slfO@Jjsa%ivaI8r{-GR52%Q@ zBX7dRyMLIH^$N2ybBwV&{m%`WbVY|k7a_O{gqb{7DHZv|V zy;AP&%*V^GdB^Tf=r{YZZnH5y?E;MnHrSfQ$v%r``}BoZ`nCN5DqKirk_fVFo!4rf zO|iEd8pj43Y>NWm(*gm&cwNaYaLxA=4IuXJyfB$H6fE=&fRT<`A}QdXwtLHK;JkRs*XA#Htv6SOMNpjGgb#9*ulsHy+Ku zZTR*cCZqMCpoIUZcr8_g> zK?Xt9Gg&T(AfHGdnG2y(%Y&FyHP^)U#{fzgH3y7g~;w^RT0 z_k15-{2P-u+tm;Dnwl!&mFIO;CGFb>=Kq8xW2|b$YI7{Q|I6gPQ@ivjm$uafYr!JM zb@Iw{nN|?*q2}v#^h-nKJnChDB;54)(DMkXeO>lxV_|^JFk0XWsi#l%5Lag4e8x#~ zXzvnCbR9@YWK=Pu-CbtoeVFS{S+bm3T;aMyk2RG%Bg90=)(bkZnvOcYRloP&lq1Dh z$qHbH<(!YenR>QQuY(n`)%R4#yCjXarsie>UslJPZ&K^Hn0G{h@nz=-=j6Aqjvt5} z57-@53ts(^I^;e%&S^%8$NR%FcP9fh?_w`lnCZ0<0&t2i}3(`jVaQ?I;ncz-NW zItjl`|H&OIP(L$gH8hbG14XnMM82Xbc{t;P@g^OE9O?P#uv(Xy!IBj!>-i*S&W9>^ zo^XM*2?{GdZ@Uf{*pBUzgEG4OCWr*yz_CZlue^rvCTon!lde9*wCr!UcIPZ21cLwf z#>QSa&WhxHOCvzPfVUhc5({|kqaOGs^;zr~ zM~>6OAdH-+*St#-PJuTwx|vBgnym@?_pO7QFJRf^NCfXyo$2q@tvHP@bnwl+Li>IEMPBhv;rs5V0W4X)6bkgsu2+>op5LGq?J+1|`SDCm)Da z+T9u{+fMSoKi`)tC&NBnxk}!>$8^{@6*ZPe6j96t`*x0&cujovAN#c`4#^Qg)#%i@ zR?>DnfL5PP7D(;pa@BK9aZ6R~@iOj;f)rvz#dqF2yog*z|H#}&arHvsHZn8uiIMXN z#;6JQo1b8sEoP;MbtY+FOs8E8O{zpHj2GzE;+a9p624ix^rEw{X4HEo@Z^M zdC379U*peE-^&qKCCgRZEW`q9x-|T)Hy?PDEX2kweZkMCXZHEdlN|EJWyh3V^G$ve zFSplXTxhpR$#DyDtA{3j29Loe`lCn&88-ld zs390P|H3$Wd+ZNa<{N5&ebJw@3~i9>gcNh@4#Cx8g{Bo-Jwf%|MDiADB#cK~{@K;} z+qr*2Ols2~qe{w|HyqxqM#3L<`O_hK)|J{f0`yi=Ul+Sp_+ ztj6xs*fUY%bP{l$HL@9R9@T>h@xb<#bt}f3xAD%5gR#%B zR1G1e_Lvsi|WA%Mk8C`%V+~EtHhmXDT!0v9ja_8pj z4p@2;zWbVWl1=TCLG~c)JN^gJYSim|lXcmQTZOME;yWei`t~+5Qmo=Dx8U zArf`^17IF&sQh3!;;T2_v$N8(3AZuv?NJLf#BBN4Ox7mjxb8Ugw*k3Inw0D!@ZV5X9o^{$J<5tRtHYi z(baFK+J*-{BX(D*D5$`4GrMR*I;rBXhrJ^wFMc|L>$yO-CbUCt5InacHFlr9%1?rN z95aa{9KF?Qb9gT+VjKy??r4va{tf-N>%IiUW`1P|wqSw;B@}+z!R-?(1T;yt?(?>K zZ+~=Z)|Qu5i+K#gEd<6YTORKj(d`dLu^&I{>^dmu%qH&~D&k4ZesEEcMK?3)UwM)D zhgGeQM{{J0S14fx8Bt#QC;yojN%(VKBofbHNZOVn0ity_j3(grbl2IMaO5iMi&F%% z#Tc(QwWNN3?IAcQs-?arJHP|Cy8$pupJE4TT)VQ?hN}bB)pY_vXRXbDGqI3VZY7T- zw7872;Ud9vAlyr$J(BG}l6Yp%{S+T2b8}iXWUWfBlh8d{V;9gy@=fcD+^p$}vM9kQ zR^Lbz&t-bn93x(no(5rzV+1%?j&%jpQNox+@AECf?VDgXN_%GYv=T{<-svmSkrxhf$y$zT$AH|r$VV( z0m687v4EZrt6esAmG6eE(4WV>X>mE)vVmg;9R!freHZS~G4T=e_6eYG|5a9hM6()I z+l|?D1X~~TY{Mb&LEwFE{&-*di`6jPq#)XG*SEHonGF~W(1DAiqX`1aI9xP z;pTde_$JV`+vGtIt*7J?f;eJyxOK1Hzo~$f2J0o$5?&lH(kvD6X^ftbF2;OK)l&yo zI66#u2W(<;sWY@JgK1jnM(ZOf2z=|L^pJJw*MgV%1vI~Vqsu}{Y(0hU28@bI56{jQ zw>F3s^ir4a--dVe+BIGHQuSLZoe=|{>3i*|q*ms6UeZ9-F7$%v-3aP1n!TcdmXO30e zoT#ra3v0p}+?W?rFG`NNaPAVK8x}ENGsDU5@yKG+v1FxR=v1Tt9F%j) zt=@dusI_=y-d%dR3sV}pH6nUyrb6DWPt?sV>Jc)2#(TOBxQl5F9vWB2$J2u~Te%r5iRm_2&VDIS+5L7zb-krv(TUT@mP7l_k}RQu|@W%xgqTuil;9GisZT$S5F(26%FJ;nYc%(eI@-%k;}qahCmBI;H~SzKIVM!^~OLC5q#r`AftrBHW{BPw1dqmMum?zgJ>dA;BDtGG8D z4#fy19%4&8{qRcc<5Ln(Ph~G%&(YEj3dSSw2xvu5Y>y_CQ%!Fh;#5lvnk4S*Y-;r| z*2rr|`bP0Uc$bO0sQmWivo@zJW1}SmM67O294YD@ygC*#um7TfAPF`Rmca#@F$*XB zzwlh5zoI#&E3O?1Imvw}^a?lI0WI4LQpI17;F$2{wYH|W%3V#(4I>TY;wnybxQ*;} z`;wbKeA}2rFl%WdS|k3^2^$g( z#=a1$bdi`6WTtYZRmX2a1HJ=J;gs<^Z&!eEG5{b`{dYj-vo`=BQvm>E@}p#&Nuvg$e+0Fb zi9rOZtbYPBRmQSP6$G2ptbhF;)B*!REp>MJ)Csdb9$d8MdqNksG2;X-+aw;;I-T z&d%o!D~@Ur!c zK*!cU?+LI-Ol#Q+9GhUf1~K0Jp+Fccm|Ygg=4nO3nm7}};^TJp4DQetcn8WdJ)#!*h&XM{TYJzLdnZbVaU}}PZ<`i2@$OT+B=@ftL8Ah% zJhBXl{RnDyILxZ#yXrS7P83L8apWgXax!q9;JiD+@QAbLWQDdo*6jfsFStPo zesS%1Kg7xySM4SUH#(mTxFBWJI(H~W$*)PXJdy9Edcq84HKy{m4Gpte$1fQzO<`T( z>mzE9-cgqni*cue7BIXP7ZnAyuRQDKoJ)&&4^y2Uq0ep44M;zXJ)JPuMVfa&*RKhh zAn!zNIL*wX)(EQ-sPvrrn+`^guktU>WDd8Z53lt61EQI^7wuYRc7oeVq#I_KtmZ#n?|)sQslgwQ5x=*>wSAk$PEr(~DO1#BdPq@fE!mbSE3?f!gcQ0&f`a#S zY`J0DXQfs05)!{dlCl2@vEb8;4qm;{GHRS@R$#oC_X9@*2$~xz_B_yBy`pH*bg!C& z)XCDNIrFMsTZ}eGs`x%dp%RM;i3?J?&Ga?n0rB{~bK@u3l#8 zw9G%@nHd9^D2Y@x89EPcI(ArZBEU5D#3%_5`<8AXqh#{^Kx4n%^+xYMGF>l}B1QKx zu9T-fJ$g1+HWtUVU)U=zTGZ+!YNS)7CrUiLv;;SZKC`m0({#I2jIi}2Lul*N`ZxS^hhAk&;h2hE}z=-e?=P{KbWU2jx9 zZfv1ox?S%4j40@mgA{*t{^oz=XwK{`$dIC{Rr!`K1*>&kx)Ix)EZ1;gmgQ#%M@T`+ z@OsH`bshKhe#-a$Fy;XfTIc0&umtk%-Wfn4V>(( zBh9`uSyV}3u1K|r7%#;FdyR_ZpEja@?bM+S=GwOR`4A}}Fy7L4(sF6X+(UPfu=~?2>*G4!$xUsC-|kjh(Fx_ zf|-b8JInc`6Pyy2%+>xghsB#ttFsMPa))P^=MkF#eC8x}B+elhS$-pPFUloDx8M_2 zBcbiZdnQ{mx2$nHEo#!`{v6ZY?wWK5J>pNJ@NJFMcNu@sGu@tMO(kdj%_BUaWy`^h za65O_t>84_$kQWmsjOxpq^@uP(bM<8(3vU#I6}jnQvXO{Vix}yfHWP$6&G3vm{n604fY3u(;Jk4XDmQnn z_^A)*4Y;R6+pFsne{hS)w(Xh@7K?%Bjeg61p|0jP=%d`GLO!lWHsT^p{=mdG_Q)O3 z&R9W={M3ovh%2pEMCtghzNUf+W>>EM`wsh$^;sU)Z~}n1oxkie7)lBM5t42vLE=q& zc6rNefj5(K+X`ID$BzB6#1q3M>{VqLDDY2gWX;H6c+^QBk7e3?LnJ zG73@!LXFhWq$-GnpfZY#AYeqKS1AIC2tw$cPyz`hBqSv48^(E_d1l7<|9*Ja-tV&) z-(0Ln?(4d*>nz9lJM@Wam9&8twnW9_;`JKVt^5aw(XmEH<*c(f15K>r_5j0m<^h%M zt$m?K3Mco^?IT)hV(&A|EELN?{*Tv5aQYU7i4BSNFHPJCT0--J2LY*+yFM#k(t|+=J&~1JnVB* zpvx3QT9Y&b=rWdjTZ}7Y{R`^%DZX!V#>0^xx!szg?6(omTlYE(oZwXwQBA_w$d*Yf zrnUY;aobY@3N3h19sv}fxC zI};lvUyId0r*^P?r~on3+vRhv=&0XM;<&Yo0o%oanDH-n2VV#fGj)sbynaH%R=k@| zKJA56`xh>AvbXY**|qEN^?0a+4oc}x3;%7WrpN@8*Q*C3#sK@T2ROKtm{A?Xp&;7D zRTWW?tY6#DFl{lm8UHgW0}lZtfZYdNXPbUT2d*ANpc(0Qqb8CVyBn(qS`}F}B$?}) zk*(84(tKll-LZ~FQ2fzu`;vI@<8b=~-N=3IXLI1NU*||sbAX<5&=gyI@X}1d1CRr9 z3zi8PGt8~NBCp9J0Wh3!WYrguL zUDZM=|KcFV6@7Zz2nP%YO!f8zjb$#Y2&W#E@D-V>0g2sh5O^9?yj|vaK&{B`qT|Hr z^Ndc+$4ityrlJh9(%1Vw;8SnMDVoX}6ea(LohQbN#SRCE0YT+soL!TLluO0C=JbDq zGVN|_98>zol?$!u+d53DulzD(-TG~oi3Xisf|6G1Ckt1*le3bkNhwNM5hI;$K}!dJ z?4V~j1yk)DI@8-q;4l}@JBGtg8lFn_EO*Qh-(+dwuMG#TJAR=bPk7#*-VFR^_uOm5 z@ibZr55|O**!Awcbd6{sNs+QXauIYF1Xb5KKao_Q9wc=sWbZLHASi6=asHfT2@Eo& zpL;s*An(zo7;hbLN2Bu>q)Ow9EQ9Hx=>4-Kao?38FeDa75yMYs+{rAS4`s>XO6HHy zKYRA&=70@GFcia$G~2iKO>@I&dg!W5*jB>!x1FmZ%Hw>Ww*K*SKtMkK>NAmq9li&R z!wA^X4Cbe~B>p4OG(3XVOJi;!b$fs0sd zDCt%1D_{gUa6(}SqXmT1@YW4+%$53bu{jCRbrY!=HFKGG#aELH2k9Q?jQz3TojUjK zpVY1H;)Naieb8s}k{WDV5aDdwX%Et?+wseeWTU!xQ$r`i{xDFjDV#9CKZw`AwV%Tw zG6YE?YE=!jBL}{>yic~4S6cdUzccXLJZ`*pVTE3i_#|Mg#dh}L zpT=4YG-JRS+-t_Qk$T3|gv)H1>+o-5EdhZlhvtFBkIKP8bes)sfw2~!OfD%ACPZiX z?S4$goF%uUKcHX3`w)0ccE9G0uuG(^DgMsI^j*i6LJvF*0`99HX#-EH0W-~H@OO6Z{?qmk#Bh*Z z*8~tuRX$sO^TM-IZ=ReQ>t)}LTOOI>o46V*);n7oCfjSL}H3;bUU#J zNDt;qyMPn#mSU!L>hgZ)%XdD5Ya>@I{WomU68cSuSYp!B<12uF>94qL$7D?42nc~^ z0yv`&e+7SmJ*kj8KoJO~vIhFF z|BS71aFo`~Lmo@l8{V=kt4ttBPFLc_bCF_8=42$r4aD|(S?$sF7OsiQe=Q0L{&iS9 zQ-)n{Mc2SQ?(cp*rwcXD9nFV#ntk3QN5ywiQ3N9FT0P(%r^G*YnARgDW);f zpuqF7H_!#Iz0#XvJ-5&KG9~C|&zV*Y0Us$%5^$^QIQRC*bJ9ZmhhBGi{OrSiTtDGNEk&3}Q90z~|>7 zR1f@2{oO+ox9OpY-1N{KwwR*;q4neMy=%XR);V30IJ?SgbzZ)syRx)QP@fRnAp@UP zTcRH9$ms-h*=PQ&%VsLfIw+@UIfBQ^en~T5x+LekN^t=^E-QPU@-wzLnAjv&U1^9x z)q*iuy%J7OQ{4lVa|HRM-q%zugTNv&A0!`N%K=NA^xm|%{#an-01r3| zQAnABHtt)RY^wLW-r=FHldq^fT`gMi`hiP$27tlL1S~Ee8hpcG;suDUOR4`;t`Gdi z2N~v(()|vR^+`?11;+^mzWCN3XR_lBikr{AGS*-!ZOVePmAj@n9h1d*q6ufvvx;2@ z&Q%BQEsZJ$BF)f27PdUIG%qYu&xaxez%8*UAk7?xbjpPWEF9!cc-IuJ^>oA{1tgp1 zb3O=&TS$E$_864Y`SLEAecn+o6F57O9A+$(+*gerTH|6Yy4< zS&H#}wv(f8W}d~#$AB~mT*{!a;Z2kLd_}0S>UZ;eqpdt2*tHt!dcIwKW4`Q>!<#J7 z;w8Cd#wNis)gbg^x*T;D`;B19cIe3I$s6Bpm|yQ2UmR6j{b7X}%)h>J&R@-CHAh_t zuAye|+V;jhOWPaQ&!72+AZGLK(+;co?GTiKe!+Rk^Kgq&NjuKTz5D_66S;K4Hx8-0 zGfTfKv^Dwl+jHrSf4Dx*7EfeEeKf^#azh@lqBt#!f>#{#Z(qtX&KyjS_S*U3D7!Zn z??=i@aNUhR_8RHa5ajt}S!GAs(V$mc#bYwkqn=S|67K3Q>VDYhtJGqeAk^oS`!~-= z(GV?zP*=6_ww#3GUb`}5H0tm8= zP&^k70AJ@HqBV=70(sl(menFAg^N*jk|8FJwY`P)!it{I0F|aB@;4wQ(eu==_PXCB zcdDgIV-~9#-g{gc*!NywB?v=Xri}#=!}xDNO7bO;&se&ZjUDxyiyKP?{p60}N7l|V8-68eJv)0{@ z+%zZ;iYkV$btxr8$X!aSX-IGd%_?>KZhAJ7+W^nTN2@%F-#atazSU^}pT!5o-+UHD z0iVUTg>OEKa$Z`iE}LX7U1(4ygqng-2ggT~3$Hd=0_aIs06poEw59U` z4pYy(QsRm37uB4$MHi7pW*MmeZMZ|~(cK55cE`ew1}il5b;b$^C_KggVYArmf?ijp zP`bu1n1DMb4`YP92C7m@@4eu- z{IhbwKIXZd0AKRLpZJp4q~J#CCBUFy(-Et4*3w&mEI(32vpxUW}fqWyGJmJmqV>+GmyYDG=3gOqZQgREHH z{&mYnYqGc+iSH$WyEc=+fsIG2vbzvCQuyo8{v`a8^~;VeYNX#`r{;QsNK+WdK?Pvp zlfpn-G7GUDqBpj?C;^&mScDe~Tz%`qkaWWNzRg0e=`Ou1QtqA@nCnBoms;NR6ojoD zjOA4;J$Vp-Mq2FdzB|2pp$1o3p|xcx`0zF>JiC;#X({OSAUn0F0i{E%w9dW<--%qD zF>x-H3|rujF}(~sxzOsWiUceL{Z)~HtlSXya}QS13{8RPIHFFQB@HJ@j^~L~8>#Ee(_kz28Jcgpa)$y&OLjtH0b(Ss zqbT5uREx%~^ z4(l^JgAs|+{pWi^fCq7mr<__%F1%Fe*SaXwT}pqSA^pyGJeO^EUZX{Xo;B{$~i$s%W!NE5FgKagj} z-QowkFt_d(^2q1$k9*lJBJa<}O55G5;|bwOcr7|k6M3D0^47Se?labFNys6X!dgW? zKR#}F2%|UG5o^KDHZw|o+ckqZ2W}v}F(YyVYgVZc0}ic!7y|5EV#<>!eb`L&16YiK zc1OY+Z&SljznL3>b)6=+M0x%>Z@Mp#w+m=W4bv)$rpgL{RfdWVh`gS2H(^eCA2`%{ z;z8P_6XvF|AfW3n75czG3Mk&~gx%v1n)fM!t2JpCII4DM5y&Ptc}Oekh3OwQeRPq3 z+w=vbuF(X-G|c%z4MICGbct1Q0V31VcEEZ)2zGy)-d$||M_0G)UQJ}o#W?-$!=0pI z83Mjok6n9Jx(HUT-9fji=T6u!znPBGi8fs(1*oyiOt7drulA~UuYOM8`=^^9s34AP zAVDrONn7IjWcApDW{3axUc2fex*ME-`pY?RE(*Ihk=#P`+3$ zMsa&#SZo3B_^r*4wN2G>Y;U=}gy%htJ@cZ7WFZ#Cef!9u`*@E9fiP(Zm91ZRE>gEo zahN+nx7$x?3lW~7cNk{Wn;H_gO!}}}{s>RjWpUa8--&Jnc=#0xj{y7x4YfYYdLR>I zs(k=V7WqH~K?qdDKnDeq@}L0LD+eU>t(aw7d6MyQ`az=|a9iL??vRvz%@ ze;J=GhGB+?xvAA0=P%a=dbtV%(V94mxhwsaBxwo9mLmT0n=b%gQaMM2&z-lOS!XNO z+Uk3`__fLXALT>{QSJT|fwfBVlmQ@S5S=XCoHEAp zXIlH$T%~7XVX>vRaKED>@!p?K%=b9kXPK}*dmVglf9F{E{gEf2Pg>Ha$es;&Mk~Gb zwRy9QiF|8%Z#&R`Bx}C0&K8^N0Z5VL`bi^4U1M~5Bd#qNRNZZ z&&FMfB9l+zRKW29Sp%Ye*dj?}9`Gj@C%M`Aa#oQ@ag&YSC$tMIDdtMuxY;(xOrY@= zOh`bydEF!)s|PXk-!kL_6*6!(8a-bkcDC-l^I?74tCmF0a}uAC`{Gg12};+mJB4PR zPB*!_t#WHS!t_$lAaloeGoz^9G)o~!5TJ4OYtzDkz*j%u|!|HDU&M8tz zpx-u%p+WIDT7@bCB_;9Qf~oT6Hf=HQ(>Q#rq$ia2utL&qxF+6)u+#M7bIEeKBm;<$ zsj;FlOh7i+#q%Po{h-t{xF*nnfJd9MYZP+{bWIHMtJ$D-0?DS?+FM!VkgO2!ajjmO^UQ?`xp{|1zuPcC{n1OgqT zS4Nj9(>&4bwo~rs))laig5FnYM;kMwBX6wQHzD&pZtaioJD}6z1QcR{Z2i)TEFzxM za>_V9zu3Ef2R(JQ-{(Q35l3&nt5b9`UgNv>i5}1EP#P9G>gN$sl-&&ktG|xqCz>|b zPNGu5V{!2##sj0?3P;6JU`O$F)%E0PW>KxAc+>GMCq6=yJ|Psm=n@2E4Zd_+=1M=f znm$?7{L$1VFp6H79wrR;8vtiUfIM`Ojy8=5jODp#k1Zx-#UD&aTd9B^X`bl)wp&cd zHEoY=_3^^n#OIR3s-C5COboZ#&t{mwixj2pHjd5PP2EP%vJT{WSv0W$CM1>^(3_TN zy?habdaA}=cW#Id*h8(+ay9(7LRxvh(=~cJlFw0 zgSGxCH`^}wRZo3WI+V|}8NY^|Os2RA`>ZM50n!9$`dZf+nk5+QpOuN%?@AU@7FFMs zgzj{MmAX3#6fLUSrh|nP9lR2zxGiMx$Jrl3>qTT5%2~a!j}a9f z*869G_UxZc_^>lX*L)Z+I9|Ju0fqCqG>kC9G`yj6czC&2QvK4uO!&Os$J^cBxKj1S z_SKm`y`6t<0ca=G98m(oAz%|P9i4aAS~8%hqCh*iJ7q&{)G_!o3T36t$%w)LTziW2 z@tv+w`x}8KrX+WNQQ}yCWH7~thWsKyd0Vk!PId|W06_UjTfdNN@=K6PJXm7Xw?cxC#hqm zfdxpkW9Fk9l{*)w^fvwXmRA7(J)Fs9!iq7_7ECXBhj6!CA}Yu0Ig;KjK6Y51a*70I z`tDd%2XhKtL13frEU$$iUlpEHE|h9>Hk@pAr$*NK0_yaQy5VNBd*thm#vy$WF1!JO z_0d0EdVnz9J>il!kVuYj3_y=X|AsR5ZgMc{Ew#WHEr9&! zvqgU7hrGSA5segtgB%5OJNGz$(1MnQNi_GG_=&sp4MrbKz`wonFY@F1=S7bN@NYVv zuSVldarD6lnx+8}rtD7Ma>l()@?-3MF=PeOhb86|G){55OcBEczAyyNCNYyomowt` z;e5V$)L%7T>rgGew)CA<{-^}BcZjjG>JaBssJfY&_ChhA=u3M0*H!ODo1$K+<9eeb z#%JhJA2AOMY*ea*G?~%(YCnlg!zP(K_9bv1{SvdIx(3w*#;?w7( ztMo`_rtmv67J^V8$U|(5VZf@0D15z{Hl5AsK?;6M`A%J-?Lp0NKzIefg9M3#-hz7j znfor70uXHp)O3{GBP8JZ>(jE+hsZi`B;PnLmOIUiGWLBbZ#Q)qe0KL~@N!W))q0cr zNFHuOs(=?=rz=H};UxKjb}n`=;L8N1v`WROo98Kh-W{b^ct+mm?zC;Vg}U;q&}~tq zsO(7ak>I%xX}4LYBoh*y)IC-T-)nZ)@#mfwU4BRJeHAub)qS+{L_!}k-%u8jcY1eh zl`*xy63@x)DLRz{3nyEiMFHW&j)n@QUcmxCGGk%iLOC@g5xX4vnE4MSA^{%EzK|bJ zp-h2l*#(=s|Fz9ZF9ACz_e-U26On0e$0Ur|9nB|Q3Udo>QbslOYu_Q z(2mT$vVjK;S#stoTWCkY%lAI^0S;*jBn#Z8+uvHTpG&3A8Ws?7EL4gbcu=DJaD($y zmnFA}JF-F)_NhR|v;HhGRw6LU7v;C=orNN=UkIB7-2Unf-1*PQYV!PIcXwN4n{6Sl zQC^#t!57YogQg_pw48R4xCzXkh&)uSvygXd{~u<5NH$)%VT>WaW%ftz@xbno9nSap z+1YZKyZRhJ6n`@B6N>Yjh|AB3L*tj@A=G^fmAW^{P|`u2fBMQb7nKTQ1c-L80{$;* zYaSjOthhbyKAWo|vffU}s169IYUJ)&8}MrXhmCF_ySe1c(n3Y^#quPK98_xHk({uB zNfNRyk^mGc_QxDI;IS;W0JJN2@YB?Riey2_jpo>feo|NW&7-x z&rRdCX-Q!yFrn*a&W7q1#E^PA&jd=-u>9e@wS!*d)70{`uBLsU8INEY(&z0wgX`Bs znKgOOvMd1omsT-z+ls!lrqD-+?3en4*i2DDhygv0?jq{L2jS>>f$tHg9^PJIKqQU8 zsf_GMU&Rt)lO%AKbKX|GdzEPMD|Tr`5~F6NBT_Q#!C?AAq|;Li|KUq-rh%CITetR` zxvd(aK!tFia2;VE;oKX3n}A$1n1Bt>6;Krh(8tX-{1EKIG6C(79h0jBKz>eFILB~$ zca&yVsEe6@fczFnd34lbV^Y62%gKnP+BHYkw8w#^GF6Z|-6rjQ`T)o;Ph?NQS+h;Vday992@EYRNF2oIPHN?}bI zxn`1?G7a+6?nYv-1cIGL!(L$?SQDaxqUN64*tTeSb7h0p zlxb!eIJ10(+hzCm3e7zVkO}fM7EUiPW#q?9?Js5qpWpU%o=52yCY%4_8+u2sn}%m} z6VX+Tjd$`rbg%ZSsd{jDWlzV?=m0a`XH|A)Dnz|0S_^SV@=~)m0K77rC1uIn1>Abt zfK;N@sxJiTAyMb$p?C1kr1*Wxz`I;7(i*Zf!plgQOEQ)xWLa7GF*_CidZ($#gtS}5 z+qsASxCqd#!&Lw}eQZcU@@o$tJvl$swIk!}{<@G2+MM<)C+l2gOoOT6*hnnxDA1RS zzmm-`&Jp$K#uz^bfH!v}vhAv3erGe)x&{#jP2qF)D)Aup>2)xSeABpXhSOsAR&OL( zh+=XRATu3;=%~*pvOb;Q6c&3NzUMP1Xp#Q%sZgXQv#aGGf9;_UtGd$F#pS|~&<8gH zkA>RK{!j_iT)k;b^Ae?=7G`<9{DaQK=`Bz2Z%(~oWrT{iP-Phl5YHMts@Z#PWI9_n z-p+wst-u)aYAQq~XmG7Y8xMo|{(9SC3e@d4MEHMo=eA|+Ksb5K{bJWArNYr^r&%{& zSDEU%;NeQ&d>8!nzn84@PH)OY)>1>~BX2-QqiYTpjku6D9R_igDdWw{%^-1=5+f|K zRN-2oYywDLkQ;50Y7N+Xu+t27>5K)HT{9I#QnxGyd+MmY+|_KU;D92pmm&~g#`{eH zqyC({{z{Qf`SE@`_5kFv2u6S}%zH6(f%*9XBbl^qd%3i__pbZfB#cF+bR3IXl$

z_pAgP&yg@%2HF&7(V$?xy~i^LVGVs*fp?OcPK&%Wu^%%o5%CtEgKRnsdQB}B0vhF$ zkBv{G2w^`tn(qp^obkRZYr$GKkQ#4=!GKpc4&`4j=@RDoYq35L_UC3VlkMbgB#{Io z9ZJ(GuNPHZvTjgzKgn#lTG9#AtrlMF-I zdC|4(h`_vo7BDrUU{wLw7DIoEw$|s*yb7k z>){Ak!*sSzc#hU8w}CV)=RW~V5(z9{6d?MEo2*|{P#7(p>y|Zt9(ZTxU%oFeYh<`7 zKwJ?da&@5xmq%WSG50a$H#-;LGU#3dO=fc~fIC=T?BKPHLN$Pbn*)6am1vOhGo8?3 z?(~XcLf>kMC`=0JG;M<8%)B7V)22cp?sngk2>>L6Dvwfplq z5Fcdu8|t7E9y~w6YQ5(&V>Ks86rFTK@wEQ?jTWo(y0v(j{@1YWC-}b`!x#Q*8^cqH zVmPn+k3R1;QV1u=FNjYv}%<)DMzZD*t-VO*CfmW z9C^o15vq|W3Os%>bGA}C*trn@$_O^L4+JO=8t_4+Z)4&^Lg3Y2J+DG#Y`}2uja6TH z&kyK=*t-`T@dpo5O~!bl!T?V}jXyjEiOh;EPeGFmvc@*#uMA^kl5srZtfSF1CZ8-5 z1};)xCUxGJ=m3{{5YFHAMqed~FHvrzDHAIyXNoM%Goj<3b-TvY=Fy2N(2!p|j*E_# zI65U$KT<*foidXnBX?%zKxLh|Jv>{Dh5SXgqC1~*J(?> z>s^XTYfSV86$1{;vdi6@tQ;?6yMbPxci==SV~875O_6NZs(^_7hJLMY;H>7+m9$L5 zfu%`V40X6kR~&~D99?Tb?@a%@NLec6$IGY%^z9De2nhgsrf_1^Sz-Ig&m+zg4+}5o zl}Q$4S$IwcwB171iYGMQy{Xs$I< zqlyX_Ww=y({df{MX?_gcy-(?HVY1lP!`hI==}Mhpd=15fkVCfFdxKmBt1IFgZl=Fn zOpc!Vbi2sp$d!}``)ql~pz*vAQJZQl&vVU9Zo31o!CTEcI(rv0nh0-$bIty+Lah9^ z6(R$73kIzlY26$0G~Ry2p)x#(uTCpCRa#dXoh7QU%~TfYT-0w>GqAY!Ou{K1Xx;&0 z&Se)hLa=++**v1_<$Ij&LbyJu;;6y%%g;NZtG2P+E(sMJt<5BMSGeEJ!+^S^WEdW} z3IeC+w95!xh(7uF&AU8^=b-zFpzP}&qk824Hrnd7m*K&(#fHoEMhuwV`iMhtguGq6 zMYXHmRKo+{->wrF(rI38Bqt(mTA9BQT(l51`dCt`2R(SzJHaVopM1q!Ez54#hM8ZW z9~7$yQ8W}ii+Th1=eT#JIz<`|zlOKJZLUgy_tq+(M#;-%p#B<*qwXjao)aK~=(lMJ z{>&e^NuT1IZPrBX3CT|y-6MNyo0L)`9suQ*>|eq}-$pKSDl`HoQfSIuO6L{?WPv`S z&rT=3&ep*j6C}|rq+_%LQgP}nJyeg^q^Qp-0CU#!2-}Sp zwFEg*qAeKE&r`aVUC?8c971}U)VGn}*hi0)pe0pf*wKpW<>#Yw8$D!9I}z%jH~u4W z|Hi^0uSML0iFCN`}!AWFdIJ0Md|C>rmD{n)=+l?wanRqz)c71nRmKH36)m)#jn=$0x<4&id zJr3CBdVfj4Uc-OgkbB+z=CvEB%3~%i(oj1fZJY?ZjT*|ZJ0a)WD9C$rPFd9OIEB@B zxnB29HELGt_{*$R>Wra@^-Y~G$xzbT;eC*dRJ*Cbc%@qrET6%ie(3ecOWFax@9Se$}9ej=XOYk6^ zT{`;8DM22#)(XZYqe=4l!>Ivo%pv!s_sHD=3;s`8gK*0F3cWs`UUCEx%+-pN=ICmG zTj~RR2ec(JGZ4MUu{27G@fYgs20Lan^{5ZY=jl*VhVE`r=~Ct|hT{G`B|gH&u6@U_ zD+4*A&}S`ByFjYS%kXE6$(gUh+Ooe+E7MCZAz&NtLUJzq4jU+X>cZ|WyEkc(Y&2!v{I!faU%$Yr zh}TGFl9X(yhpja>@;9KFi|$8T4?^v@G3L7q&>Td(6Q{8}c-%c9&Ht|(jW1-cvAwW3 z4pzhq=k4Jww&ABf#3+Ecg87Nvk(nI!Lo+n(qo zkMb)2nNUI79<)x$O8 z=+NelB}s3H7VN)ZgmW2KBMrUf66gZoZuv?TmT8*qfkGe+XW&mdvlbrRWY5)nG1R@2fo?#g$ zmPraLsCqTPPR5n<<$=@go7C6b8Dji_!x~V%o&+VsLTix^c2m}QGs!RyQd?gVqsEXBN!$X*kQ#M?3k zigXP3;NDI~cVQMROW|h=BrRRs;w`?E67 zs&bIdbt)YQ+h~h`-?U=AFM_;T`f!+IqP%X=rCEm@eh9r1tTTt==X5`rw>xYixnI@% z)#wuM)0fgq&q)>cM?5umWIYwsL*4~u{wMk}D$(vM3h@U!ENAt2VPgTH!0tLzyYV=0 z`Q`z7jv3}I zFV37+N`SeJ)1ELm6k3?EJP5{lz2QMB4_G?4Xe5s7kB#C?ZTOCuJy*d6d~zR!`(GCS ztvvQhezjrW&(DYn8?$q<+n~3ZEdDCJ0natlOJ;TW{&U70RBr)?&iZXFTG>+Qb}Y)S zxviS{pv)~rXqa0z+Caua2Ubb}t13#a{ENUrx1P@5=o8cAA$rcZ+0zDb(M49S9cO&; zH6_)5Vc36^mZys|w=>*WpgkJq4E*w*>gfKSP%A+68e&$A4ph@a7iYc}tP{wM)gE^U z7pbj^(2X?T3a1aWIw1g5#U8AmOtY){lKnFHuZhbk`?J5Z0gle6b$#4aGfjZk+%;p| z?3>h)yed0}d3D2W;?HMhew_nMZ?DfzHyz6Pb=cZboFy4H$X&^X)8~0HzuL~e^7;w; zF_@G)zAuwCrT5zFk#pP&k=Eb_JP<5jWyp8G$kJgm(nn!S@~|4$2vF>9zRhgNKNU{ zW{)viFlpE_g_wTu5Ub@X1rcu;uNE}-UT9WrzGVLR!c+F`99-~~VY3$C3`r@tYZuUK zF3;PED+kL|v*L`D7T&*}Jq)1Qxc4n=xy!R?*2_gVd)AUN*L4CwoGwSo!r7UleXNYs zX3GM&uO79Umb68@F`(EO+${r zog)kPY_w?CmpCh~GGm9=@r#FvxaIX~cJk;-mL7RqXcv2lzE;4=;0>Vh9Y!Rts%Ygm znKvU)-JP@46d>qgG?qsqxedMbLfnN2UPQ-|_o}+=oSQrD3L2eKP>f!%0fTH-ZBz*d zKykE*gC^44Pjj@AbYh6@LYuE>>P54khck(AC8mvKy zX~{e&x#$$8q7;8C9xD+{!HRofcfiMbS){0s3$vB9nG$<&q)3Y-Sl#Y|cT8Up9E@ z1KdCeGUiHXD2vMy!N*CA7fuKjZu2|kZ*Qb9cR;67b@hz~pM-YBiQ)s>TE=HC^VJkO z@t$lbn|SK>>ej|J(QS`eQ(q7+%^!Q}7$3E%B^4j4g{i%okWhKuzxDL*qnKm-La8^Lnt<4@;RmQ_s+&bj!rQb!+EuXT=_ zL~$!{E)x+38tkmO3xLsEvK=>*xM$6GZsl5X5*}TjQt)(Rtsf4hRH8Rbg3kM|BC_C6 zvKtKjVNt6mK|}V5R9_BuITE~&z|jc4_hAO#Biduln(Q!`Up$J2atzA-5_1w?ab}1{ zgTDO-HRRt{jrG>sapC47x@d>;Ta7`fw7_nni!6@)@@_U!dKW113WlFLV0eBH_&4fl zJ+nFca1|K0Y8LMd>Npoafs&l$h}MtJpp2g^}P=F4G!DxKrxTg z%bS0H-9P?;0@3Z6bbIp=UNI3la*JuKS7A!7EyNcVjbNfuT90_Iw2IRGnR+Rh8bLpu zEWC9xC%@LzEqp(AMic>zu!{$FH(`d5WS1?!M5%vf*z18~Xzx0bGUE4VIqs0=zN-oIrO0O;;ndc1bDEm#@qm;Rs`v8Z zUzfmH`gd-}^cJ^c4O3Pj0s$uRLaGQ@&{ z=}VSF(-_C3Ad6jEqTttA^EOjg<3>NTJDpp`u9&D_iSBY2sGU#C(a~gzsrR0$X^c?V zoqyI)+Gl-&0VBA|LA>*SoZa(-XEd^R_zCH=L-k&^`>Ogv0|S_s?Y7MQ>MZ6KzuXIk z7$DF}UDVR9iA(5)8xlA_6E1c~Af2efSKEh*P*Q12y!mqT&fS;l(Xsg1}SgrzMf(MfIXzn)#245O{d zIACyW)6RL#_;sKN^27eSl+4aiL6a>z=VX(yIM>UB#!te2wm-aQsNgIT-C2$XtSU{n&5IqZ(O6yciO*FV%6bY%%hWrqMt$Zk5 z`*JYTVoC3)&{xg08%%Mp>9BTD5SYw;c1Ibre_?vUa(GZ?{GIvqJGfzC0D^pcC!|_H zz@stX=NwVZZe0SmyFp|WkP$D3Bexe>SOSlfm7O4G%eI1>yWQBREhN9;$EXpZu1rb+ z`X*}RJ#Y2P3bB2qiTO@7J(FvF>$)4$bM>omz;?*LF#;*9vCh^2RaFO2nc5y)pF^Ho z&-V>bS^>&;mxg{o*Eh}WxP-n(XHNO?4;8LWFQN|vmqA6%?ZW`OJ#Osd)%D72T-V&U zrQCDVxBz**k+T=(;&13yEDgf7Xz$mKa(h)U8B zmv*}0YJ&7CZA^Y*L8(VwBl+%6QcB9wZ|N27IUqq5f9#pxO(tW{zb&awYTx(mow7%E{ssSJQPd!c8Ep zz$I`HDllWM*2Rz?Sd^^g&i=?0f}tN!>|)W?mt1`f4gCkJ%V+PWDH+;U-c9Q=iM73| zp~m90VyxbfG~erY1(n!XYpD4j)KDvX4k$J2WvHSXt~1g@%SHYs?7=4(rxM&1X5}w> zRX;~EuP^j+D@SD`$cAS_l`yjb$FM!1;$YM$95v%UYuA6L*F(p4kM}Bq)9g-}QQ2*r zH;%rxqeE04h;x8EHYDzYd+7RZkX2_!~I97 zUmWB$C;wUp72r7_zK>6UIpvTMTgL|8L+ou@C(KMMkPM-67F0gUMR82@J~Eh|jkTp$uF{ zhpludAsO8%k435afy+yd&z($3*X_vYUr^IHLo>1XzIP5I5ylCWAQZ`q!OMGQ`eJKE zIC+hn1+QQPQDvLT)|Xl_=(X|pEJ#!KehTxS~kp0&`K6IoKj$Ed`j0iH2ajM?|7@9Qi(1^=;doUTM!C zX%Vb>Ks%Zm%qn~w4N}BBAw?Yog8)@ax`JwZQ>0jZUA%Cn1>37}q3uO{5wlo4EFKss zNxO}Wc(Tdb2|(Xt_s0g>-FOJRR5G!Ta+F3(EnFlR^+xu#b<54l333DowPIAeAZVTz zsaxT|TuQ5kt~Zts(d%XPGXK7<0Fg5AEV!p_)~0T(3nSK)n6i90e!yW|R+BUmVo`Cz zDEMNPv1v@8l;hodb153RF|JkmK#6GcSm81YTXN~Y8;lc;bKvE{gtm)8%ZsrWdH{Ht z4pJ$>veK%c0M=q%hu9^jK4WyPv(I)Lyv7kzxEyxW`<*xKLxsZHDUUq_j#lNz+I_iG!dSwKpIq8FK;04mOlm5 zjDH%(1R7>WDA-xp^pC;qeu9Vs{OGiBJrzB|Tc6r)6`8fMR;@(|`eo_MVNUN~;}-#* zP0S?lL>wJTE4z8w$0C|S%agNDArCKIB7N>1^=%GQIWA?&p9w0r{xLVZIkSV`<|-i0 zcYfZg^-NZ1qX9100!Sa=%i^!AiD3_(#2Dyz*BFb81?ickWODKAU=IQ93ZWwP#hU7y z&q#pBs!ZsO1>0+2m65UcsDW$DU&Rq(d?Judu|UNK^~y>q1WJjfL(>+3 zAoXNR>+I7P2VjlGI~)mh!->-dG+ zt&)J6Ep@_okAIXkcI}x-5T3zbDadNN?-y)w4~Olw(9m`!s}?pC8f+O;Ngpt{6@W{q+c;DGz}2vQ8W-^P@EALy&+0GXO2}-85jvOB%-qvjbkf z(Wj7l(|fot;yI+PDNgW|AY#M<3kYB2OrvjD@|{M#QLW0A|BIrnX4d#W=sq!kl=Z8@ ze;3{7W(Tm5|HlOdD2&%n4p{(ru~TP0?W+}Sv239;Ck|{!XqHYrb)|34H#Xq)>EkfF-|dnPVO@u)ATZmz(^O1kn5-8frW*Kbi;-KRP{Xeq>~?A5IP! zW)F?7-|dgw3<>M=O90<;qnDn4-N2{pcWkw?4%5TQ<^>OF12)HM$ZeZS)u(*ACrpkz zI@QkH%L0bAqfb#nM0EK=Vn%eOU{U_0=E*n`=7W0QL3)C5!T*mqe$!QHi{a*)*sCOnYP692f9ol!sC}uN$+-|<))a3gkE+Bd|ZN^ePw<4WQ&>he3e~S{ev7SE%75{`JssY zE96TyL8~S5J`H+oyf2uZs8;+wk|tMVv628(#v+e|9F3~+6d*d4$U!Q`GpTZffFZwe zNgQ-$-`}%>Jni3AK(aV#>6ef@^SR$FDi2793llIhK@GPI%ZM~1YPX{_X4=Tt^e#wfuA{oY#VVEL zqJLKI;x>|a?Obr}b^(ou2Qm>to>NASJ;Zp_q4>3cAkPDQCZO7}OYy$mrpr-AO$aQV zQ#jq}+`V`o2h6fJ-Dv2uv-S_H<_-2&u9VVYo25l$rAcM}2n4cQJUOYuz}gF5uls4w z=Gu$A_nzx^Xf3jeoU8K4eEI#R$^Qj#p+8Af-GPGPqfFWck_xTKQ+)#qcDcXfI%WIe z=b=|M8*O3QPY*R(6n(iab@-0bkr7I`g+A+~jND}3mMGkpSNgs!5 zmNJJ`H(DvJm93TK0qt+v{BXX=sV+Za0Apcj!%!=wB4_un|M2rrmsfZjjWW9rHK=g} zs#thH{g~{HLdEkk#EMT2HGbisXDTlIh7TfkIPlo9XthZ-S)V5*ehQaQ8w=1CgRcB& zbNG^=gIt2lQVz37V`Bf&sjA|9$^FjjkYVaP6W>DY{Zye9R z#Ec&)Ej=ny7L#CDRX85Hi@w8NDMtg&jF_-n-UHspiqn5#sCJui;NfXOn(9HT3nkY3 z&fiCt9?w{R`43o)qeOT06~$u;H{Yh= zZhi?%Aj(+P0dT`aN@YfU%4f_8X%=(4c{0pG0=oW-I<4^8BV6FqY#~{fXoQ{5kZ|~e zKy~{a)eYv*-d|K@SCT#kqKcIcnOQkryQq}%BI}@`*uA}Gy3fNC`B>J;qllIyYfajY zTjR>)P(&>Jh}w_OTV)(^E4PSpij5695srQ?Lhvj@O~spK*JoM`n@tx-JB<0ia6bLy zIVIhHZM64@+HI9vAI*56vBV$0sM_t67_qDxI7B?m`}ZGVWnTJzTAuZnp?0mcCwA9S zp>%ga4W6cF2%!riKFbg6Ms#Tk+tXKWCF~yH&x`p&!7-Hx6Nj{y@r8JJaCpsjoxu}x$BxA}b_J2|KUU5x*+q*YS zA|eE(O9@DmE=VT?6_F-HMXE@UA|OqQ5FnvQQ+kmi2#A36jz|rmH<8{!LI-IHHT1LG z`<(aPzw_TW=d*5DH^5wLt}(~+jPIDUVN0tjIVDU};PYrgH7lPVTZsDYIIBXIaBluc z%ypo#@YqC?6TQK@>(^>Dr zp7-XaRfwHq!|J+*FJxvC%efy;whYBR7UIKJ42Scbxma?MrY&{8-uWaM{Xee$XvuyO z61X0+-5Yu3Cwb;OtTomf>uST@wMw1yHHuc!9!D(@x*2ng+~hJ^U6dHTVawV9r)=NOA^G8F@z4!0EBJu(C+=I%7x2)>vAg>)!7> zpSH0^GX%=df1#P|#;Wq#s)t69HMS)H9|E&D3drG&wrqR$*&a1v4q2x|KvAnNk+Q2A z2F?rm1X7VD73k?*{3i%12GtywhIB?P&RY~P>*{X**t^n~XA6c8K4k|+Tn*(b+IjVN z#Jx^CY5!xq(UOlZ?mR9b?F-VHL>xYPT1KURsfy>PriJw-&T1Ou({L>fkRq|t42tJA z-r!n{Ht)Zw0t#1`S#7g`ET7(re8bxo*msFrSL7&iX|+@5FbjEu+P6gqYOD@p?eJk# zUJpCEyQ7NO%|uuX2EN|F(!`6PoF&SV)Y3oLHQ!iYmIk>+e<-n(6E>K;_1suphF7X8 zo)eQ57TI2|yZ-fV8GG>Z*FRcEPs3=@N{^3;i=-}%m4jB{%E-rsJuIIViGD09p;4kx zdjq`POl8(g#bYvH%z>7CBjr}Wn60!NTt5GoG56n<{5$4uzRi66>7eeFZ{+%!-J0bh zpEX3GZn^yoRI}HBV2Z|b*w1|cZ>d~;16lKw9gDKyP6Qi^otlAdA3-qfd)yJgzE-#6 zSVE&{89MG$Di;W_5$P7>97hx9?O@|?F3J!{>6@1dVhChBjwFK*;%^~qjn=RM{nwCc z2n);FCw!D?8#T5QYnQMrp$kJR&9rQKs?7oKLE=?0v@YsCpQ6mWncZ7M#Fcul&Hh;r zx=;NwCn*#RNvXcikan6MmAbboyA!56nUj45{`A@Z%e(Hr(&w1gHsOQ*!z_1|_vaPV zL+nlH8!k~*km9@kx$6%p(!(TB8@!3dw|UkwRM?5h0UiOV^S3Z>gi!a&eC_8f$bUb8 z$Y&+t=WFsyh&QwlC=^%N%2jZ)0D%D^@xF*S{<@H5btLq%VPclX;CxDo)!@8q96s84 zZMmMU-MJvEwPSo^!+z-x2V|raOSZ7xl&Pse%K$z1Ug$XXks+zMW53h z(zN|k((JYDs~@BNIoziQ+-JVKma?D@aMwlRUU%R9j|&@{>hDE^6oXc-zV+2)H>M!9 zc{k=K?BDA*c3JnG0QQOKacpK-5uS5m(8d4SOSLfZYiJ~$i#mb8cY$v;2*WIf3bVC& z#D7j*j(C(+BhfBS0Y@^r@=!{y4aP!{oz)Dpb^cOd$}-H(6=gf}5}UyYW`}6CCm+-p z;1A=*EcsLr=$Vi9bD8j-?4vw*m{KC=7q`#f-_v;QsEN2Sro&(qPrYOh``?pm$Zjpb z37*(c$dA1bAtr>k;BfA?oTv1$5kg9H*VM9Lur=9(f+7Q?jt*m*=D_?E1yT&ArjdF2 zcXc~*{d_a)>M0BBxa~@+0}ktdaCSI5)p&8{q`3a`j&FFW;KToTD0jQD@SA^^0F&yF z6}GgEzEiRg(iPIFxzH0ctnqXOHC~h-iyIFu;m`#7(1)V zI8P!i@+p+bRP|9WN6m&!&EjmGd@O`zoSw~h^$#a51Jp#%`4ECxbbe$#2CM{=vDf_} zd^~A|j`y8EUXF-yU2C@rg97KRb2-mTB#0Zg={FDG98ytLli67)q(dl#S72Dyo938f zeT|Q@#A{HuU@~~Ol09w$gx#s?$#I(w^Zhr%4bt|*g%~^Kz?YNj4F#hqHqy2E!x3S@9IYr*6YN*im z&XnDD1DW^Mbd8Kfd-&&W&c>ORLc6({4eSx! z!RcKX3gxt~*sQAZsdEqRjf2BpCL;>z57W_G@+XHwaFD(}bLmDw38ub`6Q+n<@`MIry~w%vV&#VNz;(EGOOP^^aK}Z_^p81fzCZ7}4zH*RJPTrLCS@r1Ck1 z-AHZxSqnlLe&Q;3oMiFtw6Nk=B^-9173wG$Fw`fFgF36A&wNtqI1xL&UX1HDa-HHJ$UVtFQk4?rNjf80u0L(dGdQiPL90T~ zHJDTaZIRgN-Ei&=Mo1k|l|0=O8(@C1C!IhedM>4p+GBvD+ku#Z`*eWcd%&Ot=^xHIDYHr0M3XMgxD9E`I5!8HT+x9oF--ZKY_<@K>t2l~ z4OqC8+gqoj56VJ+H;|v~k0E|2pPnDe$7_k#{hX|{wGg0%4w$-q5rc4`e-0e1BQDyD z>*uf3Ekr812qm`!F`L>P&UzpsOMaz!Z+#+nY7-td^*!4kt#WuyZgNRI5OcDnn1Y(I z^j?|yv6&S|Iq}@7!RqYzKyzo)2Cmlk;i| z`Pkh3sHz?Ej{Ayx+>1NcSg3tE(=t%~9XfK?E$rvo2o|1D_?|TLUYQ=MtsgqT*afm^ zi-DLs_pSQ*Qu&6R&Fdy^EZ$K}NK08%ua$o&n2M5p7OGTBwkl<0>}VpZp{x@QCeHw^ z`F{~d@M_86mxk*6KVJU6st$Q^)bwNdeo9n-+d~PP4^i;mmbxZ^BJ;udIHnhCJ!wZ~ zCB#;LO9U{JnAaUrtcsg)3DbIRk*7i6`8m5-H@mmAo3Kq zJIkIAW0Q8Y2maCI&H5g((F_&P$-$J91CB~y90++gHaz*EDR5xBTF0Xy(WZ-T;Szg} z`uoiN#{g$rpoEM65q(#4%l0Gr&!bhUlFOG$P1w7}rlXc8Re8ju{KoWBN?vowZn7-b zZj|>-HXKe{B#MxLEqoO>E8}ROgjVcV&0Td+)2z4CoX=2-6Q+hVG_-2=C1`y(FV3I` zW_xF=Ue~_mfY1Tyn=#NP?X!qd8dcb?Er@7vDKz*Dv!oZ$E(ZetAT1%Ze=?e+uQ-JB zb-M4lr-KRK)JOmSy!gb(X)fbWUpKYPrQ4KpVwLc0$CWp{W$`vmo_lavQH$FgM~{`) zLGqH9*(PkmO$e(Ugfa`A%JO|jN6uCAOqNOMHKQ?2^- z>*yXWg0N166iQm?h*@IF%*Q8XMpdcQxqnyTsAiQwRV(2} zyl;}aktF$r8rAHL9xnATN3gT{>Fo7ilnFtlL#k7K79vKgoh{aX_ZDoU1lB>XKKa1Cc9R(OZoB z(TG^Pq;o<$1ckpB_DmyfoiQ)vY@XSDc6R%Y+r-V6-5&+ZPK1EtMQ3MemFM3-9?^R1 zl#rhi=2lRE-|#eqE8_gf9ab+fj{|F~z3eP1tl{j})TnP$0_{$dK8WNO5X_1VN2;js zg)&MSN&iqKj~yugNaJeWfcuPm=tuT75H$byH3%XdHA)kiTespInJxuV54T0596+N^&Dv12RZ zf$UR*F)i)GO+nH$Reqtocxm$eOZY{80eGr;3Fb63bxteNNb^_hjxL(&q@oX&(&JB3 zYu6xDtOjfm3w*`G+jAmkClITRA^CwsNyzAKDJ3I!ik}NsyKEc zrT%{W72~@t@~+E^kBt6+)wQfvyD&;5Jr~Nzi-5qvcn6O*z@Xb6niLfv_I4BaUXYt=m+r>u)r|D`F}of!_{ z&$F~^&b_J2zINMoqCb{I=`kTSUh9^NBg-dFGUzFe9){+-o@U+^ERhAus2O~9)+2Dd zxBspw5s>t8#e1I_-ydBbZ;hmmO`X59{8WcG5hfEFMT5@GLx{@$o`&1{ddx{Sadqul zY<@RhoD=gb1oVYxUp?%%GnxzvhAq;a-~zzSgO&-%?Wz+;nX}_H(!!@(6wAPAo~+hs zFNKRLWA&cxm4lTHkv7_y4< zTm%JV04zk(*gBra#Vpt5*>h~g*RRb7gfjuBx=oq7?t3cg7}7tKVA#~S{uequ&{L*z z!Pb&r%<&Z)i5kVn`8RtfnX|Dv*WJe>LgD6EtG$O2oDN0C-*>uKRr2jq{6zjo zBC-EBk+8N3vX*TOF!Cw0RZ3#0W@I3DF_XVR4KaTNxlfySY3vh3E?(|hEuD+lA{l*C z5YC@IqvKMPe$sW92*5DxkYZkpZr=fe5%{-lWzibN#LhX5D5mGer#Ax@!D;q5?hfWd zcseyKOJ62_+W2(X^7Y)!M@-&)hO)(Myp+((r8?Mej!Zt&eTlrN)o%no5<10vS?=qU z5KgMVMP|0+h|{O2ZGDZ~=T=(KCCcZP#E+0R4}CG1kDf-pXD8U5j?fjioOANj#Ms_y zW#+a(n;LCK3!!Qq&{67YgpVYB^RDqyJ&FFu6i6o5M6ziTsK=yd&KqNyku-J^p2`0s zELW6gw{U9>GCT9Z)JPXNBV#<4=ftAj`z4d{Rx$gNPe-8!KVPkt_#SC(J!V^b)$~Ls z8RGKWvwd*G^%tu>9D4rX%@B~6vcXV+WsSGAb|)5gbQ)pDtC{vm)24|V0-n3tvf?+b zAp>fhp2%xHu!nE`a)h3cHhAwV+}!y70W4(Jfq479sOtFj%M^+#t#S0>%qEL+y-=}n zZ@VxPUc?PSv>UdOS8V-Zi6hD1$WWa?9<`Gksc}wpEcagUZ|uwaV$Q+6ISzBBH-(_H zo+}*du8T28@z-Uoxc+f{G5Z^|jg00z-@|<(5%!~E_Loh9$!V}}&DpQQn4w~L?!7=O zPub2OaNBvbL^~}R{h;ANco3f;2GxH>ycuLMzY8wfAW(6~`C9HR)Z9s+!2|}q1TkHr z@{Kb&7=IUWZ}p0=O61i+s4XJ`)vHa&4y(6(ij4*AS=4Q+*t-QiK)T3o9P5uMMi#Qg zC>;+je9J&Sg510|ehUWOn^Tz=e!0_>M6BFl?DG%df#59^l_-#_Tw?);jx1W=h?U9A zGA3Tmoj>L~Aqt(X)*{NrgD`2p8ZTtf0HliK6OE!mR+~=0l^?Uez-Ig*=Z_}@Zb(|b ze>-h|N6``Mhkd>3XI$hoRJcUJ77?^q*{YWop{wX2J zk)Ym}EG_)z5)wn44|`dn?pG^4YB)6c-Hv(DubsV^p5AQr38pXK&G3fL1^RGmu`BNE z_Lra&?JHT~4hygogS73Qsxa=O{)DR>?Rg(NC_Cvnbd;Un$;k_ z3bFLJVGL;FCDe> zg*{0qI#zd5{P4*7!zQ(<*IKrS;88nkl+yFj>#0j+!lPP5x&+VV6k?E zZBQ=VksX3|Q%#158eR_s&pk>eFI%Hd{~CYQH&k57vR3@)KK~&5`ykGu`AiV_=~d%f zh*M1s8lTtKrEdc#kA)cX!x8kVF=dXLvSe`7_f_)_!;gJY_JknzSQ=;CS_Y2=yYe$a zX;X;t@pxCG@tQguWzgFuK#7{kS?1#)*3)tAWtB*XI`_x;t^v`b8HBgg@Xr6Ir(m<{ zw*ouaTF}CHrzCj0mMaR>N3ki6lAJPukZEpT$+PcRFKbI^r5lm;YRq^{JFDraalLeB zMe1_I6v#JIbPgooq~2KdSoY%ha-@yg`EV%vDaB@F7LMTl4FEbFY$2vdJde zb%42_ik301y>j&(q4m69l@hG%3^_~czZaP{-=lNa+Mb64g*89{{-Wg*OqIL0#T-1Z78>mTQp)VZe-b<_<)sqc=k z)Et+q0LwZdlQ=&lwr%hn1Qp2P+x$oB419PDrTc&|9-s5Magr;MS>(C9oN=*coz6r7 z1*N-2I$(~LWrhnD&I$c0p020_ay5}poD$}NN z&-yKw#pi&tgQ>pA)sY@k^uC@l)!C6D!*SzewyxptU#6wcu5=7XlfZjZl=MmtR6gk& zJM$^7ej#`GEo-0s@zy^UO)jf1|IUwh`frk^A&5%;1Acv%7a80s;3S-Ab(Z+{N}OC} zbH0sq!lS#{rx}@H#J!jdIKnk_Kb7NDQ(3WH=OCF`0sjHA;DqOD`�i2|0OrHG^$E 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%0DG^)#N*7t@wNCzvF#Dix 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%0Am_x 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

4B`UV(w{DUt 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 literal 164855 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

?;P|97R-)#?HUS+R~+heNwi? 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

=26e?*z3RuFR6Ga0 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 CH}}2( From d5bd1a17eb85846cfc13ef22729523ee0670f101 Mon Sep 17 00:00:00 2001 From: DMO Date: Thu, 16 Jun 2022 16:36:17 +0900 Subject: [PATCH 31/70] Setting defaults of CreateMultiverseUsd to reasonable values. Creating a schema entry for multiverse creators and setting defaults. --- .../plugins/create/create_multiverse_usd.py | 6 ++-- .../defaults/project_settings/deadline.json | 2 +- .../defaults/project_settings/maya.json | 16 +++++++++- .../schemas/schema_maya_create.json | 31 +++++++------------ 4 files changed, 31 insertions(+), 24 deletions(-) diff --git a/openpype/hosts/maya/plugins/create/create_multiverse_usd.py b/openpype/hosts/maya/plugins/create/create_multiverse_usd.py index adf0acc7c2..5290d5143f 100644 --- a/openpype/hosts/maya/plugins/create/create_multiverse_usd.py +++ b/openpype/hosts/maya/plugins/create/create_multiverse_usd.py @@ -37,15 +37,15 @@ class CreateMultiverseUsd(plugin.Creator): self.data["writeUVs"] = True self.data["writeColorSets"] = False self.data["writeTangents"] = False - self.data["writeRefPositions"] = False + self.data["writeRefPositions"] = True self.data["writeBlendShapes"] = False - self.data["writeDisplayColor"] = False + self.data["writeDisplayColor"] = True self.data["writeSkinWeights"] = False self.data["writeMaterialAssignment"] = False self.data["writeHardwareShader"] = False self.data["writeShadingNetworks"] = False self.data["writeTransformMatrix"] = True - self.data["writeUsdAttributes"] = False + self.data["writeUsdAttributes"] = True self.data["writeInstancesAsReferences"] = False self.data["timeVaryingTopology"] = False self.data["customMaterialNamespace"] = '' diff --git a/openpype/settings/defaults/project_settings/deadline.json b/openpype/settings/defaults/project_settings/deadline.json index f0b2a7e555..5c5a14bf21 100644 --- a/openpype/settings/defaults/project_settings/deadline.json +++ b/openpype/settings/defaults/project_settings/deadline.json @@ -98,4 +98,4 @@ } } } -} +} \ No newline at end of file diff --git a/openpype/settings/defaults/project_settings/maya.json b/openpype/settings/defaults/project_settings/maya.json index df54e44c56..7e404188cf 100644 --- a/openpype/settings/defaults/project_settings/maya.json +++ b/openpype/settings/defaults/project_settings/maya.json @@ -71,7 +71,21 @@ }, "CreateMultiverseUsd": { "enabled": true, - "strip_namespaces": true + "defaults": [ + "Main" + ] + }, + "CreateMultiverseUsdComp": { + "enabled": true, + "defaults": [ + "Main" + ] + }, + "CreateMultiverseUsdOver": { + "enabled": true, + "defaults": [ + "Main" + ] }, "CreateAnimation": { "enabled": true, diff --git a/openpype/settings/entities/schemas/projects_schema/schemas/schema_maya_create.json b/openpype/settings/entities/schemas/projects_schema/schemas/schema_maya_create.json index 4dd54c81a0..09287a8b50 100644 --- a/openpype/settings/entities/schemas/projects_schema/schemas/schema_maya_create.json +++ b/openpype/settings/entities/schemas/projects_schema/schemas/schema_maya_create.json @@ -143,29 +143,22 @@ } ] }, - { - "type": "dict", - "collapsible": true, - "key": "CreateMultiverseUsd", - "label": "Create Multiverse USD", - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "boolean", - "key": "strip_namespaces", - "label": "Strip Namespaces" - } - ] - }, { "type": "schema_template", "name": "template_create_plugin", "template_data": [ + { + "key": "CreateMultiverseUsd", + "label": "Create Multiverse USD" + }, + { + "key": "CreateMultiverseUsdComp", + "label": "Create Multiverse USD Composition" + }, + { + "key": "CreateMultiverseUsdOver", + "label": "Create Multiverse USD Override" + }, { "key": "CreateAnimation", "label": "Create Animation" From b722062928b081f9d7a7e51ec37d7118834459c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20David?= Date: Thu, 16 Jun 2022 12:35:06 +0200 Subject: [PATCH 32/70] Fix: Kitsu module first synchronization Add a `None` to `pop(...)` to avoid process abortion at early stage of production --- openpype/modules/kitsu/utils/update_op_with_zou.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openpype/modules/kitsu/utils/update_op_with_zou.py b/openpype/modules/kitsu/utils/update_op_with_zou.py index 673a195747..08e50d959b 100644 --- a/openpype/modules/kitsu/utils/update_op_with_zou.py +++ b/openpype/modules/kitsu/utils/update_op_with_zou.py @@ -85,7 +85,7 @@ def update_op_assets( # Frame in, fallback on 0 frame_in = int(item_data.get("frame_in") or 0) item_data["frameStart"] = frame_in - item_data.pop("frame_in") + item_data.pop("frame_in", None) # Frame out, fallback on frame_in + duration frames_duration = int(item.get("nb_frames") or 1) frame_out = ( @@ -94,7 +94,7 @@ def update_op_assets( else frame_in + frames_duration ) item_data["frameEnd"] = int(frame_out) - item_data.pop("frame_out") + item_data.pop("frame_out", None) # Fps, fallback to project's value when entity fps is deleted if not item_data.get("fps") and item_doc["data"].get("fps"): item_data["fps"] = project_doc["data"]["fps"] From edf13e877f7416c2a64e1a123003bdfffce10d64 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Thu, 16 Jun 2022 14:45:06 +0200 Subject: [PATCH 33/70] removed requirement of pypeclub role in default settings --- .../defaults/system_settings/modules.json | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/openpype/settings/defaults/system_settings/modules.json b/openpype/settings/defaults/system_settings/modules.json index 537e287366..8cd4114cb0 100644 --- a/openpype/settings/defaults/system_settings/modules.json +++ b/openpype/settings/defaults/system_settings/modules.json @@ -59,13 +59,11 @@ "applications": { "write_security_roles": [ "API", - "Administrator", - "Pypeclub" + "Administrator" ], "read_security_roles": [ "API", - "Administrator", - "Pypeclub" + "Administrator" ] } }, @@ -73,25 +71,21 @@ "tools_env": { "write_security_roles": [ "API", - "Administrator", - "Pypeclub" + "Administrator" ], "read_security_roles": [ "API", - "Administrator", - "Pypeclub" + "Administrator" ] }, "avalon_mongo_id": { "write_security_roles": [ "API", - "Administrator", - "Pypeclub" + "Administrator" ], "read_security_roles": [ "API", - "Administrator", - "Pypeclub" + "Administrator" ] }, "fps": { From 8857423828377a319fd80292f9b0ca0e49e5b2ad Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Thu, 16 Jun 2022 14:49:52 +0200 Subject: [PATCH 34/70] Changed label of custom attribute action --- .../ftrack/event_handlers_user/action_create_cust_attrs.py | 4 ++-- website/docs/module_ftrack.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/openpype/modules/ftrack/event_handlers_user/action_create_cust_attrs.py b/openpype/modules/ftrack/event_handlers_user/action_create_cust_attrs.py index 88dc8213bd..d04440a564 100644 --- a/openpype/modules/ftrack/event_handlers_user/action_create_cust_attrs.py +++ b/openpype/modules/ftrack/event_handlers_user/action_create_cust_attrs.py @@ -140,9 +140,9 @@ class CustomAttributes(BaseAction): identifier = 'create.update.attributes' #: Action label. label = "OpenPype Admin" - variant = '- Create/Update Avalon Attributes' + variant = '- Create/Update Custom Attributes' #: Action description. - description = 'Creates Avalon/Mongo ID for double check' + description = 'Creates required custom attributes in ftrack' icon = statics_icon("ftrack", "action_icons", "OpenPypeAdmin.svg") settings_key = "create_update_attributes" diff --git a/website/docs/module_ftrack.md b/website/docs/module_ftrack.md index fd9687ed9d..667782754f 100644 --- a/website/docs/module_ftrack.md +++ b/website/docs/module_ftrack.md @@ -26,7 +26,7 @@ You can only use our Ftrack Actions and publish to Ftrack if each artist is logg ### Custom Attributes After successfully connecting OpenPype with you Ftrack, you can right click on any project in Ftrack and you should see a bunch of actions available. The most important one is called `OpenPype Admin` and contains multiple options inside. -To prepare Ftrack for working with OpenPype you'll need to run [OpenPype Admin - Create/Update Avalon Attributes](manager_ftrack_actions.md#create-update-avalon-attributes), which creates and sets the Custom Attributes necessary for OpenPype to function. +To prepare Ftrack for working with OpenPype you'll need to run [OpenPype Admin - Create/Update Custom Attributes](manager_ftrack_actions.md#create-update-avalon-attributes), which creates and sets the Custom Attributes necessary for OpenPype to function. From bcb52309517350de2ad0aa91f28ab317dfffdbce Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Thu, 16 Jun 2022 15:05:46 +0200 Subject: [PATCH 35/70] Fix - add default target for New Publisher --- openpype/pipeline/create/context.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/openpype/pipeline/create/context.py b/openpype/pipeline/create/context.py index 2f1922c103..7931ea400a 100644 --- a/openpype/pipeline/create/context.py +++ b/openpype/pipeline/create/context.py @@ -829,9 +829,10 @@ class CreateContext: discover_result = publish_plugins_discover() publish_plugins = discover_result.plugins - targets = pyblish.logic.registered_targets() or ["default"] + targets = set(pyblish.logic.registered_targets()) + targets.add("default") plugins_by_targets = pyblish.logic.plugins_by_targets( - publish_plugins, targets + publish_plugins, list(targets) ) # Collect plugins that can have attribute definitions for plugin in publish_plugins: From 5b9d2f2915f59e4b98f00bdf5855a7f093a7c46a Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Thu, 16 Jun 2022 16:41:09 +0200 Subject: [PATCH 36/70] Fix - add AE validation scene on render.local It was missing for local rendering. --- .../aftereffects/plugins/publish/validate_scene_settings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/hosts/aftereffects/plugins/publish/validate_scene_settings.py b/openpype/hosts/aftereffects/plugins/publish/validate_scene_settings.py index 14e224fdc2..6fe63fc41e 100644 --- a/openpype/hosts/aftereffects/plugins/publish/validate_scene_settings.py +++ b/openpype/hosts/aftereffects/plugins/publish/validate_scene_settings.py @@ -54,7 +54,7 @@ class ValidateSceneSettings(OptionalPyblishPluginMixin, order = pyblish.api.ValidatorOrder label = "Validate Scene Settings" - families = ["render.farm", "render"] + families = ["render.farm", "render.local", "render"] hosts = ["aftereffects"] optional = True From ab0bc2108c5d9a954e7fb9adde3cda732ace9afe Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Thu, 16 Jun 2022 16:44:18 +0200 Subject: [PATCH 37/70] deadline: fixing misidentification of revieables --- .../deadline/plugins/publish/submit_publish_job.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/openpype/modules/deadline/plugins/publish/submit_publish_job.py b/openpype/modules/deadline/plugins/publish/submit_publish_job.py index 0583c25b57..d2f709825c 100644 --- a/openpype/modules/deadline/plugins/publish/submit_publish_job.py +++ b/openpype/modules/deadline/plugins/publish/submit_publish_job.py @@ -642,9 +642,6 @@ class ProcessSubmittedJobOnFarm(pyblish.api.InstancePlugin): def _solve_families(self, instance, preview=False): families = instance.get("families") - # test also instance data review attribute - preview = preview or instance.get("review") - # if we have one representation with preview tag # flag whole instance for review and for ftrack if preview: @@ -726,6 +723,10 @@ class ProcessSubmittedJobOnFarm(pyblish.api.InstancePlugin): families = ["render"] + # pass review to families if marked as review + if data.get("review"): + families.append("review") + instance_skeleton_data = { "family": "render", "subset": subset, @@ -754,10 +755,6 @@ class ProcessSubmittedJobOnFarm(pyblish.api.InstancePlugin): "family": "prerender", "families": []}) - # also include review attribute if available - if "review" in data: - instance_skeleton_data["review"] = data["review"] - # skip locking version if we are creating v01 instance_version = instance.data.get("version") # take this if exists if instance_version != 1: From 2890c950f5b58fd7654497aae22016d2d1df56ca Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Thu, 16 Jun 2022 16:46:31 +0200 Subject: [PATCH 38/70] trigger open events --- openpype/tools/workfiles/files_widget.py | 45 ++++++++++++++++++++---- 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/openpype/tools/workfiles/files_widget.py b/openpype/tools/workfiles/files_widget.py index 68fe8301c9..709f05b26b 100644 --- a/openpype/tools/workfiles/files_widget.py +++ b/openpype/tools/workfiles/files_widget.py @@ -90,7 +90,9 @@ class FilesWidget(QtWidgets.QWidget): self._task_type = None # Pype's anatomy object for current project - self.anatomy = Anatomy(legacy_io.Session["AVALON_PROJECT"]) + project_name = legacy_io.Session["AVALON_PROJECT"] + self.anatomy = Anatomy(project_name) + self.project_name = project_name # Template key used to get work template from anatomy templates self.template_key = "work" @@ -98,6 +100,7 @@ class FilesWidget(QtWidgets.QWidget): self._workfiles_root = None self._workdir_path = None self.host = registered_host() + self.host_name = os.environ["AVALON_APP"] # Whether to automatically select the latest modified # file on a refresh of the files model. @@ -385,8 +388,9 @@ class FilesWidget(QtWidgets.QWidget): return None if self._asset_doc is None: - project_name = legacy_io.active_project() - self._asset_doc = get_asset_by_id(project_name, self._asset_id) + self._asset_doc = get_asset_by_id( + self.project_name, self._asset_id + ) return self._asset_doc @@ -396,8 +400,8 @@ class FilesWidget(QtWidgets.QWidget): session = legacy_io.Session.copy() self.template_key = get_workfile_template_key( self._task_type, - session["AVALON_APP"], - project_name=session["AVALON_PROJECT"] + self.host_name, + project_name=self.project_name ) changes = compute_session_changes( session, @@ -453,8 +457,35 @@ class FilesWidget(QtWidgets.QWidget): # Save current scene, continue to open file host.save_file(current_file) + asset_name = None + asset_doc = self._get_asset_doc() + if asset_doc: + asset_name = asset_doc["name"] + + emit_event( + "workfile.open.before", + { + "filepath": filepath, + "project_name": self.project_name, + "asset_name": asset_name, + "task_name": self._task_name, + "host_name": self.host_name + }, + source="workfiles.tool" + ) self._enter_session() host.open_file(filepath) + emit_event( + "workfile.open.after", + { + "filepath": filepath, + "project_name": self.project_name, + "asset_name": asset_name, + "task_name": self._task_name, + "host_name": self.host_name + }, + source="workfiles.tool" + ) self.file_opened.emit() def save_changes_prompt(self): @@ -602,10 +633,10 @@ class FilesWidget(QtWidgets.QWidget): # Create extra folders create_workdir_extra_folders( self._workdir_path, - legacy_io.Session["AVALON_APP"], + self.host_name, self._task_type, self._task_name, - legacy_io.Session["AVALON_PROJECT"] + self.project_name ) # Trigger after save events emit_event( From ee4b635edd51523e46864e00c5ec873e477e3e3b Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Thu, 16 Jun 2022 16:51:55 +0200 Subject: [PATCH 39/70] trigger open workfile events in workfiles tool --- openpype/tools/workfiles/files_widget.py | 54 +++++++++++++++--------- 1 file changed, 33 insertions(+), 21 deletions(-) diff --git a/openpype/tools/workfiles/files_widget.py b/openpype/tools/workfiles/files_widget.py index 709f05b26b..a7e54471dc 100644 --- a/openpype/tools/workfiles/files_widget.py +++ b/openpype/tools/workfiles/files_widget.py @@ -1,6 +1,7 @@ import os import logging import shutil +import copy import Qt from Qt import QtWidgets, QtCore @@ -434,6 +435,21 @@ class FilesWidget(QtWidgets.QWidget): template_key=self.template_key ) + def _get_event_context_data(self): + asset_id = None + asset_name = None + asset_doc = self._get_asset_doc() + if asset_doc: + asset_id = asset_doc["_id"] + asset_name = asset_doc["name"] + return { + "project_name": self.project_name, + "asset_id": asset_id, + "asset_name": asset_name, + "task_name": self._task_name, + "host_name": self.host_name + } + def open_file(self, filepath): host = self.host if host.has_unsaved_changes(): @@ -457,33 +473,19 @@ class FilesWidget(QtWidgets.QWidget): # Save current scene, continue to open file host.save_file(current_file) - asset_name = None - asset_doc = self._get_asset_doc() - if asset_doc: - asset_name = asset_doc["name"] - + event_data_before = self._get_event_context_data() + event_data_before["filepath"] = filepath + event_data_after = copy.deepcopy(event_data_before) emit_event( "workfile.open.before", - { - "filepath": filepath, - "project_name": self.project_name, - "asset_name": asset_name, - "task_name": self._task_name, - "host_name": self.host_name - }, + event_data_before, source="workfiles.tool" ) self._enter_session() host.open_file(filepath) emit_event( "workfile.open.after", - { - "filepath": filepath, - "project_name": self.project_name, - "asset_name": asset_name, - "task_name": self._task_name, - "host_name": self.host_name - }, + event_data_after, source="workfiles.tool" ) self.file_opened.emit() @@ -598,9 +600,14 @@ class FilesWidget(QtWidgets.QWidget): src_path = self._get_selected_filepath() # Trigger before save event + event_data_before = self._get_event_context_data() + event_data_before.update({ + "filename": work_filename, + "workdir_path": self._workdir_path + }) emit_event( "workfile.save.before", - {"filename": work_filename, "workdir_path": self._workdir_path}, + event_data_before, source="workfiles.tool" ) @@ -638,10 +645,15 @@ class FilesWidget(QtWidgets.QWidget): self._task_name, self.project_name ) + event_data_after = self._get_event_context_data() + event_data_after.update({ + "filename": work_filename, + "workdir_path": self._workdir_path + }) # Trigger after save events emit_event( "workfile.save.after", - {"filename": work_filename, "workdir_path": self._workdir_path}, + event_data_after, source="workfiles.tool" ) From 94f9d6309822431dc00218687207cefcc4397b11 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Thu, 16 Jun 2022 17:05:26 +0200 Subject: [PATCH 40/70] modules have method that can be called on host installation --- openpype/modules/base.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/openpype/modules/base.py b/openpype/modules/base.py index bca64b19f8..b9ccec13cc 100644 --- a/openpype/modules/base.py +++ b/openpype/modules/base.py @@ -463,6 +463,25 @@ class OpenPypeModule: pass + def on_host_install(self, host, host_name, project_name): + """Host was installed which gives option to handle in-host logic. + + It is a good option to register in-host event callbacks which are + specific for the module. The module is kept in memory for rest of + the process. + + Arguments may change in future. E.g. 'host_name' should be possible + to receive from 'host' object. + + Args: + host (ModuleType): Access to installed/registered host object. + host_name (str): Name of host. + project_name (str): Project name which is main part of host + context. + """ + + pass + def cli(self, module_click_group): """Add commands to click group. From 0c28a29650491603a04ad9f9178e7cdc81c9f73b Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Thu, 16 Jun 2022 17:05:48 +0200 Subject: [PATCH 41/70] trigger on_host_install method on host installation --- openpype/pipeline/context_tools.py | 33 ++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/openpype/pipeline/context_tools.py b/openpype/pipeline/context_tools.py index c6e09cfba1..8643c3d69d 100644 --- a/openpype/pipeline/context_tools.py +++ b/openpype/pipeline/context_tools.py @@ -33,6 +33,9 @@ from . import ( _is_installed = False _registered_root = {"_": ""} _registered_host = {"_": None} +# Keep modules manager (and it's modules) in memory +# - that gives option to register modules' callbacks +_modules_manager = None log = logging.getLogger(__name__) @@ -44,6 +47,23 @@ PUBLISH_PATH = os.path.join(PLUGINS_DIR, "publish") LOAD_PATH = os.path.join(PLUGINS_DIR, "load") +def _get_modules_manager(): + """Get or create modules manager for host installation. + + This is not meant for public usage. Reason is to keep modules + in memory of process to be able trigger their event callbacks if they + need any. + + Returns: + ModulesManager: Manager wrapping discovered modules. + """ + + global _modules_manager + if _modules_manager is None: + _modules_manager = ModulesManager() + return _modules_manager + + def register_root(path): """Register currently active root""" log.info("Registering root: %s" % path) @@ -70,10 +90,12 @@ def install_host(host): avalon host-interface. """ global _is_installed + global _modules_manager _is_installed = True legacy_io.install() + modules_manager = _get_modules_manager() missing = list() for key in ("AVALON_PROJECT", "AVALON_ASSET"): @@ -112,7 +134,14 @@ def install_host(host): else: pyblish.api.register_target("local") - install_openpype_plugins() + project_name = os.environ.get("AVALON_PROJECT") + host_name = os.environ.get("AVALON_APP") + + # Give option to handle host installation + for module in modules_manager.get_enabled_modules(): + module.on_host_install(host, host_name, project_name) + + install_openpype_plugins(project_name, host_name) def install_openpype_plugins(project_name=None, host_name=None): @@ -124,7 +153,7 @@ def install_openpype_plugins(project_name=None, host_name=None): pyblish.api.register_discovery_filter(filter_pyblish_plugins) register_loader_plugin_path(LOAD_PATH) - modules_manager = ModulesManager() + modules_manager = _get_modules_manager() publish_plugin_dirs = modules_manager.collect_plugin_paths()["publish"] for path in publish_plugin_dirs: pyblish.api.register_plugin_path(path) From 89a7d438b4b37e0903ae33f54de58bb04a03b9c4 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Thu, 16 Jun 2022 17:42:46 +0200 Subject: [PATCH 42/70] added human readable keys into taskChanged topic data --- openpype/lib/avalon_context.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/openpype/lib/avalon_context.py b/openpype/lib/avalon_context.py index 9d8a92cfe9..243e89e00d 100644 --- a/openpype/lib/avalon_context.py +++ b/openpype/lib/avalon_context.py @@ -797,8 +797,14 @@ def update_current_task(task=None, asset=None, app=None, template_key=None): else: os.environ[key] = value + data = changes.copy() + # Convert env keys to human readable keys + data["project_name"] = legacy_io.Session["AVALON_PROJECT"] + data["asset_name"] = legacy_io.Session["AVALON_ASSET"] + data["task_name"] = legacy_io.Session["AVALON_TASK"] + # Emit session change - emit_event("taskChanged", changes.copy()) + emit_event("taskChanged", data) return changes From cbb876c155fb6f31356d74404f7763689e09a6d7 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Thu, 16 Jun 2022 17:43:18 +0200 Subject: [PATCH 43/70] moved timer change on task change to timers manager module --- .../modules/timers_manager/timers_manager.py | 18 ++++++++++++++++++ openpype/pipeline/context_tools.py | 8 -------- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/openpype/modules/timers_manager/timers_manager.py b/openpype/modules/timers_manager/timers_manager.py index 3f77a2b7dc..3cf1614316 100644 --- a/openpype/modules/timers_manager/timers_manager.py +++ b/openpype/modules/timers_manager/timers_manager.py @@ -7,6 +7,7 @@ from openpype_interfaces import ( ITrayService, ILaunchHookPaths ) +from openpype.lib.events import register_event_callback from openpype.pipeline import AvalonMongoDB from .exceptions import InvalidContextError @@ -422,3 +423,20 @@ class TimersManager(OpenPypeModule, ITrayService, ILaunchHookPaths): } return requests.post(rest_api_url, json=data) + + def on_host_install(self, host, host_name, project_name): + self.log.debug("Installing task changed callback") + register_event_callback("taskChanged", self._on_host_task_change) + + def _on_host_task_change(self, event): + project_name = event["project_name"] + asset_name = event["asset_name"] + task_name = event["task_name"] + self.log.debug(( + "Sending message that timer should change to" + " Project: {} Asset: {} Task: {}" + ).format(project_name, asset_name, task_name)) + + self.start_timer_with_webserver( + project_name, asset_name, task_name, self.log + ) diff --git a/openpype/pipeline/context_tools.py b/openpype/pipeline/context_tools.py index 8643c3d69d..3e63eeba27 100644 --- a/openpype/pipeline/context_tools.py +++ b/openpype/pipeline/context_tools.py @@ -16,9 +16,7 @@ from openpype.modules import load_modules, ModulesManager from openpype.settings import get_project_settings from openpype.lib import ( Anatomy, - register_event_callback, filter_pyblish_plugins, - change_timer_to_current_context, ) from . import ( @@ -117,8 +115,6 @@ def install_host(host): register_host(host) - register_event_callback("taskChanged", _on_task_change) - def modified_emit(obj, record): """Method replacing `emit` in Pyblish's MessageHandler.""" record.msg = record.getMessage() @@ -197,10 +193,6 @@ def install_openpype_plugins(project_name=None, host_name=None): register_inventory_action(path) -def _on_task_change(): - change_timer_to_current_context() - - def uninstall_host(): """Undo all of what `install()` did""" host = registered_host() From 3da1720702a2f21350e8a9cb4f17bbca4e11db23 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Thu, 16 Jun 2022 18:04:08 +0200 Subject: [PATCH 44/70] Fix - validate_scene_settings was failing for legacy instances Fix - renderLocal is published to 'render' folder same as render farm --- .../hosts/aftereffects/plugins/publish/collect_render.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openpype/hosts/aftereffects/plugins/publish/collect_render.py b/openpype/hosts/aftereffects/plugins/publish/collect_render.py index fa23bf92b0..97b3175c57 100644 --- a/openpype/hosts/aftereffects/plugins/publish/collect_render.py +++ b/openpype/hosts/aftereffects/plugins/publish/collect_render.py @@ -21,7 +21,7 @@ class AERenderInstance(RenderInstance): projectEntity = attr.ib(default=None) stagingDir = attr.ib(default=None) app_version = attr.ib(default=None) - publish_attributes = attr.ib(default=None) + publish_attributes = attr.ib(default={}) file_name = attr.ib(default=None) @@ -90,7 +90,7 @@ class CollectAERender(abstract_collect_render.AbstractCollectRender): subset_name = inst.data["subset"] instance = AERenderInstance( - family=family, + family="render", families=inst.data.get("families", []), version=version, time="", @@ -116,7 +116,7 @@ class CollectAERender(abstract_collect_render.AbstractCollectRender): toBeRenderedOn='deadline', fps=fps, app_version=app_version, - publish_attributes=inst.data.get("publish_attributes"), + publish_attributes=inst.data.get("publish_attributes", {}), file_name=render_q.file_name ) From e9168118d73cb265a4f5597b5d577197b41db4e1 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Fri, 17 Jun 2022 10:25:36 +0200 Subject: [PATCH 45/70] handle prerender earlier prerender --- .../deadline/plugins/publish/submit_publish_job.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/openpype/modules/deadline/plugins/publish/submit_publish_job.py b/openpype/modules/deadline/plugins/publish/submit_publish_job.py index ae4ada709a..6d08e72839 100644 --- a/openpype/modules/deadline/plugins/publish/submit_publish_job.py +++ b/openpype/modules/deadline/plugins/publish/submit_publish_job.py @@ -722,14 +722,17 @@ class ProcessSubmittedJobOnFarm(pyblish.api.InstancePlugin): " This may cause issues." ).format(source)) - families = ["render"] + family = "render" + if "prerender" in instance.data["families"]: + family = "prerender" + families = [family] # pass review to families if marked as review if data.get("review"): families.append("review") instance_skeleton_data = { - "family": "render", + "family": family, "subset": subset, "families": families, "asset": asset, @@ -751,11 +754,6 @@ class ProcessSubmittedJobOnFarm(pyblish.api.InstancePlugin): "useSequenceForReview": data.get("useSequenceForReview", True) } - if "prerender" in instance.data["families"]: - instance_skeleton_data.update({ - "family": "prerender", - "families": []}) - # skip locking version if we are creating v01 instance_version = instance.data.get("version") # take this if exists if instance_version != 1: From a1676d5c44de04d880996afc738d245bcd65e66d Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Fri, 17 Jun 2022 10:58:26 +0200 Subject: [PATCH 46/70] create representation variable all the time --- .../hosts/nuke/plugins/publish/precollect_writes.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/openpype/hosts/nuke/plugins/publish/precollect_writes.py b/openpype/hosts/nuke/plugins/publish/precollect_writes.py index e050fc8c52..7e50679ed5 100644 --- a/openpype/hosts/nuke/plugins/publish/precollect_writes.py +++ b/openpype/hosts/nuke/plugins/publish/precollect_writes.py @@ -72,12 +72,12 @@ class CollectNukeWrites(pyblish.api.InstancePlugin): if "representations" not in instance.data: instance.data["representations"] = list() - representation = { - 'name': ext, - 'ext': ext, - "stagingDir": output_dir, - "tags": list() - } + representation = { + 'name': ext, + 'ext': ext, + "stagingDir": output_dir, + "tags": list() + } try: collected_frames = [f for f in os.listdir(output_dir) From 7c7ae5d3dccefb409870b91ad8ef50097268c815 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Fri, 17 Jun 2022 11:38:14 +0200 Subject: [PATCH 47/70] Fix Maya 2019 support `__iter__` is only implemented in Maya 2020+ for Maya Python 2.0 iterators. --- openpype/hosts/maya/plugins/publish/collect_instances.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openpype/hosts/maya/plugins/publish/collect_instances.py b/openpype/hosts/maya/plugins/publish/collect_instances.py index 433fa9886d..6cc9b9d7e4 100644 --- a/openpype/hosts/maya/plugins/publish/collect_instances.py +++ b/openpype/hosts/maya/plugins/publish/collect_instances.py @@ -28,18 +28,18 @@ def get_all_children(nodes): dag = sel.getDagPath(0) iterator.reset(dag) - next(iterator) # ignore self + iterator.next() # ignore self while not iterator.isDone(): path = iterator.fullPathName() if path in traversed: iterator.prune() - next(iterator) + iterator.next() continue traversed.add(path) - next(iterator) + iterator.next() return list(traversed) From 5b1ab9e7d3694f127eb3457f5e8e2dab767008dd Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Fri, 17 Jun 2022 11:52:35 +0200 Subject: [PATCH 48/70] Shush hound --- openpype/hosts/maya/plugins/publish/collect_instances.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/openpype/hosts/maya/plugins/publish/collect_instances.py b/openpype/hosts/maya/plugins/publish/collect_instances.py index 6cc9b9d7e4..ad1f794680 100644 --- a/openpype/hosts/maya/plugins/publish/collect_instances.py +++ b/openpype/hosts/maya/plugins/publish/collect_instances.py @@ -28,18 +28,19 @@ def get_all_children(nodes): dag = sel.getDagPath(0) iterator.reset(dag) - iterator.next() # ignore self + # ignore self + iterator.next() # noqa: B305 while not iterator.isDone(): path = iterator.fullPathName() if path in traversed: iterator.prune() - iterator.next() + iterator.next() # noqa: B305 continue traversed.add(path) - iterator.next() + iterator.next() # noqa: B305 return list(traversed) From b9abbcd61629d5103413399b5048ca5ad2d23545 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Fri, 17 Jun 2022 12:11:00 +0200 Subject: [PATCH 49/70] fixed extract thumbnail in nuke --- .../nuke/plugins/publish/extract_thumbnail.py | 62 +++++++++---------- 1 file changed, 30 insertions(+), 32 deletions(-) diff --git a/openpype/hosts/nuke/plugins/publish/extract_thumbnail.py b/openpype/hosts/nuke/plugins/publish/extract_thumbnail.py index 092fc07d6c..a622271855 100644 --- a/openpype/hosts/nuke/plugins/publish/extract_thumbnail.py +++ b/openpype/hosts/nuke/plugins/publish/extract_thumbnail.py @@ -65,48 +65,46 @@ class ExtractThumbnail(openpype.api.Extractor): temporary_nodes = [] # try to connect already rendered images - if self.use_rendered: - collection = instance.data.get("collection", None) - self.log.debug("__ collection: `{}`".format(collection)) + previous_node = node + collection = instance.data.get("collection", None) + self.log.debug("__ collection: `{}`".format(collection)) - if collection: - # get path - fname = os.path.basename(collection.format( - "{head}{padding}{tail}")) - fhead = collection.format("{head}") + if collection: + # get path + fname = os.path.basename(collection.format( + "{head}{padding}{tail}")) + fhead = collection.format("{head}") - thumb_fname = list(collection)[mid_frame] - else: - fname = thumb_fname = os.path.basename( - instance.data.get("path", None)) - fhead = os.path.splitext(fname)[0] + "." + thumb_fname = list(collection)[mid_frame] + else: + fname = thumb_fname = os.path.basename( + instance.data.get("path", None)) + fhead = os.path.splitext(fname)[0] + "." - self.log.debug("__ fhead: `{}`".format(fhead)) + self.log.debug("__ fhead: `{}`".format(fhead)) - if "#" in fhead: - fhead = fhead.replace("#", "")[:-1] + if "#" in fhead: + fhead = fhead.replace("#", "")[:-1] - path_render = os.path.join( - staging_dir, thumb_fname).replace("\\", "/") - self.log.debug("__ path_render: `{}`".format(path_render)) + path_render = os.path.join( + staging_dir, thumb_fname).replace("\\", "/") + self.log.debug("__ path_render: `{}`".format(path_render)) + if self.use_rendered and os.path.isfile(path_render): # check if file exist otherwise connect to write node - if os.path.isfile(path_render): - rnode = nuke.createNode("Read") + rnode = nuke.createNode("Read") - rnode["file"].setValue(path_render) + rnode["file"].setValue(path_render) - # turn it raw if none of baking is ON - if all([ - not self.bake_viewer_input_process, - not self.bake_viewer_process - ]): - rnode["raw"].setValue(True) + # turn it raw if none of baking is ON + if all([ + not self.bake_viewer_input_process, + not self.bake_viewer_process + ]): + rnode["raw"].setValue(True) - temporary_nodes.append(rnode) - previous_node = rnode - else: - previous_node = node + temporary_nodes.append(rnode) + previous_node = rnode # bake viewer input look node into thumbnail image if self.bake_viewer_input_process: From d230cb7d49170d71eeaf8b3f201b3e966817132b Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Fri, 17 Jun 2022 12:39:44 +0200 Subject: [PATCH 50/70] Fix - audio validator for Harmony has wrong logic Wrong condition stayed after change from asset to raise (it should be negated). --- openpype/hosts/harmony/plugins/publish/validate_audio.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/hosts/harmony/plugins/publish/validate_audio.py b/openpype/hosts/harmony/plugins/publish/validate_audio.py index cb6b2307cd..e9b8609803 100644 --- a/openpype/hosts/harmony/plugins/publish/validate_audio.py +++ b/openpype/hosts/harmony/plugins/publish/validate_audio.py @@ -47,6 +47,6 @@ class ValidateAudio(pyblish.api.InstancePlugin): formatting_data = { "audio_url": audio_path } - if os.path.isfile(audio_path): + if not os.path.isfile(audio_path): raise PublishXmlValidationError(self, msg, formatting_data=formatting_data) From 29def2f2679ca95fa645ef6afe16a1b48bf1b9ad Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Fri, 17 Jun 2022 13:17:05 +0200 Subject: [PATCH 51/70] fix kwarg key --- .../hosts/webpublisher/webserver_service/webpublish_routes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py b/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py index b1041bf6cb..457bcd7f93 100644 --- a/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py +++ b/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py @@ -107,7 +107,7 @@ class HiearchyEndpoint(ResourceRestApiEndpoint): "type": 1, } - asset_docs = get_assets(project_name, field=query_projection.keys()) + asset_docs = get_assets(project_name, fields=query_projection.keys()) asset_docs_by_id = { asset_doc["_id"]: asset_doc for asset_doc in asset_docs From 434e6bf78a8595eeb7c444d72711e547970b1d17 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Fri, 17 Jun 2022 13:51:41 +0200 Subject: [PATCH 52/70] Fix - added json support to all resources encode method was missing for WebpublishRestApiResource --- .../webserver_service/webpublish_routes.py | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py b/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py index 457bcd7f93..4cb3cee8e1 100644 --- a/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py +++ b/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py @@ -38,18 +38,11 @@ class WebpublishApiEndpoint(ResourceRestApiEndpoint): return self.resource.dbcon -class RestApiResource: - """Resource carrying needed info and Avalon DB connection for publish.""" - def __init__(self, server_manager, executable, upload_dir, - studio_task_queue=None): - self.server_manager = server_manager - self.upload_dir = upload_dir - self.executable = executable - - if studio_task_queue is None: - studio_task_queue = collections.deque().dequeu - self.studio_task_queue = studio_task_queue +class JsonApiResource: + """Resource for json manipulation. + All resources handling sending output to REST should inherit from + """ @staticmethod def json_dump_handler(value): if isinstance(value, datetime.datetime): @@ -69,7 +62,20 @@ class RestApiResource: ).encode("utf-8") -class WebpublishRestApiResource: +class RestApiResource(JsonApiResource): + """Resource carrying needed info and Avalon DB connection for publish.""" + def __init__(self, server_manager, executable, upload_dir, + studio_task_queue=None): + self.server_manager = server_manager + self.upload_dir = upload_dir + self.executable = executable + + if studio_task_queue is None: + studio_task_queue = collections.deque().dequeu + self.studio_task_queue = studio_task_queue + + +class WebpublishRestApiResource(JsonApiResource): """Resource carrying OP DB connection for storing batch info into DB.""" def __init__(self): From a28f76374e583e6bf5d2f8490a39945a63da418f Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Fri, 17 Jun 2022 14:33:26 +0200 Subject: [PATCH 53/70] use get_openpype_username to fill data for templates filling --- openpype/lib/avalon_context.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openpype/lib/avalon_context.py b/openpype/lib/avalon_context.py index 9d8a92cfe9..c27c5f572e 100644 --- a/openpype/lib/avalon_context.py +++ b/openpype/lib/avalon_context.py @@ -7,7 +7,6 @@ import platform import logging import collections import functools -import getpass from bson.objectid import ObjectId @@ -19,6 +18,7 @@ from .anatomy import Anatomy from .profiles_filtering import filter_profiles from .events import emit_event from .path_templates import StringTemplate +from .local_settings import get_openpype_username legacy_io = None @@ -550,7 +550,7 @@ def get_workdir_data(project_doc, asset_doc, task_name, host_name): "asset": asset_doc["name"], "parent": parent_name, "app": host_name, - "user": getpass.getuser(), + "user": get_openpype_username(), "hierarchy": hierarchy, } From cd90fb603ea3815445b9e181374428c2a5c4a18d Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Fri, 17 Jun 2022 14:37:38 +0200 Subject: [PATCH 54/70] remove unused imports --- openpype/plugins/publish/collect_current_pype_user.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/openpype/plugins/publish/collect_current_pype_user.py b/openpype/plugins/publish/collect_current_pype_user.py index 1a52a59012..2d507ba292 100644 --- a/openpype/plugins/publish/collect_current_pype_user.py +++ b/openpype/plugins/publish/collect_current_pype_user.py @@ -1,5 +1,3 @@ -import os -import getpass import pyblish.api from openpype.lib import get_openpype_username From 1f42006f571343cf832b078d453e6804d68a3cbd Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Fri, 17 Jun 2022 14:38:03 +0200 Subject: [PATCH 55/70] added user key to available template keys --- website/docs/admin_settings_project_anatomy.md | 1 + 1 file changed, 1 insertion(+) diff --git a/website/docs/admin_settings_project_anatomy.md b/website/docs/admin_settings_project_anatomy.md index 6e0b49f152..106faeb806 100644 --- a/website/docs/admin_settings_project_anatomy.md +++ b/website/docs/admin_settings_project_anatomy.md @@ -68,6 +68,7 @@ We have a few required anatomy templates for OpenPype to work properly, however | `representation` | Representation name | | `frame` | Frame number for sequence files. | | `app` | Application Name | +| `user` | User's login name (can be overridden in local settings) | | `output` | | | `comment` | | From 34a79bfec9bd448986957885eaedfeae9424eab0 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Fri, 17 Jun 2022 15:31:51 +0200 Subject: [PATCH 56/70] fix showing after plugin hide and don't ignore close events --- openpype/tools/pyblish_pype/window.py | 89 ++++++++++----------------- 1 file changed, 34 insertions(+), 55 deletions(-) diff --git a/openpype/tools/pyblish_pype/window.py b/openpype/tools/pyblish_pype/window.py index d27ec34345..78590259bc 100644 --- a/openpype/tools/pyblish_pype/window.py +++ b/openpype/tools/pyblish_pype/window.py @@ -468,10 +468,8 @@ class Window(QtWidgets.QDialog): current_page == "terminal" ) - self.state = { - "is_closing": False, - "current_page": current_page - } + self._current_page = current_page + self._hidden_for_plugin_process = False self.tabs[current_page].setChecked(True) @@ -590,14 +588,14 @@ class Window(QtWidgets.QDialog): target_page = page if direction is None: direction = -1 - elif name == self.state["current_page"]: + elif name == self._current_page: previous_page = page if direction is None: direction = 1 else: page.setVisible(False) - self.state["current_page"] = target + self._current_page = target self.slide_page(previous_page, target_page, direction) def slide_page(self, previous_page, target_page, direction): @@ -684,7 +682,7 @@ class Window(QtWidgets.QDialog): comment_visible=None, terminal_filters_visibile=None ): - target = self.state["current_page"] + target = self._current_page comment_visibility = ( not self.perspective_widget.isVisible() and not target == "terminal" @@ -845,7 +843,7 @@ class Window(QtWidgets.QDialog): def apply_log_suspend_value(self, value): self._suspend_logs = value - if self.state["current_page"] == "terminal": + if self._current_page == "terminal": self.tabs["overview"].setChecked(True) self.tabs["terminal"].setVisible(not self._suspend_logs) @@ -882,9 +880,21 @@ class Window(QtWidgets.QDialog): visibility = True if hasattr(plugin, "hide_ui_on_process") and plugin.hide_ui_on_process: visibility = False + self._hidden_for_plugin_process = not visibility - if self.isVisible() != visibility: - self.setVisible(visibility) + self._ensure_visible(visibility) + + def _ensure_visible(self, visible): + if self.isVisible() == visible: + return + + if not visible: + self.setVisible(visible) + else: + self.show() + self.raise_() + self.activateWindow() + self.showNormal() def on_plugin_action_menu_requested(self, pos): """The user right-clicked on a plug-in @@ -955,7 +965,7 @@ class Window(QtWidgets.QDialog): self.intent_box.setEnabled(True) # Refresh tab - self.on_tab_changed(self.state["current_page"]) + self.on_tab_changed(self._current_page) self.update_compatibility() self.button_suspend_logs.setEnabled(False) @@ -1027,8 +1037,9 @@ class Window(QtWidgets.QDialog): self._update_state() - if not self.isVisible(): - self.setVisible(True) + if self._hidden_for_plugin_process: + self._hidden_for_plugin_process = False + self._ensure_visible(True) def on_was_skipped(self, plugin): plugin_item = self.plugin_model.plugin_items[plugin.id] @@ -1103,8 +1114,9 @@ class Window(QtWidgets.QDialog): plugin_item, instance_item ) - if not self.isVisible(): - self.setVisible(True) + if self._hidden_for_plugin_process: + self._hidden_for_plugin_process = False + self._ensure_visible(True) # ------------------------------------------------------------------------- # @@ -1223,53 +1235,20 @@ class Window(QtWidgets.QDialog): """ - # Make it snappy, but take care to clean it all up. - # TODO(marcus): Enable GUI to return on problem, such - # as asking whether or not the user really wants to quit - # given there are things currently running. - self.hide() + self.info(self.tr("Closing..")) - if self.state["is_closing"]: + if self.controller.is_running: + self.info(self.tr("..as soon as processing is finished..")) + self.controller.stop() - # Explicitly clear potentially referenced data - self.info(self.tr("Cleaning up models..")) - self.intent_model.deleteLater() - self.plugin_model.deleteLater() - self.terminal_model.deleteLater() - self.terminal_proxy.deleteLater() - self.plugin_proxy.deleteLater() + self.info(self.tr("Cleaning up controller..")) + self.controller.cleanup() self.overview_instance_view.setModel(None) self.overview_plugin_view.setModel(None) self.terminal_view.setModel(None) - self.info(self.tr("Cleaning up controller..")) - self.controller.cleanup() - - self.info(self.tr("All clean!")) - self.info(self.tr("Good bye")) - return super(Window, self).closeEvent(event) - - self.info(self.tr("Closing..")) - - def on_problem(): - self.heads_up( - "Warning", "Had trouble closing down. " - "Please tell someone and try again." - ) - self.show() - - if self.controller.is_running: - self.info(self.tr("..as soon as processing is finished..")) - self.controller.stop() - self.finished.connect(self.close) - util.defer(200, on_problem) - return event.ignore() - - self.state["is_closing"] = True - - util.defer(200, self.close) - return event.ignore() + event.accept() def reject(self): """Handle ESC key""" From e54073608b59c4fe814a0fa3a1e49faef8e5a551 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Fri, 17 Jun 2022 15:48:28 +0200 Subject: [PATCH 57/70] Nuke: multiple bake stream correct frame range on farm --- .../plugins/publish/submit_nuke_deadline.py | 70 ++++++++++++------- 1 file changed, 44 insertions(+), 26 deletions(-) diff --git a/openpype/modules/deadline/plugins/publish/submit_nuke_deadline.py b/openpype/modules/deadline/plugins/publish/submit_nuke_deadline.py index ca68c87f9a..93fb511a34 100644 --- a/openpype/modules/deadline/plugins/publish/submit_nuke_deadline.py +++ b/openpype/modules/deadline/plugins/publish/submit_nuke_deadline.py @@ -55,8 +55,8 @@ class NukeSubmitDeadline(pyblish.api.InstancePlugin): self._ver = re.search(r"\d+\.\d+", context.data.get("hostVersion")) self._deadline_user = context.data.get( "deadlineUser", getpass.getuser()) - self._frame_start = int(instance.data["frameStartHandle"]) - self._frame_end = int(instance.data["frameEndHandle"]) + submit_frame_start = int(instance.data["frameStartHandle"]) + submit_frame_end = int(instance.data["frameEndHandle"]) # get output path render_path = instance.data['path'] @@ -82,13 +82,16 @@ class NukeSubmitDeadline(pyblish.api.InstancePlugin): # exception for slate workflow if "slate" in instance.data["families"]: - self._frame_start -= 1 + submit_frame_start -= 1 - response = self.payload_submit(instance, - script_path, - render_path, - node.name() - ) + response = self.payload_submit( + instance, + script_path, + render_path, + node.name(), + submit_frame_start, + submit_frame_end + ) # Store output dir for unified publisher (filesequence) instance.data["deadlineSubmissionJob"] = response.json() instance.data["outputDir"] = os.path.dirname( @@ -96,20 +99,22 @@ class NukeSubmitDeadline(pyblish.api.InstancePlugin): instance.data["publishJobState"] = "Suspended" if instance.data.get("bakingNukeScripts"): + # exception for slate workflow + if "slate" in instance.data["families"]: + submit_frame_start += 1 + for baking_script in instance.data["bakingNukeScripts"]: render_path = baking_script["bakeRenderPath"] script_path = baking_script["bakeScriptPath"] exe_node_name = baking_script["bakeWriteNodeName"] - # exception for slate workflow - if "slate" in instance.data["families"]: - self._frame_start += 1 - resp = self.payload_submit( instance, script_path, render_path, exe_node_name, + submit_frame_start, + submit_frame_end, response.json() ) @@ -126,13 +131,16 @@ class NukeSubmitDeadline(pyblish.api.InstancePlugin): families.insert(0, "prerender") instance.data["families"] = families - def payload_submit(self, - instance, - script_path, - render_path, - exe_node_name, - responce_data=None - ): + def payload_submit( + self, + instance, + script_path, + render_path, + exe_node_name, + start_frame, + end_frame, + responce_data=None + ): render_dir = os.path.normpath(os.path.dirname(render_path)) script_name = os.path.basename(script_path) jobname = "%s - %s" % (script_name, instance.name) @@ -192,8 +200,8 @@ class NukeSubmitDeadline(pyblish.api.InstancePlugin): "Plugin": "Nuke", "Frames": "{start}-{end}".format( - start=self._frame_start, - end=self._frame_end + start=start_frame, + end=end_frame ), "Comment": self._comment, @@ -293,7 +301,13 @@ class NukeSubmitDeadline(pyblish.api.InstancePlugin): self.log.info(json.dumps(payload, indent=4, sort_keys=True)) # adding expectied files to instance.data - self.expected_files(instance, render_path) + self.expected_files( + instance, + render_path, + start_frame, + end_frame + ) + self.log.debug("__ expectedFiles: `{}`".format( instance.data["expectedFiles"])) response = requests.post(self.deadline_url, json=payload, timeout=10) @@ -339,9 +353,13 @@ class NukeSubmitDeadline(pyblish.api.InstancePlugin): self.log.debug("_ path: `{}`".format(path)) return path - def expected_files(self, - instance, - path): + def expected_files( + self, + instance, + path, + start_frame, + end_frame + ): """ Create expected files in instance data """ if not instance.data.get("expectedFiles"): @@ -359,7 +377,7 @@ class NukeSubmitDeadline(pyblish.api.InstancePlugin): instance.data["expectedFiles"].append(path) return - for i in range(self._frame_start, (self._frame_end + 1)): + for i in range(start_frame, (end_frame + 1)): instance.data["expectedFiles"].append( os.path.join(dir, (file % i)).replace("\\", "/")) From bd01ee948cb93414be4e8ef5657bb65491d936df Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Fri, 17 Jun 2022 16:09:34 +0200 Subject: [PATCH 58/70] OP-2448 - added support for single frame playblast review Before clique.assemble returns empty collections --- openpype/hosts/maya/plugins/publish/extract_playblast.py | 3 ++- openpype/plugins/publish/extract_review.py | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/openpype/hosts/maya/plugins/publish/extract_playblast.py b/openpype/hosts/maya/plugins/publish/extract_playblast.py index bb1ecf279d..3e8655be7d 100644 --- a/openpype/hosts/maya/plugins/publish/extract_playblast.py +++ b/openpype/hosts/maya/plugins/publish/extract_playblast.py @@ -111,7 +111,8 @@ class ExtractPlayblast(openpype.api.Extractor): self.log.debug("playblast path {}".format(path)) collected_files = os.listdir(stagingdir) - collections, remainder = clique.assemble(collected_files) + collections, remainder = clique.assemble(collected_files, + minimum_items=1) self.log.debug("filename {}".format(filename)) frame_collection = None diff --git a/openpype/plugins/publish/extract_review.py b/openpype/plugins/publish/extract_review.py index 879125dac3..de9e3926bd 100644 --- a/openpype/plugins/publish/extract_review.py +++ b/openpype/plugins/publish/extract_review.py @@ -762,8 +762,9 @@ class ExtractReview(pyblish.api.InstancePlugin): """ start_frame = int(start_frame) end_frame = int(end_frame) - collections = clique.assemble(files)[0] - assert len(collections) == 1, "Multiple collections found." + collections = clique.assemble(files, minimum_items=1)[0] + msg = "Multiple collections {} found.".format(collections) + assert len(collections) == 1, msg col = collections[0] # do nothing if no gap is found in input range @@ -845,7 +846,7 @@ class ExtractReview(pyblish.api.InstancePlugin): dst_staging_dir = new_repre["stagingDir"] if temp_data["input_is_sequence"]: - collections = clique.assemble(repre["files"])[0] + collections = clique.assemble(repre["files"], minimum_items=1)[0] full_input_path = os.path.join( src_staging_dir, collections[0].format("{head}{padding}{tail}") From 285bfdf57e25bc4784633fb31caffb1b5962a381 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Fri, 17 Jun 2022 16:41:10 +0200 Subject: [PATCH 59/70] OP-2448 - revert changes with minimum_review This solution might be too dangerous and have unforeseeable consequences. --- openpype/plugins/publish/extract_review.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openpype/plugins/publish/extract_review.py b/openpype/plugins/publish/extract_review.py index de9e3926bd..b6e5fee1fe 100644 --- a/openpype/plugins/publish/extract_review.py +++ b/openpype/plugins/publish/extract_review.py @@ -762,7 +762,7 @@ class ExtractReview(pyblish.api.InstancePlugin): """ start_frame = int(start_frame) end_frame = int(end_frame) - collections = clique.assemble(files, minimum_items=1)[0] + collections = clique.assemble(files)[0] msg = "Multiple collections {} found.".format(collections) assert len(collections) == 1, msg col = collections[0] @@ -846,7 +846,7 @@ class ExtractReview(pyblish.api.InstancePlugin): dst_staging_dir = new_repre["stagingDir"] if temp_data["input_is_sequence"]: - collections = clique.assemble(repre["files"], minimum_items=1)[0] + collections = clique.assemble(repre["files"])[0] full_input_path = os.path.join( src_staging_dir, collections[0].format("{head}{padding}{tail}") From fc93785ef22f3fea1226a47a37e0a6404e9c61c3 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Fri, 17 Jun 2022 16:46:14 +0200 Subject: [PATCH 60/70] OP-2448 - safer variant of passing collected files Later process doesn't handle well single frame file in a list, it should be always as a regular string. --- openpype/hosts/maya/plugins/publish/extract_playblast.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/openpype/hosts/maya/plugins/publish/extract_playblast.py b/openpype/hosts/maya/plugins/publish/extract_playblast.py index 3e8655be7d..ba939d5428 100644 --- a/openpype/hosts/maya/plugins/publish/extract_playblast.py +++ b/openpype/hosts/maya/plugins/publish/extract_playblast.py @@ -135,10 +135,15 @@ class ExtractPlayblast(openpype.api.Extractor): # Add camera node name to representation data camera_node_name = pm.ls(camera)[0].getTransform().name() + collected_files = list(frame_collection) + # single frame file shouldn't be in list, only as a string + if len(collected_files) == 1: + collected_files = collected_files[0] + representation = { 'name': 'png', 'ext': 'png', - 'files': list(frame_collection), + 'files': collected_files, "stagingDir": stagingdir, "frameStart": start, "frameEnd": end, From c368fb587f6bc89668ce07024154768f6de2ef7d Mon Sep 17 00:00:00 2001 From: OpenPype Date: Fri, 17 Jun 2022 15:29:09 +0000 Subject: [PATCH 61/70] [Automated] Bump version --- CHANGELOG.md | 33 +++++---------------------------- openpype/version.py | 2 +- pyproject.toml | 2 +- 3 files changed, 7 insertions(+), 30 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb71071205..8f9eb04f45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## [3.11.0-nightly.3](https://github.com/pypeclub/OpenPype/tree/HEAD) +## [3.11.0-nightly.4](https://github.com/pypeclub/OpenPype/tree/HEAD) [Full Changelog](https://github.com/pypeclub/OpenPype/compare/3.10.0...HEAD) @@ -22,11 +22,7 @@ - General: Updated windows oiio tool [\#3268](https://github.com/pypeclub/OpenPype/pull/3268) - Unreal: add support for skeletalMesh and staticMesh to loaders [\#3267](https://github.com/pypeclub/OpenPype/pull/3267) - Maya: reference loaders could store placeholder in referenced url [\#3264](https://github.com/pypeclub/OpenPype/pull/3264) -- Maya: FBX camera export [\#3253](https://github.com/pypeclub/OpenPype/pull/3253) -- TVPaint: Init file for TVPaint worker also handle guideline images [\#3250](https://github.com/pypeclub/OpenPype/pull/3250) - Nuke: Change default icon path in settings [\#3247](https://github.com/pypeclub/OpenPype/pull/3247) -- Maya: publishing of animation and pointcache on a farm [\#3225](https://github.com/pypeclub/OpenPype/pull/3225) -- Maya: Look assigner UI improvements [\#3208](https://github.com/pypeclub/OpenPype/pull/3208) **🐛 Bug fixes** @@ -43,13 +39,13 @@ - Webpublisher: return only active projects in ProjectsEndpoint [\#3281](https://github.com/pypeclub/OpenPype/pull/3281) - Hiero: add support for task tags 3.10.x [\#3279](https://github.com/pypeclub/OpenPype/pull/3279) - General: Fix Oiio tool path resolving [\#3278](https://github.com/pypeclub/OpenPype/pull/3278) +- Maya: Fix udim support for e.g. uppercase \ tag [\#3266](https://github.com/pypeclub/OpenPype/pull/3266) - Nuke: bake reformat was failing on string type [\#3261](https://github.com/pypeclub/OpenPype/pull/3261) - Maya: hotfix Pxr multitexture in looks [\#3260](https://github.com/pypeclub/OpenPype/pull/3260) +- Unreal: Fix Camera Loading if Layout is missing [\#3255](https://github.com/pypeclub/OpenPype/pull/3255) - Unreal: Fixed Animation loading in UE5 [\#3240](https://github.com/pypeclub/OpenPype/pull/3240) - Unreal: Fixed Render creation in UE5 [\#3239](https://github.com/pypeclub/OpenPype/pull/3239) - Unreal: Fixed Camera loading in UE5 [\#3238](https://github.com/pypeclub/OpenPype/pull/3238) -- TVPaint: Look for more groups than 12 [\#3228](https://github.com/pypeclub/OpenPype/pull/3228) -- Flame: debugging [\#3224](https://github.com/pypeclub/OpenPype/pull/3224) **🔀 Refactored code** @@ -60,7 +56,6 @@ - Maya: add pointcache family to gpu cache loader [\#3318](https://github.com/pypeclub/OpenPype/pull/3318) - Maya look: skip empty file attributes [\#3274](https://github.com/pypeclub/OpenPype/pull/3274) -- Harmony: message length in 21.1 [\#3258](https://github.com/pypeclub/OpenPype/pull/3258) ## [3.10.0](https://github.com/pypeclub/OpenPype/tree/3.10.0) (2022-05-26) @@ -68,46 +63,28 @@ **🚀 Enhancements** -- TVPaint: Init file for TVPaint worker also handle guideline images [\#3251](https://github.com/pypeclub/OpenPype/pull/3251) +- Maya: FBX camera export [\#3253](https://github.com/pypeclub/OpenPype/pull/3253) - General: updating common vendor `scriptmenu` to 1.5.2 [\#3246](https://github.com/pypeclub/OpenPype/pull/3246) - Project Manager: Allow to paste Tasks into multiple assets at the same time [\#3226](https://github.com/pypeclub/OpenPype/pull/3226) -- Project manager: Sped up project load [\#3216](https://github.com/pypeclub/OpenPype/pull/3216) **🐛 Bug fixes** -- Maya: Fix udim support for e.g. uppercase \ tag [\#3266](https://github.com/pypeclub/OpenPype/pull/3266) -- Unreal: Fix Camera Loading if Layout is missing [\#3255](https://github.com/pypeclub/OpenPype/pull/3255) - nuke: use framerange issue [\#3254](https://github.com/pypeclub/OpenPype/pull/3254) - Ftrack: Chunk sizes for queries has minimal condition [\#3244](https://github.com/pypeclub/OpenPype/pull/3244) - Maya: renderman displays needs to be filtered [\#3242](https://github.com/pypeclub/OpenPype/pull/3242) - Ftrack: Validate that the user exists on ftrack [\#3237](https://github.com/pypeclub/OpenPype/pull/3237) - Maya: Fix support for multiple resolutions [\#3236](https://github.com/pypeclub/OpenPype/pull/3236) -- Hiero: debugging frame range and other 3.10 [\#3222](https://github.com/pypeclub/OpenPype/pull/3222) -- Project Manager: Fix persistent editors on project change [\#3218](https://github.com/pypeclub/OpenPype/pull/3218) -- Deadline: instance data overwrite fix [\#3214](https://github.com/pypeclub/OpenPype/pull/3214) -- Ftrack: Push hierarchical attributes action works [\#3210](https://github.com/pypeclub/OpenPype/pull/3210) -- Standalone Publisher: Always create new representation for thumbnail [\#3203](https://github.com/pypeclub/OpenPype/pull/3203) -- Photoshop: skip collector when automatic testing [\#3202](https://github.com/pypeclub/OpenPype/pull/3202) +- TVPaint: Look for more groups than 12 [\#3228](https://github.com/pypeclub/OpenPype/pull/3228) **Merged pull requests:** - Harmony: message length in 21.1 [\#3257](https://github.com/pypeclub/OpenPype/pull/3257) - Harmony: 21.1 fix [\#3249](https://github.com/pypeclub/OpenPype/pull/3249) -- Maya: added jpg to filter for Image Plane Loader [\#3223](https://github.com/pypeclub/OpenPype/pull/3223) ## [3.9.8](https://github.com/pypeclub/OpenPype/tree/3.9.8) (2022-05-19) [Full Changelog](https://github.com/pypeclub/OpenPype/compare/3.9.7...3.9.8) -**🚀 Enhancements** - -- nuke: generate publishing nodes inside render group node [\#3206](https://github.com/pypeclub/OpenPype/pull/3206) -- Loader UI: Speed issues of loader with sync server [\#3200](https://github.com/pypeclub/OpenPype/pull/3200) - -**🐛 Bug fixes** - -- Standalone Publisher: Always create new representation for thumbnail [\#3204](https://github.com/pypeclub/OpenPype/pull/3204) - ## [3.9.7](https://github.com/pypeclub/OpenPype/tree/3.9.7) (2022-05-11) [Full Changelog](https://github.com/pypeclub/OpenPype/compare/3.9.6...3.9.7) diff --git a/openpype/version.py b/openpype/version.py index 2f4d180983..4c28b4a369 100644 --- a/openpype/version.py +++ b/openpype/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- """Package declaring Pype version.""" -__version__ = "3.11.0-nightly.3" +__version__ = "3.11.0-nightly.4" diff --git a/pyproject.toml b/pyproject.toml index e1b5c37289..99935b3d70 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "OpenPype" -version = "3.11.0-nightly.3" # OpenPype +version = "3.11.0-nightly.4" # OpenPype description = "Open VFX and Animation pipeline with support." authors = ["OpenPype Team "] license = "MIT License" From 961c7b6c511765684696c6b5292e85193e24f31e Mon Sep 17 00:00:00 2001 From: OpenPype Date: Fri, 17 Jun 2022 15:39:35 +0000 Subject: [PATCH 62/70] [Automated] Release --- CHANGELOG.md | 10 ++++++---- openpype/version.py | 2 +- pyproject.toml | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f9eb04f45..686b34177c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,8 @@ # Changelog -## [3.11.0-nightly.4](https://github.com/pypeclub/OpenPype/tree/HEAD) +## [3.11.0](https://github.com/pypeclub/OpenPype/tree/3.11.0) (2022-06-17) -[Full Changelog](https://github.com/pypeclub/OpenPype/compare/3.10.0...HEAD) +[Full Changelog](https://github.com/pypeclub/OpenPype/compare/3.10.0...3.11.0) ### 📖 Documentation @@ -22,6 +22,7 @@ - General: Updated windows oiio tool [\#3268](https://github.com/pypeclub/OpenPype/pull/3268) - Unreal: add support for skeletalMesh and staticMesh to loaders [\#3267](https://github.com/pypeclub/OpenPype/pull/3267) - Maya: reference loaders could store placeholder in referenced url [\#3264](https://github.com/pypeclub/OpenPype/pull/3264) +- TVPaint: Init file for TVPaint worker also handle guideline images [\#3250](https://github.com/pypeclub/OpenPype/pull/3250) - Nuke: Change default icon path in settings [\#3247](https://github.com/pypeclub/OpenPype/pull/3247) **🐛 Bug fixes** @@ -39,10 +40,12 @@ - Webpublisher: return only active projects in ProjectsEndpoint [\#3281](https://github.com/pypeclub/OpenPype/pull/3281) - Hiero: add support for task tags 3.10.x [\#3279](https://github.com/pypeclub/OpenPype/pull/3279) - General: Fix Oiio tool path resolving [\#3278](https://github.com/pypeclub/OpenPype/pull/3278) +- Hiero: add support for task tags [\#3277](https://github.com/pypeclub/OpenPype/pull/3277) - Maya: Fix udim support for e.g. uppercase \ tag [\#3266](https://github.com/pypeclub/OpenPype/pull/3266) - Nuke: bake reformat was failing on string type [\#3261](https://github.com/pypeclub/OpenPype/pull/3261) - Maya: hotfix Pxr multitexture in looks [\#3260](https://github.com/pypeclub/OpenPype/pull/3260) - Unreal: Fix Camera Loading if Layout is missing [\#3255](https://github.com/pypeclub/OpenPype/pull/3255) +- nuke: use framerange issue [\#3254](https://github.com/pypeclub/OpenPype/pull/3254) - Unreal: Fixed Animation loading in UE5 [\#3240](https://github.com/pypeclub/OpenPype/pull/3240) - Unreal: Fixed Render creation in UE5 [\#3239](https://github.com/pypeclub/OpenPype/pull/3239) - Unreal: Fixed Camera loading in UE5 [\#3238](https://github.com/pypeclub/OpenPype/pull/3238) @@ -56,6 +59,7 @@ - Maya: add pointcache family to gpu cache loader [\#3318](https://github.com/pypeclub/OpenPype/pull/3318) - Maya look: skip empty file attributes [\#3274](https://github.com/pypeclub/OpenPype/pull/3274) +- Harmony: message length in 21.1 [\#3257](https://github.com/pypeclub/OpenPype/pull/3257) ## [3.10.0](https://github.com/pypeclub/OpenPype/tree/3.10.0) (2022-05-26) @@ -69,7 +73,6 @@ **🐛 Bug fixes** -- nuke: use framerange issue [\#3254](https://github.com/pypeclub/OpenPype/pull/3254) - Ftrack: Chunk sizes for queries has minimal condition [\#3244](https://github.com/pypeclub/OpenPype/pull/3244) - Maya: renderman displays needs to be filtered [\#3242](https://github.com/pypeclub/OpenPype/pull/3242) - Ftrack: Validate that the user exists on ftrack [\#3237](https://github.com/pypeclub/OpenPype/pull/3237) @@ -78,7 +81,6 @@ **Merged pull requests:** -- Harmony: message length in 21.1 [\#3257](https://github.com/pypeclub/OpenPype/pull/3257) - Harmony: 21.1 fix [\#3249](https://github.com/pypeclub/OpenPype/pull/3249) ## [3.9.8](https://github.com/pypeclub/OpenPype/tree/3.9.8) (2022-05-19) diff --git a/openpype/version.py b/openpype/version.py index 4c28b4a369..41e61b0500 100644 --- a/openpype/version.py +++ b/openpype/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- """Package declaring Pype version.""" -__version__ = "3.11.0-nightly.4" +__version__ = "3.11.0" diff --git a/pyproject.toml b/pyproject.toml index 99935b3d70..2700704530 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "OpenPype" -version = "3.11.0-nightly.4" # OpenPype +version = "3.11.0" # OpenPype description = "Open VFX and Animation pipeline with support." authors = ["OpenPype Team "] license = "MIT License" From 44a46382470e4e79b9e679e9395f94dacb556a70 Mon Sep 17 00:00:00 2001 From: OpenPype Date: Sat, 18 Jun 2022 03:45:44 +0000 Subject: [PATCH 63/70] [Automated] Bump version --- CHANGELOG.md | 44 ++++++++++++++++++++++++++++++++++++++------ openpype/version.py | 2 +- pyproject.toml | 2 +- 3 files changed, 40 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 686b34177c..553102aecf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,43 @@ # Changelog +## [3.11.1-nightly.1](https://github.com/pypeclub/OpenPype/tree/HEAD) + +[Full Changelog](https://github.com/pypeclub/OpenPype/compare/3.11.0...HEAD) + +**🆕 New features** + +- Flame: custom export temp folder [\#3346](https://github.com/pypeclub/OpenPype/pull/3346) +- Nuke: removing third-party plugins [\#3344](https://github.com/pypeclub/OpenPype/pull/3344) + +**🚀 Enhancements** + +- Pyblish Pype: Hiding/Close issues [\#3367](https://github.com/pypeclub/OpenPype/pull/3367) +- Ftrack: Removed requirement of pypeclub role from default settings [\#3354](https://github.com/pypeclub/OpenPype/pull/3354) +- Kitsu: Prevent crash on missing frames information [\#3352](https://github.com/pypeclub/OpenPype/pull/3352) +- Ftrack: Open browser from tray [\#3320](https://github.com/pypeclub/OpenPype/pull/3320) +- Enhancement: More control over thumbnail processing. [\#3259](https://github.com/pypeclub/OpenPype/pull/3259) + +**🐛 Bug fixes** + +- Nuke: bake streams with slate on farm [\#3368](https://github.com/pypeclub/OpenPype/pull/3368) +- Harmony: audio validator has wrong logic [\#3364](https://github.com/pypeclub/OpenPype/pull/3364) +- Nuke: Fix missing variable in extract thumbnail [\#3363](https://github.com/pypeclub/OpenPype/pull/3363) +- Nuke: Fix precollect writes [\#3361](https://github.com/pypeclub/OpenPype/pull/3361) +- AE- fix validate\_scene\_settings and renderLocal [\#3358](https://github.com/pypeclub/OpenPype/pull/3358) +- deadline: fixing misidentification of revieables [\#3356](https://github.com/pypeclub/OpenPype/pull/3356) +- General: Create only one thumbnail per instance [\#3351](https://github.com/pypeclub/OpenPype/pull/3351) +- nuke: adding extract thumbnail settings 3.10 [\#3347](https://github.com/pypeclub/OpenPype/pull/3347) +- General: Fix last version function [\#3345](https://github.com/pypeclub/OpenPype/pull/3345) +- Deadline: added OPENPYPE\_MONGO to filter [\#3336](https://github.com/pypeclub/OpenPype/pull/3336) +- Nuke: fixing farm publishing if review is disabled [\#3306](https://github.com/pypeclub/OpenPype/pull/3306) + +**🔀 Refactored code** + +- Webpublisher: Use client query functions [\#3333](https://github.com/pypeclub/OpenPype/pull/3333) + ## [3.11.0](https://github.com/pypeclub/OpenPype/tree/3.11.0) (2022-06-17) -[Full Changelog](https://github.com/pypeclub/OpenPype/compare/3.10.0...3.11.0) +[Full Changelog](https://github.com/pypeclub/OpenPype/compare/CI/3.11.0-nightly.4...3.11.0) ### 📖 Documentation @@ -40,15 +75,12 @@ - Webpublisher: return only active projects in ProjectsEndpoint [\#3281](https://github.com/pypeclub/OpenPype/pull/3281) - Hiero: add support for task tags 3.10.x [\#3279](https://github.com/pypeclub/OpenPype/pull/3279) - General: Fix Oiio tool path resolving [\#3278](https://github.com/pypeclub/OpenPype/pull/3278) -- Hiero: add support for task tags [\#3277](https://github.com/pypeclub/OpenPype/pull/3277) - Maya: Fix udim support for e.g. uppercase \ tag [\#3266](https://github.com/pypeclub/OpenPype/pull/3266) - Nuke: bake reformat was failing on string type [\#3261](https://github.com/pypeclub/OpenPype/pull/3261) - Maya: hotfix Pxr multitexture in looks [\#3260](https://github.com/pypeclub/OpenPype/pull/3260) - Unreal: Fix Camera Loading if Layout is missing [\#3255](https://github.com/pypeclub/OpenPype/pull/3255) -- nuke: use framerange issue [\#3254](https://github.com/pypeclub/OpenPype/pull/3254) - Unreal: Fixed Animation loading in UE5 [\#3240](https://github.com/pypeclub/OpenPype/pull/3240) - Unreal: Fixed Render creation in UE5 [\#3239](https://github.com/pypeclub/OpenPype/pull/3239) -- Unreal: Fixed Camera loading in UE5 [\#3238](https://github.com/pypeclub/OpenPype/pull/3238) **🔀 Refactored code** @@ -59,7 +91,6 @@ - Maya: add pointcache family to gpu cache loader [\#3318](https://github.com/pypeclub/OpenPype/pull/3318) - Maya look: skip empty file attributes [\#3274](https://github.com/pypeclub/OpenPype/pull/3274) -- Harmony: message length in 21.1 [\#3257](https://github.com/pypeclub/OpenPype/pull/3257) ## [3.10.0](https://github.com/pypeclub/OpenPype/tree/3.10.0) (2022-05-26) @@ -69,10 +100,10 @@ - Maya: FBX camera export [\#3253](https://github.com/pypeclub/OpenPype/pull/3253) - General: updating common vendor `scriptmenu` to 1.5.2 [\#3246](https://github.com/pypeclub/OpenPype/pull/3246) -- Project Manager: Allow to paste Tasks into multiple assets at the same time [\#3226](https://github.com/pypeclub/OpenPype/pull/3226) **🐛 Bug fixes** +- nuke: use framerange issue [\#3254](https://github.com/pypeclub/OpenPype/pull/3254) - Ftrack: Chunk sizes for queries has minimal condition [\#3244](https://github.com/pypeclub/OpenPype/pull/3244) - Maya: renderman displays needs to be filtered [\#3242](https://github.com/pypeclub/OpenPype/pull/3242) - Ftrack: Validate that the user exists on ftrack [\#3237](https://github.com/pypeclub/OpenPype/pull/3237) @@ -81,6 +112,7 @@ **Merged pull requests:** +- Harmony: message length in 21.1 [\#3257](https://github.com/pypeclub/OpenPype/pull/3257) - Harmony: 21.1 fix [\#3249](https://github.com/pypeclub/OpenPype/pull/3249) ## [3.9.8](https://github.com/pypeclub/OpenPype/tree/3.9.8) (2022-05-19) diff --git a/openpype/version.py b/openpype/version.py index 41e61b0500..8e44b02ffc 100644 --- a/openpype/version.py +++ b/openpype/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- """Package declaring Pype version.""" -__version__ = "3.11.0" +__version__ = "3.11.1-nightly.1" diff --git a/pyproject.toml b/pyproject.toml index 2700704530..8ba829a1c9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "OpenPype" -version = "3.11.0" # OpenPype +version = "3.11.1-nightly.1" # OpenPype description = "Open VFX and Animation pipeline with support." authors = ["OpenPype Team "] license = "MIT License" From da1fb174bca44ec40ce00ea51b034d79bcebcca9 Mon Sep 17 00:00:00 2001 From: OpenPype Date: Mon, 20 Jun 2022 08:48:15 +0000 Subject: [PATCH 64/70] [Automated] Release --- CHANGELOG.md | 7 +++---- openpype/version.py | 2 +- pyproject.toml | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 553102aecf..48d0d8181e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,8 @@ # Changelog -## [3.11.1-nightly.1](https://github.com/pypeclub/OpenPype/tree/HEAD) +## [3.11.1](https://github.com/pypeclub/OpenPype/tree/3.11.1) (2022-06-20) -[Full Changelog](https://github.com/pypeclub/OpenPype/compare/3.11.0...HEAD) +[Full Changelog](https://github.com/pypeclub/OpenPype/compare/3.11.0...3.11.1) **🆕 New features** @@ -26,7 +26,6 @@ - AE- fix validate\_scene\_settings and renderLocal [\#3358](https://github.com/pypeclub/OpenPype/pull/3358) - deadline: fixing misidentification of revieables [\#3356](https://github.com/pypeclub/OpenPype/pull/3356) - General: Create only one thumbnail per instance [\#3351](https://github.com/pypeclub/OpenPype/pull/3351) -- nuke: adding extract thumbnail settings 3.10 [\#3347](https://github.com/pypeclub/OpenPype/pull/3347) - General: Fix last version function [\#3345](https://github.com/pypeclub/OpenPype/pull/3345) - Deadline: added OPENPYPE\_MONGO to filter [\#3336](https://github.com/pypeclub/OpenPype/pull/3336) - Nuke: fixing farm publishing if review is disabled [\#3306](https://github.com/pypeclub/OpenPype/pull/3306) @@ -91,6 +90,7 @@ - Maya: add pointcache family to gpu cache loader [\#3318](https://github.com/pypeclub/OpenPype/pull/3318) - Maya look: skip empty file attributes [\#3274](https://github.com/pypeclub/OpenPype/pull/3274) +- Harmony: 21.1 fix [\#3248](https://github.com/pypeclub/OpenPype/pull/3248) ## [3.10.0](https://github.com/pypeclub/OpenPype/tree/3.10.0) (2022-05-26) @@ -108,7 +108,6 @@ - Maya: renderman displays needs to be filtered [\#3242](https://github.com/pypeclub/OpenPype/pull/3242) - Ftrack: Validate that the user exists on ftrack [\#3237](https://github.com/pypeclub/OpenPype/pull/3237) - Maya: Fix support for multiple resolutions [\#3236](https://github.com/pypeclub/OpenPype/pull/3236) -- TVPaint: Look for more groups than 12 [\#3228](https://github.com/pypeclub/OpenPype/pull/3228) **Merged pull requests:** diff --git a/openpype/version.py b/openpype/version.py index 8e44b02ffc..7bf368108a 100644 --- a/openpype/version.py +++ b/openpype/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- """Package declaring Pype version.""" -__version__ = "3.11.1-nightly.1" +__version__ = "3.11.1" diff --git a/pyproject.toml b/pyproject.toml index 8ba829a1c9..ae89e7d9d8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "OpenPype" -version = "3.11.1-nightly.1" # OpenPype +version = "3.11.1" # OpenPype description = "Open VFX and Animation pipeline with support." authors = ["OpenPype Team "] license = "MIT License" From 8b1576aed2b74dd5e01842d2a87bc04c77f755f6 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Mon, 20 Jun 2022 11:22:05 +0200 Subject: [PATCH 65/70] remove unused line --- openpype/pipeline/context_tools.py | 1 - 1 file changed, 1 deletion(-) diff --git a/openpype/pipeline/context_tools.py b/openpype/pipeline/context_tools.py index 3e63eeba27..4a147c230b 100644 --- a/openpype/pipeline/context_tools.py +++ b/openpype/pipeline/context_tools.py @@ -88,7 +88,6 @@ def install_host(host): avalon host-interface. """ global _is_installed - global _modules_manager _is_installed = True From 20bc7300b1946e5ef082b4a43c922e108a46cabb Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Mon, 20 Jun 2022 13:14:16 +0200 Subject: [PATCH 66/70] fix delivery action --- .../modules/ftrack/event_handlers_user/action_delivery.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openpype/modules/ftrack/event_handlers_user/action_delivery.py b/openpype/modules/ftrack/event_handlers_user/action_delivery.py index 47f2853820..4b799b092b 100644 --- a/openpype/modules/ftrack/event_handlers_user/action_delivery.py +++ b/openpype/modules/ftrack/event_handlers_user/action_delivery.py @@ -542,7 +542,9 @@ class Delivery(BaseAction): os.makedirs(location_path) self.log.debug("Collecting representations to process.") - version_ids = self._get_interest_version_ids(session, entities) + version_ids = self._get_interest_version_ids( + project_name, session, entities + ) repres_to_deliver = list(get_representations( project_name, representation_names=repre_names, From 665fab4e35b76b2d9cb37195fb203ff3203c1ef5 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Mon, 20 Jun 2022 13:15:32 +0200 Subject: [PATCH 67/70] fix delete asset action to filter assets right way --- .../modules/ftrack/event_handlers_user/action_delete_asset.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openpype/modules/ftrack/event_handlers_user/action_delete_asset.py b/openpype/modules/ftrack/event_handlers_user/action_delete_asset.py index 6dae3a4ca1..03d029b0c1 100644 --- a/openpype/modules/ftrack/event_handlers_user/action_delete_asset.py +++ b/openpype/modules/ftrack/event_handlers_user/action_delete_asset.py @@ -134,7 +134,8 @@ class DeleteAssetSubset(BaseAction): ftrack_id = asset_doc["data"].get("ftrackId") if ftrack_id: found_ftrack_ids.add(ftrack_id) - selected_av_entities.append(asset_doc) + if ftrack_id in entity_mapping: + selected_av_entities.append(asset_doc) asset_name = asset_doc["name"] asset_docs_by_name[asset_name].append(asset_doc) From 43c41d2793e18dd0f8b54cdd748dbcd672e8cc35 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Mon, 20 Jun 2022 14:04:24 +0200 Subject: [PATCH 68/70] Fix - added unc path to zifile command in Harmony Extracting too large url resulted in 'File not found' issue (side effect was that files in offending directory were skipped). UNC path seems to help. --- .../deadline/plugins/publish/submit_harmony_deadline.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openpype/modules/deadline/plugins/publish/submit_harmony_deadline.py b/openpype/modules/deadline/plugins/publish/submit_harmony_deadline.py index 2cf502224f..a1ee5e0957 100644 --- a/openpype/modules/deadline/plugins/publish/submit_harmony_deadline.py +++ b/openpype/modules/deadline/plugins/publish/submit_harmony_deadline.py @@ -322,7 +322,9 @@ class HarmonySubmitDeadline( ) unzip_dir = (published_scene.parent / published_scene.stem) with _ZipFile(published_scene, "r") as zip_ref: - zip_ref.extractall(unzip_dir.as_posix()) + # UNC path (//?/) added to minimalize risk with extracting + # to large file paths + zip_ref.extractall("//?/" + str(unzip_dir.as_posix())) # find any xstage files in directory, prefer the one with the same name # as directory (plus extension) From d39481042dd7fde38a57acf466da8a23fe877ad3 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Mon, 20 Jun 2022 18:50:26 +0200 Subject: [PATCH 69/70] use query functions in photoshop creator --- .../photoshop/plugins/create/workfile_creator.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/openpype/hosts/photoshop/plugins/create/workfile_creator.py b/openpype/hosts/photoshop/plugins/create/workfile_creator.py index 875a9b8a94..43302329f1 100644 --- a/openpype/hosts/photoshop/plugins/create/workfile_creator.py +++ b/openpype/hosts/photoshop/plugins/create/workfile_creator.py @@ -1,4 +1,5 @@ import openpype.hosts.photoshop.api as api +from openpype.client import get_asset_by_name from openpype.pipeline import ( AutoCreator, CreatedInstance, @@ -40,10 +41,7 @@ class PSWorkfileCreator(AutoCreator): task_name = legacy_io.Session["AVALON_TASK"] host_name = legacy_io.Session["AVALON_APP"] if existing_instance is None: - asset_doc = legacy_io.find_one({ - "type": "asset", - "name": asset_name - }) + asset_doc = get_asset_by_name(project_name, asset_name) subset_name = self.get_subset_name( variant, task_name, asset_doc, project_name, host_name ) @@ -67,10 +65,7 @@ class PSWorkfileCreator(AutoCreator): existing_instance["asset"] != asset_name or existing_instance["task"] != task_name ): - asset_doc = legacy_io.find_one({ - "type": "asset", - "name": asset_name - }) + asset_doc = get_asset_by_name(project_name, asset_name) subset_name = self.get_subset_name( variant, task_name, asset_doc, project_name, host_name ) From fa8d37d9b68ebb1c1ac85ec6bd8c00fd348e4f80 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Tue, 21 Jun 2022 10:55:07 +0200 Subject: [PATCH 70/70] use query functions in harmony --- openpype/hosts/harmony/api/README.md | 3 ++- openpype/hosts/harmony/api/pipeline.py | 18 ++++++++---------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/openpype/hosts/harmony/api/README.md b/openpype/hosts/harmony/api/README.md index dd45eb14dd..b39f900886 100644 --- a/openpype/hosts/harmony/api/README.md +++ b/openpype/hosts/harmony/api/README.md @@ -610,7 +610,8 @@ class ImageSequenceLoader(load.LoaderPlugin): def update(self, container, representation): node = container.pop("node") - version = legacy_io.find_one({"_id": representation["parent"]}) + project_name = legacy_io.active_project() + version = get_version_by_id(project_name, representation["parent"]) files = [] for f in version["data"]["files"]: files.append( diff --git a/openpype/hosts/harmony/api/pipeline.py b/openpype/hosts/harmony/api/pipeline.py index b953d0e984..86b5753f7e 100644 --- a/openpype/hosts/harmony/api/pipeline.py +++ b/openpype/hosts/harmony/api/pipeline.py @@ -2,10 +2,10 @@ import os from pathlib import Path import logging -from bson.objectid import ObjectId import pyblish.api from openpype import lib +from openpype.client import get_representation_by_id from openpype.lib import register_event_callback from openpype.pipeline import ( legacy_io, @@ -104,22 +104,20 @@ def check_inventory(): If it does it will colorize outdated nodes and display warning message in Harmony. """ - if not lib.any_outdated(): - return + project_name = legacy_io.active_project() outdated_containers = [] for container in ls(): - representation = container['representation'] - representation_doc = legacy_io.find_one( - { - "_id": ObjectId(representation), - "type": "representation" - }, - projection={"parent": True} + representation_id = container['representation'] + representation_doc = get_representation_by_id( + project_name, representation_id, fields=["parent"] ) if representation_doc and not lib.is_latest(representation_doc): outdated_containers.append(container) + if not outdated_containers: + return + # Colour nodes. outdated_nodes = [] for container in outdated_containers: