From 793d94c93e7352f5de2be3f8072e474d85c2c656 Mon Sep 17 00:00:00 2001 From: Sepehr Date: Sun, 30 Nov 2025 10:48:58 +0100 Subject: [PATCH] Initial commit: Document Translation API with Excel, Word, PowerPoint support --- .env.example | 8 + .gitignore | 53 ++ .python-version | 1 + ARCHITECTURE.md | 325 +++++++++ DEPLOYMENT.md | 78 ++ QUICKSTART.md | 230 ++++++ QUICK_REFERENCE.md | 214 ++++++ README.md | 303 ++++++++ config.py | 47 ++ create_complex_samples.py | 887 +++++++++++++++++++++++ main.py | 307 ++++++++ mcp_server_example.py | 239 ++++++ pyproject.toml | 10 + requirements-mcp.txt | 5 + requirements-test.txt | 5 + requirements.txt | 15 + sample_files/.~lock.complex_sample.docx# | 1 + sample_files/complex_sample.docx | Bin 0 -> 57711 bytes sample_files/complex_sample.pptx | Bin 0 -> 49670 bytes sample_files/complex_sample.xlsx | Bin 0 -> 8616 bytes sample_files/ppt_conclusion_image.png | Bin 0 -> 8008 bytes sample_files/ppt_financial_chart.png | Bin 0 -> 52226 bytes sample_files/ppt_image1.png | Bin 0 -> 6843 bytes sample_files/ppt_image2.png | Bin 0 -> 6821 bytes sample_files/super_complex.docx | Bin 0 -> 130070 bytes sample_files/super_complex.pptx | Bin 0 -> 89961 bytes sample_files/super_complex.xlsx | Bin 0 -> 14023 bytes sample_files/word_chart.png | Bin 0 -> 16896 bytes sample_files/word_image.png | Bin 0 -> 6044 bytes sample_files/word_performance_chart.png | Bin 0 -> 83280 bytes sample_files/word_strategy_image.png | Bin 0 -> 16441 bytes services/__init__.py | 4 + services/translation_service.py | 124 ++++ start.ps1 | 48 ++ translators/__init__.py | 10 + translators/excel_translator.py | 161 ++++ translators/pptx_translator.py | 158 ++++ translators/word_translator.py | 171 +++++ utils/__init__.py | 20 + utils/exceptions.py | 51 ++ utils/file_handler.py | 142 ++++ 41 files changed, 3617 insertions(+) create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 .python-version create mode 100644 ARCHITECTURE.md create mode 100644 DEPLOYMENT.md create mode 100644 QUICKSTART.md create mode 100644 QUICK_REFERENCE.md create mode 100644 README.md create mode 100644 config.py create mode 100644 create_complex_samples.py create mode 100644 main.py create mode 100644 mcp_server_example.py create mode 100644 pyproject.toml create mode 100644 requirements-mcp.txt create mode 100644 requirements-test.txt create mode 100644 requirements.txt create mode 100644 sample_files/.~lock.complex_sample.docx# create mode 100644 sample_files/complex_sample.docx create mode 100644 sample_files/complex_sample.pptx create mode 100644 sample_files/complex_sample.xlsx create mode 100644 sample_files/ppt_conclusion_image.png create mode 100644 sample_files/ppt_financial_chart.png create mode 100644 sample_files/ppt_image1.png create mode 100644 sample_files/ppt_image2.png create mode 100644 sample_files/super_complex.docx create mode 100644 sample_files/super_complex.pptx create mode 100644 sample_files/super_complex.xlsx create mode 100644 sample_files/word_chart.png create mode 100644 sample_files/word_image.png create mode 100644 sample_files/word_performance_chart.png create mode 100644 sample_files/word_strategy_image.png create mode 100644 services/__init__.py create mode 100644 services/translation_service.py create mode 100644 start.ps1 create mode 100644 translators/__init__.py create mode 100644 translators/excel_translator.py create mode 100644 translators/pptx_translator.py create mode 100644 translators/word_translator.py create mode 100644 utils/__init__.py create mode 100644 utils/exceptions.py create mode 100644 utils/file_handler.py diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..2975d2f --- /dev/null +++ b/.env.example @@ -0,0 +1,8 @@ +# Translation Service Configuration +TRANSLATION_SERVICE=google # Options: google, deepl, libre +DEEPL_API_KEY=your_deepl_api_key_here + +# API Configuration +MAX_FILE_SIZE_MB=50 +UPLOAD_DIR=./uploads +OUTPUT_DIR=./outputs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..25cd6b6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,53 @@ +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg + +# Virtual Environment +venv/ +env/ +ENV/ + +# Environment variables +.env + +# IDE +.vscode/ +.idea/ +*.swp +*.swo + +# Uploads and outputs +uploads/ +outputs/ +temp/ +translated_files/ +translated_test.* + +# Logs +*.log + +# UV / UV lock +.venv/ +uv.lock + +# Test files +test_*.py +test_*.ipynb diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..e4fba21 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.12 diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md new file mode 100644 index 0000000..de1e64f --- /dev/null +++ b/ARCHITECTURE.md @@ -0,0 +1,325 @@ +# Document Translation API - Architecture Overview + +## System Architecture + +``` +┌─────────────────────────────────────────────────────────────┐ +│ FastAPI Application │ +│ (main.py) │ +└─────────────────────┬───────────────────────────────────────┘ + │ + ├──> File Upload Endpoint (/translate) + │ ├─> File Validation + │ ├─> File Type Detection + │ └─> Route to Appropriate Translator + │ + ├──> Batch Translation (/translate-batch) + │ + └──> Utility Endpoints + ├─> /health + ├─> /languages + └─> /download/{filename} + +┌─────────────────────────────────────────────────────────────┐ +│ Translation Layer │ +└─────────────────────┬───────────────────────────────────────┘ + │ + ┌─────────────┼─────────────┐ + │ │ │ + ▼ ▼ ▼ + Excel Word PowerPoint + Translator Translator Translator + (.xlsx) (.docx) (.pptx) + │ │ │ + └─────────────┼─────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Translation Service Abstraction │ +│ (Pluggable Backend) │ +└─────────────────────┬───────────────────────────────────────┘ + │ + ┌─────────────┼─────────────┐ + ▼ ▼ ▼ + Google DeepL LibreTranslate + Translate (API Key) (Self-hosted) +``` + +## Component Breakdown + +### 1. API Layer (`main.py`) +- **FastAPI Application**: RESTful API endpoints +- **File Upload Handling**: Multipart form data processing +- **Request Validation**: Pydantic models for type safety +- **Error Handling**: Custom exception handlers +- **CORS Configuration**: Cross-origin resource sharing + +### 2. Translation Coordinators + +#### Excel Translator (`translators/excel_translator.py`) +``` +Input: .xlsx file +Process: + 1. Load workbook with openpyxl (preserve VBA, formulas) + 2. Iterate through all worksheets + 3. For each cell: + - Detect type (text, formula, number) + - If text: translate + - If formula: extract and translate strings + - Preserve: formatting, colors, borders, merges + 4. Translate sheet names + 5. Maintain image positions +Output: Translated .xlsx with identical structure +``` + +#### Word Translator (`translators/word_translator.py`) +``` +Input: .docx file +Process: + 1. Load document with python-docx + 2. Traverse document tree: + - Paragraphs → Runs (preserve formatting per run) + - Tables → Cells → Paragraphs + - Headers/Footers (all section types) + 3. Translate text while preserving: + - Font family, size, color + - Bold, italic, underline + - Lists (numbered/bulleted) + - Styles (Heading 1, Normal, etc.) + 4. Images remain embedded via relationships +Output: Translated .docx with preserved layout +``` + +#### PowerPoint Translator (`translators/pptx_translator.py`) +``` +Input: .pptx file +Process: + 1. Load presentation with python-pptx + 2. For each slide: + - Shapes → Text Frames → Paragraphs → Runs + - Tables → Cells → Text Frames + - Groups → Nested Shapes + - Speaker Notes + 3. Preserve: + - Slide layouts + - Animations (timing, effects) + - Transitions + - Image positions and layering + - Shape properties (size, position, rotation) +Output: Translated .pptx with identical design +``` + +### 3. Translation Service Layer + +**Abstract Interface**: `TranslationProvider` +- Allows swapping translation backends without changing translators +- Configurable via environment variables + +**Implementations**: +1. **Google Translator** (Default, Free) + - Uses deep-translator library + - No API key required + - Rate limited + +2. **DeepL** (Premium, API Key Required) + - Higher quality translations + - Better context understanding + - Requires paid API key + +3. **LibreTranslate** (Self-hosted) + - Open-source alternative + - Full control and privacy + - Requires local installation + +### 4. Utility Layer + +#### File Handler (`utils/file_handler.py`) +- File validation (size, type) +- Unique filename generation (UUID-based) +- Safe file operations +- Cleanup management + +#### Exception Handling (`utils/exceptions.py`) +- Custom exception types +- HTTP status code mapping +- User-friendly error messages + +### 5. Configuration (`config.py`) +- Environment variable loading +- Directory management +- Service configuration +- Validation rules + +## Data Flow + +### Single Document Translation +``` +1. Client uploads file via POST /translate + └─> File + target_language + source_language + +2. API validates request + ├─> Check file extension + ├─> Verify file size + └─> Validate language codes + +3. Save to temporary storage + └─> uploads/{unique_id}_{filename} + +4. Route to appropriate translator + ├─> .xlsx → ExcelTranslator + ├─> .docx → WordTranslator + └─> .pptx → PowerPointTranslator + +5. Translator processes document + ├─> Parse structure + ├─> Extract text elements + ├─> Call translation service for each text + ├─> Apply translations while preserving formatting + └─> Save to outputs/{unique_id}_translated_{filename} + +6. Return translated file + └─> FileResponse with download headers + +7. Cleanup (optional) + └─> Delete uploaded file +``` + +## Formatting Preservation Strategies + +### Excel +- **Cell Properties**: Copied before translation +- **Merged Cells**: Detected via `cell.merge_cells` +- **Formulas**: Regex parsing to extract strings +- **Images**: Anchored to cells, preserved via relationships +- **Charts**: Remain linked to data ranges + +### Word +- **Run-level Translation**: Preserves inline formatting +- **Style Inheritance**: Paragraph styles maintained +- **Tables**: Structure preserved, cells translated individually +- **Images**: Embedded via relationships, not modified +- **Headers/Footers**: Treated as separate sections + +### PowerPoint +- **Shape Hierarchy**: Recursive traversal +- **Text Frames**: Paragraph and run-level translation +- **Layouts**: Template references preserved +- **Animations**: Stored separately, not affected +- **Media**: File references remain intact + +## Scalability Considerations + +### Horizontal Scaling +- Stateless design (no session storage) +- Files stored on disk (can move to S3/Azure Blob) +- Load balancer compatible + +### Performance Optimization +- **Async I/O**: FastAPI's async capabilities +- **Batch Processing**: Multiple files in parallel +- **Caching**: Translation cache for repeated text +- **Streaming**: Large file chunking (future enhancement) + +### Resource Management +- **File Cleanup**: Automatic deletion after translation +- **Size Limits**: Configurable max file size +- **Rate Limiting**: Prevent API abuse +- **Queue System**: Redis-based job queue (future) + +## Future MCP Integration + +### MCP Server Wrapper +The API is designed to be wrapped as an MCP server: + +```python +# MCP Tools +1. translate_document(file_path, target_lang) → translated_file +2. get_supported_languages() → language_list +3. check_api_health() → status + +# Benefits +- AI assistants can translate documents seamlessly +- Integration with Claude, GPT, and other LLMs +- Workflow automation in AI pipelines +``` + +## Security Architecture + +### Input Validation +- File type whitelist +- Size restrictions +- Extension verification +- Content-type checking + +### File Isolation +- Unique filenames (UUID) +- Temporary storage +- Automatic cleanup +- No path traversal + +### API Security (Production) +- Rate limiting (not yet implemented) +- Authentication/Authorization (future) +- HTTPS/TLS encryption (deployment config) +- Input sanitization + +## Deployment Architecture + +### Development +``` +Local Machine +├─> Python 3.11+ +├─> Virtual Environment +├─> SQLite (if needed for tracking) +└─> Local file storage +``` + +### Production (Recommended) +``` +Cloud Platform (AWS/Azure/GCP) +├─> Container (Docker) +├─> Load Balancer +├─> Multiple API Instances +├─> Object Storage (S3/Blob) +├─> Redis (caching/queue) +├─> Monitoring (Prometheus/Grafana) +└─> Logging (ELK Stack) +``` + +## Technology Stack + +| Layer | Technology | Purpose | +|-------|------------|---------| +| API Framework | FastAPI | High-performance async API | +| Excel Processing | openpyxl | Full Excel feature support | +| Word Processing | python-docx | DOCX manipulation | +| PowerPoint Processing | python-pptx | PPTX handling | +| Translation | deep-translator | Multi-provider abstraction | +| Server | Uvicorn | ASGI server | +| Validation | Pydantic | Request/response validation | + +## Extension Points + +1. **Add Translation Provider** + - Implement `TranslationProvider` interface + - Register in `translation_service.py` + +2. **Add Document Type** + - Create new translator class + - Register in routing logic + - Add to supported extensions + +3. **Add MCP Server** + - Use provided `mcp_server_example.py` + - Configure in MCP settings + - Deploy alongside API + +4. **Add Caching** + - Implement translation cache + - Use Redis or in-memory cache + - Reduce API calls for repeated text + +5. **Add Queue System** + - Implement Celery/RQ workers + - Handle long-running translations + - Provide job status endpoints diff --git a/DEPLOYMENT.md b/DEPLOYMENT.md new file mode 100644 index 0000000..48fc13a --- /dev/null +++ b/DEPLOYMENT.md @@ -0,0 +1,78 @@ +# Development and Production Setup Scripts + +## Start the API Server + +### Development Mode (with auto-reload) +```powershell +# Activate virtual environment +.\venv\Scripts\Activate.ps1 + +# Start server with hot-reload +python main.py +``` + +### Production Mode +```powershell +# Activate virtual environment +.\venv\Scripts\Activate.ps1 + +# Start with uvicorn (better performance) +uvicorn main:app --host 0.0.0.0 --port 8000 --workers 4 +``` + +## Docker Deployment (Optional) + +### Create Dockerfile +```dockerfile +FROM python:3.11-slim + +WORKDIR /app + +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt + +COPY . . + +# Create directories +RUN mkdir -p uploads outputs temp + +EXPOSE 8000 + +CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"] +``` + +### Build and Run +```powershell +# Build image +docker build -t document-translator-api . + +# Run container +docker run -d -p 8000:8000 -v ${PWD}/uploads:/app/uploads -v ${PWD}/outputs:/app/outputs document-translator-api +``` + +## Environment Variables for Production + +```env +TRANSLATION_SERVICE=google +DEEPL_API_KEY=your_production_api_key +MAX_FILE_SIZE_MB=100 +UPLOAD_DIR=/app/uploads +OUTPUT_DIR=/app/outputs +``` + +## Monitoring and Logging + +Add to requirements.txt for production: +``` +prometheus-fastapi-instrumentator==6.1.0 +python-json-logger==2.0.7 +``` + +## Security Hardening + +1. Add rate limiting +2. Implement authentication (JWT/API keys) +3. Enable HTTPS/TLS +4. Sanitize file uploads +5. Implement virus scanning for uploads +6. Add request validation middleware diff --git a/QUICKSTART.md b/QUICKSTART.md new file mode 100644 index 0000000..ea78be0 --- /dev/null +++ b/QUICKSTART.md @@ -0,0 +1,230 @@ +# 🚀 Quick Start Guide - Document Translation API + +## Step-by-Step Setup (5 Minutes) + +### 1️⃣ Open PowerShell in Project Directory +```powershell +cd d:\Translate +``` + +### 2️⃣ Run the Startup Script +```powershell +.\start.ps1 +``` + +This will automatically: +- Create a virtual environment +- Install all dependencies +- Create necessary directories +- Start the API server + +### 3️⃣ Test the API + +**Open another PowerShell window** and run: +```powershell +python test_api.py +``` + +Or visit in your browser: +- **API Documentation**: http://localhost:8000/docs +- **API Status**: http://localhost:8000/health + +## 📤 Translate Your First Document + +### Using cURL (PowerShell) +```powershell +$file = Get-Item "your_document.xlsx" +Invoke-RestMethod -Uri "http://localhost:8000/translate" ` + -Method Post ` + -Form @{ + file = $file + target_language = "es" + } ` + -OutFile "translated_document.xlsx" +``` + +### Using Python +```python +import requests + +with open('document.docx', 'rb') as f: + response = requests.post( + 'http://localhost:8000/translate', + files={'file': f}, + data={'target_language': 'fr'} + ) + +with open('translated_document.docx', 'wb') as out: + out.write(response.content) +``` + +### Using the Interactive API Docs + +1. Go to http://localhost:8000/docs +2. Click on **POST /translate** +3. Click **"Try it out"** +4. Upload your file +5. Enter target language (e.g., `es` for Spanish) +6. Click **"Execute"** +7. Download the translated file + +## 🌍 Supported Languages + +Use these language codes in the `target_language` parameter: + +| Code | Language | Code | Language | +|------|----------|------|----------| +| `es` | Spanish | `fr` | French | +| `de` | German | `it` | Italian | +| `pt` | Portuguese | `ru` | Russian | +| `zh` | Chinese | `ja` | Japanese | +| `ko` | Korean | `ar` | Arabic | +| `hi` | Hindi | `nl` | Dutch | + +**Full list**: http://localhost:8000/languages + +## 📋 Supported File Types + +| Format | Extension | What's Preserved | +|--------|-----------|------------------| +| **Excel** | `.xlsx` | Formulas, merged cells, colors, borders, images | +| **Word** | `.docx` | Styles, tables, headers/footers, images | +| **PowerPoint** | `.pptx` | Layouts, animations, transitions, media | + +## 🔧 Configuration + +Edit `.env` file to customize: + +```env +# Translation service: google (free) or deepl (requires API key) +TRANSLATION_SERVICE=google + +# For DeepL (premium translation) +DEEPL_API_KEY=your_api_key_here + +# Maximum file size in MB +MAX_FILE_SIZE_MB=50 +``` + +## ⚠️ Troubleshooting + +### Issue: "Virtual environment activation failed" +**Solution**: +```powershell +Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser +``` + +### Issue: "Module not found" +**Solution**: +```powershell +.\venv\Scripts\Activate.ps1 +pip install -r requirements.txt +``` + +### Issue: "Port 8000 already in use" +**Solution**: +Edit `main.py` line 307: +```python +uvicorn.run(app, host="0.0.0.0", port=8001, reload=True) +``` + +### Issue: "Translation quality is poor" +**Solution**: +1. Get a DeepL API key from https://www.deepl.com/pro-api +2. Update `.env`: + ```env + TRANSLATION_SERVICE=deepl + DEEPL_API_KEY=your_key_here + ``` + +## 📦 Project Structure + +``` +Translate/ +├── main.py # FastAPI application (START HERE) +├── config.py # Configuration management +├── start.ps1 # Startup script (RUN THIS FIRST) +├── test_api.py # Testing script +│ +├── services/ # Translation service layer +│ ├── __init__.py +│ └── translation_service.py # Pluggable translation backend +│ +├── translators/ # Document-specific translators +│ ├── __init__.py +│ ├── excel_translator.py # Excel (.xlsx) handler +│ ├── word_translator.py # Word (.docx) handler +│ ├── pptx_translator.py # PowerPoint (.pptx) handler +│ └── excel_advanced.py # Advanced Excel features +│ +├── utils/ # Utility modules +│ ├── __init__.py +│ ├── file_handler.py # File operations +│ └── exceptions.py # Error handling +│ +├── requirements.txt # Python dependencies +├── README.md # Full documentation +├── ARCHITECTURE.md # Technical architecture +└── DEPLOYMENT.md # Production deployment guide +``` + +## 🎯 Next Steps + +### For Development +1. ✅ Run `start.ps1` to start the server +2. ✅ Test with `test_api.py` +3. ✅ Try translating sample documents +4. Read `ARCHITECTURE.md` for technical details + +### For Production +1. Read `DEPLOYMENT.md` for production setup +2. Configure environment variables +3. Set up Docker container +4. Enable authentication and rate limiting + +### For MCP Integration +1. Install MCP requirements: `pip install -r requirements-mcp.txt` +2. Review `mcp_server_example.py` +3. Configure MCP server in your AI assistant + +## 📞 API Endpoints Reference + +| Endpoint | Method | Description | +|----------|--------|-------------| +| `/` | GET | API information | +| `/health` | GET | Health check | +| `/languages` | GET | Supported languages | +| `/translate` | POST | Translate single document | +| `/translate-batch` | POST | Translate multiple documents | +| `/download/{filename}` | GET | Download translated file | +| `/cleanup/{filename}` | DELETE | Delete translated file | + +## 💡 Tips & Best Practices + +1. **File Size**: Keep files under 50MB for best performance +2. **Format Preservation**: More complex formatting = longer processing time +3. **Language Codes**: Use ISO 639-1 codes (2 letters) +4. **Cleanup**: Enable cleanup to save disk space +5. **Batch Translation**: Use batch endpoint for multiple files + +## 🌟 Features Highlights + +✨ **Zero Data Loss**: All formatting, colors, styles preserved +✨ **Formula Intelligence**: Translates text in formulas, keeps logic +✨ **Image Preservation**: Embedded media stays in exact positions +✨ **Smart Translation**: Auto-detects source language +✨ **MCP Ready**: Designed for AI assistant integration + +## 📄 License + +MIT License - Free to use and modify + +## 🤝 Support + +- **Documentation**: See `README.md` for full details +- **Issues**: Open an issue on the repository +- **Architecture**: Read `ARCHITECTURE.md` for technical depth + +--- + +**Ready to translate? Run `.\start.ps1` and visit http://localhost:8000/docs** 🚀 diff --git a/QUICK_REFERENCE.md b/QUICK_REFERENCE.md new file mode 100644 index 0000000..89b3661 --- /dev/null +++ b/QUICK_REFERENCE.md @@ -0,0 +1,214 @@ +# 📋 QUICK REFERENCE CARD + +## 🚀 Start Server +```powershell +.\start.ps1 +``` +Or manually: +```powershell +.\venv\Scripts\Activate.ps1 +python main.py +``` + +## 🌐 API URLs +| Endpoint | URL | +|----------|-----| +| Swagger Docs | http://localhost:8000/docs | +| ReDoc | http://localhost:8000/redoc | +| Health Check | http://localhost:8000/health | +| Languages | http://localhost:8000/languages | + +## 📤 Translate Document + +### PowerShell +```powershell +$file = Get-Item "document.xlsx" +Invoke-RestMethod -Uri "http://localhost:8000/translate" ` + -Method Post ` + -Form @{file=$file; target_language="es"} ` + -OutFile "translated.xlsx" +``` + +### Python +```python +import requests +with open('doc.xlsx', 'rb') as f: + r = requests.post('http://localhost:8000/translate', + files={'file': f}, + data={'target_language': 'es'}) +with open('translated.xlsx', 'wb') as out: + out.write(r.content) +``` + +### cURL +```bash +curl -X POST "http://localhost:8000/translate" \ + -F "file=@document.xlsx" \ + -F "target_language=es" \ + --output translated.xlsx +``` + +## 🌍 Language Codes +| Code | Language | Code | Language | +|------|----------|------|----------| +| `es` | Spanish | `fr` | French | +| `de` | German | `it` | Italian | +| `pt` | Portuguese | `ru` | Russian | +| `zh` | Chinese | `ja` | Japanese | +| `ko` | Korean | `ar` | Arabic | +| `hi` | Hindi | `nl` | Dutch | + +[Full list: http://localhost:8000/languages] + +## 📄 Supported Formats +- `.xlsx` - Excel (formulas, formatting, images) +- `.docx` - Word (styles, tables, images) +- `.pptx` - PowerPoint (layouts, animations, media) + +## ⚙️ Configuration (.env) +```env +TRANSLATION_SERVICE=google # or: deepl, libre +DEEPL_API_KEY=your_key # if using DeepL +MAX_FILE_SIZE_MB=50 # max upload size +``` + +## 📁 Project Structure +``` +Translate/ +├── main.py # API application +├── config.py # Configuration +├── start.ps1 # Startup script +│ +├── services/ # Translation services +│ └── translation_service.py +│ +├── translators/ # Format handlers +│ ├── excel_translator.py +│ ├── word_translator.py +│ └── pptx_translator.py +│ +├── utils/ # Utilities +│ ├── file_handler.py +│ └── exceptions.py +│ +└── [docs]/ # Documentation + ├── README.md + ├── QUICKSTART.md + ├── ARCHITECTURE.md + └── DEPLOYMENT.md +``` + +## 🧪 Testing +```powershell +# Test API +python test_api.py + +# Run examples +python examples.py +``` + +## 🔧 Troubleshooting + +### Port in use +```python +# Edit main.py line 307: +uvicorn.run(app, host="0.0.0.0", port=8001) +``` + +### Module not found +```powershell +.\venv\Scripts\Activate.ps1 +pip install -r requirements.txt +``` + +### Execution policy (Windows) +```powershell +Set-ExecutionPolicy RemoteSigned -Scope CurrentUser +``` + +## 📊 API Response Headers +``` +X-Original-Filename: document.xlsx +X-File-Size-MB: 2.5 +X-Target-Language: es +``` + +## 🎯 Common Tasks + +### Check API Status +```powershell +curl http://localhost:8000/health +``` + +### List Languages +```powershell +curl http://localhost:8000/languages +``` + +### Download File +```powershell +curl http://localhost:8000/download/filename.xlsx -o local.xlsx +``` + +### Cleanup File +```powershell +curl -X DELETE http://localhost:8000/cleanup/filename.xlsx +``` + +## 💡 Tips +- Use `auto` for source language auto-detection +- Set `cleanup=true` to delete uploads automatically +- Max file size: 50MB (configurable) +- Processing time: ~1-5 seconds per document + +## 📚 Documentation Files +| File | Purpose | +|------|---------| +| `QUICKSTART.md` | 5-minute setup guide | +| `README.md` | Complete documentation | +| `ARCHITECTURE.md` | Technical design | +| `DEPLOYMENT.md` | Production setup | +| `CHECKLIST.md` | Feature checklist | +| `PROJECT_SUMMARY.md` | Project overview | + +## 🔌 MCP Integration +```powershell +# Install MCP dependencies +pip install -r requirements-mcp.txt + +# Run MCP server +python mcp_server_example.py +``` + +## 📞 Quick Commands + +| Command | Purpose | +|---------|---------| +| `.\start.ps1` | Start API server | +| `python test_api.py` | Test API | +| `python examples.py` | Run examples | +| `pip install -r requirements.txt` | Install deps | + +## 🎨 Format Preservation + +### Excel +✅ Formulas, merged cells, fonts, colors, borders, images + +### Word +✅ Styles, headings, lists, tables, headers/footers, images + +### PowerPoint +✅ Layouts, animations, transitions, media, positioning + +--- + +## 🚀 QUICK START +```powershell +cd d:\Translate +.\start.ps1 +# Visit: http://localhost:8000/docs +``` + +--- + +**Print this card for quick reference! 📋** diff --git a/README.md b/README.md new file mode 100644 index 0000000..7e25517 --- /dev/null +++ b/README.md @@ -0,0 +1,303 @@ +# Document Translation API + +A powerful Python API for translating complex structured documents (Excel, Word, PowerPoint) while **strictly preserving** the original formatting, layout, and embedded media. + +## 🎯 Features + +### Excel Translation (.xlsx) +- ✅ Translates all cell content and sheet names +- ✅ Preserves cell merging +- ✅ Maintains font styles (size, bold, italic, color) +- ✅ Keeps background colors and borders +- ✅ Translates text within formulas while preserving formula structure +- ✅ Retains embedded images in original positions + +### Word Translation (.docx) +- ✅ Translates body text, headers, footers, and tables +- ✅ Preserves heading styles and paragraph formatting +- ✅ Maintains lists (numbered/bulleted) +- ✅ Keeps embedded images, charts, and SmartArt in place +- ✅ Preserves table structures and cell formatting + +### PowerPoint Translation (.pptx) +- ✅ Translates slide titles, body text, and speaker notes +- ✅ Preserves slide layouts and transitions +- ✅ Maintains animations +- ✅ Keeps images, videos, and shapes in exact positions +- ✅ Preserves layering order + +## 🚀 Quick Start + +### Installation + +1. **Clone the repository:** +```powershell +git clone +cd Translate +``` + +2. **Create a virtual environment:** +```powershell +python -m venv venv +.\venv\Scripts\Activate.ps1 +``` + +3. **Install dependencies:** +```powershell +pip install -r requirements.txt +``` + +4. **Configure environment:** +```powershell +cp .env.example .env +# Edit .env with your preferred settings +``` + +5. **Run the API:** +```powershell +python main.py +``` + +The API will start on `http://localhost:8000` + +## 📚 API Documentation + +Once the server is running, visit: +- **Swagger UI**: http://localhost:8000/docs +- **ReDoc**: http://localhost:8000/redoc + +## 🔧 API Endpoints + +### POST /translate +Translate a single document + +**Request:** +```bash +curl -X POST "http://localhost:8000/translate" \ + -F "file=@document.xlsx" \ + -F "target_language=es" \ + -F "source_language=auto" +``` + +**Response:** +Returns the translated document file + +### POST /translate-batch +Translate multiple documents at once + +**Request:** +```bash +curl -X POST "http://localhost:8000/translate-batch" \ + -F "files=@document1.docx" \ + -F "files=@document2.pptx" \ + -F "target_language=fr" +``` + +### GET /languages +Get list of supported language codes + +### GET /health +Health check endpoint + +## 💻 Usage Examples + +### Python Example + +```python +import requests + +# Translate a document +with open('document.xlsx', 'rb') as f: + files = {'file': f} + data = { + 'target_language': 'es', + 'source_language': 'auto' + } + response = requests.post('http://localhost:8000/translate', files=files, data=data) + + # Save translated file + with open('translated_document.xlsx', 'wb') as output: + output.write(response.content) +``` + +### JavaScript/TypeScript Example + +```javascript +const formData = new FormData(); +formData.append('file', fileInput.files[0]); +formData.append('target_language', 'fr'); +formData.append('source_language', 'auto'); + +const response = await fetch('http://localhost:8000/translate', { + method: 'POST', + body: formData +}); + +const blob = await response.blob(); +const url = window.URL.createObjectURL(blob); +const a = document.createElement('a'); +a.href = url; +a.download = 'translated_document.docx'; +a.click(); +``` + +### PowerShell Example + +```powershell +$file = Get-Item "document.pptx" +$uri = "http://localhost:8000/translate" + +$form = @{ + file = $file + target_language = "de" + source_language = "auto" +} + +Invoke-RestMethod -Uri $uri -Method Post -Form $form -OutFile "translated_document.pptx" +``` + +## 🌐 Supported Languages + +The API supports 25+ languages including: +- Spanish (es), French (fr), German (de) +- Italian (it), Portuguese (pt), Russian (ru) +- Chinese (zh), Japanese (ja), Korean (ko) +- Arabic (ar), Hindi (hi), Dutch (nl) +- And many more... + +Full list available at: `GET /languages` + +## ⚙️ Configuration + +Edit `.env` file to configure: + +```env +# Translation Service (google, deepl, libre) +TRANSLATION_SERVICE=google + +# DeepL API Key (if using DeepL) +DEEPL_API_KEY=your_api_key_here + +# File Upload Limits +MAX_FILE_SIZE_MB=50 + +# Directory Configuration +UPLOAD_DIR=./uploads +OUTPUT_DIR=./outputs +``` + +## 🔌 Model Context Protocol (MCP) Integration + +This API is designed to be easily wrapped as an MCP server for future integration with AI assistants and tools. + +### MCP Server Structure (Future Implementation) + +```json +{ + "mcpServers": { + "document-translator": { + "command": "python", + "args": ["-m", "mcp_server"], + "env": { + "API_URL": "http://localhost:8000" + } + } + } +} +``` + +### Example MCP Tools + +The MCP wrapper will expose these tools: + +1. **translate_document** - Translate a single document +2. **translate_batch** - Translate multiple documents +3. **get_supported_languages** - List supported languages +4. **check_translation_status** - Check status of translation + +## 🏗️ Project Structure + +``` +Translate/ +├── main.py # FastAPI application +├── config.py # Configuration management +├── requirements.txt # Dependencies +├── .env.example # Environment template +├── services/ +│ ├── __init__.py +│ └── translation_service.py # Translation abstraction layer +├── translators/ +│ ├── __init__.py +│ ├── excel_translator.py # Excel translation logic +│ ├── word_translator.py # Word translation logic +│ └── pptx_translator.py # PowerPoint translation logic +├── utils/ +│ ├── __init__.py +│ ├── file_handler.py # File operations +│ └── exceptions.py # Custom exceptions +├── uploads/ # Temporary upload storage +└── outputs/ # Translated files +``` + +## 🧪 Testing + +### Manual Testing + +1. Start the API server +2. Navigate to http://localhost:8000/docs +3. Use the interactive Swagger UI to test endpoints + +### Test Files + +Prepare test files with: +- Complex formatting (multiple fonts, colors, styles) +- Embedded images and media +- Tables and merged cells +- Formulas (for Excel) +- Multiple sections/slides + +## 🛠️ Technical Details + +### Libraries Used + +- **FastAPI**: Modern web framework for building APIs +- **openpyxl**: Excel file manipulation with formatting preservation +- **python-docx**: Word document handling +- **python-pptx**: PowerPoint presentation processing +- **deep-translator**: Multi-provider translation service +- **Uvicorn**: ASGI server for running FastAPI + +### Design Principles + +1. **Modular Architecture**: Each file type has its own translator module +2. **Provider Abstraction**: Easy to swap translation services (Google, DeepL, LibreTranslate) +3. **Format Preservation**: All translators maintain original document structure +4. **Error Handling**: Comprehensive error handling and logging +5. **Scalability**: Ready for MCP integration and microservices architecture + +## 🔐 Security Considerations + +For production deployment: + +1. **Configure CORS** properly in `main.py` +2. **Add authentication** for API endpoints +3. **Implement rate limiting** to prevent abuse +4. **Use HTTPS** for secure file transmission +5. **Sanitize file uploads** to prevent malicious files +6. **Set appropriate file size limits** + +## 📝 License + +MIT License - Feel free to use this project for your needs. + +## 🤝 Contributing + +Contributions are welcome! Please feel free to submit a Pull Request. + +## 📧 Support + +For issues and questions, please open an issue on the repository. + +--- + +**Built with ❤️ using Python and FastAPI** diff --git a/config.py b/config.py new file mode 100644 index 0000000..5aa0ac5 --- /dev/null +++ b/config.py @@ -0,0 +1,47 @@ +""" +Configuration module for the Document Translation API +""" +import os +from pathlib import Path +from dotenv import load_dotenv + +load_dotenv() + +class Config: + # Translation Service + TRANSLATION_SERVICE = os.getenv("TRANSLATION_SERVICE", "google") + DEEPL_API_KEY = os.getenv("DEEPL_API_KEY", "") + + # File Upload Configuration + MAX_FILE_SIZE_MB = int(os.getenv("MAX_FILE_SIZE_MB", "50")) + MAX_FILE_SIZE_BYTES = MAX_FILE_SIZE_MB * 1024 * 1024 + + # Directories + BASE_DIR = Path(__file__).parent.parent + UPLOAD_DIR = BASE_DIR / "uploads" + OUTPUT_DIR = BASE_DIR / "outputs" + TEMP_DIR = BASE_DIR / "temp" + + # Supported file types + SUPPORTED_EXTENSIONS = {".xlsx", ".docx", ".pptx"} + + # API Configuration + API_TITLE = "Document Translation API" + API_VERSION = "1.0.0" + API_DESCRIPTION = """ + Advanced Document Translation API with strict formatting preservation. + + Supports: + - Excel (.xlsx) - Preserves cell formatting, formulas, merged cells, images + - Word (.docx) - Preserves styles, tables, images, headers/footers + - PowerPoint (.pptx) - Preserves layouts, animations, embedded media + """ + + @classmethod + def ensure_directories(cls): + """Create necessary directories if they don't exist""" + cls.UPLOAD_DIR.mkdir(exist_ok=True, parents=True) + cls.OUTPUT_DIR.mkdir(exist_ok=True, parents=True) + cls.TEMP_DIR.mkdir(exist_ok=True, parents=True) + +config = Config() diff --git a/create_complex_samples.py b/create_complex_samples.py new file mode 100644 index 0000000..d1b333e --- /dev/null +++ b/create_complex_samples.py @@ -0,0 +1,887 @@ +""" +Script pour créer des fichiers exemples avec structure TRÈS COMPLEXE +Génère des fichiers Excel, Word et PowerPoint avec formatage avancé +""" +from pathlib import Path +from openpyxl import Workbook +from openpyxl.styles import Font, PatternFill, Alignment, Border, Side, Protection +from openpyxl.styles.numbers import FORMAT_CURRENCY_USD, FORMAT_PERCENTAGE +from openpyxl.chart import BarChart, PieChart, LineChart, Reference +from openpyxl.drawing.image import Image as XLImage +from openpyxl.utils import get_column_letter +from openpyxl.worksheet.datavalidation import DataValidation + +from docx import Document +from docx.shared import Inches, Pt, RGBColor, Cm +from docx.enum.text import WD_ALIGN_PARAGRAPH, WD_LINE_SPACING +from docx.enum.style import WD_STYLE_TYPE +from docx.oxml.ns import qn +from docx.oxml import OxmlElement + +from pptx import Presentation +from pptx.util import Inches as PptxInches, Pt as PptxPt +from pptx.enum.text import PP_ALIGN, MSO_ANCHOR +from pptx.dml.color import RGBColor as PptxRGBColor +from pptx.enum.shapes import MSO_SHAPE + +from PIL import Image, ImageDraw, ImageFont +import matplotlib.pyplot as plt +import numpy as np + +print("🚀 Création de fichiers exemples avec structure COMPLEXE...\n") + +# Créer le dossier +SAMPLE_DIR = Path("sample_files") +SAMPLE_DIR.mkdir(exist_ok=True) + +# ============================================================================ +# 1. EXCEL TRÈS COMPLEXE +# ============================================================================ +print("📊 Création d'Excel super complexe...") + +wb = Workbook() + +# === SHEET 1: RAPPORT FINANCIER COMPLEXE === +ws1 = wb.active +ws1.title = "Rapport Financier 2024" + +# Titre principal avec fusion massive +ws1.merge_cells('A1:H2') +title = ws1['A1'] +title.value = "RAPPORT FINANCIER ANNUEL 2024\nAnalyse Complète et Prévisions" +title.font = Font(name='Calibri', size=20, bold=True, color='FFFFFF') +title.fill = PatternFill(start_color='0066CC', end_color='0066CC', fill_type='solid') +title.alignment = Alignment(horizontal='center', vertical='center', wrap_text=True) +title.border = Border( + left=Side(style='thick', color='000000'), + right=Side(style='thick', color='000000'), + top=Side(style='thick', color='000000'), + bottom=Side(style='thick', color='000000') +) + +# Sous-titre avec fusion +ws1.merge_cells('A3:H3') +subtitle = ws1['A3'] +subtitle.value = "Département des Ventes - Trimestre Q1-Q4" +subtitle.font = Font(size=14, italic=True, color='0066CC') +subtitle.alignment = Alignment(horizontal='center') + +# En-têtes de colonnes avec style élaboré +headers = ['Région', 'Produit', 'Unités Vendues', 'Prix Unitaire', 'Chiffre d\'Affaires', 'Coût', 'Marge Brute', 'Marge %'] +for col, header in enumerate(headers, 1): + cell = ws1.cell(row=4, column=col) + cell.value = header + cell.font = Font(bold=True, color='FFFFFF', size=12) + cell.fill = PatternFill(start_color='0066CC', end_color='0066CC', fill_type='solid') + cell.alignment = Alignment(horizontal='center', vertical='center', wrap_text=True) + cell.border = Border( + left=Side(style='thin'), + right=Side(style='thin'), + top=Side(style='thin'), + bottom=Side(style='thin') + ) + +# Données complexes avec formules avancées +regions = ['Europe du Nord', 'Europe du Sud', 'Amérique du Nord', 'Amérique du Sud', 'Asie Pacifique', 'Moyen-Orient', 'Afrique'] +products = ['Ordinateur Portable Premium', 'Tablette Professionnelle', 'Smartphone 5G', 'Écran 4K', 'Casque Sans Fil'] + +row = 5 +for region in regions: + for i, product in enumerate(products): + units = 100 + (row * 13) % 500 + price = 299 + (row * 37) % 1200 + cost = price * 0.6 + + ws1.cell(row=row, column=1, value=region) + ws1.cell(row=row, column=2, value=product) + ws1.cell(row=row, column=3, value=units) + ws1.cell(row=row, column=4, value=price).number_format = FORMAT_CURRENCY_USD + + # Formule: Chiffre d'affaires + ws1.cell(row=row, column=5, value=f"=C{row}*D{row}").number_format = FORMAT_CURRENCY_USD + + # Coût + ws1.cell(row=row, column=6, value=cost).number_format = FORMAT_CURRENCY_USD + + # Formule: Marge brute + ws1.cell(row=row, column=7, value=f"=E{row}-F{row}").number_format = FORMAT_CURRENCY_USD + + # Formule: Marge % + ws1.cell(row=row, column=8, value=f"=IF(E{row}>0,G{row}/E{row},0)").number_format = FORMAT_PERCENTAGE + + # Formatage conditionnel par région + for col in range(1, 9): + cell = ws1.cell(row=row, column=col) + if row % 2 == 0: + cell.fill = PatternFill(start_color='F2F2F2', end_color='F2F2F2', fill_type='solid') + cell.border = Border( + left=Side(style='thin', color='CCCCCC'), + right=Side(style='thin', color='CCCCCC'), + top=Side(style='thin', color='CCCCCC'), + bottom=Side(style='thin', color='CCCCCC') + ) + + row += 1 + +# Ligne de total avec formules complexes +total_row = row + 1 +ws1.merge_cells(f'A{total_row}:B{total_row}') +total_cell = ws1[f'A{total_row}'] +total_cell.value = "TOTAL GÉNÉRAL" +total_cell.font = Font(bold=True, size=14, color='FFFFFF') +total_cell.fill = PatternFill(start_color='FF6600', end_color='FF6600', fill_type='solid') +total_cell.alignment = Alignment(horizontal='right', vertical='center') + +for col in [3, 5, 7]: + cell = ws1.cell(row=total_row, column=col) + cell.value = f"=SUM({get_column_letter(col)}5:{get_column_letter(col)}{row-1})" + cell.font = Font(bold=True, size=12) + cell.fill = PatternFill(start_color='FF6600', end_color='FF6600', fill_type='solid') + if col in [5, 7]: + cell.number_format = FORMAT_CURRENCY_USD + +# Marge % moyenne +avg_cell = ws1.cell(row=total_row, column=8) +avg_cell.value = f"=AVERAGE(H5:H{row-1})" +avg_cell.number_format = FORMAT_PERCENTAGE +avg_cell.font = Font(bold=True, size=12) +avg_cell.fill = PatternFill(start_color='FF6600', end_color='FF6600', fill_type='solid') + +# Ajuster les largeurs +ws1.column_dimensions['A'].width = 20 +ws1.column_dimensions['B'].width = 30 +ws1.column_dimensions['C'].width = 15 +ws1.column_dimensions['D'].width = 15 +ws1.column_dimensions['E'].width = 18 +ws1.column_dimensions['F'].width = 15 +ws1.column_dimensions['G'].width = 15 +ws1.column_dimensions['H'].width = 12 + +# === SHEET 2: GRAPHIQUES ET ANALYSES === +ws2 = wb.create_sheet("Analyses Graphiques") + +ws2['A1'] = "Analyse des Performances par Région" +ws2['A1'].font = Font(size=16, bold=True, color='0066CC') +ws2.merge_cells('A1:D1') + +# Données pour graphiques +ws2['A3'] = "Région" +ws2['B3'] = "Total Ventes" +ws2['C3'] = "Objectif" +ws2['D3'] = "Écart %" + +region_data = [ + ("Europe", 2500000, 2200000), + ("Amérique", 3200000, 3000000), + ("Asie", 2800000, 2900000), + ("Autres", 1200000, 1100000) +] + +for i, (region, sales, target) in enumerate(region_data, 4): + ws2.cell(row=i, column=1, value=region) + ws2.cell(row=i, column=2, value=sales).number_format = FORMAT_CURRENCY_USD + ws2.cell(row=i, column=3, value=target).number_format = FORMAT_CURRENCY_USD + ws2.cell(row=i, column=4, value=f"=(B{i}-C{i})/C{i}").number_format = FORMAT_PERCENTAGE + +# Graphique en barres +chart1 = BarChart() +chart1.title = "Ventes par Région vs Objectifs" +chart1.y_axis.title = "Montant (USD)" +chart1.x_axis.title = "Régions" +chart1.height = 10 +chart1.width = 20 + +data = Reference(ws2, min_col=2, min_row=3, max_row=7, max_col=3) +cats = Reference(ws2, min_col=1, min_row=4, max_row=7) +chart1.add_data(data, titles_from_data=True) +chart1.set_categories(cats) +ws2.add_chart(chart1, "F3") + +# Graphique circulaire +chart2 = PieChart() +chart2.title = "Répartition des Ventes par Région" +chart2.height = 10 +chart2.width = 15 + +data2 = Reference(ws2, min_col=2, min_row=4, max_row=7) +cats2 = Reference(ws2, min_col=1, min_row=4, max_row=7) +chart2.add_data(data2) +chart2.set_categories(cats2) +ws2.add_chart(chart2, "F20") + +# === SHEET 3: DONNÉES MENSUELLES AVEC TENDANCES === +ws3 = wb.create_sheet("Tendances Mensuelles") + +ws3['A1'] = "Évolution Mensuelle des Ventes 2024" +ws3['A1'].font = Font(size=16, bold=True, color='FF6600') +ws3.merge_cells('A1:M1') + +months = ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'] +ws3['A3'] = "Mois" +for i, month in enumerate(months, 2): + ws3.cell(row=3, column=i, value=month) + ws3.cell(row=3, column=i).font = Font(bold=True) + +# Produits avec ventes mensuelles +products_monthly = ['Laptops', 'Tablettes', 'Smartphones', 'Accessoires'] +for i, product in enumerate(products_monthly, 4): + ws3.cell(row=i, column=1, value=product) + ws3.cell(row=i, column=1).font = Font(bold=True) + + for month_col in range(2, 14): + value = 50000 + (i * month_col * 1234) % 30000 + ws3.cell(row=i, column=month_col, value=value).number_format = FORMAT_CURRENCY_USD + +# Ligne de total avec formule +ws3.cell(row=8, column=1, value="TOTAL") +ws3.cell(row=8, column=1).font = Font(bold=True, size=12) +for col in range(2, 14): + ws3.cell(row=8, column=col, value=f"=SUM({get_column_letter(col)}4:{get_column_letter(col)}7)") + ws3.cell(row=8, column=col).number_format = FORMAT_CURRENCY_USD + ws3.cell(row=8, column=col).font = Font(bold=True) + ws3.cell(row=8, column=col).fill = PatternFill(start_color='FFD700', end_color='FFD700', fill_type='solid') + +# Graphique linéaire +chart3 = LineChart() +chart3.title = "Tendance des Ventes sur 12 Mois" +chart3.y_axis.title = "Montant (USD)" +chart3.x_axis.title = "Mois" +chart3.height = 12 +chart3.width = 24 + +data3 = Reference(ws3, min_col=2, min_row=3, max_row=8, max_col=13) +cats3 = Reference(ws3, min_col=2, min_row=3, max_col=13) +chart3.add_data(data3, titles_from_data=True) +chart3.set_categories(cats3) +ws3.add_chart(chart3, "A10") + +# Sauvegarder Excel +excel_file = SAMPLE_DIR / "super_complex.xlsx" +wb.save(excel_file) +print(f"✅ Excel créé: {excel_file}") +print(f" - 3 feuilles avec données complexes") +print(f" - Cellules fusionnées multiples") +print(f" - Formules avancées (SUM, AVERAGE, IF, pourcentages)") +print(f" - 3 graphiques (barres, camembert, lignes)") +print(f" - Formatage conditionnel élaboré") +print(f" - {len(regions) * len(products)} lignes de données\n") + +# ============================================================================ +# 2. WORD TRÈS COMPLEXE +# ============================================================================ +print("📝 Création de Word super complexe...") + +doc = Document() + +# Configurer les marges +sections = doc.sections +for section in sections: + section.top_margin = Cm(2) + section.bottom_margin = Cm(2) + section.left_margin = Cm(2.5) + section.right_margin = Cm(2.5) + +# PAGE DE COUVERTURE +title = doc.add_heading('RAPPORT STRATÉGIQUE ANNUEL', 0) +title.alignment = WD_ALIGN_PARAGRAPH.CENTER +for run in title.runs: + run.font.size = Pt(28) + run.font.color.rgb = RGBColor(0, 102, 204) + run.font.bold = True + +subtitle = doc.add_paragraph('Analyse Complète des Performances et Perspectives 2024-2025') +subtitle.alignment = WD_ALIGN_PARAGRAPH.CENTER +subtitle.runs[0].font.size = Pt(16) +subtitle.runs[0].font.italic = True +subtitle.runs[0].font.color.rgb = RGBColor(102, 102, 102) + +doc.add_paragraph('\n' * 3) + +company_info = doc.add_paragraph() +company_info.alignment = WD_ALIGN_PARAGRAPH.CENTER +company_info.add_run('Société: TechnoVision International\n').font.size = Pt(14) +company_info.add_run('Département: Analyse Stratégique\n').font.size = Pt(12) +company_info.add_run('Date: 31 Décembre 2024').font.size = Pt(12) + +doc.add_page_break() + +# TABLE DES MATIÈRES +doc.add_heading('Table des Matières', 1) +toc_items = [ + '1. Résumé Exécutif', + '2. Analyse des Performances Financières', + '3. Objectifs Stratégiques', + '4. Analyse de Marché', + '5. Recommandations', + '6. Conclusion' +] +for item in toc_items: + p = doc.add_paragraph(item, style='List Number') + p.runs[0].font.size = Pt(12) + +doc.add_page_break() + +# SECTION 1: RÉSUMÉ EXÉCUTIF +doc.add_heading('1. Résumé Exécutif', 1) + +para1 = doc.add_paragraph() +para1.add_run('Ce rapport présente une analyse détaillée ').font.size = Pt(11) +para1.add_run('des performances exceptionnelles').bold = True +para1.add_run(' de notre entreprise au cours de l\'année 2024. ').font.size = Pt(11) +para1.add_run('Nous avons atteint et dépassé').italic = True +para1.add_run(' nos objectifs dans tous les domaines clés.').font.size = Pt(11) +para1.alignment = WD_ALIGN_PARAGRAPH.JUSTIFY + +doc.add_heading('Points Clés', 2) +key_points = [ + 'Croissance du chiffre d\'affaires de 28% par rapport à 2023', + 'Expansion réussie dans 5 nouveaux marchés internationaux', + 'Lancement de 8 produits innovants avec taux d\'adoption de 87%', + 'Amélioration de la satisfaction client: score de 4.8/5', + 'Réduction de l\'empreinte carbone de 22%', + 'Augmentation de la part de marché de 3.5 points' +] + +for point in key_points: + p = doc.add_paragraph(point, style='List Bullet') + p.runs[0].font.size = Pt(11) + +# Créer graphique pour Word +img_path = SAMPLE_DIR / "word_performance_chart.png" +fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 5)) + +# Graphique 1: Croissance trimestrielle +quarters = ['Q1', 'Q2', 'Q3', 'Q4'] +revenue = [45.2, 52.8, 61.5, 68.3] +ax1.plot(quarters, revenue, marker='o', linewidth=2, markersize=8, color='#0066CC') +ax1.fill_between(range(len(quarters)), revenue, alpha=0.3, color='#0066CC') +ax1.set_title('Croissance Trimestrielle du CA (M€)', fontsize=14, fontweight='bold') +ax1.set_ylabel('Chiffre d\'Affaires (M€)', fontsize=11) +ax1.grid(True, alpha=0.3) + +# Graphique 2: Répartition des revenus +categories = ['Produits', 'Services', 'Licences', 'Consulting'] +values = [45, 25, 20, 10] +colors = ['#0066CC', '#FF6600', '#00CC66', '#CC00CC'] +ax2.pie(values, labels=categories, autopct='%1.1f%%', colors=colors, startangle=90) +ax2.set_title('Répartition des Revenus 2024', fontsize=14, fontweight='bold') + +plt.tight_layout() +plt.savefig(img_path, dpi=150, bbox_inches='tight') +plt.close() + +doc.add_paragraph() +doc.add_picture(str(img_path), width=Inches(6)) +last_paragraph = doc.paragraphs[-1] +last_paragraph.alignment = WD_ALIGN_PARAGRAPH.CENTER + +# SECTION 2: ANALYSE FINANCIÈRE +doc.add_page_break() +doc.add_heading('2. Analyse des Performances Financières', 1) + +doc.add_heading('2.1 Résultats par Trimestre', 2) + +# Tableau complexe des résultats +table = doc.add_table(rows=6, cols=6) +table.style = 'Medium Grid 3 Accent 1' + +# En-têtes +headers = ['Trimestre', 'Revenus (M€)', 'Coûts (M€)', 'Marge Brute', 'Marge %', 'Croissance'] +for i, header in enumerate(headers): + cell = table.rows[0].cells[i] + cell.text = header + cell.paragraphs[0].runs[0].font.bold = True + cell.paragraphs[0].runs[0].font.size = Pt(10) + +# Données trimestrielles +quarterly_data = [ + ('Q1 2024', 45.2, 28.5, 16.7, '36.9%', '+8.5%'), + ('Q2 2024', 52.8, 32.1, 20.7, '39.2%', '+16.8%'), + ('Q3 2024', 61.5, 36.8, 24.7, '40.2%', '+16.5%'), + ('Q4 2024', 68.3, 40.2, 28.1, '41.1%', '+11.1%'), + ('TOTAL', 227.8, 137.6, 90.2, '39.6%', '28.0%') +] + +for row_idx, row_data in enumerate(quarterly_data, 1): + for col_idx, value in enumerate(row_data): + cell = table.rows[row_idx].cells[col_idx] + cell.text = str(value) + if row_idx == 5: # Ligne total + cell.paragraphs[0].runs[0].font.bold = True + # Colorer le fond (workaround via XML) + shading_elm = OxmlElement('w:shd') + shading_elm.set(qn('w:fill'), 'FFD700') + cell._element.get_or_add_tcPr().append(shading_elm) + +doc.add_paragraph() + +doc.add_heading('2.2 Analyse Comparative', 2) + +comparison_text = doc.add_paragraph() +comparison_text.add_run('Comparaison avec les objectifs annuels: ').bold = True +comparison_text.add_run('Notre performance a dépassé les objectifs fixés de ') +comparison_text.add_run('13.5%').bold = True +comparison_text.add_run(', démontrant une excellente exécution stratégique et une adaptation réussie aux conditions du marché.') +comparison_text.alignment = WD_ALIGN_PARAGRAPH.JUSTIFY + +# SECTION 3: OBJECTIFS STRATÉGIQUES +doc.add_page_break() +doc.add_heading('3. Objectifs Stratégiques 2025', 1) + +doc.add_heading('3.1 Vision et Mission', 2) +vision = doc.add_paragraph() +vision.add_run('Vision: ').bold = True +vision.add_run('Devenir le leader mondial dans notre secteur d\'ici 2027.') +vision.alignment = WD_ALIGN_PARAGRAPH.JUSTIFY + +mission = doc.add_paragraph() +mission.add_run('Mission: ').bold = True +mission.add_run('Fournir des solutions innovantes qui transforment les entreprises et améliorent la vie de millions de personnes.') +mission.alignment = WD_ALIGN_PARAGRAPH.JUSTIFY + +doc.add_heading('3.2 Objectifs Prioritaires', 2) + +objectives = [ + ('Expansion Géographique', 'Pénétrer 10 nouveaux marchés en Asie et Europe de l\'Est'), + ('Innovation Produit', 'Lancer 12 nouveaux produits avec IA intégrée'), + ('Excellence Opérationnelle', 'Réduire les coûts de 15% via automatisation'), + ('Satisfaction Client', 'Atteindre un NPS de 75+'), + ('Développement Durable', 'Neutralité carbone d\'ici fin 2025') +] + +for i, (title, desc) in enumerate(objectives, 1): + p = doc.add_paragraph(style='List Number') + p.add_run(f'{title}: ').bold = True + p.add_run(desc) + +# Ajouter une image conceptuelle +concept_img = SAMPLE_DIR / "word_strategy_image.png" +img = Image.new('RGB', (800, 400), color=(240, 248, 255)) +draw = ImageDraw.Draw(img) +try: + font_large = ImageFont.truetype("arial.ttf", 60) + font_small = ImageFont.truetype("arial.ttf", 30) +except: + font_large = ImageFont.load_default() + font_small = ImageFont.load_default() + +draw.rectangle([50, 50, 750, 350], outline=(0, 102, 204), width=5, fill=(230, 240, 255)) +draw.text((400, 150), "STRATÉGIE 2025", fill=(0, 102, 204), font=font_large, anchor="mm") +draw.text((400, 250), "Innovation • Excellence • Croissance", fill=(102, 102, 102), font=font_small, anchor="mm") +img.save(concept_img) + +doc.add_paragraph() +doc.add_picture(str(concept_img), width=Inches(5.5)) +doc.paragraphs[-1].alignment = WD_ALIGN_PARAGRAPH.CENTER + +# CONCLUSION +doc.add_page_break() +doc.add_heading('6. Conclusion', 1) + +conclusion = doc.add_paragraph() +conclusion.add_run('L\'année 2024 a été exceptionnelle ').font.size = Pt(12) +conclusion.add_run('pour notre organisation. ').bold = True +conclusion.add_run('Nous avons non seulement atteint nos objectifs ambitieux, mais nous avons également posé les bases solides pour une croissance continue et durable. ') +conclusion.add_run('L\'engagement de nos équipes, la confiance de nos clients et l\'innovation de nos produits ').italic = True +conclusion.add_run('sont les piliers de notre succès.') +conclusion.alignment = WD_ALIGN_PARAGRAPH.JUSTIFY +conclusion.paragraph_format.line_spacing_rule = WD_LINE_SPACING.MULTIPLE +conclusion.paragraph_format.line_spacing = 1.5 + +# Footer +section = doc.sections[0] +footer = section.footer +footer_para = footer.paragraphs[0] +footer_para.text = "Document Confidentiel - TechnoVision International 2024 | " +footer_para.alignment = WD_ALIGN_PARAGRAPH.CENTER +footer_para.runs[0].font.size = Pt(9) +footer_para.runs[0].font.italic = True + +# Sauvegarder Word +word_file = SAMPLE_DIR / "super_complex.docx" +doc.save(word_file) +print(f"✅ Word créé: {word_file}") +print(f" - 6 sections structurées") +print(f" - Page de couverture professionnelle") +print(f" - Table des matières") +print(f" - Tableaux complexes avec formatage") +print(f" - 3 images intégrées (graphiques et concepts)") +print(f" - Formatage avancé (styles, couleurs, alignements)") +print(f" - Pieds de page\n") + +# ============================================================================ +# 3. POWERPOINT TRÈS COMPLEXE +# ============================================================================ +print("🎨 Création de PowerPoint super complexe...") + +prs = Presentation() +prs.slide_width = PptxInches(10) +prs.slide_height = PptxInches(7.5) + +# SLIDE 1: TITRE PRINCIPAL +slide1 = prs.slides.add_slide(prs.slide_layouts[6]) # Blank + +# Fond coloré +background = slide1.shapes.add_shape( + MSO_SHAPE.RECTANGLE, + 0, 0, prs.slide_width, prs.slide_height +) +background.fill.solid() +background.fill.fore_color.rgb = PptxRGBColor(0, 102, 204) +background.line.fill.background() + +# Titre principal +title_box = slide1.shapes.add_textbox( + PptxInches(1), PptxInches(2.5), + PptxInches(8), PptxInches(2) +) +title_frame = title_box.text_frame +title_frame.text = "TRANSFORMATION DIGITALE 2025" +title_para = title_frame.paragraphs[0] +title_para.font.size = PptxPt(54) +title_para.font.bold = True +title_para.font.color.rgb = PptxRGBColor(255, 255, 255) +title_para.alignment = PP_ALIGN.CENTER + +# Sous-titre +subtitle_box = slide1.shapes.add_textbox( + PptxInches(1), PptxInches(4.8), + PptxInches(8), PptxInches(1) +) +subtitle_frame = subtitle_box.text_frame +subtitle_frame.text = "Stratégie, Innovation et Excellence Opérationnelle" +subtitle_para = subtitle_frame.paragraphs[0] +subtitle_para.font.size = PptxPt(24) +subtitle_para.font.italic = True +subtitle_para.font.color.rgb = PptxRGBColor(255, 255, 255) +subtitle_para.alignment = PP_ALIGN.CENTER + +# SLIDE 2: AGENDA +slide2 = prs.slides.add_slide(prs.slide_layouts[1]) +title2 = slide2.shapes.title +title2.text = "Agenda de la Présentation" +title2.text_frame.paragraphs[0].font.size = PptxPt(40) +title2.text_frame.paragraphs[0].font.color.rgb = PptxRGBColor(0, 102, 204) + +body2 = slide2.placeholders[1] +tf2 = body2.text_frame +tf2.clear() + +agenda_items = [ + "Contexte et Enjeux Stratégiques", + "Analyse des Performances 2024", + "Objectifs de Transformation Digitale", + "Initiatives Clés et Roadmap", + "Budget et Ressources", + "Indicateurs de Succès et KPIs", + "Plan d'Action et Prochaines Étapes" +] + +for i, item in enumerate(agenda_items): + p = tf2.add_paragraph() + p.text = item + p.level = 0 + p.font.size = PptxPt(20) + p.space_before = PptxPt(8) + + # Numérotation colorée + run = p.runs[0] + run.text = f"{i+1}. {item}" + if i % 2 == 0: + run.font.color.rgb = PptxRGBColor(0, 102, 204) + else: + run.font.color.rgb = PptxRGBColor(255, 102, 0) + +# SLIDE 3: DONNÉES AVEC GRAPHIQUE +slide3 = prs.slides.add_slide(prs.slide_layouts[5]) +title3 = slide3.shapes.title +title3.text = "Croissance et Performance Financière" + +# Créer graphique pour PPT +chart_img = SAMPLE_DIR / "ppt_financial_chart.png" +fig, ax = plt.subplots(figsize=(10, 6)) + +years = ['2020', '2021', '2022', '2023', '2024'] +revenue = [125, 145, 168, 195, 228] +profit = [15, 22, 28, 35, 48] + +x = np.arange(len(years)) +width = 0.35 + +bars1 = ax.bar(x - width/2, revenue, width, label='Revenus (M€)', color='#0066CC') +bars2 = ax.bar(x + width/2, profit, width, label='Bénéfices (M€)', color='#FF6600') + +ax.set_xlabel('Années', fontsize=12, fontweight='bold') +ax.set_ylabel('Montants (M€)', fontsize=12, fontweight='bold') +ax.set_title('Évolution Financière 2020-2024', fontsize=16, fontweight='bold') +ax.set_xticks(x) +ax.set_xticklabels(years) +ax.legend(fontsize=11) +ax.grid(True, alpha=0.3) + +# Ajouter valeurs sur les barres +for bars in [bars1, bars2]: + for bar in bars: + height = bar.get_height() + ax.text(bar.get_x() + bar.get_width()/2., height, + f'{int(height)}', + ha='center', va='bottom', fontsize=10, fontweight='bold') + +plt.tight_layout() +plt.savefig(chart_img, dpi=150, bbox_inches='tight', facecolor='white') +plt.close() + +slide3.shapes.add_picture( + str(chart_img), + PptxInches(1.5), PptxInches(2), + width=PptxInches(7) +) + +# SLIDE 4: TABLEAU COMPLEXE +slide4 = prs.slides.add_slide(prs.slide_layouts[5]) +title4 = slide4.shapes.title +title4.text = "Répartition Budgétaire par Département" + +# Tableau +rows, cols = 8, 5 +table = slide4.shapes.add_table( + rows, cols, + PptxInches(0.8), PptxInches(2), + PptxInches(8.4), PptxInches(4) +).table + +# En-têtes +headers = ['Département', 'Budget 2024 (M€)', 'Budget 2025 (M€)', 'Variation', 'Priorité'] +for col, header in enumerate(headers): + cell = table.cell(0, col) + cell.text = header + cell.fill.solid() + cell.fill.fore_color.rgb = PptxRGBColor(0, 102, 204) + for paragraph in cell.text_frame.paragraphs: + for run in paragraph.runs: + run.font.size = PptxPt(14) + run.font.bold = True + run.font.color.rgb = PptxRGBColor(255, 255, 255) + cell.text_frame.paragraphs[0].alignment = PP_ALIGN.CENTER + +# Données +dept_data = [ + ('Recherche & Développement', '45.2', '58.5', '+29.4%', 'Élevée'), + ('Ventes & Marketing', '38.7', '42.3', '+9.3%', 'Élevée'), + ('Opérations', '52.3', '55.1', '+5.4%', 'Moyenne'), + ('IT & Infrastructure', '28.5', '35.2', '+23.5%', 'Élevée'), + ('Ressources Humaines', '15.8', '17.2', '+8.9%', 'Moyenne'), + ('Administration', '12.3', '13.1', '+6.5%', 'Faible'), + ('TOTAL', '192.8', '221.4', '+14.8%', '-') +] + +for row_idx, row_data in enumerate(dept_data, 1): + for col_idx, value in enumerate(row_data): + cell = table.cell(row_idx, col_idx) + cell.text = value + + # Formatage spécial pour la ligne total + if row_idx == 7: + cell.fill.solid() + cell.fill.fore_color.rgb = PptxRGBColor(255, 215, 0) + for paragraph in cell.text_frame.paragraphs: + for run in paragraph.runs: + run.font.bold = True + run.font.size = PptxPt(13) + else: + # Alternance de couleurs + if row_idx % 2 == 0: + cell.fill.solid() + cell.fill.fore_color.rgb = PptxRGBColor(240, 248, 255) + + for paragraph in cell.text_frame.paragraphs: + for run in paragraph.runs: + run.font.size = PptxPt(12) + + # Alignement + cell.text_frame.paragraphs[0].alignment = PP_ALIGN.CENTER if col_idx > 0 else PP_ALIGN.LEFT + +# SLIDE 5: INITIATIVES CLÉS AVEC FORMES +slide5 = prs.slides.add_slide(prs.slide_layouts[5]) +title5 = slide5.shapes.title +title5.text = "Initiatives Stratégiques 2025" + +initiatives = [ + ("Innovation IA", "Intégration IA dans tous les produits", PptxRGBColor(46, 125, 50)), + ("Cloud First", "Migration complète vers le cloud", PptxRGBColor(33, 150, 243)), + ("Customer 360", "Vue unifiée du parcours client", PptxRGBColor(255, 152, 0)), + ("Green IT", "Neutralité carbone datacenter", PptxRGBColor(76, 175, 80)) +] + +y_position = 2.2 +for i, (title_text, desc, color) in enumerate(initiatives): + # Rectangle coloré + shape = slide5.shapes.add_shape( + MSO_SHAPE.ROUNDED_RECTANGLE, + PptxInches(1), PptxInches(y_position), + PptxInches(8), PptxInches(1) + ) + shape.fill.solid() + shape.fill.fore_color.rgb = color + shape.line.color.rgb = color + shape.shadow.inherit = False + + # Texte dans la forme + text_frame = shape.text_frame + text_frame.clear() + + p1 = text_frame.paragraphs[0] + p1.text = title_text + p1.font.size = PptxPt(22) + p1.font.bold = True + p1.font.color.rgb = PptxRGBColor(255, 255, 255) + p1.alignment = PP_ALIGN.LEFT + + p2 = text_frame.add_paragraph() + p2.text = desc + p2.font.size = PptxPt(16) + p2.font.color.rgb = PptxRGBColor(255, 255, 255) + p2.alignment = PP_ALIGN.LEFT + p2.space_before = PptxPt(5) + + text_frame.vertical_anchor = MSO_ANCHOR.MIDDLE + text_frame.margin_left = PptxInches(0.3) + + y_position += 1.2 + +# SLIDE 6: TIMELINE +slide6 = prs.slides.add_slide(prs.slide_layouts[5]) +title6 = slide6.shapes.title +title6.text = "Roadmap de Déploiement" + +# Timeline horizontale +timeline_data = [ + ("Q1", "Planification", PptxRGBColor(76, 175, 80)), + ("Q2", "Développement", PptxRGBColor(33, 150, 243)), + ("Q3", "Tests & Pilotes", PptxRGBColor(255, 152, 0)), + ("Q4", "Déploiement", PptxRGBColor(156, 39, 176)) +] + +x_start = 1 +y_pos = 3 +width = 1.8 + +for quarter, phase, color in timeline_data: + # Cercle pour le trimestre + circle = slide6.shapes.add_shape( + MSO_SHAPE.OVAL, + PptxInches(x_start), PptxInches(y_pos), + PptxInches(0.8), PptxInches(0.8) + ) + circle.fill.solid() + circle.fill.fore_color.rgb = color + circle.line.color.rgb = color + + # Texte du trimestre + tf = circle.text_frame + tf.text = quarter + tf.paragraphs[0].font.size = PptxPt(18) + tf.paragraphs[0].font.bold = True + tf.paragraphs[0].font.color.rgb = PptxRGBColor(255, 255, 255) + tf.paragraphs[0].alignment = PP_ALIGN.CENTER + tf.vertical_anchor = MSO_ANCHOR.MIDDLE + + # Description de la phase + text_box = slide6.shapes.add_textbox( + PptxInches(x_start - 0.3), PptxInches(y_pos + 1.2), + PptxInches(1.4), PptxInches(0.6) + ) + tf2 = text_box.text_frame + tf2.text = phase + tf2.paragraphs[0].font.size = PptxPt(14) + tf2.paragraphs[0].font.bold = True + tf2.paragraphs[0].font.color.rgb = color + tf2.paragraphs[0].alignment = PP_ALIGN.CENTER + + # Ligne de connexion (sauf pour le dernier) + if x_start < 7: + line = slide6.shapes.add_connector( + 1, # Straight connector + PptxInches(x_start + 0.8), PptxInches(y_pos + 0.4), + PptxInches(x_start + width), PptxInches(y_pos + 0.4) + ) + line.line.color.rgb = PptxRGBColor(100, 100, 100) + line.line.width = PptxPt(3) + + x_start += width + +# SLIDE 7: CONCLUSION +slide7 = prs.slides.add_slide(prs.slide_layouts[1]) +title7 = slide7.shapes.title +title7.text = "Prochaines Étapes et Engagement" + +body7 = slide7.placeholders[1] +tf7 = body7.text_frame +tf7.clear() + +next_steps = [ + "Validation du comité exécutif - Janvier 2025", + "Kick-off des programmes prioritaires - Février 2025", + "Revues mensuelles de progression avec les sponsors", + "Communication régulière à toutes les parties prenantes", + "Ajustements agiles basés sur les retours du terrain" +] + +for step in next_steps: + p = tf7.add_paragraph() + p.text = step + p.level = 0 + p.font.size = PptxPt(20) + p.space_before = PptxPt(10) + p.font.color.rgb = PptxRGBColor(0, 102, 204) + +# Ajouter une image de conclusion +conclusion_img = SAMPLE_DIR / "ppt_conclusion_image.png" +img = Image.new('RGB', (800, 300), color=(255, 255, 255)) +draw = ImageDraw.Draw(img) + +# Dessiner un graphique de succès stylisé +draw.rectangle([50, 50, 750, 250], outline=(0, 102, 204), width=3) +try: + font = ImageFont.truetype("arial.ttf", 50) +except: + font = ImageFont.load_default() +draw.text((400, 150), "SUCCÈS 2025", fill=(0, 102, 204), font=font, anchor="mm") +img.save(conclusion_img) + +slide7.shapes.add_picture( + str(conclusion_img), + PptxInches(2.5), PptxInches(5), + width=PptxInches(5) +) + +# Ajouter notes de présentation +notes_slide = slide1.notes_slide +notes_slide.notes_text_frame.text = "Bienvenue à tous. Cette présentation couvre notre stratégie de transformation digitale pour 2025. Nous allons explorer nos objectifs ambitieux et le plan d'action pour les atteindre." + +# Sauvegarder PowerPoint +ppt_file = SAMPLE_DIR / "super_complex.pptx" +prs.save(ppt_file) +print(f"✅ PowerPoint créé: {ppt_file}") +print(f" - 7 diapositives professionnelles") +print(f" - Slide de titre avec design custom") +print(f" - Agenda structuré avec numérotation") +print(f" - Tableau complexe 8x5 avec formatage") +print(f" - Graphiques intégrés (barres avec valeurs)") +print(f" - Timeline visuelle avec formes connectées") +print(f" - 4 initiatives avec rectangles colorés") +print(f" - Images et formes multiples") +print(f" - Notes de présentation\n") + +print("=" * 70) +print("🎉 TOUS LES FICHIERS COMPLEXES ONT ÉTÉ CRÉÉS AVEC SUCCÈS!") +print("=" * 70) +print(f"\n📁 Fichiers disponibles dans: {SAMPLE_DIR.absolute()}") +print("\nVous pouvez maintenant:") +print("1. Ouvrir les fichiers pour vérifier la complexité") +print("2. Les traduire via l'API") +print("3. Vérifier que le formatage est préservé") +print("\n✨ Formatage inclus:") +print(" Excel: Formules, cellules fusionnées, graphiques, formatage conditionnel") +print(" Word: Images, tableaux, styles, couleurs, pieds de page") +print(" PowerPoint: Formes, graphiques, timeline, tableaux, animations visuelles") diff --git a/main.py b/main.py new file mode 100644 index 0000000..72de639 --- /dev/null +++ b/main.py @@ -0,0 +1,307 @@ +""" +Document Translation API +FastAPI application for translating complex documents while preserving formatting +""" +from fastapi import FastAPI, UploadFile, File, Form, HTTPException +from fastapi.responses import FileResponse, JSONResponse +from fastapi.middleware.cors import CORSMiddleware +from pathlib import Path +from typing import Optional +import asyncio +import logging + +from config import config +from translators import excel_translator, word_translator, pptx_translator +from utils import file_handler, handle_translation_error, DocumentProcessingError + +# Configure logging +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) + +# Ensure necessary directories exist +config.ensure_directories() + +# Create FastAPI app +app = FastAPI( + title=config.API_TITLE, + version=config.API_VERSION, + description=config.API_DESCRIPTION +) + +# Add CORS middleware +app.add_middleware( + CORSMiddleware, + allow_origins=["*"], # Configure appropriately for production + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], +) + + +@app.get("/") +async def root(): + """Root endpoint with API information""" + return { + "name": config.API_TITLE, + "version": config.API_VERSION, + "status": "operational", + "supported_formats": list(config.SUPPORTED_EXTENSIONS), + "endpoints": { + "translate": "/translate", + "health": "/health", + "supported_languages": "/languages" + } + } + + +@app.get("/health") +async def health_check(): + """Health check endpoint""" + return { + "status": "healthy", + "translation_service": config.TRANSLATION_SERVICE + } + + +@app.get("/languages") +async def get_supported_languages(): + """Get list of supported language codes""" + return { + "supported_languages": { + "es": "Spanish", + "fr": "French", + "de": "German", + "it": "Italian", + "pt": "Portuguese", + "ru": "Russian", + "zh": "Chinese (Simplified)", + "ja": "Japanese", + "ko": "Korean", + "ar": "Arabic", + "hi": "Hindi", + "nl": "Dutch", + "pl": "Polish", + "tr": "Turkish", + "sv": "Swedish", + "da": "Danish", + "no": "Norwegian", + "fi": "Finnish", + "cs": "Czech", + "el": "Greek", + "th": "Thai", + "vi": "Vietnamese", + "id": "Indonesian", + "uk": "Ukrainian", + "ro": "Romanian", + "hu": "Hungarian" + }, + "note": "Supported languages may vary depending on the translation service configured" + } + + +@app.post("/translate") +async def translate_document( + file: UploadFile = File(..., description="Document file to translate (.xlsx, .docx, or .pptx)"), + target_language: str = Form(..., description="Target language code (e.g., 'es', 'fr', 'de')"), + source_language: str = Form(default="auto", description="Source language code (default: auto-detect)"), + cleanup: bool = Form(default=True, description="Delete input file after translation") +): + """ + Translate a document while preserving all formatting, layout, and embedded media + + **Supported File Types:** + - Excel (.xlsx) - Preserves formulas, merged cells, styling, and images + - Word (.docx) - Preserves headings, tables, images, headers/footers + - PowerPoint (.pptx) - Preserves layouts, animations, and media + + **Parameters:** + - **file**: The document file to translate + - **target_language**: Target language code (e.g., 'es' for Spanish, 'fr' for French) + - **source_language**: Source language code (optional, default: auto-detect) + - **cleanup**: Whether to delete the uploaded file after translation (default: True) + + **Returns:** + - Translated document file with preserved formatting + """ + input_path = None + output_path = None + + try: + # Validate file extension + file_extension = file_handler.validate_file_extension(file.filename) + logger.info(f"Processing {file_extension} file: {file.filename}") + + # Validate file size + file_handler.validate_file_size(file) + + # Generate unique filenames + input_filename = file_handler.generate_unique_filename(file.filename, "input") + output_filename = file_handler.generate_unique_filename(file.filename, "translated") + + # Save uploaded file + input_path = config.UPLOAD_DIR / input_filename + output_path = config.OUTPUT_DIR / output_filename + + await file_handler.save_upload_file(file, input_path) + logger.info(f"Saved input file to: {input_path}") + + # Translate based on file type + if file_extension == ".xlsx": + logger.info("Translating Excel file...") + excel_translator.translate_file(input_path, output_path, target_language) + elif file_extension == ".docx": + logger.info("Translating Word document...") + word_translator.translate_file(input_path, output_path, target_language) + elif file_extension == ".pptx": + logger.info("Translating PowerPoint presentation...") + pptx_translator.translate_file(input_path, output_path, target_language) + else: + raise DocumentProcessingError(f"Unsupported file type: {file_extension}") + + logger.info(f"Translation completed: {output_path}") + + # Get file info + output_info = file_handler.get_file_info(output_path) + + # Cleanup input file if requested + if cleanup and input_path: + file_handler.cleanup_file(input_path) + logger.info(f"Cleaned up input file: {input_path}") + + # Return the translated file + return FileResponse( + path=output_path, + filename=f"translated_{file.filename}", + media_type="application/octet-stream", + headers={ + "X-Original-Filename": file.filename, + "X-File-Size-MB": str(output_info.get("size_mb", 0)), + "X-Target-Language": target_language + } + ) + + except HTTPException: + # Re-raise HTTP exceptions + raise + except Exception as e: + logger.error(f"Translation error: {str(e)}", exc_info=True) + + # Cleanup files on error + if input_path: + file_handler.cleanup_file(input_path) + if output_path: + file_handler.cleanup_file(output_path) + + raise handle_translation_error(e) + + +@app.delete("/cleanup/{filename}") +async def cleanup_translated_file(filename: str): + """ + Cleanup a translated file after download + + **Parameters:** + - **filename**: Name of the file to delete from the outputs directory + """ + try: + file_path = config.OUTPUT_DIR / filename + + if not file_path.exists(): + raise HTTPException(status_code=404, detail="File not found") + + file_handler.cleanup_file(file_path) + + return {"message": f"File {filename} deleted successfully"} + + except HTTPException: + raise + except Exception as e: + logger.error(f"Cleanup error: {str(e)}") + raise HTTPException(status_code=500, detail="Error cleaning up file") + + +@app.post("/translate-batch") +async def translate_batch_documents( + files: list[UploadFile] = File(..., description="Multiple document files to translate"), + target_language: str = Form(..., description="Target language code"), + source_language: str = Form(default="auto", description="Source language code") +): + """ + Translate multiple documents in batch + + **Note:** This endpoint processes files sequentially. For large batches, consider + calling the single file endpoint multiple times with concurrent requests. + """ + results = [] + + for file in files: + try: + # Process each file using the same logic as single file translation + file_extension = file_handler.validate_file_extension(file.filename) + file_handler.validate_file_size(file) + + input_filename = file_handler.generate_unique_filename(file.filename, "input") + output_filename = file_handler.generate_unique_filename(file.filename, "translated") + + input_path = config.UPLOAD_DIR / input_filename + output_path = config.OUTPUT_DIR / output_filename + + await file_handler.save_upload_file(file, input_path) + + # Translate based on file type + if file_extension == ".xlsx": + excel_translator.translate_file(input_path, output_path, target_language) + elif file_extension == ".docx": + word_translator.translate_file(input_path, output_path, target_language) + elif file_extension == ".pptx": + pptx_translator.translate_file(input_path, output_path, target_language) + + # Cleanup input file + file_handler.cleanup_file(input_path) + + results.append({ + "filename": file.filename, + "status": "success", + "output_file": output_filename, + "download_url": f"/download/{output_filename}" + }) + + except Exception as e: + logger.error(f"Error processing {file.filename}: {str(e)}") + results.append({ + "filename": file.filename, + "status": "error", + "error": str(e) + }) + + return { + "total_files": len(files), + "successful": len([r for r in results if r["status"] == "success"]), + "failed": len([r for r in results if r["status"] == "error"]), + "results": results + } + + +@app.get("/download/{filename}") +async def download_file(filename: str): + """ + Download a translated file by filename + + **Parameters:** + - **filename**: Name of the file to download from the outputs directory + """ + file_path = config.OUTPUT_DIR / filename + + if not file_path.exists(): + raise HTTPException(status_code=404, detail="File not found") + + return FileResponse( + path=file_path, + filename=filename, + media_type="application/octet-stream" + ) + + +if __name__ == "__main__": + import uvicorn + uvicorn.run("main:app", host="0.0.0.0", port=8000, reload=True) diff --git a/mcp_server_example.py b/mcp_server_example.py new file mode 100644 index 0000000..ffe421d --- /dev/null +++ b/mcp_server_example.py @@ -0,0 +1,239 @@ +""" +Example MCP Server Implementation for Document Translation API +This demonstrates how to wrap the translation API as an MCP server +""" +import asyncio +import httpx +from typing import Any +from mcp.server.models import InitializationOptions +from mcp.server import NotificationOptions, Server +from mcp.server.stdio import stdio_server +from mcp import types + +# API Configuration +API_BASE_URL = "http://localhost:8000" + + +class DocumentTranslatorMCP: + """MCP Server for Document Translation API""" + + def __init__(self): + self.server = Server("document-translator") + self.http_client = None + self._setup_handlers() + + def _setup_handlers(self): + """Set up MCP tool handlers""" + + @self.server.list_tools() + async def handle_list_tools() -> list[types.Tool]: + """List available tools""" + return [ + types.Tool( + name="translate_document", + description="Translate a document (Excel, Word, or PowerPoint) while preserving all formatting", + inputSchema={ + "type": "object", + "properties": { + "file_path": { + "type": "string", + "description": "Path to the document file to translate" + }, + "target_language": { + "type": "string", + "description": "Target language code (e.g., 'es', 'fr', 'de')" + }, + "source_language": { + "type": "string", + "description": "Source language code (default: 'auto' for auto-detection)", + "default": "auto" + }, + "output_path": { + "type": "string", + "description": "Path where the translated document should be saved" + } + }, + "required": ["file_path", "target_language", "output_path"] + } + ), + types.Tool( + name="get_supported_languages", + description="Get list of supported language codes for translation", + inputSchema={ + "type": "object", + "properties": {} + } + ), + types.Tool( + name="check_api_health", + description="Check if the translation API is healthy and operational", + inputSchema={ + "type": "object", + "properties": {} + } + ) + ] + + @self.server.call_tool() + async def handle_call_tool( + name: str, + arguments: dict[str, Any] | None + ) -> list[types.TextContent | types.ImageContent | types.EmbeddedResource]: + """Handle tool calls""" + + if name == "translate_document": + return await self._translate_document(arguments) + elif name == "get_supported_languages": + return await self._get_supported_languages() + elif name == "check_api_health": + return await self._check_health() + else: + raise ValueError(f"Unknown tool: {name}") + + async def _translate_document(self, args: dict[str, Any]) -> list[types.TextContent]: + """Translate a document via the API""" + file_path = args["file_path"] + target_language = args["target_language"] + source_language = args.get("source_language", "auto") + output_path = args["output_path"] + + try: + async with httpx.AsyncClient(timeout=300.0) as client: + # Upload and translate the document + with open(file_path, "rb") as f: + files = {"file": (file_path, f)} + data = { + "target_language": target_language, + "source_language": source_language + } + + response = await client.post( + f"{API_BASE_URL}/translate", + files=files, + data=data + ) + + if response.status_code == 200: + # Save the translated document + with open(output_path, "wb") as output: + output.write(response.content) + + return [ + types.TextContent( + type="text", + text=f"✅ Document translated successfully!\n\n" + f"Original: {file_path}\n" + f"Translated: {output_path}\n" + f"Language: {source_language} → {target_language}\n" + f"Size: {len(response.content)} bytes" + ) + ] + else: + error_detail = response.json().get("detail", "Unknown error") + return [ + types.TextContent( + type="text", + text=f"❌ Translation failed: {error_detail}" + ) + ] + + except Exception as e: + return [ + types.TextContent( + type="text", + text=f"❌ Error during translation: {str(e)}" + ) + ] + + async def _get_supported_languages(self) -> list[types.TextContent]: + """Get supported languages from the API""" + try: + async with httpx.AsyncClient() as client: + response = await client.get(f"{API_BASE_URL}/languages") + + if response.status_code == 200: + data = response.json() + languages = data.get("supported_languages", {}) + + lang_list = "\n".join([f"- {code}: {name}" for code, name in languages.items()]) + + return [ + types.TextContent( + type="text", + text=f"📚 Supported Languages:\n\n{lang_list}\n\n" + f"Note: {data.get('note', '')}" + ) + ] + else: + return [ + types.TextContent( + type="text", + text="❌ Failed to retrieve supported languages" + ) + ] + + except Exception as e: + return [ + types.TextContent( + type="text", + text=f"❌ Error: {str(e)}" + ) + ] + + async def _check_health(self) -> list[types.TextContent]: + """Check API health""" + try: + async with httpx.AsyncClient() as client: + response = await client.get(f"{API_BASE_URL}/health") + + if response.status_code == 200: + data = response.json() + return [ + types.TextContent( + type="text", + text=f"✅ API is healthy!\n\n" + f"Status: {data.get('status')}\n" + f"Translation Service: {data.get('translation_service')}" + ) + ] + else: + return [ + types.TextContent( + type="text", + text="❌ API is not responding correctly" + ) + ] + + except Exception as e: + return [ + types.TextContent( + type="text", + text=f"❌ Cannot connect to API: {str(e)}" + ) + ] + + async def run(self): + """Run the MCP server""" + async with stdio_server() as (read_stream, write_stream): + await self.server.run( + read_stream, + write_stream, + InitializationOptions( + server_name="document-translator", + server_version="1.0.0", + capabilities=self.server.get_capabilities( + notification_options=NotificationOptions(), + experimental_capabilities={} + ) + ) + ) + + +async def main(): + """Main entry point""" + mcp_server = DocumentTranslatorMCP() + await mcp_server.run() + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..d3f34e5 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,10 @@ +[project] +name = "translate" +version = "0.1.0" +description = "Add your description here" +readme = "README.md" +requires-python = ">=3.12" +dependencies = [ + "pip>=25.3", + "requests>=2.32.5", +] diff --git a/requirements-mcp.txt b/requirements-mcp.txt new file mode 100644 index 0000000..0ef6d71 --- /dev/null +++ b/requirements-mcp.txt @@ -0,0 +1,5 @@ +# MCP Server Requirements +# Add these to requirements.txt if you want to implement the MCP server + +mcp>=0.9.0 +httpx>=0.26.0 diff --git a/requirements-test.txt b/requirements-test.txt new file mode 100644 index 0000000..ee40f08 --- /dev/null +++ b/requirements-test.txt @@ -0,0 +1,5 @@ +# Testing requirements +requests==2.31.0 +pytest==7.4.3 +pytest-asyncio==0.23.2 +httpx==0.26.0 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..8f9e10c --- /dev/null +++ b/requirements.txt @@ -0,0 +1,15 @@ +fastapi==0.109.0 +uvicorn[standard]==0.27.0 +python-multipart==0.0.9 +openpyxl==3.1.2 +python-docx==1.1.0 +python-pptx==0.6.23 +deep-translator==1.11.4 +python-dotenv==1.0.0 +pydantic==2.5.3 +aiofiles==23.2.1 +Pillow==10.2.0 +matplotlib==3.8.2 +pandas==2.1.4 +requests==2.31.0 +ipykernel==6.27.1 diff --git a/sample_files/.~lock.complex_sample.docx# b/sample_files/.~lock.complex_sample.docx# new file mode 100644 index 0000000..9dd9cce --- /dev/null +++ b/sample_files/.~lock.complex_sample.docx# @@ -0,0 +1 @@ +,ramez,simorgh,30.11.2025 09:24,C:/Users/ramez/AppData/Local/onlyoffice; \ No newline at end of file diff --git a/sample_files/complex_sample.docx b/sample_files/complex_sample.docx new file mode 100644 index 0000000000000000000000000000000000000000..90dbe3fae4232ad907e901984a0a67bc6c1c8f60 GIT binary patch literal 57711 zcmagFWk4L;mIjIkcMDE{5InfMySuy7xCI&s?(Po3-Q8V7@Zj$5{yOKLJ9F;LoA>@S z-FvU~$=cPmS5+4Z(vVP?U|?XdU}Z``?bt{(r$TTrFs~0_U>KlLZDD|&v#Fi4zKVyv zsgo|fyRA(_qOAP(SJa^MXPP`6M}bg;;5m5K-R>c@n8vc*Bd+-Q4F-=wf%n%a$VfF* ziCp_o%&GSC=ZMoUGx6fqwckRDJIccQtdvYP5&-qu^8?wBqK{?6F$LBIm&iv(kQy1| zK$-n?u#}ob!_2CX-Wt?mH3JGYKHqJrNn(!{$PoY}?e)n`38U#;OXElmO^BeZeP3KXUwMeZMW9HKL491mi^F*uPF=#3 zlS=uCr~MB|BKtmkxRNW^?z*$Ed;TMsTI-L8N?K>=R*^fWk*q=(i^m6$L~7@4NE=U$ zbMSao^GOt{fV3BqxS%ZW5I+~)>WzesI#OFHNZF5kNfllJ(ZPTzsuDLDuZtQq-m}i_ z&+L<`zQfsZtg8AoN^Oc!N%8xRhJ1`qxDtR4$Ns7|Ls=_&sW&b=~3ECt{?T%kjg=p`>8;33L6UR1UWW)xS z&&zU;{MU3L2f(a4ABF!|R*%op0uP|&T!R1uLje8NcQmzeVxa%?S`jxP1<8o&d(J01 zOi^Uls47yhq$hG9TfoTr^{Gw4Lc8pe{@}Z?yt1A<`3=lOJ9&-P(Tm=&Bh%V!=l@xtkRSwQOVDvY4Jr^Cs6ZwFV+BWm zy%U2mz|r*2QJ)z%CfD~BRrKCVbXHa^^codbRFWF}C`?KM({Himj)hg$W-N7 zRx5|bm1v!N=-QrdmA#<}(l{_KkT^K@+|MKoK@;n3*$8{(IZKq9vm!B|_q_XQ=IXOK zm+@$KxFQ}Re03J2WICg+%zOwJS${1n%WTjjX=bxhVeWyDGMemCkeWc;msT<)l3h%y zLq9*F(0H=AI<%6eLL#sXwBlUw(4>AtnMpmUnZ+`=?~a=`P_B5DTJl>5Yub!>%Z*6O z&eg3?##f9!Kte5~fD`cn1EswT(=XL9Oa!N{kI;xH;LHMwsY-6mYD^npr%sLz>r<|f zx@Cw>!HCF7A9JTqi^~Q4b75DsUDp8pKWc_%XSY`9oG5(xolTmVt1(_1$2cgH4S^Y} zxyVCqyyn4hnF;qdmzIp_36hvaf*DYftrEXzJ16oE>U`eC-##u9&^)kTLg5~nBkNJk zxCy_#^j_ir=epc1FXJ48*2M-23=H+3>tbkc|JSmpjM*)JMQwkkfzovjv-}{ah#TiW zFE}l{idP+%(KI{yNh%hqg>eh${TPD98N_fK%3a6(TtE7}AZYfXUd}=lYwR&^SixZx zzM(2?Xm5F9|C19`DRc>z+5noagZ|WL#T*PBoO7zWLgnbUPjyD)mqZ`zo#bhzoPQ$= ztkr)jY?HJ1`uSoiAbR3j^U!~hsL-&umZJDoKCBG#waTK*qj-v!RebyQNHZxB30Vxn z@Rb>A%%jZm%TkCKjw}g2qd~{TxCN9I!Z+vJT9ZSx9CKT39G)36fny?C`>Pqmhkp1S z9OHrw0pQPDG5fO2voFhFIAQh2btKBQCF&tpk*6_T8iGSPoUD+q!e1grevu_w83KB4 z(6TlBRvcoQ@9IjpW00lqkfENqg%)41MW}xZf6yX~iEm8B@TnOET%WLWAjVf*L27`9 zUF|&YWmaP(2v`y2osqgO#FKFq? zX-8sZv*Mw-QfvkSTflb#l+X#*ytoSDu3B5f_ZE1ssPvb%jQbmpF1!dwZZI6c<~lf{ zv0>(AZ-CG-6cUBFfzE^dQKr%XpvmJDLr9zrkvr@gkvudI300^foN z>hUL~9f)?UiW45no zdRx8eP~R)aA`JC41FKZmhDb{r(w2`d&>L|$ZAaJm3XGvK2eo>dK6&@I-PCSSyvNv% zU?6)!W^(4*7~5;+uG35TM?M&!76w+S*xT13xvLODQf!*AA%VrDrB6#dUf27nW;4x8 zV>aJRWmPL%Mv@(#bNH*=bIIJ{tIVR=RGk4J@O?ikV!YKP9U;iEA98v=>Qr%>8D4M>$ve^hg1LgZ= z5h-ENb6&QUSL*~av;wXx;RP1F(QXV(0@u_=I*z<(grg+3wd?ovnPy)B=}kVP=T`(y z3rh2DdKPtQN*=wf0mr6eLgy<<*m#~|OS-fcGt!voX8eSf6cMh|i#VLmwL`0t*lSN|&R^TC zpx(`7y~jrxv-$=)d1AxHePaCet?x-D9|kkKyREM}mhZzJwcvt*7FD79578WcL3CR) zo<*FAI5h~}Idzo1yF2fM$*zh7h%P5c0N!kI2J{(;X*>nEx%9?ehzwAq;uW4yeKH+_ z)~Pr>-BFM(#wH9* zCf31ZYCBzrDvD{hsSIzB|N9Nvhv!67(`AU@x93)sRMPD}j zpg*RE4tUHSXK#6-GuDXsESzS4{vN*pBQ3>OMHheQF&mn)2fa3UoQ81BBHce#M>962 z6DA#wAmPn7&L+l(ce%u9JIJ~4QKuO_fD+iFhcW|TS$CMyG(8tvC_0FwtJPio$*dCC zulPZcCG2xW9wz)dDreJMbH50s9s@a(kWcWK$jFrvwP-J8_$qJ{jo#0vJSaKW(@UT3`L*@_{Zim=&-O zA+^FP6&;{a9?;gVUaGpU;#=H2shWJo*w%2{XYE)EA>sFHQfkgrpOII&wlo?N@!mwL zUD4M}CDMg$ExqmeVcJy%@wKWww3;1I{;`nX2yv*UM1(9dvJ{@MQjpovcu!XS^49AY za=_uwnZ4j9TxGS6^&>r!3XJGA(O(({%5eTN6Np{Ioni~T+}2=xrW|WV2i9=Ibi9iUPJo(UUEdkt#WXJv@07o~#`zQ*wFCIy8^WeZpRGNK z8srMuZ&7nOAblPTz)Sx8A#&Hfb{|Llmmv?oD* zRNTUDX|c5ge(dC~ifhfKbycr;(b499%2TopES|{7M2g^iPMS6`Wsz4}$jykSHT1UL z|8S62lt|!3<43R&lYx#)-Dt2KnH=t}eSN5L{b$5&)_kid_k5}6Y=8Sr z^1u?Ov>M%66ZOn#YjwTc*v0~H<@?jq6$sj8Je0_x`?St?hWc*jH@fr#j0h|(EXgc0 zNvN%ON>=g}I~eW}{AXtCU6sAJvt@A+2@uIy<_3F7YBM`y-XTS@ zu~i&%OP=TaRez4|N79j|C=sbOhK1{f;VHXtMS3RmDZn|ql!zo3(|KWhW`25-Q2LHP zBo+tl#?ih4ZTtdjX@1p(-x zDvhhj8`#zea-f1w>byu6Gx@Lo~^R?bs=@OXrHS+7fqa9w*i2!xL(|k zduQ%iXIV+huXe9z>HG^rfVao!_s8dj^Qa>JrsHkhhsV{+w&c0C=lz+(+qU4~?IVxZ zTAnxC_tv#Q2HRKZ*RkWPdXE(w_9A}b@}BMv`5?}ah}!oX z%Q~%Z&vVOTo^E0M@AeviKD7I`?d!c;_m8J#!xsAY!9@#wzy>~|K6Btw*3dUiJJ$un zAUVUFpp9zC}TsXPpjS>KVSKUCU{TP z*Fe`sw%@qKe29R2T*KVKx?Ub&|c zvX9+_10Cr+UpYO=uH(zLsa!ldJ$|q7iwH&g1TwsJu5`9Fm5(J3F#6cGt$26pXrFh! z-U>gNDJ2v2IjpZTpsWK^M2Wp5vQA0g`>P(ijC!iZ<~}FYy*O(H1JTkb@SNM=Ixg1m z+LHN!9^oo&Ufib`q*b9YH`OT6KZ4KDxu$~aP=c!}`CqH`y*2s0IRY8l+oDYaaeQ9i z_WR6yU|(-mU!Bu*UaEmh?dv?e6>jHe!O84rS?u!1@7{XnK;Fu1yM=d*{?4R`=HFeX za{J5CfUSp}_ZqD(u`K+~R&6o1N2;f8HqU!T3d*;Kf^ia!??ua2R=KwWfxNjJnF($ z^3(O#b{<-O;-so6x9JtF7$v6O;HIJY#R}v(yW76Q>UHl*Ok+(eqnG4`{apvAa_oZQ zr)ac`mgfb-YZWT1{#5ga@9*upmGe{2r!!CX_YSW^l6Tkqr{{bbiee4AbF&wHd)L>8 zXMIi?EHr^F1V7Xx-~0C5ONlbBzo>pkSo*p9K;d&iyda<6lpJma^)tkpCak(tltTb5 z7F>kLuz;zv`?an6k_c5!G+lR-52 z3(X6Q^bYoypckS37s-epWE}B)=VoQ9!z&^$Dx}d;5{eSV=t>F9WdXFim^7r)bPH0j zadNF)Us0D10Qm{(t@Dxxz`yvjcNAdXqv<;d{LNULcsYqeX*D$;FVXq5)F#|l51>k?T zQ;{Ipu9auzOTa3T(V+X=$2IwqWbEj2N5`TTWVM$CZcqTgH91DK1yJR#uu%iz+o6Z) zgs!k-{A1do3v&KUT7V|8|2+w{Ne%!P{5!s~0gr+niopY6xL0xw;@{Y(EODSz5>On~ zU#VIkv_KHSfp3B@eGB8RxfYA=*V+$*Guc&}?p23#eDeFddn0+950UHq zx=ptt#8Gxz^h*MXI#K7Wv3T##_K3oC9#aOWv@0cq8S4WpB-k*Aj%^-1{mX4zk@`(E zmql0FZAxu5TiWIB#mB}XR@%hy(U)GG1mT`KL9Q?NQMUoh6K7+)PaXvW*G!L#6Y$Ay zGV!Y)G*JwThunhWJ@T?l-WM$&-DTc{EY2~Gmo_q?3v=90C87^3BRsBb95CP$qJ6f+A5#j%up`*d5R@Yc5*O)NA+Ok4}RYJRKd55Tkk zT;ry*`Wd+Vc8b|DhSCM7^8babT+`zIxE?n#Fde=!F_0?1#)c!F3`h?ro_g2K$hN>T z939jBefA|~u=1l1%V2tL*O0)qE2sbLbU87mS^dbalvUl8h)WW}t*ry^Nbe1~bay=!xA>1tpNFE}`Zt-zu z04sJ66B5K-R3oet-=sb;#O>KZ$c zs%!BJ2?y^ObjKjWx_d(h5=uYK(c3cYP7H$vfHJ0sa5kFGSGA7^8n}^f8RFT)%E%I>^hV0wWhtR z-Jxd9&POL}y~Ag>%cbqjnX8M7KnAyp|4hE<72*Bb!7q!yTlmh5s1l`T;r{G&*TGw& zQ)35+h0DJ6rSy3vM_6&DcI2w)^#=m_b`U*7Vq1~Q*{==!dh1)h_x^JReM|$dNNgW0 zMLs$S;Mg({x_m&Yqrk612~t}Erm@v*W3Y5LZm(W?!jdd?<}8yl7xlTlml62a|MX`|$$fL8cJY0;vJv#NWIemmd5^n$ z7Bc2)va}^38_(5QmIEx|br^FEZq{q<3pihY&6!sJihvdzBhBV`H?E@tUS_oyi~B1) z&X;Y__9=o}b0C&)ZtVF-V0padrJ>aVhukoDOEBp|{@BMf-|(R8(oJ{QUg3T>dmOwv+X*ppHTFCOY;MWGPZ%vMIfB z^2<7P%GjqYZ;lj}n~UqFQ`d>R=eC^&vpM@8{+s-rU7f5$(8s?ZDG?_b*ocs9R5d1w z{V}jYsnd{=8>vrPRWFracqz3pMy$CG3}+*VIHnzdHERdeg_XRwP%4{j`S5biA32QC#E|Ybsg*^9am)5h~FH=1f-?6TBFQ~ztZQ5nL9&)(gvp4*5M5~3 zwCt~lcqL}Jm~oCn|BuT{HlHo0EK7KcB>3M*GkKFxDv=2v9Tjl z?vz(K-D!?t&zf7f#IS>U$?S(0A(;YBz+32+xe4zgPNhdoTVRc=X%GY?XGZ<`<{M}% z-+C$;zVN5b;(5Y^1_UYoN=neR8_r@4S9FyKrzzuGbUCH6SGdQlX1~+I5c77m8uIqs z_Kw=`Dizj73DT_AEJ-hxEBqK-et}%F0Z_?I4IE!)W%t{8rY+lxC3T#$V@e?(<0;+q zLd_q2##NUOeET^Hr*4JdYj);*OgeE{w2ZHEYa)E(jOg^v24#UbK?{@b*EcTO2v zRMv*2uRl<^G77H@O;vhi47d|iv6@xS=s5g3=b)n*$ySS}X$1~wdAZ;ERnJr9?=0+; zgj~BkO(7w{dnz3^Azo;y^XccrR$;<{lrz1cBIPvAWh}HzVgbIseHKvVu>)RA8nR^) z_xg3y(woBvhtO@XSRnm7=I?e}X4xk*Up|^Jr={#p=M^w-_c{c+8erAk<+=f}&zIu$ z9X5&qfiQVIDLFbrT2aZ&QYa+KCUpMofSJwOLg|a+iLrt4ySdCh9)KP}#s_Wge z!@j+$GGNfcL&Q27@|4d9u>g6FNv%t|%7;O>P(fM5i1ZR5pAP?xr4vV%(DoX$?xj#` zT}M3_aD*C(g5A~CPu0;>wT!Z$$amFDJN?^^(wnLZee!#Q->CB2!omV$ieTHJEITkno36=UHmU|-);qRmzwGdGL+$`>4WQQPfj!(%c(y9)QScJNx5&#_TH4RC(<4 z*c>pP#^(Vu1Rb)3%MFBUZlZ)j00{jsL3H=s>VP%pjBV(4aN8)H7}0}BTIqucT>GsL zq&zJXQI_^`9lzCYf=Wq5Zw7ytObGx^ke<`>n`*clPN2ELmvn^yGml<;X;(y;8QnC& z6gP$21PmKU7EbNHv_b$AO(DRZFUG=s2O37kVrp53C?Ex1Ndz#!+?aY0>AlgocVLUj zF>@J_>1#*Pf}GPd((Ph~eJ-889ybJS~x@`+gjWc9?LJFPG%#=>hUtjsn@)KFyZ> z&K5b}6CEJ9g(+1vryjAK(fab~7OB24aFY#1lSVA6gr7lihz@U!w+(gQS zy)C_SnQo)Pw9!RrNIN1qn$Tojrv5QioD8A&WdrW^7eQXI^jv#ovQ4ltH`eUf@sC8Y zjteoZ08iED&4X1Lgq_>jyt43OcJn!#@KnBhJ$UzAU&>i&rw}4~RfZ#qWzr=%yxX_q zYLBg))dz|%!yV=JpJSwvq(lbCZ(oE7Z`o%R;X=m1M}@1`Goz+ShUUz!8I=y(o|AWd z?t|~^e)3FzIYu=ek4iUv66J5f?sy~Uh`Lo1HQn;VR*_%>| zq}|Krn2u~ZBq?~U*km?iGKrn(q7)sX{i{X{a*}>)Ey?AS)MrECcX{tvs|`th55GMT_1iTX@BLx0!Lsgx~qf8_Yd>!-IfxgY8WfZ3m%!C zpo2Iih0v=@PhqEUt7OzZ{ogJD&@`YNN=d8z91T1i@ za9^%L$UsOeaMt#Bpo~}=batbtKy7BhsR=w&<@vY#H`BgRV(CA%yi_5dCeoFSN484WcTRzh6;ze_13ZmWz| zy)BC3l%K8*HA~SxS4t$bDJk0R8uoux6XeftpL=bC%dwSY+pO|`FCJ&ar;X_2qKW0P z;Qd`?_uzqizbS@wiYl561h1uUvb$Z{BW|d#dli|ycrO_cd*IED^mLFaR>?^aCGFA( zeig(Cn8H~6E%4%L=j2jdxL-niu1bA$Dm%USPS%BRUG&d|;KGK)wqw;-Br3mO&XK&0 zY?fVnk3f`|g#nT1ddcqR7djHH0U@Se4-`~YQ8&T#5cBlSz>2C^g-7tEv}AeezEYI; z#cvjnYi23P%F%~ohWsF@O}O-8)38S=>rdk#Q6f?PAcAagB;7nuV#BUnZ5$znnaBwlE3{C+TBKs^{w>pw&3*9fcq6fO8^(nEHhl9cmc!-_w zPPHtQVMX8%3YdKfhNsQJ7^}%ven6vzAHs*{4%<*N9n+YYO|p(>xi6Vx3rE@c=3|6U z-*@i>p{JOM-&u_qg;5S&X&}D5Xc#dD+Hf@Cgu@jn=R~pv3KR$wqJ|K3V?v-o8Zln^ zhYUCe4k(y3Vx+qG`L6WHERnT6jT;S5BiTC}F+OEIEMkUFACC*tY06w4a1(|55&MeM z7RDeI^_Z~j&pH#-Q$c-#cHSTtK;D6p^2J3BkHrz8Eu^6h`c#)WT#f*>BbPLs#rf+W z8iz{@)e;U}EaLw7c0~dCmcJmyR@Twy)_=mpV6Kcb$*h*8&& z5i|8v#LV{DsJ5b}PIl(`A1Yg>|EQe(@JHnZ_#c&m0T&w zWFZ3#77>#*b!ip+amGkYegmC0w+eMa-#=j+CYdbBK1<{@zr{&EIvxEpNItpL0J^}?#9w4ebP)(*2oVh56Xec{|g= zv|r8x->t+C@5@2?XIxiW5?J?N0Gy4;b`@(jE3SQ(EOy`cf_rXr$fC| zCpDrKgA(EufsFV+&2&=J zV?5{wa2)2p6q;BBdx#UF?u#)0OCjO^R>-seV(7HPUKXjRVxhoo6{J&3K)v9{<5293 za8*xZIVj^nqZ+mEBvK9F=xIk-jmP`*piwSI4dIe-k);D@S8O$Y znVsBxOu{X8W6{|9uxT^3rjpk2n~zqoLzPvd*S0A&km5ow9ZK5XP_j~A{WG?$dkBcS zy5C;o4|QMMAL?ol^>z>XpYGeKvdQH;Mao~)giEy`>Zr)Ss2iL|`tu66j>}jfh3zldru@9Y=kst|Hvw69?U}Eu* znU+!E+`am*F57bOl!*1;Mc-N*XTkf{z+qNJ)kAg2hmiE$ z$a7np_J;#8n?+2RYt-D$fxa@pyv*|@vx1X+EVcBW#aB(`8{Leu`0DD#ovQ75Uvl|p zXIb77J9+9A*yWOF(J> zk+gO9MHNcU_=sWoxG10qE&Bn{Xh<{&LrwMW3~Rb$N3IR$A5yo ztg$TpWs*zQx}&P*jHSZ$Z{|Bp!k{{N3je7Tw5=hu~-vSs=p zlL3~$yO7fp#{<}>55A}*Mgq9t^b+V4!w5%kathYG zONIqt*SNj#G7RaF`+k&XrnY&|v)ZbC2rFm#n(bicd{XYYi(|C7Q$rcDSJ=!af`l_* zply;5+>vDB2Fysn{SO+$A2dCMW50RB_CII{86ARkm*ZG>wQQFVM-`=;(02Ikw0gcx zJ!I_)u+J?W8ZsPhthQ#0!WR%C@K6i_J7AzUh_DRZ(2`rw9)jLI2vQU7ToE`1M8fWV zueQni9(94$$qk`63IJ6k2K#45(@ThUVvNl|BaBW1rgSF@|31WT3T6Dhmur)sL%(K00+Gc`<3g1h4_KqA;jr+kf-a}2(O7&nGxsK$YgXpfzG zn-AYLt*F%RZdYY(?_SN#8bG)pJPN=GdtNQP?n%M8qX!kQ?Fdvn?p{#w@ae(-vv|vt z3x5~Sh9RB7jQNgy{BMQ57ebF*;tyAYlFS#rc#E@e7Su%W{(98G0RoAmg5b>sjxwmQ zXauV04l3OG#2cd9%k+s#U^asns|V^AAA^+-ODZ5BH+gGFjB39!DM#a<)Ef!k>hTWZ z`$0!k;dOOskhuk(C`lY%Mq5ZV{g{|dMOylJoAe2z3EKpM0P6(T<+$xNh+BY*vVL_{ zY5h#@r4sUG67F*!r&~5%%qAQnyw#L4FKq#_{B3bH3{T$nsOw4zUK6EGRba)nZ8a}L zHN>4i&(^p8`;c=>W2mifUtBNu-a_i~B-jTRfZ9kdlSN@l-P`_z1;C2*$rtL*pUMCo zq46rnaR4JO5`kQRmckz8*DuAfQn%GHom6xAy}t`WqG*<}epsz!eeJ?d%c<{v@ee(J z%(_rUzh(woLBBrELkoG_TpYOCThrmGXc~U`4Tve2d{I$^ch_;Z%yIq0Gpenic|=zn z^629GD7%0C7*dzK8pOo!Cn!iqUm6_fTwhFtHQz1dtg{5fQr*4_d}LjpEJfO5hi@Tn z>mBiwG6H_~)iweWvOqBMW44L#Lh-nkgs0AHn*dLnT9wU#rC*?V=)KVFPqo-H9~0Rz z>Sxp8K+3?b(-Czj8{0Sml3$k*G*OOM1r7$-e&ruS zfp86szfI_WK?G~+e`&RVG6Hgp19qVK@E4h9Jj2JUUJHL5jmu;G@EwBYmU#V(swuEx zcDeU2DyO}=fnHPb1K80QC>ZF|>oOwj+Nml}l|?@OX$RB$N7cw>oV^9F@Fmx~$Ce(I z2ddD=k6?D8k1o@&{Vxh9TN7UV)dMr0>CZ1(0RG78DS0#yQQ-M?neK5RbJrEjdXndN z0H_8Az#jJ_t_)b0+;MpW1%+g;I}~(xZxc`?H>{ou&BG&f=B&y5Sac_ts9+==@4ZWkD(Ij&CyyA4-qNn&)R~hW#y$ zO0A^a1d|UjqDwI>T?&vq)Q%B}Ol>L*(DH&IX*`9BZWoV=ZWThK(V-F_xb(KHcV!54 zV>%xNAmdOOFtV-0) zj1MklCSD+mG$5!TrG4@x$Izn1JH6O0am zVZGek0+kEf*EsmGUS#MVa`y$iJAC1R#e;?Z*(Ed4jvqdEAlHzuTV+nTRc!|$YnL8=u1x0~SNgeL56axo96WGWoN4(;oJsj#z+52U-3{Y^11HcErf!SYF$zHQdv~lS zP*t%{g6NbHfCrok`V2Y##HBSQ8|Fth`A1@DgqrgI0ZdlozrJhY45~zrd>^JDH2>hS zF8{e6PCEejQ@IBvKT`8f<IavfO(5^Ww+;>d*)(bwP9+=SAZf~=lHgXcYg{1ktZ#aK@8LSj zfCqX)^J2ZAe!ex}aUo=TcPQB?s`>X~{=e2{)uJ=S0XwX=84~M->p)wV;Q_RwGCfn; zM4d0yoLTUyodg4gkQD%?t4L!)%?l70~lYUddGBoOrKS>sDjWneQ zjQ08qNt1Ivn$RHrq*7E(h8UcIJW4v?^*-&pzOqE}|MGEETOPNXHPl*xZh|qHT|CV* z?@B-wI-QsR%vzu&*VEZqIT4I{7N9DG>UQ<|6cgRfuwJ1rlup7SXdl7s2p50>d;STw ziGbUFDI5_ts0qB!)(ul;X}KLXqzRP-X)&K)p`FU~4kBWkS{XbFC%T-z+u_1t4r=Hb zYA8^?nv6rvzCGN2rGa*+mJ?jSzCG|7lK^zb-{Ctd0s9)!tKYUPRUM8!fqE*ueY<;( z33$|Zlz4KEHA)V8uTI1s2mfu|fbFPrWIES)@ASkOxTpo27|^|bn^CN`QRZ7Pq#Snbyibrr=}Kk{ z8yuBPSR3w_UxOeBJ`neVgv#6NG_%wEtzh1O#bGD|jD%yY_xI&yf9m7_l92t1`?s49 zQS3j)^|~E&OsTssjmmaF*-et4|3%Lk`7ip*!^Mv%?tjdCaGWil8Fg2BF#fOf(e6tQ zAb-aIWH4Ng?;u0fy6zg-z!r|lF9_@@@HleQA83-&Uvx^Izu8rpT&a{y#F-vuvRed} zjw;f)|BNdk;xV&iR!JCK&oC>NGUms8$&1&SaLd>KEGnVT&2C31Cz}tTW?Z(rzbuc= zI_*7LKp?drcfB4J#Q-By;qxl?TeF-gsjt+eQ zwbd@>mlU={9l@wt?C1BN$wAGZhR34$?@A6g^DVZ!1x z<(p=?m#{aI!DP(X*7N| zE2txr7`~g3o{mnRd~9lrgq!k^A~!E!Y;rwfv>Co){hVRLmh~Zv!KjB^uddc$>lBT zi01?qJB~*3*lles45CcA45f8W4U-Q`_V^M$k|u^xdigkl+4je8Xl%!7p@}1PwMIVL zL^R)AWcnM-s)2YZPkuM@v*x{p~NWE3Ylr}1KT5X0b^{KCj>MY zA-YDUgr=rsK0LKc`;bh_7U(qb5>=eLdxZgGyPlewkT9Rs3gcOSYNYNz-RTtc**%xr zYBembz^x z*9lQ9X&U4EA@X+z?7Nj+7ug{{l~>cR|EBsV1EPY-2T|dU8`a>tpIlF9fNUa~5se2E zrQ_DxC3dREnVSww{^U`E0iep3Bc>+qwsx9+CczmUb|-Z)?XKN^H(YqUwZn{MR)3tUse~gn6g0tBgvw()PvfR4JdklvkeI{32;)a4CH;qq!2dnyYadLoq-=t5MiGWcmI|bU$`c56D?4vMPrJ@+`uP=qe4|G z#-J*;#j*nB`Sh0n|8}t07s_nvLpQh*VZ@>Ys>J0y)hy7cDk~U)=2KvtcZ_8L*!l-a z3BMSjObJ2TB86|DJmdQtkOTfYF^Qh0)j*kGg#1_`NR)8*4b#;ki6f7VT_h@8 zcgX*IY~R4ce}AbhZ#RGcz@I{?`-y-nz;8VzsBwk5~;y1M*o( zV5B2s-jnDMgL-4zm#KFTd}U>`x@nbhM^e;HpojPcvVGBqqa}s|PJt;@0v}^qn4N}@ zLmu9I-rPMppS@dFE7*?j*Ad^@9`@{7fQvkp^V#b@*XR1%0Lt~1)4TB7?JbWwz0UW& zsok^m_s8@1r?+Fbw%6>bu~prx=i9Tksw$N8^Xxm&ll^NQ%e*{v`q*t<9pyxg>8pD) zZvd3^WVdwrY&DcIH+}ZyA-72b4vv?uh0{I5mSu{;z3|)f@YUCnmSiM-YliUP>vtEJ z?~+&dR^FD|cTsFrV=j(YGiJ}Vi>UCG4Fz|NBS1ObD)n0pMHBu>z#Xk(L3k6(U?>GP&W`7n@_eBe-FfwSUs%9p>>fJ3GSiS}(6LAtOzt!>* zauab8^SryfaIcl$x3yKR)48IQ%~g%OQdD%6qYLwo&$rEaJDRmDo|?DKefq}4MJPSR z{{x4~=dpU(9Qi}p(A;ZV#_g*9h-w!@*7`d4UO2BDqFrDd1Qe51*Oa@kZFCd=d^ z|NCWClk+$>;92&KUa!tAmOYh-3h`*O<$mPT-DWcm1r9C$YrV%qt=CJnyj*)1zlJ>W z+w+iqW7!0o=F0lId{NPN;v|MLVzub#vD@e8&Bxx`nInhC_pGF2pYx>Xh3$8I;=T8h zf#8W{Pam%w=?}c;MEU$gNmYk=89KFk1${40Pi6Zzlx-0;!uWu)V>&_o;!HS2Zsh^jyYyf(r8?VY z<*e*gfv9tHcG&IbC8V4OpzC+y&g|9hK+w>^251NuG{k&&%l}P-;H~pDKKb{Vp_n;ZfS-#ht^H+l;V(`djt7ozk7Q@t6awjVMEv zeE6!BIv~=B11PJxwz}R_Hl+0}Kkl_+u$N&fJa~6z@6n;9_PiP0oh}^Q#5C%56IogZKkzHs?>*A#Y1@4;HzBIo8%qniSh{gUqNTw!kMidaBhZz5-L0jX*xHj(VcKqOKT8j=8gST zqD}z;mt3O;x_pFg^w`mwex=(O zH(xwG^tXxA0*LSO)j!}h$QHGs%h7CVA?7jNw1Lth%ay)@{;%rYcs*jY29fsSdmG*= z+)Tk#rG%+{n5R+WhB2<Rn$||4<~7-iZ=YgS%u(0{PhRtp8@~yTrE})y4U?_4HSkB z3j1RX+1jy8@(KCw{~_!xpyFD#ZeiSl2X}XO3+~dmySq!U;O_43?(Xgcx8UvsClKUy z&bjx#d%pj@_m3WIV2tj$=A5;6^{T2}d)?i}{0=@OKGddot(8jb0`c))^raV|Z=HMq zA3di>Q=6HgF-X}%xHo8gb{c(>^3x8$WA>_yovEDOEiMzVhmW$}HuyMxy$U@%%$^u{ z`W%HTCEz~kv*pI+_HxD3?)`CWJ%48X$X-3V&-tnJ>m(B9`!Dxrm`f+G)3=T69(2C! z&aL043^mX#ohA`EH3aZ`?ER1X;cHSV`<27Pk!`Mz=<~wQnN;5P4dE-&iH()&?bL7U9lzvu4lv;U&VS{-4M>d?Yz>}2t<@ZLlFMpy+Hr@6Ejq9&y#BtYk?d4 zILd@SHyaIL!k?3E;&r|#0%zb>(SKn9(MSq$^!j2BGA5r3?Hu5}N*w2PV}ccAO2p{j zq>pHsi!pDL0+De?+dZJo|L6I(fJRAHPtI5)*ZfzkUL4z zEQxQSjpqDW&UG$)ocs|Bco*(?3t&sNP!+W(Wj@>fJS>D|8`jp9LR!9JDF76U>yjByK?iWQ*N-8%I<0v>zrMzb@n;_T z+-bcn>`yejHVNo);K^1nytb|V7v!ma%cow(peJ^YjBp`4&1A8V7$a z;N6veop=ZCEa==%$>~XQ#`e(5 z!U8PlsziK9 z6fgXqgJ?67BPX>%D{s3_AEA=FG*tU01u3J4Dfge}tI6q+)4Den`m6?^U%6=fOZSrp z7H*oV9l2Lk0#fXXjb#IY+rS!EU7-Xn4(XR-YOuxA9jHx+5A{#&h<7|qXqV22C`&T* zUv4Jz>V%eVS<-vpIAVPXQ0G}YslRwlsn2YStZ}>8b@O8l-2E`^VKi?v&0$CB@Qbt7*u(W#a9Q%p)Y715$y24{SM9K^N`n~SDp zQ*!I${7KQ2>5@(xuC%6Q^Zxa_y9Ohtt!xIS$|pP5n1iv{)a}$y_|q=tOB-MG3^&kf zP8CZJ392)GloGJphOFF|t!u@;d%K$!7l_DXYAj_JrgS!1O%T>v_)PFBZ)c}`&dwls z(7u|hp!PkR8!7G5ijC1epYxc%w|Y}Uh2(ZQJw$EnXqs>}nSTgzUuf^FIC^`=**EJ^ zDCH>nZpPbeb*9g=)HKexSPnh0Em-?*d{eiX6uHHCdWs6WcdLvapeUz*g-Q6e-Ia~o z;ob3v|0!#ao!fYez;_$vWOc;QH3#R1;(eR3j$5TseD|(YK!b>$NBMcQJK>~^yRwgV z`(w7G3gpg%aa!4`r;d@E^T1ku-)8@rXa1V8s_2FCw|HW$X(&Y`ncV zK8=rV{v2(?O?(nY{=Dxg8#T_%3`LP4LrM%2CiR7g;=nKM9vnHu)D&5Cq=^7q*~vuq zw?DjBB3>Q-)$?B5b4GMZ=z<%?U(z-gf%xw#i18_g*Hc5I=>signP+VTI*UR*7PD@)8gBk3%HU%h!_m@6_K+3@>_q zn)*zwm;08rdeMw(KIWL0EY`h%?R@&>nt|c>Ix_MWF!{VA2bMDxqt?=ghj-&^+XDq0 zX@)N8r+&xBNKG3I4qyB6$(2qsF#&e?<_FR!NztNbubCqvLaz;DwYQe-*WVE0Pw9wb zvIzrh+>wUQ7i-?mB}~>4cO`ri-iTp zdT-gd`YENL1KpJ3=b*!q!$5bv>(Rc7(e8bFT)K28v?KMQ8;4Jbc(kVJc|k?o>1a5b z+_!Fs?6Yd~F+g-e2!XzRxV|RUU-M*m6_cu#ynhwKN}68VeRlGL_nOF90i2={7w z(fQj7t=D>C?-jzaHq(43(@$*<2m75Z1raseX0%T5$ujZ{T!T7W_<`XL<_ZXz8x+3paqjs)VeuK>~3lB0J%j|?rfQ`#=6aSV-Ih+ z@EQMvTFC=^Y-Eo2J(&SCd&@dGvn~g_{k=pGHEkFFlA7XR|CiLKl9eu=s6i<_{sh2O_p?)^6WPyhey0Bn(WxnDP&*xNWU zkih-D_CK|8uE8m0yV#SgnEwOhb6YLH84lBO5x&ONL==6|j$@bz1-Ps6eOT7d8(O}7x z+&YuPix8XH8oP3ORas5$xgxYlo4?$QY!^aoCvHqV;{Q!!rpsbbEP8N}CGAStzU+r(ss{U1FY7x4;CL4e<$C$V**H>OK!nA967YrW zF{E|5s8y{`n;)CHtC^yU{kdp`M@fq_i!IZ0F1XdKxHW{^-~`WNT^pQ93o4|dRV`hf z@4Q-(>~m;qN_W+b%J$yEOq}RmgEErG#BMeFX*K$F%1kw!eKoAT9DitQ4E!d-F-WPN z%Wk#iX|*9D77z4~$7PVH6#x9QYSj{n8Bc4p_PO0^Q$}k(=k{OstYnNG7mFf4T-~kZ zJgp(S4wZ)ow5`A7Z#6X~4GJGA$)&7#q~KzVB@2+qzA+2U6Uv9yixmi5KYJg}+>kWawh2 z?Pi|>6*(4M-@@^mV_{P1Zk{-J(6o;xasJZPd|?`WoQ#?46Jk=Gn(ZkWfn;ATWnb;r z>P?~#r08ya3%l=H6ll-2%lA<5$$nbe9>KY9mV36P70RFq9-i9%^5^=JadN5~SM61n z>F2~gZV{gMl!Y5Y97dJn*@ahooQzNz%N&{ZXwLID23xPEI<2=1#I4`IQ-^&y)(OpE zk>^KJVRf@E)gmv(Ph9A}d?e|Oy&ewQ<#OXy5vUInTW%PhDfyh_ufY~*Mxskl=RYQ@ zXy>!v+wK)iKps_#ClAM*idNjL-i)ojTxtuQJP@PBo)QpU1r12v3BCL@qSh9q^O{;M z$m-MWR4Eb4F#@f_2f^*5*d8cO_Rcv2oVq40WfNVRGm5xUid68{ciHPgL8KxsmQK)n z$35FVJzP>VDbYM+DjSMc+N=UV@nGKR0fuM_gYY5uNT-A@eIw09%ETZbBCJe9XbZCl z`&1pP6D!rz1eX9N5ST?_XPiSOHNURuJ`h1Wfic%m7#f)fGZ6?haxoN=F};w4f{-LM z)92F;co+r(s)!8jU&thNx}WPxD|9Wx`m!3_v>->^Di}yaXZO&=m-MC#f?$wIK=A7v z=}%R{K>B9k;h7)UB1AY%FkQw8F9Biy9TFMz-yzRe&4D3ZFa8S2^BA&NZ~m{4Sy0F% zf?<7#a(y{U6UD?}&Q{dc=veF257Ed%k;-X|q6RZ)Bk*>HP^6*;H>81xtDPw>G@>8| z7EmF1o@Ww@TtKxIrFK^qUxgtA^Dr_Ns6y+(4s1hUK%9OH)$oe$+=Re1ynGRc7zu*; z71=#Gv<|2I{t)Kpn2XsCrv!Grp34mZ25cugnWM%n5t}M~S$m%N3v%?rS zN>LC9t9CqBP9@%f+bS zuuY7K;<9-j?OG56P@;`VH`sz?KYO^SkEgQK`=Zl z!Q9p;8mz(0f!b;PFencsN76eH9 z1JMdT$+d?F1ivr@MF`B^&Ek{v>>=hW#0@sXe8i?uBnI||u;#5F^GGo z-LvX_B~|u$YfFK2>^F=HgPOoighQCfObq`#p`G~qQE-A_0OTkbl!ou;p#Pv>Za)g) zJ1yex(c!_=ne}PyfzZ2@b+1NwCmy!0Cbph7w(c&;iO^sfn6kT_Ykhwn!k_x-q`2s) zOsYwvQ5UaKi_~MSB;gCV$tv{isqN21Z=*U#4Wm)${j#exTBjny(Z$*0)kj0QdXM`q zM>Dmr{gs^am4wiZ{ar;)#ZbL^<5^Q`wI&KimFf+YhntgHLB2>IJt!Y~KGJMGV@-8a zY`wEsB3oVVEbuk4aR~AK3-%)mqZ=2~8$qMn9ixODhInG+pY$H7ynXIGQS^L&4929b zGd+}eee-L?iNhpudgtuP9Z z`CBGr`I3P8w#m4k)JqEZHB2O)bl0P>wQhK z@Q$}MOtr@=Xvu^c?NANWs{jupa@U9yZMI`_50>zC=he%MI7JAos|e5%CVB3i{yuMHom?kVC+5s@rKS*b5WxiS?K9l zry1EsW?O~h2fSTn-QR$&rDb-fXI{UoKfP4fde{!M82T!jMs~j^%y*mW35bE}yT7eX zTEP7R1opR?1m4neQkBc;k7ucTLqrc`Ipk5f7)J+9Y5KqDIYT`Bq}TsXJ@&rXGNdgC z=jUWvCl7a~H-(a0sSkU*2cNi~2OAKm<<+geDt&j`5gG_2dmw7R@e<+Jl%WD0_ykg+ zS*-|OjS_ZDP%g)7c%yGKiIi6=rJ0EJ24b zj8T?2Lx`=>`S~2Ah=+Lh1m7~u>?lkIdHM_#iUnZ~o{CADZJ$>DN+E?Z)B-4?;4h4S zi8vD!Vf!Nj$m;(sB6>))QKnn(Zvo7CuygRVT?A(9g)C>t(-*{#%UG|5c2II@@o{=1S`HbUh&@3fA9RTD)f(1P$ERm=#*NeYv#O+2GyNTH4q@ zxL^E?S*V*4b!%i(X&E-x-5a-l&U4p$X;k~jb>6?dP3{R~ULrM`I7-=DrZau4*)@;l zL;*(U@8nN|r}X(R9@7W=&m5N`a?23RhH&Xc43(VfL+Uy4L#xakaJB-`z1AueRnYWr z*F{9GxCI5_!K4Vah$=l^YIj=k38}p_4VjQDXps1c-ARZe8Z)?F3#wjp zY!Set@>BZ}HKQ21y292#aEaoUFnaYy!ydAN-uFi#41hc-4-ah!lQ5J1sJNwJ!T(!@2WXI)o=w=Gl*;S-?W=;D(!X>l=N$ueygUC}$NTt3 z0}ILjgM@2=W|r^p!;3D_|FB}j@E~~j0O~ljA@SDA zo6KWk@@5TZc*Uy65We+`4~ScJ+#6k{)ojL;6}NO$ldWw#L}%~!&7WxcQ)_SR+w}kr z$s^SS3!WStK6_9rD}dpf#}0OlbfAr*N#78%u`SN2o6-j^%Z#-|G=bV1mUD>2+F0B< z;Ag0%9?!wpobUR1%Yi7Fq9ij+@!Bc1D&pm54@$@1dmsr)lV~nj?^EfBrbn_ctjK1P z4Q>&Qcp^>#6A4yDc)@~$;j>Eq;&ko#=t&LdsL`u&LPh?Pg^(I=SgwtxILV7mX=lZO zi1{Hm9aZdW-n{fnO-%5})?7r32^zqAC*e)Mn}@L@TT9-`MLOe)G-ysHSd&eLX#7E~ z7pJ4IMQ>_2H~NEG<*)HC)M1?DqO-qH>qFxE=QH^3voWl-u%N=&@sO>gs&>oNb`;cT z{WQSqLyD9FxK@~p5CiGj#nYj~*t1~h(XEG2C$xoVI~kV45U_`E!q~O^mSPn-wW}1V zp##eGcutV5v1t6+(N#L=m)QjV!&T9IG{345ydKI3K`NTivBp>ul33Fz8cYl*21Scz zIV@SYK0wV)w+aQ9<&UB!kV?WryB3W?r7<|=ZkJi&Wu~6q`jSWW(%}q@5Ktoo=pZdr zYc850?j-a*qGiD<;&K4x&3G$z^G}m;cIk7Ws$EeFkMB77BzkJI6E%_SMj}wa;L#Wc z55|kr7}hG%Ohy%{h&)3$A<_nNOA~gH?9)i#LpX>q&1B0CiyW?0)|tXU(?pciRkO~q zl$upjbPB2HhHwBuDG}^Ohm_TM$-0=`{8H zC0kDan=B5R^?Q%*7d3T%=~^P{cQ!lS%+subU4(gG8`Wd)Yp$<>T+mGA1~FaC<*CXC z)8j)Jht=q6w;>mA%R$}z6G-?PmL>xkq4rxD30f#sgl)ENurz52hg0&m?Bi9^&?@cs-zj` zMTjd6dtik$az8;d`qKb=0@n(S?C3A@=+q7Mfiz}}h16V_e=@b+3suGdB}g5WDXHWl zWo9a6Wy#@xq87pa6O{-tgq(1(jv@^~3Xs1g_dMl?W#RJH>1446qgwnGEq3AE1tHFCk>x$Zfb{KYKifVo7 z1(AjrvpA9)8~R1pZNZqxXq+R~HSc@Wex={8r;t8woIus_WyW095GJL;u0CJnCZp-h zfq)X>5(>yD(a@f-yr!SxO-#8UTM;cLQ7%SP4(73WB~_@9&UdIdnfgDPHc)?JV@&1O zT=lc)G2sVCw&jU``!2ag5tW_xRu2_~3&RP#2@Zx+Sn$05C&Dh&PJAsIzGz_r=ag-- z-Nm?oG|iSnqNB%iNbb){@Wx=pi|C-iy9fl+5e-SMIERV5G(>UmS`$S_xF{i#rE0-* zrF2`!AE{C%w6k40TUv(T1(sIN@PY%UqH0>7$+O&1gB8a%_2V3fc6CCw97gd_5#zvM zOMmV-4iLfrdiH}vjrroyFGY@L$HKt4dwur}%(njdubA=UoB2}*h_KM80FU`G;6Q_% z`hEktzD^PEf>6gfcp~OFU;xVl%s|t{Ib4+6 zOJ#lvO^uqA;d=GXCBg*U{T-I1TtqV-?XR#r>HFnBlj&%D{Fx<_l+Z17E1W6>f3pND zL1v^@M$*^_Ho?>6f=Y5_mw8$h1bvpMS4S;2`TzRN>pozC(;$K-%WvQxWGugFsRSFE z`LDPjY16Sr$K-f1cwA`Z_9f{HmsA{^3*5IS+|zs%-X_h6LZ6g8L-P=@r$uIiHk4>h zMP2F-Il;2T+& zAQ^cyNbNfUHf5{D(ts=A9E5%I_uygasSdlLV_5^ zMYQJ^CeliRn2$R`UcQRr48kii)h}qJTDG2@+Ze_}bT+G-3g?XB7>Yrm;=70V@|2P@ zfEEue!xXU!P8IA1GczKDciXuc#t*U*#-GOAySR@OBlxpoC~&UN`1dxVKy1Z)7?U}QZ(mlk`FE0czh8j}Tw<@F zH_!{r5x;;@-ZxfnZ1{{*f10#!h6w-z3H%+1FFfV@4YY}lFz~&hyhDT?IKJ0~R8#7@ zT#Sp)^Tc5Se!0Z&1`zETP(n;b=E3BWAd$bo_mI*W-KI7FaH|6?4HF=GH{cOR@dYWK zB^3TN=rF>dGvw3>{J#dpm&w?te3X#S|Ca~{m*1aH{(1Lo@h=gq&_s&?ow6?@!qLCL ze_`(-(I-{{mqDZ>d_7+IDx^sVvVioRmvgxPipQ~o_Qwm^QK~(pJhUIgctib6cn(0% z{!0p}|F1!qza0~N&9A(Hrpy?API5mE=J`;C_}eiop_(oOj@(882K<}5GMZ=@XN()@ zDNU~7{%~UYj9i7{E>45jq3nxjXk6iW1t)bxHn|Pqs9bzcMUtv zJ)}PNJtVU!Mj&9@s?W1!^Lk?-;^|uFpyeUgpnDwmCLoJgKIOndJ;ntaqtnklE7LS^ z&^K7KMgP5i2BE|(xs5#GJCA;IIz0O&MM=WFr%hRVJY=5*5lav$1r(k&eq#jl48iZ~ zCU>3rIIWax)3N(nd@);#MkF{;P&BL`N}sF{c9|ZX6!QcF_#sRERY3>K^y~VVtgys2 zdw<<4ZPkqk@b|`jb*0~-8dPix={tcrGD1BC%#Q*a- z?W`k9WQam)=dJd&-5?+|Ho%$C&4}?f6tQ!le)327F5A~tOM>6ZquF==XRt4TQttD) z0n3mDo8W~hWd+QC(OC=MT*Z%B{psydm5l{(4$VGNypS7Z^ysBB)fWp{e`)WzF z%eKxM7XfgV%D=-cP0t(S{v!p!cVS8q67fGk+5HxKu`+59T+?q(8JoL9nNY6=K#{to z?Fe*0w0Xe+%NBDY^z5UAvn);ktB@&xYuX_r(>23GI<*f-48F9Tk@v>sA{yG17A)(? zhkH8yd0%SR0q>WvK!uarq#|a%+B-5t$O{iOSrXF zMG{Ie4{q%woK9NCaCreVgIcR^_k;^SzZ38-!{Gsl7iSs8AM5-E(D(w1y`knM*$Y$~ z4uec=-6so&DK&+fCv4$4II}Ba>15og5vvVF%%Qf`w|8ftu?y2#EoCq9;kuZc@cX70 zqlYtuEnj~;?g{|(4u6Xxkui9|cvEG(?|T!$75j9{QZqii9y&SRGBABqd)vOMp^3$x zO&Eze1~v3ysU!>pe^Hi#d+2ehRz4vkxs;(ICz%$ZJxy0b9RW-MD508z?A1i*{k4p8 zwf3gEpVPAEFg?R95$U!OHL>Og_0eLCbU!Jwgh)p02~mlOgzp5 zADB-|IY*TSaRDJp7h)RdggVlA6ZPgnbsnFWm6o5Cw1`Eg44{%m5ay=VvB+{#qGF9B zMbNYJNL2*DC4V?ocLpz;CVh^7BnKXj^0V$`xv_^6!|?gXR)+nZNUE|N7^NQ-w5cd{ z6#?RN?gtp#tu<6(kcS6OKU5Bjn2LhGy?eKb9Tp)>330~<>hMBB|FPnb?4Fc!r<~6s z)`>Eq*<6CcCah4aROB6=sa2+f6lMqy;bhD6g-I0JFl}^Yykst7?00)yBO>N z98A#Bf{0GlHjK6)qOIagxiip)%$XA0gAGEYFnb1A4aIoNq`Q}JtXnly<&~NxSqe!j zK~73-vs{No3ROpQf@>hd|AYpkWx?jY<@8_ash+g2!ofDIBBVzocJ$J9IT#Ae%w@)PI1U}GPO z7JY*S9z3Wh-;@A*RF5Pa>f^oPz_Ubydsi>%BELle&{2>D@jgaa2m7TFmFS-=Fp?92 z&K!#V#~CM7=zPpN=llk&6od&WyeV_m7N-GEGAc@2YD$4>x8FGJ2M*yKq6ut0DQsv6VtD?!BJTCAzf+g|1&TE-pSih}!+vR-KbPvHh?2#%^_XfG_F*{YbTaIrL zV%l+}@erd>Y7N*bBU25YQG5pc0xprXXSb=4)4KYw`}~T1^4EEXRx-@b3Wi^hp{~RV zNWox$puaR$tHY3rtL2maH_`d@Oz;b6$j~l&Dl%TnOMA z^sw)slpqz_oUb7SkTBFq5cPYOoK9HiQ0dfkl8!gWJZN$t93a3CM4 zmCPVkH@@if*;P>|EnquwcT3SCI>9+rm;hapxE*J@m6pz~=Rm_9v%HmDNCvet)=#n05QZKgT@cvQ@7AK^+W$?8h3@v&H!=J51LU6@t_lUj^?SiVK#pPmt74n8 zsf&xHo%vt;teVv}oqlkk^=y|KwC$R~wm8b}Q=gL6ZOKvCu)4m0G<*ZGz2{7T&zIjO zU5^+~F-yC=K)-$d-rM6mG%C-Sh2WNlkZi;c#~3gNB1%n5!*MsaQfl*R$i|cs7QsYq zz|Z4{{jKBua-W~wfZi${)DxNF@X))hS*=V!pZbM;8^ zL4<~ug7~E&Dx?t0#m3lk-7?9gP82tNGn| z>F0`?@|?w_?_1&qtj4?a$Ujot{OOifhn5H8@cFD(6;}o3=a+G`BoLA}%Q@oSZUhk< zS|lX5VqkeNf{g3!%X$;g+rX^kW_n}uSN2nku0+x{u)JT3 zNuR3*?r`Kxm*Cgq{UGgU0}LFHB|wb3IKsg)25NeH!G+f(oG#s>u|y|aoS8sza_-&^ zN@eDncef!VknsnbL>^dWxOSiN3@Eq$CTJGm&OmUtt|#i6O@ddm;{{}i=jYm&U%P|0 zG45cEpAQ7?JAT3fU`;ycd_iuyjlgLRa&1y)EG8V$SomDi~d{!qmGS_Eo2c>I%|74me}9Uzn4 z>vwd`U{-_Yc|J+Xuea-ww)Ak{!@VuwJcaKaIOEIlVF7)lVqm1~u8c|XBQUkZ7}0R? z2rUdP6(<-LLWPw21=lKc#kJO_G^gi?1F`A%(rdA@4f@Zk{Y2|f83b6Wss;G-r@ZiA zrK-M~8Y%zR1s^@zZ#BpS4>If3GjNcgyl)c4ES$iCh2NPZ)Pm%IN6y>~+zd7S^2Dmi zfz^3WL3~PFzU7NE&9EbtZ`;7a$O5Idmv^yfLijUu(|Cjmh8HFpBjW-t>2keDuLAM~ zQ8+Amh{ULzr9tW#S!bAg96Krx4}VnyZw?p5=#0`XNFaL?P~b>Xre}#>^IAhiFdu!> zO2ri;J-|BA2#UMxaU~>yLO(q*7u&K?Kz{;#tO%yqHF{z{17qr&e)~>nl5{W06~af* zXxpUZ*hRNIc9Mjx*$u$xK4E9G44UUKr1Md*h@M=(3ATUslYq}|>-+5Lh=2fHOpIau ze!Omb3;9pSeskwJ8w1PF{)PhqLH)O5X29~xDuzZjf7PJfOzF4#!Gt&R^IHT}YL>K3 zVlx^F%}7YoBqFXC$Y;DdjP>|S!S?yz-+66fnJ(+3I`3`cJTGad$Up;Nuw6tX!HKy) zW}b~c?%(jWTEEgYP>9mdwEgVEaiALjXD;$S;3a(No(wUjj($d#2>866j&ius!l<=i zM%AX4(w<#O@yXk(%5}p<7d;Agu!6#9AQ}s9ypAK)>41e!fa1oKNF$0Je>UtaJrbm? z!5P;hED}ZpCr+J25^I;IdpntoB_^PfIeKZr)-!BfWeoTLbipJRZ8OEAQKmy{+>=Wz zW*o_U(K2f@*5?Q%T4!E}(=f4?;eew|6iieklD+kjF*|(?weR0EIJnJ9-hD=(NTiEZ zqL?uw1PkRI4%YJyj62WQ`mtoh?manZEQrn6GOEe4EEJKAD*|t%GYzCtE9p)mVxlt2 zKv%2!zthaN?z%x>-qxz5U^XG8~ z<+~FxJ5ap_E8ThcaRKA%*^N+JQ?A3w*EV=w5~1!1%bIKK;mVAgCZ^`7bvw>Q?~#A! z09H0OuC3PPdf2C9nq`+We0sXOzA%V%esfnk%BcULh{^G|kYMS~NrTzJ_<25e*aT@X zZY$o<)p!6wa2906G#d5;0{KfTb0=2;g{7*{d2w{u{8%=nMID_*ww=^0qQzJ*+z+F7 zXXcOQwqE_I-duh=S@`hRnOh1}sqm@^TqY0RxJ}F36oD4K9TfwIgZ`8|{uJfWs=7UU zNHE6f`k#m2!oRz|ruI;rmwL+8h*x~O`5*P>l7vXw{uEj5qyYgz|Mw~BVqt1)%J|oj z`L6c|}ji!bZ05glR|tC!0q2&kp-O_6mF-UdGu0dqE^yl(=lB-m_k*)op{Tg~9ZIk!+i(?Q1!NL(!p5 zZlez+?iB?;m~2NeB|y84kCs6Ugicr{Ew*akpz}cfjd7hH`eS)>4rUz&9TuNii|c`!Rsk~RZLoy#lvS^3vgX_pMvYG{$|_#3__lVIoo7=#ls|2aPm-^$ZI~q60mra3AMrX4<#&SP2U|SY51+f zLl@Y7!xPjridpXY_PoEII@4b%!KnA;<#1_#w3gsa2cj4D%@Ote=r`lL&kOah^XISj zIo{16V~Ks+zAqQ8`n@`S$WlY+wYhIMdu!+R{2zCrlwxfNP@z&AAYNgCyeA+R3i34i zP2@NYq@{Mdu`P$+jega53?* z5DLyNNckkM;8E-!Hinss00}U@zC3WpdSYmIs;QIA)x?+_j0px2>Bf`gZ?pMD4uf({ zwIU`R!b)whBpH}?ec^t3^=h-EQe(DM8^U64rBlmzqrvbc%p_>{ctak9u%Bi`P0O6CF08W zu5)wFbw=A|9oJCUZ8#}!UB})}Cu8Jva;ZaV#kt zQBe=dnB*Xz`Lbr5qST$T2v9m^g+?_~>wJpcS_;dU%2Q{bnhL7BsD2Ct*q3caEOTPG z>;(q4G;fu0&>0No*+w7WOZYs1wG*mWqa@UCx7hU0&skkSjy}cP{dRROCRnhnlG_PGVT*!4`2hbL_kT+{Wv&&0ochDDX}`Uot==cj#{^RBQY80L34 z0B!GP3BiyN!dowmN2dc6cJIn?e9EQ6rK`p~m zTOW2S(o61nFrQX!5@my@eh6z)F{PP@J)&Tj8EvW9HTdz`1J*h!cb&mF*sE5SciTRC zyHS_756cyl^L-LRcRc4*X&jNY1?X+%_oi|ciacdoRdFH3u6hZMz^Qcd_zyhbSTl)e z3wwBKkxpW!c#-v0{i-N1wHxONkPwTbwKS_2x2z(cev()zjGPoSKBthNSaUyZ+f-!- zkbzwuMOjvPDEliV6%L7s@XVO^ziSR%e;5ZMm1RLw5zSS=CdG zV>DgT56fxH5Vy$~4Je_~Nn=c?$lwXG#f%t3TJ+oHQ=8_%a#Pfg7RZgSgS=@FQ?D&A zhOb|9$MuT$^9|~FKX%jUV4Y&Q-fDG!LH{!s%kkq`DFuGvK>@SZ&%octuFfv@wi>oJ zjFv8@wts!?RY%ps4KSgBJo$)?CybZygrO}cAycB{!_`Q={D4a6N+>e=*b3|2asTQt zdSom24o1kv185bKa(008x)cWxKHVJ&-XRB{2Ma-G)gW6an@ecAwz)$R%Y$RmjE|%3 z>o8+1LZ}6SnLCstoK%OwzKuCxH3fXG7!HWEQBU!rXlBEaU_7!U?_Kj%!^cuUd10u5 z;xfFfrq9_V53X&4%QSHcT3Y)by7(s!m%4#^D1o{N{-NvdDzg7k_g4wo=$U$8evS;a z(=AWjWKm&iPL;3mhzhnQ>_A)@H`5YU{JBF$a;v96862Bs3;*NE+13}SvQ3C0cCM_X zBH8c6;ogzs%zV|?E}5vsv58ik=?t{!<*M*Yzg4@5#Z9=V5D9iWQ>lIRI6X3*Y8p|> zWDvIogK>^)!{h*FMpqzyhqd1rBTZ8$sxepS zLs~ssME?=?s^kpvyPBM;Ykd7bw^WC>-k_!v9ECaI$xB{;O59 z2v8N$cXf`;ps_u8T%jynD&8m< z46-w*nx&zfqacG(spQQM$?EE5XCocsso~+bgye1yBp)T=a&g;s9Iak}Vn8IjB{)o< zzB$?GGM{Q8m9*pZggPA5!yV5SnC^4gj>MqZWI#YI>h!A0 z>6l@vD17cbKg+Uqbt03d#%8;xtC=gW*i7H+h(go^c)9cr-l{nWuihFC`#|i9I48R| z_{F!y?8VklIsyIbE`{XR{}`pk&4z|s1LtJIf!W=E#vFF8wnnB-z*(6;+1<3prrjPF zR`+(PV7$0ab9f>f1Y1*qpqg&9IBD}82nAN%S?(A!)5ev|rSUXvRklD`1gk8n+hp`- z-)-)9Z@??$uh;9qge}ByG-r;hK<(0P5xOIpspb9mr_>XQizg-6HB{8^vu(bDmLI$C zu`|C>*5@HnX=+QUGTqZF+D z3LP!?w_lIbMcn9LHv#JcklPdz92+s0;oWLF6`x-b)pzGkm*?Gv`Rok}5Rs!L3dv9uIiu%>CX#LUvi|N8WU z_|{2MA-xcjf-3X-0-2m7c9v&fy8JiJ*tl#&1NNlIata!gbog7kC1Fx6IR?cjYBKcx zPcMqY{Qm1!@3p`kxEADhrw5s1a7w@FMpz`O4a?7iXorPPxOlet&5TOOXGO&{Hf@Qt z&)@Amgwk_v*4J*=+zXBwhoLCy&7+5Negn8%bUs8PFMl^1ojW`kbyCzHM-Rsk_~XKN zOGy|}&fE%CB=_#9q}KFExv$(0z*=|D?p}3Y%j$_ncV7!{L-*^d>y8`*dxs_x%I0i7?zKj4QERjXk>l1>?p$?-PLK zMAY)d42-orw;o+30+{UvJAS3u-#EIQ%9Jly^ZpU-_)~t?7~{+KG|z3bF6VEU9w-X^ z?xSi)s3S$T^Ao`g?=Rcfoj1*@=C3d{h_W>y(Yo2(iGAOuey^hIyQ_O|pr`ZXu6yIse7h^aqf5t{nEh_&xo^{6TbE~SZcu}bvDnAQdQk)Q zcs2TnaQk-zov>7PATzN0eICI_&q z68^8Tm#wLZr6HrGt)aOoGlPSj`BEpOO0x9|gAK9vM0EfaDotKkl4ONnM1Y?Q>85TZ z;L~bC1n{p-a*_ZSQaa(HB6JOxERWi!Z% z{{@slYrmUY*_oT@UUo3B#h6%G-e%)t<7ByPY-eYUxx>zG@%IPVtZa?gFYg|FhMSzS zexiywa^$oQ`Z<~|lxA||$O8+pM-LR7VwOgoRTS(G4}T9{&SFX`f6l}__xn?8Lu z!$j?k%WUi$i7=5=nE{KGu+Xrv4EtF*!-!BdhiHS;R3$bq3APMY{qd(G_pKYzv=UR{J6AcqcK|J8yoMi@oa@)^7N|-LUuV6=8J^vhSS2-Xym?DepKgt0!aQ zc&*|pmgaiXqSp?07T7Vh@HxkEcje?=R?F=gL)G}fPhQ0B+r*S?cE+ulEC&L2T-MX? z2?!Vz4UwNeKQnJ@{fb`Yh*!Sjiss|TkLPBht&~#4L#O8EGM+y_Vn5gOIIm_Ssw0Mf za{erFHp>A$t3RctQ~gB4qZ#y>`Tndd`7|k)$pBuv?NtNiaF>QVo(I)4ZIMZ1HLf@L z_*AA_!+FQ!9hQbo)_-=Z6&VKPYSzrp%f%|iBu==nX;!CyeScjdc+sJX)_uME?5L2h za(fgvZnN%CBe>XpK`BS2;8O{~g!jzy{ITbSQ!Sx4U3TWuxG^(r)E3vJV!Ga(yS_f^ zI6hZ0sM$+M=a!&Z<5H0z&POjGpmAL~t`BZrV$yq!RjXEg+-)rYE}xz6v1E$(JgA`c z*wWdb6*~Od9kzX7jxCk6s=-Vkg?MRD*g99>A z4$I29)U$b=zJ#<+_hF##83+gopN);B%O=@%3T!?Jt{5%UZi~3(a=5?AD0c3;RG<6i z=xQc;N2D&?b;vgCjI$6VBO>Z~e)PCPiK*fewoE$SVRbZ8cy5)_&PxIJ}F;Md3FoFok~gQXVF?C1N$LT@T7+1eIvtc>RcT;iP{slZ5C zVEgy8xtw;F%G%@UoW39R;SmxN62SGzGiu1ao9j;UaasQ8qjvpxLW0}QR)rw^r zyh(ApD|Ke$weG%tev`#a<=#gV?!&T?h|SnxEy^x_{rZ)x)%;t2y)_1NJKUr%{hbYN zUa_b~D)x>cHd*XF^*}6_N$`+TniP#sDFnx*S0_n1Eo-+8lU#7~-abA)6AKGwuf4sg zWMyT))W0Ic^kFmPuVY-_y?ghi)_vFCb){zT*XAZK!^O=p*Sv-@1+b))I(6@?QM6FMhOo}}8}!QJ-Qn((3C4GIXb|2E)7OzCeF?>_LysZ+N`Mn?l~ z>3x|}OVhdVg?HR-GT+k8t-7H!PqW7K#EBCTOL?_BrUzDHUHeg$u@S(d??D@NqQY2o`-T&jq`wj44x9cZvk%WW#A8E>2EP>M#MPUkSoX z;~u*?1^QplCP_x~cn1Xq$!5qgCTZ1qh&+7wuy#e-K^3d3r-v!F8ZQ321$$(8f{^f1 zTwI(;qc24OB-}+5(C@;+!WLZLM!&xS?fW=~s$EqtDcm(&?<&%s$<3#S?f4)8J?d5gxaBo&90HB1A#dRU4EDGxm zGil%c{rmTfo2RFz&t|e{5UnA$`5ir`x}!o8jbG=2_nC_qO*$6(GTz&)PKoLDrOS#0 zP;rw;OG_u&On&)tccohX```cviC$|M>kN8eGkzeg~gk^4p)i$fxlUjj(k+4JsghVFB> zGUo}#XpMI+t;j0DK)=A?0=!8tQ3(nPqBZSKcyN63oha=skA2)Ab*oX{%C`c&FMpk( zht2uuHr|WYO)UFG}*_sRS zbKS@JM~IA@-(Dd*^dHF6ieIojPDs|aMrW_{>hYsTk80_j?(OaQ*SK!p$$pQc)Au{i zN}{EuO3Ht_14=^cU#CE!}h4@{KLh=YOA_^2cM>G0^$Y^fB0kMT2sKK+5DyK z`Xu!V+b;!rO{<=3{(G+)0dQ%CXFB6o@|PR^C<7oW-L$eIA}(OILqf>W*bT8i8vSTW z%e3o{6}4NIU7}>ypRd;xSdlx37N;jg!nsyx zXd0K;#z8Igaf)ZuV|R)FlY*wEJ5JHZK217aGXb~iaxk>3YM5VcJMDW*`{Q%B1u{}n z`=1is-Q9**lqVgXRMdT{X)F^vnZwcYNVa%rhTRpFmfQ)aV&DdcIb49)lgyMYVA$M%w)^aN)v?X6JC^D z1})?P7jKJ{m<@*6E!hPb#W`Q=#5t~v<@EI_2&{JrN8NKSJUG~_TbN6WA6TF3RfI8M zDwJ~6Om^1iW~NqF*u`96xr>cDX~pCqQE@+$g631gH94gpG&eWP*x41=9vbdRlPneox66iyhoTTDYc*7y$o!i2dymE!U-zd-1(ttk3!??ac%Z_txgS z5?}EjetdEKv90VZgbOz;(wfcY@+i0Ssy>K{jE7!C!MQbqFb{&^F-X3)cnh9rcs0zZ z1(wYMYVdvYrhBbZD6iB4D;}KsH1Y%F+-LP%jVgyIKAR6an=4iwySPCu-1k?fqk^jJ z=5!CJDJhLKx#DnEFYK1q`NcpK#D@e2>k5W<#NN%aUl@oIbgxt^F*RV*f*tS~FB-`; z`zt6&Sy%T1L_`XtMN!a`!JRj^^F&j#x%mK|*fGV0Q`cHVKm;!U6~^D2nE_U)lMibZT$UW19wAog&3Z8ktWlsVGk5Mr9Np?sqq zGtisBIjbeTL4UqN^1*`#Un=bvs0Z%a&xcGbFI%#$jk&Jy7Yl8C(<2-IXt=XnwbHgt zOH2DDLq3fJ@N2Ru=+bmc=xr=)wBdy>C012gK%5=%u*nS`5Oy=amTYFsBKI%N@>mQ< z>|ch-q-)kx4u#>;#dU&IijBKJ#Rxh5()O`O8mFjzbad3MW80)B`AvlsZoZ#pm`$TH zWMMZ17d^MwDa63=nGdM9!2!gTY1}cUuYV8|WBBIR)_bMzn(IM;dh1*e0a4W8TB6rP z2EsiFX4nuVXOK&dYSFb$_t3sG zexN)e)<#E0{M~mqA}w||mN0w-JZr}08#_chaco+(BQb+O5!87Th^Fa91E+R&T%4Sy zb~KMMdeNW1e?@;kb3en7ADlzfp^RfZa<)R1xGudTHj@-fUZ>Ug^?Mkti@q2*apN z6U_{7_uSmv4#;@cxnZxCNcRsWy{V?XsR7Am<1$9>hu5Uz7W3oN;ys4VQRsL;KB>ny zf&MY49R=c&dGh41Aw&BMQ+|}}QKGrYW}?A`1AN*aj}$F|gdeVTuad`hdPu+c1QaX> zc7=MTv8ibRB7J7^!K;(}{yP*GFV5w=sjJ5%n^E$NJ76tl_E?{l{@nUKxdSl6C?#R>ng(pi~<~y7~$IjSsMlbE7% zE#%b=Of>k=NEuz^GJd;#WmvUSa5r1i?e}ADt1oZ+DJ!ki_1x7Z0`_ zp=4NFPs>hwKuU9`SZ4R#sz*+d=l#|@tI8rGB5~N(VY;<>QKOESuiaL}@_I_DLYHIj zIrmHmCjk{WSITJCi4IKHXNtH{+9#bCbHIPd(GuSgVr`rKAvbvh%cp;v6|_Hg)C6}nfEta znipb5UN#@F&Q5)OAA3hvFU9-q+dlzXBp}`uL`1wnVC6wdMlY!fMcg&}{MQ+v=G-p< zm(n(tu+ih6r6V~XBS%xm*nY5=l$1mxxUO$hhHa0hr>EyO>0vO?*EjA>l^iZK@Pj0} zHaF~(0udY8YB(;fudiP_`E%AjKzt)1bWryBqG%AHSu(f?iIysML!q->Y0`8)2eBFh zR=aDqv$2k*qm}l-x$gODAPBzrU!;eeor)Argo_kJ1F0*PH*6P-hP1G4^qS5BxnPR6 zF*B0vDQ2Q9oa4KJGr=zeo7z}v%*xYAk9z;8Wn$rE5itU)C9JgLA z1>96wdv>AEDdpB-pTf=X#kInX`0N;GQY0Bb)EWbR4VPKPlTq^}fLv7qS{eZA;08Pz z#dHeH*h@wh);7WYS`WpJHYV8Z&m2qnMjv$V!(+emkwHlxKCA<|N7H>_n5$Z;?QNp- zG#9iSF3xBm%*&>0E43PDYv9l?8Y;FL7tB$w;2hjH^f=C@vD4J%ujoJ;~D zj!Mf-PDz=Y4%gz5zHNpr%>jrpimRQPn0U8Pe(1T63;!`WNwXaJCpC5UuV2>gU=&)K zo4Y_Nw3h;3@Vm7RrOVPQf>L#>V@LGkAr-@yxKejGw%Y!&(C0M(L8jSYF1iN!M~$Yz zLFKYBm#mAQU;|Q+1Ks)<5)+f%pQW4yC^?v;_bp$?Wja*3ZCC!@<_N|VEK%GmdU6q% z5(r2ukA*$3k@MZ6bllQDE!71osoCzepx0LcH(gvR;o&+S@-f@4?w~Hre*b7B+blBy zV;4BM=~8FZm;ysK%>S-C_6a8OJ0cq=DYG0^gXjojuox+qT^cTtmyvmkOw#O=>#Cg%08L`Y)2Efe6XLK|b&-h=3muBDRw0!L%saz<6*w?a z(`kaBKSN&h;NXCY$2`J0psCoTcO86jCVXafV`HE@Nwma%L1}5M=GnV<@8-v9sv1gR z%BHo_k)qYMS>x^PlDBT%a#^mJWzZlF@I2T~TdrJSQ_NP8MRgh&WQhfq$A0mf?B=*< zUCQhT40p(!XRYr|t@|$0_DFkze_KxbrGLSjO}#t;g42F!SW!nuXBCI*e@8F6de2wxPfJTn z-@w2DP^kEtoS z7W=_~;|9_$E-rDCSw^w28@~<@Q2p#SfH3W2XUZ!cs^2o;9YJm@BG`__O-ZyXJpvb)m2WZ zc){3N9?bi3cNP$*wR@`)J{z)0B9Ru9u$;^8EUTG^fW9IiSZTtD|M-IgTo;Dr+1p)} zC)+{3A?^$jdz#~b-qV%)+4SyW{4095JodI027WH`?a+Dd73h><^QtuFhX2qba6gCy z1lC<&85bH~^7i(o5)GnlFIa|6p$;p;F3qH?gEj6fhy@a2ZsKuR8C&A8m6@4ZSTJLI zKmLd4xW}$V?LIHN>R=XFqCf{D%eTs1xYhUL%}&nytY59P4CVyS6Szwkjr-$V>W)Vi zj%gWg{hHt(ei8h!5&QfcC^y_pwADNaE;$8-5L9j(T5|Bg7-T7CrN(>g+!*xZjpj1> z0A6qbC^Q@_#@^muUzMYk1-6v66H~aqzh7d|dLFlgRrc`kSpEH5c3~i=#BJNw$L|$! zmUO(J%R){WITcmZL?z;ODR^^PQzrfAaKmO5+3XTQgB(0@U`Nm zu5ohqOpqt-E?2R4u0;@MfoCThSEvKIddFk0oFT()dsPi2)OmKzY;Z-)moML6US5Xh zcT4h)CVTAf%zsTJyry}LJy>gA}?1W0>BT3VXh{F@ALbT4@CxD^*<${=g=V54s^Fg()K z)I>lFTCYFn8Lwm{XXC^HIl(PpBARIH^nU-3M?hum^zS62xNP_i z$3{m51{b6(Yj8@es)dirMjfIX9(Oh70AJ7G9-caNYPdj8^v%+)rzC)QiBTtQ05!iH z>}GgbSy^>WjeV~quL)?C;Tl)R7lAz*(m*Ba0Ipe9;F9VToIgsvXfJ}v(EDKqsNQ&zn)F=R(^c&P*@m2t5`6s z==;eK`Xd$5V7~d)ZJs{$*Yw=Cr&NCZp%l;ylmFVVJ<4Rf)}1Z)4_@Y%1Tv30V)&DQ z1tUGX=$xm{thtbocfdB=txk!7{uQ^X{_V|>q0`{Kvs5f98LN8V1LC^xxt%M zLtSyGzXD^l_DOzj_?JJ3I+m_KtBxF)Ess>VEEY5YM!tN9{Y#H2I*?W%6Qo~CT3Qw) z!EmL0R+hvkQh)8E34JXj=ixER@2^R&@2z!G?vVXBawNg&pJz5-LQ~Ky3%v?@$zSw5 z=)eLv-f>urU{=a*X5vKWJm*Lnx&S!I$;s_Tb=D7OUo{r!HIY+OFV5rN=3MwS(E!d% zskU{mlhCiNpz<`G;G*@cCc5RegqWDDwYBw&WzWeTZP_wQ4ZvikroARw*QZ5BodYm5 z9E6zZTu+L)q@*IM!x(i?6P!3f?nD=vCbYf1jUVarhfK|k1Z*`a!8yyywdRk}? z9V(#XE#TzPxVT)PF-#;NMV74Xlk0d&Bw@?!q-9o7ruR*!LN&|A*1e_qeMhRg~hSJrY)9b(dUHQ z(V<&op27(~2z!(L9UQ9RwmZLg@j_feqIamsh$c)@TwG3DTRRR*CFD^Z{QiCW9BfUa zA`e=@Lv-c0Zz_s;ni|Ly&X$-D$K?yg>>mTtcO|maHIB7BFFEI;;h8A+lK%X^4_p8L=T(3F|M<D6rOUc|ko1dM5;q%@Q2MKVB1Q?d;<(f@R zu^!+q@<0Dfptz~@^93O-)9)yJ?oIX3pVxBx?FIRk0t!0|)Us*!2QP4?R;6@6K#&xm zc6n!k-a&FI+1S|RGF?Qc&}`~dEC+jQ(rYenASq4z(q&zKyt$5qnnWHOc(MgR zi3p3Kl+;vaM#e@RlpQkF>MqR4_@XD?kWYOQ40bbde|OVttlHVv-=C$A2RvgYrIuR( zQ|k%1z?z0lKo?XLDcIf5I-17D=>XCUVvtk8$;rtKJ_feu(z%~q$rGOAFZVH%aM zQ{m6|4=??HpBDeS-^4iDA3Y+Tw#=SmYk!LA_<+<;NSh-^Qcj5ew;CNPxKyfteIhO# zGAEMXNY-tyBaXdUH+=pI-ITqAaM0k&tj1q?t6@cYO5TbzD{eZ~dvEq21sTuVprvm78pA zY@JL0uT-I8K|0Qhn9>x&ChD$ZE*b5;bkIf`$W80&ez+$fpqL@Y=wpBE*s+j^h=^H~ zJj_+2mQrA`8u#!kRlcr}UbRw--P;a(W+@Btu9zl8gO1BU_TK2@X@bOwh`6w3BQ8!f zfga0b$R)O7R8l?PxW*|N`~Pdl&)P|Rnf#mTLV)u6G^ z+;w;g+D8sVJ(u6m+uFG+8%kkDU=a$TCMcl3%i)SR34FVO9=*&Z)ih zS~HgoqC7!{h?>Ql^paA-^qA{P%|lAG)CuOy*7+*s)``d+oo7{R=J5ZKjgOU!^53;@ znf5Uu-$8hqwy!HunA^DP^0F36nES!!HVYyITuTG#gmS@Ms-Y^WwRQeUk_!nyGqxwt zz02z<_*9+@invqpStktSJWJE^*nSM=yk9R!AhptdVICr}QIQ_)h+Id8_C)@N=xB4E zXpqQ|gMNkA&}0n!;4{N3B@uEym9}VJX&9gq$hKmeNfC>Y@>_$`VeDF(`i*E_ zOqXDdPM)S^iEdYlDM9yTN{Xp`K#Tr0mD-i`5I^~AX)hb!oV#u})qG~{cj!%J`(lzkf7dW&aa>Y;IN||H3WZ*JGZC?rXo-=X$w458O&DN7WFKe@II5tG2P7&bqeV@qg_XcbOqZlanUNFC0aKDt4 zlpCNpb! z549mlgtLV*pmPBj7r_hksPd!y_RI=-nl)VJ-#7%owj<3ze(|D7sl|A$23XS@c2`i{ z9CqtVAdOi^6^NVwBETwI)aT@X!={4}f}v1@^9vt(;YNl7KP)8c?jPXTZHz#a9KS&ctjI*y008^1_b8NOn% z&)93$<#H|9tA9OAB;xZtsHS!M^`JdoNQ=F0uaIAepI?>uJWJP)M!)_NGi9+ssjoz& zr2PJh|V|ooE}Vg@Cwx&-1mMr zxy;5ohQ!3Mhym%E_9VZlbX>^=NN3{WD!zYr3}%nY*I3J{_83RpyrRW$u^4J3LP7OU zPMJu5EGHKXthzRm8y+5BU0qG2fcEA22ifm_Wi{2+T!0UxR9sJbO8m0eH7b*t6*HR~ z8XD$k#+_$l(K$gwb)v9Orp@FRmzhW-u)Qp&PoK8HrQp^7uyBwmW(^|{Rk+H~Ub^76p{>vqryx|M_RLyZ-{ZUM9cYQS6mc+(WZ=|y&) zQRhG8mwp3u=jK!e0>72o-HwTZva&M6&Nz+lvZ;6q_HJFl`>2G)e`=m=nff03gKRVcF2zs$@UX(e=N^EXa42YL*{Vi!>kf7#=tcbB*45PkuH?Rc zeS%f3IGt}EMUadyzx(H_*RF{Ody{kn@KY~Gj20P5!&+zjeKQ&shsAG+qIB+DO?y$? zX3V#46+H39%ZyTZ4;DQHgtXoP(#fX%nG|BOXq+wQ(_TG}7j)-xUe!-YOOptO%me|m z-gdi_>FU)F&BXYp@9@*Gpu$Y7kf$ap)}=^<_hramM|Bmj8+|wPs^zG;@!>NaLrVcx z*=)4Z9vxY2ERSZb&2}!7VlCyJoSba>ke^8)vA(0Ck4o)#92QkV{)Lug=igtK?kIEr z@%fDx8|wAFKQv{RzqMG@NllxUmbUP{{uL?$OY)9B!jrP)eJMh}(JIH;i16Ux4_Ab} zQ7a^S@CQ7Vu}TFIgAd;enfm}b z=YDdT4^;m}8!+wDLVNj0jQY^J zJmEI&d)sb!Gw`1p0%i#7ZPuTu2<}nXrVr1&B(^(Lel4LlTgS)i_)L%D847KX%N(O* z44*6|yCzGZ3;y~CQt?E%orS!G!-JJWWDbEmTOhF#-3N0u9xEXa^1QHqPTOYOeUn1? zB0eBE(_S@#((p|p!_%lrqUBr1jYZX(-Q_A|a-`w~S?7jt$cP5fviAJIKZO+L`K`(^ z55%rP85TFF<%vp%AcY23r&~jTY#;lbrx1c5vBt$-qtZ?c2uyB& z2Zx}dX0_#}lm#m7RZfRJo0^@y4iV(#F3?ZVjiPphy95N`L4@*na2Nc0KRm)7Yf*ON-o25z*uhLi2}FEUT*j9hIFO5804>$OJX+Nc z{sg%a*kj~MP-C;_o((FTqcfe}U3><+L6`t~D}hpioJj{gtTyZn)K5cO2SY}_q118| z2~d;zmjtM;R_UOMb_k_HT631%eDUubK9xCqiuCdy)Y#i4{NAy6>U` zJZEQTld0x+JCMMA$ztaiuU%{D?UfH@ROqynJYI@DC1rCTK#egN`)b zS)UVs@}z6NKMNEXx4>#MJ<%V3bb%;~VM~xr5*aQs3PRl^@Xs5ZoN{%0tA4%MufU!P zU@I`7-`Lhm@#?|9xBlw;c0>7aHVrgQ)Yo?9$`#aS9Xl2XcrrhjmlwwR%oOyi=~#6I z>fItZd6JoxRnn+4&R#|E#tl@0aJIDC+xjgoCB>5ltaw-B9J==`Ib=M)?ITq4&nX+r z1lf%uA_`>f^h-`o&XB06Ot>{Zor z$PCsqT+2iCI3XDVw~U$g=x4**pgy^rerY3=bEwiN8?p66JYBV1DG|(tnR!}KQE}ty z)rT1w8R*Com{89o9*xvD4ptMgi6=Vei9@Y+{Yy7&O-&7QS6BHPiSQE3W`~M6x;?c$ znirke5D^pib|;B4iXkio=PmayDGGs%TEh^pZf|WFZ!V9{?B4`D<~C>v`CIyA50%*vXsP`TT4(6!^6oB|(>J+QjmAyJ;djQ81ZMs55x2l}BgX)Fl#1G+&{>X10F~muk(lKM-QkuG?4=!upLtky z)Gh^anS5CX!`j(@ z;RYyh2;L}2RV4qjr0`g#@L&Uh%iZ z{H|R9q7HP$6Zf6CxQ)odqo(P55!OnQzVf325J+- zo26n3`~u^^EM29ir=dMf#g*Rdho>+e@O+=Yd^vAKgQubVhvS!#-af+lziiY0C*G{! zQh5rhJLg%MQll>gVhTt)cht(DG6SUM>+35AK!#B6@uNpfH*S1=Oo6XI1W3GU1jIx% z0oS5_8*yoAiHV6B&VWn2 zN`My>l$5ioba|*m9XY<*LfPgRMz);)7c%8%I1n zvj>R@u5%7#FBXnA}dm-KXe# zIFKUL!_OcX|DpTqV<;i{K_LS-PghE^v$Jn+Z}UIJBUQLWUcq0!zC8#jw`b$CbQ^tV z?9Tz%2?`4ScOdgB8|it>Y)2@A{qo3=j)%EXh8QBvx4fg({K zYQ9l;ybaiOp;IjGg2o(`wM^Kpy{EWIh{)F)!HX@82|U+;*k4n4QCIx#-H-7PA<2^f_fdT1Py|*xJ@ElWZ2$=I>TL8YLtVEjk~WB zoH$_&N$m3d1)+GM0=j6MsbmmI_W$7U!#Ot`$U7v2{9kp?lKQK+Zpj9Nc>c~Ibouf} z^VW8-J|OklZ}9Pzt1SG(oxOUj^Y7wVM>!n*d9U*(T+P8D6C4r}GQ}YTFk#*r00ww( zZ;u*Zq-xCSJL&iK?Vlh#OdGsOXR6`B7T8ird?^+0Jsj9*C{VczRcYIrP&qA5z!icw zZ@9$F>_0!CsQiEr&hI_{kZO>oGn3%+#pLw$lh3oMr=!XnC7XH|YN;zS>de$@3PfME z139jth(AzPFXvLRTOLvM)|nczEE+=gP%`db#fdBgli#!DTm$}bSorGywxIhz`(`1q z5!n75&d_rKQ*)d2JVI64?bT@^RC z!{)Vr#~<#AD(7h`0>C%yJ%4^=e*~L42q%{ijEDzWoyo zKHTQtI0y&`zJe7(X8;km^z7#QZeSw8TxLBhvz!_2-dr4-tbA$HP^B3!DJ?yCyYpTW z=y%oH+FF#|-|Jr?-9V`vcuDcWK}YScPsGSIxVgKd!(@xpAxkO8?)%51s6y|#_uB`ofzjCaU*MjDlfeL@Q!$sNl0kL# zTb6bNb48TwntiB3sq^Us$Os7lUu8G9YVc{3^Q$(;nSYKC!J5y55$XZwS8ULF9vxwT z^y&Tj{<_8LxsLG2BuE0Er!47b(U8VpY97?o1Jx&9E~caAc2htH#axx;bX^- zqwfaI13HG)TPVngtIQPvdKV6vXDVdKol+zwukB0)trF`vhB{FoLnR9JN503*6~5c=*{z23%DULunPgaV_l!Thz*K{#M7C{2_PsR@9*GH2j)Uv-OTU-{2!GOV(z?@ zYZwxYzQ_!|D;Wl7Q+$lEV@PmeVIgY=w}6@o)$+ApjEs(!fEhfSeSx>~<;D=O^up&i z=Q1^_O5vU9<>g#qAF{cx*W(o+8YD`M`Mk7W=*p&uQ;gaVYDC>O3Iu;N)fE;Ik&aB5 zus4Z~q|JRcSmVgVA0J;FSF7`=f!+A=($^-bXvdKUkOqutqdMa+ErO+@(*o;nQF&3o zbt3{b1*4Yw60^a|bQkj1?ce8B$=}14q=SP(CHz+QI&?I@zqi&&#cLUZ#_hajh>jc( zc0GLf5;;N58W(g1guWaH;X!fX!q54%7nhzq*vSUYMqg`#SHQQ*Go@DGF#yrkb`U1V@vltt#lHOZ*t zi?ZqwwOsyx)6_lvB>(+A?d%I z(=DO=Wil>sZfEURXIoS2wnb6dg1~kwic~#{f;6Q{ zKMII+1*suakxpnK6d_xRG%+Gosv-fYfgM8VNS7`xA%TPvsv(4$Kp^4f+<$OC-?N@M zzO46o*LusGV~m;f+{}QNTZo&3gM-)bnVtm)$C;08$oz4Z{l;}VD3gQZx|^ZixHIN;%v}{EncbwLaAxG zX#)gLsGp^zVF)VpBL#og;&BmT*v(|Fo7|UfstyMzDjxT9^254^19-;~(L|_L*YI+< z;A;2YN#XonPd#e~eU;;xbNiGu2Zx(}El1+x|Kh*+Kj3m$xsCJEHIJUtbsntu&=}N# zwN_9jPhmL3V}{L-);fSyvQSEgjwaT*rJk&KBWvM@@Sf#$j~JPpCu<95o;!GQMQJmP%~*bhLlJld`dMnH}U^3)o8)=H|%KUBK8> zweHiU`iB@JCBBP`#;)}%;~H5f%fyu%Nt1F1%_f-$Xhf$jdbugHOY(6u_ zBl&~G`N^#-dZ+gZ+Wv;@XyPeM9+3#URL~6mY0~UEfAco2c3~)1bxpQFk!gYGz51V- zfb7w!EH05zG@lhkvd&r+S72u2`rh5$Y(g|XxcHKRHy|zxK zJ&(JB_=y*<-Sx*N;eq$OK(_JhlT)CP7sT87&DQ8hN9gou^ zv+wEIWmr@Or=!J^H6m(ohyOwg3{OCGoCpvagjz7w0shkZ^?UKoB47_RY;I}fE@9wj zn?a+cd3PXU6*gTmG4)~^R2D({LPA_)MD>t)>L0ulSx{v4lr1+9=!3OHh+!bf{&otJ zhlGD4H$HUX@Im3gV=B5RD6)BSB_d*|?w{sRN)f$kG)UMh_e5P1es;Lj?qV7~$j&b> z!L-fdPZ@_c>*YIMJR=Q-lwM_`Sm*>kw76Lx;Fy0IbYlJ3+SMd1vEgKbh^)Ds5NT9? zri_db&-5CaEVJ94aAUUc8I|vEq&+?pTjZ|w!RAg(d}VgDpw*k2@a12h(j4DDGyWJj z({eL7;BUnI;v8f(23;mD1KQkxcn+~o<$tHE>GqfKl~pc1Nq}8X+e#Mgw$ILHn4@Ja zj54QDr`_V()<(Ss?}#}?);R?^g6>K6=TMLXD`gzLpsAMPX$qPD@v=20O{I4=7l*%^ z=bUbcg3#E*DffluJoT$*t0E{i`8h~aFB;M&w;3LJ>`uH}Yi*lI+|+e1lEV0yYx8)Y0&zariq z;yJbvp}ZPyOCp4(LZK`%?C)({>7m!xowToDKcE}57#Coo3hi6ivIqx8QlEc%DirW& zY^q^p?7gMY%9seTdv{1(Qukm~70!Qhzo(96VfsR=J=Hm-u(4$|1;#JhHkORK;z)MPb7E4{ImBI1RmI6?{ zPiO9B@ynhnypMp-KHc}nP;D~uU)xvd17+S)03+0fZKNr965Sg zevb=m(|c=iEo+RmDjVK65B|2ky&&%Epa6Y`HB?FukLN&cjHeol&3q)gC8tU}+HO}4 zE^73#`|hGMzZlX6ovV;tgZDFXx~_Ll@*9?zjkr&fQUV+B^z-^XUqOf9Hw0UsU2}IU5vk&;QaswRz`xdm zg&gD#$cUPV%~3dZ%-k^XpL6GPZp%In{#5EGlh2$*R7Y&Dp6`77kIt?QOU&Bd;m`&& z{K9A&4Q{Jn^L?SOi>y|?FB7(rzu{zC057=Dcjt_-feiHLV~sE!cED5|d#=D?Dh77+Smgj#pr@ zEycjEV-Kf4@X!Sxw9~YT<$qaN?gyf7@;=BTmBq{D3qTAOH>YMgqv8-%L%0{N)3gv; zwz6-SYo*2S0n_t%%_>VwLqg%f$==Rug;{^4BS^rfEvIzR2Ukn^jmi56ayP}O95d=T zFF*16(QYa?PmPag|Cui^@N*-H{x~^$0jwr!1K+dWDW$?SIJv)`52|N#fro^F6x`qT<8N78pM(!w zKDip^LT1TMd6{2|KH|e$Y5fTCasK8D`FuXcWhi)X|3mWFmXo%sguRr&mCK*l|joZhUHkK6*+kWR*E; zX$CnoR3oWPu)zc9YKi_aU0|!@761^?>|ov+^z$%jdRhq*ecBt#2%IBGE2fglsbZoc z&4VVnDz~*=mnYfzHl%Q+-W_dzoO>jNe`4N2!cs-(hdg+Vg)kRLJZo$@C%_z*n>YY! z8DF07Od2rBr4@|HO=T6xVHH8*s)av!6hs^kU@B97trwmb#XLA--`|Mg`-$waDU{B3 z3%@E=9f)%#Z$M@u8Rjq1thH0oQ`%~qC?U2b?7ZE@BKu{q!KMPl>KvI#Liu}ihV(7| zy7CNvrYh>7C8lUm@^K=9n9E}R?A7dx8L z!v1ZYbyO7V|Hqf^k`56;P#UC>5&;D+-Jpb|z>-TW3rGsm-60Z6?Shn~v`BZibhisD z@Z0P4d%f<@`D4zR=gj*x&pdl}=JU+VdB4|AMCIdD+`YcNBA!iHq@A-3bYY*fWxn5a zz(LQhFJL4Dm5<6NN)k4=r6Cg1=I%;9+H=6`mAr+}V%rja^tj3kZj0$HO@6Th>GT|z_IAQseC*2pSE z?i`0&*Vvp2C9!*b&bqnBR?Nj`2UnEgfotm?GBSZFIuBH7w8#?C#4HNY^6$$-EqrwE zKdTcr*zA@beaVu2>RzrG3vXHEi8ONFylLOk>u^TY$|}L(Z@Gggm|PZF;b&=pU)qa+&&$RN2t*sYx{rfAAa~0a zLr%OxYM#2UhMv9A{*oG`NQlNioZ(&Ap#@ul*gfOb(1*J?D;#s52gY?Y5>u+nD9E$6 zr%J_WZjA~aa5+!%jd8KA8r;uzzQOxo!?3VFTU9;5s=DN3PVTdVI(dvqq0RBd8w$eB z`Xf8|N1gY!?!7y=%Y2g}AStezj!V^`8du?RZ)k~k7;KYkg3umizdN<2mpXXWq_D8Z zxrWIr{*|muK^r}uZeUG$$8b~e-W!PvRsP-wTeXt9<}Iw$!H{4W(KcjSlG^bKnv3?n zn@xh2oCRGwxf9xeA!ldab0bPs#?w??_DrV;j*Rw`hh7YZwu)uen6}tA?G>(M`v*Y+;$5WhR-1a9kuDKYI-cy78mHI6tr{CBg%u41yP;I+yD+1(( z=*U8sjM-1NI>v6%6U_tU>x-9fj8bi4Bkw3X5-=tZ^hi&U zo|T@liVP8%D+Xw<0iSxg+hCKm*t)eNazHybnsY2; zPQr`ZGY0{VhV$Pu)Pk9oXWyG~@X$n4R#pmk54yWEK`z;;JTv%XE#0%U4*jx7^ z3FFY2cW=_=4vdez>Ec$;Aa}!ZR4alkm{GY9rgB$I9Dm2MBYCe2wr3IARf?Q8IVu|J zhaIIwY3L^MZF$~MKMKZB%vEgZYaIoTQMXiQMH>C}F$n;2h;1N+r<6+qzn30p#P|+ zM)gdyA(3KFxukP^`Ny=G>)qV85#M)GGU~ zDFB!*OhU|$${gR&3c(EI=S>`-0mpiS9gmWt9#mk8Q(k_o9(^Kmqi-55FP}G_ZEgOu zq`7;nF^1`-Ew;VN3(l|TIgk8uI)>gaW)@8J;v*ch=Ju{w zAw0HTv?{Z)!hrw{tEPqJWv`dkcXhb=ZEkDGVW0GT{VJj96Ph=1;FvdI5gcJcj<0C) z1zkzCT|uM^h54IK|Z$jOn#-=y^_s_p(75$fveFJ!<~Sy=ORd@O|kmv!`DPhct8yhb*XuKj=5;0DIMZ zr}b`!5l&0e_}6`VpCTVF-annt^XN<1DcY4?&G%dS}8?T1|<7JUopb@|{`+o7qzdDt*?clOf(+Xc#;R(EA z?5o3|0E3=GEFiGHDpS=xq$_N^R70aMc|;=%Zg*>dj!;zxP3FyQGc+E9L2@RA*(FLd=F)0vifA&RFKD#&>)egbBt==r zaupa^xvdqzrh45CFq$%=F`&V2Jj*20R%p4%Qk|t9;GL~OVQ;TcL{GfkX4_%VhlTg= zyRADvv1O*!5T~Tl@s;>wDR8ah8bJnKz)rRw4SgfyVTQLJ+Ms<-dPyS^JzF-VoO?{| zB6B27KjYvY?@%FcoW7QZ-D7mtbQCR|z|@*RHP9Zk?kt)8nSoDVA%UAU_b8?4V@i=L za*63b%T0= zR>PWz2cdguwx6sDLo(Sf#DOtvl;R(cFMB0*{J%MtXiaY@PJLHl@duS$d@hv))xlGh1%H`;cwv9<-j|4)G z-$^X-<^qHj&ENHUpJgcs?vYjP%sfS>&wd@y4F)WLM_Q=mIW+)*~5Q;X04f z{Y%^>9WMq>6!5l6soIcC3+k zU=2t*(lg5nTK+ccay9Cux}4qR&rZnWLb@O`o=c%>JOQd?Jq^UdV9Xr9pBx;WuVd-5 zjb3t-d48iq(HrNoxi&7JbhPbM4|804pHcjkTp_#eBekN)8Mr9pEamz3PIh^}^;P(F z2vcU3Sy;4>s641ebTT@pDb=`-d_CnF#cWRPLWtxe(tpnb3jiQR8e9Fa1h;Z@1X;TL z@ZQT$7;uyPk=)Bdgl~+LkFwN7kX#`E{IZu}!oIxivnDbT7 zTCev%i|{$QU4Et;XD6h48tX6)?oNnTx7DNGgk^ga_ap@0d&*8Is*?wy9NwNwF3!>; zqka8svHD3GjpV=wCVESG{Xo5_H4Yh0X1DVGH$|1&HB3guPkXDuS3V{5;aM3*K zPkX`NP;*w+R-Q%ypZY3mdC$fvXGrR=N{_~-gDJ-&ELBLei|$jd2R#qvh(*pPy~mR8zX#r!vIXGa{Dp_E_^Aya-i^0 zHHcO(I|LCmc#&E#kULkuo=VwoE-BnPqV*weVS-p)g0`DjNk@3r8YRtpiu5s%|UrZMy2O%qIn({J_aY&J0wRAGu9tufNm|z^v z&gJ2$2gRE7@61hIHf0>oxekay)*aq{erwV;cyt4T$47`^>G|-avZ=?R3hE?Uth7TZ z3<7M_)V3}G?9gopyWdufJ~ynhuT@+i;ED(k?0O}bY=loO#z5&8XuDMByot+4L85kR z_8P|0hjecQuwj9_SZe8GYXApm9{LGrAnQTnL9US4?R~kd+s^~K`VuCJ8&ZzM6M1z6 zg;Y6R(!yJIUBNLmx3hJVEnsTPw#40C_b3AbHaya8cp08|ZIj?CZqB#+gy-^;zJ`fl z?}G|+ywIK#m(JZy5;JdT+x?)!k{#;(QomXqVX-1DPiGq*qlRS~0`7=2)EStc*(x>& zkRY%9%sXTE{A}D5SrUpT@7m*XJ9P>o=He(J*k5C_kMPd$g>Df`$d*T*5uDSQrR?(QLdf;%x^H$>#KOoQ^>YYWL$z=d#K+*X^JP1stIel47>Sg&e?2F? zldsUhgRt!$t+hys;MK@fPJ&#ro~1N#GpL_2uPIcAky!)(avfxyRvHss2_P+r>{xm1 z^|Yh1Mj&P&up@#16ZhdwsX5Z19#izY2?1FAgv?$Iiy;6*%oBW@LjeyNjA`r%F^b4; z@-Qz;cj?T?VnV2fo+$lD&=V^Dc<+Yw82tOm6fv@VvF9sN_oFFtt73X-Q?{QNW<%ZF znff_GO|^@R2$N2yVl&#kc9-!#A)4dYp=mekc&u+{skz|Dv=X-`j>K;-Oq^YH$we>@ zyIn7x_yE=2Dz1*K;l52c*^S@71O-U9WVaVnhw;_;#c8n2`?8X-vj?uw)g30a1P@4! z2FHQ)N;in01FD`jcY~@DlR0vH3|nobY_Fzf&FAgsZLbc~cu1yM9ms0}5q>jYc9*4a z$ZOKK*Q8d?kglWqtc}I=`_cX$uu*zgk{9-N6#y-;gKwIzMctmpF2&;glXd|MS{EYA zSL_?Kk_Yo~6UxvIlAZ(F{jEj2!aBo~iyVVO8BKA9ps|Ua>q-0juU2j#gzBsP_Eta2 zT8~g}hc)M=7jcfRZgsOqufIzVXp;4whEBWf(Q7l^DU93BfbNLb>22u5BH+F+ zX;YeWU^`^8AFl$oI=0s$^DV-Rm)ywW?_0sg{3}fP{_B7{p(+8^*n|6TyyQ$k919|B z$1<&KyqGBnf-D0Z^6FJGzX?{ql2kk+;;h#!#+Vyvt5KmUo7@%5%V6f#l!@ z8xDz6w}D@kFB3n+(th{Dq$A}Nu`tv$Yh!UaLnm*D+%*51(ZOzzsfIrA^&Yl4emJ{J z1ercd8*S0`Y zCM(0yCW)~%R&8qucuBi+EEysFD!nlBnUFjyt4M}K$rncn8TAGI4UqAjfL2IJM|Irr zeF)f1Wp|ks?ls5QVzhq@OIUfL<=V3~9>VCmGE}wA2=V?}@Gi@DZE8L1WsYmlc(Spt zf+WGMz#5@_*L|PQGA@)R2dlZ zEe7wr-<4&n{ZU~mx%HWfxSFySM}1Z6^tF~HMlkD^IPoTfgD8u2(7Ds95;3TZq#yvB z&gPB(A6M4`p=Yhq>dI*76hC4;Z~?`dzDBW;WUd9sJG(c|KX%E;%l?nW57`C)7(GIU zSXerMOtisHmafnKc9lg1fZ3E~;K*I)k@*({KcxSx{Lm(lh=06^e^?Tu3PWEJXuUx0 zGK3V8{U(GXTmHTGm^-@sNYFr)pUliqZzJXQnE#X{|0DRJ#UNY$m76&^{i)YNQjd=R zjz@@KKs|UNvh_!KgG9Iik>~y=xyLJnj1ltSI>?=ognt)5v@D{Z@_)|!zmPwULJ`gy zXBaQi-B!fAn|Mp=H?iIe zkd3^Rm8Ci8j~vu|r~je+(2PL;%k&^|Ae>4}1MnkLqfRia>q!{|k}U{QnU@J_JBTpw2yh vA)b!@MEqwaf~rQXX@99@$NzJg_`SkaSH?pAvHwm#q5!ZW3u3|9zqkGmpcIbg literal 0 HcmV?d00001 diff --git a/sample_files/complex_sample.pptx b/sample_files/complex_sample.pptx new file mode 100644 index 0000000000000000000000000000000000000000..5789a7252e1ed4ae366a8bcce424525fe1e8699d GIT binary patch literal 49670 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 literal 0 HcmV?d00001 diff --git a/sample_files/ppt_conclusion_image.png b/sample_files/ppt_conclusion_image.png new file mode 100644 index 0000000000000000000000000000000000000000..eb1ebc232690fcb2d19c39bab460f374b7235af6 GIT binary patch literal 8008 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 bWD4h-&yBuBt5`-Lm{c0iwNtl#_>`U@!- literal 0 HcmV?d00001 diff --git a/sample_files/ppt_financial_chart.png b/sample_files/ppt_financial_chart.png new file mode 100644 index 0000000000000000000000000000000000000000..995691d8e6b2689e3344ad9c189292e1858a3430 GIT binary patch literal 52226 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 K_p0u?KmQ-@SX1)= literal 0 HcmV?d00001 diff --git a/sample_files/ppt_image2.png b/sample_files/ppt_image2.png new file mode 100644 index 0000000000000000000000000000000000000000..10166bafea3aab19a0bc4f578e039cb0c854a9f0 GIT binary patch literal 6821 zcmeHs=T}o%xHn@RrKvMYGe#Xnihy*aBq}fnNHKJQAX24D2N5!Yf=Y=4NQa0tsi6iT zp$QUtF+hM2Is^!zg@h7F?(u#9fxFiII%}PL$vJE7eV+3?zqa2S8|v_$6+X+w#l@@p zPz%Pz_1g~cyZ!qy;Gc%^Q4|-Ku!pYJebeAf8rdb-W-+T`%jHA&SL8^E)5RX&e{B}8 zd&KgJo_e7BP>fG1q`IrtQM2k}%ui|Pf)K~JZj$EAjqb>s8lV4_N!AeU3fCCkaM`WssvqL zp622rAio{|=UzLA>%{eSuB+#KPIJ9}r^fZW*5q&ZuFmms9XlVyb?)7NkNj7c|8p}q zX0L!+?mFk%-|r~>RDXs}aItEOEStS1nwx`g-Frm5XQn^!Ivo>s%bM2KpEhNX3DvLI z?~WM0={M(_@Fn+qM6alW5y#lX1@U90dgDqdl%RNLR$h=N%B=p3$ff+H{PuRO6Ih#d zOm=Jc()zBXaJTyeSs)nvAo7v7dT?#))6`yN)_e+cqr@Yt_b;Dof=U_<4h6fvb$=dK z>~Z$C%J@S>Xq94*xsR6&b%T?wHP+I5o1fV{DYr`BLX`LN^KXS~E&A6_-!3_#h2k$8 zrl4IOemKLLHHe`TO5x2l^tVa~Er^7IG21*oZp zIV|z^j$L5Bsg~=YhR8N%s#;X__TJo@NI_3yhQL%1?Yf`8s_{=Jp^aI;$My6ac>L zR_a|>Z?mpdvRDu@JJ4-^nqVv_$V%do*+iJ$J@q_K`)#BtUi9>gw zeJ@!Pmo*MP^^vEKj=WMr*Fv!^yZ6NzjnuPBGP)LeikY;~r9Mq|GnG)*sBv5~agW-1 zvNe;%W1S5`r!QLf+bX`$i9xH!YRr;v zd3U7b+q|CK)girTm_*_%<(k$S!akMpdy~)um}%oAq4UE2vVrGck6V5$=H!JRtv?

k> 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 literal 0 HcmV?d00001 diff --git a/sample_files/super_complex.pptx b/sample_files/super_complex.pptx new file mode 100644 index 0000000000000000000000000000000000000000..0bcae960bfafa96e097251bd0aceba8abba5c2c3 GIT binary patch literal 89961 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 u7ny2X+49f1=_Ud${>^;;zrohpR@N;X7o&3I^E literal 0 HcmV?d00001 diff --git a/sample_files/word_image.png b/sample_files/word_image.png new file mode 100644 index 0000000000000000000000000000000000000000..0e2b05e8c7ee2e633f1bc53763d0e793f716888b GIT binary patch literal 6044 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 XD*h2__o3ob#FQTr2XOrYiY8hI>RrMC5N?ztSNh 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 str: + """Translate text from source to target language""" + pass + + +class GoogleTranslationProvider(TranslationProvider): + """Google Translate implementation""" + + def translate(self, text: str, target_language: str, source_language: str = 'auto') -> str: + if not text or not text.strip(): + return text + + try: + translator = GoogleTranslator(source=source_language, target=target_language) + return translator.translate(text) + except Exception as e: + print(f"Translation error: {e}") + return text + + +class DeepLTranslationProvider(TranslationProvider): + """DeepL Translate implementation""" + + def __init__(self, api_key: str): + self.api_key = api_key + + def translate(self, text: str, target_language: str, source_language: str = 'auto') -> str: + if not text or not text.strip(): + return text + + try: + translator = DeeplTranslator(api_key=self.api_key, source=source_language, target=target_language) + return translator.translate(text) + except Exception as e: + print(f"Translation error: {e}") + return text + + +class LibreTranslationProvider(TranslationProvider): + """LibreTranslate implementation""" + + def translate(self, text: str, target_language: str, source_language: str = 'auto') -> str: + if not text or not text.strip(): + return text + + try: + translator = LibreTranslator(source=source_language, target=target_language) + return translator.translate(text) + except Exception as e: + print(f"Translation error: {e}") + return text + + +class TranslationService: + """Main translation service that delegates to the configured provider""" + + def __init__(self, provider: Optional[TranslationProvider] = None): + if provider: + self.provider = provider + else: + # Auto-select provider based on configuration + self.provider = self._get_default_provider() + + def _get_default_provider(self) -> TranslationProvider: + """Get the default translation provider from configuration""" + service_type = config.TRANSLATION_SERVICE.lower() + + if service_type == "deepl": + if not config.DEEPL_API_KEY: + raise ValueError("DeepL API key not configured") + return DeepLTranslationProvider(config.DEEPL_API_KEY) + elif service_type == "libre": + return LibreTranslationProvider() + else: # Default to Google + return GoogleTranslationProvider() + + def translate_text(self, text: str, target_language: str, source_language: str = 'auto') -> str: + """ + Translate a single text string + + Args: + text: Text to translate + target_language: Target language code (e.g., 'es', 'fr', 'de') + source_language: Source language code (default: 'auto' for auto-detection) + + Returns: + Translated text + """ + if not text or not text.strip(): + return text + + return self.provider.translate(text, target_language, source_language) + + def translate_batch(self, texts: list[str], target_language: str, source_language: str = 'auto') -> list[str]: + """ + Translate multiple text strings + + Args: + texts: List of texts to translate + target_language: Target language code + source_language: Source language code (default: 'auto') + + Returns: + List of translated texts + """ + return [self.translate_text(text, target_language, source_language) for text in texts] + + +# Global translation service instance +translation_service = TranslationService() diff --git a/start.ps1 b/start.ps1 new file mode 100644 index 0000000..a74b958 --- /dev/null +++ b/start.ps1 @@ -0,0 +1,48 @@ +# Startup script for Windows PowerShell +# Run this to start the Document Translation API + +Write-Host "===============================================" -ForegroundColor Cyan +Write-Host " Document Translation API - Starting Server " -ForegroundColor Cyan +Write-Host "===============================================" -ForegroundColor Cyan +Write-Host "" + +# Check if virtual environment exists +if (-Not (Test-Path ".\venv")) { + Write-Host "Virtual environment not found. Creating one..." -ForegroundColor Yellow + python -m venv venv +} + +# Activate virtual environment +Write-Host "Activating virtual environment..." -ForegroundColor Green +& .\venv\Scripts\Activate.ps1 + +# Install dependencies if needed +Write-Host "Checking dependencies..." -ForegroundColor Green +pip install -r requirements.txt --quiet + +# Create necessary directories +Write-Host "Creating directories..." -ForegroundColor Green +New-Item -ItemType Directory -Force -Path uploads | Out-Null +New-Item -ItemType Directory -Force -Path outputs | Out-Null +New-Item -ItemType Directory -Force -Path temp | Out-Null + +# Copy .env.example to .env if .env doesn't exist +if (-Not (Test-Path ".\.env")) { + Write-Host "Creating .env file from template..." -ForegroundColor Yellow + Copy-Item .env.example .env +} + +Write-Host "" +Write-Host "===============================================" -ForegroundColor Green +Write-Host " Starting API Server on http://localhost:8000 " -ForegroundColor Green +Write-Host "===============================================" -ForegroundColor Green +Write-Host "" +Write-Host "API Documentation available at:" -ForegroundColor Cyan +Write-Host " - Swagger UI: http://localhost:8000/docs" -ForegroundColor White +Write-Host " - ReDoc: http://localhost:8000/redoc" -ForegroundColor White +Write-Host "" +Write-Host "Press Ctrl+C to stop the server" -ForegroundColor Yellow +Write-Host "" + +# Start the server +python main.py diff --git a/translators/__init__.py b/translators/__init__.py new file mode 100644 index 0000000..662ddf1 --- /dev/null +++ b/translators/__init__.py @@ -0,0 +1,10 @@ +"""Translators package initialization""" +from .excel_translator import ExcelTranslator, excel_translator +from .word_translator import WordTranslator, word_translator +from .pptx_translator import PowerPointTranslator, pptx_translator + +__all__ = [ + 'ExcelTranslator', 'excel_translator', + 'WordTranslator', 'word_translator', + 'PowerPointTranslator', 'pptx_translator' +] diff --git a/translators/excel_translator.py b/translators/excel_translator.py new file mode 100644 index 0000000..503561a --- /dev/null +++ b/translators/excel_translator.py @@ -0,0 +1,161 @@ +""" +Excel Translation Module +Translates Excel files while preserving all formatting, formulas, images, and layout +""" +import re +from pathlib import Path +from typing import Dict, Set +from openpyxl import load_workbook +from openpyxl.worksheet.worksheet import Worksheet +from openpyxl.cell.cell import Cell +from openpyxl.utils import get_column_letter +from services.translation_service import translation_service + + +class ExcelTranslator: + """Handles translation of Excel files with strict formatting preservation""" + + def __init__(self): + self.translation_service = translation_service + self.formula_pattern = re.compile(r'=.*') + + def translate_file(self, input_path: Path, output_path: Path, target_language: str) -> Path: + """ + Translate an Excel file while preserving all formatting and structure + + Args: + input_path: Path to input Excel file + output_path: Path to save translated Excel file + target_language: Target language code + + Returns: + Path to the translated file + """ + # Load workbook with data_only=False to preserve formulas + workbook = load_workbook(input_path, data_only=False) + + # First, translate all worksheet content + sheet_name_mapping = {} + for sheet_name in workbook.sheetnames: + worksheet = workbook[sheet_name] + self._translate_worksheet(worksheet, target_language) + + # Prepare translated sheet name (but don't rename yet) + translated_sheet_name = self.translation_service.translate_text( + sheet_name, target_language + ) + if translated_sheet_name and translated_sheet_name != sheet_name: + # Truncate to Excel's 31 character limit and ensure uniqueness + new_name = translated_sheet_name[:31] + counter = 1 + base_name = new_name[:28] if len(new_name) > 28 else new_name + while new_name in sheet_name_mapping.values() or new_name in workbook.sheetnames: + new_name = f"{base_name}_{counter}" + counter += 1 + sheet_name_mapping[sheet_name] = new_name + + # Now rename sheets (after all content is translated) + for original_name, new_name in sheet_name_mapping.items(): + workbook[original_name].title = new_name + + # Save the translated workbook + workbook.save(output_path) + workbook.close() + + return output_path + + def _translate_worksheet(self, worksheet: Worksheet, target_language: str): + """ + Translate all cells in a worksheet while preserving formatting + + Args: + worksheet: Worksheet to translate + target_language: Target language code + """ + # Iterate through all cells that have values + for row in worksheet.iter_rows(): + for cell in row: + if cell.value is not None: + self._translate_cell(cell, target_language) + + def _translate_cell(self, cell: Cell, target_language: str): + """ + Translate a single cell while preserving its formula and formatting + + Args: + cell: Cell to translate + target_language: Target language code + """ + original_value = cell.value + + # Skip if cell is empty + if original_value is None: + return + + # Handle formulas + if isinstance(original_value, str) and original_value.startswith('='): + self._translate_formula(cell, original_value, target_language) + # Handle regular text + elif isinstance(original_value, str): + translated_text = self.translation_service.translate_text( + original_value, target_language + ) + cell.value = translated_text + # Numbers, dates, booleans remain unchanged + + def _translate_formula(self, cell: Cell, formula: str, target_language: str): + """ + Translate text within a formula while preserving the formula structure + + Args: + cell: Cell containing the formula + formula: Formula string + target_language: Target language code + """ + # Extract text strings from formula (text within quotes) + string_pattern = re.compile(r'"([^"]*)"') + strings = string_pattern.findall(formula) + + if not strings: + return + + # Translate each string and replace in formula + translated_formula = formula + for original_string in strings: + if original_string.strip(): # Only translate non-empty strings + translated_string = self.translation_service.translate_text( + original_string, target_language + ) + # Replace in formula, being careful with special regex characters + translated_formula = translated_formula.replace( + f'"{original_string}"', f'"{translated_string}"' + ) + + cell.value = translated_formula + + def _should_translate(self, text: str) -> bool: + """ + Determine if text should be translated + + Args: + text: Text to check + + Returns: + True if text should be translated, False otherwise + """ + if not text or not isinstance(text, str): + return False + + # Don't translate if it's only numbers, special characters, or very short + if len(text.strip()) < 2: + return False + + # Check if it's a formula (handled separately) + if text.startswith('='): + return False + + return True + + +# Global translator instance +excel_translator = ExcelTranslator() diff --git a/translators/pptx_translator.py b/translators/pptx_translator.py new file mode 100644 index 0000000..973bee3 --- /dev/null +++ b/translators/pptx_translator.py @@ -0,0 +1,158 @@ +""" +PowerPoint Translation Module +Translates PowerPoint files while preserving all layouts, animations, and media +""" +from pathlib import Path +from pptx import Presentation +from pptx.shapes.base import BaseShape +from pptx.shapes.group import GroupShape +from pptx.util import Inches, Pt +from pptx.enum.shapes import MSO_SHAPE_TYPE +from services.translation_service import translation_service + + +class PowerPointTranslator: + """Handles translation of PowerPoint presentations with strict formatting preservation""" + + def __init__(self): + self.translation_service = translation_service + + def translate_file(self, input_path: Path, output_path: Path, target_language: str) -> Path: + """ + Translate a PowerPoint presentation while preserving all formatting and structure + + Args: + input_path: Path to input PowerPoint file + output_path: Path to save translated PowerPoint file + target_language: Target language code + + Returns: + Path to the translated file + """ + presentation = Presentation(input_path) + + # Translate each slide + for slide in presentation.slides: + self._translate_slide(slide, target_language) + + # Save the translated presentation + presentation.save(output_path) + + return output_path + + def _translate_slide(self, slide, target_language: str): + """ + Translate all text elements in a slide while preserving layout + + Args: + slide: Slide to translate + target_language: Target language code + """ + # Translate notes (speaker notes) + if slide.has_notes_slide: + notes_slide = slide.notes_slide + if notes_slide.notes_text_frame: + self._translate_text_frame(notes_slide.notes_text_frame, target_language) + + # Translate shapes in the slide + for shape in slide.shapes: + self._translate_shape(shape, target_language) + + def _translate_shape(self, shape: BaseShape, target_language: str): + """ + Translate text in a shape based on its type + + Args: + shape: Shape to translate + target_language: Target language code + """ + # Handle text-containing shapes + if shape.has_text_frame: + self._translate_text_frame(shape.text_frame, target_language) + + # Handle tables + if shape.shape_type == MSO_SHAPE_TYPE.TABLE: + self._translate_table(shape.table, target_language) + + # Handle group shapes (shapes within shapes) + if shape.shape_type == MSO_SHAPE_TYPE.GROUP: + for sub_shape in shape.shapes: + self._translate_shape(sub_shape, target_language) + + # Handle smart art (contains multiple shapes) + # Smart art is complex, but we can try to translate text within it + if hasattr(shape, 'shapes'): + try: + for sub_shape in shape.shapes: + self._translate_shape(sub_shape, target_language) + except: + pass # Some shapes may not support iteration + + def _translate_text_frame(self, text_frame, target_language: str): + """ + Translate text within a text frame while preserving formatting + + Args: + text_frame: Text frame to translate + target_language: Target language code + """ + if not text_frame.text.strip(): + return + + # Translate each paragraph in the text frame + for paragraph in text_frame.paragraphs: + self._translate_paragraph(paragraph, target_language) + + def _translate_paragraph(self, paragraph, target_language: str): + """ + Translate a paragraph while preserving run-level formatting + + Args: + paragraph: Paragraph to translate + target_language: Target language code + """ + if not paragraph.text.strip(): + return + + # Translate each run in the paragraph to preserve individual formatting + for run in paragraph.runs: + if run.text.strip(): + translated_text = self.translation_service.translate_text( + run.text, target_language + ) + run.text = translated_text + + def _translate_table(self, table, target_language: str): + """ + Translate all cells in a table while preserving structure + + Args: + table: Table to translate + target_language: Target language code + """ + for row in table.rows: + for cell in row.cells: + self._translate_text_frame(cell.text_frame, target_language) + + def _is_translatable(self, text: str) -> bool: + """ + Determine if text should be translated + + Args: + text: Text to check + + Returns: + True if text should be translated, False otherwise + """ + if not text or not isinstance(text, str): + return False + + # Don't translate if it's only numbers, special characters, or very short + if len(text.strip()) < 2: + return False + + return True + + +# Global translator instance +pptx_translator = PowerPointTranslator() diff --git a/translators/word_translator.py b/translators/word_translator.py new file mode 100644 index 0000000..d06fd1e --- /dev/null +++ b/translators/word_translator.py @@ -0,0 +1,171 @@ +""" +Word Document Translation Module +Translates Word files while preserving all formatting, styles, tables, and images +""" +from pathlib import Path +from docx import Document +from docx.text.paragraph import Paragraph +from docx.table import Table, _Cell +from docx.oxml.text.paragraph import CT_P +from docx.oxml.table import CT_Tbl +from docx.section import Section +from services.translation_service import translation_service + + +class WordTranslator: + """Handles translation of Word documents with strict formatting preservation""" + + def __init__(self): + self.translation_service = translation_service + + def translate_file(self, input_path: Path, output_path: Path, target_language: str) -> Path: + """ + Translate a Word document while preserving all formatting and structure + + Args: + input_path: Path to input Word file + output_path: Path to save translated Word file + target_language: Target language code + + Returns: + Path to the translated file + """ + document = Document(input_path) + + # Translate main document body + self._translate_document_body(document, target_language) + + # Translate headers and footers in all sections + for section in document.sections: + self._translate_section(section, target_language) + + # Save the translated document + document.save(output_path) + + return output_path + + def _translate_document_body(self, document: Document, target_language: str): + """ + Translate all elements in the document body + + Args: + document: Document to translate + target_language: Target language code + """ + for element in document.element.body: + if isinstance(element, CT_P): + # It's a paragraph + paragraph = Paragraph(element, document) + self._translate_paragraph(paragraph, target_language) + elif isinstance(element, CT_Tbl): + # It's a table + table = Table(element, document) + self._translate_table(table, target_language) + + def _translate_paragraph(self, paragraph: Paragraph, target_language: str): + """ + Translate a paragraph while preserving all formatting + + Args: + paragraph: Paragraph to translate + target_language: Target language code + """ + if not paragraph.text.strip(): + return + + # For paragraphs with complex formatting (multiple runs), translate run by run + if len(paragraph.runs) > 0: + for run in paragraph.runs: + if run.text.strip(): + translated_text = self.translation_service.translate_text( + run.text, target_language + ) + run.text = translated_text + else: + # Simple paragraph with no runs + if paragraph.text.strip(): + translated_text = self.translation_service.translate_text( + paragraph.text, target_language + ) + paragraph.text = translated_text + + def _translate_table(self, table: Table, target_language: str): + """ + Translate all cells in a table while preserving structure + + Args: + table: Table to translate + target_language: Target language code + """ + for row in table.rows: + for cell in row.cells: + self._translate_cell(cell, target_language) + + def _translate_cell(self, cell: _Cell, target_language: str): + """ + Translate content within a table cell + + Args: + cell: Cell to translate + target_language: Target language code + """ + for paragraph in cell.paragraphs: + self._translate_paragraph(paragraph, target_language) + + # Handle nested tables + for table in cell.tables: + self._translate_table(table, target_language) + + def _translate_section(self, section: Section, target_language: str): + """ + Translate headers and footers in a section + + Args: + section: Section to translate + target_language: Target language code + """ + # Translate header + if section.header: + for paragraph in section.header.paragraphs: + self._translate_paragraph(paragraph, target_language) + for table in section.header.tables: + self._translate_table(table, target_language) + + # Translate footer + if section.footer: + for paragraph in section.footer.paragraphs: + self._translate_paragraph(paragraph, target_language) + for table in section.footer.tables: + self._translate_table(table, target_language) + + # Translate first page header (if different) + if section.first_page_header: + for paragraph in section.first_page_header.paragraphs: + self._translate_paragraph(paragraph, target_language) + for table in section.first_page_header.tables: + self._translate_table(table, target_language) + + # Translate first page footer (if different) + if section.first_page_footer: + for paragraph in section.first_page_footer.paragraphs: + self._translate_paragraph(paragraph, target_language) + for table in section.first_page_footer.tables: + self._translate_table(table, target_language) + + # Translate even page header (if different) + if section.even_page_header: + for paragraph in section.even_page_header.paragraphs: + self._translate_paragraph(paragraph, target_language) + for table in section.even_page_header.tables: + self._translate_table(table, target_language) + + # Translate even page footer (if different) + if section.even_page_footer: + for paragraph in section.even_page_footer.paragraphs: + self._translate_paragraph(paragraph, target_language) + for table in section.even_page_footer.tables: + self._translate_table(table, target_language) + + +# Global translator instance +word_translator = WordTranslator() diff --git a/utils/__init__.py b/utils/__init__.py new file mode 100644 index 0000000..a950000 --- /dev/null +++ b/utils/__init__.py @@ -0,0 +1,20 @@ +"""Utils package initialization""" +from .file_handler import FileHandler, file_handler +from .exceptions import ( + TranslationError, + UnsupportedFileTypeError, + FileSizeLimitExceededError, + LanguageNotSupportedError, + DocumentProcessingError, + handle_translation_error +) + +__all__ = [ + 'FileHandler', 'file_handler', + 'TranslationError', + 'UnsupportedFileTypeError', + 'FileSizeLimitExceededError', + 'LanguageNotSupportedError', + 'DocumentProcessingError', + 'handle_translation_error' +] diff --git a/utils/exceptions.py b/utils/exceptions.py new file mode 100644 index 0000000..237340e --- /dev/null +++ b/utils/exceptions.py @@ -0,0 +1,51 @@ +""" +Custom exceptions for the Document Translation API +""" +from fastapi import HTTPException + + +class TranslationError(Exception): + """Base exception for translation errors""" + pass + + +class UnsupportedFileTypeError(TranslationError): + """Raised when an unsupported file type is provided""" + pass + + +class FileSizeLimitExceededError(TranslationError): + """Raised when a file exceeds the size limit""" + pass + + +class LanguageNotSupportedError(TranslationError): + """Raised when a language code is not supported""" + pass + + +class DocumentProcessingError(TranslationError): + """Raised when there's an error processing the document""" + pass + + +def handle_translation_error(error: Exception) -> HTTPException: + """ + Convert translation errors to HTTP exceptions + + Args: + error: Exception that occurred + + Returns: + HTTPException with appropriate status code and message + """ + if isinstance(error, UnsupportedFileTypeError): + return HTTPException(status_code=400, detail=str(error)) + elif isinstance(error, FileSizeLimitExceededError): + return HTTPException(status_code=413, detail=str(error)) + elif isinstance(error, LanguageNotSupportedError): + return HTTPException(status_code=400, detail=str(error)) + elif isinstance(error, DocumentProcessingError): + return HTTPException(status_code=500, detail=str(error)) + else: + return HTTPException(status_code=500, detail="An unexpected error occurred during translation") diff --git a/utils/file_handler.py b/utils/file_handler.py new file mode 100644 index 0000000..7dae916 --- /dev/null +++ b/utils/file_handler.py @@ -0,0 +1,142 @@ +""" +Utility functions for file handling and validation +""" +import os +import uuid +from pathlib import Path +from typing import Optional +from fastapi import UploadFile, HTTPException +from config import config + + +class FileHandler: + """Handles file operations for the translation API""" + + @staticmethod + def validate_file_extension(filename: str) -> str: + """ + Validate that the file extension is supported + + Args: + filename: Name of the file + + Returns: + File extension (lowercase, with dot) + + Raises: + HTTPException: If file extension is not supported + """ + file_extension = Path(filename).suffix.lower() + + if file_extension not in config.SUPPORTED_EXTENSIONS: + raise HTTPException( + status_code=400, + detail=f"Unsupported file type. Supported types: {', '.join(config.SUPPORTED_EXTENSIONS)}" + ) + + return file_extension + + @staticmethod + def validate_file_size(file: UploadFile) -> None: + """ + Validate that the file size is within limits + + Args: + file: Uploaded file + + Raises: + HTTPException: If file is too large + """ + # Get file size + file.file.seek(0, 2) # Move to end of file + file_size = file.file.tell() # Get position (file size) + file.file.seek(0) # Reset to beginning + + if file_size > config.MAX_FILE_SIZE_BYTES: + raise HTTPException( + status_code=400, + detail=f"File too large. Maximum size: {config.MAX_FILE_SIZE_MB}MB" + ) + + @staticmethod + async def save_upload_file(file: UploadFile, destination: Path) -> Path: + """ + Save an uploaded file to disk + + Args: + file: Uploaded file + destination: Path to save the file + + Returns: + Path to the saved file + """ + destination.parent.mkdir(parents=True, exist_ok=True) + + with open(destination, "wb") as buffer: + content = await file.read() + buffer.write(content) + + return destination + + @staticmethod + def generate_unique_filename(original_filename: str, prefix: str = "") -> str: + """ + Generate a unique filename to avoid collisions + + Args: + original_filename: Original filename + prefix: Optional prefix for the filename + + Returns: + Unique filename + """ + file_path = Path(original_filename) + unique_id = str(uuid.uuid4())[:8] + + if prefix: + return f"{prefix}_{unique_id}_{file_path.stem}{file_path.suffix}" + else: + return f"{unique_id}_{file_path.stem}{file_path.suffix}" + + @staticmethod + def cleanup_file(file_path: Path) -> None: + """ + Delete a file if it exists + + Args: + file_path: Path to the file to delete + """ + try: + if file_path.exists(): + file_path.unlink() + except Exception as e: + print(f"Error deleting file {file_path}: {e}") + + @staticmethod + def get_file_info(file_path: Path) -> dict: + """ + Get information about a file + + Args: + file_path: Path to the file + + Returns: + Dictionary with file information + """ + if not file_path.exists(): + return {} + + stat = file_path.stat() + + return { + "filename": file_path.name, + "size_bytes": stat.st_size, + "size_mb": round(stat.st_size / (1024 * 1024), 2), + "extension": file_path.suffix, + "created": stat.st_ctime, + "modified": stat.st_mtime + } + + +# Global file handler instance +file_handler = FileHandler()