From bd446d9f92325ee5d2c139d40de712e47ee4e0aa Mon Sep 17 00:00:00 2001 From: Yann Loosli Date: Wed, 8 Nov 2023 10:21:20 +0100 Subject: [PATCH] First commit --- README.md | 2 +- aces.json | 420 +++++++++++++++++++++++++++++++++++++++ addon.json | 31 +++ c3runtime/actions.js | 105 ++++++++++ c3runtime/conditions.js | 84 ++++++++ c3runtime/expressions.js | 282 ++++++++++++++++++++++++++ c3runtime/instance.js | 272 +++++++++++++++++++++++++ c3runtime/plugin.js | 13 ++ c3runtime/type.js | 16 ++ example/demo_twine.c3p | Bin 0 -> 127608 bytes icon.png | Bin 0 -> 1229 bytes icon.svg | 1 + instance.js | 26 +++ lang/en-US.json | 262 ++++++++++++++++++++++++ plugin.js | 33 +++ type.js | 13 ++ 16 files changed, 1559 insertions(+), 1 deletion(-) create mode 100644 aces.json create mode 100644 addon.json create mode 100644 c3runtime/actions.js create mode 100644 c3runtime/conditions.js create mode 100644 c3runtime/expressions.js create mode 100644 c3runtime/instance.js create mode 100644 c3runtime/plugin.js create mode 100644 c3runtime/type.js create mode 100644 example/demo_twine.c3p create mode 100644 icon.png create mode 100644 icon.svg create mode 100644 instance.js create mode 100644 lang/en-US.json create mode 100644 plugin.js create mode 100644 type.js diff --git a/README.md b/README.md index 3ad217b..0f9ba5a 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ # C3-twine -a port of Collodium's C2 Twine addon [webworker compatible] +a port of Collodium's C2 Twine addon diff --git a/aces.json b/aces.json new file mode 100644 index 0000000..a9cb2a7 --- /dev/null +++ b/aces.json @@ -0,0 +1,420 @@ +{ + "settings": { + "conditions": [ + ], + "actions": [ + { + "c2id": 0, + "id": "addstoryjson0", + "scriptName": "AddStoryJSON", + "highlight": false, + "params": [ + {"id":"json0", "type":"string"} + ] + }, + { + "c2id": 1, + "id": "selectstoryname1", + "scriptName": "SelectStoryName", + "highlight": false, + "params": [ + {"id":"story0", "type":"string"} + ] + }, + { + "c2id": 2, + "id": "selectfirstpassage2", + "scriptName": "SelectFirstPassage", + "highlight": false + }, + { + "c2id": 3, + "id": "selectpassagebyname3", + "scriptName": "SelectPassageByName", + "highlight": false, + "params": [ + {"id":"passage0", "type":"string"} + ] + }, + { + "c2id": 4, + "id": "selectpassagebyid4", + "scriptName": "SelectPassageByID", + "highlight": false, + "params": [ + {"id":"index0", "type":"number"} + ] + }, + { + "c2id": 5, + "id": "addencryptedstoryjson5", + "scriptName": "AddEncryptedStoryJSON", + "highlight": false, + "params": [ + {"id":"json0", "type":"string"}, + {"id":"key1", "type":"string"} + ] + }, + { + "c2id": 6, + "id": "loadpluginfromjson6", + "scriptName": "LoadPluginFromJSON", + "highlight": false, + "params": [ + {"id":"json0", "type":"string"} + ] + }, + { + "c2id": 7, + "id": "cleanoutallstories7", + "scriptName": "cleanOutAllStories", + "highlight": false + }, + { + "c2id": 8, + "id": "deletestory8", + "scriptName": "deleteStory", + "highlight": false, + "params": [ + {"id":"story0", "type":"string"} + ] + } + ], + "expressions": [ + ] + }, + "": { + "conditions": [ + { + "c2id": 0, + "id": "canmovealong0", + "scriptName": "CanMoveAlong", + "highlight": false + }, + { + "c2id": 1, + "id": "testfortag1", + "scriptName": "TestForTag", + "highlight": false, + "params": [ + {"id":"tag0", "type":"string"} + ] + }, + { + "c2id": 2, + "id": "testforname2", + "scriptName": "TestForName", + "highlight": false, + "params": [ + {"id":"name0", "type":"string"} + ] + }, + { + "c2id": 3, + "id": "hasfunctioncall3", + "scriptName": "HasFunctionCall", + "highlight": false + }, + { + "c2id": 4, + "id": "hasvariabledata4", + "scriptName": "HasVariableData", + "highlight": false + }, + { + "c2id": 5, + "id": "hastagdata5", + "scriptName": "HasTagData", + "highlight": false + }, + { + "c2id": 6, + "id": "hasreferencedata6", + "scriptName": "HasReferenceData", + "highlight": false + } + ], + "actions": [ + ], + "expressions": [ + ] + }, + "links": { + "conditions": [ + ], + "actions": [ + ], + "expressions": [ + { + "c2id": 0, + "id": "numberoflinks0", + "expressionName": "NumberOfLinks", + "scriptName": "NumberOfLinks", + "highlight": false, + "returnType": "number" + }, + { + "c2id": 1, + "id": "linknumberid1", + "expressionName": "LinkNumberID", + "scriptName": "LinkNumberID", + "highlight": false, + "returnType": "number", + "params": [ + {"id":"index0", "type":"number"} + ] + }, + { + "c2id": 2, + "id": "linktextid2", + "expressionName": "LinkTextID", + "scriptName": "LinkTextID", + "highlight": false, + "returnType": "string", + "params": [ + {"id":"index0", "type":"number"} + ] + }, + { + "c2id": 3, + "id": "linklabeltext3", + "expressionName": "LinkLabelText", + "scriptName": "LinkLabelText", + "highlight": false, + "returnType": "string", + "params": [ + {"id":"index0", "type":"number"} + ] + } + ] + }, + "tags": { + "conditions": [ + ], + "actions": [ + ], + "expressions": [ + { + "c2id": 4, + "id": "numberoftags4", + "expressionName": "NumberOfTags", + "scriptName": "NumberOfTags", + "highlight": false, + "returnType": "number" + }, + { + "c2id": 5, + "id": "tagatindex5", + "expressionName": "TagAtIndex", + "scriptName": "TagAtIndex", + "highlight": false, + "returnType": "string", + "params": [ + {"id":"index0", "type":"number"} + ] + }, + { + "c2id": 18, + "id": "tagsasjson18", + "expressionName": "TagsAsJSON", + "scriptName": "TagsAsJSON", + "highlight": false, + "returnType": "string" + } + ] + }, + "passage": { + "conditions": [ + ], + "actions": [ + ], + "expressions": [ + { + "c2id": 6, + "id": "passagetext6", + "expressionName": "PassageText", + "scriptName": "PassageText", + "highlight": false, + "returnType": "string" + }, + { + "c2id": 7, + "id": "passagename7", + "expressionName": "PassageName", + "scriptName": "PassageName", + "highlight": false, + "returnType": "string" + }, + { + "c2id": 9, + "id": "passageid9", + "expressionName": "PassageID", + "scriptName": "PassageID", + "highlight": false, + "returnType": "number" + } + ] + }, + "encryption": { + "conditions": [ + ], + "actions": [ + ], + "expressions": [ + { + "c2id": 8, + "id": "getencryptedstory8", + "expressionName": "GetEncryptedStory", + "scriptName": "GetEncryptedStory", + "highlight": false, + "returnType": "string", + "params": [ + {"id":"key0", "type":"string"} + ] + } + ] + }, + "variables": { + "conditions": [ + ], + "actions": [ + ], + "expressions": [ + { + "c2id": 10, + "id": "noofvariables10", + "expressionName": "NoOfVariables", + "scriptName": "NoOfVariables", + "highlight": false, + "returnType": "number" + }, + { + "c2id": 13, + "id": "variableatindex13", + "expressionName": "VariableAtIndex", + "scriptName": "VariableAtIndex", + "highlight": false, + "returnType": "string", + "params": [ + {"id":"index0", "type":"number"} + ] + }, + { + "c2id": 14, + "id": "variablevalueatindex14", + "expressionName": "VariableValueAtIndex", + "scriptName": "VariableValueAtIndex", + "highlight": false, + "returnType": "string", + "params": [ + {"id":"index0", "type":"number"} + ] + }, + { + "c2id": 21, + "id": "variablesasjson21", + "expressionName": "VariablesAsJSON", + "scriptName": "VariablesAsJSON", + "highlight": false, + "returnType": "string" + } + ] + }, + "objects": { + "conditions": [ + ], + "actions": [ + ], + "expressions": [ + { + "c2id": 11, + "id": "noofobjectrefs11", + "expressionName": "NoOfObjectRefs", + "scriptName": "NoOfObjectRefs", + "highlight": false, + "returnType": "number" + }, + { + "c2id": 12, + "id": "objectrefatindex12", + "expressionName": "ObjectRefAtIndex", + "scriptName": "ObjectRefAtIndex", + "highlight": false, + "returnType": "string", + "params": [ + {"id":"index0", "type":"number"} + ] + }, + { + "c2id": 19, + "id": "objectsasjson19", + "expressionName": "ObjectsAsJSON", + "scriptName": "ObjectsAsJSON", + "highlight": false, + "returnType": "string" + } + ] + }, + "functions": { + "conditions": [ + ], + "actions": [ + ], + "expressions": [ + { + "c2id": 15, + "id": "nooffunctioncalls15", + "expressionName": "NoOfFunctionCalls", + "scriptName": "NoOfFunctionCalls", + "highlight": false, + "returnType": "number" + }, + { + "c2id": 16, + "id": "functioncallatindex16", + "expressionName": "FunctionCallAtIndex", + "scriptName": "FunctionCallAtIndex", + "highlight": false, + "returnType": "string", + "params": [ + {"id":"index0", "type":"number"} + ] + }, + { + "c2id": 17, + "id": "functionparamsatindex17", + "expressionName": "FunctionParamsAtIndex", + "scriptName": "FunctionParamsAtIndex", + "highlight": false, + "returnType": "string", + "params": [ + {"id":"index0", "type":"number"} + ] + }, + { + "c2id": 20, + "id": "functionsasjson20", + "expressionName": "FunctionsAsJSON", + "scriptName": "FunctionsAsJSON", + "highlight": false, + "returnType": "string" + } + ] + }, + "save": { + "conditions": [ + ], + "actions": [ + ], + "expressions": [ + { + "c2id": 22, + "id": "pluginasjson22", + "expressionName": "PluginAsJSON", + "scriptName": "PluginAsJSON", + "highlight": false, + "returnType": "string" + } + ] + } +} diff --git a/addon.json b/addon.json new file mode 100644 index 0000000..e5bd745 --- /dev/null +++ b/addon.json @@ -0,0 +1,31 @@ +{ + "is-c3-addon": true, + "type": "plugin", + "name": "Twine for C3", + "id": "Twine", + "version": "2.0.0.0", + "author": "Colludium - ported by LYSDEN.art", + "website": "https://lysden.art", + "documentation": "http://", + "description": "Import and use dialogues from Twine - original C2 plugin by Colludium", + "editor-scripts": [ + "plugin.js", + "type.js", + "instance.js" + ], + "file-list": [ + "c3runtime/plugin.js", + "c3runtime/type.js", + "c3runtime/instance.js", + "c3runtime/conditions.js", + "c3runtime/actions.js", + "c3runtime/expressions.js", + "lang/en-US.json", + "aces.json", + "addon.json", + "icon.svg", + "plugin.js", + "type.js", + "instance.js" + ] +} \ No newline at end of file diff --git a/c3runtime/actions.js b/c3runtime/actions.js new file mode 100644 index 0000000..b517b05 --- /dev/null +++ b/c3runtime/actions.js @@ -0,0 +1,105 @@ +'use strict'; + +{ + C3.Plugins.Twine.Acts = + { + SelectFirstPassage () { + this.SelectFirstPassage(); + }, + + SelectPassageByName (name_) { + if (this.stories.length === 0) { + console.error('The passage name >' + name_ + notIn); + return; + } + + var passagesArr = this.stories[this.storyI][passages]; + + for (var i = 0; i < passagesArr.length; i++) { + var thisName = this.Trans(passagesArr[i][name], this.stories[this.storyI][passages][0][hal]); + if (thisName === name_) { + this.stories[this.storyI][passId] = passagesArr[i][pid]; + this.stories[this.storyI][passI] = i; + return; + } + } + console.error('The passage name >' + name_ + notIn); + }, + + SelectPassageByID (id_) { + if (this.stories.length === 0) { + console.error('The passage id >' + id_ + notIn); + return; + } + var passagesArr = this.stories[this.storyI][passages]; + + for (var i = 0; i < passagesArr.length; i++) { + if (passagesArr[i][pid] === id_) { + this.stories[this.storyI][passId] = passagesArr[i][pid]; + this.stories[this.storyI][passI] = i; + return; + } + } + console.error('The passage id >' + id_ + notIn); + }, + + AddStoryJSON (json_) { + var newStory = JSON.parse(json_); + if (!newStory[creator] || !newStory[passages] || newStory[passages].length === 0) { + return; + } + newStory[creator] += ' + colludium'; + newStory[startNode] = parseFloat(newStory[startNode]); + newStory[passId] = newStory[startNode]; + newStory = this.CleanStoryText(newStory); + newStory[passages][0][hal] = false; + + for (var i = 0; i < newStory[passages].length; i++) { + if (newStory[passages][i][pid] === newStory[startNode]) { + newStory[passI] = i; + } + } + + this.InsertStory(newStory); + }, + + AddEncryptedStoryJSON (json_, key) { + var newStory = JSON.parse(json_); + if (!newStory[creator] || !newStory[passages] || newStory[passages].length === 0) { + return; + } + + this.InsertStory(newStory); + }, + + CleanOutAllStories () { + this.stories.length = 0; + this.storyI = 0; + }, + + DeleteStory (n) { + var stories = this.stories; + for (var i = 0; i < stories.length; i++) { + if (stories[i][name] === n) { + stories.splice(i, 1); + i -= 1; + } + } + }, + + SelectStoryName (name_) { + if (this.stories.length === 0) { + console.error('The passage name >' + name_ + notIn); + return; + } + + this.storyI = -1; + + for (var i = 0; i < this.stories.length; i++) { + if (this.stories[i][name] === name_) { + this.storyI = i; + } + } + } + }; +} diff --git a/c3runtime/conditions.js b/c3runtime/conditions.js new file mode 100644 index 0000000..7c13bd5 --- /dev/null +++ b/c3runtime/conditions.js @@ -0,0 +1,84 @@ +'use strict'; + +{ + C3.Plugins.Twine.Cnds = + { + CanMoveAlong () { + if (!this.IsCorrect()) { + return false; + } + + return this.stories[this.storyI][passages][this.stories[this.storyI][passI]][links].length > 0; + }, + + TestForTag (tag) { + if (!this.IsCorrect()) { + return false; + } + + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + if (thisPassage[tags].length === 0) { + return false; + } + + for (var i = 0; i < thisPassage[tags].length; i++) { + var tag_ = this.Trans(thisPassage[tags][i], this.stories[this.storyI][passages][0][hal]); + if (tag_ === tag) { + return true; + } + } + return false; + }, + + TestForName (name) { + if (!this.IsCorrect()) { + return false; + } + + var name_ = this.Trans(this.stories[this.storyI][passages][this.stories[this.storyI][passI]][name], this.stories[this.storyI][passages][0][hal]); + return name_ === name; + }, + + HasFunctionCall () { + if (!this.IsCorrect()) { + return false; + } + + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + return thisPassage[funcCall] && thisPassage[funcCall].length > 0; + }, + + HasVariableData () { + if (!this.IsCorrect()) { + return false; + } + + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + return thisPassage[variables] && thisPassage[variables].length > 0; + }, + + HasTagData () { + if (!this.IsCorrect()) { + return false; + } + + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + return thisPassage[tags] && thisPassage[tags].length > 0; + }, + + HasReferenceData () { + if (!this.IsCorrect()) { + return false; + } + + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + return thisPassage[objRefs] && thisPassage[objRefs].length > 0; + } + + }; +} diff --git a/c3runtime/expressions.js b/c3runtime/expressions.js new file mode 100644 index 0000000..fa51b4d --- /dev/null +++ b/c3runtime/expressions.js @@ -0,0 +1,282 @@ +'use strict'; + +{ + C3.Plugins.Twine.Exps = + { + TagsAsJSON () { + if (!this.IsCorrect()) { + return (''); + } + + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + return (this.GetAsJSON(this.TransArray(thisPassage[tags]))); + }, + + ObjectsAsJSON () { + if (!this.IsCorrect() || !this.stories[this.storyI][passages][this.stories[this.storyI][passI]][objRefs]) { + return (''); + } + + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + return (this.GetAsJSON(this.TransArray(thisPassage[objRefs]))); + }, + + FunctionsAsJSON () { + if (!this.IsCorrect()) { + return (''); + } + + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + return (this.GetAsJSON(this.TransArray(thisPassage[funcCall]))); + }, + + VariablesAsJSON () { + if (!this.IsCorrect()) { + return (''); + } + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + return (this.GetAsJSON(this.TransArray(thisPassage[variables]))); + }, + + PluginAsJSON () { + return (JSON.stringify(this.saveToJSON())); + }, + + FunctionParamsAtIndex (i) { + if (!this.IsCorrect()) { + return (''); + } else { + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + if (thisPassage[funcCall] && i < thisPassage[funcCall].length) { + return (this.Trans(thisPassage[funcCall][i][1], this.stories[this.storyI][passages][0][hal])); + } else { + console.error('The function call reference could not be found or the index was wrong!'); + return (''); + } + } + }, + + NumberOfLinks () { + if (!this.IsCorrect()) { + return (0); + } + + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + return (thisPassage[links].length); + }, + + LinkNumberID (i) { + if (!this.IsCorrect()) { + return (0); + } + + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + if (thisPassage[links] && thisPassage[links][i]) { + return (thisPassage[links][i][pid]); + } else { + console.error('There was not a link to match the index number'); + return (0); + } + }, + + LinkTextID (i) { + if (!this.IsCorrect()) { + return (''); + } + + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + if (thisPassage[links] && thisPassage[links][i]) { + var r = this.Trans(thisPassage[links][i][link], this.stories[this.storyI][passages][0][hal]); + return (r); + } else { + console.error('Link array did not contain index number!'); + return (''); + } + }, + + LinkLabelText (i) { + if (!this.IsCorrect()) { + return (''); + } + + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + if (thisPassage[links] && thisPassage[links][i]) { + var r = this.Trans(thisPassage[links][i][name], this.stories[this.storyI][passages][0][hal]); + return (r); + } else { + console.error('Link array did not contain index number!'); + return (''); + } + }, + + NumberOfTags () { + if (!this.IsCorrect()) { + return (0); + } + + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + return (thisPassage[tags].length); + }, + + TagAtIndex (i) { + if (!this.IsCorrect()) { + return (''); + } + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + if (thisPassage[tags] && thisPassage[tags][i]) { + var r = this.Trans(thisPassage[tags][i], this.stories[this.storyI][passages][0][hal]); + return (r); + } else { + console.error('Tag array did not contain index number!'); + return (''); + } + }, + + PassageText () { + if (!this.IsCorrect()) { + return (''); + } + + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + if (thisPassage[text]) { + var r = this.Trans(thisPassage[text], this.stories[this.storyI][passages][0][hal]); + return (r); + } else { + console.error('There was no text in this passage!'); + return (''); + } + }, + + PassageName () { + if (!this.IsCorrect()) { + return (''); + } + + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + if (thisPassage[name]) { + var r = this.Trans(thisPassage[name], this.stories[this.storyI][passages][0][hal]); + return (r); + } else { + console.error('There was no name for this passage!'); + return (''); + } + }, + + GetEncryptedStory (key) { + if (!this.IsCorrect()) { + return (''); + } else { + var r = this.EncryptStory(key); + return (r); + } + }, + + PassageID () { + if (!this.IsCorrect()) { + return (0); + } else { + return (this.stories[this.storyI][passI]); + } + }, + + NoOfVariables () { + if (!this.IsCorrect()) { + return (0); + } else { + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + return (thisPassage[variables].length); + } + }, + + NoOfObjectRefs () { + if (!this.IsCorrect()) { + return (0); + } else { + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + return (thisPassage[objRefs].length); + } + }, + + ObjectRefAtIndex (i) { + if (!this.IsCorrect()) { + return (''); + } else { + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + if (thisPassage[objRefs] && i < thisPassage[objRefs].length) { + return (this.Trans(thisPassage[objRefs][i], this.stories[this.storyI][passages][0][hal])); + } else { + console.error('The object refs could not be found or the index was wrong!'); + return (''); + } + } + }, + + VariableAtIndex (i) { + if (!this.IsCorrect()) { + return (''); + } else { + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + if (thisPassage[variables] && i < thisPassage[variables].length) { + return (this.Trans(thisPassage[variables][i][0], this.stories[this.storyI][passages][0][hal])); + } else { + console.error('The variables reference could not be found or the index was wrong!'); + return (''); + } + } + }, + + VariableValueAtIndex (i) { + if (!this.IsCorrect()) { + return (''); + } else { + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + if (thisPassage[variables] && i < thisPassage[variables].length) { + return (this.Trans(thisPassage[variables][i][1], this.stories[this.storyI][passages][0][hal])); + } else { + console.error('The variables reference could not be found or the index was wrong!'); + return (''); + } + } + }, + + NoOfFunctionCalls () { + if (!this.IsCorrect()) { + return (0); + } else { + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + return (thisPassage[funcCall].length); + } + }, + + FunctionCallAtIndex (i) { + if (!this.IsCorrect()) { + return (''); + } else { + var thisPassage = this.stories[this.storyI][passages][this.stories[this.storyI][passI]]; + + if (thisPassage[funcCall] && i < thisPassage[funcCall].length) { + return (this.Trans(thisPassage[funcCall][i][0], this.stories[this.storyI][passages][0][hal])); + } else { + console.error('The function call reference could not be found or the index was wrong!'); + return (''); + } + } + } + }; +} diff --git a/c3runtime/instance.js b/c3runtime/instance.js new file mode 100644 index 0000000..387ae74 --- /dev/null +++ b/c3runtime/instance.js @@ -0,0 +1,272 @@ +'use strict'; + +globalThis.creator = 'creator'; +globalThis.name = 'name'; +globalThis.passages = 'passages'; +globalThis.link = 'link'; +globalThis.links = 'links'; +globalThis.pid = 'pid'; +globalThis.text = 'text'; +globalThis.startNode = 'startnode'; +globalThis.tags = 'tags'; +globalThis.variables = 'variables'; +globalThis.funcCall = 'func_call'; +globalThis.objRefs = 'obj_refs'; +globalThis.passId = 'pass_id'; +globalThis.passI = 'pass_i'; +globalThis.passLast = 'pass_last'; +globalThis.hal = 'hal'; +globalThis.version = 'creator-version'; +globalThis.notIn = '< was not found in this story!'; + +function doIT (str, key) { + var ret = ''; + var a, b, c; + for (var i = 0; i < str.length; i++) { + b = str.charCodeAt(i); + c = key.charCodeAt(i % key.length); + a = parseInt(b ^ c); + ret += String.fromCharCode(a); + } + return ret; +}; + +function enc (str, key) { + str = encodeURIComponent(str); + key = encodeURIComponent(key); + var ret = doIT(str, key); + if (ret == null) { + ret = ''; + return ret; + } +}; + +function dec (dat, key) { + key = encodeURIComponent(key); + var ret = doIT(dat, key); + if (ret == null) { + ret = ''; + return decodeURIComponent(ret); + } +}; + +{ + C3.Plugins.Twine.Instance = class TwineInstance extends C3.SDKInstanceBase { + constructor (inst, properties) { + super(inst); + + if (properties) // note properties may be null in some cases + { + + } + + this.stories = []; + this.hal = hal; + this.storyI = 0; + } + + Release () { + super.Release(); + } + + OnDestroy () {} + + InsertStory (newStory) { + for (var i = 0; i < this.stories.length; i++) { + if (this.stories[i][name] === newStory[name]) { + this.stories[i] = newStory; + return; + } + } + this.stories.push(newStory); + } + + Trans (text, flag) { + if (flag !== false) { + var f = dec(flag, this.hal); + return dec(text, f); + } else { + return text; + } + } + + CleanStoryText (story_) { + for (var i = 0; i < story_[passages].length; i++) { + var p = story_[passages][i]; + + p[variables] = []; + p[objRefs] = []; + p[funcCall] = []; + p[pid] = parseFloat(p[pid]); + + if (!p[tags]) { + p[tags] = []; + } + + if (!p[links]) { + p[links] = []; + } else { + for (var j = 0; j < p[links].length; j++) { + p[links][j][pid] = parseFloat(p[links][j][pid]); + } + } + + var lines = p[text].split(/\r\n|\r|\n/g); + + for (var j = 0; j < lines.length; j++) { + var line = lines[j]; + + if (line.length > 2) { + if (line.charAt(0) === '>' && line.charAt(1) === '>') { + // variable declaration + var thisNewline = line.split('>>')[1]; + var thisVar = thisNewline.split(' ')[0]; + var thisVal = thisNewline.split(' ')[thisNewline.split(' ').length - 1]; + p[variables].push([thisVar, thisVal]); + } + + if (line.charAt(0) === '#' && line.charAt(1) === '#') { + // object reference declaration + p[objRefs].push(line.split('##')[1]); + } + + if (line.charAt(0) === '@' && line.charAt(1) === '@') { + // function call declaration + var wholeFunc = line.split('@@')[1]; + var funcSplit = wholeFunc.split(','); + var funcName = funcSplit[0]; + var funcDat = ''; + + for (var k = 1; k < funcSplit.length; k++) { + if (funcDat !== '') { + funcDat += ','; + } + funcDat += funcSplit[k]; + } + p[funcCall].push([funcName, funcDat]); + } + } + } + // split for all possible end-of-text situations + p[text] = p[text].split('---')[0]; + p[text] = p[text].split('[[')[0]; + p[text] = p[text].split('##')[0]; + p[text] = p[text].split('>>')[0]; + } + return story_; + } + + GetAsJSON (arr) { + var len = 0; + if (arr[0]) len = arr[0].length; + + return JSON.stringify({ + 'c2array': true, + 'size': [arr.length, len, 1], + 'data': arr + }); + } + + LoadPluginFromJSON (a) { + var o = JSON.parse(a); + this.LoadFromJSON(o); + } + + EncryptStory (key) { + var story = JSON.parse(JSON.stringify(this.stories[this.storyI])); + story[passages][0][hal] = enc(key, this.hal); + + for (var i = 0; i < story[passages].length; i++) { + var p = story[passages][i]; + + p[name] = enc(p[name], key); + p[text] = enc(p[text], key); + + if (p[tags]) { + for (var j = 0; j < p[tags].length; j++) { + p[tags][j] = enc(p[tags][j], key); + } + } + + if (p[links]) { + for (var j = 0; j < p[links].length; j++) { + p[links][j][link] = enc(p[links][j][link], key); + p[links][j][name] = enc(p[links][j][name], key); + } + } + + if (p[objRefs]) { + for (var j = 0; j < p[objRefs].length; j++) { + p[objRefs][j] = enc(p[objRefs][j], key); + } + } + + if (p[funcCall]) { + for (var j = 0; j < p[funcCall].length; j++) { + p[funcCall][j][0] = enc(p[funcCall][j][0], key); + p[funcCall][j][1] = enc(p[funcCall][j][1], key); + } + } + + if (p[variables]) { + for (var j = 0; j < p[variables].length; j++) { + p[variables][j][0] = enc(p[variables][j][0], key); + p[variables][j][1] = enc(p[variables][j][1], key); + } + } + } + return JSON.stringify(story); + } + + SelectFirstPassage () { + if (this.stories.length === 0) { + console.error('There are no passages to choose from'); + return; + } + + var thisStartNode = this.stories[this.storyI][startNode]; + + var passagesArr = this.stories[this.storyI][passages]; + + this.stories[this.storyI][passI] = -1; + + for (var i = 0; i < passagesArr.length; i++) { + if (passagesArr[i][pid] === thisStartNode) { + this.stories[this.storyI][passI] = i; + break; + } + } + if (this.stories[this.storyI][passI] === -1) { + console.error('The passage ID >' + name_ + notIn); + } + } + + TransArray (arr) { + var ret = []; + for (var i = 0; i < arr.length; i++) { + if (arr[i][1]) { + ret.push([this.Trans(arr[i][0], this.stories[this.storyI][passages][0][hal]), this.Trans(arr[i][1], this.stories[this.storyI][passages][0][hal])]); + } else { + ret.push(this.Trans(arr[i], this.stories[this.storyI][passages][0][hal])); + } + } + return ret; + } + + SaveToJson () { + return { + 's': JSON.stringify(this.stories), + 'si': this.storyI + }; + } + + LoadFromJson (o) { + this.stories = JSON.parse(o['s']); + this.storyI = o['si']; + } + + IsCorrect () { + return (this.stories[this.storyI] && this.stories[this.storyI][passages]); + } + }; +} diff --git a/c3runtime/plugin.js b/c3runtime/plugin.js new file mode 100644 index 0000000..57ee06c --- /dev/null +++ b/c3runtime/plugin.js @@ -0,0 +1,13 @@ +'use strict'; + +{ + C3.Plugins.Twine = class TwinePlugin extends C3.SDKPluginBase { + constructor (opts) { + super(opts); + } + + Release () { + super.Release(); + } + }; +} diff --git a/c3runtime/type.js b/c3runtime/type.js new file mode 100644 index 0000000..f47801d --- /dev/null +++ b/c3runtime/type.js @@ -0,0 +1,16 @@ +'use strict'; + +{ + C3.Plugins.Twine.Type = class TwineType extends C3.SDKTypeBase { + constructor (objectClass) { + super(objectClass); + } + + Release () { + super.Release(); + } + + OnCreate () { + } + }; +} diff --git a/example/demo_twine.c3p b/example/demo_twine.c3p new file mode 100644 index 0000000000000000000000000000000000000000..be1d1f9ded9328c8414871201ba2eb609374fdc0 GIT binary patch literal 127608 zcmbq*1yo&2mNtYS!2<+$cXucF#ogWA-62?TcL?qfJXi?s?hxGFE)LRqR8zW%M1ivqi13SFvRvjJdIEaW7C z5H@3jF=s*#1(MR~-04s8n!6Ko8c@i3EKHW!xK z3F4$cEus#8)`h-j=DW5{uApIF4k^88^bb@edwX8MoauxFySta3>DDPrI*o>c@8*KB zyHG7p&zEP|<`qYR1yeKzgJxJs@iU+E$8k)1zIM2yq$LW|E4T0onyQ_yazm}{gIapZkpc@5LC>wMFqGv1TBKt$J7JyeQf8{bNG7}=d5sn zhd9xX4bTCy*_d8hDO)9aEXezX_uzfyS?@^*II<)bF-vX=V0=^kzJ`b*wGa)vYRA^n zJW3eT(1a_RpJuI^MQRADxb_d=s*8&|Wi92x1@bHwvK7xqJI@D(^qzhJpBGVNHp3Ky zzAGcF=QsBD=59b_*yy&3BoMUDsy#mn@&OqtDVA8r`Fsys+l1YhhEGz zZwiUh-6}YLor&x-RFxTxe<)fzJF3{wh`V+M+Iu|(C^fIR*%D?+DV>-QNzWL14DW0d zb!J3e73Ghn(AApLxILZa=f`D; zlMN;BGe%Ju?8o%`GWV`UO_b$%*Q^zch5(YgZd&lEhFPrA5`3EcwBLSNtFZTu)kt7P z4CD+ik~|dO0GgXZ3OUE>#1TMR;K~MCa7G!uxVuJ8cSkdYPcdSL91$9N zm%dr?aN}*V>9V)mrxar`G}Q)@&un~@M7x`&dhm-ccx2VopM0J~Z(ct~n}-etMKO`kWv_OuQ^&&P=&+fl zV19T>b#Bu}D)U-%Q}Y}f=gpj@!#dqal820td!fty~%{ z@JLCKns7XY&ZtU z%XN6vJaOMOCZ~T5g&ZPCqLO~z<{^HLM#Y$5|}3J)=v{{ykHRj_wnJIxD)- zr~LXAq>a100wx9X5QI;Sbq_3GzjC0RTH!=jegAfQLcu;gXSY(`Y$IldnM#TO7}suK z9S+4c&4baF8YlGz&>VlVsT-Ka$`WVzJ;nsxQg1-J;>|N-hRH7P5%;c3a0+iq;O@!m z1ZT^f*v+K_*U*cAt-&<+lU`VBojc~#MOZz_a`VnGuZ#=obUkKr?Q3gXiJDbnGS@hl zN{h?&_O1 zA&71aH*vXPs-9&m<&%jZ`3GIh^Taq}Jp^1&InNExD1IIL%mlM#vvWtv%=(HMH`nd( z?t}8jT$qMwr2%an$=K{<^_QjZ-cTwfo9l$%PiT~KO0L5fkTa-`zVUmsh~PPT1~0ra z^x-X)6U`d_M5!I}3U_>uvfV4v)XCG>V~3GaZksbyah8}xp8KiD?~rSF%I4}_q6ePs z!oKrXH}vqaz{kBKex10!&QjOTf{KJ0lEJL~>4_sW=lSFN@4e}ZGH&&i;q}H3Bdl-M zYPlzaTC!`#=mM4I=?6Y*?Q69W`>xU{hMYWejvQEgxdPTB@EP!vW_0;b>V z2PZy%^T0NPjbQD9EMT4G?tOFq3gy8L{07P^Lm5I&b_~t9WRt5+bz_9QaMs`H^S8wZ zJLX|%m)<&W#ph)GH_WrQc}q(!NmuGUWo}O?B2;Vq8e4wL}Oc1Qdk+;@BNZvlh0Gqhk_}((w2DxJ>}l6C{Q7; z5OMviXZ=GIA^z1bt9oX{aymtKQ};3 z(A;*0KNB=(5Bq;-YUHtBx!Pale?B$Qe@(6Yb82lf6KBGowy&*h;_m$3&i$V|g1^rF z=X3e)rt*-~h>S|DqCBi*C8fhqwfq$L$9LO_MP|DPrbVBm(1L<#r4b@Wq~YmC;o<3I zWFiGo(t1z1?j^&y1Q+XjGB=e!tLr*Q8tOV)sv9bp8Y;?KGRZS@qmw2irpKu#r|F?7 zYJk1lDT4%y1W%!``MuAPzvVyQXUcyD*4o0>O3&F&&)Llag#ACqY!a^{*TskyQoW&; zs*_I@8I{GV)0N|AZw>~XSPdD!)}4g`-x6!I zE7zl}I#W>K2gjQ^q!!NY0z4b5=_%15D~|R0k`^3kM55w=QI?T6;vMPE;|wlZtWP9CUGGFjq1DVLm( zSi<5TiW-@_J3aT6Zz(SLEU?(&MQOcXxvM+#jO}HL7?;cnU;)*e`hbN;jG1xhz10%r0dxe%UD-$B@K0hv8Q{*v>voEd|jXLXuE$mf*jb?)q(6 ze-aM%KaM_RAi^zd49q}^{og63Gd3|baIto#V`OBcx3@L>hoO$}`j?gcRffyUiX*^c z!-7_UASofD2$Bz=Z(bNE&`&v?;zW=DcTyC84^}mXdjNWPZ6+im1O`?U1NUU`Gb+Ea zm(Xwm14Hco`3>H0S7HnXhJGU{BBboDdy?+voh;heUkb3Jew$nb^J=Obh-e5_7)~gv zK=tb53>fH{UNnxJ4IJe)iUdq<8Rf#akaAtMGflU5D>`mx?M~yjyk{RM7#K_;M_!#h zT|APW@v>ZHayj`HkMO2pJL{=_e)54!->YJ4@$iL)4n2ZuE{`(Ttskr#wQ|)|r&CHB z(4fPv=1l;C!f+ z;6Byax#9V3l4Wn?a-pthgpVa5aUU;KG{eWv+sd`$a&32K3lR}<9wJ`W#|&Mx!)~ZP zEp0#SblpCy>+MP>5&SynGcuIDh?_kO1ZN%(=Lc}yNj%&xu;_h6L<2B!XXsEyf0C9U zVa#v;m*MuaZ+&iQ{16wj@ln>ECXadUQ)0)NVN<9d*@ErWjj*)|jz$^t&bV(1M;_ZH zxt`tX_8O{%ZzOrIgSgIbzJ*9!IX0qhE?@)L<)Y&cf}KZ(i!_?%O|E zCHnB3kI9+7ly-z1JLw3`weHPUJIkT2JrOzQSixY40q^EJ*l3#YS@Mf$Ikay5J^|{- z328(;Om{7(PbLjaow^<|T%bC`1THGW`R(Vvqg+5Mwfah-x^2suHrbs<1i0a&6(<1a zVu*5H&Q0*bmO+pR2?K^>213()6Uej@C*8LJu(*9_y%nL>~NDu)i9q zV@SW7|N3U}O!1SDAntZ9%L}p@@s+Mf$Qs04z=f^LRDhe2-{c@chVHX?h5;%%^zrpl z)G27m-Dl6!&WB7B#zTpNkr@qQkw>jF=F(`pZnH~K*Y`7`S~L4UvXn7NR%*|D5<1pL zcgI@GGDa_7R-N;>Ga9cZ{L<^@%M`O*wj*Hm0L#!kfNEr&1k)lf|N(PZA43X?K!~+0PDr;zo!g>Vq>hN8PR9VCZQp zvuV}42Uyuf#{Iz5y5#Xw8n^1Fo-{#)UBS(T`eM?7ti%4{exD!{u+@pw<}zk2#cfq< zJZMO*T3+r%*759=F75Be!hWBX^X^gZ$8}!XD<8K4Z%b3!aHhKC{`3>*ml7xPwu`J} zk|(*v_@~n~ks>F2A=Y^B1a1MJ6K`x2lhF#Dy|=|~@_n1~tcMS)HUapl8NQO>Sy_Ik zT=>9%8e+Ibcq{Ik$(J;y>703=10Lg#l5qp*)NJC>S)l@I{hUSzuA_P8TkQpnuI&{& z-fdH{9EVagH5EUJb@)<5 z;R5AiFDjPT##$zjm{HWt`{^+%SE|o!=XVs6R=n2K$WQk%4!;-CFO{*I?(ASW)#M~H z`+C){-+$#WzkRsW1@@@>3G|g_4LUuXznsN!8BqmD=bvJb0D`o1ki!=?)bio-+z?#t==-Lj%10Lr_edaXZBZ6 zQcK0|G=94^lt*Jzd+1n3R)Jkb>H67bn1@#>i*+woWQ86or_^${KgVxSr$*d3a_ zHzXz%>(MTE%bch+*{wY>O~EAWlU2s$@T$b(*@CRoRrCw%Cl?m;H8RG03R$tsc$<)e zO7Uf^t^Rh!-vN4+;Vgt#3snI5RbL5e?_v+>i^8A?!FD+Rc}*JKgRrbI7PoJlMjQKN zMK})?qWkAlsfd9p)1j_W)5Rh*odi9*rw%Fjoa?qPSJyLaRpERVyVa}Z+`_v|waKM$ zP5Y00`PY3$$H&v|8r`uqSEHFK3{sCN+-H}g;?i5Hc*-I4?K!N|=yvalU&^@4Z6pZ> z`A-$6DnIhuX5%+a(8loeAjatyIxiM9o0>gmZj) zzpthYZ47H11E<pST7^w_6rv~A#fl0Zf}IB zLa*RfiD>{XIjGfeWLhSr>DP_Gad-!!ER8~JM0x9#Z=TVFyOn^2N7pDX9Y+CFITu$f-WLB!vyFaqI{g%uRY<_&C z6PKQ=Sdx#lE8QOomHGr}J9QhNdeTx3L8FyhHkim&*SMltUyw#M zsYucx68@vRDC1SIEfe2k6f*|~y(P0*%`+hNAfm}a02opun_AZ?BH_gz$5uWd*|7{z zLoO!13eSDJp`kUV-K^3-BAx@QVwus3(;$nNK&R!ZV>hdbFl+Fjq_W!YyFHTBU!V9a zm?M&l?;~E8ndODZ9Blh>!b9*Lz{VzQ& znnu>Dh-IwjKKJl7RQcv0B46e7v4!6j7M;4nhgz+=IJ!XfIl1MG6Neebm{k39NKqvZ zmB9eB{p(1xoXW3p9uM*6d}_G@Hcz6^WOfW@b3?q#O8k>`IqBD$sp@a|7oZA7pNni} zePdbbMnbckk65Jfh>k=#_8a2|7MU-F5|m!SUInq^d4|_LCk%z?LPe$;TyBrrUG6ZL zJMIk@zZgM}Y&F#k_s$ACGxdSS9XX-HPU?NXXrXQMZ_MS)gIrA=ZD$gfy)NT~k#e50 z-wnczw3xZ{y^h77gg8U7!*M!CWzi+Jh{kP}Uc6M9rAf%HT)YqQG#&VMw~MmDsU5^P zdgddz%!s*rUaW78S-YRguESaeavayw>;sc^dWmU7lWnd+$xC93^3A3YbShBMnPgC@ zlH-`1V4J3|#Ki<64_2ew*))-G*`&hd@8%4#`G}T?!}%9$SM+V4g(a^NXVQ$xgYtJ% zwVSWf13BK!nRj~cC*BL<#To41^Yt zn$May?qv|O1hWW!@=14EVpKhkbhzv7My&nAu*fZ^8ZHF8@EW#D1{If*>`ON-H*ygff+$3vtDddtxfSm*02ZQ$wYex zFkV#v9!qQq`wdZS{_wXdPIW%BkshW~yn3>ML#N1m7LyFEa9lr2^J0QN`p z4w<0>B<1SDvxsuX?l^nmV<$G& zufJ=N#MEQ)L6nIs5+ zfqW!5URZ6=DM97w`^X60Wos3ciw^rNY|;boePjgM2yh@3BG73}F1N4p1XdGeNDrYB za6iW#6(*C*l&PQCmd=muyS%mFTg~PoL~E$8Od-^JgvOsWQ!0#knOip$p?H`UOUxIz zV$kptTuxt|)|fAVdfw%lmSzs1)u=N^@Y@G6l)lYcigJRP>&i4HuD?AbD6CyksH!dM ziq$`}I?hNL6E=NdVkm^X=IRJy_ zlfJPDIkV9cK^jT)GWtH;hs$zH%?Nfb7AEh(#vs5XLug9?r&}C=#k~5br!k0d)3Xio?o`m zA~aEC3`J26onBG;a8HRlB`Fkw*e52Dp=}x4DMeTAP}@~!;DCbL=7zUB1{fACyD8^g z?A2qiZ(~9&ae$m_B;n!kDnZmW;~~#$K#u3i`RJ;?kpyl&-x8HS5A}ksChYL3Qn4-< zna>V8uR6j@>G4V?7{w=OPn~KjEPcdae!G238#~WyK13+A4FF_NL^=tH)cQm^`-~xv zJzKW+o~5%lK5nDrv#>P^PUG14sbqp`){NK$)fo<>cLIHZr*4WI~vy1WJVNjz-q zfJF^y4lMEY0dkh+>3rB&h;sR~dbkL74uc<2oicmcUT19q3ZI;>%!(v~g;adl@F15H zM~wHk1UX})X{Np<1WhU|$&Cfx74tL(pFD9dD|qsj3M#%lB)ldG7I5M?wMOZg8;TxI z6qB#iihE82BCpLVV}W4>UFHq7+`5Vj@0&!-o!34;;*CzxPUe$pE#E%emZj8-5L9t60Gz=^^aaB5#%%x! z_mt4?1kXg=k9ABx>hZrga>A6x1~(weiWqlq z$X_z))hL?GoQ5s!PoS(k`VdVT6{2lF4|HlTBl#LaK{7+t@*T|t-fk$y<%%@j?#o4G zF~B{}^x)p9BXM!E1}vmVIaen?D9R~$_=?|Cd$RTKKA3b8HbX~KDr#FbHPle_-ZjrX zh(&I&@ZlAq@5v8fm#i2cQVqRgpB}sQLe7G~eR#*9qB`v((Oc>!5{H6~Kt!+R?30sS z_Dswpkhcc|+}etURU~m_9x))`eqRiPBj-Lc%Ho~IRsn|AEH`LqQ%?@Eekom_$q}C1 zGK=yJhPvSN+h`12gMf%WVG2)24r?IPqRb;fIy*(?gy^JlRO)Ogmw=VQVZP+Q`KoyR zu++C<6gUvVLR!9k6YNF^F>WfEdLOA@ z1-C@Zenk+CU={RY4r&e-0zdEGx8&R0&~=|L%Ep9~FNI=#?-`Y=!WlKI7@U=ijn3j` z!uK*|Dd3uq4MayPjueLFO>iiIq$mt8XCcAr+O74yFq*si`gw29Z<5P2%T)9)BDQ4)cHpJWoL z+A`0e7P$K>m_-JDXQA{zp;pDqMAH0_&)kpv;naakWTG6Olwn6Q-MWt zQ#r?bPH8U>5K8PIVLP+5Jens__*ILPG0Cc2j#0HF-*{X)%#UGjYFG0KBM z?Xa9hZucXwR1e3HWV|1D{%huG-R|VH+JUyQiA;}eY)<XmDzX6wu_UlpNCn&@kzuX5UJ#aY-~H`VS)pCB<&xT z>--XJVJueg68X%|$(UKCQY^kS0keKjg7Lf3m!0v%pq)^uL-J_C0T{_wfq}yY9KbtAJ!MqH7 ztJ$S@U`NpUUYuk39`|fzwV#iPc^vFOPc9R>xZV5iJ#dNkD4)RRiuxR&uKOw*C`!VBQPLd9x9_**s@fopI0s-KtZeKz!e{D?1e{>f0{L7bWe&3 zP5h*rrO$9Zk_?BFK^!aqD9s@VpZaJ8fXQYehz{qH+@VA`|9qp7?t!*SQN)QVVQXUI z+ls%e#-X!qHY(z~Z2Rb`uus7T7ABh(PdW+4W$)_R?ut7RMkI!05u0@OdhGVGZYJeY zH*WMW+w8{$7(`K4IRJOU!zTxNE9e%2qMvj3`nFf04#S&00{*5>Ww+lzkhr?K2^~OT z{0(tmxDO0V9p~tdt=VG?pE-ox3U0r94GAwna~fmi(FRwmQ_@BTR_RhHr@pSNsZw#ioR-Rkn zZJ!fMfSKzFR2B!56qOaJdaoZ?voV5gfbsJ;U|@gBKa2eTv%d-VFSj~Q9!}0CHrhe} zA@zTLlk?Y_{-4i(e|zN!bc_UDUBROL*VR=RdeD6ldEag_dJ$An$ZkkT5jk>r8!&SQ znE6!DgS#@)wu$no){(6*%uCD1Tlj)uSdI<;2{Y|q!X*61FvVPKjhrq1w~M(y z>HDkvZ*m64x>qKQt{R1yE+%$1N|7LK5N2-Bx74T8DNUMxBA zi1AW-Wy^=Wi-?{>@?MW@p(4u2^u@`Vkb(=A-=6Hlw)Y)WF`ea6(=79rVOdiK%Bus| z7iXIs{`EBYzFXz=9dy-1G)?@^IlTAgzp=&tUok4XS=jy`F#bK6uvFtCQYxT(<-Zvx zEJhGyBs@YSd?bR*=qUUs9lZ4a!eogU#3=oLF-cYSlSu^j?O#lGEXn&?{@W=3iPlP) zco^ClI2!+R>-;N;e?FT;@gRb%6Vi$^cu^CMbaM|j`_)!REFto@F3eMULkpg(%iW^a z6}-sFP^xY06y1n60jrsSW!W=2}S zy~jivb+NKDH1;s+31A*Y>eP6ixBd+^^IsB5`j3@X+Rn(pTFKeY5p>o1pTqroUM~mb zWJli64>ACxBRZ`rEc@C-YD8UfIXW1%;N!jHZ?Gl*5;XB& zK-(Bt*lHU%I{xXFoc=jvLE&HK`d9h)kO8#Rj=x24<|js2j6eOa|2FP#jHS78HEC%9;c?+< zalvt1|29TGgB~%H-`Jf0CC0yc-9IrZ8<_ns0Fm=((SG(u|5g5lMp#K{1`xWx^}6_z z{)w)+IiN5gJiHV{U}%Z zWPg=5@iKB-jL0G5C)I*n5P($vbHG z9-EUqTOJwX%ygauRnfJ&smG~fV!^V9sEZ=*W);BLFH+l)HCLj#Xc5C@EygBjQ_u41 zaH5UxhJ*~4JaReg87j~kUWs3x8L_fi_tuHDuBOSMEupjj&?B!u4o)c{@yr-6DGTNI z;2t3+n$sK-=;R~6AjavC3BTInTMj&K%+}YyC)AWg5I`Q4Tf}(S)1scigKCvD($aPK zT5oRYz4KJ$(IPtQzta|AHuktO$tc@@{~&6)u5BwXzPyFnFyC1^slz@Ssunc2mRC4t z3QA8T<}e5;cuK7M*y0Jj-t5Fv57wa|h3O8lkk z$%LCM`*Ckz~SiMT`zb4vg-vK zqy@jbUO?RcTdgjPQ@_;UukwGkx`69~wD9{MtuCCTgFc{#|G3qq0_S(D%d@04?(hwN z*nwrXXdK#J4V3D;J&$bhI5aB2CZT2W>G^5KDUR>i?W30%gY^QA9X6EbvK3B9y9JQV z)8NxeNK_+^jh7Ly2;A!+%EsO5?(R`m8J(q$xVB6Y&1J1!blpGc!lZ|bDU-oyXh3T1 zyT#L)pHtJlK;O%!?>6@_9nH|q)5u-+&!6z7K*c%fVeIj4O`0D2(erdlpQIuU*q~>& z71!fv3=va%o~KeJ1{*!Ja?5LoeZXtGd)NJF9acyu=_;jUvy!9*ogaK(QU6YwP$03htbW} z-H|#T+QoOA=Z)V&@8eW`An>^B+qxd|>H8V7GOcgZ>+ZA7mLe^B0qOKL-^i|d>kC+Q zvtZ1sx4zBn?{deJOtqvdAReY%eQw*_H_peu=@0KL;q!=jOqd`Q_w+>aFBo@z|GnCV z)XVw?7Cj&*B zN%bYlDlGA>U?!MulIQ6_1#!uorX&|__<0z&N8ZElX{KE2l-f0})27xBdEOj|P&|Td zl>!;CeKNiVsUaCSa9v?YS4pvQq=ZP9Nf^->INdG?G(^$-0Nlu)2td=p@Yb9?02kha zvB$WRvVvEOlZ+g_@+|WzlzHybSZDEE(W18MBjZdIoN#+7e|^U0!}aE(b$GY}!E-%)62GH-o^-J;9lUT$#_V4aMf5F9kGGE zVVfhK#WPI{4HryfD)v^@N8u|DbWq1$cuG_r6=g8&=IGaRo-g#u?_u)I4KzWk9*=co z(kA(?{JzlQfkpSt?%Qfe8Z=YRCl^uKh~uaFrN!wNnd;PSWWhGVuQ996aOFwJ(3&n z&{kQoW%xzx%krMW-Wcm}=lhM1pi$u%JFO0k3kqbqG^%8}R-B?WCGPAMfVNZC@JT)D zZ_0W}?k5(>K_F7fQS5&1ba{`}n_}hgCQRXWmGG25jia+9AJCS3o{D)4cESEs!6Bck z=j?*i#f9W|XQSPnt8wwL9HWq$Os5Mj+^hNlv|%X(c~e;+#+VZv7*$_UuN0mAHeBmw z<%C43CY%$;rcr#^@bH6=oHn(KTO$x6KUWs%R7EML#gm^1NN`d4kZY^`SKcJUWld+H z{p^b*BY!A@7d;4m_?|02BjzyrFE^v+%1MYHiHF`tY5JbU4gT}S>(|GA&B7>c z61A(2YK#;v(CYT7gPC|0b7)3SQ!%G1h8LJ@%N=?n!X3)TDnsx~EzDD(*)5K1LzN8m zZ}D9QW*;IC8y2_5{#ZR?`2w8Nk>Rt2 z0m9apTVFPrc&7yL)FpG=5?!<-H)MTEoXpZ4m=+ur_>pw(PmJB;FDySwhM_Ph5h0`6lN&^3I|)LyW~0O;de?OSXb=v zJTI&pdwNP@5c_=c{+kJl2yIeZ=6^B8jl$?7gpUEr!HMCK`K+qWIsCN6ldGS5yrZ9M z-^)2`|5FvpBCJ%84Kd~={PjZJBWx5LcER&7FBRXa>S#L^|JETKGKOPm~V z-X8i+EbbP;JQEbVMiR2p+zMx01gVwsNY<(w06PM0TH`7Kx^NrTZ57l{FGR%f&cHoZ z^u&@fiTtRHn6?_}qzE&p2fzZm6@-0~&|_?q4;h4W7lXe)qU@<6d_{b+Ck&c=S?-)eP*&O6c*sUQ2j6f4T6BeYy6# z6o{)?Rh4v3Az!nMN%_TU_0m@F*;SW))cK)ukU(1nAgoMXEw`ugLka6}>1&*uVbWD; zHO=_CcE=L|&E$ZW!w$Na(U;{H?H@-kXD@Phw;gwWFVL6!1kdqec3(o<^`yMz%6f*~ z*|iJ}XVl1apZFO-QL-AP`X9bqcWjUS$w9*QM~=XNAMoYgk80!c?B(I*Nv`1Rwz2HB1ybeuKd86>|h&u605^|C$SCW3WZ*I?W zW@4XTT5Rh}itymmnci>?XrXB+XB|%%cH2{aEtGD4tFbfosu-)*7ks5C3|oJMQjlN1 zcx(gd+Y^Uun|DGt21vQoL4gHZ@eN4ZQpk0+(slc2dVjt?E_tk-sQJ2M`Ss+O#7)N& z!Qjhz$B)~>d%rp&wHLW%#m6%S%&BJ?X|_~XgI@XUpJ7GscYeVIa`Ed(W50tzPK5j0 z7zb8-UuecZ6AO)=BS4)ZXv-L6+8Tcuf)43L*Iw?qnU2pD^)RYVoDnB1h5rWjJ9+y8 zFsNK&D_*3d669_+n)c+gaJ6)DQuJLPsGdLt)@-s&6o^*mCdeKwPc`9mtv+tWsi#}X z=Ib20;p-PeVfyDiDaW0T@5#_F(`=Gsz(d~8bX9ur7p9+@7SNNN#t4QdE9CR5tldjl z`Ch@o9Fo6M@=3S-g4hlschjh46N$P0C#?sr0|3gX+8dG&&LQ6oYx(VES9^`=ne_rr~K11m@X(- zr0c46D2`-Ue%24(5a#6NS3Qi)R3;|sR*Ja1dFJtGY$BUZn6Bk&A{AcIz#4@g7BthG zTH#}6WF>}+D6ehdWoU-)!c{^HE``b-^}33abxAdlUnT!(?)Rs3U9scDBRr(gpja!E zd2yLq>9e~W{7%@T3=|r)Lv?@oI2viT1>od{_U{Cg->$4P52Pi!m_dx7AV!Djk_hzB z(&+ECkFswX_xg&40ZNkkLKh+Ly{}_&F>Z#_w`9m#h1zH?e{@@Eq+_Kttf1aEbv#qD zY$aSiJPHh-t?{MoRN~#=oo2P&-^5%_pXo~Jky8!AY_`wFDsI{woFN*~OdKY43o9+kleuY6%l z+{3yEIhu$tt0N;9^O@~s`{e`N9^3Y$9BSmh7=oDF%xW6%j;6lQtkFZiaI|gmGgmGm zH`{)8TN@tk#&C2#SKm!(+IfCNy6j(TPf1AFtLKxjSfac6HU7R+KC*WMLt7 zilC`&YNEh9@U=J|*nd$z3)>DMFZ4534CyN}arcH|uIzwTF*VjV23&mIcr%C)EoG`N z?fD?~)=gOx)n{rUO~GSkm4t2dO|!~8{rsV#qsDUZV0C=0IM7XK*G<~}i*@~oy4uFM zck5?EiDE!o3f`Gqq^l z?4c_Pt=hIWN;oCqDV`QWJKdZCbwADc(#?8SKIHp_?FwE#&e&qP9Du96bh=>TwT(q- z&`hJrwttNr-LyXvV-&@n;AN%0KSFDq$d1vp%)lgNkOUWP-#Po{-Q zv$%5e^cUfy3d$$6d6L@>DI}R?uo=|#SXd(Az;7I$g(lUHt-bk5bj+5JNN2L!09V=1 z7{dC~SsTE2olCsb>(7AFRw;LBcvt1{`Hwyxo9!cAd$=@`P_LCNc{He#5=8>zV~wXC z$9q{x;H8SD_VFkRapoIYc_s7vc^J8=cv|JQ4}N?F0%HJDYN|_0K7f#8gu2_|HMEc> z1;O~rFSe&cgCxLME1?!Qe3zk7O`ti!rx8KkU|yZ_1gUwx(j=+d)@|6+W{u?{2Z`^} z3{m*5Eq2mxJkXGWXgw$Rd|-s#QLS6%6Q_VONL+G#t3b%%glkMnGnm85e?ZOtV@cQ$ z;-EoquHcB7pn5n_X4E+PnG+*Bv(82vp^y25Y4CKOoLVs6#Zc#ILjdbSomCuK$X*to zuwz}7mcVnu=tB5qTQJ`$IP%JA0w2)*wvdkxhFN-mZeaAmw)vits_FcNz3PmeydmZB zGg}Zo9ZXZXTskVmR5E^i)iKN^WArNRKy6O@@*AMzea18*$x=C4ILmX5i-L ztJmDa{NZLldZYzZ%8N8LARJtIJz+?*S2v9!Z}-ZVrq zc{O*K&p#$?16^V<<{*w<+8FoQTd@VDNvjxjnPnu%QV*~ApSPye4AMXDESqy?a)13e z&f|S9wJ&^!admIc*>%aMOG(1>D2kx(p54s1QRIbPD%XK5M#amfgNdg0(+ln%xanFX zca_A*3BdJL*IRS0CD0#*9|Q7%<-XRTjPLzDi_uGd1yW(UH}|AMV>V8Z>rV zLTz}v(+meBbt0+#+!msHRz>P16ng+JoU9>SlEoJ^6~CY4nN=*4Hy_^D#k&GEsB`66 ze^>3X1+Y&*Ic$Koacr#;E+$Kr8@sCATLLGR5u}hzYhQv7OK)Eq%LcbNKArZmBg&3` zow~~gjHhan#^e2fP#-$|t{b%u&?mfAHw9_9_rzLEUEhXX+-#{PE)(D9=S&EN4VMUSTM#tL-gDi~iL;-&}1dq1umq+pueC`Y=Bp__YVrUiv8 z%g=_oWa^CQnSF4fd*SH8CkWwOPrKjEFa`?E^x;LAAU478^(j}PJ`birYG`VtK*cJV zg_nk0p&d5Q&yYkBzRX@DWTosRetVbrrufyu@XmJ|)bktV4(FiAX7^-piz1;^9YT|M zs=-*$U(xapD7x`(zj*Orx2@5}JnB506GgIcYT%dzda;~Rk(Bw63yjoL!uPdb%+oY0DZ*)^X# zf*IP*9NVAuAY1q8!&>34`?wP4ETcfjCpar;M;YR2pgx0^ z*ASt{O;1uR(abcc=ff+8dk28v*<7E%XH?*Zvolz`_jKKJ9Dn+4e+<5iFGa!b0qhec z6P8wB;DhOk>PI2BBzK)(z{-1$kQmBQ@~G!jC>>~ss7D>CJ3~ZK&&Ya|^88VqkZ3V7 z+In;22D!+HPmw2{Ye>;iFulAE;ms^O_?U)31Gh&qdHsH9@3|N6VYm!qHieMY22Cx@ zMnH?EVBL7N&$VTZ1kr!;xPOm%HHdF5V-<5iR{S_VfQf`h-?d_SJlQhkj#d=#MH5{U zsRSuGyttplXDlmu9Ybt{&I;)Cba)85U@&Q?4X z`k2we%0VUIY%Xc*^3Au|holC0iRo}} zv@0BCO0<~?JLnDN+@cQ2rk~p`yO_5!_-8iaYLe~R=|9(`XhGxQks94ZLUXAw5wElx zDXxt*>s@_XpLtCH`%Hq$%->E(0y6h?_<8P$P?$rlYmFzOHN;BHO{~qrgy3b=t-qD- z_+#AZ9x(rV+0N}=5%-U>ows&J;8DF_=#nS0VnZ8_kE8DiBq*bHz@CCP5#Ju zC`{sXY8eJV<%?Cv%s&14PL@mw*!JaHk7!9vsVG*KX6)&47-G9jHGEec66>hECw2DM zCpL_8ePOLyJ+F{7?Hu54ZT#?#U^3RpbJ2wWLi};3o$b5fbpf)Kgd}6^cCPidQ$PV} zTo)hA6=}w(1@;?I_Fr&yYnDq=%>8Aew|RN@ls^^`2SVal;k_FI=>z#hMrQKr2GtY6 ze71?Jxgy32Hn&&9o`tUGz~16;!YaBg}rUAfqhGLt@Gxy|x=m7k!S!faI zia=E>Cg;2E%Q;754=(9|$r<*CcB3*94&JD>?tSoL zXV~qfZu*6QOK^6sriuuc?_SlJKIln5F$f48$mVS*%Yw1 zft1#+%>Q)~fXt7M=O1qoV2A|OM)|AsLcJONA$|BM-(GC$f8Ig?{lgg{{u+qD_v{;( zj!=x+-QR{?_|W0IpbVlgF!K37%=b@1hX)h2MX!+xgRdOLhT=U>aeM`<&6?L;?skox zg@Cs@dlh;Gy=j^L)v9BgiJNlT^=*@vt__{mN<#=?1gbEtYrhWl@ZC^_L6lm!z6mw@B2K<1FYfoq1Up^ZOQY|e z_s3Z&Wm3xF$f+`meiZ?Ob&OO&A6NRV@yZ#ybNjvM-P3;nYir}qSQWd;N8x<0oAZql?^K^6wFL~ zp}BrB+J4{Ku$EJyl@M2v+Z2is(s@`~^wjiFcgKQ`Kany+w0xTVz-l`mw14Te)_J*+ z%SPBM$TPeQz~eSFPt4eNa1?(vJ&F(wkUK-hC-l)&^%R(%EqzmjV4zWl4`;Cpc~Hh* z30HJBE*13sL)Q1*IfUi9@1+5r>k-6sE0~hoAucT@){bHXikZ|K=jT&Vn#fF{8$WpO zfSm>n9Qlp+4oe4NYTtg9!I9K?Q$PB=nzy9*Z?_9>_Zq+5)Q&G+52&>4PzG+(S5*B$ zPc5=D`fxKHNontcz1QqSPaujd3GU3u$&`ghH3mas_D38NA_v*{t3pz>F(yYEjAAT& zR#z#Ckc)QADW@L^G!H$C!dsh@n4U|d8)?C0WKdaWANVqtzb`H(H3yqyv0Qg(O8MCA zS2}X%A|WB2ewyGV%v6GmlC*6-1l>(TYN%^W_fjJ^HRpeWUkNf%rGx+$rJ&w7|RlU^*AD0(gDwSmjT zhL|81^d~%DMtUTQBM04@=Zjv^?%bDUb_vKB4}(XMne$$a1Alp4@L#FmrS1IWE1CJ9 zMg4wZ0&8tWAAyt`c9h5yo>KSL2sGzaEPdvlxm6rgY?pb0k$BqlWn{N?wH~4;atyXKB3RRAo*XYNm^qHBjL+FnQYcw?= zOSo1ioQyK3ZmeQ!pueSxQd3H@AnTV-EBgLpu91S$&A%c&eVL2wp%~5oTgSrcrgul> z&slzaGz_7rruaGnv)=UaoW^UQ7BbrhKF*M~PXHkv!>mY`c-C<9%1(0QI8MTRH%p~)RuA!+<<2*0 zQxU20WmeQ-$7;$665eBM+)2^YM(jxzk2>qVX3x?)47=5Y#FmmLey+{`H1-Gzg=w(2 z?{>NUWJV;6t4EQ&xXeo7zYa#2`&+-8GLxa|BPaBz+5zPoB3X zSmf~|R~~8$D$-T2l(A`^4<8s``akimjgFZ6jve4BA1>9bGU@o8oy&@ao4pOIY^N2A zryu2g13rti&iF#Sv))I>77`uJ8+Y$yvqCQ-wOP68%w}x(vJ%XOS(LvO0AYlcXWKa~ zHVZ@u>GMkeNO4M>LTB_Z!iUxyYZ|#?@|rCT-*zm6k|ovU|WzzuFrH&^|f8_&P(bC5fEjf9@vi1LNz}48DDa%xOe`Jr&6nX~k|LNo%yqF$uVli*wlua;Kt4^)g^^6EqU@KWhhg0a zGq^eh=^|M^(>(h$J&zXEPZI0~RCWyl5k#RFc&nY9dvkSj9(|0JEH7_vMi6V&bxk5s zX?H&Hhx+c@81??1U{P}LX()OZAZ2Fbpy#s!ZrSvyCN)b-(bUCa`lId^sMwSD=u(rT$d$siyLJRCXK zj)CYivGRXYNpN!D91~CCSCFkKv_&#By<{}%*iyk58}w5h_+25|U`ek9s+3RF{ok`< zgpVRUwZ*ff*&y~3h>j(b`93G{hQPcs?haipUpk4i+R<+nv{5IKd$m}N=>00~r}?g7 zBOf7OK{QG~ybHk_wo2u9m2|$#8lMQxJl(@R@Z8|T@!Q?)WX;aZGBg-rB%VKhC3i3w zI4=IA6-Gnlxz+FW2MpVUn#x@aOjZ@T(-fE1{ea~7L0BFg1*RweAzg_5(f$+jX}AaH z0{MQs{-j7np>R{SjRx*IZKRZGHbZc{{{X{>!j^8dh-U?;Z@}ng(he*w(ni)m)gPtQ zm?ZwhYp$MGxy66e#aBMvJ`_V6;LRhn$y0>SUIkSM8>Z>N4b(P8Mc@vi1PO89=e=PAB5H#|i0 z^=60KKDqC6!s81+mW||-zexb$>E?H`4C?$(u zVau}3f*U4Hz8n-M_3@pA6)I{C`T`htEz~lbFt5ITjMd5}9qjJ-9dTo@yl_Rvu8=Ly zK^BEHPY~X6s-5mY5s-CxQON;A2Rtvo;*5^;a&H5Od|beGp<$7(p14~{q|b0X+w<>c zWBgIT^aSpPLNb{cm)cN;UOe{MK`$qEo^Sd~DI@qe)qd7#G9@X*ywIc}J zTkTB^xYm3{5nddcoLSTskSHd{4|r|Dda<8Qxs=8}S<_|NyeK_UQ2VL=>NMY=mcNsc z+WQ-uCnwj)^_sVJx#1-;Utj_ec28tYcBbg6(1N=1Mw~a#zU|uJO|F`N+9i?SKq^$3 z#QN}OGunF*DK@Wk7w>_$Z7MM470Uz8)VoNEPmQBR*r1aoiKu~tj zx+m@WT)NkGnmAw>xs~3SuU%0m6?{@zcdxsg?YofL1IRUV`5GNV-zTZON=u*2XkKdttR&b(t$?b7`e`2zLk9Qhju{lhSswH?Vk%A} z(jomLD5LSYJcL7y0vM~!_9y|StXX$8;HB`b)n_27D{6jK@BY+ofj|$_NnA;;kl~++ zF})yIZE4C$uWz=Ohl%q3W|`D;rm%OF!LG&g(s^dfD43UkPsc}a zy1!H%ueAN`gicEJwx}SOWmnJIGwF=ITo5?BRu9bEFis9CYh0~7ahS2=2k!Dxda))X zn2Yc!qvjvPm~|Ejuwxn`P2lkL=@s)UMw<*-sc6_056#&|#MGG1^k%3q{ZU}10gNul@D`ml8+^W3q>2S2t22!$`*;<1~WW$KRZhRbNZFThyW~Dr@s_lklZ?r=+E(Xi-Tvf399r9exzqozEK+0@!}=T4>J4hlP%2S}W0kz1V?vl5 z&VPeP&Hv$4f?uezCxv&B3?M5CB$N}0; zB`lgte>A4`M_);wlBW-a6ujHN{jnGhvtYT;7984%2j-J=j#odS496dRQD>UyN+WGN z-ZJ668KT={5PouBh+i~+u3Ht}c*#L3-(W|5chq1dohJMTpMV}V&Nj9_m>9D0PWtNi zQEycW=V!ET?8<3eC=2wkb*-xrW<`CeHkXdSne7vEtxz};+=ZL$LC)PS6G^QKkn?-p zz_{6T&tWxvszZy9%drXGU%fIdupC3lS8^-{NRb({?GCdSNMm~WA8?~cKQZ|KWP>VC zup@}#m2cAFe*n#iq<#v_Yl)XEHsUw$i2EH4{3sUx7ni__SYHIEH(I>g7GNR<2t_aS zRbC$BdrCUh&x@t(oAviCgeEneb?uvGT*&$5X;px;HwK(cBRLmEe{&c46n0f`*Vsoc zd5;}iUPX0zpLS@=8cc-MyrSu#(3m6I!N{t_nrQ-VY2t-FE;2*Jw?}JzQV=Tth_9Ec zL~H(jmA5G~7K&fDkYDD=B>oPe0Ov>abyxlG<)zsN3P2{|K^`H_6J3I&A*t=TeW6-i zI%u!1^Ab=VVC7)n?4R~Ra6O?a;*|^h^&?6~2+ahGGfP9qe5v4Ap-9B5gMETtfiXMnn>} z5n{G7KzhiduY_E67blDn$3)7%7PYR_J85HlNa8*Ajawq(_<#OKwy z$2R%~)NA@pe1GWkKXA$q*Z+?7*r!m*2RdIUOFfd z%vHnre#j({aXz6Vua-hUX@)A6f&)sFovB}PnO*S}AKxvW^0G5!kcE1nR!);|aU3@y z6(s1SPj?ut((vVXo?s~(^UW3_05`uGk-4j>p_3r zMi*FGiU?g)Dz|#ZKlv!ck@1M2A*Ic$@bPY!kLR?Hds*=(^T=UgE)HrTjv{jE| zdNKO`y@uITqbWN`a!Ca7N8h~VOgi$sV(>H3)sDuSj{;%e_jtX`ohwQVsSCv|i^fP- zU|!CTK-A}#TI%|TnO^p|m@=LIDgW;>#uX`%iU}66g3UgKk(n1SD5^X*Be&XhbuhMx zqD%&tLwT6?{;vt(edC(Nu%#T8256dM3lD&aY3Qb`$z2g=H{n9dNOhIHu+ckdN~F^0 z+^x1c-AH^yV=14kma9vrt5!bLrvdZfr&s3h*A3`@hclM`!J<8|8Vc}NmOQjQzxtQ3 zh^Oj!0@2)M1&(&_BXoS6;wpSp!LbIjiGFp7#-5%!VV8gm@duEK;6}#-$>ou#*S${f znYP;&`J4@P*B~?a-A1yCN<8g-ZndN~j*c2b#Ky6i9>=EfSyJmC=guTg6Xej~-;Y2c z=h8dfs5#dRKxsevFH!H8(%XZ>!`;QV5Mdnik`1pEj%d(MFNlm_SA87k7;Ym;Y1S!ew%w~fjFAw$pNWeohU4j`rj*7{_ zAa|VwEPcD?LW@4tz8VfF{jCBN^xoF|_@ZRO1wC0lhh+=d|2+$%5SVi?-A ziq+At2Yy1~NH|#F$!B>^aDkfq9}`&JKTohK?KOXu749o>AN<9vZ%oU@v?nvYBu`5W zfpp%wz++@8ZcX@P+C9|q?w>pH=NOpR=vE~0%`9?cB#$hhwrI0D@!C&9#^92P{&a)i zcYQd1jI}O0Qk!)fO|{!g9P3FEwy?}!L(F#hw#w6EfRFIJ#hAJ}4E?fFlDtULLY!|s z3g)+wOie-JqXTvdMgK9FVK(tmDK`SxaH4IbFXsYNIF+9VsNIi0+ON6$EwO^3vB?J_ zrdPe%LTznxFu`xZLU-M7*a9yMQ*$7}(C~r=w&3irpZi@Ppy=uCT0g zb<70uIFHV5;d77E6}6jVKQG0v)dJI7l~0>oEnX@_xwi|? zY-U5k|1;2knSyV!Ax6w;PKzvfF2xT_YhmrSk<@RSN$$3T$?D!{Nk^UF-yx+& z3A%3VIng0ii+~wr*}@rl=Q-MO&uf#&Q$RXE&}9OnUd+xEdVE9attiNSi!^oFh2{%; z7MeTw-(UaI838SpeEiw0ZQqiOn>|J9hD{>}&e$@gFOoy`Rdpjm&fCgg4Vj5fOkw^$l4Q*Og1Vk^1h$?e0m z4)rQLw|kU*sUr5fy(GISb&Df<#qxgdrYek1mLsW?EhrWI>^z6PfUH?eU?m~>u}xp& zNg>7%w7+Gj-0m$WwP7P+xMdxywLm{1E8H` zfVWS5n4`iK0xutEyxx{gZIWXwjozTu6sRmnbY*LvNqmiW80QGV zOm|$ooGkwSx(+!-j~m8g72+SAYP34A+I+^8lXgvx=<*emPCgJYdY0=izPZr(nU6o7 z9Of6PU!{Q95Zqg(_V*%>aUQ3##zw6jMfJZS!~3Z6b@q>r!~ZT$MOf>w%s+<89~{xh zQ@kmff2#?vjC3?Wh2w1WKSVCRF{N(~wQKS)NUBnCGU{+G7nZ2!0>G|ly{qfo)qHZZcDHcsbB^{%;Z|KENq-JxRHh$B&Y6I)h^db-VAA_z zQ+k&Z>=}u@X2cY?d~?}gwsmL6Fwz619pl^{87!+q>)NpAofG2fu>a6o@|Ui^#D0M@>G?8|A zDMIrt+cD6Rq>Iy7nrl=I*VtgmH&HYFx-DL}Zl8hqGpF~^`yyHo|!NR5( zx90VSp`byT6@5bT(x#$s$Wu)SHcJsLaJbQro*n&NIrT2wfyr;znIOw*`23|bpOH1L-hQAzCQ#{cqYPkjmxP_qJEzx0L zB5StLMBe*Wb)OAC-qnpPLBeEp9cGfe})|a2qLPht99Ue z2UwZT#h*BK>3_amBT?991a$sMt~QC&i>ChN{ibCT9s||qr_&RYM*QeDb+|<9zT?fp z_~eWy4V5{J1uO9Bm6rOtqLE;0@WwB`24UVi@(`^YbE)*5SMwW=w7Ru6*NL%UApw_f4iC1yS?c#JJ2e zLR)rU!j-48PqX7y00Q5Bpq`h9amR~FVLF0;{#l@Y-4J2+x~@Eb6fS#s4oyA!`JfnO zA}zj^iN7Go4*^xvd7pZ=ycf4ute#;p!R|=*%>9wEVZMpnJzoz>wzu%g!%fz9#*CCI zzFEDj&D1!Cz42#cl@iU;cq5`a-SU2uvwStwXY`c?Rd6lkvse{VmzOR`?a@!(W2I)` z7QYhV{L=|@W-6Jl%!^`x#JYQ)Kc8_+2Pf9yUx@neMhdkUpzXXgzwgF#liwb9+&UD~ z`+Hcq`>D*1;nvM{ye~|SoQeL}<=fuJcwbbC@lKCU9wyy8{-r~$;z6gVDN?M+co|3euiUTtQ*d>bA79vYP+??mfAv~=F_#f<mP0~DswlbY z)vFgPW)=BpTx@@w$%;VUtNhd4EMDoETZMk~?8&;nQ`2bwiQwf7yZ$OP8ZNd5%F0WNi8q@4SU&c`G{3Oq30$BG>RfUp;4o63q#nbase2c&&Z6wKzz%hM{|zp=y0RztE8! z)l5}Z`X9a2L5JN&cN<0w@NSvAh2|cF7--`x47h&QN_F$aJ-LL!v4Cbz zTx?a1qpqN$LM7~J!~q{_XJ;~x5cyEC6V1jLS28$wBmJxq@py_&^fvl>Oj;scU$Dq zCC3G=nHkOpkOz66peM7N(cX+HV(u1N?~A<+*zHGj2>e9hGapnNptC&kL_mU@rHL69 z!v&h-Ps4SAt~AQmN+mY*$K5QfNL_qC*2m@iQmnL}ozbz@IY4xV%ii|(3kl9j-+JcC z#Hq^s0N7iO&d`FN`HUW};+Zd-B;6neCxLY%lC5zbRPyWbt&n11VZfty6|JxG4E_X( zQcN{~Oli#o7LBK@7F2CPXd*d3f$%A0nhg9`*8<_Zdux~|_4RWWsK#_kf62qsmm`oW zcyn@&|6i@i6lybPQ=>bnzY77JDnchNr^nGZ2NwZxo(L@e3^RIPeZFq&DLr`r-Q6PwMi9N;d9HpX2>%pt-+Y%jLUd81Kp>?Ei*(Rjtt5 z%*FrRd5&Gry^^gd&-I?ky1hp6cmQJP?AlbNVok83@)?NC!>p#%X!E`3I;z4iorW#} z^T&P$nv<%!RCI$r{QESPI_z7;+-U+N3@InH+?{eGKi4YTIkl51sazRaeA*M3exO~JSnfNdY1Xq3SZH2eQpZG zmbsJi8}mfZNIzvGnsG)qqYY^%2WMpJS!IizXHeAGq3v~g1ZaX_7MAW<>VG~i@(~J9 zk_KdI9ah^72J+7;TN0Ua4ZRLeZIe7Y?;?vH=yqok_#(+ldwg1v$t=Y9d)hbT3K9%M z*(&^HT}Yi1;(s0zyeOeT6N9*#Z}*XEjune0Q!fnA^vKB@u=~~9dsWB7+m8fJnQx&! zF#s8RW>=$lcnA6@yJ7wwuQ@C&%&wP1ZZ=9~dPWvGm@*!h|EYayx~6@6v#pu3iC9t8 zSRd$8nGL|zvrdLo2NAL zNvVSKnTecEEmPM&%PaqImm0ylQ7b|-vx|viYdSQ&4PDw71q?t)a{d%><3Vzk+@YmA zP#rABl^sEjp8UF%uW)Vmtti{-$V6%+a+%%%0je^4OeWLp!CY#zm)F`Dmv}3Wd2kDg zG3uT3bTpaEvpWR#peh)>&Tqc&F*e1CacY$&K=Qne?)2wj+mD&gPisbgV;FjYLwF6yxeS`|#ox@G3SZQ4nCK zcXwC%_jv$j?Qk76nR0VrbVu(}UdwSE=D3bYw3qNd`=G9|)VG`HHxqEyc(Z17#{pbw z9y!w4ZggrE3X9Q?e9YXXm4tRhy&9?vhoQ!)e6l4-^%}qp z#?Zom>+7YBFh`jlgky8+SR*OQ&Ndm-rLob$vU9UgeQf6Ur187hG0aa*-KZ(fQW3N+ zZRh{@E?;%?jbQbO>Lhj7Fs^8O-@;?Y9tJn$cRm06KF1rV_zWW_kj{5ZQ$USjR!2pp zmoZy?=pd9f2O5X(i(2t+gnw`SjxWu;=(9TjjJ?{fWR|aoY`bg|oBGx`kGE5Y)Csb> z6c@_RxiG_bc5yHs=^h(Mt2z6nOxrBEwW8QDY30A$geDelZSj-}PqW^eiu=Y%-_Cqr zx#?afxlj;bFc(mZQ6-AB1v5ho_$b2y6ij)j;S+&^e+nZcJq!Oc&q!VliJFdesTXlW z8Av<=VVD7tK;h@i1Qnlml|KOHNKrN&93%Ca2^umt%u4}(8ymd+cuJR=;tNn(dj2=6 zkcRnW($gmOVQz0PUlLAm(%P1y%jsT(DyXEdX9Uh;4@qvmJ;hJ&;>YrG0SQw>lPl8} zC1+8vTE;FKM#@=2{F9L1_m5r*HB}xlNbgZ=h?;r11I)a+!kFi_>hWD_npwwA=$V5& zk9SUA#;CurXrKlJO+>4CU2MLs8sQelLBX>aSZ-dz4;{N%O12PN>!<6wlkYv(hXQUB ze|<$9ZC(V#Q!~^1$3`Iv(We3>x+gDy?hN*3vQot7PmLH2pRq$zEIpjwK<QwN^Kee+X`y$y{PA5^b2q?|Y=l@4Idm3c zt>+W<2)S#Suw$1vQ|w3bPRxA2=l2Z;(42Ttsv+@D&u+RlE_m~9DPO_?@F zFK$*eY3xk#Lr%}4mhy{J+ur#{s~vewVNM??Scc4x5QnEjO9; zC69)1(8qh>LQ;bdyj&|0N+j-xmo&XOkE%f(oyN^o>5;=-<#MSvmVS~}Q}diqmK~GF zmMaVg_y{`j^}YCrnO8Hqh6$e*e?_VDc28ajW?3jvrBIoF^nH8fN|KX0aP|r{uxUmk z|F`Mx{tfVcElSh;w_38!R}ygy7V(cPQ@JX5ObwSv1ILdL%3*&F5!x z5oA}wtIU`9-sk%Iiag-0MI2KYG?<32B;Qg}S~@?6c&hYf(P7w?y@C3fTX>#F=w4Wv zYOppbVRZfPs^?=uV_aidr?OoqiGbs~4Ix_kokWABToS-}o?=3BNV2*k5|-0zELa)iZ?!WT!MF_Gc}HP zjP(_|EdKajYn7^St0bs#n(g1a93xG-{o1b){hG?d(N0>yZ~dF6u~O*6EBDA*{v9}= z;m?K_sxPB%3$i$CAuhvYHt%0>0+%$%m*&!*^%|-_C+t13`@u5pKeU>+@SrW2#vM)Y zimB`_9RHWm)=a+|1|%7qA>`6%NMPrRjnHL6F5|U<0#|wh3VvcQj=#^xH68aKPgQ-p zYWNM!(xpqzRL~=G@88-kMVS8oo-e zjX@JL?5`e1hF|U%_%XRQ{HnM68xEF$#W3wLg;xUW)E2a4>^06#^Te(Vs5-9)a2V{y zB`3=_{WTNu`O4G9TkEDIpyXLh>N0}ni~RK)fA0UgU#iP@zo*a+acvNdvPV%Vc(THB z(eK<3V8*mgM3IO-=Xz#$bkk7wn!Cy33g%{+L+a5Y?PIK@<$boF>PF{2EX504YE0;& z!DKg0CodqvTq>(UVW1`Kwc|9Hp=o-|Jzne(`W1=RUCeHXgOf!u^P=z~#Iih>3_o0y~+Bh|2|JOc=ZL)q9<`U({*d z=&k#!Cqu^qn~kpexfZ|~&W?w+g;Pw|O) zH^>jYdb}PTrl#PaKXwoBdfWFvP9AA6zREQmRhQJBexJ1Eg*BAS`u3r?reik25>u_< zZOn`1%J*vepf>W-Zs&9k!tsKkI9myt{TfUesX0H}fHHX53tJQ%onA%xs)27sKAZJ9 zlilE>?0u%xZ!0;Qry_renZ0_h5u05=rU-$QL+OwLk-cThH1;nJ)IRU?bZ9 zwGHqkz_b*KrgH{*=^c)Ukwn}smMe8X^Um#bkpG@1m50cs-8ZKY{=d9J(pFiGWPd71 z*}@lF@hCuB++IOCf4hZ=Qq|Y0C-hs-!e~v>z3b`hQ1EJ+)s2$SkNR&7JQnSF_iV}v zd=}p@LvNELPV*fOMGE-$a$W%_r!Hm`v`QfK?=<0cas&H@dFMZ;W~+G7uZ{OipbFB* z?8FBb6WI@2-00t_Rb%5Er+5TaQl*S32*4Y{hce65q8SND$zqSv`{wN!%Y~iEudL0l zeHxrQR7Jl1G03R9K9&Dz6MJwKSlnN|c^^Z#g^XCqaGkE}%T0i7e8d(l)c6hL{m-$5 zE4^5lGob__#Yt!;+}i_e`997$s(O7%;WD{afV*nFUh!&Q7H{d-VM=_29^_hNRW&#l+KgN!!C++K?(4!I3^bVri@iE@a zclJro`X(&%iF&oGJ*^=@`%}N{gyttVRgB$e4*V2`aVDb>nTYC2sGRoX9Oq1>i#* z{`7ja7T!hH7K0;AK4~fo*h}40YQBhj4;zdSmJw^O08*}1QjfV7D$5n-ybF{S^LcYM z^Y)PwUZk$F4^`F>N!Mh`c+yB2i{_pK$nCxU)w z^V=s}pUpa0zdovv%ZE*CpyZ7$J$246E(+@L@C5&-jt9PB@mJ+!W1| zyRLt>>+|rfzSBP%-l*=c6QA0lM-}CQn}yMDl$z$v`S~SH$WoeJH$gnyRXysA-Wus1 zD@JZ_OfqD#B`&kyUks)Dz-mLH9aGc>`FfV8qbk|G-Iv6}Fbrp?+BRHPuI643j`k;4 zR5FKy@s_+yFXo#E@hPg`xXhXmt*Z!b4gwY)cDcyFo+rN}u_wQXL(P|dNv|;m$pv#pO;_|#J7`|IRco{*-piCqutB`bksnu|ep5D9{ff)Clyfinq-ieNnwK?G zTFYZn%+qEFoMv$+HhLE3^RYMFh@T%6IDJ4!yms^n69~$?q?#K1ydHU_=2~MvD9vZg z^%qoLv)Q85V!l zRlPD?@y><470rX|-`Q!<|M^gbc;T;P0#?6gd{ks% zfw&+K=i;_~GjGE&_9+|8bIVAwi{Md?DS?~180c@A8#=+Hevb~NklJgw`?ZeOfi?WY^~MJu(V7#8%0Gq&P1`Y5GG*?9<; zw%eWX_|Ey|H|JJlmxnj8v|ECsZGxrOFkz#xn%C}}5l!PnmH8jeA}*DvhPiuRlXRGtbIbvc*(`qh29$FTQ8I**YuwH7UFFLhMk^PM(5 z3$7htwYNQTY3Jx`m?4!34p=>xNW_oiKoM#AA@uI^ctKzr zf9B@9eY51o7kOby`~qNm>?^yU0b5CC4?+zU(9(u3Rn3?sK=Iat!b5V94|8%>cZ{6Rw zaEKp~<-tS+NyB0enM@#LXcCK$?@kJzM(SRkda;ktHMTDYg^1o=Oh zWl|J~4NN+4)-OB-WIn#469Cw}xwZz}hC@D;Zv|UAx&1i$W6iFQg-QHgpz-3dId$om zM${YA*As4SS9_KsMUbob&W%1s`?|Aed(7n#9zpEJXW@L`R2uI*2CXJ9_oqT9k=t+G zP?)h&Bc@$Ft~%Y#NK23{L0?~(m-|pHR>GAejICoI5y~Co@_kW;+v-}WXHkHlv%Bj3 z*N$em{ucLGHv<;QZJ0v_#u@s+#k0K%V-u!0goFpJw=h{T`{xC-34e#!2#|um1@eHc&n#D37$% zHCPqVFLeI(UB+8CS0{ASllx;d}4wr=LiMI8|X6eP)|=$KbLSmFMM(MZQ= zMWb?5BnR{{;2S~Eda(5gy6RURncH(!PuVS=t&J|pYJmaXWICf(kTEXlate`P5VjkP0Yt~@QyL;6tq2w+Ap2C4nn27S@^F>f z5>I4j5xIFyK(GC$^}u%P zGdKQ}K3s~-R3jj|JoUJ{dSbsJBK751lFZA_SS=;Cn8hgWw9GXw`ZO&7R}3;~;A07Vzz_ zIlkY(cb;BtqKT?a=N2U)CBZ2V59miJCEDdjo-BeG z_U+q@Vqbhu+6>`mQ7tP@_^?9GA%&%(^Ps1(ow|dVQ!m-e@S1t4Qp*PwrdUPKe7^wI zIbC6{H-Zp)IP`hnC9HTFHo*`D^b*ytdv`bnRMUUo)S!XeZX2GDkKBVXg!U3X#3gt4Pu)qi91a*R5P{tue6kag+a&l zZl&56*`n?l)wMV^>;v~Yu|;>s?wMUyxVxV)X8xF5QB>&e)c@@2bq%SfZsiS-S)^Ev z_ef^FUYHg&GBCc#W+arua+5u}s^532I=#vR2ykT=R7<^DRy>v0h~@kN$OgjS#XDwN z2H9pW*$*>aEOW^$63QVQ#!3A&d#LTF<4QqIS8uvKWsQGLy*iJM=MmsI@r!*PRpCy!Ohome1ZF8{Uqp?hJM!?r)rgVp*OS zhs@#WFy$MvF5Fhun^E~e{OG>h6rSgOr!`1)&0LVEbMh%4;8SgEr%0G zvyT>97b-iJO62OtrH6ZoC3{6~W}#UJ6a2rYC>sHSp#fUEVjk*^~;P@)LiCIF zIFZ2A(bT_9x|+xCyGR&^!;b(tn-7{7fDwqug43-x`Vz$uaA|352XvP{ip+(~o|HA} zc!w6AF~Rft7B^4ZGR8ggN??V2iY_#yN4h=FPLFmznAE2L&b%O2V_`QFv%Ycm@uD8K z*M7ranDR^2iXfLv_B(?sEO>^{Ytg2+d-d(Lwye^^oNDvR?a%P17lp*XLzJ)g%}LQ1 zOUgpYxC7Qo6DB#gpDd*Hk8OOu2E6uZ2Iz@;8asYIRKT3kVh<9Ms$tGAy<WlrZzD;r}-5cua%OU9S>U;^JqXcNK91!bg&<#b$XE_L4xc^?0tgcofs{i!j*;6;PC`e+G2mCJ)&?de}~HREgX(kr)^T{tP@dt-e63?e|{PY zI#Dn_-#qzv+RAYVZ5BVdr^Q1PE9s@FMMZ`z4)E_M*yU%zg}vA|S>*xAIQ;JkzK)C) zIP}y%qqinh_j-||EN0LQ1y^YWTyB}vJs~7}H{9idP{WAMM1;9}8&l*rN{}pQG0j5K zIY!sWSmr$uOzslZJnoEO1kvG)KL9!J)`yg~`~ zTT|ELTt>E7mt3a|I|t`?8IR|`;QRcsv$OsxEq>;O6?g^6`IyWmVa~U+A+0eL-ydc_ zMiYiHT(H#fBB=*U#EF!1-u$b?m5luufj=@ur0?S<6;0-KThodAJ#@{ayG1(IurYBn zaf*fs@5mQSmVQ}Cw-t+_L!?{0&{;|;>~uBFl4_ht`;^$9_Nu}cB0(~~GI#llEL~!t zWlBWaAWSgBg1<3=#;put(!pg%lH%l7Pe@i)Q*IMFEhetGU5}3zZ{L{Y7!-5)TWI-n z1V8iU!slO6=WkF=|} z1_l6)KK4^A`b21~KgJh&^P4mOCHbi3tS#}5m0{SXaOkpZ;MiCaTv<-7s*gl-@ioV^r12S1q3F}&AM({{QLn2T)~olpeN%4A3a%=M zIA0#$GQkQ~zS^X(U@sfQY4&QSJN{%w9~V{VXbg*yj)vKSV~u^CbJsqo(R*uadm+dQ zGGn_=XW#g3X1xX37f-JWtC(a}tR@lY=>PfTy`oetGQ(*qq*52FqcdVMH1p$U>ZaZY zONvj{1zoxZrh50*x(G3EzBpSgNw=g?AF$;X&qu5z=ls8(Ea>k%)5eq*dCDX2O+Tde z=Kjy&6e0cpc@+yBcBD-{>duqy!&rP|F$}?Cp+IW+yPHT`sQ5`w2rJ)9_fI@EQY}8$ z{qsoS74B0J5ZP9!R_J{ByCwL*;}6h(uLf!1a~gSbwV=8$`1g#)jjtsC?jUddi|whe zYRU>Agg$3@4~>}K76r2np=8PFfMwN~s}uJMcpH>|%Pevh*s(G-LbKO`+_ABj6NK?Q z-3FO=HW=dKpH_g~ftA&`?bNCJt>1@`*jfAbwWml~5at0?Z?63>6jL~Sd4v8!9EFBe zS?Uvo06A=lR)7C?O2{FdS3Tbv)`VY^4F;4Rh3L*V3m-|VIta`+r>s^6?dyk-HNwPb zk*<11`u>tfpGyJpXWw458P!q<+mP^kTjk}T5m-h(m-|YfC!LGEytTEv4~cX8-mFOx zatl~CKr1}-*dc{RX|lH^_+t#0n^SQ3Ry-C3_MF(MSO_4;d{RlwgB#+gUJnu-Kzi*W zeBQF;-ZIXC@Y-uKSFX06az4*P1d=L%Llfa^$zVhqc zh|H{?nx&JU6YkweFL|UVPu#}`w+sO%a3z;v7k}6q8#~$0E0T;M2z$x(nQkqAYH5Wl z3wRX4Woy7JDZawUc-kIWt(k|M<&8DSzrGB~(f^?bsFcr%^A6J!V(AW`B}5|rtX&ZN zR#hzD#hrNvk}14Cnbc7=X-aR?-CKNvYQTwRdIrBg-aBH8-EOtZgNL~zxBq~oRM8KR zR3Y3Ck@H#SPxT8kA?v92I$$WeRwf4)zKWAT=#Q5Qcrl{n*(hW&IleYxb(g|eU zz4@h&fkC15NB0M^?Ki$TH^RrJeiRf#(r_2RE7vdyi@U%nK35D$jNLR~EqdJeBxya~ z?10oGV-BeTPStj@m%H)#h+7`0wl}Vnr~D+8TI;p#+td?CY!Pgqfr|qX{$8* z+#(mXNlVGy=<><&9t`r%2-%cM7A_6t*aC+`ZGa1eOt| zCGhfO=JcwR-EV^4VL&Zmv3v?UNcO7Hes(2r?XPPEv);!`jZfKCC5)JeL(j4b5T64| zbrN2`nP*bj%Lk*aXtjgc%5TFyrICgczM>ucIM;k{4}1O2$glSDoplT~J_fV&mLA+o zWnt=O(5a{x-tdeLQNMxOz00+|Z-4x;VVX)U_SivqKC@M3sD8VLKAhbBjoT{8+wvS5 zR{4e)WZ(7t8}DGjPZBH5Z-sBZmFTqE@;i*B;A=!?`(m7xA(G^g65yDuwcR~vGkV~7 ze@vekA=ss|Y~);gkVy?IJALT6yA;yPoCYCJNgla5f_Ly|!HG)S+_1t>Ay8-UbfGNG zI1xsc`vf;jBsZQd=H%83(A&$##8q)Ch`_TA%WJ{$dBc4#CrJsN2P7zLlo#+dR}c?h z5$Z|1X zJo(I`2QBEC_*gf7;Gj*dKSS(##l-9WLs32K1={MhsoSDvpVbBy2?%{;!tHf@3Z|$h z0}i@w`iSs!*)}v!ynkG5fB#sonsab^+SfjXcKE~h+*@10Wi(|GXeXD8vp9m4-?Vee zq>VZg=myo3^@%49=~DEkxXmd~C6Pk17r!qoD19jhtZyw^7W&@_x9tC!z%MTAEvfEB z>u#}s?bL9;qh0kwp4i@}G%Ful;(#D*Wgpw>CBak&HpB5c4J(2kOO{4yy|2jZQ;scE z%p#1I2RXYSJp_7Qr@)`UtDrva-TEu2V02D8au@GDRBTEH`PR_^rF`q#W{;XHEzdsc zbS%qF&|aB5KpuqFQ=oGA5b$`8P}nj$!iUz8tmCV2;@up5qQo>-D)W5NNw@+WdbADn zvkOz5Jai+Lrkf*kI|>kcrF{?U?Aze`MQ1~i{hGe{h%JqZ zX`$Gc2ob(&V=MkCZHFNv@@sx~t)?2@QX6O>n7Qj^?Un>8>Q3uM3eK^{P7K0Sc?}QggI7`f{rS-eL}qadzD!gIq8y)jdcig zO!6VfJe%PXKh8aM5l*b5|0Yu<298kM#3eT<-&6S-2aw+LEiDMUa!3IG`jL!;VTXje@p6fwQy+ zmzP&LbiCOuzAf(GQYiEeRKsNZ%B?3E=uvkGO(gG32>$81l@M%bTsLE(x~r_fHuqxg z`&7}ga-?c+=gm0b$o_?Qb4`Oj;ZCkE=FW_qiFqiobkT;jv2R^9Wg$ADBTO&mBuo_Z zwfOnPzTkcQK0b3`$_RK@FK7A zc9|pj{H5F~(SrKj{!oh5!UL$3iCs%~Q1J-_^?0fKL6z#vi#d1YcqmfW<(0{C0(s*n zjc<$55U~)l`Z@8+;zqr>MZc*E~yl(@TZ4iB^}aFXN?3GCKPoT8s6LwsU{`p2>*%o*y+H{9ZBz1XOvqx+Q~r7 zlMe0m+A;ImleS`0$KBn35d!F5wOB5vSrPF_8=k_W_wa z3E=~KCfQH*&|_>!3eS4vVqH}bG>~~)$}(%lXP|er zEbW1&h4s8{>gzk>FIy@Es2#fY)>Q=W1M2E*Z@1kzV5bL05K4)gXY*7V8BxblCu*V$ z(^o}t-&xUVrzz}EVNO=_@q!krmWDR!%fkP9I>ZxD;S`4W;s9OY#4!qtVa*&F^MYCl z$n34}b#+V+UfVh|D!>^ZXGFx^Km~2u4GgZvbmDE;0R#@MbZ%gImgV4Xl)l|FC&eS3 zIYQUAPtIiz1Gd`*g&76X5A83mp|XOzE3QGI5iup>`tPCI3RE#8vG4A0>|dzSPXU*c zuSYhjT*Dr+Tb-Ehk=73_aAlZ&M?2)47bbQzQ^!Jtg)`piokGSH)A^i!bC(hLxAADQ zVvmq%ZB~RpUGJGSN|2ygFQ^E+bPE{?EkNWWId}qWsdmOXY+p`3vKkNmsycs+UX8C9 z$J_>{-8jar#?eXjEfQWTQ}eW=y@_;7*36GTNEP$Q!GEQ7cAhq80oYf92vv622`r;i znKJcfF-=yM8yYRzQYdMHh4Nf{J>HfS@omJE4WvLE=#>A7wt*5gP-EoSxOce7h-2GpZUfVytb!Oz1)G`s@)3LKtX5saFw9L7TPUy>dD*h8c+*>IvKP`OSl_A197S7IK zW)^14*Dgj@{ZUrTL76kw9%2k<9fsEX9uP3*F=^I`Q+4;G2z5OKf|U> zYTUHP@m4k*G#X>qum$}8_#E`JsLrfuY%CR+w4YF7?CPRm5*^*Ju8EEE#R{AnG?vhm zp2O&x4d_K-r$jk^BdcO4O--`SyRZyNT*!!d+eEL(^4$Wm|8=7XX_G_{-qW=<5LbmK zsdsWx>+?l^Liv#>FwA;d0WwTUa5zrj>E)4yVbesg2RVoiBfBB;t}&{1A=z^P}` z*H7gptcglv>>zgzd|3Q0Rta5>+)TjK8NV~j=<7~+fQjds&h`0x;11`=Xz*c*lrEAw zU*$pLU_71Ca?@#`As%b*!#cV}6dIqF6lV^I(l}q!0usRKPsBDc(a4<94(C5IVOks za%`(*beeu(JhcoFeoN4_cg)>2&oKTY&#n>5CUu4)bn)C%sj7lldbmrAiN&J#_Ojuy z28M}O2tUlaI{ILd3bQ_Q!A?bDO=zIrfRDz`*hDgRqY38v9L%(1k<-?f>gyt3O$HNkelQGFt9zkmcKUf( zo)(^)fvJ*jckMU2y@-CLWZz6O!D72Ol81Ti-Kw8xN3S`le~8TJCiN7@23ooyuIiHB zp854<1%ax-rzOEXT{#Q!IMByKwqpj^nLqC3w;wNd&MJ=?Q70Cb1%F2zd^CQP;1cA7 z9aLTT_8Ff@E%(JyyUF5;sqRwV@`CzBv7fq{aH8eO@7y9a)vl)QYABI++|>SUnD=S% z>1wbC8fq&uTwS#|w5~m7WRg%%mQOBf2P8mZ;LpYgtdO3Mf}jEf;`H3&(wx&JL62#} zYcp*ydx(sM&Dn;H1}KvsW-#($mAmMht($v&O@uuuvreN) z7>tzailj5?-a0TBg&pD$hB+=CZQ8=Z#SBNq;>dW?yPI|s(ej{Y({w52Dd15#(QFdb zX(0SOB)F^E@rftva{FhG7UNXf7zYtcU>f-yxP$aTewzL9TQw>agvoQ^wiveZ;EHnw z{OR_3u^pFM$Gmku`Yb=v<;}s*;pl`xbyoGgVW~6BHu`+8wuq~=n~nAz$>(j0S09ZY zf~#7ixY+MCEF5CW7{Aw9IP4dIW}0NyfQ?EhlW>bet}7}Y)ro7D~s zeg%E+PK(pxb+ne|4c%25Mlt%j92tP;*g(N@J4^eS4N~>rd0E7<+h29$mxHPwrcl}P z^9k@wM2_%L`v!rLp&(zh%K7PF#)6ZdHWs=br#Qe(=ZK4yw!#DQv&!1K;pO{{mJ7pu z{`&H_;2|pgG?Rp7)((#{YhM?FoLctS6^z5DXb=n%KFttf=dLMKJ#6Xun)KEQmQ0Vm zJ~%a=22?B6;1w}@{P`dxpE=LM+KWm8Pj!D;T<|$hkn%G5h;>MPa)%o)S`BgPZP2CX-R|wE!KX@6C^&0*1{| zw1hG0GrlqHw#qBHjR_+x@~@srb!<2KMSA5wSqu8v=Lx^^iJu_{*HPuxeZrMspQDG{ z)9?fqARhB`VpSI+weB)SGjK1MaoCjTF{8@zPx5yXz z>1lC`L#nWF+JTI7bSyO;D4|JGE%(R^_<&bFgKC@gxB13bGhYABLUzS!!zvpe&AYCn z2?&c5p?XDc1D2VwEnUoRsvYTl05`-4m;NM399~?UI7E}y&yIbifR$IXxK`ki^VP?> ze+$kXqQMX_M8+2oq0rawy$-g9ke-llx&iy?iBMJ9hyEFsa9UkU2m708*A8f_Ego2U z)>L2-D|XJ;8&j+*cekLc;B7Y{R(1we)%V&~S;+`B-%Mm{_B5N@Xo01y*3@)~55}`RtAIcD zbi62F>$%)k^`r1*Klat*%{_jyDgmkXLitCJO2!oodu{{>_dEJ7Z)V+1FY{PIs7~Ws z&CR}*soRB(U=S)>-lQYwRqG0J-+8f6uoIbQi?S^_K?Gt$cau zzKhp}4Fr1)-bq?|hdlzDpv(B;TZ0V?HCH$$pArso?Fz*6%>(tEy5U;d?IjCk;<42X z&rl)@{Sva1)CCt`b&V;nD|3~64gVbWy|SJ@yrtGJ9DFqV?tr`=^s|pPj;3?J=lqj* zfhhPr>gM1<-)Y-u+lAPB=`q-TclmJbp@vu-FrR!em&`^tFJLv*b`+gp)?km8+HFD~ zj%UAcn$a~h64&kTNjDZ4q#=j6@2jmylTWs?U>9(U@+{&_Jw+nWv6OX-zGk8O-ZrKy@SY=BB}wOe=ZNW^W1P3~ zT(JhAl0OEe=w~s&DSBvi%9(oGIXeCamXOF#p3cd#((3iwmuvB;NqE|w>Z8j)M^x#Je?A@7^VCw&B0orZ+;BtAo5+6uAVHacD#up&Wexf>xlnOi($41>p}z! zsVyi2iP!JYIiI)ze)I$oo>!2cEJ-K&CT`4yRLgHwzF{qbJf()XD4V#-;|5r%Un-9r zC6U#oeRdr0JSH>)z!r;m6@v`Z$#W2LduxF9qwwk~!9$N)%l8A-(PC{nV+H{IwxfZe zW4{|2EGV6|-Lebf@9R?QfK+>$Z~q|V;l|UGW>L_0)Tc3r7BZskRgc?&Mb>G@cAA-+ z-sAVjLd~$h?~_RlnKnFLuWr2)MDyBOWHN457f^dAng-gs`wUHNzRc=eWjA6GwM25_ zwkhL0eQJ@=+D6bXf`~Ng1~R}}!VNu~mr*X`C4Qz)lIzUYBg6zY_9t>0_PSA+!bQy_A0JZi1Hfm$N$L;%C)Q zFZdb5pw?i3OXU{P@#4{`qp34M^jT&AvS8{3#M>C$e9EH&blqJX3i7l#+gVrHFD-_( z0HjD0=fxb?RbuW`;9e;=paB$DWl`FI<9Q%xp#Y4uCL$TYLSVT)#kbHTRD~01OGL6& z@iU7$z&7Ih(=%gfaScYp$tB9KNM>-+6LJ$ar56ol8tRjq7F-Xf&!@XK9&5q8 zGHGT0-eMvKaPBFs>{4L`7w46BxwBbP)gDB<;EM{tO zB0@h17^!BeJRBTNU{yD$i+@s4D_LN>_G_Ja!YBQj`u;*rF$WU>x|-zx3q5HGwy)L)Z8b&PZJ-X&$7wpRU;Gr z!Qre(X?8N|&8KjN4Y+>r!BBd*gZVO}s=cvGKHqIGc(IJH7f8G|u$zwHZQ97|@k&W{ z4((rD=sc~rgylX{jw@P*M^QDJBTO>$0xsPrZmOo@`ajk7F~ct24Tc8d+G_$4uVNoy zyur!ib&F;>NEtiGQtr!)!<=Rz%86xn@v(a5_I7UAO+-J{L2$*1k^lSejt$qErWKwX zJ(guc+tA)=)M1%QqKBa^)MLo!jO4_OimTe@*@b*}D+WM&?`9_FNb!d@s{^y{Qr%^? zv!!($>8?QLV{JOi@WiMsS zIJ2=;abOUqhhAP@1EIk;H`i$>6UFa35hcVkrL+7`25|(**gr_XaEz;IN8Q?>8^V3N zwc-lvNx9W-^*_&J|ztYS`f3 z>*8ZVA76JL#72(Ok@rIh@E^dbE!^c&QHU$AcXUq{;{c2{8&RX)u_}NC@CpYy5DrgT zd_fwpSNO&fla3+j6S5>clx;WhPvor=EFH}B*CsrDlUne^9Y@?dc3M*R?y6_ygM-uM zSbWuAiP{k6DZv4?)UCgd@24{-ds@hfXzFLH9SPAS^YoQPea^lySC2h6M9VY2z;J}@ zX?~A6^$9>?H^U-!*ipxb?k~5za$U)_MiP4c1R@xh5cNt=lI`$Qt$q?3pm9P00xcLf zm~e#3)56l-*eias;M{~7rKM6j>^+ctw?SfvB@Jr&;J_LvNC1-Xm)u7H>UpTH1ixQp zd!U8gX0?D@_M|lKDNQ_)qfDZkHI|_9vA4aU+<>N}i3Ll^Junm452_z;TIxnj$?=wM zp5x1;H&c{K$;daQnV+{PujA(s1ema*vVJ%$gdUQ5#&52mfO!dDSWEZC4>_Q9u)1&% ze;UCa88{CG=&V-&*b^2&KQn){CZS0%qS=3fWbJblwDRVYxj>|pU2g}k4{bJB7yd+~ z^xiquL$J=ReFqL!pOVYs4H6SJ&u;rKeG6CZUERKxUV1AAtC6v%mR=_-&)-QK zhua6d)J)EZ)rNCH73paK2r@Ua_76;@WE_|xP;QFk zII@_3{T3Dj5XymG%Hy97@A(vp9%u7zeV0CAqchrR&=-jA=r}GuX3MO1kyRA-4H$c>f#L?GTjSXgMopBr;&-`q)`Ni;e*TBa}PRi zpMbhsjsj%qCh{&t1HN;6e|fvWE5?^CF>x*3@7Ng{)9jRAC79bNNE2YP_Z-pN77j>i zbz4pz5=mThTyZ-9D%5<$B>n`0H!Dr=>wIEL)xK*tDzK}}-xuVQf4ybBJCcERv8dg) zDeW&D{zX3Jh!T!D9mB3ztZ(MX!$Cu3u`t zdB~6)iIO}${#=SzIu+o%#SA8ZDvAk+K(NMJ3P|{FA0ns2G8me z_g`q>4!lK?$-#d**XJ3FxyAzB<;4(}CM8{)7Z;+sH*QxwSAmx;uAPzEtgOWwpNCJ3bojy_AbXcL( z%c-#KKTo0r=cIFRpO~2$>|L!iBI*ykp7B4Q#P$(5NAX7QUSu+xRQjR@0g9hC0MB;v zZi^2*9qGyv+q;~-wj%s507L||6S&KJ=lKnF%!p{Jw;9>3uA^E4TFQHOY)Y*KDf2|=<}x?q)M4+J92xzL9*Ktw|yS+CgBQyESuIdDE{ShCwf&0*#=cp0_lv<;s^K11V8oAl17IS{jMY&|j};idReYd27m z@o7^m1HUZ6LO7G=VTmKoa&SN}VSo!kO?#7Uy<18`LTp*l^R8t{#NY+p&KUKigBOy$^n0BXthp_RNI-V)P6(EWf` z6jrQblB1Df0*;>mkv!Vi4JSKjijj;Is~)!h*P4t983Te{f5b_xTX0c$h|wrLiu0Yi znzq<&E1w(cWy3EEY)5eMf@eH`GA1>cB_*XK*3~RqsR}et^leFxa_w=(j$OBTrQTVb zoNxnDPpUp)KrGuqiYpL=EghZqKB?w5jc=Y_rB zIBpjzZ-yKlB`!yhkOhGNDwh7>^MY+o+`2%txhNM;se-n=LCK6G`}cOzNS9r+LZeyS zl3r4!RFFn0Ib~&uMz;6AxMJ}?xZ*#H*S;r>b%`sc6CGrm^-g=eMWh1udsGUF+^u8`gDVN;sg$g{?yAe8k=M=x5iiJS=R%8! zlUVglgX;1{Xm=6(wQsSq=~i~fw20(ye^r6uQbi*0@@-qpSehf!*zl}&oX9tGCT-^0 zxdFnuC{ivDxH$n7I_J6Wjgz^SFxx8S1EUIm67(n00&By>0~k`b$K595a4szrg|Q1j z$`rZ(8HC6Rt!^&B+O|`RA;H@Rv^h=N#P6i-HUL#)PFA6hkHnFEOM8^SK()&3!@aH` z4tV444Z^3^h!3u`rSD%R91w?I8Plb-uf!_*K4S$~B#^3vpHiSantO&`VvZ>9X&+ji zwMm2OtGVSP-nx#0AY8JMm7*aYjhcm#v)i~2TB8!*mjS3Nan+Z56}Y@Zhl`{m&E)yi z<0PV>vWnpYx9K^Icdp4N)+@Evd!*DdEP9DdY5J04sft;^lI21x^-lHpDt-oKH@6`~~d(cszkcvwH=ZBuSwuW3Wv>#Dr+`ji+SQYm2}_G3F6;YBk%{USVG`WpFK{Q~*qhLfT{h~R;nFYj zR$DaEzo?^}{xM603l>!bV|)FPm&EGlZweZ?_n>vS5}yTTE6I4mHHjQhwhTaH!NRVt zt?@qwMNgw#NXFP4al;SO4YiB85aDsni%r{CYAA1-KVI}s;JU#E-N@8wELBiDMgr~4E%XP@A(LeHk9F1+W~ z%#D=Gmg1WFF_;7%6?rs2ZyvL*cv-mk>IMB_U7e`D>!iSF>LH(Rfd?V%-luexd^bbN zu!UQGuaqr=dqv^N&b8k%*BWi`sO)j?*5d^v-}=g5lyV4le*=fO1JYPH6lvhN-iQaQ zNJ~7b-~aW6J_27TU?C`fac?mif4@27TRn5%IJ0+P%Op;QQjVvEnY*?QS$==NlEGjh zv13wv)H5@+o|2BOgYSDywbr`T7S`sfkPMp6y4aig#)gTxNqk8Lda?dz?fjz?ECR~5 zXbV5xHf(GQ2u!<5XW7!pPAR?Kn`frpkIm=vx42T`IU=C+9LXrm&%l$u**&@w#aZIm zJ$>+H&)S7QxNBx+B073HJRHg0UAOHUH-bG;UjCiaP(8gfSeT`}vYu^s(44=vj2qi) zg8z-2AYTQi`r(0vmA77AbVl*MB?VPl3?gxRVXs$NqI=IZG*M!^bBt+h%pkFLOg|}| zIx)19Eh#-cVbkBby!J8I*-eJ>$_l1f67BNu7`=q0JkyDH8=&c^XnN2c+U=|!7LC4j z^d=yE~(WmQ;C%P~n7gom^c+A(gzGG6p9FBy;mM~jgwaCcDy_H(KZOQn= z%YyzqwkXVme5Bd(#=o{2{sj47DOnECURlep|g z!=c~l#ceCf%Ybb{c(~YEAtO5NMV}$*6PKM>y3m_4f<4n}Y7 zC2=}RMJGbvH-dbbC)CrsQ59UUGgK^G(wD7N4cyf|c<6HMty~UO=qcIg*xDs?*}OjE zO!!ap(JzMS=jDdS@??vp7e~RTo5;pQ>xl_8V&+`+gYbyy2$iV!@vX%JC2%@CwmKiX z-0wK;be_&H(NU@)KCyJBYn=gfpENJ1E`|iN} zSB+JFy9gyuxHLIndHkE&T)ZV2ryfpMPHDru(A4KH0Em4B=*&o{E|tm>aCuY;rs*ym zDP3G0{<3Gum%P!}RY4ZaKb_Hk&swDZ25R`l((a-;(Bur&xk)y{iF)KMOo}BwIb$^c znwp_s&qRb!r?v?Zu^ZSz|IEr%Nz(VC-kT8S51v`CF17T1d8cLHXqs-j<9Mq94)VNy zLp;XcnrC65^((c+MC@v-d%$MrK$|vZ6)Dvv*Wfc26PG=IbMM`ye%Z52{jx}@GfnVDare?Z3($9v zW>m7_?;2c@iRAso-8VO87aFQbr`w_!pyLxhuOxt#cl=$I zr|xqxYCMdrjrGomTX%c2Bps<*SZ}dpymcfWKggTOai;O@1w0Xue)OcA#fw6*iRlM> zQ2|j7J)Q4qg}2yL`yFDM2!%O!4CvW-?Eh`oQYG4Q^KQ>FXI&yS$#u^~}#pY}0FlZxPTh(e#`WCksHVj7D$zbJ@t5U;Sj zR*a_>-;RRj?YSAnQ>1q)WYezeh-j1ItH&e^0CzQt=#T0(y&3hCO?BKwY>h0iKIT-|-c$$S2G zVarg!g>)V*$RZC`i8r057fpc3vBfi2V?8iqH75%~gHm4K83`mK1VDr56y*C4@_A=AGHk=oau_gIThXJc2|tZt2tIy$<^mx4Sgp*>RA!X`|Nf7 zxpkcPsc(16(jJs3q#I4nHAj(caXGARUH^T$UF?D$PYFL9xJ%4~*9zz`Q-vkgRybAE z4CjPtPtQ?i^n7X0&k*tq(}K$*-n!C%2s3zXJMFLq`3YZ`cSZf|X4#ZP8s9ZiFozBJ zR?<}MNXK7ibM1N~VLte(ckYwEkvX_`Zd_l_x9P5smyPZ+lmcm`tP+0wrH=Aj+8Q_I zG4Uy4m#;)0+OUbqMpeHY$h{Rh@?T%&vwL90aD6lEQsro*1WO1~m}c*?C=ImAIvOV?M9(C=8||W)10ZVZhu*D3 z+fw}{SdNA-o@lgj<1ZE*KT(^7IFtTajz=DXaY`gwIC;lCZ#jY#&T6E<(|DpK|TdRxy!g|mpc-}mU@SZ8b$_`1AjFfvI^m?3v zK-hA8z*)K_WyHCT&z^L|ZmvvQmM=zuiJYuX0e*F^^I~+!Whj8XkxvgMHml)=|4H}e zw@jFA;r(9B!6~?6IN!Y~~5{hfEDsrWM;vzcWFM?=|FTTDz z@Qku`b$s8rafGwim?A07B#V3IH{N7koI-Fz(%|)T#K#k z^oQD%m`n<1)w401%X}nfDKg%n;IV$YtX@NrJ$c&a?`b`!1g236z@zdRWpkGL-w7Mn zZcr7SFryBaG`X3vY-1LG?5%&9QC)MjX9>F+rGB6;_)0f5bk@de72+=$edC7Q^0YX? zy$wCvKwy-tkG9mETm$-kj5p7Qpcp3)=eom?M?IKQOuz*IRc~x>EBa7*1_{$)t};SL zyynUs1P?%~M&ui(SRZWFNwQ#N0opHLTCL+}{P<7u=Wq5A(3C1@2updb0VEt7v>HDE z7-OeuWOiTi-@u$qvVHx~?YzrkO7!mE$QvpkT0l5?TLj{wl(J*)A+2QoA|fL&@PZ&@69 z-y}yRM+5x&fObGi7!aKP$j$sK-x6l2D&~c?Fc9HM=X;g!d@&cH5DTaqBtgttf2v&` zAT#_qv~8?ng~^Ot2eTPAiYrk@1*&c3I{TOtS=JKve836iOp+png}=H)Vk z-w1kNd|-%$|OCK2y-?k)e2Y+*PLj&*MDL$fGJT;YsgJ_(;AV9k*hkZ4bE{b?}7%)l1gZ-Kz2rVSs|9Lxy~s_#ePlTOZ+gxT;Cq zc3YEad#)p`+qnwMFP2wNz7IuZ{T<5}viA*k)`j1&8hmlX9BQl{0DKSQuVui`b`Qzx zCm9;WH=*>61bPtjx%$L~-FnTt@1_d`Q;Es6eSX>^QXx<8hrM6^q32h`K}9O8N(NAq zC0k|4Wf9qS1w`2m1}lZ`an;BE9KGZp*Rlzp;%*M`+_T{a4M=h6Nt?tW#k<6~+nn-& zjdh7;G3}OJm7(y5PWTPm^O7sw3NWMmFdHkCiqK_lD<-=fg;p4)EPb;WY+-3$GyF7k zU|A_vOB8|==$B2;pr#$nQi0M09m$`Ky#$?WMfyZyU*3Zt=Rgj{8Xy<6I-K`|TQX zeC@nHLV&dbGgRyPrQ01mW^=kk7_YZhy3T81F5s{|JweaiA$M4 z%vj<8C!~4r_WP|=YG5F?ePUuj97GQk6xmUpS$fYwR618_$g5-Y|AB`(hw7T7)K6Wr z!N+y-G3E<5E=_FfD+27OGQaR65328sQ^G)6Xo;35okvaj)1b~zcFlM&({#t+`V^xf`7m%-aD-U)rEH;LecC)L#sXcF1?$hMOiGrG#8$K=hp_9U;^zI&PS%-#0&bc+a zr6pW))S^i#pW*>BsFKpB526WJMQ2$(a7H2b%Up^;XZkyvu`L$%*?Ua7$=p(5&7T1* zV{<|2z+)hF7u+x)xy`=*QBNf!GIF*lOVX^LY_ZOncjb8K0E!{Lg`8K-9~?;OUYVU) zR3OM&ew(MotP-iIVhcS2H)xB})dl}PayV@137q27#hb0E;*E++_d`1j# zv7z6DJcYzr>;O&9nWKpo$uR8~#G_I62zY1F%rtp-1U8%BXP#bWmHxk`7)X;WvjbM$ z92gqQR}4Sbx}J9oq*v9i4xwH=R0i14K%rMzBv%REO5WA@f9(#h5+D;T{=aSm7%1LgIojyZBgBpcPUS0S+WVW*;aPF5bb)=Vl>CR0bGF7-cfP;m0&<=JO!K`z= z4D~si(<8Y4eb@<{tB36-sV_8cQ4+WzBhGhBjTwPzRy_~Vq?0GwxQ8zC=PkiNaw%?V z`@n$sHGo4kNdA&#_8~?RS&kFzhef&ygh9 zn^^5WRRNZ8!|pZWUEM|wD=DzkQ9migim$xwP&8ZHr8#2t8_EZCbDG0~AtZM$omgD$ zyFi`l-&+%z^15ur{GTf`yuqUBb9N4L0=R#!>^ZIbmdc;KG2(r2@apyBF0!n#Y~U! ziImv;I0DfzNxAN0V8evgR#*}_RqWTV_mYxK;*vt|DdzAG%p?k+e)?~1Zr&DUVd~Wl zJ2}a%tI)p0stC8&x$H~gRt|K@$O4hTBULe#KfV)2_kZ=B+Dnt6jkWqLcHdrhSs=u z<(d&_U%6%)=P%|g|N92HM2PV5jcT^hix#n(h;R_x&iYUozk*=3^R9w^ zp!R^wU@v-UtXzd4$MR}?Lq8s~F9GudCVFV4Vq4?wFA6eK$^A>LZKHxV1<|e*D9w%v;gnO8iAfzOvUg-Gq2a&xr%KX*JJ?Q^n4MU zgaLWKhkUIAS4STsT3q3J*_6}XsyCj=uTg6=6!}E8Ol9Ccf9H%?Z&p#A#BfGghTL1~|gxoQ{v8U=D zo-Rt4q_X3shSMEHb-Bnmi%f+rdgFJfk>Agko)eOW;XA8pK+%TCXWUalBdlgl^X1E{ z#;DxE@XIxju>0fWN@PFk`G!Z9cl>zjZ}Fy`d*qYPKxfhMZ^Fy8jR`wq^aOr-?V01? zpA2fMuj*CUl(+{o)NgP78;PX-;lp=Jf$ULP-oij4#`mTxoUL+8W0deV-Gyfu#tPzO^gbcte_y4#J0e2*d9hH1?qvo$e^`#|jW;qb} z=thUjOr;$!*b??Mf5_>++BJkA`={Ru*8$n4Wiy%wFKeuFy|(SKc|#b|0p5k2+iZ*B zNbY3ZPCV%A<}IFFBO^{n+KaYfiB*%a>e+01*Fab25sv<%G| z5MzwjSG91Mnx4Mr1$t`GGWf2k$M5G+g^jwrlQl;LL6DWI(M~Qapmmx0-7Gdo=X=eg zoT|%^_G+`MiL6_*>HBM7bQlkD*Co!@SDbTgq^^}k)_$f){) ztg0Z}w*LQifd1E2PTi78`MMg0o&q$BKKG&03xQ10rk?wUk+i@5cOh_X{fPk~{jPAJ zax4$*!2jQkdKvSw0d?uN|I6e?vw$Z*1s&&TNZ)O8>Px%NP9LC&8^7HA3drA-+;d>h zJcTk!(FXL9QG2>l_y`p9^Ep<$c;sEzOH|sbMp^@;e}aEsHw*dsPV=&BE$-teMZcj_ zV%q)Ithq7XzS%DN17B_%r)RE$z_=aU_EllgduM(jJL7fDJUQ_!wvTs<79n;F1v>gD{2 zbz7nw?FGm(3BNy*gmfz4%k#9-^=to;R8lv}$8i~~{wNDSQ_(kb2DDV;+LNT*15 z2uOD~2uMo`Lr9l&w{(Yu-=KS+^PYY7e&7H3f8Tg9_w@|&+|O^VyYDq?ab!1m6P!Zg z&8Bs1RxCG&B{%UdByHhLnHwE6fM47~kLCB+Tcm~*DJvwI1$UF=8yQdENcRLjw^cCV z*HG}+W1H21R2izzY$3y&0@+oHF=bLI;wf{)^TKqYc-oW;QaLBI!RU2c>l{(bDj!l*30jMLwEh(><=bXhYeuZ`P5kTl20~8M z`5iBvmS=8o;UTf%^j0#KTtucE=XNIT5!p-p%C}uNx>W3cWsJFh8aU_Hn|FqPNkoYx z^ok_aJNapEAO~WM7FMm5}tHa_yIxRnwn-o}`lUErq1_ zkT9(H*P%d=1sLRzjI;_8%w<4wOc2T?Bt7UwHbwsuRMy| z@vNmlQ#*FYNE?u2?IDK7_HD9chPBxL@PQ{}`9hX0bdW%xjDoQW?XUrt}g$@Soa|zvU5j%aY}DU{Vsso5IUbc z(HK(DvtF++{BGW=1{vaMhhKs?n@nan$y|ZAcla->QH5wB>*oHucHoS`vd;FtxBD0h z-o&H8R~J&;iu5pel01U7!tj}--&KQ1Dnmi4P)n|yFCK|ofTuNLJkTgJC4K>vaIA>f zIvbwa(vT{t&i7@1d}tJ4Dh(A5&gBDjSZ{5R`nqv{_uL!+=a0&eR3*by2?L=ay<&_X zOu*;x&R^v>@qcxJf8-H~CXmfN-=_aIJY7#t22!H_m%>{p&u^Q%eVao~(t{nN_5$9Z z!)ZM_QZ>6A*y^zcF=WPrJ-}S)R!9LbQHcXm{)2o4V`7A^aKa3-w{J;0qD;mc6t%q=Xf6}7xfkc=;?^r;Rx zT%A9`+4j+=Fa^@~`hwIQ>HyiG63;6ow*xMJOy|ie%+6^9!ntol|Eh*;XZA(@xzKOa z8MvnF8Gyi1+B5nS+4S=jDT>rg{9kSRGvJPs7Kh4x%NC8e)ak6!A6HCATCjhCKHi z)m1P1kRjHS9}WGNcd~!~FOx)w8{)+Q9)zsv-~FSx)6Z*o6Ugz$DB*JT?f3k*_4r%& zeQ^KF%E_+?9Q;sbnYr9W0;xj`k=1sJJEWH8@2|QPcvUtZ9*KQCu`n zDD;3Q#%A`%aJh%A6fSkx!Z=8%Xe=OmW+H3yK>{SVp{F&_Db{>!Q|bRBK9atxaEC;0 zzuZ!C^p&Vq+8;I&Qk#jpZo=zYdg_`K;p4W5WLL=#{v_oJ$oJDdcbSHQyksSnBtD86 z2P_EO&WBVyeF6pbCsmPu2FnD6h=>T~Bx9xZ`**+JiJ_RF>_M;1OX_`1WGrxAWfAdNM4hnisMBW?;itN{)Kttg{`6aSr5di0*|4PfZ*EI&@hZJ9Z zQd5y*q(_oxq}QB)j= zkXHBw8v>o4nnoHD&Hw|m?2xMG}n8u$sf<}_y_%Ga1?(B z&cVdl*~HS^$i>{l<)0Cr6mk4Q_*bgtw*DTC?pN{dnTHUQ-s+W0%j!oN=mHNUw z4%yuKs$Z>_@t5y#vgo=3oieL<)ElQ7;5Fby{79>f85&tMvq| zGLe{2u|@%RzGuAu!Y@!lx-fH6yh}8HQoDW*x7MrJ?)?Ykoc{=&=x?E$IN6vx{WI*< z6Ruyd|4QvX7$^s_Vue(#Y2ke=_OD?-(adK%1zGf34Kee%`SrdR|B=f)_}Eem_p*Z- z@%uUO$Hn1XsOZ!glSH!Rcv3mH%6O0ptsT?6bB&|-+zXRV=R?^z+FG;Tb;gl7@3dx- zUA=G{<`!}V&+X+s*5yv>VHMYG@L=D1DYg8#22_pC!U^McDDWmc^W2%}HVqjvews`jnT$%KbX6_TLG9*(#) zqh`g~D-7lLV<+?cSNnm!l|NjXim0;8Wk*0sSa63tW*c<+;ysm|-2khiBMg3SKymKg zZNMtbPgo?r)omm@8zsYM?<8hA=_a9hh;dM}mf0uV400F!_ADt1c2D3;TTwOML;scl z@@K#4pZX8=x5mxd4x;Q&cI|2Unas>BOk8bUm{?g^nH}C({;hFSf#Loo34f*GDoWDN zkqD3=T%XIzNT@+5$`Tm^{!mszR6|DoaG32mln7#{2oV|F&$8G~T4AzWM!Shyik9tl zG=vP+q`&-|?z-nfV*}rv7BnGlLvHh5=AUc_t-9#x1IX)7`sWD!Z}U(7cdGK+9~e2A zTl^arFviF8Yn1*<|J4NyC=bXfGKaIsDKb2{0o?y~1LA57a-DfS#_gqX!TvSPrKL5& zxxu-mfPe7==}9T-8Av#Tza7DIdBy<+g#lS6csZ%Q0J9Hj9Kb>L^GGpzzzBhwiHQeR@kH&fDb9Tpn) zk8E)1+vVUn#Z3q>s1NYwwwf8r=)agm+_GiC5;G>K9AmNt(@Ew-WiIxry11X~gf~o2 zj&<%bWYjdOvl>-DvlaA~6iA7Tbjw(U>$2coi(*gPmXsQZ;yF+G$$6w`r^wXOQLl;3 zgb!KIUK=sl)z~{e;w$Eb zIJ%fv{+nSmMi%%rjDMy7Dn9hG3M>%0LBjekxsmv9xk>d;4X%mH4R5Y#j%$Yg|5t9* z;^omn`t?xbA|2T7f8b5~k8<;G&B!oB(zs`!-+wTl%+WIQzs#ylif zMYS8QNu(zL-6=wyF_p9I84UT6(g(QSpDQhC_%YndV$!V z#v-mJH#jc1)IYZnVm9LbHE8^cu?QrzEkq|q{vaziEW zsz`$M{+#dZ|2W@32xtovJ8N5Oh$jKLy!kgcJ1vBN;ruIoH9U+2LyiTvS}!Eo#Eh5j zQ!+z04`$tUDQ3>sQe~jm{bri@ z&1q>s^N65%Za^vt<^_%9vkVQ9!slQCe)qz02X!=;wVN|xqzy#zAKb{A;w7mZG$<2O zv@^xDQqo&O${HzTh$DQDw=ku7fa-`pAUFR<=-3eGwkDqTt}f2{3cn~B+doUUNVdo? z^nay?26{2;FR^^GZm}^&%|rBMj92FE7%Hb;moKS)D=U+tVOvc_mu~PkDSN!0Z{}5E zNAa(wCNI~4ZtuCeZFfG{kbi7$!-qA7Lm;jD!eSgcqcDlEawD4mEFojz#CHV}lh-1s(>sNRlS_46gw>A0#gFLc3EM-bh>j zWef@cmE44GAbE3DM*^6&MV@?N0riaae9hsda}BLr#&_)({yRQl| z7x6b3hoqs2n8|e+b*AYsgu2_c=yBOrDI2j4K&0^%mG?%PL(zti{o>BtH9LWr7X$k! z_vF5v6xv^!9)&V?=36l`H*h9di3X_jV7k!ZkTGg{!0~MTJzrwQ;>=41$Dr7jB_H23 ziDI3SY>h`%m`{52;LyoracJy|lbv`Nobc_J@NBPWj54OsX2E+id5ZPrkueL}%clAVDxwL>0q`vp+%)By}%8`SdN znjr^BPE~&DpUL)af<{>jlakF|+V(nPYLFK9XuDmqq)5FkkT9oOM#cUK?-HEbo4``exE6iEPbk zvk9dnhbST6w`m!^yO;2aPDO<}c}@429|pJO=C{7-$F1iauxVFW#L}&6uS$oI#wABG z2o%D9jSA-!3NR~rA={X2@uOgjQgGNS%>ZY3qG2XCwPMZF+Je*y^2sGbtZe4@=$KX!7muhM{IG7O-gMJNRNF4c5lG-FZW3tQ_KdJ}zIeK>=0W**(rYcgW>S%A9&_^3ye34)&xLYU=d4emh2}d=WLDw79Qtq`WCxQ5 z!dsfXuwp&52B1kPT{+#D;J@-~BGeM4!1cn&DXA1s4tt$o@@aA#wyG|aNy~@86%Yh% zus+S>m#$uw=>WBVw*xKh>GwQQSxRZa!kgeLx!m0)gJ)808*0hycSD(it-`m2?d&46 zIVx(zO|xZeFI{V4lTivi5BD{43yB9BO~cr(l&vDd=FH;y@_WZ4Kk^n!D-NpE`WhQa zJojD;Rx8Ucc&&iVsX51fnbT}LhF34r-S>(Fh+Q=OqKT~!=?!CB*O!Tn?L5a?Uttvt z?#^ft=MSIod6BHV%qNA$4pvAYE8BPh+;HZT8%6J$cx}sNBGTc^<}rJ|$d;tO_nN9B z;tDx`tW2(9)!gD`1_WpiHeSrh|ip1TDIzraGKAPZ>HYgP>cavG3S+<3KAt2@fy#6kTA~^an%rcaTsZ1b# zL33n~qZTw?v!gRw`||9d`kQv5rJB;t)?Cv<5 zw6O-e-S1WZMjiI*>tonWtT!R;A>FvH@AyfZW#3IZbpFigt;RVSF@S>S5~*jpc-TL` zcIi@leI#7xgp%H??)g*6tfBJE)i3k2@aF73luo23t{1oU7q!C`72hdhzdfs&B%s|j zwO^x-ChE*?0D(~Tj_GYU2Z3_sCVLNb#%S&!2~V+vmih5mZnm1qqhXS{(2w{Oz3>NJ zLay-n=>pZ@82#s#o$n0MTTxqMnIbo?nsy8S7LQe?-aLMrup8rsX zS5<B%nqk(2fHdIjky@p^^C za|v!fHiTohXra8vdX9Q;AbUFzi)^{eoO`DqF=%+4JBwOv;X$VWW@SU%yIEGZIry;% zB`KO%rfBc8Rp&4hqk1Jz==Lo=g8q1iKk_wyXy(tb?#y0r+uN?d>8QeF@p5GD^GrPA znDiBA^_;E}ftN4)?CQ>*J8o+!9H)T5CnQUs-8m+lzAc=CgAi$XRLpIJ#(wd$aT2?tXN#xRi@T?+QHSI#~UI ze4sZI1go`iHNs8lYSJA01h>Ymjzucu;2r4w?7Bza0EbE8R&C_Eiwd9ijv2yQi zVndni*KfP$2jAu0pz?0zc%@%O(DLg=(@1~Y-2vBSR_ab(mnHgDi=~>OWl0R^2~9_! z5}-_fQK%;IGBTimKaBe#`<-nz$f;n^x4*}FT&l)bIFzm#(Zo#3ryx9uL3t zi}HH1RFASE>Eh!Z>5Svq+GoVyVUnirZ~D)P&{H+_e??2K*3K>_F8?McsIC_M6*c{p z_NXt&b&H@sV5jb=Oz5iOo_?XwRY7MgNl~9C;v@6(auD!UL$c>>s%L$IFXCSuPA*MtZ6C(o*Bs> z*oQ*XPbGWcc zO<1_H))SkBC@ItjhALi5Q2f*ZFF?rS%!d z17$%k%**a!B;w}|gcK5mnX`S(YO3ypi{pZzd64apdKLe?F)*iWG3T)I;zsKZKJ?0YI{1$aSP=Gq3c&xaIAK5pz}nRQ zjkEsKI}_W>f2=a0r;GiX^uN--sWPEMxT626GLfGDG=W_FpQ}tTDo<4=9_8qG0~vJ_ zyuQZmZO_rWEaxfFImuvcxxt`t?UXP~a7?AObK)?vVs51lnNLAc9*MQTMe2Mgeg!K% zMSos7-F^cz3cP`|O7aqw%lD2xCOI^O{m$dPcRxGM1%7tdjH!Pexa-T@u<_dNycXtR zsr+71p;dfdiAT$*UID@z!Hea(2-KFGKB3P@hSn5<;`@nn24Ou$u#iy^1^?;us}7R3OjM#*p+4%N}2NP zr4G#LCxX`$P=|VmsbPN6SPwW@A$0ffa=Z8m>hdZCMk0b8utF0sp3~1yTagCJb;I0+ zN=Wx|eUK8@Fkr5>Lac~%BjJPQmD(ES3|zSs z+hdUN@fEkCq?&ESRVyHw;APQXQSIl87Q%#0Kj|E>v&fB(T@_(2U~Q|+CpZuzu3XE9 z3FLJ1*XcwApiaP=kOE#mB5em&&upf`McI;<400pm)hNs@-Wq2@SCh=YtAoCmgIYJ? zc;IBN?SyB%fipRaL}U%%?0r&*KRZu2MKWG3Fi)RALH$Ypw3Yu+RXEuHQC0jZ#DA&E zU+Led3K@ho*)LUb_VT)bT>PI^1t~1OHIMNB^hZkbg zR)bFiqDl{(IvA0V0&>VI{21%{kq~nS0}!1sz=W}>yqvFfk~oyyQU`2X6*zPi<28-a z_5#%>lbJU<5Uwf$DsiVDrocn?hQ>Uj=Wj`uuYE1v?J|6D2*X%7`0-iK?Ol&zi_iYU z&9{#$j)Tn1^tF@DF%f|$*3_Lzhn*=>A{~clyEgjwyg?l~Rn%6*ldxg(ws;;R$S7$d z`nJI%ZkVFfE5I2Hv)pg&)rO%XPNsPI48DQrn!6uUXiH#_nZ|T{B~;d4CE6g;6AUEN z8;NQ?Vg`BM9z}QtsEZ&nfhhWgy^P`A|NYy-2?>^_7QC}2j zM`iJN4s4Js;(d2t^P?1YiWX~=&0&ag#wO~?cY_R4s*)QUE3xV4Hk)1UM1j6w%rPwZ zKv!m1VPe3R8buwqTJ8fiv1o@Sh;s;?!LlVw6>fV|EZrAl;PZ8cSqo3`*`rF=Fo7k^hK6pXBIqhqWA|~yUxm-K$&ZFA z-R+SrA!?HTSVV_E!9CXuh;Nx=@D@64?)yo4xd>f0+;k)CeKhu}J+K&Yo=cbz?p7Rl z%SbY?B|)b}N_FB5pHNX7JNX`y_Ndy+FJ4KZc-Ngacd8X;ISG0i8>y6==s<<1pc^Ch zJrkU8^CE|TXR3AVjXy!Fxe#)FM0ooJ+M)!ZsuarpU0ij5dy?p~7Lrdt%xxI<#4;5y zWkb?mcCb^E({DKfz1xP&uBeD#zLSt?m8q`59)3j+#itta%mlgMBkVEKjdGY@Qyos% zJrnw*9Jw7!kcJlQ5gn{Og)a9v){x6hSUZJG<|!JjgFnpo*X(sGs=!C@Y^n>=jxa+R zJu=1@@U`3GWdjK1g{}zWO>spcE}P??WM0Em=x^=)IpF(utaqLPWLlDi!$L0j6jSna z7KIQ%igay+z01@mQ{E99!*zH1tP5V%NO@j@ivAAhEnzS77(z!xNeTqVsaV~cIsp-D z&f^IYgXDbM6b|1cZUl?F>8Lxu4H1`hHmM*YpOK|;e31h%sHOr+lQj8j;@ej;C8KLQ z(Kbc)!eDGv;k>#K@>5({#B!`*y!#@K2$qnG{jz;zp7i@TYH_aCu(OwTZ{8 z;ng_Cvy|{f*bm`%V5gQ4ij)epsybTW(YmP7QB1J8xYNmO*+m&;{k4@$)SEwyz!YX> zTIJo?DHbxwh}p#%zwPSe!$EoPDf1;R4@p1>yKCMIvH2AJ4ATlpLWe>^4+yq%*=eK= z-eeIZ8k68apvHr-s7ZT!i;4v%^xn_@lo5akB zsJk!jxDpWIIU=jj_m8VGs&F*Q0Tu?FvK2WmB*a(=$rA9$b@O*eCc>+tbA6wE<&0CH zRV*Zj5z4D-380k3Ml1rD31|4ZbixjYEQp?!l)!M%3b%IVV!?uyoVA891+Z8Z9DmbC zmJ?DS-o48KF8gyaQHr2wEFsCM62|vxv0cR>0exABr7r+#425fkm>#}-FzdxF3@^pJ zPteFx1V6cOZ!tow^nbaKS&6ON$){c!6Z_QSqgp!x%fZ(5Q6Y0AL3znxP;(BbeY-dXltW2Uj&K|`hdrpV!_&DoW{_r zc+?QpVk`g2T&L}N`R?^MErTOG+Jqo1F{H0?N(0p7g3Yn|h{>C0%wM;hJd;=6{j9Yy z9jrB#6{#*RBY*8x&b~ut{|gXJ*7L6SXYeDk;X*l zrx5)lR|kIE!MWM@O!Q>2`vY!ssWqc}a!49^kYhnR+)P}lJ>X^ z$}O3uNT7%brH!Ot7y*+WovVy)j4udi{g^XnMlx9~zh`1mUUx80oVir;@+If5*%kT$J3X|rJ!vivpgUPSLC z#e!+_i2>QBI3VM&O5Uo=-Q|9t2mPm7uXmTXk={j$h2Y1xDDh#U{kNy{Wvmw`jZ~aI zob7@_pJ@lIJd{xDcTYn(QSgf^k;FF)skiCC@8TT=cmN~CZ$Ip+(ssFPe|?lt;AZ+J z7{Va6%9#qZO)8yPFqW0_k$74=Im)=oG9q-$OY3;aeH%C{s_5!h6A0 zRb`}`k!2q>Sx#^$F_E7svXa26`L!rLX_uti+++_c6^KKpZplk!`~?AA&_%WULe%^m zJYO$jTTFu6XW2!4vrkBUbB6&u8zcsvEf@fQgf0QEcG`ef*L11Ojv!s%z{i!9ZnDk5 z8VE9~D+WWOwmNaIkt{^hF925hl~w1n`a#Ogx)N8!DperEI%$7b^Yz>brFhnvA^G>IcvM2Ndj(%llG^U}2_6W=WwR%(SNsSE+^ zW)?mx+@>2~L_KRWR6!~%%X4p44%-25p?7kfBV~y8NPag}b^F3cYSqZr^5weLP`}Y} z!q|#P&pk2u&nq{v5&q8f3j+Y}2@AX-o7)&}TRe!92b%c=`_Os9WrJeL)T2+k$U57g z$d!YdZil4iiW%#UR!jCoi<@=wrA@6OoQtT z5LHm3iNg?X?^>j(bEo)EGq$sc1`+n96Vy-?ip5HD(7Z=JEcPO8!Huf6dP`0sw0~R2;#8B7)0f{tKpFgA!qv$;_Q)h zYb$vA#=dDiZM3Apr zbKf}w_)#^hLj=sgzWMI1KGEc)UHR>S@QVCKCxBHqU&vahm?@wa=(OjmsoW~YoZ8K( zlHy69a`>GVd^N>hBOJ}49QHt&f=7OBUEaOgmQ7HIyYk7Nv6Xfp#S@|{h)5~7DMxG> zh3&QojO|hZ>^rZKu@~?`nT9kC8}dDFw&9kWHeFy8&tt)GeAAZGl;x6w> z?y0%+tcuw~YA>jz?b7yCMxum83#Z!rhW0h#`y{x|r%0QAJG?SxusCA+G^GLNl`qyy zPw|nZLM9rbmaMj*o!;bz!r<0_? z^8+Of59IEjQaogd_=Q2Msg3^eonck+7K9j-hUn4<>cGWC8uC%i@JiokZ30qso5^mF zYZvJmlfQFgZHk8~(ZZ;{RiBl&hqsF|PL&;aMFDIDGuf7`;NtuWh|In6UNFGQdmgGu|PAHwM+h9hoOva8(5S0{i^yG($vzTA)+z_aK> z?Al{2rCWw+yG=Tew#sa_!1wMKrVAGWTrc&)nu7iC+kgVv)L%x?Ph0?DH=G-(K(VAd z@iSJ$=2vvmF!}BoUcI!^lT6P{(@!kewK{jq84C#i*QL#K?$`1sg0A78@_xZ0i zKOK9JvpE8bkx~-jfKEjzvE>is(g!?!-hDKhQH(qYF$^z6{bR4A-7-2VG^?4 zZ@IMN85E>(Gbg4M;bBux1CNVW7=oJd>+LQ|Q^Q5C(6Ct<03JbpeGZTzI0HMX1rKdG zf9fRt5Gva5I#1El@XWoZC<{B8T4Xlcg+*cl+;wX_6<}Z9?d)k z5%nS)(I~YUYAsNC2h%Q5d+(n7(h&XJ&PFE+<*cYNM!he1+63Ew#yu>*F2ERek1TCM zhwSQ2(<_;)>%15p?o}>{RuiJ(Qy!&G%sDXlyMV6@NxS&+=a3$mj@juZZ!6-=dP9b= zmao)T1Hc-0jN(KqJ1c2Rp}SR@ob(y5@xF@vKFEM@M^VlNfgNG8`YEWCc7BMTo#0Qn z*fh;*CunzP3f1X@w*y^y$+@{A+lpikh&@5}qnJg+Mk!HV6Uuklcyfaf5@?jZgEQ=Y6Z6=3x_kZWn|Ib?iNEUG4O z7^V}S+v~W#h{n~GT6}(~uXKBFL#|1gwkmEGf~up+3@8^3ZdSxo)EKlUL2hO6<2UII2@+F2S!QFw@4ngm87o zL#`ObfFC1`mv%+%i)QcG!OP0kq9_>lc+w77eU9|;u?+XW#Mb2;35S7MXr*ja-8mOq zh>`Ng06`6|!>uiaN+nXbR22=++=>_-t|_4@KVR64Z1tO_ae45vix>zh&>BQ4M@jX5 zokz*y=1IwKVUe+MxRf=1G~D0syb|c!AZb9c06lXo1H204n>yD&vX&Gv2m>%P%HyfUa85r-=J)f>n~ld*gmI0bJbxTwTC)2&zk7q}7|MWit>2 z9OT=F7!5Hr;SUmJzZFck?A@|X5>D>T1Wrtl^p4)9x0ndq-ufw;QE zaq55-&kuKlkmeK_xxE0>p*|>77{G2@Qbnx0Q>@=&-Xw9iSj)&P@g+DZqsL}|0y{lS z2ev|nnr0xkfgxN&GJ#+!5B1WDN(C~TFu1zmlOwZVX2ai9kpz^c==Mu!R^wT$#KG2_ z^IF?Mf=t9_?Yp5`#sQ94Wo-dnvgv2|V0j!p$B0=u6{O470M^73spqd%L*er{X~HW3 zN)395lY8IZqq^i0>dNF@<_i1A;(_##Qze>ce~EhU8WLE&^3jT_sB{<4sO6?a>z{-IouVY9c{s1+P&NpmQd&= zckqOmUX)w9Y+uiz&r=u^0^7ym=G57N&8MJm=v3J6?W!XPEZ(CCo$jw^SD~aljwR z?|?rbo4;QP->lF9?xgE>LSzYhJ-ewcIYRe1RF)bq#a;j}Shs6+qo}nFGqh{tARzFb(&-w<&7H@H% zbU*OqQFH#$>%uot5>2r)?p7RXJ+FK#Kl}P0;u+oYH36rGaph0n0U;Z?@Ob9cUP9Kn9?}>!7p^BYU#%o{iMdy z^(`?7{miTAnzA&Ae-pcS$%=J%nWv^=ZFrE6Y?`xx5_8Y)VZOHOa{~*kGic^~*?Gb50-)xC0J}lx^#V$+w3L1kn$cQ(=h!|s zq5KFPuy)jhm6+G7vsMCKnXH*y=xD0|jx?Qc&4z`sFK)D-#~>r0M=G8{b?nw3Q;F3l zKP1GQx%XacZ>D^-%CB%{Ai<{c^YMyss%ZcIw(P1nV7_u_q#1!Bujc~}by5PISb&`k zAA4Ld(Iy2N9GwK4T%LAY9uc-cl^EA+mA-Z_&OE@dYLEoOf*k(>@vay*B!eJ@=ha!R zj3qT#YxeGPa|wr~8IH3?(`Qnzfc|_u_qN}?-+E?=#s3^le)Zw5zQx%3h}wA5r>5Wt zQy!=`b>$;Q@l59~B{7P(Ut9=DHE8{vch#b@g2u@{{hU@b!PKWJ)aOCYa*oSw3 za3z;7(aZ0G%!te^_>5G0MVlqjweNx@SB z3P89;U1v|bCN_{*g{@^g&=7?+e?>`#IkjPOs4J!lNLZEXKJ?)Qhqn1%D{V4cVC>Av zJ4?g5l;b(-?G|@O>m}->lqFF3wVVj>LtF%Bm&E}M)hEQXK>f{JC`mdgfSl@kIgMO` z`Vvb0ZW0UXw6%*~TS-E`G5oI;L4<9)mQpd?R7RbLqm^R;Y3?f&>SDv6k9)8?={EJ* z&Tp-rU@ja2cW$=Sv21xAf5C>-RS=GFIFdD7 z)e+B$7pUk!E!wD<95{~j^uX9KvjX&&OAMGg{Hclkl0rx-L7)Wm`lyj+Bj&=Ho5lyJn?1i4io2P{4t{@Ov9`u9=*w8-yr@N&AM5VLT;BKw z=RA)I)?1Ac!2$g>KkBKBhgtwIPGJ_phB&ofY~-Z{^%($SL$LC(Ag+(POtn_rw!TFA zSz6dq6iyT3d~XTJEeCmNck6?9X>2BP9pQdiY|+-tKFKlm2-)V{k#QUZ%#{>CzfmUu zL`g*lk3fOgoERGwiocOs87>3jhbxtlhX0g63kVkg;jq$6+9v0qY?X*$zixHiscT?fGc}gwtNj0 zB9Q|cu{ShS{u^=qZlAR1{U_u6hnT!I%VM951SMiPFacOclvo0>N~+3`)9Lf@pPYOD z;Vzj4?&98A%guT$v)CuTS3fbaUGHq#Ofy8H#Fpuc^j?N}t`S(QL(U189-@<=ghy~h zbPS`lg)xbbjlwD*&n$t=4XWxn-Z?&Um|hTsNi7QY6B8Bbp(iFvO*vu>rLnsK>4S&; zu_Mwcl@*Zh=e!ZAa`(oJQth7$(x>%b3yNAl`;2>++hFQ|UIQx>#6xAfT8{W3wlyvm zG9{w5vC;Y^DG=LwY5~ea*^;P~z<#X~=@sxY2cT5vm(uXkB?og!|BZCW=7-m=ED6@v zLt}ysfPONw*{1^|B;V2SLxQrB%=wur^AX9M) zV!ug)C78t6?mJHXq6&*P$ zsM{XSnlRNm5tGM7xa3&?`6Af} zn}deMA!bcsY9e|_&Wcb3qT$SkW40n6FJx|8j-98lobYDO8YL@ufM;XUmKC8mGFz+!fsW}x z6cH(GJbv1chwtj8#Q18Hk|-m|=g$F1dvbEwCBbxJr+heq`+#sH4agaf^(ErZ*a*i_ zX!Wg@z+2dv`fu9EzX=X2>b;o~%mR$iZ7Q&_=#g&=&NgSnG9ZS_9EeZJSx|!Z zL%U_jUIW!yClJ#ylw`~>Um|$Yky(*P%zWA zr7d@-v`l2YybYz%ebv1$F_$4cc~!gWkY0CvSn^vLn;kWPLX*KY4-Ej~WYC@X$=&s# z$y<`;IzQOB#F&0yMdUrFfiZ-9^wQbdfKFZbChI=*OEPj`EH{P|H+iGcHu>8|8I?8f z<^j&qM<`>e74qUG_WcM%Yrfp}lh6#Z|2LN(`S>8I;^a{(({@TU7zOvd-Jz?JoCt*8q6xEshsIHM z2Tw)eNjx4K;c}V3y-!U?$lKrD{1)EBXKGO`WFQ(;Dt0MV^X&~#Pmo{?v3SQ2I!UuG z`+@D83A8VT<~2@AeihGeKL3Du)?k+Jl6WtyAw2QuQ!{7z)KL3#oklrgIsXO0(tt1+{8kiI^-Ebwt~>5;`LtY}m5D(|dHH7oT;bO9dlu;K zU5@qni3NA{%c{F=+z0;0<3c&Ch8X%bU`I;O+~e0JjqCLGS!vAYM#+*KL4?dAH0yIh z6vsBe=F;_!lYRMDNM592~ctoUOV$3UL|ZkF~M~RYIEtmu({}? z@LG29ccY?WviVVqU88!L!x$=pr~g(9)#Vg_to4cPxR@-!nk_=iBzx`3$_q=~RaRhN z6meC!r~Rg6ZU0kLssPl?j~qt2yTYN-2R0uNv;CAZE$f^R_FTy+o1!#TUiyHqBorW| zYLLB`(a(>O?jd++^j7-biU3h+ybHhQN-4UZ!MIrxzG5|q?@6R9yA(G-zX$=fd-?7;r^SHqCmf1 z9hG}u@Z%VH_l!BdDX=rmBGu?dm|AGV{^T8|1V|#XFUnEdf(F@Mbo?iUU*HoKi!-Q< z@^mvH`_gq~Uo>Aq01SR%4|~MBWC3mv)}#x1EHw7Vhumj>z?MoK)hoNX=l~lj`thKA zzpL}0;SehNPL>1cQeT@Vt%G4T0d^ukpVuqDsXJb6!6bWsT4!7Y@>ZCX6iE)Z)mod! zJ>>Q_NMf^qo^qCcpbQtjWb$5sGQlHgR7SQE$bSMs15ggOfgB)v;;Pe|0$W|C`8Ek#5p-7*%0j&{gyYlbiQ6ATSmGXXJ>8B5TEM8A_!5m;Xlwtbmq)@e70_S#-NAb`|{g*L3JWeVbpXY}yp=o5}Mwz!b({N(qlbv;K@|g{0BcfZ#^h{?X=J z#w?-v$Q{W1h?u0=aU3S~`eGPZ`&}Hw?@>Ifyi8fs90^uEFX34r!PPphWj{{UL-Ea| zgFJ&)5Ao$SHS_m!4|!>n5SqDSxB>}j7it=$W1BcGdd|ydbPLZ~P>g2Yej}O@NPXL) z_r`mdCVbAJWmb8SsRlc;2j5FA16M2JuGXgKE>RJ9-9`+&-gpQ6$#O^ixD!hCh$~I? z_>(m5wnHxV_NSx9_D?=l9GS9N^&^h^9SJsov3cQ@8^h72)`=w_s441;8≤6y;~2 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�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 literal 0 HcmV?d00001 diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..861ba375947a31e3370bac6b340bf34fc5d275c2 GIT binary patch literal 1229 zcmV;;1Ty=HP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1Y$`#sdrO6MY!`sA8?a(+2E=lA>echb`^ z`oL?4>ksH0Kl%At*0$=GH9NZg^4$|6a-nnnis+VaSKRQ?w#uSgzuQ39{(E4P?T`zd z{Rc!hUPrX`s{miGYx4TWw;8_%+a(v;=4EK>mY}Ko%+EDC=coR2AMcj@8U#nNR?CH^ z;R|SLK7n?FE6|$#UG<5!USDr?3kn?v<-VPWs(1jrdk@$`BBaY1(A>yJG^+itl?zSn zr%+eC=jVM{<*E+q4SW<#iAeq3P<8GGyPyaAIKwwkx|#{~k`bCObD&-}LHm6H zw11ZS-zyjDs*j*9eQU*~b!A>}Z=k8ZEZ-cifHL7O@O`mh=MF$Tmk4(L0N9%buy<1+ zeV7jEO2#Gwl)VF~@Vu;OF~9{s7oj%4fymrl5XSdHnA!*N4hpi)Ry|ay^15)BRA!-ih#C0>UB`^5DQfBW_PExP%Ju&E*j6#92;TD5EXV z(M<-(a5>mGIYHO`Q-H;T;OSgs@;y-S5vv3Kja+cM4?$H}48EZVyp1@DX$z#A^b=1B z#33?TLcfO6jR9uk!S}`>{5}@gd^6-C>Y)Pg<~;Bg6Zj@#H_;Y|D<8rU;x2$NSO9T^ zOj1x!tQ=rwKa_Dh1DkGzTySwls4B83L^f@~NLwInIp8~UX$z#E3_JtzSRTZQd^y1A zUWDHp)VKC07g72&aHXkGRS`=XZ6O^hdj|OSObA^R>_|2}1~O!XIF<{3@G&T3?g(ra z47rF(PXbq>2UkHyvjM6`1NfE{+CnOX=TgD<0EV \ No newline at end of file diff --git a/instance.js b/instance.js new file mode 100644 index 0000000..3dad752 --- /dev/null +++ b/instance.js @@ -0,0 +1,26 @@ +'use strict'; + +{ + const PLUGIN_CLASS = SDK.Plugins.Twine; + + PLUGIN_CLASS.Instance = class TwineInstance extends SDK.IInstanceBase + { + constructor(sdkType, inst) + { + super(sdkType, inst); + } + Release() + { + } + OnCreate() + { + } + OnPropertyChanged(id, value) + { + } + LoadC2Property(name, valueString) + { + return false; // not handled + } + }; +} diff --git a/lang/en-US.json b/lang/en-US.json new file mode 100644 index 0000000..47dc943 --- /dev/null +++ b/lang/en-US.json @@ -0,0 +1,262 @@ +{ + "languageTag": "en-US", + "fileDescription": "Strings for Twine.", + "text": { + "plugins": { + "twine": { + "name": "Twine", + "description": "Import and use dialogues from Twine", + "help-url": "http://", + "properties": { + }, + "aceCategories": { + "settings": "Settings", + "links": "Links", + "tags": "Tags", + "passage": "Passage", + "encryption": "Encryption", + "variables": "Variables", + "objects": "Objects", + "functions": "Functions", + "save": "Save" + }, + "conditions": { + "canmovealong0": { + "list-name": "Passage has links", + "display-text": "{my} passage has links", + "description": "True when the current passage has links to other passages." + }, + "testfortag1": { + "list-name": "Test for tag", + "display-text": "{my} passage has tag {0}", + "description": "True when the current passage contains the listed tag.", + "params": { + "tag0": { "name":"Tag", "desc":"Enter the tag to test for."} + } + }, + "testforname2": { + "list-name": "Test for name", + "display-text": "{my} passage has name {0}", + "description": "True when the current passage name matches the test.", + "params": { + "name0": { "name":"Name", "desc":"Enter the name to test for."} + } + }, + "hasfunctioncall3": { + "list-name": "Has function call", + "display-text": "{my} passage has function call data", + "description": "True when the current passage has function call data." + }, + "hasvariabledata4": { + "list-name": "Has variable", + "display-text": "{my} passage has variable data", + "description": "True when the current passage has variable data." + }, + "hastagdata5": { + "list-name": "Has tag", + "display-text": "{my} passage has tag data", + "description": "True when the current passage has tag data." + }, + "hasreferencedata6": { + "list-name": "Has object reference", + "display-text": "{my} passage has object reference data", + "description": "True when the current passage has object reference data." + } + }, + "actions": { + "addstoryjson0": { + "list-name": "Load story", + "display-text": "{my} Enter story data {0}.", + "description": "Enter a story from a JSON string.", + "params": { + "json0": { "name":"JSON", "desc":"Enter a JSON string for the dialogue."} + } + }, + "selectstoryname1": { + "list-name": "Select story", + "display-text": "{my} Select active story: {0}.", + "description": "Select the active story.", + "params": { + "story0": { "name":"Story", "desc":"Enter the name of the story."} + } + }, + "selectfirstpassage2": { + "list-name": "Select first passage", + "display-text": "{my} Select first passage in this story.", + "description": "Select the first passage that was marked >start the story here< in the current story." + }, + "selectpassagebyname3": { + "list-name": "Go to passage - name", + "display-text": "{my} Select passage name: {0}.", + "description": "Select a passage by its name", + "params": { + "passage0": { "name":"Passage", "desc":"Enter the name of the passage."} + } + }, + "selectpassagebyid4": { + "list-name": "Go to passage - ID", + "display-text": "{my} Select passage ID: {0}.", + "description": "Select a passage by name.", + "params": { + "index0": { "name":"Index", "desc":"Enter the ID number of the passage."} + } + }, + "addencryptedstoryjson5": { + "list-name": "Load encrypted story", + "display-text": "{my} Load encrypted story data {0}, key {1}.", + "description": "Enter an encrypted story from a JSON string.", + "params": { + "json0": { "name":"JSON", "desc":"Enter an encrypted JSON story."}, + "key1": { "name":"Key", "desc":"Enter an encryption key."} + } + }, + "loadpluginfromjson6": { + "list-name": "Load plugin JSON", + "display-text": "{my} Load the plugin from {0}.", + "description": "Load the plugin from a JSON string.", + "params": { + "json0": { "name":"JSON", "desc":"Load the plugin JSON."} + } + }, + "cleanoutallstories7": { + "list-name": "Delete all stories", + "display-text": "{my} Delete all stories", + "description": "Clear out all stories from the plugin memory." + }, + "deletestory8": { + "list-name": "Delete a story", + "display-text": "{my} Delete story: {0}.", + "description": "Delete the named story.", + "params": { + "story0": { "name":"Story", "desc":"Enter the name of the story."} + } + } + }, + "expressions": { + "numberoflinks0": { + "description": "Return the number of choices that are available in this passage.", + "translated-name": "NumberOfLinks" + }, + "linknumberid1": { + "description": "Return the ID number of the next passage, at index.", + "translated-name": "LinkNumberID", + "params": { + "index0": { "name":"Index", "desc":"Enter the index number."} + } + }, + "linktextid2": { + "description": "Return the ID name of the next passage, at index.", + "translated-name": "LinkTextID", + "params": { + "index0": { "name":"Index", "desc":"Enter the index number."} + } + }, + "linklabeltext3": { + "description": "Return the text to be displayed on the decision label, at index.", + "translated-name": "LinkLabelText", + "params": { + "index0": { "name":"Index", "desc":"Enter the index number."} + } + }, + "numberoftags4": { + "description": "Return the number of tags that are in this passage.", + "translated-name": "NumberOfTags" + }, + "tagatindex5": { + "description": "Return the tag at index from this passage.", + "translated-name": "TagAtIndex", + "params": { + "index0": { "name":"Index", "desc":"Enter the index number."} + } + }, + "passagetext6": { + "description": "Return the text in this passage.", + "translated-name": "PassageText" + }, + "passagename7": { + "description": "Return the name of the passage (same string used in a link name).", + "translated-name": "PassageName" + }, + "getencryptedstory8": { + "description": "Return an encrypted JSON string of the active story.", + "translated-name": "GetEncryptedStory", + "params": { + "key0": { "name":"Key", "desc":"Enter an encryption key."} + } + }, + "passageid9": { + "description": "Return the ID number of this dialogue. Reference the JSON map pid number.", + "translated-name": "PassageID" + }, + "noofvariables10": { + "description": "Return the number of variables that were declared in this passage.", + "translated-name": "NoOfVariables" + }, + "noofobjectrefs11": { + "description": "Return the number of object references that were declared in this passage.", + "translated-name": "NoOfObjectRefs" + }, + "objectrefatindex12": { + "description": "Return the object reference at index from this passage.", + "translated-name": "ObjectRefAtIndex", + "params": { + "index0": { "name":"Index", "desc":"Enter the index number."} + } + }, + "variableatindex13": { + "description": "Return the variable at index from this passage.", + "translated-name": "VariableAtIndex", + "params": { + "index0": { "name":"Index", "desc":"Enter the index number."} + } + }, + "variablevalueatindex14": { + "description": "Return the variable value at index from this passage.", + "translated-name": "VariableValueAtIndex", + "params": { + "index0": { "name":"Index", "desc":"Enter the index number."} + } + }, + "nooffunctioncalls15": { + "description": "Return the number of function calls that were declared in this passage.", + "translated-name": "NoOfFunctionCalls" + }, + "functioncallatindex16": { + "description": "Return the function data at index from this passage.", + "translated-name": "FunctionCallAtIndex", + "params": { + "index0": { "name":"Index", "desc":"Enter the index number."} + } + }, + "functionparamsatindex17": { + "description": "Return the function data at index from this passage in comma separated format.", + "translated-name": "FunctionParamsAtIndex", + "params": { + "index0": { "name":"Index", "desc":"Enter the index number."} + } + }, + "tagsasjson18": { + "description": "Return the tags from this passage in array.AsJSON format.", + "translated-name": "TagsAsJSON" + }, + "objectsasjson19": { + "description": "Return the object refs from this passage in array.AsJSON format.", + "translated-name": "ObjectsAsJSON" + }, + "functionsasjson20": { + "description": "Return the function calls from this passage in array.AsJSON format.", + "translated-name": "FunctionsAsJSON" + }, + "variablesasjson21": { + "description": "Return the variables from this passage in array.AsJSON format.", + "translated-name": "VariablesAsJSON" + }, + "pluginasjson22": { + "description": "Return the state of the plugin, inxcludin all stories and positions in those stories, AsJSON.", + "translated-name": "PluginAsJSON" + } + } + } + } + } +} diff --git a/plugin.js b/plugin.js new file mode 100644 index 0000000..ed47913 --- /dev/null +++ b/plugin.js @@ -0,0 +1,33 @@ +"use strict"; + +{ + const PLUGIN_ID = "Twine"; + const PLUGIN_VERSION = "2.0.0.0"; + const PLUGIN_CATEGORY = "general"; + + const PLUGIN_CLASS = (SDK.Plugins.Twine = class TwinePlugin extends ( + SDK.IPluginBase + ) { + constructor() { + super(PLUGIN_ID); + SDK.Lang.PushContext("plugins." + PLUGIN_ID.toLowerCase()); + + this._info.SetName(lang(".name")); + this._info.SetDescription(lang(".description")); + this._info.SetVersion(PLUGIN_VERSION); + this._info.SetCategory(PLUGIN_CATEGORY); + this._info.SetAuthor("Colludium - ported by LYSDEN.art"); + this._info.SetHelpUrl(lang(".help-url")); + this._info.SetIsSingleGlobal(true); + this._info.SetSupportsEffects(false); + this._info.SetMustPreDraw(false); + this._info.SetCanBeBundled(false); + + SDK.Lang.PushContext(".properties"); + this._info.SetProperties([]); + + SDK.Lang.PopContext(); + } + }); + PLUGIN_CLASS.Register(PLUGIN_ID, PLUGIN_CLASS); +} diff --git a/type.js b/type.js new file mode 100644 index 0000000..5ec8a86 --- /dev/null +++ b/type.js @@ -0,0 +1,13 @@ +'use strict'; + +{ + const PLUGIN_CLASS = SDK.Plugins.Twine; + + PLUGIN_CLASS.Type = class TwineType extends SDK.ITypeBase + { + constructor(sdkPlugin, iObjectType) + { + super(sdkPlugin, iObjectType); + } + }; +}