From a420e66740523d6ac72d519c4f3f69ad4a747b8b Mon Sep 17 00:00:00 2001 From: hfarre Date: Mon, 11 Mar 2024 11:37:27 +0100 Subject: [PATCH 1/3] #327: enhancement: Creer un validator pour les layers dans Photoshop --- .../photoshop/api/extension/CSXS/manifest.xml | 2 +- .../photoshop/api/extension/client/client.js | 111 ++++----- .../photoshop/api/extension/extension.zxp | Bin 54056 -> 55079 bytes .../photoshop/api/extension/host/index.jsx | 216 ++++++++++++------ openpype/hosts/photoshop/api/ws_stub.py | 48 +++- 5 files changed, 251 insertions(+), 126 deletions(-) diff --git a/openpype/hosts/photoshop/api/extension/CSXS/manifest.xml b/openpype/hosts/photoshop/api/extension/CSXS/manifest.xml index 2089d06da19..24793ec5a61 100644 --- a/openpype/hosts/photoshop/api/extension/CSXS/manifest.xml +++ b/openpype/hosts/photoshop/api/extension/CSXS/manifest.xml @@ -1,5 +1,5 @@ - + diff --git a/openpype/hosts/photoshop/api/extension/client/client.js b/openpype/hosts/photoshop/api/extension/client/client.js index f4ba4cfe47b..649736136ab 100644 --- a/openpype/hosts/photoshop/api/extension/client/client.js +++ b/openpype/hosts/photoshop/api/extension/client/client.js @@ -1,24 +1,24 @@ - // client facing part of extension, creates WSRPC client (jsx cannot + // client facing part of extension, creates WSRPC client (jsx cannot // do that) // consumes RPC calls from server (OpenPype) calls ./host/index.jsx and // returns values back (in json format) - + var logReturn = function(result){ log.warn('Result: ' + result);}; - + var csInterface = new CSInterface(); - + log.warn("script start"); WSRPC.DEBUG = false; WSRPC.TRACE = false; - + function myCallBack(){ log.warn("Triggered index.jsx"); } // importing through manifest.xml isn't working because relative paths // possibly TODO jsx.evalFile('./host/index.jsx', myCallBack); - + function runEvalScript(script) { // because of asynchronous nature of functions in jsx // this waits for response @@ -26,16 +26,16 @@ csInterface.evalScript(script, resolve); }); } - + /** main entry point **/ startUp("WEBSOCKET_URL"); // get websocket server url from environment value async function startUp(url){ - log.warn("url", url); + log.warn("url", url); promis = runEvalScript("getEnv('" + url + "')"); - - var res = await promis; + + var res = await promis; // run rest only after resolved promise main(res); } @@ -45,7 +45,7 @@ log.debug("get_extension_version") var path = csInterface.getSystemPath(SystemPath.EXTENSION); log.debug("extension path " + path); - + var result = window.cep.fs.readFile(path + "/CSXS/manifest.xml"); var version = undefined; if(result.err === 0){ @@ -53,7 +53,7 @@ const parser = new DOMParser(); const xmlDoc = parser.parseFromString(result.data.toString(), 'text/xml'); const children = xmlDoc.children; - + for (let i = 0; i <= children.length; i++) { if (children[i] && children[i].getAttribute('ExtensionBundleVersion')) { version = children[i].getAttribute('ExtensionBundleVersion'); @@ -63,22 +63,22 @@ } return version } - + function main(websocket_url){ - // creates connection to 'websocket_url', registers routes - log.warn("websocket_url", websocket_url); + // creates connection to 'websocket_url', registers routes + log.warn("websocket_url", websocket_url); var default_url = 'ws://localhost:8099/ws/'; - + if (websocket_url == ''){ websocket_url = default_url; } - log.warn("connecting to:", websocket_url); + log.warn("connecting to:", websocket_url); RPC = new WSRPC(websocket_url, 5000); // spin connection - + RPC.connect(); - - log.warn("connected"); - + + log.warn("connected"); + function EscapeStringForJSX(str){ // Replaces: // \ with \\ @@ -87,7 +87,7 @@ // See: https://stackoverflow.com/a/3967927/5285364 return str.replace(/\\/g, '\\\\').replace(/'/g, "\\'").replace(/"/g, '\\"'); } - + RPC.addRoute('Photoshop.open', function (data) { log.warn('Server called client route "open":', data); var escapedPath = EscapeStringForJSX(data.path); @@ -97,7 +97,7 @@ return result; }); }); - + RPC.addRoute('Photoshop.read', function (data) { log.warn('Server called client route "read":', data); return runEvalScript("getHeadline()") @@ -106,7 +106,7 @@ return result; }); }); - + RPC.addRoute('Photoshop.get_layers', function (data) { log.warn('Server called client route "get_layers":', data); return runEvalScript("getLayers()") @@ -115,7 +115,16 @@ return result; }); }); - + + RPC.addRoute('Photoshop.set_blendmode', function (data) { + log.warn('Server called client route "set_blendmode":', data); + return runEvalScript("setBlendmode(" + "'" + data.layer_name + "', " + "'" +data.blendMode_name + "')") + .then(function(result){ + log.warn("setBlendmode: " + result); + return result; + }); + }); + RPC.addRoute('Photoshop.set_visible', function (data) { log.warn('Server called client route "set_visible":', data); return runEvalScript("setVisible(" + data.layer_id + ", " + @@ -125,9 +134,9 @@ return result; }); }); - + RPC.addRoute('Photoshop.get_active_document_name', function (data) { - log.warn('Server called client route "get_active_document_name":', + log.warn('Server called client route "get_active_document_name":', data); return runEvalScript("getActiveDocumentName()") .then(function(result){ @@ -135,7 +144,7 @@ return result; }); }); - + RPC.addRoute('Photoshop.get_active_document_full_name', function (data) { log.warn('Server called client route ' + '"get_active_document_full_name":', data); @@ -145,41 +154,41 @@ return result; }); }); - + RPC.addRoute('Photoshop.save', function (data) { log.warn('Server called client route "save":', data); - + return runEvalScript("save()") .then(function(result){ log.warn("save: " + result); return result; }); }); - + RPC.addRoute('Photoshop.get_selected_layers', function (data) { log.warn('Server called client route "get_selected_layers":', data); - + return runEvalScript("getSelectedLayers()") .then(function(result){ log.warn("get_selected_layers: " + result); return result; }); }); - + RPC.addRoute('Photoshop.create_group', function (data) { log.warn('Server called client route "create_group":', data); - + return runEvalScript("createGroup('" + data.name + "')") .then(function(result){ log.warn("createGroup: " + result); return result; }); }); - + RPC.addRoute('Photoshop.group_selected_layers', function (data) { - log.warn('Server called client route "group_selected_layers":', + log.warn('Server called client route "group_selected_layers":', data); - + return runEvalScript("groupSelectedLayers(null, "+ "'" + data.name +"')") .then(function(result){ @@ -187,7 +196,7 @@ return result; }); }); - + RPC.addRoute('Photoshop.import_smart_object', function (data) { log.warn('Server called client "import_smart_object":', data); var escapedPath = EscapeStringForJSX(data.path); @@ -199,7 +208,7 @@ return result; }); }); - + RPC.addRoute('Photoshop.replace_smart_object', function (data) { log.warn('Server called route "replace_smart_object":', data); var escapedPath = EscapeStringForJSX(data.path); @@ -211,7 +220,7 @@ return result; }); }); - + RPC.addRoute('Photoshop.delete_layer', function (data) { log.warn('Server called route "delete_layer":', data); return runEvalScript("deleteLayer("+data.layer_id+")") @@ -230,39 +239,39 @@ return result; }); }); - + RPC.addRoute('Photoshop.select_layers', function (data) { log.warn('Server called client route "select_layers":', data); - + return runEvalScript("selectLayers('" + data.layers +"')") .then(function(result){ log.warn("select_layers: " + result); return result; }); }); - + RPC.addRoute('Photoshop.is_saved', function (data) { log.warn('Server called client route "is_saved":', data); - + return runEvalScript("isSaved()") .then(function(result){ log.warn("is_saved: " + result); return result; }); }); - + RPC.addRoute('Photoshop.saveAs', function (data) { log.warn('Server called client route "saveAsJPEG":', data); var escapedPath = EscapeStringForJSX(data.image_path); return runEvalScript("saveAs('" + escapedPath + "', " + - "'" + data.ext + "', " + + "'" + data.ext + "', " + data.as_copy + ")") .then(function(result){ log.warn("save: " + result); return result; }); }); - + RPC.addRoute('Photoshop.imprint', function (data) { log.warn('Server called client route "imprint":', data); var escaped = data.payload.replace(/\n/g, "\\n"); @@ -282,7 +291,7 @@ log.warn('Server called client route "close":', data); return runEvalScript("close()"); }); - + RPC.call('Photoshop.ping').then(function (data) { log.warn('Result for calling server route "ping": ', data); return runEvalScript("ping()") @@ -290,11 +299,11 @@ log.warn("ping: " + result); return result; }); - + }, function (error) { log.warn(error); }); - + } - + log.warn("end script"); diff --git a/openpype/hosts/photoshop/api/extension/extension.zxp b/openpype/hosts/photoshop/api/extension/extension.zxp index 39b766cd0d354e63c5b0e5b874be47131860e3c6..9994a4029dc9a945363ffa6a41e6a0266f30a0e5 100644 GIT binary patch delta 14285 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 delta 12908 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 CnT+fJ diff --git a/openpype/hosts/photoshop/api/extension/host/index.jsx b/openpype/hosts/photoshop/api/extension/host/index.jsx index e2711fb960e..ffaa83dbcea 100644 --- a/openpype/hosts/photoshop/api/extension/host/index.jsx +++ b/openpype/hosts/photoshop/api/extension/host/index.jsx @@ -43,14 +43,14 @@ function getLayerTypeWithName(layerName) { function getLayers() { /** - * Get json representation of list of layers. + * Get json representation of list of layers. * Much faster this way than in DOM traversal (2s vs 45s on same file) - * + * * Format of single layer info: * id : number * name: string * group: boolean - true if layer is a group - * parents:array - list of ids of parent groups, useful for selection + * parents:array - list of ids of parent groups, useful for selection * all children layers from parent layerSet (eg. group) * type: string - type of layer guessed from its name * visible:boolean - true if visible @@ -59,14 +59,14 @@ function getLayers() { return '[]'; } var ref1 = new ActionReference(); - ref1.putEnumerated(charIDToTypeID('Dcmn'), charIDToTypeID('Ordn'), + ref1.putEnumerated(charIDToTypeID('Dcmn'), charIDToTypeID('Ordn'), charIDToTypeID('Trgt')); var count = executeActionGet(ref1).getInteger(charIDToTypeID('NmbL')); // get all layer names var layers = []; var layer = {}; - + var parents = []; for (var i = count; i >= 1; i--) { var layer = {}; @@ -76,24 +76,25 @@ function getLayers() { var desc = executeActionGet(ref2); // Access layer index #i var layerSection = typeIDToStringID(desc.getEnumerationValue( stringIDToTypeID('layerSection'))); - - layer.id = desc.getInteger(stringIDToTypeID("layerID")); + + layer.id = desc.getInteger(stringIDToTypeID("layerID")); layer.name = desc.getString(stringIDToTypeID("name")); layer.color_code = typeIDToStringID(desc.getEnumerationValue(stringIDToTypeID('color'))); layer.group = false; layer.parents = parents.slice(); layer.type = getLayerTypeWithName(layer.name); layer.visible = desc.getBoolean(stringIDToTypeID("visible")); - //log(" name: " + layer.name + " groupId " + layer.groupId + + layer.blendMode = typeIDToStringID(desc.getEnumerationValue(stringIDToTypeID('mode'))); + //log(" name: " + layer.name + " groupId " + layer.groupId + //" group " + layer.group); if (layerSection == 'layerSectionStart') { // Group start and end - parents.push(layer.id); - layer.group = true; + parents.push(layer.id); + layer.group = true; } if (layerSection == 'layerSectionEnd') { parents.pop(); continue; - } + } layers.push(JSON.stringify(layer)); } try{ @@ -112,6 +113,75 @@ function getLayers() { return '[' + layers + ']'; } +function setBlendmode(layerName, blendModeName){ + /** + * Sets blendMode 'blendModeName' on a given 'layerName' + **/ + var blendModeDict= {}; + + blendModeDict["colorBurn"] = BlendMode.COLORBURN; + blendModeDict["colorDodge"] = BlendMode.COLORDODGE; + blendModeDict["darken"] = BlendMode.DARKEN; + blendModeDict["darkerColor"] = BlendMode.DARKERCOLOR; + blendModeDict["difference"] = BlendMode.DIFFERENCE; + blendModeDict["dissolve"] = BlendMode.DISSOLVE; + blendModeDict["blendDivide"] = BlendMode.DIVIDE; + blendModeDict["exclusion"] = BlendMode.EXCLUSION; + blendModeDict["hardLight"] = BlendMode.HARDLIGHT; + blendModeDict["hardMix"] = BlendMode.HARDMIX; + blendModeDict["hue"] = BlendMode.HUE; + blendModeDict["lighten"] = BlendMode.LIGHTEN; + blendModeDict["lighterColor"] = BlendMode.LIGHTERCOLOR; + blendModeDict["linearBurn"] = BlendMode.LINEARBURN; + blendModeDict["linearDodge"] = BlendMode.LINEARDODGE; + blendModeDict["linearLight"] = BlendMode.LINEARLIGHT; + blendModeDict["luminosity"] = BlendMode.LUMINOSITY; + blendModeDict["multiply"] = BlendMode.MULTIPLY; + blendModeDict["normal"] = BlendMode.NORMAL; + blendModeDict["overlay"] = BlendMode.OVERLAY; + blendModeDict["passThrough"] = BlendMode.PASSTHROUGH; + blendModeDict["pinLight"] = BlendMode.PINLIGHT; + blendModeDict["saturation"] = BlendMode.SATURATION; + blendModeDict["screen"] = BlendMode.SCREEN; + blendModeDict["softLight"] = BlendMode.SOFTLIGHT; + blendModeDict["subtract"] = BlendMode.SUBTRACT; + blendModeDict["vividLight"] = BlendMode.VIVIDLIGHT; + + // search for the conresponding layer + var layer = _go_through_layers(layerName, app.activeDocument); + // if layer not found, raise an alert and stop + if (layer==null){ + return alert("Error Occured, Layer Not Found"); + } + layer.blendMode = blendModeDict[blendModeName]; +} + +function _go_through_layers(layerName, parentLayer){ + /** + * Recurcive function to scan all the layers even in groups + * + * return the psd layer that matches the given name we want as a psd + * see more here https://developer.adobe.com/photoshop/uxp/2022/ps_reference/classes/layer/ + **/ + var curLayer; + for(var i=0;i to 'visibility' if true > show @@ -120,22 +190,22 @@ function setVisible(layer_id, visibility){ var ref = new ActionReference(); ref.putIdentifier(stringIDToTypeID("layer"), layer_id); desc.putReference(stringIDToTypeID("null"), ref); - - executeAction(visibility?stringIDToTypeID("show"):stringIDToTypeID("hide"), + + executeAction(visibility?stringIDToTypeID("show"):stringIDToTypeID("hide"), desc, DialogModes.NO); - + } function getHeadline(){ /** - * Returns headline of current document with metadata - * + * Returns headline of current document with metadata + * **/ if (documents.length == 0){ return ''; } var headline = app.activeDocument.info.headline; - + return headline; } @@ -144,19 +214,19 @@ function isSaved(){ } function save(){ - /** Saves active document **/ + /** Saves active document **/ return app.activeDocument.save(); } function saveAs(output_path, ext, as_copy){ /** Exports scene to various formats - * + * * Currently implemented: 'jpg', 'png', 'psd' - * + * * output_path - escaped file path on local system * ext - extension for export * as_copy - create copy, do not overwrite - * + * * */ var saveName = output_path; var saveOptions; @@ -176,14 +246,14 @@ function saveAs(output_path, ext, as_copy){ } if (ext == 'psd'){ saveOptions = null; - return app.activeDocument.saveAs(new File(saveName)); + return app.activeDocument.saveAs(new File(saveName)); } if (ext == 'psb'){ return savePSB(output_path); } - return app.activeDocument.saveAs(new File(saveName), saveOptions, as_copy); - + return app.activeDocument.saveAs(new File(saveName), saveOptions, as_copy); + } function getActiveDocumentName(){ @@ -215,7 +285,7 @@ function imprint(payload){ * Sets headline content of current document with metadata. Stores * information about assets created through Avalon. * Content accessible in PS through File > File Info - * + * **/ app.activeDocument.info.headline = payload; } @@ -231,10 +301,10 @@ function getSelectedLayers(doc) { if (doc == null){ doc = app.activeDocument; } - + var selLayers = []; _grp = groupSelectedLayers(doc); - + var group = doc.activeLayer; var layers = group.layers; @@ -243,27 +313,27 @@ function getSelectedLayers(doc) { // if (layers){ // itself_name = layers[0].name; // } - - + + for (var i = 0; i < layers.length; i++) { var layer = {}; layer.id = layers[i].id; layer.name = layers[i].name; long_names =_get_parents_names(group.parent, layers[i].name); var t = layers[i].kind; - if ((typeof t !== 'undefined') && + if ((typeof t !== 'undefined') && (layers[i].kind.toString() == 'LayerKind.NORMAL')){ layer.group = false; }else{ layer.group = true; } layer.long_name = long_names; - + selLayers.push(layer); } - + _undo(); - + return JSON.stringify(selLayers); }; @@ -277,7 +347,7 @@ function selectLayers(selectedLayers){ var desc12 = new ActionDescriptor(); var id55 = charIDToTypeID( "null" ); var ref9 = new ActionReference(); - + var existing_layers = JSON.parse(getLayers()); var existing_ids = []; for (var y = 0; y < existing_layers.length; y++){ @@ -289,7 +359,7 @@ function selectLayers(selectedLayers){ if(existing_ids.toString().indexOf(id)>=0){ layers[i] = charIDToTypeID( "Lyr " ); ref9.putIdentifier(layers[i], id); - } + } } desc12.putReference( id55, ref9 ); var id58 = charIDToTypeID( "MkVs" ); @@ -301,7 +371,7 @@ function groupSelectedLayers(doc, name) { /** * Groups selected layers into new group. * Returns json representation of Layer for server to consume - * + * * Args: * doc(activeDocument) * name (str): new name of created group @@ -309,55 +379,55 @@ function groupSelectedLayers(doc, name) { if (doc == null){ doc = app.activeDocument; } - + var desc = new ActionDescriptor(); var ref = new ActionReference(); ref.putClass( stringIDToTypeID('layerSection') ); desc.putReference( charIDToTypeID('null'), ref ); var lref = new ActionReference(); - lref.putEnumerated( charIDToTypeID('Lyr '), charIDToTypeID('Ordn'), + lref.putEnumerated( charIDToTypeID('Lyr '), charIDToTypeID('Ordn'), charIDToTypeID('Trgt') ); desc.putReference( charIDToTypeID('From'), lref); executeAction( charIDToTypeID('Mk '), desc, DialogModes.NO ); - + var group = doc.activeLayer; if (name){ // Add special character to highlight group that will be published group.name = name; - } + } var layer = {}; layer.id = group.id; layer.name = name; // keep name clean - layer.group = true; + layer.group = true; layer.long_name = _get_parents_names(group, name); - return JSON.stringify(layer); + return JSON.stringify(layer); }; function importSmartObject(path, name, link){ /** * Creates new layer with an image from 'path' - * + * * path: absolute path to loaded file * name: sets name of newly created laye - * + * **/ var desc1 = new ActionDescriptor(); desc1.putPath( app.charIDToTypeID("null"), new File(path) ); link = link || false; if (link) { - desc1.putBoolean( app.charIDToTypeID('Lnkd'), true ); + desc1.putBoolean( app.charIDToTypeID('Lnkd'), true ); } - desc1.putEnumerated(app.charIDToTypeID("FTcs"), app.charIDToTypeID("QCSt"), - app.charIDToTypeID("Qcsa")); + desc1.putEnumerated(app.charIDToTypeID("FTcs"), app.charIDToTypeID("QCSt"), + app.charIDToTypeID("Qcsa")); var desc2 = new ActionDescriptor(); - desc2.putUnitDouble(app.charIDToTypeID("Hrzn"), + desc2.putUnitDouble(app.charIDToTypeID("Hrzn"), app.charIDToTypeID("#Pxl"), 0.0); - desc2.putUnitDouble(app.charIDToTypeID("Vrtc"), + desc2.putUnitDouble(app.charIDToTypeID("Vrtc"), app.charIDToTypeID("#Pxl"), 0.0); - + desc1.putObject(charIDToTypeID("Ofst"), charIDToTypeID("Ofst"), desc2); executeAction(charIDToTypeID("Plc " ), desc1, DialogModes.NO); @@ -368,14 +438,14 @@ function importSmartObject(path, name, link){ } var layer = {} layer.id = currentActivelayer.id; - layer.name = currentActivelayer.name; - return JSON.stringify(layer); + layer.name = currentActivelayer.name; + return JSON.stringify(layer); } function replaceSmartObjects(layer_id, path, name){ /** * Updates content of 'layer' with an image from 'path' - * + * **/ var desc = new ActionDescriptor(); @@ -386,12 +456,12 @@ function replaceSmartObjects(layer_id, path, name){ desc.putPath(charIDToTypeID('null'), new File(path) ); desc.putInteger(charIDToTypeID("PgNm"), 1); - executeAction(stringIDToTypeID('placedLayerReplaceContents'), - desc, DialogModes.NO ); + executeAction(stringIDToTypeID('placedLayerReplaceContents'), + desc, DialogModes.NO ); var currentActivelayer = app.activeDocument.activeLayer; if (name){ currentActivelayer.name = name; - } + } } function createGroup(name){ @@ -402,14 +472,14 @@ function createGroup(name){ group = app.activeDocument.layerSets.add(); // Add special character to highlight group that will be published group.name = name; - + return group.id; // only id available at this time :| } -function deleteLayer(layer_id){ +function deleteLayer(layer_id){ /*** * Deletes layer by its layer_id - * + * * layer_id (int) **/ var d = new ActionDescriptor(); @@ -427,16 +497,16 @@ function _undo() { function savePSB(output_path){ /*** * Saves file as .psb to 'output_path' - * + * * output_path (str) **/ - var desc1 = new ActionDescriptor(); - var desc2 = new ActionDescriptor(); - desc2.putBoolean( stringIDToTypeID('maximizeCompatibility'), true ); - desc1.putObject( charIDToTypeID('As '), charIDToTypeID('Pht8'), desc2 ); - desc1.putPath( charIDToTypeID('In '), new File(output_path) ); - desc1.putBoolean( charIDToTypeID('LwCs'), true ); - executeAction( charIDToTypeID('save'), desc1, DialogModes.NO ); + var desc1 = new ActionDescriptor(); + var desc2 = new ActionDescriptor(); + desc2.putBoolean( stringIDToTypeID('maximizeCompatibility'), true ); + desc1.putObject( charIDToTypeID('As '), charIDToTypeID('Pht8'), desc2 ); + desc1.putPath( charIDToTypeID('In '), new File(output_path) ); + desc1.putBoolean( charIDToTypeID('LwCs'), true ); + executeAction( charIDToTypeID('save'), desc1, DialogModes.NO ); } function close(){ @@ -446,13 +516,13 @@ function close(){ function renameLayer(layer_id, new_name){ /*** * Renames 'layer_id' to 'new_name' - * + * * Via Action (fast) - * + * * Args: * layer_id(int) * new_name(str) - * + * * output_path (str) **/ doc = app.activeDocument; @@ -473,12 +543,12 @@ function _get_parents_names(layer, itself_name){ return long_names; } -// triggers when panel is opened, good for debugging -//log(getActiveDocumentName()); +// triggers when panel is opened, good for debugging +//log(getActiveDocumentName()); // log.show(); // var a = app.activeDocument.activeLayer; // log(a); //getSelectedLayers(); // importSmartObject("c:/projects/test.jpg", "a aaNewLayer", true); // log("dpc"); -// replaceSmartObjects(153, "▼Jungle_imageTest_001", "c:/projects/test_project_test_asset_TestTask_v001.png"); \ No newline at end of file +// replaceSmartObjects(153, "▼Jungle_imageTest_001", "c:/projects/test_project_test_asset_TestTask_v001.png"); diff --git a/openpype/hosts/photoshop/api/ws_stub.py b/openpype/hosts/photoshop/api/ws_stub.py index 2c4d0ad5fc8..813a8033974 100644 --- a/openpype/hosts/photoshop/api/ws_stub.py +++ b/openpype/hosts/photoshop/api/ws_stub.py @@ -28,6 +28,7 @@ class PSItem(object): long_name = attr.ib(default=None) color_code = attr.ib(default=None) # color code of layer instance_id = attr.ib(default=None) + blendMode = attr.ib(default="NORMAL") @property def clean_name(self): @@ -243,6 +244,50 @@ def get_layers_in_layers_ids(self, layers_ids, layers=None): return self._get_layers_in_layers(parent_ids, layers) + def set_blendmode(self, layer_name, blendMode_name): + """ + Sets blendMode based on 'blendMode_name' on a given 'layerName' + Args: + layer_name (string): layer name + blendMode_name (string): name of the blendMode desired + + list of the possibilities for blendMode: + "colorBurn" + "colorDodge" + "darken" + "darkerColor" + "difference" + "dissolve": + "blendDivide" + "exclusion" + "hardLight" + "hardMix" + "hue" + "lighten" + "lighterColor" + "linearBurn" + "linearDodge" + "linearLight" + "luminosity" + "multiply" + "normal" + "overlay" + "passThrough" + "pinLight" + "saturation" + "screen" + "softLight" + "subtract" + "vividLight" + """ + self.websocketserver.call( + self.client.call( + 'Photoshop.set_blendmode', + layer_name=layer_name, + blendMode_name=blendMode_name + ) + ) + def _get_layers_in_layers(self, parent_ids, layers=None): if not layers: layers = self.get_layers() @@ -566,6 +611,7 @@ def _to_records(self, res): d.get('members'), d.get('long_name'), d.get("color_code"), - d.get("instance_id") + d.get("instance_id"), + d.get("blendMode") )) return ret From 8822d2f452b17180fb86d59dc4f35d8b3e1d3a08 Mon Sep 17 00:00:00 2001 From: hfarre Date: Mon, 11 Mar 2024 12:31:16 +0100 Subject: [PATCH 2/3] #327: enhancement: remise au bon endroit du zxp --- openpype/hosts/photoshop/api/extension.zxp | Bin 54056 -> 55079 bytes .../photoshop/api/extension/extension.zxp | Bin 55079 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 openpype/hosts/photoshop/api/extension/extension.zxp diff --git a/openpype/hosts/photoshop/api/extension.zxp b/openpype/hosts/photoshop/api/extension.zxp index 39b766cd0d354e63c5b0e5b874be47131860e3c6..9994a4029dc9a945363ffa6a41e6a0266f30a0e5 100644 GIT binary patch delta 14285 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 delta 12908 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 CnT+fJ diff --git a/openpype/hosts/photoshop/api/extension/extension.zxp b/openpype/hosts/photoshop/api/extension/extension.zxp deleted file mode 100644 index 9994a4029dc9a945363ffa6a41e6a0266f30a0e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55079 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

|XE>jwU27^wcM-_$cF3 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 vC@8Lpf%D^ZhoN1pQP Date: Wed, 13 Mar 2024 13:11:46 +0100 Subject: [PATCH 3/3] =?UTF-8?q?#327:=20enhancement:=20Modification=20pour?= =?UTF-8?q?=20eviter=20un=20dict=20de=20corr=C3=A9lation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../photoshop/api/extension/extension.zxp | Bin 0 -> 54564 bytes .../photoshop/api/extension/host/index.jsx | 31 +----------------- 2 files changed, 1 insertion(+), 30 deletions(-) create mode 100644 openpype/hosts/photoshop/api/extension/extension.zxp diff --git a/openpype/hosts/photoshop/api/extension/extension.zxp b/openpype/hosts/photoshop/api/extension/extension.zxp new file mode 100644 index 0000000000000000000000000000000000000000..7cf0fe89575ef2ff73145c3abc98a05dff30c239 GIT binary patch literal 54564 zcmc$FLy#^^*W}Z-ZCkhPzHQsKZQFg@?%TF)+qP}nocH@N|7bOfnN8KHidtmkiO9-| zb4p$c1QZnj06+p(w5`?6PFemY{C1D*v+CRJh9BP_sP%<*s zw?H(|*Oxc&2S5;-8Ur(Hp!o*_$4!kw??nPfNM%PZI?w23uV8JFfh&#-BKGydrl1?V z&QQ+ujzTKXfEJSy8k!#mSc60!{Ax)L2>=49D8m6Dnt$DzsK(!!{A+Hgs~MeApp>Gc zo}Qd(P+?kRmRA&?lA4wqo0Mu%frfKfXp*mQIXJ3!sG^jZ0-?GeqooIerUU>9%J(r3 zsZw$NR%7TPWUa}qCsbh|RIedqWMCD8Do3x}Ch2JfmH7RqHBiscw!BKwUre|*L6F~9 zA)+cFB%m!Mfe(MkmJdjP18w89K*Ov6!Hr>5?7dVM7$E--QPBS)0l=kVqyBHfe+&=+ zXMmBlg^8^*gOae`e=;R)+|%=a!Bm3D|40>jqJMba-;v%*V5AWPTUHnlkbmcD*ZJjG$*xUPmPNXy_D9+6o`gzk)ARJL& zG(4T;k;X^LHpY#gb8_uoC;~|&z~4`5svS=SXT(QBHHC_#)PIe3z=Yl@*B_-YMEYjq z?Bik^>P2wG3q^Gz=p*1L5>IF;t1{z_0G2ud25HHdPMRRiTt}E-LX(1Y!({SlnN_bl zcLw1^q=NVmzV%U>eLs3So~CK4oq#5jlItKiAU7Dv`9=vwp%hPNugmK$!kiGk)`U)2 zV%&b17wF=Sl{g{%^gXEi6JxsRRO7PX-+CC1xzy?p}=pZ>Ms2{pO zBa!lnfoYbA{TRAGf77K4p^V8^#$;TqoD7r;ymj5-W{XrJEUYW+Z|g-6csJ?JyuCOI=etQq;?F821ad zC&A8&m;OlTI*_O*XHUgQZAT)1#EQEomrXmdWjcMXLVIMxNTqv26c)o~ zVHl|vD>vy69>%p7r(WR+2D7hA3RcorW5=;cFt=-MDO%!5IgA;W%#S1-pn^3%irXw> zsZrZat255Nq9fL*KLX=#?wvQ$% z)a`_HE^*CyDLeUOgoAzd!$fbjRG>VCKh>x;zPS@oJ`>9#?%|~UjQCZ z9*IO>cvacWkl-($YslR?E0DE9Dg%e|Zko;nIfi{3cfx}tY1|Lzu&rra0Y&i#&PRQt zWXW1J4v@tK9t#T!nxpEqvXA<6hvpQHr>HE}q>YQoLXWbF+1vNy3QF|7LSA&Z70iHv zlExf13%O!6^vgK+&#E!!!o^PZ^x2YXtOMvo3m(Lvs8!kOKJbchL~93?_R-k1wZ9!jnC;cMrzdg)ca>X#1pMM{C+@OM z6n%JBy@&)cb70=zcW?+D3YkXDhg-v`&uJ7`p5F&m{EYzfwiW00_!J7m_Iq!%-4=DZ zYzU^93<3602CsKepC8|ii@Ow2GmE&Iu`%f>w)#v5ez8Ane9 zZP{P1UzaL&Wx;LFPs`#p39h&W9hz zCJqh`wxI&4lvabONqb5Uzw(zV?#ENGXzS~}C3fUPSxh_%yO7pm3lOrE|H|yKN}-JU zJIb@hYmF+!#o5|bv9*{xRk4+rJC!#h8G$gVQHvPr8^QdBvahiSl#rtZ#`gX?&#=?; zd9t~^uej0m{hIorMTfQn{UBttEa=>QW=j+BZ4DW@QkkM}=9)cLkCtUzEE7EJ1CJM- zYnqLBVa1RfZ4>taa$(>wk4Oz`v*5O`U~);ayHzI}&{ap>U9X4;8qWkOU65oOKEoniOZ`ikFv!BGsUIsWBafodnAlAN=54(=Jo zeB==sUZ)&uiTx;lr_^SRBh)J9I*dqdWmbx1C_erJQ3u+rS)(OPHw6Jerzr}qCZcfz zw=24bBK)ZY>j>jm@dEghWyCKaI58s#h0gi_2MYgAm-57! z97GDNwy>b1suGj3B-tlbwMx2TtE84fNNP0?XD2=o50>K5vg)~HiDs4Y_ipa*(X02W zTGB&Z-wC*nLCGns@PlDrFiCKhjN8BmvnBB;0+U-!IhXDNlKH`FwqL(SCZKG%+oC%P znDqmZdgLBM_CfZFX}1)5*%m*5Q_I_Lqpp&{LFg6qC1T75vbQk1-H?14=Ed-htk+es z_i2vt9b=tmy~ z_UkeB?HGOY4af#9`@IsAwdeoKQI}8`o8u18+ zYda+k+b#$nEwQ6i8AGvDxquzG zURrQYt7kzybJFG}IJShKHqb8*a*Bx<*4~lD4`LuWOg`d5VyXAVIvKLt-CX+$4_a96 zJi@vr{9^&{4A$~=y^=T{adpvhd zVnS@yM|rbhxNGnLW;RTc&~y05`wQ&9jL^TVESw8H3mgRi(47eYp#5WI|HGjPDM{Em zn>d;p7@7Q=8~T6kY_E82yf#Loa}xC!OMJsSlaDwoUOexp)rM4&b!;YLkBnPdQb!Qz zqDk3M%Sfm;&e?vxZkcKhU)j}1OE;ldMSX2G8ObvIylk!KU~0P^YOmI zbMWF9^G|4iHf&+E_?`0I@L`-EDcxmZrefvujm_srDeCXgPFN7TIdDx~3%6OC*c)l%QCo_(a;*5ByRyd_$_NJH5g3W{Id`U6Y0Qp@nkEtbksFIen%&0(4 z!zdUE)QR+g4|&ct4DTmFN^>Z5mh)Vml!Fb{)F>LL0=Z@diG64KJff}bdj&XplA5M6@aoLFGjt zTNmq5Q}7V)pdt63^O_fB0IF8F6sa76lLuo+b5jArGJ~M#c$JpwUBIczTw*}PhiVG= zbXeVpuCzgIeW3QJ6_w#q>c@o9MVSM^%QVWrsV33UFK}5E6BzA5{>rPyojtS!MUl?N zMd0p0))Ny5EawQ-3gjHKJNy;%h^}l4Hi7;lTX-+~xgjhSHfsA#Okra3R-Ss5YfK4h zFEd~)(c}78gx7Q_{vi``(+G0giBv9DfNSRI(9<)Cq=?-fo)+fi&aq2b5tU5B6~YrL z)vS=LTJ|sfOQ;WFY6EET#5xx&3|mp8G4IGvqQ27vOZHek>X0!}Dw2{EQkmEC&)NIu z0M_oO+cUR>ll@SZAGnOWOIL~(a7VWvRq|J$?0fzmiWxG>(R`~5t-xY2^k}t znF6XE2ARcC;bnfAuN88Y#n2uh6qgz0rLqikx3)v(NU~VzudLxNk2I>e-f$vo=YTAv z6oQd45GqUz2`hhr3N@`9$!SqaHhADndjQzF+uOxG(9}9|ZDpis(x6h1GKm%1UB9*p z!$!D@*g*aquj#z7XYhxD4HQ#7Z%vCq{$5@l9}jk6qPa>XN)bfB@CUmB5NsnVn5w0b zu5g7)zO~!4dSiDw^bNvTr|f~B*cKQpUEe;$+DsBQb8Uy56|5r>=^7~H$I2;rpG>DZ z*<9#`4M=0u{v&Z9*$F^%&+X`~u{SR1WlN+@TJx}4pR*l@(Y6Fy_E7P^CUXFRR3j7J~2?y)03-4Mbe=s!Kiu;=r7Xk)XXr zX#RAqHUQpmEQaA^qLiR=muwD__CkM5e_A8T-Ck2r6_r;b@^1mZAKm&ND^ZF}VUx#& zget=dkm6fZ-gPG8F(pkkC)~o>=P(!S{4-+|ZXQyM7m_JPABO#+CsT^Q*$<~GylZbYO6Uvr16=|8$e0>l~ubo`= zyB6ATvOG3o`b_t(WNEHq6#DSQid@}+T#{u(*wJ=(Y*Ji^hv>57AEvyW(X z@#=AOx-J#1RY=M9Uh?51*!D&BQ}_hTG20Ur@9X7nh>uj*QmHFg28DFwVGB0=-9|@C zY;}%8Q?6gGPuL95bVo{*Fm0D#4DJ@fU~T{NyJlCi(9Rs6e;NW}7-g(>6 zAOIap7Ec{+Ilp9M?K^uy`S{Yi|f51MQ`OOn{(c^l$`y{3)L=w@|HFXe91x({i#x2>*L^QLc ztC>RciIOtMD)-v~c-xt)Xd3*N(AOln-xYmYNq-N$N!hmIun6z%?5hP! z)_rZ>(zz{diw^IX(2sh}BC?VVmpd}Tq#3(MBQn0jPR#m8kvl)#AD>EUuuAX+Y2giLBW7f0Rg)^_5eS;lf+6~bsMrCj%^WQ4 zDwAT=80`&cP$dj9G4J;!BTu5~rLRD~p4w*QB(BGDSID0JARrZH^=n>~wdF?Jd#U>P zQvSm@_`v$r`yTX=a2zZZkk8|{%_SlQM1e)y%^>{&54X+S#*msS*T+M_*A8kc*CNQz zkVze2$Tps^-1^K}{%xY+bxV!ohUzljv;mC=N&wQ{VSGzMtn3VwKVBce2EE))lfePH zoUx}3(9a1}Fa#)^AWfAJH~MlevmQGv@?b&53W%t*Lr;HVrW!gH;gyg+y#_u-Qbznl z{5Tzk<(CoS2hlpC&qA%>7WbQF`?6LMd1;A{T|T-=*s}RIL1=F9o^5wO$a__*Fa=nv zaM6lb3Drl|ppB+Ax}$)T#!MRoQ!G=?Bh&vv& zpGQpsl34tBZxR7~y*u^;y_u&HGcq`gvrWCae0&}*ge=8$ZvKezxwUHfr2d<8$*NJ@ z!0mB14~=Q8*Posrui}AKo>~P1??h&SZ%D%`O~n#(V(Du9;H<}2MCvHJw*9_jpl%e9 z(<_iHk7hBnU;C>f)n-DOyA2-U9?({WSfmDY*qBLa!(kyGvP&2BdxR=99`Em={)X=z zR>3Xjd!GrdK?s`FIJ5j9KT;Y{S-UaX19N^SXzEH+Li{YB%Bi$o^&${y$I6X>6mK{(?%N&y|TlJ#CEMy%Dv#(lgw=;`*Z#|M(6Oyq%r?a9UOU0YCucbmhbQWatJ3WRRk@jr2!eeW+8A9-uM$0bs>eX) z4c7Iv1LWu%*QoM#_AbYPOrpLkFbn+I@f!gqh%=i^vopmvOG##KoVak?dRDK_`Q|5H zftx5egyqA=e1QPelgu)C1)!NfntV{5U*?Y8z*j0MqD2!_nY6#V3 z3d^;NL<)W#U^qUBqo#@N#5@Kf$`*^NhO-Xtn{|^Ht(m_9{K91M-1@VT=kAvl5{?<> zV#$}Leebj=pI>O%zP(5Yc`?QyGHF|_uiFyuKCok+HaXd7*AL9mwgx4lj_0RUq&{W_ z&lEJ$QF-{VGVMh_p4N6hg$g*zFFyiZ5&_xO9aFiXBLxq4LIy)9eiBB+pB>*zyX}6A zt@xQeIN1oULH$v0oOr?l46|wv+Xn{;~(aLRTTV_-LikR#QhF4~9-!O(2<9pdO1*3LOi=Rk8<3U1V4Z6}sZ< zG1woqfF-UuqY^c7WzRe+PM>trycL#@i1Dc=$n%;r9F;qa~@)-+!{8 zp|0vHY$!B`uCvAHAXjhN835{~%6Y0~yKH;uL7HO%xt_VIJo1V1L2ijev(028#%g;Q`4P+@Ek;=ZtL3(r4N zxR-$xa#8rX4fEVw!*t9`flkvbxD1uGafvfpMDmebfYjf7Nc}wb8;xBau8+c8*aU}I z44^rLygB@yP3ByWEQDWzay2DDVfF02us~OpWDKzyb?H>np%=%$%o@&y_aCM~3V52PIt$TwXQkB56D<(@EB z;1!gpk=9w#V95}EDYteBTV3<0$uDz`$+MLDFu&jo%W-e#^SJiGjZLc}&}R&0gyIVf zro;z1M5|=vUuusS7^<^`y4~+`&^XB#*)KHKDR{MC@a10 z84l(=Fdj9CHgJ2dboIp2>YaGwD=w_0`ODjVyu5T~${1I>5{pz1aLW6dCq@u}4{$`| zG-<@~V4zI6Qx|yJ2lhFgmmC;InWry{nJhczTW2#m_bQoqWZox~rZ4L?RMc)D%z`cs z=FU#<-(P)xKJhRMf?}y7jT7iPgafV%TOr`aG=f;c+uk?|kvH9;$)c%rbn!NeQ|PEO z7oaNmUT;S9@5%HCM@&#_~6ucE6%Di!fz z5k~3K+02YrqTH$}{JD}3afSSK>C&Gjlsi*Xdx!BIMZ$Iyx$pMr2nq^P6>HRl ze#UsOQ6{U*GnmdFD+nu%%}r~{uk;Wrtv&avI^W5RIuHDwTk3C(%v%bcKV;#;$|4FM zzK4|C#msM>wi5CHZ{AKG5?5(-6{uKzvE)KfZgIQ?2Mt9T=4YhJNFd7kiv0%*bZy|5M*NybxvBHV+?7~l7`o6O3_iB}0B7Qm& zc zThN`yn|l!)h=zSG5r^uV>3VS0&LuaJH>!p_c-<5oFjSRMwNeql5$V|haowzo=_L31 zVS`pFHdDcqJ;OM{T91b7PRb4O zchZAYQkN#>tDN!Y-jL(V^Jst#+e*8&OGw9L|HqIG!@3$qLU|7evyexyqP=}fbrMP! z^3Hmp`6lY#PWKew7rN|^a)VrXwO6fg*#sJSb(sn~mbfz&nET7_7itRHCE4*XkP=_g zNiR*98oEl*5B!ayVaKMji=)jQs48?D5)H0GR;)yr+`7ob zB5`DgA683i{ep@ZYGcW2KYVh5#{-6Gdas4A^6Dc{^YMvyC-v`2gTx;_UCH26S) zX&;(p-cUDAg`12z27oO)gj|EUW*kb6d~4(%idR{dhCdQ_qW+6?8d=G_ay$FTWNlH! z8TQzMO`|feCi5LJmwkO>6Hn*BJ@&R29;#ekbeH4{@D|9w@~38HFHfkI9xC*AG)Ik> z_K}f(v1#7OF=%pa?!8A_%R4+G`J}C=>q6~wYD#E9tQB8dk3~xpf0ZnVexXFmgB0I^V(-p{1iDw_M@t$hqMF>vLs zd{g4d`Zp3i!_|ZmfbM^clebOT{ntW|RosGlqJ#FQv*zX+h}(g@ZkaNP^}rg%rKp-v zg~)oZkMpIq7B4-@{%DmAr53*Ys+Ne=&ZnQMMm}C$W`XTloQ)-N>UG`w>}V>T_~&xV z9fLNGT$!^EC;3o{(f$Z>t---dlfNTuY6e)RVxD~vSw30-tYT%itzb#EZO^(XF}Vi( z;DXbEOf3WZ{2?Ev3(t4wj&`=Bz_E1z6c;P7Vf~4%49heYdI(DK}8}*qieoG=B*WTG@ zuTlQ%i{{Wfc%z06Wd!xeLz7aeAo%kBEc%O#gIj&ymsxGK|ahAOcwNox58&h=U+ z?3Zc>&mPxlGfp6=dysKNg>IxGhHIiXbBcS3e#%Q?;n$^E*sq-IvhC4FHaeTr&ritj zHvypwa;B_Q829Im9o0-RW^xq*#fzK;Ik9)voTJx5P|;Nq95T8sXr4GDxHv=lqV}|w zuSo$NqiS#6>*f*yji2TH0Pft#Na_vJkEzWoDaUhHwj_bcgU0>_-j*`8wv)u~8 zgnpZum+~sBExZKps8;I*f-f_G?HC^RUyrcw-?3Hri^I0KIp1k$4$!7tWx?43R2;9V zvqC6|zRNzLuY|6NB1tb3&9Unw4h8-=;*c-`Y4zBKSJfv@YF-<5y@95!2AMK)*YAWVh;75sc^IMdm(i7z>{qS)F?;7BGR{28Ml-Ps|02gUKCEq6S?$zr@8s|!>`FIB&q2vm}O%q!z5FdCXIG)q z4TDxc2i=h*Ux5x9T#N1e!a>F<)m72-N>IXEGHXC22pKW}v3Ph9sZN3iB7aNeFUh9_Oui&6- zFf?F;jt*_XN>dNrqKu^-hJ$62X|aO=Zw51{nyAv}Cd$5PdZtD%#q$51HW?Xo5#%A( z*iKjClZCK(HcB#q!SFi&K5N|U4vqtE!iivROOHN}rceEJOdj^6A1jR=3AfxP8T@1K zVOh-yR10C88wizAMVg^}c_ii#=#k6${SFq$IRJniCfL@~(ZSvI8(w?@XbHO2Taata zy9^-Ka3HTc(uyW~rP66lcL3{7_bq7cwAwinPu*33d?rWTcQ4wxPpYL6zKJ2^S_#A` z`p7DuF2chyqt<-Wu>xsI!?>&DOzb-T-Iv;?rt?!FJaiVSNM6}>uOxKhSZdS~#lW1@*qo%Km8Pb^}mC9QUWx|hGB z?u|aJp5U-Jm(juggu;Qv&9+7wvTRgs@)iH&%3Q8nBDrsu!|@^F;?H#y!0bNs4loQ{ zVU9n8cO-pmE_fmwnd1N!t;*V#q6Y8j^U^d$EmRq6FLum=*#R6v&C*xT= zpL?m$wrk(`PZ#voa&LVhY|P7cRf!oK*(B~Wp)&I5gEA6^x(kMDh_FHV!X!i6WmCVs zbzv{${S`F2kl1Ha2j?FkUK9x9tMzvK+HC&Qd`0XqdBDMolQ@)#jxZWr4peQ5ujS9G zv7fKmvU~;ZcP{kl?7FUvVj?M#&#y_M(~lzSa$-=seu{}YX~t=j_sd`^Kyp;!9yR{n z>Ab>UVzUo-srlFSM*c5?AHj@iTg4u{g8mokj-&$)u*+@r5|*Qnz*CrIe{Owfr-;zM zMmC{C1I6LsNsB^P#bT=bM!1+Yg#8scwkGvZi6a%#g^>mdL#Q9&0ssR^GrxdQ55UiyxgbbQBP2}6_)&!!=bZ*UCZVpDqw2r|S0eH{+ z1D=HB4CyCV0o6d&0b4seb`fFnXGbY#t&PV-ZiPPnjzt7DURHxkOWLE(>`S#pvIs-J zZ$%Vpf3-oe)pny+6cPXu5GveKnRv?1eJZRpIQ(O#X$|18sKI@a%fZlX*&t(I4xyI3-(B)oMShUc z%<|@GZdW&)q)`J9ej(gA@~Y@s^xc65?iPAttk_B(vK6`ovi@0sRl=>G$IXARQ=>i$ zrxa<^nOcHF|1x67wT_L*|JgQ#=S?etDtR2Fm6hg`oy+sGf!hvAYNCM`Jg`A}WsN|D z%Fr-Ei`Y?lpEQ7!93SGuD|Ho6ngIv7hWk&^}pqOrEAhN{`YRZQ9nPlUy~rS|$uV>+vO1=*BP z5z$ZY+$GbXYW3~-38_i`XrhW`%yK4&LvK|<9v5(Y>TVABslF^?oFoWyep?^1=$?O4 z_v5r?E2-TFXW?8~Yji+g?R_p8WUCyYX!YpEeZ`bDa114#nK>r2pyJ*A-5&}*MR%hB zO_W8jAzulANt4Lq9BVOL=;T0hF)W>|p-}h}_-pKtw}`x$O(qTv1AgjL*bl#pgMZaP zqK_xf8B1TBj$#edIkx%Ka!GCv+9Xu?-o&Sq(mM8mx93!I-DpC+#O{uYlrHP zzk}|b4B?N2C6%%`-YVZ0{`O4eJ&tCt{S1|=j`_58u~K5{q4x;jyPCk*0Snx z17Uy1dUUy+9oW3lHb~h$s!eN%i06$Q#{K2CXPxvJ$qP%cVoY?K7+a;lBXa0cyGo%6 zPjJaSwkad4A-Ss9sb{viAth?;yp7cJgPZ;m7Lv@&_L0 zMhz1VPOG^g;XCzujYB9ajDHW znFdrwp$GySlXHD8Sbvre(LBH~VwFV$PB)ezYb0TJNJs+F8k5xf;dDyZ*sO`wP|kfsE&~fRvcjzStwJU900# zv$}Y1K;jJ%d0FD+EM97P60ItvM*Et9pnWq4&h5`pjl9Qq@FY9=d}`L6(a5WJLmuAk zjXuhSI@9;dohai$(*R3z-_bf+Al%$R4ICbV9JRy2-k9G^?%lJ#na**EJQ7-feHS%e1VffrU~qOS4wlemml8Oy#EVeXRKtEHw^|<9(U%1~*$9vZXmaC8aAyVe3^m#969D zT?N;5C^l(^Kcyk)2Ovp&{V zLzqyD>XAYehLG^(uf3YV*KZJ~JF*TP?^;_%dFls~m$(H+4iu8`ly}wywV3HIS?xnd ztO75ec(WypF;D6)GoSWq`(GIbf2*G9QI)l{%6D#uoRO^k zNEC`>m^Fp2Wsy=Z5ffHKs4&t^a$XQz3PPO|)m1aMQox&oW35 zB)#q!em&^G<&vCMJZOF)Huz5IwNwUX8b7E<6f}T$?o4be>|gtrKEmjR^rx$Ssgl%( z+8sOp<2ZbFx=3S;7{=cU*xHc`53Ot)g-&TerTz0Zj7hqaQFpe-aP&d9EU=T=9P**4 zj*N{sJJXKdA+WbAC)(c`Awp29+nr>gJQ!^TiWMVJ_=`Zi>Zj$7KpDrimx5~r@Z~1( zRmn!>f4Q5jsA?E|m*uSSG^hR562}87$L8L6JhL6Ws;x6zaQ>WdfrcH`zshev3sp2< z@*#&=&7d-iQ}fw7-7CIWspe7L_P}l{4r}WjQ;VkUy*VApQ@A)Smxd4-7^ZtYrDkfB zy=Iboo9R5S*I>)zC@g0k>QkYNqvfI}8qV>bY(V=8#%so$zshw6VJ7B(EZm7IS41%z ztwP5gYU~@=#1|A3+dH=ktnL4>w`u>DW{v&hOKLKr5 zEROKKrg1HYG8p-I%Eb94WY?Cuh5spJBigjZMH{*)TYHalEc!CI8Zsl)mVc6ObujP_ z9Sy&7LSucKt()Nw?L_6A3(ZFm)Y*-^e zs+K#BHf_J^=4=((Qu$aNlOS&i)ysd(cv_BIw{uLGk`H77L%t zCnzscgy*1-fRV-J9XyD^1Z!z@yBIo#W$p56@BsGR4}>Mqk7Ru9=o|z0fIRY^YKzX| zhG_+@kW$pWCS)9Lnd&fH!<1<}`dZ_moR9qM2nVD5&2Jic;bJKGveRBv3dphxx#uIu z*WiFa#s)#J^HC6yt_eVmlu-kI*rRk=4IfCrXA^6FO7|wmigtc^$NKf2Hq{Nz38;28 z4`Y%aHZf$Nf_eYD!FD;)E}yj<6Jx`Gjx|pGy~vQ_w9D%Add8s@Ad62vhF#@Z$%kl{ z2x*M{i5=*YFk$XNQLtfYqM#3RFqY3-ld0udJ5@(#Ja+FVqOg!rF3_68CEDYJnB05C8B0Q!G*>{;8H zS(~_;Skv2B*#3WM*^5@S`R5A*;&->6z(Wwxa^cDOrKw>Td zS%QUh+!pbo=Z12;KC^YBdzJJiWM+%kZSipl(u8YzQPkv=bv^T~=e4Jwn9)=RY{4Qk zy%4>7@y$8wSTy+{6XEviwFMH);tPnujVGrugfMUyd^C24nI8~ zt&4f(hXXnke5h80-mCIE=>*kAu_xI1Z(N5kw*e_qEWL1(wCYY2|00HYV&Wnu7Y%3b z*u>eSSh=mej_Fao)OB;K70b5-v%eHn6w!yGTuc6D>hX4`^J_8a>K@y@VZ=DD<2GBV+s-Mj}EvALsfA-BNBV~{#B}NoT5906E&nns=(f#E)c_6Lj{;ftn zH^)sMO;6AjuIVO2QwM5;VKW*=liZasu5`%pH#A0_ZmJ5;M&Z^(t@!yJ!T!lMtOC{1_}5+ZcfD@KeS(_2(}uDRqLw*SR}&+@ zcGz(p*?lG~6KK3o=-{0?T|F7f$8^93w$;L!h-NdPf#X@2GNXz(UKvBnN-CG$1u&_u zD0$jmL|QK@Hit#1LL1_1kN)8$OMSpd5Tn`hbb8xlCb$$C3ZM95iyX~ON3X=|yY-=G zV8fZ3-5sm8>?o>ec0%?o4R=Uh#OS^?=j0q=i8;9a^_OdkmTO~nroa3)3%Zfujh5(q z}y*F`kFv2AFrp6)R#W2u5OPPDtDou&ekp{ z-$J#PmK@uloYRvF1T}WIz8N@md{(f;jxA_-BNIOL*vlgp=}Lts!R>_E7z^&H$k$(m zL++a`o&*gX#raeIuiZ(r@nMl%809?oG`>d6ue>*OJ{Xupaa&&1M#$q5{ZQui(oUwRHFRK2c^s#1Z@+R=qcK_-#xcf;RW4tS3&|vBv3vc95F884Y=KwK+LxA;Ko)X3`LFI6o zvylF;(yP^G{+9ob?AFo(00{pjy>3p9_D26-G~V2q785%&9=FbaJl;4{lR zd)pg(!}-HZOwOTU8Vj;q1VSUgK@`gB99Ni|8+g<6hf|lo=HDpme-QYhY_Mud<9r-6kAOHfbXd#c_5;Te3B$=}2Q@ zHe&H6xN!Nz_)(?u`EczyQXMoL${6YTf+#cQq{B-TIt-7t`YvMlq%YA65#q$wL$>Sv z;Y1uPktRL$&M4*SxkG$78{WheTxDH|e*| zDbdS8g4p-Nt3x}tn|DRf02yXn4Z=BpVVNvbmiy?dguP#Pp;cVwTie=E6!dgac{c3~ z<)|dcF#%m95))EUg#&x5hmMxZ-3Y@UUG+< z^K#a7bOvp7Rs~^yzD(SB-kCm`aLM6J;C9sJ5nm0|Q>naCQ(+)^81{t5(QzacOsEoM zm(i>e0#hnXWxl0l2f~Mp#oU{f-r@@r)EwQMBvN)q3sZaP^`m$nzq;pGCzhQDj7E)s z1oO)3%Xh(wTWr(maGr8=A6;PyL|=cMYlsGEE`@|L6b!1bc@_xqIPg=-0nF_4vAOK` z>#yi?3!N6(gWsF^?La1AW5X)oFf~mWEt0c~89)i*w(VChDnte={RqWc?V97098gK8 z7mgYwaFq908ScjFiywPf&|@5dk)vyBs>u&FUepj-yzfxaYktdAAI|6@9p8Ie0(=u` z5?kitrxnEI)J%^Gy@|jRX=YHhfd#IXUC8syhfBO|z>)Pcu#ojER0!pC%Z~<*LBMT}>YF)#NHwR80^Xfv#4fOLy`$ z+e?aPIddJ9&%vdjx1vUG zM3ognbd8!)vfvAq#70KUj5(6bFpZyK#~Dy{j5G1h8pLghyy$ocX}F#}v^0vlP&!=T zvs}D^#}<}?AAK{J0|Swz>}FS0^?Yf0lp)Iw%r*dw6eZG+$d= zTlZT})VI$3MeD2Y8Rr1`kbm?TZ_zl$t zaj!uV?>7oJH1vXQH8VckD^Jq5pm@%~Cx6vRmYNm~Tu8WS+k!ObH3CHPRyHHo3{|h_ zS#i=xOjMv+J%J2mtSi!6_cIE1P5ro3bF#+Az+-jNvgW6bqjiAR6T5-_Xt>u^cH1Q=&*Vr0ym)Myj8h=exR2%e2C}x6b_e6<35!Oebq_^y# z+p$o#3(L71OzrJmB0fkBRePr4EZR1sx|P4%Q;lzigG+E%yS;0OlhKDiu7)n3M!PAy<=+xR@k5C}Zt|EjjPguJ zu>E(YDJ2@5VlNg{8>wqDkn1;?0W>$5h(PT!7tRC6vN>hSUODuOyBi%~uOvNwDs%=H z<#g!$j>!$+k5e8L9i18|(}Wu6XVhmdVVpTBP?`h+7t5f6o?yk9@k4XHYv1D(sHQ7% zwTJf^vAN&smi6v;tWST?hk6Fvc>7};!H6}WY zx7V$EMoc(~JY37+JD82p8?-{vK6obnX%XEe;ebXJT#iqi{6rEF&m`&m>n-mjjr50@ z&bd&;A`w1U$g*c|?9_kT&y$sN@y$_e2K@eQs^O3%963f1J$_mp9-+I`ejCb$(&%iw zOL?LxCg$|On5)bEr9jOpWTh!uTV_^t|ENVfq942O3Z9rZRbPL@3xX6%{U#tv-f`}x zv4fTz+1q_9zWm14hU@w_1XMUpk@^aY_pJ(05e;@*7r4K z>oH(OmyD52BTKSSru_pkX?aVb3IDe~BBLm1+SJiYBeHvyZ#AF!9oKpAGkRHnmUrsi zA>1PSS&%)1!{4EmIuK&$^p|7oK~6r39%{{+bIvUymz4_gA`Xdub7hWuaqar2@?Gn} zH|2b;#We4#C8TprvQA!Pd(5%VBGq5dYEIPC%ecSJ4Z0!RR(%y6jf7~LY2TMKnh7&x zYDRw2HWOZyCUxBhf4cXYtkXM|noX>x(nr>4O1Ui*(mNs6=MXGf z5TxmA+qU1eZQHhO+qP}nwr$(C_3oY5y_x8ViCK2fsnw}fZ8ECz|1-b*@!ncWQYyib zw$Qb8gpx%@Ee>9r{N}9S`lRX;o^YLm#OrGrl{V}ftmIP5@C-1egM#P5z#hLJ#|7lU zF3mksII2sH4a3z71?{86k&CbI+i(xUrnsKuVHwAbsHydU9R&)$sPd zt{Bgt9XRqPBRp%wh9XJ$0^DQSQI2~?xWes<{KCNV9Mvi6gC~$Dzu>PJV)Q5Fuu8;r6bhR_LIO4<*^+ zww+ryjB8-0M#5VjH)MWhu_{PjWfVT`O~yE6M<|Sms|F1KS0rfnnLZLgd*{#>?2lzw z^V&ti2m@;QO`|XFm!scU=ADI{>Uoz0v$mr9gr(%GVc-Wx_nW9X%rM z#Dr7%Lra&Yvi&7}N2)Q3tBNk^viOO0PrpIKObn;y6+^{44{DI=bAR2T@ykV;dOmK=R^x7##FQY)Ky(5rn zuBoEN^lZ3tdET>QCn3EYxp=h)2T2fyJBwkOgSn`3$p8^aCVM55Rr8%*^_4H)h{%=b z{A7cNI`kN^m|JQY>APF19v354BqP)lgM^<*$=xn7zmHZ>OIvM6_RhO!pJN-tMIyKlES!+co@w#I=y@2ZW;mL zG3%yi8fMHUfI*xZHOREDJiP+EyF}w*1tWWqhG7i};op6~%kJ_^UGZ9lnt zf(--Nas6@O%UNWGsNwaCQs#RO7$7CscQ28we$Rll;d$BiaWv$9XU5Tp2~8xap@w?A zQQjzDm4<*V2p2lleGh%hLsTEVhI!`a_~m^Se{nQ4Wc~Sl0BGIeG=5aJ0c_AW_&zqq z0oR*w*W?D`s&LZBioka>Cx>4mfC-*QMzGJZ`Or+=-PP8jHOe5zI^xRAS*&2bqwAr| z)6%XbI}Lvp+vfnzgnXhSJp}+m^Ue+1`!JY_h3gc3P3K(_8d6J@`>XJnm<33I7EJZF z!%~bBTF3|~jyJgzX|}d@d!xkxJV}UblJ!R;+~B@xtze>U0c+W@1%x9Hxbz`JlQDLX z6xw4N+Eyn!r3$g@p(an6mBqBA27z)D6b&dU1x$bv0)#%WLh!-v8>HMyymaQu{pu`k z41@q^v6Fp+A6oI6&`94>;y3NHLsT$FSa=!^ff7O~I!etm6cRbihC>_F7tz{Ac8=#S zBud&ob^&t2MLox16z5?O!CR?4fhtqthrW<`%0wFp51FDw82#>kIEXcz#F}uiDl2#l z-Z$>rCsf)MJy1FFN1(IQbAGW->rmy*l0Bbi&8e zUnc+3YN->dSRh1DP<4q65Zi&+za`f3jr}H~SmO=3Bf?IDD4uSdW4%J;%c;>H z0D%Uju$JRRS*-jjD%Dy7`9sXgH5j*?wddEJn@1Z@A^Rn~|l?`6^)^HV7k_uuScC~XZ*2r-_G5v$~0?dlC$ zu3`nGHd{1q5HK9t&JzM!?MEKBcF{O0z)(y1c@BUy$s>Jpr%zvRd?`hlxWt#Ra2&aw zxKT^7{b@}|gu^YGR3c@YR1fDRRv;B+TJHjZxOAAoth_tE!`Rn~m!g1Q_&$XWUjBO49*dUmQ|WTe}|oic3=LmKfm*N_K@k1`66n_1Q&7 zRs}_>U9Rm$=W!1t1Rp|b%Ps7J22u5m=oKWezx0M)3jzjgdgl~grs!E4jOQwbLR6zw;L zV)4W^;nLHE>>uri1H30Um>$4t+Z(f5ZB*x;@m)Hr9o3)gq-8nP%*A<}hPP3?e7ny4 z1`WdbLX84@Qz7FdFru4{*A9qziX5Ry+Igkad%2irxIg!YRouz;Y_ok{?FZAy=ZzE& z^sJ35v~~88;j)npL;93WffI#Hyr^eh%twC$R)coQ8h#t>b8ONNa8vCsHXE&^vS=TU z!VWP)KC#EC-o_uuJ7@O9)Uc9|K&siYU`J6|u{Zp!lW<z%AV%{ zxFZsa#-8}}e83aTTJUUjnqN77Jj>jWd8lf#canBfFL2VHSsFK*sCD zM?EbQ216csR*evBeT}RFy9xN;87(yX>)F-Xv2uyl*P!2$v;bHD5wo!cUos4o{vaS3 zbY`G_6Dr+X7Tr#1I3<4~c(zT4r+6Hgff5X-NCcnJ+-bMD&2|`8ex=l{|LdW!e%ja3 zU3h_NLR;f1&iqE7%H->n{CQM))T3tc+e!1J_u~Q;6 z@bPL!%Thc2+T;}wx_uIcq!?SV^%Oi$Gj!_TXuszp(lcfgV(dj6C#D8*mjlo$Ac2$3I9^Ojg|N^s{a^ z;>hHa{pIy)<(-aLp5>0xL)y&Ne>Lf~0pUnfm!yjpedLf`r1Mpl_H0wSR7XFN4dPD( zuK&4PVVvx_Y^(e^Rhxzvf>|L8rB}|dHB(RCi*i?WFl4P1Z+}J^n2MVHsAj3bRJqLO zC8>c^YJxqFvc!GSQk;jA*2rm)<pDVGF_+ zbSSHrg8x<-@ZbFQ`U^e0LjSwFgGxInH9vaTt18}Vtk$N?PhNT8>~Lu)+eVGo`6M(# zUw(<#g0DmmG?A7I=07Q|BCKz&Vr&b8z{W>HJv`GD9BzR%SXiP-+N+CRR4I3L&&sf3 zUd(PsRXPo&Uk7Clx^A`o z#G_A__Iw>%X)CduPvZR;2P?Mm0DnycL_4ecGG~jlz!JR<(jU(}W(&v)6np82NqU81 z*F++v56`d#kXKrU{&5F*4hu-5Ga}|?P*Sx0ZXm-LY}?;3;Z9?)&D!b4fG$r zO-M;y>HhuzKH-%W2zQCYCvq(|{F zUHloCf|hF#(z4JoDaR=KgJh$yIY_wIhepH_@ru<}P;%ys-tPz+MKu$Np$ zQU;9EYs!CCFcT6sV$GP>W{2Cks7ER8+P{wZ9s+Ff)zCy`FDhq>7DJ0R&DldzhS!W- zVBTnsZApGK9!k&RDmZoDKv?jVuxzrEMHzGg9PuiHdyqBoS|0I*9}TXcLAQMS9OZfT zYExb9VVCGwwRrx`bnT$}^7&@xH2xh2kI-?oeqV`L1juCxR#cQsu*D!zc@F>ngXf!8 z8E(O+AV(5gF=obQP(fX)J$GyOFkOFRmbmALFL@?7=|Q+J^EYRg*G9!8thTDYbewb@ zD*Qf1-jht5J74+&LY3LoVsHblHbLyDDnUZ2pr~R|9&@MkSO}PRB#da!7zo0Z69NX> zEH_z&4x*zQV75|xhQ^u5&8-uR=zHXCf|_-9echO3GZi|uU0nkR`kH(|cjM7H0dda` zDq3oi-&mutn1Y-kS(YYvh&roA)px@UF#|n+v6forOPzDOO1jxmlH?Lz*hVn>=IX-v z9!Zt6>4;nQ(hSdjJV=AXV0QKD^O_$$h^rf#X?rjuh0iKDPhZjgL#wF}L5P)J*slTt z+!qTZ+a?t}+DiUu9oExKe4`e7vRVY|ZvB#YtjUin7i0`~Ynj7}CP%J#p|wIju=v_` zuZzWl>YnAmh$2IpTG+5TFTLYoZq}moEIZ{nR6{AXX_A1$$|Esl?((&3{_*oq@mn8` z@GsE+J7CT2oc^b2i^aw^>QB5+9LO{P0G9utnQ;FC_CJqhVQXyS{?9dY|L=&_qqzS~ zg51`+ay%SQ{NY1pEAVcO@#y`9nSSnj_ZTV>S{Co(*_j^aGhQD4JqK9a!dg*gHo13!lQm27_8ZoN&)1hl^ z=mnIl<{Q;J6yu3J8+bZe-2&S>i@~c+-5PoHXz-@!r9NFgyN~}#4rtz}%}cOq+j?oW zGJpQ;3}XfOyk{pe^~X1!e@H`wD$?S8^QT|a#JIe=rSVz{9U`{qZ{ZPWrBms zXX>8C%hfODJi+FLh%k=iwrif6NX&D0AkIEb1hBCAkp^cW_F8(z(*tR@WEOUz@M^T4 z`xCuuYRAqun>dq{#Jt6^#A&y2=(0qb)So-RWXR}a555==uU~srvs$3gNq1Luw{>TiSG42_lD8mn((}`+S!YiVQa@Ti zC1}|N(a#xX2~lxl_>b7BEGBNl27VtbGzLL=gGJ#S)W#(sZWAWR=FtTvXvu~0ncQYY zRNN|5pw+!Y`5zmdmD4pM>6=I+wNz3_2&JvU167lS(-2Bph3BCsverh{r<4xSj2Nv4 zu@JQ@XXWBX%UOa;ymniHJAj_I?S&3SD&)u0J*Kc$sDN@bciTAjND_>%Px|Vxpysh- zV8p}BhsK6wfx-72e7WTIF-PXgp?rq=(!`&$6bYCt%S@hYJY#RDqcid5L99uE>#xxb z2@>R?$TefYN7N?BMV(dTf%XHS76_MLWNK>4gb^qrAx=OtwdLaev}v3K%dMDemkq)> z2l2?_oKq%8AuNfrte@yYTkJ;PXTuY@o@dg7P_S3gp3!ph!~RvAOR2M#GS<_X$ogE&mxB1xIK4u2OVrD?qKV-Zd$@yK(K zCRCs0Nt0)&cts38MfdU?(O!@TZIG=eOsoY3Ff&;7YWN3f-O@dh?jQP1HN&x-1~Kp2 zU8wlYE={f_a`OdI#+w>) zEdgQ|xKiy)nH(QQ_SY%GDz;Z8jN*Fj>tujMT|2bolCQjTBD0w>JIKUoD4{ICe#d$$s^o)SJWxmF9oe4%y^93g839kJ$7elC&d1Wg5!DJ&m^` zNj0B+C)(k)SPG|Wcdc%8%*&P_#p|_qSW^p1DD|&tzn?P`ZR4o>>gfnY`uMCRaDuFv zlK_M-rV^ag_hyz^0bT#8Qq6lJsL^0OiRNZq-ZWqI}1;7Io z&YNQ=h;%#Pnzk$gP;=79BnA(}gsxHO$sp#)ULF_EU93tWrtFc8SU!tls6xC9DB?gv zA&+d42yx7+g{+{Xp=;>VY$6^0`=Un5tf(~Bni9@8b&o|J&%N&*dNnz$o~080QF6F? zu5r32Q*ou46A8J*N`A&wf-bv*gNZgrr_7vTwC=!;oGW*YB z+X<@^9!@(4Vhk0YdBh}D(Md@LLlajw!tgnWFj$4;I98uH4bfGqD5I>Dy`?G+)Is*-A3ph2aCJ{jEb5XX5*wHBmSIus1+4wd zv~}T7S1AnCJIFc7_AXszUS<|sgtost)*>pZC*k2hgF-?pRYJ7D(7YF6OYz$=KrAL5 z>ueh>s%@em(~RfQTPPJtzAqOv3~u`9Gxi;qm1vkHWHKU0N;(BgNol}$vhm$6&<>9p zmH5}nrSLnGBwSO7Kz>Df7MFBMo)aXI%hgp|9tM_KkH&6LRdSOO(83_XIh1v-3l#DO zi;YArTRd`Td0!fZbgWFJu!G0;&7ABkzwrx?(zY56Atlt>{$ky?kt;|ss$GK{7<3rs zc?eicsK1-0B+bd}GIv8X(eCQ06M(1I0E+Q!iOK$lDO`FIE@2sdB}S1XR4`K~u9ncY zfsv+=CYnXnPz56oftx-BA(Xau^$Zn+PP!Mr1i{OoBH&HAko#ys8ll#yo%Fy64jgIs zEX|xB-N>qZSmD|bo5v(dkPCMUL;LR9n38F0pTn{`T!=_IS&=xq0I<-maoAIEpQ375 z7*g71;@lpptHdel+{h$JYEZM+au+b-@;POdMbL&~gGnMpK~y*ct~nuc00b0P#HswU-XxL#&Y zZS^%7;s}s0wj$~^m(4*N@0tQjF8Yt|=&A!0veL#kD9|x@PZ?8y=PGF(%>}oSVW-d- zZiUtwz{_MLpaBeX^$4410S23ag4N>3+c0Z#1zSYfjND?OB*px4z=9@OtWAa4PambeUzvQhX>iW8&{G(07{}>H?qpmSJvA`P+en|IzDzPz}jMc;;Htrt^5M|@|_I6qIjX@pOLqDQ_@(fHwEID@|hba31rTeF&2UaNH`(D7XbbPt`F*FiO#a2sH)W{Mf8aywBz=D7@ z?>Tm#Iyb}qVn9%qSLIN+II(zTD4$D8j!H~;{nMEXng{@XYa+3k@#kbP1;=}R(JcNe zl@dv+%%z42Q|+MGjK+S+Qi3iAu-dOVcYY#xi9t0bi4>q0bz+F9Z{t zq0RJG@P7yrTkjFmBnYj(uKN#-H9A=OBRpHn&UG~cUq7JD^bL?8j^|e&5M1mEGH(Jvdsqv^ z+#U2zH#JGRRF}Qc24eHJmk1dLNo4D`=gdj35wTC^_*d*9t~zq4%e5DoVEFfz{qfHr zNdbM#{9Tn?N3J4l*4Vrw=7)!hZ=homVst}UvOwkYaP$gWFtA%&Bl6!cMQ*sHQ}mgc zxz$^60@K+<}z;c!|bjQ5jocgNJ1Ng5JsE8 zMSv&znld_@i*T~0Em4V}xORDKQ^18H3*ynOZp&~S{FuhL!v|E6Hl2tWP?Cf3=7*KWZ+gE-@i+!3)_f^J z8=|ZzPjP+WQ7I+0r4xTrpEY)COXcJqI`OUV!Sn~8^&7awfixaOn&o!w&R=Su!2FnE zNXqy7Yk4F)ieYx9JNoM6O52xTDZ<5BBC^U3Z7n+?bUv?(t=4u_%nR`r!fKr!qw>8= zeum}cClu;u^vafpR-PQI=2WZ1n!Bz&E6&~BDSl4r9#Yc=%(~U9BD8unA4DX{vK~ha znbpxB?B71A@Q!=*HmI^p$x+GrP%O@1gx(5TBsPCpR?4*V;AAwo+IM!%Nxf+;zz++) z5$wdG#>Pg#n0upHLkuOpx;vJT3Runw@T4|(0#YkPI;ZriRtl{(#W!({f13?Gp16Tq zP^mbZhi?}R4w|&)n~{1dS7n61g}+LnYr?{w&%pTZBJ1k*af?|8Aoh$Q@<+VGW>b4n z^%lo$QSAVagjV0}YE-M<5y>+Jnb%wa%^HD+qVdoTwBI{4uEmkBpenQZB$Xwr;mH8* z8Kc#nfX!aDaBTS`p{6&qcgJ$Jn&-O-jN64_Ao=AF9^ zsXRSlxzi7-qRR>oju?;p+ol_`+Cy_+5!i+-p53E(pc8?0ICtkRZ)lX{DICUiNGRfB#}ZmzWSxC@KZNz7ND0ns$34r?$06qUAALa@ojMcEwu zy?OLOT-MValZyjfzgyt5v$KW9kIQ$aHr=;*IJ(&Z2U1{ha-QIzrni?ep1|7setJEx zb@p<8=D*o{T%5ln4VD=WahBn;6g%`?`|ps)=H729MpHi z1-}w(P#;`JJ{hL@H#g#4FF4My14QSJPx+2-*438C{WxZCPE&@}REX$lfFC&o@XC$D-t7;PL(kfKcow;~t9) zA^}Lzd)$a=mxoVE-2o@sRJJI{1|OTP*=#CN;W4#o5ON5N80(76n#%OUd8_x++@sFL zkiw?m_Xov~KWqyNjZv<2tTeq@-j0r!1c#ZFHkC1}7Ig&TynECAlZ;tGh;$IhT@nrA zMNx86)qCGbO55X|L8#sGla8;;eAz2(qE%w$iyy6H?pEGZ4!xJpUnj75en%F!L^mjj zQx0zLw9$uYgT&_LAE%!$67F$O<;W@SLd6xh1E`+XEmU!|IZE(jVKQbH@gFV{!Qy(0 zq#gf+AARZ9{eXghOsR#lxh8iS-;hwRRM|%(2921W-bl8Cqwd=TAR)lyDS9i2R>?`9 z-Pxt&u85;O=oP5%C94rxMoYCW9Vj`_Fc_kTAQDPVHjCs@{}U;Zx;}x>aLG0|@cXwv z-!!;9C?*qBT!XiyMv9ZUc8y{j6M0o`luzZ(%G4?$^#@0hm1EY68f(U{93&di&G8`` zswRMqQwohZ#=N2d(cB#)Hf)@wmB^CGp%2v5=doeQGk9XJ4+2 z1L^4#2NH$BvPcnA7CCz}XV{unIARjfm%G8a$X}>h^TXDTv~pg6!bwV`9<0PNBF|ex zab38!tx8r?Tw0sD>W@=O^?#RVt5v=aUu861>V3yKka{nkOOHY$@pJytxRuA_@REr^ znC~uQM`Luu=RJ;Q)_t>)DvTXLN-);1f1^dxu}$fBy$d$%-@-=j<9rEkHlB5@9{1iw zi=M8(4R608bc%%x-Y9&O!H=lDdwng<+?=j*2Cz2ZYh1XK93f5#VS15y>pjDIkI~NsC3iOXRiH?gst2d?Wmj~Mo~iPJ@2el) z>g7O#0f$ou(dQj!8ca_rS00At;TRY;4D;2+`LU%r`-8h`)UtaiVYPW7p!MC?@Iv|{ zQ$Mx;kb%egV~NeJC=kBW*=#XHPOo2&W*}J7ItVqg50Ef;rc3sv8fQRa6)o3ifTa~s7l&Qc0{sw zcIxWZ*~3L`LOUs2Q6hZXouTNfL6djbrG@|5@~f=&p~rt{`eZHf9*|BJL+N{+n+Dqy zs1MB~4fI_`Dl)09NWl5VmtL)+i=r3}Wp)z*T9$NzT4S694&9+2PV>?jqzUCEaSu$ZRPr&R(BzpKb7IP5Qh4(qSH%h@n)RntyF>bjEON z@o!1gc0GgvKyJ=XYwN63m{KExVDT4qJzUwwTPPrFLosyQ(@_li_j1>_-<+uE&?{Q~ zgxkx1dDVOoOG-@_%@tnF^Q=iIe14c4rT3M`i1xOkc_)aDq&_}<1C>M?L-`GLKc*3L zu$cIY`ircOgW>)g#*J@Q`UK+iZ!-t<#7iN^lk%m zN0cSBQYg}A?Xnak2tY#QA2T|SSB2IVsRen~plbgBm|lg-Q}}&hWf4q*J^$>R3&nX& z67~^h)QFMRj^sba*A99#^IJ)9MYiw3HSO)R++8P|G(*W}nO7}zHI`p&Z{@Ugy1Hp> zH1u`dI$z%xYo@=+Gu2J5pnvipktzlWCzK$w?LZY+LZ`G_Tm>x%rE#)*9LPhg8K+2Y zk2R~2dBXVV-Tr(Z(SGl2dCYXP06^7u3LZNxhGAF0&_i|?MN>@z=<<=MS=~Ag{R$-( zxCs#xKm0-NUkB3^wS{Cszzv#V$}wPO!Stj#ehfFRgLrK|YNQG%od4T1Nx8fsp99PO z=R8(df;dRBS3W0zeyAC~m&(*kk@WeH*fr4Uc{#ek%sEfXL#e`X;wHd5P6l;W$Uy=n z?1iRDsAzOtavakaH#h2Icf88RtL|+VFX#Fo(!1|sq5l3aTal%*TO+Mm7`K`S+l*Vu z!e!`pZ`YIT$TNaqGOE^odw0S31a-bji(sZND$H4>LfCS(huxGR++Jjf6&wUWR);_}SK60uaeH0JT&`z^=#gD4-%ajkg1| z{8rn*uE`Zb+A627+TSqR@0dJC5{)P9ZgvA4Ig7t0 z-*|6t@Z~cFGIrT2FolWd7@U`lW?%y`Vbj~L*Y8i2f0O*U4;U@@@EwzX5S8B+}M|B8VoMQci#L09VWfkV0s;fN}sD6cF!L9XOLz= z(@W(LoSJ$L#4QM+7;o!}tCRN8hZtZK{Bc`GqbI+CFpe)m0G>}_;U2ku({PzQowjkJ z@=I}9N6&6WMS>kal~@r`8|iO^%Rc{2%Vl|Pb?^m=3)!F|a*Q%iQO=|=`9mU1(>A*4 z2#wA3V`vZ(5M|dd8fu`LoKX#G~k9?v@jTe zkH<7@kc9zjf^Kf5Mv}aU5TJty?>PEd`8a<+oCA|$%WT5-$e%AqFC%mG@F#_3EDbW+ zwFHEo5yU9bBG?wrp4`S@p3OziM+i)PBE8_fa*2HDbu8VQ7j-*WF0Cmtn^*_%y65eI zBxf4R$&tLzC5+yev?jEPS;yX}CG#SztYA|CaGD9Yl%#Ktcfl5()>(R`p;eLE($T)q zw=$>)`s_huVr$z^uH3F88(4v2Hsj_1=$B1pc^p>3yngq9%DWjg@N|;_CI%r^jQWKs zLgX5Z)%z2@Ur9m$)**e4=v3Zdg~)Ib-@5d zvI!){P^x~+JNq&0)e?%hF?~0V?Zq2q?vq96Ocg2h$+>a;6}UHQg)*N!+I|&23R{;) zrR9@0N`0WywUuY}2V^0gQ<=02_J`K25tUPlKU*ehv7TzGJl_b6$9{m z;)Q(mZW1H+HKQ24LjWSWBFixJ@b4g~K1xr$wvWD$Nc0ixpWiFgC)cc+199O*Qe9$q z8Y-d~6;X_*b`GvX8+y4;V9Xp4uoZIo<`$WDQI2>Db~w@Yso}B#`^D?4Dd$PC8?3%( z&0gzo@>CC{_2;iW78=y(_Q-Pur1YyUoMKSoaxNnpBvczW!whV_xP(B#s*!&v3I18Q zZ6ZQ=jihq@?*#NfZv;~2{|0)!4|EH0OEobxr(ByLM+1mkDmz2{IU--`&Bt9=wy(I# zI5d_wUN&sFK%%x~L=#q`M;gb>8kCt-s<+#+@g3)?{DcR7fWCb{B5KVw*Dpfcf`9?e z_fC0&u0vD2go8m`kCL%Catmi7m+0Z4l*qLXJc1{~`lK9~j{ED5mh#nQ2AVnfS7&c4 z=4`(;xLU(kIksV275!+b+D}#X4;?)$sR1}fez1>WbUp!ZELDGw0bgArrC};q&Cth6 zKt3spwZEs>6*U^j$J|x!ac125$4I>bREXX!3!$KhAkfSvgGZiOKJ|Qf z#cYaj^Z9f6DeV~+3c}Ir*eH!kqv}%pN@mKX?fmp+B0PUTHNu@CII0+_r`WJC0O#Zw%&D$a zpC&O>G1Uev48H*#yU6d#%oll_86CbC8pQIBBFr)XKh^odr4SJe)>&PdSeQ=(&V?~) z=W12Hrv7dvne-g-@ESenJ~ zS~8oFg*L8IT-~1Tx>d3@(Ck1SE7dO~sTbAiI~X8l+V$N4`k?*o?w5R;8J@-}89 zpN?ybg;Q5LTDPCMy`X&Dg8-~pC;3a|`Q`|H@Jw1)V95^Enjne)U zkX&5By1RySJ)y77H^z?0CcST(DbEg=G+zi2A z?u<5nl+p;XFyD&4~)PT zkIF)KBAIG*lxx~b_x7{LFuleYY;F-1!*4Bj_0XUuo#p(xGHFo4zYcM6-%$+W=A05; z1GwFzwG*8B%=Cy`f?_PGZ8*q%xnEVTUd94+>$ZF8B}V;uvSG+$sEs?! zfj-DK6nFS|5wltY8G4E4(Pj`nYl8tc!UFsH9>O%v4+7N`lKI&VuF&(DGf7lfVk*nc zk$n?BZtQoSAjD&|Yh(N}dMcQ#hl-*dJb#n(MA`NaxeCi+KXI;FQ~)JqdKpN@NTI4f ziahS=efoOp3?AU#qD(*qT_YN{5roSEV{(I_Tj^6`ZhS_c>~L6XLE1s6LI{ryCl*47 zewKD?cf(z#RjG668bQVqqT4dwEErw{PiY(%AMgn7{((-HKEp!m4^Lia@BYdm$nJ4_ z<^`YW%MB~*#}7n)>0@JIa{3I`coGpCV-G^rRgxGS0`cx9YfdrH!#mC5F$oc{4FYtSF07UyFobgr)w6*iXDU{}MtUT!)rBde54UNbeFYAs zG0<6~LwT$#uG_3(N1?X)Sluqz_!zU=_#fP6#jpR>xxU1l#t_OFn>j9Pr%TyW@@8Kf zHRr${3iQd5^XV@Y?znm(d=KChHL)npiBsToD*>|%pv1Tgll_I{s}@2+_F3)Mgtu_O z#=i9iq$qtvU!eL^*pPGtg7#udmq+D;|LofPr06U2%Wca4#X2ji24{4j!MhHQvxH)nEJt# z-o_MCO43XmgLY+;E9F@ey}1|ph$WYF^o``LBiFcJ4`>I*xfWAML?k=>3`Q!no0C_= ze{wtyF5B^EVddu=10a3|X@gIip9ZG|4ie#5f>CxfbMXpgm`Fm(UZPfiz-^rAmMu-B z65djJsieqotdoU?wji8@%bZk^wv06N#5_C}w3+b_RVX-{v0G`MDXC?7rE~5KGrXy1 zI264Lk`6g_B}mu>dws1auQw=guJ&Yq;pjRMUU>4VOXkBOQQjhoe_UF=Y8oRu)ui`;h5{OE zc{(8=C$zzfQ_ktBd3+SFC@ud5)hn*;#mf;Cpx5j4>#}zi0&fNZBLiRoU}CV}5O$at z`JEem&)WSfek^d57(Sk*0U+5Q5`s&M-h*Nm_!wuDDwh86hqnF+Qu~5?tBEvhVPeZ_ zi3D_J>tG!DxMDO1sS3_kgzCYX<<RQi#`o-*LX%6H~xGBKQ8Eqztp?*yJm>xca_cH2*3syZyT87c%=mu<3 zyKRseg0{v%iu?~Mgmbj@L@3G<X z8p^%Q`7>asxl(jsnFblyhzoE7*nEu49+YX|mWfP>s?}d(8%{XgSXQjd>Y4zn0ERgo zy87>ZEH**4O!4t*>8+j-210w+?MUN4D2_`A9eFy$o_>E5)`%-9E2Ak{U_w+DSFX#^ zE5s?bSc_Dq9ZY9>Nk)9DOnGo& zH7Ln;_}D{;Ua~1Nt@w`ARy%$6cce$q}Z2 z!gps!!#@oN!?^rH{T%Nl_xOC7YrJl(Tr%0-(m+jSs2;brppPet18&FVZf`GJ71smn zlYMKL`w~SZR!u^wngG^$+y|he0;Xi=g&J6&77#;k=ECjy6VH- zOC$0}%o+&=f69qmF<25lG(qv18Gu8zBGxI;wDF{f*U9K(l zMI-wc9@Atce%cD%{j$Eg(q`=8aQETaJ{H&3m9&0~KW|BQ zOtNX*fl;>r2b_syx0bzER9EU8KjdEfe6|q;t4|@1nK(TvHylp&Q0U6~t9HT`@o!1V za_NA+$IO!sCK;NcLrb9xTC+Gu7h^3KAUbM6l^%mGelDI6C|ff@3Cvv(ivY=fnY7uV2J0bT2`Ss z&z$iA#r*!v{eHSc$XV(l&GG?1reVL^X*a31r9ECI(w@Wgldkeby}z8mGGEd?Qa-=) z{nsw#V8TSEBUAu@E(rhtn15Z$|5>hW>16jm! zD`{wHX-MtxT^Ogw%&yzwoJ0foEPHy-itnKjl{JF0bzMQGIaZV4f?~5H( z%W%0q6#RN^nnI2NrPmykz!>zpo{kLiUg>CMKNM%=?>GDV$Ct3Si#ijId20Q0>)Hrm3aROOoI>9o`PsYNeiEdefIz@u9fuVO6stG1_#QYkN#i1xm%0Gw)V=9RQ z-l-okU>AUnbc2AYZSt-wNT?AQ^82}@_h{A3Fc8a0LH387(1`ehJVwtVcvkr(e8@ye zB@_G7lPyq)xTc9DQ7HA;thmEKV8I@0^ne&`a8;f1;eOPKlKqlrRmFj6!+3>?d4C*| ziZ2M5)9DF3LFa9e_OCmU=1bxaO*8z(_i=F66^&mk0j237Xb%pan{6Q>Z-s&d-ANmH z?X4L^^mOMztK42B(MN(&|wNtA!!2 zAwkabOTyj&5}6y2_$gy9<59pRSQWTvA5nSDBmCh{fFo^*p{e;ON zN+%r%;8Bi%d@2?DSkD&(`#(boJm`6p6(CU8OJx5%t)6X&a+V&7KxZ%D6)KAmEgko* zz({CP?DLnJ$H@YCgg*F}`u7Vq0oVW1_UTLwhX<(WqIn+IkyJCxi;fUHBO;BTH}vL~ z2dBjKf=|ht(nx8#n|qh=bEKHyku@$3^3S#W7#b)UB1b@=dL9 zsvyIL#0g}8wE2`Yh>GswxJriThFJS2MAq~Jqb8s7SJ9hR0QfdqKi5dER zV|N`^#*7;I0_)7(?!DM~=p>iYIp_QZ3r?yAD?Oa;tGTKG%0Xt)@q_F%-otsn{$Qw^ z2(&C4Yw}pFY@$wVxtYudkNsc7y_Y0h7M`Z1&s5iMQcJ5e}l`GdFQc(mN*ebljD3$Q>NEjJp0-0xY&2a_%d|@Rj zCjLL%(<$75Zh*z5<}VjX_qVe-d3wEs&0`T54K(8|rsDXk4E?mux5*sr*x2YP%tMey z=3eIlK6*0f;Z7)J0+zO6K72q2WX#P(bli3# zR4FJW$o-bmU#R+KWQ+_V9XqH(!reL*r+|&Q!7!bcl#R#ACjT)$Jn5>#-T=2+BSE5y zc75XqLBGt@h`rfGtUmNQjp@$f{?>`QsvL4^6~DD~>zAopuM2_T1n&d4UNm|}2(Kh; z;3E23HNF>T<%CAAFFF}#lA2zcJ3LQ%UMS8PF~~I$4M{N^Z5Qo(E77WDL>Go}6@j@= zy_$MiA#o{sB|E!J8-g%zBj6t?KKGXt3dmqIaG8r=Eu_w)IRlfv64S>GPr$hllxbmf z=Z&-p!f^T)av+?2#|9Ucb}v!@z}|J~Olt1~kYN71*K>zR7NV!@sNfFk8+RZ$0OVTt zhQQ0(Zf^JH)g)&NrC4eUlC|A0_yk8f4eNcAU__HWGzFtp$(W=;4oH-!R%hd~uVuEzQLljUF#_q#D zs7C;2j6$?d*KcRjTYEfUoR$M}Gg}q+BAPAw&SAeMJQx77KU@tbWv8xv?}=;c6DvRc zqm)I)iE3Ud|E&QzGSEGiYe5D6-hDtPt=f1*7u2Cjrt&R>&Q`yq`QVcA@_WQ-6R6B- zdjTR`3_X4T%l?q((?vQY=D8mEJdn`K>s3vm`@_+gNoU~m$keCQj_H^8gBNS=bYbYh z$${=yBbRcn@~C*dy{}ck>X`Ly$}v|(Bl#!@omV3bx(D&hGk;s(iLL@)?0Z>v)h$0Vk7-n6olrBL4zn+Py&DmTel4I(NcF zVTlW(Gd~!7K^)faJw~HNRS?0BPhzuQ+Tk6*$MXwC@(Wcy9s zAX!B3-}Bm|&-999&CroH&}F*2-`>b}K-j=Y1@lL~;=&HN)922(V%V!FVd$RUcV!bC z$$S``Jc6yKZb|m+Ag7~vfS>djv{>nAal>{8*yeQ)Gtw-nKIHaXap#K0VrK>hmJUST zi{59$crp2G1LGK~0Ott|==Mx^%M7o!c(L;m@LDt}kyr~C2MxY@;ZL6Pw7T3h6C8XK z7`)vPdB-Dt_>N!aUh(*U^Ir5teiER|o_;^yW23sX3btT=^M1j2yG!ZjT+OBay&+Ly z_=+|30&RII2v#Rg_{Jbdgui4io8#?ap;@1|XN5bnXeGV;_otYdjEawd zNJ;pc_&07_TARBJO+jHDL?2SZ7b>H8G*;;0us{#j$pwomqQv-$c#0p^9mBnNuMwtm zPCWkE#O70TQP4$iW*_s_bzo6LyCC2671-dRYiQo&6&pq7*{8Q%M&~tRmTtRUyR|9m zE5YhXW?%@mDJPVUb z2Y!QM!7{ECzo|yYU|{PBdaV>lRnY-A?r@n|Qr1v#;)M8EAF(6IaotUn4Lcn^xfqK6 zI}>u;s}J@Ar9EuxWItu5A5UyDJmq@39F9_1efI)CowgiwMa}E$mvvZg4Jz!qU2Ih- z{QP@RXaAHNJSpu)y5I}b4GvvA&5!dbP?YNGqp>)8y<5iHzPV3`xx zqe;T}NN@(2&OY&{D*3?wu;}QsVOyH38X< z%`5HS(RZ~pi!s1N=|r%5y&i+DU`TV1x2?t(PY*>4O%Ko0ZVu0GnAO(51i+hWO&v-Ndxr^_{vC0 z54|hgBFE?dMjLyB_1_!M8-3?$yHwUwG;8wMV9bE=k4C=h6atq2YXgz%AM@@#agKP; z-R75b%16vv^Y&TkdHyKswvTZf=<+iBa^~!l1U|A`wx@ike zhcLMjY5m5sYx&x(_=mB{!~Q1f%8!)?t22P<7tfB+-U?y((}@EiY1=etChy#P>#yv3 z6KzbCK1zw!j+BTfr(0P(ge|qd#$}Q+f>X>5!busHapA~{}LLj1BlSu`%MCyF>7>i zj&0#;Co0cXYlb(LAHUrXeM3b(tP5kD>`&fp-opUvqzM;>BfPCG#-RP)YffVfR!DV$ zEHWDxDb3RBU%M?i_HLEC6M1NBjg_NuVE;5?qs2p*p9Z$l>iLJN=1BsjAJ?nkUg;7o z8EM^3aOalc6&1}E6Is|w_1d9avu>C|NE)XCUP%&FQH;CDD~ig?o@O)E=ygGpq%=Si zmm?!|m9jCgdPX_v41ADWbx=PFPCFrAz&1B*kKd*`)t96NKhdo>;R5`bgkp%cbRhCp z(Ui%sWdEGekmoe+$c-Lg9NFV2iX1F**)yB-z&d`6>`&bmRSPnjD`@jE+ku8{+(V@e zGw~0}QmkSi5)C8E>NZjqOzpP2aqgS_zNTXgYKEK)8rEtrj-*oM2&I^9M;!rvJoYXX0E6+g=RRW$y@k=oVs4=eATGimdw2UwT)n?sQszumfp z?Zplo{Epj}NA~X=hLmYJyaVzZG>zHmc`kDVq=Tx_zGf%c=zSk&-#425~#z0kLGFo<4Gicm2RqW(S%;-O4je zP**QYSg|E%YoOEwR&xu{oy6}&jwn<3)pSZtMkevYw2K>f)Cg*|^o7lgrk&cA)%rAx{M66TjUv!+Ev2D8^c&|2y z%-M){a>jSSuqnPCNZd-`ED5c0Ps zhGSj*59f7YUg1l9?LY%l*BXo&Iz~ib1NY!W;|vbX8h(RB%07x4lhFNJWVGyJrx=eQ zP>|SS*UX!ck0dO5Ru_0Dyo@&APIO@{($?1vAQj_xjH{V@5ONboKL#7s4_@-5$@o@e5f-|O^B?nI=$<^AMx@-O}Kp;7_2K`tjjM3aGv+;ndJm>h;ab z*b0U=o)Ug)DXMz4Owc~599WYAn*rWnF3Sq3&{(M_tnFD&ehIqDoVFfMBXcKeh`5AW zvzKCA#FB#VzR4%KAAl#A4V6wT7o@5*o)|(Yf_*?K)ocpx3$zg)B&)Ky+m}#H{Kbq~ z&0_8Bk2t88gpAk~gfN1K=QBb^BV$Y*dDt=U2c8P+Tcb~@lUTbWhZnBtCBSSOp?zc3 znsU3#3$nXvqF+fI`!_%`g_OokEIc71U}~@71Nspmumcj;n2&c=9uc(Al7zq!U|{4z z7x4Pi?Kug)Gsu1Xi|NQbXiZhKbfRdFE6XzELclx=XULR_+|v4)#JoenGa|-D(4|md z{n!=rR27~UxGNM>>cten#OuAkMLI9G#GYC0c)ASb;6jc9fsu2W{W(ZS8-!1}w$jTZ z80|NL1*j^TGMgV_<*{AJjAb-fJxbR7=X#;B|1nS1Ct0(Egm*y8Q9 zcE3c;t*R2XM#1T9O)xv@$eT@;c3$xB{Ba5^YDrl0^3dX_V3`y$M>bTT$x=0zSZ!0mPVK zUd?c1QX}h=F|E^vICQw-vCalDaM!o?4DI!(8MAA)-fEdLmd-xdgnxf6KVOHtu5dgI zW@Yd|n!ro7kQu;cL?dBoRNNW;x)rA-5?0P-{j3aLfei$C_D|)ecL)VaX{JJ4x4XrL z`s?dOOTmF`JyQ%No4w2_MiR!aJKBO3Jp%C!{{N<*McC$N*hm0?nTj8glmALTODL-S z|I%UqlE>0@gSGxA`>bazLoyVB+Og5~y!zNIvu~4SosjdxKwfcCmIyE+WiCrd!mGL@ zaQZ&VhS2d6PbwsC@$BCkCWO)h5A2)NqX&7y-$Z#ki~OT~QxV&8JQaPqSD|RX9;jQe zWIM3MqYSZ~V^F-H=ufA-m+7f>TN3;I_-^gx3O!WT$bPi0Ru@|H-sN-MhyeFo>NG=m zq{EhMiOy7sP(tx@9Q( zEZ_yJBZR~j^cl|Qmmkg}Z$aqrJL>pvN->Npi*FJ6K4h4&=RDWz?XK;0Ix_`s-Z#}} zYr-#8w>>efA)kzKdbGec_Lw7M)X010Y*MbSZTb|QGu`pfG5V*!=JR+W7+o!6@1b&Q zI-AFPYLkWOVy5=w1(H}Wyh#31$niOn_TQPJ*`l$hyqySTr{vI?W$e$i#bQJZkH>z~ z+&s?%;TCtIzT^W!5g4H(c*@v_Y2Y~oXYWR&Lldg|LtnSIeU`Tq4W9>;SEa*ugb~Ip zDYCl8a@4G^#L$YiX%R4OX*Pn&Hn5;M!(WK+;SUIG~Q015rhcNbtd<;-X9&8v)4ThLPm;&&qI#@D5Mg3T=an_4G zd9&~?37?&0dkBpAriN^|IYA;7C+nS<`>G*!`s>p3xQm1{i9O z1@)Sl`+NyM!GypPD~{HIV)D!!S0 z9I_(TUq?`9w4rOUpxRSF5I6by^?83)^FHGq343H0V9-izTzB9tLqA?CXnpiKRvsL{ zAy10DK@cKqyf532P`szR@#}Fd4~tagP_x^Lr3>)3Y>_3I*JQ>#R3i3?8dghzebXb2 zL^h<6y%4gO zJfJ=vXxnd8O`!2>+tUO`>F zcHD=CAuB* zG5p?EgQ~4hQ0n_Pcdu&=!c*Jf-bCTSifs-qLAQsyQozRFg@b1g1V2N)?34&B%*+G4 zMrY0&91k`HHpaHYp}y&z!N7GF@C3}0`Wf`>8n861j?Y~9^XI4SF3DJ<0os0y9>3x+ zbk)k`v_XxVZ}Kc%Atpq!21InBJQBNNj0SUbu~*u*mH8UJb=?M0eY{i)aoj0zC`f^< zC~?sK6^3Ov1t^0fZILfAGaO&Y1wzz6(t(eALejst-ag|A5*b%fgn>^L$kDmzb?7?x zs@?hP9S{(OgFlZS^Aj-gSi9tz<397Vp5C{@rDBi8De2_a8#6?_**2^?)E2fj^%rKx6}l(e?zh=;nZ@9X0Pmr^q@?Y ztRhY6G;I0j!s{8g7=nDA?6!oc)~5=jAH0UD>n%LPx~t9(6QJGF4ujzj&zD;MYU@YHaQAsPQqYud-b->P zd?PV)a4HdWCxHv%0MWW`&GLLO2HT}^p&i&};iog%i;9`oR|$DIDP5p&9CP!ie_K=H z#R!JCbC#X;BqKZHk*K9DOk8Of@a+VmX4_BBi>hgwd?0tI^?Yf`5r18W0g6?tLWfqt@wA=CYsndMWR=sy2 z_)$vc!RZ0wq@=)BX6m!a@UhUByr!O0TvlgjMz#PlG_(p8EmQHhHEsUvQPJS-S$O+( zRkFo-ne(w+eCutuU?ceZYAlfY3ljSD<&o7cgi1$Viv3L|7TW^SfcHuQSJ=F28!?Q? z>W~Z_!({jrUGkW++$VgPj@;)sSlR&W2nuNZ(DD~~lhx*g13yNpD7qS%E(%?Ue|^*j z`x>Vp7^npTT7gG%Rc2WMZeQc<7`7}6`niUnUov1DF9x0gvN zEUR&-1Vi1<$4%B%%->5ffbnphl<`}h)bIKUUxZwWcD%FR4WuBG2xn%mgH^j$Bw<~_ z;ver3!r*Ey!kLK4uN@xai??|dxSuut1&!3EVV+`V3}3P}yXYe==xl z%){c9xk9MnOnuRv;Zlxtr-3>A8B-cM4O71pSCrmX=6km&Bx7f4ycT67tszV1X0fLt zNjJ;5sPg+VjxJSOcz?fHf}K`NjMRigoM*X0Oh=H^*rAbJP+SIM<@$|~u?}}gfl5Nb zK^)k^p=h~W{E?bOb%?9iM+At{LQ`_7B>0Ft0V=q!s1>v0Zcp9=&0GguPzks=t9*2^p~-yH|Hurxlfzd!veR+8;C=CfvklFXcAX6OB1MZP!_QfA25(PSpr zB8&|ifCj)UZJLi{`W~*}gl+JW2Uj|4q4n>H-jZ?LjW3u^-;GcbY%Ye279!+`+xILT^H!O=dv}U<8py5YbyzL0GoW1F1!O zwFCZ0eip5WME*^{<1}y@7T;!W7XH^XGaouEW8Rfj8m9{ftuc%diX4t%%_JjYPF5jU zEP@LZ9wrp5^7_~cnu|kAMi)NYBB*CNHbDI4=Gw~j9_J-;M%Iy(7z)QaMDsaJVJYZ! ztgt}=%IKK(n;i3TWg~k-r_X2PyjiO81okg_OMCBKu1NT|4hPewGYPM%j>3IF&NBK} z=~1R-%4c|1T%aw>YmJ4s4qjfoTCLYAd4tVXQd=CXqG;r2gm zcmtG);Kd3FS@L*R)mB=n>PDf_w11#z#b-Y29*f6A+BJj0@ht=4E_zA(J17=|+FNBN zDOkr~nOf4RS<+W8Iqs5WgV@)}I0x8MB*U#aB@@y1Te}K|n?J?X!)DXqm+B~sSIP31 z{dcps?F>xp2oJJv(K+vt+_J2DlRj(KNWiU zrX;$qX|OSJ2v{#-m_vnL!l8Wvg2k}+&}Sl$tfyskDfh94#Yr(xlQ0X$RM1z%u)k$e z!9x7Cp+wk7P&tcRlGilA>{4~;6FtcK+=5U{A+Xy5U!5pwFPqsD@_c4P-HAFmL1Pjj9&&d@idaxhydW=Pu}NGD5Tvem1gQmLcnUTe=0RlWfhTl zOS-6$gaiqL&A0gmgMCE0*{%akI+K8~JUE8dA4aO+T(L(&1LQejlt+QWGi0wez^BQlH7_xY8Y9m7dHHh1L- z?T)&ik;>KLqH;V()fTrq9@!@`;z=gHV@x6#o#J%`MnWpT95jv~K|-qT?=8B|n?7*< zEMbXVPsXyoQrAn*R1hZUYq{8OQ;L0&RbXceEG56JI9BIJ%g7qi7%}hB^1Uo1wM5($ zzQkCM`M8I6)|S=8_l51t*eA9W$Fx+G+$9NA28UF~2HrIKW2gBds2uDYGYaH~iH+UAWn6!OG7+YC?)d?AqFY3IWY_JPHTyTZUN2D3xkc^d!3 z6#WKM0<+m(6_p<4Tfx(KEHWZ6KdrquSjv-xA9$SQmQ)Y%Latt*2O;U=`5X#e!X??_ zOoVcP*icNAYS#f0&YuTwC|`$lsu+VwLvus-y9r+=3<0anBtT8VepV-1q#7rJ8cr=D z^#JTi5kw3O46$XyL+U)%oYaw=d=kj1EQX%MB&pT{GoB8sSnSu_Q6%1EbEcPqCxhbg}3EP@;oX=oidvlb->cT(1ZUBL8D$r!~6*Xf7gAzxy;+F$Ft zu0-S@;YJDm@nhPUV%&I-fIiL<{yeEde_jPmx>n&|qRx7K<7@JQ8uu1h*4~J9ABM*x zG1_dkYf?!y#bAzjc|&#mqvIcd_?$I^4<*V`wb!Ghbu#hG5f7-0GDy6Iu}qVcwa;8B z5hz4^(AE**h@<%|+GE)yz;cN2NV38`hK7uNH;Rjd=D%j?qbqSUoFaN<2gI6*(J`r( z27r?~jVtX%@5h32Ubg9<0@R6PYjf!;XBQzTpm9pEj5bz{BtjTm7-!U-N~3p@gk{?C%K;nCWpsG9fj=g^>z(=pQx1ylfc^1f>2-f zf0=b8UIrdTN!=5Gc`p1>Sltqwyb|L9L+hRA`iojk?=V7}Q<+EheT2z2KtUMmg!P6< zj|9uH_Vb&JUrOrN6@gX$z+dA64YQgwFMtmFU?U7`*S#lA^$DDXGgE>f&n$1^B+T96 znn3z%J}p@rq-0xx(9XfR*J(8oU8{jk5c>=?&OiiAYe5Q5Pz@E=Bnb7M6+-f*`@Bs< z!@|ePc$IPJi*m;p=W8${tC?z-LFf{A!tsvMFu1dHC5T=W-)g)f*l)InBd(TnzQU~g z2W8yr*wFB1Xv**${ne&D{@Rf|K?zscTL-LEXj+8b`W~%($FK?_YbdjgtQfd{VMXk| zc6V@K^n3h*=qT>B+MJEM(OX;{_0}1?;-Scu_(ux4*hvnmMrkq8IKM@%L8s-qy9{Gl z?y)@MjkQw30!ePGZs3t`x>U(#)mnO}04#cnE2upu?IYxww={ z_a0b$>vG!%Q-ZJ9JGUz?+$hpj(vuo;ww=5VSt3++$s7~&CdlpI?>8xOydS_S|`(M=Nexa2Gxj5*vJ$bK-(lRLr!owpo54;z0^Jl{r&MIRlEgIT|q*?g;%NA@tb%#972ibIgBL zF0o_@z>b$mlV+IM_7`S#iLd?*B@s1*VYgOro3eI~b+V9Pe`IOTNiI*NNl&n5>KTrb zV}ju|duJWR)6h${MRiNJkJ?pjyo_To@>)*Gdn>gKSzJ)K8G?X~37iL0VnRN?Ugvu7 z3A#VNcEkENUW_6a=rNW~s)aSc7BECAft1BP2yl`6#4k}&o|sF8nY0&s0!{`4jFQlbIsM9SrO z!B5MKId>8|(^XI_8C4ou`3DNmX=?Snr%oZnbwj%T@t|ZJZjjaHy*c<7&TZKapH*oN ze2!6YshpP50wmoZuL63HmsXLQHXOqNE&-$g(WLj9ciwh7312)#@=)S$n9Wi06(k=2 z!k$qy{BW-`-?}X2?Fw($lcxZKaG+wT8RuS*`9Aepv3bBpeI!zcRf`=XtZ@Kbs2)%e zC#!rcSyb&dQE9+s5Yb$l#=H=4Q^!FNVL(d0Z5e1Z;$}@Za{WYX_F)fZNw0d1cYyG8 zN^^NZjuBgBU?3B%(pa0W#tNPYo++5uh(dma3bTkz{giwEcW z;#z9R-6ghGhG-TFnjo%_$fA(bk{MK}k)xye*aj!waPzvWFhN_`9GS>^Db!ch%iA205(|9p6+0UikFYQsLo)V4`icMo!0!$a(pWhVYl>3rI~l}qTAIOr z&Y$7LpVMf`KZ$>@0hG3V`RnjqoAb)q)qF#OrM-%V80p`X#lJ0b?w0(ZbX6P5{&sHm z>PNN&J!@%0y=3cPYQBge@JQ!fxLz&1QB-Z5GqJAs70!%9m5=Ga?_gusmQ3&U zDH$7)$lqyZd+5ak5yD5~>t{KhV-*!QWX^BotcvO1hZllnrTfNxzsnm97E$Cev8=Ca7SIKnc65LYaGf`-b*iE9oyUt7jrCQSik&b{Ar+Ak9qWe48s3)6DF))n#5oSzw8NA^1nJ)Dy)HC zKP)30a^b>o2S<_fjj?-)sT6ee5uGCyJ~=wC zvRNXEsW912b#s9EC&~RvD5kqVwt_ADMUv&!_xN-9+&hfDe6~D|OE*s_SZr^c1j#CTPO2Q+m1_Ja?_a>EB+)*mXt0``P2xv#2rr z1m3dT(_GdPZ@hdY{;x>-40u6bdb}uoydOolH@;s1hCnwDnoSpxi}?s=r3v!xFwXRE z$xd*Hiwl)mnxJ2>kz#UZJX;nuLMS>~+h5r;;32%3l`g}!f-DEm5RhUk5zwUdW6*`R*WooKf*P1CZlzejFv zM&zN{m>}h?y`-)=I5$Qi@H3oGp$)wQ*D~w`#Eg+LU0)Io68n;88@XJM(HH;v-w|Yd z3Z0T=v))S<kRj2u;E&nhy(eWn zfj}KdrD%}Xu#1spf`B)#B9g{5cvj||b^@S@z=$vrQXWHH84L&ei|7KY{$Ry5w?u#A z5+_(Z zi2O1#N9=OAgh8wc}Pxb5L&#B74{4qnJvOSF#&cYUZbSf3uTK{y_cP;)whI$vi? z)>Z$grNThVCZTR~luz0xO_NfTl7;;9qF5sw=aQC1f>6z4rhTxd8uhZ7{}OXMRJ?cU zCUQ+55Zr~$>gbYXAVfV-nx7n~Q49nE7os^}16-b_&l#uQq6qGgIr=h7q}ytO={vQP zF%XMJPRUnokH&?*P{91&B9afetOpFKbELJOl1rlmMcN-!&wD`XD+ z@Hl)*7-5<}^*shVNZAE?PS=C&UYYV&vRkITU-`7y(W^n*FyT@U_@^FE$EnoNJFcs2 zd#W&|DqmHSzW^%jZ*@U=OtGpYkJ{wnZ6Ux7-yEkRF4uvCL9QoFaC#zph!e8EvV zjEmBMqYq51EH}R>HCId5Bs#VKHRvsBk-D zIMmJumWyrnHqg7#&5&liL;+*!S_oxX{OLoJ6qcz1H;Cp20oV7j5Lq_B`Yy@u0QdB3xbq5;l{1NQ8~FN{Og5Nw2rk3t6rg1d>x^ z71L+M?wBfgaO_6iyJ|}1q`BBbZKD%PuFLym#rd1{=~D??h-YuD(F0ai!{d7RJ*?;w zx6n0roxC&k9%LHT27J|2A$z;QafTD2_rSW=aW=Rz_fP8#6Y@g(j}(Hc*c`QtksTDu zH43K|-jRWK)T3+)d3NW}hm`BG(O*2|z}A&?5+b@s2_~j{6bB&Lt)Au2v0J5_RGTdZ z9^!#mV4X!(=cL2EPsvS-DUZTWAyaC(QUC#PUqxpXv2v(aD?>vtoWdqiGNQ5rc-^p`6omM;FF`3D%O)e|JvbYdnA zcDbOx2h*zZP%p`sJ2Ht7z7%F!Z=4RJxg`y_b`bG4u@|LebC>)mSwfO#oc$iI@(xUI zs8OD2@;DICSMYJDK+|0C>O)9 z8`GDa%M5-rZ1z-r1z9PQL!%1ERbC{p(Wr;%fTSA`P=&D3j^r z7QOauIcZxT#BgumUo#4E&vejZwMvU)N^nJyhUI)JM>8zAS8+ghn+Bk_?Gw5^L_8WP ze``TF>(v_F1}0R36t=o?>Y?FlOO%u}dm6L5ryEzR8z9p;NU0Y53230?`EzZ2tA{|E zYnbPtp=LyU=zC%%*y!)={fjh&^q(Nws8{}@hQpEct2<+%;}^NGuy1pf1-2S@$e2E) zf+Z{`^*{~z{&z2&0rK>jU)gYV!uG?1!E}ezgUC&ysv>9DS?tpl0cMdE+65!`HX_eM zU7|E6JY~cvjd{1z3^sg`Tu6M`t`Ufd6ZN|LDk>8`|19{*MXCd9)B2 ztHj?LH`Cu3|F>T&T2^Y67Y+pqU;w~>4D+Yb?EmHND#J>#8j{U7bA`j?WGJ^eq0Ln^m0Eqwi_g{X7 z%gKnsL1X_%iVsd)Oi1BprvHyY{z%>d{Q?_9`niF!6H|BmDUn0|j{(hZ`FsEXV4&hc z{7PoqQyRQdII5W6*^!|yanfK)%#cy_dDwH16lFm${`rDFn>hQveh!>x!h?K0&klmz$!2IVHe<$rUO)){B^1#ifZpVhwSZP-&bk;e->xL^F<+$HW`ByYP-wu7)U{Z%{GkLK znnR+vPG^1;w=5toq9!~svj^Kh>sJEUoPNuT?|l=JdJ6R{l*kxgBl;i^JIis*EiTu% zn_zmtkA`$T`x0kW+?B*u5}%GB4+VJ@WuxSt*#CG6t8# zih*@nGm;t2`-l>EFU8RS>{rYX>jUhNLw!hIF-0q)z12+-8d7~;%cV(j)%v=@?o2p0 z=<@KpX(=fQ9rXuTff@pUEm*r5-BC8?LJiD7{1ls_PrL6^%flngPinEEW)6@Yg47;j7Rg|lARnL6(%wj_pkGchl-{4MTW=`s>45^4=IHZsW;_nyd< zUUf=f(ewV#Lv({ZC`Vjriqo+ph%Hcuu^@w46bE5(&?E~O#?!JRU}fNqNQBZDJ{pWt z(}1KE=Nxe(*iETYc?+{$+0jBnO1Ma$vne|Fg$V3Tg-_U31sxy8T% z-=ufCMx3aLD7fJ*i+BUBQtHOZ)9nE*@Cd>V`tqzSNl1Tk3C*%NFWcF$r7 zFKxhw@%Oum!$tUok~Pt$f0%*maoaZ?Yi?BLbf-D+1zAfi^D)1)BpLStS1Fe(6kyj5 ze~~9scDStmp^nYF?uHosBRB7LJ?t=le`=V(>CeF#`&Ttft|SrX#V|g}0+|E|@iN8r zubmD+qeY3d3o&+whjUFCAP#WUKnSQynK4ydjrr5dy9Xt0VyT4@aYkA(6%%r$lhyX3 zO|i9Jexn%LsviCE6P!i+=XT6Z1y>(Ofim3PAzMeLr8fVHXlclCK1lDHNW&OA@l&Cg zxJRDQv@39-6~K1U{VD*{Ifx;uKp*hC)i+TjyS|`PA54{I98^DtBtTqPMyOgqFW~>J zF(%-wugv+85LJN%0HFVK^8ar!LNllTXovn!pY@liJGKk-h$B1kF9bGNX4#FLc>BS$ zmlLZXkU~SGKtD~bw2)h>@vNRx%RjGM#WP5(`Lavn;*S5Yw>9wo@s*9K=^J~eTXE$T zVT)TY!|e7#QsS8(ecaX1yO8*`svH6`vp@efiCN<$@aG;_0IiDFZzMwoX<3t?H$as2 za=^Ie`G?7#K`5)xVG5rdBln!2N@KZ9u>_Ucp~51H2h(&aI9>>8j3>B8JZC{#NUJEo zvHNd>EmN1}SpOaIr=>db@*};Z>F&up?X!BSfm^TDD4M@Bme(~jBet*>Y39iA6Tz84 zfBV!5ED62T{bazL)o$^!iTBQ5!*=3ug>b$Md%?7fV^-ap*_VS{rbVjngifN=Bbamt z@nL1`EocrW)0QCt_v8D)*ne59;5Hi-GTe!i4kTPBj}Nw8_&nO=JmGD83p7Ue)8eDX zi??aJR{Pq$xsU)|(Ulj^#&77v4HSP*$}6q-f+Qcvv}>#8L8fxr4F#5XfYr?- z7C8Ur3)-W$N0SDo1Q%5UmW-G7(>w_2xHrB5ZQmjjN})9TjBVNRMVVG~QFXff6=@wdw4K^wr$9)XV|rPQ?x>M%w+a z-p(}~%B_v#5ATq}E^=-=CZ}kGluhH5k}*V~#%4Fh7-Ja13^7KbLP=;Vr=}#89Fn($ z7;MLsA)-;q6d{M?Y;T8ppE1fzx%S?l-VbxlH6P}8{qJ?(>sf34uV<|_rJMjWi03ak zd(QQzbcc7$2>orjIfmFT`e}Df=rLxR`?}-BdqM@$nZ`5K!jSSaJ)6J4D-yH9Jp~(cC%-m-mY~Hvpq?-H)IW4`b97`G z^hyEZ?N}eWN_@T}_4tIEbqI1!%fxMqsP4h18j&_+WLtw+xyRyA-6n}Y_TnEEXFr@q zo_*cXqLx8#t)y;x7hKdQD-ow$o{$qGeX~mPy!U<@cqxc1~EyPJ&zVWv< zNP_ayULUGbgtO@BJ(l;Kd7;q*GKpq2wb?M$jkF;*IgJ^qM7J%PLHjj!;WdS9gXD~< zGPv@x`=4FVSu^wDG2bEfL zVRGBl`^03m-nV5UB>6$4de=+LsdDB64CJ!OIpCIHLH5qsdrFet9RwhvT}(+3b|?hq zD4;K`tE3}X5Nq?g&2mdiDGYkv-Dn~uDO|>Szg7BDYT-!M1+q)s-iL8s7ZGJ?cKmt! z;&F#hz@h7BJYE5rA>Vjd2sHjUV13(Z(vBRf;6bPHSWL2{hWtaW!oCDC~P*2pZm zXb0_jj)98Ed}5LCSq~XZ;lvC{OoUF@*tlqdGOEbZ8S%4;;T=zS5AZIzwv5L+WLu&Eu46vV&b+hIlroHQ#)H*s6tCEP+cqRwL_F(puKV-_;yjlBd%^ za^i~#G`a&*KgXx)(6lKs?=-QyTJ^G8s;ZZQiW}j{uFWUXT;z@zMI)OJXb}{~^l~N7 zH>*4i*jaM%aVo+`P4B8=@K&7SJh5fHjRwy&9&Xkx$eR&{3tShXI{2~SxkLK?*+E1Xp?^BHd0N8LyYNz%Cw#Z9 z{ipnyb-#!C1Sp1nT6+5|8f7Qz8dZiKT?|H=U43?Km=~UL#!)_(B8_@Q)lDQ67wGBo zU(1|n_p*UaPZAXws8%ZK&nxwXJ}Ifr1$x^>{hIPW8jf_PSnuwF7Po|z_bm!on6}z_ zjUo*@+h(GUMKY`7uZBkKDhCj0UMZLN^lvi=N{SRi-r0WpaJzdyB~R*Fj9r|L{E?ls z)~rRB4_J*?1HzOfdo@S*a%vfBWWd>2GJJ4S3%)15t2H3h;@2;cm3evh=b&A|Itr30 zafW0y`B9rRvqQ%zeCfk_zhuVxQz+xsp320XGpM2}tv)!ved-Rk4r9qI9n^$NXKZce zk@@7t5<+RmvjOFKc;v~3Ljv^n%+X`a3Pqku1y@9hs!hJo^kedvVb7$3Wsr}`zK6pT za-l`wi;u5%I}!*K-bKfb^%DIj{N?Y5FOi2YoY{qdnr0UNoNIKme1nj~RN%>Y^C-+4 zIbD&-i{@g8111Q0M*Uo}z;J?k<6-A}m1nJLZH|k*u4ORZ1RRXMI%+gIpDMSTT%UB! zb3lK@B{4}j@Qv4 z&y}lWY4=Jk7;}S*vI^9VJj5$eCCdLDN<42THTtWu{H3GF_ZrMmvXTioSSXEGg6<`~SFcn{yOI`}-5{7&Hlg%x`dP+I;50BsMfdk|>OK$guJCr3WEhr))itP=n*a^jw|tXqKq060$owt`p;0gv@# zU6Rg0c}toAouXAKEXw$aT~~Yr0Ki!Ug@);2ZQfG0-3LZzPi4_;&mR z2Kb920ElzZ4EKIV`&)f$XP0k<$j zFWL|9i6xTQlgKrb`)@R*fll7?af*LiZ`mHc$SIR4Lvbhoc!Tx7flHH)!wQ4FX!RzB zuwbmo_i|;huDa(eURDyhPjuugUS`A!?A!T{|4TH9_nk ze_Swq)yI1H%r^k5s}!ybvL2nB8T@g5!zt+ZMh?#Rs~wKISf#G2;~pS5sW~kG$8hlj Vh7as1tR5^5+y=dKTr2C>{{WmUky-!% literal 0 HcmV?d00001 diff --git a/openpype/hosts/photoshop/api/extension/host/index.jsx b/openpype/hosts/photoshop/api/extension/host/index.jsx index ffaa83dbcea..27e26962f28 100644 --- a/openpype/hosts/photoshop/api/extension/host/index.jsx +++ b/openpype/hosts/photoshop/api/extension/host/index.jsx @@ -117,35 +117,6 @@ function setBlendmode(layerName, blendModeName){ /** * Sets blendMode 'blendModeName' on a given 'layerName' **/ - var blendModeDict= {}; - - blendModeDict["colorBurn"] = BlendMode.COLORBURN; - blendModeDict["colorDodge"] = BlendMode.COLORDODGE; - blendModeDict["darken"] = BlendMode.DARKEN; - blendModeDict["darkerColor"] = BlendMode.DARKERCOLOR; - blendModeDict["difference"] = BlendMode.DIFFERENCE; - blendModeDict["dissolve"] = BlendMode.DISSOLVE; - blendModeDict["blendDivide"] = BlendMode.DIVIDE; - blendModeDict["exclusion"] = BlendMode.EXCLUSION; - blendModeDict["hardLight"] = BlendMode.HARDLIGHT; - blendModeDict["hardMix"] = BlendMode.HARDMIX; - blendModeDict["hue"] = BlendMode.HUE; - blendModeDict["lighten"] = BlendMode.LIGHTEN; - blendModeDict["lighterColor"] = BlendMode.LIGHTERCOLOR; - blendModeDict["linearBurn"] = BlendMode.LINEARBURN; - blendModeDict["linearDodge"] = BlendMode.LINEARDODGE; - blendModeDict["linearLight"] = BlendMode.LINEARLIGHT; - blendModeDict["luminosity"] = BlendMode.LUMINOSITY; - blendModeDict["multiply"] = BlendMode.MULTIPLY; - blendModeDict["normal"] = BlendMode.NORMAL; - blendModeDict["overlay"] = BlendMode.OVERLAY; - blendModeDict["passThrough"] = BlendMode.PASSTHROUGH; - blendModeDict["pinLight"] = BlendMode.PINLIGHT; - blendModeDict["saturation"] = BlendMode.SATURATION; - blendModeDict["screen"] = BlendMode.SCREEN; - blendModeDict["softLight"] = BlendMode.SOFTLIGHT; - blendModeDict["subtract"] = BlendMode.SUBTRACT; - blendModeDict["vividLight"] = BlendMode.VIVIDLIGHT; // search for the conresponding layer var layer = _go_through_layers(layerName, app.activeDocument); @@ -153,7 +124,7 @@ function setBlendmode(layerName, blendModeName){ if (layer==null){ return alert("Error Occured, Layer Not Found"); } - layer.blendMode = blendModeDict[blendModeName]; + layer.blendMode = eval('BlendMode.' + blendModeName.toUpperCase()); } function _go_through_layers(layerName, parentLayer){