From 81f0622b8d61e40bf30e234611c1ad12a9c96f18 Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 18:12:55 +0530 Subject: [PATCH 01/93] Create turbobot_engine.js --- extensions/turbobot_engine.js | 126 ++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 extensions/turbobot_engine.js diff --git a/extensions/turbobot_engine.js b/extensions/turbobot_engine.js new file mode 100644 index 0000000000..57c2daa665 --- /dev/null +++ b/extensions/turbobot_engine.js @@ -0,0 +1,126 @@ +// Name: Turbo Bot +// ID: TurboBotEngine +// Description: Advanced AI text and image generation with bot memory. +// By: Seigh_sword + +(function(Scratch) { + 'use strict'; + + const icon = "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; + const blockColor = '#FF4C4C'; + const menuColor = '#B00000'; + + class TurboBot { + constructor() { + this.bots = {}; + this.textModel = 'openai'; + this.imageModel = 'turbo'; + this.temp = 1; + this.seed = Math.floor(Math.random() * 999999); + this.systemLog = "You are a helpful AI, who helps users"; + this.attachedFile = ""; + } + + getInfo() { + return { + id: 'TurboBotEngine', + name: 'Turbo Bot', + menuIconURI: icon, + blockIconURI: icon, + color1: blockColor, + color2: menuColor, + blocks: [ + { opcode: 'isReady', blockType: Scratch.BlockType.BOOLEAN, text: 'AI ready?' }, + { opcode: 'getCurrentModel', blockType: Scratch.BlockType.REPORTER, text: 'model?' }, + { opcode: 'getBotName', blockType: Scratch.BlockType.REPORTER, text: 'bot?' }, + { opcode: 'getMemory', blockType: Scratch.BlockType.REPORTER, text: 'memory' }, + '---', + { opcode: 'createBot', blockType: Scratch.BlockType.COMMAND, text: 'create bot named [NAME]', arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'TurboBot' }}}, + { opcode: 'deleteBot', blockType: Scratch.BlockType.COMMAND, text: 'delete bot named [NAME]', arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'TurboBot' }}}, + { opcode: 'renameBot', blockType: Scratch.BlockType.COMMAND, text: 'rename bot [OLD] to [NEW]', arguments: { OLD: { type: Scratch.ArgumentType.STRING, defaultValue: 'Bot1' }, NEW: { type: Scratch.ArgumentType.STRING, defaultValue: 'TurboBot' }}}, + '---', + { opcode: 'setTextModel', blockType: Scratch.BlockType.COMMAND, text: 'set text model [MOD]', arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: 'textMenu' }}}, + { opcode: 'setImageModel', blockType: Scratch.BlockType.COMMAND, text: 'set image model [MOD]', arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: 'imageMenu' }}}, + '---', + { opcode: 'simplePrompt', blockType: Scratch.BlockType.REPORTER, text: 'prompt [TEXT]', arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: 'Hello!' }}}, + { opcode: 'getImageUrl', blockType: Scratch.BlockType.REPORTER, text: 'get url for image prompt [TEXT]', arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: 'a racecar in a race going so fast' }}}, + { opcode: 'attachFile', blockType: Scratch.BlockType.COMMAND, text: 'attach file url [URL]', arguments: { URL: { type: Scratch.ArgumentType.STRING, defaultValue: '' }}}, + '---', + { opcode: 'setSystem', blockType: Scratch.BlockType.COMMAND, text: 'set system log [LOG]', arguments: { LOG: { type: Scratch.ArgumentType.STRING, defaultValue: 'You are a helpful assistant.' }}}, + { opcode: 'setContextText', blockType: Scratch.BlockType.REPORTER, text: 'set context [CTX] and prompt [TEXT]', arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: 'Persona' }, TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: 'Hello!' }}}, + { opcode: 'setContextImage', blockType: Scratch.BlockType.REPORTER, text: 'set context [CTX] and get url of image prompt [TEXT]', arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: 'Anime' }, TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: 'racecar' }}}, + '---', + { opcode: 'setTemp', blockType: Scratch.BlockType.COMMAND, text: 'set temperature [N]', arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 }}}, + { opcode: 'setSeed', blockType: Scratch.BlockType.COMMAND, text: 'set seed [N]', arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 }}}, + { opcode: 'getSeed', blockType: Scratch.BlockType.REPORTER, text: 'seed' }, + { opcode: 'getTemp', blockType: Scratch.BlockType.REPORTER, text: 'temperature' } + ], + menus: { + textMenu: { acceptReporters: true, items: ['openai', 'mistral', 'gemini', 'deepseek-r1', 'p1', 'llama'] }, + imageMenu: { acceptReporters: true, items: ['turbo', 'flux-pro', 'flux-realism', 'flux-anime', 'flux-3d', 'flux', 'any'] } + } + }; + } + + isReady() { return true; } + getCurrentModel() { return `T:${this.textModel} | I:${this.imageModel}`; } + getBotName() { return Object.keys(this.bots)[0] || "None"; } + getMemory() { return JSON.stringify(this.bots); } + getSeed() { return this.seed; } + getTemp() { return this.temp; } + + createBot({NAME}) { + if (!this.bots[NAME]) this.bots[NAME] = []; + } + deleteBot({NAME}) { delete this.bots[NAME]; } + renameBot({OLD, NEW}) { + if(this.bots[OLD]) { + this.bots[NEW] = this.bots[OLD]; + delete this.bots[OLD]; + } + } + setTextModel({MOD}) { this.textModel = MOD; } + setImageModel({MOD}) { this.imageModel = MOD; } + setTemp({N}) { this.temp = N; } + setSeed({N}) { this.seed = N; } + setSystem({LOG}) { this.systemLog = LOG; } + attachFile({URL}) { this.attachedFile = URL; } + + async simplePrompt({TEXT}) { + try { + const url = `https://text.pollinations.ai/${encodeURIComponent(TEXT)}?model=${this.textModel}&system=${encodeURIComponent(this.systemLog)}&seed=${this.seed}&temperature=${this.temp}`; + const r = await fetch(url); + if (!r.ok) return "Network error!! AI is sleeping?"; + const res = await r.text(); + + const botNames = Object.keys(this.bots); + if (botNames.length > 0) { + this.bots[botNames[0]].push({ q: TEXT, a: res }); + } + return res; + } catch (e) { + return "Error connecting to AI... try again later!!"; + } + } + + getImageUrl({TEXT}) { + try { + let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(TEXT)}?model=${this.imageModel}&seed=${this.seed}&nologo=true`; + if (this.attachedFile) url += `&feed=${encodeURIComponent(this.attachedFile)}`; + return url; + } catch (err) { + return "url_error_check_prompt"; + } + } + + async setContextText({CTX, TEXT}) { + return await this.simplePrompt({TEXT: `[Context: ${CTX}] ${TEXT}`}); + } + + setContextImage({CTX, TEXT}) { + return this.getImageUrl({TEXT: `${CTX}, ${TEXT}`}); + } + } + + Scratch.extensions.register(new TurboBot()); +})(Scratch); From a1a822170e71a732874ee81ffbe8039a71420628 Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 18:29:26 +0530 Subject: [PATCH 02/93] Add files via upload --- images/turbobot_banner.svg.svg | 116 +++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 images/turbobot_banner.svg.svg diff --git a/images/turbobot_banner.svg.svg b/images/turbobot_banner.svg.svg new file mode 100644 index 0000000000..549214a48e --- /dev/null +++ b/images/turbobot_banner.svg.svg @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 196c5663626583e15373dbd10ce2d8325ca93885 Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 18:30:33 +0530 Subject: [PATCH 03/93] Rename turbobot_banner.svg.svg to turbobot_banner.svg --- images/{turbobot_banner.svg.svg => turbobot_banner.svg} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename images/{turbobot_banner.svg.svg => turbobot_banner.svg} (100%) diff --git a/images/turbobot_banner.svg.svg b/images/turbobot_banner.svg similarity index 100% rename from images/turbobot_banner.svg.svg rename to images/turbobot_banner.svg From ad83006e0d9b2df0da4abd5acc30647804c01219 Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 18:31:04 +0530 Subject: [PATCH 04/93] Delete images/turbobot_banner.svg --- images/turbobot_banner.svg | 116 ------------------------------------- 1 file changed, 116 deletions(-) delete mode 100644 images/turbobot_banner.svg diff --git a/images/turbobot_banner.svg b/images/turbobot_banner.svg deleted file mode 100644 index 549214a48e..0000000000 --- a/images/turbobot_banner.svg +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 24b411ee4a140ed3364d72647ac138b18474aada Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 18:31:49 +0530 Subject: [PATCH 05/93] Add files via upload --- images/made by Seigh_sword.png | Bin 0 -> 85448 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/made by Seigh_sword.png diff --git a/images/made by Seigh_sword.png b/images/made by Seigh_sword.png new file mode 100644 index 0000000000000000000000000000000000000000..00575c10f704de3e9e48b31ccb18a81920a67498 GIT binary patch literal 85448 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 h-2WH809<$7{{w+cV@mPFU Date: Tue, 30 Dec 2025 18:32:34 +0530 Subject: [PATCH 06/93] Rename made by Seigh_sword.png to turbobot_banner.svg --- ...{made by Seigh_sword.png => turbobot_banner.svg} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename images/{made by Seigh_sword.png => turbobot_banner.svg} (100%) diff --git a/images/made by Seigh_sword.png b/images/turbobot_banner.svg similarity index 100% rename from images/made by Seigh_sword.png rename to images/turbobot_banner.svg From 45d5d2e795c702dd71b30a1dd0bdeb60ba5686ce Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 18:32:47 +0530 Subject: [PATCH 07/93] Rename turbobot_banner.svg to turbobot_banner.png --- images/{turbobot_banner.svg => turbobot_banner.png} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename images/{turbobot_banner.svg => turbobot_banner.png} (100%) diff --git a/images/turbobot_banner.svg b/images/turbobot_banner.png similarity index 100% rename from images/turbobot_banner.svg rename to images/turbobot_banner.png From cd7ac4d2a5147e6952c542527c214abb5f86ca0d Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 18:45:39 +0530 Subject: [PATCH 08/93] Update README.md --- images/README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/images/README.md b/images/README.md index fef54d00ef..d391bb15d2 100644 --- a/images/README.md +++ b/images/README.md @@ -118,6 +118,11 @@ All images in this folder are licensed under the [GNU General Public License ver ## text.svg - Based on https://github.com/ScratchCE/scratch-gui/blob/develop/src/lib/libraries/extensions/strings/strings.png by [@JoshsAccount](https://scratch.mit.edu/users/JoshsAccount/) under [The GNU General Public License version 3](https://www.gnu.org/licenses/gpl-3.0.html). +## turbobot_banner.png +- Created by **[@Seigh-sword](https://github.com/Seigh-sword/)** in [canva](https://www.canva.com/) +- Used **[Turbowarp's](https://turbowarp.org/)** logo on the top-left corner as the logo +- Sorry for it being a **.png** file to use **.svg** we have to pay **Real money** to get the pro version of canva to use the ***.svg download feature.*** + ## Lily/lmsutils.svg - Created by [@HamsterCreativity](https://scratch.mit.edu/users/HamsterCreativity/) in https://github.com/TurboWarp/extensions/issues/90#issuecomment-1694410464. @@ -323,4 +328,4 @@ All images in this folder are licensed under the [GNU General Public License ver - Created by [@SharkPool-SP](https://github.com/SharkPool-SP/) ## DogeisCut/FormatNumbers.png - - Created by [@Dillon](https://github.com/DillonRGaming) \ No newline at end of file + - Created by [@Dillon](https://github.com/DillonRGaming) From 9c604a375184c71569ca687318f9cb2ac2930cdd Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 18:50:39 +0530 Subject: [PATCH 09/93] Update extensions.json --- extensions/extensions.json | 1 + 1 file changed, 1 insertion(+) diff --git a/extensions/extensions.json b/extensions/extensions.json index 442f300d59..c3f75c1be8 100644 --- a/extensions/extensions.json +++ b/extensions/extensions.json @@ -11,6 +11,7 @@ "runtime-options", "fetch", "text", + "TurboBot", "local-storage", "true-fantom/base", "bitwise", From 6f2c67e98ad0aa5a34de031a8605ec17878371a1 Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 18:52:41 +0530 Subject: [PATCH 10/93] Rename turbobot_engine.js to TurboBot.js --- extensions/{turbobot_engine.js => TurboBot.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename extensions/{turbobot_engine.js => TurboBot.js} (100%) diff --git a/extensions/turbobot_engine.js b/extensions/TurboBot.js similarity index 100% rename from extensions/turbobot_engine.js rename to extensions/TurboBot.js From a3af0e6a285779a5b8bec4104e1652ef296d539e Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 18:53:41 +0530 Subject: [PATCH 11/93] Rename turbobot_banner.png to TurboBot.png --- images/{turbobot_banner.png => TurboBot.png} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename images/{turbobot_banner.png => TurboBot.png} (100%) diff --git a/images/turbobot_banner.png b/images/TurboBot.png similarity index 100% rename from images/turbobot_banner.png rename to images/TurboBot.png From dc88708174093a76cd4e3a023ceab29c091502e9 Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 18:56:50 +0530 Subject: [PATCH 12/93] Rename TurboBot.js to turbobot.js --- extensions/{TurboBot.js => turbobot.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename extensions/{TurboBot.js => turbobot.js} (100%) diff --git a/extensions/TurboBot.js b/extensions/turbobot.js similarity index 100% rename from extensions/TurboBot.js rename to extensions/turbobot.js From 6320ffc5c89e7ccc332284d60bf0c2c8897d5bb3 Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 19:00:00 +0530 Subject: [PATCH 13/93] Rename extensions/turbobot.js to extensions/Seigh-sword/turbobot.js --- extensions/{ => Seigh-sword}/turbobot.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename extensions/{ => Seigh-sword}/turbobot.js (100%) diff --git a/extensions/turbobot.js b/extensions/Seigh-sword/turbobot.js similarity index 100% rename from extensions/turbobot.js rename to extensions/Seigh-sword/turbobot.js From 7a04f14970dd671425a34899930945162f7aedc3 Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 19:14:01 +0530 Subject: [PATCH 14/93] Update README.md --- images/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/README.md b/images/README.md index d391bb15d2..131dce421c 100644 --- a/images/README.md +++ b/images/README.md @@ -121,7 +121,7 @@ All images in this folder are licensed under the [GNU General Public License ver ## turbobot_banner.png - Created by **[@Seigh-sword](https://github.com/Seigh-sword/)** in [canva](https://www.canva.com/) - Used **[Turbowarp's](https://turbowarp.org/)** logo on the top-left corner as the logo -- Sorry for it being a **.png** file to use **.svg** we have to pay **Real money** to get the pro version of canva to use the ***.svg download feature.*** +- Used [PhotoPea](https://www.photopea.com/) to make the file from png to svg and resize and used other tools like blur, and to make it the form that we know now ## Lily/lmsutils.svg - Created by [@HamsterCreativity](https://scratch.mit.edu/users/HamsterCreativity/) in https://github.com/TurboWarp/extensions/issues/90#issuecomment-1694410464. From 3fdd4599bebcd2061aa44e4c0f8ea85600efe971 Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 19:14:58 +0530 Subject: [PATCH 15/93] Update README.md --- images/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/README.md b/images/README.md index 131dce421c..94bb963753 100644 --- a/images/README.md +++ b/images/README.md @@ -118,7 +118,7 @@ All images in this folder are licensed under the [GNU General Public License ver ## text.svg - Based on https://github.com/ScratchCE/scratch-gui/blob/develop/src/lib/libraries/extensions/strings/strings.png by [@JoshsAccount](https://scratch.mit.edu/users/JoshsAccount/) under [The GNU General Public License version 3](https://www.gnu.org/licenses/gpl-3.0.html). -## turbobot_banner.png +## turbobot.svg - Created by **[@Seigh-sword](https://github.com/Seigh-sword/)** in [canva](https://www.canva.com/) - Used **[Turbowarp's](https://turbowarp.org/)** logo on the top-left corner as the logo - Used [PhotoPea](https://www.photopea.com/) to make the file from png to svg and resize and used other tools like blur, and to make it the form that we know now From 5dd8161fd41bcf94679afa77567b022086f2c74c Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 19:15:48 +0530 Subject: [PATCH 16/93] Update README.md --- images/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/README.md b/images/README.md index 94bb963753..ba79452144 100644 --- a/images/README.md +++ b/images/README.md @@ -118,7 +118,7 @@ All images in this folder are licensed under the [GNU General Public License ver ## text.svg - Based on https://github.com/ScratchCE/scratch-gui/blob/develop/src/lib/libraries/extensions/strings/strings.png by [@JoshsAccount](https://scratch.mit.edu/users/JoshsAccount/) under [The GNU General Public License version 3](https://www.gnu.org/licenses/gpl-3.0.html). -## turbobot.svg +## Seigh-sword/turbobot.svg - Created by **[@Seigh-sword](https://github.com/Seigh-sword/)** in [canva](https://www.canva.com/) - Used **[Turbowarp's](https://turbowarp.org/)** logo on the top-left corner as the logo - Used [PhotoPea](https://www.photopea.com/) to make the file from png to svg and resize and used other tools like blur, and to make it the form that we know now From d7845c1989fe059aded6944fd8cdd0f1b7305a0f Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 19:17:49 +0530 Subject: [PATCH 17/93] Add files via upload --- images/turbobot.svg | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 images/turbobot.svg diff --git a/images/turbobot.svg b/images/turbobot.svg new file mode 100644 index 0000000000..26788fe0e4 --- /dev/null +++ b/images/turbobot.svg @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file From 626ce41da867172911034a0935650953b1c56a17 Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 19:18:10 +0530 Subject: [PATCH 18/93] Delete images/TurboBot.png --- images/TurboBot.png | Bin 85448 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 images/TurboBot.png diff --git a/images/TurboBot.png b/images/TurboBot.png deleted file mode 100644 index 00575c10f704de3e9e48b31ccb18a81920a67498..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85448 zcmbrlXIK+o*Dt(h5>n_zrAmTSMIh3PkU7E~1M zs7Qhh3qn*xQG}o%5s)U$K$3U--}kwn=Q-E;@LuP9NHTk7&)Q|Jy~=N`9PsgSlatnv z1^~#dc6V710E}HiDCzHy--@*Y?1#*B-;@Y|{L{Z5=%}&0CII-y+x-HP0@ixkhsMX6 zhJ?j$3pY)PWn#SnSWZu2hJ;3kCsDVBM{bXEG#q)zF{Ew}b2Rj~T1#8YTp1p<-F;6& zxbGe>ztBC=p>|=0bSLTMDfSqF*zlwfYD#QOT%vu7qv1bv?Xl~>x6KT(P6=TV_Um0- z|J?;^IT}VKB{A*I%y#eIZMxgSG(I8HY?+;%of*yC%-q}r>tT|Z8kZE3ViK3Ai&2oK z{zJnhJTWw3J2Po}d>r*J&5&*J$w`iehSJo3lXgx@O4z>bKh)zAO+)^s1r$wbM|5tx|=di@T&3_Hz8@}_O#=lxI+y5Df8Iq6~?w868cQjldo*18; z5E}jug}*QTo5;$9@Q|eNFeh`Gxs}N>a}x{NaxES*Nvp%0EN!-h*oN4e zn}pG9Eln&fEW%7emW5cFSlQWxTUkWdS<|*f{D;uLUiqJ7T(@CVtjw*HH~YK0G28#ODgQM7y(|BD<6m3$ua5tX zE&u;n6&Cs*HZhYEV*U|KTJ~=yg@xKDZBL2`|1TCf$0Yqv7Gbhy z9}^N6>1dc@5*8j2k{pv{=oA|g7EaxkO7#uj9vKy!xH~=}jA}w%_J3I1zv(SE`)@=2 zKP-*;-vs=x2>x@<{t6%V09%*Ezt@Ge?46U7qT&;roD-7cqLX7o5~#jAs7C*7!i$&x zed&L7!;Zl}%=o|BaO|A^XUG4?tWrXl|LsU%-R%Dn<@f}@`1ly7l_7DvLa1T!p^h%j zZnnWIw|Pa*?-gu*7%QN3dcq;Ou*F6JLE?&093Hr#n~_A)X<~pGOZ7H z%!WBV4I|UnCNok79aXODu2Wid{=h;5Bc03yFOm*fNvj4rIjvPAr>c3_g;`hl@i`-g z33SZgh4opkIh-i)`x;-7c;$-shnE|yDof;|Yc{{By7Vye;_Pp`*;~`%A@6w&V+D_O zi`b}Uu;fAdzLc4eS?Mv}%BiDIvlU8Tuzp1=O69R;?=5fmJocgH+{`QgA>*fIoS0yp zh6(*y;WM+({&{9;jSWttX!^c7Nye=7&hGT7`QN(s{xUxBXz#kt#G-Wl8<7eJzdrnB z{PcRzRPx8`b6;8&<@80{+oY2zhhD$x+UNz>n8nA2xpa`OZ}G8;x1%8+-1g?+du|s-ZOC zzVfq!^QY!-`;#!c=3AkIPiMwM?9tukh80VLb_B;ie1lzV+7_&8w*RWs$7hGGtvbXj zSapb6y-&s@VP8Nkx1qG^+NyQFp~0*D{41-j+^pHK!7lAi=}WB!xsv4Tis}iv$8$8* z>kJNW?_aY>>Z8k|eep=Xy}z<9bFCh)zy;p+>3*qNR`hbG-cIeO{t38kRBbn#Z)1?5 z@U*c@@Y0BG=DCme&*eSa^WwvSxPIxk8#W!d-fLax)qn8Z&6~L3w{lv)ChnX&C)d3{ z>dDRn4|ZNY2VYn1*}QJ2Qj^rc^L^t9b!VFHwL0vSzuwo!bR>QpAK%z7z4KV$>sK#g z^DJ79KHXk-?C4p|@NmUT^&by2O-%G{s9rucUPq2Sp0o}0@F@Cj>-yDpNat7!A4BrXqs(0-t9NZGW zFWNCs=SRyv%}M5IhkNqZ6MwKZ6Mq!jTJF7@e%f)CSG|e(o!YQdF|PF#`D3<4WCq?Q zq8ah8le3}5-S1nOw#tTj(K~mL$b2@|czZjgc<}c25%1Fn<2+AG+jLc!OI;r+(e%Ao zZ<9K{mwDQ}FQ{%=>iEOM1|`N%9c;SuuQO+Voa~u$u=zS+-7q$_*5>RNo30t_25nRm z`z7bhG*I#UbDY=E)(JOfUUv_mLv@z?1k?j0DZ*4ik*iJwUvF9+kcBw@eK@S~3^ zd#69|Y;}D0>DDE+hr7Q(>=6RLK{E#g%2T1b5rPg-6$QzUDuF}dI7OJbo!bYLf$$${ z|LvhG>yRRFWyw_11Fty@8$JJZ@5_yt;|o2?_I$hhWe9Zc#__u4xarDx(RRTlGV01I z1A!XMMg0ZU*|U1)UG95z`{c4_1Orb=^PhOi-p_mq6e|j$_=&wwRfw)|uaNE;M-)Sl)T?m`bYDj;^9C58QBTYQae9Jk5cV*cGPTa#OR>-3n zo&YcUS^KtIE=z1mRGcu(eB0dzycH*Q<0|P{8AQ?7lw3AP6E9lL5U{qa1y^L*FCa_d zArkTwGKGA!e3&G5IaHU5K7o2?Dt21{8wK{?FXkd|b3h^1;gLj823)lG%HR!TDaR!L z^Bxatqj|VM80%~APC&ES^q07$rBLyAj;0=t`5P$z^L-3Qk^_SGcy0ucgv4~wb$F@=?5D+dW985GZy#$qf=MZZg!Z9_o#dI@(baI6fIfxi8bERytI=Fw zBtLpq;%tCZR7Q(%&x?Qy&%2W21m)>bO`$qo&1%p)MA;7l$a(E7Cj-#k5qucbDHqE_ zK32dN=2s!}p!`4sSTNZR<}FbyL02fFWw^E`RvGy`o_hr;+XrIiyL*Ca=`dFiCr7n} zK3Rdau+L=#BJqPl;n9V2t0Gz9a_IgHUvi#4&=A(Rkd2l@%xK_>=Pt<9S5|xjHR@4S zg>qzWkr+Q+Nd@5q{#D4u2s*BWFvuhoM2-BS90ZCC^YOiHnIDuDFGKl`kc&PvMn?3Y z)WfK|9#sWqoDKdxQ*#(%zU|fro9BA4)e-{7ay@|QM6@!vM~ZO)F-qkdB{eQEDHzAF z01x1p&G`0X=;JW3QpX&SAtQY%ML0`hKPd*E>+$Sh;>IR0_cJ`vk??GVWV(FH*=zq4@0@1Q)s(N)94h0VfE53=JGJ9MC{df#;VAhzi<( zpZ9>ka0O>fsp%8D$w0BY3Lq;vUQ*>3A!n(8GLU8k+~yW5138g>EPGs*i-`i(58Wt9 zCZS&l!d4g1qtB+{6ITqSXJvFF&pm+_V@c@e2qdt%y%A==lmK?|e1~GEf zTD+biYMQEPw10LC6O(q3<$=f(^S$K|6DY_PR?F2umqB@j66ML@OLN9Mpm!rs@()f9 zo?i(`i)32H=&zh<59TzTa3pVVTUfIaq)0dC|6O66LezP6GzT0}R@A^h)UpB=PCJm)e1e*}xlP$1lA1r`ca&vLwl{azrC-JL|@UX{$~Q-h_- z-9Q>SZwp|b4USX}@WL2VgoE;yU|h`m0_#!H8;8*Zj3fJW{$6=vLK=h!t-xtnWF3yC zPHIA@JZ6;|I`_LakTAq@~d5zI{bt zMhXnUVQYZ2yrK#sW0r>Jov(m$sOW+9xKU-$n0^NTbXA(^#Op2eWG(9BL3)d9?HAF@ zGPF+WuShT_Dc$n|+~HAm=p`A6lwP_6_HjpGxOg?XROEZD_N*45-QKl1Nnc? zzx!6Guo$E%7eAKCJC3tm$oTu@b~GqaLS5i*sn}_wo|8qI~#7sSzCfJp|4 z$krMu_qCvb;A02z`nnG=@GfPnWD<90mW&rr)}?ln%I%=A%GUsPN3yrU0!otxLi7NB za>yAd&`%lM$dvH}U3Ta)L)1u*dfE=fjQ8(s6%T|`AO+b9iyp|e+2Tm9V3FYCPLzjc ze3sg5i(6U+-dk|*;(G_74Qr4DV;^j_xAE*|AWOzLMKXi-QPCIIs8O)bG+G#{S#_Rx zWF=5qgOs#`UPrb+0TO%!et7CD@ci)Kr5Aw!p8pC?gD87DglvZ7t#C`PKsnP{$7T^8 z&+H0ti^l7z;eIHBAn^wskS`8(1Fna;N)h0d26B6&;y5M&WcSmM+TBdTb?DS78lGK@ zrr{M=YgVlUl#**ei08-R<|~6uWNJdrk3YyL3Be0b2q^3+%@+J)f2d_pKra+sdL+HS zofQE44A4upeRRq0c2duk!6P|?KmxY}_48tCk@LC;7RT_#WCSzLP30g>(Cx;gpR?wX z$o$7@AAsdW?&BorN}?yzoHH7xGiTes)#ly;Df|gtzhX6v4=ZYu1gJ(LvG8tx`1ywXpA17W@?4` zQ!aiuz6XMF?XF@hJH!Iq1MGFU(Jh(l@yyO*uwo7JRuQ3+^WFfbc}n1plIL2WG!yl(LIZX9R5@pf3{G=!0;Ds29nMhQ+jWvU@Ie-izOny%6vi zMztX(p|SHjCzYUh3cOfPTY{s}vJ>^G>AKV=Xpt>sdld9JfkJU*5UyAec_E8_B~q7* z-O8Z0mt|SoRZuZi4O4M~k!VPI4Y23cET7Gtmb~2rhXz1XZ-Ax>T1d{RBKmEDtWUtc zQ|PO7s+OQk-T9CO2!(0ggu@%c!S=;a{{F-0kyVTX__o*Xh%*VPB=CO7$T>t&CNyL5 zGJ!bTmu$KR7>7|MD8C5bYY5(2s|Cw3p380`Q14{%RZvyYCYbM)Irf+PrP-XhAv0%I z$xLXQ@a2>wsv6>d1id2qMJKj!K0`zJLMlA7MQR;E<-JLW*(cLS&)Vl>_MKWg8a>B{zYyt zo~;2>d6Z({S%6MdQ)krCQt)l3F3gx^&D+J3ov4fszhD4GtwsuE6u025qo8qRKLwE`TQGv*e1@ zp?N!l198P>*_Mk?nldkSJ~Zzvr+TR#WORtD4BPIxkC~H<^uP09lBw1Br^@IRIZGp` zmfgB9WA#VQMWLC!m>4HIf^dEsxTlMn+N9h$069e0*_FAIUEu-HnLzT3dkW|m+!afB zJOSOP8HMVA-x`RL=w$&|3BGBd)kMqnu#YOJ^JttXlt5(0P&7!euA@wcndVw4cUN%HmvO?8 zttJe|7rUSD_*{d602PvWtfB?vr%})26%!Vw<*1_-pj?Ant_Ti80(Zpi8J_v67@T;7 z=X$|1P3S5-dKU8{=jJmYh~G9Iq2cVrKQ7bj4BG=wV^(VJ36c?vnUINoN$>bIDF%1OiLS3vx1 z)>|1PguvZGT51N*>ai1*$?n;}tLQl9h=6Qa?g!TSjf&5=@-RQs58a1nY{h5z*N~Qe zB2wMbD)&=FN6mx-^sh5DiBmR{l4Yj>=`MjHQix3iuWn-7J?WI8kB!Dfk{Hb>BNftReAp4_g+5hmttMK=2-fuh@MwoK z=3|D3UsOla6q~C6V-^u8p*IQapM)z^012-aplYz@$l5u<0w8Jr@Hsy=--%rkkMlB^EOTDs$_3MpB3a*MxgMYt z1}C8xWW)$kn(w{==Q9sH#WNdoz$X}uQ3vswwMtM<3EF&$Uw(^I1T@s(Don$3(|>7T z&UkYKCfx)putBp51$CG9uCC=#dO9ll#m|3=ig>U+4HAq%+7HzkYgMTi@OqQb8E+E1LX*PGSG-ad8in?Mf)~ye0Cumqf zFY?)M3^Q>a$f@MfZ+3tshqeGPF-b;fc)lS(GcdPJnL8_tWjn##2%o6oq9*E0h-)sTxj zAgF^@f|n_DXZ04;)4%bQLMSeB1vqOCD)3=`fUzs{Mj{sX1bD#j48aDaa&O>!DTB-A z6sq3N2SyWR$|z}Kauw^qaM8-h;j&w^)8-2@aWT;Qq|A0R0EP!gGS9Y(*TB4GnTnIB zE2a#;HzZE^3sDV|>?0IO#|D}*Jo*q((T%zX`SsyGUnoT}e|%g6O`D&uhqH|?g=(#t z3C1J}q-CK8#u=ZJK7KLf)PlVr29^kfWQW&0%-=jZ#>r%#rVKZ0O z*%40XjPIps`icokr9SP13UH1@=kv^{;4D6@7q&EYVxRd=e+ev&xns7cA!?m}Eba$I zGU-VT%VsP$v=s$0o_jH`$Wm93-MuhBjl1r$Sho!Al>)g3w+QWTK;DE1t4Jrud}+xQ~A-M5W2x%-I(k8(r?nG#ZGXsKz!u~Wzz^JV(=14^khQ9 z(5NL1$A9vn-q@)tT?bj#My!pS9B3QwTlxB!+|o_&9;WR4_;}whnFY6<+uF}nUG8z+ z8yo8%8{3*CC6ZB0w`&BTe~*!#Gzf<~bTG+T)NsK;~L zL6RF+HXV7{>^~aBz)V^p`gRq+Fu-#=KGp?bJ`zj)d=c=xZAK z9LH*(MIJYpE2I-Dyl1$E%BMekcy#B^lS2!_q0TZB`wyEwNwnB7!NPrECqhaa=Qrw+7hVP z#AvuhXQ`IoRl41%2wJ7wodG)Q_vd4q%;q!D47s#3ct735dCoE=SN!nWNBo(yy0ctk~Fyv2SoO zwhl!i1Fnr4>rZF~gDSuQw^SVpHRi7D`p(&@%r?*DD}p|ph7Od|j2)8V{uyr)az#>` z&DcS9Z^LQCsh=+eIa_&M+CD*lHH?!e_XLjQ1%5aw5_9lWV)~nG&ed7tH`;+;Dd^V4 z;v6g-m}+7Q;=eng;`VE(xFdOx5XTX1i~Th=o{+LviD%d}x@_NG-8IxS#9U#9boy%b z(BgiN#Gn2TOe>RF7s6Ci;~yqg^}550}CKubGQn8dU#Unfu0O_HA$p z6!rMgcw2nRX#b%2gg_x+BwBQSujJ=%u(;xm&eEDxobhvV|)$)gKpM}+*XPdmg7!EOj2UW?p>0V9!Q|5 zDM|(Nr`z-awwi82^8>Jb1WqKgNg~%(j2#Q-wvXu5?vZYe#u>JP!gX)xYjmT0b*T$s z{%tVk%Ed(G1&}Rsz9|K~2>kEBSwR35q1^9uMh%9&i*yeY4#K=BUY* zgLRx_V}3^Ky9<$rUoKFcHnTZFl(#WKTghorN-Aybut4>NCxWUo9!ME2(zL~P^A*w0 z2FKHc4snT=0#n**f+BO_@;frkc_6@;^m44iDzjJ-Je0G|$G6Qh!uhBG3ql$VAz)hO zA}MBvlu$kn^bKc+S)e#`*k_T`^oyDT@t@hb*IUCLa9q1Db&orniU!R9Uyh~I+1>E< z^X={YLWh{$dz>4uNeaMW{0~ zKzElXGdhz;oykbjz(?De{^Qx471L!EqIBNKybQZ*6{WX0H>bOuS+?W2iK6S963<>F zbZt0)xc??@BE=k9m&<<-Qzpe%mbl=`aS7;*k|`{6SK4(s9I+8^eHuCz0Xn5?17Y(4 z$yo~!CsodoD|ZqfvO^uk6&KD1({V;7R$rxll%Z<6QI*M~uasyD$$1udwljFXiXqZK z$xz-Y{%tY>3r}1P0)6)#G779885K~XU=meKYOavk-9_fn>-S9FAJ~BxCH7m3v(HRh zWn0QOx;?Ntj;}McWLE(TAqL}@-$(X-L2@rRvR|n)+NG*02E?+1xE&30pMoLl4yhly zz*kh;s?tD#2-<{xuf$oO%u*re;D_2}ErHd=nh3S?6s_5->z?jvcViWDI0^0k+l3eDQy1QYR|o0LzmrIM zqhUK~lP)XDib{wA@8%j@76tqI@_4K;4+h?Xn;_4?+#;U$EPCQIcX1@DAIok~XRvTp zg$h;Wz;v}6_XRJWkL62X+w8~&I1c7ccJUu_)hIrFrZjmdFB%LjQ4?VTM53047h`Tp zA;h`%0$3`{8q@{12|K=S?JSL_PWa!;*x{A2ju#J2Jh{wjDr|d@+#kKe0G>Fsl+wFV z@w=AGysRP-7UF4vlEZ5xkELlAxaL?%SqB%xQmx?UvACnHV78i?AB5tsGBAI5ZyfYM=3w*{G3z9xMWX_; zz{5*)?iQ>345hK7V&qTd0demD!isx;ag<@P?|;<-++B6Z{rK)qcK38c40XQ0R`Sz& z$nBBMoTN7`G<&+F={RBY>sPL&FX0xDuta27s?O-{=uU#sAD~j5(WA}-|k`q)Af<6E!m_4Pv! z&RFtP@P^#4`9XX5p`c=sZEB<8;iTC+4jMac0I|WD2~qj5Q|0N$71wpo53Eu=zTCWF zS%xKAA=;Lj`ryhH#E<#`FmGFMg?mxrPksmY=M3r^g}XF@+jHPJRM<&u^9Ef?G+m0% z1-VmuFlR%-=&QK(t5k#!zP$$c9_BWZkzlw~8I74QYltJEv!%bC9=7eXAMa1+QJ!^F zcw^{)w1AF^E2BT2IrxmyoGuNS=nP z?!%p3DtW%GQ=Op?;depfZ-AFsbYLF1t;crXow<|5y+=kK68-MVG~3`Y6{Ufv zI{rM=ITyZi>pw8;YZ=Z7$gm1U}_ zQdeP#BPVvXj1NNbsorw)B z6{czi6`zy<>ce)#wL@mJ_2LsKOL;xx8UIMG$<Dr=SgYz*}|jkkr*iY)eut?=Zl!;`MTDEtsK!d{E})tDi7MC^rWah+1&#_SfivKVy>8 zHbUWPsDXMK+8CF0p3Jvwm0q-j;!_#K7@AX!hLti@1A_b>az822el6oqr(lXuP{Wb$ zG60;y)99M~gbw#G|)3orA%?!tNWm7V+2D$L_eKj~eEYN4#dV3T^9HsS2~M z+nrlNU@U#UiF@(zg$o60cPiIP@k0rDho9N28RC2n(8tN(k1Xw~#KjI*t<3tQ?b9t= zTMwv~S@M>+v=$~IB|iUl3|=ludGE;0e%k`B+H#W!b(QB<4C9tqWHKU9vpg)Y zlVh)k89}I?6MJaU%(4k+!!WG!iK{*WS6ZN44AX&mol?)warAIpL6HUMUc6N|Y?nO5 zq$3>q!=J0ZO?mQI{VmNG*Iud}Qfc_mG@SI*f5sgI6nmYS%bAy&WdR+-vUZT~W_MLz zmxG%ehxccxBz66SOujWF!N@iV=FaB70R${be~hJD4lRh!viyu&N*5akpR67 zPs0=`mF12|LI-dfQK|vyFM=3Y>{Cs^Sl%83N!QB^VL*xU&zbQrop3z(i=p6KJVNyeN^Lx>DY-9X!ywhOx1Mr*z)0f+ktK>yL&7Skh%;op2*@n6Kzs|h6 z#qk%K9ZQRUWR-s>J30o$2LqXR%l;JUO%P>D<-jgW+rx1>zn6e4rN@w~3NRI3#mYf8 zjTs7LX}c9_8$oRu2pDs_ODtc&x~)&eg#OQ1Hyu>#KsQVfZHmtmS?(k{WjMQ6L^u-R-p!(5+9vqVlr5kr^tZa!NE35G$jmgJEYxJE{AR6ucM22k0GR$!ct z=v#0*7tspDudIEtSB-|GA;-gu8>S<(<5f@$Z+K7IJd7Jy$$GOEU}*#qR-Y8a_>5;C zm>JLJus;osj7|R(cRm|VxJAqt-@mrS+fbP#T6szol=yvK+;II6>Hz7wxhom3cvDVT zu@i`C(+*mSJ$Q7zsLTVY7OVWyW|*i_FXPXjfu`hGKRu9qg{lPE@=CFTC03J!+4Nv_ zZWJK^1ETR*>h?!-$QCpy9XY;$dJXxDF%Lcc6x^HnW{PoL#YSUBWD_ssi)qesP{|+o$#=nPW%Z7FE0}2R- z2t)h7`fob^z7tZ9BBD*uig=jaeMqb{3|W7M4N6fL3vPe9(kH1rEy)E7?wmAj6=<4l zZ=C(WI*98vMN0mlYuvc75QQfkw76rCoDXDx1w0#QM}#A9010wAG*c?}a{ay7wuu$m zk$Y(_%sSS7-8!YZukWp{XDWCPhrVgj%Ugs;KV|LBdCUZX(8@#uERU%IGGJOKq?ke| ze@Oh40s@#*WpBWHSEP&JgZXT!lA>;@&pfHTV37Ah%BW7EN)JaHhr&rn9T^GL9DR84 zAs2(`!+_EX&XtGVl$MfiSz)T6;%oh%lvS(LiiqZHJmqKBcmKqW%t>kK701zMqjn1K zsV=st=f+!NdgnqgE~Y3D8FkYh$oh$X0o}lZQI`mm$J|<=SK~G3N!8_$sqyz#FgSw} zc7RDaXeI(Z>Vzc@=q=RyriivDHQsBOR35KX-=JWGia*Vu1Dejpdl7|{OI$z97oObX zmceP$9h*=%_>T;2+_>LaVqf1m7y67I#wK)xjbnan`6lR`)TD~MyIz>QqQ;cM3K^>7 zn42wZpazCZ1oV1L^UQKsa_6rA>Tbxq9GYqea5K22jwZ;~32jQ7I)gh`oXszKmt{x&-Ul!q+?*Q>h9VkpY;UaS;WEgrfErwOqQlB+ zj+(aJvb0EY{wpc>QpiXX=~Gt3FtXjyj%^3IVw>_V(;0hL_yh^tFlh|_YYT=7OM$0f z#;QY?FtqOV!UG>#r+!72zT`gO{PM^id{nm3UQ&|fw_oS-6`8YAjTMAqdtF=ct#3u` zc<@ztc^O2V$AW(WwN^)N|1&&y616xDIhpJi1I$W|*Q|%XVbW{OJOwdI6slfH8RaV& z<$@HUH;v+RUB)s9vepBAtAnpkI*3k73sjS5^BkSb+S&=jGkPjpDX*PE=bg`#E;eFn z`_NfVr|@py#w-cxccHcy&=Fs;RR_fD{|a#j=u3s~9e{oITHrnnjAQs!j@*mU)Rk|* z_dPXl&D}dl zuYc29?QKP=_=~F9bp`uhQUZne@S8`czwa6Ov=bB?^EapS8dsmNep#gSRtxRyZ^b>H;%tUs(5lJkbZ|{@9vG9Pf2+ zrTG21e3DM-8e0&Ln{84`1;ix(jn@150I)5$i%X^?FZLkIIz2E~l)!Wn*xW>a97l`{ z!8r^~@dTrh;?cj>@AdRg)z7G zu{vXef>D#y=X=twPo&(}i#K>6-&Qe_uSnN2=jV$JFz^!#Qx57;YlM^|0Dq#P7`SZa zC<%YFySEM;A~x{fD0yz$Ka%DBvFWQ*StjnvRfu`=wABvC7I^Wt|5f`EWp7}#5P32L z1mjbZycoWVuvI@^QiN?d+mU<5gb_Bs7E2?Zlhj&p?W3uEcxC`^uJRVCYXt7yg7>}# z|In5kJxQg1D?rIu7D>4nJJ=5S3V1Bldq`XkjAk}g4B`Z{!gQxSf+Ei|_u}1*zvAx9 zJ*m)gI!Gx?Gt(sk%gSfwka$;$ErYtiL#fW+B(r2fQf`l>e3_k6z;Vwv1qWQU6~z7w zFGx|K`AbT$l{VceFDn64-)G(*{koaS; zg3{lf4L?ePE1SBD#4|Ij?LCi$NGyGHdKjAEbW&%$wa+_FxKriPc)LQG$9hq^f{@eF zwMo!M!Ex=B{?|1@pDEVN?Z1} zVra9DoP|VoDsj{T4!DQELTn2?)NUD1i@*uK9m{a$j3_POmw51l>&CoHAS+nY5QQw zS8a&azsCfotzd1hyrdv{uW6%gY7$E;6GNge21|tf3w`_6^?OPyy80w64|a`9+Z)nz z3FjlfQDuMp&+007sbR_6_pBoh0Cqr^7=q6!>Zllx)=1ng%{lDaix!k|12G>o{*V7p zILW6MwISl z#%=?9QrR))7E6w_CUp!|oeZ;E;LG{ooX9UpI6aOUqk8iV;KvC4>9qoSzG5;Yy!s{vs_uFh>#3 zpy7s2iszRjf)+4~Rhz0(FOr%cAjX%tb53j^YLG>45)F!F6ffggE3W+@B5A&zm!3bg z&3wzU_4&whJTtjrn`1#~>d4MdqJvh1BVd#`6K(eHgiTGx=i3in9@ZI%Y|&dzq z9EqC`RCq<=_Cw-1DJhT3jDLTR#h9$XBBY)O)SG9)-LK3mQEt^{WUDi#XX0&f%`51; z<||HG@5r&z=F7*Ays4bI z+^0UjemQyZseXrEy*cC%-S_Yad~D+TROlA9`@vckrS&aU<%#>R4rvwBgDd>hml9 zT8NzkveU%k>pZ1EYnuVdxBX#~t+Z+q-Ic=YGRciiB48(W*Ok9yTzcxeaQww-5Ke6^Lg)+5ig0kt>#h0Bc zFG5>hs*K^U9}iP@x~)3qFq;DeZ+(IM<3FkuSqGNB&x>vu&A5`Nrr(>o+|5~=;k?jk zk4^K557QqxQ~^b+c7HBPYRQ;1=1LdLgoB{@_1(r#Hr=Z_#BtBS>i+B>TUtbJof+QE z--L!Hq(ACtDV#WNp=)B2P065*{?L3>BfjywpB|k)+V~@-UVKcwx1&eXfvK&C?9Uom zV|W;pESx|8*Zlct5oovDnys>U{}W=@ghIj6MN5{r-kD{2KBK%BSL_Uc;;kY6X~^1G zGVV!D+70qW+KddG(KBeNfuI>2!ZLmH8Rod9iBRcvNO2>IX~63W0tZh8BNn0DA8I!M zYuO5{flKUe15p3-S(4zMe8rZR9TfpQ?(D@(;5ep(+7R*A>psWNOQAF$e@_b~oMM$o z)6@6hdbRrc-W+hzZTD0pHlN(>^5D>6ZKNl)62 zc_j8^bnw**>jH!Zq|wcV^CCJTpZX(QZCT3b4UW%Nc^m#Euh2^0bCNctvzM!rCZ6s* zvg5q(zL<-}uNRCjmsA+ zN!ABx8!}&nK2~se+?H`vL?0S0>y)_NlDNfz$lIXwi$o;_Mh=L@CZp@H|K@bzmOEK+ zwa8H|T5%9+0Y5*+IV1PM`3yN0```#M;0ghURreL(d~IH^=?>-y0>s4 zQ~YS+Nz=oO$=70zB)0DIvM*iMGhGkgY}k;e^P@HQ-o*{i)ITnAv`}B_I{n=@Qo3K7 zxzBsX?%kSo8+U21wCIdG+s)S3XVON}CpR1f($^H|fi|%k1EhqE+t~RWed+CcRmNQ( zr#PVZ;{f5xu`RjX-$s{?wvB4=FApwz*;sUZdpxc)HxiPs#l@}6FGSd?G<#T!QILP? zb8I45{<-7kP57(bmG#N|mg3A04>_qR`(_5LZSPows^?sDXqI`*WX&8cBu!BM$iDz0 z`nbucb|3K&9m{-thT6i2C>@7Is=NW;jH)iyX)?NqNOJ&5uQ;Lih@T`*N+Zz5W-xn< z>mGroH?fek12Vw1=+RtN6Z;$CzdOuWKfg_Ly2svEOgx(EKl@tjKFpwTJOtFjZ0)qemajyf~gH6!heGY~Hx5e9@H!`D;vU0M@GWp%${s{$1E&WJ>02%UqU*64ir{CR!Q*F3UX2D5Em&V6D+Sq5>I zK>P6L=HcbnZz?+G&i&{i<`|#dvZ8;~8&`iqI&DP#p2aIY{zvmt&x0H339~F&YjEhJ zWK9I>kSd}l;A~e*ipGa1F+|`7pA)k34Z(Q>cBwjFw?SM{H4SWddr=IX=v+YUk)>Ue zjP5~_gU~>j$qtT|172bWK!YbC+FV~LU}hf zTosDP_Y6$@jEPs^$27i54O1{KYmFey+x%o@JCFL{@d34!J>y~L2`OR%Ia~kOHG)SX|2?CWK^gMeuc)rYG1ir9Sv{v zr`p-xNVQn8BdyS2X84MF@8tu^a`6}K-@PunQQk>mtLx)8Y%qDLx98rQ6H=s<9UreB zqR%w`k<79RuLa4_3P^lTh6f4tX}KSt_UQ6W<>B{Zw<>Or?44@HO&?Z{tJHmE<1q9N z8^w+J3h26D~cE#KbH+8h~bm!e) zZ7ruG8)lv*D$tY0=-Qf&yJUCj%q5Jz7D&DX|DtGB)RIJ&_FvBl%FsX0*II$^ORo%| zWX48Gx8#Sl?S;*)%8mt=KMxKVK?k8x6fM%dBBoF#h+UFr35cFN8sb(vab-+ z^#KlvgJP{A#h=;?%$bQ&s5O96CMm;ns#qj!4E;2L_xg9?22P36eHp|QQ$!xZbEj#% znoO~a#Lj=iz8##;O_Dun@^`APvwAHRi&V+{%a;@%%PT;0^A+j^%_rYnI+SHgrLwnv ztjS3InOk(vX@>vTSHm$?dfxNL%NW~wF*m&9w;_v|0;7T*oP)h49ZaIE)? z;~Tus_`G%Z{eA$ets0D#r+Q0Y`g!waVTE{Jc{N{RM&C2{>2lES%J|01~=X*ax5YRUx)LNdD_^@5;u#cEB*I*z|7pU*%T{#;o?8b*4=f^Aiuv@VlTZXZK=JL ztye6ny31q!oRsmB^^vXYU~`_y=&Khmu=={yxyETj@9Sfm?IO*&?xaNpoL#L&?#8eKX@+rBIIWW@v-1~i?h~``I+eg`kB4x9}8}S z38O5O5YT~pH3_8~YrwqBy|KJ|p@SO{mgRJ`?Nr~6S9WVW)t>DNwVwK#YMAvghES_q ztH#~Q|8?(S#_yADKYguxp`{TPmxepC*>Y5E`SJG`t+;2u*uBPW)DC*2A^(}Vd1U70 z|3}kT$2IxB-#-f)NfjwUT9FV?Kw?9XkW^7nBvh0RC8ahL1Pnr?Q$bp~YZF93lo1Nj zL+OseU}JlJ&-?RxegEUnalfAXy3cj4bI$eJAX!eg#xnl{v-#6wsw#~JQ`uH_Qk}PH zUab&nElX@Dvpn~E{93xVMb`V3EI79e9Er5vP+t_`*@7;?5ArXYmQ5%sk=HE~I`ep?Qnp=Q6 zapHhJ7!_e?;d#N!j`quCkxmeAJl4|>FivX^5Cbd3qM7Pb)p@Jmz6R-=S-68|qh4WC z^dG~8n>bF3c8+W~W@|+_=8YpNickK>9{EJ&5)x%uUxVN-x%nq5?sCGK^%aiF3%c+6ZG=2J^(}srw+rhs-m2Ut=2R2>`aF0i-PP1SRh9WaY`KgNKz&e@5vQ zs)(|G@SpvF4|GA;E3;sMa=Cs|0Mu`9aN%uWENBr@(g5Kj&gTf453GoQF$dzV1Ddgs z0!s9t2mihelcxegI)l`*5szVv!p+;?%I(4No1wICsup{7t(now$B-{7hv3c`u3D>C zLO?+bWSQ(;?Mt!A%L7QjFi>5rTsV7{$btQEprZXeK`V*yNUm_~B^P?LwBmFtozicA zq*n_Nb3;WCo0%&S`Xc42ut5sHIPxYr09$J`?t{e|MXYk*^ zRV&;$_D+5brS(fdRs>Gz*{uWqsEqU;Uk086A=Bc~vlD^uuq!Ltow1_tknE7X2?xfp z(!_Vc!3}WM68njUdUY}01dM}Rk&NCu!ay|(u((#?8=h>9u94y@u)#kk0Kqm`sHxEA zTjE!?h7$=ujV_R`jCVh@8fIYT$`QjhcppPw0}5okkQDf2Kpd!Bdi!Fk5NNc>8K75+ zT_*@}ojoHOt@lhV{A0mEb@SPq6WKvSCudmZwDyi?(u~^prgfuwHDb_5-;bs~{_1oN7oa|6W0nT%(^xzmw3J5(tKW4(?Q&z~ zcoX0k8GUzH&pgrbnp_?xgw6LIuY2>cJ#2``dGwwzF>}SC;lpV^AG5Tlvn?}cX0Dtr zA)8mg+eK{ZSd03^qi3B6zW$<3k4M}sk?r%zP_-k}+KP>_KQ7?T$Qjx<|3yFY$tUWB z*{&;S=BztMnY<2@M0l-xm6z$^R43p6jwpl-s2q!-8xr9z23$vWB)!>QWKJDPon7RU^ zVH2>>=_@1gm(d4tU@Tj_E^wyGPK0!EK!h7#@8QJ5B2I7uqRqC8T(b{;5cN%{wHx&n zKqC}>U=Sw2+kzo$3>}%Jdk`mPL*KLqY)mFIu*pOd@b`t3SUx_^JrX^sdtivaoKeNd z6bs3THN!SV?6;jYyzRU^U4tnuJ(@2w1T?~SKH7c^q^lFAc5W~HJ*;=iX*>AJTcr3p zZr$_W0#w+E2~^J3M>pAmzLi~69Dpi-_a79sOMyLX3$`b>Y9p zz)>&GDeunZw%}QgA_vZkX~6?Y81Fp=e%1v56^D+!fWhDvC9KnM zVie4KDK2f2ReAXPJWT5USc3yzVEljF!H%56u{UfaYp8kd2VU<3_R0K28D>$nIt4GcRwVOx@SbQG0`h+P@*#KY$$A{`-21HSWAka+CLTzmcJ!GwX{zB7Xa= zAOx-#pVxNUeDuz6-mRq|ah?A%RE3)l7nI3UR=Hg=(!|$Ge9?&+8>pi%!Yco6sBu3Z zkG}u1*XFN~5&YiLXl)o27d+!p3MfE@nrgXm(Kllvtw4 z6~`yJaB*(`+hwAkbsXXTP{ZpO`%;-vg?`u8^ibygTOoCKUCoy@i2>6w-jgmrB^Etx z)_WhD%>-|LSuJ1nt`&aX}!2?7X8C?^l8$wfw)+3qW;rJ`R}N(XX{pa z2+z!?guNKO`aIzer?~)87jsp9jAT>fRGi`T4d%Zy0k`-Ll9la`uFy!!j#7BJ-sUjv z#nWL2d4!Mx+L)8pA6g>cYvo7fJQtrSIa~;B$VRmfsd(HiD3EG!_%dshDF1Bv1FdN> zy|h#lIq=(vS=5x7_!yPvOQTo;^KBT)&G7U~jazM-ANg+D#f}FT%skzqteQ{Ny>QTK z>a@@eotiuAfudaBUi@xTJW>;{B9y7JEV>cBPMKF&yMa6$t#Kmq4c)k93&4RTk`|G1{GR>oy6}JyXtaXxzWQ2R`ule0>vj)NAm=^!xb=l)w$+yXhXx zefhA3*b18{U(O@C_=bvKY#MTVt+vvGV^YnWU9hrP2z{TtNq_xv^uKP#Acszp+?;J& z9mUnFKct6LGrr@(e-hE&cz!;JA3>Ae7$4O1bM32jF&Hg-@=02-5l5YR+2jKwxv(sC zsN$Y&6=cLCRUWZc3X}`Y*|IDR@uJ}HQ-P({m#~7LIm6Zm=6dtr)>W0UyU^T5tYaf0 zUojV&eKB9}m-+Lo^QL*2@2)8yZ_IQ_$+xi@P6fL)Gd}Tc*IaPx<5lPB^%0vhRp@?R z$E{Ot*E;w7#`-w|w@iX3s`gf=&em`j|17bM8N9^cg2&mI?%CIap+6{?gMLB~4JEW~ zFb?KD1R;w_u`PZ6cz9g^+SL=rYX+ox!XC0<&jFS5_G2d%3)o~RTKF%Iv3K}H!|A-w z0hL+1Nb1}g^a0y6JRYe)l}(XNW5LgVKKwXN^LUi@gMXGWo32XVV4Vbtoi&gDEc(A(^%lJ(}a2J4udy!siQG_ zBKAV6#Yip&^J4Ho8kb5Jxw&WGM8A3+#!(CVgF_7Uz9YLf?sfC^F(0UkLf>Phq2Q_cguRuW z*m#|J@oMMkSJyZ?-YTjn=hElieRQ3zioC14P~Ncx5`k&Uc%!)N{U4M!6+`(-N2L$r zY*Q*g=|)6RE$Cz-1$=`hWa7%O+<&m{W$*(Fb_%h!3Lo;u9$-g-bCZa&bl3t1W*dqu zkwcH#GI2A&mNH47mhAu3dpLKo-kezcz{Mt@CC@!vP#5-7yR(_W8h?8z`;XaWotQfQ zs`XmiiIYTlDd_l3z$&OER1nj4zgE-evXgGkuy z4U7TokG`;wX0E=L;{BEOp%m)Q4KfT-3zy+n&ygDN=dA?7_3i9PJ~r9(>~cR1sl@$l#igYm=rd7tRiT+}O?y*?e~zDr0YgMk4+syfzgLl{_L z95@sbR4Zr7bcX}z9O!5o(Z*6h$jJdHhokvOHV1Z62vpa~ZRIBp@S~l-7IM-J!LjDO z5Wl*|hbfIeGg+P-H3*faB_CeR5T(p%AIvg+9m?eh?rXG_X>?F*_*5_Dx8qplVC<(V zCi4|-GICk0v~H{>)@w4_f`_2{fe9ocR1u=GNP)@|1eSxYf?+eSHikPrMCxYV3-$Dq z`g6$Q&cP(v+28Nr)vIVGaALb-cLa_3Lbg9$SKGne9!8P#>|5?h5MRm}AeKkkC9S@_ z*0Az054w+Dxf`NCF2rlqY9Hjd{OH63~wAaJ7tfg9?u6THNo&eDXyPS7j< zz(m#PvRcH5U3&qjL85g_LRuAvpBDkfV65$b3~n6o#sV@7Xdo^AR7=))W`!L#TyHi0 zTFc{|X-)f)=Hs}0!_6Bj^cEH}3=u&$&()uoVrF=f9?0WhzK|z-`^{;Te!Re}D9rX} z^dHJg+BJ`1^bRZe5bDGt?(iqCO}*%zkonsL`(O7T=)e7ZJYJaeJ;?(_e*$rU+Li&# zYK++epZ6IWzy5ptHa5cV!Rko+sJ)1%vtgDdYz(;jR&gNio2ZaF^O$`@yYwlp5Sca+$8z;;+&_fx z{~)#{rDHDMj8bb{{Is)khWCFo`IV!=KY&mu$oY>hQUDql9R2^6pVxy4(178mV7WEO z)I1O%QQe74j1~}V_u_m*XRmaCqty{>T@H{gJ3ATVYS zclyi_lLT)Tc$g!MqV+ZzoYtwcIB2RQkIioi~&= zFYoS8e|u_d@Jed&%>;?7WvSaA3IsRB#o6u)7@byT+nj*+d^>~%$poBX_aLbINPSGM zR&wk~G^{-jJywT1ycw6WC!2Oj2+qvIzkIWMd2hFd3ss44!b9BMyB_bmi@uyB0!9j~ z>OVsI?S$2+B5kyN3cqr1mPf|1zj701wT5#zDjy5bq0PfkqS@xs#?q8BE9t zj`rP;b7uVS5z>HRU4cO^EXR`afEN=Ne&MGRFAHtizIPyga2scF%P(7onu=h2f|1C! zJm(l3bl25&@{Zz;oHu9}&?}dFuGKc)+-z(%k}X^=+EzgS&mCknx6ng#wx^0Ziveh- z$-wdG*MEcq_kVY2`ZA-++Dw1ksd`|uqLCrKx_!C#VPjhxmL{jvD-n|4d(MGy&G3jd z<^~c(=6v!w<@)+{g3%-QjeEc1m4h$s^kiH>jLpq<0TGva$Q{F3_&P55>fW%IdVP@J zA_1fQl*Ig?ovtm~Pgk8*BX4y|bUJ?x(WMr?v+ON*%-1)nYyB6w81pZi8^$$mCY>lp zS?`dPj9Tc|(hT1BRw`CID5YQ`{>BYcXNqS*h!Jn{job&3en6It29OGKfS?Qyn{zJ` z>%f?*41?17AR*bUU~H(6!xeynR$vMhpf$Mnmf4nq&!kE`NAy(UGbJ^Qq-Eq0na_yf zq^1#4laDSFXFYua*W||5oBt&CFILJ`_GD0SQ;!+@narg7Z~LDg4`xve+n&SBdU}|x zvQ=Hif?C(=6gx9ALawB4>v?T-A7vk@gu;o_Z`%uVRW|h+6>2iXmlE4Q07R;W}0ZKwx!E<@NqSn%D9vN?XH2hv|!X<1FUN?G4{MeqkYCi75 zbMf|VOMJ`;76s+Ujbr+_fL``VMxpRHox~UQ$gx!+M=xKCI_?b1PHA2XYFVOi=dpty zae!E`JxkCl$DulT!&$#wu4O&=20Lgx`HqEDlbkkpZ!+!)Q}(u4*bQtYdtIrpXa2T@ zAknyVn5xsP7CRf4vtAN?_T&ayD4Dt2x>q9CDD(+6#3;Fh?mq+c8uc>z0Bw zl5>RVHz*K6C30-fz73R31>>d}9Xvt89jMp70^WycqpL)KBlkKa7dHV8n9;!yxxrGY zj5wbT1llXX&^}m4I9B_hG#MZG9cK;cA{Aq!&2wl*$1izlKl}))FbdOovLq)e37mth z(bk(QF;U3GZ%FSb9+m_496xOq?|<)<1IBIdux!DcISw)^%Kgu%EjqL<;cf8XwV5w| z@&w!%@xPs1+tLn0Q1_bG|unhAQ*SKylx z_<~GpH?bZw{Ars z!rx?Oh$9lrT@R+}IaHONj2_5fR02Qxd&D{GnLT=>Fyq~sQth0vo(P$`8}{`Ws`t z-5m}6Y`)VVKbmNnHCLnU|Y^C1v5MR)9(S~M}D1Jrwd<1DZ0W~ zC0mbY=FuKSjbpH)qEu`cjERH<3euOGdx%Q^SNQ8h2m-mfBDWR z9SHiT(~6?eQ1>UnP#Q{rI+M2v-Y1D<9m7k1qNASD7NcJxmhN8%%`KP)q5}X(m-SB0 z0g_aE!LgU=R9Sp03s6qay8{c8g@RsyP>oBTwGTUA{%foaY$Azx-jg3(5V`ntdi=%w zrwM$V5heXiP`F+5Mss0#^UAN*XP!Josi+%?9 zUy&1E2GcfY0C5Q{mj)0al}q6T?y*GIV;@V3zJ){Cy5f>RXrt2;5hfuJl4CimJi!RE z(H8%mYKXqqD0s%x?DDyR)@M(g5)X>?t_aA62!0~2809~fQ$-|K{Z){UXFE1JV^Yyg2#s>s|r zB;&vg6fp>F3pAQ{j8}fBd}K_1CrLrz-!2^cC(?}ySt7$>)*)(cBfF#bcGrGe z^uT<C+LKje- zzG?z2-2s+OfXWjNVT{CBn8v^+7uphC0T1Pbp&2Wm{9||k6#6{xWXmp(uEEHsMO2p0 z^~|Orj&Hn;;nQPiHms*OFTfh6DZ?1rs5I)Zchswyr5NqGZWX-EHcBy_2J`;W6_#m> zP5?9@Dn7^~f!9}2kQ_jcW-tMJp9e@)n( z$Arvp0K|U4zyLVcNbY`lOa|g{Vm;VZ_Hx*C1iy7_Dn9slo1*tT)?}b(Q;VW<3zvr@y78~TfOXIvqTZJZAF0|t$Fq3T( ze7FHM7vRG=FwYnBZy$sXxOwdL%cDthQ!Wt0Fdnlvb8`VcV2J@4EjGp zM1Yiq{f7zqUGjK6PCle3SeFXEVPS{q@qB&Ltz2b29%K3FQBhHmMHJNaWx1tO?8j)c z23QfMjt>z+Stm_Wd#r9fstpYXm?0Beo3;xN7yhP|Z5?K3?#vZH!h1399*wh}nvw@L zwt+WR8=!1AYbtnZ4?Gy0aRPJi0(X94GKB#sOW`)fi4EBEWz0e5~TRP_%O#o7IR{R)HwLIc3;U+H^x|nQ}-T4Tc z12JhH^YgTF65&0j<<>Okd6KLkT5Bo?zG*IuP@^1p{Q`Yn8UR-Dpm`M_x(=R=#a8hG zC6f4~GuR8$u&vYUaN%_%po%!93+D>gK5g=0GUR`UgV8Z9R7o4_#y^ zF?K5!ghIi7?o>Fyu{Z=a4S>{%djSA*GGJVf9UQ>T3}UYEVi_lEx-pQp&K`5=bj4^9 zkO;>gMza&e^gxqG?v7nM*$N@|y*KUL$o)s<>xWYT^8xFqoE1kJiK#e($;lYzn|u#_Jk<#&%-WeS#K#u6C;cW9adDY#&`ZmpPY^&klG4PGBfh z*+{>wz|lo*X#uK$_?~?=b<~|~%uEKE$rw{LP(&WKHISnK>!o5OpnF?|a2S#R1q>l! z?^8bK!lM>&Hz!K*3>NU-?1Fkvzf~w$$VDC|l~E(b0rjhx^OtJZ>ZjX+m0R}bHl|(H z|D?|}tK-;qCvDsWwo~5|Dcg<4mz1*ifJ*M=#_8+*5tJdF{7(mT8ct4cgC1w`N z=Q`L+9~~Eb+H&bmi~pOoriwcMFI~&S8jJnwStv|pnfvh+CMDh&MD($e#}|rW)SC8? z&SU2Ge!qQ2?WjL~TZv?71mKI2q|_zUwN3LbQbh}O^cT$@V!G#`xU}P6=n4@2C4{l(XJ7CtSUJpbeTy?1sk=Nf#B?~j(3 zduYV|Onu@xUc0aEgGIb#W-_VN#1CaNqWy?NL!+MUhrQ-uJBMx+k*oGz?a#PM(eEU% z%7>4ZXuVRf4+WUe4e-Izq6YTH0_rKbVVex{@6tsMkpKZk${m6|w}t;(L6sfk82~H) zK`RJ~(H>p_ZVZsQ@Za7dj8k0ufxMf7c3Em?n6ZDPtZv7iw^Q*Ylxt=}tsLX={;pE* zw<`A~9~|mUifO%%ag1$Gc=K9(K~Ix2Tm)(GhLtQk$EaznnGv!0`MYGvPK>MU^+@rw z&#&f79{hSZ9(V7}xy6^D-(SxhJ<|eL9na46j{X*X|IKjD^=&~@n?B^^@=M=PH?vVJJ!HjfN+(VEP#WJt~ zy2R9j29E&gOn})HP`#}I6tQ3filEMl1Gs*u$_gLQKYCDRNnKzY8iNOY|R@JG%eT?1eynLemfeL`UnAE|c~R`-_}&=u3|7JvV3>Ic zNITb_m@<%MZtRAUxsT2LiwV(;Ew2jHe$4wKDPr_ymiY*tO_rFFALid^^YI))sPe&` z`-@X)S}g*`*QQ%mN|IMAP+E_^f4Wl>R4n1}mkV7HCft~xe}7|=PX-=%NLe*v9QZtW z6iLNc@69yA%c`hW|LMKxbHl(t(C6-N(C5Y^*m(l;=70F|xjMF*!r1^CBm&wGeq&+~ zMG1%qFE|>*@&-aPF0jk^T3}FUE2c*@n~6LrQ)WL?(!lVB3r$5r|L#JL-heF(570d9eMR zaF}D_t!Q9lJZ-FvN}Oz>f{S1oxaJf$6QX<#?%C#7S$3Ym2p@44ajL1~gWqEat##n& zvRrs=A%d;X&pWLLH5q?_1d9FFP?t@dB1`Tf?)f_1ubi5fYTJBKu#RkZH%}^ z>(-|CK?lNQu?#3S97b&d-`&Hl`Y|k$qMqc!Z%813<%f+YBbOx1P-li03Nk4v8W5UJ zvrxu2>51{i#U&^0$rTx`H_PH)bD@<~H;}+moMTSl#c!0r`g7UEu@9w+u31Sc--A+$lA(Cmc>`qpRLv@FtcJdWqIXB-P=3uq_fW&*Zec0hR07^3 zl_=ML`f=95o)hZ75{rsT#7b8*uh3kE8F^zizF+f$9(iiwASPl3RSJ1@=#L69ev_c2 z6Q-Q@;tptjiY9GxXmt*D@duxL_#kA8<^}!%E8DQ&L*sc1;Lk7SuHSVZlCt z!s&C+$Xrg6=90m=f%JNqZx=5wPQ2u(CeM5_vWlo*!is z8CV4nv#~|ryIsqyKcA>L`?d55{>kZENpi=(FguWgm7VB^IFL*(Zz@=BUNtk%8o%IV zhB4|jyvhI>zRv(`Y&zX4$If^QAH+e+MUIyv5@RZ7F!bFvGsfIo)Fd;I(E{`<#MA|V z=K^pLNL;eUoh9Ww*#=|qu=i7di8QQz*&gD|gIL~JAI++vD>Z<7@U5Si<#pgsML*Di z*5o4<%aqxq+^H+M6U?c2ly;N1n1Pwu;S_Uj!R0m|13MF-B=>?UOO)^V!J>}OfcPNF zv+H4+-g&;#+V6czC+0h2^uUi@Q^sDKO%I=KzWXHpn{D{St+5@ob38;oLa5|HLL@SN ztcIG!uWUyH>0m=ebIJB@4(j5wrxRs&LQ?@E88{r62lI#nsu5^v_!H@+n}Nsix5LZZ z>g)3J<7R=TOC?1K6pwV zdwlOdoOFE9z7jsY39LZD-x`1(#k^7&pf0mkngW9zTAZX%q#~ryXr{LXdL2Zpz^)=K z?vCHIP2%A~*R#SrwfSq_RhgU^`kN)6<#^%2_PwjmO3FfNH80(@Rc>}3H1u0{uD+a9 zbWO7KMod2Ho&Ot4$(L>=QG5!g?$zgG=3lk%2~sv%eTZyia_Fw0uEK^fxL21Dz{xHW zGPtK*|j@H9FL8H6N8^1bmFAW^Cbi7rLkzGwZ_Wr_6*0w2ktPmw0R4peN? zmTliU$s*?f1~^?ci!_vKr2%8bbtqqi(GihUgx+jz*`0R|FDBChddT1lk8?MaiJd-Ty~Kxf!#>B{X&AO zCv{TrngnH|F^^1dL!d%xK|Y*e+kW9BomLDDE@=Nsi&5=LltNU2U1-wVK~!5hWw><7 z-k$2S|5LR_BqY_vvo}*a(Z!3vL9$uqE{!LgV0|XU@Kij9u;=$_nr^fC!hYSpkvST< z$I!)l$#_<&TAFXx5ooywFQP(6W0LOcvS9LyStWrP-^0!PnNe1b);HH{{*c8vClB7{ zJLT6VFwJ=;80-wjJpGONylnpp_`_YfMMHHrQaFj)KKo8&Oxhk8F@WhHgGgT>Nf2)& zgbszGabWt@2(&w}cp9u@0o=%pXx!sti?V8>h$Z`Ky%{8Y`gMx%gI7qb8xReYygLhn zS)a1;vHtTUc4FJ);^ilW=Mtv`NA|RL^;QN9#ygi)yHrl^!XUyX^u-GW+6SM`0&XmQMX#XwvWV{SB=c|c z{E#UR+))sMM|VjbhdFOBNnOOM7Mcbxtdx?~-=Yb2K0kLy?Sk9O%2ZEp3d~Gnp7B^r z9-V$b-n=tYY_Cg8A%Q}R+}H>7*Bdku15o7l;kGe)frf&5^S8$o>C+fjmdaR!Ov7H{ zI(#S-2<-dM7i`kMsnZc2#>~cxCUivZ3Fr@)rUL!RNv6!SC`oKqz!S+_p_Mix_+%ag zxnpW`ORhD>el2Ch9VGesyht)exZB)5;{mgA0xk?#%_$YX*d%++B)rP|hZ2)k@+;E;6u>@Q>mCja zm~zrqPGHGxslG9Kyg7dksx$XU(l8_R)Q>bojGpxE@NY$A`wd$0C(tke+<7bVgNkwF z;i{nSHtHSCnu7XkU|thl5~5QofZPcXN*a6Ahg;yt{Voh3Nt}vH;K@QpMMks&tJ|Kd zD7HV6Z7&MwH%~pQm<%-Xqsz~|T)}VOmA#($;sxf`qcaIYX6ILE{Q=d&PCnQpe&5?n zxdbt_2Cg!v+5BvTia`X{LCc{!0i$dXJZef|8I7dgz? z(#Pzp^jA6kJpW|AwmSYd>5fXfg`6~YEqe;$rEy}+=o#MHMxj6IbX3549f~fo!?4oL zkFDGnEF;?!s5f8IgNAWRR3;aY;F2|7VF$*!ldJ}yxL?q792DOMXO~gwG}Jw+`3FRV zD_}hgv#doPcsxe_$OF{|pirl1NJ)dvk;LvZu#vj43Z_EhP%v=OwYi6NO?rFI9*@c| zs~@jeKcF6&i9j| zf@Iw_`g|kEln%aY1Xoj0R47=366XS%57NU=V)SSzJ8%)Au0^&f7)UDstv?E*MQwnP z_4*eQEjl6eH?k_|B2o-n=N1ldxbUJUko<@dNo;=7n@6R*-baMaEH~M*SAjDN!pn)> zu+_z*fuvuv>1$zEw;AWpTs9Ptvk+Z>YbKWivPQKA2=YGz2~ooZp+ykR4FG=oV=dIMucU$L zuiFr8wS!iS{XtsTl$rzUR(Bb(iNHN*-v0YU-uB9u9D13B;e44T$MW7>S&p%YrrK7I z_=|>_3#lftU(Xo~j(q;={D|j)TJot^x)RqVc(^*Z^-7dD0Jklk|X(oS3V=WNfu>Zf;PBUkzl2jjF??CX_8WE*^$ ziLZKql9HFaEYKI}vxePQAHZ#nyJ13p-x8U8+J{yeGZH=$U#4+Z9vUyvinVBN&6I=} z^hVG?9WHh5h_V>Q&}rWcjV)*f%V6gqCa@brqv!Mpp+B*SHgV+og67x31a~a=DvFvX z0WfZ;BP(4`h+)&yb;mD4YdSJu%+1(J*?W`M#KOBu&Trbbg^`fjbQ|@1I0h1dgTDSY zyKeQyi4%w49ktVXth!n8{I_~qKF8xXv|=9#K6Cw5mWCI1aP9%%7N^6cf2XYousv)0 zQ1v3@)~Bn{g{(cIk0oWRe_tGPJofP|A12-0>AF{ZQg6pDndFC=WxIV<-4l_-i!Yab z4*XcdUc0s;4EIK)0?fp^49}If-5TQSG_neICl+iD7BOWOJ=&N7hH+uLB79`X`I_F; z4WenNZ*&v~Y)dZpE#!}DMumzylp%_Wz^GEN(Fj|QD9Qn}$xXRPG+@g~>f}PxTAyX{ zCIb=t=o9DQ;@)LOx02&R_P!kT#79o3z_4tQM}{|Tsp)dX*0%~y8h$*9*32n8`_*mM zzyCD(v%KXqvAD04bU3R@+oM~ON*DheNhkDlm7b}7Qk#GNCbw~S$&KyEyb~7>U+G=C z!w^vOVBS`+;gfk*{|Q$9d!h1kJ_z$8MO(W&7C&M4bdZX!h5$hsx%D4W#FGN+DMndu zqJsB1N2r@*I(sgtIGw{djQjLS`dJI+=Sv(^=MU(Fzx14!15{is1rxXqx+993L4zA~ zNd&%qry>ra$B_$-EFnvO55W9BBd_UB*&hVHo)w? z&NgUQuO(gzltcrOdSmFl=X4bAWp(^LfwMZ1S5}fz^s#0_mPq7?FRH z!?!*^KS~1jW|#11kG`7-EFM7bobu5Iq^n$v@LyMjgCcL}KkfEVfuMN=9o5c)RivSQ zjm?+?zC1)XdctwY3(jVMZyf-o9Dy9_r1Uod(lRp|u)56{-yj{%d+1meU$ks|d#`=p z0Bwi1{nfz96+-_p@Xa*x`?JFm>oayqM&Fn&d2IwARmD1CCg}%xS#eq;bdk6^)IK6Q zwmWPfrhFz!a6K*zCp@zhNUDkj16voOS_aD{TYm^-<;tF>CWl{8-H*7 zm8`4$r44zY8<;HjdNHBEQXOeszZv=bR?qy6zliWOjC zWGRT82ItEFK_*b-KFIkHUeW^G_zS$!bp#!Vz;{Q$Yn&hb3jzT*;i&@`0UgHp&*k+4 zjQ?2G?DO)-GawwBQQy_}To`t7}zL#>0 z^3dy7Jn_O76EghN>N3qVSid@NhvBr&sOD*|zD4D+4+fa{lITaJd~+qGlz;PC<|qW1 zS)0TW>Ua7EAlW5HsQ6*t<3IcWA9o@ujQ;m*r* z$ltvt&#D8+)Az`d5&r`1RBgEEDF&ULhxbks4m(UmUs#?~RZCr6u9CN{?yoN}&k|?~ zypUp+*YrI6Lu^IZBbD3f=JHrQN0~cgrOj^m*3nmj01HK=C7%`!xdc+Sw%ho%dDvN zM*(B>qdSm}p9i7P%3Meiy7U-8o>m{4tZ@zfpcK0yQo3PN+85J($Rp`=fUHyG{WP-FKtc^-UPeSk6%k(c9#hoeKiQ%wfQ?gu(z|> zd{RNkw$Zt^-ao(DwYL7Tug>~X2g7puO8@Ut#ud&lp-NdKHUS%p7->I0yt&5He74DkD~e=OcD9(N-LIWd#ACqQ4`+)lC%nRh zIe(qIU?aG6@d~s;F5q0-V8pM}oJv5BHgK$;?t6jeCJP%&#i-D_ zJr7E8JD60K+++&pFsPdkCem}>>M^CJ1Fo?c2Pgb}TDLMx5u0rUEHMs5sCMjft)OOs9h zrdGNSFTYW(iJHw;XoX1~UuivDIB0KEyj=S^Z?}+BHvF>sNUq*0EYk2oWBiTcxcujJ zd|`*mX9r>JxBu1<{tkPYu)#?J43XK?%@hSYtSaCQGwdrKiG}u==#?M)^G(NI7dar$ z99xaemKZ>F!d@_KLb>cGB4jVaPpM5~R*mszhmYZX_6rM_?e&jd$WapMBHb`=?L$n_ zAtW$6 zx!%0!M&9Fvr8D6~wh27(WV|P4_3eI;PAtsVGk)c{2ab|-+@SerV|_~Xr=CWbxDx)h zU%b1+jc79GdzUv#cY2hXHSX}G8ce1j!*B5a`s(>sp$CsT>7}rZRHw|Cd0<9&mL%SFgVTX@LPRl4kE{ZsOi)C`zXv|#c)t98EYbu%S$QE#weC=}N0^SkZZ!37I_GfCWKxI56qL>l+bT{LJ zrw_$?@#t`w%Xfj~>4B_x@nvJeE745I{G+_*q8CPP1O|7uj0lqag$*&_itZY>SoI2% zCPxEHH=|hTFUlIqYAk<`@m_yjXIerIyB!65FNxP#-$ zA|BdtvM2J5!WS@>GXi1H@0=cFg;7$)3a!u#+)%!P>H~GTF=Z^+UzqA-Pv z4Y?AGrx+46eahGUPkpb@Te*7Xm%3MStrMr-`u_d~?l8fcFJg>yrCr~U@rwo7HsIBw zS?3ZMyOE8f+3-)k65Au1AAjimGoJ^J@eI|p93|D@68dv2E>}p5h7Blr>7P556zOt9 zZAi<@ZfA)*3CQ;~|40)7FPtdq#0)Hk10M%{%>3avd+SCx7xpaIaVS*iLaS29K@u8^ z*?!%7P|*-}d4l2w2|yspPiY;F`qSPW?yX33yGIM``9SfS2d@w2L;?O8%=lfpg2Ex{ z*D?HYcuzKH(1Ikg08%iA{QZ|ZKa7D!7@(N0&U@sv;4-$Zuu+1Co#+sOu@ATXZMmsrW{pwiHgLz_&y7*sB&ehstY~g{r54+z*UB>Jr9!yT$ zAim^gWFI`m*D=L*vWJf#+sJ)vx;CI*>quD!cGcq^dK3xkSt>!g+GW3W7{75aF8~wW z1D{C1v|=-J33H3~MWrp@bB=UZP@$VN^26PfXWOqAr*N6O_EI3H*Maf}P;D1X{f>Ek zSg|$_Htv8Hm++OUKn5u%u5Q>ExC2mrq-l)$io$+m$^J}3w4>Ct1c|1TGb6fvWO+jv zTyf2oQamWvu)euF-S|ZI4G)(-#snZvCEhH&#EW!@q*Hcgn#eP2U==SWuoaB0M*UnO zSb(1uU~Mh-_lm)`dE7;qVkYV_yr?L*0Ni|<0_J_htsaS7Lx@u8B2SS&^1)NgX#H-Q z8+_xeQ@@ZQ!e>FKwDjL3ku~hW#FY=QS>(JpkcwpTMoAcQ>%6%-^x@^cbts{w^h`*f z*ktd!+vC&E3dQf{#J>C*q{GNSZ)2O6EgX)iFOLFGZs}Y`%5z;0ame>ETxws{-iAv6 z#dV))g&1iDxJwb;AgG`#=yYRgP1OZ{ju#3HbiKwn?URYKG~IYXcrV(c+m`&go72cy zBcELmxqLvW6CQrt;pwBcqn?Vu-X1la6P?N8Vf$VYcdCl#EZtmDjp%Uo>TA(^^{udb zVn?X9ft;U{n8ydo6I3s8y7O4hn}h?>ly7 zS7aR(p_Gd3jFbqWD3usxPg#nb|b7t=QzTVI4c|EV^ak&Z<-oLKH1h@j-_fI4qYI=D+|0RCw8~`SqdNucVesObe z<(y8HD5EIPP4?mX;6v^ih}3ZK*7H5D3|*Uqj(U}?H97F^2)m}wtaKWVZBJrKT^&Q` zzGEeJ@D2E?Zadg#k>L`&@On8S`ANaOXrm9OTVATL5tyFHOz;bQCe-CS{<(KTM>^+j z>-+3nzBC+FP@BWu<@eGo|J*_CUnxI>A%C^atg8j1B@{lYmq4Dz+y%&Hz$On}>z|S6}P?t*;+r zO^UvibWGRarhdfQ%}TA^V&8HW%Jq#F#~T4*rr$0UuvOT}v1nz7wT!dJ#Frn7iOSOM zPxCQc>2IlOwz5jY`AVL~N9I_~`>WW!GkV!X4c@@h3LN{UeHZ^-53&uU{9Xa$p{g?nB>Gn^>aSepZ3>&w^qO;Yp0v1q+LECuXysmD^ zeEALF3~?oy>Xkv=8lYl&K2Y4!K<8q5!vy&280O_#90@avFP95Deo`)c9oA=F zQwz9m9;XSD?%;&{x7SV zGY-Gab-LD&N4#hKB7N5tIS{ux)PtE>TZZDJ*w`e5qj9@@M4#61g!1MjFT|ibbKsqL zyJl6*7iu2}PdDIFaBfH@tNh4>?ZG1=AnL1KC0joI=niF^&1N$5s>{)%9^6=V@Zo0v zJFMuNAR!P%_lHzTNKJ&OS30=1LO{oWXpWsoN6L81u8$6wABl4O1BD6z2L#B&mr+~O z(l{zKuKjy)ss)b!9BYAK3jAfc8T68Y|X%PYTz@wW9<{bB=5dC`=}Rf^!X0h zX=8^wW|CbccgI3+e50&-+Rs8yap-t-b)@j;)AQAJ3hMMle1j6bkW{MPZX-82Aj2A- z{)fP0k_zA~jL!fFeWw)LBCR3ek~rLffpE2;&F^<|Uz&MuujAzM0a^V43S$zhe#tGd zIL)aU_Z-pEq_&fn1bA|MosxBcLYHWuS=HLC%^p!yq-JhO4Sqboo0=+p1&pjk$o=Z} z!%WvYupkbukT))o@e&A+-{6aI)bJEeFVz7x(1R(R!NFzW1!dfef@>$ry8^I9irJxw zG*)gCy3C7Zh5A{n4sqh5`hfAekFw+bv)!)m4p*gR$WobJHYY-S;mbxD__V_RdX7(| zqpf`|yE7I~%NN~xov#ZF0AFsuz@=(uEd77HGm`qvrWDW-EP)GoDGu z_;T-`7G-K6-P`HnRn+~s9{iX0(_(}Gn~(0P*MjJegRMfk=6}u4o-}0NhUWJH-_zLd zw%ylXtPo;xROf&o^Xmt(XGQ>4iIhU;lN_Hp1=@H$`l_x1bBAW}T?pc>RK& zCXTPN*c569e;=BNM5WMB9aFe15S7Senm}*chjSLULjXIjpIhOVZ6H zZC+*cx%Ke|tKJNtSQ@*{8w1j*UBNhzeAxq|^^dAT}zmohk9z_HxooHLv~Y zQ7R!`=jtbl5Qi5yiq7Lgz7h}C25|oWT}e&Pd?ZCNhs^A}fav9S3$j?~$)nfgsOOst zYi8XhW8Sn*R84QnpW^~|DrBlbiH8gm=S`Jf39;MEIU+)~qPYkXPH#@j3mp4;Sq*cM z=)zQfN_wR?{`8C=B=24T(f0VVpmsj4b^=KNb#( zON1O4PIS?cFUK7H0j;}aA-fe{PWZ}5Rb62Yso~b}THgtYXZsrlDBfo7tPdZ4e3g&k zx#x;E4!TgVV?V(mU}j+OajstPwz0v*^XBgd*1JXyV|vN>bIb}%10KImsrG8jl73gIkq`c{OQ6aRQuuL6GDy23kddS+gnFHW7w{zj(4u1 z_2@_}$sghtqUVsIcU8D>s56W%PDA}=nd6*d0@k2Q9>5tahxUe|zaG}ONdh$y;Lyv! z%CGGy*TH|J(SkEfpA)Oi)+P$bBQmosu^pz{&NCJIfBvN`mi>_QdK7ZYY8zEsWD#N* zk`;Bj_3j0j|0rI1cvyu+0$%Wb_GEDYaS9yh{66HC=3*Aq6V*R{nH#En1bV&%uw7y9Y^f*jhRGKOdg`1=VOFg zxP{31N(>IyF#!y#TOitjz3VS@X&R6_E|PA0jT_FRg|EbalbXZ%dt|r?18UdE4M%cM zW6Q6>c~-`krX+4`*l!OA}j55uMR)_mJH}*#UAc0QpvUq ztF&HJOAs)~vi%{Tm82=($W+s-|BY=O!%Pst8Vu-d)%0hiMK}LYl~Uw9GpyU%MST6c zu->q_${3i-0C^lsj~O5+fESi?6TJX1`1&1e8!}N63NtRaU<^qa=MGhm&SLs{(SN0y z{SVa@NFfST&!W&Z^mn>#GQD3FY-sa=xGShNTYDHqB0A0uAU;hK0jruyzlQqqk&iEy z87Mf4FB>woKF7u|W^!ioY9A$Y0<5JiVG;TqB~gexA2#!a*VTA2cjDivfX)uc+6&8_|xF8RiT&Tl6I&q`enM zBFc{fMTYdOT*#7N8@CKSyI6R!Ev9VnG*m8Qt>(meA|zL>1V6yq5VD6)2L%`)&dOY8k=2dyAG%mE5UvV zm_QQU%ndLiWz2*9*8BMlGdO`^+z1hqzJ?xxzK@1NjtQMKKm>3W&bz4RGiS z>s&}0Io+R{oPMQPmTw+fW6t=vx}}7T2R>1OH$w(Dp2g>!loB@Tcv9%Z*u0R)<5Wks z-kEqTloxjP=IvvH?%H}5W{^#?eQpmRU`d~J5#XI7q-;l;?n!CiSo@>^R0Pk>Q_ zOIU-(4v(K2eFXz`+Y@9q-ZFzzoO8_DfR`7MhHRv`X~cTN3zhVYGr1VE%`LUV&MB%} z3Vk_fPcV+;S>{X`_b1D12U;@9+=9CQ1y_t=P7L9y!ND}hk^dw1(IH0bQVHNmfF5k2 z5cgkc-2|-OzD*^Q8)f*j>u_fC(>wqHp>4y=>??D;Ba7%IcV)*{Oo* zglxHdzDVwuG!W%&l))>=V4%WAW<1JiaB(_lC2b+u?DE0C#0ioK^pOMW@>5Z2Kqiv; zgogC>C7S}jso(n+vqsWsBzHV{Z>@u z*TM(t9#3vS6{oRD@0hMnl3ngVY3rz2?_m3GYJVZ!l8SkzjENs~v;KziyN4p!t)c7~ zn;+6HwWB8TaJNS>PpN`r;L|z|d5CfV_3{}G4S;7~9eDxYbG@Hh>Q2BGKg~WE=mN_& zoQyax754tssmua5bh(TdU1J@N`6A{I8wBD@zc3$NXfb^V_=K0AczrW#&0w|TrS>XJ ztgZcXW?sGtd+zS_KaqI%^i2yKJR|T(PBQBx=k135_1?V(GU1--e!k@Ei-&%Toh1ri zT1w>^$o-rM6)UDVM%{aH;*Hbqf$b%mx>ELk&~#Zhb&C!B{ulK5K(kE)yRQNJbYujD z8x8zi8NhU{;nOPD&~&2md!Qf%Uq~=9hPZ>E2J|6nilbbF!98mCH_VG&R$EI}=zmdz zu;DMm)r8u!WmZ?K@;S6$<>%u$g>~WpizGrWYw!^Yk9vdSmrslX*F@i6EXvBOBSE0z zT?^^ZbH*y4bqt&C+`h_`%KK@^pGq59Q@A*8X6!}VN5B6tT4;JvsA!WnEKK6(hDffv zoLJ#oR>t!<^p{MciBMkb8Tr(wI4YNv43@QA4`U!O07wBsn&)R3IyR)P$qp2=E#kys z$mRRN0H_SYX?Wr;cn5osf>lQ_0b8g`(2@!@#DV^}2;$g6NgZ}R1f{d_-j*qtH|#vi zqjCORnae0k4$SRHfNd`h+)jE8yjkeKv9X4>pd&v3FQxqM_1#jA*E@~<=#=QGz;Q3+ zA>}Uf5a+A#fC=>wS*CY&2nhzZqiON_D-BzQ<+QjqE_byVknp+hzR_zYv&`+d>+k2? zEfj|oeC~Bx)mS%D`_5&qVGb@fG+JdE5SJG^ za%Rpo*+J!UM8un=(vJsm$oDQSAF^k~5P=WP6#;hbVT_7dCSu{)1=)&sLHC5%=c;&5 zb1-F&V?<|xK92&(ZYzlkWc*3(AEZ}R1DnHC%tTRI=s%M`Yv`%J7F)!!8vqBf#vQZI zhrLO$V7F1Y0>1qMop_4*z<7~D{SLv#sSi-kPN=|1pTestsx}=Q+sWO|!z!3Jtgnvz zeFc;=h55r7iBVA%{<=JBj(t&EbdCrggPZJU7~0`6K+5$rfRPgJq!VQguZ5LbSby*) zB*uyInxubtsQymRoNwM(uy$Oq^h12sW0@*X!~Rs&Z#-~a$Zw7BtMj}gZJhh~uV_7M z?t&HWz_Rd6=1(mY6RZVxs5FcEjsOH(;*hxC#!xqpwsD_`6W>He9lB)Su^;4e-@bg@Mj`&cwG;M(dp2)G^OyQ>^9S-~F z;qukbiDg_WVFSeMJKiiBk6j~dS;)ULX5bT@0S4qg0nJv?SGuld?JZ9(R0LhD6zWjP zU-C8Ugg}pPEcFV*I^`u*ZaXwC!1b5$9O@!|?KMJA>dLsnCXR|64IKsn8uG$meL{bs<0wG0q*9>lAt{+Iz+$#&`bB z8;4MP-Nb;YKXiiNo#$zMQlc6AOyxX$&40TY-vV=7UGAUEl%`{_4tjp7#rtS`jkuL1 z&4`7}vLmg!W?RbCWRy~2#=j1ES-M>t74yl7R=-DApQYtx(4~GN@jeg*1#WafwnG^G zy|@h!?GNfLVdcA?YNj9mYB8Vge-ZIhMC4H6q_;_$|5xZt>oh-*`h%GaAUGNI)E%Zr z_9m5%EqrWE!op5U0esCbCC?nadb40NS+#Mo3^PL8z*~b!c7SvCt!dIR<@IuO-@OxS_p@ zsu4TA(g$%~%>BPJZaBS%o&Y}IgyApD+s0*wU+l#KmCv`DB-R<6-nY%02kEmMZ{)c( zrt80c$|}U&=i(HzXpJ1tX2lxQ3$irO>km{<#-qg?`D!9*x(90Zp@o{ly@NYL=u>dOdhTb!2&wvY;zzj9e zC4>GYmj0e;ZUPGJtLH!zwAZ?Ixw2EfgtAM_4$R32RpK7DxUxwwSTN)&{AztA6JBC{ zggvbWpRD%6^j>1(bWYUFMJ__?(ic5(=a?G-KzT%XC67^?O23UTVY^5Wfdr0(s4ui# zR(mg@KmSnGH0dk9T7JJPG?P>K<>sf}iP;v8);S#8r$s!+nmn zITk)d7uO%yQsF^c32b9TIMUG5Q~HFx%W!k+IlfGNB`z5V><3r4=#q`l$UhVDoyaA6 zHf3L#6?2;6;w35AwqMZpczkYo@MO;|fCXfoYsy0;rqZv3 zK^KY0r!>a9(9Q=SYCSy?IQ9W}c$!!5Ik3GsN;Yeu+?-1fZ)B24@n&dy@yEB7^n!`@ zRG)o3<|3DjjRW-oLQwP{A@ZaU%XUdmRuSo8-Vi9cu$S7PKzKXx82 zfMh-qCCQpC9&Yi(IAr9?T+2vP&``_ig}Ps`-PVmA?u!VWuwumAjga0ymMgQTBA6Ai z0v{BpxPRP|Sp5hfH{=H31T&bczPC7igY{N%FSh5T_jZlPM;^hl_>HLyN5c48pS(Cx z*%37`g6U(ymQdWD1DnS&6BO>dV7>$9vnO7|0i!kv8b&}Th)94kwuc^Di1VQT>Y;^l zU7;lpLyKX6T+56Y@z-#^i(aypRjSfk1ws7=rbp|0hSoj5FXWAfMPb0!h(oXc;X#GX_UNOV#;&Qq!d!)zk(`Ols08(oq_res)o-1u(L za#P>eK>LmzZwVt{_x|1;*jh$w+otG(+~|1D#ESm%W1_UqkGrV!=&%IOm0Ur&_aC(? zott@p1GkwaCs6(&0#fRO=C5JCLKUO z4`<>}(OZkRCDuVv_W0X40ca^5>dJ;Ceh9p?4p4V~4x+v(;Bl>;kT&p8q1EUjql$N2S7mi9Y$ z0vEq5Gsi5PJSoOvYMl`^+J;gSZTTe;5J$1e-norHM8&_m0i>{UA+G1-*ZqPT*<64N z8oIwQ)jXJwS>eruG?b_(&hhO)h8GF1LWZHmm?zF|aa?ydu91QoZCNgxfxQBj=(*9T zGhk;60UZImFkrq8LtYead&)SxZaa)wO#)g$*b<&vHqM4kwExj`W-gsnPv&!9e5*+! z(MoK5**~d~UR<0=^3Jq|F|{W5bQv!oL%TiXX!<66yXm~p^Lw{P1f6(uBwAFlQH17* zt2$9t)81}mOSi6G!J!uhH-9;eS$vfA9r!GNpj0Sxs_5`Ib1YMiNoYdz<$59Q&bZWf zed#WKyWt-v_xR)A9V<2qdnc#ee)C3;R`A)%6b|tRWZ!7IbKB!fqDFlwIdYFa`8#D! z149MMgi0FZ-WqoNI(6It)HAc$iWLixI@a^mZ*A{?*A}e}ZMPfOIqQb^gGfDb!`qIH zbVeTh9cYr^N0#@Zz{J^E;_x``em=Az0GNJmKC_l#2|ZX5LAV2roCx^&%Oi&KGrTM3 zoY&2_;eBrSsh`FcM*+vQ0iWsksFUMoqN$M)h7+u@pSU8ZzwdOoJDgNMs6D|MQ&BDx z*07O}2G>l~@qU(S{)(fsrMcG|4{|c+kg8G!R+`;ovF4Ty6O$+RU*^@2oyQpmQJEhFk#)YG z9Z*;jMsw)|g7G|vmp5`^HN+e8jT?s|lK^di{pxCAN#n62)p#E_|Ft_yA+-=KJM)q9U~gO*?O%Q`wEcZK1ElrD1y8@| z2d$KQZ-$*Nw0W*344{vYvQOVpIm2oj&12lIQ?AP^V22Ptc(>a1ctN!--cIs!t;c8B zEU{-ncPB3fm9CP7hn>cu*f*`LPoF9orT=JsO(`P*z*9wMrn$$@BV0f4iW-8I~|5^Za_C8*p1Wg!2?>T`q zqFefZ6#LtS{`yx8?oATvyiWtK2d>{17BNv_KkS(ZX`OGXW3podXz#|&Giujv`0YF~ zJ@bn^BR%V1tU`A1AZU0H9=-Oq+xG5zC^yK;Lx%&FiEcUfb zEav#fmrfXsGADRt*;%RF6*L};;JXrX-Rk*SQ)w0kcrvY4^~8!(o0e;u#6aVXh(@KJ z0GOM2ZtG-jmstRm$Wz_-Rd|oT=Oh&-E8qO?7~|;}vp07$q{egQUEJr-n3%x+nV#10 zH7UajvoC&S963TKzIAhAa?e7sX?qBRak-A`#4^%@*R$d!MfG2AYL}*=6p1S^v9k>5 zfYK|$H%WN!l_alqM#uGh7g7cW=Cden-w$;A5tT&c;u(4G$qd>sZh60~oq*nDnX{uL z6+x!bz?ic#fSOO|UX{(S;7uh~I+w_Z^j($CELxWn<{%g{s90JxdKuUcPx}EeX8oL6UrK4hyrUDmC35}NZe%9Zzu3mrIz{mc2KqtDoqfP57Td8YgTiYd7 z7S^C88KWP~3XkR%w>_WCU7zoq&ptG=75Z_jBm3098(8im_g^wFCA?vOO^MQQiG4wy z>3PN6!#F1-{tn@M{#9I2L0tZ-_}vGUij7V;{nxHp`Ajz!E0wFcbv58=%Mrn+01e8Y zj>bd7bCB|J!Lpui4|D3`E;LCC#LguRRQt&HA(6|$hpvE9a{trKtxWR9EfA$$0Nqmt z47X5049(_LOE>yL7k%2e05S(1i@U)!cgpxzy23|H{3JIG_V-}{0;oCGVCNFfk-?pl zd}CT!Y`eFoA93K=lw&d!qR60vw)&pOFsmm2`_qS7a=##^eKa1 z)P8W`?lhnm~$8YLouG#4*yd_^%eMk%$372c8E^1Zfv+eB$BgMECfjMMe29Qd`s$;^4F z7!T0{;PaHPsu}B+z=Gz!oU&5w=8La-cqkh&9pQp!SF}`~pnZ$nJF_C;{nIuN7MNdrE%-b;}4`sR_RP4VB!0 zmQ%*uj=+5##ca&WUk1?`bcgfwPuY06Uzj4QXWBB_LoO+VRl=5 zEUWn!fWLW6h!LFF=&0klvq~0Y&(4-j-cho*yxG40{@Z5z(w~@~nk2yH{Or9)M=r3g z7L*wpDkUWa-nr+$+wq`hA=0L1ZdU!y@Rz*Hw)L;Lncm$LXGWht+aa9$$L)BMTq5$( zl+xDNjFefmK$6>qbMQy|1?<>un`2q3?b0vq`K~6qBAD)3S2ljLdwz4R7!MNGH%h6i zR6PEDQVnLLz$`%;U0ASMQ23fPbPj*DXZORewJG^qAiBGRUZ&U-tRcU3LiobTEWFn; zcN}S0c_l6w9}}5|j!f+b?~FqK{Gqz<$Y)9z-a)AE3ug2mD}6?Oc?}&igYzfn-#o04 z0;Y&=9k3=5Q^PdJygFIyrnb#Dm&=cpM>u}_ap?q~whG4_H`c~XxBYeY`;xp5B0a^` ziFaK;-=RBut$i%C|C4Y2EaeV!pSSOqOtY%*PkPdacGL3O|MW!He7vhT6X@c<6WY_t z3jZ7%h*Z`P^_)L;IswyJsHc4T@iNnLC^zu~N+GMD&$MShz2|e9Zk~EfOp8f-tiiVV zsAcifYV*-&C7+|k`Ls62dJJBEc_y2&>+#^Qf&WYsJ#7oO^P%jA4@g47c6qU{UbWeF zrpunKSF<;eK7(~v31GsuXN=hl+~zG8`~a14h*ayqv`-Z36U)b?OY>}udr2qbB^Xj z3qu``4REBbqGHANIxpGI3TZyX&{dv{eBMb={%AqCaAD?w`H$jnMSGZpX1*GSor%;^C@vXK4(_=5<~j@Y3qKG-63)lwa20?V51lf4wLW?so<8IxQ1_k z6z>3o`5icbVDzp<5?lDsXMDgxjO6L~P~+;Rxm_qB`_vmcZ3r@`LTo!3_XR9=%nR9| zFJpWIGk%L;^@u(xG*A6S;KpJSEBJi@TxTB3$!I$4CFAzQu=JD{o<5u+EIrV$KICkn-h67^+Aa}pnitC%A6YoQr5h_?DB1fyOQ281o{P35WN!Y?t^ozJ)}DQ!D;}Wx()x$spB7n_EGWl{Qx-Dx^}+A4Gpz~ zWsBLvMKGrNV`6HGmS*FLsS8)DF3h}$Q3)tjbSYJFF@DkaZ2jgXt#nn-6|4!5TYCO< zP+X<^>w|%z>cc&sk4BSs9?~E9O@8jSH$jt0ju06NUXzD*N98exy&I*LAjyrklY$Q< zQ`{QKn{J`fk8-p&BjG}*2Rlq3SYmNU4@3||l%m7$Za9J?@nh>Qu3G62C*U5^@a73Z zY=&0Zj*E3@suXF4!x9RL>g}EZ1B3X^=V->Wq+wg4$Qqdc5&Bmm|7aF-7p!>-y(oZ; z7%pa^lIb^o(d~?(p)qKeK+h|LjzQdBlq6nod7A}0I4PgF0tA8a0PDy&`UM|vy@jP< zLe*gTZz-Va)m7ENs&Bi2H@mxE^T)jrYw-EomDU#VyuY8dw$5+c##B9YPgVuKyo{6q zS2$vB3|pg{XL+ut=A!`P8K=*h%8gEi-~L{;ALO$?Dcbd3@VvQ^V;1Eeq!TbsRE-gM z)rt;uckZXjg8cjQTX~aBAygv&X>gND)Tc5mdVtl8v8Du?HXVJ=QdJsda>g%5eHX9y<4}qg%O7K`LxaWY9@yzAsw3vXJNCesIQo@f z3-yRNc^16~-)dJvn3Goe5vULmLqlbYV?htCcNVx^eF^;#?Sp*KTFFLf0NE1HFu?7O z1i<~QYlxmuM@Ew<1Ds*ALd(~5h5t7^AzNKe*q9glursq)Q;Rq8nvds$o1rhdhVTBb_X z2Mnblts#YG{FB{mtx13!(^W&KTel4Fj(&(f0wk_P#~}Dq(=~+5d$)~JeHqdg!@~g+ z?rh7}*sNP(4so6pv}&9~pfnf9{XGKBP#MA;M^3CZ`;LWRHf@? z(otf+zII(*K+mr-fWdu=x+FsV21jwPqdNR4(`5#L-bk}!`ZUI59rb|veH79ZPk@IX zaVE2vFC?>mMDDIF?BgXxO@JLm{dQyADC2va%}1O5glPF`pTvwkR`x|cWx-~Ad^UHi zn(;9gHnb%Ks6A3?VZoUBthA{9;R8SB)adA6bBRf4os}ofYjyA659{i7O2a004GlIE zl#0diwg~sN(uMcW;Y^bcMpO40nl_`gQp|r;71+g4&3@#)+>Kq3%{YE*^1&mz@zs{^ zm>oeOBD7yK4#A10ksJsTeZIoBC5SnbcKDue``N+Cmf=^O5&7TvXy=>pc~$ko+8D>@ z&rL2CWMPzgFmm)q9t7&Nr4{GEUq9(aG#{9>vaF^4ay5BsDkc`z&F@9lZ^XYp*t)pa z`Kt+?UWeWoF<~9T8307cTFW1LySjBBv>c`{}uU0Ec~%LpC0Dh$+w)Ytdbt6@JK00vIQr5$dT`NqsO zVPB%7kJ{U3HnDh-OL^PIjX%{^{Mc3aiLiwGhI;~Tvhv}K_IY`K41Z0h50xC3`eX2` z=HoccgE+AQ7buIS16@tZmdKU$iGv-0qA;qdeOPF=<5?Z*cn>MQ5Nst@KtVLNU(3ps znCo!+=#Mj{aEGT}MOm}mHrpfAdi+Wy23x$R#61Nxw|Nvw!yRGNy2+%$uI;yN zE|l0AR}>K3{FI$YX1I%s%0juU;>Ebss{-aHGS18FcUJ9&_J5n6wz9VuMogH{{C`u4 zntPp{b@*pRP=L`UI)5GKyb}W-_}O0clvMLK@`fUHSOYvdkTC%+$k0PxVoGh-P|4!W zKuAD?oJlQzPZm$EbF9T}Bhz~-5>v%&^9e&-I{h4%3TndorXHGlz%4|xXu0RlC@=mq zU*#{%JTkA&t9)@yca$P)reuCEIJ!Skmh$~}KuHjT#_0R zqiGk$Rh95UA_iRol4DPV3?gZ3b3*0ip~ci(O2KwPe;N4po5jJer*m;J8)5<&YZ;mQ zEz5Tcg)YXDyziLKDp z$@D$g0#zB~*F#t2#8l+qwH!838-_49M%>I?ET?GsVv z@E1!L>Dm)kL5*Y}oAw#qgSXGBl?9O-%7Va+vY@4NZdN`sNF1r;3jVM!Ld13AOEHL` z)Z9v&x@*CjF8O-SdgM!YRAhf5?LjeEQR~z7;n&gTf%U;0)pn!+#THxvcNRSkO$6wS zEr-|c2CIx>O2g3~XEA@$(2_(;V({8J3IV47fWFL`H2if8V6Z8GXp|<4iO4v7)L_{<))qdGK|=jB+VQ>!g36=jwR|>?pn&e-?^z32?*r1M6Gr(Rn*EiJbL;1L2+!)1VpB*bguoqS| z>^Oaj3yat(Re=+kyu;gq%9SJ95&lrY7v_*6+Wp7#^uZh-PGr-06lQU*MTCWuau6Xh z2A9M@%! z-0TP_W_(COB`0+*(jLz@DM6&x^2fr&1g1ILP0ZAND%owB8XOa7jc%$RrE~~bPpnIl3AKa5}9v=R1Ts1ZQw}@wJYMqTg%^fS``I6?V z(rI~T$ozq7=2Oh}er{W%+f)cOc(ltzz7f4`7`Oa4@Uq_vGntpMcd3>RAV&N$=FxA^ zpGapM@L2_=MQ}}pP*C0Bug-ra`3)F$a(*nZ9hWEG2{OLq|JrbkHY=j7`2B!Kneox5 zSKg<&R@W22csZ^CJY(g91;eGK6$1m~Tj_y;3qNz5vJWn5*>;LAsLv_vxFK-li7@v6 zx&%$X%Lkv6&YrDQoeja#opYDdt{)>T2>X{4(1ex((C4Ho$yol&3FLH-f=ZjlZE}*Ks!hc+TCo zhHj-4>S4qX2mX=^%%r4gFOn(9np`~hVFB`Q^uYjU&RFvNp4l)#^~Vi zL`9O&Ci?qEMi*t=v)S2e?p#bguKO_O4|(GzNKU6XZ-6y@K?-%K!;%c+5lGB@r}HmJ zwg9EC;fWOPLYlh?^lb!Iv*N365PggQfvO*yZXRzBgbCzX#(`yd<I(#})45dv!2; zl+il$8N|UV=x7MR4GxxGoq`MOrswiuy&21Y(G_{LgM;M}_nYglESO)e+|v8aVWtF)MiZEG(HsfIm-Hxu?&_QcD$$S&=)*|+%}>+9PHwmwWHe)MgVaU2)r zyXNoqQ2I>Q))p6t`1ucZ8B{{yTMunr4hAziU%aqJs=hyl;i$q0>}t(S1OF~#D5d*8 zisTJR5UzT3LSQjYsa)_qg$ZhuV|dsU9V`-eq5 zOhuj>*~d@r4~5O&fTxeR!ht4B6)o^3m{aKpGxk&~a0P#;n?QfyiHjX;N|BO)0jA{^ z>O3)H1XDfNE`NQW(S@3$x)1j;u#UBm$>vV*2}1vGP6-rr^vvD-{^qozO{XJq#|e5l zvY<<@?3Q=Eroke%(5%IzHd~mVdh}G)%r-_08Q6#_-KsD=@|c`)A<(>{vzCw zR{uB#`bvw660Th7*3ZTNl?XISs1Y|&jN$+BC^16i?p05b0F6u(HrGex8H!egx&YM( z2%^X8Q2oi05;rCoxhWYv*0cF#$*7T^${SheYlm(RsFu0GL*J23BFI8zAb^x1N3-&U zx<}&#n3^YOx>qsqkVu-|a&3R*p)D*N#-W(BOExse4o2egN5*9X2lSdPx34tJEOoC| zN^F}A&c^Kz^v|@M$Md`P(gQ~8-jX}sE^h~##u>&rW3 z`uo?6pFT9@%_R(ZXb<@|TextCbHO4Db>d{cYblU90Hw{l%17r4c$ujLX;DQpMmUyc8hz-?1>;f^DDk)HzSMh~IiVADt?S zcY%(}(B}sdWs`Ui?(6i}q4ehsO^lK-+pG*k>~-pZH74K)DY%ZU*$(kSk@n%%7U}`r zvJe7xp3h_iPG;CGTEx*E81yS1&%D`HtjnmWR~{vWeK9$!ag%GBRXVGQIc`LXEwb@$ zPOStp8j)yw5oOHk2YK2Zr?g-a_q@F3@@JgOzaL5r{I_Da6r6*SgZBP6Y0~3AIWTM@MUdv=pr)y1}I(A#Iq0=PPgp{%I`*v&0^9h{Z)s* zU?F%(20R3YcRG%eP}cwSEpvZfF!+dKZk;GmkN2FPoi2ulU@kW!o2^U62 z^XPiKI;<{Qb5BP2j)?94{uaRd1sL!PAUe5pN<)=NH)#((ChYwi$jTp_)eAk;t65AM zCUz(6FJ9S7m>}uD3P#$~-HV|BAy3?o-+;+_AzM#7|7ImK;fVa|32db}yd(f@&D}svT3r)_u34 zu>SwG0Fad%qk$YtXb{u9x=4GJ>VABZ%SK&+MkbrAU*Ado#y?GlX1$IO zMq2R;KfT;qkUpwB6C13o|E`GwTnDPpxLDdD@oXM}KsBcMW3T8|>!@%&BI>@`_qf_pd5bpTSws zgcO~QMuV!qTo3(=K&vIq0eOUI73wCSk&KeV=l2fj8Lx0RkXZRlKzi7xb9 zpMvjuOBZj1elKl}t>f(XLqmJfBm43v>4A3FG5SC(r9uE{Bs_=@$F@;2MPQn8(Vqd> zI(42cmJRDRx&9PwYLtW69`=&u(GP38kAy@eZ{`l7nWo(y>YT)0pZL4@3neT7B5G+K z|L&U}>=^~rUBmpN`33y`WLUeO4{z7FV8mEW+q7ng!F5(pP|{)B9jNg)c*nVU=&-FP zIMW|mqr`cw=ffp7ZWhzji`H02>C!G8V&2gc>JXBzduHUF)A=_VPdA;RNb?ZQOt=@Y z%i2I-&0~`kv?4ZuaZZ|bPRCM4a{g$`6&X%vDU6Rw;7OilE+j4!Q+AdTdimY=rHzM& z4_>!t&}jUlqk>Vv@`hxTA-3uCN*p_J#t!sc2@)s7{YLg+Oe3kmvYt495^}C-I1SAP z-du`QJFGfR3a;_U!D;>nPkj<;{|rF1i#de)sf?9FXi6`rzxTPXgL(Cp%)YvH8=ady zcyx4h$U1XKC5fq2LX72C zwwRFYGb*whvP{;on=CVyG5b05od5HAo;O~2b>@7|_x@h@bzS#$mkUkTJ->3#Or=WBj8 zBijN4kzd&F#ezOEnE}C;Lv)V5+c1kL z=uj~@@;?*8e>};~SiEACRI4za=P^ukuY+9J*)qG8cL$P6meV$hq~ zH$RDwMnq+S1-+BUnxkEL`zxsZZ{8?x+{n9&%Kbxuwk!!heuQ;Jvez4EXB}Pdth`at zVazo=KrqHzcM{1(U|2dP5;n1QfZ@aZ@&s7PLWGISa-p<#Oo2eGNLbe(fva<6U9_{w zMXqCnvvViWLYQ{*OOT;UCOTY08-y;U?YDZ&qDUGTM3h-bMg-4o=5?QX)|`2A>)dHW zNt0{OPCMC6zCFJ%b2<#v@WEP>P9L;&K3w@0@#NHV=RGyO;dJaU4eDRQmKV&`1x%W? z_?1vcng+!sA3x5<%9}da2mYWx2b}xUa;WuMR{245|(S-|~QiBUwdIfyNfp4P@mi;y8_6KuNK z+H<%ov)weIz69eMHV7&I{H)ETl$9XYQN6G*SRVKri_p5L>Q=pd0sbXRF&md8-i}8p zoRZobXE@?M)~~ZskmJ14^To#2LEY$Q0+d>m)pd941IZ{!j!8km9!6n#*a?4tVHH#-MB6R0y1Dm$A=OsUa;jtD%w*$L z88z5_t^J#v7f5mX%WrJO1r|VD5*Mf|=f(5^bx_WBsLnL%{#B-jS?;Mv&uwzt>g;+d zPJP()`~sFB9BHT-$ZDG z-x0@dZjerkIc@trWWBk@DVMp`809gSrR5W+z2N^pJ{=W4D;eE$&K2?8-;9yCxTNs$DScw7j$$f|Am0YFZomLVVrN1hHXj|ToT`Xn{e{* z>Oi)r;xv%aYhy0({Dd#frhjN9&_~5`YPI6tKEe?R-celzRpN#yX6GFm@5G>dnq+v8 zZr(ex6mxzx3{Z~Cc;aqSOQShla6w{wry`uH@=;d=UMS$u;!)q0Pc5A?8qq9 zisC|vH7$Hj0;H{1`Cq>-9lEpT)M&?Z*ALk%NHZEcX0Q|+I1`T*1-J-@7#KAdv84KH zQ!ajgsF z37`FNZ2c~4)p}%$7yF8@HmvO(3th4g3!}yWpMRP!CEyV|_X(d#=QWJ2uSv&~DP0uQ z@X3Ng%%Q{KS(ykkjG1RfkPM;6RZv-Bqi)@rN$Fl5s2NXJTxnkroXQ7n{@g)jn8M~G z%DdGj_eCm^KY4iVhX<1uHka!#7xPa#YAgdT-+g(I=Lz&FJMp2Xl=vcwXcRb%++2v_ z_W_}j{u;=}?pg=)qUmLy1?u^)X2e|JqOh{)Gb?XYBa3no_xkzS8;^fr64c}lU-MT8 zg>CT3v2sI4@BKlWN#x_ZYy4CnDK(opZ{Qx}J3t;NR4NT=E zfq3r(;uMlSD#%xbD{H7XF5s1+|Qfrw>Ngfox<@|idWL0xQ zh-<7Q`NzfcRcP}waVss)# zEG2ts`tnD^R?qLIADK6P9bTQFdnA+S08RG9jY=sX$ixgw=gpbXxzY;KkxPfOqhD(F zI@U!;hw1xZ5Q!ZJ5BepjNSOgu7DNKKn6!PZ_Vd?QUqI@^G_+GT2A+`cop6k3LxP+z zVs%#qzD2bBhDUEhBA6T2hyy~YOutmoO6_X=RdGu?c4pWRH_o~}??*f+el>?NhgrC< zZt27wN9MynCz5{DtzMv;_gCa`Yl2yiUR!OhezkkmEsP(?=kpFPwZGaMrBEN1pE;HT zf0G@!%{LBm-(R%~pvG`asJijZ9E!vNmDUYXIH zNuqGz(81Y6tSQo{RcO*~C*;+sC(q=^_MIkFi|V3^j(GzBAf>Bcftp_VV)8qN8_j`5G;kGtUoN>K8@@Z^cBz* z*}^MAU1|sJh=!;3ACS5$5U*Oq-3RZ|8A)~#uFn5&kfDxg(+drB2tT%V3k{0GxeKBa zqOcq$lnSc+uFYX~3VvrnySxEx5+GtjXN@fW(ugS@4qm@R zzl%A{{}G?i*yu-41NEIpCA!3M=pVQOI^gsGUP)Bc*m!k>_%h5bL3kX#kuy*vkC^w33coMtqkGaOZa0O;0(W4zp$b@tl=C5E}-S>*lE3DSBX7+Ve=1N z36SZR>Wp3eMdiCMTNAg2eVNDU$>r%?OP}*;N4jVld1-lXKr}~42R|F1`Z~BzdX_H| zVG?%ND(p)fP5!PCDGS`xNAa^rH8m_b>&fVGWN%5 zKY3Hkmje2|MHaq^loW^6l3zN$T-Xme1wco?*X>fFR99gy&k}O0u(|m}{WbdGwIo|H zro=&<(3B(aOTc#V%AbDI)|oSmy-ytb!WX`$!zoEh5rNCWz+%i|S) zt22$UO6vd15L5~a>*^&ufi!|DiG6t8d+eLhcwtVAbluVWf5!_B-=I)@;Z$d4NA4h< zyPNXm3qV;xmwn*>x(rSYbA8SNZKEXILRn6)O*(^WEIM-najDgYQ!73!ART0*7@%Q+ z7_~|5qqf9XGtq;=n#(`Z3)6kFR`>X`j^D0Ba=W{G5S7FFGBNYN34nwHNZqrSaqkIa zQ>a_tv{z|ry3XYO4!6fP8aC3Hy~3}zJjPz1)@9_}M%Az5y&k>dT>bg$5*)!oY;U`9 zdW@`GMXwoI<;F-y%Si4>Z{Y_R&qq9ShLp-N&+w%4M3{_QdB5iOj(aa3V%bGddVN_p zQ!ty>D2A&|jbyAm45Sz0_pb$(;m4Dwr4CA}T*!fknYE%bTUFWmrxAm)Q6I*XGA!k@4XqMIh)B%4w+r3P zX5fz@pH24}k`45neGqybY6m;yZF0K>X>9@jC`Ai?HnCjH)*G}&(8lN|@< z6%8hvuMa6At{xfR1!_}YC#(R9R zi{_6_TGO7#ZIs)w!OVE^oP707N3LS^#;6!YqDhJ|Qa$FQ>Jk&Km#;Q$l*MQt9*n`` z-PpS{C+epWPH~+40bjwS#KaoKvF0Dj@-H$9!DW7b_x`a)m}mP3I8lyh-bnt;!n{sy zk^sr~_{9e-fu-#_k7&E_>_i*KYD(7hMFzyY0v&5bX&gs~spC_+;J^m%=~2&XdO+zZ z?!_0F_H@?EDr`nN_6Q5p$Q_s+6%(GrtaAe5`du;^ACmA-$2;<}Z&UW45NB3MK_gxx zTBt71Fn5gJzik^y9!1`A4}C->^A&P#dsNzwRf|}%srS}AZw!JSfAC=Ce}gfD&AeIF z*5l`l=d=gBa=D(naM0-yKf0sCQ^2+&`5jLG)=%MNlQ^LL0}L5);mxl!UYAnLU8pPT zWSBMA#C4(g|Cygr8#l^dy>=xe!p^bgdM^~zlS|q~4lg3A8sksyLYOE~2K*u0cc}Mk zJ#dA!1Uw{Ro4pHAeg!PB^V#FyT zQSvi6$sKaus|HV>vXr+MryDK9eI|VS-ne+N;@vx>D&5W%aylc09y8!Ip9n%cjdZ?Q z`{2(3(XJmuAx#Mpz76XaT%`cj?~CrfvjOFQs8MJ`HrHv9P?wR(0bok5r@TCwolRMF z!k%K!?}uFapm2G&erQ3PaMQ`}8(cSPZS-V}E=A^eK-UY!H_I{ZbP~4;`=0lUDC8XS znXTE+!bC%zy@0}~Sm7$0x)J%;o2#RUl?swuK6FCu5u86IbZ()>2?u4Cf9wRu4*OSE z3r3E)t670peB`^5ekA=4Ii?zOA@Wn}#<4HvkA$OXaQpOXrF1{O24A;$U-QikwSpc^1cUT)~afm+dRA}bwqwmkJy#o)K@_$BoS@f_!`eioOR0^2K~ONM>(j$ zF8s-mr_9CDkE*u97@w}V)YP^kxs+dn#J1&@JkaSWd{EBcSPp%=ol}2LU}D)O3`&4z zs<6^BUq52LG#FlB(ac4Mw5LNLSj>7mCNngudkBp9%ZGK4CqnsJ@#tezUI`VYC{Va4 zT8>79b`dGQZF6*$(JSw8@fM%fMa{fq76;e)A#jf+_sH!bYVuqg+8Xop-Q>XDUkyR? zITn$UVMe;*^!K7sS@B}t6215NCWic>-DgAgpQ898B*RU33o< z*c@$q<%v#TKmJs}#Qz}Vi7|QZhy^81Qoo3(z;&!T%uk0!<>v$hLk1P;H(Z(Y?Wg$5 zdC;&Gec680$OlM1N&WVpO_PsnZDUN`wI~kaI7>#;&{E=i_dKHTMlSPs_rA? zPtiv2I)Hch^s~kvr0adh%&j|~ZBWYSpkkx@-x_B}YrK5ULI}!#qL6h}bF(_4k-g-a zVwU^KlQ7>zS1}C-?jF<;S))DXVm0#?#aCN-Tsc7Lqx9OBDQ`dO~kXPXOcw77Yq z3g4_id}O)FdXi=?-kXlO+=z0VK|$>(pXJz(!s$|cDjX~1gu%>g2l8f6rJyj&MQC_q zUDx^Aqi%KQsXtDk4axTC4&M|%t+lT@$hS%x@98>AWl41*c!g*7dHQ(wZ``F5qw4RDR0IQxm}bahFtjm=fX~oP115L51zmXNjSs`lu+5 zn+oq#D@RyU3@U^ZBJ`Xw+)^E+d~zL3j-+n_1xGngKLOv@dLB*3KZ8yfQ);hc`0vqg z<}l^|`_R1lZQ{pCqe*G9i5e1&-o2GO=?TH6=QkAlL@F=d%w5CpI>grVN7dsB;S??_ zgv__hAw=lUz_AlY118}6<+eMaTxaUjT&@>*xq;~5#Nm-_0of?Lzw6Fpw>|Iuduldz zMYC5{@MNSX`5iO2We|&_Td9GxotoaSCFJ^!BfpmeULi=A)nlDkH> z?jz+Q-)(5uHP7<6B>B4e>7etH^(JoT?6lL(^}}yP>K#p4W0PmtvsQqd0QT&WVf$<) zL{wO(UnMrNUM*p8PaQ<)4!L|_*z|xdHW7CZ&JEm~lAIF^=3t6AhNN&$rKo*iOrW^x1@Z-iEf~p_6W3g-AELy(6CKU)DA*vv!W{Q!9h)W1(BNdm5 zTaL>rG9P}7WEaC5ymoTIJa(8Fad4zOPtdYLffwoQLYyip*w?#d)AuaOnZTo=m8C1c z0wyyosyCB2S3bc9Kjv=O#_VXdIT2fH)Qtkv5ulY__OG-YE7oDHny5_r{UvThZ`;1{ zluzQNIVgO(DR+$-E^qWa$M|CqZltl!?xpy@dHRW!XcgXq{z~*W(Elawb-zt=mY?O4 z2EY*K3PyE-CCPf+(3nh;fVu;`D-S5qs2S(Vf*cLvcdw!WBmU!g0HaL?gwwB4r6A0#v^0 zFk2gbUCFigE;DhX*k14)NE{^67pMi`$PwO}d&k8S6QjdLf^40LTSXBEy6Hc;_b5y| zPd=5|s(hO++sC(X6!W|2JCR;1^fP_33tZP#);TG|IfFFBl2`03Q9P5%gQKN(OV%=3JL>C6gtni)B({*aMrq-;!>TP6J;YQs2QAN zI&&-XK)EzmIOD0wKzCt~_!C*M;@&O%q)xtjZy-KFz|vnDxGc^x0z$8mVe~xpH@O^& zF~h`{P%Rg29K^I&>$(U{Qo}XZI5&3c*XOf_wnP8%+>v01I>RtSySMpv( zl)Guhkc0sQH#PO!?!cAl#)}v7*RDy}l6S1vztz=rUBQe}+$q66luhYewU~pp^B$l`s|4W+4eI@111pjS(;Xfy#?(}7Myy?C!b3e=jCp&j~9I0{Cs}y@}=}}gvkH>`v*FQ1)&oS3bL@#+W660o*jvx z%3oO;r{s^gJjpRL{S-re&8qS7Cz@q8v@y7K6*vX7w+VuB+w0N!ny;VP5`SLJM zZeEv>Xuu{K-ZkMl3U^(r;awN%1&MQBzVfsRQ-Jzm8)wuu_7EQ}2TQI}mVg=!lOizt z4RYgGo8EGd+RozTv;fdm;8i5%0g_&{@rYQNObv(K%B^^E}O0> zq#(f&X}a^~+1ZWnUoLHx2<7?j_~>yOf%-uVRGjqlT|6oJ{+;uMseNR0eoiMJJ6Eu$ zo(}Kl{!Mv;7oOSOiq)S$)Al`M|9>xl2GYM8H*5qZR04m_Hw*=|{iL8wF}20Ovjq!7 zs4Tg*?54QJE0FRf3tK%+jD|9{(DOP`8Nq~25@Rd4)bDlknZyci+XvxYI6{w|TPO|- zLv>$+QoFIh1_bPjM1J)S8~QWK{q=9O8_r)`?S3g5UL%($)AL*XB*Amb)Mm5_W8M{O zX9vA_jbP7~hU-X4BnPp)4`hkkwSHsko+wC!D3Oy;0a4JmI~AiIy6(+w(bL#K;bzr( ztnfw_MTUaWTWosRxZke<1{)PoczPu9bF}VIgQ51?5140N2X@j-Q|(drH7MuUv}RZb}<`=yRdZw-qq7M$;hy(Ub` zBvIDgoH0s%IlJ%FW^Nx%IiQYo4LrieQ0;g`jY7QhqTk}$x91_B7lPOUg*EgtGCa@F zDW$8Xfe*2Nhk7*n>+%(TcQhI|6JI?ya%<6s1*WPXbUtDho?^G>D~MpRB#`pC-SaFf zIfdWO1po8_DgwaGQcT{DI6P6IsH-}T{x@Jawfc1?*riV>I8ImLu615Ebf#EHRQ@~* zyj<}Zw&F^H@vdFDicw{6{+1K#pDo)uMTs#Jf?xahDw#X zirY28j%8C`*!_!mC1zOzII6tenNqy$lf}7y?o|I%O0@L)E{YpG(6T-XJzY37{l;Mg zGgOYrW!ktfz3hZF*wu-<6OLAh_Ah|6pzM8}f42CM{a~3Qc<4PqCEHvZ1|H4geU%P#BE8?wWv!lgbz)-IYXc>{%BOesB+D zPVU(KIl|=Zg|AKFskol+e{(0uiaNxOn{DC_(!GBv7cOyc3iY(%TZ(!~G}r-}f62|F^t7Xdqofi} zE){fEiYi(1%!gk_*%b_|Xl$>;t{#kf&A;RzrhBd-nzx{}qKcJ#+piEVuO92=O^t42 zhSLu*Zxo77RQg?sxS9z|5Kn?*oheTlR7;>^_E*24sGI&HQg=TsiLyLz#`SDN*S0FS z&dqDnF}tcMxr4;vWuHZXr?sfmMQpsY7|@|>VCQ0J?Wo_wq?`soc8%!6Og_eMR27!4 zK{sZ|-F<)ox8thN^8o^9TbouMQT{O(IBpZn8ZKjzJ~b)(QMbu=Q7&at^op<=NGD$8 z{ky2`j2kDx4UCFl;n6Jm)|LCYyw&fK!4WuuuuvE=v{X)S$)S6b6{W33DatN5P5;U@#c4`2NmT*T3) zR)TZ{H#)e^cZ56iK$mLVQGxM!?o>2>)AGz9mYa&1EJJw%*H{$=FH$%;X{&=Vztqlw zP5<#LA3?7I{9am9xX*ZFS?Plx!EIA(H+;9kvY+X3kB3^}C%rO*FV4(M5r zT~j(WIa5HExp;jcWvxbj{>D9Q>*-)Zk+JumII%nxAI%5YLLcRT|*7=U41GD_PLbPY{!fEIrAo^N9)}Dct6hCXzU~=nqc5^ zbxsL1J&2oohpL@))BrtQyGlpf%Q26Iqb0hfoZQaHtf#Cy#{bV zTE6}-@cX0PeM0L~>9G@wS#g-{4wRhBq^iG;!D<-=#23(aa}2KbVi8C!SXZC4_)C>} zaDV!}atiztt_joRFsCR0r5EyGRP=yhp5!ATqEr6h>SDOQ8D*%}rU^cx?Wn|25=<>D z4wK$N?zxchApeYm*r^j`Die7cJCj68?_Ws#CVX#uPWC$I%H)l!g3AWD%X);-HoDLJ zRNGR?8sF%ZFiuUkZG?4hx#9sQL*pBMzJMOj`!&f4I3Sq62a~U`M7mZi43q-(f&e{1 z;e>+0V$;6{5>XHPlEXSN_+3|<6}SubhO&hEez<^fQOR}AMKj77R&uJy;tb$Dr=bKN zGol?YZ3BXfSnzpdHM%Qf&J|1ZK?Nl8`r!_%%ea7>W`1*2O$qsTA6c)8Sg=-@>F2`^ znp!qwEj@h0_}97U{!lO(PQ1_0fT`ib6MAx(R3_lt2YoljpJ$-Flqk;Qn6TqcLgQfQ zzK0Q@Sxz~$+;L*nY7utW(5K1Ro?+b(<_*6|M?>y>&}_0ANQbSlJ0-ft{_ZOENmJ~Y zx)oMy^e8Wrx_`wea3!y&%K1)O6{(HG34MYGk1De+k!~<%-wCUHfOv<*BXDSATXK18 zx7|4KvPfuL8gZ(XJ4*sn@Bn&^_>O(jwu@K*CBZO_-7PCi``?I!x`bO6<>_iuHyIAm zF?$W=&%q;osP6Sq@A&Np5Zl1T4VjHAE(KpListKbi|k7NUn?~3SO+xbt@8G*ef@?n zrO%UEVzYTYCeY;`k?()N&&A1INTYnPNLGBLA8JTU22IMv<*=8sWzFUx!j~HH{y0!t z&7!5O#6!*Ti8@h+JcDgzPj+)o9$FEUDQ%9yu}X-4RJ1LQ>x#lMv4vpA zh6nGRDg9&9?JNJCHMZRz>J%pur`b6nqRTjf1_?e5=qU;hABm7@}N1;pK$Q2Q#U^H;jUNT(!V)A|GJ<_aCG@^W-+ zS#^t@?I9i>A^OuF^*lWsjVL!~{}?!Hzp1Zc&Z4=27;aD0387XM2Hz`tm#;BAhwrPz zcr?l48Oo2L)@B)81o^8w*3wB_y@h_M^)Jdg1(U5}mcdi#!1bgGUPYeQDQCtxDZWf>QvhJyw%gN@tBh$s!L?%X4ib6V-}&ebWst0581a=0q0~V4 zHbY^(+g;Spb`+be{8HdYShZRuV<)Pxe|l}EJ9W1T0yU(zMiu@VHrOUvtuRHcXP1?)zg~L6Lpk%g~F|3jjF|1)W1L9{`#DN-*$_# z&V0w-Vd8;Bt9I}_Co&+%HPyR*6W5A|wu|%ouM>55l6E=;V>C;3_{)uV5Iex-(Sq`4 z*f2%lw}@=sy5r!T9M=QNfp@UwGQ$S@$-V#SR;*5f!r?17am8v)w)opv%CFQq6&yNT zAC)kS+9*g^-__&~?0$wi$R&+$G)oxCK)v~h>U|Ib4x?UkUcLxdPv>phhjL57Y+=V9 z!r0O<|2`|r_zK^g6Q7#FD+=-Do!}e4$f-Drpi_5fSoa$!3r95<86x^FjG3J!*hTo4 zlJC>sw|5=+0qwdJHiX-&<6c#~9X--yvhJ8I-$nFZ`o zriuI7ML#Mri-X+x=T+E`t1_R(AEysyq7RumdK*zDy6cyvj#+(d&uPGwzLG8)Zx<|> z@;0H&i?D@b``aJA4i%OEHkzEq-~CQFFcn+4(Gknln1T{lgi0QfgF|ai<-iMfQ2GL& zp=H^T)q_ldL}qdey31Pk<1_}fn@un~j!~kMT`5yt2d>MWS+6lA_4Rf5qC)(@g(9 zOMq#}2vwJNLl|_Wjz~_bUo4@Gz~m zJ!2l*(?G(75ew?DO~%0HISQ=odoc~Ixx*xVwp;;}+kO^ldqIB(gZAH;MWpeEew`N! z?kVJJ@FTL9%`pVl@eS))^A(sDt24`15uz+Mio|cOqGWR1v@=52h?*nzTNmS2!ut=I zq3&^ryP4R%?UDaRnT1-@Vu|pkcr-iK3hlNLApzRSA%0p@20h4E(=lHq%rf{fSHy7~ zaBv2n#U^eBJ$r$>EZQ^ZKdDS*X{P4e*!Sx?7St3;q)59nJyynH9&xO~&##) z2RLDZdQP=EIiS_COnG@0xSAL9cXmI4vy~8XkIQra2*GdUNtc2Kq{^UXib?ZaaS+n5Cf5qFj5y{R- zhWh5Pg>m8LB!zKRk_5PWeyOBqHs%NJCekcI)DmbKmq`o}{2E5vGMX$w&22!~pI@X; zLfKv9qr=2Ib;d7+Z8yj&A)+@nqU=)WU>)|cH6?rn4J@`32OdJ15tPU&96W|0+FTLRWk z7@N_XRG;>XwZ7s@C`#$Gfhn1YJb5_33%brEw60xES^YT&Id`LuGvhPX`tI=p&UF%c zmjZ)NM7D&8%r)?h!$d46`zUm=lJb1Tr$bPIVd+_Ufa@wr0Yl2&#a71zT3M(BXf|t( zvPGa6NYP^`qzSFXn+dj~aWYS@s1~pa#6*yFMI{scx%CH0B+`K4en&qu&aXG%>tL zAibKh+sRM4Qt~yf*MrPn;7N5+sgbuTF$7-X1zcAeEMfp({8^i43F`$;?AU{l&pF(l z6rn>OP&qZb^(mADJ7x}?llICwUZ)0K-Z%2s)vj;ZV1vNf)FhOwa4aahPIO?zMOZd; z?i-}Fe6EQ8I+gHqlGM%)X^tdW^7kgL(T+0WJNe!J38@>o74R2w2F&{p)XdJ9cERqB zARnDUIk0KyRjCf)lLGO;(N)4W?&2dTuL<(%i2SYyycODi;`+oucgTqL`Vx!!^h!kg z9=ybGVNTA|_$#47W8|CkVGyIS&Vl4QY-9V2Ux*i&fs=eTbJfVvxXs;^dKW+3xFlCA6w zaeT`N{HtLiHLU*y^x_+8DnoanlH|f5IN*;m;AO%GsG_|gP&1CWt`il^Zt_6qy1`T! zlJR~!!lXav!sGNY`95|FAI(O7Vzn`mo5`f+#qNTYp?~v~+dYv7^y=2LX(KbfC7-@4 zhKpJ{pu<%e4g3eG?%=x)*XwPLl3ZnmnA8de&zLeMp#%3Ye@01o8s?cWX9fMP6V+F1 zGtrK^G#6v>5!2P~ITA=Y&aT*oSTspjo!@OftTY+yqsAudMm!NOMpGdWUZ$v1T9?j?8lrR%{{WB zqyT!i5^+A*oW(D9B-TcmmmLu zwz&DcSwSS$=d$N6B=c7rVqcZLNvjX_63IJ5;W+Kb4ChBC<;t?gmdLjQ=y0pZ^X}k= zvvti?z^8idhAN6h5TLf~xp#JFDko+F%KL^2V>z-KNY`i-#WbEe4G8^WHII1&Z(2*j zTGnA3s;x%qu&1T=X(MdEs(UWyk>+B8<(?}9uV_B<8~DZDJv#Q(8+82U13qd6cMui4 zgOiz-Hn^&c)O6@VO|BfGe8ynvmhVnm<`Az z>#nZI61_i6p2;`8L&ghbYL?I_+^tSqcxxuh!Ctf&EHrZmKRvQ}$kg4*JvatA2jYW- z;9^Sz+!B;(6Q&H@IFZD%ae58NoV!5idLh6q%DEh;dK%AeWXS(u{%n9%eXoSXIr+B5?lx>@eqR2A6;-N{g2Ga0mn&R=_R#j z*8UW7jL76bB*lS)=va7i4}6pul+}eI&hAfHaPSBEPLK+kU|ds}x|lP_E5{5btq1Lf zQ3Obpoh%!HlVa-bgU&Ij?sc}3mev1z-j~oX4HM&5ZvIt#!!R*6VhdC3QwiC1q9XKw zkLmW^L!-g%;6{e-$AQC$^cOOl*gjX59KP+|G|=?j-%i(iLO698^Mvsy`Ojk`cDI6iPXO}M<2|ll?Q~!EU`^>A8BX*MJK%flFH2!;G&&K^ z_OFr&o|f4Q)pH|}Ut+faPgar&O|G|5+(66ih=T$x*{J?+o_EIxU|KlT`j>!szpY>Fx4Z;)rid$MT#TSS^LxIqw&pFZ%f; z*&Eq)Y}|p6%6hsJ&ki;1%Qjtf{`ctyx8e|nGY6euDs+Q!-Pn`MH}15BeGi#%>`BBL zdy=nKi5F@hlIsj%MLKg%q?m?QG;q820HLzO^gi_d<7C?u-rC|`Ot8$N7%`Mtl zvlMw`bgYfuw;ow{uwbZ$?S+1RAJxZqwSIs)S4*&{&Cq1(-UUxpQZhcGV7xW79Cty` zJG|CcKItfK(3J*#PmA-u+Wg7$+^vT#d(EHRGfUV67D<_%ooXrHU3r%9Gh_>p`1d7g zikE%h^2b!tHN?_N;sYGYL3%2Z&WSu@CwaA-Xv=Ie1Ijuk32Z(iTQoQ6@^P5{)pdfC zZ=c5Mdq00@8Y<|{NbCk%?hqe3mC?qBVR)ZqV0L{8zGdz-MKk;;Ec;&>A&P=RKf$!H zuB*Xtnyg$`3|y6qg6l>d_Gc9~Z`EoT=^-0+d0_Vo)`6R@mxj9Wk;lqu4a-@nWckYE zLnb@&WejRA7OYU!nLaE0yiWE;>hT80Pa?R8TxB};MZS7~TDYLQqKMr+Oi>-;^?jpp z3myWOMct|F4T@maXX?Pf>ZiUn(q5K*oY0%0a0ub72fQ5xzOBTxMP7RXwawzUG5oX; znyR$*jDlJ%cbej zePSYdKPF#e$L_-Ghnf0XxK3Z_Cv63HcY^Pv5HsA^AY98^RM=lhN5qOqw6aM$>fimH z2!Gvez``_y#~&d_gsRll1%l^%F{er)gDKpbzxYfkGZ=`s^K&u;d(MdO>=KkoxjhTm zU%xx|&$$4K@q=Vf=!alfknymmA+l`x+yE$0suAcyK11ynjb9$;q$)+|4rxa(L$J1CLcI( zbGW+v=)QeansVu^tcP$f3!JH}NqZa(<=0vZ#_+Wn^<)1xkSa*~k zc=n;>=82;lrg-vfEtSgJr5C9|?i72a$?@*q=BH$xe@yfL0X5N%etNbWIQRwJI9x$o z^I7AMRRKjhY|`szCzXB+y-tYMZ=fEnAgBt?ShybMKR_^UbpZw<=r~isN94^AJeC+^ z(fMEqo4wWa7sxxh|E|*KKpWLzWh4$;3}zBGsi5tmmx`LtX^RjF*h!yp{H9!S`*5nzyJl zrUHD|Wnp)5W3w^0Iu($DU%^0oyYhB${5-MHQId=epOpL7IJ~^(=%8S7G+_DyHQ)Yh zNXUGLSp~};9_4(FDkPx}AJMGy^`!Dw$E>ChY?&?+bV8w6dxT-Nt{Gtj_*kU5(%L%;caTCN?wE z#9t4AQjEqtq+v9`S%J`+8&sis>Mdu8{-_pGF+Jg|vR&G3r1>54Y8OUx%K#evP(a0< z*Apb&f%bHXP0YbrJpcyac@hW%sPGi{ye=Zdq6tqS>SIpQz}$j5(P^ z?Yfs+k?ZtQ`23zL%sEwzxp%BscCg=siOQv_2N;-Mcq1pjFD6~83j147^-0I53bhg3 z$flJH#oKaqCD_B5%+TQV!cCb2bc&Htw)d&zc$P<|u3F}&`<+a@>DIbV+ICVK3gu&5!DzV~~l$07K#?T(D~0_E08Ay~_# zvT2@i|0Gol({&xdy}(=*b-S_OGK0HY!Haeb-J$vTZqS0ZHTKEX#bKukPn&_y)(Eih z!H|=Xkuz<0|Io(un(S4{@~pW;V{c{+*ZlqwVZIx8YZc}sgIia5x9w9bN@u8gTV!~^ zs>jmJFj{)1$<}q!tttq08yj21VODL~?b*(Pk(&ItXmXZ3szfnI@_0EOo}M#3HjL$x79q2+ zR>+*#^`QAt2=!sGlwk)~@B%F0Xk z)bTU%4J(8WQTMp;08Do-M7&M`Iy1XbUBDfrS911=EU!s_x!5O@LosU$lFseX0& zbLY4esPTF`yLakN;HvGT6Yd$(&)aR^XTaNF>ms=Rw~)ftznTWehXs&u?1Y;`L@1Nu zVI8e23*z!U`Db-9SNAub=`kJYJs`9eT)7fTp!lyuM$TnKKFlsbM!r)~%eH!!@-Kf* z$lSHbwL>|I`TY4!SI&lw5_iNC9fpLPmGx0#Ynv3I@W?NVv5MU~M{2*`l?Aq$T^7CY zLqx*!@B3feGLy?ZYqjHrijEGs(%tHFSzzLi`fSRNSJTx6_i4rdApD?7M^{h>lK_B{3#cui#WpN zvcC-14IMvqs;}RfyFiqs73qaX%#vJP@Z6D{1i2)~;;ojJ{)Z`;fZtqQz%`SMCP_87N9m!-6gpP$c-ZxNkdjEK$#N;iQghiALR z-pYtiW+c%Y(*@T!p^84Pt~5Qa5tTO-tN9OEKKS&NF!pJ*gzeTH*KxDEqrTII0U$2E&GItm z@3_S$El1a*yc0rxLLHYGgu|Wp^2#XmsUl+INvyvzs4kDd0c%6#unYrR8E&8{>F)3@ zDfz|)L-iRWB{fj+C_^l&;O;zNGROa!ZAm7{aB?Dy2P)CaVgn4^oP zuC3@7U$>i{>{(!#u zfgn>udi$lzH~9-a_m!2QErO@<+cfF1y;VbLc7Afq&8yNxgSZc6hu;jiDyQ z&mJwdh=moZV>yRMG+4C$oqj#aSSpr zs2^k=EIi3~p+pEUzOG{x81J+Yb%$E-Y2m~W2X^G;RJ(yfcl{R^w%-uKYh~`k6?Gw$ z7_-UoAG@mGc9pg7!!$Z$^TCD1u+h0_Nl>yHgsK3!fWqY}AWYVyo&>$TT8k?@c-T(k zO@#E*B0ON8gf&483vg{1Iz2ylyW9$acqx)6QD5?PW2b6+`hE1LA1HXQS+9<{!0?P+ z-HN?7Ty18;TE#23&069#M-OQq4@I~ZSBQ*HH2@*y?;U?MG!&#dy60pH2lKQ@5(&fe zY34^el1rCq5#d~%cJJXtlcm2o%rbNq&`p!q&rzQYSdIz5;|LTY4-6!7-HVwyPFR?E z@>SUHbRCDap6F;D1hmDbaECn>2cp$V2;oK%>7O zsp~~V4L`Y_;qV<3z%T2unHBX8xnakblD<7QXfV7v8W9=_oJQ);@?u_=rU&jnj?6U+ z5juaL>nzAhzr;#+2NAizp=o_pbE3Ne&&2m31}HX|&C)SiCMGZF^lwR4-`~g7F+y(L zijiA2<3QqYUGu6hEk^@R{6k}7fpfiO1u3`knw=w15B;v$XUgCCc7~JfJ=MsirAfH* zc~X)soLw1-(s1;(>S{bZYrcT5{l!EV$-dr8nhS#=?|Fu&pdCNPvDBu&m9@RA0;?sy zte$`quJP9YK3Go31Xd#-qAJH>bNhMFJM%IDWLe&e=7Q&d&hFl!u=6^qn;M=CJwq~0 zMeI#AmjQ+2N|ZVW-v{RZkpBdAr-VB2KJIWkR`ExZ;%VbINV{8y-nV|G*a^ZeQi|9$ z3X37lMcO}zMfL$>*D@iy`<-PWC6gMT4fO4L`0OboStt3P2$Rk{B|xf1I^tQ~-w&XL z86Yvq*jqPQmori?y9JOJy2@l(GjTVQ0^t}to5lbV{-(Qlty%ZwIQ4}E;HYMy)3f=c z3HJ6Q{O}ZY)ZgJ@Ld{$}j&e)))xFt3F9m{;yWHKip@P7FX>E}sr91DX>DW6EbAEW=$VksG z2IcEQ)MU$jrBrVqCkP_-VE9C%Bky7FFppgp6sklYO9L%p8_A2c7zm9xp81^1bvk(k z-=C@x3Q{Q@r2k=9?~!>>cJ}aN!vWJdBK9x! zFQh->uNkVe=Fwakp<3>KL_gU!rOI6V}9oc&|ZEZgQS3 zn+0itPlH&lCe$0q5&v8tS$;GcOd?h$yb1vM<_QP&%BdK7tYw5{idr=Ox$H#|5n&%I z?mFCCr>sH6*(g&NFC^FA-5jJEyP-PNX41U7FP|H%w&wy_IDtW*G_GdKI>!aLXKpp@ zM!v+_yEer2_m+J^>2h;h2A+6iM|F<;^LfC1Rart}YO-#rNT&0istoh#+4`@J&Y;hI zgWGJ8-zT^?-uF_75BK+sP-Y@9SiQ6-3?1a zjdItFp-%Bw0aBm0Pag+2Mo{oaf}Y`!At7F9I8B-4Hre(GWjKczKr%90Tak2!h0fri zb#6;yj{NR$ybJ8#AnX>++znJ|3^FcnHaRYEhLz3;!YqgV1{+JyO6Ilq=+E!m=LHG( zr8z@xrnC(jaQ?%HBngT0sd?1+Y*i1PXDioqd0JU0jV_G)U2Gq{$S z2kGGi{?q&8KG>i9##e5OPMsLCNa%VE68kN=+vsJ@CGkJDZkU^0^WD2?l%}U4|H@MFmAR_#!Sebz zEbOlwrB^;@c2>oLSrff~a~j0S+RQe%jPF;Y=tnQ z^yE>67YM!_*7~{H_SsAkwyc@aDV)8yR4`$-I$`L0*Lu7(Yki$lU;pVWbM$V)Fv32X zdi_wN%7LCKhO-raztHCNn)l=M^G{2nnKENr9oTdGf&2WA72~m05k=hlS@dAtK^cXh z|0vB|_-B8EwzEz)<(poN?UvbNFQIT6eQY=AnHFe@@9|ZVyTstc0-AR8X*6i z1-VW=OY2kQhEDIS*foLG23#1=E%AP^=jPKhU;<7#)4HVM0jQl|UNc;Ou=>Rk#GCId|Ix z5P7wAZdZyGUp(ozvI>Yz;yEURL=Y>3S)X#Wbu(XQ`kr_$S*|wE{^o`{zphU_Ui8|u zxf#3^x8yW#6(28r7oHqJPULZyU;h-{wYQfX9kj$G{6wZkc5-s$U)9K1iMJo0kMvhC z1Hr+i?q)Y0RT8L3Kj zksp`dDh5a04e|f4^OND`FNMT z=$nwR^!?A#DQ9X*O4ZkblbuPnFH-X|=i{LvTFSOxuBvK&?i1whwig1zGV4|@3kw-) zvXA>O?G$UH@JV9x;o5}q$cVulE#Y`CZ2!7eB>lM0)>2AdO@THa#s?4fI!Dnz>&N}a z(`!q^r&~=;!SF@zr}#mh$Hb#S#nIjtka>+>dZw})P`#Kf?sEGFpXED9*xAV__p}?z z)y@2^&_w@NhJ$*|?-pB&V-WU%4`JKdk2GLoHJSF* z9w*JEad0GKarV`2kofr0W-5MmS>8S&I)HT5Ybh>lXvl;#J)HE#hL!JwJ`{{4U}2bn zyhe}C2_7L{Y$;J0uhXOkyg(RAz|t#NcJ&{$WHfTE>42 zS3!&IqAt(V8;e2f{|FqfNT-b$iZ`KZ1o1u|&;$4J_LVb(>EYwCbHyf|<0TtC?yylD z_X_ncB(HQ@xN-h^0(obg^6Z6L)iM0Xd)Esqoo5MA4Z%NRaI5EGced8DAYt_OGf;QD zOeDRmjN`kSgD5F!9I2U*XS$TCXappioH>&;UfM@GR1BahL`3R^nJT$DN5`@B&MfcD zG}`xh>+~Ai*t|717B&Ti+akXG3o26|E&uqjYht2V(aAA5n5~t%v`87l%A9lY>smWV z_nMyWZfXpC_)uKrdS`aF`G+ubCZ-k{+5bKpRNCvtziZ{VJ1H%lgGM)PjqA_BaH3q`nVd*AX%QZ^HCC2##JNW4 zOx)*#0WI1o)>Y4XgZl=bhvuNlSCKQP2Uw_o{7yc6SlH!mX_^?oib&+k-K`ZoNo;8m zJd3~9jj9Fh2{gllD{IX@T7+HenNkhg;woeMFE8&D4NN2LtKj@SfUD5pZFUNs-XZx? z_Hl%<*Tu>JFLT@FW0N95fJl7GXuAPIlL{n2pHpPst)~g4K+h3iWuSDYz1Mx5`g~Vs zBdMl~9>M=4+3%s2i2PMS68PBj7=txKx!^t#RADo!6fE%-_a7h(zl3DGhNcq7ZC*jM z2H4stqrUzHM?rTEo6gm6+qaK@+mPY*yI2biXhT`yVc&n#7PRW8v?mrtthP-+=35{C z?ex1IFkS5zQrd@cQa;k+7n`K(rdwS|L}H)PWpZ|S2vG|4eN_5YTcF=$qznY3U;wfT zxl%@t(SqzuH^sW}Hj>ac#B%@4!5%Oe%odD$N;DC`&ijuWn8S!J0+09RZ=P-xTO;0$ zv(m+4T;fsVgfk_oeR9*Co7BB9*BzzOq_Pm*vyclIlzKD0XydRP(QNv6cl5$8b5&5x zeaP3%;%hTTJ+HMyDO2YlRZ~UhaFgfD7m8X~X=B%CH_w{m|1hgN;SV6-}w-s$V6Gl#ClWRqgedTlg5+wk?99OgMZ+yKcc54Wj^DxO{@~0u<--a zIC$1kQ#~LyAI|B$Phb;ET?&z^3)EaIb~RQa&$S!c2-!VLcfJ_d>Nuj z%P5Qim>x;MH9ib|L^*et_Dl*b(Wlk775$y@!^3lZ7IgLC-gdw^bD?aYxN=J`Sg=tpmS&$vPHA?IA*hX*Am5 z-AOjw#LTig9-9vy3zfM{87L0eC+Lv&o-)^fT|2eK6n5`xk3psPxmGEiYr&ffbig?{ zhiN%Z5cQ;=UU!oM+5GseSuM6&dWzKZ*Ud)!KfkMUow3lTa8nA2Wx6KqU@L9)u}Jfi z5=aE`))V~?YLHKhsPBxs9gsdsPu0JZXG--gf7PpQoc!U(0UX6|zhJvsXxcPv@1&&z zQceNhPk9U3X9iT&6w^ymX&iyNhgzr~D6gOF3}Np{euS&*d@6{!ad zBi~t2CJ{vZo_$J?vvWLeBep8z(v`vN!+>zPt9$|HO3_c`29pBrnKY_1k@$jw2o)io z-7*gm!gJ3qocLryr$29bA?dL<}ft$p< zTBaJoX&6AN=Gq~y0Qv0wro7=K8Yo;I)quuh}Ok=R%@jnuEU&xr@zE8>K-T0#2d?W4UNfp5*Wvb&hLv4P?98|B8xJ$bf2|gG#bhfByVXw&Nw{MONBzlsa1v{qLcv) zrkxK7K!^;&X7?PBXSvzw|KwAh=6VrftEfQ|kz8)U{fGf*olMHEzHbm%?`l|l{NLI=f{faSLG zZjngDK3_j9;`qj%Pzx!=(X9wRA9~w0TRXm&bkigRP|tKy@Z2-|)FR-(D;6I@oUVoX z-`S|&>c&hsToKCp-B~d7U*Q^>1zYCFlz6E1o5rgMN<7!ehrHAg7XQVXd#q=o$zo94 z@aQY0`Fe75#sw($NRtaFnXs!K)G3@XR_R`Yrr|PLVAX zHW=|m#{i_@6a2Va{~Hg@XPcbycny^>{OKSYFgpa#u5@m0Q7bAxr78J}ilY=2Ggf^N zas7}5R`=(fT%hLzJ}2k36yLKH*EHt~_P;pXewY|6Fg$L%D5|`hFyAa&%Yj+`;1k$o z`m?Aa(m@+o8au&G@Mafk455c;>ehc9FI3IARu4_vkzl}vRao`i=l zQz_qErtGf>2}w)eYFM#H_6MNRkMH0A>NhKaZEqJ6yyoxh&XK2MyV zSCc-{x=kT5Hk@w zGvo^=M!P)`vWpk*I&Ad|{JO5cxIZ38J=X!bvl(%oc8!3!J1`gN;faRwKTB2J;HDV<%%Cbq^@qm zLpJ_;#q#Azzdj}W*V1A_6<8?b>bjPZF(7S`TyGm)#ajH@$MyJNq$76noj#rwbXCKS zev%l$@v4>&*kDKS+C&_DU~wpIz!R#*(ardJ+r1L3dwuyJi3%OSVxyasMtoYqih zc0WcT)YSc?GmkT6MPsEH)8|??0uJ>ogQSrDUiyBcQ*NgHX`S$67I}>^+?!t;EF5|d zYl7d@;tTAE&mNnlJL)wklW(Y)>})e-=R73B*H6dmO3vsR95+ z^FK7_;!7unu;{6W^E(9*>Jz^xS(7w5Kb*P-=2lAG@akb}(8;rD4az5UVG5n^^t8sK zE?|!)>IbK076#>WNRo+#SCJWSwM4CUIGL_@NdN@EUNB9LLsB4gbQ-#Y=dyOCOZ?sS}{~WGSg_5IqTMP zj-d^-Sb8Ulj~;u3baY zlNj&W)bCgw&xa*V&!mhPJNo~r@WZaqNCn?6*$4hTz(SJa1RBOldRC0+DnpQ~LBD!r zQtlU6zYByr*JG1X(=&f}{zD0^R|z06-H3PjRiI*vt`o9Mw@q%T1uOJ?<3!pQ zi=P47k%!N#StWEZDIbr$GV?Fap!|-=Nt+fiZ%=K`mtuxzy{a!bcwXQoortaC;Csdn`b5qi zWF(%ZVV{8Cy;OVZ-!z!V`=0bP9?Ob%cVWxfa1tE$k)2!fuxO{;xrLkG8M@aSQFFBA zK$|w4naX*!pX5k0KtZ3Zo0^93C?Q79`l+vDlMhU0HYA?FO;*?nseBWsAWq$BQq$16 z@fzR*`YmVKz(@hCuhpt?P?=m`pUy!_mm4nQWNL1G!mKBf>+730po-&SL;^~GYONF0 zOvq3-r{nxqA|h8QWS-x@l^XZ&=^E|8LRx2;nV17I92)E1%Z{5RCQqa!p4tpQZ_EOL z7zl$J1~@nbq?RY` zJFa$)liH4UXs=Sf?eA}Y{_NHB&CWk4jg2*M0Mo;Mdj07=MF6CGX)x#wwtzEdhMAcYGK6?h(6jl0F$qR5 zA3fShb2Atoewf4em#euemakF~IZW#0=dVvl7(O{k1;@+lba)M*N&8(h0M0a^?S>=v zAQ+^{uaXI?y?0z@ov#Ri8UJ|oHBy8iFv4J%{h{|tn%l@fSI~6z@e0R;Pv*W{1Mb@pd$KH`MQ+dgZHcO+TTIL?P6)ra~3^W-96* z92+wvFLxnntDw4P9DNhkJQ=%7vT27LXUZh?KwlcETbRiT@^-Yh59+Jk@z}K8jo?_? z*#Vhv^nUtRdpEnag%lL$>RL6R#`QUWrDd)%J;Teiq_AP9x<3knkBfC89SN)WpMw{8 zPbsy~fG-2Me0tcTCnyMWGP7Hek+F6Cy6T6pDL`-Yo8c;D63WwKT11R>oylZO z@=CV!Wglhu=~;T|j)yY8#e}4K(THn&xAXT&d0LUGv+Bw4ohpY*GJ5itbL$(Zy16_K zYY4`w@~gu&SR=l^bq!q-L?hliVs+=V0-f5A;-I!?F&YDoWgxV#ZI*suv0FWqL9SuAmrvLY=-LOs0U_Z96Pnf>~`2K7Br+nKN=uC7{pK|`j3W` z)*i1D)_#W2?}r^+-=c`rBC?XH98qbY{6?y4&+@6@tZ=}Q(>%^&3gc&H>K3^!fDZO` zbT6BG*Lz4>Q*A+RqbzOK%LCX1buRzw2`~qf@!LK%hodad)!JDiUS~1If-C8Oa>*{P!0gc)>`D&@IZk|iWIMHrgT61E{D&U68{$h$Y z$oTlb_~0%lWK`#Ij<$BS3p2E6@3#O4)5#=`PjYy0TWKl!&L$SC=Poe(Wv$QYc>Pyb zYis1hW&1<>!g~J3qOJDm<;Su7Ow1{4!kLj#Es|B(Cf`*Yy@-*MG~srzo*fq&nz!0p z5V(5fpL2g4N}od8EvlY#EWo}cViraANZ+rE`o>y%dw#-muJ8LWr z>qjyav{0#OX?eFKlPQ6Lw&4MLt|AQSkDn%a?a20_sp^oxg!v8!@Wu&P zx2{Mo!ien-omLln3DvxRZ)!&9N-i~UQtA+}r~pW%=vLl~7cnz4an%BvhyS4_S9kI- zNG4g2rMQ5QkSje&HH}nhvc~VsOp&lR^^NHpo8Mmy`~^AB`Db*r22&?WTj(^C=H`w0 zHFlPk;e^Q=6h9;{jXx##Nqx<@=XeGnFng7It4T?XPpX9Bz~>~Pa>EX(30|(YqMFOG zfXBCp?-x{cEGYcx{c|Xj)%z#&(+sl)rK#b=?Y}u<206D^vufsYKZHra$`*Tbw1ia} z+!xxVYGn8Kjqhu?+*y0_ctzSuC&?-kWGgQA^U)*GzKp4~|7I~?12$2J#>@O|KWm1Q z9P_!MKiJqdKESmt(pP>9q(n!L)y!$oqM&@8jcuX6J?DsT46;AA^G z2t6`)qN7(rLc~}51WF2A8OP)S#u{TJlu1qPk+Py;iRn7pb+cb}NR8cezwj12NQ&0m*nC9Q%r4Jmv!r&S)5p9F#SK3?3p))A~& z0&}V~HQ6zwz;9(1!xr{U|1#tNZhu`Sb^GgmsB5!n-+F;JHSuG3h;Ne2bG)fGsa=#> zW7cVNSV{je)%7tM&66N{rBZZlmP-1Ds1B9>HlorLi2D48TJE zt)rVb|tOYq*^J+xM}Z!eC;#f zlrivZF$rs?`GP74s&2zYrbf^5lE1Cy4h||P7qN$LQw|IVVqU=((qYYlAi}$y9Ppkp zOO73lQe9gcOPU*pS^XvujN99Pcm~gpL~sQC?bkOpjnjHGh|*~D_NjiMtc19EJlKDhCeh`00a89_r#&mMLjkNC@V&cYqlM*WjfBG}zLRF_QhTCetvoqk| z#qF@3qicG85{AMlLkZUX95B%55CjjYX0?HZdzHU0xM>N5U}L*S+6I$tR6633Lp8IG z(J0`DTQ?GyY;5%8jQkRQ%2#ZwOS~T7pp|FKEF`i#E41YPHt35JbJ010L1w#y>ZG4q zk8F?0$xKYP{~HrGt1brm0jcZ1SVBV+%&TREgpjArn@_&*M$86Q4qIEJ;a?WnHFH`& zzi9xwvmkfC20Jbzkz6JF`>Xrq)i|2V$W+?#hInp6ko8P`in}trH?J0Goxk=6+oGb_ zkRxqU=C_yLDoDt`U)uoO%-O1GSN-ob? zCENt4_eun*A3P8Xtk#ksQAN;8Zdr0^iRioi<-6%i*~!i1&_SF`-if~{cW4r3dMX>g z%@d{(Np#}&`1O%qr~&Dn^;K7)%g(^e^ToMo&k0d>6m!30$1Xp~ik(A|$*mXR&yRpy z5vvmqFDL&677#HfO$pp647%Dci)1j}7S_? z)QkFqCSO;(qK|fQJ!j7p9B^9;2XVdxq1RkN+gB&Z6k;8ctgmOR!LZ<9*f?}fL~>1j zOm|rBO)_8(PgHgQ7?YU^^XLwWDL>@x5%eL}yi-A$i$Q+7+7_|a`uNSt^S%C|)!d;U zM#DoxpxTYN=-!SOFFWpee~gdI(af2y=E{T;mr(PNAGfbwo$T7^O;?f9(m=0om9TT! zef0z$O*t&^mjWZX&l2 zJ^g1Eqbo%K`6N~5ybDhXdGSM5!;PY^OHMm;4^o=N9Nlou`uG*oD$g&4CtDxo;IfAn zZCYH#kc5TeuS7|8xF*gBOCvGq3uu4J!hC=l>!1^Lia#Z zGyUkJ4g0>I)+DT%P-C8K2jNSoeiOFVHOW~xI&s%HCUd-h7m!P|TxS^?_{MtX$ zGm1@Hu8w{DVt2~rZ{325E*}hKXABMX&Nf+q{d2!0Aa$-?a|Zj<171F-kOqLNFBDQ9 zSVerS$H&BCEyx4%9`{?lfP6{?6QDjr-(#AB-W_^R(nzC?gck^pp;JM5@9nAefU-7y zvbN-d$KRYbcJH39Bf2%6!L$FWnQlX3@skg^xkKOHY`FWiEYzyuTi}{d^*s&pyqS(p zYOHo)rF@I)TVqiPpD-Bw%~|fe#l>VOqmDLe`d36GCtgDd%sSh6L zNxe>VlmfAlnKZpvuJUT)Tqt~l45M)?b8qU7a|UJaA;4q4uIaDvaya{344ENOArClF56RMK|Z$RyU;Bs{FV!aoGpfgVM4lfbeT@N ziAPG5W1ytx?da6~StCyi9+_k4?fiSZ6W~p0W6{>->Il0j0Yc2m@PK~Xlm;G6KG_S_ zJ8ARw3uUrqKg;@5{ZOR#k~_=Qhi-ozBJ&)&iQ~$Ud#C8#$I7#xYiyr685pEs-TrF` zD#=@GUwC*sl@Wk2H`sfn$*{CEN|Ne1!MjUV+JuAR1*&`CFPR z)2O%m(r-NB=LWX)PJJZ{BGe zU)Wxz`u@B3>?6+63L4#{wWcGpi|2c9~%Jw)Fn^s_&&H-GnQwYTV%#g3n!K<8$Ltvcv>Ox0LA?8fC}eMb zGgVrUZ(PBY&*{p1Zp$a6qJWp?sJ!xsyo1s0Im9^QaG&1I9^0WKMEmsYX|13zdU3g3 z3zu`-Z17;xVH@}5W|GOTW^&twi}J6m`Z+lV?f6<@p|dpujUnn}K4#+?e(Lseq8cKk z&t4WI72?|f}!(bP&ZMfqu#|1_qn_e zy)$2aG4vkhM%|U%uIfnxy z@Y|V1MeB(?j&n=MxW8#iqmLh54h}vfN5orjNqmgiRP+B_#UObPgKQ#MU%^(P^j7C7 z`)4}0=a~?nG&BOTvif$LRDrcQaH>?L*V-evn)zjC$)?}>c z_G?llc%}Qc3|2>j>w!0!dOwm_TM3z&8IXaYt37k7*jgSdB+dAUPqAW4ZAvZdpKGUJ zP|Ol+>-sLU7RyUsmw1q0B`1>ycqRW%Pj7MyUS`%|6k(G~%wM_OQY&7;%;~JI$_+pV zo|_L1bqUh=qJq(N^uV{awsV~jdES+It-<4f5n$?PswNC_2c7)R+lQsBp9L({d-|;7 z@j=g-J=%S)+BI}Eacgp%Pv+85qq#Co`n9)bfBJ_K<@iw8(zFT%(4LcE_ANQ0J8I0& zNBT3ex5mm@keK5y8}#+r-DieegGM0ZAqyf(`BpQEx!mgLM#-2E&zx3P)xt?N#~Eyi3$F80nr`7kywNDMrm_tRQD8{1D zZ?%!VBN0|UTn;K9XK6fb-PGPwF8)oPcV|=Ruw;T}q&q1xL+)2P?=w`cEF~ii`eyqUFF$;kFL$ zh^gm;o%&I?hz@du1=y7}IyYtq&y)4zhK7KZup>GA^|_IHPxDWoWxdSxC*)h&R9#1G zPh+E)$n{oIo#6Rarh4GgBy@1<4|qGQeQ}v$^^7yx*)iI20j8k0!Q5??dpG^Wre3Qe z=qjqRpRwSRLTqI$AKyI{pU5bEF|pT+OHu&HwlxN}v0B|7&^tT`9hm-A$E)YC+Be|q zE6mBQEH3u))TuI$lfzZsx>}v~_D?rNlc#4Al4O!r)WY1_a)Yc8!6leE2{L_atkN`! zOn$jX^7K$?vW-?;3z)1}j^NNg8GyuC{I6Nl>*!F73_ratGj~vH+tua7@DJ(t(VchY z;lFq3%A~VwqKYaiJW{W{!;+m-t2Oipy!=IPUB9O7)v@1DTgm$Lp5mR#JzcNZ}|D)*;=0=gc{HxhOd z!J*prt5v`E^-qakT?JuDm9P_zDql+vP0-ctF)o;fMv9e{^Am-9wi8zwJW;3g!R0zO z_rEWTt&;|RRw*_TUoHjhDmGK4{m!!IEzI{8FsO3^+~wWRW(3@R^k#6xaN(Btj6WEg zj(g4XFRZ?t-?0SIp9l+s@B{4Y18xD!P#+JKp6CZxGChmU-sr-;JfHh{JoEC^TQCid z_B-)39M}#^xY$DR>PZrqnbw)tQdPyQTGMW~1Yg^Nz)vM&D#Jf;bY2nI*MEs8TmC!^ zzxjTDF(LNSKH_NP`(yD-($)?;cA|~{U@W^cbL!k{hBy2JOj;tr~fLC@83bh5TZ*@DlqwTc)d&y$g8GU**iPfOIFMD#xg`lZB?*=pfP~wvcKGSIyou)4r1JaB z{gMArDdFJ@TmqRz!Sau%f+Mo#IHyi&)+Y>G8@_?PeqD`$dFXgQ^Y(sb?CoJ}9KGW{ z@L$LDLyt#~JZzVZ{YerVOF;bXjg-NMT8=WEt*Otb3Sk#$CVxa2cH_#XEbn%+ z$P{$*qNW}BX2;HG&ed-`t_CuYNth?ujQ3NyeDu?IFnPxg;Rnnvpr^G^KfT_Jpa&8l z#u+V>hNLE=gjAW|!5?$6-@2}Q9Gu&o{jxz_E*0i&?PT3QVeX&2`Ii!4R)Z+yxcKk( zk{C8GnJ)Q~d?AHaK8S*?NKCFs3gK@Uh8RRbLb*2d*Z6%-3R#l-Vl!GJ4wtEsV{3BP-cM>!SWPs z&4mPN04R9iE%Srs2u_E`q8tO?XR#-&SEq;{`zTTM^soJxgzBIclUtz6Ip}5X&CWoU z20nL4-tyCHRxbnuOLm>A2xcA-#eszopR z_j>vbn3XTSuw8Bs#2L_oB z!ImOr-Yk+%VtAi8tgRxEJ)xl|@5_VJRlwk}ix>X#T>7@P;DI&`F#xheBmHWlrCfqsZj#)GGv=RQylk{ziU=(mfnn z+cB&N>3a>eci?CnM@>%U2yY^X;OEw5Oi$jVa*K@{g)KzM4#R#9Xxk;Irc!%KG`j7v z`CCPg5Ip;s`-p=1>&RwS{6H2I*Q>5Yxbv$=a^~0dnT#rX5x$1EbvSruY(vmyp~+f{ zhmW0V{WO@nKw7$>EiAU@)!u)*_yD)?79(&ST754KF>_Rq&c?SKh8ZXbiw8nsf=qS}Innb`A`uRs)7I(>Ov#^vNY zr76D@tAxj1r3V5?2gxBm$@DC4JV^`j4m?=9^f=}CZN}*(R8bLmuL9+s*v);DRKrX& zsl}aLVH==54#0HJVq0kX?uzrNuNGEc?_2)fvUBG)I*e8jROsZ>a=Y*)Sm%nn>?Ge8 zfkCT~nOWfmIL%-Tt31F4L_m?@;j$2)j=5EW=>x>G+JE7Elb2xdTmVG7lC<~B1Mz9x z3!p(2gRo+xH4mtHB$a&%_4hDriT?2i+hnx4B6gL0K^GRJnl#<@@Lp5IJhj$4WM@`5qZspO zE6R?vbP6I&I0M(%e1*1%7jUiMlbl{L88Y=XXnQVylzCzhr0YHb&E&B5T{fa(P!6QWN*4!BL=Pan>fNC>| zBPs+*6(mdrG3RS#DqTy$3~kvpqIDX?*T_dLO&YtotkX%W2M;@fKh>~>5zit+aGm=ORhtE(LNXmh=uSgTqv`Avs1XQ= z1>GgYXhJ$@lgwqpj+BvBTAee-+lDaSNxKsV6GCHn%)n**jIYzMS0LwFR5wN3o2H!z zU~3@u7Eboqp;zGH*B$ABch;wbKmYF?0%Fs5m1gx?>_Bfe@NWyCrbn}Xle)5S&mokp zQOb_)et0y!P+DJw^7i}5{;#HFT`RLXjOh5qsvgs`G}$5`o$5xPRnEb$hX6d}F^$m* zkRZJM3b_unNrOPHSnWZ!IcW``3h7IC@dFPTDyIl}BHoDnIUp+Kbsdh`k|9T&dkwnk zEVO_7m)~iG_?W{V?%yb^NvD>N$5&m;2k@F$;#*>{E*w^~3Q%DZFzB;%<}MxV>ZJ79 zX%htqybR^p&bL75?9uSALB&jBw0(XTdx{F}KaLBWoXrzaQ8vx~>aDdcq&%V*9$nMoBNKKs%N zu%7<>L#TJVsrnRK!iHNA(meRbWPfcqgp-nO-h2TMz!p`p)Wb}f67X3d#lE;EjXE%) zp0y4n=6(4W@|l9F*r!S!g;cpCnprL6v(r>Rlr8;dd64;gOXzQ5mC;nFT(FCta1*6D zn~CyF0uhl&ohl%5;6p|&cihK-hlXoFzN|Ents&D#zVE8Jdv_lG9N=geVNqU*?ehP; zK?h{>r~64OC!hV*BYv>`sl~=o*RFaa?ouvp(#uL^+V`^4s6YhU(_3rdiDhq*8Mj;`GZ{qDc)GT7STr$?yXWFjHk8Gvq83t@rTX#h>?wJGP02 zhErodLJPNw2KLX4(ylF{G-hBH%!2K-m1mgLS|~CEM5q@Jv8%^5|AcselcCUP*g;Mz zk=u*bGvG6BdHuGOp(EZ$?%f!L^DQC%-sO0G>6P(POD9||ci-9qjmNe0yP23{x1;M05tB)r+jVbpQq;aL~;LI zf0*M_3i{S$e<}Ls@Y$a-?$7J~K0etp;;-oXLbyNg_lKds5b%K6>MnDVi zPwrvH@FPY4lggPdF75e*82x$Qry%`bcb)VGfIw)Ivwh*f^R3=kakXkFUr!sffFD?du7zm)qco&Gc29~$ywYy4{R`==wizSc6}kghM(@=rGN^&h1B6Z$@- h-2WH809<$7{{w+cV@mPFU Date: Tue, 30 Dec 2025 19:18:57 +0530 Subject: [PATCH 19/93] Rename images/turbobot.svg to images/Seigh-sword/turbobot.svg --- images/{ => Seigh-sword}/turbobot.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename images/{ => Seigh-sword}/turbobot.svg (99%) diff --git a/images/turbobot.svg b/images/Seigh-sword/turbobot.svg similarity index 99% rename from images/turbobot.svg rename to images/Seigh-sword/turbobot.svg index 26788fe0e4..c59e675494 100644 --- a/images/turbobot.svg +++ b/images/Seigh-sword/turbobot.svg @@ -5,4 +5,4 @@ - \ No newline at end of file + From 5855ad3bc973af8dd81a70a4e214c622e5daefa1 Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 19:20:44 +0530 Subject: [PATCH 20/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 57c2daa665..04216a52e4 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -1,7 +1,8 @@ // Name: Turbo Bot // ID: TurboBotEngine -// Description: Advanced AI text and image generation with bot memory. -// By: Seigh_sword +// Description: Advanced AI text and image generation with bot memory. +// By: Seigh_sword +// License: MPL-2.0 (function(Scratch) { 'use strict'; From 43bcf80c9b3439982c2d00ef05c1152372b27930 Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 19:24:38 +0530 Subject: [PATCH 21/93] Update extensions.json --- extensions/extensions.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/extensions.json b/extensions/extensions.json index c3f75c1be8..2edb51be66 100644 --- a/extensions/extensions.json +++ b/extensions/extensions.json @@ -11,7 +11,7 @@ "runtime-options", "fetch", "text", - "TurboBot", + "Seigh-sword/turbobot", "local-storage", "true-fantom/base", "bitwise", From d01afa5ee09286194bf8aed183f72945033adce2 Mon Sep 17 00:00:00 2001 From: "DangoCat[bot]" Date: Tue, 30 Dec 2025 14:01:43 +0000 Subject: [PATCH 22/93] [Automated] Format code --- extensions/Seigh-sword/turbobot.js | 412 +++++++++++++++++++++-------- 1 file changed, 303 insertions(+), 109 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 04216a52e4..58d5653e10 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -4,124 +4,318 @@ // By: Seigh_sword // License: MPL-2.0 -(function(Scratch) { - 'use strict'; +(function (Scratch) { + "use strict"; - const icon = "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; - const blockColor = '#FF4C4C'; - const menuColor = '#B00000'; + const icon = + "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; + const blockColor = "#FF4C4C"; + const menuColor = "#B00000"; - class TurboBot { - constructor() { - this.bots = {}; - this.textModel = 'openai'; - this.imageModel = 'turbo'; - this.temp = 1; - this.seed = Math.floor(Math.random() * 999999); - this.systemLog = "You are a helpful AI, who helps users"; - this.attachedFile = ""; - } + class TurboBot { + constructor() { + this.bots = {}; + this.textModel = "openai"; + this.imageModel = "turbo"; + this.temp = 1; + this.seed = Math.floor(Math.random() * 999999); + this.systemLog = "You are a helpful AI, who helps users"; + this.attachedFile = ""; + } - getInfo() { - return { - id: 'TurboBotEngine', - name: 'Turbo Bot', - menuIconURI: icon, - blockIconURI: icon, - color1: blockColor, - color2: menuColor, - blocks: [ - { opcode: 'isReady', blockType: Scratch.BlockType.BOOLEAN, text: 'AI ready?' }, - { opcode: 'getCurrentModel', blockType: Scratch.BlockType.REPORTER, text: 'model?' }, - { opcode: 'getBotName', blockType: Scratch.BlockType.REPORTER, text: 'bot?' }, - { opcode: 'getMemory', blockType: Scratch.BlockType.REPORTER, text: 'memory' }, - '---', - { opcode: 'createBot', blockType: Scratch.BlockType.COMMAND, text: 'create bot named [NAME]', arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'TurboBot' }}}, - { opcode: 'deleteBot', blockType: Scratch.BlockType.COMMAND, text: 'delete bot named [NAME]', arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'TurboBot' }}}, - { opcode: 'renameBot', blockType: Scratch.BlockType.COMMAND, text: 'rename bot [OLD] to [NEW]', arguments: { OLD: { type: Scratch.ArgumentType.STRING, defaultValue: 'Bot1' }, NEW: { type: Scratch.ArgumentType.STRING, defaultValue: 'TurboBot' }}}, - '---', - { opcode: 'setTextModel', blockType: Scratch.BlockType.COMMAND, text: 'set text model [MOD]', arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: 'textMenu' }}}, - { opcode: 'setImageModel', blockType: Scratch.BlockType.COMMAND, text: 'set image model [MOD]', arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: 'imageMenu' }}}, - '---', - { opcode: 'simplePrompt', blockType: Scratch.BlockType.REPORTER, text: 'prompt [TEXT]', arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: 'Hello!' }}}, - { opcode: 'getImageUrl', blockType: Scratch.BlockType.REPORTER, text: 'get url for image prompt [TEXT]', arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: 'a racecar in a race going so fast' }}}, - { opcode: 'attachFile', blockType: Scratch.BlockType.COMMAND, text: 'attach file url [URL]', arguments: { URL: { type: Scratch.ArgumentType.STRING, defaultValue: '' }}}, - '---', - { opcode: 'setSystem', blockType: Scratch.BlockType.COMMAND, text: 'set system log [LOG]', arguments: { LOG: { type: Scratch.ArgumentType.STRING, defaultValue: 'You are a helpful assistant.' }}}, - { opcode: 'setContextText', blockType: Scratch.BlockType.REPORTER, text: 'set context [CTX] and prompt [TEXT]', arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: 'Persona' }, TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: 'Hello!' }}}, - { opcode: 'setContextImage', blockType: Scratch.BlockType.REPORTER, text: 'set context [CTX] and get url of image prompt [TEXT]', arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: 'Anime' }, TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: 'racecar' }}}, - '---', - { opcode: 'setTemp', blockType: Scratch.BlockType.COMMAND, text: 'set temperature [N]', arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 }}}, - { opcode: 'setSeed', blockType: Scratch.BlockType.COMMAND, text: 'set seed [N]', arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 }}}, - { opcode: 'getSeed', blockType: Scratch.BlockType.REPORTER, text: 'seed' }, - { opcode: 'getTemp', blockType: Scratch.BlockType.REPORTER, text: 'temperature' } - ], - menus: { - textMenu: { acceptReporters: true, items: ['openai', 'mistral', 'gemini', 'deepseek-r1', 'p1', 'llama'] }, - imageMenu: { acceptReporters: true, items: ['turbo', 'flux-pro', 'flux-realism', 'flux-anime', 'flux-3d', 'flux', 'any'] } - } - }; - } + getInfo() { + return { + id: "TurboBotEngine", + name: "Turbo Bot", + menuIconURI: icon, + blockIconURI: icon, + color1: blockColor, + color2: menuColor, + blocks: [ + { + opcode: "isReady", + blockType: Scratch.BlockType.BOOLEAN, + text: "AI ready?", + }, + { + opcode: "getCurrentModel", + blockType: Scratch.BlockType.REPORTER, + text: "model?", + }, + { + opcode: "getBotName", + blockType: Scratch.BlockType.REPORTER, + text: "bot?", + }, + { + opcode: "getMemory", + blockType: Scratch.BlockType.REPORTER, + text: "memory", + }, + "---", + { + opcode: "createBot", + blockType: Scratch.BlockType.COMMAND, + text: "create bot named [NAME]", + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, + { + opcode: "deleteBot", + blockType: Scratch.BlockType.COMMAND, + text: "delete bot named [NAME]", + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, + { + opcode: "renameBot", + blockType: Scratch.BlockType.COMMAND, + text: "rename bot [OLD] to [NEW]", + arguments: { + OLD: { type: Scratch.ArgumentType.STRING, defaultValue: "Bot1" }, + NEW: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, + "---", + { + opcode: "setTextModel", + blockType: Scratch.BlockType.COMMAND, + text: "set text model [MOD]", + arguments: { + MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" }, + }, + }, + { + opcode: "setImageModel", + blockType: Scratch.BlockType.COMMAND, + text: "set image model [MOD]", + arguments: { + MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" }, + }, + }, + "---", + { + opcode: "simplePrompt", + blockType: Scratch.BlockType.REPORTER, + text: "prompt [TEXT]", + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Hello!", + }, + }, + }, + { + opcode: "getImageUrl", + blockType: Scratch.BlockType.REPORTER, + text: "get url for image prompt [TEXT]", + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "a racecar in a race going so fast", + }, + }, + }, + { + opcode: "attachFile", + blockType: Scratch.BlockType.COMMAND, + text: "attach file url [URL]", + arguments: { + URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" }, + }, + }, + "---", + { + opcode: "setSystem", + blockType: Scratch.BlockType.COMMAND, + text: "set system log [LOG]", + arguments: { + LOG: { + type: Scratch.ArgumentType.STRING, + defaultValue: "You are a helpful assistant.", + }, + }, + }, + { + opcode: "setContextText", + blockType: Scratch.BlockType.REPORTER, + text: "set context [CTX] and prompt [TEXT]", + arguments: { + CTX: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Persona", + }, + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Hello!", + }, + }, + }, + { + opcode: "setContextImage", + blockType: Scratch.BlockType.REPORTER, + text: "set context [CTX] and get url of image prompt [TEXT]", + arguments: { + CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Anime" }, + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "racecar", + }, + }, + }, + "---", + { + opcode: "setTemp", + blockType: Scratch.BlockType.COMMAND, + text: "set temperature [N]", + arguments: { + N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 }, + }, + }, + { + opcode: "setSeed", + blockType: Scratch.BlockType.COMMAND, + text: "set seed [N]", + arguments: { + N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 }, + }, + }, + { + opcode: "getSeed", + blockType: Scratch.BlockType.REPORTER, + text: "seed", + }, + { + opcode: "getTemp", + blockType: Scratch.BlockType.REPORTER, + text: "temperature", + }, + ], + menus: { + textMenu: { + acceptReporters: true, + items: [ + "openai", + "mistral", + "gemini", + "deepseek-r1", + "p1", + "llama", + ], + }, + imageMenu: { + acceptReporters: true, + items: [ + "turbo", + "flux-pro", + "flux-realism", + "flux-anime", + "flux-3d", + "flux", + "any", + ], + }, + }, + }; + } - isReady() { return true; } - getCurrentModel() { return `T:${this.textModel} | I:${this.imageModel}`; } - getBotName() { return Object.keys(this.bots)[0] || "None"; } - getMemory() { return JSON.stringify(this.bots); } - getSeed() { return this.seed; } - getTemp() { return this.temp; } + isReady() { + return true; + } + getCurrentModel() { + return `T:${this.textModel} | I:${this.imageModel}`; + } + getBotName() { + return Object.keys(this.bots)[0] || "None"; + } + getMemory() { + return JSON.stringify(this.bots); + } + getSeed() { + return this.seed; + } + getTemp() { + return this.temp; + } - createBot({NAME}) { - if (!this.bots[NAME]) this.bots[NAME] = []; - } - deleteBot({NAME}) { delete this.bots[NAME]; } - renameBot({OLD, NEW}) { - if(this.bots[OLD]) { - this.bots[NEW] = this.bots[OLD]; - delete this.bots[OLD]; - } - } - setTextModel({MOD}) { this.textModel = MOD; } - setImageModel({MOD}) { this.imageModel = MOD; } - setTemp({N}) { this.temp = N; } - setSeed({N}) { this.seed = N; } - setSystem({LOG}) { this.systemLog = LOG; } - attachFile({URL}) { this.attachedFile = URL; } + createBot({ NAME }) { + if (!this.bots[NAME]) this.bots[NAME] = []; + } + deleteBot({ NAME }) { + delete this.bots[NAME]; + } + renameBot({ OLD, NEW }) { + if (this.bots[OLD]) { + this.bots[NEW] = this.bots[OLD]; + delete this.bots[OLD]; + } + } + setTextModel({ MOD }) { + this.textModel = MOD; + } + setImageModel({ MOD }) { + this.imageModel = MOD; + } + setTemp({ N }) { + this.temp = N; + } + setSeed({ N }) { + this.seed = N; + } + setSystem({ LOG }) { + this.systemLog = LOG; + } + attachFile({ URL }) { + this.attachedFile = URL; + } - async simplePrompt({TEXT}) { - try { - const url = `https://text.pollinations.ai/${encodeURIComponent(TEXT)}?model=${this.textModel}&system=${encodeURIComponent(this.systemLog)}&seed=${this.seed}&temperature=${this.temp}`; - const r = await fetch(url); - if (!r.ok) return "Network error!! AI is sleeping?"; - const res = await r.text(); - - const botNames = Object.keys(this.bots); - if (botNames.length > 0) { - this.bots[botNames[0]].push({ q: TEXT, a: res }); - } - return res; - } catch (e) { - return "Error connecting to AI... try again later!!"; - } - } + async simplePrompt({ TEXT }) { + try { + const url = `https://text.pollinations.ai/${encodeURIComponent(TEXT)}?model=${this.textModel}&system=${encodeURIComponent(this.systemLog)}&seed=${this.seed}&temperature=${this.temp}`; + const r = await fetch(url); + if (!r.ok) return "Network error!! AI is sleeping?"; + const res = await r.text(); - getImageUrl({TEXT}) { - try { - let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(TEXT)}?model=${this.imageModel}&seed=${this.seed}&nologo=true`; - if (this.attachedFile) url += `&feed=${encodeURIComponent(this.attachedFile)}`; - return url; - } catch (err) { - return "url_error_check_prompt"; - } + const botNames = Object.keys(this.bots); + if (botNames.length > 0) { + this.bots[botNames[0]].push({ q: TEXT, a: res }); } + return res; + } catch (e) { + return "Error connecting to AI... try again later!!"; + } + } - async setContextText({CTX, TEXT}) { - return await this.simplePrompt({TEXT: `[Context: ${CTX}] ${TEXT}`}); - } - - setContextImage({CTX, TEXT}) { - return this.getImageUrl({TEXT: `${CTX}, ${TEXT}`}); - } + getImageUrl({ TEXT }) { + try { + let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(TEXT)}?model=${this.imageModel}&seed=${this.seed}&nologo=true`; + if (this.attachedFile) + url += `&feed=${encodeURIComponent(this.attachedFile)}`; + return url; + } catch (err) { + return "url_error_check_prompt"; + } + } + + async setContextText({ CTX, TEXT }) { + return await this.simplePrompt({ TEXT: `[Context: ${CTX}] ${TEXT}` }); + } + + setContextImage({ CTX, TEXT }) { + return this.getImageUrl({ TEXT: `${CTX}, ${TEXT}` }); } + } - Scratch.extensions.register(new TurboBot()); + Scratch.extensions.register(new TurboBot()); })(Scratch); From 143ddfc4faaad3630a289851782975ea83e2d20c Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 19:55:12 +0530 Subject: [PATCH 23/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 43 +++++++++++++++--------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 58d5653e10..50ef5f7d4b 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -26,7 +26,7 @@ getInfo() { return { id: "TurboBotEngine", - name: "Turbo Bot", + name: Scratch.translate("Turbo Bot"), menuIconURI: icon, blockIconURI: icon, color1: blockColor, @@ -35,28 +35,28 @@ { opcode: "isReady", blockType: Scratch.BlockType.BOOLEAN, - text: "AI ready?", + text: Scratch.translate("AI ready?"), }, { opcode: "getCurrentModel", blockType: Scratch.BlockType.REPORTER, - text: "model?", + text: Scratch.translate("model?"), }, { opcode: "getBotName", blockType: Scratch.BlockType.REPORTER, - text: "bot?", + text: Scratch.translate("bot?"), }, { opcode: "getMemory", blockType: Scratch.BlockType.REPORTER, - text: "memory", + text: Scratch.translate("memory"), }, "---", { opcode: "createBot", blockType: Scratch.BlockType.COMMAND, - text: "create bot named [NAME]", + text: Scratch.translate("create bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, @@ -67,7 +67,7 @@ { opcode: "deleteBot", blockType: Scratch.BlockType.COMMAND, - text: "delete bot named [NAME]", + text: Scratch.translate("delete bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, @@ -78,7 +78,7 @@ { opcode: "renameBot", blockType: Scratch.BlockType.COMMAND, - text: "rename bot [OLD] to [NEW]", + text: Scratch.translate("rename bot [OLD] to [NEW]"), arguments: { OLD: { type: Scratch.ArgumentType.STRING, defaultValue: "Bot1" }, NEW: { @@ -91,7 +91,7 @@ { opcode: "setTextModel", blockType: Scratch.BlockType.COMMAND, - text: "set text model [MOD]", + text: Scratch.translate("set text model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" }, }, @@ -99,7 +99,7 @@ { opcode: "setImageModel", blockType: Scratch.BlockType.COMMAND, - text: "set image model [MOD]", + text: Scratch.translate("set image model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" }, }, @@ -108,7 +108,7 @@ { opcode: "simplePrompt", blockType: Scratch.BlockType.REPORTER, - text: "prompt [TEXT]", + text: Scratch.translate("prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, @@ -119,7 +119,7 @@ { opcode: "getImageUrl", blockType: Scratch.BlockType.REPORTER, - text: "get url for image prompt [TEXT]", + text: Scratch.translate("get url for image prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, @@ -130,7 +130,7 @@ { opcode: "attachFile", blockType: Scratch.BlockType.COMMAND, - text: "attach file url [URL]", + text: Scratch.translate("attach file url [URL]"), arguments: { URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" }, }, @@ -139,7 +139,7 @@ { opcode: "setSystem", blockType: Scratch.BlockType.COMMAND, - text: "set system log [LOG]", + text: Scratch.translate("set system log [LOG]"), arguments: { LOG: { type: Scratch.ArgumentType.STRING, @@ -150,7 +150,7 @@ { opcode: "setContextText", blockType: Scratch.BlockType.REPORTER, - text: "set context [CTX] and prompt [TEXT]", + text: Scratch.translate("set context [CTX] and prompt [TEXT]"), arguments: { CTX: { type: Scratch.ArgumentType.STRING, @@ -165,7 +165,7 @@ { opcode: "setContextImage", blockType: Scratch.BlockType.REPORTER, - text: "set context [CTX] and get url of image prompt [TEXT]", + text: Scratch.translate("set context [CTX] and get url of image prompt [TEXT]"), arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Anime" }, TEXT: { @@ -178,7 +178,7 @@ { opcode: "setTemp", blockType: Scratch.BlockType.COMMAND, - text: "set temperature [N]", + text: Scratch.translate("set temperature [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 }, }, @@ -186,7 +186,7 @@ { opcode: "setSeed", blockType: Scratch.BlockType.COMMAND, - text: "set seed [N]", + text: Scratch.translate("set seed [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 }, }, @@ -194,12 +194,12 @@ { opcode: "getSeed", blockType: Scratch.BlockType.REPORTER, - text: "seed", + text: Scratch.translate("seed"), }, { opcode: "getTemp", blockType: Scratch.BlockType.REPORTER, - text: "temperature", + text: Scratch.translate("temperature"), }, ], menus: { @@ -283,7 +283,8 @@ async simplePrompt({ TEXT }) { try { const url = `https://text.pollinations.ai/${encodeURIComponent(TEXT)}?model=${this.textModel}&system=${encodeURIComponent(this.systemLog)}&seed=${this.seed}&temperature=${this.temp}`; - const r = await fetch(url); + // CHANGED TO SCRATCH.FETCH + const r = await Scratch.fetch(url); if (!r.ok) return "Network error!! AI is sleeping?"; const res = await r.text(); From 87e25efeaab4e03847e9226aa2eb6607ecb0f397 Mon Sep 17 00:00:00 2001 From: "DangoCat[bot]" Date: Tue, 30 Dec 2025 14:26:16 +0000 Subject: [PATCH 24/93] [Automated] Format code --- extensions/Seigh-sword/turbobot.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 50ef5f7d4b..b961df1b31 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -165,7 +165,9 @@ { opcode: "setContextImage", blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("set context [CTX] and get url of image prompt [TEXT]"), + text: Scratch.translate( + "set context [CTX] and get url of image prompt [TEXT]" + ), arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Anime" }, TEXT: { From 3af0df6c98d6e11c3118feebfb4f91ff756b8340 Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 21:33:34 +0530 Subject: [PATCH 25/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 177 ++++++++--------------------- 1 file changed, 48 insertions(+), 129 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index b961df1b31..013e945a17 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -19,8 +19,12 @@ this.imageModel = "turbo"; this.temp = 1; this.seed = Math.floor(Math.random() * 999999); - this.systemLog = "You are a helpful AI, who helps users"; + this.systemLog = "You are a helpful assistant."; this.attachedFile = ""; + this.isFetching = false; + + + this.safetyGuard = " IMPORTANT: You are running on TurboWarp (a kid-friendly coding platform). You MUST be helpful, polite, and safe. Never use profanity, violence, or inappropriate topics. If asked to do so, decline politely."; } getInfo() { @@ -37,6 +41,11 @@ blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("AI ready?"), }, + { + opcode: "isThinking", + blockType: Scratch.BlockType.BOOLEAN, + text: Scratch.translate("is bot thinking?"), + }, { opcode: "getCurrentModel", blockType: Scratch.BlockType.REPORTER, @@ -58,10 +67,7 @@ blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("create bot named [NAME]"), arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, + NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, }, }, { @@ -69,22 +75,7 @@ blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("delete bot named [NAME]"), arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, - }, - { - opcode: "renameBot", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("rename bot [OLD] to [NEW]"), - arguments: { - OLD: { type: Scratch.ArgumentType.STRING, defaultValue: "Bot1" }, - NEW: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, + NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, }, }, "---", @@ -110,10 +101,7 @@ blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("prompt [TEXT]"), arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Hello!", - }, + TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" }, }, }, { @@ -121,10 +109,7 @@ blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("get url for image prompt [TEXT]"), arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "a racecar in a race going so fast", - }, + TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a racecar" }, }, }, { @@ -141,10 +126,7 @@ blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set system log [LOG]"), arguments: { - LOG: { - type: Scratch.ArgumentType.STRING, - defaultValue: "You are a helpful assistant.", - }, + LOG: { type: Scratch.ArgumentType.STRING, defaultValue: "You are a helpful assistant." }, }, }, { @@ -152,28 +134,8 @@ blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("set context [CTX] and prompt [TEXT]"), arguments: { - CTX: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Persona", - }, - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Hello!", - }, - }, - }, - { - opcode: "setContextImage", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate( - "set context [CTX] and get url of image prompt [TEXT]" - ), - arguments: { - CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Anime" }, - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "racecar", - }, + CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Persona" }, + TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" }, }, }, "---", @@ -207,88 +169,49 @@ menus: { textMenu: { acceptReporters: true, - items: [ - "openai", - "mistral", - "gemini", - "deepseek-r1", - "p1", - "llama", - ], + items: ["openai", "mistral", "gemini", "deepseek-r1", "p1", "llama"], }, imageMenu: { acceptReporters: true, - items: [ - "turbo", - "flux-pro", - "flux-realism", - "flux-anime", - "flux-3d", - "flux", - "any", - ], + items: ["turbo", "flux-pro", "flux-realism", "flux-anime", "flux-3d", "flux", "any"], }, }, }; } - isReady() { - return true; - } - getCurrentModel() { - return `T:${this.textModel} | I:${this.imageModel}`; - } - getBotName() { - return Object.keys(this.bots)[0] || "None"; - } - getMemory() { - return JSON.stringify(this.bots); - } - getSeed() { - return this.seed; - } - getTemp() { - return this.temp; - } + isReady() { return true; } + isThinking() { return this.isFetching; } + getCurrentModel() { return `T:${this.textModel} | I:${this.imageModel}`; } + getBotName() { return Object.keys(this.bots)[0] || "None"; } + getMemory() { return JSON.stringify(this.bots); } + getSeed() { return this.seed; } + getTemp() { return this.temp; } - createBot({ NAME }) { - if (!this.bots[NAME]) this.bots[NAME] = []; - } - deleteBot({ NAME }) { - delete this.bots[NAME]; - } - renameBot({ OLD, NEW }) { - if (this.bots[OLD]) { - this.bots[NEW] = this.bots[OLD]; - delete this.bots[OLD]; - } - } - setTextModel({ MOD }) { - this.textModel = MOD; - } - setImageModel({ MOD }) { - this.imageModel = MOD; - } - setTemp({ N }) { - this.temp = N; - } - setSeed({ N }) { - this.seed = N; - } - setSystem({ LOG }) { - this.systemLog = LOG; - } - attachFile({ URL }) { - this.attachedFile = URL; - } + createBot({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; } + deleteBot({ NAME }) { delete this.bots[NAME]; } + setTextModel({ MOD }) { this.textModel = MOD; } + setImageModel({ MOD }) { this.imageModel = MOD; } + setTemp({ N }) { this.temp = N; } + setSeed({ N }) { this.seed = N; } + setSystem({ LOG }) { this.systemLog = LOG; } + attachFile({ URL }) { this.attachedFile = URL; } async simplePrompt({ TEXT }) { + this.isFetching = true; try { - const url = `https://text.pollinations.ai/${encodeURIComponent(TEXT)}?model=${this.textModel}&system=${encodeURIComponent(this.systemLog)}&seed=${this.seed}&temperature=${this.temp}`; - // CHANGED TO SCRATCH.FETCH + + const fullSystem = this.systemLog + this.safetyGuard; + + const url = `https://text.pollinations.ai/${encodeURIComponent(TEXT)}?model=${this.textModel}&system=${encodeURIComponent(fullSystem)}&seed=${this.seed}&temperature=${this.temp}`; + const r = await Scratch.fetch(url); - if (!r.ok) return "Network error!! AI is sleeping?"; + if (!r.ok) { + this.isFetching = false; + return "Network error!! AI is sleeping?"; + } + const res = await r.text(); + this.isFetching = false; const botNames = Object.keys(this.bots); if (botNames.length > 0) { @@ -296,6 +219,7 @@ } return res; } catch (e) { + this.isFetching = false; return "Error connecting to AI... try again later!!"; } } @@ -303,8 +227,7 @@ getImageUrl({ TEXT }) { try { let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(TEXT)}?model=${this.imageModel}&seed=${this.seed}&nologo=true`; - if (this.attachedFile) - url += `&feed=${encodeURIComponent(this.attachedFile)}`; + if (this.attachedFile) url += `&feed=${encodeURIComponent(this.attachedFile)}`; return url; } catch (err) { return "url_error_check_prompt"; @@ -314,10 +237,6 @@ async setContextText({ CTX, TEXT }) { return await this.simplePrompt({ TEXT: `[Context: ${CTX}] ${TEXT}` }); } - - setContextImage({ CTX, TEXT }) { - return this.getImageUrl({ TEXT: `${CTX}, ${TEXT}` }); - } } Scratch.extensions.register(new TurboBot()); From e22dbaea4903210b98aed1dbfb6d0e9c4b802a63 Mon Sep 17 00:00:00 2001 From: "DangoCat[bot]" Date: Tue, 30 Dec 2025 16:04:58 +0000 Subject: [PATCH 26/93] [Automated] Format code --- extensions/Seigh-sword/turbobot.js | 130 ++++++++++++++++++++++------- 1 file changed, 98 insertions(+), 32 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 013e945a17..a85d1f8929 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -19,12 +19,12 @@ this.imageModel = "turbo"; this.temp = 1; this.seed = Math.floor(Math.random() * 999999); - this.systemLog = "You are a helpful assistant."; + this.systemLog = "You are a helpful assistant."; this.attachedFile = ""; this.isFetching = false; - - this.safetyGuard = " IMPORTANT: You are running on TurboWarp (a kid-friendly coding platform). You MUST be helpful, polite, and safe. Never use profanity, violence, or inappropriate topics. If asked to do so, decline politely."; + this.safetyGuard = + " IMPORTANT: You are running on TurboWarp (a kid-friendly coding platform). You MUST be helpful, polite, and safe. Never use profanity, violence, or inappropriate topics. If asked to do so, decline politely."; } getInfo() { @@ -67,7 +67,10 @@ blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("create bot named [NAME]"), arguments: { - NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, }, }, { @@ -75,7 +78,10 @@ blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("delete bot named [NAME]"), arguments: { - NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, }, }, "---", @@ -101,7 +107,10 @@ blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("prompt [TEXT]"), arguments: { - TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" }, + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Hello!", + }, }, }, { @@ -109,7 +118,10 @@ blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("get url for image prompt [TEXT]"), arguments: { - TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a racecar" }, + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "a racecar", + }, }, }, { @@ -126,7 +138,10 @@ blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set system log [LOG]"), arguments: { - LOG: { type: Scratch.ArgumentType.STRING, defaultValue: "You are a helpful assistant." }, + LOG: { + type: Scratch.ArgumentType.STRING, + defaultValue: "You are a helpful assistant.", + }, }, }, { @@ -134,8 +149,14 @@ blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("set context [CTX] and prompt [TEXT]"), arguments: { - CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Persona" }, - TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" }, + CTX: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Persona", + }, + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Hello!", + }, }, }, "---", @@ -169,47 +190,91 @@ menus: { textMenu: { acceptReporters: true, - items: ["openai", "mistral", "gemini", "deepseek-r1", "p1", "llama"], + items: [ + "openai", + "mistral", + "gemini", + "deepseek-r1", + "p1", + "llama", + ], }, imageMenu: { acceptReporters: true, - items: ["turbo", "flux-pro", "flux-realism", "flux-anime", "flux-3d", "flux", "any"], + items: [ + "turbo", + "flux-pro", + "flux-realism", + "flux-anime", + "flux-3d", + "flux", + "any", + ], }, }, }; } - isReady() { return true; } - isThinking() { return this.isFetching; } - getCurrentModel() { return `T:${this.textModel} | I:${this.imageModel}`; } - getBotName() { return Object.keys(this.bots)[0] || "None"; } - getMemory() { return JSON.stringify(this.bots); } - getSeed() { return this.seed; } - getTemp() { return this.temp; } + isReady() { + return true; + } + isThinking() { + return this.isFetching; + } + getCurrentModel() { + return `T:${this.textModel} | I:${this.imageModel}`; + } + getBotName() { + return Object.keys(this.bots)[0] || "None"; + } + getMemory() { + return JSON.stringify(this.bots); + } + getSeed() { + return this.seed; + } + getTemp() { + return this.temp; + } - createBot({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; } - deleteBot({ NAME }) { delete this.bots[NAME]; } - setTextModel({ MOD }) { this.textModel = MOD; } - setImageModel({ MOD }) { this.imageModel = MOD; } - setTemp({ N }) { this.temp = N; } - setSeed({ N }) { this.seed = N; } - setSystem({ LOG }) { this.systemLog = LOG; } - attachFile({ URL }) { this.attachedFile = URL; } + createBot({ NAME }) { + if (!this.bots[NAME]) this.bots[NAME] = []; + } + deleteBot({ NAME }) { + delete this.bots[NAME]; + } + setTextModel({ MOD }) { + this.textModel = MOD; + } + setImageModel({ MOD }) { + this.imageModel = MOD; + } + setTemp({ N }) { + this.temp = N; + } + setSeed({ N }) { + this.seed = N; + } + setSystem({ LOG }) { + this.systemLog = LOG; + } + attachFile({ URL }) { + this.attachedFile = URL; + } async simplePrompt({ TEXT }) { this.isFetching = true; try { - const fullSystem = this.systemLog + this.safetyGuard; - + const url = `https://text.pollinations.ai/${encodeURIComponent(TEXT)}?model=${this.textModel}&system=${encodeURIComponent(fullSystem)}&seed=${this.seed}&temperature=${this.temp}`; - + const r = await Scratch.fetch(url); if (!r.ok) { this.isFetching = false; return "Network error!! AI is sleeping?"; } - + const res = await r.text(); this.isFetching = false; @@ -227,7 +292,8 @@ getImageUrl({ TEXT }) { try { let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(TEXT)}?model=${this.imageModel}&seed=${this.seed}&nologo=true`; - if (this.attachedFile) url += `&feed=${encodeURIComponent(this.attachedFile)}`; + if (this.attachedFile) + url += `&feed=${encodeURIComponent(this.attachedFile)}`; return url; } catch (err) { return "url_error_check_prompt"; From 834a24f12880b50a657a7bdc6759e40caf012c35 Mon Sep 17 00:00:00 2001 From: "Arunkumar .s.j." Date: Tue, 30 Dec 2025 21:55:11 +0530 Subject: [PATCH 27/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index a85d1f8929..6a4c44b87d 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -6,7 +6,7 @@ (function (Scratch) { "use strict"; - +//the starting of a new function const icon = "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; const blockColor = "#FF4C4C"; @@ -24,7 +24,7 @@ this.isFetching = false; this.safetyGuard = - " IMPORTANT: You are running on TurboWarp (a kid-friendly coding platform). You MUST be helpful, polite, and safe. Never use profanity, violence, or inappropriate topics. If asked to do so, decline politely."; + " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; } getInfo() { @@ -200,7 +200,7 @@ ], }, imageMenu: { - acceptReporters: true, + acceptReporters: true, //cool design it looks like a triangle, wait is one! items: [ "turbo", "flux-pro", @@ -307,3 +307,4 @@ Scratch.extensions.register(new TurboBot()); })(Scratch); +//the end. From acd3a37477ae9988eb90a5d4545cbea4e31a84c4 Mon Sep 17 00:00:00 2001 From: "DangoCat[bot]" Date: Tue, 30 Dec 2025 16:26:49 +0000 Subject: [PATCH 28/93] [Automated] Format code --- extensions/Seigh-sword/turbobot.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 6a4c44b87d..fee45ed766 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -6,7 +6,7 @@ (function (Scratch) { "use strict"; -//the starting of a new function + //the starting of a new function const icon = "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; const blockColor = "#FF4C4C"; From 5d1e4b5357fba932f2a9f254ff79efb4c8752bfc Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Wed, 7 Jan 2026 18:43:40 +0530 Subject: [PATCH 29/93] Create README.md --- extensions/Seigh-sword/README.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 extensions/Seigh-sword/README.md diff --git a/extensions/Seigh-sword/README.md b/extensions/Seigh-sword/README.md new file mode 100644 index 0000000000..636527edd5 --- /dev/null +++ b/extensions/Seigh-sword/README.md @@ -0,0 +1,28 @@ +# What is this? +**Advanced AI text and image generation with bot memory.** + +This, is an AI extension for turbowarp **users** to use special AI tools. Its pretty fun and also very very powerfull in the hands of someone with knowledge of AI and its implementation, + + +## Features +* **Multiple Models:** Supports Llama, Mistral, Gemini, and more even OpenAI which is a ChatGPT type model +* **Image Generation:** Create images using various Flux models. +* **Bot Memory:** Keep the memory of convos using the `create bot` blocks and rename it, and delete it if you want. +* **Safety First:** Includes a hardcoded safety guard to ensure family-friendly responses and It ensures that turbowarp always and will be a kid-friendly platform. + +## 🛠️ How to Use + + + +## About the creator + +| Platform | Profile | +| :--- | :--- | +| **Scratch** | [@Seigh_sword](https://scratch.mit.edu/users/Seigh-sword/) | +| **GitHub** | [@Seigh-sword](https://github.com/Seigh-sword) | +| **YouTube** | [@Seigh_sword](https://www.youtube.com/@Seigh_sword) | + +--- + +**Developed by: Seigh-sword** +**License:** MPL-2.0 From 1b148afd23b7823d4913aecae5edccb865aa247b Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Wed, 7 Jan 2026 18:50:52 +0530 Subject: [PATCH 30/93] Update README.md --- extensions/Seigh-sword/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/Seigh-sword/README.md b/extensions/Seigh-sword/README.md index 636527edd5..60b6df9a84 100644 --- a/extensions/Seigh-sword/README.md +++ b/extensions/Seigh-sword/README.md @@ -12,7 +12,7 @@ This, is an AI extension for turbowarp **users** to use special AI tools. Its pr ## 🛠️ How to Use - +![scratchblocks](https://github.com/user-attachments/assets/4995b0b0-fc02-4da4-bac8-2a843e570bfd) ## About the creator From c7b32e4774c652f78f92f2df13d696d278a89833 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Wed, 7 Jan 2026 18:53:07 +0530 Subject: [PATCH 31/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 1 + 1 file changed, 1 insertion(+) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index fee45ed766..77f65fc2e1 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -31,6 +31,7 @@ return { id: "TurboBotEngine", name: Scratch.translate("Turbo Bot"), + docsURI: "https://github.com/Seigh-sword/TurboBot-Turbwarp/blob/master/extensions/Seigh-sword/README.md", menuIconURI: icon, blockIconURI: icon, color1: blockColor, From c91334901453d4957dfe4185de60c899d2e750f0 Mon Sep 17 00:00:00 2001 From: "DangoCat[bot]" Date: Wed, 7 Jan 2026 13:25:18 +0000 Subject: [PATCH 32/93] [Automated] Format code --- extensions/Seigh-sword/turbobot.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 77f65fc2e1..e3e731b4e2 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -31,7 +31,8 @@ return { id: "TurboBotEngine", name: Scratch.translate("Turbo Bot"), - docsURI: "https://github.com/Seigh-sword/TurboBot-Turbwarp/blob/master/extensions/Seigh-sword/README.md", + docsURI: + "https://github.com/Seigh-sword/TurboBot-Turbwarp/blob/master/extensions/Seigh-sword/README.md", menuIconURI: icon, blockIconURI: icon, color1: blockColor, From 8f1b46238ec528bd30684cf8d9b7b5dc3050e9a7 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 09:10:09 +0530 Subject: [PATCH 33/93] Delete extensions/Seigh-sword/README.md --- extensions/Seigh-sword/README.md | 28 ---------------------------- 1 file changed, 28 deletions(-) delete mode 100644 extensions/Seigh-sword/README.md diff --git a/extensions/Seigh-sword/README.md b/extensions/Seigh-sword/README.md deleted file mode 100644 index 60b6df9a84..0000000000 --- a/extensions/Seigh-sword/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# What is this? -**Advanced AI text and image generation with bot memory.** - -This, is an AI extension for turbowarp **users** to use special AI tools. Its pretty fun and also very very powerfull in the hands of someone with knowledge of AI and its implementation, - - -## Features -* **Multiple Models:** Supports Llama, Mistral, Gemini, and more even OpenAI which is a ChatGPT type model -* **Image Generation:** Create images using various Flux models. -* **Bot Memory:** Keep the memory of convos using the `create bot` blocks and rename it, and delete it if you want. -* **Safety First:** Includes a hardcoded safety guard to ensure family-friendly responses and It ensures that turbowarp always and will be a kid-friendly platform. - -## 🛠️ How to Use - -![scratchblocks](https://github.com/user-attachments/assets/4995b0b0-fc02-4da4-bac8-2a843e570bfd) - -## About the creator - -| Platform | Profile | -| :--- | :--- | -| **Scratch** | [@Seigh_sword](https://scratch.mit.edu/users/Seigh-sword/) | -| **GitHub** | [@Seigh-sword](https://github.com/Seigh-sword) | -| **YouTube** | [@Seigh_sword](https://www.youtube.com/@Seigh_sword) | - ---- - -**Developed by: Seigh-sword** -**License:** MPL-2.0 From 15471e2e185b31d7f3199102417b73be4b30736d Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 09:10:37 +0530 Subject: [PATCH 34/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index e3e731b4e2..4f327d2b8e 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -31,8 +31,7 @@ return { id: "TurboBotEngine", name: Scratch.translate("Turbo Bot"), - docsURI: - "https://github.com/Seigh-sword/TurboBot-Turbwarp/blob/master/extensions/Seigh-sword/README.md", + docsURI: "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", menuIconURI: icon, blockIconURI: icon, color1: blockColor, From 674ac58a0f39077d209af55ed41e2e80aaf03664 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 15:53:03 +0530 Subject: [PATCH 35/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 88 ++++++++++++++++++++++++++---- 1 file changed, 77 insertions(+), 11 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 4f327d2b8e..d1151d40c2 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -1,12 +1,6 @@ -// Name: Turbo Bot -// ID: TurboBotEngine -// Description: Advanced AI text and image generation with bot memory. -// By: Seigh_sword -// License: MPL-2.0 - (function (Scratch) { "use strict"; - //the starting of a new function + const icon = "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; const blockColor = "#FF4C4C"; @@ -22,6 +16,8 @@ this.systemLog = "You are a helpful assistant."; this.attachedFile = ""; this.isFetching = false; + this.genWidth = 1024; + this.genHeight = 1024; this.safetyGuard = " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; @@ -103,6 +99,26 @@ }, }, "---", + { + opcode: "setImageSize", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set image gen height [H] and width [W]"), + arguments: { + H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, + W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, + }, + }, + { + opcode: "getGenHeight", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("image gen height"), + }, + { + opcode: "getGenWidth", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("image gen width"), + }, + "---", { opcode: "simplePrompt", blockType: Scratch.BlockType.REPORTER, @@ -114,6 +130,15 @@ }, }, }, + { + opcode: "setCostumeFromPrompt", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set image from prompt [TEXT] as costume named [NAME]"), + arguments: { + TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "racecar" }, + NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "costume2" }, + }, + }, { opcode: "getImageUrl", blockType: Scratch.BlockType.REPORTER, @@ -201,7 +226,7 @@ ], }, imageMenu: { - acceptReporters: true, //cool design it looks like a triangle, wait is one! + acceptReporters: true, items: [ "turbo", "flux-pro", @@ -263,6 +288,48 @@ this.attachedFile = URL; } + setImageSize({ H, W }) { + this.genHeight = H; + this.genWidth = W; + } + getGenHeight() { + return this.genHeight; + } + getGenWidth() { + return this.genWidth; + } + + async setCostumeFromPrompt(args, util) { + const url = this.getImageUrl({ TEXT: args.TEXT }); + this.isFetching = true; + try { + const response = await fetch(url); + const arrayBuffer = await response.arrayBuffer(); + const storage = util.runtime.storage; + const asset = storage.createAsset( + storage.AssetType.ImageBitmap, + storage.DataFormat.JPG, + new Uint8Array(arrayBuffer), + null, + true + ); + const costume = { + name: args.NAME, + asset: asset, + md5: asset.assetId + ".jpg", + assetId: asset.assetId, + dataFormat: "jpg", + rotationCenterX: asset.data ? asset.data.width / 2 : 0, + rotationCenterY: asset.data ? asset.data.height / 2 : 0, + }; + util.target.addCostume(costume); + util.target.setCostume(util.target.getCostumeIndexByName(args.NAME)); + this.isFetching = false; + } catch (e) { + this.isFetching = false; + } + } + async simplePrompt({ TEXT }) { this.isFetching = true; try { @@ -270,7 +337,7 @@ const url = `https://text.pollinations.ai/${encodeURIComponent(TEXT)}?model=${this.textModel}&system=${encodeURIComponent(fullSystem)}&seed=${this.seed}&temperature=${this.temp}`; - const r = await Scratch.fetch(url); + const r = await fetch(url); if (!r.ok) { this.isFetching = false; return "Network error!! AI is sleeping?"; @@ -292,7 +359,7 @@ getImageUrl({ TEXT }) { try { - let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(TEXT)}?model=${this.imageModel}&seed=${this.seed}&nologo=true`; + let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(TEXT)}?model=${this.imageModel}&seed=${this.seed}&width=${this.genWidth}&height=${this.genHeight}&nologo=true`; if (this.attachedFile) url += `&feed=${encodeURIComponent(this.attachedFile)}`; return url; @@ -308,4 +375,3 @@ Scratch.extensions.register(new TurboBot()); })(Scratch); -//the end. From 7f6e9657bd9349696b30934eeba188d2b6be9054 Mon Sep 17 00:00:00 2001 From: "DangoCat[bot]" Date: Sat, 10 Jan 2026 10:24:34 +0000 Subject: [PATCH 36/93] [Automated] Format code --- extensions/Seigh-sword/turbobot.js | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index d1151d40c2..5a9b0d4a36 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -27,7 +27,8 @@ return { id: "TurboBotEngine", name: Scratch.translate("Turbo Bot"), - docsURI: "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", + docsURI: + "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", menuIconURI: icon, blockIconURI: icon, color1: blockColor, @@ -133,10 +134,18 @@ { opcode: "setCostumeFromPrompt", blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set image from prompt [TEXT] as costume named [NAME]"), + text: Scratch.translate( + "set image from prompt [TEXT] as costume named [NAME]" + ), arguments: { - TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "racecar" }, - NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "costume2" }, + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "racecar", + }, + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "costume2", + }, }, }, { From f4d09838c89863eba8bcc9acc5db2ead18dcc3f9 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 16:00:32 +0530 Subject: [PATCH 37/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 5a9b0d4a36..dcd5e99eb6 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -1,3 +1,8 @@ +// Name: Turbo Bot +// ID: TurboBotEngine +// Description: Advanced AI text and image generation with bot memory. +// By: Seigh_sword , https://www.youtube.com/@Seigh_sword and https://github.com/Seigh-sword/ +// License: MPL-2.0 (function (Scratch) { "use strict"; From 911d34d9518e2b39f367196c64545d70707932ea Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 16:20:40 +0530 Subject: [PATCH 38/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 419 ++++++++--------------------- 1 file changed, 107 insertions(+), 312 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index dcd5e99eb6..86722d5d38 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -3,16 +3,22 @@ // Description: Advanced AI text and image generation with bot memory. // By: Seigh_sword , https://www.youtube.com/@Seigh_sword and https://github.com/Seigh-sword/ // License: MPL-2.0 +// @turbowarp-extension + (function (Scratch) { "use strict"; - const icon = - "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; + if (!Scratch.extensions.unsandboxed) { + throw new Error("Turbo Bot must run unsandboxed. Please click 'Run extension without sandbox' in the editor."); + } + + const icon = "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; const blockColor = "#FF4C4C"; const menuColor = "#B00000"; class TurboBot { constructor() { + // Internal state setup this.bots = {}; this.textModel = "openai"; this.imageModel = "turbo"; @@ -24,293 +30,118 @@ this.genWidth = 1024; this.genHeight = 1024; - this.safetyGuard = - " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; + this.safetyGuard = " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; } getInfo() { return { id: "TurboBotEngine", name: Scratch.translate("Turbo Bot"), - docsURI: - "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", + docsURI: "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", menuIconURI: icon, blockIconURI: icon, color1: blockColor, color2: menuColor, blocks: [ - { - opcode: "isReady", - blockType: Scratch.BlockType.BOOLEAN, - text: Scratch.translate("AI ready?"), - }, - { - opcode: "isThinking", - blockType: Scratch.BlockType.BOOLEAN, - text: Scratch.translate("is bot thinking?"), - }, - { - opcode: "getCurrentModel", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("model?"), - }, - { - opcode: "getBotName", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("bot?"), - }, - { - opcode: "getMemory", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("memory"), - }, + { opcode: "isReady", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("AI ready?") }, + { opcode: "isThinking", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("is bot thinking?") }, + { opcode: "getCurrentModel", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("model?") }, + { opcode: "getBotName", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("bot?") }, + { opcode: "getMemory", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("memory") }, "---", - { - opcode: "createBot", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("create bot named [NAME]"), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, - }, - { - opcode: "deleteBot", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("delete bot named [NAME]"), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, - }, + { opcode: "createBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("create bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, + { opcode: "deleteBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("delete bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, + { opcode: "exportChat", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("export conversation of [NAME] as [TYPE]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" } } }, + { opcode: "importChat", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("import conversation from file to bot [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, "---", - { - opcode: "setTextModel", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set text model [MOD]"), - arguments: { - MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" }, - }, - }, - { - opcode: "setImageModel", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set image model [MOD]"), - arguments: { - MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" }, - }, - }, + { opcode: "setTextModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set text model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" } } }, + { opcode: "setImageModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" } } }, "---", - { - opcode: "setImageSize", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set image gen height [H] and width [W]"), - arguments: { - H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, - W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, - }, - }, - { - opcode: "getGenHeight", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("image gen height"), - }, - { - opcode: "getGenWidth", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("image gen width"), - }, + { opcode: "setImageSize", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image gen height [H] and width [W]"), arguments: { H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 } } }, + { opcode: "getGenHeight", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen height") }, + { opcode: "getGenWidth", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen width") }, "---", - { - opcode: "simplePrompt", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("prompt [TEXT]"), - arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Hello!", - }, - }, - }, - { - opcode: "setCostumeFromPrompt", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate( - "set image from prompt [TEXT] as costume named [NAME]" - ), - arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "racecar", - }, - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "costume2", - }, - }, - }, - { - opcode: "getImageUrl", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("get url for image prompt [TEXT]"), - arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "a racecar", - }, - }, - }, - { - opcode: "attachFile", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("attach file url [URL]"), - arguments: { - URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" }, - }, - }, + { opcode: "simplePrompt", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, + { opcode: "setCostumeFromPrompt", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image from prompt [TEXT] as costume named [NAME]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "racecar" }, NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "costume2" } } }, + { opcode: "getImageUrl", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("get url for image prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a racecar" } } }, + { opcode: "attachFile", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("attach file url [URL]"), arguments: { URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" } } }, "---", - { - opcode: "setSystem", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set system log [LOG]"), - arguments: { - LOG: { - type: Scratch.ArgumentType.STRING, - defaultValue: "You are a helpful assistant.", - }, - }, - }, - { - opcode: "setContextText", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("set context [CTX] and prompt [TEXT]"), - arguments: { - CTX: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Persona", - }, - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Hello!", - }, - }, - }, + { opcode: "setSystem", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set system log [LOG]"), arguments: { LOG: { type: Scratch.ArgumentType.STRING, defaultValue: "You are a helpful assistant." } } }, + { opcode: "setContextText", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("set context [CTX] and prompt [TEXT]"), arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Persona" }, TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, "---", - { - opcode: "setTemp", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set temperature [N]"), - arguments: { - N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 }, - }, - }, - { - opcode: "setSeed", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set seed [N]"), - arguments: { - N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 }, - }, - }, - { - opcode: "getSeed", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("seed"), - }, - { - opcode: "getTemp", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("temperature"), - }, + { opcode: "setTemp", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set temperature [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 } } }, + { opcode: "setSeed", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set seed [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 } } }, + { opcode: "getSeed", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("seed") }, + { opcode: "getTemp", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("temperature") }, ], menus: { - textMenu: { - acceptReporters: true, - items: [ - "openai", - "mistral", - "gemini", - "deepseek-r1", - "p1", - "llama", - ], - }, - imageMenu: { - acceptReporters: true, - items: [ - "turbo", - "flux-pro", - "flux-realism", - "flux-anime", - "flux-3d", - "flux", - "any", - ], - }, + textMenu: { acceptReporters: true, items: ["openai", "mistral", "gemini", "deepseek-r1", "p1", "llama"] }, + imageMenu: { acceptReporters: true, items: ["turbo", "flux-pro", "flux-realism", "flux-anime", "flux-3d", "flux", "any"] }, + fileMenu: { acceptReporters: true, items: ["json", "text", "markdown", "csv", "html"] } }, }; } - isReady() { - return true; - } - isThinking() { - return this.isFetching; - } - getCurrentModel() { - return `T:${this.textModel} | I:${this.imageModel}`; - } - getBotName() { - return Object.keys(this.bots)[0] || "None"; - } - getMemory() { - return JSON.stringify(this.bots); - } - getSeed() { - return this.seed; - } - getTemp() { - return this.temp; - } - - createBot({ NAME }) { + // Reporters + isReady() { return true; } + isThinking() { return this.isFetching; } + getCurrentModel() { return `T:${this.textModel} | I:${this.imageModel}`; } + getBotName() { return Object.keys(this.bots)[0] || "None"; } + getMemory() { return JSON.stringify(this.bots); } + getSeed() { return this.seed; } + getTemp() { return this.temp; } + getGenHeight() { return this.genHeight; } + getGenWidth() { return this.genWidth; } + + // Setters + createBot({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; } + deleteBot({ NAME }) { delete this.bots[NAME]; } + setTextModel({ MOD }) { this.textModel = MOD; } + setImageModel({ MOD }) { this.imageModel = MOD; } + setTemp({ N }) { this.temp = N; } + setSeed({ N }) { this.seed = N; } + setSystem({ LOG }) { this.systemLog = LOG; } + attachFile({ URL }) { this.attachedFile = URL; } + setImageSize({ H, W }) { this.genHeight = H; this.genWidth = W; } + + // Logic + async importChat({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; - } - deleteBot({ NAME }) { - delete this.bots[NAME]; - } - setTextModel({ MOD }) { - this.textModel = MOD; - } - setImageModel({ MOD }) { - this.imageModel = MOD; - } - setTemp({ N }) { - this.temp = N; - } - setSeed({ N }) { - this.seed = N; - } - setSystem({ LOG }) { - this.systemLog = LOG; - } - attachFile({ URL }) { - this.attachedFile = URL; - } - - setImageSize({ H, W }) { - this.genHeight = H; - this.genWidth = W; - } - getGenHeight() { - return this.genHeight; - } - getGenWidth() { - return this.genWidth; + const input = document.createElement("input"); + input.type = "file"; + input.accept = ".json"; + input.onchange = (e) => { + const file = e.target.files[0]; + const reader = new FileReader(); + reader.onload = (event) => { + try { + const data = JSON.parse(event.target.result); + if (Array.isArray(data)) this.bots[NAME] = data; + } catch (err) { console.error("Import failed"); } + }; + reader.readAsText(file); + }; + input.click(); + } + + exportChat({ NAME, TYPE }) { + const history = this.bots[NAME]; + if (!history || history.length === 0) return; + let content = ""; + let mimeType = "text/plain"; + let extension = "txt"; + if (TYPE === "json") { content = JSON.stringify(history, null, 2); mimeType = "application/json"; extension = "json"; } + else if (TYPE === "text") content = history.map(h => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); + else if (TYPE === "markdown") { content = history.map(h => `### User\n${h.q}\n\n### Bot\n${h.a}`).join("\n\n---\n\n"); extension = "md"; } + else if (TYPE === "csv") { content = "Question,Answer\n" + history.map(h => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"`).join("\n"); extension = "csv"; } + else if (TYPE === "html") { content = `${history.map(h => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; extension = "html"; } + const blob = new Blob([content], { type: mimeType }); + const url = URL.createObjectURL(blob); + const a = document.createElement("a"); + a.href = url; + a.download = `${NAME}_chat.${extension}`; + a.click(); + URL.revokeObjectURL(url); } async setCostumeFromPrompt(args, util) { @@ -320,70 +151,34 @@ const response = await fetch(url); const arrayBuffer = await response.arrayBuffer(); const storage = util.runtime.storage; - const asset = storage.createAsset( - storage.AssetType.ImageBitmap, - storage.DataFormat.JPG, - new Uint8Array(arrayBuffer), - null, - true - ); - const costume = { - name: args.NAME, - asset: asset, - md5: asset.assetId + ".jpg", - assetId: asset.assetId, - dataFormat: "jpg", - rotationCenterX: asset.data ? asset.data.width / 2 : 0, - rotationCenterY: asset.data ? asset.data.height / 2 : 0, - }; + const asset = storage.createAsset(storage.AssetType.ImageBitmap, storage.DataFormat.JPG, new Uint8Array(arrayBuffer), null, true); + const costume = { name: args.NAME, asset: asset, md5: asset.assetId + ".jpg", assetId: asset.assetId, dataFormat: "jpg", rotationCenterX: 0, rotationCenterY: 0 }; util.target.addCostume(costume); util.target.setCostume(util.target.getCostumeIndexByName(args.NAME)); this.isFetching = false; - } catch (e) { - this.isFetching = false; - } + } catch (e) { this.isFetching = false; } } async simplePrompt({ TEXT }) { this.isFetching = true; try { const fullSystem = this.systemLog + this.safetyGuard; - const url = `https://text.pollinations.ai/${encodeURIComponent(TEXT)}?model=${this.textModel}&system=${encodeURIComponent(fullSystem)}&seed=${this.seed}&temperature=${this.temp}`; - - const r = await fetch(url); - if (!r.ok) { - this.isFetching = false; - return "Network error!! AI is sleeping?"; - } - + const r = await Scratch.fetch(url); const res = await r.text(); this.isFetching = false; - const botNames = Object.keys(this.bots); - if (botNames.length > 0) { - this.bots[botNames[0]].push({ q: TEXT, a: res }); - } + if (botNames.length > 0) this.bots[botNames[0]].push({ q: TEXT, a: res }); return res; - } catch (e) { - this.isFetching = false; - return "Error connecting to AI... try again later!!"; - } + } catch (e) { this.isFetching = false; return "Error"; } } - getImageUrl({ TEXT }) { - try { - let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(TEXT)}?model=${this.imageModel}&seed=${this.seed}&width=${this.genWidth}&height=${this.genHeight}&nologo=true`; - if (this.attachedFile) - url += `&feed=${encodeURIComponent(this.attachedFile)}`; - return url; - } catch (err) { - return "url_error_check_prompt"; - } - } + async setContextText({ CTX, TEXT }) { return await this.simplePrompt({ TEXT: `[Context: ${CTX}] ${TEXT}` }); } - async setContextText({ CTX, TEXT }) { - return await this.simplePrompt({ TEXT: `[Context: ${CTX}] ${TEXT}` }); + getImageUrl({ TEXT }) { + let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(TEXT)}?model=${this.imageModel}&seed=${this.seed}&width=${this.genWidth}&height=${this.genHeight}&nologo=true`; + if (this.attachedFile) url += `&feed=${encodeURIComponent(this.attachedFile)}`; + return url; } } From 3d132703fc78e78220b7231ba0cb6aac116a0f1b Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 16:35:54 +0530 Subject: [PATCH 39/93] Update turbobot.js From 4d3d38848b4ac3027a5ee82d03611ad8d946df0c Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 16:37:47 +0530 Subject: [PATCH 40/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 86722d5d38..931311d907 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -9,7 +9,7 @@ "use strict"; if (!Scratch.extensions.unsandboxed) { - throw new Error("Turbo Bot must run unsandboxed. Please click 'Run extension without sandbox' in the editor."); + throw new Error("Turbo Bot must run unsandboxed so, Please let this extension run without sandbox."); } const icon = "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; @@ -18,7 +18,7 @@ class TurboBot { constructor() { - // Internal state setup + this.bots = {}; this.textModel = "openai"; this.imageModel = "turbo"; @@ -82,7 +82,7 @@ }; } - // Reporters + isReady() { return true; } isThinking() { return this.isFetching; } getCurrentModel() { return `T:${this.textModel} | I:${this.imageModel}`; } @@ -93,7 +93,6 @@ getGenHeight() { return this.genHeight; } getGenWidth() { return this.genWidth; } - // Setters createBot({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; } deleteBot({ NAME }) { delete this.bots[NAME]; } setTextModel({ MOD }) { this.textModel = MOD; } @@ -104,7 +103,7 @@ attachFile({ URL }) { this.attachedFile = URL; } setImageSize({ H, W }) { this.genHeight = H; this.genWidth = W; } - // Logic + async importChat({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; const input = document.createElement("input"); From 50d038243360f9654d97f42771eefa94b5011c7f Mon Sep 17 00:00:00 2001 From: "DangoCat[bot]" Date: Sat, 10 Jan 2026 11:09:09 +0000 Subject: [PATCH 41/93] [Automated] Format code --- extensions/Seigh-sword/turbobot.js | 419 ++++++++++++++++++++++++----- 1 file changed, 354 insertions(+), 65 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 931311d907..edea84e284 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -9,16 +9,18 @@ "use strict"; if (!Scratch.extensions.unsandboxed) { - throw new Error("Turbo Bot must run unsandboxed so, Please let this extension run without sandbox."); + throw new Error( + "Turbo Bot must run unsandboxed so, Please let this extension run without sandbox." + ); } - const icon = "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; + const icon = + "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; const blockColor = "#FF4C4C"; const menuColor = "#B00000"; class TurboBot { constructor() { - this.bots = {}; this.textModel = "openai"; this.imageModel = "turbo"; @@ -30,79 +32,322 @@ this.genWidth = 1024; this.genHeight = 1024; - this.safetyGuard = " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; + this.safetyGuard = + " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; } getInfo() { return { id: "TurboBotEngine", name: Scratch.translate("Turbo Bot"), - docsURI: "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", + docsURI: + "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", menuIconURI: icon, blockIconURI: icon, color1: blockColor, color2: menuColor, blocks: [ - { opcode: "isReady", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("AI ready?") }, - { opcode: "isThinking", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("is bot thinking?") }, - { opcode: "getCurrentModel", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("model?") }, - { opcode: "getBotName", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("bot?") }, - { opcode: "getMemory", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("memory") }, + { + opcode: "isReady", + blockType: Scratch.BlockType.BOOLEAN, + text: Scratch.translate("AI ready?"), + }, + { + opcode: "isThinking", + blockType: Scratch.BlockType.BOOLEAN, + text: Scratch.translate("is bot thinking?"), + }, + { + opcode: "getCurrentModel", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("model?"), + }, + { + opcode: "getBotName", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("bot?"), + }, + { + opcode: "getMemory", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("memory"), + }, "---", - { opcode: "createBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("create bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, - { opcode: "deleteBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("delete bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, - { opcode: "exportChat", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("export conversation of [NAME] as [TYPE]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" } } }, - { opcode: "importChat", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("import conversation from file to bot [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, + { + opcode: "createBot", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("create bot named [NAME]"), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, + { + opcode: "deleteBot", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("delete bot named [NAME]"), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, + { + opcode: "exportChat", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("export conversation of [NAME] as [TYPE]"), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" }, + }, + }, + { + opcode: "importChat", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate( + "import conversation from file to bot [NAME]" + ), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, "---", - { opcode: "setTextModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set text model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" } } }, - { opcode: "setImageModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" } } }, + { + opcode: "setTextModel", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set text model [MOD]"), + arguments: { + MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" }, + }, + }, + { + opcode: "setImageModel", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set image model [MOD]"), + arguments: { + MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" }, + }, + }, "---", - { opcode: "setImageSize", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image gen height [H] and width [W]"), arguments: { H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 } } }, - { opcode: "getGenHeight", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen height") }, - { opcode: "getGenWidth", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen width") }, + { + opcode: "setImageSize", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set image gen height [H] and width [W]"), + arguments: { + H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, + W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, + }, + }, + { + opcode: "getGenHeight", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("image gen height"), + }, + { + opcode: "getGenWidth", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("image gen width"), + }, "---", - { opcode: "simplePrompt", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, - { opcode: "setCostumeFromPrompt", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image from prompt [TEXT] as costume named [NAME]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "racecar" }, NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "costume2" } } }, - { opcode: "getImageUrl", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("get url for image prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a racecar" } } }, - { opcode: "attachFile", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("attach file url [URL]"), arguments: { URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" } } }, + { + opcode: "simplePrompt", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("prompt [TEXT]"), + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Hello!", + }, + }, + }, + { + opcode: "setCostumeFromPrompt", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate( + "set image from prompt [TEXT] as costume named [NAME]" + ), + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "racecar", + }, + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "costume2", + }, + }, + }, + { + opcode: "getImageUrl", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("get url for image prompt [TEXT]"), + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "a racecar", + }, + }, + }, + { + opcode: "attachFile", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("attach file url [URL]"), + arguments: { + URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" }, + }, + }, "---", - { opcode: "setSystem", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set system log [LOG]"), arguments: { LOG: { type: Scratch.ArgumentType.STRING, defaultValue: "You are a helpful assistant." } } }, - { opcode: "setContextText", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("set context [CTX] and prompt [TEXT]"), arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Persona" }, TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, + { + opcode: "setSystem", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set system log [LOG]"), + arguments: { + LOG: { + type: Scratch.ArgumentType.STRING, + defaultValue: "You are a helpful assistant.", + }, + }, + }, + { + opcode: "setContextText", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("set context [CTX] and prompt [TEXT]"), + arguments: { + CTX: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Persona", + }, + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Hello!", + }, + }, + }, "---", - { opcode: "setTemp", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set temperature [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 } } }, - { opcode: "setSeed", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set seed [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 } } }, - { opcode: "getSeed", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("seed") }, - { opcode: "getTemp", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("temperature") }, + { + opcode: "setTemp", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set temperature [N]"), + arguments: { + N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 }, + }, + }, + { + opcode: "setSeed", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set seed [N]"), + arguments: { + N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 }, + }, + }, + { + opcode: "getSeed", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("seed"), + }, + { + opcode: "getTemp", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("temperature"), + }, ], menus: { - textMenu: { acceptReporters: true, items: ["openai", "mistral", "gemini", "deepseek-r1", "p1", "llama"] }, - imageMenu: { acceptReporters: true, items: ["turbo", "flux-pro", "flux-realism", "flux-anime", "flux-3d", "flux", "any"] }, - fileMenu: { acceptReporters: true, items: ["json", "text", "markdown", "csv", "html"] } + textMenu: { + acceptReporters: true, + items: [ + "openai", + "mistral", + "gemini", + "deepseek-r1", + "p1", + "llama", + ], + }, + imageMenu: { + acceptReporters: true, + items: [ + "turbo", + "flux-pro", + "flux-realism", + "flux-anime", + "flux-3d", + "flux", + "any", + ], + }, + fileMenu: { + acceptReporters: true, + items: ["json", "text", "markdown", "csv", "html"], + }, }, }; } + isReady() { + return true; + } + isThinking() { + return this.isFetching; + } + getCurrentModel() { + return `T:${this.textModel} | I:${this.imageModel}`; + } + getBotName() { + return Object.keys(this.bots)[0] || "None"; + } + getMemory() { + return JSON.stringify(this.bots); + } + getSeed() { + return this.seed; + } + getTemp() { + return this.temp; + } + getGenHeight() { + return this.genHeight; + } + getGenWidth() { + return this.genWidth; + } - isReady() { return true; } - isThinking() { return this.isFetching; } - getCurrentModel() { return `T:${this.textModel} | I:${this.imageModel}`; } - getBotName() { return Object.keys(this.bots)[0] || "None"; } - getMemory() { return JSON.stringify(this.bots); } - getSeed() { return this.seed; } - getTemp() { return this.temp; } - getGenHeight() { return this.genHeight; } - getGenWidth() { return this.genWidth; } - - createBot({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; } - deleteBot({ NAME }) { delete this.bots[NAME]; } - setTextModel({ MOD }) { this.textModel = MOD; } - setImageModel({ MOD }) { this.imageModel = MOD; } - setTemp({ N }) { this.temp = N; } - setSeed({ N }) { this.seed = N; } - setSystem({ LOG }) { this.systemLog = LOG; } - attachFile({ URL }) { this.attachedFile = URL; } - setImageSize({ H, W }) { this.genHeight = H; this.genWidth = W; } - + createBot({ NAME }) { + if (!this.bots[NAME]) this.bots[NAME] = []; + } + deleteBot({ NAME }) { + delete this.bots[NAME]; + } + setTextModel({ MOD }) { + this.textModel = MOD; + } + setImageModel({ MOD }) { + this.imageModel = MOD; + } + setTemp({ N }) { + this.temp = N; + } + setSeed({ N }) { + this.seed = N; + } + setSystem({ LOG }) { + this.systemLog = LOG; + } + attachFile({ URL }) { + this.attachedFile = URL; + } + setImageSize({ H, W }) { + this.genHeight = H; + this.genWidth = W; + } async importChat({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; @@ -116,7 +361,9 @@ try { const data = JSON.parse(event.target.result); if (Array.isArray(data)) this.bots[NAME] = data; - } catch (err) { console.error("Import failed"); } + } catch (err) { + console.error("Import failed"); + } }; reader.readAsText(file); }; @@ -129,11 +376,30 @@ let content = ""; let mimeType = "text/plain"; let extension = "txt"; - if (TYPE === "json") { content = JSON.stringify(history, null, 2); mimeType = "application/json"; extension = "json"; } - else if (TYPE === "text") content = history.map(h => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); - else if (TYPE === "markdown") { content = history.map(h => `### User\n${h.q}\n\n### Bot\n${h.a}`).join("\n\n---\n\n"); extension = "md"; } - else if (TYPE === "csv") { content = "Question,Answer\n" + history.map(h => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"`).join("\n"); extension = "csv"; } - else if (TYPE === "html") { content = `${history.map(h => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; extension = "html"; } + if (TYPE === "json") { + content = JSON.stringify(history, null, 2); + mimeType = "application/json"; + extension = "json"; + } else if (TYPE === "text") + content = history.map((h) => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); + else if (TYPE === "markdown") { + content = history + .map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`) + .join("\n\n---\n\n"); + extension = "md"; + } else if (TYPE === "csv") { + content = + "Question,Answer\n" + + history + .map( + (h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"` + ) + .join("\n"); + extension = "csv"; + } else if (TYPE === "html") { + content = `${history.map((h) => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; + extension = "html"; + } const blob = new Blob([content], { type: mimeType }); const url = URL.createObjectURL(blob); const a = document.createElement("a"); @@ -150,12 +416,28 @@ const response = await fetch(url); const arrayBuffer = await response.arrayBuffer(); const storage = util.runtime.storage; - const asset = storage.createAsset(storage.AssetType.ImageBitmap, storage.DataFormat.JPG, new Uint8Array(arrayBuffer), null, true); - const costume = { name: args.NAME, asset: asset, md5: asset.assetId + ".jpg", assetId: asset.assetId, dataFormat: "jpg", rotationCenterX: 0, rotationCenterY: 0 }; + const asset = storage.createAsset( + storage.AssetType.ImageBitmap, + storage.DataFormat.JPG, + new Uint8Array(arrayBuffer), + null, + true + ); + const costume = { + name: args.NAME, + asset: asset, + md5: asset.assetId + ".jpg", + assetId: asset.assetId, + dataFormat: "jpg", + rotationCenterX: 0, + rotationCenterY: 0, + }; util.target.addCostume(costume); util.target.setCostume(util.target.getCostumeIndexByName(args.NAME)); this.isFetching = false; - } catch (e) { this.isFetching = false; } + } catch (e) { + this.isFetching = false; + } } async simplePrompt({ TEXT }) { @@ -167,16 +449,23 @@ const res = await r.text(); this.isFetching = false; const botNames = Object.keys(this.bots); - if (botNames.length > 0) this.bots[botNames[0]].push({ q: TEXT, a: res }); + if (botNames.length > 0) + this.bots[botNames[0]].push({ q: TEXT, a: res }); return res; - } catch (e) { this.isFetching = false; return "Error"; } + } catch (e) { + this.isFetching = false; + return "Error"; + } } - async setContextText({ CTX, TEXT }) { return await this.simplePrompt({ TEXT: `[Context: ${CTX}] ${TEXT}` }); } + async setContextText({ CTX, TEXT }) { + return await this.simplePrompt({ TEXT: `[Context: ${CTX}] ${TEXT}` }); + } getImageUrl({ TEXT }) { let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(TEXT)}?model=${this.imageModel}&seed=${this.seed}&width=${this.genWidth}&height=${this.genHeight}&nologo=true`; - if (this.attachedFile) url += `&feed=${encodeURIComponent(this.attachedFile)}`; + if (this.attachedFile) + url += `&feed=${encodeURIComponent(this.attachedFile)}`; return url; } } From 88a6ffc94c2fd9591d4a97e851cc4c4aaa3a0990 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 16:44:55 +0530 Subject: [PATCH 42/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 427 +++++------------------------ 1 file changed, 71 insertions(+), 356 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index edea84e284..a598c2dbc4 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -4,23 +4,23 @@ // By: Seigh_sword , https://www.youtube.com/@Seigh_sword and https://github.com/Seigh-sword/ // License: MPL-2.0 // @turbowarp-extension +// @unsandboxed (function (Scratch) { "use strict"; + if (!Scratch.extensions.unsandboxed) { - throw new Error( - "Turbo Bot must run unsandboxed so, Please let this extension run without sandbox." - ); + throw new Error("Turbo Bot must run unsandboxed. for the set costume block to work, so ya."); } - const icon = - "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; + const icon = "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; const blockColor = "#FF4C4C"; const menuColor = "#B00000"; class TurboBot { constructor() { + this.bots = {}; this.textModel = "openai"; this.imageModel = "turbo"; @@ -32,324 +32,82 @@ this.genWidth = 1024; this.genHeight = 1024; - this.safetyGuard = - " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; + this.safetyGuard = " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; } getInfo() { return { id: "TurboBotEngine", name: Scratch.translate("Turbo Bot"), - docsURI: - "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", + docsURI: "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", menuIconURI: icon, blockIconURI: icon, color1: blockColor, color2: menuColor, blocks: [ - { - opcode: "isReady", - blockType: Scratch.BlockType.BOOLEAN, - text: Scratch.translate("AI ready?"), - }, - { - opcode: "isThinking", - blockType: Scratch.BlockType.BOOLEAN, - text: Scratch.translate("is bot thinking?"), - }, - { - opcode: "getCurrentModel", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("model?"), - }, - { - opcode: "getBotName", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("bot?"), - }, - { - opcode: "getMemory", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("memory"), - }, + { opcode: "isReady", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("AI ready?") }, + { opcode: "isThinking", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("is bot thinking?") }, + { opcode: "getCurrentModel", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("model?") }, + { opcode: "getBotName", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("bot?") }, + { opcode: "getMemory", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("memory") }, "---", - { - opcode: "createBot", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("create bot named [NAME]"), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, - }, - { - opcode: "deleteBot", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("delete bot named [NAME]"), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, - }, - { - opcode: "exportChat", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("export conversation of [NAME] as [TYPE]"), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" }, - }, - }, - { - opcode: "importChat", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate( - "import conversation from file to bot [NAME]" - ), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, - }, + { opcode: "createBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("create bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, + { opcode: "deleteBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("delete bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, + { opcode: "exportChat", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("export conversation of [NAME] as [TYPE]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" } } }, + { opcode: "importChat", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("import conversation from file to bot [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, "---", - { - opcode: "setTextModel", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set text model [MOD]"), - arguments: { - MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" }, - }, - }, - { - opcode: "setImageModel", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set image model [MOD]"), - arguments: { - MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" }, - }, - }, + { opcode: "setTextModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set text model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" } } }, + { opcode: "setImageModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" } } }, "---", - { - opcode: "setImageSize", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set image gen height [H] and width [W]"), - arguments: { - H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, - W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, - }, - }, - { - opcode: "getGenHeight", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("image gen height"), - }, - { - opcode: "getGenWidth", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("image gen width"), - }, + { opcode: "setImageSize", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image gen height [H] and width [W]"), arguments: { H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 } } }, + { opcode: "getGenHeight", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen height") }, + { opcode: "getGenWidth", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen width") }, "---", - { - opcode: "simplePrompt", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("prompt [TEXT]"), - arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Hello!", - }, - }, - }, - { - opcode: "setCostumeFromPrompt", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate( - "set image from prompt [TEXT] as costume named [NAME]" - ), - arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "racecar", - }, - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "costume2", - }, - }, - }, - { - opcode: "getImageUrl", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("get url for image prompt [TEXT]"), - arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "a racecar", - }, - }, - }, - { - opcode: "attachFile", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("attach file url [URL]"), - arguments: { - URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" }, - }, - }, + { opcode: "simplePrompt", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, + { opcode: "setCostumeFromPrompt", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image from prompt [TEXT] as costume named [NAME]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "racecar" }, NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "costume2" } } }, + { opcode: "getImageUrl", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("get url for image prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a racecar" } } }, + { opcode: "attachFile", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("attach file url [URL]"), arguments: { URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" } } }, "---", - { - opcode: "setSystem", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set system log [LOG]"), - arguments: { - LOG: { - type: Scratch.ArgumentType.STRING, - defaultValue: "You are a helpful assistant.", - }, - }, - }, - { - opcode: "setContextText", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("set context [CTX] and prompt [TEXT]"), - arguments: { - CTX: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Persona", - }, - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Hello!", - }, - }, - }, + { opcode: "setSystem", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set system log [LOG]"), arguments: { LOG: { type: Scratch.ArgumentType.STRING, defaultValue: "You are a helpful assistant." } } }, + { opcode: "setContextText", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("set context [CTX] and prompt [TEXT]"), arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Persona" }, TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, "---", - { - opcode: "setTemp", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set temperature [N]"), - arguments: { - N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 }, - }, - }, - { - opcode: "setSeed", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set seed [N]"), - arguments: { - N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 }, - }, - }, - { - opcode: "getSeed", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("seed"), - }, - { - opcode: "getTemp", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("temperature"), - }, + { opcode: "setTemp", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set temperature [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 } } }, + { opcode: "setSeed", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set seed [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 } } }, + { opcode: "getSeed", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("seed") }, + { opcode: "getTemp", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("temperature") }, ], menus: { - textMenu: { - acceptReporters: true, - items: [ - "openai", - "mistral", - "gemini", - "deepseek-r1", - "p1", - "llama", - ], - }, - imageMenu: { - acceptReporters: true, - items: [ - "turbo", - "flux-pro", - "flux-realism", - "flux-anime", - "flux-3d", - "flux", - "any", - ], - }, - fileMenu: { - acceptReporters: true, - items: ["json", "text", "markdown", "csv", "html"], - }, + textMenu: { acceptReporters: true, items: ["openai", "mistral", "gemini", "deepseek-r1", "p1", "llama"] }, + imageMenu: { acceptReporters: true, items: ["turbo", "flux-pro", "flux-realism", "flux-anime", "flux-3d", "flux", "any"] }, + fileMenu: { acceptReporters: true, items: ["json", "text", "markdown", "csv", "html"] } }, }; } - isReady() { - return true; - } - isThinking() { - return this.isFetching; - } - getCurrentModel() { - return `T:${this.textModel} | I:${this.imageModel}`; - } - getBotName() { - return Object.keys(this.bots)[0] || "None"; - } - getMemory() { - return JSON.stringify(this.bots); - } - getSeed() { - return this.seed; - } - getTemp() { - return this.temp; - } - getGenHeight() { - return this.genHeight; - } - getGenWidth() { - return this.genWidth; - } + // Reporters + isReady() { return true; } + isThinking() { return this.isFetching; } + getCurrentModel() { return `T:${this.textModel} | I:${this.imageModel}`; } + getBotName() { return Object.keys(this.bots)[0] || "None"; } + getMemory() { return JSON.stringify(this.bots); } + getSeed() { return this.seed; } + getTemp() { return this.temp; } + getGenHeight() { return this.genHeight; } + getGenWidth() { return this.genWidth; } - createBot({ NAME }) { - if (!this.bots[NAME]) this.bots[NAME] = []; - } - deleteBot({ NAME }) { - delete this.bots[NAME]; - } - setTextModel({ MOD }) { - this.textModel = MOD; - } - setImageModel({ MOD }) { - this.imageModel = MOD; - } - setTemp({ N }) { - this.temp = N; - } - setSeed({ N }) { - this.seed = N; - } - setSystem({ LOG }) { - this.systemLog = LOG; - } - attachFile({ URL }) { - this.attachedFile = URL; - } - setImageSize({ H, W }) { - this.genHeight = H; - this.genWidth = W; - } + // Setters + createBot({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; } + deleteBot({ NAME }) { delete this.bots[NAME]; } + setTextModel({ MOD }) { this.textModel = MOD; } + setImageModel({ MOD }) { this.imageModel = MOD; } + setTemp({ N }) { this.temp = N; } + setSeed({ N }) { this.seed = N; } + setSystem({ LOG }) { this.systemLog = LOG; } + attachFile({ URL }) { this.attachedFile = URL; } + setImageSize({ H, W }) { this.genHeight = H; this.genWidth = W; } - async importChat({ NAME }) { + // Logic - No async keyword here to fix lint error + importChat({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; const input = document.createElement("input"); input.type = "file"; @@ -361,9 +119,7 @@ try { const data = JSON.parse(event.target.result); if (Array.isArray(data)) this.bots[NAME] = data; - } catch (err) { - console.error("Import failed"); - } + } catch (err) { console.error("Import failed"); } }; reader.readAsText(file); }; @@ -376,30 +132,11 @@ let content = ""; let mimeType = "text/plain"; let extension = "txt"; - if (TYPE === "json") { - content = JSON.stringify(history, null, 2); - mimeType = "application/json"; - extension = "json"; - } else if (TYPE === "text") - content = history.map((h) => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); - else if (TYPE === "markdown") { - content = history - .map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`) - .join("\n\n---\n\n"); - extension = "md"; - } else if (TYPE === "csv") { - content = - "Question,Answer\n" + - history - .map( - (h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"` - ) - .join("\n"); - extension = "csv"; - } else if (TYPE === "html") { - content = `${history.map((h) => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; - extension = "html"; - } + if (TYPE === "json") { content = JSON.stringify(history, null, 2); mimeType = "application/json"; extension = "json"; } + else if (TYPE === "text") content = history.map(h => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); + else if (TYPE === "markdown") { content = history.map(h => `### User\n${h.q}\n\n### Bot\n${h.a}`).join("\n\n---\n\n"); extension = "md"; } + else if (TYPE === "csv") { content = "Question,Answer\n" + history.map(h => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"`).join("\n"); extension = "csv"; } + else if (TYPE === "html") { content = `${history.map(h => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; extension = "html"; } const blob = new Blob([content], { type: mimeType }); const url = URL.createObjectURL(blob); const a = document.createElement("a"); @@ -413,31 +150,16 @@ const url = this.getImageUrl({ TEXT: args.TEXT }); this.isFetching = true; try { - const response = await fetch(url); + // Updated to use Scratch.fetch for lint compliance + const response = await Scratch.fetch(url); const arrayBuffer = await response.arrayBuffer(); const storage = util.runtime.storage; - const asset = storage.createAsset( - storage.AssetType.ImageBitmap, - storage.DataFormat.JPG, - new Uint8Array(arrayBuffer), - null, - true - ); - const costume = { - name: args.NAME, - asset: asset, - md5: asset.assetId + ".jpg", - assetId: asset.assetId, - dataFormat: "jpg", - rotationCenterX: 0, - rotationCenterY: 0, - }; + const asset = storage.createAsset(storage.AssetType.ImageBitmap, storage.DataFormat.JPG, new Uint8Array(arrayBuffer), null, true); + const costume = { name: args.NAME, asset: asset, md5: asset.assetId + ".jpg", assetId: asset.assetId, dataFormat: "jpg", rotationCenterX: 0, rotationCenterY: 0 }; util.target.addCostume(costume); util.target.setCostume(util.target.getCostumeIndexByName(args.NAME)); this.isFetching = false; - } catch (e) { - this.isFetching = false; - } + } catch (e) { this.isFetching = false; } } async simplePrompt({ TEXT }) { @@ -449,23 +171,16 @@ const res = await r.text(); this.isFetching = false; const botNames = Object.keys(this.bots); - if (botNames.length > 0) - this.bots[botNames[0]].push({ q: TEXT, a: res }); + if (botNames.length > 0) this.bots[botNames[0]].push({ q: TEXT, a: res }); return res; - } catch (e) { - this.isFetching = false; - return "Error"; - } + } catch (e) { this.isFetching = false; return "Error"; } } - async setContextText({ CTX, TEXT }) { - return await this.simplePrompt({ TEXT: `[Context: ${CTX}] ${TEXT}` }); - } + async setContextText({ CTX, TEXT }) { return await this.simplePrompt({ TEXT: `[Context: ${CTX}] ${TEXT}` }); } getImageUrl({ TEXT }) { let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(TEXT)}?model=${this.imageModel}&seed=${this.seed}&width=${this.genWidth}&height=${this.genHeight}&nologo=true`; - if (this.attachedFile) - url += `&feed=${encodeURIComponent(this.attachedFile)}`; + if (this.attachedFile) url += `&feed=${encodeURIComponent(this.attachedFile)}`; return url; } } From 267e510e5739eac1e5dc7336adcbecdf5633b6b8 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 16:46:18 +0530 Subject: [PATCH 43/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index a598c2dbc4..bfb102931d 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -84,7 +84,7 @@ }; } - // Reporters + isReady() { return true; } isThinking() { return this.isFetching; } getCurrentModel() { return `T:${this.textModel} | I:${this.imageModel}`; } @@ -95,7 +95,7 @@ getGenHeight() { return this.genHeight; } getGenWidth() { return this.genWidth; } - // Setters + createBot({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; } deleteBot({ NAME }) { delete this.bots[NAME]; } setTextModel({ MOD }) { this.textModel = MOD; } @@ -106,7 +106,7 @@ attachFile({ URL }) { this.attachedFile = URL; } setImageSize({ H, W }) { this.genHeight = H; this.genWidth = W; } - // Logic - No async keyword here to fix lint error + importChat({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; const input = document.createElement("input"); @@ -150,7 +150,7 @@ const url = this.getImageUrl({ TEXT: args.TEXT }); this.isFetching = true; try { - // Updated to use Scratch.fetch for lint compliance + const response = await Scratch.fetch(url); const arrayBuffer = await response.arrayBuffer(); const storage = util.runtime.storage; @@ -187,3 +187,4 @@ Scratch.extensions.register(new TurboBot()); })(Scratch); +//ok I think its all, but who knows maybe more right pal ;) From adcd124c7ecd09f8dabfa0ddaa4db5195ee684e5 Mon Sep 17 00:00:00 2001 From: "DangoCat[bot]" Date: Sat, 10 Jan 2026 11:17:21 +0000 Subject: [PATCH 44/93] [Automated] Format code --- extensions/Seigh-sword/turbobot.js | 422 ++++++++++++++++++++++++----- 1 file changed, 354 insertions(+), 68 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index bfb102931d..d15d6e457b 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -9,18 +9,19 @@ (function (Scratch) { "use strict"; - if (!Scratch.extensions.unsandboxed) { - throw new Error("Turbo Bot must run unsandboxed. for the set costume block to work, so ya."); + throw new Error( + "Turbo Bot must run unsandboxed. for the set costume block to work, so ya." + ); } - const icon = "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; + const icon = + "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; const blockColor = "#FF4C4C"; const menuColor = "#B00000"; class TurboBot { constructor() { - this.bots = {}; this.textModel = "openai"; this.imageModel = "turbo"; @@ -32,81 +33,323 @@ this.genWidth = 1024; this.genHeight = 1024; - this.safetyGuard = " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; + this.safetyGuard = + " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; } getInfo() { return { id: "TurboBotEngine", name: Scratch.translate("Turbo Bot"), - docsURI: "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", + docsURI: + "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", menuIconURI: icon, blockIconURI: icon, color1: blockColor, color2: menuColor, blocks: [ - { opcode: "isReady", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("AI ready?") }, - { opcode: "isThinking", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("is bot thinking?") }, - { opcode: "getCurrentModel", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("model?") }, - { opcode: "getBotName", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("bot?") }, - { opcode: "getMemory", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("memory") }, + { + opcode: "isReady", + blockType: Scratch.BlockType.BOOLEAN, + text: Scratch.translate("AI ready?"), + }, + { + opcode: "isThinking", + blockType: Scratch.BlockType.BOOLEAN, + text: Scratch.translate("is bot thinking?"), + }, + { + opcode: "getCurrentModel", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("model?"), + }, + { + opcode: "getBotName", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("bot?"), + }, + { + opcode: "getMemory", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("memory"), + }, "---", - { opcode: "createBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("create bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, - { opcode: "deleteBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("delete bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, - { opcode: "exportChat", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("export conversation of [NAME] as [TYPE]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" } } }, - { opcode: "importChat", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("import conversation from file to bot [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, + { + opcode: "createBot", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("create bot named [NAME]"), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, + { + opcode: "deleteBot", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("delete bot named [NAME]"), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, + { + opcode: "exportChat", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("export conversation of [NAME] as [TYPE]"), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" }, + }, + }, + { + opcode: "importChat", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate( + "import conversation from file to bot [NAME]" + ), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, "---", - { opcode: "setTextModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set text model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" } } }, - { opcode: "setImageModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" } } }, + { + opcode: "setTextModel", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set text model [MOD]"), + arguments: { + MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" }, + }, + }, + { + opcode: "setImageModel", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set image model [MOD]"), + arguments: { + MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" }, + }, + }, "---", - { opcode: "setImageSize", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image gen height [H] and width [W]"), arguments: { H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 } } }, - { opcode: "getGenHeight", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen height") }, - { opcode: "getGenWidth", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen width") }, + { + opcode: "setImageSize", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set image gen height [H] and width [W]"), + arguments: { + H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, + W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, + }, + }, + { + opcode: "getGenHeight", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("image gen height"), + }, + { + opcode: "getGenWidth", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("image gen width"), + }, "---", - { opcode: "simplePrompt", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, - { opcode: "setCostumeFromPrompt", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image from prompt [TEXT] as costume named [NAME]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "racecar" }, NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "costume2" } } }, - { opcode: "getImageUrl", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("get url for image prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a racecar" } } }, - { opcode: "attachFile", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("attach file url [URL]"), arguments: { URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" } } }, + { + opcode: "simplePrompt", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("prompt [TEXT]"), + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Hello!", + }, + }, + }, + { + opcode: "setCostumeFromPrompt", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate( + "set image from prompt [TEXT] as costume named [NAME]" + ), + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "racecar", + }, + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "costume2", + }, + }, + }, + { + opcode: "getImageUrl", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("get url for image prompt [TEXT]"), + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "a racecar", + }, + }, + }, + { + opcode: "attachFile", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("attach file url [URL]"), + arguments: { + URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" }, + }, + }, "---", - { opcode: "setSystem", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set system log [LOG]"), arguments: { LOG: { type: Scratch.ArgumentType.STRING, defaultValue: "You are a helpful assistant." } } }, - { opcode: "setContextText", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("set context [CTX] and prompt [TEXT]"), arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Persona" }, TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, + { + opcode: "setSystem", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set system log [LOG]"), + arguments: { + LOG: { + type: Scratch.ArgumentType.STRING, + defaultValue: "You are a helpful assistant.", + }, + }, + }, + { + opcode: "setContextText", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("set context [CTX] and prompt [TEXT]"), + arguments: { + CTX: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Persona", + }, + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Hello!", + }, + }, + }, "---", - { opcode: "setTemp", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set temperature [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 } } }, - { opcode: "setSeed", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set seed [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 } } }, - { opcode: "getSeed", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("seed") }, - { opcode: "getTemp", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("temperature") }, + { + opcode: "setTemp", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set temperature [N]"), + arguments: { + N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 }, + }, + }, + { + opcode: "setSeed", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set seed [N]"), + arguments: { + N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 }, + }, + }, + { + opcode: "getSeed", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("seed"), + }, + { + opcode: "getTemp", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("temperature"), + }, ], menus: { - textMenu: { acceptReporters: true, items: ["openai", "mistral", "gemini", "deepseek-r1", "p1", "llama"] }, - imageMenu: { acceptReporters: true, items: ["turbo", "flux-pro", "flux-realism", "flux-anime", "flux-3d", "flux", "any"] }, - fileMenu: { acceptReporters: true, items: ["json", "text", "markdown", "csv", "html"] } + textMenu: { + acceptReporters: true, + items: [ + "openai", + "mistral", + "gemini", + "deepseek-r1", + "p1", + "llama", + ], + }, + imageMenu: { + acceptReporters: true, + items: [ + "turbo", + "flux-pro", + "flux-realism", + "flux-anime", + "flux-3d", + "flux", + "any", + ], + }, + fileMenu: { + acceptReporters: true, + items: ["json", "text", "markdown", "csv", "html"], + }, }, }; } - - isReady() { return true; } - isThinking() { return this.isFetching; } - getCurrentModel() { return `T:${this.textModel} | I:${this.imageModel}`; } - getBotName() { return Object.keys(this.bots)[0] || "None"; } - getMemory() { return JSON.stringify(this.bots); } - getSeed() { return this.seed; } - getTemp() { return this.temp; } - getGenHeight() { return this.genHeight; } - getGenWidth() { return this.genWidth; } + isReady() { + return true; + } + isThinking() { + return this.isFetching; + } + getCurrentModel() { + return `T:${this.textModel} | I:${this.imageModel}`; + } + getBotName() { + return Object.keys(this.bots)[0] || "None"; + } + getMemory() { + return JSON.stringify(this.bots); + } + getSeed() { + return this.seed; + } + getTemp() { + return this.temp; + } + getGenHeight() { + return this.genHeight; + } + getGenWidth() { + return this.genWidth; + } - - createBot({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; } - deleteBot({ NAME }) { delete this.bots[NAME]; } - setTextModel({ MOD }) { this.textModel = MOD; } - setImageModel({ MOD }) { this.imageModel = MOD; } - setTemp({ N }) { this.temp = N; } - setSeed({ N }) { this.seed = N; } - setSystem({ LOG }) { this.systemLog = LOG; } - attachFile({ URL }) { this.attachedFile = URL; } - setImageSize({ H, W }) { this.genHeight = H; this.genWidth = W; } + createBot({ NAME }) { + if (!this.bots[NAME]) this.bots[NAME] = []; + } + deleteBot({ NAME }) { + delete this.bots[NAME]; + } + setTextModel({ MOD }) { + this.textModel = MOD; + } + setImageModel({ MOD }) { + this.imageModel = MOD; + } + setTemp({ N }) { + this.temp = N; + } + setSeed({ N }) { + this.seed = N; + } + setSystem({ LOG }) { + this.systemLog = LOG; + } + attachFile({ URL }) { + this.attachedFile = URL; + } + setImageSize({ H, W }) { + this.genHeight = H; + this.genWidth = W; + } - importChat({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; const input = document.createElement("input"); @@ -119,7 +362,9 @@ try { const data = JSON.parse(event.target.result); if (Array.isArray(data)) this.bots[NAME] = data; - } catch (err) { console.error("Import failed"); } + } catch (err) { + console.error("Import failed"); + } }; reader.readAsText(file); }; @@ -132,11 +377,30 @@ let content = ""; let mimeType = "text/plain"; let extension = "txt"; - if (TYPE === "json") { content = JSON.stringify(history, null, 2); mimeType = "application/json"; extension = "json"; } - else if (TYPE === "text") content = history.map(h => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); - else if (TYPE === "markdown") { content = history.map(h => `### User\n${h.q}\n\n### Bot\n${h.a}`).join("\n\n---\n\n"); extension = "md"; } - else if (TYPE === "csv") { content = "Question,Answer\n" + history.map(h => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"`).join("\n"); extension = "csv"; } - else if (TYPE === "html") { content = `${history.map(h => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; extension = "html"; } + if (TYPE === "json") { + content = JSON.stringify(history, null, 2); + mimeType = "application/json"; + extension = "json"; + } else if (TYPE === "text") + content = history.map((h) => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); + else if (TYPE === "markdown") { + content = history + .map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`) + .join("\n\n---\n\n"); + extension = "md"; + } else if (TYPE === "csv") { + content = + "Question,Answer\n" + + history + .map( + (h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"` + ) + .join("\n"); + extension = "csv"; + } else if (TYPE === "html") { + content = `${history.map((h) => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; + extension = "html"; + } const blob = new Blob([content], { type: mimeType }); const url = URL.createObjectURL(blob); const a = document.createElement("a"); @@ -150,16 +414,31 @@ const url = this.getImageUrl({ TEXT: args.TEXT }); this.isFetching = true; try { - const response = await Scratch.fetch(url); const arrayBuffer = await response.arrayBuffer(); const storage = util.runtime.storage; - const asset = storage.createAsset(storage.AssetType.ImageBitmap, storage.DataFormat.JPG, new Uint8Array(arrayBuffer), null, true); - const costume = { name: args.NAME, asset: asset, md5: asset.assetId + ".jpg", assetId: asset.assetId, dataFormat: "jpg", rotationCenterX: 0, rotationCenterY: 0 }; + const asset = storage.createAsset( + storage.AssetType.ImageBitmap, + storage.DataFormat.JPG, + new Uint8Array(arrayBuffer), + null, + true + ); + const costume = { + name: args.NAME, + asset: asset, + md5: asset.assetId + ".jpg", + assetId: asset.assetId, + dataFormat: "jpg", + rotationCenterX: 0, + rotationCenterY: 0, + }; util.target.addCostume(costume); util.target.setCostume(util.target.getCostumeIndexByName(args.NAME)); this.isFetching = false; - } catch (e) { this.isFetching = false; } + } catch (e) { + this.isFetching = false; + } } async simplePrompt({ TEXT }) { @@ -171,16 +450,23 @@ const res = await r.text(); this.isFetching = false; const botNames = Object.keys(this.bots); - if (botNames.length > 0) this.bots[botNames[0]].push({ q: TEXT, a: res }); + if (botNames.length > 0) + this.bots[botNames[0]].push({ q: TEXT, a: res }); return res; - } catch (e) { this.isFetching = false; return "Error"; } + } catch (e) { + this.isFetching = false; + return "Error"; + } } - async setContextText({ CTX, TEXT }) { return await this.simplePrompt({ TEXT: `[Context: ${CTX}] ${TEXT}` }); } + async setContextText({ CTX, TEXT }) { + return await this.simplePrompt({ TEXT: `[Context: ${CTX}] ${TEXT}` }); + } getImageUrl({ TEXT }) { let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(TEXT)}?model=${this.imageModel}&seed=${this.seed}&width=${this.genWidth}&height=${this.genHeight}&nologo=true`; - if (this.attachedFile) url += `&feed=${encodeURIComponent(this.attachedFile)}`; + if (this.attachedFile) + url += `&feed=${encodeURIComponent(this.attachedFile)}`; return url; } } From 0eebfb9ec02031154e27e66ec5992c7d6a673d37 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 17:27:25 +0530 Subject: [PATCH 45/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 440 ++++++----------------------- 1 file changed, 85 insertions(+), 355 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index d15d6e457b..206f0ac750 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -9,19 +9,29 @@ (function (Scratch) { "use strict"; +/** + * _______ __ __ .______ .______ ______ .______ ______ .___________. + * | || | | | | _ \ | _ \ / __ \ | _ \ / __ \ | | + * `---. .-'| | | | | |_) | | |_) | | | | | | |_) | | | | | `---| |----` + * | | | | | | | / | _ < | | | | | _ < | | | | | | + * | | | `--' | | |\ \----| |_) | | `--' | | |_) | | `--' | | | + * |__| \______/ | _| `._____|______/ \______/ |______/ \______/ |__| + * + */ + if (!Scratch.extensions.unsandboxed) { throw new Error( - "Turbo Bot must run unsandboxed. for the set costume block to work, so ya." + "Turbo Bot must run unsandboxed for the set costume block to work, so please make it run unsandboxed." ); } - const icon = - "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; + const icon = "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; const blockColor = "#FF4C4C"; const menuColor = "#B00000"; class TurboBot { constructor() { + this.bots = {}; this.textModel = "openai"; this.imageModel = "turbo"; @@ -33,323 +43,86 @@ this.genWidth = 1024; this.genHeight = 1024; - this.safetyGuard = - " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; + this.safetyGuard = " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; } getInfo() { return { id: "TurboBotEngine", name: Scratch.translate("Turbo Bot"), - docsURI: - "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", + docsURI: "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", menuIconURI: icon, blockIconURI: icon, color1: blockColor, color2: menuColor, blocks: [ - { - opcode: "isReady", - blockType: Scratch.BlockType.BOOLEAN, - text: Scratch.translate("AI ready?"), - }, - { - opcode: "isThinking", - blockType: Scratch.BlockType.BOOLEAN, - text: Scratch.translate("is bot thinking?"), - }, - { - opcode: "getCurrentModel", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("model?"), - }, - { - opcode: "getBotName", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("bot?"), - }, - { - opcode: "getMemory", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("memory"), - }, + { opcode: "isReady", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("AI ready?") }, + { opcode: "isThinking", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("is bot thinking?") }, + { opcode: "getCurrentModel", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("model?") }, + { opcode: "getBotName", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("bot?") }, + { opcode: "getMemory", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("memory") }, "---", - { - opcode: "createBot", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("create bot named [NAME]"), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, - }, - { - opcode: "deleteBot", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("delete bot named [NAME]"), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, - }, - { - opcode: "exportChat", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("export conversation of [NAME] as [TYPE]"), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" }, - }, - }, - { - opcode: "importChat", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate( - "import conversation from file to bot [NAME]" - ), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, - }, + { opcode: "createBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("create bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, + { opcode: "renameBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("rename [NAME1] to [NAME2]"), arguments: { NAME1: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, NAME2: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboPal" } } }, + { opcode: "deleteBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("delete bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, + { opcode: "exportChat", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("export conversation of [NAME] as [TYPE]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" } } }, + { opcode: "importChat", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("import conversation from file to bot [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, "---", - { - opcode: "setTextModel", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set text model [MOD]"), - arguments: { - MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" }, - }, - }, - { - opcode: "setImageModel", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set image model [MOD]"), - arguments: { - MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" }, - }, - }, + { opcode: "setTextModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set text model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" } } }, + { opcode: "setImageModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" } } }, "---", - { - opcode: "setImageSize", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set image gen height [H] and width [W]"), - arguments: { - H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, - W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, - }, - }, - { - opcode: "getGenHeight", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("image gen height"), - }, - { - opcode: "getGenWidth", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("image gen width"), - }, + { opcode: "setImageSize", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image gen height [H] and width [W]"), arguments: { H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 } } }, + { opcode: "getGenHeight", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen height") }, + { opcode: "getGenWidth", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen width") }, "---", - { - opcode: "simplePrompt", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("prompt [TEXT]"), - arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Hello!", - }, - }, - }, - { - opcode: "setCostumeFromPrompt", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate( - "set image from prompt [TEXT] as costume named [NAME]" - ), - arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "racecar", - }, - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "costume2", - }, - }, - }, - { - opcode: "getImageUrl", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("get url for image prompt [TEXT]"), - arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "a racecar", - }, - }, - }, - { - opcode: "attachFile", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("attach file url [URL]"), - arguments: { - URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" }, - }, - }, + { opcode: "simplePrompt", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, + { opcode: "setCostumeFromPrompt", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image from prompt [TEXT] as SVG costume named [NAME]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "racecar" }, NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "costume2" } } }, + { opcode: "getImageUrl", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("get url for image prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a racecar" } } }, + { opcode: "attachFile", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("attach file url [URL]"), arguments: { URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" } } }, "---", - { - opcode: "setSystem", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set system log [LOG]"), - arguments: { - LOG: { - type: Scratch.ArgumentType.STRING, - defaultValue: "You are a helpful assistant.", - }, - }, - }, - { - opcode: "setContextText", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("set context [CTX] and prompt [TEXT]"), - arguments: { - CTX: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Persona", - }, - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Hello!", - }, - }, - }, + { opcode: "setSystem", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set system log [LOG]"), arguments: { LOG: { type: Scratch.ArgumentType.STRING, defaultValue: "You are a helpful assistant." } } }, + { opcode: "setContextText", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("set context [CTX] and prompt [TEXT]"), arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Persona" }, TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, "---", - { - opcode: "setTemp", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set temperature [N]"), - arguments: { - N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 }, - }, - }, - { - opcode: "setSeed", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set seed [N]"), - arguments: { - N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 }, - }, - }, - { - opcode: "getSeed", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("seed"), - }, - { - opcode: "getTemp", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("temperature"), - }, + { opcode: "setTemp", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set temperature [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 } } }, + { opcode: "setSeed", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set seed [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 } } }, + { opcode: "getSeed", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("seed") }, + { opcode: "getTemp", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("temperature") }, ], menus: { - textMenu: { - acceptReporters: true, - items: [ - "openai", - "mistral", - "gemini", - "deepseek-r1", - "p1", - "llama", - ], - }, - imageMenu: { - acceptReporters: true, - items: [ - "turbo", - "flux-pro", - "flux-realism", - "flux-anime", - "flux-3d", - "flux", - "any", - ], - }, - fileMenu: { - acceptReporters: true, - items: ["json", "text", "markdown", "csv", "html"], - }, + textMenu: { acceptReporters: true, items: ["openai", "mistral", "gemini", "deepseek-r1", "p1", "llama"] }, + imageMenu: { acceptReporters: true, items: ["turbo", "flux-pro", "flux-realism", "flux-anime", "flux-3d", "flux", "any"] }, + fileMenu: { acceptReporters: true, items: ["json", "text", "markdown", "csv", "html"] } }, }; } - isReady() { - return true; - } - isThinking() { - return this.isFetching; - } - getCurrentModel() { - return `T:${this.textModel} | I:${this.imageModel}`; - } - getBotName() { - return Object.keys(this.bots)[0] || "None"; - } - getMemory() { - return JSON.stringify(this.bots); - } - getSeed() { - return this.seed; - } - getTemp() { - return this.temp; - } - getGenHeight() { - return this.genHeight; - } - getGenWidth() { - return this.genWidth; - } + isReady() { return true; } + isThinking() { return this.isFetching; } + getCurrentModel() { return `T:${this.textModel} | I:${this.imageModel}`; } + getBotName() { return Object.keys(this.bots)[0] || "None"; } + getMemory() { return JSON.stringify(this.bots); } + getSeed() { return this.seed; } + getTemp() { return this.temp; } + getGenHeight() { return this.genHeight; } + getGenWidth() { return this.genWidth; } + createBot({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; } - createBot({ NAME }) { - if (!this.bots[NAME]) this.bots[NAME] = []; - } - deleteBot({ NAME }) { - delete this.bots[NAME]; - } - setTextModel({ MOD }) { - this.textModel = MOD; - } - setImageModel({ MOD }) { - this.imageModel = MOD; - } - setTemp({ N }) { - this.temp = N; - } - setSeed({ N }) { - this.seed = N; - } - setSystem({ LOG }) { - this.systemLog = LOG; - } - attachFile({ URL }) { - this.attachedFile = URL; - } - setImageSize({ H, W }) { - this.genHeight = H; - this.genWidth = W; + renameBot({ NAME1, NAME2 }) { + if (this.bots[NAME1] && !this.bots[NAME2]) { + this.bots[NAME2] = this.bots[NAME1]; + delete this.bots[NAME1]; + } } + deleteBot({ NAME }) { delete this.bots[NAME]; } + setTextModel({ MOD }) { this.textModel = MOD; } + setImageModel({ MOD }) { this.imageModel = MOD; } + setTemp({ N }) { this.temp = N; } + setSeed({ N }) { this.seed = N; } + setSystem({ LOG }) { this.systemLog = LOG; } + attachFile({ URL }) { this.attachedFile = URL; } + setImageSize({ H, W }) { this.genHeight = H; this.genWidth = W; } + importChat({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; const input = document.createElement("input"); @@ -362,9 +135,7 @@ try { const data = JSON.parse(event.target.result); if (Array.isArray(data)) this.bots[NAME] = data; - } catch (err) { - console.error("Import failed"); - } + } catch (err) { console.error("Import failed"); } }; reader.readAsText(file); }; @@ -377,30 +148,11 @@ let content = ""; let mimeType = "text/plain"; let extension = "txt"; - if (TYPE === "json") { - content = JSON.stringify(history, null, 2); - mimeType = "application/json"; - extension = "json"; - } else if (TYPE === "text") - content = history.map((h) => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); - else if (TYPE === "markdown") { - content = history - .map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`) - .join("\n\n---\n\n"); - extension = "md"; - } else if (TYPE === "csv") { - content = - "Question,Answer\n" + - history - .map( - (h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"` - ) - .join("\n"); - extension = "csv"; - } else if (TYPE === "html") { - content = `${history.map((h) => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; - extension = "html"; - } + if (TYPE === "json") { content = JSON.stringify(history, null, 2); mimeType = "application/json"; extension = "json"; } + else if (TYPE === "text") content = history.map(h => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); + else if (TYPE === "markdown") { content = history.map(h => `### User\n${h.q}\n\n### Bot\n${h.a}`).join("\n\n---\n\n"); extension = "md"; } + else if (TYPE === "csv") { content = "Question,Answer\n" + history.map(h => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"`).join("\n"); extension = "csv"; } + else if (TYPE === "html") { content = `${history.map(h => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; extension = "html"; } const blob = new Blob([content], { type: mimeType }); const url = URL.createObjectURL(blob); const a = document.createElement("a"); @@ -411,34 +163,18 @@ } async setCostumeFromPrompt(args, util) { - const url = this.getImageUrl({ TEXT: args.TEXT }); + const imageUrl = this.getImageUrl({ TEXT: args.TEXT }); this.isFetching = true; try { - const response = await Scratch.fetch(url); - const arrayBuffer = await response.arrayBuffer(); + + const svgContent = ``; const storage = util.runtime.storage; - const asset = storage.createAsset( - storage.AssetType.ImageBitmap, - storage.DataFormat.JPG, - new Uint8Array(arrayBuffer), - null, - true - ); - const costume = { - name: args.NAME, - asset: asset, - md5: asset.assetId + ".jpg", - assetId: asset.assetId, - dataFormat: "jpg", - rotationCenterX: 0, - rotationCenterY: 0, - }; + const asset = storage.createAsset(storage.AssetType.ImageVector, storage.DataFormat.SVG, new TextEncoder().encode(svgContent), null, true); + const costume = { name: args.NAME, asset: asset, md5: asset.assetId + ".svg", assetId: asset.assetId, dataFormat: "svg", rotationCenterX: this.genWidth / 2, rotationCenterY: this.genHeight / 2 }; util.target.addCostume(costume); util.target.setCostume(util.target.getCostumeIndexByName(args.NAME)); this.isFetching = false; - } catch (e) { - this.isFetching = false; - } + } catch (e) { this.isFetching = false; } } async simplePrompt({ TEXT }) { @@ -446,31 +182,25 @@ try { const fullSystem = this.systemLog + this.safetyGuard; const url = `https://text.pollinations.ai/${encodeURIComponent(TEXT)}?model=${this.textModel}&system=${encodeURIComponent(fullSystem)}&seed=${this.seed}&temperature=${this.temp}`; + const r = await Scratch.fetch(url); const res = await r.text(); this.isFetching = false; const botNames = Object.keys(this.bots); - if (botNames.length > 0) - this.bots[botNames[0]].push({ q: TEXT, a: res }); + if (botNames.length > 0) this.bots[botNames[0]].push({ q: TEXT, a: res }); return res; - } catch (e) { - this.isFetching = false; - return "Error"; - } + } catch (e) { this.isFetching = false; return "Error"; } } - async setContextText({ CTX, TEXT }) { - return await this.simplePrompt({ TEXT: `[Context: ${CTX}] ${TEXT}` }); - } + async setContextText({ CTX, TEXT }) { return await this.simplePrompt({ TEXT: `[Context: ${CTX}] ${TEXT}` }); } getImageUrl({ TEXT }) { let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(TEXT)}?model=${this.imageModel}&seed=${this.seed}&width=${this.genWidth}&height=${this.genHeight}&nologo=true`; - if (this.attachedFile) - url += `&feed=${encodeURIComponent(this.attachedFile)}`; + if (this.attachedFile) url += `&feed=${encodeURIComponent(this.attachedFile)}`; return url; } } Scratch.extensions.register(new TurboBot()); })(Scratch); -//ok I think its all, but who knows maybe more right pal ;) +// ok I think its all, but who knows maybe more right pal ;) From 662e6759d1c80046c59ad5525a28169280c042b8 Mon Sep 17 00:00:00 2001 From: "DangoCat[bot]" Date: Sat, 10 Jan 2026 11:58:29 +0000 Subject: [PATCH 46/93] [Automated] Format code --- extensions/Seigh-sword/turbobot.js | 448 ++++++++++++++++++++++++----- 1 file changed, 375 insertions(+), 73 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 206f0ac750..f1231b8877 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -9,15 +9,15 @@ (function (Scratch) { "use strict"; -/** - * _______ __ __ .______ .______ ______ .______ ______ .___________. - * | || | | | | _ \ | _ \ / __ \ | _ \ / __ \ | | - * `---. .-'| | | | | |_) | | |_) | | | | | | |_) | | | | | `---| |----` - * | | | | | | | / | _ < | | | | | _ < | | | | | | - * | | | `--' | | |\ \----| |_) | | `--' | | |_) | | `--' | | | - * |__| \______/ | _| `._____|______/ \______/ |______/ \______/ |__| - * - */ + /** + * _______ __ __ .______ .______ ______ .______ ______ .___________. + * | || | | | | _ \ | _ \ / __ \ | _ \ / __ \ | | + * `---. .-'| | | | | |_) | | |_) | | | | | | |_) | | | | | `---| |----` + * | | | | | | | / | _ < | | | | | _ < | | | | | | + * | | | `--' | | |\ \----| |_) | | `--' | | |_) | | `--' | | | + * |__| \______/ | _| `._____|______/ \______/ |______/ \______/ |__| + * + */ if (!Scratch.extensions.unsandboxed) { throw new Error( @@ -25,13 +25,13 @@ ); } - const icon = "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; + const icon = + "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; const blockColor = "#FF4C4C"; const menuColor = "#B00000"; class TurboBot { constructor() { - this.bots = {}; this.textModel = "openai"; this.imageModel = "turbo"; @@ -43,69 +43,311 @@ this.genWidth = 1024; this.genHeight = 1024; - this.safetyGuard = " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; + this.safetyGuard = + " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; } getInfo() { return { id: "TurboBotEngine", name: Scratch.translate("Turbo Bot"), - docsURI: "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", + docsURI: + "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", menuIconURI: icon, blockIconURI: icon, color1: blockColor, color2: menuColor, blocks: [ - { opcode: "isReady", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("AI ready?") }, - { opcode: "isThinking", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("is bot thinking?") }, - { opcode: "getCurrentModel", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("model?") }, - { opcode: "getBotName", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("bot?") }, - { opcode: "getMemory", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("memory") }, + { + opcode: "isReady", + blockType: Scratch.BlockType.BOOLEAN, + text: Scratch.translate("AI ready?"), + }, + { + opcode: "isThinking", + blockType: Scratch.BlockType.BOOLEAN, + text: Scratch.translate("is bot thinking?"), + }, + { + opcode: "getCurrentModel", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("model?"), + }, + { + opcode: "getBotName", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("bot?"), + }, + { + opcode: "getMemory", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("memory"), + }, "---", - { opcode: "createBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("create bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, - { opcode: "renameBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("rename [NAME1] to [NAME2]"), arguments: { NAME1: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, NAME2: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboPal" } } }, - { opcode: "deleteBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("delete bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, - { opcode: "exportChat", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("export conversation of [NAME] as [TYPE]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" } } }, - { opcode: "importChat", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("import conversation from file to bot [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, + { + opcode: "createBot", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("create bot named [NAME]"), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, + { + opcode: "renameBot", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("rename [NAME1] to [NAME2]"), + arguments: { + NAME1: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + NAME2: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboPal", + }, + }, + }, + { + opcode: "deleteBot", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("delete bot named [NAME]"), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, + { + opcode: "exportChat", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("export conversation of [NAME] as [TYPE]"), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" }, + }, + }, + { + opcode: "importChat", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate( + "import conversation from file to bot [NAME]" + ), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, "---", - { opcode: "setTextModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set text model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" } } }, - { opcode: "setImageModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" } } }, + { + opcode: "setTextModel", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set text model [MOD]"), + arguments: { + MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" }, + }, + }, + { + opcode: "setImageModel", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set image model [MOD]"), + arguments: { + MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" }, + }, + }, "---", - { opcode: "setImageSize", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image gen height [H] and width [W]"), arguments: { H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 } } }, - { opcode: "getGenHeight", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen height") }, - { opcode: "getGenWidth", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen width") }, + { + opcode: "setImageSize", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set image gen height [H] and width [W]"), + arguments: { + H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, + W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, + }, + }, + { + opcode: "getGenHeight", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("image gen height"), + }, + { + opcode: "getGenWidth", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("image gen width"), + }, "---", - { opcode: "simplePrompt", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, - { opcode: "setCostumeFromPrompt", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image from prompt [TEXT] as SVG costume named [NAME]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "racecar" }, NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "costume2" } } }, - { opcode: "getImageUrl", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("get url for image prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a racecar" } } }, - { opcode: "attachFile", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("attach file url [URL]"), arguments: { URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" } } }, + { + opcode: "simplePrompt", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("prompt [TEXT]"), + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Hello!", + }, + }, + }, + { + opcode: "setCostumeFromPrompt", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate( + "set image from prompt [TEXT] as SVG costume named [NAME]" + ), + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "racecar", + }, + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "costume2", + }, + }, + }, + { + opcode: "getImageUrl", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("get url for image prompt [TEXT]"), + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "a racecar", + }, + }, + }, + { + opcode: "attachFile", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("attach file url [URL]"), + arguments: { + URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" }, + }, + }, "---", - { opcode: "setSystem", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set system log [LOG]"), arguments: { LOG: { type: Scratch.ArgumentType.STRING, defaultValue: "You are a helpful assistant." } } }, - { opcode: "setContextText", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("set context [CTX] and prompt [TEXT]"), arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Persona" }, TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, + { + opcode: "setSystem", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set system log [LOG]"), + arguments: { + LOG: { + type: Scratch.ArgumentType.STRING, + defaultValue: "You are a helpful assistant.", + }, + }, + }, + { + opcode: "setContextText", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("set context [CTX] and prompt [TEXT]"), + arguments: { + CTX: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Persona", + }, + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Hello!", + }, + }, + }, "---", - { opcode: "setTemp", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set temperature [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 } } }, - { opcode: "setSeed", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set seed [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 } } }, - { opcode: "getSeed", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("seed") }, - { opcode: "getTemp", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("temperature") }, + { + opcode: "setTemp", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set temperature [N]"), + arguments: { + N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 }, + }, + }, + { + opcode: "setSeed", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set seed [N]"), + arguments: { + N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 }, + }, + }, + { + opcode: "getSeed", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("seed"), + }, + { + opcode: "getTemp", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("temperature"), + }, ], menus: { - textMenu: { acceptReporters: true, items: ["openai", "mistral", "gemini", "deepseek-r1", "p1", "llama"] }, - imageMenu: { acceptReporters: true, items: ["turbo", "flux-pro", "flux-realism", "flux-anime", "flux-3d", "flux", "any"] }, - fileMenu: { acceptReporters: true, items: ["json", "text", "markdown", "csv", "html"] } + textMenu: { + acceptReporters: true, + items: [ + "openai", + "mistral", + "gemini", + "deepseek-r1", + "p1", + "llama", + ], + }, + imageMenu: { + acceptReporters: true, + items: [ + "turbo", + "flux-pro", + "flux-realism", + "flux-anime", + "flux-3d", + "flux", + "any", + ], + }, + fileMenu: { + acceptReporters: true, + items: ["json", "text", "markdown", "csv", "html"], + }, }, }; } - isReady() { return true; } - isThinking() { return this.isFetching; } - getCurrentModel() { return `T:${this.textModel} | I:${this.imageModel}`; } - getBotName() { return Object.keys(this.bots)[0] || "None"; } - getMemory() { return JSON.stringify(this.bots); } - getSeed() { return this.seed; } - getTemp() { return this.temp; } - getGenHeight() { return this.genHeight; } - getGenWidth() { return this.genWidth; } - createBot({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; } + isReady() { + return true; + } + isThinking() { + return this.isFetching; + } + getCurrentModel() { + return `T:${this.textModel} | I:${this.imageModel}`; + } + getBotName() { + return Object.keys(this.bots)[0] || "None"; + } + getMemory() { + return JSON.stringify(this.bots); + } + getSeed() { + return this.seed; + } + getTemp() { + return this.temp; + } + getGenHeight() { + return this.genHeight; + } + getGenWidth() { + return this.genWidth; + } + createBot({ NAME }) { + if (!this.bots[NAME]) this.bots[NAME] = []; + } renameBot({ NAME1, NAME2 }) { if (this.bots[NAME1] && !this.bots[NAME2]) { @@ -114,14 +356,31 @@ } } - deleteBot({ NAME }) { delete this.bots[NAME]; } - setTextModel({ MOD }) { this.textModel = MOD; } - setImageModel({ MOD }) { this.imageModel = MOD; } - setTemp({ N }) { this.temp = N; } - setSeed({ N }) { this.seed = N; } - setSystem({ LOG }) { this.systemLog = LOG; } - attachFile({ URL }) { this.attachedFile = URL; } - setImageSize({ H, W }) { this.genHeight = H; this.genWidth = W; } + deleteBot({ NAME }) { + delete this.bots[NAME]; + } + setTextModel({ MOD }) { + this.textModel = MOD; + } + setImageModel({ MOD }) { + this.imageModel = MOD; + } + setTemp({ N }) { + this.temp = N; + } + setSeed({ N }) { + this.seed = N; + } + setSystem({ LOG }) { + this.systemLog = LOG; + } + attachFile({ URL }) { + this.attachedFile = URL; + } + setImageSize({ H, W }) { + this.genHeight = H; + this.genWidth = W; + } importChat({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; @@ -135,7 +394,9 @@ try { const data = JSON.parse(event.target.result); if (Array.isArray(data)) this.bots[NAME] = data; - } catch (err) { console.error("Import failed"); } + } catch (err) { + console.error("Import failed"); + } }; reader.readAsText(file); }; @@ -148,11 +409,30 @@ let content = ""; let mimeType = "text/plain"; let extension = "txt"; - if (TYPE === "json") { content = JSON.stringify(history, null, 2); mimeType = "application/json"; extension = "json"; } - else if (TYPE === "text") content = history.map(h => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); - else if (TYPE === "markdown") { content = history.map(h => `### User\n${h.q}\n\n### Bot\n${h.a}`).join("\n\n---\n\n"); extension = "md"; } - else if (TYPE === "csv") { content = "Question,Answer\n" + history.map(h => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"`).join("\n"); extension = "csv"; } - else if (TYPE === "html") { content = `${history.map(h => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; extension = "html"; } + if (TYPE === "json") { + content = JSON.stringify(history, null, 2); + mimeType = "application/json"; + extension = "json"; + } else if (TYPE === "text") + content = history.map((h) => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); + else if (TYPE === "markdown") { + content = history + .map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`) + .join("\n\n---\n\n"); + extension = "md"; + } else if (TYPE === "csv") { + content = + "Question,Answer\n" + + history + .map( + (h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"` + ) + .join("\n"); + extension = "csv"; + } else if (TYPE === "html") { + content = `${history.map((h) => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; + extension = "html"; + } const blob = new Blob([content], { type: mimeType }); const url = URL.createObjectURL(blob); const a = document.createElement("a"); @@ -166,15 +446,30 @@ const imageUrl = this.getImageUrl({ TEXT: args.TEXT }); this.isFetching = true; try { - const svgContent = ``; const storage = util.runtime.storage; - const asset = storage.createAsset(storage.AssetType.ImageVector, storage.DataFormat.SVG, new TextEncoder().encode(svgContent), null, true); - const costume = { name: args.NAME, asset: asset, md5: asset.assetId + ".svg", assetId: asset.assetId, dataFormat: "svg", rotationCenterX: this.genWidth / 2, rotationCenterY: this.genHeight / 2 }; + const asset = storage.createAsset( + storage.AssetType.ImageVector, + storage.DataFormat.SVG, + new TextEncoder().encode(svgContent), + null, + true + ); + const costume = { + name: args.NAME, + asset: asset, + md5: asset.assetId + ".svg", + assetId: asset.assetId, + dataFormat: "svg", + rotationCenterX: this.genWidth / 2, + rotationCenterY: this.genHeight / 2, + }; util.target.addCostume(costume); util.target.setCostume(util.target.getCostumeIndexByName(args.NAME)); this.isFetching = false; - } catch (e) { this.isFetching = false; } + } catch (e) { + this.isFetching = false; + } } async simplePrompt({ TEXT }) { @@ -187,16 +482,23 @@ const res = await r.text(); this.isFetching = false; const botNames = Object.keys(this.bots); - if (botNames.length > 0) this.bots[botNames[0]].push({ q: TEXT, a: res }); + if (botNames.length > 0) + this.bots[botNames[0]].push({ q: TEXT, a: res }); return res; - } catch (e) { this.isFetching = false; return "Error"; } + } catch (e) { + this.isFetching = false; + return "Error"; + } } - async setContextText({ CTX, TEXT }) { return await this.simplePrompt({ TEXT: `[Context: ${CTX}] ${TEXT}` }); } + async setContextText({ CTX, TEXT }) { + return await this.simplePrompt({ TEXT: `[Context: ${CTX}] ${TEXT}` }); + } getImageUrl({ TEXT }) { let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(TEXT)}?model=${this.imageModel}&seed=${this.seed}&width=${this.genWidth}&height=${this.genHeight}&nologo=true`; - if (this.attachedFile) url += `&feed=${encodeURIComponent(this.attachedFile)}`; + if (this.attachedFile) + url += `&feed=${encodeURIComponent(this.attachedFile)}`; return url; } } From 539c5157884a1663a9132bd660c5d0d16a04ed01 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 17:30:20 +0530 Subject: [PATCH 47/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index f1231b8877..f6b9f102c8 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -9,6 +9,12 @@ (function (Scratch) { "use strict"; + if (!Scratch.extensions.unsandboxed) { + throw new Error( + "Turbo Bot must run unsandboxed for the set costume block to work, so please make it run unsandboxed." + ); + } + /** * _______ __ __ .______ .______ ______ .______ ______ .___________. * | || | | | | _ \ | _ \ / __ \ | _ \ / __ \ | | @@ -19,12 +25,6 @@ * */ - if (!Scratch.extensions.unsandboxed) { - throw new Error( - "Turbo Bot must run unsandboxed for the set costume block to work, so please make it run unsandboxed." - ); - } - const icon = "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; const blockColor = "#FF4C4C"; From ef33e623cd35bd8e323997bd497502c447be350a Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 17:32:14 +0530 Subject: [PATCH 48/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index f6b9f102c8..9999eeed6f 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -15,7 +15,12 @@ ); } - /** + const icon = + "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; + const blockColor = "#FF4C4C"; + const menuColor = "#B00000"; + + /** * _______ __ __ .______ .______ ______ .______ ______ .___________. * | || | | | | _ \ | _ \ / __ \ | _ \ / __ \ | | * `---. .-'| | | | | |_) | | |_) | | | | | | |_) | | | | | `---| |----` @@ -25,11 +30,6 @@ * */ - const icon = - "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; - const blockColor = "#FF4C4C"; - const menuColor = "#B00000"; - class TurboBot { constructor() { this.bots = {}; From 4f041e167e276b6e85ced1f4913964995a320c17 Mon Sep 17 00:00:00 2001 From: "DangoCat[bot]" Date: Sat, 10 Jan 2026 12:03:29 +0000 Subject: [PATCH 49/93] [Automated] Format code --- extensions/Seigh-sword/turbobot.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 9999eeed6f..98d64a8930 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -20,7 +20,7 @@ const blockColor = "#FF4C4C"; const menuColor = "#B00000"; - /** + /** * _______ __ __ .______ .______ ______ .______ ______ .___________. * | || | | | | _ \ | _ \ / __ \ | _ \ / __ \ | | * `---. .-'| | | | | |_) | | |_) | | | | | | |_) | | | | | `---| |----` From debe0df08e086ee320b934812a511f6216f541d3 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 17:43:50 +0530 Subject: [PATCH 50/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 418 ++++++----------------------- 1 file changed, 82 insertions(+), 336 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 98d64a8930..460792cee6 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -1,7 +1,17 @@ +/* +    _________  ___  ___  ________  ________  ________  ________  ________  _________        ________  ___      +    |\___   ___\\  \|\  \|\   __  \|\   __  \|\   __  \|\   __  \|\   __  \|\___   ___\     |\   __  \|\  \     +    \|___ \  \_\ \  \\\  \ \  \|\  \ \  \|\ /\ \  \|\  \ \  \|\ /\ \  \|\  \|___ \  \_|     \ \  \|\  \ \  \    +         \ \  \ \ \  \\\  \ \   _  _\ \   __  \ \  \\\  \ \   __  \ \  \\\  \   \ \  \       \ \   __  \ \  \   +          \ \  \ \ \  \\\  \ \  \\  \\ \  \|\  \ \  \\\  \ \  \|\  \ \  \\\  \   \ \  \       \ \  \ \  \ \  \  +           \ \__\ \ \_______\ \__\\ _\\ \_______\ \_______\ \_______\ \_______\   \ \__\       \ \__\ \__\ \__\ +            \|__|  \|_______|\|__|\|__|\|_______|\|_______|\|_______|\|_______|    \|__|        \|__|\|__|\|__| +*/ + // Name: Turbo Bot // ID: TurboBotEngine // Description: Advanced AI text and image generation with bot memory. -// By: Seigh_sword , https://www.youtube.com/@Seigh_sword and https://github.com/Seigh-sword/ +// By: Seigh_sword // License: MPL-2.0 // @turbowarp-extension // @unsandboxed @@ -9,29 +19,20 @@ (function (Scratch) { "use strict"; + if (!Scratch.extensions.unsandboxed) { throw new Error( "Turbo Bot must run unsandboxed for the set costume block to work, so please make it run unsandboxed." ); } - const icon = - "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; + const icon = "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; const blockColor = "#FF4C4C"; const menuColor = "#B00000"; - /** - * _______ __ __ .______ .______ ______ .______ ______ .___________. - * | || | | | | _ \ | _ \ / __ \ | _ \ / __ \ | | - * `---. .-'| | | | | |_) | | |_) | | | | | | |_) | | | | | `---| |----` - * | | | | | | | / | _ < | | | | | _ < | | | | | | - * | | | `--' | | |\ \----| |_) | | `--' | | |_) | | `--' | | | - * |__| \______/ | _| `._____|______/ \______/ |______/ \______/ |__| - * - */ - class TurboBot { constructor() { + this.bots = {}; this.textModel = "openai"; this.imageModel = "turbo"; @@ -43,311 +44,71 @@ this.genWidth = 1024; this.genHeight = 1024; - this.safetyGuard = - " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; + + this.safetyGuard = " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; } getInfo() { return { id: "TurboBotEngine", name: Scratch.translate("Turbo Bot"), - docsURI: - "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", + docsURI: "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", menuIconURI: icon, blockIconURI: icon, color1: blockColor, color2: menuColor, blocks: [ - { - opcode: "isReady", - blockType: Scratch.BlockType.BOOLEAN, - text: Scratch.translate("AI ready?"), - }, - { - opcode: "isThinking", - blockType: Scratch.BlockType.BOOLEAN, - text: Scratch.translate("is bot thinking?"), - }, - { - opcode: "getCurrentModel", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("model?"), - }, - { - opcode: "getBotName", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("bot?"), - }, - { - opcode: "getMemory", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("memory"), - }, + { opcode: "isReady", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("AI ready?") }, + { opcode: "isThinking", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("is bot thinking?") }, + { opcode: "getCurrentModel", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("model?") }, + { opcode: "getBotName", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("bot?") }, + { opcode: "getMemory", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("memory") }, "---", - { - opcode: "createBot", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("create bot named [NAME]"), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, - }, - { - opcode: "renameBot", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("rename [NAME1] to [NAME2]"), - arguments: { - NAME1: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - NAME2: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboPal", - }, - }, - }, - { - opcode: "deleteBot", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("delete bot named [NAME]"), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, - }, - { - opcode: "exportChat", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("export conversation of [NAME] as [TYPE]"), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" }, - }, - }, - { - opcode: "importChat", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate( - "import conversation from file to bot [NAME]" - ), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, - }, + { opcode: "createBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("create bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, + { opcode: "renameBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("rename [NAME1] to [NAME2]"), arguments: { NAME1: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, NAME2: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboPal" } } }, + { opcode: "deleteBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("delete bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, + { opcode: "exportChat", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("export conversation of [NAME] as [TYPE]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" } } }, + { opcode: "importChat", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("import conversation from file to bot [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, "---", - { - opcode: "setTextModel", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set text model [MOD]"), - arguments: { - MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" }, - }, - }, - { - opcode: "setImageModel", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set image model [MOD]"), - arguments: { - MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" }, - }, - }, + { opcode: "setTextModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set text model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" } } }, + { opcode: "setImageModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" } } }, "---", - { - opcode: "setImageSize", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set image gen height [H] and width [W]"), - arguments: { - H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, - W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, - }, - }, - { - opcode: "getGenHeight", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("image gen height"), - }, - { - opcode: "getGenWidth", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("image gen width"), - }, + { opcode: "setImageSize", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image gen height [H] and width [W]"), arguments: { H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 } } }, + { opcode: "getGenHeight", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen height") }, + { opcode: "getGenWidth", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen width") }, "---", - { - opcode: "simplePrompt", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("prompt [TEXT]"), - arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Hello!", - }, - }, - }, - { - opcode: "setCostumeFromPrompt", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate( - "set image from prompt [TEXT] as SVG costume named [NAME]" - ), - arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "racecar", - }, - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "costume2", - }, - }, - }, - { - opcode: "getImageUrl", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("get url for image prompt [TEXT]"), - arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "a racecar", - }, - }, - }, - { - opcode: "attachFile", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("attach file url [URL]"), - arguments: { - URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" }, - }, - }, + { opcode: "simplePrompt", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, + { opcode: "setCostumeFromPrompt", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image from prompt [TEXT] as SVG costume named [NAME]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "racecar" }, NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "costume2" } } }, + { opcode: "getImageUrl", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("get url for image prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a racecar" } } }, + { opcode: "attachFile", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("attach file url [URL]"), arguments: { URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" } } }, "---", - { - opcode: "setSystem", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set system log [LOG]"), - arguments: { - LOG: { - type: Scratch.ArgumentType.STRING, - defaultValue: "You are a helpful assistant.", - }, - }, - }, - { - opcode: "setContextText", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("set context [CTX] and prompt [TEXT]"), - arguments: { - CTX: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Persona", - }, - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Hello!", - }, - }, - }, + { opcode: "setSystem", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set system log [LOG]"), arguments: { LOG: { type: Scratch.ArgumentType.STRING, defaultValue: "You are a helpful assistant." } } }, + { opcode: "setContextText", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("set context [CTX] and prompt [TEXT]"), arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Persona" }, TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, "---", - { - opcode: "setTemp", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set temperature [N]"), - arguments: { - N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 }, - }, - }, - { - opcode: "setSeed", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set seed [N]"), - arguments: { - N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 }, - }, - }, - { - opcode: "getSeed", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("seed"), - }, - { - opcode: "getTemp", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("temperature"), - }, + { opcode: "setTemp", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set temperature [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 } } }, + { opcode: "setSeed", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set seed [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 } } }, + { opcode: "getSeed", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("seed") }, + { opcode: "getTemp", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("temperature") }, ], menus: { - textMenu: { - acceptReporters: true, - items: [ - "openai", - "mistral", - "gemini", - "deepseek-r1", - "p1", - "llama", - ], - }, - imageMenu: { - acceptReporters: true, - items: [ - "turbo", - "flux-pro", - "flux-realism", - "flux-anime", - "flux-3d", - "flux", - "any", - ], - }, - fileMenu: { - acceptReporters: true, - items: ["json", "text", "markdown", "csv", "html"], - }, + textMenu: { acceptReporters: true, items: ["openai", "mistral", "gemini", "deepseek-r1", "p1", "llama"] }, + imageMenu: { acceptReporters: true, items: ["turbo", "flux-pro", "flux-realism", "flux-anime", "flux-3d", "flux", "any"] }, + fileMenu: { acceptReporters: true, items: ["json", "text", "markdown", "csv", "html"] } }, }; } - isReady() { - return true; - } - isThinking() { - return this.isFetching; - } - getCurrentModel() { - return `T:${this.textModel} | I:${this.imageModel}`; - } - getBotName() { - return Object.keys(this.bots)[0] || "None"; - } - getMemory() { - return JSON.stringify(this.bots); - } - getSeed() { - return this.seed; - } - getTemp() { - return this.temp; - } - getGenHeight() { - return this.genHeight; - } - getGenWidth() { - return this.genWidth; - } - createBot({ NAME }) { - if (!this.bots[NAME]) this.bots[NAME] = []; - } + isReady() { return true; } + isThinking() { return this.isFetching; } + getCurrentModel() { return `T:${this.textModel} | I:${this.imageModel}`; } + getBotName() { return Object.keys(this.bots)[0] || "None"; } + getMemory() { return JSON.stringify(this.bots); } + getSeed() { return this.seed; } + getTemp() { return this.temp; } + getGenHeight() { return this.genHeight; } + getGenWidth() { return this.genWidth; } + + createBot({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; } renameBot({ NAME1, NAME2 }) { if (this.bots[NAME1] && !this.bots[NAME2]) { @@ -356,31 +117,17 @@ } } - deleteBot({ NAME }) { - delete this.bots[NAME]; - } - setTextModel({ MOD }) { - this.textModel = MOD; - } - setImageModel({ MOD }) { - this.imageModel = MOD; - } - setTemp({ N }) { - this.temp = N; - } - setSeed({ N }) { - this.seed = N; - } - setSystem({ LOG }) { - this.systemLog = LOG; - } - attachFile({ URL }) { - this.attachedFile = URL; - } - setImageSize({ H, W }) { - this.genHeight = H; - this.genWidth = W; - } + deleteBot({ NAME }) { delete this.bots[NAME]; } + + + setTextModel({ MOD }) { this.textModel = MOD; } + setImageModel({ MOD }) { this.imageModel = MOD; } + setTemp({ N }) { this.temp = N; } + setSeed({ N }) { this.seed = N; } + setSystem({ LOG }) { this.systemLog = LOG; } + attachFile({ URL }) { this.attachedFile = URL; } + setImageSize({ H, W }) { this.genHeight = H; this.genWidth = W; } + importChat({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; @@ -413,21 +160,13 @@ content = JSON.stringify(history, null, 2); mimeType = "application/json"; extension = "json"; - } else if (TYPE === "text") + } else if (TYPE === "text") { content = history.map((h) => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); - else if (TYPE === "markdown") { - content = history - .map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`) - .join("\n\n---\n\n"); + } else if (TYPE === "markdown") { + content = history.map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`).join("\n\n---\n\n"); extension = "md"; } else if (TYPE === "csv") { - content = - "Question,Answer\n" + - history - .map( - (h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"` - ) - .join("\n"); + content = "Question,Answer\n" + history.map((h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"`).join("\n"); extension = "csv"; } else if (TYPE === "html") { content = `${history.map((h) => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; @@ -442,13 +181,15 @@ URL.revokeObjectURL(url); } + async setCostumeFromPrompt(args, util) { const imageUrl = this.getImageUrl({ TEXT: args.TEXT }); this.isFetching = true; try { const svgContent = ``; const storage = util.runtime.storage; - const asset = storage.createAsset( + + const asset = await storage.createAsset( storage.AssetType.ImageVector, storage.DataFormat.SVG, new TextEncoder().encode(svgContent), @@ -469,9 +210,11 @@ this.isFetching = false; } catch (e) { this.isFetching = false; + console.error("Costume generation error:", e); } } + async simplePrompt({ TEXT }) { this.isFetching = true; try { @@ -482,8 +225,9 @@ const res = await r.text(); this.isFetching = false; const botNames = Object.keys(this.bots); - if (botNames.length > 0) + if (botNames.length > 0) { this.bots[botNames[0]].push({ q: TEXT, a: res }); + } return res; } catch (e) { this.isFetching = false; @@ -495,14 +239,16 @@ return await this.simplePrompt({ TEXT: `[Context: ${CTX}] ${TEXT}` }); } + getImageUrl({ TEXT }) { let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(TEXT)}?model=${this.imageModel}&seed=${this.seed}&width=${this.genWidth}&height=${this.genHeight}&nologo=true`; - if (this.attachedFile) + if (this.attachedFile) { url += `&feed=${encodeURIComponent(this.attachedFile)}`; + } return url; } } Scratch.extensions.register(new TurboBot()); })(Scratch); -// ok I think its all, but who knows maybe more right pal ;) +/* ok I think its all, but who knows maybe more right pal ;) */ From 5468ac57094e3150fd573812d4aad2bb586229b8 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 17:45:32 +0530 Subject: [PATCH 51/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 460792cee6..01ed29d683 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -1,3 +1,11 @@ +// Name: Turbo Bot +// ID: TurboBotEngine +// Description: Advanced AI text and image generation with bot memory. +// By: Seigh_sword +// License: MPL-2.0 +// @turbowarp-extension +// @unsandboxed + /*     _________  ___  ___  ________  ________  ________  ________  ________  _________        ________  ___          |\___   ___\\  \|\  \|\   __  \|\   __  \|\   __  \|\   __  \|\   __  \|\___   ___\     |\   __  \|\  \     @@ -8,14 +16,6 @@             \|__|  \|_______|\|__|\|__|\|_______|\|_______|\|_______|\|_______|    \|__|        \|__|\|__|\|__| */ -// Name: Turbo Bot -// ID: TurboBotEngine -// Description: Advanced AI text and image generation with bot memory. -// By: Seigh_sword -// License: MPL-2.0 -// @turbowarp-extension -// @unsandboxed - (function (Scratch) { "use strict"; From a2c46e96ef2db02f8714ce57ab5b19dfbc8b2bbf Mon Sep 17 00:00:00 2001 From: "DangoCat[bot]" Date: Sat, 10 Jan 2026 12:17:11 +0000 Subject: [PATCH 52/93] [Automated] Format code --- extensions/Seigh-sword/turbobot.js | 378 ++++++++++++++++++++++++----- 1 file changed, 319 insertions(+), 59 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 01ed29d683..1299596d3c 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -19,20 +19,19 @@ (function (Scratch) { "use strict"; - if (!Scratch.extensions.unsandboxed) { throw new Error( "Turbo Bot must run unsandboxed for the set costume block to work, so please make it run unsandboxed." ); } - const icon = "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; + const icon = + "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; const blockColor = "#FF4C4C"; const menuColor = "#B00000"; class TurboBot { constructor() { - this.bots = {}; this.textModel = "openai"; this.imageModel = "turbo"; @@ -44,71 +43,312 @@ this.genWidth = 1024; this.genHeight = 1024; - - this.safetyGuard = " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; + this.safetyGuard = + " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; } getInfo() { return { id: "TurboBotEngine", name: Scratch.translate("Turbo Bot"), - docsURI: "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", + docsURI: + "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", menuIconURI: icon, blockIconURI: icon, color1: blockColor, color2: menuColor, blocks: [ - { opcode: "isReady", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("AI ready?") }, - { opcode: "isThinking", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("is bot thinking?") }, - { opcode: "getCurrentModel", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("model?") }, - { opcode: "getBotName", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("bot?") }, - { opcode: "getMemory", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("memory") }, + { + opcode: "isReady", + blockType: Scratch.BlockType.BOOLEAN, + text: Scratch.translate("AI ready?"), + }, + { + opcode: "isThinking", + blockType: Scratch.BlockType.BOOLEAN, + text: Scratch.translate("is bot thinking?"), + }, + { + opcode: "getCurrentModel", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("model?"), + }, + { + opcode: "getBotName", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("bot?"), + }, + { + opcode: "getMemory", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("memory"), + }, "---", - { opcode: "createBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("create bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, - { opcode: "renameBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("rename [NAME1] to [NAME2]"), arguments: { NAME1: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, NAME2: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboPal" } } }, - { opcode: "deleteBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("delete bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, - { opcode: "exportChat", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("export conversation of [NAME] as [TYPE]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" } } }, - { opcode: "importChat", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("import conversation from file to bot [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, + { + opcode: "createBot", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("create bot named [NAME]"), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, + { + opcode: "renameBot", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("rename [NAME1] to [NAME2]"), + arguments: { + NAME1: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + NAME2: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboPal", + }, + }, + }, + { + opcode: "deleteBot", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("delete bot named [NAME]"), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, + { + opcode: "exportChat", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("export conversation of [NAME] as [TYPE]"), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" }, + }, + }, + { + opcode: "importChat", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate( + "import conversation from file to bot [NAME]" + ), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, "---", - { opcode: "setTextModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set text model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" } } }, - { opcode: "setImageModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" } } }, + { + opcode: "setTextModel", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set text model [MOD]"), + arguments: { + MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" }, + }, + }, + { + opcode: "setImageModel", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set image model [MOD]"), + arguments: { + MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" }, + }, + }, "---", - { opcode: "setImageSize", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image gen height [H] and width [W]"), arguments: { H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 } } }, - { opcode: "getGenHeight", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen height") }, - { opcode: "getGenWidth", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen width") }, + { + opcode: "setImageSize", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set image gen height [H] and width [W]"), + arguments: { + H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, + W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, + }, + }, + { + opcode: "getGenHeight", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("image gen height"), + }, + { + opcode: "getGenWidth", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("image gen width"), + }, "---", - { opcode: "simplePrompt", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, - { opcode: "setCostumeFromPrompt", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image from prompt [TEXT] as SVG costume named [NAME]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "racecar" }, NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "costume2" } } }, - { opcode: "getImageUrl", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("get url for image prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a racecar" } } }, - { opcode: "attachFile", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("attach file url [URL]"), arguments: { URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" } } }, + { + opcode: "simplePrompt", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("prompt [TEXT]"), + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Hello!", + }, + }, + }, + { + opcode: "setCostumeFromPrompt", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate( + "set image from prompt [TEXT] as SVG costume named [NAME]" + ), + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "racecar", + }, + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "costume2", + }, + }, + }, + { + opcode: "getImageUrl", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("get url for image prompt [TEXT]"), + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "a racecar", + }, + }, + }, + { + opcode: "attachFile", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("attach file url [URL]"), + arguments: { + URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" }, + }, + }, "---", - { opcode: "setSystem", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set system log [LOG]"), arguments: { LOG: { type: Scratch.ArgumentType.STRING, defaultValue: "You are a helpful assistant." } } }, - { opcode: "setContextText", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("set context [CTX] and prompt [TEXT]"), arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Persona" }, TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, + { + opcode: "setSystem", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set system log [LOG]"), + arguments: { + LOG: { + type: Scratch.ArgumentType.STRING, + defaultValue: "You are a helpful assistant.", + }, + }, + }, + { + opcode: "setContextText", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("set context [CTX] and prompt [TEXT]"), + arguments: { + CTX: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Persona", + }, + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Hello!", + }, + }, + }, "---", - { opcode: "setTemp", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set temperature [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 } } }, - { opcode: "setSeed", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set seed [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 } } }, - { opcode: "getSeed", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("seed") }, - { opcode: "getTemp", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("temperature") }, + { + opcode: "setTemp", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set temperature [N]"), + arguments: { + N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 }, + }, + }, + { + opcode: "setSeed", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set seed [N]"), + arguments: { + N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 }, + }, + }, + { + opcode: "getSeed", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("seed"), + }, + { + opcode: "getTemp", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("temperature"), + }, ], menus: { - textMenu: { acceptReporters: true, items: ["openai", "mistral", "gemini", "deepseek-r1", "p1", "llama"] }, - imageMenu: { acceptReporters: true, items: ["turbo", "flux-pro", "flux-realism", "flux-anime", "flux-3d", "flux", "any"] }, - fileMenu: { acceptReporters: true, items: ["json", "text", "markdown", "csv", "html"] } + textMenu: { + acceptReporters: true, + items: [ + "openai", + "mistral", + "gemini", + "deepseek-r1", + "p1", + "llama", + ], + }, + imageMenu: { + acceptReporters: true, + items: [ + "turbo", + "flux-pro", + "flux-realism", + "flux-anime", + "flux-3d", + "flux", + "any", + ], + }, + fileMenu: { + acceptReporters: true, + items: ["json", "text", "markdown", "csv", "html"], + }, }, }; } - isReady() { return true; } - isThinking() { return this.isFetching; } - getCurrentModel() { return `T:${this.textModel} | I:${this.imageModel}`; } - getBotName() { return Object.keys(this.bots)[0] || "None"; } - getMemory() { return JSON.stringify(this.bots); } - getSeed() { return this.seed; } - getTemp() { return this.temp; } - getGenHeight() { return this.genHeight; } - getGenWidth() { return this.genWidth; } + isReady() { + return true; + } + isThinking() { + return this.isFetching; + } + getCurrentModel() { + return `T:${this.textModel} | I:${this.imageModel}`; + } + getBotName() { + return Object.keys(this.bots)[0] || "None"; + } + getMemory() { + return JSON.stringify(this.bots); + } + getSeed() { + return this.seed; + } + getTemp() { + return this.temp; + } + getGenHeight() { + return this.genHeight; + } + getGenWidth() { + return this.genWidth; + } - createBot({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; } + createBot({ NAME }) { + if (!this.bots[NAME]) this.bots[NAME] = []; + } renameBot({ NAME1, NAME2 }) { if (this.bots[NAME1] && !this.bots[NAME2]) { @@ -117,17 +357,32 @@ } } - deleteBot({ NAME }) { delete this.bots[NAME]; } - - - setTextModel({ MOD }) { this.textModel = MOD; } - setImageModel({ MOD }) { this.imageModel = MOD; } - setTemp({ N }) { this.temp = N; } - setSeed({ N }) { this.seed = N; } - setSystem({ LOG }) { this.systemLog = LOG; } - attachFile({ URL }) { this.attachedFile = URL; } - setImageSize({ H, W }) { this.genHeight = H; this.genWidth = W; } + deleteBot({ NAME }) { + delete this.bots[NAME]; + } + setTextModel({ MOD }) { + this.textModel = MOD; + } + setImageModel({ MOD }) { + this.imageModel = MOD; + } + setTemp({ N }) { + this.temp = N; + } + setSeed({ N }) { + this.seed = N; + } + setSystem({ LOG }) { + this.systemLog = LOG; + } + attachFile({ URL }) { + this.attachedFile = URL; + } + setImageSize({ H, W }) { + this.genHeight = H; + this.genWidth = W; + } importChat({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; @@ -163,10 +418,18 @@ } else if (TYPE === "text") { content = history.map((h) => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); } else if (TYPE === "markdown") { - content = history.map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`).join("\n\n---\n\n"); + content = history + .map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`) + .join("\n\n---\n\n"); extension = "md"; } else if (TYPE === "csv") { - content = "Question,Answer\n" + history.map((h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"`).join("\n"); + content = + "Question,Answer\n" + + history + .map( + (h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"` + ) + .join("\n"); extension = "csv"; } else if (TYPE === "html") { content = `${history.map((h) => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; @@ -181,7 +444,6 @@ URL.revokeObjectURL(url); } - async setCostumeFromPrompt(args, util) { const imageUrl = this.getImageUrl({ TEXT: args.TEXT }); this.isFetching = true; @@ -214,7 +476,6 @@ } } - async simplePrompt({ TEXT }) { this.isFetching = true; try { @@ -239,7 +500,6 @@ return await this.simplePrompt({ TEXT: `[Context: ${CTX}] ${TEXT}` }); } - getImageUrl({ TEXT }) { let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(TEXT)}?model=${this.imageModel}&seed=${this.seed}&width=${this.genWidth}&height=${this.genHeight}&nologo=true`; if (this.attachedFile) { From 4f39c7646dffbe045e3a2c6646ae717fb0f209d2 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 17:48:55 +0530 Subject: [PATCH 53/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 1299596d3c..332878a644 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -6,16 +6,6 @@ // @turbowarp-extension // @unsandboxed -/* -    _________  ___  ___  ________  ________  ________  ________  ________  _________        ________  ___      -    |\___   ___\\  \|\  \|\   __  \|\   __  \|\   __  \|\   __  \|\   __  \|\___   ___\     |\   __  \|\  \     -    \|___ \  \_\ \  \\\  \ \  \|\  \ \  \|\ /\ \  \|\  \ \  \|\ /\ \  \|\  \|___ \  \_|     \ \  \|\  \ \  \    -         \ \  \ \ \  \\\  \ \   _  _\ \   __  \ \  \\\  \ \   __  \ \  \\\  \   \ \  \       \ \   __  \ \  \   -          \ \  \ \ \  \\\  \ \  \\  \\ \  \|\  \ \  \\\  \ \  \|\  \ \  \\\  \   \ \  \       \ \  \ \  \ \  \  -           \ \__\ \ \_______\ \__\\ _\\ \_______\ \_______\ \_______\ \_______\   \ \__\       \ \__\ \__\ \__\ -            \|__|  \|_______|\|__|\|__|\|_______|\|_______|\|_______|\|_______|    \|__|        \|__|\|__|\|__| -*/ - (function (Scratch) { "use strict"; @@ -30,6 +20,16 @@ const blockColor = "#FF4C4C"; const menuColor = "#B00000"; + /* +    _________  ___  ___  ________  ________  ________  ________  ________  _________        ________  ___      +    |\___   ___\\  \|\  \|\   __  \|\   __  \|\   __  \|\   __  \|\   __  \|\___   ___\     |\   __  \|\  \     +    \|___ \  \_\ \  \\\  \ \  \|\  \ \  \|\ /\ \  \|\  \ \  \|\ /\ \  \|\  \|___ \  \_|     \ \  \|\  \ \  \    +         \ \  \ \ \  \\\  \ \   _  _\ \   __  \ \  \\\  \ \   __  \ \  \\\  \   \ \  \       \ \   __  \ \  \   +          \ \  \ \ \  \\\  \ \  \\  \\ \  \|\  \ \  \\\  \ \  \|\  \ \  \\\  \   \ \  \       \ \  \ \  \ \  \  +           \ \__\ \ \_______\ \__\\ _\\ \_______\ \_______\ \_______\ \_______\   \ \__\       \ \__\ \__\ \__\ +            \|__|  \|_______|\|__|\|__|\|_______|\|_______|\|_______|\|_______|    \|__|        \|__|\|__|\|__| +*/ + class TurboBot { constructor() { this.bots = {}; From 33d1746611aa317f817fd4df876f6d9a19937a33 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 17:51:00 +0530 Subject: [PATCH 54/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 332878a644..65a2513a03 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -20,16 +20,6 @@ const blockColor = "#FF4C4C"; const menuColor = "#B00000"; - /* -    _________  ___  ___  ________  ________  ________  ________  ________  _________        ________  ___      -    |\___   ___\\  \|\  \|\   __  \|\   __  \|\   __  \|\   __  \|\   __  \|\___   ___\     |\   __  \|\  \     -    \|___ \  \_\ \  \\\  \ \  \|\  \ \  \|\ /\ \  \|\  \ \  \|\ /\ \  \|\  \|___ \  \_|     \ \  \|\  \ \  \    -         \ \  \ \ \  \\\  \ \   _  _\ \   __  \ \  \\\  \ \   __  \ \  \\\  \   \ \  \       \ \   __  \ \  \   -          \ \  \ \ \  \\\  \ \  \\  \\ \  \|\  \ \  \\\  \ \  \|\  \ \  \\\  \   \ \  \       \ \  \ \  \ \  \  -           \ \__\ \ \_______\ \__\\ _\\ \_______\ \_______\ \_______\ \_______\   \ \__\       \ \__\ \__\ \__\ -            \|__|  \|_______|\|__|\|__|\|_______|\|_______|\|_______|\|_______|    \|__|        \|__|\|__|\|__| -*/ - class TurboBot { constructor() { this.bots = {}; From e745eeec2ccab45fb6683cdbeff3862d7527d900 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 17:52:46 +0530 Subject: [PATCH 55/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 65a2513a03..129aa97c13 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -37,6 +37,16 @@ " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; } + /* +    _________  ___  ___  ________  ________  ________  ________  ________  _________        ________  ___      +    |\___   ___\\  \|\  \|\   __  \|\   __  \|\   __  \|\   __  \|\   __  \|\___   ___\     |\   __  \|\  \     +    \|___ \  \_\ \  \\\  \ \  \|\  \ \  \|\ /\ \  \|\  \ \  \|\ /\ \  \|\  \|___ \  \_|     \ \  \|\  \ \  \    +         \ \  \ \ \  \\\  \ \   _  _\ \   __  \ \  \\\  \ \   __  \ \  \\\  \   \ \  \       \ \   __  \ \  \   +          \ \  \ \ \  \\\  \ \  \\  \\ \  \|\  \ \  \\\  \ \  \|\  \ \  \\\  \   \ \  \       \ \  \ \  \ \  \  +           \ \__\ \ \_______\ \__\\ _\\ \_______\ \_______\ \_______\ \_______\   \ \__\       \ \__\ \__\ \__\ +            \|__|  \|_______|\|__|\|__|\|_______|\|_______|\|_______|\|_______|    \|__|        \|__|\|__|\|__| +*/ + getInfo() { return { id: "TurboBotEngine", @@ -501,4 +511,3 @@ Scratch.extensions.register(new TurboBot()); })(Scratch); -/* ok I think its all, but who knows maybe more right pal ;) */ From 352888247f086c287562cedc0a3bb46309dbb3d0 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 17:55:31 +0530 Subject: [PATCH 56/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 129aa97c13..f9a2648897 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -36,16 +36,6 @@ this.safetyGuard = " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; } - - /* -    _________  ___  ___  ________  ________  ________  ________  ________  _________        ________  ___      -    |\___   ___\\  \|\  \|\   __  \|\   __  \|\   __  \|\   __  \|\   __  \|\___   ___\     |\   __  \|\  \     -    \|___ \  \_\ \  \\\  \ \  \|\  \ \  \|\ /\ \  \|\  \ \  \|\ /\ \  \|\  \|___ \  \_|     \ \  \|\  \ \  \    -         \ \  \ \ \  \\\  \ \   _  _\ \   __  \ \  \\\  \ \   __  \ \  \\\  \   \ \  \       \ \   __  \ \  \   -          \ \  \ \ \  \\\  \ \  \\  \\ \  \|\  \ \  \\\  \ \  \|\  \ \  \\\  \   \ \  \       \ \  \ \  \ \  \  -           \ \__\ \ \_______\ \__\\ _\\ \_______\ \_______\ \_______\ \_______\   \ \__\       \ \__\ \__\ \__\ -            \|__|  \|_______|\|__|\|__|\|_______|\|_______|\|_______|\|_______|    \|__|        \|__|\|__|\|__| -*/ getInfo() { return { @@ -511,3 +501,14 @@ Scratch.extensions.register(new TurboBot()); })(Scratch); + + + /* +    _________  ___  ___  ________  ________  ________  ________  ________  _________        ________  ___      +    |\___   ___\\  \|\  \|\   __  \|\   __  \|\   __  \|\   __  \|\   __  \|\___   ___\     |\   __  \|\  \     +    \|___ \  \_\ \  \\\  \ \  \|\  \ \  \|\ /\ \  \|\  \ \  \|\ /\ \  \|\  \|___ \  \_|     \ \  \|\  \ \  \    +         \ \  \ \ \  \\\  \ \   _  _\ \   __  \ \  \\\  \ \   __  \ \  \\\  \   \ \  \       \ \   __  \ \  \   +          \ \  \ \ \  \\\  \ \  \\  \\ \  \|\  \ \  \\\  \ \  \|\  \ \  \\\  \   \ \  \       \ \  \ \  \ \  \  +           \ \__\ \ \_______\ \__\\ _\\ \_______\ \_______\ \_______\ \_______\   \ \__\       \ \__\ \__\ \__\ +            \|__|  \|_______|\|__|\|__|\|_______|\|_______|\|_______|\|_______|    \|__|        \|__|\|__|\|__| + */ From 0e4797b549c9cb6936685b3270a6a5379f0f7fc4 Mon Sep 17 00:00:00 2001 From: "DangoCat[bot]" Date: Sat, 10 Jan 2026 12:26:43 +0000 Subject: [PATCH 57/93] [Automated] Format code --- extensions/Seigh-sword/turbobot.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index f9a2648897..b09663ecc1 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -36,7 +36,7 @@ this.safetyGuard = " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; } - + getInfo() { return { id: "TurboBotEngine", @@ -502,8 +502,7 @@ Scratch.extensions.register(new TurboBot()); })(Scratch); - - /* +/*     _________  ___  ___  ________  ________  ________  ________  ________  _________        ________  ___          |\___   ___\\  \|\  \|\   __  \|\   __  \|\   __  \|\   __  \|\   __  \|\___   ___\     |\   __  \|\  \         \|___ \  \_\ \  \\\  \ \  \|\  \ \  \|\ /\ \  \|\  \ \  \|\ /\ \  \|\  \|___ \  \_|     \ \  \|\  \ \  \    From 7db30460974d83f8d07b4995ec1d7e88bbabb73f Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 17:59:35 +0530 Subject: [PATCH 58/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index b09663ecc1..4db622ccd7 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -1,7 +1,7 @@ // Name: Turbo Bot // ID: TurboBotEngine // Description: Advanced AI text and image generation with bot memory. -// By: Seigh_sword +// By: Seigh_sword // License: MPL-2.0 // @turbowarp-extension // @unsandboxed @@ -502,12 +502,13 @@ Scratch.extensions.register(new TurboBot()); })(Scratch); -/* -    _________  ___  ___  ________  ________  ________  ________  ________  _________        ________  ___      -    |\___   ___\\  \|\  \|\   __  \|\   __  \|\   __  \|\   __  \|\   __  \|\___   ___\     |\   __  \|\  \     -    \|___ \  \_\ \  \\\  \ \  \|\  \ \  \|\ /\ \  \|\  \ \  \|\ /\ \  \|\  \|___ \  \_|     \ \  \|\  \ \  \    -         \ \  \ \ \  \\\  \ \   _  _\ \   __  \ \  \\\  \ \   __  \ \  \\\  \   \ \  \       \ \   __  \ \  \   -          \ \  \ \ \  \\\  \ \  \\  \\ \  \|\  \ \  \\\  \ \  \|\  \ \  \\\  \   \ \  \       \ \  \ \  \ \  \  -           \ \__\ \ \_______\ \__\\ _\\ \_______\ \_______\ \_______\ \_______\   \ \__\       \ \__\ \__\ \__\ -            \|__|  \|_______|\|__|\|__|\|_______|\|_______|\|_______|\|_______|    \|__|        \|__|\|__|\|__| - */ +// _________ ___ ___ ________ ________ ________ ________ ________ _________ ________ ___ +// |\___ ___\\ \|\ \|\ __ \|\ __ \|\ __ \|\ __ \|\ __ \|\___ ___\ |\ __ \|\ \ +// \|___ \ \_\ \ \\\ \ \ \|\ \ \ \|\ /\ \ \|\ \ \ \|\ /\ \ \|\ \|___ \ \_| \ \ \|\ \ \ \ +// \ \ \ \ \ \\\ \ \ _ _\ \ __ \ \ \\\ \ \ __ \ \ \\\ \ \ \ \ \ \ __ \ \ \ +// \ \ \ \ \ \\\ \ \ \\ \\ \ \|\ \ \ \\\ \ \ \|\ \ \ \\\ \ \ \ \ \ \ \ \ \ \ \ +// \ \__\ \ \_______\ \__\\ _\\ \_______\ \_______\ \_______\ \_______\ \ \__\ \ \__\ \__\ \__\ +// \|__| \|_______|\|__|\|__|\|_______|\|_______|\|_______|\|_______| \|__| \|__|\|__|\|__| +// +// +// From 06652fb4ce02d2260f7490ef8af6a04024152ab8 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 18:01:05 +0530 Subject: [PATCH 59/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 4db622ccd7..f084718d90 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -1,3 +1,14 @@ +// _________ ___ ___ ________ ________ ________ ________ ________ _________ ________ ___ +// |\___ ___\\ \|\ \|\ __ \|\ __ \|\ __ \|\ __ \|\ __ \|\___ ___\ |\ __ \|\ \ +// \|___ \ \_\ \ \\\ \ \ \|\ \ \ \|\ /\ \ \|\ \ \ \|\ /\ \ \|\ \|___ \ \_| \ \ \|\ \ \ \ +// \ \ \ \ \ \\\ \ \ _ _\ \ __ \ \ \\\ \ \ __ \ \ \\\ \ \ \ \ \ \ __ \ \ \ +// \ \ \ \ \ \\\ \ \ \\ \\ \ \|\ \ \ \\\ \ \ \|\ \ \ \\\ \ \ \ \ \ \ \ \ \ \ \ +// \ \__\ \ \_______\ \__\\ _\\ \_______\ \_______\ \_______\ \_______\ \ \__\ \ \__\ \__\ \__\ +// \|__| \|_______|\|__|\|__|\|_______|\|_______|\|_______|\|_______| \|__| \|__|\|__|\|__| +// +// +// + // Name: Turbo Bot // ID: TurboBotEngine // Description: Advanced AI text and image generation with bot memory. @@ -501,14 +512,3 @@ Scratch.extensions.register(new TurboBot()); })(Scratch); - -// _________ ___ ___ ________ ________ ________ ________ ________ _________ ________ ___ -// |\___ ___\\ \|\ \|\ __ \|\ __ \|\ __ \|\ __ \|\ __ \|\___ ___\ |\ __ \|\ \ -// \|___ \ \_\ \ \\\ \ \ \|\ \ \ \|\ /\ \ \|\ \ \ \|\ /\ \ \|\ \|___ \ \_| \ \ \|\ \ \ \ -// \ \ \ \ \ \\\ \ \ _ _\ \ __ \ \ \\\ \ \ __ \ \ \\\ \ \ \ \ \ \ __ \ \ \ -// \ \ \ \ \ \\\ \ \ \\ \\ \ \|\ \ \ \\\ \ \ \|\ \ \ \\\ \ \ \ \ \ \ \ \ \ \ \ -// \ \__\ \ \_______\ \__\\ _\\ \_______\ \_______\ \_______\ \_______\ \ \__\ \ \__\ \__\ \__\ -// \|__| \|_______|\|__|\|__|\|_______|\|_______|\|_______|\|_______| \|__| \|__|\|__|\|__| -// -// -// From 42c308f55c6daa3830981c2bcb15e3e8115000b0 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 18:02:21 +0530 Subject: [PATCH 60/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index f084718d90..a2c645c6e9 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -1,3 +1,11 @@ +// Name: Turbo Bot +// ID: TurboBotEngine +// Description: Advanced AI text and image generation with bot memory. +// By: Seigh_sword +// License: MPL-2.0 +// @turbowarp-extension +// @unsandboxed + // _________ ___ ___ ________ ________ ________ ________ ________ _________ ________ ___ // |\___ ___\\ \|\ \|\ __ \|\ __ \|\ __ \|\ __ \|\ __ \|\___ ___\ |\ __ \|\ \ // \|___ \ \_\ \ \\\ \ \ \|\ \ \ \|\ /\ \ \|\ \ \ \|\ /\ \ \|\ \|___ \ \_| \ \ \|\ \ \ \ @@ -9,14 +17,6 @@ // // -// Name: Turbo Bot -// ID: TurboBotEngine -// Description: Advanced AI text and image generation with bot memory. -// By: Seigh_sword -// License: MPL-2.0 -// @turbowarp-extension -// @unsandboxed - (function (Scratch) { "use strict"; From 2833d5f13518da403ba095c03de017dbe180ab0d Mon Sep 17 00:00:00 2001 From: "DangoCat[bot]" Date: Sat, 10 Jan 2026 12:33:38 +0000 Subject: [PATCH 61/93] [Automated] Format code --- extensions/Seigh-sword/turbobot.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index a2c645c6e9..cca8bd2ed0 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -6,16 +6,16 @@ // @turbowarp-extension // @unsandboxed -// _________ ___ ___ ________ ________ ________ ________ ________ _________ ________ ___ -// |\___ ___\\ \|\ \|\ __ \|\ __ \|\ __ \|\ __ \|\ __ \|\___ ___\ |\ __ \|\ \ -// \|___ \ \_\ \ \\\ \ \ \|\ \ \ \|\ /\ \ \|\ \ \ \|\ /\ \ \|\ \|___ \ \_| \ \ \|\ \ \ \ -// \ \ \ \ \ \\\ \ \ _ _\ \ __ \ \ \\\ \ \ __ \ \ \\\ \ \ \ \ \ \ __ \ \ \ -// \ \ \ \ \ \\\ \ \ \\ \\ \ \|\ \ \ \\\ \ \ \|\ \ \ \\\ \ \ \ \ \ \ \ \ \ \ \ +// _________ ___ ___ ________ ________ ________ ________ ________ _________ ________ ___ +// |\___ ___\\ \|\ \|\ __ \|\ __ \|\ __ \|\ __ \|\ __ \|\___ ___\ |\ __ \|\ \ +// \|___ \ \_\ \ \\\ \ \ \|\ \ \ \|\ /\ \ \|\ \ \ \|\ /\ \ \|\ \|___ \ \_| \ \ \|\ \ \ \ +// \ \ \ \ \ \\\ \ \ _ _\ \ __ \ \ \\\ \ \ __ \ \ \\\ \ \ \ \ \ \ __ \ \ \ +// \ \ \ \ \ \\\ \ \ \\ \\ \ \|\ \ \ \\\ \ \ \|\ \ \ \\\ \ \ \ \ \ \ \ \ \ \ \ // \ \__\ \ \_______\ \__\\ _\\ \_______\ \_______\ \_______\ \_______\ \ \__\ \ \__\ \__\ \__\ // \|__| \|_______|\|__|\|__|\|_______|\|_______|\|_______|\|_______| \|__| \|__|\|__|\|__| -// -// -// +// +// +// (function (Scratch) { "use strict"; From 678ca703ea8850e3700281c7da3c2266c2a89a57 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sat, 10 Jan 2026 18:43:16 +0530 Subject: [PATCH 62/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index cca8bd2ed0..ca948db5f9 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -41,8 +41,8 @@ this.systemLog = "You are a helpful assistant."; this.attachedFile = ""; this.isFetching = false; - this.genWidth = 1024; - this.genHeight = 1024; + this.genWidth = 480; + this.genHeight = 360; this.safetyGuard = " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; From 3bdb08f254e0755d5d1f6ed74e9f564f3d55da7f Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sun, 11 Jan 2026 17:04:37 +0530 Subject: [PATCH 63/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index ca948db5f9..583adceed4 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -14,8 +14,6 @@ // \ \__\ \ \_______\ \__\\ _\\ \_______\ \_______\ \_______\ \_______\ \ \__\ \ \__\ \__\ \__\ // \|__| \|_______|\|__|\|__|\|_______|\|_______|\|_______|\|_______| \|__| \|__|\|__|\|__| // -// -// (function (Scratch) { "use strict"; From 05853fdea7f98108f96137f8cd4c828a6bbc76d7 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sun, 11 Jan 2026 17:06:22 +0530 Subject: [PATCH 64/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 583adceed4..e9dba18137 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -168,8 +168,8 @@ blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image gen height [H] and width [W]"), arguments: { - H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, - W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1024 }, + H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 360 }, + W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 480 }, }, }, { From d72ee5e14fd9905564d3bf0cd57639fb2ad379fd Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sun, 11 Jan 2026 17:30:38 +0530 Subject: [PATCH 65/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 386 +++++------------------------ 1 file changed, 64 insertions(+), 322 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index e9dba18137..be7e612db9 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -18,19 +18,20 @@ (function (Scratch) { "use strict"; + if (!Scratch.extensions.unsandboxed) { throw new Error( "Turbo Bot must run unsandboxed for the set costume block to work, so please make it run unsandboxed." ); } - const icon = - "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; + const icon = "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; const blockColor = "#FF4C4C"; const menuColor = "#B00000"; class TurboBot { constructor() { + this.bots = {}; this.textModel = "openai"; this.imageModel = "turbo"; @@ -39,315 +40,76 @@ this.systemLog = "You are a helpful assistant."; this.attachedFile = ""; this.isFetching = false; - this.genWidth = 480; - this.genHeight = 360; + this.genWidth = 1024; + this.genHeight = 1024; - this.safetyGuard = - " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; + + this.safetyGuard = " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; } getInfo() { return { id: "TurboBotEngine", name: Scratch.translate("Turbo Bot"), - docsURI: - "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", + docsURI: "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", menuIconURI: icon, blockIconURI: icon, color1: blockColor, color2: menuColor, blocks: [ - { - opcode: "isReady", - blockType: Scratch.BlockType.BOOLEAN, - text: Scratch.translate("AI ready?"), - }, - { - opcode: "isThinking", - blockType: Scratch.BlockType.BOOLEAN, - text: Scratch.translate("is bot thinking?"), - }, - { - opcode: "getCurrentModel", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("model?"), - }, - { - opcode: "getBotName", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("bot?"), - }, - { - opcode: "getMemory", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("memory"), - }, + { opcode: "isReady", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("AI ready?") }, + { opcode: "isThinking", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("is bot thinking?") }, + { opcode: "getCurrentModel", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("model?") }, + { opcode: "getBotName", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("bot?") }, + { opcode: "getMemory", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("memory") }, "---", - { - opcode: "createBot", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("create bot named [NAME]"), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, - }, - { - opcode: "renameBot", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("rename [NAME1] to [NAME2]"), - arguments: { - NAME1: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - NAME2: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboPal", - }, - }, - }, - { - opcode: "deleteBot", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("delete bot named [NAME]"), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, - }, - { - opcode: "exportChat", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("export conversation of [NAME] as [TYPE]"), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" }, - }, - }, - { - opcode: "importChat", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate( - "import conversation from file to bot [NAME]" - ), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, - }, + { opcode: "createBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("create bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, + { opcode: "renameBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("rename [NAME1] to [NAME2]"), arguments: { NAME1: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, NAME2: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboPal" } } }, + { opcode: "deleteBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("delete bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, + { opcode: "exportChat", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("export conversation of [NAME] as [TYPE]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" } } }, + { opcode: "importChat", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("import conversation from file to bot [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, "---", - { - opcode: "setTextModel", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set text model [MOD]"), - arguments: { - MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" }, - }, - }, - { - opcode: "setImageModel", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set image model [MOD]"), - arguments: { - MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" }, - }, - }, + { opcode: "setTextModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set text model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" } } }, + { opcode: "setImageModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" } } }, "---", - { - opcode: "setImageSize", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set image gen height [H] and width [W]"), - arguments: { - H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 360 }, - W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 480 }, - }, - }, - { - opcode: "getGenHeight", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("image gen height"), - }, - { - opcode: "getGenWidth", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("image gen width"), - }, + { opcode: "setImageSize", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image gen height [H] and width [W]"), arguments: { H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 360 }, W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 480 } } }, + { opcode: "getGenHeight", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen height") }, + { opcode: "getGenWidth", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen width") }, "---", - { - opcode: "simplePrompt", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("prompt [TEXT]"), - arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Hello!", - }, - }, - }, - { - opcode: "setCostumeFromPrompt", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate( - "set image from prompt [TEXT] as SVG costume named [NAME]" - ), - arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "racecar", - }, - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "costume2", - }, - }, - }, - { - opcode: "getImageUrl", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("get url for image prompt [TEXT]"), - arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "a racecar", - }, - }, - }, - { - opcode: "attachFile", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("attach file url [URL]"), - arguments: { - URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" }, - }, - }, + { opcode: "simplePrompt", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, + { opcode: "setCostumeFromPrompt", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image from prompt [TEXT] as SVG costume named [NAME]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "racecar" }, NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "costume2" } } }, + { opcode: "getImageUrl", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("get url for image prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a racecar" } } }, + { opcode: "attachFile", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("attach file url [URL]"), arguments: { URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" } } }, "---", - { - opcode: "setSystem", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set system log [LOG]"), - arguments: { - LOG: { - type: Scratch.ArgumentType.STRING, - defaultValue: "You are a helpful assistant.", - }, - }, - }, - { - opcode: "setContextText", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("set context [CTX] and prompt [TEXT]"), - arguments: { - CTX: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Persona", - }, - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Hello!", - }, - }, - }, + { opcode: "setSystem", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set system log [LOG]"), arguments: { LOG: { type: Scratch.ArgumentType.STRING, defaultValue: "You are a helpful assistant." } } }, + { opcode: "setContextText", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("set context [CTX] and prompt [TEXT]"), arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Persona" }, TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, "---", - { - opcode: "setTemp", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set temperature [N]"), - arguments: { - N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 }, - }, - }, - { - opcode: "setSeed", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set seed [N]"), - arguments: { - N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 }, - }, - }, - { - opcode: "getSeed", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("seed"), - }, - { - opcode: "getTemp", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("temperature"), - }, + { opcode: "setTemp", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set temperature [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 } } }, + { opcode: "setSeed", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set seed [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 } } }, + { opcode: "getSeed", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("seed") }, + { opcode: "getTemp", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("temperature") }, ], menus: { - textMenu: { - acceptReporters: true, - items: [ - "openai", - "mistral", - "gemini", - "deepseek-r1", - "p1", - "llama", - ], - }, - imageMenu: { - acceptReporters: true, - items: [ - "turbo", - "flux-pro", - "flux-realism", - "flux-anime", - "flux-3d", - "flux", - "any", - ], - }, - fileMenu: { - acceptReporters: true, - items: ["json", "text", "markdown", "csv", "html"], - }, + textMenu: { acceptReporters: true, items: ["openai", "mistral", "gemini", "deepseek-r1", "p1", "llama"] }, + imageMenu: { acceptReporters: true, items: ["turbo", "flux-pro", "flux-realism", "flux-anime", "flux-3d", "flux", "any"] }, + fileMenu: { acceptReporters: true, items: ["json", "text", "markdown", "csv", "html"] } }, }; } - isReady() { - return true; - } - isThinking() { - return this.isFetching; - } - getCurrentModel() { - return `T:${this.textModel} | I:${this.imageModel}`; - } - getBotName() { - return Object.keys(this.bots)[0] || "None"; - } - getMemory() { - return JSON.stringify(this.bots); - } - getSeed() { - return this.seed; - } - getTemp() { - return this.temp; - } - getGenHeight() { - return this.genHeight; - } - getGenWidth() { - return this.genWidth; - } - createBot({ NAME }) { - if (!this.bots[NAME]) this.bots[NAME] = []; - } + isReady() { return true; } + isThinking() { return this.isFetching; } + getCurrentModel() { return `T:${this.textModel} | I:${this.imageModel}`; } + getBotName() { return Object.keys(this.bots)[0] || "None"; } + getMemory() { return JSON.stringify(this.bots); } + getSeed() { return this.seed; } + getTemp() { return this.temp; } + getGenHeight() { return this.genHeight; } + getGenWidth() { return this.genWidth; } + + + createBot({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; } renameBot({ NAME1, NAME2 }) { if (this.bots[NAME1] && !this.bots[NAME2]) { @@ -356,32 +118,17 @@ } } - deleteBot({ NAME }) { - delete this.bots[NAME]; - } + deleteBot({ NAME }) { delete this.bots[NAME]; } + + + setTextModel({ MOD }) { this.textModel = MOD; } + setImageModel({ MOD }) { this.imageModel = MOD; } + setTemp({ N }) { this.temp = N; } + setSeed({ N }) { this.seed = N; } + setSystem({ LOG }) { this.systemLog = LOG; } + attachFile({ URL }) { this.attachedFile = URL; } + setImageSize({ H, W }) { this.genHeight = H; this.genWidth = W; } - setTextModel({ MOD }) { - this.textModel = MOD; - } - setImageModel({ MOD }) { - this.imageModel = MOD; - } - setTemp({ N }) { - this.temp = N; - } - setSeed({ N }) { - this.seed = N; - } - setSystem({ LOG }) { - this.systemLog = LOG; - } - attachFile({ URL }) { - this.attachedFile = URL; - } - setImageSize({ H, W }) { - this.genHeight = H; - this.genWidth = W; - } importChat({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; @@ -417,18 +164,10 @@ } else if (TYPE === "text") { content = history.map((h) => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); } else if (TYPE === "markdown") { - content = history - .map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`) - .join("\n\n---\n\n"); + content = history.map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`).join("\n\n---\n\n"); extension = "md"; } else if (TYPE === "csv") { - content = - "Question,Answer\n" + - history - .map( - (h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"` - ) - .join("\n"); + content = "Question,Answer\n" + history.map((h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"`).join("\n"); extension = "csv"; } else if (TYPE === "html") { content = `${history.map((h) => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; @@ -443,13 +182,14 @@ URL.revokeObjectURL(url); } + async setCostumeFromPrompt(args, util) { const imageUrl = this.getImageUrl({ TEXT: args.TEXT }); this.isFetching = true; try { const svgContent = ``; const storage = util.runtime.storage; - + const asset = await storage.createAsset( storage.AssetType.ImageVector, storage.DataFormat.SVG, @@ -475,6 +215,7 @@ } } + // Text generation logic async simplePrompt({ TEXT }) { this.isFetching = true; try { @@ -499,6 +240,7 @@ return await this.simplePrompt({ TEXT: `[Context: ${CTX}] ${TEXT}` }); } + getImageUrl({ TEXT }) { let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(TEXT)}?model=${this.imageModel}&seed=${this.seed}&width=${this.genWidth}&height=${this.genHeight}&nologo=true`; if (this.attachedFile) { From 63c779bbe12c399c337d46d08c137b5167807408 Mon Sep 17 00:00:00 2001 From: "DangoCat[bot]" Date: Sun, 11 Jan 2026 12:01:41 +0000 Subject: [PATCH 66/93] [Automated] Format code --- extensions/Seigh-sword/turbobot.js | 381 ++++++++++++++++++++++++----- 1 file changed, 320 insertions(+), 61 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index be7e612db9..8641e0bf97 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -18,20 +18,19 @@ (function (Scratch) { "use strict"; - if (!Scratch.extensions.unsandboxed) { throw new Error( "Turbo Bot must run unsandboxed for the set costume block to work, so please make it run unsandboxed." ); } - const icon = "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; + const icon = + "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; const blockColor = "#FF4C4C"; const menuColor = "#B00000"; class TurboBot { constructor() { - this.bots = {}; this.textModel = "openai"; this.imageModel = "turbo"; @@ -43,73 +42,312 @@ this.genWidth = 1024; this.genHeight = 1024; - - this.safetyGuard = " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; + this.safetyGuard = + " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; } getInfo() { return { id: "TurboBotEngine", name: Scratch.translate("Turbo Bot"), - docsURI: "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", + docsURI: + "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", menuIconURI: icon, blockIconURI: icon, color1: blockColor, color2: menuColor, blocks: [ - { opcode: "isReady", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("AI ready?") }, - { opcode: "isThinking", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("is bot thinking?") }, - { opcode: "getCurrentModel", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("model?") }, - { opcode: "getBotName", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("bot?") }, - { opcode: "getMemory", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("memory") }, + { + opcode: "isReady", + blockType: Scratch.BlockType.BOOLEAN, + text: Scratch.translate("AI ready?"), + }, + { + opcode: "isThinking", + blockType: Scratch.BlockType.BOOLEAN, + text: Scratch.translate("is bot thinking?"), + }, + { + opcode: "getCurrentModel", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("model?"), + }, + { + opcode: "getBotName", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("bot?"), + }, + { + opcode: "getMemory", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("memory"), + }, "---", - { opcode: "createBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("create bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, - { opcode: "renameBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("rename [NAME1] to [NAME2]"), arguments: { NAME1: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, NAME2: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboPal" } } }, - { opcode: "deleteBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("delete bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, - { opcode: "exportChat", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("export conversation of [NAME] as [TYPE]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" } } }, - { opcode: "importChat", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("import conversation from file to bot [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, + { + opcode: "createBot", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("create bot named [NAME]"), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, + { + opcode: "renameBot", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("rename [NAME1] to [NAME2]"), + arguments: { + NAME1: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + NAME2: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboPal", + }, + }, + }, + { + opcode: "deleteBot", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("delete bot named [NAME]"), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, + { + opcode: "exportChat", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("export conversation of [NAME] as [TYPE]"), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" }, + }, + }, + { + opcode: "importChat", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate( + "import conversation from file to bot [NAME]" + ), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, "---", - { opcode: "setTextModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set text model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" } } }, - { opcode: "setImageModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" } } }, + { + opcode: "setTextModel", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set text model [MOD]"), + arguments: { + MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" }, + }, + }, + { + opcode: "setImageModel", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set image model [MOD]"), + arguments: { + MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" }, + }, + }, "---", - { opcode: "setImageSize", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image gen height [H] and width [W]"), arguments: { H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 360 }, W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 480 } } }, - { opcode: "getGenHeight", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen height") }, - { opcode: "getGenWidth", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen width") }, + { + opcode: "setImageSize", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set image gen height [H] and width [W]"), + arguments: { + H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 360 }, + W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 480 }, + }, + }, + { + opcode: "getGenHeight", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("image gen height"), + }, + { + opcode: "getGenWidth", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("image gen width"), + }, "---", - { opcode: "simplePrompt", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, - { opcode: "setCostumeFromPrompt", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image from prompt [TEXT] as SVG costume named [NAME]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "racecar" }, NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "costume2" } } }, - { opcode: "getImageUrl", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("get url for image prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a racecar" } } }, - { opcode: "attachFile", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("attach file url [URL]"), arguments: { URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" } } }, + { + opcode: "simplePrompt", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("prompt [TEXT]"), + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Hello!", + }, + }, + }, + { + opcode: "setCostumeFromPrompt", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate( + "set image from prompt [TEXT] as SVG costume named [NAME]" + ), + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "racecar", + }, + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "costume2", + }, + }, + }, + { + opcode: "getImageUrl", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("get url for image prompt [TEXT]"), + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "a racecar", + }, + }, + }, + { + opcode: "attachFile", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("attach file url [URL]"), + arguments: { + URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" }, + }, + }, "---", - { opcode: "setSystem", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set system log [LOG]"), arguments: { LOG: { type: Scratch.ArgumentType.STRING, defaultValue: "You are a helpful assistant." } } }, - { opcode: "setContextText", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("set context [CTX] and prompt [TEXT]"), arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Persona" }, TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, + { + opcode: "setSystem", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set system log [LOG]"), + arguments: { + LOG: { + type: Scratch.ArgumentType.STRING, + defaultValue: "You are a helpful assistant.", + }, + }, + }, + { + opcode: "setContextText", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("set context [CTX] and prompt [TEXT]"), + arguments: { + CTX: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Persona", + }, + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Hello!", + }, + }, + }, "---", - { opcode: "setTemp", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set temperature [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 } } }, - { opcode: "setSeed", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set seed [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 } } }, - { opcode: "getSeed", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("seed") }, - { opcode: "getTemp", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("temperature") }, + { + opcode: "setTemp", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set temperature [N]"), + arguments: { + N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 }, + }, + }, + { + opcode: "setSeed", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set seed [N]"), + arguments: { + N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 }, + }, + }, + { + opcode: "getSeed", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("seed"), + }, + { + opcode: "getTemp", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("temperature"), + }, ], menus: { - textMenu: { acceptReporters: true, items: ["openai", "mistral", "gemini", "deepseek-r1", "p1", "llama"] }, - imageMenu: { acceptReporters: true, items: ["turbo", "flux-pro", "flux-realism", "flux-anime", "flux-3d", "flux", "any"] }, - fileMenu: { acceptReporters: true, items: ["json", "text", "markdown", "csv", "html"] } + textMenu: { + acceptReporters: true, + items: [ + "openai", + "mistral", + "gemini", + "deepseek-r1", + "p1", + "llama", + ], + }, + imageMenu: { + acceptReporters: true, + items: [ + "turbo", + "flux-pro", + "flux-realism", + "flux-anime", + "flux-3d", + "flux", + "any", + ], + }, + fileMenu: { + acceptReporters: true, + items: ["json", "text", "markdown", "csv", "html"], + }, }, }; } + isReady() { + return true; + } + isThinking() { + return this.isFetching; + } + getCurrentModel() { + return `T:${this.textModel} | I:${this.imageModel}`; + } + getBotName() { + return Object.keys(this.bots)[0] || "None"; + } + getMemory() { + return JSON.stringify(this.bots); + } + getSeed() { + return this.seed; + } + getTemp() { + return this.temp; + } + getGenHeight() { + return this.genHeight; + } + getGenWidth() { + return this.genWidth; + } - isReady() { return true; } - isThinking() { return this.isFetching; } - getCurrentModel() { return `T:${this.textModel} | I:${this.imageModel}`; } - getBotName() { return Object.keys(this.bots)[0] || "None"; } - getMemory() { return JSON.stringify(this.bots); } - getSeed() { return this.seed; } - getTemp() { return this.temp; } - getGenHeight() { return this.genHeight; } - getGenWidth() { return this.genWidth; } - - - createBot({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; } + createBot({ NAME }) { + if (!this.bots[NAME]) this.bots[NAME] = []; + } renameBot({ NAME1, NAME2 }) { if (this.bots[NAME1] && !this.bots[NAME2]) { @@ -118,17 +356,32 @@ } } - deleteBot({ NAME }) { delete this.bots[NAME]; } - - - setTextModel({ MOD }) { this.textModel = MOD; } - setImageModel({ MOD }) { this.imageModel = MOD; } - setTemp({ N }) { this.temp = N; } - setSeed({ N }) { this.seed = N; } - setSystem({ LOG }) { this.systemLog = LOG; } - attachFile({ URL }) { this.attachedFile = URL; } - setImageSize({ H, W }) { this.genHeight = H; this.genWidth = W; } + deleteBot({ NAME }) { + delete this.bots[NAME]; + } + setTextModel({ MOD }) { + this.textModel = MOD; + } + setImageModel({ MOD }) { + this.imageModel = MOD; + } + setTemp({ N }) { + this.temp = N; + } + setSeed({ N }) { + this.seed = N; + } + setSystem({ LOG }) { + this.systemLog = LOG; + } + attachFile({ URL }) { + this.attachedFile = URL; + } + setImageSize({ H, W }) { + this.genHeight = H; + this.genWidth = W; + } importChat({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; @@ -164,10 +417,18 @@ } else if (TYPE === "text") { content = history.map((h) => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); } else if (TYPE === "markdown") { - content = history.map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`).join("\n\n---\n\n"); + content = history + .map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`) + .join("\n\n---\n\n"); extension = "md"; } else if (TYPE === "csv") { - content = "Question,Answer\n" + history.map((h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"`).join("\n"); + content = + "Question,Answer\n" + + history + .map( + (h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"` + ) + .join("\n"); extension = "csv"; } else if (TYPE === "html") { content = `${history.map((h) => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; @@ -182,14 +443,13 @@ URL.revokeObjectURL(url); } - async setCostumeFromPrompt(args, util) { const imageUrl = this.getImageUrl({ TEXT: args.TEXT }); this.isFetching = true; try { const svgContent = ``; const storage = util.runtime.storage; - + const asset = await storage.createAsset( storage.AssetType.ImageVector, storage.DataFormat.SVG, @@ -240,7 +500,6 @@ return await this.simplePrompt({ TEXT: `[Context: ${CTX}] ${TEXT}` }); } - getImageUrl({ TEXT }) { let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(TEXT)}?model=${this.imageModel}&seed=${this.seed}&width=${this.genWidth}&height=${this.genHeight}&nologo=true`; if (this.attachedFile) { From 6f9c32f78cbcbea2bbdeb1932ff68aadd2544769 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Sun, 11 Jan 2026 18:07:03 +0530 Subject: [PATCH 67/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 103 ++++++++++++++--------------- 1 file changed, 51 insertions(+), 52 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 8641e0bf97..758becc2a9 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -18,19 +18,23 @@ (function (Scratch) { "use strict"; + //PRIVACY & SECURITY NOTE: + //This extension only needs unsandboxed mode Only to allow the AI to upload generated image into users sprite's costumes Sandboxed exetensions are not allowed to accesse TurboWarp's asset system or service. + if (!Scratch.extensions.unsandboxed) { throw new Error( - "Turbo Bot must run unsandboxed for the set costume block to work, so please make it run unsandboxed." + "Turbo Bot must run unsandboxed as its made unsandoxed, becuase of a block for importing the image gen by AI to the costume editor" ); } const icon = - "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; + "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; // to get my image icon for the icon for my blocks const blockColor = "#FF4C4C"; const menuColor = "#B00000"; class TurboBot { constructor() { + this.bots = {}; this.textModel = "openai"; this.imageModel = "turbo"; @@ -39,8 +43,8 @@ this.systemLog = "You are a helpful assistant."; this.attachedFile = ""; this.isFetching = false; - this.genWidth = 1024; - this.genHeight = 1024; + this.genWidth = 480; + this.genHeight = 360; this.safetyGuard = " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; @@ -121,9 +125,9 @@ }, }, { - opcode: "exportChat", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("export conversation of [NAME] as [TYPE]"), + opcode: "exportBot", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("export bot [NAME] as [TYPE]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, @@ -133,12 +137,14 @@ }, }, { - opcode: "importChat", + opcode: "importBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate( - "import conversation from file to bot [NAME]" + "import conversation [TEXT] as [TYPE] to bot [NAME]" ), arguments: { + TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "[]" }, + TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" }, NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot", @@ -317,6 +323,7 @@ }; } + /* Core logic for managing bot data and configuration */ isReady() { return true; } @@ -383,71 +390,63 @@ this.genWidth = W; } - importChat({ NAME }) { + /* Chat Export/Import Reporters */ + importBot({ TEXT, TYPE, NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; - const input = document.createElement("input"); - input.type = "file"; - input.accept = ".json"; - input.onchange = (e) => { - const file = e.target.files[0]; - const reader = new FileReader(); - reader.onload = (event) => { - try { - const data = JSON.parse(event.target.result); - if (Array.isArray(data)) this.bots[NAME] = data; - } catch (err) { - console.error("Import failed"); - } - }; - reader.readAsText(file); - }; - input.click(); + try { + if (TYPE === "json") { + const data = JSON.parse(TEXT); + if (Array.isArray(data)) this.bots[NAME] = data; + } else { + this.bots[NAME].push({ q: "Imported Data", a: TEXT }); + } + } catch (err) { + console.error("Import failed: Invalid Format"); + } } - exportChat({ NAME, TYPE }) { + exportBot({ NAME, TYPE }) { const history = this.bots[NAME]; - if (!history || history.length === 0) return; - let content = ""; - let mimeType = "text/plain"; - let extension = "txt"; + if (!history || history.length === 0) return ""; + if (TYPE === "json") { - content = JSON.stringify(history, null, 2); - mimeType = "application/json"; - extension = "json"; + return JSON.stringify(history); } else if (TYPE === "text") { - content = history.map((h) => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); + return history.map((h) => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); } else if (TYPE === "markdown") { - content = history + return history .map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`) .join("\n\n---\n\n"); - extension = "md"; } else if (TYPE === "csv") { - content = + return ( "Question,Answer\n" + history .map( (h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"` ) - .join("\n"); - extension = "csv"; + .join("\n") + ); } else if (TYPE === "html") { - content = `${history.map((h) => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; - extension = "html"; + return `${history.map((h) => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; } - const blob = new Blob([content], { type: mimeType }); - const url = URL.createObjectURL(blob); - const a = document.createElement("a"); - a.href = url; - a.download = `${NAME}_chat.${extension}`; - a.click(); - URL.revokeObjectURL(url); + return ""; } + /* Costume Block - Needs Unsandboxed for storage.createAsset */ async setCostumeFromPrompt(args, util) { const imageUrl = this.getImageUrl({ TEXT: args.TEXT }); this.isFetching = true; try { - const svgContent = ``; + const response = await Scratch.fetch(imageUrl); + const blob = await response.blob(); + + const reader = new FileReader(); + const dataUrl = await new Promise((resolve) => { + reader.onloadend = () => resolve(reader.result); + reader.readAsDataURL(blob); + }); + + const svgContent = ``; const storage = util.runtime.storage; const asset = await storage.createAsset( @@ -475,7 +474,7 @@ } } - // Text generation logic + /* AI Text Request Logic */ async simplePrompt({ TEXT }) { this.isFetching = true; try { From d1f09376d645b1c043472895e291ee52c6a132b3 Mon Sep 17 00:00:00 2001 From: "DangoCat[bot]" Date: Sun, 11 Jan 2026 12:38:09 +0000 Subject: [PATCH 68/93] [Automated] Format code --- extensions/Seigh-sword/turbobot.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 758becc2a9..e7959fed31 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -18,7 +18,7 @@ (function (Scratch) { "use strict"; - //PRIVACY & SECURITY NOTE: + //PRIVACY & SECURITY NOTE: //This extension only needs unsandboxed mode Only to allow the AI to upload generated image into users sprite's costumes Sandboxed exetensions are not allowed to accesse TurboWarp's asset system or service. if (!Scratch.extensions.unsandboxed) { @@ -34,7 +34,6 @@ class TurboBot { constructor() { - this.bots = {}; this.textModel = "openai"; this.imageModel = "turbo"; @@ -439,7 +438,7 @@ try { const response = await Scratch.fetch(imageUrl); const blob = await response.blob(); - + const reader = new FileReader(); const dataUrl = await new Promise((resolve) => { reader.onloadend = () => resolve(reader.result); From b0b728493f31ab0c1893e4d476bece834ffe02ea Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Wed, 14 Jan 2026 20:30:00 +0530 Subject: [PATCH 69/93] Update turbobot.svg --- images/Seigh-sword/turbobot.svg | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/images/Seigh-sword/turbobot.svg b/images/Seigh-sword/turbobot.svg index c59e675494..919f202f4f 100644 --- a/images/Seigh-sword/turbobot.svg +++ b/images/Seigh-sword/turbobot.svg @@ -1,8 +1,16 @@ - + - + + - + + + + From 933ba61b08032b5b469c0b129d8f66e5158c3a71 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Wed, 14 Jan 2026 20:33:05 +0530 Subject: [PATCH 70/93] Update turbobot.svg --- images/Seigh-sword/turbobot.svg | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/images/Seigh-sword/turbobot.svg b/images/Seigh-sword/turbobot.svg index 919f202f4f..74bb5a531e 100644 --- a/images/Seigh-sword/turbobot.svg +++ b/images/Seigh-sword/turbobot.svg @@ -1,16 +1,8 @@ - - + - - - - + From 7130ec9a5ab9f07552def728e35051e6224182b2 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Wed, 14 Jan 2026 20:36:57 +0530 Subject: [PATCH 71/93] Update README.md --- images/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/images/README.md b/images/README.md index ba79452144..9bc41a00a0 100644 --- a/images/README.md +++ b/images/README.md @@ -119,9 +119,9 @@ All images in this folder are licensed under the [GNU General Public License ver - Based on https://github.com/ScratchCE/scratch-gui/blob/develop/src/lib/libraries/extensions/strings/strings.png by [@JoshsAccount](https://scratch.mit.edu/users/JoshsAccount/) under [The GNU General Public License version 3](https://www.gnu.org/licenses/gpl-3.0.html). ## Seigh-sword/turbobot.svg -- Created by **[@Seigh-sword](https://github.com/Seigh-sword/)** in [canva](https://www.canva.com/) -- Used **[Turbowarp's](https://turbowarp.org/)** logo on the top-left corner as the logo -- Used [PhotoPea](https://www.photopea.com/) to make the file from png to svg and resize and used other tools like blur, and to make it the form that we know now +- The icon on the side was **Created by **[@Seigh-sword](https://github.com/Seigh-sword/)** in [canva](https://www.canva.com/)** +- Used **[Turbowarp's](https://turbowarp.org/)** logo on the icon, and also make other assets for this banner +- Used [PhotoPea](https://www.photopea.com/) for attaching every assets made from differnt platforms and enhancing the banner even more. ## Lily/lmsutils.svg - Created by [@HamsterCreativity](https://scratch.mit.edu/users/HamsterCreativity/) in https://github.com/TurboWarp/extensions/issues/90#issuecomment-1694410464. From 300f80f73702081ee6cebbd24b2d335e29266116 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Thu, 15 Jan 2026 10:13:54 +0530 Subject: [PATCH 72/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index e7959fed31..97eb881b93 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -1,7 +1,7 @@ // Name: Turbo Bot // ID: TurboBotEngine // Description: Advanced AI text and image generation with bot memory. -// By: Seigh_sword +// By: Seigh-sword // License: MPL-2.0 // @turbowarp-extension // @unsandboxed From fe107eef93cd20dbbfb79a279e9807a6db7b2c9b Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Thu, 15 Jan 2026 10:18:14 +0530 Subject: [PATCH 73/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 97eb881b93..0ea788eac0 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -1,7 +1,7 @@ // Name: Turbo Bot // ID: TurboBotEngine // Description: Advanced AI text and image generation with bot memory. -// By: Seigh-sword +// By: Seigh_sword // License: MPL-2.0 // @turbowarp-extension // @unsandboxed From a933e2cb1a2d1db3644a6b7b0f103bcf45924a64 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Thu, 15 Jan 2026 10:19:10 +0530 Subject: [PATCH 74/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 0ea788eac0..8ef901ae66 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -1,5 +1,5 @@ // Name: Turbo Bot -// ID: TurboBotEngine +// ID: TurboBotAI // Description: Advanced AI text and image generation with bot memory. // By: Seigh_sword // License: MPL-2.0 @@ -51,7 +51,7 @@ getInfo() { return { - id: "TurboBotEngine", + id: "TurboBotAI", name: Scratch.translate("Turbo Bot"), docsURI: "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", From 93c7c8ad2d8002b561a07ac0f0730c80b0194220 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Thu, 15 Jan 2026 10:25:36 +0530 Subject: [PATCH 75/93] Create turbobot.md --- docs/Seigh-sword/turbobot.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 docs/Seigh-sword/turbobot.md diff --git a/docs/Seigh-sword/turbobot.md b/docs/Seigh-sword/turbobot.md new file mode 100644 index 0000000000..57a0eaae72 --- /dev/null +++ b/docs/Seigh-sword/turbobot.md @@ -0,0 +1,3 @@ +```scratch +hello ::#000000 +``` From f57f505f337146795da8c42043443e7ecf1baa26 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Thu, 15 Jan 2026 10:39:28 +0530 Subject: [PATCH 76/93] Update turbobot.md --- docs/Seigh-sword/turbobot.md | 242 ++++++++++++++++++++++++++++++++++- 1 file changed, 241 insertions(+), 1 deletion(-) diff --git a/docs/Seigh-sword/turbobot.md b/docs/Seigh-sword/turbobot.md index 57a0eaae72..adfb3c265a 100644 --- a/docs/Seigh-sword/turbobot.md +++ b/docs/Seigh-sword/turbobot.md @@ -1,3 +1,243 @@ + +# About all the blocks + +This section explains every block included in the **Turbo Bot** extension. + +## AI ready? + ```scratch -hello ::#000000 + + ``` + +A boolean block that returns **true** if the extension is loaded and ready to process requests. + +## is bot thinking? + +```scratch + + +``` + +This returns **true** while the AI is actively fetching a response or generating an image. It is perfect for making a "Loading" spinner. + +## model? + +```scratch +(model? ::::#FF4C4C) + +``` + +A reporter that tells you which **Text** and **Image** models are currently active (e.g., `T:openai | I:turbo`). + +## bot? + +```scratch +(bot? ::#FF4C4C) + +``` + +Returns the name of the bot currently being used for memory storage. + +## memory + +```scratch +(memory ::#FF4C4C) + +``` + +Returns the raw **JSON** data of all bot conversations stored in the current session. + +--- + +## create bot named [NAME] + +```scratch +create bot named [TurboBot] ::#FF4C4C + +``` + +Creates a new memory slot for a bot. This allows you to have different "personalities" or separate conversations. + +## rename [NAME1] to [NAME2] + +```scratch +rename [TurboBot] to [TurboPal] ::#FF4C4C + +``` + +Changes the name of an existing bot while keeping all its saved conversation memory. + +## delete bot named [NAME] + +```scratch +delete bot named [TurboBot] ::#FF4C4C + +``` + +Permanently deletes a bot and wipes its memory from the project. + +## export bot [NAME] as [TYPE] + +```scratch +(export bot [TurboBot] as [json v] ::#FF4C4C) + +``` + +Converts the bot's memory into a format like **JSON**, **Text**, or **Markdown** so you can save it. + +## import conversation [TEXT] as [TYPE] to bot [NAME] + +```scratch +import conversation [ ] as [json v] to bot [TurboBot] ::#FF4C4C + +``` + +Loads saved conversation data back into a bot. + +--- + +## set text model [MOD] + +```scratch +set text model [openai v] ::#FF4C4C + +``` + +Changes the AI brain used for text (OpenAI, Gemini, Mistral, DeepSeek, etc.). + +## set image model [MOD] + +```scratch +set image model [turbo v] ::#FF4C4C + +``` + +Changes the engine used for generating images (Flux, Anime, 3D, etc.). + +--- + +## set image gen height [H] and width [W] + +```scratch +set image gen height (360) and width (480) ::#FF4C4C + +``` + +Sets the resolution for the AI-generated images. + +## image gen height + +```scratch +(image gen height ::#FF4C4C) + +``` + +Returns the current height setting for images. + +## image gen width + +```scratch +(image gen width ::#FF4C4C) + +``` + +Returns the current width setting for images. + +--- + +## prompt [TEXT] + +```scratch +(prompt [Hello!] ::#FF4C4C) + +``` + +The main block for talking to the AI. It sends your message and returns the AI's answer as text. + +## set image from prompt [TEXT] as SVG costume named [NAME] + +```scratch +set image from prompt [a futuristic car] as SVG costume named [costume2] ::#FF4C4C + +``` + +**Requires Unsandboxed Mode.** This block asks the AI to draw an image and automatically adds it to your sprite as a new costume. + +## get url for image prompt [TEXT] + +```scratch +(get url for image prompt [a racecar] ::#FF4C4C) + +``` + +Generates a direct link (URL) to an AI image based on your description. + +## attach file url [URL] + +```scratch +attach file url [[https://example.com/image.png](https://example.com/image.png)] ::#FF4C4C + +``` + +Allows you to provide an image URL that the AI can "look at" or use as a reference. + +--- + +## set system log [LOG] + +```scratch +set system log [You are a funny pirate.] ::#FF4C4C + +``` + +Sets the "System Prompt." This tells the AI how to behave (e.g., "Act like a teacher" or "Speak only in code"). + +## set context [CTX] and prompt [TEXT] + +```scratch +(set context [Persona] and prompt [Who are you?] ::#FF4C4C) + +``` + +Sends a prompt with a specific context label to help the AI understand the situation better. + +--- + +## set temperature [N] + +```scratch +set temperature (1) ::#FF4C4C + +``` + +Controls "Creativity." **0.1** is very focused and serious, while **1.0** or higher is more creative and random. + +## set seed [N] + +```scratch +set seed (12345) ::#FF4C4C + +``` + +Sets a specific "Random Seed." Using the same seed with the same prompt will give you the same result every time. + +## seed + +```scratch +(seed ::#FF4C4C) + +``` + +Returns the current random seed being used. + +## temperature + +```scratch +(temperature ::#FF4C4C) + +``` + +Returns the current creativity level (temperature). + +--- From 8af62fb4e959d12695df6541abd244d0e5564316 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Thu, 15 Jan 2026 10:42:49 +0530 Subject: [PATCH 77/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 8ef901ae66..1f0013441e 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -53,8 +53,7 @@ return { id: "TurboBotAI", name: Scratch.translate("Turbo Bot"), - docsURI: - "https://github.com/Seigh-sword/TurboBot-Turbwarp?tab=readme-ov-file#turbobot", + docsURI: "https://docs.turbowarp.org/extensions/Seigh-sword/turbobot", menuIconURI: icon, blockIconURI: icon, color1: blockColor, From 28ce6af5255af313889987612118d925f9be8d9c Mon Sep 17 00:00:00 2001 From: "DangoCat[bot]" Date: Thu, 15 Jan 2026 05:14:12 +0000 Subject: [PATCH 78/93] [Automated] Format code --- extensions/Seigh-sword/turbobot.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 1f0013441e..d94c8f3cf3 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -53,7 +53,7 @@ return { id: "TurboBotAI", name: Scratch.translate("Turbo Bot"), - docsURI: "https://docs.turbowarp.org/extensions/Seigh-sword/turbobot", + docsURI: "https://docs.turbowarp.org/extensions/Seigh-sword/turbobot", menuIconURI: icon, blockIconURI: icon, color1: blockColor, From 6841d25e0aee75baa601f7382e1c810a09205048 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Thu, 15 Jan 2026 11:04:31 +0530 Subject: [PATCH 79/93] Update turbobot.js From 4a4d411484cc5a0556c634e8d2fc38cdea08bec3 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Thu, 15 Jan 2026 13:00:25 +0530 Subject: [PATCH 80/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 452 ++++++++++------------------- 1 file changed, 146 insertions(+), 306 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index d94c8f3cf3..60c3d91d3d 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -13,13 +13,14 @@ // \ \ \ \ \ \\\ \ \ \\ \\ \ \|\ \ \ \\\ \ \ \|\ \ \ \\\ \ \ \ \ \ \ \ \ \ \ \ // \ \__\ \ \_______\ \__\\ _\\ \_______\ \_______\ \_______\ \_______\ \ \__\ \ \__\ \__\ \__\ // \|__| \|_______|\|__|\|__|\|_______|\|_______|\|_______|\|_______| \|__| \|__|\|__|\|__| -// (function (Scratch) { "use strict"; - //PRIVACY & SECURITY NOTE: - //This extension only needs unsandboxed mode Only to allow the AI to upload generated image into users sprite's costumes Sandboxed exetensions are not allowed to accesse TurboWarp's asset system or service. +//PRIVACY & SECURITY NOTE: + // This extension only needs unsandboxed mode Only to allow the AI to upload generated image into users sprite's costumes + // but Sandboxed exetensions are not allowed to access TurboWarp's asset system or service. and that is the reason for + // making this extension only run on unsandboxed mode, other wise this won't work so, turbowarp devs keep taht in mind if (!Scratch.extensions.unsandboxed) { throw new Error( @@ -27,8 +28,7 @@ ); } - const icon = - "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; // to get my image icon for the icon for my blocks + const icon = "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; const blockColor = "#FF4C4C"; const menuColor = "#B00000"; @@ -45,8 +45,7 @@ this.genWidth = 480; this.genHeight = 360; - this.safetyGuard = - " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; + this.safetyGuard = " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; } getInfo() { @@ -59,112 +58,64 @@ color1: blockColor, color2: menuColor, blocks: [ - { - opcode: "isReady", - blockType: Scratch.BlockType.BOOLEAN, - text: Scratch.translate("AI ready?"), - }, - { - opcode: "isThinking", - blockType: Scratch.BlockType.BOOLEAN, - text: Scratch.translate("is bot thinking?"), - }, - { - opcode: "getCurrentModel", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("model?"), - }, - { - opcode: "getBotName", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("bot?"), - }, - { - opcode: "getMemory", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("memory"), - }, + { opcode: "isReady", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("AI ready?") }, + { opcode: "isThinking", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("is bot thinking?") }, + { opcode: "getCurrentModel", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("model?") }, + { opcode: "getBotName", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("bot?") }, + { opcode: "getMemory", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("memory") }, "---", { opcode: "createBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("create bot named [NAME]"), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, + arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, { opcode: "renameBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("rename [NAME1] to [NAME2]"), arguments: { - NAME1: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - NAME2: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboPal", - }, - }, + NAME1: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, + NAME2: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboPal" } + } }, { opcode: "deleteBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("delete bot named [NAME]"), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, + arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, { opcode: "exportBot", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("export bot [NAME] as [TYPE]"), arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" }, - }, + NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, + TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" } + } }, { opcode: "importBot", blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate( - "import conversation [TEXT] as [TYPE] to bot [NAME]" - ), + text: Scratch.translate("import conversation [TEXT] as [TYPE] to bot [NAME]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "[]" }, TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" }, - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, + NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } + } }, "---", { opcode: "setTextModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set text model [MOD]"), - arguments: { - MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" }, - }, + arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" } } }, { opcode: "setImageModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image model [MOD]"), - arguments: { - MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" }, - }, + arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" } } }, "---", { @@ -173,222 +124,132 @@ text: Scratch.translate("set image gen height [H] and width [W]"), arguments: { H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 360 }, - W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 480 }, - }, - }, - { - opcode: "getGenHeight", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("image gen height"), - }, - { - opcode: "getGenWidth", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("image gen width"), + W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 480 } + } }, + { opcode: "getGenHeight", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen height") }, + { opcode: "getGenWidth", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen width") }, "---", { opcode: "simplePrompt", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("prompt [TEXT]"), - arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Hello!", - }, - }, + arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, { opcode: "setCostumeFromPrompt", blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate( - "set image from prompt [TEXT] as SVG costume named [NAME]" - ), + text: Scratch.translate("set image from prompt [TEXT] as SVG costume named [NAME]"), arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "racecar", - }, - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "costume2", - }, - }, + TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "racecar" }, + NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "costume2" } + } }, { opcode: "getImageUrl", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("get url for image prompt [TEXT]"), - arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "a racecar", - }, - }, + arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a racecar" } } }, { opcode: "attachFile", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("attach file url [URL]"), - arguments: { - URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" }, - }, + arguments: { URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" } } }, "---", + { - opcode: "setSystem", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set system log [LOG]"), + opcode: "setContextText", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("set context [CTX] and prompt [TEXT]"), arguments: { - LOG: { - type: Scratch.ArgumentType.STRING, - defaultValue: "You are a helpful assistant.", - }, - }, + CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Persona" }, + TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } + } }, + { - opcode: "setContextText", + opcode: "setContextImageURL", blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("set context [CTX] and prompt [TEXT]"), + text: Scratch.translate("set text context [CTX] and generate image url for [TEXT]"), arguments: { - CTX: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Persona", - }, - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Hello!", - }, - }, + CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Pixel Art" }, + TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a dragon" } + } }, - "---", + { - opcode: "setTemp", + opcode: "setContextImageCostume", blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set temperature [N]"), + text: Scratch.translate("set text context [CTX] and generate image [TEXT] as costume named [NAME]"), arguments: { - N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 }, - }, + CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Cyberpunk" }, + TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a car" }, + NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "AI_Costume" } + } }, + "---", { - opcode: "setSeed", + opcode: "setSystem", blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set seed [N]"), - arguments: { - N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 }, - }, + text: Scratch.translate("set system log [LOG]"), + arguments: { LOG: { type: Scratch.ArgumentType.STRING, defaultValue: "You are a helpful assistant." } } }, { - opcode: "getSeed", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("seed"), + opcode: "setTemp", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set temperature [N]"), + arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 } } }, { - opcode: "getTemp", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("temperature"), + opcode: "setSeed", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set seed [N]"), + arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 } } }, + { opcode: "getSeed", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("seed") }, + { opcode: "getTemp", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("temperature") }, ], menus: { - textMenu: { - acceptReporters: true, - items: [ - "openai", - "mistral", - "gemini", - "deepseek-r1", - "p1", - "llama", - ], - }, - imageMenu: { - acceptReporters: true, - items: [ - "turbo", - "flux-pro", - "flux-realism", - "flux-anime", - "flux-3d", - "flux", - "any", - ], - }, - fileMenu: { - acceptReporters: true, - items: ["json", "text", "markdown", "csv", "html"], - }, - }, + textMenu: { acceptReporters: true, items: ["openai", "mistral", "gemini", "deepseek-r1", "p1", "llama"] }, + imageMenu: { acceptReporters: true, items: ["turbo", "flux-pro", "flux-realism", "flux-anime", "flux-3d", "flux", "any"] }, + fileMenu: { acceptReporters: true, items: ["json", "text", "markdown", "csv", "html"] } + } }; } - /* Core logic for managing bot data and configuration */ - isReady() { - return true; - } - isThinking() { - return this.isFetching; - } - getCurrentModel() { - return `T:${this.textModel} | I:${this.imageModel}`; - } - getBotName() { - return Object.keys(this.bots)[0] || "None"; - } - getMemory() { - return JSON.stringify(this.bots); - } - getSeed() { - return this.seed; - } - getTemp() { - return this.temp; - } - getGenHeight() { - return this.genHeight; - } - getGenWidth() { - return this.genWidth; - } - createBot({ NAME }) { - if (!this.bots[NAME]) this.bots[NAME] = []; - } + isReady() { return true; } + isThinking() { return this.isFetching; } + getCurrentModel() { return `T:${this.textModel} | I:${this.imageModel}`; } + getBotName() { return Object.keys(this.bots)[0] || "None"; } + getMemory() { return JSON.stringify(this.bots); } + getSeed() { return this.seed; } + getTemp() { return this.temp; } + getGenHeight() { return this.genHeight; } + getGenWidth() { return this.genWidth; } + + createBot({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; } renameBot({ NAME1, NAME2 }) { if (this.bots[NAME1] && !this.bots[NAME2]) { this.bots[NAME2] = this.bots[NAME1]; delete this.bots[NAME1]; } } + deleteBot({ NAME }) { delete this.bots[NAME]; } - deleteBot({ NAME }) { - delete this.bots[NAME]; - } - setTextModel({ MOD }) { - this.textModel = MOD; - } - setImageModel({ MOD }) { - this.imageModel = MOD; - } - setTemp({ N }) { - this.temp = N; - } - setSeed({ N }) { - this.seed = N; - } - setSystem({ LOG }) { - this.systemLog = LOG; - } - attachFile({ URL }) { - this.attachedFile = URL; - } - setImageSize({ H, W }) { - this.genHeight = H; - this.genWidth = W; - } + setTextModel({ MOD }) { this.textModel = MOD; } + setImageModel({ MOD }) { this.imageModel = MOD; } + setTemp({ N }) { this.temp = N; } + setSeed({ N }) { this.seed = N; } + setSystem({ LOG }) { this.systemLog = LOG; } + attachFile({ URL }) { this.attachedFile = URL; } + setImageSize({ H, W }) { this.genHeight = H; this.genWidth = W; } + - /* Chat Export/Import Reporters */ importBot({ TEXT, TYPE, NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; try { @@ -398,94 +259,31 @@ } else { this.bots[NAME].push({ q: "Imported Data", a: TEXT }); } - } catch (err) { - console.error("Import failed: Invalid Format"); - } + } catch (err) { console.error("Import failed"); } } exportBot({ NAME, TYPE }) { const history = this.bots[NAME]; if (!history || history.length === 0) return ""; - - if (TYPE === "json") { - return JSON.stringify(history); - } else if (TYPE === "text") { - return history.map((h) => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); - } else if (TYPE === "markdown") { - return history - .map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`) - .join("\n\n---\n\n"); - } else if (TYPE === "csv") { - return ( - "Question,Answer\n" + - history - .map( - (h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"` - ) - .join("\n") - ); - } else if (TYPE === "html") { - return `${history.map((h) => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; - } + if (TYPE === "json") return JSON.stringify(history); + if (TYPE === "text") return history.map((h) => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); + if (TYPE === "markdown") return history.map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`).join("\n\n---\n\n"); + if (TYPE === "csv") return "Question,Answer\n" + history.map((h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"`).join("\n"); + if (TYPE === "html") return `${history.map((h) => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; return ""; } - /* Costume Block - Needs Unsandboxed for storage.createAsset */ - async setCostumeFromPrompt(args, util) { - const imageUrl = this.getImageUrl({ TEXT: args.TEXT }); - this.isFetching = true; - try { - const response = await Scratch.fetch(imageUrl); - const blob = await response.blob(); - - const reader = new FileReader(); - const dataUrl = await new Promise((resolve) => { - reader.onloadend = () => resolve(reader.result); - reader.readAsDataURL(blob); - }); - const svgContent = ``; - const storage = util.runtime.storage; - - const asset = await storage.createAsset( - storage.AssetType.ImageVector, - storage.DataFormat.SVG, - new TextEncoder().encode(svgContent), - null, - true - ); - const costume = { - name: args.NAME, - asset: asset, - md5: asset.assetId + ".svg", - assetId: asset.assetId, - dataFormat: "svg", - rotationCenterX: this.genWidth / 2, - rotationCenterY: this.genHeight / 2, - }; - util.target.addCostume(costume); - util.target.setCostume(util.target.getCostumeIndexByName(args.NAME)); - this.isFetching = false; - } catch (e) { - this.isFetching = false; - console.error("Costume generation error:", e); - } - } - - /* AI Text Request Logic */ async simplePrompt({ TEXT }) { this.isFetching = true; try { const fullSystem = this.systemLog + this.safetyGuard; const url = `https://text.pollinations.ai/${encodeURIComponent(TEXT)}?model=${this.textModel}&system=${encodeURIComponent(fullSystem)}&seed=${this.seed}&temperature=${this.temp}`; - const r = await Scratch.fetch(url); const res = await r.text(); this.isFetching = false; const botNames = Object.keys(this.bots); - if (botNames.length > 0) { - this.bots[botNames[0]].push({ q: TEXT, a: res }); - } + if (botNames.length > 0) this.bots[botNames[0]].push({ q: TEXT, a: res }); return res; } catch (e) { this.isFetching = false; @@ -497,12 +295,54 @@ return await this.simplePrompt({ TEXT: `[Context: ${CTX}] ${TEXT}` }); } + + _buildImageUrl(ctx, text) { + const fullPrompt = ctx ? `${ctx}, ${text}` : text; + let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(fullPrompt)}?model=${this.imageModel}&seed=${this.seed}&width=${this.genWidth}&height=${this.genHeight}&nologo=true`; + if (this.attachedFile) url += `&feed=${encodeURIComponent(this.attachedFile)}`; + return url; + } + + setContextImageURL({ CTX, TEXT }) { + return this._buildImageUrl(CTX, TEXT); + } + getImageUrl({ TEXT }) { - let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(TEXT)}?model=${this.imageModel}&seed=${this.seed}&width=${this.genWidth}&height=${this.genHeight}&nologo=true`; - if (this.attachedFile) { - url += `&feed=${encodeURIComponent(this.attachedFile)}`; + return this._buildImageUrl("", TEXT); + } + + async setContextImageCostume(args, util) { + const url = this._buildImageUrl(args.CTX, args.TEXT); + await this._handleCostumeGen(url, args.NAME, util); + } + + async setCostumeFromPrompt(args, util) { + const url = this._buildImageUrl("", args.TEXT); + await this._handleCostumeGen(url, args.NAME, util); + } + + + async _handleCostumeGen(imageUrl, name, util) { + this.isFetching = true; + try { + const response = await Scratch.fetch(imageUrl); + const blob = await response.blob(); + const reader = new FileReader(); + const dataUrl = await new Promise((resolve) => { + reader.onloadend = () => resolve(reader.result); + reader.readAsDataURL(blob); + }); + const svgContent = ``; + const storage = util.runtime.storage; + const asset = await storage.createAsset(storage.AssetType.ImageVector, storage.DataFormat.SVG, new TextEncoder().encode(svgContent), null, true); + const costume = { name: name, asset: asset, md5: asset.assetId + ".svg", assetId: asset.assetId, dataFormat: "svg", rotationCenterX: this.genWidth / 2, rotationCenterY: this.genHeight / 2 }; + util.target.addCostume(costume); + util.target.setCostume(util.target.getCostumeIndexByName(name)); + this.isFetching = false; + } catch (e) { + this.isFetching = false; + console.error("Costume gen failed", e); } - return url; } } From a8757a0f6097464cea54cd47961994f05a85662c Mon Sep 17 00:00:00 2001 From: "DangoCat[bot]" Date: Thu, 15 Jan 2026 07:31:38 +0000 Subject: [PATCH 81/93] [Automated] Format code --- extensions/Seigh-sword/turbobot.js | 383 ++++++++++++++++++++++------- 1 file changed, 294 insertions(+), 89 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 60c3d91d3d..60b4b34447 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -17,7 +17,7 @@ (function (Scratch) { "use strict"; -//PRIVACY & SECURITY NOTE: + //PRIVACY & SECURITY NOTE: // This extension only needs unsandboxed mode Only to allow the AI to upload generated image into users sprite's costumes // but Sandboxed exetensions are not allowed to access TurboWarp's asset system or service. and that is the reason for // making this extension only run on unsandboxed mode, other wise this won't work so, turbowarp devs keep taht in mind @@ -28,7 +28,8 @@ ); } - const icon = "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; + const icon = + "https://raw.githubusercontent.com/Seigh-sword/TurboBot-Turbwarp/refs/heads/main/assets/TurboBotIcon.png"; const blockColor = "#FF4C4C"; const menuColor = "#B00000"; @@ -45,7 +46,8 @@ this.genWidth = 480; this.genHeight = 360; - this.safetyGuard = " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; + this.safetyGuard = + " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; } getInfo() { @@ -58,64 +60,112 @@ color1: blockColor, color2: menuColor, blocks: [ - { opcode: "isReady", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("AI ready?") }, - { opcode: "isThinking", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("is bot thinking?") }, - { opcode: "getCurrentModel", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("model?") }, - { opcode: "getBotName", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("bot?") }, - { opcode: "getMemory", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("memory") }, + { + opcode: "isReady", + blockType: Scratch.BlockType.BOOLEAN, + text: Scratch.translate("AI ready?"), + }, + { + opcode: "isThinking", + blockType: Scratch.BlockType.BOOLEAN, + text: Scratch.translate("is bot thinking?"), + }, + { + opcode: "getCurrentModel", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("model?"), + }, + { + opcode: "getBotName", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("bot?"), + }, + { + opcode: "getMemory", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("memory"), + }, "---", { opcode: "createBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("create bot named [NAME]"), - arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, }, { opcode: "renameBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("rename [NAME1] to [NAME2]"), arguments: { - NAME1: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, - NAME2: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboPal" } - } + NAME1: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + NAME2: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboPal", + }, + }, }, { opcode: "deleteBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("delete bot named [NAME]"), - arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, }, { opcode: "exportBot", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("export bot [NAME] as [TYPE]"), arguments: { - NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, - TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" } - } + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" }, + }, }, { opcode: "importBot", blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("import conversation [TEXT] as [TYPE] to bot [NAME]"), + text: Scratch.translate( + "import conversation [TEXT] as [TYPE] to bot [NAME]" + ), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "[]" }, TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" }, - NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } - } + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, }, "---", { opcode: "setTextModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set text model [MOD]"), - arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" } } + arguments: { + MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" }, + }, }, { opcode: "setImageModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image model [MOD]"), - arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" } } + arguments: { + MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" }, + }, }, "---", { @@ -124,131 +174,258 @@ text: Scratch.translate("set image gen height [H] and width [W]"), arguments: { H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 360 }, - W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 480 } - } + W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 480 }, + }, + }, + { + opcode: "getGenHeight", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("image gen height"), + }, + { + opcode: "getGenWidth", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("image gen width"), }, - { opcode: "getGenHeight", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen height") }, - { opcode: "getGenWidth", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen width") }, "---", { opcode: "simplePrompt", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("prompt [TEXT]"), - arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Hello!", + }, + }, }, { opcode: "setCostumeFromPrompt", blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set image from prompt [TEXT] as SVG costume named [NAME]"), + text: Scratch.translate( + "set image from prompt [TEXT] as SVG costume named [NAME]" + ), arguments: { - TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "racecar" }, - NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "costume2" } - } + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "racecar", + }, + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "costume2", + }, + }, }, { opcode: "getImageUrl", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("get url for image prompt [TEXT]"), - arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a racecar" } } + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "a racecar", + }, + }, }, { opcode: "attachFile", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("attach file url [URL]"), - arguments: { URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" } } + arguments: { + URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" }, + }, }, "---", - + { opcode: "setContextText", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("set context [CTX] and prompt [TEXT]"), arguments: { - CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Persona" }, - TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } - } + CTX: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Persona", + }, + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Hello!", + }, + }, }, { opcode: "setContextImageURL", blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("set text context [CTX] and generate image url for [TEXT]"), + text: Scratch.translate( + "set text context [CTX] and generate image url for [TEXT]" + ), arguments: { - CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Pixel Art" }, - TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a dragon" } - } + CTX: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Pixel Art", + }, + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "a dragon", + }, + }, }, - + { opcode: "setContextImageCostume", blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set text context [CTX] and generate image [TEXT] as costume named [NAME]"), + text: Scratch.translate( + "set text context [CTX] and generate image [TEXT] as costume named [NAME]" + ), arguments: { - CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Cyberpunk" }, - TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a car" }, - NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "AI_Costume" } - } + CTX: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Cyberpunk", + }, + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "a car", + }, + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "AI_Costume", + }, + }, }, "---", { opcode: "setSystem", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set system log [LOG]"), - arguments: { LOG: { type: Scratch.ArgumentType.STRING, defaultValue: "You are a helpful assistant." } } + arguments: { + LOG: { + type: Scratch.ArgumentType.STRING, + defaultValue: "You are a helpful assistant.", + }, + }, }, { opcode: "setTemp", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set temperature [N]"), - arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 } } + arguments: { + N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 }, + }, }, { opcode: "setSeed", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set seed [N]"), - arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 } } + arguments: { + N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 }, + }, + }, + { + opcode: "getSeed", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("seed"), + }, + { + opcode: "getTemp", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("temperature"), }, - { opcode: "getSeed", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("seed") }, - { opcode: "getTemp", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("temperature") }, ], menus: { - textMenu: { acceptReporters: true, items: ["openai", "mistral", "gemini", "deepseek-r1", "p1", "llama"] }, - imageMenu: { acceptReporters: true, items: ["turbo", "flux-pro", "flux-realism", "flux-anime", "flux-3d", "flux", "any"] }, - fileMenu: { acceptReporters: true, items: ["json", "text", "markdown", "csv", "html"] } - } + textMenu: { + acceptReporters: true, + items: [ + "openai", + "mistral", + "gemini", + "deepseek-r1", + "p1", + "llama", + ], + }, + imageMenu: { + acceptReporters: true, + items: [ + "turbo", + "flux-pro", + "flux-realism", + "flux-anime", + "flux-3d", + "flux", + "any", + ], + }, + fileMenu: { + acceptReporters: true, + items: ["json", "text", "markdown", "csv", "html"], + }, + }, }; } + isReady() { + return true; + } + isThinking() { + return this.isFetching; + } + getCurrentModel() { + return `T:${this.textModel} | I:${this.imageModel}`; + } + getBotName() { + return Object.keys(this.bots)[0] || "None"; + } + getMemory() { + return JSON.stringify(this.bots); + } + getSeed() { + return this.seed; + } + getTemp() { + return this.temp; + } + getGenHeight() { + return this.genHeight; + } + getGenWidth() { + return this.genWidth; + } - isReady() { return true; } - isThinking() { return this.isFetching; } - getCurrentModel() { return `T:${this.textModel} | I:${this.imageModel}`; } - getBotName() { return Object.keys(this.bots)[0] || "None"; } - getMemory() { return JSON.stringify(this.bots); } - getSeed() { return this.seed; } - getTemp() { return this.temp; } - getGenHeight() { return this.genHeight; } - getGenWidth() { return this.genWidth; } - - - createBot({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; } + createBot({ NAME }) { + if (!this.bots[NAME]) this.bots[NAME] = []; + } renameBot({ NAME1, NAME2 }) { if (this.bots[NAME1] && !this.bots[NAME2]) { this.bots[NAME2] = this.bots[NAME1]; delete this.bots[NAME1]; } } - deleteBot({ NAME }) { delete this.bots[NAME]; } - - - setTextModel({ MOD }) { this.textModel = MOD; } - setImageModel({ MOD }) { this.imageModel = MOD; } - setTemp({ N }) { this.temp = N; } - setSeed({ N }) { this.seed = N; } - setSystem({ LOG }) { this.systemLog = LOG; } - attachFile({ URL }) { this.attachedFile = URL; } - setImageSize({ H, W }) { this.genHeight = H; this.genWidth = W; } + deleteBot({ NAME }) { + delete this.bots[NAME]; + } + setTextModel({ MOD }) { + this.textModel = MOD; + } + setImageModel({ MOD }) { + this.imageModel = MOD; + } + setTemp({ N }) { + this.temp = N; + } + setSeed({ N }) { + this.seed = N; + } + setSystem({ LOG }) { + this.systemLog = LOG; + } + attachFile({ URL }) { + this.attachedFile = URL; + } + setImageSize({ H, W }) { + this.genHeight = H; + this.genWidth = W; + } importBot({ TEXT, TYPE, NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; @@ -259,21 +436,35 @@ } else { this.bots[NAME].push({ q: "Imported Data", a: TEXT }); } - } catch (err) { console.error("Import failed"); } + } catch (err) { + console.error("Import failed"); + } } exportBot({ NAME, TYPE }) { const history = this.bots[NAME]; if (!history || history.length === 0) return ""; if (TYPE === "json") return JSON.stringify(history); - if (TYPE === "text") return history.map((h) => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); - if (TYPE === "markdown") return history.map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`).join("\n\n---\n\n"); - if (TYPE === "csv") return "Question,Answer\n" + history.map((h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"`).join("\n"); - if (TYPE === "html") return `${history.map((h) => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; + if (TYPE === "text") + return history.map((h) => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); + if (TYPE === "markdown") + return history + .map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`) + .join("\n\n---\n\n"); + if (TYPE === "csv") + return ( + "Question,Answer\n" + + history + .map( + (h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"` + ) + .join("\n") + ); + if (TYPE === "html") + return `${history.map((h) => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; return ""; } - async simplePrompt({ TEXT }) { this.isFetching = true; try { @@ -283,7 +474,8 @@ const res = await r.text(); this.isFetching = false; const botNames = Object.keys(this.bots); - if (botNames.length > 0) this.bots[botNames[0]].push({ q: TEXT, a: res }); + if (botNames.length > 0) + this.bots[botNames[0]].push({ q: TEXT, a: res }); return res; } catch (e) { this.isFetching = false; @@ -295,11 +487,11 @@ return await this.simplePrompt({ TEXT: `[Context: ${CTX}] ${TEXT}` }); } - _buildImageUrl(ctx, text) { const fullPrompt = ctx ? `${ctx}, ${text}` : text; let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(fullPrompt)}?model=${this.imageModel}&seed=${this.seed}&width=${this.genWidth}&height=${this.genHeight}&nologo=true`; - if (this.attachedFile) url += `&feed=${encodeURIComponent(this.attachedFile)}`; + if (this.attachedFile) + url += `&feed=${encodeURIComponent(this.attachedFile)}`; return url; } @@ -321,7 +513,6 @@ await this._handleCostumeGen(url, args.NAME, util); } - async _handleCostumeGen(imageUrl, name, util) { this.isFetching = true; try { @@ -334,8 +525,22 @@ }); const svgContent = ``; const storage = util.runtime.storage; - const asset = await storage.createAsset(storage.AssetType.ImageVector, storage.DataFormat.SVG, new TextEncoder().encode(svgContent), null, true); - const costume = { name: name, asset: asset, md5: asset.assetId + ".svg", assetId: asset.assetId, dataFormat: "svg", rotationCenterX: this.genWidth / 2, rotationCenterY: this.genHeight / 2 }; + const asset = await storage.createAsset( + storage.AssetType.ImageVector, + storage.DataFormat.SVG, + new TextEncoder().encode(svgContent), + null, + true + ); + const costume = { + name: name, + asset: asset, + md5: asset.assetId + ".svg", + assetId: asset.assetId, + dataFormat: "svg", + rotationCenterX: this.genWidth / 2, + rotationCenterY: this.genHeight / 2, + }; util.target.addCostume(costume); util.target.setCostume(util.target.getCostumeIndexByName(name)); this.isFetching = false; From c359e8f152479ef01a114d985637137068e30a3a Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Thu, 15 Jan 2026 13:36:14 +0530 Subject: [PATCH 82/93] Add files via upload --- samples/turbobot_sample.sb3 | Bin 0 -> 172221 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 samples/turbobot_sample.sb3 diff --git a/samples/turbobot_sample.sb3 b/samples/turbobot_sample.sb3 new file mode 100644 index 0000000000000000000000000000000000000000..19d020cd40961c0242059fa9a425d20b2ecd1c2f GIT binary patch literal 172221 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 z�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 Date: Thu, 15 Jan 2026 13:40:56 +0530 Subject: [PATCH 83/93] Rename samples/turbobot_sample.sb3 to samples/Seigh-sword/Turbobot_sample.sb3 --- .../Turbobot_sample.sb3} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename samples/{turbobot_sample.sb3 => Seigh-sword/Turbobot_sample.sb3} (100%) diff --git a/samples/turbobot_sample.sb3 b/samples/Seigh-sword/Turbobot_sample.sb3 similarity index 100% rename from samples/turbobot_sample.sb3 rename to samples/Seigh-sword/Turbobot_sample.sb3 From 3e0a2a4b65551587380da015e064541a860f6aa6 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Thu, 15 Jan 2026 13:48:40 +0530 Subject: [PATCH 84/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 502 ++++++----------------------- 1 file changed, 97 insertions(+), 405 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 60b4b34447..ee8de23ca4 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -33,7 +33,7 @@ const blockColor = "#FF4C4C"; const menuColor = "#B00000"; - class TurboBot { + class TurboBot { constructor() { this.bots = {}; this.textModel = "openai"; @@ -46,8 +46,13 @@ this.genWidth = 480; this.genHeight = 360; - this.safetyGuard = - " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, violent, or unsafe, decline politely. Otherwise, follow the user's roleplay and instructions perfectly."; + + this.lastTextTime = 0; + this.lastImageTime = 0; + this.textCooldown = 1000; + this.imageCooldown = 32000; + + this.safetyGuard = " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, decline politely."; } getInfo() { @@ -60,372 +65,69 @@ color1: blockColor, color2: menuColor, blocks: [ - { - opcode: "isReady", - blockType: Scratch.BlockType.BOOLEAN, - text: Scratch.translate("AI ready?"), - }, - { - opcode: "isThinking", - blockType: Scratch.BlockType.BOOLEAN, - text: Scratch.translate("is bot thinking?"), - }, - { - opcode: "getCurrentModel", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("model?"), - }, - { - opcode: "getBotName", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("bot?"), - }, - { - opcode: "getMemory", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("memory"), - }, + { opcode: "isReady", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("AI ready?") }, + { opcode: "isThinking", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("is bot thinking?") }, + { opcode: "getCurrentModel", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("model?") }, + { opcode: "getBotName", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("bot?") }, + { opcode: "getMemory", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("memory") }, "---", - { - opcode: "createBot", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("create bot named [NAME]"), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, - }, - { - opcode: "renameBot", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("rename [NAME1] to [NAME2]"), - arguments: { - NAME1: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - NAME2: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboPal", - }, - }, - }, - { - opcode: "deleteBot", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("delete bot named [NAME]"), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, - }, - { - opcode: "exportBot", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("export bot [NAME] as [TYPE]"), - arguments: { - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" }, - }, - }, - { - opcode: "importBot", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate( - "import conversation [TEXT] as [TYPE] to bot [NAME]" - ), - arguments: { - TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "[]" }, - TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" }, - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "TurboBot", - }, - }, - }, + { opcode: "createBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("create bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, + { opcode: "renameBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("rename [NAME1] to [NAME2]"), arguments: { NAME1: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, NAME2: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboPal" } } }, + { opcode: "deleteBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("delete bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, + { opcode: "exportBot", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("export bot [NAME] as [TYPE]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" } } }, + { opcode: "importBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("import conversation [TEXT] as [TYPE] to bot [NAME]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "[]" }, TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" }, NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, "---", - { - opcode: "setTextModel", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set text model [MOD]"), - arguments: { - MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" }, - }, - }, - { - opcode: "setImageModel", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set image model [MOD]"), - arguments: { - MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" }, - }, - }, + { opcode: "setTextModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set text model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" } } }, + { opcode: "setImageModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" } } }, "---", - { - opcode: "setImageSize", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set image gen height [H] and width [W]"), - arguments: { - H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 360 }, - W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 480 }, - }, - }, - { - opcode: "getGenHeight", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("image gen height"), - }, - { - opcode: "getGenWidth", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("image gen width"), - }, + { opcode: "setImageSize", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image gen height [H] and width [W]"), arguments: { H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 360 }, W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 480 } } }, + { opcode: "getGenHeight", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen height") }, + { opcode: "getGenWidth", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen width") }, "---", - { - opcode: "simplePrompt", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("prompt [TEXT]"), - arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Hello!", - }, - }, - }, - { - opcode: "setCostumeFromPrompt", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate( - "set image from prompt [TEXT] as SVG costume named [NAME]" - ), - arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "racecar", - }, - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "costume2", - }, - }, - }, - { - opcode: "getImageUrl", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("get url for image prompt [TEXT]"), - arguments: { - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "a racecar", - }, - }, - }, - { - opcode: "attachFile", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("attach file url [URL]"), - arguments: { - URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" }, - }, - }, + { opcode: "simplePrompt", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, + { opcode: "setCostumeFromPrompt", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image from prompt [TEXT] as SVG costume named [NAME]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "racecar" }, NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "costume2" } } }, + { opcode: "getImageUrl", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("get url for image prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a racecar" } } }, + { opcode: "attachFile", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("attach file url [URL]"), arguments: { URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" } } }, "---", - - { - opcode: "setContextText", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("set context [CTX] and prompt [TEXT]"), - arguments: { - CTX: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Persona", - }, - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Hello!", - }, - }, - }, - - { - opcode: "setContextImageURL", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate( - "set text context [CTX] and generate image url for [TEXT]" - ), - arguments: { - CTX: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Pixel Art", - }, - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "a dragon", - }, - }, - }, - - { - opcode: "setContextImageCostume", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate( - "set text context [CTX] and generate image [TEXT] as costume named [NAME]" - ), - arguments: { - CTX: { - type: Scratch.ArgumentType.STRING, - defaultValue: "Cyberpunk", - }, - TEXT: { - type: Scratch.ArgumentType.STRING, - defaultValue: "a car", - }, - NAME: { - type: Scratch.ArgumentType.STRING, - defaultValue: "AI_Costume", - }, - }, - }, + { opcode: "setContextText", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("set context [CTX] and prompt [TEXT]"), arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Persona" }, TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, + { opcode: "setContextImageURL", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("set text context [CTX] and generate image url for [TEXT]"), arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Pixel Art" }, TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a dragon" } } }, + { opcode: "setContextImageCostume", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set text context [CTX] and generate image [TEXT] as costume named [NAME]"), arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Cyberpunk" }, TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a car" }, NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "AI_Costume" } } }, "---", - { - opcode: "setSystem", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set system log [LOG]"), - arguments: { - LOG: { - type: Scratch.ArgumentType.STRING, - defaultValue: "You are a helpful assistant.", - }, - }, - }, - { - opcode: "setTemp", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set temperature [N]"), - arguments: { - N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 }, - }, - }, - { - opcode: "setSeed", - blockType: Scratch.BlockType.COMMAND, - text: Scratch.translate("set seed [N]"), - arguments: { - N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 }, - }, - }, - { - opcode: "getSeed", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("seed"), - }, - { - opcode: "getTemp", - blockType: Scratch.BlockType.REPORTER, - text: Scratch.translate("temperature"), - }, + { opcode: "setSystem", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set system log [LOG]"), arguments: { LOG: { type: Scratch.ArgumentType.STRING, defaultValue: "You are a helpful assistant." } } }, + { opcode: "setTemp", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set temperature [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 } } }, + { opcode: "setSeed", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set seed [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 } } }, + { opcode: "getSeed", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("seed") }, + { opcode: "getTemp", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("temperature") }, ], menus: { - textMenu: { - acceptReporters: true, - items: [ - "openai", - "mistral", - "gemini", - "deepseek-r1", - "p1", - "llama", - ], - }, - imageMenu: { - acceptReporters: true, - items: [ - "turbo", - "flux-pro", - "flux-realism", - "flux-anime", - "flux-3d", - "flux", - "any", - ], - }, - fileMenu: { - acceptReporters: true, - items: ["json", "text", "markdown", "csv", "html"], - }, - }, + textMenu: { acceptReporters: true, items: ["openai", "mistral", "gemini", "deepseek-r1", "p1", "llama"] }, + imageMenu: { acceptReporters: true, items: ["turbo", "flux-pro", "flux-realism", "flux-anime", "flux-3d", "flux", "any"] }, + fileMenu: { acceptReporters: true, items: ["json", "text", "markdown", "csv", "html"] } + } }; } - isReady() { - return true; - } - isThinking() { - return this.isFetching; - } - getCurrentModel() { - return `T:${this.textModel} | I:${this.imageModel}`; - } - getBotName() { - return Object.keys(this.bots)[0] || "None"; - } - getMemory() { - return JSON.stringify(this.bots); - } - getSeed() { - return this.seed; - } - getTemp() { - return this.temp; - } - getGenHeight() { - return this.genHeight; - } - getGenWidth() { - return this.genWidth; - } - createBot({ NAME }) { - if (!this.bots[NAME]) this.bots[NAME] = []; - } - renameBot({ NAME1, NAME2 }) { - if (this.bots[NAME1] && !this.bots[NAME2]) { - this.bots[NAME2] = this.bots[NAME1]; - delete this.bots[NAME1]; - } - } - deleteBot({ NAME }) { - delete this.bots[NAME]; - } - - setTextModel({ MOD }) { - this.textModel = MOD; - } - setImageModel({ MOD }) { - this.imageModel = MOD; - } - setTemp({ N }) { - this.temp = N; - } - setSeed({ N }) { - this.seed = N; - } - setSystem({ LOG }) { - this.systemLog = LOG; - } - attachFile({ URL }) { - this.attachedFile = URL; - } - setImageSize({ H, W }) { - this.genHeight = H; - this.genWidth = W; - } + isReady() { return true; } + isThinking() { return this.isFetching; } + getCurrentModel() { return `T:${this.textModel} | I:${this.imageModel}`; } + getBotName() { return Object.keys(this.bots)[0] || "None"; } + getMemory() { return JSON.stringify(this.bots); } + getSeed() { return this.seed; } + getTemp() { return this.temp; } + getGenHeight() { return this.genHeight; } + getGenWidth() { return this.genWidth; } + + createBot({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; } + renameBot({ NAME1, NAME2 }) { if (this.bots[NAME1] && !this.bots[NAME2]) { this.bots[NAME2] = this.bots[NAME1]; delete this.bots[NAME1]; } } + deleteBot({ NAME }) { delete this.bots[NAME]; } + setTextModel({ MOD }) { this.textModel = MOD; } + setImageModel({ MOD }) { this.imageModel = MOD; } + setTemp({ N }) { this.temp = N; } + setSeed({ N }) { this.seed = N; } + setSystem({ LOG }) { this.systemLog = LOG; } + attachFile({ URL }) { this.attachedFile = URL; } + setImageSize({ H, W }) { this.genHeight = H; this.genWidth = W; } importBot({ TEXT, TYPE, NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; @@ -436,36 +138,26 @@ } else { this.bots[NAME].push({ q: "Imported Data", a: TEXT }); } - } catch (err) { - console.error("Import failed"); - } + } catch (err) { console.error("Import failed"); } } exportBot({ NAME, TYPE }) { const history = this.bots[NAME]; if (!history || history.length === 0) return ""; if (TYPE === "json") return JSON.stringify(history); - if (TYPE === "text") - return history.map((h) => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); - if (TYPE === "markdown") - return history - .map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`) - .join("\n\n---\n\n"); - if (TYPE === "csv") - return ( - "Question,Answer\n" + - history - .map( - (h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"` - ) - .join("\n") - ); - if (TYPE === "html") - return `${history.map((h) => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; + if (TYPE === "text") return history.map((h) => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); + if (TYPE === "markdown") return history.map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`).join("\n\n---\n\n"); + if (TYPE === "csv") return "Question,Answer\n" + history.map((h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"`).join("\n"); + if (TYPE === "html") return `${history.map((h) => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; return ""; } async simplePrompt({ TEXT }) { + if (!TEXT || TEXT.trim() === "") return ""; + const now = Date.now(); + if (now - this.lastTextTime < this.textCooldown) return "Cooldown active (1s)."; + this.lastTextTime = now; + this.isFetching = true; try { const fullSystem = this.systemLog + this.safetyGuard; @@ -473,9 +165,10 @@ const r = await Scratch.fetch(url); const res = await r.text(); this.isFetching = false; - const botNames = Object.keys(this.bots); - if (botNames.length > 0) - this.bots[botNames[0]].push({ q: TEXT, a: res }); + if (res && res.trim() !== "") { + const botNames = Object.keys(this.bots); + if (botNames.length > 0) this.bots[botNames[0]].push({ q: TEXT, a: res }); + } return res; } catch (e) { this.isFetching = false; @@ -488,32 +181,35 @@ } _buildImageUrl(ctx, text) { + if (!text || text.trim() === "") return ""; const fullPrompt = ctx ? `${ctx}, ${text}` : text; let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(fullPrompt)}?model=${this.imageModel}&seed=${this.seed}&width=${this.genWidth}&height=${this.genHeight}&nologo=true`; - if (this.attachedFile) - url += `&feed=${encodeURIComponent(this.attachedFile)}`; + if (this.attachedFile) url += `&feed=${encodeURIComponent(this.attachedFile)}`; return url; } - setContextImageURL({ CTX, TEXT }) { - return this._buildImageUrl(CTX, TEXT); - } - - getImageUrl({ TEXT }) { - return this._buildImageUrl("", TEXT); - } + setContextImageURL({ CTX, TEXT }) { return this._buildImageUrl(CTX, TEXT); } + getImageUrl({ TEXT }) { return this._buildImageUrl("", TEXT); } async setContextImageCostume(args, util) { const url = this._buildImageUrl(args.CTX, args.TEXT); + if (url === "") return; await this._handleCostumeGen(url, args.NAME, util); } async setCostumeFromPrompt(args, util) { const url = this._buildImageUrl("", args.TEXT); + if (url === "") return; await this._handleCostumeGen(url, args.NAME, util); } async _handleCostumeGen(imageUrl, name, util) { + const now = Date.now(); + if (now - this.lastImageTime < this.imageCooldown) { + console.warn("Image cooldown active."); + return; + } + this.isFetching = true; try { const response = await Scratch.fetch(imageUrl); @@ -523,26 +219,22 @@ reader.onloadend = () => resolve(reader.result); reader.readAsDataURL(blob); }); + + + const oldIndex = util.target.getCostumeIndexByName(name); + if (oldIndex !== -1) { + util.target.deleteCostume(oldIndex); + } + const svgContent = ``; const storage = util.runtime.storage; - const asset = await storage.createAsset( - storage.AssetType.ImageVector, - storage.DataFormat.SVG, - new TextEncoder().encode(svgContent), - null, - true - ); - const costume = { - name: name, - asset: asset, - md5: asset.assetId + ".svg", - assetId: asset.assetId, - dataFormat: "svg", - rotationCenterX: this.genWidth / 2, - rotationCenterY: this.genHeight / 2, - }; + const asset = await storage.createAsset(storage.AssetType.ImageVector, storage.DataFormat.SVG, new TextEncoder().encode(svgContent), null, true); + const costume = { name: name, asset: asset, md5: asset.assetId + ".svg", assetId: asset.assetId, dataFormat: "svg", rotationCenterX: this.genWidth / 2, rotationCenterY: this.genHeight / 2 }; + util.target.addCostume(costume); util.target.setCostume(util.target.getCostumeIndexByName(name)); + + this.lastImageTime = Date.now(); this.isFetching = false; } catch (e) { this.isFetching = false; From e7f44a6d92048bc03e299b00228dd7cb85f86e51 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Thu, 15 Jan 2026 13:54:39 +0530 Subject: [PATCH 85/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 1 + 1 file changed, 1 insertion(+) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index ee8de23ca4..f0a20148d4 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -59,6 +59,7 @@ return { id: "TurboBotAI", name: Scratch.translate("Turbo Bot"), + sampleURL: "https://extensions.turbowarp.org/samples/Seigh-sword/Turbobot_sample.sb3", docsURI: "https://docs.turbowarp.org/extensions/Seigh-sword/turbobot", menuIconURI: icon, blockIconURI: icon, From 2d3a99411c982ab23ffd8cd4d8be1d3e59737296 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Thu, 15 Jan 2026 13:59:33 +0530 Subject: [PATCH 86/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index f0a20148d4..2ff4a07627 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -59,7 +59,7 @@ return { id: "TurboBotAI", name: Scratch.translate("Turbo Bot"), - sampleURL: "https://extensions.turbowarp.org/samples/Seigh-sword/Turbobot_sample.sb3", + sampleURL: "https://turbowarp.org/editor?project_url=https://extensions.turbowarp.org/samples/Seigh-sword/Turbobot_sample.sb3", docsURI: "https://docs.turbowarp.org/extensions/Seigh-sword/turbobot", menuIconURI: icon, blockIconURI: icon, From 1fd159a57cca2c025638823b13f2c9b700a47064 Mon Sep 17 00:00:00 2001 From: "DangoCat[bot]" Date: Thu, 15 Jan 2026 08:46:48 +0000 Subject: [PATCH 87/93] [Automated] Format code --- extensions/Seigh-sword/turbobot.js | 479 ++++++++++++++++++++++++----- 1 file changed, 407 insertions(+), 72 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 2ff4a07627..025d8d34fb 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -33,7 +33,7 @@ const blockColor = "#FF4C4C"; const menuColor = "#B00000"; - class TurboBot { + class TurboBot { constructor() { this.bots = {}; this.textModel = "openai"; @@ -46,89 +46,389 @@ this.genWidth = 480; this.genHeight = 360; - this.lastTextTime = 0; this.lastImageTime = 0; - this.textCooldown = 1000; - this.imageCooldown = 32000; + this.textCooldown = 1000; + this.imageCooldown = 32000; - this.safetyGuard = " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, decline politely."; + this.safetyGuard = + " | IMPORTANT: Always stay family-friendly and polite. If the user asks for anything inappropriate, decline politely."; } getInfo() { return { id: "TurboBotAI", name: Scratch.translate("Turbo Bot"), - sampleURL: "https://turbowarp.org/editor?project_url=https://extensions.turbowarp.org/samples/Seigh-sword/Turbobot_sample.sb3", + sampleURL: + "https://turbowarp.org/editor?project_url=https://extensions.turbowarp.org/samples/Seigh-sword/Turbobot_sample.sb3", docsURI: "https://docs.turbowarp.org/extensions/Seigh-sword/turbobot", menuIconURI: icon, blockIconURI: icon, color1: blockColor, color2: menuColor, blocks: [ - { opcode: "isReady", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("AI ready?") }, - { opcode: "isThinking", blockType: Scratch.BlockType.BOOLEAN, text: Scratch.translate("is bot thinking?") }, - { opcode: "getCurrentModel", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("model?") }, - { opcode: "getBotName", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("bot?") }, - { opcode: "getMemory", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("memory") }, + { + opcode: "isReady", + blockType: Scratch.BlockType.BOOLEAN, + text: Scratch.translate("AI ready?"), + }, + { + opcode: "isThinking", + blockType: Scratch.BlockType.BOOLEAN, + text: Scratch.translate("is bot thinking?"), + }, + { + opcode: "getCurrentModel", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("model?"), + }, + { + opcode: "getBotName", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("bot?"), + }, + { + opcode: "getMemory", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("memory"), + }, "---", - { opcode: "createBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("create bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, - { opcode: "renameBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("rename [NAME1] to [NAME2]"), arguments: { NAME1: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, NAME2: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboPal" } } }, - { opcode: "deleteBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("delete bot named [NAME]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, - { opcode: "exportBot", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("export bot [NAME] as [TYPE]"), arguments: { NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" }, TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" } } }, - { opcode: "importBot", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("import conversation [TEXT] as [TYPE] to bot [NAME]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "[]" }, TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" }, NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "TurboBot" } } }, + { + opcode: "createBot", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("create bot named [NAME]"), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, + { + opcode: "renameBot", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("rename [NAME1] to [NAME2]"), + arguments: { + NAME1: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + NAME2: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboPal", + }, + }, + }, + { + opcode: "deleteBot", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("delete bot named [NAME]"), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, + { + opcode: "exportBot", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("export bot [NAME] as [TYPE]"), + arguments: { + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" }, + }, + }, + { + opcode: "importBot", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate( + "import conversation [TEXT] as [TYPE] to bot [NAME]" + ), + arguments: { + TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "[]" }, + TYPE: { type: Scratch.ArgumentType.STRING, menu: "fileMenu" }, + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "TurboBot", + }, + }, + }, "---", - { opcode: "setTextModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set text model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" } } }, - { opcode: "setImageModel", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image model [MOD]"), arguments: { MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" } } }, + { + opcode: "setTextModel", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set text model [MOD]"), + arguments: { + MOD: { type: Scratch.ArgumentType.STRING, menu: "textMenu" }, + }, + }, + { + opcode: "setImageModel", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set image model [MOD]"), + arguments: { + MOD: { type: Scratch.ArgumentType.STRING, menu: "imageMenu" }, + }, + }, "---", - { opcode: "setImageSize", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image gen height [H] and width [W]"), arguments: { H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 360 }, W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 480 } } }, - { opcode: "getGenHeight", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen height") }, - { opcode: "getGenWidth", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("image gen width") }, + { + opcode: "setImageSize", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set image gen height [H] and width [W]"), + arguments: { + H: { type: Scratch.ArgumentType.NUMBER, defaultValue: 360 }, + W: { type: Scratch.ArgumentType.NUMBER, defaultValue: 480 }, + }, + }, + { + opcode: "getGenHeight", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("image gen height"), + }, + { + opcode: "getGenWidth", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("image gen width"), + }, "---", - { opcode: "simplePrompt", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, - { opcode: "setCostumeFromPrompt", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set image from prompt [TEXT] as SVG costume named [NAME]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "racecar" }, NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "costume2" } } }, - { opcode: "getImageUrl", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("get url for image prompt [TEXT]"), arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a racecar" } } }, - { opcode: "attachFile", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("attach file url [URL]"), arguments: { URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" } } }, + { + opcode: "simplePrompt", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("prompt [TEXT]"), + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Hello!", + }, + }, + }, + { + opcode: "setCostumeFromPrompt", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate( + "set image from prompt [TEXT] as SVG costume named [NAME]" + ), + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "racecar", + }, + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "costume2", + }, + }, + }, + { + opcode: "getImageUrl", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("get url for image prompt [TEXT]"), + arguments: { + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "a racecar", + }, + }, + }, + { + opcode: "attachFile", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("attach file url [URL]"), + arguments: { + URL: { type: Scratch.ArgumentType.STRING, defaultValue: "" }, + }, + }, "---", - { opcode: "setContextText", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("set context [CTX] and prompt [TEXT]"), arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Persona" }, TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "Hello!" } } }, - { opcode: "setContextImageURL", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("set text context [CTX] and generate image url for [TEXT]"), arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Pixel Art" }, TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a dragon" } } }, - { opcode: "setContextImageCostume", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set text context [CTX] and generate image [TEXT] as costume named [NAME]"), arguments: { CTX: { type: Scratch.ArgumentType.STRING, defaultValue: "Cyberpunk" }, TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: "a car" }, NAME: { type: Scratch.ArgumentType.STRING, defaultValue: "AI_Costume" } } }, + { + opcode: "setContextText", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("set context [CTX] and prompt [TEXT]"), + arguments: { + CTX: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Persona", + }, + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Hello!", + }, + }, + }, + { + opcode: "setContextImageURL", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate( + "set text context [CTX] and generate image url for [TEXT]" + ), + arguments: { + CTX: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Pixel Art", + }, + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "a dragon", + }, + }, + }, + { + opcode: "setContextImageCostume", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate( + "set text context [CTX] and generate image [TEXT] as costume named [NAME]" + ), + arguments: { + CTX: { + type: Scratch.ArgumentType.STRING, + defaultValue: "Cyberpunk", + }, + TEXT: { + type: Scratch.ArgumentType.STRING, + defaultValue: "a car", + }, + NAME: { + type: Scratch.ArgumentType.STRING, + defaultValue: "AI_Costume", + }, + }, + }, "---", - { opcode: "setSystem", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set system log [LOG]"), arguments: { LOG: { type: Scratch.ArgumentType.STRING, defaultValue: "You are a helpful assistant." } } }, - { opcode: "setTemp", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set temperature [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 } } }, - { opcode: "setSeed", blockType: Scratch.BlockType.COMMAND, text: Scratch.translate("set seed [N]"), arguments: { N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 } } }, - { opcode: "getSeed", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("seed") }, - { opcode: "getTemp", blockType: Scratch.BlockType.REPORTER, text: Scratch.translate("temperature") }, + { + opcode: "setSystem", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set system log [LOG]"), + arguments: { + LOG: { + type: Scratch.ArgumentType.STRING, + defaultValue: "You are a helpful assistant.", + }, + }, + }, + { + opcode: "setTemp", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set temperature [N]"), + arguments: { + N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 1.0 }, + }, + }, + { + opcode: "setSeed", + blockType: Scratch.BlockType.COMMAND, + text: Scratch.translate("set seed [N]"), + arguments: { + N: { type: Scratch.ArgumentType.NUMBER, defaultValue: 12345 }, + }, + }, + { + opcode: "getSeed", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("seed"), + }, + { + opcode: "getTemp", + blockType: Scratch.BlockType.REPORTER, + text: Scratch.translate("temperature"), + }, ], menus: { - textMenu: { acceptReporters: true, items: ["openai", "mistral", "gemini", "deepseek-r1", "p1", "llama"] }, - imageMenu: { acceptReporters: true, items: ["turbo", "flux-pro", "flux-realism", "flux-anime", "flux-3d", "flux", "any"] }, - fileMenu: { acceptReporters: true, items: ["json", "text", "markdown", "csv", "html"] } - } + textMenu: { + acceptReporters: true, + items: [ + "openai", + "mistral", + "gemini", + "deepseek-r1", + "p1", + "llama", + ], + }, + imageMenu: { + acceptReporters: true, + items: [ + "turbo", + "flux-pro", + "flux-realism", + "flux-anime", + "flux-3d", + "flux", + "any", + ], + }, + fileMenu: { + acceptReporters: true, + items: ["json", "text", "markdown", "csv", "html"], + }, + }, }; } + isReady() { + return true; + } + isThinking() { + return this.isFetching; + } + getCurrentModel() { + return `T:${this.textModel} | I:${this.imageModel}`; + } + getBotName() { + return Object.keys(this.bots)[0] || "None"; + } + getMemory() { + return JSON.stringify(this.bots); + } + getSeed() { + return this.seed; + } + getTemp() { + return this.temp; + } + getGenHeight() { + return this.genHeight; + } + getGenWidth() { + return this.genWidth; + } - isReady() { return true; } - isThinking() { return this.isFetching; } - getCurrentModel() { return `T:${this.textModel} | I:${this.imageModel}`; } - getBotName() { return Object.keys(this.bots)[0] || "None"; } - getMemory() { return JSON.stringify(this.bots); } - getSeed() { return this.seed; } - getTemp() { return this.temp; } - getGenHeight() { return this.genHeight; } - getGenWidth() { return this.genWidth; } - - createBot({ NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; } - renameBot({ NAME1, NAME2 }) { if (this.bots[NAME1] && !this.bots[NAME2]) { this.bots[NAME2] = this.bots[NAME1]; delete this.bots[NAME1]; } } - deleteBot({ NAME }) { delete this.bots[NAME]; } - setTextModel({ MOD }) { this.textModel = MOD; } - setImageModel({ MOD }) { this.imageModel = MOD; } - setTemp({ N }) { this.temp = N; } - setSeed({ N }) { this.seed = N; } - setSystem({ LOG }) { this.systemLog = LOG; } - attachFile({ URL }) { this.attachedFile = URL; } - setImageSize({ H, W }) { this.genHeight = H; this.genWidth = W; } + createBot({ NAME }) { + if (!this.bots[NAME]) this.bots[NAME] = []; + } + renameBot({ NAME1, NAME2 }) { + if (this.bots[NAME1] && !this.bots[NAME2]) { + this.bots[NAME2] = this.bots[NAME1]; + delete this.bots[NAME1]; + } + } + deleteBot({ NAME }) { + delete this.bots[NAME]; + } + setTextModel({ MOD }) { + this.textModel = MOD; + } + setImageModel({ MOD }) { + this.imageModel = MOD; + } + setTemp({ N }) { + this.temp = N; + } + setSeed({ N }) { + this.seed = N; + } + setSystem({ LOG }) { + this.systemLog = LOG; + } + attachFile({ URL }) { + this.attachedFile = URL; + } + setImageSize({ H, W }) { + this.genHeight = H; + this.genWidth = W; + } importBot({ TEXT, TYPE, NAME }) { if (!this.bots[NAME]) this.bots[NAME] = []; @@ -139,24 +439,40 @@ } else { this.bots[NAME].push({ q: "Imported Data", a: TEXT }); } - } catch (err) { console.error("Import failed"); } + } catch (err) { + console.error("Import failed"); + } } exportBot({ NAME, TYPE }) { const history = this.bots[NAME]; if (!history || history.length === 0) return ""; if (TYPE === "json") return JSON.stringify(history); - if (TYPE === "text") return history.map((h) => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); - if (TYPE === "markdown") return history.map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`).join("\n\n---\n\n"); - if (TYPE === "csv") return "Question,Answer\n" + history.map((h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"`).join("\n"); - if (TYPE === "html") return `${history.map((h) => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; + if (TYPE === "text") + return history.map((h) => `User: ${h.q}\nBot: ${h.a}`).join("\n\n"); + if (TYPE === "markdown") + return history + .map((h) => `### User\n${h.q}\n\n### Bot\n${h.a}`) + .join("\n\n---\n\n"); + if (TYPE === "csv") + return ( + "Question,Answer\n" + + history + .map( + (h) => `"${h.q.replace(/"/g, '""')}","${h.a.replace(/"/g, '""')}"` + ) + .join("\n") + ); + if (TYPE === "html") + return `${history.map((h) => `

User: ${h.q}

Bot: ${h.a}


`).join("")}`; return ""; } async simplePrompt({ TEXT }) { if (!TEXT || TEXT.trim() === "") return ""; const now = Date.now(); - if (now - this.lastTextTime < this.textCooldown) return "Cooldown active (1s)."; + if (now - this.lastTextTime < this.textCooldown) + return "Cooldown active (1s)."; this.lastTextTime = now; this.isFetching = true; @@ -168,7 +484,8 @@ this.isFetching = false; if (res && res.trim() !== "") { const botNames = Object.keys(this.bots); - if (botNames.length > 0) this.bots[botNames[0]].push({ q: TEXT, a: res }); + if (botNames.length > 0) + this.bots[botNames[0]].push({ q: TEXT, a: res }); } return res; } catch (e) { @@ -185,12 +502,17 @@ if (!text || text.trim() === "") return ""; const fullPrompt = ctx ? `${ctx}, ${text}` : text; let url = `https://image.pollinations.ai/prompt/${encodeURIComponent(fullPrompt)}?model=${this.imageModel}&seed=${this.seed}&width=${this.genWidth}&height=${this.genHeight}&nologo=true`; - if (this.attachedFile) url += `&feed=${encodeURIComponent(this.attachedFile)}`; + if (this.attachedFile) + url += `&feed=${encodeURIComponent(this.attachedFile)}`; return url; } - setContextImageURL({ CTX, TEXT }) { return this._buildImageUrl(CTX, TEXT); } - getImageUrl({ TEXT }) { return this._buildImageUrl("", TEXT); } + setContextImageURL({ CTX, TEXT }) { + return this._buildImageUrl(CTX, TEXT); + } + getImageUrl({ TEXT }) { + return this._buildImageUrl("", TEXT); + } async setContextImageCostume(args, util) { const url = this._buildImageUrl(args.CTX, args.TEXT); @@ -220,7 +542,6 @@ reader.onloadend = () => resolve(reader.result); reader.readAsDataURL(blob); }); - const oldIndex = util.target.getCostumeIndexByName(name); if (oldIndex !== -1) { @@ -229,12 +550,26 @@ const svgContent = ``; const storage = util.runtime.storage; - const asset = await storage.createAsset(storage.AssetType.ImageVector, storage.DataFormat.SVG, new TextEncoder().encode(svgContent), null, true); - const costume = { name: name, asset: asset, md5: asset.assetId + ".svg", assetId: asset.assetId, dataFormat: "svg", rotationCenterX: this.genWidth / 2, rotationCenterY: this.genHeight / 2 }; - + const asset = await storage.createAsset( + storage.AssetType.ImageVector, + storage.DataFormat.SVG, + new TextEncoder().encode(svgContent), + null, + true + ); + const costume = { + name: name, + asset: asset, + md5: asset.assetId + ".svg", + assetId: asset.assetId, + dataFormat: "svg", + rotationCenterX: this.genWidth / 2, + rotationCenterY: this.genHeight / 2, + }; + util.target.addCostume(costume); util.target.setCostume(util.target.getCostumeIndexByName(name)); - + this.lastImageTime = Date.now(); this.isFetching = false; } catch (e) { From 233dafda8f65b0ae38d82cc93d93194870407526 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Thu, 15 Jan 2026 14:18:17 +0530 Subject: [PATCH 88/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 025d8d34fb..0f0c06b019 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -60,7 +60,7 @@ id: "TurboBotAI", name: Scratch.translate("Turbo Bot"), sampleURL: - "https://turbowarp.org/editor?project_url=https://extensions.turbowarp.org/samples/Seigh-sword/Turbobot_sample.sb3", + "https://turbowarp.org/editor?project_url=https://extensions.turbowarp.org/samples/Turbobot_sample.sb3", docsURI: "https://docs.turbowarp.org/extensions/Seigh-sword/turbobot", menuIconURI: icon, blockIconURI: icon, From c61f2d236e75177daf1f51d4dcb71edfc6f0cad9 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Thu, 15 Jan 2026 14:22:04 +0530 Subject: [PATCH 89/93] Delete samples/Seigh-sword directory --- samples/Seigh-sword/Turbobot_sample.sb3 | Bin 172221 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 samples/Seigh-sword/Turbobot_sample.sb3 diff --git a/samples/Seigh-sword/Turbobot_sample.sb3 b/samples/Seigh-sword/Turbobot_sample.sb3 deleted file mode 100644 index 19d020cd40961c0242059fa9a425d20b2ecd1c2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172221 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 z�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 Date: Thu, 15 Jan 2026 14:24:23 +0530 Subject: [PATCH 90/93] Add files via upload --- samples/turbobot_sample.sb3 | Bin 0 -> 172221 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 samples/turbobot_sample.sb3 diff --git a/samples/turbobot_sample.sb3 b/samples/turbobot_sample.sb3 new file mode 100644 index 0000000000000000000000000000000000000000..19d020cd40961c0242059fa9a425d20b2ecd1c2f GIT binary patch literal 172221 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 z�$NymFJ5<*%}=@Vm)8B}_FvR1T)DtG5XyN6VD0Zyral6CYv8wLCO_b!tfp+d)13 z2@V{NjEV2Mjz@9Zz}$Bz1zVJRxTbh_ebxo0`5yN|W%OYK_Eh})la-FU1GS|{gJhtK z>%Ob9koPHxlipBTao%|!*8Tl)Kr9{ zPT!P}#s<=dFXdW{rkLs!Q7o6AsG8XYy1Y<(l1nQ?edmEM83{f}f@{H6aJ|S?fb7oo6f87<=nHkW zklG&gk|CyE=#06c6H8&zU%*axG=;*D%l#dMDfXA?OaxB5Yf1Hg=2lqrJ;*cy>@huG zj9F+7s=n(ln+E z0>Fhj#k#btN?&c?0N?LveDShwDTJAu=Moq7>JSVZCM;0J_o( z;TdixE(-_HM=%pMAiSl5zA!O?WU!Xu4bAl5|N3j{`^3LizJ2@le^5&U1PTBE00;nU zx5!YVx7cB7djbI7fCK;}0000tW;A7CGcYwUWn^VJG&5#2F*9LdVq`QlH#Rt8GhsO{ zb9QIcyjiom$h9x{RUGxy9r!w#Ax~d-geE}DLQLX~QDUAE@aa3XtI9R~%P!l;H%{+| zy*E;ltX$)7t(D3D9+&5zmUI~Nw)yLK#9xT-{z*COFKLP ziQ_mx<9`_PUu%^&<+lbB5JK?v?RS5A=gIW?>vuGdfA^8nVuit(BTZL2lf8l@rU-(~`|NCn|mRHqZ zziZki{q9fWG_+;<%d7wO!*lV^gMRp^&Zl&!a`XqS6i3tKb@)vG^daE8KW*rtHYg*7X&;KV1$CRc2oV!QE zdgF@tY!B#1zdNss^F;sgpG(y|9UkcKX@YFSqJM6OOLe)q7JW!JxY6|FQGEi*w9gyw z6$%IE__&@9i6YX6$Q_+r>GZcnVoV6vvC^}*_Zsg$e==yAWy7d_=_Y-+yn};&l8@sl zkgsL0b8yDV7>OFTy3pwv3IM{+ch2VjZ}GdyFSGu>%?cWVgBbX}g$?g9Z) zMeSIoFemCfUqL605%s2SCJm<7+-57V&&eCSu-af=*%@kZKVcFZaH7te_)cmZo&BAA zxYsk`P3(D$J6Cgj9NTMWf>@gJEIX`OKZCW0l+T-JmV9pGuX!w*<1?n2A1ZmB(VWH7 z=7_)_u6M3RS1O{Fxz3M`s|_qyYYk(b%OmH|un=9%bOFkoS*|k#62Dp*TYI3*K$o$A zkFY{yo!rfJEIwDEE+VNRTFIk~veduE6rJ8{p6_3cyTD`!W1cHVv5E;ZGDJ+#0u zZkZCZw_nj=m5NZY+F(n27wl4JHTG}l_!+&)1<`wCiXZRmZlh^cO4ZSt>`dlsi5{e{ z8c(2(znK5WaT6C*UClK))tFk*w5(kIc3cxaR_rnC+yq8$G0zmhDZtunR|89TfqkOy zIUiPI|mGD*tVLol?oTDdU~-GX0QjOyg-v({K5J#wBQ}OwTmiUYh(;xBpRo zk(p}TfHHoR<{R=2hzU*7BYL%GLu1NsBk$8^Z(R^03r&)jp{{3~0eyRB}zL~{weCR+el7kGXh60QaZM&_o zx!W>msBNhXO4HW%FJv}pnNc-bT8W8i)8W0lC+96u?AH5noYfW#J~8{d-5EALpFTGI z%W;iI26H+W$bgRg>)SffJojmg%&IwL6`2@6oBzjg8yq)$&!7y}pZS2F`wFtwzw}@m z(3d~x&o9Q+NfgW+%gXECo>%D?KIUh1r`S3gX>v@n=(oNIjpN8&-32^re9fqg`eE+rsHdzO_62RY+jI=OV;xk*uZW9ZU*XUr!lFT_|QW-u~wfrBdw-=LhhJx zKE8T^8DWCGNU4suY48i5UGNQcIKmZ1kSAPc*(ofkT^jG3!m{5H-)DGXGRwWI$(`Q?CLMIVLnc?V!K0k?O^UKe<`6$X=D z{6qgT=KVOMUx)cBtOo+a#I;z$AFnY@%%*jI%W(Gt0N5HpccENr>$-l~Jx!uRyYxv{ z{wLRf#&MCjGr?P8lE(fGFVVOq(k6{cV4~5CBh$sNefIxI-_A~P22;+@Ov{MjIel<{ z$Mz}n;}aQEx18vYw8=i z!RuogCNFHte1_HXS)5q$@+&MvEn{?Unw#H{zxCf}9EMypza~gIc4@YE#})qtKmW)5 z05<1wj4+w?O-%O3=`{&sj=~fOjA_;9-LwwZkYK7)k(u>!NXr}9X$)hd@7}>>Iz8&^ zE;3quduq|;gKKU2anaGo?Jh7{et&BAB`D&OyFdh*({Mf&PFhi#(OvY`Hqsj&JbBSl zZ?&9j>uk&A^(?O94VOzyJfivJURzW9TDIrQDn2N=+%Cr=owPO%nD|B2WxzvB-np6U zDT=|7ci;e!U}Pg_0r0#BY}N~aSm#Ht5c-_vKeM@yj^Rg|^LXZCoABSWP1f9tQra4$ z{ARo@6ny1bFJ4(Ez~L|E|8d+tL>kJpzT&O<;@w}<@rURwkjH6E|I6k;#s9{qeT~yO zPW8uHwdiqWaOdL{yZiV-IJf73cjwbSILUIAFxxuTObtA4(? zq^n#1EMEN|7x(^8;OoyMQ8RqeOT9mn{0sTs_rApq83AFNf$c71_DI-!5Twonmh7z# zuGIJ&JQp-iBzu%`EhfOg0{FSkKne(`f%-n0w;$v7`XoQUDD4|Mfe9jbrU<^LNv1AT zqY? zjPCC+dZs5PWuU(c4Mji+e=ZxRmr_I4F3+RPuckGIP?^;C@3QU(Z@$K$GE7mz3L#{@ z$LOhzjxRyTV+^yHi8-e)ie=3urd&;*K;SHD-*_C(Qhi5F?!z7!H-SL~2(wdns=;eN z%m!Qs@JvljS?V;tvBv`i`Et+jU0xPTp9ox!mSj$&owD)FSINvZ79k+hg5R{0&Ap2| zvs!lmjrKTEtvgViAMXC@O_ke#x*$;8p3ZB=OhS_`K93x`T!E->&XdMxIYDfGTX8y{ zFrBxP?(=RwNQXCur9N$Ef&|NvPgWy!vNR8-5jI5^?%R@&V?Xc1(&BLd#(o5Rv-ntJ zEG#fE07EPT3jwNyHdz}`3qo~r;?mwfkhOTu-ZXVR1C9m^*6-1juxZZ%{+KENUy1n{ zVOQfNh@zxi+xO!Dm-_~kCfb@?W%69t#UM)Q(}n5SK*-fVR6F`cd7%fesc8^l*Vz`5$ET#oH zn*(Pfy+2}%vXMSrnw5?C%!gEmseV(jWYse-40u*b1sWR_l7JI!0Qq{Z)tdBy;5J({ zmjp%B2}Wd#&Oolg5?gwV9pRgi%TcVK6f^ z%KP>!!y5UwF}If0ruK4I$Ry#=#TeLaK*VN7ITA-+Z74xL>LRGi&tVqV(5R~CbZ1As zq?o6#7rLy-J+wBet@BIdlUeEr`)$AHbFgTU+7vguR4%y}u(IX9Zp1qb=Xf}!uw4#X zo#w3_6Hv!4;Vt)kS-InDVbpQtxLMFyaUD7v43zwMKKko{p{J=VbC=a$vG#-?1zJAsfg{k>&&Z7b0#9t@Z_Q0a@Y!;LA{7E@EA8?34;62G6 zP+xRtb}KgIQhWnH^@%LNaBl&-L-$s=K;n~Z`$aDatdH!8@tGb~8p%U5i5GB1(q^nw zR6O%-I*z%K?~ax4O!vze_>W@LAI|wKEQ#N&!{D!P#;8Ed&E}4Bms4Rj--wlg@hL3V z3=2OoO6SeI`@1m}OLw?n%irmZ%;_hG*^IRKbv^z+QYZaa>bhxi=5nAlROPZmgGCOJ z4U;}DSNgYohlaaEl9gHig(1=-^lI%R)>w@2kVs@l&tt)sR8``oEoEynFS`>B@j_3eL`um4_ex?{ccoshl(|FHw-3*vr~%gGooi zRCCMFHWKpXm*hX!3-~|YyZFcX(VGc@O8HsRk_?MwMtb8E=6Cv3f2{rmAxdX=OfDif zjhHh4w7KuF-?6#dF$YXOaI>DbQLggq-taGbN|$W4#z(Ny6fa%R2w8Fa4ybsCzSzzw zJex0&;{}%IJW`BN95DhDCrIqC!6`GgSnOH@r_ss^M|$j8z2H>V_?VjXz^Pr+iaB`a zrG)OAYt#1sbieqQdk8S=pYNrAKhA*T7Q^&QComrw;lI&G`1krA-}kqZoj~-~w;fM} z-^TSn*pJ_-F2;AV^Wy2Zb?JA(W1sqA1~3Ttm5o7J?TkP_ksBITj~e}Rsj0PwTS;$G zR6}S3X3(3{QI@+_@+}-d?L5t z``#oa11=`KyTX76_J~D=taCi#LE4wwi|U9=PB5fn*g6Yji^uM6#yO_{$052f_Y~r<%9e49+#$ z1*sXv^nvj967fUGpvxLo1;H&4lN5v{nxV`drOPcG)lHm@yk^Mx*pD_P)2mI zBwSWS{uSvbHJ0fD!SrVA9bLx-cgYt>C6$^f@%GwZ4vywb82;F?#7Ty%LM=Gfyq8pC z&%9Ei@vp^vnx@y@srqD^{sVhoIVzK*q&}!+)-?*m@Xt(98ulq%O#{ zgbV*jeYzGogm0H@2s7uUWrOEo&x~2{BH^(;#YjKD7kGpXSy*mjj|Ht33`09TVh6|l zC6>csuN$sQYj9~crRFJyjV){HDK%|G6k%A>U#er!F9JRErWi6r&)0>O!gtj#MmXNX zN~Sp))4d@kn8kdH%WDQGX?Y+V;RbzPXO(n-XH2&uGDJe8mLtM%7ked;P7J%~7v6P1 zLX?_0ZEp#i`Pk5}LNm-*WfSa@AR%JO@h2IBVTyczMp8p*822SacgWBsF?{(!i_M74 zyN)oS_%=l{UEYkpUp1H%+~Fq~Z{7a7@X2RReywOCmwC3QMm$~iB|RXlub@O9jn7KW z6i17y6~mNb_-;8oZJ{kp?Q|c*Etl^OuYd9Fnk=0U(3k#A-{AfQPs*x|8>! z){dhunHBb=t4j?rT;{Q_IKp*_h7$x=$-&(+^vbVX9}@S%>d7*X!$#XE4?FDxz{15n zQ7mDlz`Q__2Ht+O-IQksu093>r6&=LIy2whbUp=shLgR&^gUY*nd>qxxiCUq=lrhB zJ@M{(;?jqq^k#8V(N~sS(uEi$rzrFgV+*ogSLA-(5O9-F6fbYNLjn-*e&{cvVfK~G zl=nxd0;8XY9_fnP%Sflpj_AfXDu@dCtKngENM~F~NuN2EiR}rB2nSO-eX7bKp%QqN zxGq>8E!#PMf0x&B=KF$+u)YgTXSRDD>(hydV9>7?612bg9j9|~^NtUP&HKL98bMo>TPf!vI81MRP4qJ!7#80 zc`u}t2^pJTP9FW`*L9&E?}0?hLK;PQI9!~e*QzfYXE$;@&dE_>3;E)QrAy4qv7W5k z{Ak6Dz8X+fsl4$}u1$aWK`e&d`DxzU2l&|6*knC9b%UvA`2f&b*;V#aWb2JKfwIVu zFDLEc;>ocAK0d-s`Pb@KH*I;N7<%^?*BDVi(K3Ca@|Eg>fOkUTvH@WUTA1xprJ%gd zKTD(_rBlhRZjbWHoXVoFI6>Z{-<$hLeL^{wEE&d;O$0D5ZPbc%e#CPNjYsS;&br_A z+iu3jEEsrg2fM~PFWdK-F`BS^D7LvEUtV!J7FHq_^zZCZkiM7f)6K)mf>9i&(gq&?}6noV>X1(KMwr4R0Xch|+ z9`U)s2iv%h7RF9o#-&mtF`S;TEA^=Ze$jxRt1g=@Zl2AcpcvB^q@fthltfQAz3=yJ zP&0JZh=ATZ6PkKSWx+oQQD*e7b$zuqnL=+`>WKmG+oie+nOb}2fv-Fi z)wB;=fFPT^q*h0!>9y3}E_hc#z+r9DJ}vwX#aL9Ga*4>T(W6nVpe0rJOI5HrjEL&OwWh%vnbF zDfx9jx{Dkc&2>rXy1G~tx_(>7onVQk$hk_p+*7U5syole-;Yxq(ekW0y-uR2&hz4H zrLXn(Hl()WukP!$T&q&PinlbM_983;Ar?~p=$M)xrKu71&U-yF+qk*vnb<20jT>Kf zP+1qI?WxB#XIS{yEuQU^V}tngtNYqb*@S&{3j&1@BEb^48!F)h7pRwa@$q#plWgKi z`QXcXs1{QaDCO~Z@_`cwfx^%yI(*C|4P)#c=bideZS_J){!oXyYTP!fTCaTMtb`sWd|LSHp6u zH!+pD+6)AeS4CYP*AfdHOAHjqC;<{D*IWp+ELwr=>6(VKhxqQt-7DAEy!b($$*GpE z*?+ejPRwe(S7d}NGr#WV(kvBQ>#vO|cz_68<|{8E9)7NUD>tvOgSb||+W*NVpIt!* zz?4ASU4n5k+g4C+o%axH#9dTj@`OrAz>`$=IFHczn+@~~cI{psE2!v=GQJ9!&6#e(aBo;gHeTl9 zDtoE1$`1^47UtdE7KBM$Y~mBpdHt|#+-j;P%L4bZVaz>vJ$=I==2zxirgN*?RAV`( z0)s5_6-(7D3L|3};ek%LI(kZD>dtzwYQP%7*$U=+oKExBftYLu?}UH>j(4v}qYlXv zLqI4kNLO{2&@s&1j78ti!@IR)q*u`wT??1Y#ZGE_>qB<~GOiHukUfN)kE|!x_tjpM zASutt?W8zNk7tYBF_*iS$08g}ExVoSI|SOpvo!C04LMG0L{9Ab@&SUT!Oo{=f?wl{ zexk7jjMotd$mK3%vQQ_hGahO)D!luCOqQc9i`BPI~!XEFjdb}}RjY?21 z_P)Zqz!h{s9b=s5In|s+FU!-Act#X~aeQ2J+^dOTypSDQPj*l8ay{QflRbLRVo=&u zx|PLh+*Bgq$Zg*&0u-eg;frfe#%-N?D055*d+pqA!*YqJXVYef2i2Lj@8tARge#Rg z{1Q~aciiGgb7g6?Q1w1?V?Y`UZ&7E1bvgK-0{-uvB+4dR8q&Mz*j?Y6w&_W1r^aeOU)<{WK>FpVQ)! zdx7rF5m>flCI(ECIL`PjxFWo^-Qd~ zo{w%i5`x?pmf@3E-HT`;(aSZtx4g#_c4yY z!vzgyE-shD(R zjSxZFk{%RKx@a-iD169%@B6g8?1%1trypMJznai3*8}2_;K#MCx?8Q`GN+VnJ)p3q zq{GoDek(`L7PiTuhQQ6)$MYIC_hr6$?1xETk6~?}W`_5n^DMdzEB`eFNtcI6-?Ykf zUj<^+y(a6Ei!+kDXup2Ycmxq-F?vf6)t6rvE)%HJ6I;fjLV=&EBUVEgkqdXUbEw zosQMsRhe@o8uq++cU2{GX>9HZoBM%Lx=TDS2vD0GHn9quHo6beEaQp@+P00tb5p%J z=>)#f1N&vYJ2vS^Jf(bkGr#us`Vzbq5^He@e`@TdeNmB5TJh3kw^ueS(}^Y7&5yis z4I#s@)xb;~*RAqKVnANIT8$yYGTgGL+`=;y4M{@QMwUnJah*jyGzow)#du?2K6l; zN8fXM{FLKRtn)EC3EOrD3C>SFJHt~2CM7&tcj;ng>#2UXY0r^a{N{3rxAFJ#%tXka zY3WsD2TbQ4(%UQy?8w{HJ52a9$@42qO6yPW3%GMT1s^z*4LUN`%%U1FsPW;<2h(Do z>DiNrQ8$-OC@9UKU*PBG)qi`IeKdJUYo9Y$00;s0fQoDpckIwwKo-|rl8WD+rTwKG zq|dpGVyHMwp&KLufDHPQnLb6C__Sx4S0o5CK@SLmex&!?jqn={W}`#kev!y*vAzqG z^$kJT+QVhKoCGmj zS3PKTcMo-fB2Qut;|t(fzz|u_sVJmU9$iGcB$5YA=wWm-mRm$G z&{(`lOP#@v!A6}r$SL~}rk~bs0iFeSc`hlNJaR^Tef38Ijw+2SuN)ifbYAWoWV?`@ z7v9~}1qM_RX>}4(%U8eoq(ckA9fNnn>aYWMiCP$Kl3*mqEjxbIf?>(7!i=wcO=YSd zmK8rIg7&XR+&w0e#m% zmF^Qoef4chHGE@VsP2l=VK_@&7Y5JIdWLkjSgJIYm_3)XXnuN%oJ{1Z(~H?QaZno4 zCw~VL+!V0Q6<8>1tD^I=!t!W)$DZ9q-4FF)4TiY4m#;eflk(b^?*!s?(;n=nr?=*6 zI9fI-SDQYP{1~r(Fn#r!B7#}egLm`>?rS|6Uem3=x0mBDzfXHm4XFkWPYxfKR7t`- zF!Qe-B(syHae&IJ0H*?pC&7l0tVf=}l&?J?!=*|-a*sC(``RnH1jcARkcY)w({CY% zSeUwp4IBlslT+v*@uc+1lT@loX;n3=H8?1h^I%;NKuewOEg|fmefnagy$If5OPiX& z>C>ZK0{M66ma;v~QY4z^gGZ??KWTB69s?|F@BPcMaq0DP?=XFbJ=M2Xzus=RUllG& zm!8g@grRU>sziKbf;TOvC~*i^9sFT!HuKYi_6l3~tB@tD3QD#cVts4(9G0IoWnl7^ zJ}FO`>fEYV@t458{Jsn~G-o>P2{Y{KHV}mxh6s>;5Ec9G!9Ws|A&n(a z(Ffc+WGGH)yq)XQ7}<b zft-_UH)Y%0()1IzgFA}5!JYra*ROkFry%Ga4Xl&NX4AqQ58$~Vo&Rg(#zKT-$?4A-03b|4rdE3AdPnX4~KBF}98QVi`PseEP2i7Jva?EVCAUz}L zIi)A$$jiKJdcHevT)d+X1K-K&2z^lb;}V|y#PywJj0V$e9dfL~4Ln>QuciQg)_6i6 zz=x0#RbpYmOi;DZ4j4od`=mfO8?M=h;-8pwsJza$=~>vvg@wK!4>I3< zFgSKmAJt6##Zxz4gj=O!^lKt^ zT_TetU0fni)$jGCp+=;eCL^5*EOlV12n|{GLP?S&a2eeI|Y?^FnTBGI2)N)X4S!mXQ7)s=mYD_G&hFdvFZ;%-r zVIDvgBb@uA-35B3zB;*5*Gj1dGC71cdFI;2^f^XPFL8JURmxs7*3#BKVk0+&VKTZVt?8@%I44fnHTvpd-tXF ziWx4U)?ts=h1YaJkR+@MkVB409K2+XWtheHfvAyGcA<2f4fn5Du~4>w05d?$zd0*_ zFdbAy2s0n{lP81^6V4Et!^>js^-yms{Ua=%V%FA72K(fGQEk@ zr2*JXY}^34c0N7e0U%w=_pQ;&j3z!Yiu ze3_W>wG&@`aX=-cH?3)wFc^TeFqssXj`swzSc&yg+S^6|PTrfs7JX4-r zk{k`Kf`=!OUni1Y$C}8rLao29X?nwkWGI=-YEij5`<_~Q6jyfNUmKr2K+~ER1)_aO zA6Fjh_S0wGS|8IR!*{zP8Hmp5F@VJO`&cm?PSj*})<=5_!mmVP{wAbV^h21z`? zSnlz*sVs{q14|h$n_r!c5W*kd11 zE}vgg9LlTIV2#Tom@Xr*$Phz9-Ixe^!_s& zbjLTTe{=6su=B?;T7TYShwt#~{slPG5C|~{&AhvJDG+phd3$}>_o>59N|$o8n;HGY z_Ls0rySry141Zi}7Xip>c(YaQdnj-a4Q80(jAdfldjr<=lj;)b;NLIjBCA3Ink@8L zcmkLE!wg5NUevqrMhObtu4F&^`4T*aKF;K9X`%f_>2HI_r%w4X4iYFD{I|sKG{xX3 z^h_xWue^WEZqpzP;RYMyXo8*l58?Zm$b_&7t7YRiF3ibd@%v8ED`~*8px5A97AE2O z_jbr*h=a(_?WWgw*hD*)`Rq$V&&vJ8r#|>bLih$xH5Bxh4u@$aBE3_UVQD4@;l0zz^1rWFX)L+xJAvCxbCYW0oBL(| z@H@i(XPkriq0UwCm_p@}qII^qV&U^&TG!vN-@U-zxCyum4`>Qq>HrwJebz4-yBT2W zZrB=>P{LXc=L*Wl!oQt4+c0i&IgBU@YT`cib2PWLR5Jvnv4NRc+%vZMAWzkXWVRxp zgd}a%`-~am@yfpjH}lAzoHD+0*0d$LY7Np*S03c9z3cW`2dc6);HKO-rMhks4mm41 zD&4i}IQyb2T~MveLr`TGMbLT#V^KIaULqkUS-rD(PaB4&7iTS*TZtd8695CAWy{h*ih1Az!V-O^M6B7`{J@Jsy>+Zw zg>k=C@Anjmwc{Y1?={N0hEpY`YEV&J_l{TC6YCi9eC2L%xFj>Np17LsN30$RM`hX9 zk)YHy1k$G3;;!7}4Y$3e~mknM+L>l0vbpj8a5aG6EQ;Qf`qNk`s(c zsL9qKl$gn6?(T=gdIs)Y9YTs>l%e8qiv+Iu1aKqLp0ZwgT*^V(D!^KNa$MBZM@Tv} zEviEpn}fvOSm43q^8zEnCvRNBHaZnq0E0`Gky1kKR70AdbFfUbQ>>P!7B!%+0*>RW zUE-)FMR);N=OuCg1qaDoB8q}9D&ZjmISl8pW@kAl!kvxH#wW~u$x>$DScV!w1MnLI z3;XN*E6Fd}<4L4Dk|k?>&So2bn?E>b6icwt3OP!jREbpe2Ki|zZIYDbb_?U=k&(=} zU+xni`JUkqfV5$ErWKZRmB|NDFNLq`RBcg=smF`4vDA*a7vbnqhOkk6803V8JvI+z zKUZ$xa818!6;Y}Fqb(-LASe?K2ekL9{4T5scWA8#>1BmD4I z9U83c2&cW;Ed}!&qE#>Wp0zG}fo>qOpjlFEk{B_M6CIo}9Uj0XV+i0_54z*SvqOM=3~7`Ynlv>%(NlhU2O=M#$30U~ z=g%fNWCv(Al>8}d0AdfYF+yq$-n{+bGc!Ht1xx+jS(P7a{WG0CO*J5J3=$7WP-(x^ zdPgSu4XiJox)=#~(HK2tEr-pYWvq=UYJ7&1zu(*V>U*Ssnx7^HJRny-%*w$e1TzP( z^LViQC&3Gc;|E*m<;e(H81GhRZQ_RVyKnDp`)Mzm5vF+{YFy!3>5scd9`~m{#^CX!#GmgT`p4`}CXd zCHbSh_W#cJs3sJF??rWMa_!%H=W+e@?walQ@$j=icv!%m=3D15dGM7an04Z(xEB~H z(iO+}c3ey#b}+Hz-f$nc!1Ex80nj+xy^Mh7I;*Tij`!~;jK02ETQ}8eF_J7Wq!+(%N>3{Q?nQ9V}gm5HTAl|*Sx5>!q z-JWNr9`5V~r~=oV1Qh+*?Gsh|U0vMtQNsi!G-PI=+;jf;m8n?*wDN_lVv2j#8F!3` z0B&YN6IshF2G&oU*h?5iP#3Z9i~B@`nDo>lI2Z%w*Cd}-k;_D`TmATcC}og7hiamj z2Q;;?*x7)TD7iU^nLcOte*8M0Jg5swg3};nh>n;;L?8l`cXA*IMmektIkF3rM$yW; zl_L|6Ru0uocWr`P67Ikjgj>0%slJ{?5biywm}!wZ&%HISS{e2_bmq;_ww@cbDLuR6 z#;*O4PGDU*x1ksWiixa5Q8k=D6)5YM>j~Ub;wdLD=L^?CHbHEDg#FF?|8A`ksQf7rCyFUB zfE|_di301Tf~{zsY-v1Z_h;~k6l$nr0Oild2vYL9W`Pdvlfy~I^2y~J#xy^Fy$q#yxv%Y#8>W=!<*826(EYV3qJ@4n0nM)^;5<%fLEj0O12t z)K`OmXP`u3QR9E!3$gPh$E3eQ2S<<_kIZaBVN_KqytaNNZy_2>mU{06yvMd~xwd2kP`g}Az#`~`0SS!ua~t^4 zE&+VWHYG73EXhmH=!bPKYi0|NRrt2Hfi}jcNr7SIT6WbtJBb*`jJ(^R4W-XW)~b7# z@roariD{Gxv9xcYm3jMx57d9fGuUSPN_Vg2?#2rZ-+ zuViJRwg^Ux{bX$C{Yn%uI)wqc3~w2_m(dO_M`=AHbZyD%qTR~GlbCq=Ju?Ikif~8T z32Se$zfbPZ;$+J0W^iRV1JIX(T*+AD>zTQbx2kYQRU0=ZTlBQ|M@QM#0Nu;xkbmTH==+N%<=_)z1drXy+G5MBs+453eYp?Ol_L zQZ0Ey&jz17kAr|&PhzZK*iksRpJ$Y%5n-N-&4G!@c?^n&C^W3G!FN$?%DbL|&vg+4*sQdnNI!=OEggGL>mhaHzMuQn1p(N;Jow zd1fm?e(E}?9<%!}T?sB;3>HurCFHvDO`eD&Ntm|iRYxsCpfthd@m4o6h8*!_#?+Vo z^C9j(J&YJd(qYP>zdIvpOc&#Z<+Lf|2RAi$bWM@Rc0BY`i8pEq1POpJ%}R?JEq~yB zxQ@0@ty`}-^NAn+-ZT8brr-`&Mkd1V`jLOwb1sZHI=a^ z7>^H?lbH9~jabTZzW9RSOO;XXPWdC0=`^qmTeY6eP~@+&xfHf8yJTxMqSrU${*fLq ztT;aXJ`nCXy%$xdH`6eDCCDQ%khm1=if^&DPh8M_c2gQ9=Hae7c~;-?Lsqm-Jr#;E zj_K=Ml-7iN*xe@%h}+`}9~=FiH}8{$1*MO_dAHZtEEp#UGwTyDon>^ zM<;H?He4SZPK`s@V;n;bqbERu1MePY1Pu^Qup>(7kqF6!uZFMnYmE)v5I?UUBH4a? z_$%kqKJxOum0=xTsNZUAmSjJA4+J`?{u~;tB}mwDtGD51qs0w6qd*Wn-VsaQlM}K{ z3Lv%_2M(XkW_b(CDJR~x^Qf?VH-l6pxZI`!gqXID41T$ZQl(vA&jO7D{cocsOWIpd=#j?QW$j6^*8BR3Nk7sw7)H@qDK zlVz=pI64Vin=r_e_OyDFl8!qk#O@4QMzU5DZs5*N95bv8h6K=Y15)jk5EP*iRoQrUKt+LB=@GU(d`V%Y~RW_6U^p-NJ&*!4r zWtvC+@LPG$y02W@Ke91IolGgTVkdxx?R(^P+k!w)H&j4v#LzJdPz@{47~d z;lL%1%76cz@sTw82#SGk5v z9Vcv>(dM1yFzaZXs0-1?Y5JoXKrWvHzKC<-G`lk$T7(|59ag>nm>017Cq8vutSrzo zcEnf)>u=+_3N4ciScPyUHu1&no7q{)icK+a5^B8Y`gplxhqFsoZkm0qsibS7xxBF> ze8}P&czv|&tgHjD__;{@Zm2CAD)BuD$ zQJ#Ocq1RITem=)fbj_FfEK>ZaXg*r0!+$n=qg+6Z-g7${Dw=E9@hiPWso_JXJyE#!|K~Zx0)ElkcW5}us?c8ao-BlZ+dXw zeQv(p9wEu+nftaU_h0taVvlgo-_Q+H_?jH)`}s=9r-k)OJvS>7zHiwD(|AIix4E3( z`Th!f4-M{E*z0_H{-jrxFS{mu!nW|Ny@c$>Dty<^>+qBD!?@hB%Nrhc5A*;pggBxtFjgt+{S3MPPcn ztoUQSpFLB3E6W!hJ-kue$N2e@zR0vtlvQESujzkT*0dME0*wG?_Q0?$iPmr^Qug1) z=D7HgtRoWuJs9qG!{*34Um3pZ&+baN_0!__Uv!0=3!60-=AZ2@Keu*|{VR z;oZRCm)s$BTh@U`fU$qj5f@{*(5j{RneF9{dX%uDo)kTvX9))WLLwr zmf~xifL%#Z6gzpC1y!=t37L?%buke}GBeku_&q@+%~1AO13_?4Nv>z&8U4Of%yH2D zJ?FWF(-$A~7(B~V_acV1-h5Z8rAn>DBt7Z$xxZjwJe=ob7@Ndnh1A^-be$t?o-dHo zP9j3TQKXZ|74;)*C`k#9l1qS^=C>StEMOH6WtX}r3L)ghsk6G6JZ|x{du5Uii{;W{ zGOQj#F}X3(adx4aV*cgcz688q%^MUtm6i1SR*!LR2ymPJUvLclPx==B4Q~moCFbL! z!x(_ky}z#kI~&O=F_CJxmDF89iTT>WtVZf58|=i|Aq zC5Z64VSUj7)o^`Phk@@r`uv!8k5t61;h8)#98{i>5eDlz+4Od{;(&JBO;J z$9b^z@s+K??%A~Vy(CQEYE?hr=_Ydg>ry|ZR);%^z~9p-*0s9z-Bu@pd7H*A!boon zh_gHm>j?_CV2|#*Gy5iu)nwof%Kj48flkK#an~a~bWolN(40g^8*)!R8~Uj&EG832 zvU)s_m+avC6GW^2f68m{-|E5r+n(XyXG4yB!|(1a9mbo({*CP~HA|ec@(0*JOXBC3 zzDRJ5G3U*L_i1H9^A2nuYqMhjVCxU@tK|y<>-hrHgN8?NkEHS zd;p2zf^eJys>sey89fhLYNkB}G+u~vh3p~s1nKw`c;jG#{;jS0FLMq$O$VM(<7NOw#91#}7zcdzW|oDDNIr}|xR`h$?D*+HrpjUDk@JjU zV}Yd{@bpo^??XLt=sx3sQCA76)gBav(LUO}RMwalu~y1I?B}vH+)4RkUcl{N*wa_11u)0zYazB-J1pZ z$whs~##hk36~2#^{?_rZ)N7wB{5*4Vjw`V6jC%{=ld9n?k!&JxVUGjCs*T6QV{;27 z#~!?w91$GbRgeuIgdfusD-TFF`khYB^m>J1=e87HJ)BxcdhFP+Lvbp-9%OfdCHS?h z#@>C{4h-aNMh&rxG$g|qaa^Dq*w06Do_awbo*p_p@r1STwrnjj&L}AzS53GcU5-N+ zHUL4V4FS`ZaKrVaAtCBBqOcpr8>P0sO}&|bRwE8k$eH5W6=1G?7+~H?AWPC;TffWc zI8FVxULyHQ{FfKEeKUpf`{AT1`&7z1&L@83#n-%foSKc_Ot$S9EkMsOEE06Kvk1Q- z%WHPA*fLUOezr2Bi5t0bU&Zro=c*kqkGp6$^R)>e{hXi3M_2DT@N0^)E*|t45;BDxv2SWyu`b-u!h@YBoKZUWay7>~PfedycO4B1elX zMl0IZhnOL$`wu6`3m*NbD*Vibz>ciISlsCbkPulJ_YKdZC9gAP5lMA5jkEX8Nwh7# z@LuX!TS~~EdVBvfe`*KbBk14Fe3G%}z+Dd%GzQj}{%f;XK0d&*$4p?EbZ-D^Jn;=X zfp;Isb1MVdOylL6P2rYf0q z8o545_keatwRjwn&-qef=YU5I+{IR%j^Y=vZzKi$8c5LS~1VMKq zckjgKPOGn%l93~?CDfOF!gIls3ONX;Gdc99Crj)RO4#qM^pu{+y;Tm--ybgUptFo| z%?=iwAs1*>u|Dh$-T1D&vrb?CE6;`OFhfuzG}>J&GgooZ&ko5vjb4rAeLw8#tP&3O z;d+p}L!Edmen)PWmEg-_i$`V_ukX4DdY^fmqWH2SjRc+g+wXet)rmJr12=@)i!>SO zu)}t|n&0E+`J(Q<;{|m)wu45q`Ojn?A{`jraf4Y~WT`V}@4By>`i`x>&yJaY`m7aPluhI+cbW=Qpg_`A4FBYw#JR4s$%NP^J0#uaMku7Sj>ax5?i;!hx0_C zs~_=P|C{>P8oTj?`ph$`u6+mQb&Hktj2Tz>mwe!VmG}I`P6;sFX5@@yfyNC`Zqvup znzdi@Ufa{N@HWClKVD$qyYkvXixO_cey#XRE{QtmW--bCwV%L zacY83O^Xg`xzu;BMC;J^wa3a|=Tm&{m@U`0td%{Vh6*@`u?QYu>*wfK8^*EVvFAYHx*;~GGUsx3)RO_hSC9}->6LY^5MnlK!6+j zC2H4mdvumN!}awa*V_(7ECMn}YX!o6_DudA>2XYky}!-H1H0Yz-uv;1&s)z+%85Yd zjjDLM+&lfw-?v%sU6F9HaXej|QGfAJk3|Y`y61r-eJ3j_x9^h{0pN~V)xi(!;_**7;S2MOjL9p^D^q2?r}B^$DzY2t zxOJtpk@v!otp1SG?8kAE%;WUjtdh}Pgq$Zvp?`cN)jU!9kYPR>^<_;eEu#>!4h$>?4L*^tH5+tPngPRbdpc)tH1K#c}AB(`(qPH zCV5YroR0f%nl;y?klj*aHx^K zHDCa#HDp0K9$v{C+pue~_1S$dQyQVrp6^A_k)6@-nSi_7$WK)eH4E9!9;hZ}&7AplyEM zwz*q=*;JIH;K_yT_~6?;y`XK*;MSMxaXPL9VYCHz6M#H)YGnJ~Bs2(CvY;O_rifDc z7HC-hdJZ0y$wFe56k25rECgNx+_GOIG;JF!PgbI?8=nJnDzToMWu(`z2Q>%k(4cFq zKvY)*G20IZP{OC7!Udh@7N_rE9=!sGav^J6Yn`TbQ|xL`#1Tbf7~1Yf5&}wrc^i|D6FIr(8DUQ zPZ|lVkPEo3xCfVeZNJ*@qU*p_i{Y!yyt^fC|zSswu_i< zd|`HcG|Du$3)^z>P9g>@=ZLo8ijz%wwn5q?tN^hj7uWNP^QBL4-&<0U0w-ipP9M?M89+2 zXAM&*LEc-pK?A)sN% z(S9Ff!A9F3ABW6!^P%VCgxsq^>ss&`Px5-@4c4O9B-F7u)j;w9nQ9mse=m}H(-S|4 ztq+}(=!`B6<$WNgdX{) zv8Ix~_9|#Wdjf~@4ldE-Zo@Z0r0T;Yckr25MnOQ=sa5r}&@6ZYdzfywrxfa91a-`9)lzYXv zz1V6)m35+d@nR==G;Dq97{+dvU49sB>u-S19!8dzvfh=99{n_C*1`! zbqhwh8$*sJ$d^oUi*7dH-6&LI?<%Ts)8`%Er(4>I{$M2UrOf00eLwCqWseSq8=ms| zIv29oRpT8zr)v0MJo7GIaOEIY`o-VPpV;8O)(!DOD+lMPY}_=TIO5l9Z)=v=pKGZg~3I;*pK8plf|_+@=qVEG`~`n0f_w?G3uj z7pX{io?hSO5BoZ0ay_pq1>(P{ANbXtP`QrJI7+5Wqq&3tj5SpPZt^K&A)=;~kil)Q zAz*~|89(I_+nM-E?Y%%8$GGyp*q!PMfZPCRl$O(s}Yc3?&3 zEO>X~zVpFC8S`^LU7IITz!FPVug0$?GCS>cMzF=LR@>jLj*;)}iiwqlBt+1J{@^p2 zFH7Q$>M@wOnIVx*z2>Hb-y{pVRR@ltp|*l0$b8lxyGlK^3wjPwxdyZwE4QPNRf&tA z6EF4caGwPtR^4eNI~p+rhZq*t1c$VC`P+j}>!h!d0_?oUN-;Fm_(l1YdhrHeS82ve_m`7%xZ|oAx7&eYhsh_q>S| z=vjS=kT8Dcv?&_Yx46ZKgz>cX%Gf=RgwYvhjsv^_EpXQ_$U?(y=9_}e%5O8@N~H>E zTP?{8lH6VVdoK@9wScn%D}&rR#z0SAuS5g%cAsy0*0$a}*xsdM{ONzFsVxs<`S1vh zlIvocj9AA>ki%st;~bFIHYe5jZBDANe(m94_jINMAI=?zcW-dzC^d3Hn=CF!h^2Ld zpuM7f+#dX?M22nmr_TxfEV`Ke?e9y%-AX#~x#qC)#3$%7HRg+R279#<@uB zWF6j2tlyK;tA4RaC7;$4sr&pKjg+eaPZ-S~)=^yW?88O+bNq;~0>}L_ckjhWM+T1o z>HnTD`lgECHK)c;uGP$SW_Ted*T7{kwCRR^rB686)7%&lfKC>f5P0)$+%@2ga}>MG z*)CTJmm&g|?%=dAw%s_HBESV~ccUixUalI;Nvlon)Yvw)c0l0Xmh99vB0X)Yq1D>g zVhiYi9qId`8QMehLbw3^yAvgn)*zrm$!_!5_@Vu3VAvNM3l}SLPWEZzTz;_~JIEJH zMF(u07yX9qu8kZKKH*{hV27A(Gmd7D>S{Au)Gkd*Zv1JtVSAR-0NLi)RM8P0=e$Q2)M?es{YRczd6S^&8$CvPBHY6Xy8>>Jx$eRg5$ zRfQhaj#QK|1_l^vj7l9dT}afh*FYnUl}mPj7G1x9)H5TR3)&GU(pC6S4_eIWq0}M? zBQtF8aC~g=bjaDEn=pdI$Ergu6xK#wGVqvLo{Le?v23IObEjM^)VL(((zBQncRWfI z(irpPXM6`iE0wQbb8~;z@b7pN{^@myx5fSe00{;1wP*+jpOv{mCLxGqt~ zghSBFr2wUJD}cP0um~w9#^5qCi~mSZ{pB++JISObF#stBF}Ex!FvNffD}v)*SUqT` zwYp6aA0>4q(H*)W*=H<&I3wlM0_X04Te=ch>w#8-GDEKXs&P_Ls2H3VPDzH^DiiLm zs}DfxeN9Cjl;BF45$n7BO25X!eqR>KUtQbG(Dv4&o<%wfKbQVU-=?i0uh&1b3S1H# z$e2xDesNXX6@v!srM6|LbqP5<18{$eYcP(N4(8_3r%tNyuVw!Acl_i3>%JDI=^VAq z(P)|x967rN%+l`zWFd*6GYHqk-`xE2$L>Uq*if4Z#j_zCE_-Xagc3`o#+6`O@`UxifYoGW1>4Apo^e8AVYhK=pZ^$9_)=mNo)SR?z13u;>dAz%8z+#8$I;2u6PamE9Ef4o__&%;k_a14W z5}q77M&?_N(Le9ByIA_At3zd*g|Nv`y!K`+nuY7y#*1ZGojhd4ooL^Ypt{`H)i*vL zxHwK~0}h-1|Lr_J|1tyf6X#r`2Uno)n4QCdl4>%2a%>a%)J#2W@)IY}vlA+{bUQgx zQ@1g*^)|9keS9W$$x(FL?z7QQpj#RoZzJu@Z+-HWbOgSBnU3tt3Ki6yK3l$^3##MTd2ZAb?&c*l=2j==5b3S<;By;vl_Oys) zUTA-l_?LKbH6ESUjf3O@WdHi~G?KYr=Tny@+uXJ;#s;L=JILTRQ?3*EGC%wFrMCXJ zxzWfWJXAm#uifDHBC(WYo{?tZRdx9#z72nmT~mt}>};1TJfzT+HEeaYzrCdkS!$m! z^+Hj7KfOOOdLy~`WblsvTYE$t;0k>tmV`<0Wxod_29SsHWZq+YaM#_Dcv0>VKJ|x0 z?A3?q{O~ik9+DKc!zc?Yuxf&T6Of{i=S6xPqh&VNhKW~6$jrcu^Lvb9cp7^UyyLLC zGrT>n)}X>gEd+X?mqo;J5zApGsT}p79Dm0nywMJ92<(Vxog`;>Lw9Kp$z*%{&YdW% z$)ZQW^55Ig9fC*NXMPsV4q%WjknCWGfW6RX?{V?>d@BtE><@rsj`+08anoThE$N9H zZ>$+}tKKGsr-uNi+BykGPgop|F+h*3W;Rw7Q9^3QsSkdt7>*oSf`VR}WU;`}Ds!P@ z&e4+JaTcC%Xc7lateGh^zk4yBj8wHxXBPq5N zdD4uqBIkXrAlrEf+ifmzO}Nd=fi1bZa=%7YrZ|GY+pw4QGXc88oACF&bbHIazeTBq+PCofl;PD=LUOGd#1LLZh%Dc}kdb@j15*+xyWD$+?Nl)LfzJuS_PnVk zh07DIsodGoEh9s^CA=%Pt*Jwm=(|GL<-SpEmDWdnIuFoq&Q!^$$t~9qIPx#qK z3sR(^OHw+Oufe?Lya}UW@N}JOkbB{H*2ei_Ua@**Rk`f-m?3VwP9axExbpESzh*UZutb_oI4==gAq-`*BqbtBK*1U%IG$55p;bnL+H^K3T=R; zN_TNta?F&|u(~^hjcw1z(5>Z?I>iOYN09ULv#B{qJ7`k;!n`(b#-GYkyYYFU>lUTn zTMWq^fY1wh{07G1vsR~b&j!SMfZUa`LM$e&VkSR(mOHq%O4P+cx+%q-<-2%xf0uu5 z83SnhaT2I*J$ANVt%R~OAO4s;EatRi!BKoK3+(b4Br@Rmwoekk*L7gG?IA`^&i;4Z zy?Wek=ucn&{{G*3kJ*iV0x2I5ell4|u|Y^CN0L^g&)R`!wa7nC%aax zKjsDOoyVR_@X=iMpbtteI3#@sArf@%e?PwSeDp0A9q>PR`l2(0md~nA7>(MUh*Z7l z-cw)M$Ii{-`V)hP@8dy4`{PzoYK~yoLR@8e-QQ*v8USCQQi!z;ea59`O3FGahk)BL6OD%eAMU)ksgkWL?O$ z6~k68v^f#x+EXWpGifWv+xfo!jB6!o)xm3C8Y^Z42 z_X&oKxqa`C9{Ddl@rHsYT7&#U>UH_kd0+Xx?Z>B8IAgo52|wZ!KucsR_Kc`nBL#=# z5~+|z?@zuw`PY2VdB$I5(yn!p-}lAp82#y*Hpdges`$=(Ce>q?Hd#xP&!+RLY03!W z#AHype)3L4bM$S~W((@*2|KKORa06C5*ZwR9wW~-?$FkTi^q+l$3g1?@_Wb~9go9I zby$lb>dx$|=@2+V5U7ex;jM0o^k9F()2t*G9|}j}hB8x!ur~;y-yX;_cmRUvo31f5t*;d%J0$JrW1`wnhB% z?{oeHQ859>=uS;qBdz0C7jX8+TVQSb5Z$k8$Vnd~2_S>RUrN*Zaqr5fHv^Bh-i%-NOL7=ei6<&K1K=jCjhqsL zSuS)1@mbHyv)HlW%Td1Nf=5z11eNo(pWWtUd_5hJ3{@|a$&I7;{;dyQ`o0hT`}2O@ z2fq^RrO5pCt-Sq2LDGNU>TtMg@kbxwr*E)}byt6v=jKk|@#W9wHD_cf9X{WlA963> zGNe#7akOJEB`J%p7PgQVzl)QA+#})yyddzYHooCCeCwBQze73td*(QoyyP)_7xU@m z3L|4fDAh5-D=YH1=*^!-+MsmKMz$dIJ7o8Odi@}kCf zM_cQRBz$0jG^(y&Y;a>JC;}f%ITm>ZiH&X;r$b9M~_3Sfy zw+9wK+WynUxmQh)ASR8RtouLaHl^uje$~jhjabGd0UEY5JeC{lZGD<;2+h|zSdHyh z>@qm(E1XZVk$BdBC%*m8V&w zI^*Win8ahA6A%Eba9wg}MsDd6mV>TYEZ)OMxb4Y|w((Be_&yl1xXlA$GKN-4ZQWv8 z%E1V}k9+lo%z86Uj9$l5TiJ5o0_6M^j zqoczg<>Y^n?|&+3E4&wUFzS^m3|2;H70QWplVks~R#aaYTP@Tt`{&BL{^=S1wzo_q zJ9{rCJj;Epo%!G)ZY}y<9R5oG;NX{aSDPXW%Jvg`1vwJPAN81Nlw(-lb;M(u`7z$$ zgyNUIjvs93wG5w7!yQOwC)PZF)Sf9A*Ky?dCqaW`(NetA;#al*X>Zq;9&^zfDCXCF zsOzUzjAFE9?thC*xGR3d1WK{;ERo#~1(!gb-U!eWM?-7nYul-XAxK<27y~7Er zNObD`3Ywywj!iWokJ}*TjC#J%J_sfMaIG77xy(aIomt;${OM!MNl&FZ$?rMpE4IN^ zmRYW^gV-rTVLkm57tBjkozZneiqLvhJ;}k%2_(s*N7yI3gbl!}ownT0irjOzzQg$MQg^o(!)bO>0VZ{nwB>c{moWmr_w3E5ft zs+#n`%=0;gy9dJvKdssMp?>i2i+@@kgWn&rNM#btb`MD2k^43S)mt3}rpb-rIW5`2 zaq#aIz<^Z@4aM}Hk}%#SJ9xLy#Kjc6aD14E>P?b8+uk4CrOAxJKgW#d(P!E5F6GO1 zD|K9-R&@y#IkRbxd1vI5nVu4pIUW=*X)ucTa3G4iN9Q&x1U!AZ9$eu-6Ub9(hmC6) z?yH^+kG`@lH}XB1-vC`rnDC<)`oY1+D&>b1m^w`{q-jK{5svl zYBiHxgK#EVi2io39Wi&$0a!RXHU%dv z9)NM^q^KX1eJ*pH;0?efj%C*z>lyMROCHnbp@>fuccog=-m}C?C2PlVzkMi(yk~@uI$XxZz<4d5)bwkg%NoZ;8zdJYc`mQH9 zgxo8F4~RlqiODvyJ3NniB*l>HbZl7ZeHKTIX|_tb^5xp>OVz_nAZv;5F@(mAS0;+A zBTXDW-?hescHJTFinkQ0uPljzmM3FimhDT&L!MbUkG+(Jf@xcPC9zm2EK=LQ>L66N zy6gW|UfQOj!Yn@E=tr{?epyfY?K?IrsT_XRL-&c*DI;A@Vq5q8z46(p~(X9$s8@fKbKwoZy>-6wTjBiK9JGnjm zCFb|%_#fEO2&XLz2EZVh6bQf`Jav%p2hg_^AUKNQ_!G!Eee5_0kba`TOu!&C`2i1- znekgHfm#FfXAFvvJv5lYm3jf~$Z&6>%r;TZnp{&fj^7PsyEMqM6vZ&}8%II*%q#bl z+4FsTK-;&iP0uR+$+k)UnG@so9oK&pnbjvmXtkIYv^sW;?Kp}F`fOE(;8%fiCyWBjo%#oE zH(YMkhEDCbj6o`)OSH%kIgru#8m-eqqM*&{&dlTGbm^awtfu?8yCmAtqy-Q%SYr2b zT9st5h&33K{o(k>yZ{qE_U|?BO+PkOmCMeAKi>R4iJqD9j_)E_9BeixutN||r|W`F zu8`U9Q{2S0Gz@QGK^T?EB6Gl}`-qR@v!Imyy(_0%qq=GPh>lRGTi7)9q>Tj)Ef`mja zDFL~E>yP|>?cvw!tPHX@#cjo-(~s>0gcGw;1BC>MJyOG5jam)>6caaTlP==PHf!N! z!rPji70hDJ2SubGn@3N<31VLj`$_6LxH=s*2cVy0xr9`Lx5_*3zVT-_ZI? ze)1z+NtT{+yQ=GKQfHUck#)Ip=B)Ae0s9lCtkK>%WFc?CMWLpfR;%^XTk?pOID&rM zs~}Mf65KhY=hFkh2(7Vp82<-Ov==I;U8Qz> z`$3skm@>-K)Qg|YlKad`t2l+yonP`Aeev^q?C*GaVr>1p-l=~SFGxZ)oM8beimK%) z0oDcZZ}z}FZ0avIgBCmf8Mx(NYTw*dxbOn!o`>Whkl3!9_8=2tQP+9}UpYWvm5fu_ z1?w*P+$LPB=akt`Jc3g9i!!@105UNnSfcPmTe5ScTp? z+Nb&kzu{o`IrqZ9i`kONFL_*lh@Iq=VXzj+thA-I9{0?Hf~zmG}Z-&CL#l6uJ%YUD}btvnU5XrpUE5pTy~h=P?e!gXGA zEq0+PJh@$6rV%y;EtbSDN#PgfO)pSO*d*IHL~35wJHBKKWp`U9rZ|)xapcfX zbv+(o_VvuL+7CI%hAxhOIe#)NZ+hZ=IL_ka$9~V(_`J^O_k!Fh`NUy%5`#9rJ!)krk& z`wUaAdf!>BnpcXH^+J~^B240qakLBeHB`MF{qS3Xpzl%E6{XbY^n=XnqIgVLE#8*+ z#y{BqkGk(_derE){y|(cL4>|k0z?)f-+=&$oDuNrzvda+Gq%U!eb1>=^;Owb8tDK#^H<5nD{Gs|xWu#&_R+ z<=QLOo*(E!(3kVtT_C1ri1l`=k=b0ue)x+K1BO#hfFt5{kUhn~jow8Je6SAU+|0(& zI~aFBIV5-y$vU&t7^lf{NI}pgti4k8@Ep^L;s`X_o_vB>Cz5=xX{faU)}39uAdG9lWwLNTv8^nckG6{FJ1gn$%v+Q9<P z#B02`+%Oa*0Z)>;kdc|YE2l;eaJr*X+W`eIM~XU)3px;5x>P}V&;1)9tjF(KVdY{X2hOC(4V$xujet! zAnvP_K|DNR^W!swg71a&w^&%z58AlLq5_H)8G3jJ@hYC?AWq$!ro7nt#V=DCCV?|R zrUjuoFg?sZci9J@yxz@43j~LEbHKiyB`1EKa)0v_Ek7M^q54S>Jc>TS{Q5ex#?E~| zIb6@?#ync$D#r66_;$YAh~(2@n(DPQ&X_8DaJC6&*L+5~wkBQO359m_;aY#yg;n|G zY&ci1GVo8kTtP*qK$i1^~UqPX@u^-2=#WSJ{b3PW{ojRZ7_FDi|KlU z^sQprjyoyBT-@L_ejJ7yVf+y59nIn}I}VYbg-pfRyXlPk0eSYWhj;&VK>jVZ`}fgyWHHoo-a^@sVqnA`bqm9&17 z7TLuoO{la{Ab2N_1>u@>(yT_!`|f+D?-ja>o6Q zBj6P!bG#7A>FQ25yH9;3pnEP#nWz@sR%P)zskH<<1sOQEDz^D6^2O==+Su!7PMFxw zXyr|D3dTCnyQM+U&9oR@ND-QwOLM0!{V=vM=Ud-9bZN2@cfEAr;_>H8Xc241*?f$w zO-CP^O0>_DG)v)P zCfzYjE=R1;M)iuQO5f)anq#)TGoR&yVZM}4mDv!K%YmeiG9%K#jM10h&Vap6Z%%9x zh{bzsUuDw9={K%AKm950h2&kiY?~d;DUlQU936bo4%+_pMP%~AYoxoXY$g-98H;#A zfx8pl9^-y9PRB6UH16EN(}+FK#7Ta?pW$rDI2(Ms-bCN(idZWZm-cj`s)sx)C%wsF z59T_ymTgIN9?U%vGdZM{etrG&cND)_Ai5U=!&7dGTN0$b~QYScj*jY*@JdCidZ zJ(gb=uI^4XHLe6j5;>J78^zuN0+T7(D?jGt{>z!%e|9Fim-; zMYv_NNdv|tvI6lP)&!=|ZrL#*=oOm6c? z(I(Z?G1W7Lkq-q(=JWj<_loNq3>T4|HAD>*FXFIAV3Y$Q?KH8mNy0p7M)VSu(WW?M zOhEL2{FWc#SZW-B6PtC|{aQ+W}znGj$TMMRcC2&!zqy990rHo#GlIJFPTBy2~hNvljv= z=-7_QjaY~w_-M)nDsSDILhrUNKD@HnK^c>>7+5FAy>bM3Lb>4vgnXoeCrlL|;bW?A z5d{~M_=!>VRO?t3b6dIR36RQ%beohWKgL-t47%iMTy@@+)oV_~kcJymyrD46G|}5~ z)99WmLij33Z1AaHVjmMm*V7;3#n>PyrTuZlWk?ab@9g&n4y8A!W$H&nu~PF$PbmT! zr^m@Q_ytBD(K7N$NYeD^Mya62Bs<9L+>l0FuQoMebZS4_#iJ@WjRm99BX3>*>igj2 zxev6P2@;Xj3IB_GDJY^BV27Qj2-7Xu!U&p((YEHl#zHjz3u6&TRbxkH-R6{KS&o~A z)R;wZRH8K^O+O|KPPwCHnQwAF4cyE|i5mxfYMt#gMZS%1=49E3P=gBvY*Rzv zL6sVhKGUP@cm0c*6V1YQ^S)-cd);aOO{LnApKkhg2D{gHS&;!n+{%DK6 zE&bKzqES2uBLWYj!#wQ90IxY)ptus9_}AzD`+3f30I#%69D7xiwr|SFP9#;8<2aJ4HW)~B(Ir{|2rty}Y4qbE`6?J7EW)s_v(Kl=1J!Bb5 z9=g}OU97$C2=SgE>_X)<8riD@W5eQ;P*{Jy7cU&Sm{0azpV?Y4I3M*=$!iEb`{mpXq?1a_6(VmR_pruS9@5gLaaA118nW8?_(I%#n26?R}a*fn$OoV6{Pu(eZRJwoH)^zwwqv1$u?dM1%eXxp!RV>`kz$fY4b}6pME4}!eAXZSU4F}h)db>SXguxttpA0^6U{(%Gsl0S@q}BNNc^J? z*1C~{I{v6VmduulNB>3#>$;in?{u(SXN4EU-(!r+RUkY^B7F@wg~>`N#y`}?{`s6Y zz8%u!c{)6pHEpqY@7M9Wdb@FZ_XwLa(ab+H7C13xsaJP=1TYJz{v+1CeXFVN4x$OP z^Yz7k48bONhR(8Gx4~?=f0y&TYg+#_*Z6z>=uJ26@{JFbbFs*j82Vpp5vD;zWI>4-d|nlzzNAiF|EM2UAoM3Fb!iM(tKLkbcKJG))db`B z{yB(W3M@e-^4=e>XSpmuXtMZq-G8f_wvQM9*zuQw2Pa2&!Xo;KUT zWN{b3PVFs$obPW;R9QQ9Td__}412te zNbKjo>$kxdo!%18>^u|4YsrfTgg7o}W|TWIQ2#pC>kSD)&8LnF=dQtfhfMz%%l>)1 zJL>yAG~M;gdNEkU>-sYQLB#a#LjAdy7_n$R#{8Mroi^r_BLAFXLTv!Bh7^^xq-H|L z%eat`^~_8HD@iROz@|mgs)I>^Zm{Z8u@ zkQ>KWx#n^n6uVh0nXnBW3xHBGHN)tnS(&`-dnRx)+K%ExxVnMWRsUcvbk{?hkH|V~ zIIb(Fe)upS@WR@e{r6?`cJCJhg&J%70NiRQ{jFkm`>V15129z;r<1 zYoyu}RmNh|Q*QzR0EA-j%ZJd+JBddl3;=|++ohQGb)8pDBo-xerB_dTz;P8^vmlKU?(k-e>s1DNZ5s%B4bthUHiuu3Ei?&ZCHgmdOSxA9U>>9#yMg6 zY}INS$+qC+{@vj|(J*pXRih%3GIQx8`dK>19&ZQ|yo=V~&k~>-CX~NqX@AOCCk-@_ zq6NpO{ULd~+ST1W9m<$P%uI0(H;ZM?R>Um%M8qdAh5`*$EG!^J4G_a?$Ud>I7N$1L z$qT&iXTKLl zV~QIxFH5r5Xb;#JWK@$1I5F(CYH6fybVP9Ms%~&ASZejZ`VD{U?;Q5?BO=YZO7o4i zxRh1xfZ6u`6~k%-JqVxdNTvyc&=PaoB6IrivzrL`Z~kBp%GUES{L3}}?{i1~iy9Gw zXfc+2{85KU-*t!%f2pH|)!58%!<>Rtv=j<@#njE*1?EJf#?LY`*oZzSY&p@`!W)($nK=0N8_( zoa|krFs;~|w$|V;dM*FUb8c+>hn~&<_Bz$y>zo;>KXMcUI*`zP1_=DX5!8$9iMjpj z8o1xp!yPH^Wgcd3RLG=P6c(9>*hn9p;Yuu>r8qViAUfg_ed&5mW7W*yphzb=TtMW} z1k5aqJ4fy~ zTU;0kPE#zzL>!1{ZB-PI%A`1e0y!u6oT4~nu?O7R(R^bM!Z#X*&5LTF3?pwyVx9^I z_tT;#DI+fX5li3oWJ3PE=TL4VMkS4I#L|qpH5@m0qo!@)0%l)x_}>4BRN@D2M-@e# zrV1z|tw{s@R5RC^tcA<85kap^IgyVi*n1|aMsp7he_10|+t@>tgbbRpg`XY~mqxjScNQFH_~zKq2I$bI7?pz*kP_YG|-h&k@Y9vfi+27Rk)@)7o>K6psl{ zkoEKd4l@mo_xUjscLR7Wyl|j3z{i_SKZct2=-uRFjE-S_njiWFqgQ zF%~g8u1zqd$vcb2^l16G%x}2E+XD4?bLTjw1+>BEajt`w&1i-W3@NACH8}b79N{-t z-fH(bUdN4yk}VYG?p}@$V%91W4c;;G&`rFN&$SZyMHhmQtk6{xj<0T`94ogU$zmCyIB` z9zd&7@Y!u?3f-8CVC8~G=A&m*-AVpqrL)g7?4b`ye-@q%aX{F&(U?Aepi#~GW&v^U zp><-e`ip!%3vBZNMzY1^vE=ZM%4)vgH|IRnknV|SFGh?VHb?6;xCC3T3g7T!sqA&< z$T6(aCGy@9grBIN*R~HHhhVk5oVm(56?U4^k2S~gD)&!oXRqzcD6Zpkii_oiLc!Is+=1bY&7! zY;z1_N*?d(toq-3V*zgO8LSKAWADYrIjb^5hss#Biod%;{ z%w^|M>~)!`mtnY#Y0QBGq0w@Rm+P;uxcZ_-@Nh{<1Y@3vjs3wkrqgIN8o-&t?cmIb znDk7Uw~>L*bC}iO3wO>2F7>BB=VSivEdQpbpEKZ&@^Y9FW!xBz`Yip{aV^K2)o=P) zf9XGvDdA*?UTzw(Yf1kHbqL10y1?iO7&EqKiFv0F*cr%EK(9*qYUH+V!fK(s&j%-Yi7ar!oZS6!~_BOzX7ZA*twB5)OVC)Af z0YFQ`p(~A=J}yq1$_yc2mZX3Vj3}q$d8)mK8b%Qgk&Z4A6PSkJAj?dhy@${a2+=NW zhrx5?`2@4~F#xMo$^9%O8-AK6XXw&4diTIWmNf;l#-^4$q$xA(oMzbT1GbjVe>-QhoD2e{p&gg)f*#ZQi48Z27OmkEF@~ICNN_2 zN*1sn%_LVgI?J-=qD2dwl-kr}RO_R{(}6P5*i8_N#5U8#!pU?RPP#i!66^MueDB$W zvz_uXaqKHutN6Io<-G(KN~Mi$jCbt*GCcfIYD@piJtL`(aZ z^VGaDj0o2OPTiH#*Lil_O4kF`rF$J|hjp-Y^KiUD$8vfi-hZp@=(ZnH-j=-3k_dB2 z;-u=kvGn3p#G4S2D*I*SNki;)5Oy7WD9iMk|`chY!mM0 z^p59T#TTyhgjF#CwwxyONTL#_Z-Bt z>5%ZG3tCA@H%woBeoL|KqV}7~AXOmP{`3`w(09HdS{)2XoW8{5xH#QWF|n>q2C>oiuTcJ{0=k z-nTtIk>SwdfvG(S92aU~i6Oo>JPU_MR~;DX-cZY&>Q#0R>a%qY^TC0sX-~?Ts%JSg z%$tSw580vdM3m)(e1z^5&^PE>sppXBpXxiDs$9KFSUCF5t7T&ORTW8n-;Ba7W2ruWl^t=T9o59Wx7n8orYZb~l6k>j1)qXg)`o7m-4dJ& z@;lSYX?s`EIHn3)THvlGB)WUwv9b5UZ>@ld;x!w;cXu|Ea&wFF-Ce1^D1JlZ$pGX7^c`e(;!O zY&~Vck=A34YUgy*3A_$~&*9VzBlP&w>TUEKm$0ruG%RVrmWnyZ!wo!QCULnO%heh= zK#`@W1OrlPK?Z?8%mBmN8wUrZ8gP9Z%P@tyD-6+#`c_vTPY{$&&+#fg69!%Se-TIh z9yk3_n?3*1W{)mcv6k~&fAb99RrfGhgY|!oHFZgTI$ZA{u!CFplep=dcIxSXKINbM z4>9DZb3e<8UYk{3`E7CXJq(77?y?7JsfB-ikH^)`CpldW(h(lQ&tl7o6R^{M*7?&O zOMlTT>Bo3n%c$bZyzJW7??1+tM_?NtH>?56aR?iT#(J6Siz?DRwdfLSJP#=w+C~z8 zYx7veELzre@S>*GykdB9`8781?{k`~lmLJyVxw;*d+i>r4<7LOy8Se#`M=CN`7iTK z`gH8CEXg1K+-v>M=K~$5Zy@$*h#N*M`&`Dse^CSeZA^cw%lb<#`9J6v#y;d$2sieT{*DFP+xk`|BVhwXd_aR2-#F&fU;t^r`+b1%04 zMVANN=xLr6RsvM@1~0g6-!(XYcWy?eihc(x7QX(fkJ?;$YEl}=JpG$~EC0GK<)3Si z&=2b_T(B8V)!1@p;HZwVxVG zfL!W>XHC)9p8S0bPn#paFcbFBw6L3PwHy7d<9nmg8w%bx=1s7z#^xCCfa4DER722n z*by2Z;Cj=%g&wXOI@&@y+?1G|=Xraey~-FfwI*2Y;XU7{|CpD0GmJ)b#+E&D8*@5< zIW9rJELfKw8B#H8EJE~}1O?fQ4F|fIvD}e`T9PE(dpWiK6Y_UH#yRcp&rZLdeejw9 zsQ5#E=+@I-0#POEv?nC|5Tns>#ecrJ_8#zoKp#4yfXJkZ<@4t`F=wj!c^=01ybC={ zvOvs~|2#inpf3_1Z72Sxc^LmXALzpjGv*8{?0XHrcE^6I-m8e^`XbAF?tyb6h=2{w zxVn|3pbrH+^wRTvXXT3#p~v3eT+0s;_(L44BpnsqZ>Y#)#654VYmFm8^G481b|4N8 zHEPBcvmss^vmKx`{yC?32HG&N^6HsD&+jpqPm(m^ zL79dwnQ{O-Ede;1?sAL9E~ip#a~BbrlMze>kM*WyB=xO3^~pPzjSy6?iB-J!`;qE> zz{04hjTG_WsV`ZlQJdB74a)79w}?jSk)BxfPwWQ-v)RHY-=DnuWTf{@d z(t46GT19SkbY^=wpAG55UnV(SXl2SU_GZ7A0Gr8#Hs1Yh7hOgEr3^B<9TV2~V#$r+ zhG7(IAJ?s{`~Qlb-d<1=9zPmlFtGRSSme$`|dI3$Ukt8{C&TsU*et? z$I#2C*=XT+ek27I%aoY6u?MH$lN-ps+Uwyj!RTF_z`6HMe$2_*X&o6xOXnN~ErV$h zl(ds|<5oFUf9i(r;I@etw#SVr9iH$B#AOiwt@1}Yb)T^P%7 zI}Gv&UHRx}!p+as`#GO|ieuV`CsE4AH-w9Ll>_w7zB`Q7k<9QFYirHTq<0Ny%_*Jp z=&ENUjNQ`iiJj9NeNrJXvqD@+?kGLzOS^QT)^lwImadsXrW4`?BSJJ~cyA_DWON+6 zbn2O!#`y6yW}N&!C#`dX{n9#j-N>}43J`6}m~ufkj;62Z4%I#<<7o>^4{{VoNZLU2 zF>gU(4KHVnm`9JqAMtZ@AI(GbKQM3+zNOfzaMQ`1>#8;#ip3#;o+8?4lFG{~96PGp zWWg{UZJfPPkcA)Ca)C${nc;OC{Ln9;?)6uB-wg4glH@!GRo8rC8$yMdxOkd6@peyRXYV_CsO31FhApN^`f}VHBAe}ouAUva5)|meuRT$I z5FPD%K0*8O#>jy@^;pq%3jXGY$!0(t)NI~vl^b<3Q^RGvDbUSG7};JN*kgh?XCFLO zEzsY$u}1%39^`9$6z)<+CWH>9ogm@ipZ1bHTLNPc52&L;y=a~*!$)2PYac0IilH$e zyPPza~NVMbofo3`kfnR!&r{J6R+ZS|0-(n+uNAefrIODSRRK^-a)F`6+^J_uIs z5L^Fzh=RFhWYRNT*k$}7K<+_(1_Av1a-XM>hte7=)*J2hG{Je#^%O9_F?euizyybp zB@2@Yf#u~h%^i&;QhcvYgWQ=1e&j}CGF{}BHZh*nCuyK}or`Fk zjb}BF$WVCE6u8t%VoETVU$t%Tc%q9PH`60Vlzz5G{)Tp?$$-=w{GmQRPk-WKzvNaJ z$&)}BvHllr zobWT!qz()<;HkHfG(%0`$tc;|w0j#BdqRuF zS9;H{)=e*FGUuX+>3C-KcU{Y-c4{AZSil6o&Mav|!glgIPel-Sttfri8Dp8{t!0`u za)=K7kPpbzEVn+V%3D<(<7tQ@Db?dxY{dMGNhJP?gGvsAJ0RzjZ4;N2>>&yN7Oyh+@vOqR6!O zeCbl{n1&1;enR(RV&O+^}#bT$&cONh4m(19(-k&?3y|%z!gaH$d=n@Zv8`pL} z4?FIch=rye-pz#vjDMC|{!%!kqebnVb$vq?J4Al{|{YAJ>DN#Qv=WJB=!~_my|ptNApc>f$Hw(anznu zkEa&C_cOT_h^rs(z0tmJ!pqHX_1Jab@kSr1f%TBjruWW1TvZg&2|>w(%vvaGN8es5 zjcF=%na@Oee>cQM5St_{FKhTP2ccOdIt1nUWj~2R(^|_;jmK%xq=r1%!4;0>E>3$} z+x>jfyatGeG}!54b=CRV8?QS)HMmkYUDbX#DLmbSJxAO%#P4%JOy%WchyL2-w!JoI z9&)O5#m_~+!_jmZTR$yrE{D8n1eb@$-mb5DJBV3hOSLg+~&`{!EBY>I`$Q zUn)1of1DZ~4S+>N2XE|CZV5KtWzSU@3=d`k8q?wss-l<9g0l>A2TO z$iK~j#?DWINSOwL0J(JAHW*eLvBv_rhgFoZ;?4Yk5y&FLU8`$&1jMe-w|Vo+MToCM zc0GznAO?+$jVxgVTN)u~NX(3QU$pMgy~N8^f1*x{vRbU$gBm_{P8OpPjq`)}}d4^yjOGsZ-o+Be(wNH49(YE?2AYB<|z~ z|9{mieB*Hg>@SL?cCUW^-rxLxqpl-8Pwy|`3$WVE3G}?wayCs%M6^m|jp+W&KUWHK zMhsmi`C6{O?`N^eNloAQObU~kt2rqK_Q4@*I3r`wk{&{qe>gkH5fhzLP1Gpp+uTh% zIr<^BaXf@z>X^Zxi0hSLI@WGP0rX6ZJsBt|V7qvP<}hYXwU1C+KyP;j??=$d)407K zSTX755jvjNk;z;MdyBB~bm*^`CNzL>Mr!Vu*6Nw6qh=2yr!8gyN5F3FY%DD?di~V9YorGSPrbaY=>#H|~ z25AHmixFGI5eR~uklQwhY>F(Us(`t?!@bH->{Bt;L-G-) z8OsGX-Rpd#;9zM`g*06k_j@K_y?rh(yjXBT`Rn(>sXU2fqu;Jg&xqY{Zj zh1il%%X<3(Z<~#o;S+-n!^UJ+0imWUnq3G}n!aosd-JxAn91#gbLpphV#$E0d=68D z{LqMLg6`e)O9xIVs82Z$@4ZiV8l58Ge$!wTrz|isgPQdbVo##gUdFB~mn1};jKwZ9 zYvvVc_0b73@GV-!NyGi*ac}`qbY6q-@<(K;+Qono;@Pstc@6Y(1NVf&FzjjQF^0a< zrG0AU>_JbDBkqJ_PH4tKM&|X^YZ2q!`_)aXFblU5Wb6G-WbakrRD6#|;`zj>H<%?; zQI_yrd*KmYG-_~y3Q%YFW!vMLPtN8k?#mz<^P$rLu-at0GI?F)OGJoAlK;_x!rvF-x7u+m$3#s*4|p)M1>Ni43lP zoJGfcX^R!coWl7x~rGHcX(L5uMKD zRu@X<^!&t%=K1b(802`erxH%Z)9Q-GK$d$r+z#fqUJ9>*kagPAo@00f5mW&dqzKO- z%;6`XlLid#F>BiEE?0*G_Se{Hcnm zVU88b4Y4DcGi(V?HOohc*B?0a(Kz?cOn=(CwbGg^6mMh7S6`~BH=!p(N7f5GD8BIy z;PcAKGv)XR(eIjR5po~2uxs2R;Clr+0PWmSG6oPcU?}aC-dRrfK00AUXw3Dc-;&^| z@;yTiGs%0ZC%<2v`e2WpM+)SSD&o9rRuM!_xs%zkOnxZG82T8p^kuk0pHGQ0HnFca zoMeTK6cbMTz=+hBfK${&*As{LUK<=vd|iK@TTHO!%K>h1UTn4W-roJu%2J7z(rYA% zxOXp3 zLZ~b}Q-R~*^{AmCSK=l1X|f-}*)7MPjQKzkmo<2x<336=F z{;XdX1(-T^!t>TK?7NA~q4Os>6q|q7WACf}iaw0=wx69de~!Vr)*eI+reylM4(2WP zALD^Sq;Tc^d%u8Rd+wdE2tW~=?^O(Pj7nX~oBDnc_VY#Z^|aU=8mR>IQ#5rOu{IdD ze(ecnB0D`a;4-3Th0w@^z%6#@zjSIb*7Dp4ZMSCI_s+hbhL8cZk>zs(XR1Gx0ez5S z3b{sDJRrdab%Ifm<8LN-dtdvjo4`=_)Fj5qCL+VZ!4g8Lo~Qt9&9o`p-Xl=kb48_6 zSxUL=2{d2G@V>%3In7?>ch`FI>F2`YmXOK;*9Z88bZO?9O2}t0Y(X)##(iW6X9ysU zd60dLDfXu3_mCP3)=+lc)S5dxiD(dKgvRDeN_~jLc?=Zdj%flgBK_{QYI_xnJ(KPOfL^y^MC(d46`wE!zsUgyh?3I!|(MHzU zT@hd5=}&AI@c`VGdqB;h?v13F64+a_7%u*D(IAhoQ+TIAU!NMIkeB zPW>|e04^wQgAady&HrKl^soEL2Ue{O@9R21p}U{|P)8byg+Sm#(g9Y2*<@|lUARqpf-_n}3 z^`{(<|NT4}nu65Z=n|v-R9HH4fD9W2jcrWhW}IDur(8$zhOX;K?{aai=Ai`tdEBme z^3T#G7;^qvbLzYF<&5;YYqBK|bjk4Rk_dm;5FFdra&_+wjB_L~~ z^*3}$M%F#Tb7~;B^4Rb3vi2?X`J^94HdnX z5!;6dsmRDW3C^oif&>{3jh5fHvEM_17Wpdg1#&bNVgyy6>s}a!Xx#0rD8xM{gUF*0 zhlADHGD?^X2;KF(^MSGehxFp0q2Ofx&aB^p?l_-? z`QYu^I_G8AyjcSEee_9wbzj4mmL+=Itc+ztf2$1J(+Nc(@uacsF^mCp0&Zlk2P`;@ z$|Kb*+|9W|y~j}q;kUfCWQ}wRD5^kU*)1VJavFSY+=%mKMs8$csj_7=YKj?##9X-b z-VGqXQWMZ2g6vBdO(Ey!YWA4JyiZgM(ME9n0r4KvHoOUXhi8xBLNYD%+x+@Cb#DXK zZl}FL?>+uHzu_x|lS`4jCj-4=%zY-G)GhjJRxWPkuiBDd=gx?t?q}Lr zlAk!?ZkTR>K=4oUg%}2Har61ZdH(GFyYqbbb)N6n%_lwWxr|jJjDZo@UwU)DokzRnmR#pkXPo;IK8dj=gfU-Roc$!NBry85_LFp9!tSkue(efE1Nrd z#8PTTmw)vOZ*C#ABD`F@DBQ`X8>25@IN`c^HtfkSONc~@8nyz zFr$9ZiFz_txam>98LTOuoHSb*G?=G=SDmKwC?(fB;ziGwLjS)0 z;y4OPxb&0`2`^C+n(B+_kk1i=$>e0x3@wrhE%iwA(RD|wE(@|KF+SkSGBe-wUVF(hUC3p4{uf;AKQ|R0!RFE&wY@~ zU?sYDS@NM1@JyfvHyO6bG182A`cMadv>#6217>o9JNELLtYOjoJJ1{71w`w>z9_nk zcPsioJp~t*sm4#yGi4O%Y>*`7{eFUSSsup4TuQ`udzx`BuM1-%`yW;(zee6@7VizQ zzcx-T%^$+BywlphAJeUCYho3#Q-|il#&5~0uzz>$Lsb+$QE+7ES>8WCQr|y4!BcqtW8Ay!ljk>bXPRqM|byZ1N4#E#RVBo z&9ad$Lro`ZC^0DZQyx7u4}6#um`wc^JHyk$GTFjN9$Xh-Ad6D4O(XrH zs-3SiB7M5D)X88hYTnjlY-t$9zPL6hI z=jw8&yNJ;x#UpN^Sc!QcJa+wYaj4c2*JHNlpFQxC)noBwVl?uW&s4x5%c`#whSOq% z0}Q{W!y`>jI^bgq%IW{(?#;T~M7n6f9~2M44Dl!l0UAIE5Fp+dB_ZY^B>43mWZGrB zY}fF0^}TELgPo)j1jKO8KGQxz&th=`TcL$Z|8yfjGVPOXmFa=2v9%6l6G&p_&mvRC zVs#2&1=qrreVKC#WEME=4T_0CgYo0tpL70?mr*=-G#;5CY&X}hL~ zVV(q=j>zuw6{?%yz`8B8b^}%p*yWk=Dy-h)PNCokJFEanK(@c_V{J^}uAIF=qQU9x z#|evW1@0A$EMdu11AGH$i_^;cv1O5A>bn%D(H%uv;4uT1+&n}@lpPb{$dRQaQg_TA zc0))jCi#7-$`t24%?6;~tE*xPsR z*(YLE@>VViBYVgj`uy^R+zZ`jU*-0`Yp*I1k_J3_pp*$jH$Xo}0(6=pJ(kC;Z!ZsY z=wM$KEjNbY*d&^N8Jyf5cqA2;`E>+!gy=U z1%8<6V-GzR(zap`$tnw2SEo{z*|4W_um@c9WZ@i4L~tgb)D2C*IM`-E$5LpXWJRE~ zy|m4)PgfYLsHM?8GKcIQWzpgv-D{v0DL!Xk-PY&mwZb%VhHnud=LMCMHcM_^8bamc zytrhJCNw)1h+JlAxI2E>R*bdvjf5ySrXw1lT>DP5Q`-Y@aI2hV-?4?YaK9uc)8B@2 ztGcEYZ^lzu>LJkf3x=c;+r2Eg2oEJ}pVCI{-SyH-nBKms+~p>98*WB? z9>i8(>$?0U2i(4xdwramjnTSK;k@SV*I{2q@`ky+qNH%P(W={1PnkB7BTH|pfQ)^z zgXi{CXvfxA)5p)}t{g`l2&|n5?hQ}PXD+(68tAhiY~1TNzJN`<&eOwfSM_b!hK}`+ z0(oPu-5}H-;dvc4A*e4R8IxnJwTeY?D7NZTO?H>^ItcN8MW6lIKxdu_h0tC~`TO>q zhedFDuKdn7i20#_^3omY6It}$m0U+1I3dg|w3dury!TJcI6hZix8#4l4pXvUu~yLW zWe{n`Nte%8Yp7rQ=Ab^yebBP@b+UQ=teWpz^>8(^&n?CDoqA~EcyrFq@kV{D%{v3~ z3y6i#doZ%rx3?-P_G-CeE8h@Lv~qe7+{BYdD*Y?DFV#|9m?dznulI2inGBiJl}EmN zeVPw;vRe^B*nP~^-pqKoPZf~{TnXh(#ey@&(<7c(_F1ue&gx!tBh(J%uF|ro`z>XM zsF7hTtkA-7u1AhHHMW}150~H@raP_bC)gi{MCRAm2jhrO35=&3Rf@BEoej5p494-C z(&T@oI9kV0EQ_H&tk~0K{Wu1@L;!_0B`tpL4)&17&)A`!CqW3R#T9g=%7NJUt~nj+ zLAt~e3wa835PO+xYQ}?VwU&9$E^GM2SpDIrB+QL)`33j%(kp_e5I=i2R!x4cg(rGD z5rc}@3FbU395>AKmmJog-!pVm%OF*S3S=rQv=iu$;#NdKoiotLmtsMOWjbc;y(E)R z#bOxfUAN7_JliRt(^QIRYR_k-2-sZovFOv7MM{TpDp;^Rq2n<_Am15RNMW3%8cQ1@ z#(l_&6pWrJ*ZB!WH2$dbVhRemJC@asrL}Z~2@T7+W2+m)m>mU_ffB5{d*Wju2>ADD z$wvXV>`7Glm*bRj%A?7z$*+IlFpWV>c-}H;mIL4qH^6fCZK}`J!?t4*a5z;}?I# zQb#vVaTdz)pX*G&@|F!{R(54}WX^C}!VkZx9a|{*_D2!oCc1fc9l&Bw4`w#3@iDq= z{qSi3uns16(*SNF(D9rJ7%OFB2n)to`aoP3++amU)J-!l<%U*;pkR1!ae zOS#=eT$Jfsig9*SnA!B7ddN{K%TLZ#hlN2b0%0IH`Z3-YE~_U>xKL&@hkfH?B3%df zeN=!C==USmI0#%8OmKgv(vrqG{<1f~+LvAq;Am;^fX@zzwJDHfqIs@Tt!>&RZ~sef z=T|;p)V%nq^SQ+iKcZwI4=P?WJXGD%qiFpwr=>?xe)P!#-Z67Fz2EODIa^74W<^e^ zj`5+=O5gMwfY&hsOHR?^!}^*ps#NB4OnY*^vJMx zKJB|?S0CcZg8BDr>tj#*BD~n3Q6TG)wG!5g&PAs11V{Vy=-OmUrx#B@QHLoCgu*|Z zY?@Q`J$&#A21}3W4eJS~z7w9xc)ulfxwM-EPlBPt_@?Y8Y{>RO(&Nb$uKW8~hDP@--=uK%0k{(%P`4~%$o%o#2p)XwLb5*zY)ngY05__6 zr-yFOvW_v+(u^LNO4}G+7Q07!SGve)Rd$1~f_?`u^6C`hu5UZaV+{J38!hdfdZC!R zma1_lMI9wrh|Y$9{3C`E>$lBez-^|tif8s=S9LwvPp#AzR*N0pWZV>0ZVK_@Uu>zC z0S!0#;cys+?wBhbofQ!c2SHkk!qV?Fc9&~1f(46spwqE-L)XqMCb)z|iV9uI@|b-o z$!Cl+(o5I(PzP#Z7JaTA2jsd#>Uu4f{1+9v@bmi%K4X{qssqLc=gT{hN0mhKs8n0L zN9;5j>jJuR0Xv{9Nf%!@XsG$){ZM|$-HyrJi0CaK-7A1-2F21Jy5W00@%?cynAcS_ zZ?ZR2^{Xy>$=sHecHZGAT$v->s14ci39YIXjW$~#r-9}LK6O)-`V1CapceA0qPsA! zwI0*xU_4E>MnqR2`8^mB`E|RXo$lnDjnmgCna#jq!w9Cu7tGLG(O#=~BRfK>uC{X5 z9a{~L%E^%?7((C~zVHoBD9v`@M&fXYS+X`}e~j={oKbx;&_WKVl|Jp3l%(qfkJ5-IzpUf>_mao zuUPRBaY}l)qrC*1gZ56@^0a9})2DXU8sVd|X7|=XopxCk)K7g*9N$c@DPsL_zVG#o z6^Z2toyVfrhtswkE%Au`W!ysMMfIsG5R)~brFXj6e_|4U@)$OsJch9k%Y#yh=(79Z zp4>0olUfk>kP#lcqYgBF1+Q#yIb;@5%I}uEb*>!IPTl%-$ zswZ~g(cSR#FS!XZS+G#|1CaDDZ~@f)_uuoKuZ@UWNZ&JBDD2S8D%sdUGd=hYuu(%3`_6c%Ds7r;!iyKhhM~Jj^l{4FZBYqfv=ak0B*KW zGO3%rxx{Ts8>dVMGqQ#$!8ICti-$z&q#Hl5eg8;5`+@2mN0vh|MtOck03C zC!zUuuE#%>eMT{%+L%P}tNzEIG4&5$meisp&jZqGwj`_`Sh!eKqY}t+3GlN;w9kr`{NGid(j}4CqA6UZJWVohqi?%_$Fn!aG@f0 z8d}VKE-ufe3IIw&VXFu=&~C(-Gc7ZVF8%>k8B1j5U-=%h&^oy&e;cWY^odLQF@4m; z^z@{6j54HFrk_g_Pd{p~%>*Aj?CWEk{q*>L4z+gc#^U~GK9!|UK=q(2Q_98P^0iCL zUILf&r@GQ#%1Sv2IG=I5xbG>YhH-FQsLpa9^?n#v21fWBIm%6{UDfERWLfRjE`4QNtEJ7woQ*)UcZ?JUf)!Loj z+6~lKT46}SEMMusN=u52FDh>;O8Vt~Xa9HaB2L}iA3C#aF2?G{6z{lzBGoGA<@i;Q z{lciVmln5OSzL6!>hHF8-`i5+9GspK?ddoZC`;B0!2xBdc$c8?E@n^cGd9VD*HeqQ znMwN{!#}8n=Y$SiTi47!rc?~iY?$3!I#R<2C0)Q=byh&D)Bkzpb zR4R#Wsn&j?yEj7?So>0VWnRqL*5|_u7H@mqH-74i^h<1cb8>;Q6EM0ar@-3DwlvIk zT~-5E;=2!h@Z5qG6j%!oefnPf(wg;i&!tZ&5uCDNHD2K_`H}u{Op7I^LC&AWhyHUP z^v^jFMfFA2ugasp!pJdL@X`~yzw19hP8yT+oegn*>bizPZh@t%Zd8}=bs@M}WqJAH zPyODvy115<3s@y$M^ufE0v{gHUP0M$y0ot4dp1yGr0hr#8>`(7CYb&)76d)|LPS4%GdAsA;)4Bk?W z{=`M|eJ_us3u73{@$Y&-eE3p(cw){O*-t<5*Z;xkRM|vVPdQutf+J$#bQ2d&H}tWe zBy;*5m&9A+n~WXtoaLY^hD^BS+?tI2)=V-oTO9UEM)A#|Ii=oqGWSzB_C8a|)nV{& zSCeg{+d$b7vc@2;h;3Ue1X{>q8_aspB<8?upCB;vs!Dx*z_)NW%inR2eTnJLk{GO| z1~r@S<@#z$S^f#0kmm1saCvXh1%9SGT`%Bvgbs%6=%+#RQ+(b>z2h0MlRCj4M2rGX zCYVU@IExs=6cm8avg)G zcXUN*?%-uNhs9`^@tlH+Bg?#L%V<(Zx-*0Bm`vW69>sMw3?d8n_b%+rPB`I10{q9) ztHM#loG%AEn4tCusH^m#fn&zFO@Eq*y!wcb0U z?jPu5IuzcqxvxI%#s7G(EHA6w+Sa@IOg*ry=|x&@u2EACO>z)^)dP8BFFy9?h-H^Z>~7B1E8)qM>m?obCZ^cgT;wCVm*sR-%1__yPR`_&P#K1sS=56WV8BS>m)4t9h+sTo9GA7hP*^kQ`($5gj*wlPIH3??p@WH z%-O>6t*e%~^xOCXZZMyT<~jcaPR-O-X;`od1-2aSJr8_0xWpsekU3@%dd94_+TG z#$VMQ5jZtxP}SNTB}-hoq(SeGdAkuG;rNlPIDY;tldpZ4ekHqlqBqxLmi=CD+SwCA z4!7?O8&#U^FO}H|egvBkUs7vhX6rKDZ0OPsxWX0WNaFT~jW2H|2I-wOl)Lq(L;ev* z{$X**f6f<`BsP68{mH)+!y$bH<}Nf)+Tlx**#g&X01>$RQhN7v7vHEsh-Q&&kk|Rj zo|NozGbCMZV~To_uPWQ&W37Svx|_{a)bypg@QA-qFpF*!TVjYsIG!W^R;ogv=B|*p ztCUwQeiwz;z26eZydUP(vt!j`6&Cn19S!QW`nXs8!@bn%Jv+};qq=-81nxaA&v@C> zlz5>|1$i*^(q-YyP%oQ27=DqH*Nta!b?Ex{?rLn2T>F~hOQkJOtfhuqq)h3V21R>F z@mUy&Is1pqsahI=dpG%R@zDo9F#VC(C0)BMDnHHk_r7cmmH*n)8`*)g5{rZX%CLXG zAMS(nTK3^%_64tQgy$aLZwbK^`@y6T56*@%}~EMoU-k8-Fb^f)l4U*ou7 z`1;Ge!G48+O^+^5rznN8>oiTGu~s0hqR`P%Gwr7jA0FSqid|3}=-o9;u{2X zDQ)}=UEjg*FlB0}9Qz>hs;AUU=sy{mlgjfy_w9eNW4r|iYUxjXQ>N`Z>*v6PyFM|C zlo(X=((J=cd*Ma*FaB6{ODv5>35z42QE)8K^neC2_s2wR8P+VP6TyYz>bv}1!R*Tv zBQU%I2kv4-{=9wQ4#0yqp83M5HVr4db|THo^Sj$RB3(58W5iA8>#EwngMdaL&>RbOHJM--p6`&y(GfuN3~41(PDpMc1F-V77g23 zdzMZn2ibUCoY<&mM1mzyuz>@R5RT^N%+~5X+w?$Wb~J;LUx;(IXL0&Eg131OvqW-( zA(2*Nf>zah2%&49vz4jzw%3MF@_zR}dMlW5cN!WI)!Jl$joI59=sVrkBhLt@MnKh& zp0Bx7s~NY%q>qDp>a8rkf=I;PXB>6^%Q))5=vMut520p=eDWO7BmLkkvFN+?9cRfU zi+Yq5p>%p_oNH*zUQ6*RO^5Rx>zDM8JZu=bBRj(BiZ+>9QEhIkqv?2mnR8B#rQ_lo zGgR2x=_`#u=fX&!B#`;6XgAXO!rqxeFG7lW#MnnyNtc2c#kzl-zx z9FfmGlj3|yrcX^fy>8&JKz4}3PW1kZ3k*&U0n^P?1m zJKR?M`Y38!cypj1PRcAz?<`JUT}CiGyn<10Bc33)S*BmbI&;_)*~YimXxeIPoz!>L z(Od#vLlE~#h_Rd`G%K#LubECei|TzW1o1@hAJC(w;I7vveax;e<@@)bGkk3M7}trQm@4;FXbJteg41GA8h6{c?4>1!^B zoO#uF?5BWkf#fZ5V2@=!dYyda2%WA-I=mHN*tuwY#(bGG{85%9{3Fl*l+V%iV7VXr zk?uj=W|}dV8UfsKUC3*dd%BWs(`|C>lqQh@R+e9CFb4uW(VX!#zt$80n2H^2*n7<0 z*zB&j4m?1FV7Kku4#)(r!cm`@9S_1kYO=q#ZA?=-c^h4XsG0^f8Oz*XuQxJjm$&hJqd)~$wN!URN~vAM1~(x#ITyEAX1-QLT8`aCo9T8N zvC4WAhZQ#Ah{0fV+_}0>2GO-&d`!$o-p>Jt@$Y>nD7F~cTGz&q;O25wq$iC&vfS2>(>m>Wd=OqyD6K}@Hqhze_u&CIC zd8HZI(Ke1QS(!riDWg>Md&$KwGtjKixK>MTiPI-tI6fTubZ@-ZH@<)}cLe>hmK^3xo!9X` z+`ajfr-&ANmRrNBt?h+MJVvN)XNrCnxW7oRVfEY^>&Bv@bY!A(Ns_jWt@YTbH=R{w6kDcz3ib)!}h3eEG53QsAW_AidxczKMO zh`Qdj&fDIVetmUp`&6;w8ycXygsfw8#_l1|xApq6R}AfB$ss=G2IsuabXjaItYU&f?Atjxli}8b+zZh4v2S?ImYVts zS~5b%m$^ZdrLI`py6NF{Ab6nWlYaG74XYp{gwj%=iq(~8DFyf2Ge4}(2i;P9wksQ^ z8>haqFZ%Od%j)Vx)6^*2x7pa=>-3JA?9}@ppDW+44Tb}+^=r4j6gM%xgzGgA$_Q-? zyM89-Xr$xn$;m482KD$3-+Ap`*2+j_5fI_Jx;e8Cl=0>#0c~aQWV+!~;HC(RyC;4t zyuhv{MjBf99+SDxS)biPSLda*`EC>N(BYwAXvRG@j0vVKXx@1Q{P?O7jV!PtQaZEi z0F!eWP6Mq2i69tFiX~rqH!1yCBay)wX41P;OHm0xQ+5O}r@3zt1nIhh5j*k4GXFQwjz{v06csK*vbsjt zIqnhYUBui*BwX22ofBfPZt}~Ks)G@2#zO7~7nNmxv6`lqj~1mJ{|=!B#n7F=nVC=b1$SdB(+h3+hh9+Q7k~4^_3Ni)lL#N$6{G8Y;hx}jp z0snDa=l_Jx{YxK903a)}MU=@E$hk(#RQgbT@$2;vOo!P* z>@14rxQ>Ao`CJq!6cNvTHV@V%`nU17-KQ}xE-{yc&*e3(t2DIi9@f-Qm^>fAY-7nr$2f!EcqT(CBor^g1H)?u~CO+wvIAmpB4wp z-^5ja$u;!FpRsV3fTx*!>G7+&FjX8k9qF+?R9Quv9D%^~qoY?eTw}wPR(LTrV`62l zKaSxpOkbvm#1?0A*3-CuNW#IfAmyTTry9)*uKm=9L~g90m_aYO(B{%UML&K%b#Fi&RE=Rp1?4h&|f8Q&CPf`tc987 z2f@KV=hbKKuIPBVO25Q`nW}@Asrh}ZIF;6oBRXGwH52X($p9DOeK0f+?1>G;p5A6^ zYI!whp@3zfEICQN5<`&a@89LE*#zYhdn6Zm0%bkk%0kdK=Vp<`EzvxV<3Tr^+|*(!CAL^U2(_53(Y{kX`zPzg}nR*v>6?cl)#*4y_#M{1F>Nqbd;bG#?8cf?aFbF#!`AW}NItVNl?@L+#8odh&eYAWenjN$1n00P{1l8w5y z$Zm7C5~zF~a{_#O{F`pA@xwpBTT5-iXPuk38$N0qWFkRA>HhZlvyNX@(%OC~B-aPv z-crS81G=#(hA%Jop6u)1R9W|SrZvRtiU=MPs`e?rqzv6%SwGNZNr(H2HBOigE{Gwr z@b~qHzqN;6FvVR8vRDQ#`nk5}n|xgQ#bk}lT9p6W8lYfa;+((c4g0G&=Z4tG8|Vlb zjw?Dz%xV_j3Z)!vVjF;?!Jh-1w)aCjQg1^Yda$~(U3aPl zn%l962(eM`6RAajGpL-chZ$T^o>kCw>(O4}ZoEfjz{PNGnU#PB48y1yiz z;wnV8ww-9Sz2LgM$M~sEhvM<=+U`Z2!dtwYBcK~a4@*CjJFz`{xANbcJVeVm315cB zhDS@^6Ku#Jsol*qyq^{knyFr0j-ujecDd|l9Z(Gd2lNrY7mXR!%B1}-{)~TIzx6p@wL2St z=?{@FWLfT1>EnT){QsNW0)huVYVai7L4ue=oW|SXg7TjJs?WdI?LX-GjX==EWMS~E zdhH`Ov!t`#-rhaT_JK=44BfAFVO4HuqZPpW_ch3>BLUCcvTS2G3H_M-)GT@oTkNm` zhYr$YUQlt~3QS68jTv0t+SSO2OdAEkXUq|F^eomUfo;DU_b<5~JV#_8+yQ}Lryu3x zv#2C6Y6uBWd%QG#yYQxr{ia#);;=1^AdrZS)>r4(F5K`$p~|mdJFKteZdSRzJm0nv zVqDm6X|UHAs4DErohQFa*ZIbircX|ky^{I}xI=uOX(}UzX(lGogRGVBe9t1Y)LgTt zA&Igmgb5>#n%_z=&!Yb5mw^IMwp#4pJ3iw%=9g#SW zl|x?|wG!C!fuvvM?frNRZwA!2Qb&ytdsPK12x;-6QCi1`9DLeg^}5)KZokw`$SY2H zN-q2L4g?)1yL}Z-+Z0FHmD5l9{yGG}?NVPeU)LZg*z;X3+xM4iYZK68YQ=om4)tiFn=eYiZa_Fc27L za3@Y%&HH0V53l>~ArUzqhLba#?{&A<58L{AyxZNJsc^0wbSqrG_@Y%ag_ z>nor8-lW`A<72^9>b>7tJJ}m8ioR6}IrSm!>|O5l-(P!@c8LdzFvS%MWq%_RA*^rj zuVai$x-Y_l+By`)9|W1snTbstMV(EoIV>`j;_Q&u`cVzUV|p;8Z3Js10@aJJ-hj>oal3Iy-F@HS z$~T)k*_OPF?tb)=;jg#jsD`k0TfC209@}@k<^O_G>IKwA|lZDOe;loxPFRGvG*UnDBh5~jIkmdz8m9HC?<)b?CsvP z)BSL{Go6~Ao}HT=DQi6?&HN;LIM8F75y0_>d06U#6RV44`_22!PB2*igMYVl2Kqgm z7lXdq*toD*_D-;kn8e46`(15j%re5X6cmT)Q?kOnj6I!NI42~(Za<&9+jOs%qK)~@)wqAT|QT4DiWXX)hs+{<{|3kk`wX4cd%LVn_FUPwDe(Jfr}q9h~P&l zX>1EU2t;}j@O#-+^DbJd3fDuK8AqUH;piKZxg(#w>4xVuFdO~|_HYePVJ@$cdCsqw zj`d^KU*FmXD8!Pv}3# zo`1ttO6(V&!R!7Fw$A&z9H?$qH0@6q?YH=w_Q}35+xTUD!%Q!<#Pk==hzZF@{>jp~ zf~P;YWD;0z`3Da3UvR{I`Xl+Z9*D#kV+CRk9{|{-p_?Rr!(XGwJ^D+x&BSNZR(yK{ ztDT5B(T$>$!kNnajN@BVEK9i5Iu1j|F1d7AjLZnI`)ZP_iY~!B6OD?_5V3G6*{J5p zszTlLte#J$ftB{JWD{j7bF23w|02SrDLgr_1^6!g&g^bTar}Jv;87%>5xn8|44oI; zAuIubHC*5i@4Q!sj#i!CY}Kg|_GP79ji&b-TD-w`%)*i^*^iiKI_Rq;xwNiAa{=!J z=SX|eYqI|y0kL$gMw)8dC?UKKf+R}M+oK9|Lon%by6vltJ4d+^Va>QcX(Ha(hu7_b zk9-G}AM0DuJ=1q->TQaBalYo(-K6e}{*m*;L?uJ)W3vC(l}^3X_9IV60IqhmsqiX$ zA9;vA4b{WxrODAITzE=Ew&O4E83+^A9`ht>_R*_FY7{Gag9YLR$`I zC*S1Q8l!f%Uu3YV&(`YD^Goho*TmU9a_gIMk(L~ztfGQiTxEv7Za-|Il!#(xJE+f% zdRqFLF8P2bSnivyK8E7Sb!j@q?AG0+Mw@f%X8gq2_ySgj1Nn%1vkC)xQ375Y-F%mx8c8xrG4hUCaFaO+p~`v>r##0XNmvDr;aP183t)C zwAjRDlJ45Fle|{=(HHv=dSN{7F9!L*r6e_Mh5pbU6FQ`WG#uR+8q7Iu$8pMkb>5yb z$gT)z$+PQ^56D=$J`=eC)pb)d5TlfB9@ogHm%h#0je1}FquYbg(eBtqU;WX)A^PawaHAZ`yfN+EEd3iy_Go6j z*phY7QDH_O>wOYRzvQ~KfJ~tq?xXK*zznXdaUf@LL?}xtZtY=gcdYV(m zRDZ=G_gC?wD*fy`6T@&#SB$O+ERv=H#>r0WO%ClwuJR@(F-}c#@(0Chy*YTfPRZ%|g#vGywJqnWytdy`b_c=q-W{Z01jb0@2>@=PgD zpsr=|aeE?0Y`pBjQf!+uH&48gpHhwI(Zap>+q?lLtHhOAn8VM!qW=y5sOld^tz}u` zX{;mcY~}pbzY{VD@g5~5=v*$N&)Xk)xc`%!kMuKNS?JOM5Q(Yv?KR&S4)x#VVE%2) zVj9HLt*X_m4!}61YZg7v`T1!6Q{Vl68#DQc1+ho`?`75ZGLL2E;C-IP@%gRqO#7wp z%;#K02KSN2@b7qN2U8hq_O+LQn@I{~SVEf~;BJ3umtGbBWlZ<~Qtj$Lz#Obubb7{{ z^pAN!|8gy)%X`~0v9Z49avje%Vy=DT3$VYt&Z)I(2s<3}>>3Y9EUG|)!Evc?ef-6G zE7-XmePU!b9h}&+3F-Jaf9ThZ5}^E_`D1U}td#I0f~d?=KI@{^gyY!3r!6)Vznwh-z@A}sK7rfJdgHJOG zBm(PJFM00pQa6S&upM8}+|C-6L<71FV&#nkY{n%vWF~v|$J&xl9|Xv}pW|XNN=202 zC!%k@#SI}%56u!7j3ekLTp?Czi}6Q2*Yr`p{l(T^0)sv=#UU}p8?dx(SbQ9RA2&=t zIKP*$)l#!D8Y$0?T@-_8M{e*#y+v1pDG&%QW7mZ#-RI@c_5ol~YC>Kv-BbJzYj-3R z-jC^ZC!yqju0MnGWEL4tl8hY%D4k_HTRo7gaSxm^n`&4cS_`5^eq9Eqg_uVlH+Qr%72zyi1vE)Qa{OhkdF zW#8@|LCDtEU&*px^DX=x{`Bx+JOZ;%&pUs?zyC4k#ozJ=|1UYF|97y*U+RObLjch} zd-EOrXaUopGCPbjIqdIe>PKF-d4K6m|8!Y+1}DWR-K|spb3V6)zfCj48(`c@te@^Psy=!seef3Um6;fz>LA_zeGjD%-nULK>=%l8XF2cxSNw;!#}`gWxvc8a z;vTPWTzNnELMkX&by3={GJn3cqa%}$?%VKh#{$5&NgU{Yv zvo%DsU*dIJlr4hyRgVKclhpp)=0kML{lgF309A(X0eo zC%5Qoxkhkh^8H$KVE;Tf7b+~vF+R_pRovYxQ^^~xqR92#GfC^H#0xb*Jchw06yu zb=H}E*^1pwBy!6RPhPEG-`;vy9-@$K^GPK-c(|*AJbM_vCwZ_Gk9PA=-|o`odV4(6 zZG$6sjjr^1UdZC=msj&_zFOyL3k)(WO73Y34_w%-!@SqR$DwGCDs|mmL5j*}A>BK7 z_Lx?l-mN?++bdr@u7^Qj+W07Jo>ii2OPaQAJ?OQYxRY!Is-uvHi1l5X*_1QwFUzy@ z_fEU2%+_^0GCkATqM$ge_k5mq>1zUxlZFV6$mxAeDtt1ej(8xJ6VJC9gj@W`l{{Ix3rTsBiM!Hhq-PkY$FN6Q_3 z?(D;NfPDa+nymex(}m|U?07n=V)F`m(#VF~&%gvF{*uZ~;IrD zRe#Q)6Q{eCVe@bv|0(*@qKef>kyg0!jFoN(ghO@9q>Ux}E%pV!o zT-v#gG{+)!x}^jpPm@QGu5j36iH7$xlZ@@>(=Skr@_d2_jnZ12D zVPy*y*noYk8Xx0QFocwIoV)J)aw!^kAkq1jUTC;!)k}JOG4r5vfyjNsPSV@;w>vuh z%YJp|W#yX@e}9$)(YKLc97YYjMep*o~%)M7ah>@-m2LOMPQZEXJ_^U~Wa6kg6+n@sIS z>MZ4)_clJj^@VMpQ6{g4y$mYtCyYZ?KZ^{h`iThZ$MO_~HAk#Lq`G>WuOS7D2dwnr zje#euSHb){R*BE3=xh9dV6)Tq)`Ze4_C#dbEej;rCTIfdcTixgLi%s-;iK6gA#Rrg z6~s%CqxAOf|1dYft#mti9?ZYjj8GHrOE0ts_hzOcjtCelqV2gm8l^*gQ0p!pc1_vGLqOj`Ua;ZqperxL0{hz+>QAMz5rEN#N{E z3v=pG#RJu3vO@0WkXm{v^kZ61sYR$^tDr+t+LB_lz+EO&1QpY6qDVkze$;24#*757 zuffjcM&cVVGsbgNW24Mdff{fd*2){cre1zL{LwFrm147NBU4icNKxfj5C9fx!nO!hdiH2fjlHBxzqlLFfUq4e?fdUyw0xI7 zbSCf+6TWOn25$t#LD2DRcGZ31OPdHvzD=|;ycuSq-rBXn%_O(M5$vS8c{7h~Dr!cF z5CQ6rr7E=u(j9Gvm6k_FP=R4(h6a?%9h{v~7nCpJWV*^L)qtIm(C7E>>}BuLP@nB) zzXPrWAN#R^tv9%^rzf$jsjmI5EXCOGc6 zlz(epYGSx;lrqAfq*0Y+Bu@hBN-8CzMnwGHNPscwGVNwCnS_)O`a@~1y$1VxV`^$;BiB{k-p7)* zDio!v*|z$ZNtK1406Rd$zffKMKtsqqOA(D`P0_lKXInlqDBk-|=a;|%duRt>3}-xY zB7vTO*B^_N3QQ))VOa5afbwuOzBM{8Z(ZbK*SRf4or=^9DmowYm7YDY$D!vvfB$A4i+@Qr zVx(?R9_VU6_8oAdE_m#y4xkH;)oS0PYSaj6Ryy)^jZser?9V8`Me=ga0K9R`E%{%Q zEtwYA%TNQK4h6jEXjOUZ>bi9=7q7N%QWS_-O)UJ`@tw^cghy~&K8TS|1q&VlbWsl$ z@$~oB`h5qC96mwlF;3dPJkX4twSE;&ozHxnW1a-vJ5h3)OW+eWcrGxa-|Kw^Wd&H4 z^DG1S!Z#7?@zs6UypNKL20Wf8jVP#T?w(qVr~3iVMo{P*V(`8;O656UHqCzX&;S9a+ExEpz0a zdJ4mQi>W=f8C(-UY)dIp?91Lq2UvOcxD(|$MqzfuI2IYlY~jWSo;%iO^)vrb9P_`V z_w+AvOZM>XL{huGd(|L4`x|$>{QLbM9{LIwO~iSLLgV;^{hb*0W$*ix(liatIsq5X zLcTWQm-UdlA4%cNX@+Bu&=a!npt&XkJuMkn_FWxNWDWV(f0$9Q7Z% zzxP+Qynl;l|GM8lB=qbkZ+eIzP5&baXF^C$ck?X7@kuHCvvcG4gxH^DuTZ@YzqTCw-m& z!@SM34wXHj>H6v23wyppK7#!K@}DE0%Kt~x(d6y#CLU}5kIxDC%UryLoyT~D=>jS! zxE^O6;c?`|V4nI#56$2I4;KEd-nnZbu5O5NtxGa3Bj;c!Y>Fu2e}1RcdmRU_7qC$W z<3Rs;ADVx%N8hh%t3SRs4XL*0^_0S>|J8jUzxU%c{~cWNuXz$^aW({A_(O&n;3f-@ zuE?du9=5AAdF<#wtgQik_QPE}9~foK#sjg_G5;szk`-NR5vUuj1Hlmg0@M7<8rlC& zbpL1Y;J?-d0tvs)n?9x}8!Po}rqvBPq3GO*5f_uW+osgYf5facemQYW^bz-8kQ2Yh z+I=TEZ6}V1Dt;KiYw=*g!===2Xx1%`_P8NsR`T5`UHQ?4&_X>lWQTTKi4@f(^LJl;cXMErKv&vf*1v?w>#b+yZLy3 zo)~TK(Rg<5)EZ|`w_;dTu;b5l!)kd>?VT<^iU zn43}@b?9Z<AYhnIA((HApz>4 ze}n$~xx5j_JnTiSdu8uuTOarilKnM*LUItLzMCOZD~B`MmYQ$^>RGU{2kL0p|k#_J|P(3d_mPwQI``YPwGL z2)ATT?&LDbp=?yA!Cr=QQ?o$9(MNc5?6E0349KjZP>Jg;KxV&~k6(S0O_V^2(jNii znTXWUy`pqc_St+sscz|Nf3V*soC?2&q7HYr+rmsQ%(A{ww zJ)ZOYKEmAt?lrwP-WrI?5=5Hz+Dw*r1N4Fq9_H!kOhKpTsNLXB?C(9Tw8MOH!oKk0 z{y4Coj1{kS>JJp0>cg|s4s3u?XmoetYTV-cIZm=MK~Fi|iS(_ZD-~xEn1bjKBNKM> zCTGu^l6#0ASJ{(isKhZ^n_10yk!N6QBn=oS^;j<~+{sH>xt=jLC8EB436qzwuZ~ur znVMLNViz2XDf-*EF%|M#!7{ZwIc(;*F`Sm}WF%}l4^^Df4E$W{>Xxt(SYtQP5G;++ zgDnmEX`|`Aj7#RcZQkBDeu6e1h2r|AgLoK`w)GWe-b3|s>#7DhgRV4rn_xYpNf>|WIH%JC&)Oqf z_V}G85rO1W&cj5{Hn`PtKl9xw*IgkF=2ydI&@BGGyzGVZ%3 z_dR!5@ohjaF;dfg?tpGmz+U|80@rgTg1s#DtQrkv1{8F(xrcEW?xqeN*`7hx(tr<7 zHASN?C+~ZWRun^>Jy$or!}Pi9r@3Lk(caXm)4>~VF2KZ|dbnrsyt|=QoUlf2El#Iz zj?dPk&bd!E+F}GQs7{}Pj?$Qj?TWsWZI*za`qB<~3>yGY`v;spG=jghls69-aU;&0l6p$U0X<#7EJ%aXaGN;cK2&$!A zAf7D7%W;BU*X=Qf!6-Bpe>+25GDg+n=Y0y^lXEVA2#?#TmHdhZ>gnjIMJcyuM!I7d zbbl;(U!eVD-)}g9DP@tT-IEV_o1;Ugy)=?LJq}WF9i-_dRjisJS&_JGaHa0rT@B?< z;ey`t+QB0}dk(2-QT=dDU@KOBi^y^1TI0oZ6FT(T(N+2o!DN>>yHg`cmqT}*UY&XI z#3x_VXJ7*=gIMenQDVRA!B-grIlr!)T`C(Rv7r~phrXh2B{HNHlKa(B!_dIQ$g50* zyonie_cE%bJSO06Lpqgxb2!n;erqI0^RK>N?EUeYB+stP|(s*XwXZ zWrI((frOjj6_7*GhSzOd>$#1vJ|t=vA4j)0ftu?OO$DkWIRa|!y#@mE&PAAM&xOAc z7EP!S(~_(V=8@VIwtqi4&o{e_4+rOJ0G>YX_nlbkpg(S}@``LOAgX((a186g3BFwp z!sW@W(F)&dOg;9~YC27py00m8Rd5VaA=-jf_mhDba=R|wQW-pgQa*R&y6&NdnUMR+j1RY+Kt}v4SDUW-CfGJUG+dRA`Kb(-gKRZv`ww&j*-Vy&0QBqh+ny$Ew*PCiGyU$nj`DxhIDm z?HcUy)VZibh1{g5OpIRx9s|4*jDEF&4{KD6ibEvp;CaU3EqBKU?B8C?x*i!`yIOjUfy=!ZqCEFHsf!EcmLwZoEOqB>f(LymavF*Fbwy^Nglc3b!hA zhFc2e+!^l!D`eYtF+<_;=h~nu%D?%nq%D5!vnsIPX-RzCap=!|)}?sI`SU%_uYDQk zUrJ&mw^y@$73aU>dzitA2I`!iiO=KwmW~B^UEjPK`zp@wYr)i${w7S;_IaFtjRz-{ zflVL{)Q@p~{MJV>9t~o-=M-DKm*cfU9T@)$e^$-KcU@q8&`a%;c;)*yR-3=)(;D@k z>qDGzgtLT#fC&M4p1uVgTw|*&vshc-(0FxUKh$hrSJoZKeZRh}^ZS2kzkbJMfCR@l zhSs|Bs43=U14WS4O=+^wbFAL|d!@a9Z|J52>dD#zw-9(D&!6U!zvDTY@$MT5MUkXH zpY)9s(D#;6=rp3haH7zVOPLaKL~g$)>!;YahDmc-AJP(wzo;SlD<1h);|?bDuD^-^ zKYm$%g?(EeEDvABT32O>y%h(f%InW#tp#5gr!OZ@t=cJo)X2eMj+ zoVRW}&ZT{UbN!P#nF36wB&4o>ULz@D%bWI0w|!OfcimJx4c&-YPw5{ul0RYuxr_!| zUEb=iFoI>;YrX+{zXZrzKF0|D1KJ@gkyqb@O8cru-Zp0M{Uqc1i<+HZ>CcZG0^XZ|&ek6KS2+aReFemO?>jSB&8Jx1 zK;Lm@WA!kBA*m%3;O@oV3>#?EKgpV+@yCfl^{?(Z`~CkgGwOGJf>u0Er~pTt^r=RZ z(jcpH(o;W{zOx>xa{YY@E@Ije`!0c?C^dR33PCE+rGlh|EAo3*hVktbKLy0vG4ul zNcI!`{F^Lxz;rl5p8qp$p3IP!vMJS8uspI8ot7Ndfxp3sNu#?xeJjyu#OFIKX}|A{ z@+*G*`}X0U%L2}+FLPNgTbvj3>=}8Vh{5;$L%-R&KG4yJeu(4*7HsmEorPf7nnA2ct(V5Wcz} zUK5DZw8DpQBy+T-q>S5s%scxxbm|vpMop6YJ*=PG_y2*7%Q^&)rBIiWS-jCryvK4# z8KTsm?41p4*pYeu@8{XSmdSYzd8_JopU7Srqu1B`a%zg;xN7Q>LR4$Y`TjDYCD*y-tRf*OzneHA60K`+`#piK6+p* zeZ*+d%L)sr-=Vmk7^hVBT+Z`rm1T~b97**&OiAjY5SMTDEzNE4VX2PHd86%X$X;@m zBHyuNoQ0f#>5V`c$1JO&yONfIS?{ zaS}`vXJ#NMVW4zwX}Sqon8uP0syEEXp{nbWq)Qn$5OBRsMV3X7 z8GeXOm$D~HLtxc|W;TJKV&u$`+V&U}Hn7MwnC%A_@w7VPDMG*cin5#n#eGr2)G5oLVagSS7oZb&^5BwX!sVw8Ws{d^&VGglvPsP+d7I?+Jk3~QBd#S|?!^wjpnyP}9RLE7@I}XdM%yKv`SK#L> zGbXb6Eue>@46Zdg00Tca#$!^kfq8-?x`;0(6%E1Q7sjZ9b>ED49P}lTL-7n6l5O`W zF~5)R3`}ug&gvc`JoFw|r<$cobcjv|r?vz=0k--j*(9;5L|9oisvcVeYUyE*j~8AT zbl?Y+KJtfy)=FYQRzZBi{j#8qOFG>*#-bY$f_;{iDm00UfCAsAqqFSU90#6p@$Sz4 zyH{_q7v=en$Hq_9WAvU@n%`G<)!?|mCx&Gmn5=v4Ig4x}j|B}poDW*Um8Gr({hnj! z?6K;FMSiFIW;NbNoV{l7D$U&CrcS*my4g7y2d8@P!E!eOsn|pEZ3gCQ^WDylSN~kX zDj^0QEo*yhRp7>VXt%;{hlwk9K6*HNOt#tP-)UJw%UlF!FD?q%7s`Q7zsDEU@9+hw z-1%v}nr=+VWRv*{otH}a$(Y~mk3P_?YaV>F@+Y(}AI|2BCT5cU9{(Tk`#Wx&2ah(O z4u|fRy*l#H?a%f+`MvKj&%g1SbLhS&Mu$L7Evl$~UelT?O>p=9(;G&JP5NHixOvG- zc$;(_591W((Rdz%>5QIa2ZD*1OSW1frA<8Dr*cEL^Er zT;EOJvS)*TV|)laq{-w{UrEERCjxHX*Rjl%a?r$|=$)0kTP;=V#BUtz+5;hUj=!L< zv${*RA>H(WlR5hwvyxkEBku9@^H{X%0?DI7`w__hU-mcS1Rg$wuMrXb7J~Iv(iXM&q7}`OX{?9z74Y4>Z*TLci zvxBBklw9*HnD<=ybUn_-xo_Qehu^wdkS(x>yCSvjoSD7(NaRG>yYVF}U3ZzydOZxr z>+@hP-p%b_&HNmE+2>Y_2?lo8Pr+C}MIhu&>+fTKoNK)t2SBM-CSpi^h(Amudq&PH z1jk|e9`6!#K+lOrvOn9oZ*P5hakEz1)x|w~N$3&mH!9>iE?%C{?GaCky*aoEvsy4?|nOG>}EwUWs!RL_cfo~ zW}1H`zi*oX)^SfwA(uL*A@0(qW2syI7x&f6aC?f@ZI9c&^Xi*ef2r)|rS*I;7%d!6 zu**`1?TlhMG?{qV;3_UsqdeX>!@+zf!0`;53~Or0ejczm?XS?w1wIhnX?JPbq~3)X z7p0^NdwTfrqob8!Vr_Jli;0ID((>G+ue%Ms+6Q-MN9?$B1_Tt6&py;xpT zS%kb4=MJL5n0oI!6S@BX zc42UcVz1ag1K%m2Cr5%diPrCYhSxcdpSrO0sJL6lZjjG*b-R*zOC_~wzm_Ap4yz-d z5%!}8&8=0|CW{y+R4&%6)hz}56sedlqf&gljz#Oo-Z&~(kM}tA%iAUX?sva^@7;UH zLM6XoIr3C&QYLPTGrSCq0dwe!8t5&;MAnbjEmA5!_m%0_T>7K03=&RS{UqW)`r?dw zPRhQ$aOB#o(#mZM_t=aH2&j<%*7N1t>nC0+7c)`7@Jg95Wwa()zU4u&51%kcTSxj% zs|_R~&mv!M+$JKUmhZi143PlCUss2IaW~kU8Y=#yZ_u~b#t*%1m=gG!*+yr9Z3xl3 z*Nu$#6d2yV?LBesY*RU5HNf%-R}>^Py9V*kcgpHU+3TY zAzepa5^=#o*r*`6H9fd|@bOw3+CO>+)sG%9iIYUY=G>X2e#p=185;KVuHG;6S{dw71$|Jl0{?J^NbMII}1;7Ixfo&$0!W3BE0?z zpBwL`jz0eA7w`#|2h%NdB)xfB;5bfAu5ulZ>G~(pr*IRY19R-KM7vp;!=Uk)p!e<6 z22OvDX;GeV7`iU0)Atu;rh&anSqS=qZy5T*!mv{Z0tT$(J!zhkwrZLDC}%A4dA^=y zHc#P_!k^=kml1ivViK}6HAQH|yr$`v(X;<*!54KVpYbP!1KrSXIz1z_t{1)!`Lj2` zv>A@uG7r651}{8WO?qZ)Gg_y?q7kBhxN(?jgclE_1FduOR7W;s!a6*ru&>P5G#QyO zU{cyAwpYV@w17?nhCb9Gg^EpfVbmdEi!Ez!V+bRzw$h^|DASNx57NbwH}n)wagCSl z0@EuSzHlTL5Jc$bFiIh&Er^$x&Kq9s20IBkDFtIn)Gl6)D-;DL5W8^AC(Th!H%n48 z3P!Fj{#-98MsAG5Ko>1C?<9PnAj#-TJJ5n9-T2l_hgFG(hHK_w*jti_iI?dDU8##p!Q^fk?DQ! zXQ^gM%CZ}wjme@Lwiwp>>Y=zU@UjxYk9fj!eGdtyGe*Pmbbul7A;yiM@7Y==r6Yv(?>xzA93Cf6t9l%sH9F7M1DLl4KB02}E%P z)20&?>t3`$MTBj2DZpKI5AhbmIW0`KzFC+B4WPjw9~~h9A@sB{bnENDjaE;cLSVI{ zZ89VdL_-rE2-T^7bV4>p6gmb`_Ht2eZp1O=?HEHfgW$=@S2{S3m_05Uj)@fQrmrhI zx#En_F`m_auCyh21wjF&cimcPxMZ6pZ%&%&X0WThAD52&FHLE(p zvU^)FXzEmJd`>sH#tP36CDN5xIAGs9@aBE4slK&TR*uT%m1Fmb2^cwwJ`DVbR&E9x@ z%p6;*wl4o}-r+aCLEm^LSoP<1oqsQ9XoB{27Yh4DpI?jjGQ8GLx&C>d-@nQ`^g<|& z(-BOuTjBE_JGYCv4+)8U#XsMx1f9SOUHi0%dgJNnZe=*{8$*)(r+H_&>c>rJN}w>V@RPG%A}Hh z3n9US&=j_ltcLl-*%)BPW!uyR!v96Nq_@5j^fjdoc$qjB5y&s^=>8kIQvXPP>Mzc) z6dt#9zu1nY!-T~XNRKilIZ_lAVED_(w@Wwg*g|$Oy3U*)B}dwZ`gHOg>-YojdShsf zNWM!@cxT7A8n$@74k|Xy)@`;wFr!O+U`|Izuy|dY$hinUY6u)j8P!}dI~c=y^J?&2 zD^Vxg1MV=!xyn1{`{bJLCI;D(a`CF=q9aZinK|CH7ofNb!inDP%z@`4GP=jL-HEim zVSlFJg%xphnc$iwT=GDs`$y4Qai1r$){XSw2+CE=n*B#JF>i-<$FN}u|27h$7eV-4V_h%l{ZS8^u z1tvbvtrLILlO3P!;8&lnCqQj*n1-S5hRKetNhN8s=VT^f?1qytZVdGs^XS#T!n(u) zyM5p)7w^uQpFF2qvi=PqkH;M|dYA7w)Y^?d6I{t#B%w3bdDqUy$s7}9hdi(j+VPUv zqEBIcNye+%_5GnA=pF^HN3+QEV&doFG;R2K=0@}3!ylN;#ye7UT)nf0?e)4Po>jBK zn@UR3K$&3yX%TI2TQU=~)z(AN)}9}_*#z)jQyWc;jZ)Xm$Z0K&+-Vb}bjLt^J%88F zZdiPc49Y$W(4Lc2;$2CjES)DN4&mdA-Ey~0a2-!LN}e|n_kEvk>4z&uDqLbtV#G$87Hf}&X@zfyGbzWtIS(&j?1Pghed-R4W41HDItUNCYR`B7Ij{Xs zF*WE=rmwJKNsmku{ItD}@M*Ks2==&drqqN$D%%l0 zPT@~>%*vqqb99Y>rsPS}ErX+2DKobreYgzTcJpWVsD9FCGoc@4q?1R84QFO?QknhM zyDl<-jLy18g-NjOJozU(>+`jzjG*7NQtr!uWP3)a1SUl$tkPK+pJo>}G>8qlX|1*d zULbPupqL6Vx?q*uoBWP!SuzJq;I-P0jj5!Z(h~kt9dj_on=lx)iK0&j3pYJIMj3o+ z-}^^G;1x?=&gA}~zoqFRTJe($Th}=mfP{E1i|-}fRsz<%^E(~U&sEr8-v9$oGdY?g zXIqHEeYTx0w6Wxh+ren>*zSY{4dbqX z5HPjyEOR-!-q`x&UiUwmRy|L`K$y#M)k6cb(|XdNd?4aYhcSOT!r6WQJRPhj|M4sc z3Tc=qX{IkU8X0b{oS3qb9KR?TBCWYlG)os zbuF6Gwr9-~bTkpPGWdL4C)yp*Del)~@Gr{~@xiJCo~CE!!d}=F4taIQ^kq0dMT_-2 zcK=npDvNbOQ$u;8MtBJumTnCg6~>fZeV1PP+uDRKj^--(pP5bm%mpfnv6~RI7V7l8 zauMYR$(yS?vv7{nM4#2N20PUO8*^2ZM8Hx^N&s73@K7(6pQXaM~E*)^`++( zozh{<@9F^0>T09&P=>h_^s&c9@IbT!wW6COYV}; zimAw@D>Anp6%&EM`2;~eC8DWMr|7d7!+G9d{DvbIA9Mwq&NzLYy@aZf%cutQSn??6 zVJib)1f?TUE3R(ql#ik;1}i?}6ptONLCp~_uPlqC(moarA2cZE@o_O|d%RyL2Q7&a zTN>XtT&1o?3rhnsZ|#=qx!z){!@Z?2M=AR|Lmr>~)fO*<$|#vGJ^KUhPQ!ehu=osY zCbVG6CZ!SR%nL@GhVc;auI=Q&DY~Y#kl0) zF_DT@!NNMph7R=L=~`0j$U*U*sQc09CopNBzoWIRt3aI%CD3=c(vWDF{=owfIt!41 zJ-b1*UM^ryla#>XaYa$Z6IgsbJrIYm)rhCcr6gi(ZG6XYhq@RoDh~X)w?(W&bJ_DN zAt*^l@v6!9;;U{E=SNpI5eu}QdzsGeFh=i9NbE|f#K0s5gUasg8L*b_89LnyYLubf z^`de^OZPwWU5JO&X?!{T`Ob2fe#1>l0p=_DQ2YC4nprTj>6vEX899cX)nUu#0Lgtq z5Lr>qaRzpC<`yH1y>jZ*g*0&eS1$mH`S$GZ=>!Bnl!0w@%tc!SzGhetR(lftsAy%2 zA4&KX27LEI^`k$ctnvUHIk0!!N0g@NU2An8(B47~9MT7RiW)3lJTIBEWI~I86h@=) zpDttJIGo}+1W~}saMA-ZGrf}qs0LYM)B)o%sK?%D@dzXHd98ZKp$I=Vx30X}UZHtx zhm3s{JCN#cuW}r=!-ZM4B;WB*3zeVMY0@aB@>xJ)e0DjX+{lhDDm1YMtP`Q0e&=Yd zwN4;i=tNNYlwCA%U+9AE-UJiy#0zaI?r)a!&j zh0e&-da#zjUD%|dAt9hVT8hOtAiw&}Mbdd@C&M3EG_}|jW0|8RYKGlP1N=0}(Y5^x zI|hzQVe}NhUBZu6=Q?TK&!)#QLjqO<)DBZc5(>Zyy zjh=20en{g9@^QMYabhGIKBQ+CZ&91r01w<#FFV$#7xKq6w97mgC%T%cbZo)C)Lrx- zxrn32ro&Y9fh%PbzVHc{kh5tbL4QBwvlhPmJs%<=@5;+raIe6%u5t%_Nz?qkxTNy} zP9nN}@RJQJ9~8S%Pp2L_sPW8mfCQ1Sa9=?f!p1Cx=dvOf2e%%c!&{$$ACQp!_(N(^2-M2pkA4;5o{@jG+TW z0)@8)qFR+rJC=&Fd5xTxM+1491Ed)F4p?!o8J=_xVFa40yU2;=yE;y40|ew;!h7GC>CJ=gOar~i(lE|>L{Uz@pU|vC+&RA*v~5wYLy}vF zB6yd(duyxe4zmuq_#{QVR^lZ!l>aF6ik;0_Q9Aw9ovOQU(U^yGRUOVJ`K)xg*qs`m zD|0O6n?8Q99q|e-X^``E6j>%zp4QjVXl_)B^gfvfw3pDmQC-(GQKJbmzc_5CF(N2L8S z^s+{{VM{nSP&Z)5YKKIy9p$y++b~12qSfFd*SGnz%?->Zz`*GPs@kj0_R3OpE*ux$ ziuj>$6P;aFN9f$z*iJIu$o|AgLlKs^kfaab%SnD)>9CVTZjwxjGAXA{tL|b*Vgk%n zo;RI(l_y6Mt*`odr=Ob21LK2G)G_! zzU>M&2c|E;)2zw5=DC8qsw>g&A*BuMm>?gU+pd;(zwJ~SGd7aCL1uE=}@KUrX+ z*(mnq_-$$2^VI#uOxPxNRh$`hvhE!(ydeWF7SOh|Hzjt}%0>JJ#4eOS%NtUirl zo`~yswttMrUuWoHRYUUG{kgnQ6DODiL(H#;=xM4ogKDI80msg`rUoS)ty*p1#rWSL zr;{kb;6p9|<$W)mdMY3>C=WpKrooP_z%*o;8LgGib4x$D-G`i?lMy~`mMvj8>>0Fv zK-TM8)BUL*wkmnVbo)q^~@4i$(|g#=OGDAf5!-%UuGBAvVddP%ef&Fky|2X?|SPoGCBeUaXF)swwPS&2EUk`hmt zlY1&;6tjWl{yx?ay_)s&AH{Wktf%#%BsxGg`DYyOZ{o7wYIom#ORO(@o&G&6mC+*m zB%X&EII!r^_?K(s|IvEzNto zzSCyGR%XgDE3eZQjBqoQY6jo%(#A^)t&%fvq>jQSAAw~&dJ5-*^<}P@>r?bczX0>6 z`*XkLT6@5?1GWM8tbWYBw!zdTk~k3|Fev)7Z2jMtqitis1oUldTVVL?`+IXa3S|ZB z3dMGLSmwg~c->G+^cxTi2uJ$#*`-DFE9~YE-0GadmU??p6MWE<>LD|60M~Urx=fFXWCd(uHbvvf2*?&F z23?k>9Y>sd@bL~xjKHj=>7-^fhgr{fU#7dAoxVW|Z|L;sjYISUTqKD^a*%4g`wnjm zbRxI!?dlWBfwL(28Jn44%1gt6f)Ua?7kV_Y)Q> zFO&)4f3f#vZL8wix<81E(1%>wqtdAe$Q@l&1f-3SUw^_ktDCiERjsv7?S1xs&U)&i zoS!kxo6%+@V}PEK_V@9oO#1R!USIFKG%9_V;r(f{IR^rVt54u$=LPqb%r}vwk8bv# zg7CkO#Yn`5(5eDXvgPCf*}t#HU-K0oocfAoVaX=##(1G|!s-CjZ#jyKP&<5d*|P$X zSxLZv%!h%T3L-~vd>p_`_3#cS^{IJR7tai_cRhHDFxAIck=NNW+Pzw@I$6i3`4MRZVVjhtz&eKf zt3!y{i{g{C!+Z2N#TN`HU6V;T3WX91qTh)XSlUkxS*C-SJtc~|+sztYC=h1n=r}x;{Fga;lkr6>g_qA~lA~EgEp$wVe?MIF%lpZT6kg|X zR=O`wJj8_XnHOFXLctm3nMSw;0ZI zF9I(en-)!d69fYzg6DtJo*gP-euF`n@5r^#6X8Kp;tYXh);G61Q9PlbyQ}e-uewP7 zkVt1QT0zJ=fw}jPb56=ZV%B`irJQ;Q?9>TOdj*bz`vJ2b)QQaRO4Q5SKPeaHV=4Yv zaqTPg9bg_z#*3$0F$u4^eor;~Y1PVGhtovDQ7$+{0u8Bes&1Jx85{tKLfWfXQ&&j@ zxvYZB?zTnc!sJ#ED4BG8G;uaT0VJ`y4ZfA@vO z{A1?#4w?)&AX8Xoj}Qfdd?>qX0@N&M#O4#5VL)v5-_l7$s5ZxMxoKh*NHxd&vZCkI zv8*DFnuiPXz0-r=x_D?6@?MgHQ*$KbA_KYsf6eGuB#7E=iRK+Ls zg?!EdWDNEyj${5-JdSl6ipl2?rKlL@SVPZ=*{^M)W8WsE^woDCYA(NPcW$UC0LPhK zuYKoWW}i|+uc_sZI%Di1&FXU^98!0^5Uf};kN{Gh>1`D}+emt&S3cgaajVXAb=23k z33h87whi}fZjJ5-$!#l&A20T`nAg0yMDZNdW7r623eM{mi^+X^qcJf|6=F$v?|7xI z_{~yL4rEf^z9`OP<-v~d?;+X@?c*N3dd^}he|VsDK=_=Jn9n|ESw31G(#1aCqRUY* z@LNz+4 zh;_v*M}&G=eOaMV?F#Kc&To6}YQ~J)2{7Le;x1|WNl=S^*d95>CGM%sc79=@L;NZtiF6;q*IW-=pcroxpE7iQz56h;n8mH8Cs0+Ji zN>ybYaU0R*M0wXpm2|LNH4z29YQclM4N`4Ns1g;+2-vu%Tg+XP>P@3-V+pCObd}ZL zmf9fR#AZ%abPcmZE{%^J8!yb|Y766e4Qg&YOw4Jw&#Q)$c0h+}lZLssuF`yVu~b zM*}0!N%iZwpE0<%3Ru2`1@t1r>$m-2H%M=6zcKripXsZb?^z83+x;wW*lfP?-0mb} zglYAx@bVg3h#7!qwVHiOQOUm6en8Xb*f8}?tI+9G57@~pN9V%4sn3ZgQHm{huQcj2 z(6%?pU^E`8<|H2)4yx&*5%FR6las*6Ihu0%;wWRz`eD-i?T&*=HtD%J zm%+jcB<#vtpDJIzsx^tZpgW$sE^-ekfmH2AtcXpPjKsa_jX*MJrOl%s_*)r{fw1Xe zGmpoW<8@h37Xkjt2&0?NJfwIsy$+on&R;M~56_n$;w{q8=fUN(##EmlwBCwpEvk0` z6b8}6F zo9L*L7aIXD~#ne9Z1r(It?g64eV9&d8{nr9r{dXm-| z_B6$Oy0IYW=dnD`_SoSH;$XFV3vX)N%Q?9sziLD6bs`xl!J=C{x(ljnD#7(U;Jkd zj$!nOO7L6@=|H$Da0_u;H>c5|m*3lAi`Ln1l?VC9`V{oxd=QdAYaxiP-c6D%h|&n0 zD)?Gs+A6QK(v>2Ake>No?pt?KB|Y4faqU$@evm@Uv`Hx7ALlLb;69^rvg z71fb&;0^?AsFuFY6(^Xvri>Lo&ryU~hjb|Q1#GsVj@`3;<2i)6og7a4M4^lzt3l)P z?k!mX1l1cybIs1GAbaqhn7vEaP?d6oTm&T%GnWG63cqtFZ9-jvx$|Z|XJ&C?)pH>>6!ByaB6PXrj1+q9ZME>JAtHf>ciaMlTQm>QDLUB zX$N%)&8}B;wDU4S4KcnT44RDC9A$HLp$5?A0D5=N1bK+`aOBcKYMnC&plVSMiJ05C zk_x)%;X$oZ0I3r}MGACq1x)V!Bo$d3P}OG@Dk#4!5OfcxA3`R@*aCrVzB5^Qje*iY zvub%_2d(G?Kn3v&%dMTN=|+LXc^kUDk2Hl3Gx!CCU4dWPX#<8$E~_Kuv&z5PNg{@A zH>Ra4z<|RJ8B*u#z9Uey0C_VOdf}CvBJC}707F2$zZ1bG>%|7BamREn-SI!DtMb$5 zEJ1f%*}vqK+H2Y!>o6u-&pYil2D3ID9Ab*v6#Q`>arRl0Sf8HuEk8z1`6W&&Ph`AJ zTD}J;zzH+qDtuucpB(pkn7M%!D329VxxD7RjeX)ywJBs1a!&90EdJN?=bz7;%X2c- z$486z-T0KMO?Eezmh_%fuciw8arN>vZ>$Us0f2Z5? z`sKWiE}KT>Y<;a_YVA(jGQ2Kz%#`%<`}5=ft9ahlH(B@Edun&*U>V>!zW4o^eKO7Q zRPG{r=J}U6-LG*uWv-c$?K|^_`AiOhS-szyEY@G$lZChbZJfskKhBHu&&Fns$_s6S zYA4*Lqx@5>hA9vymz8O^I!fwt_x(Qqo!IQ)c`vmApW69*oOb_mZlQlSCZ@GGfmo%K z1MvVzib;i|iVUyEY<692l`Dr!Pyfz5Me}}8@$K|%4l7&z^>;tFJG@#ysMW%pvgdE& zLqErZruEA^Bvu^$FlW!PpX05{vIxwnSqK+-%|CY9Xjg@`zU8sy! zGrRaZ;}^9g)Z!7uc~yzBqu`ub0%Im+-i!kWW9h@T zi;Qm)xN3^GjY_ys-PX6&>&6iHPB)iL0&bmJPiuSl{XL%l-2eH{{h$9aJQ$&f47l+p zfU(6jQX7HIX;{ZapuIJirmmd^v^AH%#Dxcr z1d*9&qHtY%90&!jL<4~flzw#8i(@-PsBRrefuFYm3~gQ$Wv*GcE{sQQ6vmQa&U{_Z z+le7+tVeqii#{dx$-a0`Q=~8eIvA(|?Ht&&7d{zZ3}X0tZe>p?0gk2Y)uvqITI1e? z-Zr+6HxfyeU;{WNfGQtd@kY3Q3N;_YYa+p|33exYn+9|2PmDSgYU-M+XiNFWw{|WR zD3qP|-g(*Sl|$FDf{;tIKrE}Jw8Xvucdybw4dM=+y3Te^R>|M;d4op+HXNq|M@^QK z*Mbo{mLUTttLbeUo~dJK=Hb+Z+VA3(sIs?vXp-ZQv59hOhjKC@ax5z$lYuGiFbQ_J zZ~A4z#!V>b?(;jE112#86k@i9q><4>iTKDNN_LVLaH?~o@2OHqf+FgJjqPF83B_7P z)q3!gP~%lW>IKig51I6E5)BAxkPSKnV5Ku-h@28FNodK|3EJEF}ytB`M{9P+&DQMi2$ zktA9kg+iu_YpIOtW21-W$?ivw1aiAmwM^xjO;fw|bJv4#S_t{BwTDQREeq=Lu7QFC z4xADqW|P)Ui$b+&c1+&l_k1r1fz+IX(~P?n`ONeom(Op}CB!qnDX9d+7CaL|NQL$d zjzU-?35wjdSe!LLuJc_c8Q69LcrHsHcoolLU2&2o!&o}o80ZvSN(0uBj*tQvJ;o2M z0kyPX{zV)sZ%N|A7{Dex_BKem&E3via6jC9{ zH7^TqrsZ34@9x5CE9KB*{u8B^T`rBYzYb72&~3lgae4_kC~ou0UU?xb{QFsS6D^r# zV?vK6Kv)-;Q7ek1GZ9?_+L%XsCT zYFd8~^1^rboAf1-;VihaPz3KNon`5PdyHK(=d`;YV4I8ac^|%d5eN8vy$buWFVad+ z1(8E2v;sND5$OR})*3IN=Ci)e&pfv~#W}G4U+(JFyva7nXmnVcl{nuu7K#_O?&U5t zdkWLn%Y2^W@9Be*BOJ;;<&DRyA(b`U1`F>(-4L&ndf#M%S3L)0<)Pfiyf%%W)zE}Y zo{G0!$EmAQB5U5U#BIpPInoZ3vnr1JC;N`^owI-KsB^8iRpom5OI+^zoCej4f1aRG zd`D~e$#rEPiBPyVj(Z$#;ul{Z$^4 z&Pn?%otaHGy&K|ws!aK~t#j)nd*8GnYG7Xv$7Ec>m-cSDVPiTXFDL&I+550U+`BqP^^_uB+j zX0e4L@=jm!M=+e^sjX9<+WM;rD!n*&yXCtX^F3cCBBk8vOx}X;2t>UXa4OxDQelBS z1#WK-7z)Ixo83JBo&QdXE~(;;CX}{A#n?<&e%`I92qA^D0p*h_~u~ViPKyn=PsQb!B~8}+gL_)6;|ho=3V7(>H!}+;qjWBnCfpk>o3=) zkCOama!kzX`Mni^KaNGvL6kK1!xzfi@`S1^vPU+qEF*eQwao4(bJW14VSVn^QnQpo8rL7Wi*31SeXIEU|XAf$(j?C!Md=p%L3{MiEXN9?HZAU8u? zqEqbee){Zy+YacGR0Uw_Aa|ycc0o3Dm`|^Uj$-ZtUf@xgC)x+tguErgajS@DMtfLgxg=E|h9M9}?}izs)rnaiB6C^`JWnGprr2N?H{= zL&o}|f-;wV1FmU@+#HXh7&IZa)wTkaTWNr9)+ko%5Tttr>P(8QE8QtWHO$0Vgt`ea zxU%20G&{ql;ChzR0VMfYy{_q@~Xdn>?X3=e?@jI9Z~G zrSjFV{iPvh=Ej_srO7oo=8Lq-5t39zTS*w%wcR2`OEk1sn#UqYOTS3=@X8MK~}wyh7hC2UX8?Yfo1M;lyLf)!Wkj^6;zU4I;q zov4lZpYYyNhe+n|-no*HS%Q85kLJAdm+Siqd3(dtOxxdY9Nbcewh~%9?eYQMPqjJw zt$a(m(>^1YZr%%!OzP)^)pyyviYK?zt?PaT46gZVt43EM-7GIMNIN!cj${NdG)JVx zxumHwM_xglu<;y$zxRq{3SLK;i;_I_nxd@vWS-X13V?;l^Fs~r~Op-d|k8tr3zC%dNJMvGqkSjlk}50^vKT>RQV z@La4?gj4yQG>FO08LGpZ1;2SzU6LbE|tfl&2${|VN#PaKgFynVNg`WDRWwr4y^&Uknq*8 zWPbSZTf>=OB_a-?2)OzM0Dfs}5I9KiW@N$4#CBRk6-Y?Oe+;m~t-xlI4wew42>Bb7LRSnvA} zYwgbMbfG$5;fPtP=oqe;%Oyq5qU5hpGa1!Ws021A7v*Yj@vbB0cI2XQ~~pj!MUK_IW#J* z)X`A@eG3n9&Pg_B1K=z*DFf?IG*AgU`F{5`S8Bb-HLRP0*=h2#5li4B#z;cNYq6(E zmzWwu!abWI$}pEWQX;FDElLVnxvE>;b)kgzL&6@Hy$VBBo`X?jNmCcTJpFWM`Y`RoS{2(q3_z=U-_4*jIA+Re3B4BV>HSqD5A_;p)dOU(K|M?kt| zc5^}p(mendK@9Oh>6s1g$mFfPfTNIG5<2Oser7By*FRwUxJU9^(7BaUMv;5AsS z1ILoq3$7AG%*3?}luydlRWnqYQ|%8B&$Tp`^BE(^%J~g{rFdOZ#)o#v$L!0>kxHOz zT&_@(TI8C$=FP0O>U@j3*$3@`@%JsRW9sLmJbBpCo_N6pQh=E;ZxB`gY*prMRwZ}I z5F(#Z+nq#)4YLKbZfEX;PSwFUT#R_vKbPIh^sw{XRKq4zV_~P5WDU!Gp_`24tDE(_ zg~Qf0A5T?1FD)2rX=&}9Cu|Q%)ABE8F`#lGAoEpqxzE4E_;IEC+b}%O+9g(_8{YYk zrdE=(_hee9U>XOvHj;oWT0>Hz6mGnW^dg}Kw4{wmF#%1eUB`2rvv^_FX<+fY__;Aa z5t`Nd?Cr*(HV#=}d*M`(gYR<(Z!>YrCNJyw35`SAI9m9UxBGDi+xK3?r1cm3K$~{p zF}Mai_Rll(6$RIN%0us)HN2f5n(@HD!Q=KEe63J#C&fD42CzTZN9&?_oq9YNpBlfK z@#V*2`7R$>fJ=MlEUe)ujR$fclVepb8*W@2%b9e_^VHgVsuXKm`l4q<4-N}5huaqv> zdQVyqccmX{XCu`+>#!VxXJ4JpVYV@}Ii^oDzE}vx#MXEpm1RFN#17hy?UQylu+_gK zch1Yyh_@)I7H7{KxpQ+bYy54G34dc?8lz9&?>Co_I9u(5&$t6MVPNk2XIQ?>@x;Ix z`f^`G`Kq8L!x{VtX9niGM9lR+us<>|cZP8<7?`N^jZZQ0o=dyx^bHd|4@%~-UC!le zaqkNB2#QIInfKC78yD|eUGmD~7_92@G^XjMSN!MR%NXr(<;4}pJi5f&PZPe(AUGen z!xmVb{xD9+*M>#I@JufV5-^e}nX-|_m4Ov;-xlPMC4Ct0AHLguc1?Dv2BRAaX>f}1 z>bc2S%F(JV&tkKP3iUW>cAH&ZV%YM zZ8-D6)^;!9!HMj6<^IB72c6MRT|cxi+BH=%ZheNQ8Vo7mEY2-mF~f;sKxg!Bof1p0 z)<`$UXNVVqORxQy7Ow$~+F(4@xcuT3lR1ftwMUj`=^C5chyQK2NU$=LGV(`bD-z@-#kjKkQ3cZ-2}nCZt#oTqUTJdN8ov;_4dmuCb$nf!P&O!@x`eHxY_2zF2bgB5Kej@!Gu* z(CcgBv~BO2nI?FqXf)%J4WKC^LNo-RSZa-NkuKte>#TO2F(+}UF8<^**ri|rc+`Ud zl2LN-C;2ed@#5}!OJ!m_U34_=sj+%WWAs_0=jv3wEXEY$>V@vO)`Tl_> zsJ!Y|xo{L})twa+Ti{xx5KD|@ZM$!|tu2(P1a(`JvQjC+K(_{4e!$kCCJ0AUZsbVDNTp(G57^%t%!KUHppfhBrONdicRyo zK1p}QKg2+%H77|z0ItK?*%tVjO1eH)^sME3OMSrX@%S#53OTwjs}!V(JjYt|pJT0` zxcM&Mk-8t#KdpV@cCZ`bG*AS(uHEYL!@3;*d_Q0Lb$YjYtJaU}GYEecW3E*CR=W&m zU-^X)uHOGxXN9f5gSS7e71646FOm%SU-ep$lh;3vLrc+L=keM7LCqHeWsK7l#oDSM z=gbSha{}NqIB3&TKK;bQzqSu^UZJ>OFxpM!KZ$AEbeNQ0z*S({g`MvIu-4C(|I^s` zw|>O0+*HDxFG>7yz9diUl(p7S=5($9A@0qr$h;X9^sP3Nz-51!Gw6?NGqHB0HS-8D zFKo_%74V$>2laQ-_RsPceXAkzt&d9l{TP5e5CUR=TM1#bkEKA{gJUSP?yRF0hSaUq z$+_-?2Xpkr6}sc!eCAS3d3FS3#MbKjA z&yYaYg#j$Mhj1ewr%lB*S~nE4KA~pW>E$!uPpRHd zN9&Wok4so6il^?RR0De_dFEhKu?1YhooU;Lmz0NHNHe_t>AYP_!23)!tvWGXp#~C+ z+lW?!kX5F?+NX>>$VIB!%5dB@IgHQ9&>gtRfL+GU3vRbc(ddWSuigVVl?k(3ARYIR zHmC!gxl3E#>|eAM`?8zh*ome>tVgrV4SsjwY%J~xxKhofn+`TX2$>Ysqs)Y&(>uLp z)~@7kw2yUo;g=3K7)+r>fg5rah+2me=kIPzzkQ1<%wti}IVE%1M(tZX#z(fp87ZZgFa)~!2K$bg`ieoseX4O< zi90SV%Qs&3M5|#e z3{z#feUy~oTn?wU;zRR}&k?C4lj@5FKT5h&-+qdfki0_A1G9P16i~i!9%MZCYcQE$ zt2`IrUDePzcMO-$cep4OTe>7+?06JxcR9C8*IZ8|QOUW(?e?_A-Z?+*48N9PtD2&= z6w#Tc#!tLdas1jMPOfpBc;o2nu+Hr?na_|Cim7>BuG6a)$KaT$i3ktGM5>=~>t*pQ zB|*KyElf2H9Z! z@RUc1nCol35i{=EZSOQ}s$P{Q^=hmo>Ajox+ffv9%E90`#3@7PK46!33Q=O#H9rz5 z55hL+G{MNL+`2HK-;C>xRF(`P-wccCyo%vah9}yWyy2urF&l5@!Jf~(1WK9!-p7olpDiBiK?|jpwrwI6nP|E}m)(_P5q{)vF|u`5=|CTxR5J0I zqt^D!?dr#I}tZQ*^S0_c4tqo&I2-;=+IZJb$PmM#$R}75+ z;|XLx%eaJg@rd{ZSZL|WQP(a5NfsTN%PQhNRF|Z|lpKfZ#vB7|LI_oDM9NwFXo;p& zVO5D`aL??z%dzARW%>dr8TAT~x1@t@C6`#oJ6dJc*$yFP-ddh$3^b%yPVVT2oyfdu zQOBO+Ew>X=XkErd6?Pie11oUm%P-3ONDnGxXdFs*=2^_b6B=1VTvqjq2{390Om0>{ z(O5%O0dvDvH~)pWM&iWG2E`}@B^BwNFA-d% zE|6q%?1NR*aQGB?bVJ(uy_C6 z#gHtSP4E%&!&LR7ot6#L&p%tL7j+I(%W8-H>azH}5Ptx%Hp z29$xzHu(AZSj%d6DcC$Ua_|PJUTvFn9+=zTFQpi}JDA^!zI8Y8LVa@Am4Kbg7Mw41 zKeXX{EM1D|ZcNXO%cqN|he;w-GV@E=RG-bdc?h9u=gY_0INgRM-JaRn*xqyEs7me(;$Ml)Ux2_?w|V3E z+fF0J*&6-%yt03EG}%en#zy|!ADdy;q|f6@jw4T8-xtIav->C9Hy^vVTK9F{?(+}^9&pCeE`p@$1{>}XqUuO%AhW@Db z>h4eT7Gpovg_go^XA8BK{!zW&uQP!S-ZTu>s z-R5PZT4H<`UHN7P&aB^3A$cICX2_Px>pQa>*Z-Ig+xqMJxBu(n)qsN@o%YlPgA94~ zESPzXU-g5hi7r|7jufw_0>TISAVn=W)%6yiU-Jc|S%k9{zFZKOuX_wd8D~;2b7_(X zY5VQa0B_GPuK%0+Awp|s-io>J>i_z)$X{tRvpRXOe@`>v4yoBl zo*XAbNrqd`<6<+t^=sa?6)OGiO;9xaWli>f3Y-6&_x@{gpcbh_hQQ~Z$_{M1-oqq~ z^lxXqe;%i7*Z5N-bwRj`Dp*L8DBx922re7>phkD}5BHIN$0IFsK8YgHEV_g0|0O^C zGxT@hQy(*-t;xz#t7*OZpV80Py116|-XFYEjJa^OS4qnqoX;uCsxH71p-Tz9ocVl& zC?y@T2LWZsd4*=Z{wbQ{_iS$^$@;PZn?I{{|KAZ``f5k87;XdzU{mR=pH2EdqaR8A zwyp;=k$+e_rGh1>Mov|MmbFx?(~P`%a>=^1)$u2kG+iKl3MKqYETq$a5GNtDmOgr+ zWE_NGayw^w#E7SXr2Z0<*^B7z1eYJgYkvA1gU^!GFea%4LPJK=fo(5mE6+8Tb{`xl zczZ+Z4_$3fl-o+iEW#G%wkUK6 zy`A#we5VY9f^#1Im^VZ6jI9K`s7`p;y-pgSBE)dK>`tciu>o_rI7}~OqYN5HG-rhe z<(_t@L>!^`PD|4!qP=#7+uG1ov(qYO;tN3 zkim-C);Vr0lLLO-4yNN(TWIIUBmuDidf_oyH@%5{Uw27HM@30G7-DV+9q9w|iENqO z94;pZcgdz|J{zBmb@f6$No}XNF?8nIZ-U!D*17H{;GSmS7-BGT%pPaB+6k%z?&me> zP{ow>sc;_#mO(%qH=_?9;&g^L?s60bxXqJb+8Uk3cV+D5W;SQ!TtV?7 zAqp^dXd!{k*j==(jWzYw27P!Z5)a&u!%!q#2li@)0~s?fB~{i{;K&)X)IOIR(}0GU z?oP78(RRq>PiS{e`-Q=v5K*~5<0=Kd>*t-{y;U}-A2BzG!>{n3YVHRh)nE=?`cl@c zfp}q4C*g{S=e-If8&Anij6Q&oE5H&8uC3zAW>_Hg^=jOMvgqwZ0g2Q+n(-6id|%vO zALJ*P43BnDK9`iX<;qyzS|4262r%&`cv;7x4#klRIoi)TpuO^QV?O$K>^wKHI@3g9B2!~Xe zOrUf=W)NyB&uzKBxylOTu$z5?7J0m^WbyojD|swvh^q6;wsE)h>0}6bYLcUxf`<}+ z#Ls2Dc(wU9=yNvLL{_qoA7f*66s1IxOx|+piq>rI4-QoJF_76R{ZI0cVrPAb-plR% zxgGPkoPNgVi1JqeS8AA@nS5VU=~3Tb{&FAeewJG!MfbNjr=ILNGz^FC>wc?CCAvny zNv`c^W4pU6`Y-&y+&Ir&WfdZ_&vH0X53UbHTndwxx6+_j#0?hvZg(2YFcERchwHq8 zYww2pqz5YJ1oQKNa_mX0ER&Ce%Po@|zt^{a<-`38cBJr^^{W0JdlVJ!AZI4c1IPmo z6xrq5wex@Uoeol3y4E0Q%+8zMluz~lQhVr6ed<5A6}7KgPVxn=wN?09rxCRMADuVI zJB&Yi8~y%G7#`Ni35i!?gwl@6g zSK9h(y8LTi`$)V7L&X4ZtpNPROVf{)wym zc&K=)qTPAVmF{KcP5zm=PR@s~Tn&-^f-ewtS%B+))-je*+0l8P|I3|1l;!&uc8!`> z%!e9Uhf0ynONdO4`A!$7i7qKV9&mNz8VBsc_2BdfCt-k7ZorF9!fb}N^qH*w2>;-% z+0UQB{ehUg?M8JmA#J`#or1^-Ajq5w9uk5+inPE@i>xsc%v4u z$NSdl?ltJt|D5^$KhT>uQs_pt;medQ`M2?=Ba$Gj1d?W#Ov4-r#EGj1uL6y)NX1?A zpL=28uBmlovM^9rUYNa7Z%X%W_rkq;`NKDf6yKw(!jJ#<+fJ@i?N+a(uQ(S76!l+y z|M;)Q%G90_hCb>4Q~LSK*xiRHgvm;da69rT@#K`QywwGT(}dOu{xGKYU3~3f#N4vS zCP*{FAG$RJ;~^z-2`(bPQK4BpRtKa$a-Nn7w?xtLEiCpA0Awc|?GtKh5t8~Z7NnvYiu+pSCCvI>bw zH3ttQ$&`cS5%_>k26RbztBI2xnYHM2Wm;)#=34G6+6)}^5Qm-nkZ8YMw<4&U7;bfv z0dB4LWnTka1^pSq9u!bg0g;tq=5>b*-^L}16u$x#LR%kxGZ$+z*wRT?U|dnnsEB#T z_B%w~*fD;|vT?_aXDATTQFy3ATq#n5H%uR%C7k8GEQ;;}shXf=IvH&pwp$2xAjMoy zg}UH?*h_eYJ3f*mH05v!up>=mINuN_G!~U4sZ2QzqzPnZgw2FG7+pv6uzG9BkhE1< zp&kPSB#GNdTnf4qC4dC5x`Rw|+jh@Q9zsA>XzLmPp9XHSK~z7S}e+dToX z!f-aBX3`G4LQW@=G&so%zNJ(K6~T}H!`^#sEsiYfq7S5tL`u251cW3&4iIv8vVgpI zPk&N>Rohuz-E*(G&R%PbeNlhYAf<_n$oL{N3>WSaT`om~eV5cK&BQz&IgT60L0VZ1YlW zBQ$*mJYDFFbS%L&Uf}V!Gn{ZcUZa6!IQqn;QKQ~j6oS1>9l5rU5_hRlhI z8E`4|gn{mPMnu_D1Y9!p<+bmKm<-5+GLJ87RHKBBPas-PoclsuT4MeTw^}fvRI-y~ z8 z9Ng`s10%2a5ctoF$JBd>0THocd$^JUTHefVbG;G0SSDkn&S3Pabt#j8H`j{UugRW6 zRWdR_yYgnitt^=M3&9l!YCf!iJo<0Somk+~nqj@vE~%DviK#btkO?aW^_K4eV=Ngn zl8*r1qqG~QKepFpnrP?8*VvA2jLBwuH^ixW(hXD1)5D7OeIH{R)$0NL>Xw5CoS!a0)RJrJl6rhmDGdxKf((%lYBVax&AC+>$Vh zoG$TX1%`6C7L0)xd0j^)KtSagJ>e1xmnWzsP-To*3c+d(26ORAL*7q&ZyCDa!yQP-$ElrpDJweT(#&FR!kZnzhc z@1?Fg1Hy*m)JtU3#`ZHwV$XoPuS`q8T)01!(G#+81Ss|x&8Smb-pcYk$`c#pf_ zoiorJ`B4ca`*?Ftee7P*@a?=*p^m1>xN{8aMc%`RGW8KS>UMrVGtQ^Ps>@o^-d2~U z-Ol7adBmS}d*4t6 z@W2`Hw=LI@YV6TW4qWa2HD>%7jw8B7YvBm3zs-00kJ=%>{GJk%W`Ara7?k&9D#kG$ zI*S2p%N!MKTj^}|i@o*XHE2%c{|I37s5^mY|rsOU`$B*6qLf`u;ciKmM=uqx`SlH5c69<{SRY zd-%~nXvNlJFHr#Odca<69V{zWe6|RC)_*gI@^%NE_#Q*f$m`6IW|my|<8JwJ-1FP+ zMsJ64b5x+yecZydpMQ#bR*bFYxQA`tp8b7%_bU7nyBzJv(~_LKe~It@7BkLTE#6+j>Y$ESYZ0tLUvlQDJq|rU=sKH|i;) zOer=G)m!XWp6rR_%*Bu1kJEA}WBmRLCZ}GKlmx`7SCQS8Uma3MgMuy*8$n}jIm(-N z7G;hjZ#5LKo=!cQXKPl=@E9?G0*KWL%okgZ_1NFtMGvEmcFR$~*5$CquQPnZCuXzuB>&Yc`)jA@Bmhq!ok23>N4YPRR_`r&I3 z;O>}q%}!%}iA9f9tV0sQtiO&F#ME$k zM!YZ&=Viy~DaiR+d9$>lFRsFB-I<`RdB?~xZ z$||z0@~EIKk$DgWwR%kH7&m{AnyWJ^pJ(jkm+;`R-H=871+7_KTiz~UJ>!bE)t$Xs z8S|B2M*B2nH*_~=d<*Qf-l=A!ig$||7HRz33kXmcAr@Y6|7ah~56mMr<6XW+^NU%Y z9{IeEzl<+nI<#=>@SQob*>}{1@128nCKdL3dlbk<4B($C$+Agb<_I%aej=5HrPy|1 ztFVKXO?fYST(kZ%7AsVM?yi@+?eqg3{30VHvuF?Enb&rNhm)-udNYrwPwtMxPkEKk z?ZcL*#V2?z?1Nx{rJ>^Kjo#;5dl8SVCT{%9r9RrX9hB(1i{iUXK&Et zKD&1OSv)=dOze}97D*abf`$LRF-GQQz@o%$kt)8&AZ_Hy)Lu=TqVn-Wzk3$jC6zGC zKRm1cH~jbiGwu9+-n#!icWHlh{vH4ZqBAQa2pI4HoPSL{jv!>+XRX!>=}vGZ-I^5+r`q zKL}d@OLFD7b^yRT$CgFR2WmF%gfOu7>3_7J@qg%!_;T|+;4IE|E{h4&+n%rhhZjxG5_@YuXoV@?9Ajp|&JmufE|5$RzSbkUx&|h^Ey{rnLtICxAyXbOT72phM?AUwl)U zbmvpscV7IQ#5oKW*10h1xUcO?ei0^{4xK!;$H0BL0;#xmB{}0M&%bg{QnQy@hn~aW zv32(DAU?X34o+ufp{YFU6LlmjN2tOB$EuJokohaMBP~>azn0V`R1U^VSSE|>+wSm8WUYIzHna8 z_OzVdtitP;kIR+2i?`(-&7UFl%#1_uo70`9t7#b5l_WV^&gm{h1!m zvDm_GueN_(jQ2n3bC;8L^?c}e=RJ3U_%#)bRU0e&h4xFQ?Fw_TwiJ~5{p&l8rTY(A zsHa2kPoj@L>^+b1@+f%B7>jpKT#u@UyS&co`y79O@No;BK}Q=uL@<`D{lX*STwZE* z%$D$)yV9*N{y2_>U6$s#D8KN=fLS{}Jb35&kYC+Y4N4k25ASPwTVGc~*$)o|hE5iE zVpDJx)vnU^3PYTi@Zk7jhiQ6IJ$eaSmq>?mf2AJUQ**q*QPz!C)(?2{C;e)d$ZEt> znpt!hNVBs|XUnged(u>>_s#B9F57f?A*V4}lS6KM2Yv`}*GKXZJq?FRpTnLBS&@kk z4LVZNp4k`t5T7HgZJ*RTlcvTv`G z;zTwdxG=Ca*PR=e0KQkq=Si_=wF-u|t#fHK zXfYV%d^*A_*QZN-yLTJ6Qn|mR$f~Z>{DXpJ1dXk+tD1mXcjgISE zNj+`69`)UN$Y`y0rKbihL@mmF6ec1oc!rM7>j4|r>&Y;Wr+^L;^>!9W9)v5n+6{_4J#TLLtw^Zj2$p;L=nz*aG5t5=SwF9{>?+-U{?wpEZ&xtTl z_LDaV-f!dOgDF(n%P1xCaX*LZ6wSi4z6(NxsVeM|X+VBmvjbNXOkI*^0b3>^o|FKc zM!+^n##4lJ&jpQ)qHv&~lwd>qjHzQEd@zJ+hiP5xRF}L3F$$^UPLUDOJnOm`N6;EW>XhN#t4%VJ*7SpNS&KN19~d;Y=N)_oUN0A*A{@X5&R z)qyNMw4PsvGk2I~?byudW2dqFjxKtS_b?CwK+SS%rz^F}!%ZHzfvPB7^$TNcI{uX3 z=1^MtlpR=hc?1wcFNVoLvI6Z^#?OyOoV#JwwGhI~b$q-Ax|ahTBtN22u%C>Y={qkL z{4y^kN+Zc^2ZzpS^p`yZ@5c$RdvKMMhGT25r|z%VOcQVE1d;-f6qtZ50rQbS1weUK z2yO7$xeVhI&jX90nDbZtb{!#r(bQJEVCh$`6`c{P-pVGn1B}Sc!6`Mt^SE9d+DMe3 zjqehv#M*e_1A7jmXSd}K{Uz7_f9-DI=Xo~&&)SK>xA72PA%p+aZaw$UhTi{{FJODG zE|Zs=j$qh{m>0;TYsRvNTY*)|;}=1vu)Xo$5l_6vE(p~cyz(JV$0 zf9!_^(?Rgp`uE?n9CaXCuI0Egg1{;0q8k%$g)X>v>gA?_Y397zD{F#_;$M7fKu9C@ z@s(RiOL<}CcE9tJl0Zc8Xicd)h6ao^R{5$OVij>2U*def0>|-5V$BS?h!i8#<06E{ zB&*}p#Kb}}C;@aAtE|9Z^O6$umAL0LmpQapj!%N%j84M30hG~jPsnlXA?1%F#}KJb zM2COzog&KaWOC&8-LGQ>)er**5rOf-nD|&T%zNe6!Xu81NQhr9Si=g05^EHO<_SP^ zcZm5HnL5Dzq7a&8?57ZVXnT+1xqelM3Y8}Ob6X~)Yy+x9!i`rzvUZ9}3~~}87-^X( z(~;F#B2BomLKbv8p$C_KA&8ZvQV<~+15Gw_jx-`NpBNrhi&N5fzWPW zK4xIQ@}o0;bCL4~ZU$Nm6pD$NnR|9X{YO4_n_t@zQeX3@+>g>bpMsqGhEw^aW<6ky zMq=0=AzuT!>V{q0Zan`Il0C}T6YJ1I0`?>F#)EV~HOMQu4QYN2vDI63kVAnzJV1NmX+}O9!wIZbu)R{5fslVN7$#fY>2$J9;Z1+1Wrp>x#;;`#mRIY zX6Cf#cQQO*em@k>eoqxQcR%AVHhTd9Ks@)DdjyiRlSL3vf5kZ0Mr)R)L1~CG}Z8yXet-yjm@?qr43%c)4&r?ZLtDrQqFF7@MXt zIPUFFvQxRech_=yU%z}pU{R_u@0y^*`>6CWiRmDa!O%%<2k|@(Ea7GJZ6+=gcaRsa zHr}IjJA$yrbV&8d-zU2>w`U?PKT8V#Vc(7i6Zw3H|BtdRNz=SPoZIvs6U+Fm6+EnVJ?5>I}Uh*DImJQaqD$zc#dGzXPrE<=u{=)bd!{hwOp@+c&$xXdc+ckezG8{NA3^F8NoDhW5Oi=HZk8zZ+~QkK&TOX+^y%9~$PnI#S1U&7K{#*)ad0PoY+t{&w!d z4>pip`}l1t$~F~3nvX|3mD*Fj8Rc7FDcybM^VrYPU90RSXx=_h{mrH>-BFoDtFos_ zu1;i;UWhKeO5A6c2Iu?*2oN;k`zs&`SL#JCLilhJSV_Vs*E1WmE zG=q75$kjN}#U&lghnF0F#v8KIeFP>f!@F+{8C&_oYWLyc!;n}21dA1W^}g)2I-3(L zjPHRS&IP616(G{aRzAcensBN6nW2ImlA)#|rnO-pVj_Z*cLQTWDhne;+@x<+)%O=MzFdaad{Ru2MTzO7CSc;jSe|KVy)@O@yrn zTUq#F7bd7-f0x(VT*p3YgCLA|h%E;!k%-M%B#Y13^>9Zg^Y&$x`eh&4) zo&G>8jEVHE@Y$Jajl<5$7oN(qZrXgj6%4vIOrJzXCkg4db9K>F=iH7{JkNan2krmM zTDYS_OrX7xl_xJgHtOBw`;WB-03t2C^`(>YX za`gxLe4bQvzB#|+Er(HugO5gk5O2Yj-&T9jSRzRA)n&is3pmq^aInAKnXUURFSE1F z=~@Kob<5HG2c91uU@$!9A_?cPN1`{^>*XUw{dGR4_F_{gL=NNHaah2LI zi!4Tk(@n1C033$sMiBabyy=CJ$^AI=glx;EHd!%Cf7;2Dv)9PHVBE&sL8QWi-Ide5 zA3DL-%k`uWLl;9!77cY>ZcaA^qllIJ0`z_Rc+f6I+4oV3x^-^_Wy%ib<c zu-6FLt1LQJ;sn+)8qJ-3;AaGDdQN~SeNf~fFaTZVxXZV-gYCtInD7@?FH+IQHm9Yo zx_q`$U5k6&D0f<%ij$F;>UcriQ@HXanHuLzpSW~1&SyC%#&dih$GAM(Z!dLZcQ`g4 z3Y3J;%ILW~1?GBQzu5XsCvGUf! z=tIkGRctzfJ!J8LxmQ+axOp3Wgkl!6UqE!ej1+N^ZfBIMpFE2D{M-)S9PoHXXuS+iEGH1%uY~2S{++ z{h00qAXk+eny*GYD0mx;2NX&&FwT^a<&{%V~JZ4=l~vggYJdj!6WSeN@3{o97eDaqG62RXi4$_6h&~ zM0)gy)4G~1Y&$|{EtvhXbk;;Zb}{G8!PF^ubShRv{lQvAEzsc6su!&o2#pgf?**Nh zIJ7%D(w?hIhwtJV6RRAp!eOAtc9A=$p$_B@x3|^$`)qpOMGQ6G9$2muM_n%()0Ag- zX^W`cokqD-EW;~>llrf;8)`!Di(@dYTb_YCZ32c$c;ar7gy6ikYa>vodvhf(2@_Pz z8}Ho?S`YRL{8vK-_3^}k6oOSGxlG~MX{chclY3S={U>nS%wz1(gNBCUq^}P+d&#Ih zvh=}e3KdpVz4?cb-UR*Q0`BB>W_f~J$bjay`aOl6?=&pC>$M67f%S&l91eBp$k14- z)2Kx~8!(;1mHk#1PCjf!>6;?BWM{E;S9e(4L8;Tc?F{{qVyUyJAjQhz!Ul;}_ICIt zr$(7d$@#?(Jdmo< zk6lS$z@@=+_e^)lz4)2*V`s-6nbK1G9$vY!VBX1D;#wb@*uh%vDeH0BL2k_p>3Vkl z;8)%uuDDQM`W(ET48;o%cIkDH*yD3ldTR~DCHRWth=B6J!17HlYD4Da4TUAozEnqP zoC%<098EhDP3=RCqu{;CX89H$vaR8UTY69WWh~K!1a#}?9*Tp=@C_=G?sf-nJ4rUq zHiFlT&jsaeuc1xF%yJTP{{9)P$C{NvToCRF_R6zWnm7CHJPym)hC{&}$;zv0iui7` z6Tcpm&`7Sk&bYbi^bSaS_0)8~#lz%;Dc&PJ)S@>-m{*gD6m{Bv(>s?VKNN%CO(CPG zO(QyW@!hvS;mdYQDnmIf*(b%Bbp9&WF_bgm$nw9BXDs8r!6euQ!Aeo2p2-;GJ)dBgATD zN^!Y*dc=O_$sX3_%KiO4Hp$T0$IBZt`+H1MP+2cVV6J%)olIMf&{v(*xbZl3ZH^JP zRNeD$ZFUBcj81e2wYAE}$FaX7P6WPg+`u?_w8!C}!*Y`K(|(_v_s?c$olEbd8W%As z_YafucU+Gi?CG=B#4A(6djb#~boomv}obNGzZ3|mX`Yq<~y0qV7 z{+^^jMg@7gkH;Lyx{NK4Ddp=$~YMIZ*@tpAEo_l^b-sq=NU)OZ}nb(r9s*P z9;s%InnPx7v3eNeMrBpM8ryr`HP_l=>c||zGPT(p@A?N`yv0l1yuZ~{6=9^4(%m^= zK(*CW{Wf;IEKl>of2L)wM-R-^8%(R(-6O6=x%nKW4y(lroP)2pybm{&J|_Ch`4*QK zMKSU!vS-w?x_#wWD}tZQe~XuVev6mQHJ`P+nshbCfA-7H zx|g@hDY<^Go!_|?#}~p;xLbP~TnggSy0P}Ia@O`AE?`WOvCiObNzvZ7f;gMv%F+~29<{Dejh!a zfl{oG3btyU#op(fzb__+@bw?ZP%ZYIE}E8G%5;625Yw!G3NuQM^UHWXD9K-*h%sm8 zbgA1$IHt>OXP>N?pIov%-4Dd0WNS6A;){RGX3f(RzNY!lY1)zZ{KlN)>+w4HYPfZK z@U8_;1M;8aiRq(s7F;tCnB2P21l;d(1lrOqw9?_T=A5Xs-x49w9h_hWn zPKHEw#%YhNtLu#y^I!NRdUEUKWvh`SGuN=m2#M0kOn{BvXVY|^l4ulfya>%# zVv%%q^NkOh1DdA8bUr+DAF*B7>EFg+ziQRA%@SN=#f< zuk)9Q|LjD}M|<&cvPG*BosBo{AKzv7bjv>v;+r%_wK%x*&P}pYbI zM!M8#C49#D=>=yVYgn}Lw=dVva$iXQ=QMO?h5IxKar1mtVq3UOOcuDO+<=-5?D1M{ zf_hksf}z@EuF4XwgnjMIARe<%xoqS1cGW1+vcw5`4AP3V0OU{+(q6T0X6CiLF6 zw^X9S6h*_BBEd86xUUA!SR)HV8<8q*6VDESzub(yNV_wy9(#2>z7i~={N7$VVX`eX z*jL1~NKQI^UXC^OhtxA)f`Fz5?>m0i?Y-y0m()bqx27`LT1f9{0zw``43WCL@rJih z&xObQ;o<(;lmlX;UYxOK)lsNO>!umfCn39Ot&~IP>Bm`7J2yV8W65+?@AKuJMzI+= zxVujjDdT<5CD%zedJtp7D4CBbmn4fh@_kWEov;*9$V+ld`AsFujNDPYkR-p= zf-{ofoBz$%MaFYKY(6Q)U(qI(M?hp}ZbU-LImsem8%X+0T}qWvM~iaHdJQeeO!?aJ zMoAZIe~{_)*ll~|k=N3h1>HwhLd6IJ{51vB!IswN}UFmUe=`bnf9z9|FuD zu%t^42tnP+N4`#Nr+GE%g zy|7kEPpTok6Z$q)N9z8LA4`>P4-XKmKBoT*t z46sV52UlD7!&#j7geuK1YWo9KiNSx4^vgL3)ZDoZ1hx>*0FH2}hyr}DS|m;Wg%|h! z3L~u_PMvZlg7H39mlqvih7hWD1P77?tcB zPkLkyBtflr*FJFOP=rECG8&2h!;adhdM#d2kI}}XD?)YVuLpGa&}$`sNa3X$k-J-Y zA&s$M-YF$GPm<>4sr=R7YID2kx?6bp%>hs!bq?HUf`t5w1;M?-<3=?M^uwJc3V+zo zghy+Jzz~;?yWQDVkmOg#9^EwZR5_^a!<`~MdXLwUSKU}Y*ph>dZU>>tBNGUV-|_|A5@Xg%_GnlxmTj?om|4(XzU1?&Q;NKo z^0W08gl{|rdlrnnpex``6AZ;q6cHR=qk?rco`P_1*vyYl3*lkmPVp2}@VM*yxy`RD zGo^=t?|!#G9ULF;N$xBNQzcWP${xGTCu>@K>Gcfv_O?MFaM8g+`N45At{%BgZajKT z^9qwJUW17+KAwJ3lTWBm_pb1jX-zQz2(K^o8%`04cj-#9d7JQlS3CONxbE}Z#UyQ9 z;&6}ZOf}A2vfNx44}YSiEWYx-kl!7rCVQFyufSDaABQZBx z1zNDq{AWP@%9JC+lSA)tiZSj$K9;hS`0&-jmv>$6T{*Sf!HLTpe%f6nB}{~d5+&yl zt9$vvUx^8WQzoJt#GXHQ4s>yc6>0n=HaBq(QK3s#?tj7P)H+xsSd z|9U71CkblcEV8Iahb1|Vorv3Vk_Pq+XBf$c15QK}^92)uo1r>_+9rPK|F7SVuVef< zXEEU9R^0kGewhn1LY`NL_T9M}IAyRiFqWMYa5L7NBX|HJ>j}(QXiK7r_(YtZ?i8In zupsU$ParH|Ie^iKuK|jvs}|Idw6`$?iLQt24r_L7sKAisk^vn84jIf`4-rv@h&Bm8 zz_d)Gxi0Z^APqQYvuPp+7+nU&5juM42Q8ccr&E#^^f2j&)g&k);)y%nPosp9bX~Q% zSITtA-4lXJO|6HTP9E=p+v(JKu*aVA#FT?w=EX`)tW-?wHLGQXo@Ll%7ZDK1 zIs(WnLVm}KknTg1h|`ortg}VA7vEIS#RfEhvzr3>E}e^Uob@m=a^lWcZ!BI5HC1rb&V4%7!cX8s?jp)f@vSBXAjRzo{JY{_uT~DbNdbMN1wRCx9 zS^f z`MlQb^Dk;#s%*^9gDnmI1oreY#PJ3 zraO^flWR_1V@!mRR_&GlL zv%lD#n7g0(I^ySaO3QzoV?&0ZJq>u(qC|NDv;?P8Ku^FHYx?xqD=q#pM`5Iz`rp-T z{9OJfw>cVCCf|X-i?RA=?Lgz#9O=ameC?uY0g&*p&6W^=4-l1HJNWpL$s}z{`Is7+ z_oEyr|6I2Jz8x{(ha3co7=j_TpDxLpur!-&vERGAk6{nSa6cmBGe^kh47q&jOnHsL zwMuuB^b*3B<1^td&L4jZRjpO|WPciUI|6k-)30ZX(u3WRl^cJSZal_@o2|Lwl+XO5 zNhc0Q7Gli<`+jckbN5bq?e+R9maA7kgKuXeGr^T3lE9#-y$R2Fbq2{I|Zjvk0 zx6*MQjB~shR^ZHqvSeuzf8x)rx2zVK#Nz=DRnLLwLoZLy4^`C=-J*@SL!HNu%nVd) zd*!>KiUPUGudb$KOp?{6hw%Ee85xYOrnbxT6?nsOR*RApQXgg2vU6{4oMNVF^Yy`o zpxaa2V4H1H_|96oIhS!}SOzA$Hn-kKj71cyu6xH_nQ6XpFCNy%@3(puS4Ok9`V{%I zXz?07md3QA#p~@vA8_N#!({!u=L4r$_{&l2i?b|m&*&)KJyPZIe&=+1nteP_tzGYV zD3wdruFtvydzW$^?3?W3&kyE)W4&TsZDX5L&BZ3mXCehDN&a-E*r3;r8a2t9{N(x= zwMVh?ht!LdMz&}6a?k4t+jrX>U?&w8bG>Wbx~EskTx(0w@scH>pc#1M);VoArrI1Z zS9`#7g-rhB48TLyXIan5v=*L5RTLyxzWMvSR(#^Kyrq;2(Z`EpIX(SeY}*oNuC;T8 zeDw9C5X`~`wG&s|>L z#Z~<=4wp5-UB%zd7qDGIv9E-G^ejeOQ<+T6Q6#j~HHG<)`r~`P&eQt0wT1uLK5H=K zD%58AIQ`e!S%3BAy!<##RYoqvat&NIv1;XQXo(&r;-`p0((L zhv%#QSN#UPIG0-tuKJb%dZ96C8FW?Gk}1~8{HwSo)NQ`qz%hSbTjQZoef_iA8sFM6 ztnqtojpn~kZtmN8OVLgk9yw{$vFjee^y+w z{N>Dyo&rg5w?EaADGeBhM;rK-5|*6!>G%XQKUP##MoOgLV>v4>L% z!2=O0onVPkT1&^k|DY$@T;DZN08z)L-R?FzDi6@mIF}V6nTy{ z2hr*R4m8LCfLU3fBplsakY=@apZ;vTU-JBUXb#XrX|Ysg>*n3?yu|6k&dkH@9o#!GK+ZSb+8f2h(t7;-bw>#n%PQzXdAZ2pA zIX>RpaRhVPuLg?_+a0g*9`G*5EyL~LQc*Oke4@OL;vO-MaR`OR=m!~*CNo}$V>XBw zAr29UI3f_(Q3_bAmHT%i4^=CQOr4h+Q`nYw2Jyo&;I4`vv^DO|Q4m=x?d*>urx#oi zAF}D7e+a(K_O?crI^_D{hV3ZcRHUwCr9!Ht;?msT{Kv;MnC?Q$eTL*nAFbrRgCRGm z(*Cmhm5u;90JW=ZX?!%9N<(E*usE&rPMfmfH1=dn-uJubjg)&a^+PiCa1SR-Vde^Ekqczd zksKE@A@X6dGj4N7@w8>_8TE7{t{%ZRRJ|xd9in);2gFOWZQUnOM*_-v>E>2bu}H=( z|M+KO9mDBPw$bWa-A57{rj|&u?!dMT5cjPnW7vD%&L>>_lPx@_hq=$nCNnHJEoBiC z=#bTvdQLj6S{TlPs2gLyI6mCdi??dqT&Lgi1%xEG106q3d~W0@~X0_il_69$nc^f&^Tmk(v`jxsFQgDSrBF55byWXU?_XgZ->l z;(a)%n;%I2hTqq&W4Vtc$duTVmGFon53sofi(TVjy~rkZvt%qMco-)D)2DHJNfiXI19o1-8aB6umVRBhvvel2tiN|M+QLv{0EHIyfggzDopMAs1 z!faghm;<(=F?{~ZcXF)~144;w=+Wiy4MUbi^58j=;A4NSwVtaZyv>3xCw!gMgW)g( zO^sX5Q4ntEb4vs7bC_X|8=8rPmbHkvWc7Zx^71EsgxIp`>|ou#I~m2LLVZcga_|Tu zre`K(728;2(1Y0=$^_%=nqYPr5jQ)+d@lde#J7 zwQ0oC0z5knsrm8t=OC{lNWhQIhHTS zT@QdSduz=b8nWf~7LFc-pd3J|$85akLMJ)jX992W>!Sx_zyrw^cgV{r;u#Lh8Uqn@5`vfMB(pn2#z+=&v*h~+xR;|1k5Hk^qL!nS86rtD<-pZ{$`+6B5X1HuM zu@=Ca4@Dsg#AXN>QpitUyWSlWNxXQ~MNB+qjpgN6{fXZ>(i~}?wDWYjZG@1&luOuh zi$#pNF?KU296xfk-0QnQvmFhb0Dx0Mxqm>vou__pW{2QUeUcyg3Ys<3Uzpp2&$v zz)DJ@HDC`cQ=Oqc?k)Brw6mb?-n|=~C&!$1(P`?(C}@ging^pUdv0P2<}y5Ql7w~5 zIo?W3_?U(54jj*h^{n(GvA4`x!r*i!-;9tfo^SkaN7+_r-zsW)&R?9O z7P*`=J6X7nej;y)sgGrez9r7XN27kpncMMVq$yipDtDX0O{aMHi~Cto%Vs~H&V>Z9 zd>wWV?f5dR_-d@aG<+W6d2HUrc@#}ac5)xTUPM=-9zsrcUjs!!i#OnvejeY&rM4@Y zeC$FQ*HB`aK1?Q9UctR@PX|~W4N3R?rm6y%P`+}()(!?CSAV) z_amPCLOVwAi+Fh*{)`^q;ZH7e@Uqyq^8Fn<>qvjxnUp`RS^MYrh2jFScr2d>TZ|+0 z${50J_a0PeMURu#K8PiKoaIM`4lT)Lt`qye_G#WV+STug5gkQuIm{#m;ddlA85xBz zU!n4S9$J?Z{pW>8{q+^e3fKk>skAjW{n}@U#X{>cqF>njP+VTkRsmDgkXmiRVYvs2 z+wU(-Nhynu+3WD|`%kwIXr8Wj=!y)Hr;T zr0xFd=ht}8_tZbo^SXGKgE-Ktt#aH=Wj+QaLW(CkWlEdW<)#mR+pm6pjrXfkrVF-b zI5BK8ix=syX#WkZL<9j8mix(pIYic&bBA(tG{bQ0-s`KU_N=k?zT0bKojC!U^dzqv zvoIV^wbxi^p5EhD>q2J(ts$ zh;*$G0D>Q|`bH((a5`hA+sx1y^eJ^hxSWLjxzQS4IeArJ%Z;Bz`4Scf=rH|zdO27k zbtP?;pmmgi5im#do|ioD7q@f=xm@a0%d4J|;+nBrv2E`2(>dDWsLTyrEb|(Z z@thzBd2XYE^8^pR9hEIsa3Ktz2Qp*<*PUF_ z0YUHO6E!3$t2r?lkYR4IMc{fW2ZQHV&$iq&18;Bfgms*=zBx5+1&u|U8R+qQ@0(|X zhpeLM`T?*nzKJ7n$_vlD(f(X}-Vtda218EympT7Ri(J z!q)u7UGJXEBER?6W=b`uW7o-kfMn=MCH+d0Mihkaz`N)v)JbvX{jN8ciSucX0-&fWXOA@dwH&%Z7 z&RPAJ;PBRGPvP*pJ%tM%HgHo6wPbS1^ZT_NKkt$MvDDA_ z?JfLS8z(Un$Z^3BYV7>_oxWmaHa0q~p78ac`2 zQu%BA_$xl?zd=|18cy(~PS5T8b$WiXSAXM?HV`saC;3xc-+^P=ba}adwSeFmgD`P=mEIStAp%!{;pq&)A{s=QQxgq^B;oaj%!~&(OQMV zcVyRr4yhm3x}_GYDDUE@Yy;N6CLdp`&s*SmVLVFMe!2nYvscRi4Z&d_n0NW`^%r^b zC;QFnQOv_Tvi3-Egr4RqO%Q+RBZA9zV0b9%=Mu6amIRn*AaSN!B=TZEcrn|EsUyq0 z_Bc}ZS^T>8*5yPFKd8O+>;A(3bAHF)pT7sQwmAY;9$%;gY=+*}hf;%(z^dOVhPj`m ze~5kk_TCJwYt*r~$CZIVgn$JWd~*XGaN1L^i}bJf!~e_UxB6tor#3|OUz4L4 zj8iU6@ujyX`TgFWYNRYb>Fvpr&C*a`dV7*`u#i3VP2ZEB!TDjVK!XiK8nHR0I|C$H zkj2{&R_fMTN|Jm<+(Mp?h++c4i+H?J=hW6S(?D*K5GoLk60h~$u{ErmrT=Sy(?eb1?{ zbVy?Pab1n9%Yr|tt06*m=1B_*pkajyF5Yt(vu+d1w)&{UmneTv_Zb$pN>cghcD0QTOd=nOdh{T=s1 zhYYVHUlVNPcwg@KL{5EG4(+UDghh}Cchrc5{_(8C|Be@NGB9;`8WYUUDfhy*+lwu- zuBS3z-!;CWfAsW>?wA$tZ`S3TXA4$ISDz^HJPSo=a@`%J%LeP?^HNu*==z2&)MsXK z_*=9-tGUdt=Zt>@Lw`M%FE3dgw|pb>!&=ur^oBgfY(^sLowGFZy)Ge(4CToC%xj@R z(@*k{@SHvj1RR*evtJfhdh6fy!DZuZ1_$AB8ZB0XmNx5`+kB-m%WaZH8o5_T)|uzI z@_QgS*Y(=kIzQ2)mJ1+uc#d_#{A{MO3C3ev^Rb$Qmub| z^9Y}k2YvJZ2l(5BAqTT>_2@9fNt`-8)vnb@p4)t^crhc_HQfc)BD+k?1Q{R z{f4>CX1PY_>+Bd;Mt7oWN{o*tF`bKc@pzW9PXp!mE?wuQ0(>Am+rpwvg{}{l7{5E+ za0z2?336bdfJA~^T8&0igQ#khtPYoPSOQfkCCPXWh1#W0eUX*H3n{YDLRV414#N|; z9_;9XEIUyF4Co5rkD-N)UA#eNy4Cq^ z%su}(Ma2SwgF*!x)OzC^?OI{)slof zn=(Q&DS%b)9QpQxmrP8+lc~uSrjF;YBJm!APg)zLKwZps-oQi6icHPQOyu9_14<0T zm^IE%DCJ(~45s79)EC;=N3cb}ndl=Aa_Z97?xKY)_nJ&fow-e4N*C8BhEBhjwjDn z+525^229^Imv9tmReTT&vz@#}C-Dz4PDkzvgiRE@w$v1l`WalSl_!D+1YRdN;#Bn1 z!K9I)m2ZPOmPEQIugO4p^YbsS4Ujf3vf=y>%j9;dB|PMG@XRz z`m3sy6eZ0qF_Z-y%KV zMVcOnJ|Ojyrb- zo-H4Nv9aG@VxZ%I?^ysYuXEscZg;z@aEt5E` z5`m}0|06a#4&ZQ&xdUQ7-o^SiJZ|Po#Wo+|;J=GIRva`5#9bdx%Elx;E4^=O*tH&C zmnipocEYML^7CqqV;Y6EF4y~aG4T;klu4@gfk0k6AMI||t9B#e5FLvzHP^nxsF&W| zw$z!~q-QH}meJdA86V|tRqT4T+R!j9(tK?~CnJFJE5v6>Eq8VYy* zzEIuSC}({k!nPkFl1#C_q+n+Xr?q|^`Cl1(4|oKq0nl(RQt@VrkBmhQXXfK}_xP&z z+kbEUJGm6fV+(njXZbmZ^$vn!5^IBFg@ePzs4KM?v0LyTy$%0znN@> zXLR^Fr$KU1cem#3cqmECsCLF_%RU$9NqgAP z4$bIvUg=X^_D=47@*;{8F?`?WN=plHImAIMvJBZ*p0rnsTDiEF`0moL#x37HUr~62 zG4hwXnP0)|$Vc{%dWqNuT6sziWO9nd3p`7P$1KFHhlFHLKk$oeAlO8;%A7!q`0bjX zI8$I#(iYE(G>3IZ2x?Dn033F#H`uRK{@ZAkTdJ16{1<)A!5Eb-UX@x({N&79w6mHghI|#E5Acq!Oj%$05Z-8*LrWnBL z`GzzZT4H|Q^XxnMEB@P`-$#F`9RZuFR56@={O`f}pId{1g3y7l$80JvU9fQlmx`+O zfsvTQ043}3^sXGoopk8XVf}hf;%lH0;rg?H^e^T4zKZgQ|o**Lb>ani)ddpDCLX-o`|-}}(E zOYx=B=DdiSzzgsySF)1d&*+K`<&!>enoL9M$qmF2!S1ku(@j!k{kQox*;lAVwo&(-0HtlXZ1UEMKEm8E@VRw&POc@WUo&0f5F%O3-v61 zDL(1%g>!*9gei0G;n~>8UTKg0v_)7KVuB$xnPrnqK_Q6^!N=M4I-i2h-7g-SE;n6V znA>I!1+y43seG#gk9Fl2?IUDtG#F4S^**uD=_nagvkP=#WVsz28i7jSkwFQE5No4a zXT_>xA)Tww$`H8YtKZYQ+8nR#o*F!+1b!gv)2lP!!5WWqQ+5I5&dHQOp4gtB}YpJx7I+V7d!3M$Me3 z#XA&0*^ zj3NE@f2sD&uhuR4HTm=FaKsOMI3!>H4Y?t5pK^@BV7}Ws@F($0N4hJJ*|W@Vy#qh| z?Jk-!V#j9Lc3>P)*jV$fL1I8QNI2asB5Ki-KFj^y)V#j+T0sQ*AjWjY?+cL_;twhiybon*DWz31)LOwHWmWgQt z?U_$6{LR*dey#ThUnhJxN!Ug~eh3MnXKsnOzZ^tJTdp>UmX^qBcQJ;U=S_Xy(k7a0B{he$UAVq~GM=%cU>?82icNjXiJjbnnAnQKDrA$t3f;QXD1B zW?0=WjdB=Vy)cYx@*0NC>Q9J&$)5m8&r=ZNzs2N)B??Wp^s18j7kvynj|Pb)Kp->J_8M`V zZ>@9*9;`HD4f$as<6+HOe@O}+-a$#<2T;rOy=H}q2RjMmX-iAI9Y9Yl__;MpI`S&f zZW4yLn+45w%|vmbS&Ymha?+^lgr!;}!aVT1C_T52f7S~SDbg2rtk~)~Jqk1@KY!Tbg~RZ`OX)ugF=hF z79U?J0=v&k8st)vEzs`QJaNbfR;S;q_5{S`g~vk5LM0sQCLA<$ zE8v?PU9Jt=S_1|-45zmz>M4Nlc)c$tN>d!LylnF1N1h{J4#xFIwDHZi*6!=PwyN>TbeH+StL*x3g|;P;5}!d86_#j z#iCPUxlGYZR-QVYauOI%86{$23;SsyJ4D2zN~Jmv1<=PH%?~^h?rUvUs>71rO6Zvf zkRMV=0@(Md4S)u8X9`^T(Az%rVEw1 zA|%}?Ld*0Pdnmdzhv;lEy9h{0BP2;nL=lZC0GTO532bSe8qh-rYzJM%X}qo06##$zp1l%XMA5= zOMk^R<(M~qF)$$g*qn*QjnptN?NUv)Z?7;fXjmL_+V(+J&;C_gwr11Gf>O*@XK`^@ z9JkcM@J?I%5jO0m&=P|#?05If!_R`SNeyE;Uv;mn$|y(?v7(gcwkb^HL^a3s6uMP1 z`MTSMr>8HS#Zx`J-d)I6X^vkAZggzOcb|F!X$jPN!`}dT*Y-{}vmbMFPQoH>h|Ro& zh>T=8xHfg*lccA`zVaws%f6ndL4t=vey+XBU%PtF#+#qi}G8~ZsYB*wQ7nZi}xm;6B>ZqaHEn+z1$Xobs- z7s(KmXD+gV0(>tvi^=Vxo8(z>>%8Z8l;@h=xmd?{v$ot2`n7IIT`!8r5AJd8ItIOL zT}5oW$DOmevqoB-y-TrV?LY9H&Vw;7=6g5VMVDXWdUnk#5x*EE4INKy3dc0SJo~)! zI(M`k{{~aVv~P<&TZK6&`1g ziogqS0R4+m^9=axtLFbxchBAPVyTOGqs&7 zE0>zvOd6r#+7yrXQfABZI7!Bw>8TP@`F7<+QlF^HBa|Dbb-REVv2GOY6)$DHj^Uhgj>l{3UUs2~ULU-8qbH-a&XO*@Ra&&ft6S)dBSV-Crb@*{g@zj! zoliaavF}}>+1_?kL31avQLxbR!ZyzwawMlT)CI$QA$vP>dUAWAUCvVL9=LH{v)voZ z80u5Fi0Hb#_uD(!=vJfBq$xg=T+dx+wrBf?(a@%Tw!$<^uxy* zX*p3U$Li=_eWK;O4_V@7?_xt(Hdn*=2JpF#g*fBpa&~I+6~|o}=!)D-Sg5UYHw7D8 zRGWGHT;_Y9UXq96N*AH!0*5OwOVN<^05cvp-AIe?7;F4Hrrb&r{C@G^#A(y{4ITZ>f^^+)LVudQlC)kBifnAzp*#d z+8gI7emmDgx>@P^vB0vsbv}A^or|J>8=7^r^LsfPvP$L%z1|-GQQub0o>dT z=Z$S7U38-T4Sv1lvU-^5hojC*Rb8H9&X5vY8#l=06?#JPIw&ra6Hdq>kgEhB)cUTBK{c-XNK3v zrSFt1=?XpRD6-hz6Y_TN*hh(kT!Rct>j_0r<>WN|5!EGq;=v<+UKZZTNw>U{2pA@n zJkx1_eQ;?9oA^)Vxc<+|l^s6(k)WJz|4trs^68HRDhBh9??Sg6gJ+6F!-T4eDi5B# z6kccY5EaNykLP)f-oNtz}6_O+WVpNqEN|C`vto7)uOY&_V z*#9&i-!I>j+aSJ=9NzBfe;f{Uq!XHIyu0GbD$O?xu)U8rEBoY`>#UNZO~Z{qMF=cg zyk=F46d(4tjhXU!?LUjA&(lBV8=aP%zePa*U!B+A7xz1cbNMfTbD=FL8WPh~h`Wrc z_qW9*eB=}heP28hNA!+qPxGimCzex%@{jr8-|QFjUL7EyN=+G3q5ju=Gk>90{(qOh z;uqkQ!om)tqriPJLV0&-qBURl-{Un{YdV`NBsOa{G!Geml$MAw3Zl$bvuahbU1?=F49U(6Sa0}BbT*!yujmzRzSRU^Fnb&AZR~YaASufx}RQrKBp1zeaU-51`y70)YLU*sipV_2fC{T?!6e_hcMW`;E*z*xkx}FM)ZI} zK?_!P5-3yxi^gZ4C`gQDZ-K-tXhXwJBqZ_5?_XYcPQ!TK#@3s!k0NOzXmGH}2lyCr zrtM{Do7VX51W(*sl8r6=F;R3uoqDiEz#ATDj~NN74H%e^9t1Ug!mSVu4=)B1oDi(c z2YVE9V8v5}&RW8G9^@>ZE6vZo9Q++{E+(HRSIa8Qfb;_|h@k*V|-1lN8-Ih~Z$p}#U~dZ)-+F_BK{8m2f_eC@>7 z0h>wgAh?_iAlN5pnBff+cb(M`gyux~NeQ!RvCj15{-G|=f3)YwzgENkFXY-+@N_zV zi9z}5@5Zat;lfI3&L6p3GVn&8ths}Kdv0;NfEmK9z9WOH0V$rY?agcdG;T$#zN9<< zC@ft~MGsqYod)P)vnXTi-FR#B^!gQ6#tQg3XhZsht7GNcw%qL(u7ZAZ13!zOd_+PBF}#d ze%V{EyYr#FKL<7S-7Omy*61f%>MQ5M!T_cZ02s1?zM|`(?tBuTACK@I+{n!=vQn_~ z@H;y{PoJ6FrF^X~#UyP1h_`C1{GHX*TAMM8oF91D&`l@*bJ#ri7H{?HIoIdKpX9{a ztu0bX13gB;(Pkqx{v7Y*w4ZdmRW{h(Jl5NspOyJF;CJxjOx}0AMBco?%ot662G_G7 z_o_S!`b_MN!lHO=XSlzk?GDdw^D*qVc=v5v=f-o|?Sw?GLREhH@N;pZ-FNZcK|MX$ zD(RaCV!k*gy86Q@Qpf!%ehO&w7B_@~mBu#PX3)?zMX$KMQiPROD{6J})CrG0H{Qn} z@*~*!A|6Cp2O$jWH3{-=GSWlxgwoS@Kgf>RWtaBcw7Xtn=Q@+kD{XG=GcYrrQcr1O zJ#I-F+S+~NI@kh!%DF8Q;$<6LJ-h~*pHKC}74dKl{B!tzaeG%bdf~g)DjaP?~uy92=a6PNqj@c&?QMEbNSZ1+{4+E#z8-iy{(R) zEX+jvgN|7^f5#7K_UYb(+P3a$hEr!EKbzLhAHw7$Qr1O7w9rFDtu8#bQztq^&g&}I zL1#6mYDYG7?s1X9urK|ZoXNMS1V{Jy$66fzfFQr{mB)hal9PYlw*gk$HlP)Iy`$e* z1EaF6NDVwbw?P-?HKdEEVFS{?2F|`MOic~f``(~Wub4(cvA=f(R?OVaC(hTo&I#~l z-$^?bbrVHy8@jsDh4YaNFQHNIk1+B?fn>G8e;+s3v8}6^rxPQsX{nyHBQ16)N!rpH zA`|QW7Gd{6NVb>y_M`&hV7tsTj#S;}$2_!Gzs|9=m-1#ixAfFpBj#Sd$u`8Vrg-tA|i{q z&o9$GI8^=D=c0MyON>I2r}AfhYq%=6FJ`v-shS-|^pTsKj#?JFSeUX<>ThYy?s~!P zkVC3=yoJWTJ{O9{uEfSu^2UB)g-gC=tZ8I z_48&I-Igmirjqd9ZBnYM9+c-);lPVa!>~Azbr2ZgN(uyooW!Jf9X1?RuZMUB7yKPk zvAL4-oYi0UtU*Wc+HRNdaEYaJR(}&0{}*+aOl(luvm!B|9=QjbWM@e@8B6fI2mAL^ zZ0<}e%=93)Ja39T&#$Fdv5r{wCtBnzAWEIUbN}r3nsBffh|EF+Uqf4opnWneB+%VJ zTjnCti;{>9jPF87+fDOZ57IlkRA4}F_+tGxInd&~to=%i(`PujHji2X7r_}qH^g?B???SqM+nGdIpFsuIJ70Mtg445_pb?Cah-TQiB5FhXX za&-SHhNH41K>!nr24>}LlI|b{gKg z;fpO|K}KOq(5{WQ*Scp+i_e8+G4}GQ|JLsRA9zRiABleMFnqVMps`4E86UJCK&S9bbOqw5}zl4-6GD~FFZGTAar}RoMkQ| zmClw3*DMX0j1+uCW!-DB(JeUXq7xH~G!_z9X1dZ$;#D!iS|0A`wj&HhO^wC}S$%W* zB6N?;$#h;+WTxAVpIk@wDUC~7fIXcV(uScBB`o|)rW;|AhUVgNRXxVY_v+zx#j2O% zQv%~UhG&z7)o6{j`m-rR6!Bq~os{7om*QY;^A-^x7*)l?gCFMf14eTE?i?m-JJ#)s zkfaGcO-pi*Rl~~P^j4%?CNd`*9NLOPNjt@{VD_qp=m!wWZRhSyCs_9hmm_|85SF!<7Myk&E3yGkA9UIynO$e_i~EOp zu(rn*4jF016XEf?;59W84X_9jmf~=S(#1IwLe&ZbHkvm+wN5Y6i)W;qs0zPaN_2l3 zcsI#dTkTkyUVGO+gEKb2>})sTBiT=$Q(L`;k2NCVt_Z^;He+rt>V@ryWzZF?chnDCuw*%p0f|*d828H z%m%v8D%V*s6z|dgHl`bf^5>X0KT&5EF3^JnKUPzF0bJY1^^fS2?-0hXrq#W zhvtV{GK-Uct;bJytjC|EIY_>?PrcQK@)n)FS0}Zu!Kdw}ueKW#+WOb_>HJ}zDz6zx z(n4TE;Qey3O_+b!gyu09J_l=$+1_FA`fjwOYk>Y?Z?STJ%gH3!ZmS}^)@jP=B>fJs zZMfVoIU~#OVw{}wHnSAzbD!ZY)4m+rBV2tF+Gw+OY;@<}*{(e{a?~xmHpmb>?W#W7 z@!jj|<-(ZQ`nWeO*LR1q6y1N;3pig-7iU0vhQ({DjM=`!?m|yv@gLV1JYN3VA_aIGu-Ci*=7Ys zd$rwvcPDbhXg@}P(I#Zmecv#eUOKJwHjk;Gc%OF`8R0PZNLh*Nqiz0aXF9;$-3zZC zlS}@>X!g%3(I|}Oos-#Qi!FuR_<|->wz-7SeCikDhSAIfPyd)Si_tuPWxxLicp#^o zozQ#rImBqz?+|a}gu`gQ@4SrJ@)90jhC^(EW&40GM$;LEryiJlbial-(e;#tyy5+~ zpJq+y<alHw|z<73bf%%&sQ~7#Z$W&?Q1L+`J3|I%7P}OsK zRX4ghy@8ux*_d&D8)%NnEwz=G`9STQ3oAx>I19ex(et&2?VxY7quUOO?1;jv9(aA; z3UfC%{G8^lhz|%h4{laaPcQaNHT_F;F;zfm4&<2z#};dFwn5N>4kzh84`IY@!8s}v zHXVHZo8JK+a~lglm&6B>gf;P@BS0JtacrHetPmX3g@TO_n4S41t@H1FL1Fd-f8l3t zu=6Xq!Let0jQbE8$$m#t}Gt!_Mu>;?&Z z2O1gH8xtyBc!Q+6L0hx{Y6~Q|3}DOo1H&&QEdxndh6j3yhAyb=fHrZ&s6eC7Fz-4W zmEPruMG~qzp4jmrG`58z?%;G~;M;q-wuc@NR5ThvVG6214-XXzqG5@lIpCk>6DGvt z(c{Sj6VH%PJm?6{f^v6r^lV>!SC$!1=z9@Vy=X)WpJ_BK%3=+QtBODzEfLiXDBeh< zpQI?dpoOs@Mm$lWr_jT(B93^_9$6F#ddikWw6PX!714$XH~4qRSg z!jZ#soImGidT`?2^rVS!aI|nCID@9&^#KaD2?DR@#b?Xk1!5U$0Rqk&W?Dr^5SGOf zBdZTBFay`y^r+QHLAbVb4EYyV=n(vUFg3F4mJF&zO?fzH3BAh z=wpuo)7wq%@OO4x{3||EzWb@qy8hz(9w96d(H=y_f<15wa9=)bQ_rT$kl3=z4|D9_ zkpQ_n1wE+*+o4=g9HoI{E{dx~OUGDgNU7;fpS*3)h3ap<)t+pAURyl)c};NSp`X_l z{{=XM)BL!$_}{VisNRt=K;Ey|{Nc}Re$5gF2oapNz=Ac(T{|Z)uNjMj3ge@}EB*?V zDKCWWk6hdb{9K-1F?oBs!|Q0x@qw?aeT#fIdDRZ>=wkB0Hxx7gZT92{k`tC|f0Pyf z_}v1Dx$NL;c;Tb3_ah)p3d|lO9cnavJX?%hwAr%a`rSCGAsc?&Gi0mqZu|3itG^45 z_p`Vy?U!mZcwg0K_~D-Wael1x8Q-8_Jsj^L9$1U6Qm56wX(9`!ku;;h4ff7B;}=VV_(XwKWv2bVd#XAa2Y39Dpp+a)L5gCu<18<{^4V4 zg_b!1IHlwD?Buhsn<--)q=~Jqs**yfXu6S!)lwTUp%Pip@V{xUz+852oDVQ&dfX79u1JmV?lZ#P`jQ8O+# zx;r7d1sF!T$$ z?yP~fDl>^pwT9%igo8kZ)(N5~7lLDa0=B4Mt%OMD{@&^t>_Vcp#I=eUe3WD4QbOV* zg*`**{5ZAjW8?{bNKkbt6BbUbwKcVo^R;q<^3VVs@7yf&7FmYf(e`#OCI3J6-fZnr99b8>AP&R~I<$=eo6$CAI%70o zz|7Ot|KiK4uB@u8uI$~t*4k@7|3NK^tb#Rc9IHbPp_f}gmi@uiP zAMX4VIwRmXWrE1v*W8RJR-jSZ)r=*sxB@D&G)BWPgU`~GD{H`DPRj-a^%wj0AANuB zMe$}Ngd3RH$;-gJ(3r#L)YBp|(q!mODi$62eYYRh{J;$CZ)%5xL+}%|L;geU41ZgL zr2Cn?sPb=XkaRy&gM|3InhGMqOJD`(31XT&sC@Y}BhtZ}FMRtoW_BBr!+s6mpJDVE z3lLnK9vNUCn8fF$`*K+s*7b?{W}Ci@-Du!v)IB+T00n)>OKo1x@6*&G{V@-D`-85I<1PrEZ1e7z{_ z81zFxFr2*s(ta7%@oXX|e^Q1v%4aCn9eENucFSRj>pF#ZGQTmcJ7Jql!(`)RC9=2s z2$WTbd&bl417o&^XH03T5ZVoc3Rei>>uZlYCkeea zZ+gXCb1)&{eFz?tMG~XfT07j^Y`|uUTT_N{bHkr%d(8&Ne6(oX$e_AuZ)CBz)?S0w zbsS|m;8Y>v4q$3veWBUKF2@)vIyX(sp3m%_zdjklL;jX}Y&~6p7RTlxc#OZ7JBjt5 zE_^a_#;PU=3J7yG9A^@EE0QgoNTfUEk!ChBb!qS0c(Q%{ZI4Ncwp8m%!RwR3c6);> z8(yWA*ySn=WFh(&PiF0^nA?5;F!)m{4RM{U&8jsS1U_=>JijMyEASpjL`%HX48~qT z8c?SBu2PniNdd9~2@*CCfW?hkdz~UcmxSkw+|rsZnX*q)A_NX*%7XP$lkpOn2qdoi z7qCts{-6zq958IEMl3yJaq0=)RIs>2Al;fJE?noJJ+5KA=v@JCS)9n9fG16BPm9JH zaLb;8$)gcxz?#FzW4roNZLWznD}t|yK9^-Op*Sj1ZtStb4iq@t7oy{8A2Y>*h z_-aG&kf@O~CT(7i)p({jA)OeiDiaNf{O({7!C&Niuxs5I;PT7di=AOkMR4b?zsd-U zEI{2jPAnj0L9Cn3NbEO_nk6cnQ?pU=F!fzbUZJ0q0`*?7apN%SaDGixH?g+UTeYqO z;Vr~B*^~L8>#|NwJe=Z>`~iSS-;Sm^e4W>Qe|Go%YvMRHo7%aUXygD)EzbvW@$^Ki z>L8?rFrCvaol!p%QozWbNJsG7x#qX?IV7@y7r;sM)rjgSK}^B)D_byJh=tRH#iq$n>}TTGiERf+8KzB@DTh$=hDMH&bxLCC1ANLPwHA!U z3Y?*EEakBo`Hme!9pF;r1|<6!x+7T%oLoPol-;IVVutA!L$INrZX~NRGk3v}utFW4 z(uj%LG~L9OeO)h*7#Da^_eEt>Q*+~}sioSA!?(%ifyU_+1&q3mHtgwQ8nV)#6eGaU z+^~hgvl{I;xLlAFPo*i(qK5(EmQqAY*eP1LNjIgp3}#!ipPf>zS;rGM?sk>u-YMH6 z4FF9mgP0!t2wTvejONGU(gI{a;%y8foEB45YT6jXH3l?QgUUpX1XPcPK*i&jy%)< zep{3MclS6gs{(4;q+r#uqB!C`u8kEXAv{*crgl^JO>RqHNdHo7yQjr5iH}1wELlS} zMFK@t;E!DfIIPhZI|x{rF%fDF8}IR>Tp~9%lK7B#+z;>Re9K9)e;*#8;92X@{RK? zhVPWpu{7ca3@ENyZTyu&c%tn;s(^41@;!dQo%{LQnsCHV)pEoCwkF(9wc~vLt}g6< z5hl3|=~RaH_OI(xlP)R1ob+S@>eADr`eH9+ssD?(v!+3k#>IXu-Owtgb{~`Bg_Q(f z(?@2G;~!sxR}C%_Q`Geyx2BDEIGW-WuHkYfPfR)q=?!%Jy740D?$Ie)Y$Eat-oKF4 zXKLTpqm9i7yr0t=S{AaGuJqW{N0yZ|buDo?)8ynU+8~`JxsEC-+&OzO+?S6H?<+i^ zgyw9RMxzc?Z&bFg+;k0`Xbr2!?>T~}Dtrv?^;&M&CU6!^{8E+ht)x$;4wQ&DEGTK=8>s2TH*o@x~^|P@F&AqvxPwcdDy7ybg zsUqPGweaJ2bHF!VeeK_gL-|umPAv#%f3nnuJ2FEOMD+_FFJ%&xdQHo6jrzc$;VFE1 zk;w2BIq8G?m9sb(w>O_4{D6K-K^|;lqPWx)0J^Tl>QS(@-m%GXVTfyteaBHOi#0yr z+DD${5i^uIzDFv)nXwW-+!S1?>oxt%B(n+gD3}fR3$OE6eNW>{esV=H z*Zc694>SSWa5;PJfiMUAk~wPIvU>3@`u z{V&Bu{)L$4PsLaM`u=G9Q};*xe|~@TpT{_Vxj#z$=>F)ReGNiNL4gd#S%x36o+oTT z?Gh~@`!qp5r)ze|H6H8)8-z@ViFx3qUC&*3wlCY2Z}VF| zKDwRD=7T(Ww`05y&o;;=F~}d)#MFGx_Ek$1!u{gwk<`m0Wu(WW{!fqL9?or2O&ysp%a-}ndS z_H!GwyIu6f+%_kbY5V4#1O?UTF?)SZrd(RuWZ!Vps}g+S@`Dp7`># z@tLanmO3kExO1xzuJMG){d7G&p~yVkUPHF8RHB`WCFrJ|i={YcN|N)LLN4M%TT|up zzI5+)=dB6kwl%o(O3)^GPwN5_UnI~6`<5mh| z9lV4Is-4p3tXgN=<1W0?-f}GH6ko1B5KU{6+v>J3&rKzs`tkLZzZrxTdQ4=BuGWb+ zN}8wZtp}IKNU0RVbJV;wQ){f9;|C3fu@>g+^;hfZzON2> zX_xBG*yl{-OUGW*>y5+Tlglo5hIl+Xa|<4Hpd{(_r91+jKq|TO25E`Zv`8g?>-*X= zUz|=l`RC96Jgy0%y`*P@m?RRyCBHbAf}>{DpH6we*W4Z*@n) z&y!W2W0NSSK71CJz0A+`s}9sxJ)nlLp4OGm=XK$}mH8>;OL%$moMS+aJr|Wec4;jmRH< z8u#a3x90LY83>zQT)Hp0u5n{M(-;q*zQ`*aExvw}t9g9G(81i=w?apy|y{78cLUhaijI>#E?Amhd&C@yvOU5yzu*FLMs zue-nn)#t1B&5y=xP+8~r&!d5TSMTXxniF2K@JlwJv08hnvXWEAHtBlubJA&>qEW}o zI-H3~Z?&9HbG5JMyEXY+fmiSao_4r_B9p;7+FjF3UT_EJ(vKtQCeo&_z~ZH_BW>QF zeo=5-2SO_&i_V-@sSdZgz(Ac1p16&7D=`n)Sq_F_>?ob58<*^j+Zwj!R0qA05yNG9 zRq)p{+D4tN0KUst5d{SFL;amayuIVvtD~< z#Vm738N$0P5UX_(qt>_f^1DpmkKD1CY23nKrnmjbdW66}9jW-#W<`B6#NMe38^XQB z{g4CBJVe|DObo0p9=q9gn_ye*riME3$NRwhPxdR;&>dTEk2`nRE1Vv~mW-HqiOjpt z!qjv(GAG4~=nmOt;DA}rCm1~^3MlnW2JO;d2AY^I z^Lc^*mS2Aw?Z}yvyb8iudHHFt8(bAlbU_28*W(b@^=g?gw7>xyL@u3T?Fa@)N%on- zLjJ*i^c>QJJz)WUNtBMFXu+NsPj?TD-qRAClQruyBsh8>M;_mlVJwM7&u8}Z?2hq- z+g%ut8J(KGyg`gNR4vI-rAzkiKYu=kXT zHt=@9=9w-zfr88GSMd~7m>qeno|ZeT0B)-#1WwxCL>B2m!<*mY6F4{e7|hLqXBZCf zHvgbY_JUFSebPU~Bjdlk_s7)6z^6I~=`(f!Q+`8sVxtext=jY}hnzkF@;Lenvml^O zp0HQ?OMcz=ud(BV{uRKVIkp7++s+&Ultt20=}@0Sghw$BJEhRV=ai$W4yL@^6zKs; z)sty+Gq59O5%Z8>N03u@AWx@6!CfS~$3OTt{t1@Crf>P4TbP>F1~$jGKq40Wdc~AK zpIy9Jul#$ylAnspk3Z%s`MGxL+d8%rnfz>i<$owf{9ktN7-BBq%Ztl!`t@lBwgJFQ z^(F=}{xUub$`N8y_Xz*j9Dq}rN*#pEa@z(m7YD?_)7Pm9PIFj^#|- zIW=dh8t}c4FASDTM9D{o;JD_Wp4W35n9^b69k*a?d9}i*8kKP(|CAH-cW2!HLf+9x znZ_%<{Fo={KbgPuPtX7V!4pXQHLqqlo%@N!IJbWgynf8sLIpU-*AdTSn`;Rm??lR) zi9fIXpO1Ns>83@pSM#3L!+Jo5C?hIc6$tp(cN$ub|L`W5uGAT%)ONl~&O{$XKV=)X zz?!8`PMo>y*d5CE@Am(n$T$CgB**G!_6iG>lY1oS{(?$H$ZMv9#;79%Tnr6}84AXqw z;nPU$WsWJi*BE`W0z-3USf&kWCuM8>@qWPH_V@q4%ka<7+Gm#s2q2W~bHmHuY>RPa zzz}|*sW1Rir3^yWhK0}+pd-glP_e){bj<(`55~N^aP_zPV*zH9XJ^C1|GQ-IFZfdb z^lsPxKszS{6pROjbduRVHGl+A!$zqt)OOV=4lDV=7-Ms~aa}tEYm<|%O&?|m!jJ#4 z&FVBRw~piAf-N=XJvz14)stH@aC!gH@0{&de)ym@b=%KXk8CkkA^U1bB{7vw4s;8@ zaOrYUS_~c#Fi*|*(;}n~>!qWI%g^8q#hdiS)BjPM8v7_ojv)5VFK&5HbLrLfAlm8o z?>}S1q_jY2^+%F_j&}8!OW>tc=W&EVog2h_)GHx{!-ZOYO zwLw=0&qc!bn8(4nhWXRk=o`NC^zZM_U+)JU*F3G1x-UVEs)yxYgG zSV(>%OZ$aOkUPA{o!s^L?fv$|x}ZJPpN8SvSMnibtALyILZYZY?ZNiny#SBXh@}>` zO|zr{k-*RV5JY*^wxi>=h15TJ1Wzy@b8s)c9onj8$WprxXgZmjm^*YS_Sjk9x%T(> z`>*$<7Gs|it5n{V2Ca7g5FpA1^O7lC@V+>@V=dgvtzW;$I=cp3P+#(6X#2(?Q}brG zwW7I4So`xV4r|%(ah3CtV#?=6VpmNQZr<{49I7$o_ntSsUO)CDR1f^Ec;ss!IN&vh z>TlyDgjl7Bqs61~*bfsAisnvo#m&C&&pNaX%`Y7_`^pQ7vG^?GBYNMK2IW;DonD@{ z$SHYOt$XV4C0OVaqkiew(N@D;u9wEeLM2H7hO|j=gmJ{-QV;p>?X*ze(0Vn z>G;t+68BF0B;;}CyjxfeuYTjjoWI0ud9VBS)0S=HTpBgYT9=lNM>cn7CS7dxT?;Js z%QGEcJ%Htw=KgB(K3>13j#=FrENu**vL}Q>ND|(D7ybu%iGO;{A0RjYd@1=ocMGtt z$%nJTrZq!A@Nm}%AomR8nwF#RPdXV4$qfl)=j-&y;D9WrU8iTmbhtHTDJitwQqspXez9SCV@i$B=uHN(BtPM*s zR>rW7Z9CvE1rhHxVS6K1{HZYDod*N>N6sF2x)8cBeq!7twj4V^9|H_q6Dem+TxvEc znsBq3VGMjW;@H$o(%_f8$cSDTG2s#o>p=MUO5ziA_?5&rOw5Sd!Ff=pZN4Y*wJk+O zG_(^eJ90(+s5shA($9puT{WO}zDx?&cu9T%aUIo^39B%|Am}!3>e55VF?as$$aD#- zX0kop$uD)`^6%LZ^wLq6r_Q|HbYSW`dvP)ky&sS_4jZnU$spg+9qwA-+b^ozu)=X7 z`@Js8wZld()HHMC><{yvZDAPOfEq^e-P*OlTyU)6s`Q~zgF(W3wcB{dLyc5hQoD}k zm+Sqcc4OV_Sg4;P+vBd@g%}7c0&w4JxU(!)qNg)G)euA>`O*89vs^QhKoHcC3NTv} zUz^`n0~;>!xA^a|u-abY4U1fG52QT?L*fQJlhYad2}l015H+>il}q8r@Fm3fEa^})$kot|X&al6V53IPS zzRoR7!AtxVP!}6FBu7SXVPswN5I%Lf1_6j7&P;VGqf_S7Yt^Ic#tPPs(?sj%6z7!b zYtoI2bq>}fr&2@q{g~di!009OrhrhHw{WYcTj9>Q?+tHa3L~U)5W7pzt~kaeFyA)A zTI|7Xj$skmHLm+jhA~Q?-PVUlIgZ^WHFntDvNC%1*;K6pC ztn<=eO9!AKdU^<%LNnmi1giZ$Nsf#9ied7`K2zN8+$N#y!5tjS*%nox40&@Xn;=gT z`%EyYP|w;p%}1q|Fxuv#&$v+Yl+K-wanh8h?;OL5ilhNO+n1#w93iP?R`>07kK25z zhQ`X%2K^Uy-22NmZG!DMHLiqj^Rb3Fi!FsVJ}!6P&(_$}{TEUoP^cKZZm=ja2V{=( zsa!O#>$!++iizLKS?5VbC;a-(3&&?6)wZXzQTidu$y^;aWu~)yxs=*Fd6m2M^#E9`4ST|3EFMQJD?xpA`# zkx#l7y6L6%wPeHm_4N}h+)!RaAqb-(iRT?KwkIBB}5o=@iRwA!;={z zqhxUjTKDQ4_LF&=zpW=YEH!wf?Svr&l%Z`kF+l7P)#(3^0)FX^DI=s$;9jzJ+iKlCzh4**r;b|r z;9>F)9k_B{U~&P!Dt#)XjU2l#*O4zzxo@SlonrzOGLSq9n2~t< z%?3U(XgRtW(r!JC87v?8QafY@>fm;kh=#`9(TS16zzWF|vQca5#C-qPpBuXz7q>jd zG?eVV@!@0(R6G!xc53HvX287ztlS3>!@_aqNZKr=3QM>t3I)@D_Bd}u)k-Z)!}%j0 zQtq4x)ZoMWl<+qm8Re5y;C_;r%^z*Ni}BT%%TVq(-+Fi#84nqYo5Rhz zQ!e%KlpYy~;y77v*binEc&CEP@_o%^(;KZ@9mITTK(w1LA2&@{BHaQgeWoW0gcTgOr+(R}~t89$wq#?c(J?9Y(? z?`Y?5bL4I;paHl50<>`Vxt9*(K2%NM!z5rNHDQ>d*R2~r(g^E?zP*{Cxb-2o5Z55D zD(0TJt^O~@q<;P!n_`GfXsr5i{`cDXp8sg9D3C%U-RgHT4vNp`3ml67jXCuu*=}!O zCk&vL0(1ZdfI5tTy7}f%C|-&)aD@;nj48}8D(O0qRmxBe@t^LJxF-5rH1$8-b5`Da zV2sBIi31Pw^-RyrVet1@N`UsY`M)!-W^Z#Z;QHe{mVRE;Z(po!{jSxk`iI=2f8;Bb z!3@Q{wj}xE+?Yvw20zX%qQx7#avahXLU`NP$e`Av@Z)?Xz7C#*OvMr*-P1iu%KJmU z(%7GqAIsoBle2~3x2L~a0k`!?2aonr1vnHLQYUostM z8UTa+aO^C&N22v$Xr9RMapy=RUrXCcOvQ@Qi`djz(F08Tl%*9cK7L6gNUNHkJ{Ati zdo@IxiAG7k*Xy&S7GJ!1UP;)W;eHl!a4lyElcuATh@-Na$Gk6#B7Bs&GGfa~(ephU*p8AbvQ6MjuwBqReCiK>L2~aBl9~6yNN$K^4zweg$ka``TUvUk-4cIkVw^`dPj^S(-XB|1;9xr(wg$=5rjK43~ehVYr#ojtI8K#HdP zxgb9=uoc0%&-k?Zwvdz$PZ5)I=fLLKNk_k|o=TE5$!oe+O!Dkf>DjgQrmxLFsmXS| zZNiyqKgd4%YjUnI!4&M5ke*25dd{-MTJFvCSVRl?oNx6tZeENt;{C0~&iFfVX%}7g;8uHzGKDwF0=pNBOg1h6c zexhZGR$h*y9j`3br;c4M+H-E#LL|C{^E|Z9kd>pd>FOf4xu=_lrCdH3_PE8ibA2|( zLhtoH@?ui@L9j26$&#-A85;t_ynB^;dmU&P;Fsu9b&fm}hh;l8isn^0mpR9;akACU zGjwr}el;_niX_#6zE9FTDX+%u)P(O6zVh&A@VdB6eeUzn8C>DhTgT>h^AeU<#4NGz zhK=SLZu0WPlYJWTN7Q`ZPt!SH@YipA0YB_FImLrqFj1q+jB}^O(e|Aqd%CzwdG5!+ z(bLl>N>9z<=_kspic8?!FGDnxugl2=R^#aH4AV`HPngQ?IQcoX55~x86H)o6Gb9%BYLd z=Oki2NxTZ8boKR;Qm=jyzjTXdnyS#*ysRtJd z0wKAeWnZ2w^EnhSb`oc9tTJXlC%-`%b9K2OQ^B;cps%cD1#u5zf=eftr@$+~u2^nP zfDlNAz=EAOm4Il!XNcQ50U^ImD-li~&2%}YuF0tz)~=qR&?|Jv;Vzk!bnQ~_{e9I6cS>9%NNKUI77DRG@gozubK}{P$++=t; z^LmxEJafXW5082o$zs|@=2$V!HH_c@#u+eC(%bPil_=+bQL<_&<0|s_1H*=roH@)H& zftAvU^#`_)$Eu?vKe=pFc8MwLhKyRO(qS6&P+KZ!aWJ}IZq364N}JiidERQbE=27XQ+jwwCA8Gr43E8$jxFkkw2={n6_<|577iqpxyclL`E(@h5BIM&CjCye z8#`&pxFN-ylESY`jPW6>CanI()NaD6$sFq*V=H5R(WzZC8r0P*tdR~;OuCuILrzYc z*{7ms9^Wf3=3Wt{`RbpJ3xDm+qi<%fnHQ_D=-t=q8>dA(j^^UVUw7TMuxFu~8C-8@ zE}`)Zj(oMpU){R`EY~c1E}Z;d$>;e0E>^a%_{fAIKF z&|+|i;ZB}njOncQ1(stpj#C?OEKd0_gokNoSO~x4<4RPYs?x~W!orF9Z5rx+@heQ@ zNDMl`ERy6)BvWr{B7(1QlAd=Sv4P2tX@3uckhdw4o5)b*J$3u&y^d*`0SzwkUhW1w zjE3wgMS!g*S@&}+ffiLz-NpAoXF!Qg=$FmC6QWA52}}T}^1T$wDukO=2-|cYCWetxQUVmxo;LdtuS2Kn#ciw+rFE$#h31c{NFg@VS_AwrGgw1J7cVc|Km!tim3+aBaq0=RF%~2$Ue7!{x$}j=t}Iv%)p(Qwy25OU1=A z*ytql-fMU4OrK&j$D`X%es-zSN!Imx9H4zgnAmp;tvX%ofpDpJmCt)jZ(`!7c--R~ zRB&IZqp`3mhif~>|2-bYrPUcq1AES2LYx-8Wbx*q6j20Lg?+q!eWnTFXFoCuOPSOY zs94m*?&ncZ5%VxyJ`Ws$qO!qUWNLKz;vJ@7Tem$Hlabu10=L(vUAlX#T}Q0L$RHSI zHA92PW^dy*$+OZBQ>}Q;$pqnsd)Hqns(*(R{z(pQY+BhCYB|OYLGefg-294X`keu; zD$gC7#+QP)9D9yg&Wq_r~j zvX;zC_2vk$&QwH~b!$%VAT$t4)g=f|;)?(l{<%@x2RS#=hpKlx)s&7vCfoGz`sHq0 z=g%}L8d1Ji)o1s!5M!OBJr3E02;*LLF{?IvNLTiw9CJ(Qk&{<*WXm>7N4y>?yM~*v z$sg1A4Uk4JgG#OeYjLzhQtv6CZc}AIaK2 zI*i>?f3`ZKOQ_c{?s*<$UEIr0t1Y#ubj<1WOWd{MOauDXtWJ8Pc@RBO9?}}Q2_Z~ltgTCr z+Yp8{H7KF|auXLj6mC!3BR)i>QGP;Q)Q~lwWPEYq)uPfXf~Qb~jQ{SjMjR*~Q^qFJ zL`M&FKht5$E#oyUMlxCS?onQ*(?>5L+B;gn5tEIRolJVG#K65CTStB>rTYZG$a^a} zi{!G7qvx9JqK$(=Lew!bYQwEIC?~qY`U2j*acqS0R7D&+jja(NZpfH0!!S>N3 z51rwpi|RIHqUmT;+V_G4EB~;5ofhDJU_XJruQ!>z|C$eQ>n%SSlxO~-WRuT_=tLH8 z?O^pj6W4v8-?%ul($DkxEq-?(QyYYONCDb;&UgKYWK^LU++-d-bC>OLu{#>KL#4O` za9zJ!cN64kN}5vP(dRW+)k*o;zUAj)<#+4e<5q>3)xfyT$W+uNx!V_EAVnR^?)Pu; zTm&Xu*b^Y_+`3@S5lnIFz?To6Pi$q?k+0FLMj=mmIA#>L*7bYhKBO|FQm)>gzL}E2 zDhi|!14(eczT230P=%^M>raIw0e;9i>H^CvNbgHcSEnxsHI|g3 zRdGP-Jbg~RybX#b`*wO?e!s>6*Z`GAE?)AM7)e}N@~$X8v>>)$dX=VUE}ivv2g&v} zu|`Qzz|7Dl79D#iF@EVVK9||JejH?9-+80@$?9*B8zj2qE^)M|+RV6;lXSwZ`zn`V?SP>ABz*ZT zjtk58&UKe;6^0Qj+EaKcojDRe`-y0Pmg(_8c$+kFEXk%w(wB>oa4BmGYkX=mk_3of z++5MfKNI4-f@4MQd*FBm?arND@!)_UZuW$*nzi@{>2%a9ztyQVQPUy52wt;;6xJ}xMip;W6-Iu{yEV! zx5<}pX(AA48u1a+Z+_f*R85Pu$}5zk=t;a$$gj0X5RR(|9G0b0e*`H-K*{FW;~zf{ z_B(|?*T*24Zbj;S2-M^g`QT;bhZ<0hhXX>>?li51-#Vr5eu`L+t+UCMA?V zVXXiFGp+S%{OaG(;&t+lO!Z^Vn*FtyCO4CD(r98+f8lwEWh6^6Q7VG+yqJV99Zr}_ z;Y0rBH7+baAPNS-XTLr8FFt(3Q}h3A1B@CHfra4l({hjO2k+d&P3vhCSyMa5kSI0 zntAhtdHF25WvU}GNNh6(5)(4yk|1YDA6dxQUaE&KY)lXzCm(PKx0OM7;L*0SjW7Pt zk)1`Mov12PnC%Bhteot*=vZ0ndxg=qX!@`o@TMLxuK?yPt)jF()@O zL)&9c{3!S#nQ|}l(83Qsuq4KmE*z|MnnvH2t$^xMvVS6NqMeQovQ zT;A}ghtM$J6V>eej)e8z&xUm{J$$ySyKb$``#b5Q7c(T`A)?68SdZRsd;zC~(9D|` z%Fs;yQ9q2>>x`D^)Z7uUgf*EI#w)JG!1e2mu}mw*IJ+tohHBU=F}uwjCVyG4tmBI* z=@Z+L$2%syyRrlZcHKX7zw*R{kd4T4wl_PG3ef6zAked`Ls7f%t$;z4zbk zT{DL>lR2xJOWR}r3^1;)#5$QK%#ABG87Sf#2A?{lT+CD1KbPwS?N2c_n6Enx+%e23 zX=#6C#}iWvs|%L?A;%{S`BNH2Y3;_K|7^6uv&g(sszp(4(mOGqB6ILHZym`3LQc_s zW@==;q5pb3}($_aT3GM(~&C4eC^;cPz!ajky6a zcBjKNi86iX?3upjE&;bsw#utmO~3Mtm{Io1t<5Peo$_7${u`f;p!4~!xd8B#%a`=} z)YebV(#>>r2J;?M)^LB@b2xp^UGmjt$cfS~`4G5ri88b;Y)YC4s`!ye;pf278ZKI!6S-+2~Ka&`_ zvRjHA?BB`27POr_MhREDLwi_^b5DQwufNZ+_-eDlmV5hS8T^BDrM3-ZuV&R!e=OJE z$JzPsb1dM_gY?2qpVWU6sGpA^Nb;_&gH3B+b^1LQ4!iTdqdD@uVNYSGiu?A~-a!&P z@1k#0bLY4{LgVbX1+NR0x#=sH9XCx9-EE&&R+DG@$SKYBnF8z@QqPnH{_}Y5zn7Uo zX53d!#E#8jIdrWB zksic{;FLybFq)(C)&2hAT_$kEhqZGg*3T;MuJ_P!%Bp)s$Q3m;yfo~v)XQf{It{G? zu9DF%IKAT_HRF5Z*;l^2rc`ON$x08~b?8*W4yw~_vh5{k-_p?f*T_cQYHwbGjI)Rn z>%$}LQDa+NJJ*tu(*qF*j&0ONquDB&#yi5|s9Vyb*fC${RFC?4?*gZk>LQx%u^Hjj zSGVkEMM?v!PN0-6wVU4eFimaLt)0v9mu@}gX=8>)E$?2nK6|@l{Pro0?e&=2PT96! z0|jTi#O_`hkD8Jb+PjmK2i_B{VB2G%H@ts|g7i*5QMb_8iqJ>h3aW=IqHYCmNv_jr ziS_7R>0jM?x1jW~%;_C6exDm3nt#>^Eg0aYQ!qUgwtqeqNQueG-x16%McYiJa zR##38LfeM=c)p0%^4-xATmE{E0@G%n<+6|M75e3|YxA2+*iF!WWEuJYi++s~h`-g6 z2^BMVa6V1Gf1Q7}c_ZccsBiMo)58@hN28a?BX@RPOHXvN^5ppVoADM#I|#??l7B`u zc3wnjHCtlsMtWB@SaQXZ}Up|B(H}*vI+BYWZLX)zg<@x z7=>t9b!6lA&vu4-uSs^$c2nz5nbS|m_6kH?5$8K4IxLpLrwA~vW%vURp+x8D5usy@ z%3B}*yEqs)N&0q3jTjs(jy+<{5}LD%O{T~|Y^TjND2GR&)S&?uEKCP};tW1c)7jW~ z+KT5l0A@{Tkfj1{wfJM%A?L2jTbnZfwwB8;{gWwPFioCLV+;9Y0Jl7y;w71P+_r9S5uiViaY;9wu$V&rEyqy%Jw3n^QyX%M z&%%OC`Ki{IuR2hU>!ucG#cW7{k0ti^XlTK}XCuKmfyq&KpW1oE-GsqvSgBlfUntU@ zs1EXCn)nERa!$PCGM^gL0s1+{zCq)>KpRk z_86#(EQXi!tT$TR)B>-vxgF3=j}HQL^+cr|D~Skat?9A;))tYgTaz>9h;`q7j{qH1 z5TF|q5M$HFdos9u<)!qit=hRvMy0<0?Y>OY6{I_F>m*yqldBl?eUb3GS@qToi!#!B z-E48&>xebjJ!yv+VZZFQ9Gm87KY7zJb?R~DAG4Q;C&&7D$nSF8*Tr2_Qm${!j31iv(oEX!S6(^nKZNl3EZ$7dXA-#17bEut6@Ll_!lCOq-LiJ=m*zy`t~7 z${Jkd+@d~@Ht~#1y?)-w)qqDdkRyJLwR1sSsE^Smawk>YAYxZfGf&x9m-WC@=Ck=1 zW8I#?-mg=Z7vTd5n|YlKw&YK^j|BU)E=aKNzXm@-&e|V^zmgq+e1rYF2-o6!%|7o?j19tnyFAMCD#=wNl^)uOcG)R~YadJc zsojF$X4|HAzENkiS#Rq6IqeUlp2#QvhizK21~Lmy|QF;5rFUj0OyV#^!eU0bAgMQLy{yG2FAufrBm{^#b z88318Dv<${=mG@sx4Ho2@KI_N?^}o}upxa$znvFg{L0^-$2nuiJqc+tL>`rZ%jgT* z=kd|}dOp1Au$kTj|BP8)XAuxWqOdJAFtH9-3r7){WX3oAAofUM!lgr&dYVBvbv>L# zY^rZfuSdLo`bt9ULDz^YS6`s2n>>o=QpvnA|Gy=f}67oV4@F6o2BVoipe} zk%!vT{gR{+Izat8C&)r45!CD8J>+}TIn3diiL#f7Cq#Ryr^#_)tzTdcjZD}A9s{^J zXmAo6vMWbE926$68!*ko5HZ8SDYM|4*wCyPXVZ2URug*!3)PGm2m`Ax4JlT_EF!TD zJmX|31lZJrMXM1oFDen0DvVKj?^h_m z&^TeJ3?9jYXd717gDM~!)U`cV4{`iaFEs=C4BS5@hCx{Q(9Gol+zfN`J$c7F7&nqX z@El+;5HmKMG($LdE|t^s5c{M{I^TT73rC_ z)34amNa(VAEIPI^ua?Ng1ZtOOZQtHg08p25Hl^gY}4|+5)j5-dG1T-%4Mjq*zp9Kv+$K}PXrySPmvNI#qKWn64=;zMNHcGSDLDs}evWD+`XJ(7byN4a4J{s8i&wgS5Ly#Vs zP|I9zHsm{YwL{DNVjuQIo()yfj)ANx#{c}dXNU32O1;;8pJ8@-$bi45gk0V#kJv^j z2n@hqve-+| z+nByz#>HLf_S9F6T6*;}JoNcql5w0sC;#=n>*D9pr^{m}V?nz9CeH=C*x(*L^Z(4( zAMXJi*g5n9^}C(eu3b^kqWRE61W`BYxN2voj@yt-*RwzFx$&!X{TI29@OjP!7`LVb z^dsXI+bjvWx7!c8XKH#hj7V)exTmv-e&36En1^={JRs8nTue&4}apd+Bi4MIX_f!3Tx5|5^P}-XH zm-)%kSMb2*WbX%*rw_m*Y>zy78)#=I`+9V~!ng|_6kGs5Lk8DT&kWEjW74@}TDsh0 zr;g*7G-OV^cL!Sd1 z;R^o(K^@eyEWX0Rp*I}3F7R9q1`MjhhVx)GT+$?=p*Sat16*s9+_)UWYzzA$Cw-3i zw4s0H!T-=Jrf&{S;|+w@o@T&+pyT>mf3#3=S1O7O+Uh2{y_ZkqR^!RcusX>+>qX&W z?E&~RFc#qsk>b>CR&0Gy;);_YK3&YKk ztvz6F31AL7>!!0C17Hu16ihnI-T8@i^MIxm2Z&2|g@l75Hc|wI>GgJTl!hUi4Z_!5(`TiXb~_p$@u~gQ{wb*I~FrJK@8k`*2fg9CH(J zjsFQDDrs>2mEbn5H_H3`O-E9csS-3;f=dGC zh{`W4=$*SE*+jmCiJVfiyZ7TqnA8%~9Yxy*zc9_lq zBlXKOfcr32;LY#s1xK5{YN3t-hCf(D6!}Qlj3#J;p-%JJY}CE?t<@M1I=PceA5&yH z!rt`V-M%2uAKS7nhCjLqKH>_VJQ9FiT=UV!0g$$z9gjj)yKOqOK)p$SIUSym0Hjbu z4#LoWdaPodyxY{n2B-thYrH@20P#e1pTA>)b^#b&{NNcLUQcx;3c|&gGd#7t>M@kI zr=GbFa2PQCkf;l54q}5!I9AV}17;~h#}kDPM<+YR_&Yx%k>dY6Hxt9v9yp(53EW(| zoo>W5vrvkMHRP?&4CDrbr0xLYjS3}0e|jcW9%uW7dp4r^Sys6e5AZ{Q`94QVvt&;y zdoIMHFV_wd5(THJo_b)^W6MjC?3E7qq2dAjNecoel%DR#kqI09%f0`;P1ghr1VJGR z8p*r-XzsuVb-Tq=eN=Ht|MNQH0A>?+F!^`-AKEkl!a|TQpJxR!dX@c|mhW{Vs0sa! z7=mLG?635m*Zz4_*V4SAkq}aW@Va{v2#>d01D{%vt@6DVfr~lMYrF`0)BU{nhc;<| z#r+ZD6w>Gl*Q|_01y;>Lb#>45u6ujJ_nJ+Z*LMx{b9DR9d;g-%f_>hXq^_Fj7U)!2 zalpSj?hR(4G^%~5^`$%fl!983;`fy1OsKL-W?BkTPAWg$pQaJaiFcllN*O-F{=65y z-v}c8H*IL=m@qSe&vRdmJ5i{w>h?S=|9xRl$;y^ru4m2rp6LqOuz%a;e36r;u#}PH zdWGcm_!BKZ`W>2DKi7fFa~=3E^nz;$9qG8l^>g2mC+Iw(BUYyYeDyE^etDOK{JjoX zs`%C)sg?Q5y+5=mrZ9m+wK&hOn1y3~11u*Q*#Z#k?TK6diR~matCzUdlIZ;I*3WzY zT^ovlXp@1_RFh!NSy!O{E8R^0Fh8f&ZROwjZ-+oP5Y@6IJI`6c7#z$`zE*7(VvE*f z>3V@q{iJoF$4u~Nab0y{=u}%~H9!H9Q-ToL5_%!&lgbi zfu{$fD`3pQ3r-&m9>Tnt;qzKhzdrAUO{;L&J7*4uoj@=N*@w|^Np?j}dK{7`dyZ)9U`77${MyC4=|d9&q`81^&(XfEsgJ+7uGWC2z*)8s|!8vqnB;u zHDBYgH9)-5Y(p)G+#SAfdicr@Vp{}L!K6#NqL7BZ2%v}@zyMb|8<=<~wpDLAIq>cP z@e}Z7=m6hDkyl<^N3NBEVg+JUu3jP?5(iCN(p73Q_Z=7OZ5KsCJY6K+)F3rFyr1uI z<)TasPD57n!!H}P=m@yK@SeIr5GC}vhGAd87~MdiL#(`G+;r@!gzR__ zXu%g5ppkQ@b|ncP-?};!c#U|#azHSVKyf@)U!qlnbaW#~x#R@E6p@8Ya2vI0XL4FBv~&cMpaH0V8JD5TQ0KHILFPLFUy9_ zy39ct7k62s@M!^y95e$KIRDGS23Tm>DDjYsvvN9y+&osH3H0DU*%dE1dFof63Gh5G z!-Cfd3b1ekECe_1pT>o_$tYmqBRp>sEYHA>sNzr@*X#{(e1a81lQ*eUdkVspj0af2 z1if$=O%Wo%f^HMEFD-iHNr`b@k~Ar2oDg#ov6@iQt};?4O@06YEybX`$eT>#n8ay7 zK-3EEk3c}v7xzb;!2aDBFHO*V3S;7aJ1@Y)cH?j5hi6&pz9?V^#$U(BnRVsOKM78x z14T=um*^ljUOHAML|*Vy%c{qdPqN zO?}Y3m77GDL>nJ&)@A9rXE(eFCJ|*HXJB63nLH3)399>-&hAN}I(pRoM5tS8F;>&_ zxteA=0L?9numZ%)X>0+UKG}K6)fujdA;V+ck&EABxtd<66~r6N)g}x@f6Uz@x931a zKm4EuuMu>@b=BDk-lNZUR&7#fVi1rP74Fhn53JEN^gcf!L(FYekA}9L2j0;!;h<$T zc*N(?s=~vUE6~+0dj^7|j|#K6ZOl#n52OzH2NFIP&DX9lJx|}t>+!B z@2UiXcYWQXbrlwJL2X)Xw+S{m5xVk1G@+FEXzb#$=K0d2vVR;9fb&7&OeVjEWB5b9 zh->`^^7XA1zR|Q*2RrUm57~hjozskC4JR_)0wRu(QBV16f;{;s-$^vcEFqvjxmhDP zOKyop*u86v0*M98@Ilz5;;(pw3*wFx!C^;#&}F%gbKfgm3Im3nu>+kB-wzwOaTL|Z zUt)@mSwQHIYuI1oieE9vBPF?kh#*=qVPtdekbI=~6rQWb1onpK))Hd0eZHmf;px^m z40nrMobV#MPo)a1r^-x0>6ELq=Iwb-b3NzQe)tczs(J=PlLxPUUfE44qx+RF)G#?K zX5I^t#-33)%3Y}DoW$;%B9-&YFi1Lx6~c)|?A>m@Zr!JTx47_HTnwKh-tF@$DNxRF zd1&bktv1EJ+>^F8F*FznI~pN_xR6w)P8Jm)iZJf4BPlc4&)B}ZBojN_YTiL_>s5FM zaIk7*xt5o=EG8o)AwDvR5;_gCadQ{2=@TEvx!SpCUYwh2>7h z&Y{GE*PnKGyu4G7vdMeE1G_X23 zsN$;aUCYT&w}gnojh~nmw1TIti^2w>6S7!3@!5jDZm&!*re38WvX?Aw(oD~1{Rtt! zkZePKizM$@c_X-!r~ow_eU()9VcGyWN6vLKW)=!$v3>R>I!qnkRn?Z31V!Dp_vpPZ zPwkC&tG4k)`YzERWHr=uw{g!)Pe3b+Jg`Z)J+Dn-94#0?uFx;9>=+B6+S&My$=}iJ zb}5hb0jAf8PDKGue_Wh((pgM5;)y!p=kcsWiWKu;h-QibFprA6q25Vewt!yrxWf>m zY#0~Pag(wttxMG{gVwFU(Yf!pKV?c4E{vW^(H@s1nx4j$%}AEbMOb`ALUqyZzT`hP5(?*44}t_!yjvP z5sSoWra?}Y#2F@kBh^o7@cT%5S*Gq|0%^evjX-lRIDKVe?0g11O0hJpxzd_xZtc8q zO^|SBNw4I&Ni1gA$Mq^CW5J@{Q*&-NAsXZbnC~vGcJQ#er#Fcw0|>40*PJ3$?3GZ0 z&To?Eo|Ql0ord0I)oE{B1lXS59y-(3m9rKQ7zjx~lN-#~2VvDaz`=5PpHZHZpAI(S z6dKYg(W00iql95Q38_uz5rD4Cb@F59^{hEA?#7{$pfR`K#W^em0;QO4ntBOG7}s^} zHGeeJonXb)E*s>1@S(PpoC5De5bCk@bK$%b z*M8nWuJI5V_`oK94D+|8;+MT3d~G=DGX~cWxhNLk9}`W3cpxSs)>AHVa6Q16->rq? z=hjEwDX@ghU{Qo?muQ%`f6V_7&$~ni{H?3+zw^Zo)a(n_vHNoxhBa|h>JoAgA1o+L z)LyzaRDPkv=a`dnL=V4Pga5<2d;{GQO^q0uS`K;nKr|u3@H>JB4$h&2)>%48^`+TU zD7Cj^iDS{$VI}t)!WbkM`#@bEp^(G~^B>mv|IkNFBl2@jQT+ioEI#V+eS(=tqu5@k zC)gdVMID5O>S>Z#SRW~2pqluQA?KR^f|8#BqxA)MA$vkY6h8*|8Zijml8WJnK8=5M z)qx`Bpx@^%BG+Ts^qA?Td?3@(ERMs)GFoi!1RA053sMa~mc~(IhJrU)XVryhczV+c z_*2JznlOGwQTtaPQfQ7yvUY639k}>j3F=+=>do_xWkZ?i>Fc`&aNz1K;weM^eO|(x z60A)jcMy}3aJ1wa_l`MlDxT^G-Ly;CvdvN7Z@7JgDTSzHN|kyL*@t`7*#sZxLKlko z88a`GmvL~+uwT_@4AV&aIx;XEU-mBC?X`>MJ*& z>qJRUH#=;mudXMmM{mmji1#lEEfR{))nRq|$qWc+p3EL?x?92z6pPM-HQur?*1g;L z|BZPBiQr`>pBZYcJciimu2J26oJe>SD7cvc^XUi8YY<-b1n{=8=-kGb{O3n5@_2-l zVW662-!q0xs8|GT`&V=C2(=g9Em>*ST{T?*P8xe45r7t)Da~4Z%vvw3yth17FABW4 zeCe9@?O4_M$)Jp@u+}~~ zsbP=aKI_TCg;%6p!91h>N#gwUvumpZpp4P@XMem)iYkQ;vDT(n%I*zF1kr+i%K4+2 z*7j5YiNt!7cISo7KS-o4N{w1q{*rjSN9-iAQRCa=OQPW<3oCuTB$_2M8W{ezUw`HG z*6%=G`X%SYT%kh4>5!oGcQBqohGZw*2;J1%PWAkf7NM!CAYyuLe$S<_Gy#NxW#=zbq`_&)vZh|PlsBzQ& zE3e2cfPlONJ~z~l@(5pmM6c|=Bo;{U@Jv*DStxBg9qL09P#v^z35q9gy(E$jm(!gU z|5VB0gL(Wz*nmoob1~ULvjLSnc|MPe_^RaG_|vJ9l1CX9P|5g_jc81r?|psVKqZ4* zo$LOuy4}9e@qKWPe94}iZ(+a6o{`XB#6}V96Fg9DaF!J@F~d^yvm_A&FEG%% z_l;D|>$pm`TyR;a(wi@;?^u2FK;FJtT}+EK5K7x^xj*NseDA%g;r5pGu7dZx!OqFg zH4d)|5b5)k#vmL+wZzUZ_*}g(po0~N4NsYBJ8JidggSuM8Vl~*&$h8E(Dl0&4aNgj zytw?Ee#TYI*B0p1+f$HES4XY58Cvr)FG;(JI57m zmaOg0{hZ4liy||-ue4%jaUT0r5f>rj?nm&gfB4VyKmU1-sAfSUp2_#W=BvKf4W}mX zH;=^3|Io(ACOuv1Z+-_BNbmk9T7LAqk}2N79CTlA93BV?MN+T&TNCpCkS6x~J<9y( zF8@9+_4m0e8=C+!tv6;OkAou#g{P5bbszyBDI7(RWr72eBp=5DRf~5J0166CjRK{? zdl%7hT(fQHgOm^_TCVtt^yLCYkPQNDfRXrL>kHtc#yO2~JdI)i=767r1HDK$wke@s zl)%2@ZmabSUjYzxIIVUd(B_W*x!~#%^lf>l4b|YEGbKZ&O%+hGh(3ps7HC#9bNt`t zPp2#sm*{ur1)Tm_)DwW^&pM2)qIKke%DdA(`Rq{oRQw;yn?BfPgKB`m-%qvyX3dfQ zhk4ikA~zeKc~_Ou^UrVj&)?-b30)lQm1iIHGohFZr$&3n{Hj-VOt=-S-}naDc=>lZ zyKzjIWc(0lgouBmr$3$@Oq?c{^!%3cEuxIS$^=};Lx|CL&;9ZJkkTkeq+Z?uCi*pYm{xowb0{=dw>rVE)3*5fi#Dz}fG z|KE+<&HunJ1Q=OLt_)d137i9V`JSn`chq=wD*?Jdq0CZH{xo7~&BtLV!x*mg2 zV#5hpeGBd-`a^E`w>)r7kj3{qyj)Wtf7@mXHPmNe1}~b1lWXm-`PLuT#C-tv5wvj| z?C;x{8rqR8L+R)DScy~+fTVSzh0w$zkpSDQSjs|2QHz7h2pz9kj_$NziR2YP)5ouM zRm&SL1p8=+THijnwp$J;=-?6I&9OJWX;Zr+vdEMdmE&G!V z_{qyTytuE@?Df9h_?r-HSzFKX14Q7-YVl5hX5QqyICl;mloLM*gM`uMqY~ce2=cVJsNU^k+mC*e zafNmt#zzugt3g`w*=+2p_WC_bq59| z4C|L`pH&=u+b7D?uIe=4-RJ1l<(80y(`MwY8t_l)spQ|g^DebFQ&>C)#)cb}Iy^9PX$pFHd$6~M6n0bVzT-elbNCrcl^1$s z)1lL-HK-)KjMLFFlE((Ed1IzJ+%y#w#LJUZSU&M-F#if+dX<)jgKIVjPgwrvJnaY*IfvOda` zfyP5`Rh#Q6m5aw~M~^H#lp!dEP4}D{j5XQcXLbl{pdd&WhC4flWJ}RV{RHpX=TBh| zy>Xuq1@jkFl6AL-%(`5E=-QNCJUwVRG!GMZdSSSYjATp(m^1Rb`E(cAs|CG}mq(;y zoeyY<5Y^y^`wFYF#$R$D9gnoH#L47oVSJjeBa61z{XqNE&x2UU5tJ;9kcU1m7b>iE zt-n};23`{zmjT84{5hveG8vsb*yT+)dQJ^mkL1yDBT)@+wC}i@WuwX#_kbe(u=gx0 z-I%^16q(vX9I_5_Uju>q;n!4b@vRA)=>m3(Vo;$;he#{8UH zJYqoLUoZF9K{YOB7jQ{In%Yv?pCzsm+HBGjOWp`9PzZFC%+Gl} zmCw1WX^b3#1>3}W7TAZGP69k|0dlaN2q9!2=&b(<-~2LMYPK?19SS}%$+Uq>&T|c; zuNNbaeoO@>|3QHrA!{3qFHuZC$5+IYZ90Oh7AV7$!7fIGc`Vh0yDP(%lBZy>1d9vS ztpU0o_tX9t*%zkKqo_>Jo^I$U7;>@x?On2xg&YuifUBC215>XDEp% zS}d7A+Si}9(K2Iz+q9M=hn)&&vr17qr27&0iTVjbu@b;A%ZLy^m2nd#7yO~C3_c$e zRiLmI+R*goUoT7;?h6WR<~_lY-HVM~WQr$#Zz)6Cmewzy{)O)SnjM73<}92T7T6CD zx@IB2S4f5sf6muJC_fMe4EzG1DUb850uQdV2*b7z94-%-)6cDA(+<(f2!Nn^=MQ%1 ziW-D@y(~0oZ<~bVpYW&OaL(M(OSg1r1Ic8j0Cvi;oXuLY8w~o2& za8!#H0iu(Dv=>%{)kaBC-;!1E{OnT2!q5#0!PvmUNQs7Q?kV~wLy>k4(ruzYW@y7u z$wJU0q)C=+=Ea5xS(#7?4>I^RB4IpsWUI%eGvuY{>!|}0c~L(vrT}j0~ays1b-l#x=v}Q7Itqy)PZ~1 z7I_E#p<@8D`kl7vv{CkW3pSjlKeB5;&@?B}amS^SE`O_gFPdU-Mh|GrFLn9BWj>4g zm6(9x8HVxNP6^C&w-G1+UodEU@cDSwpQaJzLpal-n4xE!YkodsL|&_@ftD)_JJL5V zSDD0{A=K0|Fo$|xJ%sI*nAK9Hm_!|>OqmQ_WlANt8WT3nS8tpOnYkP93T7IjfDu_@t)e zGGpP0<4)qbD z_5`^wbkpIID;nU|RF}F{?`sxz1KYJH25Z`?fO9#nys&L@? zyC=e(Am+@eu*Y%CGcl?AbJ3{dS!ciPlNf3z%@=y!;c@a|&)Zs+r)QmH=ZnsO@MF}N zWWOOgohlndD+zW7^AOC@(N1u{cf^W6=3#wTh%+yFn7DCpZo4Tl^@P|IDs@a_5gzu* ztQsPZV1OM4|GEQ=mv#y?o@Mam<0%Nh*IKnb*<7*8^e1;9U#D z#}S_I#>w*=yNsjoTwy`y-fVp_0?Mz$)RTtLx(Uzw99*zk9jOc2y~K4@_7pz!wEuu! zvlS+3qnz+MwR`%_Fah5a8%8Mnl2;SK$r3pL>~cSZn}8vP;dwQi1WH^y7=tI*oKSXU zYi|cSNY6qFIYxq{0LhH#ckM3Z`pQ&pm_3>0gv+j2n@XB3&ktNbD zs2b9a3k>%2^;t8%nmQpK(CjwPzAMYB$D6|Y9MiQ*6rSn3-pf|6R{u&Dw=zHag}8{H z>s&COXKoFsjp!6v3e?8W49S-ysPb2YLsK|N7Yc{^H!y7}9=?m4++%qQ;Y*VDOh?d2 zFV1@p3T&vC-XGQ$!dSFOR<`@88fs;tPK^yCBo%r}8h zW5ak*K30yC&IK2zX_kV;U{>OQWx^IMeC@ixF?@Rmq0ba=uF(6B531%GHk3DvQv2e{ z8dQFjf8>DfZqq$zva~@bt$^9wED%neZG+Gvf(3u`VS7ud+!omTHH*AUo*$P;c5--;pTbP05p`9hysg`}c@vxF^*7OiHoLIljP zE+Zm5wjo^rfY;_?6Zh3Ebo^~0ad3sg)!_+&d!yr&P@h@0cAFmrL%)z+o1BR>@l~&R z`71xeNzb_!6Cpg^w=U1{*)6D@B|ht4b1+AB-LRuf!h|_cpo}*fRd`?LaMwAW2F3za_$=WN zX`-Lb>`hth5qvHW?E?#Vx{4+P=t}a{Q~`#b7jTAAV`?0uc1XRPUDpRw! zKmNz_!n_(l-xF%@CEUD9k{0Ce6^5QVafNg_MG)4Vg6q$<*HK8Rw=7G_;4q z;MZW(bsNRdk#c0!F9xG93f3_Z$I_+lFmXS{-o4gJacTqwO;*ibXteV}XEVo==<=S?VlkedhMZIf7~ zN6k8&gra0i( z*lCp)g+Jz5f?=-rUkf@oc$_^03BzRty9t5JS$55exV|!v3)U3#;5wXN40#XS%>o^S zP0b`f7uOB%0*As<5d^N_9m83R5Zw2LKc4ohLQgXmzX${sF8SQ$x;5vX}2rd0QM<4g(KA=E@c`yi-wmXPk#x@ezR z`_?REo{EXo^kYswpd92o<#!>?3&#THU7f;R<{%LQ={H z);G|5jK~gWrC7Jo5py5}i^UVrK{iG^st?NZyRU0)k%ohkvgGuAU3K8~?Fiy``X*}A z1(UcCp;UhV!SB}fog1dB#O3{dl>Ia$WQW{P+rqweA^Qkyrhn>B~X|_zURO(E_ zzwpC^=_kuLwMyXXU4i>;aTJw*!0+XuT)%l6*K(bUh5?_mh~m5$0Xo#u~#FkcpCt- zKB~u%1HU$>aR+PChKbs7OtQ6nTCs#V|f}X(u$m{a_=#~96@X!HQ3EA&pD#CF2&r!D zHgt7F&m=u>C3N7|0uFmM;KeC+Avo|2({}LyQqcBd`!gkK!)xf#N57QbD|iMM-ua+A z7&kQI{CGXcR(iZ@K|A>WIbH*C0)95lR-{lf!t}l1#xYrTMnIsG6eL6CegzJem%951%cn}bFjOGws22BFekf8 zOKV<#>?dskX7kCw>=6gK@)Pqht$vPgy=q;gzOZjylH1vI;vL3548;OtdE#w(YO`PB zfKaoEOxSW^^-F(vzy2v+__k9wFx5UGO12xO3>&Z5c$laV@@PjKy)<@*-uo*;1uXZN z%aD>=9QQO1t=UTW(1~P0n_N)o3v>(XA)R&>NutdgycfHV3Gm?O0T7Tr+SociaxFEOg+f<~nSs1G}o8 zDlC`1zZ&k3-1d0p(=d{eSp`cKFoBK|JxDwmwigkm(~2@^gGYcrHMB01HMVg;ZO!3; z;3&5#1bzV3teCmFAg=l-ny{nG3rP+CS$&{@CRsF9klWxNm*D{hVVIsROmmN4U7KE( zh{LUWOu^S8Akg5k<;-@U`UUO_8SD8zsyfdBCePCmap>UqK|P{ZPz@eSSQJW`J{73O zwwA2SQipPlSAXD05AB%WY8Xrs##I#ey7QPqzq}1isaI*tcDACUb1h9RBkMu{vja`F z3}c%m+FiD6RUYZNFEJ0uO`u}_;mitOFxaA-<)gzql|%P~b>Mfv@Qu36WUXN#{Z4*j z{lCv`>q$fc{cHZN{-If1KZ##C%`EWjID>#936@DQD?&i-~J_ z@9-)q)}V%=Gq!>9v|*++vBG1?#)i4_6vg4o9foI;oM^XL%mgx*(TO41q5TH$xB)OL zm;aReWEqR5i0*Jq2%2j1n8#p2pyB#{ni0UyLs6r0#?g?)Iu8YJ#%fqgZlDJ;Nr3G@ z)iuPs3H_yJ9>u<}p>mIE@ID9Cng< zrvX=1XKwsGE^sHLUNN5sN#}>!RnC1neYF`d&}wO6ABr&&i22ulpSfvgNm|H>c*yiE z@~?Zr!S&*zh0UVmgzHJLr5Lf^hz255+8rxW@VFqsnhPQjp$s4^7f_%F`LAmqJ)cNYqm27kaTvMX%n zcyTn#zRE&IkC_YxeD-@?Q`7J%cWYE74{2o$wQv29Qq7ONWGD)TUN9=I&9eHNv!Iw~ z6XG0-B!ddXKga)NJ;sibIIIPV%9^lA79jz3c(kn3YYSN% z^XC#pslay78vuV<>98gRVj*EH(l~QFc>LmC_D5Zb!9-AM<28_~RE8k#6vq9Ijp$@g z|9O4Rd9Bb+(_lwLQ}u<)GsX7u6eV!v)=XH>Lae7;-c1U_U=E{H`*H_XQ=RF6+0_NH z0LNo*6=EM0%Bq>prJe0A?`s~jk0<5Xa7pUF&rO9fU_{6MvDQ$SV$Ov%)nZ^S4%*|; z4>Eofbid_@6vB?!Kj_WedW2FupG(pb_>3FBjr88aNt?p-g~Rn5^aHy$To2+RjMmfP zk~k0q?4i8Y&j`f0@*{e42HrW;OO*gQT$3cyXI zzE!t_wu45;IPzJ@CrxROl0{@w{opT4=bLx@c%aB7b*$)k6LgcW>2I}Bc&cgECAs~L z4elS^7Fx5;inoCRaQ$0j)HEBE2~5ygr1~O%*zPM#^$Y{iP^vSlN$R3zs^+^n)`w7- zwrpm>{%owpkyMz?bkU$-vCV_;ITP_49WE>(^TSip?7#S-|GL%-C-3e;rYj5rExYNz z$GV~N6?ia>U*uJ1t449^CaUq%t{TJ@8u`JjnKVOpzH;8cpYBz*x2Qhd=$X}@sdi%B zHv;YcC;RQZfN%dmRLLQ%FqkI4)L{PSHJ3WZ^e|kb@OgON1G0w{1Wt}msuBJGo|i@m z`6J*)swP-}mR=}9GU9x$>y0auA6PYH+X-i!vjXPIil6^O+IMZciLBi|5En%bmmma4 zA_UMI# zy=gFp>t^iL5I&hK89o^q*_;jYBKjtFZOnwHXAiE_jJ;Kh;ZgcFiVs_9`Wk>M_;mao zg5g}VYcxdj(>zq~%uzw|r5pcdk2oyMNdn_C7a_CJGQfyhl63L#WxK; zza)Pf|NCBcIzyg_H8`pc{AI`}A3z_y#8YZBrbL{Li`Zlt_Sqx*P6A)fpiHqYgBu+% zD`*Gq_+&A=Mjh=%VXyJB`f5-zUNq&*{hQsl3hrrjM3Knz71~CDwxHL6?$y5r0zRkKI#pIo}=@ncmqi4310@$nD~sr?=*c@9CxlMH#f7< zi4A#m-0BCe7>Azbz(6&Kxd5uuITUj%e=>bGlc4;N)MSwt6(^P=+|>x-xOtB!pvO$# z&~`ndlNJ{k1l2a7&v=fEeQuhk37Z+>oZB~!iBoz(@@0Kx>2?5u;1;YWH};YFjgEme z<8USGClE8h9&(WwI^TYoeYJ5%sw?V%F2(m6P|ac~U?DyS`vAHkjG)31bR*P1Kj9*_ zgn*zMeA;x&K?Rf%O&psM5X&FNLU5H&a~WXC@kBBVy4dE7QeAcjPaW*H-z#z=o#hYkAa#eChG&j-JJe!*5D zPb+sKm9MzrN6R(EJtitjdk31hJi^Ha$Q|U^T;v>H<=A6-jlR6D4UTP*K z*0R#f$FK!KMkhb?+(bz*NdbX%=_@7`f)Wp8q2t#;tHiQmACk%XtVpiGnfoIL=AUpr zreRlTknKD+o$Mko>lfd<6VawHd>-r{F28OIK_+z6gqjfh;#<#d*arHjDDpM$^qi-T z{8%;lU)MOJ%8VvDi!+wqT#olZhq;0**c9EVVbd`3$}r;!E_o{2%EBD?B8iU8F}q8K zFbna5v&Oya!WH7LHP8NS?Xo&B6}(H``Sr~POv~YdtYCaAJA=wB>>oDP>w3iu2Bx!3 zG(z*OR&!O>5HIWPmyKNQWkps6*Rn(|kbe<#uh09Ka{GWm;DZe@$>kU{gDwTIkS=`$ z2lEvBGktgsM_=6`2q`6r7IV;`LX#$skJG;0Efln%AnqM_=c&Kb{;jW1ckexZVz8wO z@u*jBr|iiGVq#4Xz!WK^1l#kagL?{ftRWjhM*4+&Za`pZ6C&m|@>=J!p6kaqtj2!j zmWWOJFiw!}D^C7*KITvOP~8@$_c?j4u+%{U6Fd_FL9v!Mahl~5jxc}(?actG3WA77 zemNz>`pNwW{wDWh%s*?o8kzXxjP1|7=;T3lAh!<76L3(gPZk_@v<3pMEY1T`!4Y5_ z2j4?g1oo5W5_G_oV$5s$(?c<=k>BdcKhC-Op5Jo^b?R>hD>g4vXletyu6Cy<^g&z{ z!drUk?umq;r%#Y(Qo#6EYVa@2N&cD>^ugzR6u3%mw(o0zG22(I!(BC+|6G^r&ue0~ z=Kw?HHnpXQZIvq^#QgKTW`0VK*Q)rhR>9TL&)O3dvFAl}+zhUnXw*HZBLsbTDgtil zzLcqYoc&f${Qgb15+3TCG#Y9EavD%pVIXc9W;&D`4%oDz{Moe9vu04{Gq=II-3>TTe+}53% zJN&LzYlY<_$IZM9fVP+FJmC)86qt=gl6^Z)FT(AXu zRbZ5e*o!KOA~hFmnSqy*?;T}vt_gYS+1nZ0trPpR-D%@5Y5A;6$~XU&?WQwc>LGGoq}X5^6n zWiyW$;?R}Ag{Cnw1PFL5aI=v!(<2d^MD%M>ogcYrQ+`A1^5J3XU;Fbv@ow`xBpL;g z1VkoGQ-g)&S@KObrv3myP0rlu5vOt)q^C&1l>r4l+B^yhXiv(_Akgri1%PtWEQFWI z;*OZkaEpW1sP5Vz%e>3c%4Ee1rrOY7+v4Ouc_WYS*{QQ>+V4!X{x=%>e}sfX^B)C7|~t~@veV5<^8=6_^UI5U+@X9F&QA+ zdf5FULO~RTecSkVW0Ic%R>SJUHA2 z;=+zUXI~Kk{p9xhT)2N#(-qL|VgR9@7!y_SJVM>#U3hOPk-XcP?1>Z~TTG7`CE-`vzdsAoNMkL(Mt;h^9sJLr!Y( zz*Gs#!LlmeTSJD8;PE+jZes%hG+>#<<`t1KZDdVl_SNIh}Kmo@e zRv96hT|W~`)|A|l?O+lMb2;60hCIA=@}e;%j8uAu)d@inGext&95OC$vl^VKl1T{VQ5R)bCh=VpxG-XE!257t(FhW1+=yz;3T za6L~XBD8vVZ1a3Ys4}0t&NJSH%9veP(t(%vWY4Xrua)Hwqv^YG!5V4AVO3L+>{uN8?(T%G9)0*nE2)bQp+)nlD}vxvf0yC%j1#Lr zMgL2$=5bxE7UGUi&x`MRRVe;CiWws6V3E=eecgsvGc}|ui=Xp$eZ$0OPoRb?^;*c$ zh0J~BP-f65b&aop$JVs2ujV$#kc=^#RXt#-P8=+tqg*_;bd~DK7*B)SS7CbBl%u0( zHhGwjCSK&Fr(5D((pjnuBF0`~7IRb4cl#F>b`b%8lWAejqcEANfRnnA)s_D$Ab4Zy zt>Hqy-vPi`7B1w(Vy7^;vS~ZG4&S(yJ1)?+&S>Xe=j?_gf;L(GD}fulIw*bZIU_IR z$twa+)2*~!7u+%ohn_{l zPK?8mM@re|@e8q0>t5_7`LkYtX4=J!tL**JVHjuI*}U}V4ZGK1KDdsjiMzoc$5JqX z!V~p~d-H*jhZK=KT`=Bwz@_u|F*T_C5alTdZ(<=j7`tM4gbvDq*eCSN74BU*g37xK4w{ zYkTrsv_0=vh( zi{HNPo(6v~50Tv(g%ThEc26S`8yQ=7%fh~wWsCDi!ueD-Nwzf{pJYGM5B;VQl~^rgk&_xKoSLK2bU8%C4)@k-rQKun&{~n`JkjHTjzYQ|!u$?bl4pZE3x)ERcp;xR3Si%b^8GDVzvhQ+ zHD4!xTrZ+gRrzBKGCmp)G$1dF%B_Qz-_^W$&X^AvDMWP0C#vd>Pq~*uIBzxp^a7vQ zfXJHmNndFb>x@HXkvw4u`V^mTkTR;FcjfXa(&!g(`*hZ-Vk`7KC4~O&H3;oaHH*9( zu=N}3pr>^j<)d?Ko#W68_5_$ar4``b>*3lv*81aA<^Ab^yZ*{SKi`L$Ikt1`PtgSM zJ_Zbkw`oVZLA;Ab!9loIixZ=1Jl?J-yNXpPPssY)_#$yD4|MnH3NGT-$`t=*v=e`P z{XhMacCib|R%i#vPh?3s_&|l)%G9~f4RZ&*KmQViH(?{6X7Cyt^tbN#hJ{y_W6);u zKE2!e452EFJcr~;u^ihv1i~5vvh)j=>NyixXOLPCn`KanyGG8Mk2OLFypH@?pF%#v zpS)OU*l<|oNI}kE%4bukt$Mo3nSS4r;LBdD2R{Dib&6?Uqeyc;aZ2$Y`!CwZw|M`H z^clC(Otkn`gq&Dsj@7M>ay}_-_yQ$0l!3)a4TrGTRvJQ|50q#0zP1``q#}zh$dLld z%DJ$8yRW6PWnRm^RK{&dWfx35IKz>a6IrNG5UrO;eTBf`_aF9iYA)>kO2d7EhJ@?B z_G74&7}{CnS3CQ4olHV%{p&s+mOlYM8D3_IMLVkIFO|^Aoby@+H+2Q-c+V?#11WoU z0Nv{jaarE#|x^J zc6{PL#!K>-wu48K^}%z~>qm}=8t&%#l>LZF{E9vNo=ajbhpr%PJSSIDL@LJZo4Lwk z4S~2TAO(Zu&#amnx|Rs)AQJLLUhWys>*!5f!UI)Vk|Jhj&yyYTpV6nDz$s^p19Dr@ zyb-54b^oTP$an5LLg%88`~r9(*zg{C$fXu>VtC(7G1E>F18yhU9;L@pqQvVt;StNi zJzT})AlEX$QrqFw%F(w6Y7A~e@6lRURo(5mWqUrMcr}CJC3LchpC3LObhm+x@cRnU z(~q<233Kqcm;Cve1R`yy!Y9VugjjVYiN~E(BK-=%(Hg9GAu&IB8DygHa!or*F*sc> zpS{K9?=|tzZSK|U4h?PH^xohCtNuybIrO+A5Gy(I7Y9Gq;3W4Fv)}D&6_Mjz)|K0F6jJSrM^aT4N|%bRjOUN|$fu@yu$#S3A-SVD@ z5mQ>(v%J@2@Q5bo!x66Eu8m)sdXnW&udl)FZa2v@L*Y|rO&7O!KPAj|H|IB;n=s@; z5%4JSC|D_)-0Bqj5Nkg_c`ijSIGK1mN^7pmyNpJUzI4UicCK&YxRYTt_!^5UOt(71 z{dOG3eaczqR(hevM?zCc1t}M9Q$Rfk;x0%|llN-jJh&HJ%Tz;6+3O^+&<9yr5Ac*N zZy+*PC8&9PG}5Q$3KSR#fO5pIQ+w&IH1KvH>hc~f*u)%H ziOaok;^cShZG{QfT~Iv7fZKBxqOB^VJF8>2s4S%cyF=)LRt^Ynm1~TN$b?Du$r)H% zL(tQ;HLXVrsmOK8dZE<&*JEYn;@w*-%SUl{&rZ{$ZUZag903Z!1vBwSi`fIj(73M@ zke?0aWSSfIGRO^kLJip9}pp;;M%vG z&7r{;F7MDghTiAAUfvw<&#%ybGk35NMF@zOcOwdNJoA6V>SdyTv)UVCOK7xu6Sk4a zdP#JMi=fq1{JD8Pk{)8VK+il}9ZNUv`s18k&d6w<-Mw!Bv2rc&s_d8smpZs*TM!vM z(<1J34biTmi?G_ijK2#q&@YVRcncIB+#&-xx|rLEVMuyoM+Qx$zFVWZnZ~;rp0qXS z6_KJDTh3ay?B_@R$u6(XpxBrefQmgzt>0#&u;=(9qJVlbS;5tQ{vWl?{z-i@_}X7C;Ie?GS?Hs~ zz!T&1+-P!9f(SZ=>OEvc$yv*)+bq(WNWObk!m`nFKSiV;Y~}YeJiDklU~T?_?K$;O zImANu6&WFx-bVGKQ$txf!G|NNaTY@iNHcLgyV9Zw{wEG-W{BRU?F>B^J9kqK(&NIc zcagcivM6%g&PHqCB^Ar~G{5WribeeAF&k_QO0{8VWJ@!uee?*|e7k=$BX4?{ADlCq zBW^P&Mnkfca15ePZB8w2N^SHCcwqLDJJym-o-UTms8v>>62Ypmce{^;hUT&?mV zKH0yn6$QBc7C|ul$MX$8MPEzW#slg+mp)?hfAH*(#}1#i<*6QPuO-|@RXafT znOj)9O*6KL2Q2Tn5v9?5rH4AET1X8XVezlaBMUiXy!mKeBY4b&%k-z;|06#Ach8DB zT)Zf(AH=`;CLAv(XI-0_ z;XX3+6lzC6HjEo8Q!>K$bJGPV5&3Fx!?v$!!L{pnXX5eMczpVkX=Ak!x^)&6?Izi=+ru< zq=|43!c_dJYw`fS9QfpB=-^Yx)#w!;6Ys$yu6b<}3go)vx0+{um=Kt~5Y>@p^bvV= z^!0q^AH*O&PM?b$xQARdcR&WIk%bL!R?BqZP?I5-xK?gpU_|zF4qZH_oH(XZx#dQ% zAc^kdaQ0BbyH8KliVu!mF>$FIdXuV>ft9lcg-TR^doG$$_y2wlSj9i$wheXt8T0s; zG3`uRH{5k3imC7^uGg>Zrq4a*-na@wjzOK=3CZDKg7#y?Fsc9UT=N{lBaI_C1dHAa*cJ8Np1^ktYMUKNleu*WQq_W@v^^)r|;o znNb6gEnvYw)fu&9VcF*xlgRq+>3XXxs62O=9`q6Xt_2~K*>Xq@*C?I7r=!HMnq{;_!Cw<%xvz04K)e!UHMEi zC3GHf!(b~if6Q6F?C~dl$i1~WubV?ba~C5-B!Yb8V8L?NXq3Y;(3{CAlp^tQ3c2Li zGg2AKgRN5uLlM*HARf?sVmM}2Vm$RY1cW%YiDLcUB&~T4upT2Z1%ye2G3Fc}9kO)n zmCHqcgsPNVTrx>Rd$%AzTZ@Y85Z|dx4os-e0*aM~!$@-vh}eQiG(*=8+){sBbJXl- zz&(+^75>=YazSUv#u1HfxcoUGX(Zj)MUxn_OEZvYcHA3IexA=r?~_wh5gtK52h#&8 zzz9yd3*c^y#*vL4qcpL(KpI}^*fLNU!W>PWipvTV?+Pi_&w2rNX2f{&o){$+#W}$! z(IejU^B8oL+Tk)-9D(r&BrD6IARUS|vfr=z^$Cbfd717QLOPQ1QJF__Ok$#bWze`$ z`fOsCZ17kGyA$fD*S?rXw6gIclW^dyuy4uFDny%S#Z>BXTJ%Oi4y;>EB2V3R_|h}R zzj3J){WbZ!b-z{ftwf-x1XyQ()4bq6^sfsHMHIHqS$XOG|`hx=!A%T`D z>|2~>#Ofg&H6EbXZ&{vmt_fJ0s9Y)!Z6Pq}9ChBB@~`?he)VWfa!4IGJkReeuv1d^ zxCCSzwYWJpIozV0fz2U;yC?#-8VirH%+PsQmi_a(j$b(fHVIkYU(`emo1-G1{F_UR zfdmYB&T_J3A9c<_g)#An*f6ZZmJNVf1b00-;TA?(!|6s*6~!FN`IKqEKa!n5@>B4s zG562%brNxa77hCPr5)pVW@%*^4dyvWeawQKUg9__h&pG|B=rg(H<2ghzSa~Kp_4@z zYzi%k5#J0qV$0#a6iWOJ&iI>J(8Nm}l)29N5fD2&bA7&CIE?V=b0qY4vmNZ6vs^-B zn0hlCugFuc%Xw5+B%%4?9s%s-bIDNJ5n_#ryxR?VTac!mu)p_+^fMcpYS{<^G8mTRRFto{eCVjf&L+wG5pc%-`af z3htaOIS?6*-htrxH*G8Qc1S?T=X2m7zs4p=-~D0!!vCVS?bkK$Wp4nZ!k>5U@QD*h zbspNglAwp_$N_`QGLt8f2U+^hy0Vz%cP8S}r+ndzH!v6q?e|>kCl)FE?$;QwHp$Gz zc7sUrj~1yVYsHWR`sCsf#L@HcUb!jg9=N#aHBVJKfKI_1WN|%vNDm$j$gFij9l|4Z zYwBO)GDX*!j{Mn?FuJ$=Em}!E+RE1_9{%s^YpW}^Ok2b-MBo!>#((mTI^n=DXcy3U zj?@mL#`jj?ru)P}FsLh|efm)7$>xpxekG7fu1mZ3dyc`r;{Hfo{N#K7gZj3@Utqa# zf`*18z*DhAo5H+hm0qk`HT9g+BXsK{HYh%mdYeZKKNt%Y4hU3=1<)hf(>DwHr%v0( zODOzK2Y&Wtj-d~DDZ664ejBUkNBAesocZ*Sr7m8)qGD{TnfeKUAr^e|$UaJ&;c+1_ z>9L}6!V{l3JdzG z>_9J*dph*lMJ6#=7WL(cOd)^z1d)upk<^etO;tX%M|d59J{knn?Im3K6pI_y$KCrP(=F}TpWxg<&f8l@Ro_)p!1i)=x>U!@{?-zQdtKl8qzvr^% zk5|swz)v1f0@8y?@1spX6Jn(6@yX#*-$(4Sw)&78L#&dfwWBANx}Wnpxcd>SpWb$l z)As8&JvuaU4cu1-)9TLj^n6kG8<&+23X7&kR$_y@-r>Kq-7DQU7Q0?S&mwxA?o3fu zJ;s$0=H7Saf&j{mSg!okE&B9VoY9TXaqdXdny8o2cm3||^)*8K&%A3fZc|$XxACtv zmt#GmMFP#cUZoMi@WIeb`fxwZhf-F}OU&~F(V=!UYzTE?&>WF_+p_Mx9~~R5wA2p{ zZjhY(=oi0qu>=9!iN9l)=&N5O<~xt*?f2MC=ojz^sz-=Hu-%e3+IDWEnZ12?iX3GN z{(fzEfk;y8+UxP&M*~2eo8W!o5A-`$zk0=!J~c)%7Fo!lN^g1PUODAH6H-qNEZXY4 zBaGRnXC?++$w0b{?_qhQ$}RdF!%xJv(+-Qfq{Cfk<^R@)gHbl+itWGXZdex~mLkmj zoFZ^3tK(fQMHu$GWOZ(`V@dmUKi3~0QI+M9D-ZXGv$CEq<#Xj9H}zW|)Fr-m4n5(W zeusZ~KPwN=o5pufUgn`kZ$^TGugB?}dxC_h=`__q~ZA%n;#!JR$R%d|mvyk}p8v$a;xO^Ny`z^NmN+ z+VXbl;k2E>C!MERfXgBd1-+*|;mMDFo`3&5Z{e^0FpAa2F6K=5U9$>4of<2DO_8}j zJV2@CNLrB?v9B;HuiCY|mSy*jW6RsXo`YTjqH|!+jbnO}&ma5ec=FSuMia8f4T};W z8O;SitTxTwKySc$VnZaaw!2&a=oo-K=N^(4mrJh*fs*fYb*E9Tc|IbVtH<0>uC6gf zpB}G6j7f~W5lsB@mOwHIY%qYrI#Gen- zOjB%b1TjOHXv9IbcRuCU$tO1D+u4hX#}paD%=Dtf(u(?-qj0ynde1 zoWGyJj~KNaj8#;QhKT055nA&DIZVXh?Md+^nQk3?F)`d8jOl%-DO5gbFw1S}F};fi z{FQ^JeN6so>Cut++%pE1^D16y3?iiid&V*j`#?Eh)y)*yLaw%M|A~)uyPS#83Vmd$ zDH9tA5j7KZ1BAC(MSGSoU2`VWko@F(8zu0EDTN9QVhzcv62gchJR$@mj?0{IvLbR* zrlNWn-szo{zwIymg!j0Z(_wz}JVIpI7)3a1THoGdkUoN{Jb1$s;w7A$SgL70{fgsxq-|a27{TLgg2-)?U?E$b-2;8cM2jMn z`x~)&feh5{GmG67k7%&t2?E9lt~OY6$vPd7-8)Pcu&f`9SwV#V|}s# zZ64$R*Q>?D1%Jg$5Hb)AcA*Bn4pSFnpdO;1tCpWTR4yXeIbmlDI-`VQ~ z4NrJGW6o`cd*RVhKtg4YqrrCEenJ-vzjEplo<7g}g!%uPpTlD@G%Bx}IkJ%Z-F&d~3)rY!Ney!~v&NX{1uhH#DL?7N^{{e(0itQ= zMuS9~G6^hKWaGNE>q7%bL<4#Tgi|oh+yPL$R}V${Yqzmp@S_Iyr@k&%)?#xRzxsWK z8G8Qo`=Qm8W)3{3D6uekaR~{aMX1o{DYrJzM6e9;np+~uf!{RH&@NLpf7-P&BWn&~ zJ$1m?P5Oj;F8y`puw(5`dO0AWE%cO498+1O75gcliT%_2G<^>obhdM*oNLaFmj&9e z1G&8^NYA#gan2ccVPczpuw23#SB>t848pn`PCz|~hEJ4o;#Jf@D*r;$M){m&X)8=E zv4}`1j>nx@JUJvWLgx|8Jo|k8v-b})14mAi0B1h!`)<^+2U&ed_3C^!+iH0#QLU?P zyG!6+%)@70P|&Iv^tSJS1n9a78Io zK}49MN*xAARabyPA*Rfar$HFEo@~|U9@6_Dqd`wE1GGyz3x=tnmIiKQAUSDP0PpeI zLh|yh=Co8yeWKkNr=Q;viBo|r^{n(+zkIko)`%N8fBL0f0JWY~htw*fzj??yXdGvv zeji9EI_XMW)%l|$B78%J{q?P`AY7mOyil~R&wg^y*$oG8xqo%LVu7?yU4*ZOk*BEm z&vmSRhk1C677+DdFcoCUtv;P-#wDTAX}k0(v}*Juvqu|6xpQk4g#_ZM4Ix?NdA#N| zQw(y}qoG;gxDWr1M>RZd&9;ipl5}{m)4fC;L5v!kc0KD8I#cgn$2icZ!3#C^p#_0WWf)iL$<)2A<{ zNTAv=;l0J_@aBCRwkPLZc1-@1d6x04A=TxiCm*^z2bwcvV<#-F`{bCtP zaUuD!xX@ukAXE*2b~_2VEyjTE7FEUQNZ3qqdf85_qDSFZ9bP<#nOjcIXx`c8@j}fj zqj+IDR}W+AI{AK1$D=933m&@10$S&in$>jXE!tOt)f~7p@mtezsM6(?)TxRZ%<A7@ zPvnJ-0Z}!dJ;yH~OLeKiOu9%s~;dHAK2%U;cR@W za-D)!7Qyd1F`HzF(hITb+IpCggh94}mSoULgU`e+({%b0oXR|8DNB1ZphdQGgTZ|U zJLWTlIS`PBVPxaiCMv`X&I0hVM)tx@8`I}eH7t$CLR>|1u?Na7UQCFFpCFLH5c$ZG zySY!?8pMS1b)8F6c7RNgR4@O z$wn&I7;JV@XY!_F9K(4@@+?Gmg`z4?(n03ySLiN1WE-C$Nn=%|Z;lI)nUc1r&)FC& zT(WW~kjWMtTXfb?h?g|Tn!sNJYe3xwsubHT%Q(4V#$`HzO{z>b0&CDnJ3=v=S;@zZ z`5Hy-;cKjDNcIVd^CwdzFNF20XZGZ-Yo+a%y$6lMdHlh65)(CEuF~`oYb@pUBlqTT z8l)|0vd_R1#v@AiBjJen$zagSWuD&G(=@ANVXb0Bmd9ndG~HN~wXD)IulUQe-K>uzxJma33w{!+-1@9FDw|K&{ z3@tXLyK4)XPkrPsl1x}PCqz6y)0n7!H=8hIj~H|F>8=O(qUF~$sCzZerSXX+>4A%9 zr9Nxc#WHK_Y#C0*zV9n|(IjDTNuV$J-n<9;k)FNAQ(tewSMVzpA+N@gp1$a_-AsfO z^AOM3o8Li66V5Uf4c!=a9}|9n`j9|jj}r!AToG17ddr^1etoKL?D+UhjsBJ0DB{)h zIoRy>%K2!^a(qLc5uQM0q}UU4HMnv7^}Pd?v*KVysV*R&61TRG$-61H*_JQuz)&`I zQtQ{VjP0Iis!UNYP5XT8`CLV(TOW~c-=|xmr^_Q#-o0u{FY1wc=G^b5T|0-KEKC#H z)G8NNiRC7O9weJwp|q}t?ZAlKs#OB z)0_Rncc2wqDkCy(MB`c5s5ltDvvsFfH_WS4_hr58>o|lvcS2m37@vDJL=!Y=67=(731XzFtP+Zg<9gjcGKvi9-*^ zE$!@(dRgamwPIExgUNJZU!@7?Pyw&NA$3!C+ggX9iTwkwUb384O z0VUFk@Xej>rbaO4(F*VmiG5anPo0L%)jk-e{MPa#{62R41~9cymL$VCh4y_?Ls=1d zm*g2Brzc~+pbZ2auKMG1u53_k?YW?nr92~{5nk2fc;CVoccvsAs^Y`g4eo52PXg=x zBh?6;yWnKV=BRePj~_Yxwl^zhgm7xUu7)#3(#KKV#oGAHR~rt3HbFz&l8dc8FwW7Ck@T47VN<^p{}x8I~Uojl9%+iU0}#v@_V zkIbc1et!IE96!dDUiuV5Eb~B3W?DpVpctOf^6_$DSbv3xA$o3aFTub=0=KQfH2S3z zM}P<54n0Zi;a3}wN96#U_bdf5Xixd%E)u4h@kw|5Mt5f$g^LltGN^ zG$nO=Um@=AvLvkZqS|6FdsEawiK}%@^q3OFrg|-=;STixUYc12CMBKpD+nnlGtNK$ z{>S&%D7{698?NA?n-}WIoQ$ajkTIx|C(%dWRR=NvU%2>}X^if;b)yy5Y}k5`+rb_% z6LMYYoi>~s`Q}DB#&XJV723WmNOP5_+yM$na!yfJ|B`7(l}f|h70k328+|mmu+;K> z>PcE%&SH%o*F{icBd2-yY(A4GG<$#22}e~?O6R+@=HSNbJM%l8fUg^O+!Hp}7d@eA z7SEp7pYyf{<)R(TIs1}b8`^vzoQ=#t^i^!cNrCq3yB(s5qtcAGp z4vZYE?DhGmp>miZV98E8tS|j}qt6Lrnr7k;L}P(8)=;+lueFf=xxMg~jPj8+#UB8- ze$`9)*mW!1UlnR;8STiHY$dD}=S9F!X!S{z`;U30#^^7qw$V<2azEGOPwPXc!IVQI z)8?U~a%x`F9(W&!)aIIMjX61R87+mr7#0WtX(HW8+LCMdJKRC~vdqF#;JTHH?kKe~M7YIjU?heJ>-3u3Y_u}sE?y~*wCi`aJPdk&$B$GKOXTF@| zmrR~#bMK#=vuuy~DYdlbGRWXBrN!NPF6#iQu*^|!B5(f4qaNsM3Z+$CfGZ=hfl`EZ zSAPgHxG$i>pw1$in9O$5(sazw(`&-wCktw7wSb>vku@i2rjY4+NKxqMD5m)u()gb# zzeI`9HR7gDAI4-C(#o%UDdCSFsWwd9&tSsA5@T!yJQHV%qOsZy-=qr1ikyHz>8A{6+r77l>5fTJY;`|n*Ri_iG2 z&!sJa+7221KeXk0St;l|*eQ$*XrS^x49(AcWYG#$_rZ$@e!yx{OsR8*XD8;J7=w!y z7Cv1a>@XkRYCXDop26)pFhJh-A~p0%1$rOOEaf&-HPcTsU_3E*;deQ7RQjcnlma3w zgBkWz!fo=EDiqWX5_fRQY$R!4Z}n5o*&xnUGUTyUffQTIK_PBY@{_xX4h<=~QFqSq z7=;b)p2&o@TebHGENvW1#BuxtFL2V8EUy8?t1AFIaUt9R0P8x|DQg$QfO%V*y@IrF zwDXa=O%<3RnR7;oUjHvB9adPu6WN_S~EJiX1 zdXmucf6_X4XvfU?sGYxvMnIv5{7{xJE;t-v@`!OitV6v_@Ei$aRHrpcW|tKZGT%ef z7E+lHNd&`iLWe}xDhmY(d<0iQs|WDF(+RTDp4US{PreH%nTLxvm1e#2F%Lc5Z|~%a zy;fiY%9(;hoXn!!gJN{8upX}l!egX3CI>o&t5s!5M|G#YfX32qX!F+8JxgbQ z+>WeW^X9f_{+S{+C5{ag$pcy3*elFe$!0^tm&)d-ZJ;fj% zxxZ6Y4~~<$ku7g+)s-lWdNBHV5czIQ;j~_V->sTW*D91@9Md}fJ&3E0a&rCRva0Bw zXCG3#m^{kat7Zx>a;yNPno3C$zYb5}gk*iYJXwaYa! zj3{9=TzMY;=cho7<07B>bfG7pbC=_UWa`Q?t`<9#A3{LRXwV$PPE52AOh}D!v#^1D zh$R{JlYGJCj#qt7C^_}v_96+$vX|ZdHnHj>5NzIhirsRSdvwKHtDxV@5aBXz>g;=? z`_#_oik=1z6lRXjxQ9%(1bF-*e%)s{4r{P6i2G?O82z<`&C~zd2mr*yua@5cMIT`Z zBOodScH?MPLvx-fEbSNUb_KdGeitJ=1dQ_|#Hi5iN_DZ#xF?Cf4=ezlmga&xMOFbr z-T@POYqe}Cxj$@*O=PE&eTwl7#@QMhQ-RKRqA{3CHyNfsh|LXNuih!v1B=rLipJjsEuq{X{oBEDK;suRCaj@4VE+PQPS`a_er zl2qSeioKZOYAh|}#`LPq3pp6-J9lLYQ8xJAN!a}(()(y2j7 zVJ~gGbs5FcDNkPt=D07h{&=c2ZUoi!XvhQxjUUg87%(f0A9wNX`X;a}Bs zBUoRWuI`hseJTWuMUSNVI2#;v$B(K<)u=%mKZ3;(!5F>Q$^?V9cL$17{MN?_1{q2} z3k*NdZNzMcS^$Agpq*htr-OSe3Bv@|m7VWr|0@~vg%}9gzvVNL%%w%?t z6oki&56yKq=bms}Wm5lh=vtI~>_fZH$G5Yzug!S8ORiVS5Bd~G$9M1OtFS?lT3zJW zlOB=u@Xeh+<=~Dl!*--ky#3W~SsUZz?beS#0$+qlsO}Q^n(r1?87Y>p+9|r%#;?AY z98|YHJntE>JwBN4d|Y$O0C}l`9*^toy`C#U7L8I?W9r@H_o-fk_MgV$kPgs5;vt|( zp4eY7p}827H@Ks8_ zuv!0S^24LNlSl%K<9d^8dFBUi*acapi2^q1Dkf|~z#puUN%FDgOe)3xydSE~_Eks> z1@dshx@~0&eG3_|bcK@~${EYjKpjl5mlbb4qzTpb)KWq+Og;tVRfle*9p00$qbT2L zx8qFi)(hr(8maNzJAx^doxfG`B!b?uqWN(}3dZpKcW?;goqyfeO*;bB%Y6n*hk+r! zm$gaO<7<>Zd2pCl7KIz3z0=^57!w^{4ir-(qpt+3Bu zX$V?qv686+*6J;gMmBdl;K}mRW&`3X;^qV1Q7+-}6IwF&@XuqD^diliA~-}_^C6!I=a278k?$Z_HDXJHIGj6i+l{tS1dI1gWWc$q zXcrOVgGsuA8i<$6m&l=sY+ZQTPJYZ%;-^zKk~L$dv?D|(<*H95TO5x7$(wFN4Ysq@ zr)|yM(^`rUflTp|wr0$?@-@zWdSJV&VYL_jTU#t$+wjA83;T@uY%t^l-i%wPp)e*N zyGiNSsRZ(q^jD~GNW&NDgu?Q;j`PNB?2&FludOAPj$+Nv&ro_=@1dUdqeddEnN7`7jWYE&1)`6Q`J z$6mV_Mv}U{_xwv2(fn6w+Ai_Ye>2XCnhHSQ+NE7noQ_C7f5&D|+uH)*#b;AJ~?ObnAKepenv}Q~8rUzm!#Dfp&`&=ud_GIgF{BZPM%=^q|vkV&Q3yFRm zt^sS3_7V2@(*lU*XlgiFNpls!hT(S#V(D2RSSzRQgDF;s@9ROQy#yvJRH}m1#WJ0j zFr@+IH>;;Aaj1oJQ%kSO9iBuM<79}8(U_XmWCKbj?HDN2#mwCR1aB2br5pxC{J~tt z-p~5MEdp;t1@zVTmV07ljsV|7(62X~i1Z+1Y<>KJ5UThTp2Xk>-kXR`ck!g1GR{ck z80&+Vw+YK;oAaZt4{+PxtnU3ClFP6lf!~zm5OGH)v=~58Me$s8Or~%|!J;WYmI5Vy zY2cuG(C)oZW{F?V_!uh6T~4_VVe;qNfn0pTa=SNkP+=METztXtVEb+6ISRc4L^?CG zff3grV}}#X`tX4uj0_@I8G($G8pXW2Pif*`PxRM*Mkk=wNS?u`P;)wq-ik`LmXjrX z$3lOWBcfAwgMG*g?u-8kk5(vK?s?UQ?{ww7pT{eX53!x5VnPJo{g5C>L~fah%gCAQ zgb-ySJ9HUrTKW9%Vgfj%H2)L$KptGkNGW&u-Cy6HN|qDT()PClt`c{5&Gnt!$WcAh zVsM|Q=IUIVqxqYd?yOwf=0D$lgO0MciP>iL=sNh`=~MX@ z7yO(N35Csl(oQl%$h9m>>pg<6J+Ur?ZjY~9pLE=ww zh(#`SEjBUT2gqt?F@VDT(!_jtJL~q;ZPDqoFjd*wpN~@!Q!v8t!WlLG zvpKt1bYoI>fWmP73jFk`TBw`f^7*<0mnN;C9n!MTRh7zkujExWdpgRwK|ttTA=juz4_wz(9YhAr;ymSxi?(KF`d}3zf4UeIuh6mF0pOlvY z4TSqTXB)|wrIcE2mt&+>lM$d!fZ`jll|z|ZTN(ipvwGGr zJe?qU*MGY{=T`bGVaz+$5d%60!$3$cAFKME%%ftGtK>w{p{zy znkUDEeN5%ul0~vHo6VUa_jE_|E^DP4?aV^MV@5x><4?3u&!ag&K@z9qJBgJ_wm-;V zhZKr9(Pxe@WUFAL@Ds?}LfHP<&Iw6)GOH{!5QNTzOg-8+MBi=oF=gt79X-wjx~^r{ zDpOK<)Lr-=cmDDIdVkkO>vQRfzas1s-l?^n25#bq$X&Ue(6F@uySE4~_*WkmZf-o@ z_lUnBzh1hpZ;m)8;`}}lmE|Cz5Wv8|;J|D_Bg(6?MN=QhU|^oSU|CmJf>yTGwQIFu2jee0H;12>r$4p4 zwYxSud|v^sBW{dTW_!*It?EfA<6(D`Z>UNh6Cn$DnKq0yyQt{hzOB4|A9o+1%6@v# z&>#bI3Uhbe>D$%jUhcug!`wrq(o*geYVGsCI=Vlf<|a4Z<{qYx z!ce+Ay`FtOpNu`-UA*5;ckV7;P66(IPt$k(AI6?OUM*iINK|peHN-?UeqDS5{g+#v z-U4Dkv3tv!caOV^1ys;cJE&G@vs5X*76VpZatG>9M z;jOJI@YL3p<#$GW%;Qf89UjO_?gdpEQE=i6KM&Y1kTv6=`=o02ue(-dmkee8hFOQ; z8d+PK-v9G9DhdoDZsk7CF$Xp-V+ClCBscbU5e9;DmMk1c4C`}O-4u!`<&5^GY98%|I6SyV_O-_z>r8+d~3sS z5M)v-lEyd}i6PnWVDh(eIq>+wWn8r66bjNFDj9hzsJmXZ!p`$H84PBUx_~?5>B)wc zHau<_6Nn57sDGBa{xmEt6@l2_mqo(ei44y`qrvLz=v35q|Lw`jcG%4oeRzdBk;^Y=`Tq&%3!kaR~UkJ{_m9;QQW8;=BmaZ%*JRk zUWdZVU`aDK8v4L`cDFfJh1F2^v`zDN8Su?MJjNHy~)^dH3`qnxmqw-DD36Z5oHP9;I-1x}o%lu*I&ZA{C}O zC&`e3B7w{&M54qR2qNOLJAm?GA$h$l`_M7U5{K2${RzA(1E+gm*HK^-bj{p?n=JR7 zMQRXPSwalR0dOrlEr=!ZX}4nq@Xz;=KuHn|7OKDsEL#uiFDBw2aVzWA7mpPsM&6)9 zyh4Nu{jpsk{fw)F5E~RYQ4qZc31btl__rB)p#Wvl=P ze8c3I$Usy+AVdz15b#U9Z`o5otf#+sv&NuwUthbxz}LS&P?DoYj-!R6j?N==)ma|Q z9iMGlpm5S7|Y6V-3>_j+kH^%^J6TwC<--9)x% z2SM_{TB{7qz!FK*tb&?_ zG*iEktZo1yWp=ETjs(cO8RP_2z&S&esgnNAMHeSZ ztf2eduJ{}k6^J}wIXb5Q=YwSXHiI<(ePofG)p;TSrb-ym} zH$)rZVUW!mVl7g~Ofui@>u(~i#)Dt9qHDX-*f8pvpUGO7-Q*COhjseHf&T2(Av!hj zv7sn%!n?Tam(3Qdc_E4|o!-isoMg8!3rxvj$VK92IAsO}E*+65`9U_N6Lu;)y)E%~?)TiqXgt?)DYJ<7^~-K2RT`AgeDIX~EI@X;@!-=JhyE+E6eU z;_BP_s_l5|aRS^t{iNIZ3&wb_Y=6FgjhrZaKR`u~Vl!wKU59+1E0SYELP}D?@fE6x z6v_H~K8h^$SPe%7s+wB&DzZq`6ufH$;3w%!md`oqFBepPI%tSG7c*f}q~IJq8Zyye zFm!t%-}&Lvt%htatXmgT_^|?Vos{FaFg@2;Z-&zfn_)zWb!5z5Q%TBVWkm_;34SjM zLeUC9)FNf%ql23Iaqm?^(8PlYkeHg5gN#>3Q~Su+N;Y#5Owel8@a0;f_k$3SI!ESp zkGbd^%xi_f-4R9%$3(0)#L&gP#{Uj)$D#L@MGsSnh@t40vcH+Au9G?I~} zUa`AnDkvANF{+osS=}p47Nbwzr7&@YP3_@2XTephASBT$jnCs8)dUGCjKcg=3%>dj z*)rBpNuyM(5i7UfBGGo*1$NsN$q2NYaT&QX^T20KZNhi= zjr^Bwd@<9^NG|Mb8svsSBurlT3;(F&{m8ikQSQs`@|K{8PwWLks3aGLa=AhZz~rj&K7QuyuZy6)gFM8e>V=$!y5WEPYno6Z;^M}D z@&O{7_=ZC(o#TR_=?|{-**D&(s$Ly)+G1SNYf8FTiRLJ=LW_BEDM$!C%Gvrp7<5;W zeQBB-jcUsy^GM`9{6K^YHT+u;Ehb&WNJ^g*&op<{pjPqPeIuV8Q}|wQ%Y@MIilHBs zz>KBeRE%ikAZKvg#X(7Rbq4D5L;9FCYVUWV^eU%Jl@m&c7_`JbiySySWT^#Dax3f| z7q$ce#_yLlJmy4da{9Q6ez#e+Y@Z=NT`wb!pM2E4zzJ}{*gHi_D)S&MH`#ol4b;-^ zbn1SF5oS*T;>0n!)e>l#9TcVrZXZami%6ky$X>-D{g2w4wq^zLFNpVliW^Wx}E0g5PG^*wJ*6bYg z)-66)-kTST?o<$it_MYPbJ#wwi=T07a=<8Jzsx_q^q)--LzBQ6q3TFa-kV8cd$ZWK z1rvPn9DP>T8!zI7&9kF-4?TfRGt{M*A%u?r4uJ5IFtx4e#CIXKDRJ2B6l0zff_b*v zC(`@0-?wJb*@fy^S;$l;W#9gkl8>>t!KzWf@C+Ad45eM13n0%>XEP4vH@fk`Q`*0r zL{G^&eI9RQp{TuxH)(`b-@|PF#2vo;;W(1>ETWNVA_|>_R7%BmkY$D+7+ZSuo1-xp zflpE*8gb?1chk)11y28~VAu?rfJSk-b^=s_}i+8dvmzd&!TChLwqgk{CH1)q;#ZSXl zlGP_Nl+iFuu!utX3x&@th4#edn;RO@%ZZs}Dc>5j1kx!}iyD10sU3dZ0vE738F@S} z?xRT_a0hRO#=R(&Z^1unP2p&nRdcXLwHVN6a9nuF96rX)qi<6OTiBfXWNfQ0vRY~4 zhFRwJQn0%E=}?pTYsUVNINkXH{^a!a)yVNy^w2$90@uF@1Q%knBtk3!1FqiJyR8~V zc#j?M@S$l9u3U=s=g0dLS>epi8&KH5I{re?aY*)~6S}8rJUK`58-B^=nJ0nF;rF^;z|cPN7LbB zI*Pd++&!?mjaJecx*%mUsKMSJCMD-Ag%u+t;bS~F`Zo1JWsyUFTiX;UBk#*bQ14dv ze?ciURfcMGiEhKv1dg2BvM4*RYQ&>|3keWc;H(POKo`wL!-Wl#V|3fD&*~NL?ktLo zo(U)Fx;9Nj=Uu47&@nI%Vc^KBZJ3K+kX33#VC&n}W>!&qo^GLoIL0K)V`)(~hIM-A z)^>#&e#CW*z~CqRQbOG{j;MaGSn~MLi6*NI$$5vytyfu$8!3P1Y_0&i4ThsZ0&Y}v z*Vc9cg+G1YZ$IC@z?9{{A+W&y1CTa>R&0O1fr0U-f`K9Z1IYh(0Gu6d%uRnW*|<15 z{C8v_XxZ4t8v<<8AL@Uj=YJwM|K;Ph;4n94XW?WqH#6tuV7K64Wj8i9G2`Ii=HfA7 qH|G5x5dH6r{|&SM$rzac@&ARk%5u;!{}ToIZ*KnEM{^ Date: Thu, 15 Jan 2026 14:33:49 +0530 Subject: [PATCH 91/93] Update turbobot.js --- extensions/Seigh-sword/turbobot.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 0f0c06b019..243df35077 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -59,9 +59,8 @@ return { id: "TurboBotAI", name: Scratch.translate("Turbo Bot"), - sampleURL: - "https://turbowarp.org/editor?project_url=https://extensions.turbowarp.org/samples/Turbobot_sample.sb3", - docsURI: "https://docs.turbowarp.org/extensions/Seigh-sword/turbobot", + docsURI: + "https://docs.turbowarp.org/extensions/Seigh-sword/turbobot", menuIconURI: icon, blockIconURI: icon, color1: blockColor, From f552efb8ff2b4a7e40ba3e6af971a3aef4bcb665 Mon Sep 17 00:00:00 2001 From: Seigh sword Date: Thu, 15 Jan 2026 14:46:50 +0530 Subject: [PATCH 92/93] Delete samples/turbobot_sample.sb3 --- samples/turbobot_sample.sb3 | Bin 172221 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 samples/turbobot_sample.sb3 diff --git a/samples/turbobot_sample.sb3 b/samples/turbobot_sample.sb3 deleted file mode 100644 index 19d020cd40961c0242059fa9a425d20b2ecd1c2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172221 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 z�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 Date: Thu, 15 Jan 2026 09:18:07 +0000 Subject: [PATCH 93/93] [Automated] Format code --- extensions/Seigh-sword/turbobot.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/extensions/Seigh-sword/turbobot.js b/extensions/Seigh-sword/turbobot.js index 243df35077..a8f270bdf7 100644 --- a/extensions/Seigh-sword/turbobot.js +++ b/extensions/Seigh-sword/turbobot.js @@ -59,8 +59,7 @@ return { id: "TurboBotAI", name: Scratch.translate("Turbo Bot"), - docsURI: - "https://docs.turbowarp.org/extensions/Seigh-sword/turbobot", + docsURI: "https://docs.turbowarp.org/extensions/Seigh-sword/turbobot", menuIconURI: icon, blockIconURI: icon, color1: blockColor,