From 3effdb45eadf30b5e4b363c95d801158f318ae54 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Feb 2026 09:31:21 +0000 Subject: [PATCH] feat(provider-gmail): add Gmail provider with OAuth2 and Gmail API support Implements a new Gmail-specific provider using the Gmail API with OAuth2 authentication, following the same design pattern as provider-email. Uses polling with history tracking for real-time email reception and Gmail API for sending, with native thread support. - Gmail API OAuth2 auth (clientId, clientSecret, refreshToken) - Email polling via Gmail history API with fallback to messages.list - Send emails with attachments via raw MIME + Gmail API - Native Gmail thread tracking (threadId) - Attachment download via Gmail API - 84 passing unit tests (provider, core, utils) - CLI registration with 'gmail' option (OAuth2 hint) - Lerna/workspace integration - 10 starter templates (JS/TS x 5 databases) https://claude.ai/code/session_011piiJy3GawULwcVB53STnY --- lerna.json | 1 + package.json | 1 + packages/cli/src/configuration/index.ts | 1 + packages/provider-gmail/LICENSE.md | 21 + packages/provider-gmail/README.md | 225 ++++++ .../provider-gmail/__tests__/core.test.ts | 498 +++++++++++++ .../__tests__/gmailProvider.test.ts | 340 +++++++++ .../provider-gmail/__tests__/utils.test.ts | 250 +++++++ packages/provider-gmail/jest.config.ts | 14 + packages/provider-gmail/package.json | 48 ++ packages/provider-gmail/rollup.config.js | 24 + packages/provider-gmail/src/gmail/core.ts | 668 ++++++++++++++++++ packages/provider-gmail/src/gmail/provider.ts | 291 ++++++++ packages/provider-gmail/src/index.ts | 13 + .../provider-gmail/src/interface/gmail.ts | 70 ++ packages/provider-gmail/src/types.ts | 159 +++++ packages/provider-gmail/src/utils/index.ts | 17 + packages/provider-gmail/src/utils/parser.ts | 247 +++++++ packages/provider-gmail/tsconfig.json | 17 + .../apps/base-js-gmail-json/.dockerignore | 16 + starters/apps/base-js-gmail-json/Dockerfile | 40 ++ starters/apps/base-js-gmail-json/README.md | 44 ++ starters/apps/base-js-gmail-json/_gitignore | 10 + .../apps/base-js-gmail-json/assets/sample.png | Bin 0 -> 113405 bytes .../apps/base-js-gmail-json/eslint.config.js | 23 + starters/apps/base-js-gmail-json/nodemon.json | 9 + starters/apps/base-js-gmail-json/package.json | 25 + starters/apps/base-js-gmail-json/src/app.js | 131 ++++ .../apps/base-js-gmail-memory/.dockerignore | 16 + starters/apps/base-js-gmail-memory/Dockerfile | 40 ++ starters/apps/base-js-gmail-memory/README.md | 44 ++ starters/apps/base-js-gmail-memory/_gitignore | 10 + .../base-js-gmail-memory/assets/sample.png | Bin 0 -> 113405 bytes .../base-js-gmail-memory/eslint.config.js | 23 + .../apps/base-js-gmail-memory/nodemon.json | 9 + .../apps/base-js-gmail-memory/package.json | 24 + starters/apps/base-js-gmail-memory/src/app.js | 130 ++++ .../apps/base-js-gmail-mongo/.dockerignore | 16 + starters/apps/base-js-gmail-mongo/Dockerfile | 40 ++ starters/apps/base-js-gmail-mongo/README.md | 44 ++ starters/apps/base-js-gmail-mongo/_gitignore | 10 + .../base-js-gmail-mongo/assets/sample.png | Bin 0 -> 113405 bytes .../apps/base-js-gmail-mongo/eslint.config.js | 23 + .../apps/base-js-gmail-mongo/nodemon.json | 9 + .../apps/base-js-gmail-mongo/package.json | 25 + starters/apps/base-js-gmail-mongo/src/app.js | 133 ++++ .../apps/base-js-gmail-mysql/.dockerignore | 16 + starters/apps/base-js-gmail-mysql/Dockerfile | 40 ++ starters/apps/base-js-gmail-mysql/README.md | 44 ++ starters/apps/base-js-gmail-mysql/_gitignore | 10 + .../base-js-gmail-mysql/assets/sample.png | Bin 0 -> 113405 bytes .../apps/base-js-gmail-mysql/eslint.config.js | 23 + .../apps/base-js-gmail-mysql/nodemon.json | 9 + .../apps/base-js-gmail-mysql/package.json | 25 + starters/apps/base-js-gmail-mysql/src/app.js | 135 ++++ .../apps/base-js-gmail-postgres/.dockerignore | 16 + .../apps/base-js-gmail-postgres/Dockerfile | 40 ++ .../apps/base-js-gmail-postgres/README.md | 44 ++ .../apps/base-js-gmail-postgres/_gitignore | 10 + .../base-js-gmail-postgres/assets/sample.png | Bin 0 -> 113405 bytes .../base-js-gmail-postgres/eslint.config.js | 23 + .../apps/base-js-gmail-postgres/nodemon.json | 9 + .../apps/base-js-gmail-postgres/package.json | 25 + .../apps/base-js-gmail-postgres/src/app.js | 136 ++++ .../apps/base-ts-gmail-json/.dockerignore | 16 + starters/apps/base-ts-gmail-json/Dockerfile | 40 ++ starters/apps/base-ts-gmail-json/README.md | 44 ++ starters/apps/base-ts-gmail-json/_gitignore | 10 + .../apps/base-ts-gmail-json/assets/sample.png | Bin 0 -> 113405 bytes .../apps/base-ts-gmail-json/eslint.config.js | 25 + starters/apps/base-ts-gmail-json/nodemon.json | 12 + starters/apps/base-ts-gmail-json/package.json | 32 + .../apps/base-ts-gmail-json/rollup.config.js | 13 + starters/apps/base-ts-gmail-json/src/app.ts | 131 ++++ .../apps/base-ts-gmail-json/tsconfig.json | 34 + .../apps/base-ts-gmail-memory/.dockerignore | 16 + starters/apps/base-ts-gmail-memory/Dockerfile | 40 ++ starters/apps/base-ts-gmail-memory/README.md | 44 ++ starters/apps/base-ts-gmail-memory/_gitignore | 10 + .../base-ts-gmail-memory/assets/sample.png | Bin 0 -> 113405 bytes .../base-ts-gmail-memory/eslint.config.js | 25 + .../apps/base-ts-gmail-memory/nodemon.json | 12 + .../apps/base-ts-gmail-memory/package.json | 31 + .../base-ts-gmail-memory/rollup.config.js | 13 + starters/apps/base-ts-gmail-memory/src/app.ts | 130 ++++ .../apps/base-ts-gmail-memory/tsconfig.json | 34 + .../apps/base-ts-gmail-mongo/.dockerignore | 16 + starters/apps/base-ts-gmail-mongo/Dockerfile | 40 ++ starters/apps/base-ts-gmail-mongo/README.md | 44 ++ starters/apps/base-ts-gmail-mongo/_gitignore | 10 + .../base-ts-gmail-mongo/assets/sample.png | Bin 0 -> 113405 bytes .../apps/base-ts-gmail-mongo/eslint.config.js | 25 + .../apps/base-ts-gmail-mongo/nodemon.json | 12 + .../apps/base-ts-gmail-mongo/package.json | 32 + .../apps/base-ts-gmail-mongo/rollup.config.js | 13 + starters/apps/base-ts-gmail-mongo/src/app.ts | 133 ++++ .../apps/base-ts-gmail-mongo/tsconfig.json | 34 + .../apps/base-ts-gmail-mysql/.dockerignore | 16 + starters/apps/base-ts-gmail-mysql/Dockerfile | 40 ++ starters/apps/base-ts-gmail-mysql/README.md | 44 ++ starters/apps/base-ts-gmail-mysql/_gitignore | 10 + .../base-ts-gmail-mysql/assets/sample.png | Bin 0 -> 113405 bytes .../apps/base-ts-gmail-mysql/eslint.config.js | 25 + .../apps/base-ts-gmail-mysql/nodemon.json | 12 + .../apps/base-ts-gmail-mysql/package.json | 32 + .../apps/base-ts-gmail-mysql/rollup.config.js | 13 + starters/apps/base-ts-gmail-mysql/src/app.ts | 135 ++++ .../apps/base-ts-gmail-mysql/tsconfig.json | 34 + .../apps/base-ts-gmail-postgres/.dockerignore | 16 + .../apps/base-ts-gmail-postgres/Dockerfile | 40 ++ .../apps/base-ts-gmail-postgres/README.md | 44 ++ .../apps/base-ts-gmail-postgres/_gitignore | 10 + .../base-ts-gmail-postgres/assets/sample.png | Bin 0 -> 113405 bytes .../base-ts-gmail-postgres/eslint.config.js | 25 + .../apps/base-ts-gmail-postgres/nodemon.json | 12 + .../apps/base-ts-gmail-postgres/package.json | 32 + .../base-ts-gmail-postgres/rollup.config.js | 13 + .../apps/base-ts-gmail-postgres/src/app.ts | 136 ++++ .../apps/base-ts-gmail-postgres/tsconfig.json | 34 + 119 files changed, 6198 insertions(+) create mode 100644 packages/provider-gmail/LICENSE.md create mode 100644 packages/provider-gmail/README.md create mode 100644 packages/provider-gmail/__tests__/core.test.ts create mode 100644 packages/provider-gmail/__tests__/gmailProvider.test.ts create mode 100644 packages/provider-gmail/__tests__/utils.test.ts create mode 100644 packages/provider-gmail/jest.config.ts create mode 100644 packages/provider-gmail/package.json create mode 100644 packages/provider-gmail/rollup.config.js create mode 100644 packages/provider-gmail/src/gmail/core.ts create mode 100644 packages/provider-gmail/src/gmail/provider.ts create mode 100644 packages/provider-gmail/src/index.ts create mode 100644 packages/provider-gmail/src/interface/gmail.ts create mode 100644 packages/provider-gmail/src/types.ts create mode 100644 packages/provider-gmail/src/utils/index.ts create mode 100644 packages/provider-gmail/src/utils/parser.ts create mode 100644 packages/provider-gmail/tsconfig.json create mode 100644 starters/apps/base-js-gmail-json/.dockerignore create mode 100644 starters/apps/base-js-gmail-json/Dockerfile create mode 100644 starters/apps/base-js-gmail-json/README.md create mode 100644 starters/apps/base-js-gmail-json/_gitignore create mode 100644 starters/apps/base-js-gmail-json/assets/sample.png create mode 100644 starters/apps/base-js-gmail-json/eslint.config.js create mode 100644 starters/apps/base-js-gmail-json/nodemon.json create mode 100644 starters/apps/base-js-gmail-json/package.json create mode 100644 starters/apps/base-js-gmail-json/src/app.js create mode 100644 starters/apps/base-js-gmail-memory/.dockerignore create mode 100644 starters/apps/base-js-gmail-memory/Dockerfile create mode 100644 starters/apps/base-js-gmail-memory/README.md create mode 100644 starters/apps/base-js-gmail-memory/_gitignore create mode 100644 starters/apps/base-js-gmail-memory/assets/sample.png create mode 100644 starters/apps/base-js-gmail-memory/eslint.config.js create mode 100644 starters/apps/base-js-gmail-memory/nodemon.json create mode 100644 starters/apps/base-js-gmail-memory/package.json create mode 100644 starters/apps/base-js-gmail-memory/src/app.js create mode 100644 starters/apps/base-js-gmail-mongo/.dockerignore create mode 100644 starters/apps/base-js-gmail-mongo/Dockerfile create mode 100644 starters/apps/base-js-gmail-mongo/README.md create mode 100644 starters/apps/base-js-gmail-mongo/_gitignore create mode 100644 starters/apps/base-js-gmail-mongo/assets/sample.png create mode 100644 starters/apps/base-js-gmail-mongo/eslint.config.js create mode 100644 starters/apps/base-js-gmail-mongo/nodemon.json create mode 100644 starters/apps/base-js-gmail-mongo/package.json create mode 100644 starters/apps/base-js-gmail-mongo/src/app.js create mode 100644 starters/apps/base-js-gmail-mysql/.dockerignore create mode 100644 starters/apps/base-js-gmail-mysql/Dockerfile create mode 100644 starters/apps/base-js-gmail-mysql/README.md create mode 100644 starters/apps/base-js-gmail-mysql/_gitignore create mode 100644 starters/apps/base-js-gmail-mysql/assets/sample.png create mode 100644 starters/apps/base-js-gmail-mysql/eslint.config.js create mode 100644 starters/apps/base-js-gmail-mysql/nodemon.json create mode 100644 starters/apps/base-js-gmail-mysql/package.json create mode 100644 starters/apps/base-js-gmail-mysql/src/app.js create mode 100644 starters/apps/base-js-gmail-postgres/.dockerignore create mode 100644 starters/apps/base-js-gmail-postgres/Dockerfile create mode 100644 starters/apps/base-js-gmail-postgres/README.md create mode 100644 starters/apps/base-js-gmail-postgres/_gitignore create mode 100644 starters/apps/base-js-gmail-postgres/assets/sample.png create mode 100644 starters/apps/base-js-gmail-postgres/eslint.config.js create mode 100644 starters/apps/base-js-gmail-postgres/nodemon.json create mode 100644 starters/apps/base-js-gmail-postgres/package.json create mode 100644 starters/apps/base-js-gmail-postgres/src/app.js create mode 100644 starters/apps/base-ts-gmail-json/.dockerignore create mode 100644 starters/apps/base-ts-gmail-json/Dockerfile create mode 100644 starters/apps/base-ts-gmail-json/README.md create mode 100644 starters/apps/base-ts-gmail-json/_gitignore create mode 100644 starters/apps/base-ts-gmail-json/assets/sample.png create mode 100644 starters/apps/base-ts-gmail-json/eslint.config.js create mode 100644 starters/apps/base-ts-gmail-json/nodemon.json create mode 100644 starters/apps/base-ts-gmail-json/package.json create mode 100644 starters/apps/base-ts-gmail-json/rollup.config.js create mode 100644 starters/apps/base-ts-gmail-json/src/app.ts create mode 100644 starters/apps/base-ts-gmail-json/tsconfig.json create mode 100644 starters/apps/base-ts-gmail-memory/.dockerignore create mode 100644 starters/apps/base-ts-gmail-memory/Dockerfile create mode 100644 starters/apps/base-ts-gmail-memory/README.md create mode 100644 starters/apps/base-ts-gmail-memory/_gitignore create mode 100644 starters/apps/base-ts-gmail-memory/assets/sample.png create mode 100644 starters/apps/base-ts-gmail-memory/eslint.config.js create mode 100644 starters/apps/base-ts-gmail-memory/nodemon.json create mode 100644 starters/apps/base-ts-gmail-memory/package.json create mode 100644 starters/apps/base-ts-gmail-memory/rollup.config.js create mode 100644 starters/apps/base-ts-gmail-memory/src/app.ts create mode 100644 starters/apps/base-ts-gmail-memory/tsconfig.json create mode 100644 starters/apps/base-ts-gmail-mongo/.dockerignore create mode 100644 starters/apps/base-ts-gmail-mongo/Dockerfile create mode 100644 starters/apps/base-ts-gmail-mongo/README.md create mode 100644 starters/apps/base-ts-gmail-mongo/_gitignore create mode 100644 starters/apps/base-ts-gmail-mongo/assets/sample.png create mode 100644 starters/apps/base-ts-gmail-mongo/eslint.config.js create mode 100644 starters/apps/base-ts-gmail-mongo/nodemon.json create mode 100644 starters/apps/base-ts-gmail-mongo/package.json create mode 100644 starters/apps/base-ts-gmail-mongo/rollup.config.js create mode 100644 starters/apps/base-ts-gmail-mongo/src/app.ts create mode 100644 starters/apps/base-ts-gmail-mongo/tsconfig.json create mode 100644 starters/apps/base-ts-gmail-mysql/.dockerignore create mode 100644 starters/apps/base-ts-gmail-mysql/Dockerfile create mode 100644 starters/apps/base-ts-gmail-mysql/README.md create mode 100644 starters/apps/base-ts-gmail-mysql/_gitignore create mode 100644 starters/apps/base-ts-gmail-mysql/assets/sample.png create mode 100644 starters/apps/base-ts-gmail-mysql/eslint.config.js create mode 100644 starters/apps/base-ts-gmail-mysql/nodemon.json create mode 100644 starters/apps/base-ts-gmail-mysql/package.json create mode 100644 starters/apps/base-ts-gmail-mysql/rollup.config.js create mode 100644 starters/apps/base-ts-gmail-mysql/src/app.ts create mode 100644 starters/apps/base-ts-gmail-mysql/tsconfig.json create mode 100644 starters/apps/base-ts-gmail-postgres/.dockerignore create mode 100644 starters/apps/base-ts-gmail-postgres/Dockerfile create mode 100644 starters/apps/base-ts-gmail-postgres/README.md create mode 100644 starters/apps/base-ts-gmail-postgres/_gitignore create mode 100644 starters/apps/base-ts-gmail-postgres/assets/sample.png create mode 100644 starters/apps/base-ts-gmail-postgres/eslint.config.js create mode 100644 starters/apps/base-ts-gmail-postgres/nodemon.json create mode 100644 starters/apps/base-ts-gmail-postgres/package.json create mode 100644 starters/apps/base-ts-gmail-postgres/rollup.config.js create mode 100644 starters/apps/base-ts-gmail-postgres/src/app.ts create mode 100644 starters/apps/base-ts-gmail-postgres/tsconfig.json diff --git a/lerna.json b/lerna.json index c2e45f307..e653b59a0 100644 --- a/lerna.json +++ b/lerna.json @@ -23,6 +23,7 @@ "packages/provider-venom", "packages/provider-gohighlevel", "packages/provider-email", + "packages/provider-gmail", "packages/contexts-dialogflow", "packages/contexts-dialogflow-cx" ], diff --git a/package.json b/package.json index 3cf927a5c..3abef8d39 100644 --- a/package.json +++ b/package.json @@ -67,6 +67,7 @@ "packages/provider-venom", "packages/provider-gohighlevel", "packages/provider-email", + "packages/provider-gmail", "packages/contexts-dialogflow", "packages/contexts-dialogflow-cx" ], diff --git a/packages/cli/src/configuration/index.ts b/packages/cli/src/configuration/index.ts index 318387f4d..9792bd223 100644 --- a/packages/cli/src/configuration/index.ts +++ b/packages/cli/src/configuration/index.ts @@ -29,6 +29,7 @@ export const PROVIDER_LIST: Provider[] = [ { value: 'instagram', label: 'Instagram' }, { value: 'gohighlevel', label: 'GoHighLevel' }, { value: 'email', label: 'Email', hint: 'IMAP/SMTP' }, + { value: 'gmail', label: 'Gmail', hint: 'OAuth2' }, ] export const PROVIDER_DATA: ValueLabel[] = [ diff --git a/packages/provider-gmail/LICENSE.md b/packages/provider-gmail/LICENSE.md new file mode 100644 index 000000000..959d8ec5a --- /dev/null +++ b/packages/provider-gmail/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Leifer Mendez + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/provider-gmail/README.md b/packages/provider-gmail/README.md new file mode 100644 index 000000000..c5330ea25 --- /dev/null +++ b/packages/provider-gmail/README.md @@ -0,0 +1,225 @@ +# @builderbot/provider-gmail + +Gmail provider for BuilderBot using the Gmail API with OAuth2 authentication. Receive emails in real-time via polling and send emails through the Gmail API. + +## Installation + +```bash +npm install @builderbot/provider-gmail +# or +pnpm add @builderbot/provider-gmail +``` + +## Features + +- Gmail API with OAuth2 authentication (no app passwords needed) +- Real-time email reception via polling with history tracking +- Send emails via Gmail API +- Native Gmail thread support +- Attachment support (send and receive via Gmail API) +- Automatic mark-as-read support + +## Prerequisites + +### Setting up Google Cloud OAuth2 + +1. Go to [Google Cloud Console](https://console.cloud.google.com/) +2. Create a new project or select an existing one +3. Enable the **Gmail API** in the API Library +4. Go to **Credentials** > **Create Credentials** > **OAuth 2.0 Client ID** +5. Set the application type to **Web application** +6. Add `http://localhost:3000` to Authorized redirect URIs +7. Copy the **Client ID** and **Client Secret** + +### Obtaining a Refresh Token + +Use the [OAuth 2.0 Playground](https://developers.google.com/oauthplayground/) or implement your own authorization flow: + +1. Go to [OAuth 2.0 Playground](https://developers.google.com/oauthplayground/) +2. Click the gear icon and check "Use your own OAuth credentials" +3. Enter your Client ID and Client Secret +4. In Step 1, select `https://mail.google.com/` scope +5. Click "Authorize APIs" and sign in with your Gmail account +6. In Step 2, click "Exchange authorization code for tokens" +7. Copy the **Refresh Token** + +## Quick Start + +```typescript +import { createBot, createProvider, createFlow, addKeyword } from '@builderbot/bot' +import { GmailProvider } from '@builderbot/provider-gmail' + +const gmailProvider = createProvider(GmailProvider, { + email: 'your-email@gmail.com', + oauth2: { + clientId: 'YOUR_CLIENT_ID', + clientSecret: 'YOUR_CLIENT_SECRET', + refreshToken: 'YOUR_REFRESH_TOKEN' + } +}) + +const welcomeFlow = addKeyword(['hello', 'hi']) + .addAnswer('Hello! I received your email.') + .addAction(async (ctx, { provider }) => { + console.log('Email from:', ctx.from) + console.log('Subject:', ctx.subject) + console.log('Body:', ctx.body) + console.log('Thread ID:', ctx.threadId) + console.log('Is reply:', ctx.isReply) + }) + +const main = async () => { + await createBot({ + flow: createFlow([welcomeFlow]), + provider: gmailProvider, + database: new MemoryDB() + }) +} + +main() +``` + +## Configuration + +### IGmailProviderArgs + +| Property | Type | Required | Default | Description | +|----------|------|----------|---------|-------------| +| `email` | `string` | Yes | - | Gmail account email address | +| `oauth2` | `GmailOAuth2Config` | Yes | - | OAuth2 credentials | +| `label` | `string` | No | `'INBOX'` | Gmail label to monitor | +| `markAsRead` | `boolean` | No | `true` | Mark emails as read after processing | +| `fromName` | `string` | No | - | Display name for outgoing emails | +| `messageSource` | `string` | No | `'body'` | Source for message: 'body', 'subject', or 'both' | +| `pollingInterval` | `number` | No | `10000` | Polling interval in ms | + +### GmailOAuth2Config + +| Property | Type | Required | Description | +|----------|------|----------|-------------| +| `clientId` | `string` | Yes | OAuth2 Client ID | +| `clientSecret` | `string` | Yes | OAuth2 Client Secret | +| `refreshToken` | `string` | Yes | OAuth2 Refresh Token | + +## Email Context (ctx) + +When an email is received, the context object includes: + +```typescript +interface GmailBotContext { + from: string // Sender's email address + name: string // Sender's display name + body: string // Email body (plain text) + subject: string // Email subject + messageId: string // RFC Message-ID header + threadId?: string // Gmail Thread ID + inReplyTo?: string // ID of email being replied to + isReply: boolean // Whether this is a reply + attachments?: Array<{ + filename: string + contentType: string + size: number + attachmentId?: string + }> + html?: string // HTML content (if available) + to?: string[] // Recipients + cc?: string[] // CC recipients + date?: Date // Email date + gmailId?: string // Gmail internal message ID +} +``` + +## API Methods + +### sendMessage(to, message, options?) + +Send an email to a recipient. + +```typescript +await provider.sendMessage('recipient@example.com', 'Hello!', { + subject: 'Greeting', + html: '

Hello!

' +}) +``` + +### sendMedia(to, message, mediaPath, options?) + +Send an email with an attachment. + +```typescript +await provider.sendMedia( + 'recipient@example.com', + 'Please find the document attached.', + '/path/to/document.pdf', + { subject: 'Document' } +) +``` + +### reply(ctx, message, options?) + +Reply to an existing email thread. + +```typescript +.addAction(async (ctx, { provider }) => { + await provider.reply(ctx, 'Thank you for your message!') +}) +``` + +### saveFile(ctx, options?) + +Save an email attachment to disk. + +```typescript +.addAction(async (ctx, { provider }) => { + if (ctx.attachments?.length) { + const filePath = await provider.saveFile(ctx, { + path: './downloads', + attachmentIndex: 0 + }) + console.log('Saved to:', filePath) + } +}) +``` + +### getAttachments(ctx) + +Get all attachments from an email. + +```typescript +const attachments = provider.getAttachments(ctx) +``` + +### isReply(ctx) + +Check if the email is a reply. + +```typescript +if (provider.isReply(ctx)) { + console.log('This is a reply to:', ctx.inReplyTo) +} +``` + +### getThreadId(ctx) + +Get the Gmail thread ID for conversation tracking. + +```typescript +const threadId = provider.getThreadId(ctx) +``` + +## Gmail vs Email Provider + +| Feature | Gmail Provider | Email Provider | +|---------|---------------|----------------| +| Authentication | OAuth2 | IMAP/SMTP credentials | +| Receiving | Gmail API polling | IMAP IDLE | +| Sending | Gmail API | SMTP | +| Thread tracking | Native Gmail threads | Message-ID references | +| Attachment download | Gmail API | IMAP fetch | +| Server compatibility | Gmail only | Any IMAP/SMTP server | + +Use the **Gmail Provider** when you specifically need Gmail integration with OAuth2. Use the **Email Provider** when you need generic IMAP/SMTP support for any email server. + +## License + +MIT diff --git a/packages/provider-gmail/__tests__/core.test.ts b/packages/provider-gmail/__tests__/core.test.ts new file mode 100644 index 000000000..ffdd649e5 --- /dev/null +++ b/packages/provider-gmail/__tests__/core.test.ts @@ -0,0 +1,498 @@ +import { describe, expect, test, jest, beforeEach } from '@jest/globals' +import type { gmail_v1 } from 'googleapis' + +// Mock @builderbot/bot before importing GmailCoreVendor +jest.mock('@builderbot/bot', () => ({ + ProviderClass: class MockProviderClass {}, + utils: { + generateRefProvider: jest.fn((event: string) => `REF:${event}`), + }, +})) + +import { GmailCoreVendor } from '../src/gmail/core' +import type { IGmailProviderArgs, GmailBotContext } from '../src/types' + +const mockConfig: IGmailProviderArgs = { + email: 'test@gmail.com', + oauth2: { + clientId: 'test-client-id', + clientSecret: 'test-client-secret', + refreshToken: 'test-refresh-token', + }, +} + +/** + * Helper to create a mock Gmail API message + */ +const createMockGmailMessage = (options: { + text?: string + html?: string + attachments?: Array<{ + filename: string + mimeType: string + size?: number + attachmentId?: string + }> + from?: string + to?: string + subject?: string + messageId?: string + threadId?: string + inReplyTo?: string + references?: string + labelIds?: string[] +}): gmail_v1.Schema$Message => { + const headers: gmail_v1.Schema$MessagePartHeader[] = [ + { name: 'From', value: options.from || 'Test Sender ' }, + { name: 'To', value: options.to || 'recipient@example.com' }, + { name: 'Subject', value: options.subject !== undefined ? options.subject : 'Test Subject' }, + { name: 'Message-ID', value: options.messageId || '' }, + { name: 'Date', value: new Date().toISOString() }, + ] + + if (options.inReplyTo) { + headers.push({ name: 'In-Reply-To', value: options.inReplyTo }) + } + if (options.references) { + headers.push({ name: 'References', value: options.references }) + } + + const parts: gmail_v1.Schema$MessagePart[] = [] + + if (options.text) { + parts.push({ + mimeType: 'text/plain', + body: { + data: Buffer.from(options.text).toString('base64url'), + }, + }) + } + + if (options.html) { + parts.push({ + mimeType: 'text/html', + body: { + data: Buffer.from(options.html).toString('base64url'), + }, + }) + } + + if (options.attachments) { + for (const att of options.attachments) { + parts.push({ + filename: att.filename, + mimeType: att.mimeType, + body: { + attachmentId: att.attachmentId || 'att-id-123', + size: att.size || 100, + }, + }) + } + } + + return { + id: 'gmail-msg-id', + threadId: options.threadId || 'thread-id-123', + labelIds: options.labelIds || ['INBOX'], + payload: { + headers: headers, + mimeType: parts.length > 1 ? 'multipart/mixed' : 'text/plain', + parts: parts.length > 0 ? parts : undefined, + body: parts.length === 0 && options.text ? { + data: Buffer.from(options.text || '').toString('base64url'), + } : undefined, + }, + } +} + +describe('GmailCoreVendor', () => { + let vendor: GmailCoreVendor + + beforeEach(() => { + jest.clearAllMocks() + vendor = new GmailCoreVendor(mockConfig) + }) + + describe('parseMessageToContext - event detection', () => { + test('should generate _event_media_ for image attachments', () => { + const message = createMockGmailMessage({ + text: 'Hello', + attachments: [{ filename: 'photo.png', mimeType: 'image/png' }], + }) + + const result = vendor.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.body).toBe('REF:_event_media_') + }) + + test('should generate _event_media_ for video attachments', () => { + const message = createMockGmailMessage({ + text: 'Check this video', + attachments: [{ filename: 'video.mp4', mimeType: 'video/mp4' }], + }) + + const result = vendor.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.body).toBe('REF:_event_media_') + }) + + test('should generate _event_voice_note_ for audio attachments', () => { + const message = createMockGmailMessage({ + text: '', + attachments: [{ filename: 'voice.mp3', mimeType: 'audio/mp3' }], + }) + + const result = vendor.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.body).toBe('REF:_event_voice_note_') + }) + + test('should generate _event_document_ for application/pdf', () => { + const message = createMockGmailMessage({ + text: '', + attachments: [{ filename: 'document.pdf', mimeType: 'application/pdf' }], + }) + + const result = vendor.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.body).toBe('REF:_event_document_') + }) + + test('should generate _event_document_ for text/csv', () => { + const message = createMockGmailMessage({ + text: '', + attachments: [{ filename: 'data.csv', mimeType: 'text/csv' }], + }) + + const result = vendor.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.body).toBe('REF:_event_document_') + }) + + test('should NOT generate _event_document_ for text/plain attachments', () => { + const message = createMockGmailMessage({ + text: '', + attachments: [{ filename: 'note.txt', mimeType: 'text/plain' }], + }) + + const result = vendor.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.body).toBe('') + }) + + test('should NOT generate _event_document_ for text/html attachments', () => { + const message = createMockGmailMessage({ + text: '', + attachments: [{ filename: 'page.html', mimeType: 'text/html' }], + }) + + const result = vendor.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.body).toBe('') + }) + + test('should keep text body when no special attachments', () => { + const message = createMockGmailMessage({ + text: 'Hello world', + attachments: [], + }) + + const result = vendor.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.body).toBe('Hello world') + }) + }) + + describe('parseMessageToContext - event priority', () => { + test('MEDIA should have priority over VOICE_NOTE', () => { + const message = createMockGmailMessage({ + text: '', + attachments: [ + { filename: 'photo.jpg', mimeType: 'image/jpeg' }, + { filename: 'audio.mp3', mimeType: 'audio/mp3' }, + ], + }) + + const result = vendor.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.body).toBe('REF:_event_media_') + }) + + test('MEDIA should have priority over DOCUMENT', () => { + const message = createMockGmailMessage({ + text: '', + attachments: [ + { filename: 'video.mp4', mimeType: 'video/mp4' }, + { filename: 'doc.pdf', mimeType: 'application/pdf' }, + ], + }) + + const result = vendor.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.body).toBe('REF:_event_media_') + }) + + test('VOICE_NOTE should have priority over DOCUMENT', () => { + const message = createMockGmailMessage({ + text: '', + attachments: [ + { filename: 'voice.ogg', mimeType: 'audio/ogg' }, + { filename: 'doc.doc', mimeType: 'application/msword' }, + ], + }) + + const result = vendor.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.body).toBe('REF:_event_voice_note_') + }) + + test('DOCUMENT only triggers when no text body', () => { + const message = createMockGmailMessage({ + text: 'Please see attached document', + attachments: [{ filename: 'report.pdf', mimeType: 'application/pdf' }], + }) + + const result = vendor.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.body).toBe('Please see attached document') + }) + + test('MEDIA triggers even with text body', () => { + const message = createMockGmailMessage({ + text: 'Check out this photo!', + attachments: [{ filename: 'photo.png', mimeType: 'image/png' }], + }) + + const result = vendor.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.body).toBe('REF:_event_media_') + }) + + test('VOICE_NOTE triggers even with text body', () => { + const message = createMockGmailMessage({ + text: 'Listen to this', + attachments: [{ filename: 'recording.wav', mimeType: 'audio/wav' }], + }) + + const result = vendor.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.body).toBe('REF:_event_voice_note_') + }) + }) + + describe('parseMessageToContext - email parsing', () => { + test('should return null for email without From header', () => { + const message: gmail_v1.Schema$Message = { + id: 'gmail-id', + threadId: 'thread-id', + payload: { + headers: [ + { name: 'To', value: 'recipient@example.com' }, + { name: 'Subject', value: 'Test' }, + ], + mimeType: 'text/plain', + body: { data: Buffer.from('Hello').toString('base64url') }, + }, + } + + const result = vendor.parseMessageToContext(message, 'gmail-id') + + expect(result).toBeNull() + }) + + test('should detect reply from In-Reply-To header', () => { + const message = createMockGmailMessage({ + text: 'Thanks for your email', + inReplyTo: '', + }) + + const result = vendor.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.isReply).toBe(true) + expect(result.inReplyTo).toBe('') + }) + + test('should detect reply from References header', () => { + const message = createMockGmailMessage({ + text: 'Following up', + references: ' ', + }) + + const result = vendor.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.isReply).toBe(true) + }) + + test('should include threadId from Gmail API', () => { + const message = createMockGmailMessage({ + text: 'Reply', + threadId: 'gmail-thread-123', + }) + + const result = vendor.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.threadId).toBe('gmail-thread-123') + }) + + test('should include attachments in context', () => { + const message = createMockGmailMessage({ + text: 'See attached', + attachments: [{ filename: 'notes.txt', mimeType: 'text/plain', size: 500 }], + }) + + const result = vendor.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.attachments).toBeDefined() + expect(result.attachments).toHaveLength(1) + expect(result.attachments![0].filename).toBe('notes.txt') + expect(result.attachments![0].contentType).toBe('text/plain') + }) + + test('should use default subject when missing', () => { + const message: gmail_v1.Schema$Message = { + id: 'gmail-id', + threadId: 'thread-id', + payload: { + headers: [ + { name: 'From', value: 'sender@example.com' }, + { name: 'Date', value: new Date().toISOString() }, + ], + mimeType: 'text/plain', + body: { data: Buffer.from('Hello').toString('base64url') }, + }, + } + + const result = vendor.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.subject).toBe('(no subject)') + }) + + test('should include gmailId in context', () => { + const message = createMockGmailMessage({ text: 'Hello' }) + + const result = vendor.parseMessageToContext(message, 'my-gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.gmailId).toBe('my-gmail-id') + }) + }) + + describe('parseMessageToContext - messageSource option', () => { + test('should use body by default', () => { + const vendorDefault = new GmailCoreVendor(mockConfig) + const message = createMockGmailMessage({ + text: 'This is the body', + subject: 'This is the subject', + }) + + const result = vendorDefault.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.body).toBe('This is the body') + }) + + test('should use subject when messageSource is "subject"', () => { + const vendorSubject = new GmailCoreVendor({ + ...mockConfig, + messageSource: 'subject', + }) + const message = createMockGmailMessage({ + text: 'This is the body', + subject: 'This is the subject', + }) + + const result = vendorSubject.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.body).toBe('This is the subject') + }) + + test('should use both when messageSource is "both"', () => { + const vendorBoth = new GmailCoreVendor({ + ...mockConfig, + messageSource: 'both', + }) + const message = createMockGmailMessage({ + text: 'This is the body', + subject: 'This is the subject', + }) + + const result = vendorBoth.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.body).toBe('This is the subject\n\nThis is the body') + }) + + test('should handle empty body with messageSource "both"', () => { + const vendorBoth = new GmailCoreVendor({ + ...mockConfig, + messageSource: 'both', + }) + const message = createMockGmailMessage({ + text: '', + subject: 'Only subject', + }) + + const result = vendorBoth.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.body).toBe('Only subject') + }) + + test('messageSource should not affect MEDIA event detection', () => { + const vendorSubject = new GmailCoreVendor({ + ...mockConfig, + messageSource: 'subject', + }) + const message = createMockGmailMessage({ + text: 'Check this image', + subject: 'Photo for you', + attachments: [{ filename: 'photo.png', mimeType: 'image/png' }], + }) + + const result = vendorSubject.parseMessageToContext(message, 'gmail-id') as GmailBotContext + + expect(result).not.toBeNull() + expect(result.body).toBe('REF:_event_media_') + }) + }) + + describe('parseEmailHeader', () => { + test('should parse "Name " format', () => { + const result = vendor.parseEmailHeader('John Doe ') + expect(result.name).toBe('John Doe') + expect(result.address).toBe('john@example.com') + }) + + test('should parse quoted name format', () => { + const result = vendor.parseEmailHeader('"John Doe" ') + expect(result.name).toBe('John Doe') + expect(result.address).toBe('john@example.com') + }) + + test('should parse plain email address', () => { + const result = vendor.parseEmailHeader('john@example.com') + expect(result.name).toBe('') + expect(result.address).toBe('john@example.com') + }) + }) +}) diff --git a/packages/provider-gmail/__tests__/gmailProvider.test.ts b/packages/provider-gmail/__tests__/gmailProvider.test.ts new file mode 100644 index 000000000..fcdcaea17 --- /dev/null +++ b/packages/provider-gmail/__tests__/gmailProvider.test.ts @@ -0,0 +1,340 @@ +import { describe, expect, test, beforeEach, jest } from '@jest/globals' + +// Mock @builderbot/bot before importing GmailProvider +jest.mock('@builderbot/bot', () => { + const EventEmitter = require('node:events') + return { + ProviderClass: class MockProviderClass extends EventEmitter {}, + utils: { + generateRefProvider: jest.fn((event: string) => `REF:${event}`), + }, + } +}) + +import { GmailProvider } from '../src/gmail/provider' +import type { IGmailProviderArgs, GmailBotContext } from '../src/types' + +const mockConfig: IGmailProviderArgs = { + email: 'test@gmail.com', + oauth2: { + clientId: 'test-client-id', + clientSecret: 'test-client-secret', + refreshToken: 'test-refresh-token', + }, +} + +describe('GmailProvider', () => { + describe('constructor', () => { + test('should create instance with valid config', () => { + const provider = new GmailProvider(mockConfig) + expect(provider).toBeInstanceOf(GmailProvider) + expect(provider.globalVendorArgs.email).toBe('test@gmail.com') + expect(provider.globalVendorArgs.oauth2).toBeDefined() + }) + + test('should throw error without email', () => { + expect(() => { + new GmailProvider({ + oauth2: mockConfig.oauth2, + } as IGmailProviderArgs) + }).toThrow('Gmail email address is required') + }) + + test('should throw error without OAuth2 config', () => { + expect(() => { + new GmailProvider({ + email: 'test@gmail.com', + } as IGmailProviderArgs) + }).toThrow('OAuth2 configuration is required') + }) + + test('should throw error without OAuth2 clientId', () => { + expect(() => { + new GmailProvider({ + email: 'test@gmail.com', + oauth2: { + clientSecret: 'secret', + refreshToken: 'token', + } as any, + }) + }).toThrow('OAuth2 clientId, clientSecret, and refreshToken are required') + }) + + test('should throw error without OAuth2 clientSecret', () => { + expect(() => { + new GmailProvider({ + email: 'test@gmail.com', + oauth2: { + clientId: 'id', + refreshToken: 'token', + } as any, + }) + }).toThrow('OAuth2 clientId, clientSecret, and refreshToken are required') + }) + + test('should throw error without OAuth2 refreshToken', () => { + expect(() => { + new GmailProvider({ + email: 'test@gmail.com', + oauth2: { + clientId: 'id', + clientSecret: 'secret', + } as any, + }) + }).toThrow('OAuth2 clientId, clientSecret, and refreshToken are required') + }) + + test('should set default values', () => { + const provider = new GmailProvider(mockConfig) + expect(provider.globalVendorArgs.name).toBe('gmail-bot') + expect(provider.globalVendorArgs.port).toBe(3000) + expect(provider.globalVendorArgs.label).toBe('INBOX') + expect(provider.globalVendorArgs.markAsRead).toBe(true) + expect(provider.globalVendorArgs.pollingInterval).toBe(10000) + }) + + test('should allow overriding default values', () => { + const provider = new GmailProvider({ + ...mockConfig, + name: 'custom-bot', + port: 4000, + label: 'Custom', + markAsRead: false, + pollingInterval: 5000, + }) + expect(provider.globalVendorArgs.name).toBe('custom-bot') + expect(provider.globalVendorArgs.port).toBe(4000) + expect(provider.globalVendorArgs.label).toBe('Custom') + expect(provider.globalVendorArgs.markAsRead).toBe(false) + expect(provider.globalVendorArgs.pollingInterval).toBe(5000) + }) + }) + + describe('helper methods', () => { + let provider: GmailProvider + + beforeEach(() => { + provider = new GmailProvider(mockConfig) + }) + + test('isReply should return correct value', () => { + expect(provider.isReply({ isReply: true } as any)).toBe(true) + expect(provider.isReply({ isReply: false } as any)).toBe(false) + }) + + test('getThreadId should return threadId', () => { + expect(provider.getThreadId({ threadId: 'test-thread' } as any)).toBe('test-thread') + expect(provider.getThreadId({} as any)).toBeUndefined() + }) + + test('getAttachments should return attachments array', () => { + const attachments = [{ filename: 'test.txt', contentType: 'text/plain', size: 100 }] + expect(provider.getAttachments({ attachments } as any)).toEqual(attachments) + expect(provider.getAttachments({} as any)).toEqual([]) + }) + }) + + describe('thread replies', () => { + let provider: GmailProvider + + // Helper to create a mock sendEmail function + const createMockSendEmail = () => { + const fn = jest.fn() + fn.mockImplementation(() => Promise.resolve({ messageId: 'reply-id', threadId: 'thread-id' })) + return fn + } + + beforeEach(() => { + provider = new GmailProvider(mockConfig) + }) + + test('busEvents should store context in conversationContexts Map', () => { + const busEvents = provider['busEvents']() + const messageHandler = busEvents.find((e) => e.event === 'message') + + expect(messageHandler).toBeDefined() + + const mockPayload: GmailBotContext = { + from: 'user@example.com', + name: 'Test User', + body: 'Hello', + subject: 'Test Subject', + messageId: '', + threadId: 'thread123', + isReply: false, + gmailId: 'gmail123', + } + + // Call the message handler + messageHandler!.func(mockPayload) + + // Check that context was stored + const storedContext = (provider as any).conversationContexts.get('user@example.com') + expect(storedContext).toBeDefined() + expect(storedContext.messageId).toBe('') + expect(storedContext.subject).toBe('Test Subject') + expect(storedContext.threadId).toBe('thread123') + }) + + test('sendMessage should use stored context for inReplyTo', async () => { + // Setup: store a context + const mockContext: GmailBotContext = { + from: 'user@example.com', + name: 'Test User', + body: 'Hello', + subject: 'Original Subject', + messageId: '', + threadId: 'thread123', + isReply: false, + gmailId: 'gmail123', + } + ;(provider as any).conversationContexts.set('user@example.com', mockContext) + + // Mock vendor.sendEmail + const mockSendEmail = createMockSendEmail() + ;(provider as any).vendor = { sendEmail: mockSendEmail } + + // Call sendMessage + await provider.sendMessage('user@example.com', 'Reply message') + + // Verify sendEmail was called with correct inReplyTo + expect(mockSendEmail).toHaveBeenCalledWith( + 'user@example.com', + 'Re: Original Subject', + 'Reply message', + expect.objectContaining({ + inReplyTo: '', + threadId: 'thread123', + }) + ) + }) + + test('sendMessage should add Re: prefix to subject', async () => { + const mockContext: GmailBotContext = { + from: 'user@example.com', + name: 'Test User', + body: 'Hello', + subject: 'Question about product', + messageId: '', + threadId: 'thread123', + isReply: false, + gmailId: 'gmail123', + } + ;(provider as any).conversationContexts.set('user@example.com', mockContext) + + const mockSendEmail = createMockSendEmail() + ;(provider as any).vendor = { sendEmail: mockSendEmail } + + await provider.sendMessage('user@example.com', 'Here is the answer') + + expect(mockSendEmail).toHaveBeenCalledWith( + 'user@example.com', + 'Re: Question about product', + 'Here is the answer', + expect.any(Object) + ) + }) + + test('sendMessage should include references and threadId', async () => { + const mockContext: GmailBotContext = { + from: 'user@example.com', + name: 'Test User', + body: 'Hello', + subject: 'Thread test', + messageId: '', + threadId: 'thread-start-id', + isReply: false, + gmailId: 'gmail123', + } + ;(provider as any).conversationContexts.set('user@example.com', mockContext) + + const mockSendEmail = createMockSendEmail() + ;(provider as any).vendor = { sendEmail: mockSendEmail } + + await provider.sendMessage('user@example.com', 'Following up') + + expect(mockSendEmail).toHaveBeenCalledWith( + 'user@example.com', + expect.any(String), + 'Following up', + expect.objectContaining({ + references: ['thread-start-id'], + threadId: 'thread-start-id', + }) + ) + }) + + test('sendMessage should not add Re: if already present', async () => { + const mockContext: GmailBotContext = { + from: 'user@example.com', + name: 'Test User', + body: 'Hello', + subject: 'Re: Already a reply', + messageId: '', + threadId: 'thread123', + isReply: true, + gmailId: 'gmail123', + } + ;(provider as any).conversationContexts.set('user@example.com', mockContext) + + const mockSendEmail = createMockSendEmail() + ;(provider as any).vendor = { sendEmail: mockSendEmail } + + await provider.sendMessage('user@example.com', 'Continuing the thread') + + // Should NOT have "Re: Re:" + expect(mockSendEmail).toHaveBeenCalledWith( + 'user@example.com', + 'Re: Already a reply', // Not "Re: Re: Already a reply" + 'Continuing the thread', + expect.any(Object) + ) + }) + + test('sendMessage without context should use default subject', async () => { + // No context stored for this user + const mockSendEmail = createMockSendEmail() + ;(provider as any).vendor = { sendEmail: mockSendEmail } + + await provider.sendMessage('newuser@example.com', 'Hello!') + + expect(mockSendEmail).toHaveBeenCalledWith( + 'newuser@example.com', + 'Message from Bot', + 'Hello!', + expect.objectContaining({ + inReplyTo: undefined, + }) + ) + }) + + test('sendMessage should allow custom subject override', async () => { + const mockContext: GmailBotContext = { + from: 'user@example.com', + name: 'Test User', + body: 'Hello', + subject: 'Original', + messageId: '', + threadId: 'thread123', + isReply: false, + gmailId: 'gmail123', + } + ;(provider as any).conversationContexts.set('user@example.com', mockContext) + + const mockSendEmail = createMockSendEmail() + ;(provider as any).vendor = { sendEmail: mockSendEmail } + + await provider.sendMessage('user@example.com', 'Custom message', { + subject: 'Custom Subject', + }) + + // Custom subject should be used with Re: prefix since there's context + expect(mockSendEmail).toHaveBeenCalledWith( + 'user@example.com', + 'Re: Custom Subject', + 'Custom message', + expect.any(Object) + ) + }) + }) +}) diff --git a/packages/provider-gmail/__tests__/utils.test.ts b/packages/provider-gmail/__tests__/utils.test.ts new file mode 100644 index 000000000..0dbac4512 --- /dev/null +++ b/packages/provider-gmail/__tests__/utils.test.ts @@ -0,0 +1,250 @@ +import { describe, expect, test } from '@jest/globals' + +import { + extractEmailAddress, + extractEmailName, + isValidEmail, + cleanEmail, + parseEmailList, + formatEmailAddress, + htmlToText, + isHtml, + extractThreadId, + isReplySubject, + stripReplyPrefix, + addReplyPrefix, + parseMimeType, + mimeToExtension, +} from '../src/utils' + +describe('#extractEmailAddress', () => { + test('should extract email from "Name " format', () => { + const input = 'John Doe ' + const result = extractEmailAddress(input) + expect(result).toBe('john@example.com') + }) + + test('should handle plain email address', () => { + const input = 'john@example.com' + const result = extractEmailAddress(input) + expect(result).toBe('john@example.com') + }) + + test('should handle email with quotes in name', () => { + const input = '"John Doe" ' + const result = extractEmailAddress(input) + expect(result).toBe('john@example.com') + }) + + test('should return empty string for empty input', () => { + const result = extractEmailAddress('') + expect(result).toBe('') + }) +}) + +describe('#extractEmailName', () => { + test('should extract name from "Name " format', () => { + const input = 'John Doe ' + const result = extractEmailName(input) + expect(result).toBe('John Doe') + }) + + test('should handle quoted name', () => { + const input = '"John Doe" ' + const result = extractEmailName(input) + expect(result).toBe('John Doe') + }) + + test('should return empty string for plain email', () => { + const input = 'john@example.com' + const result = extractEmailName(input) + expect(result).toBe('') + }) +}) + +describe('#isValidEmail', () => { + test('should return true for valid email', () => { + expect(isValidEmail('john@example.com')).toBe(true) + expect(isValidEmail('test.user@domain.org')).toBe(true) + }) + + test('should return false for invalid email', () => { + expect(isValidEmail('invalid')).toBe(false) + expect(isValidEmail('invalid@')).toBe(false) + expect(isValidEmail('@domain.com')).toBe(false) + expect(isValidEmail('')).toBe(false) + }) +}) + +describe('#cleanEmail', () => { + test('should clean and normalize email', () => { + const result = cleanEmail(' John@EXAMPLE.COM ') + expect(result).toBe('john@example.com') + }) + + test('should extract and clean email from full format', () => { + const result = cleanEmail('John Doe ') + expect(result).toBe('john@example.com') + }) +}) + +describe('#parseEmailList', () => { + test('should parse comma-separated emails', () => { + const result = parseEmailList('john@example.com, jane@example.com') + expect(result).toEqual(['john@example.com', 'jane@example.com']) + }) + + test('should parse semicolon-separated emails', () => { + const result = parseEmailList('john@example.com; jane@example.com') + expect(result).toEqual(['john@example.com', 'jane@example.com']) + }) + + test('should filter out invalid emails', () => { + const result = parseEmailList('john@example.com, invalid, jane@example.com') + expect(result).toEqual(['john@example.com', 'jane@example.com']) + }) +}) + +describe('#formatEmailAddress', () => { + test('should format with name', () => { + const result = formatEmailAddress('john@example.com', 'John Doe') + expect(result).toBe('"John Doe" ') + }) + + test('should return plain email without name', () => { + const result = formatEmailAddress('john@example.com') + expect(result).toBe('john@example.com') + }) +}) + +describe('#htmlToText', () => { + test('should strip HTML tags', () => { + const html = '

Hello World

' + const result = htmlToText(html) + expect(result).toContain('Hello') + expect(result).toContain('World') + expect(result).not.toContain('<') + }) + + test('should decode HTML entities', () => { + const html = '& < > "' + const result = htmlToText(html) + expect(result).toBe('& < > "') + }) + + test('should handle empty input', () => { + expect(htmlToText('')).toBe('') + }) +}) + +describe('#isHtml', () => { + test('should detect HTML content', () => { + expect(isHtml('

Hello

')).toBe(true) + expect(isHtml('
Content
')).toBe(true) + }) + + test('should return false for plain text', () => { + expect(isHtml('Hello World')).toBe(false) + expect(isHtml('')).toBe(false) + }) +}) + +describe('#extractThreadId', () => { + test('should extract from references array', () => { + const references = ['', ''] + const result = extractThreadId(references) + expect(result).toBe('') + }) + + test('should extract from references string', () => { + const references = ' ' + const result = extractThreadId(references) + expect(result).toBe('') + }) + + test('should fall back to inReplyTo', () => { + const result = extractThreadId(undefined, '') + expect(result).toBe('') + }) + + test('should return undefined when no data', () => { + const result = extractThreadId(undefined, undefined) + expect(result).toBeUndefined() + }) +}) + +describe('#isReplySubject', () => { + test('should detect reply subjects', () => { + expect(isReplySubject('Re: Hello')).toBe(true) + expect(isReplySubject('RE: Hello')).toBe(true) + expect(isReplySubject('re: Hello')).toBe(true) + expect(isReplySubject('Aw: Hello')).toBe(true) // German + expect(isReplySubject('Sv: Hello')).toBe(true) // Swedish + }) + + test('should return false for non-reply subjects', () => { + expect(isReplySubject('Hello')).toBe(false) + expect(isReplySubject('Meeting Request')).toBe(false) + expect(isReplySubject('')).toBe(false) + }) +}) + +describe('#stripReplyPrefix', () => { + test('should strip reply prefix', () => { + expect(stripReplyPrefix('Re: Hello')).toBe('Hello') + expect(stripReplyPrefix('RE: Hello')).toBe('Hello') + }) + + test('should not modify non-reply subjects', () => { + expect(stripReplyPrefix('Hello')).toBe('Hello') + }) +}) + +describe('#addReplyPrefix', () => { + test('should add reply prefix', () => { + expect(addReplyPrefix('Hello')).toBe('Re: Hello') + }) + + test('should not add prefix if already present', () => { + expect(addReplyPrefix('Re: Hello')).toBe('Re: Hello') + }) + + test('should handle empty subject', () => { + expect(addReplyPrefix('')).toBe('Re:') + }) +}) + +describe('#parseMimeType', () => { + test('should parse simple MIME type', () => { + const result = parseMimeType('text/plain') + expect(result.type).toBe('text') + expect(result.subtype).toBe('plain') + }) + + test('should parse MIME type with parameters', () => { + const result = parseMimeType('text/plain; charset=utf-8') + expect(result.type).toBe('text') + expect(result.subtype).toBe('plain') + expect(result.parameters.charset).toBe('utf-8') + }) + + test('should handle empty input', () => { + const result = parseMimeType('') + expect(result.type).toBe('text') + expect(result.subtype).toBe('plain') + }) +}) + +describe('#mimeToExtension', () => { + test('should return correct extension for known types', () => { + expect(mimeToExtension('text/plain')).toBe('txt') + expect(mimeToExtension('text/html')).toBe('html') + expect(mimeToExtension('application/pdf')).toBe('pdf') + expect(mimeToExtension('image/jpeg')).toBe('jpg') + expect(mimeToExtension('image/png')).toBe('png') + }) + + test('should return subtype for unknown types', () => { + expect(mimeToExtension('application/unknown')).toBe('unknown') + }) +}) diff --git a/packages/provider-gmail/jest.config.ts b/packages/provider-gmail/jest.config.ts new file mode 100644 index 000000000..ca2c6a76f --- /dev/null +++ b/packages/provider-gmail/jest.config.ts @@ -0,0 +1,14 @@ +/** + * For a detailed explanation regarding each configuration property, visit: + * https://jestjs.io/docs/configuration + */ + +import type { Config } from 'jest' + +const config: Config = { + preset: 'ts-jest', + verbose: true, + cache: true, +} + +export default config diff --git a/packages/provider-gmail/package.json b/packages/provider-gmail/package.json new file mode 100644 index 000000000..46b324824 --- /dev/null +++ b/packages/provider-gmail/package.json @@ -0,0 +1,48 @@ +{ + "name": "@builderbot/provider-gmail", + "version": "1.3.15-alpha.10", + "description": "Gmail provider for BuilderBot using Gmail API with OAuth2", + "author": "Leifer Mendez ", + "homepage": "https://github.com/codigoencasa/bot-whatsapp#readme", + "license": "MIT", + "main": "dist/index.cjs", + "types": "dist/index.d.ts", + "type": "module", + "files": [ + "./dist/" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/codigoencasa/bot-whatsapp.git" + }, + "scripts": { + "build": "rimraf dist && rollup --config", + "test": "jest", + "test:coverage": "jest --coverage", + "test:watch": "jest --watchAll --coverage" + }, + "directories": { + "lib": "dist", + "test": "__tests__" + }, + "bugs": { + "url": "https://github.com/codigoencasa/bot-whatsapp/issues" + }, + "devDependencies": { + "@builderbot/bot": "^1.3.15-alpha.10", + "@jest/globals": "^30.2.0", + "@rollup/plugin-commonjs": "^29.0.0", + "@rollup/plugin-json": "^6.1.0", + "@rollup/plugin-node-resolve": "^16.0.3", + "@types/node": "^24.10.2", + "@types/polka": "^0.5.7", + "cors": "^2.8.5", + "rimraf": "^6.1.2", + "rollup-plugin-typescript2": "^0.36.0" + }, + "dependencies": { + "body-parser": "^2.2.1", + "googleapis": "^144.0.0", + "polka": "^0.5.2" + } +} diff --git a/packages/provider-gmail/rollup.config.js b/packages/provider-gmail/rollup.config.js new file mode 100644 index 000000000..45aaf4802 --- /dev/null +++ b/packages/provider-gmail/rollup.config.js @@ -0,0 +1,24 @@ +import typescript from 'rollup-plugin-typescript2' +import json from '@rollup/plugin-json' +import commonjs from '@rollup/plugin-commonjs' +import { nodeResolve } from '@rollup/plugin-node-resolve' + +export default { + input: ['src/index.ts'], + output: [ + { + dir: 'dist', + entryFileNames: '[name].cjs', + format: 'cjs', + exports: 'named', + }, + ], + plugins: [ + json(), + nodeResolve({ + resolveOnly: (module) => !/googleapis|@builderbot\/bot/i.test(module), + }), + commonjs(), + typescript(), + ], +} diff --git a/packages/provider-gmail/src/gmail/core.ts b/packages/provider-gmail/src/gmail/core.ts new file mode 100644 index 000000000..527d86e66 --- /dev/null +++ b/packages/provider-gmail/src/gmail/core.ts @@ -0,0 +1,668 @@ +import { utils } from '@builderbot/bot' +import { google, type gmail_v1 } from 'googleapis' +import EventEmitter from 'node:events' + +import type { IGmailProviderArgs, GmailBotContext, GmailSendOptions, GmailAttachment } from '../types' + +/** + * Class representing GmailCoreVendor, handles Gmail API operations. + * Uses OAuth2 for authentication and Gmail API for sending/receiving. + * @extends EventEmitter + */ +export class GmailCoreVendor extends EventEmitter { + private gmail: gmail_v1.Gmail | null = null + private config: IGmailProviderArgs + private isConnected: boolean = false + private pollingTimer: ReturnType | null = null + private lastHistoryId: string | null = null + private processedMessageIds: Set = new Set() + + constructor(config: IGmailProviderArgs) { + super() + this.config = config + } + + /** + * Initialize OAuth2 client and connect to Gmail API + */ + public async connect(): Promise { + try { + const oauth2Client = new google.auth.OAuth2( + this.config.oauth2.clientId, + this.config.oauth2.clientSecret + ) + + oauth2Client.setCredentials({ + refresh_token: this.config.oauth2.refreshToken, + }) + + // Force token refresh to validate credentials + await oauth2Client.getAccessToken() + + this.gmail = google.gmail({ version: 'v1', auth: oauth2Client }) + this.isConnected = true + + console.log('[GmailProvider] Connected to Gmail API') + + // Get initial historyId to track changes + const profile = await this.gmail.users.getProfile({ userId: 'me' }) + this.lastHistoryId = profile.data.historyId || null + + const host = { + email: this.config.email, + phone: this.config.email, + } + this.emit('host', host) + this.emit('ready') + + // Start polling for new emails + this.startPolling() + } catch (error) { + console.error('[GmailProvider] Failed to connect to Gmail API:', error) + this.emit('auth_failure', error) + throw error + } + } + + /** + * Start polling for new emails using Gmail history API + */ + private startPolling(): void { + if (!this.gmail || !this.isConnected) return + + const interval = this.config.pollingInterval || 10000 + + console.log(`[GmailProvider] Starting polling every ${interval}ms`) + + this.pollingTimer = setInterval(async () => { + try { + await this.checkForNewEmails() + } catch (error) { + console.error('[GmailProvider] Polling error:', error) + this.emit('error', error) + } + }, interval) + } + + /** + * Check for new emails using Gmail history or messages.list + */ + private async checkForNewEmails(): Promise { + if (!this.gmail || !this.isConnected) return + + try { + if (this.lastHistoryId) { + await this.checkHistory() + } else { + await this.checkLatestMessages() + } + } catch (error: any) { + // If history is invalid (404), fall back to listing messages + if (error?.code === 404 || error?.status === 404) { + console.log('[GmailProvider] History expired, falling back to messages.list') + this.lastHistoryId = null + await this.checkLatestMessages() + } else { + throw error + } + } + } + + /** + * Check for new messages using Gmail history API + */ + private async checkHistory(): Promise { + if (!this.gmail || !this.lastHistoryId) return + + const label = this.config.label || 'INBOX' + + const response = await this.gmail.users.history.list({ + userId: 'me', + startHistoryId: this.lastHistoryId, + labelId: label, + historyTypes: ['messageAdded'], + }) + + if (response.data.historyId) { + this.lastHistoryId = response.data.historyId + } + + const history = response.data.history || [] + + for (const record of history) { + const messagesAdded = record.messagesAdded || [] + for (const added of messagesAdded) { + const messageId = added.message?.id + if (messageId && !this.processedMessageIds.has(messageId)) { + this.processedMessageIds.add(messageId) + await this.processMessage(messageId) + } + } + } + + // Limit the size of processedMessageIds to prevent memory leaks + if (this.processedMessageIds.size > 1000) { + const entries = Array.from(this.processedMessageIds) + this.processedMessageIds = new Set(entries.slice(-500)) + } + } + + /** + * Check latest messages when history is not available + */ + private async checkLatestMessages(): Promise { + if (!this.gmail) return + + const label = this.config.label || 'INBOX' + + const response = await this.gmail.users.messages.list({ + userId: 'me', + labelIds: [label], + q: 'is:unread', + maxResults: 10, + }) + + const messages = response.data.messages || [] + + for (const msg of messages) { + if (msg.id && !this.processedMessageIds.has(msg.id)) { + this.processedMessageIds.add(msg.id) + await this.processMessage(msg.id) + } + } + + // Update historyId from profile for future checks + const profile = await this.gmail.users.getProfile({ userId: 'me' }) + if (profile.data.historyId) { + this.lastHistoryId = profile.data.historyId + } + + // Limit the size of processedMessageIds + if (this.processedMessageIds.size > 1000) { + const entries = Array.from(this.processedMessageIds) + this.processedMessageIds = new Set(entries.slice(-500)) + } + } + + /** + * Process a single Gmail message by ID + */ + private async processMessage(gmailId: string): Promise { + if (!this.gmail) return + + try { + const response = await this.gmail.users.messages.get({ + userId: 'me', + id: gmailId, + format: 'full', + }) + + const message = response.data + const context = this.parseMessageToContext(message, gmailId) + + if (context) { + // Mark as read if configured + if (this.config.markAsRead !== false) { + try { + await this.gmail.users.messages.modify({ + userId: 'me', + id: gmailId, + requestBody: { + removeLabelIds: ['UNREAD'], + }, + }) + } catch (markError) { + console.error('[GmailProvider] Failed to mark email as read:', markError) + } + } + + console.log('[GmailProvider] About to emit message event') + this.emit('message', context) + console.log('[GmailProvider] Message event emitted') + } + } catch (error) { + console.error('[GmailProvider] Failed to process message:', error) + } + } + + /** + * Parse a Gmail API message object to GmailBotContext + */ + parseMessageToContext(message: gmail_v1.Schema$Message, gmailId: string): GmailBotContext | null { + const headers = message.payload?.headers || [] + + const getHeader = (name: string): string | undefined => { + const header = headers.find((h) => h.name?.toLowerCase() === name.toLowerCase()) + return header?.value || undefined + } + + const fromRaw = getHeader('From') + if (!fromRaw) { + console.warn('[GmailProvider] Email has no From header, skipping') + return null + } + + const fromParsed = this.parseEmailHeader(fromRaw) + + // Extract recipients + const toRaw = getHeader('To') + const ccRaw = getHeader('Cc') + const toAddresses = toRaw ? this.parseEmailListHeader(toRaw) : [] + const ccAddresses = ccRaw ? this.parseEmailListHeader(ccRaw) : undefined + + // Extract body + const { text, html } = this.extractBody(message.payload) + + // Extract attachments info + const attachments = this.extractAttachmentInfo(message.payload) + + // Check if reply + const inReplyTo = getHeader('In-Reply-To') + const referencesRaw = getHeader('References') + const references = referencesRaw ? referencesRaw.split(/\s+/).filter(Boolean) : undefined + const isReply = !!(inReplyTo || (references && references.length > 0)) + + const subject = getHeader('Subject') || '(no subject)' + const messageId = getHeader('Message-ID') || `${gmailId}@gmail.com` + const dateStr = getHeader('Date') + const date = dateStr ? new Date(dateStr) : new Date() + + // Determine attachment types for event routing + const hasMedia = attachments.some( + (a) => a.contentType.startsWith('image/') || a.contentType.startsWith('video/') + ) + const hasAudio = attachments.some((a) => a.contentType.startsWith('audio/')) + const hasDocument = attachments.some((a) => { + if (a.contentType.startsWith('application/')) return true + if ( + a.contentType.startsWith('text/') && + !a.contentType.includes('plain') && + !a.contentType.includes('html') + ) { + return true + } + return false + }) + + // Determine base body based on messageSource config + let body = '' + const messageSource = this.config.messageSource || 'body' + switch (messageSource) { + case 'subject': + body = subject + break + case 'both': + body = [getHeader('Subject'), text].filter(Boolean).join('\n\n') + break + case 'body': + default: + body = text || '' + break + } + + // Build body - generate special events for attachments + if (hasMedia) { + body = utils.generateRefProvider('_event_media_') + } else if (hasAudio) { + body = utils.generateRefProvider('_event_voice_note_') + } else if (hasDocument && !body.trim()) { + body = utils.generateRefProvider('_event_document_') + } + + const context: GmailBotContext = { + from: fromParsed.address, + name: fromParsed.name || fromParsed.address, + body: body, + subject: subject, + messageId: messageId, + threadId: message.threadId || undefined, + inReplyTo: inReplyTo, + attachments: attachments.length > 0 ? attachments : undefined, + isReply: isReply, + html: html || undefined, + to: toAddresses, + cc: ccAddresses, + date: date, + gmailId: gmailId, + } + + return context + } + + /** + * Extract body (text and html) from message payload + */ + private extractBody(payload: gmail_v1.Schema$MessagePart | undefined): { text: string; html: string } { + let text = '' + let html = '' + + if (!payload) return { text, html } + + const extractFromPart = (part: gmail_v1.Schema$MessagePart): void => { + if (part.mimeType === 'text/plain' && part.body?.data) { + text = Buffer.from(part.body.data, 'base64url').toString('utf-8') + } else if (part.mimeType === 'text/html' && part.body?.data) { + html = Buffer.from(part.body.data, 'base64url').toString('utf-8') + } + + if (part.parts) { + for (const subPart of part.parts) { + extractFromPart(subPart) + } + } + } + + extractFromPart(payload) + + // If no text but has HTML, do basic conversion + if (!text && html) { + text = html + .replace(/]*>[\s\S]*?<\/script>/gi, '') + .replace(/]*>[\s\S]*?<\/style>/gi, '') + .replace(/<\/?(div|p|br|h[1-6]|li|tr)[^>]*>/gi, '\n') + .replace(/<[^>]+>/g, '') + .replace(/ /gi, ' ') + .replace(/&/gi, '&') + .replace(/</gi, '<') + .replace(/>/gi, '>') + .replace(/"/gi, '"') + .replace(/'/gi, "'") + .replace(/\n\s*\n/g, '\n\n') + .trim() + } + + return { text, html } + } + + /** + * Extract attachment information from message payload + */ + private extractAttachmentInfo(payload: gmail_v1.Schema$MessagePart | undefined): GmailAttachment[] { + const attachments: GmailAttachment[] = [] + + if (!payload) return attachments + + const extractFromPart = (part: gmail_v1.Schema$MessagePart): void => { + if (part.filename && part.filename.length > 0 && part.body?.attachmentId) { + attachments.push({ + filename: part.filename, + contentType: part.mimeType || 'application/octet-stream', + size: part.body.size || 0, + attachmentId: part.body.attachmentId, + }) + } + + if (part.parts) { + for (const subPart of part.parts) { + extractFromPart(subPart) + } + } + } + + extractFromPart(payload) + + return attachments + } + + /** + * Parse an email header like "Name " + */ + parseEmailHeader(raw: string): { address: string; name: string } { + const match = raw.match(/^(.+?)\s*<([^>]+)>$/) + if (match) { + return { + name: match[1].replace(/^["']|["']$/g, '').trim(), + address: match[2].trim().toLowerCase(), + } + } + return { + name: '', + address: raw.trim().toLowerCase(), + } + } + + /** + * Parse a comma-separated email list header + */ + private parseEmailListHeader(raw: string): string[] { + // Split on commas that are not inside angle brackets + const parts = raw.split(/,(?=(?:[^<]*<[^>]*>)*[^>]*$)/) + return parts + .map((part) => { + const parsed = this.parseEmailHeader(part.trim()) + return parsed.address + }) + .filter(Boolean) + } + + /** + * Send an email via Gmail API + */ + public async sendEmail( + to: string, + subject: string, + text: string, + options?: GmailSendOptions + ): Promise<{ messageId: string; threadId?: string }> { + if (!this.gmail) { + throw new Error('Gmail API client not initialized') + } + + const fromEmail = this.config.email + const fromName = this.config.fromName || fromEmail + + // Build raw MIME message + const boundary = `boundary_${Date.now()}_${Math.random().toString(36).substring(2)}` + const mimeLines: string[] = [] + + mimeLines.push(`From: "${fromName}" <${fromEmail}>`) + mimeLines.push(`To: ${to}`) + mimeLines.push(`Subject: ${subject}`) + + if (options?.cc) { + const ccList = Array.isArray(options.cc) ? options.cc.join(', ') : options.cc + mimeLines.push(`Cc: ${ccList}`) + } + if (options?.bcc) { + const bccList = Array.isArray(options.bcc) ? options.bcc.join(', ') : options.bcc + mimeLines.push(`Bcc: ${bccList}`) + } + if (options?.replyTo) { + mimeLines.push(`Reply-To: ${options.replyTo}`) + } + if (options?.inReplyTo) { + mimeLines.push(`In-Reply-To: ${options.inReplyTo}`) + } + if (options?.references) { + const refs = Array.isArray(options.references) ? options.references.join(' ') : options.references + mimeLines.push(`References: ${refs}`) + } + + const hasAttachments = options?.attachments && options.attachments.length > 0 + + if (hasAttachments) { + mimeLines.push('MIME-Version: 1.0') + mimeLines.push(`Content-Type: multipart/mixed; boundary="${boundary}"`) + mimeLines.push('') + mimeLines.push(`--${boundary}`) + } + + if (options?.html) { + if (!hasAttachments) { + mimeLines.push('MIME-Version: 1.0') + const altBoundary = `alt_${boundary}` + mimeLines.push(`Content-Type: multipart/alternative; boundary="${altBoundary}"`) + mimeLines.push('') + mimeLines.push(`--${altBoundary}`) + mimeLines.push('Content-Type: text/plain; charset=utf-8') + mimeLines.push('') + mimeLines.push(text) + mimeLines.push(`--${altBoundary}`) + mimeLines.push('Content-Type: text/html; charset=utf-8') + mimeLines.push('') + mimeLines.push(options.html) + mimeLines.push(`--${altBoundary}--`) + } else { + const altBoundary = `alt_${boundary}` + mimeLines.push(`Content-Type: multipart/alternative; boundary="${altBoundary}"`) + mimeLines.push('') + mimeLines.push(`--${altBoundary}`) + mimeLines.push('Content-Type: text/plain; charset=utf-8') + mimeLines.push('') + mimeLines.push(text) + mimeLines.push(`--${altBoundary}`) + mimeLines.push('Content-Type: text/html; charset=utf-8') + mimeLines.push('') + mimeLines.push(options.html) + mimeLines.push(`--${altBoundary}--`) + } + } else { + if (hasAttachments) { + mimeLines.push('Content-Type: text/plain; charset=utf-8') + mimeLines.push('') + mimeLines.push(text) + } else { + mimeLines.push('MIME-Version: 1.0') + mimeLines.push('Content-Type: text/plain; charset=utf-8') + mimeLines.push('') + mimeLines.push(text) + } + } + + // Add attachments + if (hasAttachments && options?.attachments) { + for (const att of options.attachments) { + mimeLines.push(`--${boundary}`) + const ct = att.contentType || 'application/octet-stream' + mimeLines.push(`Content-Type: ${ct}; name="${att.filename}"`) + mimeLines.push(`Content-Disposition: attachment; filename="${att.filename}"`) + mimeLines.push('Content-Transfer-Encoding: base64') + mimeLines.push('') + + let base64Content: string + if (att.content) { + if (Buffer.isBuffer(att.content)) { + base64Content = att.content.toString('base64') + } else { + base64Content = Buffer.from(att.content).toString('base64') + } + } else if (att.path) { + const fs = await import('fs/promises') + const fileContent = await fs.readFile(att.path) + base64Content = fileContent.toString('base64') + } else { + continue + } + mimeLines.push(base64Content) + } + mimeLines.push(`--${boundary}--`) + } + + const raw = Buffer.from(mimeLines.join('\r\n')).toString('base64url') + + try { + const sendParams: gmail_v1.Params$Resource$Users$Messages$Send = { + userId: 'me', + requestBody: { + raw: raw, + }, + } + + // Include threadId for replies + if (options?.threadId) { + sendParams.requestBody!.threadId = options.threadId + } + + const response = await this.gmail.users.messages.send(sendParams) + + console.log(`[GmailProvider] Email sent: ${response.data.id}`) + + return { + messageId: response.data.id || '', + threadId: response.data.threadId || undefined, + } + } catch (error) { + console.error('[GmailProvider] Failed to send email:', error) + throw error + } + } + + /** + * Reply to an existing email thread + */ + public async replyToEmail( + originalContext: GmailBotContext, + text: string, + options?: Omit + ): Promise<{ messageId: string; threadId?: string }> { + // Build references chain + const references: string[] = [] + if (originalContext.threadId) { + references.push(originalContext.threadId) + } + if (originalContext.messageId && originalContext.messageId !== originalContext.threadId) { + references.push(originalContext.messageId) + } + + // Prepare subject with Re: prefix + let subject = originalContext.subject + if (!subject.toLowerCase().startsWith('re:')) { + subject = `Re: ${subject}` + } + + return this.sendEmail(originalContext.from, subject, text, { + ...options, + inReplyTo: originalContext.messageId, + references: references, + threadId: originalContext.threadId, + }) + } + + /** + * Download attachment content by Gmail attachment ID + */ + public async downloadAttachment(gmailId: string, attachmentId: string): Promise { + if (!this.gmail) return null + + try { + const response = await this.gmail.users.messages.attachments.get({ + userId: 'me', + messageId: gmailId, + id: attachmentId, + }) + + if (response.data.data) { + return Buffer.from(response.data.data, 'base64url') + } + + return null + } catch (error) { + console.error('[GmailProvider] Failed to download attachment:', error) + return null + } + } + + /** + * Disconnect from Gmail API and stop polling + */ + public async disconnect(): Promise { + this.isConnected = false + + if (this.pollingTimer) { + clearInterval(this.pollingTimer) + this.pollingTimer = null + } + + this.gmail = null + this.processedMessageIds.clear() + + console.log('[GmailProvider] Disconnected') + } + + /** + * Check if connected to Gmail API + */ + public isGmailConnected(): boolean { + return this.isConnected && this.gmail !== null + } +} diff --git a/packages/provider-gmail/src/gmail/provider.ts b/packages/provider-gmail/src/gmail/provider.ts new file mode 100644 index 000000000..814be6edd --- /dev/null +++ b/packages/provider-gmail/src/gmail/provider.ts @@ -0,0 +1,291 @@ +import { ProviderClass } from '@builderbot/bot' +import type { BotContext, SendOptions } from '@builderbot/bot/dist/types' +import { writeFile } from 'fs/promises' +import { tmpdir } from 'os' +import { join, resolve } from 'path' + +import { GmailCoreVendor } from './core' +import type { IGmailProviderArgs, GmailBotContext, GmailSendOptions } from '../types' + +/** + * Gmail Provider for BuilderBot + * Uses Gmail API with OAuth2 for sending and receiving emails + * @extends ProviderClass + */ +class GmailProvider extends ProviderClass { + globalVendorArgs: IGmailProviderArgs + + // Map to store the last context of each conversation for thread replies + private conversationContexts: Map = new Map() + + constructor(args: IGmailProviderArgs) { + super() + + // Validate required configuration + if (!args.email) { + throw new Error('Gmail email address is required') + } + if (!args.oauth2) { + throw new Error('OAuth2 configuration is required') + } + if (!args.oauth2.clientId || !args.oauth2.clientSecret || !args.oauth2.refreshToken) { + throw new Error('OAuth2 clientId, clientSecret, and refreshToken are required') + } + + this.globalVendorArgs = { + name: 'gmail-bot', + port: 3000, + writeMyself: 'none', + label: 'INBOX', + markAsRead: true, + messageSource: 'body', + pollingInterval: 10000, + ...args, + } + } + + /** + * Initialize the Gmail vendor (API connection) + */ + protected async initVendor(): Promise { + console.log('[GmailProvider] initVendor() called') + const vendor = new GmailCoreVendor(this.globalVendorArgs) + this.vendor = vendor + + // Connect to Gmail API + await vendor.connect() + + console.log('[GmailProvider] initVendor() returning vendor') + return vendor + } + + /** + * Called before HTTP server initialization + */ + protected beforeHttpServerInit(): void { + this.server = this.server + .use((req, _, next) => { + req['globalVendorArgs'] = this.globalVendorArgs + return next() + }) + .get('/', this.indexHome) + .post('/webhook', this.webhookHandler) + } + + /** + * Called after HTTP server initialization + */ + protected afterHttpServerInit(): void {} + + /** + * Index home endpoint + */ + private indexHome = (_: any, res: any) => { + res.end('Gmail Provider running') + } + + /** + * Webhook handler for Gmail push notifications (optional) + */ + private webhookHandler = (req: any, res: any) => { + const body = req.body + console.log('[GmailProvider] Webhook received:', body) + res.end(JSON.stringify({ status: 'ok' })) + } + + /** + * Map vendor events to provider events + */ + protected busEvents = () => { + console.log('[GmailProvider] busEvents() called - registering listeners') + return [ + { + event: 'auth_failure', + func: (payload: any) => this.emit('auth_failure', payload), + }, + { + event: 'ready', + func: () => { + console.log('[GmailProvider] busEvents ready handler called') + this.emit('ready', true) + }, + }, + { + event: 'message', + func: (payload: GmailBotContext) => { + console.log('[GmailProvider] busEvents message handler called!') + console.log('[GmailProvider] Payload from:', payload.from, 'body:', payload.body?.substring(0, 50)) + // Store context to enable thread replies + this.conversationContexts.set(payload.from, payload) + this.emit('message', payload) + console.log('[GmailProvider] Provider emitted message to bot') + }, + }, + { + event: 'host', + func: (payload: any) => { + this.emit('host', payload) + }, + }, + { + event: 'error', + func: (payload: any) => { + console.error('[GmailProvider] Error:', payload) + }, + }, + ] + } + + /** + * Send an email message + * @param to - Recipient email address + * @param message - Email body content + * @param options - Send options (subject, attachments, etc.) + */ + async sendMessage(to: string, message: string, options?: SendOptions & GmailSendOptions): Promise { + // Look up existing conversation context for thread replies + const conversationCtx = this.conversationContexts.get(to) + + // Build email options with thread context if available + const baseSubject = + options?.subject || (conversationCtx?.subject ? conversationCtx.subject : 'Message from Bot') + const subject = + conversationCtx && !baseSubject.toLowerCase().startsWith('re:') ? `Re: ${baseSubject}` : baseSubject + + const emailOptions: GmailSendOptions = { + ...options, + subject, + inReplyTo: options?.inReplyTo || conversationCtx?.messageId, + references: + options?.references || + (conversationCtx + ? ([conversationCtx.threadId || conversationCtx.messageId].filter(Boolean) as string[]) + : undefined), + threadId: options?.threadId || conversationCtx?.threadId, + } + + // Check for media/attachments + if (options?.media) { + return this.sendMedia(to, message, options.media, emailOptions) + } + + return this.vendor.sendEmail(to, subject, message, emailOptions) + } + + /** + * Send an email with media attachment + * @param to - Recipient email address + * @param message - Email body content + * @param mediaPath - Path to media file + * @param options - Additional email options + */ + async sendMedia(to: string, message: string, mediaPath: string, options?: GmailSendOptions): Promise { + const subject = options?.subject || 'Message with attachment' + + const attachments = [ + { + filename: mediaPath.split('/').pop() || 'attachment', + path: mediaPath, + }, + ] + + return this.vendor.sendEmail(to, subject, message, { + ...options, + attachments: [...(options?.attachments || []), ...attachments], + }) + } + + /** + * Reply to an existing email thread + * @param ctx - Original email context + * @param message - Reply message content + * @param options - Additional email options + */ + async reply( + ctx: GmailBotContext, + message: string, + options?: Omit + ): Promise { + return this.vendor.replyToEmail(ctx, message, options) + } + + /** + * Save an attachment from an email to disk + * @param ctx - Email context containing attachments + * @param options - Save options (path, attachment index) + */ + async saveFile( + ctx: Partial, + options?: { path?: string; attachmentIndex?: number } + ): Promise { + try { + const gmailCtx = ctx as GmailBotContext + + if (!gmailCtx.attachments || gmailCtx.attachments.length === 0) { + throw new Error('No attachments in email') + } + + const attachmentIndex = options?.attachmentIndex ?? 0 + const attachment = gmailCtx.attachments[attachmentIndex] + + if (!attachment) { + throw new Error(`Attachment at index ${attachmentIndex} not found`) + } + + // Download attachment content from Gmail API if needed + let content = attachment.content + if (!content && attachment.attachmentId && gmailCtx.gmailId) { + content = (await this.vendor.downloadAttachment(gmailCtx.gmailId, attachment.attachmentId)) || undefined + } + + if (!content) { + throw new Error('Attachment content not available') + } + + const savePath = options?.path ?? tmpdir() + const fileName = `${Date.now()}-${attachment.filename}` + const filePath = join(savePath, fileName) + + await writeFile(filePath, content) + return resolve(filePath) + } catch (error) { + console.error('[GmailProvider] Error saving file:', error) + throw error + } + } + + /** + * Get all attachments from an email + * @param ctx - Email context + */ + getAttachments(ctx: GmailBotContext) { + return ctx.attachments || [] + } + + /** + * Check if the email is a reply + * @param ctx - Email context + */ + isReply(ctx: GmailBotContext): boolean { + return ctx.isReply + } + + /** + * Get the thread ID from an email + * @param ctx - Email context + */ + getThreadId(ctx: GmailBotContext): string | undefined { + return ctx.threadId + } + + /** + * Disconnect the Gmail provider + */ + async disconnect(): Promise { + if (this.vendor) { + await this.vendor.disconnect() + } + } +} + +export { GmailProvider } diff --git a/packages/provider-gmail/src/index.ts b/packages/provider-gmail/src/index.ts new file mode 100644 index 000000000..461e752e2 --- /dev/null +++ b/packages/provider-gmail/src/index.ts @@ -0,0 +1,13 @@ +export { GmailProvider } from './gmail/provider' +export { GmailCoreVendor } from './gmail/core' +export type { + IGmailProviderArgs, + GmailOAuth2Config, + GmailBotContext, + GmailSendOptions, + GmailAttachment, + ParsedGmailMessage, + GmailVendorEvents, +} from './types' +export type { GmailInterface } from './interface/gmail' +export * from './utils' diff --git a/packages/provider-gmail/src/interface/gmail.ts b/packages/provider-gmail/src/interface/gmail.ts new file mode 100644 index 000000000..b499bee26 --- /dev/null +++ b/packages/provider-gmail/src/interface/gmail.ts @@ -0,0 +1,70 @@ +import type { SendOptions, BotContext } from '@builderbot/bot/dist/types' + +import type { GmailBotContext, GmailSendOptions } from '../types' + +/** + * Interface for the Gmail Provider + */ +export interface GmailInterface { + /** + * Send an email with optional media attachment + * @param to - Recipient email address + * @param message - Email body content + * @param mediaPath - Path to media file to attach + * @param options - Additional email options + */ + sendMedia: (to: string, message: string, mediaPath: string, options?: GmailSendOptions) => Promise + + /** + * Send an email message + * @param to - Recipient email address + * @param message - Email body content + * @param options - Send options including subject, attachments, etc. + */ + sendMessage: (to: string, message: string, options?: SendOptions & GmailSendOptions) => Promise + + /** + * Save an attachment from an email to disk + * @param ctx - Email context with attachments + * @param options - Save options (path, attachment index) + */ + saveFile: ( + ctx: Partial, + options?: { path?: string; attachmentIndex?: number } + ) => Promise + + /** + * Reply to an existing email thread + * @param ctx - Original email context + * @param message - Reply message content + * @param options - Additional email options + */ + reply: ( + ctx: GmailBotContext, + message: string, + options?: Omit + ) => Promise + + /** + * Get all attachments from an email + * @param ctx - Email context + */ + getAttachments: (ctx: GmailBotContext) => GmailBotContext['attachments'] + + /** + * Check if the email is a reply to another email + * @param ctx - Email context + */ + isReply: (ctx: GmailBotContext) => boolean + + /** + * Get the thread ID from an email + * @param ctx - Email context + */ + getThreadId: (ctx: GmailBotContext) => string | undefined + + /** + * Disconnect the Gmail provider + */ + disconnect: () => Promise +} diff --git a/packages/provider-gmail/src/types.ts b/packages/provider-gmail/src/types.ts new file mode 100644 index 000000000..bc89a7205 --- /dev/null +++ b/packages/provider-gmail/src/types.ts @@ -0,0 +1,159 @@ +import type { BotContext, GlobalVendorArgs } from '@builderbot/bot/dist/types' + +/** + * Gmail OAuth2 configuration + */ +export interface GmailOAuth2Config { + /** OAuth2 Client ID from Google Cloud Console */ + clientId: string + /** OAuth2 Client Secret from Google Cloud Console */ + clientSecret: string + /** OAuth2 Refresh Token (obtained via authorization flow) */ + refreshToken: string +} + +/** + * Source for the message body + * - 'body': Use email body only (default) + * - 'subject': Use email subject only + * - 'both': Use both subject and body (format: "subject\n\nbody") + */ +export type MessageSource = 'body' | 'subject' | 'both' + +/** + * Gmail provider configuration arguments + */ +export interface IGmailProviderArgs extends GlobalVendorArgs { + /** Gmail account email address */ + email: string + /** OAuth2 credentials for Gmail API */ + oauth2: GmailOAuth2Config + /** Label to monitor for new emails (default: 'INBOX') */ + label?: string + /** Mark emails as read after processing (default: true) */ + markAsRead?: boolean + /** From name for outgoing emails */ + fromName?: string + /** Source for message body: 'body', 'subject', or 'both' (default: 'body') */ + messageSource?: MessageSource + /** Polling interval in milliseconds for checking new emails (default: 10000) */ + pollingInterval?: number +} + +/** + * Gmail attachment information + */ +export interface GmailAttachment { + /** Attachment filename */ + filename: string + /** MIME content type */ + contentType: string + /** File size in bytes */ + size: number + /** Gmail attachment ID (for downloading) */ + attachmentId?: string + /** Raw content buffer (available after download) */ + content?: Buffer +} + +/** + * Gmail context extending BotContext + */ +export interface GmailBotContext extends BotContext { + /** Sender's email address */ + from: string + /** Sender's display name */ + name: string + /** Email body content (plain text preferred, fallback to HTML) */ + body: string + /** Email subject line */ + subject: string + /** Gmail Message ID */ + messageId: string + /** Gmail Thread ID */ + threadId?: string + /** In-Reply-To header value (if this is a reply) */ + inReplyTo?: string + /** List of attachments in the email */ + attachments?: GmailAttachment[] + /** Whether this email is a reply to another email */ + isReply: boolean + /** Original HTML content */ + html?: string + /** All recipients (To field) */ + to?: string[] + /** CC recipients */ + cc?: string[] + /** Email date */ + date?: Date + /** Gmail internal message ID */ + gmailId?: string +} + +/** + * Options for sending emails via Gmail + */ +export interface GmailSendOptions { + /** Email subject (required for new threads) */ + subject?: string + /** CC recipients */ + cc?: string | string[] + /** BCC recipients */ + bcc?: string | string[] + /** Reply-To address */ + replyTo?: string + /** Attachments to send */ + attachments?: Array<{ + filename: string + path?: string + content?: Buffer | string + contentType?: string + }> + /** HTML content (alternative to plain text) */ + html?: string + /** In-Reply-To header for replies */ + inReplyTo?: string + /** References header for thread continuity */ + references?: string | string[] + /** Gmail Thread ID to reply to */ + threadId?: string +} + +/** + * Internal Gmail message structure + */ +export interface ParsedGmailMessage { + gmailId: string + threadId: string + messageId: string + from: { + address: string + name: string + } + to: Array<{ + address: string + name: string + }> + cc?: Array<{ + address: string + name: string + }> + subject: string + text?: string + html?: string + date: Date + inReplyTo?: string + references?: string[] + attachments: GmailAttachment[] + labelIds: string[] +} + +/** + * Gmail vendor events + */ +export type GmailVendorEvents = { + message: [payload: GmailBotContext] + ready: [] + auth_failure: [error: Error] + error: [error: Error] +} diff --git a/packages/provider-gmail/src/utils/index.ts b/packages/provider-gmail/src/utils/index.ts new file mode 100644 index 000000000..089e6c613 --- /dev/null +++ b/packages/provider-gmail/src/utils/index.ts @@ -0,0 +1,17 @@ +export { + extractEmailAddress, + extractEmailName, + isValidEmail, + cleanEmail, + parseEmailList, + formatEmailAddress, + htmlToText, + isHtml, + extractThreadId, + isReplySubject, + stripReplyPrefix, + addReplyPrefix, + generateMessageId, + parseMimeType, + mimeToExtension, +} from './parser' diff --git a/packages/provider-gmail/src/utils/parser.ts b/packages/provider-gmail/src/utils/parser.ts new file mode 100644 index 000000000..f04d3d5f9 --- /dev/null +++ b/packages/provider-gmail/src/utils/parser.ts @@ -0,0 +1,247 @@ +/** + * Gmail parsing utilities + */ + +/** + * Extract email address from a string that might contain name and email + * e.g., "John Doe " -> "john@example.com" + */ +export function extractEmailAddress(input: string): string { + if (!input) return '' + + // Check if it contains angle brackets + const match = input.match(/<([^>]+)>/) + if (match) { + return match[1].trim().toLowerCase() + } + + // Return as-is if it looks like an email + const trimmed = input.trim().toLowerCase() + if (isValidEmail(trimmed)) { + return trimmed + } + + return trimmed +} + +/** + * Extract name from email string + * e.g., "John Doe " -> "John Doe" + */ +export function extractEmailName(input: string): string { + if (!input) return '' + + // Check if it contains angle brackets + const bracketIndex = input.indexOf('<') + if (bracketIndex > 0) { + return input + .substring(0, bracketIndex) + .trim() + .replace(/^["']|["']$/g, '') + } + + return '' +} + +/** + * Validate email address format + */ +export function isValidEmail(email: string): boolean { + if (!email) return false + const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/ + return emailRegex.test(email) +} + +/** + * Clean and normalize email address + */ +export function cleanEmail(email: string): string { + return extractEmailAddress(email).toLowerCase().trim() +} + +/** + * Parse email list (comma or semicolon separated) + */ +export function parseEmailList(input: string): string[] { + if (!input) return [] + + return input + .split(/[,;]/) + .map((email) => extractEmailAddress(email)) + .filter((email) => isValidEmail(email)) +} + +/** + * Format email address with optional name + */ +export function formatEmailAddress(email: string, name?: string): string { + if (name) { + return `"${name}" <${email}>` + } + return email +} + +/** + * Extract plain text from HTML email content + * Basic implementation - strips HTML tags + */ +export function htmlToText(html: string): string { + if (!html) return '' + + return ( + html + // Remove script and style tags with content + .replace(/]*>[\s\S]*?<\/script>/gi, '') + .replace(/]*>[\s\S]*?<\/style>/gi, '') + // Replace common block elements with newlines + .replace(/<\/?(div|p|br|h[1-6]|li|tr)[^>]*>/gi, '\n') + // Remove remaining HTML tags + .replace(/<[^>]+>/g, '') + // Decode common HTML entities + .replace(/ /gi, ' ') + .replace(/&/gi, '&') + .replace(/</gi, '<') + .replace(/>/gi, '>') + .replace(/"/gi, '"') + .replace(/'/gi, "'") + // Clean up whitespace + .replace(/\n\s*\n/g, '\n\n') + .trim() + ) +} + +/** + * Check if content is likely HTML + */ +export function isHtml(content: string): boolean { + if (!content) return false + return /<[a-z][\s\S]*>/i.test(content) +} + +/** + * Extract thread ID from References or In-Reply-To headers + */ +export function extractThreadId(references?: string | string[], inReplyTo?: string): string | undefined { + // Try references first (get the first/root message) + if (references) { + if (Array.isArray(references) && references.length > 0) { + return references[0] + } + if (typeof references === 'string') { + const refs = references.split(/\s+/).filter(Boolean) + if (refs.length > 0) return refs[0] + } + } + + // Fall back to In-Reply-To + if (inReplyTo) { + return inReplyTo + } + + return undefined +} + +/** + * Check if email subject indicates a reply + */ +export function isReplySubject(subject: string): boolean { + if (!subject) return false + const replyPrefixes = ['re:', 'r:', 'aw:', 'sv:', 'antw:', 'odp:'] + const lowerSubject = subject.toLowerCase().trim() + return replyPrefixes.some((prefix) => lowerSubject.startsWith(prefix)) +} + +/** + * Strip reply prefixes from subject + */ +export function stripReplyPrefix(subject: string): string { + if (!subject) return '' + return subject.replace(/^(re:|r:|aw:|sv:|antw:|odp:)\s*/i, '').trim() +} + +/** + * Add reply prefix to subject if not present + */ +export function addReplyPrefix(subject: string): string { + if (!subject) return 'Re:' + if (isReplySubject(subject)) return subject + return `Re: ${subject}` +} + +/** + * Generate a unique message ID for Gmail domain + */ +export function generateMessageId(domain: string = 'gmail.com'): string { + const timestamp = Date.now().toString(36) + const random = Math.random().toString(36).substring(2, 10) + return `<${timestamp}.${random}@${domain}>` +} + +/** + * Parse MIME content type + */ +export function parseMimeType(contentType: string): { + type: string + subtype: string + parameters: Record +} { + if (!contentType) { + return { type: 'text', subtype: 'plain', parameters: {} } + } + + const parts = contentType.split(';') + const [type, subtype] = (parts[0] || 'text/plain').split('/') + const parameters: Record = {} + + for (let i = 1; i < parts.length; i++) { + const param = parts[i].trim() + const eqIndex = param.indexOf('=') + if (eqIndex > 0) { + const key = param.substring(0, eqIndex).trim().toLowerCase() + let value = param.substring(eqIndex + 1).trim() + // Remove quotes + if (value.startsWith('"') && value.endsWith('"')) { + value = value.slice(1, -1) + } + parameters[key] = value + } + } + + return { + type: type?.toLowerCase() || 'text', + subtype: subtype?.toLowerCase() || 'plain', + parameters, + } +} + +/** + * Get file extension from MIME type + */ +export function mimeToExtension(mimeType: string): string { + const mimeMap: Record = { + 'text/plain': 'txt', + 'text/html': 'html', + 'text/css': 'css', + 'text/javascript': 'js', + 'application/json': 'json', + 'application/pdf': 'pdf', + 'application/zip': 'zip', + 'application/xml': 'xml', + 'image/jpeg': 'jpg', + 'image/png': 'png', + 'image/gif': 'gif', + 'image/webp': 'webp', + 'image/svg+xml': 'svg', + 'audio/mpeg': 'mp3', + 'audio/wav': 'wav', + 'audio/ogg': 'ogg', + 'video/mp4': 'mp4', + 'video/webm': 'webm', + 'video/quicktime': 'mov', + } + + const { type, subtype } = parseMimeType(mimeType) + const fullType = `${type}/${subtype}` + + return mimeMap[fullType] || subtype || 'bin' +} diff --git a/packages/provider-gmail/tsconfig.json b/packages/provider-gmail/tsconfig.json new file mode 100644 index 000000000..bed0d7489 --- /dev/null +++ b/packages/provider-gmail/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "allowJs": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "outDir": "./dist", + "rootDir": "./src", + "declaration": true, + "declarationMap": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "es2021", + "types": ["node"] + }, + "include": ["src/**/*.js", "src/**/*.ts"], + "exclude": ["**/*.spec.ts", "**/*.test.ts", "node_modules"] +} diff --git a/starters/apps/base-js-gmail-json/.dockerignore b/starters/apps/base-js-gmail-json/.dockerignore new file mode 100644 index 000000000..1eaeed3c3 --- /dev/null +++ b/starters/apps/base-js-gmail-json/.dockerignore @@ -0,0 +1,16 @@ +dist/* +node_modules +.env + +*_sessions +*tokens +.wwebjs* + +.git +.gitignore +Dockerfile* +npm-debug.log* +pnpm-debug.log* +tests +docs +*.md diff --git a/starters/apps/base-js-gmail-json/Dockerfile b/starters/apps/base-js-gmail-json/Dockerfile new file mode 100644 index 000000000..e2cb3f816 --- /dev/null +++ b/starters/apps/base-js-gmail-json/Dockerfile @@ -0,0 +1,40 @@ +# Image size ~ 400MB +FROM node:21-alpine3.18 as builder + +WORKDIR /app + +RUN corepack enable && corepack prepare pnpm@latest --activate +ENV PNPM_HOME=/usr/local/bin + +COPY . . + +COPY package*.json *-lock.yaml ./ + +RUN apk add --no-cache --virtual .gyp \ + python3 \ + make \ + g++ \ + && apk add --no-cache git \ + && pnpm install \ + && apk del .gyp + +FROM node:21-alpine3.18 as deploy + +WORKDIR /app + +ARG PORT +ENV PORT $PORT +EXPOSE $PORT + +COPY --from=builder /app/assets ./assets +COPY --from=builder /app/dist ./dist +COPY --from=builder /app/*.json /app/*-lock.yaml ./ + +RUN corepack enable && corepack prepare pnpm@latest --activate +ENV PNPM_HOME=/usr/local/bin + +RUN npm cache clean --force && pnpm install --production --ignore-scripts \ + && addgroup -g 1001 -S nodejs && adduser -S -u 1001 nodejs \ + && rm -rf $PNPM_HOME/.npm $PNPM_HOME/.node-gyp + +CMD ["npm", "start"] diff --git a/starters/apps/base-js-gmail-json/README.md b/starters/apps/base-js-gmail-json/README.md new file mode 100644 index 000000000..ef1dd6c06 --- /dev/null +++ b/starters/apps/base-js-gmail-json/README.md @@ -0,0 +1,44 @@ +

+ + + + +

BuilderBot

+ +

+ + + +

+ + + + + + +

+ + +## Getting Started + +With this library, you can build automated conversation flows agnostic to the WhatsApp provider, set up automated responses for frequently asked questions, receive and respond to messages automatically, and track interactions with customers. Additionally, you can easily set up triggers to expand functionalities limitlessly. + +``` +npm create builderbot@latest +``` + + +## Documentation + +Visit [builderbot](https://builderbot.app/) to view the full documentation. + + +## Official Course + +If you want to discover all the functions and features offered by the library you can take the course. +[View Course](https://app.codigoencasa.com/courses/builderbot?refCode=LEIFER) + + +## Contact Us +- [💻 Discord](https://link.codigoencasa.com/DISCORD) +- [👌 𝕏 (Twitter)](https://twitter.com/leifermendez) \ No newline at end of file diff --git a/starters/apps/base-js-gmail-json/_gitignore b/starters/apps/base-js-gmail-json/_gitignore new file mode 100644 index 000000000..727ad6c73 --- /dev/null +++ b/starters/apps/base-js-gmail-json/_gitignore @@ -0,0 +1,10 @@ +dist/* +node_modules +.env + +*_sessions +*tokens +.wwebjs* + +*.log +*qr.png \ No newline at end of file diff --git a/starters/apps/base-js-gmail-json/assets/sample.png b/starters/apps/base-js-gmail-json/assets/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..de27372044c8bca6f9701b4777765a4a5dcb3d14 GIT binary patch literal 113405 zcmYhiWkA#K`#nxGq&AR}8lz<}x}+H;Afdu&7}8zBq)SF4C|x3@QlmQuD2!4BN$D=> z5dHD~eE$#rPxt6PJLf*vb*}q*#p*xNpuG3s9v&VZrIse#5D$;A8xN0w1weB5i;Tr! zARb;Ao)%pBS%BqU-d7JUZR4h{uIP~_B{XYVR1`Kr3BbigL?B5){!=7Q8BGazSwp~O zO)0=dq(X6cv3QZRaIu)L(NuQOxZrjnr`O~W@;kTuX_9ObZs=jg{==IKP5w4fPEH7C zUF{0PCN}opcNW{mgL${kv)^SS+psZ7YIb?&#)CyS1x24mnX~?^jg|G!BW=~4ab*eX z{qY$i+iwT|g&f(OBvLCpo{JgLD9CqrUu<1yN1gES6vSmzTbgxz+^tL;vA6a4+|to9 zV{X=JbJO*^GCA8L^qJ7f5)m!4n?`J-LzpZcl z_-y?9?Z#C+!$;jt*K}hejq}h~*YO+IiSIT(S1(duxczFI{?qkL;Y>Pk8CjRUQ&ZoL zbbFkqplA0@-Q!n>OO<(>yVKQP`x7_ctDT08$Ycd4cMn&Ji;SRm2g7|D$vN8mtbUi^ zcV|6=1>zU%3a*P?p}*!e&;EpdgboSrPW4Y)h2{;-)xQcw9R!^S{ivqg30R*s^f~{d z=At@#f@>ik`LQdNJ*byIu%rztNLJ!rMxQkJQ(DGd{cVNsltbjjLfL zo$G^Bo2a)39Gm8vw`SKlc7g4>`@RP&c5N?r)c+;_x7x4Fw+Ba&4 zimvO^nY!h_V+#L}=itMCw;N5+v0-Cx<|CHi^nBjy)DVk5!6zG)@{#qoyk!ba zuj+!m&V%ZF4m;2Evl|jPLwgSLANa;3Vz9^44qP53zPA=NT*S z^293dNXEy`Nn+M<6505}-p`Y;b(yU6vhAzO%ewDVJasGou&jf`o%iq52LnF=?dJY!Nw4$m5Rz7YCo;{&TwN4H1)Hx*GoN z_4meRQQ^><}#Kl-gw zzp+Vr@ODBO(lR&5HDvxEE*UcRb*@ttHDUDMI`rlqzvB2NgcjXVY58+#HEUSzm75Ve z&7?V|K*I2ZH~iM*VKQvtRV&HthR!Ds-SMWLWL8CY^h}dS+oAk)cYI>v`R>W8=QI6j zFU1Ec01m88p9gI)K(+@EVG`Htq|7od)$(s?`Af*PxNmKN!UEm>?_u3ViuX@`QP*=2 zo}9{bD5@w@^k{{CCcic?*$T0F4V0Q1?`nCAeK0*=MjgIYq{vDv+}?eedX0Vidu=;F z760}T_VOw|0~dDewR7@KZ+)>|o^w6}W|)1)Y)qp8!?n+;jg!X#KT4J{1-LhFeBFtD zLSZ}kPV{S}q-&%CG}vqw5dLKGR6|h*nQ?piM(S`LBey*b;R3at_J_Ot5&dy^%HZ%c z)W14BVYU88V99% zCNht7kW%ky*Ru;SQBzV2rt2QB4EHmD;@6=|YS{P}d;$B1N)(~Z0#QuCUh&0=-6f=q z+WfGOhVzQAa--Qde@mH)fbxQRu0-E$zEOnndI-#Bz{FtuRe5iuhs;eZ#CBz;HjlZl zFTc_TDhKVRx%#n-s}R*a>QG1TlP3qqEiNX68AYS=5wMFf(mWp%i*BTd5t93n{We8ha?yqM??Dya@W@8zZ)I%Q^hQ8=dAA?(@05$7V80SDje z5joFnu6E`~Y7$(Uef(wiz>+1w@l;0Z!r&9_?e}B_8N2lyJl&h$-f(J9LGuez_VwDw zRWO(od+4iAs3T$K3gBQ6X%R^e&FD$5KM^5A@Ncasgd>+aJZs7~OjS4~)8g4!?W z#K#ah=JkdX7VERp5fLcIp3|^af|dq8+b46eR-_RHvG51l1WC`6QcMCHkK9iL0csr8 zb6jEzzvs0}@CF9rl#@#-$X7WXshW7qsI_AALN#;b9#$N3c%5i>Bl4bwh=*E05ehJX zcC=SuT#xN~Dbsg_4hv%Elr5Xxju=EtOqHDU*qxAAT+i%q#$qT1A0fx^)npm9e`8Y} z;0cUo7TxuhcHv0?KWDQAxbDqpg{EH?KjhSJe6EEj$aJ4 zMUmTn!ObZ|!jR%hx$ANOtaMaOua735>G~x=;(8-Q9svWTpU#2Oxf#8;4o&~nWg2a! zdljT>cKy4(sjjq2c+RA%MW#Y6Ae!zgr;MU)qG7iDwWB19?kE1al1yE z%tk5LCv=KgLVA8ir5jRrlA>P?b!(?eBH5<`q1k}Bh8!ukF#O%xi+(57SsE$VgS1GV zEz!T@MvN2X|47*53vEd5?dCWVq$+;gJ^iU28 zMov^o3a~=*29`L6<}}W0*NKPYV+^?1=~V7}ug-PW+=Ro(rtIPV^{odPXJ$=%+WO37 zghUlBNG^j|&5ifn>&xFyBMK>U`8=^N8Ant z$&Smz$$X{qTEEWv-&bsYyj|$GwRIV;z_x?=6kEsj$wQ!?9;Hbd_mWWTWB z{f{z1-`*>W(y^Yym;A2VkB*q1ScUhvli-3MJYzoP6~@+|-Pn`eD%VjgvNlXj#QedM z++IviD|u#?nd_-4vvJiaokyZGyJ zDn|0QX5=>AA#9UCBz|IO*?d-!+ys7ltl8lX5q&y?UZcTsjy>2{3C+Fcki|3?(Pq|e zP2-$u-b#OxEDI*FL0_xY=$mIvaTY3RMBs2W4hbMDhfxCY<7gL%i zq%%+V2HRVTj~|vk`Q4cq86ri zy$)X~$QT=g6oa2tyl*~#60djhA$0cjnOR!53+<0dCax?A$bhOheGDz1uX;+1DiryX)z93$(Y=WK?Ul)?%bp=O+fFym z_|~NL!w0fiaVn>wLjZ}w0cjCqWnV{YwlBrBW=9#>xEUd}h^iMmBZxR`|#$QXSOs{1yDhf5UFa>4R zD4g^!uW!=d@M?)4uiL>>4A?E#{uE-by%bjR>H(%PfmWRCw_l1XZ$M$xJZIq26VyG|YX4pR-S42uoZ+{&~q+1jkU6LTv1CYJ`3J~w2XNWoN+G#j=?Xn({3JdOjU=F(tZaY`O zzDwWCo7C_>RIeu-1eQ4xUw=odQ1G9^wqZro!sA&bQt!qjL_B-MrFT@U7(6t`3T)wR z>Zer|RXG^k=FK;U&Fc>}>#wB8ELNES+qFsFolJ{D7EZw=JT~+w7GpRkQ~L;CV&ba8g%% z3*z_8>!(3KBD7+&JP2lc&`Gq$YSr7$7i4%X9+2`d=-h!=Dx>jz)nv{&SP8EvA4Sm4 z*nCiOs?z;R`_WOP2#xO5h}m#VOH;iSOP1dsyTvj}&NZ#P8tLy;lGO|%xjWjo{Bs|c z-s!VLznRa8uiv|41qnm=XFiSnqMZBfSFM6E4d9QRJ6GhQ?>WjRt2r^DzsnOt>I;lb%;u>_gBMYqU8eYqK+)2Sk6 zYFRA?L_(;|RR7(EJ;DcPcgTFeu>X2Vog&BIYA2ophe)OQK!kjIZNQt4KTD@9!;k3S z_W4#Y(DCS8u;tlx{zPlMa$*R_Vssw0|h*duDnq6CBNWJP&-U%zD*HrY)b!xJ&~Ur}*^@5XeBNzR-*7_OdWQ(l|I8WM$Tv8PBX)eDy=d)hzQ6xXjFsTACGSdm~PrVOTo#!^gWSf}t4hRO;h zZ12`4@C2L2V{g3jk@O2FYH|ugb5gdn=Dk;4K%0S}XY7ElUVe)RardeZ9_$GU`7Jw( zU#nV6E}@lk^H$^m*|SNa!9vghQ7qrK+rQg(5|Q*7mIj%zi+<6Z)uFvcj{VruC6f=X zax9q6lLV+>_3RSh#(9kXMhN6bmK#SE^Nf)bD{vk& z?jHf%0FTuz0>1c6E+)INb2OpeU(X`te%e>E!W9XvQe)mQhnjGPp~_vTMICI;>S3C% zWM(ps%xoF{0x9W`Hi2b>a%ci&TAaYfcL;9i z%=K!)?!&*xc;1MpU$*{d#ngQs;si`ybB$~QXYUVbZNuQT{UT#MEKS&Z(-&7+b*lI} z8d7?RwoU`*qL5q-VThGiFC|(1=5X)RB*{WcFI@xbnw|aEz^3l^g#PAH9y1rcXX(v6 zGk*S!C$u*zzfwZ@ZawpvnmoTH9f-tw#Y##V8&YW6&?V92zbWx$Z??ZaJ8fFfPV16m zFH!IAb*Y+QukqG6D0|c>`!!noWkTSRx=<+91gIJA-@;7prJn#;f|^%nx79`#+&GkV ziEBUf3D_t9t^AU|Q@Cc}n0u9c$>5ODX(jV&v+QQ1U`>fk&=uvFY1q@uv1h=9aDipN}3!WvQn7;qP>JE4VDT-iWWOGgw{gv#7%TOs2N#E+5{B zuz`Cm8J~DefnldHqMx@Q32wM?y-kahi@k+jYjlc|sD#{Zxb3dmB-pSoz8=-bi;;-k z{+xbR;!47UV2$ot4wna?xY(<`Sh3`L!=O*NH z2;XuvmUyNj?5cRJSg>41*5vwU2Ki9;h>K%7pC9Y}5e>=R&x=>%K?|y$@}u+%x`Cio zLzR#O)8mM~IGu5l^c}AZrzmbK1cBU9$(lydVL8YuNCw;(cT>$7b0sA07u(ff{{V_t>q38ZTp1vDbEFk9Ll z&&bOX^U^54@JEutV|>ppR1dy~OjcAJQtGI&GuaIJVC&RwT^o`UC;U9Lw?1B)%U;Q;CG}^8GZF(Kq;}&6YHE-F8NTA1u(TuLD z4Q4RA2tzU$prNSP`Nf~2?Say#W6l_3JdT8=^FmXA)N#LRVml}pXW`zr5z5o^*tB9UEn=L<9uTY# zO&b2ZJ9TlhHtFQkr{;NWZc!&`^(8-gl2#;P9rU?+EK)GK(<}^wP6wZU?ITvag;yLG zb9eEr1Fvw&w_HEcya$;SYpQI2xSNr9KWI)q?VrO+T_n6bx>}sS@jAP|!d0VzcT@B& zXgmCkX2E6BFGVYJXm7J}Mm*vM{lH3`wtJg9aaSBhId1^$$c+>rn_BU9V(m<6kNR4` zpvW07LAa_PN}j%YSWi|!o!KTYugj0x_&+b#SS^IlOM zPp|Z&$XSJ(>HS-gD69Jcr)A#atIRw*N5y?B^CS>vV~2_=v?j6)+)4Jt?rFCB;pjzz zr_k%TPWmN4FdW(eKP-{QfxWkD&;A{=Z0x;Gq|1K!J_L*QYI51&|DI98x|NZBtA>RT zlAUTjb}fnXO{%8G$sn?4G-jIBeJtvk&TL0T_mwOsRGoO0JeolO#)%a;ph?jD-K*kBbIy`sZ@B^3s(Pcn zb)t5VrjDadD5ixgg2M^u(U3F*I66Jc!sX?Ksk z6n|O1L9?q4fKS9?)KTOItY zD!IpXXaB0EN=P~V@nd|sL~`+iA2>zzEo3+k@UvE(#tho92OI?5&UojG zldze8{QV5exF-A~`Fwyf5Bv#jIaDmTBJUO%7=h+-7LR09L4UAI#(UjqwIvC?>^b8O zY&p#<6Zo%q{B`B^TJcf2xM>SUSkI`68+fF@|NV;dF^~~0Ywpqpp{gJRiwk;ZoqtuWL|3vjpZO*+t0RL(u3+ky*<#I^Pl8ZXOiD+R_KJjJ z<}Q`)xyeno?a9H`o>ASHxBU1}?8H;L?wja0dhBlkG1ir@vrYB2NFU`7jQu+(Tf32}XiChNcGD>C zi|7+K{;y*`a&P(UFb}=+)t(6vu_0q`Pd^kL33%b_hLzL63t>)QPsQM}?oDVzINz0z z{3OG!dv3aV7C<#wX~Bqk=(n}$THjeS-dQ=0g_Au>N+m0B42*vR{Oji9fazZG*6A#f zn6mlAn*SO{x-t8O8Kjfr)3M%B#6BdU&$ith(g~~AU_xDkl}~AbFH`ZVRM3&DN<_ji zHuVc&H=C~Mf8oB45R|t0%2J|fQmycQH$b?FWhE&-knaZ6+YD+_W+z;ZAb+^Y5#~%# zNe;#38n@b{k*)xi)#QVMjiFi1%a9dDUvRI;&xYc9gpoGKV7nm{jTWP3q*E&uWJhhs z<*{c7sKB$iWmrATL}MhCJX0?o1G~*>Pa-kLjVT8Xb`b!tdKNSuNeDau|F`PK^7LIA0AND5;HyPD>Gf)46_Iwp z->XJXp)V1uj8Jw{64*;CYLq8i#0&u~H^=kVTJ_An*e_7qEbutcngRk2`ben!);uZ= zHdsztlw#Y=^7P^?rv+->u)SGPRc$=1?r5{X-L;h+ua**yH(&NaE#+GHS9&`r90Z+Y zWcreEElS;pozJLrx7v#(+Sj+Lm@jS#v9)V1*yXaK?)}j)Rjq1SaWCStgbKs59&3x< zTRrBZj6j{Xx;WB{UO`MCmY0<;i*DZbx^LpSIlxPt zB@=IB-T$wlB{nz}&-6~n^pU1zRyw4tK2h{ldBNb0cmXU;Rb_lwo0}MH%EA+*Ld1Yn zoQ||cP1Qc5xFw6?WIp%`u<`$Vwr+=O%_1sn8-+l;v`h0Gr7G%#gqh^PVb3jHUb^Ww z)zOy;f^r8&Z8F)SfPq%M;X43G{7SloZfL6RR{iH>3V59qwrK= zjKs)nc4#hHbFc(`ddRhsCi%Y8;56%JSDnDQ$$pf1c;}itmcd#=O#a^iVA6^p6?u2eXV(?7fF zWTvX&v$!Kc6>>MOMn6b@$waE0;u+j;=>K=cF5bG0-4TXOCKXUw8oBmo=BRJYC*~j+ z?&nBH{9Un6h=17Y7U;m6?|x8=xBzfPxxmiEv^Tn6nF}#TJ%Wz$86k*j+ZG}4YKtxr zUyqH$fsH(9wp6X!v~dqQWuUSXE%0~DuaYzsB0tEN!5s@cH2Q08DZHs}^ZG_yXsWm` zb*MHCp$FQV5xps)1e&)Dm`^V#Q#VPb@vdYZUuw^|2U}RQIqk1Z`4b7NSOGYmJRp4- zhI%7rdR1)4Wqj8dAXOY582>=UJH|cQD)~GO6~3Pr0;ff;^KIPf6087}Bf2>Nlg&$V zXssy9?Ll3MPo2z-Rs~^;Ai`)5OVRPjZ#W@cw>4+ISJ_<=iY9Sk zQu*jowP6qzU+I4eqK1}4q$tT*bM)0-{<*3e-fRymd@p#&YoNaLo>82Cgb{`T92txyf~ z(m&ZTjjJQwxYju;7PH46*h#eBU|KVue?R;RQeU?vZ%Zg)B3FP(tf$A9jz#?CWhdFo zDu^A&sxWWv8Tu2*O(@{fh#7EzF`;Ba==J1abf*W}C#Lo0uN)x!-9>B3drS0TBR)l8 zC9r-nPjVgBn{zWVU`-ZDY)(r5w=pORxWeVRM1Z)X`gbIrEIQoVeN`?DXyZg5MFe5I zFon9g>-u=%6e{|IBmU@+qiFjZ1-=QY0R4@k0vXI1eDvkLMZO8Q{S9%dY6fAsr_oBP zI!FUJ;27oSHr*OWm-ezpqVawT;=b3@PVd`m+=0ltJ*HLseiP1RUCajs3P9Ahgd)O+ z0bis%>Uj2<>K@mH2uGy5sI>b)@9Dz}$Sos;mf1#5;(nf8ee0a3E@JUVl2Aw|`vPos z`d=@VE}{|XbjPinI!s*M1oES9c|J9W)lW$!8KS|XwS67jpZxCsx^pM{c%mAh3XbE% z{r%Ue>N&g0Pq z(K%4J1iI|nnvHZ%L7{6ta!gzemgWE)04fn0_!v4J-1kn}EHDGgY7m#Dp}n|%Ca1HK zDar9rOrM(MzNe~Gc;0NB#aL|e&g&X}aih2c|81@9mFGwn+gU9P-H+=o9NW86q_Wf(TK1%=H(Y!Yj zc9?tKtO!M|7;Pz`UIe?Bi^TLYlIr0Zb|hza%;<-?|B%X04yf0RU%)6Mpsl6eaxtI6+;e}uV<$pVI<0D$Q<-)>YZGGn=PDt(xqiuzhu-siJ{L!@MY;edCZl zmXL2mrPi~m3`bMAcd?b1yShw0F0p9g#Wmn2;(R>0;X>&qqqgp!s-+%>R74!9#YfXk zWKBm{)Q+Krj?er|S|0ACFQj`=^@Bl$UNHkj+f^+gxXlJ{3q--!0@>e+S4;OS<1Bon z6e791%B_u_o5q~J4LEOF@ zQcpM8$Qh9l;%KspP{ePj?0#1JymtPt>wsVGlfL7apKo~Wz;b!*Y`Z3ANgFjvYvZr& zDdloF>1lhUND@|NK}_0OH5_u7Nk{^&!4F&kOv=@3<3Qsp=W(9pi(xd(HrH*ZMj$AW zhW_hHv#HM9VY%nWYI2atF9p7nZo5xjHmDUAJaLktKO`L^K08$=isC>rD#!QJV3Pdk zjpv(jpx)VyPo=AGw~Nxdn(uAe`LoUW1;AhY9i(d}!h8{v8cp>$_^t&Pa}?%peDTy- zb>~@?%pCC;-Ts%`m6^c^-4tk5Mh{6o{swH7WYmgCj37&L`7iE+-@DD8{DPGbGL9(e zp#SgxIlc6j@Lig#Pym#C*4E}hf=~uf{LR{eZpBR@OUdN{1uQ;2jEE(IaXAdpb3AWk zX*I8c)?ATow{-7Fh;XJ^ENlI-F+ec=`b(cYUAXof$4YrTsZ`Mulg#8eR%{yCWO$|; z5RzbiinP!OLOzF89xHgf?JD`HkqMc{r50d|+c*c;Jv?m&WcMP{0#$Z7b7vlByo_Mw z*eF*_x7r-o`9vm7qUuPvlL&wveu$m-A#!SU_gl$QwtlJ?_3(mSyHSyuEhzTi>PfeJ zNkV`ih=k5jDnG_)i494XwBFR?Gq6O^JGD7ZXLo(Ua?LtCctbReRR|)T6 z6Q}JScyQN>vdGbN-?cDd;K!cK4GkJk9XdDuY7PGEpFZyhv{fT8l7{P<;XR}+(_*yd z4r$fXPKzz)5(X8m?fR*{0M{di8%PL9l#>Ef*En=)oC607{Peue`m>Ge6d?D#b1E}y zye5Vl4iO50a}y?(UyXEqw4NYS!&K{o-Po#BgF*hyVmIv*4`iH=OlUW~6h789h76N{ zfgi%6GaFafY-iMbS9f$4Jne*fiekCbwkF`3rBJNwMHppI;L92c;FY&x&5C#RN2%WI z6Q?pSNW9CaPYWiXy1$RpT5Z$P>sEtu%3>$dF2pZ*VK%{`PSR0a?6E6>@IS| zME>XdEMVU$uhr9r#~&JKaB&$#G*#8BSlAk%tGTifR_%kb7L+fSX*IzssJ>?%1(=R{ zm-=dBf3I6YS_8^MdC<8DvtVikXKbdWpVT-Ow54oT&(444dI@}Ou^$yZuXbmF*FWE} z>EOW}@aH9K@Foj(KaFe?SG+@9B3^wFe1ixOjPsJE2JIcRQczhF!+PAZddQ)*07SZ% z%KYq~xgQd=Qe+*54OQT}bx|Mp7INz?ROjE~Cmn`CrbyZEiedCm_4-xWgz^E?px?*OX{Y8D z;Y^#plt9mUh-TUGF#0=E^yPtrfGiuqUG+|)BD3ar!ni8i#(e;Z-F5!ugXKf8`_wPP zbO9OrUsw#xgX)0W>^k>2A`5wtzOfp7qv468rY#~$_t)<_x*oq>=#(M+>3v@+$bI~0 zt&_FX+G~0H2B0U!FDeSqN;@hjISqi98O>I2iEH%T@*$R`YSaLamV<%ZlZij$>T?Bq zJoo(!do1gjI&Olh1=anX43{mEqfdHvP+w#kRZ01)`}W^J&LGTr64TSc%m z@{r;1yVtPNf6OB8j7(a29KUZLGZHKo@%f_$ev*na3p(4&2dGC--_i!9efLvYljEUV z(q`oxZ3A7NBasjixSZfeEx-=phWV#OEx!|Z-ed%AL`!@F;*n`{5*!b6xqC8InQ)^l zfv-7tzbk~=oai?l*k{<2dW}lhY^!v8v$zP-yH{kw2}uZ4I4r$xgrcQ-AAr7^YZ2K} z63Ffs%Nm3-%%N{Jk_$2mSF_YA8ptLj@0xt1Akv4-4;vSw{b)LDsk5=()$J=rsCjBD zJxG7)l`gY&LqA0K_Q2I6C%R+z8Zw!I`hwmRwa)l2O`$dM$h{)Ksg)YK``_`;l{65{ zE=J@kX99;{z%kwhf32C|O?g zfGNj;@lZsl5AZZfz`dRg8ykp4Ask)k6(XKxH8hng8fjs9dxzf3r87dBX;m_=!4(Sx zPA=P2`J7cu6OUh2#kAD0sA{I>JCs!@Mr7eL#cWdD?bMBhe>i^CYEDj&?J(c}(uz^X zQ|eda=InddAxN+2S@xiWLyzFm%}3@a zc4@qR_t|}yhf_+UXC?ME`UK&aAfc@@u1lV1$F94v3ks`#3v6al{qpWjGH8Y3@tVYI z|AoqrkBn3p#?h;e@40GdhOa#>4#=!~(yJ`kG0wKEP{DGFLhwUSGaAcyL?&fnRm#^U zzWM6Jzs-}ZEGa-pUvW0o0puc1k1XQb1S3)4uwZwxK>~TQw|(Zbv-8ORMvyGj|5GRM zhzG`dvW}Lhq-5aBU7ZNTf3pk<(Vn(|>(M{NNwiyoYclXRHKGhol_ z!olYZ6Js>;+yH5!baHqUcuE*9EL77B76U3Rc5XlqIuV)}=WLfsvL#mw3H(Qzk@~7B zkn|7zjg(c9wN4J^rY&qF556$qyYH3>t(ThZc{4=>cAswsbST{hhLV>UMmxz2vOpz%(&QlG_kt8X3xQ6-&;HTXK z%=B{ z3Ge1^9L1owxQYIb=H06@Dzx%(F`EQ1WisByR?yl!2Lt@o-qDsMFl95J(()3knErex zF7vd(AzX4P1d<~ENnB{D!UN|MCh_yUm7&JQ?#W*oH4l<(#E`1PMOnowGwTj;Ps|IvEhCYKnV+`{{e8qFdBB6*du#Casb}UvriWy{hUp#MN1> zbbCigiJPf*;NtdEEq=qiek(AyuZ4tu@knXXDbofy7oV3s6~CEL`$lk1$UF2fqFjbS zpmId{i5;!Z@IqP(%(#Nm`>n0Njl*AQH~o8NSYf9jhsba|vk21R^GMQ{Feg>4WF$T! z1GEwVc)N+Ol4(1s@!te<1$-Aod`Q!!q6i=e9DUK1J$_K*^n;IRafWU?xW%ZNTuY$f z1;y^eZNyHQz!BXF2 z=my@=92AQ#`M%%=>hhuz^NGTwrm}^rbJPaOq-(ER7PExt#&+@=hs5QQ)UEYvh=rG3}jv zgGD!=BBik%jGwtCLJ#LVT3@*zuVdEq!-oZJ4Hv&4-j&=RvESV&eP#Qj%4E;O&GqL+{^}k0C?IJ# zQH`|W{3}f^3)v%p5S)ZHr~)3Gkqx>HNFjQ#f{|?Q?k4Ode}jHb9dAqZ(yu2%urDrXok=Su&Le8Y5D-EzY;w<_kU zPBK}FOm*kWNu>Tuaxu?5mO(=cQz6#78(Gl;{G5`W{|cC$*n8O5oebLR}~i4Ahr9DpP4Z^ zALwcMcHC*!Q2U6244oO7%*k@%Oqo780n1P#=t{~}FF^@ z$Rqb`x}tRxMzN506~ARyK(^%@tU$_WlaPt!p0cSDnhvk=U5-;a!<^>?zgM zVqm7`EgJUxx>plbxT~|ProGM30_KFU5g+3V(_-yrUb(h4Ona;Q!Iy?j298H=zOD!1 zYK3g@_x85?7Lr48Mz?Aa;V@`-a75i*TM1Ori6=T@Q7+3&l49LoCFms;L6HNgZXnzjAUtdu$MFxS`C_>gz_MDQ|=3&9@BsfseKnyZFPKiNEORtuIJ*(QV~C=Rej z181MM4o^sJR;y`^{;e=Lx+zn({@Sr5-$2RGV?G~*37(xMeFD6m?3qQ?{AT6sz(VGmv7~XYq&`wb}YpI>F{cND;bxu1TljEdV<20%{>*DLNS) zm^Z1&1$=foFiEi|0>+>6tP z5vmx3LW`Q=4%!zZ@0lg`C^l9gI+)qz)ZFQ{kqDV8-FR!YW|~-;(cQ{rp>@EY9}Rww z{DVCe#?(<(E%rNfoDVXD=8&DsA)=R2n;O6T|AzuAu8B7W@+I(ku7-C(XA_SXjs|K& zSHCe3EPFl~c@VXv>Hz;ZYT`gCQ%ulVq zlc=jw&{oNKxx(lK?7{i0Gp@{8q|N9F^P5MRkfvMfyiJa8iZ|Ghv+eotghgOCMX;4x zP<}rFtybuhnm@#HThGDUw>jy=5I5|0@hC{{cc1hJ-K^=(d%w04v5~dqt zS4KMmCD|D;^0jg!-GZ5Z`uw&u<)jdro*k8xU^J?t5TFa^D!Q+%^_Pe1SEtzT#4t6! zZ>4viRJjKKa6lyq6=eq@4hH8QVD=~8fUt;!;dAQ_%VV|j6=Z^+w0hckO9#u`Pn@5( zIr^#4MSQKJlz9WFV{PQD2BS#jxa6JGa3viq^?x)iL+tg{IrBCu#!}bx#F2 z5%DFF-q<_}6oqDqap^bxdL|_3kYT~#wsg>CS8sdlC1qyym~`3<{ti~+yM6rJY&ZQ6 zC?8;*%(W-fz+Iu}I)P5x$`S7d9qbU5s*H0SSsa=AE^~oRsz`p1m`^#5u#o!M35oc9 z(3J`GaT$gd?zLTj$NU=XLP*{ud4WRC_p-UUFGmN!?#>E!>!0X_ z{1-p(JTX|Nk>Dr6T=D2N7kvjR4CRS#^ctSWkpryeO+m$Irj01b63Fc!Jw9{Hs7qTb z*DafSj9379e)onYNlhoR*GtNgFwQw!V@p33{)MX>^d?B#9A~MEvgNlIg034X5O_T@5iQpXkG*8ncL6$*8@p}bWq@CKIq?X(een~K zPMJnqV7No%oW051fYBQ^$}{GqgsgI^&B&*RjfVn+tTVSQ!Ay|~S^*goq)pBoL1i$SJBQ#YA~uL9q0@$>{~Y1! z_H3~0g8hs9K}Y_%g_v6M8~B?hyWl`rypYkPs5Q;hGa|{A7B|-C-@x<>bQ!Of)OEqU zL|mJ5-ik1*bwArNhl{nwKds#lwdT^bNk?c72(^!Ywzls!;fPyC#KHo#!LW+z?z5Uh zX`%>G?TZDsz}J}q(Ek%!J&PHBf+ljCwcwX#SetP$zq@r0=_5rgH#=pt`^$oCMEqvTPQr703n(x!Dmj9-)4kn*L? z6;BGilY2#l1hbjh$nnmnSZgA#@H;I69!{S$Yl z=6tG24Bhf*(6frq#k_i5l0~nkE8w57zln>*_m7>m%r{DC}(>>=MZ^ zx0m9`PHt5^cX$vPKM8XtgZ4r>t@{`Sy|8q|QSvZ(>{Zl~1I42C0>l5VH&T&>86PL7 zhh;1xn~3x~on)}0k~-(u(PXHs3Rc3dc$(I~{fHz#RNOZJ~C$R<0>t#+p@GMf&mem9< zgJf)WhgS;zNSo!;@aS~)voJOJ>SobQ<{)q+@58Vu7lW#`IG9FuE@idc4cEqs{?EB? zY;1^xk;EKo`rwLCU-aR^Fn+4^Yd&uQ56jez2r?@;v(fNv1i0TjKKgWGwL>|FWhX%X zUF^@ZmQT%VkY|{3nmk6_Z9wn>*12WzAps32&eI22kzYj=9wU9!@_sGcFRgrtDEL$O zQD2-hes3yXsr!s~;Nt92Pv72o0-|4b?`{{#jtzED-u&{Z#%!Zr3U@(Y>`&MS*5ECg=EUiys(8A5pH!}k4Lz_>+|lv^_{!JBD-*jcP)}&brmmun}RP&qG|P!zfM5j z-<5<|%c$AwkvV$~K~A|qFjs+X+-I?#;u=GB4r$5?lekN@nqx&Hjfx_Kg9Q;S6VtNh z18B|LVbdxA;v6N+L&O(B|5^C5`^BuKVf^CS zvv*5I8`psc5oF$ySnx#d6*H%NWD8$eqY~n#A^S|CL6u6_ZvifWU+MU?Vinh-R%pn> ztj)lYeIhs0{+o#$dh$ZMN0$|o>fX(9KUNyaq3>3e}`3IV@l$?&RGx?t_-HrdV zEeRMoT63|q^gq5^<%@89F%&NWuY~?T-oE>v>i_*8DN1F9%9gT@Em_eZM1*7Hz4(56t#sH`Xyzdx&DTr^D&W>plb474U{e5OWZu z*dm*k>@}YoSaI`i-WMSzrgO|u;7V}pp(G7&Y=jgHp#Yb9i~?{15K}m1O5R7R7$Hq~ zc4%n@E|-`3l_oDBGauQ{M~w{lrvU)ux$~Tj`o&lTb7fZg-c(UaR>09a2>Hz2Or|D! zBU+FxN36e}=TK2RHuJVDLXiFLRC0>n!%UD#$TyA0aXc$GY$FxFhTB+VQ8V}KmC-w? zOOamnYbfNBYHMyX6`86O7>RhNXd-ISL8URZS9U*KjnU(D z0zwLZdF{t_Ij8#^J>gG@RZtj0ZsAdyoq;12jhHf2KpbLN_x66pI1jBVHl?f+*Z8BK6G+l}+&xeA7{(Ds?^QHhaT+S1CU1RD zxXPN-G>p0PfbBmO_@S3i^&r7^sol6Xy(^-_?Qpa>w$eF8Gm=W;nye<%2UB-cqb=Lc zOD%nilIDmKD*-iM`_6*|CaWhjDKSg(hZE7vDV5aB<>g z8iYe8IBz_EEj&^ac+J8kE>X$Ag!Ndv!mc2f`Fr~#`X3*i zVz|1PU9O9u*Zdx*pY9eJTwPn{)V4;My7N{*ZhrgEYa+2s7413@Fsq{Ok;!P$_v;bo zsWU+5vbeL?B$wrXQ#0-78&O>|L@mq2+^oB-$@I!JG6jRkP59#m#1KDvEuIR{ct#yl zGe~8#Nnho+VHIGezG#}}4!*HWToinsWHOp6HkMSj`Dj0xHwxi?sX5%DsHyP}lf+~n zbu@CW?TyFTj~&}T9`MxupTf4c42cB0PiqVdsGLopp z^2Gt6t8ygA+oE1)vp3fVq9cs&$gyxCY%IcG&^)W<%L_~xsv5p1kZfZXK41n413)1E zY_jwcFux_9u(wxlYT$m|A%&Ax!nMcLiTO)#vVEW!(yY8L?>(igifaIqpV*M7OSY&D$(Y)HayFB=wx#eoe)BoiB zEtBRWN$T^aA!m=;%Wl(VwthvN-rebRARSQFW$yns5}*x(V5+fZaWkaV|M48r+;~!Y z{%68a!azOfzfTmH|9`y3N0&AoDXsrot1a$iO8gtL_Mb){N*R3jcPwOMrU9Y-kE`Px z06-x8+9{ol$!fQ>eEqDOVA#6+EjKs0>OpV9x;JTWJ1yDb?@Gc0_^Cl}6^fOf< zz(p`Of1pvdBdb$roJt_Ey}fkm<6rODUK9%;cDR&Etr}!de##LuV9vDufy4cNphlWn z+PL?y6#y3kvvXZOnfm_X8XDF=y_SLZW@!XE^V0xy(!)O|-HpI!cL8vk`a?11h{wa6fHcYu3KwCS;~k7i&SjWQ@K6f)Dp`33;eolqU} z;AB$T*a)VnpS31X=mT0c|3BTd#6vnp&_m+0*VnJEfVL;~w$l<5+4-@lO%j1WnI^HtBn>Fx%uE**=?WQ@1wt`88_m>g?QDE z8@w!G)z#u|6R*R+{}VZ`O8{fJm`znsMFMBK%v7x#{Zlk-SrGJuHrhf`IRRT-V*1vs zHC(Z0zo5%x$)Y5yzE+<2fJ)78N9D#p6Kd;lQp8l}6L|FJHm~Gf@-4sPz^ZnE%lXtT zd+XC^e1BRsyA6WKs|KH#3flYzNENET4Z=|MP9-RwcI9(dO!2^^va)uKnzL1d@9n4c zF{f_5!mHsr`uFV7*Z&izLxB?>2ft{~xN;Yqwhx|%vP7Cbgh*_@9X07~8}xVd>!N)* z8TxIlY&DKi;3ueRlEU@o`6GtxJ*zsNqF(*1+qmlFzu9Z1Yz6=%5KUzf#GFIl)cCsC zLN1Mg_}0@tHc>xI?G`FBm%LQ&=m6h&kJVQOHD4bNQPI`ShfL59&_jy4X`8df>)uxX z)7SDlC){t&R%V=vK&|ea=5U~uD(Q|t*Gbl{@zAR%Bc>?XL=1q*ahl-^T=mXfpq7Bs z{|Nbxw{$;z&F~|?{CpH2`Ks#-)gbioXoY9$Ke11~bk@dQ zpyjH0e7freNV!(oam!~-heP%HGL;`B4#^uV-!5X#@>4N?3LsF2fc1nF!}bjHd$V;1 zBya7Y1X-z3ubdtTC;14z7~~JkY8rRE^t-f-s&j9$Ywa&a|6aHmQ0Qc5DaxX+>jFyr z*JbN|3Ct!7ff?A}HD6zrX8yn&nvSt%*i0a*53?kTl)zl5(@d*joH|bI@7K>nX+RDA z^&|;u4})Bw#VycBqQU)hd&1yo%S~JD&TO3p`;x?!&(qo8as$2y*(Q>NgRZvl-t8t( z2Z!|+nv^=k0qENk4YJgtlBAdTt|wE&dCj++ewv5=2RExjE>&&@Q%(4AD)h%^{%iG2 zo&F--~3LgFO zK;PuLwK=+8*S5TL{7mn!i2@s}}p82GO!KGX$ec1?r10)|`c`!+0h?bgr$>`btMmLK^3RR4aVGK` zY_U5FJwvZ&({%ku?mUSl918y4Md)~>eaNw37))rFT*^)ZYWP#OS2P5==yw-Jr(bUO z$A+U8_RK447V4z%T)o(mf$iFs{nI~IveTMw-m+W%HHsr(8DaevZ^?HP9b40zZQW+Z zgWKc;EdSX!)pUC5)e@j!<%X0b?E6jX_%M!fo~1_8yP^- zR0ABc6Fgi5hG^$PKuk__o{Nv5+Z6P5dST*1peD@x43h^_zRHI?f{u*mwtxR9VUP)e zWNyw2nNg|rlZ*?%Ah)Nh=cc&6oI^BO^U_R-=QILn^%M6ceMRUV)in^)#ln?a9Oeo( z{c;RuT{mA9^+!(7(em6I4pHaVWk#FcV|HA<_VAUL_&S4a^Z`@)!FFA0w_mD;YHOwU zg;mc&6rE>w2{!IauBwD?El&ON1B+|v+#Ek%S_R>c@ZFt78t626gcb6v?~7wXr5j1b zc&Y@`Y*yZG@y6OA$)?xVRo0$4LCkuE6p^I%-vQ&f-dm~%Iee+3t~05k<{R0;!KC1O zHJf^;An)ky5OWgfg2sLUWr(F~H-ztAiX%cnoP@ob=lxC`Ibo_=g9drRvQ*$Q7Nc|q zh{RDkx+z=4;w3SuxfDv}&$2r7x~n&IfI0RW&ntvusEdaGT%aze?43Ic4n?R1%?ZP| z8+1*bjv>L1{U3N?MT7pbieFDu=mFKWz)`p9t91hcw(?a~sm02$!a0J}t4|>sjPCK* z7`mRI)e+ZPLSAWBeQ7*Jy(G~qZ(V6GKIzW4lRS?w)$mEN-?8#;+TnY$pwFo%+U>uT zroi;erO)GngiLLT7AOX5+ELq--bM+3Fq+cu=}g+II!b!Kzwv?H#RW2LJ(1udX*p29 zx-ZO#0FjbzTO&jRg4dV+XNd~i(o;vIu7N2(GM^zxnd&2cPzyD+vaD4drFqyXh z?hl9S_L-uuqrTY)NH8bV)T#z;m2GnsW!GFl)2q*VSgzhTEt6x)?n|Pi;Om&)n%)d> z;!&6Md^0VBIWPm&B)op{{*4!xYS+kTu{5ac^fmQT4SBsq&x{I&G_dt+yL7C1!}^=m zO~q2i?bRuz0n*HbN7cjA+ zF>!D?&J69tS5ZYBdUywJBp3G2)Xp)PX;DXw-}%nxh-ETn_K}_! z?*k^=C3_Nm$L#udQx_pNzrL;O!IzLm;27`DuLB*$l1A#cnU5+znpp78aU?B*q{@x6 zykF_StnP`FBK8$39s40ynZAdwITg+QCm8cB7C<_KyCwP|b7;-|RVf(9Ys99;f`A+f z1jKHGT1xGPnU4G3!jB#AS~(LwMRb4^cvHV?yiJ>gvOvL0vbM;&I=19J{?3j3I%IZ? zOU{u*Ftdw+f1D)J>diIx^9)tuW(o2{@}Gl#TZ)yjR!oQs!XC@QTBiNNGp0r|KGKVm zN}J$*c>c^L%tAFGY}|Xy<-e`(nSV_CiXF6}`^Bqv0J+cXS0h>8;1hd_!9Laphm^gy z%L3dWV8L<6{m4Egi$T9i;?pn(aTDqiK^0X4D5F(?+EcTlj7AH_&7TAC%&||<@eSlu zl~#8}2BD)ewUERoZjhi;R=9Qe%ePvHd#c(!ZItESKenV>U$k6*h`-uWz%ouF8fu%^SkrN&7!GbyO4GGiG@w^E{M+u1*%q0AiJgMDXVMa<`ckE?swyRK=6 zyr#>Hl~F+crxgp*D5}mxFYyQ?b;&o|+AMkM;LcV=?vQw*sR(mzIL`35fP&|%&-rb+ z;q;f^HCIyVmt^+=;QTDTvzMPI=8Z|M&oechW4?>bqoxU{b^%ds+zk(=1o~0K7v`H^ zD;TAfMAW4ptlAc9yx6O&4=K)=-vMd#R3qba9zP*X6x`r?Leaf-Q7?o@sP*A2J6dGr!yws(n+*CY(ENO z7Cyj+@@;?VF;!xYpx3c@eJugvf>HIcDe11!bIYx$l*zjB!q_vFWL{}o*L82jsBEJlqWNOBa(DQsQ%jrp|l8EDWrK(Qw>WDa5tiEHGXuE<>wXt z_k0@u0*}85#H*euuvHazV(wj7T=^~V9Q6ljn^Hk<^Tt!!x{9`?7tUVe{B0Tyv(}mC z^7P4+d;Cvr-zIBOT{CBHuDN3OXpQAk_{DY*(Czdb-(~wrBf-~3EV`UgVSpg>0eN4s zFJ=3VscANlAGN^KjU5RLe*O^3mA>-2e==A1zrmPMd?T(d|@v5R24 zS$F-K6l%GI5x=t+8a#mEdp|JL(NX*8iEQcUSl#stggJ*tuRzwgq+|C&hoB@KS>&u) z(dmC>F(Ccy4$yc?fNf=^cezdj?vPok;n~>mY}CXW+5HaGdiiyfi_EB{g@KF98U0gm zJ}=ZCmUmYG$C#lp^KXNI#3=_WgUuZq88UL)3Fub*W3Mh{khR~({NJ$>fE2_R(7tLP z+v%uNc6I$JC z`an`%-I@9m6{7u{*ff=QPshC0eje4)v%+XY~7dN;! z+1;zUPdgON1whSipdUlG5NTd#;rM2-;yEaMi^Nzm3^V%0KtWeT9 zsKz$|;R3&+CP}p?=sf=!^zEl(?lhNGF0|g9gDlxrLlER-oe>a($ zarx3|Q>V(+YmFDLR`-p9Dy~bYYgSKh`&(WfBfi3{%F&D$msWZ$N)xkrHkxKE8OCEe z%1H1-4XLi%#edEG$)af=Qd>lp8frbjEIfPjg)_3f1^;xyv~-XSE-c3ooAS=#h*PA) z?oz7iWhM-w;;cPKbEU`Yd9(D5N>fr60fQ=0@~JD4`@6e}f0<&_ZfhQ13W|ay9bX9p zo4B-AFiJet@fQDxp1XxGt4@us6Z4x$X8bT#!ZgikDvFqDSjR4+Cg2x;qy_}Ky-%%q z|D0^U++=bmi5zjPsqUdLV;p)ytsa0|yVrMC;=%AEHQ%yV#AaPHmAc1&0xW5K1R-0u z&h;23)SB)Dw5gn9$Y1;H`mD(=oAKF0Gb_h-ca3IbMXtM;`y&v( zwNX1tcdWt`#@dEz72L|LPBwOK;Up!)B~_7-JD_xrc55~bOl|o#BCv)j^$bVKqV-!O z12#1oYH_)2asSq<#S6BB8UjI{laD@lNJADU|GC6)eE_lWJB%0BLSEnd4n6pIrs{59F#GnL{0Q5o{8}O|x)AIr@@1mk$a>2fFDtS&^{Jcl zC3<@b+$FPClFT(tSnyl3t-BOLDX)G_Sh9x)s_RDkWG=ev^RAd1W^z;$>&Mv}DbOgi zn&qO8s(%cq>FnFmWS({HdTf|>pyT@c1IR{g3#^&UYkwQa^KkM0rNy4EzbaeS?G0b1 z)R}>T{=&D0OqFJQ1m=x}(UP-87sOh>cm-@<^biqnsp2}qz`%zIr&O%_9=Vw{A6pEIIdno`hE49)LOFtwa<%D=6n9E zVPR_eKwqxuV~0N;5j2r?&26xbsLBqWX9Emv9hgEBqNYZ6=I zmfk(uJu1`7HO>5Ec4Fur3I=!dZAR}^v^udrJ~DtsTYRx+PAc|rWm_MTzv<3)1u5N8 zxqhy=LE_8jNiXiXvZLHD81Vko_}4{364-IA)d7%XQPlo1>k95z|x?J+TSx*{64s@J#vh6}iN>n_!rT+9+rjq@Pm0C${ z#Vh=*;b&yuw2O#^^IH9Djq;kL%+bk?j=cOUNHEHL=Nb7RuvK!Du6`Xt9{4rok#_4q z36FBMRjNs<+(>G0i`@93Vgvme?tyE{f@S@)j1FhG<34*CU=}wjFLG6Ne+)5W{We1l z#XJCK)ZaJ1eY|41#aZgfo{;gps!GYbMNvXfrv;4;BG;){dRI@cC6sp%5B;06&;)$N z(XkvfR0i7!_xY)pqFEmlSYN88`Vij`ST3My*To!kgY4_GP<+7C&oKP+t!u8{RJl9G z^TZDW`8!0)-TX!2(^9(@G8|XzHQkz^9$Rx6_^JcIo@Mg7v6`c~N2j9;f+UoSD?Noe zO6{r}yl+Xu20iMJUK*&w6*C=m?VwIhlQOs}apWzL_;cAlx4&0s#wU1=_hpN7P%{d8 zr*Cd}EkWltqITCKamVo2N@fk<<%OY#c#1MmFtQB2djhQEN_VEz&r(g72a$OOTB*7K{?e8LMknS~gHwK?=n+!Al9C&3#Xc+03;@p$VJ; zbC4tV4NKfRf9|!XGrzXZ&TyYN381LpaOO?VHQ#m3^z9Di<(HpZy~gf2gH@zwGiH5C z<`>l&iZ&2S0VOL6&jUm+cb<-;|u-Mr{lT2%*!&u)LIyc@ww zuJ6jt5()*bfQGL7=|`UmEbcnJp2A>rtViZ=LR{3RBKTG@vg|0XZ&(96V{0fF%t00S zJ7%!BM$+pkk>yU9Sn%y&o%QxLwj9d^z2V;~HNtN&diH%uSk&jGZRhfJrOcAi9!{Zq z^%lxa*B^1DbFSRhnV3p`eP}=Fi|+E~(|~6{C=owx*8-@pp*ZZX+uT!QA;N`{M=!aB z4yI+b5qlpkITp!Poi+2(K?FFqD%bJ2=B|1Wu6hw5=w1asbv+f|=1e_&=;xJWI$f$J z%z9V(azX-4w}xQ~Y}M5q<9w9+$4)vyr` zouSi#jgJvBBM;}-8hGc(ETLpCK3|NV-;-VPs=}|aOOs6q3F>s5?B|Wy2{LM9_8KAD zFDtIAMouy7=i%td=?w7Sl2l%z042(+=Ql%eqh}Q#eu=?06pvt(JFLhh0~czVC!r9Y zjIpO}$|jXW9hHsoXN7C|p2^CA({QAZP=!Orw)`vp$8Ch(Dode1+U3IEA6mpz>Yzp@ z^u0WXH{SgsD-XA96pwBEcCJB;IsMp#Ib8^QEL3?!alM>rq=?-J$ucs`iy?y=LqLao z#rY)ay13t#LucU8<-+?L!6!~s1i;ou!X%gw68-_6)K`?R56vN~O9osbV8~FU*|N;< z7b7%Dt9iId5t5$X1vQ?I5`syZ-AdQo&346tnMQldi4q(sYHZ{|NF;dW9{5cXvcVsO6H+&|$WDe3j zg3O+BE^ZNzW9u#w|Ll1$5)vfFP$iG?l7PhNM$&FF&vAE-i_DgTeRMFTX!bEB+M#>3 ze#nbo!%e%Cd2;C`t5ZMrFOj|dr_5JIr@OW2Bu%{zO;xZf9GEiyK~?>=?X~;hOlIuR ziiPVc*{_=XQ1%*u7&H}mXh{i=*QDIuB=U+mm?uAL}Ey zzb%n6h;{v#@+o89oy1d*AxjqONlU%hMa8XSV#7j~%f|gu#K@;{f@|kZhF9PKmt94B zUvxAQ2HJHm4WiW6M_0LsVx1;;D(H!$EDEb-iwS~lY?C(g{OI?i+wC_~wz!w}>jM`Z7CAQHn*oi9OSUu7Nx!z= z+jmshUp+CH=6Xd`uKTg?cNu-g>cKmS>_&sAm&~J&-#PJ*Oc5<<`5vRAx`X#_*T>QW)6nv<;x4m-f zq`)?~Q)f&spkUn;czb;2{ISEc{lMMNj{+O@BssevN9)ZEKb6mUJ@gJSn!&IW=5NCP6ey|0?pq0K2720X8Q2nBcMfCI9-7{YS%yUEohG8?#l7CKU`Mp zxx4+NIM9HWV^`cPl>BV)TJR%!#`a?9oikZFx9l*JQz`e=3DRnUH!|B8qoE1sekq2^)<&}+#n%!bd--R6 zV5UQ=S7qJsVB&s$z($k~CrNUpZdrqD z`?mm|(x+dh?qisoPPY80WRNrX<6DLHY}FxfuM}Z-;tILT&MDl zUUQXBh|7hwIABZfY1Tzth5ahsSsRpa0xoyAVPXU3n5r_-cx%C^(7Lb5ZTfbp49=b4 zGh^9a->altspPA4tTrmif)OFVFT9rEYA9b&0pR zblVKjx=clBnq+2!cFCuc?%cG23T4JM0ng((f--Sw%Dn4?7U0sVOU(xm&W!%9GWuvW ztH3^uZw&b4bp?YJ5RYa(s~CHX1hY)xzS6q#W3l`lE8!K>Q7kzLp0HH6>9yrK2H#4* ziqZ?zGb5X;HU_acZ;NBZFn@{#d0cd=fo{kW2%SNmsfrK#MIEXkoI9iZZ9m|K=ehQ? zv#PNPC>4QV)MjUrQkLZb(lZ#M>Sljwcxazq1kO0NE3PDo_KYH-CSpvEo=rl*CAo@v zK4FqGA@iZu`KDai-$k-Uv@^$&HP;S&iXaF=JN6|6m+u3@Ux`WD7dX-@Ogt4>k0?_) zR&%X9m|Py#00-3dmgK5|>aDhT&QhzehW%9gnBE4`2W~ZLiC}K7PiL-dqcm-xl^N^5 z2UwNXQqEfhsBGR}BF?KRKqws-SzE_OXSu_tYoLc8+Uuj00~;U^KMMtI@}C-}cilN} z1T)8wnksl)SaJ!ldJH;8g=eUfgz+7IQJB9W*)-PJv9VXBeKG_V)_}>r0>fg z9oH79x}5=Z(_IB>il^oVL%_ezy?2qhH>@d%iDnJbK@>r9)_&A3pMocF*PAwW`zUjh zy`5IRBRZbN>Di=xSe`IZ9(|xYMmQk)tQ}8`zRQo;81ZQ0Eo?Z2IlMmK8x1Gl{`<6~ z_?8Hk<{8SCeU$(G^Nx4ZlcXXEQ7f+^LKYP&11KtqSmV_N#8$ias;{1HT~&p2f6brk z0Yi8DlwB(;;+e2cn8}DPy8ve}uQQ=NAbw$tgD9o}opP|uJc*Xr!vIy)sSkN#4tHtE ze>*NY(-M=hSteUTa7|Ke70!zQgC`~k=5^+K?z*WZ5Jbh=Mz*)!SfhK_93k18Ybafo z!8Ri%`{K#TK3NiQ6zp?+BFa;_-`{h;I_4rv($MjPY%?Kn@-z;qi3?afnn1->$+-s| zs6=ZI-Jeuktc*gJl-Qm8oCy&Lq@!eWF0nzfs~_OJG&L^iT259B6AKov3{^0b3L(;v z_f?+G!_i$NXQ#Sw0{L00=ig+Q9t}(L+#Q8wxVNV9k)UnC^T9v+_JhPZXeDH5Fi~@A z3@O2~!d`7Yp{0_K%*#RM0kHsQSI*L3K#4jx5W9N*E<#Uk7`PA9_!#Ehb~C?-u6Nfp z%xZMn&kHd($C<2`u8E1nROUh^d9T1M(m@lMDMa}4{>zh4Pw2|u0sOfusZ_t}%~mXW zXRs<)RaRJb2?Pv5nO9h=wNn=APlocGyIGNeBb$P+hC5Bj^ZQ(!IP>Sg6jGSW5x=$h zs}0}!j-kIl?bbX$Fe*b7?YCq_`~1}};r9ew>3ZZS)fucS+|}lF?tdO}MA%nDhNOBZ z0Yf|5Mly(%;6_3haqb2_t*uUTJ~M20>i3mYZo)u@OCT8*R82uQ?JI+&0VcO^0nna4 zE+s3?>%n$(n|w+k(zs+8#JaZ0yWYimY9pb`*=e3o6%Zgy%94+9*NuZ^c?FO-VHV+6 z12T)vzE^V%a&;(^`R;l(!b$ky_UI)kEND0EX^eZl@Ag+SOG^kcDamiT zT$^7X`7%eMYYj-PwLcS}uD9W8k6A9-iXMMf_bbs>$Tc8>Ffvfejo9ym+?+$XFMR@Z zZ*(9gOUS;7K>kz&o5U~eF<~K-Z<7<+e7tXn*u_;KnlVX|X+ei$L6E?;vA|-=Ar5$W zliTr*+ZsueH{dx9sV82DF0g@qHtT39OI}QB`%2gL%2=A((Y%^`OMO`x3*$ywfBz$w zFx>8Y+>4_>`o|TN{Gh#jJTML}Z75$qEzLVi2|(X{pt2I)MXBi;D2mT8EB7%k3%|Ir zcD|D|LHx4j=^v!hBp#qGZh2twS(o)#k`$H2@p?RTX!JH7g*$kwP~`X`PUeO-nqDR7 zsGhRlbi9vOZk$(6Jt5SsaUb1;ro86eeT^3ioD)jT+ON%W2?UnZKtVL^BJjYso6`2l z8(l+=tzo=@;|B}+N6$&hO(f-p_C-2g|L+Ii84n+mWYtKr{rOpeSAi96Z$nwfj>*SI z)-FjKhcg?Hz)iZK@5{R+wPR900RDBm8AQ4jG?cCc{b~}h-@Ks^a)G=)jR*r=&9hi4 zE56@Tpg5{b=xrfp$$&uxh|~PhZteRXR5==0j`cp8J z1C3eg%9w6_mi9G+U(Ig%z?X(9Eb9pwfa(sY2 zPBv!y5mvZS=`z;WOThx~^t&D5-Q;oP0NmKYpyXj(Zdxbl_tH>)e+PmiEjKqemejQM z-c3$z$42ajC0}bS!*)dV_c<^A8 z@%Wor59&MsO#C_3cKnO?=o96g_3k@7x^V@aiaT1vRUPjCS{^CvFFjfY9z4)SAra=E z@xL|I0`eF1fxG^$kg4dhAy#F}d8M$$EqA93^SX&fpO;*yi|&QF+?qJA*a=0HDg=sf zddGB_jQ5l6SA=*4l)CKK{qA*%Jz1MRt6$KLW03r%Yztm?1KNqdTs~0(H;Lx(dF@#; zDGhhvKsu4g;$n#U+H;pQ&w;QmJxg0X1xd6UnujhXkO#bCRxXl@M*<>s&T-j0o_R0$e9P}<$!M@V<7Tudu$2G-BU=D_3G2mBEdkJS>qc|oLk zgw}}He7DiuH}Q%5GNWGJfad#JdEPRM2E7KW_qB^r1&hl&c@xQ>i%5@+V&z$Sxb z;kEwf6UhF<*q=|po-4zck;%l4eOHrd#lVA_%ackjqagku=bEcM^ER~tz0=t^wp`~r zr=c6G6O}rBRekA-o)74yVqS~K?C$y)K<%j=?)sZ7$%RUK=8QONMP*C!uV*|CfF}#cNwKO)0wKLAS@Y&U9)O(rmHM-8yEP0{?G?NQ? zbdTAlkt@y}X2q_-E(L?Z4EXV11rfY$r6GH_D?v2~S%j4SpBxJkd7&phTe-YIRLt(c zoRpiAr<)?sNu{5ua;3Jm_JR1ev9W8pBbLX<$0s~srpEoVx<(q79|Ss2B4E1!zy3~3 zKUGeir?Mgk%g0NPs|=)~Bf5Z!sH|-H6zT^{gt{SjER97+ z^4^_nkkL%~d$olxlV1z8(qJ7^su-nwA~J2_>EXCfiqc}Gf#j`szMMvoesPl%anOF0 z{WUO4j96_LE6@87-u0y$*XYhUUu6$*bk6Ygo3~$l<_z|HQepWhq!fyIgBj6kJQ9zo zv|n2MDyg#p!v%yrEjEwP{&MLqer2-+T&?#+gq4Nm;X2daLm>pOez5(yKyEW8O0s{0 z2oIO6Le2Zg(F5v*f(~w7<*I36E;BNLlP@@k!t4O%&_s!$wC(XEVqn z#9)?qRCjOfw}kTH@=K)EQ9$0<>Ma%{FcX48g_30h@1#v`|=IJC#T?-P4tnno1MI3H{ zdc!Vqvy8Fez0YH$U|9~e_NH=Vf|wgoGbzO&Yh9=P z+CDL+Wjd5nrU3%1!Qwe_gfiwjR<(a_zz{Rn%c_U6@vKbjQbX6)o=sUKbZ7U++n~~k zq!LSX6_dkEv^9s-PS){(rj~q=!AE-47y}1wy!+rm9V*zf!}nL~yX*;ogY)kwik|jK z=+~s$awbXh3N3o6EW}@K`VZ3d5h;7yoLhOF1_;r%7_;H;hJzG1cWnAP2e0Sk2G$C)INVM0!{I#K%5(P2p+ZkxFC zY~6I3%o(B)<05uQyEJ+!`qly7^54%!F%2 z`=&jc4v0EGj8h5|L2*;l$+?MQIaBYFy9Teed33SqmlV0;8ZGM`EY=nyK{%PI3#nr$ zs&bI**|TSDv&DG)Fk{n;s4`{PdV6EQ{@dZQSLHSyNsv&o-|2b=DtX1W$Cp<0wGxpB%B7*>%0GJ!7BkoffWyoB6_DN|}V4Mb@TCm}r@4nbDYe zB}zA(ZwfjScd1Ou)2|U*I`*qAOyicbq@?7J=)x?O9b`<8tPaWBBEq4^p3)GoU-f&U zZ*BK#>lAm|y96;*Z;qLwqM~V2V8fU1fY&$SiZAS#LJEDcg)fSNbi_?Q!b9y{+geK> z9H%T+DwrIpv}O-rW6+YGV=n?9)eQD0iP}nMNdagEqB$7M&~o9z1vXjBaz0YK+0UOp zHTLlV#Bs-Ui2)C6qU~voU~t6?gSj{ze~AP8kS!On6R-MC-!Pc+UOm=)p7H!cW0OxW zQa)vf3=_Yyo6mdWcMN8#I)&GUF$wjIos&tGyxYFp^IsRn6hhUBsO+PCpsfJBU6r@< z$;$ETd&OQCli0(8u|i%>$y*v4)yBv)v^DcgWrK8Y)#9SvYayuZ54&gfEwZ8ZxA^(* zYH{maH8C)os9}(15Ww8fcg7*j6eLBgw>~--*=7f?CHAq|tjqV? z_85bCz(rA$i|&>Fppp+nrN%{6GbjO+3&N-jASHjbj~KH*FVXcJb6S7cpJX#f_R1_s z!G?8hTs5(I)S?Ckj491+=V4)k4&&JXR5I!LQxzvR7z95SdOg_@iWha`({8$oG&>p$ z?&9)Hay%W#qw<4&BP=VQW+Mx&?|BRI_jKj&LDT2P1*)((G!DA+IOxUWiLdX5F1y-2 z41TnRE;^p>yPtW=w_DgxnvR#9~5Kv2`#Li;!f?_vjR@* zyGto=(ds0UeF1)jukaUXk%V8CHR-Nx?VE0)_}9c?*eo8vc~q2dVs0_WG_jup4IOaR z$`n26g5#z#3)c_Qud_ttQPsN4Aepa1EpJugY8O?o)48I%Xot58 z3cSfpAr-*uG1$K0V`(BmT*WPH*WV>+h~O?YOJtYy1IC)tZYIgq1q}t>|Nqw zWG>=#R7V1OgBY-QI~|SlAU|V&Ku1R>J%B9Cv`AcZZ&EpX$*nEB6A%g`_B$oL#G{(q zFtYvG#TBaZV4{yD4=0Aribu20&ZG8%NwC?T4^e!E5g}*t3XTK4r(@)~G-7ySkL*PL4>7f}p#EUw_sR@J1*1=TjQd8<}!^^G4~C3((COo6^f zwv!s+ebTTdq?TY@YG=M!v%}Xy=LGH2;myF|vOp7&HEJe$1qyYK+RK&7wM1o-KYZZ(S_N`Z zK_(Tpfug6llO-u_ljV=gGTfXetpC!$%kAUK@X+~cv zza}auZB*M#d!Z zYd+`Ytz{ybq-?Ya0VHf_R=hje<3wFWPSjP{EgDZdblIv@>s!H>Y7@1mcJ-MXX%kr< zz|GdZ;A7NQ!EIb>=)un?>124ZF2v6HiqVgzM3__l)Ys2|1BrYbyEfcqk`L+yTc>=% z7G@KKf3%gd!c6cwKnqvDibSGg@KcHXHoF&QM?PHQh$|+ha0`hT9pk!7V*AhB7f>}S zqe%2QlAYDSAf~MM7xq*=w@C&Z>5!|0vF&9w+)^+piS!t=M%rXvNa;FNom6>zxjg9U(zF>fdj6Zy0z6+P^U(klKu(*&icmz=I#ur^5Lzo0@OE2cQp>FJD+fBk6g3f zSdKUVe+hiDKzO!Ja9BQWj3kz$|+HBC)y(~kXxXX}^d$!{veWN=A3k=7LSLB%Q=E#b+Qcs&y> z=m~p{e4H5-8S^QW++kS+-*MvkjKOB01h-uf81tvl` zCk=x;6yOPxCvGkgaC27z#pZ8a(Rh>S`r~2mRkB#De^EV_uABVxfnnv71xMSGem9Y3 zmI#qu*!?Rc%)F!79W&KO5w_3}U?SjIZ%JLV9=S=55t;Ik)Zh2|STG|_?0qn}YQ1&f zh26^8vA5Qoi!$0kfFdB0rvEhfy@6^)!L?X_dLm5Akd^WQ2c`t&tJ_{hf=kw&<*v2^ zAr0UKpA=&X1%MMyL=G{Q1{C{*d0FyF&Sfptrwbd^z}fP|47|By6Oj`sb^UZ6QXBZ< zzjv+aM4ID77pvJDal~3kLYlNMppRR5r5Qb@}$KH|5@ z*_vYknilMRcgjz33m@+b`B_$-Tlq<^R(q~<<)`~!4KK&OVcJx=eCvy)aAk~dN^rv1 zmF^&L_}GW|@Bc=Red2gBastjgI0d)28@Jp7-s_4>-BmixkL8^^7%EiQT{vIG#?`r3 zZ@Jkw8MO#+G)+KXlu#^`R`$D|=P21#v1Z zVwLUv7S&Zzg-}-gQ(Dm*{5wz<4;+4eTXN4O^5K805A^#>!ZKfT)Ry9tFjDN3+ZMk9 zC>WibhS9jq&|jA#mZINW+Z>pTSgdV))w9#?HEpOnBHsCY`kulvd-L5}ygQeaGZjtN77NTV*xT?Vr=<|NWC& z@Pm(9z`pL$(SKWU5UNFud?M0RNp(Ehm2|N8s@efL1IDh;kH?cXF*rKLI0F-wnUp&F zclAKz2%rE)$;7>4bF6A?O*jIWnP znr|kg3P76@gOAv|5)QmK_0gMatm^eqElWbw0N&^AOS*>ONOH%(}k`v`W0{PNmx~s{PhK*Sr2wmoKHVCp}{8k_!vYU9i@!Vo1v? zLpoAs@B{N#a6q0x+S29xjQfKPmvlUD*=V*HSOj@9rj(XzkYD~2R~EopoUREqG@{+8 zX0hqXr-peBz~ja06nI5cE@ahnzrt8Cm`p$HyY>98!4yKqy86uoD2zdSONC`nQLw#S zJKXUczZE^9=yY=GVq{N>U~7u!vm`~jcp2?Cm4YqiaW?$rLt4QZ+QAuGuM~~6eYa6E zy|3;UeR;1skl-XZ=qY^-!);Zo?2hj-7HoLPI^yy_viSd!)n1mDo}c5;GMBb}8J!g!FF;Ll?fnM&KQk-;GkAo9 z07SpimEX4nm^XzSC$`>e9wC&cnpMS-N+hmWkcnYdYk_OIf?drqk@(QUzIXWJX(e+dHTzS^ym_0b*oB{I6e#=pBQgg2fA^ zYgy_asyRgy_Z*bqQLpa?CFb@qkwoid{2Nm@;+Sjp1267OZE05*8NXcH9Z{3_U-tGj z;q%A3yxBe*TJc=c()}YOE5L4Z%gHVl>p@!Jpu8q^WKTXQ5Y{OW97ufJx5Nx}{cTem zZS;$U%GJ!>sNR`?&`JxM_y#YdEIsNc$@xk&Cu$7|w^6JTAgv6{fo?~NZkHkwlt0@J z=K>891~3LNydI|`>9~%cQ8};_LFcp<0$Fnf6)4irI`?iZn4tOKMG>_&eQMGhjjsil~9WH_9Ugcx$2&j#v=-;ch0UDA_nPt0j2@=D}BXM1I}oZLF#6k922w}H5L%C^l2us(u{lhr?j2Y>u| zayH4FYi?nG?u>Rtc@})1;$)Yy9>!S{NzCIw-he|MR5o1$!m{rW z&XH6lVWwz0`Kua9(p>FbMM~uq1Vr`9fRFEBmWCXJelcbJb}`<|$$KWDnZm>IY7Km3 zl=fFh$=CzM@0JKJjw)myS-eim4y*P}*}8K(Rs*XN2WzAFe%Uta>enYz-9C&DAC{!k zhDGReZ={CoZ??(X{SIEwl+FiOHyq9+Z3a6fw`k^>;$4C8^j{{1(ME1``4erep&F2*TI|*+IeC_=bSgw9VSI+Lb}JB ztkTI!)|S07ifUBsj_DlPoXADcgi}Vit(kH!AKUMbw(YtTI{eC+w~i-+P058q<0MW6 z{6B`I$ULo01GT;Gvebjw3MDHSHny)M!h^#pae{Y$2bNQac@c8jpSnJ+tv9~aT8*Vg z!-#svC=%3tRLo&?#&ba>ic;EmC7!co{jvD;`X*caH_lKZR;x5CjB4bjphhAaHIf)Z zr+`FruO1~h5-~CP%i9c5k9<)PLhgR&bLzQlZ+2zCyz3*NZWU$quyz!aZ}^>Dob zyiRR}H2YSsZC@64)?e@NegZ!$2 zF%)!2t^kyR=obai5BUloeDKIFxO3S>j#33*K7xY;y1Bk7&-25jlmona9KQV(2`Wq^ z6@Vn<%A9WWsV(>rN0v5ThZU{*UwT~s7RyT`XVsaC zXRa1G;?bpJZ9`u(O#lsc9&BX4ik6~#Q9zD&%{oNk-@W^2;pvG(O10!CG(@EopxFJ|jo!O!TBnxq=;FC;W`*>6E$}Ta7pWeID$2y^5H} z@nK0|fuSy3D3A|gaU8u71YGNTEhXv|QdqDWCku>8qhAH$DR-QN%t47n+d4b$L7iEy zAMJ3mkh{4&g`VkbwhTI}o0#j;$b4Y}+YqSozO<$bu1DpSq0ScXw-K8z?NYu4ZuNFn z6J*`7MGkK3muX{L9e%V)UnUW1w!Xg_IfrmJwxpV-FFkxf>D|j3>RSrsHKB~IL=#q< zd*U$-G|u2JNj3Y462P<$pfE|!xNbSfN~mnyk=2vAm>Ir@;qrcH#B6OKP+qgnGcUT5 zFx~x!5{$QS@^@|F)W2)19v#B6@cdSbyFlmHJF;VTuH5qs9 z7b3G?Tl^ud^Zh^smp5|AIBh?@F-u~~>eYjHT5Kw;?T3|d$q^cvP}R{KnN#ZHCpiTl zSh=guxiy9g#TMJNuG@Cm(d{krUctYlrBzVX7wglfv+()&>WEV=M}%DS3+>-~#8r!# z>S+vX}FR9>8N)7rV_D0m~logX1upA6(F+z5~-CQ6-r^dr>Z}tSNB2E)oU9t<7h9d;( z$hImmB#<^F8k!^ML;hzjN-w#wT&odzzgqNUKrG~L_*A|Q z0u8re9tx5(*98smxfz@3B81nIpsvK;OUe^5l!93{V{+Sogu|211vc3Lo#82Mqjh!C1bk&Y9!J`&Xj_uGUsnfXNghs7oLHw08GkEIy=T&GaenPK`Dx+? zhD>SYu{IzupuZBNFIghRw_)&m?7nREZ@Dzgc}M75T;ZGZMBwbKz+M5}zgHkt_095; zROyY|`5E{*{o1lvzicT=03jYqb5^$&@kdG-hjs8N+nx7Oe49M0cIORK&KIOrx8Y{dF3yDqltN+eKgp8A957n-w3L8!A)OytUs`-`TMc?-% z`kEO>eu0+#9Q01q`7uaB`2$^DZ_PF7mD?@g>cwA#Flk>>W+(glk&<0ZYvxep{R-Mh z9Mj<@Y?k|yMm+^=woDbRvZfjY%?(k$=20qF)bXRJH;;K>!ngIg{Z4lk^GW%}3&<)7 z3y@WAGrA+MIvmAua#gTxeQ6xdrr}->n1?oU6n9_Lh5$Pod9zy@$@XTHq)LYtM?$_d zM{R;fMegPX5gQWL_avN^u$9sqeRt0Ze>g6SXLl4OAV!$7GhVh>h1$Gkk=8goPh^8> zwIayTjp?meB17+Sb*M%t<4ZPqRYg|5Y5m6;VztBmj!!~r{Y+u*^DY8Jp&OEaykdj< zk*CW!t(d3G?~DsMl7A%hT6e`Ie*EC?~PK^2#GJg+b zmU=#W=3_ydEj?PdW`C>tMEm!Az98Ng8V(nTrx-iyuX+lLULdR2u#bf%=3T2FImH`?-dN1v zX!CG1<(`>1>61Ruu%tvrR~lN)GqQGkol{z;{6?0y_)3$v^%P%mDE-~bevjG}^RXx$ z7B7?y#;40aS$KXyB`whjZBQduDb`WuxvLks(~0m4PQ;;viggq(+l6zu^tVuYl9kCP z`bMZCZeg$TkQBMGPJL%PFv5sQsk@CUQm9iknsRW zmb3j+kb1Es0gn8gi2W#d&9HNNlz@I)b~% zmAlDB*4#bP#bW{n_E-;8^VKfA-RvuLPrs{>QeEtGPmlQRmbj8$uM+-qQSr=!Nr%0a z`j(}&7EhlT2vE06&Ampk*+gA+w|Rkn?56uiAcA|g*Ir^9=eb0ZKdzbzmFwErcFX2q z^a$Y4Am1qY>FaF*)p7o&N3}<}L8CI-!RkN&e~KFv>6SssJRMhc0PX>C(MMyKKP7-0 z51G1?|7bLfUQy%EaC;kEb#Iv|R3Tu(-84RBVp>E`n8(tcwt;LnHQ?85Cismjk}Ko;2!AqrLXr)_<+Kykg(H%@FWMld+%EK|z1sNypBiD#iw={qYMZQ^^zm$IWb zJ8TmM&Ey7AWH3Q%!H~W*-Gzj8^*!p0?fVYYZFsg?{g$aKe&2sM*|}?H);KFLDK~@5me8vIwe~ zuhuE2?Zipt;_cvDBof`-hsZQnD1Avs6EhRPgq-`?&Y^r$SPmK7MWi(?1VY?3CdxfF z@U>?C5|MY%n=f0OX?=pB=UN5!qwl&{TFG13K}l1Ye=g|JMST}ZK<&G!-JFYR!sQHZ z=w?=1oe*v^XUGt7CJ#vtSUotl%7MW3L-zYSTKEh4$`?^wXeZ$22fD})8Zj|4)Fk;e zi~NY|SGwO3mspIw64K^&d&gfIAam}8#*FDT;)YFYBV+GdwqVUa)R~kLue7UKRI}VAT;9yE3 zpeO460&7ZRy6tQ|>Tat;wH~5^LK~4f{NPE69YEBpAf$cPihSe9uqp(9N9OkH+@6j7 zg%!6a!+yDlBSz#N_KNWk1h5FJizi}m2*|yD135;fZVtBRhZQ%nG^MU4R``8!5kW5? zQZFbCk}X1AP}4AW`}>APQ7e*`v0pAQkv->_7{9VZ)R)_K_KXDCJUh5`)NRJY>?LtL@wzWFE;-H-xBE1a0tK;X-_qLweWo;CYZE@z3Wql?b73a>Si?-Rg9_{vM7(jUBWLyu8Pz^=n94%ne|kYh`@{&R`fOz&9gYH-A^=!udJ?6YMCsPPC?)nCpq zi*+7L)K2U6a?5hdB(jI#_j|UayySu~3|5!C%k$N2Erd=etqJzuOK5uA57#g>tqjIp zb7I_IN!_E7a`u?xJ%B6+29VsZWZI+ASIGvRWb_NuZd`kAS*Fo)isp&XNhQx8DlA7v z{3NTOGcBF@Wipgik(xe3L1RrMXcl&MWxYXJ*Y%U>VcENl?9zhC#?`A{bS1%AvVmU2m^wZQd^VY4pgr z=9ae0z*m}+h3r}O-wo|N*e5uIKOHml9EX+Nq;=T9mNDHl_+idql9LK;%N5$)&vHJ{lM z+~vmXspeVErRgu!8;jH%l^vcRo)s=ReS^M3Xd7h|S~gQ66nHWHd0bKL%rYh; zD{wh-aV@3ApmsMz&^fjXq%pY#muWS2m9e5E)Ab0UC9VF-PWNYxq};%>jipDRzWyH@ z_!tz`Gp*>&LK~3z^@dA1Kt^l*PpF#f-9hr5X)HoEy8Z_&k*jay&=bH+iM1EU?Xj{m zKNf=seioN!bUD*6isdc_aya9dRLda#V*FU#ADTY5W@_qV{5tmHwys>5)7D{)7WUD4%1#xEZb`Xe$ zT>gwq{!D)Ntz~n5dTS`<2de;c1`Vyv5{S>| z@|F!BYDZo2KqqQAKGY*#D<2PLJU-}iYXW0FAyOyBcbgi(pPm4H3xv;RM?YjLp{-wp zSCDvA2_f(Wz6T<-dGyeIQ#cPI>O1`#w`nJ@kExNclq&#g=H^I-PKz29={rNrdb{V1 zSVA{;>LA1fe0VhLbcWCntP*2^b*x%mVsR1@A@MJt4y3|E)1eg=&gFiI=-9f}a%oZU^s#Is_#WVV#3ThJxe1Sv%l2YcC za2%4WMa&Bq4y81Gf1ygGUPnwo8b=CO!qIOeWhobTCFj13I$h#0bKA|5BDf2^C?|Tq zdTF;Zf@M&jrYx+TL5_$zWTS;-CsfJ-JV1=e`z3nRYbZLYqC6Kff+X08bBb7Le!trlC_@Hy^(@g3I$TfVp!F8a z?;Zx?Wzb8_u-Y>&#Ht%dm|=Oo7oCA01nV)*S1iBlK+qCtoxAt;@2qj0^K5#};G0e< z)tWI?ug)#0Sf;Q+v+IzC+q#7BPp@~H?wMYZOTHrK#!NSPds_|K{cJ4Z5AhX(zi^Qw z4jl>wwS}56tdG#P2Z3e?Mb^_1$uCVuM(_F{yMvhpqOQfgq7tXJ(FB}8kd_wK6hc!YcTazF(k~%n00@mN z*SK6kZtxj*qnsY1d3dd%%U^8j4pfMzfTs^%-|5tb;>l=9fH@qMke;oF1-{#7Kh8lt zr2@YG=&tly%Xio9B1{FzwNT&Jgk_X7U(XXH)*e-alrccj;myLdYmPv_Ej!#`IM0}FL-iE{O@lw5XcL7KLOPme zX%7g7^>t(<+Oy6Nu%s87$=!O@G5`kjdYI2>0}%3ElH?o2)W@G(uDIeiwwfA ziej}XW62_R-aH#$m%oA~3i_de5E%4ENihkf@rJQH^fw>)7gmsCU?NhybbO%3AGW@4 z%NEQRp_GwJX@y2R(z_(@tG)v-Ynw90g}(CNeY}&=$}))457P=kjlsnUo$5cagRjPL zvUJ39=!cZkgqGvy_YAg$-v}fTiBZ7-3sRq5oW_^{y0$92iy0ljCJGNo(Dg^>yl(`r z4&?VWVma6$y8iX(Y{p`-#sz4jTTB-}k}BwsW>nGaP-Cc3Zr=k|TmdUc%-`v553{ly zm1tFzT{;1!IG$YBhUQb82mQhkk8_SQvEC@MRf%}#Ad+88e`Y_?ns&zbIg#<^NN;Bp zPUi6Kd9e6(YcaN(%79O>C(?P5o#wvd#%iV4+oAtb9MB*5ZF#)pgLdd~#ZK$WwHZuX zrI+|!}&~vOm!-$5S};W4F|@F>eqev3R6vOo|k>1Rhb}8{`OoHa#C)K5W3g2 z1z^QO@-lH_TGLmkYj?9&ehsXdr{GuYOi;6jz4m>`6lpsM2;@UaY5HX0`1?oyU=SNU z>f8Z~#dk~aaG!*?ICX}IhZ5Dm@*e?gP~OUEyzuPDdCJF+#qur_1~s^Z=GbwBqRC@M z=%Q5=PW1Dz(29~0Yx~2VQh<-Sa;9i^=$Z;qTi35u=hsj#NR0!>x7ovrT@eKz zeT_ime*q5tmycV7e7(44MiZ$Ggt?q<7GodY++FflxRWcY)amV_9|f3;9*!9qYCNkH(d%i9Nwwo_d^R zN>}BmUoX!D3^lm`4y?np{(IoMuIBnDTp+d&6&LlVl|t8Ah@CcW+DAY(^ng z(%mjOJ+jcenbd?*xwCgK^IvA%$$}QuTD0)^_=tyxS52;` zs&eJIXh)SEdke^;fwk(vLpNqmU@3mpwBUux?O1sdCArYkTa5 z3uoxcz)gL&&S@R7P^8gGJ4h}oLpR$~4gH;A~xzeJa z0RX0DFNiS8o0Fh0`t3a`$yeVdkQ?MjL7EqWT~QsHgFGzq*FDsWj0;0p(hlBVD=y4p zFZLWTJBkw*!owAE3#?)i68x$rFmuClVJGVsJgg80>pekb@%0>sn(b@3HWmAbjbFh!S(d3vng>UWWjPQ0Or(+H+dq`XxAMLyZ9R^y^r|Nb z&LfACM%-y=BT~MwkbXtyDE-hIuXWjMvA*qSs6BBEKi(81vYZCbNiHKmtM7aj zUP+9hmS7A)q~*%?yw3F@72aBA;++wrI>_CS*3|x0pY4L~OpikM&Q54~IC=2PDA{b~ zF1w5Ha;aKbmgWGd#LdW6mS#{14n&uVwBN?I3VXaD9{h`IJVkQ83VnM-lydY5Xwe!4 zDa-+v<)CIeVp8xqqq+C!7-^14@q>ngtmYg_{+JGJp z70>e7i3kz%IoeS3>tv>0+youbmF?TCq#Tj@e-}p^c+(X)fWe>a1_*|HaWOyW-ny{X z%&fsHRzncm4TSxw8fsI9rgQEk%FAKta{>IxP8nBDs44=SBU@&K^6W0Qgk#0WbGj_e zyP#%JHA|C(gIaVKL{2;#%mu)YXXsZ2hmS`~10NAfCYbP;A)9KmVg(CL!rvAeBnNJE zJw^<9F3tgZZt{@y0inQNrD@01sJTO-^~S06ktWGn)ib*D)zza73J;vF(b$4b*ME@A z=zkZTcQU93Xzom+YQ?lU?O)BPgWDt;n;i(x$izO#D0W5nnvAj=Be{!^1|3BO{gCGm zMf5IpK7pDaFUH7ZI*R`s1?U6CU>8#ILtg6_9AQQxf%9)jyurW$z(WY=h7)4<7Ts>( z#YHF;^87|JLUIXA*Fv=yya$$TFG*-F(R6Lmzbk!5p@l5CLAU{IeP@vADW@-b1}2ws zIG57+GD?vw^c5!{>NtL=MR;jSf(Xw$}GL(&&Nrl$E=?8rA^P=Q8Bgq;W%NWPXg zc}_1B>V9d!8@rfM%(YPJxq&1E6^s1z9QLnp4)VX74G;~ZsXC!n2bBd{rI97{{Az>O znI_@yzqz-d506ZPQsaSIqhx-V-+cUzMHN1TqvZ*4@5CIt_s!M7(}!ze!>los7z!Hy zC~rBm^0QJ#BNm#8f_-&FvL9tG@XmxdyvcP{6HRQV@N{WbBUnR%%Q(ma0|OaY7^K9- zU%olRz|6La)|37YQHba?u?s9@sx0cCqKD;hOSyg1G-nI44(~k=I~tT8E2ipYW@=t2 z6@bL(D~*K`xE}Y3`|a%KZLiSCh~V*W8WYx&luqg7 zqc=AhssQ@)m*~QDJ+G&0$ivt-N`^m^!V(V4EdmP;-XJKz zqXX5tZnn;*q+7f2lpxM1Yoptc4ZejpB9z+M@-y$gW9~;?;eb7o*IiZmm#t^00JwhjvPG2>*za81A-O|i9z=;luyO9P79T||95cK4;=1@g;TZt*;R~7J zwAVI?s<*2)=HvCU`;v%pE&y^F0QnNWSB`8u_arK{K-QnX!+?(dO6HY|Ej8@d6TQUA*Whj*nKVOBh&OaI8XhrF5;`xj=#G+(T~1vn!F9ge21|a zpTs)RlSD;t23i}g_{4_gnl>oocvjYP=D)TLmj4;W>g2ozf1Ee@c{Wk!dv`p-E|#9~ z!ulj)PLj^f-W(s|zT?;O-_35DmvO8mJ#wnWJ#`ki!N+=Vb-aL`py(08Jp7jJ1|){krjoqN@RmqGo`dH4;~~?&co7{IJ@JHp@``KuV z_@f4;S-V*JK^>tfJOYF_G~0*s26nrDKmSAczZx#3yx3g?_RoLe!qo0h2N#lW&Ke2x zauxH>{$&B05t&fpJ0D#Hm>Qt|mjZZlEaaUTPZ116X@|{5>2b0)E7OI}x491Ufws6Ry zV6jP2ie0$^NqEp)y;J1{rJNQ`} zG0FEqAy+|%-7Vpudd)%tabAEa%}-W>05EfQ|2$d04f?8=F1fUO{6h0JZleoTTSuTg z=ddZBy1Tp4bGr#z3q_dhLOvLJ$yEY@^#0yvN8AeJ{hC+ri*xmt;?pBm$9#hZUPvf;H8N%{nk(%2x zO_ILhh1h{*!(A<481^qgEvFKm1goDxd_W)^$_t2++u)=O6qBh_p%l$MDc$?m?(G#9 zy$-D4RS{<^0wyNR|M|1FBhA+X{(gBqS!tCfi&v37*ZACK6i&?fMlr=Z*!_}hb^h2# zVtDB_he-|dLsVw>BZuH}ul-##=DDU}3){)PTte<0JT(y&hn-6DavD2A`6wU|cO^#} zP?%5?CQI8YffhC9<->!;@1I|=quI!t6?4tRV`mU_X9N3ayXuM8vfO4OKzdi^*WEH` z;qEME-8;{uB3~d#1#D-!-E_?7Q5kv!q~C`wS~M*ZVNJVdKZWHL*1A&fv2vu{!@Dh3 z>R(0hy0x#ZsPl;Uly?afN6{Cxy+%oZ^Cthrib7th@yNVW{(vxLq<Jh<8BaT5oFlX(!?Z$UrT8VE13O zM3xTC6e+qip?N$lGR7X0{H4;QKOGgROsH$>Aoq2XN}v3Q#Lhl|2SlV~D>xi3c`Ly- zR6(-Q0|^RA_8pW2n|{gAK>Nlu>x+9%_?n$bg}O#0BuoHBfHyt_ZC$FEa=&vi^>S3+ z*526ebc|qTUMO1{mSFLuh5=tOyBQ{W?iPEx71(?K&7Zon*LYgg2ciG56t&Aq^V6sW zYdCO~kV;Fpl-GIjz3uE#YSYkb$azX3aKFX+a{KthoHSxX#R7-xXK1%fyxhN3T_+}Lq^;yCvE6CN3%bCLI@g`C_|jvy+-!TaH{IW z&pdLtTUwXUm-UZ*&88902ERawDG!Tob0~|RAk2#gOFE*D6@Y`{i#Q-B%C(IqjyG(= zp5$yr4H9;NRYB|RugB|uA+iJEPa?dzh0Va8ZdDd&om8Htp7j*WUInO-+jX`BcgtPi z1E0`5TJr}_-QL(pz!JpP``MpiC|G2xh(SJ3>Dc_6>urM-Tc2n8r}NKxm?Q!(WtDW> zI%S*E^)v8e$4)M09WSG_RRi2k*N|(D=3r*lLRmwuR-EUKd7pe>QgF$8G(i-YBkD-V zrv27;fUFQ^njnUwMoHlEktDx28?Huxq+QgLOb3-L?Buby-NpXF^BwPzpl@=&M$Ys` zvPB11lbvX2xdD1IPr6IA;iZ5Y%S{u+n^oyhTGAG0!o@+tkxU3PlNSd=9I&)k*jaG8hRVh|PozOW5qf2}c zYr4~s07Z>2{}v-XTn=|hb0t9Jms zawfHStpB-&jp6NG>CPbse#AHWoYjl>rW(u+x z`;c-+`_3A#Cp2s~->PsH1VQ(AM_4iKzL<}J!PCF6PAaX=j^te9HXByTy(c7?wHj1y z0c?=jH(2kHb;*hhU~RF`)c%L~v3$N^5!G&1@*##eFb4h?*Ts=60yvll2(Yu%3_XVN za*o1fTXi}|Zq0nE>X$HBe>qE@zk@F`Q;Z%sc-*}JuaSY*m?bJnKdfoLh3l;Aeht0r zL1%~@%Wna8Co)O{7v7lI2&{bC(E^O4*11GE8W21>=o?G~*+!UHbk^$tucajR z$)CS@19`Jmg@1NIT>@7d$eO5A`Z%M03pTkAfoo9}H2#r=bfjBhAS%ZHQeiwR6rQy_t zmp!toc%0z!EF2YQKI};%&1iZCFc3lBJvNPuEa5d<7Z{f=V?#%d#e8BqItp_Uu!%FC z4~XD1Wg66jxnEANRL$UvY0c+6We1k?H~h{;LT$-GBI{?*7NK(?w{KV*5JPTXL zune9i8se(@KIuQr?+9U%3SirZhVF@>BH&i&fBvtD&vvP${R%2#SGSEc-xx_u#f2_u z6Cn{r7BKSk)%JmWf?|-}rTy9u)QUJStw;HNyZC&&t^uJ%XrcSkUV8@LehvpF6uM+d z+q0#hp;y3xoV+1+USZ>kM7n6`ZRyb-5(>xBC6(nt3$$+Ui2`N_yDcbedsiQITPeeH zdX)@&uPA0#)&o9gWFRWlBAxb|D$IxVbsN5GkrzvSo`GUAa}usq;{Q~xqh9m=6e|4D z7xt@NHR?HFIp*Q%=-LN_Hzm)Z;rsmfndYHZ9E0bkMFi0eM9p(hVKmQRp~`iF zsA;*3(p7!!cJ(08#Ahx3NNBC%QYpeRM2>qlAEyRt?LO0#Bb`*~vt2(&9W_ixO+i5Q zQ||5ci*DvWW1Bn7Ikp!npi}GmQH*l<_OQV_pdjIqsLtrn+{?@DK~~20zvmn@9h({V zyN`v(El7jCivH&v1ZWLzsJEa)&$6EFN73!4ja@aUFj}v!3;P4V8Gw{U50ShX><0;X zs(7rdsE*O8)mu*H5n)q^WIe@3BV-u<|A2)@>~qlz$`~uo)yVWeg*sC^E+!0usF#xa z{URr7hC~mzAI>~NH?9GF$I<`;xlWAIk(F0{dv5T_b3_F(#A0~&e6T)KE|+cFv(K}$ z-tdn!HU?)PNE1rgsIL?0t0RuqLI8BwztUTv!)x)P{{$}452+8+VX576pqFBAX?olp z-(K0RCuKX=T@iL-3ewij)|;=fSbCtZvRov5je^-xqUBibajmaH!nOz0lYqiZH9-mx zXh;RQm?7h)Fi$-A_v+(7^1lD`R8he4^Xadf*4BH>=k4bwY{bt!Md-;fBt)z;^XZQL z;r94BYu?9r>zfABa(&c&6DuvRK21Z8+*i?sN4LKvZZ}1G^biSGSFn)w|AJV4 z>eYP5PA=i~EBCxiK4xg659_o z8}*Lw`MG#0VN*A2!79AQ4!`KOaoX3qC=uN>{_Lb)I{yI-EN_cI0gS|uW$J$b<3D`9 zlzP*F#Nt|qG*wHdN@utep|V55gLcS%Ez$2=cC)HV@97bS;4SA2M zJ{QFy*&EdZha~Ixsi~8QQ2Mh$GqHN%emUby>=W652rH@0#LesWoIik9mP%jy0s7R@ zMLUgztwD&kyCc!mQO^M+o(tWed?GA-6A~m%aB~b2k;@@(7?%nW?0%2nCUn!~(!Gn$ z0(1K@W7}q}Dc;fNaxXr5Wwu|V(|E#_=Soj;+Z*XpBw?j>P$&K$qQGzophWODV`JPC zK7eH~d9n^3I;J`1FXoyAb-nnG%vH~nL;4ZIFBO55Uctr(nBxd0U= zgygm;(zKNQDt%2ipcN8bE{k&enW^BbJ&VrUewZq{H#t7c(&otGo5)MTd9Ts%FSS}R zFB0QcRJTjfII697YL!Cnzt_fxgvm4Lcq*n1H%k3Pm_8NCzE)YGSRb|`qSPV>(I7Kf zV9SVLmKMJ6aijTZ{3?FtLCC1|;s3#lr5pNm-^cWy65hf36ruWws9BHQ2>(IST6 z3~E?ehN@(8#zC#1yh|ncO$O*xL_AyWr=!2r)lJk*1B2L(qeOhHj6io*O~EB2W4BnC z6IN7>|GgW#E?SenZ<|$}=cWugdP^UG+*2c@96;Sw8y2YfDXhB^cW#S!>esb&BAedH zFCU*svB%xvn}aBy4s&DYO|iA8i#q-0JBue1N6*vl#GCQVXJF6Fl+_3^FaF_*&jqxQ zZoijgpMH!h!KnJ}GIN-A$fc?-7oOP}Sa?~*q~tWQ^-=AU&-3!JE3jnvq}Au1>fzDW zr+fM7_W8HV^r}j_)%?lx?b3D3VzW!54yavn0e@k!w5|~~5tsVt2yxy}gP=%g*q;kk zdi!Y*cHGfSCmMJKww+iIN06g(D{EMuGP^~U5&BjKOS_Qj3)JVo z*eYX7s`aAU)6qtEeg1~?2m9TPSVR*3!wEI1Qbzu-MxunWq4HnM>VCCY?bedn)kHUN z<6)8MJgxGDW}@P&`ZZy%t*%!Zt&;Ptw?{&86ry3L`?Vc^hvg3lzEzt3#-522Uc{v2 zLq`8eauyY&D#v(Lw&r95HcUIg!=_pctu?ww;u zFl0Gn+Wy+>wprvlcoIT9GlTUO!_Z!*vE>5jzUvZ@kwMvT%_TMb#H-n2!^~v0Z=al* z^OyFoEY&hW@f_1-Z>h^tW2E(c+KA7bf@TkNudSBC-_+4!({w-5AN+O3p&wJyeS1fr~|y25zquW;eajv8TvtompCZR;Skf`C{UegK0CmeAS9xQ zq*ZdH^*e3}h73))AnBwNR$;N2U(hR7B(ugb06um`S>dQpgMo1U&bQYPU(=&ff}vbjiqu0{iMlhov+EwhF< zA1Lk(H@$IRllG&v$EO1|$=Y~tEz6x}LLa@2>Mr{VDAqKVl-xF~$E;npt)HJ(aSE+1 zI-n8rh7=p9#UURq)V5we=W~{mhUD$@uK)J9-k`$yXHF!n$Zc|rc@y|V&w%TlQOSps z&g+}2Mq9h%{o#}D+UwCf2=i5%W7ou8B4@TU7m9jRfc5`z^_F2#|3UZg(n~Mh-BJrm zcOxAFtJE&2bVzrzG^n5;sf0)`Dj~T+h%`t@hlC*A{a=6geP7RYJ#Y8re&#!K&dixP zYt9f0P((j*=d-v)vluTSu7;elrK5C z|3!KNgeFFg47TH30{P*_&CKYQ0Gd+_VDT!pzU2CNJfr#Uf}#2F(t_1PK0cWzO?GZN z=IHqL_V;+}dD6?-$94BK4k?x=#N}};ty!V=xk5P2--_ppAz}8h_C}6!A{wz^msO*z zNvWk?j&JRqb4S9I;;tuuoX)%pmF?%Adn!ayX4{9-ob5)|UNZTmFE!P5W+-)_5YyjC zr6st)`4ZMd9(skIAH^Z?{<;payC6aAYY#gM0W7hv&2E2pnSK83nCrvY)m|qimS}P1 zifEB4H3FG&oWhA6%_QAeaCpi6U>tTk0ddH*Jp z#i^kHuOjl*uNrAx%BIsDC}XMhDza{$r8?-zC74w2^6_6YgYvJ|XHb&iyo$-{rY4rL zhm|F=Hi4|Y%*HF{NtVPY0Y3bc1!xTT45-gIITTzUbNpx0H!&@(_xr1ogQg98WaRZm z%)y~f>z{qV9^TldJ~tr2(^z5(nNZ~Mt+{&7$-UD=6oB&$)vC8Jzld$%q;`vVv0@t zzrNzUen;}U1$&%%pG(hm3+!5g=f27Vey>FirHiqscQaiq-}|CSMBjSmm{P@|+8KMtw|55g{VG=<8tLbUa95ZJ;x0ed(bsK|YO8^zHP$vJX` zp``4R7{#Ef@Z4%Z*IPGJ^=rS4QmgY*ampNFwu;p2S{SIA>iM9+`*oU-Bf`Yv{x1Tb z%ntv~2-v^DwHAsG;J!(IM8(-Sjw{h__wF8Fs!Ql`-`9ATLzCv;gq&3fR;_0VrnXh= zB;h26_wbLro&CM``z)p4vp&g7{c^#VA}cF260Sd;70>4E5AJS??qct*BJafioe!sp z4BjPBymJVQ+1Gan<zQWPl|B5P_?lBR##$hHtUB$UV~;;p`XYZc$pWBIkP zq%JgRR2Y?wJrm&;bas;$w0}eSWRIlmR=1lJdXb=AeE0nY`0T|L((23f1hLDsx6bIU z)-yuLywGQW-M=0!=ydrktN8Sx+)hh-L!<;6UhK8!#K+}l(P z-xEpzJJ;Z$Grx2d+jf53NnK>&SWthYNAZy=#87AGWrJ;Uch2LW;GKZd-}I|Py+wYB z(883Nk+EdrW8bf*ioh>y6!K8>L%;jZf1h^omG`M||4aY(pZrhN4&Ym_s6h5Bb)?#B zi&H+np6ZO)^|oeJKAkVw0|g0@(NsN$K_zgSq4)!baI|b7n9LX0`RjC3=TDyDr@_w} zMIzS6eUp0W_r6vBrizlgs04!aT`=G?>MAqcI>X_;H?C>72Y3j9angssw7v^fs|Q=O zZxYmcIjcEl(#Kd2RdO204Ngx`aFpaL#(qs@H7HcHs6M~uxI3^vue*z&h`iWdBnYz) zdYJKkmLT$Cmh^mk(O$JlO#Fkemb*l$QxyA+0XTBm?Drajeu`I;Tu=6_j~$y-qWx$Z z$#-mq;AZe2XaDX2UeEt9AzR^FYzQ!n4S_WHXvwb-?V zw~LtTq+GAPdJ~U`ScOn9kq35i{{Qkpt@6z=P216_)ZEoyvD=Hy59e!!MD4{#XZC)( z_A3mg?A(Kx4^<0Q-Pbc~j5#WVli%={{&InTu*Tgo;f;vLF69{^=<3zHcAlC@)(H9K zmFYE-N9Vk*(kmp7p8m)Nzk0C;E?3=B+tsKWzmFnmFRrea>LxI)_@z52r1j#0>JghK z^3^4cgWy+YlwlkczMn*2q0@YkB@&i8^d@Tpy8L==bM#A7)L!J>Nw9^TiB|62)%DSE ziO!kW=41nD%NCZWv1^0tSrcn!14`OH)7MmLH9e5){U$O-(Vc7a%Ezw2%1;Bb=IlL( z^KzK_x%CtA<>@5fPf7vFOS3V#m*%n|*CIywErNjR2sWt*22W9VP7c zuwVROP^Rt2VV!;2RhpX@Y&E?d%&1JkFFb{E$Z)hil}DRp;&Ia#Xt!WbB-YL)GHnMg zgTvuLm$5AgM=xNAA*VspZd~7%A!6EaWDddBAJDw?gJr7JRD|uT1^cc1 zV#FDnUS)>E-!`cNEFcWHWiJ<-k2}PqtxysiHrn4U@w47wU@fjn1C5@RfNPfCX-~n% zy}-$v$anupmciTqNS2=Yb;``I`{ky#7SS?xk>rcvSL8ndmI(>uhvL{ge58YWsB*Bm ztRZ1=c|}CIe_HP4=zC*C_JfVIYG4^`C;%uYk5jvcBNe}tr;aE))~mOSN95`~H0QH@ zLnf?V|0ZrlL{FNpH&@kt9uD`8N(DXlLove&;Ip=>~IX|zo;$J#D5pArEfPX(C(fyfvJm zsBp`Ud>=Txo2wLXa+Tw-`TfN{B^hQE{ybmam#SQdY}pbQA-`iP5`8}Kc%sIr_WNNn zzr3un_;Pk=lyTv=)KvlT_Z@#kw$h8Zt_#&1kAfc*b;ON3)g`(;5i0-VZ#25PKG`3% z*HhCg7Sp|#ZLEBOzt?_N_#JB?a&UXKx7w4&(u_SfI+vi~aTeouuj(w;4sBg#vL+ojuKBlQcKS z^}f<;pJeERV6g!iIV3+X=v3<+LgfkW6&Gqr@P#jUJo?? z;Y>TSY9iRl`p!xQ6SkUUnf+HxgbZI8n`;F#t*ow^T0D-<G;=r55Mq&%*TY7SbM;H{d!Oc9?ajTnc>%ywzm;kaxFyfV0OoZtf|Rr zLFyEehd;{fmSzZ9m1j!Tz{AAP@sCy@JDk*~a> zudkQ(_A-!2)wsAgPDMr5(b3VwloSmI2kzIInOJ=|JT;ZJ${FbR~ao1-Pp&d#dl<}^>9Jn_CfcENfy5MnQNcgK@5cwZboYdicQjQiTF z{p78x{OUD^Ql+cL`rl}cE$nzy2X_l=zCqJolj^G-JX`qH>}Mq4QfV9OJ+k5?<=8`( z$|^@qN-qLpT;D60z10UPzo?}9l3mSflNN;<>63qX6ZmCxlyqt#+&=z$I@d3Xu(Apy(}Wj}BlTuv&XsZD=JEH& z(6)^_$+fD@}0L$1v-taABXQg{Sq#0-q{Mc9~0cM55r#RPd^*( zye5%w2?iH*;=Vn;kYH5S{*NEg*FF)qWVHG(XaUvO?uART#LI$$`1ebkUDUcpMe<3l zMG@*FYj27;fcp{sOE+7>VJB-0=PO57=lM(C8Jt~H;fDu0x+>X8eR96gSF-s0353Ow z`D~Xx)FzI^?e%Xrsoc2uhHx(r{QBjdrn3`gX|@z;!a(IFWB6EIDY>|Nw zNi!69_0}9dKh(i^|AqYJ>9)8>;4zxiVN|%s%ecK37pZvt*tk<5b+B5(@iYuSq5FN~ zu57Mxp+^6oqbyQqF5rE*u_U~~SNq4q;3sRnVo6_}wZf}KvuDe`oxBF@AG|#(-pJ;` zIp@y(6PD7v{uv;#+LYw!74COd|NRnMbqStii(136N2DCFz9l*LohY6U=JJh5`)@rm zcqd6fBVg1OM@$3uoRdvuQ=rEhuAs2d*Ije1oKR=(bbWrX@(t^7L0#AVPC2|KDEwCb z`s93Dl7d0>NgURy#j)=-AEd=k$g&y|ZBb7|7mMuga4B$2L}fScjLo{4_N&xEZ3SaR8uo<^WC$r9P)m;@0Fya=-$11_r0%A z&CZVf@aTwOj+B&?U|~W?OicUnW2Sre?wMFv@PVzZtP-&HDa+>vtGGvlgM+xo0!I0u z;j_a->cy!j96YG2Ycke23iIpN<7Qm~xk@H)8`kO2$zI*kGBf>djyeLA`)Pjw$HV_$gtijl2 z&E+D##Ailu_11N|Q~>GF_eAzWYh~7}Gjyf#Xk`2NS~91PzJ2TKj$)g2)lTe3QEm5- z!t*CHbysvZ3b{GvWJe8ouq@TiEqx_BpOi=#gRA=`Y)`htn4;x8ZYEv1c^6;?Wl+vrXPtn7s4-SeEmp zo9$1XHW}Hz*=P|@P^#l!80cB7@+-?tx`*d!yvN$P8sf>+9{hZ8YW<{=t~`w*aJ4bx zq%ki@;2kO1*$A{bd>9c07MR!Dx=EAPIfLRN>WB%63{aC$ub>109)3BF#}{vk8Ja(T zREx^mz-!XjKQPBdGm}-Rim3OJ=($p{7sa!s+vQ05DjN)l5Vu^8jBgW$qw6BD$Zz3< zFQl6CJ}JvUNHCRRxQ2<1WeVX!EM!1JSzzq}rIIBKqEKU&YaIB}e8;!gR&1;E9j4hL z{==;1l2R?&OXL0-ph#!DFNHdYsn@UbRqZnSO6G=LcX?5`SY*m3?U|;J*LH<@`2%Oi zt{21Z;ox)zs9A1K))jeQSCbTFBJs>FJ64jfjF3w7JIa3I{u3{n(19 zaxtpw;I}d!GjS7DR*n~kYq(RX?(o~T;G?b^Y^qNFgteIM7bksrRCC#J%7MptKo)Y# z16VxdAY?oq|7b`vHBhKzjTdsueBH8Dci(s2V0w181nWArIo~RCdA28RmvAtow7_QZ z%!5tau;3;SaDHQtgFTHmC{`O+=033@pw8PJmA-RC(VbmcIC~0EPFBkcfT|i{(*iP} z3R2Y=%ng`*&X4lBAe6n(NroYeXHLbxl}k$zY0DqIEvnw3cic$aDg1do9aGe64ujM^1W__S$>uSF%O5w{)sjjzO@ZinV)Q&goKV655d9n%eR&V)77}mX zz&Y@tSBYBWJ%idg`2#I0FUOo9%I+CXr{;KG&eWycT-)U9*UVX?;sb4*mJ0YXUq8V$ z^)ba0ph=@(eL$G#Wv^SE z6B<_9!Iajv<=6jMNI-4_SW!80v!1!3WwiO5^@D|Qs%6c-_w)HrA%R+ybwB&7(xdi> zU4UO7kmYjC(JKdh{UhSa^5n(ENg$Af^0(Kk#rCeYqaur=Aq&iYx5>3mMi=V}N0998 zS)0zuS?)!*;$qIxPSaxYMem&XphmvR&9S+}kLV2n-{C)4lQ>Sertf)%%GAY8^$&%; zHXbMYy5jP>J%u*y+(-K_l4Vq!j^}^+unI{(+ zhL2n<$l-?hMp3Lf$XwErz9ZO!hXuiA{H_VL?~uWd-+UXBNZ)#bk@$k>8>N|A_;%Zs z_!O{_^#~O*mmf*`ifrjd8FqfSeG0hUP>Iy^bRl<__QXULKOl2o-boKqf!4G~%85!L z`X5GjR~k-lv&D#anC*>T^?TfHRn<{tzn#K~Qg99=@@Qf`le{j@oWVO6Z~^+chbRv; zxyO1KfXD=l$8qvrm*+iBv09m#-TSV>|6i{J^1tx5{q%Ahn30IQ#WR}z=A@EO8Nwyr z3Cb3;L$=1*^z62Jb*44d+4B7D;G+K#vNK`jy>`g=Vle*5>Bahh%ir(6Nb?ZOVBlA^ zA^_S8z%^N9!lF7tE~(W7)k`F9i8n(FF4M+%%fP)KI8Hx;Lbm9h1NGa{O3hXfa#%Es zxKl9_qB3NIY{@GkZV6%jkkHCUPvD+lZbF7zJoZAc2K0;Ijo>{MgB&IJ7A7rjiJv?s zgF5D$%z2I~0v|?27v+}Ds>83OBHaL5CjJIY9YU&gI@g!)ek>51{@hR3S`fCx#29=2 zGYlOds@7`SCWe<|mG9aA7`NtLnEl(;t$bOHVI>WdvIhky35%_aCT0FGJ7N48$IAV1 z3h}6JVO6*C+5-^^nS3?>8y8l&2#USPbE=5HPn~Pb?v5Nl64^Qrqy; zUrxB2sn+b3g8=CV4`?^n7MyoS*X?|IWHB8jW_Z)iySVlDK3kY@@&PQPStB6?Cf7HD z9f(8o-g40}n*x9eWK3dQDi7g)g_GZTI77p8Sk4it{>+v~Te(m12@|K>#}X%u%spZi z#W2ALPgl)DdfSJJsX>`|gpZz)0#e$eCPEoV0an;eFPvuH6vQ_?>w@+Mder4w zBk8}X<^K_Ct6Cd1Z(YHFo%sY&>>*-UIS+U7ib>>GJHVNR{N0bW{^qa)ZrB;?P@z)n z6RV#`z#$#tbReSnG63!uV7zdk*2_(?(TFub66?50kx`fQGzIi53Er7(uR{ z9WGWF_X&^`*hHQ&ImOIA=o=r(U%@qy;_~e zs5d}&6cjAx?V`nY&vk~U*@y*|CO{CE;lgzewl#+Y;8)14B^rxs8|ZNrza{~_%Q9}d zSULERN?p2U$(ga=|GideMzgNhH`SWpd4`Nzxss362R9bM-rS$>mC{Pm%1x)dNpxg; zKZ*7lxtdwm(M5=$r#|`SLWS27n?2s7o4N`~(Q125jG7CojH$~d`C?rhxN`Mw_UO+P zk4*kj@n|Q)#>imo)I+4<2e?lQ25&5^u>I@Q97P&_mPt&bWRr)kH%&rRP(ETBB4%mO zxIs|*(`6|Orpm)M6;~%5UslKPymlVWb1WCk$~~+0dM5bx&<)bD6P3d-E5xe+;61xd z&ut=+Ta&8PLPXHl^)7q7jG-(;g>8tDeG;cWpE$m)?6jhb+R32BjQxtASxOYHvk%7t zvFkPX+xt0Ro!cu53Yx5&cFe)PC(^76{`4vpIMuFKp)$&Gj=HoWwgu1v){0}m9mTtb zp!hMoe*`1R?0EjwUh^w$+@LVE{3GHwoT(dlEJC`=nJpt5cdk)o)qMVDR!IrG}u2hFn zQX5DBge<arf^1P9Bj{9)5)g)r+^K^VzlrjtzdQaMSjm zCw|2Kfz?x;puCZItzaGBw#4ZEz4Qm;z88&Ja~qCpS)XT~XHDj-zVN5e19EgtcA#>oF2q`fRRF1il>pTJ;=mTzQvc>LS^(oO2Sp7`_z)jUUg; z03~PM<)4`=hFrkFgOX2NtnQ_xutFXY&>SI*eRlw~`yvsL55>8G_zrFjll>L*?7>B9 zdukwl+yQK2DN!nth9dCpcBGL|P7a~Xn&Roa{$zPxPpfRjS-Wb|DlC_lOZ(^nchPIB zg{ZmDj=EwsF*?DD=^g&ei+4vKu4_L0yi-4DTNm#*S0{UQ8+cpfU0uO6zAhepkSm1{ z8XW7cyO+BFO@B_xC3-#lpCiyq?_V0ybPgHhsTE{Z&Orl2XwsDO0?8oS={&9*~T zvKj4g{la1AyVeW+V+8q15lokGfF1J6C%U(L6X+KxLfM!(Ln3BFBG&*P^DE=YZ(1KX zuMukUK1)^_C;}pBZ!e~bWaHmev6h}HQ|weWvQQMk<=mP|YA+t#UN~Ck$(hypU}^d+ z-fXEegpDKtHJ$VyGUlnl4cEVwFvVhxLX;Wcy7N)Nju6%kYgDc*>#}CMVahHc!yX{* z9)L`iVyXAOkguLW;3?z0((ND6P=i(I+NlwLK1zQ1&OGY4TCw!`Z%#Q;7Gj}yiN-^! zkT7okkYOzj2H{PGybrBkh+E`o{A`<@CSOMB9lQ@RZ4>ICRnY^S5$c29!nLbHW6Qcf z&se5QGi=gX3wBq*RT6ZoR02;*fdCeow!wqXd;F}xKNkc34B9s;XRrGkR@e`Wdes4wI)+D!84sM@W$KP=Gls#Z@sdMgKLuOYOuZ6Tyw{E(k7_B8}Tym(DpE$)p;{m~$J_nt!KX8S7ETMIj$C%Agh-27@+7_b+-emuZ0xOXDR6zr2-1O}Vu<-4iKeriP?G$RUqt7DiJvL|4QtE92#^IoGu0nmwe%|KTuram?)+^w z)4O5!KbeujS!!TugbLk!1_$=JiaA)KGB~m!!E>_SRG_je0G1iW*$b%Grf}JD<9BKTBa%Q^zJpSxj+upP zRZ$rLDDGR-FdLqyIpEVoO#ssyqU?BaWD@~@9V>Cb!#KNJ4ymSg;*L7+RTR}90f9=xlhJKi#C=A$!vFtp97CPOoIz#dp3T! zrGH2U47{%~?SyY#q}oQ(pKC_+B5~dzodO z-ZdwwM@;<{ok8QP|0<_fNaMAx+-u_NE#9?k9EouXNnv6J6Yvg`eJo->Nt;8&$;6s$JI?#mhC^IC8jJn4bM&MVV&`$VaQUo@$i zF=Xy=K0Lo#>96xX4@^ zAru@Ufnblb$ZJe`vy2sC36;?T0!@702f$4)qz=E=O>`{&@;^Mn4thc-{V%%*dc{Fi zQy%DIIyVWYWxW9#1W8^1dz`U1E85WjF-i@f>OvM)D6i;ix@vXrPjS$~?J9;okTio*=jAB=k~gk5 z0B1T6@D~O6$odpN57`yYIEgQd68#Md!Md~Z&e0al4qOB?t7%BCucACc@!lkC5x3F>wm zJvx^n`LXq~SE;RXVgBp2E3S4K(lg9Rg8Pdv=;a%-rUB=_!@!;)GJDz5PzU{%*6)*K zl(J8Q9IW9o0naZT0zaypJ|%>DS%OZV5jc7UfC8Rgz#QKyynVil`g-io_*$BQzhZS% z#e+BXP0k5@jztxht3Wj3OP<&`;2+h)eb6b(;BxSh7dP17QKT zweq3}+6{&s|7idB#tH46@&HT9*dhIR>;)q4Q&OtL2%Fh8`|R1<6Pd+CI>f5vVSVp? z#;OXeG(@V^wti6nKj~L|^ZC~Hd3uM=sGDeLT0#c6MfjGkZv$a=DuBQhrH zy-BrAD-~&W4XT2mnTWIM^pniVgG@QN$}*rUDTJ-s!R) zr$h(z~gHvz;fV6xcfLXe!h~EoDe`xXbfc|S2HOOWP+vIj#K}OnI9NOw(AjR z&c@|dyg4_pGj&OK!8!-?f~>p@beTYo<6bJJh?4gTrg6RN^;RDd7Pl%XG5!b*OLBJo` zvwg{+GWOr{zq8rYJo{kLcI-d$vAU4o`6Rr*v$)_9uPDA7L_3B6r9XaynpWaHFRev2 zXLU0c9!e7O4M*7?KA7e;jyC-9X!@f;tnClK>GA<2^5URU9U@_KMe}S{*iQ&2*i}ZRoYTN5Iv(teiG&cf< z@mfLe$vRu0KYP4dS7(%v*ViBQAX*6yKW7GYhs2OrgY&a0uD<1O4NWSyjCE}<=$ypc zWAy9Vqt8^@;`cg2-*1Ud5b$o?ZWQtGOR?ZJc_!GZk^Hr8PHS1rXxo@M;7I(fhBjtU#^jdjKP)q91`w%AM_!cn{^m>YbQ=D% znbXF87KW7~JvkX{TI5!|M_4uKfsQGwB1ZO01P_^sKpMzfZDYMhRN(Jf$Yt&X(Vo0E zVLVHJX($Btz^wZuu_aD|r=f6Ykq-E+!cO!>^s5mC&J#ctjtFP~@RkcQKy1kc`J(r= zs6K8ElC1rDk&??(2jgeHr{K}gBA>DeWp0iq0`%|w{ao&&Jmh*pO9b6 zaoLXxB-3F^pLFr%Cxd+iapwr|m_v$Uy<_)Dd&`V(cq9{YhqI#RsRg@80R{BW(2cX4 zubqg`N!QDtJ*C&pvQrZ5a&2BdM}NLR+O7cAZF6O!x$cCy} zI^J&3&R`P~vh!)@ux@@*+2VKa#K!O5N5QJjwUutjtU(1R8$IVO0$Jso=N>rnU$ZRQ zk)KOi$m0Kd^lFPv!gt0#wmN{_Px1=2S!SJq2jca86)uq07gZ!kVIZ;}?9|8aKEFq# zQwKzQ%EDx9(6u^(r{5Bwb=II$lK>7fUO^&gc9qJc?3nnc^b##f1UpW%0uCe=Y6sF6 zNq#0MnydxfU8&Uu7n~Ib-H-Vrhl@JCRyCIxZVCl2%fwL)2&+_4YXVMPD3?4vJ^rjc zkG;6fTc&0vDB6FDuU*D-Z9=hPM*7kKxV}8{nBYyZOb(ZgDoE^}`S8x0C}ETp^Xb4* zMDS=;z_R0tO+ip~PwiKTWzAQg2Woj%X-0!Js%8Ol)RO(6Jk!*d#|EN67pqW9MRqE$(xqFB_?j1K+3ovoYkt1cXK43xNDkYyfQL(I1L6&9 z+6-V)wfURqj@o1L?Z3R!Uccbsg}2S8r>&c0uQTHJ>jq9(IF_KQapx@o1Qlkp^5=H) z%pIcWcBEg8g&7&#a~ih@;XK!JV@k9W(c*D;&>OijAybP+O|V!h1R!hgS$*x5SE17u zw%UrqmWjbl7hkN9SNJaR|74|;mAzaRcAb7T*KODJ0e!>%0R>oGI@!I~{`ru^eZIq* zEV{7$WrC_WW*~mM9+u6(WktRK{VS)tiv+A$rK`+r@r`(O5_AT(05WB;rh&38^JPv_THBnf4l(~#qW?(vK##z7Zrkw8XIwX z!J-N{eGbTLz=6P*q8BokL4S$&z!eO#vix|jh^b?OW&K=@-ffa&@#Y+KkYpGiVkeQC z@bJF#g))cZwBCp9%_kjpY!MOCFspV8Gx=y4sdAgY3}J#_@L$9&eE+H#RL&0#{mekm z=Z zFjF)SW^MiH4^9MYRKuvSv4Vkg7DiqgmxuB7vP95bkKriZrL69)F}P3oyr=A$<3LLd zA_@4q(Jf@)Y?KQN(`&`4NFCDbJL&3$-mNtF&))dW4EetGn!5&dEWcoEdrtHBb+MH7 zgU4k(Xzw2Pe?YS3opPj*m~F7d?SaWZB8pAk)fTRa%EYP)t*0+~IjnpDcV<}qcvGc$ zxpn7ggWCugxeLXCGJC|@-b*2vJaT3r=jcqQ58&?upVFEjQxxU zl+a8Ubl-W~Bpu}1TpyHJ&Q+#YV5W#S$9%_#M_rD?>|EsKs%VLs`2KY|-Jft3j~!Cw z8+GBqH&~xi!L`s?OTJ1KN4ilzE)x4zo01_2_8o$PhXTHzhuz9 zeQUBsX_H&?@~vpBzg@CwwklKy_|ccGoCa{@Ht_~2F9Ix)ksH~#XDO20eKmJW%^N9t zFPLEc_?p^av6)TUvldY|s53jVk&aXSP25X{GX6RK6fJsYiX~IpLnG`7y>eT)4q4}I zgGc1t8S1<}_)40adJO#hgnydw5`7D)*y>cH6Df{?f!)9UTe@jK{=%Hd=O(i}-dfbB z!j66U|D>VMPTXE%8#r~ryO~+nQbp@-!ex(~P8LqK_m598V{f*>k$tXM`d|hK`t=cS z`txD}=x<5^Zb#vCGlsa8ZJvsnJ@(VI#{T|6EM_+x(&-^EDeI2eSHefcPJ++Aewap& z%#*ZJ=9VO+2puz`#p0|P>}uX2^#QvxTv3KyTSN2V2HombxF{U_B~_Qr`-{m0hzEdO zR@CzaOg(oHgCdV35Ge#qeyHJW!++zG%R}F@vH*p9J3OyPdXwP1K9@_(0#ZH zOU-;eC`31H_(OzipFU+Ok!QaLRLzrl1j^5kj!iP14*5<_x+3l1_tzcLLzVzbWg}aC zv~T!1_C>N%>Np`fXWuPfim^xjoJ|eN2VhA5sCzC&$8}C$f!-Hg85!<)`9l9(G+)HQ zQdUb-kzR1!H*<5E*WL3)H%n2cXrzMR36VJApGhU6k;qGt`f$@(y%FjdsUTY98;lhL z%Eutt7duI1qe^{c-H7QE$FJEC_x}u@T$T7m#T~r4pMd|pbRcYCt{G4IiVbF;djYxL z(kvge7(+j9ll1e)slEvVNAy!%%5d3{nMag(Mn@3N9Cv&hqxcm%hj zLw(52a}k>kdSCjwp451^`k;9`_nDn&>`0#0xO%pQGUaU@W}*GcQciK~+VnI_N1>`AE5*5HSLmft*a}()eYG05B zbd7yEs0YmTRw556IAl@|nLCtFW-y-GZ@6Y9^m=3_#{K#;Rela(lg6lb;t_IXx+aIQ z9d!E25k~8h5ivRmPHY%GzGM~{ALg52=Z~|`3^*_QO&xUvL|$NsJ9luZd+J=Mbja=L zB2xIxfX&>QS_8?v*eZi}@HEF9SDXVqzqi-7NTGLwN?|}BQl`W$e>wmQxIe_i%!01< z0habx`oKn>fnU7Zjw7{7keyBV+-tqIJ5&NLTg%J8jF~>yhn-p*;+@=Z3S*mAx=AA< zsC`y#!^U1FUh|R3EYrRz7h|Ib1M6IvY4ADYZsJYCH`~JiEJ9!K+&x(%TK>(F z{A%uKdnX#l;#*}=(eeETp?-K0hW@{N&h#Kaa^>~-Zw_pW8N2rLuaT6++CdWYCd4v% zaaF6EZ@ML%;cc}|MzH>r!+Nnlq&a{=dRH;AAf0`BZ8JSse-gU#^D(47gv~57bAM|s zCFrO@IBwbI?@TA%QTA}pQbX*Bud&LpqBFozoD^~~Lk!Fd`GrJcaNFkxMl{?lG(na) zkhCSw8NeUQp`>Ip!f9C`xYG%DV3NmskgtQQLt4|6Cc?yLZ246AB}@pDr?{12-a?=tUgxLjiyj1)LaXI&R-h{d^4^W%v{zy#qi}$1rtL zNAX=(;wWn2B1ll{v?=I{EFngSBunt#BcY?nySVPeelfwAo9Tz(U&{b%bfH*O1C_`J z6N)8!bwu-e5T85A7<6YDo}_Swl9Q!=)^HNEaYVJ5lqw#O!1OC4n3-gU3`>4z+7R%~iiCV&wjzh0cAkEK-aHa`DDVkw*<7x&) z?I4V{Au{!`@ABW@aU}_E{|POAtdS-fCn9HR^ud1Js+(S0@!6+ms+3I;o5s3QXARMO zYSROGpiP&gj$Q0`?MV_Y69X<&;K{+MRzr{=?OXv>pubhvO`qGteJ4V&Jw{lqYRrNH zI&rY;SCh8LI6!Hg5H7I*l%*A4-_+v6%Eze;-=`T3@Z-A)q#*QF>H9RD9hjqKaB2@= z(^T8h7N)IW0UyyG_;9?(Cghm1USkiWe@wx%nP6RPOuIToLRde!bC6dYznH4#0T|*3 zZ0G`{`}hDGR8bZh?+rrZR-Sqa?zV6+;IRP+8L@;%XLxm*ij$1Dinky%+-9Ha7rKdfWcH#aZf_8V$vsgm z+|l+z_W(zt4Ob6&66z>o{xIj|hC#aHQ0cdZd4D!>H%6RG*RtP#SbJdCc`EHWe*r8q z5AD2Iw;sJ6-d*fH$>Ui0`^L)D=bSNSWgOwqsQ`DMp%7+pnx^t0dXN<}y0E+P^AT}M zqADX9N6Ej*lQ`jIY}fUo0!O6C9ppa{@BKf!VSZb?^Q}N)^4?r>YlPp4_JDOqG@y+w zFHjye`ip#sXdWCn>O;mXLBZ2&)H7BlOvS{WuD>z7vYxi>>{*-O^-1`nM^4m&@YPDU zN64nndjXs#@yie<%yh51>hwS_VUOJ;c%PRyBgb9C7FT1mG0xq5;N(q(gUa z))rtrb@ESuyWq<0%gbp8=Ox+!Qu|o)(a?H858d|W4Bsnj2?Ynbp7_D;sF%cG66QF&XsiNL^F5`sP8}$jx$~A>Hx2-Z0zA}I zd-MwbhEe#K=lV1wJ0vnKc*yH>_|?MVv6=^v9$kvP_eixTN6%G}4XrGN5K9&UI_Um3WbH zzq)A;-mPW@8Q&PGmCv5BFfv_jQXjt(CfcRZBD4?os&@`GCvdMMMiZMN4!toi!_#wo zNARriG?uB=?!>zIlLCCN+DmBaWn@YE=WoEz&u}2S?;Ar~F#J;VrwOE*t^WJ^^%bH~ zf1=xeTrV!l(#Ptcy8DffhlH`!L9gQf62*1Dx}6$V>Xr&>fEkJ=aKmpY~ z$W~}qI9>0?z;Ey_S`B+lY%J^DbW1nRg`8Z_#*9VV-NNjrO3@zA3{l3m0M6s7Gqr46 zrP1yRh8C)r(2&yvoDUPzz0~~5li<@v^+<8`Vu25@Kq8z5`x88X!17sa9|MVt#72R3 zlRUta2uAn5p=8(8vP>X)t}7BqNN9-MeEBYiwgoVbehZa<<~q$CqF9tZj2>AMLXb1# zWkzvru6p5xM=r$l8EC4E*u*XtrY@TF)WydwI_snB=*U)p$hoULPMm2?0_gZp9Prvj zCo?`JJ#f+vzn|BNV5tq;E5h|w#=bralIDQ~6&F5DgxppEgR3J<5jSfT5f zk=Wrq74a8&uTRY8$?bFaE4|p`-qqlgw7eq;>St(}X`%Rg%t+-{LX9~W1&3WaD&eDmM7Sf6i?M2BH z5vl`8{4l(=V2@|9R|oLs#)C-V=i(Spr9g>+lra)q)3Pamd_%wx6F)a7Umq~U^DpNg z5hDrWa$}^iU$6xpMBO_SU>s|)Y%onb6zzd>7g7F9TCUPk>K=J4P*;*>m?Ifj|A0)s z=?3f^EdGfZ>GQRZXODPt*TO>sf$yHa^Fm0`YPz;weW10$OOU21pjRkPJKBg&b=E{| zufTJ0s8=VV-P3x_Why`_ZeoYtLp*yX!eIWC#Bg@DG284;P4#S}rw&F%1&F2kvA?k> zsdycX`f(Dpcf)d+5&KU$l=?sS4k|I1Sh3p6to-Df*+9p^9uLSD7lBg_Z~pTT9+57} zW!Non|Ew$djj%-6aZoDuVuF5ljix3C~c zt4)8aQ}vcP>lir#gFw6bK&gFcjYu!w7AYNjJuf&Ir-4YTXlVNdV>!1gaC^mqhHd{x zahj9A-_oq~BE%SOuS6a(_;tUE{n8+b7oc-Lsv#tb7^SU<|AYlKN0YA(FtWgrO#|c` z0frdIC{X-z)KP}M7XLj1&4158qgmP>IdOGYc?MVqMUj3)7e^&14a03wHe}z6Nbin_ zn~!$N5AUw^Zu*iF)Q&8{@Kt^kH!=k|Njwx$wTV2Gpz{7{L{xVcs=d(ByGA_YX8w+7 zd|qK>%Jn_P43@=0DA>ql7F89^8dd&H!Jht)>Uj$hq*nSivwUf5H;LT3(Q&-dR(3PM zWJyMz8#MaLtgYQfB5)y$j6=$fEPmmu3+d;vaqpe9Devv|D`!tRl0|PTgL!2pc%JBp zV=LG3>4}caM#Sd&j1^hZ?)rkUYBP~qb5pj&B`D}B#CKpMp&0IMEI%0wt=by|Nz=Uo z&(X8t2jzaa#*P5>v`F}kh zCKX?HiYb{NDkT3q{kbD6b001J>1Bc4`p|Ijxfihe%lH?OJ%_PoJP|j)Bv8WCte6{j zso9I+qd{Kua)|(R@^7&0(q`h;51+Z_Td{@Cp`+*&#A2X=wp^-uXH8spfp#2J!!M8< z*vbrwxgy5*#X^7+Vzg3wDzLq0(-692sJnJ-rWJz_Qp@2vA!#}xQxV&;bF}!qIl;aq z!m(Qouak~w08|?TcBy9IP@H9;Z}idvE{cB41{#BiCPO>uKG-A5ccxr@ii@TGvTp$S z(vWy;D(A=fmlTv@Kn8#zF2DwL6gDF1xz2qUk-;<;*dGkxj~8fjHjESeZ{4REM374{ zeAB+%j8nVz*>_G>TgFc|#B8XAS5AwRN#E9gXpuEP%u8tcAn6;Z-HC(o`zN*U{_ZI# z?YS|k*j_pgq&lmX6-O|W9o%bMgxa|Ur+Z4+HV8(Uit?NVBzNo1TkTK(q%P485l zea7f2f07(3g zM#aGb@%+|6F-+)rr7Nt!o|EisUz-2i$Ds5)=RHxhMRJQ3gq|bVKp|B+dzR z4utpTqfB;K+={olM41&n-)l8@v5@#H>cm;F0VrJn$ia;-0E)@{3FHTqQ$>vvBmdwp zk^T4Q<^7jYO>tzgT`vW-t~ee}5u*J^kl%w*h6^@i1NJdVe0eW@8|dv-F8?2IZxs;7 z(!~!F0t5-}76O9?cZXmDA!tZ&C%8j!&ES3s1a|@?xVw9BcNskRpo6nb?*0Dzy8E#E z1k>HsUFX!PU!6KuN)MTOzr-zlPPP(J!=eL7*@J7mLgq^4uz2X&Y>O-LjH(?f{;lwm z&Vl($%i}c0|7n)SGa|S9LB4HhJOC*Q4-6O3j_1`Gf&tCVx{L2q8>%NJegu@(>}E^#tmrIl?!S+W$#D)XQr!{;~Fx` zl$3Xccu!(q&BLRl$=SOh&3cMp=j~1|PWcxW^1e-TuUNk}#E{=$zWSTd z&mLSGQ1RuS$n@k%+zKawU?GN|(dCQdoIs?I+x~d2?A4##n3K!JV`vorYIjjtOZ59h zgN~qxM90fJc~fOKKE97b{C<7SsnLodX}bzii}@hhxy z6ZS5aj5{-Yb%^0SM}{z!27>t^>=)rPVr=mDBP|C+jus^(aso#kj9k+%vU9~X97M*3f!pe$w*KZM2A}R_QIr49DgA7TriF? zZubh9w+bOHM}s6ubp-g~wXZj#$hc(^(ZHxdW(8)I!w+CxovW!fu zeM`viIjjz7htk_nkL>IOJb$R$L;;dkWF4{gr|r3kYqZQGWx}6^_ZS^Y1jGXpCSRdP zuRb(-kk$6QM+a$!$A%&qk%syRMjGOGvTe)~v<~%$#hTAz?9BG2&2`6iX(-FdNfpB=Dj9crY zwL+knNiSzLP=IK^4tnVJy$17X<1q6687wpFRfz7j;I#>$QZBdv>92u-GJx$UnMBwK zJ)ul92sVb3Cb$d{t`lpYE}HO$4%=CCy6DI!5GfN+u>rTTLy4xT8J z{@x!%&2HK7x8>}zQHCbxug9E7np>)Ao+X`Fv*Z*|`jy}~U6|tb-T$$^!8P+iYi&hw z|6M?(zv&MDzCKALHcQkvlNdY1k$(*8muAVD=In4wV9b#f|8hfEW5uRYBJqb1alimflU{7n}N`IYak8!TUfV9UKDO z=Yy)}V)M0xeBT?MBKQaUi4bhXGSdF<72@cR{exuSv6*a z)YGcO9W)t8M(i%tW49Ox>avKXVeNLxe!J?FK7PEuQC~JzC8|f<;JniORGnq~UuPn+ z-e14ytBN6ri9X9=2q|ND>4gv3t?@)k$yWYJcq5DFZ*qXz@f@`yz%We?L5T*T0LNbq zt=%%04xs?wf3oi#>d5OWC!|0$zGQr~o;affUP2-*ZlgF+>;UHk6MHp*m1Z}+n`+Yml2q`cd3g+X!+A*r&1lRGi0PbX+Ty*%Ao#$^X-ksp9D`i8{l8w9gG$W_*PQxoG})G7}!dq7B>1 z(B<{LFohj7qd*YR=1(n96lGqsk3^VG9L?Dh3SsG_7J1aViU8?2R^^dD+dxm!Tf=(bNc10vt zl zfZlu!a+oy4g2#tSnnWUq+akH=;6ir>bN^s~{TaxgWf&t}(Pbhim+hm$US=Y+0Y3>r z?PWYXlVrJ9L-}$k^N4xowKCJQO(sKWmUFHa=CE8m!T6eee(2YSm|V?66glq$qxk!~ zbOOYJ{R?C};#57!}IlxYhXEF?Q7_f+G6`Mj_XreW> zqxRdsa`?>7A}1CXO3!#A?;P)$$2%~5;IE&F*?DmI-eEh<6HNHZd?c;ovGulNAE(F? zgEopP%4yXn?ZYO)Za7!fisX7OcD6$v8B?HQtVgU$>l@F@-3U`=b!2-->OfQ(MDOqT z1kiF+Humm32z;@5bte~o=r*4nOU7><1f;29Od6zw=TT6(-}15O2~m|bbCUW5FG1eK zsLOh{ePf(!Lqfk~jz+wXLc%sA!F~0aMhkLAhBji2lten&3?k`io-IG|jq~y|GuPNL zQGm8!UJ@MAtVu?m(zIcK+OB2YRSoMsD9r-hf8wrnID(BMUeEeV*8lR80M&qPqL%a@ z9ej1+hGM#Ie)_sz1{s?ieyQ+T(IhH<5na@Vo1XbIW`SxX^ca>fnp}BmyDygAG2D0} z-4qFI?nL6iI?xns-<@|7IMagePG)I zqYkj{HK;7DlfW(ZT@-P_u=G~&uu8SHMtq8(R*R&$GO=qOUw*)WTx0 zl<&+o^jB~Xag&L`jWHh;;&{Je^mUYY>Fj4<$SpY}uLiARRJk3Ecp#?odmQ5nDGfoQ2rVmacu?bAl zTKWn$yCs%b@ePXIiIwcXSCQEC%tEkhWN(WiKW6qPKjuF^X1D0&- z02+Q~l@!R)8+u9EWC+`c*{IT@GTFGPnX7fd_r1Bcj!fmjqeQ8dN`4^31pTXtRLPqqMoHwPB-D@KU74+gdJF=GGp zFsfr}bN#P(uQm(Q$s68mNgho!{KL=0f0{THftYuiZTRbsQKc0DeTo?(Df<4kuLT`J z>PP%AcG73Q*T&D3(v+@kKj)yy4_QQiuYam7T}M#o{)1-X5-- zmct){SGhmRs%}r#sfDN0TwEC?*uqoCiiiiMEdz~AdW~)~h0C2T$j*K0#qkDyG5i?{ z|1nVG@MscH?s%2}Wn~S-QH@0~e?CD|VKkU$>O(y-n8Irf>o<9>(&TF*Eap&m#BXwr zp9@>&H!#}IkD6)8{w~2^Lwu;0^K4-h7$63_eVn4u zQ3dUyJy$qq4-WLDf5jYpbsLeRa@^TJ%Ovi^&)uoROziZ%4Xq*0PO^2qL6wn7eEmJK z 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 { + if (ctx.body.toLocaleLowerCase().includes('yes')) { + return gotoFlow(registerFlow) + } + await flowDynamic('Thanks!') + return + } +) + +const welcomeFlow = addKeyword(['hi', 'hello', 'hola']) + .addAnswer(`🙌 Hello welcome to this *Chatbot*`) + .addAnswer( + [ + 'I share with you the following links of interest about the project', + '👉 *doc* to view the documentation', + ].join('\n'), + { delay: 800, capture: true }, + async (ctx, { fallBack }) => { + if (!ctx.body.toLocaleLowerCase().includes('doc')) { + return fallBack('You should type *doc*') + } + return + }, + [discordFlow] + ) + +const registerFlow = addKeyword(utils.setEvent('REGISTER_FLOW')) + .addAnswer(`What is your name?`, { capture: true }, async (ctx, { state }) => { + await state.update({ name: ctx.body }) + }) + .addAnswer('What is your age?', { capture: true }, async (ctx, { state }) => { + await state.update({ age: ctx.body }) + }) + .addAction(async (_, { flowDynamic, state }) => { + await flowDynamic(`${state.get('name')}, thanks for your information!: Your age: ${state.get('age')}`) + }) + +const fullSamplesFlow = addKeyword(['samples', utils.setEvent('SAMPLES')]) + .addAnswer(`💪 I'll send you a lot files...`) + .addAnswer(`Send image from Local`, { media: join(process.cwd(), 'assets', 'sample.png') }) + .addAnswer(`Send video from URL`, { + media: 'https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExYTJ0ZGdjd2syeXAwMjQ4aWdkcW04OWlqcXI3Ynh1ODkwZ25zZWZ1dCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/LCohAb657pSdHv0Q5h/giphy.mp4', + }) + .addAnswer(`Send audio from URL`, { media: 'https://cdn.freesound.org/previews/728/728142_11861866-lq.mp3' }) + .addAnswer(`Send file from URL`, { + media: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf', + }) + +const main = async () => { + const adapterFlow = createFlow([welcomeFlow, registerFlow, fullSamplesFlow]) + const adapterProvider = createProvider(Provider, { + email: 'YOUR_EMAIL@gmail.com', + oauth2: { + clientId: 'YOUR_CLIENT_ID', + clientSecret: 'YOUR_CLIENT_SECRET', + refreshToken: 'YOUR_REFRESH_TOKEN' + } +}) + + const adapterDB = new Database({ filename: 'db.json' }) + + const { handleCtx, httpServer } = await createBot({ + flow: adapterFlow, + provider: adapterProvider, + database: adapterDB, + }) + + adapterProvider.server.post( + '/v1/messages', + handleCtx(async (bot, req, res) => { + const { number, message, urlMedia } = req.body + await bot.sendMessage(number, message, { media: urlMedia ?? null }) + return res.end('sended') + }) + ) + + adapterProvider.server.post( + '/v1/register', + handleCtx(async (bot, req, res) => { + const { number, name } = req.body + await bot.dispatch('REGISTER_FLOW', { from: number, name }) + return res.end('trigger') + }) + ) + + adapterProvider.server.post( + '/v1/samples', + handleCtx(async (bot, req, res) => { + const { number, name } = req.body + await bot.dispatch('SAMPLES', { from: number, name }) + return res.end('trigger') + }) + ) + + adapterProvider.server.post( + '/v1/blacklist', + handleCtx(async (bot, req, res) => { + const { number, intent } = req.body + if (intent === 'remove') bot.blacklist.remove(number) + if (intent === 'add') bot.blacklist.add(number) + + res.writeHead(200, { 'Content-Type': 'application/json' }) + return res.end(JSON.stringify({ status: 'ok', number, intent })) + }) + ) + + adapterProvider.server.get( + '/v1/blacklist/list', + handleCtx(async (bot, req, res) => { + const blacklist = bot.blacklist.getList() + res.writeHead(200, { 'Content-Type': 'application/json' }) + return res.end(JSON.stringify({ status: 'ok', blacklist })) + }) + ) + + httpServer(+PORT) +} + +main() diff --git a/starters/apps/base-js-gmail-memory/.dockerignore b/starters/apps/base-js-gmail-memory/.dockerignore new file mode 100644 index 000000000..1eaeed3c3 --- /dev/null +++ b/starters/apps/base-js-gmail-memory/.dockerignore @@ -0,0 +1,16 @@ +dist/* +node_modules +.env + +*_sessions +*tokens +.wwebjs* + +.git +.gitignore +Dockerfile* +npm-debug.log* +pnpm-debug.log* +tests +docs +*.md diff --git a/starters/apps/base-js-gmail-memory/Dockerfile b/starters/apps/base-js-gmail-memory/Dockerfile new file mode 100644 index 000000000..e2cb3f816 --- /dev/null +++ b/starters/apps/base-js-gmail-memory/Dockerfile @@ -0,0 +1,40 @@ +# Image size ~ 400MB +FROM node:21-alpine3.18 as builder + +WORKDIR /app + +RUN corepack enable && corepack prepare pnpm@latest --activate +ENV PNPM_HOME=/usr/local/bin + +COPY . . + +COPY package*.json *-lock.yaml ./ + +RUN apk add --no-cache --virtual .gyp \ + python3 \ + make \ + g++ \ + && apk add --no-cache git \ + && pnpm install \ + && apk del .gyp + +FROM node:21-alpine3.18 as deploy + +WORKDIR /app + +ARG PORT +ENV PORT $PORT +EXPOSE $PORT + +COPY --from=builder /app/assets ./assets +COPY --from=builder /app/dist ./dist +COPY --from=builder /app/*.json /app/*-lock.yaml ./ + +RUN corepack enable && corepack prepare pnpm@latest --activate +ENV PNPM_HOME=/usr/local/bin + +RUN npm cache clean --force && pnpm install --production --ignore-scripts \ + && addgroup -g 1001 -S nodejs && adduser -S -u 1001 nodejs \ + && rm -rf $PNPM_HOME/.npm $PNPM_HOME/.node-gyp + +CMD ["npm", "start"] diff --git a/starters/apps/base-js-gmail-memory/README.md b/starters/apps/base-js-gmail-memory/README.md new file mode 100644 index 000000000..ef1dd6c06 --- /dev/null +++ b/starters/apps/base-js-gmail-memory/README.md @@ -0,0 +1,44 @@ +

BuilderBot

+ +

+ + + +

+ + + + + + +

+ + +## Getting Started + +With this library, you can build automated conversation flows agnostic to the WhatsApp provider, set up automated responses for frequently asked questions, receive and respond to messages automatically, and track interactions with customers. Additionally, you can easily set up triggers to expand functionalities limitlessly. + +``` +npm create builderbot@latest +``` + + +## Documentation + +Visit [builderbot](https://builderbot.app/) to view the full documentation. + + +## Official Course + +If you want to discover all the functions and features offered by the library you can take the course. +[View Course](https://app.codigoencasa.com/courses/builderbot?refCode=LEIFER) + + +## Contact Us +- [💻 Discord](https://link.codigoencasa.com/DISCORD) +- [👌 𝕏 (Twitter)](https://twitter.com/leifermendez) \ No newline at end of file diff --git a/starters/apps/base-js-gmail-memory/_gitignore b/starters/apps/base-js-gmail-memory/_gitignore new file mode 100644 index 000000000..727ad6c73 --- /dev/null +++ b/starters/apps/base-js-gmail-memory/_gitignore @@ -0,0 +1,10 @@ +dist/* +node_modules +.env + +*_sessions +*tokens +.wwebjs* + +*.log +*qr.png \ No newline at end of file diff --git a/starters/apps/base-js-gmail-memory/assets/sample.png b/starters/apps/base-js-gmail-memory/assets/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..de27372044c8bca6f9701b4777765a4a5dcb3d14 GIT binary patch literal 113405 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 z zyVp=T$Y}cKW6`rC-=9~z1onZ%x} zHRa|jHi!bMXW&R>9EEH@Pt85wAXNDx$JC9f8$pY6KDva|+~5Ug%8+SKX=ayARBD|BNsN9RZ>CYikB==&IH zL@VlOh(^G#dZ1cmlPR!i{T-YCQxh&ftzL{S8h_5)lV(QkLY!{{bXhiev>yw#QKqdv zzAah!u3DhPJ5{1aS!4Z4=ECZ`O17jH?RTDaogoUT9Km2$(^!sREkjV-WaOQawS&Iz zdjltD_E`3$JGMC z$uS19>mY2J3MDCKbMXhE+Z@+lve6VheVIOA=?@#{YKtU(sdW>bm=9o~!UApnI?`?XL$gbc}>V1(dcC+1~ z{LsyT-b)HNM+%lz_=MD(*G3jh-Po*Q_0;bexqcv_r!s#2Q8lK*j!uTlDzFrR2>RBA z?%<^2AD0WoH*%ElE;&cptb@rZdv6T6lAf4}%aEG2p>;+6!D9U??X1v43Z8jSqNVIT zWmD%xy`*`8qD%g0zodEPN$@6tDsO-;NBiRRr$(6&8Gm6^e$;-BR@}`_u4Qhc#m6?j zz3EaTq3e$=T6PdO>a0DGNu|;z|`aJJ>ArcusWfcB4g^vjxgg;X!R6-Jf(> z?_63%9hjLrhIMLtmfhez)rt9rYsbzlYq9F=U9y0d@#u)1y$j7}@XFJ69wTAY|v z-eGyaM8iy(d$W1$!-LTmEon0EUoXw%kA95$W#iBsf z2U7>iapM_Mcbl%A?@nHw7CmOmmaY8M&CMV*V(8$`Zwb6U+tx(WZ?hwOfM2kP@OmIM z#_T~-Kvua!_=J((2~uIIrm9Q*=IcK{F!D|G!{k6+xw^E}4`>D?U!$ltA{e5e!P1gW z1YVV!*K$0ncfUXIeaqm<5z2olpX!rHuKwyfiiTv(*J+gkKU<#NS=7VZ8i~=6rW|++ zf39N{3Zn{#cxlU#(B{Z@3>kD{$=`Tkj0Uv;o-&*Ks3VZ4`~KFr!kCfFU`ozDEp~;b z-yjR;bc;Py!~^5CTLxmk>3Y5hvh7k*0ge+Lebyf-Ue!}mW#6K$%2US^-*jMJs;W0L!wLFreHm3VSAwo z=r%gNcF%I7HeIz^A4DtWP6ZfDxCVUSs{~F-ha19x8j&G8o*}AQss8-Dxdq5HzR{r= zeH)_S1wZUdJ@yHm(X*=+rFcQd!SJF;%&obBU%glxzu5-R1?-++VQ}E<^A{W@+twD# ztr%}U76n-4tIRi>3NLx=EW2MOqg@@PJ{sLGOan?6h=?^M0xs@L*`-esdZg?k(ZYG5 zdh)xF@$9oqyl?LzVR3dJ{MoIVy!45#K}? zLdZZ?IUT5=CXh~cAHJR=T&>PzEU*uDzB!(Bx%aslzD9m^7ZG!E4>vFxu@?uRsX?>W z{cBi|X0u@i?iH1z@@i8F^x-zeItpnul-zzONEaOFyfYFY;&J-AE=+g(IMqonl$?~G zE+iI8?kxC>Es*@IH~a1KDI;ey6It^-Imj;=GVR5`b|7AO$x<2Za|_>Cjxp0BWzuhY zhG*A+Ovj+y?`VQt#mx~Nt6MM6x=4**B$_E0ck)8HSm+)oTDq1Xd?fQ>OPfiWgF$x7 zQxSIeelpjUg+36+QUVb;SMA`b447JeYb24aP>$rZ&`<4Lu@oNbDE+$2Ui@6}+6MLt z|Az)t9e#Tru4Z)c`%_GP4|8-BC0_#3UN@<@3PqKTUnxHYYS9OxOG3F!n6u93P8m&e zDdZbTH24Guvd`;J8O3Yy3L{H`Q%tOLJJc}8?|zwCJbu%QZYt)0yEd$*O|^F)JQ z?v1{US{-{SU0sofi!y76;hNcv#(lf?i`mrrHSm%HDCmkF)Y$M1RL7on=Sga)gDhl^ zyBV!4U7@p=)e|XvvUF^3Jo)ud06rR20S@Ya6a7j!_}K4((1+?M2K^%Sb?Ybcc#;Q! zfo5_1t=7!%l0;RecUMgEZ4Y?iuE$>sF;f>;(meFI0^%5y*Wp1CCx4)8KNqr+3#A!k zVu(Vvi*up`s&A?#h8fe3p?F`nKk0f(^L?pIkVpO=&RDdCx| zk68QaWn47P9a!Jbt8mxc#4^Ghxnoo z>_yVVZ%dnlVhbD)@lw=f3*N!kqD(W5W@B64;Do;)n6EOga2nPY5nK~owByZI0xSv} zuJLJiF9&=d?BtDxf;;%y-);20Zk53Q(wK+6Jz_x8tgySi)ZkpZd~v2$kPGY?7`02S z(5Z*QI*PAAG1y%z_qPFw3aHc*kw}`Tjy>f*x30|sTX~y%V=hssvogbtQR9^^FYXFP z(@A)pXjgpCFz+r0l{KvczwGB@&ei*3Ca~)H8~EN5W%}GxuiR`BD%`_7L~d6EMD9mO zBE8IcdfRSkGra7Zlf}@={J1Eod`_?);L8PO>Br>`Yc|E2t#dZ^K_yl#M$2UQMHP0# zZ;G`g=F?*u+U|{uj7M*-K+PvN*6t@k#IPwfWg{3g+Z~oI>$sx_U!Pe#dJE5}%YI*{ zGxqDf@|V4(WoZpiJF9BFTpA(3@!6W%H|M;w`qoHSLQ4)^m|$=F>iN}Fr>#rKbhh(O z&7r?D>Gg1W-Rsj$c8GURM6S*LO}*Eip?8%XA6B}8&rd??%5YIH`1*Z}xI|ggk(A&W zWt9E+LUhpJNVZdFQirLS@AEMDasXEi`FdCZLod&{s`k|_l-m1b*sXp)yHDk}?rIj! zcDJGOSXJwlJobGc4k`EvMsntAtcmkSlftmTG|aO${-b-1fbfO?_a3hCF$LOo@mrztf<=Gj|BR`%v09ds+zFxOZQhfe)c(`>du z2FLgj4GVpdGA_AcT*zaVkEAdb{yi{5bJxXCi}^)2ZrfsYgKsEQJG=!xUIeH7sb5zS z3-$b|*&=2&Wg8A2URco2wQtL1N5LeEG-pua$+;0~y*kHVL`m#oVAX5J0o?ahADVh= zC-uHgGbfmARRTpIEvSj^#E7f>?n%YH;h3#=2Ws9|D_*r^XPdQ<9}*VT^TPwpSneXmT zRyx@$Zu`a3)GnoTja1~s9&dC+1PntDN#1;=S;{RqWGS4oR#Uw!f~%o_<_iT(-O}sN z;n}+BVE3Db-vU5!C)mVi^n=&?eFnZ=?Q6)KSRzQu zi(EOd>5I%s$Gxi4URCV^jF9`wL`>$~OI|v@Wl^n14vcrBQBu11y|r(y7BI;J66q!l zYgXGX4?6tBZ}G4(NgyaCLRp$v1Zy9r_YCKf99=0qfSm<9o}uHrHSv?`+SPaar!=?i zk|XOq5u6XnVSgs>i9oHxDh*~Jd_|QKCGIJkF|v!4YS}n-y|GFk|!x&yIKSd^dE)twyTqRy((&YgpCmt;t8q6$HYJ z!T>IO>zwmRUX{JCg>qJEL}9$)xfb&|p~~TPxEi%2>u(a@dM|UyS$smH^PHCaB}<;{ zvY2(T@3wJroYD2jcNgr_hqWjCx|B?Sc5Itf=VZHyYHqLafU!tA$}`k@1-<9!Fyco6 zIA@AEPIWu3PUYzKJ$qOD%Ea-g^lzrotnP9NM%PtQIZr2~0pD0LG`9Prm$XZ+MT8SE zV%H+>f?Skh7IT2DM=b3k`H(f`(`a1bW|~pl9JlN2;!!u1-w~=l8FgSNDO!2`=8sR1 zM!y=KAY%07ZJ2l{jwm!wS}m~Z2ie-i?JLGvbw!+ zdfUcq%hV%_nHd>=9{b5@X<~BL1y}H3ZTeWF9z(V5DjKDbE4W}JeH?)DFUK<%&9F<3 z%Eb~5jV}+%=GARg&$X8)Q50X)WiqA(>hU$B>>(5B7kQ-Hg!QeokbO;#ti|dEa6&x<0lra+(Rq zE2W1{*elD0Fh0%K(#^o-Ae zn0#Z!Y&Nma2=cQ(V=6|KDj}XsP~V4zD!>nWD+-QE^*?%Sz~CjTY0mMCG7D~0k5j*# zYkb^MiZ9j{?%~=+QxAB!?8^*Dlt!gC2G%|{3`<;XwDQ+OC}lczMD}fGd??tYkRwrh ziMZ_&l{!`KDNaeT$i$Ps7i3ch0=3M;^pADkG?6#4ajFL5=i#xp$i=^kg}A5mAaf5nW*o9iH${KBOFz@ zkR=#S`Yek3G}&R0RnB`;BHrDYL|#lBD=%NvUU>Y?*;*0f+3sR3CTGYiXvd4{~-^u{>+*B3b5#QlhjthCU#WV`* zuyqli?Kp5IWVQ9`D@x&7S)i^rFjA6rM_^C;BZys{tHi9B-q>}il7*lBi)!C;))est zvM3Z@*=1Zs6%(81AAR!K3PlWFe9tV4lBa*Oz=0?7TSo7rdv-?H%}&%tBKmqcn z+(8cW74ISUdsa}EiNoSDJlC|~6*x3?zHs8ig`B4KlQqHN%5pS&+7;A?Q4ENKr4mA= z17p>E8?q^hVhGl@G)3V%sR*$p+z(u-%eE*O3ALU;l(C+c+SR^L?L)N-$!M`%+~nNI ze6o>r4NO}*Z2nO_SgIjsSIP|Y1cz_z^Gg`Fh1k}ZF)vbAk`u*W(wK<@J1I9UFGe%< ztM-ln&2o1peZL)_MfKXz7VK=7*;LgQRSe+-yC;VWs;MVv#3n*gr|KQ^;`<9qxHtq? zIjT>G$~&+J?2i3P=*z?0h{N5VY3mbMdp4s+u5Y+)9^IQ6%gCJqrL*(~z$k->R^Crw zj60>7`1|GB@SmIYfso7-YPELlDo@_l+e>obTn?S2({&7z$8*g{Qc-lN5X@fDn5Bpe z__^e4tLWHPhTR`;1C1}9Sr`lAOQg21_CtxDFXaCIhwrC&A)Qr>bvW55pJdHDOq-AC zA0NFxdUQ}>s?39>K4uJAe9qx4B$+QcHRi@2R_#HxCj>Qrih`-Gy|5|???KM{F#jZ2` zeO*1}<975V|+2uue@nnjo zD{P%&lARkr2zcxf)IL;Dia*?to3&oBfyG5}vCsV|T8^5D54~1`>1~A<6&!nnqEs5S z^$5y7b^-mHP4pw?pREHTIn;%i8Wk7aDzNeGT5f$8_u+B)8C8|{g9iQB_8^{d!Z}Bqu0QXM z$){452BhClr7d+zJ5QC54}o2JBOCkd{Z2e-<@$AKYCi7I6Kbrt8W ziz@jRU^Wq>IbhK-ro_^63y4ot8cp6I?F6-8D>+N2%6>>?cVgQfX&+Z(D7ReAyz=ex z9!e9(F!4+J`j8pZmrnIk0$%q@GF9W~ZJZ@I++Z)-Q!R=_`7p9kO*r{as8H)q+b%iQ zo|%@`DbgB+Dc@hrd&>J^+hvy$1$D==nZS$y8ASKQi7R&%MVPG>3}cjE9H$FV?-J5T zN#Bact1?0d)k`bW<#{b3o#U5di`U`%K>DceHv!g&XD(nI-zMdg_v&h#{@o_l+jtl>Os(Z(Avws{)4|sab z0RLkoRJ^R*&(P=$vX9iIJa-QD5;r=VXtbN-GFk-cYz1a=?~JTNPe7V&=H$Nf%_LOp zkFO?od_qsehr2`V8BE#}@nK^HCS&l8wLfPa8}*0x&;DH4i7%ZVnbglqm%(q>YOzsr zMr8vW;eH_-UzKHZS2dJP=IY`&)@GBFTA@-y+V{`5ZFIs}U${d1e{B@5uylXwZN0xe z+0`)Eh?VFXYc}DJ=Y^0PG>NV2)X9vO>K)GYQp|*jYOAdr`F!>-F-x1Vu}}&*{A&VF zH1K)ea_oWQl3G_YU5*hFYJU>WJ65mAkb1IOZEEeH2AEpu0kT80Sis*p%PoC#O7<{g)j5dz1Tn3F<=33F2-R!&7L5((jg9oLbH9`-*lADEU$*Z@uwynNC z|KrRrbl!|fX?GN*b5!3~%bD@8kgD0_+eJtIz$omrcW$YZcheGMW^|QQU~8_eXV*e` z=(S|!Rc$7#UmShEI@;R3;&Tfr!l0H;0fHbvX#~MxCfZw^qJv1QO_oN1lqUZ`tEVpM z0s&hbpN*_Hw0%{x#x>pcQOLf7W-%Fm5%aw_H#VT^vOgXqd!1BnCEee8v*=d7T&#Tz z1MGV!#Ke-JUx2U`dI9Q}_+8NRa#P3;w`5H?e%g*W*bfO!M>cd&0;Z1{j3bFk9aw+* z4}v-V2WIcv0$J@|y& zC2;XRnj;;4a{;%feL<}qxQ-oo29=uY1)2jNwdOzAz*CZ;uwy0dFw=C+1l*?%;%G%Y zeQO2MgtKlu0qU$^As^)WdxORr;2-{kwjnV@cf@Pks@~j0wAW(rhwRUwrg7}SQ5{Wzmw;9LKg|(UI0+)NGKN};Mr$Tu+X*k6j&BR*u;MQ%Yd-Z7F#N|L36N() zYUMBzrA8nhk}`byDt+hf$}Jx}DsU_t?YTh7_YIO*o2c&9}aDT>EEZNXMjLWFhGaZ7!B*^o|g5*iK*Jm1#j`#T4Fv? zph0IXF6{yr(3{Q#v{b-i4$xkS1uzuUMD(+2Lr@Rx^QDUm+<=1y*H-_Za@(Lo(3Kcb zP6>W(%7S(f13~io3=Oq2z-2-qjI$Szw08T0WW&LL?JSYVc#)1}IdveS0YpoU^afz@n z)71(VDof8|=>=DyeS$~Fbq73pYJ~HtOVQ=K9hT!W*dW$HeWlWb4T7is^s~wNJL9m} zsQGhy{rr)YCjBid@}K0z@W99VNvFFG(|}{{0E@*)*Jh(hxgTdQTd`9!7PvYN!P+ah zx(qhga+CKz_#Wjqt%UXe%0m$)ur5J@4vT^4#{QRFjU}2hipP$!+F~}^;Lz%psc7K| zp2zd*R=6?-8!?}Fy)H=w3vsQ21J(FU8(zagw8j%{>sGReX#s{t!raILjIXrlUhgj3 z!RkLODzOY+g;jgcRY&4kdOhqK-C}xWE;v1yb|yqgYbOk&c9=8~-2SBsXa4z9KXU#d zMWl$2IhT`jShm=Ik%$5QNA8S95sts)`U4m+BoN;CwhX9#8F~x-!q4um8#^=jveIes z?>I?*MtNfJ7A?0>2YUENU>J~0S!yl<1_Nd0P9%ZRpo1jHWWX8ZtP3`Zp~F`1JI7V=kJe&; z=?{3yUwJ@v`~`rT)X2Sa#gI@~URoepdFrb)V#{j|V=cCCuN!tBLV3jH9P}L;pm*iF zmU?0bJ^=6I()%rU{+*zuV!-n9azK_NVxLCADa_zoSAIwdKCMl1)=T8o+kzmOA6q$! z7)scw$Ec}Py6hyrG{X@*q747wk81txfUYP2ETpl4-;eJl$$!8eGY~7Y2jRct zr^^P=gUZk@(Qu)BrtC(uM?539E}t_D8t?uqWx!Kx`~a(i@%8<#wq|jMx*Or7gtL*Q z|H3nX!9f7Febc7@-_uSsfS2gsk;MUYm+~jf0e*&3d zaD6}$F%4ye>_pUe9Z4xoB#hg9Bru$15-BLdpNpU*8Ped~1bxQ1e2}lulFY ze>{Dc^axjK=mfeZvWuP)P8V( zeK7B=9zG9z5M=5;k49A0{(lCsUId`$S&^Wcf9}NtMc|KiVfeKJUw*uq_+JMriGa37<{AW0;3y}V zcx@&4!b3*+yfJ0~U|9dRivY98vW7e-yq0=nb7hBbb8(TA)~&t5`O3%;-~A_VZ0rD? z?IUGaRDxCkr-Ozy+j1QHgM|}Ack;gf3Bvj*%`>Iv6np)(TcREV0~|#XviLf#?u53j z|6}_5kpDkr|NrBu_5c3$z%gOs^boaw+10NPOzi$O72nY`!H6pJ(S^4Eu9rSt&sQ-U zO&2Ckqd?z+4<&P}2h#m3aWqZ9zIq*F-l)098a|VA&?t}M?g4@0v zR(ZExbuPG_@;AXJNstFw0Oah&CLb-qBGk&q(TDX)Bu1J%m63_LYVp`lX24` zKWL}dH?|$#GTwfknPHXXY|%7s@i0o(RdT)+BBrT0N}_pJ8V4=6{TB;xQ3ewh-3~Yq zo7;QyMv&|mDyPw}f)!IsB4q*hkQ2{cPKKC|P~qJT_fIzCp5Hb2Hu7{u#KOPN^9u+R zkANa#i`yuUc<*tsoU+NB2QDaFlTi_E>e59F{z`bLrqQ+Y;EXuz%-*^D^R>JV>&*wp zyDLW^y%9(J?lhGU2ITv!b^ng*=%H<=*)gW$*75~~8#>YR%Fqtl%z66O`=HFCIb{nu z4cv1(TW<-Zbkmnn>CXPPc4(yXt2y8}2>8nQA7r8in64UZ5B0ED?X1U$yCIpIGx<@8 zg!T-oYoa~OANZY2n7XD=0S2&&`UCqP3cpg7aWT=${XA*kebHKygDC0-3%I{ziy*fY zU9UYhm{s?~n%Bo+n2SviW`7(&{L8ISo=R)D!PT@JtQk2%5?^BX>(-=N{!8D3E61ml z2L|PI^pc+6r-!9&51o*n_pnL(s*?@&stS)mzSO8~K7d5o_0c0R#Nbug!fDTRCi_Q& zOD;g+oQ_-UhbR_zqbyJv2-Lfnf);Ks6R4nQrnpKA z3PfMMFfTwK%<{TC>Y`eF>`t)tn=>R|B`lf+jkt>({s4`=wW_r`xKM{X#C1pp^{9}Z8u*p+nayHX) zMX}_OM_=;GwC&xGgX(`F=aW*v3_xtz5cI(;U^?Z#EOK@G z;Z;rXK;^-uxSRX_{aw*=24F`H9CYwZ9_{C!oW>eGp87Q<6I&ly9JivmIh$#uWJ?uG z%eQd(8#xTy%s;n`e7~ZnlJzguvD}6Yu(7qSxmFVf^)kH}Acevpl=!ne`nvPi{O)nqlSeehtd>@ZDG&eG&Q?*wYk5P9$4)$eblQ5ITDQ>8vh-TMEm_s^TyCr@z? z5p%UOjVk|@>(AJld?MbPjF-pahDDe!25Y_B+#Y>(@~&qa+7?;%l-q_YD(t#?BN8y3 z=72LjsmfOC1*a=*S<3H*D}3i0W=58qDokeWD6Vb|yKN`U`Rsv6$-Hfxch->t@BPah zApC~vZ#%MIe(>~|q!Ql#%`PJ_G5m$sL0>m6z}9N{+8uEy_^cv5GY;H_kV(A8%~XWe z_om%dWEE9w$pW&MfL4p&${{M!w4Zn#@61lGQ2qp7vCa*;rVvBH_tGJza_Zt{314~& zdFSdqxE~&F*E9a1WZ5s#s(W=t%vvFZTH$jzBVL=y-o+)@t8hTUJ^GHFyOLrfv4uHP zAl4~~TD;kuG2^{PaV4cj9%1QdcBJd^e1OY7zwz!V;iZ7zjZ5^QWy<_k0|rsb#=B&+ z?S~}Z{Bq}c+r`J~9lB?&-7t)_1ojGsAAOKGZsb=lkdJ_K8&`a7Vyp^sYPE)0+__~3 zGK7kg)TSgeB(=uh6E$$W+wekX8x84bJM_ZWKOW9ND4_pozHhEaqM zwU9zfPaJROvRf`cbAs(^{9viTUxKR0?Z6Ymb(==%Yqp*cHTK@90owkxt-^GlZ?USB zDgpnJY}~kJu6P{?&DCu1j5_?J*^N?!R(1C4%xE(PuhDmdJ{9V;)dlK(M#QRTxAWL) zh)cwxAKuW$UOxZ9OtE1JFsww~v6Zh2d#xPr-cS&+>O`*+vvG~!HchH{Y8}q6ZYNF* z@&WOI*Aa<^JIfSdCBdS%F;tBYTu@LGdhmu`D1j%EIUqyH&k>4^=zb!cx~aN;~9K^ zX6K~AIp(~*ea){N=MpCIB;T%Ln@1Pw%{a$4IX;IGf zjpH-=5wp=$dl|>w@b7cwmcTejC!O6&vT)CS!&B(^Os;LWrm%@o}JJeGVH9i>7V$`=JdrSO@h5FbUN56oHxg2#bARF*zw)}(e~28W)l zhnl1!TWA%xc=cPIn+a#S4zKD)FHG)5XgUr(ARZEIqVrh9N^Y1opEglbfbzLt_FxX?mJXl-RoNpsMxRt1Y0d5=?thw}W(_j3a73hxuj+V5l{N~U_z zW0Fnar&T)_E~bx~hKq(7aX0WLGk)D z>(~Zb$Kif2ZcosOidU^<`b=Ppe%(noSnOXhz{U+pMjLcm!iIMgw#AD?OOVI&>r*9+ zd*}|;HWu$!elMa)7}rA#Jk#R}Uo;iu;~vmo;)9C=w#@@^n480;M?Jflh8AneNd(#e z&7;|6;%ox1N>^4K%oElM6(TS;(-CCV6pp>kX1_aMv`OtS6}2lv{_OU106%IQi8|hJV!8n;I{S{Jfl}bL34X%z z7YFh29|`-8x9SkZxmTIPV)yfdat>{!EkIMxyVONz$kx5)|3%YPur~YwqP zK0HnotmHXnI+C=i_Xmv;AJ2lo=aA@i-0?fwB2nmAxCZX&?h4`j z@NW}p;-7GP14bU9Gs;g(zaFwkKGK-jWO#4OVv=TOx_*@}lbdtzWHZiJbM2&Wmb?R{ z%L1li?)$*GaMHr7^=aP6@XI1CUk>H=5uK?XwdJ4!gTA}9F$wRU6;kPBO?;lJ0bk-l zU$ypU$^?NX$C?kgbM3nNk?p(VHVv*dt_>c%d#xg;@@B(2*3qohV-Po)J+6!zo0(~} zkKDOkOjH=FYseAv>1Gmg#2D2$7$6_IEpw;o-eS$a|CUg*xM4u4nw?sCs!Cdvt2f5} zkaF`l6@}WtJjYrnO$x3i;b(M0rsNV9(CWWET=(B+vPyf1ISh(BgY2CTx-%6`@Ra?} z6NHanKHzV)Y`n3De^q3&k<2Hush!L=V%2f-u@*t>_R_g|ra55hAhpRZ`AkC8M$sr? zGk02-PbCR{vR_$S1Lw}hN!=X;dd}Wr68JAOZB!O{+vAkPp^gGgtVQgV4{y)WUV-g) zhI_vMtVP=}f8B(q$PGkd3NA`jnQHc@p%x*{LaofWo|CJuom-6xm!Z2yG#+naDT^_{L&uv6LM3 zd|2Wam(p4A!N@R6OZ;2-4p?N2gsfoj+nt3bUpC3b8@BWiYyP}9S!y<>WMXFxf{6yV zFu(G#*`squ%?CcMEGjvy_C88fS$&AYLiayweK?3R8?q=vs}ye6MS@4SPRT4&zDt>GyMk_;;mISl06>UbhL=5@rvJ}GYl^CE27oE0%QxT>0mrLD8C zIT1D)DUusSBDtiP1KF{c#Y+tcQE9uWj;OO8xsXYlHg2bi!%qCmhxBEU!%64}ECZzD z>R#%_8QX*KoaG+V=tav>=z<{y!&JES1v!TB2nfTvO3kY-tugOhc5a)JY@_2Y0GXQTroN(5_Wk=zf8t80#}1Y=-V@Ip&e!d?j>5U3lO1;c z-t7|^KPp9&g^a%|HVz+An(FH=5!{i3TwOcwdU|;sx}WA0hQpXsYi^2-&fkRZVRt{yN8M&F9VR<|ef=@9_{XjMgs z%$9#4@uEJ0Bgd=K` zVH04uj%2yfvnK3#(pG>CiL;4$#^Wk)4FQGJnh;7Gb&_&FD^#%yqT8KwKYZ5St#MxG zlx=~w9@!Dnu|$u$X9}Nkn+fScBZo}6uU((w7w83V9QK~c{4R6LZ&}jOHu1> ztTZwO4#__?n?^EQoU8$f`3n#_YdDY!-aE2?*GVyUBtBRHBzfs>w7bF!|3GKw z{PKEB)wKGgcWy_{#nL+Dt0|HEBmvF77dDku8q2JGFx7_Q`&OOvx<~=qF-i~JfCw)% z&QU;YqeHwTk`$uWX!3t)2`UD$ak_b^#jc3Yyt8vId~`GAWh3QGyy7RH7F+D{P3LGj z5tmpzB=5>k$JYUEraZ;l3X7a$1h?F4vu|eWT)pbP6Dh|DWW8|g*}7iv#Rkn8E^l6a zJ`PRn2)1+O?FxUib+g?Pj$o&YT*I8#l((HWXPVwc zWZ_)nl4dGEY;1|QESI$F)hdRZmW37GeP^xy?{BT5Z%t!wkseqxBRwBuDNzz3mA!=~ zm8sht=-%^~#2E!olaEEmtMc~fISCNIqqyV)>0;nRGC|1%aNekNk$YlJ5eZqF-Xd`& zpQIl%aat_K!aNIvG2?FxM}Wn)Ky&(3pEl)nw!%dQmt$fF5oe=3zKo5ZPjbRSiY3q^ zI?yQjv`=q$=6(H`h0=_=V$T9yXGiz8g-u?8-lz77NT!)P*f2+_n||^(_tFyU&jA^S z;-`6a`n<;_c%;s@-V1ChG6V^m(<5B1=<|__M5V|T9=XD}N@C2UAZ{FVwy3jAhEcpNlvC<82dKpOZ-_UraI!L^FO|`U}#&QTqF1Jl4+q zqZGcmGDYCyzB-zkh}nkK$Id?rxh}9V_Ka!99&-<0LO4xqM9CgO1L+LTT3pBGD=@*F z_LAFbT>SO!`b?)G21Nw`zt@kPUwEiUG&-+81wVc?9)g<<^Z_javrrI^Pn^zSql$*E z*IPD4DwTxCi`T{M3SYknwH$ApI7~Z@__{Lwz`1>{*Pch$ zSW$oSapr85db*KS%6@i5ldRL*-+%bY%io`<4T+MWV4`^3Y5EypG22XB2&3GK{s2Mp zHC}$m5a656k1~~bBrm&w1)g3(_b>;b$mgN#A)3t4^4#hdnL3E^ZwP&9|fLA z{W`T`{%D;|U}aP_+Ldjt1B=0snVWo}GuZob&F&%>hrgGXG^Z0#CmTPkCIngR@fa}l zkZL!W&AnIp*sw%aL@2BaXfm;)n1bqa8>PxIL5;B!9*xkJYo4PPs^5OmN7Tec{0HS*-5i9hD#xEHJ>< zGsz<{B)J;{aUVe}1SB`ee9JIzWNhf@U`*BvfL_@e5AlW!q#z+V;5R zm=mfd$#s+yN5mGnw4|5 z(&Dis4#oALD5tCS)}pMCaQnhn7n*Qd_9EISg9}IW09D{xpUiv*PL%KXY<1O-2JZ^M^A_IQvbcCbYW_F##A|b2bi+!h^@o&FjwAPSgxR5&i}xi--9;?@=Ag1xN=fZKrQb#f$cgS%ZUA zRqmEAS3-_H6T|}?T5U~~P>T9@bLKHGDL|M_ml1)kQ4Xjnu*e9qrxWbK-?+%mE@9AS zet%9SQUtzkqd!i*cQZwn@uY3#OT-M-@`55g8dF0tV zF`^0iQGAd^1@T;p8A^=%{M9si$*wDV>M%ns`z>lKh=nAyq4jL9))4KK4S%uwAW23g zXM>suX@6Lpb*tUICse$7SxoodLr`)xjRx9rWxu9Ebfzj@dHSz%m@xYO7V2?-X(?(h z&!JkU`*w#e-R@+*z6WFE$=52hVG!&=V!7=_#&)*G6%Y6A%zU+<;~~T!;?C>Zdo_k} z;*!Kjba_(Dn5{ksn1C94U`yy<{9p^=v?#>#wTUu_yL1m0`Ko8tUyGSYR`!T!1()XU zcMhH7N*UChz*&oFwMdx9!suS6Oq@{K2jnNzfX-_(W7H^Lac#lysDNbq=%j?@ums2Z z!k&S^DqM!49v%$(S#{dX-+WUz#!&r^Ud<+CKGAVW*$YizhX>H@>WEF+OtkNdo ztMY9oH+e}qR6fO{6>2RvAW{`kWvi0D(C44npcSL-(=cVd$jjt7|zluHyi(ToS%ZyQ7{13H39R zB8z-u&5H-}i9H@n(;v8+w)v;e4|^cSjw!$EN-zg6bA8q391rSu-Y;wuM4FINjUZrt zx3kxVcg@>D5JlBL4dyoc*ytR&vdwSOR`-Z9o_B~D?X55%Vi!tZ8;0{IP>>0^9lQ_> z^SRBG5J6yC-Fn}V5aoC{^wLmSWv`F!4%;xVrUb4iQah(E1)h)OMT5sjlPh9@&v5g% z=Pf%{X-C?mRE-SV1aGC>kd_zD4c4buqe22TN(vcAn+m68p0!;bfAZ>D8kk2CAUdPi zgkplQi0xj$vieObScItU=9pfn9{Dsu16Rb>aK5QZU)WK67f1TlWb zk>_5RdvrcWJcZV9?bKBi%V-0l*=OCka)D(Ki2}4H$ozLnTPuZV|IEt%FY2b@-J0r7 zhQ#`ut;Idc?#xB{oWa38KFRV$YGBsj7BCE1RD&7R;g@XPbK;*Z%j(gTbGEd%A+hmW zz(Pr#bLMWcv8c!(p0rmq*;2ZK;mut?e%lxyBvrmUzPbPrL6>vL{vk>g-iMEHu?^2* z{Pxe!&rgfTwk{|BwWw7~7eJf_ZuLCjflop{#EA^w5t-7)qdGNkCz5?;sgsyJ_H+NQ ze4|5{jR|EVQX?P9H9S)NCxJQ;s~7Iy2;p%h8=MWNkU^IJHFOO@{E^MYl!7Ig_kf|uS@iDe z$@ZUj4Jp9Df?{?Rg2AVL1y{Yn1zkHdSS9c+(lu-sjt#cjgiu{;DfC$2()qlvDBS$lz=I9^esuy+y1a zefFM=p+9xX`ozgb2A8xm&c!%c2Y#A1faySJf7W+7ejOdKD6^l*MLjcjYBkfc_ujK! zk6W;p0xlRq?|F1q_;u=ehTJH+I48k`BD*}`arW86re5ENh+*{8d{o{IV$(GmIjv-O z_Yuv%CcDnPtJ;l>0gb{J|73CmIp4dKy73r znNC{%8k$%Y)n*n(p{5q=I7H*D1ykJ0abOZA7!y=~>J)~%!P+!SRcEF&tF`lI10~sB z{aj>3WN;B!Gpa}&B<#+s$D=rRI#1>|pBKOk7K3_7uu~nHH7j|>DsdV`FQEqOm=W>F zRFE50F>PQZ&QIa`e#Y#k*=~+0l^bw9K0d&b6_g+e88thLi}Ufr8}=Lc9f#Zmwb(Nv z?o@N_L}t!OaUXf$Ov(!UC4cU<6LtHZ)v#z09kg@wv5f0`N~lO_PK~<^x`t4ll~+34cvycxuT#VywQsv8P}U&)y%2jj*5ab6i;0Ytr|8zQyoWNYM>jm>ebz zqX2#v*3J@EXzznnWZ&o9vnOvtHIUv&zQ}idsJe}72EfUp2(BBcmV=dFl3PT$2*Ccg zE(-M5?(N((4uig@%AzG5NkhJwR2KBkG}984Otr_APWi3rf|j*21<1t0Zcl<-`va`+ z1D*BSf7H8xM-9b54W)pVwFH(-izw>RMf$UTwn&eBqvPG4(`EO@H3n5OHbg&J1&ls( zYc-bL2K%~@8#Z2H#WQd6LfXN#bXLY`{GlJ4A{7pVU5v&_2LCg)!^hP7E8Qe`iY8=& zIYHEH=iV_3tIGT%pH}O-J&u*w1q_x$ykPg9KPnVllX5_rDrT>qzPk%b`mbN4Srrn? zML%iIXYx=6ZJ*XNm=*>afy7hkMbG7XIzJu$_SdJCYCpbb7@;g1o|<7xCIrmtMaqVJ zd8f8pl?yU+e&eBT(i*gY@mpA=f)+KpY;D-gWFK4~^>> zY?=fd2oq`QCLyBI+h|-0_-rO=$@1oR@#|*kiN)gkW}IN$?&b%6`4b)FZE;rFbJmHX zO=}1+G*qTZy_+hm%cr3Wk%EjhF0I)<#`RnNTQ_m{(O{2G`WPVZS+JS$)abi~AlCao z;wS5$Yue!w@opD)W02`byLFL)9iK?@<(4*#Im?12o(~6tBD>*Q!7SA%Yv)-0&zWX5 zRezoew$kaa$)Lh8zGqgih!!ea!n?>IW2?TFF|N%;SNrt~rz@?BrqzR{&X)XLZN%>e z2hgh$b#2rkV{bub)q}g^o=R-I@mXv2fBoJ2Hylm!k4D_O+`3(nwaI_b@(1hUe}ZGF z#e=B{p}VHcZDpCZsiZ85DmeA|xAp0ckMSoEkt%(W5}xy^aHzc^g_cfzU_@lIDE+o* zRsxV$(MMsQ5|v&s(NLo{pUM+N2xJ$7xKO)!Ve*7W>6U4u^taOuRT|5nfRY8*Fnl|d%C*oqX(5UV$$Lmz&l(PiSH6grxy>+ECzQ}RrDfBW}UOyJyxS?F^4xxp(cpWGI>S#FR-cVOy7 zDrgYCTdIhwII)F^5$wcUuFH?kia#>er|Q|tC3VXG{kj+rnDT76u_63pmt$@F1LnCe z4}6RFkLwFHK&!pP&N7Zl*`x1}qt0Hsht1d6au&lU*7_rKPDKoe56A+L-gx=Yu@WL> zU26`=lZiqg5X{H`+eD!sv=*MRE3{PRoAQ-)y+^r@WG2upsX9zX#Kvh$-o5?EhQhE~ z*8N6IVA!&37YQOLw*j~yZOIBU4*7~}yM7R96J7yv-x9#Cs^0m8>lnl}3RwMt+#L^0 zHp$der7x{tO(~50nOdA@Qs7?uL$Fk_VdJy6?88=;W`T;fxM~**=U1_ZZOts?>zS-% zWio+#H^+0`Vr_b#6dAvKY+3%m*^S;h-Kc|6zG`o$MYH@{`1h$jm4~%#Qano#@H3!IfjyxXM4i zLgt_SkXihx*P5)*sIfvMauBDnUUxNmanX$aXj8y<{6O{>^?Rgd4R4>#^fttiX6;a` zR;{b;IG0sl|tPfuvo_aPoAu+}Lamg1aMnxm!>z!Gfu#6X+G?@*t z?$}_lHr$9z&nc))`O^=qVJ08XsDz=bHDTq_(frHBTyg((x5|6P@*ZdR8a?#Bdbcbm zfW$Y$=r=<=dVY-1uw^hG#TTP%H+aFS$1J(;{U5zJ2N~Tps{+vsg|wYo6{n-)uKx6b z`6?MCX-6EP&k4Cr$F?Hh!b$%0`QKhFXHMZaVZLP#GL4=q>;MOitY#>Cd#Q@}n!_t- zvOQ3tqg2N&giRo(#k8d49*^e6UOI2$+ifXCG6tm@tiM0st}u3%clS}m|7fOnZyX;= zVRq%Fu}XCS4!Wio9=a&JXe`_`;Q4;PuYK=e<#Ri_j2PK~;m;uYfKQKU<_pXGp6s;T z<82J#*B9Xn-w!=%31KwR54PrcZ1^yr(Z1$6kN#u+jtTE0w}qC=AAwLwUeo&^6l*v~ z_eNm5BuNS{8CP!-uMPBOsw~wkhp7acTJZT{@*3T}?maTZvIDS91|N zS;d&h!2-hxG==cMt(yINyG)Jn!NVpGwj>oaZhPk=9NNKkVl@jv$SQNLlZrll6@vJE z)sR@T<9+U4$u#O7w^rBrR8E_6g!RSgt=EBG?#95U#}v1>D~+uY%?nLJE2azCtxGvB zp*(HjG+8u+8OGe-xhnUr9z94m<5uI<-WOgWJs2yo8O%7el}eBSi4)c04O=kE?>mey10^ ziG6gXrz5u2#w?ImgJ^SSyWm4nX74k1ICrd?9OBsC{F>$6EtOqyQY_~F9H@Nb$>}82 znipv}2n*D%!h&B3WNGD;br^tkY5_FZl86hw3^WoUYeg}u8>>tlh{fZ##>`KJ{Y#zl6sKC zizA|R@}?5d{Er-4RgVE!mb5?1j@9>8RP0z9okJikmEfQP zmp4Z}As1G?p^90EL{ACsbah>%0Rsj?`o#6$S9 z;F|33cy1mFWaOo0D^>`pwOBZaaD+|2hAFCc3^L|h{(YqH;X#bC0^Bt@aQ;4AmN6iceznSc7w@)_&y(ptcU4}^TW@~+vej6yT z#@Htnw7tE(w7Q=IuoON6>QUXz61ES@!M3Zh5_)%?v3zb(w%6P;{AY8L+gK!zBc{e z|Id(7@W={(P!Os#?;0NYK|U$LEE+?1mqMgYNTkwZxDXM;OSA|;Eav@i`E&^xs`mRt zHB0BWFi27(L5tw7)5=-B3HIQg3FMcS-8$AGF4Z*)zg`}^YAKR>haoAS7o{<32L{-P zw3-SDK7Lv%(Gz-Az2w-!9cvMVYWG>9SKnKfkZyuWcak#r7&Py9hQ61AC| zn%W~rmTkM+Qjw@lo5GbEQw3g;jwhnlsoe^)gadwJ-}b@H?X3{`mKmO;lZjtN*<|aU zES?=x4Fqu{413Ne*W5zr9h&{-dYZJ655%i1h_y~(=6dW$Z-J`Tb=T?J-h-%c=eg`P zi+q@rI_(i#XgfD)}F{%_S_z zH~ERRZ~<~pmYvM~-Fb@07%)M?en;u=?j7JHi~qvQ8x{Vm5Kox0NS5~{^hiq4c{~!LG3+- z!NBjja2{`>Nz!-@o#gUs40OfO7T>~>x3Pc!a_NS6dMuR0?pMD{K6o@*T&T4Y=w&$X zY!#GEG#Sv%uEAQBt&JbE)6qQ`PC0yRlB z@)z~bboaT_Nvl>rUODkozP4&MMSUnG{16fL_|QFjgwWDp&Qdtbi#_^;_9uQ@{mn3B z(d8%3+SLD=Z|(?<8>76iR%8zt*XbSG3SOSigA>PyX~`0UP8DR(&ncSm*Vzd#=8Y`h1W$QYyX^pfOQ-hjxaZlSS5mef1kE}va{JN zG)CGtig;(ypy~a#wZQ6Lr-x>dt}j^rZ5Q|JV{q5ppUZ~I(Vo>_sVj^PY9^!9EYdkz z28Az$yYgqY^7py+-O@I?ALxRuKce?zCq|SIeyjDr34&kxUJwZ^N_5jE zWv#^gF$~{&u_X`w%E9LVG_7vaCL`Y_^su9Eu2sEgjTie!t9=Dtx4T|;c(JgO8pO(x zUt8FonMGRaE5Tu%iU&MsoVSXE$rn5Q4p8A#^r{?ncK7pY&*MJzP@Jk)#fDY4b7@Q# zMbz;*6teQl7O<0oOxzYi5!lf3_a=|{5#NF7o}T0ACqrSV`JK0lE*?RJ&E-TNMXaeq zq=o6PtlJ1&B5MAL*em&@|5#Gu{PIc|>}{%aE_psGJMOW?Qe7M^y(n_KG!rQm+;GC^ zlLa3^o%_3aL|>q5OZ|-+7oh^XGBI>R`G#Q0Z1epiEA z{OI>zjvF784g;{+R?XT-{bdjgW%kcEOo|u-tOTqH8ooUfHaYr1f_@WW<(sd|n2TSQ z5OCEhoRR?vrbwxrHLY%J%s_;iuGungUeBd33sDAlQ_qfW%I4egar+oX>CzACdVU9g zcryIwiBi>vdBVG)A|a8^#5PD9`-jwmhdTjwOX@9h#-6#g4+ zGSQ7ye&}+E?Zxc|qB}EG%C>pm`2MrVuUabpr$Zle03p+{w^omwjRwp(romszKQr9@ zp~B!o-y=luvmn|BdU?tEK*Y9GlNczLbvK{%Yvb@`rHJr{UlT5e&EL#Y`vc0bjxPx> zOD2?N*#m5rO#5)t3E$Mw-;{oRZu&J)_l$PY7puq5JL5ok<}Thgmgo5v(44kP{gajp zsZ>L};4xRC!!y08V_D$E)v;SL6RExP7fH~)Itx84kdzL2lQPp5H%y2;U39qkwiCXU zY+m@EzzJkkTi}9>N$xwc$*Xl-PkyemF#~F#LN;+$#as8xgs0_FNt3)~oZX)*sF|~7meJ>@`Z$NUR8Iyf{Karswj_fN4uD{A&!9H7KSEZtXYdnQD}K)F}e(YX@ z3Vx{of+5kVuAVKtq@P2#LK_x%#uBBm>Z3=48e;SuSB+J=f*rFc(Dkf%$hf?l3s3Ys z{iBA5cEoeq(fQh!6~&j$finbP1%$%=nZ2Fmc7g>!aQ3I8>w8K0PpkyYqmc8h3z6mj z2zWIggfqX@RZnbqR)@J1IUbd`y;Za$-pziprCmY7KyOx3H?F0gO2W18K}v;j1 z*=WalJgfGo7f~3$(e?cGc-gJ%u#@>0?;Qf|15glLp&`YBMgV?W;N)Y&iPGg3iO?R`tUFtlxd%kB*0yx^xoF>QPpQYkksh$mlPBqCj#Ex^z~4K^48?3JA)(da z^?xJ@V7`(?pFJUd0ajXgGElvhCuE2wKFBF0)&Uuxj+K7}bP|gIxVmM*AyEiR{-Dy= z@d+F5CcScV)TuKuJlre`ed>l5N>BIs2FsbfxNtS{1m=AO##H@ixkV3C&t5t4kNGZl zX0wYNTXsVcSJk?l*gpap;uUP4r&lQJ^q;q`$3Q~W#v`|!LIA(pX zVq)pM{u|~J;0z0JZzinSy~D?;2YNBh)fY8y_(FPx7lLM?rMfZUJuvK(MEt@AKYNbV z$v>9ve^hK-y>=O~=hN(wfB0c^{@COeI@CTqq^Jy?%wZ4&quSr}xaS;21Yd2=m8+)} ztF9RSXRDh^@K=>S#z4$3lguK=1-$_jzt*%VaxLQ)gVq{%F7ZrnT{%YNbLkOQf&o-E z<6laTr=Bs8rqFkh{4It5F|-`^9IcXB%9vWu2Q0df@D!K6pd$n-dO4k68`qW5HUYPY zRYlEwv-eXb>*lk2<%Z+-SoSBBnXBST4$7qwzMK8ESohN8XHb!}^u6=4O#hlSR9zv*(`7KxRHEe<>TAWtvWM&us zu?|*O{=$35TE0eytU1lYszTeeoL9fNUqM>$v2|G+L0XaG^1%{U0wT%0Bj2U0yI}`TyPVQR<8igmd;<^5vs`PwzN1*RmpFJ%v3FUnrEOK*n6MJ zck5~Y{6)i_LO*IHz{e55V=`U~8xWA?J=uNu^I-Sh@W-AXNQZzJ`k}m7(-Z0(6zTG> z;nfEZ`i~S3=9y|qHAWnt$|F=sgSPAC1)4es9U;ZL%S|6vBrW}T2FUDe%-^5@W(x6J zS=dv5(WvUhPZ)UJ)C{wF2pi030$}UAeJox1ZxFQA|1ok)lk4Le;q{aJFq_y?yhO&UOoZX2ika z#K!C;>Ais8*b19_WQTu_Prm=>e&!kO18n^mA$~6jx`d2O`3YF=;tNrZQ{-OX?DZ!> zw6J0IW~qrWzw%;4b_sm5KE?W= z2*f>zMf$Vwk>0eC$aK{?)r%uflZKqe zj=xhMvYgQ7^Dt<^C%xX2|81=#vWs|%4^d9m@ooGVgLp1?Rdpc4A2xAT{txw)ik9N9 zx`{v!t$tBau}6mf**!V`Q(6Ig+fi6jXCB$@<%zIuQzXs_FpxXHomdhQ5_z2hD;Yqt2$uxqUw zT_N!1aDS^t?2NS1DmUTjjHP_w2b=Dg#s?dj-Ho9YF3?A<#qGyY z{R%|espj+4J4T9`&FIzf}7Eef` zhl2d~m-sw*uLr*J>VK&LVfDa9D@`7iiZcQ4k>~6gYz$p9D}HSF9V1cz1?|s-e%MOYU;fKswcfyrU|Q`)rHA<~vV$jXJ-yu* z2F5ahQr3w%`|%R!x`sE{Toa^O(6X^6Ya7~+u~r+Yy$qyP=|DeeF8Lik>5|xc-=za1 z^HcTHjp~XkBj-=o$r{~fDH$ok8Hz*Bn24jl7d|Y?xhH#dw>0A=U>{0PU%gOHk15{& z;$?qUV?Y~;#1pyTL$R*crV_Km0cw(sIRJsAuch(f<3Aif5+$&XImdDT zwJSsP-kF@)RQA5Oa7&3*t7}q5pN^Ma{~lBGcDg#Ccv^}h)U|1X>G|mknyMXT^G&}; z_JxbjTSC1;i)^*3BHX?gMSKhzI-^aP8#s)fbOvb9NUHsCpbnz&Q0 z3fbt2(lq67)!$9YB2bqu*J1kzP1)-#3DjjjvSy|4oqMs{=l>KT!U*q>ZOCr(Cbl<0 z(>ndB9#kW;C?tsPTpS?rySA3NE%@RxxT|+$!IGeVIq?GDGe26Dk+hSv5-*BYs7~T9 z0dD}{9eTHbLt&uRlO{o@*_z2{h~%CR%m;>^#i&rG8sE_mRq z(qd%1f=n;f(m&PWWCtPHtBe=^WLuue42+ zK3wsns#si3?xYmclD3ZhICC1GW?@}_VFi2B?=iQxLb94lZ+&vycGMEdyUY_W2pR7X z=GDDsXOcYnUoOK-0MMbz$i)Z%wHGs6r8wZ?al#bFVt!9}$?JFGKMAZTZ2&CjnC?_O zqv)+sDeK-60b<1|fMEA<^vA8!9VkP29a{!oVfVee7-8St8B0|P$h;w&7iS0E>ZK(s zXXOFl(CW){Sas3&WFG~=Rp6fYz^=%!q{J$L1+T$HHSB#2<7RrGdEM2%MfHaDWL)R% z9~XDxG4#Gi@m8c?#0m^Aawk-?lcu%;ob1*^)%Xd8xhPjBKR;q^2)R9pMO`m*SK#&@ zS%cUq|c3nl$@XzEG2N zHbV8({-ylC`!C^yOH(3R{A0-Bp*@8a1)l_byFkd=aprpeI(BxSRne>;*bu-(5FKy! zl0YVwo}MB01^o+x{Lx7{86&S~RGWXHcCWrmE}G>jYEPyuqV@P5&zwBC@)NW$$#MsJRtnOn0dB z^-R}m|HWO^F-}x%ZYw^2Xo)j%J;!sV{r-H{$aN_&7Tth1{d&hb9k1*u zs%3*xs9~waG5g!~IFkadsxi(J@!l!$o(q#bU3zZ=p^xJ&R5N|EKi$o!lZMtw)HV*K zN!=S+gdCx$jwwbHYRYzK^*1u^XUAIUkrS&&*?6m$ON^ei9S*ydheluySoL~uZdN@n1wDW zl6YdT_Q@}p@Ife7Il14=Lq`CzpRBwgD?rv7t%lsU0W5VvCE(dwNPSQ&;Jj$_q3j%B z-uxTFu@ty9y46!ho$@i=SoXulxZ{UkO*?}#Fix2gujn1Kh%bv|JampLgwSVdhWiVV z5m5(Y>DO=2@wSD#MpL`x}pDRSN(wiVEJ?Oc9lYqWzP>!J4cS5x8%{? zKJ3WfyxKxZJ_nCHI=kbJpFH~59_0OCm5&&1H&nv=bjog^WDIb}J$5Adk8fl(g0b2^ zKJC%A;Ku6YeHidO{M4L6EavBfRlR(4U$mQi2VxiONgPUSHzM=Vmz@!Tln`t(TcFp! zI(Q8|9yrGN5a@Tj?LjlF1$zKnf==nQnB!~xNa?$c)m56+NgB6h2d*}ctBNNFe=jVL z_N{qNN&_f7pH`qR3X!SGnZ|hmGSI5>N#6xgg>SZ_Ckxjq9~mA_E8kvEeO3l=)c{jeTi}uivRqT{{|K+0#+~bJx$j8v6m68JK*&mSsA6e!&B5{LOatKLB8g z1BwR3a)9QhP{N@Og}l`>y)GfQ{lc&_M~*BL3eqnCF}Qlq7YPU6b zq}e;3C(^I|z};Vu%mu8{TDi~~xI!+|j!PH0H=(tCZQ*6gv6I;W(ck$#Gwnq}h=l!p zI|aelI}5?3^&gX*BQTDx*F}&jF9o-YOWmzxvAHDRjChZBVtHb<30@Eg$MSKwcL4$N zEo{t?O^X)c1s_Wq&MK;VZdXWKOLK>a@x-o{HqX_aB8qjh*G|wt506LYImc5HR+qRP zS8du189`PwHQ9GOuY038s0>rhnrbHnUSM)Zc6d(0P7721?H?Vj3X z*S_K5770t1PTjW6X~!)g2Nv^Px1s^p^OqDDv|NgbPsRjKvh>nHK(O+^q>+3pS#%KJ zt(ezhTR;H-zI|5gwIXLTIphowct{`gn!vzrsBX<`5F6qh{NQlmHunDW0RcNw7W_P7 zH*jz5XFC)^WwiM3vTo zgErWLARpPEo|iLdEAF$Yu#1JgiqsN`Zt_a&xt7YA2gQE>ODNt=EJgq>yT1HJ5hLr> z=mCTcW*c9uyGh5R56QT)%2QXD-xa$J`$v6p8|tHohB1lqXXAyQ3Z-sHN$Lq09#4j_ zd!Wp*t^Fdmth6-d>Od*|T!!+a2h9uzKdt7Fx=}i3ETw!*@sLHZ{ZcFaIGy^mqJKR=COwZ|qdnLb2yEjQQ3I201yRrmtsmVr+J< zW02gl%3YXmK$CQ$vRe8KnJbegOUI7dqTl1CYkm+98C6aM{-9hI^=w!O3hAJ%R=yoC zeSarmc;BwwV-7RlsK9$@#UfWRUV*nz{5 z0O`wA)0(_30SC+qd%R>lVPM+V8oXKJJ%HtPv~!$ef$1{$jQ&}h=l3R$Z%Q|p*rP5; z)n}|w(V+a6;d9~qNO-Q-+o`aUG!=9D*T+teOkWS?-Gyl=M3IKDf#gE@6`gH2Z59c< zxM)Xv(t|BRI)pXnG}YV@H`&8z%OHoIU=h(c>5Gs{m73%TuY8>3T+X}#v^g@aM(f0~ z`m~|f(N|wFRg4U^?(TvFt^Q$ciD*o#jvi!aD_wVWAUbGeLB!gj69{nrMBrt2k5D>k zL(_q81xU*VYcuWIA$IKE&RqFvNDx@g#*i%BJJ$?@iN6s&J8m zYA>0*wVNUX%a0@kYYx5o8LjsA|Fv}0VNHJTdt)#~$`2@ADno^Vgmha-2pGUdOLvWs z7!0tGlx|Q2MPS6}F&H8(Asr*6CJY8rqxnt0zy0}M*RJb5=Y8Tn&wW47X?*{C#jEZD z&#;P)xGNnl9K@Qhw>r4`)JjS#pZ;l;I3neDy#4Ih7U)}el!<~E6@u!Jo zR`gVu?pybZ@f0!cT%vD^zohZy@xoqo@t`$}eSqzsDyaY=t<1%k1?fL3-i@jPv`2l> z@x?5={QCs2Bf?+**(ogo?DHgsu7Q2QC6*D8?MhlHMik8BYS1A z_N)jX=r!OcUPi0|Kk`Z4L^AA2u=|-vqM|67b)fQmEn}xX2->pN;NOOy+BL(*Y3%SN z+xE>(?rIi)rRUrf`9P4rajrFeUmSB9=noe=VIH?OpI+J6E*Y9)*vw?Kdi>OQ%#3K# z7&oX|5=tJSjf`Xw?-yGRJeY`;x|!iV!r`=CoI)=+(A*DL3u-IA6Rw>DfB$%DaX4DD z{l@J5iAD`{^i+Nlf_SQ-zB{&f)q-mLmeknLEXl=KF5)#U4G_;Z`tG3@VL105Ufkwr znWD3t%9@7oz&sL8RF#V&t z4n=Stzr&-PnOB|O$}I-Xdw#cwj`}Grozcg2*$!Pi5-Q&$;^|@+C^M-9&+0nbRNEVe*}VE8!l)xMm@O!AYDrhqJQg`F7aS``^2t@216f+W`oCF zKTn4}31YUkQ6Z(4#f{0xl=sTG0n2T5z7L)Y9$MlYuz#@o^Du+vllp+~wzB$HvBMvg zgy+c74i1sTH{iFASZD#?=+v%1C+LV*F9aJIv#*BK=b8Dl$79E$gc?i|YK)rA#xj$A zR**N=%dC5U>tx-)x*njxfZ0aA*&C z?%zm_$x5kuc!0bg6XTc`5YKiy+t-RGWyI;?jlLwEyd`tkl@1%&{aEuT<3AW#K`?V_ z$(N~a3{4%F2z{EqG%f?U3iwg&eobNMf=@OjaLHl~_6H}dC={HkT*$)Jg@qnQE$!x%Mpzbyn>dc2H3Tz^;I#Irg3uWwz~u z4vX5KieaNZAEu4KG4u9e*Y+1Q=B^uixi?N2m99AyzkJ?%e=P5!e9zl8YGZ9wXZ3Kz zWhwJW5Foe8uI-rFx&GFnia7!v(^`#8{*YcRb7lHdJh8d&-AV&lQwe2g=h9(zrw!TA zUWcyPh7|y1(|UcaM?TaNMB<_lXER=*vcK|XN=j8cm13ttEOZjk9s0RB-bdh{d#|ut z-HJbYEvIe_g=E@@4?&uq9kOomNz&U!-Z3((z|WkxEt++l$pgz(zfq=A_^;kP+PT>+ z_w!$EhEz&3H)zof5O@IyH~$J@3gjQXw-hQS8S}ob=tyZ4p9S`Dy2%`qZ?M88&!07SDg)oB-R}-wv z<&##y|45YQg(>%VNg`0!WG4es5yn(Z5C;HJLcjO3N8;{( zsBNTssc%JN-M-}U1o{e^;Z!6u-o5x_wR@ia&@2KXF&0YaCB^d;u-R?GP5;4&G^IUH zGeEO1yos1~lh{8TZ*XQinwoc?IzWkN#0Hhg5@_+UC%!a>zN##M*Y^>Zjf-Oev$G+E zNf`shI9Slo9TF}bi>_?6Oy}d)&AfC`bG(DF9Q2WIkWR5+y1HQLHRC6E=PZ9UbPzE{ zNH#g%%*<{qD;ONRip&VPqvpRkCo%6ECKeZ|aB$kQ%IFt{5i+rY@mA#elV@^IVh_*} z3)-&@sk<;{N+tMltS=-s0lb3ktWaoTUi;iEyFoxK?13FdNO;jM9jqtl?2gBj!X_AF zS^ZiJEY5XaUsGguolq0D(dMcOGm9_N1D3MA1X@&lWa_qfSui;J{=7)Z(slZrjO0Bp zyrl8c=?v_Jbd!vEHj^NnL&F#<@w|1f41Xw9$ZV6c>{cL-R4OV) z+Q7jWvYgHPHvHFIKVymyhmpU8_-lQvys!;jHW5RGvhxVajnVO@pVM`zu$CSg3wDa6 zQ}V`L>L;DGwSK4hZGU>Yz?jqV0r>yQIp?xC0E3T)?c?)x1s93GxBS?{gqAqf z!{%sRFFL6e7XdRCtPgTlF!gqR!~ONKUeG!k|2bJ}kKEfm)q6jUsB&q^X2APFk;z+S zLzb<8K4M>#ye0ALLg-W=7G=(3$M*y-K#V0##lF+9hb8u(!vk`aJXmIR`f+9X3)KQJ z<=`)+CVtNGWvY7!yQCA}=%Zej{Q$TXHikODSxxc->w4q6>KZ;(s`_j_PIvx5+?yxG z_1(w_?MT33gqt0Wq;Z0JFIng+{)6J{#1fBM5w_DoUuNr(ln@;WU(bsh zQe(EH6^nMIwHahB+}A^|Tx_;gaYdj`sdy+suI~%98Twc7?1Q6z`-UgIVX$~k=1MtQ ziVd6~rgPp_1Uq_k=dIUe;nPI7zkcdv8hykX+!dH*_tsja8Akjw{XqI>9!2ftasq{Ze`@K&LoU(>gPM%v zTSV4PoV5DC>w%GCe~eumIszZ4vZO9Kp?Xf_FH5!#sVuRob>HSR~A1Uc|o6>}>tb@h;XKF-{gsInNL&V*V+Jxb+FEm(UA%eH`sV5E z=pife-DyV%C7CT3YY?@9+*&yj2t5?KcW<^fMi&aOqFj9tpe0OC=HqRzpnT4qO0oQ# zR&M1}Awvb@Ygn?-s1}8wz;(&9_J`fux;XFaq+i1*qmQ2#cJ)5D#I*d(4gx#(K1yT^ zT+=5R3iC}q00)6}%|iTduIK5kVnj)wYUoi}t4hKKku?Fs^QbN>reV$K)qJXk*Tk7g zy~VTck(vjkRJs2S^hUvMpwEXwRU4l&Pq-Om#Dvwr@Z7HVt;x@4=_FtoMx>ysNO!PL z`UTWnHz#vrkbrfT`bG)JByJU40yJtnkLja>T?UyCjVlg>@v!Zqjf&ab>ZT3#r+(H* z=a93*rRs;xz!`VlOx2o4dSY1Nsg0w~`}?EWLBKA}q1nUih;uCYCG|v5$OgfK{6knW z`PUhBz?%TT)K~83^<@sBsMeT*SMFJ^bHP3eHSYU`FA=0qeUmF#dX!wi!}4J4xwFsi zk9LpAZ+I%~PG4H&q=xLD752NS>Gj(Nga2WY5NeDTRnUg^@C54qHP zI9(+cVLqQj5VY!CIbn)*y{C7Pwi}cn{GS~zmx@_UQCaFNuV4$0 z+#URL;Ap=%ys7J~{Ossghs~GjgHXBGpW^*xCSQaHoJ~1Pl~J90?=Cgp1GGSknY9}a zo+JP!u}tBJ0me=kqW5FwWjW4nTaEwXlz=7;5>x%inB;NSkoKG0FE}4|p^LJ9u)5B* zUT?W0es?LxN+%Ao!-Vk)(#5`zp8RARTKTG zY-A&*|D(oY6iQtyZztU&!G(IXa9fJ4wRY%*fx#F!JF;BmdZG`4 zG%nH+5oCAmd2Cj(aJsd>Bj>I| zvJ@fF&wztGfL6PHHgp`vAiBRJeSKwlQbCyRv%{*wj{w47Io?X(S85R=6?pF9ZXAE~ zK5-+rAx&Qb+B7g5E3GagxZpn4v0Qi+v-#}x7Vp{WE{SueoSEm|Cz4xKYT!lj@`b$l z{^rxz?MbV;HktMxhewubJTR^oT%JG&cNgkhA-}3B_u{mRY3R~uOCufc=v}C}*`$w? zphZJkW2u=ml0!~R)7LzSyo+Tf=x7 z=$mK>{NX_Ha<`QB(b_{Zz7}`!VjFM#_bei}gksB|lXEN!Cc+8JbWmLSY8I_g0JmiOm60fZEE0uJ1Tgo zfRxY^2}I5{o=+vb=bDA-xaasKp-cZe#tu`U3W3N;I_G%3liD? z$mEX!FnY9@KeeJ;BHI2r4$0_qD3a)g^=$QLvRgSCrvDWF&Fn7k3sC>tM3vwdW|}AH zeUsdDfP`dcP&)?XQllytUO6&G`{tBBI{b-N8bOU?rXp9!7cgdZG}rPR^ILoJ_DRkM z(e9y+2*Z=A5dHdCL%*tpDC6Fb$|tj%YGKzO?w#z>ZR+u;8&k>~^r%;eMfkdHC?ep^ zCvMh^YYj~fE?0+@0zA>&8J8W<2zEoGvs{BgSWR|xK!*Rgbf_G^3fHvlc0-5+5^_F zyR_W5sUVbv{fsDz?M7IFi3NkI=ND10qhLSKPntXqL9?^If70{4KZ-+Niq?&2t}qO)07jvO4*J}H!E|37kZB65@~jDi(9gWjnm%p9L))zfvQ^` zm&60%B_}p1sdH6(={ulm^`v5-JD($4v&?)5j(p(R!zc8#Eu|scj!ij}beBYRf{Jw7 zdzZhzY%-h8VV^bA>+&6JGd*f>2o;^8vV=;9XGO|Ju(AL0bHoRPr2=+86(~O^*v6hc zwF&+cP#`wkYV_Nbnrvrts3nQ#ksa3eCCbNzrz&iCT?QNlzqQFr{m^SB0uq(@FUoSx z`#Ee%JDC4^=eIE@2-c$g4%fY!K6+c8W)Yp*6Flx=pkx9Vo^TDJ5qUe~t6OCI3_OwW zElGRKe179v{?-mMt!E#}w-_YaV&SK-dc4^+w9ikZj7c8;muQ7RCL)_Q@>nGfru|2d zpvUg@wB8v?GdC z#1A9O&tu~h$`WaNC0DX4O_~EaFJ|T_qQ^>lSU^&{WB=7En)lPvcltCgREj&R$H)$zOj= z?xO+|53`ln6dg9MU~bypdSQnre4uNfjJM6^OeSIE{0@D6xF`HsQvK~0c3MWl6{GT_ zdAH_YQ@P(3V-tV#o;)|b)$aQPD0i|6cEB##lnUL{TPdCXzJ1>NklW%vFS&&41Csdp z1Sy+;7WVrXd0q=Pe)thclp;p)+QX|{|pOmuNt6i4jorv{-ZR~0B z3dHxw1Wcy7&xSPEkyxLv|nBAPkT~_<$buJXc{+_vd#J<*?l(Vbi^Ouqh1< zp%#jyZlY0d<_%V6=G+20Smyue+`mm^Mj!&^d89<=MWxQK36d`00x-1)AYgI&LeEUN zochX|wrIBO$x^DE8{hBbS23?7QiXU@M^~44HzC^%pK0(?%!X@0-^2ltbt6t^X1W!T zx8k|IK0f6$8>+4sq>wx4UkMKYGLRwmu)Cm1Qy^kB!ARY%hSo?dWK`AbgCGazbm*oa zI#&`ClIkQsbuEnTZH!Up5BrUpP+sWq# z2HY@@9ns*LV;;|-eeUMNq<*1ELm*1}e#+vCe7ST(L*Z0e0}x8?Ey*T0;M9cS>Xl91 zgQ~b4Cp_19U)%8B7MfPWm_#&k_1BSEGad!?hz*q=udvZ)M)WVH~(fQ~uV?==pD6nlx6QblD!RcDjAgwQo#mCW7 zBGc{bEQ`eq%(dCh)6zbTzYMxWX<#(ki3COV8@IwL7-jIV|Il0B_sY zd~!p)x3*4xmj27>LY&&Xbk22JD~(d3O1P~5a?0g>J>@8QKfp+V>~>?LreH$Uj$)*m z(VJ}(o>rQ}{t0OYkntF!L9V*-lP`p-dp!^pY*zQ_7Km$+t54AGo_}x`0Oa ztA+p8S#0#TkF()6&?H3_)&2@0{`xlbyZ=<+PiO$W)QTcgg1EEBYO;I5d{0ZQtr}wU z6I%7$dpDI)EYKU}MSk&aS0_MU7Zi$aBEyfD2LD{z+(z5MJbL=GZ0-7Ej%kDEo~^kG z`#7ubZzV-lN^S606@<~;a1iDP=)6{t=fEdyS=Z-Xep^U4F3o*iLdfFDEH!i)V$_w| zk#cfG)5i{O?Brf+gmL=pHL`yLi)7=xPqn}B`>h|<0-HLd(xW~DMmt%Tm5BTPmRqL> z#|KdykN1Ro#8a2v=1%`Q@-uR}o2X$nRlSi~wVHE(MzX&Lage*w#B%X;b|W-vrYsYK z-u`=j5<%Xi+O~Fq4jbUV+VeU5YRJQM8L1EADGK#N)@p2(SM|IV`$Ke`-B@*f$mgAI z3IhGiL9pw?;pI&hv7n~7TxEvMC>wq?W`;eIWk|aDXjBP8gss7QB-1bxayu219%1F{ zW-yhYR`E=6=0tmk_9a}6uj6A%SAHE&<|T=Mcy_C!BM4qqmy$tR@D}Ayz2_}J6DCCipV2FInwYS-bj$MVG{QheU2i?A`U&;YBC;qXi zRdCi#YhOBNx0}iSpRL}wNEpz(tpC(KMC=FQAIRI4TF0<&PbT=|=zH8vYyFy-_pmhx z07vcf6wP@0O#o1oScFiOnM2H?K|a&x2)Aft4L5Kt)6xemO~g9l3|y9C{<=0=_Bf5Cw^(U7_)Re}-nAg|Gao&+ksbw_4%C4f-IE}9^2 zF2^9CAo~QZRR>T{y`5=PRj~b|yaR5?Ua%DYE|aHvd+^aXu@CfXuJ`okq=NRH8-hOb zvB$E2K=R=y=w=Zb`W-oe7Y8Oo8qa=U`U^sB57w7VN^0u^pR=!wwmxmV^zxHpBcbH_7Mf-dUI+*bvK4{kzQT{+iwP1d)o_PHyN8) z&YoFLgQRnM@(s91&2`Yfl{T$v$b$G0Fz@eAoFwFpUr`El!!Ch3V(QHx9@8=hHOU<>@}+WSSunfrF?&ewb13 zQnDJ+gz3(sD%3+FR`vxp;B#qcPj5QRY)I^&#Jh~F$p=H?JkT5IZ>9N?jb^>P)w1=X6Oy25!#gJ|n#8rJ~T0)l;T?oy_;7rv1AwVBK# zD(!iF)Sx-ey=ldQ5gL|%=n!4D4f(`fkW*4l2w@SZRF>QKQ+;bu`OU==KV`MQIj&f$ zSMm`ZM4Zt`x`G~;v@&G^%G3Xt7-BXS0CM%K1$H&&0m)}Gaaq| z>yKpU@O1I>$Z3uYg8(fzMnW03{!$Rs7#;Dq$aT5WLK2{umPb-1$04)Vm#!7ewAX3y5{0 zY$TGLqsE?^n`!cZv`1%td~wwh}W;ugr#rKLw0pq^_{K4}>0bt>5%A?hY|p zHq+<8WBu7^g}JJ5pA1%8svG|0YpUL(p6aMU*8o5Qv{d?YIbg=42fZ^%`(B48&wqn& z?GmcK=k;Y7f<dT$+(?SB`q> z%f~Bvj8c4{P4&ZwH!PqFnblh%*gjhKRe(CAtlLE-;=XF?Z{RoN0~q^e9i@njD=@{y z+1@)HH^alj>gh1A?I*aDm}uaY$)w5Vko}7t{cvv$hy?jVQWBkVt4d%Xzc5?p(V_=s zW8$rx-v(;PxAj}lEO(87%~f@t0tok7KYX@2Qub+wB!5Gy!x!^*PBV&K_#LUQ0`AAb zm5=78=1VMJw}t$u`KOwonu0Uc5Y}UC$L-)Y>lvV|6x|{?_w3oBDW2Kjc_gXy&C~@6 zU>2r9Jwg%%T6L9L6^=&Q*Y&e+A@i-io)Q(F&v zjE*|r^3rFyzuC>o+VEJ4W8>GEm+DpgIy1u*ic#*6QZ0sAj~cQ81A^P9y_NdJQfAUa zw3`a}mW8>*MJPqnxDJH(qZDTpW8=^x-2Z>!DvQ6Qj=1oyv38~-b((@n$ zSSww%8{m#E#CTHmh+ISSrov(kvtFr=nDyoJWN;kfGv=BjIIJ@49m-EVd`ZhZ2BmV8 z52yH><xRVh#f)w!gpt*F!}VidyHjob#U zuGA^kWT~p3V0n$Gyp!Jdd^e_UvPf(=H+e*;r><~aysdz@B+ljBzc5B!sdyok2$;Ds ztqI|x5wv>cn;PU=0&Jk+!XL~pkvy;2RhV^eVYRGpYh3+85W-Wezp^|8iLY7}agEmd z6f9lHA{Fkyr?Fy z%I(*vUAfa@vT=)|b=Ms`TA}BV@_flHNWK9acW@m=Ik%F@@7lcS z?;QZ?mtliq@OV4jJ|SBIPGv!%2OTJU=@#5{tV?>dDWELm^t2-vcw#n<;1W(`D%l_( zD38@^du{xEY~7QF7!BSS5}#T4SJt88*+^=@G#1(1Z`GFr>D?HO%+5;~NveMQ5#rJ> zu5}D8w!G7O9%*&?p}RJ?I!1~)(U*B&`$@8UIl&XoA6606)eOIpO8YSRx@=9VEMQo$ znqzDlX8$=tpY2>M;*n$rt@Anvn-AfDMu>E^>M{cEcwSCVJ%i~rEGb)&Eyk+tzSR@w zCUbzWCgDh$%#0^g!zz% z(pUDC(~ES7i4;7h-U|b{ePq*;nD_rd%qQe;wSZo*LaI{OdxWm0Mu7unT}oGdMrn-! z)ItuT?=w6DN|s*;Ibq6UtF+Sue^>VwS4|pu!b>I$-c$eYo-AIqD5?^!tGP*a|A~Zq zGPSE!u7~t^cu?4<==Qw`zquFtzaOKbT@H&>^OBP}&c|5;eb6lHtJPWhL3t_f8||- zVTI+HZseSf>Y3%U&D75vDywfjsC^WAt~^9J`+a>Xr->2a;mi&qf;u@NP;qn&=NYgp ztCCVsstk%uQZBAqjUDxTlCn_Mb<%3&Ksi6&V(if-ZmzpP`CscC6)Y_6oW-s { + if (ctx.body.toLocaleLowerCase().includes('yes')) { + return gotoFlow(registerFlow) + } + await flowDynamic('Thanks!') + return + } +) + +const welcomeFlow = addKeyword(['hi', 'hello', 'hola']) + .addAnswer(`🙌 Hello welcome to this *Chatbot*`) + .addAnswer( + [ + 'I share with you the following links of interest about the project', + '👉 *doc* to view the documentation', + ].join('\n'), + { delay: 800, capture: true }, + async (ctx, { fallBack }) => { + if (!ctx.body.toLocaleLowerCase().includes('doc')) { + return fallBack('You should type *doc*') + } + return + }, + [discordFlow] + ) + +const registerFlow = addKeyword(utils.setEvent('REGISTER_FLOW')) + .addAnswer(`What is your name?`, { capture: true }, async (ctx, { state }) => { + await state.update({ name: ctx.body }) + }) + .addAnswer('What is your age?', { capture: true }, async (ctx, { state }) => { + await state.update({ age: ctx.body }) + }) + .addAction(async (_, { flowDynamic, state }) => { + await flowDynamic(`${state.get('name')}, thanks for your information!: Your age: ${state.get('age')}`) + }) + +const fullSamplesFlow = addKeyword(['samples', utils.setEvent('SAMPLES')]) + .addAnswer(`💪 I'll send you a lot files...`) + .addAnswer(`Send image from Local`, { media: join(process.cwd(), 'assets', 'sample.png') }) + .addAnswer(`Send video from URL`, { + media: 'https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExYTJ0ZGdjd2syeXAwMjQ4aWdkcW04OWlqcXI3Ynh1ODkwZ25zZWZ1dCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/LCohAb657pSdHv0Q5h/giphy.mp4', + }) + .addAnswer(`Send audio from URL`, { media: 'https://cdn.freesound.org/previews/728/728142_11861866-lq.mp3' }) + .addAnswer(`Send file from URL`, { + media: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf', + }) + +const main = async () => { + const adapterFlow = createFlow([welcomeFlow, registerFlow, fullSamplesFlow]) + const adapterProvider = createProvider(Provider, { + email: 'YOUR_EMAIL@gmail.com', + oauth2: { + clientId: 'YOUR_CLIENT_ID', + clientSecret: 'YOUR_CLIENT_SECRET', + refreshToken: 'YOUR_REFRESH_TOKEN' + } +}) + const adapterDB = new Database() + + const { handleCtx, httpServer } = await createBot({ + flow: adapterFlow, + provider: adapterProvider, + database: adapterDB, + }) + + adapterProvider.server.post( + '/v1/messages', + handleCtx(async (bot, req, res) => { + const { number, message, urlMedia } = req.body + await bot.sendMessage(number, message, { media: urlMedia ?? null }) + return res.end('sended') + }) + ) + + adapterProvider.server.post( + '/v1/register', + handleCtx(async (bot, req, res) => { + const { number, name } = req.body + await bot.dispatch('REGISTER_FLOW', { from: number, name }) + return res.end('trigger') + }) + ) + + adapterProvider.server.post( + '/v1/samples', + handleCtx(async (bot, req, res) => { + const { number, name } = req.body + await bot.dispatch('SAMPLES', { from: number, name }) + return res.end('trigger') + }) + ) + + adapterProvider.server.post( + '/v1/blacklist', + handleCtx(async (bot, req, res) => { + const { number, intent } = req.body + if (intent === 'remove') bot.blacklist.remove(number) + if (intent === 'add') bot.blacklist.add(number) + + res.writeHead(200, { 'Content-Type': 'application/json' }) + return res.end(JSON.stringify({ status: 'ok', number, intent })) + }) + ) + + adapterProvider.server.get( + '/v1/blacklist/list', + handleCtx(async (bot, req, res) => { + const blacklist = bot.blacklist.getList() + res.writeHead(200, { 'Content-Type': 'application/json' }) + return res.end(JSON.stringify({ status: 'ok', blacklist })) + }) + ) + + httpServer(+PORT) +} + +main() diff --git a/starters/apps/base-js-gmail-mongo/.dockerignore b/starters/apps/base-js-gmail-mongo/.dockerignore new file mode 100644 index 000000000..1eaeed3c3 --- /dev/null +++ b/starters/apps/base-js-gmail-mongo/.dockerignore @@ -0,0 +1,16 @@ +dist/* +node_modules +.env + +*_sessions +*tokens +.wwebjs* + +.git +.gitignore +Dockerfile* +npm-debug.log* +pnpm-debug.log* +tests +docs +*.md diff --git a/starters/apps/base-js-gmail-mongo/Dockerfile b/starters/apps/base-js-gmail-mongo/Dockerfile new file mode 100644 index 000000000..e2cb3f816 --- /dev/null +++ b/starters/apps/base-js-gmail-mongo/Dockerfile @@ -0,0 +1,40 @@ +# Image size ~ 400MB +FROM node:21-alpine3.18 as builder + +WORKDIR /app + +RUN corepack enable && corepack prepare pnpm@latest --activate +ENV PNPM_HOME=/usr/local/bin + +COPY . . + +COPY package*.json *-lock.yaml ./ + +RUN apk add --no-cache --virtual .gyp \ + python3 \ + make \ + g++ \ + && apk add --no-cache git \ + && pnpm install \ + && apk del .gyp + +FROM node:21-alpine3.18 as deploy + +WORKDIR /app + +ARG PORT +ENV PORT $PORT +EXPOSE $PORT + +COPY --from=builder /app/assets ./assets +COPY --from=builder /app/dist ./dist +COPY --from=builder /app/*.json /app/*-lock.yaml ./ + +RUN corepack enable && corepack prepare pnpm@latest --activate +ENV PNPM_HOME=/usr/local/bin + +RUN npm cache clean --force && pnpm install --production --ignore-scripts \ + && addgroup -g 1001 -S nodejs && adduser -S -u 1001 nodejs \ + && rm -rf $PNPM_HOME/.npm $PNPM_HOME/.node-gyp + +CMD ["npm", "start"] diff --git a/starters/apps/base-js-gmail-mongo/README.md b/starters/apps/base-js-gmail-mongo/README.md new file mode 100644 index 000000000..ef1dd6c06 --- /dev/null +++ b/starters/apps/base-js-gmail-mongo/README.md @@ -0,0 +1,44 @@ +

BuilderBot

+ +

+ + + +

+ + + + + + +

+ + +## Getting Started + +With this library, you can build automated conversation flows agnostic to the WhatsApp provider, set up automated responses for frequently asked questions, receive and respond to messages automatically, and track interactions with customers. Additionally, you can easily set up triggers to expand functionalities limitlessly. + +``` +npm create builderbot@latest +``` + + +## Documentation + +Visit [builderbot](https://builderbot.app/) to view the full documentation. + + +## Official Course + +If you want to discover all the functions and features offered by the library you can take the course. +[View Course](https://app.codigoencasa.com/courses/builderbot?refCode=LEIFER) + + +## Contact Us +- [💻 Discord](https://link.codigoencasa.com/DISCORD) +- [👌 𝕏 (Twitter)](https://twitter.com/leifermendez) \ No newline at end of file diff --git a/starters/apps/base-js-gmail-mongo/_gitignore b/starters/apps/base-js-gmail-mongo/_gitignore new file mode 100644 index 000000000..727ad6c73 --- /dev/null +++ b/starters/apps/base-js-gmail-mongo/_gitignore @@ -0,0 +1,10 @@ +dist/* +node_modules +.env + +*_sessions +*tokens +.wwebjs* + +*.log +*qr.png \ No newline at end of file diff --git a/starters/apps/base-js-gmail-mongo/assets/sample.png b/starters/apps/base-js-gmail-mongo/assets/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..de27372044c8bca6f9701b4777765a4a5dcb3d14 GIT binary patch literal 113405 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 z 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 { + if (ctx.body.toLocaleLowerCase().includes('yes')) { + return gotoFlow(registerFlow) + } + await flowDynamic('Thanks!') + return + } +) + +const welcomeFlow = addKeyword(['hi', 'hello', 'hola']) + .addAnswer(`🙌 Hello welcome to this *Chatbot*`) + .addAnswer( + [ + 'I share with you the following links of interest about the project', + '👉 *doc* to view the documentation', + ].join('\n'), + { delay: 800, capture: true }, + async (ctx, { fallBack }) => { + if (!ctx.body.toLocaleLowerCase().includes('doc')) { + return fallBack('You should type *doc*') + } + return + }, + [discordFlow] + ) + +const registerFlow = addKeyword(utils.setEvent('REGISTER_FLOW')) + .addAnswer(`What is your name?`, { capture: true }, async (ctx, { state }) => { + await state.update({ name: ctx.body }) + }) + .addAnswer('What is your age?', { capture: true }, async (ctx, { state }) => { + await state.update({ age: ctx.body }) + }) + .addAction(async (_, { flowDynamic, state }) => { + await flowDynamic(`${state.get('name')}, thanks for your information!: Your age: ${state.get('age')}`) + }) + +const fullSamplesFlow = addKeyword(['samples', utils.setEvent('SAMPLES')]) + .addAnswer(`💪 I'll send you a lot files...`) + .addAnswer(`Send image from Local`, { media: join(process.cwd(), 'assets', 'sample.png') }) + .addAnswer(`Send video from URL`, { + media: 'https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExYTJ0ZGdjd2syeXAwMjQ4aWdkcW04OWlqcXI3Ynh1ODkwZ25zZWZ1dCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/LCohAb657pSdHv0Q5h/giphy.mp4', + }) + .addAnswer(`Send audio from URL`, { media: 'https://cdn.freesound.org/previews/728/728142_11861866-lq.mp3' }) + .addAnswer(`Send file from URL`, { + media: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf', + }) + +const main = async () => { + const adapterFlow = createFlow([welcomeFlow, registerFlow, fullSamplesFlow]) + const adapterProvider = createProvider(Provider, { + email: 'YOUR_EMAIL@gmail.com', + oauth2: { + clientId: 'YOUR_CLIENT_ID', + clientSecret: 'YOUR_CLIENT_SECRET', + refreshToken: 'YOUR_REFRESH_TOKEN' + } +}) + const adapterDB = new Database({ + dbUri: process.env.MONGO_DB_URI, + dbName: process.env.MONGO_DB_NAME, + }) + + const { handleCtx, httpServer } = await createBot({ + flow: adapterFlow, + provider: adapterProvider, + database: adapterDB, + }) + + adapterProvider.server.post( + '/v1/messages', + handleCtx(async (bot, req, res) => { + const { number, message, urlMedia } = req.body + await bot.sendMessage(number, message, { media: urlMedia ?? null }) + return res.end('sended') + }) + ) + + adapterProvider.server.post( + '/v1/register', + handleCtx(async (bot, req, res) => { + const { number, name } = req.body + await bot.dispatch('REGISTER_FLOW', { from: number, name }) + return res.end('trigger') + }) + ) + + adapterProvider.server.post( + '/v1/samples', + handleCtx(async (bot, req, res) => { + const { number, name } = req.body + await bot.dispatch('SAMPLES', { from: number, name }) + return res.end('trigger') + }) + ) + + adapterProvider.server.post( + '/v1/blacklist', + handleCtx(async (bot, req, res) => { + const { number, intent } = req.body + if (intent === 'remove') bot.blacklist.remove(number) + if (intent === 'add') bot.blacklist.add(number) + + res.writeHead(200, { 'Content-Type': 'application/json' }) + return res.end(JSON.stringify({ status: 'ok', number, intent })) + }) + ) + + adapterProvider.server.get( + '/v1/blacklist/list', + handleCtx(async (bot, req, res) => { + const blacklist = bot.blacklist.getList() + res.writeHead(200, { 'Content-Type': 'application/json' }) + return res.end(JSON.stringify({ status: 'ok', blacklist })) + }) + ) + + httpServer(+PORT) +} + +main() diff --git a/starters/apps/base-js-gmail-mysql/.dockerignore b/starters/apps/base-js-gmail-mysql/.dockerignore new file mode 100644 index 000000000..1eaeed3c3 --- /dev/null +++ b/starters/apps/base-js-gmail-mysql/.dockerignore @@ -0,0 +1,16 @@ +dist/* +node_modules +.env + +*_sessions +*tokens +.wwebjs* + +.git +.gitignore +Dockerfile* +npm-debug.log* +pnpm-debug.log* +tests +docs +*.md diff --git a/starters/apps/base-js-gmail-mysql/Dockerfile b/starters/apps/base-js-gmail-mysql/Dockerfile new file mode 100644 index 000000000..e2cb3f816 --- /dev/null +++ b/starters/apps/base-js-gmail-mysql/Dockerfile @@ -0,0 +1,40 @@ +# Image size ~ 400MB +FROM node:21-alpine3.18 as builder + +WORKDIR /app + +RUN corepack enable && corepack prepare pnpm@latest --activate +ENV PNPM_HOME=/usr/local/bin + +COPY . . + +COPY package*.json *-lock.yaml ./ + +RUN apk add --no-cache --virtual .gyp \ + python3 \ + make \ + g++ \ + && apk add --no-cache git \ + && pnpm install \ + && apk del .gyp + +FROM node:21-alpine3.18 as deploy + +WORKDIR /app + +ARG PORT +ENV PORT $PORT +EXPOSE $PORT + +COPY --from=builder /app/assets ./assets +COPY --from=builder /app/dist ./dist +COPY --from=builder /app/*.json /app/*-lock.yaml ./ + +RUN corepack enable && corepack prepare pnpm@latest --activate +ENV PNPM_HOME=/usr/local/bin + +RUN npm cache clean --force && pnpm install --production --ignore-scripts \ + && addgroup -g 1001 -S nodejs && adduser -S -u 1001 nodejs \ + && rm -rf $PNPM_HOME/.npm $PNPM_HOME/.node-gyp + +CMD ["npm", "start"] diff --git a/starters/apps/base-js-gmail-mysql/README.md b/starters/apps/base-js-gmail-mysql/README.md new file mode 100644 index 000000000..ef1dd6c06 --- /dev/null +++ b/starters/apps/base-js-gmail-mysql/README.md @@ -0,0 +1,44 @@ +

BuilderBot

+ +

+ + + +

+ + + + + + +

+ + +## Getting Started + +With this library, you can build automated conversation flows agnostic to the WhatsApp provider, set up automated responses for frequently asked questions, receive and respond to messages automatically, and track interactions with customers. Additionally, you can easily set up triggers to expand functionalities limitlessly. + +``` +npm create builderbot@latest +``` + + +## Documentation + +Visit [builderbot](https://builderbot.app/) to view the full documentation. + + +## Official Course + +If you want to discover all the functions and features offered by the library you can take the course. +[View Course](https://app.codigoencasa.com/courses/builderbot?refCode=LEIFER) + + +## Contact Us +- [💻 Discord](https://link.codigoencasa.com/DISCORD) +- [👌 𝕏 (Twitter)](https://twitter.com/leifermendez) \ No newline at end of file diff --git a/starters/apps/base-js-gmail-mysql/_gitignore b/starters/apps/base-js-gmail-mysql/_gitignore new file mode 100644 index 000000000..727ad6c73 --- /dev/null +++ b/starters/apps/base-js-gmail-mysql/_gitignore @@ -0,0 +1,10 @@ +dist/* +node_modules +.env + +*_sessions +*tokens +.wwebjs* + +*.log +*qr.png \ No newline at end of file diff --git a/starters/apps/base-js-gmail-mysql/assets/sample.png b/starters/apps/base-js-gmail-mysql/assets/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..de27372044c8bca6f9701b4777765a4a5dcb3d14 GIT binary patch literal 113405 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 z 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 { + if (ctx.body.toLocaleLowerCase().includes('yes')) { + return gotoFlow(registerFlow) + } + await flowDynamic('Thanks!') + return + } +) + +const welcomeFlow = addKeyword(['hi', 'hello', 'hola']) + .addAnswer(`🙌 Hello welcome to this *Chatbot*`) + .addAnswer( + [ + 'I share with you the following links of interest about the project', + '👉 *doc* to view the documentation', + ].join('\n'), + { delay: 800, capture: true }, + async (ctx, { fallBack }) => { + if (!ctx.body.toLocaleLowerCase().includes('doc')) { + return fallBack('You should type *doc*') + } + return + }, + [discordFlow] + ) + +const registerFlow = addKeyword(utils.setEvent('REGISTER_FLOW')) + .addAnswer(`What is your name?`, { capture: true }, async (ctx, { state }) => { + await state.update({ name: ctx.body }) + }) + .addAnswer('What is your age?', { capture: true }, async (ctx, { state }) => { + await state.update({ age: ctx.body }) + }) + .addAction(async (_, { flowDynamic, state }) => { + await flowDynamic(`${state.get('name')}, thanks for your information!: Your age: ${state.get('age')}`) + }) + +const fullSamplesFlow = addKeyword(['samples', utils.setEvent('SAMPLES')]) + .addAnswer(`💪 I'll send you a lot files...`) + .addAnswer(`Send image from Local`, { media: join(process.cwd(), 'assets', 'sample.png') }) + .addAnswer(`Send video from URL`, { + media: 'https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExYTJ0ZGdjd2syeXAwMjQ4aWdkcW04OWlqcXI3Ynh1ODkwZ25zZWZ1dCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/LCohAb657pSdHv0Q5h/giphy.mp4', + }) + .addAnswer(`Send audio from URL`, { media: 'https://cdn.freesound.org/previews/728/728142_11861866-lq.mp3' }) + .addAnswer(`Send file from URL`, { + media: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf', + }) + +const main = async () => { + const adapterFlow = createFlow([welcomeFlow, registerFlow, fullSamplesFlow]) + const adapterProvider = createProvider(Provider, { + email: 'YOUR_EMAIL@gmail.com', + oauth2: { + clientId: 'YOUR_CLIENT_ID', + clientSecret: 'YOUR_CLIENT_SECRET', + refreshToken: 'YOUR_REFRESH_TOKEN' + } +}) + const adapterDB = new Database({ + host: process.env.MYSQL_DB_HOST, + user: process.env.MYSQL_DB_USER, + database: process.env.MYSQL_DB_NAME, + password: process.env.MYSQL_DB_PASSWORD, + }) + + const { handleCtx, httpServer } = await createBot({ + flow: adapterFlow, + provider: adapterProvider, + database: adapterDB, + }) + + adapterProvider.server.post( + '/v1/messages', + handleCtx(async (bot, req, res) => { + const { number, message, urlMedia } = req.body + await bot.sendMessage(number, message, { media: urlMedia ?? null }) + return res.end('sended') + }) + ) + + adapterProvider.server.post( + '/v1/register', + handleCtx(async (bot, req, res) => { + const { number, name } = req.body + await bot.dispatch('REGISTER_FLOW', { from: number, name }) + return res.end('trigger') + }) + ) + + adapterProvider.server.post( + '/v1/samples', + handleCtx(async (bot, req, res) => { + const { number, name } = req.body + await bot.dispatch('SAMPLES', { from: number, name }) + return res.end('trigger') + }) + ) + + adapterProvider.server.post( + '/v1/blacklist', + handleCtx(async (bot, req, res) => { + const { number, intent } = req.body + if (intent === 'remove') bot.blacklist.remove(number) + if (intent === 'add') bot.blacklist.add(number) + + res.writeHead(200, { 'Content-Type': 'application/json' }) + return res.end(JSON.stringify({ status: 'ok', number, intent })) + }) + ) + + adapterProvider.server.get( + '/v1/blacklist/list', + handleCtx(async (bot, req, res) => { + const blacklist = bot.blacklist.getList() + res.writeHead(200, { 'Content-Type': 'application/json' }) + return res.end(JSON.stringify({ status: 'ok', blacklist })) + }) + ) + + httpServer(+PORT) +} + +main() diff --git a/starters/apps/base-js-gmail-postgres/.dockerignore b/starters/apps/base-js-gmail-postgres/.dockerignore new file mode 100644 index 000000000..1eaeed3c3 --- /dev/null +++ b/starters/apps/base-js-gmail-postgres/.dockerignore @@ -0,0 +1,16 @@ +dist/* +node_modules +.env + +*_sessions +*tokens +.wwebjs* + +.git +.gitignore +Dockerfile* +npm-debug.log* +pnpm-debug.log* +tests +docs +*.md diff --git a/starters/apps/base-js-gmail-postgres/Dockerfile b/starters/apps/base-js-gmail-postgres/Dockerfile new file mode 100644 index 000000000..e2cb3f816 --- /dev/null +++ b/starters/apps/base-js-gmail-postgres/Dockerfile @@ -0,0 +1,40 @@ +# Image size ~ 400MB +FROM node:21-alpine3.18 as builder + +WORKDIR /app + +RUN corepack enable && corepack prepare pnpm@latest --activate +ENV PNPM_HOME=/usr/local/bin + +COPY . . + +COPY package*.json *-lock.yaml ./ + +RUN apk add --no-cache --virtual .gyp \ + python3 \ + make \ + g++ \ + && apk add --no-cache git \ + && pnpm install \ + && apk del .gyp + +FROM node:21-alpine3.18 as deploy + +WORKDIR /app + +ARG PORT +ENV PORT $PORT +EXPOSE $PORT + +COPY --from=builder /app/assets ./assets +COPY --from=builder /app/dist ./dist +COPY --from=builder /app/*.json /app/*-lock.yaml ./ + +RUN corepack enable && corepack prepare pnpm@latest --activate +ENV PNPM_HOME=/usr/local/bin + +RUN npm cache clean --force && pnpm install --production --ignore-scripts \ + && addgroup -g 1001 -S nodejs && adduser -S -u 1001 nodejs \ + && rm -rf $PNPM_HOME/.npm $PNPM_HOME/.node-gyp + +CMD ["npm", "start"] diff --git a/starters/apps/base-js-gmail-postgres/README.md b/starters/apps/base-js-gmail-postgres/README.md new file mode 100644 index 000000000..ef1dd6c06 --- /dev/null +++ b/starters/apps/base-js-gmail-postgres/README.md @@ -0,0 +1,44 @@ +

BuilderBot

+ +

+ + + +

+ + + + + + +

+ + +## Getting Started + +With this library, you can build automated conversation flows agnostic to the WhatsApp provider, set up automated responses for frequently asked questions, receive and respond to messages automatically, and track interactions with customers. Additionally, you can easily set up triggers to expand functionalities limitlessly. + +``` +npm create builderbot@latest +``` + + +## Documentation + +Visit [builderbot](https://builderbot.app/) to view the full documentation. + + +## Official Course + +If you want to discover all the functions and features offered by the library you can take the course. +[View Course](https://app.codigoencasa.com/courses/builderbot?refCode=LEIFER) + + +## Contact Us +- [💻 Discord](https://link.codigoencasa.com/DISCORD) +- [👌 𝕏 (Twitter)](https://twitter.com/leifermendez) \ No newline at end of file diff --git a/starters/apps/base-js-gmail-postgres/_gitignore b/starters/apps/base-js-gmail-postgres/_gitignore new file mode 100644 index 000000000..727ad6c73 --- /dev/null +++ b/starters/apps/base-js-gmail-postgres/_gitignore @@ -0,0 +1,10 @@ +dist/* +node_modules +.env + +*_sessions +*tokens +.wwebjs* + +*.log +*qr.png \ No newline at end of file diff --git a/starters/apps/base-js-gmail-postgres/assets/sample.png b/starters/apps/base-js-gmail-postgres/assets/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..de27372044c8bca6f9701b4777765a4a5dcb3d14 GIT binary patch literal 113405 zcmYhiWkA#K`#nxGq&AR}8lz<}x}+H;Afdu&7}8zBq)SF4C|x3@QlmQuD2!4BN$D=> z5dHD~eE$#rPxt6PJLf*vb*}q*#p*xNpuG3s9v&VZrIse#5D$;A8xN0w1weB5i;Tr! zARb;Ao)%pBS%BqU-d7JUZR4h{uIP~_B{XYVR1`Kr3BbigL?B5){!=7Q8BGazSwp~O zO)0=dq(X6cv3QZRaIu)L(NuQOxZrjnr`O~W@;kTuX_9ObZs=jg{==IKP5w4fPEH7C zUF{0PCN}opcNW{mgL${kv)^SS+psZ7YIb?&#)CyS1x24mnX~?^jg|G!BW=~4ab*eX z{qY$i+iwT|g&f(OBvLCpo{JgLD9CqrUu<1yN1gES6vSmzTbgxz+^tL;vA6a4+|to9 zV{X=JbJO*^GCA8L^qJ7f5)m!4n?`J-LzpZcl z_-y?9?Z#C+!$;jt*K}hejq}h~*YO+IiSIT(S1(duxczFI{?qkL;Y>Pk8CjRUQ&ZoL zbbFkqplA0@-Q!n>OO<(>yVKQP`x7_ctDT08$Ycd4cMn&Ji;SRm2g7|D$vN8mtbUi^ zcV|6=1>zU%3a*P?p}*!e&;EpdgboSrPW4Y)h2{;-)xQcw9R!^S{ivqg30R*s^f~{d z=At@#f@>ik`LQdNJ*byIu%rztNLJ!rMxQkJQ(DGd{cVNsltbjjLfL zo$G^Bo2a)39Gm8vw`SKlc7g4>`@RP&c5N?r)c+;_x7x4Fw+Ba&4 zimvO^nY!h_V+#L}=itMCw;N5+v0-Cx<|CHi^nBjy)DVk5!6zG)@{#qoyk!ba zuj+!m&V%ZF4m;2Evl|jPLwgSLANa;3Vz9^44qP53zPA=NT*S z^293dNXEy`Nn+M<6505}-p`Y;b(yU6vhAzO%ewDVJasGou&jf`o%iq52LnF=?dJY!Nw4$m5Rz7YCo;{&TwN4H1)Hx*GoN z_4meRQQ^><}#Kl-gw zzp+Vr@ODBO(lR&5HDvxEE*UcRb*@ttHDUDMI`rlqzvB2NgcjXVY58+#HEUSzm75Ve z&7?V|K*I2ZH~iM*VKQvtRV&HthR!Ds-SMWLWL8CY^h}dS+oAk)cYI>v`R>W8=QI6j zFU1Ec01m88p9gI)K(+@EVG`Htq|7od)$(s?`Af*PxNmKN!UEm>?_u3ViuX@`QP*=2 zo}9{bD5@w@^k{{CCcic?*$T0F4V0Q1?`nCAeK0*=MjgIYq{vDv+}?eedX0Vidu=;F z760}T_VOw|0~dDewR7@KZ+)>|o^w6}W|)1)Y)qp8!?n+;jg!X#KT4J{1-LhFeBFtD zLSZ}kPV{S}q-&%CG}vqw5dLKGR6|h*nQ?piM(S`LBey*b;R3at_J_Ot5&dy^%HZ%c z)W14BVYU88V99% zCNht7kW%ky*Ru;SQBzV2rt2QB4EHmD;@6=|YS{P}d;$B1N)(~Z0#QuCUh&0=-6f=q z+WfGOhVzQAa--Qde@mH)fbxQRu0-E$zEOnndI-#Bz{FtuRe5iuhs;eZ#CBz;HjlZl zFTc_TDhKVRx%#n-s}R*a>QG1TlP3qqEiNX68AYS=5wMFf(mWp%i*BTd5t93n{We8ha?yqM??Dya@W@8zZ)I%Q^hQ8=dAA?(@05$7V80SDje z5joFnu6E`~Y7$(Uef(wiz>+1w@l;0Z!r&9_?e}B_8N2lyJl&h$-f(J9LGuez_VwDw zRWO(od+4iAs3T$K3gBQ6X%R^e&FD$5KM^5A@Ncasgd>+aJZs7~OjS4~)8g4!?W z#K#ah=JkdX7VERp5fLcIp3|^af|dq8+b46eR-_RHvG51l1WC`6QcMCHkK9iL0csr8 zb6jEzzvs0}@CF9rl#@#-$X7WXshW7qsI_AALN#;b9#$N3c%5i>Bl4bwh=*E05ehJX zcC=SuT#xN~Dbsg_4hv%Elr5Xxju=EtOqHDU*qxAAT+i%q#$qT1A0fx^)npm9e`8Y} z;0cUo7TxuhcHv0?KWDQAxbDqpg{EH?KjhSJe6EEj$aJ4 zMUmTn!ObZ|!jR%hx$ANOtaMaOua735>G~x=;(8-Q9svWTpU#2Oxf#8;4o&~nWg2a! zdljT>cKy4(sjjq2c+RA%MW#Y6Ae!zgr;MU)qG7iDwWB19?kE1al1yE z%tk5LCv=KgLVA8ir5jRrlA>P?b!(?eBH5<`q1k}Bh8!ukF#O%xi+(57SsE$VgS1GV zEz!T@MvN2X|47*53vEd5?dCWVq$+;gJ^iU28 zMov^o3a~=*29`L6<}}W0*NKPYV+^?1=~V7}ug-PW+=Ro(rtIPV^{odPXJ$=%+WO37 zghUlBNG^j|&5ifn>&xFyBMK>U`8=^N8Ant z$&Smz$$X{qTEEWv-&bsYyj|$GwRIV;z_x?=6kEsj$wQ!?9;Hbd_mWWTWB z{f{z1-`*>W(y^Yym;A2VkB*q1ScUhvli-3MJYzoP6~@+|-Pn`eD%VjgvNlXj#QedM z++IviD|u#?nd_-4vvJiaokyZGyJ zDn|0QX5=>AA#9UCBz|IO*?d-!+ys7ltl8lX5q&y?UZcTsjy>2{3C+Fcki|3?(Pq|e zP2-$u-b#OxEDI*FL0_xY=$mIvaTY3RMBs2W4hbMDhfxCY<7gL%i zq%%+V2HRVTj~|vk`Q4cq86ri zy$)X~$QT=g6oa2tyl*~#60djhA$0cjnOR!53+<0dCax?A$bhOheGDz1uX;+1DiryX)z93$(Y=WK?Ul)?%bp=O+fFym z_|~NL!w0fiaVn>wLjZ}w0cjCqWnV{YwlBrBW=9#>xEUd}h^iMmBZxR`|#$QXSOs{1yDhf5UFa>4R zD4g^!uW!=d@M?)4uiL>>4A?E#{uE-by%bjR>H(%PfmWRCw_l1XZ$M$xJZIq26VyG|YX4pR-S42uoZ+{&~q+1jkU6LTv1CYJ`3J~w2XNWoN+G#j=?Xn({3JdOjU=F(tZaY`O zzDwWCo7C_>RIeu-1eQ4xUw=odQ1G9^wqZro!sA&bQt!qjL_B-MrFT@U7(6t`3T)wR z>Zer|RXG^k=FK;U&Fc>}>#wB8ELNES+qFsFolJ{D7EZw=JT~+w7GpRkQ~L;CV&ba8g%% z3*z_8>!(3KBD7+&JP2lc&`Gq$YSr7$7i4%X9+2`d=-h!=Dx>jz)nv{&SP8EvA4Sm4 z*nCiOs?z;R`_WOP2#xO5h}m#VOH;iSOP1dsyTvj}&NZ#P8tLy;lGO|%xjWjo{Bs|c z-s!VLznRa8uiv|41qnm=XFiSnqMZBfSFM6E4d9QRJ6GhQ?>WjRt2r^DzsnOt>I;lb%;u>_gBMYqU8eYqK+)2Sk6 zYFRA?L_(;|RR7(EJ;DcPcgTFeu>X2Vog&BIYA2ophe)OQK!kjIZNQt4KTD@9!;k3S z_W4#Y(DCS8u;tlx{zPlMa$*R_Vssw0|h*duDnq6CBNWJP&-U%zD*HrY)b!xJ&~Ur}*^@5XeBNzR-*7_OdWQ(l|I8WM$Tv8PBX)eDy=d)hzQ6xXjFsTACGSdm~PrVOTo#!^gWSf}t4hRO;h zZ12`4@C2L2V{g3jk@O2FYH|ugb5gdn=Dk;4K%0S}XY7ElUVe)RardeZ9_$GU`7Jw( zU#nV6E}@lk^H$^m*|SNa!9vghQ7qrK+rQg(5|Q*7mIj%zi+<6Z)uFvcj{VruC6f=X zax9q6lLV+>_3RSh#(9kXMhN6bmK#SE^Nf)bD{vk& z?jHf%0FTuz0>1c6E+)INb2OpeU(X`te%e>E!W9XvQe)mQhnjGPp~_vTMICI;>S3C% zWM(ps%xoF{0x9W`Hi2b>a%ci&TAaYfcL;9i z%=K!)?!&*xc;1MpU$*{d#ngQs;si`ybB$~QXYUVbZNuQT{UT#MEKS&Z(-&7+b*lI} z8d7?RwoU`*qL5q-VThGiFC|(1=5X)RB*{WcFI@xbnw|aEz^3l^g#PAH9y1rcXX(v6 zGk*S!C$u*zzfwZ@ZawpvnmoTH9f-tw#Y##V8&YW6&?V92zbWx$Z??ZaJ8fFfPV16m zFH!IAb*Y+QukqG6D0|c>`!!noWkTSRx=<+91gIJA-@;7prJn#;f|^%nx79`#+&GkV ziEBUf3D_t9t^AU|Q@Cc}n0u9c$>5ODX(jV&v+QQ1U`>fk&=uvFY1q@uv1h=9aDipN}3!WvQn7;qP>JE4VDT-iWWOGgw{gv#7%TOs2N#E+5{B zuz`Cm8J~DefnldHqMx@Q32wM?y-kahi@k+jYjlc|sD#{Zxb3dmB-pSoz8=-bi;;-k z{+xbR;!47UV2$ot4wna?xY(<`Sh3`L!=O*NH z2;XuvmUyNj?5cRJSg>41*5vwU2Ki9;h>K%7pC9Y}5e>=R&x=>%K?|y$@}u+%x`Cio zLzR#O)8mM~IGu5l^c}AZrzmbK1cBU9$(lydVL8YuNCw;(cT>$7b0sA07u(ff{{V_t>q38ZTp1vDbEFk9Ll z&&bOX^U^54@JEutV|>ppR1dy~OjcAJQtGI&GuaIJVC&RwT^o`UC;U9Lw?1B)%U;Q;CG}^8GZF(Kq;}&6YHE-F8NTA1u(TuLD z4Q4RA2tzU$prNSP`Nf~2?Say#W6l_3JdT8=^FmXA)N#LRVml}pXW`zr5z5o^*tB9UEn=L<9uTY# zO&b2ZJ9TlhHtFQkr{;NWZc!&`^(8-gl2#;P9rU?+EK)GK(<}^wP6wZU?ITvag;yLG zb9eEr1Fvw&w_HEcya$;SYpQI2xSNr9KWI)q?VrO+T_n6bx>}sS@jAP|!d0VzcT@B& zXgmCkX2E6BFGVYJXm7J}Mm*vM{lH3`wtJg9aaSBhId1^$$c+>rn_BU9V(m<6kNR4` zpvW07LAa_PN}j%YSWi|!o!KTYugj0x_&+b#SS^IlOM zPp|Z&$XSJ(>HS-gD69Jcr)A#atIRw*N5y?B^CS>vV~2_=v?j6)+)4Jt?rFCB;pjzz zr_k%TPWmN4FdW(eKP-{QfxWkD&;A{=Z0x;Gq|1K!J_L*QYI51&|DI98x|NZBtA>RT zlAUTjb}fnXO{%8G$sn?4G-jIBeJtvk&TL0T_mwOsRGoO0JeolO#)%a;ph?jD-K*kBbIy`sZ@B^3s(Pcn zb)t5VrjDadD5ixgg2M^u(U3F*I66Jc!sX?Ksk z6n|O1L9?q4fKS9?)KTOItY zD!IpXXaB0EN=P~V@nd|sL~`+iA2>zzEo3+k@UvE(#tho92OI?5&UojG zldze8{QV5exF-A~`Fwyf5Bv#jIaDmTBJUO%7=h+-7LR09L4UAI#(UjqwIvC?>^b8O zY&p#<6Zo%q{B`B^TJcf2xM>SUSkI`68+fF@|NV;dF^~~0Ywpqpp{gJRiwk;ZoqtuWL|3vjpZO*+t0RL(u3+ky*<#I^Pl8ZXOiD+R_KJjJ z<}Q`)xyeno?a9H`o>ASHxBU1}?8H;L?wja0dhBlkG1ir@vrYB2NFU`7jQu+(Tf32}XiChNcGD>C zi|7+K{;y*`a&P(UFb}=+)t(6vu_0q`Pd^kL33%b_hLzL63t>)QPsQM}?oDVzINz0z z{3OG!dv3aV7C<#wX~Bqk=(n}$THjeS-dQ=0g_Au>N+m0B42*vR{Oji9fazZG*6A#f zn6mlAn*SO{x-t8O8Kjfr)3M%B#6BdU&$ith(g~~AU_xDkl}~AbFH`ZVRM3&DN<_ji zHuVc&H=C~Mf8oB45R|t0%2J|fQmycQH$b?FWhE&-knaZ6+YD+_W+z;ZAb+^Y5#~%# zNe;#38n@b{k*)xi)#QVMjiFi1%a9dDUvRI;&xYc9gpoGKV7nm{jTWP3q*E&uWJhhs z<*{c7sKB$iWmrATL}MhCJX0?o1G~*>Pa-kLjVT8Xb`b!tdKNSuNeDau|F`PK^7LIA0AND5;HyPD>Gf)46_Iwp z->XJXp)V1uj8Jw{64*;CYLq8i#0&u~H^=kVTJ_An*e_7qEbutcngRk2`ben!);uZ= zHdsztlw#Y=^7P^?rv+->u)SGPRc$=1?r5{X-L;h+ua**yH(&NaE#+GHS9&`r90Z+Y zWcreEElS;pozJLrx7v#(+Sj+Lm@jS#v9)V1*yXaK?)}j)Rjq1SaWCStgbKs59&3x< zTRrBZj6j{Xx;WB{UO`MCmY0<;i*DZbx^LpSIlxPt zB@=IB-T$wlB{nz}&-6~n^pU1zRyw4tK2h{ldBNb0cmXU;Rb_lwo0}MH%EA+*Ld1Yn zoQ||cP1Qc5xFw6?WIp%`u<`$Vwr+=O%_1sn8-+l;v`h0Gr7G%#gqh^PVb3jHUb^Ww z)zOy;f^r8&Z8F)SfPq%M;X43G{7SloZfL6RR{iH>3V59qwrK= zjKs)nc4#hHbFc(`ddRhsCi%Y8;56%JSDnDQ$$pf1c;}itmcd#=O#a^iVA6^p6?u2eXV(?7fF zWTvX&v$!Kc6>>MOMn6b@$waE0;u+j;=>K=cF5bG0-4TXOCKXUw8oBmo=BRJYC*~j+ z?&nBH{9Un6h=17Y7U;m6?|x8=xBzfPxxmiEv^Tn6nF}#TJ%Wz$86k*j+ZG}4YKtxr zUyqH$fsH(9wp6X!v~dqQWuUSXE%0~DuaYzsB0tEN!5s@cH2Q08DZHs}^ZG_yXsWm` zb*MHCp$FQV5xps)1e&)Dm`^V#Q#VPb@vdYZUuw^|2U}RQIqk1Z`4b7NSOGYmJRp4- zhI%7rdR1)4Wqj8dAXOY582>=UJH|cQD)~GO6~3Pr0;ff;^KIPf6087}Bf2>Nlg&$V zXssy9?Ll3MPo2z-Rs~^;Ai`)5OVRPjZ#W@cw>4+ISJ_<=iY9Sk zQu*jowP6qzU+I4eqK1}4q$tT*bM)0-{<*3e-fRymd@p#&YoNaLo>82Cgb{`T92txyf~ z(m&ZTjjJQwxYju;7PH46*h#eBU|KVue?R;RQeU?vZ%Zg)B3FP(tf$A9jz#?CWhdFo zDu^A&sxWWv8Tu2*O(@{fh#7EzF`;Ba==J1abf*W}C#Lo0uN)x!-9>B3drS0TBR)l8 zC9r-nPjVgBn{zWVU`-ZDY)(r5w=pORxWeVRM1Z)X`gbIrEIQoVeN`?DXyZg5MFe5I zFon9g>-u=%6e{|IBmU@+qiFjZ1-=QY0R4@k0vXI1eDvkLMZO8Q{S9%dY6fAsr_oBP zI!FUJ;27oSHr*OWm-ezpqVawT;=b3@PVd`m+=0ltJ*HLseiP1RUCajs3P9Ahgd)O+ z0bis%>Uj2<>K@mH2uGy5sI>b)@9Dz}$Sos;mf1#5;(nf8ee0a3E@JUVl2Aw|`vPos z`d=@VE}{|XbjPinI!s*M1oES9c|J9W)lW$!8KS|XwS67jpZxCsx^pM{c%mAh3XbE% z{r%Ue>N&g0Pq z(K%4J1iI|nnvHZ%L7{6ta!gzemgWE)04fn0_!v4J-1kn}EHDGgY7m#Dp}n|%Ca1HK zDar9rOrM(MzNe~Gc;0NB#aL|e&g&X}aih2c|81@9mFGwn+gU9P-H+=o9NW86q_Wf(TK1%=H(Y!Yj zc9?tKtO!M|7;Pz`UIe?Bi^TLYlIr0Zb|hza%;<-?|B%X04yf0RU%)6Mpsl6eaxtI6+;e}uV<$pVI<0D$Q<-)>YZGGn=PDt(xqiuzhu-siJ{L!@MY;edCZl zmXL2mrPi~m3`bMAcd?b1yShw0F0p9g#Wmn2;(R>0;X>&qqqgp!s-+%>R74!9#YfXk zWKBm{)Q+Krj?er|S|0ACFQj`=^@Bl$UNHkj+f^+gxXlJ{3q--!0@>e+S4;OS<1Bon z6e791%B_u_o5q~J4LEOF@ zQcpM8$Qh9l;%KspP{ePj?0#1JymtPt>wsVGlfL7apKo~Wz;b!*Y`Z3ANgFjvYvZr& zDdloF>1lhUND@|NK}_0OH5_u7Nk{^&!4F&kOv=@3<3Qsp=W(9pi(xd(HrH*ZMj$AW zhW_hHv#HM9VY%nWYI2atF9p7nZo5xjHmDUAJaLktKO`L^K08$=isC>rD#!QJV3Pdk zjpv(jpx)VyPo=AGw~Nxdn(uAe`LoUW1;AhY9i(d}!h8{v8cp>$_^t&Pa}?%peDTy- zb>~@?%pCC;-Ts%`m6^c^-4tk5Mh{6o{swH7WYmgCj37&L`7iE+-@DD8{DPGbGL9(e zp#SgxIlc6j@Lig#Pym#C*4E}hf=~uf{LR{eZpBR@OUdN{1uQ;2jEE(IaXAdpb3AWk zX*I8c)?ATow{-7Fh;XJ^ENlI-F+ec=`b(cYUAXof$4YrTsZ`Mulg#8eR%{yCWO$|; z5RzbiinP!OLOzF89xHgf?JD`HkqMc{r50d|+c*c;Jv?m&WcMP{0#$Z7b7vlByo_Mw z*eF*_x7r-o`9vm7qUuPvlL&wveu$m-A#!SU_gl$QwtlJ?_3(mSyHSyuEhzTi>PfeJ zNkV`ih=k5jDnG_)i494XwBFR?Gq6O^JGD7ZXLo(Ua?LtCctbReRR|)T6 z6Q}JScyQN>vdGbN-?cDd;K!cK4GkJk9XdDuY7PGEpFZyhv{fT8l7{P<;XR}+(_*yd z4r$fXPKzz)5(X8m?fR*{0M{di8%PL9l#>Ef*En=)oC607{Peue`m>Ge6d?D#b1E}y zye5Vl4iO50a}y?(UyXEqw4NYS!&K{o-Po#BgF*hyVmIv*4`iH=OlUW~6h789h76N{ zfgi%6GaFafY-iMbS9f$4Jne*fiekCbwkF`3rBJNwMHppI;L92c;FY&x&5C#RN2%WI z6Q?pSNW9CaPYWiXy1$RpT5Z$P>sEtu%3>$dF2pZ*VK%{`PSR0a?6E6>@IS| zME>XdEMVU$uhr9r#~&JKaB&$#G*#8BSlAk%tGTifR_%kb7L+fSX*IzssJ>?%1(=R{ zm-=dBf3I6YS_8^MdC<8DvtVikXKbdWpVT-Ow54oT&(444dI@}Ou^$yZuXbmF*FWE} z>EOW}@aH9K@Foj(KaFe?SG+@9B3^wFe1ixOjPsJE2JIcRQczhF!+PAZddQ)*07SZ% z%KYq~xgQd=Qe+*54OQT}bx|Mp7INz?ROjE~Cmn`CrbyZEiedCm_4-xWgz^E?px?*OX{Y8D z;Y^#plt9mUh-TUGF#0=E^yPtrfGiuqUG+|)BD3ar!ni8i#(e;Z-F5!ugXKf8`_wPP zbO9OrUsw#xgX)0W>^k>2A`5wtzOfp7qv468rY#~$_t)<_x*oq>=#(M+>3v@+$bI~0 zt&_FX+G~0H2B0U!FDeSqN;@hjISqi98O>I2iEH%T@*$R`YSaLamV<%ZlZij$>T?Bq zJoo(!do1gjI&Olh1=anX43{mEqfdHvP+w#kRZ01)`}W^J&LGTr64TSc%m z@{r;1yVtPNf6OB8j7(a29KUZLGZHKo@%f_$ev*na3p(4&2dGC--_i!9efLvYljEUV z(q`oxZ3A7NBasjixSZfeEx-=phWV#OEx!|Z-ed%AL`!@F;*n`{5*!b6xqC8InQ)^l zfv-7tzbk~=oai?l*k{<2dW}lhY^!v8v$zP-yH{kw2}uZ4I4r$xgrcQ-AAr7^YZ2K} z63Ffs%Nm3-%%N{Jk_$2mSF_YA8ptLj@0xt1Akv4-4;vSw{b)LDsk5=()$J=rsCjBD zJxG7)l`gY&LqA0K_Q2I6C%R+z8Zw!I`hwmRwa)l2O`$dM$h{)Ksg)YK``_`;l{65{ zE=J@kX99;{z%kwhf32C|O?g zfGNj;@lZsl5AZZfz`dRg8ykp4Ask)k6(XKxH8hng8fjs9dxzf3r87dBX;m_=!4(Sx zPA=P2`J7cu6OUh2#kAD0sA{I>JCs!@Mr7eL#cWdD?bMBhe>i^CYEDj&?J(c}(uz^X zQ|eda=InddAxN+2S@xiWLyzFm%}3@a zc4@qR_t|}yhf_+UXC?ME`UK&aAfc@@u1lV1$F94v3ks`#3v6al{qpWjGH8Y3@tVYI z|AoqrkBn3p#?h;e@40GdhOa#>4#=!~(yJ`kG0wKEP{DGFLhwUSGaAcyL?&fnRm#^U zzWM6Jzs-}ZEGa-pUvW0o0puc1k1XQb1S3)4uwZwxK>~TQw|(Zbv-8ORMvyGj|5GRM zhzG`dvW}Lhq-5aBU7ZNTf3pk<(Vn(|>(M{NNwiyoYclXRHKGhol_ z!olYZ6Js>;+yH5!baHqUcuE*9EL77B76U3Rc5XlqIuV)}=WLfsvL#mw3H(Qzk@~7B zkn|7zjg(c9wN4J^rY&qF556$qyYH3>t(ThZc{4=>cAswsbST{hhLV>UMmxz2vOpz%(&QlG_kt8X3xQ6-&;HTXK z%=B{ z3Ge1^9L1owxQYIb=H06@Dzx%(F`EQ1WisByR?yl!2Lt@o-qDsMFl95J(()3knErex zF7vd(AzX4P1d<~ENnB{D!UN|MCh_yUm7&JQ?#W*oH4l<(#E`1PMOnowGwTj;Ps|IvEhCYKnV+`{{e8qFdBB6*du#Casb}UvriWy{hUp#MN1> zbbCigiJPf*;NtdEEq=qiek(AyuZ4tu@knXXDbofy7oV3s6~CEL`$lk1$UF2fqFjbS zpmId{i5;!Z@IqP(%(#Nm`>n0Njl*AQH~o8NSYf9jhsba|vk21R^GMQ{Feg>4WF$T! z1GEwVc)N+Ol4(1s@!te<1$-Aod`Q!!q6i=e9DUK1J$_K*^n;IRafWU?xW%ZNTuY$f z1;y^eZNyHQz!BXF2 z=my@=92AQ#`M%%=>hhuz^NGTwrm}^rbJPaOq-(ER7PExt#&+@=hs5QQ)UEYvh=rG3}jv zgGD!=BBik%jGwtCLJ#LVT3@*zuVdEq!-oZJ4Hv&4-j&=RvESV&eP#Qj%4E;O&GqL+{^}k0C?IJ# zQH`|W{3}f^3)v%p5S)ZHr~)3Gkqx>HNFjQ#f{|?Q?k4Ode}jHb9dAqZ(yu2%urDrXok=Su&Le8Y5D-EzY;w<_kU zPBK}FOm*kWNu>Tuaxu?5mO(=cQz6#78(Gl;{G5`W{|cC$*n8O5oebLR}~i4Ahr9DpP4Z^ zALwcMcHC*!Q2U6244oO7%*k@%Oqo780n1P#=t{~}FF^@ z$Rqb`x}tRxMzN506~ARyK(^%@tU$_WlaPt!p0cSDnhvk=U5-;a!<^>?zgM zVqm7`EgJUxx>plbxT~|ProGM30_KFU5g+3V(_-yrUb(h4Ona;Q!Iy?j298H=zOD!1 zYK3g@_x85?7Lr48Mz?Aa;V@`-a75i*TM1Ori6=T@Q7+3&l49LoCFms;L6HNgZXnzjAUtdu$MFxS`C_>gz_MDQ|=3&9@BsfseKnyZFPKiNEORtuIJ*(QV~C=Rej z181MM4o^sJR;y`^{;e=Lx+zn({@Sr5-$2RGV?G~*37(xMeFD6m?3qQ?{AT6sz(VGmv7~XYq&`wb}YpI>F{cND;bxu1TljEdV<20%{>*DLNS) zm^Z1&1$=foFiEi|0>+>6tP z5vmx3LW`Q=4%!zZ@0lg`C^l9gI+)qz)ZFQ{kqDV8-FR!YW|~-;(cQ{rp>@EY9}Rww z{DVCe#?(<(E%rNfoDVXD=8&DsA)=R2n;O6T|AzuAu8B7W@+I(ku7-C(XA_SXjs|K& zSHCe3EPFl~c@VXv>Hz;ZYT`gCQ%ulVq zlc=jw&{oNKxx(lK?7{i0Gp@{8q|N9F^P5MRkfvMfyiJa8iZ|Ghv+eotghgOCMX;4x zP<}rFtybuhnm@#HThGDUw>jy=5I5|0@hC{{cc1hJ-K^=(d%w04v5~dqt zS4KMmCD|D;^0jg!-GZ5Z`uw&u<)jdro*k8xU^J?t5TFa^D!Q+%^_Pe1SEtzT#4t6! zZ>4viRJjKKa6lyq6=eq@4hH8QVD=~8fUt;!;dAQ_%VV|j6=Z^+w0hckO9#u`Pn@5( zIr^#4MSQKJlz9WFV{PQD2BS#jxa6JGa3viq^?x)iL+tg{IrBCu#!}bx#F2 z5%DFF-q<_}6oqDqap^bxdL|_3kYT~#wsg>CS8sdlC1qyym~`3<{ti~+yM6rJY&ZQ6 zC?8;*%(W-fz+Iu}I)P5x$`S7d9qbU5s*H0SSsa=AE^~oRsz`p1m`^#5u#o!M35oc9 z(3J`GaT$gd?zLTj$NU=XLP*{ud4WRC_p-UUFGmN!?#>E!>!0X_ z{1-p(JTX|Nk>Dr6T=D2N7kvjR4CRS#^ctSWkpryeO+m$Irj01b63Fc!Jw9{Hs7qTb z*DafSj9379e)onYNlhoR*GtNgFwQw!V@p33{)MX>^d?B#9A~MEvgNlIg034X5O_T@5iQpXkG*8ncL6$*8@p}bWq@CKIq?X(een~K zPMJnqV7No%oW051fYBQ^$}{GqgsgI^&B&*RjfVn+tTVSQ!Ay|~S^*goq)pBoL1i$SJBQ#YA~uL9q0@$>{~Y1! z_H3~0g8hs9K}Y_%g_v6M8~B?hyWl`rypYkPs5Q;hGa|{A7B|-C-@x<>bQ!Of)OEqU zL|mJ5-ik1*bwArNhl{nwKds#lwdT^bNk?c72(^!Ywzls!;fPyC#KHo#!LW+z?z5Uh zX`%>G?TZDsz}J}q(Ek%!J&PHBf+ljCwcwX#SetP$zq@r0=_5rgH#=pt`^$oCMEqvTPQr703n(x!Dmj9-)4kn*L? z6;BGilY2#l1hbjh$nnmnSZgA#@H;I69!{S$Yl z=6tG24Bhf*(6frq#k_i5l0~nkE8w57zln>*_m7>m%r{DC}(>>=MZ^ zx0m9`PHt5^cX$vPKM8XtgZ4r>t@{`Sy|8q|QSvZ(>{Zl~1I42C0>l5VH&T&>86PL7 zhh;1xn~3x~on)}0k~-(u(PXHs3Rc3dc$(I~{fHz#RNOZJ~C$R<0>t#+p@GMf&mem9< zgJf)WhgS;zNSo!;@aS~)voJOJ>SobQ<{)q+@58Vu7lW#`IG9FuE@idc4cEqs{?EB? zY;1^xk;EKo`rwLCU-aR^Fn+4^Yd&uQ56jez2r?@;v(fNv1i0TjKKgWGwL>|FWhX%X zUF^@ZmQT%VkY|{3nmk6_Z9wn>*12WzAps32&eI22kzYj=9wU9!@_sGcFRgrtDEL$O zQD2-hes3yXsr!s~;Nt92Pv72o0-|4b?`{{#jtzED-u&{Z#%!Zr3U@(Y>`&MS*5ECg=EUiys(8A5pH!}k4Lz_>+|lv^_{!JBD-*jcP)}&brmmun}RP&qG|P!zfM5j z-<5<|%c$AwkvV$~K~A|qFjs+X+-I?#;u=GB4r$5?lekN@nqx&Hjfx_Kg9Q;S6VtNh z18B|LVbdxA;v6N+L&O(B|5^C5`^BuKVf^CS zvv*5I8`psc5oF$ySnx#d6*H%NWD8$eqY~n#A^S|CL6u6_ZvifWU+MU?Vinh-R%pn> ztj)lYeIhs0{+o#$dh$ZMN0$|o>fX(9KUNyaq3>3e}`3IV@l$?&RGx?t_-HrdV zEeRMoT63|q^gq5^<%@89F%&NWuY~?T-oE>v>i_*8DN1F9%9gT@Em_eZM1*7Hz4(56t#sH`Xyzdx&DTr^D&W>plb474U{e5OWZu z*dm*k>@}YoSaI`i-WMSzrgO|u;7V}pp(G7&Y=jgHp#Yb9i~?{15K}m1O5R7R7$Hq~ zc4%n@E|-`3l_oDBGauQ{M~w{lrvU)ux$~Tj`o&lTb7fZg-c(UaR>09a2>Hz2Or|D! zBU+FxN36e}=TK2RHuJVDLXiFLRC0>n!%UD#$TyA0aXc$GY$FxFhTB+VQ8V}KmC-w? zOOamnYbfNBYHMyX6`86O7>RhNXd-ISL8URZS9U*KjnU(D z0zwLZdF{t_Ij8#^J>gG@RZtj0ZsAdyoq;12jhHf2KpbLN_x66pI1jBVHl?f+*Z8BK6G+l}+&xeA7{(Ds?^QHhaT+S1CU1RD zxXPN-G>p0PfbBmO_@S3i^&r7^sol6Xy(^-_?Qpa>w$eF8Gm=W;nye<%2UB-cqb=Lc zOD%nilIDmKD*-iM`_6*|CaWhjDKSg(hZE7vDV5aB<>g z8iYe8IBz_EEj&^ac+J8kE>X$Ag!Ndv!mc2f`Fr~#`X3*i zVz|1PU9O9u*Zdx*pY9eJTwPn{)V4;My7N{*ZhrgEYa+2s7413@Fsq{Ok;!P$_v;bo zsWU+5vbeL?B$wrXQ#0-78&O>|L@mq2+^oB-$@I!JG6jRkP59#m#1KDvEuIR{ct#yl zGe~8#Nnho+VHIGezG#}}4!*HWToinsWHOp6HkMSj`Dj0xHwxi?sX5%DsHyP}lf+~n zbu@CW?TyFTj~&}T9`MxupTf4c42cB0PiqVdsGLopp z^2Gt6t8ygA+oE1)vp3fVq9cs&$gyxCY%IcG&^)W<%L_~xsv5p1kZfZXK41n413)1E zY_jwcFux_9u(wxlYT$m|A%&Ax!nMcLiTO)#vVEW!(yY8L?>(igifaIqpV*M7OSY&D$(Y)HayFB=wx#eoe)BoiB zEtBRWN$T^aA!m=;%Wl(VwthvN-rebRARSQFW$yns5}*x(V5+fZaWkaV|M48r+;~!Y z{%68a!azOfzfTmH|9`y3N0&AoDXsrot1a$iO8gtL_Mb){N*R3jcPwOMrU9Y-kE`Px z06-x8+9{ol$!fQ>eEqDOVA#6+EjKs0>OpV9x;JTWJ1yDb?@Gc0_^Cl}6^fOf< zz(p`Of1pvdBdb$roJt_Ey}fkm<6rODUK9%;cDR&Etr}!de##LuV9vDufy4cNphlWn z+PL?y6#y3kvvXZOnfm_X8XDF=y_SLZW@!XE^V0xy(!)O|-HpI!cL8vk`a?11h{wa6fHcYu3KwCS;~k7i&SjWQ@K6f)Dp`33;eolqU} z;AB$T*a)VnpS31X=mT0c|3BTd#6vnp&_m+0*VnJEfVL;~w$l<5+4-@lO%j1WnI^HtBn>Fx%uE**=?WQ@1wt`88_m>g?QDE z8@w!G)z#u|6R*R+{}VZ`O8{fJm`znsMFMBK%v7x#{Zlk-SrGJuHrhf`IRRT-V*1vs zHC(Z0zo5%x$)Y5yzE+<2fJ)78N9D#p6Kd;lQp8l}6L|FJHm~Gf@-4sPz^ZnE%lXtT zd+XC^e1BRsyA6WKs|KH#3flYzNENET4Z=|MP9-RwcI9(dO!2^^va)uKnzL1d@9n4c zF{f_5!mHsr`uFV7*Z&izLxB?>2ft{~xN;Yqwhx|%vP7Cbgh*_@9X07~8}xVd>!N)* z8TxIlY&DKi;3ueRlEU@o`6GtxJ*zsNqF(*1+qmlFzu9Z1Yz6=%5KUzf#GFIl)cCsC zLN1Mg_}0@tHc>xI?G`FBm%LQ&=m6h&kJVQOHD4bNQPI`ShfL59&_jy4X`8df>)uxX z)7SDlC){t&R%V=vK&|ea=5U~uD(Q|t*Gbl{@zAR%Bc>?XL=1q*ahl-^T=mXfpq7Bs z{|Nbxw{$;z&F~|?{CpH2`Ks#-)gbioXoY9$Ke11~bk@dQ zpyjH0e7freNV!(oam!~-heP%HGL;`B4#^uV-!5X#@>4N?3LsF2fc1nF!}bjHd$V;1 zBya7Y1X-z3ubdtTC;14z7~~JkY8rRE^t-f-s&j9$Ywa&a|6aHmQ0Qc5DaxX+>jFyr z*JbN|3Ct!7ff?A}HD6zrX8yn&nvSt%*i0a*53?kTl)zl5(@d*joH|bI@7K>nX+RDA z^&|;u4})Bw#VycBqQU)hd&1yo%S~JD&TO3p`;x?!&(qo8as$2y*(Q>NgRZvl-t8t( z2Z!|+nv^=k0qENk4YJgtlBAdTt|wE&dCj++ewv5=2RExjE>&&@Q%(4AD)h%^{%iG2 zo&F--~3LgFO zK;PuLwK=+8*S5TL{7mn!i2@s}}p82GO!KGX$ec1?r10)|`c`!+0h?bgr$>`btMmLK^3RR4aVGK` zY_U5FJwvZ&({%ku?mUSl918y4Md)~>eaNw37))rFT*^)ZYWP#OS2P5==yw-Jr(bUO z$A+U8_RK447V4z%T)o(mf$iFs{nI~IveTMw-m+W%HHsr(8DaevZ^?HP9b40zZQW+Z zgWKc;EdSX!)pUC5)e@j!<%X0b?E6jX_%M!fo~1_8yP^- zR0ABc6Fgi5hG^$PKuk__o{Nv5+Z6P5dST*1peD@x43h^_zRHI?f{u*mwtxR9VUP)e zWNyw2nNg|rlZ*?%Ah)Nh=cc&6oI^BO^U_R-=QILn^%M6ceMRUV)in^)#ln?a9Oeo( z{c;RuT{mA9^+!(7(em6I4pHaVWk#FcV|HA<_VAUL_&S4a^Z`@)!FFA0w_mD;YHOwU zg;mc&6rE>w2{!IauBwD?El&ON1B+|v+#Ek%S_R>c@ZFt78t626gcb6v?~7wXr5j1b zc&Y@`Y*yZG@y6OA$)?xVRo0$4LCkuE6p^I%-vQ&f-dm~%Iee+3t~05k<{R0;!KC1O zHJf^;An)ky5OWgfg2sLUWr(F~H-ztAiX%cnoP@ob=lxC`Ibo_=g9drRvQ*$Q7Nc|q zh{RDkx+z=4;w3SuxfDv}&$2r7x~n&IfI0RW&ntvusEdaGT%aze?43Ic4n?R1%?ZP| z8+1*bjv>L1{U3N?MT7pbieFDu=mFKWz)`p9t91hcw(?a~sm02$!a0J}t4|>sjPCK* z7`mRI)e+ZPLSAWBeQ7*Jy(G~qZ(V6GKIzW4lRS?w)$mEN-?8#;+TnY$pwFo%+U>uT zroi;erO)GngiLLT7AOX5+ELq--bM+3Fq+cu=}g+II!b!Kzwv?H#RW2LJ(1udX*p29 zx-ZO#0FjbzTO&jRg4dV+XNd~i(o;vIu7N2(GM^zxnd&2cPzyD+vaD4drFqyXh z?hl9S_L-uuqrTY)NH8bV)T#z;m2GnsW!GFl)2q*VSgzhTEt6x)?n|Pi;Om&)n%)d> z;!&6Md^0VBIWPm&B)op{{*4!xYS+kTu{5ac^fmQT4SBsq&x{I&G_dt+yL7C1!}^=m zO~q2i?bRuz0n*HbN7cjA+ zF>!D?&J69tS5ZYBdUywJBp3G2)Xp)PX;DXw-}%nxh-ETn_K}_! z?*k^=C3_Nm$L#udQx_pNzrL;O!IzLm;27`DuLB*$l1A#cnU5+znpp78aU?B*q{@x6 zykF_StnP`FBK8$39s40ynZAdwITg+QCm8cB7C<_KyCwP|b7;-|RVf(9Ys99;f`A+f z1jKHGT1xGPnU4G3!jB#AS~(LwMRb4^cvHV?yiJ>gvOvL0vbM;&I=19J{?3j3I%IZ? zOU{u*Ftdw+f1D)J>diIx^9)tuW(o2{@}Gl#TZ)yjR!oQs!XC@QTBiNNGp0r|KGKVm zN}J$*c>c^L%tAFGY}|Xy<-e`(nSV_CiXF6}`^Bqv0J+cXS0h>8;1hd_!9Laphm^gy z%L3dWV8L<6{m4Egi$T9i;?pn(aTDqiK^0X4D5F(?+EcTlj7AH_&7TAC%&||<@eSlu zl~#8}2BD)ewUERoZjhi;R=9Qe%ePvHd#c(!ZItESKenV>U$k6*h`-uWz%ouF8fu%^SkrN&7!GbyO4GGiG@w^E{M+u1*%q0AiJgMDXVMa<`ckE?swyRK=6 zyr#>Hl~F+crxgp*D5}mxFYyQ?b;&o|+AMkM;LcV=?vQw*sR(mzIL`35fP&|%&-rb+ z;q;f^HCIyVmt^+=;QTDTvzMPI=8Z|M&oechW4?>bqoxU{b^%ds+zk(=1o~0K7v`H^ zD;TAfMAW4ptlAc9yx6O&4=K)=-vMd#R3qba9zP*X6x`r?Leaf-Q7?o@sP*A2J6dGr!yws(n+*CY(ENO z7Cyj+@@;?VF;!xYpx3c@eJugvf>HIcDe11!bIYx$l*zjB!q_vFWL{}o*L82jsBEJlqWNOBa(DQsQ%jrp|l8EDWrK(Qw>WDa5tiEHGXuE<>wXt z_k0@u0*}85#H*euuvHazV(wj7T=^~V9Q6ljn^Hk<^Tt!!x{9`?7tUVe{B0Tyv(}mC z^7P4+d;Cvr-zIBOT{CBHuDN3OXpQAk_{DY*(Czdb-(~wrBf-~3EV`UgVSpg>0eN4s zFJ=3VscANlAGN^KjU5RLe*O^3mA>-2e==A1zrmPMd?T(d|@v5R24 zS$F-K6l%GI5x=t+8a#mEdp|JL(NX*8iEQcUSl#stggJ*tuRzwgq+|C&hoB@KS>&u) z(dmC>F(Ccy4$yc?fNf=^cezdj?vPok;n~>mY}CXW+5HaGdiiyfi_EB{g@KF98U0gm zJ}=ZCmUmYG$C#lp^KXNI#3=_WgUuZq88UL)3Fub*W3Mh{khR~({NJ$>fE2_R(7tLP z+v%uNc6I$JC z`an`%-I@9m6{7u{*ff=QPshC0eje4)v%+XY~7dN;! z+1;zUPdgON1whSipdUlG5NTd#;rM2-;yEaMi^Nzm3^V%0KtWeT9 zsKz$|;R3&+CP}p?=sf=!^zEl(?lhNGF0|g9gDlxrLlER-oe>a($ zarx3|Q>V(+YmFDLR`-p9Dy~bYYgSKh`&(WfBfi3{%F&D$msWZ$N)xkrHkxKE8OCEe z%1H1-4XLi%#edEG$)af=Qd>lp8frbjEIfPjg)_3f1^;xyv~-XSE-c3ooAS=#h*PA) z?oz7iWhM-w;;cPKbEU`Yd9(D5N>fr60fQ=0@~JD4`@6e}f0<&_ZfhQ13W|ay9bX9p zo4B-AFiJet@fQDxp1XxGt4@us6Z4x$X8bT#!ZgikDvFqDSjR4+Cg2x;qy_}Ky-%%q z|D0^U++=bmi5zjPsqUdLV;p)ytsa0|yVrMC;=%AEHQ%yV#AaPHmAc1&0xW5K1R-0u z&h;23)SB)Dw5gn9$Y1;H`mD(=oAKF0Gb_h-ca3IbMXtM;`y&v( zwNX1tcdWt`#@dEz72L|LPBwOK;Up!)B~_7-JD_xrc55~bOl|o#BCv)j^$bVKqV-!O z12#1oYH_)2asSq<#S6BB8UjI{laD@lNJADU|GC6)eE_lWJB%0BLSEnd4n6pIrs{59F#GnL{0Q5o{8}O|x)AIr@@1mk$a>2fFDtS&^{Jcl zC3<@b+$FPClFT(tSnyl3t-BOLDX)G_Sh9x)s_RDkWG=ev^RAd1W^z;$>&Mv}DbOgi zn&qO8s(%cq>FnFmWS({HdTf|>pyT@c1IR{g3#^&UYkwQa^KkM0rNy4EzbaeS?G0b1 z)R}>T{=&D0OqFJQ1m=x}(UP-87sOh>cm-@<^biqnsp2}qz`%zIr&O%_9=Vw{A6pEIIdno`hE49)LOFtwa<%D=6n9E zVPR_eKwqxuV~0N;5j2r?&26xbsLBqWX9Emv9hgEBqNYZ6=I zmfk(uJu1`7HO>5Ec4Fur3I=!dZAR}^v^udrJ~DtsTYRx+PAc|rWm_MTzv<3)1u5N8 zxqhy=LE_8jNiXiXvZLHD81Vko_}4{364-IA)d7%XQPlo1>k95z|x?J+TSx*{64s@J#vh6}iN>n_!rT+9+rjq@Pm0C${ z#Vh=*;b&yuw2O#^^IH9Djq;kL%+bk?j=cOUNHEHL=Nb7RuvK!Du6`Xt9{4rok#_4q z36FBMRjNs<+(>G0i`@93Vgvme?tyE{f@S@)j1FhG<34*CU=}wjFLG6Ne+)5W{We1l z#XJCK)ZaJ1eY|41#aZgfo{;gps!GYbMNvXfrv;4;BG;){dRI@cC6sp%5B;06&;)$N z(XkvfR0i7!_xY)pqFEmlSYN88`Vij`ST3My*To!kgY4_GP<+7C&oKP+t!u8{RJl9G z^TZDW`8!0)-TX!2(^9(@G8|XzHQkz^9$Rx6_^JcIo@Mg7v6`c~N2j9;f+UoSD?Noe zO6{r}yl+Xu20iMJUK*&w6*C=m?VwIhlQOs}apWzL_;cAlx4&0s#wU1=_hpN7P%{d8 zr*Cd}EkWltqITCKamVo2N@fk<<%OY#c#1MmFtQB2djhQEN_VEz&r(g72a$OOTB*7K{?e8LMknS~gHwK?=n+!Al9C&3#Xc+03;@p$VJ; zbC4tV4NKfRf9|!XGrzXZ&TyYN381LpaOO?VHQ#m3^z9Di<(HpZy~gf2gH@zwGiH5C z<`>l&iZ&2S0VOL6&jUm+cb<-;|u-Mr{lT2%*!&u)LIyc@ww zuJ6jt5()*bfQGL7=|`UmEbcnJp2A>rtViZ=LR{3RBKTG@vg|0XZ&(96V{0fF%t00S zJ7%!BM$+pkk>yU9Sn%y&o%QxLwj9d^z2V;~HNtN&diH%uSk&jGZRhfJrOcAi9!{Zq z^%lxa*B^1DbFSRhnV3p`eP}=Fi|+E~(|~6{C=owx*8-@pp*ZZX+uT!QA;N`{M=!aB z4yI+b5qlpkITp!Poi+2(K?FFqD%bJ2=B|1Wu6hw5=w1asbv+f|=1e_&=;xJWI$f$J z%z9V(azX-4w}xQ~Y}M5q<9w9+$4)vyr` zouSi#jgJvBBM;}-8hGc(ETLpCK3|NV-;-VPs=}|aOOs6q3F>s5?B|Wy2{LM9_8KAD zFDtIAMouy7=i%td=?w7Sl2l%z042(+=Ql%eqh}Q#eu=?06pvt(JFLhh0~czVC!r9Y zjIpO}$|jXW9hHsoXN7C|p2^CA({QAZP=!Orw)`vp$8Ch(Dode1+U3IEA6mpz>Yzp@ z^u0WXH{SgsD-XA96pwBEcCJB;IsMp#Ib8^QEL3?!alM>rq=?-J$ucs`iy?y=LqLao z#rY)ay13t#LucU8<-+?L!6!~s1i;ou!X%gw68-_6)K`?R56vN~O9osbV8~FU*|N;< z7b7%Dt9iId5t5$X1vQ?I5`syZ-AdQo&346tnMQldi4q(sYHZ{|NF;dW9{5cXvcVsO6H+&|$WDe3j zg3O+BE^ZNzW9u#w|Ll1$5)vfFP$iG?l7PhNM$&FF&vAE-i_DgTeRMFTX!bEB+M#>3 ze#nbo!%e%Cd2;C`t5ZMrFOj|dr_5JIr@OW2Bu%{zO;xZf9GEiyK~?>=?X~;hOlIuR ziiPVc*{_=XQ1%*u7&H}mXh{i=*QDIuB=U+mm?uAL}Ey zzb%n6h;{v#@+o89oy1d*AxjqONlU%hMa8XSV#7j~%f|gu#K@;{f@|kZhF9PKmt94B zUvxAQ2HJHm4WiW6M_0LsVx1;;D(H!$EDEb-iwS~lY?C(g{OI?i+wC_~wz!w}>jM`Z7CAQHn*oi9OSUu7Nx!z= z+jmshUp+CH=6Xd`uKTg?cNu-g>cKmS>_&sAm&~J&-#PJ*Oc5<<`5vRAx`X#_*T>QW)6nv<;x4m-f zq`)?~Q)f&spkUn;czb;2{ISEc{lMMNj{+O@BssevN9)ZEKb6mUJ@gJSn!&IW=5NCP6ey|0?pq0K2720X8Q2nBcMfCI9-7{YS%yUEohG8?#l7CKU`Mp zxx4+NIM9HWV^`cPl>BV)TJR%!#`a?9oikZFx9l*JQz`e=3DRnUH!|B8qoE1sekq2^)<&}+#n%!bd--R6 zV5UQ=S7qJsVB&s$z($k~CrNUpZdrqD z`?mm|(x+dh?qisoPPY80WRNrX<6DLHY}FxfuM}Z-;tILT&MDl zUUQXBh|7hwIABZfY1Tzth5ahsSsRpa0xoyAVPXU3n5r_-cx%C^(7Lb5ZTfbp49=b4 zGh^9a->altspPA4tTrmif)OFVFT9rEYA9b&0pR zblVKjx=clBnq+2!cFCuc?%cG23T4JM0ng((f--Sw%Dn4?7U0sVOU(xm&W!%9GWuvW ztH3^uZw&b4bp?YJ5RYa(s~CHX1hY)xzS6q#W3l`lE8!K>Q7kzLp0HH6>9yrK2H#4* ziqZ?zGb5X;HU_acZ;NBZFn@{#d0cd=fo{kW2%SNmsfrK#MIEXkoI9iZZ9m|K=ehQ? zv#PNPC>4QV)MjUrQkLZb(lZ#M>Sljwcxazq1kO0NE3PDo_KYH-CSpvEo=rl*CAo@v zK4FqGA@iZu`KDai-$k-Uv@^$&HP;S&iXaF=JN6|6m+u3@Ux`WD7dX-@Ogt4>k0?_) zR&%X9m|Py#00-3dmgK5|>aDhT&QhzehW%9gnBE4`2W~ZLiC}K7PiL-dqcm-xl^N^5 z2UwNXQqEfhsBGR}BF?KRKqws-SzE_OXSu_tYoLc8+Uuj00~;U^KMMtI@}C-}cilN} z1T)8wnksl)SaJ!ldJH;8g=eUfgz+7IQJB9W*)-PJv9VXBeKG_V)_}>r0>fg z9oH79x}5=Z(_IB>il^oVL%_ezy?2qhH>@d%iDnJbK@>r9)_&A3pMocF*PAwW`zUjh zy`5IRBRZbN>Di=xSe`IZ9(|xYMmQk)tQ}8`zRQo;81ZQ0Eo?Z2IlMmK8x1Gl{`<6~ z_?8Hk<{8SCeU$(G^Nx4ZlcXXEQ7f+^LKYP&11KtqSmV_N#8$ias;{1HT~&p2f6brk z0Yi8DlwB(;;+e2cn8}DPy8ve}uQQ=NAbw$tgD9o}opP|uJc*Xr!vIy)sSkN#4tHtE ze>*NY(-M=hSteUTa7|Ke70!zQgC`~k=5^+K?z*WZ5Jbh=Mz*)!SfhK_93k18Ybafo z!8Ri%`{K#TK3NiQ6zp?+BFa;_-`{h;I_4rv($MjPY%?Kn@-z;qi3?afnn1->$+-s| zs6=ZI-Jeuktc*gJl-Qm8oCy&Lq@!eWF0nzfs~_OJG&L^iT259B6AKov3{^0b3L(;v z_f?+G!_i$NXQ#Sw0{L00=ig+Q9t}(L+#Q8wxVNV9k)UnC^T9v+_JhPZXeDH5Fi~@A z3@O2~!d`7Yp{0_K%*#RM0kHsQSI*L3K#4jx5W9N*E<#Uk7`PA9_!#Ehb~C?-u6Nfp z%xZMn&kHd($C<2`u8E1nROUh^d9T1M(m@lMDMa}4{>zh4Pw2|u0sOfusZ_t}%~mXW zXRs<)RaRJb2?Pv5nO9h=wNn=APlocGyIGNeBb$P+hC5Bj^ZQ(!IP>Sg6jGSW5x=$h zs}0}!j-kIl?bbX$Fe*b7?YCq_`~1}};r9ew>3ZZS)fucS+|}lF?tdO}MA%nDhNOBZ z0Yf|5Mly(%;6_3haqb2_t*uUTJ~M20>i3mYZo)u@OCT8*R82uQ?JI+&0VcO^0nna4 zE+s3?>%n$(n|w+k(zs+8#JaZ0yWYimY9pb`*=e3o6%Zgy%94+9*NuZ^c?FO-VHV+6 z12T)vzE^V%a&;(^`R;l(!b$ky_UI)kEND0EX^eZl@Ag+SOG^kcDamiT zT$^7X`7%eMYYj-PwLcS}uD9W8k6A9-iXMMf_bbs>$Tc8>Ffvfejo9ym+?+$XFMR@Z zZ*(9gOUS;7K>kz&o5U~eF<~K-Z<7<+e7tXn*u_;KnlVX|X+ei$L6E?;vA|-=Ar5$W zliTr*+ZsueH{dx9sV82DF0g@qHtT39OI}QB`%2gL%2=A((Y%^`OMO`x3*$ywfBz$w zFx>8Y+>4_>`o|TN{Gh#jJTML}Z75$qEzLVi2|(X{pt2I)MXBi;D2mT8EB7%k3%|Ir zcD|D|LHx4j=^v!hBp#qGZh2twS(o)#k`$H2@p?RTX!JH7g*$kwP~`X`PUeO-nqDR7 zsGhRlbi9vOZk$(6Jt5SsaUb1;ro86eeT^3ioD)jT+ON%W2?UnZKtVL^BJjYso6`2l z8(l+=tzo=@;|B}+N6$&hO(f-p_C-2g|L+Ii84n+mWYtKr{rOpeSAi96Z$nwfj>*SI z)-FjKhcg?Hz)iZK@5{R+wPR900RDBm8AQ4jG?cCc{b~}h-@Ks^a)G=)jR*r=&9hi4 zE56@Tpg5{b=xrfp$$&uxh|~PhZteRXR5==0j`cp8J z1C3eg%9w6_mi9G+U(Ig%z?X(9Eb9pwfa(sY2 zPBv!y5mvZS=`z;WOThx~^t&D5-Q;oP0NmKYpyXj(Zdxbl_tH>)e+PmiEjKqemejQM z-c3$z$42ajC0}bS!*)dV_c<^A8 z@%Wor59&MsO#C_3cKnO?=o96g_3k@7x^V@aiaT1vRUPjCS{^CvFFjfY9z4)SAra=E z@xL|I0`eF1fxG^$kg4dhAy#F}d8M$$EqA93^SX&fpO;*yi|&QF+?qJA*a=0HDg=sf zddGB_jQ5l6SA=*4l)CKK{qA*%Jz1MRt6$KLW03r%Yztm?1KNqdTs~0(H;Lx(dF@#; zDGhhvKsu4g;$n#U+H;pQ&w;QmJxg0X1xd6UnujhXkO#bCRxXl@M*<>s&T-j0o_R0$e9P}<$!M@V<7Tudu$2G-BU=D_3G2mBEdkJS>qc|oLk zgw}}He7DiuH}Q%5GNWGJfad#JdEPRM2E7KW_qB^r1&hl&c@xQ>i%5@+V&z$Sxb z;kEwf6UhF<*q=|po-4zck;%l4eOHrd#lVA_%ackjqagku=bEcM^ER~tz0=t^wp`~r zr=c6G6O}rBRekA-o)74yVqS~K?C$y)K<%j=?)sZ7$%RUK=8QONMP*C!uV*|CfF}#cNwKO)0wKLAS@Y&U9)O(rmHM-8yEP0{?G?NQ? zbdTAlkt@y}X2q_-E(L?Z4EXV11rfY$r6GH_D?v2~S%j4SpBxJkd7&phTe-YIRLt(c zoRpiAr<)?sNu{5ua;3Jm_JR1ev9W8pBbLX<$0s~srpEoVx<(q79|Ss2B4E1!zy3~3 zKUGeir?Mgk%g0NPs|=)~Bf5Z!sH|-H6zT^{gt{SjER97+ z^4^_nkkL%~d$olxlV1z8(qJ7^su-nwA~J2_>EXCfiqc}Gf#j`szMMvoesPl%anOF0 z{WUO4j96_LE6@87-u0y$*XYhUUu6$*bk6Ygo3~$l<_z|HQepWhq!fyIgBj6kJQ9zo zv|n2MDyg#p!v%yrEjEwP{&MLqer2-+T&?#+gq4Nm;X2daLm>pOez5(yKyEW8O0s{0 z2oIO6Le2Zg(F5v*f(~w7<*I36E;BNLlP@@k!t4O%&_s!$wC(XEVqn z#9)?qRCjOfw}kTH@=K)EQ9$0<>Ma%{FcX48g_30h@1#v`|=IJC#T?-P4tnno1MI3H{ zdc!Vqvy8Fez0YH$U|9~e_NH=Vf|wgoGbzO&Yh9=P z+CDL+Wjd5nrU3%1!Qwe_gfiwjR<(a_zz{Rn%c_U6@vKbjQbX6)o=sUKbZ7U++n~~k zq!LSX6_dkEv^9s-PS){(rj~q=!AE-47y}1wy!+rm9V*zf!}nL~yX*;ogY)kwik|jK z=+~s$awbXh3N3o6EW}@K`VZ3d5h;7yoLhOF1_;r%7_;H;hJzG1cWnAP2e0Sk2G$C)INVM0!{I#K%5(P2p+ZkxFC zY~6I3%o(B)<05uQyEJ+!`qly7^54%!F%2 z`=&jc4v0EGj8h5|L2*;l$+?MQIaBYFy9Teed33SqmlV0;8ZGM`EY=nyK{%PI3#nr$ zs&bI**|TSDv&DG)Fk{n;s4`{PdV6EQ{@dZQSLHSyNsv&o-|2b=DtX1W$Cp<0wGxpB%B7*>%0GJ!7BkoffWyoB6_DN|}V4Mb@TCm}r@4nbDYe zB}zA(ZwfjScd1Ou)2|U*I`*qAOyicbq@?7J=)x?O9b`<8tPaWBBEq4^p3)GoU-f&U zZ*BK#>lAm|y96;*Z;qLwqM~V2V8fU1fY&$SiZAS#LJEDcg)fSNbi_?Q!b9y{+geK> z9H%T+DwrIpv}O-rW6+YGV=n?9)eQD0iP}nMNdagEqB$7M&~o9z1vXjBaz0YK+0UOp zHTLlV#Bs-Ui2)C6qU~voU~t6?gSj{ze~AP8kS!On6R-MC-!Pc+UOm=)p7H!cW0OxW zQa)vf3=_Yyo6mdWcMN8#I)&GUF$wjIos&tGyxYFp^IsRn6hhUBsO+PCpsfJBU6r@< z$;$ETd&OQCli0(8u|i%>$y*v4)yBv)v^DcgWrK8Y)#9SvYayuZ54&gfEwZ8ZxA^(* zYH{maH8C)os9}(15Ww8fcg7*j6eLBgw>~--*=7f?CHAq|tjqV? z_85bCz(rA$i|&>Fppp+nrN%{6GbjO+3&N-jASHjbj~KH*FVXcJb6S7cpJX#f_R1_s z!G?8hTs5(I)S?Ckj491+=V4)k4&&JXR5I!LQxzvR7z95SdOg_@iWha`({8$oG&>p$ z?&9)Hay%W#qw<4&BP=VQW+Mx&?|BRI_jKj&LDT2P1*)((G!DA+IOxUWiLdX5F1y-2 z41TnRE;^p>yPtW=w_DgxnvR#9~5Kv2`#Li;!f?_vjR@* zyGto=(ds0UeF1)jukaUXk%V8CHR-Nx?VE0)_}9c?*eo8vc~q2dVs0_WG_jup4IOaR z$`n26g5#z#3)c_Qud_ttQPsN4Aepa1EpJugY8O?o)48I%Xot58 z3cSfpAr-*uG1$K0V`(BmT*WPH*WV>+h~O?YOJtYy1IC)tZYIgq1q}t>|Nqw zWG>=#R7V1OgBY-QI~|SlAU|V&Ku1R>J%B9Cv`AcZZ&EpX$*nEB6A%g`_B$oL#G{(q zFtYvG#TBaZV4{yD4=0Aribu20&ZG8%NwC?T4^e!E5g}*t3XTK4r(@)~G-7ySkL*PL4>7f}p#EUw_sR@J1*1=TjQd8<}!^^G4~C3((COo6^f zwv!s+ebTTdq?TY@YG=M!v%}Xy=LGH2;myF|vOp7&HEJe$1qyYK+RK&7wM1o-KYZZ(S_N`Z zK_(Tpfug6llO-u_ljV=gGTfXetpC!$%kAUK@X+~cv zza}auZB*M#d!Z zYd+`Ytz{ybq-?Ya0VHf_R=hje<3wFWPSjP{EgDZdblIv@>s!H>Y7@1mcJ-MXX%kr< zz|GdZ;A7NQ!EIb>=)un?>124ZF2v6HiqVgzM3__l)Ys2|1BrYbyEfcqk`L+yTc>=% z7G@KKf3%gd!c6cwKnqvDibSGg@KcHXHoF&QM?PHQh$|+ha0`hT9pk!7V*AhB7f>}S zqe%2QlAYDSAf~MM7xq*=w@C&Z>5!|0vF&9w+)^+piS!t=M%rXvNa;FNom6>zxjg9U(zF>fdj6Zy0z6+P^U(klKu(*&icmz=I#ur^5Lzo0@OE2cQp>FJD+fBk6g3f zSdKUVe+hiDKzO!Ja9BQWj3kz$|+HBC)y(~kXxXX}^d$!{veWN=A3k=7LSLB%Q=E#b+Qcs&y> z=m~p{e4H5-8S^QW++kS+-*MvkjKOB01h-uf81tvl` zCk=x;6yOPxCvGkgaC27z#pZ8a(Rh>S`r~2mRkB#De^EV_uABVxfnnv71xMSGem9Y3 zmI#qu*!?Rc%)F!79W&KO5w_3}U?SjIZ%JLV9=S=55t;Ik)Zh2|STG|_?0qn}YQ1&f zh26^8vA5Qoi!$0kfFdB0rvEhfy@6^)!L?X_dLm5Akd^WQ2c`t&tJ_{hf=kw&<*v2^ zAr0UKpA=&X1%MMyL=G{Q1{C{*d0FyF&Sfptrwbd^z}fP|47|By6Oj`sb^UZ6QXBZ< zzjv+aM4ID77pvJDal~3kLYlNMppRR5r5Qb@}$KH|5@ z*_vYknilMRcgjz33m@+b`B_$-Tlq<^R(q~<<)`~!4KK&OVcJx=eCvy)aAk~dN^rv1 zmF^&L_}GW|@Bc=Red2gBastjgI0d)28@Jp7-s_4>-BmixkL8^^7%EiQT{vIG#?`r3 zZ@Jkw8MO#+G)+KXlu#^`R`$D|=P21#v1Z zVwLUv7S&Zzg-}-gQ(Dm*{5wz<4;+4eTXN4O^5K805A^#>!ZKfT)Ry9tFjDN3+ZMk9 zC>WibhS9jq&|jA#mZINW+Z>pTSgdV))w9#?HEpOnBHsCY`kulvd-L5}ygQeaGZjtN77NTV*xT?Vr=<|NWC& z@Pm(9z`pL$(SKWU5UNFud?M0RNp(Ehm2|N8s@efL1IDh;kH?cXF*rKLI0F-wnUp&F zclAKz2%rE)$;7>4bF6A?O*jIWnP znr|kg3P76@gOAv|5)QmK_0gMatm^eqElWbw0N&^AOS*>ONOH%(}k`v`W0{PNmx~s{PhK*Sr2wmoKHVCp}{8k_!vYU9i@!Vo1v? zLpoAs@B{N#a6q0x+S29xjQfKPmvlUD*=V*HSOj@9rj(XzkYD~2R~EopoUREqG@{+8 zX0hqXr-peBz~ja06nI5cE@ahnzrt8Cm`p$HyY>98!4yKqy86uoD2zdSONC`nQLw#S zJKXUczZE^9=yY=GVq{N>U~7u!vm`~jcp2?Cm4YqiaW?$rLt4QZ+QAuGuM~~6eYa6E zy|3;UeR;1skl-XZ=qY^-!);Zo?2hj-7HoLPI^yy_viSd!)n1mDo}c5;GMBb}8J!g!FF;Ll?fnM&KQk-;GkAo9 z07SpimEX4nm^XzSC$`>e9wC&cnpMS-N+hmWkcnYdYk_OIf?drqk@(QUzIXWJX(e+dHTzS^ym_0b*oB{I6e#=pBQgg2fA^ zYgy_asyRgy_Z*bqQLpa?CFb@qkwoid{2Nm@;+Sjp1267OZE05*8NXcH9Z{3_U-tGj z;q%A3yxBe*TJc=c()}YOE5L4Z%gHVl>p@!Jpu8q^WKTXQ5Y{OW97ufJx5Nx}{cTem zZS;$U%GJ!>sNR`?&`JxM_y#YdEIsNc$@xk&Cu$7|w^6JTAgv6{fo?~NZkHkwlt0@J z=K>891~3LNydI|`>9~%cQ8};_LFcp<0$Fnf6)4irI`?iZn4tOKMG>_&eQMGhjjsil~9WH_9Ugcx$2&j#v=-;ch0UDA_nPt0j2@=D}BXM1I}oZLF#6k922w}H5L%C^l2us(u{lhr?j2Y>u| zayH4FYi?nG?u>Rtc@})1;$)Yy9>!S{NzCIw-he|MR5o1$!m{rW z&XH6lVWwz0`Kua9(p>FbMM~uq1Vr`9fRFEBmWCXJelcbJb}`<|$$KWDnZm>IY7Km3 zl=fFh$=CzM@0JKJjw)myS-eim4y*P}*}8K(Rs*XN2WzAFe%Uta>enYz-9C&DAC{!k zhDGReZ={CoZ??(X{SIEwl+FiOHyq9+Z3a6fw`k^>;$4C8^j{{1(ME1``4erep&F2*TI|*+IeC_=bSgw9VSI+Lb}JB ztkTI!)|S07ifUBsj_DlPoXADcgi}Vit(kH!AKUMbw(YtTI{eC+w~i-+P058q<0MW6 z{6B`I$ULo01GT;Gvebjw3MDHSHny)M!h^#pae{Y$2bNQac@c8jpSnJ+tv9~aT8*Vg z!-#svC=%3tRLo&?#&ba>ic;EmC7!co{jvD;`X*caH_lKZR;x5CjB4bjphhAaHIf)Z zr+`FruO1~h5-~CP%i9c5k9<)PLhgR&bLzQlZ+2zCyz3*NZWU$quyz!aZ}^>Dob zyiRR}H2YSsZC@64)?e@NegZ!$2 zF%)!2t^kyR=obai5BUloeDKIFxO3S>j#33*K7xY;y1Bk7&-25jlmona9KQV(2`Wq^ z6@Vn<%A9WWsV(>rN0v5ThZU{*UwT~s7RyT`XVsaC zXRa1G;?bpJZ9`u(O#lsc9&BX4ik6~#Q9zD&%{oNk-@W^2;pvG(O10!CG(@EopxFJ|jo!O!TBnxq=;FC;W`*>6E$}Ta7pWeID$2y^5H} z@nK0|fuSy3D3A|gaU8u71YGNTEhXv|QdqDWCku>8qhAH$DR-QN%t47n+d4b$L7iEy zAMJ3mkh{4&g`VkbwhTI}o0#j;$b4Y}+YqSozO<$bu1DpSq0ScXw-K8z?NYu4ZuNFn z6J*`7MGkK3muX{L9e%V)UnUW1w!Xg_IfrmJwxpV-FFkxf>D|j3>RSrsHKB~IL=#q< zd*U$-G|u2JNj3Y462P<$pfE|!xNbSfN~mnyk=2vAm>Ir@;qrcH#B6OKP+qgnGcUT5 zFx~x!5{$QS@^@|F)W2)19v#B6@cdSbyFlmHJF;VTuH5qs9 z7b3G?Tl^ud^Zh^smp5|AIBh?@F-u~~>eYjHT5Kw;?T3|d$q^cvP}R{KnN#ZHCpiTl zSh=guxiy9g#TMJNuG@Cm(d{krUctYlrBzVX7wglfv+()&>WEV=M}%DS3+>-~#8r!# z>S+vX}FR9>8N)7rV_D0m~logX1upA6(F+z5~-CQ6-r^dr>Z}tSNB2E)oU9t<7h9d;( z$hImmB#<^F8k!^ML;hzjN-w#wT&odzzgqNUKrG~L_*A|Q z0u8re9tx5(*98smxfz@3B81nIpsvK;OUe^5l!93{V{+Sogu|211vc3Lo#82Mqjh!C1bk&Y9!J`&Xj_uGUsnfXNghs7oLHw08GkEIy=T&GaenPK`Dx+? zhD>SYu{IzupuZBNFIghRw_)&m?7nREZ@Dzgc}M75T;ZGZMBwbKz+M5}zgHkt_095; zROyY|`5E{*{o1lvzicT=03jYqb5^$&@kdG-hjs8N+nx7Oe49M0cIORK&KIOrx8Y{dF3yDqltN+eKgp8A957n-w3L8!A)OytUs`-`TMc?-% z`kEO>eu0+#9Q01q`7uaB`2$^DZ_PF7mD?@g>cwA#Flk>>W+(glk&<0ZYvxep{R-Mh z9Mj<@Y?k|yMm+^=woDbRvZfjY%?(k$=20qF)bXRJH;;K>!ngIg{Z4lk^GW%}3&<)7 z3y@WAGrA+MIvmAua#gTxeQ6xdrr}->n1?oU6n9_Lh5$Pod9zy@$@XTHq)LYtM?$_d zM{R;fMegPX5gQWL_avN^u$9sqeRt0Ze>g6SXLl4OAV!$7GhVh>h1$Gkk=8goPh^8> zwIayTjp?meB17+Sb*M%t<4ZPqRYg|5Y5m6;VztBmj!!~r{Y+u*^DY8Jp&OEaykdj< zk*CW!t(d3G?~DsMl7A%hT6e`Ie*EC?~PK^2#GJg+b zmU=#W=3_ydEj?PdW`C>tMEm!Az98Ng8V(nTrx-iyuX+lLULdR2u#bf%=3T2FImH`?-dN1v zX!CG1<(`>1>61Ruu%tvrR~lN)GqQGkol{z;{6?0y_)3$v^%P%mDE-~bevjG}^RXx$ z7B7?y#;40aS$KXyB`whjZBQduDb`WuxvLks(~0m4PQ;;viggq(+l6zu^tVuYl9kCP z`bMZCZeg$TkQBMGPJL%PFv5sQsk@CUQm9iknsRW zmb3j+kb1Es0gn8gi2W#d&9HNNlz@I)b~% zmAlDB*4#bP#bW{n_E-;8^VKfA-RvuLPrs{>QeEtGPmlQRmbj8$uM+-qQSr=!Nr%0a z`j(}&7EhlT2vE06&Ampk*+gA+w|Rkn?56uiAcA|g*Ir^9=eb0ZKdzbzmFwErcFX2q z^a$Y4Am1qY>FaF*)p7o&N3}<}L8CI-!RkN&e~KFv>6SssJRMhc0PX>C(MMyKKP7-0 z51G1?|7bLfUQy%EaC;kEb#Iv|R3Tu(-84RBVp>E`n8(tcwt;LnHQ?85Cismjk}Ko;2!AqrLXr)_<+Kykg(H%@FWMld+%EK|z1sNypBiD#iw={qYMZQ^^zm$IWb zJ8TmM&Ey7AWH3Q%!H~W*-Gzj8^*!p0?fVYYZFsg?{g$aKe&2sM*|}?H);KFLDK~@5me8vIwe~ zuhuE2?Zipt;_cvDBof`-hsZQnD1Avs6EhRPgq-`?&Y^r$SPmK7MWi(?1VY?3CdxfF z@U>?C5|MY%n=f0OX?=pB=UN5!qwl&{TFG13K}l1Ye=g|JMST}ZK<&G!-JFYR!sQHZ z=w?=1oe*v^XUGt7CJ#vtSUotl%7MW3L-zYSTKEh4$`?^wXeZ$22fD})8Zj|4)Fk;e zi~NY|SGwO3mspIw64K^&d&gfIAam}8#*FDT;)YFYBV+GdwqVUa)R~kLue7UKRI}VAT;9yE3 zpeO460&7ZRy6tQ|>Tat;wH~5^LK~4f{NPE69YEBpAf$cPihSe9uqp(9N9OkH+@6j7 zg%!6a!+yDlBSz#N_KNWk1h5FJizi}m2*|yD135;fZVtBRhZQ%nG^MU4R``8!5kW5? zQZFbCk}X1AP}4AW`}>APQ7e*`v0pAQkv->_7{9VZ)R)_K_KXDCJUh5`)NRJY>?LtL@wzWFE;-H-xBE1a0tK;X-_qLweWo;CYZE@z3Wql?b73a>Si?-Rg9_{vM7(jUBWLyu8Pz^=n94%ne|kYh`@{&R`fOz&9gYH-A^=!udJ?6YMCsPPC?)nCpq zi*+7L)K2U6a?5hdB(jI#_j|UayySu~3|5!C%k$N2Erd=etqJzuOK5uA57#g>tqjIp zb7I_IN!_E7a`u?xJ%B6+29VsZWZI+ASIGvRWb_NuZd`kAS*Fo)isp&XNhQx8DlA7v z{3NTOGcBF@Wipgik(xe3L1RrMXcl&MWxYXJ*Y%U>VcENl?9zhC#?`A{bS1%AvVmU2m^wZQd^VY4pgr z=9ae0z*m}+h3r}O-wo|N*e5uIKOHml9EX+Nq;=T9mNDHl_+idql9LK;%N5$)&vHJ{lM z+~vmXspeVErRgu!8;jH%l^vcRo)s=ReS^M3Xd7h|S~gQ66nHWHd0bKL%rYh; zD{wh-aV@3ApmsMz&^fjXq%pY#muWS2m9e5E)Ab0UC9VF-PWNYxq};%>jipDRzWyH@ z_!tz`Gp*>&LK~3z^@dA1Kt^l*PpF#f-9hr5X)HoEy8Z_&k*jay&=bH+iM1EU?Xj{m zKNf=seioN!bUD*6isdc_aya9dRLda#V*FU#ADTY5W@_qV{5tmHwys>5)7D{)7WUD4%1#xEZb`Xe$ zT>gwq{!D)Ntz~n5dTS`<2de;c1`Vyv5{S>| z@|F!BYDZo2KqqQAKGY*#D<2PLJU-}iYXW0FAyOyBcbgi(pPm4H3xv;RM?YjLp{-wp zSCDvA2_f(Wz6T<-dGyeIQ#cPI>O1`#w`nJ@kExNclq&#g=H^I-PKz29={rNrdb{V1 zSVA{;>LA1fe0VhLbcWCntP*2^b*x%mVsR1@A@MJt4y3|E)1eg=&gFiI=-9f}a%oZU^s#Is_#WVV#3ThJxe1Sv%l2YcC za2%4WMa&Bq4y81Gf1ygGUPnwo8b=CO!qIOeWhobTCFj13I$h#0bKA|5BDf2^C?|Tq zdTF;Zf@M&jrYx+TL5_$zWTS;-CsfJ-JV1=e`z3nRYbZLYqC6Kff+X08bBb7Le!trlC_@Hy^(@g3I$TfVp!F8a z?;Zx?Wzb8_u-Y>&#Ht%dm|=Oo7oCA01nV)*S1iBlK+qCtoxAt;@2qj0^K5#};G0e< z)tWI?ug)#0Sf;Q+v+IzC+q#7BPp@~H?wMYZOTHrK#!NSPds_|K{cJ4Z5AhX(zi^Qw z4jl>wwS}56tdG#P2Z3e?Mb^_1$uCVuM(_F{yMvhpqOQfgq7tXJ(FB}8kd_wK6hc!YcTazF(k~%n00@mN z*SK6kZtxj*qnsY1d3dd%%U^8j4pfMzfTs^%-|5tb;>l=9fH@qMke;oF1-{#7Kh8lt zr2@YG=&tly%Xio9B1{FzwNT&Jgk_X7U(XXH)*e-alrccj;myLdYmPv_Ej!#`IM0}FL-iE{O@lw5XcL7KLOPme zX%7g7^>t(<+Oy6Nu%s87$=!O@G5`kjdYI2>0}%3ElH?o2)W@G(uDIeiwwfA ziej}XW62_R-aH#$m%oA~3i_de5E%4ENihkf@rJQH^fw>)7gmsCU?NhybbO%3AGW@4 z%NEQRp_GwJX@y2R(z_(@tG)v-Ynw90g}(CNeY}&=$}))457P=kjlsnUo$5cagRjPL zvUJ39=!cZkgqGvy_YAg$-v}fTiBZ7-3sRq5oW_^{y0$92iy0ljCJGNo(Dg^>yl(`r z4&?VWVma6$y8iX(Y{p`-#sz4jTTB-}k}BwsW>nGaP-Cc3Zr=k|TmdUc%-`v553{ly zm1tFzT{;1!IG$YBhUQb82mQhkk8_SQvEC@MRf%}#Ad+88e`Y_?ns&zbIg#<^NN;Bp zPUi6Kd9e6(YcaN(%79O>C(?P5o#wvd#%iV4+oAtb9MB*5ZF#)pgLdd~#ZK$WwHZuX zrI+|!}&~vOm!-$5S};W4F|@F>eqev3R6vOo|k>1Rhb}8{`OoHa#C)K5W3g2 z1z^QO@-lH_TGLmkYj?9&ehsXdr{GuYOi;6jz4m>`6lpsM2;@UaY5HX0`1?oyU=SNU z>f8Z~#dk~aaG!*?ICX}IhZ5Dm@*e?gP~OUEyzuPDdCJF+#qur_1~s^Z=GbwBqRC@M z=%Q5=PW1Dz(29~0Yx~2VQh<-Sa;9i^=$Z;qTi35u=hsj#NR0!>x7ovrT@eKz zeT_ime*q5tmycV7e7(44MiZ$Ggt?q<7GodY++FflxRWcY)amV_9|f3;9*!9qYCNkH(d%i9Nwwo_d^R zN>}BmUoX!D3^lm`4y?np{(IoMuIBnDTp+d&6&LlVl|t8Ah@CcW+DAY(^ng z(%mjOJ+jcenbd?*xwCgK^IvA%$$}QuTD0)^_=tyxS52;` zs&eJIXh)SEdke^;fwk(vLpNqmU@3mpwBUux?O1sdCArYkTa5 z3uoxcz)gL&&S@R7P^8gGJ4h}oLpR$~4gH;A~xzeJa z0RX0DFNiS8o0Fh0`t3a`$yeVdkQ?MjL7EqWT~QsHgFGzq*FDsWj0;0p(hlBVD=y4p zFZLWTJBkw*!owAE3#?)i68x$rFmuClVJGVsJgg80>pekb@%0>sn(b@3HWmAbjbFh!S(d3vng>UWWjPQ0Or(+H+dq`XxAMLyZ9R^y^r|Nb z&LfACM%-y=BT~MwkbXtyDE-hIuXWjMvA*qSs6BBEKi(81vYZCbNiHKmtM7aj zUP+9hmS7A)q~*%?yw3F@72aBA;++wrI>_CS*3|x0pY4L~OpikM&Q54~IC=2PDA{b~ zF1w5Ha;aKbmgWGd#LdW6mS#{14n&uVwBN?I3VXaD9{h`IJVkQ83VnM-lydY5Xwe!4 zDa-+v<)CIeVp8xqqq+C!7-^14@q>ngtmYg_{+JGJp z70>e7i3kz%IoeS3>tv>0+youbmF?TCq#Tj@e-}p^c+(X)fWe>a1_*|HaWOyW-ny{X z%&fsHRzncm4TSxw8fsI9rgQEk%FAKta{>IxP8nBDs44=SBU@&K^6W0Qgk#0WbGj_e zyP#%JHA|C(gIaVKL{2;#%mu)YXXsZ2hmS`~10NAfCYbP;A)9KmVg(CL!rvAeBnNJE zJw^<9F3tgZZt{@y0inQNrD@01sJTO-^~S06ktWGn)ib*D)zza73J;vF(b$4b*ME@A z=zkZTcQU93Xzom+YQ?lU?O)BPgWDt;n;i(x$izO#D0W5nnvAj=Be{!^1|3BO{gCGm zMf5IpK7pDaFUH7ZI*R`s1?U6CU>8#ILtg6_9AQQxf%9)jyurW$z(WY=h7)4<7Ts>( z#YHF;^87|JLUIXA*Fv=yya$$TFG*-F(R6Lmzbk!5p@l5CLAU{IeP@vADW@-b1}2ws zIG57+GD?vw^c5!{>NtL=MR;jSf(Xw$}GL(&&Nrl$E=?8rA^P=Q8Bgq;W%NWPXg zc}_1B>V9d!8@rfM%(YPJxq&1E6^s1z9QLnp4)VX74G;~ZsXC!n2bBd{rI97{{Az>O znI_@yzqz-d506ZPQsaSIqhx-V-+cUzMHN1TqvZ*4@5CIt_s!M7(}!ze!>los7z!Hy zC~rBm^0QJ#BNm#8f_-&FvL9tG@XmxdyvcP{6HRQV@N{WbBUnR%%Q(ma0|OaY7^K9- zU%olRz|6La)|37YQHba?u?s9@sx0cCqKD;hOSyg1G-nI44(~k=I~tT8E2ipYW@=t2 z6@bL(D~*K`xE}Y3`|a%KZLiSCh~V*W8WYx&luqg7 zqc=AhssQ@)m*~QDJ+G&0$ivt-N`^m^!V(V4EdmP;-XJKz zqXX5tZnn;*q+7f2lpxM1Yoptc4ZejpB9z+M@-y$gW9~;?;eb7o*IiZmm#t^00JwhjvPG2>*za81A-O|i9z=;luyO9P79T||95cK4;=1@g;TZt*;R~7J zwAVI?s<*2)=HvCU`;v%pE&y^F0QnNWSB`8u_arK{K-QnX!+?(dO6HY|Ej8@d6TQUA*Whj*nKVOBh&OaI8XhrF5;`xj=#G+(T~1vn!F9ge21|a zpTs)RlSD;t23i}g_{4_gnl>oocvjYP=D)TLmj4;W>g2ozf1Ee@c{Wk!dv`p-E|#9~ z!ulj)PLj^f-W(s|zT?;O-_35DmvO8mJ#wnWJ#`ki!N+=Vb-aL`py(08Jp7jJ1|){krjoqN@RmqGo`dH4;~~?&co7{IJ@JHp@``KuV z_@f4;S-V*JK^>tfJOYF_G~0*s26nrDKmSAczZx#3yx3g?_RoLe!qo0h2N#lW&Ke2x zauxH>{$&B05t&fpJ0D#Hm>Qt|mjZZlEaaUTPZ116X@|{5>2b0)E7OI}x491Ufws6Ry zV6jP2ie0$^NqEp)y;J1{rJNQ`} zG0FEqAy+|%-7Vpudd)%tabAEa%}-W>05EfQ|2$d04f?8=F1fUO{6h0JZleoTTSuTg z=ddZBy1Tp4bGr#z3q_dhLOvLJ$yEY@^#0yvN8AeJ{hC+ri*xmt;?pBm$9#hZUPvf;H8N%{nk(%2x zO_ILhh1h{*!(A<481^qgEvFKm1goDxd_W)^$_t2++u)=O6qBh_p%l$MDc$?m?(G#9 zy$-D4RS{<^0wyNR|M|1FBhA+X{(gBqS!tCfi&v37*ZACK6i&?fMlr=Z*!_}hb^h2# zVtDB_he-|dLsVw>BZuH}ul-##=DDU}3){)PTte<0JT(y&hn-6DavD2A`6wU|cO^#} zP?%5?CQI8YffhC9<->!;@1I|=quI!t6?4tRV`mU_X9N3ayXuM8vfO4OKzdi^*WEH` z;qEME-8;{uB3~d#1#D-!-E_?7Q5kv!q~C`wS~M*ZVNJVdKZWHL*1A&fv2vu{!@Dh3 z>R(0hy0x#ZsPl;Uly?afN6{Cxy+%oZ^Cthrib7th@yNVW{(vxLq<Jh<8BaT5oFlX(!?Z$UrT8VE13O zM3xTC6e+qip?N$lGR7X0{H4;QKOGgROsH$>Aoq2XN}v3Q#Lhl|2SlV~D>xi3c`Ly- zR6(-Q0|^RA_8pW2n|{gAK>Nlu>x+9%_?n$bg}O#0BuoHBfHyt_ZC$FEa=&vi^>S3+ z*526ebc|qTUMO1{mSFLuh5=tOyBQ{W?iPEx71(?K&7Zon*LYgg2ciG56t&Aq^V6sW zYdCO~kV;Fpl-GIjz3uE#YSYkb$azX3aKFX+a{KthoHSxX#R7-xXK1%fyxhN3T_+}Lq^;yCvE6CN3%bCLI@g`C_|jvy+-!TaH{IW z&pdLtTUwXUm-UZ*&88902ERawDG!Tob0~|RAk2#gOFE*D6@Y`{i#Q-B%C(IqjyG(= zp5$yr4H9;NRYB|RugB|uA+iJEPa?dzh0Va8ZdDd&om8Htp7j*WUInO-+jX`BcgtPi z1E0`5TJr}_-QL(pz!JpP``MpiC|G2xh(SJ3>Dc_6>urM-Tc2n8r}NKxm?Q!(WtDW> zI%S*E^)v8e$4)M09WSG_RRi2k*N|(D=3r*lLRmwuR-EUKd7pe>QgF$8G(i-YBkD-V zrv27;fUFQ^njnUwMoHlEktDx28?Huxq+QgLOb3-L?Buby-NpXF^BwPzpl@=&M$Ys` zvPB11lbvX2xdD1IPr6IA;iZ5Y%S{u+n^oyhTGAG0!o@+tkxU3PlNSd=9I&)k*jaG8hRVh|PozOW5qf2}c zYr4~s07Z>2{}v-XTn=|hb0t9Jms zawfHStpB-&jp6NG>CPbse#AHWoYjl>rW(u+x z`;c-+`_3A#Cp2s~->PsH1VQ(AM_4iKzL<}J!PCF6PAaX=j^te9HXByTy(c7?wHj1y z0c?=jH(2kHb;*hhU~RF`)c%L~v3$N^5!G&1@*##eFb4h?*Ts=60yvll2(Yu%3_XVN za*o1fTXi}|Zq0nE>X$HBe>qE@zk@F`Q;Z%sc-*}JuaSY*m?bJnKdfoLh3l;Aeht0r zL1%~@%Wna8Co)O{7v7lI2&{bC(E^O4*11GE8W21>=o?G~*+!UHbk^$tucajR z$)CS@19`Jmg@1NIT>@7d$eO5A`Z%M03pTkAfoo9}H2#r=bfjBhAS%ZHQeiwR6rQy_t zmp!toc%0z!EF2YQKI};%&1iZCFc3lBJvNPuEa5d<7Z{f=V?#%d#e8BqItp_Uu!%FC z4~XD1Wg66jxnEANRL$UvY0c+6We1k?H~h{;LT$-GBI{?*7NK(?w{KV*5JPTXL zune9i8se(@KIuQr?+9U%3SirZhVF@>BH&i&fBvtD&vvP${R%2#SGSEc-xx_u#f2_u z6Cn{r7BKSk)%JmWf?|-}rTy9u)QUJStw;HNyZC&&t^uJ%XrcSkUV8@LehvpF6uM+d z+q0#hp;y3xoV+1+USZ>kM7n6`ZRyb-5(>xBC6(nt3$$+Ui2`N_yDcbedsiQITPeeH zdX)@&uPA0#)&o9gWFRWlBAxb|D$IxVbsN5GkrzvSo`GUAa}usq;{Q~xqh9m=6e|4D z7xt@NHR?HFIp*Q%=-LN_Hzm)Z;rsmfndYHZ9E0bkMFi0eM9p(hVKmQRp~`iF zsA;*3(p7!!cJ(08#Ahx3NNBC%QYpeRM2>qlAEyRt?LO0#Bb`*~vt2(&9W_ixO+i5Q zQ||5ci*DvWW1Bn7Ikp!npi}GmQH*l<_OQV_pdjIqsLtrn+{?@DK~~20zvmn@9h({V zyN`v(El7jCivH&v1ZWLzsJEa)&$6EFN73!4ja@aUFj}v!3;P4V8Gw{U50ShX><0;X zs(7rdsE*O8)mu*H5n)q^WIe@3BV-u<|A2)@>~qlz$`~uo)yVWeg*sC^E+!0usF#xa z{URr7hC~mzAI>~NH?9GF$I<`;xlWAIk(F0{dv5T_b3_F(#A0~&e6T)KE|+cFv(K}$ z-tdn!HU?)PNE1rgsIL?0t0RuqLI8BwztUTv!)x)P{{$}452+8+VX576pqFBAX?olp z-(K0RCuKX=T@iL-3ewij)|;=fSbCtZvRov5je^-xqUBibajmaH!nOz0lYqiZH9-mx zXh;RQm?7h)Fi$-A_v+(7^1lD`R8he4^Xadf*4BH>=k4bwY{bt!Md-;fBt)z;^XZQL z;r94BYu?9r>zfABa(&c&6DuvRK21Z8+*i?sN4LKvZZ}1G^biSGSFn)w|AJV4 z>eYP5PA=i~EBCxiK4xg659_o z8}*Lw`MG#0VN*A2!79AQ4!`KOaoX3qC=uN>{_Lb)I{yI-EN_cI0gS|uW$J$b<3D`9 zlzP*F#Nt|qG*wHdN@utep|V55gLcS%Ez$2=cC)HV@97bS;4SA2M zJ{QFy*&EdZha~Ixsi~8QQ2Mh$GqHN%emUby>=W652rH@0#LesWoIik9mP%jy0s7R@ zMLUgztwD&kyCc!mQO^M+o(tWed?GA-6A~m%aB~b2k;@@(7?%nW?0%2nCUn!~(!Gn$ z0(1K@W7}q}Dc;fNaxXr5Wwu|V(|E#_=Soj;+Z*XpBw?j>P$&K$qQGzophWODV`JPC zK7eH~d9n^3I;J`1FXoyAb-nnG%vH~nL;4ZIFBO55Uctr(nBxd0U= zgygm;(zKNQDt%2ipcN8bE{k&enW^BbJ&VrUewZq{H#t7c(&otGo5)MTd9Ts%FSS}R zFB0QcRJTjfII697YL!Cnzt_fxgvm4Lcq*n1H%k3Pm_8NCzE)YGSRb|`qSPV>(I7Kf zV9SVLmKMJ6aijTZ{3?FtLCC1|;s3#lr5pNm-^cWy65hf36ruWws9BHQ2>(IST6 z3~E?ehN@(8#zC#1yh|ncO$O*xL_AyWr=!2r)lJk*1B2L(qeOhHj6io*O~EB2W4BnC z6IN7>|GgW#E?SenZ<|$}=cWugdP^UG+*2c@96;Sw8y2YfDXhB^cW#S!>esb&BAedH zFCU*svB%xvn}aBy4s&DYO|iA8i#q-0JBue1N6*vl#GCQVXJF6Fl+_3^FaF_*&jqxQ zZoijgpMH!h!KnJ}GIN-A$fc?-7oOP}Sa?~*q~tWQ^-=AU&-3!JE3jnvq}Au1>fzDW zr+fM7_W8HV^r}j_)%?lx?b3D3VzW!54yavn0e@k!w5|~~5tsVt2yxy}gP=%g*q;kk zdi!Y*cHGfSCmMJKww+iIN06g(D{EMuGP^~U5&BjKOS_Qj3)JVo z*eYX7s`aAU)6qtEeg1~?2m9TPSVR*3!wEI1Qbzu-MxunWq4HnM>VCCY?bedn)kHUN z<6)8MJgxGDW}@P&`ZZy%t*%!Zt&;Ptw?{&86ry3L`?Vc^hvg3lzEzt3#-522Uc{v2 zLq`8eauyY&D#v(Lw&r95HcUIg!=_pctu?ww;u zFl0Gn+Wy+>wprvlcoIT9GlTUO!_Z!*vE>5jzUvZ@kwMvT%_TMb#H-n2!^~v0Z=al* z^OyFoEY&hW@f_1-Z>h^tW2E(c+KA7bf@TkNudSBC-_+4!({w-5AN+O3p&wJyeS1fr~|y25zquW;eajv8TvtompCZR;Skf`C{UegK0CmeAS9xQ zq*ZdH^*e3}h73))AnBwNR$;N2U(hR7B(ugb06um`S>dQpgMo1U&bQYPU(=&ff}vbjiqu0{iMlhov+EwhF< zA1Lk(H@$IRllG&v$EO1|$=Y~tEz6x}LLa@2>Mr{VDAqKVl-xF~$E;npt)HJ(aSE+1 zI-n8rh7=p9#UURq)V5we=W~{mhUD$@uK)J9-k`$yXHF!n$Zc|rc@y|V&w%TlQOSps z&g+}2Mq9h%{o#}D+UwCf2=i5%W7ou8B4@TU7m9jRfc5`z^_F2#|3UZg(n~Mh-BJrm zcOxAFtJE&2bVzrzG^n5;sf0)`Dj~T+h%`t@hlC*A{a=6geP7RYJ#Y8re&#!K&dixP zYt9f0P((j*=d-v)vluTSu7;elrK5C z|3!KNgeFFg47TH30{P*_&CKYQ0Gd+_VDT!pzU2CNJfr#Uf}#2F(t_1PK0cWzO?GZN z=IHqL_V;+}dD6?-$94BK4k?x=#N}};ty!V=xk5P2--_ppAz}8h_C}6!A{wz^msO*z zNvWk?j&JRqb4S9I;;tuuoX)%pmF?%Adn!ayX4{9-ob5)|UNZTmFE!P5W+-)_5YyjC zr6st)`4ZMd9(skIAH^Z?{<;payC6aAYY#gM0W7hv&2E2pnSK83nCrvY)m|qimS}P1 zifEB4H3FG&oWhA6%_QAeaCpi6U>tTk0ddH*Jp z#i^kHuOjl*uNrAx%BIsDC}XMhDza{$r8?-zC74w2^6_6YgYvJ|XHb&iyo$-{rY4rL zhm|F=Hi4|Y%*HF{NtVPY0Y3bc1!xTT45-gIITTzUbNpx0H!&@(_xr1ogQg98WaRZm z%)y~f>z{qV9^TldJ~tr2(^z5(nNZ~Mt+{&7$-UD=6oB&$)vC8Jzld$%q;`vVv0@t zzrNzUen;}U1$&%%pG(hm3+!5g=f27Vey>FirHiqscQaiq-}|CSMBjSmm{P@|+8KMtw|55g{VG=<8tLbUa95ZJ;x0ed(bsK|YO8^zHP$vJX` zp``4R7{#Ef@Z4%Z*IPGJ^=rS4QmgY*ampNFwu;p2S{SIA>iM9+`*oU-Bf`Yv{x1Tb z%ntv~2-v^DwHAsG;J!(IM8(-Sjw{h__wF8Fs!Ql`-`9ATLzCv;gq&3fR;_0VrnXh= zB;h26_wbLro&CM``z)p4vp&g7{c^#VA}cF260Sd;70>4E5AJS??qct*BJafioe!sp z4BjPBymJVQ+1Gan<zQWPl|B5P_?lBR##$hHtUB$UV~;;p`XYZc$pWBIkP zq%JgRR2Y?wJrm&;bas;$w0}eSWRIlmR=1lJdXb=AeE0nY`0T|L((23f1hLDsx6bIU z)-yuLywGQW-M=0!=ydrktN8Sx+)hh-L!<;6UhK8!#K+}l(P z-xEpzJJ;Z$Grx2d+jf53NnK>&SWthYNAZy=#87AGWrJ;Uch2LW;GKZd-}I|Py+wYB z(883Nk+EdrW8bf*ioh>y6!K8>L%;jZf1h^omG`M||4aY(pZrhN4&Ym_s6h5Bb)?#B zi&H+np6ZO)^|oeJKAkVw0|g0@(NsN$K_zgSq4)!baI|b7n9LX0`RjC3=TDyDr@_w} zMIzS6eUp0W_r6vBrizlgs04!aT`=G?>MAqcI>X_;H?C>72Y3j9angssw7v^fs|Q=O zZxYmcIjcEl(#Kd2RdO204Ngx`aFpaL#(qs@H7HcHs6M~uxI3^vue*z&h`iWdBnYz) zdYJKkmLT$Cmh^mk(O$JlO#Fkemb*l$QxyA+0XTBm?Drajeu`I;Tu=6_j~$y-qWx$Z z$#-mq;AZe2XaDX2UeEt9AzR^FYzQ!n4S_WHXvwb-?V zw~LtTq+GAPdJ~U`ScOn9kq35i{{Qkpt@6z=P216_)ZEoyvD=Hy59e!!MD4{#XZC)( z_A3mg?A(Kx4^<0Q-Pbc~j5#WVli%={{&InTu*Tgo;f;vLF69{^=<3zHcAlC@)(H9K zmFYE-N9Vk*(kmp7p8m)Nzk0C;E?3=B+tsKWzmFnmFRrea>LxI)_@z52r1j#0>JghK z^3^4cgWy+YlwlkczMn*2q0@YkB@&i8^d@Tpy8L==bM#A7)L!J>Nw9^TiB|62)%DSE ziO!kW=41nD%NCZWv1^0tSrcn!14`OH)7MmLH9e5){U$O-(Vc7a%Ezw2%1;Bb=IlL( z^KzK_x%CtA<>@5fPf7vFOS3V#m*%n|*CIywErNjR2sWt*22W9VP7c zuwVROP^Rt2VV!;2RhpX@Y&E?d%&1JkFFb{E$Z)hil}DRp;&Ia#Xt!WbB-YL)GHnMg zgTvuLm$5AgM=xNAA*VspZd~7%A!6EaWDddBAJDw?gJr7JRD|uT1^cc1 zV#FDnUS)>E-!`cNEFcWHWiJ<-k2}PqtxysiHrn4U@w47wU@fjn1C5@RfNPfCX-~n% zy}-$v$anupmciTqNS2=Yb;``I`{ky#7SS?xk>rcvSL8ndmI(>uhvL{ge58YWsB*Bm ztRZ1=c|}CIe_HP4=zC*C_JfVIYG4^`C;%uYk5jvcBNe}tr;aE))~mOSN95`~H0QH@ zLnf?V|0ZrlL{FNpH&@kt9uD`8N(DXlLove&;Ip=>~IX|zo;$J#D5pArEfPX(C(fyfvJm zsBp`Ud>=Txo2wLXa+Tw-`TfN{B^hQE{ybmam#SQdY}pbQA-`iP5`8}Kc%sIr_WNNn zzr3un_;Pk=lyTv=)KvlT_Z@#kw$h8Zt_#&1kAfc*b;ON3)g`(;5i0-VZ#25PKG`3% z*HhCg7Sp|#ZLEBOzt?_N_#JB?a&UXKx7w4&(u_SfI+vi~aTeouuj(w;4sBg#vL+ojuKBlQcKS z^}f<;pJeERV6g!iIV3+X=v3<+LgfkW6&Gqr@P#jUJo?? z;Y>TSY9iRl`p!xQ6SkUUnf+HxgbZI8n`;F#t*ow^T0D-<G;=r55Mq&%*TY7SbM;H{d!Oc9?ajTnc>%ywzm;kaxFyfV0OoZtf|Rr zLFyEehd;{fmSzZ9m1j!Tz{AAP@sCy@JDk*~a> zudkQ(_A-!2)wsAgPDMr5(b3VwloSmI2kzIInOJ=|JT;ZJ${FbR~ao1-Pp&d#dl<}^>9Jn_CfcENfy5MnQNcgK@5cwZboYdicQjQiTF z{p78x{OUD^Ql+cL`rl}cE$nzy2X_l=zCqJolj^G-JX`qH>}Mq4QfV9OJ+k5?<=8`( z$|^@qN-qLpT;D60z10UPzo?}9l3mSflNN;<>63qX6ZmCxlyqt#+&=z$I@d3Xu(Apy(}Wj}BlTuv&XsZD=JEH& z(6)^_$+fD@}0L$1v-taABXQg{Sq#0-q{Mc9~0cM55r#RPd^*( zye5%w2?iH*;=Vn;kYH5S{*NEg*FF)qWVHG(XaUvO?uART#LI$$`1ebkUDUcpMe<3l zMG@*FYj27;fcp{sOE+7>VJB-0=PO57=lM(C8Jt~H;fDu0x+>X8eR96gSF-s0353Ow z`D~Xx)FzI^?e%Xrsoc2uhHx(r{QBjdrn3`gX|@z;!a(IFWB6EIDY>|Nw zNi!69_0}9dKh(i^|AqYJ>9)8>;4zxiVN|%s%ecK37pZvt*tk<5b+B5(@iYuSq5FN~ zu57Mxp+^6oqbyQqF5rE*u_U~~SNq4q;3sRnVo6_}wZf}KvuDe`oxBF@AG|#(-pJ;` zIp@y(6PD7v{uv;#+LYw!74COd|NRnMbqStii(136N2DCFz9l*LohY6U=JJh5`)@rm zcqd6fBVg1OM@$3uoRdvuQ=rEhuAs2d*Ije1oKR=(bbWrX@(t^7L0#AVPC2|KDEwCb z`s93Dl7d0>NgURy#j)=-AEd=k$g&y|ZBb7|7mMuga4B$2L}fScjLo{4_N&xEZ3SaR8uo<^WC$r9P)m;@0Fya=-$11_r0%A z&CZVf@aTwOj+B&?U|~W?OicUnW2Sre?wMFv@PVzZtP-&HDa+>vtGGvlgM+xo0!I0u z;j_a->cy!j96YG2Ycke23iIpN<7Qm~xk@H)8`kO2$zI*kGBf>djyeLA`)Pjw$HV_$gtijl2 z&E+D##Ailu_11N|Q~>GF_eAzWYh~7}Gjyf#Xk`2NS~91PzJ2TKj$)g2)lTe3QEm5- z!t*CHbysvZ3b{GvWJe8ouq@TiEqx_BpOi=#gRA=`Y)`htn4;x8ZYEv1c^6;?Wl+vrXPtn7s4-SeEmp zo9$1XHW}Hz*=P|@P^#l!80cB7@+-?tx`*d!yvN$P8sf>+9{hZ8YW<{=t~`w*aJ4bx zq%ki@;2kO1*$A{bd>9c07MR!Dx=EAPIfLRN>WB%63{aC$ub>109)3BF#}{vk8Ja(T zREx^mz-!XjKQPBdGm}-Rim3OJ=($p{7sa!s+vQ05DjN)l5Vu^8jBgW$qw6BD$Zz3< zFQl6CJ}JvUNHCRRxQ2<1WeVX!EM!1JSzzq}rIIBKqEKU&YaIB}e8;!gR&1;E9j4hL z{==;1l2R?&OXL0-ph#!DFNHdYsn@UbRqZnSO6G=LcX?5`SY*m3?U|;J*LH<@`2%Oi zt{21Z;ox)zs9A1K))jeQSCbTFBJs>FJ64jfjF3w7JIa3I{u3{n(19 zaxtpw;I}d!GjS7DR*n~kYq(RX?(o~T;G?b^Y^qNFgteIM7bksrRCC#J%7MptKo)Y# z16VxdAY?oq|7b`vHBhKzjTdsueBH8Dci(s2V0w181nWArIo~RCdA28RmvAtow7_QZ z%!5tau;3;SaDHQtgFTHmC{`O+=033@pw8PJmA-RC(VbmcIC~0EPFBkcfT|i{(*iP} z3R2Y=%ng`*&X4lBAe6n(NroYeXHLbxl}k$zY0DqIEvnw3cic$aDg1do9aGe64ujM^1W__S$>uSF%O5w{)sjjzO@ZinV)Q&goKV655d9n%eR&V)77}mX zz&Y@tSBYBWJ%idg`2#I0FUOo9%I+CXr{;KG&eWycT-)U9*UVX?;sb4*mJ0YXUq8V$ z^)ba0ph=@(eL$G#Wv^SE z6B<_9!Iajv<=6jMNI-4_SW!80v!1!3WwiO5^@D|Qs%6c-_w)HrA%R+ybwB&7(xdi> zU4UO7kmYjC(JKdh{UhSa^5n(ENg$Af^0(Kk#rCeYqaur=Aq&iYx5>3mMi=V}N0998 zS)0zuS?)!*;$qIxPSaxYMem&XphmvR&9S+}kLV2n-{C)4lQ>Sertf)%%GAY8^$&%; zHXbMYy5jP>J%u*y+(-K_l4Vq!j^}^+unI{(+ zhL2n<$l-?hMp3Lf$XwErz9ZO!hXuiA{H_VL?~uWd-+UXBNZ)#bk@$k>8>N|A_;%Zs z_!O{_^#~O*mmf*`ifrjd8FqfSeG0hUP>Iy^bRl<__QXULKOl2o-boKqf!4G~%85!L z`X5GjR~k-lv&D#anC*>T^?TfHRn<{tzn#K~Qg99=@@Qf`le{j@oWVO6Z~^+chbRv; zxyO1KfXD=l$8qvrm*+iBv09m#-TSV>|6i{J^1tx5{q%Ahn30IQ#WR}z=A@EO8Nwyr z3Cb3;L$=1*^z62Jb*44d+4B7D;G+K#vNK`jy>`g=Vle*5>Bahh%ir(6Nb?ZOVBlA^ zA^_S8z%^N9!lF7tE~(W7)k`F9i8n(FF4M+%%fP)KI8Hx;Lbm9h1NGa{O3hXfa#%Es zxKl9_qB3NIY{@GkZV6%jkkHCUPvD+lZbF7zJoZAc2K0;Ijo>{MgB&IJ7A7rjiJv?s zgF5D$%z2I~0v|?27v+}Ds>83OBHaL5CjJIY9YU&gI@g!)ek>51{@hR3S`fCx#29=2 zGYlOds@7`SCWe<|mG9aA7`NtLnEl(;t$bOHVI>WdvIhky35%_aCT0FGJ7N48$IAV1 z3h}6JVO6*C+5-^^nS3?>8y8l&2#USPbE=5HPn~Pb?v5Nl64^Qrqy; zUrxB2sn+b3g8=CV4`?^n7MyoS*X?|IWHB8jW_Z)iySVlDK3kY@@&PQPStB6?Cf7HD z9f(8o-g40}n*x9eWK3dQDi7g)g_GZTI77p8Sk4it{>+v~Te(m12@|K>#}X%u%spZi z#W2ALPgl)DdfSJJsX>`|gpZz)0#e$eCPEoV0an;eFPvuH6vQ_?>w@+Mder4w zBk8}X<^K_Ct6Cd1Z(YHFo%sY&>>*-UIS+U7ib>>GJHVNR{N0bW{^qa)ZrB;?P@z)n z6RV#`z#$#tbReSnG63!uV7zdk*2_(?(TFub66?50kx`fQGzIi53Er7(uR{ z9WGWF_X&^`*hHQ&ImOIA=o=r(U%@qy;_~e zs5d}&6cjAx?V`nY&vk~U*@y*|CO{CE;lgzewl#+Y;8)14B^rxs8|ZNrza{~_%Q9}d zSULERN?p2U$(ga=|GideMzgNhH`SWpd4`Nzxss362R9bM-rS$>mC{Pm%1x)dNpxg; zKZ*7lxtdwm(M5=$r#|`SLWS27n?2s7o4N`~(Q125jG7CojH$~d`C?rhxN`Mw_UO+P zk4*kj@n|Q)#>imo)I+4<2e?lQ25&5^u>I@Q97P&_mPt&bWRr)kH%&rRP(ETBB4%mO zxIs|*(`6|Orpm)M6;~%5UslKPymlVWb1WCk$~~+0dM5bx&<)bD6P3d-E5xe+;61xd z&ut=+Ta&8PLPXHl^)7q7jG-(;g>8tDeG;cWpE$m)?6jhb+R32BjQxtASxOYHvk%7t zvFkPX+xt0Ro!cu53Yx5&cFe)PC(^76{`4vpIMuFKp)$&Gj=HoWwgu1v){0}m9mTtb zp!hMoe*`1R?0EjwUh^w$+@LVE{3GHwoT(dlEJC`=nJpt5cdk)o)qMVDR!IrG}u2hFn zQX5DBge<arf^1P9Bj{9)5)g)r+^K^VzlrjtzdQaMSjm zCw|2Kfz?x;puCZItzaGBw#4ZEz4Qm;z88&Ja~qCpS)XT~XHDj-zVN5e19EgtcA#>oF2q`fRRF1il>pTJ;=mTzQvc>LS^(oO2Sp7`_z)jUUg; z03~PM<)4`=hFrkFgOX2NtnQ_xutFXY&>SI*eRlw~`yvsL55>8G_zrFjll>L*?7>B9 zdukwl+yQK2DN!nth9dCpcBGL|P7a~Xn&Roa{$zPxPpfRjS-Wb|DlC_lOZ(^nchPIB zg{ZmDj=EwsF*?DD=^g&ei+4vKu4_L0yi-4DTNm#*S0{UQ8+cpfU0uO6zAhepkSm1{ z8XW7cyO+BFO@B_xC3-#lpCiyq?_V0ybPgHhsTE{Z&Orl2XwsDO0?8oS={&9*~T zvKj4g{la1AyVeW+V+8q15lokGfF1J6C%U(L6X+KxLfM!(Ln3BFBG&*P^DE=YZ(1KX zuMukUK1)^_C;}pBZ!e~bWaHmev6h}HQ|weWvQQMk<=mP|YA+t#UN~Ck$(hypU}^d+ z-fXEegpDKtHJ$VyGUlnl4cEVwFvVhxLX;Wcy7N)Nju6%kYgDc*>#}CMVahHc!yX{* z9)L`iVyXAOkguLW;3?z0((ND6P=i(I+NlwLK1zQ1&OGY4TCw!`Z%#Q;7Gj}yiN-^! zkT7okkYOzj2H{PGybrBkh+E`o{A`<@CSOMB9lQ@RZ4>ICRnY^S5$c29!nLbHW6Qcf z&se5QGi=gX3wBq*RT6ZoR02;*fdCeow!wqXd;F}xKNkc34B9s;XRrGkR@e`Wdes4wI)+D!84sM@W$KP=Gls#Z@sdMgKLuOYOuZ6Tyw{E(k7_B8}Tym(DpE$)p;{m~$J_nt!KX8S7ETMIj$C%Agh-27@+7_b+-emuZ0xOXDR6zr2-1O}Vu<-4iKeriP?G$RUqt7DiJvL|4QtE92#^IoGu0nmwe%|KTuram?)+^w z)4O5!KbeujS!!TugbLk!1_$=JiaA)KGB~m!!E>_SRG_je0G1iW*$b%Grf}JD<9BKTBa%Q^zJpSxj+upP zRZ$rLDDGR-FdLqyIpEVoO#ssyqU?BaWD@~@9V>Cb!#KNJ4ymSg;*L7+RTR}90f9=xlhJKi#C=A$!vFtp97CPOoIz#dp3T! zrGH2U47{%~?SyY#q}oQ(pKC_+B5~dzodO z-ZdwwM@;<{ok8QP|0<_fNaMAx+-u_NE#9?k9EouXNnv6J6Yvg`eJo->Nt;8&$;6s$JI?#mhC^IC8jJn4bM&MVV&`$VaQUo@$i zF=Xy=K0Lo#>96xX4@^ zAru@Ufnblb$ZJe`vy2sC36;?T0!@702f$4)qz=E=O>`{&@;^Mn4thc-{V%%*dc{Fi zQy%DIIyVWYWxW9#1W8^1dz`U1E85WjF-i@f>OvM)D6i;ix@vXrPjS$~?J9;okTio*=jAB=k~gk5 z0B1T6@D~O6$odpN57`yYIEgQd68#Md!Md~Z&e0al4qOB?t7%BCucACc@!lkC5x3F>wm zJvx^n`LXq~SE;RXVgBp2E3S4K(lg9Rg8Pdv=;a%-rUB=_!@!;)GJDz5PzU{%*6)*K zl(J8Q9IW9o0naZT0zaypJ|%>DS%OZV5jc7UfC8Rgz#QKyynVil`g-io_*$BQzhZS% z#e+BXP0k5@jztxht3Wj3OP<&`;2+h)eb6b(;BxSh7dP17QKT zweq3}+6{&s|7idB#tH46@&HT9*dhIR>;)q4Q&OtL2%Fh8`|R1<6Pd+CI>f5vVSVp? z#;OXeG(@V^wti6nKj~L|^ZC~Hd3uM=sGDeLT0#c6MfjGkZv$a=DuBQhrH zy-BrAD-~&W4XT2mnTWIM^pniVgG@QN$}*rUDTJ-s!R) zr$h(z~gHvz;fV6xcfLXe!h~EoDe`xXbfc|S2HOOWP+vIj#K}OnI9NOw(AjR z&c@|dyg4_pGj&OK!8!-?f~>p@beTYo<6bJJh?4gTrg6RN^;RDd7Pl%XG5!b*OLBJo` zvwg{+GWOr{zq8rYJo{kLcI-d$vAU4o`6Rr*v$)_9uPDA7L_3B6r9XaynpWaHFRev2 zXLU0c9!e7O4M*7?KA7e;jyC-9X!@f;tnClK>GA<2^5URU9U@_KMe}S{*iQ&2*i}ZRoYTN5Iv(teiG&cf< z@mfLe$vRu0KYP4dS7(%v*ViBQAX*6yKW7GYhs2OrgY&a0uD<1O4NWSyjCE}<=$ypc zWAy9Vqt8^@;`cg2-*1Ud5b$o?ZWQtGOR?ZJc_!GZk^Hr8PHS1rXxo@M;7I(fhBjtU#^jdjKP)q91`w%AM_!cn{^m>YbQ=D% znbXF87KW7~JvkX{TI5!|M_4uKfsQGwB1ZO01P_^sKpMzfZDYMhRN(Jf$Yt&X(Vo0E zVLVHJX($Btz^wZuu_aD|r=f6Ykq-E+!cO!>^s5mC&J#ctjtFP~@RkcQKy1kc`J(r= zs6K8ElC1rDk&??(2jgeHr{K}gBA>DeWp0iq0`%|w{ao&&Jmh*pO9b6 zaoLXxB-3F^pLFr%Cxd+iapwr|m_v$Uy<_)Dd&`V(cq9{YhqI#RsRg@80R{BW(2cX4 zubqg`N!QDtJ*C&pvQrZ5a&2BdM}NLR+O7cAZF6O!x$cCy} zI^J&3&R`P~vh!)@ux@@*+2VKa#K!O5N5QJjwUutjtU(1R8$IVO0$Jso=N>rnU$ZRQ zk)KOi$m0Kd^lFPv!gt0#wmN{_Px1=2S!SJq2jca86)uq07gZ!kVIZ;}?9|8aKEFq# zQwKzQ%EDx9(6u^(r{5Bwb=II$lK>7fUO^&gc9qJc?3nnc^b##f1UpW%0uCe=Y6sF6 zNq#0MnydxfU8&Uu7n~Ib-H-Vrhl@JCRyCIxZVCl2%fwL)2&+_4YXVMPD3?4vJ^rjc zkG;6fTc&0vDB6FDuU*D-Z9=hPM*7kKxV}8{nBYyZOb(ZgDoE^}`S8x0C}ETp^Xb4* zMDS=;z_R0tO+ip~PwiKTWzAQg2Woj%X-0!Js%8Ol)RO(6Jk!*d#|EN67pqW9MRqE$(xqFB_?j1K+3ovoYkt1cXK43xNDkYyfQL(I1L6&9 z+6-V)wfURqj@o1L?Z3R!Uccbsg}2S8r>&c0uQTHJ>jq9(IF_KQapx@o1Qlkp^5=H) z%pIcWcBEg8g&7&#a~ih@;XK!JV@k9W(c*D;&>OijAybP+O|V!h1R!hgS$*x5SE17u zw%UrqmWjbl7hkN9SNJaR|74|;mAzaRcAb7T*KODJ0e!>%0R>oGI@!I~{`ru^eZIq* zEV{7$WrC_WW*~mM9+u6(WktRK{VS)tiv+A$rK`+r@r`(O5_AT(05WB;rh&38^JPv_THBnf4l(~#qW?(vK##z7Zrkw8XIwX z!J-N{eGbTLz=6P*q8BokL4S$&z!eO#vix|jh^b?OW&K=@-ffa&@#Y+KkYpGiVkeQC z@bJF#g))cZwBCp9%_kjpY!MOCFspV8Gx=y4sdAgY3}J#_@L$9&eE+H#RL&0#{mekm z=Z zFjF)SW^MiH4^9MYRKuvSv4Vkg7DiqgmxuB7vP95bkKriZrL69)F}P3oyr=A$<3LLd zA_@4q(Jf@)Y?KQN(`&`4NFCDbJL&3$-mNtF&))dW4EetGn!5&dEWcoEdrtHBb+MH7 zgU4k(Xzw2Pe?YS3opPj*m~F7d?SaWZB8pAk)fTRa%EYP)t*0+~IjnpDcV<}qcvGc$ zxpn7ggWCugxeLXCGJC|@-b*2vJaT3r=jcqQ58&?upVFEjQxxU zl+a8Ubl-W~Bpu}1TpyHJ&Q+#YV5W#S$9%_#M_rD?>|EsKs%VLs`2KY|-Jft3j~!Cw z8+GBqH&~xi!L`s?OTJ1KN4ilzE)x4zo01_2_8o$PhXTHzhuz9 zeQUBsX_H&?@~vpBzg@CwwklKy_|ccGoCa{@Ht_~2F9Ix)ksH~#XDO20eKmJW%^N9t zFPLEc_?p^av6)TUvldY|s53jVk&aXSP25X{GX6RK6fJsYiX~IpLnG`7y>eT)4q4}I zgGc1t8S1<}_)40adJO#hgnydw5`7D)*y>cH6Df{?f!)9UTe@jK{=%Hd=O(i}-dfbB z!j66U|D>VMPTXE%8#r~ryO~+nQbp@-!ex(~P8LqK_m598V{f*>k$tXM`d|hK`t=cS z`txD}=x<5^Zb#vCGlsa8ZJvsnJ@(VI#{T|6EM_+x(&-^EDeI2eSHefcPJ++Aewap& z%#*ZJ=9VO+2puz`#p0|P>}uX2^#QvxTv3KyTSN2V2HombxF{U_B~_Qr`-{m0hzEdO zR@CzaOg(oHgCdV35Ge#qeyHJW!++zG%R}F@vH*p9J3OyPdXwP1K9@_(0#ZH zOU-;eC`31H_(OzipFU+Ok!QaLRLzrl1j^5kj!iP14*5<_x+3l1_tzcLLzVzbWg}aC zv~T!1_C>N%>Np`fXWuPfim^xjoJ|eN2VhA5sCzC&$8}C$f!-Hg85!<)`9l9(G+)HQ zQdUb-kzR1!H*<5E*WL3)H%n2cXrzMR36VJApGhU6k;qGt`f$@(y%FjdsUTY98;lhL z%Eutt7duI1qe^{c-H7QE$FJEC_x}u@T$T7m#T~r4pMd|pbRcYCt{G4IiVbF;djYxL z(kvge7(+j9ll1e)slEvVNAy!%%5d3{nMag(Mn@3N9Cv&hqxcm%hj zLw(52a}k>kdSCjwp451^`k;9`_nDn&>`0#0xO%pQGUaU@W}*GcQciK~+VnI_N1>`AE5*5HSLmft*a}()eYG05B zbd7yEs0YmTRw556IAl@|nLCtFW-y-GZ@6Y9^m=3_#{K#;Rela(lg6lb;t_IXx+aIQ z9d!E25k~8h5ivRmPHY%GzGM~{ALg52=Z~|`3^*_QO&xUvL|$NsJ9luZd+J=Mbja=L zB2xIxfX&>QS_8?v*eZi}@HEF9SDXVqzqi-7NTGLwN?|}BQl`W$e>wmQxIe_i%!01< z0habx`oKn>fnU7Zjw7{7keyBV+-tqIJ5&NLTg%J8jF~>yhn-p*;+@=Z3S*mAx=AA< zsC`y#!^U1FUh|R3EYrRz7h|Ib1M6IvY4ADYZsJYCH`~JiEJ9!K+&x(%TK>(F z{A%uKdnX#l;#*}=(eeETp?-K0hW@{N&h#Kaa^>~-Zw_pW8N2rLuaT6++CdWYCd4v% zaaF6EZ@ML%;cc}|MzH>r!+Nnlq&a{=dRH;AAf0`BZ8JSse-gU#^D(47gv~57bAM|s zCFrO@IBwbI?@TA%QTA}pQbX*Bud&LpqBFozoD^~~Lk!Fd`GrJcaNFkxMl{?lG(na) zkhCSw8NeUQp`>Ip!f9C`xYG%DV3NmskgtQQLt4|6Cc?yLZ246AB}@pDr?{12-a?=tUgxLjiyj1)LaXI&R-h{d^4^W%v{zy#qi}$1rtL zNAX=(;wWn2B1ll{v?=I{EFngSBunt#BcY?nySVPeelfwAo9Tz(U&{b%bfH*O1C_`J z6N)8!bwu-e5T85A7<6YDo}_Swl9Q!=)^HNEaYVJ5lqw#O!1OC4n3-gU3`>4z+7R%~iiCV&wjzh0cAkEK-aHa`DDVkw*<7x&) z?I4V{Au{!`@ABW@aU}_E{|POAtdS-fCn9HR^ud1Js+(S0@!6+ms+3I;o5s3QXARMO zYSROGpiP&gj$Q0`?MV_Y69X<&;K{+MRzr{=?OXv>pubhvO`qGteJ4V&Jw{lqYRrNH zI&rY;SCh8LI6!Hg5H7I*l%*A4-_+v6%Eze;-=`T3@Z-A)q#*QF>H9RD9hjqKaB2@= z(^T8h7N)IW0UyyG_;9?(Cghm1USkiWe@wx%nP6RPOuIToLRde!bC6dYznH4#0T|*3 zZ0G`{`}hDGR8bZh?+rrZR-Sqa?zV6+;IRP+8L@;%XLxm*ij$1Dinky%+-9Ha7rKdfWcH#aZf_8V$vsgm z+|l+z_W(zt4Ob6&66z>o{xIj|hC#aHQ0cdZd4D!>H%6RG*RtP#SbJdCc`EHWe*r8q z5AD2Iw;sJ6-d*fH$>Ui0`^L)D=bSNSWgOwqsQ`DMp%7+pnx^t0dXN<}y0E+P^AT}M zqADX9N6Ej*lQ`jIY}fUo0!O6C9ppa{@BKf!VSZb?^Q}N)^4?r>YlPp4_JDOqG@y+w zFHjye`ip#sXdWCn>O;mXLBZ2&)H7BlOvS{WuD>z7vYxi>>{*-O^-1`nM^4m&@YPDU zN64nndjXs#@yie<%yh51>hwS_VUOJ;c%PRyBgb9C7FT1mG0xq5;N(q(gUa z))rtrb@ESuyWq<0%gbp8=Ox+!Qu|o)(a?H858d|W4Bsnj2?Ynbp7_D;sF%cG66QF&XsiNL^F5`sP8}$jx$~A>Hx2-Z0zA}I zd-MwbhEe#K=lV1wJ0vnKc*yH>_|?MVv6=^v9$kvP_eixTN6%G}4XrGN5K9&UI_Um3WbH zzq)A;-mPW@8Q&PGmCv5BFfv_jQXjt(CfcRZBD4?os&@`GCvdMMMiZMN4!toi!_#wo zNARriG?uB=?!>zIlLCCN+DmBaWn@YE=WoEz&u}2S?;Ar~F#J;VrwOE*t^WJ^^%bH~ zf1=xeTrV!l(#Ptcy8DffhlH`!L9gQf62*1Dx}6$V>Xr&>fEkJ=aKmpY~ z$W~}qI9>0?z;Ey_S`B+lY%J^DbW1nRg`8Z_#*9VV-NNjrO3@zA3{l3m0M6s7Gqr46 zrP1yRh8C)r(2&yvoDUPzz0~~5li<@v^+<8`Vu25@Kq8z5`x88X!17sa9|MVt#72R3 zlRUta2uAn5p=8(8vP>X)t}7BqNN9-MeEBYiwgoVbehZa<<~q$CqF9tZj2>AMLXb1# zWkzvru6p5xM=r$l8EC4E*u*XtrY@TF)WydwI_snB=*U)p$hoULPMm2?0_gZp9Prvj zCo?`JJ#f+vzn|BNV5tq;E5h|w#=bralIDQ~6&F5DgxppEgR3J<5jSfT5f zk=Wrq74a8&uTRY8$?bFaE4|p`-qqlgw7eq;>St(}X`%Rg%t+-{LX9~W1&3WaD&eDmM7Sf6i?M2BH z5vl`8{4l(=V2@|9R|oLs#)C-V=i(Spr9g>+lra)q)3Pamd_%wx6F)a7Umq~U^DpNg z5hDrWa$}^iU$6xpMBO_SU>s|)Y%onb6zzd>7g7F9TCUPk>K=J4P*;*>m?Ifj|A0)s z=?3f^EdGfZ>GQRZXODPt*TO>sf$yHa^Fm0`YPz;weW10$OOU21pjRkPJKBg&b=E{| zufTJ0s8=VV-P3x_Why`_ZeoYtLp*yX!eIWC#Bg@DG284;P4#S}rw&F%1&F2kvA?k> zsdycX`f(Dpcf)d+5&KU$l=?sS4k|I1Sh3p6to-Df*+9p^9uLSD7lBg_Z~pTT9+57} zW!Non|Ew$djj%-6aZoDuVuF5ljix3C~c zt4)8aQ}vcP>lir#gFw6bK&gFcjYu!w7AYNjJuf&Ir-4YTXlVNdV>!1gaC^mqhHd{x zahj9A-_oq~BE%SOuS6a(_;tUE{n8+b7oc-Lsv#tb7^SU<|AYlKN0YA(FtWgrO#|c` z0frdIC{X-z)KP}M7XLj1&4158qgmP>IdOGYc?MVqMUj3)7e^&14a03wHe}z6Nbin_ zn~!$N5AUw^Zu*iF)Q&8{@Kt^kH!=k|Njwx$wTV2Gpz{7{L{xVcs=d(ByGA_YX8w+7 zd|qK>%Jn_P43@=0DA>ql7F89^8dd&H!Jht)>Uj$hq*nSivwUf5H;LT3(Q&-dR(3PM zWJyMz8#MaLtgYQfB5)y$j6=$fEPmmu3+d;vaqpe9Devv|D`!tRl0|PTgL!2pc%JBp zV=LG3>4}caM#Sd&j1^hZ?)rkUYBP~qb5pj&B`D}B#CKpMp&0IMEI%0wt=by|Nz=Uo z&(X8t2jzaa#*P5>v`F}kh zCKX?HiYb{NDkT3q{kbD6b001J>1Bc4`p|Ijxfihe%lH?OJ%_PoJP|j)Bv8WCte6{j zso9I+qd{Kua)|(R@^7&0(q`h;51+Z_Td{@Cp`+*&#A2X=wp^-uXH8spfp#2J!!M8< z*vbrwxgy5*#X^7+Vzg3wDzLq0(-692sJnJ-rWJz_Qp@2vA!#}xQxV&;bF}!qIl;aq z!m(Qouak~w08|?TcBy9IP@H9;Z}idvE{cB41{#BiCPO>uKG-A5ccxr@ii@TGvTp$S z(vWy;D(A=fmlTv@Kn8#zF2DwL6gDF1xz2qUk-;<;*dGkxj~8fjHjESeZ{4REM374{ zeAB+%j8nVz*>_G>TgFc|#B8XAS5AwRN#E9gXpuEP%u8tcAn6;Z-HC(o`zN*U{_ZI# z?YS|k*j_pgq&lmX6-O|W9o%bMgxa|Ur+Z4+HV8(Uit?NVBzNo1TkTK(q%P485l zea7f2f07(3g zM#aGb@%+|6F-+)rr7Nt!o|EisUz-2i$Ds5)=RHxhMRJQ3gq|bVKp|B+dzR z4utpTqfB;K+={olM41&n-)l8@v5@#H>cm;F0VrJn$ia;-0E)@{3FHTqQ$>vvBmdwp zk^T4Q<^7jYO>tzgT`vW-t~ee}5u*J^kl%w*h6^@i1NJdVe0eW@8|dv-F8?2IZxs;7 z(!~!F0t5-}76O9?cZXmDA!tZ&C%8j!&ES3s1a|@?xVw9BcNskRpo6nb?*0Dzy8E#E z1k>HsUFX!PU!6KuN)MTOzr-zlPPP(J!=eL7*@J7mLgq^4uz2X&Y>O-LjH(?f{;lwm z&Vl($%i}c0|7n)SGa|S9LB4HhJOC*Q4-6O3j_1`Gf&tCVx{L2q8>%NJegu@(>}E^#tmrIl?!S+W$#D)XQr!{;~Fx` zl$3Xccu!(q&BLRl$=SOh&3cMp=j~1|PWcxW^1e-TuUNk}#E{=$zWSTd z&mLSGQ1RuS$n@k%+zKawU?GN|(dCQdoIs?I+x~d2?A4##n3K!JV`vorYIjjtOZ59h zgN~qxM90fJc~fOKKE97b{C<7SsnLodX}bzii}@hhxy z6ZS5aj5{-Yb%^0SM}{z!27>t^>=)rPVr=mDBP|C+jus^(aso#kj9k+%vU9~X97M*3f!pe$w*KZM2A}R_QIr49DgA7TriF? zZubh9w+bOHM}s6ubp-g~wXZj#$hc(^(ZHxdW(8)I!w+CxovW!fu zeM`viIjjz7htk_nkL>IOJb$R$L;;dkWF4{gr|r3kYqZQGWx}6^_ZS^Y1jGXpCSRdP zuRb(-kk$6QM+a$!$A%&qk%syRMjGOGvTe)~v<~%$#hTAz?9BG2&2`6iX(-FdNfpB=Dj9crY zwL+knNiSzLP=IK^4tnVJy$17X<1q6687wpFRfz7j;I#>$QZBdv>92u-GJx$UnMBwK zJ)ul92sVb3Cb$d{t`lpYE}HO$4%=CCy6DI!5GfN+u>rTTLy4xT8J z{@x!%&2HK7x8>}zQHCbxug9E7np>)Ao+X`Fv*Z*|`jy}~U6|tb-T$$^!8P+iYi&hw z|6M?(zv&MDzCKALHcQkvlNdY1k$(*8muAVD=In4wV9b#f|8hfEW5uRYBJqb1alimflU{7n}N`IYak8!TUfV9UKDO z=Yy)}V)M0xeBT?MBKQaUi4bhXGSdF<72@cR{exuSv6*a z)YGcO9W)t8M(i%tW49Ox>avKXVeNLxe!J?FK7PEuQC~JzC8|f<;JniORGnq~UuPn+ z-e14ytBN6ri9X9=2q|ND>4gv3t?@)k$yWYJcq5DFZ*qXz@f@`yz%We?L5T*T0LNbq zt=%%04xs?wf3oi#>d5OWC!|0$zGQr~o;affUP2-*ZlgF+>;UHk6MHp*m1Z}+n`+Yml2q`cd3g+X!+A*r&1lRGi0PbX+Ty*%Ao#$^X-ksp9D`i8{l8w9gG$W_*PQxoG})G7}!dq7B>1 z(B<{LFohj7qd*YR=1(n96lGqsk3^VG9L?Dh3SsG_7J1aViU8?2R^^dD+dxm!Tf=(bNc10vt zl zfZlu!a+oy4g2#tSnnWUq+akH=;6ir>bN^s~{TaxgWf&t}(Pbhim+hm$US=Y+0Y3>r z?PWYXlVrJ9L-}$k^N4xowKCJQO(sKWmUFHa=CE8m!T6eee(2YSm|V?66glq$qxk!~ zbOOYJ{R?C};#57!}IlxYhXEF?Q7_f+G6`Mj_XreW> zqxRdsa`?>7A}1CXO3!#A?;P)$$2%~5;IE&F*?DmI-eEh<6HNHZd?c;ovGulNAE(F? zgEopP%4yXn?ZYO)Za7!fisX7OcD6$v8B?HQtVgU$>l@F@-3U`=b!2-->OfQ(MDOqT z1kiF+Humm32z;@5bte~o=r*4nOU7><1f;29Od6zw=TT6(-}15O2~m|bbCUW5FG1eK zsLOh{ePf(!Lqfk~jz+wXLc%sA!F~0aMhkLAhBji2lten&3?k`io-IG|jq~y|GuPNL zQGm8!UJ@MAtVu?m(zIcK+OB2YRSoMsD9r-hf8wrnID(BMUeEeV*8lR80M&qPqL%a@ z9ej1+hGM#Ie)_sz1{s?ieyQ+T(IhH<5na@Vo1XbIW`SxX^ca>fnp}BmyDygAG2D0} z-4qFI?nL6iI?xns-<@|7IMagePG)I zqYkj{HK;7DlfW(ZT@-P_u=G~&uu8SHMtq8(R*R&$GO=qOUw*)WTx0 zl<&+o^jB~Xag&L`jWHh;;&{Je^mUYY>Fj4<$SpY}uLiARRJk3Ecp#?odmQ5nDGfoQ2rVmacu?bAl zTKWn$yCs%b@ePXIiIwcXSCQEC%tEkhWN(WiKW6qPKjuF^X1D0&- z02+Q~l@!R)8+u9EWC+`c*{IT@GTFGPnX7fd_r1Bcj!fmjqeQ8dN`4^31pTXtRLPqqMoHwPB-D@KU74+gdJF=GGp zFsfr}bN#P(uQm(Q$s68mNgho!{KL=0f0{THftYuiZTRbsQKc0DeTo?(Df<4kuLT`J z>PP%AcG73Q*T&D3(v+@kKj)yy4_QQiuYam7T}M#o{)1-X5-- zmct){SGhmRs%}r#sfDN0TwEC?*uqoCiiiiMEdz~AdW~)~h0C2T$j*K0#qkDyG5i?{ z|1nVG@MscH?s%2}Wn~S-QH@0~e?CD|VKkU$>O(y-n8Irf>o<9>(&TF*Eap&m#BXwr zp9@>&H!#}IkD6)8{w~2^Lwu;0^K4-h7$63_eVn4u zQ3dUyJy$qq4-WLDf5jYpbsLeRa@^TJ%Ovi^&)uoROziZ%4Xq*0PO^2qL6wn7eEmJK z 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 { + if (ctx.body.toLocaleLowerCase().includes('yes')) { + return gotoFlow(registerFlow) + } + await flowDynamic('Thanks!') + return + } +) + +const welcomeFlow = addKeyword(['hi', 'hello', 'hola']) + .addAnswer(`🙌 Hello welcome to this *Chatbot*`) + .addAnswer( + [ + 'I share with you the following links of interest about the project', + '👉 *doc* to view the documentation', + ].join('\n'), + { delay: 800, capture: true }, + async (ctx, { fallBack }) => { + if (!ctx.body.toLocaleLowerCase().includes('doc')) { + return fallBack('You should type *doc*') + } + return + }, + [discordFlow] + ) + +const registerFlow = addKeyword(utils.setEvent('REGISTER_FLOW')) + .addAnswer(`What is your name?`, { capture: true }, async (ctx, { state }) => { + await state.update({ name: ctx.body }) + }) + .addAnswer('What is your age?', { capture: true }, async (ctx, { state }) => { + await state.update({ age: ctx.body }) + }) + .addAction(async (_, { flowDynamic, state }) => { + await flowDynamic(`${state.get('name')}, thanks for your information!: Your age: ${state.get('age')}`) + }) + +const fullSamplesFlow = addKeyword(['samples', utils.setEvent('SAMPLES')]) + .addAnswer(`💪 I'll send you a lot files...`) + .addAnswer(`Send image from Local`, { media: join(process.cwd(), 'assets', 'sample.png') }) + .addAnswer(`Send video from URL`, { + media: 'https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExYTJ0ZGdjd2syeXAwMjQ4aWdkcW04OWlqcXI3Ynh1ODkwZ25zZWZ1dCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/LCohAb657pSdHv0Q5h/giphy.mp4', + }) + .addAnswer(`Send audio from URL`, { media: 'https://cdn.freesound.org/previews/728/728142_11861866-lq.mp3' }) + .addAnswer(`Send file from URL`, { + media: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf', + }) + +const main = async () => { + const adapterFlow = createFlow([welcomeFlow, registerFlow, fullSamplesFlow]) + const adapterProvider = createProvider(Provider, { + email: 'YOUR_EMAIL@gmail.com', + oauth2: { + clientId: 'YOUR_CLIENT_ID', + clientSecret: 'YOUR_CLIENT_SECRET', + refreshToken: 'YOUR_REFRESH_TOKEN' + } +}) + const adapterDB = new Database({ + host: process.env.POSTGRES_DB_HOST, + user: process.env.POSTGRES_DB_USER, + database: process.env.POSTGRES_DB_NAME, + password: process.env.POSTGRES_DB_PASSWORD, + port: +process.env.POSTGRES_DB_PORT + }) + + const { handleCtx, httpServer } = await createBot({ + flow: adapterFlow, + provider: adapterProvider, + database: adapterDB, + }) + + adapterProvider.server.post( + '/v1/messages', + handleCtx(async (bot, req, res) => { + const { number, message, urlMedia } = req.body + await bot.sendMessage(number, message, { media: urlMedia ?? null }) + return res.end('sended') + }) + ) + + adapterProvider.server.post( + '/v1/register', + handleCtx(async (bot, req, res) => { + const { number, name } = req.body + await bot.dispatch('REGISTER_FLOW', { from: number, name }) + return res.end('trigger') + }) + ) + + adapterProvider.server.post( + '/v1/samples', + handleCtx(async (bot, req, res) => { + const { number, name } = req.body + await bot.dispatch('SAMPLES', { from: number, name }) + return res.end('trigger') + }) + ) + + adapterProvider.server.post( + '/v1/blacklist', + handleCtx(async (bot, req, res) => { + const { number, intent } = req.body + if (intent === 'remove') bot.blacklist.remove(number) + if (intent === 'add') bot.blacklist.add(number) + + res.writeHead(200, { 'Content-Type': 'application/json' }) + return res.end(JSON.stringify({ status: 'ok', number, intent })) + }) + ) + + adapterProvider.server.get( + '/v1/blacklist/list', + handleCtx(async (bot, req, res) => { + const blacklist = bot.blacklist.getList() + res.writeHead(200, { 'Content-Type': 'application/json' }) + return res.end(JSON.stringify({ status: 'ok', blacklist })) + }) + ) + + httpServer(+PORT) +} + +main() diff --git a/starters/apps/base-ts-gmail-json/.dockerignore b/starters/apps/base-ts-gmail-json/.dockerignore new file mode 100644 index 000000000..3c5abc495 --- /dev/null +++ b/starters/apps/base-ts-gmail-json/.dockerignore @@ -0,0 +1,16 @@ +dist/* +node_modules +.env +.pnpm-store +*_sessions +*tokens +.wwebjs* + +.git +.gitignore +Dockerfile* +npm-debug.log* +pnpm-debug.log* +tests +docs +*.md diff --git a/starters/apps/base-ts-gmail-json/Dockerfile b/starters/apps/base-ts-gmail-json/Dockerfile new file mode 100644 index 000000000..5cc4e424e --- /dev/null +++ b/starters/apps/base-ts-gmail-json/Dockerfile @@ -0,0 +1,40 @@ +# Image size ~ 400MB +FROM node:21-alpine3.18 as builder + +WORKDIR /app + +RUN corepack enable && corepack prepare pnpm@latest --activate +ENV PNPM_HOME=/usr/local/bin + +COPY . . + +COPY package*.json *-lock.yaml ./ + +RUN apk add --no-cache --virtual .gyp \ + python3 \ + make \ + g++ \ + && apk add --no-cache git \ + && pnpm install && pnpm run build \ + && apk del .gyp + +FROM node:21-alpine3.18 as deploy + +WORKDIR /app + +ARG PORT +ENV PORT $PORT +EXPOSE $PORT + +COPY --from=builder /app/assets ./assets +COPY --from=builder /app/dist ./dist +COPY --from=builder /app/*.json /app/*-lock.yaml ./ + +RUN corepack enable && corepack prepare pnpm@latest --activate +ENV PNPM_HOME=/usr/local/bin + +RUN npm cache clean --force && pnpm install --production --ignore-scripts \ + && addgroup -g 1001 -S nodejs && adduser -S -u 1001 nodejs \ + && rm -rf $PNPM_HOME/.npm $PNPM_HOME/.node-gyp + +CMD ["npm", "start"] diff --git a/starters/apps/base-ts-gmail-json/README.md b/starters/apps/base-ts-gmail-json/README.md new file mode 100644 index 000000000..ef1dd6c06 --- /dev/null +++ b/starters/apps/base-ts-gmail-json/README.md @@ -0,0 +1,44 @@ +

BuilderBot

+ +

+ + + +

+ + + + + + +

+ + +## Getting Started + +With this library, you can build automated conversation flows agnostic to the WhatsApp provider, set up automated responses for frequently asked questions, receive and respond to messages automatically, and track interactions with customers. Additionally, you can easily set up triggers to expand functionalities limitlessly. + +``` +npm create builderbot@latest +``` + + +## Documentation + +Visit [builderbot](https://builderbot.app/) to view the full documentation. + + +## Official Course + +If you want to discover all the functions and features offered by the library you can take the course. +[View Course](https://app.codigoencasa.com/courses/builderbot?refCode=LEIFER) + + +## Contact Us +- [💻 Discord](https://link.codigoencasa.com/DISCORD) +- [👌 𝕏 (Twitter)](https://twitter.com/leifermendez) \ No newline at end of file diff --git a/starters/apps/base-ts-gmail-json/_gitignore b/starters/apps/base-ts-gmail-json/_gitignore new file mode 100644 index 000000000..b32acec90 --- /dev/null +++ b/starters/apps/base-ts-gmail-json/_gitignore @@ -0,0 +1,10 @@ +dist/* +node_modules +.env +.pnpm-store +*_sessions +*tokens +.wwebjs* + +*.log +*qr.png \ No newline at end of file diff --git a/starters/apps/base-ts-gmail-json/assets/sample.png b/starters/apps/base-ts-gmail-json/assets/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..de27372044c8bca6f9701b4777765a4a5dcb3d14 GIT binary patch literal 113405 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 z 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 { + if (warning.code === 'UNRESOLVED_IMPORT') return + }, + plugins: [typescript()], +} diff --git a/starters/apps/base-ts-gmail-json/src/app.ts b/starters/apps/base-ts-gmail-json/src/app.ts new file mode 100644 index 000000000..5f5405344 --- /dev/null +++ b/starters/apps/base-ts-gmail-json/src/app.ts @@ -0,0 +1,131 @@ +import { join } from 'path' +import { createBot, createProvider, createFlow, addKeyword, utils } from '@builderbot/bot' +import { JsonFileDB as Database } from '@builderbot/database-json' +import { GmailProvider as Provider } from '@builderbot/provider-gmail' + +const PORT = process.env.PORT ?? 3008 + +const discordFlow = addKeyword('doc').addAnswer( + ['You can see the documentation here', '📄 https://builderbot.app/docs \n', 'Do you want to continue? *yes*'].join( + '\n' + ), + { capture: true }, + async (ctx, { gotoFlow, flowDynamic }) => { + if (ctx.body.toLocaleLowerCase().includes('yes')) { + return gotoFlow(registerFlow) + } + await flowDynamic('Thanks!') + return + } +) + +const welcomeFlow = addKeyword(['hi', 'hello', 'hola']) + .addAnswer(`🙌 Hello welcome to this *Chatbot*`) + .addAnswer( + [ + 'I share with you the following links of interest about the project', + '👉 *doc* to view the documentation', + ].join('\n'), + { delay: 800, capture: true }, + async (ctx, { fallBack }) => { + if (!ctx.body.toLocaleLowerCase().includes('doc')) { + return fallBack('You should type *doc*') + } + return + }, + [discordFlow] + ) + +const registerFlow = addKeyword(utils.setEvent('REGISTER_FLOW')) + .addAnswer(`What is your name?`, { capture: true }, async (ctx, { state }) => { + await state.update({ name: ctx.body }) + }) + .addAnswer('What is your age?', { capture: true }, async (ctx, { state }) => { + await state.update({ age: ctx.body }) + }) + .addAction(async (_, { flowDynamic, state }) => { + await flowDynamic(`${state.get('name')}, thanks for your information!: Your age: ${state.get('age')}`) + }) + +const fullSamplesFlow = addKeyword(['samples', utils.setEvent('SAMPLES')]) + .addAnswer(`💪 I'll send you a lot files...`) + .addAnswer(`Send image from Local`, { media: join(process.cwd(), 'assets', 'sample.png') }) + .addAnswer(`Send video from URL`, { + media: 'https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExYTJ0ZGdjd2syeXAwMjQ4aWdkcW04OWlqcXI3Ynh1ODkwZ25zZWZ1dCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/LCohAb657pSdHv0Q5h/giphy.mp4', + }) + .addAnswer(`Send audio from URL`, { media: 'https://cdn.freesound.org/previews/728/728142_11861866-lq.mp3' }) + .addAnswer(`Send file from URL`, { + media: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf', + }) + +const main = async () => { + const adapterFlow = createFlow([welcomeFlow, registerFlow, fullSamplesFlow]) + const adapterProvider = createProvider(Provider, { + email: 'YOUR_EMAIL@gmail.com', + oauth2: { + clientId: 'YOUR_CLIENT_ID', + clientSecret: 'YOUR_CLIENT_SECRET', + refreshToken: 'YOUR_REFRESH_TOKEN' + } +}) + + const adapterDB = new Database({ filename: 'db.json' }) + + const { handleCtx, httpServer } = await createBot({ + flow: adapterFlow, + provider: adapterProvider, + database: adapterDB, + }) + + adapterProvider.server.post( + '/v1/messages', + handleCtx(async (bot, req, res) => { + const { number, message, urlMedia } = req.body + await bot.sendMessage(number, message, { media: urlMedia ?? null }) + return res.end('sended') + }) + ) + + adapterProvider.server.post( + '/v1/register', + handleCtx(async (bot, req, res) => { + const { number, name } = req.body + await bot.dispatch('REGISTER_FLOW', { from: number, name }) + return res.end('trigger') + }) + ) + + adapterProvider.server.post( + '/v1/samples', + handleCtx(async (bot, req, res) => { + const { number, name } = req.body + await bot.dispatch('SAMPLES', { from: number, name }) + return res.end('trigger') + }) + ) + + adapterProvider.server.post( + '/v1/blacklist', + handleCtx(async (bot, req, res) => { + const { number, intent } = req.body + if (intent === 'remove') bot.blacklist.remove(number) + if (intent === 'add') bot.blacklist.add(number) + + res.writeHead(200, { 'Content-Type': 'application/json' }) + return res.end(JSON.stringify({ status: 'ok', number, intent })) + }) + ) + + adapterProvider.server.get( + '/v1/blacklist/list', + handleCtx(async (bot, req, res) => { + const blacklist = bot.blacklist.getList() + res.writeHead(200, { 'Content-Type': 'application/json' }) + return res.end(JSON.stringify({ status: 'ok', blacklist })) + }) + ) + + httpServer(+PORT) +} + +main() diff --git a/starters/apps/base-ts-gmail-json/tsconfig.json b/starters/apps/base-ts-gmail-json/tsconfig.json new file mode 100644 index 000000000..dfa5d961e --- /dev/null +++ b/starters/apps/base-ts-gmail-json/tsconfig.json @@ -0,0 +1,34 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ES2022", + "declaration": false, + "declarationMap": false, + "moduleResolution": "node", + "removeComments": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "allowSyntheticDefaultImports": true, + "sourceMap": false, + "outDir": "./dist", + "baseUrl": "./", + "rootDir": "./", + "incremental": true, + "skipLibCheck": true, + "paths": { + "~/*": ["./src/*"] + } + }, + "include": [ + "**/*.js", + "**/*.ts" + ], + "exclude": [ + "node_modules", + "dist", + "**/*.test.ts", + "**/*.spec.ts", + "**e2e**", + "**mock**" + ] +} \ No newline at end of file diff --git a/starters/apps/base-ts-gmail-memory/.dockerignore b/starters/apps/base-ts-gmail-memory/.dockerignore new file mode 100644 index 000000000..3c5abc495 --- /dev/null +++ b/starters/apps/base-ts-gmail-memory/.dockerignore @@ -0,0 +1,16 @@ +dist/* +node_modules +.env +.pnpm-store +*_sessions +*tokens +.wwebjs* + +.git +.gitignore +Dockerfile* +npm-debug.log* +pnpm-debug.log* +tests +docs +*.md diff --git a/starters/apps/base-ts-gmail-memory/Dockerfile b/starters/apps/base-ts-gmail-memory/Dockerfile new file mode 100644 index 000000000..5cc4e424e --- /dev/null +++ b/starters/apps/base-ts-gmail-memory/Dockerfile @@ -0,0 +1,40 @@ +# Image size ~ 400MB +FROM node:21-alpine3.18 as builder + +WORKDIR /app + +RUN corepack enable && corepack prepare pnpm@latest --activate +ENV PNPM_HOME=/usr/local/bin + +COPY . . + +COPY package*.json *-lock.yaml ./ + +RUN apk add --no-cache --virtual .gyp \ + python3 \ + make \ + g++ \ + && apk add --no-cache git \ + && pnpm install && pnpm run build \ + && apk del .gyp + +FROM node:21-alpine3.18 as deploy + +WORKDIR /app + +ARG PORT +ENV PORT $PORT +EXPOSE $PORT + +COPY --from=builder /app/assets ./assets +COPY --from=builder /app/dist ./dist +COPY --from=builder /app/*.json /app/*-lock.yaml ./ + +RUN corepack enable && corepack prepare pnpm@latest --activate +ENV PNPM_HOME=/usr/local/bin + +RUN npm cache clean --force && pnpm install --production --ignore-scripts \ + && addgroup -g 1001 -S nodejs && adduser -S -u 1001 nodejs \ + && rm -rf $PNPM_HOME/.npm $PNPM_HOME/.node-gyp + +CMD ["npm", "start"] diff --git a/starters/apps/base-ts-gmail-memory/README.md b/starters/apps/base-ts-gmail-memory/README.md new file mode 100644 index 000000000..ef1dd6c06 --- /dev/null +++ b/starters/apps/base-ts-gmail-memory/README.md @@ -0,0 +1,44 @@ +

BuilderBot

+ +

+ + + +

+ + + + + + +

+ + +## Getting Started + +With this library, you can build automated conversation flows agnostic to the WhatsApp provider, set up automated responses for frequently asked questions, receive and respond to messages automatically, and track interactions with customers. Additionally, you can easily set up triggers to expand functionalities limitlessly. + +``` +npm create builderbot@latest +``` + + +## Documentation + +Visit [builderbot](https://builderbot.app/) to view the full documentation. + + +## Official Course + +If you want to discover all the functions and features offered by the library you can take the course. +[View Course](https://app.codigoencasa.com/courses/builderbot?refCode=LEIFER) + + +## Contact Us +- [💻 Discord](https://link.codigoencasa.com/DISCORD) +- [👌 𝕏 (Twitter)](https://twitter.com/leifermendez) \ No newline at end of file diff --git a/starters/apps/base-ts-gmail-memory/_gitignore b/starters/apps/base-ts-gmail-memory/_gitignore new file mode 100644 index 000000000..b32acec90 --- /dev/null +++ b/starters/apps/base-ts-gmail-memory/_gitignore @@ -0,0 +1,10 @@ +dist/* +node_modules +.env +.pnpm-store +*_sessions +*tokens +.wwebjs* + +*.log +*qr.png \ No newline at end of file diff --git a/starters/apps/base-ts-gmail-memory/assets/sample.png b/starters/apps/base-ts-gmail-memory/assets/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..de27372044c8bca6f9701b4777765a4a5dcb3d14 GIT binary patch literal 113405 zcmYhiWkA#K`#nxGq&AR}8lz<}x}+H;Afdu&7}8zBq)SF4C|x3@QlmQuD2!4BN$D=> z5dHD~eE$#rPxt6PJLf*vb*}q*#p*xNpuG3s9v&VZrIse#5D$;A8xN0w1weB5i;Tr! zARb;Ao)%pBS%BqU-d7JUZR4h{uIP~_B{XYVR1`Kr3BbigL?B5){!=7Q8BGazSwp~O zO)0=dq(X6cv3QZRaIu)L(NuQOxZrjnr`O~W@;kTuX_9ObZs=jg{==IKP5w4fPEH7C zUF{0PCN}opcNW{mgL${kv)^SS+psZ7YIb?&#)CyS1x24mnX~?^jg|G!BW=~4ab*eX z{qY$i+iwT|g&f(OBvLCpo{JgLD9CqrUu<1yN1gES6vSmzTbgxz+^tL;vA6a4+|to9 zV{X=JbJO*^GCA8L^qJ7f5)m!4n?`J-LzpZcl z_-y?9?Z#C+!$;jt*K}hejq}h~*YO+IiSIT(S1(duxczFI{?qkL;Y>Pk8CjRUQ&ZoL zbbFkqplA0@-Q!n>OO<(>yVKQP`x7_ctDT08$Ycd4cMn&Ji;SRm2g7|D$vN8mtbUi^ zcV|6=1>zU%3a*P?p}*!e&;EpdgboSrPW4Y)h2{;-)xQcw9R!^S{ivqg30R*s^f~{d z=At@#f@>ik`LQdNJ*byIu%rztNLJ!rMxQkJQ(DGd{cVNsltbjjLfL zo$G^Bo2a)39Gm8vw`SKlc7g4>`@RP&c5N?r)c+;_x7x4Fw+Ba&4 zimvO^nY!h_V+#L}=itMCw;N5+v0-Cx<|CHi^nBjy)DVk5!6zG)@{#qoyk!ba zuj+!m&V%ZF4m;2Evl|jPLwgSLANa;3Vz9^44qP53zPA=NT*S z^293dNXEy`Nn+M<6505}-p`Y;b(yU6vhAzO%ewDVJasGou&jf`o%iq52LnF=?dJY!Nw4$m5Rz7YCo;{&TwN4H1)Hx*GoN z_4meRQQ^><}#Kl-gw zzp+Vr@ODBO(lR&5HDvxEE*UcRb*@ttHDUDMI`rlqzvB2NgcjXVY58+#HEUSzm75Ve z&7?V|K*I2ZH~iM*VKQvtRV&HthR!Ds-SMWLWL8CY^h}dS+oAk)cYI>v`R>W8=QI6j zFU1Ec01m88p9gI)K(+@EVG`Htq|7od)$(s?`Af*PxNmKN!UEm>?_u3ViuX@`QP*=2 zo}9{bD5@w@^k{{CCcic?*$T0F4V0Q1?`nCAeK0*=MjgIYq{vDv+}?eedX0Vidu=;F z760}T_VOw|0~dDewR7@KZ+)>|o^w6}W|)1)Y)qp8!?n+;jg!X#KT4J{1-LhFeBFtD zLSZ}kPV{S}q-&%CG}vqw5dLKGR6|h*nQ?piM(S`LBey*b;R3at_J_Ot5&dy^%HZ%c z)W14BVYU88V99% zCNht7kW%ky*Ru;SQBzV2rt2QB4EHmD;@6=|YS{P}d;$B1N)(~Z0#QuCUh&0=-6f=q z+WfGOhVzQAa--Qde@mH)fbxQRu0-E$zEOnndI-#Bz{FtuRe5iuhs;eZ#CBz;HjlZl zFTc_TDhKVRx%#n-s}R*a>QG1TlP3qqEiNX68AYS=5wMFf(mWp%i*BTd5t93n{We8ha?yqM??Dya@W@8zZ)I%Q^hQ8=dAA?(@05$7V80SDje z5joFnu6E`~Y7$(Uef(wiz>+1w@l;0Z!r&9_?e}B_8N2lyJl&h$-f(J9LGuez_VwDw zRWO(od+4iAs3T$K3gBQ6X%R^e&FD$5KM^5A@Ncasgd>+aJZs7~OjS4~)8g4!?W z#K#ah=JkdX7VERp5fLcIp3|^af|dq8+b46eR-_RHvG51l1WC`6QcMCHkK9iL0csr8 zb6jEzzvs0}@CF9rl#@#-$X7WXshW7qsI_AALN#;b9#$N3c%5i>Bl4bwh=*E05ehJX zcC=SuT#xN~Dbsg_4hv%Elr5Xxju=EtOqHDU*qxAAT+i%q#$qT1A0fx^)npm9e`8Y} z;0cUo7TxuhcHv0?KWDQAxbDqpg{EH?KjhSJe6EEj$aJ4 zMUmTn!ObZ|!jR%hx$ANOtaMaOua735>G~x=;(8-Q9svWTpU#2Oxf#8;4o&~nWg2a! zdljT>cKy4(sjjq2c+RA%MW#Y6Ae!zgr;MU)qG7iDwWB19?kE1al1yE z%tk5LCv=KgLVA8ir5jRrlA>P?b!(?eBH5<`q1k}Bh8!ukF#O%xi+(57SsE$VgS1GV zEz!T@MvN2X|47*53vEd5?dCWVq$+;gJ^iU28 zMov^o3a~=*29`L6<}}W0*NKPYV+^?1=~V7}ug-PW+=Ro(rtIPV^{odPXJ$=%+WO37 zghUlBNG^j|&5ifn>&xFyBMK>U`8=^N8Ant z$&Smz$$X{qTEEWv-&bsYyj|$GwRIV;z_x?=6kEsj$wQ!?9;Hbd_mWWTWB z{f{z1-`*>W(y^Yym;A2VkB*q1ScUhvli-3MJYzoP6~@+|-Pn`eD%VjgvNlXj#QedM z++IviD|u#?nd_-4vvJiaokyZGyJ zDn|0QX5=>AA#9UCBz|IO*?d-!+ys7ltl8lX5q&y?UZcTsjy>2{3C+Fcki|3?(Pq|e zP2-$u-b#OxEDI*FL0_xY=$mIvaTY3RMBs2W4hbMDhfxCY<7gL%i zq%%+V2HRVTj~|vk`Q4cq86ri zy$)X~$QT=g6oa2tyl*~#60djhA$0cjnOR!53+<0dCax?A$bhOheGDz1uX;+1DiryX)z93$(Y=WK?Ul)?%bp=O+fFym z_|~NL!w0fiaVn>wLjZ}w0cjCqWnV{YwlBrBW=9#>xEUd}h^iMmBZxR`|#$QXSOs{1yDhf5UFa>4R zD4g^!uW!=d@M?)4uiL>>4A?E#{uE-by%bjR>H(%PfmWRCw_l1XZ$M$xJZIq26VyG|YX4pR-S42uoZ+{&~q+1jkU6LTv1CYJ`3J~w2XNWoN+G#j=?Xn({3JdOjU=F(tZaY`O zzDwWCo7C_>RIeu-1eQ4xUw=odQ1G9^wqZro!sA&bQt!qjL_B-MrFT@U7(6t`3T)wR z>Zer|RXG^k=FK;U&Fc>}>#wB8ELNES+qFsFolJ{D7EZw=JT~+w7GpRkQ~L;CV&ba8g%% z3*z_8>!(3KBD7+&JP2lc&`Gq$YSr7$7i4%X9+2`d=-h!=Dx>jz)nv{&SP8EvA4Sm4 z*nCiOs?z;R`_WOP2#xO5h}m#VOH;iSOP1dsyTvj}&NZ#P8tLy;lGO|%xjWjo{Bs|c z-s!VLznRa8uiv|41qnm=XFiSnqMZBfSFM6E4d9QRJ6GhQ?>WjRt2r^DzsnOt>I;lb%;u>_gBMYqU8eYqK+)2Sk6 zYFRA?L_(;|RR7(EJ;DcPcgTFeu>X2Vog&BIYA2ophe)OQK!kjIZNQt4KTD@9!;k3S z_W4#Y(DCS8u;tlx{zPlMa$*R_Vssw0|h*duDnq6CBNWJP&-U%zD*HrY)b!xJ&~Ur}*^@5XeBNzR-*7_OdWQ(l|I8WM$Tv8PBX)eDy=d)hzQ6xXjFsTACGSdm~PrVOTo#!^gWSf}t4hRO;h zZ12`4@C2L2V{g3jk@O2FYH|ugb5gdn=Dk;4K%0S}XY7ElUVe)RardeZ9_$GU`7Jw( zU#nV6E}@lk^H$^m*|SNa!9vghQ7qrK+rQg(5|Q*7mIj%zi+<6Z)uFvcj{VruC6f=X zax9q6lLV+>_3RSh#(9kXMhN6bmK#SE^Nf)bD{vk& z?jHf%0FTuz0>1c6E+)INb2OpeU(X`te%e>E!W9XvQe)mQhnjGPp~_vTMICI;>S3C% zWM(ps%xoF{0x9W`Hi2b>a%ci&TAaYfcL;9i z%=K!)?!&*xc;1MpU$*{d#ngQs;si`ybB$~QXYUVbZNuQT{UT#MEKS&Z(-&7+b*lI} z8d7?RwoU`*qL5q-VThGiFC|(1=5X)RB*{WcFI@xbnw|aEz^3l^g#PAH9y1rcXX(v6 zGk*S!C$u*zzfwZ@ZawpvnmoTH9f-tw#Y##V8&YW6&?V92zbWx$Z??ZaJ8fFfPV16m zFH!IAb*Y+QukqG6D0|c>`!!noWkTSRx=<+91gIJA-@;7prJn#;f|^%nx79`#+&GkV ziEBUf3D_t9t^AU|Q@Cc}n0u9c$>5ODX(jV&v+QQ1U`>fk&=uvFY1q@uv1h=9aDipN}3!WvQn7;qP>JE4VDT-iWWOGgw{gv#7%TOs2N#E+5{B zuz`Cm8J~DefnldHqMx@Q32wM?y-kahi@k+jYjlc|sD#{Zxb3dmB-pSoz8=-bi;;-k z{+xbR;!47UV2$ot4wna?xY(<`Sh3`L!=O*NH z2;XuvmUyNj?5cRJSg>41*5vwU2Ki9;h>K%7pC9Y}5e>=R&x=>%K?|y$@}u+%x`Cio zLzR#O)8mM~IGu5l^c}AZrzmbK1cBU9$(lydVL8YuNCw;(cT>$7b0sA07u(ff{{V_t>q38ZTp1vDbEFk9Ll z&&bOX^U^54@JEutV|>ppR1dy~OjcAJQtGI&GuaIJVC&RwT^o`UC;U9Lw?1B)%U;Q;CG}^8GZF(Kq;}&6YHE-F8NTA1u(TuLD z4Q4RA2tzU$prNSP`Nf~2?Say#W6l_3JdT8=^FmXA)N#LRVml}pXW`zr5z5o^*tB9UEn=L<9uTY# zO&b2ZJ9TlhHtFQkr{;NWZc!&`^(8-gl2#;P9rU?+EK)GK(<}^wP6wZU?ITvag;yLG zb9eEr1Fvw&w_HEcya$;SYpQI2xSNr9KWI)q?VrO+T_n6bx>}sS@jAP|!d0VzcT@B& zXgmCkX2E6BFGVYJXm7J}Mm*vM{lH3`wtJg9aaSBhId1^$$c+>rn_BU9V(m<6kNR4` zpvW07LAa_PN}j%YSWi|!o!KTYugj0x_&+b#SS^IlOM zPp|Z&$XSJ(>HS-gD69Jcr)A#atIRw*N5y?B^CS>vV~2_=v?j6)+)4Jt?rFCB;pjzz zr_k%TPWmN4FdW(eKP-{QfxWkD&;A{=Z0x;Gq|1K!J_L*QYI51&|DI98x|NZBtA>RT zlAUTjb}fnXO{%8G$sn?4G-jIBeJtvk&TL0T_mwOsRGoO0JeolO#)%a;ph?jD-K*kBbIy`sZ@B^3s(Pcn zb)t5VrjDadD5ixgg2M^u(U3F*I66Jc!sX?Ksk z6n|O1L9?q4fKS9?)KTOItY zD!IpXXaB0EN=P~V@nd|sL~`+iA2>zzEo3+k@UvE(#tho92OI?5&UojG zldze8{QV5exF-A~`Fwyf5Bv#jIaDmTBJUO%7=h+-7LR09L4UAI#(UjqwIvC?>^b8O zY&p#<6Zo%q{B`B^TJcf2xM>SUSkI`68+fF@|NV;dF^~~0Ywpqpp{gJRiwk;ZoqtuWL|3vjpZO*+t0RL(u3+ky*<#I^Pl8ZXOiD+R_KJjJ z<}Q`)xyeno?a9H`o>ASHxBU1}?8H;L?wja0dhBlkG1ir@vrYB2NFU`7jQu+(Tf32}XiChNcGD>C zi|7+K{;y*`a&P(UFb}=+)t(6vu_0q`Pd^kL33%b_hLzL63t>)QPsQM}?oDVzINz0z z{3OG!dv3aV7C<#wX~Bqk=(n}$THjeS-dQ=0g_Au>N+m0B42*vR{Oji9fazZG*6A#f zn6mlAn*SO{x-t8O8Kjfr)3M%B#6BdU&$ith(g~~AU_xDkl}~AbFH`ZVRM3&DN<_ji zHuVc&H=C~Mf8oB45R|t0%2J|fQmycQH$b?FWhE&-knaZ6+YD+_W+z;ZAb+^Y5#~%# zNe;#38n@b{k*)xi)#QVMjiFi1%a9dDUvRI;&xYc9gpoGKV7nm{jTWP3q*E&uWJhhs z<*{c7sKB$iWmrATL}MhCJX0?o1G~*>Pa-kLjVT8Xb`b!tdKNSuNeDau|F`PK^7LIA0AND5;HyPD>Gf)46_Iwp z->XJXp)V1uj8Jw{64*;CYLq8i#0&u~H^=kVTJ_An*e_7qEbutcngRk2`ben!);uZ= zHdsztlw#Y=^7P^?rv+->u)SGPRc$=1?r5{X-L;h+ua**yH(&NaE#+GHS9&`r90Z+Y zWcreEElS;pozJLrx7v#(+Sj+Lm@jS#v9)V1*yXaK?)}j)Rjq1SaWCStgbKs59&3x< zTRrBZj6j{Xx;WB{UO`MCmY0<;i*DZbx^LpSIlxPt zB@=IB-T$wlB{nz}&-6~n^pU1zRyw4tK2h{ldBNb0cmXU;Rb_lwo0}MH%EA+*Ld1Yn zoQ||cP1Qc5xFw6?WIp%`u<`$Vwr+=O%_1sn8-+l;v`h0Gr7G%#gqh^PVb3jHUb^Ww z)zOy;f^r8&Z8F)SfPq%M;X43G{7SloZfL6RR{iH>3V59qwrK= zjKs)nc4#hHbFc(`ddRhsCi%Y8;56%JSDnDQ$$pf1c;}itmcd#=O#a^iVA6^p6?u2eXV(?7fF zWTvX&v$!Kc6>>MOMn6b@$waE0;u+j;=>K=cF5bG0-4TXOCKXUw8oBmo=BRJYC*~j+ z?&nBH{9Un6h=17Y7U;m6?|x8=xBzfPxxmiEv^Tn6nF}#TJ%Wz$86k*j+ZG}4YKtxr zUyqH$fsH(9wp6X!v~dqQWuUSXE%0~DuaYzsB0tEN!5s@cH2Q08DZHs}^ZG_yXsWm` zb*MHCp$FQV5xps)1e&)Dm`^V#Q#VPb@vdYZUuw^|2U}RQIqk1Z`4b7NSOGYmJRp4- zhI%7rdR1)4Wqj8dAXOY582>=UJH|cQD)~GO6~3Pr0;ff;^KIPf6087}Bf2>Nlg&$V zXssy9?Ll3MPo2z-Rs~^;Ai`)5OVRPjZ#W@cw>4+ISJ_<=iY9Sk zQu*jowP6qzU+I4eqK1}4q$tT*bM)0-{<*3e-fRymd@p#&YoNaLo>82Cgb{`T92txyf~ z(m&ZTjjJQwxYju;7PH46*h#eBU|KVue?R;RQeU?vZ%Zg)B3FP(tf$A9jz#?CWhdFo zDu^A&sxWWv8Tu2*O(@{fh#7EzF`;Ba==J1abf*W}C#Lo0uN)x!-9>B3drS0TBR)l8 zC9r-nPjVgBn{zWVU`-ZDY)(r5w=pORxWeVRM1Z)X`gbIrEIQoVeN`?DXyZg5MFe5I zFon9g>-u=%6e{|IBmU@+qiFjZ1-=QY0R4@k0vXI1eDvkLMZO8Q{S9%dY6fAsr_oBP zI!FUJ;27oSHr*OWm-ezpqVawT;=b3@PVd`m+=0ltJ*HLseiP1RUCajs3P9Ahgd)O+ z0bis%>Uj2<>K@mH2uGy5sI>b)@9Dz}$Sos;mf1#5;(nf8ee0a3E@JUVl2Aw|`vPos z`d=@VE}{|XbjPinI!s*M1oES9c|J9W)lW$!8KS|XwS67jpZxCsx^pM{c%mAh3XbE% z{r%Ue>N&g0Pq z(K%4J1iI|nnvHZ%L7{6ta!gzemgWE)04fn0_!v4J-1kn}EHDGgY7m#Dp}n|%Ca1HK zDar9rOrM(MzNe~Gc;0NB#aL|e&g&X}aih2c|81@9mFGwn+gU9P-H+=o9NW86q_Wf(TK1%=H(Y!Yj zc9?tKtO!M|7;Pz`UIe?Bi^TLYlIr0Zb|hza%;<-?|B%X04yf0RU%)6Mpsl6eaxtI6+;e}uV<$pVI<0D$Q<-)>YZGGn=PDt(xqiuzhu-siJ{L!@MY;edCZl zmXL2mrPi~m3`bMAcd?b1yShw0F0p9g#Wmn2;(R>0;X>&qqqgp!s-+%>R74!9#YfXk zWKBm{)Q+Krj?er|S|0ACFQj`=^@Bl$UNHkj+f^+gxXlJ{3q--!0@>e+S4;OS<1Bon z6e791%B_u_o5q~J4LEOF@ zQcpM8$Qh9l;%KspP{ePj?0#1JymtPt>wsVGlfL7apKo~Wz;b!*Y`Z3ANgFjvYvZr& zDdloF>1lhUND@|NK}_0OH5_u7Nk{^&!4F&kOv=@3<3Qsp=W(9pi(xd(HrH*ZMj$AW zhW_hHv#HM9VY%nWYI2atF9p7nZo5xjHmDUAJaLktKO`L^K08$=isC>rD#!QJV3Pdk zjpv(jpx)VyPo=AGw~Nxdn(uAe`LoUW1;AhY9i(d}!h8{v8cp>$_^t&Pa}?%peDTy- zb>~@?%pCC;-Ts%`m6^c^-4tk5Mh{6o{swH7WYmgCj37&L`7iE+-@DD8{DPGbGL9(e zp#SgxIlc6j@Lig#Pym#C*4E}hf=~uf{LR{eZpBR@OUdN{1uQ;2jEE(IaXAdpb3AWk zX*I8c)?ATow{-7Fh;XJ^ENlI-F+ec=`b(cYUAXof$4YrTsZ`Mulg#8eR%{yCWO$|; z5RzbiinP!OLOzF89xHgf?JD`HkqMc{r50d|+c*c;Jv?m&WcMP{0#$Z7b7vlByo_Mw z*eF*_x7r-o`9vm7qUuPvlL&wveu$m-A#!SU_gl$QwtlJ?_3(mSyHSyuEhzTi>PfeJ zNkV`ih=k5jDnG_)i494XwBFR?Gq6O^JGD7ZXLo(Ua?LtCctbReRR|)T6 z6Q}JScyQN>vdGbN-?cDd;K!cK4GkJk9XdDuY7PGEpFZyhv{fT8l7{P<;XR}+(_*yd z4r$fXPKzz)5(X8m?fR*{0M{di8%PL9l#>Ef*En=)oC607{Peue`m>Ge6d?D#b1E}y zye5Vl4iO50a}y?(UyXEqw4NYS!&K{o-Po#BgF*hyVmIv*4`iH=OlUW~6h789h76N{ zfgi%6GaFafY-iMbS9f$4Jne*fiekCbwkF`3rBJNwMHppI;L92c;FY&x&5C#RN2%WI z6Q?pSNW9CaPYWiXy1$RpT5Z$P>sEtu%3>$dF2pZ*VK%{`PSR0a?6E6>@IS| zME>XdEMVU$uhr9r#~&JKaB&$#G*#8BSlAk%tGTifR_%kb7L+fSX*IzssJ>?%1(=R{ zm-=dBf3I6YS_8^MdC<8DvtVikXKbdWpVT-Ow54oT&(444dI@}Ou^$yZuXbmF*FWE} z>EOW}@aH9K@Foj(KaFe?SG+@9B3^wFe1ixOjPsJE2JIcRQczhF!+PAZddQ)*07SZ% z%KYq~xgQd=Qe+*54OQT}bx|Mp7INz?ROjE~Cmn`CrbyZEiedCm_4-xWgz^E?px?*OX{Y8D z;Y^#plt9mUh-TUGF#0=E^yPtrfGiuqUG+|)BD3ar!ni8i#(e;Z-F5!ugXKf8`_wPP zbO9OrUsw#xgX)0W>^k>2A`5wtzOfp7qv468rY#~$_t)<_x*oq>=#(M+>3v@+$bI~0 zt&_FX+G~0H2B0U!FDeSqN;@hjISqi98O>I2iEH%T@*$R`YSaLamV<%ZlZij$>T?Bq zJoo(!do1gjI&Olh1=anX43{mEqfdHvP+w#kRZ01)`}W^J&LGTr64TSc%m z@{r;1yVtPNf6OB8j7(a29KUZLGZHKo@%f_$ev*na3p(4&2dGC--_i!9efLvYljEUV z(q`oxZ3A7NBasjixSZfeEx-=phWV#OEx!|Z-ed%AL`!@F;*n`{5*!b6xqC8InQ)^l zfv-7tzbk~=oai?l*k{<2dW}lhY^!v8v$zP-yH{kw2}uZ4I4r$xgrcQ-AAr7^YZ2K} z63Ffs%Nm3-%%N{Jk_$2mSF_YA8ptLj@0xt1Akv4-4;vSw{b)LDsk5=()$J=rsCjBD zJxG7)l`gY&LqA0K_Q2I6C%R+z8Zw!I`hwmRwa)l2O`$dM$h{)Ksg)YK``_`;l{65{ zE=J@kX99;{z%kwhf32C|O?g zfGNj;@lZsl5AZZfz`dRg8ykp4Ask)k6(XKxH8hng8fjs9dxzf3r87dBX;m_=!4(Sx zPA=P2`J7cu6OUh2#kAD0sA{I>JCs!@Mr7eL#cWdD?bMBhe>i^CYEDj&?J(c}(uz^X zQ|eda=InddAxN+2S@xiWLyzFm%}3@a zc4@qR_t|}yhf_+UXC?ME`UK&aAfc@@u1lV1$F94v3ks`#3v6al{qpWjGH8Y3@tVYI z|AoqrkBn3p#?h;e@40GdhOa#>4#=!~(yJ`kG0wKEP{DGFLhwUSGaAcyL?&fnRm#^U zzWM6Jzs-}ZEGa-pUvW0o0puc1k1XQb1S3)4uwZwxK>~TQw|(Zbv-8ORMvyGj|5GRM zhzG`dvW}Lhq-5aBU7ZNTf3pk<(Vn(|>(M{NNwiyoYclXRHKGhol_ z!olYZ6Js>;+yH5!baHqUcuE*9EL77B76U3Rc5XlqIuV)}=WLfsvL#mw3H(Qzk@~7B zkn|7zjg(c9wN4J^rY&qF556$qyYH3>t(ThZc{4=>cAswsbST{hhLV>UMmxz2vOpz%(&QlG_kt8X3xQ6-&;HTXK z%=B{ z3Ge1^9L1owxQYIb=H06@Dzx%(F`EQ1WisByR?yl!2Lt@o-qDsMFl95J(()3knErex zF7vd(AzX4P1d<~ENnB{D!UN|MCh_yUm7&JQ?#W*oH4l<(#E`1PMOnowGwTj;Ps|IvEhCYKnV+`{{e8qFdBB6*du#Casb}UvriWy{hUp#MN1> zbbCigiJPf*;NtdEEq=qiek(AyuZ4tu@knXXDbofy7oV3s6~CEL`$lk1$UF2fqFjbS zpmId{i5;!Z@IqP(%(#Nm`>n0Njl*AQH~o8NSYf9jhsba|vk21R^GMQ{Feg>4WF$T! z1GEwVc)N+Ol4(1s@!te<1$-Aod`Q!!q6i=e9DUK1J$_K*^n;IRafWU?xW%ZNTuY$f z1;y^eZNyHQz!BXF2 z=my@=92AQ#`M%%=>hhuz^NGTwrm}^rbJPaOq-(ER7PExt#&+@=hs5QQ)UEYvh=rG3}jv zgGD!=BBik%jGwtCLJ#LVT3@*zuVdEq!-oZJ4Hv&4-j&=RvESV&eP#Qj%4E;O&GqL+{^}k0C?IJ# zQH`|W{3}f^3)v%p5S)ZHr~)3Gkqx>HNFjQ#f{|?Q?k4Ode}jHb9dAqZ(yu2%urDrXok=Su&Le8Y5D-EzY;w<_kU zPBK}FOm*kWNu>Tuaxu?5mO(=cQz6#78(Gl;{G5`W{|cC$*n8O5oebLR}~i4Ahr9DpP4Z^ zALwcMcHC*!Q2U6244oO7%*k@%Oqo780n1P#=t{~}FF^@ z$Rqb`x}tRxMzN506~ARyK(^%@tU$_WlaPt!p0cSDnhvk=U5-;a!<^>?zgM zVqm7`EgJUxx>plbxT~|ProGM30_KFU5g+3V(_-yrUb(h4Ona;Q!Iy?j298H=zOD!1 zYK3g@_x85?7Lr48Mz?Aa;V@`-a75i*TM1Ori6=T@Q7+3&l49LoCFms;L6HNgZXnzjAUtdu$MFxS`C_>gz_MDQ|=3&9@BsfseKnyZFPKiNEORtuIJ*(QV~C=Rej z181MM4o^sJR;y`^{;e=Lx+zn({@Sr5-$2RGV?G~*37(xMeFD6m?3qQ?{AT6sz(VGmv7~XYq&`wb}YpI>F{cND;bxu1TljEdV<20%{>*DLNS) zm^Z1&1$=foFiEi|0>+>6tP z5vmx3LW`Q=4%!zZ@0lg`C^l9gI+)qz)ZFQ{kqDV8-FR!YW|~-;(cQ{rp>@EY9}Rww z{DVCe#?(<(E%rNfoDVXD=8&DsA)=R2n;O6T|AzuAu8B7W@+I(ku7-C(XA_SXjs|K& zSHCe3EPFl~c@VXv>Hz;ZYT`gCQ%ulVq zlc=jw&{oNKxx(lK?7{i0Gp@{8q|N9F^P5MRkfvMfyiJa8iZ|Ghv+eotghgOCMX;4x zP<}rFtybuhnm@#HThGDUw>jy=5I5|0@hC{{cc1hJ-K^=(d%w04v5~dqt zS4KMmCD|D;^0jg!-GZ5Z`uw&u<)jdro*k8xU^J?t5TFa^D!Q+%^_Pe1SEtzT#4t6! zZ>4viRJjKKa6lyq6=eq@4hH8QVD=~8fUt;!;dAQ_%VV|j6=Z^+w0hckO9#u`Pn@5( zIr^#4MSQKJlz9WFV{PQD2BS#jxa6JGa3viq^?x)iL+tg{IrBCu#!}bx#F2 z5%DFF-q<_}6oqDqap^bxdL|_3kYT~#wsg>CS8sdlC1qyym~`3<{ti~+yM6rJY&ZQ6 zC?8;*%(W-fz+Iu}I)P5x$`S7d9qbU5s*H0SSsa=AE^~oRsz`p1m`^#5u#o!M35oc9 z(3J`GaT$gd?zLTj$NU=XLP*{ud4WRC_p-UUFGmN!?#>E!>!0X_ z{1-p(JTX|Nk>Dr6T=D2N7kvjR4CRS#^ctSWkpryeO+m$Irj01b63Fc!Jw9{Hs7qTb z*DafSj9379e)onYNlhoR*GtNgFwQw!V@p33{)MX>^d?B#9A~MEvgNlIg034X5O_T@5iQpXkG*8ncL6$*8@p}bWq@CKIq?X(een~K zPMJnqV7No%oW051fYBQ^$}{GqgsgI^&B&*RjfVn+tTVSQ!Ay|~S^*goq)pBoL1i$SJBQ#YA~uL9q0@$>{~Y1! z_H3~0g8hs9K}Y_%g_v6M8~B?hyWl`rypYkPs5Q;hGa|{A7B|-C-@x<>bQ!Of)OEqU zL|mJ5-ik1*bwArNhl{nwKds#lwdT^bNk?c72(^!Ywzls!;fPyC#KHo#!LW+z?z5Uh zX`%>G?TZDsz}J}q(Ek%!J&PHBf+ljCwcwX#SetP$zq@r0=_5rgH#=pt`^$oCMEqvTPQr703n(x!Dmj9-)4kn*L? z6;BGilY2#l1hbjh$nnmnSZgA#@H;I69!{S$Yl z=6tG24Bhf*(6frq#k_i5l0~nkE8w57zln>*_m7>m%r{DC}(>>=MZ^ zx0m9`PHt5^cX$vPKM8XtgZ4r>t@{`Sy|8q|QSvZ(>{Zl~1I42C0>l5VH&T&>86PL7 zhh;1xn~3x~on)}0k~-(u(PXHs3Rc3dc$(I~{fHz#RNOZJ~C$R<0>t#+p@GMf&mem9< zgJf)WhgS;zNSo!;@aS~)voJOJ>SobQ<{)q+@58Vu7lW#`IG9FuE@idc4cEqs{?EB? zY;1^xk;EKo`rwLCU-aR^Fn+4^Yd&uQ56jez2r?@;v(fNv1i0TjKKgWGwL>|FWhX%X zUF^@ZmQT%VkY|{3nmk6_Z9wn>*12WzAps32&eI22kzYj=9wU9!@_sGcFRgrtDEL$O zQD2-hes3yXsr!s~;Nt92Pv72o0-|4b?`{{#jtzED-u&{Z#%!Zr3U@(Y>`&MS*5ECg=EUiys(8A5pH!}k4Lz_>+|lv^_{!JBD-*jcP)}&brmmun}RP&qG|P!zfM5j z-<5<|%c$AwkvV$~K~A|qFjs+X+-I?#;u=GB4r$5?lekN@nqx&Hjfx_Kg9Q;S6VtNh z18B|LVbdxA;v6N+L&O(B|5^C5`^BuKVf^CS zvv*5I8`psc5oF$ySnx#d6*H%NWD8$eqY~n#A^S|CL6u6_ZvifWU+MU?Vinh-R%pn> ztj)lYeIhs0{+o#$dh$ZMN0$|o>fX(9KUNyaq3>3e}`3IV@l$?&RGx?t_-HrdV zEeRMoT63|q^gq5^<%@89F%&NWuY~?T-oE>v>i_*8DN1F9%9gT@Em_eZM1*7Hz4(56t#sH`Xyzdx&DTr^D&W>plb474U{e5OWZu z*dm*k>@}YoSaI`i-WMSzrgO|u;7V}pp(G7&Y=jgHp#Yb9i~?{15K}m1O5R7R7$Hq~ zc4%n@E|-`3l_oDBGauQ{M~w{lrvU)ux$~Tj`o&lTb7fZg-c(UaR>09a2>Hz2Or|D! zBU+FxN36e}=TK2RHuJVDLXiFLRC0>n!%UD#$TyA0aXc$GY$FxFhTB+VQ8V}KmC-w? zOOamnYbfNBYHMyX6`86O7>RhNXd-ISL8URZS9U*KjnU(D z0zwLZdF{t_Ij8#^J>gG@RZtj0ZsAdyoq;12jhHf2KpbLN_x66pI1jBVHl?f+*Z8BK6G+l}+&xeA7{(Ds?^QHhaT+S1CU1RD zxXPN-G>p0PfbBmO_@S3i^&r7^sol6Xy(^-_?Qpa>w$eF8Gm=W;nye<%2UB-cqb=Lc zOD%nilIDmKD*-iM`_6*|CaWhjDKSg(hZE7vDV5aB<>g z8iYe8IBz_EEj&^ac+J8kE>X$Ag!Ndv!mc2f`Fr~#`X3*i zVz|1PU9O9u*Zdx*pY9eJTwPn{)V4;My7N{*ZhrgEYa+2s7413@Fsq{Ok;!P$_v;bo zsWU+5vbeL?B$wrXQ#0-78&O>|L@mq2+^oB-$@I!JG6jRkP59#m#1KDvEuIR{ct#yl zGe~8#Nnho+VHIGezG#}}4!*HWToinsWHOp6HkMSj`Dj0xHwxi?sX5%DsHyP}lf+~n zbu@CW?TyFTj~&}T9`MxupTf4c42cB0PiqVdsGLopp z^2Gt6t8ygA+oE1)vp3fVq9cs&$gyxCY%IcG&^)W<%L_~xsv5p1kZfZXK41n413)1E zY_jwcFux_9u(wxlYT$m|A%&Ax!nMcLiTO)#vVEW!(yY8L?>(igifaIqpV*M7OSY&D$(Y)HayFB=wx#eoe)BoiB zEtBRWN$T^aA!m=;%Wl(VwthvN-rebRARSQFW$yns5}*x(V5+fZaWkaV|M48r+;~!Y z{%68a!azOfzfTmH|9`y3N0&AoDXsrot1a$iO8gtL_Mb){N*R3jcPwOMrU9Y-kE`Px z06-x8+9{ol$!fQ>eEqDOVA#6+EjKs0>OpV9x;JTWJ1yDb?@Gc0_^Cl}6^fOf< zz(p`Of1pvdBdb$roJt_Ey}fkm<6rODUK9%;cDR&Etr}!de##LuV9vDufy4cNphlWn z+PL?y6#y3kvvXZOnfm_X8XDF=y_SLZW@!XE^V0xy(!)O|-HpI!cL8vk`a?11h{wa6fHcYu3KwCS;~k7i&SjWQ@K6f)Dp`33;eolqU} z;AB$T*a)VnpS31X=mT0c|3BTd#6vnp&_m+0*VnJEfVL;~w$l<5+4-@lO%j1WnI^HtBn>Fx%uE**=?WQ@1wt`88_m>g?QDE z8@w!G)z#u|6R*R+{}VZ`O8{fJm`znsMFMBK%v7x#{Zlk-SrGJuHrhf`IRRT-V*1vs zHC(Z0zo5%x$)Y5yzE+<2fJ)78N9D#p6Kd;lQp8l}6L|FJHm~Gf@-4sPz^ZnE%lXtT zd+XC^e1BRsyA6WKs|KH#3flYzNENET4Z=|MP9-RwcI9(dO!2^^va)uKnzL1d@9n4c zF{f_5!mHsr`uFV7*Z&izLxB?>2ft{~xN;Yqwhx|%vP7Cbgh*_@9X07~8}xVd>!N)* z8TxIlY&DKi;3ueRlEU@o`6GtxJ*zsNqF(*1+qmlFzu9Z1Yz6=%5KUzf#GFIl)cCsC zLN1Mg_}0@tHc>xI?G`FBm%LQ&=m6h&kJVQOHD4bNQPI`ShfL59&_jy4X`8df>)uxX z)7SDlC){t&R%V=vK&|ea=5U~uD(Q|t*Gbl{@zAR%Bc>?XL=1q*ahl-^T=mXfpq7Bs z{|Nbxw{$;z&F~|?{CpH2`Ks#-)gbioXoY9$Ke11~bk@dQ zpyjH0e7freNV!(oam!~-heP%HGL;`B4#^uV-!5X#@>4N?3LsF2fc1nF!}bjHd$V;1 zBya7Y1X-z3ubdtTC;14z7~~JkY8rRE^t-f-s&j9$Ywa&a|6aHmQ0Qc5DaxX+>jFyr z*JbN|3Ct!7ff?A}HD6zrX8yn&nvSt%*i0a*53?kTl)zl5(@d*joH|bI@7K>nX+RDA z^&|;u4})Bw#VycBqQU)hd&1yo%S~JD&TO3p`;x?!&(qo8as$2y*(Q>NgRZvl-t8t( z2Z!|+nv^=k0qENk4YJgtlBAdTt|wE&dCj++ewv5=2RExjE>&&@Q%(4AD)h%^{%iG2 zo&F--~3LgFO zK;PuLwK=+8*S5TL{7mn!i2@s}}p82GO!KGX$ec1?r10)|`c`!+0h?bgr$>`btMmLK^3RR4aVGK` zY_U5FJwvZ&({%ku?mUSl918y4Md)~>eaNw37))rFT*^)ZYWP#OS2P5==yw-Jr(bUO z$A+U8_RK447V4z%T)o(mf$iFs{nI~IveTMw-m+W%HHsr(8DaevZ^?HP9b40zZQW+Z zgWKc;EdSX!)pUC5)e@j!<%X0b?E6jX_%M!fo~1_8yP^- zR0ABc6Fgi5hG^$PKuk__o{Nv5+Z6P5dST*1peD@x43h^_zRHI?f{u*mwtxR9VUP)e zWNyw2nNg|rlZ*?%Ah)Nh=cc&6oI^BO^U_R-=QILn^%M6ceMRUV)in^)#ln?a9Oeo( z{c;RuT{mA9^+!(7(em6I4pHaVWk#FcV|HA<_VAUL_&S4a^Z`@)!FFA0w_mD;YHOwU zg;mc&6rE>w2{!IauBwD?El&ON1B+|v+#Ek%S_R>c@ZFt78t626gcb6v?~7wXr5j1b zc&Y@`Y*yZG@y6OA$)?xVRo0$4LCkuE6p^I%-vQ&f-dm~%Iee+3t~05k<{R0;!KC1O zHJf^;An)ky5OWgfg2sLUWr(F~H-ztAiX%cnoP@ob=lxC`Ibo_=g9drRvQ*$Q7Nc|q zh{RDkx+z=4;w3SuxfDv}&$2r7x~n&IfI0RW&ntvusEdaGT%aze?43Ic4n?R1%?ZP| z8+1*bjv>L1{U3N?MT7pbieFDu=mFKWz)`p9t91hcw(?a~sm02$!a0J}t4|>sjPCK* z7`mRI)e+ZPLSAWBeQ7*Jy(G~qZ(V6GKIzW4lRS?w)$mEN-?8#;+TnY$pwFo%+U>uT zroi;erO)GngiLLT7AOX5+ELq--bM+3Fq+cu=}g+II!b!Kzwv?H#RW2LJ(1udX*p29 zx-ZO#0FjbzTO&jRg4dV+XNd~i(o;vIu7N2(GM^zxnd&2cPzyD+vaD4drFqyXh z?hl9S_L-uuqrTY)NH8bV)T#z;m2GnsW!GFl)2q*VSgzhTEt6x)?n|Pi;Om&)n%)d> z;!&6Md^0VBIWPm&B)op{{*4!xYS+kTu{5ac^fmQT4SBsq&x{I&G_dt+yL7C1!}^=m zO~q2i?bRuz0n*HbN7cjA+ zF>!D?&J69tS5ZYBdUywJBp3G2)Xp)PX;DXw-}%nxh-ETn_K}_! z?*k^=C3_Nm$L#udQx_pNzrL;O!IzLm;27`DuLB*$l1A#cnU5+znpp78aU?B*q{@x6 zykF_StnP`FBK8$39s40ynZAdwITg+QCm8cB7C<_KyCwP|b7;-|RVf(9Ys99;f`A+f z1jKHGT1xGPnU4G3!jB#AS~(LwMRb4^cvHV?yiJ>gvOvL0vbM;&I=19J{?3j3I%IZ? zOU{u*Ftdw+f1D)J>diIx^9)tuW(o2{@}Gl#TZ)yjR!oQs!XC@QTBiNNGp0r|KGKVm zN}J$*c>c^L%tAFGY}|Xy<-e`(nSV_CiXF6}`^Bqv0J+cXS0h>8;1hd_!9Laphm^gy z%L3dWV8L<6{m4Egi$T9i;?pn(aTDqiK^0X4D5F(?+EcTlj7AH_&7TAC%&||<@eSlu zl~#8}2BD)ewUERoZjhi;R=9Qe%ePvHd#c(!ZItESKenV>U$k6*h`-uWz%ouF8fu%^SkrN&7!GbyO4GGiG@w^E{M+u1*%q0AiJgMDXVMa<`ckE?swyRK=6 zyr#>Hl~F+crxgp*D5}mxFYyQ?b;&o|+AMkM;LcV=?vQw*sR(mzIL`35fP&|%&-rb+ z;q;f^HCIyVmt^+=;QTDTvzMPI=8Z|M&oechW4?>bqoxU{b^%ds+zk(=1o~0K7v`H^ zD;TAfMAW4ptlAc9yx6O&4=K)=-vMd#R3qba9zP*X6x`r?Leaf-Q7?o@sP*A2J6dGr!yws(n+*CY(ENO z7Cyj+@@;?VF;!xYpx3c@eJugvf>HIcDe11!bIYx$l*zjB!q_vFWL{}o*L82jsBEJlqWNOBa(DQsQ%jrp|l8EDWrK(Qw>WDa5tiEHGXuE<>wXt z_k0@u0*}85#H*euuvHazV(wj7T=^~V9Q6ljn^Hk<^Tt!!x{9`?7tUVe{B0Tyv(}mC z^7P4+d;Cvr-zIBOT{CBHuDN3OXpQAk_{DY*(Czdb-(~wrBf-~3EV`UgVSpg>0eN4s zFJ=3VscANlAGN^KjU5RLe*O^3mA>-2e==A1zrmPMd?T(d|@v5R24 zS$F-K6l%GI5x=t+8a#mEdp|JL(NX*8iEQcUSl#stggJ*tuRzwgq+|C&hoB@KS>&u) z(dmC>F(Ccy4$yc?fNf=^cezdj?vPok;n~>mY}CXW+5HaGdiiyfi_EB{g@KF98U0gm zJ}=ZCmUmYG$C#lp^KXNI#3=_WgUuZq88UL)3Fub*W3Mh{khR~({NJ$>fE2_R(7tLP z+v%uNc6I$JC z`an`%-I@9m6{7u{*ff=QPshC0eje4)v%+XY~7dN;! z+1;zUPdgON1whSipdUlG5NTd#;rM2-;yEaMi^Nzm3^V%0KtWeT9 zsKz$|;R3&+CP}p?=sf=!^zEl(?lhNGF0|g9gDlxrLlER-oe>a($ zarx3|Q>V(+YmFDLR`-p9Dy~bYYgSKh`&(WfBfi3{%F&D$msWZ$N)xkrHkxKE8OCEe z%1H1-4XLi%#edEG$)af=Qd>lp8frbjEIfPjg)_3f1^;xyv~-XSE-c3ooAS=#h*PA) z?oz7iWhM-w;;cPKbEU`Yd9(D5N>fr60fQ=0@~JD4`@6e}f0<&_ZfhQ13W|ay9bX9p zo4B-AFiJet@fQDxp1XxGt4@us6Z4x$X8bT#!ZgikDvFqDSjR4+Cg2x;qy_}Ky-%%q z|D0^U++=bmi5zjPsqUdLV;p)ytsa0|yVrMC;=%AEHQ%yV#AaPHmAc1&0xW5K1R-0u z&h;23)SB)Dw5gn9$Y1;H`mD(=oAKF0Gb_h-ca3IbMXtM;`y&v( zwNX1tcdWt`#@dEz72L|LPBwOK;Up!)B~_7-JD_xrc55~bOl|o#BCv)j^$bVKqV-!O z12#1oYH_)2asSq<#S6BB8UjI{laD@lNJADU|GC6)eE_lWJB%0BLSEnd4n6pIrs{59F#GnL{0Q5o{8}O|x)AIr@@1mk$a>2fFDtS&^{Jcl zC3<@b+$FPClFT(tSnyl3t-BOLDX)G_Sh9x)s_RDkWG=ev^RAd1W^z;$>&Mv}DbOgi zn&qO8s(%cq>FnFmWS({HdTf|>pyT@c1IR{g3#^&UYkwQa^KkM0rNy4EzbaeS?G0b1 z)R}>T{=&D0OqFJQ1m=x}(UP-87sOh>cm-@<^biqnsp2}qz`%zIr&O%_9=Vw{A6pEIIdno`hE49)LOFtwa<%D=6n9E zVPR_eKwqxuV~0N;5j2r?&26xbsLBqWX9Emv9hgEBqNYZ6=I zmfk(uJu1`7HO>5Ec4Fur3I=!dZAR}^v^udrJ~DtsTYRx+PAc|rWm_MTzv<3)1u5N8 zxqhy=LE_8jNiXiXvZLHD81Vko_}4{364-IA)d7%XQPlo1>k95z|x?J+TSx*{64s@J#vh6}iN>n_!rT+9+rjq@Pm0C${ z#Vh=*;b&yuw2O#^^IH9Djq;kL%+bk?j=cOUNHEHL=Nb7RuvK!Du6`Xt9{4rok#_4q z36FBMRjNs<+(>G0i`@93Vgvme?tyE{f@S@)j1FhG<34*CU=}wjFLG6Ne+)5W{We1l z#XJCK)ZaJ1eY|41#aZgfo{;gps!GYbMNvXfrv;4;BG;){dRI@cC6sp%5B;06&;)$N z(XkvfR0i7!_xY)pqFEmlSYN88`Vij`ST3My*To!kgY4_GP<+7C&oKP+t!u8{RJl9G z^TZDW`8!0)-TX!2(^9(@G8|XzHQkz^9$Rx6_^JcIo@Mg7v6`c~N2j9;f+UoSD?Noe zO6{r}yl+Xu20iMJUK*&w6*C=m?VwIhlQOs}apWzL_;cAlx4&0s#wU1=_hpN7P%{d8 zr*Cd}EkWltqITCKamVo2N@fk<<%OY#c#1MmFtQB2djhQEN_VEz&r(g72a$OOTB*7K{?e8LMknS~gHwK?=n+!Al9C&3#Xc+03;@p$VJ; zbC4tV4NKfRf9|!XGrzXZ&TyYN381LpaOO?VHQ#m3^z9Di<(HpZy~gf2gH@zwGiH5C z<`>l&iZ&2S0VOL6&jUm+cb<-;|u-Mr{lT2%*!&u)LIyc@ww zuJ6jt5()*bfQGL7=|`UmEbcnJp2A>rtViZ=LR{3RBKTG@vg|0XZ&(96V{0fF%t00S zJ7%!BM$+pkk>yU9Sn%y&o%QxLwj9d^z2V;~HNtN&diH%uSk&jGZRhfJrOcAi9!{Zq z^%lxa*B^1DbFSRhnV3p`eP}=Fi|+E~(|~6{C=owx*8-@pp*ZZX+uT!QA;N`{M=!aB z4yI+b5qlpkITp!Poi+2(K?FFqD%bJ2=B|1Wu6hw5=w1asbv+f|=1e_&=;xJWI$f$J z%z9V(azX-4w}xQ~Y}M5q<9w9+$4)vyr` zouSi#jgJvBBM;}-8hGc(ETLpCK3|NV-;-VPs=}|aOOs6q3F>s5?B|Wy2{LM9_8KAD zFDtIAMouy7=i%td=?w7Sl2l%z042(+=Ql%eqh}Q#eu=?06pvt(JFLhh0~czVC!r9Y zjIpO}$|jXW9hHsoXN7C|p2^CA({QAZP=!Orw)`vp$8Ch(Dode1+U3IEA6mpz>Yzp@ z^u0WXH{SgsD-XA96pwBEcCJB;IsMp#Ib8^QEL3?!alM>rq=?-J$ucs`iy?y=LqLao z#rY)ay13t#LucU8<-+?L!6!~s1i;ou!X%gw68-_6)K`?R56vN~O9osbV8~FU*|N;< z7b7%Dt9iId5t5$X1vQ?I5`syZ-AdQo&346tnMQldi4q(sYHZ{|NF;dW9{5cXvcVsO6H+&|$WDe3j zg3O+BE^ZNzW9u#w|Ll1$5)vfFP$iG?l7PhNM$&FF&vAE-i_DgTeRMFTX!bEB+M#>3 ze#nbo!%e%Cd2;C`t5ZMrFOj|dr_5JIr@OW2Bu%{zO;xZf9GEiyK~?>=?X~;hOlIuR ziiPVc*{_=XQ1%*u7&H}mXh{i=*QDIuB=U+mm?uAL}Ey zzb%n6h;{v#@+o89oy1d*AxjqONlU%hMa8XSV#7j~%f|gu#K@;{f@|kZhF9PKmt94B zUvxAQ2HJHm4WiW6M_0LsVx1;;D(H!$EDEb-iwS~lY?C(g{OI?i+wC_~wz!w}>jM`Z7CAQHn*oi9OSUu7Nx!z= z+jmshUp+CH=6Xd`uKTg?cNu-g>cKmS>_&sAm&~J&-#PJ*Oc5<<`5vRAx`X#_*T>QW)6nv<;x4m-f zq`)?~Q)f&spkUn;czb;2{ISEc{lMMNj{+O@BssevN9)ZEKb6mUJ@gJSn!&IW=5NCP6ey|0?pq0K2720X8Q2nBcMfCI9-7{YS%yUEohG8?#l7CKU`Mp zxx4+NIM9HWV^`cPl>BV)TJR%!#`a?9oikZFx9l*JQz`e=3DRnUH!|B8qoE1sekq2^)<&}+#n%!bd--R6 zV5UQ=S7qJsVB&s$z($k~CrNUpZdrqD z`?mm|(x+dh?qisoPPY80WRNrX<6DLHY}FxfuM}Z-;tILT&MDl zUUQXBh|7hwIABZfY1Tzth5ahsSsRpa0xoyAVPXU3n5r_-cx%C^(7Lb5ZTfbp49=b4 zGh^9a->altspPA4tTrmif)OFVFT9rEYA9b&0pR zblVKjx=clBnq+2!cFCuc?%cG23T4JM0ng((f--Sw%Dn4?7U0sVOU(xm&W!%9GWuvW ztH3^uZw&b4bp?YJ5RYa(s~CHX1hY)xzS6q#W3l`lE8!K>Q7kzLp0HH6>9yrK2H#4* ziqZ?zGb5X;HU_acZ;NBZFn@{#d0cd=fo{kW2%SNmsfrK#MIEXkoI9iZZ9m|K=ehQ? zv#PNPC>4QV)MjUrQkLZb(lZ#M>Sljwcxazq1kO0NE3PDo_KYH-CSpvEo=rl*CAo@v zK4FqGA@iZu`KDai-$k-Uv@^$&HP;S&iXaF=JN6|6m+u3@Ux`WD7dX-@Ogt4>k0?_) zR&%X9m|Py#00-3dmgK5|>aDhT&QhzehW%9gnBE4`2W~ZLiC}K7PiL-dqcm-xl^N^5 z2UwNXQqEfhsBGR}BF?KRKqws-SzE_OXSu_tYoLc8+Uuj00~;U^KMMtI@}C-}cilN} z1T)8wnksl)SaJ!ldJH;8g=eUfgz+7IQJB9W*)-PJv9VXBeKG_V)_}>r0>fg z9oH79x}5=Z(_IB>il^oVL%_ezy?2qhH>@d%iDnJbK@>r9)_&A3pMocF*PAwW`zUjh zy`5IRBRZbN>Di=xSe`IZ9(|xYMmQk)tQ}8`zRQo;81ZQ0Eo?Z2IlMmK8x1Gl{`<6~ z_?8Hk<{8SCeU$(G^Nx4ZlcXXEQ7f+^LKYP&11KtqSmV_N#8$ias;{1HT~&p2f6brk z0Yi8DlwB(;;+e2cn8}DPy8ve}uQQ=NAbw$tgD9o}opP|uJc*Xr!vIy)sSkN#4tHtE ze>*NY(-M=hSteUTa7|Ke70!zQgC`~k=5^+K?z*WZ5Jbh=Mz*)!SfhK_93k18Ybafo z!8Ri%`{K#TK3NiQ6zp?+BFa;_-`{h;I_4rv($MjPY%?Kn@-z;qi3?afnn1->$+-s| zs6=ZI-Jeuktc*gJl-Qm8oCy&Lq@!eWF0nzfs~_OJG&L^iT259B6AKov3{^0b3L(;v z_f?+G!_i$NXQ#Sw0{L00=ig+Q9t}(L+#Q8wxVNV9k)UnC^T9v+_JhPZXeDH5Fi~@A z3@O2~!d`7Yp{0_K%*#RM0kHsQSI*L3K#4jx5W9N*E<#Uk7`PA9_!#Ehb~C?-u6Nfp z%xZMn&kHd($C<2`u8E1nROUh^d9T1M(m@lMDMa}4{>zh4Pw2|u0sOfusZ_t}%~mXW zXRs<)RaRJb2?Pv5nO9h=wNn=APlocGyIGNeBb$P+hC5Bj^ZQ(!IP>Sg6jGSW5x=$h zs}0}!j-kIl?bbX$Fe*b7?YCq_`~1}};r9ew>3ZZS)fucS+|}lF?tdO}MA%nDhNOBZ z0Yf|5Mly(%;6_3haqb2_t*uUTJ~M20>i3mYZo)u@OCT8*R82uQ?JI+&0VcO^0nna4 zE+s3?>%n$(n|w+k(zs+8#JaZ0yWYimY9pb`*=e3o6%Zgy%94+9*NuZ^c?FO-VHV+6 z12T)vzE^V%a&;(^`R;l(!b$ky_UI)kEND0EX^eZl@Ag+SOG^kcDamiT zT$^7X`7%eMYYj-PwLcS}uD9W8k6A9-iXMMf_bbs>$Tc8>Ffvfejo9ym+?+$XFMR@Z zZ*(9gOUS;7K>kz&o5U~eF<~K-Z<7<+e7tXn*u_;KnlVX|X+ei$L6E?;vA|-=Ar5$W zliTr*+ZsueH{dx9sV82DF0g@qHtT39OI}QB`%2gL%2=A((Y%^`OMO`x3*$ywfBz$w zFx>8Y+>4_>`o|TN{Gh#jJTML}Z75$qEzLVi2|(X{pt2I)MXBi;D2mT8EB7%k3%|Ir zcD|D|LHx4j=^v!hBp#qGZh2twS(o)#k`$H2@p?RTX!JH7g*$kwP~`X`PUeO-nqDR7 zsGhRlbi9vOZk$(6Jt5SsaUb1;ro86eeT^3ioD)jT+ON%W2?UnZKtVL^BJjYso6`2l z8(l+=tzo=@;|B}+N6$&hO(f-p_C-2g|L+Ii84n+mWYtKr{rOpeSAi96Z$nwfj>*SI z)-FjKhcg?Hz)iZK@5{R+wPR900RDBm8AQ4jG?cCc{b~}h-@Ks^a)G=)jR*r=&9hi4 zE56@Tpg5{b=xrfp$$&uxh|~PhZteRXR5==0j`cp8J z1C3eg%9w6_mi9G+U(Ig%z?X(9Eb9pwfa(sY2 zPBv!y5mvZS=`z;WOThx~^t&D5-Q;oP0NmKYpyXj(Zdxbl_tH>)e+PmiEjKqemejQM z-c3$z$42ajC0}bS!*)dV_c<^A8 z@%Wor59&MsO#C_3cKnO?=o96g_3k@7x^V@aiaT1vRUPjCS{^CvFFjfY9z4)SAra=E z@xL|I0`eF1fxG^$kg4dhAy#F}d8M$$EqA93^SX&fpO;*yi|&QF+?qJA*a=0HDg=sf zddGB_jQ5l6SA=*4l)CKK{qA*%Jz1MRt6$KLW03r%Yztm?1KNqdTs~0(H;Lx(dF@#; zDGhhvKsu4g;$n#U+H;pQ&w;QmJxg0X1xd6UnujhXkO#bCRxXl@M*<>s&T-j0o_R0$e9P}<$!M@V<7Tudu$2G-BU=D_3G2mBEdkJS>qc|oLk zgw}}He7DiuH}Q%5GNWGJfad#JdEPRM2E7KW_qB^r1&hl&c@xQ>i%5@+V&z$Sxb z;kEwf6UhF<*q=|po-4zck;%l4eOHrd#lVA_%ackjqagku=bEcM^ER~tz0=t^wp`~r zr=c6G6O}rBRekA-o)74yVqS~K?C$y)K<%j=?)sZ7$%RUK=8QONMP*C!uV*|CfF}#cNwKO)0wKLAS@Y&U9)O(rmHM-8yEP0{?G?NQ? zbdTAlkt@y}X2q_-E(L?Z4EXV11rfY$r6GH_D?v2~S%j4SpBxJkd7&phTe-YIRLt(c zoRpiAr<)?sNu{5ua;3Jm_JR1ev9W8pBbLX<$0s~srpEoVx<(q79|Ss2B4E1!zy3~3 zKUGeir?Mgk%g0NPs|=)~Bf5Z!sH|-H6zT^{gt{SjER97+ z^4^_nkkL%~d$olxlV1z8(qJ7^su-nwA~J2_>EXCfiqc}Gf#j`szMMvoesPl%anOF0 z{WUO4j96_LE6@87-u0y$*XYhUUu6$*bk6Ygo3~$l<_z|HQepWhq!fyIgBj6kJQ9zo zv|n2MDyg#p!v%yrEjEwP{&MLqer2-+T&?#+gq4Nm;X2daLm>pOez5(yKyEW8O0s{0 z2oIO6Le2Zg(F5v*f(~w7<*I36E;BNLlP@@k!t4O%&_s!$wC(XEVqn z#9)?qRCjOfw}kTH@=K)EQ9$0<>Ma%{FcX48g_30h@1#v`|=IJC#T?-P4tnno1MI3H{ zdc!Vqvy8Fez0YH$U|9~e_NH=Vf|wgoGbzO&Yh9=P z+CDL+Wjd5nrU3%1!Qwe_gfiwjR<(a_zz{Rn%c_U6@vKbjQbX6)o=sUKbZ7U++n~~k zq!LSX6_dkEv^9s-PS){(rj~q=!AE-47y}1wy!+rm9V*zf!}nL~yX*;ogY)kwik|jK z=+~s$awbXh3N3o6EW}@K`VZ3d5h;7yoLhOF1_;r%7_;H;hJzG1cWnAP2e0Sk2G$C)INVM0!{I#K%5(P2p+ZkxFC zY~6I3%o(B)<05uQyEJ+!`qly7^54%!F%2 z`=&jc4v0EGj8h5|L2*;l$+?MQIaBYFy9Teed33SqmlV0;8ZGM`EY=nyK{%PI3#nr$ zs&bI**|TSDv&DG)Fk{n;s4`{PdV6EQ{@dZQSLHSyNsv&o-|2b=DtX1W$Cp<0wGxpB%B7*>%0GJ!7BkoffWyoB6_DN|}V4Mb@TCm}r@4nbDYe zB}zA(ZwfjScd1Ou)2|U*I`*qAOyicbq@?7J=)x?O9b`<8tPaWBBEq4^p3)GoU-f&U zZ*BK#>lAm|y96;*Z;qLwqM~V2V8fU1fY&$SiZAS#LJEDcg)fSNbi_?Q!b9y{+geK> z9H%T+DwrIpv}O-rW6+YGV=n?9)eQD0iP}nMNdagEqB$7M&~o9z1vXjBaz0YK+0UOp zHTLlV#Bs-Ui2)C6qU~voU~t6?gSj{ze~AP8kS!On6R-MC-!Pc+UOm=)p7H!cW0OxW zQa)vf3=_Yyo6mdWcMN8#I)&GUF$wjIos&tGyxYFp^IsRn6hhUBsO+PCpsfJBU6r@< z$;$ETd&OQCli0(8u|i%>$y*v4)yBv)v^DcgWrK8Y)#9SvYayuZ54&gfEwZ8ZxA^(* zYH{maH8C)os9}(15Ww8fcg7*j6eLBgw>~--*=7f?CHAq|tjqV? z_85bCz(rA$i|&>Fppp+nrN%{6GbjO+3&N-jASHjbj~KH*FVXcJb6S7cpJX#f_R1_s z!G?8hTs5(I)S?Ckj491+=V4)k4&&JXR5I!LQxzvR7z95SdOg_@iWha`({8$oG&>p$ z?&9)Hay%W#qw<4&BP=VQW+Mx&?|BRI_jKj&LDT2P1*)((G!DA+IOxUWiLdX5F1y-2 z41TnRE;^p>yPtW=w_DgxnvR#9~5Kv2`#Li;!f?_vjR@* zyGto=(ds0UeF1)jukaUXk%V8CHR-Nx?VE0)_}9c?*eo8vc~q2dVs0_WG_jup4IOaR z$`n26g5#z#3)c_Qud_ttQPsN4Aepa1EpJugY8O?o)48I%Xot58 z3cSfpAr-*uG1$K0V`(BmT*WPH*WV>+h~O?YOJtYy1IC)tZYIgq1q}t>|Nqw zWG>=#R7V1OgBY-QI~|SlAU|V&Ku1R>J%B9Cv`AcZZ&EpX$*nEB6A%g`_B$oL#G{(q zFtYvG#TBaZV4{yD4=0Aribu20&ZG8%NwC?T4^e!E5g}*t3XTK4r(@)~G-7ySkL*PL4>7f}p#EUw_sR@J1*1=TjQd8<}!^^G4~C3((COo6^f zwv!s+ebTTdq?TY@YG=M!v%}Xy=LGH2;myF|vOp7&HEJe$1qyYK+RK&7wM1o-KYZZ(S_N`Z zK_(Tpfug6llO-u_ljV=gGTfXetpC!$%kAUK@X+~cv zza}auZB*M#d!Z zYd+`Ytz{ybq-?Ya0VHf_R=hje<3wFWPSjP{EgDZdblIv@>s!H>Y7@1mcJ-MXX%kr< zz|GdZ;A7NQ!EIb>=)un?>124ZF2v6HiqVgzM3__l)Ys2|1BrYbyEfcqk`L+yTc>=% z7G@KKf3%gd!c6cwKnqvDibSGg@KcHXHoF&QM?PHQh$|+ha0`hT9pk!7V*AhB7f>}S zqe%2QlAYDSAf~MM7xq*=w@C&Z>5!|0vF&9w+)^+piS!t=M%rXvNa;FNom6>zxjg9U(zF>fdj6Zy0z6+P^U(klKu(*&icmz=I#ur^5Lzo0@OE2cQp>FJD+fBk6g3f zSdKUVe+hiDKzO!Ja9BQWj3kz$|+HBC)y(~kXxXX}^d$!{veWN=A3k=7LSLB%Q=E#b+Qcs&y> z=m~p{e4H5-8S^QW++kS+-*MvkjKOB01h-uf81tvl` zCk=x;6yOPxCvGkgaC27z#pZ8a(Rh>S`r~2mRkB#De^EV_uABVxfnnv71xMSGem9Y3 zmI#qu*!?Rc%)F!79W&KO5w_3}U?SjIZ%JLV9=S=55t;Ik)Zh2|STG|_?0qn}YQ1&f zh26^8vA5Qoi!$0kfFdB0rvEhfy@6^)!L?X_dLm5Akd^WQ2c`t&tJ_{hf=kw&<*v2^ zAr0UKpA=&X1%MMyL=G{Q1{C{*d0FyF&Sfptrwbd^z}fP|47|By6Oj`sb^UZ6QXBZ< zzjv+aM4ID77pvJDal~3kLYlNMppRR5r5Qb@}$KH|5@ z*_vYknilMRcgjz33m@+b`B_$-Tlq<^R(q~<<)`~!4KK&OVcJx=eCvy)aAk~dN^rv1 zmF^&L_}GW|@Bc=Red2gBastjgI0d)28@Jp7-s_4>-BmixkL8^^7%EiQT{vIG#?`r3 zZ@Jkw8MO#+G)+KXlu#^`R`$D|=P21#v1Z zVwLUv7S&Zzg-}-gQ(Dm*{5wz<4;+4eTXN4O^5K805A^#>!ZKfT)Ry9tFjDN3+ZMk9 zC>WibhS9jq&|jA#mZINW+Z>pTSgdV))w9#?HEpOnBHsCY`kulvd-L5}ygQeaGZjtN77NTV*xT?Vr=<|NWC& z@Pm(9z`pL$(SKWU5UNFud?M0RNp(Ehm2|N8s@efL1IDh;kH?cXF*rKLI0F-wnUp&F zclAKz2%rE)$;7>4bF6A?O*jIWnP znr|kg3P76@gOAv|5)QmK_0gMatm^eqElWbw0N&^AOS*>ONOH%(}k`v`W0{PNmx~s{PhK*Sr2wmoKHVCp}{8k_!vYU9i@!Vo1v? zLpoAs@B{N#a6q0x+S29xjQfKPmvlUD*=V*HSOj@9rj(XzkYD~2R~EopoUREqG@{+8 zX0hqXr-peBz~ja06nI5cE@ahnzrt8Cm`p$HyY>98!4yKqy86uoD2zdSONC`nQLw#S zJKXUczZE^9=yY=GVq{N>U~7u!vm`~jcp2?Cm4YqiaW?$rLt4QZ+QAuGuM~~6eYa6E zy|3;UeR;1skl-XZ=qY^-!);Zo?2hj-7HoLPI^yy_viSd!)n1mDo}c5;GMBb}8J!g!FF;Ll?fnM&KQk-;GkAo9 z07SpimEX4nm^XzSC$`>e9wC&cnpMS-N+hmWkcnYdYk_OIf?drqk@(QUzIXWJX(e+dHTzS^ym_0b*oB{I6e#=pBQgg2fA^ zYgy_asyRgy_Z*bqQLpa?CFb@qkwoid{2Nm@;+Sjp1267OZE05*8NXcH9Z{3_U-tGj z;q%A3yxBe*TJc=c()}YOE5L4Z%gHVl>p@!Jpu8q^WKTXQ5Y{OW97ufJx5Nx}{cTem zZS;$U%GJ!>sNR`?&`JxM_y#YdEIsNc$@xk&Cu$7|w^6JTAgv6{fo?~NZkHkwlt0@J z=K>891~3LNydI|`>9~%cQ8};_LFcp<0$Fnf6)4irI`?iZn4tOKMG>_&eQMGhjjsil~9WH_9Ugcx$2&j#v=-;ch0UDA_nPt0j2@=D}BXM1I}oZLF#6k922w}H5L%C^l2us(u{lhr?j2Y>u| zayH4FYi?nG?u>Rtc@})1;$)Yy9>!S{NzCIw-he|MR5o1$!m{rW z&XH6lVWwz0`Kua9(p>FbMM~uq1Vr`9fRFEBmWCXJelcbJb}`<|$$KWDnZm>IY7Km3 zl=fFh$=CzM@0JKJjw)myS-eim4y*P}*}8K(Rs*XN2WzAFe%Uta>enYz-9C&DAC{!k zhDGReZ={CoZ??(X{SIEwl+FiOHyq9+Z3a6fw`k^>;$4C8^j{{1(ME1``4erep&F2*TI|*+IeC_=bSgw9VSI+Lb}JB ztkTI!)|S07ifUBsj_DlPoXADcgi}Vit(kH!AKUMbw(YtTI{eC+w~i-+P058q<0MW6 z{6B`I$ULo01GT;Gvebjw3MDHSHny)M!h^#pae{Y$2bNQac@c8jpSnJ+tv9~aT8*Vg z!-#svC=%3tRLo&?#&ba>ic;EmC7!co{jvD;`X*caH_lKZR;x5CjB4bjphhAaHIf)Z zr+`FruO1~h5-~CP%i9c5k9<)PLhgR&bLzQlZ+2zCyz3*NZWU$quyz!aZ}^>Dob zyiRR}H2YSsZC@64)?e@NegZ!$2 zF%)!2t^kyR=obai5BUloeDKIFxO3S>j#33*K7xY;y1Bk7&-25jlmona9KQV(2`Wq^ z6@Vn<%A9WWsV(>rN0v5ThZU{*UwT~s7RyT`XVsaC zXRa1G;?bpJZ9`u(O#lsc9&BX4ik6~#Q9zD&%{oNk-@W^2;pvG(O10!CG(@EopxFJ|jo!O!TBnxq=;FC;W`*>6E$}Ta7pWeID$2y^5H} z@nK0|fuSy3D3A|gaU8u71YGNTEhXv|QdqDWCku>8qhAH$DR-QN%t47n+d4b$L7iEy zAMJ3mkh{4&g`VkbwhTI}o0#j;$b4Y}+YqSozO<$bu1DpSq0ScXw-K8z?NYu4ZuNFn z6J*`7MGkK3muX{L9e%V)UnUW1w!Xg_IfrmJwxpV-FFkxf>D|j3>RSrsHKB~IL=#q< zd*U$-G|u2JNj3Y462P<$pfE|!xNbSfN~mnyk=2vAm>Ir@;qrcH#B6OKP+qgnGcUT5 zFx~x!5{$QS@^@|F)W2)19v#B6@cdSbyFlmHJF;VTuH5qs9 z7b3G?Tl^ud^Zh^smp5|AIBh?@F-u~~>eYjHT5Kw;?T3|d$q^cvP}R{KnN#ZHCpiTl zSh=guxiy9g#TMJNuG@Cm(d{krUctYlrBzVX7wglfv+()&>WEV=M}%DS3+>-~#8r!# z>S+vX}FR9>8N)7rV_D0m~logX1upA6(F+z5~-CQ6-r^dr>Z}tSNB2E)oU9t<7h9d;( z$hImmB#<^F8k!^ML;hzjN-w#wT&odzzgqNUKrG~L_*A|Q z0u8re9tx5(*98smxfz@3B81nIpsvK;OUe^5l!93{V{+Sogu|211vc3Lo#82Mqjh!C1bk&Y9!J`&Xj_uGUsnfXNghs7oLHw08GkEIy=T&GaenPK`Dx+? zhD>SYu{IzupuZBNFIghRw_)&m?7nREZ@Dzgc}M75T;ZGZMBwbKz+M5}zgHkt_095; zROyY|`5E{*{o1lvzicT=03jYqb5^$&@kdG-hjs8N+nx7Oe49M0cIORK&KIOrx8Y{dF3yDqltN+eKgp8A957n-w3L8!A)OytUs`-`TMc?-% z`kEO>eu0+#9Q01q`7uaB`2$^DZ_PF7mD?@g>cwA#Flk>>W+(glk&<0ZYvxep{R-Mh z9Mj<@Y?k|yMm+^=woDbRvZfjY%?(k$=20qF)bXRJH;;K>!ngIg{Z4lk^GW%}3&<)7 z3y@WAGrA+MIvmAua#gTxeQ6xdrr}->n1?oU6n9_Lh5$Pod9zy@$@XTHq)LYtM?$_d zM{R;fMegPX5gQWL_avN^u$9sqeRt0Ze>g6SXLl4OAV!$7GhVh>h1$Gkk=8goPh^8> zwIayTjp?meB17+Sb*M%t<4ZPqRYg|5Y5m6;VztBmj!!~r{Y+u*^DY8Jp&OEaykdj< zk*CW!t(d3G?~DsMl7A%hT6e`Ie*EC?~PK^2#GJg+b zmU=#W=3_ydEj?PdW`C>tMEm!Az98Ng8V(nTrx-iyuX+lLULdR2u#bf%=3T2FImH`?-dN1v zX!CG1<(`>1>61Ruu%tvrR~lN)GqQGkol{z;{6?0y_)3$v^%P%mDE-~bevjG}^RXx$ z7B7?y#;40aS$KXyB`whjZBQduDb`WuxvLks(~0m4PQ;;viggq(+l6zu^tVuYl9kCP z`bMZCZeg$TkQBMGPJL%PFv5sQsk@CUQm9iknsRW zmb3j+kb1Es0gn8gi2W#d&9HNNlz@I)b~% zmAlDB*4#bP#bW{n_E-;8^VKfA-RvuLPrs{>QeEtGPmlQRmbj8$uM+-qQSr=!Nr%0a z`j(}&7EhlT2vE06&Ampk*+gA+w|Rkn?56uiAcA|g*Ir^9=eb0ZKdzbzmFwErcFX2q z^a$Y4Am1qY>FaF*)p7o&N3}<}L8CI-!RkN&e~KFv>6SssJRMhc0PX>C(MMyKKP7-0 z51G1?|7bLfUQy%EaC;kEb#Iv|R3Tu(-84RBVp>E`n8(tcwt;LnHQ?85Cismjk}Ko;2!AqrLXr)_<+Kykg(H%@FWMld+%EK|z1sNypBiD#iw={qYMZQ^^zm$IWb zJ8TmM&Ey7AWH3Q%!H~W*-Gzj8^*!p0?fVYYZFsg?{g$aKe&2sM*|}?H);KFLDK~@5me8vIwe~ zuhuE2?Zipt;_cvDBof`-hsZQnD1Avs6EhRPgq-`?&Y^r$SPmK7MWi(?1VY?3CdxfF z@U>?C5|MY%n=f0OX?=pB=UN5!qwl&{TFG13K}l1Ye=g|JMST}ZK<&G!-JFYR!sQHZ z=w?=1oe*v^XUGt7CJ#vtSUotl%7MW3L-zYSTKEh4$`?^wXeZ$22fD})8Zj|4)Fk;e zi~NY|SGwO3mspIw64K^&d&gfIAam}8#*FDT;)YFYBV+GdwqVUa)R~kLue7UKRI}VAT;9yE3 zpeO460&7ZRy6tQ|>Tat;wH~5^LK~4f{NPE69YEBpAf$cPihSe9uqp(9N9OkH+@6j7 zg%!6a!+yDlBSz#N_KNWk1h5FJizi}m2*|yD135;fZVtBRhZQ%nG^MU4R``8!5kW5? zQZFbCk}X1AP}4AW`}>APQ7e*`v0pAQkv->_7{9VZ)R)_K_KXDCJUh5`)NRJY>?LtL@wzWFE;-H-xBE1a0tK;X-_qLweWo;CYZE@z3Wql?b73a>Si?-Rg9_{vM7(jUBWLyu8Pz^=n94%ne|kYh`@{&R`fOz&9gYH-A^=!udJ?6YMCsPPC?)nCpq zi*+7L)K2U6a?5hdB(jI#_j|UayySu~3|5!C%k$N2Erd=etqJzuOK5uA57#g>tqjIp zb7I_IN!_E7a`u?xJ%B6+29VsZWZI+ASIGvRWb_NuZd`kAS*Fo)isp&XNhQx8DlA7v z{3NTOGcBF@Wipgik(xe3L1RrMXcl&MWxYXJ*Y%U>VcENl?9zhC#?`A{bS1%AvVmU2m^wZQd^VY4pgr z=9ae0z*m}+h3r}O-wo|N*e5uIKOHml9EX+Nq;=T9mNDHl_+idql9LK;%N5$)&vHJ{lM z+~vmXspeVErRgu!8;jH%l^vcRo)s=ReS^M3Xd7h|S~gQ66nHWHd0bKL%rYh; zD{wh-aV@3ApmsMz&^fjXq%pY#muWS2m9e5E)Ab0UC9VF-PWNYxq};%>jipDRzWyH@ z_!tz`Gp*>&LK~3z^@dA1Kt^l*PpF#f-9hr5X)HoEy8Z_&k*jay&=bH+iM1EU?Xj{m zKNf=seioN!bUD*6isdc_aya9dRLda#V*FU#ADTY5W@_qV{5tmHwys>5)7D{)7WUD4%1#xEZb`Xe$ zT>gwq{!D)Ntz~n5dTS`<2de;c1`Vyv5{S>| z@|F!BYDZo2KqqQAKGY*#D<2PLJU-}iYXW0FAyOyBcbgi(pPm4H3xv;RM?YjLp{-wp zSCDvA2_f(Wz6T<-dGyeIQ#cPI>O1`#w`nJ@kExNclq&#g=H^I-PKz29={rNrdb{V1 zSVA{;>LA1fe0VhLbcWCntP*2^b*x%mVsR1@A@MJt4y3|E)1eg=&gFiI=-9f}a%oZU^s#Is_#WVV#3ThJxe1Sv%l2YcC za2%4WMa&Bq4y81Gf1ygGUPnwo8b=CO!qIOeWhobTCFj13I$h#0bKA|5BDf2^C?|Tq zdTF;Zf@M&jrYx+TL5_$zWTS;-CsfJ-JV1=e`z3nRYbZLYqC6Kff+X08bBb7Le!trlC_@Hy^(@g3I$TfVp!F8a z?;Zx?Wzb8_u-Y>&#Ht%dm|=Oo7oCA01nV)*S1iBlK+qCtoxAt;@2qj0^K5#};G0e< z)tWI?ug)#0Sf;Q+v+IzC+q#7BPp@~H?wMYZOTHrK#!NSPds_|K{cJ4Z5AhX(zi^Qw z4jl>wwS}56tdG#P2Z3e?Mb^_1$uCVuM(_F{yMvhpqOQfgq7tXJ(FB}8kd_wK6hc!YcTazF(k~%n00@mN z*SK6kZtxj*qnsY1d3dd%%U^8j4pfMzfTs^%-|5tb;>l=9fH@qMke;oF1-{#7Kh8lt zr2@YG=&tly%Xio9B1{FzwNT&Jgk_X7U(XXH)*e-alrccj;myLdYmPv_Ej!#`IM0}FL-iE{O@lw5XcL7KLOPme zX%7g7^>t(<+Oy6Nu%s87$=!O@G5`kjdYI2>0}%3ElH?o2)W@G(uDIeiwwfA ziej}XW62_R-aH#$m%oA~3i_de5E%4ENihkf@rJQH^fw>)7gmsCU?NhybbO%3AGW@4 z%NEQRp_GwJX@y2R(z_(@tG)v-Ynw90g}(CNeY}&=$}))457P=kjlsnUo$5cagRjPL zvUJ39=!cZkgqGvy_YAg$-v}fTiBZ7-3sRq5oW_^{y0$92iy0ljCJGNo(Dg^>yl(`r z4&?VWVma6$y8iX(Y{p`-#sz4jTTB-}k}BwsW>nGaP-Cc3Zr=k|TmdUc%-`v553{ly zm1tFzT{;1!IG$YBhUQb82mQhkk8_SQvEC@MRf%}#Ad+88e`Y_?ns&zbIg#<^NN;Bp zPUi6Kd9e6(YcaN(%79O>C(?P5o#wvd#%iV4+oAtb9MB*5ZF#)pgLdd~#ZK$WwHZuX zrI+|!}&~vOm!-$5S};W4F|@F>eqev3R6vOo|k>1Rhb}8{`OoHa#C)K5W3g2 z1z^QO@-lH_TGLmkYj?9&ehsXdr{GuYOi;6jz4m>`6lpsM2;@UaY5HX0`1?oyU=SNU z>f8Z~#dk~aaG!*?ICX}IhZ5Dm@*e?gP~OUEyzuPDdCJF+#qur_1~s^Z=GbwBqRC@M z=%Q5=PW1Dz(29~0Yx~2VQh<-Sa;9i^=$Z;qTi35u=hsj#NR0!>x7ovrT@eKz zeT_ime*q5tmycV7e7(44MiZ$Ggt?q<7GodY++FflxRWcY)amV_9|f3;9*!9qYCNkH(d%i9Nwwo_d^R zN>}BmUoX!D3^lm`4y?np{(IoMuIBnDTp+d&6&LlVl|t8Ah@CcW+DAY(^ng z(%mjOJ+jcenbd?*xwCgK^IvA%$$}QuTD0)^_=tyxS52;` zs&eJIXh)SEdke^;fwk(vLpNqmU@3mpwBUux?O1sdCArYkTa5 z3uoxcz)gL&&S@R7P^8gGJ4h}oLpR$~4gH;A~xzeJa z0RX0DFNiS8o0Fh0`t3a`$yeVdkQ?MjL7EqWT~QsHgFGzq*FDsWj0;0p(hlBVD=y4p zFZLWTJBkw*!owAE3#?)i68x$rFmuClVJGVsJgg80>pekb@%0>sn(b@3HWmAbjbFh!S(d3vng>UWWjPQ0Or(+H+dq`XxAMLyZ9R^y^r|Nb z&LfACM%-y=BT~MwkbXtyDE-hIuXWjMvA*qSs6BBEKi(81vYZCbNiHKmtM7aj zUP+9hmS7A)q~*%?yw3F@72aBA;++wrI>_CS*3|x0pY4L~OpikM&Q54~IC=2PDA{b~ zF1w5Ha;aKbmgWGd#LdW6mS#{14n&uVwBN?I3VXaD9{h`IJVkQ83VnM-lydY5Xwe!4 zDa-+v<)CIeVp8xqqq+C!7-^14@q>ngtmYg_{+JGJp z70>e7i3kz%IoeS3>tv>0+youbmF?TCq#Tj@e-}p^c+(X)fWe>a1_*|HaWOyW-ny{X z%&fsHRzncm4TSxw8fsI9rgQEk%FAKta{>IxP8nBDs44=SBU@&K^6W0Qgk#0WbGj_e zyP#%JHA|C(gIaVKL{2;#%mu)YXXsZ2hmS`~10NAfCYbP;A)9KmVg(CL!rvAeBnNJE zJw^<9F3tgZZt{@y0inQNrD@01sJTO-^~S06ktWGn)ib*D)zza73J;vF(b$4b*ME@A z=zkZTcQU93Xzom+YQ?lU?O)BPgWDt;n;i(x$izO#D0W5nnvAj=Be{!^1|3BO{gCGm zMf5IpK7pDaFUH7ZI*R`s1?U6CU>8#ILtg6_9AQQxf%9)jyurW$z(WY=h7)4<7Ts>( z#YHF;^87|JLUIXA*Fv=yya$$TFG*-F(R6Lmzbk!5p@l5CLAU{IeP@vADW@-b1}2ws zIG57+GD?vw^c5!{>NtL=MR;jSf(Xw$}GL(&&Nrl$E=?8rA^P=Q8Bgq;W%NWPXg zc}_1B>V9d!8@rfM%(YPJxq&1E6^s1z9QLnp4)VX74G;~ZsXC!n2bBd{rI97{{Az>O znI_@yzqz-d506ZPQsaSIqhx-V-+cUzMHN1TqvZ*4@5CIt_s!M7(}!ze!>los7z!Hy zC~rBm^0QJ#BNm#8f_-&FvL9tG@XmxdyvcP{6HRQV@N{WbBUnR%%Q(ma0|OaY7^K9- zU%olRz|6La)|37YQHba?u?s9@sx0cCqKD;hOSyg1G-nI44(~k=I~tT8E2ipYW@=t2 z6@bL(D~*K`xE}Y3`|a%KZLiSCh~V*W8WYx&luqg7 zqc=AhssQ@)m*~QDJ+G&0$ivt-N`^m^!V(V4EdmP;-XJKz zqXX5tZnn;*q+7f2lpxM1Yoptc4ZejpB9z+M@-y$gW9~;?;eb7o*IiZmm#t^00JwhjvPG2>*za81A-O|i9z=;luyO9P79T||95cK4;=1@g;TZt*;R~7J zwAVI?s<*2)=HvCU`;v%pE&y^F0QnNWSB`8u_arK{K-QnX!+?(dO6HY|Ej8@d6TQUA*Whj*nKVOBh&OaI8XhrF5;`xj=#G+(T~1vn!F9ge21|a zpTs)RlSD;t23i}g_{4_gnl>oocvjYP=D)TLmj4;W>g2ozf1Ee@c{Wk!dv`p-E|#9~ z!ulj)PLj^f-W(s|zT?;O-_35DmvO8mJ#wnWJ#`ki!N+=Vb-aL`py(08Jp7jJ1|){krjoqN@RmqGo`dH4;~~?&co7{IJ@JHp@``KuV z_@f4;S-V*JK^>tfJOYF_G~0*s26nrDKmSAczZx#3yx3g?_RoLe!qo0h2N#lW&Ke2x zauxH>{$&B05t&fpJ0D#Hm>Qt|mjZZlEaaUTPZ116X@|{5>2b0)E7OI}x491Ufws6Ry zV6jP2ie0$^NqEp)y;J1{rJNQ`} zG0FEqAy+|%-7Vpudd)%tabAEa%}-W>05EfQ|2$d04f?8=F1fUO{6h0JZleoTTSuTg z=ddZBy1Tp4bGr#z3q_dhLOvLJ$yEY@^#0yvN8AeJ{hC+ri*xmt;?pBm$9#hZUPvf;H8N%{nk(%2x zO_ILhh1h{*!(A<481^qgEvFKm1goDxd_W)^$_t2++u)=O6qBh_p%l$MDc$?m?(G#9 zy$-D4RS{<^0wyNR|M|1FBhA+X{(gBqS!tCfi&v37*ZACK6i&?fMlr=Z*!_}hb^h2# zVtDB_he-|dLsVw>BZuH}ul-##=DDU}3){)PTte<0JT(y&hn-6DavD2A`6wU|cO^#} zP?%5?CQI8YffhC9<->!;@1I|=quI!t6?4tRV`mU_X9N3ayXuM8vfO4OKzdi^*WEH` z;qEME-8;{uB3~d#1#D-!-E_?7Q5kv!q~C`wS~M*ZVNJVdKZWHL*1A&fv2vu{!@Dh3 z>R(0hy0x#ZsPl;Uly?afN6{Cxy+%oZ^Cthrib7th@yNVW{(vxLq<Jh<8BaT5oFlX(!?Z$UrT8VE13O zM3xTC6e+qip?N$lGR7X0{H4;QKOGgROsH$>Aoq2XN}v3Q#Lhl|2SlV~D>xi3c`Ly- zR6(-Q0|^RA_8pW2n|{gAK>Nlu>x+9%_?n$bg}O#0BuoHBfHyt_ZC$FEa=&vi^>S3+ z*526ebc|qTUMO1{mSFLuh5=tOyBQ{W?iPEx71(?K&7Zon*LYgg2ciG56t&Aq^V6sW zYdCO~kV;Fpl-GIjz3uE#YSYkb$azX3aKFX+a{KthoHSxX#R7-xXK1%fyxhN3T_+}Lq^;yCvE6CN3%bCLI@g`C_|jvy+-!TaH{IW z&pdLtTUwXUm-UZ*&88902ERawDG!Tob0~|RAk2#gOFE*D6@Y`{i#Q-B%C(IqjyG(= zp5$yr4H9;NRYB|RugB|uA+iJEPa?dzh0Va8ZdDd&om8Htp7j*WUInO-+jX`BcgtPi z1E0`5TJr}_-QL(pz!JpP``MpiC|G2xh(SJ3>Dc_6>urM-Tc2n8r}NKxm?Q!(WtDW> zI%S*E^)v8e$4)M09WSG_RRi2k*N|(D=3r*lLRmwuR-EUKd7pe>QgF$8G(i-YBkD-V zrv27;fUFQ^njnUwMoHlEktDx28?Huxq+QgLOb3-L?Buby-NpXF^BwPzpl@=&M$Ys` zvPB11lbvX2xdD1IPr6IA;iZ5Y%S{u+n^oyhTGAG0!o@+tkxU3PlNSd=9I&)k*jaG8hRVh|PozOW5qf2}c zYr4~s07Z>2{}v-XTn=|hb0t9Jms zawfHStpB-&jp6NG>CPbse#AHWoYjl>rW(u+x z`;c-+`_3A#Cp2s~->PsH1VQ(AM_4iKzL<}J!PCF6PAaX=j^te9HXByTy(c7?wHj1y z0c?=jH(2kHb;*hhU~RF`)c%L~v3$N^5!G&1@*##eFb4h?*Ts=60yvll2(Yu%3_XVN za*o1fTXi}|Zq0nE>X$HBe>qE@zk@F`Q;Z%sc-*}JuaSY*m?bJnKdfoLh3l;Aeht0r zL1%~@%Wna8Co)O{7v7lI2&{bC(E^O4*11GE8W21>=o?G~*+!UHbk^$tucajR z$)CS@19`Jmg@1NIT>@7d$eO5A`Z%M03pTkAfoo9}H2#r=bfjBhAS%ZHQeiwR6rQy_t zmp!toc%0z!EF2YQKI};%&1iZCFc3lBJvNPuEa5d<7Z{f=V?#%d#e8BqItp_Uu!%FC z4~XD1Wg66jxnEANRL$UvY0c+6We1k?H~h{;LT$-GBI{?*7NK(?w{KV*5JPTXL zune9i8se(@KIuQr?+9U%3SirZhVF@>BH&i&fBvtD&vvP${R%2#SGSEc-xx_u#f2_u z6Cn{r7BKSk)%JmWf?|-}rTy9u)QUJStw;HNyZC&&t^uJ%XrcSkUV8@LehvpF6uM+d z+q0#hp;y3xoV+1+USZ>kM7n6`ZRyb-5(>xBC6(nt3$$+Ui2`N_yDcbedsiQITPeeH zdX)@&uPA0#)&o9gWFRWlBAxb|D$IxVbsN5GkrzvSo`GUAa}usq;{Q~xqh9m=6e|4D z7xt@NHR?HFIp*Q%=-LN_Hzm)Z;rsmfndYHZ9E0bkMFi0eM9p(hVKmQRp~`iF zsA;*3(p7!!cJ(08#Ahx3NNBC%QYpeRM2>qlAEyRt?LO0#Bb`*~vt2(&9W_ixO+i5Q zQ||5ci*DvWW1Bn7Ikp!npi}GmQH*l<_OQV_pdjIqsLtrn+{?@DK~~20zvmn@9h({V zyN`v(El7jCivH&v1ZWLzsJEa)&$6EFN73!4ja@aUFj}v!3;P4V8Gw{U50ShX><0;X zs(7rdsE*O8)mu*H5n)q^WIe@3BV-u<|A2)@>~qlz$`~uo)yVWeg*sC^E+!0usF#xa z{URr7hC~mzAI>~NH?9GF$I<`;xlWAIk(F0{dv5T_b3_F(#A0~&e6T)KE|+cFv(K}$ z-tdn!HU?)PNE1rgsIL?0t0RuqLI8BwztUTv!)x)P{{$}452+8+VX576pqFBAX?olp z-(K0RCuKX=T@iL-3ewij)|;=fSbCtZvRov5je^-xqUBibajmaH!nOz0lYqiZH9-mx zXh;RQm?7h)Fi$-A_v+(7^1lD`R8he4^Xadf*4BH>=k4bwY{bt!Md-;fBt)z;^XZQL z;r94BYu?9r>zfABa(&c&6DuvRK21Z8+*i?sN4LKvZZ}1G^biSGSFn)w|AJV4 z>eYP5PA=i~EBCxiK4xg659_o z8}*Lw`MG#0VN*A2!79AQ4!`KOaoX3qC=uN>{_Lb)I{yI-EN_cI0gS|uW$J$b<3D`9 zlzP*F#Nt|qG*wHdN@utep|V55gLcS%Ez$2=cC)HV@97bS;4SA2M zJ{QFy*&EdZha~Ixsi~8QQ2Mh$GqHN%emUby>=W652rH@0#LesWoIik9mP%jy0s7R@ zMLUgztwD&kyCc!mQO^M+o(tWed?GA-6A~m%aB~b2k;@@(7?%nW?0%2nCUn!~(!Gn$ z0(1K@W7}q}Dc;fNaxXr5Wwu|V(|E#_=Soj;+Z*XpBw?j>P$&K$qQGzophWODV`JPC zK7eH~d9n^3I;J`1FXoyAb-nnG%vH~nL;4ZIFBO55Uctr(nBxd0U= zgygm;(zKNQDt%2ipcN8bE{k&enW^BbJ&VrUewZq{H#t7c(&otGo5)MTd9Ts%FSS}R zFB0QcRJTjfII697YL!Cnzt_fxgvm4Lcq*n1H%k3Pm_8NCzE)YGSRb|`qSPV>(I7Kf zV9SVLmKMJ6aijTZ{3?FtLCC1|;s3#lr5pNm-^cWy65hf36ruWws9BHQ2>(IST6 z3~E?ehN@(8#zC#1yh|ncO$O*xL_AyWr=!2r)lJk*1B2L(qeOhHj6io*O~EB2W4BnC z6IN7>|GgW#E?SenZ<|$}=cWugdP^UG+*2c@96;Sw8y2YfDXhB^cW#S!>esb&BAedH zFCU*svB%xvn}aBy4s&DYO|iA8i#q-0JBue1N6*vl#GCQVXJF6Fl+_3^FaF_*&jqxQ zZoijgpMH!h!KnJ}GIN-A$fc?-7oOP}Sa?~*q~tWQ^-=AU&-3!JE3jnvq}Au1>fzDW zr+fM7_W8HV^r}j_)%?lx?b3D3VzW!54yavn0e@k!w5|~~5tsVt2yxy}gP=%g*q;kk zdi!Y*cHGfSCmMJKww+iIN06g(D{EMuGP^~U5&BjKOS_Qj3)JVo z*eYX7s`aAU)6qtEeg1~?2m9TPSVR*3!wEI1Qbzu-MxunWq4HnM>VCCY?bedn)kHUN z<6)8MJgxGDW}@P&`ZZy%t*%!Zt&;Ptw?{&86ry3L`?Vc^hvg3lzEzt3#-522Uc{v2 zLq`8eauyY&D#v(Lw&r95HcUIg!=_pctu?ww;u zFl0Gn+Wy+>wprvlcoIT9GlTUO!_Z!*vE>5jzUvZ@kwMvT%_TMb#H-n2!^~v0Z=al* z^OyFoEY&hW@f_1-Z>h^tW2E(c+KA7bf@TkNudSBC-_+4!({w-5AN+O3p&wJyeS1fr~|y25zquW;eajv8TvtompCZR;Skf`C{UegK0CmeAS9xQ zq*ZdH^*e3}h73))AnBwNR$;N2U(hR7B(ugb06um`S>dQpgMo1U&bQYPU(=&ff}vbjiqu0{iMlhov+EwhF< zA1Lk(H@$IRllG&v$EO1|$=Y~tEz6x}LLa@2>Mr{VDAqKVl-xF~$E;npt)HJ(aSE+1 zI-n8rh7=p9#UURq)V5we=W~{mhUD$@uK)J9-k`$yXHF!n$Zc|rc@y|V&w%TlQOSps z&g+}2Mq9h%{o#}D+UwCf2=i5%W7ou8B4@TU7m9jRfc5`z^_F2#|3UZg(n~Mh-BJrm zcOxAFtJE&2bVzrzG^n5;sf0)`Dj~T+h%`t@hlC*A{a=6geP7RYJ#Y8re&#!K&dixP zYt9f0P((j*=d-v)vluTSu7;elrK5C z|3!KNgeFFg47TH30{P*_&CKYQ0Gd+_VDT!pzU2CNJfr#Uf}#2F(t_1PK0cWzO?GZN z=IHqL_V;+}dD6?-$94BK4k?x=#N}};ty!V=xk5P2--_ppAz}8h_C}6!A{wz^msO*z zNvWk?j&JRqb4S9I;;tuuoX)%pmF?%Adn!ayX4{9-ob5)|UNZTmFE!P5W+-)_5YyjC zr6st)`4ZMd9(skIAH^Z?{<;payC6aAYY#gM0W7hv&2E2pnSK83nCrvY)m|qimS}P1 zifEB4H3FG&oWhA6%_QAeaCpi6U>tTk0ddH*Jp z#i^kHuOjl*uNrAx%BIsDC}XMhDza{$r8?-zC74w2^6_6YgYvJ|XHb&iyo$-{rY4rL zhm|F=Hi4|Y%*HF{NtVPY0Y3bc1!xTT45-gIITTzUbNpx0H!&@(_xr1ogQg98WaRZm z%)y~f>z{qV9^TldJ~tr2(^z5(nNZ~Mt+{&7$-UD=6oB&$)vC8Jzld$%q;`vVv0@t zzrNzUen;}U1$&%%pG(hm3+!5g=f27Vey>FirHiqscQaiq-}|CSMBjSmm{P@|+8KMtw|55g{VG=<8tLbUa95ZJ;x0ed(bsK|YO8^zHP$vJX` zp``4R7{#Ef@Z4%Z*IPGJ^=rS4QmgY*ampNFwu;p2S{SIA>iM9+`*oU-Bf`Yv{x1Tb z%ntv~2-v^DwHAsG;J!(IM8(-Sjw{h__wF8Fs!Ql`-`9ATLzCv;gq&3fR;_0VrnXh= zB;h26_wbLro&CM``z)p4vp&g7{c^#VA}cF260Sd;70>4E5AJS??qct*BJafioe!sp z4BjPBymJVQ+1Gan<zQWPl|B5P_?lBR##$hHtUB$UV~;;p`XYZc$pWBIkP zq%JgRR2Y?wJrm&;bas;$w0}eSWRIlmR=1lJdXb=AeE0nY`0T|L((23f1hLDsx6bIU z)-yuLywGQW-M=0!=ydrktN8Sx+)hh-L!<;6UhK8!#K+}l(P z-xEpzJJ;Z$Grx2d+jf53NnK>&SWthYNAZy=#87AGWrJ;Uch2LW;GKZd-}I|Py+wYB z(883Nk+EdrW8bf*ioh>y6!K8>L%;jZf1h^omG`M||4aY(pZrhN4&Ym_s6h5Bb)?#B zi&H+np6ZO)^|oeJKAkVw0|g0@(NsN$K_zgSq4)!baI|b7n9LX0`RjC3=TDyDr@_w} zMIzS6eUp0W_r6vBrizlgs04!aT`=G?>MAqcI>X_;H?C>72Y3j9angssw7v^fs|Q=O zZxYmcIjcEl(#Kd2RdO204Ngx`aFpaL#(qs@H7HcHs6M~uxI3^vue*z&h`iWdBnYz) zdYJKkmLT$Cmh^mk(O$JlO#Fkemb*l$QxyA+0XTBm?Drajeu`I;Tu=6_j~$y-qWx$Z z$#-mq;AZe2XaDX2UeEt9AzR^FYzQ!n4S_WHXvwb-?V zw~LtTq+GAPdJ~U`ScOn9kq35i{{Qkpt@6z=P216_)ZEoyvD=Hy59e!!MD4{#XZC)( z_A3mg?A(Kx4^<0Q-Pbc~j5#WVli%={{&InTu*Tgo;f;vLF69{^=<3zHcAlC@)(H9K zmFYE-N9Vk*(kmp7p8m)Nzk0C;E?3=B+tsKWzmFnmFRrea>LxI)_@z52r1j#0>JghK z^3^4cgWy+YlwlkczMn*2q0@YkB@&i8^d@Tpy8L==bM#A7)L!J>Nw9^TiB|62)%DSE ziO!kW=41nD%NCZWv1^0tSrcn!14`OH)7MmLH9e5){U$O-(Vc7a%Ezw2%1;Bb=IlL( z^KzK_x%CtA<>@5fPf7vFOS3V#m*%n|*CIywErNjR2sWt*22W9VP7c zuwVROP^Rt2VV!;2RhpX@Y&E?d%&1JkFFb{E$Z)hil}DRp;&Ia#Xt!WbB-YL)GHnMg zgTvuLm$5AgM=xNAA*VspZd~7%A!6EaWDddBAJDw?gJr7JRD|uT1^cc1 zV#FDnUS)>E-!`cNEFcWHWiJ<-k2}PqtxysiHrn4U@w47wU@fjn1C5@RfNPfCX-~n% zy}-$v$anupmciTqNS2=Yb;``I`{ky#7SS?xk>rcvSL8ndmI(>uhvL{ge58YWsB*Bm ztRZ1=c|}CIe_HP4=zC*C_JfVIYG4^`C;%uYk5jvcBNe}tr;aE))~mOSN95`~H0QH@ zLnf?V|0ZrlL{FNpH&@kt9uD`8N(DXlLove&;Ip=>~IX|zo;$J#D5pArEfPX(C(fyfvJm zsBp`Ud>=Txo2wLXa+Tw-`TfN{B^hQE{ybmam#SQdY}pbQA-`iP5`8}Kc%sIr_WNNn zzr3un_;Pk=lyTv=)KvlT_Z@#kw$h8Zt_#&1kAfc*b;ON3)g`(;5i0-VZ#25PKG`3% z*HhCg7Sp|#ZLEBOzt?_N_#JB?a&UXKx7w4&(u_SfI+vi~aTeouuj(w;4sBg#vL+ojuKBlQcKS z^}f<;pJeERV6g!iIV3+X=v3<+LgfkW6&Gqr@P#jUJo?? z;Y>TSY9iRl`p!xQ6SkUUnf+HxgbZI8n`;F#t*ow^T0D-<G;=r55Mq&%*TY7SbM;H{d!Oc9?ajTnc>%ywzm;kaxFyfV0OoZtf|Rr zLFyEehd;{fmSzZ9m1j!Tz{AAP@sCy@JDk*~a> zudkQ(_A-!2)wsAgPDMr5(b3VwloSmI2kzIInOJ=|JT;ZJ${FbR~ao1-Pp&d#dl<}^>9Jn_CfcENfy5MnQNcgK@5cwZboYdicQjQiTF z{p78x{OUD^Ql+cL`rl}cE$nzy2X_l=zCqJolj^G-JX`qH>}Mq4QfV9OJ+k5?<=8`( z$|^@qN-qLpT;D60z10UPzo?}9l3mSflNN;<>63qX6ZmCxlyqt#+&=z$I@d3Xu(Apy(}Wj}BlTuv&XsZD=JEH& z(6)^_$+fD@}0L$1v-taABXQg{Sq#0-q{Mc9~0cM55r#RPd^*( zye5%w2?iH*;=Vn;kYH5S{*NEg*FF)qWVHG(XaUvO?uART#LI$$`1ebkUDUcpMe<3l zMG@*FYj27;fcp{sOE+7>VJB-0=PO57=lM(C8Jt~H;fDu0x+>X8eR96gSF-s0353Ow z`D~Xx)FzI^?e%Xrsoc2uhHx(r{QBjdrn3`gX|@z;!a(IFWB6EIDY>|Nw zNi!69_0}9dKh(i^|AqYJ>9)8>;4zxiVN|%s%ecK37pZvt*tk<5b+B5(@iYuSq5FN~ zu57Mxp+^6oqbyQqF5rE*u_U~~SNq4q;3sRnVo6_}wZf}KvuDe`oxBF@AG|#(-pJ;` zIp@y(6PD7v{uv;#+LYw!74COd|NRnMbqStii(136N2DCFz9l*LohY6U=JJh5`)@rm zcqd6fBVg1OM@$3uoRdvuQ=rEhuAs2d*Ije1oKR=(bbWrX@(t^7L0#AVPC2|KDEwCb z`s93Dl7d0>NgURy#j)=-AEd=k$g&y|ZBb7|7mMuga4B$2L}fScjLo{4_N&xEZ3SaR8uo<^WC$r9P)m;@0Fya=-$11_r0%A z&CZVf@aTwOj+B&?U|~W?OicUnW2Sre?wMFv@PVzZtP-&HDa+>vtGGvlgM+xo0!I0u z;j_a->cy!j96YG2Ycke23iIpN<7Qm~xk@H)8`kO2$zI*kGBf>djyeLA`)Pjw$HV_$gtijl2 z&E+D##Ailu_11N|Q~>GF_eAzWYh~7}Gjyf#Xk`2NS~91PzJ2TKj$)g2)lTe3QEm5- z!t*CHbysvZ3b{GvWJe8ouq@TiEqx_BpOi=#gRA=`Y)`htn4;x8ZYEv1c^6;?Wl+vrXPtn7s4-SeEmp zo9$1XHW}Hz*=P|@P^#l!80cB7@+-?tx`*d!yvN$P8sf>+9{hZ8YW<{=t~`w*aJ4bx zq%ki@;2kO1*$A{bd>9c07MR!Dx=EAPIfLRN>WB%63{aC$ub>109)3BF#}{vk8Ja(T zREx^mz-!XjKQPBdGm}-Rim3OJ=($p{7sa!s+vQ05DjN)l5Vu^8jBgW$qw6BD$Zz3< zFQl6CJ}JvUNHCRRxQ2<1WeVX!EM!1JSzzq}rIIBKqEKU&YaIB}e8;!gR&1;E9j4hL z{==;1l2R?&OXL0-ph#!DFNHdYsn@UbRqZnSO6G=LcX?5`SY*m3?U|;J*LH<@`2%Oi zt{21Z;ox)zs9A1K))jeQSCbTFBJs>FJ64jfjF3w7JIa3I{u3{n(19 zaxtpw;I}d!GjS7DR*n~kYq(RX?(o~T;G?b^Y^qNFgteIM7bksrRCC#J%7MptKo)Y# z16VxdAY?oq|7b`vHBhKzjTdsueBH8Dci(s2V0w181nWArIo~RCdA28RmvAtow7_QZ z%!5tau;3;SaDHQtgFTHmC{`O+=033@pw8PJmA-RC(VbmcIC~0EPFBkcfT|i{(*iP} z3R2Y=%ng`*&X4lBAe6n(NroYeXHLbxl}k$zY0DqIEvnw3cic$aDg1do9aGe64ujM^1W__S$>uSF%O5w{)sjjzO@ZinV)Q&goKV655d9n%eR&V)77}mX zz&Y@tSBYBWJ%idg`2#I0FUOo9%I+CXr{;KG&eWycT-)U9*UVX?;sb4*mJ0YXUq8V$ z^)ba0ph=@(eL$G#Wv^SE z6B<_9!Iajv<=6jMNI-4_SW!80v!1!3WwiO5^@D|Qs%6c-_w)HrA%R+ybwB&7(xdi> zU4UO7kmYjC(JKdh{UhSa^5n(ENg$Af^0(Kk#rCeYqaur=Aq&iYx5>3mMi=V}N0998 zS)0zuS?)!*;$qIxPSaxYMem&XphmvR&9S+}kLV2n-{C)4lQ>Sertf)%%GAY8^$&%; zHXbMYy5jP>J%u*y+(-K_l4Vq!j^}^+unI{(+ zhL2n<$l-?hMp3Lf$XwErz9ZO!hXuiA{H_VL?~uWd-+UXBNZ)#bk@$k>8>N|A_;%Zs z_!O{_^#~O*mmf*`ifrjd8FqfSeG0hUP>Iy^bRl<__QXULKOl2o-boKqf!4G~%85!L z`X5GjR~k-lv&D#anC*>T^?TfHRn<{tzn#K~Qg99=@@Qf`le{j@oWVO6Z~^+chbRv; zxyO1KfXD=l$8qvrm*+iBv09m#-TSV>|6i{J^1tx5{q%Ahn30IQ#WR}z=A@EO8Nwyr z3Cb3;L$=1*^z62Jb*44d+4B7D;G+K#vNK`jy>`g=Vle*5>Bahh%ir(6Nb?ZOVBlA^ zA^_S8z%^N9!lF7tE~(W7)k`F9i8n(FF4M+%%fP)KI8Hx;Lbm9h1NGa{O3hXfa#%Es zxKl9_qB3NIY{@GkZV6%jkkHCUPvD+lZbF7zJoZAc2K0;Ijo>{MgB&IJ7A7rjiJv?s zgF5D$%z2I~0v|?27v+}Ds>83OBHaL5CjJIY9YU&gI@g!)ek>51{@hR3S`fCx#29=2 zGYlOds@7`SCWe<|mG9aA7`NtLnEl(;t$bOHVI>WdvIhky35%_aCT0FGJ7N48$IAV1 z3h}6JVO6*C+5-^^nS3?>8y8l&2#USPbE=5HPn~Pb?v5Nl64^Qrqy; zUrxB2sn+b3g8=CV4`?^n7MyoS*X?|IWHB8jW_Z)iySVlDK3kY@@&PQPStB6?Cf7HD z9f(8o-g40}n*x9eWK3dQDi7g)g_GZTI77p8Sk4it{>+v~Te(m12@|K>#}X%u%spZi z#W2ALPgl)DdfSJJsX>`|gpZz)0#e$eCPEoV0an;eFPvuH6vQ_?>w@+Mder4w zBk8}X<^K_Ct6Cd1Z(YHFo%sY&>>*-UIS+U7ib>>GJHVNR{N0bW{^qa)ZrB;?P@z)n z6RV#`z#$#tbReSnG63!uV7zdk*2_(?(TFub66?50kx`fQGzIi53Er7(uR{ z9WGWF_X&^`*hHQ&ImOIA=o=r(U%@qy;_~e zs5d}&6cjAx?V`nY&vk~U*@y*|CO{CE;lgzewl#+Y;8)14B^rxs8|ZNrza{~_%Q9}d zSULERN?p2U$(ga=|GideMzgNhH`SWpd4`Nzxss362R9bM-rS$>mC{Pm%1x)dNpxg; zKZ*7lxtdwm(M5=$r#|`SLWS27n?2s7o4N`~(Q125jG7CojH$~d`C?rhxN`Mw_UO+P zk4*kj@n|Q)#>imo)I+4<2e?lQ25&5^u>I@Q97P&_mPt&bWRr)kH%&rRP(ETBB4%mO zxIs|*(`6|Orpm)M6;~%5UslKPymlVWb1WCk$~~+0dM5bx&<)bD6P3d-E5xe+;61xd z&ut=+Ta&8PLPXHl^)7q7jG-(;g>8tDeG;cWpE$m)?6jhb+R32BjQxtASxOYHvk%7t zvFkPX+xt0Ro!cu53Yx5&cFe)PC(^76{`4vpIMuFKp)$&Gj=HoWwgu1v){0}m9mTtb zp!hMoe*`1R?0EjwUh^w$+@LVE{3GHwoT(dlEJC`=nJpt5cdk)o)qMVDR!IrG}u2hFn zQX5DBge<arf^1P9Bj{9)5)g)r+^K^VzlrjtzdQaMSjm zCw|2Kfz?x;puCZItzaGBw#4ZEz4Qm;z88&Ja~qCpS)XT~XHDj-zVN5e19EgtcA#>oF2q`fRRF1il>pTJ;=mTzQvc>LS^(oO2Sp7`_z)jUUg; z03~PM<)4`=hFrkFgOX2NtnQ_xutFXY&>SI*eRlw~`yvsL55>8G_zrFjll>L*?7>B9 zdukwl+yQK2DN!nth9dCpcBGL|P7a~Xn&Roa{$zPxPpfRjS-Wb|DlC_lOZ(^nchPIB zg{ZmDj=EwsF*?DD=^g&ei+4vKu4_L0yi-4DTNm#*S0{UQ8+cpfU0uO6zAhepkSm1{ z8XW7cyO+BFO@B_xC3-#lpCiyq?_V0ybPgHhsTE{Z&Orl2XwsDO0?8oS={&9*~T zvKj4g{la1AyVeW+V+8q15lokGfF1J6C%U(L6X+KxLfM!(Ln3BFBG&*P^DE=YZ(1KX zuMukUK1)^_C;}pBZ!e~bWaHmev6h}HQ|weWvQQMk<=mP|YA+t#UN~Ck$(hypU}^d+ z-fXEegpDKtHJ$VyGUlnl4cEVwFvVhxLX;Wcy7N)Nju6%kYgDc*>#}CMVahHc!yX{* z9)L`iVyXAOkguLW;3?z0((ND6P=i(I+NlwLK1zQ1&OGY4TCw!`Z%#Q;7Gj}yiN-^! zkT7okkYOzj2H{PGybrBkh+E`o{A`<@CSOMB9lQ@RZ4>ICRnY^S5$c29!nLbHW6Qcf z&se5QGi=gX3wBq*RT6ZoR02;*fdCeow!wqXd;F}xKNkc34B9s;XRrGkR@e`Wdes4wI)+D!84sM@W$KP=Gls#Z@sdMgKLuOYOuZ6Tyw{E(k7_B8}Tym(DpE$)p;{m~$J_nt!KX8S7ETMIj$C%Agh-27@+7_b+-emuZ0xOXDR6zr2-1O}Vu<-4iKeriP?G$RUqt7DiJvL|4QtE92#^IoGu0nmwe%|KTuram?)+^w z)4O5!KbeujS!!TugbLk!1_$=JiaA)KGB~m!!E>_SRG_je0G1iW*$b%Grf}JD<9BKTBa%Q^zJpSxj+upP zRZ$rLDDGR-FdLqyIpEVoO#ssyqU?BaWD@~@9V>Cb!#KNJ4ymSg;*L7+RTR}90f9=xlhJKi#C=A$!vFtp97CPOoIz#dp3T! zrGH2U47{%~?SyY#q}oQ(pKC_+B5~dzodO z-ZdwwM@;<{ok8QP|0<_fNaMAx+-u_NE#9?k9EouXNnv6J6Yvg`eJo->Nt;8&$;6s$JI?#mhC^IC8jJn4bM&MVV&`$VaQUo@$i zF=Xy=K0Lo#>96xX4@^ zAru@Ufnblb$ZJe`vy2sC36;?T0!@702f$4)qz=E=O>`{&@;^Mn4thc-{V%%*dc{Fi zQy%DIIyVWYWxW9#1W8^1dz`U1E85WjF-i@f>OvM)D6i;ix@vXrPjS$~?J9;okTio*=jAB=k~gk5 z0B1T6@D~O6$odpN57`yYIEgQd68#Md!Md~Z&e0al4qOB?t7%BCucACc@!lkC5x3F>wm zJvx^n`LXq~SE;RXVgBp2E3S4K(lg9Rg8Pdv=;a%-rUB=_!@!;)GJDz5PzU{%*6)*K zl(J8Q9IW9o0naZT0zaypJ|%>DS%OZV5jc7UfC8Rgz#QKyynVil`g-io_*$BQzhZS% z#e+BXP0k5@jztxht3Wj3OP<&`;2+h)eb6b(;BxSh7dP17QKT zweq3}+6{&s|7idB#tH46@&HT9*dhIR>;)q4Q&OtL2%Fh8`|R1<6Pd+CI>f5vVSVp? z#;OXeG(@V^wti6nKj~L|^ZC~Hd3uM=sGDeLT0#c6MfjGkZv$a=DuBQhrH zy-BrAD-~&W4XT2mnTWIM^pniVgG@QN$}*rUDTJ-s!R) zr$h(z~gHvz;fV6xcfLXe!h~EoDe`xXbfc|S2HOOWP+vIj#K}OnI9NOw(AjR z&c@|dyg4_pGj&OK!8!-?f~>p@beTYo<6bJJh?4gTrg6RN^;RDd7Pl%XG5!b*OLBJo` zvwg{+GWOr{zq8rYJo{kLcI-d$vAU4o`6Rr*v$)_9uPDA7L_3B6r9XaynpWaHFRev2 zXLU0c9!e7O4M*7?KA7e;jyC-9X!@f;tnClK>GA<2^5URU9U@_KMe}S{*iQ&2*i}ZRoYTN5Iv(teiG&cf< z@mfLe$vRu0KYP4dS7(%v*ViBQAX*6yKW7GYhs2OrgY&a0uD<1O4NWSyjCE}<=$ypc zWAy9Vqt8^@;`cg2-*1Ud5b$o?ZWQtGOR?ZJc_!GZk^Hr8PHS1rXxo@M;7I(fhBjtU#^jdjKP)q91`w%AM_!cn{^m>YbQ=D% znbXF87KW7~JvkX{TI5!|M_4uKfsQGwB1ZO01P_^sKpMzfZDYMhRN(Jf$Yt&X(Vo0E zVLVHJX($Btz^wZuu_aD|r=f6Ykq-E+!cO!>^s5mC&J#ctjtFP~@RkcQKy1kc`J(r= zs6K8ElC1rDk&??(2jgeHr{K}gBA>DeWp0iq0`%|w{ao&&Jmh*pO9b6 zaoLXxB-3F^pLFr%Cxd+iapwr|m_v$Uy<_)Dd&`V(cq9{YhqI#RsRg@80R{BW(2cX4 zubqg`N!QDtJ*C&pvQrZ5a&2BdM}NLR+O7cAZF6O!x$cCy} zI^J&3&R`P~vh!)@ux@@*+2VKa#K!O5N5QJjwUutjtU(1R8$IVO0$Jso=N>rnU$ZRQ zk)KOi$m0Kd^lFPv!gt0#wmN{_Px1=2S!SJq2jca86)uq07gZ!kVIZ;}?9|8aKEFq# zQwKzQ%EDx9(6u^(r{5Bwb=II$lK>7fUO^&gc9qJc?3nnc^b##f1UpW%0uCe=Y6sF6 zNq#0MnydxfU8&Uu7n~Ib-H-Vrhl@JCRyCIxZVCl2%fwL)2&+_4YXVMPD3?4vJ^rjc zkG;6fTc&0vDB6FDuU*D-Z9=hPM*7kKxV}8{nBYyZOb(ZgDoE^}`S8x0C}ETp^Xb4* zMDS=;z_R0tO+ip~PwiKTWzAQg2Woj%X-0!Js%8Ol)RO(6Jk!*d#|EN67pqW9MRqE$(xqFB_?j1K+3ovoYkt1cXK43xNDkYyfQL(I1L6&9 z+6-V)wfURqj@o1L?Z3R!Uccbsg}2S8r>&c0uQTHJ>jq9(IF_KQapx@o1Qlkp^5=H) z%pIcWcBEg8g&7&#a~ih@;XK!JV@k9W(c*D;&>OijAybP+O|V!h1R!hgS$*x5SE17u zw%UrqmWjbl7hkN9SNJaR|74|;mAzaRcAb7T*KODJ0e!>%0R>oGI@!I~{`ru^eZIq* zEV{7$WrC_WW*~mM9+u6(WktRK{VS)tiv+A$rK`+r@r`(O5_AT(05WB;rh&38^JPv_THBnf4l(~#qW?(vK##z7Zrkw8XIwX z!J-N{eGbTLz=6P*q8BokL4S$&z!eO#vix|jh^b?OW&K=@-ffa&@#Y+KkYpGiVkeQC z@bJF#g))cZwBCp9%_kjpY!MOCFspV8Gx=y4sdAgY3}J#_@L$9&eE+H#RL&0#{mekm z=Z zFjF)SW^MiH4^9MYRKuvSv4Vkg7DiqgmxuB7vP95bkKriZrL69)F}P3oyr=A$<3LLd zA_@4q(Jf@)Y?KQN(`&`4NFCDbJL&3$-mNtF&))dW4EetGn!5&dEWcoEdrtHBb+MH7 zgU4k(Xzw2Pe?YS3opPj*m~F7d?SaWZB8pAk)fTRa%EYP)t*0+~IjnpDcV<}qcvGc$ zxpn7ggWCugxeLXCGJC|@-b*2vJaT3r=jcqQ58&?upVFEjQxxU zl+a8Ubl-W~Bpu}1TpyHJ&Q+#YV5W#S$9%_#M_rD?>|EsKs%VLs`2KY|-Jft3j~!Cw z8+GBqH&~xi!L`s?OTJ1KN4ilzE)x4zo01_2_8o$PhXTHzhuz9 zeQUBsX_H&?@~vpBzg@CwwklKy_|ccGoCa{@Ht_~2F9Ix)ksH~#XDO20eKmJW%^N9t zFPLEc_?p^av6)TUvldY|s53jVk&aXSP25X{GX6RK6fJsYiX~IpLnG`7y>eT)4q4}I zgGc1t8S1<}_)40adJO#hgnydw5`7D)*y>cH6Df{?f!)9UTe@jK{=%Hd=O(i}-dfbB z!j66U|D>VMPTXE%8#r~ryO~+nQbp@-!ex(~P8LqK_m598V{f*>k$tXM`d|hK`t=cS z`txD}=x<5^Zb#vCGlsa8ZJvsnJ@(VI#{T|6EM_+x(&-^EDeI2eSHefcPJ++Aewap& z%#*ZJ=9VO+2puz`#p0|P>}uX2^#QvxTv3KyTSN2V2HombxF{U_B~_Qr`-{m0hzEdO zR@CzaOg(oHgCdV35Ge#qeyHJW!++zG%R}F@vH*p9J3OyPdXwP1K9@_(0#ZH zOU-;eC`31H_(OzipFU+Ok!QaLRLzrl1j^5kj!iP14*5<_x+3l1_tzcLLzVzbWg}aC zv~T!1_C>N%>Np`fXWuPfim^xjoJ|eN2VhA5sCzC&$8}C$f!-Hg85!<)`9l9(G+)HQ zQdUb-kzR1!H*<5E*WL3)H%n2cXrzMR36VJApGhU6k;qGt`f$@(y%FjdsUTY98;lhL z%Eutt7duI1qe^{c-H7QE$FJEC_x}u@T$T7m#T~r4pMd|pbRcYCt{G4IiVbF;djYxL z(kvge7(+j9ll1e)slEvVNAy!%%5d3{nMag(Mn@3N9Cv&hqxcm%hj zLw(52a}k>kdSCjwp451^`k;9`_nDn&>`0#0xO%pQGUaU@W}*GcQciK~+VnI_N1>`AE5*5HSLmft*a}()eYG05B zbd7yEs0YmTRw556IAl@|nLCtFW-y-GZ@6Y9^m=3_#{K#;Rela(lg6lb;t_IXx+aIQ z9d!E25k~8h5ivRmPHY%GzGM~{ALg52=Z~|`3^*_QO&xUvL|$NsJ9luZd+J=Mbja=L zB2xIxfX&>QS_8?v*eZi}@HEF9SDXVqzqi-7NTGLwN?|}BQl`W$e>wmQxIe_i%!01< z0habx`oKn>fnU7Zjw7{7keyBV+-tqIJ5&NLTg%J8jF~>yhn-p*;+@=Z3S*mAx=AA< zsC`y#!^U1FUh|R3EYrRz7h|Ib1M6IvY4ADYZsJYCH`~JiEJ9!K+&x(%TK>(F z{A%uKdnX#l;#*}=(eeETp?-K0hW@{N&h#Kaa^>~-Zw_pW8N2rLuaT6++CdWYCd4v% zaaF6EZ@ML%;cc}|MzH>r!+Nnlq&a{=dRH;AAf0`BZ8JSse-gU#^D(47gv~57bAM|s zCFrO@IBwbI?@TA%QTA}pQbX*Bud&LpqBFozoD^~~Lk!Fd`GrJcaNFkxMl{?lG(na) zkhCSw8NeUQp`>Ip!f9C`xYG%DV3NmskgtQQLt4|6Cc?yLZ246AB}@pDr?{12-a?=tUgxLjiyj1)LaXI&R-h{d^4^W%v{zy#qi}$1rtL zNAX=(;wWn2B1ll{v?=I{EFngSBunt#BcY?nySVPeelfwAo9Tz(U&{b%bfH*O1C_`J z6N)8!bwu-e5T85A7<6YDo}_Swl9Q!=)^HNEaYVJ5lqw#O!1OC4n3-gU3`>4z+7R%~iiCV&wjzh0cAkEK-aHa`DDVkw*<7x&) z?I4V{Au{!`@ABW@aU}_E{|POAtdS-fCn9HR^ud1Js+(S0@!6+ms+3I;o5s3QXARMO zYSROGpiP&gj$Q0`?MV_Y69X<&;K{+MRzr{=?OXv>pubhvO`qGteJ4V&Jw{lqYRrNH zI&rY;SCh8LI6!Hg5H7I*l%*A4-_+v6%Eze;-=`T3@Z-A)q#*QF>H9RD9hjqKaB2@= z(^T8h7N)IW0UyyG_;9?(Cghm1USkiWe@wx%nP6RPOuIToLRde!bC6dYznH4#0T|*3 zZ0G`{`}hDGR8bZh?+rrZR-Sqa?zV6+;IRP+8L@;%XLxm*ij$1Dinky%+-9Ha7rKdfWcH#aZf_8V$vsgm z+|l+z_W(zt4Ob6&66z>o{xIj|hC#aHQ0cdZd4D!>H%6RG*RtP#SbJdCc`EHWe*r8q z5AD2Iw;sJ6-d*fH$>Ui0`^L)D=bSNSWgOwqsQ`DMp%7+pnx^t0dXN<}y0E+P^AT}M zqADX9N6Ej*lQ`jIY}fUo0!O6C9ppa{@BKf!VSZb?^Q}N)^4?r>YlPp4_JDOqG@y+w zFHjye`ip#sXdWCn>O;mXLBZ2&)H7BlOvS{WuD>z7vYxi>>{*-O^-1`nM^4m&@YPDU zN64nndjXs#@yie<%yh51>hwS_VUOJ;c%PRyBgb9C7FT1mG0xq5;N(q(gUa z))rtrb@ESuyWq<0%gbp8=Ox+!Qu|o)(a?H858d|W4Bsnj2?Ynbp7_D;sF%cG66QF&XsiNL^F5`sP8}$jx$~A>Hx2-Z0zA}I zd-MwbhEe#K=lV1wJ0vnKc*yH>_|?MVv6=^v9$kvP_eixTN6%G}4XrGN5K9&UI_Um3WbH zzq)A;-mPW@8Q&PGmCv5BFfv_jQXjt(CfcRZBD4?os&@`GCvdMMMiZMN4!toi!_#wo zNARriG?uB=?!>zIlLCCN+DmBaWn@YE=WoEz&u}2S?;Ar~F#J;VrwOE*t^WJ^^%bH~ zf1=xeTrV!l(#Ptcy8DffhlH`!L9gQf62*1Dx}6$V>Xr&>fEkJ=aKmpY~ z$W~}qI9>0?z;Ey_S`B+lY%J^DbW1nRg`8Z_#*9VV-NNjrO3@zA3{l3m0M6s7Gqr46 zrP1yRh8C)r(2&yvoDUPzz0~~5li<@v^+<8`Vu25@Kq8z5`x88X!17sa9|MVt#72R3 zlRUta2uAn5p=8(8vP>X)t}7BqNN9-MeEBYiwgoVbehZa<<~q$CqF9tZj2>AMLXb1# zWkzvru6p5xM=r$l8EC4E*u*XtrY@TF)WydwI_snB=*U)p$hoULPMm2?0_gZp9Prvj zCo?`JJ#f+vzn|BNV5tq;E5h|w#=bralIDQ~6&F5DgxppEgR3J<5jSfT5f zk=Wrq74a8&uTRY8$?bFaE4|p`-qqlgw7eq;>St(}X`%Rg%t+-{LX9~W1&3WaD&eDmM7Sf6i?M2BH z5vl`8{4l(=V2@|9R|oLs#)C-V=i(Spr9g>+lra)q)3Pamd_%wx6F)a7Umq~U^DpNg z5hDrWa$}^iU$6xpMBO_SU>s|)Y%onb6zzd>7g7F9TCUPk>K=J4P*;*>m?Ifj|A0)s z=?3f^EdGfZ>GQRZXODPt*TO>sf$yHa^Fm0`YPz;weW10$OOU21pjRkPJKBg&b=E{| zufTJ0s8=VV-P3x_Why`_ZeoYtLp*yX!eIWC#Bg@DG284;P4#S}rw&F%1&F2kvA?k> zsdycX`f(Dpcf)d+5&KU$l=?sS4k|I1Sh3p6to-Df*+9p^9uLSD7lBg_Z~pTT9+57} zW!Non|Ew$djj%-6aZoDuVuF5ljix3C~c zt4)8aQ}vcP>lir#gFw6bK&gFcjYu!w7AYNjJuf&Ir-4YTXlVNdV>!1gaC^mqhHd{x zahj9A-_oq~BE%SOuS6a(_;tUE{n8+b7oc-Lsv#tb7^SU<|AYlKN0YA(FtWgrO#|c` z0frdIC{X-z)KP}M7XLj1&4158qgmP>IdOGYc?MVqMUj3)7e^&14a03wHe}z6Nbin_ zn~!$N5AUw^Zu*iF)Q&8{@Kt^kH!=k|Njwx$wTV2Gpz{7{L{xVcs=d(ByGA_YX8w+7 zd|qK>%Jn_P43@=0DA>ql7F89^8dd&H!Jht)>Uj$hq*nSivwUf5H;LT3(Q&-dR(3PM zWJyMz8#MaLtgYQfB5)y$j6=$fEPmmu3+d;vaqpe9Devv|D`!tRl0|PTgL!2pc%JBp zV=LG3>4}caM#Sd&j1^hZ?)rkUYBP~qb5pj&B`D}B#CKpMp&0IMEI%0wt=by|Nz=Uo z&(X8t2jzaa#*P5>v`F}kh zCKX?HiYb{NDkT3q{kbD6b001J>1Bc4`p|Ijxfihe%lH?OJ%_PoJP|j)Bv8WCte6{j zso9I+qd{Kua)|(R@^7&0(q`h;51+Z_Td{@Cp`+*&#A2X=wp^-uXH8spfp#2J!!M8< z*vbrwxgy5*#X^7+Vzg3wDzLq0(-692sJnJ-rWJz_Qp@2vA!#}xQxV&;bF}!qIl;aq z!m(Qouak~w08|?TcBy9IP@H9;Z}idvE{cB41{#BiCPO>uKG-A5ccxr@ii@TGvTp$S z(vWy;D(A=fmlTv@Kn8#zF2DwL6gDF1xz2qUk-;<;*dGkxj~8fjHjESeZ{4REM374{ zeAB+%j8nVz*>_G>TgFc|#B8XAS5AwRN#E9gXpuEP%u8tcAn6;Z-HC(o`zN*U{_ZI# z?YS|k*j_pgq&lmX6-O|W9o%bMgxa|Ur+Z4+HV8(Uit?NVBzNo1TkTK(q%P485l zea7f2f07(3g zM#aGb@%+|6F-+)rr7Nt!o|EisUz-2i$Ds5)=RHxhMRJQ3gq|bVKp|B+dzR z4utpTqfB;K+={olM41&n-)l8@v5@#H>cm;F0VrJn$ia;-0E)@{3FHTqQ$>vvBmdwp zk^T4Q<^7jYO>tzgT`vW-t~ee}5u*J^kl%w*h6^@i1NJdVe0eW@8|dv-F8?2IZxs;7 z(!~!F0t5-}76O9?cZXmDA!tZ&C%8j!&ES3s1a|@?xVw9BcNskRpo6nb?*0Dzy8E#E z1k>HsUFX!PU!6KuN)MTOzr-zlPPP(J!=eL7*@J7mLgq^4uz2X&Y>O-LjH(?f{;lwm z&Vl($%i}c0|7n)SGa|S9LB4HhJOC*Q4-6O3j_1`Gf&tCVx{L2q8>%NJegu@(>}E^#tmrIl?!S+W$#D)XQr!{;~Fx` zl$3Xccu!(q&BLRl$=SOh&3cMp=j~1|PWcxW^1e-TuUNk}#E{=$zWSTd z&mLSGQ1RuS$n@k%+zKawU?GN|(dCQdoIs?I+x~d2?A4##n3K!JV`vorYIjjtOZ59h zgN~qxM90fJc~fOKKE97b{C<7SsnLodX}bzii}@hhxy z6ZS5aj5{-Yb%^0SM}{z!27>t^>=)rPVr=mDBP|C+jus^(aso#kj9k+%vU9~X97M*3f!pe$w*KZM2A}R_QIr49DgA7TriF? zZubh9w+bOHM}s6ubp-g~wXZj#$hc(^(ZHxdW(8)I!w+CxovW!fu zeM`viIjjz7htk_nkL>IOJb$R$L;;dkWF4{gr|r3kYqZQGWx}6^_ZS^Y1jGXpCSRdP zuRb(-kk$6QM+a$!$A%&qk%syRMjGOGvTe)~v<~%$#hTAz?9BG2&2`6iX(-FdNfpB=Dj9crY zwL+knNiSzLP=IK^4tnVJy$17X<1q6687wpFRfz7j;I#>$QZBdv>92u-GJx$UnMBwK zJ)ul92sVb3Cb$d{t`lpYE}HO$4%=CCy6DI!5GfN+u>rTTLy4xT8J z{@x!%&2HK7x8>}zQHCbxug9E7np>)Ao+X`Fv*Z*|`jy}~U6|tb-T$$^!8P+iYi&hw z|6M?(zv&MDzCKALHcQkvlNdY1k$(*8muAVD=In4wV9b#f|8hfEW5uRYBJqb1alimflU{7n}N`IYak8!TUfV9UKDO z=Yy)}V)M0xeBT?MBKQaUi4bhXGSdF<72@cR{exuSv6*a z)YGcO9W)t8M(i%tW49Ox>avKXVeNLxe!J?FK7PEuQC~JzC8|f<;JniORGnq~UuPn+ z-e14ytBN6ri9X9=2q|ND>4gv3t?@)k$yWYJcq5DFZ*qXz@f@`yz%We?L5T*T0LNbq zt=%%04xs?wf3oi#>d5OWC!|0$zGQr~o;affUP2-*ZlgF+>;UHk6MHp*m1Z}+n`+Yml2q`cd3g+X!+A*r&1lRGi0PbX+Ty*%Ao#$^X-ksp9D`i8{l8w9gG$W_*PQxoG})G7}!dq7B>1 z(B<{LFohj7qd*YR=1(n96lGqsk3^VG9L?Dh3SsG_7J1aViU8?2R^^dD+dxm!Tf=(bNc10vt zl zfZlu!a+oy4g2#tSnnWUq+akH=;6ir>bN^s~{TaxgWf&t}(Pbhim+hm$US=Y+0Y3>r z?PWYXlVrJ9L-}$k^N4xowKCJQO(sKWmUFHa=CE8m!T6eee(2YSm|V?66glq$qxk!~ zbOOYJ{R?C};#57!}IlxYhXEF?Q7_f+G6`Mj_XreW> zqxRdsa`?>7A}1CXO3!#A?;P)$$2%~5;IE&F*?DmI-eEh<6HNHZd?c;ovGulNAE(F? zgEopP%4yXn?ZYO)Za7!fisX7OcD6$v8B?HQtVgU$>l@F@-3U`=b!2-->OfQ(MDOqT z1kiF+Humm32z;@5bte~o=r*4nOU7><1f;29Od6zw=TT6(-}15O2~m|bbCUW5FG1eK zsLOh{ePf(!Lqfk~jz+wXLc%sA!F~0aMhkLAhBji2lten&3?k`io-IG|jq~y|GuPNL zQGm8!UJ@MAtVu?m(zIcK+OB2YRSoMsD9r-hf8wrnID(BMUeEeV*8lR80M&qPqL%a@ z9ej1+hGM#Ie)_sz1{s?ieyQ+T(IhH<5na@Vo1XbIW`SxX^ca>fnp}BmyDygAG2D0} z-4qFI?nL6iI?xns-<@|7IMagePG)I zqYkj{HK;7DlfW(ZT@-P_u=G~&uu8SHMtq8(R*R&$GO=qOUw*)WTx0 zl<&+o^jB~Xag&L`jWHh;;&{Je^mUYY>Fj4<$SpY}uLiARRJk3Ecp#?odmQ5nDGfoQ2rVmacu?bAl zTKWn$yCs%b@ePXIiIwcXSCQEC%tEkhWN(WiKW6qPKjuF^X1D0&- z02+Q~l@!R)8+u9EWC+`c*{IT@GTFGPnX7fd_r1Bcj!fmjqeQ8dN`4^31pTXtRLPqqMoHwPB-D@KU74+gdJF=GGp zFsfr}bN#P(uQm(Q$s68mNgho!{KL=0f0{THftYuiZTRbsQKc0DeTo?(Df<4kuLT`J z>PP%AcG73Q*T&D3(v+@kKj)yy4_QQiuYam7T}M#o{)1-X5-- zmct){SGhmRs%}r#sfDN0TwEC?*uqoCiiiiMEdz~AdW~)~h0C2T$j*K0#qkDyG5i?{ z|1nVG@MscH?s%2}Wn~S-QH@0~e?CD|VKkU$>O(y-n8Irf>o<9>(&TF*Eap&m#BXwr zp9@>&H!#}IkD6)8{w~2^Lwu;0^K4-h7$63_eVn4u zQ3dUyJy$qq4-WLDf5jYpbsLeRa@^TJ%Ovi^&)uoROziZ%4Xq*0PO^2qL6wn7eEmJK z zyVp=T$Y}cKW6`rC-=9~z1onZ%x} zHRa|jHi!bMXW&R>9EEH@Pt85wAXNDx$JC9f8$pY6KDva|+~5Ug%8+SKX=ayARBD|BNsN9RZ>CYikB==&IH zL@VlOh(^G#dZ1cmlPR!i{T-YCQxh&ftzL{S8h_5)lV(QkLY!{{bXhiev>yw#QKqdv zzAah!u3DhPJ5{1aS!4Z4=ECZ`O17jH?RTDaogoUT9Km2$(^!sREkjV-WaOQawS&Iz zdjltD_E`3$JGMC z$uS19>mY2J3MDCKbMXhE+Z@+lve6VheVIOA=?@#{YKtU(sdW>bm=9o~!UApnI?`?XL$gbc}>V1(dcC+1~ z{LsyT-b)HNM+%lz_=MD(*G3jh-Po*Q_0;bexqcv_r!s#2Q8lK*j!uTlDzFrR2>RBA z?%<^2AD0WoH*%ElE;&cptb@rZdv6T6lAf4}%aEG2p>;+6!D9U??X1v43Z8jSqNVIT zWmD%xy`*`8qD%g0zodEPN$@6tDsO-;NBiRRr$(6&8Gm6^e$;-BR@}`_u4Qhc#m6?j zz3EaTq3e$=T6PdO>a0DGNu|;z|`aJJ>ArcusWfcB4g^vjxgg;X!R6-Jf(> z?_63%9hjLrhIMLtmfhez)rt9rYsbzlYq9F=U9y0d@#u)1y$j7}@XFJ69wTAY|v z-eGyaM8iy(d$W1$!-LTmEon0EUoXw%kA95$W#iBsf z2U7>iapM_Mcbl%A?@nHw7CmOmmaY8M&CMV*V(8$`Zwb6U+tx(WZ?hwOfM2kP@OmIM z#_T~-Kvua!_=J((2~uIIrm9Q*=IcK{F!D|G!{k6+xw^E}4`>D?U!$ltA{e5e!P1gW z1YVV!*K$0ncfUXIeaqm<5z2olpX!rHuKwyfiiTv(*J+gkKU<#NS=7VZ8i~=6rW|++ zf39N{3Zn{#cxlU#(B{Z@3>kD{$=`Tkj0Uv;o-&*Ks3VZ4`~KFr!kCfFU`ozDEp~;b z-yjR;bc;Py!~^5CTLxmk>3Y5hvh7k*0ge+Lebyf-Ue!}mW#6K$%2US^-*jMJs;W0L!wLFreHm3VSAwo z=r%gNcF%I7HeIz^A4DtWP6ZfDxCVUSs{~F-ha19x8j&G8o*}AQss8-Dxdq5HzR{r= zeH)_S1wZUdJ@yHm(X*=+rFcQd!SJF;%&obBU%glxzu5-R1?-++VQ}E<^A{W@+twD# ztr%}U76n-4tIRi>3NLx=EW2MOqg@@PJ{sLGOan?6h=?^M0xs@L*`-esdZg?k(ZYG5 zdh)xF@$9oqyl?LzVR3dJ{MoIVy!45#K}? zLdZZ?IUT5=CXh~cAHJR=T&>PzEU*uDzB!(Bx%aslzD9m^7ZG!E4>vFxu@?uRsX?>W z{cBi|X0u@i?iH1z@@i8F^x-zeItpnul-zzONEaOFyfYFY;&J-AE=+g(IMqonl$?~G zE+iI8?kxC>Es*@IH~a1KDI;ey6It^-Imj;=GVR5`b|7AO$x<2Za|_>Cjxp0BWzuhY zhG*A+Ovj+y?`VQt#mx~Nt6MM6x=4**B$_E0ck)8HSm+)oTDq1Xd?fQ>OPfiWgF$x7 zQxSIeelpjUg+36+QUVb;SMA`b447JeYb24aP>$rZ&`<4Lu@oNbDE+$2Ui@6}+6MLt z|Az)t9e#Tru4Z)c`%_GP4|8-BC0_#3UN@<@3PqKTUnxHYYS9OxOG3F!n6u93P8m&e zDdZbTH24Guvd`;J8O3Yy3L{H`Q%tOLJJc}8?|zwCJbu%QZYt)0yEd$*O|^F)JQ z?v1{US{-{SU0sofi!y76;hNcv#(lf?i`mrrHSm%HDCmkF)Y$M1RL7on=Sga)gDhl^ zyBV!4U7@p=)e|XvvUF^3Jo)ud06rR20S@Ya6a7j!_}K4((1+?M2K^%Sb?Ybcc#;Q! zfo5_1t=7!%l0;RecUMgEZ4Y?iuE$>sF;f>;(meFI0^%5y*Wp1CCx4)8KNqr+3#A!k zVu(Vvi*up`s&A?#h8fe3p?F`nKk0f(^L?pIkVpO=&RDdCx| zk68QaWn47P9a!Jbt8mxc#4^Ghxnoo z>_yVVZ%dnlVhbD)@lw=f3*N!kqD(W5W@B64;Do;)n6EOga2nPY5nK~owByZI0xSv} zuJLJiF9&=d?BtDxf;;%y-);20Zk53Q(wK+6Jz_x8tgySi)ZkpZd~v2$kPGY?7`02S z(5Z*QI*PAAG1y%z_qPFw3aHc*kw}`Tjy>f*x30|sTX~y%V=hssvogbtQR9^^FYXFP z(@A)pXjgpCFz+r0l{KvczwGB@&ei*3Ca~)H8~EN5W%}GxuiR`BD%`_7L~d6EMD9mO zBE8IcdfRSkGra7Zlf}@={J1Eod`_?);L8PO>Br>`Yc|E2t#dZ^K_yl#M$2UQMHP0# zZ;G`g=F?*u+U|{uj7M*-K+PvN*6t@k#IPwfWg{3g+Z~oI>$sx_U!Pe#dJE5}%YI*{ zGxqDf@|V4(WoZpiJF9BFTpA(3@!6W%H|M;w`qoHSLQ4)^m|$=F>iN}Fr>#rKbhh(O z&7r?D>Gg1W-Rsj$c8GURM6S*LO}*Eip?8%XA6B}8&rd??%5YIH`1*Z}xI|ggk(A&W zWt9E+LUhpJNVZdFQirLS@AEMDasXEi`FdCZLod&{s`k|_l-m1b*sXp)yHDk}?rIj! zcDJGOSXJwlJobGc4k`EvMsntAtcmkSlftmTG|aO${-b-1fbfO?_a3hCF$LOo@mrztf<=Gj|BR`%v09ds+zFxOZQhfe)c(`>du z2FLgj4GVpdGA_AcT*zaVkEAdb{yi{5bJxXCi}^)2ZrfsYgKsEQJG=!xUIeH7sb5zS z3-$b|*&=2&Wg8A2URco2wQtL1N5LeEG-pua$+;0~y*kHVL`m#oVAX5J0o?ahADVh= zC-uHgGbfmARRTpIEvSj^#E7f>?n%YH;h3#=2Ws9|D_*r^XPdQ<9}*VT^TPwpSneXmT zRyx@$Zu`a3)GnoTja1~s9&dC+1PntDN#1;=S;{RqWGS4oR#Uw!f~%o_<_iT(-O}sN z;n}+BVE3Db-vU5!C)mVi^n=&?eFnZ=?Q6)KSRzQu zi(EOd>5I%s$Gxi4URCV^jF9`wL`>$~OI|v@Wl^n14vcrBQBu11y|r(y7BI;J66q!l zYgXGX4?6tBZ}G4(NgyaCLRp$v1Zy9r_YCKf99=0qfSm<9o}uHrHSv?`+SPaar!=?i zk|XOq5u6XnVSgs>i9oHxDh*~Jd_|QKCGIJkF|v!4YS}n-y|GFk|!x&yIKSd^dE)twyTqRy((&YgpCmt;t8q6$HYJ z!T>IO>zwmRUX{JCg>qJEL}9$)xfb&|p~~TPxEi%2>u(a@dM|UyS$smH^PHCaB}<;{ zvY2(T@3wJroYD2jcNgr_hqWjCx|B?Sc5Itf=VZHyYHqLafU!tA$}`k@1-<9!Fyco6 zIA@AEPIWu3PUYzKJ$qOD%Ea-g^lzrotnP9NM%PtQIZr2~0pD0LG`9Prm$XZ+MT8SE zV%H+>f?Skh7IT2DM=b3k`H(f`(`a1bW|~pl9JlN2;!!u1-w~=l8FgSNDO!2`=8sR1 zM!y=KAY%07ZJ2l{jwm!wS}m~Z2ie-i?JLGvbw!+ zdfUcq%hV%_nHd>=9{b5@X<~BL1y}H3ZTeWF9z(V5DjKDbE4W}JeH?)DFUK<%&9F<3 z%Eb~5jV}+%=GARg&$X8)Q50X)WiqA(>hU$B>>(5B7kQ-Hg!QeokbO;#ti|dEa6&x<0lra+(Rq zE2W1{*elD0Fh0%K(#^o-Ae zn0#Z!Y&Nma2=cQ(V=6|KDj}XsP~V4zD!>nWD+-QE^*?%Sz~CjTY0mMCG7D~0k5j*# zYkb^MiZ9j{?%~=+QxAB!?8^*Dlt!gC2G%|{3`<;XwDQ+OC}lczMD}fGd??tYkRwrh ziMZ_&l{!`KDNaeT$i$Ps7i3ch0=3M;^pADkG?6#4ajFL5=i#xp$i=^kg}A5mAaf5nW*o9iH${KBOFz@ zkR=#S`Yek3G}&R0RnB`;BHrDYL|#lBD=%NvUU>Y?*;*0f+3sR3CTGYiXvd4{~-^u{>+*B3b5#QlhjthCU#WV`* zuyqli?Kp5IWVQ9`D@x&7S)i^rFjA6rM_^C;BZys{tHi9B-q>}il7*lBi)!C;))est zvM3Z@*=1Zs6%(81AAR!K3PlWFe9tV4lBa*Oz=0?7TSo7rdv-?H%}&%tBKmqcn z+(8cW74ISUdsa}EiNoSDJlC|~6*x3?zHs8ig`B4KlQqHN%5pS&+7;A?Q4ENKr4mA= z17p>E8?q^hVhGl@G)3V%sR*$p+z(u-%eE*O3ALU;l(C+c+SR^L?L)N-$!M`%+~nNI ze6o>r4NO}*Z2nO_SgIjsSIP|Y1cz_z^Gg`Fh1k}ZF)vbAk`u*W(wK<@J1I9UFGe%< ztM-ln&2o1peZL)_MfKXz7VK=7*;LgQRSe+-yC;VWs;MVv#3n*gr|KQ^;`<9qxHtq? zIjT>G$~&+J?2i3P=*z?0h{N5VY3mbMdp4s+u5Y+)9^IQ6%gCJqrL*(~z$k->R^Crw zj60>7`1|GB@SmIYfso7-YPELlDo@_l+e>obTn?S2({&7z$8*g{Qc-lN5X@fDn5Bpe z__^e4tLWHPhTR`;1C1}9Sr`lAOQg21_CtxDFXaCIhwrC&A)Qr>bvW55pJdHDOq-AC zA0NFxdUQ}>s?39>K4uJAe9qx4B$+QcHRi@2R_#HxCj>Qrih`-Gy|5|???KM{F#jZ2` zeO*1}<975V|+2uue@nnjo zD{P%&lARkr2zcxf)IL;Dia*?to3&oBfyG5}vCsV|T8^5D54~1`>1~A<6&!nnqEs5S z^$5y7b^-mHP4pw?pREHTIn;%i8Wk7aDzNeGT5f$8_u+B)8C8|{g9iQB_8^{d!Z}Bqu0QXM z$){452BhClr7d+zJ5QC54}o2JBOCkd{Z2e-<@$AKYCi7I6Kbrt8W ziz@jRU^Wq>IbhK-ro_^63y4ot8cp6I?F6-8D>+N2%6>>?cVgQfX&+Z(D7ReAyz=ex z9!e9(F!4+J`j8pZmrnIk0$%q@GF9W~ZJZ@I++Z)-Q!R=_`7p9kO*r{as8H)q+b%iQ zo|%@`DbgB+Dc@hrd&>J^+hvy$1$D==nZS$y8ASKQi7R&%MVPG>3}cjE9H$FV?-J5T zN#Bact1?0d)k`bW<#{b3o#U5di`U`%K>DceHv!g&XD(nI-zMdg_v&h#{@o_l+jtl>Os(Z(Avws{)4|sab z0RLkoRJ^R*&(P=$vX9iIJa-QD5;r=VXtbN-GFk-cYz1a=?~JTNPe7V&=H$Nf%_LOp zkFO?od_qsehr2`V8BE#}@nK^HCS&l8wLfPa8}*0x&;DH4i7%ZVnbglqm%(q>YOzsr zMr8vW;eH_-UzKHZS2dJP=IY`&)@GBFTA@-y+V{`5ZFIs}U${d1e{B@5uylXwZN0xe z+0`)Eh?VFXYc}DJ=Y^0PG>NV2)X9vO>K)GYQp|*jYOAdr`F!>-F-x1Vu}}&*{A&VF zH1K)ea_oWQl3G_YU5*hFYJU>WJ65mAkb1IOZEEeH2AEpu0kT80Sis*p%PoC#O7<{g)j5dz1Tn3F<=33F2-R!&7L5((jg9oLbH9`-*lADEU$*Z@uwynNC z|KrRrbl!|fX?GN*b5!3~%bD@8kgD0_+eJtIz$omrcW$YZcheGMW^|QQU~8_eXV*e` z=(S|!Rc$7#UmShEI@;R3;&Tfr!l0H;0fHbvX#~MxCfZw^qJv1QO_oN1lqUZ`tEVpM z0s&hbpN*_Hw0%{x#x>pcQOLf7W-%Fm5%aw_H#VT^vOgXqd!1BnCEee8v*=d7T&#Tz z1MGV!#Ke-JUx2U`dI9Q}_+8NRa#P3;w`5H?e%g*W*bfO!M>cd&0;Z1{j3bFk9aw+* z4}v-V2WIcv0$J@|y& zC2;XRnj;;4a{;%feL<}qxQ-oo29=uY1)2jNwdOzAz*CZ;uwy0dFw=C+1l*?%;%G%Y zeQO2MgtKlu0qU$^As^)WdxORr;2-{kwjnV@cf@Pks@~j0wAW(rhwRUwrg7}SQ5{Wzmw;9LKg|(UI0+)NGKN};Mr$Tu+X*k6j&BR*u;MQ%Yd-Z7F#N|L36N() zYUMBzrA8nhk}`byDt+hf$}Jx}DsU_t?YTh7_YIO*o2c&9}aDT>EEZNXMjLWFhGaZ7!B*^o|g5*iK*Jm1#j`#T4Fv? zph0IXF6{yr(3{Q#v{b-i4$xkS1uzuUMD(+2Lr@Rx^QDUm+<=1y*H-_Za@(Lo(3Kcb zP6>W(%7S(f13~io3=Oq2z-2-qjI$Szw08T0WW&LL?JSYVc#)1}IdveS0YpoU^afz@n z)71(VDof8|=>=DyeS$~Fbq73pYJ~HtOVQ=K9hT!W*dW$HeWlWb4T7is^s~wNJL9m} zsQGhy{rr)YCjBid@}K0z@W99VNvFFG(|}{{0E@*)*Jh(hxgTdQTd`9!7PvYN!P+ah zx(qhga+CKz_#Wjqt%UXe%0m$)ur5J@4vT^4#{QRFjU}2hipP$!+F~}^;Lz%psc7K| zp2zd*R=6?-8!?}Fy)H=w3vsQ21J(FU8(zagw8j%{>sGReX#s{t!raILjIXrlUhgj3 z!RkLODzOY+g;jgcRY&4kdOhqK-C}xWE;v1yb|yqgYbOk&c9=8~-2SBsXa4z9KXU#d zMWl$2IhT`jShm=Ik%$5QNA8S95sts)`U4m+BoN;CwhX9#8F~x-!q4um8#^=jveIes z?>I?*MtNfJ7A?0>2YUENU>J~0S!yl<1_Nd0P9%ZRpo1jHWWX8ZtP3`Zp~F`1JI7V=kJe&; z=?{3yUwJ@v`~`rT)X2Sa#gI@~URoepdFrb)V#{j|V=cCCuN!tBLV3jH9P}L;pm*iF zmU?0bJ^=6I()%rU{+*zuV!-n9azK_NVxLCADa_zoSAIwdKCMl1)=T8o+kzmOA6q$! z7)scw$Ec}Py6hyrG{X@*q747wk81txfUYP2ETpl4-;eJl$$!8eGY~7Y2jRct zr^^P=gUZk@(Qu)BrtC(uM?539E}t_D8t?uqWx!Kx`~a(i@%8<#wq|jMx*Or7gtL*Q z|H3nX!9f7Febc7@-_uSsfS2gsk;MUYm+~jf0e*&3d zaD6}$F%4ye>_pUe9Z4xoB#hg9Bru$15-BLdpNpU*8Ped~1bxQ1e2}lulFY ze>{Dc^axjK=mfeZvWuP)P8V( zeK7B=9zG9z5M=5;k49A0{(lCsUId`$S&^Wcf9}NtMc|KiVfeKJUw*uq_+JMriGa37<{AW0;3y}V zcx@&4!b3*+yfJ0~U|9dRivY98vW7e-yq0=nb7hBbb8(TA)~&t5`O3%;-~A_VZ0rD? z?IUGaRDxCkr-Ozy+j1QHgM|}Ack;gf3Bvj*%`>Iv6np)(TcREV0~|#XviLf#?u53j z|6}_5kpDkr|NrBu_5c3$z%gOs^boaw+10NPOzi$O72nY`!H6pJ(S^4Eu9rSt&sQ-U zO&2Ckqd?z+4<&P}2h#m3aWqZ9zIq*F-l)098a|VA&?t}M?g4@0v zR(ZExbuPG_@;AXJNstFw0Oah&CLb-qBGk&q(TDX)Bu1J%m63_LYVp`lX24` zKWL}dH?|$#GTwfknPHXXY|%7s@i0o(RdT)+BBrT0N}_pJ8V4=6{TB;xQ3ewh-3~Yq zo7;QyMv&|mDyPw}f)!IsB4q*hkQ2{cPKKC|P~qJT_fIzCp5Hb2Hu7{u#KOPN^9u+R zkANa#i`yuUc<*tsoU+NB2QDaFlTi_E>e59F{z`bLrqQ+Y;EXuz%-*^D^R>JV>&*wp zyDLW^y%9(J?lhGU2ITv!b^ng*=%H<=*)gW$*75~~8#>YR%Fqtl%z66O`=HFCIb{nu z4cv1(TW<-Zbkmnn>CXPPc4(yXt2y8}2>8nQA7r8in64UZ5B0ED?X1U$yCIpIGx<@8 zg!T-oYoa~OANZY2n7XD=0S2&&`UCqP3cpg7aWT=${XA*kebHKygDC0-3%I{ziy*fY zU9UYhm{s?~n%Bo+n2SviW`7(&{L8ISo=R)D!PT@JtQk2%5?^BX>(-=N{!8D3E61ml z2L|PI^pc+6r-!9&51o*n_pnL(s*?@&stS)mzSO8~K7d5o_0c0R#Nbug!fDTRCi_Q& zOD;g+oQ_-UhbR_zqbyJv2-Lfnf);Ks6R4nQrnpKA z3PfMMFfTwK%<{TC>Y`eF>`t)tn=>R|B`lf+jkt>({s4`=wW_r`xKM{X#C1pp^{9}Z8u*p+nayHX) zMX}_OM_=;GwC&xGgX(`F=aW*v3_xtz5cI(;U^?Z#EOK@G z;Z;rXK;^-uxSRX_{aw*=24F`H9CYwZ9_{C!oW>eGp87Q<6I&ly9JivmIh$#uWJ?uG z%eQd(8#xTy%s;n`e7~ZnlJzguvD}6Yu(7qSxmFVf^)kH}Acevpl=!ne`nvPi{O)nqlSeehtd>@ZDG&eG&Q?*wYk5P9$4)$eblQ5ITDQ>8vh-TMEm_s^TyCr@z? z5p%UOjVk|@>(AJld?MbPjF-pahDDe!25Y_B+#Y>(@~&qa+7?;%l-q_YD(t#?BN8y3 z=72LjsmfOC1*a=*S<3H*D}3i0W=58qDokeWD6Vb|yKN`U`Rsv6$-Hfxch->t@BPah zApC~vZ#%MIe(>~|q!Ql#%`PJ_G5m$sL0>m6z}9N{+8uEy_^cv5GY;H_kV(A8%~XWe z_om%dWEE9w$pW&MfL4p&${{M!w4Zn#@61lGQ2qp7vCa*;rVvBH_tGJza_Zt{314~& zdFSdqxE~&F*E9a1WZ5s#s(W=t%vvFZTH$jzBVL=y-o+)@t8hTUJ^GHFyOLrfv4uHP zAl4~~TD;kuG2^{PaV4cj9%1QdcBJd^e1OY7zwz!V;iZ7zjZ5^QWy<_k0|rsb#=B&+ z?S~}Z{Bq}c+r`J~9lB?&-7t)_1ojGsAAOKGZsb=lkdJ_K8&`a7Vyp^sYPE)0+__~3 zGK7kg)TSgeB(=uh6E$$W+wekX8x84bJM_ZWKOW9ND4_pozHhEaqM zwU9zfPaJROvRf`cbAs(^{9viTUxKR0?Z6Ymb(==%Yqp*cHTK@90owkxt-^GlZ?USB zDgpnJY}~kJu6P{?&DCu1j5_?J*^N?!R(1C4%xE(PuhDmdJ{9V;)dlK(M#QRTxAWL) zh)cwxAKuW$UOxZ9OtE1JFsww~v6Zh2d#xPr-cS&+>O`*+vvG~!HchH{Y8}q6ZYNF* z@&WOI*Aa<^JIfSdCBdS%F;tBYTu@LGdhmu`D1j%EIUqyH&k>4^=zb!cx~aN;~9K^ zX6K~AIp(~*ea){N=MpCIB;T%Ln@1Pw%{a$4IX;IGf zjpH-=5wp=$dl|>w@b7cwmcTejC!O6&vT)CS!&B(^Os;LWrm%@o}JJeGVH9i>7V$`=JdrSO@h5FbUN56oHxg2#bARF*zw)}(e~28W)l zhnl1!TWA%xc=cPIn+a#S4zKD)FHG)5XgUr(ARZEIqVrh9N^Y1opEglbfbzLt_FxX?mJXl-RoNpsMxRt1Y0d5=?thw}W(_j3a73hxuj+V5l{N~U_z zW0Fnar&T)_E~bx~hKq(7aX0WLGk)D z>(~Zb$Kif2ZcosOidU^<`b=Ppe%(noSnOXhz{U+pMjLcm!iIMgw#AD?OOVI&>r*9+ zd*}|;HWu$!elMa)7}rA#Jk#R}Uo;iu;~vmo;)9C=w#@@^n480;M?Jflh8AneNd(#e z&7;|6;%ox1N>^4K%oElM6(TS;(-CCV6pp>kX1_aMv`OtS6}2lv{_OU106%IQi8|hJV!8n;I{S{Jfl}bL34X%z z7YFh29|`-8x9SkZxmTIPV)yfdat>{!EkIMxyVONz$kx5)|3%YPur~YwqP zK0HnotmHXnI+C=i_Xmv;AJ2lo=aA@i-0?fwB2nmAxCZX&?h4`j z@NW}p;-7GP14bU9Gs;g(zaFwkKGK-jWO#4OVv=TOx_*@}lbdtzWHZiJbM2&Wmb?R{ z%L1li?)$*GaMHr7^=aP6@XI1CUk>H=5uK?XwdJ4!gTA}9F$wRU6;kPBO?;lJ0bk-l zU$ypU$^?NX$C?kgbM3nNk?p(VHVv*dt_>c%d#xg;@@B(2*3qohV-Po)J+6!zo0(~} zkKDOkOjH=FYseAv>1Gmg#2D2$7$6_IEpw;o-eS$a|CUg*xM4u4nw?sCs!Cdvt2f5} zkaF`l6@}WtJjYrnO$x3i;b(M0rsNV9(CWWET=(B+vPyf1ISh(BgY2CTx-%6`@Ra?} z6NHanKHzV)Y`n3De^q3&k<2Hush!L=V%2f-u@*t>_R_g|ra55hAhpRZ`AkC8M$sr? zGk02-PbCR{vR_$S1Lw}hN!=X;dd}Wr68JAOZB!O{+vAkPp^gGgtVQgV4{y)WUV-g) zhI_vMtVP=}f8B(q$PGkd3NA`jnQHc@p%x*{LaofWo|CJuom-6xm!Z2yG#+naDT^_{L&uv6LM3 zd|2Wam(p4A!N@R6OZ;2-4p?N2gsfoj+nt3bUpC3b8@BWiYyP}9S!y<>WMXFxf{6yV zFu(G#*`squ%?CcMEGjvy_C88fS$&AYLiayweK?3R8?q=vs}ye6MS@4SPRT4&zDt>GyMk_;;mISl06>UbhL=5@rvJ}GYl^CE27oE0%QxT>0mrLD8C zIT1D)DUusSBDtiP1KF{c#Y+tcQE9uWj;OO8xsXYlHg2bi!%qCmhxBEU!%64}ECZzD z>R#%_8QX*KoaG+V=tav>=z<{y!&JES1v!TB2nfTvO3kY-tugOhc5a)JY@_2Y0GXQTroN(5_Wk=zf8t80#}1Y=-V@Ip&e!d?j>5U3lO1;c z-t7|^KPp9&g^a%|HVz+An(FH=5!{i3TwOcwdU|;sx}WA0hQpXsYi^2-&fkRZVRt{yN8M&F9VR<|ef=@9_{XjMgs z%$9#4@uEJ0Bgd=K` zVH04uj%2yfvnK3#(pG>CiL;4$#^Wk)4FQGJnh;7Gb&_&FD^#%yqT8KwKYZ5St#MxG zlx=~w9@!Dnu|$u$X9}Nkn+fScBZo}6uU((w7w83V9QK~c{4R6LZ&}jOHu1> ztTZwO4#__?n?^EQoU8$f`3n#_YdDY!-aE2?*GVyUBtBRHBzfs>w7bF!|3GKw z{PKEB)wKGgcWy_{#nL+Dt0|HEBmvF77dDku8q2JGFx7_Q`&OOvx<~=qF-i~JfCw)% z&QU;YqeHwTk`$uWX!3t)2`UD$ak_b^#jc3Yyt8vId~`GAWh3QGyy7RH7F+D{P3LGj z5tmpzB=5>k$JYUEraZ;l3X7a$1h?F4vu|eWT)pbP6Dh|DWW8|g*}7iv#Rkn8E^l6a zJ`PRn2)1+O?FxUib+g?Pj$o&YT*I8#l((HWXPVwc zWZ_)nl4dGEY;1|QESI$F)hdRZmW37GeP^xy?{BT5Z%t!wkseqxBRwBuDNzz3mA!=~ zm8sht=-%^~#2E!olaEEmtMc~fISCNIqqyV)>0;nRGC|1%aNekNk$YlJ5eZqF-Xd`& zpQIl%aat_K!aNIvG2?FxM}Wn)Ky&(3pEl)nw!%dQmt$fF5oe=3zKo5ZPjbRSiY3q^ zI?yQjv`=q$=6(H`h0=_=V$T9yXGiz8g-u?8-lz77NT!)P*f2+_n||^(_tFyU&jA^S z;-`6a`n<;_c%;s@-V1ChG6V^m(<5B1=<|__M5V|T9=XD}N@C2UAZ{FVwy3jAhEcpNlvC<82dKpOZ-_UraI!L^FO|`U}#&QTqF1Jl4+q zqZGcmGDYCyzB-zkh}nkK$Id?rxh}9V_Ka!99&-<0LO4xqM9CgO1L+LTT3pBGD=@*F z_LAFbT>SO!`b?)G21Nw`zt@kPUwEiUG&-+81wVc?9)g<<^Z_javrrI^Pn^zSql$*E z*IPD4DwTxCi`T{M3SYknwH$ApI7~Z@__{Lwz`1>{*Pch$ zSW$oSapr85db*KS%6@i5ldRL*-+%bY%io`<4T+MWV4`^3Y5EypG22XB2&3GK{s2Mp zHC}$m5a656k1~~bBrm&w1)g3(_b>;b$mgN#A)3t4^4#hdnL3E^ZwP&9|fLA z{W`T`{%D;|U}aP_+Ldjt1B=0snVWo}GuZob&F&%>hrgGXG^Z0#CmTPkCIngR@fa}l zkZL!W&AnIp*sw%aL@2BaXfm;)n1bqa8>PxIL5;B!9*xkJYo4PPs^5OmN7Tec{0HS*-5i9hD#xEHJ>< zGsz<{B)J;{aUVe}1SB`ee9JIzWNhf@U`*BvfL_@e5AlW!q#z+V;5R zm=mfd$#s+yN5mGnw4|5 z(&Dis4#oALD5tCS)}pMCaQnhn7n*Qd_9EISg9}IW09D{xpUiv*PL%KXY<1O-2JZ^M^A_IQvbcCbYW_F##A|b2bi+!h^@o&FjwAPSgxR5&i}xi--9;?@=Ag1xN=fZKrQb#f$cgS%ZUA zRqmEAS3-_H6T|}?T5U~~P>T9@bLKHGDL|M_ml1)kQ4Xjnu*e9qrxWbK-?+%mE@9AS zet%9SQUtzkqd!i*cQZwn@uY3#OT-M-@`55g8dF0tV zF`^0iQGAd^1@T;p8A^=%{M9si$*wDV>M%ns`z>lKh=nAyq4jL9))4KK4S%uwAW23g zXM>suX@6Lpb*tUICse$7SxoodLr`)xjRx9rWxu9Ebfzj@dHSz%m@xYO7V2?-X(?(h z&!JkU`*w#e-R@+*z6WFE$=52hVG!&=V!7=_#&)*G6%Y6A%zU+<;~~T!;?C>Zdo_k} z;*!Kjba_(Dn5{ksn1C94U`yy<{9p^=v?#>#wTUu_yL1m0`Ko8tUyGSYR`!T!1()XU zcMhH7N*UChz*&oFwMdx9!suS6Oq@{K2jnNzfX-_(W7H^Lac#lysDNbq=%j?@ums2Z z!k&S^DqM!49v%$(S#{dX-+WUz#!&r^Ud<+CKGAVW*$YizhX>H@>WEF+OtkNdo ztMY9oH+e}qR6fO{6>2RvAW{`kWvi0D(C44npcSL-(=cVd$jjt7|zluHyi(ToS%ZyQ7{13H39R zB8z-u&5H-}i9H@n(;v8+w)v;e4|^cSjw!$EN-zg6bA8q391rSu-Y;wuM4FINjUZrt zx3kxVcg@>D5JlBL4dyoc*ytR&vdwSOR`-Z9o_B~D?X55%Vi!tZ8;0{IP>>0^9lQ_> z^SRBG5J6yC-Fn}V5aoC{^wLmSWv`F!4%;xVrUb4iQah(E1)h)OMT5sjlPh9@&v5g% z=Pf%{X-C?mRE-SV1aGC>kd_zD4c4buqe22TN(vcAn+m68p0!;bfAZ>D8kk2CAUdPi zgkplQi0xj$vieObScItU=9pfn9{Dsu16Rb>aK5QZU)WK67f1TlWb zk>_5RdvrcWJcZV9?bKBi%V-0l*=OCka)D(Ki2}4H$ozLnTPuZV|IEt%FY2b@-J0r7 zhQ#`ut;Idc?#xB{oWa38KFRV$YGBsj7BCE1RD&7R;g@XPbK;*Z%j(gTbGEd%A+hmW zz(Pr#bLMWcv8c!(p0rmq*;2ZK;mut?e%lxyBvrmUzPbPrL6>vL{vk>g-iMEHu?^2* z{Pxe!&rgfTwk{|BwWw7~7eJf_ZuLCjflop{#EA^w5t-7)qdGNkCz5?;sgsyJ_H+NQ ze4|5{jR|EVQX?P9H9S)NCxJQ;s~7Iy2;p%h8=MWNkU^IJHFOO@{E^MYl!7Ig_kf|uS@iDe z$@ZUj4Jp9Df?{?Rg2AVL1y{Yn1zkHdSS9c+(lu-sjt#cjgiu{;DfC$2()qlvDBS$lz=I9^esuy+y1a zefFM=p+9xX`ozgb2A8xm&c!%c2Y#A1faySJf7W+7ejOdKD6^l*MLjcjYBkfc_ujK! zk6W;p0xlRq?|F1q_;u=ehTJH+I48k`BD*}`arW86re5ENh+*{8d{o{IV$(GmIjv-O z_Yuv%CcDnPtJ;l>0gb{J|73CmIp4dKy73r znNC{%8k$%Y)n*n(p{5q=I7H*D1ykJ0abOZA7!y=~>J)~%!P+!SRcEF&tF`lI10~sB z{aj>3WN;B!Gpa}&B<#+s$D=rRI#1>|pBKOk7K3_7uu~nHH7j|>DsdV`FQEqOm=W>F zRFE50F>PQZ&QIa`e#Y#k*=~+0l^bw9K0d&b6_g+e88thLi}Ufr8}=Lc9f#Zmwb(Nv z?o@N_L}t!OaUXf$Ov(!UC4cU<6LtHZ)v#z09kg@wv5f0`N~lO_PK~<^x`t4ll~+34cvycxuT#VywQsv8P}U&)y%2jj*5ab6i;0Ytr|8zQyoWNYM>jm>ebz zqX2#v*3J@EXzznnWZ&o9vnOvtHIUv&zQ}idsJe}72EfUp2(BBcmV=dFl3PT$2*Ccg zE(-M5?(N((4uig@%AzG5NkhJwR2KBkG}984Otr_APWi3rf|j*21<1t0Zcl<-`va`+ z1D*BSf7H8xM-9b54W)pVwFH(-izw>RMf$UTwn&eBqvPG4(`EO@H3n5OHbg&J1&ls( zYc-bL2K%~@8#Z2H#WQd6LfXN#bXLY`{GlJ4A{7pVU5v&_2LCg)!^hP7E8Qe`iY8=& zIYHEH=iV_3tIGT%pH}O-J&u*w1q_x$ykPg9KPnVllX5_rDrT>qzPk%b`mbN4Srrn? zML%iIXYx=6ZJ*XNm=*>afy7hkMbG7XIzJu$_SdJCYCpbb7@;g1o|<7xCIrmtMaqVJ zd8f8pl?yU+e&eBT(i*gY@mpA=f)+KpY;D-gWFK4~^>> zY?=fd2oq`QCLyBI+h|-0_-rO=$@1oR@#|*kiN)gkW}IN$?&b%6`4b)FZE;rFbJmHX zO=}1+G*qTZy_+hm%cr3Wk%EjhF0I)<#`RnNTQ_m{(O{2G`WPVZS+JS$)abi~AlCao z;wS5$Yue!w@opD)W02`byLFL)9iK?@<(4*#Im?12o(~6tBD>*Q!7SA%Yv)-0&zWX5 zRezoew$kaa$)Lh8zGqgih!!ea!n?>IW2?TFF|N%;SNrt~rz@?BrqzR{&X)XLZN%>e z2hgh$b#2rkV{bub)q}g^o=R-I@mXv2fBoJ2Hylm!k4D_O+`3(nwaI_b@(1hUe}ZGF z#e=B{p}VHcZDpCZsiZ85DmeA|xAp0ckMSoEkt%(W5}xy^aHzc^g_cfzU_@lIDE+o* zRsxV$(MMsQ5|v&s(NLo{pUM+N2xJ$7xKO)!Ve*7W>6U4u^taOuRT|5nfRY8*Fnl|d%C*oqX(5UV$$Lmz&l(PiSH6grxy>+ECzQ}RrDfBW}UOyJyxS?F^4xxp(cpWGI>S#FR-cVOy7 zDrgYCTdIhwII)F^5$wcUuFH?kia#>er|Q|tC3VXG{kj+rnDT76u_63pmt$@F1LnCe z4}6RFkLwFHK&!pP&N7Zl*`x1}qt0Hsht1d6au&lU*7_rKPDKoe56A+L-gx=Yu@WL> zU26`=lZiqg5X{H`+eD!sv=*MRE3{PRoAQ-)y+^r@WG2upsX9zX#Kvh$-o5?EhQhE~ z*8N6IVA!&37YQOLw*j~yZOIBU4*7~}yM7R96J7yv-x9#Cs^0m8>lnl}3RwMt+#L^0 zHp$der7x{tO(~50nOdA@Qs7?uL$Fk_VdJy6?88=;W`T;fxM~**=U1_ZZOts?>zS-% zWio+#H^+0`Vr_b#6dAvKY+3%m*^S;h-Kc|6zG`o$MYH@{`1h$jm4~%#Qano#@H3!IfjyxXM4i zLgt_SkXihx*P5)*sIfvMauBDnUUxNmanX$aXj8y<{6O{>^?Rgd4R4>#^fttiX6;a` zR;{b;IG0sl|tPfuvo_aPoAu+}Lamg1aMnxm!>z!Gfu#6X+G?@*t z?$}_lHr$9z&nc))`O^=qVJ08XsDz=bHDTq_(frHBTyg((x5|6P@*ZdR8a?#Bdbcbm zfW$Y$=r=<=dVY-1uw^hG#TTP%H+aFS$1J(;{U5zJ2N~Tps{+vsg|wYo6{n-)uKx6b z`6?MCX-6EP&k4Cr$F?Hh!b$%0`QKhFXHMZaVZLP#GL4=q>;MOitY#>Cd#Q@}n!_t- zvOQ3tqg2N&giRo(#k8d49*^e6UOI2$+ifXCG6tm@tiM0st}u3%clS}m|7fOnZyX;= zVRq%Fu}XCS4!Wio9=a&JXe`_`;Q4;PuYK=e<#Ri_j2PK~;m;uYfKQKU<_pXGp6s;T z<82J#*B9Xn-w!=%31KwR54PrcZ1^yr(Z1$6kN#u+jtTE0w}qC=AAwLwUeo&^6l*v~ z_eNm5BuNS{8CP!-uMPBOsw~wkhp7acTJZT{@*3T}?maTZvIDS91|N zS;d&h!2-hxG==cMt(yINyG)Jn!NVpGwj>oaZhPk=9NNKkVl@jv$SQNLlZrll6@vJE z)sR@T<9+U4$u#O7w^rBrR8E_6g!RSgt=EBG?#95U#}v1>D~+uY%?nLJE2azCtxGvB zp*(HjG+8u+8OGe-xhnUr9z94m<5uI<-WOgWJs2yo8O%7el}eBSi4)c04O=kE?>mey10^ ziG6gXrz5u2#w?ImgJ^SSyWm4nX74k1ICrd?9OBsC{F>$6EtOqyQY_~F9H@Nb$>}82 znipv}2n*D%!h&B3WNGD;br^tkY5_FZl86hw3^WoUYeg}u8>>tlh{fZ##>`KJ{Y#zl6sKC zizA|R@}?5d{Er-4RgVE!mb5?1j@9>8RP0z9okJikmEfQP zmp4Z}As1G?p^90EL{ACsbah>%0Rsj?`o#6$S9 z;F|33cy1mFWaOo0D^>`pwOBZaaD+|2hAFCc3^L|h{(YqH;X#bC0^Bt@aQ;4AmN6iceznSc7w@)_&y(ptcU4}^TW@~+vej6yT z#@Htnw7tE(w7Q=IuoON6>QUXz61ES@!M3Zh5_)%?v3zb(w%6P;{AY8L+gK!zBc{e z|Id(7@W={(P!Os#?;0NYK|U$LEE+?1mqMgYNTkwZxDXM;OSA|;Eav@i`E&^xs`mRt zHB0BWFi27(L5tw7)5=-B3HIQg3FMcS-8$AGF4Z*)zg`}^YAKR>haoAS7o{<32L{-P zw3-SDK7Lv%(Gz-Az2w-!9cvMVYWG>9SKnKfkZyuWcak#r7&Py9hQ61AC| zn%W~rmTkM+Qjw@lo5GbEQw3g;jwhnlsoe^)gadwJ-}b@H?X3{`mKmO;lZjtN*<|aU zES?=x4Fqu{413Ne*W5zr9h&{-dYZJ655%i1h_y~(=6dW$Z-J`Tb=T?J-h-%c=eg`P zi+q@rI_(i#XgfD)}F{%_S_z zH~ERRZ~<~pmYvM~-Fb@07%)M?en;u=?j7JHi~qvQ8x{Vm5Kox0NS5~{^hiq4c{~!LG3+- z!NBjja2{`>Nz!-@o#gUs40OfO7T>~>x3Pc!a_NS6dMuR0?pMD{K6o@*T&T4Y=w&$X zY!#GEG#Sv%uEAQBt&JbE)6qQ`PC0yRlB z@)z~bboaT_Nvl>rUODkozP4&MMSUnG{16fL_|QFjgwWDp&Qdtbi#_^;_9uQ@{mn3B z(d8%3+SLD=Z|(?<8>76iR%8zt*XbSG3SOSigA>PyX~`0UP8DR(&ncSm*Vzd#=8Y`h1W$QYyX^pfOQ-hjxaZlSS5mef1kE}va{JN zG)CGtig;(ypy~a#wZQ6Lr-x>dt}j^rZ5Q|JV{q5ppUZ~I(Vo>_sVj^PY9^!9EYdkz z28Az$yYgqY^7py+-O@I?ALxRuKce?zCq|SIeyjDr34&kxUJwZ^N_5jE zWv#^gF$~{&u_X`w%E9LVG_7vaCL`Y_^su9Eu2sEgjTie!t9=Dtx4T|;c(JgO8pO(x zUt8FonMGRaE5Tu%iU&MsoVSXE$rn5Q4p8A#^r{?ncK7pY&*MJzP@Jk)#fDY4b7@Q# zMbz;*6teQl7O<0oOxzYi5!lf3_a=|{5#NF7o}T0ACqrSV`JK0lE*?RJ&E-TNMXaeq zq=o6PtlJ1&B5MAL*em&@|5#Gu{PIc|>}{%aE_psGJMOW?Qe7M^y(n_KG!rQm+;GC^ zlLa3^o%_3aL|>q5OZ|-+7oh^XGBI>R`G#Q0Z1epiEA z{OI>zjvF784g;{+R?XT-{bdjgW%kcEOo|u-tOTqH8ooUfHaYr1f_@WW<(sd|n2TSQ z5OCEhoRR?vrbwxrHLY%J%s_;iuGungUeBd33sDAlQ_qfW%I4egar+oX>CzACdVU9g zcryIwiBi>vdBVG)A|a8^#5PD9`-jwmhdTjwOX@9h#-6#g4+ zGSQ7ye&}+E?Zxc|qB}EG%C>pm`2MrVuUabpr$Zle03p+{w^omwjRwp(romszKQr9@ zp~B!o-y=luvmn|BdU?tEK*Y9GlNczLbvK{%Yvb@`rHJr{UlT5e&EL#Y`vc0bjxPx> zOD2?N*#m5rO#5)t3E$Mw-;{oRZu&J)_l$PY7puq5JL5ok<}Thgmgo5v(44kP{gajp zsZ>L};4xRC!!y08V_D$E)v;SL6RExP7fH~)Itx84kdzL2lQPp5H%y2;U39qkwiCXU zY+m@EzzJkkTi}9>N$xwc$*Xl-PkyemF#~F#LN;+$#as8xgs0_FNt3)~oZX)*sF|~7meJ>@`Z$NUR8Iyf{Karswj_fN4uD{A&!9H7KSEZtXYdnQD}K)F}e(YX@ z3Vx{of+5kVuAVKtq@P2#LK_x%#uBBm>Z3=48e;SuSB+J=f*rFc(Dkf%$hf?l3s3Ys z{iBA5cEoeq(fQh!6~&j$finbP1%$%=nZ2Fmc7g>!aQ3I8>w8K0PpkyYqmc8h3z6mj z2zWIggfqX@RZnbqR)@J1IUbd`y;Za$-pziprCmY7KyOx3H?F0gO2W18K}v;j1 z*=WalJgfGo7f~3$(e?cGc-gJ%u#@>0?;Qf|15glLp&`YBMgV?W;N)Y&iPGg3iO?R`tUFtlxd%kB*0yx^xoF>QPpQYkksh$mlPBqCj#Ex^z~4K^48?3JA)(da z^?xJ@V7`(?pFJUd0ajXgGElvhCuE2wKFBF0)&Uuxj+K7}bP|gIxVmM*AyEiR{-Dy= z@d+F5CcScV)TuKuJlre`ed>l5N>BIs2FsbfxNtS{1m=AO##H@ixkV3C&t5t4kNGZl zX0wYNTXsVcSJk?l*gpap;uUP4r&lQJ^q;q`$3Q~W#v`|!LIA(pX zVq)pM{u|~J;0z0JZzinSy~D?;2YNBh)fY8y_(FPx7lLM?rMfZUJuvK(MEt@AKYNbV z$v>9ve^hK-y>=O~=hN(wfB0c^{@COeI@CTqq^Jy?%wZ4&quSr}xaS;21Yd2=m8+)} ztF9RSXRDh^@K=>S#z4$3lguK=1-$_jzt*%VaxLQ)gVq{%F7ZrnT{%YNbLkOQf&o-E z<6laTr=Bs8rqFkh{4It5F|-`^9IcXB%9vWu2Q0df@D!K6pd$n-dO4k68`qW5HUYPY zRYlEwv-eXb>*lk2<%Z+-SoSBBnXBST4$7qwzMK8ESohN8XHb!}^u6=4O#hlSR9zv*(`7KxRHEe<>TAWtvWM&us zu?|*O{=$35TE0eytU1lYszTeeoL9fNUqM>$v2|G+L0XaG^1%{U0wT%0Bj2U0yI}`TyPVQR<8igmd;<^5vs`PwzN1*RmpFJ%v3FUnrEOK*n6MJ zck5~Y{6)i_LO*IHz{e55V=`U~8xWA?J=uNu^I-Sh@W-AXNQZzJ`k}m7(-Z0(6zTG> z;nfEZ`i~S3=9y|qHAWnt$|F=sgSPAC1)4es9U;ZL%S|6vBrW}T2FUDe%-^5@W(x6J zS=dv5(WvUhPZ)UJ)C{wF2pi030$}UAeJox1ZxFQA|1ok)lk4Le;q{aJFq_y?yhO&UOoZX2ika z#K!C;>Ais8*b19_WQTu_Prm=>e&!kO18n^mA$~6jx`d2O`3YF=;tNrZQ{-OX?DZ!> zw6J0IW~qrWzw%;4b_sm5KE?W= z2*f>zMf$Vwk>0eC$aK{?)r%uflZKqe zj=xhMvYgQ7^Dt<^C%xX2|81=#vWs|%4^d9m@ooGVgLp1?Rdpc4A2xAT{txw)ik9N9 zx`{v!t$tBau}6mf**!V`Q(6Ig+fi6jXCB$@<%zIuQzXs_FpxXHomdhQ5_z2hD;Yqt2$uxqUw zT_N!1aDS^t?2NS1DmUTjjHP_w2b=Dg#s?dj-Ho9YF3?A<#qGyY z{R%|espj+4J4T9`&FIzf}7Eef` zhl2d~m-sw*uLr*J>VK&LVfDa9D@`7iiZcQ4k>~6gYz$p9D}HSF9V1cz1?|s-e%MOYU;fKswcfyrU|Q`)rHA<~vV$jXJ-yu* z2F5ahQr3w%`|%R!x`sE{Toa^O(6X^6Ya7~+u~r+Yy$qyP=|DeeF8Lik>5|xc-=za1 z^HcTHjp~XkBj-=o$r{~fDH$ok8Hz*Bn24jl7d|Y?xhH#dw>0A=U>{0PU%gOHk15{& z;$?qUV?Y~;#1pyTL$R*crV_Km0cw(sIRJsAuch(f<3Aif5+$&XImdDT zwJSsP-kF@)RQA5Oa7&3*t7}q5pN^Ma{~lBGcDg#Ccv^}h)U|1X>G|mknyMXT^G&}; z_JxbjTSC1;i)^*3BHX?gMSKhzI-^aP8#s)fbOvb9NUHsCpbnz&Q0 z3fbt2(lq67)!$9YB2bqu*J1kzP1)-#3DjjjvSy|4oqMs{=l>KT!U*q>ZOCr(Cbl<0 z(>ndB9#kW;C?tsPTpS?rySA3NE%@RxxT|+$!IGeVIq?GDGe26Dk+hSv5-*BYs7~T9 z0dD}{9eTHbLt&uRlO{o@*_z2{h~%CR%m;>^#i&rG8sE_mRq z(qd%1f=n;f(m&PWWCtPHtBe=^WLuue42+ zK3wsns#si3?xYmclD3ZhICC1GW?@}_VFi2B?=iQxLb94lZ+&vycGMEdyUY_W2pR7X z=GDDsXOcYnUoOK-0MMbz$i)Z%wHGs6r8wZ?al#bFVt!9}$?JFGKMAZTZ2&CjnC?_O zqv)+sDeK-60b<1|fMEA<^vA8!9VkP29a{!oVfVee7-8St8B0|P$h;w&7iS0E>ZK(s zXXOFl(CW){Sas3&WFG~=Rp6fYz^=%!q{J$L1+T$HHSB#2<7RrGdEM2%MfHaDWL)R% z9~XDxG4#Gi@m8c?#0m^Aawk-?lcu%;ob1*^)%Xd8xhPjBKR;q^2)R9pMO`m*SK#&@ zS%cUq|c3nl$@XzEG2N zHbV8({-ylC`!C^yOH(3R{A0-Bp*@8a1)l_byFkd=aprpeI(BxSRne>;*bu-(5FKy! zl0YVwo}MB01^o+x{Lx7{86&S~RGWXHcCWrmE}G>jYEPyuqV@P5&zwBC@)NW$$#MsJRtnOn0dB z^-R}m|HWO^F-}x%ZYw^2Xo)j%J;!sV{r-H{$aN_&7Tth1{d&hb9k1*u zs%3*xs9~waG5g!~IFkadsxi(J@!l!$o(q#bU3zZ=p^xJ&R5N|EKi$o!lZMtw)HV*K zN!=S+gdCx$jwwbHYRYzK^*1u^XUAIUkrS&&*?6m$ON^ei9S*ydheluySoL~uZdN@n1wDW zl6YdT_Q@}p@Ife7Il14=Lq`CzpRBwgD?rv7t%lsU0W5VvCE(dwNPSQ&;Jj$_q3j%B z-uxTFu@ty9y46!ho$@i=SoXulxZ{UkO*?}#Fix2gujn1Kh%bv|JampLgwSVdhWiVV z5m5(Y>DO=2@wSD#MpL`x}pDRSN(wiVEJ?Oc9lYqWzP>!J4cS5x8%{? zKJ3WfyxKxZJ_nCHI=kbJpFH~59_0OCm5&&1H&nv=bjog^WDIb}J$5Adk8fl(g0b2^ zKJC%A;Ku6YeHidO{M4L6EavBfRlR(4U$mQi2VxiONgPUSHzM=Vmz@!Tln`t(TcFp! zI(Q8|9yrGN5a@Tj?LjlF1$zKnf==nQnB!~xNa?$c)m56+NgB6h2d*}ctBNNFe=jVL z_N{qNN&_f7pH`qR3X!SGnZ|hmGSI5>N#6xgg>SZ_Ckxjq9~mA_E8kvEeO3l=)c{jeTi}uivRqT{{|K+0#+~bJx$j8v6m68JK*&mSsA6e!&B5{LOatKLB8g z1BwR3a)9QhP{N@Og}l`>y)GfQ{lc&_M~*BL3eqnCF}Qlq7YPU6b zq}e;3C(^I|z};Vu%mu8{TDi~~xI!+|j!PH0H=(tCZQ*6gv6I;W(ck$#Gwnq}h=l!p zI|aelI}5?3^&gX*BQTDx*F}&jF9o-YOWmzxvAHDRjChZBVtHb<30@Eg$MSKwcL4$N zEo{t?O^X)c1s_Wq&MK;VZdXWKOLK>a@x-o{HqX_aB8qjh*G|wt506LYImc5HR+qRP zS8du189`PwHQ9GOuY038s0>rhnrbHnUSM)Zc6d(0P7721?H?Vj3X z*S_K5770t1PTjW6X~!)g2Nv^Px1s^p^OqDDv|NgbPsRjKvh>nHK(O+^q>+3pS#%KJ zt(ezhTR;H-zI|5gwIXLTIphowct{`gn!vzrsBX<`5F6qh{NQlmHunDW0RcNw7W_P7 zH*jz5XFC)^WwiM3vTo zgErWLARpPEo|iLdEAF$Yu#1JgiqsN`Zt_a&xt7YA2gQE>ODNt=EJgq>yT1HJ5hLr> z=mCTcW*c9uyGh5R56QT)%2QXD-xa$J`$v6p8|tHohB1lqXXAyQ3Z-sHN$Lq09#4j_ zd!Wp*t^Fdmth6-d>Od*|T!!+a2h9uzKdt7Fx=}i3ETw!*@sLHZ{ZcFaIGy^mqJKR=COwZ|qdnLb2yEjQQ3I201yRrmtsmVr+J< zW02gl%3YXmK$CQ$vRe8KnJbegOUI7dqTl1CYkm+98C6aM{-9hI^=w!O3hAJ%R=yoC zeSarmc;BwwV-7RlsK9$@#UfWRUV*nz{5 z0O`wA)0(_30SC+qd%R>lVPM+V8oXKJJ%HtPv~!$ef$1{$jQ&}h=l3R$Z%Q|p*rP5; z)n}|w(V+a6;d9~qNO-Q-+o`aUG!=9D*T+teOkWS?-Gyl=M3IKDf#gE@6`gH2Z59c< zxM)Xv(t|BRI)pXnG}YV@H`&8z%OHoIU=h(c>5Gs{m73%TuY8>3T+X}#v^g@aM(f0~ z`m~|f(N|wFRg4U^?(TvFt^Q$ciD*o#jvi!aD_wVWAUbGeLB!gj69{nrMBrt2k5D>k zL(_q81xU*VYcuWIA$IKE&RqFvNDx@g#*i%BJJ$?@iN6s&J8m zYA>0*wVNUX%a0@kYYx5o8LjsA|Fv}0VNHJTdt)#~$`2@ADno^Vgmha-2pGUdOLvWs z7!0tGlx|Q2MPS6}F&H8(Asr*6CJY8rqxnt0zy0}M*RJb5=Y8Tn&wW47X?*{C#jEZD z&#;P)xGNnl9K@Qhw>r4`)JjS#pZ;l;I3neDy#4Ih7U)}el!<~E6@u!Jo zR`gVu?pybZ@f0!cT%vD^zohZy@xoqo@t`$}eSqzsDyaY=t<1%k1?fL3-i@jPv`2l> z@x?5={QCs2Bf?+**(ogo?DHgsu7Q2QC6*D8?MhlHMik8BYS1A z_N)jX=r!OcUPi0|Kk`Z4L^AA2u=|-vqM|67b)fQmEn}xX2->pN;NOOy+BL(*Y3%SN z+xE>(?rIi)rRUrf`9P4rajrFeUmSB9=noe=VIH?OpI+J6E*Y9)*vw?Kdi>OQ%#3K# z7&oX|5=tJSjf`Xw?-yGRJeY`;x|!iV!r`=CoI)=+(A*DL3u-IA6Rw>DfB$%DaX4DD z{l@J5iAD`{^i+Nlf_SQ-zB{&f)q-mLmeknLEXl=KF5)#U4G_;Z`tG3@VL105Ufkwr znWD3t%9@7oz&sL8RF#V&t z4n=Stzr&-PnOB|O$}I-Xdw#cwj`}Grozcg2*$!Pi5-Q&$;^|@+C^M-9&+0nbRNEVe*}VE8!l)xMm@O!AYDrhqJQg`F7aS``^2t@216f+W`oCF zKTn4}31YUkQ6Z(4#f{0xl=sTG0n2T5z7L)Y9$MlYuz#@o^Du+vllp+~wzB$HvBMvg zgy+c74i1sTH{iFASZD#?=+v%1C+LV*F9aJIv#*BK=b8Dl$79E$gc?i|YK)rA#xj$A zR**N=%dC5U>tx-)x*njxfZ0aA*&C z?%zm_$x5kuc!0bg6XTc`5YKiy+t-RGWyI;?jlLwEyd`tkl@1%&{aEuT<3AW#K`?V_ z$(N~a3{4%F2z{EqG%f?U3iwg&eobNMf=@OjaLHl~_6H}dC={HkT*$)Jg@qnQE$!x%Mpzbyn>dc2H3Tz^;I#Irg3uWwz~u z4vX5KieaNZAEu4KG4u9e*Y+1Q=B^uixi?N2m99AyzkJ?%e=P5!e9zl8YGZ9wXZ3Kz zWhwJW5Foe8uI-rFx&GFnia7!v(^`#8{*YcRb7lHdJh8d&-AV&lQwe2g=h9(zrw!TA zUWcyPh7|y1(|UcaM?TaNMB<_lXER=*vcK|XN=j8cm13ttEOZjk9s0RB-bdh{d#|ut z-HJbYEvIe_g=E@@4?&uq9kOomNz&U!-Z3((z|WkxEt++l$pgz(zfq=A_^;kP+PT>+ z_w!$EhEz&3H)zof5O@IyH~$J@3gjQXw-hQS8S}ob=tyZ4p9S`Dy2%`qZ?M88&!07SDg)oB-R}-wv z<&##y|45YQg(>%VNg`0!WG4es5yn(Z5C;HJLcjO3N8;{( zsBNTssc%JN-M-}U1o{e^;Z!6u-o5x_wR@ia&@2KXF&0YaCB^d;u-R?GP5;4&G^IUH zGeEO1yos1~lh{8TZ*XQinwoc?IzWkN#0Hhg5@_+UC%!a>zN##M*Y^>Zjf-Oev$G+E zNf`shI9Slo9TF}bi>_?6Oy}d)&AfC`bG(DF9Q2WIkWR5+y1HQLHRC6E=PZ9UbPzE{ zNH#g%%*<{qD;ONRip&VPqvpRkCo%6ECKeZ|aB$kQ%IFt{5i+rY@mA#elV@^IVh_*} z3)-&@sk<;{N+tMltS=-s0lb3ktWaoTUi;iEyFoxK?13FdNO;jM9jqtl?2gBj!X_AF zS^ZiJEY5XaUsGguolq0D(dMcOGm9_N1D3MA1X@&lWa_qfSui;J{=7)Z(slZrjO0Bp zyrl8c=?v_Jbd!vEHj^NnL&F#<@w|1f41Xw9$ZV6c>{cL-R4OV) z+Q7jWvYgHPHvHFIKVymyhmpU8_-lQvys!;jHW5RGvhxVajnVO@pVM`zu$CSg3wDa6 zQ}V`L>L;DGwSK4hZGU>Yz?jqV0r>yQIp?xC0E3T)?c?)x1s93GxBS?{gqAqf z!{%sRFFL6e7XdRCtPgTlF!gqR!~ONKUeG!k|2bJ}kKEfm)q6jUsB&q^X2APFk;z+S zLzb<8K4M>#ye0ALLg-W=7G=(3$M*y-K#V0##lF+9hb8u(!vk`aJXmIR`f+9X3)KQJ z<=`)+CVtNGWvY7!yQCA}=%Zej{Q$TXHikODSxxc->w4q6>KZ;(s`_j_PIvx5+?yxG z_1(w_?MT33gqt0Wq;Z0JFIng+{)6J{#1fBM5w_DoUuNr(ln@;WU(bsh zQe(EH6^nMIwHahB+}A^|Tx_;gaYdj`sdy+suI~%98Twc7?1Q6z`-UgIVX$~k=1MtQ ziVd6~rgPp_1Uq_k=dIUe;nPI7zkcdv8hykX+!dH*_tsja8Akjw{XqI>9!2ftasq{Ze`@K&LoU(>gPM%v zTSV4PoV5DC>w%GCe~eumIszZ4vZO9Kp?Xf_FH5!#sVuRob>HSR~A1Uc|o6>}>tb@h;XKF-{gsInNL&V*V+Jxb+FEm(UA%eH`sV5E z=pife-DyV%C7CT3YY?@9+*&yj2t5?KcW<^fMi&aOqFj9tpe0OC=HqRzpnT4qO0oQ# zR&M1}Awvb@Ygn?-s1}8wz;(&9_J`fux;XFaq+i1*qmQ2#cJ)5D#I*d(4gx#(K1yT^ zT+=5R3iC}q00)6}%|iTduIK5kVnj)wYUoi}t4hKKku?Fs^QbN>reV$K)qJXk*Tk7g zy~VTck(vjkRJs2S^hUvMpwEXwRU4l&Pq-Om#Dvwr@Z7HVt;x@4=_FtoMx>ysNO!PL z`UTWnHz#vrkbrfT`bG)JByJU40yJtnkLja>T?UyCjVlg>@v!Zqjf&ab>ZT3#r+(H* z=a93*rRs;xz!`VlOx2o4dSY1Nsg0w~`}?EWLBKA}q1nUih;uCYCG|v5$OgfK{6knW z`PUhBz?%TT)K~83^<@sBsMeT*SMFJ^bHP3eHSYU`FA=0qeUmF#dX!wi!}4J4xwFsi zk9LpAZ+I%~PG4H&q=xLD752NS>Gj(Nga2WY5NeDTRnUg^@C54qHP zI9(+cVLqQj5VY!CIbn)*y{C7Pwi}cn{GS~zmx@_UQCaFNuV4$0 z+#URL;Ap=%ys7J~{Ossghs~GjgHXBGpW^*xCSQaHoJ~1Pl~J90?=Cgp1GGSknY9}a zo+JP!u}tBJ0me=kqW5FwWjW4nTaEwXlz=7;5>x%inB;NSkoKG0FE}4|p^LJ9u)5B* zUT?W0es?LxN+%Ao!-Vk)(#5`zp8RARTKTG zY-A&*|D(oY6iQtyZztU&!G(IXa9fJ4wRY%*fx#F!JF;BmdZG`4 zG%nH+5oCAmd2Cj(aJsd>Bj>I| zvJ@fF&wztGfL6PHHgp`vAiBRJeSKwlQbCyRv%{*wj{w47Io?X(S85R=6?pF9ZXAE~ zK5-+rAx&Qb+B7g5E3GagxZpn4v0Qi+v-#}x7Vp{WE{SueoSEm|Cz4xKYT!lj@`b$l z{^rxz?MbV;HktMxhewubJTR^oT%JG&cNgkhA-}3B_u{mRY3R~uOCufc=v}C}*`$w? zphZJkW2u=ml0!~R)7LzSyo+Tf=x7 z=$mK>{NX_Ha<`QB(b_{Zz7}`!VjFM#_bei}gksB|lXEN!Cc+8JbWmLSY8I_g0JmiOm60fZEE0uJ1Tgo zfRxY^2}I5{o=+vb=bDA-xaasKp-cZe#tu`U3W3N;I_G%3liD? z$mEX!FnY9@KeeJ;BHI2r4$0_qD3a)g^=$QLvRgSCrvDWF&Fn7k3sC>tM3vwdW|}AH zeUsdDfP`dcP&)?XQllytUO6&G`{tBBI{b-N8bOU?rXp9!7cgdZG}rPR^ILoJ_DRkM z(e9y+2*Z=A5dHdCL%*tpDC6Fb$|tj%YGKzO?w#z>ZR+u;8&k>~^r%;eMfkdHC?ep^ zCvMh^YYj~fE?0+@0zA>&8J8W<2zEoGvs{BgSWR|xK!*Rgbf_G^3fHvlc0-5+5^_F zyR_W5sUVbv{fsDz?M7IFi3NkI=ND10qhLSKPntXqL9?^If70{4KZ-+Niq?&2t}qO)07jvO4*J}H!E|37kZB65@~jDi(9gWjnm%p9L))zfvQ^` zm&60%B_}p1sdH6(={ulm^`v5-JD($4v&?)5j(p(R!zc8#Eu|scj!ij}beBYRf{Jw7 zdzZhzY%-h8VV^bA>+&6JGd*f>2o;^8vV=;9XGO|Ju(AL0bHoRPr2=+86(~O^*v6hc zwF&+cP#`wkYV_Nbnrvrts3nQ#ksa3eCCbNzrz&iCT?QNlzqQFr{m^SB0uq(@FUoSx z`#Ee%JDC4^=eIE@2-c$g4%fY!K6+c8W)Yp*6Flx=pkx9Vo^TDJ5qUe~t6OCI3_OwW zElGRKe179v{?-mMt!E#}w-_YaV&SK-dc4^+w9ikZj7c8;muQ7RCL)_Q@>nGfru|2d zpvUg@wB8v?GdC z#1A9O&tu~h$`WaNC0DX4O_~EaFJ|T_qQ^>lSU^&{WB=7En)lPvcltCgREj&R$H)$zOj= z?xO+|53`ln6dg9MU~bypdSQnre4uNfjJM6^OeSIE{0@D6xF`HsQvK~0c3MWl6{GT_ zdAH_YQ@P(3V-tV#o;)|b)$aQPD0i|6cEB##lnUL{TPdCXzJ1>NklW%vFS&&41Csdp z1Sy+;7WVrXd0q=Pe)thclp;p)+QX|{|pOmuNt6i4jorv{-ZR~0B z3dHxw1Wcy7&xSPEkyxLv|nBAPkT~_<$buJXc{+_vd#J<*?l(Vbi^Ouqh1< zp%#jyZlY0d<_%V6=G+20Smyue+`mm^Mj!&^d89<=MWxQK36d`00x-1)AYgI&LeEUN zochX|wrIBO$x^DE8{hBbS23?7QiXU@M^~44HzC^%pK0(?%!X@0-^2ltbt6t^X1W!T zx8k|IK0f6$8>+4sq>wx4UkMKYGLRwmu)Cm1Qy^kB!ARY%hSo?dWK`AbgCGazbm*oa zI#&`ClIkQsbuEnTZH!Up5BrUpP+sWq# z2HY@@9ns*LV;;|-eeUMNq<*1ELm*1}e#+vCe7ST(L*Z0e0}x8?Ey*T0;M9cS>Xl91 zgQ~b4Cp_19U)%8B7MfPWm_#&k_1BSEGad!?hz*q=udvZ)M)WVH~(fQ~uV?==pD6nlx6QblD!RcDjAgwQo#mCW7 zBGc{bEQ`eq%(dCh)6zbTzYMxWX<#(ki3COV8@IwL7-jIV|Il0B_sY zd~!p)x3*4xmj27>LY&&Xbk22JD~(d3O1P~5a?0g>J>@8QKfp+V>~>?LreH$Uj$)*m z(VJ}(o>rQ}{t0OYkntF!L9V*-lP`p-dp!^pY*zQ_7Km$+t54AGo_}x`0Oa ztA+p8S#0#TkF()6&?H3_)&2@0{`xlbyZ=<+PiO$W)QTcgg1EEBYO;I5d{0ZQtr}wU z6I%7$dpDI)EYKU}MSk&aS0_MU7Zi$aBEyfD2LD{z+(z5MJbL=GZ0-7Ej%kDEo~^kG z`#7ubZzV-lN^S606@<~;a1iDP=)6{t=fEdyS=Z-Xep^U4F3o*iLdfFDEH!i)V$_w| zk#cfG)5i{O?Brf+gmL=pHL`yLi)7=xPqn}B`>h|<0-HLd(xW~DMmt%Tm5BTPmRqL> z#|KdykN1Ro#8a2v=1%`Q@-uR}o2X$nRlSi~wVHE(MzX&Lage*w#B%X;b|W-vrYsYK z-u`=j5<%Xi+O~Fq4jbUV+VeU5YRJQM8L1EADGK#N)@p2(SM|IV`$Ke`-B@*f$mgAI z3IhGiL9pw?;pI&hv7n~7TxEvMC>wq?W`;eIWk|aDXjBP8gss7QB-1bxayu219%1F{ zW-yhYR`E=6=0tmk_9a}6uj6A%SAHE&<|T=Mcy_C!BM4qqmy$tR@D}Ayz2_}J6DCCipV2FInwYS-bj$MVG{QheU2i?A`U&;YBC;qXi zRdCi#YhOBNx0}iSpRL}wNEpz(tpC(KMC=FQAIRI4TF0<&PbT=|=zH8vYyFy-_pmhx z07vcf6wP@0O#o1oScFiOnM2H?K|a&x2)Aft4L5Kt)6xemO~g9l3|y9C{<=0=_Bf5Cw^(U7_)Re}-nAg|Gao&+ksbw_4%C4f-IE}9^2 zF2^9CAo~QZRR>T{y`5=PRj~b|yaR5?Ua%DYE|aHvd+^aXu@CfXuJ`okq=NRH8-hOb zvB$E2K=R=y=w=Zb`W-oe7Y8Oo8qa=U`U^sB57w7VN^0u^pR=!wwmxmV^zxHpBcbH_7Mf-dUI+*bvK4{kzQT{+iwP1d)o_PHyN8) z&YoFLgQRnM@(s91&2`Yfl{T$v$b$G0Fz@eAoFwFpUr`El!!Ch3V(QHx9@8=hHOU<>@}+WSSunfrF?&ewb13 zQnDJ+gz3(sD%3+FR`vxp;B#qcPj5QRY)I^&#Jh~F$p=H?JkT5IZ>9N?jb^>P)w1=X6Oy25!#gJ|n#8rJ~T0)l;T?oy_;7rv1AwVBK# zD(!iF)Sx-ey=ldQ5gL|%=n!4D4f(`fkW*4l2w@SZRF>QKQ+;bu`OU==KV`MQIj&f$ zSMm`ZM4Zt`x`G~;v@&G^%G3Xt7-BXS0CM%K1$H&&0m)}Gaaq| z>yKpU@O1I>$Z3uYg8(fzMnW03{!$Rs7#;Dq$aT5WLK2{umPb-1$04)Vm#!7ewAX3y5{0 zY$TGLqsE?^n`!cZv`1%td~wwh}W;ugr#rKLw0pq^_{K4}>0bt>5%A?hY|p zHq+<8WBu7^g}JJ5pA1%8svG|0YpUL(p6aMU*8o5Qv{d?YIbg=42fZ^%`(B48&wqn& z?GmcK=k;Y7f<dT$+(?SB`q> z%f~Bvj8c4{P4&ZwH!PqFnblh%*gjhKRe(CAtlLE-;=XF?Z{RoN0~q^e9i@njD=@{y z+1@)HH^alj>gh1A?I*aDm}uaY$)w5Vko}7t{cvv$hy?jVQWBkVt4d%Xzc5?p(V_=s zW8$rx-v(;PxAj}lEO(87%~f@t0tok7KYX@2Qub+wB!5Gy!x!^*PBV&K_#LUQ0`AAb zm5=78=1VMJw}t$u`KOwonu0Uc5Y}UC$L-)Y>lvV|6x|{?_w3oBDW2Kjc_gXy&C~@6 zU>2r9Jwg%%T6L9L6^=&Q*Y&e+A@i-io)Q(F&v zjE*|r^3rFyzuC>o+VEJ4W8>GEm+DpgIy1u*ic#*6QZ0sAj~cQ81A^P9y_NdJQfAUa zw3`a}mW8>*MJPqnxDJH(qZDTpW8=^x-2Z>!DvQ6Qj=1oyv38~-b((@n$ zSSww%8{m#E#CTHmh+ISSrov(kvtFr=nDyoJWN;kfGv=BjIIJ@49m-EVd`ZhZ2BmV8 z52yH><xRVh#f)w!gpt*F!}VidyHjob#U zuGA^kWT~p3V0n$Gyp!Jdd^e_UvPf(=H+e*;r><~aysdz@B+ljBzc5B!sdyok2$;Ds ztqI|x5wv>cn;PU=0&Jk+!XL~pkvy;2RhV^eVYRGpYh3+85W-Wezp^|8iLY7}agEmd z6f9lHA{Fkyr?Fy z%I(*vUAfa@vT=)|b=Ms`TA}BV@_flHNWK9acW@m=Ik%F@@7lcS z?;QZ?mtliq@OV4jJ|SBIPGv!%2OTJU=@#5{tV?>dDWELm^t2-vcw#n<;1W(`D%l_( zD38@^du{xEY~7QF7!BSS5}#T4SJt88*+^=@G#1(1Z`GFr>D?HO%+5;~NveMQ5#rJ> zu5}D8w!G7O9%*&?p}RJ?I!1~)(U*B&`$@8UIl&XoA6606)eOIpO8YSRx@=9VEMQo$ znqzDlX8$=tpY2>M;*n$rt@Anvn-AfDMu>E^>M{cEcwSCVJ%i~rEGb)&Eyk+tzSR@w zCUbzWCgDh$%#0^g!zz% z(pUDC(~ES7i4;7h-U|b{ePq*;nD_rd%qQe;wSZo*LaI{OdxWm0Mu7unT}oGdMrn-! z)ItuT?=w6DN|s*;Ibq6UtF+Sue^>VwS4|pu!b>I$-c$eYo-AIqD5?^!tGP*a|A~Zq zGPSE!u7~t^cu?4<==Qw`zquFtzaOKbT@H&>^OBP}&c|5;eb6lHtJPWhL3t_f8||- zVTI+HZseSf>Y3%U&D75vDywfjsC^WAt~^9J`+a>Xr->2a;mi&qf;u@NP;qn&=NYgp ztCCVsstk%uQZBAqjUDxTlCn_Mb<%3&Ksi6&V(if-ZmzpP`CscC6)Y_6oW-s { + if (warning.code === 'UNRESOLVED_IMPORT') return + }, + plugins: [typescript()], +} diff --git a/starters/apps/base-ts-gmail-memory/src/app.ts b/starters/apps/base-ts-gmail-memory/src/app.ts new file mode 100644 index 000000000..1f60c6788 --- /dev/null +++ b/starters/apps/base-ts-gmail-memory/src/app.ts @@ -0,0 +1,130 @@ +import { join } from 'path' +import { createBot, createProvider, createFlow, addKeyword, utils } from '@builderbot/bot' +import { MemoryDB as Database } from '@builderbot/bot' +import { GmailProvider as Provider } from '@builderbot/provider-gmail' + +const PORT = process.env.PORT ?? 3008 + +const discordFlow = addKeyword('doc').addAnswer( + ['You can see the documentation here', '📄 https://builderbot.app/docs \n', 'Do you want to continue? *yes*'].join( + '\n' + ), + { capture: true }, + async (ctx, { gotoFlow, flowDynamic }) => { + if (ctx.body.toLocaleLowerCase().includes('yes')) { + return gotoFlow(registerFlow) + } + await flowDynamic('Thanks!') + return + } +) + +const welcomeFlow = addKeyword(['hi', 'hello', 'hola']) + .addAnswer(`🙌 Hello welcome to this *Chatbot*`) + .addAnswer( + [ + 'I share with you the following links of interest about the project', + '👉 *doc* to view the documentation', + ].join('\n'), + { delay: 800, capture: true }, + async (ctx, { fallBack }) => { + if (!ctx.body.toLocaleLowerCase().includes('doc')) { + return fallBack('You should type *doc*') + } + return + }, + [discordFlow] + ) + +const registerFlow = addKeyword(utils.setEvent('REGISTER_FLOW')) + .addAnswer(`What is your name?`, { capture: true }, async (ctx, { state }) => { + await state.update({ name: ctx.body }) + }) + .addAnswer('What is your age?', { capture: true }, async (ctx, { state }) => { + await state.update({ age: ctx.body }) + }) + .addAction(async (_, { flowDynamic, state }) => { + await flowDynamic(`${state.get('name')}, thanks for your information!: Your age: ${state.get('age')}`) + }) + +const fullSamplesFlow = addKeyword(['samples', utils.setEvent('SAMPLES')]) + .addAnswer(`💪 I'll send you a lot files...`) + .addAnswer(`Send image from Local`, { media: join(process.cwd(), 'assets', 'sample.png') }) + .addAnswer(`Send video from URL`, { + media: 'https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExYTJ0ZGdjd2syeXAwMjQ4aWdkcW04OWlqcXI3Ynh1ODkwZ25zZWZ1dCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/LCohAb657pSdHv0Q5h/giphy.mp4', + }) + .addAnswer(`Send audio from URL`, { media: 'https://cdn.freesound.org/previews/728/728142_11861866-lq.mp3' }) + .addAnswer(`Send file from URL`, { + media: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf', + }) + +const main = async () => { + const adapterFlow = createFlow([welcomeFlow, registerFlow, fullSamplesFlow]) + const adapterProvider = createProvider(Provider, { + email: 'YOUR_EMAIL@gmail.com', + oauth2: { + clientId: 'YOUR_CLIENT_ID', + clientSecret: 'YOUR_CLIENT_SECRET', + refreshToken: 'YOUR_REFRESH_TOKEN' + } +}) + const adapterDB = new Database() + + const { handleCtx, httpServer } = await createBot({ + flow: adapterFlow, + provider: adapterProvider, + database: adapterDB, + }) + + adapterProvider.server.post( + '/v1/messages', + handleCtx(async (bot, req, res) => { + const { number, message, urlMedia } = req.body + await bot.sendMessage(number, message, { media: urlMedia ?? null }) + return res.end('sended') + }) + ) + + adapterProvider.server.post( + '/v1/register', + handleCtx(async (bot, req, res) => { + const { number, name } = req.body + await bot.dispatch('REGISTER_FLOW', { from: number, name }) + return res.end('trigger') + }) + ) + + adapterProvider.server.post( + '/v1/samples', + handleCtx(async (bot, req, res) => { + const { number, name } = req.body + await bot.dispatch('SAMPLES', { from: number, name }) + return res.end('trigger') + }) + ) + + adapterProvider.server.post( + '/v1/blacklist', + handleCtx(async (bot, req, res) => { + const { number, intent } = req.body + if (intent === 'remove') bot.blacklist.remove(number) + if (intent === 'add') bot.blacklist.add(number) + + res.writeHead(200, { 'Content-Type': 'application/json' }) + return res.end(JSON.stringify({ status: 'ok', number, intent })) + }) + ) + + adapterProvider.server.get( + '/v1/blacklist/list', + handleCtx(async (bot, req, res) => { + const blacklist = bot.blacklist.getList() + res.writeHead(200, { 'Content-Type': 'application/json' }) + return res.end(JSON.stringify({ status: 'ok', blacklist })) + }) + ) + + httpServer(+PORT) +} + +main() diff --git a/starters/apps/base-ts-gmail-memory/tsconfig.json b/starters/apps/base-ts-gmail-memory/tsconfig.json new file mode 100644 index 000000000..dfa5d961e --- /dev/null +++ b/starters/apps/base-ts-gmail-memory/tsconfig.json @@ -0,0 +1,34 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ES2022", + "declaration": false, + "declarationMap": false, + "moduleResolution": "node", + "removeComments": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "allowSyntheticDefaultImports": true, + "sourceMap": false, + "outDir": "./dist", + "baseUrl": "./", + "rootDir": "./", + "incremental": true, + "skipLibCheck": true, + "paths": { + "~/*": ["./src/*"] + } + }, + "include": [ + "**/*.js", + "**/*.ts" + ], + "exclude": [ + "node_modules", + "dist", + "**/*.test.ts", + "**/*.spec.ts", + "**e2e**", + "**mock**" + ] +} \ No newline at end of file diff --git a/starters/apps/base-ts-gmail-mongo/.dockerignore b/starters/apps/base-ts-gmail-mongo/.dockerignore new file mode 100644 index 000000000..3c5abc495 --- /dev/null +++ b/starters/apps/base-ts-gmail-mongo/.dockerignore @@ -0,0 +1,16 @@ +dist/* +node_modules +.env +.pnpm-store +*_sessions +*tokens +.wwebjs* + +.git +.gitignore +Dockerfile* +npm-debug.log* +pnpm-debug.log* +tests +docs +*.md diff --git a/starters/apps/base-ts-gmail-mongo/Dockerfile b/starters/apps/base-ts-gmail-mongo/Dockerfile new file mode 100644 index 000000000..5cc4e424e --- /dev/null +++ b/starters/apps/base-ts-gmail-mongo/Dockerfile @@ -0,0 +1,40 @@ +# Image size ~ 400MB +FROM node:21-alpine3.18 as builder + +WORKDIR /app + +RUN corepack enable && corepack prepare pnpm@latest --activate +ENV PNPM_HOME=/usr/local/bin + +COPY . . + +COPY package*.json *-lock.yaml ./ + +RUN apk add --no-cache --virtual .gyp \ + python3 \ + make \ + g++ \ + && apk add --no-cache git \ + && pnpm install && pnpm run build \ + && apk del .gyp + +FROM node:21-alpine3.18 as deploy + +WORKDIR /app + +ARG PORT +ENV PORT $PORT +EXPOSE $PORT + +COPY --from=builder /app/assets ./assets +COPY --from=builder /app/dist ./dist +COPY --from=builder /app/*.json /app/*-lock.yaml ./ + +RUN corepack enable && corepack prepare pnpm@latest --activate +ENV PNPM_HOME=/usr/local/bin + +RUN npm cache clean --force && pnpm install --production --ignore-scripts \ + && addgroup -g 1001 -S nodejs && adduser -S -u 1001 nodejs \ + && rm -rf $PNPM_HOME/.npm $PNPM_HOME/.node-gyp + +CMD ["npm", "start"] diff --git a/starters/apps/base-ts-gmail-mongo/README.md b/starters/apps/base-ts-gmail-mongo/README.md new file mode 100644 index 000000000..ef1dd6c06 --- /dev/null +++ b/starters/apps/base-ts-gmail-mongo/README.md @@ -0,0 +1,44 @@ +

BuilderBot

+ +

+ + + +

+ + + + + + +

+ + +## Getting Started + +With this library, you can build automated conversation flows agnostic to the WhatsApp provider, set up automated responses for frequently asked questions, receive and respond to messages automatically, and track interactions with customers. Additionally, you can easily set up triggers to expand functionalities limitlessly. + +``` +npm create builderbot@latest +``` + + +## Documentation + +Visit [builderbot](https://builderbot.app/) to view the full documentation. + + +## Official Course + +If you want to discover all the functions and features offered by the library you can take the course. +[View Course](https://app.codigoencasa.com/courses/builderbot?refCode=LEIFER) + + +## Contact Us +- [💻 Discord](https://link.codigoencasa.com/DISCORD) +- [👌 𝕏 (Twitter)](https://twitter.com/leifermendez) \ No newline at end of file diff --git a/starters/apps/base-ts-gmail-mongo/_gitignore b/starters/apps/base-ts-gmail-mongo/_gitignore new file mode 100644 index 000000000..b32acec90 --- /dev/null +++ b/starters/apps/base-ts-gmail-mongo/_gitignore @@ -0,0 +1,10 @@ +dist/* +node_modules +.env +.pnpm-store +*_sessions +*tokens +.wwebjs* + +*.log +*qr.png \ No newline at end of file diff --git a/starters/apps/base-ts-gmail-mongo/assets/sample.png b/starters/apps/base-ts-gmail-mongo/assets/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..de27372044c8bca6f9701b4777765a4a5dcb3d14 GIT binary patch literal 113405 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 z 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 { + if (warning.code === 'UNRESOLVED_IMPORT') return + }, + plugins: [typescript()], +} diff --git a/starters/apps/base-ts-gmail-mongo/src/app.ts b/starters/apps/base-ts-gmail-mongo/src/app.ts new file mode 100644 index 000000000..240c43029 --- /dev/null +++ b/starters/apps/base-ts-gmail-mongo/src/app.ts @@ -0,0 +1,133 @@ +import { join } from 'path' +import { createBot, createProvider, createFlow, addKeyword, utils } from '@builderbot/bot' +import { MongoAdapter as Database } from '@builderbot/database-mongo' +import { GmailProvider as Provider } from '@builderbot/provider-gmail' + +const PORT = process.env.PORT ?? 3008 + +const discordFlow = addKeyword('doc').addAnswer( + ['You can see the documentation here', '📄 https://builderbot.app/docs \n', 'Do you want to continue? *yes*'].join( + '\n' + ), + { capture: true }, + async (ctx, { gotoFlow, flowDynamic }) => { + if (ctx.body.toLocaleLowerCase().includes('yes')) { + return gotoFlow(registerFlow) + } + await flowDynamic('Thanks!') + return + } +) + +const welcomeFlow = addKeyword(['hi', 'hello', 'hola']) + .addAnswer(`🙌 Hello welcome to this *Chatbot*`) + .addAnswer( + [ + 'I share with you the following links of interest about the project', + '👉 *doc* to view the documentation', + ].join('\n'), + { delay: 800, capture: true }, + async (ctx, { fallBack }) => { + if (!ctx.body.toLocaleLowerCase().includes('doc')) { + return fallBack('You should type *doc*') + } + return + }, + [discordFlow] + ) + +const registerFlow = addKeyword(utils.setEvent('REGISTER_FLOW')) + .addAnswer(`What is your name?`, { capture: true }, async (ctx, { state }) => { + await state.update({ name: ctx.body }) + }) + .addAnswer('What is your age?', { capture: true }, async (ctx, { state }) => { + await state.update({ age: ctx.body }) + }) + .addAction(async (_, { flowDynamic, state }) => { + await flowDynamic(`${state.get('name')}, thanks for your information!: Your age: ${state.get('age')}`) + }) + +const fullSamplesFlow = addKeyword(['samples', utils.setEvent('SAMPLES')]) + .addAnswer(`💪 I'll send you a lot files...`) + .addAnswer(`Send image from Local`, { media: join(process.cwd(), 'assets', 'sample.png') }) + .addAnswer(`Send video from URL`, { + media: 'https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExYTJ0ZGdjd2syeXAwMjQ4aWdkcW04OWlqcXI3Ynh1ODkwZ25zZWZ1dCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/LCohAb657pSdHv0Q5h/giphy.mp4', + }) + .addAnswer(`Send audio from URL`, { media: 'https://cdn.freesound.org/previews/728/728142_11861866-lq.mp3' }) + .addAnswer(`Send file from URL`, { + media: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf', + }) + +const main = async () => { + const adapterFlow = createFlow([welcomeFlow, registerFlow, fullSamplesFlow]) + const adapterProvider = createProvider(Provider, { + email: 'YOUR_EMAIL@gmail.com', + oauth2: { + clientId: 'YOUR_CLIENT_ID', + clientSecret: 'YOUR_CLIENT_SECRET', + refreshToken: 'YOUR_REFRESH_TOKEN' + } +}) + const adapterDB = new Database({ + dbUri: process.env.MONGO_DB_URI, + dbName: process.env.MONGO_DB_NAME, + }) + + const { handleCtx, httpServer } = await createBot({ + flow: adapterFlow, + provider: adapterProvider, + database: adapterDB, + }) + + adapterProvider.server.post( + '/v1/messages', + handleCtx(async (bot, req, res) => { + const { number, message, urlMedia } = req.body + await bot.sendMessage(number, message, { media: urlMedia ?? null }) + return res.end('sended') + }) + ) + + adapterProvider.server.post( + '/v1/register', + handleCtx(async (bot, req, res) => { + const { number, name } = req.body + await bot.dispatch('REGISTER_FLOW', { from: number, name }) + return res.end('trigger') + }) + ) + + adapterProvider.server.post( + '/v1/samples', + handleCtx(async (bot, req, res) => { + const { number, name } = req.body + await bot.dispatch('SAMPLES', { from: number, name }) + return res.end('trigger') + }) + ) + + adapterProvider.server.post( + '/v1/blacklist', + handleCtx(async (bot, req, res) => { + const { number, intent } = req.body + if (intent === 'remove') bot.blacklist.remove(number) + if (intent === 'add') bot.blacklist.add(number) + + res.writeHead(200, { 'Content-Type': 'application/json' }) + return res.end(JSON.stringify({ status: 'ok', number, intent })) + }) + ) + + adapterProvider.server.get( + '/v1/blacklist/list', + handleCtx(async (bot, req, res) => { + const blacklist = bot.blacklist.getList() + res.writeHead(200, { 'Content-Type': 'application/json' }) + return res.end(JSON.stringify({ status: 'ok', blacklist })) + }) + ) + + httpServer(+PORT) +} + +main() diff --git a/starters/apps/base-ts-gmail-mongo/tsconfig.json b/starters/apps/base-ts-gmail-mongo/tsconfig.json new file mode 100644 index 000000000..dfa5d961e --- /dev/null +++ b/starters/apps/base-ts-gmail-mongo/tsconfig.json @@ -0,0 +1,34 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ES2022", + "declaration": false, + "declarationMap": false, + "moduleResolution": "node", + "removeComments": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "allowSyntheticDefaultImports": true, + "sourceMap": false, + "outDir": "./dist", + "baseUrl": "./", + "rootDir": "./", + "incremental": true, + "skipLibCheck": true, + "paths": { + "~/*": ["./src/*"] + } + }, + "include": [ + "**/*.js", + "**/*.ts" + ], + "exclude": [ + "node_modules", + "dist", + "**/*.test.ts", + "**/*.spec.ts", + "**e2e**", + "**mock**" + ] +} \ No newline at end of file diff --git a/starters/apps/base-ts-gmail-mysql/.dockerignore b/starters/apps/base-ts-gmail-mysql/.dockerignore new file mode 100644 index 000000000..3c5abc495 --- /dev/null +++ b/starters/apps/base-ts-gmail-mysql/.dockerignore @@ -0,0 +1,16 @@ +dist/* +node_modules +.env +.pnpm-store +*_sessions +*tokens +.wwebjs* + +.git +.gitignore +Dockerfile* +npm-debug.log* +pnpm-debug.log* +tests +docs +*.md diff --git a/starters/apps/base-ts-gmail-mysql/Dockerfile b/starters/apps/base-ts-gmail-mysql/Dockerfile new file mode 100644 index 000000000..5cc4e424e --- /dev/null +++ b/starters/apps/base-ts-gmail-mysql/Dockerfile @@ -0,0 +1,40 @@ +# Image size ~ 400MB +FROM node:21-alpine3.18 as builder + +WORKDIR /app + +RUN corepack enable && corepack prepare pnpm@latest --activate +ENV PNPM_HOME=/usr/local/bin + +COPY . . + +COPY package*.json *-lock.yaml ./ + +RUN apk add --no-cache --virtual .gyp \ + python3 \ + make \ + g++ \ + && apk add --no-cache git \ + && pnpm install && pnpm run build \ + && apk del .gyp + +FROM node:21-alpine3.18 as deploy + +WORKDIR /app + +ARG PORT +ENV PORT $PORT +EXPOSE $PORT + +COPY --from=builder /app/assets ./assets +COPY --from=builder /app/dist ./dist +COPY --from=builder /app/*.json /app/*-lock.yaml ./ + +RUN corepack enable && corepack prepare pnpm@latest --activate +ENV PNPM_HOME=/usr/local/bin + +RUN npm cache clean --force && pnpm install --production --ignore-scripts \ + && addgroup -g 1001 -S nodejs && adduser -S -u 1001 nodejs \ + && rm -rf $PNPM_HOME/.npm $PNPM_HOME/.node-gyp + +CMD ["npm", "start"] diff --git a/starters/apps/base-ts-gmail-mysql/README.md b/starters/apps/base-ts-gmail-mysql/README.md new file mode 100644 index 000000000..ef1dd6c06 --- /dev/null +++ b/starters/apps/base-ts-gmail-mysql/README.md @@ -0,0 +1,44 @@ +

BuilderBot

+ +

+ + + +

+ + + + + + +

+ + +## Getting Started + +With this library, you can build automated conversation flows agnostic to the WhatsApp provider, set up automated responses for frequently asked questions, receive and respond to messages automatically, and track interactions with customers. Additionally, you can easily set up triggers to expand functionalities limitlessly. + +``` +npm create builderbot@latest +``` + + +## Documentation + +Visit [builderbot](https://builderbot.app/) to view the full documentation. + + +## Official Course + +If you want to discover all the functions and features offered by the library you can take the course. +[View Course](https://app.codigoencasa.com/courses/builderbot?refCode=LEIFER) + + +## Contact Us +- [💻 Discord](https://link.codigoencasa.com/DISCORD) +- [👌 𝕏 (Twitter)](https://twitter.com/leifermendez) \ No newline at end of file diff --git a/starters/apps/base-ts-gmail-mysql/_gitignore b/starters/apps/base-ts-gmail-mysql/_gitignore new file mode 100644 index 000000000..b32acec90 --- /dev/null +++ b/starters/apps/base-ts-gmail-mysql/_gitignore @@ -0,0 +1,10 @@ +dist/* +node_modules +.env +.pnpm-store +*_sessions +*tokens +.wwebjs* + +*.log +*qr.png \ No newline at end of file diff --git a/starters/apps/base-ts-gmail-mysql/assets/sample.png b/starters/apps/base-ts-gmail-mysql/assets/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..de27372044c8bca6f9701b4777765a4a5dcb3d14 GIT binary patch literal 113405 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 z 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 { + if (warning.code === 'UNRESOLVED_IMPORT') return + }, + plugins: [typescript()], +} diff --git a/starters/apps/base-ts-gmail-mysql/src/app.ts b/starters/apps/base-ts-gmail-mysql/src/app.ts new file mode 100644 index 000000000..6aa5d2e8c --- /dev/null +++ b/starters/apps/base-ts-gmail-mysql/src/app.ts @@ -0,0 +1,135 @@ +import { join } from 'path' +import { createBot, createProvider, createFlow, addKeyword, utils } from '@builderbot/bot' +import { MysqlAdapter as Database } from '@builderbot/database-mysql' +import { GmailProvider as Provider } from '@builderbot/provider-gmail' + +const PORT = process.env.PORT ?? 3008 + +const discordFlow = addKeyword('doc').addAnswer( + ['You can see the documentation here', '📄 https://builderbot.app/docs \n', 'Do you want to continue? *yes*'].join( + '\n' + ), + { capture: true }, + async (ctx, { gotoFlow, flowDynamic }) => { + if (ctx.body.toLocaleLowerCase().includes('yes')) { + return gotoFlow(registerFlow) + } + await flowDynamic('Thanks!') + return + } +) + +const welcomeFlow = addKeyword(['hi', 'hello', 'hola']) + .addAnswer(`🙌 Hello welcome to this *Chatbot*`) + .addAnswer( + [ + 'I share with you the following links of interest about the project', + '👉 *doc* to view the documentation', + ].join('\n'), + { delay: 800, capture: true }, + async (ctx, { fallBack }) => { + if (!ctx.body.toLocaleLowerCase().includes('doc')) { + return fallBack('You should type *doc*') + } + return + }, + [discordFlow] + ) + +const registerFlow = addKeyword(utils.setEvent('REGISTER_FLOW')) + .addAnswer(`What is your name?`, { capture: true }, async (ctx, { state }) => { + await state.update({ name: ctx.body }) + }) + .addAnswer('What is your age?', { capture: true }, async (ctx, { state }) => { + await state.update({ age: ctx.body }) + }) + .addAction(async (_, { flowDynamic, state }) => { + await flowDynamic(`${state.get('name')}, thanks for your information!: Your age: ${state.get('age')}`) + }) + +const fullSamplesFlow = addKeyword(['samples', utils.setEvent('SAMPLES')]) + .addAnswer(`💪 I'll send you a lot files...`) + .addAnswer(`Send image from Local`, { media: join(process.cwd(), 'assets', 'sample.png') }) + .addAnswer(`Send video from URL`, { + media: 'https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExYTJ0ZGdjd2syeXAwMjQ4aWdkcW04OWlqcXI3Ynh1ODkwZ25zZWZ1dCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/LCohAb657pSdHv0Q5h/giphy.mp4', + }) + .addAnswer(`Send audio from URL`, { media: 'https://cdn.freesound.org/previews/728/728142_11861866-lq.mp3' }) + .addAnswer(`Send file from URL`, { + media: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf', + }) + +const main = async () => { + const adapterFlow = createFlow([welcomeFlow, registerFlow, fullSamplesFlow]) + const adapterProvider = createProvider(Provider, { + email: 'YOUR_EMAIL@gmail.com', + oauth2: { + clientId: 'YOUR_CLIENT_ID', + clientSecret: 'YOUR_CLIENT_SECRET', + refreshToken: 'YOUR_REFRESH_TOKEN' + } +}) + const adapterDB = new Database({ + host: process.env.MYSQL_DB_HOST, + user: process.env.MYSQL_DB_USER, + database: process.env.MYSQL_DB_NAME, + password: process.env.MYSQL_DB_PASSWORD, + }) + + const { handleCtx, httpServer } = await createBot({ + flow: adapterFlow, + provider: adapterProvider, + database: adapterDB, + }) + + adapterProvider.server.post( + '/v1/messages', + handleCtx(async (bot, req, res) => { + const { number, message, urlMedia } = req.body + await bot.sendMessage(number, message, { media: urlMedia ?? null }) + return res.end('sended') + }) + ) + + adapterProvider.server.post( + '/v1/register', + handleCtx(async (bot, req, res) => { + const { number, name } = req.body + await bot.dispatch('REGISTER_FLOW', { from: number, name }) + return res.end('trigger') + }) + ) + + adapterProvider.server.post( + '/v1/samples', + handleCtx(async (bot, req, res) => { + const { number, name } = req.body + await bot.dispatch('SAMPLES', { from: number, name }) + return res.end('trigger') + }) + ) + + adapterProvider.server.post( + '/v1/blacklist', + handleCtx(async (bot, req, res) => { + const { number, intent } = req.body + if (intent === 'remove') bot.blacklist.remove(number) + if (intent === 'add') bot.blacklist.add(number) + + res.writeHead(200, { 'Content-Type': 'application/json' }) + return res.end(JSON.stringify({ status: 'ok', number, intent })) + }) + ) + + adapterProvider.server.get( + '/v1/blacklist/list', + handleCtx(async (bot, req, res) => { + const blacklist = bot.blacklist.getList() + res.writeHead(200, { 'Content-Type': 'application/json' }) + return res.end(JSON.stringify({ status: 'ok', blacklist })) + }) + ) + + httpServer(+PORT) +} + +main() diff --git a/starters/apps/base-ts-gmail-mysql/tsconfig.json b/starters/apps/base-ts-gmail-mysql/tsconfig.json new file mode 100644 index 000000000..dfa5d961e --- /dev/null +++ b/starters/apps/base-ts-gmail-mysql/tsconfig.json @@ -0,0 +1,34 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ES2022", + "declaration": false, + "declarationMap": false, + "moduleResolution": "node", + "removeComments": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "allowSyntheticDefaultImports": true, + "sourceMap": false, + "outDir": "./dist", + "baseUrl": "./", + "rootDir": "./", + "incremental": true, + "skipLibCheck": true, + "paths": { + "~/*": ["./src/*"] + } + }, + "include": [ + "**/*.js", + "**/*.ts" + ], + "exclude": [ + "node_modules", + "dist", + "**/*.test.ts", + "**/*.spec.ts", + "**e2e**", + "**mock**" + ] +} \ No newline at end of file diff --git a/starters/apps/base-ts-gmail-postgres/.dockerignore b/starters/apps/base-ts-gmail-postgres/.dockerignore new file mode 100644 index 000000000..3c5abc495 --- /dev/null +++ b/starters/apps/base-ts-gmail-postgres/.dockerignore @@ -0,0 +1,16 @@ +dist/* +node_modules +.env +.pnpm-store +*_sessions +*tokens +.wwebjs* + +.git +.gitignore +Dockerfile* +npm-debug.log* +pnpm-debug.log* +tests +docs +*.md diff --git a/starters/apps/base-ts-gmail-postgres/Dockerfile b/starters/apps/base-ts-gmail-postgres/Dockerfile new file mode 100644 index 000000000..5cc4e424e --- /dev/null +++ b/starters/apps/base-ts-gmail-postgres/Dockerfile @@ -0,0 +1,40 @@ +# Image size ~ 400MB +FROM node:21-alpine3.18 as builder + +WORKDIR /app + +RUN corepack enable && corepack prepare pnpm@latest --activate +ENV PNPM_HOME=/usr/local/bin + +COPY . . + +COPY package*.json *-lock.yaml ./ + +RUN apk add --no-cache --virtual .gyp \ + python3 \ + make \ + g++ \ + && apk add --no-cache git \ + && pnpm install && pnpm run build \ + && apk del .gyp + +FROM node:21-alpine3.18 as deploy + +WORKDIR /app + +ARG PORT +ENV PORT $PORT +EXPOSE $PORT + +COPY --from=builder /app/assets ./assets +COPY --from=builder /app/dist ./dist +COPY --from=builder /app/*.json /app/*-lock.yaml ./ + +RUN corepack enable && corepack prepare pnpm@latest --activate +ENV PNPM_HOME=/usr/local/bin + +RUN npm cache clean --force && pnpm install --production --ignore-scripts \ + && addgroup -g 1001 -S nodejs && adduser -S -u 1001 nodejs \ + && rm -rf $PNPM_HOME/.npm $PNPM_HOME/.node-gyp + +CMD ["npm", "start"] diff --git a/starters/apps/base-ts-gmail-postgres/README.md b/starters/apps/base-ts-gmail-postgres/README.md new file mode 100644 index 000000000..ef1dd6c06 --- /dev/null +++ b/starters/apps/base-ts-gmail-postgres/README.md @@ -0,0 +1,44 @@ +

BuilderBot

+ +

+ + + +

+ + + + + + +

+ + +## Getting Started + +With this library, you can build automated conversation flows agnostic to the WhatsApp provider, set up automated responses for frequently asked questions, receive and respond to messages automatically, and track interactions with customers. Additionally, you can easily set up triggers to expand functionalities limitlessly. + +``` +npm create builderbot@latest +``` + + +## Documentation + +Visit [builderbot](https://builderbot.app/) to view the full documentation. + + +## Official Course + +If you want to discover all the functions and features offered by the library you can take the course. +[View Course](https://app.codigoencasa.com/courses/builderbot?refCode=LEIFER) + + +## Contact Us +- [💻 Discord](https://link.codigoencasa.com/DISCORD) +- [👌 𝕏 (Twitter)](https://twitter.com/leifermendez) \ No newline at end of file diff --git a/starters/apps/base-ts-gmail-postgres/_gitignore b/starters/apps/base-ts-gmail-postgres/_gitignore new file mode 100644 index 000000000..b32acec90 --- /dev/null +++ b/starters/apps/base-ts-gmail-postgres/_gitignore @@ -0,0 +1,10 @@ +dist/* +node_modules +.env +.pnpm-store +*_sessions +*tokens +.wwebjs* + +*.log +*qr.png \ No newline at end of file diff --git a/starters/apps/base-ts-gmail-postgres/assets/sample.png b/starters/apps/base-ts-gmail-postgres/assets/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..de27372044c8bca6f9701b4777765a4a5dcb3d14 GIT binary patch literal 113405 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 z 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 { + if (warning.code === 'UNRESOLVED_IMPORT') return + }, + plugins: [typescript()], +} diff --git a/starters/apps/base-ts-gmail-postgres/src/app.ts b/starters/apps/base-ts-gmail-postgres/src/app.ts new file mode 100644 index 000000000..e93c73b6e --- /dev/null +++ b/starters/apps/base-ts-gmail-postgres/src/app.ts @@ -0,0 +1,136 @@ +import { join } from 'path' +import { createBot, createProvider, createFlow, addKeyword, utils } from '@builderbot/bot' +import { PostgreSQLAdapter as Database } from '@builderbot/database-postgres' +import { GmailProvider as Provider } from '@builderbot/provider-gmail' + +const PORT = process.env.PORT ?? 3008 + +const discordFlow = addKeyword('doc').addAnswer( + ['You can see the documentation here', '📄 https://builderbot.app/docs \n', 'Do you want to continue? *yes*'].join( + '\n' + ), + { capture: true }, + async (ctx, { gotoFlow, flowDynamic }) => { + if (ctx.body.toLocaleLowerCase().includes('yes')) { + return gotoFlow(registerFlow) + } + await flowDynamic('Thanks!') + return + } +) + +const welcomeFlow = addKeyword(['hi', 'hello', 'hola']) + .addAnswer(`🙌 Hello welcome to this *Chatbot*`) + .addAnswer( + [ + 'I share with you the following links of interest about the project', + '👉 *doc* to view the documentation', + ].join('\n'), + { delay: 800, capture: true }, + async (ctx, { fallBack }) => { + if (!ctx.body.toLocaleLowerCase().includes('doc')) { + return fallBack('You should type *doc*') + } + return + }, + [discordFlow] + ) + +const registerFlow = addKeyword(utils.setEvent('REGISTER_FLOW')) + .addAnswer(`What is your name?`, { capture: true }, async (ctx, { state }) => { + await state.update({ name: ctx.body }) + }) + .addAnswer('What is your age?', { capture: true }, async (ctx, { state }) => { + await state.update({ age: ctx.body }) + }) + .addAction(async (_, { flowDynamic, state }) => { + await flowDynamic(`${state.get('name')}, thanks for your information!: Your age: ${state.get('age')}`) + }) + +const fullSamplesFlow = addKeyword(['samples', utils.setEvent('SAMPLES')]) + .addAnswer(`💪 I'll send you a lot files...`) + .addAnswer(`Send image from Local`, { media: join(process.cwd(), 'assets', 'sample.png') }) + .addAnswer(`Send video from URL`, { + media: 'https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExYTJ0ZGdjd2syeXAwMjQ4aWdkcW04OWlqcXI3Ynh1ODkwZ25zZWZ1dCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/LCohAb657pSdHv0Q5h/giphy.mp4', + }) + .addAnswer(`Send audio from URL`, { media: 'https://cdn.freesound.org/previews/728/728142_11861866-lq.mp3' }) + .addAnswer(`Send file from URL`, { + media: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf', + }) + +const main = async () => { + const adapterFlow = createFlow([welcomeFlow, registerFlow, fullSamplesFlow]) + const adapterProvider = createProvider(Provider, { + email: 'YOUR_EMAIL@gmail.com', + oauth2: { + clientId: 'YOUR_CLIENT_ID', + clientSecret: 'YOUR_CLIENT_SECRET', + refreshToken: 'YOUR_REFRESH_TOKEN' + } +}) + const adapterDB = new Database({ + host: process.env.POSTGRES_DB_HOST, + user: process.env.POSTGRES_DB_USER, + database: process.env.POSTGRES_DB_NAME, + password: process.env.POSTGRES_DB_PASSWORD, + port: +process.env.POSTGRES_DB_PORT + }) + + const { handleCtx, httpServer } = await createBot({ + flow: adapterFlow, + provider: adapterProvider, + database: adapterDB, + }) + + adapterProvider.server.post( + '/v1/messages', + handleCtx(async (bot, req, res) => { + const { number, message, urlMedia } = req.body + await bot.sendMessage(number, message, { media: urlMedia ?? null }) + return res.end('sended') + }) + ) + + adapterProvider.server.post( + '/v1/register', + handleCtx(async (bot, req, res) => { + const { number, name } = req.body + await bot.dispatch('REGISTER_FLOW', { from: number, name }) + return res.end('trigger') + }) + ) + + adapterProvider.server.post( + '/v1/samples', + handleCtx(async (bot, req, res) => { + const { number, name } = req.body + await bot.dispatch('SAMPLES', { from: number, name }) + return res.end('trigger') + }) + ) + + adapterProvider.server.post( + '/v1/blacklist', + handleCtx(async (bot, req, res) => { + const { number, intent } = req.body + if (intent === 'remove') bot.blacklist.remove(number) + if (intent === 'add') bot.blacklist.add(number) + + res.writeHead(200, { 'Content-Type': 'application/json' }) + return res.end(JSON.stringify({ status: 'ok', number, intent })) + }) + ) + + adapterProvider.server.get( + '/v1/blacklist/list', + handleCtx(async (bot, req, res) => { + const blacklist = bot.blacklist.getList() + res.writeHead(200, { 'Content-Type': 'application/json' }) + return res.end(JSON.stringify({ status: 'ok', blacklist })) + }) + ) + + httpServer(+PORT) +} + +main() diff --git a/starters/apps/base-ts-gmail-postgres/tsconfig.json b/starters/apps/base-ts-gmail-postgres/tsconfig.json new file mode 100644 index 000000000..dfa5d961e --- /dev/null +++ b/starters/apps/base-ts-gmail-postgres/tsconfig.json @@ -0,0 +1,34 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ES2022", + "declaration": false, + "declarationMap": false, + "moduleResolution": "node", + "removeComments": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "allowSyntheticDefaultImports": true, + "sourceMap": false, + "outDir": "./dist", + "baseUrl": "./", + "rootDir": "./", + "incremental": true, + "skipLibCheck": true, + "paths": { + "~/*": ["./src/*"] + } + }, + "include": [ + "**/*.js", + "**/*.ts" + ], + "exclude": [ + "node_modules", + "dist", + "**/*.test.ts", + "**/*.spec.ts", + "**e2e**", + "**mock**" + ] +} \ No newline at end of file

+ + + + +

+ + + + +

+ + + + +

+ + + + +

+ + + + +

+ + + + +

+ + + + +

+ + + + +

+ + + + +